CN1101028C - Method and system for runtime object instance management - Google Patents

Method and system for runtime object instance management Download PDF

Info

Publication number
CN1101028C
CN1101028C CN 96119795 CN96119795A CN1101028C CN 1101028 C CN1101028 C CN 1101028C CN 96119795 CN96119795 CN 96119795 CN 96119795 A CN96119795 A CN 96119795A CN 1101028 C CN1101028 C CN 1101028C
Authority
CN
China
Prior art keywords
execution environment
monitoring
described object
caller
single instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 96119795
Other languages
Chinese (zh)
Other versions
CN1158457A (en
Inventor
富兰克林·查尔斯·布雷斯劳
保罗·格雷戈里·格林斯坦
约翰·特德·罗登
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1158457A publication Critical patent/CN1158457A/en
Application granted granted Critical
Publication of CN1101028C publication Critical patent/CN1101028C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Abstract

An instance of an object in an object-oriented computer system is managed. The performance of the object and a method in the object are monitored relationally to the performance of a processor and that of a network. Performance information is used for managing the object instance. Especially the object instance is moved, divided or merged. For example, when an object method satisfies a performance target during the loading of the object to a current execution environment, an execution environment in which the object attains the performance target is determined and the object is moved to the determined environment.

Description

Be used to move the method and system of object instance management
The present invention relates generally to object oriented calculation machine system.More particularly, the object that the present invention relates in the object oriented calculation machine system distributes, and more specifically, relates to be used for according to the performance of this object method object instance being carried out the method and system of dynamic management.
Existing computer programming technology comprises the use of Object-oriented Programming Design (OOP).The center of Object-oriented Programming Design, be to be called as in the art " object " can be again with, self-contained, can call code modules.This modular approach by the using and re-using of object through proof and test, and makes the exploitation of software more effective and reliable.
Each object designs is become by " method " to realize one group of predetermined operation.These methods comprise the task of sequencing, to carry out object when being called.Each concrete method be defined within object associated " class " in.Class plays a part model, and it has described the behavior of object like the category.Come the exemplary illustration object by selected class (or in the example when it moves), and object comprises method and the attribute (or data) that defines in the class.
Object method is can be by the shared resource of the every other object reference in the object oriented calculation machine system.Load on an object (and the corresponding load on the execution environment of its exemplary illustration) thereby will and be used in the complicacy of the method in the object and change along with the periodicity of object reference.Require careful systems organization, so that in the execution environment of object oriented calculation machine system, can access enough examples of any concrete object, to handle the load that occurs.Traditionally, this planning is carried out during systems organization, and object instance is fixed during being distributed in system operation.Therefore, the change that can't expect on system configuration, operation or the availability can seriously influence the performance of object.
Interference to system performance can detect with multiple mode at present.For example, there are a lot of schemes can be used for monitoring for example performance of processor and network therebetween.Yet, also do not studied completely as the monitoring of the object of single entity.In addition, regulate (for example change the formation weighted sum and replace the network route) though carried out some system at the monitoring system aspect of performance, but in object oriented calculation machine system, suitably utilize various performance informations to come the management object and the example, also do not obtain exploitation.
The present invention is exactly the solution that proposes at the problems referred to above.
Aspect first, the present invention is at an enterprising line operate of object oriented calculation machine system, and this system comprises a plurality of execution environments and an object, and this object has at least one example of carrying out at least one execution environment.The present invention includes the method that is used to manage this object.Particularly, the runnability of object obtains monitoring.According to this monitoring, this method changes several examples when being included in operation and/or several execution environments-at least one example is carried out therein.
As a kind of enhancing, the single instance that at least one example of object can be included in the single execution environment is carried out.In addition, change can comprise single example is moved on to another execution environment from single execution environment.Single execution environment and other execution environment can be the foreign peoples, and the state of object can obtain keeping during moving.
As a kind of enhancing, at least one example of object can be included in the single example of carrying out in the single execution environment.In addition, this change can comprise object is divided into a plurality of examples of carrying out in multiple execution environment.In addition, if at least one example of this of object is included in a plurality of examples of carrying out in a plurality of execution environments, then this change can comprise object is merged in the single instance of carrying out in single execution environment.
As further enhancing, this object oriented calculation machine system can comprise an Object Manager, and this monitoring can comprise the tracing object manager activity relevant with this object.In addition, this object oriented calculation machine system can comprise that a working time, optimizer-it carried out this change.This monitoring can comprise the message transport that obtains from this tracking to control program, to be used for this change this moment.This monitoring can comprise the network parameter that monitoring is relevant with object, comprises for example network stand-by period.
As another enhancing, this object comprises at least one method, and this monitoring comprises that at least one that keep that an interaction table, this table comprise method called and at least one calls associated performance data with this.This performance data can comprise the caller of this at least one method.In addition, this performance data can also comprise that a transfer delay-this delay calls at least one from caller and is sent to object and causes.Moreover, be that requirement is handled and response if call, then this performance data further comprise the processing delay of this at least one method and response is sent to caller and cause send delay back to.
The present invention has several advantages and the feature relevant with it.The performance monitoring technology that is used for processor, network and object, be used for the management object example-such as dynamic, the working time-technology combine, just can realize Object Management group.For example, if the method for object is not to realize their desirable performance objectives, then this object is reallocated to it can realize the execution environment of its target therein.If can not find this execution environment, then object " decomposition " is become a plurality of examples, thereby realize the performance objective of collective.If a plurality of examples have been represented the too many resource that is utilized, then these examples can be by " merging ", thereby reduces its number.So just can realize object instance management dynamic, flexible, performance driving.
At the conclusion part of this instructions, pointed out actual content of the present invention particularly, and it has been proposed clear and definite claim.Yet the present invention, can get the best understanding by the detailed description that provides below in conjunction with accompanying drawing with its further purpose and advantage as the tissue and the method for practice.In the accompanying drawings:
Fig. 1 is an example that can be used for implementing the computer system of technology of the present invention;
Fig. 2 is an example that can be used for implementing the object oriented calculation machine system of technology of the present invention;
Fig. 3 is an example of the ORB registration form that is used in combination with the technology of one embodiment of the present of invention;
Fig. 4 is an example that is used to realize the policy table of one embodiment of the present of invention;
Fig. 5 is an example of system performance table according to an embodiment of the invention;
Fig. 6 is an example that is used for the network performance table of technology according to an embodiment of the invention;
Fig. 7 is an example that is used to follow the tracks of the interaction table that calls of the object method that combines with one embodiment of the present of invention;
Fig. 8 is an example that is used for object according to an embodiment of the invention and caller thereof are carried out the caller table of statistical treatment;
Fig. 9 is an example of decomposition/merging routing table of being used to follow the tracks of a plurality of object examples that are used for one embodiment of the present of invention;
Figure 10 is an example of decomposition/consolidation policy table, and this table is used to determine when that carrying out decomposing state according to an embodiment of the invention to the object biography of merging phase moves;
Figure 11-12B has shown the example that is used for according to the method for technical management object instance of the present invention.
The U.S. Patent Application Serial of submitting in common unsettled Dec 27 nineteen ninety-five 08/578,098 (document number CR9-95-010) " METHOD AND SYSTEMOF DYNAMICALLY MOVING OBJECTS BETWEENHETEROGENEOUS EXECUTION ENVIRONMENTS " and the U.S. Patent Application Serial of submitting Dec 27 nineteen ninety-five 08/579, among 544 (the document number CR9-95-016) " METHOD AND SYSTEM FOR MIGRATING AN OBJECTBETWEEN A SPLIT STATUS AND A MERGED STATUS ", announce and claim the technology of the object instance when being used for management operating.For example, above-mentioned U.S. Patent application comprises when being used to move between foreign peoples's execution environment mobile object, object is resolved into its a plurality of examples and the technology that a plurality of examples of object is merged into its single example.
Here the technology of Gong Buing is moved in combination with above-mentioned Object Management group technology.Particularly, the technology of announcing is here determined and influences suitable object to move, decompose and merge according to the system and the object performance of monitoring.The performance monitoring technology combines with concrete heuristics and above-mentioned Object Management group technology, dynamically to optimize the performance of object oriented calculation machine system.
Here the technology of Gong Buing is in conjunction with term appreciated by those skilled in the art and resource and describe.In an example, term as described herein and resource and common object request switching fabric (CORBA-Object Management Group, the registered trademark of INC.)-it is the international standard-interrelate of Object Management group resource.An example of the entity that comprises in CORBA type system is object requests interchanger (ORB), and it is in response to generation, deletion and the tracking of for example object.A kind of concrete enforcement of CORBA standard is System Object Model (SOM) the multiplatform environments case (SOMobjects) of IBM.Further description to CORBA and SOMobject, can be at for example Ron Ben-Natan, McGraw-Hill, 1995 CORBA-AGuide To Common Object Request Broker Architecture; " with " AIXVersion 4.1 SOMobjects Base ToolkitUser ' s Guide; " IBM, 1993, Publication No.Sc23-2680-01 and " AIX Version 4.1 SOMobjects BaseToolkit Programmers Reference Manual; " IBM, 1993, obtained description among the PublicationNo.SC23-2681-01; These files are used as list of references at this.CORBA is an example of the technology as described herein OO environment that can move therein.The present invention and any OO environment that comprises such formation Object Manager all be compatible-promptly this Object Manager (for example the object requests interchanger of CORBA is ORB) makes it possible to transmission information between object, and provides the transparency (for example " Visual Age " environment of " Microsoft's common object manager " environment or IBM Corporation) of object's position.
Fig. 1 illustrates the hardware of the computer system that is used to implement technology of the present invention.A CPU (central processing unit) (CPU) 11 provides main processing capacity.A storer 15 is coupled with CPU11, so that the operational store of program and data to be provided.Storer 15 can comprise for example random-access memory (ram) or ROM (read-only memory) (ROM).For example the non-volatile memory of data file and program provided by memory storage 13, and memory storage 13 can comprise for example disk storage.Storer 15 and memory storage 13 all are can be by the medium of computing machine use, and this medium can be stored the computer program such as computer readable program code.User's input and output are provided by user's I/O (I/O) device 19.User I/O device 19 can comprise for example graphic alphanumeric display, Genius mouse and/or graphic tablet.System's input and output are provided by the I/O of system device 17 (for example network adapter).The I/O device (for example between storer 13 and CPU11) that can comprise as the skilled artisan will appreciate, other according to system configuration.As an example of computer system, the computer system of Fig. 1 can be from IBM Corporation, " " the APTIVA PERSONAL COMPUTER SYSTEM " that carries out on the OS/2WARP operating system in IBM Corporation.
Fig. 2 has shown an example of the object oriented calculation machine system with multiple execution environment.What wherein show is an object oriented calculation machine system, it comprises five execution environments, i.e. three workstations based on " INTEL " processor (workstation A35, workstation B37 and workstation C39), 31 and " the IBM POWER PC " file servers 33 of principal computer (main frame) based on IBM SYSTEM/390 class main frame.Workstation A 35, B 37 and C39 (" workstation ") are designed to interact with the user, and main frame 31 is used as for example business machine, and file server 33 for example is that database server-its access is stored in the information on the dish of its inside.
These execution environments interconnect by a for example token ring (TOKEN-RING) LAN (LAN) 41, so that the communication between them.More specifically, workstation A 35 links to each other with LAN 41 by a communication line 43.Though shown concrete interconnection mode, also can adopt any traditional hardware/software network scheme in combination with technology as described herein.
Main frame 31, file server 33 and workstation are the parts of described object oriented calculation machine system.In this regard, an ORB 45 who is used for this system is comprised in main frame 31.Should be appreciated that as those skilled in the art the concrete configuration of ORB 45 and position will change according to the OO environment that is adopted.
It is being between the execution environment of target with the performance that a feature of the present invention helps, dynamically, during operation, mobile object.With this feature relatively, kept several tables, and these tables will obtain below describing in detail.
The ORB registration form has been described among Fig. 3.As known in the art, adopt this registration form to follow the tracks of the position of each object of example in the OO computer system at ORB traditionally." position " field comprises the title (or other unique signs) of the execution environment that wherein includes object.For example, as shown in the figure, object X has obtained example in main frame 31.
Having kept a policy table, is acceptable with the performance that determines when object, and on the contrary when the performance of object be unacceptable.An example that has shown the policy table among Fig. 4.For the method that is subjected to according to the performance monitoring of technology as described herein and each object of reorientating, the clauses and subclauses of definition list (for example by system programming person or operating personnel).The clauses and subclauses of table comprise the title of object, the title of method, maximum mutual time (MaxIT) and type of interaction.MaxIT equals to use specific object method once mutual the longlyest accepts the time.Type of interaction has defined the type of object effect and has been used to explain the MaxIT parameter.
Two type of interaction have been described here.To be Class1 be used in combination with receiving message (promptly from another object) method for first kind of type of action, but do not produce the response to it.Second kind of reciprocation type be type 2 by with receive message, handle this message and be used in combination with the method that appropriate responsive is answered.As described further on this, be used to determine when this object is moved toward heuristics where, will change according to this object method type of interaction.
The performance information of several types is collected, and to be used for according to technology as described herein, determines where when object be moved toward.As first example, a system performance table has dynamically write down the performance data of each independent execution environment of object oriented calculation machine system.Have a example, in Fig. 5, obtain showing corresponding to the system performance table of the data of the object oriented calculation machine system of Fig. 2.
Each " performance " value of the system performance table of Fig. 5 is represented with the absolute unit (AUW) of work.AUW is the measuring of task (being benchmark) that need how long carry out appointment to each execution environment.For example, AUW can measure each execution environment and need how long carry out 10,000 floating-point multiplications.No matter adopt any benchmark, its all cycle execution on each execution environment, thus make the system performance table can access foundation, obtain upgrading and accessing as required.In one embodiment, this benchmark will be implemented as the common object on each execution environment, and wherein the method for these execution environments is carried out this benchmark, record is finished its required time, and this time value is sent back to caller.Caller can call this benchmark object according to the selected cycle, and correspondingly keeps system performance table (utilize traditional performance monitor, for example from " the ResourceManagement Facility " of IBM Corporation, can set up similar table).
Except the performance of each execution environment (being processor), network performance also can be used in combination with technology of the present invention.Message and/or be invoked between the execution environment by the required time influences whole object performance, and is an important performance metric in the object oriented calculation machine system.According to the present invention, a network performance table has kept this tolerance.
An example that has the network performance table of the data corresponding with the object oriented calculation machine system of Fig. 2 obtains showing in Fig. 6.On behalf of predetermined network activity, each value in the system performance table of Fig. 6 the required time takes place.For example, each value can be represented for example 1000 bytes are delivered to the required time of another execution environment (represented as " diagonal line " the network performance table of Fig. 6, giving the own required time with data on network is zero) from an execution environment.No matter adopt what network benchmark, it all is periodically to carry out (for example per 10 seconds) on each execution environment, sets up also and can obtain in computer system thereby the network performance table can be accessed.In one embodiment, the network benchmark can be carried out required time that this network benchmark, record finish, and the form that this time value is sent the object on each execution environment of caller back to be implemented by its method.This caller can call the benchmark object on each execution environment according to selected cycle length, and maintaining network performance table correspondingly.Working time, message also can obtain monitoring, to determine network performance.
Further performance monitoring function of the present invention has been utilized and can have been safeguarded the interactional interaction table of each object in the OO computer system from the inner information that obtains of ORB.Interaction between this ORB management object and the method wherein.The function of ORB is expanded, to keep the interactional record of each object, for example with Fig. 7, be stored in the form described in the interaction table in the object oriented calculation machine system.
The interaction table of Fig. 7 comprises the interactional several fields of each object.These fields are defined as follows:
Sequence number # is used to indicate the sequence number of each object interaction effect.
From the interactive source object of target.
To the interactive purpose object of target.
Purpose method in the purpose object to the method reciprocation.
The interactive type of type (is that Type 1=does not have intended response; Type 2=has
Intended response)
The start time source object begins the interactive time.
Propagation delay transmits message/call the required time from source object to the purpose object
(promptly calculating) from the time scale that interrelates with system clock
Processing time, the purpose object was used in handling reciprocation for Type 2 objects
The actual treatment time
Return delay from the purpose object to source object transmit the required time of response (promptly from
The time scale that system clock interrelates is calculated).Along with each interactive generation, corresponding clauses and subclauses are added to the reciprocation table.Yet this reciprocation table can not unrestrictedly increase, and it obtains management according to the inventory management rule.As article one rule, this reciprocation table is limited in a predetermined number reciprocation (for example 100).When table increased to beyond this predetermined limits, the oldest transaction was removed and up-to-date transaction is coupled with.As another exemplary rule, when mobile object between execution environment, its all clauses and subclauses are all removed from the reciprocation table, because they are representing the example of the object that no longer exists.As another rule, only keep concrete interactive up-to-date clauses and subclauses (promptly by from object, to object with to the method definition).
With another table that the present invention adopts with interrelating, be caller table shown in Figure 8.This table record the caller inventory of each method of each object.Similar with the reciprocation epiphase, this caller table passes through the object interaction effect of monitoring ORB management, and sets up the nonredundancy caller inventory of each method of each object for each reciprocation, and obtains Dynamic Maintenance.
Adopt above-mentioned table, implemented the mechanism of mobile object between execution environment at the appropriate time.Particularly, if object does not reach the performance objective of its design, then it is moved to that wherein it can be realized in its purpose execution environment.
Reciprocation table (Fig. 7) obtains periodic inspection, and the interaction data of each method obtains check, whether has realized its performance objective to judge object.If the method for object does not realize its purpose, then this object is moved on in the execution environment that wherein its purpose can realize, otherwise this target is interference-free.
More specifically, in Figure 11-12B, described and be used for ensuring method and satisfy their purpose and be used for when these methods do not satisfy, object being moved on to the example of the processing of better position.Suppose the method for the reciprocation table of having selected Fig. 7 for check.Shown in Figure 11 (step 101), for the current methods from the policy table of Fig. 4 is determined object type (being that Class1 still is a type 2) and desirable interaction time (IT).Testing subsequently, is " Class1 " or " type 2 " (inquiry 103) to judge this method.For " Class1 " method, the interaction time by with the reciprocation table in the relevant propagation delay of current methods compare.If this propagation delay has surpassed the interaction time (inquiry 107), then desirable performance is not met, and moves the object (step 111) with this method.For " type 2 " method, with interaction time and the propagation delay that interrelates with the current methods in the reciprocation table, return and postpone and the processing delay sum is compared.If should and surpass the interaction time (inquiry 109), then desirable performance is not met, and has the moving of object (step 111) of this method.Otherwise,, then hold fire (step 105) if performance objective is met.
In the pseudo-code of Figure 12 A-B, described and be used to judge that the object (" ToObj ") with this method should be moved to the example of technology of which execution environment of object oriented calculation machine system.During beginning, an inventory (PTL) of the potential purpose execution environment of ToObj is endowed initial value of zero (step 120).A variable that is called as CURLOC is set to the present title of the execution environment of execution thereon of ToObj.This title is definite from ORB registration form (Fig. 3).Another inventory LOCLIST obtains initialization, thereby comprises the title (step 123) of the execution environment that calls that produces any ToObj method.This is to determine from caller table for example shown in Figure 8.In an inventory that is called as METHLIST, it is (step 125) that is made of the check to the caller table in a similar fashion to the actual method of calling by initial storage.
Then, for each method among the METHLIST, all enter a ring, wherein M is the current methods of just handling in this ring (step 127).The inventory " PTL M " that is used for the potential purpose execution environment of M is initially set sky (step 129).Subsequently, if M is type 2 (step 131-promptly determines from the policy table of Fig. 4), then determines a job and measure MW (step 133) for it.Particularly, MW, be by with as the AUW of the CURLOC that in the system performance table of for example Fig. 5, represents measure divided by the last processing time PT in the reciprocation table (for example Fig. 7) for the M record, and definite.If M is not (step 132) of type 2, MW is set to null value (step 134).
Enter next circulation, it handles each execution environment in the processor performance table, does not have CURLOC, and wherein just processed execution environment is stored in (step 135) among the PTSYS.In this circulation,, then calculate the response time that on the PTSYS of system, proposes if MW is not zero (step 137).Particularly, the response time of proposition is by PR PTSYSExpression, the AUW that it is set to PTSYS (is AUW PTSYS) with long-pending (step 139) of MW.If MW is zero, then PR PTSYSBe set to zero (step 141).
Enter further nested loop, it handles each execution environment among the LOCLIST, wherein just is stored in (step 143) among the S at processed execution environment.One " to the time " TO_TIME is used as and determines (step 145) from the function of the network delay of S to PTSYS.PR subsequently PTSYSBe coupled with TO_TIME (step 147).After this, if M is a type 2, (step 149) is then as determining " from a time " FROM_TIME (step 151) and PR from the function of the network delay of PTSYS to S PTSYSThereby by increment (step 153).In order to finish existing ring, if PR PTSYSGreater than the interaction time that is stored in the policy table that is used for current methods M (promptly as CRITERION and accessed), then surpass aforesaid nested rings by jumping to outermost loop.Otherwise, repeat existing circulation (promptly to step 143).
Aforesaid nested rings (i.e. the circulation that begins from step 135) is finished by add PTLM (step 157) to PTSYS.This circulation obtains repetition (to step 135) subsequently.
If PTL is zero (step 159), outermost loop obtains continuing by PTL being set at PTL_M (step 161).If PTL is not zero, then PTL is set to its logic " setting " reciprocation (step 163) own and PTL M.As aforesaid result, PTL comprises the inventory of the purpose accepted execution environment of all methods of already used ToObj.The execution environment that object will be moved toward, can by for example select at random the predetermined preference policy of execution environment or be used for concrete execution environment affinity relation (as submit at the same time and be used as patented claim " AUTOMATIC CLIENT-SERVER COMPILER " description of list of references at this), and from this inventory, select.
In case determined the purpose execution environment, existing object just is moved toward it.The technology that is used for mobile object between execution environment, in the U.S. Patent Application Serial of submitting Dec 27 nineteen ninety-five 08/578,098 (document number CR9-95-010) " METHOD AND SYSTEMOF DYNAMICALLY OBJECTS BETWEEN HETEROGENEOUSEXECUTION ENVIRONMENTS ", obtained detailed description.Also obtaining therein describing, is mobile object between foreign peoples's execution environment how, and how to keep during moving and the status information of converting objects.
Object decomposition/the folding of describing in the U.S. Patent Application Serial 08/579,544 (document number CR9-95-016) " METHOD AND SYSTEMFOR MIGRATING AN OBJECT BETWEEN A SPLIT STATUS AND AMERGED STATUS " that technology of the present invention also can be applied to submitting Dec 27 nineteen ninety-five.More than the technology of Gong Buing may not be indicated the single execution environment of the method performance standard that satisfies object.Yet,, can obtain desirable performance objective by object " decomposition " being become a plurality of examples on a plurality of execution environments.
More specifically, for example, may not obtain to satisfy the execution environment of the performance standard of object M.In the case, from caller table (for example Fig. 8) clauses and subclauses of all M methods remove do not satisfy this standard, by the M method of object reference, and in the caller table, be the example that produces as the decomposition example relevant, produce one and decompose instance entry with above-mentioned technology.Subsequently, the caller of M clauses and subclauses from caller table deletion is used as the clauses and subclauses of this decomposition example and is added in the caller table.Above-mentioned technology (Figure 12-12A) be applied subsequently, with the execution environment of the decomposition example of determining M, and this decomposition example is used in the decomposition/folding in this U.S. Patent application of submitting and comprising as a reference " METHOD AND SYSTEM FOR MIGRATING AN OBJECTBETWEEN A SPLIT STATUS AND A MERGED STATUS " and obtains generation.If M is without any other caller, then M is deleted." the decomposition standard " of the decomposition of Figure 10/consolidation policy table is used as the MaxIT in the above processing of drawing, and the decomposition example is being produced by its position of determining.The generation of the decomposition example of M is finished at this point.
Similarly, in case method by " decomposition ", just may wish object " merging " is become less example.For example, if the decomposition example S of object M iCan not be given the execution environment that satisfies its performance standard by reallocation, then carry out following processing.If S iThe example M that merges does not exist, and then above-mentioned technology is used to produce M in the position of determining.Further step comprises the generation of the clauses and subclauses of the M in the caller table (Fig. 8).S iClauses and subclauses be moved to the clauses and subclauses that produce for M, and S iClauses and subclauses deleted." the merging standard " of the decomposition of Figure 10/consolidation policy table is used as MaxIT, and the merging example produces in the position of determining thus.Subsequently, utilize this submit and the U.S. Patent application " METHOD AND SYSTEM FOR MIGRATING ANOBJECT BETWEEN A SPLIT STATUS AND A MERGED STATUS " that comprises as a reference in the technology of description, with S iMerge among the M.
Though in above-mentioned technology, the performance of each object in the reciprocation table (Fig. 7) regularly obtains estimating, and also has other assessment technique.For example, can when calling, estimate the performance of each object/method at every turn.In addition, the processing of carrying out in above-mentioned steps can be used as object in the object oriented calculation machine system for example or object set and implements.In one embodiment, these objects will be implemented in the execution environment identical with ORB so that it is carried out, relevant with the reciprocation table make things convenient for access with the caller table.
The example that is used for the technology of the Target Assignment of dynamic management object oriented calculation machine system when operation has more than been described.What it should be appreciated by those skilled in the art is that above-mentioned flow process and program step are example.Under the premise without departing from the spirit and scope of the present invention, can much change, comprise and for example handling, revise one or more step, perhaps change the order of some step than above-mentioned manying or few step for them.The object rather than the invoked object that for example can utilize above-mentioned technology to move to call.These changes thereby also be considered to the part of the present invention of institute's claim.
Though describe the present invention in detail at this some most preferred embodiment according to the present invention, those skilled in the art can much revise and changes it.Therefore, appending claims is exactly all these corrections and the change that will cover within the spirit and scope of the present invention.

Claims (46)

1. in comprising the object oriented calculation machine system of a plurality of execution environments and an object, be used to manage the method for described object, wherein this object has at least one example of carrying out at least one execution environment of described a plurality of execution environments, the method is characterized in that following steps:
(a) runnability of the described object in the described object oriented calculation machine of the monitoring system;
(b) be in operation the described monitoring of response and change at least one in the two of several described at least one examples and several described at least one execution environments, wherein said at least one example is carried out in described at least one execution environment.
2. according to the method for claim 1, described at least one example that it is characterized in that described object is included in the single example of carrying out in the single execution environment, and is that described change comprises described single instance is moved on to another execution environment described a plurality of execution environment from described single execution environment.
3. according to the method for claim 2, it is characterized in that described mobile comprising described single instance being moved on to described another execution environment from described single execution environment, wherein said another execution environment and described single execution environment are the foreign peoples.
4. according to the method for claim 3, it is characterized in that the described state that moves the described object of reservation during described the moving that is included between described single execution environment and described another execution environment.
5. according to the method for claim 1, described at least one example that it is characterized in that described object is included in the single instance of carrying out in the single execution environment, and wherein said change comprises described object is resolved into several examples of carrying out in several execution environments in described a plurality of execution environments.
6. according to the method for claim 5, it is characterized in that described decomposition comprises that the state with the described single instance of described object copies in its described several examples.
7. according to the method for claim 5,, still can carry out calling of described object in the mode before identical by its caller with described decomposition although it is characterized in that having described decomposition.
8. according to the method for claim 5, it is characterized in that described decomposition comprises that the execution with described single instance remains within the described single execution environment.
9. according to the method for claim 5, it is characterized in that described decomposition comprises the execution of described single instance is removed from described single execution environment.
10. according to the method for claim 1, described at least one example that it is characterized in that described object is included in several examples of carrying out in several execution environments, and wherein said change comprises described object is merged in the single instance of carrying out in a single execution environment.
11., it is characterized in that described merging comprises the state of described several examples of strengthening described object and described state is added in the described single instance of described object according to the method for claim 10.
12.,, still can call described object in the mode before identical by the caller of described object with described decomposition although it is characterized in that having described decomposition according to the method for claim 10.
13., it is characterized in that described object oriented calculation machine system comprises an Object Manager, and wherein said monitoring comprises the Object Manager activity relevant with described object of following the tracks of according to the method for claim 1.
14. according to the method for claim 13, comprise optimizer working time that carries out described change with described object oriented calculation machine system, and described monitoring comprise the message transport that will obtain from described tracking to described control program to be used for described change.
15., it is characterized in that described monitoring comprises the network parameter that monitoring is relevant with described object according to the method for claim 1.
16., it is characterized in that described network parameter comprises the network stand-by period according to the method for claim 15.
17., it is characterized in that described monitoring comprises the performance of described at least one execution environment that described at least one example of monitoring is carried out therein according to the method for claim 1.
18. method according to claim 1, it is characterized in that described object comprises at least one method, and wherein said monitoring comprise at least one that keep that a reciprocation table, this reciprocation table comprise described method call with described at least one call relevant performance data.
19., it is characterized in that described performance data comprises the caller of described at least one method according to the method for claim 18.
20. according to the method for claim 19, it is characterized in that described performance data further comprise with described at least one call from described caller and be sent to described object and the propagation delay that causes.
21. method according to claim 20, it is characterized in that described calling is that requirement is handled and the type of response, and wherein said performance data further comprises the processing delay of described at least one method and owing to described response being sent to the delay of returning that described caller causes.
22. according to the method for claim 18, it is characterized in that described monitoring comprises policy table of maintenance, this policy table comprises described at least one method and is used for the purpose interaction time of each described at least one method.
23., it is characterized in that described monitoring comprises the described purpose interaction time is compared to judge the performance of described object with described performance data according to the method for claim 22.
24. in comprising the object oriented calculation machine system of a plurality of execution environments and an object, be used to manage the system of described object, wherein this object has at least one example of carrying out at least one execution environment of described a plurality of execution environments, the system is characterized in that:
Be used for monitoring the device of runnability of the described object of described object oriented calculation machine system; And
Being used for being in operation changes the two at least one device of several described at least one examples and several described at least one execution environments in response to described monitoring, wherein said at least one example is carried out in described at least one execution environment.
25. system according to claim 24, described at least one example that it is characterized in that described object is included in the single instance of carrying out in the single execution environment, and the wherein said device that is used for changing comprises the device that is used for described single instance is moved on to from described single execution environment another execution environment of described a plurality of execution environments.
26. system according to claim 25, it is characterized in that the described device that is used to move comprises is used for described single instance is moved on to the device of described another execution environment from described single execution environment, and wherein said another execution environment and described single execution environment are the foreign peoples.
27., it is characterized in that the described device that is used to move comprises the device that is used for keeping the state of described object during described the moving between described single execution environment and described another execution environment according to the system of claim 26.
28. system according to claim 24, described at least one example that it is characterized in that described object is included in the single instance of carrying out in the single execution environment, and the wherein said device that is used for changing comprises and is used for described object is resolved into several examples of carrying out at several execution environments of described a plurality of execution environments.
29., it is characterized in that the device that is used to decompose comprises the device that is used for the state of the described single instance of described object is copied to its described several examples according to the system of claim 28.
30.,, still can call described object in the mode before identical by the caller of described object with described decomposition although it is characterized in that having described decomposition according to the system of claim 28.
31., it is characterized in that the described device that is used for decomposing comprises the device that is used to remain on the described single instance that described single execution environment carries out according to the system of claim 28.
32., it is characterized in that the described device that is used for decomposing comprises the device that is used to remove the described single instance of carrying out at described single execution environment according to the system of claim 28.
33. system according to claim 24, described at least one example that it is characterized in that described object is included in several examples that several execution environments are carried out, and the wherein said device that is used for changing comprises the device that is used for described object is merged to the single instance of carrying out at single execution environment.
34. according to the system of claim 33, it is characterized in that the described device that is used for merging comprise described several examples that are used to strengthen described object state device and be used for described state is added to the device of the described single instance of described object.
35.,, still can call described object in the mode before identical by the caller of described object with described decomposition although it is characterized in that having described decomposition according to the system of claim 33.
36. it is characterized in that according to the system of claim 24 described object oriented calculation machine system comprises an Object Manager, and the wherein said device for monitoring that is used for comprises the device that is used to follow the tracks of the Object Manager activity relevant with described object.
37. system according to claim 36, it is characterized in that described object oriented calculation machine system comprises optimizer working time that carries out described change, and described be used for device for monitoring comprise be used for the message transport that will obtain from described tracking to described control program to be used for the device of described change.
38., it is characterized in that the described device for monitoring that is used for comprises the device that is used to monitor the network parameter relevant with described object according to the system of claim 24.
39., it is characterized in that described network parameter comprises the network stand-by period according to the system of claim 38.
40., it is characterized in that the described device that device for monitoring comprises the performance that is used to monitor described at least one execution environment that described at least one example carries out therein that is used for according to the system of claim 24.
41. system according to claim 24, it is characterized in that described object comprises at least one method, and wherein said at least one that is used for that device for monitoring comprises that device-this reciprocation table that is used to keep a reciprocation table comprises described method call with described at least one call relevant performance data.
42., it is characterized in that described performance data comprises the caller of described at least one method according to the system of claim 41.
43. according to the system of claim 42, it is characterized in that described performance data further comprise owing to from described caller to described object transmit described at least one call the propagation delay that produces.
44. system according to claim 43, it is characterized in that described calling is that requirement is handled and the type of response, and wherein said performance data further comprises the processing delay of described at least one method and owing to described response being sent to the delay of returning that described caller produces.
45. according to the system of claim 41, it is characterized in that the described device for monitoring that is used for comprises the device that is used to keep a policy table, this policy table comprises described at least one method and is used for the purpose interaction time of each described at least one method.
46., it is characterized in that the described device for monitoring that is used for comprises and is used at least one described purpose interaction time is compared with described performance data with the device of the performance of judging described object according to the system of claim 45.
CN 96119795 1995-12-27 1996-12-13 Method and system for runtime object instance management Expired - Fee Related CN1101028C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57954295A 1995-12-27 1995-12-27
US579542 1995-12-27

Publications (2)

Publication Number Publication Date
CN1158457A CN1158457A (en) 1997-09-03
CN1101028C true CN1101028C (en) 2003-02-05

Family

ID=24317341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 96119795 Expired - Fee Related CN1101028C (en) 1995-12-27 1996-12-13 Method and system for runtime object instance management

Country Status (3)

Country Link
JP (1) JPH09212364A (en)
CN (1) CN1101028C (en)
GB (1) GB2308689B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IE872626L (en) * 1987-09-29 1988-04-01 Smithkline Beckman Corp Affinity adsorbents for glycopeptide antibiotics.
JPH06348666A (en) * 1993-06-07 1994-12-22 Hitachi Ltd Program execution load distribution method in computer system
JPH0744383A (en) * 1993-07-26 1995-02-14 Canon Inc Object processing method
JPH07123108A (en) * 1993-10-27 1995-05-12 Fuji Facom Corp Inter-process communication method

Also Published As

Publication number Publication date
JPH09212364A (en) 1997-08-15
CN1158457A (en) 1997-09-03
GB9624349D0 (en) 1997-01-08
GB2308689A (en) 1997-07-02
GB2308689B (en) 1999-08-25

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
US10885012B2 (en) System and method for large-scale data processing using an application-independent framework
US6393455B1 (en) Workload management method to enhance shared resource access in a multisystem environment
US7379888B1 (en) System and method for generating a schedule based on resource assignments
Towsley Allocating programs containing branches and loops within a multiple processor system
Zomaya et al. Observations on using genetic algorithms for dynamic load-balancing
CN100458705C (en) Method and system for scheduling computer jobs employing dynamically determined top job party
US7689996B2 (en) Method to distribute programs using remote Java objects
US6782410B1 (en) Method for managing user and server applications in a multiprocessor computer system
JP4737728B2 (en) Information processing apparatus and information processing system
KR20180027326A (en) Efficient data caching management in scalable multi-stage data processing systems
US8250131B1 (en) Method and apparatus for managing a distributed computing environment
CN1664804A (en) Mechanism for reducing remote memory accesses to shared data in a multi-nodal computer system
KR20020079849A (en) System and method for rapid completion of data processing tasks distributed on a network
US20090282413A1 (en) Scalable Scheduling of Tasks in Heterogeneous Systems
CN101373474A (en) Magnanimity data real time processing structure and real time processing platform following with necessaries for the same
CN109257399B (en) Cloud platform application program management method, management platform and storage medium
CN110851237A (en) Container cross heterogeneous cluster reconstruction method for domestic platform
US8806490B1 (en) Method and apparatus for managing workflow failures by retrying child and parent elements
CN1290362A (en) Apparatus, method and computer program product for client/server computing with client selectable location of transaction objects
US7979870B1 (en) Method and system for locating objects in a distributed computing environment
US20090228537A1 (en) Object Allocation System and Method
CN1101028C (en) Method and system for runtime object instance management
US20110252425A1 (en) Executing operations via asynchronous programming model
EP2089796A2 (en) Enterprise performance management software system having dynamic code generation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee