Method for instantiating a class having different versions

Electrical computers and digital processing systems: multicomput – Distributed data processing – Processing agent

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S223000, C709S241000

Reexamination Certificate

active

06175855

ABSTRACT:

BACKGROUND OF THE INVENTION
The invention concerns a method for instantiating (representative by a concrete instance) a class having different versions that is defined in an object-oriented programming language.
A (software) agent system essentially has two components, the agent platform and the agent itself. A monitoring and administration tool is often also present as a third component. An agent (also called a robot, wanderer or spider in the Internet) is a program that, equipped with the rights of a particular user, exists unsupervised for a time dependent on the concrete function to be fulfilled, and during this time can meet with other agents and work together with them. So that an agent does not paralyze computer systems in the manner of a virus, it must “identify” itself, and is permitted to have only a finite life span.
In general, two types of agents are distinguished. A stationary agent is executed by only one computer from the beginning of the program up to its end. In contrast, a mobile agent is executed by different computers at different times in its life cycle. An agent platform must exist on the computers that are supposed to be reachable for the agents. This agent platform provides the agent with, among other things, services for migration, (controlled) system access and message transmission and reception. The monitoring and administration tool enables the manual start of agents, the overview of data collected by agents and the display of other items of information concerning the agent system.
During its running time, a system of mobile agents can be distributed to many computers within a network. For this purpose, it is the case both that a platform is necessary at each (node) computer in the network, and that agents, data structures and message objects can move from computer to computer. If, in the course of the software life cycle, errors are detected in one of these (sub-) programs, or if parts of the software are changed for other reasons (e.g. improvement of algorithms, adaptation to changed environment, and, with limitations, change of function as well), then under some circumstances a termination, and, after the corresponding changes, a subsequent restart of the overall system can be required.
SUMMARY OF THE INVENTION
An object of the invention is to be able to carry out changes having different versions in system parts even during the running time of the software system, whereby these changes are gradually to come to prevail in the system as a whole.
According to the invention, a method is provided for instantiating a class having different versions defined in an object-oriented programming language. A computer network is provided in which computers are arranged in distributed fashion in a network connection, a platform for operation of mobile software agents being provided by each of the computers. In a first step 1a, if a particular version of an instantiatable class is requested, the requested version is used and a jump is made to a third step 1c. In a second step 1b, otherwise, using a newest version of the instantiatable class, the platform investigates whether the newest version is already locally available, and, if warranted, a jump is made to a fourth step 1d, otherwise, a class definition of a corresponding version is retrieved from a class file server and a jump is made to the fourth step 1d. In a third step 1c, if the class definition of the corresponding version is already locally available, the jump is made to the fourth step 1d, otherwise a search is made for the class definition, and if the class definition is found, a jump is made to the fourth step 1d, otherwise, the class is not instantiated. In the fourth step 1d, the class is instantiated according to a version to be used of the class definition.
The method of the invention thus makes it possible to carry out changes in system parts even during the running time, whereby these changes then spread out step-by-step in the overall system. A distinction between the different program parts is possible by integrating a version administration into the design of the dynamic updating. In this way, it is for example possible, given distributed software development, to integrate standardly used version administration systems and the information thus present concerning the different versions.
Java can be used as a programming language for implementing the mobile agent system. It is equally possible to use any other programming language that provides a dynamic loading of classes. Relevant expansions of programming languages, such as for example C++, are also conceivable.
According to the demands made, the classes for the platform, the agents and various objects referenced by them (among others, data structures and messages) should be versionable. By “platform” is meant, for example, any computer system that can act as a node in the network and that creates a program interface (operating software) for the (software) agents.
If changes are carried out in non-faulty classes, e.g. with respect to efficiency, the old versions of the objects should terminate their work as provided. There is thus the possibility of the simultaneous existence of objects of different versions alongside one another, which in turn reference objects of different versions. It is thus necessary to provide the old class definitions parallel to new class definitions, at least up to the “dying out” of all objects of one version, as well as of the objects referencing them. In faulty versions, in contrast, the possibility can be created of the annihilation of all objects of the old version as rapidly as possible after the importing of the new class.
For the selection of the respective “matching” version of the required class, a separate class loader mechanism is necessary.
The method of the invention for the dynamic updating, having different versions, of classes of a mobile agent system comprises the updating of the platform, the updating of classes having different versions, and the instantiation of an object of a class having different versions.


REFERENCES:
patent: 5317688 (1994-05-01), Watson et al.
patent: 5404525 (1995-04-01), Endicott et al.
patent: 5421016 (1995-05-01), Conner et al.
patent: 5499365 (1996-03-01), Anderson et al.
patent: 5551029 (1996-08-01), Jagadish et al.
patent: 5555418 (1996-09-01), Nilsson et al.
patent: 5557793 (1996-09-01), Koerber
patent: 5630066 (1997-05-01), Gosling
patent: 5630135 (1997-05-01), Orimo et al.
patent: 5659736 (1997-08-01), Hasegawa et al.
patent: 5684984 (1997-11-01), Jones et al.
patent: 5692195 (1997-11-01), Conner et al.
patent: 5710894 (1998-01-01), Maulsby et al.
patent: 5729744 (1998-03-01), Gerken et al.
patent: 5764992 (1998-06-01), Kullick et al.
patent: 5774723 (1998-06-01), Endicott et al.
patent: 5794030 (1998-08-01), Morsi et al.
patent: 5802367 (1998-09-01), Held et al.
patent: 5802524 (1998-09-01), FLowers et al.
patent: 5862325 (1999-01-01), Reed et al.
patent: 5867709 (1999-02-01), Klencke
patent: 5905987 (1999-05-01), Shutt et al.
patent: 5978577 (1999-11-01), Rierden et al.
patent: 0 747 811 (1996-11-01), None
“Intelligent Agents: An Emerging Technology for Next Generation Telecommunications?”-Magedanz et al—INFOCOM '96, Mar. 24-28, 1996, San Francisco CA, USA, p. 1-9.
Getting Started with Java—p.3-9 (no Filing Date).

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 for instantiating a class having different versions 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 for instantiating a class having different versions, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for instantiating a class having different versions will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2512903

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