JP3731645B2 - エージェント方法及びコンピュータシステム - Google Patents

エージェント方法及びコンピュータシステム Download PDF

Info

Publication number
JP3731645B2
JP3731645B2 JP2000581544A JP2000581544A JP3731645B2 JP 3731645 B2 JP3731645 B2 JP 3731645B2 JP 2000581544 A JP2000581544 A JP 2000581544A JP 2000581544 A JP2000581544 A JP 2000581544A JP 3731645 B2 JP3731645 B2 JP 3731645B2
Authority
JP
Japan
Prior art keywords
agent
computer system
subnet
execution
transmitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000581544A
Other languages
English (en)
Inventor
隆史 坂倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP3731645B2 publication Critical patent/JP3731645B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

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

Description

技術分野
本発明は、公衆回線やインターネットを介して接続されるLAN(ローカルエリアネットワーク)等のコンピュータシステム同士間のサービス提供方法及びそれに用いるコンピュータシステムに係り、安全かつ円滑にサービスを提供することを可能にするエージェント方式によるサービス提供方法及びそれに用いるコンピュータシステムに関するものである。
背景技術
近年、企業内でLANを利用するコンピュータシステムが定着し、複数の拠点に設けられたこれらのLANを接続し社内ネットワークを構成するイントラネットやそれを更に拡張し関連会社等を含めたネットワークを構成するエクストラネットが普及している。
各拠点のLANを接続する手段として、専用線に替えて低コストのインターネットを利用するケースもあり、その場合には、一般的に外部からのアクセスを制限し、LANの内部の安全性を高める為に、外部と内部の境界部分にファイアウォールを設けるようにしている。ファイアウォールは、特定の到達先やアプリケーションへ対してのみ、外部からのアクセスを許す技術であり、日本特許特開平7-87122号公報等の開示例がある。
具体的には、電子メール転送プロトコルであるSMTP(シンプルメールトランスファープロトコル)のみ通過を許すシステムが多い。この場合には、ファイアウォールを通過できるのは電子メールメッセージのみとなる。他に、WWW(ワールドワイドウェブ)のデータ通信プロトコルであるHTTP(ハイパーテキストトランスファープロトコル)の通過を許すシステム、通信を中継する代理サーバーを配置するシステムやCORBA(コモンオブジェクトリクエストブローカーアーキテクチャ)通信プロトコルIIOP(インターネットインターオーブプロトコル)、JAVA処理系が用意するRMIなどの通信プロトコルを許可するシステムなどもある。
しかし、これらのネットワークコンピュータシステムでは、ファイアウォールを越えて、LAN環境で提供されているサービス(例えば、ファイル共用、共用プリンタへの印刷、あるいはCPUサーバーの利用等)を利用することができない。従って、他の拠点にあるデータやプログラムを得る場合でも、孤立した回線を利用して送信するか、あるいはテープなどのメディアを郵送するなどの方法に頼っていた。
本発明は、上記従来技術の欠点を除くためになされたものであって、ファイアウォールを設けたLANなどのコンピュータシステムに対して、外部のコンピュータシステムからインターネット等を介してサービスを要求し、そのサービスを受けるための安全かつ円滑な方法を提供することを目的とする。
尚、本発明で用いるエージェント方式については、日本特許特開平7−182174号公報(米国ジェネラルマジック社、USPATENT5603031に対応する日本出願)に詳細例が開示されている。エージェントは、必要に応じてエージェント処理系間を移動し、自身が保持するデータと処理手順に基づき処理を実行するように構成されている。
また、参考技術として、USPATENT005632001Aに、ファイアウォールを介してインターネットに接続された複数のLANシステムに電子メールの配送するために、配送先データベースを設け、そのデータベースを一元的に管理するための技術が開示されている。このシステムは、配送先データベースの更新データを電子メールメッセージとして送信するように構成されている。
発明の開示
本発明は、所定の通信条件を満たす場合にアクセス可能とするアクセス制限部を有する第一のコンピュータシステムと、別の第二のコンピュータシステムを含むネットワークシステム内でエージェントを転送するエージェント方法において、
エージェントを送信する第二のコンピュータシステムを認証する工程と、認証した第二のコンピュータシステムに対して第一のコンピュータシステムの所定の通信条件を送信する工程を有し、
第二のコンピュータシステムにより、所定の通信条件を受信する工程と、所定の通信条件を記憶する工程と、エージェントを生成する工程と、所定の通信条件に従ってエージェントを送信する工程を有し、
第一のコンピュータシステムにより、アクセス制限部を介してエージェントを受信する工程と、エージェントを実行する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、エージェント発行ユーザの認証を行なう工程を有することを特徴とするものである。
また更に、第一のコンピュータシステムは、複数の情報交換方法を使用可能であり、
上記エージェント方法は、更に、第二のコンピュータシステムにより、第一のコンピュータシステムの情報交換方法の特性に基づいて情報交換方法を選択する工程を有することを特徴とするものである。
また更に、第一のコンピュータシステムは、エージェントを実行できる複数のエージェント処理系を有し、
エージェントを生成する工程は、エージェント処理系の特性に基づいてエージェント処理系を選択する工程と、選択したエージェント処理系の識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、エージェントの一部からエージェント処理系の識別情報を読み出す工程と、識別情報で特定されるエージェント処理系へエージェントを転送する工程を有することを特徴とするものである。
また更に、エージェントを生成する工程は、エージェント発行ユーザの識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、エージェントの一部からエージェント発行ユーザの識別情報を読み出す工程と、識別情報で特定されるエージェント発行ユーザのアクセス権に従ってサービスにアクセスする工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、第一のコンピュータシステムにより、エージェント実行状況を送信する工程と、第二のコンピュータシステムにより、エージェント実行状況を受信する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、第二のコンピュータシステムにより、エージェントの少なくとも一部を暗号化する工程を有し、第一のコンピュータシステムにより、エージェントの暗号部分を復号化する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、複数の第一のコンピュータシステムの所定の通信条件を統合する工程を有することを特徴とするものである。
また更に、第二のコンピュータシステムは、複数の情報交換方法を使用可能であり、
上記エージェント方法は、更に、第二のコンピュータシステムにより、エージェントの送信に用いた情報交換方法の識別情報を含むエージェント送信履歴を記憶する工程と、エージェント送信履歴に基づいて情報交換方法を選択する工程を有することを特徴とするものである。
また更に、第二のコンピュータシステムを認定する工程は、第三者認証局により、認証する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、ユーザ認証データを送信する工程と、複数の第二のコンピュータシステムにより、ユーザ認証データを受信する工程と、ユーザ認証データを記憶する工程を有し、
エージェント発行ユーザの認証を行なう工程は、第二のコンピュータシステムにより、ユーザ認証データを読み出す工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、エージェント処理系の特性データを統合する工程を有し、
上記エージェント処理系を選択する工程は、統合されたエージェント処理系の特性データを読み出す工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、エージェント実行状況を統合する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、情報交換経路情報に基づいて管理情報転送経路を定義する工程と、エージェント実行状況の送信先を管理情報転送経路に従って決定する工程を有することを特徴とするものである。
また更に、上記エージェント方法は、更に、情報交換経路情報に基づいて管理情報転送経路を定義する工程と、所定の通信条件の送信先を管理情報転送経路に従って決定する工程を有することを特徴とするものである。
本発明は、所定の通信条件を満たす場合にアクセス可能とするアクセス制限部を有し、他のコンピュータシステムと通信するコンピュータシステムにおいて、
エージェントを送信する他のコンピュータシステムを認証するコンピュータシステム認証部と、
認証した他のコンピュータシステムに対して所定の通信条件を送信する通信条件送信部と、
アクセス制限部を介してエージェントを受信するエージェント受信部と、
エージェントを実行するエージェント実行部を有することを特徴とするものである。
本発明は、所定の通信条件を満たす場合にアクセス可能とするアクセス制限部を有する他のコンピュータシステムと通信するコンピュータシステムにおいて、
他のコンピュータシステムの所定の通信条件を受信する通信条件受信部と、
他のコンピュータシステムの所定の通信条件を記憶する通信条件記憶部と、
他のコンピュータシステムで実行されるエージェントを生成するエージェント生成部と、
他のコンピュータシステムの所定の通信条件に従ってエージェントを送信するエージェント送信部を有することを特徴とするものである。
また更に、コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成することを特徴とするものである。
【図面の簡単な説明】
図1は、本発明に係るコンピュータシステムのネットワーク構成図である。
図2は、本発明に係るサブネット上のエージェントサービスプログラム群の構成図である。
図3は、本発明に係るサブネットのハード構成図である。
図4は、本発明に係るエージェント処理系の機能構成図である。
図5は、本発明に係るエージェント機構ユーザー管理テーブル例の図である。
図6は、本発明に係るユーザー認証部の機能構成図である。
図7は、本発明に係るファイルシステムのコマンド例の図である。
図8は、本発明に係るファイルシステムセッション構成図である。
図9は、本発明に係る情報交換経路管理テーブル例の図である。
図10は、本発明に係るエージェントの構成図である。
図11は、本発明に係るリソース情報問い合わせ例の図である。
図12は、本発明に係るエージェント処理系属性問い合わせ例の図である。
図13は、本発明に係るサブネットワーク登録用情報例の図である。
図14は、本発明に係るサブネットD参加後のエージェント機構の情報交換経路管理テーブル例の図である。
図15は、本発明に係るサービスの管理情報の更新アルゴリズムの図である。
図16は、本発明に係るエージェント実行状況問い合わせ例の図である。
図17は、本発明に係るシステム構成及びデータフローの概念図である。
図18は、本発明に係るレジストリサーバーによるコンピュータシステムの認証及び通信条件の送信を含む処理フローである。
図19は、本発明に係るエージェント送信側コンピュータシステムによる通信条件の受信及び記憶を含む処理フローである。
図20は、本発明に係るエージェント送信側コンピュータシステムによるエージェントの生成及び送信を含む処理フローである。
図21は、本発明に係るエージェント実行側コンピュータシステムによるエージェントの受信及び実行を含む処理フローである。
図22は、本発明に係るエージェントの実行状況の統合を含む処理フローである。
発明を実施するための最良の形態
以下、本発明の実施の形態を説明する。
実施の形態1
本発明は、図17のデータフローの概念図に示す構成上で処理が行われる。本実施の形態では、特に、図20に示すエージェント送信側コンピュータシステム1702によるエージェントの生成及び送信を含む処理フローと、図21に示すエージェント実行側コンピュータシステム1703によるエージェントの受信及び実行を含む処理フローについて説明する。以下、具体的なネットワークシステムを想定して説明するが、この例でエージェント送信側コンピュータシステムのエージェント生成部とエージェント送信部に相当するのは、後述するサブネットB103のエージェント処理系205であり、エージェント実行側コンピュータシステム1703に相当するのは、後述するサブネットA102のエージェント処理系205である。
実施例として、図1に示すようなコンピュータシステム間のネットワーク上で、広域的なファイルシステムを提供する方法及びそれに用いるネットワークシステムについて説明する。
図1に示すコンピュータシステムのネットワークは、例えば1000人規模の会社で利用され、サブネットA102、サブネットB103、サブネットC106、サブネットD110は、それぞれの拠点に設置されるLANを利用したコンピュータシステムに相当する。
サブネットA102とサブネットC106の間は、お互いに到達すべきIP(インターネットプロトコル)パケットを受けとるとオンデマンドでモデム接続を行なうサーバー経由で一般公衆網101に接続されている。
サブネットA102のユーザーは、サブネットA102のコンピュータ上で動作するアプリケーションプログラムと同様に、サブネットC106のコンピュータ上で動作するアプリケーションプログラムにアクセスすることができる。また、サブネットC106のユーザーは、逆にサブネットA102のコンピュータ上で動作するアプリケーションプログラムにアクセスすることができる。但し、転送速度は、同一サブネット内の場合に比べ約1/100となり、通信が集中した場合はさらに低速となる。
サブネットC106とサブネットD110の間は、高速な専用線108で接続されており、お互いのネットワークのコンピュータ同士は、同一のネットワーク上にある場合とほぼ同様に扱うことができる。但し、利用者の運用により、専用線のトラフィックが過重にならぬよう制限する必要がある。
サブネットB103は、ファイアウォール105を介してインターネットにのみ接続されている。ファイアウォール105は、SMTP(メール送信プロトコル)に則った通信のみ接続を許すように構成されている。
同様に、サブネットA102は、ファイアウォール104を介してインターネットに接続されている。また、サブネットD110は、ファイアウォール109を介してインターネットに接続されている。これらのファイアウォール104,109は、いずれもファイアウォール105と同様にSMTPに則った通信のみ接続を許すように構成されている。
携帯端末A107は、モデムを介し公衆網経由でサブネットA102あるいはサブネットC106に接続することができる。また、インターネット接続サービスによって公衆網経由でインターネットに接続することができる。携帯端末B111も同様にインターネットに接続することができる。
図2に示すサブネット上のエージェントサービスプログラム群の構成を説明する。経路データベース210、認証サーバー202、リソースデータベース203、エージェントモニタ204、エージェント処理系205、ユーザー認証/管理206は、いずれもソフトウェアによるサービスであって、サブネット中のいずれかのコンピュータ上で実行される。
経路データベース201は、図9に示すような情報交換経路管理テーブルを管理する。認証サーバー202は、特定サブネットがこのネットワークシステムに参加するものであることを認証する。リソースデータベース203は、図11に示すようなリソース情報を管理する。エージェントモニタ204は、エージェント実行状況をモニタリングする。エージェント処理系205は、エージェントの処理に必要な機能を提供する。ユーザー認証/管理206は、図5に示すようなエージェント機構ユーザー管理テーブルを管理する。
エージェント処理系間を移動可能な実行オブジェクトである本発明のエージェントは、エージェント処理系205が提供するAPI(アプリケーションプログラミングインターフェース)を介して、サブネット上で稼動しているこれらサービス201〜206を利用することができる。
図3に示すサブネットA102のハード構成を例としてサブネットのハード構成をについて説明する。サブネットのLAN302は、ファイアウォール104を介してインターネットに接続されている。また、リモートアクセスサーバー301を介して公衆網に接続されている。更に、LAN302には、サーバー303〜307が接続されている。サーバー303は、経路データベース201と認証サーバー202を、サーバー304は、リソースデータベース203とエージェントモニタ204を、サーバー305は、エージェント処理系205とユーザー認証/管理206をそれぞれ実行する。サーバー306はファイルサーバーであり、サーバー307はデータベースサーバーである。加えて、LAN302には、PC(パーソナルコンピュータ)クライアント308の他多数のPCクライアントが接続されている。
図4にエージェント処理系205の機能構成を示す。
エージェント処理系205は、ユーザー認証部401、エージェント移動部402、移動方式選択部403、情報交換部404、経路情報問い合わせ部405、リソース情報問い合わせ部406、暗号/復号化部407、エージェント実行状況報告/問い合わせ部408及び実行部409の各部分から構成されている。
ユーザー認証部401は、ユーザーがアプリケーションプログラム(例えばファイルシステム)を通してエージェントをエージェント処理系に投入する際に、そのユーザーの認証を行なう(ステップ2001)。エージェント移動部402は、エージェントの必要に応じて行われるエージェント処理系間のエージェントの移動の際に利用される(ステップ2006,2101)。移動方式選択部403は、エージェント処理系間のエージェントの移動に最適な移動方式を選択する(ステップ2005)。情報交換部404は、エージェントの移動やデータ送受信のために情報交換を行なう(ステップ2006,2101,1901,1904,1905,1908,1909,1912,1913,1916,1917,1920,1813〜1816,2110,2112,2114,2116,2201,2205)。経路情報問い合わせ部405は、情報交換に最適な情報交換経路の選択するために経路情報の問い合わせを行なう(ステップ1811,1812,1903,1907,1911,1915,1919,2004)。リソース情報問い合わせ部406は、エージェント処理系上でユーザーが利用できるファイルシステムやデータベースなどのリソースに関する情報の問い合わせを行なう(ステップ2015)。暗号/復合化部407は、エージェントの移動やデータ送受信のための情報交換の際に秘匿化のために送信前のデータを暗号化し、受信後にそれを復号化する(ステップ2003,2102)。エージェント実行状況報告/問い合わせ部408は、本システムにおけるエージェントの実行状況問い合わせを行なう(ステップ2104,2008)。実行部409は、エージェントを実行する(ステップ2103)。
次に、本発明によるエージェント方式により実現する広域的なファイルシステムの動作を例として、本システムにおけるエージェント処理系と各サービスの動作を説明する。但し、現段階でサブネットD110は本エージェント機構システムに登録されていない。サブネットD110は、後述する実施例によって本エージェント機構への登録される。
ファイルシステムの動作は、まずファイルシステムにアクセス可能なエージェント処理系に対してエージェントを送り込み、次にエージェント機構によるセキュアな通信機構を利用してエージェント間でpeer-to-peerセッションを構成して行なわれる。つまり、必要なサイトに専用のファイルサーバーをインストールするようにして動作する。
エージェントを送出するのに先立って、本システムでのユーザー認証を行なう(ステップ2001)。エージェント処理系は、エージェントのロードと実行のために、ユーザーインターフェースとAPIを用意しているが、そのうちユーザーインターフェースを利用する場合には、エージェント処理系は、エージェント処理系へのログイン時にパスワードの入力を促し、入力されたパスワードを照合し、適正なユーザーであることを認証する。一方、アプリケーションプログラムがAPIを利用する場合には、エージェント処理系は、APIへの引数であるパスワードを用いて、同様に照合し、適正なユーザーであることを認証する。
図5にエージェント機構ユーザー管理テーブルの例を示す。このテーブルは、エージェント処理系がユーザー認証のために利用するデータベースのテーブルであり、ユーザー認証/管理206により管理されている。このテーブルには、ユーザー名501、ハッシュ関数により暗号化されたパスワード502、暗号用の共通秘密鍵503、このシステムにおけるグループID504、同じくユーザーID505の各項目がユーザー毎に備えられている。尚、ユーザー名501は、システムで一意となるように、ユーザーの名前とユーザー登録したエージェント処理系が動作するホスト名とサブネット名で構成される。
エージェント処理系205のユーザー認証部401は、このテーブルをサブネットのユーザー認証/管理機能206から取得して、ユーザー認証に用いる(ステップ2009)。尚、各サブネットのユーザー認証/管理206は、後述するプロトコルにより、いずれも同一の最新テーブルを維持するようになっている(ステップ1802〜1804,1814,1905〜1908)。
図6にエージェント処理系205のユーザー認証部401の機能構成を示す。ユーザー認証部401は、更新部601と認証実行部602から構成されている。更新部601は、このシステムのスーパーバイザの権限でユーザーの登録と削除を行ない(ステップ1802〜1804)、各サブネットのユーザー認証/管理機能206との更新データの送受信を行なうように構成されている(ステップ1814,1905,1908)。一方、認証実行部602は、ユーザー認証を行なうように構成されている。具体的には、ユーザー名とパスワードとともに認証要求を受けると、それらを用いてユーザー照合を行ない、認証結果を返す(ステップ2001)。
本エージェント機構を利用して、図7に示すコマンドを実行すると、図8に示すようなファイルシステムセッションを構成する。
図7に示すコマンドは、サブネットB103上のクライアントPC808で実行され、クライアントPC上のOS(オペレーティングシステム)の一部であるファイルシステム804に対して、利用したい他のファイルシステムを割りつけるコマンドである。具体的には、「サブネットA102のファイルサーバー801の動作するマシンA805の/export1というディレクトリをクライアントPC808上の/netA/machineA/export1に割りつける。」ことを意味するコマンドである。このコマンドを実行することにより、OSは、peer-to-peer形態でファイルデータの送受信を行なうエージェントをサブネットB103のエージェント処理系に送出する。この送出は、エージェント処理系が用意するリスニングポート経由で行われる。
クライアント側エージェント803は、OSのファイルシステム804のクライアント機能との通信路をソケットにて確保する。クライアント側エージェント803は、ピアエージェント802を生成して(ステップ2002)、それをエージェント機構を用いて目的地へ送出する(ステップ2006)。目的地となるエージェント処理系には、エージェント実行状況、システムのリソース、通信路の特性などの問い合わせ結果から判断してエージェントの実行に最も適したエージェント処理系が選択される(ステップ2010)。ピアエージェントは、peer-to-peerの一方のpeerとなるエージェントであるが、詳しくは図8に基づいて後に説明する。
図8に示すファイルシステムセッションの構成について説明する。マシンA805は、ファイルサーバー801が動作するサブネットA102上のサーバーマシンである。マシンC806は、ピアエージェント802を実行するエージェント処理系が動作するサブネットA102上のサーバーマシンである。クライアントPC808は、mountコマンドを発行したサブネットB103上のクライアントPCであって、OSの一部としてファイルシステム804が動作している。マシンA807はクライアント側エージェントを実行するエージェント処理系が動作するサブネットB103上のサーバーマシンである。
続いて、クライアントPC上のアプリケーションプログラムから/netA/machineA/export1以下のファイルへのアクセスする動作について説明する。
このようにしてセッションが確立し、mountコマンドが終了すると、OSのファイルシステム804は、クライアントPC上のアプリケーションプログラムに対して/netA/machineA/export1以下のファイルへのアクセスを許す。アプリケーションプログラムが、OSのファイルシステム804に対してファイル生成/削除/読み出し/更新やディレクトリ参照などの命令を発行すると、OSのファイルシステム804は、その命令に関するデータを同一サブネット上のクライアント側エージェント803に送信する。
クライアント側エージェント803は、更にその命令に関するデータをピアエージェント802に転送する。クライアント側エージェント803は、この転送の為に適した通信経路を選択し、暗号化によるセキュアな通信方法を用いて転送する。
ピアエージェント802は、ファイルサーバー801のクライアントとして、その命令に関するファイル操作(例えばファイル生成/削除/読みだし/更新、ディレクトリ参照など)を行なう。ピアエージェント802は、そのファイル操作の結果をエージェント803に転送する。
エージェント803は、更にOSのファイルシステム804にそのファイル操作の結果を転送する。OSのファイルシステム804は、更にそのファイル操作の結果をアプリケーションプログラムに返す。以上で、アプリケーションプログラムがOSのファイルシステム804に対して発行した命令に対する一連の処理は、完了する。
尚、エージェント処理系が利用できるサービス(例えば、OSファイルシステム804)に関してアクセス権が設定されている場合には、エージェント中のオーナー名1004からエージェント発行者を特定し、そのエージェント発行者の権限でそのサービスにアクセスする(ステップ2108)。
本発明によるエージェント機構は、概略として上述のファイルシステムの例のように動作する
続いて、特にエージェント移動方法の選択(ステップ2005)、エージェントの生成(ステップ2002)、エージェント処理系の選択(ステップ2010)、エージェントの移動(ステップ2006,2101)及びサービスの開始(ステップ2103)について詳説する。
まず、エージェント移動方法の選択(ステップ2005)について説明する。
図9に情報交換経路管理テーブル例を示す。このテーブルは、サブネット間の情報交換経路に関する情報を管理するためのデータベースのテーブルであり、経路データベース201によって管理されている。このテーブルには、各サブネット間の情報交換経路(例えば、ライン901に示すA−B、ライン902に示すA−C、ライン903に示すB−C)毎に、情報交換方式、標準転送速度や動的転送速度などの特性に関する項目が設けられている。
エージェントは、エージェント処理系の経路情報問い合わせ部405を介して、経路データベース201に問い合わせることによって、このテーブルの情報を得る(ステップ2004)。そして、エージェントは、エージェントの移動やデータの送受信のためとして最適な情報交換経路を選択する(ステップ2005,2013)。
サブネットB103上のクライアント側エージェント803がサブネットA102にピアエージェントを送出する場合を例とすると、本テーブルのライン901に示すA−Bのエントリから、この送出の経路となるA−Bのデータ交換手段はSMTPによる通信方式であり、最新の転送速度実績は38kbpsであることがわかる。このように、送信に用いた情報交換経路とその送信の実績を含む送信履歴を記憶し、次の選択の判断要素とすることもできる(ステップ2007,2014)。
尚、サブネットの中をドメインに分けてエージェント処理系を管理する等の事情がある場合には、情報交換経路を更に階層化することも考えられ得る。また、エージェントに替えて、エージェント処理系が自動的に情報交換経路を選択する構成にすることも考え得る。
次に、エージェントの生成について説明する。
図10にエージェントの構成を示す。エージェントは、管理情報(サブネット名1001、マシン名1002、依存リスト1003、オーナー名1004)と実行オブジェクト1005から構成されている。
サブネット名1001は、エージェント処理系が動作するサーバーマシンの属するサブネット名である(ステップ2011)。マシン名1002は、エージェント処理系が動作するサーバーのマシン名である(ステップ2011)。依存リスト1003は、エージェントが動作するのに必要なリソースやエージェント処理系の能力等の依存条件を示したリストである。オーナー名1004は、エージェントの所有者を示すユーザーIDである(ステップ2012)。これらの管理情報は、エージェント生成時に与えられる(ステップ2002)。
実行オブジェクト1005は、エージェントとして実行するオブジェクト部分である。尚、実行オブジェクト1005は、ユーザー毎に登録されている共通秘密鍵503とエージェント機構に共通なアルゴリズムにより暗号/復号化される(ステップ2003,2102)。
次に、ピアエージェントの移動先として最適なエージェント処理系を選択する動作について説明する(ステップ2010)。クライアント側エージェント803は、経路データベース201に対する問い合わせと同様に、エージェント処理系のリソース情報問い合わせ部406を介して、リソースデータベース203に対して問い合わせを行なう(ステップ2015)。
図11にリソース情報の問い合わせの例を示す。ピアエージェントの実行のために必要な依存条件が、サブネットA102のファイルサーバーmachineAのファイルに対してアクセスできることであることを例として説明する。
ライン1101は、リソースデータベース203に対する問い合わせのコマンドである。その意味は、「サブネットA102のファイルにアクセスできるエージェント処理系の検索」である。ライン1102〜1104は、それに対する応答である。ライン1102の意味は、「サブネットAのmachineAはローカル」である。つまり、エージェント処理系を備えているサブネットA102のmachineAは、ファイルサーバー自身であることを意味する。ライン1103の意味は「machineBはSMB(サーバーメッセージブロック)クライアントとしてアクセス可能」である。ライン1104の意味は、「machineCはNFS(ネットワークファイルシステム)クライアントとしてアクセス可能」である。
今回生成するピアエージェントは、エージェント処理系が提供するNFSクライアントインターフェースを利用する機能しか備えていないので、移動すべきエージェント処理系はmachineCとなる(ステップ2010)。従って、エージェントは、ピアエージェントの移動先として最適なエージェント処理系に、machineCを選択し、管理情報のマシン名1002に登録する(ステップ2011)。
尚、エージェント処理系のリソース情報問い合わせ部406を介して、リソースデータベース203に対して、エージェント処理系がどのようなリソースを備えているか(属性)を問い合わせること、つまり逆引きもできる。図12にエージェント処理系machineCに関する属性を問い合わせた結果を示す。ライン1201は、ローカルファイルへアクセスできることを示す。ライン1202は、SMBクライアントとしてのアクセスができることを示す。ライン1203は、NFSクライアントとしてのアクセスができることを示す。ライン1204は、データベースへのアクセスはできないことを示す。ライン1205は、本エージェント処理系で利用できるメモリ容量が20MBであることを示す。ライン1206は、本エージェント処理系の処理速度がおよそ1MIPSであることを示す。ライン1207は、現在のエージェント処理系の負荷が32%であることを示す。
上述のようにして、送出するピアエージェントに管理情報の設定が完了した後にピアエージェントの移動を行なう(ステップ2006,2101)。
クライアント側エージェント803は、エージェント処理系のエージェント移動部402に対して、上述のように選択したSMTPによる通信方式で、サブネットA102のmachineCのエージェント処理系にピアエージェントを送出するように依頼する。エージェント移動部402は、SMTPによる情報交換部404を選択し、その情報交換部404に移動先と移動するエージェント(本システムにおける広義のオブジェクト)を渡す。
情報交換部404は、サブネットA102のmachineCのSMTP通信部がコネクション生成用のポートとして用意するメールアカウント「agentlistener@machineC.netA」にコネクション要求メッセージを送信する。この時、クライアント側で使用するSMTP通信用のメールアカウント名「agentporterl@machineA.netB」も併せて送信する。そして、サーバー側のSMTP通信用メールアカウント「agentporterl@machineC.netA」を得る。
このようにして、お互いのメールアカウントを確保した状態がSMTP通信手段によるコネクション状態であり、以後双方ともに、このコネクションを利用して、通信パケットをメールメッセージとし、送受信する。エージェント移動部402は、オブジェクトに付随する領域にこのオブジェクトのタイプがエージェントであることをマークし、実行オブジェクト1005をユーザーの共通秘密鍵にて暗号化して(ステップ2003)、エージェントを情報交換部404に渡す。情報交換部404は、受けとったエージェントをオブジェクトデータとしてパケットに分解し、メールメッセージとして送信する(ステップ2006)。このとき、外部からの攻撃に備えメッセージにデジタル署名を付しても良い。
サブネットA102のmachineCのエージェント処理系の情報交換部404はエージェントのオブジェクトデータのパケットを集積し、オブジェクトのタイプからエージェントであることを判別し、そのオブジェクトデータをエージェント処理系のエージェント移動部402に渡す(ステップ2101)。このとき、管理情報のマシン名1002を読み出し、マシン名によって特定されるエージェント処理系にエージェントを転送することもできる(ステップ2105,2106)。
エージェント移動部402は、管理情報のオーナー名1004からユーザーを特定し、暗号/復合化部407に、そのユーザーの共通秘密鍵を用いて、暗号化されている実行オブジェクト1005を復号化させる。その後、実行オブジェクトはロードされ、ピアエージェント802として実行を開始する。
このとき、ピアエージェント802は、クライアント側エージェント803に対して、ピアエージェント802が実行を開始した旨のメッセージと確保したメールアカウントアドレスを送信する。この送信は、移動したエージェントがあらかじめ内部データとして持っていたクライアント側エージェント803の通信用メールアカウントアドレスを指定して、情報交換部404に命令することにより行われる。送信命令を受けた情報交換部404は、コネクションが生成されたものとみなして、コネクション状態となる。一方、クライアント側エージェント803は、既にレシーブ待ち状態であり、ピアエージェント802から処理開始メッセージを受けとると、ピアエージェント802の通信用メールアカウントアドレスを情報交換部404に登録し、ファイルシステムのセッション生成が完了した旨をOSのファイルシステム804に通知する。
これ以後、クライアントPC808からのファイルアクセスサービスが利用可能となる。
実施の形態2
本実施の形態では、特に、図18に示すレジストリサーバーによるコンピュータシステムの認証及び通信条件の送信を含む処理フローと、図19に示すエージェント送信側コンピュータシステムによる通信条件の受信及び記憶を含む処理フローについて説明する。
以下、具体的なネットワークシステムを想定して説明するが、この例でレジストリサーバー1701に相当するのは、後述するサブネットA102の経路データベース201である。また、エージェント送信側コンピュータシステムの条件受信部と条件記憶部に相当するのは、新規に認証されるサブネットD110の経路データベース201、既に認証されているサブネットB103の経路データベース201、及び同じく既に認証されているサブネットC106の経路データベース201である。
実施例として、エージェント機構に対して新たなサブネットを参加させる方法について説明する。ここでは、図1に示すコンピュータシステムのネットワークのうちサブネットA102とサブネットB103とサブネットC106のみが参加するエージェント機構を想定し、それに対して新たなサブネットD110を参加させる場合について説明する。
サブネットD110のシステム管理者は、エージェント機構に参加するのに必要なソフトウェアを入手する。そして、エージェント機構のシステム管理者に、レジストリサーバーへのサブネットD110に関するアカウントの新設を依頼する。この例では、エージェント機構のシステム管理者は、サブネットA102の管理者が兼ねる。また、レジストリサーバーは、エージェント機構に参加する各サブネットのレジストリ情報を管理するサーバーであって、この例では、サブネットA102の経路データベース201が兼ねる。
サブネットD110のシステム管理者は、必要なソフトウェアを起動し、それに従って図13に示すようなサブネットワーク登録用情報を作成する。サブネットD110のシステム管理者は、レジストリサーバーへのアカウント新設完了の通知を受けとった後に、このサブネットワーク登録用情報をレジストリサーバーへ送信する。尚、このとき、認証局であるサブネットA102上の認証サーバー202は、レジストリサーバーに新設されたアカウントを参照してサブネットD110に関する正当性を確認する(ステップ1801)。また、サブネットワーク登録用情報は送信の前に暗号化される。
この例では、サブネットCを経由してTCPにて送信することを想定しているが、新たなサブネットの参加時に送信手段がない場合には、文書やフロッピーディスク等のメディアを介して、エージェントシステム管理者にサブネットワーク登録用情報を伝え、直接入力するように依頼しても良い。
このようにサブネットでのサービス導入時にレジストリサーバーに報告されるサブネットワーク登録用情報には、ライン1301,1302のサブネットの通信接続形態(ステップ1805)、ライン1303の経路データベース動作ホスト、ライン1304のリソースデータベース動作ホスト、ライン1305のエージェントモニタ動作ホスト、ライン1306のユーザー認証/管理サーバー動作ホストが含まれる。
ライン1301は、このサブネットがSMTPのみ通過させるファイアウォールを介して、標準データ転送速度32Kbpsでインターネットに接続されていることを示している。ライン1302は、このサブネットがサブネットC106に専用線接続されており、特に通信プロトコルの制限なく標準データ転送速度10Mbpsで接続されていることを示している(ステップ1805)。
ライン1303は、経路データベース201が動作するホスト名(サブネットD110のmachineA)を示しているが、この時動作している経路データベース201上では、既に各経路がライン1301,1302で報告する通信形態(SMTPとTCP)のリスニングポートを用意して、リスニング状態になっている。
このように、サブネットD110がシステムに参加することにより、図9に示すエージェント機構の情報交換経路管理テーブルは、図14に示すように変更される(ステップ1806,1807)。具体的には、図14に示すように、ライン1404に示すA−D、ライン1405に示すB−D、ライン1406に示すC−Dの各経路情報エントリが追加される。
そして、レジストリサーバー(サブネットA102の経路データベース201)は、サービス依存関係に従って、サブネットB103の経路データベース201とサブネットC106の経路データベース201にこの情報交換経路管理テーブルの変更を通知する(ステップ1812,1815)。
ここで、サービス依存関係とは、各サブネット間で同様に提供されるサービス(例えば、エージェント稼働状況データの採集および配布)同士の依存関係を定義したものである。これによって、同一内容を担保すべき管理情報の転送経路が決定される。尚、このサービス依存関係は、情報交換経路情報に基づいて動的に定義される(ステップ1811)。
更に、レジストリサーバー(サブネットA102の経路データベース201)は、リスニング状態にあるサブネットD110の経路データベース201に、図14に示す情報交換経路管理テーブルを送信する(ステップ1812,1815)。このときの経路は、ライン1402に示すA−Cとライン1406に示すC−Dの各経路情報エントリの内容から判断して、サブネットC106経由でTCPにて送信する経路を用いる(ステップ1812,1815,1909〜1912)。またこのとき、サービスの依存関係も併せて送信される(ステップ1813,1901〜1904)。
このようにして、サブネットD110のサービスは、サービス依存関係上サブネットC106のサービスの直下に位置するように定義され(ステップ1811)、サブネットD110の経路データベース201は、上述の情報交換経路管理テーブルとサービス依存関係を受け取り(ステップ1909,1910,1901,1902)、これらを用いるサービスを開始する。
経路データベース201の管理情報として情報交換経路管理テーブルが更新されるように、他のサービスについても同様のメカニズムで管理情報が更新される。具体的には、リソースデータベース203の管理するリソース情報(図11)、エージェントモニタ204が管理するエージェント実行状況(図16)、ユーザー認証/管理206の管理するユーザー管理テーブル(図5)の各情報が更新の対象となる(リソース情報の更新については、ステップ1808〜1810,1816,1913〜1916、エージェント実行状況の更新については、ステップ2201〜2205,1917〜1920、ユーザー管理テーブルの更新については、ステップ1802〜1804,1814,1905〜1908)。
更新の手順は、以下の通りである。まずレジストリサーバー(サブネットA102の経路データベース201)は、サブネットA102の各サービスが動作するホストにサブネットD110の参加を通知する。次に、通知を受けた各サービスは、必要に応じて各管理情報を更新し(ステップ1808〜1810,2201〜2203,1802〜1804)、サービス依存関係に従って(ステップ1811,1812,2204)、サブネットB103とサブネットC106の各サービスに管理情報の変更を通知する(ステップ1816,2205,1814)。更に、サブネットC106の各サービスは、サブネットD110の初期データ待ち状態の各サービスつまり、ライン1304に示すホストで動作するリソースデータベース203、ライン1305に示すホストで動作するエージェントモニタ204、及びライン1306に示すホストで動作するユーザー認証/管理206に、初期データとなる各管理情報を送信する(ステップ1916,1920,1908)。このとき、経路データベース201の場合と同様に、サブネットD110のサービスがサブネットC106のサービスの直下に位置するように定義したサービス依存関係も併せて送信される(ステップ1904)。
サブネットD110の各サービスは、これらの管理情報とサービス依存関係を受信した後に(ステップ1901,1905,1909,1913,1917)、各サービスを開始する。尚、この例では、すべてのサービスにおいて、サブネットA102のサービスがサービス依存関係上の最上位に登録されている(ステップ1811)。
上述のようにして、新たに登録したサブネットD110上の各サービスが開始した後に、エージェント処理系を起動する。エージェント処理系の起動は、エージェント処理系を実行するホストの管理者によって行なわれる。ホスト管理者は、サブネットD110のリソースデータベース203とエージェントモニタ204のリスニングポートとリソース情報を与えて、エージェント処理系プログラムを起動する。リソース情報は、図12に示すエージェント処理系属性と同様の項目を有する。
エージェント処理系プログラムは、初期化処理として、サブネットD110のリソースデータベース203とエージェントモニタ204にリソース情報を送信して、エージェント処理系の新たな参加を報告する。このとき、リソースデータベース203への送信は、リソース情報問い合わせ部406を介して行われる。また、エージェントモニタ204への送信は、エージェント実行状況報告/問い合わせ部408を介して行われる。
新たなエージェント処理系の参加の報告を受けたリソースデータベース203とエージェントモニタ204は、サービス依存関係上最上位にあるサブネットA102のリソースデータベース203とエージェントモニタ204にその参加を報告する。この報告は、前述の更新と同様の手順で各サブネットのサービスに通知される。
上述のように、各サブネットのサービスは、転送される情報に基づいて次々に管理情報の更新を繰り返す。そこで、図15にサブネット毎にサービスの管理情報を更新するアルゴリズムを示す。
図15では、当初、管理情報の更新を受け入れるサブネットのサービスは、ステップ1501の管理情報更新要求待ち受け状態にある。このサービスは、管理情報の変更の通知を受けると、ステップ1502で自らのサービスのための管理情報の更新を行なう。その後ステップ1503で、サービス依存関係上直下に未更新のサービスがあるかを判断し、無い場合には他のサービスに対して管理情報の変更を通知することなく処理を終了する。一方、未更新のサービスがある場合には、ステップ1506で、そのサービスが管理情報更新の要求元のサービスではないことを確認の上、ステップ1507でその未更新のサービスに対して管理情報の変更を通知する。これらの処理をサービス依存関係上上位のサービスから下位のサービスの方向へ連鎖的に継続することによって、全てのサブネットのサービスの管理情報を更新することができる。
尚、エージェント機構に対して新たなエージェント処理系を追加する場合に、第三者認証局からデジタル署名を取得し、このデジタル署名を用いてエージェント処理系を登録し、許可を得てからエージェント処理系の処理を開始するようにすることもできる(ステップ1817)。
実施の形態3
本実施の形態では、特に、図21に示すステップ2104のエージェント実行状況の送信の処理フローと、図22に示すエージェントの実行状況の統合を含む処理フローと、図19に示すステップ1917〜19120のエージェント実行状況の転送の処理フローと、図20に示すステップ2008のエージェント実行状況の読み出しの処理について説明する。
実施例として、アプリケーションプログラムの負荷分散のために、本発明によるエージェント機構を利用する場合を説明する。負荷分散は、例えば計算中心の処理を行なうアプリケーションプログラムに適している。
このアプリケーションプログラムは、動的にタスク分割され、分割されたタスクは、データと実行テキストを含むエージェントオブジェクトの形式で構成される。尚、これらのタスクは、エージェント処理系以外にデータベースやファイル等のリソースを必要としないと想定する。従って、各タスクはいずれのエージェント処理系でも実行可能であり、リソースデータベース203に問い合わせて得たシステムの負荷状況に応じて最適なエージェント処理系を選択することが可能である。
このアプリケーションプログラムは、サブネットA102のmachine1を親エージェントのエージェント処理系とする。そして、親エージェントは、タスクを構成するエージェント(以下、タスクエージェントという。)を発行する。この例では、リソースデータベース203への問い合わせ時点における負荷の少ないエージェント処理系を選択し、サブネットC106のmachineA、サブネットC106のmachineB、サブネットD110のmachineA、及びサブネットD110のmachineBに4分割した各タスクエージェントを発行する。
各タスクエージェントは、その処理を終了すると、情報交換部404を用いて親エージェントの規定ポートに処理結果情報を送信する(ステップ2104,2109〜2116)。親エージェントは、発行したすべてのタスクエージェントから処理結果情報を受信した後に、これらを統合して処理を終了する(ステップ2201〜2205)。
この間、親エージェントは、エージェント処理系のエージェント実行状況報告/問い合わせ部408を介して、エージェントモニタ204に各タスクのエージェント実行状況を問い合わせることができる(ステップ2008)。
エージェント実行状況は、以下のようにして伝達される。タスクエージェントを受け取ったエージェント処理系は、タスクエージェント実行開始時、タスクエージェント実行休止時、タスクエージェント実行再開時、及びタスクエージェント実行終了時に、エージェント処理系自身の属するサブネットのエージェントモニタ204にその状況を報告する(ステップ2109,2111,2113,2115)。
更にそのエージェントモニタ204は、適当なタイミングでそのサブネットのエージェント実行状況をサービス依存関係上最上位のエージェントモニタ204に報告する(2110,2112,2114,2116)。尚、このとき、報告を発したエージェントモニタ204は、報告と引き換えに、最上位のエージェントモニタ204から他のサブネットのエージェント実行状況を得ることも可能である。
最上位より下位に位置するエージェントモニタ204は、それぞれ図15に示すサービスの管理情報の更新アルゴリズムにより最新のエージェント実行状況を得る(ステップ1917〜1920)。
図16は、親エージェントがタスクエージェントを発行してからある時間経過後にエージェントモニタ204に対して4つのタスクエージェントの実行状況の問い合わせを行なった結果である(ステップ2008)。このように、問い合わせを発行するユーザーが特に問い合わせの内容を指定しない場合には、そのユーザーが発行したエージェントの実行状況が返される。
ライン1601は、親エージェントの実行状況を示し、そのエージェントIDはnetA.machine1.0001であり、実行中のエージェント処理系はサブネットA102のmachine1で動作し、問い合わせを行なう直前の実行状況は子タスクからの処理結果情報を待つ状態であることが読みとれる。ライン1602からライン1605は、4つに分割されたタスクエージェントの実行状況を示し、サブネットC106のmachineA、サブネットC106のmachineB、サブネットD110のmachineA、及びサブネットD110のmachineBでそれぞれのタスクエージェントが実行中であることが読みとれる。
実施の形態4
本発明によるエージェント機構に参加しているサブネットのサービス稼動状態の管理方法及びサブネットの削除方法について説明する。
レジストリサーバーは、サービス依存関係を管理する他に、定期的に各サブネットのサービスにアクセスすることにより、それらのサービスが利用可能かどうかをチェックしている。あるサービスに対してある一定時間内にアクセスできない場合には、レジストリサーバーはそのサービスを「休止中」と判断し、その旨をそのサービスとエージェント機構内のサービス依存関係を有するすべてのサービスに通知する。また、レジストリサーバーは、その後も同様にアクセスを試み、サービスが利用可能な状態に復帰したならば「稼働中」とし、同様にすべてのサービスにその旨を通知する。
エージェント機構に参加しているサブネットを削除する場合には、削除するサブネットの管理者がレジストリサーバーに対してサブネットの削除を依頼する。レジストリサーバーは、削除するサブネット上のすべてのサービスを「休止中」としたのち、その旨を「休止中」のサービスとエージェント機構内のサービス依存関係を有するすべてのサービスに通知する。通知を受けたすべてサービスは、その内部に保持するサービス依存関係から「休止中」のサービスを削除する。このようにして、サブネットはエージェント機構から削除される。
尚、上述の全ての実施の形態において、エージェントを送出するコンピュータシステムとエージェントを受け入れるコンピュータシステムともに、LANを利用するサブネットを構成している例を想定して説明した。しかし、サブネット上の各サービスに相当する機能を有するコンピュータシステムであれば、必ずしもサブネットを構成している必要はない。従って、エージェントを送出するコンピュータシステムとエージェントを受け入れるコンピュータシステムのいずれか一方または双方が、サブネットを構成しない単体のコンピュータシステムとしてネットワークコンピュータシステムに参加し、エージェント機構の一部となることが可能である。
また、情報交換の方法として、通信媒体による情報交換方法を用いて説明したが、物理的な記憶媒体を直接移動させる方法を用いても、本発明を実施することができる。
以上のように、本発明によるエージェント方式を用いることにより、ユーザーは、ネットワークのセキュリティ上の制約やシステムの構成を意識することなく、あたかも仮想的な単一の計算機を利用するように、公衆回線やインターネットで相互接続されたコンピュータシステムの資源を利用することができる。また、エージェントに依頼する処理を確実に実行し、または削除することができるので、エージェント方式によってミッションクリティカルな処理を実行することができる。
産業上の利用可能性
本発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
エージェント送信側コンピュータシステムに対してあらかじめ所定の通信条件を通知し、その通信条件に従ってエージェントを送信するので、安価なインターネットを接続手段とする場合の欠点である不正アクセスの恐れを解消する為に設けられたファイアウォール等のアクセス制御部の認可が円滑に受けられるようになり、安価に構築されるイントラネット等で安全かつ円滑なエージェント方法を採用することができる。特に、ミッションクリティカルな処理を行なう場合に有効である。
認証されたユーザーのみがエージェントを送信できるので、不適正なユーザーによるエージェントの送信を防止し、安全性を高めることができる。
情報交換部の特性に応じ、適切な情報交換方法を選択できるので、データ転送に要する時間や経費、安全性等の観点から最適なエージェントの転送を行なうことができる。
エージェント処理系の特性に応じ、エージェント処理の内容に適したエージェント処理系を選択できるので、エージェント処理を効果的に実行することができる。
エージェント処理系が利用するサービスに対してエージェント発行者のアクセス権に従ってアクセスするので、エージェント実行側コンピュータシステムの内部処理について機密管理等の目的からアクセス権を制限している場合に、エージェント方法でもその制限を維持し、その目的を達成することができる。また、エージェント処理中のアクセス権確認の処理を自動化し、エージェント処理の円滑化を図ることができる。
エージェント発行者は、エージェントを発行したコンピュータシステムを用いてエージェント実行状況の報告を受けるので、エージェント処理を失敗した場合に適切な対応を取ることができる。また、各エージェント処理系を選択する場合に、効率的に処理を配分するようにエージェント処理系を選択することができる等の利点がある。
エージェントの少なくとも一部を暗号化して転送するので、通信中に第三者に監視されてもエージェントの秘密が保たれる。また、不正なエージェントを排除し、安全性を維持することができる。
エージェント実行側コンピュータシステムが複数存在する場合に、エージェント送信側コンピュータシステムに対してエージェント実行側コンピュータシステムが個別に所定の通信条件を通知すると、エージェント送信側コンピュータシステムでの通信条件の管理が複雑になるが、本発明では1回の通知に他のエージェント実行側コンピュータシステムの通信条件も含めるようにしたので、全ての通信条件を一括して更新することができ、通信条件の管理負担を軽減することができる。
情報交換方法の識別情報を含むエージェント送信履歴を記憶するので、情報交換方法毎のエージェント送信実績に基づいて最適な情報交換方法を選択することができ、実際的にエージェントの転送効率を向上させることができる。
第三者認証局による認証結果に基づいて、エージェント送信側コンピュータシステムの認定を行なうので、エージェント送信側コンピュータシステムの正当性が担保され、エージェント方法の安全性が向上する。
複数のエージェント送信側コンピュータシステムで同一のユーザー認証データを有するので、適正なユーザーは常にいずれのエージェント送信側コンピュータシステムにおいても同様のユーザー認証手続きにより、エージェントを送信でき、ユーザーの利便性が向上する。
エージェント送信側コンピュータシステムは、エージェント処理系の特性をデータベースとして保有するので、迅速かつ網羅的にエージェント処理系を選択することができる。
他のエージェント実行側コンピュータシステムのエージェント実行状況を合わせて取得することができるので、複数のエージェント実行側コンピュータシステムにエージェントを分散処理させる場合に、エージェント送信側コンピュータシステムはそれぞれの実行状況を一括して取得することができ、実行状況管理の負担が軽減される。また、ユーザーの利便性が向上する。
複数のエージェント送信側コンピュータシステム間で同一に保たれる通信条件は、情報交換経路情報に基づく管理情報転送経路に従って送信されるので、安全かつ早く最新の通信条件をすべてのエージェント送信側コンピュータシステムで共有でき、エージェントの送信が円滑に行われる。
複数のエージェント実行側コンピュータシステム間でのエージェント実行状況は、情報交換経路情報に基づく管理情報転送経路に従って送信されるので、安全かつ早く、広範囲のエージェント実行状況を得ることができる。
エージェント実行側コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成するので、ユーザは、ネットワークシステムで提供される多様なサービスを遠隔操作で利用することができる。
エージェント送信側コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成するので、ユーザは、多くコンピュータシステムを操作部としてエージェント方法によるサービスを利用することができる。

