Mechanism for dispatching requests in a distributed object...

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

06189048

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates to the fields of distributed computing systems, client-server computing, and object-oriented programming. More particularly, the invention relates to methods and devices for dispatching a distributed object invocation.
2. Description of Prior Art
A computing environment in which objects located on different computers are linked by a network is typically referred to as a client-server computing environment. Some of the computers act as providers of services or functionality to other computers. Others of the computers act as consumers of services or functionalities. The providers of service or functionality are known as“servers”, and the consumers of the service or functionality are called“clients”. The client-server model may also be generalized to the case where distinct programs running on the same computer are communicating with one another through some protected mechanism and are acting as providers and consumers of service or functionality.
Attempts to provide such a distributed system have been made using object-oriented methodologies that are based upon a client-server model in which server objects provide interfaces to client objects that make requests of the server objects. Typically, in such a distributed system, the servers are objects consisting of data and associated methods. The client objects obtain access to the functionalities of the server objects by executing calls on them, which calls are mediated by the distributed system. When the server object receives a call, it executes the appropriate method and transmits the result back to the client object. The client object and server object communicate through an Object Request Broker (ORB) which is used to locate the various distributed objects and to establish communications between objects. Distributed objects may exist anywhere in a network, as for example in the address space of the client, in multiple address spaces on the client machine, and in multiple machines across the network.
The software industry has responded to the need for a distributed object technology by forming the Object Management Group (OMG). The goal of the OMG is to define the Object Management Architecture (OMA), which has four major components: the Object Request Broker (ORB), Object Services, Common Facilities, and Application Objects. The Object Request Broker provides basic object communications and management services, thereby forming the basis of a distributed object system. A standard for an Object Request Broker is contained in the Common Object Request Broker Architecture (CORBA) specification.
In typical client-server systems, performance overhead can be costly. That is, the speed and quality of a process within the system may be compromised by inefficient uses of application code and methods associated with gathering information from the process and with routing information within a process. By way of example, the performance overhead associated with dispatching requests on the server side of a system is often relatively high. Further, the internal dispatch framework within a client-server system is typically such that any change to the framework requires substantial changes to be made in application code. That is, by way of example, if it is desired for the relationship between a given transport and a skeleton to be altered, a significant amount of the internal dispatch framework, and, hence, the application code must be changed in most instances. Further, client-server systems typically do not efficiently include and execute application code provided by a developer. In other words, customizing an internal dispatch framework is often inefficient. As a result, there is a limited amount of flexibility in a typical internal dispatch framework. Consequently, the provision of methods and devices which would reduce the performance overhead associated with dispatching requests on the server side of a system and improve the flexibility of the internal dispatch framework is desirable.
SUMMARY OF THE INVENTION
To achieve the foregoing and in accordance with the purpose of the present invention, data structures, methods and devices for reducing computing overhead associated with dispatching a distributed object invocation and improving the flexibility of the dispatch framework in a distributed client/server based object oriented operating system are disclosed. In one aspect of the invention, a request received on an end point in a transport layer is dispatched from the transport layer to a subcontract in a subcontract layer where the request is partially unmarshaled. The partially unmarshaled request is then dispatched from the subcontract to a skeleton function in a skeleton layer where a servant is invoked. In some embodiments, the transport layer does not perform any unmarshaling functions and the dispatch of the request from the transport layer to the subcontract layer is accomplished by invoking a closure which identifies a marshal buffer which holds the request.
In other embodiments, the skeleton function in the skeleton layer is arranged to unmarshal at least a part of the partially unmarshaled request. In alternative embodiments, additional layers may also be provided in order to further increase the system's modularity. By way of example, the subcontract layer ma y be subdivided into a two or more sublayers.
In another aspect of the invention, a method for initializing a subcontract which includes a skeleton dispatch function arranged to dispatch a received request to an appropriate skeleton after the subcontract has unmarshaled at least a portion of the received request is disclosed. The subcontract initialization includes the steps of creating a subcontract meta object associated with the subcontract and storing the subcontract meta object in a subcontract registry. In some embodiments, a dedicated end point associated with the subcontract is initialized. In others, the subcontract is registered with at least one cluster end point registry and a unique end point with which the cluster end point registry is associated.
In still another aspect of the invention, an end point dispatch registry data structure includes a subcontract identifier arranged to identify an associated subcontract and a closure arranged to identify a dispatch function associated with the subcontract. In some embodiments, the closure includes a pointer to the dispatch function and a pointer to a data element which contains information used by the dispatch function.


REFERENCES:
patent: 5737607 (1998-04-01), Lim et al.
The Common Object Request Broker Architecture and Specification, OMG, pp. 2-1 2-16 and 5-1 -5-4 , Jul. 1995.
OMG TC Document 95.3.xx [Revised 1.8 jm], “Corba 2.0/Interoperability: Universal Networked Objects” (Mar. 20, 1995), OMG, pp. 1-79.

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

Mechanism for dispatching requests in a distributed object... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Mechanism for dispatching requests in a distributed object..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Mechanism for dispatching requests in a distributed object... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2607650

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