(57)【要約】ネットワーク上の認証付きコンテンツを該コンテンツの消費者のほうに移動させることに関わる技法。ある代表的な技法は、少なくとも、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置および該ユーザー・データにアクセスするための暗号鍵を有する暗号化されたシードを受領するネットワーク・ノードを含む。シードは、ネットワーク・サービスへのユーザーのログイン試行に応答して受領される。ユーザー・データは、少なくとも前記受領される暗号鍵を使って前記位置から要求される。本方法はさらに、前記ユーザー・データを前記ネットワーク・ノードにおいて受領し、記憶することを含む。ここで、前記ネットワーク・ノードは、前記ネットワーク・サービスの位置よりも、前記ユーザーの位置に物理的に近い。ユーザーが成功裏に認証されれば、前記ネットワーク・サービスからではなく、前記ネットワーク・ノードにおける前記記憶されているユーザー・データに対してユーザー・アクセスが提供される。
2015506135.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装される方法であって：
ネットワーク・サービスへのユーザーのログイン試行に応答して、少なくとも、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置と、該ユーザー・データにアクセスするための暗号鍵とを有する暗号化されたシードをネットワーク・ノードにおいて受領する段階と：
少なくとも受領された前記暗号鍵を使って前記ネットワーク・サービスにおける前記位置から前記ユーザー・データを要求する段階と；
前記ユーザー・データを前記ネットワーク・ノードにおいて受領し、記憶する段階であって、前記ネットワーク・ノードは、前記ネットワーク・サービスの位置よりも、前記ユーザーの位置に物理的に近い、段階と；
前記ユーザーのログイン試行の結果としての前記ユーザーの成功裏の認証に応答して、ユーザーが、前記ネットワーク・サービスからではなく、前記ネットワーク・ノードにおいて、前記記憶されているユーザー・データに対してアクセスできるようにする段階とを含む、
方法。
【請求項２】
前記暗号化されたシードを受領する段階が、前記ネットワーク・ノードから前記ユーザー・データに無関係のコンテンツ項目を要求するコンテンツ・タグの一部として前記暗号化されたシードを受領することを含む、請求項１記載のコンピュータ実装される方法。
【請求項３】
前記暗号化されたシードを受領する段階が、前記暗号化されたシードを受領するための媒介物として使われる画像タグの一部として前記暗号化されたシードを受領することを含み、前記画像タグを介して要求される画像が前記ユーザー・データと無関係である、請求項１記載のコンピュータ実装される方法。
【請求項４】
前記ネットワーク・ノードが、前記ネットワーク・サービスが位置しているよりも物理的に前記ユーザーの近くに位置しているコンテンツ配送ネットワークのエッジ・サーバーである、請求項１記載のコンピュータ実装される方法。
【請求項５】
認証ベースのコンテンツを記憶するよう構成されている第一の位置にある第一の記憶部と；
前記第一の位置よりも前記認証ベースのコンテンツのある要求者に近い物理的な近傍にある第二の位置における第二の記憶部と；
前記要求者が前記第一の位置においてホストされているサービスにログオンしようと試みる間に、前記第二の記憶部において記憶するために前記第一の記憶部から前記認証ベースのコンテンツの少なくとも一部をセキュアに要求し、前記第二の記憶部からの前記認証ベースのコンテンツへのセキュアなアクセスを容易にするよう構成されている、前記第二の位置にあるプロセッサとを有する、
システム。
【請求項６】
前記プロセッサは、前記認証ベースのコンテンツへのセキュアなアクセスを容易にすることを、前記要求者が前記サービスへのログオンに成功したという指示に応答して、前記第一の記憶部ではなく前記第二の記憶部から前記要求者に前記サービスの少なくとも最初のウェブ・ページをアクセス可能にすることによって行なう、請求項５記載のシステム。
【請求項７】
さらに認証モジュールを有する請求項５記載のシステムであって：
前記第一の位置は、前記要求者によってアクセスされるのに応答して前記要求者を前記認証モジュールにリダイレクトするよう構成された第一位置プロセッサを有しており；
前記認証モジュールは、前記要求者の前記サービスへのログオン試行を容易にするためにログイン・ページを呈示し、前記第一の記憶部から前記認証ベースのコンテンツを取得するための前記第二の位置にある前記プロセッサによる前記セキュアな要求を開始するために前記ログイン・ページとともにコンテンツ・タグを提供するよう構成されている、
システム。
【請求項８】
さらに認証モジュールを有する請求項５記載のシステムであって：
前記第一の位置は、前記要求者によってアクセスされるのに応答して前記要求者を前記認証モジュールにリダイレクトするよう構成された第一位置プロセッサを有しており；
前記認証モジュールは、前記要求者の前記サービスへのログオン試行を容易にするためにログイン・ページを呈示し、前記第一の記憶部から前記認証ベースのコンテンツを取得するための前記第二の位置にある前記プロセッサによる前記セキュアな要求を開始するために前記ログイン・ページとともに少なくとも何らかのスクリプトを含む情報を提供するよう構成されている、
システム。
【請求項９】
請求項５記載のシステムであって、前記第一の位置が：
前記要求者と、前記第一の記憶部における前記要求者の認証ベースのコンテンツの位置とを同定するクッキーを受領する段階と；
前記クッキーに基づいて暗号化されたシードを生成する段階であって、前記暗号化されたシードは、少なくとも、ユーザー識別子、前記要求者の認証ベースのコンテンツの前記位置および前記第一の記憶部における前記認証ベースのコンテンツにアクセスするための暗号鍵を含む、段階と；
その後、前記要求に応答して前記第一の記憶部からの前記認証ベースのコンテンツの少なくとも前記一部の開示を許諾するために前記第二の位置から前記暗号化されたシードを受領する段階とを実行するよう構成されている第一位置プロセッサを有する、
システム。
【請求項１０】
機能を実行するためにプロセッサによって実行可能な命令を記憶しているコンピュータ可読媒体であって、前記機能は：
ウェブ・ベースの電子メール・サービスにおいてユーザー・アクセス要求を受領し、応答して、ユーザー識別子、前記電子メール・サービスにおけるユーザーの電子メール・データの記憶位置および前記ユーザーの電子メール・データにアクセスするための暗号鍵を含む暗号化されたシードを生成する段階と；
前記ユーザーを、ログイン・ページおよび該ログイン・ページ内の画像タグを呈示する認証モジュールにリダイレクトする段階であって、前記画像タグは前記暗号化されたシードと、コンテンツ配送ネットワークのエッジ・サーバーのアドレスとを含む、段階と；
前記エッジ・サーバーから、少なくとも前記暗号鍵によって同定される、前記ユーザーの電子メール・データの第一の部分についての要求を受領する段階と；
前記ユーザーの電子メール・データの要求された前記第一の部分を前記エッジ・サーバーに差し向け、前記ユーザーの電子メール・データの前記第一の部分が、前記電子メール・サービスからではなく、前記エッジ・サーバーから前記ユーザーに提供されることができるようにする段階とを含む、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、認証コンテンツのコンテンツ消費者のほうへの移動に関する。
【背景技術】
【０００２】
ネットワークを介して利用可能なデジタル・データの量は膨大である。情報は、ピアツーピア・ネットワークおよびローカル・エリア・ネットワークからインターネットのようなグローバル・ネットワークまでの諸ネットワークを通じて得られてもよい。任意のユーザーに利用可能であることが意図されているデータおよび電子メール（eメール）、バックアップ・データのようなよりパーソナル化されたデータを含めさまざまな型の情報が得られてもよい。多くの場合、ユーザーは、自分がある種のコンテンツを閲覧するおよび／または該コンテンツにアクセスする権限を与えられていることを示すためにクレデンシャルを提出する必要がある。たとえば、ユーザーは、情報を閲覧またはダウンロードするためにウェブサイトにログオンすること、電子メールを受信するためにメール・サーバーにログオンすることなどが求められることがある。
【０００３】
アクセス可能なデジタル情報がどこにでもあることにより、人々は中断されないサービスおよび瞬時と思われるアクセス速度を期待するようになっている。向上した通信速度に寄与する技術の進歩に加えて、先取り技法も、ネットワーク通信速度を高めるのに有意な役割を演じることがある。たとえば、プリフェッチおよび他の先取り技法は、ユーザーが次に何を要求しうるかについて、合理的な想定をすることができる。そのような決定は、ユーザーがどのコンテンツを現在消費しているか、既知のユーザー選好、過去のユーザー挙動および／またはいくつもある他の要因といった、さまざまな要因に基づいて行なうことができる。
【０００４】
これらおよびその他の技法はしばしば、情報の通信に関わるその特定のユーザーがわかっているために可能である。たとえば、自分の電子メールを要求しているその特定のユーザーがメール・サーバーまたは他のメール転送エージェントにわかっている場合、電子メール・メッセージおよびメッセージ・リスト・ページがプリフェッチされることができる。特定のユーザーの典型的な過去の挙動は、ユーザーが実際にまもなくその情報を要求するであろう確率に基づいて、ある種の情報が、迅速なユーザー・アクセスのために保持記憶に伝送されることを促すことができる。そのような技法は、たとえ実際にはバックエンドおよび／または伝送遅延がユーザーの知らないところで生じていたとしても、データおよび他の情報要求を、ほとんど瞬間的であるように見せることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これらおよびその他の技法は、そのユーザーに関連付けられた、または場合によってはそのユーザーに特有の情報に基づくことがある。ユーザーの素性がまだわからない、セッションが確立されていない、などの場合には、そのような技法は利用可能でないことがある。たとえば、ユーザーがウェブ・ベースのサービスにログオンしつつある間、まだセッションは確立されておらず、ユーザーに関連する素性および／または属性はまだサービスに知られていない。認証または他の初期活動が行なわれつつある間、ユーザーは、手順が完了するまで遅延を辛抱して待つことしかできない。認証要求および他の初期通信は、情報の複数の交換に関わることがある。そのような交換のためのホップ数および往復時間〔ラウンドトリップタイム〕はユーザーにとって、望ましくない「表示までの時間」（TTG:  time  to  glass）体験につながりうる。
【課題を解決するための手段】
【０００６】
諸技法は、ネットワーク上の認証付きコンテンツを該コンテンツの消費者のほうに移動させることに関わる。ある代表的な技法は、少なくとも、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置および該ユーザー・データにアクセスするための暗号鍵を有する暗号化されたシードを受領するネットワーク・ノードを含む。シードは、ネットワーク・サービスへのユーザーのログイン試行に応答して受領される。ユーザー・データは、少なくとも前記受領される暗号鍵を使って前記位置から要求される。本方法はさらに、前記ユーザー・データを前記ネットワーク・ノードにおいて受領し、記憶することを含む。ここで、前記ネットワーク・ノードは、前記ネットワーク・サービスの位置よりも、前記ユーザーの位置に物理的に近い。ユーザーが成功裏に認証されれば、前記ネットワーク・サービスからではなく、前記ネットワーク・ノードにおける前記記憶されているユーザー・データに対してユーザー・アクセスが提供される。
【０００７】
そのような技法のもう一つの個別的な実装では、認証ベースのコンテンツを記憶するよう構成されている第一の位置にある第一の記憶を含むシステムが提供される。第二の位置における第二の記憶が提供される。ここで、前記第二の位置は前記第一の位置よりも認証ベースのコンテンツの要求者と近い物理的な近傍にある。前記第二の位置のプロセッサは、前記要求者が前記第一の位置にホストされているサービスにログオンしようと試みる間に、前記第二の記憶において記憶するために前記第一の記憶から認証ベースのコンテンツの少なくとも一部をセキュアに要求するよう構成されている。前記プロセッサはさらに、前記要求者などによる前記第二の記憶からの前記認証ベースのコンテンツへのセキュアなアクセスを容易にするよう構成されている。
【０００８】
もう一つの代表的な実装は、方法または機能を実行するためにプロセッサによって実行可能な命令を記憶しているコンピュータ可読媒体に関わる。本方法は、ウェブ・ベースの電子メール・サービスにおいてユーザー・アクセス要求を受領する段階と；応答して、ユーザー識別子、前記電子メール・サービスにおけるユーザーの電子メール・データの記憶位置およびユーザーの電子メール・データにアクセスするための暗号鍵を含む暗号化されたシードを生成する段階とを含む。ユーザーは、ログイン・ページおよび該ログイン・ページ内の画像タグを呈示する認証モジュールにリダイレクトされる。ここで、前記画像タグは前記暗号化されたシードと、コンテンツ配送ネットワークのエッジ・サーバーのアドレスとを含む。前記エッジ・サーバーから、少なくとも前記暗号鍵によって同定される、ユーザーの電子メール・データの第一の部分についての要求が受領される。ユーザーの電子メール・データの要求された第一の部分はエッジ・サーバーに差し向けられ、ユーザーの電子メール・データの第一の部分は、電子メール・サービスからではなく、エッジ・サーバーからユーザーに提供されることが許容される。
【０００９】
この概要は、詳細な説明においてさらに後述される概念のセレクションを簡略化された形で紹介するために与えられている。この概要は、特許請求される主題の鍵となる特徴や本質的な特徴を特定することは意図されておらず、特許請求される主題の範囲を限定するために使われることも意図されていない。
【図面の簡単な説明】
【００１０】
【図１】Ａは、本稿に記載される技法が実装されうる代表的な仕方を示す代表的なネットワーキング環境であり、Ｂは、遅延を短縮して表示までの時間を改善するためにユーザー固有情報をユーザーにより近くで利用可能にするために使用されうるより具体的な対話例を描いている。
【図２】ユーザー固有情報を取得することに関連する遅延を短縮するための代表的なシステム・レベルの例を示す図である。
【図３】ウェブ・ベースの電子メール・プログラムのログイン・プロセスに関連する遅延を短縮するための代表例を示す図である。
【図４】ネットワーク・ノードが、ネットワーク・サービスへの初期アクセスの間にユーザーが経験するレイテンシーを減らすためのキャッシュ要素としてはたらくことができる代表的な方法を示す流れ図である。
【図５】ユーザーがユーザー・データを提供するサービスにログオンしつつある間にユーザー・データを取得して、該ユーザー・データをユーザーがより迅速にそれを得られる位置にキャッシュするためのシステムのブロック図である。
【図６】電子メール・システムよりも地理的にユーザーに近いCDNのエッジ・サーバーにユーザーの電子メール・データの少なくとも一部を移す仕方の一つの代表例の流れ図である。
【図７】本稿に記載される原理が実装されうる代表的なコンピューティング・システムを描く図である。
【発明を実施するための形態】
【００１１】
以下の記述では、代表的な実装例を描いている付属の図面が参照される。本開示の範囲から外れることなく構造上および／または動作上の変更をなしうるので、他の実施形態および実装が利用されてもよいことは理解しておくものとする。
【００１２】
上記のように、ネットワーク・アクセス遅延はしばしば、プリフェッチまたは他の先取り技法を使って短縮できる。そのような技法は、ユーザーが何を要求しうるかについての合理的な想定に関わり、ユーザーによって要求されそうな情報を得るためのアクションが開始されることができる。しかしながら、そのような技法は、ユーザーの素性がまだ知られていない場合、セッションがまだ確立されていない場合または他の何らかの初期活動との関連では効果がない。たとえば、ユーザーがアプリケーションまたはサービスに「ログオン」するまたは該アプリケーションまたはサービスとの関連で他の仕方で認証されるまでは、ユーザーはまだそれを見る権限が与えられていないので、認証されたコンテンツはユーザーに対して呈示されることができない。よって、そのような認証または他の初期プロセスが行なわれつつある間、ユーザーは、有意なコンテンツが呈示されるまで望ましくない遅延を経験することがありうる。
【００１３】
本開示は概括的には、認証ベースのコンテンツを少なくとも一時的に、該コンテンツが通常記憶されているところよりもユーザーに物理的に近い位置において、コンテンツ消費者または「ユーザー」に利用可能にすることに向けられる。ネットワーク・アプリケーション／サービスは、該サービスにアクセスするユーザーの要求に応答して暗号化されたトークンを生成することがある。該トークンは、ユーザーに、直接、リダイレクトされた認証モジュールを介して、などで提供されることができる。該トークンを使って、ユーザーは、ネットワーク・サービスより近い近傍にあるネットワーク・ノードに要求をすることができ、該要求は、前記より近いネットワーク・ノードに、前記より遠いネットワーク・サービスからの認証ベースのコンテンツの少なくとも前記第一の呈示可能な部分を取得させる。認証ベースのコンテンツを要求し、前記より近いネットワーク・ノードに提供するこのトランザクションは、ユーザーが前記ネットワーク・サービスにログインしつつある間になされてもよく、それにより伝送遅延は、該コンテンツに関してユーザーが呈示されることを期待しない時に行なわれることができる。ユーザーが最終的に認証されたら、前記より近いネットワーク・ノードにおいてキャッシュされた認証ベースのコンテンツの第一の呈示可能な部分が迅速にユーザーに提供されることができる。TTGは、少なくとも、ユーザー・データの並列取得およびユーザーが最終的に認証されたときのデータのより近い近接性のため、改善される。
【００１４】
ここで図１のＡを参照するに、本稿に記載される技法が実装されうる代表的な仕方を示す代表的なネットワーキング環境が記載されている。図示した例では、ネットワーク・ベースのアプリケーション、サービスまたは他のネットワーク・エンティティは、データ・センター１００Ａ、１００Ｂ、１００ｎなどによって描かれるようにネットワーク上のさまざまな点において分散しているデータを有していてもよい。例示のため、これらのデータ・センター１００Ａ、１００Ｂ、１００ｎは、ネットワーク・ベースのサービスに関連するデータ記憶エンティティを含んでいてもよい。データ源ノードＡ  １０２Ａ、データ源ノードＢ  １０２Ｂ、データ源ノードｎ  １０２ｎのような他のネットワーク・エンティティが、同じまたはデータ・センター１００Ａ、１００Ｂ、１００ｎとは異なるネットワークに関連付けられていてもよい。一例では、データ源ノード１０２Ａ、１０２Ｂ、１０２ｎは、たとえばコンテンツ送達ネットワーク（CDN:  content  delivery  network）によってデジタル・コンテンツを提供するコンテンツ記憶エンティティを表わす。もう一つの例では、少なくともデータ源ノードＡ  １０２Ａは、データ・センター１００Ａ、１００Ｂ、１００ｎに対してサードパーティーのネットワーク・ノードである。ここで、データ・センター１００Ａ〜１００ｎで講じられるデータ・セキュリティ施策は一般にはデータ源ノード１０２Ａ〜１０２ｎには受け継がれない。
【００１５】
ユーザー１０４は、図示したネットワーク・エンティティの任意の一つまたは複数と対話してもよい。本稿に記載される代表的な技法は、前記ネットワーク・エンティティの一つまたは複数との初期対話に際してユーザー１０４に直面する遅延を軽減する。たとえば、初期対話はユーザーがネットワーク・サービス、データなどへのアクセスを得るためにユーザー固有のクレデンシャルを入力するログイン・プロセスであってもよい。
【００１６】
より特定的な例では、ユーザーが相互作用の線１０６によって描かれるように、ログイン・プロセスを開始したと想定される。本稿に記載される諸実施形態は、ユーザー関係の情報をもとの記憶位置よりユーザーに近いネットワーク・エンティティにおいてキャッシュするまたは他の仕方で記憶することによってユーザーのログイン開始からの表示までの時間（TTG）が短縮される仕方を記述する。たとえば、ユーザー１０４が線１０６で描かれるログインを開始するとき、ユーザー１０４は電子メール・アドレスおよび／またはユーザー識別子（ユーザーID）、パスワードなどを入力してもよい。ひとたびユーザー１０４によって提出されたら、ユーザーは典型的には、クレデンシャルが認証されて、最終的にアプリケーション／サービスがユーザー１０４に対して呈示されるまで待つ。本稿に記載される技法によれば、ユーザーの待ち時間は、アクセスされるアプリケーション／サービスの最初のページ（最初の数ページ）を、ログイン・プロセスが完了したときにユーザーに対してより迅速に呈示されるよう、ユーザー１０４に物理的により近いノードに記憶することによって短縮される。
【００１７】
このように、典型的にはユーザー専用であるコンテンツまたはデータは、ユーザーがログインしつつある間または他の仕方で初期対話に関わっている間に、記憶領域から取得されることができる。これらの並列動作の間、コンテンツは、ログイン・プロセスが最終的にユーザーの成功裏の認証につながることを予期して、地理的にユーザーにより近い位置に移されてもよい。特に断わりのない限り、「並列」「同時」などのイベントへの言及は、そのようなイベントが正確に時間的に重なることではなく、少なくともある程度重なることを示すことを注意しておくべきである。
【００１８】
図１のＡの例では、ユーザー・データ・キャッシング動作は、ユーザー１０４が相互作用の線１０６によって描かれるログイン・プロセスを開始したときに開始される。ユーザー・データ・キャッシング動作は破線１０８によって描かれている。ここで、ユーザー識別情報（user-identifying  information）がこの例ではデータ・センターＢ  １００Ｂにセキュアに提供される。ユーザー識別情報は、ログイン手順が完了したときにユーザー１０４に呈示されうる初期ウェブ・コンテンツのようなデータ・センターＢ  １００Ｂに記憶されているユーザー固有情報を特定するために使われる。そのようなユーザー固有情報は、より遠方のデータ・センターＢ  １００Ｂからデータ源ノードＡ  １０２Ａまたはデータ・センターＢ  １００Ｂにアクセス可能な他のノードに提供されてもよい。相互作用の線１１０によって描かれるようにユーザー１０４がログインを完了したとき、ユーザー固有情報は、少なくとも部分的にはデータ源ノードＡ  １０２Ａにおいてそのより近い近傍にあり、ユーザー１０４に対してより迅速に提供されることができる。
【００１９】
図１のＢは、遅延を短縮し、TTGを改善するためにユーザー固有情報をユーザーのより近くで利用可能にするために使用されうる対話のより具体的な例を描いている。この例は図１のＡにおいて言及される項目に関わり、よって適宜同様の参照符号を使う。この例では、ユーザー１０４が線Ａで示されるようにデータ・センターＡ  １００Ａと対話するために、ウェブサイトまたは他のネットワーク・ノードにアクセスすると想定される。下記のより特定的な実施形態において記述される仕方で、ユーザー１０４に関連するブラウザー（図示せず）は最終的には、ユーザー固有情報が記憶されているデータ・センターＢ  １００Ｂよりもユーザー１０４に近いノードにセキュアな情報を提供する。データ源ノードＡ  １０２Ａはそのような、ユーザー１０４に対して「より近いノード」を表わし、破線Ｂはそのセキュアな情報の転送を表わす。
【００２０】
破線Ｂによって描かれるこのセキュアな情報を使って、ノードＡ  １０２Ａは、破線Ｃによって描かれるように、データ・センターＢ  １００Ｂに記憶されているユーザー固有情報の要求をする。ユーザー固有情報はデータ・センターＢ  １００Ｂから、少なくとも一時的に記憶されるようデータ源ノードＡ  １０２Ａに与えられる。ユーザーのログインが最終的に成功であれば、データ・センターＡ（これは認証ノードを含むまたは認証ノードに関連付けられていてもよい）は、線Ｅによって描かれるように、ユーザー１０４のためのページ（単数または複数）を生成することができ、それにより、線ＦおよびＧによって描かれるように、ユーザー１０４のブラウザーに、データ源ノードＡ  １０２Ａにおける一時的に記憶されている情報にアクセスさせる。
【００２１】
このように、本稿に記載される技法は、中でも、少なくとも一のユーザーに固有な認証コンテンツを、より遠方のデータ・センターからネットワークの周縁のほうにプッシュさせることを可能にする。たとえば、認証または「ログイン」手順は、認証されたデータをユーザーのより近くにプッシュすることによって加速されてもよい。ある実施形態では、データは、通常は取得するために認証を必要とするデータを記憶しないサーバーにプッシュされる。たとえば、認証コンテンツは、ユーザーのクレデンシャルが認証されたときにユーザーに対して呈示されるウェブ・コンテンツの最初のページのような、普通なら任意の一般の要求者には配送されないコンテンツを表わしていてもよい。より特定的な例では、認証されたコンテンツは、ユーザーのホーム・ページ、ウェブ・ベースの電子メール受信箱などの最初のページであってもよい。ある実施形態では、認証コンテンツは、通常記憶されているよりもクライアント装置により近い、エッジ・サーバーまたは他の中間サーバーのような第二のサーバー（単数または複数）において、取得され、少なくとも一時的に記憶される。認証コンテンツは、ユーザーが認証クレデンシャルの入力の仕方を呈示されている間に、該より近いサーバーにおけるキャッシング／記憶のために取得されてもよい。このようにして、認証コンテンツのキャッシングとユーザーのクレデンシャルの入力の間の時間的重なりが、全体的なログイン・プロセスにおいて節約される時間である。より特定的には、ユーザーがクレデンシャルの入力を完了したとき、認証コンテンツは遠方のノードから取得される必要はなく、CDNエッジ・サーバーのようなユーザーにより近いノードにおいてすぐ利用可能となる。
【００２２】
図２は、ユーザー固有情報を得ることに関連する遅延を短縮するためのもう一つの代表例を描いている。図２の例では、ネットワークを介して提供されるサービスは、インターネット／ベースの電子メール（eメール）サービスであると想定され、ユーザーが自分の電子メールにアクセスするときのTTGが短縮される。
【００２３】
図２の例では、ユーザーが電子メールおよび／または他のネットワーク・サービスにアクセスするために使用しうるいくつかの代表的な装置またはデバイス２０２が描かれている。装置２０２は例のために示されており、網羅的なリストを表わすものではない。本稿に記載される技法は、一つまたは複数のネットワークを介してサービスおよび／またはデータと通信するまたは他の仕方でこれにアクセスすることをしてもよい任意の装置に適用可能である。装置２０２はスタンドアローンのコンピューティング装置、可搬型のコンピューティングおよび／または通信装置、機器や自動車のような他の製品に組み込まれている装置などであってもよい。代表的な装置２０２は、デスクトップ・コンピュータ２０２−１、ポータブル・コンピュータ（たとえばラップトップ）２０２−２、携帯電話２０２−３、携帯情報端末（personal  digital  assistant）２０２−４またはネットワーク（単数または複数）を介して通信するその他の装置２０２−５を含む。装置２０２によって利用される少なくとも一つのネットワーク・サービスが電子メールである場合、装置２０２は、ウェブ・ベースのメールにアクセスするためのブラウザー２０４、ローカル電子メール・クライアント２０６などといったソフトウェアを含んでいてもよい。
【００２４】
図２の代表的な実施形態は、ネットワーク２１４を介して利用可能である一つまたは複数のデータ・センター２０８、２１０、２１２を含む。データ・センター２０８、２１０、２１２は、地球のサービスされる諸部分に地理的に分散されていてもよい。ある実施形態では、データ・センターは、データ・センター２０８に示されるクラスター２１６のようなクラスターを含む。装置２０２のユーザーのための電子メールおよび／または他のデータは、特定のクラスター２１６およびデータ・センター２０８に記憶されていてもよい。このように、ユーザーがウェブ・ベースの電子メール・アプリケーション２１５に到達するためにある一様リソース位置指定子（URL:  uniform  resource  locator）または他のアドレスにアクセスするとき、ユーザーはその特定のデータ・センター２０８と対話していてもよい。
【００２５】
ユーザーが電子メール・アプリケーション２１５に差し向けられるとき、ユーザーのブラウザー２０４は、ある実施形態では、データ・センター２０８に関連していても、あるいはデータ・センター２０８と別個であってもよい認証モジュール２１７にリダイレクトされる。認証モジュール２１７は、電子メール・アドレスおよび／またはユーザー名、パスワードなどのようなユーザー・クレデンシャルのユーザー入力を容易にする。認証モジュール２１７によってその情報が検証されるとき、ブラウザー２０４は、もとの電子メール・アプリケーション２１５にリダイレクトされてもよい。本稿に記載される技法によれば、装置２０２に呈示されるユーザーの電子メール受信箱を示す画面のようなウェブ・コンテンツが、当該ウェブ・コンテンツ／データのサービス元のデータ・センター２０８よりも装置２０２に地理的により近いネットワーク・エンティティにおいてキャッシュされる。該コンテンツは、ユーザーのクレデンシャルが入力および／または検証されつつあるときに、取得され、エッジ・サーバー２１８のようなより近いネットワーク・エンティティに移されることができる。
【００２６】
たとえば、ネットワーク２１４は、一つまたは複数のエッジ・サーバー２１８、２２０および場合によっては追加的な中間サーバー２２２、２２４、２２６を含むコンテンツ配送ネットワーク（CDN:  content  distribution  network）を含んでいてもよい。該サーバーは電子メール・システム、CDNおよび／または他のシステムの任意の部分に関連していてもよい。装置２０２のユーザーは、ブラウザー２０４を、電子メール・アプリケーション２１５によって提供されるサービスに向け、ログイン・プロセスを開始してもよい。この時間の間に、ユーザー固有データが、データ・センター２０８における適切なクラスター２１６から、CDNエッジ・サーバー２１８のような装置２０２により近いネットワーク・ノードに移されてもよい。CDNエッジ・サーバー２１８は一般に、一般的な画像、javascript（登録商標）コード、カスケード式スタイルシート（CSS:  cascading  style  sheet）などといった認証を必要としないコンテンツを記憶するために使われてもよいが、本稿に記載される技法は、認証ベースのユーザー固有データをセキュアにキャッシュするためにエッジ・サーバー２１８の近接性を活用する。適切なセキュリティ施策を利用することによって、ユーザー固有データは、不正アクセスに対する保護をもって、エッジ・サーバー２１８にキャッシュされうる。
【００２７】
ある実施形態では、ユーザー固有データは、ユーザーの個人的な電子メール受信箱のようなユーザーに呈示される電子メール・サービスの最初のページを含む。電子メール受信箱または他のコンテンツは一般に各ユーザーに特有なので、ユーザーの装置２０２上に呈示される最初のページはユーザーによって異なる。ユーザーのクレデンシャルが検証されたとき、ブラウザー２０４は、キャッシュされたユーザー固有コンテンツを、物理的に近接したエッジ・サーバー２１８から取得することができる、あるいは取得するよう命令されることができる。電子メール・コンテンツは、ブラウザー２０４を介して呈示される、メール・サーバー２３０によって管理される、ローカル電子メール・クライアント２０６を介して呈示される、などしてもよい。ユーザー固有コンテンツを装置２０２に物理的により近いところにキャッシュすることにより、要求されたコンテンツの最初のページを呈示するために費やされる時間が短縮できる。ユーザー・プライバシーを維持しながらより高速なTTGを可能にするためにユーザー固有データをセキュリティで保護する仕方について以下で述べる。
【００２８】
図３は、ウェブ・ベースの電子メール・プログラムのログイン・プロセスに関連する遅延を短縮するための代表例を示している。図示した実施形態では、電子メール・システム３００が一つまたは複数のデータ・センター３０２の間に分散されていることが想定される。本稿に記載される技法との関連でさまざまな実装が可能であるものの、図示した実施形態は複数のクラスター３０４、３０６ないし３０８に関わり、各クラスターは複数のユーザー、多くの場合には多数のユーザーをホストする。クラスター３０８のような各クラスターは、一つまたは複数のバックエンド・サーバー３１０、３１２および一つまたは複数のフロントエンド・サーバー３１４、３１６を含む自己完結したサーバーの集合を表わしていてもよい。フロントエンド・サーバー３１４、３１６はクライアント装置３５０のような外部装置とインターフェースをもち、ページのフォーマット整形、ウイルス検査などといった機能を実行してもよい。フロントエンド・サーバー３１４、３１６は、電子メール・システム３００を利用するクライアント装置３５０との最初の接触に従事することができるフロントドア（FD:  front  door）サーバー３１８、３２０を含んでいてもよい。FDサーバー３１８、３２０は、クライアント装置３５０に代わってバックエンド・サーバー３１０、３１２に対して要求をすることができる。
【００２９】
とりわけ、バックエンド・サーバー３１０、３１２は、ユーザーの電子メール３２４および他のユーザー固有コンテンツを含むユーザー・データを記憶するためのデータベースおよび／または他の記憶３２２を提供してもよい。ある実施形態では、前記一つまたは複数のデータ・センター３０２の任意のものにある記憶３２２に記憶されているユーザー固有コンテンツは、電子メール・サービスのホーム・ページ、電子メール・サービスの受信箱などといった、ログイン成功の際にユーザーに対して呈示される一つまたは複数のウェブ・ページを含む。代表的なフロントエンド・サーバー３１８、３２０とバックエンド・サーバー３１０、３１２との間の責務の具体的な配分は、例解のために記載されているだけであることを注意しておくべきである。本稿に記載される技法は、複数のサーバー間の責務の配分やそもそも複数のサーバーがあるか否かに関わりなく適用可能である。
【００３０】
上記のように、図３の例は、電子メール・システム３００のコンテキストにおいて記述されている。この実施形態では、クライアント装置３５０は以前に電子メール・システム３００と通信したことがあり、少なくとも一つのクッキー３５２がクライアント装置３５０に記憶されていることが想定される。クッキー３５２はたとえば、ユーザーを同定し、該ユーザーのデータがどこにあるかを示唆するデータであってもよい。たとえば、どのクラスター３０４、３０６、３０８などおよびおそらくはどのデータ・センター３０２にユーザーの電子メール・データが存在するかを同定するデータを含む位置クッキー３５２がクライアント装置３５０に記憶されていてもよい。
【００３１】
下記でより詳細に記載されるように、そのような位置クッキー３５２は、そのユーザーについて暗号化されたトークンまたは「シード」が生成されることができるよう、十分にユーザーを特定する情報を提供することができる。位置クッキー３５２は、本稿に記載される技法との関連では必須ではなく、他の識別情報が使用されてもよい。たとえば、ユーザー固有コンテンツの取得およびより近くでのキャッシングを開始するためには、電子メール・アドレスは十分にユーザーを特定しうる。しかしながら、クッキー３５２または他の記憶された情報の使用は、シードの生成およびユーザー固有コンテンツの最終的なキャッシングを、ユーザーがまず電子メール・アドレスまたは他の識別情報を提出する場合よりも早くに可能にしうる。また、ある実施形態では、少なくともユーザーの電子メール・データの位置（たとえば、クラスター３０４、３０６、３０８など）を記憶する位置クッキー３５２の使用は、ユーザーのデータが同じクラスターに留まる、あるいは少なくとも最後の電子メール・アクセス以降変わっていないことを前提にしている。このように、位置クッキー３５２は、ユーザーの電子メール・データが記憶されていることが知られている位置を迅速に提供することができる。
【００３２】
他の実施形態では、ユーザーのデータの位置を同定するためにユーザーを識別する他の情報が使用されることができる。これは場合によっては、ユーザーの個人的な電子メール・データを位置特定する追加ステップを必要とすることがある。さまざまな実施形態は、さまざまなレベルの詳細さのユーザー識別情報および／またはユーザー・データ位置情報に関わり、そのどれでも本項の記載との関連で実用可能である。ただし、場合によっては、ユーザー・データの厳密な位置が、直接的な位置情報（たとえばクラスター・アドレス）によるのではなく、他の識別情報の補助により位置特定されることがありうる。このように、図３の実施形態はユーザーおよびユーザーの記憶された電子メール・データおよび他のユーザー固有コンテンツの位置を同定する位置クッキー３５２との関連で記述されているが、本稿に記載される技法から外れることなく、他の識別情報が代わりに使われてもよい。
【００３３】
ある実施形態では、位置クッキー３５２または他のユーザー識別情報に応答してデータ・センター３０２において生成されたシード３５８Ａは、暗号化されたトークンの形で、認証前バンドルを表わす。この暗号化されたトークンまたは「シード」は、電子メール・システム３００および認証モジュール３５６に対してそれぞれのユーザーを一意的に同定する値のような情報を含んでいてもよく、そのような情報は本稿ではクライアント識別子（CID:  client  identifier）と称されることがある。先述したように、シードは、ユーザーの電子メール・クラスター名、アドレスまたは他のクラスター識別子のような、ユーザーの電子メールおよび関係するデータの位置をも含んでいてもよい。ある実施形態では、暗号学的に安全な乱数もシードの一部として与えられる。これは本稿では認証前鍵またはシードGUID（globally  unique  identifier［グローバル一意識別子］）と称されることがある。シードGUIDは、ユーザーの電子メール受信箱のような同定されたクラスターにおけるCIDによって同定されるユーザーのための適切なデータにアクセスするための鍵として使われてもよい。
【００３４】
より特定的には、クライアント装置３５０は、電子メール・システム３００に、位置クッキー３５２または他のユーザー識別情報を提供してもよい。ある実施形態では、位置クッキー３５２は、少なくともユーザーの識別情報およびユーザーのデータ・クラスターの位置を含むユーザー識別クッキー（UIC:  user  identification  cookie）の形である。位置クッキー３５２は暗号化されていてもよい。フロントドア・サーバー３２０は位置クッキー３５２を受領し、ある実施形態では、認証モジュール３５６へのリダイレクト・メッセージ３５４および位置クッキー３５２内のユーザー情報から生成されるシード３５８Ａをもって応答する。この例では、シード３５８Ａは、少なくともクラスター、シードGUIDおよびCIDを含む暗号化された構造を表わす。この三つを本稿では三つ組と称する。
【００３５】
クライアント装置３５０のブラウザーは、認証モジュール３５６へのリダイレクト・メッセージ３５４のリンクをたどり、認証モジュール３５６は応答してログイン・ページ３６０を提供する。その後の使用のためにシード３５８Ｂが認証モジュール３５６に提供されてもよい。ある実施形態によれば、ログイン・ページ３６０は、中でも、画像タグのようなコンテンツ・タグを含む。コンテンツ・タグは、ログイン・ページ３６０上で認証モジュール３５６によって電子メール・システム３００についてレンダリングされるカスタム・コンテンツの一部として与えられる。そのような画像タグの例を下記に示す。
<img  src=https://CDN.emailname.com/clear.gif?s=<encrypted>"/>
例１
ここで、この例における「CDN」はコンテンツ配送ネットワークのエッジ・サーバー３９０を表わし、よってCDN.emailname.comは当該メール・システム（emailname.com）３００と協働するCDNエッジ・サーバー３９０を表わす。
【００３６】
結果として、クライアント装置３５０のユーザーが自分のクレデンシャルをタイプしている時間の間に、クライアント装置３５０のブラウザーは、並列に、エッジ・サーバー３９０のこのURLにコンテンツ要求３６２をしてもよい。コンテンツ要求３６２はエッジ・サーバー３９０をポイントし、それがユーザー固有データのキャッシングを開始するコールをトリガーする。エッジ・サーバー３９０が、電子メール・システム３００と協働できるクライアント装置３５０に物理的により近い任意のネットワーク・ノードであってもよいことを注意しておくべきである。図示した実施形態では、このネットワーク・ノードはCDNエッジ・サーバー３９０によって表わされているが、これは必須ではない。しかしながら、ある実施形態では、ユーザー固有コンテンツがキャッシュされるネットワーク・ノードは、普通ならコンテンツを受領するための認証要求を必要としなくてもよいネットワーク・ノードである。
【００３７】
上記の例１のURLを使って、クライアント装置３５０のブラウザーは、暗号化されたシードを用いてCDN.emailname.comにある画像タグに対するコンテンツ要求３６２をする。下記でより詳細に述べるように、コンテンツ要求３６２は、エッジ・サーバー３９０に暗号化されたシードを提供する手段としてはたらき、よって、ユーザー固有コンテンツ（たとえば、電子メール・サービスの最初のウェブ・ページ）を取得し、キャッシュすることができる。
【００３８】
ログイン・ページ３６０は、エッジ・サーバー３９０への要求をトリガーするために、画像または他のコンテンツ・タグではなく、スクリプト言語または他のプログラミングを含んでいてもよいことを注意しておくべきである。画像タグおよび他のコンテンツ・タグの使用は、エッジ・サーバー３９０または他の仲介ノード上にコンテンツを記憶することを支援する一つの仕方を表わしている。しかしながら、他のタグまたはスクリプトなどを使って類似の結果を得てもよい。たとえば、コンテンツ・タグの使用は、AJAXコール（Asynchronous  JAVASCRIPT（登録商標）およびXML）で置き換えることができる。ある実施形態では、そのようなコールは、望むならより大量の認証情報がポストされることも許容することもある。いくつかの画像URLは文字が制限されている要求方法をもって実装されることがあるからである。したがって、ユーザー・コンテンツ３６８Ｂは、たとえばIMG、IFRAME、SCRIPTまたは他の同様のHTMLタグまたは他のプログラミング・タグを使って、あるいはXML  HTTP要求などのような仕掛けをもつスクリプトを使って、暗号化されたシードおよび他の関係情報を渡すことによって、エッジ・サーバー３９０上に事前キャッシュされるまたは他の仕方で記憶されることができる。情報を渡すこれらおよび他の類似の仕方が使用されてもよく、本稿に記載されるものは例解のために与えているものである。
【００３９】
コンテンツ要求によって要求されたと標榜される実際の画像、コンテンツまたは他のデータは有意ではないことを注意しておくべきである。ある実施形態では、コンテンツの要求は、電子メール・システム３００によって呈示されるユーザーの最初のウェブ・ページのようなユーザー固有情報を得るために適切なクラスター３０８へのエッジ・サーバー３９０によるクライアント開始要求を容易にするための偽装である。画像要求を想定するより特定的な例では、要求に応答して、透明であるおよび／または小さすぎて見えない１ピクセルかける１ピクセルの画像のような知覚できない画像が取得されてもよい。あるいはまた、画像または他のコンテンツ要求は知覚可能な画像、音などを返してもよい。しかしながら、ある実施形態では、画像要求は実際に結果として得られる画像を求めるものではなく、画像タグを、ユーザーの認証された情報の少なくとも一部をキャッシュするために電子メール・システム３００と協働するエッジ・サーバー３９０に暗号化されたシードを提供するための媒介物として使う。この情報キャッシングは、ユーザーがログイン・クレデンシャルを入力している間に行なわれ、それにより電子メール・サービスの最初のページのより高速な呈示を可能にする。クライアント装置３５０に物理的により近いところにキャッシュされているからである。
【００４０】
前記シードおよび／または暗号化された情報に関わる他の情報の復号を容易にするために、CDN.emailname.comのような、エッジ・サーバー３９０について生成されたドメインについてのデジタル証明書がエッジ・サーバー３９０および／または該エッジ・サーバー３９０が付随しているCDNと共有される。追加的に、電子メール・システム３００、認証モジュール３５６およびCDNエッジ・サーバー３９０は、少なくとも前記シードを暗号化するために使われる、本稿でシード鍵と称される鍵を共有する。シード鍵はたとえば、対称鍵であってもよい。あるいはまた、シード鍵は、上記デジタル証明書に対応する秘密鍵〔プライベート・キー〕であってもよい。シードを暗号化する他の仕方が利用されてもよい。
【００４１】
エッジ・サーバー３９０がコンテンツ要求３６２を受領するとき、エッジ・サーバー３９０は、以前に共有されたシード鍵を使って復号モジュール３９２において、暗号化されたシードを復号してもよい。したがって、エッジ・サーバー３９０はクラスター、シードGUIDおよびCIDへのアクセスをもち、復号されたシードにおいて提供されるクラスター（たとえばhttps://clustername.emailname.com/）にシードGUID  ３６６をポストしてもよい。電子メール・システム３００のフロントエンド・サーバー３１６は、記憶３２２からユーザー固有コンテンツを得るために、シードGUID  ３６６をバックエンド・サーバー３１２に提供する。たとえば、記憶されている情報は、ユーザーの電子メールについての、受信箱ページまたはユーザー選好による他の「ホーム」コンテンツであってもよい。電子メール・システム３００は、このユーザー固有コンテンツ３６８Ａをエッジ・サーバー３９０に公開するまたは他の仕方で提供し、ユーザーが認証モジュール３５６によって電子メール・システム３００にログオン成功するまで、該コンテンツは該エッジ・サーバー３９０において少なくとも一時的に記憶される。
【００４２】
ある実施形態では、エッジ・サーバー３９０に記憶されているユーザー・コンテンツ３６８Ｂは期限切れ時間をもつ。コンテンツ要求３６２の受領に応答して、あるいはユーザー・コンテンツ３６８Ｂの受領に応答して、あるいはそれらの間の何らかの時間に、エッジ・サーバー３９０はもとのコンテンツ要求３６２に対する応答３７０を与えることができる。上記のように、該応答は小さな、実質的に知覚不可能な画像またはそれ自身はクライアント装置３５０において利用されない他のコンテンツであってもよい。ある実施形態では、応答３７０は、復号モジュール３９２においてシードが復号される時間中に、あるいはユーザー・コンテンツ３６８Ｂの受領の間に並列に非同期的に送られる小さな画像であってもよい。この時点で、ユーザー・コンテンツ３６８Ｂはエッジ・サーバー３９０にキャッシュされ、ユーザーによる成功裏のログインを待ち、成功裏のログインの時点で、ユーザー・コンテンツ３６８Ｂはクライアント装置３５０に提供されうる。
【００４３】
何らかの時点において、ユーザーは、クライアント装置３５０上で呈示されるログイン・ページ３６０を介して自分のクレデンシャルをタイプして入力することを終える。認証モジュール３５６は、ユーザーのログイン・クレデンシャルを記憶されているログイン情報と比較するための認証比較モジュール３７２を備える。認証成功すると、復号モジュール３７４がシードを復号してユーザーのクラスター、シードGUIDおよびCIDを入手する。ユーザー比較モジュール３７６は復号されたCIDをクレデンシャルによって示されるユーザーと比較する。一致があれば、認証モジュール３５６はページ３７８を生成する。ページ３７８はスクリプト言語（たとえばJAVASCRIPT（登録商標））または他のコードを含んでいてもよく、それがクライアント装置３５０におけるブラウザーに、より近くのエッジ・サーバー３９０におけるキャッシュされたユーザー・コンテンツ３６８Ｂの位置にシードGUID  ３７２をポストさせる。
【００４４】
シードGUID  ３７２を提供することに関連付けられたユーザー装置３５０からの要求に応答して、エッジ・サーバー３９０は、以前にキャッシュしたユーザー・コンテンツ３６８Ｂをサービスする。このことは、ユーザー・コンテンツ３６８Ｃがクライアント装置３５０に提供されることによって描かれている。そのコンテンツがみつからないまたは期限切れになっていた場合には、エッジ・サーバー３９０は、デフォルト処理のために単にそのポストを素通りさせて電子メール・システム３００に渡すことができる。
【００４５】
このようにして、ユーザーは、電子メール・システム３００（または他のネットワーク・ベースのサービス）へのログインが成功すると、より迅速にユーザー・コンテンツ３６８Ｃを受領することができる。ユーザー・コンテンツは、ある実施形態では、さまざまなエンティティがユーザー・コンテンツのキャッシングを管理できるようにする認証前バンドルまたは「シード」の転送に応答してのみ配送されるユーザー固有コンテンツを表わす。
【００４６】
本稿に記載される技法は、シードを単一の項目ではなく三つ組のリストとすることによって、クライアント装置３５０の複数のユーザーに拡張されてもよい。たとえば、二人のユーザーについて、シードは二つの三つ組のリストであってもよく、各三つ組がクライアント装置３５０のそれぞれのユーザーのクラスター、シードGUIDおよびCIDを含んでいてもよい。そのような場合、ユーザー固有情報がキャッシュされる（たとえばエッジ・サーバー３９０）論理は、コンテンツ要求３６２の復号およびシード内の各三つ組についてのユーザー・コンテンツ３６８Ｂのキャッシングを実行してもよい。さらに、認証モジュール３５６は、現在認証中のユーザーのCID値に一致する復号されたシードから三つ組を選択することができる。
【００４７】
図３の特定の実施形態は例解の目的のために呈示されており、本稿に記載される技法は多様な他のコンテキストにおいて利用されうる。たとえば、本技法は、任意のネットワーク・アプリケーション／サービスおよびユーザー装置とネットワーク・サービスとの間の仲介ノードのはたらきをしうる任意の協働ネットワーク・ノードとの関連で提供されうる。図４は、ネットワーク・ノードが、ネットワーク・サービスへの初期アクセスの間にユーザーによって経験されるレイテンシーを減少させるためのキャッシング要素のはたらきをしうる代表的な方法を示す流れ図である。ブロック４００では、ネットワーク・ノードは、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置と、該ユーザー・データへのアクセスを可能にする暗号鍵とを含む暗号化されたシードを受領する。ある実施形態では、ネットワーク・ノードは、ユーザーによるネットワーク・サービスへのログイン試行に応答して少なくとも、暗号化されたシードを受領する。
【００４８】
ブロック４０２に示されるように、ネットワーク・ノードは、少なくとも受領された暗号鍵を使って暗号化されたシードにおいて提供されているユーザーのデータ位置を要求してもよい。応答して、ブロック４０４は、ネットワーク・ノードが通常はネットワーク・サービスにおいて記憶されているユーザー・データを受領および記憶することができることを示している。ここで、このネットワーク・ノードは、物理的に、ネットワーク・サービスの位置よりもユーザーにより近くに位置されている。ブロック４０６では、ユーザーのログイン試行から帰結するユーザーの成功裏の認証に応答して、ネットワーク・サービスからではなく、ネットワーク・ノードにおける記憶されているユーザー・データへのユーザー・アクセスが可能にされる。
【００４９】
同様に、図５は、ユーザーがユーザー・データを提供するサービスにログオンしつつある間にユーザー・データを取得するためおよびユーザーがユーザー・データをより迅速に得られる位置にユーザー・データをキャッシングするためのシステムのブロック図である。この実施形態は、第一の位置５００における第一の記憶部５０２を示している。第一の位置５００はたとえば電子メール・サービスまたは他のウェブ・ベースのサービス５０４をホストしていてもよい。第一の記憶部５０２は、ユーザー電子メール受信箱または他のユーザー機微データといった認証ベースのコンテンツ５１０Ａを記憶するよう構成されている。第一の位置５００は、サービス５０４、認証５０８および／または第一の位置５００から実行される他の処理のための処理を実行するためのプロセッサ（単数または複数）および／または他の回路を含んでいてもよい。
【００５０】
第二の位置における第二の記憶部５２２が設けられる。これは、第一の位置５００よりも認証ベースのコンテンツ５１０Ａの要求者５３０により近い物理的近接にある。第二の位置５２０は、第一の位置５００および要求者５３０の両方と通信することができるネットワーク５４０上でアクセス可能なノードを表わしていてもよい。ある実施形態では、第二の位置５２０におけるプロセッサ５２４は、要求者５３０が第一の位置５００においてホストされているサービス５０４にログインしようとしている間に、第二の記憶部５２２に記憶するために第一の記憶部５０２から認証ベースのコンテンツ５１０Ａの少なくとも一部をセキュアに要求するよう構成されている。ログイン・プロセスは、プロセッサ５０６および／または第一の位置５００に位置されていてもいなくてもよい認証モジュール５０８によって実行されてもよい。プロセッサ５２４は、第二の記憶部５２２からの認証ベースのコンテンツ５１０Ｂへのセキュアなアクセスを容易にするようにも構成されている。
【００５１】
図６は、電子メール・システムよりも地理的にユーザーに近いCDNのエッジ・サーバーにユーザーの電子メール・データの少なくとも一部を移す仕方の一つの代表的な例の流れ図である。図示した例では、ユーザーは電子メール・システム６００のURLまたは他のアドレスを入力する。たとえば、ユーザーは、自分のブラウザーのアドレス・バーに「emailname.com」と入力することができる。ある実施形態では、ブロック６０２に示されるように、電子メール・システムのフロントドアが、本稿ではユーザー識別クッキー（UIC:  user  identification  cookie）と称されるクッキーを読む。UICは少なくとも、ユーザーの識別情報およびユーザー・データがどこに記憶されているかを含む。さらに、電子メール・システムは、ログイン・サーバーへのリダイレクトを発する。これもブロック６０２に描かれている。そのようなリダイレクトの例は下記の例２に描かれる。
loginserver.com?wreply=https://CDN.
emailname.com/...&s=<encrypted>
例２
【００５２】
例２において、「s」は「seed」〔シード〕を表わし、少なくともデータ・クラスター名、シードGUIDおよびCIDを含む暗号化された構造である。ブロック６０４に示されるように、ユーザーのブラウザーはこのリダイレクトをたどってログイン・ページに行く。このログイン・ページにより、ユーザーはブロック６０６に示されるように自分のクレデンシャルを入力することができる。そのようなクレデンシャルはたとえば、電子メール・アドレスおよび／またはユーザー名、パスワードなどを含んでいてもよい。ユーザーがそのようなクレデンシャルを入力しつつある間、ユーザーのデータの一部を取得してそのデータをユーザーにより近いCDNエッジ・サーバーにキャッシュするために他の動作が行なわれる。ある実施形態では、これはブロック６０８に示されるような画像タグを含むログイン・ページから開始される。一例では、画像タグは、ログイン・ページ上で認証モジュールによって電子メール・システムのために現在レンダリングされているカスタム・コンテンツの一部として源を有していてもよい。そのような例は上記の例１において示した。結果として、ブロック６０６においてユーザーが自分のクレデンシャルをタイプしている間に、ブラウザーは並列に例１のURLへの要求をする。
【００５３】
ブロック６１０に示されるように、CDNは画像要求を受領し、シード鍵を使ってシードを復号する。ブロック６１２は、CDNが、下記の例３に示されるような、シードにおいて同定されている特定のクラスターにシードGUIDをポストすることを示している。
https://cluster.emailname.com/
例３
【００５４】
ブロック６１４では、電子メール・システムは、ユーザーの受信箱、ホーム・コンテンツの最初のページまたはデフォルト、ユーザー選好などによる他の第一ページをもってCDNに応答する。さらに、ブロック６１４は、CDNがこのコンテンツをCDNエッジ・サーバーまたは電子メール・システムよりもユーザーに近い他のサーバーに記憶することを示している。ユーザーはまだ認証の途中なので、CDNはまだコンテンツをユーザーに転送しない。ある実施形態では、コンテンツは、1分、5分などの期限切れ時間を有していてもよい。ただし、他の実施形態はそのような期限切れ時間を含まない。
【００５５】
ブロック６１０に示されるように、CDNは、ユーザーがCDNに到達し、シードを提供するための媒介物のはたらきをする画像要求を受領した。ブロック６１６では、CDNはこの画像要求への応答として画像を返してもよい。ある実施形態では、画像は実際に求められてはおらず、よって要求される画像は、該画像がブラウザーに返されるときにブラウザーによって使用されない「ダミー」画像である。これは、ブロック６１６において示されている。たとえば、要求される画像は、ユーザーのブラウザー表示にほとんどまたは全く影響しない非常に小さなおよび／または透明な画像であってもよい。
【００５６】
何らかの時点において、ブロック６１８において描かれるように、ユーザーはクレデンシャルの入力を終え、クレデンシャルを提出する。ブロック６２０で示されるように、ログイン・モジュールはユーザーを認証し、ユーザーのクラスター、シードGUIDおよびCIDを得るためにシードを復号する。ブロック６２２においてCIDがクレデンシャルで表わされるユーザーに合わないことが判別される場合、ブロック６２４で示されるように、ユーザーは権限を与えられない。他方、ブロック６２２で判別されるところによりCIDがクレデンシャルで表わされるユーザーに一致する場合、ブロック６２６は、ログイン・モジュールが、ブラウザーにシードGUIDをCDNエッジ・サーバー（たとえばhttps://CDN.emailname.com/にある）にポストさせるたとえばスクリプト言語を用いたページを生成できることを示している。ブロック６２８に示されるように、CDNはユーザーからのそのポストを受領して、CDNが先にキャッシュしていたコンテンツ（たとえば受信箱、ホーム・ページなど）をサービスする。コンテンツが期限切れになっていた場合またはみつからない場合、CDNはポストを素通りさせて通常処理のために電子メール・システムに渡す。
【００５７】
ある実施形態では、本方式のセキュリティは、電子メール・データを安全ソケット・レイヤー（SSL:  secure  sockets  layer）を通じてサービスし、シードGUIDが決して平文で送られることがないようにすることを含む。さらに、本方式は、シードを単一の三つ組ではなく三つ組（クラスター、シードGUID、CID）のリストにすることによって複数ユーザーに拡張できる。
【００５８】
図７は、本稿に記載される原理が実装されうる代表的なコンピューティング装置／システム７００を描いている。本代表的コンピューティング・システム７００は、たとえば電子メール・サーバー、認証サーバー、エッジ・サーバーまたは他の仲介ネットワーク・ノード、ユーザー装置などといった、本稿に記載されるコンピューティング／通信装置の任意のものを表わすことができる。代表的な相違は下記で述べる。図７との関連で記述されるコンピューティング環境は、例のために記述されており、ユーザー固有コンテンツをコンテンツ消費者のほうに移動させるための構造および動作の開示は、ユーザー・コンテンツが通信されうる任意の環境において適用可能である。図７のコンピューティング構成はいくつかの実施形態では複数の装置にまたがって分散されていてもよいことも注意しておくべきである。
【００５９】
クライアント装置およびサーバーの両方について、代表的コンピューティング・システム７００は、システム・バス７０４を介して多数のモジュールに結合されたプロセッサ７０２を含んでいてもよい。描かれているシステム・バス７０４は、コンピューティング環境のさまざまなコンポーネントおよびモジュールに直接または間接に結合されていてもよい任意の型のバス構造（単数または複数）を表わしていてもよい。プロセッサ７０２によって使用されるファームウェアを記憶するために読み出し専用メモリ（ROM）７０６が設けられていてもよい。ROM  ７０６は、プログラム可能型ROM（PROM）、消去可能型PROM（EPROM）などといった任意の型の読み出し専用メモリを表わす。
【００６０】
ホストまたはシステム・バス７０４は、メモリ・コントローラ７１４に結合されていてもよく、メモリ・コントローラ７１４はメモリ・バス７１６を介してメモリ７１２に結合される。本稿に記載される原理に関連する動作モジュールは、メモリ７１２のような揮発性記憶をおよび不揮発性記憶装置を含む任意の記憶に記憶されてもよく、および／または任意の記憶を利用してもよい。図７は、アプリケーション、モジュール、データおよび他の情報が一時的または恒久的に記憶されうるさまざまな他の代表的な記憶装置を示している。たとえば、システム・バスは、ハードドライブのようなドライブ（単数または複数）７３２に結合されることのできる内部記憶インターフェース７３０に結合されていてもよい。記憶７３４は、ドライブに付随するまたは他の仕方でドライブとともに動作可能である。そのような記憶の例は、ハードディスクおよび他の磁気または光学式媒体、フラッシュメモリおよび他の半導体デバイスなどを含む。内部記憶インターフェース７３０は任意の型の揮発性または不揮発性記憶を利用してもよい。
【００６１】
同様に、リムーバブル・メディアのためのインターフェース７３６もバス７０４に結合されていてもよい。ドライブ７３８は、たとえばフロッピー（登録商標）ディスク、光ディスク、メモリ・カード、フラッシュ・メモリ、外部ハードディスクなどといったリムーバブル記憶７４０を受け容れ、それに対して作用するリムーバブル記憶インターフェース７３６に結合されていてもよい。場合によっては、ホスト・アダプター７４２が外部記憶７４４にアクセスするために設けられていてもよい。たとえば、ホスト・アダプター７４２は、小型コンピュータ・システム・インターフェース（SCSI）、ファイバー・チャネル（Fibre  Channel）、シリアル先進技術アタッチメント（SATA）またはeSATAおよび／または外部記憶７４４に接続できる他の類似のインターフェースを介して外部記憶装置とインターフェースをもちうる。ネットワーク・インターフェース７４６により、さらに他のリモート記憶がコンピューティング・システム７００にとってアクセス可能となりうる。たとえば、ネットワーク・インターフェース７４６に関連付けられた有線または無線トランシーバが、一つまたは複数のネットワーク７５０を通じて記憶装置７４８との通信を可能にする。記憶装置７４８は別個の記憶装置または他のコンピューティング・システム、サーバーなどに付随する記憶を表わしていてもよい。リモート記憶装置およびシステムとの通信は、有線ローカル・エリア・ネットワーク（LAN）、無線LANおよび／またはインターネットのようなグローバル・エリア・ネットワーク（GAN）を含むより大きなネットワークを介して達成されてもよい。
【００６２】
ユーザー装置、ネットワーク・サービス、認証サーバー、エッジ・サーバーおよび他の仲介ネットワーク・ノードは本稿に記載されるような情報を通信できる。ユーザー装置とサーバー装置との間の通信は、直接結線、ピアツーピア・ネットワーク、ローカル・インフラストラクチャー・ベースのネットワーク（たとえば有線および／または無線ローカル・エリア・ネットワーク）、都市圏ネットワークおよび他の広域ネットワーク、グローバル・エリア・ネットワークなどのようなオフサイト・ネットワークによって実施されることができる。送信機７５２および受信機７５４は図７において、これらおよび他の通信方法の任意のものでデータを送信および／または受信するための本代表的コンピューティング・システムの構造的な能力を描くために示されている。送信機７５２および／または受信機７５４はスタンドアローン・コンポーネントであってもよく、トランシーバ（単数または複数）として統合されていてもよく、ネットワーク・インターフェース７４６のような他の通信装置の既存の部分に統合されていてもよく、その他でもよい。
【００６３】
コンピューティング・システム７００はユーザー装置、電子メール・サーバー、認証サーバー、エッジ・サーバーなどにおいて実装されることができるので、ブロック７５６は、コンピューティング・システム７００が前記装置／サーバーの一つを表わすときにコンピューティング・システム７００と通信する他の装置／サーバーを表わす。ユーザー装置、電子メール・サーバー、認証サーバー、エッジ・サーバーなどのそれぞれにおいて実装されうるオペレーティング・システムおよび他のソフトウェア／ファームウェアに加えて、それぞれは、命令を実行するプロセッサ７０２によって動作可能なソフトウェア・モジュールを含んでいてもよい。いくつかの代表的な装置／サーバーのそれぞれについての代表的なモジュールについて下記で述べる。
【００６４】
コンピューティング・システム７００がユーザーまたはクライアント装置を表わすとき、クライアント装置記憶／メモリ７６０は、メモリ７１２、記憶７３４、７４０、７４４、７４８および／またはコンピュータ、スマートフォン、ラップトップ・コンピュータなどといったクライアント装置の他のデータ保持装置において記憶されうるものを表わす。代表的なクライアント装置記憶／メモリ７６０は、オペレーティング・システム（図示せず）および機能モジュールによって表わされるプロセッサ実装される機能を含んでいてもよい。たとえば、ブラウザー７６２および／または電子メール・クライアント７６４が設けられてもよい。UIC  ７６８、シード鍵７７０などのようなデータ７６６が記憶されてもよい。
【００６５】
代表的コンピューティング・システム７００が本稿に記載されるエッジ・サーバーまたは他の仲介サーバーを表わす場合には、メモリ７１２および／または記憶７３４、７４０、７４４、７４８は、先述したサーバーの機能上の動作との関連で使われるプログラムおよびデータを記憶するために使われてもよい。サーバー記憶／メモリ７７２は、メモリ７１２、記憶７３４、７４０、７４４、７４８、データベースおよび／または他のデータ保持装置に記憶されうるものを表わす。代表的なサーバー記憶／メモリ７７２は、オペレーティング・システム（図示せず）、復号モジュール７７４、キャッシュされたユーザー・コンテンツ７７８およびシード鍵７８０のようなデータ７７６などを含んでいてもよい。
【００６６】
代表的コンピューティング・システム７００が本稿に記載される電子メール・サーバーまたは他のネットワーク・サービスを表わす場合には、メモリ７１２および／または記憶７３４、７４０、７４４、７４８は、先述したサーバーの機能上の動作との関連で使われるプログラムおよびデータを記憶するために使われてもよい。サーバー記憶／メモリ７８２は、メモリ７１２、記憶７３４、７４０、７４４、７４８、データベースおよび／または他のデータ保持装置に記憶されうるものを表わす。代表的なサーバー記憶／メモリ７８２は、たとえば、オペレーティング・システム（図示せず）、電子メール・アプリケーション７８４、シード生成モジュール７８６および記憶されたユーザー・コンテンツ７８８、シード鍵７８９のようなデータ８７６などを含んでいてもよい。
【００６７】
代表的コンピューティング・システム７００が本稿に記載される認証サーバーを表わす場合には、メモリ７１２および／または記憶７３４、７４０、７４４、７４８は、先述したサーバーの機能上の動作との関連で使われるプログラムおよびデータを記憶するために使われてもよい。サーバー記憶／メモリ７８２は、メモリ７１２、記憶７３４、７４０、７４４、７４８、データベースおよび／または他のデータ保持装置に記憶されうるものを表わす。代表的なサーバー記憶／メモリ７９０は、たとえば、オペレーティング・システム（図示せず）および図３との関連で述べたモジュール、たとえば認証比較モジュール７９２、ユーザー比較モジュール７９４、復号モジュール７９６、データ７９８などを含んでいてもよい。
【００６８】
先述したように、図７における代表的コンピューティング・システム７００は、例のために与えている。処理および通信機能をもつ任意のコンピューティング装置が、本稿に記載される教示を使って、本稿に記載される機能を実行できる。本稿に描かれる流れ図または他の図におけるさまざまな機能の序列は、特に断わりのない限り、描かれている代表的な順序であることは必要ではない。
【００６９】
以上の例に示したように、たとえばプロセッサ（これは物理的なプロセッサおよび／または論理的なプロセッサ、コントローラなどを含む）を介して実行可能であるソフトウェア・モジュールを提供することによってコンピューティング装置上で実行されることのできる方法が記述される。本方法は、プロセッサおよび／または該プロセッサを介した処理のために情報を準備する回路によってアクセスされ読まれることができるコンピュータ可読媒体または他の記憶に記憶されてもよい。たとえば、コンピュータ可読媒体は、メモリ７１２、記憶７３４、７４０、７４４、７４８、他の任意の揮発性または不揮発性デジタル記憶などを含む任意のデジタル記憶技術を含んでいてもよい。本稿に記載されるようなコンピュータ可読媒体上に命令が記憶されているということは、命令が伝搬または伝送されることとは区別される。伝搬とは命令を転送するのに対し、命令を記憶することは、命令が記憶されているコンピュータ可読媒体で起こりうることである。したがって、特に断わりのない限り、コンピュータ可読媒体／メディアに命令が記憶されているとの言及は、この形でも類似の形でも、データが記憶または保持されうる有体の媒体のことをいう。
【００７０】
主題は構造的な特徴および／または方法論的な工程に固有の言辞で記載されてきたが、付属の請求項において定義される主題は必ずしも上記の特定の特徴または工程に限定されないことは理解しておくものとする。むしろ、上記の個別的な特徴および工程は請求項を実装する代表的な形として開示されている。
【図１】
2015506135.tif 000003
【図２】
2015506135.tif 000004
【図３】
2015506135.tif 000005
【図４】
2015506135.tif 000006
【図５】
2015506135.tif 000007
【図６】
2015506135.tif 000008
【図７】
2015506135.tif 000009
【国際調査報告】
2015506135.tif 000010
2015506135.tif 000011