Claims (15)

  1. エージェントを送信する送信側コンピュータシステムと、
    コンピュータシステムのアカウントを記憶するレジストリサーバーと、送信側コンピュータシステムから実行側コンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を記憶する情報交換経路管理テーブルとを備え、エージェントを受信して実行する実行側コンピュータシステムと
    を含む複数のコンピュータシステムを備えたネットワークシステム内でエージェントを転送するエージェント方法において、
    上記実行側コンピュータシステムが、
    上記レジストリサーバーが記憶したアカウントを参照して、送信側コンピュータシステムを認証する工程と、
    上記送信側コンピュータシステムを認証できた場合に、上記情報交換経路管理テーブルに記憶した所定の通信条件を、上記認証できた送信側コンピュータシステムに送信する工程
    送信側コンピュータシステムから上記所定の通信条件に従い送信されたエージェントを受信する工程と、
    上記エージェントを受信する工程により受信したエージェントを実行する工程とを有するとともに、
    上記送信側コンピュータシステムが、
    上記実行側コンピュータシステムにより送信された所定の通信条件を受信する工程と、
    上記所定の通信条件を受信する工程により受信した所定の通信条件を記憶する工程と、
    上記実行側コンピュータシステムに送信するエージェントを生成する工程と、
    上記所定の通信条件を記憶する工程によって記憶した所定の通信条件に従って上記実行側コンピュータシステムに上記生成したエージェントを送信する工程を有する
    ことを特徴とするエージェント方法。
  2. 上記所定の通信条件は、上記実行側コンピュータシステムが実行側コンピュータシステムのアクセスを制限するアクセス制御部を有する場合に、上記アクセス制御部がアクセスを許可する通信条件を含むことを特徴とする請求項1記載のエージェント方法。
  3. 上記エージェント方法は、更に、上記送信側コンピュータシステムにより、
    エージェント発行ユーザの認証を行なう工程を有し、
    上記送信側コンピュータシステムは、
    ユーザの認証ができた場合に上記エージェントを生成する工程を実行することを特徴とする請求項1記載のエージェント方法。
  4. 上記実行側コンピュータシステムは、エージェントを実行できる複数のエージェント処理系を有し、
    上記送信側コンピュータシステムによりエージェントを生成する工程は、エージェント処理系の特性に基づいてエージェント処理系を選択する工程と、選択したエージェント処理系の識別情報をエージェントの一部に書き込む工程を有し、
    上記実行側コンピュータシステムによりエージェントを実行する工程は、エージェントの一部からエージェント処理系の識別情報を読み出す工程と、識別情報で特定されるエージェント処理系へエージェントを転送する工程を有することを特徴とする請求項1記載のエージェント方法。
  5. 上記送信側コンピュータシステムによりエージェントを生成する工程は、エージェント発行ユーザの識別情報をエージェントの一部に書き込む工程を有し、
    上記実行側コンピュータシステムによりエージェントを実行する工程は、エージェントの一部からエージェント発行ユーザの識別情報を読み出す工程と、エージェント発行ユーザの識別情報で特定されるエージェント発行ユーザのアクセス権に従ってサービスにアクセスする工程を有することを特徴とする請求項1記載のエージェント方法。
  6. 上記エージェント方法は、更に、
    上記実行側コンピュータシステムにより、
    上記送信側コンピュータシステムへエージェント実行状況を送信する工程と、
    上記送信側コンピュータシステムにより、
    上記実行側コンピュータシステムからエージェント実行状況を受信する工程とを有することを特徴とする請求項1記載のエージェント方法。
  7. 上記エージェント方法は、更に、
    上記送信側コンピュータシステムにより
    エージェントの少なくとも一部を暗号化する工程と、
    上記実行側コンピュータシステムにより
    エージェントの暗号部分を復号化する工程を有することを特徴とする請求項1記載のエージェント方法。
  8. 上記送信側コンピュータシステムは、実行側コンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を複数有し
    上記エージェント方法は、更に、
    上記送信側コンピュータシステムにより
    上記実行側コンピュータシステムへエージェントを送信した場合、上記複数の通信条件のうち使用した通信条件の識別情報を含むエージェント送信履歴を記憶する工程を有し、
    上記送信側コンピュータシステムにより実行側コンピュータシステムにエージェントを送信する工程は、上記記憶したエージェント送信履歴に基づいて、エージェントを送信する場合に使用する通信条件を選択する工程を有する
    ことを特徴とする請求項1記載のエージェント方法。
  9. 上記実行側コンピュータシステムにより上記送信側のコンピュータシステムを認定する工程は、さらに、第三者認証局により、認証する工程を有することを特徴とする請求項1記載のエージェント方法。
  10. 上記エージェント方法は、更に、上記送信側コンピュータシステムにより、
    上記送信側コンピュータシステムのエージェント発行ユーザの認証を行う工程により認証されたユーザ認証データを、上記ネットワークシステムの上記送信側コンピュータシステム以外の他のコンピュータシステムへ送信する工程と、
    上記送信側コンピュータシステム以外の他のコンピュータシステムにより、
    上記送信側コンピュータシステムが送信したユーザ認証データを受信する工程と、
    上記受信したユーザ認証データを記憶する工程と
    上記エージェントの生成を行う場合に、上記記憶したユーザ認証データを読み出して、エージェント発行ユーザの認証を行う工程と、
    上記エージェント発行ユーザの認証が行われた場合に、上記エージェント生成する工程と
    を有することを特徴とする請求項記載のエージェント方法。
  11. 上記エージェント方法は、更に、
    上記実行側コンピュータシステムにより、
    上記情報交換経路管理テーブルが記憶した所定の通信条件に基づいて、エージェントの実行状況を送信する管理情報転送経路を定義する工程と
    エージェント実行状況の送信先を管理情報転送経路に従って決定する工程を有することを特徴とする請求項6記載のエージェント方法。
  12. のコンピュータシステムと通信するコンピュータシステムにおいて、
    他のコンピュータシステムがコンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を記憶する情報交換経路管理テーブルと
    上記他のコンピュータシステムのアカウントを記憶するレジストリサーバーと、
    エージェントを送信する他のコンピュータシステムを、上記レジストリサーバーが記憶 するアカウントを参照して認証するコンピュータシステム認証部と、
    上記コンピュータシステム認証部により認証できた場合に、認証した他のコンピュータシステムに対して、上記情報交換経路管理テーブルが記憶する所定の通信条件を送信する通信条件送信部と、
    他のコンピュータシステムからエージェントを受信するエージェント受信部と、
    受信したエージェントを実行するエージェント実行部を有することを特徴とするコンピュータシステム。
  13. のコンピュータシステムと通信するコンピュータシステムにおいて、
    上記コンピュータシステムが他のコンピュータシステムにより認証された結果送信されてきた所定の通信条件であって、他のコンピュータシステムへエージェントを送信する場合に使用する所定の通信条件を受信する通信条件受信部と、
    受信した所定の通信条件を記憶する通信条件記憶部と、
    他のコンピュータシステムで実行されるエージェントを生成するエージェント生成部と、
    記憶した所定の通信条件に従って他のコンピュータシステムへエージェントを送信するエージェント送信部を有することを特徴とするコンピュータシステム。
  14. コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成することを特徴とする請求項12記載のコンピュータシステム。
  15. コンピュータシステムは、複数のコンピュータシステムを有するネットワークシステムを構成することを特徴とする請求項13記載のコンピュータシステム。
