特許第6109845号(P6109845)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6109845認証コンテンツのコンテンツ消費者のほうへの移動
<>
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000002
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000003
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000004
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000005
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000006
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000007
  • 特許6109845-認証コンテンツのコンテンツ消費者のほうへの移動 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6109845
(24)【登録日】2017年3月17日
(45)【発行日】2017年4月5日
(54)【発明の名称】認証コンテンツのコンテンツ消費者のほうへの移動
(51)【国際特許分類】
   H04L 9/32 20060101AFI20170327BHJP
   G06F 21/31 20130101ALI20170327BHJP
【FI】
   H04L9/00 673C
   G06F21/31
【請求項の数】10
【全頁数】23
(21)【出願番号】特願2014-544804(P2014-544804)
(86)(22)【出願日】2012年11月27日
(65)【公表番号】特表2015-506135(P2015-506135A)
(43)【公表日】2015年2月26日
(86)【国際出願番号】US2012066566
(87)【国際公開番号】WO2013081983
(87)【国際公開日】20130606
【審査請求日】2015年10月30日
(31)【優先権主張番号】13/307,017
(32)【優先日】2011年11月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】ダールマラジャン,バスカラン
(72)【発明者】
【氏名】チン,アンディ
(72)【発明者】
【氏名】ナッサール,アラディン エー.
【審査官】 中里 裕正
(56)【参考文献】
【文献】 特開2002−358229(JP,A)
【文献】 米国特許出願公開第2011/0093790(US,A1)
【文献】 米国特許出願公開第2005/0108517(US,A1)
【文献】 米国特許出願公開第2007/0136794(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装される方法であって:
ネットワーク・サービスへのユーザーのログイン試行に応答して、少なくとも、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置と、該ユーザー・データを同定する鍵とを有する暗号化されたシードをネットワーク・ノードにおいて受領する段階と:
少なくとも受領された前記鍵を使って前記ネットワーク・サービスにおける前記位置から前記ユーザー・データを要求する段階と;
前記ユーザー・データを前記ネットワーク・ノードにおいて受領し、記憶する段階であって、前記ネットワーク・ノードは、前記ネットワーク・サービスの位置よりも、前記ユーザーの位置に物理的に近い、段階と;
前記ユーザーのログイン試行の結果としての前記ユーザーの成功裏の認証に応答して、ユーザーが、前記ネットワーク・サービスからではなく、前記ネットワーク・ノードにおいて、前記記憶されているユーザー・データに対してアクセスできるようにする段階とを含む、
方法。
【請求項2】
前記暗号化されたシードを受領する段階が、前記ネットワーク・ノードから前記ユーザー・データに無関係のコンテンツ項目を要求するコンテンツ・タグの一部として前記暗号化されたシードを受領することを含む、請求項1記載のコンピュータ実装される方法。
【請求項3】
前記暗号化されたシードを受領する段階が、前記暗号化されたシードを受領するための媒介物として使われる画像タグの一部として前記暗号化されたシードを受領することを含み、前記画像タグを介して要求される画像が前記ユーザー・データと無関係である、請求項1記載のコンピュータ実装される方法。
【請求項4】
前記ネットワーク・ノードが、前記ネットワーク・サービスが位置しているよりも物理的に前記ユーザーの近くに位置しているコンテンツ配送ネットワークのエッジ・サーバーである、請求項1記載のコンピュータ実装される方法。
【請求項5】
認証ベースのコンテンツを記憶するよう構成されている第一の位置にある第一の記憶部と;
前記第一の位置よりも前記認証ベースのコンテンツのある要求者に近い物理的な近傍にある第二の位置における第二の記憶部と;
前記要求者が前記第一の位置においてホストされているサービスにログオンしようと試みる間に、前記第二の記憶部において記憶するために前記第一の記憶部から前記認証ベースのコンテンツの少なくとも一部をセキュアに要求し、前記第二の記憶部からの前記認証ベースのコンテンツへのセキュアなアクセスを容易にするよう構成されている、前記第二の位置にあるプロセッサとを有
前記第一の位置が:
前記要求者と、前記第一の記憶部における前記要求者の認証ベースのコンテンツの位置とを同定するクッキーを受領する段階と;
前記クッキーに基づいて暗号化されたシードを生成する段階であって、前記暗号化されたシードは、少なくとも、ユーザー識別子、前記要求者の認証ベースのコンテンツの前記位置および前記第一の記憶部における前記認証ベースのコンテンツを同定する鍵を含む、段階と;
その後、前記要求に応答して前記第一の記憶部からの前記認証ベースのコンテンツの少なくとも前記一部の開示を許諾するために前記第二の位置から前記暗号化されたシードを受領する段階とを実行するよう構成されている第一位置プロセッサを有する、
システム。
【請求項6】
前記プロセッサは、前記認証ベースのコンテンツへのセキュアなアクセスを容易にすることを、前記要求者が前記サービスへのログオンに成功したという指示に応答して、前記第一の記憶部ではなく前記第二の記憶部から前記要求者に前記サービスの少なくとも最初のウェブ・ページをアクセス可能にすることによって行なう、請求項5記載のシステム。
【請求項7】
さらに認証モジュールを有する請求項5記載のシステムであって:
前記第一の位置は、前記要求者によってアクセスされるのに応答して前記要求者を前記認証モジュールにリダイレクトするよう構成された第一位置プロセッサを有しており;
前記認証モジュールは、前記要求者の前記サービスへのログオン試行を容易にするためにログイン・ページを呈示し、前記第一の記憶部から前記認証ベースのコンテンツを取得するための前記第二の位置にある前記プロセッサによる前記セキュアな要求を開始するために前記ログイン・ページとともにコンテンツ・タグを提供するよう構成されている、
システム。
【請求項8】
さらに認証モジュールを有する請求項5記載のシステムであって:
前記第一の位置は、前記要求者によってアクセスされるのに応答して前記要求者を前記認証モジュールにリダイレクトするよう構成された第一位置プロセッサを有しており;
前記認証モジュールは、前記要求者の前記サービスへのログオン試行を容易にするためにログイン・ページを呈示し、前記第一の記憶部から前記認証ベースのコンテンツを取得するための前記第二の位置にある前記プロセッサによる前記セキュアな要求を開始するために前記ログイン・ページとともに少なくとも何らかのスクリプトを含む情報を提供するよう構成されている、
システム。
【請求項9】
ロセッサに:
ウェブ・ベースの電子メール・サービスにおいてユーザー・アクセス要求を受領し、応答して、ユーザー識別子、前記電子メール・サービスにおけるユーザーの電子メール・データの記憶位置および前記ユーザーの電子メール・データを同定する鍵を含む暗号化されたシードを生成する段階と;
前記ユーザーを、ログイン・ページおよび該ログイン・ページ内の画像タグを呈示する認証モジュールにリダイレクトする段階であって、前記画像タグは前記暗号化されたシードと、コンテンツ配送ネットワークのエッジ・サーバーのアドレスとを含む、段階と;
前記エッジ・サーバーから、少なくとも前記鍵によって同定される前記ユーザーの電子メール・データの第一の部分についての要求を受領する段階と;
前記ユーザーの電子メール・データの要求された前記第一の部分を前記エッジ・サーバーに差し向け、前記ユーザーの電子メール・データの前記第一の部分が、前記電子メール・サービスからではなく、前記エッジ・サーバーから前記ユーザーに提供されることができるようにする段階とを実行させるための
コンピュータ・プログラム
【請求項10】
前記暗号化されたシードの生成は、ユーザーが識別情報を提出する前に開始される、請求項9記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、認証コンテンツのコンテンツ消費者のほうへの移動に関する。
【背景技術】
【0002】
ネットワークを介して利用可能なデジタル・データの量は膨大である。情報は、ピアツーピア・ネットワークおよびローカル・エリア・ネットワークからインターネットのようなグローバル・ネットワークまでの諸ネットワークを通じて得られてもよい。任意のユーザーに利用可能であることが意図されているデータおよび電子メール(eメール)、バックアップ・データのようなよりパーソナル化されたデータを含めさまざまな型の情報が得られてもよい。多くの場合、ユーザーは、自分がある種のコンテンツを閲覧するおよび/または該コンテンツにアクセスする権限を与えられていることを示すためにクレデンシャルを提出する必要がある。たとえば、ユーザーは、情報を閲覧またはダウンロードするためにウェブサイトにログオンすること、電子メールを受信するためにメール・サーバーにログオンすることなどが求められることがある。
【0003】
アクセス可能なデジタル情報がどこにでもあることにより、人々は中断されないサービスおよび瞬時と思われるアクセス速度を期待するようになっている。向上した通信速度に寄与する技術の進歩に加えて、先取り技法も、ネットワーク通信速度を高めるのに有意な役割を演じることがある。たとえば、プリフェッチおよび他の先取り技法は、ユーザーが次に何を要求しうるかについて、合理的な想定をすることができる。そのような決定は、ユーザーがどのコンテンツを現在消費しているか、既知のユーザー選好、過去のユーザー挙動および/またはいくつもある他の要因といった、さまざまな要因に基づいて行なうことができる。
【0004】
これらおよびその他の技法はしばしば、情報の通信に関わるその特定のユーザーがわかっているために可能である。たとえば、自分の電子メールを要求しているその特定のユーザーがメール・サーバーまたは他のメール転送エージェントにわかっている場合、電子メール・メッセージおよびメッセージ・リスト・ページがプリフェッチされることができる。特定のユーザーの典型的な過去の挙動は、ユーザーが実際にまもなくその情報を要求するであろう確率に基づいて、ある種の情報が、迅速なユーザー・アクセスのために保持記憶に伝送されることを促すことができる。そのような技法は、たとえ実際にはバックエンドおよび/または伝送遅延がユーザーの知らないところで生じていたとしても、データおよび他の情報要求を、ほとんど瞬間的であるように見せることができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、これらおよびその他の技法は、そのユーザーに関連付けられた、または場合によってはそのユーザーに特有の情報に基づくことがある。ユーザーの素性がまだわからない、セッションが確立されていない、などの場合には、そのような技法は利用可能でないことがある。たとえば、ユーザーがウェブ・ベースのサービスにログオンしつつある間、まだセッションは確立されておらず、ユーザーに関連する素性および/または属性はまだサービスに知られていない。認証または他の初期活動が行なわれつつある間、ユーザーは、手順が完了するまで遅延を辛抱して待つことしかできない。認証要求および他の初期通信は、情報の複数の交換に関わることがある。そのような交換のためのホップ数および往復時間〔ラウンドトリップタイム〕はユーザーにとって、望ましくない「表示までの時間」(TTG: time to glass)体験につながりうる。
【課題を解決するための手段】
【0006】
諸技法は、ネットワーク上の認証付きコンテンツを該コンテンツの消費者のほうに移動させることに関わる。ある代表的な技法は、少なくとも、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置および該ユーザー・データにアクセスするための暗号鍵を有する暗号化されたシードを受領するネットワーク・ノードを含む。シードは、ネットワーク・サービスへのユーザーのログイン試行に応答して受領される。ユーザー・データは、少なくとも前記受領される暗号鍵を使って前記位置から要求される。本方法はさらに、前記ユーザー・データを前記ネットワーク・ノードにおいて受領し、記憶することを含む。ここで、前記ネットワーク・ノードは、前記ネットワーク・サービスの位置よりも、前記ユーザーの位置に物理的に近い。ユーザーが成功裏に認証されれば、前記ネットワーク・サービスからではなく、前記ネットワーク・ノードにおける前記記憶されているユーザー・データに対してユーザー・アクセスが提供される。
【0007】
そのような技法のもう一つの個別的な実装では、認証ベースのコンテンツを記憶するよう構成されている第一の位置にある第一の記憶を含むシステムが提供される。第二の位置における第二の記憶が提供される。ここで、前記第二の位置は前記第一の位置よりも認証ベースのコンテンツの要求者と近い物理的な近傍にある。前記第二の位置のプロセッサは、前記要求者が前記第一の位置にホストされているサービスにログオンしようと試みる間に、前記第二の記憶において記憶するために前記第一の記憶から認証ベースのコンテンツの少なくとも一部をセキュアに要求するよう構成されている。前記プロセッサはさらに、前記要求者などによる前記第二の記憶からの前記認証ベースのコンテンツへのセキュアなアクセスを容易にするよう構成されている。
【0008】
もう一つの代表的な実装は、方法または機能を実行するためにプロセッサによって実行可能な命令を記憶しているコンピュータ可読媒体に関わる。本方法は、ウェブ・ベースの電子メール・サービスにおいてユーザー・アクセス要求を受領する段階と;応答して、ユーザー識別子、前記電子メール・サービスにおけるユーザーの電子メール・データの記憶位置およびユーザーの電子メール・データにアクセスするための暗号鍵を含む暗号化されたシードを生成する段階とを含む。ユーザーは、ログイン・ページおよび該ログイン・ページ内の画像タグを呈示する認証モジュールにリダイレクトされる。ここで、前記画像タグは前記暗号化されたシードと、コンテンツ配送ネットワークのエッジ・サーバーのアドレスとを含む。前記エッジ・サーバーから、少なくとも前記暗号鍵によって同定される、ユーザーの電子メール・データの第一の部分についての要求が受領される。ユーザーの電子メール・データの要求された第一の部分はエッジ・サーバーに差し向けられ、ユーザーの電子メール・データの第一の部分は、電子メール・サービスからではなく、エッジ・サーバーからユーザーに提供されることが許容される。
【0009】
この概要は、詳細な説明においてさらに後述される概念のセレクションを簡略化された形で紹介するために与えられている。この概要は、特許請求される主題の鍵となる特徴や本質的な特徴を特定することは意図されておらず、特許請求される主題の範囲を限定するために使われることも意図されていない。
【図面の簡単な説明】
【0010】
図1】Aは、本稿に記載される技法が実装されうる代表的な仕方を示す代表的なネットワーキング環境であり、Bは、遅延を短縮して表示までの時間を改善するためにユーザー固有情報をユーザーにより近くで利用可能にするために使用されうるより具体的な対話例を描いている。
図2】ユーザー固有情報を取得することに関連する遅延を短縮するための代表的なシステム・レベルの例を示す図である。
図3】ウェブ・ベースの電子メール・プログラムのログイン・プロセスに関連する遅延を短縮するための代表例を示す図である。
図4】ネットワーク・ノードが、ネットワーク・サービスへの初期アクセスの間にユーザーが経験するレイテンシーを減らすためのキャッシュ要素としてはたらくことができる代表的な方法を示す流れ図である。
図5】ユーザーがユーザー・データを提供するサービスにログオンしつつある間にユーザー・データを取得して、該ユーザー・データをユーザーがより迅速にそれを得られる位置にキャッシュするためのシステムのブロック図である。
図6】電子メール・システムよりも地理的にユーザーに近いCDNのエッジ・サーバーにユーザーの電子メール・データの少なくとも一部を移す仕方の一つの代表例の流れ図である。
図7】本稿に記載される原理が実装されうる代表的なコンピューティング・システムを描く図である。
【発明を実施するための形態】
【0011】
以下の記述では、代表的な実装例を描いている付属の図面が参照される。本開示の範囲から外れることなく構造上および/または動作上の変更をなしうるので、他の実施形態および実装が利用されてもよいことは理解しておくものとする。
【0012】
上記のように、ネットワーク・アクセス遅延はしばしば、プリフェッチまたは他の先取り技法を使って短縮できる。そのような技法は、ユーザーが何を要求しうるかについての合理的な想定に関わり、ユーザーによって要求されそうな情報を得るためのアクションが開始されることができる。しかしながら、そのような技法は、ユーザーの素性がまだ知られていない場合、セッションがまだ確立されていない場合または他の何らかの初期活動との関連では効果がない。たとえば、ユーザーがアプリケーションまたはサービスに「ログオン」するまたは該アプリケーションまたはサービスとの関連で他の仕方で認証されるまでは、ユーザーはまだそれを見る権限が与えられていないので、認証されたコンテンツはユーザーに対して呈示されることができない。よって、そのような認証または他の初期プロセスが行なわれつつある間、ユーザーは、有意なコンテンツが呈示されるまで望ましくない遅延を経験することがありうる。
【0013】
本開示は概括的には、認証ベースのコンテンツを少なくとも一時的に、該コンテンツが通常記憶されているところよりもユーザーに物理的に近い位置において、コンテンツ消費者または「ユーザー」に利用可能にすることに向けられる。ネットワーク・アプリケーション/サービスは、該サービスにアクセスするユーザーの要求に応答して暗号化されたトークンを生成することがある。該トークンは、ユーザーに、直接、リダイレクトされた認証モジュールを介して、などで提供されることができる。該トークンを使って、ユーザーは、ネットワーク・サービスより近い近傍にあるネットワーク・ノードに要求をすることができ、該要求は、前記より近いネットワーク・ノードに、前記より遠いネットワーク・サービスからの認証ベースのコンテンツの少なくとも前記第一の呈示可能な部分を取得させる。認証ベースのコンテンツを要求し、前記より近いネットワーク・ノードに提供するこのトランザクションは、ユーザーが前記ネットワーク・サービスにログインしつつある間になされてもよく、それにより伝送遅延は、該コンテンツに関してユーザーが呈示されることを期待しない時に行なわれることができる。ユーザーが最終的に認証されたら、前記より近いネットワーク・ノードにおいてキャッシュされた認証ベースのコンテンツの第一の呈示可能な部分が迅速にユーザーに提供されることができる。TTGは、少なくとも、ユーザー・データの並列取得およびユーザーが最終的に認証されたときのデータのより近い近接性のため、改善される。
【0014】
ここで図1のAを参照するに、本稿に記載される技法が実装されうる代表的な仕方を示す代表的なネットワーキング環境が記載されている。図示した例では、ネットワーク・ベースのアプリケーション、サービスまたは他のネットワーク・エンティティは、データ・センター100A、100B、100nなどによって描かれるようにネットワーク上のさまざまな点において分散しているデータを有していてもよい。例示のため、これらのデータ・センター100A、100B、100nは、ネットワーク・ベースのサービスに関連するデータ記憶エンティティを含んでいてもよい。データ源ノードA 102A、データ源ノードB 102B、データ源ノードn 102nのような他のネットワーク・エンティティが、同じまたはデータ・センター100A、100B、100nとは異なるネットワークに関連付けられていてもよい。一例では、データ源ノード102A、102B、102nは、たとえばコンテンツ送達ネットワーク(CDN: content delivery network)によってデジタル・コンテンツを提供するコンテンツ記憶エンティティを表わす。もう一つの例では、少なくともデータ源ノードA 102Aは、データ・センター100A、100B、100nに対してサードパーティーのネットワーク・ノードである。ここで、データ・センター100A〜100nで講じられるデータ・セキュリティ施策は一般にはデータ源ノード102A〜102nには受け継がれない。
【0015】
ユーザー104は、図示したネットワーク・エンティティの任意の一つまたは複数と対話してもよい。本稿に記載される代表的な技法は、前記ネットワーク・エンティティの一つまたは複数との初期対話に際してユーザー104に直面する遅延を軽減する。たとえば、初期対話はユーザーがネットワーク・サービス、データなどへのアクセスを得るためにユーザー固有のクレデンシャルを入力するログイン・プロセスであってもよい。
【0016】
より特定的な例では、ユーザーが相互作用の線106によって描かれるように、ログイン・プロセスを開始したと想定される。本稿に記載される諸実施形態は、ユーザー関係の情報をもとの記憶位置よりユーザーに近いネットワーク・エンティティにおいてキャッシュするまたは他の仕方で記憶することによってユーザーのログイン開始からの表示までの時間(TTG)が短縮される仕方を記述する。たとえば、ユーザー104が線106で描かれるログインを開始するとき、ユーザー104は電子メール・アドレスおよび/またはユーザー識別子(ユーザーID)、パスワードなどを入力してもよい。ひとたびユーザー104によって提出されたら、ユーザーは典型的には、クレデンシャルが認証されて、最終的にアプリケーション/サービスがユーザー104に対して呈示されるまで待つ。本稿に記載される技法によれば、ユーザーの待ち時間は、アクセスされるアプリケーション/サービスの最初のページ(最初の数ページ)を、ログイン・プロセスが完了したときにユーザーに対してより迅速に呈示されるよう、ユーザー104に物理的により近いノードに記憶することによって短縮される。
【0017】
このように、典型的にはユーザー専用であるコンテンツまたはデータは、ユーザーがログインしつつある間または他の仕方で初期対話に関わっている間に、記憶領域から取得されることができる。これらの並列動作の間、コンテンツは、ログイン・プロセスが最終的にユーザーの成功裏の認証につながることを予期して、地理的にユーザーにより近い位置に移されてもよい。特に断わりのない限り、「並列」「同時」などのイベントへの言及は、そのようなイベントが正確に時間的に重なることではなく、少なくともある程度重なることを示すことを注意しておくべきである。
【0018】
図1のAの例では、ユーザー・データ・キャッシング動作は、ユーザー104が相互作用の線106によって描かれるログイン・プロセスを開始したときに開始される。ユーザー・データ・キャッシング動作は破線108によって描かれている。ここで、ユーザー識別情報(user-identifying information)がこの例ではデータ・センターB 100Bにセキュアに提供される。ユーザー識別情報は、ログイン手順が完了したときにユーザー104に呈示されうる初期ウェブ・コンテンツのようなデータ・センターB 100Bに記憶されているユーザー固有情報を特定するために使われる。そのようなユーザー固有情報は、より遠方のデータ・センターB 100Bからデータ源ノードA 102Aまたはデータ・センターB 100Bにアクセス可能な他のノードに提供されてもよい。相互作用の線110によって描かれるようにユーザー104がログインを完了したとき、ユーザー固有情報は、少なくとも部分的にはデータ源ノードA 102Aにおいてそのより近い近傍にあり、ユーザー104に対してより迅速に提供されることができる。
【0019】
図1のBは、遅延を短縮し、TTGを改善するためにユーザー固有情報をユーザーのより近くで利用可能にするために使用されうる対話のより具体的な例を描いている。この例は図1のAにおいて言及される項目に関わり、よって適宜同様の参照符号を使う。この例では、ユーザー104が線Aで示されるようにデータ・センターA 100Aと対話するために、ウェブサイトまたは他のネットワーク・ノードにアクセスすると想定される。下記のより特定的な実施形態において記述される仕方で、ユーザー104に関連するブラウザー(図示せず)は最終的には、ユーザー固有情報が記憶されているデータ・センターB 100Bよりもユーザー104に近いノードにセキュアな情報を提供する。データ源ノードA 102Aはそのような、ユーザー104に対して「より近いノード」を表わし、破線Bはそのセキュアな情報の転送を表わす。
【0020】
破線Bによって描かれるこのセキュアな情報を使って、ノードA 102Aは、破線Cによって描かれるように、データ・センターB 100Bに記憶されているユーザー固有情報の要求をする。ユーザー固有情報はデータ・センターB 100Bから、少なくとも一時的に記憶されるようデータ源ノードA 102Aに与えられる。ユーザーのログインが最終的に成功であれば、データ・センターA(これは認証ノードを含むまたは認証ノードに関連付けられていてもよい)は、線Eによって描かれるように、ユーザー104のためのページ(単数または複数)を生成することができ、それにより、線FおよびGによって描かれるように、ユーザー104のブラウザーに、データ源ノードA 102Aにおける一時的に記憶されている情報にアクセスさせる。
【0021】
このように、本稿に記載される技法は、中でも、少なくとも一のユーザーに固有な認証コンテンツを、より遠方のデータ・センターからネットワークの周縁のほうにプッシュさせることを可能にする。たとえば、認証または「ログイン」手順は、認証されたデータをユーザーのより近くにプッシュすることによって加速されてもよい。ある実施形態では、データは、通常は取得するために認証を必要とするデータを記憶しないサーバーにプッシュされる。たとえば、認証コンテンツは、ユーザーのクレデンシャルが認証されたときにユーザーに対して呈示されるウェブ・コンテンツの最初のページのような、普通なら任意の一般の要求者には配送されないコンテンツを表わしていてもよい。より特定的な例では、認証されたコンテンツは、ユーザーのホーム・ページ、ウェブ・ベースの電子メール受信箱などの最初のページであってもよい。ある実施形態では、認証コンテンツは、通常記憶されているよりもクライアント装置により近い、エッジ・サーバーまたは他の中間サーバーのような第二のサーバー(単数または複数)において、取得され、少なくとも一時的に記憶される。認証コンテンツは、ユーザーが認証クレデンシャルの入力の仕方を呈示されている間に、該より近いサーバーにおけるキャッシング/記憶のために取得されてもよい。このようにして、認証コンテンツのキャッシングとユーザーのクレデンシャルの入力の間の時間的重なりが、全体的なログイン・プロセスにおいて節約される時間である。より特定的には、ユーザーがクレデンシャルの入力を完了したとき、認証コンテンツは遠方のノードから取得される必要はなく、CDNエッジ・サーバーのようなユーザーにより近いノードにおいてすぐ利用可能となる。
【0022】
図2は、ユーザー固有情報を得ることに関連する遅延を短縮するためのもう一つの代表例を描いている。図2の例では、ネットワークを介して提供されるサービスは、インターネット/ベースの電子メール(eメール)サービスであると想定され、ユーザーが自分の電子メールにアクセスするときのTTGが短縮される。
【0023】
図2の例では、ユーザーが電子メールおよび/または他のネットワーク・サービスにアクセスするために使用しうるいくつかの代表的な装置またはデバイス202が描かれている。装置202は例のために示されており、網羅的なリストを表わすものではない。本稿に記載される技法は、一つまたは複数のネットワークを介してサービスおよび/またはデータと通信するまたは他の仕方でこれにアクセスすることをしてもよい任意の装置に適用可能である。装置202はスタンドアローンのコンピューティング装置、可搬型のコンピューティングおよび/または通信装置、機器や自動車のような他の製品に組み込まれている装置などであってもよい。代表的な装置202は、デスクトップ・コンピュータ202−1、ポータブル・コンピュータ(たとえばラップトップ)202−2、携帯電話202−3、携帯情報端末(personal digital assistant)202−4またはネットワーク(単数または複数)を介して通信するその他の装置202−5を含む。装置202によって利用される少なくとも一つのネットワーク・サービスが電子メールである場合、装置202は、ウェブ・ベースのメールにアクセスするためのブラウザー204、ローカル電子メール・クライアント206などといったソフトウェアを含んでいてもよい。
【0024】
図2の代表的な実施形態は、ネットワーク214を介して利用可能である一つまたは複数のデータ・センター208、210、212を含む。データ・センター208、210、212は、地球のサービスされる諸部分に地理的に分散されていてもよい。ある実施形態では、データ・センターは、データ・センター208に示されるクラスター216のようなクラスターを含む。装置202のユーザーのための電子メールおよび/または他のデータは、特定のクラスター216およびデータ・センター208に記憶されていてもよい。このように、ユーザーがウェブ・ベースの電子メール・アプリケーション215に到達するためにある一様リソース位置指定子(URL: uniform resource locator)または他のアドレスにアクセスするとき、ユーザーはその特定のデータ・センター208と対話していてもよい。
【0025】
ユーザーが電子メール・アプリケーション215に差し向けられるとき、ユーザーのブラウザー204は、ある実施形態では、データ・センター208に関連していても、あるいはデータ・センター208と別個であってもよい認証モジュール217にリダイレクトされる。認証モジュール217は、電子メール・アドレスおよび/またはユーザー名、パスワードなどのようなユーザー・クレデンシャルのユーザー入力を容易にする。認証モジュール217によってその情報が検証されるとき、ブラウザー204は、もとの電子メール・アプリケーション215にリダイレクトされてもよい。本稿に記載される技法によれば、装置202に呈示されるユーザーの電子メール受信箱を示す画面のようなウェブ・コンテンツが、当該ウェブ・コンテンツ/データのサービス元のデータ・センター208よりも装置202に地理的により近いネットワーク・エンティティにおいてキャッシュされる。該コンテンツは、ユーザーのクレデンシャルが入力および/または検証されつつあるときに、取得され、エッジ・サーバー218のようなより近いネットワーク・エンティティに移されることができる。
【0026】
たとえば、ネットワーク214は、一つまたは複数のエッジ・サーバー218、220および場合によっては追加的な中間サーバー222、224、226を含むコンテンツ配送ネットワーク(CDN: content distribution network)を含んでいてもよい。該サーバーは電子メール・システム、CDNおよび/または他のシステムの任意の部分に関連していてもよい。装置202のユーザーは、ブラウザー204を、電子メール・アプリケーション215によって提供されるサービスに向け、ログイン・プロセスを開始してもよい。この時間の間に、ユーザー固有データが、データ・センター208における適切なクラスター216から、CDNエッジ・サーバー218のような装置202により近いネットワーク・ノードに移されてもよい。CDNエッジ・サーバー218は一般に、一般的な画像、javascript(登録商標)コード、カスケード式スタイルシート(CSS: cascading style sheet)などといった認証を必要としないコンテンツを記憶するために使われてもよいが、本稿に記載される技法は、認証ベースのユーザー固有データをセキュアにキャッシュするためにエッジ・サーバー218の近接性を活用する。適切なセキュリティ施策を利用することによって、ユーザー固有データは、不正アクセスに対する保護をもって、エッジ・サーバー218にキャッシュされうる。
【0027】
ある実施形態では、ユーザー固有データは、ユーザーの個人的な電子メール受信箱のようなユーザーに呈示される電子メール・サービスの最初のページを含む。電子メール受信箱または他のコンテンツは一般に各ユーザーに特有なので、ユーザーの装置202上に呈示される最初のページはユーザーによって異なる。ユーザーのクレデンシャルが検証されたとき、ブラウザー204は、キャッシュされたユーザー固有コンテンツを、物理的に近接したエッジ・サーバー218から取得することができる、あるいは取得するよう命令されることができる。電子メール・コンテンツは、ブラウザー204を介して呈示される、メール・サーバー230によって管理される、ローカル電子メール・クライアント206を介して呈示される、などしてもよい。ユーザー固有コンテンツを装置202に物理的により近いところにキャッシュすることにより、要求されたコンテンツの最初のページを呈示するために費やされる時間が短縮できる。ユーザー・プライバシーを維持しながらより高速なTTGを可能にするためにユーザー固有データをセキュリティで保護する仕方について以下で述べる。
【0028】
図3は、ウェブ・ベースの電子メール・プログラムのログイン・プロセスに関連する遅延を短縮するための代表例を示している。図示した実施形態では、電子メール・システム300が一つまたは複数のデータ・センター302の間に分散されていることが想定される。本稿に記載される技法との関連でさまざまな実装が可能であるものの、図示した実施形態は複数のクラスター304、306ないし308に関わり、各クラスターは複数のユーザー、多くの場合には多数のユーザーをホストする。クラスター308のような各クラスターは、一つまたは複数のバックエンド・サーバー310、312および一つまたは複数のフロントエンド・サーバー314、316を含む自己完結したサーバーの集合を表わしていてもよい。フロントエンド・サーバー314、316はクライアント装置350のような外部装置とインターフェースをもち、ページのフォーマット整形、ウイルス検査などといった機能を実行してもよい。フロントエンド・サーバー314、316は、電子メール・システム300を利用するクライアント装置350との最初の接触に従事することができるフロントドア(FD: front door)サーバー318、320を含んでいてもよい。FDサーバー318、320は、クライアント装置350に代わってバックエンド・サーバー310、312に対して要求をすることができる。
【0029】
とりわけ、バックエンド・サーバー310、312は、ユーザーの電子メール324および他のユーザー固有コンテンツを含むユーザー・データを記憶するためのデータベースおよび/または他の記憶322を提供してもよい。ある実施形態では、前記一つまたは複数のデータ・センター302の任意のものにある記憶322に記憶されているユーザー固有コンテンツは、電子メール・サービスのホーム・ページ、電子メール・サービスの受信箱などといった、ログイン成功の際にユーザーに対して呈示される一つまたは複数のウェブ・ページを含む。代表的なフロントエンド・サーバー318、320とバックエンド・サーバー310、312との間の責務の具体的な配分は、例解のために記載されているだけであることを注意しておくべきである。本稿に記載される技法は、複数のサーバー間の責務の配分やそもそも複数のサーバーがあるか否かに関わりなく適用可能である。
【0030】
上記のように、図3の例は、電子メール・システム300のコンテキストにおいて記述されている。この実施形態では、クライアント装置350は以前に電子メール・システム300と通信したことがあり、少なくとも一つのクッキー352がクライアント装置350に記憶されていることが想定される。クッキー352はたとえば、ユーザーを同定し、該ユーザーのデータがどこにあるかを示唆するデータであってもよい。たとえば、どのクラスター304、306、308などおよびおそらくはどのデータ・センター302にユーザーの電子メール・データが存在するかを同定するデータを含む位置クッキー352がクライアント装置350に記憶されていてもよい。
【0031】
下記でより詳細に記載されるように、そのような位置クッキー352は、そのユーザーについて暗号化されたトークンまたは「シード」が生成されることができるよう、十分にユーザーを特定する情報を提供することができる。位置クッキー352は、本稿に記載される技法との関連では必須ではなく、他の識別情報が使用されてもよい。たとえば、ユーザー固有コンテンツの取得およびより近くでのキャッシングを開始するためには、電子メール・アドレスは十分にユーザーを特定しうる。しかしながら、クッキー352または他の記憶された情報の使用は、シードの生成およびユーザー固有コンテンツの最終的なキャッシングを、ユーザーがまず電子メール・アドレスまたは他の識別情報を提出する場合よりも早くに可能にしうる。また、ある実施形態では、少なくともユーザーの電子メール・データの位置(たとえば、クラスター304、306、308など)を記憶する位置クッキー352の使用は、ユーザーのデータが同じクラスターに留まる、あるいは少なくとも最後の電子メール・アクセス以降変わっていないことを前提にしている。このように、位置クッキー352は、ユーザーの電子メール・データが記憶されていることが知られている位置を迅速に提供することができる。
【0032】
他の実施形態では、ユーザーのデータの位置を同定するためにユーザーを識別する他の情報が使用されることができる。これは場合によっては、ユーザーの個人的な電子メール・データを位置特定する追加ステップを必要とすることがある。さまざまな実施形態は、さまざまなレベルの詳細さのユーザー識別情報および/またはユーザー・データ位置情報に関わり、そのどれでも本項の記載との関連で実用可能である。ただし、場合によっては、ユーザー・データの厳密な位置が、直接的な位置情報(たとえばクラスター・アドレス)によるのではなく、他の識別情報の補助により位置特定されることがありうる。このように、図3の実施形態はユーザーおよびユーザーの記憶された電子メール・データおよび他のユーザー固有コンテンツの位置を同定する位置クッキー352との関連で記述されているが、本稿に記載される技法から外れることなく、他の識別情報が代わりに使われてもよい。
【0033】
ある実施形態では、位置クッキー352または他のユーザー識別情報に応答してデータ・センター302において生成されたシード358Aは、暗号化されたトークンの形で、認証前バンドルを表わす。この暗号化されたトークンまたは「シード」は、電子メール・システム300および認証モジュール356に対してそれぞれのユーザーを一意的に同定する値のような情報を含んでいてもよく、そのような情報は本稿ではクライアント識別子(CID: client identifier)と称されることがある。先述したように、シードは、ユーザーの電子メール・クラスター名、アドレスまたは他のクラスター識別子のような、ユーザーの電子メールおよび関係するデータの位置をも含んでいてもよい。ある実施形態では、暗号学的に安全な乱数もシードの一部として与えられる。これは本稿では認証前鍵またはシードGUID(globally unique identifier[グローバル一意識別子])と称されることがある。シードGUIDは、ユーザーの電子メール受信箱のような同定されたクラスターにおけるCIDによって同定されるユーザーのための適切なデータにアクセスするための鍵として使われてもよい。
【0034】
より特定的には、クライアント装置350は、電子メール・システム300に、位置クッキー352または他のユーザー識別情報を提供してもよい。ある実施形態では、位置クッキー352は、少なくともユーザーの識別情報およびユーザーのデータ・クラスターの位置を含むユーザー識別クッキー(UIC: user identification cookie)の形である。位置クッキー352は暗号化されていてもよい。フロントドア・サーバー320は位置クッキー352を受領し、ある実施形態では、認証モジュール356へのリダイレクト・メッセージ354および位置クッキー352内のユーザー情報から生成されるシード358Aをもって応答する。この例では、シード358Aは、少なくともクラスター、シードGUIDおよびCIDを含む暗号化された構造を表わす。この三つを本稿では三つ組と称する。
【0035】
クライアント装置350のブラウザーは、認証モジュール356へのリダイレクト・メッセージ354のリンクをたどり、認証モジュール356は応答してログイン・ページ360を提供する。その後の使用のためにシード358Bが認証モジュール356に提供されてもよい。ある実施形態によれば、ログイン・ページ360は、中でも、画像タグのようなコンテンツ・タグを含む。コンテンツ・タグは、ログイン・ページ360上で認証モジュール356によって電子メール・システム300についてレンダリングされるカスタム・コンテンツの一部として与えられる。そのような画像タグの例を下記に示す。
<img src=https://CDN.emailname.com/clear.gif?s=<encrypted>"/>
例1
ここで、この例における「CDN」はコンテンツ配送ネットワークのエッジ・サーバー390を表わし、よってCDN.emailname.comは当該メール・システム(emailname.com)300と協働するCDNエッジ・サーバー390を表わす。
【0036】
結果として、クライアント装置350のユーザーが自分のクレデンシャルをタイプしている時間の間に、クライアント装置350のブラウザーは、並列に、エッジ・サーバー390のこのURLにコンテンツ要求362をしてもよい。コンテンツ要求362はエッジ・サーバー390をポイントし、それがユーザー固有データのキャッシングを開始するコールをトリガーする。エッジ・サーバー390が、電子メール・システム300と協働できるクライアント装置350に物理的により近い任意のネットワーク・ノードであってもよいことを注意しておくべきである。図示した実施形態では、このネットワーク・ノードはCDNエッジ・サーバー390によって表わされているが、これは必須ではない。しかしながら、ある実施形態では、ユーザー固有コンテンツがキャッシュされるネットワーク・ノードは、普通ならコンテンツを受領するための認証要求を必要としなくてもよいネットワーク・ノードである。
【0037】
上記の例1のURLを使って、クライアント装置350のブラウザーは、暗号化されたシードを用いてCDN.emailname.comにある画像タグに対するコンテンツ要求362をする。下記でより詳細に述べるように、コンテンツ要求362は、エッジ・サーバー390に暗号化されたシードを提供する手段としてはたらき、よって、ユーザー固有コンテンツ(たとえば、電子メール・サービスの最初のウェブ・ページ)を取得し、キャッシュすることができる。
【0038】
ログイン・ページ360は、エッジ・サーバー390への要求をトリガーするために、画像または他のコンテンツ・タグではなく、スクリプト言語または他のプログラミングを含んでいてもよいことを注意しておくべきである。画像タグおよび他のコンテンツ・タグの使用は、エッジ・サーバー390または他の仲介ノード上にコンテンツを記憶することを支援する一つの仕方を表わしている。しかしながら、他のタグまたはスクリプトなどを使って類似の結果を得てもよい。たとえば、コンテンツ・タグの使用は、AJAXコール(Asynchronous JAVASCRIPT(登録商標)およびXML)で置き換えることができる。ある実施形態では、そのようなコールは、望むならより大量の認証情報がポストされることも許容することもある。いくつかの画像URLは文字が制限されている要求方法をもって実装されることがあるからである。したがって、ユーザー・コンテンツ368Bは、たとえばIMG、IFRAME、SCRIPTまたは他の同様のHTMLタグまたは他のプログラミング・タグを使って、あるいはXML HTTP要求などのような仕掛けをもつスクリプトを使って、暗号化されたシードおよび他の関係情報を渡すことによって、エッジ・サーバー390上に事前キャッシュされるまたは他の仕方で記憶されることができる。情報を渡すこれらおよび他の類似の仕方が使用されてもよく、本稿に記載されるものは例解のために与えているものである。
【0039】
コンテンツ要求によって要求されたと標榜される実際の画像、コンテンツまたは他のデータは有意ではないことを注意しておくべきである。ある実施形態では、コンテンツの要求は、電子メール・システム300によって呈示されるユーザーの最初のウェブ・ページのようなユーザー固有情報を得るために適切なクラスター308へのエッジ・サーバー390によるクライアント開始要求を容易にするための偽装である。画像要求を想定するより特定的な例では、要求に応答して、透明であるおよび/または小さすぎて見えない1ピクセルかける1ピクセルの画像のような知覚できない画像が取得されてもよい。あるいはまた、画像または他のコンテンツ要求は知覚可能な画像、音などを返してもよい。しかしながら、ある実施形態では、画像要求は実際に結果として得られる画像を求めるものではなく、画像タグを、ユーザーの認証された情報の少なくとも一部をキャッシュするために電子メール・システム300と協働するエッジ・サーバー390に暗号化されたシードを提供するための媒介物として使う。この情報キャッシングは、ユーザーがログイン・クレデンシャルを入力している間に行なわれ、それにより電子メール・サービスの最初のページのより高速な呈示を可能にする。クライアント装置350に物理的により近いところにキャッシュされているからである。
【0040】
前記シードおよび/または暗号化された情報に関わる他の情報の復号を容易にするために、CDN.emailname.comのような、エッジ・サーバー390について生成されたドメインについてのデジタル証明書がエッジ・サーバー390および/または該エッジ・サーバー390が付随しているCDNと共有される。追加的に、電子メール・システム300、認証モジュール356およびCDNエッジ・サーバー390は、少なくとも前記シードを暗号化するために使われる、本稿でシード鍵と称される鍵を共有する。シード鍵はたとえば、対称鍵であってもよい。あるいはまた、シード鍵は、上記デジタル証明書に対応する秘密鍵〔プライベート・キー〕であってもよい。シードを暗号化する他の仕方が利用されてもよい。
【0041】
エッジ・サーバー390がコンテンツ要求362を受領するとき、エッジ・サーバー390は、以前に共有されたシード鍵を使って復号モジュール392において、暗号化されたシードを復号してもよい。したがって、エッジ・サーバー390はクラスター、シードGUIDおよびCIDへのアクセスをもち、復号されたシードにおいて提供されるクラスター(たとえばhttps://clustername.emailname.com/)にシードGUID 366をポストしてもよい。電子メール・システム300のフロントエンド・サーバー316は、記憶322からユーザー固有コンテンツを得るために、シードGUID 366をバックエンド・サーバー312に提供する。たとえば、記憶されている情報は、ユーザーの電子メールについての、受信箱ページまたはユーザー選好による他の「ホーム」コンテンツであってもよい。電子メール・システム300は、このユーザー固有コンテンツ368Aをエッジ・サーバー390に公開するまたは他の仕方で提供し、ユーザーが認証モジュール356によって電子メール・システム300にログオン成功するまで、該コンテンツは該エッジ・サーバー390において少なくとも一時的に記憶される。
【0042】
ある実施形態では、エッジ・サーバー390に記憶されているユーザー・コンテンツ368Bは期限切れ時間をもつ。コンテンツ要求362の受領に応答して、あるいはユーザー・コンテンツ368Bの受領に応答して、あるいはそれらの間の何らかの時間に、エッジ・サーバー390はもとのコンテンツ要求362に対する応答370を与えることができる。上記のように、該応答は小さな、実質的に知覚不可能な画像またはそれ自身はクライアント装置350において利用されない他のコンテンツであってもよい。ある実施形態では、応答370は、復号モジュール392においてシードが復号される時間中に、あるいはユーザー・コンテンツ368Bの受領の間に並列に非同期的に送られる小さな画像であってもよい。この時点で、ユーザー・コンテンツ368Bはエッジ・サーバー390にキャッシュされ、ユーザーによる成功裏のログインを待ち、成功裏のログインの時点で、ユーザー・コンテンツ368Bはクライアント装置350に提供されうる。
【0043】
何らかの時点において、ユーザーは、クライアント装置350上で呈示されるログイン・ページ360を介して自分のクレデンシャルをタイプして入力することを終える。認証モジュール356は、ユーザーのログイン・クレデンシャルを記憶されているログイン情報と比較するための認証比較モジュール372を備える。認証成功すると、復号モジュール374がシードを復号してユーザーのクラスター、シードGUIDおよびCIDを入手する。ユーザー比較モジュール376は復号されたCIDをクレデンシャルによって示されるユーザーと比較する。一致があれば、認証モジュール356はページ378を生成する。ページ378はスクリプト言語(たとえばJAVASCRIPT(登録商標))または他のコードを含んでいてもよく、それがクライアント装置350におけるブラウザーに、より近くのエッジ・サーバー390におけるキャッシュされたユーザー・コンテンツ368Bの位置にシードGUID 372をポストさせる。
【0044】
シードGUID 372を提供することに関連付けられたユーザー装置350からの要求に応答して、エッジ・サーバー390は、以前にキャッシュしたユーザー・コンテンツ368Bをサービスする。このことは、ユーザー・コンテンツ368Cがクライアント装置350に提供されることによって描かれている。そのコンテンツがみつからないまたは期限切れになっていた場合には、エッジ・サーバー390は、デフォルト処理のために単にそのポストを素通りさせて電子メール・システム300に渡すことができる。
【0045】
このようにして、ユーザーは、電子メール・システム300(または他のネットワーク・ベースのサービス)へのログインが成功すると、より迅速にユーザー・コンテンツ368Cを受領することができる。ユーザー・コンテンツは、ある実施形態では、さまざまなエンティティがユーザー・コンテンツのキャッシングを管理できるようにする認証前バンドルまたは「シード」の転送に応答してのみ配送されるユーザー固有コンテンツを表わす。
【0046】
本稿に記載される技法は、シードを単一の項目ではなく三つ組のリストとすることによって、クライアント装置350の複数のユーザーに拡張されてもよい。たとえば、二人のユーザーについて、シードは二つの三つ組のリストであってもよく、各三つ組がクライアント装置350のそれぞれのユーザーのクラスター、シードGUIDおよびCIDを含んでいてもよい。そのような場合、ユーザー固有情報がキャッシュされる(たとえばエッジ・サーバー390)論理は、コンテンツ要求362の復号およびシード内の各三つ組についてのユーザー・コンテンツ368Bのキャッシングを実行してもよい。さらに、認証モジュール356は、現在認証中のユーザーのCID値に一致する復号されたシードから三つ組を選択することができる。
【0047】
図3の特定の実施形態は例解の目的のために呈示されており、本稿に記載される技法は多様な他のコンテキストにおいて利用されうる。たとえば、本技法は、任意のネットワーク・アプリケーション/サービスおよびユーザー装置とネットワーク・サービスとの間の仲介ノードのはたらきをしうる任意の協働ネットワーク・ノードとの関連で提供されうる。図4は、ネットワーク・ノードが、ネットワーク・サービスへの初期アクセスの間にユーザーによって経験されるレイテンシーを減少させるためのキャッシング要素のはたらきをしうる代表的な方法を示す流れ図である。ブロック400では、ネットワーク・ノードは、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置と、該ユーザー・データへのアクセスを可能にする暗号鍵とを含む暗号化されたシードを受領する。ある実施形態では、ネットワーク・ノードは、ユーザーによるネットワーク・サービスへのログイン試行に応答して少なくとも、暗号化されたシードを受領する。
【0048】
ブロック402に示されるように、ネットワーク・ノードは、少なくとも受領された暗号鍵を使って暗号化されたシードにおいて提供されているユーザーのデータ位置を要求してもよい。応答して、ブロック404は、ネットワーク・ノードが通常はネットワーク・サービスにおいて記憶されているユーザー・データを受領および記憶することができることを示している。ここで、このネットワーク・ノードは、物理的に、ネットワーク・サービスの位置よりもユーザーにより近くに位置されている。ブロック406では、ユーザーのログイン試行から帰結するユーザーの成功裏の認証に応答して、ネットワーク・サービスからではなく、ネットワーク・ノードにおける記憶されているユーザー・データへのユーザー・アクセスが可能にされる。
【0049】
同様に、図5は、ユーザーがユーザー・データを提供するサービスにログオンしつつある間にユーザー・データを取得するためおよびユーザーがユーザー・データをより迅速に得られる位置にユーザー・データをキャッシングするためのシステムのブロック図である。この実施形態は、第一の位置500における第一の記憶部502を示している。第一の位置500はたとえば電子メール・サービスまたは他のウェブ・ベースのサービス504をホストしていてもよい。第一の記憶部502は、ユーザー電子メール受信箱または他のユーザー機微データといった認証ベースのコンテンツ510Aを記憶するよう構成されている。第一の位置500は、サービス504、認証508および/または第一の位置500から実行される他の処理のための処理を実行するためのプロセッサ(単数または複数)および/または他の回路を含んでいてもよい。
【0050】
第二の位置における第二の記憶部522が設けられる。これは、第一の位置500よりも認証ベースのコンテンツ510Aの要求者530により近い物理的近接にある。第二の位置520は、第一の位置500および要求者530の両方と通信することができるネットワーク540上でアクセス可能なノードを表わしていてもよい。ある実施形態では、第二の位置520におけるプロセッサ524は、要求者530が第一の位置500においてホストされているサービス504にログインしようとしている間に、第二の記憶部522に記憶するために第一の記憶部502から認証ベースのコンテンツ510Aの少なくとも一部をセキュアに要求するよう構成されている。ログイン・プロセスは、プロセッサ506および/または第一の位置500に位置されていてもいなくてもよい認証モジュール508によって実行されてもよい。プロセッサ524は、第二の記憶部522からの認証ベースのコンテンツ510Bへのセキュアなアクセスを容易にするようにも構成されている。
【0051】
図6は、電子メール・システムよりも地理的にユーザーに近いCDNのエッジ・サーバーにユーザーの電子メール・データの少なくとも一部を移す仕方の一つの代表的な例の流れ図である。図示した例では、ユーザーは電子メール・システム600のURLまたは他のアドレスを入力する。たとえば、ユーザーは、自分のブラウザーのアドレス・バーに「emailname.com」と入力することができる。ある実施形態では、ブロック602に示されるように、電子メール・システムのフロントドアが、本稿ではユーザー識別クッキー(UIC: user identification cookie)と称されるクッキーを読む。UICは少なくとも、ユーザーの識別情報およびユーザー・データがどこに記憶されているかを含む。さらに、電子メール・システムは、ログイン・サーバーへのリダイレクトを発する。これもブロック602に描かれている。そのようなリダイレクトの例は下記の例2に描かれる。
loginserver.com?wreply=https://CDN.
emailname.com/...&s=<encrypted>
例2
【0052】
例2において、「s」は「seed」〔シード〕を表わし、少なくともデータ・クラスター名、シードGUIDおよびCIDを含む暗号化された構造である。ブロック604に示されるように、ユーザーのブラウザーはこのリダイレクトをたどってログイン・ページに行く。このログイン・ページにより、ユーザーはブロック606に示されるように自分のクレデンシャルを入力することができる。そのようなクレデンシャルはたとえば、電子メール・アドレスおよび/またはユーザー名、パスワードなどを含んでいてもよい。ユーザーがそのようなクレデンシャルを入力しつつある間、ユーザーのデータの一部を取得してそのデータをユーザーにより近いCDNエッジ・サーバーにキャッシュするために他の動作が行なわれる。ある実施形態では、これはブロック608に示されるような画像タグを含むログイン・ページから開始される。一例では、画像タグは、ログイン・ページ上で認証モジュールによって電子メール・システムのために現在レンダリングされているカスタム・コンテンツの一部として源を有していてもよい。そのような例は上記の例1において示した。結果として、ブロック606においてユーザーが自分のクレデンシャルをタイプしている間に、ブラウザーは並列に例1のURLへの要求をする。
【0053】
ブロック610に示されるように、CDNは画像要求を受領し、シード鍵を使ってシードを復号する。ブロック612は、CDNが、下記の例3に示されるような、シードにおいて同定されている特定のクラスターにシードGUIDをポストすることを示している。
https://cluster.emailname.com/
例3
【0054】
ブロック614では、電子メール・システムは、ユーザーの受信箱、ホーム・コンテンツの最初のページまたはデフォルト、ユーザー選好などによる他の第一ページをもってCDNに応答する。さらに、ブロック614は、CDNがこのコンテンツをCDNエッジ・サーバーまたは電子メール・システムよりもユーザーに近い他のサーバーに記憶することを示している。ユーザーはまだ認証の途中なので、CDNはまだコンテンツをユーザーに転送しない。ある実施形態では、コンテンツは、1分、5分などの期限切れ時間を有していてもよい。ただし、他の実施形態はそのような期限切れ時間を含まない。
【0055】
ブロック610に示されるように、CDNは、ユーザーがCDNに到達し、シードを提供するための媒介物のはたらきをする画像要求を受領した。ブロック616では、CDNはこの画像要求への応答として画像を返してもよい。ある実施形態では、画像は実際に求められてはおらず、よって要求される画像は、該画像がブラウザーに返されるときにブラウザーによって使用されない「ダミー」画像である。これは、ブロック616において示されている。たとえば、要求される画像は、ユーザーのブラウザー表示にほとんどまたは全く影響しない非常に小さなおよび/または透明な画像であってもよい。
【0056】
何らかの時点において、ブロック618において描かれるように、ユーザーはクレデンシャルの入力を終え、クレデンシャルを提出する。ブロック620で示されるように、ログイン・モジュールはユーザーを認証し、ユーザーのクラスター、シードGUIDおよびCIDを得るためにシードを復号する。ブロック622においてCIDがクレデンシャルで表わされるユーザーに合わないことが判別される場合、ブロック624で示されるように、ユーザーは権限を与えられない。他方、ブロック622で判別されるところによりCIDがクレデンシャルで表わされるユーザーに一致する場合、ブロック626は、ログイン・モジュールが、ブラウザーにシードGUIDをCDNエッジ・サーバー(たとえばhttps://CDN.emailname.com/にある)にポストさせるたとえばスクリプト言語を用いたページを生成できることを示している。ブロック628に示されるように、CDNはユーザーからのそのポストを受領して、CDNが先にキャッシュしていたコンテンツ(たとえば受信箱、ホーム・ページなど)をサービスする。コンテンツが期限切れになっていた場合またはみつからない場合、CDNはポストを素通りさせて通常処理のために電子メール・システムに渡す。
【0057】
ある実施形態では、本方式のセキュリティは、電子メール・データを安全ソケット・レイヤー(SSL: secure sockets layer)を通じてサービスし、シードGUIDが決して平文で送られることがないようにすることを含む。さらに、本方式は、シードを単一の三つ組ではなく三つ組(クラスター、シードGUID、CID)のリストにすることによって複数ユーザーに拡張できる。
【0058】
図7は、本稿に記載される原理が実装されうる代表的なコンピューティング装置/システム700を描いている。本代表的コンピューティング・システム700は、たとえば電子メール・サーバー、認証サーバー、エッジ・サーバーまたは他の仲介ネットワーク・ノード、ユーザー装置などといった、本稿に記載されるコンピューティング/通信装置の任意のものを表わすことができる。代表的な相違は下記で述べる。図7との関連で記述されるコンピューティング環境は、例のために記述されており、ユーザー固有コンテンツをコンテンツ消費者のほうに移動させるための構造および動作の開示は、ユーザー・コンテンツが通信されうる任意の環境において適用可能である。図7のコンピューティング構成はいくつかの実施形態では複数の装置にまたがって分散されていてもよいことも注意しておくべきである。
【0059】
クライアント装置およびサーバーの両方について、代表的コンピューティング・システム700は、システム・バス704を介して多数のモジュールに結合されたプロセッサ702を含んでいてもよい。描かれているシステム・バス704は、コンピューティング環境のさまざまなコンポーネントおよびモジュールに直接または間接に結合されていてもよい任意の型のバス構造(単数または複数)を表わしていてもよい。プロセッサ702によって使用されるファームウェアを記憶するために読み出し専用メモリ(ROM)706が設けられていてもよい。ROM 706は、プログラム可能型ROM(PROM)、消去可能型PROM(EPROM)などといった任意の型の読み出し専用メモリを表わす。
【0060】
ホストまたはシステム・バス704は、メモリ・コントローラ714に結合されていてもよく、メモリ・コントローラ714はメモリ・バス716を介してメモリ712に結合される。本稿に記載される原理に関連する動作モジュールは、メモリ712のような揮発性記憶をおよび不揮発性記憶装置を含む任意の記憶に記憶されてもよく、および/または任意の記憶を利用してもよい。図7は、アプリケーション、モジュール、データおよび他の情報が一時的または恒久的に記憶されうるさまざまな他の代表的な記憶装置を示している。たとえば、システム・バスは、ハードドライブのようなドライブ(単数または複数)732に結合されることのできる内部記憶インターフェース730に結合されていてもよい。記憶734は、ドライブに付随するまたは他の仕方でドライブとともに動作可能である。そのような記憶の例は、ハードディスクおよび他の磁気または光学式媒体、フラッシュメモリおよび他の半導体デバイスなどを含む。内部記憶インターフェース730は任意の型の揮発性または不揮発性記憶を利用してもよい。
【0061】
同様に、リムーバブル・メディアのためのインターフェース736もバス704に結合されていてもよい。ドライブ738は、たとえばフロッピー(登録商標)ディスク、光ディスク、メモリ・カード、フラッシュ・メモリ、外部ハードディスクなどといったリムーバブル記憶740を受け容れ、それに対して作用するリムーバブル記憶インターフェース736に結合されていてもよい。場合によっては、ホスト・アダプター742が外部記憶744にアクセスするために設けられていてもよい。たとえば、ホスト・アダプター742は、小型コンピュータ・システム・インターフェース(SCSI)、ファイバー・チャネル(Fibre Channel)、シリアル先進技術アタッチメント(SATA)またはeSATAおよび/または外部記憶744に接続できる他の類似のインターフェースを介して外部記憶装置とインターフェースをもちうる。ネットワーク・インターフェース746により、さらに他のリモート記憶がコンピューティング・システム700にとってアクセス可能となりうる。たとえば、ネットワーク・インターフェース746に関連付けられた有線または無線トランシーバが、一つまたは複数のネットワーク750を通じて記憶装置748との通信を可能にする。記憶装置748は別個の記憶装置または他のコンピューティング・システム、サーバーなどに付随する記憶を表わしていてもよい。リモート記憶装置およびシステムとの通信は、有線ローカル・エリア・ネットワーク(LAN)、無線LANおよび/またはインターネットのようなグローバル・エリア・ネットワーク(GAN)を含むより大きなネットワークを介して達成されてもよい。
【0062】
ユーザー装置、ネットワーク・サービス、認証サーバー、エッジ・サーバーおよび他の仲介ネットワーク・ノードは本稿に記載されるような情報を通信できる。ユーザー装置とサーバー装置との間の通信は、直接結線、ピアツーピア・ネットワーク、ローカル・インフラストラクチャー・ベースのネットワーク(たとえば有線および/または無線ローカル・エリア・ネットワーク)、都市圏ネットワークおよび他の広域ネットワーク、グローバル・エリア・ネットワークなどのようなオフサイト・ネットワークによって実施されることができる。送信機752および受信機754は図7において、これらおよび他の通信方法の任意のものでデータを送信および/または受信するための本代表的コンピューティング・システムの構造的な能力を描くために示されている。送信機752および/または受信機754はスタンドアローン・コンポーネントであってもよく、トランシーバ(単数または複数)として統合されていてもよく、ネットワーク・インターフェース746のような他の通信装置の既存の部分に統合されていてもよく、その他でもよい。
【0063】
コンピューティング・システム700はユーザー装置、電子メール・サーバー、認証サーバー、エッジ・サーバーなどにおいて実装されることができるので、ブロック756は、コンピューティング・システム700が前記装置/サーバーの一つを表わすときにコンピューティング・システム700と通信する他の装置/サーバーを表わす。ユーザー装置、電子メール・サーバー、認証サーバー、エッジ・サーバーなどのそれぞれにおいて実装されうるオペレーティング・システムおよび他のソフトウェア/ファームウェアに加えて、それぞれは、命令を実行するプロセッサ702によって動作可能なソフトウェア・モジュールを含んでいてもよい。いくつかの代表的な装置/サーバーのそれぞれについての代表的なモジュールについて下記で述べる。
【0064】
コンピューティング・システム700がユーザーまたはクライアント装置を表わすとき、クライアント装置記憶/メモリ760は、メモリ712、記憶734、740、744、748および/またはコンピュータ、スマートフォン、ラップトップ・コンピュータなどといったクライアント装置の他のデータ保持装置において記憶されうるものを表わす。代表的なクライアント装置記憶/メモリ760は、オペレーティング・システム(図示せず)および機能モジュールによって表わされるプロセッサ実装される機能を含んでいてもよい。たとえば、ブラウザー762および/または電子メール・クライアント764が設けられてもよい。UIC 768、シード鍵770などのようなデータ766が記憶されてもよい。
【0065】
代表的コンピューティング・システム700が本稿に記載されるエッジ・サーバーまたは他の仲介サーバーを表わす場合には、メモリ712および/または記憶734、740、744、748は、先述したサーバーの機能上の動作との関連で使われるプログラムおよびデータを記憶するために使われてもよい。サーバー記憶/メモリ772は、メモリ712、記憶734、740、744、748、データベースおよび/または他のデータ保持装置に記憶されうるものを表わす。代表的なサーバー記憶/メモリ772は、オペレーティング・システム(図示せず)、復号モジュール774、キャッシュされたユーザー・コンテンツ778およびシード鍵780のようなデータ776などを含んでいてもよい。
【0066】
代表的コンピューティング・システム700が本稿に記載される電子メール・サーバーまたは他のネットワーク・サービスを表わす場合には、メモリ712および/または記憶734、740、744、748は、先述したサーバーの機能上の動作との関連で使われるプログラムおよびデータを記憶するために使われてもよい。サーバー記憶/メモリ782は、メモリ712、記憶734、740、744、748、データベースおよび/または他のデータ保持装置に記憶されうるものを表わす。代表的なサーバー記憶/メモリ782は、たとえば、オペレーティング・システム(図示せず)、電子メール・アプリケーション784、シード生成モジュール786および記憶されたユーザー・コンテンツ788、シード鍵789のようなデータ876などを含んでいてもよい。
【0067】
代表的コンピューティング・システム700が本稿に記載される認証サーバーを表わす場合には、メモリ712および/または記憶734、740、744、748は、先述したサーバーの機能上の動作との関連で使われるプログラムおよびデータを記憶するために使われてもよい。サーバー記憶/メモリ782は、メモリ712、記憶734、740、744、748、データベースおよび/または他のデータ保持装置に記憶されうるものを表わす。代表的なサーバー記憶/メモリ790は、たとえば、オペレーティング・システム(図示せず)および図3との関連で述べたモジュール、たとえば認証比較モジュール792、ユーザー比較モジュール794、復号モジュール796、データ798などを含んでいてもよい。
【0068】
先述したように、図7における代表的コンピューティング・システム700は、例のために与えている。処理および通信機能をもつ任意のコンピューティング装置が、本稿に記載される教示を使って、本稿に記載される機能を実行できる。本稿に描かれる流れ図または他の図におけるさまざまな機能の序列は、特に断わりのない限り、描かれている代表的な順序であることは必要ではない。
【0069】
以上の例に示したように、たとえばプロセッサ(これは物理的なプロセッサおよび/または論理的なプロセッサ、コントローラなどを含む)を介して実行可能であるソフトウェア・モジュールを提供することによってコンピューティング装置上で実行されることのできる方法が記述される。本方法は、プロセッサおよび/または該プロセッサを介した処理のために情報を準備する回路によってアクセスされ読まれることができるコンピュータ可読媒体または他の記憶に記憶されてもよい。たとえば、コンピュータ可読媒体は、メモリ712、記憶734、740、744、748、他の任意の揮発性または不揮発性デジタル記憶などを含む任意のデジタル記憶技術を含んでいてもよい。本稿に記載されるようなコンピュータ可読媒体上に命令が記憶されているということは、命令が伝搬または伝送されることとは区別される。伝搬とは命令を転送するのに対し、命令を記憶することは、命令が記憶されているコンピュータ可読媒体で起こりうることである。したがって、特に断わりのない限り、コンピュータ可読媒体/メディアに命令が記憶されているとの言及は、この形でも類似の形でも、データが記憶または保持されうる有体の媒体のことをいう。
【0070】
主題は構造的な特徴および/または方法論的な工程に固有の言辞で記載されてきたが、付属の請求項において定義される主題は必ずしも上記の特定の特徴または工程に限定されないことは理解しておくものとする。むしろ、上記の個別的な特徴および工程は請求項を実装する代表的な形として開示されている。
いくつかの態様を記載しておく。
〔態様1〕
コンピュータ実装される方法であって:
ネットワーク・サービスへのユーザーのログイン試行に応答して、少なくとも、ユーザー・データを記憶しているネットワーク・サービスにおけるユーザー・データの位置と、該ユーザー・データにアクセスするための暗号鍵〔クリプトグラフィック・キー〕とを有する暗号化されたシードをネットワーク・ノードにおいて受領する段階と:
少なくとも受領された前記暗号鍵を使って前記ネットワーク・サービスにおける前記位置から前記ユーザー・データを要求する段階と;
前記ユーザー・データを前記ネットワーク・ノードにおいて受領し、記憶する段階であって、前記ネットワーク・ノードは、前記ネットワーク・サービスの位置よりも、前記ユーザーの位置に物理的に近い、段階と;
前記ユーザーのログイン試行の結果としての前記ユーザーの成功裏の認証に応答して、ユーザーが、前記ネットワーク・サービスからではなく、前記ネットワーク・ノードにおいて、前記記憶されているユーザー・データに対してアクセスできるようにする段階とを含む、
方法。
〔態様2〕
前記暗号化されたシードを受領する段階が、前記ネットワーク・ノードから前記ユーザー・データに無関係のコンテンツ項目を要求するコンテンツ・タグの一部として前記暗号化されたシードを受領することを含む、態様1記載のコンピュータ実装される方法。
〔態様3〕
前記暗号化されたシードを受領する段階が、前記暗号化されたシードを受領するための媒介物として使われる画像タグの一部として前記暗号化されたシードを受領することを含み、前記画像タグを介して要求される画像が前記ユーザー・データと無関係である、態様1記載のコンピュータ実装される方法。
〔態様4〕
前記ネットワーク・ノードが、前記ネットワーク・サービスが位置しているよりも物理的に前記ユーザーの近くに位置しているコンテンツ配送ネットワークのエッジ・サーバーである、態様1記載のコンピュータ実装される方法。
〔態様5〕
認証ベースのコンテンツを記憶するよう構成されている第一の位置にある第一の記憶部と;
前記第一の位置よりも前記認証ベースのコンテンツのある要求者に近い物理的な近傍にある第二の位置における第二の記憶部と;
前記要求者が前記第一の位置においてホストされているサービスにログオンしようと試みる間に、前記第二の記憶部において記憶するために前記第一の記憶部から前記認証ベースのコンテンツの少なくとも一部をセキュアに要求し、前記第二の記憶部からの前記認証ベースのコンテンツへのセキュアなアクセスを容易にするよう構成されている、前記第二の位置にあるプロセッサとを有する、
システム。
〔態様6〕
前記プロセッサは、前記認証ベースのコンテンツへのセキュアなアクセスを容易にすることを、前記要求者が前記サービスへのログオンに成功したという指示に応答して、前記第一の記憶部ではなく前記第二の記憶部から前記要求者に前記サービスの少なくとも最初のウェブ・ページをアクセス可能にすることによって行なう、態様5記載のシステム。
〔態様7〕
さらに認証モジュールを有する態様5記載のシステムであって:
前記第一の位置は、前記要求者によってアクセスされるのに応答して前記要求者を前記認証モジュールにリダイレクトするよう構成された第一位置プロセッサを有しており;
前記認証モジュールは、前記要求者の前記サービスへのログオン試行を容易にするためにログイン・ページを呈示し、前記第一の記憶部から前記認証ベースのコンテンツを取得するための前記第二の位置にある前記プロセッサによる前記セキュアな要求を開始するために前記ログイン・ページとともにコンテンツ・タグを提供するよう構成されている、
システム。
〔態様8〕
さらに認証モジュールを有する態様5記載のシステムであって:
前記第一の位置は、前記要求者によってアクセスされるのに応答して前記要求者を前記認証モジュールにリダイレクトするよう構成された第一位置プロセッサを有しており;
前記認証モジュールは、前記要求者の前記サービスへのログオン試行を容易にするためにログイン・ページを呈示し、前記第一の記憶部から前記認証ベースのコンテンツを取得するための前記第二の位置にある前記プロセッサによる前記セキュアな要求を開始するために前記ログイン・ページとともに少なくとも何らかのスクリプトを含む情報を提供するよう構成されている、
システム。
〔態様9〕
態様5記載のシステムであって、前記第一の位置が:
前記要求者と、前記第一の記憶部における前記要求者の認証ベースのコンテンツの位置とを同定するクッキーを受領する段階と;
前記クッキーに基づいて暗号化されたシードを生成する段階であって、前記暗号化されたシードは、少なくとも、ユーザー識別子、前記要求者の認証ベースのコンテンツの前記位置および前記第一の記憶部における前記認証ベースのコンテンツにアクセスするための暗号鍵を含む、段階と;
その後、前記要求に応答して前記第一の記憶部からの前記認証ベースのコンテンツの少なくとも前記一部の開示を許諾するために前記第二の位置から前記暗号化されたシードを受領する段階とを実行するよう構成されている第一位置プロセッサを有する、
システム。
〔態様10〕
機能を実行するためにプロセッサによって実行可能な命令を記憶しているコンピュータ可読媒体であって、前記機能は:
ウェブ・ベースの電子メール・サービスにおいてユーザー・アクセス要求を受領し、応答して、ユーザー識別子、前記電子メール・サービスにおけるユーザーの電子メール・データの記憶位置および前記ユーザーの電子メール・データにアクセスするための暗号鍵を含む暗号化されたシードを生成する段階と;
前記ユーザーを、ログイン・ページおよび該ログイン・ページ内の画像タグを呈示する認証モジュールにリダイレクトする段階であって、前記画像タグは前記暗号化されたシードと、コンテンツ配送ネットワークのエッジ・サーバーのアドレスとを含む、段階と;
前記エッジ・サーバーから、少なくとも前記暗号鍵によって同定される前記ユーザーの電子メール・データの第一の部分についての要求を受領する段階と;
前記ユーザーの電子メール・データの要求された前記第一の部分を前記エッジ・サーバーに差し向け、前記ユーザーの電子メール・データの前記第一の部分が、前記電子メール・サービスからではなく、前記エッジ・サーバーから前記ユーザーに提供されることができるようにする段階とを含む、
コンピュータ可読記憶媒体。
図1
図2
図3
図4
図5
図6
図7