skip to main content
article

System support for pervasive applications

Published:01 November 2004Publication History
Skip Abstract Section

Abstract

Pervasive computing provides an attractive vision for the future of computing. Computational power will be available everywhere. Mobile and stationary devices will dynamically connect and coordinate to seamlessly help people in accomplishing their tasks. For this vision to become a reality, developers must build applications that constantly adapt to a highly dynamic computing environment. To make the developers' task feasible, we present a system architecture for pervasive computing, called <i>one.world</i>. Our architecture provides an integrated and comprehensive framework for building pervasive applications. It includes services, such as discovery and migration, that help to build applications and directly simplify the task of coping with constant change. We describe our architecture and its programming model and reflect on our own and others' experiences with using it.

References

  1. Abrams, M. and Helms, J. 2002. User interface markup language (UIML), version 3.0. Draft specification, Harmonia, Inc., Blacksburg VA (Feb.). Available at http://www.uiml.org/specs/uiml3/DraftSpec.htm.]]Google ScholarGoogle Scholar
  2. Adjie-Winoto, W., Schwartz, E., Balakrishnan, H., and Lilley, J. 1999. The design and implementation of an intentional naming system. In Proceedings of the 17th ACM Symposium on Operating Systems Principles. Kiawah Island Resort, SC. 186--201.]] Google ScholarGoogle Scholar
  3. Anderson, J. P. 1972. Computer security technology planning study. Tech. Rep. ESD-TR-73-51, Vol. I, (Oct.). Electronic Systems Division, Air Force Systems Command, Bedford, MA. Also AD-758 206, National Technical Information Service.]]Google ScholarGoogle Scholar
  4. Anderson, T. E., Dahlin, M. D., Neefe, J. M., Patterson, D. A., Roselli, D. S., and Wang, R. Y. 1996. Serverless network file systems. ACM Trans. Comput. Syst. 14, 1 (Feb.), 41--79.]] Google ScholarGoogle Scholar
  5. Arnold, K., O'Sullivan, B., Scheifler, R. W., Waldo, J., and Wollrath, A. 1999. The Jini Specification. Addison-Wesley.]] Google ScholarGoogle Scholar
  6. Arnstein, L., Grimm, R., Hung, C.-Y., Kang, J. H., LaMarca, A., Sigurdsson, S. B., Su, J., and Borriello, G. 2002. Systems support for ubiquitous computing: A case study of two implementations of Labscape. In Proceedings of the 2002 International Conference on Pervasive Computing. Zurich, Switzerland, 30--44.]] Google ScholarGoogle Scholar
  7. Bershad, B. N., Savage, S., Pardyak, P., Sirer, E. G., Fiuczynski, M. E., Becker, D., Chambers, C., and Eggers, S. 1995. Extensibility, safety and performance in the SPIN operating system. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain, CO. 267--284.]] Google ScholarGoogle Scholar
  8. Biron, P. V. and Malhotra, A. 2001. XML schema part 2: Datatypes. W3C recommendation, World Wide Web Consortium (May.). Cambridge, MA.]]Google ScholarGoogle Scholar
  9. Birrell, A. D., Levin, R., Needham, R. M., and Schroeder, M. D. 1982. Grapevine: An exercise in distributed computing. Comm. ACM 25, 4 (Apr.), 260--274.]] Google ScholarGoogle Scholar
  10. Bluetooth SIG. 2002. Specification of the Bluetooth system. Specification Version 1.1 (Feb.). Bluetooth SIG.]]Google ScholarGoogle Scholar
  11. Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H. F., Thatte, S., and Winer, D. 2000. Simple object access protocol (SOAP) 1.1. W3C note, World Wide Web Consortium, (May.). Cambridge, MA.]]Google ScholarGoogle Scholar
  12. Bray, T., Paoli, J., and Sperberg-McQueen, C. M. 1998. Extensible markup language (XML) 1.0. W3C recommendation, World Wide Web Consortium, (Feb.). Cambridge, MA.]]Google ScholarGoogle Scholar
  13. Brewer, E. A., Katz, R. H., Chawathe, Y., Gribble, S. D., Hodes, T., Nguyen, G., Stemm, M., Henderson, T., Amir, E., Balakrishnan, H., Fox, A., Padmanabhan, V. N., and Seshan, S. 1998. A network architecture for heterogeneous mobile computing. IEEE Pers. Comm. 5, 5 (Oct.), 8--24.]]Google ScholarGoogle Scholar
  14. Brinch Hansen, P. 1970. The nucleus of a multiprogramming system. Comm. ACM 13, 4 (Apr.), 238--241, 250.]] Google ScholarGoogle Scholar
  15. Brumitt, B., Meyers, B., Krumm, J., Kern, A., and Shafer, S. 2000. EasyLiving: Technologies for intelligent environments. In Proceedings of the 2nd International Symposium on Handheld and Ubiquitous Computing. Lecture Notes in Computer Science, vol. 1927. Springer-Verlag, Bristol, England, 12--29.]] Google ScholarGoogle Scholar
  16. Bullard, V., Smith, K. T., and Daconta, M. C. 2001. Essential XUL Programming. John Wiley & Sons.]] Google ScholarGoogle Scholar
  17. Cardelli, L. 1999. Abstractions for mobile computations. In Secure Internet Programming: Security Issues for Distributed and Mobile Objects, J. Vitek and C. D. Jensen, Eds. Lecture Notes in Computer Science, vol. 1603. Springer-Verlag, 51--94.]] Google ScholarGoogle Scholar
  18. Carriero, N. and Gelernter, D. 1986. The S/Net's Linda kernel. ACM Trans. Comput. Syst. 4, 2 (May), 110--129.]] Google ScholarGoogle Scholar
  19. Chankhunthod, A., Danzig, P. B., Needaels, C., Schwartz, M. F., and Worrell, K. J. 1996. A hierarchical Internet object cache. In Proceedings of the 1996 USENIX Annual Technical Conference. San Diego, CA. 153--163.]] Google ScholarGoogle Scholar
  20. Chou, P., Ortega, R., Hines, K., Partridge, K., and Borriello, G. 1999. ipChinook: An integrated IP-based design framework for distributed embedded systems. In Proceedings of the 36th ACM/IEEE Design Automation Conference. New Orleans, LO. 44--49.]] Google ScholarGoogle Scholar
  21. Czerwinski, S. E., Zhao, B. Y., Hodes, T. D., Joseph, A. D., and Katz, R. H. 1999. An architecture for a secure service discovery service. In Proceedings of the 5th ACM/IEEE International Conference on Mobile Computing and Networking. Seattle, WA. 24--35.]] Google ScholarGoogle Scholar
  22. Davies, N., Friday, A., Wade, S. P., and Blair, G. S. 1998. L2imbo: A distributed systems platform for mobile computing. Mobile Networks and Applications 3, 2 (Aug.), 143--156.]] Google ScholarGoogle Scholar
  23. Dertouzos, M. L. 1999. The future of computing. Sci. Amer. 281, 2 (Aug.), 52--55.]]Google ScholarGoogle Scholar
  24. Douglis, F. and Ousterhout, J. 1991. Transparent process migration: Design alternatives and the Sprite implementation. Software---Practice and Experience 21, 8 (Aug.), 757--785.]] Google ScholarGoogle Scholar
  25. Engler, D. R., Kaashoek, M. F., and O'Toole, Jr., J. 1995. Exokernel: an operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain Resort, CO. 251--266.]] Google ScholarGoogle Scholar
  26. Esler, M., Hightower, J., Anderson, T., and Borriello, G. 1999. Next century challenges: Data-centric networking for invisible computing. In Proceedings of the 5th ACM/IEEE International Conference on Mobile Computing and Networking. Seattle, WA. 256--262.]] Google ScholarGoogle Scholar
  27. Ferguson, P., Leman, G., Perini, P., Renner, S., and Seshagiri, G. 1999. Software process improvement works! Tech. Rep. CMU/SEI-99-TR-027 (Nov.). Carnegie Mellon University, Software Engineering Institute.]]Google ScholarGoogle Scholar
  28. Ford, B., Hibler, M., Lepreau, J., Tullmann, P., Back, G., and Clawson, S. 1996. Microkernels meet recursive virtual machines. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation. Seattle, WA. 137--151.]] Google ScholarGoogle Scholar
  29. Foster, I. and Kesselman, C. 1997. Globus: A metacomputing infrastructure toolkit. Inter. J. Supercomput. Appl. High Perf. Comput. 11, 2, 115--128.]]Google ScholarGoogle Scholar
  30. Fowler, R. J. 1985. Decentralized object finding using forwarding addresses. Ph.D. thesis, University of Washington.]] Google ScholarGoogle Scholar
  31. Fox, A., Gribble, S. D., Chawathe, Y., Brewer, E. A., and Gauthier, P. 1997. Cluster-based scalable network services. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. Saint-Malo, France, 78--91.]] Google ScholarGoogle Scholar
  32. Freeman, E., Hupfer, S., and Arnold, K. 1999. Java-Spaces Principles, Patterns, and Practice. Addison-Wesley.]] Google ScholarGoogle Scholar
  33. Garlan, D., Siewiorek, D. P., Smailagic, A., and Steenkiste, P. 2002. Project Aura: Toward distraction-free pervasive computing. IEEE Perv. Comput. Mag. 1, 2 (April--June), 22--31.]] Google ScholarGoogle Scholar
  34. Gast, M. 2002. 802.11 Wireless Networks: The Definitive Guide. O'Reilly.]] Google ScholarGoogle Scholar
  35. Gong, L. 1999. Inside Java Platform Security---Architecture, API Design, and Implementation. Addison-Wesley.]] Google ScholarGoogle Scholar
  36. Gray, C. G. and Cheriton, D. R. 1989. Leases: An efficient fault-tolerant mechanism for file cache consistency. In Proceedings of the 12th ACM Symposium on Operating Systems Principles. Litchfield Park, AZ. 202--210.]] Google ScholarGoogle Scholar
  37. Gray, J., Helland, P., O'Neil, P., and Shasha, D. 1996. The dangers of replication and a solution. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data. Montreal, Canada, 173--182.]] Google ScholarGoogle Scholar
  38. Gribble, S. D., Brewer, E. A., Hellerstein, J. M., and Culler, D. 2000. Scalable, distributed data structures for Internet service construction. In Proceedings of the 4th USENIX Symposium on Operating Systems Design and Implementation. San Diego, CA. 319--332.]] Google ScholarGoogle Scholar
  39. Grimm, R. 2000. System support for pervasive applications. Ph.D. thesis, University of Washington.]] Google ScholarGoogle Scholar
  40. Grimm, R. and Bershad, B. N. 2001. Separating access control policy, enforcement and functionality in extensible systems. ACM Trans. Comput. Syst. 19, 1 (Feb.).]] Google ScholarGoogle Scholar
  41. Grimm, R., Davis, J., Lemar, E., MacBeth, A., Swanson, S., Gribble, S., Anderson, T., Bershad, B., Borriello, G., and Wetherall, D. 2001. Programming for pervasive computing environments. Tech. Rep. UW-CSE-01-06-01 (June). University of Washington.]]Google ScholarGoogle Scholar
  42. Guttman, E., Perkins, C., Veizades, J., and Day, M. 1999. Service location protocol, version 2. RFC 2608, Internet (June). Engineering Task Force.]] Google ScholarGoogle Scholar
  43. Guzdial, M. and Rose, K., Eds. 2002. Squeak: Open Personal Computing and Multimedia. Prentice Hall.]] Google ScholarGoogle Scholar
  44. Heidemann, J. S. and Popek, G. J. 1994. File-system development with stackable layers. ACM Trans. Comput. Syst. 12, 1 (Feb.), 58--89.]] Google ScholarGoogle Scholar
  45. Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., and Pister, K. 2000. System architecture directions for networked sensors. In Proceedings of the 9th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. Cambridge, MA. 93--104.]] Google ScholarGoogle Scholar
  46. Ioannidis, J. and Maguire, Jr., G. Q. 1993. The design and implementation of a mobile internetworking architecture. In Proceedings of 1993 Winter USENIX Conference. San Diego, CA. 491--502.]]Google ScholarGoogle Scholar
  47. Johanson, B., Fox, A., and Winograd, T. 2002. The interactive workspaces project: Experiences with ubiquitous computing rooms. IEEE Perv. Comput. Mag. 1, 2 (April--June), 67--74.]] Google ScholarGoogle Scholar
  48. Johnson, K. L., Carr, J. F., Day, M. S., and Kaashoek, M. F. 2000. The measured performance of content distribution networks. In Proceedings of the 5th International Web Caching and Content Delivery Workshop. Lisbon, Portugal. http://www.terena.nl/conf/wcw/Proceedings/S4/S4-1.pdf.]]Google ScholarGoogle Scholar
  49. Jones, M. B. 1993. Interposition agents: Transparently interposing user code at the system interface. In Proceedings of the 14th ACM Symposium on Operating Systems Principles. Asheville, NC. 80--93.]] Google ScholarGoogle Scholar
  50. Joseph, A. D., deLespinasse, A. F., Tauber, J. A., Gifford, D. K., and Kaashoek, M. F. 1995. Rover: A toolkit for mobile information access. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain Resort, CO. 156--171.]] Google ScholarGoogle Scholar
  51. Jul, E., Levy, H., Hutchinson, N., and Black, A. 1988. Fine-grained mobility in the Emerald system. ACM Trans. Comput. Syst. 6, 1 (Feb.), 109--133.]] Google ScholarGoogle Scholar
  52. Kaashoek, M. F., Engler, D. R., Ganger, G. R., Briceño, H., Hunt, R., Mazières, D., Pinckney, T., Grimm, R., Jannotti, J., and Mackenzie, K. 1997. Application performance and flexibility on exokernel systems. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. Saint-Malo, France, 52--65.]] Google ScholarGoogle Scholar
  53. Kistler, J. J. and Satyanarayanan, M. 1992. Disconnected operation in the Coda file system. ACM Trans. Comput. Syst. 10, 1 (Feb.), 3--25.]] Google ScholarGoogle Scholar
  54. Kubiatowicz, J., Bindel, D., Chen, Y., Czerwinski, S., Eaton, P., Geels, D., Gummadi, R., Rhea, S., Weatherspoon, H., Weimer, W., Wells, C., and Zhao, B. 2000. OceanStore: An architecture for global-scale persistent storage. In Proceedings of the 9th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. Cambridge, MA. 190--201.]] Google ScholarGoogle Scholar
  55. Kumar, P. and Satyanarayanan, M. 1995. Flexible and safe resolution of file conflicts. In Proceedings of the 1995 USENIX Annual Technical Conference. New Orleans, LO. 95--106.]] Google ScholarGoogle Scholar
  56. Lange, D. B. and Oshima, M. 1998. Programming and Deploying Java Mobile Agents with Aglets. Addison Wesley.]] Google ScholarGoogle Scholar
  57. Le Hors, A., Le Hégaret, P., Wood, L., Nicol, G., Robie, J., Champion, M., and Byrne, S. 2000. Document object model (DOM) level 2 core specification. W3C recommendation, World Wide Web Consortium (Nov.). Cambridge, MA.]]Google ScholarGoogle Scholar
  58. Leach, P. J. and Salz, R. 1998. UUIDs and GUIDs. Internet Draft draft-leach-uuids-guids-01.txt (Feb.). Internet Engineering Task Force.]]Google ScholarGoogle Scholar
  59. Levy, E. and Silberschatz, A. 1990. Distributed file systems: Concepts and examples. ACM Comput. Surv. 22, 4 (Dec.), 321--374.]] Google ScholarGoogle Scholar
  60. Lewis, M. and Grimshaw, A. 1996. The core Legion object model. In Proceedings of the Fifth IEEE International Symposium on High Performance Distributed Computing. Syracuse, NY. 551--561.]] Google ScholarGoogle Scholar
  61. Liang, S. and Bracha, G. 1998. Dynamic class loading in the Java virtual machine. In Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications '98. Vancouver, Canada, 36--44.]] Google ScholarGoogle Scholar
  62. Liefke, H. and Suciu, D. 2000. XMill: An efficient compressor for XML data. In Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data. Dallas, TX. 153--164.]] Google ScholarGoogle Scholar
  63. Lindholm, T. and Yellin, F. 1999. The Java Virtual Machine Specification, Second ed. Addison-Wesley.]] Google ScholarGoogle Scholar
  64. Martin, B. and Jano, B. 1999. WAP binary XML content format. W3C note, World Wide Web Consortium (June). Cambridge, MA.]]Google ScholarGoogle Scholar
  65. McKusick, M. K., Bostic, K., Karels, M. J., and Quarterman, J. S. 1996. The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley.]] Google ScholarGoogle Scholar
  66. Microsoft Corporation. 1999. Microsoft Office 2000 Resource Kit. Microsoft Press.]] Google ScholarGoogle Scholar
  67. Microsoft Corporation. 2000. Understanding universal plug and play. White paper (June). Microsoft Corporation, Redmond, WA. Available at http://www.upnp.org/download/UPNP_UnderstandingUPNP.doc.]]Google ScholarGoogle Scholar
  68. Millstein, T. 2004. Practical predicate dispatch. In Proceedings of the 19th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. Vancouver, BC. 345--364.]] Google ScholarGoogle Scholar
  69. Milner, R., Tofte, M., Harper, R., and MacQueen, D. 1997. The Definition of Standard ML (Revised). MIT Press.]] Google ScholarGoogle Scholar
  70. Miloji&cbreve;ić, D., Douglis, F., and Wheeler, R., Eds. 1999. Mobility---Processes, Computers, and Agents. ACM Press. Addison-Wesley.]] Google ScholarGoogle Scholar
  71. Mummert, L. B., Ebling, M. R., and Satyanarayanan, M. 1995. Exploiting weak connectivity for mobile file access. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain Resort, CO. 143--155.]] Google ScholarGoogle Scholar
  72. Murphy, A. L., Picco, G. P., and Roman, G.-C. 2001. Lime: A middleware for physical and logical mobility. In Proceedings of the 21st IEEE International Conference on Distributed Computing Systems. Phoenix, AZ. 524--533.]] Google ScholarGoogle Scholar
  73. Muthitacharoen, A., Chen, B., and Mazières, D. 2001. A low-bandwidth network file system. In Proceedings of the 18th ACM Symposium on Operating Systems Principles. Banff, Canada, 174--187.]] Google ScholarGoogle Scholar
  74. Noble, B. D., Satyanarayanan, M., Narayanan, D., Tilton, J. E., Flinn, J., and Walker, K. R. 1997. Agile application-aware adaptation for mobility. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. Saint-Malo, France, 276--287.]] Google ScholarGoogle Scholar
  75. Nye, A., Ed. 1995. X Protocol Reference Manual, 4th ed. O'Reilly.]] Google ScholarGoogle Scholar
  76. Oki, B., Pfluegl, M., Siegel, A., and Skeen, D. 1993. The Information Bus---an architecture for extensible distributed systems. In Proceedings of the 14th ACM Symposium on Operating Systems Principles. Ashville, NC. 58--68.]] Google ScholarGoogle Scholar
  77. Olson, M. A., Bostic, K., and Seltzer, M. 1999. Berkeley DB. In Proceedings of the FREENIX Track, 1999 USENIX Annual Technical Conference. Monterey, CA. 183--192.]] Google ScholarGoogle Scholar
  78. Ousterhout, J. 1996. Why threads are a bad idea (for most purposes). http://home.pacbell.net/ouster/threads.ppt. Invited Talk presented at the 1996 USENIX Annual Technical Conference. San Diego, CA.]]Google ScholarGoogle Scholar
  79. Pai, V. S., Druschel, P., and Zwaenepoel, W. 1999. Flash: An efficient and portable Web server. In Proceedings of the 1999 USENIX Annual Technical Conference. Monterey, CA. 199--212.]] Google ScholarGoogle Scholar
  80. Pardyak, P. and Bershad, B. N. 1996. Dynamic binding for an extensible system. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation. Seattle, WA. 201--212.]] Google ScholarGoogle Scholar
  81. Petersen, K., Spreitzer, M. J., Terry, D. B., Theimer, M. M., and Demers, A. J. 1997. Flexible update propagation for weakly consistent replication. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. Saint-Malo, France, 288--301.]] Google ScholarGoogle Scholar
  82. Petzold, C. 1998. Programming Windows, 5th ed. Microsoft Press.]] Google ScholarGoogle Scholar
  83. Plainfossé, D. and Shapiro, M. 1995. A survey of distributed garbage collection techniques. In International Workshop on Memory Management. Lecture Notes in Computer Science, vol. 986. Springer-Verlag, Kinross, Scotland, 211--249.]] Google ScholarGoogle Scholar
  84. Powell, M. L. and Miller, B. P. 1983. Process migration in DEMOS/MP. In Proceedings of the 9th ACM Symposium on Operating Systems Principles. Bretton Woods, NH. 110--119.]] Google ScholarGoogle Scholar
  85. Prechelt, L. 2000. An empirical comparison of seven programming languages. IEEE Comput. 33, 10 (Oct.), 23--29.]] Google ScholarGoogle Scholar
  86. Rhea, S., Eaton, P., Geels, D., Weatherspoon, H., Zhao, B., and Kubiatowicz, J. 2003. Pond: The OceanStore prototype. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. San Francisco, CA. 1--14.]] Google ScholarGoogle Scholar
  87. Richardson, T., Stafford-Fraser, Q., Wood, K. R., and Hopper, A. 1998. Virtual network computing. IEEE Inter. Comput. 2, 1 (January/February), 33--38.]] Google ScholarGoogle Scholar
  88. Saltzer, J. H., Reed, D. P., and Clark, D. D. 1984. End-to-end arguments in system design. ACM Transactions on Computer Systems 2, 4 (Nov.), 277--288.]] Google ScholarGoogle Scholar
  89. Satoh, I. 2000. MobileSpaces: A framework for building adaptive distributed applications using a hierarchical mobile agent system. In Proceedings of the 20th IEEE International Conference on Distributed Computing Systems. Taipei, Taiwan, 161--168.]] Google ScholarGoogle Scholar
  90. Satyanarayanan, M. 2001. Pervasive computing: Vision and challenges. IEEE Pers. Comm. 8, 4 (Aug.), 10--17.]]Google ScholarGoogle Scholar
  91. Steensgaard, B. and Jul, E. 1995. Object and native code thread mobility among heterogeneous computers. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain Resort, CO. 68--77.]] Google ScholarGoogle Scholar
  92. Stevens, W. R. 1994. TCP/IP Illustrated. Vol. 1. Addison-Wesley.]] Google ScholarGoogle Scholar
  93. Sun Microsystems. 2002. Java remote method invocation specification. Revision 1.8, Sun Microsystems, Palo Alto, CA.]]Google ScholarGoogle Scholar
  94. Tamches, A. and Miller, B. P. 1999. Fine-grained dynamic instrumentation of commodity operating system kernels. In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation. New Orleans, LO. 117--130.]] Google ScholarGoogle Scholar
  95. Terry, D. B., Theimer, M. M., Petersen, K., Demers, A. J., Spreitzer, M. J., and Hauser, C. H. 1995. Managing update conflicts in Bayou, a weakly connected replicated storage system. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain Resort, CO. 172--183.]] Google ScholarGoogle Scholar
  96. Tewari, R., Dahlin, M., Vin, H. M., and Kay, J. S. 1999. Design considerations for distributed caching on the Internet. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems. Austin, TX. 273--284.]] Google ScholarGoogle Scholar
  97. Thai, T. and Lam, H. 2002. NET Framework Essentials, 2nd Ed. O'Reilly.]] Google ScholarGoogle Scholar
  98. Thompson, H. S., Beech, D., Maloney, M., and Mendelsohn, N. 2001. XML schema part 1: Structures. W3C recommendation, World Wide Web Consortium (May). Cambridge, Massachusetts.]]Google ScholarGoogle Scholar
  99. Thorn, T. 1997. Programming languages for mobile code. ACM Comput. Surv. 29, 3 (Sept.), 213--239.]] Google ScholarGoogle Scholar
  100. Tullmann, P. and Lepreau, J. 1998. Nested Java processes: OS structure for mobile code. In Proceedings of the 8th ACM SIGOPS European Workshop. Sintra, Portugal, 111--117.]] Google ScholarGoogle Scholar
  101. Tulloch, M. 2001. Windows 2000 Administration in a Nutshell. O'Reilly.]] Google ScholarGoogle Scholar
  102. van Steen, M., Homburg, P., and Tanenbaum, A. S. 1999. Globe: A wide-area distributed system. IEEE Concurr. 7, 1, 70--78.]] Google ScholarGoogle Scholar
  103. Walrath, K. and Campione, M. 1999. The JFC Swing Tutorial: A Guide to Constructing GUIs. Addison-Wesley.]] Google ScholarGoogle Scholar
  104. Weiser, M. 1991. The computer for the twenty-first century. Sci. Amer. 265, 3 (Sept.), 94--104.]]Google ScholarGoogle Scholar
  105. Welsh, M., Culler, D., and Brewer, E. 2001. SEDA: An architecture for well-conditioned, scalable Internet services. In Proceedings of the 18th ACM Symposium on Operating Systems Principles. Banff, Canada, 230--243.]] Google ScholarGoogle Scholar
  106. Wyckoff, P., McLaughry, S. W., Lehman, T. J., and Ford, D. A. 1998. T Spaces. IBM Syst. J. 37, 3, 454--474.]] Google ScholarGoogle Scholar

Index Terms

  1. System support for pervasive applications

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in

                    Full Access

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader