Middleware-based services for virtual cooperative mobile platforms

Mobile computing devices like handhelds are becoming ubiquitous and so is computing embedded in cyber-physical systems like cameras, smart sensors, vehicles, and many others. Further, the computation and communication resources present in these settings are becoming increasingly powerful. The resulting, rich execution platforms are enabling increasingly complex applications and system uses. These trends enable richer execution platforms for running ever more complex distributed applications. This thesis explores these opportunities (i) for cooperative mobile platforms, where the combined resources of multiple computing devices and the sensors attached to them can be shared to better address certain application needs, and (ii) for distributed platforms where opportunities for cooperation are further strengthened by virtualization. The latter offers efficient abstractions for device sharing and application migration that enable applications to operate across dynamically changing and heterogeneous systems without their explicit involvement. An important property of cooperative distributed platforms is that they jointly and cooperatively provide and maintain the collective resources needed by applications. Another property is that these platforms make decisions about the resources allocated to certain tasks in a decentralized fashion. In contrast to volunteer computing systems, however, cooperation implies the commitment of resources as well as the commitment to jointly managing them. The resulting technical challenges for the mobile environments on which this thesis is focused include coping with dynamic network topology, the runtime addition and removal of devices, and resource management issues that go beyond resource usage and scheduling to also include topics like energy consumption and battery drain. Platform and resource virtualization can provide important benefits to cooperative mobile platforms, the key one being the ability to hide from operating systems and applications the complexities implied by collective resource usage. To realize this opportunity, this thesis extends current techniques for device access and sharing in virtualized systems, particularly to improve their flexibility in terms of their ability to make the implementation choices needed for efficient service provision and realization in the mobile and embedded systems targeted by this work. Specifically, we use middleware-based approaches to flexibly extend device and service implementations across cooperative and virtualized mobile platforms. First, for cooperating platforms, application-specific overlay networks are constructed and managed in response to dynamics at the application level and in the underlying infrastructure. When virtualizing these platforms, these same middleware techniques are shown capable of providing uniform services to applications despite platform heterogeneity and dynamics. The approach is shown useful for sharing and remotely accessing devices and services, and for device emulation in mobile settings.

[1]  Dilma Da Silva,et al.  Libra: a library operating system for a jvm in a virtualized execution environment , 2007, VEE '07.

[2]  Giuseppe Di Modica,et al.  Expeerience: a JXTA middleware for mobile ad-hoc networks , 2003, Proceedings Third International Conference on Peer-to-Peer Computing (P2P2003).

[3]  Frank B. Schmuck,et al.  GPFS: A Shared-Disk File System for Large Computing Clusters , 2002, FAST.

[4]  Anoop Gupta,et al.  Tools and applications for large-scale display walls , 2005, IEEE Computer Graphics and Applications.

[5]  Ada Gavrilovska,et al.  Platform Overlays: enabling in-network stream processing in large-scale distributed applications , 2005, NOSSDAV '05.

[6]  Carla Schlatter Ellis,et al.  The Synergy Between Power-Aware Memory Systems and Processor Voltage Scaling , 2003, PACS.

[7]  Ripal Nathuji,et al.  Exploiting Platform Heterogeneity for Power Efficient Data Centers , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[8]  Samir Ranjan Das,et al.  Energy-Aware On-Demand Routing for Mobile Ad Hoc Networks , 2002, IWDC.

[9]  Charles E. Perkins,et al.  Ad-hoc on-demand distance vector routing , 1999, Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications.

[10]  Cecilia Mascolo,et al.  Mobile Computing Middleware , 2002, NETWORKING Tutorials.

[11]  Rajesh K. Gupta,et al.  CoolSpots: reducing the power consumption of wireless mobile devices with multiple radio interfaces , 2006, MobiSys '06.

[12]  Rachid Guerraoui,et al.  Software-Based Replication for Fault Tolerance , 1997, Computer.

[13]  Paolo Bellavista,et al.  Mobile Agent Middleware for Mobile Computing , 2001, Computer.

[14]  S. Hand,et al.  Xen 3.0 and the Art of Virtualization , 2010 .

[15]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[16]  Karsten Schwan,et al.  CameraCast: flexible access to remote video sensors , 2007, Electronic Imaging.

[17]  Wei Tsang Ooi,et al.  Distributing media transformation over multiple media gateways , 2001, MULTIMEDIA '01.

[18]  Karsten Schwan,et al.  VMedia: enhanced multimedia services in virtualized systems , 2008, Electronic Imaging.

[19]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[20]  Karsten Schwan,et al.  Energy-Aware Mobile Service Overlays: Cooperative Dynamic Power Management in Distributed Mobile Systems , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[21]  Rimon Barr,et al.  Design and implementation of a single system image operating system for ad hoc networks , 2005, MobiSys '05.

