Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1993-06-14
2001-05-01
Geckil, Mehmet B. (Department: 2152)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S203000, C709S202000
Reexamination Certificate
active
06226690
ABSTRACT:
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
TECHNICAL FIELD
The present invention relates to data processing systems and more particularly to communications between objects having different address spaces.
BACKGROUND ART
The development of programming for data processing systems has traditionally been a time consuming task. Object oriented programming (OOP) has emerged as a promising new technology which will allow more efficient development reuse and customization of new software programming. Object oriented programming shifts the emphasis of software development away from function decomposition and towards the recognition of units of software called “objects” which encapsulate both data and functions. As a result, programs become easier to maintain and enhance.
Yet despite its promise, object oriented technology has not penetrated major commercial software products to date. This is due in part because of the obstacles which the developer must confront when utilizing object oriented programming. A first obstacle that developers must confront is the choice of which object oriented programming language to use. The early expressions of object oriented programming concept focused on the creation of toolkits and languages, each of which are designed to exploit some particular aspect of OOP. So called pure object oriented languages such as SmallTalk use a runtime environment which will operate smoothly and consistently so long as the developer works within the supplied environment. However, when interacting with foreign environments, the objects must be reduced to data structures which do not retain the advantages which objects offer with regard to encapsulation and code use. Hybrid languages, such as C++ require less runtime support, but can result in tight bindings between the programs which provide the objects and the clients which use them. Tight binding implies that the client programs must be recompiled whenever simple changes are made to the library. The second obstacle is the disparity in concept among the plurality of different object oriented languages. That is, toolkits embrace different incompatible models of what objects are and how they work. The software developed using any particular language or tool kit is limited in scope. A program implemented in one language can rarely be used in another.
The System Object Module “SOM” is a new object oriented technology for building packaging and manipulating object oriented programs designed to unite various object oriented approaches. In SOM, the interfaces of the classes of objects, together with the names of the method they support, the return types, the parameter types and so forth, are specified in a standard language called the Interface Definition Language (IDL). The actual implementation of the object class can be performed in whatever programming language the developer prefers. The preferred programming language need not necessarily be an object oriented programming language, but might be a procedural language such as C. Thus, the advantages of object oriented programming can be extended to programmers of non-object oriented programming languages. SOM is described in greater detail in the
OS
2.20
SOM Guide and Reference,
a publication of the IBM Corporation, which is hereby incorporated by reference.
There also exists distributed OOP models which are extensions of standard OOP systems. Standard OOP systems are typically restricted to utilizing or making calls to objects within the same address space as the process utilizing or calling those objects. That is, a process typically cannot access objects located within other processes including where those other processes are located on the same or different host computers. However, distributed OOP systems allow processes to access objects located in remote address spaces including address spaces located in the same or other host systems. A standard for such distributed OOP systems currently exists called Common Object Request Broker Architecture (CORBA) and is described in
The Common Object Request Broker: Architecture and Specification,
published by the Object Management Group and X Open, which is hereby incorporated by reference. This architecture allows a process to make calls to objects in other address spaces, typically by constructing the necessary communication paths during compilation.
DISCLOSURE OF THE INVENTION
The present invention includes a method for a first process in a first address space to communicate with an object in a second address space including the steps of determining, during runtime of the first process, that a communication link is needed between the first process and a target object in the second address space, generating a proxy object in the first address space corresponding to the target object, and establishing the communication link between the first process and the target object through the proxy object. In addition, the present invention includes an apparatus for a first process in a first address space to communicate with an object in a second address space including apparatus for determining, during runtime of the first process, that a communication link is needed between the first process and a target object in the second address space, apparatus for generating a proxy object in the first address space corresponding to the target object, and apparatus for establishing the communication link between the first process and the target object through the proxy object.
A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings.
REFERENCES:
patent: 4825354 (1989-04-01), Agrawal et al.
patent: 5187790 (1993-02-01), East et al.
patent: 5249293 (1993-09-01), Schreiber et al.
patent: 5307490 (1994-04-01), Davidson et al.
patent: 5325527 (1994-06-01), Cwikowski et al.
patent: 5377350 (1994-12-01), Skinner
patent: 5481721 (1996-01-01), Serlet et al.
patent: 5497463 (1996-03-01), Stein et al.
Banda Venu
Campagnoni Frank Richard
Conner Michael Haden
Copeland George Prentice
Shepler Erin Elizabeth
Emile Volel
Felsman Bradley Vaden Gunter & Dillon, LLP
Geckil Mehmet B.
International Business Machines - Corporation
LandOfFree
Method and apparatus for utilizing proxy objects to... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for utilizing proxy objects to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for utilizing proxy objects to... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2560352