JP2001005778A - 選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体 - Google Patents

選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体

Info

Publication number
JP2001005778A
JP2001005778A JP11175829A JP17582999A JP2001005778A JP 2001005778 A JP2001005778 A JP 2001005778A JP 11175829 A JP11175829 A JP 11175829A JP 17582999 A JP17582999 A JP 17582999A JP 2001005778 A JP2001005778 A JP 2001005778A
Authority
JP
Japan
Prior art keywords
condition
message
server
cost
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.)
Withdrawn
Application number
JP11175829A
Other languages
English (en)
Inventor
Takao Mori
隆夫 毛利
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11175829A priority Critical patent/JP2001005778A/ja
Priority to US09/571,939 priority patent/US6629146B1/en
Publication of JP2001005778A publication Critical patent/JP2001005778A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 仲介システムのコストを低減する。 【解決手段】 メッセージを経路情報233aに基づい
て選別し出力する要求回答処理部235と、その選別の
条件である経路情報233aに基づいてその選別の条件
よりも緩い条件を生成し、生成された条件をクライアン
ト側エージェントに伝搬する経路情報作成伝搬部232
とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メッセージを選別
して仲介する選別仲介装置、メッセージを送信する送信
装置、コンピュータシステムをそのような選別仲介装置
として動作させる選別仲介プログラムが記憶されてなる
選別仲介プログラム記憶媒体、およびコンピュータシス
テムをそのような送信装置として動作させる送信プログ
ラムが記憶されてなる送信プログラム記憶媒体に関す
る。
【0002】
【従来の技術】インターネット、イントラネットなどの
ネットワークが発達した現在、ネットワーク上には多数
のサーバが存在する。ユーザはクライアントプログラム
を通じて、目的に応じてサーバを選択し、そのサーバに
アクセスを行うことで、情報検索やデータベースへの登
録といった処理を行う。このアクセスは、処理を求める
メッセージがネットワーク上を伝達されることで実現さ
れる。
【0003】このように複数のサーバが存在する場合に
は、従来は、クライアント側では以下の2つの情報を事
前に知っておく必要がある。
【0004】(1)どこにサーバが存在するのか(サー
バのアドレス) (2)そのサーバではどのようなサービスが提供されて
いるのか(サーバのサービス内容) ここで、サーバのサービス内容は、サーバを選択する際
の条件として使われるので、以下では「サーバ条件」と
称する。また、上記(1)と(2)とを合わせた情報対
のことを「ルール」と称し、ルールの集合を、メッセー
ジの伝達経路を決めるという意味で「経路情報」と称す
る。また、処理を求めるメッセージのことを以下では
「要求」と称する場合がある。
【0005】これらの経路情報は、ユーザが何らかの方
法で入手して、クライアントプログラムを操作する際に
入力するものであり、あるいはクライアントプログラム
に直接埋め込まれているものである。そのため、サーバ
のアドレスやサーバ条件が変化する場合には、それらの
情報をユーザに通知し、あるいはクライアントプログラ
ムをそのたびに変更する必要があるが、サーバのアドレ
ス等が頻繁に変化する場合には、そのような通知や変更
は困難である。
【0006】そこで、この様な問題を解決するために、
ネットワーク上のあるアドレスに、エージェントと呼ば
れる、プログラムあるいは選別仲介装置を置き、そのエ
ージェントがクライアントとサーバとの間でメッセージ
を選別して仲介する仲介システムが考案されている。こ
のような仲介システムのもっとも基本的な構成は、クラ
イアントとサーバとの間にエージェントが一つだけ配置
される構成である。
【0007】図1は、単一エージェントによる仲介シス
テムの概念図である。
【0008】エージェントAgent1には、サーバ条
件とアドレスとの組が1つ以上登録されている。クライ
アントCは、エージェントAgent1のアドレスを知
っており、全ての要求を一旦エージェントAgent1
に送る。クライアントCから送られてきた要求は、どう
いうサーバに要求を送るのかをクライアントCが指定し
たクライアント指定条件と、選択されたサーバに送られ
る要求本文とからなる。クライアント指定条件は、サー
バ条件と比較され、サーバ条件を満たす要求のみが、そ
のサーバ条件に対応するアドレスで示されるサーバSe
rver1,Server2に送られる。つまり、エー
ジェントAgent1は、クライアント指定条件とサー
バ条件とを比較することにより、クライアントCからの
要求を満足するような適切なサーバServer1,S
erver2を選択しクライアントCからの要求を転送
する。その後、サーバServer1,Server2
による処理の結果得られた回答をクライアントCに返答
する。このような仲介システムでは、ユーザやクライア
ントは、サーバのアドレスやサービス内容を事前に知っ
ておくことが不要であるため、クライアント側の負担が
軽い。また、このような仲介システムでは、経路情報が
1カ所に集中されているためメンテナンスが容易であ
る。
【0009】上述したような単一のエージェントによる
システムは、容易に構築可能であり、システム規模が小
さい場合には問題なく動作する。しかし、単一エージェ
ントのままシステムの大規模化を計るといろいろな問題
を生じる。
【0010】先ず、動作時の負荷がエージェントに集中
するという問題を生じる。単一エージェントによるシス
テムでは、クライアントとサーバとの間の全てのやり取
りが一つのエージェントに集中してしまうため、クライ
アント数やサーバ数が多くなると、エージェントが容易
にボトルネックになる。
【0011】また、ネットワークに多数のサーバが接続
されている場合には、サーバ条件等の管理を含むサーバ
の管理は、複数の管理者によって分担されていることが
多い。しかし、単一エージェントによるシステムでは、
各管理者によって管理されるべきサーバ条件等を含む経
路情報が一つのエージェントに集中されるため、サーバ
条件等を公開する範囲の制限が難しく、セキュリティに
関する問題が発生しやすい。
【0012】単一エージェントによるシステムでは、こ
の様な問題を生じるため、特にシステム規模が大きくな
った場合には、複数のエージェントによる仲介システム
を構築するべきである。また、エージェントによる仲介
システムが普及した場合には、単一エージェントによっ
て動作しているシステム同士をつなげて一つのシステム
を構築する場合が多数発生すると考えられる。このよう
な場合には、すでに稼動している複数のエージェントを
合体させて、巨大な単一エージェントによるシステムを
構築するよりは、エージェントどうしが通信を行って連
携するような、複数エージェントによるシステムを構築
するほうが、既存のシステムに手を加える必要が少な
く、実現が容易である。
【0013】図2は、複数エージェントによる仲介シス
テムの概念図である。
【0014】複数エージェントによるシステムにおい
て、エージェントが、クライアントからの要求を、他の
エージェントに接続されているサーバに転送するために
は、他のエージェントが持っているサーバ条件等を知っ
ている必要がある。あるエージェントから他のエージェ
ントにサーバ条件等を教える方式には、大きく分けて、
アドバタイズ方式とレプリケーション方式の2種類の方
式が存在する。
【0015】図3は、アドバタイズ方式の説明図であ
る。
【0016】アドバタイズ方式は、あるエージェント
が、自分が持つルールに基づいて、そのルールのアドレ
スを自分のアドレスに書き換えたルールを生成し、生成
したルールを別のエージェントに伝搬させて登録する方
式である。このような登録によって、エージェントから
別のエージェントに向けて要求を転送するためのリンク
が張られたことになる。図3には、一例として、Age
nt2が自分の持つルールのアドレス「Server
3」,「Server4」を自分のアドレス「Agen
t2」に書き換え、サーバ条件「Condition
3」,「Condition4」とともにエージェント
Agent1に送り、その結果、エージェントAgen
t1からエージェントAgent2に条件つきリンクが
張られた例が示されている。以下では、エージェントA
gent1のような、サーバ条件等を登録されるエージ
ェントのことを「クライアント側エージェント」、エー
ジェントAgent2のような、サーバ条件等を送り出
すエージェントのことを「サーバ側エージェント」と称
する場合がある。クライアント側エージェントに登録さ
れるサーバ条件は、明示的に設定される場合(条件つき
リンク)もあるし、特に条件を設定しない場合(無条件
リンク)もある。また、サーバ側エージェントから見る
と、クライアント側エージェントは、メッセージの送信
装置として機能している。
【0017】上述したような条件つきリンクが張られる
と、クライアントCからクライアント側エージェントA
gent1に到着した要求は、まずクライアント側エー
ジェントAgent1のもつサーバ条件と比較され、サ
ーバ条件を満たしているのであれば、転送先として指定
されているサーバ側エージェントAgent2に転送さ
れる。つづいてサーバ側エージェントAgent2の持
つサーバ条件と比較されて、次の転送先となるサーバが
決定される。このようにアドバタイズ方式でサーバ条件
等が伝搬された場合には、クライアントCからの要求
は、もともとサーバを登録してあったサーバ側エージェ
ントAgent2を必ず経由する。以下では、アドバタ
イズ方式によりサーバ条件等が伝搬されることを単に
「アドバタイズ」と称する場合がある。
【0018】図4は、レプリケーション方式の説明図で
ある。
【0019】レプリケーション方式では、エージェント
が、自分の持つサーバ条件とサーバのアドレスの組(ル
ール)のコピーを他のエージェントに伝搬し登録させ
る。コピーを受け付けたエージェントには、サーバのア
ドレスが登録されるために、それらのサーバに要求が直
接送られる。
【0020】図4にはレプリケーション方式によりコピ
ーが伝搬された結果の一例として、サーバ側エージェン
トAgent2が持つサーバ条件「Condition
3」,「Condition4」とアドレス「Serv
er3」,「Server4」のコピーが、クライアン
ト側エージェントAgent1に伝搬された例が示され
ている。このような伝搬の結果、エージェントAgen
t1もエージェントAgent2も同じサーバ条件「C
ondition3」,「Condition4」を持
ち、エージェントAgent1は、クライアントCから
の要求をサーバ条件「Condition3」,「Co
ndition4」を用いて自分で評価し、エージェン
トAgent2を経由することなく直接サーバServ
er3,Server4に要求を送ることとなる。以下
では、レプリケーション方式によりコピーが伝搬される
ことを単に「レプリケーション」と称する場合がある。
【0021】上述したアドバタイズやレプリケーション
が実行され、ルールに対応する各サーバ条件と各アドレ
スが生成されてクライアント側エージェントに伝搬され
る場合には、一般に、サーバ側エージェントが有する経
路情報を構成する全てのルールについて各サーバ条件等
が生成される。そこで、以下では、クライアント側エー
ジェントに伝搬されるサーバ条件とアドレスの組の集合
のことも「経路情報」と称する場合がある。
【0022】
【発明が解決しようとする課題】ところで、サーバやエ
ージェントなどが通信ネットワークで多数接続されたシ
ステムでは、システムを構成しているサーバ等がシステ
ムから外れることや、サーバやエージェントなどの相互
間を接続している通信ネットワークが不通になることが
頻繁に発生することが予想される。このため、上述した
ようなアドバタイズやレプリケーションによって伝搬さ
れたサーバ条件やアドレス等は、ある程度の期間を経る
と不正確な情報となる可能性が高い。そこで、伝搬され
るサーバ条件等に有効期限を設定し、有効期限をすぎる
前に再度アドバタイズ等を行うことが望ましい。
【0023】しかし、システムの規模が大きいと、アド
バタイズやレプリケーションによってシステム全体で伝
搬されるサーバ条件等の伝搬量が多く伝搬コストが高い
という問題がある。
【0024】また、サーバ条件を無条件にしたアドバタ
イズでは、サーバ条件の情報量が少ないため上述した伝
搬コストは小さいが、どのようなメッセージであっても
サーバ側エージェントに無条件で転送されるため、メッ
セージの転送コストが高いという問題がある。
【0025】本発明は、上記事情に鑑み、仲介システム
のコストを低減することができる選別仲介装置、仲介シ
ステムのコストを低減することができる送信装置、コン
ピュータシステムをそのような選別仲介装置として動作
させる選別仲介プログラムが記憶されてなる選別仲介プ
ログラム記憶媒体、およびコンピュータシステムをその
ような送信装置として動作させる送信プログラムが記憶
されてなる送信プログラム記憶媒体を提供することを目
的とする。
【0026】
【課題を解決するための手段】上記目的を達成する本発
明の選別仲介装置は、メッセージを送信する送信装置か
ら送信されたメッセージを受信する受信手段と、受信手
段によって受信されたメッセージを所定の条件で選別し
て出力する出力手段と、出力手段による選別の条件に基
づいた、その選別の条件よりも緩い条件を生成する条件
生成手段と、上記送信装置に、条件生成手段によって生
成された条件を提示するとともに、メッセージをその条
件で選別して送信してくることを求めるアドバタイズ手
段とを備えたことを特徴とする。
【0027】ここで、「選別の条件よりも緩い条件」と
は、選別の条件によって選別されているメッセージを含
むメッセージが選別されるとともに、選別の条件によっ
て選別されているメッセージよりも多くのメッセージが
選別されるような条件を意味している。また、「選別の
条件に基づいた」とは、上述した無条件を除くことを意
味している。
【0028】本発明の選別仲介装置によれば、条件生成
手段によって「選別の条件よりも緩い条件」が生成さ
れ、生成された条件がアドバタイズ手段によって送信装
置に付与される。つまり、本発明では、上述したアドバ
タイズが拡張されている。
【0029】この拡張されたアドバタイズにおいてクラ
イアント側エージェントに伝搬されるサーバ条件として
は、サーバ側エージェントが持っている元のサーバ条件
と同じサーバ条件が最も詳細な厳しい条件であり、何も
指定しない無条件が最も抽象的な緩い条件である。
【0030】クライアント側エージェントに登録される
サーバ条件が、サーバ側エージェントが保持しているサ
ーバ条件と矛盾する条件や、サーバ条件よりも制約の強
い条件であると、サーバ側エージェントが保持している
元のサーバ条件を満たすような要求であってもサーバ側
エージェントへの転送が禁止される場合がある。つま
り、本来サーバまで転送されるべき要求の転送が禁止さ
れてしまうこことなり問題である。
【0031】逆に、上述した拡張されたアドバタイズに
よって、元のサーバ条件より緩い抽象化されたサーバ条
件がクライアント側エージェントに登録されると、クラ
イアント側エージェントからサーバ側エージェントに対
して、サーバ条件が抽象的になった分だけ、新たな要求
が転送されるようになる。しかし、この新たな要求は、
サーバ側エージェントの持つサーバ条件を満たさないた
めサーバへの転送が禁止される。つまりサーバから見た
場合には、抽象化された条件がクライアント側エージェ
ントで用いられても、自分に届けられる要求は不変であ
り問題ない。
【0032】ところで、一般に、詳細なサーバ条件ほど
サーバ条件を表現するために大きなデータサイズが必要
であり、高い伝搬コストも必要である。このため、上述
した拡張されたアドバタイズにおいてサーバ条件の伝搬
コストと、クライアントからの要求の転送コストとはト
レードオフ関係にある。例えば、クライアント側エージ
ェントに、サーバ側エージェントのサーバ条件が完全に
コピーされた場合には、クライアントからの要求のうち
サーバ条件を満たす要求のみが転送される。そのため、
クライアントからの要求を転送する際のコストは最小に
なるが、サーバ条件を伝搬するコストは最大になる。逆
に、サーバ条件が無条件である場合には、サーバ条件を
伝搬するコストは最小になるが、全ての要求がサーバ側
のエージェントに転送されるため、要求の転送コストは
最大になる。従って、サーバ側エージェントのサーバ条
件よりも「緩い」条件を伝搬するアドバタイズでは、サ
ーバ条件の伝搬コストと要求の転送コストとの双方が低
減されて仲介システムの総コストが低減される。
【0033】本発明の選別仲介装置は、上記出力手段
が、受信手段によって受信されたメッセージを選別して
出力するに当たり、複数の個別条件の論理積からなる複
合条件に従って選別して出力するものであり、上記条件
生成手段が、条件を生成するに当たり、上記複数の個別
条件のうち、1つ以上の個別条件を除いた残りの個別条
件の論理積からなる条件を生成するものであってもよ
く、あるいは、上記出力手段が、上記受信手段によって
受信されたメッセージを複数の出力先に出力するもので
あるとともに、1つ以上の個別条件の論理積からなる、
出力先に応じた複合条件で該メッセージを選別して出力
するものであり、上記条件生成手段が、条件を生成する
に当たり、出力手段による選別の各複合条件に共通する
個別条件を抽出し、抽出された個別条件の論理積からな
る条件を生成するものであってもよい。
【0034】これらの条件生成手段による条件生成手順
については、後で詳しく説明する。
【0035】また、本発明の選別仲介装置は、上記条件
生成手段が、所定の指示を受けて、上記出力手段による
選別の条件よりも緩く、かつ、前記アドバタイズ手段に
よって既に前記送信装置に付与された条件よりも厳しい
条件を新たに生成するものであり、条件生成手段によっ
て新たに生成された条件を上記送信装置に付与するため
に要する付与コストと、仮にその新たに生成された条件
が上記送信装置に付与された場合にその送信装置からの
送信が停止されるメッセージの送信に要する送信コスト
とを比較する第1のコスト比較手段を備え、上記アドバ
タイズ手段が、第1のコスト比較手段による比較の結
果、送信コストの方が大きい場合に、条件生成手段によ
って新たに生成された条件を送信装置に付与するもので
あることが望ましい。
【0036】このような第1のコスト比較手段等を備え
た選別仲介装置によれば、第1のコスト比較手段による
コスト比較に基づいて、コストがより低くなるようなア
ドバタイズが行われる。
【0037】さらに、本発明の選別仲介装置は、上記受
信手段によって受信されたメッセージの仲介コストと、
仮にそのメッセージが上記送信装置から上記出力手段の
出力先に直接送信された場合の送信コストとを求めて比
較する第2のコスト比較手段と、上記送信装置に、上記
出力手段による選別の条件と同じ条件を付与するととも
に、付与した条件によってメッセージを選別して出力手
段の出力先へと直接送信することを求めるレプリケーシ
ョン手段と、第2のコスト比較手段による比較結果が、
仲介コストよりも送信コストの方が低いという結果であ
る場合に、アドバタイズ手段に替えてレプリケーション
手段を作動させる切替手段とを備えることが望ましい。
【0038】このような切替手段等を備えた選別仲介装
置によれば、コスト的に有利である場合に、アドバタイ
ズに替えてレプリケーションが採用される。これにより
一層のコスト低減が計られる。
【0039】上記目的を達成する本発明の第1の送信装
置は、メッセージが入力される入力手段、入力手段に入
力されたメッセージを選別して送信する送信手段、送信
手段による選別の条件を送信手段の送信先から取得する
条件取得手段、送信手段による選別の結果、送信が禁止
されたメッセージを仮に送信した場合に要する送信コス
トと、取得手段によって条件を取得するために要した取
得コストとを比較する第3のコスト比較手段、および前
記第3のコスト比較手段による比較結果を前記送信先に
伝える第1の伝達手段を備えたことを特徴とする。
【0040】本発明の第1の送信装置によれば、第3の
コスト比較手段によってメッセージの送信コストと条件
の取得コストが比較され比較結果が送信先に伝達され
る。そして、条件取得手段によって新たな条件が取得さ
れることにより総コストが低減される。
【0041】上記目的を達成する本発明の第2の送信装
置は、メッセージが入力される入力手段、入力手段に入
力されたメッセージを送信する送信手段、メッセージの
送信コストと、仮にそのメッセージが、メッセージを仲
介する仲介装置によって仲介された場合の仲介コストと
を求めて比較する第4のコスト比較手段、および第4の
コスト比較手段による比較結果を仲介装置に伝える第2
の伝達手段を備えたことを特徴とする。
【0042】本発明の第2の送信装置によれば、第4の
コスト比較手段によってメッセージの送信コストと仲介
コストが比較され比較結果が仲介装置に伝達される。こ
れにより、仲介装置はコスト的に有利な方を選択するこ
とができる。
【0043】上記目的を達成する本発明の選別仲介プロ
グラム記憶媒体は、メッセージを送信する送信装置から
送信されたメッセージを受信する受信手段と、受信手段
によって受信されたメッセージを所定の条件で選別して
出力する出力手段と、出力手段による選別の条件に基づ
いた、その選別の条件よりも緩い条件を生成する条件生
成手段と、送信装置に、条件生成手段によって生成され
た条件を付与するとともに、メッセージをその条件で選
別して送信してくることを求めるアドバタイズ手段とを
備えた選別仲介プログラムが記憶されてなることを特徴
とする。
【0044】上記目的を達成する本発明の第1の送信プ
ログラム記憶媒体は、メッセージが入力される入力手
段、入力手段に入力されたメッセージを選別して送信す
る送信手段、送信手段による選別の条件を前記送信手段
の送信先から取得する条件取得手段、送信手段による選
別の結果、送信が禁止されたメッセージが仮に送信され
る場合に要する送信コストと、取得手段によって条件を
取得するために要した取得コストとを比較する第3のコ
スト比較手段、および第3のコスト比較手段による比較
結果を送信先に伝える第1の伝達手段を備えた送信プロ
グラムが記憶されてなることを特徴とする。
【0045】上記目的を達成する本発明の第2の送信プ
ログラム記憶媒体は、メッセージが入力される入力手
段、入力手段に入力されたメッセージを送信する送信手
段、メッセージの送信コストと、仮にそのメッセージ
が、メッセージを仲介する仲介装置によって仲介された
場合の仲介コストとを求めて比較する第4のコスト比較
手段、および第4のコスト比較手段による比較結果を仲
介装置に伝える第2の伝達手段を備えた送信プログラム
が記憶されてなることを特徴とする。
【0046】なお、本発明にいう選別仲介プログラムに
ついては、ここではその基本形態のみを示すのにとどめ
るが、これは単に重複を避けるためであり、本発明にい
う選別仲介プログラムには、上記の基本形態の選別仲介
プログラムのみではなく、前述した選別仲介装置の各形
態に対応する各種の形態の選別仲介プログラムが含まれ
る。
【0047】また、上記本発明の選別仲介装置や送信装
置と、上記選別仲介プログラムや送信プログラムとで
は、それらを構成する構成要素名として、受信手段や送
信手段といった互いに同一の名称を付しているが、選別
仲介装置や送信装置の場合は、そのような作用をなすソ
フトウェアとハードウェアとの結合を指し、選別仲介プ
ログラムや送信プログラムの場合は、そのような作用を
なすソフトウェアの部分のみを指している。
【0048】
【発明の実施の形態】以下、本発明の実施形態について
説明する。本実施形態は、上述したエージェントの一種
であり、本発明の選別仲介装置の一実施形態としての機
能と、本発明の送信装置の一実施形態としての機能とを
合わせ持つ。本実施形態のエージェントが、上述したサ
ーバ側エージェントとして機能する場合には、本発明の
選別仲介装置の一実施形態としての機能が発揮される。
また、本実施形態のエージェントが、上述したクライア
ント側エージェントとして機能する場合には、本発明の
送信装置の一実施形態としての機能が発揮される。
【0049】図5は、本実施形態のエージェントによっ
て構成される仲介システムを示す図である。
【0050】この図5には、それぞれがコンピュータで
構成された、2台のエージェント100,200、1台
のクライアント300、および1台のサーバ400が示
されている。エージェント100,200は、ワークス
テーションと称されるような高速で大容量なコンピュー
タであり、エージェントの管理者によって操作される。
クライアント300は、いわゆるパーソナルコンピュー
タであり、ユーザによって操作される。これらのコンピ
ュータ100,200,300,400は、通信ネット
ワーク500によって互いに接続されて仲介システムを
構成している。ただし、この図5に示されている2台の
エージェント100,200、1台のクライアント30
0、および1台のサーバ400は、仲介システムを構成
しているエージェント等が代表的に示されてものであ
り、以下では、特に断らずに、複数のサーバなどを含む
仲介システムを前提として説明する場合がある。
【0051】2台のエージェント100,200は同一
の機能を有する装置であるが、ここでは、クライアント
300はエージェント100にメッセージを送り、その
結果、エージェント100はクライアント側エージェン
トとして機能している。また、エージェント200に
は、サーバ400のサーバ条件とアドレスが当初の経路
情報として登録されており、その結果、エージェント2
00はサーバ側エージェントとして機能している。
【0052】エージェント100,200を構成してい
るコンピュータは、CPU、RAMメモリ、磁気ディス
ク、通信用ボード等を内蔵した本体101,201、本
体からの指示により画面表示を行なうCRTディスプレ
イ102,202、このコンピュータに管理者の指示や
文字情報を入力するためのキーボード103,203、
およびCRTディスプレイ102,202の表示画面上
の任意の位置を指定することによりその位置に応じた指
示を入力するマウス104,204を備えている。本体
101,201には、外観上、フロッピィディスクやM
O(光磁気ディスク)600が取り出し自在に装填され
るフロッピィディスク装填口101a,201aやMO
装填口101b,201bを有しており、その内部に
は、装填されたフロッピィディスク、MO600をドラ
イブするフロッピィディスクドライバ、MOドライバも
内蔵されている。
【0053】ここでは、フロッピィディスクに、本発明
にいう選別仲介プログラムおよび送信プログラムを内包
したエージェントプログラムが記憶されており、このフ
ロッピィディスクがフロッピィディスク装填口101
a,201aから本体部101,201内に装填され、
フロッピィディスクドライバによりそのフロッピィディ
スクに記憶されたエージェントプログラムがこのコンピ
ュータシステムの磁気ディスク内にインストールされ
る。このコンピュータシステムの磁気ディスク内にイン
ストールされたエージェントプログラムが起動される
と、このコンピュータシステムは、本発明の仲介選別装
置および送信装置それぞれの機能を併せ持つエージェン
トとして動作する。
【0054】従って、エージェントプログラムが記憶さ
れたフロッピィディスクは、本発明の選別仲介プログラ
ム記憶媒体および送信プログラム記憶媒体双方の一実施
形態に相当する。
【0055】また、このフロッピィディスクに記憶され
たエージェントプログラムは、上記のようにしてコンピ
ュータシステムの磁気ディスク内にインストールされる
が、そのエージェントプログラムがインストールされた
状態の磁気ディスクも、本発明の選別仲介プログラム記
憶媒体および送信プログラム記憶媒体双方の一実施形態
に相当する。
【0056】さらに、そのエージェントプログラムがM
O600等にダウンロードされるときは、そのダウンロ
ードされたエージェントプログラムを記憶した状態にあ
るMO600等も、本発明の選別仲介プログラム記憶媒
体および送信プログラム記憶媒体双方の一実施形態に相
当する。
【0057】以下、エージェントのハードウェア構成に
ついて、上述したエージェント100を代表させて説明
する。
【0058】図6は、エージェントのハードウェア構成
図である。
【0059】このハードウェア構成図には、中央演算処
理装置(CPU)111、RAM112、磁気ディスク
コントローラ113、フロッピィディスクドライバ11
4、MOドライバ115、マウスコントローラ116、
キーボードコントローラ117、ディスプレイコントロ
ーラ118、および通信用ボード119が示されてお
り、それらはバス110で相互に接続されている。
【0060】フロッピィディスクドライバ114、MO
ドライバ115は、図5を参照して説明したように、そ
れぞれフロッピィディスク601、MO600が装填さ
れ、装填されたフロッピィディスク601、MO600
をアクセスするものである。
【0061】また、図6には、磁気ディスクコントロー
ラ113によりアクセスされる磁気ディスク120、マ
ウスコントローラ116により制御されるマウス10
4、キーボードコントローラ117により制御されるキ
ーボード103、ディスプレイコントローラ118によ
り制御されるCRTディスプレイ102、および通信用
ボード119を介して接続される通信ネットワーク50
0も示されている。
【0062】前述したように、フロッピィディスク60
1にはエージェントプログラムが記憶されており、フロ
ッピィディスクドライバ114により、そのフロッピィ
ディスク601からエージェントプログラムが読み込ま
れ、バス110を経由し、磁気ディスクコントローラ1
13により磁気ディスク120内に格納される。実際の
実行にあたっては、その磁気ディスク120内のエージ
ェントプログラムはRAM112上にロードされ、CP
U111により実行される。
【0063】以下、エージェントの機能について説明す
る。図5に示すエージェント100,200は、クライ
アント側エージェントおよびサーバ側エージェント双方
の機能を有しており、それらの機能を同時に発揮するこ
ともできるものであるが、以下の説明では、便宜上、ク
ライアント側エージェントとしての機能とサーバ側エー
ジェントとしての機能とを分けて説明する。
【0064】図7は、クライアント側エージェントの機
能ブロック図である。
【0065】クライアント側エージェント100は、メ
イン処理部130、タイマメッセージ発生部131、経
路情報管理部132、伝搬制御情報決定部133、およ
び要求回答処理部134で構成されており、経路情報1
32a、伝搬制御情報133a、および過去の要求の履
歴134aを記憶している。ここで、伝搬制御情報13
3aには、経路情報がアドバタイズ方式とレプリケーシ
ョン方式とのどちらの方式で伝搬されるかを示す伝搬モ
ードと、伝搬される経路情報のデータサイズの上限を示
す伝搬情報サイズと、サーバ側エージェントが通信相手
として安定している度合いを示す安定度が含まれてい
る。
【0066】上述したように、サーバやエージェントな
どが多数接続されたシステムでは、サーバ等がシステム
から外れることや、サーバ等の間の通信ネットワークが
不通になることが頻繁に発生することが予想される。つ
まり、あるエージェントから見ると、通信相手としての
エージェント存在が不安定である可能性がある。そし
て、そのような不安定な相手と経路情報をやり取りする
と、その経路情報が示す要求転送経路が不通となる可能
性がある。そこで、本実施形態では、通信相手として安
定している度合いを示す安定度を見積もり、見積もられ
た安定度に応じた期間だけ経路情報を保持することによ
って、不通になった要求転送経路を示す経路情報が残る
ことを回避している。
【0067】あるエージェントからみたときの他のエー
ジェントの安定度は、基本的に、接続が成功する可能性
から決定される。
【0068】例えば、他のエージェントが、ノート型パ
ーソナルコンピュータ上のクライアントあるいはサーバ
に対するアクセスを仲介するためにそのパーソナルコン
ピュータ上に組み込まれていて、その結果、そのエージ
ェントが頻繁にネットワークから切り離される場合や、
他のエージェントが、非常に混雑する不安定な通信ネッ
トワークの向こうに繋がっている場合や、他のエージェ
ントの処理が遅くてタイムアウトすることが多い場合な
どは、相手のエージェントとの通信が失敗する可能性が
あるため、これらの場合には相手の安定度を低く見積も
ることが望ましい。
【0069】また、相手のエージェントの安定度は、そ
の相手との通信履歴に基づいて更新することが望まし
い。例えば、相手との通信歴が浅いときには、相手が不
安定な存在である可能性があるので、相手の安定度を低
く見積もる。その後、通信が通常に処理される毎に安定
度を高く見積もり直し、逆に、通信が失敗した場合には
安定度を低く見積もり直す。
【0070】図7に示す伝搬制御情報133aには、こ
のように見積もられた安定度が含まれている。
【0071】メイン処理部130は、クライアントやタ
イマメッセージ発生部131やサーバ側エージェントか
ら送られてくるメッセージを、経路情報管理部132、
伝搬制御情報決定部133、および要求回答処理部13
4に振り分ける。
【0072】タイマメッセージ発生部131は、伝搬制
御情報133aを更新するきっかけを与えるタイマメッ
セージを定期的に発行する。
【0073】経路情報管理部132は、サーバ側エージ
ェントから届けられた経路情報132aの登録、参照、
削除等を行う。
【0074】ところで、本実施形態では、サーバ条件の
形式は、以下の2点を満足するものであることを前提と
している。即ち、(1)条件は、本発明にいう個別条件
に相当する項がいくつかつなげられて構成されるもので
あることと、(2)条件全体が成り立つかどうかは、複
数の項が同時に成り立つこと(AND)や、どれかの項
が成り立つこと(OR)や、それらの組み合わせで表現
可能であることである。
【0075】このような形式は、論理式表現に変換可能
であるため、本実施形態の説明ではすべてのサーバ条件
は論理式表現を用いて表記する。ただし、サーバ条件
は、意味的に論理式表現に変換可能であればよく、その
実際の表記が論理式表現である必要はない。
【0076】また、上述したように、あるエージェント
が持っている経路情報は、サーバ条件とアドレスとの組
であるルールの集合からなる。ルールは、例えば次のよ
うに表記する。
【0077】ConditionA AND Cond
itionB−>Server1 ここで、‘−>’の左側はサーバ条件であり、「Con
ditionA」、「ConditionB」は上述し
た項である。また‘−>’の右側はアドレスである。
【0078】なお、 ConditionA OR ConditionB−
>Server1 というルールは、 ConditionA−>Server1 ConditionB−>Server1 という2つのルールの集合と等価な効果を持つ。そこ
で、以下では、「OR」が含まれているサーバ条件を持
つルールについては、それを複数のルールに分解して表
記する。つまり、以下では、サーバ条件は「AND」だ
けで連結されているものとして取り扱う。
【0079】図7に示す伝搬制御情報決定部133は、
伝搬制御情報133aを管理することによって、伝搬モ
ードの切り替えや、伝搬情報サイズの調整や、安定度の
変更を行う。本実施形態では、後述するように、伝搬モ
ードはコスト比較に基づいて動的に選択されている。
【0080】要求回答処理部134は、クライアントか
らの要求を受け取り、その要求を、経路情報132aに
基づいて適切なサーバやサーバ側エージェントに転送
し、転送先のサーバ等から得られた回答をまとめてクラ
イアントに返答する。
【0081】図8は、サーバ側エージェントの機能ブロ
ック図である。
【0082】サーバ側エージェント200は、メイン処
理部230、タイマメッセージ発生部231、経路情報
作成伝搬部232、経路情報管理部233、伝搬制御情
報決定部234、および要求回答処理部235で構成さ
れており、前回伝搬した経路情報232a、要求転送の
際に自分が用いる経路情報233a、伝搬制御情報23
4a、および過去の要求の履歴235aを記憶してい
る。
【0083】メイン処理部230は、クライアント側エ
ージェントやタイマメッセージ発生部から送られてくる
メッセージを、伝搬制御情報決定部234、および要求
回答処理部235に振り分ける。
【0084】経路情報作成伝搬部232は、クライアン
ト側エージェントに伝搬する経路情報を作成し伝搬す
る。
【0085】タイマメッセージ発生部231、経路情報
管理部233、伝搬制御情報決定部234、および要求
回答処理部235は、それぞれ、図7に示すクライアン
ト側エージェント100のタイマメッセージ発生部13
1、経路情報管理部132、伝搬制御情報決定部13
3、および要求回答処理部134に対応している。
【0086】図9は、図7および図8に示すタイマメッ
セージ発生部のフローチャートである。
【0087】タイマメッセージ発生部は、伝搬制御情報
133a,234aを更新するきっかけを与えるタイマ
メッセージをメイン処理部130,230に送ること
(ステップS101)と、予め定められた一定時間だけ
待機すること(ステップS102)とを繰り返す。これ
により、定期的に伝搬制御情報133a,234aが見
直されることとなる。
【0088】図10は、図7に示すクライアント側エー
ジェント100のメイン処理部130のフローチャート
であり、クライアント側エージェント100のメインル
ーチンに相当する。
【0089】メイン処理部130は、クライアント等か
らメッセージが送られてくるのを待機し(ステップS2
01)、メッセージが送られてくると、そのメッセージ
を以下のように振り分ける。即ち、そのメッセージが、
クライアントから送られてきた要求である場合(ステッ
プS202:Y)には、そのメッセージは要求回答処理
部134に振り分けられて、要求の転送や回答の返答を
行う要求回答処理が実行される(ステップS203)。
また、送られてきたメッセージが、タイマメッセージ発
生部131からのタイマメッセージである場合には(ス
テップS204:Y)、そのメッセージは伝搬制御情報
決定部133に振り分けられて、伝搬モードや伝搬情報
サイズ等の見直しを行う伝搬制御処理が実行される(ス
テップS205)。また、送られてきたメッセージが、
サーバ側エージェントから伝搬されてきた経路情報であ
る場合には(ステップS206:Y)、そのメッセージ
は経路情報管理部132に振り分けられて、経路情報を
受信する経路情報受信処理が実行される(ステップS2
07)。
【0090】送られてきたメッセージが、これらの3つ
のメッセージのいずれのメッセージでもなかった場合に
は、エラー処理を実行して(ステップS208)メッセ
ージ待機(ステップS201)に戻る。
【0091】図11は、図8に示すサーバ側エージェン
ト200のメイン処理部230のフローチャートであ
り、サーバ側エージェント200のメインルーチンに相
当する。
【0092】メイン処理部230のフローチャートは、
図10に示すフローチャートによく似ており、図11に
示すステップS301、ステップS302、ステップS
303、ステップS304、ステップS305、ステッ
プS308は、それぞれ図10に示すステップS20
1、ステップS202、ステップS203、ステップS
204、ステップS205、ステップS208に対応す
る。但し、ステップS303の要求回答処理と、ステッ
プS305の伝搬制御処理の詳細な内容は、図10に示
すステップS303の要求回答処理や、ステップS30
5の伝搬制御処理の内容とはやや異なっている。これら
の処理の詳細については後述する。
【0093】なお、図11のステップS301で送られ
てきたメッセージが、クライアント側エージェントから
送られてきた、伝搬制御情報の変更要求である場合には
(ステップS306:Y)、そのメッセージは図8に示
す伝搬制御情報決定部234に振り分けられて、伝搬制
御情報の変更を受け付ける「伝搬制御情報の受信処理」
が実行される(ステップS307)。
【0094】図12は、クライアント側エージェントで
実行される要求回答処理のフローチャートである。
【0095】この要求回答処理は、図10に示すメイン
ルーチンで、クライアントからの要求が送られてきたと
判定された場合(ステップS202:Y)にステップS
203で実行される処理であり、この処理は、本発明に
いう送信手段の一例である。
【0096】この要求回答処理では、先ず、クライアン
トから要求が受け取られ(ステップS401)、そのク
ライアントからの要求に含まれるクライアント指定条件
と矛盾しないようなサーバまたはサーバ側エージェント
のアドレス(宛先)のリストを作成する「宛先リストの
作成」処理が実行され(ステップS402)、宛先リス
トで示されるアドレスに要求が転送される(ステップS
403)。
【0097】その後、空の回答リストが用意され(ステ
ップS404)、サーバ側エージェントから回答がタイ
ムアウト時間内に届いた場合(ステップS406:N)
には、その回答が回答リストに追加され(ステップS4
07)、その回答を送ってきたサーバ側エージェントの
安定度が上げられる(ステップS408)。全ての宛先
から回答が戻ってきたら(ステップS405:Y)回答
が回答リストにまとめられてクライアントに返答される
(ステップS409)。
【0098】全回答が揃わないうちにタイムアウト時間
に達した場合(ステップS406:Y)には、回答が得
られなかったサーバ側エージェントの安定度を下げ(ス
テップS410)、届いている分だけの回答がまとめら
れてクライアントに回答される(ステップS409)。
【0099】図13は、サーバ側エージェントで実行さ
れる要求回答処理のフローチャートである。
【0100】この要求回答処理は、図11に示すメイン
ルーチンで、クライアントからの要求が転送されてきた
と判定された場合(ステップS302:Y)にステップ
S303で実行される処理であり、この処理は、本発明
にいう出力手段の一例である。
【0101】この図13に示すステップS501〜ステ
ップS508は、図12に示すステップS401〜ステ
ップS407およびステップS409に対応するもので
ある。
【0102】回答リストがクライアント側エージェント
に返答されると(ステップS508)、そのクライアン
ト側エージェントに対する安定度が更新される(ステッ
プS509)。
【0103】図14は、宛先リストの作成処理のフロー
チャートである。
【0104】この宛先リストの作成処理は、図10に示
すメインルーチンでクライアントからの要求を受け取っ
た場合にステップS203で実行される図12に示す要
求回答処理のステップS402、および図11に示すメ
インルーチンでクライアントからの要求を受け取った場
合にステップS303で実行される図13に示す要求回
答処理のステップS502で実行される処理である。
【0105】上述したように、クライアントから送られ
てきた要求には、どういうサーバに要求を送るのかをク
ライアントが指定したクライアント指定条件が含まれて
おり、宛先リストは、経路情報のすべてのルールに対し
て、ルールに含まれるサーバ条件とクライアント指定条
件とを比較し、両者が矛盾しない場合に、そのルールに
含まれるアドレスをリストに加えることで作成する。
【0106】この「宛先リストの作成」処理が開始され
ると、先ず、空の宛先リストが用意され(ステップS6
01)、経路情報内の未処理のルールが1つ選択され
(ステップS603)、そのルールの有効期限内であれ
ば(ステップS604:N)、クライアントからの要求
に含まれるクライアント指定条件と、そのルールのサー
バ条件が比較される(ステップS605)。
【0107】ここで、サーバ条件とクライアント指定条
件とが矛盾を生じるか否かの判定方法について説明す
る。
【0108】本実施形態では、サーバ条件とクライアン
ト指定条件が明示的に矛盾した場合にのみ、矛盾が生じ
たと判定される。
【0109】例えば、サーバ条件が、「Conditi
onA」という条件で、クライアント指定条件がその否
定、not(ConditionA)である場合には、
両者は明示的に矛盾している。このような場合には矛盾
が生じたと判定される。
【0110】また、例えば、サーバ条件が「Condi
tionA」という条件で、クライアント指定条件が
「ConditionA AND Condition
B」という条件であった場合には、サーバ条件には「C
onditionB」という項が明示的に含まれていな
いので、「ConditionB」という項は単に無視
される。そして、「ConditionA」という項ど
うしは明示的に一致するので、サーバ条件とクライアン
ト指定条件とは矛盾しないと判定される。
【0111】従って、何も項を持たない条件は、どのよ
うな条件とも矛盾を生じないこととなる。
【0112】このような判定方法は、ユーザが望む回答
を提供する可能性がある全サーバに要求が送られなるべ
く多くの回答が集められるような仲介システムでは、好
ましい判定方法である。ただし、このような判定方法は
一例であって、判定方法としては他の判定方法も採用さ
れ得る。
【0113】また、サーバ条件を構成している各項につ
いて、クライアント指定条件と矛盾を生じて要求転送量
の低減に役立った度合いを示す有効度が対応づけられて
おり、サーバ条件とクライアント指定条件が比較される
度に、各項の有効度が更新される。その結果、所定の頻
度より高いの頻度で矛盾を生じた項については有効度が
上がり、逆に、その所定の頻度より低いの頻度で矛盾を
生じた項については有効度が下がる。
【0114】サーバ条件とクライアント指定条件が比較
され(ステップS605)、その結果両者が矛盾しなけ
れば(ステップS606:N)、そのルールのアドレス
が宛先リストに追加される(ステップS607)。この
ような処理が全てのルールについて済むと(ステップS
602:Y)、宛先リストが回答される(ステップS6
08)。
【0115】なお、選択されたルールの有効期限が切れ
ている場合(ステップS604:Y)には、そのルール
は経路情報から削除される(ステップS609)。
【0116】図15は、安定度の更新処理のフローチャ
ートである。
【0117】この安定度の更新処理は、図12および図
13に示す要求回答処理や後述する他の処理で、他のエ
ージェントに対する通信に成功しあるいは失敗した場合
に、図12に示す要求回答処理のステップS408,ス
テップS410や図13に示す要求回答処理のステップ
S509等で実行される処理である。図15中には一例
として、安定度が値「0」から値「1」までのいずれか
の値を取るような更新手順が示されている。
【0118】対象となるエージェントとの通信が成功し
た場合には、そのエージェントの安定度が増加され、管
理者が決めた上限値(例えば「1.0」)を安定度が上
回るような場合には安定度はその上限値に設定される。
逆に、対象となるエージェントとの通信が失敗した場合
には、そのエージェントの安定度が減少され、管理者が
決めた下限値(例えば「0.0」)を安定度が下回るよ
うな場合には安定度はその下限値に設定される。
【0119】図16は、クライアント側エージェントの
伝搬制御処理のフローチャートである。
【0120】この伝搬制御処理は、図10に示すメイン
ルーチンで、タイマメッセージを受け取ったと判定され
た場合(ステップS204:Y)にステップS205で
実行される処理である。
【0121】この伝搬制御処理では、現在の伝搬モード
がアドバタイズ方式を示しているかレプリケーション方
式を示しているかに応じた処理が行われる。
【0122】伝搬モードがレプリケーション方式を示し
ている場合(ステップS801:Y)には、レプリケー
ションからアドバタイズへの切り替えが必要か否かが後
述するように判断される(ステップS802)。そし
て、切り替えが必要であると判断される(ステップS8
03:Y)とサーバ側エージェントにその旨が通知され
る(ステップS804)。
【0123】一方、伝搬モードがアドバタイズ方式を示
している場合(ステップS801:N)には、アドバタ
イズされるサーバ条件の抽象化が必要か否かが後述する
ように判断される(ステップS805)。そして、抽象
化が必要であると判断される(ステップS806:Y)
とサーバ側エージェントにその旨が通知される(ステッ
プS807)。
【0124】ここで、レプリケーションからアドバタイ
ズへの切り替えが必要か否かの判断処理(ステップS8
02)は、本発明にいう第4のコスト比較手段の一例で
あり、切り替えが必要であるとの旨の通知処理(ステッ
プS804)は、本発明にいう第2の伝達手段の一例で
ある。また、サーバ条件の抽象化が必要か否かの判断処
理(ステップS805)は、本発明にいう第3のコスト
比較手段の一例であり、抽象化が必要であるとの旨の通
知処理(ステップS807)は、本発明にいう第1の伝
達手段の一例である。
【0125】ここで、経路情報の伝搬方式の動的な選択
方法について説明する。
【0126】但し、以下では、経路情報の伝搬方式と、
経路情報が伝搬された後に要求が転送される方式とを区
別せずに「アドバタイズ方式」や「レプリケーション方
式」と称する場合がある。
【0127】上述したような拡張されたアドバタイズ方
式では、クライアント側エージェントに伝搬する経路情
報のサーバ条件として、サーバ側エージェントが持って
いるサーバ条件よりも緩い条件を用いることができる。
従って、サーバ側エージェントが持っているサーバ条件
の中に、他のエージェントに対して隠蔽したい条件が含
まれている場合でも、そのような条件を除外したサーバ
条件を登録することができるため、サーバ条件のセキュ
リティを保つことができる。また、アドバタイズ方式で
は、サーバへのアクセスは必ずサーバ側エージェントを
経由するため、サーバ側エージェントでアクセスをチェ
ックすることができ、サーバでのアクセスチェックの負
担を軽減することができる。
【0128】一方、レプリケーション方式では、サーバ
側エージェントが持っているサーバ条件をそのままコピ
ーする必要があるため、サーバ条件の一部を隠蔽して非
公開にすることは許されない。また、サーバのアドレス
もコピーする必要があるため、サーバ側エージェントに
接続されている個々のサーバが全て公開される。また、
レプリケーション方式では、クライアント側エージェン
トからサーバに要求が直接転送されるため、サーバ側エ
ージェントがサーバへの全アクセスを制御するようなシ
ステムが構成できない。そのため、サーバでアクセス制
御を厳重に行う必要があり、サーバでのアクセスチェッ
クの負担が重い。
【0129】このようにアドバタイズ方式とレプリケー
ション方式とでは、経路情報の公開範囲の制限やアクセ
ス制御などの面で大きく異なる。そのため、情報のセキ
ュリティを確保したい場合には、レプリケーション方式
は不適切であり、アドバタイズ方式を選択するより他に
選択肢がない。しかし、セキュリティの問題がない場合
には、コスト的に有利な方式を選択することが望まし
く、両方式のうちのいずれか一方を動的に選択するよう
な指針やアルゴリズムが求められる。
【0130】アドバタイズ方式では、クライアントから
の要求は、クライアント側エージェントとサーバ側エー
ジェントの双方のエージェントを経由してサーバに転送
される。このため、双方のエージェントを経由する分の
遅延が発生し、その分の遅延コストが発生する。これに
対し、レプリケーション方式では、クライアント側エー
ジェントからサーバに要求が直接転送されるので、転送
の遅延および遅延コストが抑えられる。このように遅延
コストという面からはレプリケーション方式の方が有利
である。
【0131】しかし、その一方で、多数のサーバに同じ
要求が送られる場合には、クライアント側エージェント
から各サーバへ個別に要求が転送されるレプリケーショ
ン方式よりも、一旦サーバ側エージェントに1つの要求
が送られそこから各サーバに転送されるアドバタイズ方
式の方が、転送コストが低い場合があり得る。つまり、
転送コストという面からは、レプリケーション方式の方
がアドバタイズ方式よりも有利な場合があり得る。特に
クライアント側エージェントとサーバとの間が遠く、サ
ーバ側エージェントと各サーバとの間が近い場合には、
アドバタイズ方式では、離れているエージェント間を同
じ要求が一度だけ転送されるために、レプリケーション
方式よりも高速で低コストな転送が期待できる。
【0132】最も詳細なサーバ条件を伝搬する場合のア
ドバタイズと、サーバ条件をコピーするレプリケーショ
ンとでは、経路情報のデータサイズが同じであるため、
経路情報の伝搬コストにはほとんど差がない。このた
め、最も詳細なサーバ条件を伝搬するアドバタイズを行
った場合のアドバタイズ方式における要求転送コスト
と、レプリケーション方式における要求転送コストとを
比較することによって、アドバタイズ方式における、要
求のまとめ送りによる効果と、レプリケーション方式に
おける、転送に携わるエージェントが一つ減少すること
による効果とを比較することとなる。
【0133】以下、具体的なコスト比較方法について説
明する。
【0134】図17は、アドバタイズ方式における要求
転送コストの説明図である。
【0135】図17に示すように、クライアント300
からクライアント側エージェントAgent1に要求が
転送される際の送信コストをC0、クライアント側エー
ジェントAgent1からサーバ側エージェントAge
nt2に要求が転送される際の送信コストをC1、サー
バ側エージェントから各サーバServer1,Ser
ver2,・・・,Servernに要求が転送される
際の送信コストを一律にC2とし、また、クライアント
側エージェントAgent1、サーバ側エージェントA
gent2それぞれが要求の転送先を計算するのに必要
な計算コストをCa1、Ca2とする。そうすると、ア
ドバタイズ方式でクライアント300からn台のサーバ
まで要求を転送する際の転送コストWは以下のように計
算される。
【0136】 W=C0+Cal+C1+Ca2+n*C2 図18は、レプリケーション方式における要求転送コス
トの説明図である。
【0137】図17と同様に、クライアント300から
クライアント側エージェントAgent1に要求が転送
される際の送信コストをC0とし、クライアント側エー
ジェントAgent1が要求の転送先を計算するのに必
要な計算コストをCa1とし、さらに、クライアント側
エージェントAgent1から各サーバServer
1,Server2,・・・,Servernに要求が
転送される際の送信コストを一律にC3とすると、レプ
リケーション方式でクライアント300からn台のサー
バまで要求を転送する際の転送コストZは以下のように
計算される。
【0138】Z=C0+Cal+n*C3 そして、アドバタイズ方式での転送コストWと、レプリ
ケーション方式での転送コストZとの差分W−Zは、C
3=C1+C2であると仮定すると、以下のように計算
される。
【0139】 W−Z=(C0+Cal+C1+Ca2+n*C2) −(C0+Cal+n*C3) =Ca2+C1+n*C2−n*C3 =Ca2+C1+n*C2−n*(C1+C2) =Ca2−(n−1)*C1 従って、コスト面からみてアドバタイズ方式が選択され
るべきなのは、W<Z すなわち Ca2<(n−
1)*C1という場合であるし、W>Zという場合であ
ればレプリケーション方式の方がコスト的に有利であ
る。
【0140】ところで、要求が転送されるサーバの台数
nとしては、同一の要求が実際に転送されている台数を
用いることが望ましい。このため、本実施形態では、ア
ドバタイズ方式が選択されている場合には、サーバ側エ
ージェントでコスト比較が行われて、アドバタイズ方式
からレプリケーション方式に切り替えるべきか否かが判
断される。逆に、レプリケーション方式が選択される場
合には、クライアント側エージェントでコスト比較が行
われて、レプリケーション方式からアドバタイズ方式に
切り替えるべきか否かが判断される。
【0141】また、Ca2やC1といったコストを正確
に求めることは難しい。そこで、近似的に判断する場合
には、Ca2やC1といったコストを予想して事前に設
定した閾値と、宛先のサーバの台数nとを比較して、台
数nが閾値を越えた場合にはアドバタイズ方式を選択
し、そうでない場合にはレプリケーション方式を選択す
るという方法も考えられる。
【0142】図19は、レプリケーションからアドバタ
イズへ切り替えるか否かを判断する処理のフローチャー
トである。
【0143】この処理は、図16に示すクライアント側
エージェントの伝搬制御処理で伝搬モードがレプリケー
ション方式を示している場合(ステップS801:Y)
にステップS802で実行される処理であり、図16に
示す伝搬制御処理は、図10に示すメインルーチンでタ
イマメッセージを受け取ったと判定された場合(ステッ
プS204:Y)にステップS205で実行される処理
である。
【0144】この処理では、現在要求が転送されている
サーバの台数nが求められ(ステップS901)、サー
バの台数nを用いて、伝搬モードがアドバタイズ方式に
切り替えられた場合の転送コストWが上述したように計
算される(ステップS902)。また、サーバの台数n
を用いて、現状のレプリケーション方式による転送コス
トZも上述したように計算される(ステップS90
3)。
【0145】その後、転送コストWが転送コストZと比
較され(ステップS904)、転送コストWが転送コス
トZよりも低い場合(ステップS904:Y)は、レプ
リケーションからアドバタイズへの切り替えが必要であ
ると回答され(ステップS905)、転送コストWが転
送コストZ以上である場合(ステップS904:N)
は、切り替えが不要であると回答される(ステップS9
06)。
【0146】図20は、アドバタイズされるサーバ条件
の抽象化が必要か否かを判断する処理のフローチャート
である。
【0147】この処理は、図16に示すクライアント側
エージェントの伝搬制御処理で、伝搬モードがアドバタ
イズ方式を示している場合(ステップS801:N)に
実行される処理であり、図16に示す伝搬制御処理は、
図10に示すメインルーチンで、タイマメッセージを受
け取ったと判定された場合(ステップS204:Y)に
ステップS205で実行される処理である。
【0148】クライアント側エージェントでは、現在ア
ドバタイズ方式で受理している経路情報のサーバ条件
が、上述した、サーバ条件の伝搬コストと要求の転送コ
ストとのトレードオフ関係からみて妥当かどうかを見積
もることができる。
【0149】アドバタイズで伝搬された経路情報に含ま
れるサーバ条件の現在のデータサイズをSad、その経
路情報の有効期限をLとすると、現在受け取っているサ
ーバ条件の伝搬コストX2は、X2=Sad/Lという
式で計算される(ステップS1001)。
【0150】また、現在の経路情報による選別のためサ
ーバ側エージェントへの転送が禁止される要求が単位時
間当たりに受け取られる頻度をFreq、要求の平均的
なデータサイズをSreqとすると、現在転送が禁止さ
れている要求を仮にサーバ側エージェントに転送した場
合のコストY2は、Y2=Sreq*Freqという式
で計算される(ステップS1002)。
【0151】このように計算されたコストX2,Y2が
比較され(ステップS1003)、X2>Y2である場
合(ステップS1003:Y)には、即ち、アドバタイ
ズによって受け取られた経路情報のサーバ条件は、伝搬
コストの割には転送禁止の効果が少ないということとな
るので、アドバタイズに用いられるサーバ条件の抽象化
が必要であると回答される(ステップS1004)。
【0152】一方、コストX2,Y2が比較され(ステ
ップS1003)、X2≦Y2である場合(ステップS
1003:N)には、抽象化が不要であると回答される
(ステップS1005)。
【0153】なお、ここでは、サーバ条件の伝搬コスト
や、要求を転送する際の転送コストは、実際にネットワ
ークを流れたメッセージの量、つまり送信するメッセー
ジの大きさと回数の積を計算している。しかし、もっと
簡単に、送信したメッセージの個数で近似的にコスト計
算する方法も考えられる。
【0154】以上で、クライアント側エージェントの伝
搬制御処理についての説明を終了し、次に、サーバ側エ
ージェントの伝搬制御処理について説明する。
【0155】図21は、サーバ側エージェントの伝搬制
御処理のフローチャートである。
【0156】この伝搬制御処理は、図11に示すメイン
ルーチンで、タイマメッセージを受け取ったと判定され
た場合(ステップS304:Y)にステップS305で
実行される処理である。
【0157】クライアント側エージェントの伝搬制御処
理と同様に、サーバ側エージェントの伝搬制御処理で
も、現在の伝搬モードがアドバタイズ方式を示している
かレプリケーション方式を示しているかに応じた処理が
行われる。
【0158】伝搬モードがレプリケーション方式を示し
ている場合(ステップS1101:N)には、なにも処
理されずに、フローは図11のメインルーチンに戻る。
【0159】伝搬モードがアドバタイズ方式を示してい
る場合(ステップS1101:Y)には、アドバタイズ
からレプリケーションへの切り替えが必要か否かが後述
するように判断され(ステップS1102)、切り替え
が必要であると判断される(ステップS1103:Y)
と伝搬モードがレプリケーション方式に切り替えられる
(ステップS1104)。このステップS1104は、
本発明にいう切替手段の一例である。その後、新たな経
路情報が作成され(ステップS1105)、新たに作成
された経路情報の有効期限が設定されてその経路情報が
クライアント側エージェントに伝搬される(ステップS
1106)。
【0160】アドバタイズからレプリケーションへの切
り替えが不要であると判断された場合(ステップS11
03:N)には、アドバタイズによって伝搬されるサー
バ条件を詳細にする必要があるか否かが後述するように
判断され(ステップS1107)、詳細化が必要である
と判断される(ステップS1108:Y)と、アドバタ
イズされる経路情報のデータサイズを規定する伝搬情報
サイズがより大きく設定される(ステップS110
9)。その後、上記同様に、新たな経路情報が作成され
(ステップS1105)、新たに作成された経路情報の
有効期限が設定されてその経路情報がクライアント側エ
ージェントに伝搬される(ステップS1106)。
【0161】アドバタイズからレプリケーションへの切
り替えが不要であると判断され(ステップS1103:
N)、かつ、サーバ条件の詳細化が不要であると判断さ
れた(ステップS1108:N)場合、即ち、現状のア
ドバタイズがよい場合には、すでにクライアント側エー
ジェントに伝搬した経路情報が、次にタイマメッセージ
が発生されるまでに期限切れになるか否かがチェックさ
れる(ステップS1110)。期限切れにならない場合
(ステップS1110:N)は、フローはそのまま図1
1のメインルーチンに戻り、期限切れになる場合(ステ
ップS1110:Y)は、前回伝搬した経路情報がコピ
ーされ(ステップS1111)、コピーされた経路情報
に新たな有効期限が設定されて伝搬される(ステップS
1106)。
【0162】図22は、アドバタイズからレプリケーシ
ョンへ切り替えるか否かを判断する処理のフローチャー
トである。
【0163】この処理は、図21に示すサーバ側エージ
ェントの伝搬制御処理で伝搬モードがアドバタイズ方式
を示している場合(ステップS1101:Y)にステッ
プS1102で実行される処理であり、図21に示す伝
搬制御処理は、図11に示すメインルーチンでタイマメ
ッセージを受け取ったと判定された場合(ステップS3
04:Y)にステップS305で実行される処理であ
る。
【0164】この図22のステップS1201〜ステッ
プS1203は、図19のステップS901〜ステップ
S903に対応するものであり、アドバタイズ方式の転
送コストWとレプリケーション方式による転送コストZ
が上述したように計算される。
【0165】その後、転送コストWと転送コストZが比
較され(ステップS1204)、転送コストWが転送コ
ストZよりも高い場合(ステップS1204:Y)は、
アドバタイズからレプリケーションへの切り替えが必要
であると回答され(ステップS1205)、転送コスト
Wが転送コストZ以下である場合(ステップS120
4:N)は、切り替えが不要であると回答される(ステ
ップS1206)。
【0166】図23は、アドバタイズされるサーバ条件
の詳細化が必要か否かを判断する処理のフローチャート
である。
【0167】この処理は、図21に示すサーバ側エージ
ェントの伝搬制御処理のステップS1107で実行され
る処理であり、図21に示す伝搬制御処理は、図11に
示すメインルーチンでタイマメッセージを受け取ったと
判定された場合(ステップS304:Y)にステップS
305で実行される処理である。
【0168】サーバ側エージェントでは、仮に現在より
詳細なサーバ条件を使ってアドバタイズを行った場合
に、そのアドバタイズがコスト的に見合うか否かを、サ
ーバ側エージェントに過去に到着した要求から予測する
ことができる。
【0169】つまり、サーバ側エージェントでは、現在
伝搬済みのサーバ条件と、そのサーバ条件より詳細化さ
れたサーバ条件との差分を得ることができ、詳細化され
たサーバ条件がクライアント側エージェントに仮に伝搬
された場合における経路情報の伝搬コストの増加分が予
測できる。また、過去にこのエージェントに到着した要
求の中から、詳細化されたサーバ条件がクライアント側
エージェントに伝搬されてクライアント側エージェント
で要求の選別が仮に行われた場合にクライアント側エー
ジェントで転送が禁止される要求を挙げることができ
る。これらの要求を実際に転送するのに必要とした転送
コストが、即ち、詳細化されたサーバ条件を用いたアド
バタイズが行われる場合に期待できる要求転送コストの
減少分である。
【0170】アドバタイズで現在伝搬されているサーバ
条件のデータサイズをS1、詳細化されたサーバ条件の
データサイズをS2、経路情報の有効期限をLとする
と、サーバ条件を詳細化した場合に増加する伝搬コスト
X1は、X1=(S2−S1)/Lという式で計算され
る(ステップS1301)。
【0171】また、単位時間当たりに到着している要求
の頻度をF1、現状で到着している要求の中で、サーバ
条件が詳細になったとしてもサーバ側エージェントに到
着する要求の頻度をF2、ひとつの要求の平均的なデー
タサイズをSreqとすると、詳細なサーバ条件を用い
たアドバタイズを仮に事前に行っていたらサーバ側エー
ジェントへの転送が禁止されていたはずの要求を実際に
は転送したために必要であった要求転送コストY1は、
Y1=Sreq*(F1−F2)という式で計算される
(ステップS1302)。
【0172】このように計算された伝搬コストX1と要
求転送コストY1が比較され(ステップS1303)、
X1<Y1であると判定された場合(ステップS130
3:Y)は、即ち、伝搬コストの増加分よりも要求転送
コストの減少分の方が大きいため、詳細化されたサーバ
条件を用いるアドバタイズは実際に行う価値があること
となる。そのため、アドバタイズに用いられるサーバ条
件の詳細化が必要であると回答される(ステップS13
04)。
【0173】一方、伝搬コストX1と要求転送コストY
1が比較され(ステップS1303)、X1≧Y1であ
ると判定された場合(ステップS1303:N)は、詳
細化は不要であると回答される(ステップS130
5)。
【0174】図24は、経路情報の作成処理のフローチ
ャートである。
【0175】この処理は、図21に示すサーバ側エージ
ェントの伝搬制御処理のステップS1105等で実行さ
れる処理であり、図21に示す伝搬制御処理は、図11
に示すメインルーチンでタイマメッセージを受け取った
と判定された場合(ステップS304:Y)にステップ
S305で実行される処理である。
【0176】この処理では、伝搬モードがレプリケーシ
ョン方式を示している場合(ステップS1401:N)
には、自分が要求転送用に現在保持している経路情報が
コピーされてレプリケーション用の経路情報が作成され
る(ステップS1402)。
【0177】一方、伝搬モードがアドバタイズ方式を示
している場合(ステップS1401:Y)には、アドバ
タイズ用の経路情報のサーバ条件が作成され(ステップ
S1403)、その経路情報のアドレスとして自分(サ
ーバ側エージェント)のアドレスが設定される(ステッ
プS1404)。
【0178】図25は、経路情報のサーバ条件の作成処
理のフローチャートである。
【0179】この処理は、図24に示す経路情報の作成
処理で伝搬モードがアドバタイズ方式を示している場合
(ステップS1401:Y)にステップS1403で実
行される処理であり、図24に示す経路情報の作成処理
は、図21に示すサーバ側エージェントの伝搬制御処理
のステップS1105で実行される処理であり、図21
に示す伝搬制御処理は、図11に示すメインルーチンで
タイマメッセージを受け取ったと判定された場合(ステ
ップS304:Y)にステップS305で実行される処
理である。
【0180】この図25に示す経路情報のサーバ条件の
作成処理では、管理者によって指定されているルール決
定方法が判定され(ステップS1501)、判定結果に
応じたルール決定方法でルールが決定される(ステップ
S1502,ステップS1503)。
【0181】図26は、経路情報の項の有効度を用いた
伝搬用ルールの決定処理のフローチャートである。
【0182】この決定処理は、図25に示す経路情報の
サーバ条件の作成処理で管理者が項の有効度を用いた決
定方法を指定した場合にステップS1502で実行され
る処理である。
【0183】ここで、この決定処理における伝搬用ルー
ルの決定方法の原理について説明する。但し、ここで決
定されるのは伝搬用ルールのサーバ条件だけであり、伝
搬用ルールのアドレスは決定されない。
【0184】この決定処理では、サーバ側のエージェン
トに保持されている経路情報のサーバ条件を構成してい
る項が1つ以上削除されたことによって抽象化されたサ
ーバ条件に相当するものが作成される。
【0185】例えば、経路情報のサーバ条件が「Con
ditionA AND ConditionB AN
D ConditionC」という条件である場合は、
項が削除されることによって抽象化された ConditionA AND ConditionB ConditionA AND ConditionC ConditionB AND ConditionC ConditionA ConditionB ConditionC という条件のうちのいずれかのサーバ条件が生成され
る。そして、どの項が優先的に残りどの項が優先的に削
除されるかは、図14のステップS605における条件
比較が繰り返されて得られた有効度に基づいて決定され
る。なぜならば、クライアントからの要求のうちの多く
の要求が矛盾を生じるような項が伝搬されると、要求の
転送量が大きく減る効果が期待されるからである。
【0186】以下、図26の決定処理での具体的なルー
ル決定手順を説明する。
【0187】先ず、伝搬用ルール集合の初期集合が作成
される(ステップS1601)。サーバ条件が抽象化さ
れる場合の初期集合は空集合であり、サーバ条件が詳細
化される場合の初期集合は、前回作成された伝搬用ルー
ル集合である。
【0188】次に、サーバ側エージェントが有するサー
バ条件の項のうち、伝搬用ルール集合に含まれていない
項であって、かつ、有効度がもっとも高い項が選択され
る(ステップS1602)。但し、サーバ条件が抽象化
される場合には、前回伝搬された項の有効度としては、
前回作成時の有効度がそのまま用いられる。そして、そ
の選択された項ともともと同じルールに属していた項が
既に伝搬用ルール集合に存在するか否かが調べられ(ス
テップS1603)、存在する場合(ステップS160
3:Y)には、選択された項が、伝搬用ルール集合のル
ールのうち、選択された項ともともと同じルールに属し
ていた項のルールに「AND」で連結される(ステップ
S1604)。選択された項ともともと同じルールに属
していた項が伝搬用ルール集合に存在しない場合(ステ
ップS1603:N)には、選択された項が、伝搬用ル
ール集合の新たなルールの最初の項として登録される
(ステップS1605)。
【0189】その後、伝搬用ルール集合のデータサイズ
が伝達情報サイズに達するまで、項の選択や連結等(ス
テップS1602〜ステップS1605)が繰り返さ
れ、伝達情報サイズに達する(ステップS1606:
Y)と、図25に示す経路情報のサーバ条件の作成処理
にフローが戻る。
【0190】図27は、サーバ条件の共通項の抽出によ
る伝搬用ルールの決定処理のフローチャートである。
【0191】この処理は、図25に示す経路情報のサー
バ条件の作成処理で管理者が共通項の抽出による決定方
法を指定した場合にステップS1503で実行される処
理であり、図25に示す経路情報のサーバ条件の作成処
理は、図24に示す経路情報の作成処理で伝搬モードが
アドバタイズ方式を示している場合(ステップS140
1:Y)にステップS1403で実行される処理であ
る。また、図24に示す経路情報の作成処理は、図21
に示すサーバ側エージェントの伝搬制御処理のステップ
S1105で実行される処理であり、さらに、図21に
示す伝搬制御処理は、図11に示すメインルーチンでタ
イマメッセージを受け取ったと判定された場合(ステッ
プS304:Y)にステップS305で実行される処理
である。
【0192】ここで、この決定処理における伝搬用ルー
ルの決定方法の原理について説明する。但し、ここで
も、決定されるのは伝搬用ルールのサーバ条件だけであ
り、伝搬用ルールのアドレスは決定されない。
【0193】この決定処理では、サーバ側エージェント
に複数のサーバ条件が登録されていることが前提とさ
れ、その複数のサーバ条件に共通して含まれるが抽出さ
れ、抽出された項が連結されて伝搬用ルールが決定され
る。
【0194】例えば、エージェントが持っているルール
が ConditionA AND ConditionB
−>Server1 ConditionA AND ConditionC
−>Server2 ConditionA AND ConditionD
−>Server3 という3つのルールであった場合には、これら3つのル
ールのサーバ条件に共通して含まれる「Conditi
onA」という項が抽出される。
【0195】また、例えば、エージェントが持っている
ルールが ConditionA AND ConditionB
−>Server1 ConditionA AND ConditionC
−>Server2 ConditionD AND ConditionE
−>Server3 ConditionD AND ConditionF
−>Server4 という4つのルールであった場合には、「Condit
ionA」、「ConditionD」という2つの項
が抽出される。但し、これらの項は、もともと同じルー
ルには属していない項であるので、互いに独立した伝搬
用ルールとして用いられる。
【0196】以下、図27の決定処理での具体的なルー
ル決定手順を説明する。
【0197】この図27に示すステップS1701およ
びステップS1703〜ステップS1706は、図26
に示すステップS1601およびステップS1603〜
ステップS1606に対応しており、図27の決定処理
でのルール決定手順は、図26の決定処理でのルール決
定手順とほぼ同じである。但し、この図27に示すステ
ップS1702では、サーバ側エージェントが保持して
いるサーバ条件の項のうち、伝搬用ルール集合に含まれ
ていない項であって、かつ、もっとも多くのルールに共
通する項が選択される。
【0198】図28は、経路情報の有効期限の設定と伝
搬処理のフローチャートである。
【0199】この処理は、図21に示すサーバ側エージ
ェントの伝搬制御処理のステップS1106等で実行さ
れる処理であり、図21に示す伝搬制御処理は、図11
に示すメインルーチンでタイマメッセージを受け取った
と判定された場合(ステップS304:Y)にステップ
S305で実行される処理である。
【0200】この図28に示す処理では、経路情報の有
効期限が、送り先であるクライアント側エージェントの
安定度に基づいて後述するように計算され(ステップS
1801)、計算された有効期限が経路情報の有効期限
として設定され(ステップS1802)、経路情報に有
効期限が添付されてクライアント側エージェントに伝搬
される(ステップS1803)。経路情報の伝搬が成功
すると、図15に示す安定度の更新処理によってクライ
アント側エージェントの安定度が更新される(ステップ
S1804)。
【0201】図29は、安定度を用いた有効期限の決定
処理のフローチャートである。
【0202】この処理は、図28に示す経路情報の有効
期限の設定と伝搬処理のステップS1801等で、有効
期限の計算が必要とされた場合に実行される処理であ
る。
【0203】上述したように、クライアント側エージェ
ントに伝搬される経路情報には有効期限が設定され、設
定された有効期限をすぎる前に再度アドバタイズ等が行
われることが望ましい。
【0204】伝搬情報の有効期限が長いほど、情報を伝
搬するコストは低いが、有効期限が長く設定されるほど
通信失敗のリスクが高い。従って、経路情報の有効期限
は、エージェント間の接続の安定度を考慮して決定され
るべきである。
【0205】この図29の処理では、先ず、対象となる
エージェントの安定度が取得される(ステップS190
1)。そして、安定度が大きくなれば有効期限が長くな
るような、単調増加の関係にある関数が用いられて安定
度から有効期限が決定される(ステップS1902)。
図29中には一例として、値「0」から値「1」までの
いずれかの値を取る安定度から有効期限が決定される方
法が示されている。
【0206】その後、決定された有効期限が回答され
(ステップS1903)、図28に示す経路情報の有効
期限の設定と伝搬処理等にフローが戻る。
【0207】図30は、経路情報受信処理のフローチャ
ートである。
【0208】この経路情報受信処理は、図10に示すメ
インルーチンで、サーバ側エージェントから伝搬されて
きた経路情報を受け取ったと判定された場合に、ステッ
プS205で実行される処理である。
【0209】この経路情報受信処理では、先ず、経路情
報が伝搬されてきたサーバ側エージェントに対する安定
度から経路情報の有効期限の許容範囲が後述するように
決定され(ステップS2001)、伝搬されてきた経路
情報の有効期限が許容範囲内である場合(ステップS2
002:Y)は、経路情報がそのまま受理される(ステ
ップS2003)。
【0210】一方、伝搬されてきた経路情報の有効期限
が許容範囲外である場合(ステップS2002:N)
は、その有効期限が、クライアント側エージェントがサ
ーバ側エージェントに対して見積もっている安定度に基
づいた有効期限に変更され(ステップS2004)、変
更後の有効期限がサーバ側エージェントに通知される
(ステップS2005)。
【0211】図31は、安定度を用いた有効期限の許容
範囲の決定処理のフローチャートである。
【0212】この処理は、図30に示す経路情報受信処
理のステップS2001で実行される処理であり、図3
0に示す経路情報受信処理は、図10に示すメインルー
チンで、サーバ側エージェントから伝搬されてきた経路
情報を受け取ったと判定された場合に、ステップS20
5で実行される処理である。
【0213】この図31の処理では、先ず、対象となる
エージェントに対する有効期限が、図29に示す処理に
よって計算される。そして、計算された有効期限に一定
の幅を持たせた範囲が許容範囲として決定される。図3
0中には、許容範囲の計算方法の一例が示されている。
【0214】その後、決定された許容期限が回答され、
図30に示す経路情報受信処理にフローが戻る。
【0215】図32は、伝搬制御情の受信処理のフロー
チャートである。
【0216】この受信処理は、図11に示すフローチャ
ートで、クライアント側エージェントから伝搬制御情報
の変更要求が送られてきた場合に、ステップS307で
実行される処理である。
【0217】クライアント側エージェントから送られて
くる伝搬制御情報の変更要求には3種類の要求がある。
受け取られた要求が、レプリケーションからアドバタイ
ズへの変更を求める要求である場合(ステップS220
1:Y)には、伝搬モードがアドバタイズ方式に切り替
えられる(ステップS2202)。
【0218】受け取られた要求が、アドバタイズの抽象
化を求める要求である場合(ステップS2203:Y)
には、経路情報が生成される際のデータサイズの基準で
ある伝搬情報サイズが現状よりも小さく設定され(ステ
ップS2204)、新たな経路が作成され(ステップS
2208)、その新たな経路情報に有効期限が設定され
て伝搬される(ステップS2209)。
【0219】また、受け取られた要求が、有効期限が変
更された旨の通知である場合(ステップS2205:
Y)には、記憶されている伝搬情報の有効期限が通知さ
れた有効期限に合わせて変更される(ステップS220
6)。このように変更された有効期限が切れる前に経路
情報が再伝搬されることとなる。
【0220】受け取られた要求が、上記3種類の要求の
いずれの要求でもなかった場合にはエラー処理が実行さ
れ(ステップS2207)、図11に示すフローチャー
トにフローが戻る。
【0221】上記実施形態の説明では、システム構造と
して、クライアント、クライアント側エージェント、サ
ーバ側エージェント、サーバからなるようなシステムを
用いて説明している。しかし、本発明の選別仲介装置や
送信装置が適用されるシステムはこのような構成のシス
テムに限定されず、様々なシステム構成に適用が可能で
ある。
【0222】本発明の選別仲介装置や送信装置が適用さ
れるシステムは、例えば、クライアントに本発明の送信
装置が組み込まれ、サーバに本発明の選別仲介装置が組
み込まれているシステムであってもよい。
【0223】また、本発明の選別仲介装置や送信装置
は、複数のネームサーバの連携にも適用可能である。ネ
ームサーバとは、指定した条件を満足するようなサーバ
のアドレスを返答するサーバである。上記実施形態での
構成では、クライアントが発行した要求は、クライアン
ト側エージェント、サーバ側エージェントを経由して、
サーバに届けられる。しかし、この最後のサーバが、サ
ーバアドレスを返答するような、特殊なサーバ側エージ
ェントであるとすると、システム全体が、ネームサーバ
として動作することになる。本発明の選別仲介装置や送
信装置は、このようなシステムにも適用可能である。
【0224】さらに、上記実施形態では、クライアント
側エージェントとサーバ側エージェントとの2つのエー
ジェントで構成される単純化されたシステムについて主
に説明している。しかし、本発明の選別仲介装置や送信
装置は、1つのクライアント側エージェントが多数のサ
ーバ側エージェントと連携する構成や、多数のクライア
ント側エージェントが1つのサーバエージェントと連携
するような構成にもそのまま適用可能である。
【0225】また、あるエージェントから見た場合、サ
ーバ側にいるエージェントの先が通常のサーバなのか、
さらにエージェントが続いているかは知らなくてよい
し、知ることもできない。クライアント側に対しても同
様である。結局、あるエージェントは、自分の近傍のみ
を知っていればよいため、システム全体で、クライアン
トとサーバとの間にエージェントがいくつ存在するか
は、気にしなくてよい。そのため本発明の選別仲介装置
や送信装置は、クライアント側エージェントとサーバ側
エージェントの間が別のエージェントで仲介されるよう
な多段なエージェント構成にも適用可能である。
【0226】
【発明の効果】以上説明したように、本発明によれば、
仲介システムのコストを低減することができる。
【図面の簡単な説明】
【図1】単一エージェントによる仲介システムの概念図
である。
【図2】複数エージェントによる仲介システムの概念図
である。
【図3】アドバタイズ方式の説明図である。
【図4】レプリケーション方式の説明図である。
【図5】本実施形態のエージェントによって構成される
仲介システムを示す図である。
【図6】エージェントのハードウェア構成図である。
【図7】クライアント側エージェントの機能ブロック図
である。
【図8】サーバ側エージェントの機能ブロック図であ
る。
【図9】タイマメッセージ発生部のフローチャートであ
る。
【図10】クライアント側エージェントのメインルーチ
ンのフローチャートである。
【図11】サーバ側エージェントのメインルーチンのフ
ローチャートである。
【図12】クライアント側エージェントで実行される要
求回答処理のフローチャートである。
【図13】サーバ側エージェントで実行される要求回答
処理のフローチャートである。
【図14】宛先リストの作成処理のフローチャートであ
る。
【図15】安定度の更新処理のフローチャートである。
【図16】クライアント側エージェントの伝搬制御処理
のフローチャートである。
【図17】アドバタイズ方式における要求転送コストの
説明図である。
【図18】レプリケーション方式における要求転送コス
トの説明図である。
【図19】レプリケーションからアドバタイズへ切り替
えるか否かを判断する処理のフローチャートである。
【図20】アドバタイズされるサーバ条件の抽象化が必
要か否かを判断する処理のフローチャートである。
【図21】サーバ側エージェントの伝搬制御処理のフロ
ーチャートである。
【図22】アドバタイズからレプリケーションへ切り替
えるか否かを判断する処理のフローチャートである。
【図23】アドバタイズされるサーバ条件の詳細化が必
要か否かを判断する処理のフローチャートである。
【図24】経路情報の作成処理のフローチャートであ
る。
【図25】経路情報のサーバ条件の作成処理のフローチ
ャートである。
【図26】経路情報の項の有効度を用いた伝搬用ルール
の決定処理のフローチャートである。
【図27】サーバ条件の共通項の抽出による伝搬用ルー
ルの決定処理のフローチャートである。
【図28】経路情報の有効期限の設定と伝搬処理のフロ
ーチャートである。
【図29】安定度を用いた有効期限の決定処理のフロー
チャートである。
【図30】経路情報受信処理のフローチャートである。
【図31】安定度を用いた有効期限の許容範囲の決定処
理のフローチャートである。
【図32】伝搬制御情の受信処理のフローチャートであ
る。
【符号の説明】
100 クライアント側エージェント(送信装置) 130,230 メイン処理部 131,231 タイマメッセージ発生部 132,233 経路情報管理部 133,234 伝搬制御情報決定部 134,235 要求回答処理部 200 サーバ側エージェント(選別仲介装置) 232 経路情報作成伝搬部 300 クライアント 400 サーバ 500 通信ネットワーク 600 MO(プログラム記憶媒体) 601 フロッピィディスク(プログラム記憶媒体)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 メッセージを送信する送信装置から送信
    されたメッセージを受信する受信手段と、 前記受信手段によって受信されたメッセージを所定の条
    件で選別して出力する出力手段と、 前記出力手段による選別の条件に基づいた、その選別の
    条件よりも緩い条件を生成する条件生成手段と、 前記送信装置に、前記条件生成手段によって生成された
    条件を提示するとともに、メッセージをその条件で選別
    して送信してくることを求めるアドバタイズ手段とを備
    えたことを特徴とする選別仲介装置。
  2. 【請求項2】 前記出力手段が、前記受信手段によって
    受信されたメッセージを選別して出力するに当たり、複
    数の個別条件の論理積からなる複合条件に従って選別し
    て出力するものであり、 前記条件生成手段が、条件を生成するに当たり、前記複
    数の個別条件のうち、1つ以上の個別条件を除いた残り
    の個別条件の論理積からなる条件を生成するものである
    ことを特徴とする請求項1記載の選別仲介装置。
  3. 【請求項3】 前記出力手段が、前記受信手段によって
    受信されたメッセージを複数の出力先に出力するもので
    あるとともに、1つ以上の個別条件の論理積からなる、
    出力先に応じた複合条件で該メッセージを選別して出力
    するものであり、 前記条件生成手段が、条件を生成するに当たり、前記出
    力手段による選別の各複合条件に共通する個別条件を抽
    出し、抽出された個別条件の論理積からなる条件を生成
    するものであることを特徴とする請求項1記載の選別仲
    介装置。
  4. 【請求項4】 前記条件生成手段が、所定の指示を受け
    て、前記出力手段による選別の条件よりも緩く、かつ、
    前記アドバタイズ手段によって既に前記送信装置に付与
    された条件よりも厳しい条件を新たに生成するものであ
    り、 前記条件生成手段によって新たに生成された条件を前記
    送信装置に付与するために要する付与コストと、仮にそ
    の新たに生成された条件が前記送信装置に付与された場
    合に該送信装置からの送信が停止されるメッセージの送
    信に要する送信コストとを比較する第1のコスト比較手
    段を備え、 前記アドバタイズ手段が、前記第1のコスト比較手段に
    よる比較の結果、前記送信コストの方が大きい場合に、
    前記条件生成手段によって新たに生成された条件を前記
    送信装置に付与するものであることを特徴とする請求項
    1記載の選別仲介装置。
  5. 【請求項5】 前記受信手段によって受信されたメッセ
    ージの仲介コストと、仮に該メッセージが前記送信装置
    から前記出力手段の出力先に直接送信された場合の送信
    コストとを求めて比較する第2のコスト比較手段と、 前記送信装置に、前記出力手段による選別の条件と同じ
    条件を付与するとともに、付与した条件によってメッセ
    ージを選別して前記出力手段の出力先へと直接送信する
    ことを求めるレプリケーション手段と、 前記第2のコスト比較手段による比較結果が、仲介コス
    トよりも送信コストの方が低いという結果である場合
    に、前記アドバタイズ手段に替えて前記レプリケーショ
    ン手段を作動させる切替手段とを備えたことを特徴とす
    る請求項1記載の選別仲介装置。
  6. 【請求項6】 メッセージが入力される入力手段、 前記入力手段に入力されたメッセージを選別して送信す
    る送信手段、 前記送信手段による選別の条件を前記送信手段の送信先
    から取得する条件取得手段、 前記送信手段による選別の結果、送信が禁止されたメッ
    セージを仮に送信した場合に要する送信コストと、前記
    取得手段によって条件を取得するために要した取得コス
    トとを比較する第3のコスト比較手段、および前記第3
    のコスト比較手段による比較結果を前記送信先に伝える
    第1の伝達手段を備えたことを特徴とする送信装置。
  7. 【請求項7】 メッセージが入力される入力手段、 前記入力手段に入力されたメッセージを送信する送信手
    段、 メッセージの送信コストと、仮に該メッセージが、メッ
    セージを仲介する仲介装置によって仲介された場合の仲
    介コストとを求めて比較する第4のコスト比較手段、お
    よび前記第4のコスト比較手段による比較結果を前記仲
    介装置に伝える第2の伝達手段を備えたことを特徴とす
    る送信装置。
  8. 【請求項8】 メッセージを送信する送信装置から送信
    されたメッセージを受信する受信手段と、 前記受信手段によって受信されたメッセージを所定の条
    件で選別して出力する出力手段と、 前記出力手段による選別の条件に基づいた、その選別の
    条件よりも緩い条件を生成する条件生成手段と、 前記送信装置に、前記条件生成手段によって生成された
    条件を付与するとともに、メッセージをその条件で選別
    して送信してくることを求めるアドバタイズ手段とを備
    えた選別仲介プログラムが記憶されてなることを特徴と
    する選別仲介プログラム記憶媒体。
  9. 【請求項9】 メッセージが入力される入力手段、 前記入力手段に入力されたメッセージを選別して送信す
    る送信手段、 前記送信手段による選別の条件を前記送信手段の送信先
    から取得する条件取得手段、 前記送信手段による選別の結果、送信が禁止されたメッ
    セージが仮に送信される場合に要する送信コストと、前
    記取得手段によって条件を取得するために要した取得コ
    ストとを比較する第3のコスト比較手段、および前記第
    3のコスト比較手段による比較結果を前記送信先に伝え
    る第1の伝達手段を備えた送信プログラムが記憶されて
    なることを特徴とする送信プログラム記憶媒体。
  10. 【請求項10】 メッセージが入力される入力手段、 前記入力手段に入力されたメッセージを送信する送信手
    段、 メッセージの送信コストと、仮に該メッセージが、メッ
    セージを仲介する仲介装置によって仲介された場合の仲
    介コストとを求めて比較する第4のコスト比較手段、お
    よび前記第4のコスト比較手段による比較結果を前記仲
    介装置に伝える第2の伝達手段を備えた送信プログラム
    が記憶されてなることを特徴とする送信プログラム記憶
    媒体。
