(57)【特許請求の範囲】
【請求項１】
所定周期ごとに 送信データとして 前記所定周期を示した送信周期設定情報と所要データとをサーバに定期的に送信する複数のデバイスと、
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信する複数のデバイスと、
各デバイスから送信された送信データを逐次蓄積すると共に、各デバイスから要求されたアップロード／ダウンロードを受け付けるサーバと、
を含み、
前記サーバは、各デバイスから送信された送信データを受信した際に、前記送信周期設定情報を取得し、当該送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定すると共に、該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻である場合、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を通知し、
また、前記サーバは、各デバイスから送信された予備情報を受信した際に、予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知し、
前記サーバから調整値を設定する命令を受けたデバイスは、該調整値を送信周期設定情報に加えたタイミングに成った際に、次回の送信データを送信し、
また、前記サーバから調整値を設定する命令を受けたデバイスは、該調整値をアップロード時刻／ダウンロード時刻に加えたタイミングに成った際に、アップロード／ダウンロードを実行する
ことを特徴とする通信システム。
【請求項２】
請求項１記載の通信システムであって、
前記サーバは、所定量の推定処理負荷／推定同時アクセス数／帯域余力を超えた際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを開始し、
所定量の推定処理負荷／推定同時アクセス数／帯域余力を下回った際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを停止する
ことを特徴とする通信システム。
【請求項３】
所定周期ごとに 送信データとして 前記所定周期を示した送信周期設定情報と所要データとを定期的に送信するデバイス群の何れかから送信された送信データを受信した際に、
各送信データの所要データを逐次蓄積すると共に、
前記送信周期設定情報を取得し、
当該送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定し、
該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を生成し、
該当したデバイスの何れかに生成した調整値を設定する命令を通知し、
また、ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群の何れかから送信された前記予備情報を受信した際に、
予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する、
ことを特徴とするサーバ装置。
【請求項４】
請求項３記載のサーバ装置であって、
前記サーバ装置は、所定量の推定処理負荷／推定同時アクセス数／帯域余力を超えた際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを開始し、
所定量の推定処理負荷／推定同時アクセス数／帯域余力を下回った際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを停止する
ことを特徴とするサーバ装置。
【請求項５】
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも予定開始時刻を示した予備情報を要求先のサーバに送信すると共に、
前記サーバからアップロード／ダウンロードの予定開始時刻に加える調整値を設定する命令を受け付けた場合、該調整値をアップロード／ダウンロードの予定開始時刻に加えてアップロード／ダウンロードを実行するタイミングを計る
ことを特徴とするデバイス装置。
【請求項６】
サーバは、
デバイス群各々から、所定周期ごとに前記所定周期を示した送信周期設定情報と所要データとを送信データとして受け付け、
各送信データの所要データを逐次蓄積すると共に、
各送信データの送信周期設定情報を逐次取得し、
取得した送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定し、
該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を生成し、
該当したデバイスの何れかに生成した調整値を設定する命令を通知し、
また、前記サーバは、
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群の何れかから送信された前記予備情報を受信し、
当該予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する、
ことを特徴とするサーバ負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置と 当該サーバ装置にパケット交換ネットワークを介してアクセスする多数のデバイス装置とを含み構成される通信システムに関する。
【背景技術】
【０００２】
多くの通信システム（コンピュータシステム）は、数多くのデバイスから定期的にデータをサーバに送信して、サーバがデータ収集する仕組みを有している。
【０００３】
このような仕組みは、例えば特許文献１又は２に記載されている。
【０００４】
特許文献１に記載された通信システムは、複数の端末とサーバによって構成され、各端末にサーバと通信（接続）する動作タイミングを設定して記憶し、各端末とサーバ相互が各端末に記憶されている通信タイミングに基づいて所要データの授受を実施する。また、サーバは、各端末にその端末に関する動作タイミングを、その端末に接続中にネットワークを介して設定する仕組みも開示されている。なお、この文献の通信システムは、移動体通信方式（PHS（Personal Handy-phone System）方式）を用いて、水道メータ、ガスメータに接続された端末からのデータを収集するために使用されている。また、特許文献１は、各端末の稼働時間の延長（通信機能の停止による省電力化）を図ることを企図しているが、回線交換方式であるがために回線利用率が低い。
【０００５】
他方、特許文献２は、修正用ソフトウェアを移動通信端末へダウンロードするパケット通信方式のシステム構成の通信システムを開示している。この通信システムは、多くの端末と配信サーバによって構成された通信システムであって、各ユーザが同時的に端末の更新（アップデート）を実行することを予防する仕組みが開示されている。具体的には、配信サーバは、各端末の更新有無をユーザに知らせる通知を配信サーバから各端末に通知する際に、更新の発生をユーザに通知するアイコン（更新通知アイコン）表示タイミングを定めるアイコン起動時刻を端末毎に管理する。各端末は、通知されたアイコン起動時刻に更新通知アイコンを表示して、更新をユーザに促す。ユーザ毎にアイコン表示タイミングを分散させることで、結果的に、各ユーザが自己の端末を更新する時間帯が分散する。しかしながら、実際に更新タイミングが分散するか否かは各ユーザの更新操作の操作次第である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１３４１４４号公報
【特許文献２】特開２００７−３１０６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１は、水道メータ、ガスメータから送信されるデータのように、送信間隔が長いデータを管理するには適しているが、データを定期的に且つ短い時間間隔で送信するシステムについて考慮していない。このため、特許文献１は、多数の端末からのデータが同時に多量に送信される場合における問題について検討していない。
【０００８】
特許文献２は、サーバ側から端末に対して修正ソフトウェアを提供するための方式を開示しているだけで、複数の端末からサーバ側に同時にデータを送信する場合における問題等について述べていない。
【０００９】
最近、カメラ、センサ等の多数のデバイスからのデータをサーバ等によって処理するM2M (Machine to Machine), IoT (Internet of Things)等の通信システムが注目を浴びている。このような通信システムでは、サーバで数多くのデバイスからのデータを漏れなく処理することが求められるものと考えられる。
【００１０】
カメラ、センサ等のデバイスの数が多くなればなるほど、デバイスからのデータは同時的にサーバに送信されることがより多くなるものことが懸念される。
【００１１】
一方、サーバは、各種デバイスからのデータをリアルタイムに処理することは必ずしも必要としないことが多い。他方で、上記デバイスからのデータは、サーバによって定期的及び周期的に監視や検索などでほぼリアルタイムに利用する場合もある。
【００１２】
このような通信システムにおいては、多数のデバイスの送信タイミングが可能な限り重ならないような対策を講じておく必要があるものと考えられる。
【００１３】
サーバ管理下に置くデバイス台数を更に増やして行くと、設定情報を操作して各デバイスが所要データを送信するタイミングを調整したとしても、同時にサーバにアクセスするデバイスの数が順次増えることになる。この結果、サーバ許容処理能力（通信量、記録、演算、など）を増強する必要が生じる。仮にこの対策を怠った場合、サーバ許容処理能力を超えた時にデータ損失を生じる。
【００１４】
このため、更なるデバイスの同時アクセス数を許容するには、このような瞬間的なサーバへの負荷を、デバイス群の所要データの送信タイミング調整により根本的に抑制する仕組みが求められる。
【００１５】
本発明は、上記課題に鑑みて成されたものであり、瞬間的なサーバへの負荷集中を予防して、デバイスのアクセス許容数を増加可能に構成された通信システムの提供を目的とする。
【課題を解決するための手段】
【００１６】
本発明の一実施形態に係る通信システムは、所定周期ごとに 送信データとして 前記所定周期を示した送信周期設定情報と所要データとをサーバに定期的に送信するデバイス群と、各デバイスから送信された送信データを逐次蓄積するサーバと、を含み、前記サーバは、各デバイスから送信された送信データを受信した際に、前記送信周期設定情報を取得し、当該送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定すると共に、該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を通知し、前記サーバから調整値を設定する命令を受けたデバイスは、該調整値を送信周期設定情報に加えたタイミングに成った際に、次回の送信データを送信することを特徴とする。
【００１７】
本発明の一実施形態に係る通信システムは、ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群と、各デバイスから要求されたアップロード／ダウンロードを受け付けるサーバと、を含み、前記サーバは、各デバイスから送信された予備情報を受信した際に、予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知し、前記サーバから調整値を設定する命令を受けたデバイスは、該調整値をアップロード時刻／ダウンロード時刻に加えたタイミングに成った際に、アップロード／ダウンロードを実行することを特徴とする。
【００１８】
本発明の一実施形態に係るサーバ装置は、所定周期ごとに 送信データとして 前記所定周期を示した送信周期設定情報と所要データとを定期的に送信するデバイス群の何れかから送信された送信データを受信した際に、各送信データの所要データを逐次蓄積すると共に、前記送信周期設定情報を取得し、当該送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定し、該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を生成し、該当したデバイスの何れかに生成した調整値を設定する命令を通知する、ことを特徴とする。
【００１９】
本発明の一実施形態に係るサーバ装置は、ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群の何れかから送信された前記予備情報を受信した際に、予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する、ことを特徴とする。
【００２０】
本発明の一実施形態に係るデバイス装置は、所定周期ごとにサーバに送信する所要データを収集し 且つ 該所要データと共に前記所定周期を示した送信周期設定情報を前記サーバに送信データとして定期的に送信すると共に、前記サーバから送信周期設定情報に加える調整値を設定する命令を受け付けた場合、該調整値を送信周期設定情報に加えて前記所定周期を管理して、次回の送信データを送信するタイミングを計ることを特徴とする。
【００２１】
本発明の一実施形態に係るデバイス装置は、ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも予定開始時刻を示した予備情報を要求先のサーバに送信するすると共に、前記サーバからアップロード／ダウンロードの予定開始時刻に加える調整値を設定する命令を受け付けた場合、該調整値をアップロード／ダウンロードの予定開始時刻に加えてアップロード／ダウンロードを実行するタイミングを計ることを特徴とする。
【００２２】
本発明の一実施形態に係るサーバ負荷分散方法は、サーバは、デバイス群各々から、所定周期ごとに前記所定周期を示した送信周期設定情報と所要データとを送信データとして受け付け、各送信データの所要データを逐次蓄積すると共に、各送信データの送信周期設定情報を逐次取得し、取得した送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定し、該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を生成し、該当したデバイスの何れかに生成した調整値を設定する命令を通知する、ことを特徴とする。
【００２３】
本発明の一実施形態に係るサーバ負荷分散方法は、サーバは、ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群の何れかから送信された前記予備情報を受信し、当該予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する、ことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、瞬間的なサーバへの負荷集中を予防して、デバイスのアクセス許容数を増加可能に構成された通信システムを提供できる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施形態の通信システム１を示す概略図である。
【図２】通信システム１のサーバ１０の構成を示す機能ブロック図である。
【図３】通信システム１のデバイス２０の構成を示す機能ブロック図である。
【図４】通信システム１の各デバイス２０の送信データの送信タイミング調整に係る各構成要素の関係を示した説明図である。
【図５】サーバ１０の記憶部１３に記憶されているデバイス情報テーブルを可視的に示した説明図である。
【図６】サーバ１０の動作を示したフローチャート例である。
【図７】デバイス２０の動作を示したフローチャート例である。
【図８】第２の実施形態の通信システム１を示す概略図である。
【図９】サーバ１０’の動作を示したフローチャート例である。
【図１０】デバイス２０’の動作を示したフローチャート例である。
【発明を実施するための形態】
【００２６】
本発明の実施形態を図面に基づいて説明する。
【００２７】
［第１の実施形態］ 
図１は、一実施形態の通信システム１を示す概略図である。図１に示されるようにこの通信システム１には、データを蓄積管理するサーバ１０と、数多くのデバイス２０（図中のデバイス１からデバイスＮ）とが含まれる。サーバ１０と各デバイス２０は、ネットワーク（パケット通信）を介して通信可能である。なお、ネットワーク構成は特に限定しない。Wi-Fi（登録商標）、LAN（Local Area Network）、移動体通信などの通信インフラを、適宜組み合わせて使用すればよい。
【００２８】
図２は、通信システム１のサーバ１０の構成を示す機能ブロック図である。なお、サーバ１０は、各デバイス２０から各々のタイミングで通知されてくる送信データから所要データを取り出して蓄積管理するがこの部分については説明を省略する。所要データの種別やデータ量については特に限定しない。
【００２９】
サーバ１０は、図２に示すように、データ受信部１１と、受信データ解析部１２と、記憶部１３と、受信時刻算出部１４と、データ受信時刻調整部１５と、制御情報送信部１６とを具備する。各構成要素は以下のように動作するように構成されている。
【００３０】
データ受信部１１は、各デバイス２０からの送信データを逐次受信する。
【００３１】
受信データ解析部１２は、受信したデータの内容を解析して所要データと設定情報を取り出す。この設定情報には、送信元のデバイス２０に送信データの送信するように設定された周期が記載されている。すなわち、設定情報には、送信周期設定情報が含まれている。
【００３２】
記憶部１３には、各デバイス２０の送信データ群（所要データ群）と各デバイス２０の設定情報（送信周期設定情報）とが区別されてそれぞれ格納される。この際、各デバイスの設定情報の内容は、デバイス情報テーブルに記録される。なお、サーバ１０（受信データ解析部１２）は、特に限定しないものの、送信データのヘッダ等に含まれるデバイスＩＤ（Device Identification）を用いて、送信元デバイスを識別すればよい。デバイスＩＤに変えて、ＩＰアドレス（Internet Protocol Address）や他の識別符号を用いることとしてもよい。
【００３３】
受信時刻算出部１４は、各デバイス２０からの送信データの受信時刻と該当デバイス２０が送信した設定情報（送信周期設定情報）の周期から次回のデータ受信時刻を算出する。
【００３４】
データ受信時刻調整部１５は、算出したあるデバイス２０の次回のデータ受信時刻と、残りの全デバイスの次回の推定受信時刻とを確認する。そして、データ受信時刻調整部１５は、算出した次回の受信時刻が他のデバイスの次回の推定受信時刻と同時刻であった場合、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令（調整値を含む制御情報）を生成する。
【００３５】
制御情報送信部１６は、生成した制御情報を、該当したデバイスの一方に送信する。このことで、全デバイス２０と処理中のデバイス２０との送信時刻の重複タイミングが調整される。
【００３６】
これらの構成が連動して、サーバ１０は、デバイス２０が使用した設定情報を各々から逐次取得し、各デバイス２０から通知された各設定情報に基づいて、負荷の集中を抑制することに必要なデバイス２０に対して送信タイミングを調整する調整値を通知する。この調整値を通知することで、各デバイス２０のデータ送信タイミングを少しずつ変更する。このことによって、結果的に、数多くのデバイス２０から送信される数多くのデータをサーバ１０で受信するタイミングが少しずる分散し、各時点における受信タイミングの負荷量の低減が図れる。
【００３７】
図３は、通信システム１のデバイス２０の構成を示す機能ブロック図である。なお、各デバイス２０は、各々のタイミングで通知する送信データの所要データを生成するが、この部分については説明を省略する。
【００３８】
デバイス２０は、図３に示すように、制御情報受信部２１と、受信制御情報解析部２２と、記憶部２３と、周期タイマー監視部２４と、データ収集部２５と、データ送信部２６とを具備する。各構成要素は以下のように動作するように構成されている。
【００３９】
制御情報受信部２１は、サーバ１０から制御情報（必要に応じて調整値や送信周期が含まれる）を受信する。
【００４０】
受信制御情報解析部２２は、受信した制御情報を解析して調整値や送信周期を取り出して、記憶部２３に登録する。
【００４１】
記憶部２３は、入力された設定情報（調整値や送信周期が含まれる）を記憶し管理する。
【００４２】
周期タイマー監視部２４は、収集したデータ（デバイス送信データ，所要データ）の送信タイミングを管理する。
【００４３】
データ収集部２５は、また、上記構成要素の処理動作と並行的に、サーバ１０に対して送信する収集データ（所要データ）を生成する。なお、規定タイミングに応じてデータ収集部２５が動作してもよい。
【００４４】
周期タイマー監視部２４は、収集したデータ（デバイス送信データ，所要データ）の送信タイミングを調整する。
【００４５】
データ送信部２６は、サーバ１０に収集データと設定情報を関連付けて送信する。
【００４６】
設定情報入力部２７は、設定情報を外部（ユーザや他の機器）から入力を受け付けて、記憶部２３に登録する。なお、制御情報の登録は、サーバ１０からは制御情報受信部２１を介して登録される。
【００４７】
これらの構成が連動して、各デバイス２０は、サーバ１０から調整値を含む制御情報を受信した場合に、受信制御情報解析部２２でサーバ１０から調整値を取得し、その調整値を記憶部２３に登録する。そして、各デバイス２０は、周期タイマー監視部２４を用いて、登録された設定情報に従って、次回の送信データを送信する。なお、各デバイス２０は、サーバ１０から調整値を含む制御情報を受信しない場合、周期タイマー監視部２４で登録された設定情報に従って、次回の送信データを送信する。
【００４８】
図４は、通信システム１の各デバイス２０の送信データの送信タイミング調整に係る各構成要素の関係を示した説明図である。
【００４９】
各デバイス２０は各々、設定情報を参照して、送信周期設定情報で規定された間隔毎に定期的にサーバ１０に対して所要データを送信する。この際、各デバイス２０は、所要データと共に設定情報（少なくとも送信周期設定情報）を併せて送信データとしてサーバ１０に送信する。この設定情報は、各デバイス２０のユーザや、ユーザが使用するサービスベンダーが設定することを想定する。
【００５０】
サーバ１０は、データ受信部１１にて受信した各受信データから、各デバイス２０の送信周期設定情報を取得する。そして、サーバ１０は、受信時刻算出部１４において各デバイス２０から受信データを受信した時刻を参照して 次に当該デバイスから送信データが到達する時刻を推定し、デバイス管理テーブルのデータ送信推定時刻に記録する。
【００５１】
次に、サーバ１０は、データ受信時刻調整部１５において、テーブルに記載済みの他のデバイス２０のデータ送信推定時刻（上記手法と同様に他のデバイス２０の送信データの受信時に記載）を参照し、同じ時刻にデータを送信する他のデバイス２０があるか検索する。
【００５２】
同じ時刻にデータを送信するデバイスが存在した場合、サーバ１０は、該当したデバイス２０に対して、次の送信時間の微調整を指示する制御情報（調整値）を、制御情報送信部１６を介して送信する。
【００５３】
デバイス２０では、制御情報受信部２１にて制御情報を受信した場合、受信情報解析部２２によって制御情報の内容（調整値）を取得し、設定情報に登録する。
【００５４】
このように、サーバ１０からデータ送信のタイミング変更の指示（調整値）を設定する命令を受け取ったデバイス２０は、制御情報に登録されているデータ送信周期で定まる次のデータ送信のタイミングを微調整する。
【００５５】
この結果、サーバ１０の指示によって一部のデバイス２０の所要データの送信時刻を調整することによって、サーバ１０がデータを受信する時刻が重ならないように調整する。この結果、サーバ１０への各デバイス２０の通信の局所的な集中を自律的に緩和する。
【００５６】
図５は、サーバ１０の記憶部１３に記憶されているデバイス情報テーブルを可視的に示した説明図である。
【００５７】
サーバ１０は、個々のデバイス２０を識別するデバイスID、デバイス２０から受信した設定情報から、周期間隔、受信時刻、及び算出した次のデータ受信時刻をデバイス情報テーブルに登録する。この際、図中の予想次回受信時刻が重複した値を計算した場合に、調整値を付与する。このデバイス情報テーブルの登録は、各デバイス２０からデータを受信した都度所要データの格納と共に更新する。 
この仕組みによってサーバ１０に生じる瞬間的な負荷の発生を自律的に予防する。
【００５８】
次に、サーバ１０によるアクセスデバイスのデータ送信タイミングの調整方法を実現する各装置の動作フローチャート例を図６及び図７を用いて説明する。
【００５９】
図６は、サーバ１０の動作を示したフローチャート例である。
【００６０】
サーバ１０は、各デバイスから送信データを受信する（Ｓ１０１）と、受信した制御情報等からデバイスID、受信時刻、当該デバイスの送信周期設定情報を取得してデバイス情報テーブルに記憶する（Ｓ１０２）。次に、サーバ１０は、受信時刻と送信周期設定情報から予測次回受信時刻を算出する（Ｓ１０３）。次に、サーバ１０は、デバイス情報テーブルを参照して同じ時刻にデータを送信するデバイスがあるかをチェックする（Ｓ１０４）。もし同じ時刻にデータを送信するデバイスが存在した場合（Ｓ１０５のＹＥＳ）、サーバ１０は、該当デバイス２０に設定する周期時間の調整値を計算する（Ｓ１０６）。最後に、サーバ１０は、送信周期を調整するデバイス２０に対して、決定した調整値を制御情報として送信する（Ｓ１０７）。
【００６１】
図７は、デバイス２０の動作を示したフローチャート例である。
【００６２】
デバイス２０は、設定情報に従ってデータ送信時刻になった際（Ｓ２０１）に、送信データ（所要データ）の送信前に、当該送信にあたる調整値の有無を確認（Ｓ２０２）する。次に、デバイス２０は、収集や生成した送信データ（所要データ）と、送信周期を含む設定情報を関連付けてサーバ１０に送信する（Ｓ２０３）。また、デバイス２０は常時的に、サーバ１０から調整値を含む設定情報を受信していないか監視する（Ｓ２０４）。もしサーバ１０から制御情報を受信した場合（その制御情報に調整値が含まれていた場合）、次回送信時間を調整する（Ｓ２０５）。この際、サーバ１０は、送信周期については変更せずに、次回の送信データの送信後に調整値を削除して元の送信周期に従ってデータ送信を継続する。なお、制御情報にサーバ１０や他の装置から送信周期を含む設定情報を受信した場合、そのデバイス２０は設定情報を更新して、その送信周期を用いて今後動作する。
【００６３】
ここで、データの受信時間の調整例を示す。仮にデバイス２０−１とデバイス２０−２の次回受信時刻が重なっていた場合、サーバ１０（データ受信時刻調整部１５）は、デバイス２０−２の次回受信時刻を変更する。変更した結果デバイス２０−２とデバイス２０−３の受信時刻が重なっている為、更にデバイス２０−３の受信時刻を更に変更する。元の送信時刻との差分を調整値として所定期間 デバイス情報テーブルに保存する。
【００６４】
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ 
データ送信時刻の調整例１： 
デバイス２０−１  次回受信時刻Ａ 
デバイス２０−２  次回受信時刻Ａ  ⇒  Ａ’ 
デバイス２０−３  次回受信時刻Ｃ 
デバイス２０−４  次回受信時刻Ｄ 
・・・ 
* デバイスデバイス２０−１とデバイス２０−２の次回受信時刻が重なっている。 
⇒ デバイス２０−２の受信時刻をＡ’に調整 
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ 
【００６５】
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿
データ送信時刻の調整例２： 
デバイス２０−１  次回受信時刻Ａ 
デバイス２０−２  次回受信時刻Ａ  ⇒  Ａ’ 
デバイス２０−３  次回受信時刻Ａ’⇒  Ａ’’ 
デバイス２０−４  次回受信時刻Ｄ 
・・・ 
* デバイスデバイス２０−１とデバイス２０−２の次回受信時刻が重なっている。 
⇒ デバイス２０−２の受信時刻をＡ’に調整 
⇒ デバイスデバイス２０−２デバイス２０−３の次回受信時刻が重なっている。 
⇒ デバイス２０−３の受信時刻をＡ’’に調整 
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿
【００６６】
以上説明したように、通信システム１は、サーバ１０と各デバイス２０との協働によって、各デバイス２０が実際にデータ送信タイミングを動的に調整することが可能となる。このことによって、同じ時間にサーバ１０に対して各デバイス２０の送信が集中することを抑制する。このため、サーバ１０の瞬間的負荷集中を予防でき、その結果、同時に管理下におけるデバイス数を増加させることが可能になる。また、各装置で本発明で付加的に実施する情報処理は、非常に低演算量で済む。このため、サーバ１０やデバイス２０の実質的能力に影響を与えずに実現可能となる。
【００６７】
次に、別の実施形態を説明する。
【００６８】
［第２の実施形態］ 
図８は、第２の実施形態の通信システム２を示す概略図である。第２の実施形態の通信システム２と第１の実施形態との違いは、第１の実施形態は各デバイスが定期的にデータ送信する運用であったことに対して、第２の実施形態は各デバイスが不定期にデータ送受信（アップロード／ダウンロード）する運用である。
【００６９】
サーバ１０’及びデバイス２０’は、第１の実施形態のサーバ１０及びデバイス２０と同様な構成で構築できる。一方、サーバ１０’及びデバイス２０’は、実際のファイルダウンロード／ダウンロード前に、アップロード／ダウンロードの実施予定時間を通知することを実施する。そして、負荷調整プロセスを実行する場合、サーバ１０’は、デバイス２０’に予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する。なお、以下の説明では、サーバ１０’をＦＴＰ、ＨＴＴＰ等のプロトコルに対応し、各デバイス２０’がサーバ１０’からファイルダウンロードを不定期に実施することを説明する。
【００７０】
図９は、サーバ１０’の動作を示したフローチャート例である。
【００７１】
サーバ１０’は、任意のデバイス２０’から予備情報としてダウンロードの実施予定時刻を受信（Ｓ３０１）すると、当該デバイス２０’を識別するデバイスIDとダウンロード予定時刻をデバイス情報テーブルに記憶する（Ｓ３０２）。
【００７２】
次に、サーバ１０’は、受信時刻とダウンロード予定時刻から、予測実行時刻を算出する（Ｓ３０３）。なお、サーバ１０’は、ダウンロード予定時刻が何分後などの表記の場合、受信時刻を用いてダウンロード予定時刻を得る。一方、サーバ１０’は、ダウンロード予定時刻が時刻自体の表記の場合、受信時刻をそのまま用いてダウンロード予定時刻を得る。
【００７３】
次に、サーバ１０は、デバイス情報テーブルを参照して同じ時刻にデータをダウンロードするデバイスがあるかをチェックする（Ｓ３０４）。もし同じ時刻にデータをダウンロードするデバイスが存在した場合（Ｓ３０５のＹＥＳ）、サーバ１０’は、該当デバイス２０’に設定する実行時間の調整値を計算する（Ｓ３０６）。最後に、サーバ１０’は、実行周期を調整するデバイス２０’に対して、決定した調整値含めた制御情報（調整値設定命令）を送信する（Ｓ３０７）。
【００７４】
図１０は、デバイス２０’の動作を示したフローチャート例である。
【００７５】
デバイス２０’は、ダウンロード要求を受け付けた際に（Ｓ４０１）に、ダウンロード前に、当該ダウンロード先に設定された調整値の有無を確認（Ｓ４０２）する。この確認ステップを設けることによって、デバイス２０’の他サーバに対する動作に制限を設けない。一方、デバイス２０’がダウンロード先（サーバ１０’）から調整値を既に受けていた場合、調整値に従い動作する。
【００７６】
次に、デバイス２０’は、ダウンロード実行時刻を示した予備情報をサーバ１０’に送信する（Ｓ４０３）。次に、デバイス２０’は、サーバ１０’から調整値を含む設定情報を受信しないか判別（Ｓ４０４）し、サーバ１０’から調整値が含まれていた制御情報を受信した場合、ダウンロード実行時間を調整した後にダウンロードを実行する（Ｓ４０５）。他方、デバイス２０’は、サーバ１０’から調整値を含む設定情報を受信しないか判別（Ｓ４０４）し、サーバ１０’から調整値を受けなかった場合、ダウンロード実行時間を調整すること無しにダウンロードを実行する（Ｓ４０５）。
【００７７】
この実施形態で説明した構成を具備することで、通信システムは、ダウンロードに対して、瞬間的なサーバへの負荷集中を予防して、デバイスのアクセス許容数を増加可能に構成できる。また、アップロードに対しても同様であり、アップロード予定事項を含む予備情報を予めデバイスから受け付けて、必要に応じて予定実行時刻を調整値で調整する構成を設ければよい。このことで、通信システムは、アップロードに対して、瞬間的なサーバへの負荷集中を予防して、デバイスのアクセス許容数を増加可能に構成できる。
【００７８】
第１の実施形態及び第２の実施形態は適宜組み合わせて運用することが可能であり、組み合わせた通信システムは、周期的通信と不定期通信に対して、瞬間的なサーバへの負荷集中を予防して、デバイスのアクセス許容数を増加可能に構成できる。なお、調整値は、アップロード用とダウンロード用と周期的通信を別々に管理する構成が望ましい。
【００７９】
また、上記説明では、第１の実施形態のデータ受信時刻調整部１５は、所定量の推定処理負荷／推定同時アクセス数／帯域余力を超えた際に上記調整値の生成によるデータ送信時刻の負荷調整プロセスを実行するようにしてもよい。この場合、所定量の推定処理負荷／推定同時アクセス数／帯域余力を下回った際に上記調整値の生成によるデータ送信時刻の負荷調整プロセスを停止すればよい。この際、所定量の推定処理負荷や所定量の推定同時アクセス数は、サーバ能力に対応させて設定すればよい。また、所定量の帯域余力は、サーバが使用できる上下帯域に対応させて設定すればよい。
【００８０】
第２の実施形態では、該当構成要素部分の説明は省略したが、アップロード／ダウンロード時にも負荷調整プロセスを実行するか判別することを実行するようにしてもよい。換言すれば、少ない同時アクセスに対しては調整値を用いずに従前と同様に動作し、ある程度以上の処理負荷の発生が推定できる場合に負荷調整プロセスを実行する。このようにサーバ機能を構築することで、サーバ処理能力に対して管理台数を更に増加させ得る構成を得られる。
【００８１】
尚、通信システムの各部は、ハードウェアとソフトウェアを適宜組み合わせて実現すればよい。この際、必要に応じて、このプログラムは、オペーレティングシステムや、マイクロプログラム、ドライバなどのソフトウェアが提供する機能と協働して、各部を実現することとしてもよい。
【００８２】
メモリーに展開されるプログラムデータは、プロセッサーを１ないし複数の上述した各部として動作させる実行命令群やコード群、テーブルファイル、コンテンツデータなどを適宜含む。
【００８３】
また、このプログラムは、記録媒体に非一時的に記録されて頒布されても良い。当該記録媒体に記録されたプログラムは、有線、無線、又は記録媒体そのものを介してメモリーに読込まれ、プロセッサー等を動作させる。
【００８４】
尚、本明細書では、記録媒体には、類似するタームの記憶媒体やメモリー装置、ストレージ装置なども含むこととする。この記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリー装置、ハードディスク装置、テープメディアなどが挙げられる。また、記録媒体は、不揮発性であることが望ましい。また、記録媒体は、揮発性モジュール（例えばRAM：Random Access Memory）と不揮発性モジュール（例えばROM：Read Only Memory）の組み合わせを用いることとしてもよい。
【００８５】
なお、実施形態を例示して本発明を説明した。しかし、本発明の具体的な構成は前述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。例えば、上述した実施形態及び／又は実施例のブロック構成の分離併合、手順の入れ替えなどの変更は本発明の趣旨および説明される機能を満たせば自由であり、上記説明が本発明を限定するものではない。
【００８６】
本発明によれば、瞬間的なサーバへの負荷集中を予防して、デバイスのアクセス許容数を増加可能に構成された通信システムを提供できる。
【００８７】
また、上記の実施形態の一部又は全部は、以下のようにも記載されうる。尚、以下の付記は本発明をなんら限定するものではない。  
［付記１］
サーバと、周期的及び定期的にデータを前記サーバに送信する複数のデバイスとを備え、前記サーバは、前記複数のデバイスからの前記周期的及び定期的に送信されるデータ間に時間的な重なりが生じないように前記デバイスからの受信タイミングを制御する手段を備えていることを特徴とする通信システム。
【００８８】
［付記２］
周期的及び定期的に送信されるデータを受け、前記データの次の受信タイミングを算出する手段と、他のデバイスの周期的及び定期的に送信されるデータと受信タイミングが同じであれば当該算出されたタイミング移動させる調整値を制御情報に含ませて送信する手段を有するサーバ。
【００８９】
［付記３］
複数のデバイスから周期的及び定期的に送信されるデータを受け、各デバイスにおける次の受信タイミングを各デバイス毎に格納する手段を含む上記付記サーバ。
【００９０】
［付記４］
サーバで算出されたタイミングの調整値を含む制御情報に応じて、周期的及び定期的に送信されるデータの送信タイミングを調整する手段を備えたデバイス。
【００９１】
［付記５］
所定周期ごとに 送信データとして 前記所定周期を示した送信周期設定情報と所要データとをサーバに定期的に送信する複数のデバイスと、
各デバイスから送信された送信データを逐次蓄積するサーバと、
を含み、
前記サーバは、各デバイスから送信された送信データを受信した際に、前記送信周期設定情報を取得し、当該送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定すると共に、該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻である場合、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を通知し、
前記サーバから調整値を設定する命令を受けたデバイスは、該調整値を送信周期設定情報に加えたタイミングに成った際に、次回の送信データを送信する
ことを特徴とする通信システム。
【００９２】
［付記６］
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信する複数のデバイスと、
各デバイスから要求されたアップロード／ダウンロードを受け付けるサーバと、
を含み、
前記サーバは、各デバイスから送信された予備情報を受信した際に、予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知し、
前記サーバから調整値を設定する命令を受けたデバイスは、該調整値をアップロード時刻／ダウンロード時刻に加えたタイミングに成った際に、アップロード／ダウンロードを実行する
ことを特徴とする通信システム。
【００９３】
［付記７］
上記付記記載の通信システムであって、
前記サーバは、所定量の推定処理負荷／推定同時アクセス数／帯域余力を超えた際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを開始し、
所定量の推定処理負荷／推定同時アクセス数／帯域余力を下回った際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを停止する
ことを特徴とする通信システム。
【００９４】
［付記８］
所定周期ごとに 送信データとして 前記所定周期を示した送信周期設定情報と所要データとを定期的に送信するデバイス群の何れかから送信された送信データを受信した際に、
各送信データの所要データを逐次蓄積すると共に、
前記送信周期設定情報を取得し、
当該送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定し、
該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を生成し、
該当したデバイスの何れかに生成した調整値を設定する命令を通知する、
ことを特徴とするサーバ装置。
【００９５】
［付記９］
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群の何れかから送信された前記予備情報を受信した際に、
予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する、
ことを特徴とするサーバ装置。
【００９６】
［付記１０］
上記付記記載のサーバ装置であって、
前記サーバ装置は、所定量の推定処理負荷／推定同時アクセス数／帯域余力を超えた際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを開始し、
所定量の推定処理負荷／推定同時アクセス数／帯域余力を下回った際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを停止する
ことを特徴とするサーバ装置。
【００９７】
［付記１１］
所定周期ごとにサーバに送信する所要データを収集し 且つ 該所要データと共に前記所定周期を示した送信周期設定情報を前記サーバに送信データとして定期的に送信すると共に、
前記サーバから送信周期設定情報に加える調整値を設定する命令を受け付けた場合、該調整値を送信周期設定情報に加えて前記所定周期を管理して、次回の送信データを送信するタイミングを計る
ことを特徴とするデバイス装置。
【００９８】
［付記１２］
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも予定開始時刻を示した予備情報を要求先のサーバに送信するすると共に、
前記サーバからアップロード／ダウンロードの予定開始時刻に加える調整値を設定する命令を受け付けた場合、該調整値をアップロード／ダウンロードの予定開始時刻に加えてアップロード／ダウンロードを実行するタイミングを計る
ことを特徴とするデバイス装置。
【００９９】
［付記１３］
サーバは、
デバイス群各々から、所定周期ごとに前記所定周期を示した送信周期設定情報と所要データとを送信データとして受け付け、
各送信データの所要データを逐次蓄積すると共に、
各送信データの送信周期設定情報を逐次取得し、
取得した送信データの受信時刻と送信周期設定情報と基づいて、当該デバイスの次回の推定受信時刻を仮定し、
該仮定した推定受信時刻が他のデバイスの次回の推定受信時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する送信周期設定情報に加える調整値を設定する命令を生成し、
該当したデバイスの何れかに生成した調整値を設定する命令を通知する、
ことを特徴とするサーバ負荷分散方法。
【０１００】
［付記１４］
サーバは、
ファイルデータをアップロード／ダウンロードする前に、アップロード／ダウンロードに伴う少なくとも開始時刻を示した予備情報をサーバに送信するデバイス群の何れかから送信された前記予備情報を受信し、
当該予備情報に含まれていた開始時刻を取得し、当該デバイスの要求されたアップロード時刻／ダウンロード時刻を仮定すると共に、該仮定したアップロード時刻／ダウンロード時刻が他のデバイスのアップロード時刻／ダウンロード時刻と同時刻であったならば、該当したデバイスの何れかに、そのデバイスが保持する予定アップロード時刻／予定ダウンロード時刻に加える調整値を設定する命令を通知する、
ことを特徴とするサーバ負荷分散方法。
【０１０１】
［付記１５］
上記付記記載のサーバ負荷分散方法であって、
前記サーバは、所定量の推定処理負荷／推定同時アクセス数／帯域余力を超えた際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを開始し、
所定量の推定処理負荷／推定同時アクセス数／帯域余力を下回った際に、送信周期設定情報に加える調整値／予定アップロード時刻に加える調整値／予定ダウンロード時刻に加える調整値の生成による何れか又はその組み合わせの負荷調整プロセスを停止する
ことを特徴とするサーバ負荷分散方法。
【符号の説明】
【０１０２】
１，２  通信システム
１０，１０’  サーバ
１１    データ受信部（データ受信手段）
１２    受信データ解析部（受信データ解析手段）
１３    記憶部（記憶手段）
１４    受信時刻算出部（受信時刻算出手段）
１５    データ受信時刻調整部（データ受信時刻調整手段）
１６    制御情報送信部（制御情報送信手段）
２０，２０’  デバイス
２１    制御情報受信部（制御情報受信手段）
２２    受信制御情報解析部（受信制御情報解析手段）
２３    記憶部（記憶手段）
２４    周期タイマー監視部（周期タイマー監視手段）
２５    データ収集部（データ収集手段）
２６    データ送信部（データ送信手段）
【図１】
0006788251.tif 000002
【図２】
0006788251.tif 000003
【図３】
0006788251.tif 000004
【図４】
0006788251.tif 000005
【図５】
0006788251.tif 000006
【図６】
0006788251.tif 000007
【図７】
0006788251.tif 000008
【図８】
0006788251.tif 000009
【図９】
0006788251.tif 000010
【図１０】
0006788251.tif 000011