Object access mechanism that dynamically switches between...

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

Reexamination Certificate

active

06633922

ABSTRACT:

FIELD OF THE INVENTION
The present invention generally relates to data processing systems. More particularly, the present invention relates to remote object access mechanisms.
BACKGROUND OF THE INVENTION
In the years since their inception, computer systems have become more and more popular. This popularity stems from the fact that computers can be used to perform a variety of complex tasks in an efficient manner. The mechanisms used by computer systems to perform these complex tasks are called computer programs.
Like computer systems themselves, the development of computer programs has been an evolutionary process. Early computer systems used what was called a “one address” computer programming language. This language allowed for only the most rudimentary computer programs. By the 1960s, however, computer programs had become so large and complex that it was difficult to manage and control their development and maintenance. Therefore, the focus of the 1970's was on the development of programming methodologies and environments that could better accommodate the increasing complexity and cost of large computer programs. One such methodology is known in the industry as Object-Oriented Programming (OOP). Though it has been some time since the fundamental notions of OOP were first developed, OOP systems are becoming more and more prevalent because it is felt that the use of OOP can greatly increase the efficiency of computer programmers.
As its name suggests, objects are central to OOP technology. A single object represents an individual operation or a group of operations that are performed by a computer system upon information controlled by the object. Objects can be thought of as autonomous agents that work together to perform certain tasks. A single object represents an individual operation or a group of operations that are performed by a computer system upon information controlled by the object. The operations of objects are called “methods” and the information controlled by objects is called “object data” or just “data.” Methods and object data are said to be “encapsulated” in the object.
When a method of one object needs access to the data controlled by a second object, it is considered to be a client of the second object. To access the data controlled by the second object, one of the methods of the client (i.e., a client method) will call or invoke the second object to gain access to the data controlled by that object. One of the methods of the called object (i.e., a server method in this case) is then used to access and/or manipulate the data controlled by the called object. Sometimes entire computer programs are made up of groupings of objects and sometimes objects are simply accessed by more traditional computer programs to perform one specific task or subtask. Regardless of whether an object is accessed by another object or by a more traditional computer program, the object which contains the method that is being called is said to be a server object and the accessing entity is said to be a client of that object.
Objects are further characterized as being either transient or persistent and as either being local or remote. A transient object is a server object that is created upon request by a client and that exists only so long as the requesting client object has a need for it. By contrast, a persistent object is an object that remains available for use by different clients until it is expressly destroyed. A server object is said to be local if it resides on the same computer system as the client program. A server object is said to be a remote object when it is located on different computer system than the client programs that it serves. Client programs communicate with remote server objects through the use of what are termed “remote object access mechanisms.” These mechanisms are very important because they are the backbone upon which distributed object computing is based.
There are currently two basic types of remote object access models that are used within the various segments of the computer industry. Although these two models are often described using differing terminology, they are referred to within this patent document as “page shipping” and “function shipping.” Page shipping is currently most strongly associated with Object-Oriented Database (OODB) providers such as Object Development Inc. (ODI) and Versant Object Technology Inc. Function shipping, which is a newer approach, is an attempt at standardization that is supported by a group called OMG. OMG, which stands for Object Management Group, is composed of a group of software Vendors that includes IBM, Digital Equipment Corporation, Hewlett-Packard and others.
Each model is known in the industry to have certain strengths and certain weaknesses. For example, the page shipping model, which performs well when a server object or set of server objects is repeatedly accessed by a client program on the same computer system, does not perform well in situations where client programs on different computer systems demand simultaneous access to the same server object or set of server objects. The function shipping model, on the other hand, does perform relatively well in situations where client programs on different computer systems demand simultaneous access to the same server object or set of server objects, but does not perform well in the more typical repeated access situation.
Another problem with the two remote object access models is that programmers are forced to write their programs differently under, each model. This lack of uniformity means that programs must be explicitly rewritten and recompiled to operate under a different model. Stated another way, programs that are written using the page shipping model cannot be used with the function shipping model and programs written using the function shipping model cannot use the page shipping model.
While industry experts are able to debate the respective strengths and weaknesses of each of these remote object access mechanisms, the basic truth is that the potential of distributed object computing will never be fully realized without a remote access mechanism that maximizes the benefits of each of the two models without suffering from each model's inherent shortcomings.
SUMMARY OF THE INVENTION
The preferred embodiment of the present invention involves a shipper mechanism that serves remote object access requests in accordance with either the page shipping model or the function shipping model. The shipper operates under the page shipping model in the standard way, but services clients under the function shipping model by page shipping prebuilt pages, which we term proxy pages. As its name suggests, a proxy page is a shippable memory page that contains proxy objects. The shipper mechanism also includes a switch submechanism that dynamically switches between the two models based on a variety of network and computer system factors (called environment factors), while nevertheless providing a single, consistent interface to the programs it serves.


REFERENCES:
patent: 4633387 (1986-12-01), Hartung et al.
patent: 5222217 (1993-06-01), Blount et al.
patent: 5247632 (1993-09-01), Newman
patent: 5347632 (1994-09-01), Filepp et al.
patent: 5359730 (1994-10-01), Marron
patent: 5421015 (1995-05-01), Khoyi et al.
patent: 5724538 (1998-03-01), Morris et al.
patent: 5727159 (1998-03-01), Kikinis
patent: 5754818 (1998-05-01), Mohamed
patent: 5781857 (1998-07-01), Hwang et al.
patent: 5862328 (1999-01-01), Colyer
patent: 5872971 (1999-02-01), Knapman et al.
Dave et al. “Proxies, Application Interfaces, and Distributed Systems”, pp 212-220, IEEE, Sep. 1992.*
John Rymer, “Distributed object interoperability”, Distributed computing monitor, v10, n3 p3(26) 1995.*
John Rymer, “OMG's UNO: object system interoperability at last”, Distributed computing Monitor v9 n12 p32(8) 1994.*
K. Dick, “Object Databases and the Web,” Object Magazine, p. 59.
A. Ewald et al., “Bringing Objects to You,” Object Magazine, pp. 69-70.
T. Atwood, “Object Databases Come of Age,” Object Magazine, Ju

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

Object access mechanism that dynamically switches between... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Object access mechanism that dynamically switches between..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object access mechanism that dynamically switches between... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3127830

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