(57)【要約】【課題】  トポロジが動的に変化するアドホックネットワークにおいて、送信元端末から宛先端末までデータを転送し、データを確実に送り届けることができたか否かを確認できるシステムを提供することを目的とする。【解決手段】  第一及び第二の端末が、無線通信を行うネットワークシステムにおいて、第一の端末は、当該第一の端末が保持する期待度に基づいて、第二の端末に送信すべきデータを中継する中継端末を選択し、データを、第一の端末のアドレスを示す第一の情報、及び第二の端末のアドレスを示す第二の情報と共に、中継端末に送信し、中継端末は、受信した第一、第二の情報、及びデータを第二の端末に送信し、第二の端末は、第一、第二の情報、及びデータを受信すると、第一の端末に対し、当該第二の端末が保持する期待度に基づいて、完了通知を送信する。【選択図】  図１
2007208955.tif 000002
【特許請求の範囲】
【請求項１】
第一及び第二の端末が、無線通信を行うネットワークシステムにおいて、
前記第一の端末は、当該第一の端末が保持する期待度に基づいて、前記第二の端末に送信すべきデータを中継する中継端末を選択し、前記データを、前記第一の端末のアドレスを示す第一の情報、及び前記第二の端末のアドレスを示す第二の情報と共に、前記中継端末に送信し、
前記中継端末は、受信した前記第一、第二の情報、及び前記データを前記第二の端末に送信し、
前記第二の端末は、前記第一、第二の情報、及び前記データを受信すると、前記第一の端末に対し、当該第二の端末が保持する期待度に基づいて、完了通知を送信する、ネットワークシステム。
【請求項２】
前記中継端末は、受信した前記第一、第二の情報、及び前記データを、他の中継端末を経由して、前記第二の端末に送信する、請求項１記載のネットワークシステム。
【請求項３】
前記第一の端末は、当該第一の端末が保持する期待度を、前記中継端末のアドレスと対応付けて格納する、請求項１記載のネットワークシステム。
【請求項４】
前記中継端末は、当該中継端末の期待度を設定し、当該期待度を前記第一の端末に送信する、請求項１記載のネットワークシステム。
【請求項５】
前記中継端末は、GPS情報に基づいて、当該中継端末の期待度を設定する、請求項４記載のネットワークシステム。
【請求項６】
前記中継端末は、前記第二の端末から前記完了通知を受信すると、当該完了通知を、当該中継端末が保持する期待度に基づいて、前記第一の端末に送信する、請求項１記載のネットワークシステム。
【請求項７】
前記中継端末は、前記完了通知を、他の中継端末を経由して、前記第一の端末に送信する、請求項６記載のネットワークシステム。
【請求項８】
前記第二の端末は、携帯電話通信網を経由して、前記第一の端末に対して、完了通知を送信する、請求項１記載のネットワークシステム。
【請求項９】
前記中継端末は、前記データに対して設定した期間内に前記データの送信ができなかった場合、前記第一の端末に、エラーを通知する、請求項１記載のネットワークシステム。
【請求項１０】
前記中継端末は、携帯電話通信網を介して、エラーを通知する、請求項９記載のネットワークシステム。
【請求項１１】
前記データは、前記データの識別子、全体サイズ、転送する部分データの前記データの先頭からのオフセット値、及び前記部分データのサイズを含み、
前記第一端末又は前記中継端末は、同じ前記識別子を持つ複数の異なる前記部分データを受信し、前記部分データの先頭位置、及び前記部分データのサイズから複数の異なる部分データ同士の結合が可能か否かを判断し、
前記第二の端末が前記判断に基づいて前記部分データ同士の結合を行った場合、該結合した部分データと前記データの全体サイズとから、前記データの全体を受信完了したか否かを判断し、全体を受信完了した場合には前記第一の端末へ完了通知を送信する、請求項１記載のネットワークシステム。
【請求項１２】
前記第一及び第二の端末が、それぞれ前記第一及び第二の端末であることを、前記中継端末に通知し、
前記中継端末は、当該通知に基づいて前記第一及び第二の端末に対して、前記期待度を設定する、請求項１記載のネットワークシステム。
【請求項１３】
前記第一の端末又は前記中継端末は、通信可能な周辺通信装置の履歴を記録し、
前記第一の端末が、前記中継装置を選択する際、前記履歴に基づいて、新たに通信可能となった周辺通信装置を優先的に選択する、請求項１記載のネットワークシステム。
【請求項１４】
前記中継端末は、前記履歴に前記第二の端末が現れる頻度に基づいて、当該中継端末の期待度を設定する、請求項１３記載のネットワークシステム。
【請求項１５】
前記第一の端末は、前記データと共に前記データに対する証明書を送信し、
前記中継端末が、前記証明書の正当性及び前記第一の端末を判断し、当該判断に基づいて、前記データの中継を行うか否かを判断する、請求項１記載のネットワークシステム。
【請求項１６】
前記第一の端末は、前記中継端末の移動方向に基づいて、当該中継装置の期待度を設定する、請求項１記載のネットワークシステム。
【請求項１７】
前記第一の端末は、前記中継端末から、当該中継端末の移動状況を示す情報を受信し、当該情報に基づいて、前記中継端末が前記第二の端末の方向へ移動しているか否かを判定する、請求項１６記載のネットワークシステム。
【請求項１８】
前記第一の端末は、前記中継端末から発せられる電波強度に基づいて、前記中継端末が前記第二の端末の方向へ移動しているか否かを判定する、請求項１６記載のネットワークシステム。
【請求項１９】
前記第一の端末は、前記第二の端末の位置情報を保持し、
前記中継端末の位置情報を当該中継端末から受信し、
前記中継端末及び前記第二の端末の位置情報に基づいて、前記中継端末の移動方向を示す直線、及び、前記中継端末の移動方向と前記第二の端末の位置とを結ぶ直線との間の角度、並びに、前記中継装置及び第二との端末の間の距離を求め、
前記角度及び距離に基づいて、前記中継端末が前記第二の端末の方向へ移動しているか否かを判定する、請求項１６記載のネットワークシステム。
【請求項２０】
前記第一の端末は、前記距離が閾値より大きい場合、前記角度を優先して、前記中継端末を選択するための値を算出し、前記距離が閾値以下の場合、前記距離を優先して、前記中継端末を選択するための値を算出する、請求項１９記載のネットワークシステム。
【請求項２１】
前記中継端末は、前記第一の端末から前記データを受信すると、前記第一の端末から前記データを受信したことを示す情報を、前記第一の端末へ送信する、請求項１６記載のネットワークシステム。
【請求項２２】
前記第一の端末は、前記中継端末から、前記第一の端末から前記データを受信したことを示す情報を一定時間内に受信しない場合、前記データの再送を行い、前記中継端末から前記第二の情報を一定時間内に受信した場合、再送タイムアウト値を設定する、請求項２１記載のネットワークシステム。
【請求項２３】
前記中継端末は、前記データを前記第二の端末へ送信し、
前記第二の端末は、前記中継端末から前記データを受信すると、前記中継端末から前記データを受信したことを示す情報を、前記中継端末へ送信し、
前記中継端末は、当該情報を受信すると、当該情報を前記第一の端末へ送信する、請求項２２記載のネットワークシステム。
【請求項２４】
前記第一の端末は、前記データフォーマットにおける有効期限、及び、データ送信処理におけるタイムアウト値を、前記中継端末から前記データを受信したことを示す情報が届くまでの間に設定する、請求項２３記載のネットワークシステム。
【請求項２５】
前記第一の端末は、前記中継端末と通信できる時間を算出し、
前記算出した時間内に前記データの単位を前記中継端末に対して送信完了できると判定した場合、データ送信を試み、送信完了できないと判定した場合、送信停止、又は、他のデータの送信を試みる、請求項１６記載のネットワークシステム。
【請求項２６】
送信時状況、通信パラメータ、送信成否記録情報の少なくとも一つに基づいて、前記中継端末と通信できる時間を算出する、請求項２５記載のネットワークシステム。
【請求項２７】
前記中継端末は、当該中継端末が前記第二の端末から遠ざかっていると判定した場合、他の端末に前記データを送信し、当該中継端末が前記第二の端末から遠ざかっていないと判定した場合には、当該中継端末で前記データを保持する、請求項１６記載のネットワークシステム。
【請求項２８】
前記第一の情報は、センサ情報、位置情報、端末の移動履歴、目的地履歴、通信基地局との接続履歴のうち、少なくとも一つを含む、請求項１７記載のネットワークシステム。
【請求項２９】
前記第一の端末は、データ送信時、自端末や他端末の位置などの前記状況情報に基づいて、前記第一の端末と前記第二の端末との間の距離が閾値以下の場合、データ送信方法を変更する、請求項１６記載のネットワークシステム。 
【請求項３０】
無線通信を行う第一及び第二の端末が、携帯電話網を介して接続されるネットワークシステムにおいて、
前記第一の端末は、期待度を示す第一の情報に基づいて、前記第二の端末に送信すべきデータを中継する中継端末を選択し、前記データを、前記第一の端末のアドレスを示す第一の情報、及び前記第二の端末のアドレスを示す第二の情報と共に、前記中継端末に送信し、
前記中継端末は、受信した前記第一、第二の情報、及び前記データを前記第二の端末に送信し、
前記第二の端末は、前記第一、第二の情報、及び前記データを受信すると、前記第一の端末に対し、前記携帯電話網を介して、完了通知を送信する、ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信を行う技術に関する。
【背景技術】
【０００２】
昨今、無線基地局等の通信インフラに依存することなく、無線端末間のみで通信を行う技術（アドホックネットワーク）が研究されている。アドホックネットワークについては、IETF（Internet Engineering Task Force）のMANET（Mobile Ad-hoc Networks）ワーキンググループを中心に仕様検討及び標準化が行われており、無線端末間の直接通信（シングルホップ）のみならず、一つ以上の他の端末を経由して行われる通信（マルチホップ）もある。
【０００３】
しかし、無線端末が移動等によりアドホックネットワーク全体の範囲から外れた場合、通信不可能となる期間が存在する。これに対し、データを送信する元の端末（以下、送信元端末と称する）から、データを送り届ける先の端末（以下、宛先端末と称する）にデータを転送する際、送信元端末からデータを配布された、データを中継する端末（以下、中継端末と称する）Ａが次にデータを配布すべき中継端末Ｂを探索して、データを配布し、端末間でデータをリレーしながら、宛先端末までデータを送り届ける技術がある（特許文献１参照）。
【０００４】
又、特定の端末にデータ転送を行う電子メールシステムがある。電子メールシステムでは、送信元端末が、宛先端末を特定する。次に、予め所有するネットワークのトポロジ情報等に基づき、他の端末を中継端末としてデータ転送を行い、当該中継端末にその後のデータ転送を依頼する。データ転送が失敗した場合には、送信元端末やデータを転送した中継端末にエラー通知を行うこともある。又、データを受信した宛先端末がデータを受信したことの確認を送信元端末に通知することもある。
【０００５】
【特許文献１】特開２００５−１４８９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１によれば、アドホックネットワークにおいて、マルチホップ通信に加え、送信元端末から、中継端末としての条件を満たす複数の端末に対しデータを配布することはできるが、特定の宛先端末に確実にデータを送り届けることができたか否かを確認することができない、という課題がある。
【０００７】
電子メールシステムによれば、送信元端末から宛先端末まで確実にデータを送り届けることができたか否かを確認することはできるが、アドホックネットワークのように、トポロジが動的に変化するネットワークを考慮したものではない。
【０００８】
そこで、本発明の目的は、トポロジが動的に変化するアドホックネットワークにおいて、送信元端末から宛先端末までデータを転送し、データを確実に送り届けることができたか否かを確認できるシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の望ましい態様の一つは次の通りである。
【００１０】
第一及び第二の端末が、無線通信を行うネットワークシステムにおいて、第一の端末は、当該第一の端末が保持する期待度に基づいて、第二の端末に送信すべきデータを中継する中継端末を選択し、データを、第一の端末のアドレスを示す第一の情報、及び第二の端末のアドレスを示す第二の情報と共に、中継端末に送信し、中継端末は、受信した第一、第二の情報、及びデータを第二の端末に送信し、第二の端末は、第一、第二の情報、及びデータを受信すると、第一の端末に対し、当該第二の端末が保持する期待度に基づいて、完了通知を送信する。
【発明の効果】
【００１１】
本発明によれば、トポロジが動的に変化するアドホックネットワークにおいて、送信元端末から宛先端末までデータを転送し、データを確実に送り届けることができたか否かを確認できるシステムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、実施例を、図面を用いて、説明する。
【実施例１】
【００１３】
図１は、端末のハードウェア構成図である。
【００１４】
該端末は、CPU１、メインメモリ２、不揮発性の記憶装置３、無線通信により他端末とデータの送受信を行う無線通信インタフェース４、視聴者やオペレータ等との入出力を司る入出力装置５（ディスプレイ、スピーカ、タッチパネル等）、及びセンサ情報受信装置６（速度センサ、移動距離センサ、GPS等）とからなり、これらはバス等の通信線７により接続される。
【００１５】
CPU１は、記憶装置３に格納されるプログラムをメインメモリ２に読み込み、実行することにより、種々の処理を行う。これらのプログラムやデータは、予め記憶装置３に格納しておいてもよいし、ＣＤ−ＲＯＭ等の記憶媒体から入力してもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。又、該プログラムにより実現される機能を、専用のハードウェアにより実現してもよい。
【００１６】
図２は、データ転送を行う状況の一例を示す図である。ここでは、アドホックネットワーク２２内にある端末２１が、アドホックネットワーク２４内にある端末２３にデータを送信する状況について説明する。
【００１７】
（A）では、端末２１は、近くに存在する端末（ここでは自動車）２５に、データ２６を無線で送信する。自動車２５は、アドホックネットワーク２４の方向に移動している。
【００１８】
（B）では、自動車２５は、アドホックネットワーク２４内に入っている。この段階で、自動車２５は、端末２３と無線通信ができるようになっているので、端末２１から預かったデータ２６を端末２３に送信する。データ２６を受信した端末２３は、データ２６を受信したことを確認する完了通知２７を自動車２５に送信する。そして、自動車２５は、アドホックネットワーク２２の方向へUターンする。
【００１９】
（C）では、アドホックネットワーク２２に戻ってきた自動車２５が、完了通知２７を端末２１に送信する。尚、完了通知を転送する端末は自動車２５以外の端末でもよい。又、携帯電話通信網を使った通信を、送信元端末２１、宛先端末２３が共に行えることが予め分かっていれば、携帯電話通信網を使って完了通知をしてもよい。
【００２０】
以上により、端末２１は端末２３から完了通知を受信するので、完了通知を受信できないときは、データを再送することにより、データを確実に転送することができる。
【００２１】
図３は、メインメモリ２又は記憶装置３に格納されるデータを示す図である。図２の状況に従い、図３のテーブルの内容を記載してある。
【００２２】
（Ａ）は、端末２５が現れる前の、端末２１が保持するデータ転送テーブルを示す。この場合、宛先３１は端末２３を示すが、端末２１と端末２３はそれぞれ別のアドホックネットワークに属しているため、直接通信はできない。従って、端末２３に対する期待度３３は０となる。尚、送信先３２は、端末２１と端末２３の間のデータ転送を中継する端末を示すが、この場合は、空欄になっている。
【００２３】
（Ｂ）は、端末２５が現れた後の、端末２１が保持するデータ転送テーブルを示す。この場合、中継端末である端末２５が現れたため、端末２３にデータが到達する可能性が高まり、期待度３３は更新される（ここでは、４０）。又、送信先３２である端末２５に対してデータを送信できる可能性は高いため、端末２５に対する期待度は高い値となる（ここでは、８０）。
【００２４】
（Ｃ）は、端末２５が保持するデータ転送テーブルを示す。端末２５は、端末２１と端末２３のいずれにもデータを転送できる可能性は高いため、いずれに対する期待度も高い値となる（ここでは、８０）。
【００２５】
（Ｄ）は、データテーブルの一例を示す図である。データの識別子３４、送信元３５、データの全体長３６、先頭位置３７、データの部分長３８、及び宛先３９とから構成される。
【００２６】
送信先３１は、送信元端末と通信可能な端末（中継端末又は宛先端末）のアドレスを示す。期待度３２は、該宛先に対応する端末が宛先端末にデータを送信することの確かさの度合いを示す。
【００２７】
期待度は、どのように設定してもよい。例えば、他の端末との通信履歴（アドホックネットワークにおける通信経路表に基づいてもよい）とその頻度（例えば、過去２４時間中に占める、通信可能であった時間の割合等）に基づいて設定してもよい。又、宛先端末のGPS座標が既知であり、各端末が自端末の過去のGPS座標変動履歴情報、カーナビ等と連動した今後の移動先GPS座標情報等を持っている場合は、それらを利用して設定してもよい。又、新たに通信可能となった端末が現れ、該端末が宛先端末の存在するアドホックネットワーク方向に移動している場合、期待度を高く設定してもよい。
【００２８】
又、新たに通信可能となった端末は、以前から変わらず通信可能で送信元端末周辺に相対的に留まっている端末と比べて、送信元端末と異なるネットワークに接続する可能性が高いと考えることもできる。このような考えに基づき、新たに通信可能となった端末に対して、以前から通信可能であった端末より高い期待度を設定してもよい。尚、期待度の高い端末が複数存在する場合には、宛先端末への到達可能性を上げるため、複数の端末に対してデータ転送を行ってもよい。
【００２９】
識別子３４は、ファイル名等データを識別するための値であり、実際のファイル識別は、例えば送信元３５（送信元端末のみならず、そのデータを送信する中継装置も含む）と組み合わせることで行ってもよい。又、送信元端末では、識別子３４を自端末内で一意に設定することで行ってもよい。
【００３０】
全体長３６は、送信元端末が宛先端末に対して送信すべきデータの全体のサイズを示す。
【００３１】
先頭位置３７は、データが分割されて部分データとなっている場合の、部分データの先頭位置(部分データの先頭が全体データの先頭を基準としてどの位置に当たるかを示すオフセット値)を示す。
【００３２】
部分長３８は、部分データのサイズを示す。データが分割されない場合、先頭位置３７はオフセット0となり、部分長３８は全体長３６に等しくなる。
【００３３】
宛先３９は、データの最終的な送信先（宛先端末）を示す。尚、送受信するデータ自体は記憶装置３又はメインメモリ２の、識別子３４(又は識別子３４と送信元３５の組)と対応させて格納する。
【００３４】
図４は、データ転送のフロー図である。以下、図２と比較しながら説明する。尚、処理の主体は端末であるとして説明するが、該処理をソフトウェアで実現する場合の主体は、プログラムを実行するＣＰＵ１であることはいうまでもない。
【００３５】
まず、端末２１は、宛先端末が送信元端末の通信範囲２２内にあるか否かをチェックする（ステップ４０１）。通信範囲内にある場合（図２では、それぞれの端末の通信範囲２２及び２４に重なりがないため、直接の通信はできない）、転送先は宛先端末とし、宛先端末に対してデータを送信、及び自身の有するデータテーブルを更新（又は新規登録）する（ステップ４０８）。宛先端末はこれを受信し、必要に応じて（１回の受信でデータ全体を受信した場合はデータ受信状況を記憶しなくてもよい）データテーブルを更新（又は新規登録）する（ステップ４０２）。そして、完了通知を送信元端末に送信し（ステップ４０３）、送信元端末は該通知を受信してデータテーブルを更新（データ全体を送信完了なら削除）し（ステップ４０４）、処理を終了する。
【００３６】
ステップ４０１において、宛先端末が通信範囲２２内にない場合、宛先端末２３と将来通信可能になる見込みのある1つ以上の中継端末候補と通信できるか否かをチェックする（ステップ４０５）。尚、中継端末側では随時データ転送テーブルの更新を、通信経路表やGPS位置の変化に伴って行っており（ステップ４１０）、送信元端末のチェック時にはこれに応答して自端末の宛先端末への期待度を返信する（ステップ４１１）。送信元端末は1つ以上の中継端末候補と通信可能な場合、チェック時に取得した各中継端末の宛先端末までの期待度等に基づいてデータ転送テーブルを更新し（ステップ４０６）、中継端末候補から中継端末（図２では端末２５)を選択する（ステップ４０７）。通信不可能の場合、送信元端末はタイマを設定する等して次の送信タイミングを待ち（ステップ４０９）、送信のタイミングとなった場合、ステップ４０１からの処理を繰り返す。
【００３７】
送信元端末は、選択した中継端末に対しデータ転送を行い、データテーブルにこのデータを更新（又は新規登録）して（ステップ４０８）、後の完了通知到着まで保持する。又、選択された中継端末も、転送されたデータを受信すると、該データの更新（又は新規登録）を行う（ステップ４１２）。
【００３８】
こうしてデータ転送の中継を行うこととなった中継端末は、以後送信元端末と同様の処理を行い（ステップ４１３）、宛先端末２３又は別の中継端末と通信可能になった時点でデータを転送する。宛先端末２３は送信元端末２１から直接受信した場合と同様の処理を行う。中継端末は、宛先端末と通信可能になる前に自端末以外の中継端末候補を探索してもよく、そのような中継端末候補でかつ自端末よりも宛先端末と通信可能になる期待度が大きいと判断できる端末に対して送信元端末と同様の処理を行ってデータ中継の役割を引き継いでもよい。又、データ到達可能性を上げるため、自端末も中継端末であり続けたまま他の中継端末候補も追加で中継端末として選択し、データ転送を行ってもよい。
【００３９】
尚、無線LANホットスポットのような限られた通信エリア内に存在する宛先端末に対し、該通信範囲を走り抜ける送信元端末からデータ転送を行う場合、予めデータを１回走り抜ける間に転送可能なサイズに分割し、送信元端末は最初の部分データを宛先端末に対して転送し、残りの部分データは後続車両や対向車両に搭載した端末を中継端末として選択し、これら中継端末に転送しておく。データ転送された中継端末は、残りの部分データの先頭を宛先端末に転送し、更に残りの部分データを前記同様に他の中継端末に転送する。この繰り返しにより、宛先端末に対してデータ全体の転送を行うことができる。
【００４０】
ここで、送信元端末又は中継端末は、同じ識別子を持つ複数の異なる部分データを受信した場合、それら部分データの先頭位置、及びそれら部分データのサイズから複数の異なる部分データ同士の結合が可能か否かを判断し、宛先端末が当該判断に基づいて、それら部分データ同士の結合を行った場合、当該結合した部分データと、データの全体サイズとから、データの全体を受信完了したか否かを判断し、全体を受信完了した場合には、送信元端末へ完了通知を送信する、としてもよい。
【００４１】
又、データ転送にあたって、データと共に前記データに対する証明書を送信することもできる。証明書付きデータを受信した中継端末は証明書の正当性を調べることにより、送信元端末を偽ったり、データを改竄したりといった不正な処理が行われていないか否かを判断することができる。更に、送信元端末を正しく特定できることに基づき、例えば予め定めた端末から受信したデータについては中継をしない、といった判断を行うこともできる。証明書及びその正当性を調べる方法については、どのようなものであってもよい。例えば、各端末の記憶装置３に予め１つ以上の認証局の公開鍵を設定しておき、これらの内の１つを用いて正しく復号できる証明書を正当な証明書であると判断する、といった方法であってもよい。又、例えば、前記公開鍵を第一の公開鍵としたとき、第一の公開鍵を用いて正しく復号できる第二の公開鍵もデータに添付し、第二の公開鍵で正しく復号できる証明書を正当な証明書であると判断する、といった方法であってもよい。
【実施例２】
【００４２】
図５は、実施例２における端末のハードウェア構成図である。
【００４３】
端末は、図１に示したハードウェアの他、インターネットに接続して他の計算機等とデータの送受信を行う有線通信インタフェース５０を有してもよい。
【００４４】
記憶装置３は、データ送受信部５０１、移動状況送受信部５０２、中継端末選択部５０３、データ送達確認部５０４、電波強度取得部５０５、移動方向推定部５０６、通信時間算出部５０７、及び、ヘッダ情報記述部５０８等のプログラム、並びに、送信成否履歴５０９、通信経路表５１０、データ転送テーブル５１１（図３（A））、及び、データテーブル５１２（図３（B））等のデータを格納する。
【００４５】
以下、プログラムが行為主体であるかのように記載するが、実際の行為主体は、それらのプログラムを実行するＣＰＵ１であることはいうまでもない。
【００４６】
データ送受信部５０１は、送信元端末から宛先端末へ送り届けるべきデータ（図６（Ａ））を送受信する。
【００４７】
移動状況送受信部５０２は、自端末の移動状況を示す情報（図６（Ｂ））を他端末に送信し、他端末の移動状況を示す情報を当該他端末から受信する。
【００４８】
中継端末選択部５０３は、近隣に存在する端末の中から、期待度の高い端末を中継端末として、選択する。
【００４９】
データ送達確認部５０４は、中継端末又は宛先端末に対するデータの送達確認を行う。
【００５０】
電波強度取得部５０５は、他端末が発する電波の強度を取得する。
【００５１】
移動方向推定部５０６は、他端末の移動方向を推定する。
【００５２】
通信時間算出部５０７は、他端末との通信可能時間を算出する。
【００５３】
ヘッダ情報記述部５０８は、送信成否履歴５０９に基づいて、送信するデータのヘッダ領域（図６（A））に、情報を記述する。
【００５４】
送信成否履歴５０９は、送信時状況、通信パラメータ、送信成否記録等の情報を示す。
【００５５】
通信経路表５１０は、データがどの中継端末を経由して宛先端末に届くか、のルートを示す情報である。
【００５６】
データ転送テーブル５１１及びデータテーブル５１２は、先述の通りである（図３）。
【００５７】
図６は、データのフォーマットを示す図である。
【００５８】
（Ａ）は、送信元端末から宛先端末へ送り届けるべきデータの一例であり、ヘッダ領域とデータ領域から構成され、ヘッダ領域は、ＩＤ６１（シーケンス番号、ファイル名称、データ範囲等）、宛先端末のアドレス（ＤＳＴ）を示す宛先アドレス６２、送信元端末のアドレス（ＳＲＣ）を示す送信元アドレス６３、宛先端末の位置情報を示す宛先位置６４、送信元端末の位置情報を示す送信元位置６５、現時刻からデータが送信された時刻の差分を示す経過時間６６、データの有効期限を示す有効期限６７、誤りチェック用（ＣＲＣ）６８、及びHash値６９とからなる。
【００５９】
（Ｂ）は、端末の移動状況を示す情報の一例であり、位置情報（ＧＩＳ、ＧＰＳ等）６０１、移動方向６０２、基地局との接続履歴６０３、移動経路履歴６０４、移動性（移動端末、固定端末等）を判定する指標６０５、及び属性情報（巡回車両であるバス、一定方向へ進行する列車等の属性）６０６とからなる。
【００６０】
図７は、データ転送の処理手順を示す図である。
【００６１】
以下、他端末からデータを受信した端末が、データを受信したことを当該他端末に知らせるために送信する情報をＡＣＫと称する。又、中継端末が送信するＡＣＫをＡＣＫ１、宛先端末が送信するＡＣＫをＡＣＫ２と称する。ＡＣＫには、データを受信した端末の位置情報や移動方向といった情報を含めてもよい。
【００６２】
ここでは、宛先端末の位置情報は分かっているものとして記載する（宛先位置６４）。
【００６３】
送信元端末の中継端末選択部５０３は、宛先端末と直接通信できない場合（通信経路表５１０に宛先端末の情報が無い場合）、移動方向推定部５０６、通信時間算出部５０７等を用いて、近隣の通信可能な端末から期待度の高い端末（例えば、宛先端末との近さを期待度として重視する場合は宛先端末に最も近い端末）を中継端末として選択し（ステップ７０１）、当該中継端末にデータを送信する（ステップ７０２）。中継端末は、送信元端末からデータを受信すると（ステップ７０３）、ＡＣＫ１を送信元端末に送信し（ステップ７０４）、送信元端末はＡＣＫ１を当該中継端末から受信する（ステップ７０５）。尚、宛先端末と直接通信できる場合（通信経路表５１０に宛先端末の情報がある場合）には、宛先端末に直接データを送信する。
【００６４】
次に、中継端末が宛先端末と通信可能な場合、中継端末は、送信元端末から受信したデータを、宛先端末に送信する（ステップ７０６）。宛先端末は、当該データを受信すると（ステップ７０７）、ＡＣＫ２を当該中継端末に送信し（ステップ７０８）、中継端末はＡＣＫ２を宛先端末から受信すると（ステップ７０９）、ＡＣＫ２を送信元端末に対して送信し（ステップ７１０）、送信元端末は、ＡＣＫ２を中継端末から受信する（ステップ７１１）。
【００６５】
データ送達確認部５０４は、ＡＣＫを受信することにより、中継端末（又は宛先端末）にデータが届いた、と判定する。
【００６６】
尚、送信元端末（又は中継端末）は、データを送信してから一定時間（タイムアウト時間）経過してもＡＣＫを受信しない場合、中継端末（又は宛先端末）に対してデータを再送し、タイムアウト時間経過前にＡＣＫを受信した場合、タイムアウト時間を再設定する。この再設定は、ＡＣＫ２が送信元端末に届くまでの時間、又は、それらの統計処理結果に基づき、動的に行うことができる。これにより不要なデータの送信処理を抑制し、効率的なデータ転送が可能となる。又、中継端末は、設定した期間内にデータを送信できなかった場合、送信元端末にエラーを通知してもよい。更に、携帯電話通信網を介して、エラーを通知してもよい。
【００６７】
データを受信した中継端末が、宛先端末に到達するために不適切な方向へ移動している場合やＡＣＫを返さなかった場合、送信元端末（あるいはデータを送信した中継端末）は、現在中継端末として選択済みの端末の期待度を下げ、その結果としてデータを委託すべき別の端末を中継端末として再選択し、データの再送を行う。
【００６８】
送信元端末と宛先端末の間に複数の中継端末が存在する場合は、複数の中継端末がそれぞれ上記で説明した中継端末の処理を行い、データは複数の中継端末を経由して、宛先端末まで転送されることとなる。
【００６９】
宛先端末は、完了通知を行う際、上記同様、期待度が高い端末に対して、ＡＣＫを送信する。宛先端末は、先述のように、自端末でカーナビ等を用いて期待度を設定、更新してもよいし、周辺の端末から受信したデータに基づいて設定、更新してもよい。
【００７０】
尚、送信元端末、宛先端末共に、携帯電話網を使用することが分かっている場合には、携帯電話網を介して、宛先端末から送信元端末に対して、ＡＣＫを送信してもよい。ＡＣＫは、図６（Ａ）のようなデータと比較して、データサイズは非常に小さいため、一般に通信コストがかかる携帯電話網を用いたとしても、それほどコストはかからない。従って、周辺に期待度の高い端末が存在しない場合でも、確実に完了通知を行うことができる。
【００７１】
図８は、端末移動方向を推定する一手法を説明するための図である。
【００７２】
（Ａ）は、送信元端末、中継端末の候補となる端末（以下、中継端末候補と称する）、及び宛先端末の位置関係を示す図、（Ｂ）は、移動方向推定部５０６のフロー図である。
【００７３】
送信元端末の移動方向推定部５０６は、移動状況送受信部５０２が受信した中継端末候補の位置情報に基づいて、時間Ｔにおける中継端末候補から宛先端末までの距離Ｄ、時間Ｔ＋Δにおける中継端末候補から宛先端末までの距離Ｄ´、及び、時間Ｔにおける中継端末候補と宛先端末を結ぶ直線と中継端末候補の進行方向を示す直線との間の角度θを算出する（ステップ８１）。尚、中継端末を選択するための関数Ｐ＝α×θ＋β×D（α、β：重み付けのためのパラメータ）を、記憶装置３等に予め保持しておく。
【００７４】
中継端末選択部５０３は、D（又はＤ´）が閾値Dthより大きいか否かを判定し（ステップ８２）、Ｄ（又はＤ´）＞Dthの場合、Dよりもθを優先するように、αやβを増減させてPを算出し（ステップ８３）、Ｄ（又はＤ´）≦Dthの場合、θよりもDを優先するように、αやβを増減させてPを算出する（ステップ８４）。そして、このPの値が高い端末を優先して、中継端末として選択する（ステップ８５）。ここで、Dthはどのように設定してもよい。例えば、様々な環境でシミュレーションした結果に基づいて設定してもよいし、端末が移動しているエリアに応じて動的に設定してもよい。又、上記アルゴリズムも、この方法に限られるものではない。
【００７５】
尚、走行道路や車線情報といった地理情報（GIS情報）、端末の属性情報、位置情報変化、端末の移動履歴、目的地履歴情報、基地局との接続履歴情報、GPSなどのセンサ情報等に基づいて、端末の移動方向を推定してもよい。又、電波強度取得部５０５が取得した、他端末から発せられる電波の強度変化に基づいて推定してもよい。例えば、端末間距離と受信電波強度との関係（端末間距離がどの程度の時に、どの程度の受信電波強度を示すのか）について、予め既知のデータとして各端末で保持しておく。そして、単位時間あたりの受信電波強度変化と距離変化の２つの値により、現在端末間の距離が近づいているのか否かを判断できる。
【００７６】
そして、これらの手法により推定した結果を期待度に反映させることができる。端末は、当該期待度を参照することによって、例えば、期待度がある一定値より高い端末が周辺に存在する場合には、当該端末にデータを送信し、存在しない場合には、データの送信を控え、期待度がある一定値より高い端末が出現するのを待つ、としてもよい。
【００７７】
中継端末のデータ送受信部５０１は、自身の端末が宛先端末から遠ざかっている場合、自身の端末から他端末に対してデータを送信する。又、宛先端末から遠ざかっていない場合、自身の端末から他端末に対してのデータ送信を控える。
【００７８】
図９は、通信時間算出部５０７のフロー図である。
【００７９】
データ送信を試みる端末は、中継端末を選択する際、受信した電波の強度Ｒ、その変化率ΔＲ、位置情報、移動速度等に基づいて、中継端末候補との通信可能時間（接続可能時間：Tcon）を算出する（ステップ９１）。これも、先述と同様、端末間距離と受信電波強度との関係について予め保持していた既知のデータと、単位時間あたりの受信電波強度変化と距離変化の２つの値に基づいて、算出できる。
【００８０】
算出したTcon時間内に送信しようとするデータの単位を中継端末に対して送信完了することが可能か否かを判定し（ステップ９２）、可能と判定した場合、データ送信を試み、その成否を通信時の状況や通信条件と共に、記憶装置３に送信成否履歴５０９として格納する（ステップ９３）。不可能と判定した場合、送信停止、あるいは、他のデータの送信を試みる（ステップ９４）。
【００８１】
端末は、データ送信時に、自端末や他端末の状況に応じて、データ送信方法（ユニキャストあるいはブロードキャスト等）を変更する。宛先端末の詳細な現在位置が不明な場合や、宛先端末が高速に移動する場合、送信元端末（又は中継端末）と、当初宛先端末が存在していた位置（宛先位置６４）との間の距離がある値よりも近くなるなどの条件を満たした場合、送信元端末は近隣の通信可能な端末に対してブロードキャストを行う。
【００８２】
図１０は、フローコントロールの実施を説明するための図である。
【００８３】
各端末間のデータ転送において累積する転送遅延時間をデータに付加して送信し、ＡＣＫ２に含めることで、送信元端末は宛先端末にデータが届くまでの時間を知ることができる。この累積転送遅延時間に応じて、パケットサイズ、送信レート、パケット送信周期などの値を調整することで、バッファやCPUなどのリソースを効率的に使用できるとともに、輻輳を回避するなどの効果も得られる。
【図面の簡単な説明】
【００８４】
【図１】端末のハードウェア構成図。
【図２】データ転送を行う状況の一例を示す図。
【図３】データ転送テーブル及びデータテーブルの一例を示す図。
【図４】データ転送のフロー図。
【図５】端末のハードウェア構成図。
【図６】データのフォーマットを示す図。
【図７】各端末のデータ送信動作を示す図。
【図８】端末の移動方向を推定する一手法の説明図。
【図９】通信時間算出部の説明図。
【図１０】フローコントロールの説明図。
【符号の説明】
【００８５】
１：CPU、２：メインメモリ、３：記憶装置、４：無線送受信装置、５：入出力装置、６：センサ情報受信装置、７：通信線。
【図１】
2007208955.tif 000003
【図２】
2007208955.tif 000004
【図３】
2007208955.tif 000005
【図４】
2007208955.tif 000006
【図５】
2007208955.tif 000007
【図６】
2007208955.tif 000008
【図７】
2007208955.tif 000009
【図８】
2007208955.tif 000010
【図９】
2007208955.tif 000011
【図１０】
2007208955.tif 000012