(57)【要約】【課題】近接通信機能により端末同士を接続し、適切な通信キャリアを選択することで、円滑な通信環境を確保することを目的とする。【解決手段】ネットワークコントローラから受信した仮想ＮＷアドレスで、アドホック網の通信を行う第１の端末及び第２の端末の仮想スイッチ部を設定し、仮想ゲートウェイとなった第１の端末の仮想スイッチ部が、第２の端末からのパケットを受信して、仮想ゲートウェイとなった第１の端末が所属する第１の基地局に転送し、当該転送するパケットに前記仮想ＮＷアドレスを付加し、第１のパケットカウント部は、ネットワークコントローラから通知された第１の端末と第２の端末の仮想ＮＷアドレスを保持し、転送するパケットに含まれる仮想ＮＷアドレスから、第１の端末が所属する第１の通信網とのパケット数と、第２の端末が所属する第２の通信網のパケット数をそれぞれ計数する。【選択図】図１２
2014138248.tif 000002
【特許請求の範囲】
【請求項１】
基地局と通信を行う第１の通信部と、端末同士の通信を行う第２の通信部とを備えた端末と、
前記端末を管理するネットワークコントローラと、を備えた通信システムであって、
前記基地局は、
第１の通信網に接続された第１の基地局と、
第２の通信網に接続された第２の基地局と、を含み、
前記端末は、
前記第１の通信網に所属して前記第１の基地局と接続する第１の端末と、
前記第２の通信網に所属して前記第２の基地局と選択する第２の端末と、を含み、
前記第１の通信網は、
前記第１の基地局に接続された前記第１の端末を、前記第３の通信網に接続する第１のアクセスゲートウェイと、
前記第１の基地局と第１のアクセスゲートウェイとの間で転送されるパケット数をカウントする第１のパケットカウント部と、を含み、
前記第２の通信網は、
前記第２の基地局に接続された前記第２の端末を、前記第３の通信網に接続する第２のアクセスゲートウェイと、
前記第２の基地局と第２のアクセスゲートウェイとの間で転送されるパケット数をカウントする第２のパケットカウント部と、を含み、
前記第１の端末の第２の通信部と、前記第２の端末の第２の通信部は相互に接続したアドホック網を形成し、前記第１の端末は、前記第１の基地局を介して前記ネットワークコントローラに当該端末の登録を要求し、前記第２の端末は、前記第２の基地局を介して前記ネットワークコントローラに当該端末の登録を要求し、
前記ネットワークコントローラは、
前記アドホック網の前記第１の端末と前記第２の端末に仮想ネットワークアドレスをそれぞれ付与し、前記第１の端末と前記第２の端末の何れかひとつを仮想ゲートウェイに決定し、前記第１の端末と前記第２の端末にネットワークアドレスと前記仮想ゲートウェイを通知し、前記第１の端末と前記第２の端末の仮想ネットワークアドレスを、前記１のパケットカウント部と前記第２のパケットカウント部に通知するネットワーク管理部を有し、
前記第１の端末及び第２の端末は、
前記ネットワークコントローラから受信した仮想ネットワークアドレスで、前記アドホック網の通信を行う仮想スイッチ部を有し、
前記第１の端末及び第２の端末の仮想スイッチ部は、
前記仮想ゲートウェイとなった前記第１または第２の端末の仮想スイッチ部が他の端末からのパケットを受信して、仮想ゲートウェイとなった前記第１または第２の端末が所属する前記第１または第２の基地局に転送し、当該転送するパケットに前記仮想ネットワークアドレスを付加し、
前記第１または第２のパケットカウント部は、
前記ネットワークコントローラから通知された前記第１の端末と前記第２の端末の仮想ネットワークアドレスを保持し、前記転送するパケットに含まれる仮想ネットワークアドレスから、前記第１の端末が所属する第１の通信網と、前記第２の端末が所属する第２の通信網毎に前記パケット数を計数することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記第１の端末は、
前記第１の基地局から第１の通信網の性能情報を測定して、当該性能情報を前記ネットワークコントローラに送信し、
前記第２の端末は、
前記第２の基地局から第２の通信網の性能情報を測定して、当該性能情報を前記ネットワークコントローラに送信し、
前記ネットワークコントローラは、
前記ネットワーク管理部が、前記受信した第１の通信網の性能情報と第２の通信網の性能情報を比較して性能情報の良い方の通信網に所属する前記第１または第２の端末を前記仮想ゲートウェイとして決定することを特徴とする通信システム。
【請求項３】
請求項１に記載の通信システムであって、
前記第２の端末は、前記第３の通信網と通信できないときには、前記ネットワークコントローラに通信できないことを通知し、
前記ネットワークコントローラは、
前記第２の端末から前記第３の通信網と通信できない通知を受信すると、前記第１の端末を仮想ゲートウェイに決定し、前記第１の端末及び第２の端末に前記決定した仮想ゲートウェイを通知することを特徴とする通信システム。
【請求項４】
請求項１に記載の通信システムであって、
前記ネットワーク管理部は、
前記仮想ゲートウェイとなる通信網を前記基地局に対応付けて予め設定し、前記アドホック網を構成する前記第１の端末及び第２の端末に、前記仮想ゲートウェイを通知することを特徴とする通信システム。
【請求項５】
請求項１に記載の通信システムであって、
前記ネットワーク管理部は、
所定のタイミングになると、前記第１及び第２の端末に性能情報を要求し、前記第１及び第２の端末から性能情報を取得し、前記第１または第２の通信網のうち性能情報がよい方に所属する第１または第２の端末を仮想ゲートウェイとして決定することを特徴とする通信システム。
【請求項６】
基地局と通信を行う第１の通信部と、端末同士の通信を行う第２の通信部とを備えた端末と、前記端末を管理するネットワークコントローラと、を備えて端末の通信経路を制御する方法であって、
前記基地局は、第１の通信網に接続された第１の基地局と、第２の通信網に接続された第２の基地局と、を含み、
前記端末は、前記第１の通信網に所属して前記第１の基地局と接続する第１の端末と、前記第２の通信網に所属して前記第２の基地局と選択する第２の端末と、を含み、
前記第１の通信網は、前記第１の基地局に接続された前記第１の端末を、前記第３の通信網に接続する第１のアクセスゲートウェイと、前記第１の基地局と第１のアクセスゲートウェイとの間で転送されるパケット数をカウントする第１のパケットカウント部と、を含み、
前記第２の通信網は、前記第２の基地局に接続された前記第２の端末を、前記第３の通信網に接続する第２のアクセスゲートウェイと、前記第２の基地局と第２のアクセスゲートウェイとの間で転送されるパケット数をカウントする第２のパケットカウント部と、を含み、
前記方法は、
前記第１の端末の第２の通信部と、前記第２の端末の第２の通信部が相互に接続してアドホック網を形成する第１のステップと、
前記第１の端末が、前記第１の基地局を介して前記ネットワークコントローラに当該端末の登録を要求する第２のステップと、
前記第２の端末が、前記第２の基地局を介して前記ネットワークコントローラに当該端末の登録を要求する第３のステップと、
前記ネットワークコントローラが、前記アドホック網の前記第１の端末と前記第２の端末に仮想ネットワークアドレスをそれぞれ付与し、前記第１の端末と前記第２の端末の何れかひとつを仮想ゲートウェイに決定する第４のステップと、
前記ネットワークコントローラが、前記第１の端末と前記第２の端末にネットワークアドレスと前記仮想ゲートウェイを通知する第５のステップと、
前記ネットワークコントローラが、前記第１の端末と前記第２の端末の仮想ネットワークアドレスを、前記１のパケットカウント部と前記第２のパケットカウント部に通知する第６のステップと、
前記第１の端末及び第２の端末の仮想スイッチ部が、前記ネットワークコントローラから受信した仮想ネットワークアドレスで、前記アドホック網の通信をそれぞれ行う第７のステップと、
前記仮想ゲートウェイとなった前記第１または第２の端末の仮想スイッチ部が、他の端末からのパケットを受信して、仮想ゲートウェイとなった前記第１または第２の端末が所属する前記第１または第２の基地局に転送し、当該転送するパケットに前記仮想ネットワークアドレスを付加する第８のステップと、
前記第１または第２のパケットカウント部は、前記ネットワークコントローラから通知された前記第１の端末と前記第２の端末の仮想ネットワークアドレスを保持し、前記転送するパケットに含まれる仮想ネットワークアドレスから、前記第１の端末が所属する第１の通信網と、前記第２の端末が所属する第２の通信網毎に前記パケット数を計数する第９のステップと、
を含むことを特徴とする端末の通信経路制御方法。
【請求項７】
請求項６に記載の端末の通信経路制御方法であって、
前記第４のステップは、
前記第１の端末が、前記第１の基地局から第１の通信網の性能情報を測定して、当該性能情報を前記ネットワークコントローラに送信するステップと、
前記第２の端末が、前記第２の基地局から第２の通信網の性能情報を測定して、当該性能情報を前記ネットワークコントローラに送信するステップと、
前記ネットワークコントローラが、前記受信した第１の通信網の性能情報と第２の通信網の性能情報を比較して性能情報の良い方の通信網に所属する前記第１または第２の端末を前記仮想ゲートウェイとして決定するステップと、
を含むことを特徴とする端末の通信経路制御方法。
【請求項８】
請求項６に記載の端末の通信経路制御方法であって、
前記第４のステップは、
前記第２の端末が、前記第３の通信網と通信できないときには、前記ネットワークコントローラに通信できないことを通知するステップと、
前記ネットワークコントローラは、前記第２の端末から前記第３の通信網と通信できない通知を受信すると、前記第１の端末を仮想ゲートウェイに決定するステップと、
を含むことを特徴とする端末の通信経路制御方法。
【請求項９】
請求項６に記載の端末の通信経路制御方法であって、
前記第４のステップは、
前記ネットワークコントローラが、前記仮想ゲートウェイとなる通信網を前記基地局に対応付けて予め設定し、
前記第５のステップは、
前記ネットワークコントローラが、前記アドホック網を構成する前記第１の端末及び第２の端末に、前記仮想ゲートウェイを通知することを特徴とする端末の通信経路制御方法。
【請求項１０】
請求項６に記載の端末の通信経路制御方法であって、
前記ネットワークコントローラが、所定のタイミングになると、前記第１及び第２の端末に性能情報を要求し、前記第１及び第２の端末から性能情報を取得する第１０のステップと、
前記ネットワークコントローラが、前記第１または第２の通信網のうち性能情報がよい方に所属する第１または第２の端末を仮想ゲートウェイとして決定する第１１のステップと、
前記ネットワークコントローラが、前記決定した新たなゲートウェイを前記第１または第２の端末と、前記第１または第２のパケットカウント部にそれぞれ通知する第１２のステップと、
をさらに含むことを特徴とする端末の通信経路制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テザリング機能を備えた端末の通信制御に関する。
【背景技術】
【０００２】
近年、テザリング機能を備えたスマートフォンなどの無線端末や、通信カードを実装したＰＣ、あるいは通信キャリアの通信機能を持った無線ルータなどが普及しつつある。そして、テザリング機能を有する通信機器を有効に利用する技術が提案されている（例えば、特許文献１）。特許文献１では、通信キャリアなどの基地局と通信を行う機能と、近接した無線機器と通信を行う近接通信機能（Ｗｉ−ＦｉあるいはＢｌｕｅｔｏｏｔｈ）（Ｂｌｕｅｔｏｏｔｈは登録商標、以下同じ。）を有した複数の端末を利用する際に、最も適切な端末を選択して近接通信を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２２７６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スマートフォンなどの無線端末では、回線状況や電波の状況により一時的に通信が繋がりにくい状況や、恒常的に繋がりにくい場所や時間帯が発生する。しかし、同じ場所で無線端末の通信キャリアが複数存在する場合、他社の無線端末ではスムーズに通信が行われていることがある。原因としては、通信キャリア毎に基地局の設置場所や数が異なるなどロケーションの差や、基地局に収容された接続ユーザ数の過多によるスループットの低下などが挙げられる。
【０００５】
そこで本発明は、上記問題点に鑑みてなされたもので、近接通信機能により端末同士を接続し、適切な通信キャリアを選択することで、円滑な通信環境を確保することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、基地局と通信を行う第１の通信部と、端末同士の通信を行う第２の通信部とを備えた端末と、前記端末を管理するネットワークコントローラと、を備えた通信システムであって、前記基地局は、第１の通信網に接続された第１の基地局と、第２の通信網に接続された第２の基地局と、を含み、前記端末は、前記第１の通信網に所属して前記第１の基地局と接続する第１の端末と、前記第２の通信網に所属して前記第２の基地局と選択する第２の端末と、を含み、前記第１の通信網は、前記第１の基地局に接続された前記第１の端末を、前記第３の通信網に接続する第１のアクセスゲートウェイと、前記第１の基地局と第１のアクセスゲートウェイとの間で転送されるパケット数をカウントする第１のパケットカウント部と、を含み、前記第２の通信網は、前記第２の基地局に接続された前記第２の端末を、前記第３の通信網に接続する第２のアクセスゲートウェイと、前記第２の基地局と第２のアクセスゲートウェイとの間で転送されるパケット数をカウントする第２のパケットカウント部と、を含み、前記第１の端末の第２の通信部と、前記第２の端末の第２の通信部は相互に接続したアドホック網を形成し、前記第１の端末は、前記第１の基地局を介して前記ネットワークコントローラに当該端末の登録を要求し、前記第２の端末は、前記第２の基地局を介して前記ネットワークコントローラに当該端末の登録を要求し、前記ネットワークコントローラは、前記アドホック網の前記第１の端末と前記第２の端末に仮想ネットワークアドレスをそれぞれ付与し、前記第１の端末と前記第２の端末の何れかひとつを仮想ゲートウェイに決定し、前記第１の端末と前記第２の端末にネットワークアドレスと前記仮想ゲートウェイを通知し、前記第１の端末と前記第２の端末の仮想ネットワークアドレスを、前記１のパケットカウント部と前記第２のパケットカウント部に通知するネットワーク管理部を有し、前記第１の端末及び第２の端末は、前記ネットワークコントローラから受信した仮想ネットワークアドレスで、前記アドホック網の通信を行う仮想スイッチ部を有し、前記第１の端末及び第２の端末の仮想スイッチ部は、前記仮想ゲートウェイとなった前記第１または第２の端末の仮想スイッチ部が他の端末からのパケットを受信して、仮想ゲートウェイとなった前記第１または第２の端末が所属する前記第１または第２の基地局に転送し、当該転送するパケットに前記仮想ネットワークアドレスを付加し、前記第１または第２のパケットカウント部は、前記ネットワークコントローラから通知された前記第１の端末と前記第２の端末の仮想ネットワークアドレスを保持し、前記転送するパケットに含まれる仮想ネットワークアドレスから、前記第１の端末が所属する第１の通信網と、前記第２の端末が所属する第２の通信網毎に前記パケット数を計数する。
【発明の効果】
【０００７】
したがって、本発明は、異なる通信網（通信キャリア）に所属する端末同士を第２の通信部（例えば、近接通信機能）により接続し、適切な通信キャリアを選択して円滑な通信環境を確保することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例を示し、複数の通信キャリアで無線通信を提供する通信システムの一例を示すブロック図である。
【図２】本発明の実施例を示し、携帯端末の一例を示すブロック図である。
【図３】本発明の実施例を示し、仮想ネットワークコントローラの一例を示すブロック図である。
【図４】本発明の実施例を示し、パケットカウンタサーバの一例を示すブロック図である。
【図５】本発明の実施例を示し、パケットカウンタサーバのパケットカウントテーブルの一例を示す図である。
【図６】本発明の実施例を示し、仮想ネットワークコントローラのパケットカウントテーブルの一例を示す図である。
【図７】本発明の実施例を示し、仮想ネットワークコントローラの仮想ネットワークテーブルの一例を示す図である。
【図８】本発明の実施例を示し、通信システムで行われる処理の一例を示すシーケンス図で、特定の基地局の配下で行われる処理の一例である。
【図９】本発明の実施例を示し、近接通信を行うアドホック網の一例を示す図である。
【図１０】本発明の実施例を示し、通信システムで行われる処理の一例を示すシーケンス図で、携帯端末がアドホック網を動的に構成する処理の一例である。
【図１１】本発明の実施例を示し、通信システムで行われる処理の一例を示すシーケンス図で、携帯端末が通信不能になったときに行われる処理の一例である。
【図１２】本発明の実施例を示し、アドホック網を介して通信を行う際の通信経路の一例を示すブロック図である。
【図１３】本発明の実施例を示し、ゲートウェイの携帯端末から送信されるパケットの一例を示す図である。
【図１４】本発明の実施例を示し、アドホック網のゲートウェイを変更する際の通信経路の一例を示すブロック図である。
【図１５】本発明の実施例を示し、通信システムで行われる処理の一例を示すシーケンス図で、アドホック網のゲートウェイを変更する処理の一例である。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１０】
図１は、本発明の実施例を示し、複数の通信事業者（通信キャリア）で無線通信を提供する通信システムの一例を示すブロック図である。図１において、３つの通信キャリア（Ａ社、Ｂ社、Ｃ社）がキャリアＡの通信網１０９−ａ〜キャリアＣの通信網１０９−ｃを介してインターネット１０７に接続される無線通信ネットワーク１０８−ａ〜１０８−ｃを提供する例を示す。
【００１１】
通信キャリアＡの通信網１０９−ａは、無線通信ネットワーク１０８−ａを介して携帯端末１０１−ａと通信を行う基地局１０３−ａと、基地局１０３−ａとインターネット１０７の間でパケットを転送するアクセスゲートウェイ１０６−ａと、基地局１０３−ａとアクセスゲートウェイ１０６−ａの間に配置されてパケット数をカウントするパケットカウンタサーバ１０４−ａと、から構成される。
【００１２】
そして、基地局１０３−ａ、パケットカウンタサーバ１０４−ａ及びアクセスゲートウェイ１０６−ａは、複数の携帯端末同士で構成するアドホック網（仮想ネットワーク）１０２を管理し、各携帯端末１０１−ａ〜１０１−ｃの通信経路を制御する仮想ネットワークコントローラ１０５に接続される。
【００１３】
通信キャリアＢ、Ｃも同様に構成されており、図１において、添え字が「ｂ」が通信キャリアＢ、「ｃ」が通信キャリアＣの設備を示す。なお、各携帯端末１０１−ａ〜１０１−ｃは各通信キャリアＡ〜Ｃに所属する端末である。また、以下の説明では、各構成要素の総称を添え字無しの符号で示し、例えば、携帯端末１０１−ａ〜１０１−ｃの総称は符号１０１となる。他の構成要素も同様である。
【００１４】
また、各通信キャリアＡ〜Ｃのアクセスゲートウェイ１０６の接続先はインターネット１０７の例を示したが、プライベートネットワークやＷＡＮなどで構成してもよい。
【００１５】
また、基地局１０３が提供する無線通信ネットワーク１０８は、例えば、３Ｇ−ＬＴＥ（3GPP Long Term Evolution）や、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）である。
【００１６】
また、アドホック網１０２は、後述するように複数の携帯端末１０１の近距離無線通信機能及び仮想スイッチソフトウェアによって構成される。近距離無線通信としては、ＷｉＦｉ（Wireless Fidelity）や、ＷｉＦｉ  ＤｉｒｅｃｔあるいはＢｌｕｅｔｏｏｔｈなどのＩＰ（Internet Protocol）で通信が可能なものを採用することができる。
【００１７】
図２は、携帯端末１０１−ａの一例を示すブロック図である。なお、携帯端末１０１−ｂ、１０１−ｃは、携帯端末１０１−ａと同様の構成であるので、説明は省略する。
【００１８】
携帯端末１０１−ａは、演算を行うプロセッサ１１と、データやプログラムを保持するメモリ１２と、無線通信ネットワーク１０８−ａを介して基地局１０３−ａと通信を行う基地局通信部１３と、ユーザからの入力や画面表示などを行う入出力部１４と、プログラムやデータを格納する不揮発性の記憶部１５と、近接した他の携帯端末１０１と通信を行う近接通信部１６と、を備える。携帯端末１０１−ａは、近接通信部１６と基地局通信部１３を接続して、近接通信部１６に接続した機器を、基地局１０３と通信させるテザリング機能を有する。
【００１９】
メモリ１２には、ＯＳ２０１と、仮想スイッチソフトウェア２０２と、仮想環境設定アプリケーション２０３と、アプリ＃１〜アプリ＃ｎを含むアプリケーション２０４がロードされ、プロセッサ１１によって実行される。
【００２０】
プロセッサ１１は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ１１は、仮想スイッチソフトウェア２０２に従って動作することで仮想スイッチとして機能する。他のプログラムについても同様である。さらに、プロセッサ１１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００２１】
携帯端末１０１−ａの各機能を実現するプログラム、テーブル等の情報は、記憶部１５を構成する不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００２２】
基地局通信部１３は、上述したように３Ｇ−ＬＴＥや、ＷｉＭＡＸによって配下の携帯端末１０１−ａと通信を行う。そして、携帯端末１０１−ａは、近接通信部１６が近接した他の携帯端末１０１と通信を行い、仮想環境設定アプリケーション２０３によってアドホック網１０２が設定される。
【００２３】
仮想環境設定アプリケーション２０３は、後述するように、仮想ネットワークコントローラ１０５から仮想ネットワークアドレスを取得して、アドホック網１０２内でのＩＰによる通信を行う。
【００２４】
仮想スイッチソフトウェア２０２は、仮想環境設定アプリケーション２０３が設定したアドホック網１０２内で、他の携帯端末１０１と仮想ネットワークアドレスを用いて通信を行う。
【００２５】
近接通信部１６は、上述したようにＷｉＦｉや、ＷｉＦｉ  ＤｉｒｅｃｔあるいはＢｌｕｅｔｏｏｔｈを採用する。したがって、アドホック網１０２は、採用する通信方式によって通信可能な範囲が異なり、電波状態にもよるがアドホック網１０２の範囲は数メートルから数十メートルの範囲となる。
【００２６】
ここで、各携帯端末１０１の基地局通信部１３は、携帯端末１０１が所属する通信キャリアＡ〜Ｃの基地局１０３−ａ〜１０３−ｃと通信する。一方、各携帯端末１０１の近接通信部１６は、仮想環境設定アプリケーション２０３が稼働する他の携帯端末１０１であれば、所属する通信キャリアに係わらずアドホック網１０２内で通信することができる。
【００２７】
そして、仮想ネットワークコントローラ１０５は、後述するように、アドホック網１０２内のいずれかひとつの携帯端末１０１をゲートウェイとして決定する。
【００２８】
そして、アドホック網１０２内でゲートウェイとなった携帯端末１０１では、仮想スイッチソフトウェア２０２が、近接通信部１６で他の携帯端末１０１から受信したパケットを基地局通信部１３へ転送し、携帯端末１０１が所属する基地局１０３からインターネット１０７へ転送する。逆に、仮想スイッチソフトウェア２０２は、他の携帯端末１０１宛のパケットを基地局通信部１３で受信すると、近接通信部１６からアドホック網１０２内の他の携帯端末１０１へ転送する。このとき、仮想スイッチソフトウェア２０２は、マルチＮＡＴ（Network Address Translation）機能により、アドホック網１０２内の仮想ネットワークアドレスと、ゲートウェイとなった携帯端末１０１に割り当てられたＩＰアドレスの間でアドレス変換を行う。
【００２９】
このように、アドホック網１０２内では、図１２で示すように、ゲートウェイとなった携帯端末１０１がプロクシ（マルチＮＡＴ機能）となって、アドホック網１０２内の携帯端末１０１の通信をまとめて行うことができる。つまり、ゲートウェイになった携帯端末１０１は、仮想ネットワークアドレスを用いたアドホック網１０２内の他の帯端末１０１のテザリングとプロクシを行うことで、無線ルータとして機能することになる。なお、図１２は、アドホック網１０２を介して通信を行う際の通信経路の一例を示すブロック図である。
【００３０】
例えば、図１２において、通信キャリアＡの携帯端末１０１−ａがアドホック網１０２のゲートウェイとなった場合、通信キャリアＢの携帯端末１０１−ｂと通信キャリアＣの携帯端末１０１−ｃのパケットを携帯端末１０１−ａが、通信キャリアＡの基地局１０３−ａからアクセスゲートウェイ１０６−ａを介してインターネット１０７に転送する。
【００３１】
これにより、基地局１０３−ａのエリアでは、通信キャリアＡの帯域や応答時間（遅延時間）が他の通信キャリアＢ、Ｃよりも良い場合、携帯端末１０１−ｂ、１０１−ｃは、携帯端末１０１−ａを経由して通信キャリアＡを利用することで円滑な通信環境を確保できる。あるいは、通信キャリアＢの基地局１０３−ｂや通信キャリアＣの基地局１０３−ｃが繋がりにくい、あるいは接続できない状況であれば、携帯端末１０１−ｂ、１０１−ｃは、携帯端末１０１−ａを経由して通信キャリアＡを利用することで円滑な通信環境を確保できる。
【００３２】
ここで、通信キャリアＡは、他の通信キャリアＢ、Ｃのパケットを代理で転送するため、設備の利用に係る料金を請求するため転送した他社のパケット数を把握する必要がある。そこで、本発明では、アドホック網（仮想ネットワーク）１０２で用いる仮想ネットワークアドレスを発行する仮想ネットワークコントローラ１０５と、パケットに含まれる仮想ネットワークアドレスを検出して、通信キャリア毎のパケット数を計数するパケットカウンタサーバ１０４−ａ〜１０４−ｃを設ける。各通信キャリアは、自社のパケットカウンタサーバ１０４のパケット数を参照することで、他の通信キャリアに請求するべき料金を決定することができる。
【００３３】
なお、図２に示す携帯端末１０１の入出力部１４は、タッチパネル式液晶などで構成することができる。また、アプリケーション２０４は、仮想スイッチソフトウェア２０２上で稼働することで、外部へのアクセスをアドホック網１０２を介して行うことが可能になる。
【００３４】
また、上記では、仮想スイッチソフトウェア２０２が実装されたスマートフォンなどの携帯端末１０１に本発明を適用する例を示したが、仮想スイッチソフトウェア２０２が実装されたＰＣやゲーム機、あるいは、携帯通信キャリアとの通信機能を有する無線ルータなどに本発明を適用することができる。
【００３５】
図３は、仮想ネットワークコントローラ１０５の一例を示すブロック図である。仮想ネットワークコントローラ１０５は、各通信キャリアの基地局１０３、パケットカウンタサーバ１０４、アクセスゲートウェイ１０６に接続されており、アドホック網１０２内の仮想ネットワークの管理と、各携帯端末１０１からのパケットの経路を制御する。
【００３６】
仮想ネットワークコントローラ１０５は、演算を行うプロセッサ２１と、データやプログラムを保持するメモリ２２と、各通信キャリアの機器と通信を行う通信部２３と、管理者からの入力や画面表示などを行う入出力部２４と、プログラムやデータを格納する不揮発性の記憶部２５と、を備える。
【００３７】
メモリ２２には、ＯＳ３１と、仮想ネットワーク管理部３２と、仮想ネットワークテーブル４１と、パケットカウントテーブル４２がロードされ、仮想ネットワーク管理部３２がプロセッサ２１によって実行される。
【００３８】
プロセッサ２１は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ２１は、仮想ネットワーク管理プログラムに従って動作することで仮想ネットワーク管理部３２として機能する。他のプログラムについても同様である。さらに、プロセッサ２１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００３９】
仮想ネットワークコントローラ１０５の各機能を実現するプログラム、テーブル等の情報は、記憶部２５を構成するストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００４０】
仮想ネットワークテーブル４１は、アドホック網１０２内の仮想ネットワークを管理するもので、仮想ネットワーク管理部３２が管理する。また、パケットカウントテーブル４２は、各通信キャリアのパケットカウンタサーバ１０４が計数したパケットカウントテーブル７１を仮想ネットワーク管理部３２が集約したものである。
【００４１】
図４は、パケットカウンタサーバ１０４−ａの一例を示すブロック図である。なお、パケットカウンタサーバ１０４−ｂ、１０−ｃは、通信キャリアＡのパケットカウンタサーバ１０４−ａと同様の構成であるので、説明は省略する。パケットカウンタサーバ１０４−ａは、通信キャリアＡの基地局１０３−ａとアクセスゲートウェイ１０６−ａの間に配置されており、アドホック網１０２からのパケット数を計数してパケットカウントテーブル７１を更新する。
【００４２】
パケットカウンタサーバ１０４−ａは、演算を行うプロセッサ５１と、データやプログラムを保持するメモリ５２と、基地局１０３−ａ及びアクセスゲートウェイ１０６−ａと通信を行う通信部５３と、管理者からの入力や画面表示などを行う入出力部５４と、プログラムやデータを格納する不揮発性の記憶部５５と、を備える。
【００４３】
メモリ５２には、ＯＳ６１と、パケット数を計数するパケットカウント部６２と、計数されたパケット数を格納するパケットカウントテーブル７１が保持されており、パケットカウント部６２がプロセッサ５１によって実行される。
【００４４】
プロセッサ５１は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ５１は、パケットカウントプログラムに従って動作することでパケットカウント部６２として機能する。他のプログラムについても同様である。さらに、プロセッサ５１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００４５】
パケットカウンタサーバ１０４の各機能を実現するプログラム、テーブル等の情報は、記憶部５５を構成するストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００４６】
パケットカウント部６２は、受信したパケットを解析し、仮想ネットワークコントローラ１０５の仮想ネットワークテーブル４１を参照して携帯端末１０１の端末ＩＤ毎にパケット数を計数し、パケットカウントテーブル７１に蓄積する。
【００４７】
ここで、仮想ネットワークコントローラ１０５は、後述するように、アドホック網１０２に参加する携帯端末１０１に仮想ネットワークアドレスを付与する。アドホック網１０２のゲートウェイとなった携帯端末１０１は、パケットに送信元の携帯端末１０１の仮想ネットワークアドレスを含めて、基地局１０３に送信する。基地局１０３からパケットを受信したパケットカウント部６２は、パケットから仮想ネットワークアドレスを抽出する。
【００４８】
図１３は、パケットカウンタサーバ１０４が携帯端末１０１（基地局１０３）から受信するパケットの一例を示す図である。
【００４９】
パケットの構成は、ＩＰヘッダＰ１とペイロードＰ２から構成され、ＩＰヘッダＰ１の送信元アドレスが、アドホック網１０２のゲートウェイとなる携帯端末１０１に基地局１０３が割り当てたＩＰアドレスが含まれる。
【００５０】
パケットのペイロードＰ２には、アドホック網１０２内の送信元の携帯端末１０１に割り当てられた仮想ネットワークアドレスＰ２１とデータＰ２２が含まれる。パケットカウント部６２は、仮想ネットワークアドレスＰ２１を抽出し、仮想ネットワークコントローラ１０５から通知された仮想ネットワークアドレスなどを含むパケットカウントテーブル７１を参照して、送信元の携帯端末１０１の端末ＩＤと、通信キャリア名を取得する。
【００５１】
パケットカウント部６２は、抽出した仮想ネットワークアドレスＰ２１でパケットカウントテーブル７１を検索し、当該仮想ネットワークアドレスがあれば、パケット数を加算し、当該仮想ネットワークアドレスのエントリがなければ、新たにエントリを追加する。
【００５２】
パケットカウント部６２は、仮想ネットワークアドレスＰ２１を抽出した後は、ペイロードＰ２から仮想ネットワークアドレスＰ２１を削除しても良い。
【００５３】
図５は、パケットカウンタサーバ１０４のパケットカウントテーブル７１の一例を示す図である。
【００５４】
パケットカウントテーブル７１は、携帯端末１０１を特定するユニークな識別子を格納する端末ＩＤ７１１と、携帯端末１０１が所属する通信キャリアの名称または識別子を格納するキャリア名７１２と、仮想ネットワークコントローラ１０５が携帯端末１０１に割り当てた仮想ネットワークアドレス７１３と、パケットカウント部６２で計数したパケットの数を格納するパケット数７１４からひとつのエントリが構成される。
【００５５】
端末ＩＤ７１１とキャリア名７１２及び仮想ネットワークアドレス７１３は上述のように、仮想ネットワークコントローラ１０５が通知したものである。
【００５６】
なお、通信キャリア単位でパケット数を計数する場合、仮想ネットワークアドレス７１３がユニークであれば、端末ＩＤ７１１を省略することができる。
【００５７】
図６は、仮想ネットワークコントローラ１０５のパケットカウントテーブル４２の一例を示す図である。
【００５８】
パケットカウントテーブル４２は、仮想ネットワークコントローラ１０５の仮想ネットワーク管理部３２が、各通信キャリアのパケットカウンタサーバ１０４からパケットカウントテーブル７１を取得して、ひとつのテーブルに集約したものである。なお、仮想ネットワーク管理部３２は所定の周期で各通信キャリアのパケットカウンタサーバ１０４からパケットカウントテーブル７１を取得し、パケットカウントテーブル４２を更新する。
【００５９】
パケットカウントテーブル４２は、図５のパケットカウントテーブル７１に、パケットカウントテーブル７１を取得した通信キャリアの名称または識別子を加えたものである。
【００６０】
仮想ネットワークコントローラ１０５のパケットカウントテーブル４２は、携帯端末１０１を特定するユニークな識別子を格納する端末ＩＤ４２１と、携帯端末１０１が所属する通信キャリアの名称または識別子を格納するキャリア名４２２と、当該携帯端末１０１のパケットを転送した通信キャリアの名称または識別子を格納するホストキャリア名４２３と、仮想ネットワークコントローラ１０５が携帯端末１０１に割り当てた仮想ネットワークアドレス４２４と、パケットカウンタサーバ１０４が計数したパケットの数を格納するパケット数４２５からひとつのエントリが構成される。
【００６１】
ホストキャリア名４２３は、各通信キャリアのパケットカウンタサーバ１０４−ａ〜１０４−ｃのアドレスに対応する識別子などを予め設定しておき、当該識別子を用いるようにしても良い。
【００６２】
図７は、仮想ネットワークコントローラ１０５が管理する仮想ネットワークテーブル４１の一例を示す図である。
【００６３】
仮想ネットワークテーブル４１は、携帯端末１０１を特定するユニークな識別子を格納する端末ＩＤ４１１と、携帯端末１０１が基地局１０３側から割り当てられたＩＰアドレスを格納する端末アドレス４１２と、仮想ネットワークコントローラ１０５が携帯端末１０１に割り当てた仮想ネットワークアドレスを格納する仮想ネットワーク（図中ＮＷ）アドレス４１３と、アドホック網１０２に割り当てたゲートウェイとなる携帯端末１０１のＩＰアドレスを格納する仮想ゲートウェイ（図中ＧＷ）アドレス４１４と、携帯端末１０１が所属する通信キャリアの名称または識別子を格納するキャリア名４１５と、当該携帯端末１０１のパケットを転送した通信キャリアの名称または識別子を格納するホストキャリア名４１６と、ゲートウェイとなった携帯端末１０１が接続している基地局１０３の識別子を格納する基地局ＩＤ４１７と、アドホック網１０２の名称または識別子を格納するＡｄＨｏｃＩＤ４１８と、各携帯端末１０１が測定した各自の基地局との帯域（通信速度）を格納する帯域４１９からひとつのエントリが構成される。
【００６４】
端末ＩＤ４１１としては、例えば、発信者番号や個体識別番号などユニークな値を採用することができる。端末アドレス４１２は、携帯端末１０１が通信キャリアのＤＨＣＰサーバまたは基地局１０３が割り当てたＩＰアドレスを格納する。
【００６５】
仮想ネットワークアドレス４１３は、仮想ネットワークコントローラ１０５が各携帯端末に割り当てたユニークな仮想ＩＰアドレスである。また、仮想ゲートウェイアドレス４１４は、アドホック網１０２内でゲートウェイとなった携帯端末１０１の仮想ＩＰアドレスが格納される。
【００６６】
ＡｄＨｏｃＩＤ４１８は、仮想ネットワークコントローラ１０５が決定する場合と、携帯端末１０１が決定する場合がある。携帯端末１０１が決定する場合は、アドホック網１０２を形成したときに、いずれかひとつの携帯端末１０１が仮想ネットワークコントローラ１０５に予め設定された識別子または名称をアドホック網１０２の識別子として通知する。
【００６７】
一方、仮想ネットワークコントローラ１０５がアドホック網１０２の識別子を決定する場合には、基地局１０３の設定場所に対応して予め設定された値をＡｄＨｏｃＩＤ４１８に設定する。例えば、野球場Ａの１塁側では”dome1”などの予め設定された値を仮想ネットワークコントローラ１０５がアドホック網１０２の識別子として付与する。多数の人が集まる場所を通信エリアとする基地局１０３−ａ、１０３−ｂ、１０３−ｃは、特定の基地局として配下のアドホック網１０２の名称または識別子を設定しておくことができる。なお、通信キャリアが異なる基地局１０３−ａ〜１０３−ｃであっても、同じ場所を通信エリアとする場合には、配下のＡｄＨｏｃＩＤを同じ値にすることができる。
【００６８】
帯域（Ｍｂｐｓ）４１９は、アドホック網１０２内の携帯端末１０１のうち、最も通信状態のよいものをゲートウェイとして決定する指標として利用される性能情報である。アドホック網１０２に参加する各携帯端末１０１は、所定のタイミングで基地局を介して特定のサイト間の帯域（通信速度）を測定し、仮想ネットワークコントローラ１０５に通知する。仮想ネットワークコントローラ１０５は、各携帯端末１０１から受信した帯域情報を格納する帯域４１９に格納する。
【００６９】
なお、アドホック網１０２内のゲートウェイを決定するための指標としては、上記帯域に限定されるものではなく、各携帯端末１０１の電界強度（利得情報）や、各携帯端末１０１のパケット応答時間（例えば、ＩＣＭＰの応答時間、または遅延時間）を利用してもよい。
【００７０】
また、基地局１０３の場所に応じて、優先的にゲートウェイとする通信キャリアを決定しておいても良い。
【００７１】
次に、図９は、近接通信を行うアドホック網１０２の一例を示す図である。アドホック網１０２は、基地局１０３に接続した携帯端末１０１に他の携帯端末１０１が、近接通信部１６を介して通信を確立したときに形成される。
【００７２】
図９において、携帯端末１０１−ａは基地局１０３−ａと接続しているものとする。携帯端末１０１−ａの仮想環境設定アプリケーション２０３は、ポーリングなどにより通信可能な他の携帯端末１０１を検索する。
【００７３】
アドホック網１０２は、仮想スイッチソフトウェア２０２と、仮想環境設定アプリケーション２０３が導入されている携帯端末１０１が、近傍に同じ仮想スイッチソフトウェア２０２と、仮想環境設定アプリケーション２０３を導入している機器を検出すると、近接通信部１６同士が接続を行って、アドホック網１０２が形成される。
【００７４】
すでに、携帯端末１０１間で相互通信を確立しているアドホック網１０２の近傍に新たに携帯端末１０１−ｂが参加するとき、近接通信部１６同士がリンクすることで、新たな携帯端末１０１−ｂがアドホック網１０２に参加する。
【００７５】
アドホック網１０２の形成は、同じ仮想スイッチソフトウェア２０２と仮想環境設定アプリケーション２０３を導入した携帯端末１０１同士が自由に参加するＡｎｏｎｙｍｏｕｓモードと、仮想環境設定アプリケーション２０３の設定によりグループ限定でアドホック網１０２を形成するＧｒｏｕｐモード、所定の条件が成立したときに形成されるＰｅｒｍｉｓｓｉｏｎモードがある。以下の説明では、Ａｎｏｎｙｍｏｕｓモードの例を示す。
【００７６】
基地局１０３−ａと通信している携帯端末１０１−ａは、通信キャリアＣの携帯端末１０１−ｃを検出する。携帯端末１０１−ａと１０１−ｃは、近接通信部１６で接続してアドホック網１０２を形成する。この後、仮想ネットワークコントローラ１０５から仮想ネットワークアドレスを取得し、仮想ネットワークコントローラ１０５がゲートウェイの携帯端末１０１を決定すると、ひとつの通信キャリアに複数の通信キャリアの携帯端末１０１を接続する相乗りが開始される。ここでは、携帯端末１０１−ａがゲートウェイとする。図１２で示すように、通信キャリアＡの携帯端末１０１−ａは、通信キャリアＢの携帯端末１０１−ｂのパケットと、通信キャリアＣの携帯端末１０１−ｃのパケットを、通信キャリアＡのネットワーク１０９−ａで転送する。
【００７７】
一方、新たにアドホック網１０２へ参加する通信キャリアＢの携帯端末１０１−ｂが加わると、携帯端末１０１−ｂが仮想ネットワークコントローラ１０５から新たな仮想ネットワークアドレスを取得して、ゲートウェイの携帯端末１０１−ａを介してパケットを通信キャリアＡで転送する。このとき、仮想ネットワークコントローラ１０５には、携帯端末１０１−ｂの新たなエントリを追加する。
【００７８】
アドホック網１０２から携帯端末１０１−ｃが離脱する場合、ゲートウェイとなっている携帯端末１０１−ａが仮想ネットワークコントローラ１０５に離脱を通知する。仮想ネットワークコントローラ１０５は、図７の仮想ネットワークテーブル４１から該当の携帯端末１０１−ｃのエントリを削除する。
【００７９】
次に、アドホック網１０２の形成からアドホック網１０２内の携帯端末１０１からの通信について以下に説明する。
【００８０】
図８は、通信システムで行われる処理の一例を示すシーケンス図で、特定の基地局の配下で行われる処理の一例である。図示の例では、通信キャリアＡの携帯端末１０１−ａが特定の基地局１０３−ａの配下に入り、その後、通信キャリアＢの特定の基地局１０３−ｂの配下に携帯端末１０１−ｂとアドホック網１０２を形成した例を示す。なお、特定の基地局１０３−ａ、１０３−ｂは、通信キャリアは異なるが、同じ通信エリアとする。
【００８１】
上述したように、特定の基地局１０３の配下のアドホック網１０２では、アドホック網の識別子が予め設定されている。通信キャリアＡの携帯端末１０１−ａは、基地局１０３−ａの配下に入ったので、仮想ネットワークコントローラ１０５に当該携帯端末１０１−ａの登録を要求する。基地局１０３−ａは携帯端末１０１−ａからの要求を仮想ネットワークコントローラ１０５に転送する（Ｓ１）。仮想ネットワークコントローラ１０５は、図７の仮想ネットワークテーブル４１に、携帯端末１０１−ａを登録し、ＡｄＨｏｃＩＤ４１８に基地局１０３−ａに対応付けられたアドホック網１０２の識別子である”dome1”を設定する。
【００８２】
また、この特定の基地局１０３の配下のアドホック網１０２では、予めゲートウェイとなる通信キャリアが仮想ネットワークコントローラ１０５の図示しないテーブルなどに設定されており、基地局１０３−ａに接続する通信キャリアＡの携帯端末１０１がゲートウェイに設定される。なお、通信キャリアＡの携帯端末１０１が存在しない場合には、後述する図１０の処理によってアドホック網１０２を形成する。
【００８３】
仮想ネットワークコントローラ１０５は、携帯端末１０１−ａに割り当てる仮想ネットワークアドレスを決定し、基地局１０３−ａの配下のＡｄＨｏｃＩＤ４１８とともに携帯端末１０１−ａに通知する（Ｓ２）。
【００８４】
次に、通信キャリアＢの携帯端末１０１−ｂが、基地局１０３−ｂと接続し、仮想ネットワークコントローラ１０５に登録を要求する（Ｓ３）。基地局１０３−ａは携帯端末１０１−ａからの要求を仮想ネットワークコントローラ１０５に転送する（Ｓ４）。
【００８５】
仮想ネットワークコントローラ１０５は、図７の仮想ネットワークテーブル４１に、携帯端末１０１−ｂを登録し、ＡｄＨｏｃＩＤ４１８には基地局１０３−ｂに対応付けられた”dome1”を設定する。
【００８６】
そして、仮想ネットワークコントローラ１０５は、上述のように、基地局１０３−ａの配下では通信キャリアＡの携帯端末１０１をゲートウェイする設定であるので、通信キャリアＡの携帯端末１０１−ａをゲートウェイとして決定する。
【００８７】
次に、仮想ネットワークコントローラ１０５は、ゲートウェイとなった携帯端末１０１−ａの仮想ネットワークアドレスを、通信キャリアＡの基地局１０３−ａを介して携帯端末１０１−ａへ通知し、通信キャリアＢの基地局１０３−ｂを介して携帯端末１０１−ｂに通知する（Ｓ５、Ｓ６）。
【００８８】
また、仮想ネットワークコントローラ１０５は、アドホック網１０２＝”dome1”に参加する携帯端末１０１の端末ＩＤ４１１と仮想ネットワークアドレス４１３及びキャリア名４１５を、パケットの相乗りを実施する（ホストとなる）通信キャリアＡのパケットカウンタサーバ１０４−ａに通知する（Ｓ７）。これにより、パケットカウンタサーバ１０４−ａは、パケットカウントテーブル７１を更新しておく。
【００８９】
アドホック網１０２のゲートウェイの仮想ネットワークアドレスを受信した携帯端末１０１−ａと携帯端末１０１−ｂは、近接通信部１６で互いに接続してアドホック網１０２を形成する（Ｓ８）。
【００９０】
次に、アドホック網１０２の携帯端末１０１−ｂがインターネット１０７との通信を開始する。携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、アドホック網１０２内のゲートウェイのアドレスが携帯端末１０１−ａであることを通知されているので、携帯端末１０１−ａに対してインターネット１０７への接続要求を送信する（Ｓ９）。
【００９１】
すなわち、携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、仮想スイッチソフトウェア２０２のゲートウェイを、通信キャリアＢの基地局１０３−ｂから、アドホック網１０２内のゲートウェイへ切替えたものである。
【００９２】
ゲートウェイとなった携帯端末１０１−ａは、携帯端末１０１−ｂから受信したインターネット１０７への接続要求のパケットを、マルチＮＡＴによってアドレス変換を行ってから基地局１０３−ａに転送する（Ｓ１０）。基地局１０３−ａは、受信したパケットをパケットカウンタサーバ１０４−ａに転送する。
【００９３】
パケットカウンタサーバ１０４−ａは、受信したパケットから図１３に示す仮想ネットワークアドレスＰ２１を抽出する。そして、パケットカウンタサーバ１０４−ａは、上記ステップＳ９で更新されたパケットカウントテーブル７１を参照して、抽出した仮想ネットワークアドレスＰ２１に一致するエントリのパケット数７１４を更新する（Ｓ１１）。
【００９４】
その後、パケットカウンタサーバ１０４−ａは、パケットをアクセスゲートウェイ１０６−ａに転送する。このとき、パケットカウンタサーバ１０４−ａは、ペイロードＰ２から仮想ネットワークアドレスＰ２１を削除することができる。
【００９５】
以上の処理により、通信キャリアＡは、アドホック網１０２内のゲートウェイとなって通信キャリアＢの携帯端末１０１−ｂのパケットを転送できる。これにより、携帯端末１０１−ｂは、通信キャリアＡの携帯端末１０１−ａを利用して、通信キャリアＡの通信に相乗りすることができる。
【００９６】
そして、パケットカウンタサーバ１０４−ａは、転送するパケットが何れの通信キャリアであるかを識別して計数しパケットカウントテーブル７１に蓄積する。これにより、パケットの転送を代行した通信キャリアＡは、転送を代行したパケット数について他の通信キャリアに費用を請求することができる。中継に使われた通信キャリア（あるいはネットワークプロバイダ）は通信量（パケット数）に応じた通信の代行費用を、通信キャリア間やネットワークプロバイダ間で相互に請求する仕組みを提供できる。なお、上記では、パケットカウンタサーバ１０４−ａが基地局１０３−ａからアクセスゲートウェイ１０６−ａへ向けて転送するパケット数を計数する例を示したが、アクセスゲートウェイ１０６−ａ側から基地局１０３−ａへ向けて転送するパケット数についても計数することができる。この場合、アクセス先のアドレスとアクセス元の仮想ネットワークアドレスを格納するテーブル（図式省略）を備えればよい。
【００９７】
また、仮想ネットワークコントローラ１０５は、特定の基地局１０３の配下のアドホック網１０２（仮想ネットワーク）では、ゲートウェイとなる通信キャリアＡを指定することができ、通信キャリアの戦略や基地局１０３の容量、帯域に応じた制御を実現できる。
【００９８】
なお、図８では、ステップＳ８で、携帯端末１０１−ａと携帯端末１０１−ｂが、近接通信部１６で互いに接続してアドホック網１０２を形成する例を示したが、アドホック網１０２の形成は、ステップＳ１の以前に携帯端末１０１−ａと携帯端末１０１−ｂの近接通信部１６で互いに接続可能であればアドホック網１０２を形成しても良い。
【００９９】
図１０は、通信システムで行われる処理の一例を示すシーケンス図で、携帯端末がアドホック網を動的に構成する処理の一例である。
【０１００】
まず、基地局１０３−ａの配下にある携帯端末１０１−ａと、基地局１０３−ｂの配下にある携帯端末１０１−ｂが、近接通信部１６により相互に通信してアドホック網１０２を形成する（Ｓ２１）。このとき、携帯端末１０１−ａ、１０１−ｂの仮想環境設定アプリケーション２０３は、アドホック網１０２の識別子を所定の値に設定する。この値は、仮想環境設定アプリケーション２０３に設定されたデフォルト値であり、周囲に同一のアドホック網１０２の識別子が存在する場合には、予め設定された他の識別子を用いる。このアドホック網１０２の形成では、ＩＰ接続は行われず、近接通信部１６のＷｉＦｉ  Ｄｉｒｅｃｔなどの機能によって通信を行う。
【０１０１】
次に、携帯端末１０１−ａはアドホック網１０２を形成したので、アドホック網１０２の識別子と、アドホック網１０２を構成する携帯端末１０１−ａ、１０１−ｂの識別子を取得して仮想ネットワークコントローラ１０５に登録するパケットを基地局１０３−ａに送信する（Ｓ２２）。基地局１０３−ａは、このパケットを仮想ネットワークコントローラ１０５に転送する。なお、ここでは、携帯端末１０１−ａが仮想ネットワークコントローラ１０５に登録を要求する例を示したが、携帯端末１０１−ｂが実施しても良く、ラウンドロビンなど公知の手法により、いずれかひとつの携帯端末１０１が仮想ネットワークコントローラ１０５に登録すれば良い。
【０１０２】
このパケットを受信した仮想ネットワークコントローラ１０５は、仮想ネットワークテーブル４１に、携帯端末１０１−ａ、１０１−ｂの識別子を端末ＩＤ４１１に格納するエントリを追加し、仮想ネットワークアドレスを決定して仮想ネットワークアドレス４１３に格納する。仮想ネットワークコントローラ１０５は、通信キャリア名を取得してキャリア名４１５に格納する。なお、通信キャリア名は各携帯端末１０１から取得して携帯端末の識別子と共に仮想ネットワークコントローラ１０５へ送信したものである。あるいは、端末ＩＤ４１１から各通信キャリアに問い合わせても良い。また、仮想ネットワークコントローラ１０５は、受信したアドホック網１０２の識別子をＡｄＨｏｃＩＤ４１８に格納する。また、仮想ネットワークコントローラ１０５は、携帯端末１０１−ａの基地局１０３−ａのＩＤを取得して基地局ＩＤ４１７に格納する。
【０１０３】
仮想ネットワークコントローラ１０５は、アドホック網１０２内の携帯端末１０１−ａ、１０１−ｂに上記決定した仮想ネットワークアドレスをそれぞれの基地局１０３−ａ、１０３−ｂから通知する（Ｓ２３、Ｓ２４）。
【０１０４】
次に、アドホック網１０２内のゲートウェイを決定するために、携帯端末１０１−ａと１０１−ｂは、各基地局１０３−ａ、１０３−ｂを経由してそれぞれ性能情報を測定する。本実施例では、性能情報として上述したように所定のサイトと通信したときの帯域（通信速度）を測定し、仮想ネットワークコントローラ１０５に通知する（Ｓ２５、Ｓ２６）。
【０１０５】
仮想ネットワークコントローラ１０５は、受信した性能情報（帯域）を仮想ネットワークテーブル４１の各携帯端末１０１に対応するエントリの帯域４１９に格納する。
【０１０６】
次に、仮想ネットワークコントローラ１０５は、同じ通信エリアで通信キャリアが異なる携帯端末１０１−ａと１０１−ｂの性能情報を比較し、通信状況の良い方をゲートウェイとして決定する。図７の例では、携帯端末１０１−ａが帯域＝５０Ｍｂｐｓ、携帯端末１０１−ｂが帯域＝２５Ｍｂｐｓであるので、仮想ネットワークコントローラ１０５は帯域の広い（通信速度が速い）アドホック網１０２＝”dome1”のゲートウェイを携帯端末１０１−ａに決定する。仮想ネットワークコントローラ１０５は、携帯端末１０１−ａの仮想ネットワークアドレスを、携帯端末１０１−ａと同じＡｄＨｏｃＩＤ４１８のエントリの仮想ゲートウェイアドレス４１４に格納する。
【０１０７】
そして、仮想ネットワークコントローラ１０５は、ゲートウェイとなった携帯端末１０１−ａの仮想ネットワークアドレスを、通信キャリアＡの基地局１０３−ａを介して携帯端末１０１−ａへ通知し、通信キャリアＢの基地局１０３−ｂを介して携帯端末１０１−ｂに通知する（Ｓ２７、Ｓ２８）。
【０１０８】
また、仮想ネットワークコントローラ１０５は、アドホック網１０２（ＡｄＨｏｃＩＤ４１８）に参加する携帯端末１０１の端末ＩＤ４１１と仮想ネットワークアドレス４１３及びキャリア名４１５を、ホストとなる通信キャリアＡのパケットカウンタサーバ１０４−ａに通知する（Ｓ２９）。これにより、パケットカウンタサーバ１０４−ａは、パケットカウントテーブル７１を更新しておく。
【０１０９】
次に、アドホック網１０２の携帯端末１０１−ｂがインターネット１０７との通信を開始する。携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、アドホック網１０２内のゲートウェイのアドレスが携帯端末１０１−ａであることを通知されているので、携帯端末１０１−ａに対してインターネット１０７への接続要求を送信する（Ｓ３０）。
【０１１０】
すなわち、携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、仮想スイッチソフトウェア２０２のゲートウェイを、通信キャリアＢの基地局１０３−ｂから、アドホック網１０２内のゲートウェイへ切替えたものである。
【０１１１】
ゲートウェイとなった携帯端末１０１−ａは、携帯端末１０１−ｂから受信したインターネット１０７への接続要求のパケットを、マルチＮＡＴによってアドレス変換を行ってから基地局１０３−ａに転送する（Ｓ３１）。基地局１０３−ａは、受信したパケットをパケットカウンタサーバ１０４−ａに転送する。
【０１１２】
パケットカウンタサーバ１０４−ａは、受信したパケットから図１３に示す仮想ネットワークアドレスＰ２１を抽出する。そして、パケットカウンタサーバ１０４−ａは、上記ステップＳ２９で更新されたパケットカウントテーブル７１を参照して、抽出した仮想ネットワークアドレスＰ２１に一致するエントリのパケット数７１４を更新する（Ｓ３２）。
【０１１３】
その後、パケットカウンタサーバ１０４−ａは、パケットをアクセスゲートウェイ１０６−ａに転送する。このとき、パケットカウンタサーバ１０４−ａは、ペイロードＰ２から仮想ネットワークアドレスＰ２１を削除することができる。
【０１１４】
以上の処理により、通信キャリアＡは、アドホック網１０２内のゲートウェイとなって通信キャリアＢの携帯端末１０１−ｂのパケットを転送できる。これにより、携帯端末１０１−ｂは、自通信キャリアＢよりも通信状態のよい通信キャリアＡの携帯端末１０１−ａを利用して、円滑な通信環境を確保することができる。
【０１１５】
そして、パケットカウンタサーバ１０４−ａは、転送するパケットが何れの通信キャリアであるかを識別して計数しパケットカウントテーブル７１に蓄積する。これにより、パケットの転送を代行した通信キャリアＡは、転送を代行したパケット数について他の通信キャリアに費用を請求することができる。
【０１１６】
アドホック網１０２が形成される場合、数メートルから十数メートルの範囲のローカルな空間が予想され、基地局１０３の配置により通信キャリア毎に電波状態や利得、アドホック網１０２の参加ユーザ数以外の通信端末数や通信状態により、携帯端末１０１毎の通信速度が異なる。この場所は、基地局１０３の状態により常に通信の向き不向きが発生する場合と、基地局１０３に接続しているユーザ数の増減により通信状態が変化する場合がある。
【０１１７】
通信キャリア間でパケットの相乗りを実施する場合、携帯端末１０１毎の通信状態を考慮して通信経路を決定する必要がある。通信経路の決定には大きく２種類ある。１つはアドホック網１０２を形成している携帯端末１０１の通信状況を取得して、通信経路(通信キャリア)を決定する動的設定（図１０）がある。
【０１１８】
そして、２つ目は、通信経路を決定する情報を仮想ネットワークコントローラ１０５に設定しておき、アドホック網１０２に参加した携帯端末１０１が相乗りする通信キャリアを決定しておく固定設定（図８）がある。
【０１１９】
図１０のような、動的設定の場合、アドホック網１０２を形成している携帯端末１０１は、自身の通信状況（性能情報）を仮想ネットワークコントローラ１０５に通知する。仮想ネットワークコントローラ１０５が通信経路を決定する上で必要となる情報は、携帯端末１０１が計測する転送帯域の他に、電界強度やパケットの応答時間である。仮想ネットワークコントローラ１０５は携帯端末１０１から送られた性能情報、または性能情報の組み合わせで各携帯端末１０１の通信状態を判定し、最適なパケットの「相乗り」を実現する携帯端末１０１を決定する。
【０１２０】
ゲートウェイとなる携帯端末１０１が決定された場合、仮想ネットワークコントローラ１０５から、ゲートウェイの携帯端末１０１とその他のアドホック網１０２に参加する携帯端末１０１のそれぞれの仮想スイッチソフトウェア２０２に設定情報が送られる。
【０１２１】
またゲートウェイとなる携帯端末１０１側の通信キャリアに設置されたパケットカウンタサーバ１０４−ａにも仮想ネットワークコントローラ１０５から設定情報が送られる。経路情報は通信元からの通信状況を監視及びパケット数をカウントするために使用する。
【０１２２】
パケットの相乗りを実施する通信経路が確定したアドホック網１０２内には、ゲートウェイとなる携帯端末１０１−ａと、通信を委託する携帯端末１０１−ｂが存在する。
【０１２３】
相乗りする携帯端末１０１−ｂの通信は、仮想ネットワークが構築されているので自身の通信も仮想ネットワーク上で送受信される。ゲートウェイとなった携帯端末１０１−ａは、自身の通信キャリア網を経由して通信を行う。通信を委託する側の携帯端末１０１−ｂ、アドホック網１０２を経由して、ゲートウェイとなった携帯端末１０１−ａを経由して通信を行う。通信を委託する側の携帯端末１０１−ｂからの通信は、仮想ネットワークを経由して、ゲートウェイとなった携帯端末１０１−ａ側の通信キャリアＡのネットワークを経由して通信を行う。アドホック網１０２を形成するのは複数の通信キャリア、複数のユーザが関わる。複数の通信キャリア、またはユーザおよび使用するアプリケーションは仮想ネットワーク（アドホック網１０２）上で通信する。
【０１２４】
例えば、仮想ネットワークコントローラ１０５からＡ社の通信キャリアがゲートウェイとなる携帯端末１０１−ａと指定され、他の携帯端末１０１は通信を委託する側の携帯端末１０１−ｂとして指定される。仮想ネットワーク（アドホック網１０２）の設定は仮想ネットワークコントローラ１０５が仮想ネットワークテーブル４１を作成し、ＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）などの手法で設定するようにしてもよい。
【０１２５】
図１１は、通信システムで行われる処理の一例を示すシーケンス図で、携帯端末が通信不能になったときに行われる処理の一例である。この例は、図１０に示したアドホック網１０２の動的な構成を応用したものである。
【０１２６】
まず、基地局１０３−ａの配下にある携帯端末１０１−ａと、基地局１０３−ｂの配下にある携帯端末１０１−ｂが、近接通信部１６により相互に通信してアドホック網１０２を形成する（Ｓ４１）。このとき、携帯端末１０１−ａ、１０１−ｂの仮想環境設定アプリケーション２０３は、アドホック網１０２の識別子を所定の値に設定する。この値は、仮想環境設定アプリケーション２０３に設定されたデフォルト値であり、周囲に同一のアドホック網１０２の識別子が存在する場合には、予め設定された他の識別子を用いる。このアドホック網１０２の形成では、ＩＰ接続は行われず、近接通信部１６のＷｉＦｉ  Ｄｉｒｅｃｔなどの機能によって通信を行う。
【０１２７】
次に、携帯端末１０１−ｂは基地局１０３−ｂとの通信が不能（あるいは繋がりにくい状態）になったため（Ｓ４２）、アドホック網１０２の携帯端末１０１−ａに相乗り通信の登録を要求する（Ｓ４３）。
【０１２８】
近接通信部１６で相乗り通信の登録要求を受信した携帯端末１０１−ａは、アドホック網１０２の識別子と、アドホック網１０２を構成する携帯端末１０１−ａの識別子を取得して仮想ネットワークコントローラ１０５に登録するパケットを基地局１０３−ａに送信する（Ｓ４４）。基地局１０３−ａは、このパケットを仮想ネットワークコントローラ１０５に転送する。
【０１２９】
このパケットを受信した仮想ネットワークコントローラ１０５は、仮想ネットワークテーブル４１に、携帯端末１０１−ａの識別子を端末ＩＤ４１１に格納するエントリを追加し、仮想ネットワークアドレスを決定して仮想ネットワークアドレス４１３に格納する。仮想ネットワークコントローラ１０５は、通信キャリア名を取得してキャリア名４１５に格納する。また、仮想ネットワークコントローラ１０５は、受信したアドホック網１０２の識別子をＡｄＨｏｃＩＤ４１８に格納する。また、仮想ネットワークコントローラ１０５は、携帯端末１０１−ａの基地局１０３−ａのＩＤを取得して基地局ＩＤ４１７に格納する。
【０１３０】
仮想ネットワークコントローラ１０５は、アドホック網１０２内の携帯端末１０１−ａに上記決定した仮想ネットワークアドレスを基地局１０３−ａから通知する（Ｓ４５）。
【０１３１】
次に、携帯端末１０１−ａは、アドホック網１０２の識別子と、アドホック網１０２で相乗り通信を行う携帯端末１０１−ｂの識別子を取得して仮想ネットワークコントローラ１０５に登録するパケットを基地局１０３−ａに送信する（Ｓ４６）。基地局１０３−ａは、このパケットを仮想ネットワークコントローラ１０５に転送する。
【０１３２】
このパケットを受信した仮想ネットワークコントローラ１０５は、上記ステップＳ４４のパケットと同様に、仮想ネットワークテーブル４１に、相乗りをする携帯端末１０１−ｂの識別子を端末ＩＤ４１１に格納するエントリを追加し、仮想ネットワークアドレスを決定して仮想ネットワークアドレス４１３に格納する。仮想ネットワークコントローラ１０５は、携帯端末１０１−ｂの通信キャリア名を取得してキャリア名４１５に格納する。なお、通信キャリア名は携帯端末１０１−ｂから取得して携帯端末の識別子と共に仮想ネットワークコントローラ１０５へ送信したものである。あるいは、端末ＩＤ４１１にから各通信キャリアに問い合わせても良い。また、仮想ネットワークコントローラ１０５は、受信したアドホック網１０２の識別子をＡｄＨｏｃＩＤ４１８に格納する。
【０１３３】
仮想ネットワークコントローラ１０５は、アドホック網１０２内の携帯端末１０１−ａに上記決定した携帯端末１０１−ｂの仮想ネットワークアドレスを基地局１０３−ａから通知する（Ｓ４７）。
【０１３４】
携帯端末１０１−ｂの仮想ネットワークアドレスを受信した携帯端末１０１−ａは、近接通信部１６により携帯端末１０１−ｂへ仮想ネットワークアドレスを通知する（Ｓ４８）。
【０１３５】
仮想ネットワークコントローラ１０５は、携帯端末１０１−ｂのパケットを相乗りさせるので、ゲートウェイとして携帯端末１０１−ａを選択し、携帯端末１０１−ａの仮想ネットワークアドレスをアドホック網１０２のゲートウェイアドレスとして通信キャリアＡの基地局１０３−ａから携帯端末１０１−ａ、携帯端末１０１−ｂに通知する（Ｓ４９）。
【０１３６】
また、仮想ネットワークコントローラ１０５は、アドホック網１０２（ＡｄＨｏｃＩＤ４１８）に参加する携帯端末１０１−ｂの端末ＩＤ４１１と仮想ネットワークアドレス４１３及び通信キャリア名４１５を、ホストとなる通信キャリアＡのパケットカウンタサーバ１０４−ａに通知する（Ｓ５０）。これにより、パケットカウンタサーバ１０４−ａは、パケットカウントテーブル７１を更新しておく。
【０１３７】
アドホック網１０２内のゲートウェイの仮想ネットワークアドレスを受信した携帯端末１０１−ａは、近接通信部１６により携帯端末１０１−ｂへゲートウェイの仮想ネットワークアドレスを通知する（Ｓ５１）。
【０１３８】
携帯端末１０１−ａ、１０１−ｂはそれぞれの仮想ネットワークアドレスと、ゲートウェイの仮想ネットワークアドレスを仮想環境設定アプリケーション２０３で仮想スイッチソフトウェア２０２に設定し、近接通信部１６を介してＩＰ接続によって通信を開始する。
【０１３９】
次に、アドホック網１０２の携帯端末１０１−ｂがインターネット１０７との通信を開始する。携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、アドホック網１０２内のゲートウェイのアドレスが携帯端末１０１−ａであることを通知されているので、携帯端末１０１−ａに対してインターネット１０７への接続要求を送信する（Ｓ５２）。
【０１４０】
すなわち、携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、仮想スイッチソフトウェア２０２のゲートウェイを、通信キャリアＢの基地局１０３−ｂから、アドホック網１０２内の仮想ネットワーク上のゲートウェイへ切替えたものである。
【０１４１】
ゲートウェイとなった携帯端末１０１−ａは、携帯端末１０１−ｂから受信したインターネット１０７への接続要求のパケットを、マルチＮＡＴによってアドレス変換を行ってから基地局１０３−ａに転送する（Ｓ５３）。基地局１０３−ａは、受信したパケットをパケットカウンタサーバ１０４−ａに転送する。
【０１４２】
パケットカウンタサーバ１０４−ａは、受信したパケットから図１３に示す仮想ネットワークアドレスＰ２１を抽出する。そして、パケットカウンタサーバ１０４−ａは、上記ステップＳ５０で更新されたパケットカウントテーブル７１を参照して、抽出した仮想ネットワークアドレスＰ２１に一致するエントリのパケット数７１４を更新する（Ｓ５４）。
【０１４３】
その後、パケットカウンタサーバ１０４−ａは、パケットをアクセスゲートウェイ１０６−ａに転送する。このとき、パケットカウンタサーバ１０４−ａは、ペイロードＰ２から仮想ネットワークアドレスＰ２１を削除することができる。
【０１４４】
以上の処理により、通信キャリアＡは、アドホック網１０２内のゲートウェイとなって、通信に障害が発生した通信キャリアＢの携帯端末１０１−ｂのパケットを転送できる。これにより、携帯端末１０１−ｂは、通信状態が悪い通信キャリアＢのネットワークに代わって通信キャリアＡの携帯端末１０１−ａを利用して、円滑な通信環境を確保することができる。
【０１４５】
そして、パケットカウンタサーバ１０４−ａは、転送するパケットが何れの通信キャリアであるかを識別して計数しパケットカウントテーブル７１に蓄積する。これにより、パケットの転送を代行した通信キャリアＡは、転送を代行したパケット数について他の通信キャリアに費用を請求することができる。
【０１４６】
＜ゲートウェイの動的な変更＞
アドホック網１０２の動的な設定を用いた場合、通信状況や障害により通信経路を通信中に変更することができる。図１４、図１５は、通信中に性能情報をモニタリングして通信キャリアＡで実施していた相乗り通信を、通信状態のよりよい通信キャリアＢに変更する例を示す。図１４は、アドホック網のゲートウェイを変更する際の通信経路の一例を示すブロック図である。図１５は、通信システムで行われる処理の一例を示すシーケンス図で、アドホック網のゲートウェイを変更する処理の一例である。
【０１４７】
図１４、図１５では、通信キャリアＡの携帯端末１０１−ａが仮想ゲートウェイとなって、通信キャリアＢの携帯端末１０１−ｂのパケットを相乗りさせている状態から、性能情報のモニタリングの結果、通信キャリアＢの携帯端末１０１−ｂを仮想ゲートウェイに切替える例を示す。
【０１４８】
まず、図１０の処理によってアドホック網１０２を形成し、仮想ネットワークアドレスを決定してＩＰ接続を行っていることを前提とする。
【０１４９】
携帯端末１０１−ｂがインターネット１０７へ向けて送信したパケットは、アドホック網１０２内のゲートウェイである携帯端末１０１−ａに送信され（Ｓ６１）、携帯端末１０１−ａから基地局１０３−ａを経由し、通信キャリアＡのネットワーク１０９−ａからインターネット１０７へ転送される。そして、パケットカウンタサーバ１０４−ａで、通信キャリアＢに所属する携帯端末１０１−ｂのパケット数が捕捉される。
【０１５０】
仮想ネットワークコントローラ１０５は、所定のタイミング（例えば、所定の周期など）でアドホック網１０２内の携帯端末１０１に各通信キャリアの性能情報の取得を要求する（Ｓ６３）。性能情報の取得要求を受信したゲートウェイの携帯端末１０１−ａは、アドホック網１０２内の携帯端末１０１−ｂに性能情報の取得要求を転送する（Ｓ６４）。
【０１５１】
本実施例では、性能情報として上述したように所定のサイトと通信したときの帯域（通信速度）を測定する。すなわち、携帯端末１０１−ａは基地局１０３−ａを経由して所定のサイトと通信したときの帯域（通信速度）を測定する（Ｓ６５）。携帯端末１０１−ｂは基地局１０３−ｂを経由して所定のサイトと通信したときの帯域（通信速度）を測定する（Ｓ６６）。携帯端末１０１−ｂは測定した性能情報を携帯端末１０１−ａへ通知する（Ｓ６７）。
【０１５２】
携帯端末１０１−ａは、自身の性能情報と、携帯端末１０１−ｂから受信した性能情報を仮想ネットワークコントローラ１０５に送信する（Ｓ６８）。仮想ネットワークコントローラ１０５は、携帯端末１０１−ａから受信した携帯端末１０１−ａと携帯端末１０１−ｂの性能情報を、仮想ネットワークテーブル４１の帯域４１９に格納し、ゲートウェイの更新処理を行う（Ｓ６９）。
【０１５３】
ゲートウェイの更新処理では、仮想ネットワークコントローラ１０５が、アドホック網１０２内の携帯端末１０１の性能情報を比較して、最も通信状態の良い携帯端末１０１をアドホック網１０２内のゲートウェイとして選択する。この例では、最も帯域の広い携帯端末１０１を仮想ネットワークのゲートウェイとして選択する。選択した携帯端末１０１が前回と同じであれば、ゲートウェイの変更は行わない。一方、選択した携帯端末１０１が前回と異なれば、アドホック網１０２内のゲートウェイを変更する。
【０１５４】
ここでは、携帯端末１０１−ｂの方が、携帯端末１０１−ａよりも帯域が広がったとする。これにより仮想ネットワークコントローラ１０５は、アドホック網１０２内のゲートウェイとして新たに携帯端末１０１−ｂを選択する。そして、仮想ネットワークコントローラ１０５は、図７に示した仮想ネットワークテーブル４１の仮想ゲートウェイアドレス４１４に携帯端末１０１−ｂの仮想ネットワークアドレスを設定する。また、アドホック網１０２内の携帯端末１０１のホストキャリア名４１６を、携帯端末１０１−ｂが所属するＢ社に変更する。
【０１５５】
仮想ネットワークコントローラ１０５は、アドホック網１０２内のゲートウェイが携帯端末１０１−ｂに変更されることを、新たにパケットの相乗りを行う通信キャリアＢのパケットカウンタサーバ１０４−ｂに通知する（Ｓ７１）。このとき、仮想ネットワークコントローラ１０５は、携帯端末１０１−ｂが所属するアドホック網１０２内の携帯端末１０１の識別子と仮想ネットワークアドレス及び通信キャリア名をパケットカウンタサーバ１０４−ｂに通知する。これにより、通信キャリアＢのパケットカウンタサーバ１０４−ｂは、パケットカウントテーブル７１を更新しておく。
【０１５６】
次に、仮想ネットワークコントローラ１０５は、アドホック網１０２内のゲートウェイが携帯端末１０１−ｂに変更されることを携帯端末１０１−ａに通知する（Ｓ７２）。携帯端末１０１−ａは、アドホック網１０２内の他の携帯端末１０１にゲートウェイが変更されることを通知する（Ｓ７３）。これにより、携帯端末１０１−ａの仮想環境設定アプリケーション２０３は、仮想スイッチソフトウェア２０２に対してゲートウェイ（ルータ）の機能を解除させる。一方、携帯端末１０１−ｂの仮想環境設定アプリケーション２０３は、仮想スイッチソフトウェア２０２に対してゲートウェイの機能を設定させる。
【０１５７】
携帯端末１０１−ａが、インターネット１０７にアクセスするパケットを近接通信部１６から、新たなゲートウェイとなった携帯端末１０１−ｂへ送信する。携帯端末１０１−ｂは、通信キャリアＡに所属する携帯端末１０１−ａのパケットを、通信キャリアＢの基地局１０３−ｂからパケットカウンタサーバ１０４−ｂに転送する。
【０１５８】
通信キャリアＢのパケットカウンタサーバ１０４−ｂは、受信したパケットから図１３に示す仮想ネットワークアドレスＰ２１を抽出する。そして、パケットカウンタサーバ１０４−ｂは、上記ステップＳ７１で更新されたパケットカウントテーブル７１を参照して、抽出した仮想ネットワークアドレスＰ２１に一致するエントリのパケット数７１４を更新する（Ｓ３２）。
【０１５９】
その後、パケットカウンタサーバ１０４−ｂは、受信したパケットをアクセスゲートウェイ１０６−ｂに転送してインターネット１０７に転送する。このとき、パケットカウンタサーバ１０４−ｂは、ペイロードＰ２から仮想ネットワークアドレスＰ２１を削除することができる。
【０１６０】
以上の処理により、仮想ネットワークコントローラ１０５は、アドホック網１０２内の携帯端末１０１の各通信キャリアの通信状態を監視して、最も通信状態のよい通信キャリアの携帯端末１０１をゲートウェイとして切替えることができる。これにより、仮想ネットワークで構成されたアドホック網１０２の携帯端末１０１は、常時通信状態のよい通信キャリアに切替えながら、円滑な通信環境を確保することができる。そして、ゲートウェイとなった携帯端末１０１は、通信キャリアまたは基地局１０３の通信状態に応じて切替えられるが、各携帯端末１０１のアプリケーション２０４は、仮想スイッチソフトウェア２０２上で稼働するためゲートウェイの変更に影響を受けることなくインターネット１０７との通信を続行することが可能となる。
【０１６１】
なお、上記実施形態において、通信エリア毎の通信量を測定するパケットカウント部６２を、基地局１０３とアクセスゲートウェイの間に配置した計算機（パケットカウンタサーバ１０４）で実行する例を示したが、独立した計算機に限定されるものではなく、パケットカウント部６２を基地局１０３またはアクセスゲートウェイ１０６で実行するようにしても良い。
【０１６２】
また、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
【０１６３】
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【０１６４】
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【符号の説明】
【０１６５】
１３  基地局通信部
１６  近接通信部
４１  仮想ネットワークテーブル
４２、７１  パケットカウントテーブル
１０１−ａ〜１０１−ｃ  携帯端末
１０２  アドホック網
１０３−ａ〜１０３−ｃ  基地局
１０４−ａ〜１０４−ｃ  パケットカウンタサーバ
１０５  仮想ネットワークコントローラ
１０６−ａ〜１０６−ｃ  アクセスゲートウェイ
１０７  インターネット
２０２  仮想スイッチソフトウェア
２０３  仮想環境設定アプリケーション
【図１】
2014138248.tif 000003
【図２】
2014138248.tif 000004
【図３】
2014138248.tif 000005
【図４】
2014138248.tif 000006
【図５】
2014138248.tif 000007
【図６】
2014138248.tif 000008
【図７】
2014138248.tif 000009
【図８】
2014138248.tif 000010
【図９】
2014138248.tif 000011
【図１０】
2014138248.tif 000012
【図１１】
2014138248.tif 000013
【図１２】
2014138248.tif 000014
【図１３】
2014138248.tif 000015
【図１４】
2014138248.tif 000016
【図１５】
2014138248.tif 000017