1.システム構成
本発明を適用する移動通信システムは、図1で示す既存の移動通信システムとほぼ同じ構成を有するが、移動端末にモビリティを提供するモビリティアンカと外部ネットワークとの間に代理配信サーバを配置した点が異なっている。以下、本発明の適用例としての移動通信システムの構成について説明した後、本発明による代理配信サーバについて詳細に説明する。
1.1)全体的構成
図2において、本実施形態による移動通信システムは、コアネットワーク10、アクセスネットワーク20、無線基地局300および移動端末400を有し、さらにコアネットワーク20は、複数のモビリティアンカ101および複数のアクセス網GW(Gateway)201を含み、さらに外部ネットワーク30とモビリティアンカ101との間に代理配信サーバ600が設けられている。外部ネットワーク30には、移動端末400にサービスを提供するサービス提供サーバ500が配置されているものとする。
以下、「モビリティアンカ101」というように参照番号だけを付す場合は、任意のモビリティアンカを示し、「モビリティアンカ101a」あるいは「モビリティアンカ101b」というように参照番号に添え字aあるいはbを付す場合は、モビリティアンカのリロケート時の切替元あるいは切替先をそれぞれ示すものとする。すなわち、図2において、切替元のモビリティアンカ101aに関与するノードには参照番号に添え字「a」を、切替先のモビリティアンカ101bに関与するノードには参照番号に「b」をそれぞれ付して区別する。
コアネットワーク10は、主に移動通信サービスを提供するオペレータにより管理されるネットワークである。3GPPにおいては、EPC(Evolved Packet Core)、WiMAXにおいてはCNS(Connectivity Service Network)に相当するネットワークである。
アクセスネットワーク20は、移動端末400を収容するネットワークである。アクセスネットワーク20は、3GPPにおいてはWCDMA(Wideband Code Division Multiple Access)、LTE(Long Term Evolution)、WiMAXにおいてはIEEE802.16e、またWLAN(Wireless Local Area Network;IEEE802.11a/b/g/nを含む)など、各システムで採用された多様な無線アクセス技術により移動端末400と接続し、移動端末400のトラヒックを転送する。
外部ネットワーク30は、移動通信ネットワークの外部のネットワークであり、例えばインターネットがこれに該当する。基本的に、コアネットワーク10や、アクセスネットワーク20の管理者とは異なる別の管理者により管理されるネットワークである。
無線基地局300は、各移動通信システムにおいて採用している各種無線アクセス技術により移動端末400とトラヒックの送受信を行う。3GPPの場合は、GTPによるトンネリングによりアクセス網GW201との間で移動端末400のトラヒックの転送を行う。
移動端末400は、携帯端末、スマートフォン、ノートPCといった移動通信を行う端末である。モビリティプロトコルとしてMIPv6、MIPv4をサポートする場合は、移動端末400に前記位置登録など、移動通信を実現するための処理を実施するための機能が具備される。
サービス提供サーバ500は、移動端末400にサービスを提供するサーバであり、例えば、WEBサーバ、動画・音楽配信サーバなどに相当する。ここでは動画コテンツを配信するサーバを想定する。
1.2)モビリティアンカ
モビリティアンカ101は、既に述べたGTP、MIPv6、PMIPv6、MIPv4、MIPv4のいずれかをサポートしたモビリティアンカである。MIPv6、MIPv4の場合、HA(Home Agent)、PMIPv6、PMIPv4の場合は、LMA(Local Mobility Anchor)と呼称されるノードに相当する。また、3GPPにおいては、P−GW(Packet Data Network-Gateway)、GGSN(Gateway GPRS Support Node)に相当する。いずれの場合においても、モビリティアンカ101で最も基本的な動作は、移動端末400、あるいはアクセス網GW201から送られた伝送路設定要求に応じて、移動端末400の移動においても変わらないアドレス宛に送られたパケットを、移動端末400が在圏する位置アクセスネットワークに依存するアドレス宛、もしくはアクセス網GW201のアドレスへとトンネリングにより転送する機能である。移動端末400のアドレスや、トンネリングによる転送先とするアドレスは、前記伝送路設定要求信号から取得できる。トンネリングを実施するための登録(位置登録)を実施するのは、移動端末400自身か、もしくはアクセス網GW201である。例えば、モビリティ実現のためのプロトコルの中のMIPv6、MIPv4の場合は、端末自身が位置登録を実施し、GTP、PMIPv6、PMIPv4の場合は、アクセス網GW201が位置登録を実施する。
モビリティアンカ101は、さらに配信パス設定部110およびアンカリロケート部111を備える。配信パス設定部110は、アクセス網GW201から伝送路設定要求を受信した際に、当該信号に含まれる移動端末400のアドレスと、モビリティアンカ101自身のアドレスを格納したリロケート要求信号あるいはトンネル設定要求信号を代理配信サーバ600に送信する。ここで、伝送路設定信号にアンカリロケート先とすることを示す情報が含まれていた場合、信号の種別やシステム上の他の手段により当該モビリティアンカ101をアンカリロケート先とするための伝送路設定要求であると判断できる場合には、配信パス設定部110はリロケート要求信号を代理配信サーバ600に送信し、そうでない場合はトンネル設定要求信号として代理配信サーバ600に送信する。代理配信サーバ600の詳細は後述する。
アンカリロケート部111は、伝送路設定要求に、アンカリロケートの要求を意味する情報が格納されていた場合や、システム上の通知などによりアンカのリロケートが必要と判断された場合には、リロケート先として適切なモビリティアンカの情報を伝送路設定応答に格納して、これを伝送路設定要求の送信元に応答する。あるいは、リロケート先として適切なモビリティアンカに、伝送路設定要求を転送し、その結果応答された伝送路設定応答を、アクセス網GW201に転送することとしても良い。
適切なモビリティアンカの選択については、伝送路設定要求信号などから取得したアクセス網GW201や移動端末400の位置を示す情報と、モビリティアンカ内部あるいはシステム上に配置されたデータベース(DNSサーバなど)を利用することなどが考えられるが、これらに限らない。リロケート先とするモビリティアンカの情報を格納した伝送路設定応答を伝送路設定要求元に送信した後は、移動端末400に対してトラヒックを転送するための情報を直ちに破棄することとしても良いし、そのままとして時間経過による失効で削除されることとしても良い。
伝送路設定要求および伝送路設定応答は、モビリティプロトコルや移動通信システムに応じて様々な信号に対応する。ここで対応関係の一例を、伝送路設定要求の名称、伝送路設定応答の名称、伝送路設定要求送信元のノードの順番で示す。
・PMIPv6: Proxy Binding Update, Proxy Binding Acknowledge, アクセス網GW(MAG: Mobile Access Gateway)
・MIPv6: Binding Update, Binding Acknowledge, 移動端末
・PMIPv4: Proxy Registration Request, Proxy Registration Reply, アクセス網GW(PMA: Proxy Mobile Agent)
・MIPv4: Registration Request, Registration Reply, 移動端末
・GTP(3GPP規定の移動通信システムEPSおける名称): Create Session Request, Create Session Response, アクセス網GW(S−GW: Serving Gateway)、または、
Modify Bearer Request, Modify Bearer Response, アクセス網GW(S−GW)、または、
Create PDP Context Request, Create PDP Context Response, アクセス網GW(SGSN: Serving GPRS Support Node)、または、
Update PDP Context Request, Update PDP Context Response, アクセス網GW(SGSN)。
1.3)アクセス網ゲートウエイ
アクセス網GW201は、アクセスネットワーク20を収容するゲートウェイである。モビリティプロトコルとして、GTP、PMIPv6、PMIPv4を適用する場合は、いずれかのモビリティプロトコルをサポートし、モビリティアンカ101に対して、移動端末400の移動先にトラヒックを転送するための位置登録を送信する。PMIPv6やPMIPv4においては、MAGや、PMAと呼称されるノードに相当する。また、3GPPでは、S−GW、SGSNに相当し、WiMAXにおいてはASN−GW(Access Service Network-Gateway)に相当する。
アクセス網GW201は通常の機能に加えてアンカリロケート通知部210を更に備える。アンカリロケート通知部210は、伝送路設定要求をモビリティアンカ101に送信した結果、アンカリロケート先とするモビリティアンカ101の情報が格納された伝送路設定応答を受信した場合に、当該モビリティアンカ101に対して、アンカリロケート先とすることを示す情報を格納した伝送路設定要求を送信する。
また、アンカリロケート通知部210はシステム上の他のノードなどからリロケートをリロケート元のモビリティアンカに通知する必要があると判断した場合は、アンカリロケートを示す情報を含む伝送路設定要求をモビリティアンカ101に送信する。この際、モビリティアンカ101がより適切なリロケート先のモビリティアンカ101を選択できるように、アクセス網GW201の位置を示す情報や、移動端末400の位置を示す情報をアクセス伝送路設定要求に格納することとしても良い。
3GPPによる移動通信システムを想定した場合、アクセス網GW201も、モビリティアンカ101のように、移動端末400の移動先にトラヒックをトンネリングにより転送する機能を備える。この際、トンネリングに使われるプロトコルとしてはGTPが適用される。なお、3GPPの場合、移動端末400の移動によりトンネリングを制御するノードであるMMEが存在する。
2.第1実施形態
2.1)代理配信サーバ
本発明の第1実施形態による代理配信サーバ600は、モビリティアンカ101をリロケートした場合においても移動端末400に対し、リロケートを隠蔽し、サービスの継続性を確保する機能を備える。
図1に示すように、代理配信サーバ600は、リロケート要求処理部610、コンテキスト取得部611、コンテキスト送信部612、コンテキスト管理部613、代理要求部614、要求メッセージ生成部615、セッション制御部616、パケット転送部617および記憶装置650を有する。
リロケート要求処理要求部610は、モビリティアンカ101などから送られたリロケート要求信号を受信すると、当該信号に格納されたリロケート元となる(すなわち、現在移動端末400に対し、その時点でコンテンツの代理配信を実施している)代理配信サーバ600aの識別子と、移動端末400の識別子と、パケット転送部617がトンネリングによりコンテンツを配信する際の送信先とするトンネル端点アドレスと、を取り出し、これらの情報と共に、リロケート実施の契機とする通知をコンテンキスト取得部611に出力する。リロケート元となる代理配信サーバ600aの識別子とは、例えばIPアドレスが考えられる。または、FQDN(Fully Qualified Domain Name)のようにDNS(Domain Name System)サーバなどにより、最終的にIPアドレスが解決できるものであれば他の識別子としても良い。また移動端末400の識別子は、後述するコンテキストを特定するのに用いるものであり、IPアドレスやFQDNの他にも、MSISDN(Mobile Subscriber Integrated Services Digital Network Number)、IMSI(International Mobile Subscriber Identity)など、移動端末400を識別可能な情報であれば何でも良い。また、リロケート要求処理部610はリロケート要求信号の送信元アドレスにリロケート応答信号を送信しリロケート要求を受け付けたことを通知する。
コンテキスト取得部611は、リロケート要求処理部610から入力されたリロケート開始通知を受け、通知に格納された移動端末400の識別子とリロケート元の代理配信サーバ600aの識別子を取り出し、取り出した移動端末400の識別子を格納したコンテキスト要求信号をリロケート元の代理配信サーバ600aへ送信する機能を備える。また、コンテキスト取得部611は、コンテキスト要求信号の応答としてコンテンキスト応答信号を受信した際に、当該信号に格納された移動端末400についてのコンテキスト情報を取り出し、移動端末400の識別子と共にコンテキスト管理部613へ出力する機能を備える。前記コンテキスト情報には、例えば以下の情報が含まれる。しかし、下記の一部であっても、それ以外の情報を含むこととしても構わない。
・サービス名
・コンテンツ識別子
・コンテンツ位置
・プロトコル
・セッション情報
各項目について説明する。
サービス名は、サービスを特定可能な名称であり、例えば、Youtube、NicoNicoDouga、といった文字列が設定される。ただし、各サービスに割り当てた識別子を使用しても構わない。
コンテンツ識別子は、サービス名で示されるサービス中で提供されるコンテンツを一意に特定可能な識別子である。
コンテンツ位置は、コンテンツ識別子で特定されるコンテンツの内、移動端末に配信済みの場所を示す。コンテンツ先頭位置からの、経過時間、バイト数、圧縮画像のストリームにおけるキーフレームの数などで表現される。
プロトコルは、コンテンツ視聴に使われているプロトコルを示す。例えば、HTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)などが設定される。
セッション情報は、移動端末400とのセッションを継続させるために必要な情報である。プロトコルに依存して異なる情報が設定される。HTTP/TCPの場合は、例えば、移動端末400への送信が完了していないHTTPヘッダ情報、送信元アドレス、宛先アドレス、TCPの送信元および宛先ポート番号、シーケンス番号(Sequential Number)、応答確認番号(Acknowledgement Number)、TCPヘッダのフラグフィールドに設定するためのフラグ情報、ウィンドウサイズ、送信バッファの情報が含まれる。リモートアドレスは移動端末のIPアドレスとなり、ローカルアドレスは移動端末400が代理配信サーバ600にアクセスする際に使用するアドレスである。TCPを使う場合、ローカルアドレスは代理配信サーバ600のリロケート前後において同じとする必要があるが、代理配信サーバ600の物理的なインタフェースにローカルアドレスを割当てる必要はない。すなわち、内部的にTCPセッションの端点となるアドレスとして保持できていれば良く、また移動端末400に対して当該アドレスによる代理配信サーバ600への到達性を提供できれば良い。この方法については、一般的な方法で実現できるため詳細な説明は省略する。
コンテキスト送信部612は、他の代理配信サーバ600bから送信されたコンテキスト要求信号を受信すると、コンテキスト要求信号に格納された移動端末400の識別子をキーとして、コンテキスト管理部613に当該移動端末400に関連するコンテキスト情報を問い合せ、その結果として得られたコンテキスト情報をコンテキスト応答信号に格納し、これをコンテキスト要求信号の送信元である代理配信サーバ600bに応答する機能を備える。コンテキスト情報が含む情報については、既に説明した通りである。
コンテキスト管理部613は、移動端末400がコンテンツ視聴のためにアクセスしたサービス名、コンテンツ識別子、コンテンツ視聴に関わるプロトコル情報およびセッション情報といったコンテキスト情報を、移動端末400の識別子に関連付けて管理する機能を備える。コンテキスト情報を移動端末400の識別子に関連づけて管理するにあたっては、コンテキスト管理部613は、適宜、コンテキスト取得部611やセッション制御部616からコンテキスト情報を構成する情報を収集・保持しておくようにしても良いし、コンテキスト送信部612からの問合せを契機にコンテキスト情報を収集しコンテキスト送信部612に応答することとしても良い。
また、コンテキスト管理部613は、コンテキスト取得部611からコンテキスト情報が入力された際、対応する移動端末400がリロケート元の代理配信サーバ600a経由で利用していたサービスを継続するために、コンテキスト情報を用いてセッション制御部616に対してセッションの生成を要求する。
代理要求部614は、セッション制御部616の依頼に応じて、セッション制御部616から入力されたサービス名、コンテンツ識別子、コンテンツ位置といったコンテンツ情報を用いて、該当するサービスで提供されているコンテンツを、指定された位置、もしくは指定された位置よりも前方の位置から取得するためのコンテンツ要求信号をサービス提供サーバ500に送信する機能を備える。代理要求部614はコンテンツ要求信号を構成するにあたりコンテンツ情報を要求メッセージ生成部615に出力する。
要求メッセージ生成部615は、サービス毎に、特定のコンテンツを特定の位置から取得するためのメッセージ構成方法を保持しており、代理要求部614からコンテキスト情報が入力されると、コンテキスト情報に含まれるサービス名に基づきメッセージ構成方法を選択する。そして、コンテキスト情報に含まれるコンテンツ識別子やコンテンツ位置などの情報から、当該メッセージ構成方法を使って、指定サービス上で提供される指定コンテンツを指定位置から取得するためのコンテンツ要求メッセージと、その送信先に関する情報を生成し、これを応答として代理要求部614に返す。
例えば、サービス名がYoutube、コンテンツ識別子がabcdef12345、コンテンツ取得位置が100secの箇所の場合は、URLを以下のように設定したHTTP GETメッセージを生成し、代理要求部614に渡す。
http://www.youtube.com/watch?v=abcdef12345&t=100
より具体的には、http://www.youtube.com/を接続先に関する情報として、また、PATHを/watch?v=abcdef12345&t=100と設定したHTTP GETメッセージを代理要求部614に渡す。
セッション制御部616は、移動端末400がコンテンツ視聴のための要求信号を受信した場合、要求信号からサービス名やコンテンツ識別子を抽出し、これらの情報に基づき要求されたコンテンツ(さらに開始位置指定された場合は開始位置以降のコンテンツ)が記憶装置650に既に記録されているか否かを検索する。
この検索の結果、記録装置650に記録されていなかった場合は、当該要求を代理配信サーバ600からの要求としてコンテンツ要求信号を送信するための通知を代理要求部614に通知する。この際、コンテキスト情報中のサービス名、コンテンツ識別子、コンテンツ位置も合わせて通知する。そして、その結果、サービス提供サーバ100から送られてきたコンテンツを移動端末400へと転送する。セッション制御部616は、パケットの宛先アドレスを移動端末400のアドレスとして、パケット転送部617に出力することで移動端末400にコンテンツを転送する。このとき、移動端末400にコンテンツを転送すると同時に、記録装置650に当該コンテンツをサービス名、コンテンツ識別子、コンテンツ位置と対応づけて記録しておく。
一方、記録装置650に既にコンテンツが記録されていた場合は、記録装置650からコンテンツを読み出し移動端末400に転送する。ここで、コンテンツの検索に、サービス名とコンテンツ識別子を使うとしたが、1つのサービスを対象とする場合や、複数のサービスにわたり一意に識別可能なコンテンツ識別子を使うのであれば、サービス名を省略することもできる。
また、セッション制御部616は、コンテキスト管理部613からコンテキスト情報が入力された際に、移動端末400に対してリロケート元の代理配信サーバ600a経由で行っていたコンテンツ視聴を継続させるため、リロケート元の代理配信サーバ600aで保持していたセッションの状態をコンキスト情報に含まれるセッション情報に基づき再現する。例えば、HTTPの場合は、トランスポートレイヤのプロトコルとしてTCPを使うので、リモートアドレス、ローカルアドレス、送信元ポート、送信先ポート、さらにシーケンス番号や応答確認番号、送信バッファの状態などのTCPセッションの状態が再現される。リモートアドレスは、TCPセッションにおいて代理配信サーバ600側のアドレスとなるが、このアドレスは前述したように物理的なインタフェースに割当てる必要はなく、当該アドレス宛にパケットがトンネリングされた場合、そのデカプセルされたあとのパケットを自分宛のパケットとして処理できれば良い。
さらに、セッション制御部616は、セッションの再現を行った上で、コンテキスト情報に含まれるコンテンツ識別子に対応しコンテンツ情報に含まれるコンテンツ位置以降のコンテンツが記憶装置650に記録されているかどうかを確認する。記録されている場合は、記録装置650から該当するコンテンツを該当する位置から読み出し、移動端末400に対して、再現されたセッションにより当該コンテンツを送信する。記録されていない場合は、代理要求部614に、サービス名、コンテンツ識別子、コンテンツ位置を出力し、サービス提供サーバ500に対して、コンテンツ識別子に対応するコンテンツを前記コンテンツ位置から取得するためのコンテンツ要求メッセージを生成・送信することを依頼する。セッション制御部616は、その結果、サービス提供サーバ500から送られてきたコンテンツを移動端末400へと転送する。このとき、移動端末400にコンテンツを転送すると同時に、記録装置650に、当該コンテンツをサービス名、コンテンツ識別子、コンテンツ位置と対応づけて記録しておく。ここでも、上述したようにコンテンツ識別子でコンテンツを一意に特定できるのであれば、サービス名を省略しても構わない。
セッション制御部616は、移動端末400からのコンテンツ要求もしくはリロケート要求により、移動端末400に対してコンテンツを配信する際には、移動端末400のアドレスおよび当該コンテンツを格納したパケットのトンネリング先とすべきアドレスとともに、トンネル確立の依頼をパケット転送部617に出力する。
パケット転送部617は、セッション制御部616から出力されたトンネル端点アドレスと移動端末400のアドレスを使って、移動端末400のアドレス宛のパケットを端点アドレスとしたトンネリングを実施することで転送する。ここで、端点アドレスとしては、例えばモビリティアンカ101のアドレスが用いられるが、必ずしもそうでなくとも良い。また、代理配信サーバ600宛にトンネリングされたパケットについては、外部ヘッダを除去する。パケット転送部617は、トンネリングを解除したパケットや、トンネリングされていないパケットについては通常のIPルータと同様に、宛先アドレスに応じて転送処理を実施する。また、パケット転送部617は、モビリティアンカ101からトンネル設定要求信号を受信した場合は、当該信号に含まれるトンネル端点アドレスと移動端末400のアドレスとを用いて移動端末400のアドレス宛のパケットの転送のためのトンネルを確立する。
2.2)代理配信サーバの動作
次に、図4のフローチャートを用いて本発明の代理配信サーバ600がリロケート要求を受信した際の処理の流れを説明する。
ステップS100で、モビリティアンカ101からリロケート要求信号を受信すると、リロケート要求処理部610は、当該リロケート要求信号からリロケート元の代理配信サーバ600の識別子と、移動端末400の識別子と、移動端末400のアドレスと、後述するトンネリングのリモート側の端点アドレス(基本的にはモビリティアンカ101のアドレスである)と、を抜き出し、これらの情報をコンテキスト取得部611へ出力する。そして、リロケート要求処理部610はリロケート応答信号をリロケート要求信号の送信元に返信する。ただし、後述するステップS104でトンネル生成したタイミングや、ステップS107で代理要求を送信したタイミングなど、他のタイミングでリロケート応答信号を応答することとしても良い。リロケート応答信号には、代理配信サーバ600のアドレス(実インタフェースに割当てられたアドレス)を格納することとしても良い。なお、移動端末400の識別子と移動端末400のアドレスとを別に記述したが、移動端末400の識別子としてアドレスを使うこともできる。
ステップS101で、コンテキスト取得部611はリロケート元の代理配信サーバ600aに対して、移動端末400の識別子を格納したコンテキスト要求信号を送信する。コンテキスト要求信号の宛先アドレスは、リロケート要求処理部610から入力された代理配信サーバ600aの識別子を使用する。代理配信サーバ600aの識別子がIPアドレスならそのまま使用し、FQDNなどの他の識別子である場合はDNS等の仕組みによりIPアドレスを解決して使用する。コンテキスト要求信号に格納される情報はコンテキスト取得部611を説明した箇所に記述したとおりである。
ステップS102で、ステップS101で送信したコンテキスト要求信号の応答として、コンテキスト応答信号を受信し、当該コンテキスト応答信号に格納されたコンテキスト情報をコンテキスト管理部613へ出力する。コンテキスト管理部613は、これを契機にセッション制御部616に対して、リロケート元の代理管理サーバ600aにおける移動端末400とのセッションを再現するように要求する。
ステップS103で、セッション制御部617は、コンテキスト情報に含まれるセッション情報を使ってセッション生成を実行し、リロケート元の代理配信サーバ600aにおいて移動端末400が関わっていたセッション(例えばTCPセッション)を再現する。セッション情報やセッションの生成については、セッション制御部616のところで説明したとおりである。セッションが再現された結果、リロケートにより代理配信サーバ600が物理的に変わったことを移動端末400に隠蔽することができるので、移動端末400に対しリロケートの前後におけるサービス継続性を提供できる。
ステップS104で、パケット転送部617は、セッション制御部616から入力された移動端末400とトンネル端点のアドレスとを使って、移動端末400宛のパケットを前記トンネル端点アドレス宛にトンネリングするためのトンネルを確立する。パケット転送部617は、当該代理配信サーバのアドレス宛にトンネリングされたパケットをデカプセル化した上で転送する処理も行う。
ステップS105で、セッション制御部616は、要求されたコンテンツが記録装置650に既に記録されているかどうかを判定する。記録装置650に既に記録されていた場合(ステップS105のY)、ステップS108へ進み、記録装置650に記録されていなかった場合(ステップS105のN)、ステップS106へ進む。
ステップS106で、代理要求部614および要求メッセージ生成部615は、前記コンテキスト情報に含まれるサービス名、コンテンツ識別子およびコンテンツ位置情報に基づき、コンテンツを必要な箇所から取得するためのコンテンツ要求信号を生成し、その後ステップS107でコンテンツの取得先であるサービス提供サーバ500に対して前記コンテンツ要求信号を送信する。ここで、サービス提供サーバ500にコンテンツを要求した場合に、その応答としてコンテンツを取得するが、これを移動端末にそのまま配信するのではなく、一旦、記録装置650に記録してもよい。すなわち、コンテンツのビットレートや移動端末400までの通信速度を考慮したサイズのバッファリングが完了した後に、コンテンツを移動端末へ配信してもよい。この場合、セッション制御部616のコンテンツ取得先を記録装置650に統一することができる。
ステップS108では、ステップS106およびステップS107によるコンテンツ要求によりサービス提供サーバ500から送られてきたコンテンツ、もしくは記録装置650に記録されたコンテンツを、移動端末400がリロケートの前までに受信した箇所の直後のデータから再現したセッション(例えばTCPセッション)により移動端末400へ送信する。さらに、パケット転送部617は当該パケットをカプセル化してトンネリングにより転送し、処理を終了する。
次に、図5のフローチャートを用いて代理配信サーバ600がコンテンツ要求信号を受信した後、コンテンツ情報を格納したコンテンツ応答信号を送信するまでの処理の流れを説明する。
ステップS200で、リロケート先の代理配信サーバ600bからコンテキスト要求信号を受信すると、コンテキスト送信部612は、受信したコンテキスト要求信号に含まれる移動端末400の識別子をキーとしてコンテキスト管理部613に当該移動端末400に関連するコンテキスト情報を要求する。
ステップS201で、コンテキスト管理部613は、コンテキスト情報の要求に応じて移動端末400に関連するコンテキスト情報を応答する。既に保持しているコンテキスト情報が古い場合などには、最新のコンテキスト情報を収集した上で、コンテキスト送信部612にコンテキスト情報を応答する。
最後にステップS202で、コンテキスト送信部612は、コンテキスト管理部613から返されたコンテキスト情報を格納したコンテキスト応答信号を生成し、コンテキスト要求信号の送信元に送信する。
2.3)システム通信制御(第1例)
次に、図6に示すシーケンス図を用いて、本発明の第1実施形態による移動通信システムの処理フローの第1例を説明する。なお、無線基地局300の動作は直接関係しないので省略されている。ここでは、サービス提供サーバ500がHTTPによるダウンロードタイプの動画配信サービスを提供している状況を想定する。
まず、ステップS300において、移動端末400は、サービス提供サーバ500が配信するコンテンツを視聴しているものとする。この時点で、コンテンツは代理配信サーバ600a、モビリティアンカ101a、アクセス網GW201aを経由して移動端末400に配信されている。
代理配信サーバ600aは、WEBプロキシサーバのように動作し、移動端末400のTCPセッションは代理配信サーバ600aで終端される。つまり、移動端末400が送信するパケットの宛先アドレスは、代理配信サーバ600aが内部的に保持するアドレスとなり、サービス提供サーバ500がコンテンツ配信のために送信するパケットの宛先アドレスも代理配信サーバ600aが保持するアドレスとなる。
ステップS301で、移動端末400が移動した結果、移動通信システムが、現在のアクセス網GW201aおよびモビリティアンカ101aよりも適切なアクセス網GW201bやモビリティアンカ101bの有無およびその他の条件により、リロケートの実施が決定される。例えば3GPPにおいては、移動端末400が送信するTAU(Tracking Area Update)から得られる位置情報をMME(Mobility Management Entity)がチェックし、より近いアンカにリロケートすべきかどうかの判定を行う。ただし他の移動通信システムでは他の方法によりリロケートの実施判定を行う。リロケート判定については本発明とは直接は関係なので詳細は省略する。
ステップS302で、アクセス網GW201aからアクセス網GW201bへのリロケート処理が実施されるものとする。ただし、アクセス網GWのリロケート処理は、移動通信システムやモビリティプロトコルに依存して様々な手順を採用でき、また無線基地局300を含めた処理やステップS302の処理以降にも関連した処理が必要となる場合があるが、本発明に直接関係しないので、ここでは説明を省略する。なお、アクセス網GWをリロケートせずにモビリティアンカ101がリロケートされる場合も考えられる。
ステップS303で、リロケート後のアクセス網GW201bは、現在移動端末400に対してモビリティを提供しているモビリティアンカ101aに対して、伝送路設定要求信号を送信する。当該伝送路設定要求には、アクセス網GWあるいは移動端末400の位置を特定可能な情報、アンカリロケートを要求する情報、アンカリロケート処理をサポートすることを示す情報、アンカリロケート先のモビリティアンカ101bを特定するための識別情報のいずれか、あるいは全てを格納することとしても良い。ここでは、アクセス網GW201bの位置を特定できる情報とアンカリロケートをサポートすることを意味する情報とを格納するものとする。
ステップS304で、モビリティアンカ101aは受信した伝送路設定要求信号に含まれるアクセス網GW201bの位置を確認し、モビリティアンカ101a内あるいは移動通信システム上に配置されたデータベースを参照するなどして、アクセス網GW201bにより近いモビリティアンカ(ここではモビリティアンカ101b)が存在することを検出する。さらにモビリティアンカ101aは、伝送路設定要求信号に格納されたアンカリロケートをサポートすることを意味する情報により、アクセス網GW201bはアンカリロケート機能をサポートしていることを知る。以上の条件により、モビリティアンカ101aは、モビリティアンカ101aとアクセス網GW201bとの間に移動端末400宛のパケットを転送するための伝送路設定は行わず、モビリティアンカ101bのアドレス、あるいはFQDNのようにモビリティアンカ101bのアドレスを解決可能な識別子を格納した伝送路設定応答信号をアクセス網GW201bに応答する。
ステップS305で、アクセス網GW201bは、伝送路設定応答信号を受信すると、リロケート先のモビリティアンカ101bに対して伝送路設定要求を送信する。
ステップS306で、モビリティアンカ101bは、アクセス網GW201bから伝送路設定要求を受信すると、移動端末400宛のパケットをトンネリングによりアクセス網GW201bへと転送するためのトンネルを確立する。モビリティアンカ101bは、さらに、リロケート要求信号を近くに配置された代理配信サーバ600bに送信する。代理配信サーバ600bは、事前設定や、システム上のデータベースなどの情報に基づき決定でき、アドレスを取得できるものとする。ステップS306の後、図4に示した代理配信サーバ600bがリロケート要求信号を受信した際の処理が実行され、リロケート要求処理部610がリロケート応答信号をリロケート要求信号の送信元に返信するものとする。
ステップS307で、モビリティアンカ101bは代理配信サーバ600bからリロケート応答信号が受信する。モビリティアンカ101bは、所定の宛先アドレスあるいは送信元アドレスのパケットをリロケート応答信号に含まれた代理配信サーバ600bのアドレス宛にトンネリングするためのトンネルを確立する。トンネリング対象とするアドレスとは、全てのパケットとしても良いし、移動端末400のアドレスを送信元とするパケットとしても良いし、コンテンツ配信サービスを提供するサーバ宛のパケットを対象としても良い。モビリティアンカ101bはまた、同時に、代理配信サーバ600bからモビリティアンカ101b宛にトンネリングされたパケットを受信した場合は、当該パケットをデカプセル化した後、従来のモビリティアンカ100と同様の方法で転送処理を実施する。
ステップS308で、モビリティアンカ300bは、ステップS305で受信した伝送路設定要求の応答として伝送路設定応答信号をアクセス網GW201bに送信する。
ステップS309で、代理配信サーバ600bは、図4におけるステップS101において説明したように、コンテキスト要求信号をリロケート元の代理配信サーバ600aに対して送信する。
ステップS310で、代理配信サーバ600aは、コンテキスト要求信号に応答して、移動端末400に関わるコンテキスト情報を格納したコンテキスト応答信号を代理配信サーバ600bへ返信する。
ステップS311で、代理配信サーバ600bは、コンテキスト応答信号を受信した後、図4におけるステップS102以降の処理を実行する。ここでは、図4のステップS105の判定の結果、移動端末400にコンテンツ視聴を継続させるために配信すべきコンテンツが代理配信サーバ600b内の記憶装置650に記録されていないとする。
ステップS312で、代理配信サーバ600bは、配信すべきコンテンツが記憶装置650に記録されていないのでコンテンツ要求信号をサービス提供サーバ500へ送信する。
ステップS313で、コンテンツ要求信号を受信したサービス提供サーバ500は、要求されたコンテンツを要求された位置から代理配信サーバ600bへ送信する。この場合、コンテンツが格納されたパケットの宛先アドレスは代理配信サーバ600bのアドレスとなる。
ステップS314および315で、代理配信サーバ600bは、サービス提供サーバ500から配信されたコンテンツを受信すると、受信したコンテンツを移動端末400との間に確立されたTCPセッションにより転送する(図4のステップS108)。その際、矛盾無く送信できるように、アドレス、ポート、シーケンス番号等を適切に設定したTCPパケットに前記コンテンツを格納して移動端末400へ送信する。
こうして、移動端末400は、モビリティアンカおよび代理配信サーバがリロケートした場合でも、それを意識することなく、最適な経路でコンテンツ視聴を継続することが可能となる。
以上図6のシーケンス図においては、アクセス網GW201とモビリティアンカ101が個別のノードとして配備される例をしたが、同じハードウェア上で動作する2つのソフトウェア、あるいは1つのソフトウェアとして両者を実施することもできる。その場合は、少なくともステップS305、ステップS308の伝送路設定要求、伝送路設定応答がネットワーク上に送信されることはなく、内部的に処理される。さらに代理配信サーバ600もモビリティアンカ101と同じように1つのハードウェア上で動作させることができる。この場合は、ステップS306、ステップS307のリロケート要求、リロケート応答も内部的に処理される。
2.4)システム通信制御(第2例)
次に、図7に示すシーケンス図を用いて、本発明の第1実施形態による移動通信システムの処理フローの第2例を説明する。図6に示す第1例のシーケンスと異なるのは、モビリティアンカ101のアンカリロケート処理手順である。なお、ここでの動作の説明においても図6と同様に無線基地局300に関わる処理については省略する。また、サービス提供サーバ500がHTTPによるダウンロードタイプの動画配信サービスを提供している状況を想定する。
始めにステップS400において、移動端末400がサービス提供サーバ500が配信するコンテンツを視聴している状況を考慮する。このとき、コンテンツは、代理配信サーバ600aや、モビリティアンカ101a、アクセス網GW201aを経由して移動端末400に届けられる。代理配信サーバ600aは、WEBプロキシサーバのように動作し、移動端末400のTCPセッションは代理配信サーバ600aで終端される。つまり、移動端末400が送信するパケットの宛先アドレスは、代理配信サーバ600aが内部的に保持するアドレスとなり、サービス提供サーバ500がコンテンツ配信のために送信するパケットの宛先アドレスも代理配信サーバ600aが保持するアドレスとなる。
ステップS401で、移動端末400が移動した結果、移動通信システムが、現在のアクセス網GW201aおよびモビリティアンカ101aよりも適切なアクセス網GW201bやモビリティアンカ101bが存在するかどうかや、その他の条件によりリロケートの実施が決定される。このリロケート判定については本発明とは直接は関係なので詳細は省略する。
ステップS402でアクセス網GWのリロケート処理が実施される。この処理についても移動通信システムやモビリティプロトコル依存で様々な手順が可能であるが、当該処理は本発明には直接的には関わりがないので詳細な説明は省略する。また、アクセス網GWのリロケート処理は、無線基地局300を含めた処理やステップS402として示す処理以降にも関連した処理が必要となる場合があるが、これらの説明も省略する。また、アクセス網GWをリロケートせずにモビリティアンカ100がリロケートされる場合も考えられる。
ステップS403で、リロケート後のアクセス網GW201bは、伝送路設定要求信号を移動端末400に対してモビリティを現在提供しているモビリティアンカ101aに送信する。当該伝送路設定要求には、アクセス網GWあるいは移動端末400の位置を特定可能な情報、アンカリロケートを要求する情報、アンカリロケート処理をサポートすることを示す情報、アンカリロケート先のモビリティアンカ101を特定するための識別情報のいずれか、あるいは全てを格納することとしても良い。ここでは、アクセス網GW201bの位置を特定できる情報とアンカリロケートをサポートすることを意味する情報とを格納するものとする。
ステップS404で、モビリティアンカ101aは伝送路設定要求信号に含まれたアクセス網GW201bの位置を確認し、モビリティアンカ101a内、あるいは移動通信システム上に配置されたデータベースを参照するなどして、アクセス網GW201bにより近いモビリティアンカ(ここではモビリティアンカ101b)が存在することを検出する。さらにモビリティアンカ101aは、伝送路設定要求信号に格納されたアンカリロケートをサポートすることを意味する情報により、アクセス網GW201bはアンカリロケート機能をサポートしていることを知る。以上の条件により、モビリティアンカ101aは、モビリティアンカ101aとアクセス網GW201bとの間に移動端末400宛のパケットを転送するための伝送路設定は行わず、モビリティアンカ101bのアドレスあるいはFQDNのようにモビリティアンカ101bのアドレスを解決可能な識別子を格納した伝送路設定応答信号をモビリティアンカ101bに転送する。モビリティアンカ101bは、モビリティアンカ101aから伝送路設定要求を受信すると、移動端末400宛のパケットをトンネリングによりアクセス網GW201bへと転送するためのトンネルを確立する。
ステップS405で、モビリティアンカ101bは、さらに、リロケート要求信号を近くに配置された代理配信サーバ600bに送信する。代理配信サーバ600bは、事前設定やシステム上のデータベースなどの情報に基づき決定でき、アドレスを取得できるものとする。ステップS405の後、図4に示した代理配信サーバ600がリロケート要求信号を受信した際の処理が実行される。ここでは、リロケート要求信号に対する応答となるリロケート応答信号が図4のステップS100で応答される場合を想定する。
ステップS406で、モビリティアンカ101bは、代理配信サーバ600bからリロケート応答信号が受信する。モビリティアンカ101bは、所定の宛先アドレスあるいは送信元アドレスのパケットをリロケート応答信号に含まれた代理配信サーバ600bのアドレス宛にトンネリングするためのトンネルを確立する。トンネリング対象とするアドレスとは、全てのパケットとしても良いし、移動端末400のアドレスを送信元とするパケットとしても良いし、コンテンツ配信サービスを提供するサーバ宛のパケットを対象としても良い。モビリティアンカ101bはまた、同時に、代理配信サーバ600bからモビリティアンカ101b宛にトンネリングされたパケットを受信した場合は、当該パケットをデカプセル化した後、従来のモビリティアンカ100と同様の方法で転送処理を実施する。
ステップS407で、モビリティアンカ300bは、ステップS404で受信した伝送路設定要求の応答として伝送路設定応答信号をモビリティアンカ101aに送信する。
ステップS408で、モビリティアンカ101aは、モビリティアンカ101bから伝送路設定応答信号を受信すると、ステップS403で受信した伝送路設定要求の応答として伝送路設定応答信号をアクセス網GW201bに送信する。
以下、ステップS409〜S415の処理は、図6におけるステップS309〜S315の処理とそれぞれ同じとなるので説明を省略する。
なお、図7のシーケンス図においても、図6の場合と同様に、アクセス網GW201とモビリティアンカ101が個別のノードとして配備される例をしたが、同じハードウェア上で動作する2つのソフトウェア、あるいは1つのソフトウェアとして両者を実施することもできる。さらに代理配信サーバ600もモビリティアンカ101と同じように1つのハードウェア上で動作させることができる。
2.5)システム通信制御(第3例)
次に、図8に示すシーケンス図を用いて、本発明の第1実施形態による移動通信システムの処理フローの第3例を説明する。図6、図7に示すシーケンスと異なるのは、モビリティアンカ101a、アクセス網GW201a、移動端末400との間で確立していた伝送路を一度切断した後、再度接続処理を行う際に、より適切なアクセス網GW201b、モビリティアンカ101bとの間に伝送路を確立する点である。基本的に、一度削除する処理をした時点で、サービスの継続性を確保することはできないが、例えば3GPPで規定された移動通信システムでは、移動端末側400側も関与することで、IPレイヤ以上での接続を維持できる余地はある。即ちTCPセッションを維持する余地がある。
なお、ここでの動作の説明においても図6、図7と同様に無線基地局300に関わる処理については省略する。また、サービス提供サーバ500がHTTPによるダウンロードタイプの動画配信サービスを提供している状況を想定する。
図8において、始めにステップS500において、移動端末400は、サービス提供サーバ500が配信するコンテンツを視聴している状況を考える。このとき、コンテンツは、代理配信サーバ600a、モビリティアンカ101a、アクセス網GW201aを経由して移動端末400に届けられる。
代理配信サーバ600aは、WEBプロキシサーバのように動作し、移動端末400のTCPセッションを終端する。つまり、移動端末400が送信するパケットの宛先アドレスは代理配信サーバ600aが内部的に保持するアドレスとなり、サービス提供サーバ500がコンテンツ配信のために送信するパケットの宛先アドレスも代理配信サーバ600aが保持するアドレスとなる。
ステップS501で、移動端末400が移動した結果、移動通信システムが、現在のアクセス網GW201aおよびモビリティアンカ101aよりも適切なアクセス網GW201bやモビリティアンカ101bが存在するかどうかや、その他の条件によりリロケートの実施が決定される。このリロケート判定については本発明とは直接は関係なので詳細は省略する。
ステップS502で、移動通信システムが伝送路切断および再接続により、より適切な、即ち移動端末400により近いアクセス網GW200bやモビリティアンカ100bを選択し伝送路確立のための処理が実施される。例えば、3GPPで規定された移動通信システムであるEPS(Evolved Packet System)では、TS23.401"5.10.3 UE or MME Requested PDN disconnection"や、TS23.401 "5.3.8.3 MME-initiated Detach procedure"に記載された手順によりPDN connectionとよばれる伝送路を一度削除した後、移動端末400に相当するUE(User Equipment)に対する信号の中に再接続を促す情報(それぞれ"reactivation requested", "reattach")を格納することで、UEに対して伝送路切断後に再度接続処理を実施させることができる。
移動端末400は、前記した情報などにより、伝送路の切断が新たなモビリティアンカにリロケートすることを目的とした処理であることが判断できる場合は、伝送路が削除された場合においてもセッションを保持することができる。たとえば、TCPセッションを確立していた場合は、TCPセッションを維持しておくことができる。ただし、この場合、再接続した後の移動端末400のアドレスや宛先アドレスが切断前と同じである必要がある。移動端末400のアドレスについては、例えばモビリティアンカ101や、その後段に配置されたDHCP(Dynamic Host Configuration Protocol)サーバ機能を内包するノード(代理配信サーバ600でも良い)により、切断・再接続の前後で同じアドレスを割り当てることとすればよい。一方、宛先アドレスについては、本発明の代理配信サーバ600のリロケート動作により同じアドレスが使われる。
ステップS503で、アクセス網GW201bは、再接続処理の中で、地理的あるいはネットワークトポロジ的に近いモビリティアンカ101bに対して伝送路設定要求を送信する。移動端末400の接続処理のなかでアクセス網GW201が適切なモビリティアンカを選択する方法は、DNSやその他のデータベースとなるサーバを使う方法など、様々な方法を用いることができる。
ステップS504で、モビリティアンカ101bは、アクセス網GW201bから伝送路設定要求を受信すると、移動端末400宛のパケットをトンネリングによりアクセス網GW201bへと転送するためのトンネルを確立する。その後、モビリティアンカ101bは、さらにリロケート要求信号を近くに配置された代理配信サーバ600bに送信する。
この代理配信サーバ600bにリロケート要求信号を送信するステップS504〜S513の処理は、図6におけるステップS309〜S315の処理とそれぞれ同じとなるので説明を省略する。
なお、図8のシーケンス図においても、図6の場合と同様に、アクセス網GW201とモビリティアンカ101が個別のノードとして配備される例をしたが、同じハードウェア上で動作する2つのソフトウェア、あるいは1つのソフトウェアとして両者を実施することもできる。さらに代理配信サーバ600もモビリティアンカ101と同じように1つのハードウェア上で動作させることができる。
2.6)効果
本発明の第1実施形態による効果は、移動端末が利用中のコンテンツ視聴などのサービスを継続したまま、移動端末の移動に伴い適宜、最適なモビリティアンカにリロケートすることを可能とする。これにより、移動端末のトラヒックを常に最適な経路で送信することが可能となり、ネットワーク資源の効率的な使用が可能となる。
3.第2実施形態
次に、本発明の第2実施形態について図面を参照して詳細に説明する。本発明の第2実施形態では、リロケート要求を受信したタイミングでコンテンツを移動端末400に配信するのではなく、その後に送られる配信開始要求を受信したタイミングでコンテンツの配信を行うことが特徴となる。これにより、リロケートの実施に先んじて、サービス提供サーバ500へのコンテンツ取得を先行して実施することができ、移動端末400へコンテンツ配信するまでの遅延を小さくすることができる。
3.1)代理配信サーバの構成
図9において、本発明の第2実施形態による代理配信サーバ601は、図3に示す代理配信サーバ600の構成に配信開始要求処理部619を加えた構成を有し、それに伴いセッション制御部618の動作も第1実施形態のセッション制御部616とは異なる。したがって、図3に示す第1実施形態と同じ構成および機能を有するブロックには同一参照番号を付して説明を簡略化し、以下、主に第1実施形態とは異なる構成および機能を中心に説明する。
図9において、配信開始要求処理部619は、モビリティアンカ101などから配信開始要求信号を受信した際に、当該信号に格納された移動端末400のアドレスとともにコンテンツ配信開始通知をセッション制御部618に出力する機能を備える。なお、配信開始要求信号には、トンネリングの端点とするアドレスなど、移動端末400のアドレス以外の情報を含むこととしても構わない。配信開始要求処理部619は、その後、配信開始要求信号の送信元に配信開始応答信号を送信する。
セッション制御部618は、第1実施形態におけるセッション制御部616とほぼ同じ機能を備え同様の動作を行うが、コンテキスト管理部613からコンテキスト情報を入力したタイミングでは、セッション生成、トンネル確立およびコンテンツの転送開始は行わず、配信開始要求処理部619からコンテンツ配信開始が通知されたタイミングでセッション生成、トンネル確立およびコンテンツ配信開始という一連の処理を実施する。ただし、コンテンツ配信以外の処理、すなわちセッション生成、トンネル確立については、コンテンツ配信開始通知を受信する前に処理しておくこととしても良い。また、セッション制御部618は、コンテンツ配信開始を通知された後、当該通知に含まれる移動端末400のアドレスを使って、セッション生成、トンネル確立を依頼するための情報を含むコンテンツ情報を特定するが、移動端末400以外の情報を使ってコンテンツ情報を特定することとしても良い。
代理配信サーバ601に関して、セッション制御部618と配信開始要求処理部619以外の機能ブロックについては、第1実施形態と同様の構成および機能となるため、ここでは説明は省略する。
3.2)代理配信サーバの動作
次に、図10および図11のフローチャートを用いて代理配信サーバ601が、リロケート要求を受信した後すぐに移動端末400に対してコンテンツを送信するのではなく、別途、配信開始要求信号の受信を契機にコンテンツを移動端末400に送信する処理の流れを説明する。
図10において、代理配信サーバ601が、リロケート実施に先んじてリロケート要求を受信し、それを契機にサービス提供サーバ500に対してコンテンツを要求、その結果として配信されたコンテンツを受信するまでの処理の流れを説明する。
ステップS600で、モビリティアンカ101からリロケート要求信号を受信する。リロケート要求処理部610は、当該リロケート要求信号からリロケート元の代理配信サーバ600の識別子と移動端末400の識別子とを抜き出し、これらの情報をコンテキスト取得部611へ出力する。リロケート要求処理部610はこの後、リロケート応答信号をリロケート要求信号の送信元に送信する。ただし、ステップS602でコンテキストを取得したタイミングなど他のタイミングでリロケート応答信号を応答することとしても良い。また、既に述べたように、移動端末400の識別子は例えば移動端末400のアドレスを使うことしても良い。
ステップS601で、コンテキスト取得部611はリロケート元の代理配信サーバ600aに対してコンテキスト要求信号を送信する。コンテキスト要求信号の宛先アドレスは、リロケート要求処理部610から入力した代理配信サーバ600aの識別子を使用する。識別子がIPアドレスならそのまま使用し、FQDNなどの他の識別子である場合はDNS等の仕組みによりIPアドレスを解決して使用する。コンテキスト要求信号に格納される情報はコンテキスト取得部611を説明した箇所に記述したとおりである。
ステップS602で、コンテキスト取得部611はステップS601で送信したコンテキスト要求に対するコンテキスト応答信号を受信する。当該コンテキスト応答信号に格納されたコンテキスト情報は、コンテキスト管理部613に出力され、コンテキスト管理部613は、これを契機にセッション制御部618に対してコンテキスト情報に含まれる情報を出力するが、この時点でのセッション生成は要求しない。
ステップS603で、セッション制御部618は、要求されたコンテンツが記録装置650に既に記録されているかどうかをコンテキスト情報を使って判定する。ここで、既に記録されていた場合には(ステップS603の’Y’)、処理を終了する。記録されていなかった場合には(ステップS603の’N’)、ステップS604へ進む。本実施形態場合は、セッション制御部618は、この時点ではセッションの生成を実施せず、入力されたコンテキスト情報を保持しておく。後で検索可能にコンテンツ情報を保持するには、たとえば移動端末400のアドレスをキーとして呼び出せるように、移動端末400のアドレスと関連づけて保持する。ただし、移動端末400のアドレスだけでなく、移動端末400を識別可能な他の識別子や、リロケート元の代理配信サーバ600の識別子、その他の情報を使ってコンテンツ情報を特定することとしても良い。
ステップS604では、代理要求部614および要求メッセージ生成部615は、前記コンテキスト情報に含まれるサービス名、コンテンツ識別子、コンテンツ位置情報に基づき、取得すべきコンテンツを必要な箇所から取得するためのコンテンツ要求信号を生成し、その後、ステップS605で前記コンテンツの取得先とするサービス提供サーバ500に対して前記コンテンツ要求信号を送信する。
最後にステップS606で、前記ステップS605でコンテンツ要求信号をサービス提供サーバ500に送信した結果、サービス提供サーバ500から配信されるコンテンツを受信し記録装置650に記録する。
次に、上述した処理によりコンテンツの蓄積が行われた、あるいは行われている状況で、代理配信サーバ601が配信開始要求信号を受信したことを契機として、前記蓄積されたコンテンツを移動端末400に配信する処理の流れを図11のフローチャートを用いて説明する。
図11において、まずステップS700で、配信開始要求処理部619は配信開始要求信号を受信すると、当該信号に含まれる移動端末400のアドレスとトンネルのリモート側の端点とするアドレスとを取得し、これらの情報をセッション制御部618に出力する。配信開始要求処理部619はその後、配信開始要求信号の応答として配信開始応答信号を配信開始要求信号の送信元に送信しても良い。
ステップS701で、セッション制御部618は、移動端末400へのコンテンツ配信を継続するためのセッションを生成する。このときセッション制御部618は、リロケート要求処理部610から入力した移動端末400のアドレスを使って、図10のステップS602で保持されたコンテキスト情報のうちから、使用すべきコンテキスト情報を同定する。このコンテキスト情報の同定には、移動端末400のアドレス以外の識別子を使うこととしても良い。セッション制御部618は、このようにコンテキスト情報を同定した後、当該コンテキスト情報に含まれる情報を用いてセッションの生成を実施する。セッション制御部618はまた、配信開始要求処理部619から入力した移動端末400のアドレスとリモート側の端点アドレスとともに、パケット転送部617に対してトンネル生成を依頼する通知を行う。
ステップS702で、パケット転送部617は、セッション制御部618から入力した移動端末400とリモート側のトンネル端点のアドレスを使って、移動端末400宛のパケットをトンネル端点アドレス宛にトンネリングするためのトンネルを確立する。パケット転送部617は、代理配信サーバ600のアドレス宛にトンネリングされたパケットをデカプセル化した上で転送する処理も行う。
最後にステップS703において、パケット転送部617は、記録装置650に記録されたコンテンツを移動端末400がリロケートの前までに受信していた箇所の直後の位置から、生成したセッション(例えばTCPセッション)によって移動端末400へ送信する。コンテンツを送信するためのパケットは、パケット転送部617によりカプセル化され、トンネリングにより転送される。
3.3)システム通信制御
次に、図12に示すシーケンス図を用いて、本発明の第2実施形態による移動通信システムの処理フローを説明する。なお、無線基地局300の動作は直接関係しないので省略されている。ここでは、モビリティアンカをリロケートする手順として、図8のシーケンス図で示した手順と同様に、モビリティアンカ101a、アクセス網GW201a、移動端末400との間で確立していた伝送路を一度切断した後、再度接続処理を行う際に、より適切なアクセス網GW201b、モビリティアンカ101bとの間に伝送路を確立する方法を示す。ただし、図6、図7に示したシーケンス図の手順など、他の手順のおいても第2実施形態における代理配信サーバ601を適用することは可能である。
図12において、ステップS800で、移動端末400は、サービス提供サーバ500が配信するコンテンツを視聴しているとする。このとき、コンテンツは、代理配信サーバ601a、モビリティアンカ101a、アクセス網GW201aを経由して移動端末400に届けられる。
ステップS801で移動端末400が移動した結果、移動通信システムが、現在のアクセス網GW201aおよびモビリティアンカ101aよりも適切なアクセス網GW201bや、モビリティアンカ101bが存在するかどうかや、その他の条件により、伝送路切断・再接続により、より適切な、即ち移動端末400により近いアクセス網GW200bやモビリティアンカ101bにモビリティアンカをリロケートすることが決定される。当該決定は、移動通信システムによって様々なケースが考えらえるが、例えば3GPPの移動通信システムであるEPSの場合は、MMEがその役割を果たす。
ステップS801でモビリティアンカのリロケートすることが決定された場合、ステップS802においてリロケート要求信号が代理配信サーバ601bに送信される。このリロケート要求信号の送信元となるノードは、移動通信システムにより様々であるので、ここではあえて限定しない。前記EPSの場合は、MMEが送信元となりえる。ただし、EPSの場合でもMMEに限定しない。
リロケート要求送信に平行して、ステップS810に示すアンカリロケート処理が実行される。その処理は、例えばEPSの場合、TS23.401 "5.10.3 UE or MME Requested PDN disconnection"や、TS23.401 "5.3.8.3 MME-initiated Detach procedure"に記載された手順によりPDN connectionとよばれる伝送路を一度削除した後、移動端末400に相当するUE(User Equipment)に対する信号の中に再接続を促す情報(それぞれ"reactivation requested", "reattach")を格納することで、UEに対して伝送路切断後に再度接続処理を実施させることができ、これによりアンカリロケートを実行できる。
移動端末400は、前記した情報などにより、伝送路の切断が新たなモビリティアンカにリロケートすることを目的とした処理であることが判断できる場合は、伝送路が削除された場合においてもセッションを保持することができる。たとえば、TCPセッションを確立していた場合は、TCPセッションを維持しておくことができる。ただし、この場合、再接続した後の移動端末400のアドレスや宛先アドレスが切断前と同じである必要がある。移動端末400のアドレスについては、例えばモビリティアンカ101や、その後段に配置されたDHCPサーバ機能を内包するノード(代理配信サーバ601でも良い)などにより、切断・再接続の前後で同じアドレスを割り当てることとすればよい。一方、宛先アドレスについては代理配信サーバ601のリロケート動作により、同じアドレスが使われる。
ステップS802で、代理配信サーバ601bがリロケート要求を受信すると、図10のステップS600におけるリロケート要求信号を受信した際の処理を実行する。その過程で、代理配信サーバ601bはリロケート要求応答を送信する(ステップS803)。
ステップS804で、ステップS802でリロケート要求を受信した後、図10のフロチャートに示す処理が実施する過程の中で、コンテキスト取得部611はコンテキスト要求信号をリロケート元の代理配信サーバ601aへ送信する。
ステップS805で、代理配信サーバ601aは、移動端末400に関わるコンテキスト情報を格納したコンテキスト応答信号を代理配信サーバ601bに応答する。
ステップS806で、代理配信サーバ601bがコンテキスト応答信号を受信すると、図10のステップS602以降の処理が実施される。ここでは、図10のステップS603の判定の結果、移動端末400にコンテンツ視聴を継続させるために配信すべきコンテンツが代理配信サーバ601b内の記憶装置650に記録されていないと判定された場合を想定する。この場合、コンテンツ要求信号がサービス提供サーバ500に送信される(ステップS807)。
前記コンテンツ要求信号を受信したサービス提供サーバ500は、ステップS808で、要求されたコンテンツを要求された位置から配信する。この際コンテンツが格納されたパケットの宛先アドレスは代理配信サーバ601bのアドレスとなる。
ステップS808で、代理配信サーバ601bは、ステップS807で配信されたコンテンツを受信すると、ステップS809で受信したコンテンツを記録装置650に記録しておく。
ステップS811で、アクセス網GW201bが再接続によるモビリティアンカのリロケート処理の中で、伝送路設定要求をモビリティアンカ101bに送信する。
モビリティアンカ101bは、アクセス網GW201bから伝送路設定要求を受信すると、移動端末400宛のパケットをトンネリングによりアクセス網GW201bへと転送するためのトンネルを確立する。
モビリティアンカ101bは、その後ステップS812において、配信開始要求信号を近くに配置された代理配信サーバ601bに送信する。代理配信サーバ601bは、事前設定やシステム上のデータベースなどの情報に基づき決定でき、アドレスを取得できるものとする。
代理配信サーバ600bがステップS812において配信開始要求を受信すると、図11のフローチャートに示す手順が実行される。代理配信サーバ601bはまた、配信開始要求の応答として配信開始応答信号をモビリティアンカ101bに応答する(ステップS813)。
モビリティアンカ101bは、配信開始応答信号を受信すると、所定の宛先アドレスあるいは送信元アドレスのパケットをリロケート応答信号に含まれた代理配信サーバ601bのアドレス宛にトンネリングするためのトンネルを確立する。トンネリング対象とするアドレスとは、全てのパケットとしても良いし、移動端末400のアドレスを送信元とするパケットを対象としても良いし、コンテンツ配信サービスを提供するサーバ宛のパケットを対象としても良い。モビリティアンカ101bはまた、代理配信サーバ601bからモビリティアンカ101b宛にトンネリングされたパケットを受信した場合、当該パケットをデカプセル化した後、従来のモビリティアンカ100と同様の方法で転送処理を実施する。
その後モビリティアンカ101bは、ステップ811で受信した伝送露設定要求信の応答として伝送路設定応答信号をアクセス網GW201bに送信する(ステップS814)。
最後にステップS815で、代理配信サーバ601bにおいて図11のフローチャートに示す処理が実施された結果、代理配信サーバ601bに記録されたコンテンツがモビリティアンカ101b、アクセス網GW201bを経由して移動端末400に配信される。
以上の処理の結果、移動端末400は、モビリティアンカ101および代理配信サーバ601がリロケートした場合でも、それを意識することなく、最適な経路でコンテンツ視聴を継続することが可能となる。
3.4)効果
本発明の第2実施形態による効果は、コンテンツ配信に先立って、移動端末に配信するべきコンテンツの要求を実施でき、この結果、配信すべきコンテンツが代理配信サーバに記録された後に配信開始要求によりコンテンツ配信することになるため、リロケートの後に移動端末400へのコンテンツ配信を再開できるまでの遅延を小さくすることができる。
4.第3実施形態
次に、本発明の第3実施形態について図面を参照して詳細に説明する。本発明の第3実施形態では、サービス提供サーバ500から取得するコンテンツの位置を正確に制御できない場合や位置の指定ができずコンテンツの最初から取得しなければならない場合でも、移動端末400によるコンテンツ視聴を継続可能とする。
4.1)代理配信サーバの構成
図13において、本発明の第3実施形態による代理配信サーバ602は、図3に示す代理配信サーバ600の構成に位置検出部620を加えた構成を有する。したがって、図3に示す第1実施形態と同じ構成および機能を有するブロックには同一参照番号を付して説明を簡略化し、以下、主に第1実施形態とは異なる構成および機能を中心に説明する。
位置検出部620は、セッション制御部616から、リロケート元の代理配信サーバ602aにおいてコンテンツを配信するためにバッファに蓄積されていたコンテンツデータの情報を取得する。バッファに蓄積されたコンテンツデータは、コンテキスト情報の一部としてリロケート元の代理配信サーバ602aから取得する。また取得するコンテンツデータの情報はバッファに蓄積された全てとしても良いが、図14に示すように最新のデータ位置からxバイト分過去に遡った情報を対象としても良い。ここでは、xバイト分を対象とする場合を取り上げる。
その後、位置検出部620は、代理要求部614によりサービス提供サーバ500から新たに取得され記録装置650に記録されているコンテンツデータを検索して、前記xバイト分の情報が一致する箇所を検出する。位置検出部620は一致する箇所を検出すると、一致したxバイト区間の直後のバイト位置を配信位置情報としてセッション制御部616に通知する。
セッション制御部616は、基本的な機能は第1実施形態におけるセッション制御部616と同じだが、新たにサービス提供サーバ500から取得したコンテンツから配信すべき場所を特定する際に、位置検出部620から入力される前記配信位置情報を利用する点が異なる。
4.2)代理配信サーバの動作
本発明の第3実施形態による代理配信サーバ602の全体的な動作は、図4に示すフローチャートと同じであるが、図4のステップS108で、移動端末400に配信すべきコンテンツの位置を特定する際に位置検出部620の機能を用いる点が異なる。よって、ここでは図15に示すフローチャートを用いて位置検出部620の動作に着目した動作説明を行う。
ステップS900で、まず、位置検出部620は、リロケート元の代理配信サーバ602aから、当該代理配信サーバのバッファに蓄積され配信予定であったコンテンツデータの最新バイト位置からxバイト分をコンテキスト情報の一部としてセッション制御部616から読み出す。位置検出部620は、前記xバイト分のデータをマッチング用のパタンとして使用する。
ステップS901で、位置検出部620は、図4のステップS107でコンテンツ提供サーバ500から取得されるなどして記録装置650に記録されたコンテンツの先頭バイトから、xバイト分を読み出す。
ステップS902で、位置検出部620は、前記マッチング用のパタンと記録装置650から読み出されたデータとを比較する。
ステップS903で、比較結果がが一致していた場合(ステップS903の’Y’)、ステップS905へ進み、一致しなかった場合(ステップS903の’N’)、ステップS904へ進む。一致しなかった場合(ステップS903の’N’)、ステップS904では、記録装置650に記録されたコンテンツデータのうち、比較対象とする位置を、ステップS902で用いた位置から1バイト進め、その後、再度ステップS902により比較処理が実施される。一致した場合(ステップS903の’Y’)、ステップS905で位置検出部620は一致箇所の直後のバイト位置を配信位置情報としてセッション制御部616に通知して処理を終了する。
4.3)効果
本発明の第3実施形態による効果は、サービス提供サーバ500から取得するコンテンツの位置を正確に制御できない場合や、位置の指定ができずコンテンツの最初から取得しなければならない場合でも、移動端末400によるコンテンツ視聴を継続可能とする。
5.その他
以上、本発明の第1〜第3実施形態で説明した記録装置650は、例えば、半導体メモリ、ハードディスクドライブなど情報を記録可能な装置で実施することができる。その他の機能ブロックは、ソフトウェアおよびそれを動作させるためのCPU等のプログラム制御プロセッサを用いて実現することができ、あるいはハードウェアで実現することもできる。一部をソフトウェアで実施し、それ以外をハードウェアで実施することとしても良い。
本発明は、様々なモビリティプロトコルを適用した様々な移動通信システムへの適用が可能であるが、以下に主な提供先と思われる移動通信システムである3GPP EPSおよびGPRS/UMTS、WiMAX Forumによる移動通信システムにおいて規定されたノードと、各実施形態において説明した各ノードとの対応関係を示す。
-3GPP EPS
モビリティアンカ:Packet Data Network−Gateway(PDN−GW)
アクセス網GW: Serving−Gateway(S−GW)
無線基地局:enhancedNodeB (eNB)
-3GPP GPRS/UMTS
モビリティアンカ:Gateway GPRS Support Node(GGSN)
アクセス網GW: Serving GPRS Support Node(SGSN)
無線基地局: NodeB (NB)
-WiMAX Forum
モビリティアンカ:HomeAgent(HA)、 もしくはLMA(Local Mobility Anchor)
アクセス網GW: Access Service Network−Gateway(ASN−GW)
無線基地局: BaseStation(BS)
4.付記
上述した実施形態の一部あるいは全部は、以下の付記のようにも記載されうるが、これらに限定されるものではない。
(付記1)
端末にモビリティ(移動性)を提供するモビリティアンカを有する移動通信システムにおいてサービス提供サーバから前記端末へのコンテンツ配信を中継する代理配信サーバであって、
前記モビリティアンカのリロケート要求が発生すると、前記端末へのコンテンツ配信を中継している別の代理配信サーバから前記コンテンツ中継に関するコンテキスト情報を取得するコンテキスト取得手段と、
前記取得したコンテキスト情報を用いて、前記別の代理配信サーバと前記端末との間で前記コンテンツ配信のために確立されたセッションの状態を前記端末との間で再現するセッション制御手段と、
前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて、前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送する転送手段と、
を有することを特徴とする代理配信サーバ。
(付記2)
前記セッション制御手段は、前記コンテキスト情報に含まれるセッション情報を用いて前記端末との間に前記セッションの状態を再現することを特徴とする付記1に記載の代理配信サーバ。
(付記3)
前記セッション情報はTCP(Transmission Control Protocol)セッション状態を再現するために必要な情報であることを特徴とする付記2に記載の代理配信サーバ。
(付記4)
前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを格納する格納手段と、
外部からの配信開始要求信号の受信をコンテンツ配信開始の契機とし、前記再現されたセッションにより前記端末へ転送するコンテンツの配信タイミングを制御する配信開始要求処理手段と、
をさらに有することを特徴とする付記1−3のいずれか1項に記載の代理配信サーバ。
(付記5)
前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて、前記サービス提供サーバに対してコンテンツ要求を行う要求手段を更に有し、
前記転送手段が前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送することを特徴とする付記1−3のいずれか1項に記載の代理配信サーバ。
(付記6)
前記取得したコンテキスト情報は前記別の代理配信サーバの送信バッファに格納されたコンテンツデータを更に含み、
前記サービス提供サーバから取得したコンテンツデータにおける前記別の代理配信サーバのコンテンツデータの位置を検出する位置検出手段を更に有し、
前記転送手段が前記検出されたコンテンツ位置の直後の位置から前記再現されたセッションを使って前記端末へコンテンツを転送することを特徴とする付記1−3のいずれか1項に記載の代理配信サーバ。
(付記7)
端末にモビリティ(移動性)を提供するモビリティアンカを有する移動通信システムにおいてサービス提供サーバから前記端末へのコンテンツ配信を中継する代理配信サーバの通信制御方法であって、
コンテキスト取得手段が、前記モビリティアンカのリロケート要求が発生すると前記端末へのコンテンツ配信を中継している別の代理配信サーバから前記コンテンツ中継に関するコンテキスト情報を取得し、
セッション制御手段が、前記取得したコンテキスト情報を用いて、前記別の代理配信サーバと前記端末との間で前記コンテンツ配信のために確立されたセッションの状態を前記端末との間で再現し、
転送手段が、前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送する、
ことを特徴とする代理配信サーバの通信制御方法。
(付記8)
前記セッション制御手段は、前記コンテキスト情報に含まれるセッション情報を用いて前記端末との間に前記セッションの状態を再現することを特徴とする付記7に記載の代理配信サーバの通信制御方法。
(付記9)
前記セッション情報はTCP(Transmission Control Protocol)セッション状態を再現するために必要な情報であることを特徴とする付記8に記載の代理配信サーバの通信制御方法。
(付記10)
前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを格納手段に格納し、
配信開始要求処理手段が、外部からの配信開始要求信号の受信をコンテンツ配信開始の契機とし、前記再現されたセッションにより前記端末へ転送するコンテンツの配信タイミングを制御する、
ことを特徴とする付記7−9のいずれか1項に記載の代理配信サーバの通信制御方法。
(付記11)
要求手段が、前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて、前記サービス提供サーバに対してコンテンツ要求を行い、
前記転送手段が前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送する、
ことを特徴とする付記7−9のいずれか1項に記載の代理配信サーバの通信制御方法。
(付記12)
前記取得したコンテキスト情報は前記別の代理配信サーバの送信バッファに格納されたコンテンツデータを更に含み、
位置検出手段が、前記サービス提供サーバから取得したコンテンツデータにおける前記別の代理配信サーバのコンテンツデータの位置を検出し、
前記転送手段が前記検出されたコンテンツ位置の直後の位置から前記再現されたセッションを使って前記端末へコンテンツを転送する、
ことを特徴とする付記7−9のいずれか1項に記載の代理配信サーバの通信制御方法。
(付記13)
端末にモビリティ(移動性)を提供する移動通信システムであって、
複数のアクセス網ゲートウェイと、
それぞれ複数のアクセス網ゲートウェイと接続した複数のモビリティアンカと、
前記複数のモビリティアンカの各々と接続し外部ネットワークとの間に介在する代理配信サーバと、
を有し、前記代理配信サーバは、
前記モビリティアンカのリロケート要求が発生すると、前記端末へのコンテンツ配信を中継している別の代理配信サーバから前記コンテンツ中継に関するコンテキスト情報を取得するコンテキスト取得手段と、
前記取得したコンテキスト情報を用いて、前記別の代理配信サーバと前記端末との間で前記コンテンツ配信のために確立されたセッションの状態を前記端末との間で再現するセッション制御手段と、
前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて、前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送する転送手段と、
を有する、ことを特徴とする移動通信システム。
(付記14)
前記セッション制御手段は、前記コンテキスト情報に含まれるセッション情報を用いて前記端末との間に前記セッションの状態を再現することを特徴とする付記13に記載の移動通信システム。
(付記15)
前記セッション情報はTCP(Transmission Control Protocol)セッション状態を再現するために必要な情報であることを特徴とする付記14に記載の移動通信システム。
(付記16)
前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを格納する格納手段と、
外部からの配信開始要求信号の受信をコンテンツ配信開始の契機とし、前記再現されたセッションにより前記端末へ転送するコンテンツの配信タイミングを制御する配信開始要求処理手段と、
をさらに有することを特徴とする付記13−15のいずれか1項に記載の移動通信システム。
(付記17)
前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて、前記サービス提供サーバに対してコンテンツ要求を行う要求手段を更に有し、
前記転送手段が前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送することを特徴とする付記13−15のいずれか1項に記載の移動通信システム。
(付記18)
前記取得したコンテキスト情報は前記別の代理配信サーバの送信バッファに格納されたコンテンツデータを更に含み、
前記サービス提供サーバから取得したコンテンツデータにおける前記別の代理配信サーバのコンテンツデータの位置を検出する位置検出手段を更に有し、
前記転送手段が前記検出されたコンテンツ位置の直後の位置から前記再現されたセッションを使って前記端末へコンテンツを転送することを特徴とする付記13−15のいずれか1項に記載の移動通信システム。
(付記19)
端末にモビリティ(移動性)を提供するモビリティアンカを有する移動通信システムにおいてサービス提供サーバから前記端末へのコンテンツ配信を中継する代理配信サーバのプログラム制御プロセッサを機能させるプログラムであって、
コンテキスト取得手段が、前記モビリティアンカのリロケート要求が発生すると前記端末へのコンテンツ配信を中継している別の代理配信サーバから前記コンテンツ中継に関するコンテキスト情報を取得し、
セッション制御手段が、前記取得したコンテキスト情報を用いて、前記別の代理配信サーバと前記端末との間で前記コンテンツ配信のために確立されたセッションの状態を前記端末との間で再現し、
転送手段が、前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
(付記20)
前記セッション制御手段は、前記コンテキスト情報に含まれるセッション情報を用いて前記端末との間に前記セッションの状態を再現することを特徴とする付記19に記載のプログラム。
(付記21)
前記セッション情報はTCP(Transmission Control Protocol)セッション状態を再現するために必要な情報であることを特徴とする付記20に記載のプログラム。
(付記22)
前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを格納手段に格納し、
配信開始要求処理手段が、外部からの配信開始要求信号の受信をコンテンツ配信開始の契機とし、前記再現されたセッションにより前記端末へ転送するコンテンツの配信タイミングを制御する、
ことを特徴とする付記19−21のいずれか1項に記載のプログラム。
(付記23)
要求手段が、前記取得したコンテキスト情報から得られる前記別の代理配信サーバから前記端末へ配信済みのコンテンツ位置情報に基づいて、前記サービス提供サーバに対してコンテンツ要求を行い、
前記転送手段が前記コンテンツ要求により前記サービス提供サーバから配信されたコンテンツを前記再現されたセッションにより前記端末へ転送する、
ことを特徴とする付記19−21のいずれか1項に記載のプログラム。
(付記24)
前記取得したコンテキスト情報は前記別の代理配信サーバの送信バッファに格納されたコンテンツデータを更に含み、
位置検出手段が、前記サービス提供サーバから取得したコンテンツデータにおける前記別の代理配信サーバのコンテンツデータの位置を検出し、
前記転送手段が前記検出されたコンテンツ位置の直後の位置から前記再現されたセッションを使って前記端末へコンテンツを転送する、
ことを特徴とする付記19−21のいずれか1項に記載のプログラム。