Implementation of hidden concurrency in CORBA clients
This paper reports on the introduction of concurrency at the client side, as an engineering solution to improve performance. It is shown that, by combining a wait-by-necessity principle, where the calling process only blocks when a return value of a function call is needed, with the handle concept, used to control the access to an object, hidden concurrency can be introduced into CORBA-based client components. Concurrency is achieved by splitting sequential calls to servers through the creation of dedicated threads. Hidden signifies the fact that the split is hidden for the client code by including the thread creation in the serverStub, while the synchronisation needed at some point in the client process is done through the handle mechanism combined with the wait-by-necessity principle. The introduction of this kind of concurrency can be done transparently from the client and server application code. The principle of hidden concurrency through the introduction of multiple threads at the calling side has been contrasted with the single thread scenario through an example, which takes on the TINA (Telecommunication Information Networking Architecture) Connection Management Architecture as a particular case study.
Unable to display preview. Download preview PDF.
- M. Kawanishi, H. Oshigiri, J. Pavón, M. Schenk: “Connection Management Architecture”, March 1995 (TB_JJB.005_1.5_94).Google Scholar
- M. Lengdell, H. Oshigiri, J. Pavón, M. Kawanishi, L. Richter: “Network Resource Information Model Specification”, December 1994, (TB_LR.010_2.0_94).Google Scholar
- C. Aurecoechea, A. Hopson, H. Oshigiri, J. Pavón, F. Ruano: “Connection Management Specification”, 6 March 1995 (TP_NAD.001_1.2_95).Google Scholar
- N. Natarajan, F. Dupuy, N. Singer, H. Christensen, M. Chapman: “Computational Modelling Concepts”, November 1994 (TP_A2.HC.012_1.1_94).Google Scholar
- B. Stroustrup: “The C++ Programming Language” Second Edition, AT&T Bell Laboratories, Inc., Murray Hill, New Jersey 1991 (printed by Addison-Wesley), ISBN 0-201-53992-6.Google Scholar
- A S. Tanenbaum, “Modern Operating Systems”, Prentice Hall, Englewood Cliffs, New Jersey 1992, ISBN 0-13-595752-4.Google Scholar
- J. L. Peterson, A. Silberschatz, “Operating System Concepts” 2nd Ed., Addison-Wesley Publishing Company, 1995.Google Scholar
- D. Caromel, “Service, Asynchrony, and Wait-By-Necessity”, Journal of Object Oriented Programming, November/December 1989.Google Scholar
- D. Caromel, “Concurrency And Reusability: From Sequential To Parallel”, Journal of Object Oriented Programming, September/October 1990.Google Scholar