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