[22]  Karsten Schwan,et al.  SOAP-binQ: high-performance SOAP with continuous quality management , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[23]  Santosh Pande,et al.  Method partitioning - runtime customization of pervasive programs without design-time application knowledge , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[24]  Robert A. van Engelen Code generation techniques for developing light-weight XML Web services for embedded devices , 2004, SAC '04.

[25]  Karsten Schwan,et al.  Mobile service overlays: reconfigurable middleware for MANETs , 2006, MobiShare '06.

[26]  Karsten Schwan,et al.  Event services for high performance computing , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[27]  Liviu Iftode,et al.  Smart Messages: A Distributed Computing Platform for Networks of Embedded Systems , 2004, Comput. J..

[28]  Ladislau Bölöni,et al.  A comparison study of static mapping heuristics for a class of meta-tasks on heterogeneous computing systems , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[29]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[30]  Karsten Schwan,et al.  Opportunistic Overlays: Efficient Content Delivery in Mobile Ad Hoc Networks , 2005, Middleware.

[31]  Dhabaleswar K. Panda,et al.  High Performance VMM-Bypass I/O in Virtual Machines , 2006, USENIX Annual Technical Conference, General Track.

[32]  Kevin Kelly,et al.  SODA: Service Oriented Device Architecture , 2006, IEEE Pervasive Computing.

[33]  Beng-Hong Lim,et al.  Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor , 2001, USENIX Annual Technical Conference, General Track.

