System and method for dynamic generation of remote proxies

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000

Reexamination Certificate

active

06549955

ABSTRACT:

TECHNICAL FIELD OF THE INVENTION
This invention relates in general to the field of software systems, and more particularly to an improved system and method for dynamic generation of remote proxy classes within a distributed object management system.
BACKGROUND OF THE INVENTION
Object oriented programming is a method of programming which abstracts a computer program into manageable sections. The key to object oriented programming is the concept of encapsulation. Encapsulation is a method by which the subroutines, or methods, that manipulate data are combined with the declaration and storage of that data. This encapsulation prevents the data from arbitrarily being accessed by other program subroutines, or objects. When an object is invoked, the associated data is available and can be manipulated by any of the methods which are defined within the object to act upon the data. The basic component of encapsulation is a class. A class is an abstraction for a set of objects that share the same structure and behavior. An object is a single instance of a class that retains the structure and behavior of the class. Objects also contain methods which are the processes by which an object is instructed to perform some procedure or manipulation of data which it controls. Classes may also be characterized by their interface which defines the elements necessary for proper communication between objects.
Distributed computing allows an object on one computer system to seamlessly communicate with and manipulate an object contained in a second computer system when these computers are connected with a computer network. This second computer system may also be referred to as another address space. Sophisticated distributed computing systems have removed the communications burden from the computer programs, or objects in an object oriented programming environment, and placed it in a mid-level operating system which purpose is to manage communications across a computer network to facilitate a client's access to and manipulation of data contained on a server system, for example, a computer remote to the user in a different address space.
Distributed computing and object oriented programming have led to the development of distributed object management systems. When an object on a client computer system requests access to an object which exists only on a server computer system, the distributed object management system steps in to facilitate the communication between the two computer systems and, thus, between the two objects. The distributed object management system removes the requirement of the object on the client system communicating directly with the object on the server system. Instead, current distributed object management systems create a remote proxy object on the client system which models the interface of the object which exists on the server system. The client computer system which requested access to the remote object communicates with the remote proxy object which now exists on the client computer system. Therefore, the client computer system can operate as if it is communicating directly with a local object. The remote proxy object contains the necessary communications information to allow the client computer system to access and manipulate an object which actually exists on the server computer system. Remote proxies allow the client system to disregard the location of the requested object and the communication details.
A proxy is an object which has an interface and method list identical to another object. However, it does not contain the same detail computer programming. Instead it contains communications requirements which allow the proxy to communicate directly with another object without the knowledge of the first object. Proxies can be used to control access to certain objects. They may also be used to remove the labor of distributed processing communications from local objects. For example, if object A which resides on a first computer system needs to communicate with object B which resides on a second computer system, object A must know the location of object B and have the necessary computer code to initiate communications with object B located on the second computer system. A proxy for object B located on the first computer system allows object A to simply communicate with the proxy of object B as if object B resided on the same computer. The proxy for Object B has all the necessary information and computer code to communicate with the real object B on the second computer system. This type of proxy is known as a remote proxy since it exists on a computer system remote from the computer system which contains the requested object.
Systems heretofore known have required all possible remote proxies to be built when the software system is initially compiled and loaded onto a computer. This process can be very time consuming and the resultant remote proxies can require large amounts of computer storage. In addition, software system designers must predict every possible remote proxy which may be needed in the future so that it can be built when the software system is loaded. This process does not allow a system to adapt to its usage and environment.
SUMMARY OF THE INVENTION
Accordingly, a need has arisen for a software system in the area of distributed processing which reduces the time and expense required to build, load and store a distributed object management system.
According to one embodiment of the present invention, a software system is provided that comprises a client system and server system that communicate via a distributed computer network utilizing a distributed object management system. The distributed object management system also comprises a remote proxy generator to dynamically generate at run time remote proxy classes as needed for inter-object communications within the distributed computer network.
One important technical advantage of the present invention inheres in the fact that it decreases development time and increases developer productivity since the developer does not have to manually generate the remote proxy classes when the system is initially installed or when the subject class is modified in the future. Other technical advantages include reduced initial system build time and reduced disk storage space required to store the application programs.


REFERENCES:
patent: 5511197 (1996-04-01), Hill et al.
patent: 5577251 (1996-11-01), Hamilton et al.
patent: 5781633 (1998-07-01), Tribble et al.
patent: 5793965 (1998-08-01), Vanderbilt et al.
patent: 6157960 (2000-12-01), Kaminsky et al.
patent: 6182153 (2001-01-01), Hollberg et al.
patent: 6182154 (2001-01-01), Campagnoni et al.
patent: 6182155 (2001-01-01), Cheng et al.
patent: 6230160 (2001-05-01), Chan et al.
patent: 0 727 739 (1996-08-01), None
patent: 2 326 255 (1998-12-01), None
“Improved Process for Visual Development of Clint/Server Programs”, XP-000772108, IBM Technical Disclosure Bulletin, vol. 41, No. 1 Jan. 1998, pp. 281-283.
“Passing Proxies as Parameters to Methods and Return Values from Methods”, XP-000772037, IBM Technical Disclosure Bulletin, vol. 41, No. 1, Jan. 1998, pp. 89-92.
“Distributed Object Activation and Communication Protocols”, IBM Technical Disclosure Bulletin, vol. 37, No. 7, Jul. 1994, pp. 539-542.
(no author given) “Java RMI Tutorial” Revision 1.3, JDK 1.1 FCS, Sun Microsystems, pp. 1-14, Feb. 10, 1997.*
(no author given) “The Component Object Model (DRAFT) Specification” Microsoft Corporation, pp. 1-4, 39-46, Mar. 6, 1995.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for dynamic generation of remote proxies does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for dynamic generation of remote proxies, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for dynamic generation of remote proxies will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3047810

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.