EP1021766A1 - Mobilite d'un agent en fonction d'un itineraire, comprenant la mobilite d'un code executable - Google Patents

Mobilite d'un agent en fonction d'un itineraire, comprenant la mobilite d'un code executable

Info

Publication number
EP1021766A1
EP1021766A1 EP97948189A EP97948189A EP1021766A1 EP 1021766 A1 EP1021766 A1 EP 1021766A1 EP 97948189 A EP97948189 A EP 97948189A EP 97948189 A EP97948189 A EP 97948189A EP 1021766 A1 EP1021766 A1 EP 1021766A1
Authority
EP
European Patent Office
Prior art keywords
agent
computer
mobile agent
mobile
class
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.)
Withdrawn
Application number
EP97948189A
Other languages
German (de)
English (en)
Other versions
EP1021766A4 (fr
Inventor
Thomas C. Walsh
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.)
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
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 Mitsubishi Electric Information Technology Corp, Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Information Technology Corp
Publication of EP1021766A1 publication Critical patent/EP1021766A1/fr
Publication of EP1021766A4 publication Critical patent/EP1021766A4/fr
Withdrawn legal-status Critical Current

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention is generally related to network computing, and more particularly to mobile objects.
  • Mobile objects that are transmitted across a computer network are known.
  • Mobile objects are comprised of code and data, both of which are transmitted across the computer network.
  • Technologies such as client-server protocols, remote procedure call protocols, and distributed object technologies are employed to transmit mobile objects across the computer network. These technologies implement either a "push” model or a "pull” model, both of which have drawbacks.
  • a "pull" model the code for an executing object i ⁇ downloaded from a network source such as a web server.
  • a network source such as a web server.
  • that portion of code is first sought on the local filesystem. If the local filesystem does not include that portion, of the code, a network request is sent to another computer in the network in order to prompt transmission of that portion of code to the local computer.
  • a separate network request must be sent to retrieve code for each class .
  • HTTP Hyper-Text Transfer Protocol
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • Another drawback associated with the pull model is that as an object travels, the code which enables the object to operate must be re-downloaded at each computer. More particularly, when the object arrives at each a destination computer, the object downloads any code which is required but not present on the local filesystem, even if that code was downloaded at the previous destination computer. Previously downloaded code is not cached. Network overhead is incurred as a consequence.
  • a "push" model the code for an executing object is carried with the mobile object. Prior to launching the mobile object, all of the code that will be needed by the object is identified. The code is packaged with the agent and pushed around the network to each destination computer. While the push model reduces network requests in comparison with the pull model, network overhead is still incurred because of the relatively large amount of code that is pushed to every destination computer. In some cases the object will push code for classes that are no longer needed. For example, an agent may create an instance of a particular class of object only in very exceptional circumstances. In such a case it is inefficient for the object to push the code for this class.
  • Known mobile objects initiate travel by performing a subroutine call. The method is sometimes given a name such as "go" or "moveTo,” and the caller is responsible for specifying a name or Uniform Resource Locator ("URL") indicating the destination computer for the mobile object.
  • URL Uniform Resource Locator
  • the travel method is called, the execution of the mobile object is halted and the mobile object is converted into a network transmittable form. On the destination computer the mobile object is restored from the network form and restarted. This restart can either occur on the instruction directly following the call to the travel method, or at the beginning of some known method.
  • a "mobile codebase” object is constructed.
  • the mobile codebase travels with the agent and serves as a repository of code for classes that facilitate agent operation.
  • the launcher specifies a list of related classes. These classes are retained in the mobile codebase.
  • the launcher also specifies a Uniform Resource Locator ("URL") that points to a network source (“home codebase”) from which code can be downloaded.
  • URL Uniform Resource Locator
  • the combination of the mobile codebase and home codebase improve agent operation and reduce network overhead.
  • an agent is launched with a mobile codebase that is preloaded with classes which are certain to be needed. Classes that are unlikely to be needed are stored in the home codebase.
  • the agent with mobile codebase and home codebase provide the desirable features of the push and pull models without the undesirable network overhead incurred by transmitting unneeded classes around the network or re-downloading code.
  • Agent travels are defined by an itinerary data structure.
  • the itinerary is composed of a list of destinations, each of which includes: (1) the hostname of a destination computer on the network to which the agent should travel, and (2) the name of a method that the agent should execute when the agent arrives at the destination computer.
  • An agent is allowed to modify its itinerary. When an agent modifies its itinerary, the agent owner is automatically notified, thus allowing the owner to "follow" the agent wherever it may travel .
  • the itinerary provides advantages related to agent and network management. Inspection of the agent itinerary reveals where the agent has travelled and where the agent may travel in the future. Since the itinerary is a standard data structure, an observer can depend on it to be present. Further, since the itinerary is a separate data structure from the agent, the observer does not need special knowledge of the internal structure of the agent in order to examine the itinerary.
  • Fig. 1 is a block diagram which illustrates agent migration
  • Fig. 2 is a block diagram which illustrates agent execution in conjunction with agent migration
  • Fig. 3 is a block diagram of an agent
  • Fig. 4 is a block diagram of agent interaction with agent managers on multiple computers in a network
  • Fig. 5 is a flow chart which illustrates agent mobility
  • Fig. 6 is a block diagram which illustrates agent operation according to an itinerary
  • Fig. 7 is a block diagram which illustrates the agent runtime environment.
  • Fig. 8 is a flow chart which illustrates agent deserialization.
  • an agent 10 comprises a mobile object which can travel from a first computer 12 to a second computer 14 in a computer network 16.
  • the agent is generated and stored in memory on the first computer for a specific purpose, and includes both data and executable code.
  • the agent executes on the first computer and then migrates to the second computer by being transmitted across the network. The agent then resumes execution on the second computer.
  • the agent acts in accordance with an agent itinerary. For example, the agent will migrate to another computer if the itinerary so indicates.
  • the agent executes a sequence of instructions during operation.
  • a first method 18 is executed on the first computer 12 and a second method 20 is executed on the second computer 14.
  • migration between computers is transparent from the perspective of the agent .
  • agent mobility is preferably facilitated through use of JAVA agent manager Objects 32 and an Object Serialization facility (a product of Sun Microsystems which is known in the art) .
  • Object Serialization operates to serialize objects such that a representative stream of bytes, i.e., data, is generated therefrom.
  • Object Serialization facilitates transmission of an agent across the network by serializing the agent 10 into a format that is suitable for network transmission.
  • Serialization of the agent may also include serialization of sub-objects which are contained within member variables of the agent.
  • the serialization process involves the serialization of executable code, data, and an itinerary as hereinafter discussed in greater detail.
  • the serialized agent is regenerated in the second computer 14 upon arrival.
  • the stream of bytes transmitted along the socket is deserialized in the second computer.
  • Deserialization regenerates the agent in the form in which the agent existed prior to migration, i.e., an object.
  • the agent executes a predetermined method specified by its itinerary. The predetermined method may prompt interaction with another object 34 located on the second computer.
  • the agent is serialized and transmitted to yet another computer, or possibly back to the first computer.
  • the agent is therein deserialized upon arrival and proceeds to execute another predetermined method and interact with that computer. In the case of the agent migrating back to the first computer, such interaction could be with a host application 36 through which an information query was entered.
  • the agent continues migrating across the network in this manner as execution requires. Eventually, the agent is terminated when execution of the itinerary is complete. It should be noted that the agent need not necessarily migrate to the initial host (first) computer after executing on a remote (second) computer. The agent could travel to multiple computers, and may not return to the initial host computer.
  • each agent may include data 22, code 24, sub-objects 26 and an itinerary 28.
  • the data portion 22 includes internal state information associated with the agent.
  • the code portion 24 includes executable code associated with operation of the agent.
  • the itinerary portion 28 specifies destinations for the agent.
  • Sub-objects 26 include code of distinct objects contained within the agent.
  • the agent carries the code for these sub-objects.
  • the code 24 portion of the agent 10 includes a mobile codebase and a reference pointer to a home codebase.
  • the mobile codebase comprises executable code which is retained as part of the agent. When the agent migrates, the mobile codebase is transmitted along with the data, sub-objects and itinerary to the destination.
  • the home codebase is executable code which resides on the computer which originally created and launched the agent or a suitable network server (such as a web server) .
  • the reference pointer to the home codebase is a Uniform Resource Locator ("URL") that allows remote access to the home codebase from other computers in the network. If the agent requires code that is not present in the mobile codebase during execution, the agent retrieves the required code from the home codebase and retains such retrieved code in the mobile codebase.
  • URL Uniform Resource Locator
  • the itinerary 28 is a data structure which defines agent migration parameters.
  • the itinerary is composed of a list of destinations and the name of a method associated with each such destination.
  • each destination entry contains the Transmission Control Protocol/Internet Protocol ("TCP/IP") host name of a computer on the network to which the agent is designated to migrate.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the method associated with the respective destination is invoked upon arrival at that destination.
  • each destination represents a location and a task to be performed at the location.
  • Figs. 4 and 5 illustrate agent mobility.
  • the agent manager 30 examines the itinerary 28 to ascertain the next destination to which the agent 10 is designated to migrate.
  • the agent manager 30 establishes a network connection to the agent manager 32 at the destination computer 14.
  • the agent manager 30 passes the agent and related travel information to the destination agent manager
  • the agent manager 30 then deletes the local copy of the agent, terminates any execution threads which were being used by the agent, and performs other appropriate clean up activities .
  • the agent arrives at the destination computer as illustrated in step 38.
  • the agent arrives in the form of data which includes the code, sub-objects, itinerary and other data.
  • Java/Object Serialization assists the de- serialization and reconstruction of the agent as depicted in step 40.
  • the server then spawns a new thread in which the agent will execute as shown in step 42.
  • a persistent local copy of the agent is then made as illustrated in step 44.
  • the agent manager invokes the proper method of the agent for execution in the spawned thread at this node.
  • the itinerary contains information indicating which method should be invoked at each designated destination computer.
  • the agent then executes as illustrated in step 50.
  • another persistent copy of the agent is stored on the local disk as depicted in step 52 in order to prevent redundant execution in the event that the computer malfunctions before the agent migrates.
  • the agent manager then examines the agent itinerary as illustrated in decision step 54. If the itinerary does not indicate any further destinations then agent execution is deemed complete as shown in step 56. However, if the itinerary indicates further destinations, then the agent manager determines whether the next destination is associated with another computer in decision step 58. If the next destination is not another computer, flow returns to step 44, thereby bypassing network traffic.
  • next destination is associated with a different agent manager then a network connection to the indicated agent manager is established as depicted in step 60.
  • the destination contains a string which indicates where to travel.
  • the string contains either the name (host name) of a computer or a URL to a distributed object.
  • the agent is then serialized as illustrated in Step 62 and subsequently transmitted to the next agent manager as depicted in Step 64.
  • the itinerary includes a listing including identification of each agent manager 66 to which the agent is configured to migrate and identification of a method 68 to execute at each respective agent manager.
  • the agent migrates through the agent managers listed in the itinerary sequentially in the order in which the servers are listed, invoking each respective method upon arrival. Such method could be, for example, querying or updating a database on the destination computer.
  • Fig. 7 illustrates the agent runtime environment.
  • Each computer 70 on the network includes a Java Virtual Machine 72 running therein.
  • a agent manager 74 runs on each respective Virtual Machine 72.
  • the agent manager includes a plurality of threads 76, each thread having an agent 78 associated therewith.
  • a new thread is formed when a new agent arrives at the server, and the agent executes on that thread.
  • Security mechanisms prevent each agent from operating outside the scope of the associated thread.
  • agent execution completes the agent migrates to the next destination identified in the itinerary.
  • the agent manager modifies the mechanism by which Java loads classes.
  • the Java standard library provides an object called a "ClassLoader" which can be subclassed by a programmer to modify the rules that Java follows to load classes.
  • the ClassLoader class allows web browsers to download "applets” from a web server.
  • the agent manager provides a specialized ClassLoader which allows the executable code for mobile agents to travel with the agent.
  • a Java interpreter loads classes as needed for execution from a logical file system on the local computer.
  • agents become separated from the home computer and the home codebase during migration, i.e., agents are separated from the directory or directories on the filesystem of the home computer where the code is stored.
  • sub-objects sometimes need to be created as the agent executes, either as member variables or as temporary variables within the methods. These sub-objects could be instances of classes which are part of the standard Java packages or they could be instances of new classes written by the programmer of the agent.
  • the Java virtual machine may not be able to directly retrieve the code for the particular sub-object.
  • a special ClassLoader is employed by the agent manager whenever an agent attempts to construct an object.
  • the ClassLoader object first attempts to locate a class on the local file system of the computer. If the class is not on the local file system, the ClassLoader searches the mobile codebase. If such attempt fails, the ClassLoader sends a request back to the home machine of the agent.
  • the agent's travel information contains a reference such as a URL which refers back to the home codebase on the home computer, and by accessing the URL the ClassLoader can retrieve classes from the home computer.
  • Agent deserialization is illustrated in Fig. 8. As depicted in step 80 the serialized agent arrives as a stream of data. Java Development Kit Object Serialization classes then call an agent manager related method to perform deserialization as shown in step 82. The method reads agent related objects from the object stream as depicted in step
  • the mobile codebase, itinerary and codebase URL are read by the method.
  • a custom Classloader and ObjectInputStream are constructed as shown in step 86.
  • Object Serialization then reads the agent and other objects from the input stream as depicted in step 88 and step 90, respectively.
  • the ClassLoader retrieves the classes which comprise the agent as illustrated in step 92.
  • the new object's class is loaded once the classes are retrieved. As depicted in step 94, if the class is determined to have been previously loaded then the previously loaded class instance is employed (step 96) and the object is instantiated using the loaded class object as shown in step 98. However, if the class has not been previously loaded as determined in inquiry step 94, then inquiry is made as to whether the class is on the local class path of the destination computer as illustrated in decision step 100. If the class is present on the local machine then the class is loaded therefrom as shown in step 102 and the object is instantiated using the loaded class object as depicted in step 98.
  • step 104 an inquiry is made as to whether the class is in the mobile codebase as shown in step 104. If the class is located in the mobile codebase then the class is loaded therefrom as shown in step 106 and the object is instantiated using the loaded class object as shown in step 98. However, if the class is not located in the mobile codebase in decision step 104 then the class is loaded by accessing the home codebase as shown in step 108.
  • the codebase pointer is an Internet type pointer such as a Hyper- Text Transfer Protocol ("HTTP") URL, as determined in inquiry step 110, then an HTTP request is sent to the local web server as shown in step 112 and the retrieved class is added to the Mobile CodeBase as depicted in step 114.
  • HTTP Hyper- Text Transfer Protocol
  • a remote method request is sent to a RemoteClassLoader object as shown in step 116 and the class is added to the mobile codebase as shown in step 114.
  • the object is instantiated using the loaded class object as shown in step 98. If more objects exist in the stream to be retrieved, as determined in decision step 118, then another object is read from the input stream as illustrated in step 90. If there are no more objects to be retrieved, flow terminates.
  • agents should be derived from the class Agent.
  • agentID host + "/agent” + nextAgentNum( ) ;
  • AgentID is a unique String
  • Agents can override this method to perform any final processing
  • AgentCodebase java_l Tue Nov 12 08:01:22 1996 1
  • AgentCodebase class provides accessability to the "home
  • the agent may have
  • AgentCodebase provides an mechanism through
  • AgentCodebase . j va_l Tue Nov 12 98:01:22 1996
  • AgentCodebase 63 * AgentCodebase
  • server (such as ⁇ b>rmi : //host/RemoteClassLoader/directory ⁇
  • AgentCodebase java_l Tue Nov 12 08:01:22 1996
  • RemoteClassLoaderlmpl retrieveRemoteClass (itsURL, classname);
  • AgentCodebase Java_l Tue Nov 12 38:01:22 1996 4
  • MeteredStream stream (MeteredStream) classUrl . getConten () ;
  • MeteredStream stream (MeteredStream) classUrl . getConten () ;
  • Static Intializer is jsed to initialize some of the CONSTANTS */
  • 40 * represent the system CLASSPATH, or a custom ClassPath specified by the
  • InputStream stream file .getInputStream( ) ;
  • This parameter can have the value ⁇ b>JASProperties .USER ⁇ /b>
  • AgentClassInfoGatherer class peeks ⁇ i:o an agents class file to
  • AgentClassInfoGatherer verifies that the class file indicated
  • AgentClassIn oGatherer (String agentDir, String agentFilename)
  • Class agent ClassLoader . loadAgentClassFromFile (agentFilename, true) ; 110

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention se rapporte à un objet agent mobile ('l'agent') (10), qui exécute une première méthode (18) sur un premier ordinateur (12), passe du premier ordinateur (12) à un deuxième ordinateur (14), et un exécute une seconde méthode (20) sur le second ordinateur (14). La première méthode et la deuxième méthode, le premier ordinateur et le deuxième ordinateur sont désignés dans un itinéraire (28). L'agent comprend des données (22) et un code exécutable (24, 26), qui sont sérialisés pour être transmis du premier ordinateur au second ordinateur sous forme de données. Les données contenant l'agent sont ensuite désérialisées dans le second ordinateur pour régénérer l'agent sous forme d'un objet. La partie du code exécutable de l'agent peut être complétée par un code provenant d'une base de codes locale située dans un autre ordinateur.
EP97948189A 1996-11-14 1997-11-12 Mobilite d'un agent en fonction d'un itineraire, comprenant la mobilite d'un code executable Withdrawn EP1021766A4 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US3090696P 1996-11-14 1996-11-14
US30906P 1996-11-14
PCT/US1997/020232 WO1998021662A1 (fr) 1996-11-14 1997-11-12 Mobilite d'un agent en fonction d'un itineraire, comprenant la mobilite d'un code executable

Publications (2)

Publication Number Publication Date
EP1021766A1 true EP1021766A1 (fr) 2000-07-26
EP1021766A4 EP1021766A4 (fr) 2003-03-12

Family

ID=21856628

Family Applications (2)

Application Number Title Priority Date Filing Date
EP97946570A Withdrawn EP0938798A4 (fr) 1996-11-14 1997-11-12 Cadre de collaboration synchrone, dynamique pour agents mobiles
EP97948189A Withdrawn EP1021766A4 (fr) 1996-11-14 1997-11-12 Mobilite d'un agent en fonction d'un itineraire, comprenant la mobilite d'un code executable

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP97946570A Withdrawn EP0938798A4 (fr) 1996-11-14 1997-11-12 Cadre de collaboration synchrone, dynamique pour agents mobiles

Country Status (4)

Country Link
EP (2) EP0938798A4 (fr)
JP (2) JP2001504609A (fr)
AU (2) AU5171798A (fr)
WO (2) WO1998021662A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0928089A2 (fr) * 1997-11-13 1999-07-07 Mitsubishi Denki Kabushiki Kaisha Mobilité des agents dans un réseau

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065039A (en) * 1996-11-14 2000-05-16 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Dynamic synchronous collaboration framework for mobile agents
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
JP3689564B2 (ja) * 1998-07-31 2005-08-31 キヤノン株式会社 Oa装置、oaシステム、制御方法及び記憶媒体
US6694370B1 (en) * 1998-08-01 2004-02-17 International Business Machines Corporation Computerized method and system for implementing distributed applications
JP3697531B2 (ja) * 1998-11-24 2005-09-21 オムロンエンタテインメント株式会社 エージェントシステム及び通信機器及び通信方法
GB2366398B (en) * 2000-08-25 2005-02-23 Motorola Inc Agents
US7861252B2 (en) 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture
US6816895B2 (en) 2001-03-26 2004-11-09 Motorola, Inc. Updating the capability negotiation information of a mobile station with an editing application downloaded from a service provider
US8335813B2 (en) 2007-05-01 2012-12-18 Illinois Institute Of Technology Systems, methods, and protocols for process migration and group membership management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0634719A2 (fr) * 1993-07-08 1995-01-18 General Magic, Inc. Système et méthode pour calcul distribué basé sur le mouvement, l'exécution, et l'interaction de processus dans un réseau

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503535A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for recovery from failures in a multiprocessing system
JPH0451335A (ja) * 1990-06-20 1992-02-19 Oki Electric Ind Co Ltd データベース処理装置
US5499364A (en) * 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0634719A2 (fr) * 1993-07-08 1995-01-18 General Magic, Inc. Système et méthode pour calcul distribué basé sur le mouvement, l'exécution, et l'interaction de processus dans un réseau

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BERGHOFF J ET AL: "Agent-based configuration management of distributed applications" CONFIGURABLE DISTRIBUTED SYSTEMS, 1996. PROCEEDINGS., THIRD INTERNATIONAL CONFERENCE ON ANNAPOLIS, MD, USA 6-8 MAY 1996, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 6 May 1996 (1996-05-06), pages 52-59, XP010164685 ISBN: 0-8186-7395-8 *
CHUCK MCMANIS: "The basics of Java class loaders" JAVAWORLD, [Online] October 1996 (1996-10), XP002186623 Retrieved from the Internet: <URL:http://www.javaworld.com/javaworld/jw -10-1996/jw-10-indepth.html> [retrieved on 2002-01-04] *
MAGEDANZ T ET AL: "Intelligent agents: an emerging technology for next generation telecommunications?" PROCEEDINGS OF IEEE INFOCOM 1996. CONFERENCE ON COMPUTER COMMUNICATIONS. FIFTEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES. NETWORKING THE NEXT GENERATION. SAN FRANCISCO, MAR. 24 - 28, 1996, PROCEEDINGS OF INFOCOM, L, vol. 2 CONF. 15, 24 March 1996 (1996-03-24), pages 464-472, XP010158104 ISBN: 0-8186-7293-5 *
ORDILLE J J: "When agents roam, who can you trust?" EMERGING TECHNOLOGIES AND APPLICATIONS IN COMMUNICATIONS, 1996. PROCEEDINGS., FIRST ANNUAL CONFERENCE ON PORTLAND, OR, USA 7-10 MAY 1996, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 7 May 1996 (1996-05-07), pages 188-191, XP010164899 ISBN: 0-8186-7585-3 *
PERRET S ET AL: "Mobile assistant programming for efficient information access on the WWW" COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 28, no. 11, 1 May 1996 (1996-05-01), pages 1373-1383, XP004018235 ISSN: 0169-7552 *
See also references of WO9821662A1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0928089A2 (fr) * 1997-11-13 1999-07-07 Mitsubishi Denki Kabushiki Kaisha Mobilité des agents dans un réseau
EP0928089A3 (fr) * 1997-11-13 2002-03-27 Mitsubishi Denki Kabushiki Kaisha Mobilité des agents dans un réseau

Also Published As

Publication number Publication date
EP0938798A4 (fr) 2003-02-12
WO1998021863A1 (fr) 1998-05-22
JP2001504609A (ja) 2001-04-03
EP1021766A4 (fr) 2003-03-12
AU5171798A (en) 1998-06-03
AU5430498A (en) 1998-06-03
WO1998021662A1 (fr) 1998-05-22
EP0938798A1 (fr) 1999-09-01
JP2001502093A (ja) 2001-02-13

Similar Documents

Publication Publication Date Title
US6389452B1 (en) Method of communicating between objects and agents across a computer network
US7415522B2 (en) Extensible framework for transferring session state
Rozier et al. The Chorus distributed operating system: some design issues
US6415315B1 (en) Method of moving objects in a computer network
US5481721A (en) Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
Gray et al. D'Agents: Applications and performance of a mobile‐agent system
US6654793B1 (en) System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6233601B1 (en) Itinerary based agent mobility including mobility of executable code
JP3405666B2 (ja) アプレットを非ipネットワーク上で実行する方法及びコンピュータ・ワークステーション
EP0623876A2 (fr) Procédé et dispositif pour liaison de gestionnaires d&#39;objets pour traitement coopératif dans une environnement d&#39;ordinateur orienté objets
US20020138659A1 (en) Method and system for application development and a data processing architecture utilizing destinationless messaging
US6535928B1 (en) Method of determining the timing for reclaiming a remote object
USRE41706E1 (en) Moving objects in a distributed computing environment
JPH08115223A (ja) コンピュータで実施する方法及びデータ処理システム
JP2002132739A (ja) スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体
US6442586B1 (en) Method of moving objects across multiple locations in a computer network
EP1021766A1 (fr) Mobilite d&#39;un agent en fonction d&#39;un itineraire, comprenant la mobilite d&#39;un code executable
US6834389B1 (en) Method of forwarding messages to mobile objects in a computer network
US6519653B1 (en) Method of communicating between agent objects in a computer network
AU2004264626B2 (en) Transparent session migration across servers
Hiltunen Configuration management for highly customisable software
JP3924279B2 (ja) 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ
Kono et al. An implementation method of migratable distributed objects using an RPC technique integrated with virtual memory management
Broos et al. Mobile agent platform assessment report
US6145013A (en) Distributed instantiation system and method

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19990611

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

RIC1 Information provided on ipc code assigned before grant

Free format text: 7G 06F 13/00 A, 7G 06F 9/46 B

A4 Supplementary search report drawn up and despatched

Effective date: 20030127

17Q First examination report despatched

Effective date: 20030408

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20040217