(57)【要約】【課題】  無線ネットワークにおいてデータ配信を行う場合に、データ配信によるネットワーク帯域の消費を低減する。【解決手段】  移動端末１０４は、配信サーバ１０１とホームエージェント１０３との間のデータバッファリング装置１０２を検出し、バッファリングを要求する。要求を受けたデータバッファリング装置１０２は、配信サーバ１０１からデータを受信し、記憶装置１０５に格納後、格納したアドレスを付与したデータを直接移動端末１０４に送信する。移動端末１０４は、受信済みの記憶装置１０５のアドレスを管理する。移動端末１０４のＩＰアドレス更新時には、受信済みの記憶装置１０５のアドレスをデータバッファリング装置１０２に通知する。データバッファリング装置１０２は、そのアドレスより後のデータを再送信する。【選択図】      図１
2006121464.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータを相互に送受信するサーバおよび複数の端末と、
前記サーバおよび前記端末の間に配置され、１以上の自装置のネットワークアドレスおよび前記各端末のネットワークアドレスの対応関係を保持し、その対応関係に従って前記サーバおよび前記端末の間でデータを中継する中継装置と、
がネットワーク接続されて構成され、前記サーバが、前記端末へのデータを送信するとき、その端末に対応する中継装置のネットワークアドレスを転送先アドレスとして設定する通信方法を持つ無線ネットワークシステムにおいて、
更に、前記サーバおよび前記中継装置の間に配置され、前記中継装置を介することなく、前記サーバおよび前記端末の間におけるデータ転送を実現するデータバッファリング装置によるデータバッファリング方法であって、
前記サーバから前記端末へのデータを受信したとき、前記中継装置を介して、前記端末に対して前記サーバからのデータ受信を行う自装置の存在を通知する存在通知メッセージを送信するステップと、
前記存在通知メッセージを受信した端末から、前記中継装置を介して、データのバッファリングの開始を要求するバッファリング開始要求メッセージを受信したとき、自装置が備える記憶手段において、前記サーバからの前記端末へのデータをバッファリングするための記憶領域を確保するステップと、
受信した前記サーバからの前記端末へのデータを、前記確保した記憶領域に格納するステップと、
前記存在通知メッセージを受信した端末から、前記中継装置を介して、データの転送の開始を要求する転送開始要求メッセージを受信したとき、前記中継装置を介することなく、前記記憶領域に格納したデータを前記端末に送信するステップと、
を含むことを特徴とするデータバッファリング方法。
【請求項２】
前記記憶領域に格納したデータを前記端末に送信するステップにおいて、そのデータが格納された記憶領域のアドレス情報を前記データに追加して送信すると共に、
前記端末が保持しているネットワークアドレスが更新されたとき、前記端末から、前記中継装置を介して、更新後のネットワークアドレスおよび前記端末が受信済みであるデータが格納された記憶領域のアドレス情報を受信するステップと、
前記受信したアドレス情報に基づいて、前記端末が未受信であり、かつ、前記記憶領域に格納されているデータを、前記更新後のネットワークアドレスに従って前記端末に送信するステップと、
前記更新後のネットワークアドレスを受信した後は、前記サーバからの前記端末へのデータを、前記更新後のネットワークアドレスに従って前記端末に送信するステップと、
を更に含む
ことを特徴とする請求項１に記載のデータバッファリング方法。
【請求項３】
前記端末から、前記サーバへのデータおよび前記端末から前記データバッファリング装置にデータを送信するためのヘッダ情報を受信するステップと、
前記受信したデータおよびヘッダ情報からデータを抽出し、その抽出したデータを前記サーバに送信するステップと、
を更に含むことを特徴とする請求項１に記載のデータバッファリング方法。
【請求項４】
前記データおよび前記ヘッダ情報を受信するステップの前に、
前記端末から、前記中継装置を介して、前記サーバへのデータ送信を行うデータバッファリング装置の存在を通知することを要求する存在通知送信要求メッセージを受信するステップと、
前記受信した存在通知送信要求メッセージに対する応答として、前記中継装置を介して、前記端末に自装置の存在を通知する存在通知メッセージを送信するステップと、
を更に含むことを特徴とする請求項３に記載のデータバッファリング方法。
【請求項５】
所定のデータを相互に送受信するサーバおよび複数の端末と、
前記サーバおよび前記端末の間に配置され、１以上の自装置のネットワークアドレスおよび前記各端末のネットワークアドレスの対応関係を保持し、その対応関係に従って前記サーバおよび前記端末の間でデータを中継する中継装置と、
がネットワーク接続されて構成され、前記サーバが、前記端末へのデータを送信するとき、その端末に対応する中継装置のネットワークアドレスを転送先アドレスとして設定する通信方法を持つ無線ネットワークシステムにおいて、
更に、前記サーバおよび前記中継装置の間に配置され、前記中継装置を介することなく、前記サーバおよび前記端末の間におけるデータ転送を実現するデータバッファリング装置であって、
前記サーバから前記端末へのデータを受信したとき、前記中継装置を介して、前記端末に対して前記サーバからのデータ受信を行う自装置の存在を通知する存在通知メッセージを送信する手段と、
前記存在通知メッセージを受信した端末から、前記中継装置を介して、データのバッファリングの開始を要求するバッファリング開始要求メッセージを受信したとき、自装置が備える記憶手段において、前記サーバからの前記端末へのデータをバッファリングするための記憶領域を確保する手段と、
受信した前記サーバからの前記端末へのデータを、前記確保した記憶領域に格納する手段と、
前記存在通知メッセージを受信した端末から、前記中継装置を介して、データの転送の開始を要求する転送開始要求メッセージを受信したとき、前記中継装置を介することなく、前記記憶領域に格納したデータを前記端末に送信する手段と、
を備えることを特徴とするデータバッファリング装置。
【請求項６】
前記記憶領域に格納したデータを前記端末に送信する手段は、そのデータが格納された記憶領域のアドレス情報を前記データに追加して送信し、
前記データバッファリング装置は、
前記端末が保持しているネットワークアドレスが更新されたとき、前記端末から、前記中継装置を介して、更新後のネットワークアドレスおよび前記端末が受信済みであるデータが格納された記憶領域のアドレス情報を受信する手段と、
前記受信したアドレス情報に基づいて、前記端末が未受信であり、かつ、前記記憶領域に格納されているデータを、前記更新後のネットワークアドレスに従って前記端末に送信する手段と、
前記更新後のネットワークアドレスを受信した後は、前記サーバからの前記端末へのデータを、前記更新後のネットワークアドレスに従って前記端末に送信する手段と、
を更に備える
ことを特徴とする請求項５に記載のデータバッファリング装置。
【請求項７】
前記データバッファリング装置は、
前記端末から、前記サーバへのデータおよび前記端末から前記データバッファリング装置にデータを送信するためのヘッダ情報を受信する手段と、
前記受信したデータおよびヘッダ情報からデータを抽出し、その抽出したデータを前記サーバに送信する手段と、
を更に備えることを特徴とする請求項５に記載のデータバッファリング装置。
【請求項８】
前記データバッファリング装置は、
前記データおよび前記ヘッダ情報を受信する前に動作する、
前記端末から、前記中継装置を介して、前記サーバへのデータ送信を行うデータバッファリング装置の存在を通知することを要求する存在通知送信要求メッセージを受信する手段と、
前記受信した存在通知送信要求メッセージに対する応答として、前記中継装置を介して、前記端末に自装置の存在を通知する存在通知メッセージを送信する手段と、
を更に備えることを特徴とする請求項７に記載のデータバッファリング装置。
【請求項９】
コンピュータに請求項１ないし請求項４のいずれか一項に記載のデータバッファリング方法を実行させることを特徴とするデータバッファリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データバッファリング方法、その装置およびプログラムに係り、特に、無線ネットワークにおいて、固定ノードからの移動ノードへのコンテンツデータの配信品質を向上するデータバッファリング方法、その装置およびプログラムに関する。
【背景技術】
【０００２】
モバイルＩＰｖ４（Internet Protocol version 4）を利用した無線ネットワークにおいて、配信サーバ（またはプロキシサーバ）から、保持するＩＰ（Internet Protocol）アドレスが時々刻々変化する移動端末にコンテンツなどのデータを配信する際には、配信サーバは、まず、固定のＩＰアドレスを保持するホームエージェント宛にＩＰパケットを送信する。そして、ホームエージェントは、受信したＩＰパケットを移動端末に転送する。この転送を実現するために、ホームエージェントは、各移動端末に対応する自身のＩＰアドレスを持つ。すなわち、ホームエージェントは、ＩＰアドレスを複数持ち、そのＩＰアドレスと移動端末のＩＰアドレスとの対応関係を保持している。そして、移動端末は、現在保持しているＩＰアドレスを適宜ホームエージェントに通知する。このとき、ホームエージェントは、移動端末のＩＰアドレスが変わっていれば、前記対応関係のうち、移動端末のＩＰアドレスを更新する。ホームエージェントが前記対応関係に基づいてＩＰパケットを移動端末へ転送するため、移動端末が保持しているＩＰアドレスが変わっても、配信サーバは、それを意識する必要なく、固定のホームエージェントのＩＰアドレスを指定してＩＰパケットを送信すればよい。
【０００３】
逆に、移動端末から配信サーバ（またはプロキシサーバ）にデータを配信する際には、移動端末は、まず、自端末のＩＰアドレスを送信元アドレスに持つＩＰパケットをホームエージェント宛に送信する。そして、ホームエージェントは、受信したＩＰパケットの送信元アドレスにホームエージェントアドレスを設定する。その後、配信サーバ宛に当該ＩＰパケットを転送する。ホームエージェントがＩＰパケットの送信元アドレスをホームエージェントのＩＰアドレスに設定するため、配信サーバは、移動端末が保持しているＩＰアドレスが変わっても、常にホームエージェントからデータが到達していると認識することができる。また、ホームエージェントを送信元アドレスに持つＩＰパケットを移動端末から直接ではなく、ホームエージェントを経由して送信することにより、中途のルータにおけるingress-filtering（送信元ＩＰアドレスの不正チェック）に起因するＩＰパケットの破棄を防止できる。
【０００４】
ところが、モバイルＩＰｖ４では、直接ではなく一旦ホームエージェントを介した転送を行うので、配信サーバや移動端末から配信するデータ量が大きい場合、無駄なネットワーク帯域が消費されることになり、データ配信品質が劣化する問題（例えば、ホームエージェント付近におけるＩＰパケットの輻輳など）が発生する。そこで、この消費ネットワーク帯域を節約する方法が、非特許文献１に記載されている。非特許文献１に記載の方法では、配信サーバ（Correspondent Node）と移動端末（Mobile Node）に隣接して別の通信機器（Correspondent Agent、Foreign Agent）を配置する。
【０００５】
Correspondent Agentは、ホームエージェントに代わり、ホームエージェントと移動端末のＩＰアドレスの組合せからなるBinding Cacheを管理する。更に、配信サーバが送信するすべてのＩＰパケット、および配信サーバに到達するすべてのＩＰパケットを横取りする。ここで、配信サーバから送信されたＩＰパケットの宛先アドレスがBinding CacheのホームエージェントのＩＰアドレスとして登録されていなかったら、Correspondent Agentは、ＩＰパケットの宛先に向かってＩＰパケットの転送を行う。すなわち、Binding Cacheに未登録のホームエージェントを宛先とするＩＰパケットは、ホームエージェントに到達する。ホームエージェントは、ＩＰパケットを受信すると、ホームエージェントと移動端末が保持しているＩＰアドレスの情報を含むBinding Update要求をCorrespondent Agentに送信する。Correspondent Agentは、その要求受信を契機に、ホームエージェントと移動端末が保持しているＩＰアドレスの組合せからなる新しいBinding Cacheのエントリを作成する。また、ホームエージェントは、移動端末からＩＰアドレスの更新を通知された場合にも、Binding Update要求をCorrespondent Agentに送信し、Correspondent AgentにBinding Cacheエントリの更新を要求する。
【０００６】
Correspondent Agentが横取りしたＩＰパケットの宛先アドレスがBinding CacheエントリのホームエージェントのＩＰアドレスとして登録されていた場合、Correspondent Agentは、ＩＰパケットをホームエージェントに転送しない。代わりに、Binding Cacheエントリにおいてホームエージェントに対応する移動端末のＩＰアドレス宛のＩＰパケット（送信元アドレスが配信サーバのＩＰアドレス）としてカプセル化し、移動端末宛に転送する。カプセル化されたパケットは、移動端末に到達する前に、Foreign Agent においてデカプセル化されて、元のＩＰパケットが復元される。このように、Correspondent Agentが配信サーバからのＩＰパケットを移動端末に直接転送することにより、配信サーバからのホームエージェントへの転送のために要するネットワーク帯域の節約を実現している。
【０００７】
Foreign Agentは、配信サーバのＩＰアドレス情報を含むTunneling Cacheを管理する。更に、移動端末が送信するすべてのＩＰパケット、および移動端末に到達するすべてのＩＰパケットを横取りする。ここで、横取りしたＩＰパケットが移動端末を宛先に持つカプセル化されたＩＰパケットであれば、送信元ＩＰアドレス（配信サーバのＩＰアドレス）がTunneling Cacheに登録されているか否かをチェックし、登録されていなければ、送信元ＩＰアドレスの情報を含む新たなTunneling Cacheのエントリを作成する。更に、そのＩＰパケットのデカプセル化を行って元のＩＰパケットを復元し、復元したＩＰパケットを移動端末に転送する。
【０００８】
また、横取りしたＩＰパケットが移動端末から送信されたＩＰパケットである場合、ＩＰパケットの宛先アドレスが配信サーバのＩＰアドレスとして登録されているエントリがTunneling Cacheに存在するか否かをチェックする。存在しない場合、従来通り、ＩＰパケットをホームエージェントに転送する。しかし、存在する場合、Foreign Agentは、ＩＰパケットをホームエージェントに転送しない。代わりに、配信サーバのＩＰアドレスを宛先として持つＩＰパケット（送信元アドレスが移動端末のＩＰアドレス）にＩＰパケットをカプセル化した後、配信サーバ宛に転送する。ＩＰパケットは、配信サーバ到達前にCorrespondent Agentによって横取りされ、デカプセル化が行われる。デカプセル化により元のＩＰパケットが復元され、配信サーバには復元されたＩＰパケットが到達する。このように、移動端末からのＩＰパケットをForeign Agentが配信サーバに直接転送することにより、移動端末からのホームエージェントへの転送のために要するネットワーク帯域の節約を実現している。
【非特許文献１】Chun-Hsin Wu, et al., "Bi-directional Route Optimization in Mobile IP over Wireless LAN", Proceedings of 56th IEEE Semiannual Vehicular Technology Conference, p.1168-1172, 2002
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前記方法では、Correspondent Agentが配信サーバから送信される全パケット、および配信サーバに到達する全パケットを横取りすることを仮定している。そのため、Corresponding Agentは、配信サーバに隣接した場所、具体的には、配信サーバが属するローカルエリアネットワーク内にしか配置することができない。この結果、前記方法をインターネット上のあらゆる配信サーバにおいて実現するためには、インターネット上で配信サービスを提供している全配信サーバについて、その配信サーバ保持者が当該配信サーバ専用のCorresponding Agentを準備する必要があり、大きな設備コストがかかる。
【００１０】
また、前記方法は、配信サーバから移動端末へのデータの直接送信を、配信サーバに隣接しているCorresponding AgentがＩＰパケットをカプセル化することにより実現している。すなわち、配信サーバから送信されるＩＰパケットの送信先アドレスとして、ホームエージェント以外のＩＰアドレスが設定される。そのため、配信サーバ（およびそれに隣接するCorrespondent Agent）とForeign Agentとの間にて、配信サーバを保持している業者が保持するファイアウォールやＶＰＮ（Virtual Private Network、仮想私設網）ゲートウェイが存在した場合、これらが正常に動作しなくなる。例えば、配信サーバから配信されるＩＰパケットに関しては、ホームエージェント宛のＩＰパケット以外をすべて棄却するファイアウォールが存在したとする。この場合、カプセル化が行われると、配信サーバから送信されるＩＰパケットは、ホームエージェント以外のＩＰアドレスを送信先アドレスとして持つため、すべて棄却されてしまう。また、移動端末との間にてＶＰＮを形成しているＶＰＮゲートウェイが存在したとする。この場合、ＶＰＮゲートウェイは、ホームエージェント宛のＩＰパケットを検出し、そのＩＰパケットを暗号化する必要がある。しかし、やはりカプセル化が行われると、配信サーバから送信されるＩＰパケットは、ホームエージェント以外のＩＰアドレスを送信先アドレスとして持つため、暗号化が行われなくなる。
【００１１】
更に、前記方法では、移動端末のＩＰアドレスが更新された時には、移動端末からホームエージェントにＩＰアドレスの更新を通知後、ホームエージェントがCorrespondent AgentにBinding Update要求を送信する。このBinding Update要求が到達するまで、Corresponding Agentは、カプセル化されたパケットを、移動端末が以前保持していたＩＰアドレスに送信し続ける。すなわち、移動端末のＩＰアドレス更新発生時には、ＩＰアドレスが更新されてからBinding Update要求がCorresponding Agentに到達するまでの間に、配信サーバが送信したＩＰパケットは、すべて移動端末に到達せずに破棄されることになり、データ配信品質の劣化を招く。
【００１２】
そこで、本発明は、前記問題に鑑み、無線ネットワークにおいてデータ配信を行う場合に、データ配信によるネットワーク帯域の消費を低減することを課題とする。
【課題を解決するための手段】
【００１３】
前記課題を解決する本発明においては、サーバ（配信サーバ）および中継装置（ホームエージェント）の間にデータバッファリング装置を配置する。このデータバッファリング装置は、特定のサーバ専用ではなく、いかなるサーバのデータ（ＩＰパケット）もバッファリング可能である。また、データバッファリング装置は、ネットワーク上の任意の位置に配置することができる。
【００１４】
データバッファリング装置は、サーバからデータを受信したとき、そのデータの転送先アドレスとして設定されている中継装置に向かって存在通知メッセージを送信する。この存在通知メッセージには、データバッファリング装置のネットワークアドレスが含まれる。中継装置は、受信した存在通知メッセージを端末（移動端末）に転送する。端末は、存在通知メッセージの受信により、転送先アドレスとして中継装置が設定されたデータをバッファリング可能なデータバッファリング装置の存在を認識し、そのデータバッファリング装置に対してバッファリング開始要求メッセージを発行する。バッファリング開始要求メッセージを受信したデータバッファリング装置は、その端末向けの記憶領域をデータバッファリング装置が備える記憶手段内に確保する。更に、端末は、現在保持しているネットワークアドレスを含む転送開始要求メッセージをデータバッファリング装置に発行する。データバッファリング装置は、これ以降、転送先アドレスとして当該中継装置が設定されたすべてのデータを横取りする。そして、そのデータを中継装置に転送する代わりに、確保した記憶領域に格納する。更に、そのデータが格納されている記憶領域のアドレス情報をデータに付与して、端末に直接（中継装置を経由せずに）送信する。
【００１５】
端末は、アドレス情報を含むデータを受信することで、そのデータバッファリング装置の記憶装置内の、どのアドレス情報に格納されているデータまで自端末が受信したかを認識できる。更に、端末は、自端末が保持しているネットワークアドレスが更新されたとき、更新後のネットワーク情報を含む転送開始要求メッセージを再びデータバッファリング装置に送信する。この転送開始要求メッセージには、記憶領域のアドレス情報を含めることができ、そのアドレス情報以降に存在するデータで、現在までに記憶領域に格納された全データの再配送をデータバッファリング装置に併せて要求することができる。
【００１６】
本発明によれば、まず、データバッファリング装置は、サーバに隣接している必要がない。データバッファリング装置は、サーバが送信するすべてのデータを横取りする必要はなく、所定のサーバが送信する、転送先アドレスとして当該中継装置が設定されたデータを横取りすればよい。また、端末への転送開始要求メッセージも、サーバではなく、データバッファリング装置を転送先アドレスに設定して送信すればよい。そのため、データバッファリング装置は、サーバおよび中継装置の間に存在する任意のネットワーク上に配置することができる。
また、本発明によれば、たとえ端末が保持しているネットワークアドレスが更新されても、記憶装置内のアドレス情報を含む転送開始要求メッセージを発行することにより、データの再送信をデータバッファリング装置に要求することができる。
【発明の効果】
【００１７】
本発明により、無線ネットワークにおいてデータ配信を行う場合に、ネットワーク上の任意の位置に配置可能なネットワーク設備（データバッファリング装置）を用いて、ネットワーク帯域の消費を低減することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１９】
≪システムの構成と概要≫
図１および図２は、本発明の実施の形態に係る無線ネットワークシステムの構成および概要を示す。各図に示すように、無線ネットワークシステムは、配信サーバ装置１０１（以下および図面において、配信サーバ１０１）、データバッファリング装置１０２、ホームエージェント装置１０３（以下および図面において、ホームエージェント１０３）および移動端末１０４を含んで構成される。また、データバッファリング装置１０２には、記憶装置１０５が内蔵または外部接続される。
配信サーバ１０１、データバッファリング装置１０２およびホームエージェント１０３は、有線ネットワークを介して接続される。データバッファリング装置１０２と移動端末１０４との間、および、ホームエージェント１０３と移動端末１０４との間は、それぞれ無線ネットワークを介して接続される。
【００２０】
配信サーバ１０１は、各移動端末１０４にコンテンツなどのデータを配信するサーバであり、例えば、ＰＣ（Personal Computer）サーバなどによって実現される。配信サーバ１０１は、インターネットへのアクセスを中継するプロキシサーバであってもよく、また、移動端末１０４からデータを受信することもある。移動端末１０４は、配信サーバ１０１からコンテンツなどのデータを受信して、ユーザに対して表示する無線端末であり、例えば、携帯電話やノートＰＣなどによって実現される。移動端末１０４は、配信サーバ１０１に対してデータを送信することもある。ホームエージェント１０３は、配信サーバ１０１と各移動端末１０４との間に配置され、時々刻々変化する移動端末１０４のＩＰアドレスを吸収し、配信サーバ１０１に対しては移動端末１０４固有の固定アドレスを示すことによって、配信サーバ１０１・各移動端末１０４間でＩＰパケットを中継する中継装置である。このため、ホームエージェント１０３は、ホームエージェントアドレスおよび移動端末アドレスの対応関係を管理するバインディング管理テーブル７０１（図７参照）を保持する（詳細は後記）。更に、データバッファリング装置１０２は、配信サーバ１０１・ホームエージェント１０３間の経路上に配置され、配信サーバ１０１・各移動端末１０４間におけるＩＰパケットの転送を、ホームエージェント１０３の介在なしに実現するネットワーク装置である。データバッファリング装置１０２は、中継するＩＰパケットを記憶装置１０５に一旦格納する。
【００２１】
ここで、図１および図２には、配信サーバ１０１、データバッファリング装置１０２、ホームエージェント１０３および移動端末１０４が１台ずつ示されているが、実際には、それぞれの種類のノード（ネットワーク装置）が複数存在するものとする。特に、データバッファリング装置１０２は、配信サーバ１０１・ホームエージェント１０３間の経路上に多数配置されることが望ましい。なお、配信サーバ１０１が送信したＩＰパケットを、データバッファリング装置１０２が受信した場合には、本発明の実施の形態に係るデータバッファリング方法が行われることになるが、そのＩＰパケットを、ホームエージェント１０３が受信した場合には、ホームエージェント１０３を介した従来のデータ転送が行われる。
【００２２】
図１は、配信サーバから移動端末にＩＰパケット（各種要求や通知などのメッセージを含む。以下、同様。）を送信する場合における無線ネットワークシステムの構成および動作手順の概要を示す。図１の無線ネットワークシステムでは、配信サーバ１０１からの移動端末１０４へのＩＰパケット配信を、データバッファリング装置１０２を用いて最適化している。移動端末１０４は、データバッファリング装置１０２との間の各種要求や通知を転送してもらうために、ホームエージェント１０３に対してバインディング開始／停止要求を送信する。このバインディング開始／停止要求により、ホームエージェント１０３は、現在移動端末１０４が保持しているＩＰアドレスを認識し、各種通知や要求の転送を実現する。
【００２３】
データバッファリング装置１０２は、配信サーバ１０１からＩＰパケットを受信すると、配信サーバ１０１およびデータバッファリング装置１０２のＩＰアドレスを含む、自装置の存在通知をホームエージェント１０３宛に送信する。この存在通知は、ホームエージェント１０３を経由して、移動端末１０４に到達する。移動端末１０４は、存在通知の受信により、配信サーバ１０１からのホームエージェント１０３宛のＩＰパケットをバッファリング可能なデータバッファリング装置１０２の存在を検出し、そのデータバッファリング装置１０２に対してホームエージェント１０３経由でバッファリング開始要求を発行する。データバッファリング装置１０２は、バッファリング開始要求を受信したとき、その要求元である移動端末１０４向けの記憶領域を自装置が備える記憶装置１０５内に確保する。更に、移動端末１０４は、現在保持しているＩＰアドレス情報を含む転送開始要求をデータバッファリング装置１０２に発行する。
【００２４】
これ以降、データバッファリング装置１０２は、確保した記憶領域に対応する、配信サーバ１０１からのホームエージェント１０３へのすべてのＩＰパケットを横取りする。そして、そのＩＰパケットをホームエージェント１０３に転送する代わりに、記憶装置１０５内に確保した記憶領域に格納する。更に、そのＩＰパケットが格納されている記憶領域のアドレス情報をそのＩＰパケットに付与して、移動端末１０４に直接（ホームエージェント１０３を経由せずに）送信する。この結果、データ配信の際に消費するネットワーク帯域を低減できる。
【００２５】
移動端末１０４は、記憶領域のアドレス情報を含むＩＰパケットを受信することで、データバッファリング装置１０２の記憶装置１０５内の、どのアドレス情報に格納されているＩＰパケットまでを自端末が受信したかを認識できる。移動端末１０４は、自端末が保持しているＩＰアドレスが更新された場合、更新後のＩＰアドレス情報を含む転送開始要求を再びデータバッファリング装置１０２に送信する。この転送開始要求にはデータバッファリング装置１０２の記憶装置１０５内のアドレス情報を含めることができ、そのアドレス情報以降に存在するＩＰパケットで、現在までに記憶装置１０５内に格納された全データを再配送することをデータバッファリング装置１０２に併せて要求できる。これによれば、移動端末１０４は、たとえ保持しているＩＰアドレスを更新しても、配信サーバ１０１からのＩＰパケットを欠落なく受信することができる。
また、移動端末１０４がシャットダウンする際には、移動端末１０４は、転送停止要求およびバッファリング停止要求をホームエージェント１０３経由でデータバッファリング装置１０２に対して送信し、転送処理の停止や、記憶装置１０５に確保した記憶領域の解放をデータバッファリング装置１０２に対して要求する。
【００２６】
図２は、移動端末から配信サーバにＩＰパケットを送信する場合における無線ネットワークシステムの構成および動作手順の概要を示す。図２の無線ネットワークシステムでは、移動端末１０４からの配信サーバ１０１へのＩＰパケット配信を、データバッファリング装置１０２を用いて最適化している。図１の説明で述べた通り、移動端末１０４は、ホームエージェント１０３にバインディング開始／停止要求を送信することにより、移動端末１０４とデータバッファリング装置１０２との間の各種通知や要求の送受信を実現している。
【００２７】
移動端末１０４は、配信サーバ１０１へのＩＰパケット送信の最適化のために利用できるデータバッファリング装置１０２の存在を検出するために、存在通知送信要求をホームエージェント１０３経由で送信する。この存在通知送信要求は、データバッファリング装置１０２が受信することを想定している。データバッファリング装置１０２は、その存在通知送信要求を受信したとき、その要求を配信サーバ１０１に転送する代わりに、ホームエージェント１０３を経由して移動端末１０４に向かって存在通知を送信する。その存在通知には、データバッファリング装置１０２のＩＰアドレス情報が格納されているため、移動端末１０４は、データバッファリング装置１０２を一意に識別可能になる。なお、配信サーバ１０１やその他のノードが、存在通知送信要求を受信したときには、処理できないメッセージであると判断してその要求を破棄する。
【００２８】
これ以降、移動端末１０４は、配信サーバ１０１にＩＰパケットを送信する際には、ホームエージェント１０３にはＩＰパケットを送信しない。その代わりに、データバッファリング装置１０２にカプセル化したＩＰパケットを送信する。そして、データバッファリング装置１０２は、受信したＩＰパケットをデカプセル化することによって元のＩＰパケット（送信元アドレスがホームエージェント１０３のＩＰアドレス）を復元し、配信サーバ１０１に転送する。データバッファリング装置１０２と配信サーバ１０１との間の経路は、ホームエージェント１０３からの配信サーバ１０１への経路の一部であるため、復元したＩＰパケットがingress-filtering（転送元アドレスの不正チェック）により破棄される可能性はない。また、ホームエージェント１０３を介さないＩＰパケット送信により、消費ネットワーク帯域を低減することができる。
【００２９】
図３は、本発明の実施の形態に係るデータバッファリング装置のハードウェア構成を示す図である。データバッファリング装置１０２は、ＣＰＵ３０１、メモリコントローラ３０２、メモリ３０３、記憶装置コントローラ３０４、記憶装置１０５およびネットワークコントローラ３０５を含んで構成される。
【００３０】
ＣＰＵ３０１およびメモリ３０３は、メモリコントローラ３０２を介して接続されている。データバッファリング装置１０２の動作を制御するプログラム（データバッファリングプログラムを含む）は、メモリ３０３に格納されている。ＣＰＵ３０１は、そのプログラムをメモリ３０３からメモリコントローラ３０２を介して読み出しながら実行する。また、ＣＰＵ３０１および記憶装置１０５は、記憶装置コントローラ３０４を介して接続されている。記憶装置コントローラ３０４を制御するプログラムにより、メモリ３０３上に存在するデータを記憶装置１０５に転送することや、記憶装置１０５に存在するデータをメモリ３０３に転送することができる。また、ＣＰＵ３０１は、ネットワークコントローラ３０５を介して外部ネットワーク３０６に接続されている。ネットワークコントローラ３０５を制御するプログラムにより、メモリ３０３上に存在するデータを外部ネットワーク３０６に転送することや、外部ネットワーク３０６経由で受信したデータをメモリ３０３に転送することができる。データバッファリング装置１０２は、前記ハードウェアを用いて、各種通知、要求などのメッセージを外部ネットワーク３０６経由で送受信すること、外部ネットワーク３０６から受信したデータを記憶装置１０５に格納すること、記憶装置１０５から読み出したデータを外部ネットワーク３０６に送信することが可能になる。
【００３１】
≪メッセージの構成≫
図４は、データバッファリング装置と移動端末との間で送受信される各種通知や要求（メッセージ）のフォーマットを示す図である。そのフォーマットの基本的な構成は、データバッファリング装置１０２から見た場合の、送信元アドレス、送信先アドレス、メッセージの種類を示すコードおよびそのコードに対応して設定されるデータからなる。また、ホームエージェントアドレスは、各移動端末１０４に対応した固定のアドレスである。換言すれば、ホームエージェントアドレスによって、移動端末１０４を特定することができる。
【００３２】
存在通知４０１は、バッファリング装置アドレス（データバッファリング装置１０２のＩＰアドレス）、ホームエージェントアドレス（ホームエージェント１０３のＩＰアドレス）、存在通知コード（メッセージが存在通知であることを示すコード）および配信サーバアドレス（配信サーバ１０１のＩＰアドレス）を含んで構成される。
存在通知送信要求４０２は、ホームエージェントアドレス、配信サーバアドレスおよび送信要求コード（メッセージが存在通知送信要求であることを示すコード）を含んで構成される。
【００３３】
バッファリング開始要求４０３は、ホームエージェントアドレス、バッファリング装置アドレス、開始要求コード（メッセージがバッファリング開始要求であることを示すコード）、配信サーバアドレスおよびバッファリング容量（記憶装置１０５の要求割り当て容量）を含んで構成される。
バッファリング停止要求４０４は、ホームエージェントアドレス、バッファリング装置アドレス、停止要求コード（メッセージがバッファリング停止要求であることを示すコード）および配信サーバアドレスを含んで構成される。
【００３４】
転送開始要求４０５は、ホームエージェントアドレス、バッファリング装置アドレス、転送開始コード（メッセージが転送開始要求であることを示すコード）、配信サーバアドレス、移動端末アドレス（転送先となる移動端末１０４のＩＰアドレス）および転送開始アドレス情報（記憶装置１０５内の当該アドレスに格納されているＩＰパケットより後に到達したＩＰパケットの再送信を要求する）を含んで構成される。
転送停止要求４０６は、ホームエージェントアドレス、バッファリング装置アドレス、転送停止コード（メッセージが転送停止要求であることを示すコード）、配信サーバアドレスおよび移動端末アドレス（現在の移動端末１０４のＩＰアドレス）を含んで構成される。
【００３５】
図５は、ホームエージェントと移動端末との間で送受信される各種要求（メッセージ）のフォーマットを示す図である。
バインディング開始要求５０１は、移動端末アドレス（移動端末１０４の現在保持しているＩＰアドレス）、ホームエージェントアドレス（ホームエージェント１０３のＩＰアドレス）および旧移動端末アドレス（移動端末１０４が以前保持していたＩＰアドレス）を含んで構成される。
バインディング停止要求５０２は、移動端末アドレス（移動端末１０４の現在保持しているＩＰアドレス）およびホームエージェントアドレス（ホームエージェント１０３のＩＰアドレス）を含んで構成される。
【００３６】
≪テーブルのデータ構造≫
図６は、データバッファリング装置が保持する記憶装置管理テーブルのデータ構造を示す図である。
記憶装置管理テーブル６０１は、配信サーバアドレス、ホームエージェントアドレス、移動端末アドレス、記憶装置割り当て領域先頭アドレス、記憶装置割り当て領域サイズおよび書き込み位置を含んで構成される。
各エントリは、配信サーバ１０１からのホームエージェント１０３宛のＩＰパケットが、配信サーバ１０１およびホームエージェント１０３の組合せに対応して登録されている移動端末１０４のＩＰアドレス宛に送信されることを意味する。また、記憶装置割り当て領域先頭アドレス、記憶装置割り当て領域サイズで指定される記憶装置１０５内部の記憶領域に格納されることも意味する。書き込み位置は、現在記憶装置１０５内のどの位置まで書き込みが完了したかを管理している。
【００３７】
図７は、ホームエージェントが保持するバインディング管理テーブルのデータ構造を示す図である。バインディング管理テーブル７０１は、ホームエージェントアドレスおよび移動端末アドレスを含んで構成され、ホームエージェント１０３のＩＰアドレスと、現在移動端末１０４が保持しているＩＰアドレスとの対応関係を管理する。ここで、ホームエージェント１０３は、物理的には１つの装置であるが、複数のＩＰアドレスを持つ。そして、それらの各ＩＰアドレスは、移動端末１０４のＩＰアドレスに一意に対応する。その対応関係を保持するのが、バインディング管理テーブル７０１である。なお、バインディング管理テーブル７０１においては、そのときホームエージェント１０３が確保しているＩＰアドレスがホームエージェントアドレスフィールドに設定されるが、それに対応する移動端末アドレスが設定されていないときには、移動端末アドレスフィールドに無効状態を示すＮＵＬＬが設定される。
【００３８】
図８は、移動端末が保持する受信管理テーブルのデータ構造を示す図である。受信管理テーブル８０１は、配信サーバアドレス、送信データバッファリング装置アドレス、受信データバッファリング装置アドレスおよび受信済みアドレス情報の各フィールドを含んで構成される。
各エントリは、移動端末１０４が配信サーバ１０１と通信する際には、送信データバッファリング装置アドレス、受信データバッファリング装置アドレスの各フィールドで指定されるデータバッファリング装置１０２を利用していることを意味する。また、受信済みアドレス情報フィールドにより、配信サーバ１０１から受信した最後のＩＰパケットが、データバッファリング装置１０２が保持する記憶装置１０５内のどのアドレスに格納されているかを管理している。
【００３９】
≪システムの動作≫
図９ないし図２４のフローチャートを参照しながら、本発明の実施の形態に係る無線ネットワークシステムの動作について説明する（適宜図１ないし図８参照）。以下、ホームエージェント１０３、データバッファリング装置１０２および移動端末１０４の順序に従って、それぞれの動作を説明する。
【００４０】
<ホームエージェントの動作>
図９ないし図１２は、本発明の実施の形態に係るホームエージェントの動作手順を示すフローチャートである。ホームエージェント１０３は、データバッファリング装置１０２からＩＰパケットを受信した場合、移動端末１０４からＩＰパケットを受信した場合、移動端末１０４からバインディング開始／停止要求を受信した場合に動作を開始する。以下では、それぞれの場合におけるホームエージェント１０３の動作手順を示す。
【００４１】
図９は、データバッファリング装置からＩＰパケットを受信した場合におけるホームエージェントの動作手順を示すフローチャートである。まず、ホームエージェント１０３は、データバッファリング装置１０２からＩＰパケットを受信する（ステップＳ９０１）。そして、受信したＩＰパケット内のホームエージェントアドレスを条件にしてバインディング管理テーブル７０１を検索することによって、そのホームエージェントアドレスに対応する移動端末アドレスを取得し、その取得した移動端末アドレス（ＩＰアドレス）に対して、受信したＩＰパケットを転送する（ステップＳ９０２）。
【００４２】
図１０は、移動端末からＩＰパケットを受信した場合におけるホームエージェントの動作手順を示すフローチャートである。まず、ホームエージェント１０３は、移動端末１０４からＩＰパケットを受信する（ステップＳ１００１）。次に、受信したＩＰパケットの送信元アドレスに、ホームエージェント１０３が保有するＩＰアドレスを設定する（ステップＳ１００２）。このとき、バインディング管理テーブル７０１を参照することによって、受信したＩＰパケットの送信元アドレスである移動端末アドレスに対応するホームエージェントアドレスを取得し、その取得したホームエージェントアドレスをＩＰパケットの新たな送信元アドレスとする。そして、ホームエージェント１０３は、そのＩＰパケットを送信先ＩＰアドレス宛に送信する（ステップＳ１００３）。
【００４３】
図１１は、移動端末からバインディング開始要求を受信した場合におけるホームエージェントの動作手順を示すフローチャートである。まず、ホームエージェント１０３は、移動端末１０４からバインディング開始要求５０１を受信する（ステップＳ１１０１）。そして、バインディング管理テーブル７０１の移動端末アドレスフィールドが、バインディング開始要求５０１の旧移動端末アドレスフィールドの値と一致するか否かを検索した後、一致すれば、バインディング開始要求５０１の移動端末アドレスフィールドの値を、バインディング管理テーブル７０１の移動端末アドレスフィールドに設定する（ステップＳ１１０２）。
【００４４】
図１２は、移動端末からバインディング停止要求を受信した場合におけるホームエージェントの動作手順を示すフローチャートである。まず、ホームエージェント１０３は、移動端末１０４からバインディング停止要求５０２を受信する（ステップＳ１２０１）。そして、バインディング管理テーブル７０１において、バインディング停止要求５０２内の移動端末アドレスの値を持つ移動端末アドレスフィールドを無効化する（ステップＳ１２０２）。具体的には、そのフィールドに無効状態を示すＮＵＬＬを設定する。
【００４５】
<データバッファリング装置の動作>
図１３ないし図１９は、本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。データバッファリング装置１０２は、移動端末１０４からホームエージェント１０３を介して、バッファリング開始／停止要求を受信した場合、転送開始／停止要求を受信した場合、存在通知送信要求を受信した場合、および、配信サーバ１０１または移動端末１０４からＩＰパケットを受信した場合に動作を開始する。以下、それぞれの場合におけるデータバッファリング装置１０２の動作手順について説明する。
【００４６】
図１３は、データバッファリング装置がバッファリング開始要求を受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、移動端末１０４からホームエージェント１０３経由でバッファリング開始要求４０３を受信する（ステップＳ１３０１）。次に、バッファリング開始要求４０３のバッファリング容量フィールドで指定された容量分の記憶領域（記憶装置割り当て領域）を記憶装置１０５内に確保する（ステップＳ１３０２）。そして、記憶装置管理テーブル６０１の初期化を行う（ステップＳ１３０３）。具体的には、配信サーバアドレスフィールドおよびホームエージェントアドレスフィールドに対して、バッファリング開始要求４０３に格納されている配信サーバアドレスおよびホームエージェントアドレスを設定する。移動端末アドレスフィールドは初期化しない。記憶装置割り当て領域先頭アドレスフィールドには、先に確保した記憶装置割り当て領域の先頭アドレスの値を設定する。記憶領域割り当てサイズフィールドには、バッファリング開始要求４０３のバッファリング容量の値を設定する。書き込み位置フィールドには、記憶装置割り当て領域先頭アドレスフィールドと同じ値を設定する。
【００４７】
図１４は、データバッファリング装置がバッファリング停止要求を受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、移動端末１０４からホームエージェント１０３経由でバッファリング停止要求４０４を受信する（ステップＳ１４０１）。次に、データバッファリング装置１０２は、バッファリング停止要求４０４で指定された配信サーバおよびホームエージェント向けに確保していた記憶装置割り当て領域を解放する（ステップＳ１４０２）。そして、記憶装置管理テーブル６０１において、バッファリング停止要求４０４で指定された配信サーバアドレスおよびホームエージェントアドレス向けの記憶装置管理テーブル６０１のエントリを削除する（ステップＳ１４０３）。
【００４８】
図１５は、データバッファリング装置が転送開始要求を受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、移動端末１０４からホームエージェント１０３経由で転送開始要求４０５を受信する（ステップＳ１５０１）。次に、記憶装置管理テーブル６０１において、転送開始要求４０５で指定された配信サーバアドレスおよびホームエージェントアドレス向けのエントリを検索する。そして、一致したエントリの移動端末アドレスフィールドの値を、転送開始要求４０５に含まれる移動端末アドレスフィールドの値に更新する（ステップＳ１５０２）。これは、時々刻々変化する移動端末１０４のＩＰアドレスに対応するために、最新のＩＰアドレスに更新するものである。続いて、転送開始要求４０５で指定された転送開始アドレス情報の次のアドレスから、検索した記憶装置管理テーブル６０１内のエントリの書き込み位置フィールドで指定されるアドレスまでの記憶領域に格納されているデータからＩＰパケットを生成する。具体的には、各データ（配信サーバ１０１から受信したＩＰパケット）に、記憶装置１０５のアドレス情報とＩＰヘッダ（データバッファリング装置１０２が送信元アドレス、移動端末１０４が送信先アドレス）を追加する。そして、生成したＩＰパケットを移動端末１０４宛に送信する（ステップＳ１５０３）。
【００４９】
図１６は、データバッファリング装置が転送停止要求を受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、移動端末１０４からホームエージェント１０３経由で転送停止要求４０６を受信する（ステップＳ１６０１）。そして、転送停止要求４０６のホームエージェントアドレスおよび配信サーバアドレスを条件にして記憶装置管理テーブル６０１のエントリを検索し、一致したエントリの移動端末アドレスフィールドの値を無効化する（ステップＳ１６０２）。フィールドの値を無効化するには、例えば、そのフィールドにＮＵＬＬを設定する。
【００５０】
図１７は、データバッファリング装置が存在通知送信要求を受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、移動端末１０４からホームエージェント１０３経由で存在通知送信要求４０２を受信する（ステップＳ１７０１）。そして、自装置の存在を通知するために、存在通知送信要求４０２に格納されているホームエージェントアドレス宛に存在通知４０１を送信する（ステップＳ１７０２）。存在通知４０１に設定するホームエージェントアドレスフィールドおよび配信サーバアドレスフィールドの値は、受信した存在通知送信要求４０２からコピーする。バッファリング装置アドレスフィールドには、自装置のＩＰアドレスの値を設定する。存在通知コードフィールドには、そのメッセージが存在通知であることを示すコードの値を設定する。
【００５１】
図１８は、データバッファリング装置が配信サーバからＩＰパケットを受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、配信サーバ１０１からＩＰパケットを受信する（ステップＳ１８０１）。次に、受信したＩＰパケットの送信元アドレスが配信サーバアドレスフィールドに設定され、その送信先アドレスがホームエージェントアドレスフィールドに設定されたエントリが記憶装置管理テーブル６０１に登録済みか否かを検索し、チェックする（ステップＳ１８０２）。
【００５２】
登録済みでなければ（ステップＳ１８０２のＮＯ）、データバッファリング装置１０２は、存在通知４０１をＩＰパケットの送信先アドレス（すなわち、ホームエージェント１０３）に送信する（ステップＳ１８０３）。その存在通知４０１は、ホームエージェント１０３を経由して移動端末１０４まで到達する。存在通知４０１のバッファリング装置アドレスフィールドには、自装置のＩＰアドレスを設定する。ホームエージェントアドレスフィールドには、受信したＩＰパケットの送信先アドレスを設定する。存在通知コードフィールドには、そのメッセージが存在通知であることを示すコードの値を設定する。配信サーバアドレスフィールドには、受信したＩＰパケットの送信元アドレスを設定する。そして、受信したＩＰパケットを送信先アドレス（すなわち、ホームエージェント１０３）に送信する（ステップＳ１８０４）。ここでは、存在通知４０１の送信（ステップＳ１８０３）に対する移動端末１０４からの応答（バッファリング開始要求や転送開始要求）をまだ受信していないので、ＩＰパケットをホームエージェント１０３に送信することになる。
【００５３】
ステップＳ１８０２で登録済みであれば（ステップＳ１８０２のＹＥＳ）、データバッファリング装置１０２は、受信したＩＰパケットを記憶装置１０５に書き込む（ステップＳ１８０５）。書き込むべき記憶装置１０５内の記憶領域の先頭アドレスは、ステップＳ１８０２で検索した記憶装置管理テーブル６０１のエントリの書き込み位置フィールドの値に従って決定する。その後、記憶装置管理テーブル６０１の書き込み位置フィールドの値を、書き込んだデータサイズ分だけ更新する（ステップＳ１８０６）。次に、記憶装置１０５からＩＰパケットを読み出し、そのＩＰパケットにアドレス情報（ステップＳ１８０５で書き込んだ記憶装置１０５内の記憶領域の先頭アドレス）およびＩＰヘッダ（データバッファリング装置１０２のＩＰアドレスが送信元アドレス、移動端末１０４のＩＰアドレスが送信先アドレス）を追加する（ステップＳ１８０７）。ここで、移動端末１０４のＩＰアドレスは、ステップＳ１８０２で検索した記憶装置管理テーブル６０１のエントリの移動端末アドレスフィールドの値に従う。そして、その移動端末アドレスにＩＰパケットを送信する（ステップＳ１８０８）。
【００５４】
このように、データバッファリング装置１０２において、受信したＩＰパケット（ホームエージェント１０３のＩＰアドレスを送信先アドレスとする）に対して、移動端末１０４のＩＰアドレスを送信先アドレスとするＩＰヘッダを追加することにより、ホームエージェント１０３を介することなく、そのＩＰパケットを移動端末１０４に直接送信することができる。これによれば、大量のデータ転送が行われても、ネットワーク帯域の消費を抑えることができる。
【００５５】
図１９は、データバッファリング装置が移動端末からＩＰパケットを受信した場合の動作手順を示すフローチャートである。まず、データバッファリング装置１０２は、移動端末１０４からＩＰパケットを受信する（ステップＳ１９０１）。次に、受信したＩＰパケットから先頭のＩＰヘッダ（送信元アドレスが移動端末１０４、送信先アドレスがデータバッファリング装置１０３）を削除する（ステップＳ１９０２）。これによって、元のＩＰパケットを復元（抽出）することができる。そして、復元したＩＰパケットを、そのＩＰパケット内の元のＩＰヘッダに記載されている送信先アドレス（すなわち、配信サーバ１０１）に送信する（ステップＳ１９０３）。
【００５６】
<移動端末の動作>
図２０ないし図２４は、本発明の実施の形態に係る移動端末の動作手順を示すフローチャートである。移動端末１０４は、データバッファリング装置１０２から存在通知を受信した場合、システムスタート／システムシャットダウンした場合、ＩＰアドレス更新を検出した場合、データバッファリング装置１０２からＩＰパケットを受信した場合、移動端末１０４上のアプリケーションがＩＰパケット送信要求を発行した場合に動作を開始する。以下、それぞれの場合における移動端末１０４の動作手順について説明する。
【００５７】
図２０は、移動端末がデータバッファリング装置から存在通知を受信した場合の動作手順を示すフローチャートである。まず、移動端末１０４は、データバッファリング装置１０２からホームエージェント１０３経由で存在通知４０１を受信する（ステップＳ２００１）。この存在通知４０１のバッファリング装置アドレスは、移動端末１０４にとって、受信データバッファリング装置アドレスとなる。次に、存在通知４０１で指定される配信サーバアドレスが配信サーバアドレスフィールドに設定されているエントリが受信管理テーブル８０１に登録済みか否かを検索し、チェックする（ステップＳ２００２）。ここで、「登録済み」とは、受信管理テーブル８０１において、配信サーバアドレスに対応して送信データバッファリング装置アドレスおよび受信データバッファリング装置アドレスの両方の値が設定されていることを意味する。登録済みであれば（ステップＳ２００２のＹＥＳ）、処理を終了する。
【００５８】
登録済みでなければ（ステップＳ２００２のＮＯ）、更に送信データバッファリング装置アドレスを取得するために、存在通知送信要求４０２を、存在通知４０１で指定される配信サーバアドレス宛に送信する（ステップＳ２００３）。存在通知送信要求４０２のホームエージェントアドレスフィールドには、自端末に対応するホームエージェント１０３のＩＰアドレスを設定する。そのホームエージェントアドレスには、予めユーザによって移動端末１０４に設定された固定のホームエージェントアドレスを使用する（以下、同様とする）。配信サーバアドレスフィールドには、存在通知４０１に格納されている配信サーバアドレスの値を設定する。送信要求コードフィールドには、そのメッセージが存在通知送信要求であることを示すコードの値を設定する。そして、送信した存在通知送信要求４０２に対するデータバッファリング装置４０２からの応答である存在通知４０１を受信する（ステップＳ２００４）。このとき、受信した存在通知４０１のバッファリング装置アドレス（送信用）は、ステップＳ２００１で受信した存在通知４０１に格納されているバッファリング装置アドレス（受信用）とは独立したものであり、異なる場合もあるし、偶然同じになる場合もある。
【００５９】
続いて、受信管理テーブル８０１に新規エントリを作成する（ステップＳ２００５）。その新規エントリの配信サーバアドレスフィールドには、ステップＳ２００１で受信した存在通知４０１に格納されている配信サーバアドレスの値を設定する。送信データバッファリング装置アドレスフィールドには、ステップＳ２００４で受信した存在通知４０１に格納されているバッファリング装置アドレスの値を設定する。受信データバッファリング装置アドレスフィールドには、ステップＳ２００１で受信した存在通知４０１に格納されているバッファリング装置アドレスの値を設定する。受信済みアドレス情報フィールドには、無効状態であることを示すＮＵＬＬを設定する。
【００６０】
次に、受信管理テーブル８０１の受信データバッファリング装置アドレスフィールドで指定されるデータバッファリング装置１０２に対してバッファリング開始要求４０３を送信する（ステップＳ２００６）。バッファリング開始要求４０３のホームエージェントアドレスフィールドには、自端末に対応するホームエージェント１０３のＩＰアドレスを設定する。バッファリング装置アドレスフィールドには、受信管理テーブル８０１の受信データバッファリング装置アドレスフィールドの値を設定する。開始要求コードフィールドには、そのメッセージが存在通知送信要求であることを示すコードの値を設定する。配信サーバアドレスフィールドには、ステップＳ２００１で受信した存在通知４０１に格納されている配信サーバアドレスの値を設定する。バッファリング容量フィールドには、予め移動端末１０４に設定された値を設定する。この移動端末１０４ごとのバッファリング容量の値は、例えば、ユーザによって所定の範囲内で任意に設定されたり、データバッファリングのサービス提供者によってユーザがサービスに対して支払った料金に応じて設定されたりすることが考えられる。
【００６１】
更に、受信管理テーブル８０１の受信データバッファリング装置アドレスフィールドで指定されるデータバッファリング装置１０２に対して転送開始要求４０５を送信する（ステップＳ２００７）。転送開始要求４０５のホームエージェントアドレスフィールドには、自端末に対応するホームエージェント１０３のＩＰアドレスを設定する。バッファリング装置アドレスフィールドには、受信管理テーブル８０１の受信データバッファリング装置アドレスフィールドの値を設定する。転送開始コードフィールドには、そのメッセージが転送開始要求であることを示すコードの値を設定する。配信サーバアドレスフィールドには、ステップＳ２００１で受信した存在通知４０１に格納されている配信サーバアドレスの値を設定する。移動端末アドレスフィールドには、現在自端末が保持しているＩＰアドレスを設定する。転送開始アドレス情報フィールドには、無効状態を示すＮＵＬＬを設定する。なお、データバッファリング装置１０２は、転送開始アドレス情報フィールドにＮＵＬＬが格納された転送開始要求を受信したとき、ステップＳ１５０３における移動端末１０４へのＩＰパケット送信を行わない。
【００６２】
図２１は、移動端末が自端末のシステムスタートまたはＩＰアドレス更新を検出した場合の動作手順を示すフローチャートである。まず、移動端末１０４は、システムスタートまたはＩＰアドレス更新を検出する（ステップＳ２１０１）。次に、移動端末１０４は、バインディング開始要求５０１をホームエージェント１０３に送信する（ステップＳ２１０２）。バインディング開始要求５０１の移動端末アドレスフィールドには、現在自端末が保持しているＩＰアドレスを設定する。ホームエージェントアドレスフィールドには、自端末に対応するホームエージェント１０３のＩＰアドレスを設定する。旧移動端末アドレスフィールドには、自端末がＩＰアドレス更新前に保持していたＩＰアドレス（システムスタート時には無効状態を示すＮＵＬＬ）を設定する。
【００６３】
そして、受信管理テーブル８０１に登録されている全エントリに対して、各エントリの受信データバッファリング装置フィールドで指定されるデータバッファリング装置１０２に対して、転送開始要求４０５を送信する（ステップＳ２１０３）。ただし、システムスタート時には受信管理テーブル８０１は空であるので、何もしない。転送開始要求４０５のホームエージェントアドレスフィールドには、自端末に対応するホームエージェント１０３のＩＰアドレスを設定する。バッファリング装置アドレスフィールドには、受信管理テーブル８０１の受信データバッファリング装置アドレスフィールドの値を設定する。転送開始コードフィールドには、そのメッセージが転送開始要求であることを示すコードの値を設定する。配信サーバアドレスフィールドには、受信管理テーブル８０１のエントリの配信サーバアドレスフィールドの値を設定する。移動端末アドレスフィールドは、現在自端末が保持しているＩＰアドレスを設定する。転送開始アドレス情報フィールドには、受信管理テーブル８０１のエントリの受信済みアドレス情報フィールドの値を設定する。
【００６４】
図２２は、移動端末がシステムシャットダウンする場合の動作手順を示すフローチャートである。まず、移動端末１０４は、自端末がシステムシャットダウンすることを検出する（ステップＳ２２０１）。これは、ユーザによる移動端末１０４の電源断の操作などをトリガにして、システムシャットダウンが発生したことが検出され、システムシャットダウンの処理プログラムが動作開始することを意味する。この処理プログラムは、メインルーチンのポーリングによりシステムシャットダウンが検出されることによって開始されてもよいし、システムシャットダウン発生による割込みに対応する割込みルーチンにおいて実行されてもよい。
【００６５】
次に、受信管理テーブル８０１の全エントリに関して、受信データバッファリング装置アドレスで指定されるデータバッファリング装置１０２に対して、転送停止要求４０６およびバッファリング停止要求４０４を送信する（ステップＳ２２０２）。転送停止要求４０６のホームエージェントアドレスフィールドには、自端末に対応するホームエージェントのＩＰアドレスを設定する。バッファリング装置アドレスフィールドには、受信管理テーブル８０１の各エントリの受信データバッファリング装置アドレスの値を設定する。転送停止コードフィールドには、そのメッセージが転送停止要求であることを示すコードの値を設定する。配信サーバアドレスフィールドには、各エントリの配信サーバアドレスフィールドの値を設定する。移動端末アドレスフィールドには、自端末が保持しているＩＰアドレスを設定する。また、バッファリング停止要求４０４のホームエージェントアドレスフィールド、バッファリング装置アドレスフィールド、停止要求コードフィールドおよび配信サーバアドレスフィールドにも同様に設定する。
【００６６】
更に、移動端末１０４は、ホームエージェント１０３に対して、バインディング停止要求５０２を送信する（ステップＳ２２０３）。バインディング停止要求５０２の移動端末アドレスフィールドには、自端末が保持しているＩＰアドレスを設定する。ホームエージェントアドレスフィールドには、自端末に対応するホームエージェント１０３のＩＰアドレスを設定する。
【００６７】
これにより、移動端末１０４がシステムシャットダウンした後にもかかわらず、データバッファリング装置１０２やホームエージェント１０３が無駄なＩＰパケットを転送するのを避けることができる。
【００６８】
図２３は、移動端末がデータバッファリング装置からＩＰパケットを受信した場合の動作手順を示すフローチャートである。まず、移動端末１０４は、データバッファリング装置１０２からホームエージェント１０３経由でＩＰパケットを受信する（ステップＳ２３０１）。次に、受信管理テーブル８０１の対応エントリを検出する。対応エントリは、受信したＩＰパケットの送信元アドレスが受信データバッファリング装置アドレスフィールドと一致していること、および、受信したＩＰパケットにカプセル化されているＩＰパケットの送信元アドレスが配信サーバアドレスフィールドと一致していることにより検出する。そして、そのエントリの受信済みアドレス情報フィールドを、受信したＩＰパケットに含まれているアドレス情報によって更新する（ステップＳ２３０２）。そして、受信したＩＰパケットに追加されているＩＰヘッダおよびアドレス情報を削除し、配信サーバ１０１が送信した元のＩＰパケットを復元（抽出）する（ステップＳ２３０３）。
【００６９】
図２４は、移動端末上のアプリケーションがＩＰパケット送信要求を発行した場合の移動端末の動作手順を示すフローチャートである。まず、移動端末１０４上のアプリケーションがＩＰパケット送信要求を発行する（ステップＳ２４０１）。次に、送信要求されたＩＰパケットに対応するエントリが受信管理テーブル８０１に登録済みか否かをチェックする（ステップＳ２４０２）。そのエントリは、送信要求されたＩＰパケットの送信先アドレスと一致する配信サーバアドレスフィールドの値を持つ。
【００７０】
登録済みであれば（ステップＳ２４０２のＹＥＳ）、アプリケーションから送信要求されたＩＰパケットにＩＰヘッダを追加する。追加するＩＰヘッダの送信元アドレスには、現在自端末が保持するＩＰアドレスを設定する。また、送信先アドレスには、ステップＳ２４０２で登録済みを検出したエントリの送信データバッファリング装置アドレスフィールドの値を設定する。そして、ＩＰパケットを送信データバッファリング装置アドレスフィールドで指定されるデータバッファリング装置１０２に送信する（ステップＳ２４０３）。登録済みでなければ（ステップＳ２４０２のＮＯ）、移動端末１０４は、送信を要求されたＩＰパケットをホームエージェント１０３に送信する（ステップＳ２４０４）。
【００７１】
このように、移動端末１０４から配信サーバ１０１にＩＰパケットを送信する場合、送信先の配信サーバ１０１に対応した送信データバッファリング装置アドレスが登録されていれば、ホームエージェント１０３を介することなく、ＩＰパケットをデータバッファリング装置１０２経由で配信サーバ１０１に送信することができる。これによれば、大量のデータ転送が行われても、ネットワーク上の任意の位置に配置可能なネットワーク設備（データバッファリング装置）を用いて、ネットワーク帯域の消費を抑えることができる。これにより、ネットワーク設備を複数の配信サーバ間で共有することや、ファイアウォールやＶＰＮゲートウェイと連携させることが実現できる。また、移動端末のネットワークアドレス更新時におけるデータの欠落を防止することができる。
【００７２】
以上本発明の実施の形態について説明したが、図１に示す各ノードのそれぞれで実行されるプログラムをコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施の形態に係る無線ネットワークシステムが実現されるものとする。また、前記プログラムをネットワーク経由で配信するようにしてもよい。
【００７３】
以上本発明について好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施の形態に係る無線ネットワークシステムの構成および概要を示す図である。特に、配信サーバから移動端末にＩＰパケットを送信する場合について示す。
【図２】本発明の実施の形態に係る無線ネットワークシステムの構成および概要を示す図である。特に、移動端末から配信サーバにＩＰパケットを送信する場合について示す。
【図３】本発明の実施の形態に係るデータバッファリング装置のハードウェア構成を示す図である。
【図４】本発明の実施の形態に係るデータバッファリング装置と移動端末との間で送受信される各種通知や要求のフォーマットを示す図である。
【図５】本発明の実施の形態に係るホームエージェントと移動端末との間で送受信される各種要求のフォーマットを示す図である。
【図６】本発明の実施の形態に係るデータバッファリング装置が保持する記憶装置管理テーブルのデータ構造を示す図である。
【図７】本発明の実施の形態に係るホームエージェントが保持するバインディング管理テーブルのデータ構造を示す図である。
【図８】本発明の実施の形態に係る移動端末が保持する受信管理テーブルのデータ構造を示す図である。
【図９】本発明の実施の形態に係るホームエージェントの動作手順を示すフローチャートである。特に、データバッファリング装置からＩＰパケットを受信した場合の動作を示す。
【図１０】本発明の実施の形態に係るホームエージェントの動作手順を示すフローチャートである。特に、移動端末からＩＰパケットを受信した場合の動作を示す。
【図１１】本発明の実施の形態に係るホームエージェントの動作手順を示すフローチャートである。特に、移動端末からバインディング開始要求を受信した場合の動作を示す。
【図１２】本発明の実施の形態に係るホームエージェントの動作手順を示すフローチャートである。特に、移動端末からバインディング停止要求を受信した場合の動作を示す。
【図１３】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、バッファリング開始要求を受信した場合の動作を示す。
【図１４】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、バッファリング停止要求を受信した場合の動作を示す。
【図１５】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、転送開始要求を受信した場合の動作を示す。
【図１６】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、転送停止要求を受信した場合の動作を示す。
【図１７】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、存在通知送信要求を受信した場合の動作を示す。
【図１８】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、配信サーバからＩＰパケットを受信した場合の動作を示す。
【図１９】本発明の実施の形態に係るデータバッファリング装置の動作手順を示すフローチャートである。特に、移動端末からＩＰパケットを受信した場合の動作を示す。
【図２０】本発明の実施の形態に係る移動端末の動作手順を示すフローチャートである。特に、データバッファリング装置から存在通知を受信した場合の動作を示す。
【図２１】本発明の実施の形態に係る移動端末の動作手順を示すフローチャートである。特に、システムスタートまたはＩＰアドレス更新を検出した場合の動作を示す。
【図２２】本発明の実施の形態に係る移動端末の動作手順を示すフローチャートである。特に、システムシャットダウンする場合の動作を示す。
【図２３】本発明の実施の形態に係る移動端末の動作手順を示すフローチャートである。特に、データバッファリング装置からＩＰパケットを受信した場合の動作を示す。
【図２４】本発明の実施の形態に係る移動端末の動作手順を示すフローチャートである。特に、移動端末上のアプリケーションがＩＰパケット送信要求を発行した場合の動作を示す。
【符号の説明】
【００７５】
１０１  配信サーバ（サーバ）
１０２  データバッファリング装置
１０３  ホームエージェント（中継装置）
１０４  移動端末（端末）
１０５  記憶装置（記憶手段）                                                                                
【図１】
2006121464.tif 000003
【図２】
2006121464.tif 000004
【図３】
2006121464.tif 000005
【図４】
2006121464.tif 000006
【図５】
2006121464.tif 000007
【図６】
2006121464.tif 000008
【図７】
2006121464.tif 000009
【図８】
2006121464.tif 000010
【図９】
2006121464.tif 000011
【図１０】
2006121464.tif 000012
【図１１】
2006121464.tif 000013
【図１２】
2006121464.tif 000014
【図１３】
2006121464.tif 000015
【図１４】
2006121464.tif 000016
【図１５】
2006121464.tif 000017
【図１６】
2006121464.tif 000018
【図１７】
2006121464.tif 000019
【図１８】
2006121464.tif 000020
【図１９】
2006121464.tif 000021
【図２０】
2006121464.tif 000022
【図２１】
2006121464.tif 000023
【図２２】
2006121464.tif 000024
【図２３】
2006121464.tif 000025
【図２４】
2006121464.tif 000026