(57)【特許請求の範囲】
【請求項１】
他の装置からデータを取得し、バッファに格納するデータ取得手段と、
前記バッファに格納されているデータを、所定のネットワークを介して接続するサーバに送信する通信手段と、
回線の状態に関する回線状態データを取得する回線状態取得手段と、
該回線状態取得手段が取得した回線状態データを蓄積して記憶する回線状態記憶手段と、
該回線状態記憶手段に記憶されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定手段と、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成手段と、を備え、
前記通信手段は、前記送信計画に従って、前記バッファに格納されているデータの送信を行い、
前記回線状態データには、コネクション毎のデータ転送における転送成否及びデータ量が含まれ、
前記送信データ量決定手段は、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、
ことを特徴とするデータ転送装置。
【請求項２】
他の装置からデータを取得し、バッファに格納するデータ取得手段と、
前記バッファに格納されているデータを、所定のネットワークを介して接続するサーバに送信する通信手段と、
回線の状態に関する回線状態データを取得する回線状態取得手段と、
前記回線状態取得手段が取得した回線状態データを蓄積して記憶する回線状態記憶手段と、
前記回線状態記憶手段に記憶されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定手段と、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成手段と、を備え、
前記通信手段は、前記送信計画に従って、前記バッファに格納されているデータの送信を行い、
前記回線状態データには、コネクション毎のデータ転送における転送成否及び接続時間が含まれ、
前記送信データ量決定手段は、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、ことを特徴とするデータ転送装置。
【請求項３】
前記バッファに格納されているデータの総量が前記送信可能データ量より大きい場合、前記送信計画作成手段は、前記送信計画に、前記通信手段が前記バッファに格納されているデータを複数回のコネクションに分けて送信できるようにするための情報を含める、
ことを特徴とする請求項１又は２に記載のデータ転送装置。
【請求項４】
前記送信計画作成手段は、前記バッファに格納されているデータの総量を前記送信可能データ量で除算して得られた値と、所定の条件に基づいて決定した送信許容時間と、に基づいて、複数回のコネクションに分けて送信する際の時間間隔を決定する、
ことを特徴とする請求項３に記載のデータ転送装置。
【請求項５】
前記送信計画作成手段は、現在時刻と、前記データ取得手段が次回にデータを取得する時刻と、に基づいて前記送信許容時間を決定する、
ことを特徴とする請求項４に記載のデータ転送装置。
【請求項６】
現在の環境情報を取得する環境情報取得手段と、
該環境情報取得手段が取得した環境情報を記憶する環境情報記憶手段をさらに備え、
前記送信データ量決定手段は、前記環境情報記憶手段に記憶されている環境情報も加味して、前記送信可能データ量を決定する、
ことを特徴とする請求項１乃至５の何れか１項に記載のデータ転送装置。
【請求項７】
前記環境情報は、現在の気象状態に関する情報である、
ことを特徴とする請求項６に記載のデータ転送装置。
【請求項８】
前記環境情報取得手段は、前記データ取得手段が取得したデータから前記環境情報を抽出する、
ことを特徴とする請求項６又は７に記載のデータ転送装置。
【請求項９】
他の装置からデータを取得し、バッファに格納するデータ取得手段と、
前記バッファに格納されているデータを、所定のネットワークを介して接続するサーバに送信する通信手段と、
現在の気象状態に関する情報である環境情報を取得する環境情報取得手段と、
該環境情報取得手段が取得した環境情報を記憶する環境情報記憶手段と、
該環境情報記憶手段に記憶されている前記環境情報に基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定手段と、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成手段と、を備え、
前記通信手段は、前記送信計画に従って、前記バッファに格納されているデータの送信を行い、
前記送信データ量決定手段は、前記環境情報を参照して電波の減衰率を求め、求めた電波の減衰率に基づいて、前記送信可能データ量を決定する、
ことを特徴とするデータ転送装置。
【請求項１０】
回線の状態に関する回線状態データを取得する回線状態取得手段と、
前記回線状態取得手段が取得した前記回線状態データを蓄積して記憶する回線状態記憶手段と、をさらに備え、
前記送信データ量決定手段は、
前記回線状態記憶手段に前記回線状態データが記憶されていない場合には、前記環境情報に基づいて、前記送信可能データ量を決定し、
前記回線状態記憶手段に前記回線状態データが記憶されている場合には、前記回線状態データに基づいて、前記送信可能データ量を決定する、
ことを特徴とする請求項９に記載のデータ転送装置。
【請求項１１】
他の装置からデータを取得し、バッファに格納するデータ取得ステップと、
前記バッファに格納されているデータを、所定のネットワークを介して接続するサーバに送信する通信ステップと、
回線の状態に関する回線状態データを取得し、回線状態記憶手段に格納する回線状態取得ステップと、
前記回線状態記憶手段に格納されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定ステップと、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成ステップと、を有し、
前記通信ステップでは、前記送信計画に従って、前記バッファに格納されているデータの送信が行われ、
前記回線状態データには、コネクション毎のデータ転送における転送成否及びデータ量が含まれ、
前記送信データ量決定ステップでは、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、
ことを特徴とするデータ転送方法。
【請求項１２】
他の装置からデータを取得し、バッファに格納するデータ取得ステップと、
前記バッファに格納されているデータを、所定のネットワークを介して接続するサーバに送信する通信ステップと、
回線の状態に関する回線状態データを取得し、回線状態記憶手段に格納する回線状態取得ステップと、
前記回線状態記憶手段に格納されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定ステップと、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成ステップと、を有し、
前記通信ステップでは、前記送信計画に従って、前記バッファに格納されているデータの送信が行われ、
前記回線状態データには、コネクション毎のデータ転送における転送成否及び接続時間が含まれ、
前記送信データ量決定ステップでは、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、
ことを特徴とするデータ転送方法。
【請求項１３】
１又は複数のデータ転送装置と、該１又は複数のデータ転送装置と所定のネットワークを介して相互に通信可能に接続されるサーバと、を備えるデータ転送システムであって、
前記データ転送装置は、
他の装置からデータを取得し、バッファに格納するデータ取得手段と、
前記バッファに格納されているデータを前記サーバに送信する通信手段と、
回線の状態に関する回線状態データを取得する回線状態取得手段と、
該回線状態取得手段が取得した回線状態データを蓄積して記憶する回線状態記憶手段と、
該回線状態記憶手段に記憶されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定手段と、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成手段と、を備え、
前記通信手段は、前記送信計画に従って、前記バッファに格納されているデータの送信を行い、
前記回線状態データには、コネクション毎のデータ転送における転送成否及びデータ量が含まれ、
前記送信データ量決定手段は、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、
ことを特徴とするデータ転送システム。
【請求項１４】
１又は複数のデータ転送装置と、前記１又は複数のデータ転送装置と所定のネットワークを介して相互に通信可能に接続されるサーバと、を備えるデータ転送システムであって、
前記データ転送装置は、
他の装置からデータを取得し、バッファに格納するデータ取得手段と、
前記バッファに格納されているデータを前記サーバに送信する通信手段と、
回線の状態に関する回線状態データを取得する回線状態取得手段と、
前記回線状態取得手段が取得した回線状態データを蓄積して記憶する回線状態記憶手段と、
前記回線状態記憶手段に記憶されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定手段と、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成手段と、を備え、
前記通信手段は、前記送信計画に従って、前記バッファに格納されているデータの送信を行い、
前記回線状態データには、コネクション毎のデータ転送における転送成否及び接続時間が含まれ、
前記送信データ量決定手段は、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、
ことを特徴とするデータ転送システム。
【請求項１５】
前記データ転送装置は、
現在の環境情報を取得する環境情報取得手段と、
該環境情報取得手段が取得した環境情報を記憶する環境情報記憶手段をさらに備え、
前記送信データ量決定手段は、前記環境情報記憶手段に記憶されている環境情報も加味して、前記送信可能データ量を決定する、
ことを特徴とする請求項１３又は１４に記載のデータ転送システム。
【請求項１６】
前記サーバは、前記データ転送装置に前記環境情報を含むデータを送信し、
前記環境情報取得手段は、前記通信手段を介して前記サーバから送信されたデータを取得し、該取得したデータから前記環境情報を抽出する、
ことを特徴とする請求項１５に記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から取得したデータをサーバに転送するデータ転送装置、データ転送方法及びデータ転送システムに関する。
【背景技術】
【０００２】
従来より、データ通信の際に回線状態（回線品質）が変動しても、データ転送の効率を低下させないようにする技術が種々提案されている（例えば、特許文献１、特許文献２）。【０００３】
特許文献１には、フレーム送信の成功・失敗の状態により、次回に送信するフレーム長を決定するデータ転送方式が開示されている。【０００４】
また、特許文献２には、無線通信における電波信号のＥｃ／Ｉｏ（パイロット信号強度対全受信信号強度）のレベルを測定し、回線状態が回復傾向であるか悪化傾向であるかを判定し、その結果に基づいて、１パケットのデータサイズを設定して通信を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１２２２２６号公報
【特許文献２】特開２００５−２０５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示される技術では、通信の際、コネクションが途中で切断されてしまうと、それまで送信したデータが失われてしまうため、コネクションの再確立後、データを最初から送信しなおす必要がある。【０００７】
特許文献２に開示される技術では、送信すべきデータを複数のセッションによって転送し、回線の状態が良いときは、セッション（コネクション）の数を増加させる。これにより、膨大なデータが効率的に転送される。セッションにはセッションＩＤが割り振られ、データ通信を行う両ホストは、セッションＩＤを記憶保持する。両ホストは、互いにセッションＩＤの要求・応答確認を行うことで、通信が途切れた場合でも、当該セッションＩＤのセッションから再開することができ、データを最初から送信しなおす必要がない。【０００８】
しかしながら、１回のコネクションで転送するデータ量は決まっているため、回線の状態が悪く、コネクションが途中で切断され、再送が生じた場合、再びコネクションが途中で切断される可能性が高い状況であっても、同じデータ量で再送を繰り返さざるを得ないという問題がある。【０００９】
したがって、コネクションの途中切断に起因したデータ転送の効率低下を避けるための新たな技術の提案が求められている。【００１０】
本発明は、このような実情に鑑みてなされたものであり、データ転送の際、回線状態に応じて、１回のコネクションで送信するデータ量等を調整することで、コネクションの途中切断を起因としたデータ転送の効率低下を防止するデータ転送装置、データ転送方法及びデータ転送システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係るデータ転送装置は、
他の装置からデータを取得し、バッファに格納するデータ取得手段と、
前記バッファに格納されているデータを、所定のネットワークを介して接続するサーバに送信する通信手段と、
回線の状態に関する回線状態データを取得する回線状態取得手段と、
該回線状態取得手段が取得した回線状態データを蓄積して記憶する回線状態記憶手段と、
該回線状態記憶手段に記憶されている前記回線状態データに基づき、前記サーバとの１回のコネクションで送信可能なデータ量である送信可能データ量を決定する送信データ量決定手段と、
前記バッファに格納されているデータの総量と、前記送信可能データ量と、に基づいて、前記サーバに対するデータの送信計画を作成する送信計画作成手段と、を備え、
前記通信手段は、前記送信計画に従って、前記バッファに格納されているデータの送信を行い、
前記回線状態データには、コネクション毎のデータ転送における転送成否及びデータ量が含まれ、
前記送信データ量決定手段は、過去所定時間分の前記回線状態データに基づいて、前記送信可能データ量を決定する、ことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、コネクションの途中切断を起因としたデータ転送の効率低下を防止することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るデータ転送システムの構成を示すブロック図である。
【図２】回線状態記憶部に格納される回線状態データの一例を示す図である。
【図３】環境情報記憶部に格納される環境情報の一例を示す図である。
【図４】データ転送装置で実行される処理の手順を示すフローチャートである。
【図５】データ送信処理の手順を示すフローチャートである。
【図６】送信データ量決定処理の手順（その１）を示すフローチャートである。
【図７】送信データ量決定処理の手順（その２）を示すフローチャートである。
【図８】送信データ量決定処理の手順（その３）を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態に係るデータ転送システムについて図面を参照して説明する。
【００１５】
図１は、本実施形態に係るデータ転送システムの構成を示すブロック図である。図１に示すように、このデータ転送システムは、データ転送装置１０と、データ収集サーバ２０とから構成される。データ転送装置１０とデータ収集サーバ２０は、インターネット等の広域ネットワークＮを介して、相互に通信可能に接続されている。
【００１６】
本実施形態では、データ転送装置１０は、太陽光発電に関する各種のログデータを１又は複数の装置から取得し、これをデータ収集サーバ２０に転送する。データ収集サーバ２０は、ＨＴＴＰ（HyperText Transfer Protocol）、ＦＴＰ（File Tranfer Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）等、ＴＣＰ／ＩＰ(Transmission Control Protocol / Internet Protocol）通信のサーバ機能を備える。
【００１７】
データ転送装置１０は、データ取得部１０１と、バッファ１０２と、通信部１０３と、回線状態取得部１０４と、回線状態記憶部１０５と、環境情報取得部１０６と、環境情報記憶部１０７と、送信データ量決定部１０８と、送信計画作成部１０９と、を備える。なお、図示はしないが、各構成要素は、データ転送装置１０に内蔵されるＣＰＵあるいはＭＰＵ（以下、ＣＰＵ等という。）に接続されている。ＣＰＵ等は、ＲＯＭ等に記憶されている所定のプログラムを実行することで、各構成要素を制御する。
【００１８】
データ取得部１０１は、太陽光発電における各装置（例えば、太陽電池、各種センサ、パワーコンディショナ等）と有線又は無線にてデータ通信可能に接続し、所定のタイミング（本実施形態では、所定の時間間隔）で各装置から送信された発電量や気象条件等のログデータを受信する。データ取得部１０１は、受信したログデータをバッファ１０２に保存する。バッファ１０２は、例えば、読み書き可能な不揮発性の半導体メモリで構成される。
【００１９】
通信部１０３は、モデム等の通信機器やＰＰＰ（Point-to-Point Protocol）、ＴＣＰ／ＩＰ、ＨＴＴＰクライアント、ＳＭＴＰクライアント等の通信ソフトウェアを備え、広域ネットワークＮを介して、データ収集サーバ２０とデータ通信を行う。その際、詳細は後述するが、通信部１０３は、送信計画作成部１０９の処理結果に基づいて、データ通信を実行する。
【００２０】
回線状態取得部１０４は、通信部１０３が通信を実行している間に発生したエラー、送信データ量、通信時間等、回線状態に関する情報（回線状態データ）を取得する。本実施形態では、回線状態取得部１０４は、コネクション毎のデータ転送における、開始時刻、転送成否、転送予定バイト数、転送実績バイト数、接続時間及びパケット再送回数を取得し、これらを回線状態データとして、回線状態記憶部１０５に格納する（図２参照）。
【００２１】
回線状態記憶部１０５は、例えば、読み書き可能な不揮発性の半導体メモリで構成される。図２に示すように、回線状態記憶部１０５には、過去数時間分の回線状態データが蓄積して保存される。
【００２２】
環境情報取得部１０６は、図示しない各計測器から現在の気象状態に関する諸情報を環境情報として取得する。本実施形態では、環境情報取得部１０６は、環境情報として、一般に回線状態に影響を与えることが考えられる気象状態、即ち、天気、気温、相対湿度、水蒸気密度、気圧等を取得する。環境情報取得部１０６は、これらの気象状態を、データ転送装置１０に接続する図示しない各種計測器（例えば、視程計、日照計、温度計、湿度計、気圧計等）から取得したデータに基づいて決定する。なお、データ取得部１０１が受信したログデータに気象状態に関する情報が含まれている場合には、環境情報取得部１０６は、それをログデータから抽出して利用してもよいし、あるいは、データ収集サーバ２０から気象状態に関する情報をダウンロードする仕様にしてもよい。
【００２３】
環境情報取得部１０６は、所定時間毎に上記の環境情報を取得し、例えば、読み書き可能な不揮発性の半導体メモリで構成される環境情報記憶部１０７に格納する（図３参照）。
【００２４】
送信データ量決定部１０８は、回線状態記憶部１０５に格納されている回線状態データと、環境情報記憶部１０７に格納されている環境情報と、に基づいて、コネクションが切断されずに送信可能なデータ量（バイト数）を算出する。送信計画作成部１０９は、送信データ量決定部１０８が決定した１回のコネクションで送信可能なデータ量と、バッファ１０２に格納されているログデータの総量とに基づいて、データ収集サーバ２０に対するデータの送信計画を作成する。
【００２５】
続いて、以上のように構成されたデータ転送装置１０が実行する処理の手順を図４及び図５のフローチャートを用いて説明する。
【００２６】
データ転送装置１０の電源がＯＮされると、ＣＰＵ等が起動し、その制御の下、上述した各構成要素によって、以下の処理が繰り返し実行される。先ず、データ取得部１０１は、他の装置からのログデータを取得する処理を実行する（ステップＳ１０１）。
【００２７】
データ取得部１０１は、例えば、接続する全ての装置（例えば、太陽電池、各種センサ、パワーコンディショナ等）に対して、ログデータの送信要求メッセージを発行する。各装置は、この送信要求メッセージに応答して、それぞれが保持するログデータをデータ転送装置１０に送信する。データ取得部１０１は、各装置から送信されたログデータを受信し、バッファ１０２に格納する。
【００２８】
データ取得部１０１による上記処理の実行に同期して、環境情報取得部１０６は、環境情報を取得する処理を実行する（ステップＳ１０２）。環境情報取得部１０６は、図示しない各計測器（例えば、視程計、日照計、温度計、湿度計、気圧計等）からデータ（計測値）を取得し、これらに基づいて、現在の気象状態、即ち、天気、気温、相対湿度、水蒸気密度、気圧を求める。そして、求めた気象状態を環境情報として、環境情報記憶部１０７に格納する。なお、環境情報取得部１０６は、環境情報の取得処理をデータ取得部１０１による処理と非同期、即ち、異なる時間間隔で実行してもよい。
【００２９】
続くステップＳ１０３では、データ送信処理が実行される。このデータ送信処理を図５のフロチャートを用いて詳細に説明する。
【００３０】
先ず、送信データ量決定部１０８は、回線状態記憶部１０５に格納されている回線状態データと、環境情報記憶部１０７に格納されている環境情報と、に基づいて、１回のコネクションで送信するデータ量（バイト数）を算定する（ステップＳ２０１）。この算定方法について、具体例を以下に列挙する。
【００３１】
（１）転送成否と、転送実績バイト数に基づいた算定方法
この場合の例を図６のフローチャートを用いて説明する。先ず、送信データ量決定部１０８は、回線状態データを参照して、過去３時間以内に転送が失敗したコネクションがあるか否かをチェックする（ステップＳ３０１）。その結果、過去３時間以内に転送が失敗したコネクションが存在しない場合（ステップＳ３０１でＮＯ）、送信データ量決定部１０８は、バッファ１０２に格納されている全てのログデータの総量を１回のコネクションで送信するデータ量として決定する（ステップＳ３０２）。
【００３２】
一方、過去３時間以内に何れかのコネクションで転送が失敗している場合（ステップＳ３０１でＹＥＳ）、送信データ量決定部１０８は、過去３時間以内に転送が成功したコネクションの転送実績バイト数の内、転送が失敗したコネクションの転送実績バイト数の最小値に小さい方向で最も近いものを検出する（ステップＳ３０３）。換言すると、送信データ量決定部１０８は、過去３時間以内において、転送が成功したコネクションの転送実績バイト数の内から、その値以下の転送が失敗しておらず、且つ、最大の転送実績バイト数を検出する。そして、送信データ量決定部１０８は、検出した転送実績バイト数の半分の値を１回のコネクションで送信するデータ量として決定する（ステップＳ３０４）。
【００３３】
例えば、過去３時間以内の回線状態データが、図２に示すものである場合、番号１のコネクションにおける転送実績バイト数の半分の値、即ち、１０２，４００バイトが、１回のコネクションで送信するデータ量となる。
【００３４】
（２）転送成否と、接続時間に基づいた算定方法
この場合の例を図７のフローチャートを用いて説明する。先ず、送信データ量決定部１０８は、回線状態データを参照して、過去３時間以内に転送が失敗したコネクションがあるか否かをチェックする（ステップＳ４０１）。その結果、過去３時間以内に転送が失敗したコネクションが存在しない場合（ステップＳ４０１でＮＯ）、送信データ量決定部１０８は、バッファ１０２に格納されている全てのログデータの総量を１回のコネクションで送信するデータ量として決定する（ステップＳ４０２）。
【００３５】
一方、過去３時間以内に何れかのコネクションで転送が失敗している場合（ステップＳ４０１でＹＥＳ）、送信データ量決定部１０８は、過去３時間以内のコネクションの中から、最大の接続時間を検出する（ステップＳ４０３）。送信データ量決定部１０８は、検出した接続時間と、通信部１０３の転送速度とに基づいて、基準データ量を算出する（ステップＳ４０４）。そして、送信データ量決定部１０８は、算出した基準データ量の３分の１の値を１回のコネクションで送信するデータ量として決定する（ステップＳ４０５）。
【００３６】
（３）転送成否と、転送実績バイト数と、パケット再送回数に基づいた算定方法
この場合の例を図８のフローチャートを用いて説明する。先ず、送信データ量決定部１０８は、回線状態データを参照して、過去３時間以内に転送が失敗したコネクションがあるか否かをチェックする（ステップＳ５０１）。その結果、過去３時間以内に転送が失敗したコネクションが存在しない場合（ステップＳ５０１でＮＯ）、送信データ量決定部１０８は、バッファ１０２に格納されている全てのログデータの総量を１回のコネクションで送信するデータ量として決定する（ステップＳ５０２）。
【００３７】
一方、過去３時間以内に何れかのコネクションで転送が失敗している場合（ステップＳ５０１でＹＥＳ）、送信データ量決定部１０８は、過去３時間以内のコネクションにおける転送実績バイト数の合計を求め（ステップＳ５０３）、また、過去３時間以内のコネクションにおけるパケット再送回数の合計を求める（ステップＳ５０４）。そして、送信データ量決定部１０８は、転送実績バイト数の合計をパケット再送回数の合計で除算して、その結果値（Ｖ１）を求める（ステップＳ５０５）。
【００３８】
次に、送信データ量決定部１０８は、過去３時間以内に転送が成功したコネクションの内、その転送実績バイト数が、転送が失敗したコネクションの転送実績バイト数の最小値に小さい方向で最も近いコネクションを検出する（ステップＳ５０６）。
【００３９】
送信データ量決定部１０８は、ステップＳ５０５で求めたＶ１と、ステップＳ５０６で検出したコネクションにおけるパケット再送回数の半分の値を乗算し、その結果値を１回のコネクションで送信するデータ量として決定する（ステップＳ５０７）。
【００４０】
例えば、過去３時間以内の回線状態データが、図２に示すものである場合、ステップＳ５０３における転送実績バイト数の合計及びステップＳ５０４におけるパケット再送回数の合計は、それぞれ、１，１０４，２００バイト及び７５回となる。その結果、Ｖ１＝１４，７２２バイト（小数点以下切り捨て）となる。また、ステップＳ５０６において、図２の番号１のコネクションが検出される。そして、ステップＳ５０７において、データ量は、Ｖ１×（１４／２）＝１０３，０５４バイトとなる。
【００４１】
（４）環境情報に基づいた算定方法
送信データ量決定部１０８は、例えば、「電波伝搬ハンドブック（リアライズ理工センター、１９９９年）第５章及び第６章」のような公知文献で開示されている情報に基づいて、環境情報記憶部１０７に記憶されている環境情報を参照して電波の減衰率を求める。そして、電波の減衰率から送信データ量を導出するために予め用意された所定の算出式あるいはテーブルを使用して、求めた電波の減衰率から１回のコネクションで送信するデータ量を決定する。
【００４２】
送信データ量決定部１０８は、上述した算定例のように、回線状態データ又は環境情報の何れか一方のみを参照して、１回のコネクションで送信するデータ量を決定してもよいし、種々の条件により、何れを参照するかを切り替えてもよい。例えば、データ転送装置１０の起動時など、回線状態記憶部１０５に回線状態データが格納されていない場合には、送信データ量決定部１０８は、環境情報記憶部１０７に格納されている環境情報を参照して、データ量を算定するようにしてもよい。
【００４３】
あるいは、回線状態データを参照して算定したデータ量（例えば、上記（１）〜（３）の何れかの方法で算定したデータ量）と、環境情報を参照して算定したデータ量（例えば、上記（４）で算定したデータ量）の内、何れか小さい方を１回のコネクションで送信するデータ量として採用してもよい。
【００４４】
図５のフローチャートに戻り、ステップＳ２０２では、送信計画作成部１０９がデータの送信計画を作成する（ステップＳ２０２）。送信計画作成部１０９は、バッファ１０２に格納されているログデータの総量（即ち、送信すべきデータ量）と、送信データ量決定部１０８が決定した１回のコネクションで送信するデータ量（即ち、送信可能なデータ量）と、に基づいて送信計画を作成する。本例では、送信計画作成部１０９は、さらに送信許容時間も加味して送信計画を作成する。送信許容時間は、現在時刻から次回のデータ取得時刻までの時間である。次回のデータ取得時刻とは、データ取得部１０１が次回にログデータを取得する時刻である。なお、送信許容時間は、予め決められた時間でもよい。
【００４５】
例えば、送信すべきデータ量が３０７，２００バイトであり、送信可能なデータ量が１０２，４００バイトであり、次回のデータ取得時刻までの時間（即ち、送信許容時間）が１時間である場合、送信計画作成部１０９は、送信すべきデータ量（３０７，２００バイト）を送信可能なデータ量（１０２，４００バイト）で除算し、その結果値（ここでは、３）を求める。そして、送信計画作成部１０９は、送信許容時間（１時間）を“３”で分割した時間（２０分）毎に、データ収集サーバ２０に対して、データを送信する計画を作成する。なお、送信計画の作成に送信許容時間を加味しない例では、送信計画作成部１０９は、予め決められた時間（例えば、２０分）を送信間隔として設定する。
【００４６】
図２の番号６〜８は、上記例の送信計画に従ったデータ送信における回線状態データの例を示している。なお、図２の番号２〜５は、送信に失敗（番号２）後、データを３回に分けて送信した例を示している。このように失敗した直後の送信計画における送信間隔は、分割回数（例えば、３回）に１（送信に失敗した実績）を加えた回数（例えば、４回）と、次回のデータ取得時刻までの時間（例えば、１時間）と、に基づいて求められる。その結果、図２の番号２〜５の例では、送信間隔は１５分毎となっている。
【００４７】
また、送信データ量決定部１０８が決定したデータ量が小さく、バッファ１０２に格納されている全てのログデータを送信するために、例えば、１０以上の分割を必要とする場合には、送信計画作成部１０９は、データの送信を中止する旨の送信計画を作成する。
【００４８】
なお、回線状態が良好な場合等、送信可能なデータ量と送信すべきデータ量とが一致する場合、即ち、１回のコネクションにおけるデータ送信で、全てのログデータが送信できる場合、送信計画作成部１０９が作成する送信計画には、当然ながら、上記送信間隔は含まれない。
【００４９】
ＣＰＵ等は、送信計画作成部１０９が作成した送信計画を参照し、送信を実行するか否かの判定を行う（ステップＳ２０３）。ここで、送信計画の内容が、上述したデータの送信を中止する旨を示すものである場合、ＣＰＵ等は送信の中止を決定し（ステップＳ２０３でＮＯ）、本処理（データ送信処理）を終了する。
【００５０】
一方、ＣＰＵ等により、送信の実行が決定されると（ステップＳ２０３でＹＥＳ）、通信部１０３は、送信計画作成部１０９が作成した送信計画に従ってデータ通信を実行する。通信部１０３は、送信計画に示された送信時刻まで待機した後（ステップＳ２０４）、データ収集サーバ２０とデータ通信を行うためのコネクションを確立する（ステップＳ２０５）。
【００５１】
コネクションが確立すると、回線状態取得部１０４は、新たな回線状態データのレコードを回線状態記憶部１０５に追加作成し、「開始時刻」に現在時刻を、「転送予定バイト数」に送信データ量決定部１０８が決定したデータ量をそれぞれ格納する。
【００５２】
通信部１０３は、送信データを所定サイズのパケットに分割して送信する（ステップＳ２０６）。送信したパケットに対して、データ収集サーバ２０から肯定応答が返ってこない場合、通信部１０３は、パケットエラーであると判定する（ステップＳ２０７でＹＥＳ）。この場合、回線状態取得部１０４は、回線状態記憶部１０５の当該コネクションに対する回線状態データの「パケット再送回数」をインクリメントして更新する（ステップＳ２０８）。
【００５３】
次に、通信部１０３は、コネクションエラーの発生有無を判定する（ステップＳ２０９）。具体的には、タイムアウトが発生したり、データ収集サーバ２０からリセットパケットが送られてくると、通信部１０３は、コネクションエラーが発生した、即ち、コネクションが切断されたと判定する（ステップＳ２０９でＹＥＳ）。この場合、回線状態取得部１０４は、コネクションエラー情報の記録を行う（ステップＳ２１０）。具体的には、回線状態取得部１０４は、回線状態記憶部１０５の当該コネクションに対する回線状態データの「転送成否」を失敗にし、「転送実績バイト数」にそれまで転送したバイト数を格納し、「接続時間」にコネクションの確立から切断までに要した時間を格納する。
【００５４】
回線状態取得部１０４によるコネクションエラー情報の記録後、ステップＳ２０１に戻り、送信データ量決定部１０８による処理が再度実行される。
【００５５】
一方、コネクションエラーが発生していない場合（ステップＳ２０９でＮＯ）、ステップＳ２０６に戻り、通信部１０３は、エラーが発生したパケットを再度送信する。
【００５６】
ステップＳ２０７の判定で、パケットエラーが発生していない場合（ステップＳ２０７でＮＯ）、通信部１０３は、当該コネクションにおける予定された全てのデータの送信が完了したか否かを判定する（ステップＳ２１１）。今回のコネクションでの予定された全データの送信が完了している場合（ステップＳ２１１でＹＥＳ）、通信部１０３は、コネクションを切断する（ステップＳ２１２）。また、回線状態取得部１０４は、コネクション接続情報の記録を行う（ステップＳ２１３）。具体的には、回線状態取得部１０４は、回線状態記憶部１０５の当該コネクションに対する回線状態データの「転送成否」を成功にし、「転送実績バイト数」にそれまで転送したバイト数（この場合は、「転送予定バイト数」の値と同一）を格納し、「接続時間」にコネクションの確立から切断までに要した時間を格納する。
【００５７】
一方、今回のコネクションでの予定された全データの送信が完了していない場合（ステップＳ２１１でＮＯ）、ステップＳ２０６に戻り、通信部１０３は、次のパケットを送信する。
【００５８】
ステップＳ２１３の処理の後、通信部１０３は、全データ（バッファ１０２に格納されている全てのログデータ）の送信が完了したか否かを判定する（ステップＳ２１４）。その結果、全データの送信が完了している場合（ステップＳ２１４でＹＥＳ）、ＣＰＵ等は、本処理（データ送信処理）を終了する。
【００５９】
一方、全データの送信が完了していない場合（ステップＳ２１４でＮＯ）、ステップＳ２０４に戻り、通信部１０３は、送信計画に示された次回の送信時刻まで待機する。
【００６０】
以上のデータ送信処理が終了すると、ＣＰＵ等は、データ取得部１０１による次回のデータ取得時刻まで、各構成要素による処理を一時待機させる（図４のステップＳ１０４）。その後、ＣＰＵ等は、データ取得部１０１を起動させ、以降、ステップＳ１０１からの処理が繰り返される。
【００６１】
以上説明したように、本実施形態に係るデータ転送システムでは、データ転送装置１０において、データ取得部１０１が取得したデータ（ログデータ）をデータ収集サーバ２０に送信する際、回線状態記憶部１０５に格納されている回線状態データに基づいて、送信データ量決定部１０８は、１回のコネクションで送信可能なデータ量を決定する。そして、送信計画作成部１０９は、バッファ１０２に格納されているデータの総量と、１回のコネクションで送信可能なデータ量とに基づいて、データの送信計画を作成する。通信部１０３は、この送信計画に従って、データ送信を実行する。
【００６２】
これにより、回線状態が悪い場合には、１度に大量のデータを送信しないようにすることができ、たとえ途中でコネクションが切断しても、大量のデータの再送の発生を防止することが可能になる。
【００６３】
また、送信計画作成部１０９は、バッファ１０２に格納されているデータの総量を送信データ量決定部１０８が決定したデータ量で除算した値と、送信許容時間とに基づいて、１コネクション毎の送信における時間間隔を決定する。このため、再送が少なく、効率の良いデータ転送を実現できる。
【００６４】
また、送信データ量決定部１０８により決定されたデータ量が非常に小さい場合、送信計画作成部１０９は、データの送信を中止する旨の送信計画を作成することができ、これにより、通信部１０３は、データ送信を一時中止することができる。このため、回線使用頻度に応じて使用料を課金される回線を利用している場合等では、回線利用回数の増加による回線使用料の増加を防止することができる。
【００６５】
また、送信データ量決定部１０８は、環境情報取得部１０６により取得され、環境情報記憶部１０７に格納された気象状態等の環境情報を参照して、１回のコネクションで送信可能なデータ量を決定することもできる。これにより、回線を使用することなく回線の状態を把握でき、回線状態が悪いときの回線使用の機会を低減することができる。また、回線状態データと環境情報を併用することで、送信データ量決定部１０８により決定されるデータ量の精度向上が期待できる。
【００６６】
上記の場合、データ転送装置１０は、環境情報をデータ収集サーバ２０からダウンロードして取得できるようにしてもよい。このようにすると、１つのデータ収集サーバ２０に複数のデータ転送装置１０が広域ネットワークＮを介して接続するシステム構成の場合、気象状態を検知する計測器等をデータ収集サーバ２０に設置するだけで済むため、システム全体のコストを削減することが可能になる。
【００６７】
さらには、データ取得部１０１が他の装置から受信するログデータに環境情報が含まれる場合には、環境情報取得部１０６は、データ取得部１０１が受信したログデータから環境情報を抽出して、これを利用するようにしてもよい。このようにすれば、データ転送装置１０及びデータ収集サーバ２０の何れにおいても、気象状態を検知する計測器等を設置する必要がなく、さらなるコストの低減が期待できる。
【００６８】
なお、本発明は、上記実施形態に限定されず、本発明の要旨を逸脱しない範囲での種々の変更は勿論可能である。
【００６９】
例えば、ＣＰＵ等が所定のプログラムを実行することで、上記実施形態のデータ転送装置１０における各構成要素（回線状態取得部１０４、送信データ量決定部１０８、送信計画作成部１０９等）の機能を実現してもよい。
【産業上の利用可能性】
【００７０】
本発明は、太陽光発電システムを構成する各装置から時刻毎の発電量等のログデータを取得し、サーバに転送するシステムに好適に適用され得る。
【符号の説明】
【００７１】
１０  データ転送装置
２０  データ収集サーバ
１０１  データ取得部
１０２  バッファ
１０３  通信部
１０４  回線状態取得部
１０５  回線状態記憶部
１０６  環境情報取得部
１０７  環境情報記憶部
１０８  送信データ量決定部
１０９  送信計画作成部
【図１】
0005452602.tif 000002
【図２】
0005452602.tif 000003
【図３】
0005452602.tif 000004
【図４】
0005452602.tif 000005
【図５】
0005452602.tif 000006
【図６】
0005452602.tif 000007
【図７】
0005452602.tif 000008
【図８】
0005452602.tif 000009