(57)【要約】【課題】協働装置付き情報処理システムの提供。【解決手段】当情報処理システムは４種類の装置を含めている：登録サーバ、一つか一つ以上の情報サーバ、一つか一つ以上のエージェントサーバ、及び二つか二つ以上の協働装置。これらの装置はそれぞれのプライベートネットワークに位置していることができる。情報サーバは公開情報のソースで、エージェントベースの通信メカニズムによってエージェントサーバを通して協働装置へ公開情報を公開する。協働装置については、マスター制御装置に、マスター制御装置や連合装置としての役割を果たすことができる。マスター制御装置は、１対１通信を介してプライベートや機密情報を収集するため、一つか一つ以上の連合装置と通信できる。【選択図】図１
2008065826.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを含み、
当該ネットワークには一つ以上の装置が設けられ、当該装置は、C&Cユニット、一つ以上の実行モジュール、及びオープンサービスディレクトリを有し、当該オープンサービスディレクトリは少なくとも定数スクリプト、変数スクリプト及び制御スクリプトを含め、
当該ネットワークには一つ以上の情報サーバが設けられ、当該情報サーバは一つ以上の情報サービスを提供し、各情報サービスは、加入している前述にある一つ以上の装置に対して一組の情報を配布し、
当該ネットワークには一つ以上の受信エージェトサーバが設けられ、当該受信エージェントサーバは、前述にある情報サービスから少なくとも一組の情報を、情報サービスに加入している装置に対して返事し、また、
一つの登録サーバも設けられ、当該登録サーバは可能な情報サービスリストと前述の各情報サービスを返事する受信エージェントサーバリスト、及び前述にあるあらゆるサーバと装置に関するアドレス情報を有し、
ここにある前述のオープンサービスディレクトリの定数スクリプト及び制御スクリプトは、前述の登録サーバで装置に対して提供される前述にある可能な情報サービスリストに基づいてC&Cユニットによって作られ、前述の定数スクリプトは、どの情報サーバからのどの情報サービスが利用可能であるかを指定し、前述の制御スクリプトは、前述のC&Cが如何に情報サービスに加入するかを指定し、
前述のオープンサービスの変数スクリプトは、前述の登録サーバで装置に対して提供される前述の受信エージェントサーバリストに基づいてC&Cユニットによって作られ、
前述のC&Cユニットは、前述の情報サービスに加入するため、前述の定数及び制御スクリプトに従い、前述の登録サーバと通信し、
前述のC&Cユニットは、情報サービスから一組の情報を受信するため、変数スクリプトに従い、前述にある一つ以上の受信エージェントサーバと通信し、そして、
前述の実行モジュールは、適当なトリガーに対する応答として、C&Cユニットによって喚起され、前述の装置へ一組の情報配送を処理することを特徴とする協働装置付き情報処理システム。
【請求項２】
前述にある各装置の変数スクリプトは、前述の登録サーバによって装置へダイナミックに配送される前述の情報サービスの受信エージェントサーバリストに応答するよう、C&Cユニットによって更新されることを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項３】
前述の加入は登録サーバによって情報サーバに届けられ、そして、情報サーバは加入を受け入れるか拒否するかすることができることを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項４】
前述の加入は、情報サーバからの一組の情報配送に回数が決められていることを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項５】
前述の加入は、前述の装置によって取消がなされるまで、前述の情報サーバからの一組の情報配送の回数は無期限であることを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項６】
前述のオープンサービスディレクトリのスクリプトは拡張言語で表現されることを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項７】
更に、ネットワークにおいて一つ以上の伝送エージェントサーバを含め、当該伝送エージェントサーバは、情報サービスからの一組の情報を、前述にある一つ以上の受信エージェントサーバへ中継し、
前述の登録サーバは各情報サービスを返答する伝送エージェントサーバのリストを有していることを特徴とする請求項１記載の情報処理システム。
【請求項８】
前述の受信エージェントサーバの登録に応答するため、登録サーバは、どの情報サーバが情報装置の一組の情報を検索するかについて、受信エージェントサーバを通知し、そして、登録サーバは、どの受信エージェントサーバが一組の情報を配送するかについて、情報サーバに通知することを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項９】
前述の登録サーバに対し、伝送エージェントサーバの登録に応答するため、登録サーバは、どの情報サーバが情報サービスの一組の情報を検索するかについて、伝送エージェントサーバに知らせ、そして、登録サーバは、どの伝送エージェントサーバが一組の情報を配送するかについて情報サーバに知らせることを特徴とする請求項７記載の協働装置付き情報処理システム。
【請求項１０】
前述の登録サーバに対し、受信エージェントサーバの登録に応答するため、前述の登録サーバは、どの伝送エージェントサーバが前述の情報サービスの一組の情報を検索するかについて、受信エージェントサーバに知らせ、そして、登録サーバは、どの受信エージェントサーバがその一組の情報を中継するかについて、伝送エージェントサーバに知らせることを特徴とする請求項９記載の協働装置付き情報処理システム。
【請求項１１】
前述にある適当なトリガーは、前述の装置のユーザからの指示か、前述のC&Cユニットのスケジュール、または、C&Cユニットが受信したメッセージの中の一つであることを特徴とする請求項１記載の協働装置付き情報処理システム。
【請求項１２】
ネットワークを含み、
当該ネットワークには複数の装置があり、各装置はそれぞれに、C&Cユニット、及び一つ以上の実行モジュール、その複数の装置間にあるマスター制御装置を有し、その複数の装置は一つ以上の定数スクリプト及び制御スクリプトを有する私有サービスディレクトリを持ち、
ルーティング装置は前述の装置へのトンネル作り及び実IPアドレス指定をする機能を持ち、
ネットワーク上の登録サーバは、前述にある複数の装置間における一つ以上の連合装置によって登録された可能な情報サービスリストを有し、 
中間サーバは、前述のマスター制御と連合装置がNATの後ろにあるかどうか、そしてルーティング装置をマスター制御及び連合装置間のリレーとすることを決めることができ、
前述にある専売特許のサービスディレクトリの定数スクリプト及び制御スクリプトは、前述の登録サーバによってマスター制御装置へ提供された可能な情報サービスリストに基づき、C&Cユニットによって作られ、前述の定数スクリプトは、どの情報サービスがどの連合装置から取り入れられるかを指定し、そして、前述の制御スクリプトはC&Cが連合装置から情報を検索する方法を指定し、
前述のマスター制御装置のC&Cユニットは、１対１通信パスを通して前述の定数と制御スクリプトに従い、連合装置のC&Cユニットと通信し、
前述の実行モジュールは適当なトリガーに応答するため、前述にある装置のC&Cユニットによって喚起され、そして、
前述の制御装置の実行モジュールは、１対１通信パスを介して前述の連合装置の実行モジュールと情報を交換することを特徴とする協働装置付き情報処理システム。
【請求項１３】
前述の中間サーバと登録サーバは同じ物理的な装置にあることを特徴とする請求項１２記載の協働装置付き情報処理システム。
【請求項１４】
前述の私有サービスディレクトリのある定数及び制御スクリプトは拡張言語で表現されていることを特徴とする請求項１２記載の協働装置付き情報処理システム。
【請求項１５】
前述にある適当なトリガーは、前述にある装置のユーザからの指示か、C&Cユニットのスケジュール、または、C&Cユニットが受信したメッセージの中の一つであることを特徴とする請求項１２記載の協働装置付き情報処理システム。
【請求項１６】
一つ以上の前述にあるマスター制御及び連合装置がNATの後ろにあった場合、１対１通信パスは、前述の中間装置によって明確にされたルーティング装置を通るようになり、そして、一つ以上のトンネルはNATの後ろにある前述の装置とルーティング装置の間に作られることを特徴とする請求項１２記載の協働装置付き情報処理システム。
【請求項１７】
前述のトンネルは、前述のルーティング装置へ、NATの後ろにある前述の装置のリクエストによって作られ、そして、別の前述の装置は、ルーティング装置で指定された実IPアドレスを使用する装置と通信することを特徴とする請求項１６記載の協働装置付き情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
当該発明は情報処理に関するものであり、特に、自主的な情報検索と組織向けの協働装置付きの情報処理システムを指している。
【背景技術】
【０００２】
ネットワーク経由で入手可能な情報が急激に成長すると共に、人が対面する問題はもはや情報探しではなくなり、意思決定のために、時間効率よく情報を整理することになっている。コンピュータとネットワーク技術が発展しているにもかかわらず、殆どの人は未だに各種のソースから必要とする情報の収集に手動処理をしている。例えば、株式市場の毎日の始まりに、株式トレーダーは手動で各種のネットワークサイトに接続し、株価、株式市場ニュース、口座残高を同時に確認しなければならないし、そして、時間効率よく株売買の決定に、大量な情報を消化したり、選別したり、整理しなければならない。
【０００３】
しかし、部分の情報は機密で、許可されたユーザにしか公開されない。この種の機密情報は、一般的に私有のローカル・エリア・ネットワーク(LAN)内のサーバに保存されている。情報保護のために、１対１通信はユーザとサーバとの間に構築されなければならない。これらのサーバは一般的に、ネットワーク・アドレス変換(NAT)を提供するルーティング装置の後ろにあるLANに位置している。
【０００４】
簡単に言えば、NATはプライベートIPアドレスを実IPアドレスで変換する技術である。プライベートネットワークにおいては、装置はプライベートIPアドレスによって指定され、そして、各自のプライベートIPアドレスを使うことにより、プライベートネットワーク内において互いに通信できる。プライベート上の内部装置がインターネット上の外部装置と通信する際、NAT技術を支援するルーティング装置は自動的に、実IPアドレスで内部装置から送られたデータパケットのソースIPアドレス分野でのプライベートIPアドレスを代え、そして、外部装置にパケットを送る。一方、外部装置からパケットを受信する際、ルーティング装置は、オリジナルのプライベートIPアドレス付きのパケットの目的IPアドレス分野で実IPアドレスを代え、そして、内部装置にパケットを送る。
【０００５】
二つの通信装置共がNATルーティング装置の後ろにあるプライベートLANにある時、前述のアドレス変換が原因で、二つの通信装置は実際、物理的な１対１通信に係わらなず、ルーティング装置の調停を必要とする。そのため、uPNP NATのような技術は、この問題を解決するために提供される。最近のルータは殆どuPNPプロトコールを支援するが、ADSLモデムと数年前の殆どのルータはuPNPプロトコールを支援していない。それで、従来のルータを新しいものに換えるには、両方とも余分のコストがかかる。
【０００６】
uPNPはプライベートネットワーク上の装置がルーティング装置を通知すること、且つ、実IPアドレスにネットワークポートを直接にマップすることを可能にした。その上に、静的ネットワークポートは、任意のソースアドレスを持つパケットがルーティング装置を通ること、または再伝送のため、ルーティング装置を使用することを可能にした。これは深刻な安全問題につながる。故に、uPNP NATネットワークのアドミニストレータは、データパケットを注意深く監視し、そしてユーザの認可をコントロールしなければならない
【０００７】
もう一つのuPNP NATに関する安全問題は、複数の内部装置とルーティング装置と間のマッピング関係が簡単に変更されることである。ハッカーはコンピュータ間の接続パスを容易に偽造することで、認可されないユーザがuPNP NATプライベートネットワーク内の機密情報をアクセスすることができる。更に、uPNPは、ローカル装置を、遠隔ルーティング装置ではなく、ローカル・ルーティン装置と相互に作用させる。故に、遠隔ルーティング装置の静的ポートに関する情報が前もって利用できない限り、ローカル装置は遠隔ルーティング装置を直接に通過することができない。
【０００８】
CiscoTMが提供するもう一つの技術STUNは、遠隔装置を、ローカルルーティング装置の静的ポートが検知できるようにさせるので、ローカルルーティング装置を通過するできるようになる。しかしながら、STUNは数限られた設備においてしか利用できないため、完璧な解決方法ではない。その上に、STUN技術はSTUNルータを通して二つの装置間のデータ伝送パスを作り出している。二つの装置は、切り替えプロセスを開始するようSTUNルータに知らせず、互いの間の通信を初期化することができない。STUNルータは、チェックサムで受信したデータパケットを検査しないUDPプロトコールのみ支援している。
【０００９】
１対１通信（point-to-point communication）について機密やプライベート情報を配信する問題に加え、大量の受信装置に対する公開情報の配布は、安全問題がないにもかかわらず、他の問題を抱えている。IPマルチキャストは一種の関連技術で、ファイル配布のために商業ネットワーク、且つ、株式相場表示器のようなアプリケーションのために金融分野において大幅に利用されている。しかし、フォワードするマルチキャストトラフィック、特にツーウエイ通信向けのものは、多量のプロトコール複雑さを必要としている。一方、更なる懸念がいくつかある。例えば、サービスの拒否はIPマルチキャスト能力を攻撃する。サーバプッシュやウエブキャスティングとも呼ばれている“Push”技術はインターネットに基づいたコンテンツ配布システムであり、そこで情報は、あらかじめ定義された、顧客のコンピュータでアウトライン化された一組のリクエストパラメータに基づき、中心サーバから顧客のコンピュータに配信される。プッシュ技術は“Pull”技術(この技術では、ユーザはインターネットブラウザでウエブサイトをリクエストしなければならない)に基づいた普通のインターネット技術と違う。プッシュ技術に関連して最も重要な技術問題は、サーバ側においてネットワークが多すぎること、または、顧客側での性能障害である。もう一つの不足は、多くのユーザが受信した情報は期待通りに選別されていないことである。更に、受信装置がオフラインになり、そして、再度オンラインに戻す際、これらの技術は消えた情報を回復することができないのも問題の一つである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
以上の理由で、当該発明の最初の目的は、現にある公開及びプライベートの情報のいくつかを統一し、整理し、そして表現するためのいくつかの緩い連結装置を持つ情報処理システムを提供することにある。
【００１１】
当該発明のもう一つの目的は、１対１通信のメカニズムを提供することにある。このメカニズムはNATルーティング装置の後ろにあるそれぞれのプライベートネットワーク上の装置を、所有するために多くのコストを増加せず、強化された情報安全のための現有のルーティング装置で支援される技術を利用する本当の、１対１通信を実行させる。
【００１２】
当該発明にはもう一つの目的がある。それは、消耗されるネットワークの帯幅を下げるよう、いくつかの中間装置(例えば、エージェント)を通して遠隔装置に対して情報をプッシュするための装置用の、エージェントベースの１対多通信のメカニズムを提供することである。ユーザの仕様と要求により、ネットワークから切り離される時、または切断される時に、受信装置は一つの点から、中間装置から収集した情報を回復することができる。そのため、受信装置が意思決定のための肝心な情報を失うことはない。
【００１３】
以上の目的を実現するために、当該発明は以下の４種類の装置を持つ情報処理システムを提供している。登録サーバ、少なくとも一つ以上の情報サーバ、少なくとも一つ以上のエージェントサーバ、及び少なくとも２つ以上の協働装置が含まれる。これらの装置はそれぞれのプライベートネットワーク上に存在することができる。この情報サーバは公開情報のソースであり、そして、それらの公開情報を、エージェントベースの通信メカニズムでエージェントサーバを介して協働装置に対してプッシュする。協働装置については、マスター制御装置へ、マスター制御装置または連合装置の役割を果たすことができる。マスター制御装置は、１対１通信を介してプライベートや機密の情報を収集するために、率先してその一つやそれ以上の連合装置を起動する。
【００１４】
当該発明の主要特性の一つは、“頭脳”及び情報処理システムのサーバと装置との間の制御と調整向けの情報庫として、登録サーバの採用にある。情報処理システムのサーバと装置に、それぞれのサービス、情報要件、及び、環境パラメータを登録サーバに登録するよう要求することにより、エージェントベースの１対多の通信、そしてサーバと装置間の１対１通信は自動的に進行できる。
【００１５】
当該発明のもう一つの主要特性は、プッシュエージェントとしてエージェントサーバの採用にある。このプッシュエージェントは、情報サーバ向けの情報を受信装置に対して公開する一方、エージェントサーバは、数多くの受信装置が情報サーバから直接に受信する時に、帯幅の消耗を著しく減少する。エージェントサーバの構成で、いくつかの受信装置は、最初の情報サーバまでわざわざ行かず、近くのエージェントサーバから情報を受信する。一方、エージェントサーバに公開情報を保存すること、且つ、登録サーバ内に保存される情報により、オンラインに回復した受信装置は保存されなかった情報を取り戻すことができる。
【００１６】
当該発明の前述内容とその他の目的、特徴、見地、及び利点については、添付される図を適当に参照すると共に、以下に挙げられる詳細な説明を詳しく読むことにより、より深く理解できる。
【課題を解決するための手段】
【００１７】
請求項１の発明は、ネットワークを含み、
当該ネットワークには一つ以上の装置が設けられ、当該装置は、C&Cユニット、一つ以上の実行モジュール、及びオープンサービスディレクトリを有し、当該オープンサービスディレクトリは少なくとも定数スクリプト、変数スクリプト及び制御スクリプトを含め、
当該ネットワークには一つ以上の情報サーバが設けられ、当該情報サーバは一つ以上の情報サービスを提供し、各情報サービスは、加入している前述にある一つ以上の装置に対して一組の情報を配布し、
当該ネットワークには一つ以上の受信エージェトサーバが設けられ、当該受信エージェントサーバは、前述にある情報サービスから少なくとも一組の情報を、情報サービスに加入している装置に対して返事し、また、
一つの登録サーバも設けられ、当該登録サーバは可能な情報サービスリストと前述の各情報サービスを返事する受信エージェントサーバリスト、及び前述にあるあらゆるサーバと装置に関するアドレス情報を有し、
ここにある前述のオープンサービスディレクトリの定数スクリプト及び制御スクリプトは、前述の登録サーバで装置に対して提供される前述にある可能な情報サービスリストに基づいてC&Cユニットによって作られ、前述の定数スクリプトは、どの情報サーバからのどの情報サービスが利用可能であるかを指定し、前述の制御スクリプトは、前述のC&Cが如何に情報サービスに加入するかを指定し、
前述のオープンサービスの変数スクリプトは、前述の登録サーバで装置に対して提供される前述の受信エージェントサーバリストに基づいてC&Cユニットによって作られ、
前述のC&Cユニットは、前述の情報サービスに加入するため、前述の定数及び制御スクリプトに従い、前述の登録サーバと通信し、
前述のC&Cユニットは、情報サービスから一組の情報を受信するため、変数スクリプトに従い、前述にある一つ以上の受信エージェントサーバと通信し、そして、
前述の実行モジュールは、適当なトリガーに対する応答として、C&Cユニットによって喚起され、前述の装置へ一組の情報配送を処理することを特徴とする協働装置付き情報処理システムとしている。
請求項２の発明は、前述にある各装置の変数スクリプトは、前述の登録サーバによって装置へダイナミックに配送される前述の情報サービスの受信エージェントサーバリストに応答するよう、C&Cユニットによって更新されることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項３の発明は、前述の加入は登録サーバによって情報サーバに届けられ、そして、情報サーバは加入を受け入れるか拒否するかすることができることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項４の発明は、前述の加入は、情報サーバからの一組の情報配送に回数が決められていることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項５の発明は、前述の加入は、前述の装置によって取消がなされるまで、前述の情報サーバからの一組の情報配送の回数は無期限であることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項６の発明は、前述のオープンサービスディレクトリのスクリプトは拡張言語で表現されることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項７の発明は、更に、ネットワークにおいて一つ以上の伝送エージェントサーバを含め、当該伝送エージェントサーバは、情報サービスからの一組の情報を、前述にある一つ以上の受信エージェントサーバへ中継し、
前述の登録サーバは各情報サービスを返答する伝送エージェントサーバのリストを有していることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項８の発明は、前述の受信エージェントサーバの登録に応答するため、登録サーバは、どの情報サーバが情報装置の一組の情報を検索するかについて、受信エージェントサーバを通知し、そして、登録サーバは、どの受信エージェントサーバが一組の情報を配送するかについて、情報サーバに通知することを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項９の発明は、前述の登録サーバに対し、伝送エージェントサーバの登録に応答するため、登録サーバは、どの情報サーバが情報サービスの一組の情報を検索するかについて、伝送エージェントサーバに知らせ、そして、登録サーバは、どの伝送エージェントサーバが一組の情報を配送するかについて情報サーバに知らせることを特徴とする請求項７記載の協働装置付き情報処理システムとしている。
請求項１０の発明は、前述の登録サーバに対し、受信エージェントサーバの登録に応答するため、前述の登録サーバは、どの伝送エージェントサーバが前述の情報サービスの一組の情報を検索するかについて、受信エージェントサーバに知らせ、そして、登録サーバは、どの受信エージェントサーバがその一組の情報を中継するかについて、伝送エージェントサーバに知らせることを特徴とする請求項９記載の協働装置付き情報処理システムとしている。
請求項１１の発明は、前述にある適当なトリガーは、前述の装置のユーザからの指示か、前述のC&Cユニットのスケジュール、または、C&Cユニットが受信したメッセージの中の一つであることを特徴とする請求項１記載の協働装置付き情報処理システムとしている。
請求項１２の発明は、ネットワークを含み、
当該ネットワークには複数の装置があり、各装置はそれぞれに、C&Cユニット、及び一つ以上の実行モジュール、その複数の装置間にあるマスター制御装置を有し、その複数の装置は一つ以上の定数スクリプト及び制御スクリプトを有する私有サービスディレクトリを持ち、
ルーティング装置は前述の装置へのトンネル作り及び実IPアドレス指定をする機能を持ち、
ネットワーク上の登録サーバは、前述にある複数の装置間における一つ以上の連合装置によって登録された可能な情報サービスリストを有し、 
中間サーバは、前述のマスター制御と連合装置がNATの後ろにあるかどうか、そしてルーティング装置をマスター制御及び連合装置間のリレーとすることを決めることができ、
前述にある専売特許のサービスディレクトリの定数スクリプト及び制御スクリプトは、前述の登録サーバによってマスター制御装置へ提供された可能な情報サービスリストに基づき、C&Cユニットによって作られ、前述の定数スクリプトは、どの情報サービスがどの連合装置から取り入れられるかを指定し、そして、前述の制御スクリプトはC&Cが連合装置から情報を検索する方法を指定し、
前述のマスター制御装置のC&Cユニットは、１対１通信パスを通して前述の定数と制御スクリプトに従い、連合装置のC&Cユニットと通信し、
前述の実行モジュールは適当なトリガーに応答するため、前述にある装置のC&Cユニットによって喚起され、そして、
前述の制御装置の実行モジュールは、１対１通信パスを介して前述の連合装置の実行モジュールと情報を交換することを特徴とする協働装置付き情報処理システムとしている。
請求項１３の発明は、前述の中間サーバと登録サーバは同じ物理的な装置にあることを特徴とする請求項１２記載の協働装置付き情報処理システムとしている。
請求項１４の発明は、前述の私有サービスディレクトリのある定数及び制御スクリプトは拡張言語で表現されていることを特徴とする請求項１２記載の協働装置付き情報処理システムとしている。
請求項１５の発明は、前述にある適当なトリガーは、前述にある装置のユーザからの指示か、C&Cユニットのスケジュール、または、C&Cユニットが受信したメッセージの中の一つであることを特徴とする請求項１２記載の協働装置付き情報処理システムとしている。
請求項１６の発明は、一つ以上の前述にあるマスター制御及び連合装置がNATの後ろにあった場合、１対１通信パスは、前述の中間装置によって明確にされたルーティング装置を通るようになり、そして、一つ以上のトンネルはNATの後ろにある前述の装置とルーティング装置の間に作られることを特徴とする請求項１２記載の協働装置付き情報処理システムとしている。
請求項１７の発明は、前述のトンネルは、前述のルーティング装置へ、NATの後ろにある前述の装置のリクエストによって作られ、そして、別の前述の装置は、ルーティング装置で指定された実IPアドレスを使用する装置と通信することを特徴とする請求項１６記載の協働装置付き情報処理システムとしている。
【発明の効果】
【００１８】
本発明は、現にある公開及びプライベートの情報のいくつかを統一し、整理し、そして表現するためのいくつかの緩い連結装置を持つ情報処理システムを提供することにある。
【発明を実施するための最良の形態】
【００１９】
図１は当該発明の情報処理システムの概略図である。図１では、当該発明の情報処理システムはネットワーク(図に示されていない)に接続したいいくつかの協働装置を含めている。この“装置”という用語はここでパソコン、ノートパソコン、サーバ、または大型メインフレームコンピュータのような計算装置を指す。これらは“協力”装置と称されるのは、ユーザの情報収集のためのツーウエイ通信の協働が係わるためである。ユーザの観点から見れば、ユーザが情報の収集と発表に利用される装置はマスター制御装置(即ち、１４a)として見なされる。マスター制御装置１４aのコマンドと通信に応答する他の装置は連合装置(即ち、１４b)と見なされる。登録サーバ１８は、マスター制御装置１４aと連合装置１４bがNATを通して通信でき、且つ情報処理システムが自動的に稼動できるために提供される。ここで注意すべきのは、連合装置はマスター制御装置が要求する情報を必ず持っていないが、供給された情報を検索してマスター制御装置へ送り返す知識と能力を有することもある。可能なのは、連合装置自体がマスター制御装置になり、第二の連合装置から供給された情報を求めることもある。
【００２０】
基本的に、当該発明の情報処理システムにおいては、マスター制御装置１４aは連合装置１４bを起動することができる。そして、この特定の装置を、マスター制御装置１４aへ、要求された情報を送り返すように命令することができる。このように、マスター制御装置１４aのユーザは、他の装置から必要とした機密情報を簡単に収集することができる。前述の稼動モードを実現するには、情報処理システムは１対１通信のメカニズムを含めている。図５では、情報処理システムは一つか一つ以上の情報サーバ１０aと１０b、そして、一つか一つ以上の受信エージェントサーバ１２aと１２bをも含めている。そのため、装置１４a〜１４dはエージェントベースの１対多の通信メカニズムを通して情報サーバ１０aと１０bから公開情報を獲得することができる。“サーバ”という言葉が使われたといっても、情報サーバやエージェントサーバは必ずしも、サーバクラスのコンピュータでなければならないということではない。装置へ情報を絶えずに公開し、要求に応じて情報を提供する連合装置と対照するため、これらはサーバと称されている。
【００２１】
前述のように、情報処理システムでは、機密情報の収集と処理のために、マスター制御装置１４aは連合装置１４bと相互に稼動して協働している。同時に、マスター制御装置１４aは情報サーバ１０aと１０bから公開情報を受信することもできる。これらの通信を実行するのに、マスター制御装置１４aには、C&C (制御と通信)ユニット５が据え付けられて実行されなければならない。連合装置１４bも、マスター制御装置１４aと協働するために、C&Cユニット６を持っていなければならない。基本的に、C&Cユニット５と６は、一つが起動する役割を、もう一つが受動の役割を持っている以外に、同様な稼動機能と方法を有している。C&Cユニットは一般的に、マスター制御装置と連合装置を駆動させるオペレーティングシステムの常駐サービスとして導入されている。協働プロセスにおいては、必要に応じてC&Cユニット６はC&Cユニット５からの要求を実行するように、適当な実行モジュール８を起動させる。同様に、C&Cユニット５は必要に応じてC&Cユニット６からの要求を実行するように、適当な実行モジュール７を起動させる。“実行モジュール”という言葉がここで、C&Cユニットによって起動されるC&Cユニットと同じような装置にもインストールされた独立したソフトプログラムとして使われる。実行モジュールがオペレーティングシステムの別の常駐サービス、マイクロソフト（登録商標） ワード（登録商標）のようなアプリケーションプログラム、または、C&Cユニットの管理インターフェースでも可能である。簡単に例を挙げれば、C&CユニットはC&Cユニットが起動する時に、またはユーザが指定したスケジュールに従い、特定の実行モジュールを起動するように構成されることもできる。C&Cユニットと実行モジュールとの間の相互作用は緩く連結され、且つ、双方向になるのもできる。実行モジュールがアプリケーションプログラムである場合、実行モジュールはC&Cユニットがオペレーティングシステムの適当なサービスを呼び出すことによって起動される。起動する際、起動された実行モジュールへいくつかのパラメータが与えられる。実行モジュールが一旦起動されると、独立したプロセスとして働く。その後、C&Cユニットは適当なメカニズム(ダイナミックデータエクスチェンジ、DDEなど)を利用する実行モジュールと相互に作用することもできる。C&Cユニットと実行モジュールとの間の相互作用のシナリオは次の通りである。C&Cユニットが三つのワード書類ファイルを受信し、他のC&Cユニットにこの三つのファイルを開くように要求する。C&Cユニットはまず、ワードプログラムが既に働いているかどうかを確認する。そうであれば、C&Cユニットはワードプログラムに、特定のディレクトリ内の最初のワードファイルを開くように通知する。そうでなければ、C&Cユニットはワードプログラムを起動させ、そして、特定のディレクトリ内の最初のワードファイルを開くように指示する。それから、C&Cユニットは実行中のワードプログラムに特定のディレクトリ内の第二と第三のワードファイルを開くように呼びかける。第三ワードファイルが開かれた後、C&Cユニットはワードプログラムを離れて単独に働く。この時に、ユーザはワードプログラムで三つのワードファイルを閲覧するか、編集することができる。
【００２２】
ここで再び強調しなければならないのは、装置が一度マスター制御装置になり、そして一度、別の同様なマスター制御装置の連合装置になることができる。更に、装置は実際に、同時にマスター制御装置と連合装置の両方になることができる。故に、マスター制御装置は一つ以上の連合装置と相互に作用することができ、且つ、一つか一つ以上の連合装置は更に、それぞれの連合装置と相互に作用することもできる。これは全部これらの装置のC&Cユニットによって実行される。C&Cユニットを通せば、マスター制御装置は、要求された情報を収集するよう、連合装置内の実行モジュールを起動させることもできる。各装置のC&Cユニットは独自のIDを持っており、一つの装置を別の装置から判別することができる。装置とサーバは、XML(eXtensible Markup Language)のような拡張言語で表現されたメッセージを利用して通信をしている。より詳しい説明は後で述べられる。
【００２３】
マスター制御装置１４aのC&Cユニット５はサービスディレクトリ内の指定されたいろんなソースから要求された情報を収集する。装置にあるC&Cユニット内には二つのサービスディレクトリがある：オープンと公開の情報のソースに関する情報を有するオープンサービスディレクトリ、及び、プライベートと機密の情報ソースに関する情報を有する私有サービスディレクトリ。
【００２４】
図１のように、マスター制御装置１４aのC&Cユニット５は、オープンサービスディレクトリにおける情報に基づき、エージェントベースの通信メカニズムを通して公開情報(株価など)を取得するよう実行モジュール７を起動させて指示する。あるいは、C&Cユニット５は、私有サービスディレクトリにおける情報に基づき、C&Cユニット６及び１対１通信メカニズムを通して特定の連合装置１４bの実行モジュール８を起動させてそのモジュールと通信することにより、機密情報(口座残高など)を検索するよう実行モジュール７を起動させて通信する。公開情報と機密情報の両方はともにこのように、マスター制御装置１４aのユーザへ、実行モジュール７で収集され、発表される。
【００２５】
後で述べるが、情報処理システムにおける各情報のプロバイダーは、あらゆる利用できる情報サービスリストがまとめられた登録サーバに登録する。それから、情報サービスリストは装置のオープンサービスディレクトリを設定するために、装置へ与えられる。オープンサービスディレクトリ内の情報は、スクリプトと呼ばれる一組の情報や指示を含めている。スクリプトは定数スクリプト、変数スクリプト及び制御スクリプトに分類され、XMLのような拡張言語で表現される。これらのスクリプトは、オープンや公開情報収集のための、エージェントベースの１対多の通信を行うよう、マスター制御装置における適当な実行モジュールを起動させるために、C&Cユニットを指示する。次は定数スクリプトの範例である：
< script >
<isid=１１１１ directory_id=９８ directory_name=”Instant Stock Price Index”/><isid=９９９９ directory_id=９９ directory_name=”Stock Market News”/>
</script>
この定数スクリプトは、(１)即時の株価インデックス情報はディレクトリID ９８におけるIDが１１１１である情報サーバから公開されることを指定している。同様に、株式市場ニュースという情報は、ディレクトリID ９９におけるIDが９９９９である別の情報サーバから公開されている。変数スクリプトの範例は次の通りである：
<script>
<isid=１１１１ directory_id=９８ directory_name=” Instant Stock Price Index”>    <agentid=１５１５ agent_ip=”１５.１５.１５.１５”/>
<agentid=３０３０ agent_ip=”３０.３０.３０.３０”/>
</isid>
<isid=９９９９ directory_id=９９ directory_name=”Stock Market News”>
<agentid=２０２０ agent_ip=”２０.２０.２０.２０”/>
<agentid=３０３０ agent_ip=”３０.３０.３０.３０”/>
</isid>
<control/>
</script>
この変数スクリプトは、情報の検索位置、現在のネットワーク構成(そのため、“変数“スクリプトと名づけられた)を反映するデータに関するデータを含めている。以上の範例から分かるように、変数スクリプトは、IDが１５１５ (IPアドレスが１５.１５.１５.１５)であるエージェントサーバ、及びIDが３０３０ (IPアドレスが３０.３０.３０.３０)を持つエージェントサーバから利用できる即時の株価インデックス情報を明確する。同様に、変数スクリプトも、株式市場ニュースの情報がIDが２０２０ (IPアドレスが２０.２０.２０.２０)及び３０３０ (IPアドレスが３０.３０.３０.３０)を持つエージェントサーバから利用できることを明確にしている。エージェントサーバに関する詳しい内容は後で述べられるが、一方、制御スクリプトは、特定情報(故に、“制御“スクリプトと名づけられた)の検索方法に関する指示を含めている。制御スクリプトの範例は以下の通りである：
<script>
<cncid=９９９９/>
<control>
<subscribe>
<isid=９９９９ directory_id=９９ directory_name=” Stock Market News”/>
</subscribe>
</control>
</script>
この制御スクリプトは、IDが９９９９である情報サーバからの株式市場ニュースの情報を予約するメッセージ内に使われた”コマンド”を明確にしている。
【００２６】
同様に、私有サービスディレクトリ内の情報もスクリプトを含めている。私有サービスディレクトリ内には、定数スクリプトと制御スクリプトのみ存在している。この私有サービスディレクトリは、連合装置からプライベート情報を収集する１対１通信を行うよう、マスター装置内の実行モジュールを指示している。例えば、１対１通信に係わるエージェントサーバがなく、私有サービスディレクトリは変数スクリプトを含めていない。私有サービスディレクトリ内の定数スクリプトの範例は以下の通りである：
<script>
<cncid=１１１１ directory_id=９７ directory_name=”Stock Account”/>
</script>
定数スクリプトは、ディレクトリID ９７におけるC&CユニットIDが１１１１である連合装置から株残高のようなプライベート情報が利用できることを指定している。私有サービスディレクトリにおける制御スクリプトの範例は次の通り：
<script>
<cncid=９９９９/>
<control>
<subscribe>
<cncid=１１１１ directory_id=９７ directory_name=” Stock Account”/>
</subscribe>
</control>
</script>
この制御スクリプトは、C&CユニットIDが１１１１である連合装置からの株残高の情報を予約するメッセージ内に使われた“コマンド”を指定している。次に、１対１通信とエージェントベースの１対多の通信はどのように行われるかについて、サービスディレクトリの機能は説明される。
【００２７】
図２は当該発明のマスター制御装置に関する実施例の概略図である。図２のように、株価情報、ユーザーの口座残高情報、そして、関連した市場情報のようなユーザから要求された情報を収集して統合するために、マスター制御装置１４aは実行モジュール７aを起動させている。これらの情報を収集するために、C&Cユニット５は、株価情報を収集するよう実行モジュール７bを起動させ、口座残高情報を収集するよう実行モジュール７cを起動させ、そして、関連の市場情報を収集するよう実行モジュール７dを起動させる。
【００２８】
実行モジュール７bと７dについては、株価情報と市場情報は公開的であり、オープンサービスディレクトリ内のスクリプトに従い、これらの情報を検索する。実行モジュール７cについては、口座残高情報はプライベートでひみつであるため、私有サービスディレクトリ内のスクリプト通りに情報が検索される。
【００２９】
図５〜図８は当該発明のエージェントベースの１多通信のメカニズムを表す概略図である。図５のように、情報処理システム内の公開情報は、一つ以上の情報サーバによってい配布される。この概略図では、二つの情報サーバ１０aと１０bが示されている。ネットワークのトラフィック量、及び情報サーバの負担を効果よく、且つ効率よく減らすために、情報サーバ１０aと１０b内の公開情報は配布され、一つ以上の受信エージェントサーバ(二つの受信エージェントサーバ１２aと１２bは示されている)に保存される。このように、装置１４a〜１４dは、情報サーバ１０aと１０bの代わりに、受信エージェントサーバ１２aと１２bから公開情報を検索し、ネットワークの帯幅を大量に節約する。
【００３０】
装置１４a〜１４dからの要求を待たず、受信エージェントサーバ１２aと１２bを、配布規則に基づいて装置１４a〜１４dへ公開情報を率先に配布させることは可能である。このため、装置１４a〜１４dがネットワークにアクセスする時は、受信エージェントサーバ１２aと１２bから公開情報を受信し始めることができる。公開情報の分類内容及び装置１４a〜１４dのランキングに基づいた配布規則は、いつ、どのような順序で公開情報が装置１４a〜１４dへ与えられるかどうかについて説明している。ネットワークトラフィック量の節約、及び情報サーバの負担量の減少に関する利益は、大量の装置がある時には大変明らかである。
【００３１】
図５のように、受信エージェントサーバが増加すれば増加するほど、情報サーバの負担は過量になる。この問題を解決するには、当該発明の情報処理システムは、情報サーバと受信サーバとの間に位置する一つ以上の伝送エージェントサーバ(二つの伝送エージェントサーバ１６aと１６bは示されている)を持つことができる。伝送エージェントサーバ１６aと１６bの機能は、受信エージェントサーバ１２aと１２bに類似している。その違いは、伝送エージェントサーバ１６aと１６bが、後者が装置１４aと１４dへ配布する間に、受信エージェントサーバ１２aと１２bへ公開情報を配布するだけにある。
【００３２】
そのため、ネットワークの帯幅と負担により、当該発明の情報処理システムは、図６や図７において描かれたような構造を有することができる。更に、後者のために、情報サーバが伝送エージェントサーバに関するアドレス情報を持ち、そして、伝送エージェントサーバを受信エージェントサーバに関するアドレス情報を獲得させる必要があると同時に、情報サーバ、いわゆる１０aは、各検索エージェントに関するアドレス情報を前もって知る必要がある。
【００３３】
前述の討論においては、各サーバと装置は、提供されたサービス、及び事前に通信された他の装置のアドレスのような関連情報を持っていると仮定された。何百も何千ものサーバと装置を持つ巨大なネットワークについては、数多くの情報の管理、配布及び構成は大変困難ではあるが、不可能ではない。これらの問題を解決するために、図８に示されているが、登録サーバ１８は当該発明の情報処理システムにおいて提供されている。基本的に、あらゆる情報処理システムにおけるサーバと装置は、登録サーバ１８に登録しており、そして、(アドレス情報のような)登録情報は相互間の通信を調整するために利用されている。次に、公開情報は如何に、情報サーバから装置へ伝送されるかについて詳しい説明がある。
【００３４】
図９−図１１は当該発明におけるエージェントベースの１対多の通信プロセスを示す概略図である。図９のように、情報サーバ１０aが起動されてネットワークにアクセスする時、自動的にアドレス、提供する情報サービス、及びサーバIDを登録サーバ１８に登録する。つまり、一方、伝送エージェントサーバ１６aが起動されてネットワークにアクセスする時、自動的にアドレスとサーバID (以下にエージェントIDと呼ぶ)を登録サーバ１８に登録する。登録後、登録サーバ１８は、伝送エージェントサーバ１６aのアドレスとエージェントIDを情報サーバ１０aに知らせる。それから、情報サーバ１０aのサーバIDとサービスを伝送エージェントサーバ１６aに知らせる。このように、情報サーバ１０aは伝送エージェント１６aを識別することができ、伝送エージェントサーバ１６aに対して自動的に公開情報を配布し始める。
【００３５】
同様に、受信エージェントサーバ１２aが起動されてネットワークにアクセスする時も、そのアドレス、エージェントID及び情報サービス要件を登録サーバ１８に登録する。登録サーバ１８は、受信エージェントサーバ１２aのアドレス、エージェントID及び情報サービス要件を、伝送エージェントサーバ１６aに知らせ、そして、伝送エージェントサーバ１６aが代表する情報サーバのアドレスとリストを、受信エージェントサーバ１２aに知らせる。このように、伝送エージェントサーバ１６aは、受信エージェントサーバ１２aを識別することができ、受信エージェントサーバ１２aへ公開情報を配布し始める。注意すべきのは、前述のプロセスにおいて、登録サーバ１８は、情報処理システム内の利用可能な公開情報および指定情報サービスを公開している伝送・受信エージェントサーバを知ることができる。一つの伝送・受信エージェントサーバは、一つ以上の情報サービスを公開することができることも注意されたい。
【００３６】
装置１４aがC&CユニットID９９９９を持っていると仮定し、装置が公開情報を獲得するプロセスに関する簡単なシナリオは以下のように説明されている。装置１４aが起動されてネットワークへアクセスすると、そのアドレスとC&CユニットIDは登録サーバにも登録される。装置１４aが公開サービスの加入を要求する場合、装置１４aは情報サービスリストを要求するよう、登録サーバ１８へメッセージを送る。このメッセージは以下のスクリプトを含めている：
<script>
<cncid=９９９９/>
<control>
<request>
<directory_list/>
</request>
</control>
</script>
メッセージを受け取ると、登録サーバ１８は以下のスクリプトを含むメッセージで返答する：
<script>
<directory_list>
<isid=１１１１ directory_id=９８ directory_name=”Instant Stock Price Index”/>
<isid=９９９９ directory_id=９９ directory_name=”Stock Market News”/>
</directory_list>
</script>
前述の通り、これらの情報は、装置１４aのオープンサービスディレクトリの定数と制御スクリプトを設定するために利用される。装置１４aが株式市場ニュースを獲得したいとしよう、オープンサービスディレクトリの定数と制御スクリプトに基づき、装置１４aは以下のスクリプトを含むメッセージを登録サーバ１８へ送る。
<script>
<cncid=９９９９/>
<control>
<subscribe>
<isid=９９９９ directory_id=９９ directory_name=” Stock Market News”/>
</subscribe>
</control>
</script>
登録サーバ１８は順番に、以下のスクリプトを含むメッセージを、情報サーバ１０aを送って株式市場ニュースを提供する：
<script>
<cncid=９９９９/>
<control>
<subscribe>
<isid=９９９９ directory_id=９９ directory_name=” Stock Market News”/>
</subscribe>
</control>
</script>
情報サーバ１０aが加入の予約を受け取り、以下のスクリプトを含むメッセージで応答する：
<script>
<isid=９９９９/>
<control>
<isid=９９９９ directory_id=９９>
<add cncid=９９９９/>
</isid>
</control>
</script>
これらの加入通知を受けると、登録サーバ１８はいくつかの作業を行う：(１)装置１４aが情報サーバ１０aから株式市場ニュースを予約することを登録する、(２)装置１４aのアドレスとC&CユニットIDを関連の受信エージェントサーバ(例えば１２a)へ知らせる、(３)以下のスクリプトを含むメッセージで装置１４aに通知する：
<script>
<isid=９９９９ directory_id=９９ directory_name=”Stock Market News”>
<agentid=２０２０ agent_ip=”２０.２０.２０.２０”/>
<agentid=３０３０ agent_ip=”３０.３０.３０.３０”/>
</isid>
<control/>
</script>
このメッセージは、株式市場ニュースを公開する受信エージェントサーバ(２０２０と３０３０)を装置１４aに知らせる。その後、これらの情報は、オープンサービスディレクトリの変数スクリプトに保存される。同時に、登録サーバ１８は、装置１４aのアドレス、C&CユニットID及び必要な情報サービス(ディレクトリIDにより)を受信エージェントサーバ(例えば１２a)に通知する。このように、受信エージェントサーバ１２aは、装置１４aを識別することができ、装置１４aへ公開情報を配布し始める。ここで注意すべきのは、加入メッセージにおいて適切な制御を取り入れることにより、いろんなタイプの加入が実現できる。装置１４aへ情報が配布された後に加入が自動に取り消されることにより、一度だけの加入が可能になる。情報を再び受信するには、装置１４aは前に述べられたように別の加入予約をしなければならない。加入にも情報配布の回数を限定することができる。あるいは、加入は装置１４aによって取り消されるまでに、有効のままにもできる。また、ここでもうひとつの注意がある。情報サーバ１０aは加入を拒否することができ、または、加入タイプを換えることもできる。加入がまだ有効の時、加入に関する情報は装置１４aのC&Cユニット、情報サーバ１０a及び登録サーバ１８において保存される。そして、新しい情報が情報サーバ１０aにおいて現れる時に、新しい情報は定数と制御スクリプトに指定された通りに配布される。
【００３７】
装置はONかOFFにされることがあるので、公開情報を完全に受信しない可能性がある。この問題に対する解決方法は次の通りである。図１２は装置が不完全な公開情報を収集するプロセスを表す概略図である。図１２では、受信エージェントサーバ１２aは即時の情報伝送を装置１４aへ送り続けている。オフライン状態の装置１４bが起動してネットワークへアクセスする時、登録サーバ１８に登録する。前述の通りに受信エージェントサーバ１２aに関する情報が収集されるので、装置１４bは不完全伝送のファイルIDを含めメッセージを受信エージェント１２aに送る(図には“可能にする”)。そして、受信エージェントサーバ１２aは元の情報サーバ１０aを要求せず、装置１４bへ残りのデータを直接に送信する(図には“送信”)。言い換えると、装置は公開情報を受信するために、常にオンライン状態にある必要はない。送信が何らかの理由で中断される場合、失った情報は、装置が次にONの状態に戻る時に回復される。ここで注意すべきのは、前の説明では、公開情報はファイルに保存され、且つ各ファイルは独自のIDを持っていると仮定されていた。しかし、その実行はファイルだけに限ることではない。
【００３８】
私有サービスディレクトリは類似したプロセスで作られた。例えば、装置(C&CユニットID３３３３を持つ１４b)が機密のROI(投資利益率)期待値情報を提供すると仮定し、また、装置を起動する時、装置は以下のスクリプトを有するメッセージにより情報の提供を登録サーバにも登録を行う。
<script>
<cncid=３３３３/>
< directory_list >
<cncid=３３３３ directory_id=９６ directory_name=”ROI Expectation Value”/></ directory_list >
</script>
このメッセージは、どの装置(例えば１４a)がこの機密情報を獲得することができるかのような他の情報を含むこともできる。この情報サービスは、前述にあるほかの公開情報サービスと共に、情報サーバリストを要求する装置へ配布されることを注意する。しかし、この情報はオープンサービスディレクトリの代わりに、私有サービスディレクトリの定数スクリプトにおいて保存される。装置１４aは機密情報がほしいと仮定し、この時、当該装置１４aは登録サーバに対して以下のスクリプトを有するメッセージを発行する。
<script>
<cncid=９９９９/>
<control>
<subscribe>
<cncid=３３３３ directory_id=９９ directory_name=”ROI Expectation Value”/>
</subscribe>
</control>
</script>
ここでもまた、登録サーバは加入要求を装置１４bへ送る。装置１４bがこの加入を受け取ると返答すれば、登録サーバは、前にも述べられたように、装置１４bのアドレスを装置１４aへ提供する。
【００３９】
言い換えれば、ネットワークで新しい情報が利用できる時に、新しい情報サーバや装置は残りのネットワークへこの情報を送る登録サーバに登録する。装置内のそれぞれのオープンと私有サービスディレクトリの構築は、登録サーバ内に登録している各装置と各情報サーバによって実現される。それから、登録サーバは前に説明されたエージェントサーバと装置へそのサービス情報を配布する。この新しいサービス情報を受信すると、各装置は、装置からの新しい情報サーバや機密情報より、新しい公開情報を受信するための定数と制御スクリプトを設定することができる。一方、オープンサービスディレクトリ内の変数スクリプトは、情報処理システムの現在状況を反映するために、ダイナミックに更新されたパラメータを含めている。例えば、いろんな数の受信エージェントサーバがあるとし、且つ、それぞれは異なる作業の負荷がある。そのため、装置が起動されて登録サーバに登録する際、登録サーバは受信エージェントサーバの負荷状況に基づき、受信エージェントサーバを指定することができる。この新しい情報を受信すると、装置は変数スクリプトを更新することができる。変数スクリプトは公開情報のために設計されたため、私有サービスディレクトリは変数スクリプトを含めていない。
【００４０】
制御スクリプトは、特定情報を獲得する方法に関する情報を含めている。制御スクリプトは、プライベート情報を提供する連合装置のC&CユニットID、プライベート情報を収集するスケジュール(中の一つの実行モジュールはプライベート情報の収集、そして入る時にポップアップメッセージを表示するか否か、そして獲得した情報を分け合う否かに関する判断を担当する)であることもあり得る。説明にあったように、装置のユーザは情報サーバに提供される公開情報の”加入予約“ができる。それで、返答スクリプトは装置のオープンサービスディレクトリ内で用意される。実行モジュール７bと７dが呼び出される時に、オープンサービスディレクトリ内のスクリプトに従い、予約された(株価と市場ニュースのような)公開情報を収集し、収集した情報を実行モジュール７aに送る。それから、実行モジュール７aはユーザが閲覧できるようにディスプレイに収集した情報を表示する。同様に、プライベート情報が要求される際に、実行モジュール７cが呼び出され、私有サービスディレクトリ内のスクリプトに従い、連合装置１４bを用いて１対１通信を行う。収集された情報もユーザへ掲示するよう、実行モジュール７aに送られる。以上に説明されたフレキシビリティは装置内のスクリプトとサービスディレクトリを利用する結果である。
【００４１】
スクリプトの利用は非常に強力で多様化になる。例えば、装置は特定作業を行うよう指示するスクリプトをその連合装置へ送ることができる。その上に、連合装置のスクリプトはダイナミックに更新されることができるため、連合装置の稼動は違くなる。同じ原則に基づき、登録サーバはメッセージの中継以上の機能を実行できる。例えば、即時の株価インデックスの加入メッセージを受信すると、登録サーバは装置からそれ以上の加入者情報を要求することができる。
<script>
<cncid=９９９９/>
<control>
<subscribe>
<isid=１１１１ directory_id=９９ directory_name=”Instant Stock Price Index”/>
<form>
<input type=”text” name=”name” value=”Max”>
<input type=”text” name=”account” value=”２７０５８１６７”>
<input type=”text” name=”branch” value=”Taipei Office”>
<input type=”text” name=”AE” value=”Sales Person”>
</form>
</subscribe>
</control>
</script>
この範例では、(初期値を持つ)数個のフィールドを有するフォームが装置のディスプレイに表示される。ユーザが必要なデータを入力した後、そのデータはそれ以上の処理(例えば、情報サーバに送ること)を行われるために登録サーバに戻される。
【００４２】
現実の生活環境において、プライベート情報を必要とするマスター制御装置１４a、及びプライベート情報を提供する(銀行のサーバのような)連合装置１４bは、図３のように、両方ともNATを通してネットワークへアクセスすることがある。図３のように、マスター制御装置１４aはISP (インターネットサービスプロバイダ)Hを通してインターネットに接続する企業ネットワークAにある。そして、マスター制御装置１４aの連合装置１４bは、他のISP Sを通してインターネットに接続する企業のネットワークCにある。示されたように、マスター制御装置１４aはプライベートIPアドレスを持っており、且つNATルーター１２を通してネットワークにアクセスする。そして、連合装置１４bもプライベートIPアドレスを持っており、且つNATルーター１６を通してネットワークにアクセスする。データパケットはマスター制御装置１４aの間に、NATルーター１２、ISP HのISPルーター１７、ISP SのISPルーター１９及びNATルーター１６を通してその連合装置１４bに伝送される。
【００４３】
マスター制御装置１４aと連合装置１４bを互いに１対１通信を行わせるための解決方法は以下で述べられる。図４は当該発明に基づいた１対１通信方法の概略図を示している。図４のように、マスター制御装置１４aは最初に、中間サーバ３とセッションを構築し、そして、ステップ２０１において中間サーバで他の関連情報と共にIPアドレスを登録する。ここで注意すべきのは、このセッションマスター制御装置１４aによって維持されていることである。それから、ステップ２０２では、連合装置１４bはまた、中間サーバ３とセッションを構築する。そして、中間サーバ３における他の関連情報と共にIPアドレスを登録する。ここではまた、このセッションも連合装置１４bによって維持される。以上の二つのセッションでは、中間サーバ３は、マスター制御と連合装置１４aと１４bのネットワーク環境(例えば、NATが使用されたかどうか)を検知し、そして、関連情報を収集することができる。中間サーバ３は登録サーバ１８でもよい、あるいは独立したサーバでもよい。中間サーバ３はルーティングユニットと決定ユニット(両方とも示されていない)の両方を含めている。両者の機能は次に述べられる：
【００４４】
前述の登録プロセスでは、中間サーバ３内の決定ユニットは、マスター制御と連合装置１４aと１４bから送られたパケット内のデータ及びヘッダーに含まれたアドレス情報を比較することができる。パケットのヘッダーとデータセクション内のアドレスが同一であれば、決定ユニットは、装置がNATを通してネットワークにアクセスしないように決定を下すことができる。もし、決定ユニットが装置１４aと１４bのいずれもNATの後ろに位置しないと決めた場合、中間サーバ３は、装置１４aと１４bのための慣習的な１対１通信パスを提供することができる。また、決定ユニットがマスター制御装置１４aと連合装置１４bの両方ともNATを通してネットワークにアクセスするように決定すれば、中間サーバ３は当新規発明の通信メカニズムを開始する。当該発明の基づけば、ISPルーター１７、１９のいずれがトンネリング技術を支援する能力を持つべきである。あるいは、トンネリング技術を支援する第三者側のルーター２０(図３に示されている)は利用できるべきである。トンネリング技術は次のネットワークプロトコールへの支援を含めている：Generic Routing Encapsulation(GRE tunneling)、Internet Protocol Security(IP Sec)、Point to Point Tunnel Protocol(PPTP) and Layer Two Tunneling Protocol(L２TP)、又はLayer Two Fowarding(L２F)。さらに、当該発明に基づき、中間サーバ３はこれらのルーターに関する情報、且つ、これらのルーターに関連のあるDHCPサーバを有するべきである。
【００４５】
ステップ２０３では、マスター制御装置１４aは、連合装置１４bでの１対１通信を要求する維持されたセッションを通して中間サーバ３にメッセージを送っている。中間サーバ３の決定ユニットは、前述の説明に従い、１対１通信がどのように行われるかについて決定する。中間サーバ３の決定ユニットは、トンネリング技術を支援するISPルーターを決める。このルーターはISPルーター１７やISPルーター１９、又はルーター２０でよい。次に、ルーター２０が選択されると仮定している。それから、ステップ２０４では、中間サーバ３のこのルーティングユニットは、ルーター２０及びルーター２０に関連するDHCPサーバ２１について維持されたセッションを通して連合装置１４bに知らせる。知らせを受けると、連合装置１４bはルーター２０で通信トンネルを作り、且つステップ２０５において、関連したDHCPサーバ２１から実IPアドレスを獲得する。より具体的にいえば、ステップ２０５は以下のステップを含めている。ステップ２０５-１：連合装置１４bとルーター２０の間にトンネルが構築される。ステップ２０５-２では、ルーター２０はDHCPサーバ２１からの実IPアドレスを要求する。ステップ２０５-３では、DHCPサーバ２１はルーター２０に実IPアドレスを割り当て、そして戻す。ステップ２０５-４では、ルーター２０は実IPアドレスとトンネルの間にツーウエイパケットの伝送を構築する。
【００４６】
ルーター２０への通信トンネルが確立されて実IPアドレスが受信された後、連合装置１４bは、維持されたセッションを再び通してステップ２０６における中間サーバ３のルーティングユニットへ、実IPアドレスを報告する。ここで注意することは、実IPアドレスは、１対１通信が終わって通信トンネルが断たれた後にリリースされる。
【００４７】
次に、中間サーバ３のルーティングユニットは、ステップ２０７における連合装置１４bの実IPアドレスをマスター制御装置１４aに通知する。マスター制御装置１４aはそれから、ステップ２０８における目的地アドレスとして実IPアドレスを使う連合装置１４bを用いて１対１通信を行う。前述内容のように、当該発明は、ルーター１７や１９や２０が持っている能力(主にはトンネリング技術)を活用し、マスター制御装置１４aと連合装置１４bとの間の実際の１対１通信を可能にする。これらの間に作られた慎重に保護されたトンネルを通してプライベート情報が送られるため、当該発明は、実際の１対１通信だけではなく、高い情報安全性をも提供している。データ安全性を更に向上させるには、例えば、とんえんるはまたマスター制御装置１４aとルーター２０の間で作られることもできる。このため、プライベート情報のパス全体は、マスター制御装置１４aと連合装置１４bの間において徹底的にトンネルを通ることができる。注意しなければならないが、この機能を実現するには、マスター制御装置１４aも実IPアドレスを要求しなければならない。
【００４８】
中間サーバ３におけるルーティングユニットはこのプロセスにおいて重要な役割を果たしている。トンネル構築のための実IPアドレスの提供に加え、トンネルが協働装置のC&Cユニットによって作られたトンネルのルーター状態及び応答時間の監視も行われる。更に、将来の請求書作成のためにも、トラフィックの集計も収集できる。１対１通信が終わった時に、連合装置１４bがルーター２０へのトンネルとの接続を切断し、そして、実IPアドレスはステップ２０９でリリースされる。同時に、マスター制御装置１４aは、ステップ２１０において維持されたセッションを通して１対１通信の結論を中間サーバ３のルーティングユニットに通知する。このセッションは依然として、将来の利用のためにマスター制御装置１４aによって維持されることができる。同様に、連合装置１４bも、ステップ２１１において維持されたセッションを通して１対１通信の中止を中間装置３のルーティングユニットに通知する。このセッションもまた、将来の利用のために連合装置１４bによって維持されることができる
【図面の簡単な説明】
【００４９】
【図１】図１は当該発明の情報処理すステムが持つ協働装置の概略図である。
【図２】図２は当該発明の情報処理すステムが持つマスター制御装置の実施例に関する概略図である。
【図３】図３は当該発明の情報処理すステムにおける１対１通信環境を示す概略図である。
【図４】図４は当該発明の情報処理すステムにおける１対１通信環境の方法を示す概略図である。
【図５】図５は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のメカニズムを示す概略図である。
【図６】図６は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のメカニズムを示す概略図である。
【図７】図７は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のメカニズムを示す概略図である。
【図８】図８は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のメカニズムを示す概略図である。
【図９】図９は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のプロセスを示す概略図である。。
【図１０】図１０は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のプロセスを示す概略図である。。
【図１１】図１１は当該発明の情報処理すステムにおけるエージェントベースの１対多通信のプロセスを示す概略図である。。
【図１２】図１２は装置による不完全な公開情報を選択するプロセスを示す概略図である。。
【符号の説明】
【００５０】
３  中間サーバ
５  制御と通信(C&C)ユニット
６  制御と通信(C&C)ユニット
７  実行モジュール
７a  情報統合のための実行モジュール
７b  株式市場情報を集めるための実行モジュール
７c  銀行口座情報を集めるための実行モジュール
７d  関連ニュースを集めるための実行モジュール
８  実行モジュール
１０a  情報サーバ
１０b  情報サーバ
１２  NATルーター
１２a  受信エージェントサーバ
１２b  受信エージェントサーバ
１４a  マスター制御装置
１４b  連合装置
１４c  連合装置
１４d  連合装置
１６  NATルーター
１６a  伝送エージェントサーバ
１６b  伝送エージェントサーバ
１７  ISPルーター
１８  登録サーバ
１９  ISPルーター
２０  ルーター
２１  DHCPサーバ
３０  NATルーター
【図１】
2008065826.tif 000003
【図２】
2008065826.tif 000004
【図３】
2008065826.tif 000005
【図４】
2008065826.tif 000006
【図５】
2008065826.tif 000007
【図６】
2008065826.tif 000008
【図７】
2008065826.tif 000009
【図８】
2008065826.tif 000010
【図９】
2008065826.tif 000011
【図１０】
2008065826.tif 000012
【図１１】
2008065826.tif 000013
【図１２】
2008065826.tif 000014