Efficient and Extensible Multithreaded Remote Servers?

  • Ricardo Jiménez-Peris
  • M. Patiño-Martínez
  • F. J. Ballesteros
  • S. Arévalo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1622)


In many cases, servers must impose a protocol of calls to their clients, and at the same time handle multiple client requests. The MT-Rendezvous design pattern greatly simplifies both tasks: separate server threads handle separate clients or sessions, and each different call protocol is handled by means of rendezvous.

One of the most significant performance problems in this kind of system is the latency introduced by network messages exchanged between clients and servers. Another design pattern, CompositeCalls, has been used to achieve dramatic performance improvements. With CompositeCalls clients send entire programs to the server so that the number of messages exchanged can be greatly reduced. Moreover, servers can be dynamically extended by using CompositeCalls.

Therefore, an expressive and effcient server model can be obtained by mixing both patterns within the same framework. However, as both patterns overlap, its integration is not a trivial task.

In this paper we describe how can both patterns be combined, including a brief description for its instantiation in Ada 95. Besides, we show concrete applications where the compound pattern, CompositeRendezvousCalls, can be employed, including a transactional framework for distributed Ada applications, TransLib.


Design Pattern Server Side Interpreter Server Single Call Client Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley, 1995.Google Scholar
  2. 2.
    R. Jiméenez, M. Patiño, and S. Arévalo. Multithreaded Rendezvous: A Design Pattern for Distributed Rendezvous. In Proc. of ACM Symposium on Applied Computing. ACM Press, Feb. 1999.Google Scholar
  3. 3.
    M. Patiño, R. Jiménez, and S. Arévalo. Integrating Groups and Transactions: A Fault-Tolerant Extension of Ada. In Proc. of International Conference on Reliable Software Technologies, Ada-Europe’98, volume LNCS 1411, pages 78–89. Springer, June 1998.CrossRefGoogle Scholar
  4. 4.
    M. Patiño, R. Jiménez, and S. Arévalo. Synchronizing Group Transactions with Rendezvous in a Distributed Ada Environment. In Proc. of ACM Symposium on Applied Computing, pages 2–9. ACM Press, Feb. 1998.Google Scholar
  5. 5.
    M. Patiño, Ballesteros F. J., R. Jiménez, S. Arévalo, Kon F., and Campbell R. H. Composite Calls: A Design Pattern for Effcient and Flexible Client-Server Interaction. In∼nemo/off/, 1998.
  6. 6.
    B. I. Sandén. The State-Machine Pattern. In Proc. of ACM Tri-Ada’96. ACM Press, 1996.Google Scholar
  7. 7.
    J. M. Sasine and R. J. Toal. Implementing the Model-View-Controller Paradigm in Ada 95. In Proc. of ACM Tri-Ada’95. ACM Press, 1995.Google Scholar
  8. 8.
    D. C. Schmidt. Reactor. An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching. In J. Coplien and D. C. Schmidt, editors, Pattern Languages of Program Design. Addison Wesley, 1995.Google Scholar
  9. 9.
    D. C. Schmidt. Evaluating Architectures for Multithreaded Object Request Brokers. Communications of the ACM, 41(10):54–60, Oct. 1998.CrossRefGoogle Scholar
  10. 10.
    C. J. Thompson and V. Celier. DVM: An Object-Oriented Framework for Building Large Distributed Ada Systems. In TriAda Conference. ACM Press, 1995.Google Scholar

Copyright information

© Springer-Ve lag Berlin Heidelberg 1999

Authors and Affiliations

  • Ricardo Jiménez-Peris
    • 1
  • M. Patiño-Martínez
    • 1
  • F. J. Ballesteros
    • 2
  • S. Arévalo
    • 1
  1. 1.Technical University of MadridSpain
  2. 2.Madrid Carlos III UniversitySpain

Personalised recommendations