(57)【要約】【課題】  データ配布におけるサーバーへの負荷集中の軽減、および不要なノードに対するデータの配布を削減する。【解決手段】  サーバーへの負荷が集中するサーバー／クライアント型のモデルではなくＰ２Ｐを採用することで、負荷の一極集中化を解消する。また、データの配布対象となるノードのみから構成されるＰ２Ｐグループを動的に構築することにより、不要なノードへのデータ配布を防止する。【選択図】  図１
2006221423.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたノードに対してデータを配布する方法であって、
データ配布先をリスト形式で登録するデータ配布先登録工程と、
登録済みのデータ配布先リストから配布先リストを選択するデータ配布先リスト選択工程と、
前記選択されたデータ配布先リストから直接データを配布する任意のノードを選択するノード選択工程と、
前記選択された任意のノードに対して配布先リストを配布する配布先リスト配布工程と、
前記選択された任意のノードに対してデータを配布するデータ配布工程と、
前記配布された配布先リストを受信する配布先リスト受信工程と、
前記配布されたデータを受信する配布データ受信工程と、を備えることを特徴とするデータ配布方法。
【請求項２】
前記データ配布工程で、前記選択された任意のノードから配布先リストに記載された自ノード以外の全ノードに対して、直接データを配布することを特徴とする請求項１記載のデータ配布方法。
【請求項３】
前記データ配布工程で、前記選択された任意のノードにおいて配布先リストを分割し、前記分割された配布先リストに記載された任意のノードに対してデータと配布先リストを配布することを特徴とする請求項１記載のデータ配布方法。
【請求項４】
前記データ配布工程で、前記選択された任意のノードから配布先リストに記載された自ノード以外の任意のノードに対してデータと配布先リストを配布する、ということを配布先リストに記載されているノード間において、リレー形式で行うことを特徴とする請求項１記載のデータ配布方法。
【請求項５】
前記データ配布工程で、オフライン等の理由によりデータ配布に失敗したノードを記録しておき、あるタイミングで再配布を行うことを特徴とする請求項１記載のデータ配布方法。
【請求項６】
前記データ配布工程で、各ノードにおいてデータ配布履歴を管理しておき、配布先候補が複数ある場合には配布履歴の多いノードに優先してデータ配布を行うことを特徴とする請求項１記載のデータ配布方法。
【請求項７】
ネットワークに接続されたノードに対してデータを配布する装置であって、
データ配布先をリスト形式で登録するデータ配布先登録手段と、
登録済みのデータ配布先リストから配布先リストを選択するデータ配布先リスト選択手段と、
前記選択されたデータ配布先リストから直接データを配布する任意のノードを選択するノード選択手段と、
前記選択された任意のノードに対して配布先リストを配布する配布先リスト配布手段と、
前記選択された任意のノードに対してデータを配布するデータ配布手段と、
前記配布された配布先リストを受信する配布先リスト受信手段と、
前記配布されたデータを受信する配布データ受信手段と、を備えることを特徴とするデータ配布装置。
【請求項８】
前記データ配布手段で、前記選択された任意のノードから配布先リストに記載された自ノード以外の全ノードに対して、直接データを配布することを特徴とする請求項７記載のデータ配布装置。
【請求項９】
前記データ配布手段で、前記選択された任意のノードにおいて配布先リストを分割し、前記分割された配布先リストに記載された任意のノードに対してデータと配布先リストを配布することを特徴とする請求項７記載のデータ配布装置。
【請求項１０】
前記データ配布手段で、前記選択された任意のノードから配布先リストに記載された自ノード以外の任意のノードに対してデータと配布先リストを配布する、ということを配布先リストに記載されているノード間において、リレー形式で行うことを特徴とする請求項７記載のデータ配布装置。
【請求項１１】
前記データ配布手段で、オフライン等の理由によりデータ配布に失敗したノードを記録しておき、あるタイミングで再配布を行うことを特徴とする請求項７記載のデータ配布装置。
【請求項１２】
前記データ配布手段で、各ノードにおいてデータ配布履歴を管理しておき、配布先候補が複数ある場合には配布履歴の多いノードに優先してデータ配布を行うことを特徴とする請求項７記載のデータ配布装置。
【請求項１３】
前記請求項１乃至６に記載された方法をコンピュータに実行させるプログラム、または前記請求項７乃至１２に記載された装置として機能するプログラムのいずれかを記録したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的にネットワークを構築しP2Pを用いたデータ配布を行う方法、装置、及び記憶媒体に関する。
【背景技術】
【０００２】
従来、データを複数のユーザーに対して一斉に配布する方法は、データベース等の情報資源を集中管理するサーバーを配置し、クライアントであるユーザーに対してサーバーが管理している資源を配布する「サーバー／クライアント型」が主流であった。しかし、この方式ではサーバーへ負荷が集中してしまうこと、サーバーの設置にコストがかかること、等の問題点があった。
【０００３】
そこで、上記のサーバー／クライアント型モデルの問題点を解決するべく考案されたのがP2P（peer-to-peer）と呼ばれる技術である。P2PにはピュアP2PとハイブリッドP2Pの2種類があり、ピュアP2Pとはファイル交換ソフトであるGnutellaに代表されるような、特定のサーバーを必要とせず全てのデータがクライアント間でやり取りされる方式を指す。ハイブリッドP2Pは、サーバーは存在するが、その役割はユーザーの接続管理やユーザーが保持しているデータの把握であり、データ自体のやり取りは直接ユーザー間で行われる方式を指す。ハイブリッドP2Pの代表ソフトとしてはNapsterが挙げられる。
【０００４】
P2Pを用いることで従来のサーバーへの負荷集中の緩和が可能となり、特にピュアP2Pに関しては、サーバー設置コストが不要であるといったメリットもある。
【０００５】
しかしながら、P2Pでは取得したいデータがあるユーザーが自ら当該データを探して取得することを主目的としているため、データ配布側ではなくデータ受信側指向の意味合いが強い。
【０００６】
データ配布を目的としたP2Pを用いた技術としては、下記文献が挙げられるが、これらはいずれも特定のグループ内におけるデータ配布の最適化を図るものである。
【特許文献１】特開２００４−１８００９２号公報
【特許文献２】特開２００４−１６６０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように、P2PはGnutellaやNapsterなどの音楽データの受信を目的としたような、データを取得する側に重点を置いた用途で利用されることが多い。データを配布する側の観点からP2Pを利用した技術も存在するが、あらかじめ対象となる範囲が限定されており、その範囲内に存在するユーザーは配布されるデータの必要性に関わらずデータが配布されてしまう。
【課題を解決するための手段】
【０００８】
本発明はかかる問題に鑑みてなされたものであり、すなわち請求項１に記載の本発明は、ネットワークに接続されたノードに対してデータを配布する方法であって、データ配布先をリスト形式で登録するデータ配布先登録工程と、登録済みのデータ配布先リストから配布先リストを選択するデータ配布先リスト選択工程と、前記選択されたデータ配布先リストから直接データを配布する任意のノードを選択するノード選択工程と、前記選択された任意のノードに対して配布先リストを配布する配布先リスト配布工程と、前記選択された任意のノードに対してデータを配布するデータ配布工程と、前記配布された配布先リストを受信する配布先リスト受信工程と、前記配布されたデータを受信する配布データ受信工程と、を備えることを特徴とするデータ配布方法である。
【０００９】
また、請求項２に記載の本発明は、前記データ配布工程で、前記選択された任意のノードから配布先リストに記載された自ノード以外の全ノードに対して、直接データを配布することを特徴とする請求項１記載のデータ配布方法である。
【００１０】
また、請求項３に記載の本発明は、前記データ配布工程で、前記選択された任意のノードにおいて配布先リストを分割し、前記分割された配布先リストに記載された任意のノードに対してデータと配布先リストを配布することを特徴とする請求項１記載のデータ配布方法である。
【００１１】
また、請求項４に記載の本発明は、前記データ配布工程で、前記選択された任意のノードから配布先リストに記載された自ノード以外の任意のノードに対してデータと配布先リストを配布する、ということを配布先リストに記載されているノード間において、リレー形式で行うことを特徴とする請求項１記載のデータ配布方法である。
【００１２】
また、請求項５に記載の本発明は、前記データ配布工程で、オフライン等の理由によりデータ配布に失敗したノードを記録しておき、あるタイミングで再配布を行うことを特徴とする請求項１記載のデータ配布方法である。
【００１３】
また、請求項６に記載の本発明は、前記データ配布工程で、各ノードにおいてデータ配布履歴を管理しておき、配布先候補が複数ある場合には配布履歴の多いノードに優先してデータ配布を行うことを特徴とする請求項１記載のデータ配布方法である。
【００１４】
また、請求項７に記載の本発明は、ネットワークに接続されたノードに対してデータを配布する装置であって、データ配布先をリスト形式で登録するデータ配布先登録手段と、登録済みのデータ配布先リストから配布先リストを選択するデータ配布先リスト選択手段と、前記選択されたデータ配布先リストから直接データを配布する任意のノードを選択するノード選択手段と、前記選択された任意のノードに対して配布先リストを配布する配布先リスト配布手段と、前記選択された任意のノードに対してデータを配布するデータ配布手段と、前記配布された配布先リストを受信する配布先リスト受信手段と、前記配布されたデータを受信する配布データ受信手段と、を備えることを特徴とするデータ配布装置である。
【００１５】
また、請求項８に記載の本発明は、前記データ配布手段で、前記選択された任意のノードから配布先リストに記載された自ノード以外の全ノードに対して、直接データを配布することを特徴とする請求項７記載のデータ配布装置である。
【００１６】
また、請求項９に記載の本発明は、前記データ配布手段で、前記選択された任意のノードにおいて配布先リストを分割し、前記分割された配布先リストに記載された任意のノードに対してデータと配布先リストを配布することを特徴とする請求項７記載のデータ配布装置である。
【００１７】
また、請求項１０に記載の本発明は、前記データ配布手段で、前記選択された任意のノードから配布先リストに記載された自ノード以外の任意のノードに対してデータと配布先リストを配布する、ということを配布先リストに記載されているノード間において、リレー形式で行うことを特徴とする請求項７記載のデータ配布装置である。
【００１８】
また、請求項１１に記載の本発明は、前記データ配布手段で、オフライン等の理由によりデータ配布に失敗したノードを記録しておき、あるタイミングで再配布を行うことを特徴とする請求項７記載のデータ配布装置である。
【００１９】
また、請求項１２に記載の本発明は、前記データ配布手段で、各ノードにおいてデータ配布履歴を管理しておき、配布先候補が複数ある場合には配布履歴の多いノードに優先してデータ配布を行うことを特徴とする請求項７記載のデータ配布装置である。
【００２０】
また、請求項１３に記載の本発明は、前記請求項１乃至６に記載された方法をコンピュータに実行させるプログラム、または前記請求項７乃至１２に記載された装置として機能するプログラムのいずれかを記録したことを特徴とするコンピュータ読み取り可能な記憶媒体である。
【発明の効果】
【００２１】
企業内ネットワーク等の比較的大規模なネットワークにおいて、さまざまな情報を異なる対象に対して配布するという状況は数多く発生すると考えられる。具体的には、全社的に配布したい情報や事業所別に配布したい情報、全社員に配布したい情報や管理職にのみ配布したい情報などがある。本発明により、上記のようなさまざまな情報を、P2Pを用いて情報を受け取るユーザーのみで動的にネットワークを構築して配布することが可能となる。加えて、情報の不要なユーザーには情報が配布されないため、ネットワーク負荷の軽減も図れる。
【発明を実施するための最良の形態】
【００２２】
＜実施形態１＞
以下、図を参照しながら本発明の実施形態を詳細に説明する。
【００２３】
図１は、本発明を実施する装置の機能的構成を示す図である。図１に示した装置は、データ配布先をリスト形式で登録するデータ配布先登録部１１、登録済みのデータ配布先リストから配布先リストを選択するデータ配布先リスト選択部１２、選択されたデータ配布先リストから直接データを配布するノードを選択するノード選択部１３、選択されたノードに対して配布先リストを配布する配布先リスト配布部１４、選択されたノードに対してデータを配布するデータ配布部１５、配布先リストを受信する配布先リスト受信部１６、配布されたデータを受信するデータ受信部１７から構成される。
【００２４】
図２は、本発明を実施する装置のハードウェア構成を示すブロック図である。図２に示した装置は、後述するフローチャートに示される処理を実行する中央処理装置２１、中央処理装置のワークエリアとして利用される主記憶装置２２、他の機器への配布を行う配布先リスト配布部１４およびデータ配布部１５、他の機器からの受信を行う配布先リスト受信部１６およびデータ受信部１７を実現する通信部２３、受信したデータ等の表示を実現する表示装置２４、データ配布先登録部１１を実現する入力装置２５、データ配布先登録部１１より登録されたデータ配布先リストを記録する外部記憶装置２６から構成される。
【００２５】
図３は、本発明におけるデータ配布先リストを登録する手順を示すフローチャートである。まず、データ配布先として登録したい対象を入力する（Ｓ１０１）。入力された配布対象は外部記憶装置に保存される（Ｓ１０２）。この登録処理により、配布先リスト選択時にここで登録されたリストを選択することが可能となる。図４に、配布先リストを示す。外部記憶装置に保存されるリスト情報はユーザーIDのみであるが、配布を行う際には配布状況が確認できるように配布状況のテーブルが付与された状態で配布を行うユーザーにリストを渡す。
【００２６】
図５は、本発明におけるデータ配布手順を示すフローチャートである。まず、データを配布したい対象となる配布先リストを選択する（Ｓ２０１）。次に、そのリスト内に記載されているノードから自ノードにおいてIPアドレスが既知であるノードをピックアップし、その候補内から配布先リストとデータを配布する対象として任意のノードが選択される（Ｓ２０２）。ノードにデータを配布するためには当該ノードのＩＰアドレスが既知であることが必要条件となるため、ユーザーＩＤしか知らない場合は配布対象としては選択できない。選択されたノードの接続状態を確認した後、選択されたノードがオンラインの場合には、配布先リストの配布（Ｓ２０３）、およびデータの配布（Ｓ２０４）が行われる。選択されたノードがオフラインの場合にはＳ２０２に戻り、再度ノード選択から同様の処理を繰り返す。
【００２７】
図６は、図５において選択されたノードが配布先リストおよびデータを受信し、指定された範囲内にデータを配布する手順を示すフローチャートである。まず、データを配布したいユーザーから配布先リストの受信（Ｓ３０１）、およびデータの受信（Ｓ３０２）を行う。次に、自ノードが受信したことを示すフラグを配布先リストに記載する（Ｓ３０３）。受信したノードは、受信した配布先リストに記載されている全ノードに対して、データの配布を行う（Ｓ３０４）。このとき配布対象ノードの状態（オンライン／オフライン）をチェックし、オフラインの場合にはそのノードを記録しておき（Ｓ３０５）、配布先リストに記載されている全ノードに対して一通り配布を試みた後、配布状況を示す配布先リストを配布元ノードに送信する（Ｓ３０６）。
【００２８】
本提案では、オフラインのためにデータ配布が完了していないユーザーへの配布方法の検討までは言及しておらず、未配布の状態であるユーザーの有無を配布元のユーザーに対して通知することで、配布元で配布状況を把握することまでを目的とする。
【００２９】
図７は、本発明における実施形態１の概念図である。まず、データ配布ユーザーは、自分がデータを配布したい範囲をあらかじめ用意してある配布先リストから選択し、リスト内の任意のノードに対して配布先リストとデータを配布する（（１））。受信したノードは、リストをもとに動的にＰ２Ｐネットワークを構築し、配布先リストに記載されている全ノードに対してデータを配布する（（２））。ただし、本方式ではデータ配布ユーザーから直接配布を受けたユーザーはリストに掲載されている全ユーザーのIPアドレスを知っていることが前提となる。
【００３０】
＜実施形態２＞
本発明を実施する第２の形態の基本的な構成は実施形態１に準じる。ただし、配布元より選択された任意のノードから他のノードに対してデータを配布する方式が異なる。図８は、選択されたノードが配布先リストおよびデータを受信し、指定された範囲内にデータを配布する手順を示すフローチャートである。まず、データを配布したいユーザー、もしくはリストに記載されている他のノードから配布先リストの受信（Ｓ４０１）、およびデータの受信（Ｓ４０２）を行う。次に、自ノードが受信したことを示すフラグを配布先リストに記載する（Ｓ４０３）。リストに記載されているノードに関して、まだデータが配布されていないノードがある場合には、次にデータを配布するノードを決定する（Ｓ４０６）。すでに全ノードに配布済みの場合は、配布時の状態等を記載した配布先リストを配布元から選択されたノードに送信し（Ｓ４０４）、さらに配布元ノードへ配布先リストを送信する（Ｓ４０５）。決定したノードの状態をチェックし、オンラインの場合には、配布先リストの配布（Ｓ４０８）、およびデータの配布（Ｓ４０９）を行う。対象ノードがオフラインの場合には、そのノードを記録しておき（Ｓ４０７）、再度対象ノードを選択する。
【００３１】
図９は、本発明における実施形態２の概念図である。まず、データ配布ユーザーは、自分がデータを配布したい範囲をあらかじめ用意してある配布先リストから選択し、リスト内の任意のノードに対して配布先リストとデータを配布する（（１））。受信したノードは、配布先リストに記載されているノードから任意のノードを選択しデータを配布する。同様にして、それ以降のノードもリレー形式にデータを配布していく（（２））。
【００３２】
＜実施形態３＞
本発明を実施する第３の形態の基本的な構成は実施形態１に準じる。ただし、配布元より選択された任意のノードから他のノードに対してデータを配布する方式が異なる。図１０は、選択されたノードが配布先リストおよびデータを受信し、指定された範囲内にデータを配布する手順を示すフローチャートである。図１０は、選択されたノードが配布先リストおよびデータを受信し、指定された範囲内にデータを配布する手順を示すフローチャートである。まず、データを配布したいユーザー、もしくはリストに記載されている他のノードから配布先リストの受信（Ｓ５０１）、およびデータの受信（Ｓ５０２）を行う。次に、自ノードが受信したことを示すフラグを配布先リストに記載する（Ｓ５０３）。リストに記載されている配布先ノード数をチェックし（Ｓ５０４）、配布先ノード数があらかじめ設定された閾値を超えているかどうかを判定し、閾値以上のノード数の場合には配布先リストを分割し（Ｓ５０５）、複数ノードに対して接続状態を確認した上で配布先リストの配布（Ｓ５０７）、およびデータの配布（Ｓ５０８）を行う。配布先ノード数が閾値以下の場合には、配布先ノードの接続状態を確認し、オンラインの場合にはデータを配布し（Ｓ５０９）、オフラインの場合には配布先リストにそのノードを記録しておく（Ｓ５１０）。最後に、配布先リストに記載されている全ノードに対して一通り配布を試みた後、配布状況を示す配布先リストを配布元の上位ノードに送信する（Ｓ５１１）。
【００３３】
図１１は、本発明における実施形態３の概念図である。まず、データ配布ユーザーは、自分がデータを配布したい範囲をあらかじめ用意してある配布先リストから選択し、リスト内の任意のノードに対して配布先リストとデータを配布する（（１））。受信したノードは、配布先リストをノード数に応じて分割（図１１の例では２分割）し、２つの任意のノードに対して配布先リストとデータを配布する（（２））。分割されたリストを受信したノードは、さらに配布先リストを分割するかどうかの判定をリストに記載されているノード数から行い、分割する場合には上述内容と同様の処理を行う。分割しない場合（図１１の例）には、配布先リストに記載されている全ノードに対してデータの配布を行う（（３））。
【００３４】
＜実施形態４＞
本発明を実施する第４の形態の基本的な構成は実施形態３に準じる。ただし、配布元がリストから複数の任意のノードを選択する点が異なる。
【００３５】
＜実施形態５＞
本発明を実施する第５の形態の基本的な構成は実施形態２に準じる。ただし、配布元がリストから任意のノードを選択するとき、および選択された任意のノードから任意のノードを選択するときに、過去の配布履歴をもとに配布先を選択する点が異なる。
【００３６】
＜実施形態６＞
本発明を実施する第６の形態の基本的な構成は実施形態３に準じる。ただし、配布元がリストから任意のノードを選択するとき、および選択された任意のノードから任意のノードを選択するときに、過去の配布履歴をもとに配布先を選択する点が異なる。
【００３７】
＜実施形態７＞
本発明を実施する第７の形態の基本的な構成は実施形態４に準じる。ただし、配布元がリストから複数の任意のノードを選択するとき、および選択された任意のノードから任意のノードを選択するときに、過去の配布履歴をもとに配布先を選択する点が異なる。
【図面の簡単な説明】
【００３８】
【図１】本発明を実施する装置の機能的構成を示す図である。
【図２】本発明を実施する装置のハードウェア構成を示すブロック図である。
【図３】本発明のデータ配布先リストを登録する手順を示すフローチャートである。
【図４】本発明の配布先リストを示す図である。
【図５】本発明のデータ配布手順を示すフローチャートである。
【図６】本発明の実施形態１におけるデータ受信、および配布手順を示すフローチャートである。
【図７】本発明の実施形態１における概念図である。
【図８】本発明の実施形態２におけるデータ受信、および配布手順を示すフローチャートである。
【図９】本発明の実施形態２における概念図である。
【図１０】本発明の実施形態３におけるデータ受信、および配布手順を示すフローチャートである。
【図１１】本発明の実施形態３における概念図である。
【図１】
2006221423.tif 000003
【図２】
2006221423.tif 000004
【図３】
2006221423.tif 000005
【図４】
2006221423.tif 000006
【図５】
2006221423.tif 000007
【図６】
2006221423.tif 000008
【図７】
2006221423.tif 000009
【図８】
2006221423.tif 000010
【図９】
2006221423.tif 000011
【図１０】
2006221423.tif 000012
【図１１】
2006221423.tif 000013