Managing accidental death of an object during communication...

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

06381653

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to a method making it possible for an object, which has opened up communication with another object, to be informed of accidental death of the other object. The invention is applicable to an object environment using Microsoft Corporation COM technology.
BACKGROUND OF THE INVENTION
The present invention is particularly applicable to the field of systems for supervising industrial processes. Conventionally, such a system acquires data in real time from various supervised items of equipment, and it presents information relating to said equipment on one or more terminals. Among other constraints, it is essential for the displayed information to be pertinent so that the operator in charge of monitoring the industrial process is able to make a good diagnosis of the state of the process.
Thus, when a connection between an item of equipment and the supervisory system is interrupted as a result of any kind of failure, the system must inform the operator within as short a lapse of time as possible.
Certain recent supervisory systems implement object-oriented architectures suitable for being distributed over a plurality of execution units.
FIG. 1
shows a typical architecture of a supervisory system. An item of equipment E is supervised by an object O
1
placed in an execution unit U
1
situated on the same site as the equipment. The object O
1
communicates by means of a network with an object O
2
placed in an execution unit U
2
situated on a remote site and whose purpose is to perform processing, in particular to display information intended for an operator.
In order to help to develop such object-oriented and distributed applications, various tools exist that are referred to under the general abbreviation DPE (for Distributed Processing Environment). The aim of DPEs is to free the developer from managing the locating of objects in a distributed architecture and from managing communications between said objects.
Two large families of DPE exist: one is based on the OMG (Open Management Group) specification and is referred to as CORBA (Common Object Request Broker Architecture), and the other is built around the COM (Component Object Model) product designed by the Microsoft Corporation.
In its first version, COM managed the distribution of the objects over a set of processes situated on a single execution unit only (e.g. on a single computer). A second version, referred to as DCOM (Distributed Component Object Model) makes it possible to obtain a second level of distribution by managing the distribution of the objects within a plurality of execution units.
The present invention applies both to COM and to DCOM so that, in the remainder of the description, reference is made to the acronym COM only to cover both versions.
FIG. 2
shows the mechanism offered by COM for managing accidental death of an object. As explained below, that mechanism is insufficient in many cases.
Each time that a client object X opens up communication with a server object Y, it calls on a specific function offered by COM, referred to as “AddRef”, and whose purpose is to increment a counter associated with the server object Y. On normal ending of the communication, the client server Y calls on another function offered by COM, referred to as “Release”, and whose purpose is to decrement the same counter. When the counter is equal to zero, that means that there is no longer any communication open to the server object Y; in other words, no client object requires the services of the server object Y. It is thus possible to release the resources occupied by the server object Y.
When the client object X dies accidentally, it can no longer call on the “Release” function to decrement the counter associated with the server object. However, the COM infrastructure detects accidental death of the client object X and takes care of calling on the “Release” function so as to guarantee that the value of the counter is pertinent.
For more information on the mechanisms specific to COM, reference may be made to the document entitled “The Component Object Model Specification” published by Microsoft Corporation. That document is available from Microsoft Corp., in particular on the Internet site whose address is as follows:
http://www.microsoft.com/oledev/olecom/title.html
Reference may also be made to the rather didactic document by Sara Williams and Charlie Kindel, “The Component Object Model—The Foundation for OLE Services”, published in Dr Dobb's Special Report, winter 1994/95, vol. 14, No. 16, pages 14 to 22.
As mentioned above, that mechanism is insufficient because it does not enable the client object X to be informed of accidental death of the server object Y. In fact, the relationship between the objects is the opposite of what it needs to be.
In addition, when an object is in communication with a plurality of other objects, COM calling on the “Release” function in the event of accidental death of one of the objects does not enable the object to know which of the other objects has accidentally died. The only information supplied is that one object among the set of server objects has just died.
OBJECTS AND SUMMARY OF THE INVENTION
As mentioned above, there is a problem in a supervisory system because the displayed information is no longer up to date, while the operator has not been informed that this is the case, but that insufficiency has repercussions on other technical fields, such as, for example, network management. Therefore, the invention is not to be understood as limiting itself to the field of industrial process supervision. On the contrary, the scope of the present invention is very general, and an aim of the present invention is to propose a method enabling any first object that has opened communication with a second object to be informed in the event of accidental death of said second object.
In the method of the invention:
said first object creates an intermediate object and sends a message containing a reference of said intermediate object to said second object; and
said second object calls on an “AddRef” method offered by COM, with a reference of said intermediate object (W) as a parameter;
if the second object incurs accidental death, COM calls on a “Release” method for releasing said intermediate object, said intermediate object sends a message to said first object informing it of the accidental death of said second object.


REFERENCES:
patent: 2305271 (1997-04-01), None
Chappell, David. “Understanding ActiveX and OLE, A Guide for Developers & Managers”. Microsoft Press, Chapters 2 and 10, Sep. 1996.*
(Chappell,1) Chappell, David. “Understanding ActiveX and OLE”. pp. 56-64, Sep. 1996.*
(Chappell,2) Chappell, David. “The Joy of Reference Counting” p. 1-6, Aug. 1997.*
(CORBA) . CORBAservices, Chapter 6, “LifeCycle Service Specification”, Sep. 1996.*
(Chappell) Chappell, David. “Understanding ActiveX and OLE” Microsoft Press, Sep. 1996.*
Microsoft Corporation “The Component Object Model Specification”, Mar. 1995.*
S. Williams et al, “The Component Object Model—the Foundation for OLE services”, Dr. Dobb's Special Report, Winter 1994/95, pp. 14-22.

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

Managing accidental death of an object during communication... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Managing accidental death of an object during communication..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Managing accidental death of an object during communication... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2831282

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