(57)【特許請求の範囲】
【請求項１】
それぞれ固有の端末ＩＤを有し、当該端末ＩＤを用いて互いに通信を行う複数の端末装置と、前記複数の端末装置のそれぞれと通信を行うサーバ装置とを有する通信システムの前記端末装置において、
当該通信システムにおいて使用可能な端末ＩＤの番号の範囲のうち、未だ前記複数の端末装置の端末ＩＤとして使用されていない連続した番号を有する領域に含まれる番号を、前記端末ＩＤとして記憶する記憶手段と、
前記記憶手段により記憶した端末ＩＤと、前記端末ＩＤの番号の範囲とに基づいて、前記サーバ装置と通信を行う通信時刻を決定する決定手段と、
前記決定手段により決定した通信時刻に、前記サーバ装置と通信する通信手段と、
を備えたことを特徴とする端末装置。
【請求項２】
前記記憶手段は、未だ前記複数の端末装置の端末ＩＤとして使用されていない連続した番号を有する領域のうち、最大の領域が２つの領域に分割された番号を前記端末ＩＤとして記憶することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記記憶手段は、前記最大の領域が２つの領域に均等に分割された番号を、前記端末ＩＤとして記憶することを特徴とする請求項２に記載の端末装置。
【請求項４】
前記決定手段は、前記記憶手段により記憶した端末ＩＤを、前記端末ＩＤの番号の範囲における最大番号で除算した値に、前記複数の端末装置が前記サーバ装置へ所定期間毎に通信を行う際の前記所定期間を乗算することによって、前記通信時刻を決定することを特徴とする請求項１〜３のいずれか１項に記載の端末装置。
【請求項５】
コンピュータを、請求項１〜４のいずれか１項に記載の端末装置の各手段として機能さ
せることを特徴とする通信時刻決定プログラム。
【請求項６】
それぞれ固有の端末ＩＤを有し、当該端末ＩＤを用いて互いに通信を行う複数の端末装
置と、前記複数の端末装置のそれぞれと通信を行うサーバ装置とを有する通信システムの
前記端末装置により前記サーバ装置との通信を行う通信時刻を決定する方法において、
当該通信システムにおいて使用可能な端末ＩＤの番号の範囲のうち、未だ前記複数の端末装置の端末ＩＤとして使用されていない連続した番号を有する領域に含まれる番号を、前記端末ＩＤとして記憶するステップと、
前記記憶手段により記憶した端末ＩＤと、前記端末ＩＤの番号の範囲とに基づいて、前記サーバ装置と通信を行う通信時刻を決定するステップと、
前記決定した通信時刻に、前記サーバ装置と通信するステップと、
を有することを特徴とする通信時刻決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末装置及びサーバ装置により構成された通信システムにおいて、複数の端末装置がサーバ装置へアクセスする際、サーバ装置にてそのアクセスによる情報の衝突が起こらないように、端末装置がそのアクセス時刻（通信時刻）を決定する技術に関する。
【背景技術】
【０００２】
従来、複数の端末装置及びサーバ装置により構成された通信システムにおいて、各端末装置がサーバ装置へアクセスする場合、端末装置が保有する固有値として乱数を用い、その乱数を時刻情報に変換することにより、アクセスする時刻（通信時刻）を決定する技術が知られている（例えば、特許文献１を参照）。図９は、従来の通信システムの概要を説明する図である。この通信システムは、複数の端末装置１００１Ａ〜１００１Ｅ及びサーバ装置１０１０により構成されている。サーバ装置１０１０は、共通のタイミング値を生成して各端末装置１００１Ａ〜１００１Ｅへ送信し、各端末装置１００１Ａ〜１００１Ｅは、サーバ装置１０１０から受信したタイミング値及び端末装置内にて発生させた乱数に基づいて、通信時刻を決定する。そして、各端末装置１００１Ａ〜１００１Ｅは、その通信時刻になると、サーバ装置１０１０へアクセスして所定の情報を送信する（定常通信を行う）。このような通信システムによれば、各端末装置１００１Ａ〜１００１Ｅにて決定した通信時刻は、通常はそれぞれ異なる時刻となり、各端末装置１００１Ａ〜１００１Ｅは確率的に分散したアクセスを実現することができる。したがって、サーバ装置１０１０では、アクセスに伴う送信情報の集中を回避することができる。
【特許文献１】特開２０００−２５８５６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
また、複数の端末装置等の参加によりネットワークが形成され、端末装置等に分散して格納されたコンテンツ情報を、必要に応じて端末装置間で送受信する情報配信システムが知られている。このようなシステムにおいても、例えば、各端末装置からサーバ装置（ログ情報を収集するサーバ装置）へログ情報を送信する場合、各端末装置は、乱数に基づいて、ログ情報を送信する通信時刻を決定することにより、サーバ装置におけるログ情報の集中を回避できる。
【０００４】
このような情報配信システムでは、各端末装置がコンテンツ情報の送受信を行うことから、基本的にはサーバ装置の存在を意識する必要がない。このため、ログ情報の送受信においては、端末装置が自ら通信時刻を決定するのが妥当である。しかし、ログ情報は複数の端末装置からサーバ装置へ送信され、一箇所のサーバ装置に集中してしまうことから、端末装置は、サーバ装置の動作を考慮する必要がある。これは、複数の端末装置からのログ情報が集中すると、サーバ装置に負荷がかかり、処理能力が低下するからである。そこで、ログ情報が集中しないように、各端末装置が、乱数に基づいて通信時刻を決定する。
【０００５】
このような、乱数によって通信時刻を決定する通信システムにおいては、端末装置の数が少ない場合でも、複数の端末装置からサーバ装置へ偶発的に同時に情報を送信することがあり得る。この場合、サーバ装置では情報の衝突が起こってしまう。また、端末装置の数が多くなればなるほど、同時に情報を送信する可能性が高くなり、サーバ装置では情報の衝突が起こりやすくなる。
【０００６】
そこで、本発明は、複数の端末装置からサーバ装置へアクセスする際に情報が衝突しないように、そのアクセスを行う通信時刻を決定可能な端末装置、通信時刻決定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、請求項１の発明は、それぞれ固有の端末ＩＤを有し、当該端末ＩＤを用いて互いに通信を行う複数の端末装置と、前記複数の端末装置のそれぞれと通信を行うサーバ装置とを有する通信システムの前記端末装置において、当該通信システムにおいて使用可能な端末ＩＤの番号の範囲のうち、未だ前記複数の端末装置の端末ＩＤとして使用されていない連続した番号を有する領域に含まれる番号を、前記端末ＩＤとして記憶する記憶手段と、前記記憶手段により記憶した端末ＩＤと、前記端末ＩＤの番号の範囲とに基づいて、前記サーバ装置と通信を行う通信時刻を決定する決定手段と、前記決定手段により決定した通信時刻に、前記サーバ装置と通信する通信手段と、を備えたことを特徴とする。
【０００８】
また、請求項２の発明は、請求項１に記載の端末装置において、前記記憶手段は、未だ前記複数の端末装置の端末ＩＤとして使用されていない連続した番号を有する領域のうち、最大の領域が２つの領域に分割された番号を前記端末ＩＤとして記憶することを特徴とする。
【０００９】
また、請求項３の発明は、請求項２に記載の端末装置において、前記記憶手段は、前記最大の領域が２つの領域に均等に分割された番号を、前記端末ＩＤとして記憶することを特徴とする。
【００１０】
また、請求項４の発明は、請求項１〜３までのいずれか１項に記載の端末装置において、前記決定手段は、前記記憶手段により記憶した端末ＩＤを、前記端末ＩＤの番号の範囲における最大番号で除算した値に、前記複数の端末装置が前記サーバ装置へ所定期間毎に通信を行う際の前記所定期間を乗算することによって、前記通信時刻を決定することを特徴とする。
【００１１】
また、請求項５の発明は、コンピュータを、請求項１〜４のいずれか１項に記載の端末装置の各手段として機能させることを特徴とする通信時刻決定プログラムにある。
【００１２】
また、請求項６の発明は、それぞれ固有の端末ＩＤを有し、当該端末ＩＤを用いて互いに通信を行う複数の端末装置と、前記複数の端末装置のそれぞれと通信を行うサーバ装置とを有する通信システムの前記端末装置により前記サーバ装置との通信を行う通信時刻を決定する方法において、当該通信システムにおいて使用可能な端末ＩＤの番号の範囲のうち、未だ前記複数の端末装置の端末ＩＤとして使用されていない連続した番号を有する領域に含まれる番号を、前記端末ＩＤとして記憶するステップと、前記記憶手段により記憶した端末ＩＤと、前記端末ＩＤの番号の範囲とに基づいて、前記サーバ装置と通信を行う通信時刻を決定するステップと、前記決定した通信時刻に、前記サーバ装置と通信するステップと、有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、端末装置は、各端末装置間で固有の端末ＩＤに基づいて、サーバ装置へアクセスを行う通信時刻を決定するようにした。これにより、通信時刻は各端末装置間で異なる時刻となり、サーバ装置へのアクセスは同時に行われることがないから、情報が衝突することはない。したがって、サーバ装置は、各端末装置からの情報の衝突に伴う処理負担を軽減することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図面を参照して具体的に説明する。本発明の実施形態は、複数の端末装置及びサーバ装置により構成された通信システムにおいて、端末装置が所定の通信時刻になるとサーバ装置へアクセスする場合（例えば、端末装置の動作状況をサーバ装置へ通知するために、ログ情報を送信する場合、端末装置がプログラムをアップデートするために、アップデート情報をサーバ装置から取得するための要求情報を送信する場合等をいう。以下、このような通信を「定常通信」という。）、複数の端末装置からの定常通信による情報がサーバ装置において衝突しないように、各端末装置が、端末ＩＤに基づいて通信時刻を決定するものである。
【００１６】
定常通信による情報が衝突しないようにするためには、各端末装置により決定する通信時刻が重複していなければよい。つまり、各端末装置は、通信時刻が通信システム全体で一意になるように決定すればよい。そこで、本発明は、通信システムを構成する複数の端末装置が固有の端末ＩＤをそれぞれ保持していることに着目し、各端末装置がその端末ＩＤに基づいて通信時刻を決定することを特徴とする。これにより決定された通信時刻は、端末ＩＤが端末装置毎に異なるから、端末装置間で重複することがなく、結果として、定常通信による情報の衝突を回避することができる。
【００１７】
ここで、端末ＩＤは、通信システムを構成する複数の端末装置のそれぞれを識別するために割り当てられた固有の番号である。各端末装置は、通信システムの中で自らを特定するための１つの端末ＩＤを保持し、この端末ＩＤを用いることにより、他の端末装置との間でＰ２Ｐの通信を行うことができる。
【００１８】
以下、定常通信を行う通信システム及び端末装置の構成について説明し、その後に、情報の衝突を回避するための、端末装置による通信時刻の決定手法について説明する。
【００１９】
［１．通信システム及び端末装置の構成］
まず始めに、本発明の実施形態における通信システム及び端末装置の構成について説明する。図１は、本発明の実施形態における通信システムの概略構成を示す図である。図２は、図１の通信システムにおける端末装置の構成を示す図である。
【００２０】
［１．１  通信システム］
まず、通信システムの構成について説明する。図１を参照して、この通信システムは、パーソナルコンピュータ等の複数の端末装置１Ａ，１Ｂ，・・・，１Ｅ（以下、端末装置を総称する場合及び個々の端末装置を示す場合は、単に「端末装置１」という。）及び１台のサーバ装置１０を備えて構成される。各端末装置１Ａ，１Ｂ，・・・，１Ｅ、及び、端末装置１Ａ，１Ｂ，・・・，１Ｅとサーバ装置１０とは、インターネット等のネットワークを介して接続される。
【００２１】
また、この通信システムは、ネットワークを介して接続される複数の端末装置１間で、各端末装置１が保持しているコンテンツ情報を互いに送受信することにより、通信システムのネットワークに参加している各端末装置１へコンテンツ情報の配信を可能としたコンテンツ配信システムを実現するものとする。
【００２２】
このような通信システムの下で、端末装置１は固有の端末ＩＤを保持しており、端末ＩＤは、端末装置１が通信システムのネットワークに参加した際に割り当てられる。図１に示すように、端末装置１Ａ〜１Ｅは、ネットワークに参加した際に割り当てられた端末ＩＤ「００００」〜「Ｆ０００」（１６進表記）を保持し、その端末ＩＤに基づいて定常通信を行う通信時刻をそれぞれ決定し、その通信時刻になるとサーバ装置１０に対して定常通信をそれぞれ行う。これらの通信時刻は、異なる端末ＩＤによりそれぞれ決定されるため、異なる時刻となる。
【００２３】
［１．２  端末装置］
次に、端末装置１の構成について説明する。図２を参照して、この端末装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、各種プログラムやテーブル等を記憶する書き換え可能な記憶部１０２と、定常通信を行う通信時刻等の各種データを記憶するＨＤＤ（ハードディスク装置）１０３と、ネットワークを介してサーバ装置１０との間で通信を行うためのネットワークインタフェース１０４と、ユーザの操作により所定のデータを入力可能なキーボード１０５やマウス１０６等の入力手段を制御する周辺機器制御チップ１０７と、ＣＰＵ１０１からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ１０９に表示するビデオチップ１０８と、ビデオチップ１０８から送信される信号に応じた表示を行う内蔵ディスプレイ１０９と、ＦＭ（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）音源やウェーブテーブル（Ｗａｖｅ  Ｔａｂｌｅ）音源等を有する音源チップ１１０と、音源チップ１１０から出力されるオーディオ信号を音波に変換する内蔵スピーカ１１１とを備えて構成され、これらの各種構成要素はシステムバス１１２を介して相互に接続されている。また、ＣＰＵ１０１及び記憶部１０２により制御部１３０を構成している。
【００２４】
（記憶部１０２について）
記憶部１０２には、端末装置１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）プログラム１２０、内蔵ディスプレイ１０９を制御するための画面制御プログラム１２１、ネットワークインタフェース１０４を介して他の端末装置１及びサーバ装置１０との間で通信を行う通信プログラム１２２、通信システムのネットワークに参加する際に割り当てた端末ＩＤ、または、他の装置により割り当てられた端末ＩＤを自らの端末ＩＤとして記憶する端末ＩＤ記憶プログラム１２３、端末ＩＤに基づいて通信時刻を決定し、その通信時刻になると定常通信を行う定常通信処理プログラム１２４等が記憶されている。
【００２５】
ここで、ＯＳプログラム１２０は、ＣＰＵ１０１によって読み出されて実行されることにより、コンピュータの基本的な機能として、キーボード１０５やマウス１０６の入出力に関する機能、記憶部１０２やＨＤＤ１０３のメモリ管理に関する機能等を実現するものである。そして、このＯＳプログラム１２０がＣＰＵ１０１によって実行された状態で、上述の画面制御プログラム１２１、通信プログラム１２２、端末ＩＤ記憶プログラム１２３、定常通信処理プログラム１２４等が実行される。
【００２６】
尚、ＯＳプログラム１２０、画面制御プログラム１２１、通信プログラム１２２、端末ＩＤ記憶プログラム１２３、定常通信処理プログラム１２４等は、例えば、ネットワークに接続されたサーバ等から記憶部１０２にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体を介して、記憶部１０２に読み込まれるようにしてもよい。
【００２７】
（制御部１３０について）
制御部１３０は、前述のようにＣＰＵ１０１及び記憶部１０２から構成され、ＣＰＵ１０１が記憶部１０２に記憶された各種プログラム１２０〜１２４等を読み出して実行することにより、端末装置１全体を統括制御する。
【００２８】
ここで、制御部１３０は、通信プログラム１２２により、端末装置１が新たに通信システムのネットワークに参加する際に必要な通信処理、例えば参加メッセージを送信したり、参加要求を送信したり等の処理を行う手段、コンテンツ配信システムを実現するための情報の送受信を他の端末装置１等との間で行う手段、及び、サーバ装置１０との間で通信を行う手段としてそれぞれ機能する。また、端末ＩＤ記憶プログラム１２３により、自らが割り付けた端末ＩＤまたは他の装置が割り付けた端末ＩＤを、自らの端末装置１の端末ＩＤとして記憶する記憶手段として機能する。また、定常通信処理プログラム１２４により、前記端末ＩＤを読み出し、その端末ＩＤに基づいて通信時刻を決定する決定手段、及び、その通信時刻になると定常通信を行う通信手段として機能する。
【００２９】
［２．端末装置の処理］
次に、端末装置１の処理について、新規端末装置１が通信システムのネットワークに参加する際に端末ＩＤを記憶する処理（端末ＩＤ記憶処理）と、端末ＩＤに基づいて通信時刻を決定し定常通信を行う処理（定常通信処理）とに分けて詳細に説明する。
【００３０】
（端末ＩＤ記憶処理）
図３は、図２に示した端末装置１による端末ＩＤ記憶処理のフローを示す図である。この端末ＩＤ記憶処理は、端末ＩＤ記憶プログラム１２３及び通信プログラム１２２により実現され、端末装置１が通信システムのネットワークに新たに参加するときに開始する。図４は、その参加手順を説明する図である。
【００３１】
図３及び図４において、端末装置１が通信システムのネットワークに新たに参加するときに、その新規端末装置１の制御部１３０は、自らが希望する端末ＩＤを割り付け、その端末ＩＤを含む参加メッセージをコンタクト先端末装置１（図示せず）へ送信する（ステップＳ３０１）。コンタクト先端末装置１は、参加メッセージを受信し、その参加メッセージに含まれる端末ＩＤを用いて、自らが保持しているＤＨＴテーブル（ルーティングテーブル）を参照し、その参加メッセージが自装置宛のメッセージでない場合は、受信した参加メッセージを他の端末装置１へ転送し、そして、レベル１のＤＨＴテーブルを新規端末装置１へ送信する。また、参加メッセージを受診した他の端末装置１は、各レベルのＤＨＴテーブルを新規端末装置１へ送信する。このようにして、新規端末装置１は、レベル１〜ＮのＤＨＴテーブルを取得する（ステップＳ３０２）。これにより、新規端末装置１は、このＤＨＴテーブルに基づいて他の端末装置１との間でデータの送受信を行うことができる。
【００３２】
また、コンタクト先端末装置１は、参加メッセージに含まれる端末ＩＤが通信システムのネットワーク上で既に使用されていると判定すると、新たな端末ＩＤを割り付け、その新たな端末ＩＤを新規端末装置１へ送信する。この場合、前記ステップＳ３０２において、新規端末装置１は、この新たな端末ＩＤを含む参加メッセージを受信した端末装置１から各レベルのＤＨＴテーブルを受信し、レベル１〜ＮのＤＨＴテーブルを取得する。
【００３３】
新規端末装置１の制御部１３０は、コンタクト先端末装置１から新たな端末ＩＤを受信したか否かを判定し（ステップＳ３０３）、新たな端末ＩＤを受信しなかった場合（ステップＳ３０３：Ｎ）、ステップＳ３０１において自らが割り当てた端末ＩＤを自端末装置１の端末ＩＤに決定する（ステップＳ３０４）。一方、新たな端末ＩＤを受信した場合（ステップＳ３０３：Ｙ）、その新たな端末ＩＤを自端末装置１の端末ＩＤに決定する（ステップＳ３０５）。そして、制御部１３０は、ステップＳ３０４またはステップＳ３０５にて決定した端末ＩＤを記憶する（ステップＳ３０６）。このようにして、新規端末装置１は通信システムのネットワークに参加することができ、このときに記憶する端末ＩＤは、通信システムのネットワークにおいて固有の番号となり、他の端末装置１との間のデータの送受信のために用いられ、また、定常通信を行う通信時刻の決定のために用いられる。
【００３４】
（端末ＩＤについて）
ここで、端末ＩＤの決定手法について説明する。前述したように、端末ＩＤは、通信システムを構成する複数の端末装置１のそれぞれを識別するために割り当てられた固有の番号である。例えば、端末装置１のＩＰアドレス及び製造番号は通信システムにおいて固有の番号であることから、端末装置１は、ＩＰアドレスまたは製造番号を用いて端末ＩＤを決定することができる。このように決定した端末ＩＤは端末装置１毎に異なる番号であるから、端末ＩＤに基づいて決定した通信時刻も端末装置１毎に異なる時刻となる。これにより、サーバ装置１０へのアクセスは同時に行われることがないから、情報が衝突することはなく、したがって、サーバ装置１０は、各端末装置１からの情報の衝突に伴う処理負担を軽減することができる。
【００３５】
しかしながら、ＩＰアドレス等の固有の番号を用いて決定した端末ＩＤは、通信システム全体として使用可能な端末ＩＤの範囲（領域）のうち、一部の領域に偏ってしまうことがあり得る。この場合、各端末装置１が決定する通信時刻はそれぞれ異なるものの、一部の時間帯に偏ってしまう。そして、サーバ装置１０は、各端末装置１からの定常通信の情報を、一部の時間帯に集中して受信することになってしまう。そこで、サーバ装置１０の処理負荷を一層軽減するためには、端末装置１が決定するそれぞれの通信時刻が、所定の通信期間において適度に分散していることが望ましい。つまり、端末ＩＤは、通信システムに使用可能な端末ＩＤの全範囲において、適度に分散していることが望ましい。
【００３６】
ここで、所定の通信期間とは、通信システムを構成する全ての端末装置１がサーバ装置１０へ定常通信を行う時間期間をいう。つまり、端末装置１からサーバ装置１０への定常通信は、全く任意の期間内に行うのではなく、所定の通信期間内に行う。例えば、所定の通信期間が１２時間の場合、各端末装置１は、その１２時間のうちのいずれかの時刻に、他の端末装置１と重複しないように定常通信を１回のみ行う。サーバ装置１０は、この通信期間内に各端末装置１から定常通信によるアクセスをそれぞれ１回受けることになる。
【００３７】
（ハッシュ関数により決定する端末ＩＤ）
通信システムに使用される端末ＩＤの全範囲において、端末ＩＤを適度に分散させるための第１の手法として、ハッシュ関数を用いる手法がある。例えば、端末装置１の制御部１３０は、通信システム内で共通するハッシュ関数（ハッシュアルゴリズム）を用いることにより、自端末装置１のＩＰアドレスまたは製造番号等の端末装置１毎に固有の値をハッシュ化してハッシュ値を算出し、通信システムに使用される端末ＩＤの全範囲内でこのハッシュ値に応じた端末ＩＤを、自端末装置１として決定する。ここで、ハッシュ関数により算出されるハッシュ値は、各端末装置１において同じ値になる可能性は極めて低い。したがって、このように決定される端末ＩＤは、端末ＩＤの全範囲において偏りなく分散して配置されることになる。尚、ハッシュ関数については公知であるので、ここでは詳しい説明を省略する。
【００３８】
（均等分割により決定する端末ＩＤ）
通信システムに使用される端末ＩＤの全範囲において、端末ＩＤを適度に分散させるための第２の手法として、端末ＩＤとして決定可能な領域を均等分割する手法がある。例えば、新規端末装置１が通信システムのネットワークに新たに参加するときに、その新規端末装置１の制御部１３０は、参加要求メッセージをコンタクト先紹介装置（図示せず）へ送信する。コンタクト先紹介装置は、参加要求メッセージを受信すると、新規端末装置１による参加メッセージの送信先であるコンタクト先端末装置１（図３のステップＳ３０１を参照）の所在情報を新規端末装置１へ送信すると共に、新規端末装置１の端末ＩＤを、端末ＩＤとして決定可能な領域を均等分割して割り当て、その割り当てた端末ＩＤを新規端末装置１へ送信する。以下、端末ＩＤの割り当て手法について説明する。
【００３９】
端末ＩＤとして使用される（割り当てられる）番号の範囲（領域）を、１６ビット幅の整数値０〜２１６−１とする。この領域は、図５（ａ）に示すように、１６ビット表記の「００００〜ＦＦＦＦ」の番号が時計回りに配列されて構成されている。コンタクト先紹介装置は、この番号領域の中で端末ＩＤとして使用している番号がない場合、すなわち、新規端末装置１が第１番目の端末装置１として通信システムに参加する場合、先ず、この番号領域の中からランダムに一つの番号を選択し、その番号を端末ＩＤとして割り当てる。ここでは、図５（ａ）に示すように、第１番目の端末ＩＤとして「ＡＥ００」を割り当てる。
【００４０】
次に、コンタクト先紹介装置は、第２番目の新規端末装置１が通信システムに参加する場合、図５（ａ）の番号領域の中で端末ＩＤとして使用していない番号が最も多く連続して配列されている最大未使用領域を判別する。ここでは、図５（ａ）に示すように、符号（１）で示す番号領域「ＡＥ０１〜ＦＦＦＦ」「００００〜ＡＤＦＦ」を最大未使用領域（１）として判別する。そして、コンタクト先紹介装置は、図５（ａ）の最大未使用領域（１）を均等に分割する番号を選択し、その番号を第２番目の端末ＩＤとして割り当てる。ここでは、図５（ｂ）に示すように、第２番目の端末ＩＤとして「２Ｅ００」を割り当てる。
【００４１】
次に、コンタクト先紹介装置は、第３番目の新規端末装置１が通信システムに参加する場合、図５（ｂ）の番号領域の中で端末ＩＤとして使用していない番号が最も多く連続して配列されている最大未使用領域を判別する。ここでは、図５（ｂ）に示すように、符号（１）で示す番号領域「ＡＥ０１〜ＦＦＦＦ」「００００〜２ＤＦＦ」及び符号（２）で示す番号領域「２Ｅ０１〜ＡＤＦＦ」をそれぞれ最大未使用領域（１）（２）として判別する。そして、コンタクト先紹介装置は、最大未使用領域が２つ存在するから、そのうちの一つをランダムに選択し、選択した最大未使用領域を均等に分割する番号を選択し、その番号を第３番目の端末ＩＤとして割り当てる。ここでは、図５（ｃ）に示すように、最大未使用領域（１）を選択し、第３番目の端末ＩＤとして「ＤＥ００」を割り当てる。
【００４２】
次に、コンタクト先紹介装置は、第４番目の新規端末装置１が通信システムに参加する場合、図５（ｃ）の番号領域の中で端末ＩＤとして使用していない番号が最も多く連続して配列されている最大未使用領域を判別する。ここでは、図５（ｃ）に示すように、符号（２）で示す番号領域「２Ｅ０１〜ＡＤＦＦ」を最大未使用領域（２）として判別する。そして、コンタクト先紹介装置は、その最大未使用領域を均等に分割する番号を選択し、その番号を第４番目の端末ＩＤとして割り当てる。ここでは、図５（ｄ）に示すように、第４番目の端末ＩＤとして「５Ｅ００」を割り当てる。
【００４３】
次に、コンタクト先紹介装置は、第５番目の新規端末装置１が通信システムに参加する場合、図５（ｄ）の番号領域の中で端末ＩＤとして使用していない番号が最も多く連続して配列されている最大未使用領域を判別する。ここでは、図５（ｄ）に示すように、符号（１）で示す番号領域「ＤＥ０１〜ＦＦＦＦ」「００００〜２ＤＦＦ」、符号（２）で示す番号領域「２Ｅ０１〜５ＤＦＦ」、符号（３）で示す番号領域「５Ｅ０１〜ＡＤＦＦ」、符号（４）で示す番号領域「ＡＥ０１〜ＤＤＦＦ」をそれぞれ最大未使用領域（１）（２）（３）（４）として判別する。そして、コンタクト先紹介装置は、最大未使用領域が４つ存在するから、そのうちの一つをランダムに選択し、選択した最大未使用領域を均等に分割する番号を選択し、その番号を第５番目の端末ＩＤとして割り当てる。
【００４４】
このように、コンタクト先紹介装置は、新規端末装置１が通信システムに参加する毎に、図５（ａ）〜（ｄ）に示したように、番号領域からランダムに選択した番号を端末ＩＤとして割り当てた後、番号領域のうちの最大未使用領域を判別し、その最大未使用領域を順次２つに等分し、その等分位置に配列されている番号を端末ＩＤとして割り当てる。したがって、このように決定される端末ＩＤは、端末ＩＤの全範囲において偏りなく分散して配置されることになる。
【００４５】
（定常通信処理）
ここで、端末装置１の処理の説明に戻る。図６は、図２に示した端末装置１による定常通信処理のフローを示す図である。この定常通信処理は、定常通信処理プログラム１２４及び通信プログラム１２２により実現され、端末ＩＤに基づいて通信時刻を決定し、その通信時刻になると定常通信を行う処理である。
【００４６】
図６において、端末装置１の制御部１３０は、図３に示した端末ＩＤ記憶処理が終了したときに、または、所定の通信期間の開始時刻になったときに、図３のステップＳ３０６において記憶した端末ＩＤを読み出し、以下の数式により、端末ＩＤに基づいて通信時刻を決定する（ステップＳ６０１）。
通信時刻＝通信期間×（端末ＩＤ／端末ＩＤの範囲における最大番号）
ここで、通信期間は、前述したように、通信システムを構成する全ての端末装置１が定常通信を行う時間期間をいい、端末ＩＤの範囲における最大番号は、通信システムを構成する端末装置１に割り当てられる端末ＩＤが０から始まる連続した番号である場合に、その連続した番号のうちの最大の番号をいう。例えば、図５（ａ）〜（ｄ）では、端末装置１に割り当てられる端末ＩＤの範囲が「００００〜ＦＦＦＦ」（１６進表記）であるから、その最大番号は「ＦＦＦＦ」である。
【００４７】
そして、制御部１３０は、ステップＳ６０１において決定した通信時刻に到達したか否かを、内蔵した時計タイマ（図示せず）により判定し（ステップＳ６０２）、通信時刻に到達していない場合は（ステップＳ６０２：Ｎ）、通信時刻に到達するまで待つ。一方、通信時刻に到達した場合は（ステップＳ６０２：Ｙ）、サーバ装置１０にアクセスして定常通信を行う（ステップＳ６０３）。
【００４８】
このように、各端末装置１は、通信時刻をそれぞれ決定し、図７に示すように、その通信時刻になると定常通信をそれぞれ行う。図７において、１周の円は通信期間を示しており、黒丸は各端末装置１が定常通信を行う通信時刻を示しており、それぞれ０番目の端末装置１の通信時刻、１番目の端末装置１の通信時刻等を示している。このように、各端末装置１は、図６のステップＳ６０１において他の端末装置１と重複していない端末ＩＤに基づいて通信時刻を決定するようにしたから、通信時刻も重複することがない。したがって、各端末装置１は、図７に示すように、異なる通信時刻に順番に定常通信を行う。
【００４９】
図８（１）は端末ＩＤの例、（２）は通信時刻の例、（３）は通信タイミングの例をそれぞれ示す図である。尚、端末ＩＤの範囲を「００００〜ＦＦＦＦ」とし、通信時間を２４時間とする。通信システムを構成する端末装置１Ａ〜１Ｅが、（１）に示す端末ＩＤ「００００」「２０００」「８０００」「Ｃ０００」「Ｆ０００」をそれぞれ保持している場合、各端末装置１の制御部１３０は、図６のステップＳ６０１の数式により、（２）に示す通信時刻「００：００：００」「０３：００：００」「１２：００：００」「１８：００：００」「２２：３０：００」を決定する。（３）において、外円の一周は通信期間（２４時間）を示し、内円の一周は端末ＩＤの範囲を示す。（３）から、端末装置１Ａ〜１Ｅにおける端末ＩＤ（内円の黒丸）は、１周の円において、それぞれに対応した通信時刻（外円の黒抜き丸）になっていることがわかる。つまり、端末ＩＤが重複しない場合は、通信時刻も重複することはない。
【００５０】
以上のように、本発明の実施形態によれば、端末装置１の制御部１３０が、自らの端末装置１が保持している固有の端末ＩＤに基づいて通信時刻を決定し、その通信時刻になると定常通信を行うようにした。このように決定された通信時刻は、端末ＩＤが端末装置１毎に異なるから、端末装置１間で重複することがなく、定常通信による情報の衝突を回避することができる。したがって、サーバ装置１０は、各端末装置１からの情報の衝突に伴う処理負担を軽減することができる。また、処理負担の軽減に伴い、サーバ装置１０の設備を増強する必要がなく、コストを削減することができる。
【００５１】
また、本発明の実施形態によれば、端末装置１の制御部１３０が通信時刻を決定するための端末ＩＤは、端末装置１を特定するＩＰアドレスまたは製造番号等の固有の情報がハッシュ関数でハッシュされた値に応じた番号とするようにした。このようにして決定される端末ＩＤは、端末ＩＤの全範囲において偏りなく分散して配置されることになるから、通信時刻も、所定の通信期間において偏りなく分散した時刻に決定される。したがって、サーバ装置１０は、各端末装置１からの情報の衝突に伴う処理負担を一層軽減することができる
【００５２】
また、本発明の実施形態によれば、端末装置１の制御部１３０が通信時刻を決定するための端末ＩＤは、端末ＩＤの全範囲において未だ使用されていない連続した番号を有する領域のうち、最大領域が２つの領域に均等に分割された番号とするようにした。このようにして決定される端末ＩＤは、端末ＩＤの全範囲において偏りなく分散して配置されることになるから、通信時刻も、所定の通信期間において偏りなく分散した時刻に決定される。したがって、サーバ装置１０は、各端末装置１からの情報の衝突に伴う処理負担を一層軽減することができる
【００５３】
以上、本発明の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。例えば、前記実施形態では、ネットワークを介して接続される複数の端末装置１間で、各端末装置１が保持しているコンテンツ情報を互いに送受信することにより、通信システムのネットワークに参加している各端末装置１へコンテンツ情報の配信を可能としたコンテンツ配信システムを対象としたが、本発明は、これに限定されず、それぞれ固有の端末ＩＤを有し、この端末ＩＤを用いて互いに通信を行う複数の端末装置１と、複数の端末装置１のそれぞれと通信を行うサーバ装置１０とを有する通信システムに適用される。
【００５４】
また、前記実施形態では、自らの端末装置１を特定するＩＰアドレスまたは製造番号を用いて端末ＩＤを決定するようにしたが、必ずしもＩＰアドレスまたは製造番号を用いる必要はなく、通信システムを構成する複数の端末装置１のそれぞれを識別可能な他の固有の番号を用いて決定するようにしてもよい。
【００５５】
また、端末装置１が自端末装置１の端末ＩＤを決定して記憶する際に、自らがハッシュ関数を用いてハッシュ値を算出し、そのハッシュ値に応じた番号を端末ＩＤとして割り当てるようにしてもよいし、他の装置がハッシュ関数を用いて端末ＩＤを割り当てるようにしてもよい。他の装置が端末ＩＤを割り当てた場合、端末装置１は、その端末ＩＤを他の装置から受信し、その端末ＩＤを自端末装置１の端末ＩＤに決定して記憶する。また、コンタクト先紹介装置が、端末ＩＤとして未使用な番号領域のうちの最大の領域を判別し、その最大領域を均等分割した番号を端末ＩＤとして割り当てるようにしたが、端末装置１自らが、同じ手法を用いて端末ＩＤを割り当てるようにしてもよい。
【００５６】
また、前記実施形態では、コンタクト先紹介装置が、端末ＩＤとして未使用な番号領域のうちの最大の領域を判別し、その最大領域を均等分割した番号を端末ＩＤとして割り当てるようにしたが、必ずしも均等分割した番号を端末ＩＤとして割り当てる必要はなく、最大領域内に配列した番号のうちのいずれかの番号を端末ＩＤとして割り当てるようにしてもよい。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態における通信システムの概略構成を示す図である。
【図２】端末装置の構成を示す図である。
【図３】端末装置による端末ＩＤ記憶処理（１）のフローを示す図である。
【図４】端末装置が通信システムのネットワークへ参加する手順を説明する図である。
【図５】端末ＩＤの設定手法を説明する図である。
【図６】端末装置による定常通信処理のフローを示す図である。
【図７】端末装置の通信順序を説明する図である。
【図８】（１）は端末ＩＤの例、（２）は通信時刻の例、（３）は通信タイミングの例を示す図である。
【図９】従来の通信システムの概要を説明する図である。
【符号の説明】
【００５８】
１，１００１  端末装置
１０，１０１０  サーバ装置
１０１  ＣＰＵ
１０２  記憶部
１２３  端末ＩＤ記憶プログラム
１２４  定常通信処理プログラム
１３０  制御部
【図１】
0005034822.tif 000002
【図２】
0005034822.tif 000003
【図３】
0005034822.tif 000004
【図４】
0005034822.tif 000005
【図５】
0005034822.tif 000006
【図６】
0005034822.tif 000007
【図７】
0005034822.tif 000008
【図８】
0005034822.tif 000009
【図９】
0005034822.tif 000010