(57)【特許請求の範囲】
【請求項１】
セッションマイグレーションを円滑化するためのコンピュータ実行可能方法であって、
中間ネットワークデバイスにおいて、リモートサーバを宛先とするクライアントからの通信パケットを受信することと、
前記通信パケットが既存の通信セッションに属するかどうかを決定することと、
前記通信セッションに関連づけられる状態情報が前記中間ネットワークデバイスにおいて入手可能かどうかを決定することと、
前記通信パケットが前記既存の通信セッションに属し、かつ前記通信セッションの状態情報が前記中間ネットワークデバイスにおいて入手できないことに応答して、少なくとも前記クライアントのアドレス及び前記通信パケットのシーケンス番号に基づいて、前記通信セッションに対応するコンテンツセントリックネットワーク（ＣＣＮ）のインタレストパケットを構築することであって、前記インタレストパケットはコンテンツの組織構成を表し、階層的に構成された可変長の第１のＣＣＮネームを含むことと、
前記インタレストパケットをネットワーク上で広めることと、
前記インタレストパケットを広めることに応答して、セッションデータパケットを受信することであって、前記セッションデータパケットはプレフィックスが前記インタレストパケットに含まれる前記第１のＣＣＮネームと適合する第２のＣＣＮネームを含み、かつ、前記セッションデータパケットは前記通信セッションの状態情報を含み、よってセッションマイグレーションを円滑化すること、
を含む方法。
【請求項２】
前記受信された通信セッションの状態情報を用いて前記既存の通信セッションを再構築することをさらに含む、請求項１に記載の方法。
【請求項３】
前記インタレストパケットは無線ＴＣＰパケットに含まれるトランスポート署名を基礎として構築され、かつ前記トランスポート署名は前記通信セッションを識別する、請求項１に記載の方法。
【請求項４】
前記クライアントは仮想専用ネットワーク（ＶＰＮ）対応であり、前記通信パケットはＶＰＮパケットである、請求項１に記載の方法。
【請求項５】
前記中間ネットワークデバイスはＶＰＮホストである、請求項４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してコンテンツセントリックネットワークに関する。より具体的には、本開示は、コンテンツセントリックネットワーク上のセッションマイグレーションを円滑化するための方法に関する。
【発明の概要】
【課題を解決するための手段】
【０００２】
本発明の一実施形態は、セッションマイグレーションを円滑化するためのシステムを提供する。動作の間、本システムは、中間ネットワークデバイスにおいてクライアントからリモートサーバ宛のパケットを受信する。本システムは、パケットが既存の通信セッションに属するかどうか、及びそのセッションに関連づけられる状態情報が中間ネットワークデバイスにおいて入手可能であるかどうかを決定する。通信パケットが既存の通信セッションに属し、かつセッションの状態情報が中間ネットワークデバイスにおいて入手できないことに応答して、本システムは、セッション状態情報を要求するインタレストを構築する。インタレストは、階層的に構成された可変長の名前を含む。システムは、ネットワーク上でインタレストを広めてセッション状態情報を受信し、これによりセッションマイグレーションを円滑化する。
【０００３】
この実施形態の一変形例では、本システムは、受信されたセッション状態情報を用いて既存の通信セッションを再構築する。
【０００４】
この実施形態の一変形例では、ネットワークはコンテンツセントリックネットワーク（ＣＣＮ）を含み、インタレストはＣＣＮインタレストである。
【０００５】
この実施形態の一変形例では、クライアントはモバイルデバイスであり、パケットは無線伝送制御プロトコル（ＴＣＰ）パケットである。
【０００６】
さらなる変形例において、インタレストは無線ＴＣＰパケットに含まれるトランスポート署名を基礎として構築され、トランスポート署名はセッションを識別する。
【０００７】
さらなる変形例では、中間ネットワークデバイスは基地トランシーバ局に位置決めされる。
【０００８】
この実施形態の一変形例では、クライアントは仮想専用ネットワーク（ＶＰＮ）対応であり、パケットはＶＰＮパケットである。
【０００９】
さらなる変形例において、インタレストは、ＶＰＮトンネルに対応するトランスポート署名を基礎として構築される。
【００１０】
さらなる実施形態では、中間ネットワークデバイスはＶＰＮホストである。
【図面の簡単な説明】
【００１１】
【図１】従来のモバイルバックホールネットワーク（先行技術）のアーキテクチャを示す図である。
【図２】本発明の一実施形態による、モバイルバックホールネットワークの例示的なアーキテクチャを示す図である。
【図３】本発明の一実施形態によるＣＣＮプロキシサーバの構成を示すブロック図である。
【図４】本発明の一実施形態によるセッションマイグレーションのプロセスを示すフローチャートである。
【図５】仮想専用ネットワーク（ＶＰＮ）対応ネットワーク（先行技術）の例示的なアーキテクチャを示す図である。
【図６】本発明の一実施形態による、ＶＰＮ対応ネットワークの例示的なアーキテクチャを示す図である。
【図７】本発明の一実施形態による、ＣＣＮ上のセッションマイグレーションを円滑化するための例示的なコンピュータシステムを示す。
【発明を実施するための形態】
【００１２】
本発明の実施形態は、確立されたセッションの１つの中間ネットワークデバイスから別の中間ネットワークデバイスへの効率的かつ安全な移動を円滑にする。動作の間、クライアントは、リモートサーバからコンテンツを受信するために、中間ネットワークデバイスとステートフルな通信セッションを確立する。中間ネットワークデバイス（プロキシサーバ等）はセッションの確立を円滑にし、かつクライアントにリモートサーバから受信されたコンテンツを提供する。所定の状況下では、クライアントは、同じセッション用に意図された後続のパケットを異なる中間ネットワークデバイスへ送信してもよい。既存のセッション用のパケットを受信すると、第２の中間デバイスは、受信したパケットが属するセッションに関連づけられる状態情報を要求するコンテンツセントリックネットワーク（ＣＣＮ）インタレストを近傍デバイス等の他の中間デバイスへ広める。このようなインタレストの受信に応答して、最初にそのセッションを確立した中間デバイスは、セッションに関連づけられる状態情報を要求側の中間デバイスへ送信し、よって要求側の中間デバイスは、このセッション状態を用いてもとのセッションを再開することができる。後にさらに詳述するように、ＣＣＮインタレストを用いて状態情報を取得することは、中間ネットワークデバイス間での状態情報のグレースフルかつ単純な伝送を可能にする。
【００１３】
コンテンツセントリックネットワーク（ＣＣＮ）においては、通信はデータのコンシューマによって駆動される。ＣＣＮでは、インタレスト及びデータという２つのパケットタイプが存在する。インタレストパケット（クエリとも呼ばれる）は、何らかのコンテンツに対する要求である。インタレストパケットは、どのようなコンテンツが望まれかつどのようなコンテンツが望まれないかを表す特殊な形式のクエリを符号化する。データパケット（コンテンツパケットとも呼ばれる）は、コンテンツの１単位である。データパケットは、データパケット内でそのフルネームを伝送することによって自己識別的である。コンシューマは、利用可能な全ての接続上でそのインタレストを同報通信することにより、コンテンツを要求する。このインタレストを聴きかつこれを満たすデータを有するノードは何れも、データパケットで応答することができる。データパケットは、インタレストに応答してのみ送信され、かつそのインタレストを消滅させる。インタレスト及びデータは共に、交換されているコンテンツをパケットに包含されるコンテンツネーム（またはＣＣＮネーム）によって識別する。インタレストパケット内のＣＣＮネームがデータパケット内のＣＣＮネームのプレフィックスであれば、データはインタレストを「満足する」。
【００１４】
ＣＣＮネームは、明示された数のコンポーネントで構成される不透明なバイナリオブジェクトである。さらに、ＣＣＮネームは持続的であり、かつコンテンツ特定的である。即ち、ファイルまたはデータオブジェクトのコンテンツを変えれば、このコンテンツは効果的には新しい名前に関連づけられる。この持続性は、明示的なバージョン管理機構によって達成されることが可能であり、このメカニズムでは、例えば新しいコンテンツが所定のネームの「バージョン４」になることが可能である。持続性は、黙示的に達成されることも可能である。例えば、コンテンツは、その人間によって確立された名前だけでなく、認証メタデータ（例えば、コンテンツ発行者によるデジタル署名）にも関連づけられることが可能である。その結果、所定の名前に関連づけられるデータが変わると、コンテンツネーム全体が変わる。
【００１５】
機能的には、ＣＣＮは、様々な名前と、名前が表すコンテンツとの間の関連性を保持することができる。従来のＩＰアドレスとは異なり、ＣＣＮネームは長さが一定である必要はない。実際に、ＣＣＮネームの個々のコンポーネントは任意の長さを有してもよい。さらに、コンテンツの組織構成を表し得るＣＣＮネームを構築することが望ましい。ある実施形態では、ＣＣＮネームは階層的であって、少なくとも部分的に人間が読み取ることができかつ意味を有するものであることが可能である。例えば、“／ａｂｃｄ／ｂｏｂ／ｐａｐｅｒｓ／ｃｃｎ／ｎｅｗｓ”は記事名である可能性があり、即ち、「ＡＢＣＤ」という名称の組織における、「Ｂｏｂ」という名前のユーザのための新聞の「ｃｃｎ」コレクションからの「ｎｅｗｓ」記事である可能性がある。ＣＣＮにおいては、アプリケーションの視点からすれば、「ＡＢＣＤ」という組織をどのようにして発見するか、またはこの組織におけるどのホストがＢｏｂのＣＣＮ刊行物を保有しているかをどのようにして発見するかをコンテンツコンシューマが決定する必要はない。ある実施形態では、一片のコンテンツを求めるために、ＣＣＮ内のデバイスは、その名前によってそのコンテンツに関心を抱くネットワークに登録し、コンテンツは、そのローカルネットワークで入手可能であれば上記デバイスにルートバックされる。ルーティングインフラストラクチャは、予想される刊行者へインタレストをインテリジェントに伝搬し、次に入手可能な任意のコンテンツをそのインタレストがトラバースした経路に沿って伝送し返すことを担う。
【００１６】
ＣＣＮは、ＣＣＮを特に魅力あるものにする追加の特性を有する。全てのコンテンツは暗号的に認証されることが可能であるが、これは、ネットワーク上のノードのサブセット（例えば、コンテンツの合法的なクエリア）の中には、一片のコンテンツの真正を検証できるものがあることを意味する。ＣＣＮは、刊行者に関わらず、データが名前によってアクセスされることも可能にする。同時に、所定の刊行者によるデータに合わせて特殊化された要求に調整することができる。例えば、“ｆｏｏ．ｔｘｔ”または“ｆｏｏ．ｔｘｔ  ｓｉｇｎｅｄ  ｂｙ  Ｂｏｂ”を要求することができる。作成者とコンシューマとの間では、任意形式の自己検証的な名前が契約として使用されることが可能である。また、混成式の自己検証ネームを使用することも可能であり、この場合、名前の前側のコンポーネントは組織及び効率的なルーティング用であり、名前の後側のコンポーネントは自己検証的である。最後に、ＣＣＮはコンテンツと信用との分離を許容し、同じコンテンツ片における信用を確立するために、異なるデータコンシューマが異なるメカニズムを用いることを有効化する。コンテンツは、単一の刊行者によって署名されていた可能性もあるが、これは異なる理由で信用されることが可能である。例えば、あるユーザは所定のコンテンツ片をその署名者との直の個人的な関係によって信用する場合があるのに対して、別のユーザは、この同じコンテンツを、ユーザが信用して選んでいる公開鍵インフラ（ＰＫＩ）にコンテンツの署名者が加入しているという理由で信用する場合がある。
【００１７】
ＣＣＮ固有の特性は、分散型のネットワークサービス仮想化に対するソリューションを提供することもできる。このような分散型のサービス仮想化は、モバイルバックホールサービス及び仮想専用ネットワーク（ＶＰＮ）サービスの実装において重要である。
【００１８】
本発明の実施形態は、様々なネットワーク環境において適用されることが可能である。例えば、本発明の実施形態は、モバイルネットワークにおけるハンドオフの間の効率的なセッションマイグレーション及び状態転送を円滑化する。
【００１９】
図１は、従来のモバイルバックホールネットワーク（先行技術）のアーキテクチャを示す図である。モバイルバックホールネットワーク１００は、基地トランシーバ局（ＢＴＳ）１０４と、サービスプロバイダ本部１０６と、ＰＳＴＮ（公衆交換電話網）１０８と、プロキシサーバ１１０と、幾つかのデータサーバ１１２−１１６とを含む。
【００２０】
動作の間、データサーバ１１２−１１６から所定のデータコンテンツを入手するために、モバイルデバイス（スマートホン等）１０２は要求信号を送信し、これがＢＴＳ１０４によって受信される。ＢＴＳ１０４は、本部１０６に位置決めされた基地局コントローラと通信する。基地局コントローラは、音声及びデータトラフィックを統合しかつタイミングと他の管理との同期の保持を担当する。伝統的に、基地局と基地局コントローラとの間の通信は、ＤＳ０／Ｅ１回路等のＴＤＭ専用回線上で伝送される。次に、モバイルデバイス１０２からの要求はＰＳＴＮ１０８を介してプロキシサーバ１１０へルーティングされ、プロキシサーバ１１０は次に、データサーバの負荷分散要件を基礎として要求の転送先にデータサーバ１１２−１１６のうちの１つを選択する。モバイルユーザの数が増加するにつれて、データトラフィックの量も増大する。その結果、プロキシサーバ１１０は多数のモバイル−データ−アクセス要求を処理する必要があり、これはますます厳しくなる。例えば、プロキシサーバ１１０では、接続を求めるモバイルデバイスへ動的な専用ＩＰアドレスを割り付けるために大規模なネットワークアドレス変換器（ＮＡＴ）が必要とされる。さらに、データサーバは地理的に分散されている可能性があることから、クライアントが物理的にプロキシサーバよりデータサーバの方に近い場合は特に、集中型のプロキシサーバは望ましくない遅延をもたらす場合がある。
【００２１】
本発明の実施形態は、ＩＰアドレスの割付けを含むデータ要求処理を行うために集中型のプロキシサーバを使用する代わりに、ユーザのデータ要求を処理できる分散型のプロキシサーバを実装する方法を提供する。ある実施形態では、モバイルデバイスによって使用される、例えばウェブサービスである可能性があるサービスは、ＣＣＮ上で仮想化される。
【００２２】
図２は、本発明の一実施形態による、モバイルバックホールネットワークの例示的なアーキテクチャを示す図である。モバイルバックホールネットワーク２００は、ＢＴＳ２０４及びＢＴＳ２０８等の幾つかの基地トランシーバ局と、ＣＣＮ２１２と、ネットワーク２２０と、幾つかのデータサーバ２１４−２１８とを含む。各ＢＴＳは、ＣＣＮ２１２へ結合されるＣＣＮプロキシサーバを含む。例えば、ＢＴＳ２０４はＣＣＮプロキシサーバ２０６を含み、ＢＴＳ２０８はＣＣＮプロキシサーバ２１０を含む。ＣＣＮプロキシサーバ２０６及び２１０は、モバイルサービスの仮想化を円滑化するように構成される。ある実施形態では、ＣＣＮプロキシサーバ２０６は、モバイルデバイス２０２と共に伝送制御プロトコル（ＴＣＰ）セッション等の通信セッションを確立する。通信セッションは、あるプロキシサーバから別のプロキシサーバへモバイルデバイス２０２に透過的な方法で移動することができる。リモートデータサーバ２１４−２１８は、ＣＣＮまたは従来のＴＣＰ／ＩＰネットワークであることが可能なネットワーク２２０を介してＣＣＮプロキシサーバ２０６及び２１０へ結合される。プロキシサーバ２０６及び２１０は、リモートサーバ２１４−２１８からのコンテンツをモバイルデバイス２０２へ送り込むことによって、モバイルデバイス２０２からの要求に報いる。
【００２３】
動作の間、モバイルデバイス２０２はまず、ＢＴＳ２０４に位置決めされるプロキシサーバ２０６と共にＴＣＰセッション等のステートフルな通信セッションを確立する。モバイルデバイス２０２とＣＣＮプロキシサーバ２０６との間のＴＣＰセッションは、標準的なスリーウェイハンドシェイクプロセスを使用して確立される。セッションの状態に関連づけられる、セッション識別子等の情報は、ＣＣＮプロキシサーバ２０６に格納される。ある実施形態では、セッション識別子は５タプルのトランスポート署名であり、｛ソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号、接続タイプ｝を含む。但し、「接続タイプ」は、「ＴＣＰ」または「ＵＤＰ」（ユーザデータグラムプロトコル）等のトランスポート層プロトコルを識別する。
【００２４】
ある実施形態では、データサーバ２１４−２１８は、ＣＣＮであることが可能なネットワーク２２０を介してＣＣＮプロキシサーバ２０６及び２１０へ結合される。ネットワーク２２０がＣＣＮである場合、ＣＣＮプロキシサーバ２０６は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求等の要求をＣＣＮのインタレストパケットに「移し」、ネットワーク２２０を介してこのインタレストを全てのデータサーバへ同報通信する。ＣＣＮインタレストを受信すると、データサーバの１つは、要求されたコンテンツによってインタレストに応答する。次に、ＣＣＮプロキシサーバ２０６はコンテンツをモバイルデバイス２０２へ転送し、かつ後の使用のためにコンテンツを局所的にキャッシュする。ＣＣＮプロキシサーバ２０６は、データサーバ２１４からのＣＣＮデータパケットを、先に格納されたＴＣＰセッション情報を使用してそのパケットのＣＣＮネームコンテンツをＴＣＰ／ＩＰヘッダに変換することによりＴＣＰ／ＩＰパケットに変換できることに留意されたい。さらなる実施形態では、データサーバ２１４−２１８は、従来のＴＣＰ／ＩＰネットワークを介してＣＣＮプロキシサーバ２０６及び２１０へ結合される。このようなシナリオにおいては、ＣＣＮプロキシサーバ２０６は従来の負荷分散機能を実行することができ、かつモバイルデバイス２０２とデータサーバ２１４等のリモートデータサーバとの間の通信セッションの確立を円滑化する。ＣＣＮプロキシサーバ２０６及び２１０は、リモートデータサーバ２１４−２１８から受信されたパケットをキャッシュできることに留意されたい。
【００２５】
ＣＣＮプロキシサーバ２０６及び２１０におけるリモートサーバからのコンテンツまたはパケットのキャッシュは、他のネットワークキャリアによって動作される場合が多いネットワーク２２０内の帯域幅消費を低減することができる。例えば、多くのモバイルユーザは、そのモバイルデバイスを使用してビデオコンテンツをホストするウェブサイトからの人気のあるビデオクリップを要求する場合がある。基地局に位置決めされるＣＣＮプロキシサーバは、モバイルユーザ毎にウェブサイトへの接続を確立する代わりに、幾人かのモバイルユーザへキャッシュされたコピーを提供することができ、よってネットワーク２２０における過度の帯域幅消費が防止される。
【００２６】
ウェブサイトからビデオをストリーミングする最中等、セッション持続時間の途中で、モバイルデバイス２０２は、ＢＴＳ２０４によってカバーされる領域（セルとも呼ばれる）から出て、ＢＴＳ２０８によってカバーされる領域へ入ることがある。典型的には、モバイルデバイス２０２が１つのセルから別のセルへ移動すると、そのセッションの残りのパケットが新しいＢＴＳにおいて最小限のパケットロスで受信され得ることを確実にする一般的なモバイル「ハンドオフ」プロセスが実行される。結果的に、モバイルデバイス２０２からの同一セッションのパケットは、この時点でＢＴＳ２０８に位置決めされるプロキシサーバ２１０によって受信される。
【００２７】
ＢＴＳ２０８に位置決めされたＣＣＮプロキシサーバ２１０は、モバイルデバイス２０２からのパケットを受信すると、そのパケットが既存のセッションに属するものであると認識することができる。しかしながら、ＣＣＮプロキシサーバ２１０はそのセッションに関連づけられる状態情報を持たず、よってこの既存のセッションを再開することができない。例えば、ＣＣＮプロキシサーバ２１０は、進行中のＨＴＴＰ接続のユニフォームリソースロケータ（ＵＲＬ）を知らない場合がある。この状態情報を入手するために、ＣＣＮプロキシサーバ２１０は、そのパケットに関連づけられる状態情報を要求するＣＣＮインタレストを、ＣＣＮ２１２を介してその近傍のプロキシサーバへ広める。モバイルデバイスは１つのセルからその近傍セルのうちの１つへと移動するだけであることから、状態情報は近傍の基地局のうちの１つに位置決めされている可能性が高いことに留意されたい。或いは、ＣＣＮインタレストは、ＣＣＮ２１２へ結合された他の全てのプロキシサーバへ同報通信されることも可能である。ある実施形態では、インタレストは、モバイルデバイス２０２のアドレスを基礎として構築される。先のＣＣＮプロキシサーバ２０６は、このようなインタレストを受信すると、要求されたセッション状態情報をＣＣＮプロキシサーバ２１０へ送信することによってこのインタレストを満たす。ＣＣＮインタレストを用いて状態情報を取得することにより、プロキシサーバ２１０は、先のプロキシサーバの正体（即ち、プロキシサーバ２０６）を知ることなくセッションを再開することができる。故に、この状態「ハンドオフ」プロセスは、プロキシサーバにほとんどオーバーヘッドを課さない。
【００２８】
セッションに関連づけられる状態情報を受信すると、ＣＣＮプロキシサーバ２１０はモバイルデバイス２０２との通信セッションを再開することができる。言い替えれば、モバイルデバイス２０２とＣＣＮプロキシサーバ２０６との間で先に確立されていた通信セッションは、この時点でＣＣＮプロキシサーバ２１０へと移動した。このようなセッションマイグレーションは、モバイルデバイス２０２に対して透過的であることに留意されたい。モバイルデバイス２０２の視点からすると、通信セッションの連続性はモバイルデバイス２０２が１つのセルから別のセルへ移動する間も変わらない。
【００２９】
ＢＴＳ毎にＣＣＮプロキシサーバを配置することに加えて、本発明の一実施形態では、地理的親和性を基礎として幾つかの基地トランシーバ局がグループ化され、各グループが単一のＣＣＮプロキシサーバを共用する。さらなる実施形態では、ＣＣＮプロキシサーバは無線エリアネットワーク（ＲＡＮ）センタに配置されることが可能である。さらに、プロキシサーバに加えて、スイッチ及びルータ等の他のタイプの中間ネットワークデバイスも、先に述べた透過的なセッションマイグレーション方法を実行することができる。
【００３０】
図３は、本発明の一実施形態によるＣＣＮプロキシサーバの構成を示すブロック図である。ＣＣＮプロキシサーバ３００は、パケット受信機構３０２と、セッション決定機構３０４と、インタレスト構築機構３０６と、インタレスト普及機構３０８と、セッション状態受信機構３１０と、セッション構築機構３１２とを含む。受信機構３０２は、モバイルデバイスから通信パケットを受信するように構成される。セッション決定機構３０４は、受信されたパケットが既存の通信セッションに属するかどうかを決定するように構成される。受信されたパケットが既存のセッションに属しかつＣＣＮプロキシサーバ３００がセッションを再構築するためのセッション状態情報を有していなければ、インタレスト構築機構３０６は、そのセッションに関連づけられるセッション状態情報を要求するインタレストを構築するように構成される。ある実施形態では、インタレストは、クライアントのアドレス、パケットのシーケンス番号及びパケットを識別する他の情報を基礎として構築される。インタレスト普及機構３０８は、ＣＣＮを介してインタレストを近傍のプロキシサーバへ広める。このようなインタレストに応答して、セッション状態を保持するプロキシサーバは、セッション状態情報を含むデータパケットで応答することができる。セッション状態受信機構３１０は、このようなセッション状態情報を受信するように構成される。受信されたセッション状態は、次にセッション構築機構３１２へ送信され、セッション構築機構３１２は、セッション状態を用いて通信セッションを再構築することができる。セッションが再開されると、ＣＣＮプロキシサーバ３００は、リモートサーバから引き出されるか局所的にキャッシュされているコンテンツをモバイルデバイスに提供してサービスを再開することができる。
【００３１】
図４は、本発明の一実施形態によるセッションマイグレーションのプロセスを示すフローチャートである。動作の間、ＣＣＮプロキシサーバはモバイルデバイスからパケットを受信する（オペレーション４０２）。ある実施形態では、パケットはＴＣＰ／ＩＰパケットである。プロキシサーバは、受信されたパケットが既存のセッションに属するかどうかを決定する（オペレーション４０４）。例えば、受信されたパケットは既存のセッションの新しいＨＴＴＰ要求である可能性があり、または、受信されたパケットはリモートサーバとセッションを開始しようとする新しいＨＴＴＰ要求である可能性もある。ある実施形態では、パケットが接続のセットアップを要する新しい接続であるかどうかを決定するために、パケットの５タプルセッション識別子を基礎とするセッションルックアップが実行される。受信されたパケットが既存のどのセッションにも属さなければ、プロキシサーバはクライアントとの新しいセッションを確立する（オペレーション４０６）。ある実施形態では、クライアントとプロキシサーバとの間で適切なハンドシェイクが実行される。
【００３２】
受信されたパケットが既存のセッションに属していれば、プロキシサーバは、これがそのセッションに関連づけられるセッション状態情報を有しているかどうかを決定する（オペレーション４０８）。有していれば、プロキシサーバは、このセッション状態情報を用いてセッションを再開する（オペレーション４１６）。有していなければ、プロキシサーバは、受信されたパケットのセッション状態情報を要求するＣＣＮインタレストを構築する（オペレーション４１０）。ある実施形態では、プロキシサーバは、５タプルのトランスポート署名を基礎としてインタレストを構築する。続いて、プロキシサーバはＣＣＮを介してその近傍のプロキシサーバへインタレストを広め（オペレーション４１２）、かつそのセッションが最初に確立されたプロキシサーバから応答を受信する（オペレーション４１４）。セッションに関連づけられる状態情報を受信した後、プロキシサーバはセッション状態を再構築し、こうしてプロキシサーバ上でのセッション再開が可能となる（オペレーション４１０）。
【００３３】
あるプロキシサーバから別のプロキシサーバへのセッションの移動はモバイルデバイスに対して透過的であり、モバイルデバイスはリモートサーバへの接続しか認識しないことに留意されたい。例えば、モバイルデバイスのユーザは、インターネットからビデオをストリーミングしながら１つのセルから隣接するセルへ移動することがある。ユーザにとって、モバイルデバイスとインターネットビデオサーバとの間の通信セッションは中断されない。ユーザは、そのモバイルデバイスとインターネットビデオサーバとの間の接続が異なる基地局に位置決めされた異なるプロキシサーバによって対処されているという事実に気づかない。プロキシサーバを異なる基地局に分散させることは、基地局におけるコンテンツのキャッシュを可能にし、よってモバイルバックホールネットワークにおける帯域幅が節約される。
【００３４】
モバイルサービスの仮想化に加えて、ある中間ネットワークデバイスから別の中間ネットワークデバイスへのセッション状態の移動を可能にする能力は、仮想専用ネットワーク（ＶＰＮ）サービスの仮想化も有効化することができる。ＶＰＮは、インターネット等の公衆電気通信インフラストラクチャを使用してリモートオフィスまたは個々のユーザにその組織のネットワークへの安全なアクセスを提供するネットワークである。ＶＰＮは、セキュリティ手順及びトンネリングプロトコルを使用することによってプライバシを保全する。トンネリングは、パケット全体を別のパケット内に配置しかつこれをネットワークを介して送信するプロセスである。外部パケットのプロトコルは、ネットワーク及びパケットがネットワークに進入するポイント及び出るポイントの双方によって理解される。例えば、ユーザは、インターネット上でサポートされないプロトコルを使用するパケットをＩＰパケット内部に置いて、インターネットを介してこれを安全に送信することができる。またユーザは、専用の（ルーティングの宛先とならない）ＩＰアドレスを用いるパケットを世界で一意なＩＰアドレスを用いるパケット内に置いて、インターネット上に専用ネットワークを広げることもできる。
【００３５】
図５は、ＶＰＮ対応ネットワーク（先行技術）の例示的なアーキテクチャを示す図である。ＶＰＮ対応ネットワーク５００は、幾つかのクライアント５０２−５０６と、公衆網５０８と、ＶＰＮホスト５１０と、幾つかのエンタープライズサーバ５１２−５１６とを含む。エンタープライズサーバ（サーバ５１２等）に安全にアクセスするために、クライアント（クライアント５０２等）はＶＰＮホスト５１０等のボーダーゲートウェイとの通信トンネルを確立する。ＶＰＮホスト５１０は、安全なポイントツーポイント通信トンネルを終了させ、ユーザの識別を検認しかつエンタープライズサーバ５１２−５１６間で負荷分散を実行するように構成される。
【００３６】
現代の労働者は、絶えず移動している。例えば、ある労働者は、家にＶＰＮトンネルを確立し、その同じＶＰＮトンネルを職場までの列車内で使用し続けることを希望する場合がある。さらに、スマートホンの急増も、より多くの従業員がスマートホンを使用して自社のＶＰＮホストへ接続していることを意味している。ＶＰＮ接続ポイントの移動性は、既存のＶＰＮトンネルを結果的に１つのＶＰＮホストから別のＶＰＮホストへ移動させる可能性がある。しかしながら、ＶＰＮトンネリングが新しいホスト上で正しく再開できることを保証するためには、このようなトンネル移動の間にＶＰＮトンネリング状態も先のホストから新しいホストへ転送される必要がある。
【００３７】
ＣＣＮでは、このような問題を解決することができる。図６は、本発明の一実施形態による、ＶＰＮ対応ネットワークの例示的なアーキテクチャを示す図である。ＶＰＮ対応ネットワーク６００は、幾つかのクライアント６０２−６０６と、公衆網６０８と、幾つかのＶＰＮホスト６１０−６１２と、ＣＣＮ６１４と、エンタープライズネットワーク６２４と、幾つかのエンタープライズサーバ６１６−６２２とを含む。ＶＰＮホスト６１０及び６１２は、ＣＣＮ６１４を介して互いに結合される。エンタープライズサーバ６１２−６２２は、エンタープライズネットワーク６２４を介してＶＰＮホスト６１０及び６１２へ結合される。エンタープライズネットワーク６２４は、ＣＣＮまたは従来のＴＣＰ／ＩＰネットワークであることが可能である。クライアント６０２−６０６とエンタープライズサーバ６１６−６２２との間の安全な通信を円滑化するために、クライアントとＶＰＮホストとの間には安全なＶＰＮが確立されることが可能である。例えば、本システムは、クライアント６０２とＶＰＮホスト６１０との間にＶＰＮトンネルをセットアップすることができる。ＶＰＮトンネルが確立した後は、クライアント６０２はエンタープライズサーバ６１６−６２２にアクセスすることができる。言い替えれば、クライアント６０２からのパケットは、ＶＰＮホスト６１０によって対応するエンタープライズサーバへ転送される。ある実施形態では、ＶＰＮホスト６１０は、クライアントから受信されたＴＣＰ／ＩＰパケット等のパケットをＣＣＮのインタレスト及びデータパケットのフォーマットに変換する。同様に、ＶＰＮホスト６１０も、エンタープライズサーバからのＣＣＮインタレスト及びデータパケットをクライアントが理解できる適切なパケットフォーマットに変換する。さらなる実施形態では、ＶＰＮホスト６１０は負荷分散も実行する。
【００３８】
続いて、クライアント６０２はあるロケーションから別のロケーションへ移動し、ＶＰＮホスト６１２との接続を確立する。その結果、既存のＶＰＮトンネルに対するクライアント６０２からの通信パケットは、この時点ではＶＰＮホスト６１２へ届く。このようなパケットの受信に応答して、ＶＰＮホスト６１２は、このパケットが進行中のＶＰＮトンネルに属すると決定する。さらに、ＶＰＮホスト６１２は、ＶＰＮホスト６１２が進行中のＶＰＮトンネルに関連づけられる状態情報を有していないことも決定する。このような情報は、重要な暗号化情報を含む場合もあることからＶＰＮトンネルの再開にとって重要である。続いて、ＶＰＮホスト６１２は、ＶＰＮトンネルに関連づけられる状態情報を要求するＣＣＮインタレストを構築し、このインタレストをＣＣＮを介して他のＶＰＮホストへ広める。ある実施形態では、ＣＣＮインタレストは他の全てのＶＰＮホストへ同報通信される。さらなる実施形態では、ＣＣＮインタレストは、パケットに含まれるＴＣＰの５タプルトランスポート署名を基礎として構築される。このようなインタレストを受信後、ＶＰＮホスト６１０は要求されたトンネル状態を有していると決定し、かつこのような情報を、ＣＣＮデータパケットを用いてＣＣＮ６１４を介しＶＰＮホスト６１２へ送信することができる。ＶＰＮホスト６１２は次に、受信された情報を用いてＶＰＮトンネル状態を再構築し、ＶＰＮトンネルを再開することができる。ＶＰＮホスト間のトンネルの移動は、クライアントには透過的であることに留意されたい。クライアント６０２の視点からすると、ロケーションを変える間もＶＰＮトンネルの連続性は保全される。
【００３９】
図７は、本発明の一実施形態による、ＣＣＮ上のセッションマイグレーションを円滑化するための例示的なコンピュータシステムを示す。図７において、コンピュータ及び通信システム７００は、プロセッサ７０２と、メモリ７０４と、格納デバイス７０６とを含む。格納デバイス７０６は、プロセッサ７０２によって実行されるべきプログラムを格納する。具体的には、格納デバイス７０６は、セッションマイグレーションアプリケーション７０８並びにアプリケーション７１０及び７１２等の他のアプリケーションを格納する。動作の間、セッションマイグレーションアプリケーション７０８は格納デバイス７０６からメモリ７０４へロードされ、次いでプロセッサ７０２によって実行される。プログラムを実行する間、プロセッサ７０２は先に述べた機能を実行する。コンピュータ及び通信システム７００は、任意選択のディスプレイ７１４、キーボード７１６及びポインティングデバイス７１８へ結合される。
【図１】
0006008467.tif 000002
【図２】
0006008467.tif 000003
【図３】
0006008467.tif 000004
【図４】
0006008467.tif 000005
【図５】
0006008467.tif 000006
【図６】
0006008467.tif 000007
【図７】
0006008467.tif 000008