JP2000581544A 1998-11-06 1998-11-06 エージェント方法及びコンピュータシステム Expired - Fee Related JP3731645B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/004995 WO2000028428A1 (en) 1998-11-06 1998-11-06 Agent method and computer system

Publications (1)

Publication Number Publication Date
JP3731645B2 true JP3731645B2 (ja) 2006-01-05

Family

ID=14209350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000581544A Expired - Fee Related JP3731645B2 (ja) 1998-11-06 1998-11-06 エージェント方法及びコンピュータシステム

Country Status (4)

Country Link
US (1) US6785819B1 (ja)
EP (1) EP1067463A4 (ja)
JP (1) JP3731645B2 (ja)
WO (1) WO2000028428A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033580A (ja) * 2000-11-10 2010-02-12 Sightsound Technolegies Inc 信頼性のある分散型ピアツーピアネットワークを確立する方法及びシステム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147784A1 (en) * 2001-04-06 2002-10-10 Stephen Gold User account handling on aggregated group of multiple headless computer entities
JP4588927B2 (ja) * 2001-06-22 2010-12-01 住友重機械工業株式会社 認証装置及び方法、ネットワークシステム、コンピュータプログラム
US7739741B2 (en) * 2002-03-28 2010-06-15 British Telecommunications Public Limited Company Method and apparatus for network security
US7676541B2 (en) * 2002-05-30 2010-03-09 Microsoft Corporation Peer communication channel partitioning
US8583739B2 (en) * 2004-03-02 2013-11-12 International Business Machines Corporation Facilitating the sending of mail from a restricted communications network
US20060190999A1 (en) * 2004-11-22 2006-08-24 David Chen Method and apparatus for two-way transmission of medical data
WO2016129608A1 (ja) * 2015-02-09 2016-08-18 旭硝子株式会社 含フッ素重合体の製造方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2701580B1 (fr) * 1993-02-10 1995-03-24 Bull Sa Procédé d'administration d'applications avec des protocoles standards.
US5603031A (en) * 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
JPH0787122A (ja) 1993-09-13 1995-03-31 Nissin Electric Co Ltd ルータ形式ネットワーク間接続装置
US5632011A (en) 1995-05-22 1997-05-20 Sterling Commerce, Inc. Electronic mail management system for operation on a host computer system
US5678002A (en) * 1995-07-18 1997-10-14 Microsoft Corporation System and method for providing automated customer support
US5727950A (en) * 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
CN1121774C (zh) * 1997-04-30 2003-09-17 摩托罗拉公司 从专用计算机中访问和传输信息的系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033580A (ja) * 2000-11-10 2010-02-12 Sightsound Technolegies Inc 信頼性のある分散型ピアツーピアネットワークを確立する方法及びシステム

