Method and apparatus for transporting behavior in an...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C709S241000

Reexamination Certificate

active

06463446

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to a distributed computer system and more specifically to event handling procedures in a distributed computer system.
BACKGROUND OF THE INVENTION
Distributed computer systems are systems in which the programming and data that the computer operates on are spread out over more than one computer, usually over a network with many computers. One conventional method for organizing a distributed system uses the client-server model, in which one part of the distributed system (the client) asks for some service from another part of the distributed system (the server). The server responds and then handles the client's request appropriately.
Under the client-server model, when the client encounters a procedure located at the server, the procedure may be implemented using some form of a Remote Procedure Call (RPC): the client informs the server that it would like the procedure executed using certain parameters, the server executes the procedure, and the server returns the results of the execution to the client.
An alternative method for organizing distributed systems uses the event
otification model. In this model, a “listener” process, which is interested in the occurrence of an event within another entity within the system, registers its interest with a second process, a “notifier” process, designed to monitor such events. When the event occurs, the notifier notifies the listener or notifies another process (i.e., a third party process) designated by the listener when registering with the notifier. After receiving the event notification, that notified entity (i.e., the listener or the third party listener, as the case may be) may execute a function designated in the notification and present in the address space of the notified process. In the event-notification model, there is no single point of control as in the client-server model; instead, control is determined by notifications sent in response to the occurrence of designated events.
In a non-distributed system, the association of an event with the function to be run in response to the notification, called a callback function, is straightforward, since the event, the listener, and the callback function are all in a single address space. Life is not so simple in a distributed system. The listener may be in one address space or physical machine, the event may be generated in a second address space or physical machine (e.g., the address space of the notifier or an address space that the notifier monitors), and the notification may be sent to a third address space or physical machine (e.g., the address space of the third party process). This makes it difficult for the listener to insure that the third party process will be able to respond to the event in an appropriate manner, as the two may be separated and, possibly, might not even know of the other's existence. For example, the listener, to ensure that the correct function is executed by the third party, must keep track of whether the function is available in the third party's address space. This can be particularly burdensome when an administrator desires to update functions in the third party's address space, as all the potential distributed users of the new function must be updated on the status of the new function.
Thus, there is a need in the art to more effectively handle distributed programs collaborating using the event-notification model. This need is particularly poignant in systems in which the requesting entity is not able to easily verify the status of a function present at the executing entity.
SUMMARY OF THE INVENTION
Objects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
To achieve the objects and in accordance with the purpose of the invention, as embodied and broadly described herein, a first aspect consistent with the present invention includes a method for controlling program execution in a distributed computer system comprising the steps of: (1) registering interest in an occurrence of an event in the distributed computer system, the registration of interest including information identifying the occurrence of the event, an identifier of a software entity in the distributed system, and a first object including a process and parameter data corresponding to the process; (2) monitoring at least a portion of the distributed computer system for the occurrence of the registered event; (3) notifying the software entity identified in the registration of interest when the event occurs, the notification including a copy of the first object and an identification of the event that occurred; and (4) executing methods contained within the first object in response to the notifying step.
To achieve the objects and in accordance with the purpose of the invention, as embodied and broadly described herein, a second aspect consistent with the present invention includes a protocol for controlling the execution of processes in a distributed computer system, the protocol comprises a number of steps, including: (1) receiving a registration of interest in an event that is expected to occur in the distributed computer system, the registration including an identifier of a instructions for performing a process and parameter data corresponding to the process; (2) monitoring the distributed system for the occurrence of the registered event; and (3) notifying the software entity identified in the registration of interest when the event occurs, the notification including a copy of the first object and an identification of the event that occurred.
A third aspect of the present invention is a computer system comprising memories having first, second, and third virtual machines, respectively. The second virtual machine executes a process that receives, from the first virtual machine, a registration of interest in an event and transmits a message in response to the occurrence of the event, the registration of interest and the message including an object. The third virtual machine receives the message and executes methods contained within the object.
Additional aspects of the present invention, related to the first aspect, are directed to a computer readable medium and a computer data signal embodied in a carrier wave.


REFERENCES:
patent: 4491946 (1985-01-01), Kryskow, Jr. et al.
patent: 4713806 (1987-12-01), Oberlander et al.
patent: 4809160 (1989-02-01), Mahon et al.
patent: 4823122 (1989-04-01), Mann et al.
patent: 4939638 (1990-07-01), Stephenson et al.
patent: 4956773 (1990-09-01), Saito et al.
patent: 5088036 (1992-02-01), Ellis et al.
patent: 5109486 (1992-04-01), Seymour
patent: 5187787 (1993-02-01), Skeen et al.
patent: 5218699 (1993-06-01), Brandle et al.
patent: 5257369 (1993-10-01), Skeen et al.
patent: 5293614 (1994-03-01), Ferguson et al.
patent: 5297283 (1994-03-01), Kelly et al.
patent: 5307490 (1994-04-01), Davidson et al.
patent: 5311591 (1994-05-01), Fischer
patent: 5339435 (1994-08-01), Lubkin et al.
patent: 5386568 (1995-01-01), Wold et al.
patent: 5390328 (1995-02-01), Frey et al.
patent: 5423042 (1995-06-01), Jalili et al.
patent: 5440744 (1995-08-01), Jacobson et al.
patent: 5448740 (1995-09-01), Kiri et al.
patent: 5452459 (1995-09-01), Drury et al.
patent: 5455952 (1995-10-01), Gjovaag
patent: 5471629 (1995-11-01), Risch
patent: 5475792 (1995-12-01), Stanford et al.
patent: 5481721 (1996-01-01), Serlet et al.
patent: 5504921 (1996-04-01), Dev et al.
patent: 5511197 (1996-04-01), Hill et al.
patent: 5524244 (1996-06-01), Robinson et al.
patent: 5548726 (1996-08-01), Pettus
patent: 5553282 (1996-09-01), Parrish et al.
patent: 5555367 (1996-09-01), Premerlani et al.
patent: 5555427 (1996-09-01), Aoe et al.
patent: 5557798 (1996-09-01), Skeen et al.
patent: 5560003 (1996-09-01), Nilsen et al.
patent:

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

Method and apparatus for transporting behavior in an... 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 transporting behavior in an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for transporting behavior in an... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2947366

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