Networked Surfaces - Microsoft Research
Download
Report
Transcript Networked Surfaces - Microsoft Research
N E T W O R K E D
S U R F A C E S
Frank Hoffmann and James Scott
{fh215, jws22}@cam.ac.uk
http://www-lce.eng.cam.ac.uk/
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Introduction
• The Laboratory for Communications Engineering
• In the Engineering Department at Cambridge University
• Founded 2 years ago by Professor Andy Hopper
• Strong links with industry, including AT&T Labs Cambridge, where Andy is MD
• Frank Hoffmann and James Scott
• 3rd year PhD students
• From Electronics and Computer Science backgrounds respectively
• Advisors at AT&T Labs: Mike Addlesee and Glenford Mapp
Frank
James
Andy
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Mike
Glenford
Networked Surfaces
• Provide network connectivity using physical surfaces
• Such as desks, floors, etc.
• All devices are surface-bound due to gravity: lets make use of this!
• No 'plug', no special position/alignment required
• Provides near-total mobility for non-wearable devices
• Uses precise “topology” of metal pads to achieve this
• Supports a range of services
•
•
•
•
Ethernet-style inter-computer networks
Slower serial busses for peripherals
Power
Other devices
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Wired vs Wireless vs Surface
Physical Medium
Wired network
Wireless network
Networked
Surface
Bandwidth
High
Limited
High (though not
quite as good as a
shielded wire)
Multi-Access
Dedicated
Connections
Possible
Intrinsically
Shared Medium
Dedicated
Connections
Possible
Mobility
Tethered
3D-Free
Surface-based
“2D-Free”
Power
Can easily be
provided
Hard to provide
Can be provided,
with safety
concerns
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Example App: Networked Desk
• Get rid of “spaghetti” behind desks
• and of need for trunking everywhere
• Eliminates possibility of mis-wiring
• Novices don’t want to know what a “serial port” is
• c.f. Ubiquitous Computing
• Power provided as low voltage DC
• With current limiting hardware
• No danger to humans
• Most devices do not use mains-level AC anyway
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
System Architecture
To other
networks
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Handshaking
Controller
Object
Controller
Tile
Data Traffic
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Prototype
Surface Pads
Power for Tile
Controllers
Tile Controller
Function
Busses
Object Pads
Tile Control
Bus
PCI Interface
to PC acting
as Surface
Manager
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Topology
Controller
Tile
To other
networks
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Topology
• Arrangement of metal pads with:
– Rectangular strips on Surface
– Circular pads, themselves in a circle, on Object
– Surface gaps bigger than object pads hence no shorts
• Connects regardless of object location
• proven mathematically and in computer simulations
• Minimises number of pads required
• and hence the amount of controlling circuitry
• Could be implemented invisibly
• conducting paints, novel materials...
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Tile Controller
Controller
Tile
To other
networks
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Tile Controller
• Each tile is controlled by a
microprocessor (mP)
• An analogue mux connects
each strip to either a
function bus or the mP
handshaking lines
• The muxes are controlled
through a FPGA
Function Busses
Handshaking In/Out
Control Bus
• Handshaking is done by mP
until a connection is
established
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
PIC
MicroProcessor
Strip
Mux
Strip
Mux
FPGA
Mux
Control
Strip
Mux
Handshaking
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Handshaking
Controller
Tile
To other
networks
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Handshaking
• “Handshaking” = finding and connecting new objects
• Distributed on surface-side to tile controllers
• Object asks for functions from the surface
• E.g. high speed data bus, low speed data bus, power
• Different surfaces might have different functions available
• When connection is finalised,tile and object controllers
play no further role
• And therefore do not have to “understand” the signals sent on the busses
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Handshaking Protocol in Action
Beacon
Request “TX”
Standby Beacon
Beacon
“TX”
Confirm
Confirmed
Confirmed
Connections
Connection
Many
Connection
Connections
on
Standby
on Request
Standby
Standby
Beacon
Ack
“TX”
Beacon
TX RX GND
Tile
Controller
Beacons
Tile Control Bus
“New Object” message sent to Surface Manager
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
TX RX GND
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Surface Busses
Controller
Tile
To other
networks
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Surface Busses
• All busses must be true multi-drop
• i.e. not Ethernet, which nowadays is hubbed
• Low speed devices are catered for with I2C
• RS-232 data can be packaged easily over I2C, using the handshaking mP
• High speed bus uses B-LVDS differential modulation
• Differential scheme better for signal quality in noisy environment
• Multiple B-LVDS busses are provided
• this provides more bandwidth, and allows QoS to be supported
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Surface Manager
Controller
Tile
To other
networks
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
Controller
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Surface Manager
• Hardware is a PCI card
using a PCI bridge chip
and a FPGA
• Software is a PCI
device driver under
Linux
• FPGA has control
engines for each
surface bus
Soft- PCI Bus PCI
ware
Bridge
Driver
• Small FIFO’s inside
FPGA buffer data in and
data out for each bus
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Ctrl I2C
I2C
Driver
Data I2C
I2C
Driver
B-LVDS A
B-LVDS
Driver
B-LVDS B
B-LVDS
Driver
B-LVDS C
B-LVDS
Driver
Status
&
Control
To other
networks
BUS
CONTROL
Tile
Controller
TILE
(keeps track
of objects,
allocates
resources,
controls tiles)
FUNCTION
Surface
Manager
BUSSES
Data Transport
Controller
Object
Controller
Tile
Data Traffic
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Object
e.g.
Palm Pilot
Computer
Keyboard
Mobile phone
etc
Data Transport
• Low bandwidth devices: Present as “virtual” serial ports
• e.g. Palm Pilot, keyboard, modem
• High bandwidth devices: Will have TCP/IP stacks
• But TCP performs badly in presence of disconnection
• It wrongly assumes losses are due to congestion, and backs off
• Could modify TCP to include “Disconnected” state
• Instead, make link layer “smart”, by re-sending packets on
behalf of TCP when connections are re-established
• “Kicks” TCP into action, without waiting for exponential timeout
• Saves having to re-implement TCP for every object
• Mobile IP/IPv6 can handle movement between surfaces
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Conclusions
• Prototypes are currently at systems integration stage
• Object discovery and connection found to be ~300ms
• Doesn’t matter if we disconnect and reconnect once in a while
• Preliminary results show LVDS bus speeds ~ megabits
• Advantages
• Mobility
• Convenience
• Ubiquity
– Currently “wired” devices can become 2D-mobile
– No need to carry wiring around
– Common interface for many network types
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Directions for the Future
• Sentient Computing
– Can discover location and orientation of each object
– Could implement networked sensors easily
– The desk itself becomes an interface
• Physical Transmission Medium
– Could use capacitive coupling to avoid direct wire interface
– Could use inductive coupling for ultra-safe provision of power
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge
Thanks for listening!
To get in touch:
Frank Hoffmann and James Scott
{fh215, jws22}@cam.ac.uk
http://www-lce.eng.cam.ac.uk/
Laboratory for Communications Engineering
Engineering Department, University Of Cambridge