(57)【要約】【課題】モバイル・ユーザのための透過的なキャッシュを提供する。【解決手段】システムは、ユーザ・デバイスに通信可能に接続し、データをキャッシュし、要求されたキャッシュ・データをユーザ・デバイスへ送信するよう動作するキャッシュ・ノードと、キャッシュ・ノードに通信可能に接続し、データをキャッシュし、要求されたキャッシュ・データを、キャッシュ・ノードを介してユーザ・デバイスへ送信するよう動作する、第１のサポート・キャッシュ・ノードとを含む。【選択図】図３
2014523582.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ・デバイスに通信可能に接続し、データをキャッシュし、要求されたキャッシュ・データを前記ユーザ・デバイスへ送信するよう動作するキャッシュ・ノードと、
前記キャッシュ・ノードに通信可能に接続し、データをキャッシュし、要求されたキャッシュ・データを、前記キャッシュ・ノードを介して前記ユーザ・デバイスへ送信するよう動作する、第１のサポート・キャッシュ・ノードと、
を含むシステム。
【請求項２】
前記キャッシュ・ノードは、前記ユーザ・デバイスからデータの要求を受信し、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているかどうかを判断し、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求をマークし、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされたデータの要求を、前記第１のサポート・キャッシュ・ノードへ送信するようさらに動作する、請求項１に記載のシステム。
【請求項３】
前記キャッシュ・ノードは、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信するようさらに動作する、請求項２に記載のシステム。
【請求項４】
前記キャッシュ・ノードは、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求を前記第１のサポート・キャッシュ・ノードへ送信するようさらに動作する、請求項２に記載のシステム。
【請求項５】
前記第１のサポート・キャッシュ・ノードは、前記キャッシュ・ノードからデータの要求を受信し、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求がマークされているかどうかを判断し、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていると判断するのに応答して、前記要求されたデータをキャッシュするよう動作する、請求項１に記載のシステム。
【請求項６】
前記第１のサポート・キャッシュ・ノードは、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断し、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信するようさらに動作する、請求項５に記載のシステム。
【請求項７】
前記第１のサポート・キャッシュ・ノードは、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断し、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求をコンテンツ・ソースへ送信するようさらに動作する、請求項５に記載のシステム。
【請求項８】
前記システムは、前記第１のサポート・キャッシュ・ノードに通信可能に接続された第２のサポート・キャッシュ・ノードをさらに含み、前記第１のサポート・キャッシュ・ノードは、前記キャッシュ・ノードからデータの要求を受信し、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求がマークされているかどうかを判断し、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていると判断するのに応答して、前記要求されたデータをキャッシュし、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされている前記データの要求を、前記第２のサポート・キャッシュ・ノードへ送信するよう動作する、請求項１に記載のシステム。
【請求項９】
前記第１のサポート・キャッシュ・ノードは、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断し、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信し、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求をマークし、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされたデータの要求を、前記第２のサポート・キャッシュ・ノードへ送信するようさらに動作する、請求項８に記載のシステム。
【請求項１０】
前記第１のサポート・キャッシュ・ノードは、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断し、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求を前記第２のサポート・キャッシュ・ノードへ送信するようさらに動作する、請求項８に記載のシステム。
【請求項１１】
キャッシュ・ノードにて、ユーザ・デバイスからデータの要求を受信するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求をマークするステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされたデータの要求を、第１のサポート・キャッシュ・ノードへ送信するステップと、
を含む方法。
【請求項１２】
前記方法は、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信するステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記方法は、前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求を前記第１のサポート・キャッシュ・ノードへ送信するステップをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記方法は、
前記キャッシュ・ノードからデータの要求を受信するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされているかどうかを判断するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていると判断するのに応答して、前記要求されたデータをキャッシュするステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１５】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信するステップと、
をさらに含む、請求項１４に記載の方法。
【請求項１６】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求をコンテンツ・ソースへ送信するステップと、
をさらに含む、請求項１５に記載の方法。
【請求項１７】
前記方法は、
前記キャッシュ・ノードからデータの要求を受信するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされているかどうかを判断するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていると判断するのに応答して、前記要求されたデータをキャッシュするステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされている前記データの要求を、第２のサポート・キャッシュ・ノードへ送信するステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１８】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求をマークするステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされたデータの要求を、前記第２のサポート・キャッシュ・ノードへ送信するステップと、
さらに含む、請求項１７に記載の方法。
【請求項１９】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求を前記第２のサポート・キャッシュ・ノードへ送信するステップと、
さらに含む、請求項１７に記載の方法。
【請求項２０】
キャッシュ・ノードからデータの要求を受信するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求がマークされているかどうかを判断するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていると判断するのに応答して、前記要求されたデータをキャッシュするステップと、
を含む方法。
【請求項２１】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータをユーザ・デバイスへ送信するステップと、
をさらに含む、請求項２０に記載の方法。
【請求項２２】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求をコンテンツ・ソースへ送信するステップと、
をさらに含む、請求項２１に記載の方法。
【請求項２３】
前記方法は、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされている前記データの要求を、第２のサポート・キャッシュ・ノードへ送信するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータを前記ユーザ・デバイスへ送信するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているというインジケータにより前記データの要求をマークするステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているという前記インジケータによりマークされたデータの要求を、前記第２のサポート・キャッシュ・ノードへ送信するステップと、
前記要求されたデータが前記キャッシュ・ノードにおいてキャッシュされているという前記インジケータにより前記データの要求がマークされていないと判断するのに応答して、前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、
前記要求されたデータが前記第１のサポート・キャッシュ・ノードにおいてキャッシュされていないと判断するのに応答して、前記データの要求を前記第２のサポート・キャッシュ・ノードへ送信するステップと、
さらに含む、請求項２１に記載の方法。
【請求項２４】
キャッシュ・ノードにて、ユーザ・デバイスからアプリケーション・プロセスの要求を受信するステップと、
前記アプリケーション・プロセスの前記要求が前記キャッシュ・ノードにて処理可能かどうかを判断するステップと、
前記アプリケーション・プロセスの前記要求が前記キャッシュ・ノードにて処理可能であると判断するのに応答して、前記キャッシュ・ノードにて前記アプリケーション・プロセスの前記要求を処理するステップと、
前記要求されたアプリケーション・プロセスが前記キャッシュ・ノードにて処理可能であると判断するのに応答して、前記要求されたアプリケーション・プロセスが前記キャッシュ・ノードにて処理されるというインジケータにより前記アプリケーション・プロセスの前記要求をマークするステップと、
前記要求されたアプリケーション・プロセスが前記キャッシュ・ノードにて処理されるという前記インジケータによりマークされた前記アプリケーション・プロセスの要求を、第１のサポート・キャッシュ・ノードへ送信するステップと、
を含む方法。
【請求項２５】
前記方法は、前記アプリケーション・プロセスの前記要求は前記キャッシュ・ノードにて処理不可能であると判断するのに応答して、前記アプリケーション・プロセスの前記要求を前記第１のサポート・キャッシュ・ノードへ送信するステップをさらに含む、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイル・デバイスに関し、特に、無線データ・システムにおいてデータをキャッシュすることに関する。
【背景技術】
【０００２】
無線データ・システムにおいて、無線デバイスは、無線サービス・プロバイダによって運用されるステーションに頻繁に無線接続される。ステーションは、多くの場合、インターネット・サーバ、ウェブサイト、およびその他コンテンツ・プロバイダなどのデータ・ソースからのデータ・オブジェクトを記憶するキャッシュ・サーバを含む。キャッシュ・サーバは、以前のユーザ要求からその機会を利用してキャッシュしておくと良いキャッシュ・オブジェクト、またはコンテンツ配布ネットワークから事前にプッシュされたキャッシュ・オブジェクトを記憶することができる。キャッシュ・サーバは、要求されたオブジェクトの代わりにキャッシュ・オブジェクトを代用し、代用されるキャッシュ・オブジェクトをユーザ・デバイスへ送信することによって、データ・ネットワークにおける帯域幅の使用量と、ユーザ・デバイスへのデータ伝送時間とを最小限に抑える。この代用は、多くの場合キャッシュ・サーバによって実行され、ユーザ・デバイスには透過的である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従って本発明の解決しようとする課題は、モバイル・ユーザのための透過的なキャッシュ、システム、方法を提供することである。
【課題を解決するための手段】
【０００４】
本発明の一実施形態によれば、システムは、ユーザ・デバイスに通信可能に接続し、データをキャッシュし、要求されたキャッシュ・データをユーザ・デバイスへ送信するよう動作するキャッシュ・ノードと、キャッシュ・ノードに通信可能に接続し、データをキャッシュし、要求されたキャッシュ・データを、キャッシュ・ノードを介してユーザ・デバイスへ送信するよう動作する、第１のサポート・キャッシュ・ノードとを含む。
【０００５】
本発明の別の実施形態によれば、方法は、キャッシュ・ノードにて、ユーザ・デバイスからデータの要求を受信するステップと、要求されたデータがキャッシュ・ノードにおいてキャッシュされているかどうかを判断するステップと、要求されたデータがキャッシュ・ノードにおいてキャッシュされていると判断するのに応答して、要求されたデータがキャッシュ・ノードにおいてキャッシュされているというインジケータによりデータの要求をマークするステップと、要求されたデータがキャッシュ・ノードにおいてキャッシュされているというインジケータによりマークされたデータの要求を、第１のサポート・キャッシュ・ノードへ送信するステップとを含む。
【０００６】
本発明の別の実施形態によれば、方法は、キャッシュ・ノードからデータの要求を受信するステップと、要求されたデータがキャッシュ・ノードにおいてキャッシュされているというインジケータによりデータの要求がマークされているかどうかを判断するステップと、要求されたデータがキャッシュ・ノードにおいてキャッシュされているというインジケータによりデータの要求がマークされていると判断するのに応答して、要求されたデータをキャッシュするステップとを含む。
【０００７】
本発明のさらに別の実施形態によれば、方法は、キャッシュ・ノードにて、ユーザ・デバイスからアプリケーション・プロセスの要求を受信するステップと、アプリケーション・プロセスの要求がキャッシュ・ノードにて処理可能かどうかを判断するステップと、アプリケーション・プロセスの要求がキャッシュ・ノードにて処理可能であると判断するのに応答して、キャッシュ・ノードにてアプリケーション・プロセスの要求を処理するステップと、要求されたアプリケーション・プロセスがキャッシュ・ノードにて処理可能であると判断するのに応答して、要求されたアプリケーション・プロセスがキャッシュ・ノードにて処理されるというインジケータによりアプリケーション・プロセスの要求をマークするステップと、要求されたアプリケーション・プロセスがキャッシュ・ノードにて処理されるというインジケータによりマークされたアプリケーション・プロセスの要求を、第１のサポート・キャッシュ・ノードへ送信するステップとを含む。
【０００８】
本発明の技術によって、さらなる特徴および利点が実現される。本願明細書には、本発明のほかの実施形態および側面が詳しく記載されており、それらは特許請求される発明の一部と見なされる。利点および特徴と併せて本発明をより深く理解するために、本記載および図面を参照されたい。
【０００９】
本発明と見なされる主題は、本明細書に添付された特許請求の範囲において詳しく指摘され、明確に請求されている。本発明の前述の特徴およびほかの特徴、ならびに利点が、添付の図面と併せて以下の詳細な説明を理解することによって明らかとなる。
【図面の簡単な説明】
【００１０】
【図１】データ・ネットワーク・システムの従来技術の例を示す。
【図２】データ・ネットワーク・システムの従来技術の例を示す。
【図３】データ・ネットワーク・システムの例示の実施形態を示す。
【図４】データ・ネットワーク・システムの例示の実施形態を示す。
【図５】図３のキャッシュ・ノードを動作させる例示の方法のブロック図を示す。
【図６】図３のサポート・キャッシュ・ノードを動作させる例示の方法のブロック図を示す。
【図７】システムの例示のアーキテクチャのブロック図を示す。
【図８】図７のサポート・キャッシュ・ノードを動作させる例示の方法のブロック図を示す。
【図９】図３および図７のキャッシュ・ノードを動作させる例示の方法のブロック図を示す。
【発明を実施するための形態】
【００１１】
図１および図２は、データ・ネットワーク・システム（システム）１００の従来技術の例を示す。この点に関して、図１を参照する。システム１００は、キャッシュ・ノード（ＣＮ：ｃａｃｈｅ  ｎｏｄｅ）ＡおよびＢ  １０２ａおよび１０２ｂ（概して１０２という）を含み、これらは、ネットワーク１０６を介してゲートウェイ・ノード１０４に通信可能に接続されるとよい。ゲートウェイ・ノード１０４およびＣＮ１０２は、例えば、１つ以上のプロセッサ、メモリ・デバイス、ユーザ入力デバイス、入出力通信ハードウェア、およびディスプレイ・デバイスを含み得る通信サーバのハードウェアおよびソフトウェアを含む。ゲートウェイ・ノード１０４は、ネットワークまたはインターネットを介して、例えばハイパーテキスト・マークアップ言語（ＨＴＭＬ：ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースのウェブサイト（単数または複数）など、任意数のコンテンツ・ソース１０８に通信可能に接続するとよい。図示された実施形態におけるユーザ・デバイス１０１は、モバイル・コンピューティング・デバイスであるが、任意のタイプのユーザ・デバイスが含まれ得ると考えられる。動作中、ユーザ・デバイス１０１には、ＣＮ  Ａ  １０２ａが対応し、ユーザ・デバイス１０１は、ユーザ・デバイス１０１が１つ以上のコンテンツ・ソース１０８（データ・オブジェクトの発信元（単数または複数））からインターネットを介してオブジェクトをダウンロードできるように、例えば伝送制御プロトコル（ＴＣＰ：ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ）セッションなどのエンド・ツー・エンド・セッションを開く。該当するデータ・オブジェクトがＣＮ  Ａ  １０２ａにキャッシュされていない場合、ＣＮ  Ａ  １０２ａは、ネットワーク１０６、ゲートウェイ・ノード１０４、およびインターネットを経由して、要求をコンテンツ・ソース１０８へ転送し、コンテンツ・ソース１０８が、データ・オブジェクトをユーザ・デバイス１０１に供給する。ＣＮ  Ａ  １０２ａキャッシュにローカルに記憶され、要求されたデータに関連する該当するデータ・オブジェクトを、ＣＮ  Ａ  １０２ａが保有していれば、ＣＮ  Ａ  １０２ａは、データ・オブジェクトの発信元と交信せずに、ローカルでデータ・オブジェクトの要求に対応する。
【００１２】
図１では、線１０３が、ＣＮ  Ａ  １０２ａに記憶されユーザ・デバイス１０１へ送信されるデータに関するキャッシュ・データ・フロー・パスを示し、線１０５が、コンテンツ・ソース１０８からユーザ・デバイス１０１へデータが流れる非キャッシュ・データ・フロー・パスを示す。エンド・ツー・エンド・セッション（セッション）において、ユーザ・デバイス１０１は、キャッシュ・データもしくは非キャッシュ・データまたはその両方を受信し得る。ユーザ・デバイス１０１がキャッシュ・データを受信しているか、非キャッシュ・データを受信しているかは、ユーザ・デバイス１０１には透過的である。図２を参照する。ユーザ・デバイス１０１は、エンド・ツー・エンド・セッション中に位置を移動したが、その結果、ＣＮ  Ａ  １０２ａとの間の無線接続は失われ、ＣＮ  Ｂ  １０２ｂとの間の無線接続が確立された。（別の例では、ユーザ・デバイス１０１は動かないままであってもよいが、ＣＮ  Ａ  １０２ａが停電に遭遇するなど、ほかの要因により、ＣＮ  Ａ  １０２ａに対する無線接続が失われ得る。そのような例において、例えばＣＮ  Ｂ  １０２ｂなどの別のＣＮ  １０２が、ユーザ・デバイス１０１との接続を確立するとよい。）セッションはＣＮ  Ａ  １０２ａによって管理されていたため、エンド・ツー・エンド・セッションの間にＣＮ  Ｂ  １０２ｂへの無線接続が確立されても、ＣＮ  Ｂ  １０２ｂにはセッションの状態が分からない。従って、ＣＮ  Ｂ  １０２ｂは、例えば、データ・フロー・パス線１０７によって示されているように、コンテンツ・ソース１０８からのデータ・オブジェクトのコンテンツ・ダウンロードをユーザ・デバイス１０１に強制的に再度開始させる、ＴＣＰリセット・メッセージを送信することによって、セッションをリセットする。セッションを再度開始することは、ネットワーク帯域幅の使用量を増加させ、ユーザ・デバイス１０１とキャッシュ・ノード１０２との間の接続が失われた場合のデータ・キャッシング・スキームの効率を低下させる。
【００１３】
図３および図４は、上述のシステム１００に類似しているが、（図１の）ゲートウェイ・ノード１０４がサポート・キャッシュ・ノード（ＳＣ：ｓｕｐｐｏｒｔ  ｃａｃｈｅ）２０４に置き換えられた、データ・ネットワーク・システム（システム）２００の例示の実施形態を示す。サポート・キャッシュ・ノード２０４は、上述のゲートウェイ・ノード１０４に類似しているが、プロセッサと、上述のＣＮ  ＡおよびＢ  １０２ａおよび１０２ｂ内のキャッシュに類似しデータ・オブジェクトをキャッシュするよう動作するメモリ・キャッシュとを含む。図３を参照する。ユーザ・デバイス１０１は、キャッシュ・ノードＡ  ２０２ａとエンド・ツー・エンド・セッションを確立しており、データ・フロー・パス１０３を介してＣＮ  Ａ  ２０２ａからキャッシュ・データを受信しており、さらに、データ・フロー・パス１０５を介してコンテンツ・ソース１０８からいくらかのデータを受信し得る。ＣＮ２０２はそれぞれ、プロセッサおよびメモリ・キャッシュを含む。ＣＮ  Ａ  ２０２ａは、ユーザ・デバイス１０１からデータの要求を受信すると、データがＣＮ  Ａ  ２０２ａにおいてキャッシュされているかどうかを判断する。データがＣＮ  Ａ  ２０２ａにおいてキャッシュされていなければ、ＣＮ  Ａ  ２０２ａは、フロー・パス１０５を介してコンテンツ・ソース１０８に要求を渡す。データがＣＮ  Ａ  ２０２ａにおいてキャッシュされていれば、ＣＮ  Ａ  ２０２ａは、キャッシュ・データをユーザ・デバイス１０１に供給し、さらに、データ・フロー・パス２０１によって示されているように、ＣＮ  Ａ  ２０２ａ内のキャッシュ・データによって要求に対応しているというインジケータとともに、要求をＳＣ２０４へ転送する。インジケータは、例として、例えば汎用パケット無線サービス・トンネリング・プロトコル（ＧＴＰ：ｇｅｎｅｒａｌ  ｐａｃｋｅｔ  ｒａｄｉｏ  ｓｅｒｖｉｃｅ  ｔｕｎｎｅｌｉｎｇ  ｐｒｏｔｏｃｏｌ）もしくはインターネット・プロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）、もしくはその両方を含み得るネットワーク・レイヤの上のプロトコル・スタックにおけるフィールド内のビットに対する変更、またはネットワーク・レイヤの上の新たなヘッダを含んでもよい。ＳＣ２０４は、ＣＮ  Ａ  ２０２ａから要求を受信すると、データを読み出してキャッシュし、ＣＮ  Ａ  ２０２ａ内のキャッシュ・データによって要求に対応しているというインジケータが、要求に含まれたかどうかを判断する。含まれていれば、ＳＣ２０４は、キャッシュ・データをローカルに保持してＣＮ  Ａ  ２０２ａと同様のデータ・キャッシング機能を実行するが、ＳＣ２０４は、キャッシュ・データを保持し、データをユーザ・デバイス１０１へ転送することはない。ＳＣ２０４は、データをユーザ・デバイス１０１へ転送することなく、ＣＮ  Ａ  ２０２ａサーバのキャッシング状態をミラーリングする。
【００１４】
図４を参照する。ユーザ・デバイス１０１は、ＣＮ  Ａ  ２０２ａとの接続を失ったが、ＣＮ  Ｂ  ２０２ｂとの接続を確立した。ユーザ・デバイス１０１と、ＣＮ  Ｂ  ２０２ｂとの間で接続が確立されても、ＣＮ  Ｂ  ２０２ｂは、セッションの状態が分からず、ＣＮ  Ｂ  ２０２ｂにおいてローカルで記憶されているキャッシュ・データを、ユーザ・デバイス１０１へ送信することができない。従って、ＣＮ  Ｂ  ２０２ｂは、ＣＮ  Ｂ  ２０２ｂがユーザ・デバイス１０１にＣＮ  Ｂ  ２０２ｂ内のキャッシュ・データを供給しているというインジケータなしで、データの要求を、ＳＣ２０４を介してコンテンツ・ソース１０８へ送信する。ＳＣ２０４は、インジケータのないデータ要求を受信し、ＳＣ２０４が、要求されたデータをキャッシュしているかどうかを判断する。していなければ、ＳＣ２０４は、データ要求をコンテンツ・ソース１０８へ転送する。していれば、ＳＣ２０４は、フロー・パス２０３によって示されているように、該当するキャッシュ・データをユーザ・デバイス１０１に供給する。ＳＣ２０４においてキャッシュされていないデータのデータ要求の場合、データ要求は、コンテンツ・ソース１０８へ送信され、フロー・パス２０７に沿ってユーザ・デバイス１０１に供給される。ユーザ・デバイス１０１からの後のデータ要求は、ＣＮ  Ｂ  ２０２ｂにてローカルでキャッシュされているデータの要求を含み得る。ＣＮ  Ｂ  ２０２ｂは、ＣＮ  Ｂ  ２０２ｂによってデータがユーザ・デバイス１０１にローカルで供給されているというインジケータによりデータ要求をマークし、インジケータ付きの要求を、上述と同様の形でフロー・パス２０５に沿ってＳＣ２０４へ転送する。続いて、ＳＣ２０４は、セッションの状態認識を維持するために、ＣＮ  Ｂ  ２０２ｂのキャッシュをミラーリングするとよい。
【００１５】
上述のシステム２００は、ＳＣ２０４が、明示的な状態情報の転送を受信しなくても、ＣＮ２０２の挙動を模倣することを可能にするが、これは、ＣＮ２０２およびＳＣ２０４が同様のソフトウェアを実行し、同じ入力を与えられると同じ決定的結果を生じさせる擬似乱数関数を使用することを想定している。例えば、トランスポート・プロトコルがＴＣＰであり、アプリケーション・プロトコルがＨＴＴＰであれば、ユーザによって送信された同じＴＣＰ／ＨＴＴＰパケットを与えられると、ＣＮ２０２およびＳＣ２０４の両方が、同じ応答パケットを生じさせる。これは、初期のＴＣＰシーケンス番号が、ＣＮ２０２およびＳＣ２０４に共通の情報を入力として得る同じ擬似乱数関数によって生じたものであると想定している（例えば、ＴＣＰ接続の最初のパケットでありＴＣＰヘッダにＳＹＮフラグを含む着信ＴＣＰ  ＳＹＮパケットの、一方向ハッシュを使用）。暗黙の状態同期化が可能でない場合、ＣＮ２０２およびＳＣ２０４は、同期化を可能にするプロトコル／アプリケーション情報を交換してもよい。プロトコル／アプリケーション情報の交換は、例えば、ＣＮ２０２およびＳＣ２０４のみに可視であるＴＣＰヘッダの上の新たなヘッダを追加することにより達成され得る。そのようなヘッダは、パケットがユーザ・デバイス１０１またはコンテンツ・ソース１０８へ送信される前に、データ・パケットから除去されることになる。
【００１６】
図５は、（図３の）ＣＮ  ＡおよびＢ  ２０２ａおよび２０２ｂを動作させる例示の方法のブロック図を示す。ブロック３０２では、ＣＮ２０２にて、ユーザ・デバイス１０１からデータの要求が受信される。ブロック３０４において、ＣＮ２０２は、要求されたデータがキャッシュ・ノード上にキャッシュされているかどうかを判断する。データがキャッシュされていなければ、ブロック３０６において、データ要求はサポート・キャッシュ・ノードへ転送される。ブロック３０８において、要求されたデータが受信される。要求されたデータは、そのデータをキャッシュしているかもしれないサポート・キャッシュ・ノード２０４から受信されても、またはサポート・キャッシュ・ノード２０４を介してコンテンツ・ソース１０８から受信されてもよい。ブロック３１０において、ＣＮ２０２は、受信されたデータをユーザ・デバイス１０１へ転送する。要求されたデータがＣＮ２０２上にキャッシュされていれば、ブロック３１２において、データ要求は、ＣＮ２０２がキャッシュ・データをユーザ・デバイス１０１に供給していることを示すインジケータによりマークされ、ＳＣ２０４へ転送される。ブロック３１４において、キャッシュ・データがユーザ・デバイスに供給される。
【００１７】
図６は、（図３の）サポート・キャッシュ・ノード２０４を動作させる例示の方法のブロック図を示す。ブロック４０２において、ＳＣ２０４は、ＣＮ２０２によって転送されたユーザ・デバイス１０１からのデータの要求を受信する。ブロック４０４において、ＳＣ２０４は、ＣＮ２０２にてキャッシュされたデータを用いてＣＮ２０２がユーザ・デバイス１０１にデータを供給しているというインジケータを、受信された要求が含むかどうかを判断する。含む場合、ブロック４０６において、ＳＣ２０４は、要求されたデータをキャッシュするが、ＣＮ２０２を介してキャッシュ・データをユーザ・デバイス１０１へ転送することはない。含まない場合、ブロック４０８において、ＳＣ２０４は、要求されたデータがＳＣ２０４上にキャッシュされているかどうかを判断する。キャッシュされていれば、ブロック４１０において、ＳＣ２０４は、キャッシュ・データをユーザ・デバイス１０１に供給する。キャッシュされていなければ、ブロック４１２において、ＳＣ２０４は、データ要求をコンテンツ・ソース１０８へ転送する。ブロック４１４において、ＳＣ２０４は、要求されたデータをコンテンツ・ソース１０８から受信する。ブロック４１６において、受信されたデータはＣＮ２０２を介してユーザ・デバイス１０１へ転送される。
【００１８】
図７は、システム５００の例示のアーキテクチャのブロック図を示す。システム５００は、上述のシステム２００と同様の形で動作するが、追加のサポート・キャッシュ（ＳＣ）ノード５０４ａ、５０４ｂ、および２０４ｃを含み、ＳＣノード２０４ｃは、中間のＳＣノード５０４ａおよび５０４ｂからデータを送受信するよう構成される。システム５００において、ＣＮ２０２は、システム２００において上述したＣＮ２０２と同様に動作する。ＳＣ２０４ｃは、システム２００のＳＣ２０４ノードと同様に動作する。ＳＣノード５０４ａおよび５０４ｂの動作の例示の方法は、以下、図８において記載される。システム５００の例示の実施形態は、５つのＣＮ２０２、２つの中間のＳＣノード５０４ａおよび５０４ｂ、ならびにＳＣノード２０４ｃを含むが、別の実施形態は、任意数の階層レベルを含み得る任意数のノードを含んでよい。
【００１９】
図８は、（図７の）ＳＣノード５０４ａおよび５０４ｂを動作させる例示の方法のブロック図を示す。ブロック６０２において、ＳＣ５０４は、ＣＮ２０２によって転送されたユーザ・デバイス１０１からのデータの要求を受信する。ブロック６０４において、ＳＣ５０４は、ＣＮ２０２にてキャッシュされたデータを用いてＣＮ２０２がユーザ・デバイス１０１にデータを供給しているというインジケータを、受信された要求が含むかどうかを判断する。含む場合、ブロック６０６において、ＳＣ５０４は、要求されたデータをキャッシュするが、ＣＮ２０２を介してキャッシュ・データをユーザ・デバイス１０１へ転送することはない。含まない場合、ブロック６０８において、ＳＣ５０４は、要求されたデータがＳＣ５０４上にキャッシュされているかどうかを判断する。キャッシュされていれば、ブロック６１０において、ＳＣ５０４は、キャッシュ・データがユーザ・デバイス１０１に供給されているというインジケータとともに、データ要求を上流のサポート・キャッシュ・ノード（例えばＳＣ  ２０４ｃ）へ転送する。ブロック６１２において、ＳＣ５０４は、キャッシュ・データをユーザ・デバイス１０１に供給する。キャッシュされていなければ、ブロック６１４において、ＳＣ５０４は、データ要求を上流のＳＣノード２０４ｃへ転送する。ブロック６１６において、ＳＣ５０４は、要求されたデータを上流のノード（例えばＳＣノード２０４ｃを介してコンテンツ・ソース１０８）から受信する。ブロック６１８において、受信されたデータはＣＮ２０２を介してユーザ・デバイス１０１へ転送される。
【００２０】
上流のＳＣノード２０４ｃは、システム２００で上述したＳＣノード２０４と同様の形で動作する。この点に関して、ＳＣノード２０４ｃは、キャッシュ・データが下流のノード（例えばＳＣ５０４またはＣＮ２０２）によってユーザ・デバイスに供給されているというインジケータをデータ要求が含むかどうかを判断し、インジケータが存在すれば、ＳＣノード２０４ｃはデータをキャッシュする。インジケータが存在しなければ、ＳＣノード２０４ｃは、ＳＣノード２０４ｃがキャッシュ・データを保有しているかどうかを判断する。ＳＣノード２０４ｃがキャッシュ・データを保有していれば、ＳＣノード２０４ｃは、データをユーザ・デバイス１０１に供給する。ＳＣノード２０４ｃがキャッシュ・データを保有していなければ、ＳＣノード２０４ｃは、データ要求をコンテンツ・ソース１０８へ転送する。
【００２１】
別の実施形態では、同様の通信方法およびシステムが、ウェブ・アプリケーションまたはＴＣＰアプリケーションをユーザ・デバイス１０１に供給するために使用され得る。この点に関して、図９は、（図３および図４の）システム２００または（図７の）システム５００によって実行され得る方法のブロック図を示す。図９を参照する。ブロック７０２において、（図３および図４の）ＣＮ  Ａ  ２０２ａが、ユーザ・デバイス１０１からアプリケーション・プロセスの要求を受信する。ＣＮ  Ａ  ２０２ａは、アプリケーションに対するデータの要求または入力を受信して、アプリケーションを用いて要求または入力を処理して、データをユーザ・デバイス１０１に返すことによって、アプリケーションをユーザ・デバイス１０１に供給できる。ブロック７０４において、ＣＮ  Ａ  ２０２ａは、アプリケーション・プロセスをＣＮ  Ａ  ２０２ａにて実行できるかどうかを判断する。できなければ、ブロック７０６において、ＣＮ  Ａ  ２０２ａは、要求をＳＣ２０４へ転送する。ＳＣ２０４は、要求を受信し、ブロック７０８において、要求されたアプリケーション・プロセスを処理または実行する。（ＳＣ２０４がシステム５００と同様のシステムにおいて構成されている場合、ＳＣ２０４は、要求がＳＣ２０４にて実行されているというインジケータとともに、または適切であればインジケータなしで、要求を上流ノードへ転送するとよい。）ブロック７１０において、ＳＣ２０４は、アプリケーション・プロセスをユーザ・デバイス１０１に供給する。プロセスがキャッシュ・ノードＡ  ２０２ａにて実行可能であれば（ブロック７０４において）、ブロック７１２において、ＣＮ  Ａ  ２０２ａは、アプリケーション・プロセスがＣＮ  Ａ  ２０２ａによってユーザ・デバイス１０１に供給されているというインジケーションとともに、要求をＳＣ２０４へ転送する。ブロック７１４において、ＣＮ  Ａ  ２０２ａは、アプリケーション・プロセスをユーザ・デバイス１０１に供給する。従って、システム２００および（図７の）システム５００は、アプリケーションをユーザ・デバイス１０１に供給するために、上述したキャッシング・スキームと同様のスキームを使用し得る。
【００２２】
当業者であれば当然のことであるが、本発明の各側面は、システム、方法またはコンピュータ・プログラム製品として具現化され得る。従って、本発明の側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または本願明細書においてすべて概して「回路」、「モジュール」、もしくは「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形式をとってもよい。さらに、本発明の各側面は、コンピュータ読み取り可能プログラム・コードが具現化された１つ以上のコンピュータ読み取り可能媒体（単数または複数）において具現化された、コンピュータ・プログラム製品の形態をとることもできる。１つ以上のコンピュータ読み取り可能媒体（単数または複数）の任意の組み合わせが利用され得る。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とされ得る。コンピュータ読み取り可能記憶媒体は、例えば、限定はされないが、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム、装置もしくはデバイス、または前述のものの任意の適切な組み合わせとされ得る。コンピュータ読み取り可能記憶媒体のより具体的な例（包括的でないリスト）には、１つ以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）もしくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光学式記憶デバイス、磁気記憶デバイス、または前述のものの任意の適切な組み合わせが含まれるであろう。この文書の文脈では、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、または格納することができる任意の有形の媒体であればよい。
【００２３】
コンピュータ読み取り可能信号媒体は、例えば、ベースバンドに、または搬送波の一部として、コンピュータ読み取り可能プログラム・コードが具現化された伝播データ信号を含み得る。そのような伝播信号は、電磁気、光学、またはその任意の適切な組み合わせを含むがこれらに限定はされない、様々な形態のいずれかをとってよい。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でなく、命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムを伝達すること、伝播させること、または移送することができる、任意のコンピュータ読み取り可能媒体としてよい。
【００２４】
コンピュータ読み取り可能媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、または前述のものの任意の適切な組み合わせを含むがこれらに限定はされない、任意の適切な媒体を使用して伝送されてもよい。
【００２５】
本発明の側面の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋または同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続きプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれていてよい。プログラム・コードは、完全にユーザのコンピュータ上で実行されても、部分的にユーザのコンピュータ上で実行されても、スタンド・アロン・ソフトウェア・パッケージとしても、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されても、または完全にリモート・コンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されてもよく、または（例えばインターネット・サービス・プロバイダを使用しインターネットを介して）外部コンピュータに接続されてもよい。
【００２６】
本発明の側面について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して下記に記載する。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実装可能である。マシンを生じるよう、こうしたコンピュータ・プログラム命令が、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装する手段を作り出すようにすることもできる。さらに、特定の形で機能するようコンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイスに指示することができる当該コンピュータ・プログラム命令は、コンピュータ読み取り可能媒体に記憶されて、コンピュータ読み取り可能媒体に記憶されたこの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装する命令を含む製品を生じるようにすることもできる。さらに、コンピュータ・プログラム命令は、コンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイスにロードされて、コンピュータ、その他のプログラム可能装置、またはその他のデバイス上で一連の動作ステップが実行されるようにしてコンピュータで実装されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装するためのプロセスを提供するようにすることもできる。各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性、および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定の論理機能（単数または複数）を実装する１つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。なお、さらに、一部の代わりの実装では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよい。例えば、関連する機能性次第で、連続して示されている２つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが逆順で実行されることがあってもよい。なお、さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方の複数ブロックの組み合わせは、指定の機能もしくは動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実装することができる。
【００２７】
上記の実施形態の技術的な効果および利点には、キャッシュ・データをシステム内の上流ノードに維持して、上流ノードからのキャッシュ・データをユーザ・デバイスに供給することによって、ユーザ・デバイスがキャッシュ・ノードとの無線接続を失ったときに、無線ネットワークにおけるキャッシュ・データの状態が保存されることを可能にするシステムおよび方法が含まれる。
【００２８】
本願明細書で使用される専門用語は、特定の実施形態を説明するためのものでしかなく、本発明の限定となることは目的としていない。本願明細書で使用される、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈によりそうでないことが明確に示されていない限り、複数形も含むものとする。さらに、当然のことながら、「含む」もしくは「含んでいる」という用語、またはその両方は、本明細書で使用される場合、記載された機能、完全体、ステップ、動作、構成要素、もしくはコンポーネント、またはそのいずれかの組み合わせの存在を指定するが、１つ以上のほかの機能、完全体、ステップ、動作、構成要素、コンポーネント、もしくはそのグループ、またはそのいずれかの組み合わせの存在または追加を除外するものではない。
【００２９】
添付の特許請求の範囲のミーンズまたはステップ・プラス・ファンクション構成要素すべての対応する構造、材料、動作、および等価物は、明確に請求されているほかの請求される構成要素とともに機能を実行する任意の構造、材料、または動作を含むものとする。本発明の記載は、例示および説明のために示されたものであるが、包括的であることも、開示された形態の発明に限定されることも目的としていない。当業者には、本発明の範囲および意図から逸脱することのない、多数の変更および変形が明らかであろう。実施形態は、本発明の原理および実際の応用を最もよく説明して、当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態に関して、本発明を理解できるように選ばれ、記載された。
【００３０】
本願明細書で示されたフロー図は、１つの例にすぎない。この図またはそこに記載されているステップ（もしくは動作）には、本発明の意図から逸脱することのない、多数の変形があり得る。例えば、ステップが異なる順序で実行されてもよく、またはステップが追加、削除、もしくは変更されてもよい。こうした変形のすべてが、請求される発明の一部と見なされる。
【００３１】
本発明の好適な実施形態について記載したが、当然のことながら、現在および将来のいずれにおいても、当業者は、添付の特許請求の範囲に記載の範囲内に入る様々な改良および強化を行い得る。この特許請求の範囲は、最初に記載された本発明の適切な保護を維持すると解釈されるべきである。
【図１】
2014523582.tif 000003
【図２】
2014523582.tif 000004
【図３】
2014523582.tif 000005
【図４】
2014523582.tif 000006
【図５】
2014523582.tif 000007
【図６】
2014523582.tif 000008
【図７】
2014523582.tif 000009
【図８】
2014523582.tif 000010
【図９】
2014523582.tif 000011
2014523582.tif 000012
2014523582.tif 000013
2014523582.tif 000014
2014523582.tif 000015
2014523582.tif 000016
2014523582.tif 000017
2014523582.tif 000018
2014523582.tif 000019
2014523582.tif 000020
【国際調査報告】
2014523582.tif 000021
2014523582.tif 000022