(57)【要約】【課題】端末同士が近距離無線通信可能な領域内に存在しない場合であっても、通信リソースの消費を抑制して、端末同士のデータの伝送を行う。【解決手段】移動端末群の複数の移動端末（３０）の各々、第１端末（１０）、及び第２端末（２０）の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、第１端末及び第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成する。移動端末群は、各々データ伝送を中継する機能を有する複数の移動端末を備え、複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び第１端末と異なる第２端末の一方から他方にデータ伝送を中継する。予測位置及び予測通信帯域に基づいて算出した複数のデータ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定する。【選択図】図１
2018037943.tif 000002
【特許請求の範囲】
【請求項１】
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び前記第１端末と異なる第２端末の一方から他方にデータ伝送を中継する移動端末群の前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成し、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定し、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する、
通信制御処理をコンピュータに実行させるためのプログラム。
【請求項２】
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータの伝送時間であり、
前記データ伝送経路として、前記データの伝送時間が最小であるデータ伝送経路を決定する、
請求項１に記載のプログラム。
【請求項３】
前記データ伝送経路は、最大流問題の解法アルゴリズムを使用して決定される、請求項２に記載のプログラム。
【請求項４】
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータ伝送の通信コストであり、
前記通信コストは、端末間通信コストを、前記複数のデータ伝送経路候補の各々の候補経路毎に加算した値であり、
前記データ伝送経路として、前記通信コストが最小であるデータ伝送経路を決定する、
請求項１に記載のプログラム。
【請求項５】
前記端末間通信コストは、端末間の通信データ量を、端末間通信コスト率で乗算することで定まる、請求項４に記載のプログラム。
【請求項６】
前記端末間通信コスト率は、前記複数のデータ伝送経路候補の各々の候補経路に沿って隣り合う端末間で使用される通信種類に基づいて定まる通信対象端末の数が多くなるにしたがって、増大するように調整することで定まる、
請求項５に記載のプログラム。
【請求項７】
前記データ伝送経路は、最小費用流問題の解法アルゴリズムを使用して決定される、請求項４〜６の何れか１項に記載のプログラム。
【請求項８】
前記複数の移動端末、前記第１端末及び前記第２端末の各時刻の前記予測通信帯域は、前記予測位置が正確である度合いが低くなるにしたがって、小さくなるように調整される、
請求項１〜請求項７の何れか１項に記載のプログラム。
【請求項９】
コンピュータが、
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び前記第１端末と異なる第２端末の一方から他方にデータ伝送を中継する移動端末群の前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成し、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定し、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する、
通信制御方法。
【請求項１０】
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び前記第１端末と異なる第２端末の一方から他方にデータ伝送を中継する移動端末群の前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成する生成部と、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定する決定部と、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する指示部と、
を含む、通信制御装置。
【請求項１１】
第１端末と、
前記第１端末と異なる第２端末と、
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して前記第１端末及び前記第２端末の一方から他方にデータ伝送を中継する移動端末群と、
を含み、
前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成し、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定し、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する、
通信制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御プログラム、通信制御方法、通信制御装置、及び通信制御システムに関する。
【背景技術】
【０００２】
相互に接続する通信経路が存在しない独立した複数の近距離無線通信可能エリア間で、データの転送を行う技術が存在する。当該技術では、第１の近距離無線通信可能エリア内に存在する端末は、第１の近距離無線通信可能エリア内に存在する全ての携帯端末装置に、第２の近距離無線通信可能エリア内の端末に送信するデータを送信する。データを送信された携帯端末装置の内、第２の近距離無線通信可能エリア内に移動した携帯端末装置が、送信先として指定されている端末にデータを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６-２７９３１０号公報
【非特許文献】
【０００４】
【非特許文献１】永持仁、”１２群（電子情報通信基礎）−２編（離散数学）４章ネットワーク最適化”、［ｏｎｌｉｎｅ］、電子情報通信学会、［２０１６年８月５日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｉｃｅ−ｈｂｋｂ．ｏｒｇ／ｆｉｌｅｓ／１２／１２ｇｕｎ＿０２ｈｅｎ＿０４．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記技術では、第１の近距離無線通信可能エリア内に存在する全ての携帯端末装置に、データを送信するため、通信リソースを不要に消費する。
【０００６】
本発明は、１つの側面として、端末同士が近距離無線通信可能な領域内に存在しない場合であっても、通信リソースの消費を抑制して、端末間のデータの伝送を行うことを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、複数の移動端末の各々、第１端末、及び第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、第１端末及び第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成する。移動端末群は、各々データ伝送を中継する機能を有する複数の移動端末を備え、複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び第１端末と異なる第２端末の一方から他方にデータ伝送を中継する。予測位置及び予測通信帯域に基づいて算出した複数のデータ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定する。決定したデータ伝送経路を使用して、第１端末及び第２端末の一方から他方にデータを伝送するよう第１端末及び第２端末の一方に指示する。
【発明の効果】
【０００８】
本発明は、１つの側面として、端末同士が近距離無線通信可能な領域内に存在しない場合であっても、通信リソースの消費を抑制して、端末間のデータの伝送を行うことを可能とする。
【図面の簡単な説明】
【０００９】
【図１】第１及び第２実施形態に係る通信制御システムの要部構成の一例を示すブロック図である。
【図２Ａ】第１及び第２実施形態に係るサーバの要部構成の一例を示すブロック図である。
【図２Ｂ】第１及び第２実施形態に係る情報処理装置の要部構成の一例を示すブロック図である。
【図２Ｃ】第１及び第２実施形態に係る移動端末の要部構成の一例を示すブロック図である。
【図２Ｄ】第１及び第２実施形態に係るサーバの制御部の要部構成の一例を示すブロック図である。
【図３Ａ】第１及び第２実施形態に係るサーバのハードウェアの一例を示すブロック図である。
【図３Ｂ】第１及び第２実施形態に係る情報処理装置のハードウェアの一例を示すブロック図である。
【図３Ｃ】第１及び第２実施形態に係る移動端末のハードウェアの一例を示すブロック図である。
【図４Ａ】第１及び第２実施形態に係る予測位置テーブルの一例を示す概念図である。
【図４Ｂ】第１及び第２実施形態に係るデータ管理テーブルの一例を示す概念図である。
【図５】第１及び第２実施形態に係る通信制御処理の概略を例示する概念図である。
【図６】第１及び第２実施形態に係る通信制御処理の流れの一例を示すフローチャートである。
【図７】第１実施形態に係るデータ伝送経路決定処理の流れの一例を示すフローチャートである。
【図８Ａ】第１実施形態に係る端末間通信帯域テーブルの一例を示す概念図である。
【図８Ｂ】第１実施形態に係る端末間通信帯域テーブルの一例を示す概念図である。
【図８Ｃ】第１実施形態に係る端末間通信帯域テーブルの一例を示す概念図である。
【図９Ａ】第１実施形態に係るグラフの一例を示す概念図である。
【図９Ｂ】第１実施形態に係るグラフの一例を示す概念図である。
【図１０Ａ】第１実施形態に係る端末間通信帯域テーブルの一例を示す概念図である。
【図１０Ｂ】第１実施形態に係る端末間通信帯域テーブルの一例を示す概念図である。
【図１１Ａ】第１実施形態に係るグラフの一例を示す概念図である。
【図１１Ｂ】第１実施形態に係るグラフの一例を示す概念図である。
【図１２】第２実施形態に係るデータ伝送経路決定処理の流れの一例を示すフローチャートである。
【図１３】第２実施形態に係る端末間通信コスト率テーブルの一例を示す概念図である。
【図１４Ａ】第２実施形態に係るグラフの一例を示す概念図である。
【図１４Ｂ】第２実施形態に係るグラフの一例を示す概念図である。
【図１５】第１及び第２実施形態に係る予測確率テーブルの一例を示す概念図である。
【発明を実施するための形態】
【００１０】
［第１実施形態］
以下、実施形態の一例である第１実施形態を説明する。
【００１１】
図１に、本実施形態の通信制御システム１を例示する。通信制御システム１は、破線ＳＤＲ１で例示する範囲内での近距離無線通信を行うことができるサーバ１０及び破線ＳＤＲ２で例示する範囲内での近距離無線通信を行うことができる情報処理装置２０を含む。サーバ１０は第１端末及び通信制御装置の一例であり、情報処理装置２０は第２端末の一例である。
【００１２】
また、通信制御システム１は、移動端末群に含まれる複数の移動端末３０を含む。図１では、移動端末群として移動端末３０を５個例示するが、本実施形態は、これに限定されない。通信制御システム１は、６個以上の移動端末を含んでいてもよい。なお、サーバ１０、情報処理装置２０及び複数の移動端末３０を区別しない場合、これらを端末とも呼ぶ。
【００１３】
移動端末３０の各々は、受信した伝送データを他の移動端末３０、または情報処理装置２０に送信することで伝送データを中継する。サーバ１０から情報処理装置２０へ伝送データを伝送する場合に、データ伝送が成功する確率を向上させるために、本実施形態では、２個以上の移動端末３０を経由するデータ伝送経路を決定する。２個以上の移動端末３０を経由してサーバ１０から情報処理装置２０へ伝送データを伝送することができるデータ伝送経路が存在する確率は、１個の移動端末３０だけを経由するデータ伝送経路が存在する確率よりも高いためである。
【００１４】
図２Ａに例示するサーバ１０は、受信部１１、制御部１２、記憶部１３及び送信部１４を含む。受信部１１及び送信部１４は、遠距離無線通信及び近距離無線通信を行う。遠距離無線通信の一例は携帯電話通信であり、近距離無線通信の一例は、アドホック通信である。アドホック通信は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩｒＤＡ（Infrared Data Association）、及びＷｉＦｉなどによる通信である。
【００１５】
制御部１２は、図２Ｄに例示するように、生成部１２Ａと、決定部１２Ｂと、指示部１２Ｃと、を含む。生成部１２Ａは、移動端末群の複数の移動端末３０の各々、サーバ１０、及び情報処理装置２０の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、サーバ１０から情報処理装置２０にデータを伝送する複数のデータ伝送経路候補を選択する。通信帯域は、通信速度を表す。決定部１２Ｂは、選択した複数のデータ伝送経路候補の中から、予測位置及び予測通信帯域に基づいて定まる伝送コストが最適なデータ伝送経路を決定する。指示部１２Ｃは、決定された最適なデータ伝送経路を使用して、サーバ１０から情報処理装置２０へデータ（以下、制御データと区別するために、伝送データとも呼ぶ。）を伝送するよう送信部１４に指示する。
【００１６】
情報処理装置２０からサーバ１０に伝送データを伝送する場合も、サーバ１０から情報処理装置２０にデータを伝送する場合と同様である。上記で説明したように、データ伝送経路候補の各々には少なくとも２個の移動端末３０、即ち、複数の移動端末３０が含まれる。
【００１７】
記憶部１３は、例えば、移動端末群の複数の移動端末３０の各々、サーバ１０、及び情報処理装置２０の各時刻の予測位置、並びに各時刻の予測通信帯域を保存する。サーバ１０は、例えば、ワークステーション、デスクトップコンピュータ、又は、ノートブックコンピュータなどであってよいが、本実施形態はこれらに限定されない。サーバ１０は、例えば、携帯電話、スマートフォン、又は、タブレットコンピュータなどであってもよい。
【００１８】
図２Ｂに例示する情報処理装置２０は、受信部２１、制御部２２、記憶部２３及び送信部２４を含む。受信部２１及び送信部２４は、長距離無線通信及び近距離無線通信を行う。制御部２２は、サーバ１０に伝送データの送信を要求するよう、送信部２４に指示し、サーバ１０から決定されたデータ伝送経路を経由して伝送データを受信するよう、受信部２１に指示する。記憶部２３は、例えば、受信した伝送データを保存する。
【００１９】
情報処理装置２０は、例えば、携帯電話、スマートフォン、又は、タブレットコンピュータなどであってよいが、本実施形態はこれらに限定されない。情報処理装置２０は、例えば、ワークステーション、デスクトップコンピュータ、又は、ノートブックコンピュータなどであってよい。
【００２０】
図２Ｃに例示する移動端末３０は、受信部３１、制御部３２、記憶部３３及び送信部３４を含む。受信部３１及び送信部３４は、遠距離無線通信及び近距離無線通信を行う。なお、端末３０は複数個存在するが、同様の構成を有するため、各々の説明は省略する。
【００２１】
制御部３２は、決定されたデータ伝送経路に基づいて、伝送データをサーバ１０または他の移動端末３０から受信するよう、受信部３１に指示し、受信した伝送データを他の移動端末３０または情報処理装置２０に送信するよう、送信部３４に指示する。記憶部３３は、例えば、伝送データを少なくとも一時的に保存する。なお、送信部３４が、他の移動端末３０または情報処理装置２０に伝送データを送信した後、制御部３２は、伝送データを記憶部３３から削除するようにしてもよい。
【００２２】
移動端末３０は、例えば、携帯電話、スマートフォン、又は、タブレットコンピュータなどであってよいが、本実施形態は、これらに限定されない。
【００２３】
サーバ１０は、図３Ａに例示するように、ＣＰＵ（Central Processing Unit）４１、一次記憶部４２、二次記憶部４３、通信部４４、ＧＰＳ（Global Positioning System）４５及び外部インターフェイス４６を含む。ＣＰＵ４１、一次記憶部４２、二次記憶部４３、通信部４４、ＧＰＳ４５及び外部インターフェイス４６は、バス４９を介して相互に接続されている。
【００２４】
一次記憶部４２は、例えば、ＲＡＭ（Random Access Memory）などの揮発性のメモリである。二次記憶部４３は、例えば、ＨＤＤ（Hard Disk Drive）、又はＳＳＤ（Solid State Drive）などの不揮発性のメモリである。二次記憶部４３は、通信制御プログラムを格納したプログラム格納領域４３Ａ、例えば、予測位置情報、予測通信帯域情報、データ管理情報、及び伝送データなどを格納したデータ格納領域４３Ｂを含む。
【００２５】
図４Ａは、予測位置情報の一例である予測位置テーブル７１Ａを例示する。予測位置テーブル７１Ａは、サーバ１０、情報処理装置２０、及び複数の移動端末３０が存在すると予測される予測位置の緯度及び経度を時刻と対応付けて記録したテーブルである。なお、複数の移動端末３０の各々を区別して参照する場合、移動端末３０−ｎまたは３０−ａｎで各々を表す。ｎは、例えば、自然数である。
【００２６】
例えば、サーバ１０の午後１時（１３：００）の予測位置は、緯度３５．５８３、経度１３９．６４０である。この例では、サーバ１０、情報処理装置２０、及び複数の移動端末３０の各々の１分毎の予測位置が予測位置テーブル７１Ａに記録されている。
【００２７】
予測位置テーブル７１Ａは、例えば、各端末がサーバ１０に各々の予測位置情報を送信することで生成されてもよい。予測位置情報は、各端末の二次記憶部または外部記憶装置などに記憶されているスケジュール情報、及び過去の移動履歴（例えば、毎週水曜日の午後２時には本社を出発し、午後３時には支社に到着する、など）に基づいていてもよい。
【００２８】
図４Ｂは、データ管理情報の一例であるデータ管理テーブル７１Ｂを例示する。データ管理テーブル７１Ｂは、端末間で伝送される可能性がある伝送データの識別を各々の伝送データを記憶している端末の識別と対応付けて記録したテーブルである。例えば、伝送データＤ１はサーバ１０に記憶されており、伝送データＤ２はサーバ１０及び移動端末３０−１に記憶されている。データ管理テーブル７１Ｂは、例えば、各端末が、伝送データを受信した場合、または、削除した場合などに、伝送データの識別をサーバ１０に送信することで生成されてもよい。
【００２９】
なお、予測位置情報、予測通信帯域情報、及びデータ管理情報は、サーバ１０の二次記憶部４３のデータ格納領域４３Ｂではなく、外部装置に含まれていてもよい。この場合、ＣＰＵ４１は、予測位置情報、予測通信帯域情報、及びデータ管理情報を、例えば、通信部４４または外部インターフェイス４６を介して、取得することができる。
【００３０】
ＣＰＵ４１は、二次記憶部４３のプログラム格納領域４３Ａから通信制御プログラムを読み出して一次記憶部４２に展開する。ＣＰＵ４１は、通信制御プログラムを実行することで、図２Ａの制御部１２として動作する。なお、通信制御プログラムは、外部サーバに記憶され、ネットワークを介して、一次記憶部４２に展開されてもよい。また、通信制御プログラムは、ＤＶＤ（Digital Versatile Disc）などの非一時的記録媒体に記憶され、記録媒体読込装置を介して読み込まれ、一次記憶部４２に展開されてもよい。
【００３１】
ＣＰＵ４１は、ハードウェアのプロセッサであり、図２Ａの制御部１２及びコンピュータの一例である。一次記憶部４２及び二次記憶部４３は、図２Ａの記憶部１３の一例である。通信部４４は、図２Ａの受信部１１及び送信部１４の一例である。ＧＰＳ４５は、サーバ１０の位置を示す位置情報を取得する。位置情報は、例えば、予測位置情報を生成するための統計情報として使用されてもよい。外部インターフェイス４６には、外部装置が接続され、外部インターフェイス４６は、外部装置とＣＰＵ４１との間の各種情報の送受信を司る。
【００３２】
情報処理装置２０は、一例として、図３Ｂに示すように、ＣＰＵ５１、一次記憶部５２、二次記憶部５３、通信部５４、ＧＰＳ５５及び外部インターフェイス５６を含む。ＣＰＵ５１、一次記憶部５２、二次記憶部５３、通信部５４、ＧＰＳ５５及び、外部インターフェイス５６は、バス５９を介して相互に接続されている。
【００３３】
一次記憶部５２は、例えば、ＲＡＭなどの揮発性のメモリである。二次記憶部５３は、例えば、ＨＤＤ、又はＳＳＤなどの不揮発性のメモリである。二次記憶部５３は、通信制御プログラムを格納したプログラム格納領域５３Ａ、伝送データなどを格納するデータ格納領域５３Ｂを含む。
【００３４】
ＣＰＵ５１は、二次記憶部５３のプログラム格納領域５３Ａから通信制御プログラムを読み出して一次記憶部５２に展開する。ＣＰＵ５１は、通信制御プログラムを実行することで、図２Ｂの制御部２２として動作する。なお、通信制御プログラムは、外部サーバに記憶され、ネットワークを介して、一次記憶部５２に展開されてもよい。また、通信制御プログラムは、ＤＶＤなどの非一時的記録媒体に記憶され、記録媒体読込装置を介して読み込まれ、一次記憶部５２に展開されてもよい。
【００３５】
ＣＰＵ５１は、ハードウェアのプロセッサであり、図２Ｂの制御部２２及びコンピュータの一例である。一次記憶部５２及び二次記憶部５３は、図２Ｂの記憶部２３の一例である。通信部５４は、図２Ｂの受信部２１及び送信部２４の一例である。ＧＰＳ５５は情報処理装置２０の位置を示す位置情報を取得する。位置情報は、例えば、予測位置情報を生成するための統計情報として使用されてもよい。外部インターフェイス５６には、外部装置が接続され、外部インターフェイス５６は、外部装置とＣＰＵ５１との間の各種情報の送受信を司る。
【００３６】
移動端末３０は、一例として、図３Ｃに示すように、ＣＰＵ６１、一次記憶部６２、二次記憶部６３、通信部６４、ＧＰＳ６５及び外部インターフェイス６６を含む。ＣＰＵ６１、一次記憶部６２、二次記憶部６３、通信部６４、ＧＰＳ６５及び、外部インターフェイス６６は、バス６９を介して相互に接続されている。
【００３７】
一次記憶部６２は、例えば、ＲＡＭなどの揮発性のメモリである。二次記憶部６３は、例えば、ＨＤＤ、又はＳＳＤなどの不揮発性のメモリである。二次記憶部６３は、通信制御プログラムを格納したプログラム格納領域６３Ａ、データを格納するデータ格納領域６３Ｂを含む。
【００３８】
ＣＰＵ６１は、二次記憶部６３のプログラム格納領域６３Ａから通信制御プログラムを読み出して一次記憶部６２に展開する。ＣＰＵ６１は、通信制御プログラムを実行することで、図２Ｃの制御部３２として動作する。なお、通信制御プログラムは、外部サーバに記憶され、ネットワークを介して、一次記憶部６２に展開されてもよい。また、通信制御プログラムは、ＤＶＤなどの非一時的記録媒体に記憶され、記録媒体読込装置を介して読み込まれ、一次記憶部６２に展開されてもよい。
【００３９】
ＣＰＵ６１は、ハードウェアのプロセッサであり、図２Ｃの制御部３２及びコンピュータの一例である。一次記憶部６２及び二次記憶部６３は、図２Ｃの記憶部３３の一例である。通信部６４は、図２Ｃの受信部３１及び送信部３４の一例である。ＧＰＳ６５は移動端末３０の位置を示す位置情報を取得する。位置情報は、例えば、予測位置情報を生成するための統計情報として使用されてもよい。外部インターフェイス６６には、外部装置が接続され、外部インターフェイス６６は、外部装置とＣＰＵ６１との間の各種情報の送受信を司る。
【００４０】
次に、通信制御システム１の作用の概略について説明する。本実施形態では、図５に例示するように、サーバ１０は、伝送データＤ１を近距離無線通信で情報処理装置２０に送信することができない場合、移動端末３０−ａ１を検出する。移動端末３０−ａ１は、伝送データＤ１を近距離無線通信で送信することができる位置に存在することが予測される移動端末である。次に、サーバ１０は、移動端末３０−ａ２を検出する。移動端末３０−ａ２は、移動端末３０−ａ１から伝送データＤ１を近距離無線通信で受信することができる位置に存在することが予測される移動端末である。移動端末３０−ａ２は、さらに、伝送データＤ１を近距離無線通信で情報処理装置２０に送信することができる位置に存在することが予測される移動端末である。
【００４１】
なお、説明を簡易にするために、図５には、移動端末３０−ａ１及び移動端末３０−ａ２のみ記載したが、本実施形態は、これに限定されない。移動端末３０−ａ１と移動端末３０−ａ２との間に他の移動端末３０が介在してもよい。また、サーバ１０と情報処理装置２０との間に、移動端末３０−ａ１及び移動端末３０−ａ２を含むデータ伝送経路以外に、伝送データＤ１を順次中継することができる２個以上の他の移動端末３０（例えば、移動端末３０−ａ４及び移動端末３０−ａ５）を含む伝送経路が存在してもよい。
【００４２】
サーバ１０から情報処理装置２０へ伝送データを中継するために必要な少なくとも２個の移動端末３０は、第１移動端末３０及び第２移動端末３０を含む。第１移動端末３０は、近距離無線通信でサーバ１０と通信可能な位置に存在することが予測される移動端末であり、第２移動端末３０は、近距離無線通信で情報処理装置２０と通信可能な位置に存在することが予測される移動端末である。
【００４３】
サーバ１０から情報処理装置２０へ伝送データを中継するために必要な移動端末３０は、第１移動端末３０及び第２移動端末３０の２個の移動端末３０である。これは、第１移動端末３０と第２移動端末３０とが他の移動端末を経由せずに直接通信可能な位置に存在することが予測される場合である。第１移動端末３０と第２移動端末３０とが少なくとも１つの他の移動端末３０を経由して通信可能な位置に存在することが予測される場合には、第１移動端末３０、少なくとも１つの他の移動端末３０、及び第２移動端末３０の３個以上の移動端末３０である。
【００４４】
本実施形態では、情報処理装置２０のＣＰＵ５１は、実線（１）で示すように、伝送データＤ１の送信を要求するリクエスト情報７０Ａを遠距離無線通信でサーバ１０に送信する。リクエスト情報７０Ａは、制御データの一例であり、制御データのデータ量は、伝送データのデータ量よりも十分小さい。情報処理装置２０のＣＰＵ５１は、データ管理テーブル７１Ｂを保存しているサーバ１０に問い合わせを行うことで、サーバ１０が伝送データＤ１を有しているか否か予め知ることができる。
【００４５】
リクエスト情報７０Ａを受信したサーバ１０のＣＰＵ４１は、一点鎖線（２）で示すように、予測位置テーブル７１Ａに記憶されている予測位置及び予測通信帯域に基づいて、移動端末３０−ａ１及び３０−ａ２を検出する。複数のデータ伝送経路候補が検出された場合は、後述するように、予測位置及び予測通信帯域から定まる伝送時間が最小であるデータ伝送経路を、伝送コストが最適なデータ伝送経路として決定する。
【００４６】
移動端末３０−ａ１及び３０−ａ２を含むデータ伝送経路が決定された場合、サーバ１０のＣＰＵ４１は、移動端末３０−ａ１に、サーバ１０から伝送データＤ１を受信するように指示する通信制御指示を送信する。また、サーバ１０のＣＰＵ４１は、移動端末３０−ａ１に、移動端末３０−ａ２に伝送データＤ１を送信するように指示する通信制御指示を送信する。通信制御指示の送信は、一点鎖線（３）で示すように、遠距離無線通信で行われる。通信制御指示も制御データの一例である。また、サーバ１０のＣＰＵ４１は、移動端末３０−ａ２に移動端末３０−ａ１から伝送データＤ１を受信し、情報処理装置２０に伝送データＤ１を送信するように遠距離無線通信で通信制御指示を送信する。サーバ１０のＣＰＵ４１は、サーバ１０自身に移動端末３０−ａ１に伝送データＤ１を送信するように通信制御指示を送信する。
【００４７】
次に、実線（４）で示すように、サーバ１０のＣＰＵ４１は、近距離無線通信で、移動端末３０−ａ１に伝送データＤ１を送信する。移動端末３０−ａ１は、ユーザの移動に伴い、破線（５）で示すように移動し、実線（６）で示すように、移動端末３０−ａ１のＣＰＵ６１−ａ１（以下、どの移動端末３０のＣＰＵ６１であるかを区別する場合には、移動端末と同じ枝番を付加する。）は、近距離無線通信で、移動端末３０−ａ２にデータＤ１を近距離無線通信で送信する。移動端末３０−ａ２は、ユーザの移動に伴い、破線（７）で示すように移動し、実線（８）で示すように、情報処理装置２０に伝送データＤ１を近距離無線通信で送信する。
【００４８】
詳細には、図６に例示するように、情報処理装置２０のＣＰＵ５１は、ステップ１１０で、遠距離無線通信で、リクエスト情報７０Ａを、サーバ１０に送信する。サーバ１０のＣＰＵ４１は、ステップ１１１で、リクエスト情報７０Ａを受信したか否か判定する。判定が肯定されるまで、ＣＰＵ４１はステップ１１１の処理を繰り返す。
【００４９】
なお、リクエスト情報７０Ａ及び伝送データＤ１などのデータの送受信は、送信側が受信側に受信リクエストを行うことにより開始されてもよいし、受信側が送信側に送信リクエストを行うことにより開始されてもよい。以下の説明におけるデータの送受信についても同様である。
【００５０】
ステップ１１１の判定が肯定された場合、即ち、リクエスト情報７０Ａを受信したと判定された場合、ＣＰＵ４１は、ステップ１１２で、後述するデータ伝送経路決定処理を行う。次に、ＣＰＵ４１は、ステップ１１３で、ステップ１１２で決定したデータ伝送経路に含まれる移動端末３０に、通信制御指示を送信する。通信制御指示は、いつ、どの端末から伝送データＤ１を受信し、いつ、どの端末に伝送データＤ１を送信するかを示す情報を含む。ＣＰＵ４１は、ステップ１１４で、伝送データＤ１を移動端末３０−ａ１に送信して通信制御処理を終了する。
【００５１】
移動端末３０−ａ１のＣＰＵ６１−ａ１は、ステップ１１５で、通信制御指示を受信したか否か及び伝送データＤ１を受信したか否か判定する。判定が肯定されるまで、ＣＰＵ６１−ａ１は、ステップ１１５の処理を繰り返す。判定が肯定されると、ＣＰＵ６１−ａ１は、ステップ１１６で、通信制御指示で指示されている送信時刻であるか否かを判定する。
【００５２】
判定が肯定されるまで、ＣＰＵ６１−ａ１は、ステップ１１６の処理を繰り返す。判定が肯定されると、ＣＰＵ６１−ａ１は、ステップ１１７で、通信制御指示で指示されている次の中継移動端末である移動端末３０−ａ２に、伝送データＤ１を送信して通信制御処理を終了する。
【００５３】
移動端末３０−ａ２のＣＰＵ６１−ａ２は、ステップ１１８で、通信制御指示をサーバ１０から受信したか否か、及び、移動端末３０−ａ１から伝送データＤ１を受信したか否か、判定する。判定が肯定されるまで、ＣＰＵ６１−ａ２は、ステップ１１８の処理を繰り返す。判定が肯定されると、ＣＰＵ６１−ａ２は、ステップ１１９で、通信制御指示で指示されている送信時刻であるか否かを判定する。
【００５４】
判定が肯定されるまで、ＣＰＵ６１−ａ２は、ステップ１１９の処理を繰り返す。判定が肯定されると、ＣＰＵ６１−ａ２は、ステップ１２０で、通信制御指示で指示されている移動端末３０に伝送データＤ１を送信して通信制御処理を終了する。
【００５５】
移動端末３０−ａ３〜移動端末３０−ａ（ｍ−１）（ｍ≦ｎの自然数）の通信制御処理については、移動端末３０−ａ２と同様であるため、説明を省略する。移動端末３０−ａｍのＣＰＵ６１−ａｍは、ステップ１２１で、通信制御指示をサーバ１０から受信したか否か、及び、移動端末３０−ａ（ｍ−１）から伝送データＤ１を受信したか否か、判定する。判定が肯定されるまで、ＣＰＵ６１−ａｍは、ステップ１２１の処理を繰り返す。判定が肯定されると、ＣＰＵ６１−ａｍは、ステップ１２２で、通信制御指示で指示されている送信時刻であるか否かを判定する。
【００５６】
判定が肯定されるまで、ＣＰＵ６１−ａｍは、ステップ１２２の処理を繰り返す。判定が肯定されると、ＣＰＵ６１−ａｍは、ステップ１２３で、通信制御指示で指示されている情報処理装置２０に伝送データＤ１を送信して通信制御処理を終了する。
【００５７】
情報処理装置２０のＣＰＵ５１は、ステップ１２４で、伝送データＤ１を受信したか否か判定する。判定が肯定されるまで、ＣＰＵ５１は、ステップ１２４の判定を繰り返す。判定が肯定されると、ＣＰＵ５１は、通信制御処理を終了する。なお、上記において、データの送受信は、サーバ１０の通信部４４、情報処理装置２０の通信部５４及び移動端末３０の通信部６４を介して行われる。
【００５８】
図７に図６のステップ１１２のデータ伝送経路決定処理を例示する。図７のデータ伝送経路決定処理では、伝送コストとしてサーバ１０から情報処理装置２０への伝送データＤ１の伝送時間を使用し、伝送データＤ１の伝送時間が最小であるデータ伝送経路を最適なデータ伝送経路として決定する。
【００５９】
サーバ１０のＣＰＵ４１は、ステップ１３１で、データ伝送に要すると予測される時間Ｔを選択する。次に、ＣＰＵ４１は、ステップ１３２で、二次記憶部４３のデータ格納領域４３Ｂに記憶されている予測位置情報及び予測通信帯域情報に基づいてデータ伝送経路候補に含まれる移動端末３０を選択する。詳細には、時間Ｔ内に、サーバ１０と通信可能となる移動端末３０−ａ１を選択し、さらに、選択した移動端末３０−ａ１と通信可能となる移動端末３０−ａ２を選択する。移動端末３０−ａ２が、情報処理装置２０と通信可能になる場合、移動端末３０−ａ１及び移動端末３０−ａ２を含むデータ伝送経路をデータ伝送経路候補として選択する。
【００６０】
伝送データＤ１を順次中継する移動端末３０は２個以上であればよい。したがって、移動端末３０−ａ２と通信可能となる移動端末３０−ａ３をさらに選択してもよい。また、移動端末３０−ａ１及び移動端末３０−ａ２を含むデータ伝送経路以外の、例えば、移動端末３０−ａ４及び移動端末３０−ａ５を含むデータ伝送経路候補をさらに選択してもよい。
【００６１】
次に、ＣＰＵ４１は、ステップ１３３で、サーバ１０、情報処理装置２０及び移動端末３０の予測位置情報及び予測通信帯域情報に基づいて、後述する各時刻の端末間予測通信帯域を取得する。ＣＰＵ４１は、ステップ１３４で、後述するように、時間Ｔ内にサーバ１０から情報処理装置２０へ送信することができる流量が最大であるデータ伝送経路を選択する。ＣＰＵ４１は、ステップ１３５で、ステップ１３４で選択されたデータ伝送経路の流量が伝送データＤ１のデータ量以上であるか否か判定する。ステップ１３５の判定が否定された場合、時間Ｔ内に伝送データＤ１をサーバ１０から情報処理装置２０へ送信することはできない、ということであるため、ＣＰＵ４１は、ステップ１３６で、時間Ｔに１を加算し、ステップ１３２に戻る。
【００６２】
ステップ１３５の判定が肯定された場合、ＣＰＵ４１は、ステップ１３７で、ステップ１３４で選択されたデータ伝送経路をデータ伝送経路として決定して、データ伝送決定処理を終了する。
【００６３】
図８Ａに、ステップ１３３で取得した各時刻の端末間予測通信帯域を記録する端末間通信帯域テーブル７２Ａを例示する。図８Ａの端末間通信帯域テーブル７２Ａは、選択されたデータ伝送経路に移動端末３０−ａ１及び３０−ａ２が含まれる例である。端末間予測通信帯域は、例えば、サーバ１０の二次記憶部４３のデータ格納領域４３Ｂに格納される。端末間通信帯域テーブル７２Ａは、例えば、図４Ａに例示した予測位置テーブル７１Ａの予測位置情報及び予測通信帯域情報に基づいて生成される。例えば、サーバ１０と移動端末３０−ａ１との間の時刻ｔの端末間予測通信帯域は、時刻ｔにおけるサーバ１０と移動端末３０−ａ１との間の予測距離及びサーバ１０及び移動端末３０−ａ１の各々の予測通信帯域に基づいて定まる。
【００６４】
なお、２個以上の移動端末３０は、伝送データを、どの端末間で、どのタイミングで、伝送するかによって、複数のデータ伝送経路候補を形成し得る。端末間通信帯域テーブル７２Ａでは、時間Ｔは７秒間に設定され、時刻ｔ＝０秒におけるサーバ１０から情報処理装置２０への端末間予測通信帯域は、１Ｍｂｐｓである。
【００６５】
図７のステップ１３４で、流量が最大であるデータ伝送経路を選択するために、まず、図８Ａの端末間通信帯域テーブル７２Ａを図８Ｂの端末間通信帯域テーブル７２Ｂに変形する。サーバ１０、情報処理装置２０及び移動端末３０の各々の端末間の全てで、隣り合う時刻の端末間予測通信帯域が同じである端末間予測通信帯域を加算する。例えば、図８Ａにおいて、時刻ｔ＝０秒及び時刻ｔ＝１秒では、サーバ１０、情報処理装置２０及び移動端末３０の各々の端末間の全てで、隣り合う端末間予測通信帯域が同じである。したがって、図８Ｂに示すように、時刻ｔ＝０秒及びｔ＝１秒の、例えば、サーバ１０から情報処理装置２０への予測通信帯域を加算して、２Ｍｂｐｓ（＝１Ｍｂｐｓ＋１Ｍｂｐｓ）とする。
【００６６】
次に、図８Ｂにおいて０である端末間予測通信帯域は、図８Ｃに例示する端末間通信帯域テーブル７２Ｃを後述するグラフに変形する際に無視するために、「−」で置き替える。また、図８Ａにおいて、サーバ１０、情報処理装置２０及び移動端末３０の各々の端末間毎に、隣り合う端末間予測通信帯域が同じである場合、図８Ｃの端末間通信帯域テーブル７２Ｃに示すように、端末間予測通信帯域を加算する。例えば、移動端末３０−ａ２から情報処理装置２０への端末間予測通信帯域は、時刻ｔ＝０秒からｔ＝５秒まで全て０Ｍｂｐｓであるため、加算して０Ｍｂｐｓとし、「−」で置き替える。なお、サーバ１０から情報処理装置２０への端末間予測通信帯域は、隣り合う端末間予測通信帯域が同じであるか否かに拘わらず、加算する。例えば、図８Ａの端末間通信帯域テーブル７２Ａにおいて、サーバ１０から情報処理装置２０への端末間予測通信帯域を、時刻ｔ＝０秒からｔ＝７秒まで全て加算して、８Ｍｂｐｓとする。サーバ１０はデータを出力するのみであり、情報処理装置２０はデータを入力するのみであるため、時刻による区別が必要とされないためである。
【００６７】
次に、図８Ｃの端末間通信帯域テーブル７２Ｃを図９Ａに示すグラフ７３Ａに変換する。サーバ１０及び情報処理装置２０については、上記した通り、時刻による区別が必要とされないため、頂点に参照符号を示し、移動端末３０−ａ１及び３０−ａ２については、頂点に参照符号及び時刻を示している。また、頂点間の枝には図８Ｃの端末間予測通信帯域テーブル７２Ｃに示される端末間予測通信帯域が示されている。例えば、サーバ１０を示す頂点と情報処理装置２０を示す頂点とをつなぐ枝には８が示され、サーバ１０を示す頂点と移動端末３０−ａ１の時刻ｔ＝０秒及びｔ＝１秒を示す頂点とをつなぐ枝には２００が示されている。なお、矢印のついている枝は有向枝であり、矢印のついていない枝は無向枝である。
【００６８】
また、同じ端末を示す頂点をつなぐ枝の端末間予測通信帯域は無限大であると仮定し、同じ端末を示す頂点をつなぐ枝には端末間予測通信帯域を示さない。例えば、移動端末３０−ａ１の時刻ｔ＝０秒及びｔ＝１秒を示す頂点と移動端末３０−ａ１の時刻ｔ＝２秒を示す頂点とをつなぐ枝には端末間予測通信帯域を示さない。また、図８Ｃにおいて、「−」で置き替えられた端末間予測通信帯域については無視する。例えば、移動端末３０−ａ１の時刻ｔ＝０秒、ｔ＝１秒、ｔ＝２秒を示す頂点と移動端末３０−ａ２の時刻ｔ＝０秒、ｔ＝１秒、ｔ＝２秒を示す頂点とをつなぐ枝は示さない。
【００６９】
図９Ａに例示したグラフ７３Ａに、既存の技術である最大流問題の解法アルゴリズムを適用することで、図９Ｂに例示するように、流量が最大であるデータ伝送経路７３Ｂを選択する。図９Ｂでは、時刻ｔ＝０秒及びｔ＝１秒で、サーバ１０から端末３０−ａ１に２００Ｍｂの伝送データを送信し、時刻ｔ＝３秒及びｔ＝４秒で、端末３０−ａ１から移動端末３０−ａ２に２００Ｍｂの伝送データを送信し、時刻ｔ＝６秒及びｔ＝７秒で、移動端末３０−ａ２から情報処理装置２０に伝送データ２００Ｍｂを送信する。また、時刻ｔ＝０秒〜７秒で、サーバ１０から情報処理装置２０に８Ｍｂのデータを伝送する。したがって、選択したデータ伝送経路の最大流量は、２０８Ｍｂ（＝２００Ｍｂ＋８Ｍｂ）である。
【００７０】
伝送データＤ１のデータ量が２０５Ｍｂである場合、最大流量２０８Ｍｂは伝送データＤ１のデータ量以上である。したがって、図７のステップ１３５の判定が肯定され、ステップ１３７で、図９Ｂに例示するデータ伝送経路が最適なデータ伝送経路として決定される。なお、最大流量が伝送データのデータ量未満である場合には、図７のステップ１３６で、時間Ｔを１秒増やし、時間Ｔ＝８秒として、上記と同様の処理を繰り返す。なお、時間Ｔの増分量は１秒に限定されない。例えば、２秒であってもよい。
【００７１】
図１０Ａに例示する端末間予測通信帯域テーブル７４Ａは、ステップ１３２で選択されたデータ伝送経路候補が、移動端末３０−ａ１、移動端末３０−ａ２及び移動端末３０−ａ３を含む場合である。端末間通信帯域テーブル７４Ａでは、時間Ｔは６秒間に設定されている。
【００７２】
図７のステップ１３４で、流量が最大であるデータ伝送経路を選択するために、まず、図１０Ａの端末間通信帯域テーブル７４Ａを図１０Ｂの端末間通信帯域テーブル７４Ｂに変換する。サーバ１０、情報処理装置２０及び移動端末３０の各々の端末間の全てで、隣り合う時刻の端末間予測通信帯域が同じ端末間予測通信帯域を加算する。例えば、図１０Ａにおいて、時刻ｔ＝５秒及び時刻ｔ＝６秒では、サーバ１０、情報処理装置２０及び移動端末３０の各々の端末間の全てで、隣り合う端末間予測通信帯域が同じである。したがって、図１０Ｂに示すように、時刻ｔ＝５秒及びｔ＝６秒の、例えば、移動端末３０−ａ１から情報処理装置２０への端末間予測通信帯域を加算して、１００Ｍｂｐｓ（＝５０Ｍｂｐｓ＋５０Ｍｂｐｓ）とする。
【００７３】
次に、図１０Ａにおいて、端末間毎に隣り合う時刻で連続して０である端末間予測通信帯域は、端末間通信帯域テーブル７４Ｂを後述するグラフに変形する際に無視するために、「−」で置き替える。
【００７４】
次に、図１０Ｂの端末間通信帯域テーブル７４Ｂを図１１Ａに示すグラフ７５Ａに変形する。グラフ７５Ａは、図９Ａのグラフ７３Ａと類似しているため、詳細な説明は省略する。
【００７５】
図１１Ａに例示したグラフ７５Ａに、既存の技術である最大流問題の解法アルゴリズムを適用することで、図１１Ｂに例示するように、流量が最大であるデータ伝送経路７５Ｂを選択する。図１１Ｂでは、時刻ｔ＝０秒で、サーバ１０から端末３０−ａ１に２００Ｍｂの伝送データを送信し、時刻ｔ＝１秒で、端末３０−ａ１から移動端末３０−ａ３に５０Ｍｂの伝送データを送信し、端末３０−ａ１は１５０Ｍｂ（＝２００Ｍｂ−５０Ｍｂ）の伝送データを保持する。時刻ｔ＝２秒で、移動端末３０−ａ３から移動端末３０−ａ２に伝送データ５０Ｍｂを送信する。また、時刻ｔ＝３秒で、移動端末３０−ａ１から移動端末３０−ａ２に伝送データ５０Ｍｂを送信し、移動端末３０−ａ１は１００Ｍｂ（＝１５０Ｍｂ−５０Ｍｂ）の伝送データを保持する。移動端末３０−ａ２は、伝送データ１００Ｍｂ（＝５０Ｍｂ＋５０Ｍｂ）を保持する。時刻ｔ＝４秒で、移動端末３０−ａ２から情報処理装置２０に１００Ｍｂの伝送データを送信し、時刻ｔ＝５秒及びｔ＝６秒で、移動端末３０−ａ１から情報処理装置２０に１００Ｍｂの伝送データを伝送する。したがって、選択したデータ伝送経路の最大流量は、２００Ｍｂ（＝１００Ｍｂ＋１００Ｍｂ）である。
【００７６】
伝送データＤ１のデータ量が２０５ＭＢである場合、最大流量は伝送データＤ１のデータ量より小さい。したがって、図７のステップ１３５の判定が否定され、ステップ１３６で、時間Ｔを１秒増やし、時間Ｔ＝７秒として、上記と同様の処理を繰り返す。
【００７７】
なお、本実施形態では、サーバ１０が、予測位置情報及び予測通信帯域情報を有し、データ伝送経路を決定する例について説明したが、本実施形態はこれに限定されない。予測位置情報及び予測通信帯域情報を情報処理装置２０または移動端末３０の何れか、または、他の外部コンピュータが有していてもよい。また、情報処理装置２０、移動端末３０の何れか、または、他の外部コンピュータが、データ伝送経路を決定してもよい。この場合は、情報処理装置２０、移動端末３０の何れか、または、他の外部コンピュータは、通信制御装置の一例であり、サーバ１０について図２Ｄに例示したように、生成部、決定部、及び指示部を有していてもよい。
【００７８】
本実施形態では、移動端末群の複数の移動端末３０の各々、サーバ１０、及び情報処理装置２０の各時刻の予測位置並びに各時刻の予測通信帯域に基づいて、サーバ１０及び情報処理装置２０の一方から他方にデータを伝送するデータ伝送経路候補を複数生成する。移動端末群は、各々データ伝送を中継する機能を有する複数の移動端末３０を備え、複数の移動端末３０の内、少なくとも２つの移動端末３０を経由してサーバ１０及び情報処理装置２０の一方から他方にデータ伝送を中継する。予測位置及び予測通信帯域に基づいて算出した複数の前記データ伝送候補経路の伝送コストが最小となるデータ伝送経路を決定する。決定したデータ伝送経路を使用して、サーバ１０及び情報処理装置２０の一方から他方にデータを伝送するようサーバ１０及び情報処理装置２０の一方に指示する。
【００７９】
本実施形態では、伝送コストが、サーバ１０及び情報処理装置２０の一方から他方への伝送データの伝送時間であり、最適なデータ伝送経路として、伝送データの伝送時間が最小であるデータ伝送経路を決定する例について説明した。しかし、本実施形態はこれに限定されない。例えば、最適なデータ伝送経路として、伝送データの伝送時間が２番目に小さいデータ伝送経路を決定してもよい。また、例えば、サーバ１０及び情報処理装置２０の他方が、所定時間以内に要求した伝送データを受信できなかった場合、サーバ１０及び情報処理装置２０の一方は、図７のデータ伝送経路決定処理を再度実行してもよい。
【００８０】
本実施形態では、最適なデータ伝送経路を決定し、決定された最適なデータ伝送経路を使用して、データを伝送するよう指示する。したがって、端末同士が近距離無線通信可能な領域内に存在しない場合であっても、通信リソースの消費を抑制して、端末間でデータの伝送を行うことを可能とする。また、本実施形態では、複数の移動端末の内、少なくとも２つの移動端末を経由してデータ伝送を中継する。少なくとも２つの移動端末を経由してサーバ１０及び情報処理装置２０の一方から他方へ伝送データを伝送することができるデータ伝送経路が存在する確率は、１つの移動端末だけを経由するデータ伝送経路が存在する確率よりも高い。したがって、端末間でデータの伝送が成功する確率が向上する。
【００８１】
［第２実施形態］
次に、実施形態の一例である第２実施形態を説明する。第１実施形態と同様の構成及び作用については説明を省略する。
【００８２】
本実施形態では、伝送コストとして通信コストを使用する点で、第１実施形態と異なる。端末間の通信コストは、端末間通信データ量と端末間通信コスト率を乗算することで取得される値であり、端末間通信コスト率は、例えば、端末間で使用される通信種類に基づいて定まる通信対象端末の数が多いほど高くなるように設定する。例えば、携帯電話通信の端末間通信コスト率は、アドホック通信による端末間通信コスト率より高く設定される。また、例えば、マルチホップ通信の端末間通信コスト率は、携帯電話通信の端末間通信コスト率より低く、アドホック通信による端末間通信コスト率より高く設定される。
【００８３】
マルチホップ通信では、アドホックモードでの通信をバケツリレー方式でつないで、複数の移動端末３０を介して通信を行う。したがって、マルチホップ通信の通信対象端末の数はアドホック通信の通信対象端末の数より多く、携帯電話通信の通信対象端末の数より少ない。また、同じ端末内での通信コストは０である。
【００８４】
図１２に、本実施形態のデータ伝送経路決定処理を例示する。ステップ１３１〜ステップ１３３及びステップ１３６は、図７と同様であるため、説明を省略する。本実施形態では、サーバ１０のＣＰＵ４１は、ステップ１３８で、端末間通信コスト率を取得する。端末間通信コスト率は、端末間で使用される通信種類に基づいて予め設定され、サーバ１０の二次記憶部４３のデータ格納領域４３Ｂに保存されていてもよい。
【００８５】
ＣＰＵ４１は、ステップ１３９で、ステップ１３２で選択されたデータ伝送経路候補の内、端末間通信コストの和が最小になるデータ伝送経路を選択する。ＣＰＵ４１は、ステップ１４０で、ステップ１３９で選択されたデータ伝送経路の流量が伝送データＤ２のデータ量以上であるか否か判定する。ステップ１４０の判定が肯定された場合、ステップ１４１で、ステップ１３９で選択されたデータ伝送経路を最適なデータ伝送経路として決定する。
【００８６】
図１３に、サーバ１０の二次記憶部４３のデータ格納領域４３Ｂに保存された端末間通信コスト率テーブル７６を例示する。例えば、サーバ１０と情報処理装置２０との間の通信は携帯電話通信であるため、通信コスト率が１００であり、移動端末３０−ａ１と移動端末３０−ａ２との間の通信はアドホックによる通信であるため、通信コスト率が１である。
【００８７】
図１４Ａに、図８Ｃの端末間通信帯域テーブル７２Ｃから変換したグラフ７７Ａを例示する。枝に（予測位置及び予測通信帯域に基づく、）通信データ量と、図１３の通信コスト率と、が付加されている点で、図９Ａのグラフと異なる。図１４Ａのグラフに最小費用流問題の解法アルゴリズムを適用することで、図１４Ｂの端末間通信コストの和が最小である、即ち、通信コストが最小であるデータ伝送経路を決定することができる。
【００８８】
図１４Ｂのグラフ７７Ｂでは、流量が２００Ｍｂである。伝送データＤ２のデータ量が１９０Ｍｂである場合、流量は伝送データＤ２のデータ量以上である。したがって、図１２のステップ１４０の判定が肯定され、ステップ１４１で、図１４Ｂのグラフ７７Ｂのデータ伝送経路が最適なデータ伝送経路として決定される。図１４Ｂのグラフ７７Ｂのデータ伝送経路の端末間通信コストの和、即ち、通信コストは、２００Ｍｂ×５＋２００Ｍｂ×１＋２００Ｍｂ×１＝１４００Ｍｂである。
【００８９】
なお、第１及び第２の実施形態において、サーバ１０、情報処理装置２０、及び複数の移動端末３０の各時刻の予測通信帯域を、サーバ１０、情報処理装置２０、及び複数の移動端末３０の位置の予測確率に基づいて調整してもよい。図１５に、予測確率テーブル７８を例示する。予測確率テーブル７８は、時刻毎に、サーバ１０、情報処理装置２０、及び移動端末３０が、例えば、図４Ａの予測位置テーブル７１Ａで示される予測位置に存在する確率である予測確率を示す。予測確率テーブル７８は、例えば、サーバ１０の二次記憶部４３のデータ格納領域４３Ｂに保存されていてもよい。例えば、時刻ｔ＝０秒のサーバ１０が、予測位置テーブル７１Ａで示される予測位置に存在する確率は０．９である。
【００９０】
対応する予測確率を端末毎の予測通信帯域に乗算して取得した値を、第１及び第２の実施形態において、端末毎の予測通信帯域として使用する。例えば、時刻ｔ＝０秒における、移動端末３０−１の予測通信帯域が１５０Ｍｂｐｓである場合、予測通信帯域は予測確率を乗算することで、１３５Ｍｂｐｓ（＝１５０Ｍｂｐｓ×０．９）に調整される。また、時刻ｔ＝２秒における、移動端末３０−１の予測通信帯域が２００Ｍｂｐｓである場合、予測通信帯域は、６０Ｍｂｐｓ（＝２００Ｍｂｐｓ×０．３）に調整される。
【００９１】
予測確率は、０．０〜１．０の値であり、確実にデータ送信が可能な伝送経路を決定するために、予測確率に、０．５より大きく１より小さい係数をさらに乗算してもよい。サーバ１０及び情報処理装置２０の位置が固定されている場合、サーバ１０及び情報処理装置２０の予測位置の予測確率は高く、例えば、移動端末３０の予測位置が不確定な予測情報に基づいて決定されている場合、予測確率は低く設定される。また、時間が経過するに従って、予測確率は低くなるように設定される。
【００９２】
なお、端末の予測位置を決定する情報が、例えば、移動先の位置及び運行時間が正確である可能性が高い移動手段（例えば、鉄道）に関する情報である場合、予測位置の予測確率は高い数値に設定される。しかし、端末の予測位置を決定する情報が、移動時間が不確定である可能性が高いナビゲーションシステムの設定情報である場合、予測位置の予測確率は中程度の数値に設定される。また、端末の予測位置を決定する情報が、移動先及び移動時間が不確定である可能性が高い情報（例えば、統計情報）である場合、予測位置の予測確率は、低い数値に設定される。
【００９３】
なお、本実施形態では、サーバ１０が、予測位置情報及び予測通信帯域情報を有し、データ伝送経路を決定する例について説明したが、本実施形態はこれに限定されない。予測位置情報及び予測通信帯域情報を情報処理装置２０または移動端末３０の何れか、または、他の外部コンピュータが有していてもよい。また、情報処理装置２０、移動端末３０の何れか、または、他の外部コンピュータが、データ伝送経路を決定してもよい。この場合は、情報処理装置２０、移動端末３０の何れか、または、他の外部コンピュータは、通信制御装置の一例であり、サーバ１０について図２Ｄに例示したように、生成部、決定部、及び指示部を有していてもよい。
【００９４】
本実施形態では、移動端末群の複数の移動端末３０の各々、サーバ１０、及び情報処理装置２０の各時刻の予測位置並びに各時刻の予測通信帯域に基づいて、サーバ１０及び情報処理装置２０の一方から他方にデータを伝送するデータ伝送経路候補を複数生成する。移動端末群は、各々データ伝送を中継する機能を有する複数の移動端末３０を備え、複数の移動端末３０の内、少なくとも２つの移動端末３０を経由してサーバ１０及び情報処理装置２０の一方から他方にデータ伝送を中継する。予測位置及び予測通信帯域に基づいて算出した複数のデータ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定する。決定したデータ伝送経路を使用して、サーバ１０及び情報処理装置２０の一方から他方にデータを伝送するようサーバ１０及び情報処理装置２０の一方に指示する。
【００９５】
本実施形態では、伝送コストは、サーバ１０及び情報処理装置２０の一方から他方へのデータ伝送の通信コストである。通信コストは、端末間通信コストを、複数のデータ伝送経路候補の各々の候補経路毎に加算した値である。端末間通信コストは、各時刻の端末間の通信データ量を、複数のデータ伝送経路候補の各々の候補経路に沿って隣り合う端末間で使用される通信種類に基づいて定まる通信対象端末の数が多くなるに従って、増大するように調整することで定まる。また、各時刻の端末間の通信データ量は、複数の移動端末３０、サーバ１０及び情報処理装置２０の予測位置及び予測通信帯域に基づいて定まる。最適なデータ伝送経路として、通信コストが最小であるデータ伝送経路を決定する。
【００９６】
本実施形態では、伝送コストが、サーバ１０及び情報処理装置２０の一方から他方への伝送データの通信コストであり、最適なデータ伝送経路として、伝送データの通信コストが最小であるデータ伝送経路を決定する例について説明した。しかし、本実施形態はこれに限定されない。例えば、最適なデータ伝送経路として、伝送データの通信コストが２番目に小さいデータ伝送経路を決定してもよい。また、例えば、サーバ１０及び情報処理装置２０の他方が、所定時間以内に要求した伝送データを受信できなかった場合、サーバ１０及び情報処理装置２０の一方は、図１２のデータ伝送経路決定処理を再度実行してもよい。
【００９７】
本実施形態では、最適なデータ伝送経路を決定し、決定された最適なデータ伝送経路を使用して、データを伝送するよう指示する。したがって、端末同士が近距離無線通信可能な領域内に存在しない場合であっても、通信リソースの消費を抑制して、端末間でデータの伝送を行うことを可能とする。また、本実施形態では、複数の移動端末の内、少なくとも２つの移動端末を経由してデータ伝送を中継する。少なくとも２つの移動端末を経由してサーバ１０及び情報処理装置２０の一方から他方へ伝送データを伝送することができるデータ伝送経路が存在する確率は、１つの移動端末だけを経由するデータ伝送経路が存在する確率よりも高い。したがって、端末間でデータの伝送が成功する確率が向上する。
【００９８】
第１及び第２実施形態では、複数の移動端末３０、サーバ１０及び情報処理装置２０の各時刻の予測通信帯域は、予測位置が正確である度合いが低くなるにしたがって、小さくなるように調整されてもよい。これにより、第１及び第２実施形態では、予測位置が正確でないために、所定時間内に、データの伝送が完了しない、という可能性を低減することが可能となる。
【００９９】
なお、図６、図７、及び図１２のフローチャートは例示であり、各ステップの順序は変更されてもよい。
【０１００】
以上の実施形態に関し、更に以下の付記を開示する。
【０１０１】
（付記１）
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び前記第１端末と異なる第２端末の一方から他方にデータ伝送を中継する移動端末群の前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成し、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定し、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する、
通信制御処理をコンピュータに実行させるためのプログラム。
（付記２）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータの伝送時間であり、
前記データ伝送経路として、前記データの伝送時間が最小であるデータ伝送経路を決定する、
付記１のプログラム。
（付記３）
前記データ伝送経路は、最大流問題の解法アルゴリズムを使用して決定される、付記２のプログラム。
（付記４）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータ伝送の通信コストであり、
前記通信コストは、端末間通信コストを、前記複数のデータ伝送経路候補の各々の候補経路毎に加算した値であり、
前記最適なデータ伝送経路として、前記通信コストが最小であるデータ伝送経路を決定する、
付記１のプログラム。
（付記５）
前記端末間通信コストは、端末間の通信データ量を、端末間通信コスト率で乗算することで定まる、
付記４のプログラム。
(付記６）
前記端末間通信コスト率は、前記複数のデータ伝送経路候補の各々の候補経路に沿って隣り合う端末間で使用される通信種類に基づいて定まる通信対象端末の数が多くなるにしたがって、増大するように調整することで定まる、
付記５のプログラム。
（付記７）
前記データ伝送経路は、最小費用流問題の解法アルゴリズムを使用して決定される、付記４〜付記６の何れかのプログラム。
（付記８）
前記複数の移動端末、前記第１端末及び前記第２端末の各時刻の前記予測通信帯域は、前記予測位置が正確である度合いが低くなるにしたがって、小さくなるように調整される、
付記１〜付記７の何れかのプログラム。
（付記９）
コンピュータが、
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び前記第１端末と異なる第２端末の一方から他方にデータ伝送を中継する移動端末群の前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成し、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定し、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する、
通信制御方法。
（付記１０）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータの伝送時間であり、
前記データ伝送経路として、前記データの伝送時間が最小であるデータ伝送経路を決定する、
付記９の通信制御方法。
（付記１１）
前記データ伝送経路は、最大流問題の解法アルゴリズムを使用して決定される、付記１０の通信制御方法。
（付記１２）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータ伝送の通信コストであり、
前記通信コストは、端末間通信コストを、前記複数のデータ伝送経路候補の各々の候補経路毎に加算した値であり、
前記データ伝送経路として、前記通信コストが最小であるデータ伝送経路を決定する、
付記９の通信制御方法。
（付記１３）
前記端末間通信コストは、端末間の通信データ量を、端末間通信コスト率で乗算することで定まる、付記１２の通信制御方法。
（付記１４）
前記端末間通信コスト率は、前記複数のデータ伝送経路候補の各々の候補経路に沿って隣り合う端末間で使用される通信種類に基づいて定まる通信対象端末の数が多くなるにしたがって、増大するように調整することで定まる、
付記１３の通信制御方法。
（付記１５）
前記データ伝送経路は、最小費用流問題の解法アルゴリズムを使用して決定される、付記１２〜付記１４の何れかの通信制御方法。
（付記１６）
前記複数の移動端末、前記第１端末及び前記第２端末の各時刻の前記予測通信帯域は、前記予測位置が正確である度合いが低くなるにしたがって、小さくなるように調整される、
付記９〜付記１５の何れかの通信制御方法。
（付記１７）
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して第１端末及び前記第１端末と異なる第２端末の一方から他方にデータ伝送を中継する移動端末群の前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成する生成部と、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定する決定部と、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する指示部と、
を含む、通信制御装置。
（付記１８）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータの伝送時間であり、
前記決定部は、前記データ伝送経路として、前記データの伝送時間が最小であるデータ伝送経路を決定する、
付記１７の通信制御装置。
（付記１９）
前記データ伝送経路は、最大流問題の解法アルゴリズムを使用して決定される、付記１８の通信制御装置。
（付記２０）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータ伝送の通信コストであり、
前記通信コストは、端末間通信コストを、前記複数のデータ伝送経路候補の各々の候補経路毎に加算した値であり、
前記決定部は、前記データ伝送経路として、前記通信コストが最小であるデータ伝送経路を決定する、
付記１７の通信制御装置。
（付記２１）
前記端末間通信コストは、端末間の通信データ量を、端末間通信コスト率で乗算することで定まる、付記２０の通信制御装置。
（付記２２）
前記端末間通信コスト率は、前記複数のデータ伝送経路候補の各々の候補経路に沿って隣り合う端末間で使用される通信種類に基づいて定まる通信対象端末の数が多くなるにしたがって、増大するように調整することで定まる、
請求項２１の通信制御装置。
（付記２３）
前記データ伝送経路は、最小費用流問題の解法アルゴリズムを使用して決定される、付記２０〜付記２２の何れかの通信制御装置。
（付記２４）
前記複数の移動端末、前記第１端末及び前記第２端末の各時刻の前記予測通信帯域は、前記予測位置が正確である度合いが低くなるにしたがって、小さくなるように調整される、
付記１７〜付記２３の何れかの通信制御装置。
（付記２５）
第１端末と、
前記第１端末と異なる第２端末と、
各々データ伝送を中継する機能を有する複数の移動端末を備え、前記複数の移動端末の内、少なくとも２つの移動端末を経由して前記第１端末及び前記第２端末の一方から他方にデータ伝送を中継する移動端末群と、
を含み、
前記複数の移動端末の各々、前記第１端末、及び前記第２端末の各時刻の予測位置、並びに各時刻の予測通信帯域に基づいて、前記第１端末及び前記第２端末の一方から他方にデータを伝送するデータ伝送経路候補を複数生成し、
前記予測位置及び前記予測通信帯域に基づいて算出した複数の前記データ伝送経路候補の伝送コストが最小となるデータ伝送経路を決定し、
決定した前記データ伝送経路を使用して、前記第１端末及び前記第２端末の一方から他方にデータを伝送するよう前記第１端末及び前記第２端末の一方に指示する、
通信制御システム。
（付記２６）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータの伝送時間であり、
前記データ伝送経路として、前記データの伝送時間が最小であるデータ伝送経路を決定する、
付記２５の通信制御システム。
（付記２７）
前記データ伝送経路は、最大流問題の解法アルゴリズムを使用して決定される、付記２６の通信制御システム。
（付記２８）
前記伝送コストは、前記第１端末及び前記第２端末の一方から他方へのデータ伝送の通信コストであり、
前記通信コストは、端末間通信コストを、前記複数のデータ伝送経路候補の各々の候補経路毎に加算した値であり、
前記データ伝送経路として、前記通信コストが最小であるデータ伝送経路を決定する、
付記２５の通信制御システム。
（付記２９）
前記端末間通信コストは、端末間の通信データ量を、端末間通信コスト率で乗算することで定まる、付記２８の通信制御システム。
（付記３０）
前記端末間通信コスト率は、前記複数のデータ伝送経路候補の各々の候補経路に沿って隣り合う端末間で使用される通信種類に基づいて定まる通信対象端末の数が多くなるにしたがって、増大するように調整することで定まる、
付記２９の通信制御システム。
（付記３１）
前記データ伝送経路は、最小費用流問題の解法アルゴリズムを使用して決定される、付記２８〜３０の何れかの通信制御システム。
（付記３２）
前記複数の移動端末、前記第１端末及び前記第２端末の各時刻の前記予測通信帯域は、前記予測位置が正確である度合いが低くなるにしたがって、小さくなるように調整される、
付記２５〜付記３１の何れかの通信制御システム。
【符号の説明】
【０１０２】
１  通信制御システム
１０  サーバ
１１  受信部
１２  制御部
１３  記憶部
１４  送信部
２０  情報処理装置
２１  受信部
２２  制御部
２３  記憶部
２４  送信部
３０  移動端末
３１  受信部
３２  制御部
３３  記憶部
３４  送信部
４１  ＣＰＵ
４２  一次記憶部
４３  二次記憶部
４４  通信部
５１  ＣＰＵ
５２  一次記憶部
５３  二次記憶部
５４  通信部
６１  ＣＰＵ
６２  一次記憶部
６３  二次記憶部
６４  通信部
【図１】
2018037943.tif 000003
【図２Ａ】
2018037943.tif 000004
【図２Ｂ】
2018037943.tif 000005
【図２Ｃ】
2018037943.tif 000006
【図２Ｄ】
2018037943.tif 000007
【図３Ａ】
2018037943.tif 000008
【図３Ｂ】
2018037943.tif 000009
【図３Ｃ】
2018037943.tif 000010
【図４Ａ】
2018037943.tif 000011
【図４Ｂ】
2018037943.tif 000012
【図５】
2018037943.tif 000013
【図６】
2018037943.tif 000014
【図７】
2018037943.tif 000015
【図８Ａ】
2018037943.tif 000016
【図８Ｂ】
2018037943.tif 000017
【図８Ｃ】
2018037943.tif 000018
【図９Ａ】
2018037943.tif 000019
【図９Ｂ】
2018037943.tif 000020
【図１０Ａ】
2018037943.tif 000021
【図１０Ｂ】
2018037943.tif 000022
【図１１Ａ】
2018037943.tif 000023
【図１１Ｂ】
2018037943.tif 000024
【図１２】
2018037943.tif 000025
【図１３】
2018037943.tif 000026
【図１４Ａ】
2018037943.tif 000027
【図１４Ｂ】
2018037943.tif 000028
【図１５】
2018037943.tif 000029