[34]  Ada Gavrilovska,et al.  Enabling Semantic Communications for Virtual Machines via iConnect , 2007, Proceedings of the 2nd International Workshop on Virtualization Technology in Distributed Computing (VTDC '07).

[35]  Hector Garcia-Molina,et al.  Publish/Subscribe in a Mobile Environment , 2004, Wirel. Networks.

[36]  Karsten Schwan,et al.  High performance and scalable I/O virtualization via self-virtualized devices , 2007, HPDC '07.

[37]  Karsten Schwan,et al.  Kernel Plugins: When a VM Is Too Much , 2004, Virtual Machine Research and Technology Symposium.

[38]  Marc Najork,et al.  Boxwood: Abstractions as the Foundation for Storage Infrastructure , 2004, OSDI.

[39]  Calton Pu,et al.  Active Streams - an approach to adaptive distributed systems , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[40]  Clement T. Yu,et al.  Distributed query processing , 1984, CSUR.

[41]  Len Gilman,et al.  Distributed Computing with IBM? MQSeries , 1996 .

[42]  Christian Bettstetter,et al.  Self-organization in communication networks: principles and design paradigms , 2005, IEEE Communications Magazine.

[43]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[44]  Rajesh Gupta,et al.  Systemwide Energy Minimization in Real-Time Embedded Systems , 2004 .

[45]  Eyal de Lara,et al.  VMM-independent graphics acceleration , 2007, VEE '07.

[46]  Sang-Bum Suh,et al.  Xen on ARM: System Virtualization Using Xen Hypervisor for ARM-Based Secure Mobile Phones , 2008, 2008 5th IEEE Consumer Communications and Networking Conference.

[47]  Karsten Schwan,et al.  Opportunistic Channels: Mobility-Aware Event Delivery , 2003, Middleware.

[48]  Marshall T. Rose,et al.  Use of the Internet as a subnetwork for experimentation with the OSI network layer , 1989, RFC.

[49]  Cecilia Mascolo,et al.  XMIDDLE: A Data-Sharing Middleware for Mobile Computing , 2002, Wirel. Pers. Commun..

[50]  Ripal Nathuji,et al.  CompatPM: enabling energy efficient multimedia workloads for distributed mobile platforms , 2007, Electronic Imaging.

[51]  Hsien-Hsin S. Lee,et al.  Energy-Efficient Network Memory for Ubiquitous Devices , 2003, IEEE Micro.

[52]  Xiaoyan Hong,et al.  Distributed Naming System for Mobile Ad Hoc Network , 2005, ICWN.

[53]  Wei Tsang Ooi,et al.  Indiva: a middleware for managing distributed media environment , 2003, IS&T/SPIE Electronic Imaging.

[54]  Guanling Chen,et al.  Solar: An Open Platform for Context-Aware Mobile Applications , 2002 .

[55]  Stefan Götz,et al.  Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines , 2004, OSDI.

[56]  David Lie,et al.  Splitting interfaces: making trust between applications and operating systems configurable , 2006, OSDI '06.

[57]  Margaret Martonosi,et al.  Impala: a middleware system for managing autonomic, parallel sensor systems , 2003, PPoPP '03.

[58]  Diego Calvanese,et al.  Toward a new landscape of systems management in an autonomic computing environment , 2003, IBM Syst. J..

[59]  Karsten Schwan,et al.  FARACost: an adaptation cost model aware of pending constraints , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[60]  Krithi Ramamritham,et al.  Resource Reclaiming in Multiprocessor Real-Time Systems , 1993, IEEE Trans. Parallel Distributed Syst..

[61]  Gernot Heiser,et al.  High-performance microkernels and virtualisation on ARM and segmented architectures , 2007 .

[62]  Alan Messer,et al.  Towards a distributed platform for resource-constrained devices , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[63]  P. Bellavista,et al.  Lightweight code mobility for proxy-based service rebinding in MANET , 2004, 1st International Symposium onWireless Communication Systems, 2004..

[64]  Jeff Dike,et al.  User-mode Linux , 2006, Annual Linux Showcase & Conference.

[65]  Amy L. Murphy,et al.  Middleware to support sensor network applications , 2004, IEEE Network.

[66]  Srinivasan Seshan,et al.  IrisNet: An Architecture for a Worldwide Sensor Web , 2003, IEEE Pervasive Comput..

[67]  Joel H. Saltz,et al.  Active Disks , 1998, Encyclopedia of Database Systems.

[68]  Gregory Diamos,et al.  Harmony: an execution model and runtime for heterogeneous many core systems , 2008, HPDC '08.

[69]  Xiaolan Zhang,et al.  XenSocket: A High-Throughput Interdomain Transport for Virtual Machines , 2007, Middleware.

[70]  Jan M. Rabaey,et al.  Energy aware routing for low energy ad hoc sensor networks , 2002, 2002 IEEE Wireless Communications and Networking Conference Record. WCNC 2002 (Cat. No.02TH8609).

[71]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[72]  Scott Rixner,et al.  TCP offload through connection handoff , 2006, EuroSys.

[73]  A. Kivity,et al.  kvm : the Linux Virtual Machine Monitor , 2007 .

[74]  Calton Pu,et al.  Infopipes: the ISL/ISG implementation evaluation , 2004, Third IEEE International Symposium on Network Computing and Applications, 2004. (NCA 2004). Proceedings..

[75]  Brian N. Bershad,et al.  Recovering device drivers , 2004, TOCS.

[76]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

[77]  Bruce A. MacDonald,et al.  Distributed mobile robot application infrastructure , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[78]  Ben Y. Zhao,et al.  The Ninja architecture for robust Internet-scale systems and services , 2001, Comput. Networks.

[79]  Guiling Wang,et al.  Research on grid-based cooperative platform , 2005, Proceedings of the Ninth International Conference on Computer Supported Cooperative Work in Design, 2005..

[80]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[81]  Rami G. Melhem,et al.  Power-aware scheduling for periodic real-time tasks , 2004, IEEE Transactions on Computers.

[82]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[83]  Karsten Schwan,et al.  AutoPower: toward energy-aware software systems for distributed mobile robots , 2006, Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006..

[84]  Rami G. Melhem,et al.  Energy-efficient policies for embedded clusters , 2005, LCTES '05.

[85]  Ricardo Bianchini,et al.  Dynamic cluster reconfiguration for power and performance , 2003 .

[86]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[87]  Hector Garcia-Molina,et al.  Publish/Subscribe in a Mobile Environment , 2001, MobiDe '01.

[88]  Antonio Puliafito,et al.  Communication paradigms for mobile grid users , 2003, CCGrid 2003. 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003. Proceedings..

[89]  Gilbert Wolrich,et al.  The next generation of Intel IXP network processors , 2002 .

[90]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[91]  G. Whelan,et al.  Cooperative search and rescue with a team of mobile robots , 1997, 1997 8th International Conference on Advanced Robotics. Proceedings. ICAR'97.

[92]  Xuxian Jiang,et al.  Towards an integrated multimedia service hosting overlay , 2004, MULTIMEDIA '04.

[93]  Charlie Kindel,et al.  Distributed Component Object Model Protocol -- DCOM/1.0 , 1998 .

[94]  Karsten Schwan,et al.  O2S2: enhanced object-based virtualized storage , 2008, OPSR.

[95]  Mike P. Papazoglou,et al.  Service-Oriented Computing , 2008 .

[96]  Margaret Martonosi,et al.  Phase characterization for power: evaluating control-flow-based and event-counter-based techniques , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[97]  Alan L. Cox,et al.  Optimizing network virtualization in Xen , 2006 .

[98]  Karsten Schwan,et al.  Netchannel: a VMM-level mechanism for continuous, transparentdevice access during VM migration , 2008, VEE '08.

[99]  Carsten Griwodz,et al.  Dynamic Group Membership Management for Distributed Interactive Applications , 2007, 32nd IEEE Conference on Local Computer Networks (LCN 2007).

[100]  Umakishore Ramachandran,et al.  DFuse: a framework for distributed data fusion , 2003, SenSys '03.

[101]  Liviu Iftode,et al.  Context-Aware Migratory Services in Ad Hoc Networks , 2007, IEEE Transactions on Mobile Computing.

[102]  Hans Utz,et al.  Miro - middleware for mobile robot applications , 2002, IEEE Trans. Robotics Autom..

[103]  Karsten Schwan,et al.  Implementing Diverse Messaging Models with Self-Managing Properties using IFLOW , 2006, 2006 IEEE International Conference on Autonomic Computing.

[104]  Faris Nizamic,et al.  Service-Oriented Computing , 2010, Lecture Notes in Computer Science.

[105]  Tiziana Catarci,et al.  WORKPAD: an Adaptive Peer-to-Peer Software Infrastructure for Supporting Collaborative Work of Human Operators in Emergency/Disaster Scenarios , 2006, International Symposium on Collaborative Technologies and Systems (CTS'06).

[106]  Helen J. Wang,et al.  MashupOS: Operating System Abstractions for Client Mashups , 2007, HotOS.

[107]  Niraj K. Jha,et al.  Power-conscious joint scheduling of periodic task graphs and aperiodic tasks in distributed real-time embedded systems , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[108]  Ruei-Chuan Chang,et al.  Lyra: a system framework in supporting multimedia applications , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[109]  Robert Grimm,et al.  System support for pervasive applications , 2004, TOCS.

[110]  Wee-Seng Soh,et al.  A Comprehensive Study of Bluetooth Signal Parameters for Localization , 2007, 2007 IEEE 18th International Symposium on Personal, Indoor and Mobile Radio Communications.

[111]  Vaduvur Bharghavan,et al.  CEDAR: a core-extraction distributed ad hoc routing algorithm , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[112]  Greg Eisenhauer Dynamic Code Generation with the E-Code Language , 2005 .

[113]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[114]  Karsten Schwan,et al.  Event Services in High Performance Systems , 2001, Cluster Computing.

[115]  Sandeep Adwankar Mobile CORBA , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[116]  V. Kumar,et al.  Ad hoc networks for localization and control , 2002, Proceedings of the 41st IEEE Conference on Decision and Control, 2002..

[117]  Yongguang Zhang,et al.  An integrated environment for testing mobile ad-hoc networks , 2002, MobiHoc '02.

[118]  Ken Thompson,et al.  Plan 9 from Bell Labs , 1995 .

[119]  Brian Fahs,et al.  Microarchitecture optimizations for exploiting memory-level parallelism , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[120]  Ragunathan Rajkumar,et al.  Critical power slope: understanding the runtime effects of frequency scaling , 2002, ICS '02.

[121]  Wayne Liu,et al.  Chapter 14 – Service Virtualization: Infrastructure and Applications , 2004 .

[122]  Ian T. Foster,et al.  Grid Services for Distributed System Integration , 2002, Computer.

[123]  Niraj K. Jha,et al.  Energy efficiency of handheld computer interfaces: limits, characterization and practice , 2005, MobiSys '05.

[124]  Helen J. Wang,et al.  Subspace: secure cross-domain communication for web mashups , 2007, WWW '07.

[125]  Hiroshi Harada,et al.  PM2: High Performance Communication Middleware for Heterogeneous Network Environments , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[126]  Andrea C. Arpaci-Dusseau,et al.  Semantically-Smart Disk Systems , 2003, FAST.

[127]  Karsten Schwan,et al.  IQ‐Services: network‐aware middleware for interactive large‐data applications , 2006, Concurr. Comput. Pract. Exp..

[128]  Tucker R. Balch,et al.  Spirits: Using Virtualization and Pervasiveness to Manage Mobile Robot Software Systems , 2006, SelfMan.

[129]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[130]  Hari Balakrishnan,et al.  Resilient overlay networks , 2001, SOSP.

[131]  James H. Aylor,et al.  Computer for the 21st Century , 1999, Computer.

[132]  James Cheney,et al.  Cyclone: A Safe Dialect of C , 2002, USENIX Annual Technical Conference, General Track.

[133]  Jun Luo,et al.  A Survey of Inter-Vehicle Communication , 2004 .

[134]  David C. Luckham,et al.  Complex Event Processing in Distributed Systems , 1998 .

[135]  Niranjan Damera-Venkata,et al.  Realizing Super-Resolution with Superimposed Projection , 2007, 2007 IEEE Conference on Computer Vision and Pattern Recognition.