Methods and apparatus for managing computer processes

Electrical computers and digital processing systems: interprogra – Interprogram communication using message – Agent

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C719S316000, C709S202000, C709S219000

Reexamination Certificate

active

06769125

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates to the fields of distributed computing systems, client-server computing and object-oriented programming. More specifically, the present invention teaches methods, apparatus, and data structures for managing computer processes.
Object oriented programming methodologies have received increasing attention over the past several years in response to the growing tendency for software developed using traditional programming methods to be delivered late and over budget. This stems from the fact that traditional programming techniques which emphasize procedural models and “linear” code tend to be difficult to design and maintain in many circumstances. Generally, large programs created using traditional methods are “brittle”. That is, even small changes can effect numerous elements of the programming code. Thus, minor changes made to the software in response to user demands can require major redesign and rewriting of the entire program.
Object oriented programming strategies tend to avoid these problems because object methodologies focus on manipulating data rather than procedures; thus providing the programmer with a more intuitive approach to modeling real world problems. In addition objects encapsulate related data and procedures so as to hide that information from the remainder of the program by allowing access to the data and procedures only through the object's interface. Hence changes to the data and or procedures of the object are relatively isolated from the remainder of the program. This provides code that is more easily maintained as compared to code written using traditional methods, as changes to an object's code do not affect the code in the other objects. In addition, the inherent modular nature of objects allows individual objects to be reused in different programs. Thus, programmers can develop libraries of “tried and true” objects that can be used over and over again in different applications. This increases software reliability while decreasing development time, as reliable programming code may be used repeatedly.
A more recent advance in the field of object oriented methodologies has been the implementation of distributed object operating environments over computers interconnected via a computer network. As used herein, the term “distributed object” or “object” refers to an encapsulated package of code and data that can be manipulated by operations through an interface. Thus, distributed objects will be seen by those skilled in the art of object oriented programming (OOP) as including the basic properties that define traditional programming objects. However, distributed objects differ from traditional programming objects by the inclusion of two important features. First, distributed objects are multilingual. That is, the interfaces of distributed objects are defined using an interface definition language that can be mapped to a variety of different programming languages. One such interface definition language is IDL. Second, distributed objects are location-independent, i.e., distributed objects can be located anywhere in a network. This contrasts sharply with traditional programming objects which typically exist in a single address space.
Distributed objects can be object clients or object servers, depending upon whether they are sending requests to other objects or replying to requests from clients. In a distributed object environment, requests and replies are made through an Object Request Broker (ORB) that is aware of the locations and status of the objects. One architecture which is suitable for implementing such an ORB is provided by the Common Object Request Broker Architecture (CORBA) specification. The CORBA specification was developed by the Object Management Group (OMG) to define the distributed computing environment world in terms of objects in a distributed client-server environment, where server objects are capable of providing services to clients requesting the service. In the following discussion, the terms “object” and “distributed object” will be used interchangeably.
When a client calls a target object, certain procedures must be performed to ensure that the target object can perform the requested service(s). These procedures include identifying and locating the target object, starting the server process (if necessary) under which the target object resides, activating the target object if necessary, and, finally, establishing a connection with the target object and passing the call. The ORB would be ideal for managing server processes at all stages, including starting and registering the server processes. What is needed is a framework for managing server processes under a distributed object operating environment.
SUMMARY OF THE INVENTION
To achieve the foregoing and other objectives and in accordance with the purpose of the present invention, methods, apparatus and data structures for managing computer processes are taught. According to one aspect of the invention a daemon process for use on a computer system in a distributed object operating environment, said distributed object operating environment including a plurality of distributed objects which are intended to reside in a corresponding plurality of server processes, said daemon process operable to manage that portion of said plurality of distributed objects which reside on said computer system and that portion of said plurality of server processes which execute on said computer system is described. The daemon process including an active server table arranged to maintain entries regarding a plurality of server processes, said entries including a server identifier, a server process state, and server process addressing information, wherein each server process that is active on said computer system has an entry in said active server table and a first active server process has at least one target object capable of providing service. The process also includes a locator service operable to access said active server table to provide server process addressing information for said plurality of server processes, said locator service further operable to register a server process in said active server table.
In another embodiment, an apparatus for managing a plurality of server processes which are intended to execute on a computer system for use in a distributed object operating environment, said distributed object operating environment providing clients access to the services of remote distributed objects through the use of surrogate objects, said method performed by a daemon process resident on said computer system, is described. The apparatus includes means for receiving under computer control a look-up call for a target object, said look-up call originating from a client, wherein when said client resides on a remote computer system, said client originates said look-up call indirectly by invoking a surrogate object corresponding to said target object, said surrogate object residing on said remote computer system, means for determining under computer control a state of a server process corresponding to said target object, said server process uniquely defined within said computer system by said server identifier, and means for returning under computer control addressing information corresponding to said server process to said client, wherein when said client resides on a remote computer, said surrogate object is the recipient of said addressing information.
In one embodiment, the daemon process also has an object adapter database resident therein. In additional embodiments, the object adapter database is resident elsewhere in the distributed object operating environment. One specific embodiment has the object adapter database in a separate process running on the host computer. The object adapter database includes data elements such as target object identifiers, server identifiers each corresponding to at least one target object identifier, and object references, each object reference corresponding to a target object identifier. In furth

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

Methods and apparatus for managing computer processes does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Methods and apparatus for managing computer processes, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for managing computer processes will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3227444

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