13.07.2015 Views

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

166 H.-P. Bischof, A. Kam<strong>in</strong>sky, and J. B<strong>in</strong>der• Applications that discover and use near<strong>by</strong> networked services: a document pr<strong>in</strong>t<strong>in</strong>gapplication that f<strong>in</strong>ds pr<strong>in</strong>ters wherever the user happens to be, or a surveillanceapplication that displays images from near<strong>by</strong> video cameras.• Collaborative middleware systems like shared tuple spaces [1].• Groupware applications: a chat session, a shared whiteboard, a group appo<strong>in</strong>tmentscheduler, a file shar<strong>in</strong>g application, or a multiplayer game.In many such collaborative systems, every device needs to talk to every other device.Every person's chat messages are displayed on every person's device; every person'scalendar on every person's device is queried and updated with the next meet<strong>in</strong>g time.In contrast to applications like email or web brows<strong>in</strong>g (one-to-one communication) orweb-cast<strong>in</strong>g (one-to-many communication), the collaborative systems envisioned hereexhibit many-to-many communication patterns. M2MI is designed especially to supportapplications with many-to-many communication patterns, although it also supportsother communication patterns.Devices come and go as the system is runn<strong>in</strong>g, the devices do not know eachother’s identities beforehand; <strong>in</strong>stead, the devices form ad hoc networks among themselves.M2MI is <strong>in</strong>tended for runn<strong>in</strong>g collaborative systems without central servers. In awireless ad hoc network of devices, rely<strong>in</strong>g on servers <strong>in</strong> a wired network is unattractivebecause the devices are not necessarily always <strong>in</strong> range of a wireless access po<strong>in</strong>t.Furthermore, rely<strong>in</strong>g on any one wireless device to act as a server is unattractive becausedevices may come and go without prior notification. Instead, all the devices -whichever ones happen to be present <strong>in</strong> the chang<strong>in</strong>g set of proximal devices - act <strong>in</strong>concert to run the system.The M2MI ParadigmRemote method <strong>in</strong>vocation (RMI) [7] can be viewed as an object oriented abstractionof po<strong>in</strong>t-to-po<strong>in</strong>t communication: what looks like a method call is <strong>in</strong> fact a messagesent and a response sent back. In the same way, M2MI can be viewed as an objectoriented abstraction of broadcast communication. This section describes the M2MIparadigm at a conceptual level.HandlesM2MI lets an application <strong>in</strong>voke a method declared <strong>in</strong> an <strong>in</strong>terface. To do so, theapplication needs some k<strong>in</strong>d of “reference” upon which to perform the <strong>in</strong>vocation. InM2MI, a reference is called a handle, and there are three varieties, omnihandles, unihandles,and multihandles.OmnihandlesAn omnihandle for an <strong>in</strong>terface stands for “every object out there that implements this<strong>in</strong>terface.” An application can ask the M2MI layer to create an omnihandle for a cer-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!