JP11175829A 1999-06-22 1999-06-22 選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体 Withdrawn JP2001005778A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11175829A JP2001005778A (ja) 1999-06-22 1999-06-22 選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体
US09/571,939 US6629146B1 (en) 1999-06-22 2000-05-16 Selection intermediary apparatus, transmission apparatus, selection intermediary program storage medium and transmission program storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11175829A JP2001005778A (ja) 1999-06-22 1999-06-22 選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体

Publications (1)

Publication Number Publication Date
JP2001005778A true JP2001005778A (ja) 2001-01-12

Family

ID=16002957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11175829A Withdrawn JP2001005778A (ja) 1999-06-22 1999-06-22 選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体

Country Status (2)

Country Link
US (1) US6629146B1 (ja)
JP (1) JP2001005778A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146422B1 (en) * 2000-05-01 2006-12-05 Intel Corporation Method and apparatus for validating documents based on a validation template
US6732175B1 (en) 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US6912583B2 (en) * 2000-09-07 2005-06-28 Tradedoubler Ab Control of an information flow in a digital network
US7426637B2 (en) * 2003-05-21 2008-09-16 Music Public Broadcasting, Inc. Method and system for controlled media sharing in a network
JP2005159986A (ja) * 2003-11-28 2005-06-16 Nec Corp 通信システム、通信端末及びそれらに用いる通信メディア選択方法並びにそのプログラム
US20070112970A1 (en) * 2005-11-15 2007-05-17 Fujitsu Limited Data communication server, data communication method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3245425B2 (ja) * 1996-02-28 2002-01-15 グローバルメディアオンライン株式会社 広告等のメッセージを端末装置の利用者へ配信する通信システム
JP2000112797A (ja) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> ビューディレクトリ処理方法および装置とビューディレクトリ処理プログラムを記録した記録媒体
DE10059195B4 (de) * 2000-11-29 2006-04-06 Benteler Automobiltechnik Gmbh Anordnung zur Behandlung der aus einem Ottomotor mit Direkteinspritzung tretenden Abgase

