Skip to main content
Log in

Abstract

Based on the notion of persistent threads in Tycoon (Matthes and Schmidt, 1994), we investigate thread migration as a programming construct for building activity-oriented distributed applications. We first show how a straight-forward extension of a higher-order persistent language can be used to define activities that span multiple (semi-) autonomous nodes in heterogeneous networks. In particular, we discuss the intricate binding issues that arise in systems where threads are first-class language citizens that may access local and remote, mobile and immobile resources.

We also describe how our system model can be understood as a promising generalization of the more static architecture of first-order and higher-order distributed object systems. Finally, we give some insight into the implementation of persistent and migrating threads and we explain how to represent bindings to ubiquitous resources present at each node visited by a migrating thread on the network to avoid excessive communication or storage costs.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Atkinson, M.P. and Bunemann, P. Types and persistence in database programming languages. ACM Computing Surveys, 19(2), June 1987.

  • Birell, A., Nelson, G., Owicki, S. and Wobber, E. Network objects. In 14th ACM Symposium on Operating System Principles, pages 217–230, June 1993.

  • Breibart, Y., Deacon, A., Schek, H.-J., Sheth, A. and Weikum, G. Merging application-centric and data-centric approaches to support transaction-oriented multi-system workflows. ACM SIGMOD Record, 12(3):23–30, September 1993.

    Google Scholar 

  • Cardelli, L. Obliq: A language with distributed scope. Technical report, Digital Equipment Corporation, Systems Research Center, Palo Alto, California, June 1994.

    Google Scholar 

  • Cardelli, L., Matthes, F. and Abadi, M. Extensible grammars for language specialization. In C. Beeri, A. Ohori, and D.E. Shasha, editors, Proceedings of the Fourth InternationalWorkshop on Database Programming Languages, Manhatten, New York, Workshops in Computing, pages 11–31. Springer-Verlag, February 1994.

  • Corbin, J.R. The Art of Distributed Applications. Sun Technical Reference Library. Springer-Verlag, 1991.

  • Curtis, B., Kellner, M.I. and Over, J. Process modelling. Communications of the ACM, 35(9), September 1992. Telescript programming guide, version 0.5 (alpha). http://www.genmagic.com/Telescript/TDE/TDEDOCS HTML/developer.html, October 1995.

  • Gosling, J. and McGilton, H. The java language environment–A whitepaper. Technical report, Sun Microsystems, October 1995.

  • Gray, J. Notes on database operating systems. In Operating Systems–An Advanced Course, volume 60 of Lecture Notes in Computer Science. Springer-Verlag, 1978.

  • Gray, J. and Reuter, A. Transaction Processing–Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann Publishers, 1993.

  • Object Management Group. The common object request broker: Architecture and specification. Document 91.12.1, Rev. 1.1, OMG, December 1991.

  • Horning, J., Kalsow, P., McJones, J. and Nelson, G. Some useful Modula-3 interfaces. Technical report, Digital Equipment Corporation, Systems Research Center, Palo Alto, California, December 1993.

    Google Scholar 

  • IBM Corporation, Publication No. SR28-5570. Object-Oriented Programming using SOM and DSOM, August 1994.

  • ISO / IEC JTC1 / SC21 / IS 9805. Information Technology-Open Systems Interconnection-Protocol Specification for the Commitment, Concurrency and Recovery Service Element, 1990.

  • Jul, E. Object Mobility in a Distributed Object-Oriented System. PhD thesis, Department of Computer Science, University of Washington, Seattle, Washington, 1988.

    Google Scholar 

  • Jul, E. Migration of light-weight processes in Emerald. Operation Systems Technical Comittee Newsletter, 3(1):25–30, 1989.

    Google Scholar 

  • Jul, E., Levy, H., Hutchinson, N. and Black, A. Fine-grained mobility in the Emerald system. ACM Transactions of Computer Systems, 6(1):109–133, February 1988.

    Google Scholar 

  • Keppel, D. Tools and techniques for building fast portable threads packages. Technical Report 93-05-06, University of Washington, Department of Computer Science and Engineering, University of Washington, Seattle, May 1993.

    Google Scholar 

  • Knabe, F. Language Support for Mobile Agents. PhD thesis, School of Computer Science, Carnegie-Mellon University, December 1995.

  • Lampson, B.W. Atomic transactions. In Distributed Systems–Architecture and Implementation, volume 105 of Lecture Notes in Computer Science, pages 246–265. Springer-Verlag, 1981.

  • Lindsay, B., Selinger, P., Galtieri, C., Gray, J., Lorie, R., Price, T., Putzolo, F., Traiger, I. and Wade, B. Notes on distributed databases. Technical Report TR RJ2571, IBM Almaden Research Laboratories, San Jose, CA, 1979.

    Google Scholar 

  • Manola, F. and Heiler, S. A "RISC" object model for object system interoperation: Concepts and applications. Technical Report TR-0231-08-93-165, GTE laboratories Inc., Waltham, MA (USA), August 1993.

    Google Scholar 

  • Manola, F., Heiler, S., Georgakopoulos, D., Hornick, M. and Brodie, M. Distributed object management. International Journal of Intelligent and Cooperative Information Systems, 1(1), March 1992.

  • Mathiske, B. Mobility in Persistent Object Systems. PhD thesis, Fachbereich Informatik, Universität Hamburg, Germany, May 1996. (in German).

    Google Scholar 

  • Mathiske, B., Matthes, F. and Schmidt, J.W. Scaling database languages to higher-order distributed programming. In Proceedings of the Fifth International Workshop on Database Programming Languages, Gubbio, Italy. Springer-Verlag, September 1995. (Also appeared as TR FIDE/95/137).

  • Matthes, F., Müller, R. and Schmidt, J.W. Towards a unified model of untyped object stores: Experience with the Tycoon store protocol. In M.P. Atkinson, editor, Fully Integrated Data Environments. Springer-Verlag (to appear), 1995.

  • Matthes, F. and Schmidt, J.W. Bulk types: Built-in or add-on? In Database Programming Languages: Bulk Types and Persistent Data. Morgan Kaufmann Publishers, September 1991.

  • Matthes, F. and Schmidt, J.W. Definition of the Tycoon language TL–a preliminary report. Informatik Fachbericht FBI-HH-B-160/92, Fachbereich Informatik, Universität Hamburg, Germany, November 1992.

    Google Scholar 

  • Matthes, F. and Schmidt, J.W. Persistent threads. In Proceedings of the Twentieth International Conference on Very Large Data Bases, VLDB, pages 403–414, Santiago, Chile, September 1994.

  • Microsoft Corporation. Microsoft Office Developer’s Kit, 1994.

  • Morrison, M., Atkinson, P.T., Brown, A.L. and Dearle, A. Bindings in persistent programming languages. In SIGPLAN Notices, volume 23, pages 27–34, April 1988.

    Google Scholar 

  • Morrison, R., Brown, R.L., Connor, R. and Dearle, A. The Napier88 reference manual. PPRR 77-89, Universities of Glasgow and St Andrews, 1989.

  • Nelson, G., editor. Systems programming with Modula-3. Series in innovative technology. Prentice Hall, Englewood Cliffs, New Jersey, 1991.

    Google Scholar 

  • Nicol, J., Wilkes, T. and Manola, F. Object orientation in heterogeneous distributed computing systems. Special Issue on Heterogeneous Processing, June 1993.

  • OSF. OSF DCE Administration Guide–Core Components. Prentice Hall, Englewood Cliffs, New Jersey, 1993.

    Google Scholar 

  • Piellusch, A. Synchronization of long-lived activities. Master’s thesis, Fachbereich Informatik, Universität Hamburg, Germany, June 1996. (in German).

    Google Scholar 

  • Portable operating system interface for computer environments (POSIX). Federal information processing standards publication NBS-FIPS-PUB-151-1, National Bureau of Standards, 1990.

  • Shapiro, M. Flexible bindings for fine-grain and fragmented objects in distributed systems. Rapport de Recherche 2007, INRIA, Domaine de Voluceau, Rocquencourt 78153 Le Chesnay Cedex, France, August 1993.

    Google Scholar 

  • Shapiro, M., Gautron, P., and Mosseri, L. Persistence and migration for C++ objects. In In Proceedings of the European Conference on Object Oriented Programming, Nottingham, GB, July 1989.

  • Strachey, C., editor. Fundamental concepts in programming languages. Oxford University Press, Oxford, 1967.

    Google Scholar 

  • Sun Microsystems. Sun OS Reference Manual, May 1988.

  • Thomsen, B., Leth, L., Knabe, F. and Chevalier, P.Y. Mobile agents. Technical Report ECRC-95-21, European Computer-Industry Research Centre, Munich, Germany, June 1995.

    Google Scholar 

  • Wayner, P. Agents away. BYTE, pages 113–118, May 1994.

  • White, J.E. Telescript technology: The foundation for the electronic marketplace. White paper, General Magic Inc., Mountain View, California, USA, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mathiske, B., Matthes, F. & Schmidt, J.W. On Migrating Threads. Journal of Intelligent Information Systems 8, 167–191 (1997). https://doi.org/10.1023/A:1008628709630

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008628709630

Navigation