Also Published As

Publication number Publication date
EP1067463A4 (en) 2005-08-03
EP1067463A1 (en) 2001-01-10
US6785819B1 (en) 2004-08-31
WO2000028428A1 (en) 2000-05-18

Similar Documents

Publication Publication Date Title
US7380282B2 (en) Secure sharing of personal devices among different users
US10263855B2 (en) Authenticating connections and program identity in a messaging system
US6981139B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program
JP3995338B2 (ja) ネットワーク接続制御方法及びシステム
US8255573B2 (en) Communication network system, gateway, data communication method and program providing medium
RU2297037C2 (ru) Управление защищенной линией связи в динамических сетях
US6959393B2 (en) System and method for secure message-oriented network communications
US8887296B2 (en) Method and system for object-based multi-level security in a service oriented architecture
JP4770423B2 (ja) ディジタル証明書に関する情報の管理方法、通信相手の認証方法、情報処理装置、mfp、およびコンピュータプログラム
RU2412480C2 (ru) Система и способ установления того, что сервер и корреспондент имеют согласованную защищенную почту
US20090158394A1 (en) Super peer based peer-to-peer network system and peer authentication method thereof
US20080118070A1 (en) Open and distributed systems to provide secure email service
GB2436668A (en) Corporate LAN with key server that stores copies of user's private keys to allow network manager to check for viruses/spam in encrypted emails
WO2008119273A1 (fr) Procédé pour libérer et télécharger un fichier, serveur de gestion, terminal et système
JP4339234B2 (ja) Vpn接続構築システム
WO2001043393A2 (en) Decoupling access control from key management in a network
JP3731645B2 (ja) エージェント方法及びコンピュータシステム
US20060122936A1 (en) System and method for secure publication of online content
US7526560B1 (en) Method and apparatus for sharing a secure connection between a client and multiple server nodes
JP4389145B2 (ja) クライアントサーバシステムおよびその装置
JP2005217679A (ja) 通信相手の認証を行う認証サーバ
JP4320904B2 (ja) ゲートウェイおよびデータ通信方法
JP2004023597A (ja) ネットワークシステムおよびプログラム
JP5018128B2 (ja) ネットワークシステム、ネットワークシステムの通信制御方法およびプログラム
JP2001127759A (ja) 情報配布システム及び記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051004

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051004

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees