← Back to Patent Explorer
US6324543B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic object migration method using proxy object links to support automatic object distribution in an object-oriented environment

Assignee: International Business Machines Corp
•
Filing: 1998-03-06
•
Granted: 2001-11-27
•
Expires: 2018-03-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system are described which allow programs to become dynamically reconfigurable without programmer intervention. This means that the programs can be dynamically distributed among multiple computers within a computer network without modification to the source code of the programs running on the system. In addition, the method and system described allow an administrator of the system to specify conditions under which reconfiguration is to occur without modification to the source text of the program to be dynamically reconfigured.

Inventors

  • 👤 Geoffrey Alexander Cohen
  • 👤 David Louis Kaminsky
  • 👤 Richard Adam King

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 22:46
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/465; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 290 words
A method for dynamically distributing programmed objects of a computer program, each programmed object containing one or more programmed entities, from a first computer to one or more remote computers, said computer program having one or more programmed objects, said method comprising the steps of: partitioning the programmed objects of the computer program into (1) a first subset which are migratable at run-time from an initial location on the first computer to one of the remote computers and (2) a remaining subset which are not migratable, wherein the first subset and the remaining subset together comprise all the programmed objects of the computer program; creating a list of conditions under which each of the first subset of programmed objects are migratable; programmatically identifying, for each programmed object in the first subset, each programmed entity within said programmed object that allows access from other objects; programmatically generating a first proxy and a second proxy for each programmed object in the first subset and for each of the identified program entities, said first proxy residing on the first computer and said second proxy created on said first computer for transferring to one of the remote computers upon a migration of the programmed object, wherein said first proxy contains network linkage and indication to access said programmed object on said remote computer after the migration and said second proxy contains a programmatically generated entity to route the access from the first proxy to the programmed object on the remote computer; and dynamically migrating, at run-time, a selected programmed object that was executable on said first computer from said first computer to the remote computer when said selected object's corresponding condition from said list of conditions is met, without requiring intervention by a human.
Claim 2
Independent Claim 290 words
A method for dynamically distributing programmed objects of a computer program, each programmed object containing one or more programmed entities, from a first computer to one or more remote computers, said computer program having one or more programmed objects, said method comprising the steps of: partitioning the programmed objects of the computer program into (1) a first subset which are migratable at run-time from an initial location on the first computer to one of the remote computers and (2) a remaining subset which are not migratable, wherein the first subset and the remaining subset together comprise all the programmed objects of the computer program; creating a list of conditions under which each of the first subset of programmed objects are migratable; programmatically identifying, for each programmed object in the first subset, each programmed entity within said programmed object that allows access from other objects; programmatically generating a first proxy and a second proxy for each programmed object in the first subset and for each of the identified program entities, said first proxy residing on the first computer and said second proxy created on said first computer for transferring to one of the remote computers upon a migration of the programmed object, wherein said first proxy contains network linkage and indication to access said programmed object on said remote computer after the migration and said second proxy contains a programmatically generated entity to route the access from the first proxy to the programmed object on the remote computer; and dynamically migrating, at run-time, a selected programmed object that was executable on said first computer from said first computer to the remote computer when said selected object's corresponding condition from said list of conditions is met, without requiring intervention by a human.
Claim 3
Dependent Claim 61 words
The method as claimed in claim 1 , further comprising the steps of: programmatically generating new names for the programmed objects in the first subset; programmatically modifying the programmed objects in the first subset to use the generated new names; and progammatically modifying references to the programmed objects in the first subset such that the references use the generated new names.
Claim 4
Independent Claim 59 words
The method as claimed in claims 1 or 2 , wherein said dynamically migrating step further comprises the steps of: moving a copy of said selected programmed object to said remote computer; moving said second proxy for the selected programmed object to said remote computer; and directing said first proxy to call said second proxy on said remote computer.
Claim 5
Dependent Claim 312 words
Computer-readable code for dynamically distributing programmed objects of a computer program, each programmed object containing one or more programmed entities, from a first computer to one or more remote computers, the computer program having one or more programmed objects, the computer-readable code embodied on one or more computer-readable media and comprising: a subprocess for partitioning the programmed objects of the computer program into (1) a first subset which are migratable at run-time from an initial location on the first computer to one of the remote computers and (2) a remaining subset which are not migratable, wherein the first subset and the remaining subset together comprise all the programmed objects of the computer program; a subprocess for creating a list of conditions under which each of the first subset of programmed objects are migratable; a subprocess for programmatically identifying, for each programmed object in the first subset, each programmed entity within the programmed object that be are accessible from other objects; a subprocess for programmatically generating a first proxy and a second proxy for each programmed object in the first subset and for each of the identified program entities, the first proxy residing on the first computer and the second proxy created on the first computer for transferring to one of the remote computers upon a migration of the programmed object, wherein the first proxy contains network linkage and indication to access the programmed object on the remote computer after the migration and the second proxy contains a programmatically generated entity to route the access from the first proxy to the programmed object on the remote computer; and a subprocess for dynamically migrating, at run-time, a selected programmed object that was executable on the first computer from the first computer to the remote computer when the selected object's corresponding condition from the list of conditions is met, without requiring intervention by a human.
Claim 6
Dependent Claim 312 words
Computer-readable code for dynamically distributing programmed objects of a computer program, each programmed object containing one or more programmed entities, from a first computer to one or more remote computers, the computer program having one or more programmed objects, the computer-readable code embodied on one or more computer-readable media and comprising: a subprocess for partitioning the programmed objects of the computer program into (1) a first subset which are migratable at run-time from an initial location on the first computer to one of the remote computers and (2) a remaining subset which are not migratable, wherein the first subset and the remaining subset together comprise all the programmed objects of the computer program; a subprocess for creating a list of conditions under which each of the first subset of programmed objects are migratable; a subprocess for programmatically identifying, for each programmed object in the first subset, each programmed entity within the programmed object that be are accessible from other objects; a subprocess for programmatically generating a first proxy and a second proxy for each programmed object in the first subset and for each of the identified program entities, the first proxy residing on the first computer and the second proxy created on the first computer for transferring to one of the remote computers upon a migration of the programmed object, wherein the first proxy contains network linkage and indication to access the programmed object on the remote computer after the migration and the second proxy contains a programmatically generated entity to route the access from the first proxy to the programmed object on the remote computer; and a subprocess for dynamically migrating, at run-time, a selected programmed object that was executable on the first computer from the first computer to the remote computer when the selected object's corresponding condition from the list of conditions is met, without requiring intervention by a human.
Claim 7
Dependent Claim 68 words
The computer-readable code as claimed in claim 4 , further comprising: a subprocess for programmatically generating new names for the programmed objects in the first subset; a subprocess for programmatically modifying the programmed objects in the first subset to use the generated new names; and a subprocess for programmatically modifying references to the programmed objects in the first subset such that the references use the generated new names.
Claim 8
Dependent Claim 67 words
The computer-readable code as claimed in claims 4 or 5 , wherein the subprocess for dynamically migrating further comprises: a subprocess for moving a copy of the selected programmed object to the remote computer; a subprocess for moving the second proxy for the selected programmed object to the remote computer; and a subprocess for directing the first proxy to call the second proxy on the remote computer.
Claim 9
Independent Claim 318 words
A system contained within a computer network, the computer network having multiple computers connected together using telecommunications mechanisms, the system adapted for dynamically distributing programmed objects of a computer program from a first computer to one or more remote computers, wherein each programmed object contains one or more programmed entities and the computer program has one or more programmed objects, the system comprising: means for partitioning the programmed objects of the computer program into (1) a first subset which are migratable at run-time from an initial location on the first computer to one of the remote computers and (2) a remaining subset which are not migratable, wherein the first subset and the remaining subset together comprise all the programmed objects of the computer program; means for creating a list of conditions under which each of the first subset of programmed objects are migratable; means for programmatically identifying, for each programmed object in the first subset, each programmed entity within the programmed object that are accessible from other objects; means for programmatically generating a first proxy and a second proxy for each programmed object in the first subset and for each of the identified program entities, the first proxy residing on the first computer and the second proxy created on the first computer for transferring to one of the remote computers upon a migration of the programmed object, wherein the first proxy contains network linkage and indication to access the programmed object on the remote computer after the migration and the second proxy contains a programmatically generated entity to route the access from the first proxy to the programmed object on the remote computer; and means for dynamically migrating, at run-time, a selected programmed object that was executable on the first computer from the first computer to the remote computer when the selected object's corresponding condition from the list of conditions is met, without requiring intervention by a human.
Claim 10
Independent Claim 318 words
A system contained within a computer network, the computer network having multiple computers connected together using telecommunications mechanisms, the system adapted for dynamically distributing programmed objects of a computer program from a first computer to one or more remote computers, wherein each programmed object contains one or more programmed entities and the computer program has one or more programmed objects, the system comprising: means for partitioning the programmed objects of the computer program into (1) a first subset which are migratable at run-time from an initial location on the first computer to one of the remote computers and (2) a remaining subset which are not migratable, wherein the first subset and the remaining subset together comprise all the programmed objects of the computer program; means for creating a list of conditions under which each of the first subset of programmed objects are migratable; means for programmatically identifying, for each programmed object in the first subset, each programmed entity within the programmed object that are accessible from other objects; means for programmatically generating a first proxy and a second proxy for each programmed object in the first subset and for each of the identified program entities, the first proxy residing on the first computer and the second proxy created on the first computer for transferring to one of the remote computers upon a migration of the programmed object, wherein the first proxy contains network linkage and indication to access the programmed object on the remote computer after the migration and the second proxy contains a programmatically generated entity to route the access from the first proxy to the programmed object on the remote computer; and means for dynamically migrating, at run-time, a selected programmed object that was executable on the first computer from the first computer to the remote computer when the selected object's corresponding condition from the list of conditions is met, without requiring intervention by a human.
Claim 11
Dependent Claim 64 words
The system as claimed in claim 7 , further comprising: means for programmatically generating new names for the programmed objects in the first subset; means for programmatically modifying the programmed objects in the first subset to use the generated new names; and means for programmatically modifying references to the programmed objects in the first subset such that the references use the generated new names.
Claim 12
Independent Claim 63 words
The system as claimed in claims 7 or 8 , wherein the means for dynamically migrating further comprises: means for moving a copy of the selected programmed object to the remote computer; means for moving the second proxy for the selected programmed object to the remote computer; and means for directing the first proxy to call the second proxy on the remote computer.

References Cited (Backward Citations)

US5613148A Cited
US5644766A Cited
US5903725A Cited
US5862325A Cited
US5881230A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-11-26 2005-05-28 2005-11-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-11-26 2009-05-28 2009-11-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-11-26 2013-05-28 2013-11-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag