CZ9903576A3 - Mobilní objekty, zpusob pro rízení mobilních objektu, zpusob a zarízení pro generování skupiny mobilních objektu a pametové médium pro ukládání programu pro generování skupiny mobilních objektu - Google Patents

Mobilní objekty, zpusob pro rízení mobilních objektu, zpusob a zarízení pro generování skupiny mobilních objektu a pametové médium pro ukládání programu pro generování skupiny mobilních objektu Download PDF

Info

Publication number
CZ9903576A3
CZ9903576A3 CZ0357699A CZ357699A CZ9903576A3 CZ 9903576 A3 CZ9903576 A3 CZ 9903576A3 CZ 0357699 A CZ0357699 A CZ 0357699A CZ 357699 A CZ357699 A CZ 357699A CZ 9903576 A3 CZ9903576 A3 CZ 9903576A3
Authority
CZ
Czechia
Prior art keywords
activity
agent
mobile
location
template
Prior art date
Application number
CZ0357699A
Other languages
English (en)
Inventor
Minami@Kazuhiro
Suzuki@Toshihiro
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of CZ9903576A3 publication Critical patent/CZ9903576A3/cs

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Je zajisten úcinný mobilní agent, který vyzaduje pouze krátkou dobu zpracování a který muze omezit na minimum vyuzití jiných prostredku. Podle tohotoresení je zajistena sablona, pomocí které se komplikované aktivity provádené mobilním agentem ukládají do základních vzorcu aktivit. Sablona je spojena se spustením aktivity, která nastává v míste pred zahájením jakéhokoli presunu, a se spustením aktivity, která nastává po presunu. Podle tohoto typu sablona definuje instrukci, která se má spustit pred a po presunu a vysle jí mobilnímu agentovi. Odezvou na instrukci pripraví mobilní agent klon, presune se na jiné místo, nebo sloucí klony. Navíc objekt plánu drzený v mobilním agentovi urcuje postupné poradí spoustení sablon a aktivit.

Description

