JP5029214B2 - 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム - Google Patents

通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム Download PDF

Info

Publication number
JP5029214B2
JP5029214B2 JP2007216422A JP2007216422A JP5029214B2 JP 5029214 B2 JP5029214 B2 JP 5029214B2 JP 2007216422 A JP2007216422 A JP 2007216422A JP 2007216422 A JP2007216422 A JP 2007216422A JP 5029214 B2 JP5029214 B2 JP 5029214B2
Authority
JP
Japan
Prior art keywords
time
communication
terminal device
communication time
determined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007216422A
Other languages
English (en)
Other versions
JP2009048571A (ja
Inventor
伸行 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007216422A priority Critical patent/JP5029214B2/ja
Publication of JP2009048571A publication Critical patent/JP2009048571A/ja
Application granted granted Critical
Publication of JP5029214B2 publication Critical patent/JP5029214B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、複数の端末装置及びサーバ装置により構成された通信システムにおいて、複数の端末装置がサーバ装置へアクセスする際に、サーバ装置にてそのアクセスによる衝突が起こらないように、サーバ装置が端末装置に対しアクセス時刻(通信時刻)を予め通知する技術に関する。
従来、複数の端末装置及びサーバ装置により構成された通信システムにおいて、各端末装置がサーバ装置へアクセスする場合、端末装置が保有する固有値として乱数を用い、その乱数を時刻情報に変換することにより、アクセスする時刻(通信時刻)を決定する技術が知られている(例えば、特許文献1を参照)。図14は、従来の通信システムの概要を説明する図である。この通信システムは、複数の端末装置1001A〜1001E及びサーバ装置1010により構成されている。サーバ装置1010は、共通のタイミング値を生成して各端末装置1001A〜1001Eへ送信し、各端末装置1001A〜1001Eは、サーバ装置1010から受信したタイミング値及び端末装置内にて発生させた乱数に基づいて、通信時刻を決定する。そして、各端末装置1001A〜1001Eは、その通信時刻になると、サーバ装置1010へアクセスして所定の情報を送信する。このような通信システムによれば、各端末装置1001A〜1001Eにて決定した通信時刻は、通常はそれぞれ異なる時刻となり、各端末装置1001A〜1001Eは確率的に分散したアクセスを実現することができる。したがって、サーバ装置1010では、アクセスに伴う送信情報の集中を回避することができる。
特開2000−258567号公報
また、複数の端末装置等の参加によりネットワークが形成され、端末装置等に分散して格納されたコンテンツ情報を、必要に応じて端末装置間で送受信する情報配信システムが知られている。このようなシステムにおいても、例えば、各端末装置からサーバ装置(ログ情報を収集するサーバ装置)へログ情報を送信する場合、各端末装置は、乱数に基づいて、ログ情報を送信する通信時刻を決定することにより、サーバ装置におけるログ情報の集中を回避できる。
このような情報配信システムでは、各端末装置がコンテンツ情報の送受信を行うことから、基本的にはサーバ装置の存在を意識する必要がない。このため、ログ情報の送受信においては、端末装置が自ら通信時刻を決定するのが妥当である。しかし、ログ情報は複数の端末装置からサーバ装置へ送信され、一箇所のサーバ装置に集中してしまうことから、端末装置は、サーバ装置の動作を考慮する必要がある。これは、複数の端末装置からのログ情報が集中すると、サーバ装置に負荷がかかり、処理能力が低下するからである。そこで、ログ情報が集中しないように、各端末装置が、乱数に基づいて通信時刻を決定する。
このような、乱数によって通信時刻を決定する通信システムにおいては、端末装置の数が少ない場合でも、複数の端末装置からサーバ装置へ偶発的に同時に情報を送信することがあり得る。この場合、サーバ装置では情報の衝突が起こってしまう。また、端末装置の数が多くなればなるほど、同時に情報を送信する可能性が高くなり、サーバ装置では情報の衝突が起こりやすくなる。
そこで、サーバ装置において情報の衝突を回避するためには、端末装置の通信時刻が端末装置間で概ね等間隔になるように、サーバ装置がその通信時刻を予め決定することが望ましい。例えば、図14に示した通信システムにおいて、図15に示すように、所定の通信期間(全ての端末装置がサーバ装置へアクセスする時間期間をいう。サーバ装置はこの通信期間内に各端末装置からのアクセスを1回受けることになる。)を60分とした場合に、サーバ装置1010は、通信システムを構成する端末装置1001A〜1001Eの総数を把握し、その総数が5のときに、12分間隔になるように通信時刻を決定し、各端末装置へその通信時刻を通知する。具体的には、図15に示すように、サーバ装置1010は、端末装置1001Aの時刻を0分に、端末装置1001Bの時刻を12分に、端末装置1001Cの時刻を24分に、端末装置1001Dの時刻を36分に、端末装置1001Eの時刻を48分にそれぞれ決定する。これにより、サーバ装置1010は、複数の端末装置1001A〜1001Eからの情報を等間隔に受信することができ、衝突を回避することができる。
しかし、通信システムに端末装置1001Fが新たに参加した場合は端末装置の総数が増加するから、通信時刻を等間隔にするために、各端末装置1001A〜1001Eの通信時刻を変更する必要がある。具体的には、図16に示すように、サーバ装置1010は、通信システムに参加している端末装置の総数6を把握し、10分間隔になるように通信時刻を決定し、各端末装置1001A〜1001Eへ新たな通信時刻10分、20分、30分、40分をそれぞれ通知し、端末装置1001Fへ通信時刻50分を通知する。
前述した通信システムでは、サーバ装置が、通信システムを構成する端末装置の総数を常に把握する必要がある。しかし、端末装置の総数を常に把握することは困難であり、サーバ装置に処理負担がかかってしまう。特に、前述した情報配信システムは端末装置が自由にネットワークに参加したり離脱したりすることが許可されているため、端末装置の総数を常に把握することは非常に困難である。
また、端末装置が通信システムに参加する毎に、または通信システムから離脱する毎に、サーバ装置は各端末装置の通信時刻を新たに決定して再度通知する必要がある。この場合、通信システムを構成する端末装置の数が多くなればなるほど、サーバ装置の負荷が高くなってしまう。
そこで、本発明は、端末装置からサーバ装置へのアクセスの時刻を決定する際の処理負担を軽減し、複数の端末装置から送信される情報の衝突を回避可能なサーバ装置、通信時刻通知方法及びプログラムを提供することを目的とする。
本発明の態様の1つは、複数の端末装置からそれぞれ指定した通信時刻にアクセスさせ、前記複数の端末装置との通信を所定期間毎に行うサーバ装置において、前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定手段と、前記決定手段により決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知手段と、を備えたことを特徴とする。
本発明の選択的な態様の1つは、前記決定手段が、前記最大時間領域を等分の2つに分割する時刻を、前記通信時刻として決定することを特徴とする。
本発明の選択的な態様の1つは、前記決定手段が、前記最大時間領域が複数存在する場合に、選択した最大時間領域に対して2つの領域に分割し、前記通信時刻として決定した結果、前記所定時間に対する通信時刻が最も分散するように前記最大時間領域を選択することを特徴とする。
本発明の選択的な態様の1つは、前記決定手段が、前記所定期間内でアクセスがあった前記端末装置の数をカウントし、そのカウント数に基づいて前記最大時間領域を選択することを特徴とする。
本発明の選択的な態様の1つは、前記決定手段が、前記最大時間領域が複数存在する場合に、これらの最大時間領域のうち前記所定期間の開始時刻に最も近い時刻を有する最大時間領域を選択し、当該選択した最大時間領域に対して2つの領域に分割する時刻を、前記通信時刻として決定することを特徴とする。
本発明の選択的な態様の1つは、上述したサーバ装置の少なくとも1つにおいて、前記複数の端末装置を複数のグループに分類し、前記グループ毎に前記決定手段を備え、前記グループ毎の決定手段のうちのいずれかの決定手段は、他の決定手段により決定される通信時刻と所定時間ずれた時刻を通信時刻として決定することを特徴とする。
本発明の選択的な態様の1つは、コンピュータに、前記サーバ装置の各手段として機能させるためのプログラムにある。
本発明の他の態様は、アクセスしてきた端末装置に対して、所定期間内における次回の通信時刻を通知するサーバ装置の通信時刻通知方法において、前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定するステップと、前記決定した通信時刻の情報を、前記アクセスしてきた端末装置へ通知するステップと、を有することを特徴とする。
本発明によれば、端末装置からアクセスがあったときに、所定期間内で通信時刻として決定されていない連続した時間領域のうちの最大の時間領域に対し、2つの領域に分割する時刻を通信時刻として決定するようにした。これにより、通信システムを構成する端末装置の数を常に把握する必要がなく、また、通信システムに端末装置が新たに参加または離脱する毎に、全ての端末装置に対する新たな通信時刻を再度決定する必要もない。したがって、端末装置からサーバ装置への通信時刻を決定する際の処理負担を軽減し、複数の端末装置からのアクセスの衝突を回避可能なサーバ装置、通信時刻通知方法及びプログラムを実現することができる。
以下、本発明の実施形態について、図面を参照して具体的に説明する。本発明の実施形態は、複数の端末装置及びサーバ装置により構成された通信システムにおいて、端末装置が所定の通信時刻になるとサーバ装置へアクセスして通信(例えば、ログ情報の送信、サーバ装置から必要なデータを取得するための要求情報の送信をいう。以下、「定常通信」という。)を行う場合、サーバ装置にて、複数の端末装置からの情報が衝突しないように通信時刻を決定し、その通信時刻を端末装置へ予め通知するものである。以下、定常通信を行う通信システムの構成について説明し、その後に、情報の衝突を回避するための通信時刻の決定手法について説明する。
[1.通信システム、端末装置及びサーバ装置の構成]
まず始めに、本発明の実施形態における通信システム、端末装置及びサーバ装置の構成について説明する。図1は、本発明の実施形態における通信システムの概略構成を示す図である。図2は、図1の通信システムにおける端末装置の構成を示す図である。図3は、図1の通信システムにおけるサーバ装置の構成を示す図である。
[1.1 通信システム]
まず、通信システムの構成について説明する。図1を参照して、この通信システムは、パーソナルコンピュータ等の複数の端末装置1A,1B,・・・,1J(以下、端末装置を総称する場合及び個々の端末装置を示す場合は、単に「端末装置1」という。)及び1台のサーバ装置10を備えて構成される。端末装置1A,1B,・・・,1Jとサーバ装置10とは、インターネット等のネットワークを介して接続される。
端末装置1は、定常通信を行うタイミングである通信時刻をサーバ装置10から予め受信し、この通信時刻になるとサーバ装置10にアクセスして所定の情報を送信する。また、サーバ装置10は、端末装置1からの定常通信による情報が衝突しないように、すなわち、端末装置1からそれぞれ送信される情報の受信タイミングが重ならないように、定常通信による情報を端末装置1から受信したときに、次回の定常通信を行う通信時刻を決定し、その通信時刻の情報を、定常通信の情報を送信してきた端末装置1へ通知する。
また、この通信システムは、ネットワークを介して接続される複数の端末装置1間で、各端末装置1が保持しているコンテンツ情報を互いに送受信することにより、この通信システムに参加している各端末装置1へコンテンツ情報の配信を可能としたコンテンツ配信システムを実現するものとする。
このようなコンテンツ配信システムでは、図1に示すように、新規に端末装置1Kがコンテンツ配信システムに参加するためには、以下の手順を踏む必要がある。まず、新規に参加する端末装置1K(以下、「新規端末装置1K」という。)は、参加メッセージを送信すべき端末装置1(コンタクトノード)の所在情報を取得するために、その要求メッセージをコンタクトノード紹介装置(図示せず)へ送信し、コンタクトノード紹介装置からコンタクトノードの所在情報(例えば、端末装置1Jの所在情報)を受信する。そして、新規端末装置1Kは、コンタクトノードである端末装置1Jの所在情報を宛先とする参加メッセージを生成して、端末装置1Jへ送信し、各種メッセージの転送先等のルーティングが定義された情報を受信する。このようにして、新規端末装置1Kは、コンテンツ配信システムに参加することができる。この場合、新規端末装置1Kは、他の端末装置1A〜1Jと同様に、所定の通信時刻になるとサーバ装置10に対して定常通信を行う。
尚、図1では、端末装置1Jをコンタクトノードとしているが、端末装置1A〜1I及び新規端末装置1Kも、端末装置1Jと同様にコンタクトノードとして動作することがあり得る。ただし、コンタクトノードとして動作する端末装置は通信システム内にただ1つのみ存在し、複数存在することはない。また、コンタクトノードは通信システムに自由に参加、脱退することもなく、システムの起動時より固定されたノードとして存在する。
[1.2 端末装置]
次に、端末装置1の構成について説明する。図2を参照して、この端末装置1は、CPU(Central Processing Unit)101と、各種プログラムやテーブル等を記憶する書き換え可能な記憶部102と、定常通信を行う通信時刻情報等の各種データを記憶するHDD(ハードディスク装置)103と、ネットワークを介してサーバ装置10との間で通信を行うためのネットワークインタフェース104と、ユーザの操作により所定のデータを入力可能なキーボード105やマウス106等の入力手段を制御する周辺機器制御チップ107と、CPU101からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ109に表示するビデオチップ108と、ビデオチップ108から送信される信号に応じた表示を行う内蔵ディスプレイ109と、FM(Frequency Modulation)音源やウェーブテーブル(Wave Table)音源等を有する音源チップ110と、音源チップ110から出力されるオーディオ信号を音波に変換する内蔵スピーカ111とを備えて構成され、これらの各種構成要素はシステムバス112を介して相互に接続されている。また、CPU101及び記憶部102により制御部130を構成している。
(記憶部102について)
記憶部102には、端末装置1のコンピュータとしての基本的な機能を提供するためのOS(オペレーティングシステム)プログラム120、内蔵ディスプレイ109を制御するための画面制御プログラム121、ネットワークインタフェース104を介してサーバ装置10との間で通信を行う通信プログラム122、サーバ装置10から受信した通信時刻を管理し、定常通信を行う定常通信処理プログラム123、端末装置1がコンタクトノードとして動作する場合に、通信システムに新規に参加する端末装置1に対して定常通信による通信時刻を決定する新規端末装置通信時刻決定プログラム124等が記憶されている。
ここで、OSプログラム120は、CPU101によって読み出されて実行されることにより、コンピュータの基本的な機能として、キーボード105やマウス106の入出力に関する機能、記憶部102やHDD103のメモリ管理に関する機能等を実現するものである。そして、このOSプログラム120がCPU101によって実行された状態で、上述の画面制御プログラム121、通信プログラム122、定常通信処理プログラム123、新規端末装置通信時刻決定プログラム124等が実行される。ただし、新規端末装置通信時刻決定プログラム124が実行されるのは、端末装置1がコンタクトノードとして動作する場合に限られる。
尚、OSプログラム120、画面制御プログラム121、通信プログラム122、定常通信処理プログラム123、新規端末装置通信時刻決定プログラム124等は、例えば、ネットワークに接続されたサーバ等から記憶部102にダウンロードされるようにしてもよく、また、CD−ROM等の記憶媒体に記録されてから当該記憶媒体を介して、記憶部102に読み込まれるようにしてもよい。
(制御部130について)
制御部130は、前述のようにCPU101及び記憶部102から構成され、CPU101が記憶部102に記憶された各種プログラム120〜124等を読み出して実行することにより、端末装置1全体を統括制御する。
ここで、制御部130は、定常通信処理プログラム123により、HDD103から通信時刻を読み出し、通信時刻になったときにサーバ装置10へアクセスして定常通信を行い、所定の情報をサーバ装置10へ送信する手段として機能する。また、サーバ装置10から通信時刻を受信し、この通信時刻を次回の定常通信を行う時刻として、HDD103に保存する手段として機能する。
また、制御部130は、新規端末装置通信時刻決定プログラム124により、当該端末装置1がコンタクトノードとして動作する場合にのみ、サーバ装置10から通信時刻通知済み端末装置数N(通信時刻が通知された端末装置1の数をいう。以下、「通知済み装置数N」という。)を受信する手段として機能する。また、制御部130は、通信システムに新規に参加する端末装置1から参加メッセージを受信すると、通知済み装置数Nをカウントし、通知済み装置数Nに基づいてその新規端末装置1についての通信時刻を決定し、決定した通信時刻を新規端末装置1へ通知し、また、新規端末装置1が参加した旨をサーバ装置10へ通知する手段として機能する。
[1.3 サーバ装置]
次に、サーバ装置10の構成について説明する。図3を参照して、このサーバ装置10は、CPU201と、各種プログラムやテーブル等を記憶する書き換え可能な記憶部202と、定常通信を行う通信時刻情報等の各種データを記憶するHDD203と、ネットワークを介して端末装置1との間で通信を行うためのネットワークインタフェース204と、ユーザの操作により所定のデータを入力可能なキーボード205やマウス206等の入力手段を制御する周辺機器制御チップ207と、CPU201からイメージデータを受け取り後述の内蔵ディスプレイ209に表示するビデオチップ208と、ビデオチップ208からの信号に応じた表示を行う内蔵ディスプレイ209と、FM源等を有する音源チップ210と、音源チップ210からのオーディオ信号を音波に変換する内蔵スピーカ211とを備えて構成され、これらの各種構成要素はシステムバス212を介して相互に接続されている。また、CPU201及び記憶部202により制御部230を構成している。
(記憶部202について)
記憶部202には、サーバ装置10のコンピュータとしての基本的な機能を提供するためのOSプログラム220、内蔵ディスプレイ209を制御するための画面制御プログラム221、ネットワークインタフェース204を介して端末装置1との間で通信を行う通信プログラム222、端末装置1から定常通信の情報を受信すると、端末装置1が定常通信を行う次回の通信時刻を決定し、その通信時刻を通知する定常通信時刻決定プログラム223等が記憶されている。
ここで、OSプログラム220は、CPU201によって読み出されて実行されることにより、コンピュータの基本的な機能として、キーボード205やマウス206の入出力に関する機能、記憶部202やHDD203のメモリ管理に関する機能等を実現するものである。そして、このOSプログラム220がCPU201によって実行された状態で、上述の画面制御プログラム221、通信プログラム222、定常通信時刻決定プログラム223等が実行される。
尚、OSプログラム220、画面制御プログラム221、通信プログラム222、定常通信時刻決定プログラム223等は、例えば、ネットワークに接続されたサーバ等から記憶部202にダウンロードされるようにしてもよく、また、CD−ROM等の記憶媒体に記録されてから当該記憶媒体を介して、記憶部202に読み込まれるようにしてもよい。
(制御部230について)
制御部230は、前述のようにCPU201及び記憶部202から構成され、CPU201が記憶部202に記憶された各種プログラム220〜223等を読み出して実行することにより、端末装置1全体を統括制御する。
ここで、制御部230は、定常通信時刻決定プログラム223により、端末装置1からアクセスがあった場合、その端末装置1における次回の定常通信の通信時刻を、アクセスのあった端末装置1の数に基づいて二分探索法により決定する手段として機能する。二分探索法で次回の通信時刻を決定する手法の詳細については後述する。この通信時刻は、通信時刻情報として管理され、HDD203に保存され、また必要に応じてHDD203から読み出される。また、制御部230は、決定した通信時刻を、アクセスしてきた端末装置1へ通知する手段として機能する。
[2.通信時刻決定及び通知処理における情報の流れ]
次に、サーバ装置10が通信時刻を決定して端末装置1へ通知する処理における一連の情報の流れについて、新規端末装置1が通信システムに参加する場合と、端末装置1が定常通信を行う場合とに分けて説明する。図8は、新規端末装置1が通信システムに参加する場合の情報の流れを示す図である。図8において、コンタクトノードである端末装置1Jは、サーバ装置10から、通知済み装置数Nを受信しているものとする(ステップS801)。詳細については後述する。新規端末装置1Kが通信システムに参加する場合、新規端末装置1Kは、コンタクトノード紹介装置(図示せず)から得たコンタクトノードの所在情報(端末装置1Jの所在情報)により、参加メッセージをコンタクトノードである端末装置1Jへ送信する(ステップS802)。コンタクトノードである端末装置1Jは、参加メッセージを受信すると、通知済み装置数Nをカウント(インクリメント)し(ステップS803)、通知済み装置数Nに基づいて、二分探索法により通信時刻を計算する(ステップS804、図7の通信時刻計算処理のフローを参照、詳細については後述する)。そして、その通信時刻を新規端末装置1Kへ通知する(ステップS805)。これにより、新規端末装置1Kは、通知された通信時刻になると、定常通信を行うことができる。
また、コンタクトノードである端末装置1Jは、新規端末装置1Kが参加した旨をサーバ装置10へ通知する(ステップS806)。サーバ装置10は、新規端末装置1Kが参加した旨の通知を受信すると、通知済み装置数Nをカウントする(ステップS807)。ここで、サーバ装置10が保持する通知済み装置数Nとコンタクトノードである端末装置1Jが保持する通知済み装置数Nとは、常に同じ値になる。
図9は、端末装置1が定常通信を行う場合の情報の流れを示す図である。図9において、端末装置1は、サーバ装置10から通知された通信時刻に到達したことを判定すると(ステップS901)、定常通信の情報をサーバ装置10へ送信する(ステップS902)。サーバ装置10は、定常通信の情報を受信すると、通知済み装置数Nをカウントし(ステップS903)、通知済み装置数Nに基づいて、二分検索法により次回の通信時刻を計算する(ステップS904、図7の通信時刻計算処理のフローを参照、詳細については後述する)。尚、予め設定された通信期間の終了時刻が経過している場合は、通知済み装置数Nを0にリセットする(ステップS903)。
そして、サーバ装置10は、ステップS904において計算した通信時刻を、定常通信の情報を送信してきた端末装置1へ通知する(ステップS905)。これにより、その端末装置1Kは、通知された通信時刻になると、次回の定常通信を行うことができる。
[3.二分探索法による通信時刻の決定手法の概要]
ここで、図8のステップS803及び図9のステップS904における二分探索法による通信時刻の決定手法について、簡単に説明する。図10は、二分探索法により通信時刻を決定する手法を説明するための図である。ここで、通信期間が60分に予め設定されているものとする。図10(1)は、1台の端末装置1Aについて、端末装置1Aの通信時刻が0分であることを示している。通信期間60分内において未だ通信時刻が決定されていない状態では、最初に(1台目の端末装置1Aについて)決定する通信時刻は、通信期間60分の開始時刻0分としている。
図10(2)は、2台の端末装置1A,1Bについて、1台目の端末装置1Aの通信時刻が0分であり、2台目の端末装置1Bの通信時刻が30分であることを示している。通信期間60分内において、(1)に示したように、1台目の端末装置1Aの通信時刻が0分に決定されている状態では、通信時刻として決定されていない連続した時刻の時間領域のうちの最大の時間領域(以下、「最大時間領域」という。)は、0分から60分までの時間領域となる。そこで、2台目の端末装置1Bについて決定する通信時刻は、その最大時間領域(0から60分までの時間領域)を等分の2つに分割する時刻、すなわち30分としている。
図10(3)は、3台の端末装置1A,1B,1Cについて、1台目の端末装置1Aの通信時刻が0分であり、2台目の端末装置1Bの通信時刻が30分であり、3台目の端末装置1Cの通信時刻が15分であることを示している。通信期間60分内において、(2)に示したように、1台目の端末装置1Aの通信時刻が0分に、2台目の端末装置1Bが30分にそれぞれ決定されている状態では、通信時刻として決定されていない連続した時刻の時間領域のうちの最大時間領域は、0分から30分までの時間領域、及び30分から60分までの時間領域となる。そこで、この2つの最大時間領域のうち、通信期間60分の開始時刻0分に最も近い時刻を有する最大時間領域(0分から30分までの時間領域)を選択することにより、3台目の端末装置1Cについて決定する通信時刻は、その最大時間領域(0分から30分までの時間領域)を等分の2つに分割する時刻、すなわち15分としている。
図10(4)は、4台の端末装置1A,1B,1C,1Dについて、1台目の端末装置1Aの通信時刻が0分であり、2台目の端末装置1Bの通信時刻が30分であり、3台目の端末装置1Cの通信時刻が15分であり、4台目の端末装置1Dの通信時刻が45分であることを示している。通信期間60分内において、(3)に示したように、1台目の端末装置1Aの通信時刻が0分に、2台目の端末装置1Bが30分に、3台目の端末装置1Cが15分にそれぞれ決定されている状態では、通信時刻として決定されていない連続した時刻の時間領域のうちの最大時間領域は、30分から60分までの時間領域となる。そこで、4台目の端末装置1Dについて決定する通信時刻は、その最大時間領域(30分から60分までの時間領域)を等分の2つに分割する時刻、すなわち45分としている。
このように、二分探索法による通信時刻は、端末装置1間の通信時刻の間隔を等分の2つに分割し、その間隔を徐々に狭くすることにより決定するものである。つまり、(2)に示したように、端末装置1が2台の場合の通信時刻の間隔は30分となり、(4)に示したように、端末装置1が4台の場合の通信時刻の間隔は15分となる。
[4.端末装置の処理]
次に、端末装置1の処理について説明する。図4は、図2に示した端末装置1による定常通信処理のフローを示す図である。この定常通信処理は、定常通信処理プログラム123により実現される。図4において、定常通信処理が開始すると、制御部130は、HDD103から通信時刻を読み出し、端末装置1が保持する時計タイマーによる時刻情報に基づいて、現在の時刻が通信時刻に到達したか否かを判定する(ステップS401)。通信時刻に到達していないと判定した場合は(ステップS401:N)、通信時刻に到達するまで待つ。一方、通信時刻に到達したと判定した場合は(ステップS401:Y)、定常通信を行う(ステップS402、図9のステップS901及びステップS902)。例えば、定常通信によりログ情報を送信する場合は、制御部130は、HDD103からログ情報を読み出し、そのログ情報を、ネットワークインタフェース104を介してサーバ装置10へ送信する。この場合、制御部130は、サーバ装置10が定常通信であることを認識できるように、定常通信であることを示す識別情報をログ情報に付加して送信する。また、サーバ装置10は、定常通信の情報を受信すると、定常通信の応答に、次の定常通信を行うための通信時刻を付加して通知する。詳細については後述する。
そして、制御部130は、サーバ装置10から定常通信の応答を受信したか否かを判定する(ステップS403)。定常通信の応答を受信していないと判定した場合は(ステップS403:N)、受信するまで待つ。一方、定常通信の応答を受信したと判定した場合は(ステップS403:Y)、その応答に付加された通信時刻を抽出し、HDD103に保存する(ステップS404)。これにより、次回の定常通信を行う通信時刻をサーバ装置10から取得することができ、再び定常通信処理が開始する。
図5は、図2に示した端末装置1による新規端末装置通信時刻決定処理のフローを示す図である。この処理は、端末装置1がコンタクトノードとして動作する場合、新規端末装置通信時刻決定プログラム124により実現される。端末装置1は、サーバ装置10から、予め設定された通信期間内において通信時刻が通知された端末装置1の数(通知済み装置数N)を予め受信しているものとする。詳細については後述する。図5において、制御部130(図1においては端末装置1J)は、新規端末装置1(図1においては端末装置1K)から参加メッセージを受信したか否かを判定する(ステップS501)。参加メッセージを受信していないと判定した場合は(ステップS501:N)、処理を終了し、再度この処理を開始する。一方、参加メッセージを受信したと判定した場合は(ステップS501:Y)、通知済み装置数Nをカウントし(ステップS502)、その通知済み装置数Nに基づいて、新規端末装置1により定常通信が行われる通信時刻を計算する(ステップS503、図8のステップS803及びステップS804、図7の通信時刻計算処理のフローを参照、詳細については後述する)。
制御部130は、ステップS503において計算した通信時刻を新規端末装置1へ通知し(ステップS504、図8のステップS805)、新規端末装置1が通信システムに参加したした旨をサーバ装置10へ通知する(ステップS505、図8のステップS806)。このようにして、参加メッセージを受信したコンタクトノードである端末装置1が、参加メッセージを送信した新規端末装置1の通信時刻を決定し、その通信時刻を新規端末装置1へ通知する。
[5.サーバ装置の処理]
次に、サーバ装置10の処理について説明する。図6は、図3に示したサーバ装置10による定常通信時刻決定処理のフローを示す図である。この定常通信時刻決定処理は、定常通信時刻決定プログラム223により実現される。図6において、端末装置1からアクセスを受けて定常通信時刻決定処理が開始すると、制御部230は、通信システムに参加している端末装置1から定常通信の情報を受信したか否か、また、コンタクトノードの端末装置1から新規端末装置1が参加した旨の通知を受信したか否かを判定する(ステップS601)。端末装置1から定常通信の情報を受信したと判定した場合は(ステップS601:Y)、その受信処理を行う(ステップS602)。一方、コンタクトノードの端末装置1から新規端末装置1が参加した旨の通知を受信したと判定した場合は(ステップS601:N)、その受信処理を行って通知済み装置数Nをカウントし(ステップS609、図8のステップS805及びステップS806)、処理を終了し、端末装置1からのアクセスを待って再度この処理を開始する。
制御部230は、ステップS602の後に、予め設定された通信期間が経過したか否か(通信期間の終了時刻に到着したか否か)を判定する(ステップS603)。通信期間が経過したと判定した場合は(ステップS603:Y)、通知済み装置数Nを0にリセットする(ステップS604、図9のステップS903)。一方、通信期間が経過していないと判定した場合は(ステップS603:N)、通知済み装置数Nをカウントする(ステップS605、図9のステップS903)。
制御部230は、ステップS604またはステップS605の後に、定常通信の情報を送信してきた端末装置1について、次の通信時刻を計算する(ステップS606、図9のステップS904、図7の通信時刻計算処理のフローを参照、詳細については後述する)。そして、計算した通信時刻を、定常通信の情報を送信してきた端末装置1へ通知し(ステップS607、図9のステップS905)、通知済み装置数Nをコンタクトノードの端末装置1へ通知する(ステップS608、図8のステップS801及び図9のステップS906)。そして、処理を終了し、端末装置1からのアクセスを待って再度この処理を開始する。
図7は、図5のステップS503及び図6のステップS606における通信時刻計算処理のフローを示す図である。この通信時刻計算処理は、通知済み装置数Nに基づいて、通信期間内の通信時刻を計算する処理であり、端末装置1の新規端末装置通信時刻決定プログラム124及びサーバ装置10の定常通信時刻決定プログラム223により実現される。
図7において、通信時刻計算処理が開始すると、制御部130または制御部230(以下、制御部130は省略し、単に「制御部230」という。)は、通知済み装置数Nが0であるか、または1以上であるかを判定する(ステップS701)。この通知済み装置数Nは、例えば、通信期間が開始してから最初に通信時刻を決定する場合(最初に定常通信をしてきた端末装置1について通信時刻を決定する場合)に0であり、2番目に定常通信をしてきた端末装置1について通信時刻を決定する場合に1である。制御部230は、通知済み装置数Nが0であると判定した場合(ステップS701:=0)、R(0)を0に設定する(ステップS702)。すなわち、
R(N)=R(0)=0
とする。
ここで、R(N)とは、通信期間のうちの一時点(一時刻)を指す数値であり、具体的には、通信期間を360とした場合の通信時刻を示している。図12は、R(N)を説明するための図である。開始時刻に相当する0°の時刻から終了時刻に相当する360°の時刻までの円周上の1回転を通信期間とした場合、R(N)は、その通信期間に相当する角度360°の円周上において、開始時刻に相当する0°の時刻と、本処理により計算される通信時刻に相当する時刻との間の中心角である。つまり、R(N)及び通信期間によって、通信時刻を計算することができる。
図7に戻って、制御部230は、ステップS701において、通知済み装置数Nが1以上であると判定した場合(ステップS701:≧1)、以下の式を満たす複数のPのうちの最小値(最小の自然数、以下「P」という。)を算出する(ステップS703)。
N<2
そして、ステップS703にて算出した最小値Pを用いて、以下の式を計算する(ステップS704)。
360/2
この式により得られた値は、例えば、P=1の場合に360を2等分した結果である180、P=2の場合に360を4等分した結果である90となる。
そして、制御部230は、以下の式により算出結果が0であるか、または1以上であるかを判定する(ステップS705)。
N−2P−1
算出結果が0であると判定した場合は(ステップS705:=0)、R(N−2P−1)を0に設定する(ステップS706)。すなわち、
R(N−2P−1)=R(0)=0
とする。
一方、算出結果が1以上であると判定した場合は(ステップS705:≧1)、後述するステップS708において、Nの代わりにN−2P−1を用いて、R(N−2P−1)を算出する(ステップS707)。尚、N−2P−1はNよりも小さい値であることから、R(N−2P−1)は既に算出されている。したがって、R(N−2P−1)が保存された記憶手段から読み出すようにしてもよい。
制御部230は、ステップS704による算出結果と、ステップS706またはステップS707による算出結果とを用いて、以下の式によりR(N)を算出する。
R(N)=360/2+R(N−2P−1
そして、制御部230は、ステップS702またはステップS708による結果R(N)を用いて、以下の式により通信時刻を算出する(ステップS709)。
通信時刻=通信期間×R(N)/360
このようにして、通信時刻が通知済み装置数Nに基づいて算出される。
[6.実施例]
次に、各端末装置1の通信時刻を決定する手順について、具体的な通信システムの例を挙げて詳細に説明する。この通信システムは、4台の端末装置1A〜1D及びサーバ装置10により構成され、通信期間は60分とする。図11は、各端末装置1の通信時刻を決定する手順を説明するための図である。図11(1)において、前述したように、4台の端末装置1A〜1Dの場合は15分間隔で定常通信が行われるから、時刻0分から時刻60分までの通信期間において、端末装置1Aが時刻0分に、端末装置1Bが時刻15分に、端末装置1Cが時刻30分に、端末装置1Dが時刻45分にそれぞれ定常通信を行うことになる。尚、端末装置1Eが時刻25分に通信システムに参加し、端末装置1Cが時刻65分に通信システムから離脱するものとする。
以下、各端末装置1の通信時刻を決定する手順について、図5、図6及び図7に示したフローを用いて経過時刻毎に説明する。
まず、経過時刻0分の時点において、端末装置1Aは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Aから定常通信の情報を受信すると、通信期間が経過していると判定して通知済み装置数Nを0にリセットし、端末装置1Aについての次回の通信時刻を計算する(ステップS604,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=0であるから、R(N)=R(0)=0となり(ステップS702)、通信時刻は0分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻60分となる(図11(2)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Aへ通知し、通知済み装置数N(=0)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、経過時刻15分の時点において、端末装置1Bは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Bから定常通信の情報を受信すると、通知済み装置数Nをカウントして1に設定し、端末装置1Bについての次回の通信時刻を計算する(ステップS605,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=1であるから、R(N)=R(1)=180となり(ステップS708)、通信時刻は30分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻90分となる(図11(2)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Bへ通知し、通知済み装置数N(=1)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、経過時刻25分に時点において、端末装置1Eが通信システムに参加する。そうすると、新規端末装置1Eは、コンタクトノード紹介装置から得たコンタクトノードの所在情報(端末装置1Jの所在情報)により、参加メッセージをコンタクトノードの端末装置1へ送信する。コンタクトノードの端末装置1は、参加メッセージを受信すると、通知済み装置数Nをカウントして2に設定し、新規端末装置1Eについての通信時刻を計算する(ステップS502,ステップS503)。図7の通信時刻計算処理により、通知済み装置数N=2であるから、R(N)=R(2)=90となり(ステップS708)、通信時刻は15分となる(ステップS709)。すなわち、通信時刻は、経過時刻に換算すると時刻75分となる(図11(2)を参照)。そして、コンタクトノードの端末装置1は、通信時刻を新規端末装置1Eへ通知し、新規端末装置1Eが参加した旨をサーバ装置10へ通知する(ステップS504,ステップS505)。サーバ装置10は、新規端末装置1Eが参加した旨の通知を受信すると、通知済み装置数Nをカウントして2に設定する(ステップS609)。
次に、経過時刻30分の時点において、端末装置1Cは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Cから定常通信の情報を受信すると、通知済み装置数Nをカウントして3に設定し、端末装置1Cについての次回の通信時刻を計算する(ステップS605,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=3であるから、R(N)=R(3)=270となり(ステップS708)、通信時刻は45分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻105分となる(図11(2)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Cへ通知し、通知済み装置数N(=3)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、経過時刻45分の時点において、端末装置1Dは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Dから定常通信の情報を受信すると、通知済み装置数Nをカウントして4に設定し、端末装置1Dについての次回の通信時刻を計算する(ステップS605,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=4であるから、R(N)=R(4)=45となり(ステップS708)、通信時刻は7.5分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻67.5分となる(図11(2)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Dへ通知し、通知済み装置数N(=4)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。これにより、経過時刻60分から120分までの間の通信期間では、通信対象の端末装置1は端末装置1A〜1Eの5台となる。
次に、経過時刻60分の時点において、端末装置1Aは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Aから定常通信の情報を受信すると、通信期間(0分から60分までの間の通信期間)が経過していると判定して通知済み装置数Nを0にリセットし、端末装置1Aについての次回の通信時刻を計算する(ステップS604,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=0であるから、通信時刻は0分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻120分となる(図11(3)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Aへ通知し、通知済み装置数N(=0)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、経過時刻65分の時点において、端末装置1Cが通信システムから離脱する。そうすると、経過時刻105分に予定されていた端末装置1Cによる定常通信は行われなくなる。
次に、経過時刻67.5分の時点において、端末装置1Dは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Dから定常通信の情報を受信すると、通知済み装置数Nをカウントして1に設定し、端末装置1Dについての次回の通信時刻を計算する(ステップS605,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=1であるから、通信時刻は30分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻150分となる(図11(3)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Dへ通知し、通知済み装置数N(=1)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、経過時刻75分の時点において、端末装置1Eは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Eから定常通信の情報を受信すると、通知済み装置数Nをカウントして2に設定し、端末装置1Eについての次回の通信時刻を計算する(ステップS605,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=2であるから、R(N)=R(2)=90となり(ステップS708)、通信時刻は15分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻135分となる(図11(3)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Eへ通知し、通知済み装置数N(=2)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、経過時刻90分の時点において、端末装置1Bは、定常通信の情報をサーバ装置10へ送信する。サーバ装置10は、端末装置1Bから定常通信の情報を受信すると、通知済み装置数Nをカウントして3に設定し、端末装置1Bについての次回の通信時刻を計算する(ステップS605,ステップS606)。図7の通信時刻計算処理により、通知済み装置数N=3であるから、通信時刻は45分となる(ステップS709)。すなわち、次回の通信時刻は、経過時刻に換算すると時刻165分となる(図11(3)を参照)。そして、サーバ装置10は、通信時刻を端末装置1Bへ通知し、通知済み装置数N(=3)をコンタクトノードの端末装置1へ通知する(ステップS607,ステップS608)。
次に、通信時刻105分の時点において、端末装置1Cは既に通信システムから離脱していることから、端末装置1Cからの定常通信は行われない。これにより、経過時刻120分から180分までの間の通信期間では、通信対象の端末装置1は端末装置1A,1B,1D,1Eの4台となる。
以上のように、本発明の実施形態によれば、サーバ装置10の制御部230が、端末装置1から定常通信の情報を受信すると、二分探索法により、通信期間の中で通信時刻として決定していない連続した時刻を有する最大時間領域を等分の2つの領域に分割し、その分割した時刻を通信時刻に決定し、定常通信の情報を送信してきた端末装置1へ通知するようにした。これにより、各端末装置1が定常通信を行う通信時刻は、未決定の時刻の中から決定されるから、端末装置1間で重なることがない。また、通信期間の中で特定の時間帯に密集することなく、ほぼ均等に分散させることができる。したがって、複数の端末装置1からの定常通信による情報の衝突を効果的に回避することができ、サーバ装置10において、情報の衝突に伴う処理負担を軽減することができる。また、処理負担の軽減に伴い、サーバ装置10の設備を増強する必要がなく、コストを削減することができる。
また、本発明の実施形態によれば、サーバ装置10の制御部230が、図7の通信時刻計算処理フローに示したように、簡単な四則演算を用いた二分検索法によって通信時刻を決定するようにした。これにより、通信時刻は簡易な手法により決定されるから、サーバ装置10の処理負担を軽減することができる。
また、本発明の実施形態によれば、通信システムに新規端末装置1が参加した場合には、コンタクトノードの端末装置1が、通知済み装置数Nに基づいて新規端末装置1の通信時刻を決定し、その通信時刻を新規端末装置1へ通知するようにした。また、通信システムから端末装置1が離脱した場合には、サーバ装置10は、その離脱に伴う処理は行わない。これにより、端末装置1が通信システムに参加または通信システムから離脱した場合であっても、サーバ装置10は、通信システムに参加している端末装置1の台数を常に監視する必要がなく、参加または離脱に伴う特別な処理を行う必要もない。また、全ての端末装置1の通信時刻を再度決定する必要もない。これにより、サーバ装置10の処理負担を軽減することができる。
[7.変形例]
次に、複数の端末装置1と1台のサーバ装置10とにより構成される通信システムにおいて、サーバ装置10が、複数の端末装置1を2つのグループに分類し、各グループで独立して通信時刻を決定する場合について説明する。いま、2つのグループのうち、第1のグループ(通信Aグループ)は、通信期間が60分に設定され、4台の端末装置1を通信対象としており、第2のグループ(通信Bグループ)は、通信期間が30分に設定され、4台の端末装置1を通信対象としているものとする。
図13(1)は、通信Aグループ及び通信Bグループの定常通信が衝突する例を説明するための図である。図13(1)に示すように、通信Aグループ及び通信Bグループの通信期間の開始時刻が同じであるときは、時刻0分、時刻15分、時刻30分等の15分毎に、通信Aグループによる定常通信と通信Bグループによる定常通信とが同じタイミングになり、送信情報が衝突してしまうことがわかる。このようなグループ間の衝突を回避するためには、一方のグループの通信時刻に対する他方のグループの通信時刻を、所定時間分ずらすようにすればよい。
図13(2)は、通信Aグループ及び通信Bグループの定常通信が衝突しない例を説明するための図である。図13(2)に示すように、通信Aグループを構成する4台の端末装置1の通信時刻を、所定時間Tだけ遅くなるようにプラス方向にずらしている。ここで、通信Aグループの通信時刻の間隔は15分であり、通信Bグループの通信時刻の間隔は7.5分であるから、狭い通信時刻の間隔を有するグループは通信Bグループである。したがって、狭い通信時刻の間隔を有する通信Bグループの間隔7.5分未満の時間を所定時間Tとして、広い通信時刻の間隔を有する通信Aグループの通信時刻を、所定時間T文ずらすようにする。この所定時間T内であれば、通信Aグループの通信時刻は通信Bグループの通信時刻に重なることはない。
したがって、狭い通信時刻の間隔を有する通信Bグループの間隔未満の時間を所定時間Tとし、広い通信時刻の間隔を有する通信Aグループの通信時刻を、プラス方向またはマイナス方向に所定時間Tだけずらすようにすればよい。これにより、グループ間における定常通信による情報の衝突を避けることができる。
具体的には、図3に示したサーバ装置10の構成図において、サーバ装置10は、通信Aグループ用及び通信Bグループ用の2つの定常通信時刻決定プログラム223−A,223−Bを保持している。また、図6に示した定常通信時刻決定処理も、定常通信時刻決定プログラム223−A,223−Bによりそれぞれ独立して実現される。通信Bグループ用の定常通信時刻決定プログラム223−Bによる処理は、前述した図6の処理と同様である。これに対し、通信Aグループ用の定常通信時刻決定プログラム223−Aによる処理は、図6のステップS606において、通信時刻を計算した後、所定時間T分ずらして新たな通信時刻を決定する。この場合、通信Aグループの通信期間の開始時刻を通信Bグループの通信期間の開始時刻を基準として、所定時間Tだけずらすようにしてもよい。
以上のように、本発明の実施形態によれば、複数の端末装置1を通信Aグループ及び通信Bグループの2つに分類し、各グループで独立した通信時刻が決定される場合、サーバ装置10の制御部230が、狭い通信時刻の間隔を有する通信Bグループの間隔未満の時間を所定時間Tとし、広い通信時刻の間隔を有する通信Aグループの通信時刻を、プラス方向またはマイナス方向に所定時間Tだけずらして決定するようにした。これにより、通信Aグループの通信時刻と通信Bグループの通信時刻とは同じタイミングなることがない。したがって、端末装置1間における定常通信による情報の衝突を回避することができることに加えて、グループ間における情報の衝突も回避することができる。
以上、本発明の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。例えば、前記実施形態では、複数の端末装置1及びサーバ装置10により構成され、端末装置1が所定の通信時刻になるとサーバ装置10へ定常通信を行う通信システムを対象としていることから、本発明は、例えば、ネットワークを介してそれぞれ接続された複数の端末装置1間で、各端末装置1が保持しているコンテンツ情報を互いに送受信することにより、端末装置1へのコンテンツ情報の配信を可能としたコンテンツ配信システムに対しても適用がある。また、例えば、コンテンツ配信装置を頂点として複数の端末装置1を階層構造で多層に接続し、コンテンツ配信装置から端末装置1へのコンテンツ情報の配信を可能としたコンテンツ配信システムに対しても適用がある。
また、前記実施形態では、図10(2)に示したように、1台目の端末装置1Aの通信時刻が0分に、2台目の端末装置1Bが30分にそれぞれ決定されている状態では、通信時刻として決定されていない連続した時刻の時間領域のうちの最大時間領域は、0分から30分までの時間領域、及び30分から60分までの時間領域となる。サーバ装置10の制御部230は、3台目の端末装置1Cの通信時刻の決定に際し、図10(3)に示したように、この2つの最大時間領域のうち、通信期間60分の開始時刻0分に最も近い時刻を有する最大時間領域(0分から30分までの時間領域)を選択し、その最大時間領域(0分から30分までの時間領域)を等分の2つに分割する時刻、すなわち30分を通信時刻として決定するようにしたが、本発明はこれに限定されるものではない。すなわち、2つの最大時間領域のうち任意に最大時間領域を選択するようにしてもよいし(例えば、30分から60分までの時間領域を選択するようにしてもよいし)、最大時間領域を2つに不等分に分割する時刻、例えば10分を通信時刻として決定するようにしてもよい。
また、前記実施形態では、図11(2)に示したように、端末装置1が5台の場合、5台目の端末装置1Dの通信時刻が時刻67.5分に決定されている。この状態で、サーバ装置10の制御部230は、6台目の端末装置1の通信時刻として時刻82.5分または時刻102.5分に決定するのではなく、時刻97.5分に決定するようにしてもよい。これにより、通信時間60分内において、通信時刻の密集を一層避けることができ、通信時刻を最も効果的に分散させることができる。したがって、複数の端末装置1からの定常通信による情報の衝突を効果的に回避することができ、サーバ装置10において、情報の衝突に伴う処理負担を一層軽減することができる。
本発明の実施形態における通信システムの概略構成を示す図である。 端末装置の構成を示す図である。 サーバ装置の構成を示す図である。 端末装置による定常通信処理のフローを示す図である。 端末装置による新規端末装置通信時刻決定処理のフローを示す図である。 サーバ装置による定常通信時刻決定処理のフローを示す図である。 サーバ装置による通信時刻計算処理のフローを示す図である。 新たな端末装置が追加された場合の情報の流れを示す図である。 端末装置が定常通信を行う場合の情報の流れを示す図である。 二分探索法による通信時刻の決定手法の概要を説明する図である。 端末装置の参加及び離脱に伴って決定される通信時刻を説明する図である。 サーバ装置による通信時刻計算処理の説明を補助する図である。 2つのグループにより構成される通信システムにおいて、グループ間で定常通信が衝突する例(1)、及び衝突しない例(2)を説明する図である。 従来の通信システムの概要を説明する図である。 従来の通信システムにおいて決定した通信時刻を説明する図である。 図15において、新たな端末装置が1台参加した場合の通信時刻を説明する図である。
符号の説明
1,1001 端末装置
10,1010 サーバ装置
101,201 CPU
102,202 記憶部
123 定常通信処理プログラム
124 新規端末装置通信時刻決定プログラム
223 定常通信時刻決定プログラム
130,230 制御部

Claims (8)

  1. 複数の端末装置からそれぞれ指定した通信時刻にアクセスさせ、前記複数の端末装置との通信を所定期間毎に行うサーバ装置において、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定手段と、
    前記決定手段により決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知手段と、を備え
    前記決定手段は、前記最大時間領域を等分の2つに分割する時刻を、前記通信時刻として決定することを特徴とするサーバ装置。
  2. 複数の端末装置からそれぞれ指定した通信時刻にアクセスさせ、前記複数の端末装置との通信を所定期間毎に行うサーバ装置において、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定手段と、
    前記決定手段により決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知手段と、を備え、
    前記決定手段は、前記最大時間領域が複数存在する場合に、選択した最大時間領域に対して2つの領域に分割し、前記通信時刻として決定した結果、前記所定時間に対する通信時刻が最も分散するように前記最大時間領域を選択することを特徴とするサーバ装置。
  3. 前記決定手段は、前記所定期間内でアクセスがあった前記端末装置の数をカウントし、そのカウント数に基づいて前記最大時間領域を選択することを特徴とする請求項2に記載のサーバ装置。
  4. 複数の端末装置からそれぞれ指定した通信時刻にアクセスさせ、前記複数の端末装置との通信を所定期間毎に行うサーバ装置において、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定手段と、
    前記決定手段により決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知手段と、を備え、
    前記決定手段は、前記最大時間領域が複数存在する場合に、これらの最大時間領域のうち前記所定期間の開始時刻に最も近い時刻を有する最大時間領域を選択し、当該選択した最大時間領域に対して2つの領域に分割する時刻を、前記通信時刻として決定することを特徴とするサーバ装置。
  5. 複数の端末装置からそれぞれ指定した通信時刻にアクセスさせ、前記複数の端末装置との通信を所定期間毎に行うサーバ装置のコンピュータに、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定ステップと、
    前記決定ステップにおいて決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知ステップと、を実行させ、
    前記決定ステップにおいては、前記最大時間領域を等分の2つに分割する時刻を、前記通信時刻として決定することを特徴とするプログラム。
  6. アクセスしてきた端末装置に対して、所定期間内における次回の通信時刻を通知するサーバ装置の通信時刻通知方法において、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定ステップと、
    前記決定ステップにおいて決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知ステップと、を含み、
    前記決定ステップにおいては、前記最大時間領域を等分の2つに分割する時刻を、前記通信時刻として決定することを特徴とする通信時刻通知方法。
  7. 複数の端末装置からそれぞれ指定した通信時刻にアクセスさせ、前記複数の端末装置との通信を所定期間毎に行うサーバ装置のコンピュータに、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定ステップと、
    前記決定ステップにおいて決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知ステップと、を実現させ、
    前記決定ステップにおいては、前記最大時間領域が複数存在する場合に、これらの最大時間領域のうち前記所定期間の開始時刻に最も近い時刻を有する最大時間領域を選択し、当該選択した最大時間領域に対して2つの領域に分割する時刻を、前記通信時刻として決定することを特徴とするプログラム。
  8. アクセスしてきた端末装置に対して、所定期間内における次回の通信時刻を通知するサーバ装置の通信時刻通知方法において、
    前記端末装置からアクセスがあった場合、前記所定期間内で前記通信時刻として決定されていない連続した時刻を有する時間領域のうち、最大の時間領域を最大時間領域とし、前記最大時間領域を2つの領域に分割する時刻を、前記通信時刻として決定する決定ステップと、
    前記決定ステップにおいて決定された通信時刻の情報を、前記アクセスしてきた端末装置へ通知する通知ステップと、を含み、
    前記決定ステップにおいては、前記最大時間領域が複数存在する場合に、これらの最大時間領域のうち前記所定期間の開始時刻に最も近い時刻を有する最大時間領域を選択し、当該選択した最大時間領域に対して2つの領域に分割する時刻を、前記通信時刻として決定することを特徴とする通信時刻通知方法。
JP2007216422A 2007-08-22 2007-08-22 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム Expired - Fee Related JP5029214B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007216422A JP5029214B2 (ja) 2007-08-22 2007-08-22 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007216422A JP5029214B2 (ja) 2007-08-22 2007-08-22 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009048571A JP2009048571A (ja) 2009-03-05
JP5029214B2 true JP5029214B2 (ja) 2012-09-19

Family

ID=40500694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007216422A Expired - Fee Related JP5029214B2 (ja) 2007-08-22 2007-08-22 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5029214B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011002932A (ja) * 2009-06-17 2011-01-06 Brother Industries Ltd コンテンツ配信システム、及びそのノード装置及び情報処理装置、並びにコンテンツデータの配信方法
WO2019021612A1 (ja) 2017-07-24 2019-01-31 パナソニックIpマネジメント株式会社 ログ取得装置、通信モジュール、ログ取得システム、および、ログ取得方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000332767A (ja) * 1999-05-14 2000-11-30 Sony Corp 通信方法、通信システムおよび通信装置
JP2002366365A (ja) * 2001-03-30 2002-12-20 Matsushita Electric Ind Co Ltd データ取得装置、ダウンロードサーバおよびトリガサーバ
JP2006050126A (ja) * 2004-08-03 2006-02-16 Matsushita Electric Ind Co Ltd 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法
JP2006119707A (ja) * 2004-10-19 2006-05-11 Matsushita Electric Ind Co Ltd 情報端末装置、情報取得方法およびプログラム
JP4597706B2 (ja) * 2005-02-25 2010-12-15 パナソニック株式会社 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法
JP2007013697A (ja) * 2005-06-30 2007-01-18 Victor Co Of Japan Ltd 画像受信装置及び画像受信方法

Also Published As

Publication number Publication date
JP2009048571A (ja) 2009-03-05

Similar Documents

Publication Publication Date Title
KR102349133B1 (ko) 관리된 무선 분산 네트워크에서의 콘텐츠 탐색 기법
Seada et al. On the effect of localization errors on geographic face routing in sensor networks
CN106464720B (zh) 一种在被管理无线分发网络中分发内容的方法和设备
KR101871383B1 (ko) 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템
JP4840334B2 (ja) 端末装置、通信システム、プログラム及び方法
JP2010078529A (ja) 端末装置及びその時刻調整方法
TW201108792A (en) Methods and apparatus for processing discovery signals and/or controlling alert generation
JP4673427B2 (ja) ネットワーク構成調査装置及びネットワーク構成調査プログラム、並びにネットワーク構成管理方法及びネットワーク構成管理システム
JP5029214B2 (ja) 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム
US20200089696A1 (en) Recording and sharing travel experiences
CN109120515B (zh) 通信系统中的信息处理方法、装置、介质和计算设备
Quercia et al. Nurturing social networks using mobile phones
JP2009157437A (ja) 分散記憶システム
JP2017062711A (ja) 通信方法、通信プログラムおよび情報処理装置
JP2019097037A (ja) 情報処理システム及びデータ処理方法
CN111111216A (zh) 一种匹配方法、装置、服务器及存储介质
KR101944594B1 (ko) 분산 네트워크 시스템에서 컨센서스에 참여하는 서버 및 컨센서스 참여 방법
JP2008219431A (ja) データ配信システム及び端末装置及び情報処理方法及びプログラム。
JP4858361B2 (ja) 通信時刻を通知するサーバ装置、通信時刻通知方法及びプログラム
KR102004503B1 (ko) 게임 알림 방법과 이를 실행하기 위한 클라이언트, 서버 및 IoT 장치
EP3314871A2 (en) Group management of devices methods, apparatuses, and systems
JP5404975B1 (ja) 通信装置及び通信方法及びプログラム
JP5505998B2 (ja) 通信装置、経路選択方法及びプログラム
JP2009075975A (ja) 通信時刻を決定する端末装置、通信時刻決定方法及びプログラム
JP7141263B2 (ja) 通信制御装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120611

R150 Certificate of patent or registration of utility model

Ref document number: 5029214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees