(57)【特許請求の範囲】
【請求項１】
無線通信装置のハンドオーバ先の通信装置であって、
前記無線通信装置のハンドオーバ元に記憶されたキャッシュデータのキャッシュ情報を前記ハンドオーバ元から受信するインタフェース部と、
前記ハンドオーバ元と、前記キャッシュデータを記憶しているサーバとのうちいずれかに、前記キャッシュデータの取得元を決定する取得元決定部と、
前記決定された取得元から前記キャッシュデータを取得するデータ取得部と、を備え、
前記キャッシュ情報は、前記ハンドオーバ元が前記キャッシュデータを取得した際の前記ハンドオーバ元と前記サーバ間の通信の速さに関する情報を含み、
前記取得元決定部は、前記通信装置及び前記ハンドオーバ元間の通信の速さに関する情報と、前記キャッシュ情報とに基づき、前記取得元を決定する
通信装置。
【請求項２】
前記キャッシュ情報における前記通信の速さに関連する情報は、前記ハンドオーバ元が前記キャッシュデータを取得した際のスループット、前記ハンドオーバ元が前記キャッシュデータを取得した際のラウンドトリップタイム、及び前記ハンドオーバ元が前記キャッシュデータの取得に要した時間の少なくとも１つを含む
請求項１に記載の通信装置。
【請求項３】
前記キャッシュ情報は、前記スループット及び前記ラウンドトリップタイムを含み、
前記キャッシュ情報は、前記キャッシュデータのデータサイズをさらに含み、
前記取得元決定部は、前記データサイズに応じて、前記スループット及び前記ラウンドトリップタイムのうちの一方を決定し、決定した一方に基づいて、前記取得元を決定する
請求項２に記載の通信装置。
【請求項４】
前記取得元決定部は、前記ハンドオーバ元から通知された、前記ハンドオーバ元との間の空き帯域に基づいて、前記取得元を決定する
請求項１乃至３のいずれか一項に記載の通信装置。
【請求項５】
前記取得元決定部は、前記通信装置と前記サーバ間の通信の履歴情報をさらに用いて、前記取得元を決定し、
前記履歴情報は、前記通信装置と前記サーバ間の通信の速さに関する情報を含む
請求項１乃至４のいずれか一項に記載の通信装置。
【請求項６】
請求項１乃至請求項５のいずれか１項に記載の通信装置と、
前記ハンドオーバ元と、
前記無線通信装置と、
を含む通信システム。
【請求項７】
無線通信装置のハンドオーバ元の通信装置であって、
前記ハンドオーバ元が取得したキャッシュデータを前記無線通信装置のハンドオーバ先が取得する取得元を、前記ハンドオーバ元と、前記キャッシュデータを記憶しているサーバとのうちいずれかに決定し、前記決定された取得元を前記ハンドオーバ先に通知する取得元決定部と、
前記決定された取得元が前記ハンドオーバ元である場合に、前記キャッシュデータを前記ハンドオーバ先に送信するデータ取得部と、を備え、
前記キャッシュデータのキャッシュ情報は、前記ハンドオーバ元が前記キャッシュデータを前記サーバから取得した際の前記ハンドオーバ元と前記サーバ間の通信の速さに関する情報を含み、
前記取得元決定部は、前記キャッシュ情報と、前記通信装置及び前記ハンドオーバ先間の通信の速さに関する情報とに基づき、前記取得先を決定する
通信装置。
【請求項８】
無線通信装置のハンドオーバ先の通信装置に搭載されたコンピュータに実行させる通信プログラムであって、
前記無線通信装置のハンドオーバ元に記憶されたキャッシュデータのキャッシュ情報を前記ハンドオーバ元から受信するステップと、
前記ハンドオーバ元と、前記キャッシュデータを記憶しているサーバとのうちいずれかに、前記キャッシュデータの取得元を決定するステップと、
前記決定された取得元から前記キャッシュデータを取得するステップと
をコンピュータに実行させ
前記キャッシュ情報は、前記ハンドオーバ元が前記キャッシュデータを取得した際の前記ハンドオーバ元と前記サーバ間の通信の速さに関する情報を含み、
前記取得元を決定するステップは、前記通信装置及び前記ハンドオーバ元間の通信の速さに関する情報と、前記キャッシュ情報とに基づき、前記取得元を決定する
通信プログラム。
【請求項９】
無線通信装置のハンドオーバ元の通信装置に搭載されたコンピュータに実行させる通信プログラムであって、
前記ハンドオーバ元に記憶されているキャッシュデータを前記無線通信装置のハンドオーバ先が取得する取得元を、前記ハンドオーバ元と、前記キャッシュデータを記憶しているサーバとのうちいずれかに決定するステップと、
前記決定された取得元を前記ハンドオーバ先に通知するステップと、
前記決定された取得元が前記ハンドオーバ元である場合に、前記キャッシュデータを前記ハンドオーバ先に送信するステップと、を備え、
前記キャッシュデータのキャッシュ情報は、前記ハンドオーバ元が前記キャッシュデータを前記サーバから取得した際の前記ハンドオーバ元と前記サーバ間の通信の速さに関する情報、を含み、
前記決定するステップは、前記キャッシュ情報と、前記通信装置及び前記ハンドオーバ先間の通信の速さに関する情報とに基づき、前記取得先を決定する
通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、システム、及びプログラムに関する。
【背景技術】
【０００２】
従来、無線通信端末が無線で接続するアクセスポイント（以下、「ＡＰ」という）を、無線通信端末の移動などに応じて、より通信環境の良い他のＡＰに切り替える、ハンドオーバ技術が知られている。
【０００３】
キャッシュ機能を備えたＡＰの間でハンドオーバが行われる場合、通信レイテンシの削減及びスループットの向上のために、ハンドオーバ時にＡＰ間でキャッシュデータの一部又は全部をマイグレーションすることがある。
【０００４】
しかしながら、ハンドオーバ時に、ＡＰ間の回線が混雑していると、輻輳の発生やマイグレーションの遅延により、通信レイテンシの増加及びスループットの低下が生じる恐れがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第８５７６７５６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ハンドオーバ時のマイグレーションが高速化された通信装置、システム、及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
一実施形態に係る通信装置は、データ取得部を備える。データ取得部は、無線通信装置のハンドオーバ元に記憶されたキャッシュデータを取得元から取得する。取得元は、キャッシュデータの識別子を含むキャッシュ情報に基づいて決定される。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係るＡＰの機能構成の一例を示す図。
【図２】キャッシュ情報リストの一例を示す図。
【図３】コンピュータの一例を示す図。
【図４】データ要求の受信時のＡＰの動作の一例を示すフローチャート。
【図５】第１実施形態に係る通信システムの一例を示す図。
【図６】第１実施形態におけるハンドオーバ実行時のＡＰの動作の一例を示すフローチャート。
【図７】取得元リストの一例を示す図。
【図８】ＲＴＴを利用した取得元決定方法の一例を示すフローチャート。
【図９】スループットを利用した取得元決定方法の一例を示すフローチャート。
【図１０】ＲＴＴ、スループット、及びデータサイズを利用した取得元決定方法の一例を示すフローチャート。
【図１１】第２実施形態におけるハンドオーバ実行時のＡＰの動作の一例を示すフローチャート。
【図１２】スループット及び空き帯域を利用した取得元決定方法の一例を示すフローチャート。
【図１３】第３実施形態におけるハンドオーバ実行時のＡＰの動作の一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。
【００１０】
（第１実施形態）
第１実施形態に係る通信装置ついて、図１〜図１０を参照して説明する。以下では、本実施形態に係る通信装置は、ＡＰであるものとする。
【００１１】
本実施形態に係るＡＰは、ネットワークを介して他の通信ノードに接続される。他の通信ノードには、他のＡＰと、サーバと、が含まれる。サーバは、例えば、ウェブサーバ、データサーバ、又はアプリケーションサーバであるが、これに限られない。
【００１２】
また、ＡＰは、無線通信端末（以下、「端末」という）に無線で接続可能である。端末は、携帯電話、スマートフォン、タブレット端末、又はノートパソコンであるが、これに限られない。
【００１３】
さらに、ＡＰは、キャッシュ機能及びハンドオーバ機能を有する。キャッシュ機能とは、サーバに記憶されたデータをＡＰが記憶（キャッシュ）する機能のことである。また、ハンドオーバ機能とは、端末に接続されるＡＰを切り替える機能のことである。
【００１４】
まず、本実施形態に係るＡＰの機能構成について説明する。図１は、本実施形態に係るＡＰの機能構成の一例を示す図である。図１のＡＰは、データ取得部１と、取得元決定部２と、キャッシュ送信部３と、記憶部４と、キャッシュ情報通知部５と、インタフェース部６と、を備える。
【００１５】
データ取得部１は、他の通信ノードにデータ要求を送信し、他の通信ノードから所定のデータを取得し、取得したデータをキャッシュする。すなわち、データ取得部１は、他の通信ノードから取得したデータをキャッシュデータとして記憶部４に書き込む。
【００１６】
取得元決定部２は、他のＡＰから通知されたキャッシュ情報リストと、自装置の履歴情報と、に基づいて、データ取得部１がデータを取得する取得元となる通信ノードを決定する。
【００１７】
キャッシュ情報リストとは、１つ以上のキャッシュ情報を含むリストである。キャッシュ情報とは、ＡＰがキャッシュしているデータ、すなわち、記憶部４に記憶しているキャッシュデータに関する情報のことである。キャッシュ情報には、キャッシュデータを一意に識別するための識別子と、キャッシュデータの属性情報と、が含まれる。キャッシュデータの識別子は、例えば、ＵＲＬ（Uniform Resource Locator）であるが、これに限られない。キャッシュ情報リストにおいて、キャッシュデータの順序がドメインやパスでソートされている場合、キャッシュデータの識別子として相対パスを利用することも可能である。以下では、識別式がＵＲＬである場合を例に説明する。
【００１８】
属性情報には、ＡＰがキャッシュデータを取得した際のスループット、ＲＴＴ（ラウンドトリップタイム）、取得日時（更新日時）、取得に要した時間、及びキャッシュデータのデータサイズの少なくとも１つが含まれる。キャッシュデータの取得時のスループットは、キャッシュデータの取得時の平均スループットでもよいし、最大スループットでもよい。
【００１９】
図２は、キャッシュ情報リストの一例を示す図である。図２の各レコードが、各キャッシュデータのキャッシュ情報に相当する。図２のキャッシュ情報リストには、３つのキャッシュデータのキャッシュ情報が含まれており、各キャッシュ情報には、キャッシュデータのＵＲＬと、キャッシュデータ取得時のスループット及びＲＴＴと、キャッシュデータのデータサイズと、キャッシュデータの更新日時（取得日時）と、が含まれている。
【００２０】
なお、キャッシュ情報には、上述のＵＲＬ（識別子）及び属性情報の他に、ＩＰアドレスが含まれてもよい。
【００２１】
履歴情報とは、ＡＰの通信履歴に関する任意の情報のことである。履歴情報には、ＡＰと他の通信ノードとの間の通信履歴に関する情報や、ＡＰと端末との間の通信履歴に関する情報が含まれる。履歴情報には、通信先のＵＲＬ、ドメイン名、ＩＰアドレスや、属性情報（スループット、ＲＴＴ、データサイズ、及び更新日時など）が含まれる。上述のキャッシュ情報リストに含まれるキャッシュ情報に対応するキャッシュデータは、記憶部４に記憶されているのに対し、履歴情報に含まれるキャッシュ情報に対応するキャッシュデータは、記憶部４に記憶されているとは限らない。
【００２２】
本実施形態に係るＡＰは、自装置のキャッシュ情報リスト及び履歴情報を、記憶部４に記憶する。
【００２３】
キャッシュ送信部３は、記憶部４に記憶された自装置のキャッシュデータを読み出し、読み出したキャッシュデータを他の通信ノードに送信する。
【００２４】
記憶部４は、キャッシュデータと、キャッシュ情報リストと、履歴情報と、を記憶する。
【００２５】
キャッシュ情報通知部５は、自装置のキャッシュ情報を他のＡＰに通知する。
【００２６】
インタフェース部６は、ネットワークを介して他の通信ノードと通信する。また、インタフェース部６は、無線で端末と通信する。本実施形態に係るＡＰと、他の通信ノード及び端末と、の間の通信は、インタフェース部６を介して行われる。
【００２７】
次に、本実施形態に係るＡＰのハードウェア構成について説明する。本実施形態に係るＡＰは、コンピュータ１００により構成される。コンピュータ１００には、サーバ、クライアント、マイコン、及び汎用コンピュータなどが含まれる。
【００２８】
図３は、コンピュータ１００の一例を示す図である。図３のコンピュータ１００は、プロセッサ１０１と、入力装置１０２と、表示装置１０３と、通信装置１０４と、記憶装置１０５と、を備える。プロセッサ１０１、入力装置１０２、表示装置１０３、通信装置１０４、及び記憶装置１０５は、バス１０６により相互に接続されている。
【００２９】
プロセッサ１０１は、コンピュータ１００の制御装置及び演算装置を含む電子回路である。プロセッサ１０１として、例えば、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシン、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路（ＰＬＤ）、及びこれらの組合せを用いることができる。
【００３０】
プロセッサ１０１は、バス１０６を介して接続された各装置（例えば、入力装置１０２、通信装置１０４、記憶装置１０５）から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス１０６を介して接続された各装置（例えば、表示装置１０３、通信装置１０４、記憶装置１０５）に出力する。具体的には、プロセッサ１０１は、コンピュータ１００のＯＳ（オペレーティングシステム）や、通信プログラムなどを実行し、コンピュータ１００を構成する各装置を制御する。
【００３１】
通信プログラムとは、コンピュータ１００に、ＡＰの上述の各機能構成を実現させるプログラムである。通信プログラムは、一時的でない有形のコンピュータ読み取り可能な記憶媒体に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。プロセッサ１０１が通信プログラムを実行することにより、コンピュータ１００がＡＰとして機能する。
【００３２】
入力装置１０２は、コンピュータ１００に情報を入力するための装置である。入力装置１０２は、例えば、キーボード、マウス、及びタッチパネルであるが、これに限られない。
【００３３】
表示装置１０３は、画像や映像を表示するための装置である。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。
【００３４】
通信装置１０４は、コンピュータ１００が外部装置と無線又は有線で通信するための装置である。通信装置１０４は、例えば、モデム、ハブ、及びルータであるが、これに限られない。インタフェース部６の機能は、通信装置１０４により実現される。
【００３５】
記憶装置１０５は、コンピュータ１００のＯＳや、通信プログラム、通信プログラムの実行に必要なデータ、及び通信プログラムの実行により生成されたデータなどを記憶する記憶媒体である。記憶装置１０５には、主記憶装置と外部記憶装置とが含まれる。主記憶装置は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。記憶部４は、記憶装置１０５により構成される。
【００３６】
なお、コンピュータ１００は、プロセッサ１０１、入力装置１０２、表示装置１０３、通信装置１０４、及び記憶装置１０５を、それぞれ１つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよい。
【００３７】
また、ＡＰは、単一のコンピュータ１００により構成されてもよいし、相互に接続された複数のコンピュータ１００からなるシステムとして構成されてもよい。
【００３８】
さらに、通信プログラムは、コンピュータ１００の記憶装置１０５に予め記憶されていてもよいし、コンピュータ１００の外部の記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合も、通信プログラムをコンピュータ１００にインストールして実行することにより、ＡＰの機能が実現される。
【００３９】
次に、本実施形態に係るＡＰの動作について説明する。以下では、端末からのデータ要求の受信時と、ハンドオーバ実行時と、のＡＰの動作について、それぞれ説明する。
【００４０】
（端末からのデータ要求の受信時）
まず、データ要求の受信時の動作について説明する。図４は、端末からのデータ要求の受信時のＡＰの動作の一例を示すフローチャートである。
【００４１】
ＡＰに接続された端末がデータ要求を送信すると、ＡＰのインタフェース部６は、送信されたデータ要求を受信する（ステップＳ１）。以下では、データ要求により要求されたデータを、要求データという。インタフェース部６は、要求データのＵＲＬを取得元決定部２及びキャッシュ送信部３に通知する。
【００４２】
次に、取得元決定部２は、記憶部４からキャッシュ情報リストと読み出し、読み出したキャッシュ情報リストを参照して、要求データがキャッシュ済みであるか判定する（ステップＳ２）。すなわち、取得元決定部２は、要求データがキャッシュデータとして記憶部４に記憶されているか判定する。取得元決定部２は、各キャッシュ情報に含まれるキャッシュデータのＵＲＬと、要求データのＵＲＬと、を比較することにより、この判定を行う。
【００４３】
要求データのＵＲＬと一致するＵＲＬを有するキャッシュ情報が、キャッシュ情報リストに含まれない場合、すなわち、要求データがキャッシュされていない場合（ステップＳ２のＮＯ）、取得元決定部２は、要求データのＵＲＬをデータ取得部１に通知する。
【００４４】
続いて、データ取得部１は、要求データを記憶しているサーバにデータ要求を送信し、要求データを取得し（ステップＳ３）、取得した要求データを記憶部４に書き込む（ステップＳ４）。これにより、要求データがＡＰにキャッシュされる。要求データのキャッシュが完了すると、取得元決定部２は、記憶部４に記憶されたキャッシュ情報リスト及び履歴情報を更新する（ステップＳ５）。
【００４５】
その後、キャッシュ送信部３は、インタフェース部６から通知されたＵＲＬに対応するキャッシュデータ（キャッシュされた要求データ）を記憶部４から読み出し（ステップＳ６）、読み出したキャッシュデータを端末に送信する（ステップＳ７）。
【００４６】
一方、要求データのＵＲＬと一致するＵＲＬを有するキャッシュ情報がキャッシュ情報リストに含まれている場合、すなわち、要求データがキャッシュ済みの場合（ステップＳ２のＹＥＳ）、キャッシュ送信部３は、インタフェース部６から通知されたＵＲＬに対応するキャッシュデータ（キャッシュされた要求データ）を記憶部４から読み出し（ステップＳ６）、読み出したキャッシュデータを端末に送信する（ステップＳ７）。
【００４７】
以上の処理により、本実施形態に係るＡＰのキャッシュ機能が実現される。このキャッシュ機能により、ＡＰは、キャッシュ済みのデータを要求された場合、サーバにアクセスすることなく、端末に要求データを送信することができる。したがって、ＡＰと端末との間の通信レイテンシを削減することができる。
【００４８】
なお、本実施形態に係るＡＰは、端末から要求された全ての要求データをキャッシュしてもよいし、一部の要求データを選択的にキャッシュしてもよい。キャッシュする要求データの選択方法として、例えば、端末から所定の回数以上要求された要求データをキャッシュする、という方法が考えられる。しかしながら、キャッシュする要求データの選択方法は、これに限られず、周知の任意の方法を利用できる。
【００４９】
（ハンドオーバ実行時）
次に、ハンドオーバ実行時のＡＰの動作について説明する。図５は、本実施形態に係る通信システムの一例を示す図である。図５の通信システムには、２つの本実施形態に係るＡＰと、サーバと、端末と、が含まれている。２つのＡＰとサーバとはネットワークを介して接続されている。また、一方のＡＰは無線で端末と接続されている。
【００５０】
以下では、図５に示すように、２つのＡＰ間でハンドオーバ（ＨＯ）が実行される場合を例に説明する。また、ハンドオーバ実行時において、ハンドオーバ元となるＡＰ、すなわち、ハンドオーバにより端末との接続が解除されるＡＰ、を元ＡＰという。ハンドオーバ実行時において、ハンドオーバ先となるＡＰ、すなわち、ハンドオーバにより端末と接続されるＡＰ、を先ＡＰという。ハンドオーバにより、端末は、元ＡＰから先ＡＰに接続を切り替えられる。
【００５１】
図６は、本実施形態におけるハンドオーバ実行時のＡＰの動作の一例を示すフローチャートである。元ＡＰが端末からハンドオーバの開始要求を受信すると、ハンドオーバ処理が開始される。このハンドオーバ処理に伴い、以下のマイグレーション処理が開始される。
【００５２】
マイグレーション処理が開始されると、まず、元ＡＰのキャッシュ情報通知部５は、記憶部４からキャッシュ情報リストを読み出し、読み出したキャッシュ情報リストを、開始要求で指定された先ＡＰに通知する（ステップＳ８）。この際、元ＡＰのキャッシュ情報通知部５は、キャッシュ情報リスト全体を先ＡＰに通知してもよいし、キャッシュ情報リストのうち、端末に関連する一部を選択的に先ＡＰに通知してもよい。
【００５３】
元ＡＰのキャッシュ情報リストを通知されると、先ＡＰの取得元決定部２は、通知されたキャッシュ情報リストからキャッシュ情報を１つ選択する（ステップＳ９）。取得元決定部２は、キャッシュ情報をランダムに選択してもよいし、キャッシュ情報リストに配列された順に選択してもよい。
【００５４】
次に、取得元決定部２は、選択したキャッシュ情報に対応するキャッシュデータの取得元を、他の通信ノードの中から決定する（ステップＳ１０）。具体的には、取得元決定部２は、キャッシュデータを元ＡＰから取得するか、キャッシュデータを記憶しているサーバから取得するか、を決定する。この際、取得元決定部２は、キャッシュ情報に基づいて、キャッシュデータの取得時間が短くなるように取得元を決定する。すなわち、取得元決定部２は、キャッシュデータを高速で取得可能な通信ノード（元ＡＰ又はサーバ）を取得元として決定する。取得元の決定方法について、詳しくは後述する。
【００５５】
取得元決定部２は、キャッシュデータの取得元を決定すると、取得元リストを更新する（ステップＳ１１）。取得元リストとは、１つ以上の取得元情報を含むリストである。取得元情報とは、キャッシュデータのＵＲＬと、取得元決定部２により決定されたキャッシュデータの取得元と、を含む情報である。
【００５６】
図７は、取得元リストの一例を示す図である。図７の各レコードが、各取得元情報に相当する。図７の取得元リストには、３つの取得元情報が含まれ、各取得元情報には、キャッシュデータのＵＲＬと、キャッシュデータの取得元（元ＡＰ又はサーバ）と、が含まれている。例えば、図７の例では、１行目のレコードに対応するキャッシュデータの取得元は、元ＡＰである。
【００５７】
取得元決定部２は、１つのキャッシュデータの取得元を決定する度に、対応する取得元情報を取得元リストに追加し、取得元リストを更新する。
【００５８】
取得元リストの更新後、取得元決定部２は、元ＡＰのキャッシュ情報リストに対応する全キャッシュデータの取得元を決定したか判定する（ステップＳ１２）。取得元が未決定のキャッシュデータがある場合（ステップＳ１２のＮＯ）、取得元決定部２は、次のキャッシュ情報を選択する（ステップＳ９）。一方、全キャッシュデータの取得元が決定した場合（ステップＳ１２のＹＥＳ）、取得元決定部２は、取得元リストをデータ取得部１に通知する。
【００５９】
続いて、データ取得部１は、通知された取得元リストに従ってデータ要求を送信し、各取得元から各キャッシュデータを取得する（ステップＳ１３）。ここで、取得元が元ＡＰであるキャッシュデータＸと、取得元がサーバであるキャッシュデータＹと、についてそれぞれ考える。
【００６０】
データ取得部１は、キャッシュデータＸを要求するデータ要求を元ＡＰに送信する。元ＡＰがこのデータ要求を受信すると、元ＡＰのキャッシュ送信部３は、キャッシュデータＸを元ＡＰの記憶部４から読み出し、読み出したキャッシュデータを先ＡＰに送信する。これにより、先ＡＰのデータ取得部１は、キャッシュデータＸを元ＡＰから取得することができる。
【００６１】
データ取得部１は、キャッシュデータＹを要求するデータ要求を、キャッシュデータＹを記憶するサーバに送信する。サーバは、このデータ要求を受信すると、キャッシュデータＹを先ＡＰに送信する。これにより、先ＡＰのデータ取得部１は、キャッシュデータＹをサーバから取得することができる。
【００６２】
先ＡＰのデータ取得部１は、こうして取得したキャッシュデータを、それぞれ記憶部４に書き込む（ステップＳ１４）。これにより、元ＡＰのキャッシュ情報リストに対応するキャッシュデータが、先ＡＰの記憶部４にキャッシュされる。キャッシュデータの書込みが完了すると、先ＡＰの取得元決定部２は、記憶部４に記憶された自装置のキャッシュ情報リスト及び履歴情報を更新する（ステップＳ１５）。
【００６３】
以上の処理により、元ＡＰのキャッシュデータを先ＡＰにマイグレーションすることができる。なお、本実施形態において、先ＡＰは、自装置がキャッシュ済みのキャッシュデータを、他の通信ノードから取得しなくてもよい。このような処理は、上述のステップＳ２と同様の方法で実現できる。具体的には、先ＡＰの取得元決定部２は、キャッシュ情報を選択した後、選択したキャッシュ情報に対応するキャッシュデータがキャッシュ済みか判定し、キャッシュ済みの場合、取得元を決定せずに、次のキャッシュ情報を選択すればよい。これにより、取得するキャッシュデータを削減し、マイグレーションを高速化することができる。
【００６４】
また、以上の説明では、先ＡＰは、全キャッシュデータの取得元が決定された後に、各キャッシュデータの取得を開始しているが、１つのキャッシュデータの取得元が決定する度に、そのキャッシュデータの取得を開始してもよい。
【００６５】
また、先ＡＰのデータ取得部１がサーバからキャッシュデータを取得する際の実際のスループットが、キャッシュ情報のスループットより遅い場合には、データ取得部１は、取得元をサーバから元ＡＰに変更してもよい。
【００６６】
次に、先ＡＰの取得元決定部２によるキャッシュデータの取得元決定方法について説明する。図８は、ＲＴＴを利用した取得元決定方法の一例を示すフローチャートである。このフローチャートは、図６のステップＳ１０の内部処理に相当する。以下では、キャッシュ情報にＲＴＴが含まれるものとする。
【００６７】
まず、先ＡＰの取得元決定部２は、記憶部４から履歴情報を読み出し、キャッシュ情報の更新日時と、キャッシュ情報に対応する履歴情報の更新日時と、を比較する（ステップＳ１６）。ここでいうキャッシュ情報に対応する履歴情報とは、先ＡＰと、キャッシュデータを記憶しているサーバと、が通信した際のＲＴＴを示す履歴情報のことである。先ＡＰの取得元決定部２は、キャッシュ情報に対応する履歴情報として、キャッシュ情報のＵＲＬと一致するＵＲＬを含む履歴情報を利用してもよいし、キャッシュ情報のＵＲＬの一部（プロトコルやドメイン名やポート番号やパスなど）やＩＰアドレスを含む履歴情報を利用してもよい。
【００６８】
取得元決定部２は、履歴情報の更新日時がキャッシュ情報の更新日時より新しい場合（ステップＳ１６のＹＥＳ）、サーバ間ＲＴＴとして、履歴情報のＲＴＴを採用する（ステップＳ１７）。一方、取得元決定部２は、履歴情報の更新日時がキャッシュ情報の更新日時より新しくない場合（ステップＳ１６のＮＯ）、サーバ間ＲＴＴとして、キャッシュ情報のＲＴＴを採用する（ステップＳ１８）。
【００６９】
ここでいうサーバ間ＲＴＴとは、先ＡＰがサーバからキャッシュデータを取得する際に予想されるＲＴＴのことである。キャッシュ情報のＲＴＴは、元ＡＰがサーバからキャッシュデータを取得した際のＲＴＴであり、履歴情報のＲＴＴは、先ＡＰとサーバとが通信した際のＲＴＴである。取得元決定部２は、更新日時が新しい方のＲＴＴを、サーバ間ＲＴＴとして採用する。
【００７０】
なお、キャッシュ情報に対応する履歴情報が、記憶部４に記憶されていない場合、取得元決定部２は、サーバ間ＲＴＴとして、キャッシュ情報のＲＴＴを採用すればよい。また、ステップＳ１６を省略し、サーバ間ＲＴＴとして、キャッシュ情報のＲＴＴを採用することも可能である。
【００７１】
次に、取得元決定部２は、サーバ間ＲＴＴと、ＡＰ間ＲＴＴと、を比較する（ステップＳ１９）。ここでいうＡＰ間ＲＴＴとは、先ＡＰが元ＡＰからキャッシュデータを取得する際に予想されるＲＴＴのことである。ＡＰ間ＲＴＴとして、例えば、先ＡＰが元ＡＰからキャッシュ情報リストを受信した際のＲＴＴが利用できる。
【００７２】
取得元決定部２は、ＡＰ間ＲＴＴがサーバ間ＲＴＴより短い場合（ステップＳ１９のＹＥＳ）、キャッシュデータの取得元を元ＡＰに決定する（ステップＳ２０）。一方、取得元決定部２は、ＡＰ間ＲＴＴがサーバ間ＲＴＴ以上である場合（ステップＳ１９のＮＯ）、キャッシュデータの取得元をサーバに決定する（ステップＳ２１）。
【００７３】
このように取得元を決定することにより、取得元決定部２は、キャッシュデータを取得する際のＲＴＴがより短い通信ノードを、キャッシュデータの取得元として決定することができる。
【００７４】
以上説明した通り、本実施形態に係るＡＰは、ハンドオーバ実行時に先ＡＰとして動作する場合、キャッシュデータの取得元を、キャッシュデータの取得時間が短くなるように決定する。このようにキャッシュデータの取得元を決定することにより、先ＡＰがキャッシュデータの取得に要する時間を短縮し、ハンドオーバ時の元ＡＰから先ＡＰへのキャッシュデータのマイグレーションを高速化することができる。
【００７５】
なお、取得元決定部２は、ＲＴＴの代わりに、他の属性情報を利用して、キャッシュデータの取得元を決定することも可能である。一例として、ＲＴＴの代わりにスループットを利用して取得元を決定する場合について説明する。
【００７６】
図９は、スループットを利用した取得元決定方法の一例を示すフローチャートである。このフローチャートは、図６のステップＳ１０の内部処理に相当する。以下では、キャッシュ情報にスループットが含まれるものとする。
【００７７】
まず、先ＡＰの取得元決定部２は、記憶部４から履歴情報を読み出し、キャッシュ情報の更新日時と、キャッシュ情報に対応する履歴情報の更新日時と、を比較する（ステップＳ２２）。ここでいうキャッシュ情報に対応する履歴情報とは、先ＡＰと、キャッシュデータを記憶しているサーバと、が通信した際のスループットを示す履歴情報のことである。先ＡＰの取得元決定部２は、キャッシュ情報に対応する履歴情報として、キャッシュ情報のＵＲＬと一致するＵＲＬを含む履歴情報を利用してもよいし、キャッシュ情報のＵＲＬの一部（プロトコルやドメイン名やポート番号やパスなど）やＩＰアドレスを含む履歴情報を利用してもよい。
【００７８】
取得元決定部２は、履歴情報の更新日時がキャッシュ情報の更新日時より新しい場合（ステップＳ２２のＹＥＳ）、サーバ間スループットとして、履歴情報のスループットを採用する（ステップＳ２３）。一方、取得元決定部２は、履歴情報の更新日時がキャッシュ情報の更新日時より新しくない場合（ステップＳ２２のＮＯ）、サーバ間スループットとして、キャッシュ情報のスループットを採用する（ステップＳ２４）。
【００７９】
ここでいうサーバ間スループットとは、先ＡＰがサーバからキャッシュデータを取得する際に予想されるスループットのことである。キャッシュ情報のスループットは、元ＡＰがサーバからキャッシュデータを取得した際のスループットであり、履歴情報のスループットは、先ＡＰとサーバとが通信した際のスループットである。取得元決定部２は、更新日時が新しい方のスループットを、サーバ間スループットとして採用する。
【００８０】
なお、キャッシュ情報に対応する履歴情報が、記憶部４に記憶されていない場合、取得元決定部２は、サーバ間スループットとして、キャッシュ情報のスループットを採用すればよい。また、ステップＳ２２を省略し、サーバ間スループットとして、キャッシュ情報のスループットを採用することも可能である。
【００８１】
次に、取得元決定部２は、サーバ間スループットと、ＡＰ間スループットと、を比較する（ステップＳ２５）。ここでいうＡＰ間スループットとは、先ＡＰが元ＡＰからキャッシュデータを取得する際に予想されるスループットのことである。ＡＰ間スループットとして、例えば、先ＡＰが元ＡＰからキャッシュ情報リストを受信した際のスループットが利用できる。
【００８２】
取得元決定部２は、ＡＰ間スループットがサーバ間スループット以下である場合（ステップＳ２５のＮＯ）、キャッシュデータの取得元を元ＡＰに決定する（ステップＳ２６）。一方、取得元決定部２は、ＡＰ間スループットがサーバ間スループットより大きい場合（ステップＳ２５のＹＥＳ）、キャッシュデータの取得元をサーバに決定する（ステップＳ２７）。
【００８３】
このように取得元を決定することにより、取得元決定部２は、キャッシュデータを取得する際のスループットがより大きい通信ノードを、キャッシュデータの取得元として決定することができる。結果として、先ＡＰがキャッシュデータの取得に要する時間を短縮し、ハンドオーバ時の元ＡＰから先ＡＰへのキャッシュデータのマイグレーションを高速化することができる。
【００８４】
さらに、取得元決定部２は、複数の属性情報を利用して取得元を決定することも可能である。一例として、ＲＴＴ、スループット、及びデータサイズを利用して取得元を決定する場合について説明する。
【００８５】
図１０は、ＲＴＴ、スループット、及びデータサイズを利用した取得元決定方法の一例を示すフローチャートである。このフローチャートは、図６のステップＳ１０の内部処理に相当する。以下では、キャッシュ情報にＲＴＴ、スループット、及びデータサイズが含まれるものとする。
【００８６】
まず、先ＡＰの取得元決定部２は、キャッシュデータのデータサイズと、予め設定されたデータサイズの閾値と、を比較する（ステップＳ２８）。キャッシュデータのデータサイズが閾値より大きい場合（ステップＳ２８のＹＥＳ）、取得元決定部２は、スループットに基づいて取得元を決定する。スループットに基づく取得元の決定方法（ステップＳ２２〜Ｓ２７）は、上述の通りである。一方、キャッシュデータのデータサイズが閾値以下である場合（ステップＳ２８のＮＯ）、取得元決定部２は、ＲＴＴに基づいて取得元を決定する。ＲＴＴに基づく取得元の決定方法（ステップＳ１６〜Ｓ２１）は、上述の通りである。
【００８７】
一般に、キャッシュデータのデータサイズが大きいほど、キャッシュデータの取得に要する時間に対するスループットの影響が大きくなり、キャッシュデータのデータサイズが小さいほど、キャッシュデータの取得に要する時間に対するＲＴＴの影響が大きくなる。したがって、以上のように、キャッシュデータのデータサイズが大きい場合にスループットに基づいて取得元を決定し、キャッシュデータのデータサイズが小さい場合にＲＴＴに基づいて取得元を決定することにより、先ＡＰがキャッシュデータの取得に要する時間をより短縮することができる。
【００８８】
（第２実施形態）
第２実施形態に係る通信装置について、図１１及び図１２を参照して説明する。第１実施形態では、先ＡＰの取得元決定部２が、キャッシュ情報に基づいて取得元を決定する方法について説明した。本実施形態では、先ＡＰの取得元決定部２が、２つのＡＰ間の空き帯域を利用してキャッシュデータの取得元を決定する方法について説明する。なお、本実施形態において、ＡＰの機能構成及びハードウェア構成は、第１実施形態と同様である。
【００８９】
図１１は、本実施形態におけるハンドオーバ実行時のＡＰの動作の一例を示すフローチャートである。元ＡＰが端末からハンドオーバの開始要求を受信すると、ハンドオーバ処理が開始される。このハンドオーバ処理に伴い、以下のマイグレーション処理が開始される。
【００９０】
マイグレーション処理が開始されると、まず、元ＡＰのキャッシュ情報通知部５は、キャッシュ情報及び空き帯域を先ＡＰに通知する（ステップＳ２８）。キャッシュ情報リストの通知についてはステップＳ８と同様である。
【００９１】
空き帯域とは、元ＡＰと先ＡＰとの間で使用可能な通信帯域のことである。元ＡＰのキャッシュ情報通知部５は、元ＡＰから先ＡＰへの送信速度、送信速度の平均値（平均速度）、送信速度の最高値（最高速度）、使用予定帯域、及び使用済み帯域などに基づいて、現在の空き帯域を計算し、キャッシュ情報リスト共に先ＡＰに通知する。使用予定帯域及び使用済み帯域について、詳しくは後述する。
【００９２】
元ＡＰのキャッシュ情報リストと、空き帯域と、を通知されると、先ＡＰの取得元決定部２は、通知されたキャッシュ情報リストからキャッシュ情報を１つ選択する（ステップＳ３０）。取得元決定部２は、キャッシュ情報をランダムに選択してもよいし、キャッシュ情報リストに配列された順に選択してもよい。
【００９３】
次に、取得元決定部２は、選択したキャッシュ情報に対応するキャッシュデータの取得元を、他の通信ノードの中から決定する（ステップＳ３１）。本実施形態では、取得元決定部２は、元ＡＰから通知された空き帯域に基づいて、取得元を決定する。取得元の決定方法について、詳しくは後述する。
【００９４】
取得元決定部２は、キャッシュデータの取得元を決定すると、取得元リストを更新する（ステップＳ３２）。取得元リストについては上述の通りである。取得元決定部２は、１つのキャッシュデータの取得元を決定する度に、対応する取得元情報を取得元リストに追加し、取得元リストを更新する。
【００９５】
取得元リストの更新後、取得元決定部２は、元ＡＰのキャッシュ情報リストに対応する全キャッシュデータの取得元を決定したか判定する（ステップＳ３３）。取得元が未決定のキャッシュデータがある場合（ステップＳ３３のＮＯ）、取得元決定部２は、次のキャッシュ情報を選択する（ステップＳ３０）。一方、全キャッシュデータの取得元が決定した場合（ステップＳ３３のＹＥＳ）、取得元決定部２は、取得元リストをデータ取得部１に通知する。
【００９６】
本実施形態では、全キャッシュデータの取得元を決定した後、先ＡＰの取得元決定部２は、使用予定帯域を計算し、元ＡＰのキャッシュ情報通知部５に通知する（ステップＳ３４）。使用予定帯域とは、先ＡＰが元ＡＰからキャッシュデータを取得するために使用することが予定されている帯域のことである。使用予定帯域として、例えば、先ＡＰが元ＡＰから取得するキャッシュデータ（取得元が元ＡＰであるキャッシュデータ）のスループットの合計値が計算される。
【００９７】
元ＡＰのキャッシュ情報通知部５は、先ＡＰの取得元決定部２から使用予定帯域を通知されると、使用予定帯域に基づいて空き帯域を更新する。具体的には、元ＡＰの空き帯域は、使用予定帯域の分だけ小さくなる。
【００９８】
続いて、データ取得部１は、通知された取得元リストに従ってデータ要求を送信し、各取得元から各キャッシュデータを取得する（ステップＳ３５）。各取得元からのキャッシュデータの取得方法は、上述の通りである。
【００９９】
先ＡＰのデータ取得部１は、こうして取得したキャッシュデータを、それぞれ記憶部４に書き込む（ステップＳ３６）。これにより、元ＡＰのキャッシュ情報リストに対応するキャッシュデータが、先ＡＰの記憶部４にキャッシュされる。キャッシュデータの書込みが完了すると、先ＡＰの取得元決定部２は、記憶部４に記憶された自装置のキャッシュ情報リスト及び履歴情報を更新する（ステップＳ３７）。
【０１００】
本実施形態では、先ＡＰの取得元決定部２は、自装置のキャッシュ情報リスト及び履歴情報を更新した後、使用済み帯域を計算し、元ＡＰのキャッシュ情報通知部５に通知する（ステップＳ３８）。使用済み帯域とは、先ＡＰが元ＡＰからキャッシュデータを取得するために使用した帯域のことである。取得元決定部２は、使用済み帯域として、使用予定帯域と同じ値を通知してもよい。
【０１０１】
元ＡＰのキャッシュ情報通知部５は、先ＡＰの取得元決定部２から使用済み帯域を通知されると、使用済み帯域に基づいて空き帯域を更新する。具体的には、元ＡＰの空き帯域は、使用済み帯域の分だけ大きくなる。
【０１０２】
以上の処理により、元ＡＰのキャッシュデータを先ＡＰにマイグレーションすることができる。また、マイグレーション処理中に、元ＡＰの空き帯域を更新することにより、元ＡＰと複数の先ＡＰとの間で、上述のマイグレーション処理を実行することができる。
【０１０３】
なお、本実施形態において、先ＡＰは、自装置がキャッシュ済みのキャッシュデータを、他の通信ノードから取得しなくてもよい。このような処理は、上述のステップＳ２と同様の方法で実現できる。
【０１０４】
また、以上の説明では、先ＡＰは、全キャッシュデータの取得元が決定された後に、各キャッシュデータの取得を開始しているが、１つのキャッシュデータの取得元が決定する度に、そのキャッシュデータの取得を開始してもよい。
【０１０５】
また、先ＡＰのデータ取得部１がサーバからキャッシュデータを取得する際の実際のスループットが、キャッシュ情報のスループットより遅い場合には、データ取得部１は、取得元をサーバから元ＡＰに変更してもよい。
【０１０６】
また、先ＡＰの取得元決定部２は、１つのキャッシュデータの取得が完了する度に、使用済み帯域を計算し、元ＡＰのキャッシュ情報通知部５に通知してもよい。
【０１０７】
図１２は、スループット及び空き帯域を利用した取得元決定方法の一例を示すフローチャートである。このフローチャートは、図１１のステップＳ３１の内部処理に相当する。以下では、キャッシュ情報にスループットが含まれるものとする。
【０１０８】
まず、先ＡＰの取得元決定部２は、記憶部４から履歴情報を読み出し、キャッシュ情報の更新日時と、キャッシュ情報に対応する履歴情報の更新日時と、を比較する（ステップＳ３９）。ここでいうキャッシュ情報に対応する履歴情報とは、先ＡＰと、キャッシュデータを記憶しているサーバと、が通信した際のスループットを示す履歴情報のことである。先ＡＰの取得元決定部２は、キャッシュ情報に対応する履歴情報として、キャッシュ情報のＵＲＬと一致するＵＲＬを含む履歴情報を利用してもよいし、キャッシュ情報のＵＲＬの一部（プロトコルやドメイン名やポート番号やパスなど）やＩＰアドレスを含む履歴情報を利用してもよい。
【０１０９】
取得元決定部２は、履歴情報の更新日時がキャッシュ情報の更新日時より新しい場合（ステップＳ３９のＹＥＳ）、サーバ間スループットとして、履歴情報のスループットを採用する（ステップＳ４０）。一方、取得元決定部２は、履歴情報の更新日時がキャッシュ情報の更新日時より新しくない場合（ステップＳ３９のＮＯ）、サーバ間スループットとして、キャッシュ情報のスループットを採用する（ステップＳ４１）。サーバ間スループットについては上述の通りである。
【０１１０】
なお、キャッシュ情報に対応する履歴情報が、記憶部４に記憶されていない場合、取得元決定部２は、サーバ間スループットとして、キャッシュ情報のスループットを採用すればよい。また、ステップＳ３９を省略し、サーバ間スループットとして、キャッシュ情報のスループットを採用することも可能である。
【０１１１】
次に、取得元決定部２は、サーバ間スループットと、元ＡＰから通知された空き帯域と、を比較する（ステップＳ４２）。取得元決定部２は、空き帯域がサーバ間スループットより大きい場合（ステップＳ４２のＹＥＳ）、キャッシュデータの取得元を元ＡＰに決定する（ステップＳ４３）。そして、取得元決定部２は、元ＡＰから通知された空き帯域を更新する（ステップＳ４４）。具体的には、取得元決定部２は、空き帯域をキャッシュデータのスループットの分だけ小さくする。
【０１１２】
一方、取得元決定部２は、空き帯域がサーバ間スループット以下である場合（ステップＳ４２のＮＯ）、キャッシュデータの取得元をサーバに決定する（ステップＳ４５）。
【０１１３】
このように取得元を決定することにより、取得元決定部２は、元ＡＰからキャッシュデータを取得するために使用する使用帯域を、空き帯域の範囲内とすることができる。これにより、元ＡＰからのキャッシュデータの取得時の遅延を抑制し、先ＡＰがキャッシュデータの取得に要する時間を短縮することができる。
【０１１４】
（第３実施形態）
第３実施形態に係る通信装置について、図１３を参照して説明する。以上の実施形態では、先ＡＰの取得元決定部２がキャッシュデータの取得元を決定する方法について説明した。本実施形態では、元ＡＰの取得元決定部２が、キャッシュデータの取得元を決定する方法について説明する。なお、本実施形態において、ＡＰの機能構成及びハードウェア構成は、第１実施形態と同様である。
【０１１５】
図１３は、本実施形態におけるハンドオーバ実行時のＡＰの動作の一例を示すフローチャートである。元ＡＰが端末からハンドオーバの開始要求を受信すると、ハンドオーバ処理が開始される。このハンドオーバ処理に伴い、以下のマイグレーション処理が開始される。
【０１１６】
マイグレーション処理が開始されると、まず、元ＡＰのキャッシュ情報通知部５は、記憶部４からキャッシュ情報リストを読み出し、読み出したキャッシュ情報リストを、元ＡＰの取得元決定部２に通知する（ステップＳ４６）。この際、元ＡＰのキャッシュ情報通知部５は、キャッシュ情報リスト全体を取得元決定部２に通知してもよいし、キャッシュ情報リストのうち、端末に関連する一部を選択的に取得元決定部２に通知してもよい。
【０１１７】
キャッシュ情報リストを通知されると、元ＡＰの取得元決定部２は、通知されたキャッシュ情報リストからキャッシュ情報を１つ選択する（ステップＳ４７）。取得元決定部２は、キャッシュ情報をランダムに選択してもよいし、キャッシュ情報リストに配列された順に選択してもよい。
【０１１８】
次に、取得元決定部２は、選択したキャッシュ情報に対応するキャッシュデータの取得元を、他の通信ノードの中から決定する（ステップＳ４８）。具体的には、取得元決定部２は、キャッシュデータを元ＡＰから取得するか、キャッシュデータを記憶しているサーバから取得するか、を決定する。この際、取得元決定部２は、キャッシュ情報に基づいて、キャッシュデータの取得時間が短くなるように取得元を決定する。すなわち、取得元決定部２は、キャッシュデータを高速で取得可能な通信ノード（元ＡＰ又はサーバ）を取得元として決定する。
【０１１９】
なお、取得元の決定方法は上述の通りである。ただし、本実施形態では、元ＡＰの取得元決定部２は、キャッシュ情報と、元ＡＰの記憶部４に記憶されている自装置の履歴情報と、に基づいて取得元を決定する。取得元決定部２は、第２実施形態で説明したように、空き帯域を利用して取得元を決定してもよい。
【０１２０】
取得元決定部２は、キャッシュデータの取得元を決定すると、取得元リストを更新する（ステップＳ４９）。取得元リストについては、上述の通りである。取得元決定部２は、１つのキャッシュデータの取得元を決定する度に、対応する取得元情報を取得元リストに追加し、取得元リストを更新する。
【０１２１】
取得元リストの更新後、取得元決定部２は、キャッシュ情報リストに対応する全キャッシュデータの取得元を決定したか判定する（ステップＳ５０）。取得元が未決定のキャッシュデータがある場合（ステップＳ５０のＮＯ）、取得元決定部２は、次のキャッシュ情報を選択する（ステップＳ４７）。一方、全キャッシュデータの取得元が決定した場合（ステップＳ５０のＹＥＳ）、取得元決定部２は、取得元リストを、開始要求で指定された先ＡＰのデータ取得部１に通知する（ステップＳ５１）。
【０１２２】
取得元リストを通知された先ＡＰのデータ取得部１は、通知された取得元リストに従ってデータ要求を送信し、各取得元から各キャッシュデータを取得する（ステップＳ５２）。各取得元からのキャッシュデータの取得方法は、上述の通りである。
【０１２３】
先ＡＰのデータ取得部１は、こうして取得したキャッシュデータを、それぞれ記憶部４に書き込む（ステップＳ５３）。これにより、元ＡＰのキャッシュ情報リストに対応するキャッシュデータが、先ＡＰの記憶部４にキャッシュされる。キャッシュデータの書込みが完了すると、先ＡＰの取得元決定部２は、記憶部４に記憶された自装置のキャッシュ情報リスト及び履歴情報を更新する（ステップＳ５４）。
【０１２４】
以上の処理により、元ＡＰのキャッシュデータを先ＡＰにマイグレーションすることができる。また、元ＡＰの取得元決定部２が各キャッシュデータの取得元を決定することができる。
【０１２５】
なお、本実施形態において、先ＡＰは、自装置がキャッシュ済みのキャッシュデータを、他の通信ノードから取得しなくてもよい。このような処理は、上述のステップＳ２と同様の方法で実現できる。
【０１２６】
また、先ＡＰのデータ取得部１がサーバからキャッシュデータを取得する際の実際のスループットが、キャッシュ情報のスループットより遅い場合には、データ取得部１は、取得元をサーバから元ＡＰに変更してもよい。
【０１２７】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１２８】
１：データ取得部、２：取得元決定部、３：キャッシュ送信部、４：記憶部、５：キャッシュ情報通知部、６：インタフェース部、１００：コンピュータ、１０１：プロセッサ、１０２：入力装置、１０３：表示装置、１０４：通信装置、１０５：記憶装置
【図１】
0006581528.tif 000002
【図２】
0006581528.tif 000003
【図３】
0006581528.tif 000004
【図４】
0006581528.tif 000005
【図５】
0006581528.tif 000006
【図６】
0006581528.tif 000007
【図７】
0006581528.tif 000008
【図８】
0006581528.tif 000009
【図９】
0006581528.tif 000010
【図１０】
0006581528.tif 000011
【図１１】
0006581528.tif 000012
【図１２】
0006581528.tif 000013
【図１３】
0006581528.tif 000014