(57)【特許請求の範囲】
【請求項１】
少なくとも１台のパケット転送装置によってパケット転送を行うパケット転送システムにおける前記パケット転送装置であり、
パケットを受信する受信部と、
パケットの送信先となり得る端末の台数を、どの前記パケット転送装置の配下に属する前記端末の台数であるかを区別して記憶する記憶部と、
前記端末の台数に基づいて、全ての前記端末が等確率で選択されるように、パケット送信先となる一台の前記パケット転送装置又は一台の前記端末を選択する選択部と、
前記選択されたパケット送信先へ前記受信部が受信したパケットを送信する送信部と、
を備えたことを特徴とするパケット転送装置。
【請求項２】
前記送信部は、自パケット転送装置の配下に属する前記端末の台数を含んだ情報を他の前記パケット転送装置に送信し、
前記受信部は、他の前記パケット転送装置が送信した前記情報を受信する
ことを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
少なくとも１台のパケット転送装置によってパケット転送を行うパケット転送システムにおけるパケット転送方法であり、
パケットを受信する受信ステップと、
パケットの送信先となり得る端末の台数を、どの前記パケット転送装置の配下に属する前記端末の台数であるかを区別した前記端末の台数に基づいて、全ての前記端末が等確率で選択されるように、パケット送信先となる一台の前記パケット転送装置又は一台の前記端末を選択する選択ステップと、
前記選択ステップで選択されたパケット送信先へ前記受信部が受信したパケットを送信する送信ステップと、
を含むことを特徴とするパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットの転送を行うパケット転送装置およびパケット転送方法に関する。
【背景技術】
【０００２】
インターネットでは、ＩＰアドレスを用いて通信相手を指定するが、そのＩＰアドレスには大きく３種類に分類することができる。それは、ユニキャストアドレス（ｕｎｉｃａｓｔ)、マルチキャストアドレス（ｍｕｌｔｉｃａｓｔ)、エニイキャストアドレス（ａｎｙｃａｓｔ)である。
【０００３】
ユニキャストアドレスは、ある特定の1台のノードを指定するものであり、最もよく用いられる形態である。マルチキャストアドレスは、いくつかのノードがグループを形成しているような場合に、そのグループ全体を指定するために用いられる。ブロードキャスト（ノード全体を宛先として指定する）もマルチキャストの一種であると考えられる。エニイキャストアドレスは、形成されたグループの中のどれか１台だけにパケットを届けるために用いられる（例えば、非特許文献１参照）。使用例としては、例えばＤＮＳサーバの負荷分散などに用いられ、複数のＤＮＳサーバに同一のアドレスを持たせ、ユーザノードのネットワーク的な位置に応じて到達するＤＮＳサーバを異ならせるということが行われている（例えば、非特許文献２参照）。
【０００４】
通常、１種類のユニキャストアドレスであれば、必ず同一の宛先に到達するが、エニイキャストではそうならない。また、その他には、Ｍｏｂｉｌｅ  ＩＰｖ６での動的なＨＡ （Ｈｏｍｅ  Ａｇｅｎｔ)の発見にも用いられ、ホームネットワーク内に存在する複数のＨＡの中から、一台だけがユーザからの要求に応答する。
【０００５】
しかしながら、インターネットにおいて、あるノードから、誰でもいいのでランダムな相手にパケットを届けるという通信形態である通信を実施しようとした場合、上述の３種類の形式だけでは、実現が困難である、または効率が悪くなると考えられる。
【０００６】
元来インターネットは、意図した相手ノードとの通信を実施するために発展したものであるために、このような通信形態には不向きである。しかし、ランダムな宛先への通信が可能になれば、完全に無知な状態からのサービス発見や、新たなタイプのアプリケーション創造などが可能になると考えられる。
【０００７】
「誰かに届けばよい」という通信形態は、エニイキャストに類似している。しかし、エニイキャストは限定されたノード群の中のどれかに届けばよいが、上記のようなランダムな通信の場合にはその対象となるノード群がインターネット全体と考えられるため、従来のエニイキャスト技術と同じようにして実現するのは困難であると考えられる。
【０００８】
ランダムな宛先を指定する方法として最も単純な方法は、ランダムにアドレスを生成してそれを宛先としてパケットを送信することである。しかし、そこには２つの問題が存在する。１つ目は、その宛先が実際にはノードが存在しないアドレスである可能性があり、パケットがどこにも到達できず破棄されてしまうことである。そのためこれは無駄なトラフィックとなり、さらにはICMP unreachableメッセージが返送されてしまう可能性もある。
【０００９】
もう1つは、宛先が必ずしもエンドホストではない可能性があることである。つまり、実際にパケットを届けたい相手は、何らかのサービスを行っているエンドホスト（中継ノード以外）であると考えられるが、ランダムな宛先アドレスが途中の基幹ルータのアドレスとなってしまう場合がある。
【非特許文献１】ＲＦＣ１５４６：「Ｈｏｓｔ  Ａｎｙｃａｓｔｉｎｇ  Ｓｅｒｖｉｃｅ」
【非特許文献２】ＲＦＣ３２５６：「Ｔｈｅ  ＤＯＣＳＩＳ  （Ｄａｔａ−Ｏｖｅｒ−Ｃａｂｌｅ  Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）  Ｄｅｖｉｃｅ  Ｃｌａｓｓ  ＤＨＣＰ  （Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）  Ｒｅｌａｙ  Ａｇｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｕｂ−ｏｐｔｉｏｎ」
【発明の開示】
【発明が解決しようとする課題】
【００１０】
また、複数のエンドホストからなるエンドホスト群に属する１台のエンドホストに対し、全てのエンドホストに対してパケット到達確率が一様になるように転送することができないという問題があった。
【００１１】
本発明は上記の課題を解決するためになされたものであり、エンドホスト群に含まれる全てのエンドホストに対し、パケット到達確率が一様に、かつ確実にいずれかのエンドホストへパケットを到達させることができるパケット転送装置、パケット転送システム、およびパケット転送プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、少なくとも１台のパケット転送装置によってパケット転送を行うパケット転送システムにおける前記パケット転送装置であり、パケットを受信する受信部と、パケットの送信先となり得る端末の台数を、どの前記パケット転送装置の配下に属する前記端末の台数であるかを区別して記憶する記憶部と、前記端末の台数に基づいて、全ての前記端末が等確率で選択されるように、パケット送信先となる一台の前記パケット転送装置又は一台の前記端末を選択する選択部と、前記選択されたパケット送信先へ前記受信部が受信したパケットを送信する送信部と、を備えたことを特徴とするパケット転送装置である。
【００１３】
また、本発明のパケット転送装置において、前記送信部は、自パケット転送装置の配下に属する前記端末の台数を含んだ情報を他の前記パケット転送装置に送信し、前記受信部は、他の前記パケット転送装置が送信した前記情報を受信することを特徴とする。
【００１４】
また、本発明は、少なくとも１台のパケット転送装置によってパケット転送を行うパケット転送システムにおけるパケット転送方法であり、パケットを受信する受信ステップと、パケットの送信先となり得る端末の台数を、どの前記パケット転送装置の配下に属する前記端末の台数であるかを区別した前記端末の台数に基づいて、全ての前記端末が等確率で選択されるように、パケット送信先となる一台の前記パケット転送装置又は一台の前記端末を選択する選択ステップと、前記選択ステップで選択されたパケット送信先へ前記受信部が受信したパケットを送信する送信ステップと、を含むことを特徴とするパケット転送方法である。
【発明の効果】
【００１５】
本発明によれば、エンドホスト群に含まれる全てのエンドホストに対し、パケット到達確率が一様に、かつ確実にいずれかのエンドホストへパケットを到達させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態について説明する。本実施形態のランダムフォワードサーバ（パケット転送装置）は、パケット送信端末から送信されたパケットを、複数のユーザ端末（エンドホスト）の内１台のユーザ端末に対して転送する。このとき、各ユーザ端末が選択される確率を等確率とする。以下、ランダムフォワードサーバが行うパケットの転送方法について説明する。なお、ユーザ端末がパケット送信端末から送信されるパケットを受信するサービスを、ランダムフォワード通信のサービスと呼ぶ。
【００１７】
図１は本発明の一実施形態におけるランダムフォワードサーバを備えたネットワークの構成を示した図である。図示する例では、パケット送信端末１はネットワーク４に接続している。ランダムフォワードサーバ３１〜３４はネットワーク４に接続している。ユーザ端末３はネットワーク４に接続している。また、ランダムフォワードサーバ３１〜３４は本システムに４台含まれている。また、ユーザ端末３は本システムに複数台含まれている。
【００１８】
パケット送信端末１は、ランダムフォワードサーバ３１〜３４を介してユーザ端末３にパケットを送信する端末である。具体的な送信方法については後述する。
【００１９】
ランダムフォワードサーバ３１〜３４は、パケット送信端末１から送信されたパケットをユーザ端末３に送信する装置である。このとき、ランダムフォワードサーバ３１〜３４は、本システムに含まれている複数のユーザ端末３のうち一台のユーザ端末３を選択し、選択したユーザ端末３に送信する。具体的なユーザ端末３の選択方法については後述する。
【００２０】
ユーザ端末３は、ランダムフォワードサーバ３１〜３４より送信されたパケットを受信する端末である。
【００２１】
図２は本実施形態におけるランダムフォワードサーバ３１〜３４の構成を示した構成図である。図示する例では、ランダムフォワードサーバ３１〜３４は、送信部２１と、受信部２２と、制御部２３と、記憶部２４とを備える。
【００２２】
送信部２１は、他の装置（パケット送信端末１、ランダムフォワードサーバ３１〜３４、ユーザ端末３）に対してデータを送信する。受信部２２は他の装置から送信されたデータを受信する。制御部２３はランダムフォワードサーバ３１〜３４の制御を行う。記憶部２４はランダムフォワードサーバ３１〜３４の処理で必要なデータを記憶する。
【００２３】
図３は本実施形態におけるランダムフォワードサーバを備えたネットワークの論理構成を示した図である。図示するネットワークには、ランダムフォワードサーバ３１〜３４と、ユーザ端末群４１〜４４とが含まれる。ユーザ端末群４１〜４４はそれぞれ複数のユーザ端末３を備えている。ユーザ端末群４１はｎ１台のユーザ端末３を備えている。ユーザ端末群４２はｎ２台のユーザ端末３を備えている。ユーザ端末群４３はｎ３台のユーザ端末３を備えている。ユーザ端末群４４はｎ４台のユーザ端末３を備えている。
【００２４】
図示する例では、ランダムフォワードサーバ３１〜３４は他のランダムフォワードサーバ３１〜３４とネットワークを介して接続している。また、ランダムフォワードサーバ３１はユーザ端末群４１とネットワークを介して接続している。また、ランダムフォワードサーバ３２はユーザ端末群４２とネットワークを介して接続している。また、ランダムフォワードサーバ３３はユーザ端末群４３とネットワークを介して接続している。また、ランダムフォワードサーバ３４はユーザ端末群４４とネットワークを介して接続している。
【００２５】
次に、本実施形態でのランダムフォワードサーバが行うパケットの転送方法の具体的な手順について説明する。
【００２６】
（ユーザ端末の登録）
各ユーザ端末３は、ランダムフォワードサーバ３１〜３４に対してユーザ登録する。この登録は、パケット送信端末１から送信されたパケットを受信する対象のユーザ端末３となるため（ランダムフォワード通信のサービスを受けるため）の登録である。ランダムフォワードサーバ３１〜３４は、ユーザ登録されたユーザ端末３の中からパケットを転送するユーザ端末３を選択する。この選択方法については後述する。
【００２７】
（ステップＳ１０１）ユーザ端末３は、予め、ランダムフォワードサーバ３１〜３４のうち、いずれかのランダムフォワードサーバ３１〜３４を認識している。なお、全てのランダムフォワードサーバ３１〜３４を認識していても良い。ランダムフォワード通信のサービスを受けたいユーザ端末３は、自身が認識しているランダムフォワードサーバ３１〜３４のうち、いずれかのランダムフォワードサーバ３１〜３４に参加メッセージを送信する。また、ユーザ端末３は、参加メッセージを送信したランダムフォワードサーバ３１〜３４の情報を、自身が備える記憶部に記憶する。なお、参加メッセージには、ユーザ端末３のＩＰアドレスが含まれている。その後、ステップＳ１０２に進む。
【００２８】
（ステップＳ１０２）ランダムフォワードサーバ３１〜３４の受信部２２は、ユーザ端末３から参加メッセージを受信する。制御部２３は、受信部２２が受信した参加メッセージに含まれるＩＰアドレスと、受信部２２が参加メッセージを受信した時刻とを関連付けて、記憶部２４が記憶するユーザリストに追加する。その後、処理を終了する。
【００２９】
上述したとおり、ランダムフォワードサーバ３１〜３４は、ランダムフォワード通信のサービスを受けるために、自ランダムフォワードサーバ３１〜３４に参加メッセージを送信したユーザ端末３の情報を記憶部２４に記憶することができる。
【００３０】
なお、ステップＳ１０２で、既にユーザリストに記憶されているＩＰアドレスと同一のＩＰアドレスが含まれた参加メッセージを受信した場合、制御部２３は、ユーザリスト内の当該ＩＰアドレスに関連付けらている受信した時刻を、新たに受信した時刻に書き換える。
【００３１】
また、参加メッセージを受信した場合、制御部２３は、送信部２１を介して、応答メッセージをユーザ端末３に送信してもよく、しなくても良い。
【００３２】
（ユーザ端末の登録抹消）
各ユーザ端末３がランダムフォワード通信のサービスを停止したい場合は、ランダムフォワードサーバ３１〜３４に対して行ったユーザ登録を抹消する。
【００３３】
（ステップＳ２０１）ランダムフォワード通信のサービスを停止したいユーザ端末３は、参加メッセージを送信したランダムフォワードサーバ３１〜３４に離脱メッセージを送信する。その後、ステップＳ２０２に進む。なお、自身が備える記憶部に、参加メッセージを送信したランダムフォワードサーバ３１〜３４の情報を記憶しているため、この情報を使用して離脱メッセージを送信するランダムフォワードサーバ３１〜３４を特定する。また、離脱メッセージには、ユーザ端末３のＩＰアドレスが含まれている。
【００３４】
（ステップＳ２０２）ランダムフォワードサーバ３１〜３４の受信部２２は、ユーザ端末３から離脱メッセージを受信する。制御部２３は、記憶部２４が記憶するユーザリストの内、受信部２２が受信した離脱メッセージに含まれるＩＰアドレスと同一のＩＰアドレスおよび関連付けられて記憶されている受信した時刻とを削除する。その後、処理を終了する。
【００３５】
上述したとおり、ランダムフォワードサーバ３１〜３４は、ランダムフォワード通信のサービスを受けるユーザ端末３の情報を記憶部２４から削除することができる。
【００３６】
なお、ステップＳ１０２で、受信した離脱メッセージに含まれるＩＰアドレスと同一のＩＰアドレスがユーザリスト内に記憶されていない場合、何も変更せず、処理を終了する。
【００３７】
また、例えば、ユーザ端末３が自身の電源を切るときなど、ユーザ端末３自身がパケットを受信できなくなる状況になる際にも、ランダムフォワードサーバ３１〜３４に対して離脱メッセージを送るのが望ましい。
【００３８】
また、ユーザリストには登録時刻が含まれているが、この登録時刻を利用して、離脱メッセージを受信していないにもかかわらず、実際にはネットワークに接続していないユーザ端末３など、すでにネットワークに含まれていないユーザ端末３を削除するために用いることもできる。具体的には、ユーザリストに含まれる登録時刻が、一定時間（ＬＩＦＥＴＩＭＥ）以上前に登録された登録情報を強制的に削除する。これにより、実際にはネットワークに接続していないユーザ端末３の情報を、ユーザリストから削除することができる。
【００３９】
なお、一定時間経過後、ユーザリストから登録情報を削除する運用とする場合、ユーザ端末３は、ＬＩＦＥＴＩＭＥより短い間隔（例えばＬＩＦＥＴＩＭＥの半分の間隔）で参加メッセージを登録先のランダムフォワードサーバ３１〜３４に送信し、登録時刻を更新する必要がある。
【００４０】
（ランダムフォワードテーブルの作成）
ランダムフォワードサーバ３１〜３４は、各ランダムフォワードサーバ３１〜３４のＩＰアドレスと、各ランダムフォワードサーバ３１〜３４の記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数とを関連付けて、ランダムフォワードテーブルとして記憶部２４に記憶している。
【００４１】
図４は、本実施形態におけるランダムフォワードテーブルを示した図である。ランダムフォワードテーブルは表形式で表され、属性として、アドレスとユーザ端末数の２つの属性がある。アドレスは、ランダムフォワードサーバ３１〜３４のＩＰアドレスを示す。ユーザ端末数は、ランダムフォワードサーバ３１〜３４の記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数を示す。
【００４２】
図示する例では４行あり、アドレスがランダムフォワードサーバ３１のアドレスであり、ユーザ端末数がｎ１である行と、アドレスがランダムフォワードサーバ３２のアドレスであり、ユーザ端末数がｎ２である行と、アドレスがランダムフォワードサーバ３３のアドレスであり、ユーザ端末数がｎ３である行と、アドレスがランダムフォワードサーバ３４のアドレスであり、ユーザ端末数がｎ４である行とが含まれる。
【００４３】
ランダムフォワードサーバ３１〜３４は、自身の記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数についての情報を互いに送受信することで、ランダムフォワードサーバ３１〜３４は、ランダムフォワードテーブルを作成することができる。
【００４４】
なお、この情報の送受信の方法については限定しないが、以下2つの例を述べる。
【００４５】
（例１）各ランダムフォワードサーバ３１〜３４は、他のすべてのランダムフォワードサーバ３１〜３４に対して、自身のアドレスと、記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数とを含んだ情報を送信する。
【００４６】
例えば図２に示した構成では、ランダムフォワードサーバ３１は、ランダムフォワードサーバ３２〜３４に対して「ランダムフォワードサーバ３１のアドレス、ｎ１」が含まれた情報を送信する。また、ランダムフォワードサーバ３２は、ランダムフォワードサーバ３１，３２，３４に対して「ランダムフォワードサーバ３２のアドレス、ｎ２」が含まれた情報を送信する。また、ランダムフォワードサーバ３３は、ランダムフォワードサーバ３１，３２，３４に対して「ランダムフォワードサーバ３３のアドレス、ｎ３」が含まれた情報を送信する。また、ランダムフォワードサーバ３４は、ランダムフォワードサーバ３１〜３３に対して「ランダムフォワードサーバ３４のアドレス、ｎ４」が含まれた情報を送信する。
【００４７】
なお、各ランダムフォワードサーバ３１〜３４は、記憶部２４が記憶するユーザリストの情報が変更された場合に、他のすべてのランダムフォワードサーバ３１〜３４に対して自身のアドレスと記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数とを含んだ情報を送信する。
【００４８】
これにより、ランダムフォワードサーバ３１〜３４は、他のランダムフォワードサーバ３１〜３４より送信された情報に基づいて、ランダムフォワードテーブルを作成することができる。
【００４９】
（例２）ランダムフォワードテーブル集約用のランダムフォワードテーブル集約サーバ５１をランダムフォワードサーバ３１〜３４に接続する構成とする。図５は本実施形態におけるランダムフォワードテーブル集約サーバ５１をランダムフォワードサーバ３１〜３４に接続した構成を示した図である。図示する例では、ランダムフォワードテーブル集約サーバ５１は、ランダムフォワードサーバ３１〜３４とネットワークを介して接続している。
【００５０】
各ランダムフォワードサーバ３１〜３４は、記憶部２４が記憶するユーザリストの情報が変更された場合に、自身のアドレスと記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数とを含んだ情報をランダムフォワードテーブル集約サーバ５１に送信する。
【００５１】
ランダムフォワードテーブル集約サーバ５１は、各ランダムフォワードサーバ３１〜３４から送信された、各ランダムフォワードサーバ３１〜３４のアドレスと、記憶部２４が記憶するユーザリストに含まれるユーザ端末３の数とを含んだ情報に基づいて、ランダムフォワードテーブルを作成し、各ランダムフォワードサーバ３１〜３４に対してランダムフォワードテーブルを送信する。
【００５２】
これにより、ランダムフォワードサーバ３１〜３４は、ランダムフォワードテーブルを取得することができる。
【００５３】
（パケットの転送）
以下、ランダムフォワードサーバ３１〜３４がパケット送信端末１より送信されたパケットを転送する方法について説明する。
【００５４】
（ステップＳ３０１）パケット送信端末１は、予め、ランダムフォワードサーバ３１〜３４のうち、いずれかのランダムフォワードサーバ３１〜３４を認識している。なお、全てのランダムフォワードサーバ３１〜３４を認識していても良い。パケット送信端末１は、自身が認識しているランダムフォワードサーバ３１〜３４のうち、いずれか１台のランダムフォワードサーバ３１〜３４にパケットを送信する。その後、ステップＳ３０２に進む。本実施形態では、どのランダムフォワードサーバ３１〜３４にパケットを送信しても、全てのユーザ端末３に対して等確率でパケットを転送することができるため、パケット送信端末１は、どのランダムフォワードサーバ３１〜３４にパケットを送信してもよい。
【００５５】
（ステップＳ３０２）パケット送信端末１からパケットを送信されたランダムフォワードサーバ３１〜３４の受信部２２は、パケット送信端末１から送信されたパケットを受信する。その後、ステップＳ３０３に進む。
【００５６】
（ステップＳ３０３）制御部２３は、受信部２２が受信したパケットを転送するランダムフォワードサーバ３１〜３４を選択し、選択したランダムフォワードサーバ３１〜３４にパケットを転送する。その後、ステップＳ３０４に進む。ランダムフォワードサーバ３１〜３４の選択方法については後述する。なお、転送先のランダムフォワードサーバ３１〜３４として、自分自身を選択する場合もある。
【００５７】
（ステップＳ３０４）ランダムフォワードサーバ３１〜３４からパケットを転送されたランダムフォワードサーバ３１〜３４の受信部２２は、転送されたパケットを受信する。その後、ステップＳ３０５に進む。
【００５８】
（ステップＳ３０５）転送されたパケットを受信したランダムフォワードサーバ３１〜３４の制御部２３は、記憶部２４が記憶するユーザリストに含まれるユーザ端末３のうち一台を選択し、選択したユーザ端末３に対して送信部２１を介してパケットを送信する。その後、処理を終了する。ユーザ端末３の選択方法については後述する。
【００５９】
なお、本実施形態のステップＳ３０２〜ステップＳ３０５において、ランダムフォワードサーバ３１〜３４は他の装置から送信されたパケットを受信するが、受信したパケットがパケット送信端末１から送信されたパケットであるのか、ランダムフォワードサーバ３１〜３４から転送されたものなのか区別する必要がある。具体的には、パケット送信端末１からパケットを受信した場合にはステップＳ３０２〜ステップＳ３０３の処理を行い、ランダムフォワードサーバ３１〜３４から転送されたパケットを受信した場合にはステップＳ３０４〜ステップＳ３０５の処理を行う。どの装置から送信されたパケットであるのかを区別する方法については後述する。
【００６０】
次に、ステップＳ３０３における、ランダムフォワードサーバ３１〜３４の選択方法と、ステップＳ３０５におけるユーザ端末３の選択方法について説明する。なお、一般化した選択方法について説明するため、本実施形態のシステムに含まれているランダムフォワードサーバはｎ台（ｎは正の整数）とし、ランダムフォワードサーバｎの記憶部２４に記憶されているユーザリストに登録されているユーザ端末３の台数をＲｎとする。これらより、本システムに含まれているユーザ端末３の数は、Ｓ＝ΣＲｉとなる。
【００６１】
ステップＳ３０３では、ランダムフォワードサーバｋ（ｋは１からｎの間の整数）が転送先として選択される際の重み付けをＲｋ／Ｓとし、この重み付けに従って、全てのランダムフォワードサーバｎのなかから一台選択する。つまり、ランダムフォワードサーバｋが転送先として選択される確率はＲｋ／Ｓである。また、転送先のランダムフォワードサーバとして自分自身を選択する可能性もある。
【００６２】
ステップＳ３０５では、ステップＳ３０３で選択されてランダムフォワードサーバの記憶部２４が記憶するユーザリストに含まれるユーザ端末３の中から1台のユーザ端末３をランダムに選択する。つまり、ランダムフォワードサーバｋに登録されたユーザ端末３が選択される確率は１／Ｒｋである。
【００６３】
上述した、ステップＳ３０３における、ランダムフォワードサーバ３１〜３４の選択方法と、ステップＳ３０５におけるユーザ端末３の選択方法より、すべてのランダムフォワードサーバｎに登録されている全ユーザ端末３のうち、パケット送信端末１からある１台のユーザ端末３にパケットが到達する確率は、（Ｒｋ／Ｓ）×（１／Ｒｋ）＝１／Ｓとなり、全てのユーザ端末３のなかから１台のユーザ端末３が一様な確率で選択されていることが分かる。
【００６４】
なお、真のランダム性については、ステップＳ３０３およびステップＳ３０５で行われる無作為抽出（ランダムに選択する）の際に用いられる乱数の精度（どのくらいランダムか）に依存する。
【００６５】
次に、ランダムフォワードサーバ３１〜３４が、受信したパケットがパケット送信端末１から送信されたパケットであるのか、ランダムフォワードサーバ３１〜３４から転送されたものなのか区別する方法について説明する。
【００６６】
本実施形態において、通常のＩＰアドレスを用いてステップＳ３０１〜ステップＳ３０５の処理を行った場合、パケットの宛先アドレスは以下の３つのパターンとなる。
【００６７】
（パターン１）パケット送信端末１が送信するパケットの宛先を、いずれかのランダムフォワードサーバ３１〜３４のアドレスとする。
（パターン２）ランダムフォワードサーバ３１〜３４が、ランダムフォワードサーバ３１〜３４に転送するパケットの宛先を転送先のランダムフォワードサーバ３１〜３４のアドレスとする。
（パターン３）ランダムフォワードサーバ３１〜３４からユーザ端末３に送信するパケットの宛先を、選択されたユーザ端末３のアドレスとする。
【００６８】
上述した３つのパターンがあるが、パケットの宛先のアドレスに着目するだけでは、パターン１とパターン２とを区別することができない。
【００６９】
よって、本実施形態では、ランダムフォワードサーバ３１〜３４間でのパケットの転送を、カプセル化を用いて実施する。本実施形態において、カプセル化手法の一つであるＩＰ−ｉｎ−ＩＰを用いてステップＳ３０１〜ステップＳ３０５の処理を行った場合、パケットの宛先アドレスは以下の３つのパターンとなる。
【００７０】
（パターン１´）パケット送信端末１が送信するパケットの宛先を、いずれかのランダムフォワードサーバ３１〜３４のアドレスとする。
（パターン２´）ランダムフォワードサーバ３１〜３４が、ランダムフォワードサーバ３１〜３４に転送するパケットをカプセル化し、外側のパケットの宛先をＲＳｙとし、送信元をＲＳｘとする。なお、カプセル化される内側のパケットの宛先および送信元の情報は変更しない。
（パターン３´）カプセル化されたパケットのカプセル化を解除し、さらにカプセルの内側にあったパケット（パケット送信端末１が送信したパケット）の宛先を、選択されたユーザ端末３のアドレスとする。
【００７１】
図６は、本実施形態における、ランダムフォワードサーバ間でのデータの流れについて示した図である。
【００７２】
図示する例では、パケット送信端末１と、ランダムフォワードサーバ３１（アドレスはＲＳｘ），３２（アドレスはＲＳｙ）と、ユーザ端末３とが含まれている。宛先がＲＳｘのパケットが、パケット送信端末１からランダムフォワードサーバ３１に送信されている。また、宛先がＲＳｘのパケットをカプセル化し、宛先がＲＳｙとなったパケットが、ランダムフォワードサーバ３１からランダムフォワードサーバ３２に送信されている。また、宛先がユーザであるパケットが、ランダムフォワードサーバ３２からユーザ端末３に送信されている。
【００７３】
上述したとおり、パケットのカプセル化を利用することで、受信したパケットがパケット送信端末１から送信されたパケットであるのか、ランダムフォワードサーバ３１〜３４から転送されたものなのか区別することができる。
【００７４】
なお、カプセル化手法としてとしてＩＰ−ｉｎ−ＩＰを用いて説明したが、これに限定するものではなく、ランダムフォワードサーバ３１〜３４から送信されたパケットであるか、パケット送信端末１から送信されたパケットであるかを区別できるのであれば、他のカプセル化手法またはトンネリング手法を用いても良い。
【００７５】
また、本実施形態では、複数のランダムフォワードサーバ３１〜３４が含まれる構成について説明したが、一台のランダムフォワードサーバのみを含む構成としても良い。
【００７６】
一台のランダムフォワードサーバのみを含む構成では、ランダムフォワードサーバがパケットを転送する際、ステップＳ３０３〜ステップＳ３０４の処理を実行することなく、ステップＳ３０１でパケット送信端末１から送信されたパケットに対して、ステップＳ３０５の処理を行う。これにより、自ランダムフォワードサーバに登録されている全てのユーザ端末３に対して、ランダムフォワードサーバは、パケット送信端末１より送信されたパケットを、等確率で一台のユーザ端末３に転送することができる。
【００７７】
以上、説明したとおり、本実施形態によれば、ランダムフォワードサーバ３１〜３４に登録されている全てのユーザ端末３に対して、ランダムフォワードサーバ３１〜３４は、パケット送信端末１より送信されたパケットを、等確率で一台のユーザ端末３に転送することができる。
【００７８】
また、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態におけるランダムフォワードサーバを備えたネットワークの構成を示した図である。
【図２】本実施形態におけるランダムフォワードサーバの構成を示した構成図である。
【図３】本実施形態におけるランダムフォワードサーバを備えたネットワークの論理構成を示した図である。
【図４】本実施形態におけるランダムフォワードテーブルを示した図である。
【図５】本実施形態におけるランダムフォワードテーブル集約サーバをランダムフォワードサーバに接続した構成を示した図である。
【図６】本実施形態における、ランダムフォワードサーバ間でのデータの流れについて示した図である。
【符号の説明】
【００８０】
１・・・パケット送信端末、３・・・ユーザ端末、４・・・ネットワーク、２１・・・送信部、２２・・・受信部、２３・・・制御部、２４・・・記憶部、３１〜３４・・・ランダムフォワードサーバ、４１〜４４・・・ユーザ端末群、５１・・・ランダムフォワードテーブル集約サーバ
【図１】
0004862000.tif 000002
【図２】
0004862000.tif 000003
【図３】
0004862000.tif 000004
【図４】
0004862000.tif 000005
【図５】
0004862000.tif 000006
【図６】
0004862000.tif 000007