(57)【要約】  システムは、互いに直接通信可能な複数の端末装置（１００）のうちの第１端末装置（Ａ）で機能するとともに複数の端末装置に含まれる第２端末装置（Ｂ，Ｃ）から受けたデータの通信量（ｂ２，ｃ２）が処理可能な通信量（ａ）を超えるか否かを判断するＣＰＵ（１１１）と、第２端末装置（Ｂ，Ｃ）から受けたデータの通信量（ｂ２，ｃ２）が処理可能な通信量（ａ）を超えるとき、第２端末装置（Ｂ，Ｃ）にデータの一部を所定の通信量（ｂｒ，ｃｒ）で送出する送信部（１４３，１１４）と、を含み、第１端末装置（Ａ）の通信負荷を抑える。
2012172665.tif 000002
【特許請求の範囲】
【請求項１】
互いに直接通信可能な複数の端末装置に含まれる第１端末装置が、
前記複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断し、
前記データの通信量が処理可能な通信量を超えるとき、前記第２端末装置にデータの一部を所定の通信量で送出すること
を特徴とするデータ通信方法。
【請求項２】
複数の端末装置のうち、基地局に接続される端末装置が前記第１端末装置となり、
前記第２の端末装置は、前記第１端末装置を介して基地局との間でデータ通信すること
を特徴とする請求項１に記載のデータ通信方法。
【請求項３】
前記第２端末装置から受けたデータの通信量について、通信バッファの使用量を用いて処理可能か否かを判断すること
を特徴とする請求項１または２に記載のデータ通信方法。
【請求項４】
前記第２端末装置から受けたデータの通信量が処理可能な通信量になったとき、前記第２端末装置へのデータの送出を解除すること
を特徴とする請求項１〜３のいずれか一つに記載のデータ通信方法。
【請求項５】
前記第２端末装置にそれぞれ送出するデータの通信量は、前記第２の端末装置数に基づくこと
を特徴とする請求項１〜４のいずれか一つに記載のデータ通信方法。
【請求項６】
前記第１端末装置は、
前記データの通信量が処理可能な通信量を超えたとき、前記第２端末装置のそれぞれに対し、データの送出要求をおこなった後、
前記第２端末装置に対し所定の通信量でデータを送出すること
を特徴とする請求項１〜５のいずれか一つに記載のデータ通信方法。
【請求項７】
前記第２の端末装置は、
前記第１の端末装置からデータの送出要求がなされた時点での通信帯域に固定すること
を特徴とする請求項６に記載のデータ通信方法。
【請求項８】
前記第１端末装置は、
前記データの通信量が処理可能なデータ量になったとき、前記第２端末装置のそれぞれに対し、データの送出要求を解除すること
を特徴とする請求項１〜７のいずれか一つに記載のデータ通信方法。
【請求項９】
前記第２の端末装置は、
前記第１の端末装置からデータの送出要求が解除されると、通信帯域の固定を解除すること
を特徴とする請求項８に記載のデータ通信方法。
【請求項１０】
互いに直接通信可能な複数の端末装置のうちの第１端末装置で機能するとともに前記複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断する制御部と、
前記データの通信量が処理可能な通信量を超えるとき、前記第２端末装置にデータの一部を所定の通信量で送出する送信部と、
を含むことを特徴とするデータ通信システム。
【請求項１１】
前記第１の端末装置は、
複数の端末装置のうち、基地局との間で通信をおこなうキャリア通信部と、
前記第２の端末装置との間で直接通信するアドホック通信部とを含むこと
を特徴とする請求項１０に記載のデータ通信システム。
【請求項１２】
前記第１の端末装置は、
アドホック通信をおこなう前記第２の端末装置の情報を保存するアドホック構成情報格納部を含むこと
を特徴とする請求項１１に記載のデータ通信システム。
【請求項１３】
前記第１の端末装置は、
所定の容量を有する通信バッファを含み、
前記制御部は、
前記第２端末装置から受けたデータの通信量と、前記基地局へ送出するデータの通信量と、前記通信バッファの使用量に基づき、処理可能であるか否かを判断すること
を特徴とする請求項１０〜１２のいずれか一つに記載のデータ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末を利用してデータ通信をおこなう際に端末にかかる通信負荷を低減するデータ通信方法およびデータ通信システムに関する。
【背景技術】
【０００２】
新年の神社やイベント開催時の競馬場など、一定のエリアに多数の携帯電話機等の端末が集中した状況では、通信がおこなえない端末が生じる。１台の基地局に接続可能な端末数は限られており、上記のように多数の端末が過密な状況になると、通信可能エリアにいる携帯端末であっても通信がおこなえない端末が生じる。【０００３】
上記のような端末が基地局との間で直接の通信をおこなう構成とは別に、基地局を介さず端末間で自立的に通信経路を構築する技術が開示されている。この技術は、基地局と直接通信がおこなえない端末が隣接する他の端末との間でアドホック通信をおこなうことにより、基地局と接続された管理端末を経由して基地局との間の通信をおこなうものである（たとえば、下記特許文献１参照。）。【０００４】
また、複数の端末が周囲の端末を検索して所定の選択基準に基づきリーダ候補端末を決定することにより、アドホックネットワークにおける自律的なグループ分割をおこなう技術がある（たとえば、下記特許文献２参照。）。また、無線センサによりアドホックネットワークを構築する際に、基地局が無線センサのリストと電波強度に基づき、親ノードとなる無線センサを決定して親ノード毎の複数のグループ化をおこなう技術がある（たとえば、下記特許文献３参照。）。また、無線センサネットワークにかかり、端末とアクセスポイントにそれぞれ複数の種別の無線部を設け、通信環境によらず干渉特性に優れた通信をおこなう技術がある（たとえば、下記特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−８９０２１号公報
【特許文献２】特開２０１０−４５５２５号公報
【特許文献３】特開２００７−２４３７９４号公報
【特許文献４】特開２０１０−１８３２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、基地局と直接通信をおこなえない端末は、アドホック通信により基地局と通信することになる。このため、通信パケットは基地局と直接通信をおこなっている端末を必ず経由することになり、基地局と直接通信をおこなっている端末に通信量が集中してこの端末の通信負荷が増大する。加えて、携帯電話機等の端末は、車載用の端末等とは違って電源やスペースなどリソースが限られていて非力である。【０００７】
上記特許文献１〜４の技術では、アドホック通信において、一定のエリアに多数の端末が集中する状況は考慮されていない。これにより、アドホック通信をおこない、かつ、一定のエリアに多数の端末が集中する状況となったときには、基地局と直接通信をおこなっている１台の端末に通信負荷が集中し、この端末は通信負荷の集中に耐え切れず破綻してしまう。【０００８】
具体的には、基地局と直接通信をおこなっている端末では、通信モジュールが受信した電波信号をデジタルデータ（パケット）に変換し、ＣＰＵによってパケットをメモリ内の通信バッファに格納し、その後、通信処理部によってパケットを解析し、ヘッダ情報にしたがいデータ処理する。このように、通信パケットは、一旦バッファにためられた後に処理されるが、パケットを処理する速さよりもパケットを受け取る速さが上回るとバッファの溢れが生じる。【０００９】
たとえば、アドホック通信の他の通信端末から１００Ｍｂｐｓでパケットを受け取り、２０Ｍｂｐｓで基地局へパケットを送信しているとする。通信バッファの容量が１０ＭＢｙｔｅであったとすると、わずか１秒で通信バッファが溢れることになる。通信バッファが溢れるとパケットの消失が発生し、パケットの再送処理などによってネットワーク全体のスループットは大幅に下がってしまう。【００１０】
アドホック通信では、複数の端末が接続されており、各端末が通信バッファを持っており、その殆どは十分な空き容量を持っている。しかしながら、上述したように、１台の端末のバッファが溢れることによって、ネットワーク全体の性能の低下を招く問題を生じる。【００１１】
開示のデータ通信方法およびデータ通信システムは、上述した問題点を解消するものであり、複数の端末を利用してデータ通信をおこなう際に端末にかかる通信負荷を低減することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、開示技術は、互いに直接通信可能な複数の端末装置のうちの第１端末装置で機能するとともに複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断するＣＰＵと、第２端末装置から受けたデータの通信量が処理可能な通信量を超えるとき、第２端末装置にデータの一部を所定の通信量で送出する送信部と、を含む。
【発明の効果】
【００１３】
開示のデータ通信方法およびデータ通信システムによれば、複数の端末を利用してデータ通信をおこなう際に端末にかかる通信負荷を低減できるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態にかかるデータ通信システムに含まれる端末装置の構成を示すブロック図である。
【図２】図２は、端末装置がおこなうリング構築にかかる全体処理を示すフローチャートである。
【図３】図３は、端末装置がおこなうリング構築の処理内容を示すフローチャートである。
【図４】図４は、端末装置に保存されるアドホック構成情報の内容を示す図表である。
【図５】図５は、端末装置がおこなうリング解放の処理内容を示すフローチャートである。
【図６】図６は、端末装置がおこなうリング構成のチェックの処理内容を示すフローチャートである。
【図７】図７は、端末装置がおこなうリングにパケットを送出する処理内容を示すフローチャートである。
【図８】図８は、リング構築に関する通知を受信した通信端末の処理内容を示すフローチャートである。
【図９】図９は、アドホック通信による通常時のデータの流れを示す図である。
【図１０】図１０は、アドホック通信による通信負荷集中時のデータの流れを示す図である。
【図１１】図１１は、アドホック通信による通信負荷減少時のデータの流れを示す図である。
【発明を実施するための形態】
【００１５】
（端末装置の構成）
以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。図１は、実施の形態にかかるデータ通信システムに含まれる端末装置の構成を示すブロック図である。図１に示す端末装置１００は、携帯電話機を用いた構成例であり、ハードウェア１０１と、オペレーティングシステム（ＯＳ）１０２と、ソフトウェア１０３とを有する。
【００１６】
ハードウェアは、ＣＰＵ１１１と、メモリ１１２と、キャリア通信部１１３と、アドホック通信部１１４と、Ｉ／Ｏ１１５と、ストレージ１１６とを含む。ＯＳ１０２は、リングライブラリ１２１と、通信ライブラリ１２２と、アドホックライブラリ１２３とを含む。ソフトウェア１０３は、通信処理をおこなうアプリケーション１３１を含む。
【００１７】
ＣＰＵ１１１は、端末装置１００の全体の処理を制御し、ＯＳ１０２のプログラム（リングライブラリ１２１、通信ライブラリ１２２、アドホックライブラリ１２３）、およびソフトウェア１０３のアプリケーション１３１を実行する。図示のように、端末装置１００は、複数のＣＰＵ１１１を搭載して並列処理するように構成してもよい。
【００１８】
メモリ１１２は、ＣＰＵ１１１の実行時にアクセスされ、通信バッファ１１７と、アドホック構成情報データベース（ＤＢ）１１８の領域を含む。キャリア通信部１１３は、図示しない基地局との間で通信をおこなう。アドホック通信部１１４は、他の複数の端末装置１００との間でアドホック通信をおこなう。Ｉ／Ｏ１１５は、端末装置１００に対するデータ入出力用のインターフェースである。ストレージ１１６は、フラッシュメモリ等の記憶媒体である。
【００１９】
リングライブラリ１２１は、他の端末装置１００のリングライブラリと連携動作し、複数の端末装置１００によるリングの構築を制御するプログラムである。リングの構築は、通信バッファ１１７の使用量が増大したとき、通信バッファ１１７のバッファ溢れを抑制するためにおこなう。このリングの構築により、自端末の通信バッファ１１７のパケットデータをアドホック通信により直接接続された他の端末装置１００に送信する。なお、「リング」の文言は、上記のように受信したパケットデータの一部を、送信元である他の端末装置１００に戻すことを判りやすくするために用いている。
【００２０】
このリングライブラリ１２１は、取得部１４１と、制御部１４２と、送信部１４３と、応答部１４４とを含む。このリングライブラリ１２１は、ＯＳ１０２が通信バッファ１１７にたまったパケットを処理する直前にプログラム実行され、リングライブラリ１２１の動作終了後には再度通常のパケット処理が実行される。
【００２１】
取得部１４１は、通信ライブラリ１２２を用いて通信バッファ１１７からバッファ使用量と通信バッファ１１７内の通信パケットを取得する。また、アドホックライブラリ１２３を用いてアドホック構成情報ＤＢ１１８からアドホック通信時の端末数と端末識別子を取得する。これら取得した情報を制御部１４２に出力する。また、取得部１４１は、取得した通信バッファ１１７のバッファ使用量が所定の閾値を超えた場合、バッファ使用量が閾値を超えたことを制御部１４２に通知する。この閾値とは、端末装置１００の設計時に通信バッファ１１７の総容量に基づき設定される固定値である。
【００２２】
制御部１４２は、取得部１４１により取得した通信バッファ１１７の使用量に基づいて、リングの構築またはリングの解放をおこなう。たとえば、複数の端末装置１００のうち、基地局までの距離が最短経路となる端末装置１００が基地局との間で通信をおこなうゲートウェイとしての基地局接続端末（第１端末装置）となったときに、通信バッファ１１７の使用量が増大する。
【００２３】
制御部１４２は、アドホック通信時には、自端末と直接通信リンクを確立している端末装置１００のうち、基地局までの最短経路となっている基地局接続端末以外の端末装置１００（第２端末装置）をリング構築またはリング解放の対象とする。そして、基地局接続端末は、これら他の端末装置１００に対して、リング構築通知またはリング解放通知を送信するよう送信部１４３に指示する。なお、取得部１４１が取得した通信バッファ１１７のバッファ使用量が閾値以下になった場合は、リングの解放の判断をおこなう。
【００２４】
この制御部１４２は、リング構築後には、自端末の通信バッファ１１７の溢れを防止するために、通信バッファ１１７からパケットデータを取り出し、リングを構築した他の端末装置１００に対して送信する所定のパケット量（通信量）のパケットデータを通信バッファ１１７から取り出して送信部１４３に対し送信指示する。
【００２５】
送信部１４３は、制御部１４２からの指示を受けると通信ライブラリ１２２を用いて指示されたリング構築通知またはリング解放通知を他の端末装置１００に送信する。また、この送信部１４３は、リングが構築されている間は、制御部１４２の制御に基づいて、通信バッファ１１７からパケットデータを取り出し、リングを構築した端末装置１００に対して取り出したパケットデータを送信する。また、送信部１４３は、パケットデータを送信する前に、無線通信の途絶などによるリング構成の破壊をチェックし、破壊を検出した場合には制御部１４２に対してリングの再度の構築を要求する。
【００２６】
応答部１４４は、他の端末装置１００から送られてきたリング構築通知、もしくはリング解放通知を受け取り、通信ライブラリ１２２に対してこれら帯域制限指示、あるいは帯域制限解除指示をおこなう。リング構築通知を受け取った場合には、他の端末装置１００との通信帯域をその時点での通信帯域に固定する。リング解放通知を受け取った場合は、端末装置１００との通信帯域の制限を解除する。
【００２７】
通信ライブラリ１２２は、端末装置１００の通信を実行するプログラムである。アプリケーション１３１の通信要求に基づき、キャリア通信部１１３を介して基地局との間で通信をおこなう。また、自端末がリングの端末となったときには、アドホック通信部１１４を介して基地局接続端末との通信をおこなう。自端末が基地局に接続する基地局接続端末となったときには、キャリア通信部１１３を介して基地局と通信するとともに、アドホック通信部１１４を介して他の端末装置１００との通信をおこなう。
【００２８】
この通信ライブラリ１２２は、取得部１４１の指示により、通信バッファ１１７からバッファ使用量と通信バッファ１１７内の通信パケットを取得する。また、アドホック通信部１１４を介して受信したリング構築通知、あるいはリング解放通知を応答部１４４に通知し、応答部１４４から出力される帯域制限指示、あるいは帯域制限解除指示に対応して、アドホック通信部１１４に対し、他の端末装置１００との間の通信帯域の帯域制限、あるいは帯域制限解除をおこなう。
【００２９】
アドホックライブラリ１２３は、アドホック構成情報ＤＢ１１８からアドホック通信を構成する情報、たとえば、端末数と端末識別子を取得するプログラムである。
【００３０】
（リング構築の処理内容）
つぎに、リングライブラリ１２１が実行するリング構築の処理内容について説明する。図２は、端末装置がおこなうリング構築にかかる全体処理を示すフローチャートである。以下の処理は、自端末が基地局接続端末であると認識した端末装置１００のリングライブラリ１２１の制御部１４２が継続的に繰り返し実行し、状況の変化に逐次対応する。
【００３１】
制御部１４２は、通信ライブラリ１２２を介して通信バッファ１１７のバッファ使用量Ｂを取得し（ステップＳ２０１）、予め定めた所定の閾値と比較する（ステップＳ２０２）。たとえば、閾値を通信バッファ１１７の総容量の８０％と設定すると、通信バッファ１１７の総容量が１０ＭＢｙｔｅであれば閾値は８ＭＢｙｔｅとなる。
【００３２】
ここで、バッファ使用量Ｂが閾値を超えたときには（ステップＳ２０２：Ｙｅｓ）、制御部１４２は、自端末が基地局接続端末となり、他の端末装置１００との間でリング構築が必要と判断する。そして、リング構築の状態を検出する（ステップＳ２０３）。具体的には、リング構築フラグＦがｔｒｕｅ（リング構築状態）でなければ（Ｆ＝ｆａｌｓｅ；リング解放状態）（ステップＳ２０３：Ｎｏ）、リングを構築し（ステップＳ２０４）、構築したリングに自端末のパケットを送出し（ステップＳ２０５）、終了する。一方、ステップＳ２０３においてリング構築フラグＦがｔｒｕｅであれば（ステップＳ２０３：Ｙｅｓ）、構築されているリング構成をチェックし（ステップＳ２０６）、ステップＳ２０５のパケット送出をおこなう。
【００３３】
また、ステップＳ２０２において、バッファ使用量Ｂが閾値以下のときには（ステップＳ２０２：Ｎｏ）、構築したリングの解放をおこなう。具体的には、リング構築フラグＦがｔｒｕｅ（リング構築状態）であれば（ステップＳ２０７：Ｙｅｓ）、リングを解放し（ステップＳ２０８）、バッファ使用量Ｂをテンポラリの変数Ｂ’に置き換え（ステップＳ２０９）、処理を終了する。一方、ステップＳ２０７において、リング構築フラグＦがｔｒｕｅでなければ（Ｆ＝ｆａｌｓｅ；リング解放状態）であれば（ステップＳ２０７：Ｎｏ）、ステップＳ２０９に移行する。
【００３４】
図３は、端末装置がおこなうリング構築の処理内容を示すフローチャートである。図２のステップＳ２０４の処理内容について説明する。リング構築時には、はじめに、制御部１４２は、アドホック構成情報ＤＢ１１８から直接接続している他の端末装置１００の端末数Ｎと、端末識別子Ｉを取得する（ステップＳ３０１）。
【００３５】
そして、制御部１４２は、端末台数ｉの値を初期値０にし（ステップＳ３０２）、端末数Ｎの各端末装置１００に対してリング構築をおこなう。まず、リングを構築した端末装置１００の端末台数ｉが端末数Ｎに達したか判断し（ステップＳ３０３）、端末台数ｉが端末数Ｎに達していなければ（ステップＳ３０３：Ｙｅｓ）、通信ライブラリ１２２を介して、端末Ｉｉにリング構築を通知する（ステップＳ３０４）。この後、端末台数ｉをインクリメントし（ステップＳ３０５）、ステップＳ３０３に戻る。ステップＳ３０３〜ステップＳ３０５の処理により、端末数Ｎ分だけ複数の端末装置１００に対してそれぞれリング構築を通知する。
【００３６】
一方、ステップＳ３０３において、端末台数ｉが端末数Ｎに達すれば（ステップＳ３０３：Ｎｏ）、リング構築フラグＦをｔｒｕｅに変更し（ステップＳ３０６）、端末数Ｎでアドホック通信によるリングを構築し、端末数Ｎをテンポラリの変数Ｎ’にし、端末識別子Ｉをテンポラリの変数Ｉ’にそれぞれ置き換え（ステップＳ３０７）、処理を終了する。
【００３７】
図４は、端末装置に保存されるアドホック構成情報の内容を示す図表である。アドホック構成情報ＤＢ１１８に保存されるアドホック構成情報４００の例を示す。図示のように、アドホック構成情報ＤＢ１１８には、他の端末装置１００（端末Ｂ，Ｃ，Ｄ）それぞれの端末ＩＤ（図示の例では、ＭＡＣアドレスと、直接通信をおこなう端末を示すフラグ（リング構築により直接通信する端末＝１，直接通信しない端末＝０）が格納される。
【００３８】
図５は、端末装置がおこなうリング解放の処理内容を示すフローチャートである。図２のステップＳ２０８の処理内容について説明する。リング解放時には、はじめに、制御部１４２は、アドホック構成情報ＤＢ１１８から直接接続している他の端末装置１００の端末数Ｎと、端末識別子Ｉを取得する（ステップＳ５０１）。
【００３９】
そして、端末台数ｉの値を初期値０にし（ステップＳ５０２）、端末数Ｎの各端末装置１００に対するリング解放をおこなう。まず、リングを解除した端末装置１００の端末台数ｉが端末数Ｎに達したか判断し（ステップＳ５０３）、端末台数ｉが端末数Ｎに達していなければ（ステップＳ５０３：Ｙｅｓ）、通信ライブラリ１２２を介して、端末Ｉｉにリング解放を通知する（ステップＳ５０４）。この後、端末台数ｉをインクリメントし（ステップＳ５０５）、ステップＳ５０３に戻る。ステップＳ５０３〜ステップＳ５０５の処理により、端末数Ｎ分だけ複数の端末装置１００に対してそれぞれリング解除を通知する。
【００４０】
一方、ステップＳ５０３において、端末台数ｉが端末数Ｎに達すれば（ステップＳ５０３：Ｎｏ）、リング構築フラグＦをｆａｌｓｅに変更し（ステップＳ５０６）、処理を終了する。
【００４１】
図６は、端末装置がおこなうリング構成のチェックの処理内容を示すフローチャートである。図２のステップＳ２０６の処理内容について説明する。このリング構成のチェックは、時間経過により端末装置１００が移動する等により、構築したリング構成から端末装置１００が消失する場合があるため、リング構成を定期的にチェックする。
【００４２】
はじめに、制御部１４２は、アドホック構成情報ＤＢ１１８から直接接続している他の端末装置１００の端末数Ｎと、端末識別子Ｉを取得する（ステップＳ６０１）。つぎに、端末台数ｉの値を初期値０にし（ステップＳ６０２）、リング構成をチェックする端末装置１００の端末台数ｉが端末数Ｎに達したか判断し（ステップＳ６０３）、端末台数ｉが端末数Ｎに達していなければ（ステップＳ６０３：Ｙｅｓ）、ステップＳ６０４に移行し、端末台数ｉが端末数Ｎに達すれば（ステップＳ６０３：Ｎｏ）、処理を終了する。
【００４３】
ステップＳ６０４では、前回の検出時における端末装置１００の端末識別子Ｉ’ｉと現在の端末識別子Ｉｉとが一致しているかを１台ずつ判断する（ステップＳ６０４）。これにより、リングを同じ端末装置１００によって構築した状態を維持できているかチェックできる。ステップＳ６０４の判断結果、一致していれば（ステップＳ６０４：Ｙｅｓ）、端末台数ｉをインクリメントし（ステップＳ６０５）、ステップＳ６０３に戻る。一方、一致していなければ（ステップＳ６０４：Ｎｏ）、リングを構築する端末装置１００の構成に変化があり、リングを再構築する必要があることから、リングの構築をおこない（ステップＳ６０６）、処理を終了する。このステップＳ６０６におけるリングの構築は、図２のステップＳ２０４の処理と同じであり、図３に示す処理を実行する。
【００４４】
図７は、端末装置がおこなうリングにパケットを送出する処理内容を示すフローチャートである。図２のステップＳ２０５の処理内容について説明する。基地局接続端末は、はじめに、制御部１４２は、通信ライブラリを介して通信バッファ１１７のバッファ増加量ΔＢを求める（ステップＳ７０１）。バッファ増加量ΔＢ＝Ｂ−Ｂ’（前回検出時のバッファ使用量）で得ることができる。
【００４５】
つぎに、バッファ増加量ΔＢが増加したか減少したかを判断する（ステップＳ７０２）。バッファ増加量ΔＢの増加時（ΔＢ＞０）には（ステップＳ７０２：Ｙｅｓ）、端末台数ｉの値を初期値０にし（ステップＳ７０３）、他の端末装置１００の端末数Ｎに達したか判断する（ステップＳ７０４）。端末台数ｉが端末数Ｎに達していなければ（ステップＳ７０４：Ｙｅｓ）、通信バッファ１１７から所定量のパケットを取得する（ステップＳ７０５）。この例では、通信バッファ１１７から（ΔＢ／Ｎ）、すなわち、バッファ増加量ΔＢを端末数Ｎで割った値の通信量を取得する。
【００４６】
この後、通信ライブラリ１２２を使ってアドホック通信部１１４から該当する各通信端末（Ｉｉ）１００に対して、ステップＳ７０５で算出した通信量のパケットを送信し（ステップＳ７０６）、端末台数ｉをインクリメントして（ステップＳ７０７）、ステップＳ７０４に戻り、端末数Ｎ分の各通信端末１００に対して同様にパケットの送出をおこなう。
【００４７】
一方、ステップＳ７０２において、バッファ増加量ΔＢの減少時には（ステップＳ７０２：Ｎｏ）、通信バッファ１１７のバッファ使用量Ｂをテンポラリの変数Ｂ’に置き換え（ステップＳ７０８）、処理を終了する。ステップＳ７０４において、端末台数ｉが端末数Ｎに達したときも（ステップＳ７０４：Ｎｏ）、処理を終了する。
【００４８】
図８は、リング構築に関する通知を受信した通信端末の処理内容を示すフローチャートである。基地局接続端末からリング構築、および解放の通知を受信した他の通信端末１００がおこなう処理について説明する。
【００４９】
はじめに、通知を受け取った通信端末１００は、通知内容から通知元である基地局接続端末の端末識別子Ｉを取得し（ステップＳ８０１）、通知の種類を判別する（ステップＳ８０２）。通知がリング構築であれば（ステップＳ８０２：Ｃａｓｅ１）、通信ライブラリ１２２を用いて端末識別子Ｉの基地局接続端末との通信帯域をその時点の帯域で固定し（ステップＳ８０３）、処理を終了する。一方、ステップＳ８０２における通知がリング解放であれば（ステップＳ８０２：Ｃａｓｅ２）、通信ライブラリ１２２を用いて端末識別子Ｉの基地局接続端末との通信帯域制限を解除し（ステップＳ８０４）、処理を終了する。
【００５０】
（アドホック通信−１．通常時）
図９は、アドホック通信による通常時のデータの流れを示す図である。１台の端末装置１００が基地局ＢＳにキャリア通信部１１３を介して基地局接続端末Ａ（第１端末装置）として接続されている。この基地局接続端末Ａは、他の２台の端末Ｂ，Ｃ（第２端末装置）がアドホック通信部１１４を介して基地局接続端末Ａにアドホック通信により接続されている。これら端末Ｂ，Ｃは、基地局接続端末Ａを介して基地局ＢＳとの間の通信をおこなう。
【００５１】
上記のアドホック通信の状態において、基地局接続端末Ａを介して基地局ＢＳに送信する端末Ｂ，Ｃの通信量ｂ，ｃがそれぞれ０．５Ｍｂｐｓであるとする。この場合、基地局接続端末Ａでは、これら端末Ｂ，Ｃの２台の合計の通信量１Ｍｂｐｓを受信し、１Ｍｂｐｓの通信量ａで基地局ＢＳに送信することになる。このような状態では、基地局接続端末Ａは、端末Ｂ，Ｃから受け取る通信量ｂ＋ｃと、基地局ＢＳへ送出する通信量ａが釣り合っている。したがって、基地局接続端末Ａの通信バッファ１１７は、１０ＭＢｙｔｅと十分空き容量があり、端末Ｂ，Ｃのパケットは、なるべく最短となるように基地局接続端末Ａを介してルーティングされる。
【００５２】
（２．通信負荷集中時）
図１０は、アドホック通信による通信負荷集中時のデータの流れを示す図である。図９の状態以降、基地局接続端末Ａへの通信量が増大したときの状態について説明する。
【００５３】
（１）はじめに、端末Ｂ，Ｃが受け取ったパケットの通信量ｂ１，ｃ１がそれぞれ増加して１Ｍｂｐｓとなり、これら端末Ｂ，Ｃが基地局接続端末Ａに送出する通信量ｂ２，ｃ２がそれぞれ１Ｍｂｐｓになったとする。基地局接続端末Ａでは、これら端末Ｂ，Ｃの２台の合計の通信量２Ｍｂｐｓを受信することになる。しかし、この基地局接続端末Ａが基地局ＢＳに送出する通信量ａは１Ｍｂｐｓのまま変化しない。
【００５４】
（２）このため、基地局接続端末Ａの通信バッファ１１７にパケットがたまっていき、閾値を超える。たとえば、基地局接続端末Ａの通信バッファ１１７容量が１０ＭＢｙｔｅで閾値が８ＭＢｙｔｅとする。この場合、基地局接続端末Ａでは、端末Ｂ，Ｃから受け取る通信量が２Ｍｂｐｓに対し、基地局ＢＳへ送出する通信量が１Ｍｂｐｓであるので、通信バッファ１１７にパケットがたまる速さは１Ｍｂｐｓとなる。このままでは、基地局接続端末Ａの通信バッファ１１７は、遅くとも８ＭＢｙｔｅ×８／１Ｍｂｐｓ＝６４秒後には閾値を超えることになる。
【００５５】
（３）このような通信負荷集中時、基地局接続端末Ａは、閾値を超えるとアドホック通信を確立している端末ＢとＣに対してリング構築通知を送信する。そして、通信バッファ１１７にパケットがたまる速さを端末ＢとＣに等分した速さでパケットを送信する（図７参照）。この際、端末ＢとＣは、基地局接続端末Ａとの通信帯域に制限をかける。図１０に示す例では、端末ＢとＣは、リング構築通知を受け取った時点で１Ｍｂｐｓの通信帯域で通信をおこなっていたため、リング構築通知を受け取った以降においても通信量ｂ，ｃは、それぞれ１Ｍｂｐｓに制限される。
【００５６】
そして、基地局接続端末Ａは、端末ＢとＣとのリング構築により、端末ＢとＣに対してそれぞれ０．５Ｍｂｐｓの通信量ｂｒ，ｃｒでパケットを送出する。これは、通信バッファ１１７にパケットがたまる速さ１Ｍｂｐｓを、端末ＢとＣの２台で等分した速さである。
【００５７】
（４）これにより、基地局接続端末Ａの受け取る通信量ｂ＋ｃと、基地局ＢＳへ送出する通信量ａが釣り合うため、基地局接続端末Ａの通信バッファ１１７のパケットの増加が止まる。このように、アドホック通信の端末同士でリングが構築されている間は、基地局接続端末Ａが基地局ＢＳに送出する通信量が増大しても、この増大に応じてリングの端末ＢとＣに送出する通信量を増やす。これにより、基地局接続端末Ａの通信バッファ１１７にたまる通信量は増加せずバッファ溢れを抑制する。この際、基地局接続端末Ａが端末ＢとＣから受け取る通信量は、通信帯域制限されているため、端末Ｂもしくは端末Ｃのバッファに送信すべきパケットがなくならない限り変化しない。
【００５８】
（５）また、端末ＢとＣは、基地局接続端末Ａからパケットを受け取るため、通信量が増える。しかし、基地局接続端末Ａとの通信帯域は制限されているため、端末ＢとＣの通信バッファ１１７にパケットがたまっていく。たとえば、図１０では、端末ＢとＣは、それぞれ１＋０．５＝１．５Ｍｂｐｓの速さでパケットを受け取る。その一方、基地局接続端末Ａに対しては１Ｍｂｐｓでパケットを送出する。
【００５９】
これにより、差分の０．５Ｍｂｐｓずつ通信バッファ１１７にはパケットがたまっていく。端末ＢとＣもそれぞれ閾値を持っており、閾値を超えるまではこの状態のまま通信バッファ１１７にパケットをためていく。閾値を超えた場合は、端末ＢとＣについても、上記２．以降の手順でリングを構築することによりバッファ溢れを防ぎ、さらに他の端末の通信バッファ１１７を利用することができる。
【００６０】
（３．通信負荷減少時）
図１１は、アドホック通信による通信負荷減少時のデータの流れを示す図である。図１０の状態以降、基地局接続端末Ａへの通信量が減少したときの状態について説明する。
【００６１】
（１）はじめに、端末Ｂ，Ｃが受け取ったパケットの通信量ｂ１，ｃ１がそれぞれ減少して０．４Ｍｂｐｓとなったとする。また、図１０の状態で基地局接続端末Ａから受け取るパケットの通信量ｂｒ，ｃｒがそれぞれ０．５Ｍｂｐｓであったとする。これにより、端末ＢとＣは、それぞれ０．９Ｍｂｐｓの通信量でパケットを受け取る。
【００６２】
（２）端末ＢとＣが基地局接続端末Ａに送出する通信量ｂ２，ｃ２は、帯域制限があるため１Ｍｂｐｓのままであるため、端末ＢとＣの通信バッファ１１７内のバッファ使用量は次第に減少していく。
【００６３】
（３）端末ＢとＣは、通信バッファ１１７内のパケットが次第に減少するに伴い、基地局接続端末Ａへ送出するパケットの通信量ｂ２，ｃ２も低下する。たとえば、端末ＢとＣそれぞれ０．９Ｍｂｐｓとなる。
【００６４】
（４）すると、基地局接続端末Ａが端末ＢとＣから受け取る通信量は、０．９Ｍｂｐｓ＋０．９Ｍｂｐｓ＝１．８Ｍｂｐｓとなる。一方、基地局接続端末Ａが端末ＢとＣに送出する通信量は、１Ｍｂｐｓ＋０．５Ｍｂｐｓ＋０．５Ｍｂｐｓ＝２Ｍｂｐｓとなるため、基地局接続端末Ａの通信バッファ１１７内の使用量は減少をはじめる。そして、パケット量が一定以上減ると閾値未満となる。
【００６５】
（５）したがって、基地局接続端末Ａは、端末ＢとＣのそれぞれにリング解放通知を送信する。これにより、端末ＢとＣそれぞれの通信帯域制限が解除され、基地局接続端末Ａから端末ＢとＣへの送信が止まる。最終的には、図１１に示すように、端末ＢとＣはそれぞれ０．４Ｍｂｐｓの通信量ｂ２，ｃ２で基地局接続端末Ａにパケットを送信するようになる。基地局接続端末Ａは、合計０．８Ｍｂｐｓでパケットを受け取り、１Ｍｂｐｓの通信量ａでパケットを基地局ＢＳに送出するため、基地局接続端末Ａの通信バッファ１１７内のパケット量はさらに減少する。
【００６６】
（通信バッファが溢れるまでの時間について）
図９に示した例のように、端末装置１００が３台（基地局接続端末Ａ、および端末Ｂ，Ｃ）あり、それぞれの通信バッファ１１７が１０ＭＢｙｔｅの総容量を有するとする。３台の端末装置１００のうち、基地局接続端末Ａのみが基地局ＢＳと通信可能であり、基地局ＢＳと基地局接続端末Ａは最大１Ｍｂｐｓで通信することができる。基地局接続端末Ａと、端末Ｂ、および基地局接続端末Ａと端末Ｃは、それぞれアドホック通信により直接通信することができ、最大通信帯域は１０Ｍｂｐｓであるとする。そして、端末ＢとＣは、それぞれ１Ｍｂｐｓで通信パケットを送信するアプリケーションを実行していたとする。
【００６７】
このとき、基地局接続端末Ａは、２Ｍｂｐｓでパケットを受け取り、１Ｍｂｐｓでパケットを送出するため、１Ｍｂｐｓで通信バッファにパケットがたまっていく。このままの状態（対策なしの従来技術相当）では、１０ＭＢｙｔｅ＊８／１Ｍｂｐｓ＝８０秒で基地局接続端末Ａの通信バッファが溢れてしまい、ネットワーク全体の性能低下を引き起こしてしまう。
【００６８】
これに対して上記実施の形態の構成によれば、各端末装置１００の閾値を８ＭＢｙｔｅと設定したとすると、はじめに基地局接続端末Ａの通信バッファ１１７は、８ＭＢｙｔｅ＊８／１Ｍｂｐｓ＝６４秒で閾値に達する。閾値を超えたこの時点でリングを構築するため、基地局接続端末Ａの通信バッファ１１７にたまるパケットの増加は止まり、端末ＢとＣの通信バッファ１１７にパケットがたまり始める。端末ＢとＣは、それぞれ１Ｍｂｐｓ＋０．５Ｍｂｐｓ＝１．５Ｍｂｐｓでパケットを受け取り、１Ｍｂｐｓでパケットを基地局接続端末Ａに送出するため、０．５Ｍｂｐｓで通信バッファ１１７にパケットがたまっていく。そのため、８ＭＢｙｔｅ＊８／０．５Ｍｂｐｓ＝１２８秒で閾値に達する。
【００６９】
ここで、端末ＢとＣは、基地局接続端末Ａ以外との通信はおこなっていないため、そのまま通信バッファ１１７にパケットがたまり続け、２ＭＢｙｔｅ＊８／０．５Ｍｂｐｓ＝３２秒でバッファが溢れる。以上により、上記実施の形態によれば、端末Ａ〜Ｃのネットワーク全体で通信バッファ１１７が溢れるまでには、６４＋１２８＋３２＝２２４秒かかる。このように、上記実施形態によれば、従来技術よりもネットワーク全体の性能低下が生じるまでの時間を長くすることができ、バッファ溢れを抑制できるようになる。
【００７０】
また、上記実施の形態では、端末数を３台としたが、端末数はこれに限らず増加させることができ、これら複数台の端末によりアドホック通信をおこない、また、バッファ溢れが生じる端末についてリングを構築することができる。従来技術ではアドホック通信の端末数が増えたとしても、ネットワーク全体の性能低下が起きるまでの時間に変化はない。これに対し、上記実施の形態では、端末数が増えるほど各端末に設けられた通信バッファを利用でき、ネットワーク全体のバッファ量が増えることになるため、ネットワーク全体の性能低下が起きるまでの時間をさらに長くすることができる。
【００７１】
また、上記実施の形態では、基地局ＢＳまでの距離が最短経路となる端末装置１００が基地局との間で通信をおこなう基地局接続端末Ａとなり、この基地局接続端末Ａにおける通信負荷の増大および通信バッファ１１７のバッファ溢れを抑制することについて説明した。しかし、基地局ＢＳとの接続をおこなう基地局接続端末Ａに限らず、アドホック通信をおこなっている端末装置Ｂ，Ｃ同士間において、通信バッファ１１７が溢れそうになっている端末装置（ＢまたはＣ）があれば、この端末装置（ＢまたはＣ）についても、さらに他の端末装置との間でリングを構築することにより、同様にバッファ溢れを抑制できるようになる。
【００７２】
さらに、上記実施の形態では、アドホック通信をおこなう装置を全て携帯電話機の端末装置１００で構成する例を説明したが、端末装置１００の一部は、携帯電話機に限らず、ＰＣ、ＰＤＡ等の携帯機器、車載端末装置であってもよい。
【符号の説明】
【００７３】
１００  端末装置
１０２  ＯＳ
１１１  ＣＰＵ
１１２  メモリ
１１３  キャリア通信部
１１４  アドホック通信部
１１６  ストレージ
１１７  通信バッファ
１１８  アドホック構成情報データベース
１２１  リングライブラリ
１２２  通信ライブラリ
１２３  アドホックライブラリ
１３１  アプリケーション
１４１  取得部
１４２  制御部
１４３  送信部
１４４  応答部
４００  アドホック構成情報
【図１】
2012172665.tif 000003
【図２】
2012172665.tif 000004
【図３】
2012172665.tif 000005
【図４】
2012172665.tif 000006
【図５】
2012172665.tif 000007
【図６】
2012172665.tif 000008
【図７】
2012172665.tif 000009
【図８】
2012172665.tif 000010
【図９】
2012172665.tif 000011
【図１０】
2012172665.tif 000012
【図１１】
2012172665.tif 000013
【手続補正書】
【提出日】平成25年12月10日(2013.12.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
互いに直接通信可能な複数の端末装置に含まれる第１端末装置が、
前記複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断し、
前記データの通信量が処理可能な通信量を超えるとき、前記第２端末装置にデータの一部を所定の通信量で送出すること
を特徴とするデータ通信方法。
【請求項２】
複数の端末装置のうち、基地局に接続される端末装置が前記第１端末装置となり、
前記第２の端末装置は、前記第１端末装置を介して基地局との間でデータ通信すること  を特徴とする請求項１に記載のデータ通信方法。
【請求項３】
前記第２端末装置から受けたデータの通信量について、通信バッファの使用量を用いて処理可能か否かを判断すること
を特徴とする請求項１または２に記載のデータ通信方法。
【請求項４】
前記第２端末装置から受けたデータの通信量が処理可能な通信量になったとき、前記第２端末装置へのデータの送出を解除すること
を特徴とする請求項１〜３のいずれか一つに記載のデータ通信方法。
【請求項５】
前記第２端末装置にそれぞれ送出するデータの通信量は、前記第２の端末装置数に基づくこと
を特徴とする請求項１〜４のいずれか一つに記載のデータ通信方法。
【請求項６】
前記第１端末装置は、
前記データの通信量が処理可能な通信量を超えたとき、前記第２端末装置のそれぞれに対し、データの送出要求をおこなった後、
前記第２端末装置に対し所定の通信量でデータを送出すること
を特徴とする請求項１〜５のいずれか一つに記載のデータ通信方法。
【請求項７】
前記第２の端末装置は、
前記第１の端末装置からデータの送出要求がなされた時点での通信帯域に固定すること  を特徴とする請求項６に記載のデータ通信方法。
【請求項８】
互いに直接通信可能な複数の端末装置のうちの第１端末装置で機能するとともに前記複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断する制御部と、
前記データの通信量が処理可能な通信量を超えるとき、前記第２端末装置にデータの一部を所定の通信量で送出する送信部と、
を含むことを特徴とするデータ通信システム。
【請求項９】
前記第１の端末装置は、
複数の端末装置のうち、基地局との間で通信をおこなうキャリア通信部と、
前記第２の端末装置との間で直接通信するアドホック通信部とを含むこと
を特徴とする請求項８に記載のデータ通信システム。
【請求項１０】
前記第１の端末装置は、
アドホック通信をおこなう前記第２の端末装置の情報を保存するアドホック構成情報格納部を含むこと
を特徴とする請求項９に記載のデータ通信システム。
【請求項１１】
前記第１の端末装置は、
所定の容量を有する通信バッファを含み、
前記制御部は、
前記第２端末装置から受けたデータの通信量と、前記基地局へ送出するデータの通信量と、前記通信バッファの使用量に基づき、処理可能であるか否かを判断すること
を特徴とする請求項９または１０に記載のデータ通信システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末を利用してデータ通信をおこなう際に端末にかかる通信負荷を低減するデータ通信方法およびデータ通信システムに関する。
【背景技術】
【０００２】
新年の神社やイベント開催時の競馬場など、一定のエリアに多数の携帯電話機等の端末が集中した状況では、通信がおこなえない端末が生じる。１台の基地局に接続可能な端末数は限られており、上記のように多数の端末が過密な状況になると、通信可能エリアにいる携帯端末であっても通信がおこなえない端末が生じる。
【０００３】
上記のような端末が基地局との間で直接の通信をおこなう構成とは別に、基地局を介さず端末間で自立的に通信経路を構築する技術が開示されている。この技術は、基地局と直接通信がおこなえない端末が隣接する他の端末との間でアドホック通信をおこなうことにより、基地局と接続された管理端末を経由して基地局との間の通信をおこなうものである（たとえば、下記特許文献１参照。）。
【０００４】
また、複数の端末が周囲の端末を検索して所定の選択基準に基づきリーダ候補端末を決定することにより、アドホックネットワークにおける自律的なグループ分割をおこなう技術がある（たとえば、下記特許文献２参照。）。また、無線センサによりアドホックネットワークを構築する際に、基地局が無線センサのリストと電波強度に基づき、親ノードとなる無線センサを決定して親ノード毎の複数のグループ化をおこなう技術がある（たとえば、下記特許文献３参照。）。また、無線センサネットワークにかかり、端末とアクセスポイントにそれぞれ複数の種別の無線部を設け、通信環境によらず干渉特性に優れた通信をおこなう技術がある（たとえば、下記特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−８９０２１号公報
【特許文献２】特開２０１０−４５５２５号公報
【特許文献３】特開２００７−２４３７９４号公報
【特許文献４】特開２０１０−１８３２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、基地局と直接通信をおこなえない端末は、アドホック通信により基地局と通信することになる。このため、通信パケットは基地局と直接通信をおこなっている端末を必ず経由することになり、基地局と直接通信をおこなっている端末に通信量が集中してこの端末の通信負荷が増大する。加えて、携帯電話機等の端末は、車載用の端末等とは違って電源やスペースなどリソースが限られていて非力である。
【０００７】
上記特許文献１〜４の技術では、アドホック通信において、一定のエリアに多数の端末が集中する状況は考慮されていない。これにより、アドホック通信をおこない、かつ、一定のエリアに多数の端末が集中する状況となったときには、基地局と直接通信をおこなっている１台の端末に通信負荷が集中し、この端末は通信負荷の集中に耐え切れず破綻してしまう。
【０００８】
具体的には、基地局と直接通信をおこなっている端末では、通信モジュールが受信した電波信号をデジタルデータ（パケット）に変換し、ＣＰＵによってパケットをメモリ内の通信バッファに格納し、その後、通信処理部によってパケットを解析し、ヘッダ情報にしたがいデータ処理する。このように、通信パケットは、一旦バッファにためられた後に処理されるが、パケットを処理する速さよりもパケットを受け取る速さが上回るとバッファの溢れが生じる。
【０００９】
たとえば、アドホック通信の他の通信端末から１００Ｍｂｐｓでパケットを受け取り、２０Ｍｂｐｓで基地局へパケットを送信しているとする。通信バッファの容量が１０ＭＢｙｔｅであったとすると、わずか１秒で通信バッファが溢れることになる。通信バッファが溢れるとパケットの消失が発生し、パケットの再送処理などによってネットワーク全体のスループットは大幅に下がってしまう。
【００１０】
アドホック通信では、複数の端末が接続されており、各端末が通信バッファを持っており、その殆どは十分な空き容量を持っている。しかしながら、上述したように、１台の端末のバッファが溢れることによって、ネットワーク全体の性能の低下を招く問題を生じる。
【００１１】
開示のデータ通信方法およびデータ通信システムは、上述した問題点を解消するものであり、複数の端末を利用してデータ通信をおこなう際に端末にかかる通信負荷を低減することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、開示技術は、互いに直接通信可能な複数の端末装置のうちの第１端末装置で機能するとともに複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断するＣＰＵと、第２端末装置から受けたデータの通信量が処理可能な通信量を超えるとき、第２端末装置にデータの一部を所定の通信量で送出する送信部と、を含む。
【発明の効果】
【００１３】
開示のデータ通信方法およびデータ通信システムによれば、複数の端末を利用してデータ通信をおこなう際に端末にかかる通信負荷を低減できるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態にかかるデータ通信システムに含まれる端末装置の構成を示すブロック図である。
【図２】図２は、端末装置がおこなうリング構築にかかる全体処理を示すフローチャートである。
【図３】図３は、端末装置がおこなうリング構築の処理内容を示すフローチャートである。
【図４】図４は、端末装置に保存されるアドホック構成情報の内容を示す図表である。
【図５】図５は、端末装置がおこなうリング解放の処理内容を示すフローチャートである。
【図６】図６は、端末装置がおこなうリング構成のチェックの処理内容を示すフローチャートである。
【図７】図７は、端末装置がおこなうリングにパケットを送出する処理内容を示すフローチャートである。
【図８】図８は、リング構築に関する通知を受信した通信端末の処理内容を示すフローチャートである。
【図９】図９は、アドホック通信による通常時のデータの流れを示す図である。
【図１０】図１０は、アドホック通信による通信負荷集中時のデータの流れを示す図である。
【図１１】図１１は、アドホック通信による通信負荷減少時のデータの流れを示す図である。
【発明を実施するための形態】
【００１５】
（端末装置の構成）
以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。図１は、実施の形態にかかるデータ通信システムに含まれる端末装置の構成を示すブロック図である。図１に示す端末装置１００は、携帯電話機を用いた構成例であり、ハードウェア１０１と、オペレーティングシステム（ＯＳ）１０２と、ソフトウェア１０３とを有する。
【００１６】
ハードウェアは、ＣＰＵ１１１と、メモリ１１２と、キャリア通信部１１３と、アドホック通信部１１４と、Ｉ／Ｏ１１５と、ストレージ１１６とを含む。ＯＳ１０２は、リングライブラリ１２１と、通信ライブラリ１２２と、アドホックライブラリ１２３とを含む。ソフトウェア１０３は、通信処理をおこなうアプリケーション１３１を含む。
【００１７】
ＣＰＵ１１１は、端末装置１００の全体の処理を制御し、ＯＳ１０２のプログラム（リングライブラリ１２１、通信ライブラリ１２２、アドホックライブラリ１２３）、およびソフトウェア１０３のアプリケーション１３１を実行する。図示のように、端末装置１００は、複数のＣＰＵ１１１を搭載して並列処理するように構成してもよい。
【００１８】
メモリ１１２は、ＣＰＵ１１１の実行時にアクセスされ、通信バッファ１１７と、アドホック構成情報データベース（ＤＢ）１１８の領域を含む。キャリア通信部１１３は、図示しない基地局との間で通信をおこなう。アドホック通信部１１４は、他の複数の端末装置１００との間でアドホック通信をおこなう。Ｉ／Ｏ１１５は、端末装置１００に対するデータ入出力用のインターフェースである。ストレージ１１６は、フラッシュメモリ等の記憶媒体である。
【００１９】
リングライブラリ１２１は、他の端末装置１００のリングライブラリと連携動作し、複数の端末装置１００によるリングの構築を制御するプログラムである。リングの構築は、通信バッファ１１７の使用量が増大したとき、通信バッファ１１７のバッファ溢れを抑制するためにおこなう。このリングの構築により、自端末の通信バッファ１１７のパケットデータをアドホック通信により直接接続された他の端末装置１００に送信する。なお、「リング」の文言は、上記のように受信したパケットデータの一部を、送信元である他の端末装置１００に戻すことを判りやすくするために用いている。
【００２０】
このリングライブラリ１２１は、取得部１４１と、制御部１４２と、送信部１４３と、応答部１４４とを含む。このリングライブラリ１２１は、ＯＳ１０２が通信バッファ１１７にたまったパケットを処理する直前にプログラム実行され、リングライブラリ１２１の動作終了後には再度通常のパケット処理が実行される。
【００２１】
取得部１４１は、通信ライブラリ１２２を用いて通信バッファ１１７からバッファ使用量と通信バッファ１１７内の通信パケットを取得する。また、アドホックライブラリ１２３を用いてアドホック構成情報ＤＢ１１８からアドホック通信時の端末数と端末識別子を取得する。これら取得した情報を制御部１４２に出力する。また、取得部１４１は、取得した通信バッファ１１７のバッファ使用量が所定の閾値を超えた場合、バッファ使用量が閾値を超えたことを制御部１４２に通知する。この閾値とは、端末装置１００の設計時に通信バッファ１１７の総容量に基づき設定される固定値である。
【００２２】
制御部１４２は、取得部１４１により取得した通信バッファ１１７の使用量に基づいて、リングの構築またはリングの解放をおこなう。たとえば、複数の端末装置１００のうち、基地局までの距離が最短経路となる端末装置１００が基地局との間で通信をおこなうゲートウェイとしての基地局接続端末（第１端末装置）となったときに、通信バッファ１１７の使用量が増大する。
【００２３】
制御部１４２は、アドホック通信時には、自端末と直接通信リンクを確立している端末装置１００のうち、基地局までの最短経路となっている基地局接続端末以外の端末装置１００（第２端末装置）をリング構築またはリング解放の対象とする。そして、基地局接続端末は、これら他の端末装置１００に対して、リング構築通知またはリング解放通知を送信するよう送信部１４３に指示する。なお、取得部１４１が取得した通信バッファ１１７のバッファ使用量が閾値以下になった場合は、リングの解放の判断をおこなう。
【００２４】
この制御部１４２は、リング構築後には、自端末の通信バッファ１１７の溢れを防止するために、通信バッファ１１７からパケットデータを取り出し、リングを構築した他の端末装置１００に対して送信する所定のパケット量（通信量）のパケットデータを通信バッファ１１７から取り出して送信部１４３に対し送信指示する。
【００２５】
送信部１４３は、制御部１４２からの指示を受けると通信ライブラリ１２２を用いて指示されたリング構築通知またはリング解放通知を他の端末装置１００に送信する。また、この送信部１４３は、リングが構築されている間は、制御部１４２の制御に基づいて、通信バッファ１１７からパケットデータを取り出し、リングを構築した端末装置１００に対して取り出したパケットデータを送信する。また、送信部１４３は、パケットデータを送信する前に、無線通信の途絶などによるリング構成の破壊をチェックし、破壊を検出した場合には制御部１４２に対してリングの再度の構築を要求する。
【００２６】
応答部１４４は、他の端末装置１００から送られてきたリング構築通知、もしくはリング解放通知を受け取り、通信ライブラリ１２２に対してこれら帯域制限指示、あるいは帯域制限解除指示をおこなう。リング構築通知を受け取った場合には、他の端末装置１００との通信帯域をその時点での通信帯域に固定する。リング解放通知を受け取った場合は、端末装置１００との通信帯域の制限を解除する。
【００２７】
通信ライブラリ１２２は、端末装置１００の通信を実行するプログラムである。アプリケーション１３１の通信要求に基づき、キャリア通信部１１３を介して基地局との間で通信をおこなう。また、自端末がリングの端末となったときには、アドホック通信部１１４を介して基地局接続端末との通信をおこなう。自端末が基地局に接続する基地局接続端末となったときには、キャリア通信部１１３を介して基地局と通信するとともに、アドホック通信部１１４を介して他の端末装置１００との通信をおこなう。
【００２８】
この通信ライブラリ１２２は、取得部１４１の指示により、通信バッファ１１７からバッファ使用量と通信バッファ１１７内の通信パケットを取得する。また、アドホック通信部１１４を介して受信したリング構築通知、あるいはリング解放通知を応答部１４４に通知し、応答部１４４から出力される帯域制限指示、あるいは帯域制限解除指示に対応して、アドホック通信部１１４に対し、他の端末装置１００との間の通信帯域の帯域制限、あるいは帯域制限解除をおこなう。
【００２９】
アドホックライブラリ１２３は、アドホック構成情報ＤＢ１１８からアドホック通信を構成する情報、たとえば、端末数と端末識別子を取得するプログラムである。
【００３０】
（リング構築の処理内容）
つぎに、リングライブラリ１２１が実行するリング構築の処理内容について説明する。図２は、端末装置がおこなうリング構築にかかる全体処理を示すフローチャートである。以下の処理は、自端末が基地局接続端末であると認識した端末装置１００のリングライブラリ１２１の制御部１４２が継続的に繰り返し実行し、状況の変化に逐次対応する。
【００３１】
制御部１４２は、通信ライブラリ１２２を介して通信バッファ１１７のバッファ使用量Ｂを取得し（ステップＳ２０１）、予め定めた所定の閾値と比較する（ステップＳ２０２）。たとえば、閾値を通信バッファ１１７の総容量の８０％と設定すると、通信バッファ１１７の総容量が１０ＭＢｙｔｅであれば閾値は８ＭＢｙｔｅとなる。
【００３２】
ここで、バッファ使用量Ｂが閾値を超えたときには（ステップＳ２０２：Ｙｅｓ）、制御部１４２は、自端末が基地局接続端末となり、他の端末装置１００との間でリング構築が必要と判断する。そして、リング構築の状態を検出する（ステップＳ２０３）。具体的には、リング構築フラグＦがｔｒｕｅ（リング構築状態）でなければ（Ｆ＝ｆａｌｓｅ；リング解放状態）（ステップＳ２０３：Ｎｏ）、リングを構築し（ステップＳ２０４）、構築したリングに自端末のパケットを送出し（ステップＳ２０５）、終了する。一方、ステップＳ２０３においてリング構築フラグＦがｔｒｕｅであれば（ステップＳ２０３：Ｙｅｓ）、構築されているリング構成をチェックし（ステップＳ２０６）、ステップＳ２０５のパケット送出をおこなう。
【００３３】
また、ステップＳ２０２において、バッファ使用量Ｂが閾値以下のときには（ステップＳ２０２：Ｎｏ）、構築したリングの解放をおこなう。具体的には、リング構築フラグＦがｔｒｕｅ（リング構築状態）であれば（ステップＳ２０７：Ｙｅｓ）、リングを解放し（ステップＳ２０８）、バッファ使用量Ｂをテンポラリの変数Ｂ’に置き換え（ステップＳ２０９）、処理を終了する。一方、ステップＳ２０７において、リング構築フラグＦがｔｒｕｅでなければ（Ｆ＝ｆａｌｓｅ；リング解放状態）であれば（ステップＳ２０７：Ｎｏ）、ステップＳ２０９に移行する。
【００３４】
図３は、端末装置がおこなうリング構築の処理内容を示すフローチャートである。図２のステップＳ２０４の処理内容について説明する。リング構築時には、はじめに、制御部１４２は、アドホック構成情報ＤＢ１１８から直接接続している他の端末装置１００の端末数Ｎと、端末識別子Ｉを取得する（ステップＳ３０１）。
【００３５】
そして、制御部１４２は、端末台数ｉの値を初期値０にし（ステップＳ３０２）、端末数Ｎの各端末装置１００に対してリング構築をおこなう。まず、リングを構築した端末装置１００の端末台数ｉが端末数Ｎに達したか判断し（ステップＳ３０３）、端末台数ｉが端末数Ｎに達していなければ（ステップＳ３０３：Ｙｅｓ）、通信ライブラリ１２２を介して、端末Ｉｉにリング構築を通知する（ステップＳ３０４）。この後、端末台数ｉをインクリメントし（ステップＳ３０５）、ステップＳ３０３に戻る。ステップＳ３０３〜ステップＳ３０５の処理により、端末数Ｎ分だけ複数の端末装置１００に対してそれぞれリング構築を通知する。
【００３６】
一方、ステップＳ３０３において、端末台数ｉが端末数Ｎに達すれば（ステップＳ３０３：Ｎｏ）、リング構築フラグＦをｔｒｕｅに変更し（ステップＳ３０６）、端末数Ｎでアドホック通信によるリングを構築し、端末数Ｎをテンポラリの変数Ｎ’にし、端末識別子Ｉをテンポラリの変数Ｉ’にそれぞれ置き換え（ステップＳ３０７）、処理を終了する。
【００３７】
図４は、端末装置に保存されるアドホック構成情報の内容を示す図表である。アドホック構成情報ＤＢ１１８に保存されるアドホック構成情報４００の例を示す。図示のように、アドホック構成情報ＤＢ１１８には、他の端末装置１００（端末Ｂ，Ｃ，Ｄ）それぞれの端末ＩＤ（図示の例では、ＭＡＣアドレスと、直接通信をおこなう端末を示すフラグ（リング構築により直接通信する端末＝１，直接通信しない端末＝０）が格納される。
【００３８】
図５は、端末装置がおこなうリング解放の処理内容を示すフローチャートである。図２のステップＳ２０８の処理内容について説明する。リング解放時には、はじめに、制御部１４２は、アドホック構成情報ＤＢ１１８から直接接続している他の端末装置１００の端末数Ｎと、端末識別子Ｉを取得する（ステップＳ５０１）。
【００３９】
そして、端末台数ｉの値を初期値０にし（ステップＳ５０２）、端末数Ｎの各端末装置１００に対するリング解放をおこなう。まず、リングを解除した端末装置１００の端末台数ｉが端末数Ｎに達したか判断し（ステップＳ５０３）、端末台数ｉが端末数Ｎに達していなければ（ステップＳ５０３：Ｙｅｓ）、通信ライブラリ１２２を介して、端末Ｉｉにリング解放を通知する（ステップＳ５０４）。この後、端末台数ｉをインクリメントし（ステップＳ５０５）、ステップＳ５０３に戻る。ステップＳ５０３〜ステップＳ５０５の処理により、端末数Ｎ分だけ複数の端末装置１００に対してそれぞれリング解除を通知する。
【００４０】
一方、ステップＳ５０３において、端末台数ｉが端末数Ｎに達すれば（ステップＳ５０３：Ｎｏ）、リング構築フラグＦをｆａｌｓｅに変更し（ステップＳ５０６）、処理を終了する。
【００４１】
図６は、端末装置がおこなうリング構成のチェックの処理内容を示すフローチャートである。図２のステップＳ２０６の処理内容について説明する。このリング構成のチェックは、時間経過により端末装置１００が移動する等により、構築したリング構成から端末装置１００が消失する場合があるため、リング構成を定期的にチェックする。
【００４２】
はじめに、制御部１４２は、アドホック構成情報ＤＢ１１８から直接接続している他の端末装置１００の端末数Ｎと、端末識別子Ｉを取得する（ステップＳ６０１）。つぎに、端末台数ｉの値を初期値０にし（ステップＳ６０２）、リング構成をチェックする端末装置１００の端末台数ｉが端末数Ｎに達したか判断し（ステップＳ６０３）、端末台数ｉが端末数Ｎに達していなければ（ステップＳ６０３：Ｙｅｓ）、ステップＳ６０４に移行し、端末台数ｉが端末数Ｎに達すれば（ステップＳ６０３：Ｎｏ）、処理を終了する。
【００４３】
ステップＳ６０４では、前回の検出時における端末装置１００の端末識別子Ｉ’ｉと現在の端末識別子Ｉｉとが一致しているかを１台ずつ判断する（ステップＳ６０４）。これにより、リングを同じ端末装置１００によって構築した状態を維持できているかチェックできる。ステップＳ６０４の判断結果、一致していれば（ステップＳ６０４：Ｙｅｓ）、端末台数ｉをインクリメントし（ステップＳ６０５）、ステップＳ６０３に戻る。一方、一致していなければ（ステップＳ６０４：Ｎｏ）、リングを構築する端末装置１００の構成に変化があり、リングを再構築する必要があることから、リングの構築をおこない（ステップＳ６０６）、処理を終了する。このステップＳ６０６におけるリングの構築は、図２のステップＳ２０４の処理と同じであり、図３に示す処理を実行する。
【００４４】
図７は、端末装置がおこなうリングにパケットを送出する処理内容を示すフローチャートである。図２のステップＳ２０５の処理内容について説明する。基地局接続端末は、はじめに、制御部１４２は、通信ライブラリを介して通信バッファ１１７のバッファ増加量ΔＢを求める（ステップＳ７０１）。バッファ増加量ΔＢ＝Ｂ−Ｂ’（前回検出時のバッファ使用量）で得ることができる。
【００４５】
つぎに、バッファ増加量ΔＢが増加したか減少したかを判断する（ステップＳ７０２）。バッファ増加量ΔＢの増加時（ΔＢ＞０）には（ステップＳ７０２：Ｙｅｓ）、端末台数ｉの値を初期値０にし（ステップＳ７０３）、他の端末装置１００の端末数Ｎに達したか判断する（ステップＳ７０４）。端末台数ｉが端末数Ｎに達していなければ（ステップＳ７０４：Ｙｅｓ）、通信バッファ１１７から所定量のパケットを取得する（ステップＳ７０５）。この例では、通信バッファ１１７から（ΔＢ／Ｎ）、すなわち、バッファ増加量ΔＢを端末数Ｎで割った値の通信量を取得する。
【００４６】
この後、通信ライブラリ１２２を使ってアドホック通信部１１４から該当する各通信端末（Ｉｉ）１００に対して、ステップＳ７０５で算出した通信量のパケットを送信し（ステップＳ７０６）、端末台数ｉをインクリメントして（ステップＳ７０７）、ステップＳ７０４に戻り、端末数Ｎ分の各通信端末１００に対して同様にパケットの送出をおこなう。
【００４７】
一方、ステップＳ７０２において、バッファ増加量ΔＢの減少時には（ステップＳ７０２：Ｎｏ）、通信バッファ１１７のバッファ使用量Ｂをテンポラリの変数Ｂ’に置き換え（ステップＳ７０８）、処理を終了する。ステップＳ７０４において、端末台数ｉが端末数Ｎに達したときも（ステップＳ７０４：Ｎｏ）、処理を終了する。
【００４８】
図８は、リング構築に関する通知を受信した通信端末の処理内容を示すフローチャートである。基地局接続端末からリング構築、および解放の通知を受信した他の通信端末１００がおこなう処理について説明する。
【００４９】
はじめに、通知を受け取った通信端末１００は、通知内容から通知元である基地局接続端末の端末識別子Ｉを取得し（ステップＳ８０１）、通知の種類を判別する（ステップＳ８０２）。通知がリング構築であれば（ステップＳ８０２：Ｃａｓｅ１）、通信ライブラリ１２２を用いて端末識別子Ｉの基地局接続端末との通信帯域をその時点の帯域で固定し（ステップＳ８０３）、処理を終了する。一方、ステップＳ８０２における通知がリング解放であれば（ステップＳ８０２：Ｃａｓｅ２）、通信ライブラリ１２２を用いて端末識別子Ｉの基地局接続端末との通信帯域制限を解除し（ステップＳ８０４）、処理を終了する。
【００５０】
（アドホック通信−１．通常時）
図９は、アドホック通信による通常時のデータの流れを示す図である。１台の端末装置１００が基地局ＢＳにキャリア通信部１１３を介して基地局接続端末Ａ（第１端末装置）として接続されている。この基地局接続端末Ａは、他の２台の端末Ｂ，Ｃ（第２端末装置）がアドホック通信部１１４を介して基地局接続端末Ａにアドホック通信により接続されている。これら端末Ｂ，Ｃは、基地局接続端末Ａを介して基地局ＢＳとの間の通信をおこなう。
【００５１】
上記のアドホック通信の状態において、基地局接続端末Ａを介して基地局ＢＳに送信する端末Ｂ，Ｃの通信量ｂ，ｃがそれぞれ０．５Ｍｂｐｓであるとする。この場合、基地局接続端末Ａでは、これら端末Ｂ，Ｃの２台の合計の通信量１Ｍｂｐｓを受信し、１Ｍｂｐｓの通信量ａで基地局ＢＳに送信することになる。このような状態では、基地局接続端末Ａは、端末Ｂ，Ｃから受け取る通信量ｂ＋ｃと、基地局ＢＳへ送出する通信量ａが釣り合っている。したがって、基地局接続端末Ａの通信バッファ１１７は、１０ＭＢｙｔｅと十分空き容量があり、端末Ｂ，Ｃのパケットは、なるべく最短となるように基地局接続端末Ａを介してルーティングされる。
【００５２】
（２．通信負荷集中時）
図１０は、アドホック通信による通信負荷集中時のデータの流れを示す図である。図９の状態以降、基地局接続端末Ａへの通信量が増大したときの状態について説明する。
【００５３】
（１）はじめに、端末Ｂ，Ｃが受け取ったパケットの通信量ｂ１，ｃ１がそれぞれ増加して１Ｍｂｐｓとなり、これら端末Ｂ，Ｃが基地局接続端末Ａに送出する通信量ｂ２，ｃ２がそれぞれ１Ｍｂｐｓになったとする。基地局接続端末Ａでは、これら端末Ｂ，Ｃの２台の合計の通信量２Ｍｂｐｓを受信することになる。しかし、この基地局接続端末Ａが基地局ＢＳに送出する通信量ａは１Ｍｂｐｓのまま変化しない。
【００５４】
（２）このため、基地局接続端末Ａの通信バッファ１１７にパケットがたまっていき、閾値を超える。たとえば、基地局接続端末Ａの通信バッファ１１７容量が１０ＭＢｙｔｅで閾値が８ＭＢｙｔｅとする。この場合、基地局接続端末Ａでは、端末Ｂ，Ｃから受け取る通信量が２Ｍｂｐｓに対し、基地局ＢＳへ送出する通信量が１Ｍｂｐｓであるので、通信バッファ１１７にパケットがたまる速さは１Ｍｂｐｓとなる。このままでは、基地局接続端末Ａの通信バッファ１１７は、遅くとも８ＭＢｙｔｅ×８／１Ｍｂｐｓ＝６４秒後には閾値を超えることになる。
【００５５】
（３）このような通信負荷集中時、基地局接続端末Ａは、閾値を超えるとアドホック通信を確立している端末ＢとＣに対してリング構築通知を送信する。そして、通信バッファ１１７にパケットがたまる速さを端末ＢとＣに等分した速さでパケットを送信する（図７参照）。この際、端末ＢとＣは、基地局接続端末Ａとの通信帯域に制限をかける。図１０に示す例では、端末ＢとＣは、リング構築通知を受け取った時点で１Ｍｂｐｓの通信帯域で通信をおこなっていたため、リング構築通知を受け取った以降においても通信量ｂ，ｃは、それぞれ１Ｍｂｐｓに制限される。
【００５６】
そして、基地局接続端末Ａは、端末ＢとＣとのリング構築により、端末ＢとＣに対してそれぞれ０．５Ｍｂｐｓの通信量ｂｒ，ｃｒでパケットを送出する。これは、通信バッファ１１７にパケットがたまる速さ１Ｍｂｐｓを、端末ＢとＣの２台で等分した速さである。
【００５７】
（４）これにより、基地局接続端末Ａの受け取る通信量ｂ＋ｃと、基地局ＢＳへ送出する通信量ａが釣り合うため、基地局接続端末Ａの通信バッファ１１７のパケットの増加が止まる。このように、アドホック通信の端末同士でリングが構築されている間は、基地局接続端末Ａが基地局ＢＳに送出する通信量が増大しても、この増大に応じてリングの端末ＢとＣに送出する通信量を増やす。これにより、基地局接続端末Ａの通信バッファ１１７にたまる通信量は増加せずバッファ溢れを抑制する。この際、基地局接続端末Ａが端末ＢとＣから受け取る通信量は、通信帯域制限されているため、端末Ｂもしくは端末Ｃのバッファに送信すべきパケットがなくならない限り変化しない。
【００５８】
（５）また、端末ＢとＣは、基地局接続端末Ａからパケットを受け取るため、通信量が増える。しかし、基地局接続端末Ａとの通信帯域は制限されているため、端末ＢとＣの通信バッファ１１７にパケットがたまっていく。たとえば、図１０では、端末ＢとＣは、それぞれ１＋０．５＝１．５Ｍｂｐｓの速さでパケットを受け取る。その一方、基地局接続端末Ａに対しては１Ｍｂｐｓでパケットを送出する。
【００５９】
これにより、差分の０．５Ｍｂｐｓずつ通信バッファ１１７にはパケットがたまっていく。端末ＢとＣもそれぞれ閾値を持っており、閾値を超えるまではこの状態のまま通信バッファ１１７にパケットをためていく。閾値を超えた場合は、端末ＢとＣについても、上記２．以降の手順でリングを構築することによりバッファ溢れを防ぎ、さらに他の端末の通信バッファ１１７を利用することができる。
【００６０】
（３．通信負荷減少時）
図１１は、アドホック通信による通信負荷減少時のデータの流れを示す図である。図１０の状態以降、基地局接続端末Ａへの通信量が減少したときの状態について説明する。
【００６１】
（１）はじめに、端末Ｂ，Ｃが受け取ったパケットの通信量ｂ１，ｃ１がそれぞれ減少して０．４Ｍｂｐｓとなったとする。また、図１０の状態で基地局接続端末Ａから受け取るパケットの通信量ｂｒ，ｃｒがそれぞれ０．５Ｍｂｐｓであったとする。これにより、端末ＢとＣは、それぞれ０．９Ｍｂｐｓの通信量でパケットを受け取る。
【００６２】
（２）端末ＢとＣが基地局接続端末Ａに送出する通信量ｂ２，ｃ２は、帯域制限があるため１Ｍｂｐｓのままであるため、端末ＢとＣの通信バッファ１１７内のバッファ使用量は次第に減少していく。
【００６３】
（３）端末ＢとＣは、通信バッファ１１７内のパケットが次第に減少するに伴い、基地局接続端末Ａへ送出するパケットの通信量ｂ２，ｃ２も低下する。たとえば、端末ＢとＣそれぞれ０．９Ｍｂｐｓとなる。
【００６４】
（４）すると、基地局接続端末Ａが端末ＢとＣから受け取る通信量は、０．９Ｍｂｐｓ＋０．９Ｍｂｐｓ＝１．８Ｍｂｐｓとなる。一方、基地局接続端末Ａが端末ＢとＣに送出する通信量は、１Ｍｂｐｓ＋０．５Ｍｂｐｓ＋０．５Ｍｂｐｓ＝２Ｍｂｐｓとなるため、基地局接続端末Ａの通信バッファ１１７内の使用量は減少をはじめる。そして、パケット量が一定以上減ると閾値未満となる。
【００６５】
（５）したがって、基地局接続端末Ａは、端末ＢとＣのそれぞれにリング解放通知を送信する。これにより、端末ＢとＣそれぞれの通信帯域制限が解除され、基地局接続端末Ａから端末ＢとＣへの送信が止まる。最終的には、図１１に示すように、端末ＢとＣはそれぞれ０．４Ｍｂｐｓの通信量ｂ２，ｃ２で基地局接続端末Ａにパケットを送信するようになる。基地局接続端末Ａは、合計０．８Ｍｂｐｓでパケットを受け取り、１Ｍｂｐｓの通信量ａでパケットを基地局ＢＳに送出するため、基地局接続端末Ａの通信バッファ１１７内のパケット量はさらに減少する。
【００６６】
（通信バッファが溢れるまでの時間について）
図９に示した例のように、端末装置１００が３台（基地局接続端末Ａ、および端末Ｂ，Ｃ）あり、それぞれの通信バッファ１１７が１０ＭＢｙｔｅの総容量を有するとする。３台の端末装置１００のうち、基地局接続端末Ａのみが基地局ＢＳと通信可能であり、基地局ＢＳと基地局接続端末Ａは最大１Ｍｂｐｓで通信することができる。基地局接続端末Ａと、端末Ｂ、および基地局接続端末Ａと端末Ｃは、それぞれアドホック通信により直接通信することができ、最大通信帯域は１０Ｍｂｐｓであるとする。そして、端末ＢとＣは、それぞれ１Ｍｂｐｓで通信パケットを送信するアプリケーションを実行していたとする。
【００６７】
このとき、基地局接続端末Ａは、２Ｍｂｐｓでパケットを受け取り、１Ｍｂｐｓでパケットを送出するため、１Ｍｂｐｓで通信バッファにパケットがたまっていく。このままの状態（対策なしの従来技術相当）では、１０ＭＢｙｔｅ＊８／１Ｍｂｐｓ＝８０秒で基地局接続端末Ａの通信バッファが溢れてしまい、ネットワーク全体の性能低下を引き起こしてしまう。
【００６８】
これに対して上記実施の形態の構成によれば、各端末装置１００の閾値を８ＭＢｙｔｅと設定したとすると、はじめに基地局接続端末Ａの通信バッファ１１７は、８ＭＢｙｔｅ＊８／１Ｍｂｐｓ＝６４秒で閾値に達する。閾値を超えたこの時点でリングを構築するため、基地局接続端末Ａの通信バッファ１１７にたまるパケットの増加は止まり、端末ＢとＣの通信バッファ１１７にパケットがたまり始める。端末ＢとＣは、それぞれ１Ｍｂｐｓ＋０．５Ｍｂｐｓ＝１．５Ｍｂｐｓでパケットを受け取り、１Ｍｂｐｓでパケットを基地局接続端末Ａに送出するため、０．５Ｍｂｐｓで通信バッファ１１７にパケットがたまっていく。そのため、８ＭＢｙｔｅ＊８／０．５Ｍｂｐｓ＝１２８秒で閾値に達する。
【００６９】
ここで、端末ＢとＣは、基地局接続端末Ａ以外との通信はおこなっていないため、そのまま通信バッファ１１７にパケットがたまり続け、２ＭＢｙｔｅ＊８／０．５Ｍｂｐｓ＝３２秒でバッファが溢れる。以上により、上記実施の形態によれば、端末Ａ〜Ｃのネットワーク全体で通信バッファ１１７が溢れるまでには、６４＋１２８＋３２＝２２４秒かかる。このように、上記実施形態によれば、従来技術よりもネットワーク全体の性能低下が生じるまでの時間を長くすることができ、バッファ溢れを抑制できるようになる。
【００７０】
また、上記実施の形態では、端末数を３台としたが、端末数はこれに限らず増加させることができ、これら複数台の端末によりアドホック通信をおこない、また、バッファ溢れが生じる端末についてリングを構築することができる。従来技術ではアドホック通信の端末数が増えたとしても、ネットワーク全体の性能低下が起きるまでの時間に変化はない。これに対し、上記実施の形態では、端末数が増えるほど各端末に設けられた通信バッファを利用でき、ネットワーク全体のバッファ量が増えることになるため、ネットワーク全体の性能低下が起きるまでの時間をさらに長くすることができる。
【００７１】
また、上記実施の形態では、基地局ＢＳまでの距離が最短経路となる端末装置１００が基地局との間で通信をおこなう基地局接続端末Ａとなり、この基地局接続端末Ａにおける通信負荷の増大および通信バッファ１１７のバッファ溢れを抑制することについて説明した。しかし、基地局ＢＳとの接続をおこなう基地局接続端末Ａに限らず、アドホック通信をおこなっている端末装置Ｂ，Ｃ同士間において、通信バッファ１１７が溢れそうになっている端末装置（ＢまたはＣ）があれば、この端末装置（ＢまたはＣ）についても、さらに他の端末装置との間でリングを構築することにより、同様にバッファ溢れを抑制できるようになる。
【００７２】
さらに、上記実施の形態では、アドホック通信をおこなう装置を全て携帯電話機の端末装置１００で構成する例を説明したが、端末装置１００の一部は、携帯電話機に限らず、ＰＣ、ＰＤＡ等の携帯機器、車載端末装置であってもよい。
【００７３】
上述した本実施の形態に関し、さらに以下の付記を開示する。
【００７４】
（付記１）互いに直接通信可能な複数の端末装置に含まれる第１端末装置が、
前記複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断し、
前記データの通信量が処理可能な通信量を超えるとき、前記第２端末装置にデータの一部を所定の通信量で送出すること
を特徴とするデータ通信方法。
【００７５】
（付記２）複数の端末装置のうち、基地局に接続される端末装置が前記第１端末装置となり、
前記第２の端末装置は、前記第１端末装置を介して基地局との間でデータ通信すること  を特徴とする付記１に記載のデータ通信方法。
【００７６】
（付記３）前記第２端末装置から受けたデータの通信量について、通信バッファの使用量を用いて処理可能か否かを判断すること
を特徴とする付記１または２に記載のデータ通信方法。
【００７７】
（付記４）前記第２端末装置から受けたデータの通信量が処理可能な通信量になったとき、前記第２端末装置へのデータの送出を解除すること
を特徴とする付記１〜３のいずれか一つに記載のデータ通信方法。
【００７８】
（付記５）前記第２端末装置にそれぞれ送出するデータの通信量は、前記第２の端末装置数に基づくこと
を特徴とする付記１〜４のいずれか一つに記載のデータ通信方法。
【００７９】
（付記６）前記第１端末装置は、
前記データの通信量が処理可能な通信量を超えたとき、前記第２端末装置のそれぞれに対し、データの送出要求をおこなった後、
前記第２端末装置に対し所定の通信量でデータを送出すること
を特徴とする付記１〜５のいずれか一つに記載のデータ通信方法。
【００８０】
（付記７）前記第２の端末装置は、
前記第１の端末装置からデータの送出要求がなされた時点での通信帯域に固定すること  を特徴とする付記６に記載のデータ通信方法。
【００８１】
（付記８）前記第１端末装置は、
前記データの通信量が処理可能なデータ量になったとき、前記第２端末装置のそれぞれに対し、データの送出要求を解除すること
を特徴とする付記１〜７のいずれか一つに記載のデータ通信方法。
【００８２】
（付記９）前記第２の端末装置は、
前記第１の端末装置からデータの送出要求が解除されると、通信帯域の固定を解除すること
を特徴とする付記８に記載のデータ通信方法。
【００８３】
（付記１０）互いに直接通信可能な複数の端末装置のうちの第１端末装置で機能するとともに前記複数の端末装置に含まれる第２端末装置から受けたデータの通信量が処理可能な通信量を超えるか否かを判断する制御部と、
前記データの通信量が処理可能な通信量を超えるとき、前記第２端末装置にデータの一部を所定の通信量で送出する送信部と、
を含むことを特徴とするデータ通信システム。
【００８４】
（付記１１）前記第１の端末装置は、
複数の端末装置のうち、基地局との間で通信をおこなうキャリア通信部と、
前記第２の端末装置との間で直接通信するアドホック通信部とを含むこと
を特徴とする付記１０に記載のデータ通信システム。
【００８５】
（付記１２）前記第１の端末装置は、
アドホック通信をおこなう前記第２の端末装置の情報を保存するアドホック構成情報格納部を含むこと
を特徴とする付記１１に記載のデータ通信システム。
【００８６】
（付記１３）前記第１の端末装置は、
所定の容量を有する通信バッファを含み、
前記制御部は、
前記第２端末装置から受けたデータの通信量と、前記基地局へ送出するデータの通信量と、前記通信バッファの使用量に基づき、処理可能であるか否かを判断すること
を特徴とする付記１１または１２に記載のデータ通信システム。
【符号の説明】
【００８７】
１００  端末装置
１０２  ＯＳ
１１１  ＣＰＵ
１１２  メモリ
１１３  キャリア通信部
１１４  アドホック通信部
１１６  ストレージ
１１７  通信バッファ
１１８  アドホック構成情報データベース
１２１  リングライブラリ
１２２  通信ライブラリ
１２３  アドホックライブラリ
１３１  アプリケーション
１４１  取得部
１４２  制御部
１４３  送信部
１４４  応答部
４００  アドホック構成情報
【国際調査報告】
2012172665.tif 000014
2012172665.tif 000015