(57)【要約】【課題】サーバへ接続する端末数が増加しても、サーバから端末への配信情報の遅れを抑制して高速配信する。【解決手段】オークション主催システム１０などの配信元装置から配信サーバ１６を介してクライアント２０−１１〜２０−２２に至る階層構造の仮想ネットワークを構築して情報を配信する。新たなクライアントが仮想ネットワークに参加する際は、配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、仮想ネットワークにおける参加クライアントの親子関係と階層位置を動的に決定してネットワークに参加する。任意のクライアントが１又は複数の親クライアントから情報の配信依頼を受けた際は、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であればサーバに配信情報の到着を通知する。【選択図】          図２
2004260244.tif 000002
【特許請求の範囲】
【請求項１】
配信元装置からサーバを介してクライアントに至る階層構造の仮想ネットワークを構築して情報を配信する情報通信方法に於いて、
前記仮想ネットワークに存在するサーバ及びクライアントのアドレス、配信元装置から情報が届く応答時間、及び前記サーバから数えて何階層に位置するかの階層位置を含む端末管理情報を前記配信元装置に保持する端末管理情報保持ステップと、
新たなクライアントが前記仮想ネットワークに参加する際に、前記配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、前記仮想ネットワークにおける参加クライアントの親子関係と階層位置を動的に決定するネットワーク参加ステップと、
任意のクライアントが１又は複数の親クライアントから情報の配信依頼を受けた際に、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であれば前記サーバに配信情報の到着を通知する情報配信ステップと、
を備えたことを特徴とする情報通信方法。
【請求項２】
請求項１記載の情報通信方法に於いて、前記ネットワーク参加ステップは、
既存のサーバ及びクライアントの全てに計測パケットを配信して参加クライアントに情報が届く応答時間を計測するステップと、
計測された応答時間に前記端末管理情報から得た既存のサーバ又はクライアントの応答時間を加算し、配信元装置から既存のサーバ又はクライアントを経由して前記参加クライアントに情報が届く応答時間を求めるステップと、
前記応答時間の短い順にサーバ及び又はクライアントを予め定めた数だけ親クライアント候補として選択するステップと、
前記親クライアント候補との間に通信接続を確立し、子クライアントの登録数が所定数未満の場合に参加クライアントを子クライアントとして追加登録して親クライアントを確定するステップと、
確定した親クライアントの階層に１を加算した階層を前記参加クライアントの階層位置とするステップと、
前記親クライアント及び階層位置を登録した前記参加クライアントの端末管理情報を生成して保持すると共に前記配信元装置に転送してその端末管理情報を更新させるステップと、
を備えたことを特徴とする情報通信方法。
【請求項３】
配信元装置からサーバを介してクライアントに至る階層構造の仮想ネットワークを構築して情報を配信するシステムのクライアントを構築するコンピュータに、
前記仮想ネットワークに参加する際に、前記仮想ネットワークに存在するサーバ及びクライアントのアドレス、配信元装置から情報が届く応答時間、及び前記サーバから数えて何階層に位置するかの階層位置を含む端末管理情報を前記配信元装置から取得する端末管理情報取得ステップと、
前記配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、前記仮想ネットワークにおける親子関係と階層位置を動的に決定するネットワーク参加ステップと、
複数の親クライアントから情報の配信依頼を受けた際に、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であれば前記サーバに配信情報の到着を通知する情報配信ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、階層構造をもつ仮想ネットワークを構築するための情報通信方法、プログラム及びシステムに関し、特に、オークション主催システム、配信サーバ及びクライアントを階層配置して情報を配信する情報通信方法、プログラム及びシステムに関する。
【０００２】
【従来の技術】
近年、オークション主催システムの配信サーバとオークション参加者のユーザ装置となるクライアントの間をネットワークで結んだオークション電子取引が広く利用されている。
【０００３】
このようなオークション電子取引は、一般にオークションの入札期間が１週間といった比較的長いものが大半であるが、近年にあっては、中古車オークションのような極く短時間で入札と落札が行われる立合い型のオークション電子取引も実用化されつつある。このような立合い型のオークション電子取引にあっては、例えば中古車一台が１０数秒で取引される非常にリアルタイム性の高い取引である。
【０００４】
このため従来の立合い型のオークションシステムは、オークション主催システムから短時間に多数のオークション参加者、即ちディーラのクライアントに同時に情報配信する必要があり、帯域の広い衛星通信回線を利用してサーバから多数のクライアントにマルチキャスト（同報通信）により情報を配信している。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような従来の高速配信型のオークションシステムにあっては、衛星通信回線を利用していたため、設備の設置に手間と時間がかかり、同時に設置コスト及び運用コストも高いという問題がある。
【０００６】
そこで近年にあっては、光通信やＡＤＳＬにより高速化が実現されたインターネットを利用した立合い型のオークションシステムの実現が強く望まれている。
【０００７】
しかしながら、インターネットの高速通信を利用してオークションシステムを構築した場合、オークションセンターのサーバは参加した多数のディーラのクライアントに限られた時間内に情報配信をする必要があるが、参加数が増加するとサーバに対するクライアントの接続数が増加し、サーバ負荷の増加により情報配信時間を保証できなくなる恐れがある。
【０００８】
またオークションへの参加数は一定ではなく、適宜増減するものであり、サーバとしては最大参加者数を予め予測して処理性能を決めることになる。しかし、実際のオークションでは参加数が予想を大きく上回ることもあり、サーバ負荷の急増に対応するためにはサーバの性能をオーバースペックとせざるを得ず、システム規模が必要以上に大型化しコストアップになる問題がある。
【０００９】
本発明は、サーバへ接続する端末数が増加しても、サーバから端末への配信情報の遅れが起こりにくい情報通信方法、プログラム及びシステムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は、オークション主催システムなどの配信元装置からサーバを介してクライアントに至る階層構造の仮想ネットワークを構築して情報を配信する情報通信方法を提供する。この情報通信方法は、
仮想ネットワークに存在するサーバ及びクライアントのアドレス、配信元装置から情報が届く応答時間、及びサーバから数えて何階層に位置するかの階層位置を含む端末管理情報を前記配信元装置に保持する端末管理情報保持ステップと、
新たなクライアントが仮想ネットワークに参加する際に、配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、仮想ネットワークにおける参加クライアントの親子関係と階層位置を動的に決定するネットワーク参加ステップと、
任意のクライアントが１又は複数の親クライアントから情報の配信依頼を受けた際に、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であれば前記サーバに配信情報の到着を通知する情報配信ステップと、
を備えたことを特徴とする。
【００１１】
このような本発明の情報通信方法によれば、配信元装置のサーバを最上位層として制限された数のクライアントが親子関係を持って階層的に接続される仮想ネットワークが動的に構築され、サーバに接続されるクライアントの最大数は全体のクライアント数が増加しても制限された数までであり、センター側の負荷を分散できる。
【００１２】
またクライアントは配信元装置から情報が届く応答時間の短い順に親子関係を動的に確立して階層的に接続され、階層的なピアツーピアの情報配信により並列的なパスによる最下層のクライアントに向けて情報を短時間で配信し、実質的にマルチキャスト相当の情報配信ができる。
【００１３】
また最下層のクライアントに配信情報が到着するとサーバに通知されるため、配信装置側でどの程度の時間で情報が配信されているかリアルタイムで監視できる。
【００１４】
本発明の情報通信方法は、更に、クライアントが仮想ネットワークから脱退する場合、このクライアントに対応付けられている全ての親クライアント及び子クライアントに切断を通知し、全ての通知先から許可応答が得られることを条件にネットワーク接続を切断するネットワーク脱退ステップを備える。このネットワーク脱退ステップは、切断を通知した親クライアントに通知元の子クライアントの登録を削除させ、切断を通知した子クライアントに新たな親クライアントを検索して置き換えさせる。
【００１５】
このためクライアントが仮想ネットワークから任意に脱退しても、仮想ネットワークがその都度再構築され、クライアントの脱退に対し自律的に仮想ネットワークが維持される。
【００１６】
本発明の情報通信方法は、更に、クライアントは仮想ネットワークへの参加中に、このクライアントに対応付けられている全ての親クライアント及び子クライアントの存在を定期的に確認し、子クライアントの不存在を検知した場合はその登録を削除し、親クライアントの不存在を検知した場合は、新たな親クライアントを検索して置き換える生存監視ステップを備えたことを特徴とする。
【００１７】
このため電源ダウンなどにより機能が失われたクライアントが存在しても、正常に動作しているクライアントがそれを検知して仮想ネットワークを再構築できる。
【００１８】
ここで、仮想ネットワークは、配信元装置からの情報を次階層のクライアントに配信するサーバが位置する最上位層と、最大数が制限された複数の親クライアントから配信情報を受信し、最初に受信された配信情報を最大数が制限された子クライアントに送信するクライアントが位置する１又は複数の中間層と、親クライアントから配信情報を受信して前記サーバに配信情報の到着を通知するクライアントが位置する最下位層とを備える。
【００１９】
【発明の実施の形態】
図１は、本発明が適用されるネットワーク環境の説明図である。図１において、オークション主催システム１０は、例えば中古車オークションなどの短時間で入札と落札を行わせるシステムであり、オークション参加ディーラシステムとなるクライアント２０のネットワーク管理を行うためのクライアントリストファイル１２を備えている。
【００２０】
オークション主催システム１０はＬＡＮ１４を介して配信サーバ１６と接続される。配信サーバ１６は最小構成１台で良いが、オークション参加ディーラであるクライアント２０の数が多い場合は、必要に応じて複数台の配信サーバ１６を設置してもよい。配信サーバ１６に対してはインターネット１８を介してオークション参加ディーラーシステムとなるクライアント２０が接続される。
【００２１】
図２は、本発明により構築される仮想ネットワークの説明図である。オークション主催システム１０と配信サーバ１６は仮想ネットワークの最上位層である第０階層に位置している。この第０階層の配信サーバ１６に対し、オークション参加ディーラーの端末装置となるクライアントの接続に階層構造を持たせて、情報の配信を行う。即ち仮想ネットワークは第１階層、第２階層・・・・と参加クライアント数に応じて複数の階層を持ち、クライアント間に親子関係を持たせてリンクしている。
【００２２】
即ち、オークション主催システム１０側の配信サーバ１６は第０階層であり、配信サーバ１６に対しては予め制限された最大数Ｎ個のクライアントを子クライアントとして接続し、これを第１階層としている。例えば左側の配信サーバ１６にはクライアント２０−１１〜２０−１Ｎの最大Ｎ台が子クライアントとして接続できる。
【００２３】
この第１階層において配信サーバ１６に接続できる子クライアントの最大数Ｎを超えた場合には、階層をひとつ増やして第２階層を作り、例えば第２階層のクライアント２０−２１，２０−２２が第１階層のクライアント２０−１１に子クライアントとして接続できる。
【００２４】
上位階層である第１階層に位置するクライアント２０−１１が接続できる第２階層の子クライアントの数は最大数Ｎ個に制限されている。また、１つのクライアント２０−１１が接続できる上位階層の親クライアントの数は最大数Ｍ個に制限されている。
【００２５】
このため任意の中間層に位置するクライアントは最大Ｍ個の親クライアントと接続でき、且つ最大Ｎ個の子クライアントと接続されることになる。なお、最大親クライアント接続数Ｍと最大子クライアント接続数Ｎは、等しくても良いし、等しくなくても良い。また図２における階層構造を持った仮想ネットワークは、クライアントが参加するごとに自動的に構築されることになる。
【００２６】
オークション主催システム１０からの配信情報は配信サーバ１６に送られた後、仮想ネットワークの構築で確立された親子関係に従って第０階層の配信サーバ１６から第１階層のクライアント２０−１１〜２０−１ｎに配信され、更に第１階層のクライアント２０−１１に示すように第２階層のクライアント２０−２１，２０−２２に情報が配信される。
【００２７】
ここで仮想ネットワークの最下位層、図２の場合には第２階層に属する例えばクライアント２０−２１について示すように、最下位層のクライアント２０−２１は配信情報を受信すると子クライアントがないことから配信情報の到達を第０階層の配信サーバ１６に通知する。この最下位層のクライアントからの配信情報の到達通知を受けて配信サーバ１６は仮想ネットワークにおける情報の配信状況をリアルタイムで把握できる。
【００２８】
図３は、本発明における配信サーバ及びクライアントの機能構成のブロック図である。オークション主催システム１０からの配信情報を受ける配信サーバ１６は、通信制御部２２、情報配信部２４、ネットワーク参加処理部２６、サーバ情報ファイル２８及び通信制御部３０を備えている。
【００２９】
配信サーバ１６のネットワーク参加処理部２６は、クライアント２０からのセッションの実行を受けた際に、予め定めた最大数Ｎの範囲で子クライアントとしての登録をサーバ情報ファイル２８に対し行い、配信サーバ１６を親とする子クライアントとの親子関係を登録する。情報配信部２４は、サーバ情報ファイル２８に登録された子クライアントに対し、オークション主催システム１０から受信した情報をキャストする。
【００３０】
クライアント２０の情報配信部３４は、ネットワークに参加する際に配信サーバ１６を経由してオークション主催システムにアクセスし端末管理情報である自分自身のクライアント情報を取得する。この時、クライアントリストファイル１２にノード登録がなければ新たなクライアントとして仮想ネットワークに対する参加処理を実行する。
【００３１】
このネットワークに対する新規参加のクライアントは、オークション主催システム１０のクライアントリストファイル１２から取得した既存のサーバ及びクライアントの端末管理情報に基づいて仮想ネットワークにおける参加クライアントの親関係と階層値を自動的に決定して参加する。
【００３２】
ネットワーク参加処理部３６の処理は、応答時間計測部４２、応答時間算出部４４、候補選択部４６、候補確定部４８、階層確定部５０及び端末管理情報更新部５２の機能により実現される。
【００３３】
応答時間計測部４２は既存のサーバ及びクライアントの全てにピングコマンドとして知られた計測パケットを配信し、参加クライアントに情報が届くまでの応答時間（レスポンス時間）を計測する。応答時間算出部４４はピングコマンドにより測定された応答時間にクライアントリストファイル１２の端末管理情報を加えたサーバ及びクライアントの応答時間を算出し、オークション主催システム１０から配信サーバ１６及び、またはクライアントを経由して参加クライアントに情報が届くまでの応答時間を求める。
【００３４】
候補選択部４６は応答時間算出部４４で求めた応答時間の中から短い順に上位Ｍ個を親クライアント候補として選択する。候補確定部４８は親クライアント候補との間でセッションを実行して通信接続を確立し、親クライアント候補における子クライアントの登録数が最大数Ｎ未満である場合に、参加クライアントを子クライアントとして追加登録して親クライアントを確定する。
【００３５】
階層確定部５０は候補確定部４８により確定した親クライアントの階層に１を加算した階層を参加クライアントの階層位置として登録する。更に端末管理情報更新部５２は確定した親クライアント及び階層位置を登録した参加クライアントのクライアント情報を生成してクライアント情報ファイル３８に保持するとともに、配信元であるオークション主催システム１０のクライアントリストファイル１２に転送して、端末管理情報を更新させる。
【００３６】
一方、クライアント２０に設けている情報配信部３４は複数の親クライアントから情報配信依頼を受けた際に、最初の配信依頼について配信情報を受信して保持した後、自分の子クライアントに配信情報をキャストする。この時、クライアント２０は最下位層であった場合には子クライアントは存在しないことから配信サーバ１６に配信情報の到達を通知する。
【００３７】
情報配信部３４には更に脱退処理部５４と生存監視部５６の機能が設けられている。脱退処理部５４はクライアント２０が仮想ネットワークから脱退する場合にクライアント情報ファイル３８に登録している全ての親クライアント及び子クライアントに切断を通知し、全ての通知先から許可応答が得られることが条件にネットワーク接続を切断する。
【００３８】
即ち、脱退処理部５４は親クライアントに対する切断の通知により、通知先の親クライアントに通知元の子クライアントの登録を削除させ、また子クライアントに対する切断通知により通知先の子クライアントに新たな親クライアントを検索させて置換えを行わせることになる。
【００３９】
生存監視部５６は仮想ネットワークへの参加中にクライアント情報ファイル３８に登録している全ての親クライアント及び子クライアントの存在を定期的に確認し、子クライアントの不存在を検知した場合はその登録を削除し、親クライアントの不存在を検知した場合には新たに親クライアントを検索して置換える処理を行う。
【００４０】
図３における本発明の配信サーバ１６及びクライアント２０は、例えば図４のようなコンピュータのハードウェア資源により実現される。図４のコンピュータにおいて、ＣＰＵ１００のバス１０１にはＲＡＭ１０２、ハードディスクコントローラ（ソフト）１０４、フロッピィディスクドライバ（ソフト）１１０、ＣＤ−ＲＯＭドライバ（ソフト）１１４、マウスコントローラ１１８、キーボードコントローラ１２２、ディスプレイコントローラ１２６、通信用ボード１３０が接続される。
【００４１】
ハードディスクコントローラ１０４はハードディスクドライブ１０６を接続し、本発明の仮想ネットワークの構築による情報通信処理を実行するプログラムをローディングしており、コンピュータの起動時にハードディスクドライブ１０６から必要なプログラムを呼び出して、ＲＡＭ１０２上に展開し、ＣＰＵ１００により実行する。
【００４２】
フロッピィディスクドライバ１１０にはフロッピィディスクドライブ（ハード）１１２が接続され、フロッピィディスク（Ｒ）に対する読み書きができる。ＣＤ−ＲＯＭドライバ１１４に対しては、ＣＤドライブ（ハード）１１６が接続され、ＣＤに記憶されたデータやプログラムを読み込むことができる。
【００４３】
マウスコントローラ１１８はマウス１２０の入力操作をＣＰＵ１００に伝える。キーボードコントローラ１２２はキーボード１２４の入力操作をＣＰＵ１００に伝える。ディスプレイコントローラ１２６は表示部１２８に対して表示を行う。通信用ボード１３０は無線を含む通信回線１３２を使用し、インターネット等のネットワークを介して他のクライアントやサーバとの間で通信を行う。
【００４４】
図５は、配信元となるオークション主催システム１０に設けたクライアントリストファイルの説明図である。クライアントリストファイル１２は下側に取り出して示すようにネットワークに存在する全クライアント数ｎに対応したインデックスファイル６０−１〜６０−ｎとクライアント毎の詳細な情報を格納したクライアント情報ファイル６２を保持している。
【００４５】
インデックスファイルは、インデックスファイル６０−１に示すようにクライアントＩＰアドレス、階層、センターまでのＰＩＮＧ値（応答時間）、子クライアント数、各子クライアントのＩＰアドレスを格納している。このインデックスファイル６０−１〜６０−ｎはクライアントがネットワークに参加する際に参照し、インデックスファイルの有無で自分のノード登録があるか否かの判別に利用する。
【００４６】
インデックスファイルの参照でノードが存在しなければクライアントを新規参加としてネットワーク参加処理を実行することになる。自分のノード登録が存在した場合には対応するクライアント情報ファイル６２をクライアントは取得してネットワークに参加する。
【００４７】
クライアント情報ファイル６２はクライアント数６４及び各クライアント毎のクライアント１情報６６−１〜クライアントｎ情報６６−ｎが登録されている。
【００４８】
図６は、図５のクライアント情報ファイル６２のクライアント１情報６６−１を取り出している。このクライアント１情報６６−１は先頭側のネットワーク情報６６−１１と個別情報６６−１２を備える。
【００４９】
ネットワーク情報６６−１１にはクライアントアドレス、階層、センターまでのＰＩＮＧ値（応答時間）が格納されている。個別情報６６−１２には該クライアントに対する親クライアント情報７６、子クライアント情報７８、受信情報格納領域８０、送信情報格納領域８２が設けられている。
【００５０】
親クライアント情報７６は親として接続してもよいクライアントの最大接続数、即ちＭ、親として接続しているクライアントの現在接続数に続いて各親クライアントのアドレスとセンターまでのＰＩＮＧ値（応答時間）が格納されている。子クライアント情報７８は子として接続してもよいクライアントの最大接続数、即ちＮと子として接続しているクライアントの現在接続数に続いて、各子クライアントのアドレスが登録されている。受信情報格納領域８０にはいずれかの親クライアント又は配信サーバから配信された配信情報ナンバーと受信情報が格納される。送信情報格納領域８２には子クライアント情報７８に登録されている子クライアントに送信すべき配信情報ナンバーと送信情報が格納される。
【００５１】
図７は、クライアントに設けられるクライアント情報ファイル３８の説明図である。このクライアント情報ファイル３８は図５のオークション主催システム１０側のクライアントリストファイル１２に格納されている自分自身のクライアント情報をネットワーク接続時に取得したものであり、例えばクライアント１情報を取得していたとすると、図６における個別情報６６−１２の部分がそのまま格納されている。
【００５２】
図８は、本発明におけるクライアント参加処理のフローチャートである。オークション参加ディーラのクライアントがオークションに参加する場合には、まずステップＳ１で配信サーバ１６に対しクライアントリスト１２を問い合わせて取得する。
【００５３】
ステップＳ２で配信サーバからの応答により自分のノード情報の存在を認識すればステップＳ１３に進み、図７に示したようにクライアント情報ファイル３８を取得し、親クライアントのセッション確立を実施してネットワークに接続する。
【００５４】
一方、ステップＳ２で配信サーバに対する問い合わせで自分のノード情報がなかった場合には、新たなクライアントとして仮想ネットワークに参加することからステップＳ３以降のネットワーク参加処理を実行する。
【００５５】
まずステップＳ３でクライアントリストファイル１２に登録されている全ての配信サーバ１６及びクライアント２０に対しＰＩＮＧコマンドを発行して、相手先から情報を受信する応答時間であるＰＩＮＧ値を取得して保持する。
【００５６】
ここでＰＩＮＧコマンドはＴＣＰ／ＩＰネットワーク上の任意のノードに対し接続性を確認するためのコマンドであり、対象ノードが稼動中で通信可能かどうかをＩＰレベルで確認することができる。
【００５７】
具体的にはＩＣＭＰ（インターネット・コントロール・メッセージ・プロトコル）のＥＣＯＨメッセージを使用する。この場合、送信メッセージのデータ部分に要求を送信した時刻を記述しておき、相手先から応答が帰ってくるまでの時間を検索できるため、相手先から情報を受け取るまでの時間を知ることが出来る。
【００５８】
続いてステップＳ４で各サーバ及びクライアントのクライアントリストファイル１２に登録されていたＰＩＮＧ値にステップＳ３で計測した該コンピュータまでのＰＩＮＧ値を加算してセンターであるオークション主催システム１０からの情報が届くまでの時間であるＰＩＮＧ値を生成する。即ち
ＰＩＮＧ値＝親クライアントＰＩＮＧ値＋計測ＰＩＮＧ値
で生成される。
【００５９】
次にステップＳ５で算出されたＰＩＮＧ値の上位となる短い応答時間の順番に最大数Ｍ個のクライアントを親クライアント候補として選択し、上位から順番に並べる。この場合、子クライアントの数が最大接続数Ｎに達しているサーバ及びクライアントは親クライアント候補から除外する。
【００６０】
尚、子クライアント数が最大接続数Ｎに達しているときの除外はステップＳ５でクライントリストファイル１２を元にＰＩＮＧコマンドを発行する際にサーバ及びクライアントの子クライアント数が最大接続数に達しているか否かを調べ、達しているものについてＰＩＮＧコマンドの発行先から除外することで代替しても良い。
【００６１】
続いてステップＳ６で最上位、即ちステップＳ４で求めたＰＩＮＧ値が最も少なく、接続済みの子クライアントがＮ個未満のクライアントをｘ＝１として選択し、ステップＳ７でクライアントとのセッション確立を実施する。このセッション確立によって親クライアント候補に対し自コンピュータを子クライアントとしての登録を行わせ、これによって自コンピュータである参加クライアントに対する親子関係が確立される。
【００６２】
続いてステップＳ８でセッション確立に成功した親クライアントの階層を取得し、ステップＳ９で親クライアント階層に１を加えた値を参加クライアントのクライアント階層として確定する。続いてステップＳ１０で自コンピュータに対して、親クライアントの最大接続数Ｍに達したか否かをチェックし、達していなければステップＳ１１でｘ＝Ｘ＋１とした後、次の順位を持つクライアントについてステップＳ７〜Ｓ９のセッション確立における親クライアントの確定と、クライアント階層の確定処理を行う。
【００６３】
このステップＳ７〜Ｓ１１における親クライアント候補とのセッション確立の実施による親子関係の登録については少なくとも２以上のセッションが確立できれば良く、最大接続数であるＭ個のセッションが確立できなくても良い。
【００６４】
ステップＳ１０でＮ個の親クライアント候補との間のセッション確立の実施がすむと、ステップＳ１２に進み、ステップＳ３〜Ｓ９の処理により得られた最新のクライアントリストであるクライアント情報ファイル３８を配信サーバ１６に送信し、オークション主催システム１０に対し設けているクライアントリストファイル１２を更新する。
【００６５】
図９は、本発明における情報配信処理のフローチャートである。この情報配信処理はステップＳ１で親クライアントから配信情報を受信すると、ステップＳ２で最新の配信か否かを、例えば配信情報ナンバーから認識し、最新の配信情報の依頼であれば、ステップＳ３で配信情報を受信し、それ以外の場合は配信依頼を破棄する。
【００６６】
これは自コンピュータが接続している複数の親クライアントから、同一内容の配信情報が送信されるため、最も早く受信した配信情報のみを受け付け、後から受信した同一内容の配信情報を排除するための処理である。
【００６７】
ステップＳ３で配信情報を受信するとステップＳ４に進み自分が最下位層か否かをチェックし、最下位層でなければステップＳ５でクライアント情報ファイル３８の子クライアント情報３８を参照し、自分の子クライアントに対し受信した配信情報をキャストする。自分が最下位層であった場合にはステップＳ６に進み配信サーバ１６に対し配信情報の到着を通知する。
【００６８】
図１０は、本発明におけるクライアント脱退処理のフローチャートである。このクライアント脱退処理にあっては、ネットワークから脱退したいクライアント１２０は、クライアント情報ファイル３８を参照し、ステップＳ１で親クライアント及び子クライアントに切断を通知し、ステップＳ２で全ての通知先から許可応答を待ち、全ての通知先から許可応答が受信されるとステップＳ３でセッションを切断してネットワークから離脱する。
【００６９】
図１１は、本発明における切断応答処理のフローチャートであり、図１０のクライアント脱退処理による切断通知を他クライアントから受けた際に実行される。この切断応答処理はステップＳ１でクライアントからの切断通知を受信し、クライアント情報ファイル３８を元に、ステップＳ２で自コンピュータにとって親クライアントからの切断通知か否かをチェックする。
【００７０】
親クライアントからの切断通知であった際にはステップＳ３に進み新たな親クライアントを検索して自コンピュータのクライアント情報ファイル３８の親クライアント情報７４を置換える。この親クライアントの検索は図８のステップＳ３〜Ｓ１２のクライアントの新規参加処理と同じとなる。
【００７１】
ステップＳ２で切断通知が子クライアントであった場合には、ステップＳ４に進み切断通知を受けた子クライアントを自コンピュータのクライアント情報ファイル３８の子クライアント情報７８から削除する。
【００７２】
図１２は、本発明におけるクライアント生存監視処理のフローチャートである。このクライアント生存監視処理はステップＳ１でクライアント情報ファイル３８を参照し、自分の親クライアント及び子クライアントから１つを選択し、ステップＳ２で例えばＰＩＮＧコマンドの実行などによりセッション確立を実施して生存確認を問い合わせる。ステップＳ３で確認応答がなかった場合にはステップＳ４で確認応答のないクライアントは親クライアントであるか否かをチェックし、親クライアントであればステップＳ５に進み、新しい親クライアントを検索し、自コンピュータのクライアント情報ファイル３８の親クライアント情報７４をを置換える。
【００７３】
この新たな親クライアントの検索は図８のステップＳ３〜Ｓ１２と同じ処理を行う。ステップＳ４で確認応答がないクライアントが子クライアントであった場合にはステップＳ６で子クライアントを自コンピュータのクライアント情報ファイル３８の子クライアント情報７８から削除する。以上のステップＳ１〜Ｓ６の処理をステップＳ７で関係する全クライアントの処理が済むまで繰り返す。
【００７４】
尚、上記の実施形態はオークションの情報配信を例にとるものであったが、本発明はこれに限定されず、上位の配信元からサーバによってインターネット経由で多数の端末装置であるクライアントにマルチキャスト的な情報配信を必要とする適宜の情報配信システムについてそのまま適用することができる。
【００７５】
また配信元がサーバクライアントシステムに限定されず、例えばサーバの存在しないピアツーピア構成のネットワークについても特定のピアから他のピアに情報を配信する場合にもそのまま適用することができる。即ち、ピアツーピアのネットワークシステムにあっては情報配信元のピアが第０階層に位置し、それ以外のピアが親子関係の最大接続数の制限のもとに階層構造をもつ仮想ネットワークを構築して配信元から各ピアに対し、マルチキャスト的な高速の情報配信を可能とする。
【００７６】
また本発明はその目的と利点を損なうことのない適宜の変形を含み、更に実施形態に示した数値による限定は受けない。
【００７７】
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
（付記）
（付記１）
配信元装置からサーバを介してクライアントに至る階層構造の仮想ネットワークを構築して情報を配信する情報通信方法に於いて、
前記仮想ネットワークに存在するサーバ及びクライアントのアドレス、配信元装置から情報が届く応答時間、及び前記サーバから数えて何階層に位置するかの階層位置を含む端末管理情報を前記配信元装置に保持する端末管理情報保持ステップと、
新たなクライアントが前記仮想ネットワークに参加する際に、前記配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、前記仮想ネットワークにおける参加クライアントの親子関係と階層位置を動的に決定するネットワーク参加ステップと、
任意のクライアントが１又は複数の親クライアントから情報の配信依頼を受けた際に、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であれば前記サーバに配信情報の到着を通知する情報配信ステップと、
を備えたことを特徴とする情報通信方法。（１）
【００７８】
（付記２）
付記１記載の情報通信方法に於いて、前記ネットワーク参加ステップは、
既存のサーバ及びクライアントの全てに計測パケットを配信して参加クライアントに情報が届く応答時間を計測するステップと、
計測された応答時間に前記端末管理情報から得た既存のサーバ又はクライアントの応答時間を加算し、配信元装置から既存のサーバ又はクライアントを経由して前記参加クライアントに情報が届く応答時間を求めるステップと、
前記応答時間の短い順にサーバ及び又はクライアントを予め定めた数だけ親クライアント候補として選択するステップと、
前記親クライアント候補との間に通信接続を確立し、子クライアントの登録数が所定数未満の場合に参加クライアントを子クライアントとして追加登録して親クライアントを確定するステップと、
確定した親クライアントの階層に１を加算した階層を前記参加クライアントの階層位置とするステップと、
前記親クライアント及び階層位置を登録した前記参加クライアントの端末管理情報を生成して保持すると共に前記配信元装置に転送してその端末管理情報を更新させるステップと、
を備えたことを特徴とする情報通信方法。（２）
【００７９】
（付記３）
付記１記載の情報通信方法に於いて、更に、クライアントが前記仮想ネットワークから脱退する場合、該クライアントに対応付けられている全ての親クライアント及び子クライアントに切断を通知し、全ての通知先から許可応答が得られることを条件にネットワーク接続を切断するネットワーク脱退ステップを備えたことを特徴とする情報通信方法。
【００８０】
（付記４）
付記３記載の情報通信方法に於いて、前記ネットワーク脱退ステップは、切断を通知した親クライアントに通知元の子クライアントの登録を削除させ、切断を通知した子クライアントに新たな親クライアントを検索して置き換えさせることを特徴とする情報通信方法。
【００８１】
（付記５）
付記１記載の情報通信方法に於いて、更に、クライアントは仮想ネットワークへの参加中に、該クライントに対応付けられている全ての親クライアント及び子クライアントの存在を定期的に確認し、子クライアントの不存在を検知した場合はその登録を削除し、親クライアントの不存在を検知した場合は、新たな親クライアントを検索して置き換える生存監視ステップを備えたことを特徴とする情報通信方法。
【００８２】
（付記６）
付記１記載の情報通信方法において、前記仮想ネットワークは、
配信元装置からの情報を次階層のクライアントに配信するサーバが位置する最上位層と、
最大数が制限された複数の親クライアントから配信情報を受信し、最初に受信された配信情報を最大数が制限された子クライアントに送信するクライアントが位置する１又は複数の中間層と、
親クライアントから配信情報を受信して前記サーバに配信情報の到着を通知するクライアントが位置する最下位層と、
を備えたことを特徴とする情報通信方法。
【００８３】
（付記７）
配信元装置からサーバを介してクライアントに至る階層構造の仮想ネットワークを構築して情報を配信するシステムのクライアントを構築するコンピュータに、
前記仮想ネットワークに参加する際に、前記仮想ネットワークに存在するサーバ及びクライアントのアドレス、配信元装置から情報が届く応答時間、及び前記サーバから数えて何階層に位置するかの階層位置を含む端末管理情報を前記配信元装置から取得する端末管理情報取得ステップと、
前記配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、前記仮想ネットワークにおける親子関係と階層位置を動的に決定するネットワーク参加ステップと、
複数の親クライアントから情報の配信依頼を受けた際に、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であれば前記サーバに配信情報の到着を通知する情報配信ステップと、
を実行させることを特徴とするプログラム。（３）
【００８４】
（付記８）
配信元装置からサーバを介してクライアントに至る階層構造の仮想ネットワークを構築して情報を配信する情報通信システムに於いて、
前記仮想ネットワークに存在するサーバ及びクライアントのアドレス、配信元装置から情報が届く応答時間、及び前記サーバから数えて何階層に位置するかの階層位置を含む端末管理情報を前記配信元装置に保持する端末管理情報ファイルと、
新たなクライアントが前記仮想ネットワークに参加する際に、前記配信元装置から取得した既存のサーバおよびクライアントの端末管理情報に基づいて、前記仮想ネットワークにおける参加クライアントの親子関係と階層位置を動的に決定するネットワーク参加処理部と、
任意のクライアントが複数の親クライアントから情報の配信依頼を受けた際に、最初の配信依頼について自己の階層位置が最下位層でなければ配信情報を受信して自己の子クライアントに送信し、階層位置が最下位層であれば前記サーバに配信情報の到着を通知する情報配信部と、
を備えたことを特徴とする情報通信システム。
【００８５】
【発明の効果】
以上説明してきたように本発明によれば、配信元のサーバを最上位層として制限された数のクライアントが親子関係を持って階層的に接続される仮想ネットワークが自動的に構築され、サーバに接続されるクライアントの最大数は全体のクライアントの数が増加しても制限された最大数までであり、これによってオークションなどに参加するクライアント数が増大してもサーバの負荷はクライアントの最大接続数で決まる一定値に抑えられ、先端に接する接続の負荷の集中を防ぐことができる。
【００８６】
また各クライアントは配信元装置から情報が届く応答時間の短い順に親子関係を自動的に確立して階層的に接続され、階層的なピアツーピアの情報配信により並列的なパスによって上位層から下位層のクライアントに向けて情報を短時間で配信することができ、実施的にマルチキャスト相当の配信を実現することができる。
【００８７】
更に最下位層のクライアントに情報が配信されるとサーバに通知されるため配信元装置側でどの程度の時間で情報が配信されているかをリアルタイムで監視でき、クライアント数の増加に対しサーバ数を対応させるなど適切なネットワーク管理が実現できる。
【図面の簡単な説明】
【図１】本発明が適用されるネットワーク環境の説明図
【図２】本発明により構築される仮想ネットワークの説明図
【図３】本発明における配信サーバ及びクライアントの機能構成のブロック図
【図４】本発明の配信サーバ及びクライアントが適用されるコンピュータのハードウェア環境の説明図
【図５】配信元装置に設けたクライアントリストファイルの説明図
【図６】クライアントリストファイルの中のクライアント情報の説明図
【図７】クライアントに設けられるクライアント情報ファイルの説明図
【図８】本発明におけるクライアント参加処理のフローチャート
【図９】本発明における情報配信処理のフローチャート
【図１０】本発明におけるクライアント脱退処理のフローチャート
【図１１】本発明における切断応答処理のフローチャート
【図１２】本発明におけるクライアント生存監視処理のフローチャート
【符号の説明】
１０：オークション主催システム
１２：クライアントリストファイル
１４：ＬＡＮ
１６：配信サーバ
１８：インターネット
２０、２０−１１〜２０−１ｎ，２０−２１，２０−２２：クライアント
２２，３０，３２，４０：通信制御部
２４，３４：情報配信部
２６，３６：ネットワーク参加処理部
２８：サーバ情報ファイル
３８，６２：クライアント情報ファイル
４２：応答時間計測部
４４：応答時間算出部
４６：候補選択部
４８：候補確定部
５０：階層確定部
５２：端末管理情報更新部
５４：脱退処理部
５６：生存監視部
６０−１〜６０−ｎ：インデックスファイル
【図１】
2004260244.tif 000003
【図２】
2004260244.tif 000004
【図３】
2004260244.tif 000005
【図４】
2004260244.tif 000006
【図５】
2004260244.tif 000007
【図６】
2004260244.tif 000008
【図７】
2004260244.tif 000009
【図８】
2004260244.tif 000010
【図９】
2004260244.tif 000011
【図１０】
2004260244.tif 000012
【図１１】
2004260244.tif 000013
【図１２】
2004260244.tif 000014