(57)【要約】【課題】インターネットの状態をより正確に把握するため、より多くの拠点（ユーザ）からネットワーク計測情報を収集できるようにする。【解決手段】インターネットに接続されるクライアントノードが、自身が取得したネットワーク計測情報をサーバへ提供すると、サーバは、それに応じて、そのクライアントノードが所定期間内所望のソフトウェアを利用できるように設定する。そのソフトウェアを継続的に利用したいクライアントノードは、定期的に、新たなネットワーク計測情報を取得してサーバへ提供する。【選択図】  図５
2005026948.tif 000002
【特許請求の範囲】
【請求項１】
インターネットに接続される複数のクライアントノードのそれぞれにより取得されたネットワーク計測情報をサーバへ収集する方法であって、
前記サーバは、あるクライアントノードからのネットワーク計測情報の受信に応じて、当該クライアントノードが所定期間内プログラムもしくはデータを利用できるように設定し、
前記サーバは、複数のクライアントノードから受信した複数のネットワーク計測情報を、これら複数のネットワーク計測情報に基づいて前記インターネットの状態を表すデータが作成できるように、記憶することを特徴とするネットワーク計測情報収集方法。
【請求項２】
前記あるクライアントノードは、前記所定期間経過後も前記プログラムもしくはデータの利用を継続することが指示されていれば、前記所定期間に取得した新たなネットワーク計測情報を前記サーバへ送信し、
前記サーバは、前記あるクライアントノードからの前記新たなネットワーク計測情報の受信に応じて、当該クライアントノードが更に所定期間内前記プログラムもしくはデータを利用できるように設定することを特徴とする請求項１記載のネットワーク計測情報収集方法。
【請求項３】
前記サーバは、各クライアントノードへ、各ネットワーク計測情報の取得に関する指示を送信し、
各クライアントノードは、当該指示に従って前記ネットワーク計測情報を取得するものであることを特徴とする請求項１記載のネットワーク計測情報収集方法。
【請求項４】
前記サーバは、前記インターネットの状態を表すデータを時間の経過に伴って更新し、
前記サーバは、前記あるクライアントノードが前記所定期間内利用できるデータとして、前記ネットワーク計測情報の受信の時点の前記インターネットの状態を表すデータを設定するものであることを特徴とする請求項１記載のネットワーク計測情報収集方法。
【請求項５】
前記サーバは、あるクライアントノードからのネットワーク計測情報の定期的な受信に応じて、当該クライアントノードが利用できるように設定するプログラムもしくはデータを変化させるものであることを特徴とする請求項１記載のネットワーク計測情報収集方法。
【請求項６】
インターネットに接続される複数のクライアントノードのそれぞれにより取得されたネットワーク計測情報を受信する手段と、
あるクライアントノードからのネットワーク計測情報の受信に応じて、当該クライアントノードが所定期間内プログラムもしくはデータを利用できるように設定する手段と、
複数のクライアントノードから受信した複数のネットワーク計測情報を、これら複数のネットワーク計測情報に基づいて前記インターネットの状態を表すデータが作成できるように、記憶する手段とを具備することを特徴とするサーバ装置。
【請求項７】
各クライアントノードへ、各ネットワーク計測情報の取得に関する指示を送信する手段を更に備えたことを特徴とする請求項６記載のサーバ装置。
【請求項８】
インターネットに接続され、ネットワーク計測情報を取得する手段と、
取得したネットワーク計測情報をサーバへ送信する手段と、
前記ネットワーク計測情報の送信に応じて前記サーバにより所定期間内利用可能に設定されたプログラムもしくはデータを利用する手段と、
前記所定期間経過後も前記プログラムもしくはデータの利用を継続することが指示されている間は、前記取得手段に定期的にネットワーク計測情報を取得させ、前記送信手段に定期的に前記サーバへの送信を行わせる手段とを具備することを特徴とするクライアントノード装置。
【請求項９】
前記サーバから、ネットワーク計測情報の取得に関する指示を受信する手段を更に備え、前記取得手段は当該指示に従ってネットワーク計測情報を取得するものであることを特徴とする請求項８記載のクライアントノード装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットの状態を知るための計測情報を、多数の地点から収集するための機構に関する。
【０００２】
【従来の技術】
インターネットは、自律的なネットワークが相互接続した分散システムであり、中継ノード（ルータ）は、受信したパケットの宛先に基づいて決定した次の中継先のノードへパケットを転送するという処理を行うだけである。通信品質等に関わる複雑な制御はエンド−エンドで、すなわち通信の両端のノード（送信元ホストと宛先ホスト）間のプロトコルで、行われる。
【０００３】
したがって、ある地点でネットワークを流れるトラフィックを観測しても、それはあくまでその地点から見える範囲のインターネットの状態が分かるだけであり、別の地点で観測すれば、全く違う状態が見えることになる。例えば、一つのユーザネットワーク（企業ネットワーク、ＳＯＨＯ（Ｓｍａｌｌ  Ｏｆｆｉｃｅ  Ｈｏｍｅ  Ｏｆｆｉｃｅ）ネットワーク、家庭内ネットワーク等）が二つ以上のインターネット・サービス・プロバイダ（ＩＳＰ）によりインターネットへの接続を提供されている場合（これを「マルチホーム接続」と呼ぶ）、そのユーザネットワークと第１のＩＳＰとの間のトラフィックを、第２のＩＳＰのノードから観測することはできない。
【０００４】
このようなインターネットでの品質管理は、インターネットの大規模性、多様性、管理の分散性等により、従来の統一的に管理された電話網に比べ、格段に難しい。しかし、品質管理に対するニーズは日々高まっており、品質管理のためには、インターネットの状態を計測し、解析する作業が不可欠である。
【０００５】
ところが、インターネットの状態は、上述したように観測地点によって見える状態が異なる上に、インターネットの地理的な広がりにより観測地点が広域にわたること、インターネットの管理が多数の組織に分断されて行われていることにより他組織の観測データの入手が困難であること等の事情が重なり、その計測自体が難しい。ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のような機関では、インターネットの計測に関し、ネットワークのユーザやプロバイダが共通の理解をもち情報を共有するために、品質尺度や計測方法等についての標準化が試みられている（例えば、非特許文献１参照）。
【０００６】
【非特許文献１】
Ｖ．  Ｐａｘｓｏｎ  ｅｔ  ａｌ．，  ”ＲＦＣ  ２３３０：  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  ＩＰ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｅｔｒｉｃｓ，”  Ｍａｙ  １９９８  ＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２３３０．ｔｘｔ？ｎｕｍｂｅｒ＝２３３０＞
【０００７】
【発明が解決しようとする課題】
以上のように、インターネットの状態を計測・解析しようとする事業者（以下、計測サービス事業者という）にとっては、なるべく多数の観測地点から計測データを入手することが必要である。しかし、現実のインターネットでは、多数の観測地点が、それぞれ個別のユーザ（企業、ＳＯＨＯ、家庭等）の管理下に存在している。したがって、計測サービス事業者は、なるべく多数のユーザが、そのユーザの管理するノード（ルータもしくはホスト）にインターネットの状態を計測させ、計測データを計測サービス事業者へ提供してくれることを望む。
【０００８】
しかしながら、現状では、計測したインターネットの状態を品質管理に直接的に結びつけるための技術が確立されておらず、ましてや、計測データを提供してくれたユーザのネットワークに対し、その他のユーザのネットワークに対してよりも良い品質を提供するような仕組みを実現することは、困難である。すると、ユーザにしてみれば、わざわざ自身の管理するノード（コンピュータ）の資源の一部を計測のために使い、計測サービス事業者へ計測データを提供しても、これに対する見返りがなく、計測データ提供のインセンティブが存在しないことになる。
【０００９】
本発明は、以上のような事情を考慮し、各ユーザが自然な形でインターネットの計測情報を計測サービス事業者へ提供できるような機構を、計測サービス事業者のサーバコンピュータと各ユーザのノードとに組み込んで、提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係るネットワーク計測情報収集方法は、インターネットに接続される複数のクライアントノードのそれぞれにより取得されたネットワーク計測情報をサーバへ収集する方法であって、前記サーバは、あるクライアントノードからのネットワーク計測情報の受信に応じて、当該クライアントノードが所定期間内プログラムもしくはデータを利用できるように設定するとともに、複数のクライアントノードから受信した複数のネットワーク計測情報を、これら複数のネットワーク計測情報に基づいて前記インターネットの状態を表すデータが作成できるように、記憶することを特徴とする。
【００１１】
ここで、前記インターネットの状態を表すデータは、前記サーバ自身が作成してもよいし、前記サーバ（データ収集サーバ）が記憶した複数のネットワーク計測情報を他のサーバ（データ処理サーバ）に送信することにより、他のサーバ（処理サーバ）が作成してもよい。
【００１２】
これにより、各ユーザは、プログラムやデータを利用できるということをインセンティブとして、自身のネットワーク計測情報を計測サービス事業者のサーバへ提供するようになり、このプログラムやデータとして各ユーザに魅力的なものを提供できれば、多数のユーザすなわち多数の観測拠点からの計測データを収集して、より正確にインターネットの状態を知ることができるようになる。
【００１３】
なお、クライアントノードが所定期間内プログラムもしくはデータを利用できるような設定には、次のような各種形態があり得る。例えば、クライアントノードに、暗号化したソフトウェアであって使用許可キーを入力すると所定期間内だけそのソフトウェアが動作するものを渡しておき、サーバは、ネットワーク計測情報の受信に応じて、このソフトウェアの使用許可キーをクライアントノードへ送信するのでも良い。
【００１４】
あるいは、サーバは、クライアントノードに提示するデータを所定期間毎に更新しており、ネットワーク計測情報の受信時点のデータのみをクライアントノードに送信するのでも良い。この場合に提示するデータは、上記のように作成されるインターネットの状態を表すデータとすることもできる。
【００１５】
また、クライアントノードに、サーバの資源（ＣＰＵやメモリ等）を所定期間内だけ使用させるという形態も、プログラムもしくはデータ（この場合はクライアントノード自身のプログラムもしくはデータであっても可）を利用できるような設定に、含まれる。
【００１６】
本発明において、上記のあるクライアントノードは、前記所定期間経過後も前記プログラムもしくはデータの利用を継続することが指示されていれば、前記所定期間に取得した新たなネットワーク計測情報を前記サーバへ送信し、前記サーバは、前記あるクライアントノードからの前記新たなネットワーク計測情報の受信に応じて、当該クライアントノードが更に所定期間内前記プログラムもしくはデータを利用できるように設定しても良い。
【００１７】
これにより、プログラムやデータを継続的に利用し続けたいユーザは、クライアントノードが定期的に（例えば５分おきに）新たなネットワーク計測情報をサーバへ送信するように指示することになるので、計測サービス事業者のサーバには最新の計測情報が収集され、時々刻々と変化するインターネットの状態を、より正確に把握することができるようになる。
【００１８】
さらに、サーバは、あるクライアントノードからのネットワーク計測情報の定期的な受信に応じて、当該クライアントノードが利用できるように設定するプログラムもしくはデータを変化させるようにしても良い。
【００１９】
これにより、例えば、長期間、定期的に新たなネットワーク計測情報を送信し続ければ、その期間に応じて、より多くのあるいはより魅力的なプログラムもしくはデータを利用できるようになり、各ユーザがネットワーク計測情報を提供するインセンティブが更に増すことになる。
【００２０】
本発明において、サーバは、各クライアントノードへ、各ネットワーク計測情報の取得に関する指示を送信し、各クライアントノードは、当該指示に従って前記ネットワーク計測情報を取得するようにしても良い。
【００２１】
これにより、クライアントノードのそれぞれに、例えば、どのノードまでの到達性やパスを計測してほしいかや、どのフローのトラフィック量を計測してほしいか等を、サーバから指示することができ、計測サービス事業者がインターネットの状態を適切に把握するために必要な計測情報を、漏れなく入手することができるようになる。
【００２２】
本発明に係るサーバ装置は、インターネットに接続される複数のクライアントノードのそれぞれにより取得されたネットワーク計測情報を受信する手段と、あるクライアントノードからのネットワーク計測情報の受信に応じて、当該クライアントノードが所定期間内プログラムもしくはデータを利用できるように設定する手段と、複数のクライアントノードから受信した複数のネットワーク計測情報を、これら複数のネットワーク計測情報に基づいて前記インターネットの状態を表すデータが作成できるように、記憶する手段とを具備することを特徴とする。
【００２３】
本発明に係るクライアントノード装置は、インターネットに接続され、ネットワーク計測情報を取得する手段と、取得したネットワーク計測情報をサーバへ送信する手段と、前記ネットワーク計測情報の送信に応じて前記サーバにより所定期間内利用可能に設定されたプログラムもしくはデータを利用する手段と、前記所定期間経過後も前記プログラムもしくはデータの利用を継続することが指示されている間は、前記取得手段に定期的にネットワーク計測情報を取得させ、前記送信手段に定期的に前記サーバへの送信を行わせる手段とを具備することを特徴とする。
【００２４】
上述した本発明は、サーバ装置として機能するコンピュータ、もしくは、クライアントノード装置として機能するコンピュータに、インストールされ、実行されるプログラムとしても、また、そのようなプログラムを記憶する記憶媒体としても、実施可能なものである。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
【００２６】
図１は、本発明の一実施形態が適用されるネットワーク構成を例示したものである。ＩＳＰ−Ａ〜ＩＳＰ−Ｃは、インターネット・サービス・プロバイダのネットワークを表わし、各ネットワーク内には多数のルータ（図示せず）が存在して、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）による通信を提供している。このようなＩＳＰ−Ａ〜ＩＳＰ−Ｃと、これらプロバイダネットワークの間を接続する多数のルータ（図示せず）とから、インターネットが構成されている。
【００２７】
このインターネット内に、計測サービス事業者のサーバは設置される。図１では、このサーバがＩＳＰ−Ｂに接続されている例を示すが、このサーバがインターネット内の他のどこに設置されていても、以下に説明する動作は同じである。また、ここではサーバが１台である例を説明するが、複数台のサーバがインターネット内の複数箇所に設置されており、サーバ間で情報の交換や共有がなされるように構成しても構わない。
【００２８】
クライアントノード１の属するユーザネットワークは、マルチホーム接続されており、ＩＳＰ−Ａからリンク１Ａを介してインターネットとの接続を提供され、ＩＳＰ−Ｂからリンク１Ｂを介してインターネットとの接続を提供されている。クライアントノード２は、ＩＳＰ−Ｂからリンク２Ｂを介してインターネットとの接続を提供されているホストである。クライアントノード３の属するユーザネットワークは、ＩＳＰ−Ｃからリンク３Ｃを介してインターネットとの接続を提供されている。
【００２９】
クライアントノード１や３の属するユーザネットワークには、複数のホスト（図示せず）が存在し得る。クライアントノードは、ユーザネットワークのＩＳＰに対する境界ルータであっても良いし、ユーザネットワーク内の一ホストであっても良い。
【００３０】
各クライアントノードがインターネットに関して計測できる対象と、計測の手法には、次のようなものがある。まず、計測対象としては、エンド−エンドすなわち特定のノード間の、データ転送の状況がある。データ転送の状況とは、例えば、到達性、パケットロス、パケット遅延、遅延の変動、帯域幅、スループット等である。パケット遅延には、片道パケット遅延と、往復パケット遅延とがあり、後者は一般にＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）と呼ばれる。特定のノード間をどのような経路（パス）でデータが転送されるかも、計測の対象となる。なお、インターネットでは、同じノード間でも往路と復路でデータ転送の経路が異なる場合があり、また、障害や輻輳の発生箇所を避けてルーティングが行なわれるため、経路は常に変動の可能性がある。また、ネットワークの安定性を測定することもできる。例えば、あるネットワークへ定期的にｐｉｎｇパケットを送信し、そのパケットが到達しているかを観測することで、どのくらいの時間そのネットワークが故障していたかを知ることができ、この故障時間に基づいてネットワーク安定性を測ることが可能である。
【００３１】
別の計測対象として、インターネット上のある地点を通過するトラフィックがある。例えば、あるリンクの障害や輻輳の発生（接続性）、そのリンクを通過するトラフィック全体の量、フロー毎のトラフィックの量等である。フローとは、宛先／送信元のＩＰアドレスやポート番号で特定される一連のデータ（パケット）の流れである。
【００３２】
図１の例では、クライアントノード１は、ノード１（自身）とインターネット内のノードＡとの間のデータ転送、同じくノード１とノードＢとの間、同じくノード１とノードＣとの間、さらにリンク１Ａのトラフィック、及びリンク１Ｂのトラフィックについて、計測できる。クライアントノード２は、ノード２（自身）とノードＡとの間のデータ転送、同じくノード２とノードＢとの間、同じくノード２とノードＣとの間、さらにリンク２Ｂのトラフィックについて、計測できる。クライアントノード３は、ノード３（自身）とノードＡとの間のデータ転送、同じくノード３とノードＢとの間、同じくノード３とノードＣとの間、さらにリンク３Ｃのトラフィックについて、計測できる。ここで、ノードＡ〜Ｃは、ＩＳＰ−Ａ〜Ｃのそれぞれに属する代表的なノードとするが、後述するように、サーバが、インターネット全体の状況を把握するために必要とする任意のノードを指定することにより、各クライアントノードは、ノードＡ〜Ｃに限らず任意の指定されたノードと自身との間のデータ転送について、計測を行うことができる。
【００３３】
計測の手法としては、アクティブ計測とパッシブ計測がある。アクティブ計測は、計測を行うノードが、試験トラフィックを送受信してその結果計測情報を取得するもので、代表的には、ｐｉｎｇやｔｒａｃｅｒｏｕｔｅ等のツールが知られている。例えば、ノード１がノードＢを指定してｐｉｎｇを実行する（ｐｉｎｇパケットを送信する）と、ノード１はこれに対する返信パケットの内容に基づいて、ノード１からノードＢへパケットが到達しているか、往復の遅延はどの程度か、等の情報を得ることができる。また、ノード１がノードＢを指定してｔｒａｃｅｒｏｕｔｅを実行すると、ノード１からノードＢへのパス上のルータＩＤ（ルータのアドレス）がノード１に近い方から順番に得られ、さらにパス上の各ルータまでの所要時間も知ることができる。
【００３４】
他に、指定されたノードまでのパス上の伝送路の帯域幅を推定できるｐｃｈａｒ等のツールもある。なお、セキュリティ等の理由で試験トラフィックの通過を禁じているネットワークもあるため、サーバが各クライアントノードに対し、データ転送についての計測の相手として指定するインターネット内のノード（図１ではノードＡ〜Ｃ）は、有効なアクティブ計測ができるノードを選択することが望ましい。
【００３５】
パッシブ計測は、ネットワークのある地点に存在するノードが、そこを流れるパケットを取り込んでヘッダ情報等を調べることにより、通過トラフィックのフロー毎の量等の計測情報を取得するものである。代表的には、ｔｃｐｄｕｍｐ、ｎｔｏｐ等のツールが知られている。ルータが、いわゆるＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）として保持する通過トラフィックや経路に関する情報も、パッシブ計測により取得される計測情報となり得る。
【００３６】
クライアントノード１〜３のそれぞれは、図２に示すように構成することができる。クライアントノード装置２０は、自身がインターネットに接続されるリンクの数だけ、ネットワークＩ／Ｆ２１を有する。例えば、クライアントノード１は、マルチホーム接続されているので、リンク１Ａに対応する第１のネットワークＩ／Ｆと、リンク１Ｂに対応する第２のネットワークＩ／Ｆを有する。サーバには、複数のネットワークＩ／Ｆのうちのいずれか一つを介して接続される。
【００３７】
ノード装置２０は、上述したアクティブ計測やパッシブ計測を実行するための計測情報取得部２２を有する。計測情報取得部２２は、ネットワークＩ／Ｆ２１を介してインターネット内の特定のノード（例えばノードＡ〜Ｃ）へｐｉｎｇやｔｒａｃｅｒｏｕｔｅ等のパケットを送信し、その返信パケットを受信して計測情報の取得を行う。あるいは、計測情報取得部２２は、ネットワークＩ／Ｆ２１が接続されているリンクのトラフィックの一部または全部を取り込んで、そのパケットヘッダ等から計測情報を取得する。
【００３８】
複数のネットワークＩ／Ｆ２１が存在するノード装置２０の計測情報取得部２２は、リンクのトラフィックを観測する場合には、各ネットワークＩ／Ｆの全てについて計測情報の取得を行う。また、特定のノードとの間のデータ転送について計測する場合には、各ネットワークＩ／Ｆの全てから特定のノードの全てへ試験トラフィックを送信（例えばノードＡ〜Ｃへのｐｉｎｇパケットを第１のＩ／Ｆからも第２のＩ／Ｆからも送信）しても良いし、あるノードへは第１のＩ／Ｆから試験パケットを送信し、別のノードへは第２のＩ／Ｆから試験パケットを送信するようにしても良い。
【００３９】
計測情報取得部２２において実行されるネットワーク計測のためのツールは、ノード装置２０が元から備えているものであっても良いし、ノード装置２０のユーザが計測サービス事業者に申し込みをすると提供されるものであっても良い。後者の場合、そのツールのプログラムがサーバからノード装置２０へ送信されるようにしても良く、このプログラムがインストールされることにより、計測情報取得部２２が作出されることになる。
【００４０】
ノード装置２０は、計測情報取得部２２においてどのノードの間のデータ転送について計測すべきかを、サーバからの指示によって決めることができるように、取得指示受信部２３を有する。取得指示受信部２３は、サーバからノードＩＤ（ノードのアドレス）を含む指示メッセージを受信し、指示されたノードへのｐｉｎｇ等を行うように、計測情報取得部２２を制御する。
【００４１】
ノード装置２０は、計測情報取得部２２で取得したネットワーク計測情報を、取得情報送信部２４により、サーバへ送信する。このとき、送信する情報には、計測を行った時刻もしくはこれの代用として取得情報送信時刻を含めても良い。サーバは、複数のクライアントノードのそれぞれから受信した計測情報を解析する際に、各計測情報を時間軸上に整理するためである。なお、クライアントノードがこのような時刻情報を送信する情報に含められない場合には、サーバは、自身がクライアントノードから計測情報を受信した時刻に基づいて、計測を行った時刻を推定すれば良い。
【００４２】
インターネットの状態は基本的に不安定であり、変動が大きいため、計測は定期的に継続することが望ましい。このために、ノード装置２０は、時間管理部２５を有し、時間管理部２５が計測情報取得部２２に定期的に（例えば５分毎に）計測を行わせ、取得した計測情報をその都度送信部２４に送信させる。時間管理部２５はまた、後述するように、有効期限付きのソフトウェアをその期限内だけ実行可能とする（使用する）ために、ソフトウェア実行部２６の制御に使われる。
【００４３】
このソフトウェアは、継続的に使用するためには、定期的に有効期限を更新することが必要な設定となっている。上記の定期的な計測情報の取得及び送信と、定期的なソフトウェア有効期限の更新とは、連動するものであり、時間管理部２５は、この連動を制御する。このように計測情報の取得及び送信を、ソフトウェア有効期限と連動して定期的に行うためのプログラムは、ノード装置２０のユーザが計測サービス事業者に申し込みをするとサーバから送信されるようにしても良く、このプログラムがインストールされることにより、時間管理部２５が作出されることになる。
【００４４】
なお、時間管理部２５の機能のうち、時計の部分は、ノード装置２０が元から備えているものでも良いが、サーバにより適宜時計合わせされることが好ましい。これは、サーバとクライアントノードの時刻が合っていないと、次の二つの点で不都合が生じるからである。まず、クライアントノードが計測を行った時刻を計測情報に付加して送信しても、その時刻が不正確であれば、サーバで他のクライアントノードからの情報と照らし合わせてインターネットの状態を解析する際の誤差が大きくなってしまう。そして、クライアントノードがソフトウェアの有効期限内に次の有効期限を獲得すべく、定期的に計測情報を取得及び送信しても、時計がずれていれば、サーバが設定したソフトウェア有効期限の周期（すなわちサーバが計測情報を入手したい周期）とクライアントノードが設定する計測の周期とは、正確には連動しないことになってしまう。
【００４５】
上述したように、定期的にネットワーク計測情報を取得するためのプログラムをサーバがクライアントノードへ送信し、クライアントノードがこれを実行して取得した情報をサーバへ送信するということは、サーバが、インターネットの状態計測に必要な処理の一部を、クライアントノードの資源を借りて行っているものと見ることもできる。
【００４６】
一方、ノード装置２０のソフトウェア実行部２６は、暗号化されたソフトウェアを予め記憶している。この暗号化されたソフトウェアは、ノード装置２０のユーザが計測サービス事業者に申し込みをするとサーバから送信されるようにしても良いし、インターネット経由ではない物理的な流通経路で配布されても構わない。この暗号化されたソフトウェアは、実際に使用するためには使用許可キーが必要であり、使用許可キーを入力しても有効期限が来れば使用が不可能となるものである。有効期限が来たかどうかの判断に、時間管理部２５の時計が使われるとともに、時間管理部２５は、有効期限についての情報を検出して、これに連動した定期的計測の制御を行う。
【００４７】
ノード装置２０は、ソフトウェア実行部２６でソフトウェアの使用に必要となる使用許可キーをサーバから受信するために、使用許可キー受信部２７を有する。使用許可キーを入力しても、ソフトウェアは所定時間が経つと使用不可となるため、その前に時間管理部２５が新たな計測情報の取得及び送信を行わせ、これに応答して新たな使用許可キーがサーバから送信されてくる。よって、ノード装置２０は、有効期限が切れそうになる毎に計測情報の取得及び送信を行うことにより、その都度期限を延長してソフトウェアの使用を継続することになる。すなわち、ノード装置２０は、定期的に計測情報の取得及び送信を行っている間は、ソフトウェアの使用を継続できる。
【００４８】
なお、サーバが例えば５分毎に計測情報を入手したい場合、ソフトウェアの使用期限を、使用許可キー入力後５分までと設定しておき、これにクライアントノードの時間管理部２５が定期的な計測を連動させれば良いが、使用許可キーの送信が頻繁に起こるのを避けたい場合には、次のような方法も可能である。すなわち、ソフトウェアの使用期限を例えば１週間とし、１週間後に使用期限を更に１週間延長するための条件を、その１週間、５分毎に計測情報の取得及び送信を継続したクライアントノードに限るとする。すなわち、サーバは、そのクライアントノードが、１週間、定期的な計測情報を送信し続けたことに応じて、新たな使用許可キーを１週間後に送信するのである。
【００４９】
また、上記では、定期的な計測により同じソフトウェアの使用継続が可能になる例を説明したが、時間の経過に伴って別のソフトウェアの使用が許可されるようにしても良いし、暗号化された同じソフトウェアのうちの異なる機能の使用が許可されるようにするのでも構わない。特に、定期的な計測の継続期間が長くもしくは計測回数が多くなるほど、使用できるソフトウェアの機能を増加させる（暗号化されたソフトウェアのうちの広い範囲の機能が使用可能となるような使用許可キーをサーバが送信する）と、ユーザに定期的な計測を促すという点で効果的である。
【００５０】
以上のようなクライアントノードと通信するサーバは、図３に示すように構成することができる。サーバ装置３０は、クライアントノードの取得情報送信部２４からの情報を受信する計測情報受信部３１と、クライアントノードの取得指示受信部２３へ指示メッセージを送信する計測指示送信部３２と、クライアントノードの使用許可キー受信部２７へ使用許可キーを送信する使用許可キー送信部３３と、クライアント情報管理部３４及びインターネット状態データ作成部３５とを備える。
【００５１】
クライアント情報管理部３４は、例えば図４に示す情報を記憶している。計測指示送信部３２は、クライアント情報管理部３４の計測対象ノードＩＤの欄を参照し、各クライアントノードに、どのノードまでのデータ転送状況や経路を計測すべきかを指示する指示メッセージを作成して、対応するクライアントノードへ送信する。計測情報受信部３１は、この指示に基づいてクライアントノードが取得した計測情報を受信し、クライアント情報管理部３４に書き込む。例えば、クライアントノード１から受信した計測情報として「計測時刻１０：１５、ノードＡへのｐｉｎｇにより測定されたＲＴＴが１８５ｍｓ、ノードＢへのそれが２５４ｍｓ、リンク１Ａのトラフィック量が１００Ｍ、リンク１Ｂの接続性が切断」を書き込み、クライアントノード２から受信した計測情報として「計測時刻１０：１８、ノードＡへのｐｉｎｇにより測定されたＲＴＴが１５０ｍｓ、ノードＢへのｐｉｎｇは応答なし、ノードＡへのｔｒａｃｅｒｏｕｔｅにより測定された経路情報、リンク２Ｂのトラフィック量」を書き込む。
【００５２】
使用許可キー送信部３３は、計測情報受信部３１が計測情報を受信したクライアントの使用許可キーを、クライアント情報管理部３４の使用許可キーの欄から読み出し、そのクライアントノードへ送信する。使用許可キーは、有効期限の更新のため、毎回異なるものとする。このため、使用許可キー送信部３３が、クライアント情報管理部３４から読み出したクライアント毎のキーを用いて新たな使用許可キーを作成し、作成したキーを送信するようにしても良い。なお、クライアント毎に異なるキーとするのは、計測情報を送信したクライアントへサーバが送信した使用許可キーを、他のクライアントが不正に入手しても、ソフトウェアは使用できないようにするためである。
【００５３】
また、使用許可キー送信部３３は、サーバの秘密鍵で使用許可キーを暗号化してから送信することとし、これを受信したクライアントの使用許可キー受信部２７は、サーバの公開鍵で復号化して使用許可キーを取り出すようにしても良い。このようにすると、インターネット内に偽のサーバを立てて、各クライアントの計測情報を不正に入手しようとする者がいても、各クライアントはサーバの真偽を見分けることができるため、安全である。
【００５４】
クライアント情報管理部３４の計測継続期間の欄は、計測情報受信部３１がそのクライアントから計測情報を受信すると、インクリメントされる。この欄は、上述したように、計測情報の定期的な送信を一定期間受けたことを条件に、ソフトウェアの使用期限を更新する場合や、計測情報の送信が長期間または多数回になると、使用できるソフトウェアの機能を増やす場合等に、参照される。
【００５５】
インターネット状態データ作成部３５は、クライアント情報管理部３４に記憶された各クライアントからの計測情報を、計測時刻に従って、事象発生と計時とのずれを考慮しながら時系列化し、統計処理することにより、解析を行う。例えば、多数のノード間パスの遅延の相関を解析したり、ネットワークトポロジーを可視化したり、多地点での計測トラフィックを比較してフローを追跡したりする。図１の例では、特定のＩＳＰ間の転送遅延（例えばＩＳＰ−ＡからＩＳＰ−Ｂへの遅延）や帯域、特定のＩＳＰの安定度等を、解析により求め、インターネット状態データとして作成することができる。このように作成したデータは、後述するように、条件を満たすユーザのクライアントノードに提示しても良いし、解析したインターネットの状態を用いて何らかのサービスを行う他の事業者のサーバへ提供しても良い。
【００５６】
上記では、クライアントノードが計測情報をサーバへ提供する見返りとして、サーバがソフトウェアの期限付き使用権をクライアントノードへ提供する例を説明した。この場合の使用可能となるソフトウェアは、ユーザの使用意欲をかき立てるものであれば何でも良いが、自身のネットワーク計測情報を他者へ提供することに自覚的であるユーザが対象であると考えれば、例えばネットワーク監視ツール等を、見返りとなるソフトウェアとして提供すると良い。一方、ソフトウェアを期限付きでクライアントが使えるようにする代わりに、サーバの情報を期限付きでクライアントが使えるようにしたり、サーバの資源を期限付きでクライアントが使えるようにしたりするのでも良い。
【００５７】
見返りにサーバの情報を使えるようにする場合は、例えば、クライアントノードがその情報のコピーを保存や印刷することはできないようにしつつ、計測情報を提供してから所定期間内にクライアントノードがサーバにアクセスすればその情報を見ることができるようにすれば良い。あるいは、サーバの情報を見るための専用ソフトウェア（ビューア）を暗号化してクライアントノードに記憶させておき、上記のソフトウェアの使用権を渡すのと同じ仕組みで、計測情報を提供すると使用許可キーで所定期間内だけその専用ビューアを有効にすることもできる。もしくは、サーバの情報を時間の経過により急速に陳腐化するようなものとし、計測情報を提供してから所定期間内の情報のみを、サーバからクライアントノードに送信するのでも良い。このように使用可能となるサーバの情報として、例えばインターネット状態データ作成部３５にて作成されたデータを用いることも可能である。
【００５８】
見返りにサーバの資源を使えるようにする場合は、サーバでそのクライアントノードが計測情報を提供した回数や期間をカウントしておき（クライアント情報管理部３４の計測継続期間の欄を利用）、クライアントノードが大量の演算をするためにサーバのＣＰＵを使いたいとか、大量のデータを一時保存しておくためにサーバの記憶容量を使いたい等の事情が生じたときに、サーバへアクセスして、計測情報提供の回数や期間に応じて、サーバの資源を借りることができるようにすれば良い。
【００５９】
図５には、上述した例におけるサーバとクライアントノードによる処理の流れを、まとめて示してある。まず、クライアントノードが、計測サービス事業者のサーバへ、ソフトウェア（この例ではソフトウェアだが、サーバの情報または資源としても良い）の利用を申し込む（Ｓ５０１）。この申し込みを受けたサーバは、暗号化されたソフトウェアをクライアントノードへ提供する（Ｓ５０３）。これに加え、定期的なネットワーク計測のためのツール（プログラム）をクライアントノードへ送信しても良い。クライアントノードは、これを受けてネットワーク計測の準備（プログラムのインストール等）を行い、準備完了をサーバへ通知する（Ｓ５０５）。サーバは、このクライアントノードへ、計測情報取得に関する指示メッセージを送信する（Ｓ５０７）。
【００６０】
クライアントノードは、サーバからの指示に基づいて、自身のネットワークＩ／Ｆから計測情報を取得し（Ｓ５０９）、取得した計測情報をサーバへ送信する（Ｓ５１１）。サーバは、受信した計測情報をクライアント情報管理部へ記憶し、そのクライアントの計測継続時間をインクリメントする（Ｓ５１３）とともに、そのクライアント用の使用許可キーをクライアントノードへ送信する（Ｓ５１５）。クライアントノードは、受信した使用許可キーを用いることにより、所定期間内のソフトウェアの利用が可能になる（Ｓ５１７）。
【００６１】
ユーザがその後もソフトウェアの利用を継続したい場合（Ｓ５１９Ｙｅｓ）は、再度計測情報を取得し（Ｓ５０９）、サーバへ送信する（Ｓ５１１）。サーバでは、クライアントノードからこの新たな計測情報を受信する（Ｓ５２１Ｙｅｓ）と、計測情報の記憶と計測継続時間の増加（Ｓ５１３）及び新たな使用許可キーの送信（Ｓ５１５）を行うため、クライアントノードでは、さらに所定期間内、ソフトウェアの利用が可能になる（Ｓ５１７）。ユーザがソフトウェアの利用を継続したくない場合（Ｓ５１９Ｎｏ）は、次の計測情報を取得及び送信は行われず、その結果サーバはクライアントノードから新たな計測情報を受信しない（Ｓ５２１Ｎｏ）ので新たな使用許可キーの送信を行わず、クライアントノードでのソフトウェアの利用（Ｓ５１７）は、有効期限をもって終了する。
【００６２】
サーバのＳ５０３〜Ｓ５２１の処理は、複数のクライアントのそれぞれについて行われ、これと並行して、クライアント情報管理部から複数のクライアントの計測情報を読み出し、解析する処理が適宜行なわれ（Ｓ５２３）、インターネットの状態データが作成される。
【００６３】
以下には、本実施形態のサーバが計測情報を収集、解析することにより得たインターネットの状態を、他のサービス事業者に提供する例として、本発明者らが特願２００３−４１８５８号にて提案したサービスを取り上げて、説明する。
【００６４】
図６は、上記他のサービス事業者が行うサービスの概要を説明するための図である（詳細は上記特許出願の明細書及び図面を参照）。インターネット内に、幾つかのサービスルータが導入されるとともに、ユーザネットワークの境界ルータ（ユーザルータ）は、ＩＳＰ−ＡとＩＳＰ−Ｂの双方からインターネットへの接続（マルチホーム接続）を提供されている。このユーザネットワークのホスト宛にパケットを送信したい送信元ホストＳ１は、そのホストの宛先アドレスＸ（ユーザネットワークのアドレスＰ（Ｘ）を含む）を記入したパケットをインターネットに送出する。Ｓ１を発した宛先にＰ（Ｘ）を含むパケットは、ａｎｙｃａｓｔと呼ばれる技術を用いて、Ｓ１から最も近いサービスルータ（図６ではサービスルータ１）に吸い込まれる。
【００６５】
サービスルータ１は、Ｐ（Ｘ）を宛先に含むパケットを受信すると、そのパケット内の情報（宛先アドレス／ポート、送信元アドレス／ポート、プロトコルＩＤ等の少なくとも一部）を検索キーとして、検索テーブルを参照し、受信したパケットを、サービスルータ１からＩＳＰ−ＡとリンクＡを通ってユーザルータに至るパス（図６中、実線矢印）と、サービスルータ１からＩＳＰ−ＢとリンクＢを通ってユーザルータに至るパス（図６中、点線矢印）のうち、いずれかを選択する。ユーザルータは、選択されたリンクを通って転送されてくる、Ｘ宛てのパケットを受信する。
【００６６】
送信元ホストＳ２が、ユーザネットワークのホスト宛にパケットを送信したい場合も、同様に、Ｐ（Ｘ）を宛先に含むパケットをインターネットに送出すれば、Ｓ２に最も近いサービスルータ２がこのパケットを受信する。サービスルータ２も、サービスルータ１と同様の機能を有し、受信したパケットに関して、パスの選択（パケットは、サービスルータからユーザルータまで仮想的なトンネルにより転送されるので、実際にはトンネルの出口（リンクＡとリンクＢのいずれか）の選択）を行う。
【００６７】
そして、各サービスルータは、ユーザネットワークへ至る複数のパスから選択を行う場合に、ユーザネットワークへのトラフィックが複数のリンクに適切に分散するようにパスを選択したり、パケットが運ぶデータの性質に適した通信品質が提供されるパス（音声通話なら遅延が少ないパス等）を選択したりすることができる。このようなパスの選択を行うためには、サービスルータは、ユーザルータから観測されるリンクＡ及びリンクＢ上のトラフィックや、各サービスルータからユーザルータへの各パスの通信品質について、知る必要がある。
【００６８】
したがって、この場合のユーザルータを、本実施形態におけるクライアントノード装置とし、ユーザルータにネットワーク計測情報を取得させて、本実施形態におけるサーバにこれら計測情報を収集し、サーバから各サービスルータへ必要な情報を提供すれば、各サービルルータは、その時点のネットワーク状態に基づいて適切なパスを選択することができるようになる。
【００６９】
この場合、サーバのインターネット状態データ作成部３５が作成し、各サービスルータに送信するデータは、各サービスルータが必要とする、ユーザルータにつながる各リンクのトラフィック（フロー毎もしくは全体）の情報や、ユーザルータと各サービスルータとの間のデータ転送についての情報となる。なお、インターネット内の全てのサービスルータが、あるユーザネットワーク行きのパケットについて複数のパスのうちの一つを選択する作業を行うのではなく、そのユーザネットワークを担当するサービスルータのみが、複数のパスからの選択を行う（その他のサービスルータは、担当のサービスルータへ向けてそのユーザネットワーク行きのパケットを転送する）実装の場合には、本実施形態に係るサーバは、サービスルータのそれぞれに対し、そのサービスルータが担当するユーザルータに関わるネットワーク状態の情報を選んで、送信することになる。
【００７０】
なお、このようなマルチホーム接続におけるパス選択サービスのために、本実施形態に係るサーバがインターネット状態データを提供する例においては、クライアントノードすなわちユーザルータに期限付きで使用を許可するソフトウェアとして、このパス選択サービスを受けるためのプログラムを提供することも、効果的である。このパス選択サービスを受けるためにユーザルータが実行すべきプログラムとしては、次のようなものがある。
【００７１】
例えば、サービスルータに、自身への経路が複数存在すること（すなわちユーザネットワークが、ＩＳＰ−Ａから割り当てられたネットワークアドレスと、ＩＳＰ−Ｂから割り当てられたネットワークアドレスとを有すること）を知らせるためのメッセージを作成、送信するプログラムがある。また、サービスルータからユーザルータまでの仮想的なトンネルの出口に要求される機能を実行するためのプログラムがあっても良い。トンネルの出口ノードに要求される機能とは、例えば、ＩＰカプセル化されたパケットを受信してこのカプセル化を解く機能、サービスルータから自身へのＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）のパスを設定するための機能、サービスルータで行なわれるパケットの宛先アドレスの変換の逆変換を受信したパケットに対して行うための機能、のうち少なくとも一つである。さらに、サービスルータの判断でパスの選択を行うだけでなく、ユーザルータがサービスルータにどのパスを選択すべきかを指示するオプションを設ける場合には、その指示メッセージを作成、送信するプログラムが、提供される。
【００７２】
以上、本発明の実施形態について説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。例えば、上記では、サーバ３０自身がインターネット状態データ作成部３５を備えている例を説明したが、この機能を、サーバ３０は持たず、他のサーバ（インターネット状態データ作成サーバ）が持つように、構成してもよい。この場合、サーバ３０が、クライアント情報管理部３４に収集された計測情報等を、インターネット状態データ作成サーバへ、必要に応じて送信することになる。なお、図２及び図３に示した装置構成の各部は、ソフトウェアによって実現しても、ハードウェアによって実現しても、それらの組合せによって実現しても構わない。
【００７３】
【発明の効果】
本発明によれば、クライアントノードは、ネットワーク計測情報をサーバへ提供することにより所望のプログラムやデータが利用できるようになるため、自身のコンピュータ資源の一部を、サーバのインターネット状態把握のための作業に割り当てることを厭わないようになり、サーバはより多くの拠点からネットワーク計測情報を収集することができるようになる。
【図面の簡単な説明】
【図１】本発明の一実施形態が適用されるネットワーク構成の例を示す図。
【図２】本実施形態に係るクライアントノード装置の内部構成例を示す図。
【図３】本実施形態に係るサーバ装置の内部構成例を示す図。
【図４】本実施形態に係るサーバ装置のクライアント情報管理部にて管理される情報の例を示す図。
【図５】本実施形態に係るクライアントノード装置とサーバ装置とにより行なわれる処理の流れを説明するための図。
【図６】本実施形態を応用して提供可能なサービスの一例を説明するための図。
【符号の説明】
２０  クライアントノード装置
２１  ネットワークインタフェース
２２  計測情報取得部
２３  取得指示受信部
２４  取得情報送信部
２５  時間管理部
２６  ソフトウェア実行部
２７  使用許可キー受信部
３０  サーバ装置
３１  計測情報受信部
３２  計測指示送信部
３３  使用許可キー送信部
３４  クライアント情報管理部
３５  インターネット状態データ作成部
【図１】
2005026948.tif 000003
【図２】
2005026948.tif 000004
【図３】
2005026948.tif 000005
【図４】
2005026948.tif 000006
【図５】
2005026948.tif 000007
【図６】
2005026948.tif 000008