Also Published As

Publication number Publication date
US6629146B1 (en) 2003-09-30

Similar Documents

Publication Publication Date Title
CN102035886B (zh) 联盟基础结构内的一致性
US7490126B2 (en) Method and apparatus for generating data change requests containing data consistency information in a peer-to-peer collaborative computer system
AU2004301718B9 (en) Self-managed mediated information flow
US6240443B1 (en) Communication system and communication method
US8484746B2 (en) Method and system for managing electronic messages
JP2011514087A (ja) publish/subscribeメッセージ・ブローカ
CN101495985A (zh) 具有数据共享特征的即时消息通信
JP5104591B2 (ja) バスシステム
EP1969807A2 (en) Combining communication policies into common rules store
CN102158424A (zh) 利用发布和订阅机制的消息传输系统
EP0213276A2 (en) Dynamic updating of data base directories
JP2001005778A (ja) 選別仲介装置、送信装置、選別仲介プログラム記憶媒体および送信プログラム記憶媒体
WO2018136341A1 (en) Partitioning storage
Johansson On the impact of network latency on distributed systems design
JPH11272610A (ja) コミュニケーションシステム及びコミュニケーション方法
US8606941B2 (en) Relay server and relay communication system
Kole Myths and realities in Internet discourse: Using computer networks for data collection and the Beijing World Conference on Women
US8307112B2 (en) Mediated information flow
Roussaki et al. Optimising context data dissemination and storage in distributed pervasive computing systems
Bocquillon et al. Modeling elements and solving techniques for the data dissemination problem
JP3693852B2 (ja) 情報処理装置
CN101795259B (zh) 创建实体标签的方法及用户数据中心
Canali et al. Content delivery and management
Sahingoz et al. Dispatching mechanism of an agent-based distributed event system
Kutvonen Federation transparency in ODP Trading function

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905