專利名稱:代理系統(tǒng)及其信息處理方法
技術領域:
本發(fā)明涉及利用代理對分散存在于網(wǎng)絡上的信息進行處理的技術的改進,特別是涉及提高代理的動作靈活性和穩(wěn)定性。
背景技術:
迄今已知代理系統(tǒng)是對分散在計算機網(wǎng)絡上的信息進行處理的技術。所謂代理是軟件上的一種處理單位,可適應周圍的狀況自動動作。代理系統(tǒng)是根據(jù)需要代理在構成網(wǎng)絡的節(jié)點上移動的同時進行信息收集等處理的系統(tǒng)。此處所謂的節(jié)點是構成網(wǎng)絡的邏輯單位,在一臺機器,即計算機上可存在很多個。
圖15為這種代理系統(tǒng)的一例,該圖是本申請人在日本專利申請?zhí)亻_平7-176181號中所提出的代理系統(tǒng)構成的功能框圖。此圖所示的代理系統(tǒng)是將多個節(jié)點800連接成為網(wǎng)絡800N,在可以設置多個節(jié)點的網(wǎng)絡中,在圖15中只示出兩個作為示例。在節(jié)點800中,將用戶在代理生成時使用的節(jié)點稱為本地節(jié)點(800L),將所生成的代理移動的目的節(jié)點稱為遠方節(jié)點(800R)。
在此代理系統(tǒng)中,各個節(jié)點800都具有用戶可進行生成代理的操作或接受代理進行的信息處理的結果的輸入輸出裝置803(L,R)。另外,各個節(jié)點的代理管理裝置804(L,R)是除了生成代理和刪除作用結束的代理之外還可通過將代理的信息轉送到其他節(jié)點使代理移動到其他節(jié)點,和接受從其他節(jié)點同樣移動來的代理的裝置。在用戶準備使用這種代理系統(tǒng)進行某種信息處理的場合,在本地節(jié)點800L中,通過從輸入輸出裝置803L向代理管理裝置804L發(fā)出指示而生成代理。
這樣,如示出的最基本的示例,就是由用戶從輸入輸出裝置803L向生成的代理發(fā)送程序腳本。腳本是代理的動作程序,具體記載向哪個節(jié)點移動,進行何種處理這樣的內容。腳本的更為具體的例子,比如,可以為向節(jié)點A移動、將文件a拷貝并發(fā)送到用戶的節(jié)點,之后向節(jié)點B移動、將文件b拷貝并發(fā)送到用戶的節(jié)點...這樣的內容。這樣,在各個節(jié)點設置的解釋執(zhí)行裝置802(L,R)就是通過執(zhí)行這種腳本使代理動作從而實現(xiàn)預定的信息處理。
在此場合,在各節(jié)點設置的代理信息存儲裝置801(L,R)存儲代理所必需的信息。代理所必需的信息,比如,除了上述的腳本之外,有解釋和執(zhí)行腳本所必需的各個變量(稱為腳本變量),以及在必需的場合,代理所收集的信息及文件等等。另外,作為在代理的腳本中記述的命令,除了有只在一個節(jié)點上執(zhí)行的命令之外,還有令代理向其他節(jié)點移動的移動命令。解釋執(zhí)行裝置802L順次執(zhí)行腳本命令,在需要執(zhí)行移動命令的場合,指定移動目的節(jié)點,令代理的移動依靠代理管理裝置804進行。
在這種代理系統(tǒng)中,在用戶準備從網(wǎng)絡上收集一些文件的場合,就可以使代理持有達到這一目的的動作程序并送出到網(wǎng)絡上,送出的代理就會根據(jù)所得到的腳本自主地進行活動。因此,由于在用戶節(jié)點和代理之間沒有必要自始至終保持通信,與ftp及telnet這類現(xiàn)有的網(wǎng)絡功能相比較具有可抵抗線路障礙的優(yōu)點。
對于圖15所示的代理系統(tǒng),也有作為代理的動作程序的腳本可根據(jù)情況而改變的代理系統(tǒng)。
即,如近年來由于網(wǎng)絡大規(guī)?;蛷碗s化,特別由于與像因特網(wǎng)這種廣域網(wǎng)連接稱為所謂開放型網(wǎng)絡,則文件所在的網(wǎng)絡構成要素屢屢發(fā)生變化。但是,在圖15所示的上述這種代理系統(tǒng)中,由于在代理生成的時刻給予的是固定的文件,不能根據(jù)狀況的改變而變更動作。所以,為了靈活地對應這種變化,本申請人提出申請的是一種保持有規(guī)劃功能的代理系統(tǒng)作為一種不需要麻煩人力干預的可自動改變代理的動作的技術。
在這種技術中,代理的動作程序稱為規(guī)劃,生成規(guī)劃稱為規(guī)劃編制。因此,在此技術中,通過根據(jù)狀況而進行適當?shù)男拚c網(wǎng)絡的構成要素的變化相對應。另外,對應于網(wǎng)絡的構成等的變化而對規(guī)劃編制重新返工則稱為規(guī)劃重編。
在圖16的功能框圖中示出這種代理系統(tǒng)的構成例。在此技術中,作為生成規(guī)劃而使用的信息可舉出的有稱為“知識”的信息以及動作的定義。其中“知識”是代理的動作,特別是在規(guī)劃編制中所使用的各種信息,作為其一例包含的有關于在哪一個節(jié)點存在什么文件這樣的網(wǎng)絡構成要素的有關信息。比如,在圖16的示例中,關于這種網(wǎng)絡的構成要素的知識是保存于本地信息存儲裝置1L中,在網(wǎng)絡構成有變化發(fā)生時,更新裝置2L通過自動檢出及手工作業(yè)使這種變化反映在知識之中。另外,所謂的動作的定義,作為構成規(guī)劃的部件,是表示使用哪一種命令(動作)的信息,存儲于代理信息存儲裝置3之中。
在這種代理系統(tǒng)中,指示生成代理的用戶將欲達到的目標賦予節(jié)點而不是賦予腳本。此處所謂的目標是將作為信息處理的目的的欲達成的狀態(tài)利用預先規(guī)定的文法記述的。于是,規(guī)劃生成裝置5,一邊參考賦予的知識,一邊通過將包含在動作定義中的各種動作進行組合而生成用于達成目標的規(guī)劃。在這種代理系統(tǒng)中,網(wǎng)絡構成的變化,因為在規(guī)劃編制和規(guī)劃重編之際,是通過知識在代理的規(guī)劃中反映,所以代理就可以在不需要人工干預的情況下對應于狀況的改變而靈活地改變動作。
此外,生成這種規(guī)劃的裝置稱為“規(guī)劃器”,其實體是表示規(guī)劃編制的順序的程序的一種。另外,稱為代理的動作程序及其各個部分的廣義的概念是腳本,在稱為規(guī)劃的時候,特別是指利用進行如圖16所示的規(guī)劃編制的代理所生成的腳本的全體。
接著,在圖17中以示例示出利用上述這種規(guī)劃編制的代理系統(tǒng)的具體動作步驟。在這些步驟中,如用戶輸入對代理的要求的陳述(要求陳述)作為信息處理的目標(步驟201),在進行必需的初始化之后(步驟202),生成規(guī)劃(步驟203)。另外,處理在根據(jù)目標已經(jīng)達到等結束條件的判斷結果而結束(步驟204,205)。
即,在滿足這種結束條件之前,執(zhí)行為達到目標需要執(zhí)行的規(guī)劃(步驟204)。在執(zhí)行規(guī)劃中,順次執(zhí)行包含在規(guī)劃中的各個命令,在執(zhí)行的命令是移動命令的場合,執(zhí)行使代理在節(jié)點之間移動的處理(稱之為go動作)(步驟206~208)。另外,在執(zhí)行各個命令及go動作失敗的場合,根據(jù)需要生成新的規(guī)劃。
此處,對于規(guī)劃生成所使用的定義,按照每個動作的種類,定義事前條件和事后條件。其中所謂的事前條件表示需要滿足什么條件該動作才可以執(zhí)行,而事后條件表示如該動作執(zhí)行會產生什么條件。比如,為了進行“拷貝文件”這樣一個動作,必需的事前條件是“在現(xiàn)有的節(jié)點中存在文件”,作為進行拷貝動作的結果會產生“存在文件的拷貝”這樣一個事后條件。
規(guī)劃生成是通過發(fā)現(xiàn)將最終目標作為事后條件產生的動作,并且發(fā)現(xiàn)將此動作的事前條件作為事后條件產生的另外的動作這樣的連續(xù)處理可得到聯(lián)系執(zhí)行規(guī)劃之前的狀態(tài)(現(xiàn)在狀態(tài))和最終目標之間的動作系列。此外,圖18為示出生成中間的規(guī)劃示例的示圖,在此示例中,對于動作P2一方的事前條件C5和動作P3的事前條件C7還沒有找到將這些事前條件作為事后條件產生的動作。這樣,就將作為事后條件還沒有找到其產生的其他動作的事前條件稱為未達到目標。
這種規(guī)劃生成的處理不從目標側逆著因果關系回溯,在到達規(guī)劃執(zhí)行開始時刻存在的狀態(tài)(現(xiàn)在狀態(tài))就結束。圖19為示出利用這種處理完成的規(guī)劃示例的示圖。
接著,在圖20中示出規(guī)劃生成的具體步驟。即,在這些步驟中,記錄目標的記錄列表的一部分作為如圖18所示的記錄未達到的目標的未達到目標列表,并進行如下處理。首先,一直到在目標列表上不存在未達到目標為止(步驟401),每次從未達到目標列表選擇一個目標(步驟402),除去滿足目標的場合(步驟403),進行下面的動作。即如果存在由事后條件可能達到作為目標的事前條件的動作(步驟404),就選擇此動作(步驟405),并將如此選擇的動作(選擇動作)添加到圖19所示的動作系列(規(guī)劃樹)上(步驟405)。
另外,在不存在可能達到目標的動作的場合,判斷目標是否可能以不可靠知識達到。此處所謂的不可靠知識指的是在有關網(wǎng)絡的構成的知識中間,如果不在其他的節(jié)點實際上進行某種處理試試看就不能了解其具體值的知識。在目標可以由不可靠知識達到的場合,可以將此不可靠知識添加到規(guī)劃樹上作為選擇動作(步驟405),而在即使利用不可靠知識也不能達到目標的場合,就將處理回溯(步驟408),將生成現(xiàn)在的未達到目標的動作以其他的動作置換進行再度處理。
比如,假設根據(jù)用戶使用的節(jié)點的節(jié)點知識認為“文件a存在于節(jié)點A中”。在此場合,如果用戶布置取得文件A的這樣一個目標,則因為是參考在節(jié)點A中存在的這樣的知識,生成的代理規(guī)劃的內容就會是“向節(jié)點A移動而將文件a的拷貝發(fā)送到用戶節(jié)點”。
可是如果在代理向節(jié)點A移動的時刻,文件a正在向文件B移動,則因為不能發(fā)現(xiàn)文件a而使規(guī)劃執(zhí)行失敗,在節(jié)點A上就進行規(guī)劃重編。此時,正在節(jié)點B的節(jié)點知識已經(jīng)有文件移動同時進行更新,并且改變?yōu)椤霸诠?jié)點B中存在文件a”的場合,新的規(guī)劃內容就改變?yōu)椤跋蚬?jié)點B移動而將文件a的拷貝發(fā)送到用戶節(jié)點”。結果代理就可以自主地向節(jié)點B移動,順利地發(fā)現(xiàn)文件a并發(fā)送到用戶節(jié)點。
另外,根據(jù)如此生成的規(guī)劃,代理在節(jié)點之間的移動時的步驟如圖21所示。在此示例中是假定代理是從用戶生成代理的本地節(jié)點向作為另外節(jié)點的遠方節(jié)點移動。在此場合,接收到從本地節(jié)點發(fā)出的移動要求(步驟501)的遠方節(jié)點(步驟502)設定代理用的處理(步驟503)。
接著,接收到從遠方節(jié)點發(fā)出的內容為處理設定結束的通知(步驟504)的本地節(jié)點(步驟505)將把代理的規(guī)劃及變量范圍等代理信息發(fā)送給遠方節(jié)點(步驟506)。接收到此代理信息的遠方節(jié)點(步驟507)存儲代理信息(步驟508),向本地節(jié)點發(fā)送移動成功的通知(步驟509)并開始規(guī)劃的解釋執(zhí)行(步驟510)。另一方面,接收到成功的通知的本地節(jié)點(步驟511)就刪除不再需要的代理用的處理(步驟512)。
下面,利用圖22中示出的示意圖示出以如上方式進行規(guī)劃編制的代理的生存周期。即如果代理和目標設定一同生成而開始活動,則首先從生成規(guī)劃的規(guī)劃編制階段P開始,按照生成的規(guī)劃,轉移到執(zhí)行規(guī)劃的執(zhí)行階段E及在節(jié)點之間移動的移動階段M,根據(jù)執(zhí)行及移動的失敗而在各個階段之間轉移而進行活動。于是,如達到當初賦予的目標就正常結束,如由于不能達到目標規(guī)劃編制自身也失敗就完全失敗而結束。
另外,也可以考慮在一個節(jié)點上設置數(shù)個稱為場地的區(qū)域的代理系統(tǒng)。此處所謂的場地是按照各個信息處理的目的及范圍設定的代理活動領域,也稱為場區(qū)。這種場地(場區(qū))在一個節(jié)點上可存在多個,在每個場地(場區(qū))上設置存儲器等的資源及規(guī)劃生成和執(zhí)行所使用的信息。
圖23為示出在網(wǎng)絡N中連接有多個主機H(機器),在各個主機H上都存在一個節(jié)點X,而在節(jié)點X上存在多個場區(qū)FL的示例的示意圖。在這種代理系統(tǒng)中,用于規(guī)劃生成的知識劃分到各個場地(場區(qū)FL),因此,代理在檢索規(guī)劃編制所必需的信息之際,因為沒有必要參考多余的信息,可以使信息處理的效率提高。另外,在規(guī)劃生成中所使用的知識可以根據(jù)持有該知識的主體而劃分為場地持有的場地知識,代理持有的代理知識等。
然而,在上述的這種現(xiàn)有的技術中,過去存在下面這樣的問題。
(1)首先,代理系統(tǒng)是參考動作(action)的定義生成規(guī)劃,現(xiàn)有的動作的定義是action(動作名,[事前條件],[動作系列],[事后條件])這樣包含動作名、事前條件、動作系列及事后條件。于是,在現(xiàn)有的動作定義中,在規(guī)劃中執(zhí)行該動作時,具體執(zhí)行哪一個動作記述在上述的動作系列的項目中。比如,在下面的現(xiàn)有的動作定義中,action(checkNode,[target(Node),nodeName(OriginNode)],[goto(Node),get(′inform.dat′),goto(OriginNode),put(′inform.dat′),[checkNode(Node)]).
與checkNode這樣的動作名對應的具體的步驟以下劃線部分記述。此處,動作系列以外的部分是規(guī)劃生成所使用的信息,動作系列是規(guī)劃執(zhí)行之際所使用的信息。
這樣,迄今為止,由于規(guī)劃生成所使用的信息和執(zhí)行所使用的信息是混雜在動作定義之中,腳本受到動作定義的言語形式的制約而不能自由地記述。另外,此處所說的腳本是記述構成規(guī)劃的具體的動作。特別是,動作的定義是用于列舉必要項目的信息的言語形式,不適合記述具有復雜的控制構造的動作順序。另外,由于規(guī)劃生成所使用的信息和執(zhí)行所使用的信息這兩種性質相異的信息相互區(qū)別不明確而混雜在一起存在,所以迄今為止其中任何一個的生成和修正的操作都很繁雜。
(2)另外,代理系統(tǒng)是參考知識進行規(guī)劃編制,一邊反復執(zhí)行該規(guī)劃的循環(huán)一邊動作,而在執(zhí)行規(guī)劃中所獲得的信息希望能夠在其后的規(guī)劃編制中所使用的知識中得到反映。因此,迄今為止,在利用規(guī)劃執(zhí)行中所取得的信息對既有的信息進行增添更新時,必須將該動作在規(guī)劃中具體地明確記述。
然而,作為執(zhí)行對象的規(guī)劃本身和規(guī)劃生成所使用的知識及更新該知識的命令之間相互的目的不同。迄今為止,由于這種目的不同的信息混雜在規(guī)劃之中而無法分離,所以構筑相應于動作的記述及目的的代理的動作(應用)的操作一直繁雜并且復雜。
(3)另外,代理系統(tǒng)在需要時可進行規(guī)劃重編,但迄今為止,關于在什么時候,以什么方式進行規(guī)劃重編全部具體地明確記述在規(guī)劃中呢,還是任憑系統(tǒng)上的標準(系統(tǒng)設定)處理只能在兩者之中選擇一個。因此,動作缺乏靈活性,代理很難針對各種情況靈活地進行處理。
(4)另外,上述這種現(xiàn)有技術中的另一問題是有關信息安全的問題。即,首先,擔心移動來的代理會對節(jié)點及場地持有的數(shù)據(jù)文件等各種資源進行非法訪問、破壞及篡改。并且,反過來,也存在節(jié)點記場地對代理內部的數(shù)據(jù)進行非法訪問、破壞及篡改的擔心。因此,一直在尋求具有安全功能的安全性高的代理系統(tǒng)。
除此之外,在節(jié)點及場地對規(guī)劃編制用的知識庫準備不充分的場合,在該節(jié)點及場地上不限于可生成用來達到代理的目的的正確的規(guī)劃。另外,根據(jù)節(jié)點及場地,由于安全及資源的界限等原因,也有承認規(guī)劃執(zhí)行而不承認規(guī)劃編制的的場合。在這種場合,規(guī)劃編制有時只能在適合的節(jié)點上進行,所以必須具有這種控制技術。
(5)另外,因為代理是在網(wǎng)絡上一邊在多個節(jié)點之間順次移動一邊繼續(xù)活動,偶爾在代理處于活動中的節(jié)點中由于主機發(fā)生故障停機等事故時代理的活動會中斷。在此場合,因為代理的信息在故障發(fā)生的時刻會消滅,迄今為止,即使節(jié)點可再啟動,代理的動作也不可能繼續(xù)進行。
另外,迄今為止,在用戶在自己使用的節(jié)點生成代理并送出到網(wǎng)上之后,沒有確認送出的代理的現(xiàn)在的位置及確認該代理是否繼續(xù)順利進行活動的裝置。因此就存在即使由于在途中的節(jié)點處發(fā)生故障而使得代理消失,也仍然等待代理返回而使操作推遲的問題。另外,反之,還存在雖然代理沒有消滅但由于返回發(fā)生一定的延遲而被誤認為代理由于故障而消滅,因而再一次送出代理而花費兩次工夫等問題。
此外,即使是在認為是由于節(jié)點故障使代理消滅的場合,迄今為止一直不存在使代理的動作從半路重新開始的裝置。因此,代理的生成和代理的活動必須從頭開始全部返工,不僅其步驟繁雜,而且也存在增加網(wǎng)絡資源負擔的問題。
發(fā)明內容
本發(fā)明是為了解決上述這種現(xiàn)有技術的問題而提案的,其目的在于提供一種生成優(yōu)秀規(guī)劃的代理的技術。另外,本發(fā)明的另外一個目的是提供一種可靠性高的代理技術。
更具體言之,本發(fā)明的目的如下(1)不受動作定義的言語形式的制約,可自由地記述腳本。
(2)無須在規(guī)劃中記述通過執(zhí)行得到的信息引起的知識更新。
(3)通過規(guī)劃重編的內容的多樣化提高代理動作的靈活性。
(4)改善信息處理的安全性。
(5)對于由于節(jié)點故障而使活動中斷的代理可重新開始活動。
上述目的本發(fā)明均可以達到。并且根據(jù)本發(fā)明的一方面可以提供一種代理根據(jù)規(guī)劃進行信息處理的代理系統(tǒng)。此代理系統(tǒng)具有存儲裝置,分別存儲表示規(guī)劃可使用什么動作的動作定義及具體記述各個動作可進行什么活動的各個腳本實體。在此系統(tǒng)中,因為腳本實體是與動作定義分離的,所以不受在動作定義的記述中所使用的言語形式及文法結構的限制,可使用如條件轉移這樣的控制結構等等自由地記述腳本。
根據(jù)本發(fā)明的另外一方面還可提供一種其代理一邊在網(wǎng)絡上存在的多個領域中移動一邊進行信息處理的代理系統(tǒng)。此代理系統(tǒng)具有對上述代理及上述各個領域分別進行管理的各管理裝置以及表示網(wǎng)絡上的各個領域是否可信賴的第一信息,代理的上述管理裝置的構成使得代理準備在領域之間移動時根據(jù)上述第一信息判斷移動目的地的可信賴性并且使代理只向可信賴的領域移動,而各個領域的上述各管理裝置在代理打算從另外一個領域移動過來時,可根據(jù)上述第一信息判斷移動起源領域的可信賴性而只接受從可信賴領域移動過來的代理。在此系統(tǒng)中,各領域只接受來自可信賴領域的代理,代理也只向可信賴領域移動。因此代理及領域相互間都可以減輕由于來自對方的非法訪問而造成侵害的危險。
根據(jù)本發(fā)明的另外一方面可提供一種代理可在多個節(jié)點之間移動進行信息處理的代理系統(tǒng)。在此代理系統(tǒng)中,各個節(jié)點具有在代理在節(jié)點之間移動時至少保存用來復原移動前的代理的信息及用來復原移動后的代理的信息兩者之中的一個的保存裝置,以及在由于故障造成代理消滅的場合利用領域所保存的上述信息復原代理的裝置。在此系統(tǒng)中,在代理移動時對移動前及移動后的節(jié)點中的代理的規(guī)劃和變量區(qū)域等可使代理復原的信息予以保存。所以,在由于節(jié)點發(fā)生故障而使代理活動中斷的場合,利用所保存的信息可使代理復原。據(jù)此,即使活動中斷,代理也可以從其稍微前面一點的狀態(tài)開始繼續(xù)其活動,用戶無須從最初開始重新生成代理或代理從最初開始返工。
圖1為示出本發(fā)明的第一實施形態(tài)的節(jié)點的構成的功能框圖。
圖2為示出本發(fā)明的第一實施形態(tài)中規(guī)劃編制和規(guī)劃執(zhí)行的步驟的流程圖。
圖3為示出本發(fā)明的第二實施形態(tài)的節(jié)點的構成的功能框圖。
圖4為示出本發(fā)明的第二實施形態(tài)的處理步驟的流程圖。
圖5為示出本發(fā)明的第三實施形態(tài)的節(jié)點的構成的功能框圖。
圖6為示出本發(fā)明的第三實施形態(tài)中利用try程序塊和catch程序塊定義例外處理的規(guī)劃的腳本的示例圖。
圖7為示出本發(fā)明的第三實施形態(tài)中的規(guī)劃執(zhí)行步驟的流程圖。
圖8為示出本發(fā)明的第四實施形態(tài)的節(jié)點的構成的功能框圖。
圖9為示出本發(fā)明的第四實施形態(tài)中代理在領域間移動的場合的處理步驟的流程圖。
圖10為示出本發(fā)明的第四實施形態(tài)中關于規(guī)劃編制的處理步驟的流程圖。
圖11為示出本發(fā)明的第四實施形態(tài)中對節(jié)點增加對場地的可信賴性也進行判斷的場合的處理步驟的流程圖。
圖12為示出本發(fā)明的第五實施形態(tài)的節(jié)點的構成的功能框圖。
圖13為示出本發(fā)明的第五實施形態(tài)中保存代理的信息及復原因節(jié)點故障而消滅的代理的處理步驟的流程圖。
圖14為示出本發(fā)明的第五實施形態(tài)中用戶跟蹤代理委托復原的場合的處理步驟的流程圖。
圖15為示出現(xiàn)有的代理系統(tǒng)的構成例的流程圖。
圖16為示出進行規(guī)劃編制的現(xiàn)有的代理系統(tǒng)的處理步驟的流程圖。
圖18為示出在代理系統(tǒng)中在生成中間的規(guī)劃的示例的示意圖。
圖19為示出在代理系統(tǒng)中完成的規(guī)劃的示例的示意圖。
圖20為示出代理系統(tǒng)的規(guī)劃編制步驟的流程圖。
圖21為示出在代理系統(tǒng)中代理在節(jié)點之間移動步驟的流程圖。
圖22為示出代理系統(tǒng)的代理的生存期的示意圖。
圖23為示出在代理系統(tǒng)中在節(jié)點上存在多個場地(場區(qū))的狀態(tài)的示意圖。
具體實施例方式
下面參考附圖對本發(fā)明的實施形態(tài)(以下稱“實施形態(tài)”)予以說明。
此外,本發(fā)明一般考慮是利用軟件控制保持有外圍設備的計算機來實現(xiàn)。在此場合,可利用鍵盤或鼠標等輸入裝置輸入信息,并可利用CRT顯示裝置及打印機等輸出裝置輸出信息。另外,寄存器、存儲器、外部存儲裝置等存儲裝置可以以各種形式臨時或永久保存信息。于是CPU可根據(jù)上述軟件對這些信息進行加工及判斷等處理,并且可以控制處理的順序。
另外,控制計算機的軟件是通過將與各權利要求項及說明書記述的處理相對應的命令組合而生成,所生成的軟件通過匯編程序或解釋程序等處理系統(tǒng)執(zhí)行而對上述硬件資源進行活用。
但是,對于用來實現(xiàn)本發(fā)明的上述形態(tài)可實行各種各樣的變更,比如本發(fā)明的裝置和外部之間信息的輸入輸出也可使用可以軟盤等可裝卸的記錄媒體及網(wǎng)絡連接裝置。此外,像記錄實現(xiàn)本發(fā)明的軟件的CD-ROM這樣的記錄媒體單獨使用也可成為本發(fā)明的一種形態(tài)。另外,本發(fā)明的一部分功能也可利用LSI等物理的電子電路來實現(xiàn)。
如上所述,因為使用計算機本發(fā)明的實現(xiàn)形態(tài)可以有各種各樣的改變,下面通過利用實現(xiàn)本發(fā)明的各種功能的假想電路塊來對本發(fā)明的實施形態(tài)予以說明。
第一實施形態(tài)與本發(fā)明第1~5方面對應,在代理根據(jù)規(guī)劃進行信息處理的代理系統(tǒng)中具有存儲裝置,分別存儲表示規(guī)劃可使用什么活動的動作定義及具體記述各個動作可進行什么活動的各個腳本實體。
圖1為示出在第一實施形態(tài)的代理系統(tǒng)中各節(jié)點的構成的功能框圖。另外,在第一實施形態(tài)的代理系統(tǒng)中,圖中未示出,與圖15和圖16示出的現(xiàn)有技術同樣,多個節(jié)點通過網(wǎng)絡連接,對各個節(jié)點,除了圖1所示的各個部分外,還設置有輸入輸出裝置、管理代理和使其在節(jié)點間移動的裝置。
在這種第一實施形態(tài)中,各節(jié)點具有第一存儲裝置111和第二存儲裝置112。其中第一存儲裝置111是存儲表示規(guī)劃可使用什么動作的動作定義的裝置,而第二存儲裝置112是具體記述各個動作可進行什么活動的各個腳本實體的裝置。另外,在各動作的動作定義中記述指示與各動作相對應的上述腳本實體的腳本名。
另外,各節(jié)點還具有用來存儲有關,比如文件的名稱及在哪一個節(jié)點上等等,關于信息處理的對象的信息集合的第三存儲裝置113。在此第三存儲裝置113中存儲的信息是表示關于網(wǎng)絡構成要素的信息的所謂知識,在規(guī)劃生成之際進行參考。
另外,各個節(jié)點具有規(guī)劃器115和執(zhí)行器117,其中規(guī)劃器115是通過將存儲在第一存儲裝置111中的動作定義中記述的腳本名組合而生成代理的規(guī)劃116的裝置。另外,執(zhí)行器117是通過將與所生成的規(guī)劃116中包含的各個腳本名相對應的腳本實體從上述第二存儲裝置112中順次讀出并執(zhí)行而實現(xiàn)代理的動作的裝置。另外,各個節(jié)點還具有存儲在執(zhí)行規(guī)劃116之際使用的腳本變量的第四存儲裝置114。
[1-2-1.信息的存儲]在上述的第一實施形態(tài)中,在每個動作的動作定義中,除了動作名、事前條件和事后條件之外,還將與該動作對應的腳本名稱(腳本名)記述如下action(動作名,[事前條件], ,[事后條件])此時,在腳本名中記述傳遞給對應的腳本實體的自變量。因此,如此記述的動作定義存儲于第一存儲裝置111內。
另外,各個動作進行的動作的具體實體(稱為腳本實體)與動作定義分開生成,賦予與該動作的動作定義所使用的相同的腳本名,并存儲于第二存儲裝置112內。
比如,動作定義action(checkNode,[target(Node),nodeName(OriginNode)],[get_info(Node′inform.dat′,OriginNode)],[checkNode(Node)])中記述腳本名get_info(Node′inform.dat′,OriginNode)(下劃線部分)。因此,與此腳本名對應的具體腳本實體記述為如下的腳本<pre listing-type="program-listing"><![CDATA[ get_info($node,$filename,$origin) { goto($node); if(-exist$filename){ get($filename); goto($origin) put($filename) }else{ report("File Not Found",$filename); } }]]></pre>
此時,因為腳本實體的記述從動作定義分離開來,不受動作定義的言語形式的制約,也可利用if-then等的控制結構自由地記述腳本。
其次,將根據(jù)以上述方式制定的動作定義及腳本實體生成及執(zhí)行規(guī)劃的步驟示于圖2的流程圖中。
在此步驟中,規(guī)劃器115從關于對象的信息和動作定義生成規(guī)劃116,此時,從必需的動作的動作定義,通過取出腳本名進行組合而生成作為腳本名行的規(guī)劃116。具體言之,在規(guī)劃編制中(步驟121),如圖18至圖20所示,通過參考動作的定義,連接事前條件和事后條件,從表示當初的對象的信息生成一直達到目標的腳本調用列。這種腳本名的行稱為腳本調用列。
執(zhí)行以如上方式生成的規(guī)劃116之際,執(zhí)行器117,就像從主例程調用子例程一樣,將作為規(guī)劃116生成的腳本調用列中記述的腳本名一次取出一個,從第二存儲裝置112讀出與腳本名對應的腳本實體,在進行必需的變量傳遞之后,順次執(zhí)行在腳本實體中記述的動作順序。
具體言之,執(zhí)行器117將包含在腳本調用列中的腳本調用一次一個地取出(步驟122),如未取出,就返回規(guī)劃編制(步驟123),從取出的腳本調用的文字列中切出腳本名,并將與切出的腳本名相同名稱的腳本實體從第二存儲裝置112讀入(步驟124)。
另外,執(zhí)行器117,在腳本實體執(zhí)行之先,在規(guī)劃全體使用的變量和各個腳本執(zhí)行中使用的變量之間交付數(shù)值。即(步驟125),對于在調用腳本實體中所使用的腳本變量名和從調用側遞交的調用自變量根據(jù)記載順序互相匹配,將與各調用自變量對應的規(guī)劃變量的值傳遞給腳本變量,傳遞的值存儲于第四存儲裝置114內。比如,在上述示例中,各調用自變量的變量名和腳本實體的變量名匹配關系如下Node=$node′inform.dat′=$filenameOriginNode=$origin于是,執(zhí)行器117,利用如此傳遞的變量值按照腳本實體的記述執(zhí)行用于信息處理的順序(步驟126),如一個腳本實體執(zhí)行結束,就反復執(zhí)行腳本調用取出處理(步驟122)開始的步驟。
如上所述,在第一實施形態(tài)中,因為腳本實體與動作定義分離,所以不受在動作定義的記述中所使用的言語形式及文法結構的限制,可使用如條件轉移這樣的控制結構等等自由地記述腳本。
下面的第二實施形態(tài)與本發(fā)明第6~12方面對應,在根據(jù)基于賦予的知識所生成的規(guī)劃由代理進行信息處理的代理系統(tǒng)中,利用通過執(zhí)行規(guī)劃所獲得的信息對上述知識進行更新。
第二實施形態(tài)是將多個節(jié)點通過計算機網(wǎng)絡連接的代理系統(tǒng),圖3為示出第二實施形態(tài)的節(jié)點的構成的功能框圖。
如圖所示,第二實施形態(tài)的節(jié)點具有用來保存確定知識的代理知識庫211和基于知識而生成規(guī)劃的規(guī)劃編制裝置216。此處所謂的知識是用于規(guī)劃編制的表示代理系統(tǒng)的構成要素的信息,比如表示在哪一個節(jié)點有什么文件的事實。
另外,第二實施形態(tài)的各個節(jié)點具有用來執(zhí)行所生成的規(guī)劃的規(guī)劃執(zhí)行裝置215,用來保存在規(guī)劃中使用的未確定知識的未確定知識庫212以及利用通過規(guī)劃執(zhí)行判明的信息進行知識更新的代理知識管理裝置213。另外,第二實施形態(tài)的各個節(jié)點具有用來管理代理的代理管理裝置214。
[2-2-1.利用未確定知識的規(guī)劃編制]在具有上述構成的本實施形態(tài)中,代理管理裝置214控制全體的動作,按照這一控制規(guī)劃編制裝置216生成規(guī)劃,所生成的規(guī)劃由規(guī)劃執(zhí)行裝置215執(zhí)行。因此,在生成規(guī)劃之際,如果需要利用實際上不嘗試執(zhí)行規(guī)劃就不能確認的未確定事實的知識(未確定知識),則這種未確定知識可由包含表示未確定事實的變量按原樣應用于規(guī)劃,并且和確定的知識分別保存。在規(guī)劃生成之后,對于未確定知識通過執(zhí)行規(guī)劃就可以在具體判明必需的信息之后進行更新。
此處的圖4為示出第二實施形態(tài)的處理步驟的流程圖。比如,假設在規(guī)劃編制裝置216進行規(guī)劃編制之際(步驟221),代理在代理知識庫211中保有的知識之中,需要在規(guī)劃中使用稱為hisname的項目。但是,項目hisname的具體內容暫時還不能確定,預期在規(guī)劃執(zhí)行之際通過參考文件等等可以確定。在此場合,代理知識管理裝置213將包含未確定變量WHO的未確定知識info(agent,hisname(WHO))暫且一次添加到代理知識庫211中,此知識hisname按未確定原樣使用。在此場合,作為一個例子,為了作為getHisName()這一命令的自變量使用此知識,利用未確定變量WHO,在規(guī)劃中記述如下的命令。
getHisName(WHO)即在此命令中未確定知識中的變量WHO與命令的自變量相對應。
在此場合,如規(guī)劃編制結束,代理知識管理裝置213就將此未確定知識從代理知識庫211中取出添加到未確定知識庫212(步驟222),將作為規(guī)劃中的自變量使用的變量WHO和添加到未確定知識庫的未確定知識info(agent,hisname(WHO))之間的對應關系進行記錄及管理。另外,確定知識在生成規(guī)劃之際受到參考,而按原樣的未確定知識和在規(guī)劃編制之際參考的代理知識庫211內的知識分開獨立地存儲于未確定知識庫212內,一直到確定為止不作為規(guī)劃編制之際的參考對象。
另外,如規(guī)劃編制結束,代理管理裝置214啟動規(guī)劃執(zhí)行裝置215,啟動的規(guī)劃執(zhí)行裝置215執(zhí)行包含上述的未確定知識的規(guī)劃(步驟223)。在此執(zhí)行之際,規(guī)劃執(zhí)行裝置215對規(guī)劃中的各個命令以解釋形式依次解釋執(zhí)行,如根據(jù)這一執(zhí)行使保有變量WHO的具體內容的文件等受到訪問,就可以對變量WHO對應賦予具體的值。于是,這種變量和具體值之間的對應關系就由規(guī)劃執(zhí)行裝置215保持。
在如此執(zhí)行規(guī)劃之后,代理管理裝置214,在轉移到下一個規(guī)劃編制之前,對規(guī)劃中的變量值是否是確定(捆綁)的進行檢查(步驟224)。為了進行這一檢查,列出未確定知識庫212中的全部變量名,將這些變量名傳遞給規(guī)劃執(zhí)行裝置215,詢問其狀態(tài),根據(jù)詢問的結果就可以判斷是已經(jīng)確定的還是未確定的。
此時,如像變量WHO="masanori"那樣確定變量的值,代理管理裝置214將確定的值傳遞給213,代理知識管理裝置213則通過對在未確定知識庫212中的未確定知識中包含的變量以此確定值進行如下置換info(agent,hisname(WHO))↓info(agent,hisname("masanori"))確定未確定知識(步驟225)。另外,代理知識管理裝置213將如此確定的知識從未確定知識庫212移動到代理知識庫211。通過這樣的確定而移動到代理知識庫211的知識就可以在其后的規(guī)劃編制中參考。
如上所述,在第二實施形態(tài)中,是利用在規(guī)劃執(zhí)行時可能得到的信息進行確定,而在規(guī)劃編制時刻未確定的知識是和確定的知識分開以一定的形式保存,并且利用規(guī)劃執(zhí)行所得到的信息實現(xiàn)確定之后添加到確定知識之中。因此,由于這一系列處理是由代理自動進行的,所以無須在規(guī)劃中記述知識更新,可以消除記述規(guī)劃的繁雜性及復雜性。
另外,在第二實施形態(tài)中,因為在規(guī)劃編制之際只參考確定的知識,所以可以提高利用規(guī)劃編制所生成的規(guī)劃的確實性。還有,不限于代理所保有的知識,也可對存在于節(jié)點及場地的知識等等一切知識以上述方式進行更新。
第三實施形態(tài)與本發(fā)明第13~16方面對應,在代理根據(jù)規(guī)劃的執(zhí)行進行信息處理的代理系統(tǒng)中,可自由確定在對規(guī)劃所希望的每個部分執(zhí)行失敗的場合的規(guī)劃的重編動作是由用戶定義還是交給系統(tǒng)上的默認動作。
第三實施形態(tài)是多個節(jié)點通過計算機網(wǎng)絡連接,圖5為示出本發(fā)明的第三實施形態(tài)的節(jié)點的構成的功能框圖。如圖所示,第三實施形態(tài)的各個節(jié)點具有針對規(guī)劃311(腳本實體)的所希望的部分,對執(zhí)行失敗的場合的例外處理進行定義的定義裝置316,執(zhí)行規(guī)劃的執(zhí)行裝置312,存儲規(guī)劃執(zhí)行中使用的腳本變量的存儲裝置313。
另外,第三實施形態(tài)的各個節(jié)點具有例外處理裝置314和代理動作控制裝置315。其中例外處理裝置314是在定義為例外處理的上述部分中在規(guī)劃執(zhí)行失敗的場合執(zhí)行所定義的例外處理的裝置,而代理動作控制裝置315是在未定義為例外處理的部分中規(guī)劃執(zhí)行失敗的場合執(zhí)行預先確定的規(guī)劃重編動作的執(zhí)行裝置。另外,定義裝置316并不需要在所有的節(jié)點上設置,在定義例外處理的節(jié)點上設置就可以了。
具有上述這種構成的第三實施形態(tài)具有如下的作用。
即,在第三實施形態(tài)中生成代理的場合,是將規(guī)劃執(zhí)行的失敗作為一種例外進行處理,根據(jù)是否定義例外處理來以圖6這種形式對腳本實體進行記述。即定義執(zhí)行失敗時的例外處理的部分是在稱為try{}的關鍵字的{}內記述,對該部分的例外處理在其后立即以catch{}這樣的關鍵字記述,是在該{}內記述。
通過使用這種句法結構,在利用句法結構try{}記述的處所的規(guī)劃執(zhí)行失敗的場合,執(zhí)行利用與此句法結構try{}成對的句法結構catch{}記述的例外處理。
此處,圖7為示出本發(fā)明的第三實施形態(tài)中的規(guī)劃執(zhí)行步驟的流程圖。即,如圖所示,執(zhí)行裝置312是順次從規(guī)劃中取出執(zhí)行文句執(zhí)行(步驟321),如在執(zhí)行時發(fā)生作為例外的一種的執(zhí)行失敗的場合,(步驟322),執(zhí)行裝置312就將表示發(fā)生例外的信號與發(fā)生例外的腳本上的位置一起送往例外處理裝置314。
接受信號的例外處理裝置314調查該例外發(fā)生的位置是否是在try程序塊之內(步驟323),如是在try程序塊內發(fā)生的例外,就執(zhí)行像在該try程序塊緊后面的catch程序塊內定義的例外處理(步驟324~326)。另一方面,如發(fā)生例外的位置部在try程序塊內,代理動作控制裝置315就按照預先確定的系統(tǒng)上的標準(默認設置)進行規(guī)劃重編(步驟327)。
這樣,在執(zhí)行規(guī)劃時預約詞語catch完成的作用是在作為成對的try程序塊內的例外的一種的執(zhí)行失敗發(fā)生的場合,檢出表示這種發(fā)生的信號,跳轉到對catch程序塊內進行適當?shù)姆祷靥幚怼A硗?,圖6為示出的是根據(jù)發(fā)生例外的處所是try程序塊內側還是程序塊外側而進行不同處理的狀態(tài)示例圖。
另外,像try{∥通常的處理}catch{try{∥返回處理}catch{∥返回處理的例外處理}}這樣,通過使使用try和catch的句法結構成為嵌套結構,對例外處理本身也可適用同樣的例外處理。在此場合,在try部分記述通常的處理,在catch部分記述返回處理,在此catch的內側也記述在try的部分上的本來的返回處理,而在catch部分記述在返回處理本身發(fā)生失敗的場合具備的例外處理。
根據(jù)這一結構,在對執(zhí)行失敗進行返回處理中間又發(fā)生例外的場合,由于返回處理本身已try程序塊化,所以根據(jù)在對應的catch程序塊內記述的例外處理實現(xiàn)對應處理。此外,在返回處理本身未try程序塊化的場合,如在返回處理中發(fā)生例外,則按照系統(tǒng)上的默認設置進行規(guī)劃重編。
如上所述,在第三實施形態(tài)中,在規(guī)劃執(zhí)行發(fā)生失敗的場合,是根據(jù)預先確定的系統(tǒng)上的標準(默認設置)進行規(guī)劃重編,還是定義用于從失敗復舊的例外處理要由每個規(guī)劃部分自由選擇,所以關于規(guī)劃重編的代理的控制行容易。
特別是,在第三實施形態(tài)中,因為定義例外處理的部分和對此部分的例外處理可以以使用分別決定的關鍵字記{}等的第一句法結構try{}和第二句法結構catch{}相互對應進行指定,所以例外處理的定義很容易。
第四實施形態(tài)的構成與本發(fā)明第18~24方面對應,在代理一邊在網(wǎng)絡上存在的多個領域中移動一邊進行信息處理的代理系統(tǒng)中,在代理一邊在節(jié)點及場地等的各領域間移動一邊同時進行規(guī)劃重編時,代理及各領域進行涉及安全性的判斷。
圖8為示出本發(fā)明的第四實施形態(tài)的節(jié)點的構成的功能框圖。如圖所示,第四實施形態(tài),首先,對各領域,即節(jié)點及場地,分別進行管理的節(jié)點管理單元411及場地管理單元412,以及對代理進行管理的代理管理單元413。另外,第四實施形態(tài),雖然圖中未示出,是將多個節(jié)點通過計算機網(wǎng)絡進行連接,在各個代理上存在多個作為按照代理的目的劃分的活動領域的場地。因此,節(jié)點管理單元411、場地管理單元412及代理管理單元413分別存在于當作管理對象的節(jié)點上,以及存在當作管理對象的場地及代理的節(jié)點上。
另外,第四實施形態(tài)具有信賴列表存儲單元414,信賴列表管理單元415及判斷單元416。其中信賴列表存儲單元414是存儲表示網(wǎng)絡上的各個領域是否可信賴的信賴列表(相當于上述第一信息)的單元。另外,信賴列表管理單元415是對信賴列表進行更新及管理的單元。另外,判斷單元416是對給定領域,通過信賴列表管理單元415借助參考信賴列表存儲單元414,判斷是否可以信賴的單元。此外,這些信賴列表存儲單元414、信賴列表管理單元415及判斷單元416也可在各個節(jié)點中設置,也可在幾個節(jié)點中設置,也可集中設置在一個處所。
因此,各領域的場地管理單元412及節(jié)點管理單元411的構成使得可以在代理準備從另外的領域移動過來時,能夠通過由判斷單元416對移動起源領域的信賴性進行判斷而只接受從可信賴領域移動來的代理。另外,各代理的代理管理單元413的構成使得可以在代理準備在領域之間移動時,能夠通過由判斷單元416對移動目的領域的信賴性進行判斷而使代理只向可信賴領域移動。
另外,在信賴列表存儲單元414中,在各領域中存儲表示是否承認的第二信息,信賴列表管理單元415及判斷單元416的構成使得可以通過對第二信息進行訪問,判斷代理對于給定領域是否承認規(guī)劃編制。這樣,代理管理單元413的構成使得判斷單元416通過參考此第二信息可以在規(guī)劃編制不被承認的領域中回避代理的規(guī)劃編制。此外,作為第一信息的信賴列表及第二信息最好是集中保存在名稱服務器等一個處所。
另外,這種信賴列表可為任何形式,比如,在以場地作為單元的場合,可考慮下面的形式。即作為由與場地相同數(shù)目的記錄構成的列表形式,在每一個記錄中保持有下面3個場區(qū)(字段)。其中頭一個場區(qū)是場地固有名稱及標識符,第二個場區(qū)以A、B、C等等級表示場地的信賴性,第三個場區(qū)在該場地承認規(guī)劃編制時設置標志為1,不承認時設置為2。
在具有上述這種構成的本實施形態(tài)中,各領域的節(jié)點管理單元411及場地管理單元412,在代理預備從其他領域移動過來時,通過由判斷單元416判斷移動來源領域的信賴性可只接受從可信賴領域移動過來的代理。此外,因為各個領域及代理的管理單元可以為各個領域及代理代為處理信賴性的判斷等處理,在以下的說明中關于管理單元及判斷單元的記述就省略了。
即,各個領域,在代理預備從其他領域移動過來時,判斷移動來源領域的信賴性,只接受從可信賴領域移動過來的代理。另外,各代理在預備在領域間移動時,判斷移動目的領域的信賴性,使代理只向可信賴的領域移動。
此處圖9為示出代理預備在領域間移動的場合,節(jié)點及代理判斷其他的節(jié)點的信賴性的處理步驟的具體示例的流程圖。即如果代理執(zhí)行規(guī)劃的結果發(fā)生向另外的節(jié)點移動的要求(步驟420),則首先是預備移動的代理判斷移動目的節(jié)點的信賴性(步驟421),在可信賴的場合,代理就向現(xiàn)在的節(jié)點移動(步驟422)。
接受依賴的移動來源節(jié)點,在判斷移動目的節(jié)點的信賴性之后(步驟423),在信賴的場合試探將代理向移動目的節(jié)點移動(步驟424)。接受試探的移動目的節(jié)點則判斷移動來源節(jié)點的信賴性(步驟425),在此處也是在判斷為信賴的場合,從移動來源節(jié)點向移動目的節(jié)點發(fā)送數(shù)據(jù)且代理在節(jié)點間移動(步驟426)。如此移動的代理在移動目的節(jié)點重新開始活動(步驟427)而移動成功(步驟428)。
但是,在步驟421、423和425中任何一個中判斷為不可信賴的場合,由于違反安全性移動失敗(步驟429),規(guī)劃執(zhí)行失敗。這樣,在規(guī)劃執(zhí)行失敗的場合,通過規(guī)劃重編,比如,可以將規(guī)劃指定的移動目的改變?yōu)樗坪醮嬖谂c代理試探的文件相同的文件的另外的下載網(wǎng)址,經(jīng)過這樣改變之后可將規(guī)劃執(zhí)行。
另外,代理回避在不允許進行規(guī)劃編制的節(jié)點上進行規(guī)劃編制。此處的圖10為示出在代理中發(fā)生規(guī)劃編制要求的場合的處理步驟的流程圖。即如果發(fā)生規(guī)劃編制要求(步驟431),代理判斷現(xiàn)有的節(jié)點是否1承認規(guī)劃編制(步驟432),在承認的場合就進行規(guī)劃編制(步驟433)并執(zhí)行生成的規(guī)劃(步驟434)。
另一方面,代理在現(xiàn)有的節(jié)點不承認規(guī)劃編制的場合(步驟432),可以認為是由于違反安全性規(guī)劃編制失敗(步驟435)。在這種場合,可以有,比如,返回到前面一個節(jié)點(步驟436)、規(guī)劃重編等在規(guī)劃編制失敗時繼續(xù)動作(步驟437)等的對應對策。另外,在預先了解移動目的節(jié)點等不允許規(guī)劃編制的場合等等情況下,也可在移動前完成必需的規(guī)劃編制之后再移動。
還有,在節(jié)點中有場地,代理預備在場地之間移動之時,不僅是有場地的節(jié)點,場地也對移動來源節(jié)點及移動目的節(jié)點的信賴性進行判斷的場合的處理步驟如圖11所示。在這一步驟中,因為安全性的判斷是由節(jié)點和場地多次進行的,更加使信息處理的安全性得到提高。
還有,利用信賴列表管理單元415,將代理在哪一個領域移動過順次記錄于信賴列表存儲單元414內的歷史記錄中,各領域則在代理預備從另外的領域移動過來時,也可根據(jù)該代理的上述歷史、各領域的信賴列表及預先確定的基準賴判斷是否接受該代理。另外,在此場合,也可將歷史記錄于代理內的數(shù)據(jù)領域中。
于是,移動目的領域,將基于歷史的判斷對歷史中的所有節(jié)點等實行,在代理保有的歷史中存在不可信賴的節(jié)點或不可信賴的節(jié)點數(shù)目超過一定數(shù)量的場合將會拒絕接受。
如上所述,根據(jù)第四實施形態(tài),各領域只能接受來自可信賴領域的代理,代理也只能移動到可信賴的領域。因此就可以減輕代理及領域互相受到對手的侵害的危險。
另外,在第四實施形態(tài)中,因為接受代理的領域不僅可以對代理預備移動來的最新的移動來源進行判斷,而且也可以對代理過去去過的其他領域進行判斷,所以可以有效地回避受到侵害的可能性。比如,具有惡意的領域可能將移動來的代理進行改竄埋入計算機病一類的有害功能或將有害的代理頂替送出。因此,接受代理的領域,根據(jù)歷史,通過將過去曾到過不可信賴的領域的代理排斥在外就可以避免受到上述的埋入有害功能以及頂替的代理造成的侵害。
另外,在第四實施形態(tài)中,可回避不承認規(guī)劃編制的領域的規(guī)劃編制。因此,可以保護領域避免生成具有有害腳本的規(guī)劃或預備以有害處理冒充規(guī)劃編制的代理。另外,在代理用于規(guī)劃編制的資源不充分的場合,領域對資源不會有不當消耗。
此外,對代理而言,也可以得到保護,而不受來自看起來像支援規(guī)劃編制而在代理內埋入不當腳本的領域的侵害。另外,因為規(guī)劃編制只在知識庫十分完備的領域內進行,所以可生成適合的規(guī)劃,且信息處理可順利地進行。
另外,如果關于各個節(jié)點等是否可信賴的信息集中保存于名稱服務器等一個處所,各節(jié)點等參考此集中保存的信息,則可節(jié)約保存有關信賴性的信息的保存領域,并且,因為信息更新可做到一元化,可防止每個節(jié)點保持的信息出現(xiàn)不一致的事態(tài)。此外,在具有惡意的人物及領域意欲對有關信賴性的信息本身進行篡改的場合,如果把信息集中只保存于一個場所并強化安全措施就足夠了。
第五實施形態(tài)與本發(fā)明第25~30方面對應,在代理在多個節(jié)點間移動進行信息處理的代理系統(tǒng)中,保存代理的信息,在由于節(jié)點內的故障使代理消滅時,可以使代理復原。
第五實施形態(tài)是多個節(jié)點通過計算機網(wǎng)絡連接,圖12為示出第五實施形態(tài)的構成的功能框圖,特別是將一個節(jié)點R作為示例示出其具體構成。如圖所示,節(jié)點R除了具有與圖16所示的同樣的本地信息存儲裝置511,規(guī)劃生成裝置512,代理信息存儲裝置513,規(guī)劃執(zhí)行裝置514,輸入輸出裝置515及管理裝置516(與圖16的代理管理單元7相對應)之外,還具有保存代理的信息517的保存裝置518及復原裝置519。
其中作為保存對象的代理信息517只是后面可使代理復原的信息,是代理的規(guī)劃及變量領域等。另外,保存裝置518是在代理移動到其他節(jié)點之前以及從其他節(jié)點移動來之后保存代理信息517的裝置。另外,復原裝置519是在由于故障使代理消滅的場合,利用所保存的信息是代理復原的裝置。此復原裝置519的構成,除了在節(jié)點再起動的場合使代理自動復原之外,在接受用戶委托的場合可使代理復原。
另外,在第五實施形態(tài)中,網(wǎng)絡N的名稱服務器510的構成使得可將各代理可移動到哪一些節(jié)點作為歷史順次進行記錄。另外,在用戶在生成代理并發(fā)送到網(wǎng)絡N中使用的用戶節(jié)點U中設置有確認裝置U1和委托裝置U2。
其中確認裝置U1是通過與名稱服務器510通信確認在上述歷史中記錄的最新的節(jié)點,并且通過與該最新節(jié)點通信確認該最新節(jié)點的代理的狀態(tài)的裝置。另外,此確認裝置U1在上述最新的節(jié)點中代理被消滅的場合,也用來根據(jù)上述歷史確認在此最新節(jié)點之前有過代理的其他節(jié)點。另外,委托裝置U2是在確認的上述節(jié)點中的用于委托代理的復原的裝置。
在具有上述這樣構成的本實施形態(tài)中,在接受移動過來的代理的節(jié)點中,在排除故障之后代理自動復原的場合的處理步驟如圖13的流程圖所示。
即,在此步驟中,如在代理移動過來之時(步驟520),代理管理裝置接受代理的信息(步驟521),則保存裝置518將接受的信息,即移動后的信息517(圖12)拷貝并保存于節(jié)點的本地文件LF中(步驟522)。此處保存的信息517,是為了繼續(xù)繼續(xù)代理的活動所必需的全部信息,具體言之,可根據(jù)系統(tǒng)的構成確定而包括如代理的規(guī)劃、規(guī)劃執(zhí)行用的各種變量、代理所保持的文件等。此外,在發(fā)出代理的一側的節(jié)點中,也可保存移動之前的代理的信息517。
這樣,在移動過來的代理開始活動之后(步驟524),在由于移動后的節(jié)點發(fā)生故障而使代理活動中斷的場合,如故障排除節(jié)點再啟動(步驟525),復原裝置519,在保存信息的代理之中,檢查故障是否已經(jīng)排除(步驟526),對于消滅了的代理,利用所保存的信息517復原代理(步驟527),復原的代理可再開展活動(步驟528)。
另外,如將代理經(jīng)過哪些路徑移動作為移動歷史在名稱服務器510等特定的節(jié)點內順次記錄時,節(jié)點及用戶通過利用此移動歷史可跟蹤代理的行蹤。此外,所謂名稱服務器(命名服務器)一般是從節(jié)點名檢索IP地址的服務器,移動歷史不一定要保存于名稱服務器之內,確定其他的適當服務器來保存也可以,也可以保存于代理內部。
圖14為示出利用如此保存的歷史用戶跟蹤代理并根據(jù)需要委托代理復原的處理步驟的流程圖。
即,假設從自己使用的節(jié)點U送出代理的用戶將代理的地址指示給自己的節(jié)點(步驟530)。另外,對所有的代理都是在利用用戶的節(jié)點在當初生成時分配給定的IP,在關于代理的查詢及復原的委托中,根據(jù)此ID確定作為對象的代理。
在用戶節(jié)點U中,接受跟蹤指示,確認裝置U1向保存代理的移動歷史的名稱服務器510查詢代理的最新位置(步驟5302)。接受這一查詢的名稱服務器510將在移動歷史最后添加的節(jié)點作為代理的最新位置返送回去(步驟5301)。在此場合,通常認為代理現(xiàn)在大概存在于作為此最新位置的節(jié)點上。
因此,節(jié)點U的確認裝置U1向作為最新位置的節(jié)點查詢DL的狀態(tài)(步驟5304)。針對這一查詢(步驟5305),在應答是“動作中”的場合,因為代理將安全地繼續(xù)進動作作而使處理記述(步驟5306)。另一方面,在作為最新位置的節(jié)點處系統(tǒng)發(fā)生停機等故障的場合將沒有應答,據(jù)此可以判明由于節(jié)點故障使代理的活動中斷。
在此場合,用戶通過自己的判斷象節(jié)點U發(fā)出使代理復原的指示。接受此指示后,節(jié)點U的確認裝置U1向名稱服務器510查詢代理曾經(jīng)在的出現(xiàn)故障的節(jié)點的前一個節(jié)點的位置并獲得結果(步驟5308)。于是,節(jié)點的委托裝置U2向前面一個節(jié)點委托代理復原(步驟53091)。
對于此委托,在由于在前一個節(jié)點處發(fā)生故障而沒有應答時(步驟5310),返回步驟5308,再進一步查詢前面一個節(jié)點,委托復原(步驟5309),在前面一個節(jié)點功能正常的場合,就有前面一個節(jié)點復原代理(步驟5311),代理在故障發(fā)生直前的節(jié)點處重新展開活動(步驟5312)。
下面接著示出復原由于故障而消滅的代理的例子。比如,假設代理沿A→B→C順次移動,并且在位于最新的節(jié)點C處時由于節(jié)點C的系統(tǒng)崩潰而消滅。在此場合,作為一個示例,利用在這一代理移動來到之后的直后信息,節(jié)點C再啟動時代理自動復原,在節(jié)點C上的活動將再度執(zhí)行。
另外,作為另外一個示例,假設用戶對自己生成的代理進行跟蹤的結果,了解到應該在節(jié)點C的代理由于故障不再動作。在此場合,假設用戶指定代理在節(jié)點C的緊前面的一個節(jié)點B并委托代理的復原。接受這一委托,在節(jié)點B,利用在向節(jié)點C移動之前保存的信息可使代理復原,從移動直前的狀態(tài)重新開始活動。
假設重新開始活動的代理再次向節(jié)點C移動,在此節(jié)點C還沒有動作時,向節(jié)點C的移動失敗,代理將把似乎與節(jié)點C具有相同數(shù)據(jù)的另外的節(jié)點(比如鏡像節(jié)點)作為下一個移動對象進行規(guī)劃重編,執(zhí)行新生成的規(guī)劃而使活動繼續(xù)進行。
另外,信息的保存可以認為代理現(xiàn)在所在的最新節(jié)點和啟前一個節(jié)點是合適的,如過要增加,比如,可以適當改變?yōu)榘钚碌墓?jié)點在內的3個等等,[5-3.效果]如上所述,在第五實施形態(tài)中,在代理移動時,保存在移動前和移動后的節(jié)點處的代理的規(guī)劃及變量領域等可使代理復原的信息。于是,即使由于節(jié)點故障使代理消滅,可自動地或通過用戶的委托,通過從保存的數(shù)據(jù)重新生成代理使其復原而重新開始活動。據(jù)此,可以從代理消滅不久之前的狀態(tài)繼續(xù)活動,用戶無須頭重新生成代理,代理也無須從頭重新開始處理。
具體言之,在移動后的節(jié)點可正常再起動的場合,可從代理向該節(jié)點移動過來直后的狀態(tài)重新開始活動,在移動后的節(jié)點處故障繼續(xù)的場合,可以從前面一個節(jié)點的移動前的狀態(tài)重新開始活動。
另外,在節(jié)點再起動時代理自動復原的場合,代理系統(tǒng)的用戶及管理員可免去發(fā)出要求復原代理的指示一類的負擔。另一方面,在等待從用戶發(fā)出委托使代理復原的場合,即使將代理消滅了的節(jié)點由于故障未能復原的場合,用戶可通過委托在該節(jié)點以前代理曾經(jīng)到過的其他所希望的節(jié)點使代理復原。
特別是,如利用代理的移動歷史,用戶可跟蹤代理而確認現(xiàn)在的狀態(tài),并委托代理過去曾經(jīng)到過的節(jié)點將代理復原。
另外,本發(fā)明不限于上述實施的形態(tài),也包含下面例示的其他實施形態(tài)。比如,在本發(fā)明中,網(wǎng)絡的規(guī)模、形式、節(jié)點數(shù)目等是自由的,記述利用代理進行的信息處理的種類、動作定義、知識、規(guī)劃等的言語形式也可自由選擇。
另外,在第二實施形態(tài)中,檢查未確定知識使用的變量的值是否已經(jīng)確定,將確定的值反映到知識的處理可隨時進行。即,在第二實施形態(tài)中,可在生成的規(guī)劃全體執(zhí)行之后進行,也可在每執(zhí)行一條命令進行檢查等等。另外,在只包含變量原樣的確定狀態(tài)下,也可考慮在規(guī)劃編制參考的規(guī)劃中打算使用的知識。因此,包含變量原樣的未確定知識也可考慮按照確定知識看待在規(guī)劃編制中參考。
此外,這樣一來,未確定知識也可由用戶自由指定是否在規(guī)劃編制中參考。這樣一來,對于未確定知識,假如可由用戶根據(jù)該知識的性質自由指定在規(guī)劃編制之際是否對其進行參考,就可以增加知識處理的自由度,系統(tǒng)的靈活運用就有可能。
另外,在第四實施形態(tài)中,信賴列表是集中于一個場所保存,但信賴列表也可按照每個節(jié)點,每個場地及每個代理單個設置。在此場合,各節(jié)點及場地是否容許規(guī)劃編制動作的信息可以由代理保持。這樣一來,在分散保持信賴列表的場合,比如,節(jié)點等保持的信賴列表是由那些各節(jié)點等的管理員進行信息的收集和生成。另外,代理所保持的信賴列表是為了進行信息處理由將該代理的生成委托給委托者生成,并且節(jié)點等,比如為了對本來的代理進行的作業(yè)的一部分進行代行而派生生成另外的代理的場合,所生成的節(jié)點等可考慮賦予該派生的代理。
如上所述,根據(jù)本發(fā)明,可提供不受動作定義的言語形式的制約,腳本可自由地記述和生成優(yōu)秀規(guī)劃的代理技術。
另外,由于結構上容許將利用執(zhí)行所得到的信息進行的知識更新作為代理的功能,涉及更新的動作就無須在規(guī)劃中記述。另外,通過使規(guī)劃重編的內容多樣化,代理的靈活性可提高。另外,在代理在節(jié)點間移動時,代理和節(jié)點通過互相判斷移動目的及移動來源的節(jié)點的信賴性可改善信息處理的安全性。另外,通過對代理移動時復原用的信息的保存,對由于節(jié)點故障而中斷活動的代理可重新開展活動。據(jù)此,也可提供優(yōu)秀的生成規(guī)劃的代理技術。
權利要求
1.一種代理系統(tǒng),其特征在于,在代理一邊在網(wǎng)絡上存在的多個領域中移動一邊進行信息處理的代理系統(tǒng)中具有對上述代理及上述各個領域分別進行管理的各管理裝置,以及表示網(wǎng)絡上的各個領域是否可信賴的第一信息,代理的上述管理裝置的構成使得代理準備在領域之間移動時根據(jù)上述第一信息判斷移動目的地的可信賴性并且使代理只向可信賴的領域移動,而各個領域的上述各管理裝置在代理打算從另外一個領域移動過來時,可根據(jù)上述第一信息判斷移動起源領域的可信賴性而只接受從可信賴領域移動過來的代理。
2.如權利要求1所述的代理系統(tǒng),其特征在于,包括順次記錄代理曾經(jīng)移動到哪些領域的歷史的裝置,并且其構成使得上述各領域的上述各管理裝置在代理預備從另外的領域移動過來時可根據(jù)該代理的上述歷史、上述第一信息以及預先確定的基準賴判斷是否接受該代理。
3.如權利要求1所述的代理系統(tǒng),其特征在于,在各領域中具有表示是否承認規(guī)劃編制的第二信息,代理的上述管理裝置的構成使得通過參考此第二信息可以在規(guī)劃編制不被承認的領域中回避代理的規(guī)劃編制。
4.如權利要求1所述的代理系統(tǒng),其特征在于,上述第一信息及第二信息是集中保存在一個處所。
5.一種信息處理方法,其特征在于,在代理一邊在網(wǎng)絡上存在的多個領域中移動一邊進行信息處理的信息處理方法中包含生成表示網(wǎng)絡上的各個領域是否可信賴的第一信息的步驟,以及在代理準備在領域之間移動時根據(jù)上述第一信息判斷移動目的地的可信賴性并且使代理只向可信賴的領域移動的步驟。
6.如權利要求5所述的信息處理方法,其特征在于,包括順次記錄代理曾經(jīng)移動到哪些領域的歷史的步驟,并且其構成使得上述各領域的上述各管理裝置在代理預備從另外的領域移動過來時可根據(jù)該代理的上述歷史、上述第一信息以及預先確定的基準賴判斷是否接受該代理的步驟。
7.如權利要求5所述的信息處理方法,其特征在于,在各領域中利用表示代理的規(guī)劃編制是否被承認的第二信息,通過參考此第二信息可以在規(guī)劃編制不被承認的領域中回避代理的規(guī)劃編制的步驟。
8.一種代理系統(tǒng),其特征在于,在代理在多個節(jié)點之間移動進行信息處理的代理系統(tǒng)中,各個節(jié)點,具有在代理在節(jié)點之間移動時至少保存用來復原移動前的代理的信息及用來復原移動后的代理的信息兩者之中的一個的保存裝置,以及在由于故障造成代理消滅的場合利用領域所保存的上述信息復原代理的裝置。
9.如權利要求8所述的代理系統(tǒng),其特征在于,其構成使得在節(jié)點再起動的場合使代理自動復原。
10.如權利要求8所述的代理系統(tǒng),其特征在于,其構成使得在接受委托的場合可使代理復原。
11.如權利要求8所述的代理系統(tǒng),其特征在于,其構成包括順次記錄代理曾經(jīng)移動到哪些領域的歷史的裝置,確認在上述歷史中記錄的最新節(jié)點的狀態(tài)的裝置,在上述最新節(jié)點中代理消滅的場合根據(jù)上述歷史確認在此最新節(jié)點中以前代理所在的其他節(jié)點的裝置,和委托所確認的上述其他節(jié)點復原代理的裝置。
12.一種信息處理方法,其特征在于,在代理在多個節(jié)點之間移動進行信息處理的信息處理方法中,包含在代理在節(jié)點之間移動時至少保存用來復原移動前的代理的信息及用來復原移動后的代理的信息兩者之中的一個的保存步驟,以及在由于故障造成代理消滅的場合利用領域所保存的上述信息復原代理的步驟。
13.如權利要求12所述的信息處理方法,其特征在于,其構成包括順次記錄代理移動到哪些領域的歷史的步驟,確認記錄在上述歷史中記錄的最新節(jié)點的狀態(tài)的步驟,在上述最新節(jié)點中代理消滅的場合根據(jù)上述歷史確認在此最新節(jié)點中以前代理所在的其他節(jié)點的步驟,和委托所確認的上述其他節(jié)點復原代理的步驟。
全文摘要
本發(fā)明提供一種生成優(yōu)秀規(guī)劃的代理技術。通過分別存儲動作定義和腳本,可不受動作定義的語法形式的制約,從而自由地記述腳本。另外,無須在規(guī)劃中記述通過執(zhí)行得到的信息引起的知識更新。通過規(guī)劃重編的內容的多樣化提高代理動作的靈活性。改善信息處理的安全性。對于由于節(jié)點故障而使活動中斷的代理可重新開始活動。
文檔編號G06F9/44GK1503129SQ20031011633
公開日2004年6月9日 申請日期1999年1月11日 優(yōu)先權日1998年1月9日
發(fā)明者加瀬直樹, 服部正典, 長健太, 典, 加 直樹 申請人:株式會社東芝