Vynález se týká způsobu zpracování dat pro počítačovou síť a podrobněji techniky mobilních agentů, kde je mobilní agent přesouván na vzdálený server, který existuje na síti v distribuovaném počítačovém prostředí kvůli přípravě instrukce na vzdáleném serveru.
Dosavadní stav techniky
Běžně existuje technika mobilních agentů, kde se mobilní agent přesouvá na server v síti v distribuovaném počítačovém prostředí kvůli přípravě instrukce (japonská neprozkoumaná (USP 5 603 031 patentová publikace č. Hei 7-182174 Latest Internet Technology, Fumihiko Nishida, Susumu Fujiwara a kol., Nikkei Communication Extra Issue, Nikkei BP Co., Ltd. , str. 104 až 117) .
Takový mobilní agent je tvořen dvěma základními komponenty, a mobilním agentem a místem. Mobilní agent se může přesouvat mezi místy, které existují v síti, zatímco se udržuje vnitřní stav mobilního agenta. Na místě může mobilní agent kontaktovat jiného agenta (jiného mobilního agenta nebo nemobilního agenta) a může přijímat nutné služby. Místo je opatřeno serverem, který existuje v síti a
78 317
který slouží jako umístění, na které se agent přesunuje.
Místo podporuje kontakty mezi agenty a eliminuje rozdíly v hardwaru a v platformách.
Technika mobilních agentů umožňuje mobilnímu agentu provádět práci lidí, jako například dynamickou úpravu nastavení pro interní schůzky podle kalendářů účastníků a podmínek využití diskusní místností a sběr požadovaných informací, které se šíří v síti.
Předpokládejme že běžný mobilní agent hledá volné doby v kalendářích více účastníků a vytváří rezervaci diskusní místnosti. Mobilní agent cestuje postupně z místa na místo, kde existují informace týkající se kalendářů účastníků a kde existují informace týkající se rezervace diskusních místností; hledá volné doby účastníků a neobsazené doby diskusní místnosti; dočasně rezervuje volné doby účastníků a neobsazené doby diskusních místností; a nakonec hledá dobu, která je přípustná pro všechny účastníky. Pokud se taková doba nalezne, musí se dočasná rezervace ohlásit účastníkům jako plánovaná rezervace a musí se rezervovat diskusní místnost.
Pokud je však počet účastníků nebo počet dostupných diskusních místností veliký, nastane časové zpoždění mezi vytvořením dočasné rezervace a plánovanou rezervací. Následkem toho musí agent kvůli vytvoření rezervace na další interní setkání čekat, nebo se zkrátí časové období, ve kterém lze najít dostupné doby. V tom případě, pokud více agentů provádí zpracování paralelně, se může doba zpracování zkrátit a také se může zkrátit doba, po kterou se mobilní agent uzamkne pro dočasné rezervace. Dále pokud se proces musí provést paralelně protože je složitý, je nutné, aby
44 ··
4 4 · » * 4 4 4 4 ♦ 4 44 4 444 • 4 4 •44 44 «4 klientské místo vyslalo více mobilních objektů kvůli postupnému spuštění zpracování, aby se mohly získané výsledky znovu odeslat klientskému místu a kvůli ručnímu provedení požadovaného procesu s využitím výsledků.
Ačkoli existuje poptávka po mobilních agentech, které mohou provádět paralelní zpracování, běžný mobilní agent založený na Jávě (Java je ochranná známka Sunmicro Systems, lne) nemůže být rozdělen během zpracování, aby prováděl zpracování paralelně, protože tento mobilní agent nepodporuje funkci přesunu po síti a udržování stavu zpracování. Ačkoli se mobilní agent Telescript (Telescript je ochranná známka General Magie lne.) může přesouvat sítí a udržovat stav zpracování, nepodporuje funkci přesunu a údržby informací o správě, jako je pořadí činností ke spuštění. Následkem toho nemůže být mobilní agent rozdělen pro paralelní zpracování.
I pro mobilního agenta, který neprovádí paralelní zpracování a který provádí normální sériové zpracování, vyžaduje jeho příprava a využití program pro definování cíle a chování agenta. Tudíž se po programátorech vyžadují znalosti o programování ve vyšším programovacím jazyce a vývoj programů zahrnuje investici velkého množství času a úsilí.
Podstata vynálezu
Jedním předmětem tohoto vynálezu je zajistit mobilního agenta, který může během spuštění snížit na minimum využití jiných prostředků.
Je dalším cílem tohoto vynálezu zajistit mobilní •9 9999 ** ··· ·· « 9 • · · ···«··« « · 99 objekt, který může provádět účinně zpracování.
Je dalším předmětem tohoto vynálezu snížit dobu zpracování vyžadovanou k navrácení výsledku po vyslání mobilního agenta.
Je dalším předmětem tohoto vynálezu umožnit vývoj mobilního agenta bez vyžadování znalostí o programování ve vyšším programovacím jazyce.
Je dalším předmětem tohoto vynálezu snížit na
přijatelné množství úsilí a dobu požadovanou k vývoj i
mobilního agenta.
Je dalším předmětem tohoto vynálezu zaj istit
uživatelsky přítulný program pro vývoj mobilních agentů,
jehož fungování vývojář intuitivně porozumí.
Podle tohoto vynálezu je zajištěna šablona (zprostředkující šablona), pomocí které jsou složité činnosti mobilního agenta roztříděné do základních vzorů činností a se kterou může být požadovaný vzor aktivity pro mobilního agenta definovaný pomocí kombinace těchto základních vzorů. Šablona spravuje aktivity pro vydávání požadavků na místech, kam mobilní agent cestuje, jako předchůdce (aktivita pro spuštění úlohy na předchozím místě) a jako následník (aktivita pro spuštění úlohy na dalším místě).
Je připraveno více typů šablon jak například Chain, ANDSplit a ANDJoin, podle forem přesunů pro mobilního agenta. Podle typů šablon se instrukce přenese do mobilního agenta na předchozím místě (zdroji) a na dalším místě ·· «·♦· (cíli). Odezvou na instrukce připravuje mobilní agent klony, přesouvá je na jiné místo nebo spojuje klony.
Podle jednoho hlediska tohoto vynálezu je zajištěn objekt, přičemž objekt je členem skupiny mobilních objektů, přičemž skupina je schopná přesunout se z prvního místa na druhé místo za řízení zprostředkovacího agenta a spustit první aktivitu a prvním místě a druhou aktivitu na druhém místě, přičemž objekt obsahuje: (a) seznam předchůdců, který má údaje o spojení týkající se první aktivity; (b) seznam následníků, který má údaje o spojení týkající se druhé aktivity; a (c) zprostředkovací modul pro vyžadování přesunu zprostředkovacího agenta z prvního místa na druhé místo. Předmět podle tohoto hlediska odpovídá zprostředkovací šabloně v upřednostňovaném uspořádání tohoto vynálezu.
Podle jiného hlediska tohoto vynálezu je zajištěn objekt, přičemž objekt je členem skupiny mobilních objektů, přičemž skupina je schopná přesunout se z prvního místa na druhé místo za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, přičemž objekt obsahuje: (a) seznam předchůdců, který má údaje o spojení týkající se první aktivity; (b) seznam následníků, který má údaje o spojení týkající se druhé aktivity; (c) správce stavu pro zjišťování toho, zda existuje zprostředkovací modul na prvním místě nebo na druhém místě; a (d) zprostředkovací modul pro vyžadování přesunu zprostředkovacího agenta z prvního místa na druhé místo. Objekt podle tohoto hlediska odpovídá zprostředkovací šabloně v upřednostňovaném provedení tohoto vynálezu.
Podle dalšího hlediska tohoto vynálezu je zajištěna skupina mobilních objektů, přičemž skupina je schopná
·· ···· • · ··
• · · ·· • * • · * ·
- 6 • · · • • • • • · • • * » · « • • · • · · •
• · * • · · • · ♦ ·
přesunout se z prvního místa na druhé místo za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, přičemž objekt obsahuje: (a) zprostředkovací šablonu obsahující (a-1) seznam předchůdců, který má údaje o spojení týkající se první aktivity, (a-2) seznam následníků, který má údaje o spojení týkající se druhé aktivity, (a-3) správce stavů pro zjištění toho, zda existuje zprostředkovací modul na prvním místě nebo na druhém místě a (a-4) zprostředkovací modul pro požadování po zprostředkovacím agentovi, aby přesunul skupinu mobilních objektů z prvního místa na druhé místo; (b) iterátor plánu ke zjišťování toho, pro kterou z první aktivity, druhé aktivity a zprostředkovací šablonu právě existuje oprávnění ke spuštění; a (c) objekt plánu pro správu pořadí spuštění první aktivity, druhé aktivity a zprostředkovací šablony.
Podle dalšího hlediska tohoto vynálezu je zajištěn způsob řízení skupiny mobilních objektů, přičemž skupina je schopná přesunout se na první místo zadané první adresou a na druhé místo zadané druhou adresou za řízení prostředkovacího agenta a uskutečnit první aktivitu na prvním místě a druhou aktivitu na druhém místě, přičemž způsob obsahuje kroky: (a) požadování po zprostředkovacím agentu, aby připravil prvního mobilního zprostředkovacího agenta, který má údaje o spojení týkající se první aktivity a druhého mobilního zprostředkovacího agenta, který má údaje o spojení, týkající se druhé aktivity; (b) získání první adresy; (c) získání druhé adresy; (d) požadavek, aby se první mobilní zprostředkovací agent přesunul na první místo; a (e) požadavek, aby se druhý mobilní zprostředkovací agent přesunul na druhé místo.
··
·♦ ΦΦ·· • · · *· · ·· · • · ·· «φ
V nárocích specifikace vynálezu neobsahuje požadavek na přípravu prvního mobilního zprostředkovacího agenta a druhého mobilního zprostředkovacího agenta pouze přípravu dvou klonů, které odpovídají prvnímu a druhému zprostředkovacímu agentu, ale také myšlenku, že jeden z klonů, který odpovídá buďto prvnímu nebo druhému zprostředkujícímu agentovi, se přesune na první adresu nebo na druhou adresu a mobilní zprostředkovací agent, který je právě zpracováván, se přesune na druhou adresu nebo na první adresu.
Podle ještě dalšího hlediska tohoto vynálezu je zajištěn způsob řízení skupiny mobilních objektů, přičemž skupina je schopna přesunout se na první místo určené první adresou, na druhé místo určené druhou adresou a na třetí místo určenou třetí adresou za řízení zprostředkovacího agenta a uskutečnit první aktivitu na prvním místě, druhou aktivitu na druhém místě a třetí aktivitu na třetím místě, přičemž způsob obsahuje kroky: (a) požadování, aby mobilní zprostředkující agent na prvním místě připravil prvního mobilního zprostředkovacího agenta, který má údaje o spojení týkající se druhé aktivity a druhého mobilního zprostředkovacího agenta, který má údaje o spojení týkající se třetí aktivity; (b) získání druhé adresy; (c) získání třetí adresy; (d) požadování, aby se první mobilní zprostředkovací agent přesunul z prvního místa na druhé místo; (e) požadování, aby se druhý mobilní zprostředkovací agent přesunul z prvního místa na třetí místo; (f) požadování spuštění druhé aktivity na druhém místě; a (g) požadování spuštění třetí aktivity na třetím místě.
Podle dalšího hlediska tohoto vynálezu je zajištěn způsob řízení skupiny mobilních objektů, přičemž skupina je
• ·· «· ·· • · · · ♦ * · · * · · · · · • · · ··· ·· · • · · · ··· ···· f tt schopná přesunout se na více míst za řízení zprostředkovacího agenta a spustit příslušnou aktivitu na každém z míst, přičemž způsob obsahuje kroky: (a) spuštění na prvním místě první aktivity spojené s prvním mobilním zprostředkovacím agentem kvůli získání prvních výsledků zpracování; (b) požadování, aby se první mobilní zprostředkující agent, který existuje na prvním místě a který nese první výsledky zpracování, přesunul na druhé místo; (c) spuštění na třetím místě druhé aktivity spojené s druhým mobilním zprostředkovacím agentem k získání druhých výsledků zpracování; (d) požadavek, aby se druhý mobilní zprostředkovací agent, který existuje na třetím místě a který nese druhé výsledky zpracování, přesunul na druhé místo; (e) požadování, aby druhý mobilní zprostředkovací agent na druhém místě vyslal druhé výsledky zpracování prvnímu mobilnímu zprostředkovacímu agentovi; a (f) první mobilní zprostředkovací agent na druhém místě nese jak první tak druhé výsledky zpracování. V nárocích specifikace vynálezu, neobsahuje vyslání druhých výsledků zpracování druhým mobilním zprostředkovacím agentem prvnímu mobilnímu zprostředkovacímu agentovi pouze vyslání kopie plánu uzlu, ale také vyslání obsahu výsledků.
Podle ještě dalšího hlediska tohoto vynálezu je zajištěn způsob řízení skupiny mobilních objektů, přičemž skupina je schopná přesunout se na více míst za řízení zprostředkujícího agenta a spustit příslušnou aktivitu na každém z míst, přičemž způsob obsahuje kroky: (a) spuštění na prvním místě první aktivity spojené s prvním mobilním zprostředkovacím agentem, který má údaje o identifikaci agenta a získá první výsledky zpracování; (b) požadování, aby se první mobilní zprostředkovací agent, který existuje na prvním místě a který nese první výsledky zpracování, • φ φ φ φφ přesunul na druhé místo; (c) spuštění na třetím místě druhé aktivity spojené s druhým mobilním zprostředkovacím agentem, který má stejné údaje o identifikaci agenta jako jsou údaje prvního mobilního zprostředkovacího agenta, a získání druhých výsledků zpracování; (d) požadování, aby se druhý mobilní zprostředkovací agent, který existuje na třetím místě a který nese druhé výsledky zpracování, přesunul na druhé místo; (e) požadování, aby druhý mobilní zprostředkovací agent na druhém místě vyslal druhé výsledky zpracování prvnímu mobilnímu zprostředkovacímu agentovi; (f) hledání na druhém místě mobilního zprostředkovacího agenta, o identifikaci jako jsou údaje o (g) první mobilní zprostředkovací agent na druhém místě nese jak první, tak druhé výsledky zpracování.
který má stejné údaje identifikaci agenta; a
Podle ještě dalšího dodatečného hlediska tohoto vynálezu je zajištěna skupina mobilních objektů, přičemž skupina je schopná přesunout se z prvního místa na druhé místo a uskutečnit první aktivitu na prvním místě a druhou aktivitu na druhém místě, přičemž skupina mobilních objektů obsahuje: (a) objekt plánu pro správu pořadí spuštění první aktivity a druhé aktivity; a (b) iterátor plánu pro zjištění toho, pro kterou z první aktivity nebo druhé aktivity právě existuje oprávnění ke spuštění.
Podle jednoho ještě dalšího hlediska tohoto vynálezu je zajištěn způsob generování skupiny mobilních objektů, přičemž skupina obsahuje (i) první aktivitu, která se má spustit na prvním místě, (ii) druhou aktivitu, která se má spustit na druhém místě a (iii) zprostředkovací šablonu pro požadování po zprostředkovacím agentovi, aby se přesunul na druhé místo, přičemž zprostředkovací agent je schopen řídit ·· ···· • ·· ·· ·· ·· · · · · · · • · · · · · • · · ······ • · · · ··· «··« ·· přesun mobilní skupiny na prvním místě, přičemž způsob obsahuje kroky: (a) generování během první aktivity seznamu následníků, obsahujícího údaje o spojení týkající se zprostředkovací šablony; (b) generování pomocí zprostředkovací šablony seznamu předchůdců, obsahujícího údaje o spojení týkající se první aktivity a seznamu následníků obsahujícího údaje o spojení týkající se druhé aktivity; a (c) generování během druhé aktivity seznamu předchůdců obsahujícího údaje o spojení týkající se zprostředkovací šablony.
Podle jednoho dalšího hlediska tohoto vynálezu je zajištěn způsob generování skupiny mobilních objektů, přičemž skupina obsahuje (i) první aktivitu, která se má uskutečnit na prvním místě, (ii) druhou aktivitu, která se má uskutečnit na druhém místě a (iii) zprostředkovací šablonu pro požadování po zprostředkujícím agentovi, aby se přesunul na druhé místo, přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na prvním místě, přičemž způsob obsahuje kroky: (a) generování seznamu pro správu pořadí spuštění první aktivity, zprostředkovací šablony a druhé aktivity; (b) generování během první aktivity seznamu následníků obsahujícího údaje o spojení týkajícího se zprostředkovací šablony; (c) generování pomocí zprostředkovací šablony, seznamu předchůdců obsahujícího údaje o spojení týkající se první aktivity a seznamu následníků obsahujícího údaje o spojení týkajících se druhé aktivity; a (d) generování během druhé aktivity seznamu předchůdců, který obsahuje údaje o spojení týkající se zprostředkovací šablony.
Podle dalšího hlediska tohoto vynálezu je zajištěno zařízení pro generování skupiny mobilních objektů, přičemž • · 4444 ·· ·· • 4 4 · » · · 4
444 444
4 ·· 44
-ϊ skupina obsahuje (i) první aktivitu, která se má spustit na prvním místě, (ii) druhou aktivitu, která se má spustit na druhém místě a (iii) zprostředkovací šablonu pro požadování po zprostředkovacím agentovi, aby se přesunul na druhé místo, přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na prvním místě, přičemž zařízení obsahuje: (a) prostředky pro generování během první aktivity seznamu následníků, obsahujícího údaje o spojení týkající se (b) prostředky pro generování šablony seznamu předchůdců obsahujícího údaje o spojení týkající se první aktivity a seznamu následníků obsahujícího údaje o spojení týkající se druhé aktivity; a (c) prostředky generování během druhé aktivity seznamu předchůdců obsahujícího údaje o spojení týkající se zprostředkovací šablony.
zprostředkovací šablony; pomocí zprostředkovací
Podle dalšího hlediska tohoto vynálezu je zajištěno počítačem čitelné paměťové médium nesoucí program pro generování skupiny mobilních objektů, přičemž skupina obsahuje (i) první aktivitu, která se má spustit na prvním místě (ii), druhou aktivitu, která se má spustit na druhém místě a (iii) zprostředkovací šablonu pro požadování po zprostředkovacím agentovi, aby se přesunul na druhé místo, přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na prvním místě, přičemž program obsahuje: (a) programový kód pro sdělení pokynu počítači, aby generoval během první aktivity, seznam následníků obsahující údaje o spojení týkající se zprostředkovací šablony; (b) programový kód pro sdělení pokynů počítači, aby generoval pomocí zprostředkovací šablony seznam předchůdců obsahující údaje o spojení týkající se první aktivity a seznamu následníků obsahujícího údaje o spojení týkající se druhé aktivity; a (c) programový kód pro sdělení pokynů počítači,
- 12 aby generoval během druhé aktivity seznam předchůdců obsahující informace o spojení týkající se zprostředkovací šablony.
φφ φφφφ • φ • φφφφ φφ φφ • φ φ · • φ φ φ φφφ ·«« φ φ φ · φ »
Přehled obrázků na výkresech
Vynález bude blíže vysvětlen prostřednictvím konkrétních příkladů provedení znázorněných na výkresech, na kterých představuje obr. 1 schéma znázorňující distribuované síťové prostředí, kde se pohybuje mobilní agent podle tohoto vynálezu.
obr. 2 schéma ukazující vzorovou formu, kde se mobilní agent podle vynálezu pohybuje distribuovanou sítí.
obr. 3 blokové schéma znázorňující vzorové hardwarové uspořádání pro systém klienta nebo pro systém serveru podle tohoto vynálezu.
obr. 4 blokové schéma znázorňující vzorové komponenty pro zpracování na straně klienta podle tohoto vynálezu.
obr. 5 blokové schéma znázorňující vzorové komponenty pro zpracování na straně serveru podle tohoto vynálezu.
obr. 6 schéma znázorňující objekty podle upřednostňovaného provedení tohoto vynálezu.
♦ · ···· ·· » · • · ···· ·· ·· • 9 9 9 • · 9 9
999 999 • · * · 9· obr.
schéma znázorňující upřednostňovaného provedení objekt podle tohoto vynálezu.
schéma znázorňující tok zpráv vyměňovaných mezi objekty podle upřednostňovaného uspořádání tohoto vynálezu.
obr.
schéma znázorňující uživatelské rozhraní podpůrného nástroje pro vývoj podle upřednostňovaného provedení tohoto vynálezu.
obr.
obr.
obr.
schéma ukazující uživatelské rozhraní podpůrného nástroje pro vývoj podle upřednostňovaného provedení tohoto vynálezu.
je schéma ukazující uživatelské rozhraní podpůrného nástroje pro vývoj podle upřednostňovaného provedení tohoto vynálezu.
schéma ukazující zpracování podle upřednostňovaného provedení tohoto vynálezu, kde událost je vyslána mobilnímu agentovi a je spuštěna.
blokové schéma znázorňující zpracování pro přidání plánovacího uzlu do objektu plánu podle upřednostňovaného provedení tohoto vynálezu.
pojmové schéma znázorňující vzorový stav, kde je objekt plánu spojen s objektu uzlu plánu.
• · · • · • · · obr. 15 pojmové schéma znázorňující vzorový stav, kde je objekt plánu spojen s objekty uzlů plánu.
obr. 16 pojmové schéma znázorňující vzorový stav, kdy je objekt plán spojen s objekty uzlů plánu.
obr. 17 blokové schéma znázorňující zpracování pro spuštění objektu plánu podle upřednostňovaného provedení tohoto vynálezu.
obr. 18 funkční blokové schéma znázorňující zprostředkovací šablonu podle upřednostňovaného provedení tohoto vynálezu.
obr. 19 pojmové schéma znázorňující místo podle upřednostňovaného provedení tohoto vynálezu.
obr. 20 blokové schéma ukazující hrubé zpracování pro zprostředkovací šablonu podle upřednostňovaného provedení tohoto vynálezu.
obr. 21 pojmové schéma ukazující stav podle upřednostňovaného provedení tohoto vynálezu, kde se skupina mobilních objektů přesouvá ze zdrojového místa na cílové místo.
obr. 22 pojmové schéma ukazující stav podle upřednostňovaného provedení tohoto vynálezu, kde se skupina mobilních objektů přesouvá ze zdrojového místa na cílové místo.
• to • ·
obr. 23 blokové schéma ukazující zpracování ve zdroji iterační šablony podle upřednostňovaného provedení tohoto vynálezu.
obr. 24 pojmové schéma ukazující stav podle upřednostňovaného provedení tohoto vynálezu, kde se skupina mobilních objektů přesouvá ze zdrojového místa na cílové místo.
obr. 25 pojmové schéma ukazující stav podle upřednostňovaného provedení tohoto vynálezu, kde se skupina mobilních objektů přesouvá ze zdrojového místa na cílové místo.
obr. 26 blokové schéma ukazující zpracování ve zdroji pro šablonu ANDSplit podle upřednostňovaného provedení tohoto vynálezu.
obr. 27 blokové schéma ukazující logiku zjišúování aktuálního uzlu podle upřednostňovaného provedení tohoto vynálezu.
obr. 28 blokové schéma ukazující zpracování v cíli pro šablonu ANDJoin podle upřednostňovaného provedení tohoto vynálezu.
obr. 29 blokové schéma ukazující zpracování v cíli pro šablonu ANDJoin podle upřednostňovaného provedení tohoto vynálezu.
schéma pro vysvětlení základů pro šablonu ANDJoin podle provedení tohoto vynálezu.
zpracování v cíli upřednostňovaného ·· ·· » · · · ► · · · ··· ··· • · (»« · ·
obr. 31 pojmové schéma ukazující stav podle upřednostňovaného provedení tohoto vynálezu, kde se skupina mobilních objektů přesunuje ze zdrojového místa na cílové místo.
obr. 32 blokové schéma ukazující zpracování ve zdroji šablony ORSplit podle upřednostňovaného provedení tohoto vynálezu.
obr. 33 pojmové schéma ukazující stav podle upřednostňovaného provedení tohoto vynálezu, kde se skupina mobilních objektů přesunuje ze zdrojového místa na cílové místo.
obr. 34 blokové schéma ukazující zpracování v cíli pro šablonu ORJoin podle upřednostňovaného provedení tohoto vynálezu.
Příklady provedení vynálezu
A. Distribuované síťové prostředí a hardwarové uspořádání pro každý uzel
Nyní bude popsáno jedno provedení tohoto vynálezu s odkazem na doprovodné výkresy. Na obr. 1 je zobrazeno distribuované síťové prostředí 150 pro spuštění mobilního objektu podle tohoto vynálezu. Místa 102 až 107, kde mohou být opatřeny služby pro mobilní agenty 125, 135 a 141, jsou připravena na serverech 112 až 117. V distribuovaném síťovém prostředí se skupina takových míst nazývá shluk.
·· ·· • · β · · « • 4 4 · 4 * 4 (»1 4 4 4 • 4 4 • · 4 4 4 4 « 4 4 • · 4 · · « • · · · • · 4
- i7 - ::: · ·· · 4
V systému klienta 101 existuje plánovací agent 113 ke generování mobilních agentů. Plánovací agent 113 vysílá generovaný plán zprostředkovacímu agentovi 111, který spustí plán, aby mobilního agenta přesunul na určené místo.
Mobilní agent 125 může kontaktovat jiné agenty, které existují na místech 102 až 107 (podrobně se agent, který kontaktuje mobilního agenta a zajišťuje službu nazývá činný agent) a může vysílat požadavky a přijímat výsledky’získané jako následek požadavku. Místa podporují kontakty mezi agenty. Mobilní agent 125 může nést výsledky 139, 143, 153 a 163, což jsou výsledky získané jako následek požadavků přijatých od činného agenta, zatímco pokračuje v přesunu. Dále, během přesunu, mohou být výsledky sloučeny nebo rozděleny nebo s nimi lze provádět různé jiné zpracování.
V tomto vynálezu je přesun, rozdělování a likvidaci mobilního agenta řízen zprostředkovacími šablonami 181 až 187. Uživatel může kombinovat různé šablony podle typů procesů a muže snadno definovat složitou úlohu jak je ukázáno na obr. 2.
Obr. 3 je blokové schéma ukazující hardwarové uspořádání každého uzlu (místo serveru nebo klienta), který existuje v distribuovaném síťovém prostředí ukázaném na obr. 1. Každý uzel 100 obsahuje centrální procesorovou jednotku (CPU) 1 a paměť 4. Prostřednictvím sběrnice 2 komunikuje CPU 1 a paměť 4 s diskem 13, který slouží jako podpůrné paměťové zařízení. Disketová mechanika (nebo jednotka paměťového média, jako je MO nebo CD-ROM) 20 je připojena ke sběrnici 2 prostřednictvím řadiče 19 disketové mechaniky.
Disketa (nebo paměťové médium jako je MO nebo CD-ROM) je vložena do disketové mechaniky 20 a počítačový software pro spolupráci s operačním systémem při udávání pokynu CPU 1 a pro uskutečnění tohoto vynálezu, je zaznamenán na disketě nebo disku 13 a v paměti ROM 14. Počítačový software se spustí zavedením do paměti 4. Počítačový software může být komprimován nebo rozdělen na více částí kvůli zaznamenání na více médií.
Systém 100 uzlu může také obsahovat hardware uživatelského rozhraní. Příklad hardwarových komponentů uživatelského rozhraní jsou ukazovací zařízení (myš, pákový ovladač, atd.) T_ a klávesnice 6 pro vstup dat a zobrazovací zařízení 12 pro zajištění vizuálních dat pro uživatele. Navíc může být připojena tiskárna k systému 100 na paralelním portu 16. Systém uzlu 100, který může mít modem připojený k sériovému portu 15., je spojen se sítí prostřednictvím sériového portu 15 a modemu nebo prostřednictvím adaptéru Token ring nebo komunikačního adaptéru 18 kvůli komunikaci s jiným počítačovým systémem.
Lze snadno pochopit, že tohoto vynálezu lze dosáhnout běžným osobním počítačem (PC), pracovní stanicí, zařízením pro obecné použití nebo kombinací těchto tří. Je nutné poznamenat, že tyto komponenty jsou pouze příklady a že se pro tento vynález nutně nevyžadují všechny z nich. Zejména protože server může být vzdáleně řízen, nevyžaduje se uživatelské rozhraní u serveru a vyžadují se pouze základní funkce pro zpracování dat jako například CPU, paměť, a komunikace.
Operační systém jak pro systém klienta, tak pro systém serveru, může být operační systém, který podporuje
0 0 0 0 0 • 0000 standardní prostředí GUI s více okny, jako například WindowsNT (ochranná známka společnosti Microsoft), Windows95 (ochranná známka společnosti Microsoft), Windows3.x (ochranná známka společnosti Microsoft), OS/2 (ochranná známka společnosti IBM) nebo X-Windows (ochranná známka společnosti MIT) na AIX (ochranná známka společnosti IBM) ; operační systém se znakovým prostředím, jako například PCDOS (ochranná známka společnosti IBM Corp.) nebo MS-DOS (ochranná známka společnosti Microsoft); nebo OS v reálném čase jako je OS/Open (ochranná známka společnosti IBM) nebo VxWorks (ochranná známka společnosti Wind River Systems lne.) a není omezen na prostředí konkrétního operačního systému.
B. konfigurace systému
Konfigurace systému klienta a serveru podle upřednostňovaného provedení tohoto vynálezu bude nyní popsána s odkazem na bloková schémata na obr. 4 a 5.
Obr. 4 je blokové schéma znázorňující vzorové komponenty pro zpracování v systému 210 klienta. Plánovací agent 211 obsahuje vymezovač 213 plánu a generátor 215 ID plánu. Generátor 215 ID plánu přiděluje k plánu jedinečné ID síťového plánu. V upřednostňovaném provedení tohoto vynálezu slučuje generátor 215 ID plánu URL pro internet, číslo portu, ID agenta (přidělené plánovacímu agentovi) a sériové číslo (přidělené při každém vygenerování ID plánu plánovacím agentem) kvůli vygenerování ID plánu.
Vymezovač 213 plánu získá zprostředkovací šablonu 203 a aktivitu 205 z knihovny 201 uzlů plánů a generuje zprostředkovacího agenta a plán. Takto generovaný plán • a a · aa a a a a a a a aaa aaa a a a aaa aa a a obsahuje oddíl 223 sestavení plánu pro správu informací pro zprostředkovací šablonu a aktivitu, která se má spustit, a seznam 225 s pořadím pro vymezení pořadí pro zprostředkovací šablonu a aktivitu. Oddíl 223 sestavení plánu má údaje pro sladění objektů uzlů plánu (obecný termín pro zprostředkovací šablony a aktivity) a tvoří topologii 231 sítě.
Obr. 5 je funkční blokové schéma znázorňující vzorové komponenty zpracování v systému 250 serveru. Skupina 270 mobilních objektů obsahuje a zprostředkovací šablonu 251, objekt 261 plánu, zprostředkovací šablonu 271 a aktivitu 281. Zprostředkovací agent 251 má řadič 253 životního cyklu mobilního agenta a spouštěč 255 plánu. Řadič 253 životního cyklu mobilního agenta řídí pohyb, kopírování a likvidaci skupiny 270 mobilních objektů. Spouštěč 255 plánu zjistí příchod na nové místo a vydá pokyn objektu 261 plánu ke spuštění plánu.
Objekt 261 plánu obsahuje řadič 263 spouštění plánu, aktuální uzel 267 a seznam 265 s pořadím. Jakmile řadič 263 spouštění plánu přijme od spouštěče 255 plánu ve zprostředkovacím agentovi 251 pokyn ke spuštění plánu, řadič 263 spouštění plánu se odvolá na aktuální uzel 267 a seznam pořadí 265 a zjistí, které objekty 271 a 281 uzlu plánu jsou právě dostupné k provedení spuštění a pak požaduje po objektech 271 a 281 uzlů plánu, aby spustily plán.
Aktuální uzel 267 odpoví iterátoru plánovacího uzlu, který bude popsán později, a sleduje to, který objekt plánovacího uzlu se spouští. Seznam 265 s pořadím je seznam udávající, které objekty 271 a 281 plánovacích uzlů mají spustit plán. Pokud nenastává žádné větvení, podle pořadí
9
9999 9 9 9 99
9 · « · · 9 · • · · 9 9 9 9 9 9 • · · · · · Φ ······ • · · · 9 9 9
9 99 9 9999 99 99 záznamů v seznamu 265 s pořadím, se po objektech 271 a 281 plánovacích uzlů požaduje, aby spustily plán.
Zprostředkovací šablona 271 obsahuje řadič 273 zprostředkovacích agentů, spouštěč 275 kroků plánu a oddíl 277 s odkazy ve formě adres. Řadič 273 zprostředkovacích agentů požaduje, aby se řadič 253 životního cyklu mobilních agentů ve zprostředkovacím agentu 251 přesunul, zkopíroval nebo zlikvidoval skupinu 270 mobilních objektů. Spouštěč 275 kroků plánu je definován jinak podle typu zprostředkovacích šablon a spravuje pokyny, které se mají spustit na místech před přesunem a po přesunu. Oddíl 277 s odkazy ve formě adres získá adresu od aktivity a upozorní řadič 273 zprostředkovacích šablon na adresu, kam se přesouvá.
Aktivita 281 má spouštěč 283 aktivity a funkci 285 zpráv. Spouštěč 283 aktivity ukládá instrukce, které se spouští na příslušných místech, na které mobilní agent cestuje a výsledky, které mobilní agent získá na těchto místech. Funkce 285 zpráv vyměňuje zprávy s činným agentem 291.
Činný agent 291 je jiný agent, který existuje na místě a zajišúuje služby podle požadavků aktivity 281. Činný agent 291 má funkcí 293 zpráv pro výměnu zpráv s aktivitou 281 a procesor 295 zpráv pro zjištění významu obsahu požadavku a k zajištění služby.
Byly popsány funkční bloky na obr. 4 a 5. Tyto funkční bloky jsou logické funkční bloky a nejsou implementovány skupinou hardwarových ani softwarových komponentů. Mohou však být implementovány smíšenými hardwarovými nebo softwarovými komponenty nebo běžně používanými hardwarovými
nebo softwarovými komponenty. Navíc ne všechny z funkčnáích bloků na obr. 4 a 5 jsou vyžadovány pro tento vynález. Například seznam 265 s pořadím se zvláště nevyžaduje, protože správce aktuálního uzlu 267 přímo řídí aktuální uzly a protože v procesu ANDJoin atd. je potřeba určit pouze zprostředkovacího agenta k získání jiných výsledků.
C. Konfigurace objektu
Obr. 6 a 7 jsou schémata znázorňující mobilní objekt. Každá ze tříd pro zprostředkovacího agenta 303, plán 3 05, ID 30$ plánu a iterátor 307 plánu má metodu a třídy pro šablony 321 až 326, jako například uzel 311 plánu, aktivitu 313, zprostředkovací šablonu 315 a Chain 321, mají data a metodu.
Na obrázcích 6 a 7 udávají trojúhelníkové symboly 302, 314 a 316, že data a metody vyšších tříd jsou zděděné a černá tečka 312 udává, že existuje více nižších tříd. Uzel 311 plánu, což je abstraktní třída, definuje jak třídu 315 zprostředkovací šablony, tak třídu 313 aktivity pomocí běžného rozhraní. Plán 305 může tudíž ošetřovat obě třídy stejně pro vygenerování plánu nebo během spouštění plánu.
Mobilní agent 301 je funkce (třída místo) pávě zajištěná na příslušných místech v distribuovaném počítačovém prostředí. Uživatel může snadno vytvořit mobilního agenta (zprostředkovacího agenta) odesláním API této třídě kvůli vydání pokynu k přípravě mobilního agenta. Nyní je tato funkce podporována jak mobilními agenty v Jávě, tak mobilními agenty v TeleScriptu, které byly popsány v části Dosavadní stav techniky.
Třída 311 uzlu plánu má seznam následníků a seznam
9999
předchůdců a spravuje vztah mezi množstvím uzlů plánu. Třída 311 uzlu plánu zajišťuje metody pro setPredecessor a setSuccessor, a definuje vztah mezi uzly. Konkrétní třída uzlu plánu může určovat vztahy mezi metodami.
Protože je třída 315 zprostředkovací šablony spojena s třídou 313 aktivity, která se spouští na různých místech, má třída 315 zprostředkovací šablony stavové informace k rozlišení zdroje (místa před přesunem) od cíle (místo po přesunu). V upřednostňovaném provedení tohoto vynálezu může být zprostředkovací šablona spojena pouze s objektem aktivity. Chain a jiné šablony jsou zajištěny pro zprostředkovací šablonu, takže lze zajistit základní mechanismus rozdělování práce mezi více rozdělených zprostředkovacích agentů, atd.
Obr. 8 je schéma znázorňující hlavní tok zpráv pro třídy podle upřednostňovaného provedení tohoto vynálezu. Zprostředkovací agent 351 vyšle nextStep (pokyn ke spuštění dalšího kroku) plánu 353. po přijetí tohoto pokynu vyšle plán 353 nextStep objektu uzlu plánu (zprostředkovací šablona 357 nebo aktivita 355) . Aktivita 355 vyšle sendMessage (požadavek na přenos právy) činnému agentovi 359 ke spuštění požadavku určeného uživatelem. Podle typu zprávy a podmínky vyšle zprostředkovací šablona 357 getARL (příkaz k vyslání adresy) nebo isMarked (označení) aktivitě 355. Navíc vyšle zprostředkovací šablona 357 cloně (požadavek na přípravu klonu), dispatch (požadavek na odeslání) a dispose (požadavek na odstranění) zprostředkovacímu agentu 351.
D. Příprava plánovacího agenta
Plánovací agent je skupina instrukcí, kterou má spustit ·· ···· ·· • to ·· ·· • to · « • · · · • ··· ··· • · klientské místo. Jakmile se instrukce spustí, vyšle se požadavek na vygenerování zprostředkovacího agenta a generuje se plánovací objekt pro definování skupiny aktivit, které se mají spustit, a vyšle se zprostředkovacímu agentovi.
Jak je popsáno výše, generuje se zprostředkovací agent s využitím funkcí (třídy plače), které jsou momentálně zajištěny pro příslušná místa. V upřednostňovaném provedení tohoto vynálezu se API pro pokyny k vytvoření mobilního agenta vyšlou třídě Aglets základního mobilního agenta v Jávě ke generování zprostředkovacího agenta.
Proces vytváření plánu je zhruba rozdělen na proceduru vytvoření ID plánu a na proceduru pro založení spojující podmínky vzhledem k objektu umístěnému na pozici nižší, nežli plánovací objekt.
V upřednostňovaném provedení je jedinečné ID plánu, které je konkrétně určeno globální sítí, přiděleno objektu plánu. V upřednostňovaném provedení připraví generátor 215 ID plánu (obr. 4) ID plánu sloučením URL pro internet, čísla portu, ID agenta (předěleného plánovacímu agentu) a sériového čísla (přiděleného pokaždé když plánovací agent vytvoří ID plánu).
Vzorové kódování použité generátorem 215 ID plánu je ukázáno v tabulce 1. V upřednostňovaném provedení tohoto vynálezu je skupina instrukcí generátoru ID plánu zajištěna jako část programu pro uživatele.
[Tabulka 1] public class Planner extends StationaryAgent { private Pian _plan;
·· ·· • < · « • · · · • · · · · · • · · · · private PlannerFrame f; private URL_home; private Agletldentifier _id; private int __planlndex = 0;
public void onCreation(Object args){ //generovaní okna k výběru plánu f = new PlannerFrame(JMT - PlannerAgent, this); f.show();
try{ //získání URL, kde existuje plánovací agent _home = getAgletContext().getHostingURL();
//získání ID plánovacího agenta _id = getldentifier();
}catch(InvalidAgletException e){
Utility.print(this, e.getMessage()) ;
Tabulka 2 ukazuje kódování při použití šablony Chain ve vymezovači
213 plánu (obr. 4) . V jednom režimu upřednostňovaného provedení tohoto vynálezu je pro uživatele (programátora) zajištěn vzorový kód obsahující typ šablony. Uživatel znovu vytvoří požadované kódování použitím vzorového kódu k vytvoření této skupiny instrukcí.
[Tabulka 2] public void doPlanl {) { //generování objektu plánu
Pian pian = new Pian(generatePlanID());
//generování aktivity Activity actl, act2;
actl = new Activity(atp://kazu.yamamoto.ibm.com:434/,
JMT.samples.TextFieldAgent,new Message(Activity.REQUEST));
act2 = new Activity(atp://+ _home.getHost()+:434/,
JMT.samples.ReportAgent, new Message(Activity.REPORT));
//přidání aktivity a šablony do plánu try{
• · · · · · • · · · · • · »·· 999 • · · ·»·· «· ·«
Vector predecessorlndexList; predecessorlndexList = new Vector();
//přidání šablony Chain do plánu
Integer hwdl = plan.addNode(null, new Chain());
//přidání actl do plánu predecessorlndexList.addElement(hwdl) ;
Integer hwd2 = pian.addNode(predecessorlndexList, actl); //přidání šablony Chain do plánu predecessorlndexList.removeAllElements() ; predecessorlndexList.addElement(hwd2) ;
Integer hwd3 = pian.addNode(predecessorlndexList, new
Chain() ) ;
//přidání act2 do plánu predecessorlndexList.removeAllElements() ; predecessorlndexList.addElement(hwd3) ;
Integer hwd4 = pian.addNode(predecessorlndexList, act2);
}catch(BlockedByIteratorException e){
Utility.print(this, e.getMessage() ) ;
//generování zprostředkovacího agenta createModeratorAgent(pian);
}
V jiném režimu upřednostňovaného provedení tohoto vynálezu je zajištěn vývojový podpůrný nástroj k umožnění uživateli snadno provádět toto kódování. Obr. 9 až 11 jsou schémata znázorňující uživatelské rozhraní pro podpůrný vývojový nástroj podle upřednostňovaného provedení tohoto vynálezu. Uživatel může snadno generovat výše uvedené kódování pro vymezovač plánu použitím vývojového podpůrného nástroj e.
Protože vývojový podpůrný nástroj tvoří dobře známou metodu zajištěnou Workflow Automation (Workflow Automation je ochranná známka společnosti Ultimus LLC Corp.) atd. (podrobností lze získat na http://www.ultimusl.com, atd.), nebude popsán konkrétní způsob provádění funkce a budou
popsány pouze procedury prováděné uživatelem.
Nejdříve uživatel vybere z roletové nabídky Vytvořit 371 a klepne na něj ukazovacím zařízením. Podpůrný vývojový nástroj plánovacího agenta pak zobrazí dialogové okno pro zadání názvu plánu. Uživatel může tudíž spravovat plán s použitím názvu, který se liší od ID plánu a je pro uživatele jednoduchý a dobře známý. Jakmile uživatel zadá název plánu do vstupního okna 374 a stiskne tlačítko 373 OK, otevře se okno 380 s definicí plánu.
Pomocí ukazovacího zařízení uživatel přetáhne ikonu 399 aktivity plánu z okna 390 s plánovacími uzly a upustí ji do okna 380 s definicemi plánů. Pak se otevře okno 381 s editorem vlastnostmi aktivit, jak je ukázáno na obr. 10.
Vstupní okna pro název 382 aktivity, název 383 adresy (adresa pro místo, které spouští aktivitu), název 384 činného agenta a zpráva 385 se připraví pro okno 381 s editorem vlastností aktivit. Uživatel vloží data podle potřeby do příslušných vstupních oken a klepne na tlačítko 386 OK kvůli definici aktivity.
Podobně se přetahuje ikona 391 Chain z okna 390 s plánovacími uzly na pozici napravo od nebo pod actl v okně 380 s definicemi plánů a upustí se tam. V upřednostňovaném provedení tohoto vynálezu jakmile se přetáhne ikona šablony jiná než ORSplit, nezobrazí se okno s editorem vlastností šablon. Jakmile se však přetáhne ikona ORSplit, zobrazí se okno s editorem vlastností šablon a zadají se podmínky výběru pro aktivitu. Pak se také stejně jako actl, přetáhne aktivita act2 napravo od nebo pod Chain a tak se nastaví vlastnost.
·· ·« » · · 1 » · · 4 • · · · · 1 • I
Potom uživatel klepne na a zvolí dva objekty (např. actl: 375 a Chain 376) v okně 380 s definicemi plánů, které se mají spojit a zvolí Spojit 379 v nabídce úpravy. Pak se tyto dva objekty spojí (vygenerují se seznamy následníků a předchůdců).
Po spojení všech objektů uživatel klepne na Vytvořit 397 v okně 380 s definicemi plánů. Podpůrný vývojový nástroj plánovacího agenta přidává prvky k objektu plánu kvůli vygenerování plánovacího agenta.
Jakmile uživatel klepne na Spustit 398 v okně 380 s definicemi plánů, vyšle se událost získanému plánovacímu agentovi a třídě plače, generuje se zprostředkovací agent a plánovací agent generuje plán a vyšle jej zprostředkovacímu agentovi. Zprostředkovací agent automaticky spustí přijatý plán.
Tento proces je zobrazen na obr. 12. Událost, která nastala v okně 380 s definicemi plánů se vyšle plánovacímu agentovi 470. Plánovací agent 470 analyzuje událost a spustí kód objektu, který odpovídá tabulkám l a 2 a tím začne definici 472 a sestavování 473 plánu. Plán 477, který se takto vytvoří, se vyšle zprostředkovacímu agentovi 351, který zase spustí každý krok plánu.
V upřednostňovaném provedení tohoto vynálezu po přípravě plánovacího objektu lze přidat více plánovacích uzlů pomocí metody addNode ve třídě pian. Navíc po přípravě objektu pian lze odstranit více plánovacích uzlů pomocí metody RemoveNode ve třídě pian a lze aktualizovat seznam následníků.
·· «··« * ·
ΦΦ · φ Φ · 9 ······ • Φ Λ ·
Φ Φ Φ Φ · Φ Φ · Φ · ·
D. Generování plánu
D-l. Topologie případu, ve kterém je obsažena šablona
Chain
Nyní bude popsáno zpracování, pomocí nějž plánovací agent ukázaný v tabulkách 1 a 2 generuje plánovací objekt s použitím plánovacího objektu jako příkladu, který obsahuje šablonu Chain, generovanou podpůrným vývojovým nástrojem, který byl popsán s odkazem na obr. 9 až 11. Obr. 13 je vývojový diagram pro zpracování pro přidání plánovacího uzlu do plánovacího objektu a obr. 14 je pojmové schéma znázorňující stav, kde je objekt plánu spojen s objektem uzlu plánu.
Šablona Chain, což je nej jednodušší šablona, spojuje dvě aktivity na různých místech. Ve zdroji přijme Chain ARL (adresa) pro aktivitu následníka a přesune skupinu mobilních objektů do cíle. Zdrojové místo a cílové místo může být stejné.
Po spuštění plánovacího agenta se nejdříve vygeneruje objekt plánu a nastaví se ID plánu. Dále se vygeneruje objekt 520 a 540 aktivity, který tvoří plán. Jak je vidět na obr. 14, název 521 agenta, pro kterého se vyžaduje služba, adresa 523 serveru ke spuštění a obsah 524 požadavku se uloží do každé aktivity. V příkladě z obr. 14 se připraví dva objekty aktivita.
Potom se tyto dva objekty aktivity uloží do objektu 510 plánu. Šablona 530 Chain, která bude popsána později, je použita ke spojení těchto dvou aktivit. Před uložením aktivit do objektu plánu 510, se musí určit prvek, za který
• ·· ·· 44
4 · 4 · · 4 · • · 4 · 4 · • * 4 »♦···» • · 4 ·
4 4 4 4 4 4 44 4 4 se tyto aktivity připojí. Z toho důvodu je použit indexovaný seznam předchůdců 515. V upřednostňovaném provedení tohoto vynálezu je indexovaný seznam 515 předchůdců implementován jako seznam.
Po vytvoření indexovaného seznamu 515 předchůdců v objektu 510 plánu přidá plánovací agent první objekt aktivity (actl 520) do objektu 510 plánu. Na obr. 13 je ukázáno zpracování pro přidání uzlu plánu do objektu 510 plánu. Plánovací agent prozkoumá indexovaný seznam 515 předchůdců, aby zjistil, zda je či není volný (blok 803) . Protože actl 520 je první prvek a indexovaný seznam 515 předchůdců je prázdný, actl 520 je přidá do seznamu 513 uzlů plánu (blok 815) . Objekt 510 plánu vrátí plánovacímu agentovi index v seznamu 513 uzlů plánů jako návratovou hodnotu (blok 817). Pak se vrátí řízení programu (blok 819).
V tomto případě se jako návratová hodnota vrátí index 0.
Pak se objekt 530 Chain přidá do objektu 510 plánu.
V tomto případě se znovu spustí zpracování na obr. 13. Plánovací agent prozkoumá indexovaný seznam 515 předchůdců, aby zjistil, zda je či není prázdný (blok 803) , a protože actl 520 byl registrován, pokročí řízení programu k bloku 805. V blocích 805 a 807 se provede kontrola toho, zda byly či nebyly zpracovány všechny prvky v indexovaném seznamu 515 předchůdců.
Pak se objekt 530 Chain přidá do objektu 510 plánu (blok 809) . Nejdříve se návratová hodnota 0, která se získá jakmile se přidá actl, vloží do indexovaného seznamu 515 předchůdců kvůli určení actl 520, za který se aktivita připojí.
indexovaný seznam předchůdců [0] • 9 ··· · • · · * · · • · · ···· « « · · • · · * · · · · I • · * t · * · ···«·· • « · · · · · *» » ··· ·*·· ··
Objekt Chain se přidá za actl. Objekt 510 plánu uloží objekt Chain do seznamu 529 následníků do actl, který je určen v indexovaném seznamu 515 předchůdců (blok 809) . Pak se actl uloží do seznamu 531 předchůdců Chain 530 (blok 811) . Nakonec se Chain 523 uloží do seznamu 513 uzlů plánů objektu 510 plánu a jeho index se vrátí jako návratová hodnota (v tomto případě 1) plánovacímu agentovi.
Dále se act2 540 přidá do objektu plánu 510. Nejdříve se indexovaný seznam 515 předchůdců vyčistí (vyčistí se údaje týkající se actl) a nastaví se návratová hodnota (1) získaná při přidání Chain do plánu.
indexovaný seznam předchůdců [1]
Pak se act2 přidá za Chain. Stejně jako v případě Chain, uloží objekt 510 plánu objekt act2 do seznamu 529 následníků pro Chain určený v indexovaném seznamu 515 předchůdců (blok 809) . Pak se Chain uloží do seznamu 531 předchůdců do act2 540 (blok 811) . Nakonec se act2 uloží do seznamu 513 uzlů plánů objektu 510 plánu a jeho index se vrátí jako návratová hodnota (v tomto případě 2) plánovacímu agentovi.
D-2. Topologie případu, ve kterém je obsažena iterační šablona
Obr. 15 je pojmové schéma znázorňující stav, kde je objekt 510 plánu spojen s objekty plánovacích uzlů. Tyto objekty jsou spojené stejným způsobem jako u topologie z případu, ve kterém je zahrnuta šablona Chain. Povšimněte si, že jak je vidět na obr. 15, obsahuje iterační šablona 570 návratový index 575 jako informace pro uzavírající • 4 · 4 · · ·· ··
návratový cíl. V upřednostňovaném provedení tohoto vynálezu, hodnota pro objekt 510 plánu v indexovaném seznamu 515 předchůdců, která odpovídá návratovému cílovému objektu (Chain 550) se nastaví na návratový index 575. Tabulka 3 ukazuje příklad kódování pro plánovací agent pro topologii případu, ve kterém je zahrnuta iterační šablona.
[Tabulka 3] public void doPlan2(){ //generování plánu
Pian pian = new Pian(generatePlanID());
//generování aktivity
Activity actl, act2;
actl = new Activity(atp://kazu.yamamoto.ibm.com:434,
JMT.samples.TextFieldAgent, new Message(Activity.REQUEST)) ;
act2 = new Activity(atp://+ _home.getHost()+:434/,
JMT.samples.ReportAgent, new Message(Activity.REPORT));
//přidání aktivity a šablony do plánu try{
Vector predecessorlndexList;
predecessorlndexList = new Vector ();
Integer hwdl = pian.addNode (nul 1, new ChainO);
predecessorlndexList.removeAllElements();
predecessorlndexList.addElement(hwdl);
Integer hwd2 = pian.addNode(predecessorlndexList, actl);
predecessorlndexList.removeAllElements();
predecessorlndexList.addElement(hwd2);
Integer hwd3 = pian.addNode(predecessorlndexList, new
Chain()) ;
predecessorlndexList.removeAllElements();
predecessorlndexList.addElement(hwd3);
Integer hwd4 = pian.addNode(predecessorlndexList, act2);
//Vytvoření šablony stringLengthlteration určením návratového uzlu.
//
StringLengthlteration iteration new
StringLengthlteration(hwdl);
predecessorlndexList.removeAllElements();
• · 4 44 · predecessorlndexList.addElement(hwd4) ;
Integer hwd5 = pian.addNode(predecessorlndexList,iteration); }catch(BlockedBylteratorException e){
Utility.print(this, e.getMessage());
} //generování zprostředkovacího agenta createModeratorAgent(pian);
D-3. Topologie v případě, ve kterém jsou obsaženy šablony ANDSplit a ANDJoin
Obr. 16 je pojmové schéma znázorňující stav, kdy je objekt 410 plánu spojen s objekty uzlů plánu. Skupina objektů je spojena stejným způsobem jako bylo popsáno v topologii z případu, ve kterém je obsažena šablona Chain. Povšimněte si, že šablona ANDSplit má jednu předcházející aktivitu a více následujících aktivit. Následující aktivity se mohou spustit souběžně na jiných místech šablonou ANDSplit.
Na druhé straně má šablona ANDJoin více předchozích aktivit a jednu následující aktivitu. V cíli se více zprostředkovacích agentů sjednotí tak, aby vytvořily jednoho agenta pod řízením šablony ANDJoin. Tabulka 4 ukazuje příklad kódování pro plánovacího agenta pro topologii z případu, ve kterém jsou obsaženy šablony ANDSplit a ANDJoin.
[Tabulka 4] public void doPlan3(){ //generování plánu
Pian pian = new Pian(generatePlanID());
//generování aktivity
Activity actl = new Activity(atp://kazu.yamamoto.ibm.
com:434/, JMT.samples.TextFieldAgent, new Message (Activity.
• 0 ····
• 0
0 0 0
REQUEST));
Activity act2 = new Activity {atp://+_home.getHost()+:600/, JMT.samples.TextFieldAgent, new Message(Activity.REQUEST));
Activity act3 = new Activity(atp://+_home.getHost()+:434/, JMT.samples.ReportAgent, new Message (Activity.REPORT));
//přidání aktivity a šablony do plánu try{
Vector predecessorlndexList; predecessorlndexList = new Vector();
//přidání ANDSplit do plánu
Xnteger hwdl = pian.addNode(null, new ANDSplitO); predecessorlndexList.addElement(hwdl);
//přidání tří aktivit jako následníků ANDSplit
Integer hwd2 = pian.addNode(predecessorlndexList, actl);
Integer hwd3 = pian.addNode(predecessorlndexList, act2);
//přidání tří indexů aktivit do indexovaného seznamu předchůdců ANDJoin predecessorlndexList.removeAllElements() ; predecessorlndexList.addElement(hwd2); predecessorlndexList.addElement(hwd3) ;
//přidání ANDJoin do plánu
Integer hwd4 = pian.addNode(predecessorlndexList, new ANDJoin() ) ;
predecessorlndexList.removeAllElements() ; predecessorlndexList.addElement(hwd4);
//přidání aktivity jako následníka ANDjoin do plánu
Integer hwd5 = pian.addNode(predecessorlndexList, act3);
}catch(BlockedBylteratorException e) {
Utility.print(this, e.getMessage());
} //generování zprostředkovacího agenta a vyslání plánu zprostředkovacímu agentovi createModeratorAgent(pian);
}
D-4. Topologie z případu, ve kterém je obsažena šablona
ORJoin
4444
4 • 44 44 ··
444 4 4 44 4
4 4 4 4 4
4 4 444 444 • 4 4 4
444 4444 44 44
Šablona ORJoin má stejně jako šablona ANDJoin více předcházejících aktivit a jednu následující aktivitu. Povšimněte si však, že pro šablonu ORJoin je vybrána jedna z předchozích aktivit a ostatní jsou vyřazeny. Tato funkce je použita například ke zpracování, pomocí něhož se zkoumají podmínky rezervace týkající se letu mezi Hanedou a Sapporo pro několik lokálních leteckých společností a použije se první letecká společnost, pro kterou se získá stav rezervace. Tabulka 5 ukazuje příklad kódování plánovacího agenta pro topologii z případu, ve kterém je obsažena šablona ORJoin.
[Tabulka 5] public void doPlan4(){ //generování plánu
Pian pian = new Pian(generatePlanID());
//generování aktivity
Activity actl, act2, act3;
actl = new Activity(atp://kazu.yamamoto.ibm.com: 434/,
JMT.samples.TextFíeldAgent, new Message(request));
act2 = new Activity(atp://+ home.getHo'st()+: 600 ,
JMT.samples.TextFíeldAgent, new Message(request));
act3 = new Activity(atp:/11+ home.getHost()+:434,
JMT.samples.ReportAgent, new Message(report)) ;
//přidání aktivity a šablony do plánu try{
Vector predecessorlndexList; predecessorlndexList = new Vector ();
//přidání ANDSplit do plánu
Integer hwdl = plan.addNode(null, new ANDSplit()); predecessorlndexList.addElement(hwdl);
//přidání třech aktivit jako následníků ANDSplit
Integer hwd2 = pian.addNode(predecessorlndexList, actl);
Integer hwd3 = pian.addNode(predecessorlndexList, act2);
//přidání třech indexů aktivit do seznamu předchůdců ANDJoin predecessorlndexList.removeAllElements() ; predecessorlndexList.addElement(hwd2); predecessorlndexList.addElement(hwd3);
• φ φφφφ
//přidání ORJoin do plánu
Integer hwd4 = plan.addNode(predecessorlndexList, new ORJoinO); predecessorlndexList.removeAllElements() ; predecessorlndexList.addElement(hwd4) ;
//přidání aktivity jako následníka ORJoin
Integer hwd5 = plan.addNode(predecessorlndexList, act3);
Jcatch(BlockedBylteratorException e){
Utility.print(this, e.getMessage());
} //generování zprostředkovacího agenta createModeratorAgent(pian);
} private void createModeratorAgent(Pian pian){ try{ getAgletContext().createAglet(null,JMT.Moderátor Agent ,(Object)pian);
}catch(AgletException e){
Utility.print(this, e.getMessage());
}catch(lOException e){
Utility.print(this, e.getMessage()) ;
} }
private PlanID generatePlanID{){ //generování ID plánu
PlanID planID = new PlanID (_home. toString () , _id.toString()+(new Integer(_planlndex)).toString()) ;
_planlndex++; return planID;
} }
E. Spuštění plánu
E-l. Topologie z případu, ve kterém je obsažena šablona Chain (obr. 14)
Nyní bude popsána činnost skupiny mobilních objektů pro topologii z případu, ve kterém je obsažena šablona Chain s odkazem na obr. 17 až 21. Obr. 17 je blokové schéma
- 37 • ·· «« • · · · · · t · • · · · · · • · · ···»·» • · · * ······· ·· «I ukazující zpracování pro spuštění plánu; a obr. 18 je funkční blokové schéma znázorňující zprostředkovací šablonu. Obr. 21 je pojmové schéma znázorňující stav, kde se skupina mobilních objektů přesouvá ze zdroje do cíle. Nejdříve s odkazem na obr. 17, jakmile se vygeneruje zprostředkovací agent 351 a přidělí se pro něj objekt 353 plánu (blok 843) , zprostředkovací agent 351 automaticky spustí plán (blok 845).
Instrukce NextStep se vyšle ze zprostředkovacího agenta 351 do objektu 353 plánu a odezvou na to objekt 353 plánu nejdříve získá aktuální uzel plánu (blok 847) . V upřednostňovaném provedení tohoto vynálezu se uskuteční správa kroku uzlu plánu, kde je umístěn objekt 352 iterátoru plánu a odezvou na dotaz od objektu plánu 3 53,.j sou zajištěny informace pro krok aktuálního uzlu plánu, kde existuje objekt iterátoru plánu 352.
Jakmile objekt 352 iterátoru plánu vrátí 0 (první krok) odezvou na aktuální dotaz, získá objekt 353 plánu actl. Pak se objekt 353 plánu zeptá na aktivitu definovanou v actl kvůli spuštění požadavku, který je spravován aktivitou (blok 849) .
Aktivita určuje, zda existuje, či neexistuje na stejném místě název třídy vnitřně udržovaného agenta (název agenta). Jak je ukázáno na obr. 19, jakmile zprostředkovací agent 351 dosáhne místa 360, sdělí místu 360 název svého agenta a místo 360 spravuje název agenta s použitím seznamu 369 agentů. Agent, který existuje na místě 360 může dotazovat místo 360 tím, že mu odešle instrukci getAgentList. Protože má místo 360 funkci pro vrácení seznamu AgentList, může agent zjistit, kteří agenti existují na stejném místě.
• · φφφφ • · · · φ φ φ φ • φ φφφφ • · φ φφφ φφφ φ φ φ φ φφ φ φφφ φ φφ · φ
Aktivita vyšle vnitřně drženou zprávu (požadavek) agentovi (činnému agentovi) 361, který se nalezne. Po přijetí požadavku vyšle činný agent 361 návratový objekt agentovi 350, který vyvolal požadavek. Požadující agent uloží přijatý objekt do záznamu 525 s výsledkem (obr. 14).
Aktivita upozorní objekt 353 plánu o ukončení požadované úlohy a odezvou na to přidá objekt 353 plánu do acctl značku, udávající, že je zpracování dokončeno (blok 855) . Objekt 353 plánu požádá iterátor 352 plánu o postoupení o krok (blok 859). Iterátor plánu 352 poskytuje aktuální informace pro objekt 353 plánu.
Protože je aktuální informace 1 (druhý krok), získá objekt 353 plánu objekt šablony Chain (bloky 845 a 847) . Objekt 353 plánu požaduje, aby Chain provedl spuštění (blok 849) .
Zprostředkovací správce 603 Chain požádá správce 601 stavu o aktuální stav. Protože standardně je stav správce 601 stavu nastaven na zdroj, upozorní na to zprostředkovacího správce 603. Jakmile zprostředkovací správce 603 získá stavové informace od správce 601 stavu, požaduje pro správci 601 stavu, aby přepnul stavy. Odezvou na to změní správce 601 stavu svůj stav ze zdroje na cíl.
Obr. 20 je blokový diagram ukazující přepínání stavu prováděné šablonou Chain a zpracování ve zdroji nebo v cíli. Tento blokový diagram ukazuje činnost prováděnou společně s více typy šablon, které existují. Zpracování prováděné ve zdroji v bloku 827 a zpracování prováděné v cíli v bloku 831 se mění podle typu šablony.
·* ·· ♦ · ··· · • · · · • ·· · · ·· • · ·· ·»
Zprostředkovací správce 603 požádá zdrojový zprostředkovací modul 605 o provedení zpracování. Zdrojový zprostředkovací modul 605 a cílový zprostředkovací modul 607 spravuje skupinu instrukcí použitou k provozu šablony na oddělených místech.
Zdrojový zprostředkovací modul 605 se dotáže referenčního modulu 599 zprostředkovacího agenta kvůli
získání adresy místa, na kterém zprostředkovací agent 351. je právě přítomen
Dále zdrojový zprostředkovací modul 605 požaduj e
vyslání seznamem 609 následníků adresy pro aktivitu
registrovanou v seznamu”'''^’'následníků | Seznam 609
následníků získá adresu od registrované aktivity (act2) a vyšle j£ do zdrojového zprostředkovacího modulu 605.
Zdrojový zprostředkovací modul 605 porovná přijatou adresu aktivity s adresou místa, na kterém zprostředkovací agent 351 právě existuje. Pokud jsou tyto dvě adresy různé, zdrojový zprostředkovací modul 605 přesune zprostředkovacího agenta 351 na adresu aktivity. Podrobně zdrojový zprostředkovací modul 605 vyšle instrukci k přesunu prostřednictvím referenčního modulu 599 zprostředkovacího agenta. Jsou-li tyto dvě adresy stejné, zpracování se pak ukončí.
V místě, kam se přesouvá zprostředkovací agent 351 požaduje zprostředkovací agent 351 po objektu 353 plánu, aby spustil jeden krok. Podobným způsobem se získá aktuální uzel plánu. Objekt 353 plánu požaduje, aby Chain spustil další krok. Chain vezme na vědomí stavové informace a provede • to · to to to • toto totototo • to toto zpracování pro cíl. Stavové informace se změní na stav pro zdroj.
Jakmile objekt 353 plánu zjistí, že Chain dokončil proces cíle, získá objekt 353 plánu další aktuální uzel plánu (act2) a požaduje po act2, aby spustil aktivitu. Act2 získá výsledek, který actl vnitřně drží.
V upřednostňovaném provedení tohoto vynálezu se cílový modul 607 odkazuje na seznam 591 předchůdců a vyšle instrukci getResult do Chain a požaduje vyslání výsledků. Po přijetí instrukce provede Chain hledání kvůli zjištění toho, zda nese výsledek. Protože Chain výsledek nenese, odkazuje se Chain na seznam 591 předchůdců a získá výsledek od objektu (actl) registrovaného v seznamu předchůdců 591. Chain pak vyšle výsledek do act2. Pokud není žádný objekt registrován v seznamu 591 předchůdců, vyšle Chain do act2 atrapu, která udává, že nenese výsledek. Tento proces lze nahradit procesem, pomocí něhož je připraven pro šablonu záznam pro ukládání výsledku.
Act2 použije vnitřně držený název třídy agenta jako klíč při odkazu na ohlašovacího agenta, který existuje na stejném místě. Act2 vyšle vnitřně drženou zprávu ohlašovacímu agentovi s použitím jako argumentu výsledku získaného od actl. Objekt 353 plánu získá následující aktuální uzel. V tom případě, protože neexistuje žádný aktuální uzel, to objekt 353 plánu zjistí a zpracování se Cílový zprostředkovací modul 607 vyšle zprostředkovacího agenta 351 poté ukončí. instrukci k odstranění prostřednictvím referenčního modulu 599 zprostředkovacího agenta zprostředkovacímu agentovi 351.
·· · · > · » <
» · · <
·· · · ·« • 1 ·· ··
E-2. Topologie z případu, ve kterém je obsažena iterační šablona (obr. 15)
Obr. 22 je schéma znázorňující přehled operace pro skupinu mobilních objektů, která je řízena iterační šablonou. Nyní bude popsáno zpracování pro topologii z případu, ve kterém je zahrnuta iterační šablona s odkazem na obr. 18. Podobně jako v případě obsahujícím Chain se generuje zprostředkovací agent 351 a objekt 353 plánu se generuje jako argument a vysílá se zprostředkujícímu agentovi 351, aby umožnil objektu 353 plánu spouštět jednotlivé kroky. Navíc, stejně jako v případě obsahujícím šablonu Chain, získá objekt 353 plánu aktuální uzel plánu (Chain) a Chain spustí proces ve zdroji. V cíli se provede proces pro cíl a aktivita actl, jak bylo popsáno výše v E1. Topologie z případu, ve kterém je obsažena šablona Chain.
Po dokončení procesu pro actl požaduje objekt 353 plánu po iterační šabloně, aby spustila další krok. Obr. 23 je blokové schéma ukazující zpracování prováděné ve zdroji iterační šablony. Při zpracování ve zdroji iterační šablony se nejdříve provede ověření kvůli zjištění toho, zda může proces postoupit k dalšímu kroku, např. toho, zda údaje s výsledky pro actl vyhovují předem definovanému stavu (blok 873).
Jakmile výsledné informace vyhovují předem stanovenému stavu, uloží se informace o následnících, které jsou drženy uvnitř, do seznamu následníků (blok 875). Adresa se získá od act2 v seznamu následníků (blok 877) a zprostředkovací agent 351 se přesune na adresu (blok 879). Pokud informace s výsledky nevyhovují předem stanovenému stavu, nastaví se • 0 0000 ·· 00 00
0· 0 00 00 0000
000 0 00000 _ 47 - 000 0 0 00 000 000
000 00 0«
0 000 0000 00 00 stav na zdroj (blok 881) , na který se odkazuje uzel plánu použitím indexu návratového uzlu a použije se k náhradě prvků v seznamu následníků (blok 883) . Řízení programu pak postoupí k dalšímu kroku. Potom se provede proces pro act2 jak bylo popsáno v části E-l. Topologie v případě, ve kterém je obsažena šablona Chain a zpracování se pak ukončí.
E-3. Topologie případu, kdy jsou obsaženy šablony ANDSplit a ANDJoin (obr. 16)
Obr. 24 a 25 jsou schémata znázorňující náznak činnosti skupiny mobilních objektů, která je řízena šablonami ANDSplit a ANDJoin. Nyní bude popsán proces pro případ topologie z případu, ve kterém jsou obsaženy šablony ANDSplit a ANDJoin s odkazem na obr. 18. Stejně jako u šablony Chain se vygeneruje zprostředkovací agent 351 a objekt 353 plánu, který se generuje jako argument, se vyšle zprostředkovacímu agentovi 351. Objekt plánu 353 se spustí v každém kroku.
Podobně jako v případě pro Chain získá objekt 353 plánu ANDSplit, což je aktuální plánovací uzel. Objekt plánu 353 požaduje po ANDSplit, aby spustila další krok. Obr. 26 je blokové schéma ukazující proces prováděný ve zdroji šablonou ANDSplit.
Zprostředkovací správce 603 prozkoumá stavové informace ve správci 601 stavů a získá informace o zdroji. Zprostředkovací správce 603 požaduje po zdrojovém zprostředkovacím modulu 605, aby provedl zpracování ve zdroji. Zprostředkovací správce 603 požaduje po správci 601 stavů, aby změnil stav na cíl (blok 893). ANDSplit se odkáže na seznam následníků (blok 897) , získá první aktivitu ze seznamu následníků a nastaví 0 do označeného indexu 595 (blok 899).
*· ··*» • · · ··
9 9 9
9 9 9 9 • 99 9
999 999 ·· 99 99
9 9 9 9 9 » 9 9 9 9 * · ··· 9 9 9
9 9
9999 99 99
Poté požádá zprostředkovací správce 603 zprostředkovacího agenta 351 prostřednictvím referenčního modulu 599 zprostředkovacího agenta, aby připravil klon zprostředkovacího agenta 351 generuje zprostředkovací (blok 901) . agent 351
Odezvou na to nejenom klon zprostředkovacího agenta 351, ale také zkopíruje všechny objekty, jako je plán, šablona a aktivita, které jsou neseny ve zprostředkovacím agentovi 351.
Odezvou na dokončení generování klonu oznámí takto vygenerovaný nakloňovaný zprostředkovací agent své ID agenta referenčnímu modulu 599 zprostředkovacího agenta. Referenční modul zprostředkovacího 599 agenta upozorní zdrojový zprostředkovací modul 605 na dokončení přípravy klonů.
Odezvou na to získá zdrojový zprostředkovací modul 605 ze seznamu 609 následníků adresu aktivity (actl) odpovídající označené hodnotě indexu (O). Prostřednictvím referenčního modulu 599 zprostředkovacího agenta požaduje zdrojový zprostředkovací modul 605 po zprostředkovacím agentovi 351, aby přesunul (blok 903) .
klon na adresu pro actl
Zdrojový zprostředkovací modul 605 se odkazuje na seznam 609 následníků kvůli zjištění, zda je či není registrována další aktivita. Pokud je další aktivita registrována, provede se stejným způsobem proces přípravy jiného klonu a klon se přesune na místo pro act2 (bloky 897 až 903) . Současně by se měl označený index 595 přesouvaného klonu do act2 lišit od indexu klonu, který se má přesunout do actl a je nastaven na 1 (blok 899).
Po přípravě a přesunutí jiného klonu do act2 se zdrojový zprostředkovací modul 605 odkáže na seznam 609 následníků kvůli zjištění toho, zda je či není registrována následující aktivita (blok 897) . V tomto případě, protože aktivita již neexistuje v seznamu 609 následníků, zjistí zdrojový zprostředkovací modul 605, že příprava a přesun klonu se dokončily.
Prostřednictvím referenčního zprostředkovacího agenta vyšle zdrojový modul 605 zprostředkovacímu agentovi k odstranění zprostředkovacího agenta 351, zdroji (blok 905) .
modulu 599 zprostředkovací 351 instrukci který zůstává ve
Zprostředkovací agent klonu spustí další krok plánu na oddělených místech. Nyní se znovu získá šablona ANDSplit jako aktuální uzel. Vývojový diagram logiky zjišťování dalšího aktuálního uzlu je ukázán na obr. 27. Zprostředkovací správce 603 se odkáže na správce 601 stavů kvůli získání stavových informací, zjistí, že aktuální stav je cíl a požádá cílový zprostředkovací modul 607, aby spustil zpracování.
Zprostředkovací správce 603 vrátí stavové informace zdrojovému stavu. Jakmile objekt 353 plánu zjistí, že cílový proces provedl ANDSplit, získá zprostředkovací správce 603 plánovací uzel (actl nebo act2) odpovídající označenému indexu a požaduje po plánovacím uzlu, aby spustil aktivitu.
Objekt 353 plánu se odkáže na iterátor 352 plánu kvůli
• 44 « 4 ·
4
4
4
4· 4·4 4 · · 4
4 4 4 · · 4 4 4
4 « · získáni dalšího aktuálního uzlu. Nyní se iterátor 352 plánu odkáže na seznam 609 následníků a označený index 595, kvůli prozkoumání registrované hodnoty (obr. 27) .
Actl a act2 získá výsledek nesený aktivitou, která byla předtím spuštěna. V tomto příkladě, protože se nespouští žádná aktivita před šablonou ANDSplit, nezíská actl a act2 výsledek nesený aktivitou, která byla předtím spuštěna.
Nejdříve nakloňovaný agent, který odpovídá actl, zvolí ANDJoin jako další aktuální uzel. Objekt 353 plánu požádá zprostředkovacího správce 603 v šabloně ANDJoin, aby spustil další krok. Zprostředkovací správce 603 prozkoumá informace ve správci 601 stavů, aby zjistil, zda se má provést proces v aktuálním zdroji a vyšle požadavek na spuštění zdrojovému zprostředkovacímu modulu 605. Navíc zprostředkovací správce 603 požádá správce 601 stavů, aby změnil stav.
Zdrojový zprostředkovací modul 605 se odkáže na seznam 609 následníků a získá informace o adrese pro aktivitu (act3) registrovanou v seznamu 609 následníků. Prostřednictvím referenčního modulu 599 zprostředkovacího agenta udá zdrojový zprostředkovací modul 605 pokyn zprostředkovacímu agentovi 351, aby se přesunul na místo, které odpovídá získaným informacím o adrese.
Nakloňovaný agent odpovídající act2 provede zpracování stejným způsobem jako u actl a přesune se na místo pro act3. Protože tyto dva zprostředkovací agenti přišly na nové místo, spustí další kroky. Objekt 353 plánu získá šablonu ANDJoin jako aktuální uzel a spustí další krok.
• · * · · • · · 4· ·· · · · · · » · * · · · ·
- 4 & - ··· ♦, · · .* ······ “v · · · ·· · t>
·· * ··· · · · ·> »e «·
Obr. 28 a 2 9 jsou vývojové diagramy ukazující zpracování prováděné v cíli pro šablonu ANDJoin. Zprostředkovací správce 603 ANDJoin se odkáže na správce 601 stavů, zjistí, že aktuální stav je cíl a požaduje po cílovém zprostředkovacím modulu 607, aby provedl spuštění.
Každý zprostředkovací správce 603 vrátí stav zdrojovému stavu. Cílový zprostředkovací modul 607 klonu, který odpovídá actl se odkáže na seznam 591 předchůdců a získá aktivitu, (v tomto případě actl) pro kterou je zajištěna koncová značka (blok 913). Provede se ověření kvůli zjištění toho, zda má, či nemá získaná aktivita nejnižší index v indexovaném seznamu předchůdců (blok 915). Jakmile má aktivita nejnižší index, provede se proces získání výsledku od jiného nakloňovaného agenta.
Podrobněji cílový zprostředkovací modul 607 požádá referenční modul 597 agenta na stejném místě o získání z místa seznamu agentů, které tam existují. Odezvou na to se dotáže referenční modul 597 agenta na stejném místě místo 360, tím že mu vyšle instrukci getAgentList. Místo 360 vrátí seznam agentů AgentList referenčnímu modulu 597 agenta, takže lze získat seznam agentů existujících na stejném místě.
Referenční modul 597 agenta na stejném místě pak vyšle tento seznam cílovému zprostředkovacímu modulu 607 a cílový zprostředkovací modul 607 prohledává v seznamu agenta, který má stejné ID plánu (blok 921).
Poté co se nalezne agent, který má stejné ID plánu, získá se plán pro tohoto agenta. Prozkoumá se aktuální uzel získaného plánu (blok 929) . Pokud je aktuální uzel stejný φ φ
φ φ
•φ φφφφ
ANDJoin, provede se proces získáni výsledku agenta. V upřednostňovaném provedení tohoto vynálezu se provádí další ověření kvůli zjištění toho, zda je či není index aktuálního uzlu stejný (bloky 931 a 933) . Pouze pokud je index aktuálního uzlu stejný, začne proces slučování. Tento proces se provádí, aby se zabránilo popletení cíle pro ANDJoin. Nyní se cílový zprostředkovací modul 607 odkáže na seznam předchůdců kvůli zjištění počtu předchůdců a provede proces získání výsledku podle počtu předchůdců.
Podrobněji se cílový zprostředkovací modul 607 odkáže na seznam 591 předchůdců přijatého plánu, získá aktivitu, ke které se přidá koncová značka a přijme výsledek, který aktivita nese. Tento výsledek se nastaví na výsledek odpovídající aktivity. Lze provést proces náhrady uzlu plánu (blok 935). Obr. 30 je schéma znázorňující náčrt procesu přijímání výsledku.
Cílový zprostředkovací agent 607 zjistí, že byl nastaven výsledek a vyšle instrukci k odstranění zprostředkovacímu agentovi 351 prostřednictvím referenčního modulu 599 zprostředkovacího agenta (blok 937) . Po přijetí této instrukce odstraní zprostředkovací agent 351 samotného zprostředkovacího agenta a objekty (plán, šablonu a aktivitu, atd.), které spravuje.
Na druhé straně agent, který odpovídá act2, spustí další krok jakmile dorazil na nové místo. Cílový zprostředkovací modul 607 pro agenta se také odkáže na seznam 591 předchůdců a získá aktivitu (v tomto případě act2) , ke které se přidá koncová značka (blok 913) . Provede se ověření, aby se zjistilo, zda má či nemá získaná aktivita nejmenší index v indexovaném seznamu předchůdců (blok 915) .
♦ · · · · · • · ·
Pokud aktivita nemá nejmenší index, přejde řízení programu do pozastaveného stavu a čeká se na vyslání výsledku jiného nakloňovaného agenta (blok 925).
Zpět s odkazem na klon odpovídající actl získá cílový zprostředkovací modul 607 výsledek podle počtu v seznamu předchůdců (počtu prvků v seznamu předchůdců; v tomto případě jedna). Po dokončení procesu odstraňování klonu získá objekt 353 plánu další aktuální plánovací uzel (act3) a požaduje po act3, aby spustil aktivitu.
Act3 získá výsledky, které jsou vnitřně nesené v actl a act2. V upřednostňovaném provedení tohoto vynálezu se cílový zprostředkovací modul 607 odkazuje na seznam 591 předchůdců a vyšle klonu actl a act2 instrukci getResult kvůli požadavku na vyslání výsledku zpracování. Odezvou na instrukci pošlou actl a act2 na výstup své výsledky.
Act3 použije jako klíč název třídy vnitřně neseného agenta k odkazu na agenty (v tomto případě agenti zpráv), kteří existují na stejném místě. Act3 vyšle vnitřně nesenou zprávu agentovi zpráv s použitím jako argumentů výsledků získaných od actl a act2.
Objekt 353 plánu získá další aktuální uzel. V tomto případě, protože není přítomen žádný aktuální uzel, zjistí to objekt 353 plánu a ukončí zpracování. Zprostředkovací agent 351 zjistí ukončení zpracování a odstraní zprostředkovacího agenta a objekty, které spravuje. Zpracování se pak ukončí.
E-4. Topologie z případu, ve kterém je obsažena šablona
ORSplit ·· ·♦ • · ♦ ·
Obr. 31 je schéma znázorňující náznak činnosti skupiny mobilních agentů řízených šablonou ORSplit. Šablona ORSplit se liší od šablon Chain a ANDSplit v tom, že provádí zpracování zobrazené na obr. 32 jako proces zdroje. Šablona ORSplit má jednu předcházející aktivitu a více následujících aktivit. Ve zdrojovém místě se jedna aktivita vybere ze seznamu následníků zavoláním metody chooseActivity, a spustí se pouze zvolená aktivita.
Při zpracování pro zdroj ORSplit, se nejdříve změní stav na cíl (blok 982) . Zavolá se funkce chooseActivity a zvolí se aktivita, která vyhovuje předem určenému stavu (blok 983) . Index aktivity se považuje za označený index (blok 984) . Získá se adresa zvolené aktivity a požádá se zprostředkovací agent 351, aby se přesunul na tuto adresu (blok 985).
E-5. Topologie případu, ve kterém je obsažena šablona ORJoin
Obr. 33 je schéma znázorňující náčrt činnosti skupiny mobilních objektů řízené šablonou ORJoin. ORJoin se liší od šablon Chain a ANDJoin v tom, že provádí zpracování, ukázané na obr. 34 jako proces cíle. Šablona ORJoin má více předcházejících aktivit a jednu následující aktivitu. První mobilní agent, který dorazí do cíle, generuje agenta Dispose a odstraňuje jiné mobilní agenty.
Nejdříve šablona ORJoin 694 první skupiny mobilních objektů, která dorazí do cíle 690, vyšle metodu findDisposeAgent a zjistí, zda je či není agent Dispose přítomen na stejném místě (blok 943). Pokud není přítomen • · · * » · » · · · · · · · · · · • · · ' · · ···· cη · · · ♦ · · ♦ ··· ··· ~ Ον · » · · · · · ·· « «·· ··· ·· ·· žádný agent Dispose, generuje se agent Dispose k odstranění jiných agentů (blok 945) . Nyní se vyšle plán a počet - 1 aktivit v seznamu předchůdců jako argumenty. Agent Dispose čeká na skupinu mobilních objektů, které mají počet - 1 aktivit v seznamu předchůdců a odstraní tuto skupinu. Po odstranění skupiny objektů odstraní agent Dispose sám sebe.
V upřednostňovaném provedení tohoto vynálezu, ať už agent dorazil či nedorazil první do cíle 690, použije se jako podmínka výběru toho, který přežije. Agenta, který pokračuje ve zpracovávání lze však určit s použitím obsahu výsledků jako podmínky.
Šablona 696 ORJoin jiné skupiny mobilních objektů také vysílá metodu findDisposeAgent a zjišťuje, zda je či není agent Dispose přítomen na stejném místě (blok 943) . V tom případě, protože je agent Dispose již přítomen, začne proces odstraňování agenta Dispose. Podrobněji se provede ověření toho, zda má agent Dispose stejný plán (blok 947), nebo zda je index aktuálního uzlu stejný (blok 949). Následkem toho zjistí agent Dispose, že se má odstranit samotný agent Dispose.
Jakmile se zjistí, že se má odstranit samotný agent Dispose, vyšle se zpráva countdown agentovi Dispose kvůli snížení počtu procesů, které provádí (blok 951). Pak šablona 696 ORJoin vyšle požadavek zprostředkovacímu agentovi 692 kvůli odstranění zprostředkovacího agenta 692.
V upřednostňovaném provedení tohoto vynálezu jsou také zajištěny částečná šablona Join a jiné, které mají více předcházejících aktivit a více následujících aktivit a je jich co do počtu méně, než předcházejících aktivit. Protože tyto šablony mohou být implementovány kombinací výše • · «·· · • · • ·
popsaných šablon, nebudou podrobně popsány. Částečnou šablonu Join lze implementovat například kombinací šablony ORJoin, která spojuje více předcházejících aktivit s jednou následující aktivitou; aktivita pro zjištění toho, že je spuštěn požadovaný počet šablon ORJoin; iterační šablona, která se vrací do šablony ORJoin podle zjištění toho, zda tato aktivita vyčistila obnovila určený stav; prázdná aktivita; a šablona ANDSplit pro rozdělování aktivity na požadovaný počet segmentů.
Jak je popsáno výše, podle tohoto vynálezu je možné
snížit na mobilního minimum agenta. využití jiných prostředků během spouštění
Dále podle tohoto vynálezu je možné snížit
prostřednictvím účinného zpracování dobu zpracování
vyžadovanou předtím, než se výsledky vrátí, od vyslání mobilního agenta uživatelem.
Navíc podle tohoto vynálezu je možné vyvinout mobilního agenta, přičemž se nepožadují znalosti o vyšším programování, a přičemž se sníží úsilí a doba vyžadovaná k vývoji programu.
Dále podle tohoto vynálezu je zajištěn uživatelsky přístupný vývojový program mobilních agentů, jehož funkci může vývojář intuitivně pochopit.
Zastupuje:
Dr. Petr Kalenský v.r.
JUDr. Petr Kalenský advokát
120 00 Praha 2, Hálkova 2
.. »
0 0 · 0 · · 0 0 • · · 0 0 0 0 000000
0 0 0 0 0 0 00 0 000 0000 00 00

Claims (12)

1. Paměťové médium uchovávající objekt, který je členem skupiny mobilních objektů, přičemž skupina je schopna přesunout se z prvního místa na druhé místo za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, vyznačující se tím, že paměťové médium ukládá:
(a) seznam předchůdců, který má informace o spojení týkající se první aktivity;
(b) seznam následníků, který má informace o spojení týkající se druhé aktivity; a (c) zprostředkovací modul pro vyžadování po zprostředkovacím agentovi, aby se přesunul z prvního místa na druhé místo.
2. Paměťové médium uchovávající objekt, který je členem skupiny mobilních objektů, přičemž skupina je schopna se přesunout z prvního místa na druhé místo za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, vyznačující se tím, že paměťové médium uchovává:
(a) seznam předchůdců, který má informace o spojení týkající se první aktivity;
(b) seznam následníků, který má informace o spojení týkající se druhé aktivity;
(c) správce stavů k určení toho, zda existuje zprostředkovací modul na prvním místě nebo na druhém místě; a (d) zprostředkovací modul k vyžadování po zprostředkovacím agentovi, aby se přesunul z prvního místa
27 78 317 • · · · · aa a na druhé místo.
3. Paměťové médium uchovávající skupinu objektů, přičemž skupina je schopna přesunout se z prvního místa na druhé místo za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, vyznačující se tím, že paměťové médium uchovává:
(a) zprostředkovací šablonu obsahující (a-1) seznam předchůdců, který má informace o spojení týkající se první aktivity, (a-2) seznam následníků, který má informace o spojení týkající se druhé aktivity, (a-3) správce stavu ke zjištění, zda zprostředkovací modul existuje na prvním místě nebo na druhém místě a (a-4) zprostředkovací modul pro vyžadování po zprostředkovacím agentovi, aby přesunul skupinu mobilních objektů z prvního místa na druhé místo;
(b) iterátor plánu ke zjištění toho, pro kterou z první aktivity a druhé aktivity a zprostředkovací šablony právě existuje oprávnění ke spuštění; a (c) objekt plánu pro správu pořadí první aktivity, druhé aktivity a zprostředkovací šablony pro spuštění.
4. Způsob řízení skupiny mobilních objektů, přičemž skupina je schopna se přesunout na první místo určené první adresou a na druhé místo určené druhou adresou za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, vyznačující se tím, že způsob obsahuje kroky:
(a) požadování po zprostředkovacím agentovi, aby připravil první mobilní zprostředkovací agent, který má informace o spojení týkající se první aktivity a druhý • · ··· · • to mobilní zprostředkovací agent, který má informace o spojení týkající se druhé aktivity;
(b) získání první adresy;
(c) získání druhé adresy;
(d) požadování, aby se první mobilní zprostředkovací agent přesunul na první místo; a (e) požadování, aby se druhý mobilní zprostředkovací agent přesunul na druhé místo.
5. Způsob řízení skupiny mobilních objektů, přičemž skupina je schopna přesunout se na první místo určené první adresou, na druhé místo určené druhou adresou a na třetí místo určené třetí adresou za řízení zprostředkovacího agenta a spustit první aktivitu na prvním místě, druhou aktivitu na druhém místě a třetí aktivitu na třetím místě, vyznačující se tím, že způsob obsahuje kroky:
(a) požadování, aby mobilní zprostředkovací agent na prvním místě připravil prvního mobilního zprostředkovacího agenta, který má informace o spojení týkající se druhé aktivity a druhého mobilního zprostředkovacího agenta, který má informace o spojení týkající se třetí aktivity;
(b) získání druhé adresy;
(c) získání třetí adresy;
(d) požadování, aby se první mobilní zprostředkovací agent přesunul z prvního místa na druhé místo;
(e) požadování, aby se druhý mobilní zprostředkovací agent přesunul z prvního místa na třetí místo;
(f) požadování spuštění druhé aktivity na druhém místě;
a (g) požadování spuštění třetí aktivity na třetím místě.
6. Způsob řízení skupiny mobilních objektů, přičemž skupina je schopna přesunout se na více míst za řízení • · ·♦·· • · · ···· · · · » • · · · · · · · · cc · · · · * · · ··· ··· □3 ♦ · · ·· · · ·· · ··· ···· ·· ·· zprostředkovacího agenta a spustit příslušnou aktivitu na každém z míst, vyznačující se tím, že způsob obsahuje kroky:
(a) spuštění na prvním místě první aktivity spojené s prvním mobilním zprostředkovacím agentem kvůli získání prvních výsledků zpracování;
(b) požadování, aby se první mobilní zprostředkovací agent, který existuje na prvním místě a který nese první výsledky zpracování, přesunul na druhé místo;
(c) spuštění na třetím místě druhé aktivity spojené s druhým mobilním zprostředkovacím agentem kvůli získání druhých výsledků zpracování;
(d) požadování, aby se druhý mobilní zprostředkovací agent, který existuje na třetím místě a který nese druhé výsledky zpracování, přesunul na druhé místo;
(e) požadování, aby druhý mobilní zprostředkovací agent na druhém místě vyslal druhé výsledky zpracování prvnímu mobilnímu zprostředkovacímu agentovi; a (f) první mobilní zprostředkovací agent na druhém místě nese jak první, tak druhé výsledky zpracování.
7. Způsob řízení skupiny mobilních objektů, přičemž skupina je schopna přesunout se na více míst za řízení zprostředkovacího agenta a spustit příslušnou aktivitu na každém z těchto míst, vyznačující se tím, že způsob obsahuj e kroky:
(a) spuštění na prvním místě první aktivity spojené s prvním mobilním zprostředkovacím agentem, který má informace o identifikaci agenta a získání prvních výsledků zpracování;
(b) požadování, aby se první mobilní zprostředkovací agent, který existuje na prvním místě a který nese první výsledky zpracování, přesunul na druhé místo;
• · · · · · ·· · • · · · · • · ··· ··· • 4 ·
99·· 9· 99 (e) spuštění na třetím místě druhé aktivity spojené s druhým mobilním zprostředkovacím agentem, který má stejné informace o identifikaci agenta jako jsou informace prvního mobilního zprostředkovacího agenta a získání druhých výsledků zpracování;
(d) požadování, aby se druhý mobilní zprostředkovací agent, který existuje na třetím místě a který nese druhé výsledky zpracování, přesunul na druhé místo;
(e) požadování, aby druhý mobilní zprostředkovací agent na druhém místě vyslal druhé výsledky zpracování prvnímu mobilnímu zprostředkovacímu agentovi;
(f) hledání na druhém místě mobilního zprostředkovacího agenta, který má stejné informace o identifikaci, jako jsou informace o identifikaci agenta; a (g) první mobilní zprostředkovací agent na druhém místě nese jak první, tak druhé výsledky zpracování.
8. Skupina mobilních agentů, přičemž skupina je schopna se přesunout z prvního místa na druhé místo a spustit první aktivitu na prvním místě a druhou aktivitu na druhém místě, vyznačující se tím, že skupina mobilních objektů obsahuje:
(a) objekt plánu pro správu pořadí první aktivity a druhé aktivity pro spuštění; a (b) iterátor plánu kvůli zjištění toho, pro kterou z první aktivity a druhé aktivity právě existuje oprávnění ke spuštění.
9. Způsob pro vygenerování skupiny mobilních agentů, přičemž skupina obsahuje první aktivitu, která se má spustit na prvním místě, druhou aktivitu, která se má spustit na druhém místě a zprostředkovací šablonu pro vyžadování po zprostředkovacím agentovi, aby se přesunul na druhé místo, • · · · · · přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na první místo, vyznačující se tím, že druhý způsob obsahuje kroky:
(a) vygenerování během první aktivity seznamu následníků obsahujícího informace o spojení týkající se zprostředkovací šablony;
(b) vygenerování pomocí zprostředkovací šablony seznamu předchůdců obsahujícího informace o spojení týkající se první aktivity a seznamu následníků obsahujícího informace o spojení týkající se druhé aktivity; a (c) vygenerování během druhé aktivity seznamu předchůdců obsahujícího informace o spojení týkající se zprostředkovací šablony.
10. Způsob generování skupiny mobilních objektů, přičemž skupina obsahuje první aktivitu, která se má spustit na prvním místě, druhou aktivitu, která se má spustit na druhém místě a zprostředkovací šablonu pro vyžadování po zprostředkovacím agentovi, aby se přesunul na druhé místo, přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na první místo, vyznačující se tím, že způsob obsahuje kroky:
(a) vygenerování seznamu pro správu pořadí spuštění první aktivity, zprostředkovací šablony a druhé aktivity;
(b) vygenerování během první aktivity seznamu následníků obsahujícího informace o spojení týkající se zprostředkovací šablony;
(c) vygenerování pomocí zprostředkovací šablony seznamu předchůdců obsahujícího informace o spojení týkající se první aktivity a seznamu následníků obsahujících informace o spojení týkající se druhé aktivity; a (d) vygenerování během druhé aktivity seznamu předchůdců obsahujícího informace o spojení týkající se ·· ···· · ·· ·· ·· • · · · · · · · · · · • · 9 · ····· rQ · · · · · · · ··· ··· ~ JO - ··· ·· ·· ·« · ··· ···» ·· ·· zprostředkovací šablony.
11. Zařízení pro generování skupiny mobilních objektů, přičemž skupina obsahuje první aktivitu, která se má spustit na prvním místě, druhou aktivitu, která se má spustit na druhém místě a zprostředkovací šablonu pro vyžadování po zprostředkovacím agentovi, aby se přesunul na druhé místo, přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na první místo, vyznačující se tím, že zařízení obsahuje:
(a) prostředky ke generování během první aktivity seznamu následníků obsahujícího informace o spojení týkající se zprostředkovací šablony;
(b) prostředky ke generování pomocí zprostředkovací šablony seznamu předchůdců obsahujícího informace o spojení týkající se první aktivity a seznamu následníků obsahujícího informace o spojení týkající se druhé aktivity; a (c) prostředky ke generování během druhé aktivity seznam předchůdců obsahujícího informace o spojení týkající se zprostředkovací šablony.
12. Počítačem čitelné paměťové médium uchovávající program ke generování skupiny mobilních objektů, přičemž skupina obsahuje první aktivitu, která se má spustit na prvním místě, druhou aktivitu, která se má spustit na druhém místě a zprostředkovací šablonu pro vyžadování po zprostředkovací šabloně, aby se přesunula na druhé místo, přičemž zprostředkovací agent je schopen řídit přesun mobilní skupiny na první místo, vyznačující se tím, že program obsahuje:
(a) programový kód pro udání pokynu počítači, aby vygeneroval během první aktivity seznam následníků obsahující informace o spojení týkající se zprostředkovací
9 9 *· ····
99 99 • •9 9
9 9 šablony;
(b) programový kód pro udání pokynu počítači, aby vygeneroval pomocí zprostředkovací šablony seznam předchůdců obsahující informace o spojení týkající se první aktivity a seznam následníků obsahujícího informace o spojení týkající se druhé aktivity; a (c) programový kód pro udání pokynu počítači, aby vygeneroval během druhé aktivity seznam předchůdců obsahující informace o spojení týkající se zprostředkovací šablony.
CZ0357699A 1997-04-10 1997-12-25 Mobilní objekty, zpusob pro rízení mobilních objektu, zpusob a zarízení pro generování skupiny mobilních objektu a pametové médium pro ukládání programu pro generování skupiny mobilních objektu CZ9903576A3 (cs)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9209197 1997-04-10

Publications (1)

Publication Number Publication Date
CZ9903576A3 true CZ9903576A3 (cs) 2006-01-11

Family

ID=14044782

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ0357699A CZ9903576A3 (cs) 1997-04-10 1997-12-25 Mobilní objekty, zpusob pro rízení mobilních objektu, zpusob a zarízení pro generování skupiny mobilních objektu a pametové médium pro ukládání programu pro generování skupiny mobilních objektu

Country Status (15)

Country Link
US (1) US20020042810A1 (cs)
EP (1) EP1008929A1 (cs)
JP (1) JP3101327B2 (cs)
KR (1) KR100310801B1 (cs)
CN (1) CN1148651C (cs)
BR (1) BR9800987A (cs)
CA (1) CA2286363A1 (cs)
CZ (1) CZ9903576A3 (cs)
HK (1) HK1026756A1 (cs)
HU (1) HUP0002540A3 (cs)
ID (1) ID20989A (cs)
MY (1) MY132802A (cs)
PL (1) PL336169A1 (cs)
TW (1) TW360831B (cs)
WO (1) WO1998045776A1 (cs)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689564B2 (ja) * 1998-07-31 2005-08-31 キヤノン株式会社 Oa装置、oaシステム、制御方法及び記憶媒体
DE10127803C2 (de) * 2001-06-07 2003-06-12 Siemens Ag Offener Antriebsregler und Verfahren zur Softwaregewinnung für einen offenen Antriebsregler
GB2384329A (en) * 2002-01-16 2003-07-23 Ithelpline Ltd Workflow system employing mobile agents
US7401117B2 (en) * 2002-06-10 2008-07-15 International Business Machines Corporation System and method for composite business interactions in electronic commerce
DE10245528A1 (de) * 2002-09-30 2004-04-15 OCé PRINTING SYSTEMS GMBH Zugriff auf Datenobjekte mit Hilfe von den Datenobjekten zugeordneten Netzwerkadressen
US7343313B2 (en) * 2002-10-01 2008-03-11 Motorola, Inc. Method and apparatus for scheduling a meeting
US8108455B2 (en) * 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
US8793218B2 (en) * 2008-06-03 2014-07-29 Intergraph Technologies Company Method and apparatus for copying objects in an object-oriented environment using a multiple-transaction technique

Also Published As

Publication number Publication date
BR9800987A (pt) 1999-10-19
KR100310801B1 (ko) 2001-10-18
CA2286363A1 (en) 1998-10-15
TW360831B (en) 1999-06-11
JP3101327B2 (ja) 2000-10-23
HUP0002540A3 (en) 2002-10-28
ID20989A (id) 1999-04-01
HUP0002540A2 (hu) 2000-12-28
KR20010005855A (ko) 2001-01-15
PL336169A1 (en) 2000-06-05
MY132802A (en) 2007-10-31
CN1251666A (zh) 2000-04-26
WO1998045776A1 (fr) 1998-10-15
US20020042810A1 (en) 2002-04-11
EP1008929A1 (en) 2000-06-14
HK1026756A1 (en) 2000-12-22
CN1148651C (zh) 2004-05-05

Similar Documents

Publication Publication Date Title
JP2721672B2 (ja) データ処理を複数の制御位置にわたって分散させるための装置
CN110941446B (zh) 基于多环境离线任务的版本发布方法及装置
JP4599364B2 (ja) 自動化されたワークフローサービスシステム
US5768506A (en) Method and apparatus for distributed workflow building blocks of process definition, initialization and execution
US5745687A (en) System for distributed workflow in which a routing node selects next node to be performed within a workflow procedure
US6470375B1 (en) System and method for managing the execution of system management tasks
AU2003204420B2 (en) Systems and methods for work list prediction
EP3399406A1 (en) User interface for automated flows within a cloud based developmental platform
JPH05197573A (ja) タスク指向パラダイムによるタスク管理システム
US6434595B1 (en) Method of executing mobile objects and recording medium storing mobile objects
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US6832201B1 (en) Method and system for optimizing request shipping in workflow management systems
US20130117064A1 (en) Business process analysis combining modeling, simulation and collaboration with web and cloud delivery
EP3454203A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US6407751B1 (en) Method and apparatus of generating mobile objects and storage medium storing an object generating mobile objects
US8776012B2 (en) Automatic scheduling of review meetings
CZ9903576A3 (cs) Mobilní objekty, zpusob pro rízení mobilních objektu, zpusob a zarízení pro generování skupiny mobilních objektu a pametové médium pro ukládání programu pro generování skupiny mobilních objektu
US7979870B1 (en) Method and system for locating objects in a distributed computing environment
CN113220479B (zh) 一种基于隔离网络的工作流调度方法、装置及电子设备
EP0862113A2 (en) Autonomous agent architecture
JP7161732B2 (ja) 業務処理装置及び業務処理方法
US6507844B1 (en) Method and system for minimizing network traffic
JP3931941B2 (ja) ワークプロセス管理装置及びワークプロセス管理方法
JP2002108838A (ja) エージェント実行装置およびエージェント実行方法
Stout et al. Kestrel: an XMPP-based framework for many task computing applications