Beschreibungdescription
Agentensystem, Computernetzwerk und Verfahren zum Laden eines Agentensystems von einem Host-Computer auf einen Client- Computer eines ComputernetzwerkesAgent system, computer network and method for loading an agent system from a host computer to a client computer of a computer network
Die Erfindung betrifft ein Agentensystem, insbesondere ein Agentensystem für mobile Agenten, ein Computernetzwerk mit mehreren mittels Datenleitung vernetzter Computer und ein Verfahren zum Laden eines Agentensystems von einem Host- Computer auf einen Client-Computer.The invention relates to an agent system, in particular an agent system for mobile agents, a computer network with a plurality of computers networked by means of data lines, and a method for loading an agent system from a host computer to a client computer.
Agenten sind autonome, kooperative So twareeineheiten, die aus Code und Daten bestehen. Sie sind eigenständig funktio- nierende Softwareeinheiten, bei welchen keine standige Interaktion mit dem Benutzer notwendig ist. Es gibt sowohl stationäre als auch mobile Agenten.Agents are autonomous, cooperative software units that consist of code and data. They are independently functioning software units that do not require constant interaction with the user. There are both stationary and mobile agents.
Mobile Agenten sind z.B. aus der US 5,603,031 bzw. aus dem Buch Software Agents, Bradshaw Jeffrey, Menlo Park, California: AAAI Press/The MIT Press, 1996 bekannt. Das in diesem Buch enthaltene Kapitel über mobile Agenten ist in einer etwas abgeänderten Fassung im Internet unter der Adresse http : //www. generalmagic . com/technology/techwhitepaper . html abrufbar.Mobile agents are e.g. from US 5,603,031 and from the book Software Agents, Bradshaw Jeffrey, Menlo Park, California: AAAI Press / The MIT Press, 1996. The chapter in this book about mobile agents is in a slightly modified version on the Internet at http: // www. generalmagic. com / technology / techwhitepaper. html available.
Mobile Agenten sind Programme, die in einem Computernetzwerk an verschiedenen Platzen aktiv sein können und ihren Ort im Computernetzwerk verandern können. Herkommlicherweise werden Programme in einem Netzwerk von einem Computer auf einen anderen Computer geladen, wahrend sie nicht aktiv sind. Mobile Agenten hingegen werden zunächst aktiviert und verandern selbsttätig ihre Position im Netzwerk wahrend sie aktiv sind.Mobile agents are programs that can be active in different places in a computer network and can change their location in the computer network. Traditionally, programs on a network are loaded from one computer to another while they are not running. Mobile agents, on the other hand, are initially activated and automatically change their position in the network while they are active.
Dieser kleine aber grundlegende Unterschied zu herkömmlichen Programmen hat erhebliche Auswirkungen auf die Art der Anwendungen der mobilen Agenten im Netzwerk. Die Agenten werden an
einem bestimmten Platz des Netzwerkes erstellt, wobei die vom Agenten auszuführenden Funktionen festgelegt werden, so daß der Agent nach seiner Übermittlung zu einem anderen Platz des Netzwerkes den vorherigen Platz des Netzwerkes repräsentiert und die entsprechenden Funktionen ausfuhrt. Hierdurch können an einem Platz eines Netzwerkes Funktionen festgelegt werden, die an einem anderen Platz des Netzwerkes ausgeführt werden. Dies ist grundsätzlich auch mit herkömmlichen Systemen möglich, wobei hierbei im Netzwerk zwischen den zwei Platzen ein permanenter Informationsaustausch notwendig ist, damit von dem Platz, an dem die entsprechenden Steuervorgange festgelegt werden, diese an den Platz übertragen werden, an dem sie ausgeführt werden.This small but fundamental difference to conventional programs has a significant impact on the way mobile agents are used on the network. The agents are on created a specific location of the network, the functions to be performed by the agent being determined so that the agent, after being transmitted to another location in the network, represents the previous location of the network and performs the corresponding functions. In this way, functions can be defined in one place of a network which are carried out in another place of the network. In principle, this is also possible with conventional systems, in which case a permanent exchange of information is necessary in the network between the two places, so that they are transferred from the place where the corresponding control processes are defined to the place where they are carried out.
Die mobilen Agenten erfordern hingegen keine derartigen Steuervorgange, da ihre Funktionen einmal vorab festgelegt werden und dann selbsttätig ausgeführt werden. Hierdurch wird der Datendurchsatz des Netzwerkes erheblich vermindert, wobei an den vom Auftraggeber entfernten Platzen beliebige Vorgange ausgeführt werden können.The mobile agents, on the other hand, do not require any such control processes, since their functions are defined in advance and then carried out automatically. This considerably reduces the data throughput of the network, and any operations can be carried out at the locations remote from the client.
Die Agenten müssen jedoch nicht immer vollständig losgelost von ihrem Initiator arbeiten, sondern können zu ihm oder auch zu anderen Platzen im Netzwerk Kommunikationskanale aufbauen.However, the agents do not always have to work completely independently of their initiator, but can set up communication channels with him or with other places in the network.
Bei einer Bewegung von einem Platz eines Netzwerkes zu einem anderen Platz des Netzwerkes fuhren die mobilen Agenten einen Migrations-Befehl (z.B. „go") aus. Ein solcher Befehl erfordert eine Zielbeschreibung, die den Namen, Adresse oder den Typ des Platzes oder eine Kombination davon beinhaltet, an den sich der Agent bewegen soll. Unterschiedliche Platze müssen nicht immer an unterschiedlichen Computern im Netzwerk angeordnet sein. Es ist auch möglich, daß Agenten an unterschiedlichen Platzen innerhalb eines Computers aktiv sind.
Mobile Agenten können sich auch vervielfachen, so daß sie an unterschiedlichen Platzen unabhängig voneinander ihre Funktionen ausfuhren.When moving from one place in a network to another place in the network, the mobile agents execute a migration command (for example “go”). Such a command requires a description of the destination, the name, address or type of the place or a combination of which the agent is to move to. Different locations do not always have to be located on different computers in the network. It is also possible that agents are active in different locations within a computer. Mobile agents can also multiply so that they perform their functions independently of one another in different places.
Mobile Agenten werden häufig zum Sammeln vorbestimmter Daten eingesetzt, die zum Teil vor Ort ausgewertet werden, so daß an den ursprünglichen Auftraggeber ein schon vorverarbeitetes Ergebnis gesandt wird.Mobile agents are often used to collect predetermined data, some of which is evaluated on site, so that a pre-processed result is sent to the original client.
Eine möglich Anwendung für derartige mobile Agenten ergibt sich z.B., wenn ein Kaufer eines bestimmten Gegenstandes, vom Verkaufer einen Tiefpreis garantiert bekommt. Dann kann der Kaufer einen oder mehrere mobile Agenten aussenden, die entsprechende Angebote von anderen Anbietern selbständig emho- len, evtl. über einen gewissen Zeitraum überwachen, und an den Kaufer senden, so daß er diese mit dem ihm vom Verkaufer angebotenen Preis vergleichen kann.A possible application for such mobile agents arises, for example, if a buyer of a certain item is guaranteed a low price by the seller. The buyer can then send out one or more mobile agents who independently receive corresponding offers from other providers, possibly monitor them over a certain period of time, and send them to the buyer so that he can compare them with the price offered by the seller.
Weitere, bekannte mobile Agenten und Agentensysteme werden unter den Bezeichnungen Aglets, Voyager und Concordia angeboten und können in der Regel über das Internet bezogen werden.Other well-known mobile agents and agent systems are offered under the names Aglets, Voyager and Concordia and can usually be obtained via the Internet.
Damit die mobilen Agenten an den einzelnen Computern des Netzwerkes aktiv werden können, muß an diesen Computern je- weils ein sogenanntes Agentensystem vorhanden sein. Ein Agentensystem ist eine Zusammenfassung von Dienstprogrammen, die die jeweiligen Agenten für ihre Aufgaben benotigen. Diese Dienstprogramme umfassen in der Regel einen Agenten-Manager, der mit weiteren Dienstprogrammen in Verbindung steht, so daß die aktiven mobilen Agenten auf die jeweiligen Computerressourcen zurückgreifen können und über Netzwerkschnittstellen von einem Agentensystem des Netzwerkes zu einem anderen Agentensystem des Netzwerkes wandern können. In der Regel ist eine Agenten-System-Steuerung vorgesehen, die den Ablauf des Agentensystems auf dem jeweiligen Computer regelt.
Diese Agentensysteme bilden die Plätze im Netzwerk, an welchen die Agenten aktiv werden können.So that the mobile agents can become active on the individual computers in the network, a so-called agent system must be present on each of these computers. An agent system is a collection of utilities that each agent needs to perform its tasks. These utilities usually include an agent manager, which is connected to other utilities, so that the active mobile agents can access the respective computer resources and can migrate from one agent system of the network to another agent system of the network via network interfaces. As a rule, an agent system control is provided, which regulates the sequence of the agent system on the respective computer. These agent systems form the places in the network where the agents can become active.
Derartige Agentensysteme sind in der Regel in einer plattfor- munabhängigen Computersprache, wie z.B. JAVA, geschrieben, so daß sie auf beliebigen Computersystemen laufen können.Such agent systems are usually in a platform-independent computer language, such as JAVA, written so that they can run on any computer system.
Durch das Übertragen der Agenten im Netzwerk, während sie aktiv sind, wird ein neues Programmierparadigma geschaffen, nach dem sich der Programmcode selbst zu den Daten verlagert, die zu verarbeiten sind, anstelle daß Daten zum verarbeitenden Code transportiert werden oder der verarbeitende Code im nicht-aktiven Zustand auf den jeweiligen Computer geladen werden muß .By transferring the agents on the network while they are active, a new programming paradigm is created, according to which the program code itself shifts to the data to be processed, instead of transporting data to the processing code or the processing code in the non- active state must be loaded on the respective computer.
Agenten sind in der Regel relativ kleine Programme, die ausgesandt werden und die vor Ort vorhandene Intelligenz ausnützen. Da mobile Agenten ihre Aufträge auch abarbeiten können, wenn keine permanente Netzwerkverbindung zwischen den einzel- nen Computern besteht, sind sie ideal für die Anwendung auf mobilen Computern geeignet, die in der Regel nicht permanent an ein Netzwerk angeschlossen sind.Agents are usually relatively small programs that are sent out and take advantage of the intelligence available on site. Since mobile agents can process their jobs even when there is no permanent network connection between the individual computers, they are ideally suited for use on mobile computers, which are usually not permanently connected to a network.
Die bisher bekannten Agentensysteme sind jedoch zu u fang- reich, als daß sie auf beliebigen einfachen mobilen Computern installiert werden können.The previously known agent systems are however too extensive to be installed on any simple mobile computers.
Im Rahmen der vorliegenden Patentanmeldung umfaßt der Begriff Computer auch einfache Prozeßrechner, die lediglich mit einer minimalen Hardwarekonfiguration (Prozessor, Speicher und Anzeige) ausgestattet sind. Derartige einfache Prozeßrechner sind beispielsweise auf einem einzigen Chip integriert.In the context of the present patent application, the term computer also includes simple process computers which are only equipped with a minimal hardware configuration (processor, memory and display). Such simple process computers are integrated, for example, on a single chip.
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Agen- tensystem zu schaffen, das den Funktionsumfang bekannterThe invention is therefore based on the object of creating an agent system which is more familiar with the scope of functions
Agentensysteme bieten kann und dennoch auch für kleine Computer, wie z.B. kleine Prozeßrechner, geeignet ist. Ferner
liegt der Erfindung die Aufgabe zugrunde, ein entsprechendes Computernetzwerk und ein Verfahren zum Laden eines Agentensystems von einem Host-Computer auf einen Client-Computer eines Computernetzwerkes zu schaffen. Die Aufgaben werden durch ein Agentensystems mit den Merkmalen des Anspruchs 1, ein Computernetzwerk mit den Merkmalen des Anspruchs 6 und ein Verfahren mit den Merkmalen des Anspruchs 9 gelost. Vorteilhafte Ausgestaltungen der Erfindung sind m den Unteranspruchen angegeben.Can offer agent systems and is also suitable for small computers, such as small process computers. Further The invention has for its object to provide a corresponding computer network and a method for loading an agent system from a host computer to a client computer of a computer network. The tasks are solved by an agent system with the features of claim 1, a computer network with the features of claim 6 and a method with the features of claim 9. Advantageous embodiments of the invention are specified in the subclaims.
Das erfmdungsgemaße Agentensystem, das auf m einem Computernetzwerk angeschlossene Computer installierbar ist, weist eine Agentenplattform und eine Agentensystemsteuerung auf. Die Agentenplattform umfaßt Dienstprogramme, welche ein mobi- 1er Agent benotigt, um an dem jeweiligen Computer ausgeführt werden zu können. Die Agenten-System-Steuerung beinhaltet einen Agenten-System-Launcher, der unabhängig vom übrigen Agentensystem auf einen Client-Computer geladen werden kann und zum Laden des Agentensystems von einem Host-Computer dient.The agent system according to the invention, which can be installed on a computer connected to a computer network, has an agent platform and an agent system controller. The agent platform comprises utilities which a mobile agent requires in order to be able to be executed on the respective computer. The agent system control includes an agent system launcher which can be loaded onto a client computer independently of the rest of the agent system and is used to load the agent system from a host computer.
Das erfmdungsgemaße Agentensystem zeichnet sich dadurch aus, daß der Agenten-System-Launcher derart ausgebildet ist, daß vor dem Laden eines Agentensystems von einem Host-Computer auf den Client-Computer, auf dem zumindest der Agenten- System-Launcher installiert ist, eine die Hardware und/oder Software des Client-Computers beschreibende Kennung an den Host-Computer gesendet wird, und ein auf dem Host-Computer installiertes Serversystem, das Agentensyste - Aktualisierungs-Programm, derart ausgebildet ist, daß es nach Maßgabe der die Hardware und/oder die Software des Client- Computers beschreibenden Kennung ein an die Hardware und/oder Software des Client-Computers angepaßtes Agentensystem zusammenstellt und dieses auf den Client-Computer ladt.The agent system according to the invention is characterized in that the agent system launcher is designed in such a way that, prior to loading an agent system, from a host computer to the client computer on which at least the agent system launcher is installed Hardware and / or software of the client computer descriptive identifier is sent to the host computer, and a server system installed on the host computer, the agent system - update program, is designed such that it is in accordance with the hardware and / or the software describing the client computer identifies an agent system adapted to the hardware and / or software of the client computer and loads it onto the client computer.
Im Sinne der vorliegenden Erfindung ist ein Host-Computer ein beliebiger Computer des Netzwerkes, von dem ein Agentensystem auf einen anderen Computer geladen werden kann, der im Sinne
der vorliegenden Erfindung als Client-Computer bezeichnet wird. Es kann somit ein jeder Computer eines Netzwerkes ein Host-Computer und ein Client-Computer sein, unabhängig von seiner sonstigen Funktion im Netzwerk.In the sense of the present invention, a host computer is any computer in the network from which an agent system can be loaded onto another computer of the present invention is referred to as a client computer. Each computer in a network can thus be a host computer and a client computer, regardless of its other function in the network.
Durch die erfindungsgemäße Ausgestaltung des Agenten-System- Launchers, der eine den Client-Computer kennzeichnende Kennung an den Host-Computer sendet, und die erfindungsgemäße Ausgestaltung des auf den Host-Computer installierten Agen- tensystems, das nach Maßgabe dieser Kennung ein angepaßtes Agentensystem zusammenstellt und dieses dem Client-Computer zur Verfügung stellt, ist es möglich, auch kleine, insbesondere mobile Computer, die beispielsweise aus einem einfachen Prozeßrechner oder einem persönlichen digitalen Assistenten bestehen, in ein Computernetzwerk einzubinden und mit dem erfindungsgemäßen Agentensystem zu versehen, da dieses automatisch an den jeweiligen Client-Computer und dessen Leistungsfähigkeit angepaßt wird.The inventive configuration of the agent system launcher, which sends an identifier identifying the client computer to the host computer, and the inventive configuration of the agent system installed on the host computer, which compiles an adapted agent system according to this identifier and this makes it available to the client computer, it is also possible to integrate small, in particular mobile computers, which for example consist of a simple process computer or a personal digital assistant, into a computer network and to provide them with the agent system according to the invention, since this automatically switches on the respective client computer and its performance is adapted.
Typische Anpassungskriterien sind z.B. die Anzeige (z.B.Typical adjustment criteria are e.g. the display (e.g.
Farbbildröhre, Farb-LCD-Bildschirm, s/w-LCD-Bildschirm, kleine alphanumerische LCD-Anzeige oder kleine nur-numerische Anzeige) , der verfügbare Speicherplatz bzw. das verfügbare Speichermedium (RAM, Festplatte oder dergleichen) oder die am Computer zur Verfügung stehende Systemsoftware (JAVA und seine Derivate, Windows, Windows-CE, usw.).Color picture tube, color LCD screen, b / w LCD screen, small alphanumeric LCD display or small numerical display only), the available storage space or the available storage medium (RAM, hard disk or the like) or that available on the computer system software (JAVA and its derivatives, Windows, Windows-CE, etc.).
Durch die individuelle Anpassung der auf den jeweiligen Computer installierten Agentensysteme können bei Computern mit hoher Leistungsfähigkeit Agentensysteme mit entsprechend großem Leistungsumfang installiert werden und bei Computern mit kleinerer Leistungsfähigkeit vereinfachte Agentensysteme installiert werden, die speziell auf die vorhandene Software und Hardware einschließlich eventuell vorhandener Peripherie- gerate zugeschnitten sind.
) G r M P* t->By individually adapting the agent systems installed on the respective computer, agent systems with a correspondingly large scope of performance can be installed on computers with high performance and simplified agent systems can be installed on computers with lower performance, which are tailored specifically to the existing software and hardware, including any peripheral devices are. ) G r MP * t->
Lπ O (_π O Lπ o Lπ π Hl φ CΛ P Co Φ Φ D. ffi CΛ h- ' M ιQ Λ rt cn < Pl CΛ Z Ps- rt α Ό rt wLπ O (_π O Lπ o Lπ π Hl φ CΛ P Co Φ Φ D. ffi CΛ h- 'M ιQ Λ rt cn <Pl CΛ Z Ps- rt α Ό rt w
O PJ Φ P P ιQ φ P ;-v P I--* Φ o H H H Φ ^ P PJ o 3 ιQ d P Φ d Φ J d Φ PO PJ Φ P P ιQ φ P; -v P I - * Φ o H H H Φ ^ P PJ o 3 ιQ d P Φ d Φ J d Φ P
3 P1 l-i P P Φ d ιQ rt rt - ' H CΛ Φ Φ 3 tr cn sQ rt P- Φ Hi o P- 9 3 rt 3 33 P 1 li PP Φ d ιQ rt rt - 'H CΛ Φ Φ 3 tr cn sQ rt P- Φ Hi o P- 9 3 rt 3 3
Ό N P 3 φ - d 1 Φ rt rt l-i sQ d rt Φ N P- Φ 3 " n 3 cn Φ CΛ d cn PJ Φ < rt CΛ PJ n l-i 1 d rt s: 3 Φ CΛ P1 CΛ P rt α tr Φ •< CΛ ι-i • ζ rt 1— ' P- o Φ P_ P* o Φ Z n P Φ ιQ 3 P rt 3 Φ Φ P Φ ι-( cn P CΛ Φ φ P-* cn 3 P- P > P> P 3 Φ o IQ H- 1 > n ) Φ 3 3 3 P rt n d rt P* l-i φ Φ CΛ •-Q &α CΛ Ό 1 l-i 3 CΛ PJ rt PJ tr1 sQ 3J 3 3 1 w Φ tr 3 Φ rtΌ NP 3 φ - d 1 Φ rt rt li sQ d rt Φ N P- Φ 3 " n 3 cn Φ CΛ d cn PJ Φ <rt CΛ PJ n li 1 d rt s: 3 Φ CΛ P 1 CΛ P rt α tr Φ • <CΛ ι-i • ζ rt 1— 'P- o Φ P_ P * o Φ Z n P Φ ιQ 3 P rt 3 Φ Φ P Φ ι- (cn P CΛ Φ φ P- * cn 3 P - P>P> P 3 Φ o IQ H- 1> n ) Φ 3 3 3 P rt nd rt P * li φ Φ CΛ • -Q & α CΛ Ό 1 li 3 CΛ PJ rt PJ tr 1 sQ 3 J 3 3 1 is 3
•< φ H d ) Ό Hι l-i Φ 3 PJ Φ α CΛ Φ Φ 3 3 3 α 3 Φ• <φ H d ) Ό Hι li Φ 3 PJ Φ α CΛ Φ Φ 3 3 3 α 3 Φ
PJ P- P ι-3 cn CΛ P tr Φ rt cn Φ d d P- t-i sQ d 3 P 3 P P- α d Φ 3 l-i d sQ φ Φ Φ rt rt Φ ι-i Φ cn P rt 3 3 Φ Φ 3 rt IQ Φ cn 3 3 ιQ s> P J Φ l-h P* P- P Φ Φ P- d ι-( d Φ ; l-i Ό n Φ PJ φ rt rt N Φ φ ^ J Φ P d ι-iPJ P- P ι-3 cn CΛ P tr Φ rt cn Φ dd P- ti sQ d 3 P 3 P P- α d Φ 3 li d sQ φ Φ Φ rt rt Φ ι-i Φ cn P rt 3 3 Φ Φ 3 rt IQ Φ cn 3 3 ιQ s> PJ Φ lh P * P- P Φ Φ P- d ι- (d Φ; li Ό n Φ PJ φ rt rt N Φ φ ^ J Φ P d ι-i
P- α PJ 3 3 P 2 P ^ ι-i rt J 3J 3 & CΛ N Φ Φ 3 ι-( d 3 φ rt n Φ Φ Φ CΛ Φ ιQ vQ ιQ PJ H α < &> φ CΛ Z 3 P- PJ J Hi P) O < φ ^ CΛ P P- Φ Φ p Φ o P) O rt l-i • PJ Φ 1 3 •z rt d 3 3 OP- α P J 3 3 P 2 P ^ ι-i rt J 3 J 3 & CΛ N Φ Φ 3 ι- (d 3 φ rt n Φ Φ Φ CΛ Φ ιQ vQ ιQ PJ H α <&> φ CΛ Z 3 P- PJ J Hi P ) O <φ ^ CΛ P P- Φ Φ p Φ o P ) O rt li • PJ Φ 1 3 • z rt d 3 3 O
P α 3 - cn 3 P α P H- 3 So l-i Φ CΛ d vQ l-i tr* Φ φ Φ n α P J l-i φ n Φ P- rt Φ PJ φ ^ l-J rt cn H- rt Hi φ J-V PJ 3 rt 3* Φ l-i rt rt o p p- CΛ rt α Φ Hi cn cn φ <1 0- Φ 3 Φ 3 d N PJ 3 d PJ P- ΦP α 3 - cn 3 P α P H- 3 So li Φ CΛ d vQ li tr * Φ φ Φ n α PJ li φ n Φ P- rt Φ PJ φ ^ lJ rt cn H- rt Hi φ JV PJ 3 rt 3 * Φ li rt rt op p- CΛ rt α Φ Hi cn cn φ <1 0- Φ 3 Φ 3 d N PJ 3 d PJ P- Φ
13 H P- 3 Φ Φ d Φ Φ H- CΛ 3 s: rt 3 n ≤ 3 Z § d cn P*13 H P- 3 Φ Φ d Φ Φ H- CΛ 3 s: rt 3 n ≤ 3 Z § d cn P *
P N Φ > Φ p- P P P l-i ι-i >-• iQ rt Φ Φ P- o o Φ Φ < Hi n P1 φ φ P ιQ Φ ιQ - rt ^Q φ cn Φ P> ιQ P 3 3 3- 3 ι-i ≥; P Φ α trPN Φ> Φ p- PPP li ι-i> - • iQ rt Φ Φ P- oo Φ Φ <Hi n P 1 φ φ P ιQ Φ ιQ - rt ^ Q φ cn Φ P> ιQ P 3 3 3- 3 ι-i ≥; P Φ α tr
3 P- rt Φ ι-( l-S Φ rt Φ d Φ d Φ > α 3 Φ rt CΛ φ Ό φ P l-i P- P- rT 3 1 P Φ d 3 P P Hi Φ tr ιQ φ rt Φ •< 0-, l-i d rt cn Φ 3 PJ φ3 P- rt Φ ι- (lS Φ rt Φ d Φ d Φ> α 3 Φ rt CΛ φ Ό φ P li P- P- rT 3 1 P Φ d 3 PP Hi Φ tr ιQ φ rt Φ • <0- , li d rt cn Φ 3 PJ φ
1 Φ π (ϊ- ιQ J PJ rt PJ Φ Φ cn Φ P p) ι-i cn φ rt CΛ N 0 O cn 3 l-i o O Φ ? Φ P-* Φ φ P 3 3 φ α Φ rt 3 P Φ φ z o tr l-i rt1 Φ π (ϊ- ιQ J PJ rt PJ Φ Φ cn Φ P p ) ι-i cn φ rt CΛ N 0 O cn 3 li o O Φ? Φ P- * Φ φ P 3 3 φ α Φ rt 3 P Φ φ zo tr li rt
O H 3 P rt P- Φ p- d ιQ P rt Φ cn ι-f Φ 3 Φ 3 l-i P- φ 3 P P- PJ P- wO H 3 P rt P- Φ p- d ιQ P rt Φ cn ι-f Φ 3 Φ 3 l-i P- φ 3 P P- PJ P- w
3 Φ Ό CΛ d 3 3 cn Φ cn ω •n CΛ 1 ι-i • rt 3 3 J cn 3 tr l-i φ o P* P* l-i3 Φ Ό CΛ d 3 3 cn Φ cn ω • n CΛ 1 ι-i • rt 3 3 J cn 3 tr l-i φ o P * P * l-i
Ό P d SD P> P o CΛ •< PJ Φ CΛ Hl CΛ O d rt CΛ >r < 3^ PJ φ Hi d P* rt CΛ tP s: Φ tr rt CΛ α ω H- H- rt s z o P- Hl J α rt o Φ rt P P rt Φ Φ rt P- p- P- ι-S ιQ PJ rt H CΛ P CΛ 3 Φ P φ 3 3 H- Φ rt < l-i P P Φ L . 3 --JΌ P d SD P> P o CΛ • <PJ Φ CΛ Hl CΛ O d rt CΛ> r <3 ^ P J φ Hi d P * rt CΛ tP s: Φ tr rt CΛ α ω H- H- rt szo P - Hl J α rt o Φ rt PP rt Φ Φ rt P- p- P- ι-S ιQ PJ rt H CΛ P CΛ 3 Φ P φ 3 3 H- Φ rt <li PP Φ L. 3 --Y
Φ l-i Φ cn *JQ l-i d Φ ι-i Φ Φ d rt α 3 H l-i O CΛ Φ P- cn PJ o 3 Φ ιQ i-i φ α ι-f α ω 3 P α P Hl rt 3 ω P ? Φ d D- α d rt P* P- rt ι-f ^ P Φ rt z dΦ li Φ cn * JQ li d Φ ι-i Φ Φ d rt α 3 H li O CΛ Φ P- cn PJ o 3 Φ ιQ ii φ α ι-f α ω 3 P α P Hl rt 3 ω P? Φ d D- α d rt P * P- rt ι-f ^ P Φ rt zd
Φ CΛ φ J • ιQ d Φ cn 1X3 PJ 3 3 P) "* Φ rt J 3 φ ≥: P- 3' Φ 3 Φ φ 3Φ CΛ φ J • ιQ d Φ cn 1 X3 PJ 3 3 P ) "* Φ rt J 3 φ ≥: P- 3 'Φ 3 Φ φ 3
<Q ω CΛ ι-i σ tr rt ι- Φ ιQ PJ i-i π P- sQ öd ι_ι 3 3 1 U3 3 3 Φ φ<Q ω CΛ ι-i σ tr rt ι- Φ ιQ PJ i-i π P- sQ öd ι_ι 3 3 1 U3 3 3 Φ φ
Φ P- α d ιQ ι-f • PJ O P tr1 cn Hi CL l-i 3 rt rt 3 Φ o « CΛ ■ > P Φ P φ Φ Φ rt P Φ ^ PJ ιQ o Φ cn 3 P- N Φ α P 3 o O P*Φ P- α d ιQ ι-f • PJ OP tr 1 cn Hi CL li 3 rt rt 3 Φ o «CΛ ■ > P Φ P φ Φ Φ rt P Φ ^ PJ ιQ o Φ cn 3 P- N Φ α P 3 o OP *
PJ ιQ α CΛ iQ PJ p- ≤ ö sQ H" CΛ d Φ H 1-1 o φ φ Z Z P Φ 3 Ό 3 Hl ιQ P α Φ •» ω 3 Φ s: PJ φ H* 3 3 P* •-( P- Φ Φ 3 P d Hi rt Φ ΦPJ ιQ α CΛ iQ PJ p- ≤ ö sQ H "CΛ d Φ H 1-1 o φ φ ZZP Φ 3 Ό 3 Hl ιQ P α Φ • » ω 3 Φ s: PJ φ H * 3 3 P * • - (P- Φ Φ 3 P d Hi rt Φ Φ
P K Hi α cn P- Φ Hi n > H* n J Φ PJ rt 3 l-i 1-1 Φ P rt P- Z ιQP K Hi α cn P- Φ Hi n> H * n J Φ PJ rt 3 l-i 1-1 Φ P rt P- Z ιQ
P rt ∑: O d Φ Φ P1 l-i H O tr sQ Φ 3* o 1-1 PJ d N t cn o φ 13 P) α rtP rt ∑: O d Φ Φ P 1 li HO tr sQ Φ 3 * o 1-1 PJ d N t cn o φ 13 P ) α rt
Φ O CΛ 3 l-S tr cn α 3 1-1 Φ φ Φ rt 3 Hi P- P* Φ φ P- n ι-i d ι-( 3 s: P tr rt rt ι-s Φ H- P Ό l-i 3 - 3 PJ ω ιQ 3 cn 3 P 3^ 3 l-i φ iQ αΦ O CΛ 3 lS tr cn α 3 1-1 Φ φ Φ rt 3 Hi P- P * Φ φ P- n ι-id ι- (3 s: P tr rt rt ι-s Φ H- P Ό li 3 - 3 P J ω ιQ 3 cn 3 P 3 ^ 3 li φ iQ α
CΛ Φ 1 rt Φ P α Φ ω rt l-i φ z rt Φ • i-Q PJ φ PJ l-S H n P s: d P Φ l-i rt Φ d 3 Φ Φ > 3 3 Φ 3 φ rt J tr l-i α CΛ o o φ 3 P l-f rt ^ P l-h H ιQ ) P P- P- d tr P- P P 3 d PCΛ Φ 1 rt Φ P α Φ ω rt li φ z rt Φ • i -Q PJ φ PJ lS H n P s: d P Φ li rt Φ d 3 Φ Φ> 3 3 Φ 3 φ rt J tr li α CΛ oo φ 3 P lf rt ^ P lh H ιQ ) P P- P- d tr P- PP 3 d P
Φ rt M P Hi l-h * CΛ rt rt Φ 3 iQ o ιQ n cn d ffi o 3 O ιQ 3 3Φ rt M P Hi l-h * CΛ rt rt Φ 3 iQ o ιQ n cn d ffi o 3 O ιQ 3 3
P Φ O T3 0- J CΛ ?o ≤ ^< 3 rt P- 3" Φ o Λ 3 P- tr Φ 3 Φ ιQP Φ O T3 0- J CΛ? O ≤ ^ <3 rt P- 3 " Φ o Λ 3 P- tr Φ 3 Φ ιQ
• 3 P d N φ 3 O rt φ ft) H CΛ Φ rt J P Φ 3 3 Φ sQ φ rt cn Φ Ό• 3 P d N φ 3 O rt φ ft) H CΛ Φ rt J P Φ 3 3 Φ sQ φ rt cn Φ Ό
CΛ P rt d P iQ iQ d l-i rt O H Φ d d n 3 d Ό 3 l-i P J σ αCΛ P rt d P iQ iQ d l-i rt O H Φ d d n 3 d Ό 3 l-i P J σ α
Φ - l-f φ Φ Hi Φ tr 3 3 3 Hi 3' υq d Φ α tr •z tP N PJΦ - lf φ Φ Hi Φ tr 3 3 3 Hi 3 ' υq d Φ α tr • z tP N PJ
< ιQ ι-S Ό Φ cn CΛ h- ' 3 Φ cn Φ rt rt H-* 3 d φ Φ α rt s t o Φ CΛ l-i ? P rt Q. CΛ < i-i >< CΛ α P Φ Φ rt 1-1 Ϊ-V rt Φ<ιQ ι-S Ό Φ cn CΛ h- '3 Φ cn Φ rt rt H- * 3 d φ Φ α rt sto Φ CΛ li? P rt Q. CΛ <ii><CΛ α P Φ Φ rt 1-1 Ϊ-V rt Φ
3 ιQ d PJ O PJ N o_ Φ H o CΛ cn Φ Φ 3 Φ ι-f ζ n J N ι-i Z3 ιQ d PJ O PJ N o_ Φ H o CΛ cn Φ Φ 3 Φ ι-f ζ n J N ι-i Z
Φ PJ Hi P ^ P ≤ Φ 3 Φ PJ 3 > rt rt P l-i cn P- P 3" 3 £ P PJ tc 0J Λ* φ P Φ Φ l-i 13 ;v Φ PJ 3 Φ >--! o 3 Φ l-i cnΦ PJ Hi P ^ P ≤ Φ 3 Φ PJ 3> rt rt P li cn P- P 3 "3 £ P PJ tc 0 J Λ * φ P Φ Φ li 13; v Φ PJ 3 Φ> -! O 3 Φ li cn
O Φ rt 3 3 P n P) n P- ιQ φ rt 3 ι-i Φ Φ ιQ P- P- Λ- rt l-i iQ 3 cn P d ^ φ -T) " h ? Φ H d CΛ rt ιQ l-i ι-1 3 P- φ PJ t Φ rt >O Φ rt 3 3 P n P ) n P- ιQ φ rt 3 ι-i Φ Φ ιQ P- P- Λ- rt li iQ 3 cn P d ^ φ -T) "h? Φ H d CΛ rt ιQ li ι-1 3 P- φ PJ t Φ rt>
Φ Φ CΛ φ •3 rt H- rt Hi 3 PJ Φ α Φ J d n 1 3 P Φ PΦ Φ CΛ φ • 3 rt H- rt Hi 3 PJ Φ α Φ J dn 1 3 P Φ P
1 o ιQ1 o ιQ
P o cn P) H 1 d o Φ rt 3 3 l-i 3 t 3 3 cn cn 1 cn 1 1 tr 1 1 o φP o cn P ) H 1 do Φ rt 3 3 li 3 t 3 3 cn cn 1 cn 1 1 tr 1 1 o φ
H 3 P- 1 rt 1 rt O 3 3 Φ 1 1 1 1 1 1
H 3 P- 1 rt 1 rt O 3 3 Φ 1 1 1 1 1 1
Die Erfindung wird nachfolgend anhand eines in den Zeichnungen dargestellten Ausführungsbeispieles näher erläutert. Die Zeichnungen zeigen schematisch in:The invention is explained in more detail below with reference to an embodiment shown in the drawings. The drawings show schematically in:
Fig. 1 ein Netzwerk, über das mehrere Computer zusammengeschlossen sind, auf welchem jeweils ein Agentensystem installiert ist,1 is a network over which several computers are connected, on each of which an agent system is installed,
Fig. 2 den Aufbau eines Agentensystems in einem Blockschalt- bild, und2 shows the structure of an agent system in a block diagram, and
Fig. 3 das Verfahren zum Laden eines Agentensystems von einem Host-Computer auf einen Client-Computer eines Computernetzwerkes in einem Flußdiagramm.3 shows the method for loading an agent system from a host computer onto a client computer of a computer network in a flow chart.
Fig. 1 zeigt schematisch vereinfacht ein Netzwerk mit mehreren Computern 1, die über Datenleitungen 2 miteinander verbunden sind. Die Computer 1 weisen unterschiedlichen Lei- stungsumfang auf, das heißt, daß sie unterschiedliche Prozes- sorleistungen, Speicherkapazitäten und/oder Systemprogramme besitzen können. Die Leistungsfähigkeit der einzelnen Computer 1 ist symbolisch durch die Größe des den jeweiligen Computer 1 darstellenden Rechteckes dargestellt. Die Computer 1 sind mit I. bis IV. numeriert, wobei der Computer I. der lei- stungsfähigste sein kann und der Computer IV. ein mobiles Endgerät darstellt. Die Datenleitung 2 vom Computer IV. zu den übrigen Computern ist eine Mobilfunkverbindung, die nicht permanent aufrecht erhalten wird. Sie ist deshalb in Fig. 1 durch eine gestrichelte Linie dargestellt.1 shows a simplified schematic of a network with a plurality of computers 1 which are connected to one another via data lines 2. The computers 1 have different scope of services, that is to say that they can have different processor services, storage capacities and / or system programs. The performance of the individual computers 1 is symbolically represented by the size of the rectangle representing the respective computer 1. The computers 1 are numbered I. to IV. The computer I. can be the most powerful and the computer IV represents a mobile terminal. The data line 2 from the computer IV to the other computers is a mobile radio connection which is not permanently maintained. It is therefore shown in Fig. 1 by a dashed line.
Auf den einzelnen Computern 1 ist jeweils ein Agentensystem AS-I. bis AS-IV. installiert. Im Netzwerk befinden sich einige mobile Agenten AG-I. bis AG-IV., die entweder auf einem der Computer 1 angeordnet sind, bzw. sich von einem zu einem anderen Computer (III. - II.) bewegen.
Fig. 2 zeigt schematisch den Aufbau eines Agentensystems. Das Agentensystem weist eine Agentenplattform 3 (auch Plattform genannt) auf, die die Dienstprogramme umfaßt, welche ein mobiler Agent benotigt, um an dem jeweiligen Computer 1 ausge- fuhrt werden zu können. Die Agentenplattform 3 besitzt zwei zentrale Programmteile, den Agentenmanager 4 und den Kommunikationsmanager 5. Der Kommunikationsmanager 5 umfaßt ein schwarzes Brett 6 und mehrere Protokollmanager 7, die die Protokolle für die Kommunikation von Agentensystemen und ih- ren Anwendungen, den Agenten 25, bereitstellen. Zudem ermöglicht der Kommunikationsmanager die Migration der Agenten. Mit Hilfe einer Netzwerkkopplung 8 ermöglichen die Protokollmanager 7 die entsprechende Nutzung eines angeschlossenen Netzwerkes 9. Am schwarzen Brett 6 können Daten für die plattformlokale Kommunikation zwischen Agenten zwischengespeichert werden.There is an agent system AS-I on each computer 1. to AS-IV. Installed. There are some mobile agents AG-I in the network. to AG-IV., which are either arranged on one of the computers 1, or move from one to another computer (III. - II.). 2 schematically shows the structure of an agent system. The agent system has an agent platform 3 (also called a platform) which comprises the service programs which a mobile agent requires in order to be able to be executed on the respective computer 1. The agent platform 3 has two central program parts, the agent manager 4 and the communication manager 5. The communication manager 5 comprises a bulletin board 6 and several protocol managers 7, which provide the protocols for the communication of agent systems and their applications, the agent 25. The communication manager also enables agent migration. With the help of a network link 8, the protocol managers 7 enable the corresponding use of a connected network 9. Data for platform-local communication between agents can be buffered on the bulletin board 6.
Der Agentenmanager 4 weist ein Überwachungsmodul 10 auf, mit welchem interne Vorgange in Bezug auf an den Agentenmanager 4 angeschlossene Applikationen 25 überwacht werden. Die Überwachungsinformation wird von Dienstprogrammen, wie z.B. einem Agentensoftware-Aktualisierungsprogramm 11, einem Benutzermanager 12, einem Sicherheitsmanager 13 und einem Ressourcenmanager 14 verarbeitet. Der Agentenmanager 4 ist zudem mit ei- nem Festspeicher 15 verbunden, der beispielsweise durch eine Festplatte dargestellt wird. Auf dem Festspeicher 15 werden Konfigurationsdaten und wichtige LaufZeitinformationen, wie z.B. Agenten, gesichert, so daß sie auch nach einem vorübergehenden Abschalten wieder verfugbar sind. Bei kleinen mobi- len Computern IV ist es auch üblich, diesen Festspeicher 15 als Halbleiterspeicher auszubilden, der Daten permanent, d.h., auch nach dem Ausschalten des Computers speichern kann.The agent manager 4 has a monitoring module 10 with which internal processes relating to applications 25 connected to the agent manager 4 are monitored. The monitoring information is provided by utilities, e.g. an agent software update program 11, a user manager 12, a security manager 13, and a resource manager 14. The agent manager 4 is also connected to a permanent memory 15, which is represented, for example, by a hard disk. Configuration data and important runtime information, such as e.g. Agents, secured so that they are available again even after a temporary shutdown. In the case of small mobile computers IV, it is also common to design this read-only memory 15 as a semiconductor memory which can store data permanently, i.e. even after the computer has been switched off.
Der Agentenmanager 4 ist mit einer Administrationsschnitt- stelle 19 und einer Agentenanwendungsschnittstelle 20 versehen, über die Administrationsschnittstelle 19 ist der Agentenmanager 4 mit einer Agenten-System-Steuerung 21 verbunden,
O LO NJ t 1— ' P-*The agent manager 4 is provided with an administration interface 19 and an agent application interface 20, the agent manager 4 is connected to an agent system controller 21 via the administration interface 19, O LO NJ t 1— 'P- *
Ln O Lπ σ Lπ o LπLn O Lπ σ Lπ o Lπ
> 3 ö P n > σ t > ö ex tr rt C ' SX tr 3 > 3 cn rt r- SD X2 T) 3 Ό N> (X iQ Φ PJ P o P1 Φ <X2 P1 PJ P Φ Φ d P φ Φ PJ Φ ιX2 PJ tr • Φ L0 PJ l-S Φ l-S LO DJ P> 3 ö P n> σ t> ö ex tr rt C 'SX tr 3> 3 cn rt r- SD X2 T) 3 Ό N> (X iQ Φ PJ P o P 1 Φ <X2 P 1 PJ P Φ Φ d P φ Φ PJ Φ ιX2 PJ tr • Φ L0 PJ lS Φ lS LO DJ P
Φ 3 3 3 l-i Φ cn Φ P 3 3 Φ cn ι-i rt 3 Φ ιX2 Φ cn 3 tr < tr o CΛ o tr d φΦ 3 3 3 l-i Φ cn Φ P 3 3 Φ cn ι-i rt 3 Φ ιX2 Φ cn 3 tr <tr o CΛ o tr d φ
3 P SX Ό sx 3 d 3 1 ι l-S Φ P • 3 Φ l-S rt cn φ Φ •X2 ιX2 3 rt n rt φ d P > rt 3 rt £X tr1 CΛ rt n P o rt t-S Φ • P l-S 3 l-S > l-S DJ n φ3 P SX Ό sx 3 d 3 1 ι lS Φ P • 3 Φ lS rt cn φ Φ • X2 ιX2 3 rt n rt φ d P> rt 3 rt £ X tr 1 CΛ rt n P o rt tS Φ • P lS 3 IS> IS DJ n φ
Φ o 3 rt Φ ιQ Φ rt Φ PJ tr O n 3 σ Φ sx 3 CΛ Λ CΛ PJ ιX2 DJ d tr PΦ o 3 rt Φ ιQ Φ rt Φ PJ tr O n 3 σ Φ sx 3 CΛ Λ CΛ PJ ιX2 DJ d tr P
3 3 sx Φ 3 Φ 3 Φ 3 i-S d Φ P 3 tr cn P 3 P rt rt Φ φ 3 Φ 3 Hi Φ 33 3 sx Φ 3 Φ 3 Φ 3 i-S d Φ P 3 tr cn P 3 P rt rt Φ φ 3 Φ 3 Hi Φ 3
CΛ Ό P P ι-i rt 3 cn ι-S P 3 l-i CΛ Ό 3 φ Φ PJ Φ 3 P 3 3 3 z i-s d Φ P rt •< Cn 3 W n Φ rt d M PJ > 3 3 3 P α 3 rt φCΛ Ό PP ι-i rt 3 cn ι-SP 3 li CΛ Ό 3 φ Φ PJ Φ 3 P 3 3 3 z is d Φ P rt • <Cn 3 W n Φ rt d M PJ> 3 3 3 P α 3 rt φ
CΛ rt CΛ P N Φ cn rt P i-i 3- P ** rt |Ji> 3 • Lπ P > CΛ 3 Φ M Φ P M rt Φ φ ^1 3 d 3 rt d cn cn Φ n Φ DJ •X2 rt ιX2 Φ • 3 L0 3 CΛ L0CΛ rt CΛ PN Φ cn rt P ii 3- P ** rt | Ji> 3 • Lπ P> CΛ 3 Φ M Φ PM rt Φ φ ^ 1 3 d 3 rt d cn cn Φ n Φ DJ • X2 rt ιX2 Φ • 3 L0 3 CΛ L0
Φ ι-( CΛ P g 1 Φ rt rt rt l-S 3' 3 ι-s •X2 sQ Φ tr Φ P (X iQ tr CΛ DJ rt PJ PΦ ι- (CΛ P g 1 Φ rt rt rt lS 3 ' 3 ι-s • X2 sQ Φ tr Φ P (X iQ tr CΛ DJ rt PJ P
3 X2 Z CΛ 3 N ι-( Φ P cn Φ Φ 3 Φ Φ 3 3 M Φ P Φ cn • P3 X2 Z CΛ 3 N ι- (Φ P cn Φ Φ 3 Φ Φ 3 3 M Φ P Φ cn • P
3 < Φ CΛ cn rt P) M rt ι-i rt Hi P rt Φ CΛ l-S PJ 3 P cn CΛ P3 <Φ CΛ cn rt P ) M rt ι-i rt Hi P rt Φ CΛ lS PJ 3 P cn CΛ P
X2 o Φ rt rt cn • rt P-
rt PJ Φ P 3 Φ 3 3 rt CΛ rt Φ σ o cnX2 o Φ rt rt cn • rt P- rt PJ Φ P 3 Φ 3 3 rt CΛ rt Φ σ o cn
Φ IQ l-i LO N J rt tö P d Φ PJ 3 Lπ 3 3 Φ 3 a 3 Φ rt Φ P φ z rtΦ IQ l-i LO N J rt tö P d Φ PJ 3 Lπ 3 3 Φ 3 a 3 Φ rt Φ P φ z rt
P- Hi Z i-S Φ Φ O 3 P ιQ \-> d iQ (X 3 PJ n J φ • 3 3 3 l-S P ι-SP- Hi Z i-S Φ Φ O 3 P ιQ \ -> d iQ (X 3 PJ n J φ • 3 3 3 l-S P ι-S
DJ P PJ iQ Φ rt 3 3 P 1 2 cn Φ CΛ Hi Φ d > Φ 3 o 3 ιX2 cn Φ cn Φ φ PJ α n y Φ 1-1 Φ 1 d CΛ rt P- 3 3 LΠ 3 Z 3 3 Φ ö • P 3 > rtDJ P PJ iQ Φ rt 3 3 P 1 2 cn Φ CΛ Hi Φ d> Φ 3 o 3 ιX2 cn Φ cn Φ φ PJ α ny Φ 1-1 Φ 1 d CΛ rt P- 3 3 LΠ 3 Z 3 3 Φ ö • P 3> rt
Φ 3* t-i N P 3 tr1 rt Ό d - Φ (X • (X ** Φ TJ P* J cn 3 tr ιX2 φ PΦ 3 * ti NP 3 tr 1 rt Ό d - Φ (X • (X ** Φ TJ P * J cn 3 tr ιX2 φ P
3 Φ Φ PJ N l-S 3 Φ α P Φ • Z 3 d J cn rt P tu φ P o3 Φ Φ PJ N lS 3 Φ α P Φ • Z 3 d J cn rt P tu φ P o
P 3 P tr d Φ o SX P Φ 3 3 CΛ SX O (X Φ (X rt Φ φ Φ σ P- φ 3 3 3 s: « -X2 o N 3 l-S X3 3 3 Φ P Φ 3 P 3 d Φ (X P > 3 P Hi 3 rt cnP 3 P tr d Φ o SX P Φ 3 3 CΛ SX O (X Φ (X rt Φ φ Φ σ P- φ 3 3 3 s: «-X2 o N 3 lS X3 3 3 Φ P Φ 3 P 3 d Φ (XP> 3 P Hi 3 rt cn
P rt N rt P Z O l-S tr CΛ Φ 3 3 φ (X 3 ι-( O 3 ιX2 φ rt d Φ > Ό l-i d Φ φ tr tr PJ Φ σ d J Φ d IQ n Φ N 3 • rt 3 iQ sx 3 P Φ Φ |3 P P 3 cn P? 3 tr 3 CΛ P tr dd 3 d CΛ N 1 Φ oP rt N rt PZO lS tr CΛ Φ 3 3 φ (X 3 ι- (O 3 ιX2 φ rt d Φ> Ό li d Φ φ tr tr PJ Φ σ d J Φ d IQ n Φ N 3 • rt 3 iQ sx 3 P Φ Φ | 3 PP 3 cn P? 3 tr 3 CΛ P tr dd 3 d CΛ N 1 Φ o
3 tr tr1 l-i P 3 φ α X2 o ιX2 Φ ιX2 CΛ 3 Φ rt cn rt ö Φ ω 3 iQ d d _-< •n P PJ (X 3 Φ < 3 Φ d cn ω n CΛ PJ cn Φ PJ Ό DJ l-S ■ rt i-i3 tr tr 1 li P 3 φ α X2 o ιX2 Φ ιX2 CΛ 3 Φ rt cn rt ö Φ ω 3 iQ dd _- < • n P PJ (X 3 Φ <3 Φ d cn ω n CΛ PJ cn Φ PJ Ό DJ lS ■ rt ii
3 s> PJ Φ sx t\_ t Φ Λ α 3 O 3 P tr rt tr tr rt d rt 3 3 I-S cn cn Φ DJ sx sx d ι-s Φ 00 o ι-( rt O rt l-S Φ rt Φ P Φ 3 PJ o DJ cn 3 o tr rt 3 33 s> PJ Φ sx t \ _ t Φ Λ α 3 O 3 P tr rt tr tr rt d rt 3 3 IS cn cn Φ DJ sx sx d ι-s Φ 00 o ι- (rt O rt lS Φ rt Φ P Φ 3 PJ o DJ cn 3 o tr rt 3 3
DJ Φ tr 3 PJ 3 Ό l-S Φ P* 3 Φ ι-1 3 ι-( P P-* tr 3 •< φ X2 > Φ Φ 1 3 sx d 3 sx Φ Hi sx > ι-( rt 3 P 3 3 Φ rt P- SX cn 3 ι-S 1X2 P 3 CΛDJ Φ tr 3 PJ 3 Ό lS Φ P * 3 Φ ι-1 3 ι- (P P- * tr 3 • <φ X2> Φ Φ 1 3 sx d 3 sx Φ Hi sx> ι- (rt 3 P 3 3 Φ rt P- SX cn 3 ι-S 1X2 P 3 CΛ
Φ Hi P P sx sx P Φ p O 1 φ PJ 3 SX rt P rt P d rt rt CΛ DJ Φ l • t-oΦ Hi P P sx sx P Φ p O 1 φ PJ 3 SX rt P rt P d rt rt CΛ DJ Φ l • t-o
»-! φ PJ Φ Φ X3 l-i rt >X2 J f 1X2 tr PJ PJ Φ n cn φ 3 Φ Φ rt 3 3 CΛ r> CΛ ) α P •X2 PJ CΛ H d P l-i W PJ φ Φ 3 cn tr rt l-S PJ P 3 Φ § rt rt PJ rt»- φ PJ Φ Φ X3 li rt> X2 J f 1X2 tr PJ PJ Φ n cn φ 3 Φ Φ rt 3 3 CΛ r> CΛ) α P • X2 PJ CΛ H d P li W PJ φ Φ 3 cn tr rt lS PJ P 3 Φ § rt rt PJ rt
P Φ 3 1-1 d 1-1 > < ) rt d 3 i-i PJ s Φ rt tr 1 P- Φ DJ d Φ dP Φ 3 1-1 d 1-1>< ) rt d 3 ii PJ s Φ rt tr 1 P- Φ DJ d Φ d
3 3 Φ PJ CΛ > PJ ιX2 P 3 P 3 (X 1X2 a to P* tr > 3 1-1 3 3 3 Λ g ιQ X2 ιQ rt φ φ 3 < O Φ PJ Φ Φ Z Λ-. P*1 5. PJ Φ ϊ φ α cn rt o 1 (X3 3 Φ PJ CΛ> PJ ιX2 P 3 P 3 (X 1X2 a to P * tr> 3 1-1 3 3 3 Λ g ιQ X2 ιQ rt φ φ 3 <O Φ PJ Φ Φ Z Λ-. P * 1 5.PJ Φ ϊ φ α cn rt o 1 (X
Hi π 3 Φ Φ Φ P 3 l-i » P tr d ι-( rt Φ Φ Φ 3 P rt 3 (D • tr o o > Hi 3 3 O rt d Φ Φ n N 3 < l-S •X2 3 d CΛ cn d Φ ΦHi π 3 Φ Φ Φ P 3 li »P tr d ι- (rt Φ Φ Φ 3 P rt 3 (D • tr oo> Hi 3 3 O rt d Φ Φ n N 3 <lS • X2 3 d CΛ cn d Φ Φ
P* 3 iQ d rt rt 3 Φ 3 α l-S ι-s ιQ tr ≤ (X Φ M (X P Φ DJ d rt 3 l-S rt P sQ T3 Φ J 3* Φ Φ 3 ι 2 PJ rt CΛ Φ Φ d i-s o Φ ιX cn P1 3 3 Φ SX d 3P * 3 iQ d rt rt 3 Φ 3 α lS ι-s ιQ tr ≤ (X Φ M (XP Φ DJ d rt 3 lS rt P sQ T3 Φ J 3 * Φ Φ 3 ι 2 PJ rt CΛ Φ Φ d is o Φ ιX cn P 1 3 3 Φ SX d 3
Φ d 3 ι-< l-i 3 3 d 1 CΛ 3 < P l-i 3 tr 3 P α J 3 to PJ φΦ d 3 ι- <l-i 3 3 d 1 CΛ 3 <P l-i 3 tr 3 P α J 3 to PJ φ
3 rt rt ιX2 rt CΛ l 3 CΛ < Z rt o 3 *- >X2 d P • < tr cn n 1 M L0 P1 3 sx Φ Φ Φ Φ *< CΛ α •< o Φ Φ σs Φ 3 Φ 3 cn o Φ P d tr > 3 P> P3 rt rt ιX2 rt CΛ l 3 CΛ <Z rt o 3 * -> X2 d P • <tr cn n 1 M L0 P 1 3 sx Φ Φ Φ Φ * <CΛ α • <o Φ Φ σs Φ 3 Φ 3 cn o Φ P d tr> 3 P> P
Φ ι-f P CΛ 3 CΛ •< cn P P l-S 3 α 1X3 3 sx rt P cn Φ tr P? cn CΛ >Φ ι-f P CΛ 3 CΛ • <cn PP lS 3 α 1X3 3 sx rt P cn Φ tr P? cn CΛ>
3 ^ cn rt rt cn σ rt 3 SX P cn φ Φ •* Φ rt ι-S Φ tr rt rt P P ιX23 ^ cn rt rt cn σ rt 3 SX P cn φ Φ • * Φ rt ι-S Φ tr rt rt PP ιX2
Φ < Φ rt P Φ > Φ φ 3 • P 3 DJ 3 SX φ Φ d l-S Φ d DJ CΛ φ ΦΦ <Φ rt P Φ> Φ φ 3 • P 3 DJ 3 SX φ Φ d l-S Φ d DJ CΛ φ Φ
PJ DJ cn P- o 3 Φ P) 3 ιX 3 3 cn 3 SX d Φ P tr 3 CΛ PJ P* rt l-i 3 t-> d rt l-i CΛ 3 iQ 1 Φ • α rt Φ φ CΛ i-S 3 φ ιX (X rt P1 d rt cn Hi Φ rt sQ 1 3 CΛ P t Φ Φ 3 $ 3 Hl P Φ 3 cn Φ P P P Φ 3 ΦPJ DJ cn P- o 3 Φ P ) 3 ιX 3 3 cn 3 SX d Φ P tr 3 CΛ PJ P * rt li 3 t- > d rt li CΛ 3 iQ 1 Φ • α rt Φ φ CΛ iS 3 φ ιX (X rt P 1 d rt cn Hi Φ rt sQ 1 3 CΛ P t Φ Φ 3 $ 3 Hl P Φ 3 cn Φ PPP Φ 3 Φ
3 • PJ ) CΛ O rt rt φ σ 3 3 Z d 3 > 3 α 1 cn jg cn φ P ιX2 3 n α cn 3 d rt Cn Φ Φ 3 Φ ω Φ t ιQ Φ TJ 3 P l-S 3 CΛ 13 • PJ ) CΛ O rt rt φ σ 3 3 Z d 3> 3 α 1 cn jg cn φ P ιX2 3 n α cn 3 d rt Cn Φ Φ 3 Φ ω Φ t ιQ Φ TJ 3 P lS 3 CΛ 1
P1 Φ ιX2 Hl φ Φ d 3 d l-S P Φ 3 O i-s SX Φ > 3 l-S 2 rt φ d Ό ωP 1 Φ ιX2 Hl φ Φ d 3 d lS P Φ 3 O is SX Φ> 3 lS 2 rt φ d Ό ω
P 3 DJ Φ d Φ rt % 3 3 (X s Φ Φ 3 iQ o Φ Φ i-s 3 σ l-iP 3 DJ Φ d Φ rt% 3 3 (X s Φ Φ 3 iQ o Φ Φ i-s 3 σ l-i
Φ d φ Φ l-i t-o N > Z cn d d § 3 3 rt Φ > ιX2 rt 3 d ιX2 P o cnΦ d φ Φ l-i t-o N> Z cn d d § 3 3 rt Φ> ιX2 rt 3 d ιX2 P o cn
3 a Hi CΛ P i-s φ d Lπ Φ •X2 Φ rt rt 3 d Φ 3 1X2 n N P φ ιX2 rt rt J P 3 d cn 3 l-i Φ 3 DJ N X2 3 ;v cn 3 rt Φ (U cn c < iQ φ 3 l-i Φ3 a Hi CΛ P is φ d Lπ Φ • X2 Φ rt rt 3 d Φ 3 1 X2 n NP φ ιX2 rt rt JP 3 d cn 3 li Φ 3 DJ N X2 3; v cn 3 rt Φ (U cn c < iQ φ 3 left Φ
1 φ 3 φ 3 X2 3 1 Φ cn P o P cn P CΛ PJ1 φ 3 φ 3 X2 3 1 Φ cn P o P cn P CΛ PJ
P 3 Φ 3 φ o 3 sx 3 ιX2 1 1 ι-i 1 1 3 o J 3 1 1 rt 1 1 tr 1 1 1
P 3 Φ 3 φ o 3 sx 3 ιX2 1 1 ι-i 1 1 3 o J 3 1 1 rt 1 1 tr 1 1 1
Computer 28 bezeichnet wird, der Agenten-System-Launcher 23a geladen sein. Der Client-Computer 28 muß über eine Datenleitung 2 mit zumindest einem Computer verbunden sein, auf dem ein Agenten-System-Aktualisierungsprogramm 23b installiert ist, so daß von diesem Computer, der im folgenden als Host- Computer 29 bezeichnet wird, aus einem ebenfalls dort vorhandenen Agentensystem eine angepaßte bzw. skalierte Kopie dieses Agentensystems erstellt und auf den Client-Computer 28 geladen werden kann. Die Datenleitung 2 kann ein elektroni- sches oder optisches kable oder eine Funkstrecke sein.Computer 28 is referred to, the agent system launcher 23a may be loaded. The client computer 28 must be connected via a data line 2 to at least one computer on which an agent system update program 23b is installed, so that this computer, which is referred to below as the host computer 29, also comes from there existing agent system creates a customized or scaled copy of this agent system and can be loaded onto the client computer 28. The data line 2 can be an electronic or optical cable or a radio link.
Das Verfahren zum Laden und Aktualisieren eines Agentensystems wird vom Agenten-System-Launcher 23a ausgeführt und in einem Schritt Sl gestartet (Fig. 3) . Hierauf folgt eine Ab- frage, ob bereits ein Agentensystem AS auf dem Computer existiert (S2) . Falls diese Abfrage ergibt, daß noch kein Agentensystem auf dem vorliegenden Computer existiert, geht der Programmablauf auf den Schritt S3 über, der Bestandteil einer Ladefunktion 30 des Agenten-System-Launchers 23a ist. Mit dem Schritt S3 wird eine die Hardware und/oder Software des Client-Computers 28 kennzeichnende Kennung an den Host-Computer 29 gesandt. Diese Kennung enthält Angaben über die Leistungsfähigkeit der Hardware und/oder der Software, wie z.B. die Größe des verfügbaren Speichers, den Typ des Speichermediums, den Typ der Anzeige und der vorhandenen Systemprogramme.The procedure for loading and updating an agent system is carried out by the agent system launcher 23a and started in a step S1 (FIG. 3). This is followed by a query as to whether an agent system AS already exists on the computer (S2). If this query shows that no agent system already exists on the present computer, the program flow goes to step S3, which is part of a loading function 30 of the agent system launcher 23a. In step S3, an identifier identifying the hardware and / or software of the client computer 28 is sent to the host computer 29. This identifier contains information about the performance of the hardware and / or software, e.g. the size of the available memory, the type of storage medium, the type of display and the existing system programs.
Am Host-Computer wird in einem Schritt S4 die vom Client- Computer 28 gesandte Kennung bewertet und in einem Schritt S5 ein Agentensystem nach Maßgabe der Kennung zusammengestellt. Die Anpassung des Agentensystems erfolgt durch das Hinzufügen oder Weglassen geeigneter/benötigter bzw. nicht benötigter Komponenten sowie die Konfiguration und Skalierung der ausgewählten Komponenten für die auf dem Client-Computer 28 vorhandene Hard- und Software. Darüber hinaus werden die Kompo- nenten hinsichtlich ihrer dynamischen Komplexität, welche im wesentlichen auf der Größe von Datenstrukturen beruht, konfiguriert. Neben dem Agentenmanager und dem Kommunikationsmana-
LO LO K) P» 'On the host computer, the identifier sent by the client computer 28 is evaluated in a step S4 and an agent system is compiled in accordance with the identifier in a step S5. The agent system is adapted by adding or omitting suitable / required or unnecessary components and by configuring and scaling the selected components for the hardware and software present on the client computer 28. In addition, the components are configured with regard to their dynamic complexity, which is essentially based on the size of data structures. In addition to the agent manager and the communication manager LO LO K) P »'
(_π O Lπ σ Lπ O Lπ(_π O Lπ σ Lπ O Lπ
trieb ist. Ist das Agentensystem nicht m Betrieb, so wird es im Schritt S8 gestartet und der Agenten-System-Launcher 23a wird im Schritt S9 beendet. Ist das Agentensystem bereits in Betrieb, geht der Programmablauf direkt auf den Schritt S9 über, mit dem der Agenten-System-Launcher 23a beendet wird.is driven. If the agent system is not in operation, it is started in step S8 and the agent system launcher 23a is ended in step S9. If the agent system is already in operation, the program flow goes directly to step S9, with which the agent system launcher 23a is ended.
Ergibt die Prüfung im Schritt S15, daß eine Aktualisierung des Agentensystems erlaubt ist, geht der Programmablauf auf den Schritt S17 über, mit dem geprüft wird, ob das Agentensy- stem m Betrieb ist.If the check in step S15 shows that an update of the agent system is permitted, the program flow goes to step S17, with which it is checked whether the agent system is in operation.
Wenn das Agentensystem m Betrieb ist, wird im Schritt S18 der Schritt S13 (Shutdown-Sequenz) zum Beenden des Betriebes des Agentensystems aufgerufen. Mit einer sich hierauf an- schließenden Programmschleife (Schritt S19) wird abgefragt, ob der Betrieb des Agentensystems bereits beendet ist. Erst wenn der Betrieb des Agentensystems beendet ist, wird der Programmablauf auf einen Schritt S20 übergeben.If the agent system is in operation, step S13 (shutdown sequence) is called in step S18 to end the operation of the agent system. A program loop that follows (step S19) queries whether the operation of the agent system has already ended. The program flow is not transferred to a step S20 until the operation of the agent system has ended.
Falls die Abfrage im Schritt S17 ergibt, daß das Agentensystem nicht m Betrieb ist, so kann der Programmablauf direkt auf den Schritt S20 übergehen.If the query in step S17 shows that the agent system is not in operation, the program flow can pass directly to step S20.
Mit dem Schritt S20 wird an den Host-Computer 29 eine Ver- sionskennung gesandt. Die Versionskennung enthalt die Information über die Versionen des auf dem Client Computer 28 installierten Agentensystems und seiner Komponenten.Step S20 sends a version identifier to the host computer 29. The version identifier contains the information about the versions of the agent system and its components installed on the client computer 28.
Auf dem Host-Computer 29 werden im Schritt S21 die Versions- kennungen ausgewertet und im folgenden Schritt S22 Ver- sionsmformationen des neuesten, vom Host-Computer ladbaren Agentensystems und seiner Komponenten an den Client-Computer gesandt. Hierauf werden am Client-Computer 28 im Schritt S23 die eigenen Versionskennungen mit den Versionsinformation und des Hosts verglichen und geprüft, ob die jeweilige vom Host- Computer ladbare Version aktueller als die auf dem Client- Computer befindliche Version des Agentensystems und seiner
Komponenten ist. Ergibt die Prüfung, daß die vom Host- Computer 29 ladbare Version aktueller ist, so wird der Programmablauf auf den Schritt S3 übergeben, mit dem wiederum eine die Hardware und/oder Software des Client-Computers 28 kennzeichnende Kennung an den Host-Computer gesandt wird, worauf dieser ein hierauf angepaßtes Agentensystem zusammenstellt und an den Client-Computer 28 sendet. Ergibt die Abfrage im Schritt S23 hingegen, daß die vom Host-Computer ladbaren Versionen nicht aktueller als die auf dem Client- Computer befindlichen Versionen des Agentensystems und seiner Komponenten sind, so wird der Programmablauf auf den Schritt S8 übergeben, mit dem das Agentensystem gestartet wird. Somit lassen sich das gesamte Agentensystem oder bei Bedarf lediglich Teile desselben (im Betrieb) aktualisieren.The version identifications are evaluated on the host computer 29 in step S21 and version information of the latest agent system and its components that can be loaded by the host computer and its components are sent to the client computer in the following step S22. Then, in step S23, the client's own version IDs are compared with the version information and the host on the client computer 28 and a check is carried out to determine whether the respective version that can be loaded by the host computer is more current than the version of the agent system and its version on the client computer Components is. If the check shows that the version that can be loaded by the host computer 29 is more current, the program flow is transferred to step S3, which in turn sends an identifier identifying the hardware and / or software of the client computer 28 to the host computer , whereupon the latter compiles an agent system adapted to this and sends it to the client computer 28. If, on the other hand, the query in step S23 shows that the versions that can be loaded by the host computer are not more current than the versions of the agent system and its components that are on the client computer, the program flow is transferred to step S8, with which the agent system is started , This means that the entire agent system or, if necessary, only parts of it (in operation) can be updated.
Die Schritte S20 und S23 bilden eine Aktualisierungsfunktion 31, mit der der Agenten-System-Launcher 23a die Aktualisierung eines bestehenden Agentensystems ausführt.Steps S20 and S23 form an update function 31 with which the agent system launcher 23a carries out the update of an existing agent system.
Das erfindungsgemäße Verfahren zum Laden eines Agentensystems wird vom Agenten-System-Launcher 23a ausgeführt. Der Agenten- System-Launcher kann jederzeit manuell gestartet werden, unabhängig davon, ob ein Agentensystem vorhanden ist oder nicht oder ab das Agentensystem in Betrieb ist oder nicht. Der Agenten-System-Launcher 23a kann auch beim erstmaligen Laden auf einen Computer oder dem Start eines Computers selbsttätig aktiviert werden. Besteht bereits ein vollständiges Agentensystem, dann kann der Agenten-System-Launcher 23a direkt vom Benutzer oder vom Administrationsprogramm 22 gesteuert wer- den, wobei das Administrationsprogramm 22 ihn wiederholt aufrufen kann, wodurch eine regelmäßige und bedarfsgemäße Aktualisierung des Agentensystems sichergestellt wird.The method according to the invention for loading an agent system is carried out by the agent system launcher 23a. The agent system launcher can be started manually at any time, regardless of whether an agent system is present or not or whether the agent system is in operation or not. The agent system launcher 23a can also be activated automatically when it is first loaded onto a computer or when a computer is started. If there is already a complete agent system, the agent system launcher 23a can be controlled directly by the user or by the administration program 22, the administration program 22 being able to call it repeatedly, thereby ensuring that the agent system is updated regularly and as required.
Zur Verwaltung der Agentensysteme mehrerer mobiler Client- Computer 28 kann ein permanent an ein Netzwerk angeschlossener Host-Computer 29 vorgesehen werden. Soll z.B. auf einem kleinen mobilen Computer, dem Client-Computer 28, mit
schwarz-weißem Bildschirm ein Agentensystem gestartet werden, dann schickt der Host-Computer 29 dem Client-Computer 28 eine Anforderung und übergibt dabei auch die aktuellen Daten über seine Ressourcen (z.B. s/w-Bildschirm, 8 MB RAM, maximale An- zahl darstellbarer Fenster auf dem Bildschirm, vorhandene Java Virtual Machine, graphische Darstellung von Zeichen, User- Management-Funktionalitat des Agentensystems für einen oder mehrere Benutzer, ...). Der Host-Computer 29 stellt anhand dieser Informationen ein Agentensystem zusammen, in dem sich z.B. eine Java-Klasse zum Drucken speziell auf s/w-Geraten befindet. Die äquivalente Klasse zum Drucken auf Geraten mit Farbbildschirm oder einem Bildschirm, der nur ASCII-Zeichen darstellen kann, wurden anders aussehen. Abhangig von einer auf dem Client-Computer 28 verfugbaren Java Virtual Machine (Personal Java, JDKl.x, 1.2, ...) werden die entsprechenden Klassen automatisch zusammengestellt. Soll nur ein Benutzer im Gegensatz zu mehreren verwaltet werden, ist die entsprechende Klasse, die das User-Management bereitstellt, auch entsprechend kleiner und hat einen geringeren Ressourcenbe- darf auf dem Client-Computer 28.A host computer 29 permanently connected to a network can be provided to manage the agent systems of a plurality of mobile client computers 28. For example, on a small mobile computer, the client computer 28 black and white screen, an agent system is started, then the host computer 29 sends a request to the client computer 28 and in the process also transfers the current data about its resources (for example b / w screen, 8 MB RAM, maximum number that can be displayed) Windows on the screen, existing Java virtual machine, graphic representation of characters, user management functionality of the agent system for one or more users, ...). The host computer 29 uses this information to put together an agent system in which, for example, there is a Java class for printing specifically on b / w devices. The equivalent class for printing on devices with a color screen or a screen that can only display ASCII characters would have been different. Depending on a Java Virtual Machine (Personal Java, JDKl.x, 1.2, ...) available on the client computer 28, the corresponding classes are automatically put together. If only one user, in contrast to several, is to be managed, the corresponding class that the user management provides is also correspondingly smaller and has a lower resource requirement on the client computer 28.
Das erfmdungsgemaße Agentensystem kann optional mit einer Funktion versehen sein, die die Hardware und/oder Software des jeweiligen Computers selbsttätig prüft, und bei Bedarf den Launcher 23a startet. Hierdurch kann das Agentensystem dynamisch an Veränderungen bzgl. der Hardware und/oder der Software angepaßt werden. Diese Funktion kann durch den in Figur 3 gezeigten Schritt S24 realisiert werden, der auf den Schritt S17 folgt. Im Schritt S24 wird geprüft, ob die Hard- wäre und/oder Software seit der letzten Aktualisierung des Agentensystems verändert worden ist. Wird eine solche Veränderung festgestellt, so geht der Programmablauf direkt auf den Schritt S3 über, mit dem eine entsprechende Kennung an den Host-Computer 29 gesandt wird. Wird eine solche Verande- rung nicht festgestellt, geht das Programm auf den SchrittThe agent system according to the invention can optionally be provided with a function which automatically checks the hardware and / or software of the respective computer and, if necessary, starts the launcher 23a. As a result, the agent system can be dynamically adapted to changes in hardware and / or software. This function can be implemented by step S24 shown in FIG. 3, which follows step S17. In step S24, it is checked whether the hardware and / or software has been changed since the agent system was last updated. If such a change is determined, the program flow goes directly to step S3, with which a corresponding identifier is sent to the host computer 29. If such a change is not found, the program goes to the step
S20 über und wird entsprechend obiger Beschreibung abgearbeitet.
Die erfindungsgemäßen Agentensysteme zugrunde liegenden Programme können auf elektronisch lesbare Datenspeicher gespeichert und vertrieben werden.
S20 over and is processed according to the description above. The programs on which the agent systems according to the invention are based can be stored and distributed on electronically readable data memories.