Implementation Repository in TAO

The purpose of the Implementation Repository in TAO is for the automatic activation of a TAO server when a method is invoked but the server is not running. It does this by working with the server to keep track of when it is activated and stores information on how to reactivate it. Method invocations on the server will actually be sent to the Implementation Repository, which will then be able to start the server process if it is not already running and forward the invocation to the real server.

In the pages here (and in most of the documentation written for it), Implementation Repository will often be shortened to ImplRepo or IMR. It used to be also shortened to IR, but that leads to confusion with the Interface Repository.


Resources

The IMR in TAO was first based on a paper on the subject by Michi Henning called Binding, Migration, and Scalability in CORBA. Mr. Henning later went on to coauthor the book Advanced CORBA Programming in C++ and included a chapter on the Implementation Repository. The description of the IMR in this chapter is used as the specification for TAO's IMR.

Users Guide - Overall documentation on how to use the IMR in your programs.

tao_imr Guide - Guide to the commands for the tao_imr application.

The Paper - A paper that has a general description of the IMR. This is also where to look to find information on the inner working of the IMR. Be warned, it was written a while ago and there has been several changes since then in the implementation.


The Future

As with any program, there is always a wishlist of things to do.

Feature Status
Environment Variables In the IDL interface, but not used on the server side or implemented in tao_imr.
Logical Server names In the IDL interface, but not used on the server side or fully implemented in tao_imr.
Server Shutdown Only cooperative shutdown implemented right now.
Client-side Optimizations Nothing planned yet
Server Security Nothing planned yet
Federations Nothing planned yet
DLL servers Nothing planned yet

Who wrote it?

The guy currently in charge of the IMR is Darrell Brunsch <brunsch@cs.wustl.edu>. You can reach me by either email (which is better), or through the ACE mailing list <ace-users@cs.wustl.edu>, or through the comp.soft-sys.ace newsgroup. The newsgroup mirrors the mailing list, but not the other way. Also, if you use the mailing list, it is best if you join it before sending a question since responses are usually just replied back to the group.


Back to the TAO Documentation.