(58)【調査した分野】(Int.Cl.,DB名)
複数のグラフィカル・ユーザ・インターフェース要素をブラウザに準備する工程であって、前記複数のグラフィカル・ユーザ・インターフェース要素の各々は前記ブラウザ用の複数のユーザ本人情報のうちの1つにそれぞれ対応しており、前記複数のユーザ本人情報の各々は異なるユーザに関連付けられており、前記複数のユーザ本人情報の各々が一以上のユーザアカウントに関連付けられている工程と、
前記複数のグラフィカル・ユーザ・インターフェース要素のうちの第1のグラフィカル・ユーザ・インターフェース要素の選択を受信すると、前記複数のユーザ本人情報のうち第1のユーザに関連付けられる第1のユーザ本人情報に前記第1のグラフィカル・ユーザ・インターフェース要素をマッチングさせる工程と、
前記複数のグラフィカル・ユーザ・インターフェース要素のうちの第2のグラフィカル・ユーザ・インターフェース要素の選択を受信すると、前記複数のユーザ本人情報のうち第2のユーザに関連付けられる第2のユーザ本人情報に前記第2のグラフィカル・ユーザ・インターフェース要素をマッチングさせる工程と、
前記第1のユーザに関連付けられる複数のコンピューティング・デバイスの間で、前記第1のユーザ本人情報を自動的に同期する工程と
を含む方法。
前記ウェブ・アプリケーションは、ブラウザ・ベースのランタイム環境を使用して、コンピューティング・デバイスのプロセッサにより直接にプリコンパイルおよび実行される、請求項2に記載の方法。
複数のグラフィカル・ユーザ・インターフェース要素をブラウザのクローム・フレームに準備する工程であって、前記複数のグラフィカル・ユーザ・インターフェース要素の各々は前記ブラウザ用の複数のユーザ本人情報のうちの1つにそれぞれ対応しており、その複数のユーザ本人情報の各々が異なるユーザに関連付けられる工程と、
前記複数のグラフィカル・ユーザ・インターフェース要素のうちの第1のグラフィカル・ユーザ・インターフェース要素の選択を受信すると、前記複数のユーザ本人情報のうち第1のユーザに関連付けられる第1のユーザ本人情報に前記第1のグラフィカル・ユーザ・インターフェース要素をマッチングさせる工程と、
前記ブラウザに関連付けられるウェブ・アプリケーションからトークンを取得するために前記第1のユーザ本人情報を使用する工程と、
前記トークンを使用して、前記ウェブ・アプリケーションに対して前記第1のユーザを認証する工程と、
前記第1のユーザに関連付けられる複数のコンピューティング・デバイスの間で、前記第1のユーザ本人情報を自動的に同期する工程と
を含む方法。
前記第1のユーザ本人情報は、前記第1のユーザに対応する複数のアカウントに関連付けられ、その複数のアカウントのうちの少なくともいくつかは、サード・パーティーのウェブ・サービスに関連付けられる、請求項6乃至8のうちのいずれか一項に記載の方法。
前記複数のグラフィカル・ユーザ・インターフェース要素は、前記複数のユーザ本人情報のうちの第2のユーザ本人情報にアクセスするための選択肢を第2のユーザに向けて提供する、請求項6乃至9のうちのいずれか一項に記載の方法。
コンピューティング・デバイスのプロセッサによって実行可能な指示を含んだ非一時的なコンピュータ可読媒体であって、前記プロセッサにより実行されたときに以下のこと、すなわち、
複数のグラフィカル・ユーザ・インターフェース要素をブラウザのクローム・フレームに準備すること、ただし、前記複数のグラフィカル・ユーザ・インターフェース要素の各々は前記ブラウザ用の複数のユーザ本人情報のうちの1つにそれぞれ対応しており、その複数のユーザ本人情報の各々は異なるユーザに関連付けられることと、
前記複数のグラフィカル・ユーザ・インターフェース要素のうちの第1のグラフィカル・ユーザ・インターフェース要素の選択を受信すると、前記複数のユーザ本人情報のうちの第1のユーザ本人情報に前記第1のグラフィカル・ユーザ・インターフェース要素をマッチングさせること、ただし、前記第1のユーザ本人情報は、前記ブラウザによって格納されるとともに第1のユーザに関連付けられることと、
前記ブラウザに関連付けられるウェブ・アプリケーションからトークンを取得するために前記第1のユーザ本人情報を使用することと、
前記トークンを使用して、前記ウェブ・アプリケーションに対して前記第1のユーザを認証することと、
前記第1のユーザに関連付けられる複数のコンピューティング・デバイスの間で、前記第1のユーザ本人情報を自動的に同期することと
を前記コンピューティング・デバイスに行わせる非一時的なコンピュータ可読媒体。
前記第1のユーザ本人情報は、前記第1のユーザに対応する複数のアカウントに関連付けられ、その複数のアカウントのうちの少なくともいくつかは、サード・パーティーのウェブ・サービスに関連付けられる、請求項12または13に記載の非一時的なコンピュータ可読媒体。
前記複数のグラフィカル・ユーザ・インターフェース要素は、前記複数のユーザ本人情報のうちの第2のユーザ本人情報にアクセスするための選択肢を第2のユーザに向けて提供する、請求項12乃至14のうちのいずれか一項に記載の非一時的なコンピュータ可読媒体。
【背景技術】
【0002】
背景
ウェブ・ブラウザは本人情報を保持し、サーバに対して本人情報を認証する。しかし、ウェブ・ブラウザによって容易にアクセスすることができるウェブ・アプリケーションの複数のユーザに対して異なるウェブ・アプリケーションや異なる本人情報を横断して共通の本人情報を提供するシステムはない。ユーザが異なるウェブ・アプリケーション、ウェブ・サービス、あるいはウェブサイトにアクセスするごとに、ユーザは個別にログインしなければならない。更に、ユーザは、各々が個別に管理される様々なサード・パーティーのウェブサイトに対する複数のアカウントを有する。例えば、銀行ウェブサイト、ソーシャルメディアサービス・ウェブサイト、および画像編集ウェブサイトはすべて個別の会社すなわちエンティティによって管理され、会社すなわちエンティティの各々は、ブラウザに無関係である(すなわち、ウェブサイトは「サード・パーティー」と考えられる)。サード・パーティーのウェブサイトはそれぞれ、ユーザを認証するためにブラウザのみを信頼したがらない。これに代えて、サード・パーティーのウェブサイトはそれぞれユーザのための独自の認証方法を有する。しかし、複数のユーザが異なるユーザ名およびパスワードを保持し、様々な異なるウェブサイトあるいはウェブ・アプリケーションに何度もログインしなければならないことは非常に困難であると分かるであろう。更に、複数のユーザは同じコンピュータを使用したがるが、ユーザはそれぞれ、各ウェブサイトあるいはウェブ・アプリケーションに対して異なる証明書を有する。従って、本技術の不足に取り組むとともに他の新規でかつ革新的な要素を提供するためのシステムおよび方法に対するニーズが存在する。
【0003】
概要
方法は、グラフィカル・ユーザ・インターフェース要素をブラウザに準備する工程であって、前記ブラウザは、同ブラウザのための複数の異なる本人情報を提供し、その複数の異なる本人情報の各々は異なるユーザに関連付けられ、その複数の異なる本人情報の各々は複数のアカウントに関連付けられることと、第1のユーザから前記グラフィカル・ユーザ・インターフェース要素の選択を受信すると、前記ブラウザによって格納されるとともに前記第1のユーザに関連付けられる第1の本人情報に前記第1のユーザをマッチングさせる工程と、第2のユーザから前記グラフィカル・ユーザ・インターフェース要素の第2の選択を受信すると、前記ブラウザによって格納されるとともに前記第2のユーザに関連付けられる第2の本人情報に前記第2のユーザをマッチングさせる工程とを含む。
【0004】
この態様の他の実施形態は、対応するシステム、装置、およびコンピュータ・プログラムを含み、そのコンピュータ・プログラムは方法のアクションを実行するように構成され、コンピュータ記憶装置上で符号化される。
【0005】
様々な実施形態において、方法は、前記第1の本人情報に関連付けられる複数のコンピューティング・デバイスの間で、前記第1の本人情報に関連付けられるデータを自動的に同期する工程を含む。いくつかの実施形態において、方法は、前記ブラウザに関連付けられるウェブ・アプリケーションからトークンを取得するために前記第1の本人情報を使用する工程と、前記トークンを使用して、前記ウェブ・アプリケーションに対して前記第1のユーザを認証する工程とを含む。いくつかの実施形態において、前記ウェブ・アプリケーションは、ブラウザ・ベースのランタイム環境を使用して、コンピューティング・デバイスのプロセッサにより直接にプリコンパイルおよび実行される。いくつかの実施形態において、前記ウェブ・アプリケーションは、ブラウザ・ベースの言語を使用して符号化される。前記アカウントのうちの少なくともいくつかは、サード・パーティーのウェブサイト・サービスに関連付けられる。
【0006】
別の一般的な態様によれば、方法は、グラフィカル・ユーザ・インターフェース要素をブラウザのクローム・フレームに準備する工程であって、前記ブラウザは、同ブラウザのための複数の異なる本人情報を提供し、その複数の異なる本人情報の各々は異なるユーザに関連付けられることと、第1のユーザから前記グラフィカル・ユーザ・インターフェース要素の選択を受信すると、前記ブラウザによって格納されるとともに前記第1のユーザに関連付けられる1つの本人情報に第1のユーザをマッチングさせる工程と、前記ブラウザに関連付けられるウェブ・アプリケーションからトークンを取得するために前記1つの本人情報を使用する工程と、前記トークンを使用して、前記ウェブ・アプリケーションに対して第1のユーザを認証する工程とを含む。この態様の他の実施形態は、対応するシステム、装置、およびコンピュータ・プログラムを含み、そのコンピュータ・プログラムは方法のアクションを実行するように構成され、コンピュータ記憶装置上で符号化される。
【0007】
いくつかの実施形態において、方法は、前記第1のユーザの本人情報に関連付けられる複数のコンピューティング・デバイスの間で、前記1つの本人情報を自動的に同期する工程を含む。いくつかの実施形態において、方法は、前記トークンを前記1つの本人情報に関連付けて格納する工程を含む。いくつかの実施形態において、前記グラフィカル・ユーザ・インターフェース要素は、前記1つの本人情報にアカウントを関連付けるための選択肢を前記第1のユーザに向けて提供する。いくつかの実施形態において、前記1つの本人情報は、前記第1のユーザのための複数のアカウントに関連付けられ、その複数のアカウントのうちの少なくともいくつかは、サード・パーティーのウェブ・サービスに関連付けられる。いくつかの実施形態において、前記グラフィカル・ユーザ・インターフェース要素は、前記ブラウザに関連付けられる第2の本人情報にアクセスするための選択肢を第2のユーザに向けて提供する。いくつかの実施形態において、前記第2の本人情報は、前記第2のユーザのための複数のアカウントを含む。
【0008】
1つ以上の実施形態の詳細が添付の図面と以下の明細書において述べられる。他の特徴は明細書および図面、並びに特許請求の範囲から明白になるであろう。
【発明を実施するための形態】
【0010】
それぞれ図面において、同様の参照符号は同様の要素を示す。
図1は、例示的なコンピュータ・システム102を示す。コンピュータ・システム102は、様々なタブを含んだユーザ・インターフェースを表示するウェブ・ブラウザ・アプリケーション110を含む。ここに開示される技術およびシステムの様々な実施形態は、ユーザのための安全なブラウザ本人情報を保持および提供するために使用される。その技術およびシステムは、例えばゲームで高いスコアを保持し、高いスコアを入力するときにユーザが誰かを知りたがるウェブ・アプリケーション(例えばウェブ・アプリケーション140)と組み合わせて実施される。別の例として、ブラウザ・アプリケーションのユーザがウェブ・アプリケーションを使用してアイテムを購入しに行くたびにログインするように要求されないようにするために、開示のシステムおよび方法は、買い物に関連するウェブ・アプリケーションによって使用されてもよい。別の例として、ブログ・サイトのオペレータは、開示のシステムおよび方法を使用して、ブログ・サイトに書き込む人々を個別に識別することができる。ブログ・サイトの所有者は、書き込みをする人々を識別するためにユーザ名およびパスワードを格納する必要はないが、これは、ブログ・サイトがハッキングされた場合、それらのユーザ名およびパスワードがユーザによって保持される他のアカウントに侵入するために使用され、ブログ・サイトの所有者に脆弱に反映されることになるために望ましくない。更に別の例として、ユーザの本人情報はまた、電子メールルーティングを備えるウェブサイトまたはウェブ・アプリケーション140によって使用可能である。
【0011】
ブラウザ・アプリケーション110のようなウェブ・ブラウザは、クライアント装置によって実行され、リモート・サーバ(例えばウェブサイトをホストするリモート・サーバ)からコード(例えばHTMLコード)を受信することができ、クライアント装置のユーザのためにクライアント装置上の受信コードを実行することができる。様々な実施形態において、ブラウザ・アプリケーションは1つ以上のウェブ・アプリケーション(例えばウェブ・アプリケーション140)に関連付けられる。ウェブ・アプリケーションは「ホストされたアプリケーション」あるいは「パッケージにされたアプリケーション」になり得る。ここで使用されるように、ホストされたアプリケーションは、ウェブサイト自体がウェブ・ページを含んだウェブサイトの少なくとも一部を含む。いくつかのウェブ・アプリケーションは、ウェブ・アプリケーション、あるいはウェブ・アプリケーションのユーザに特に関係があるメタデータを更に含み、これにより、ウェブ・アプリケーションは、ユーザのために所定の特定の機能を実行可能である。パッケージされたアプリケーションをそのコードがバンドルされるウェブ・アプリケーションと見なすことができ、これにより、ユーザは、ブラウザによる実行のためのウェブ・アプリケーションのコンテンツをすべてダウンロード可能である。パッケージされたウェブ・アプリケーションは、ユーザのためにその機能を実行するためのネットワーク・アクセスを有する必要はなく、むしろネットワークへのアクセスを伴わずにコンピューティング・デバイス上でブラウザによってローカルで正常に実行される。パッケージされたウェブ・アプリケーションは、拡張APIを使用する選択肢を有し、これにより、パッケージされたアプリケーションは、ブラウザの動作および表示の方法を変更することができる。様々な実施形態において、ウェブ・ブラウザは1つ以上のブラウザ拡張を含むか、これらと対話するように構成される。本明細書において、「ブラウザ拡張」は、全体として定義可能なものとして一体的にパッケージされるかグループ化されるとともにウェブ・ブラウザに機能を拡張するように構成される1つ以上のウェブ・ページを含む。ブラウザ拡張は、ウェブ・ページであり、ブラウザ・アプリケーションがウェブ・ページに提供するアプリケーション・プログラム・インターフェイス(API)をすべて使用する。ブラウザ拡張はHTML、CSS、JAVA(登録商標)SCRIPT、イメージ、他のタイプのファイル、およびウェブ関連のコンピュータ言語およびコードを含む。従って、ブラウザ拡張は、ブラウザに追加の機能を更に提供するが、通常、ウェブ・アプリケーションとは異なり、ブラウザ拡張によって提供される機能に対するユーザ・インターフェース・コンポーネントはほとんどないか全くない。代わりに、ブラウザ拡張は、ブラウザおよびブラウザで見られているウェブサイトの機能を拡張する。例えば、ブラウザ拡張は、常設の通貨変換のような新規ボタンをアドレス・バーに加えることにより、ブラウザの機能を拡張することができる。このようなボタンは、現在見られているウェブサイトにも適用可能であり、例えば、通貨変換ボタンをクリックすることにより、ユーザに表示されているウェブサイト上のすべての価格をユーザが選択している通貨に変換可能である。別の例において、ユーザがブラウザによって実行されるウェブ・ページ上のサムネール画像上にカーソルを置くと、ユーザが画像からカーソルを移すまで、画像のより大きなサイズのバージョンが表示されるように、拡張はインストールすることができる。別の例において、拡張はすべてのページのすべてのリンクの隣に「これをメールする」ボタンを埋め込むようにインストールされてもよい。ウェブ・アプリケーションと比較して、拡張はウェブサイトおよびウェブ・アプリケーションに及ぶ。拡張はすべてのウェブサイト(いくらかはサイト特有であるが)を横断して有効である。ウェブ・アプリケーションは、他のアプリケーションとこのように組み合わされなくてもよい。むしろ、ウェブ・アプリケーションは、任意の通常のウェブサイトのように、通常スタンド・アロンになる。ウェブ・アプリケーションはブラウザ・ベースの言語を使用して符号化される。例えば、ウェブ・アプリケーションは例として、HTML、CSS、あるいはJAVA(登録商標)SCRIPTを使用して符号化される。
【0012】
図1に示すプラットフォーム・アプリケーション150のようなプラットフォーム・アプリケーションは、ブラウザ・アプリケーション110のようなウェブ・ブラウザを介してマーケットプレース・サーバからダウンロードされ、コンピュータ・システム102にインストールされる。プラットフォーム・アプリケーション150はランタイム160を使用して作動する。プラットフォーム・アプリケーション150は、例えば、ランタイム160を使用して、コンピュータ・システム102のプロセッサ170(例えばマイクロプロセッサ)によって直接に実行されるように構成される。プラットフォーム・アプリケーション150がウェブ技術により符号化されるため、コンパイルの工程は必要ではない。代わりに、プラットフォーム・アプリケーション150は単にパッケージ化され(例えば所定の署名や認証を備え、例えば、.CRXフォーマットで、あるいは圧縮され)、コンピュータ・システム102に例えばデジタル・マーケットプレイスや他のリモート・サーバからのブラウザ・アプリケーションを提供する。ランタイム160はパッケージされたファイル(例えば.CRXファイル)としてプラットフォーム・アプリケーション150を受容し、続いてプラットフォーム・アプリケーション150を実行する。プラットフォーム・アプリケーション150はローカルにロードされ、これにより、プラットフォーム・アプリケーション150は、ウェブ・アプリケーション140のようなウェブ・アプリケーションよりもネットワークにそれほど依存しない。ランタイム160は、ネイティブO/S180上で作動するとともにマルチプロセス・アーキテクチャーを使用する環境である。従って、1つのプラットフォーム・アプリケーション150がクラッシュしても、ユーザはランタイム160を介して同時に更に稼動する他のプラットフォーム・アプリケーションを失わないであろう。アプリケーションはそれぞれ、ランタイム160上で新しいプロセスとして作動する。ランタイム160は、ランタイム160がコンピュータ・システム102のようなコンピューティング・デバイスにインストールされる限り、プラットフォーム・アプリケーション150が任意のオペレーティング・システムを使用して、任意のコンピューティング・デバイス上で稼動可能にする仲介の環境として作用する。ランタイム160により、プラットフォーム・アプリケーション150は、あたかもネイティブアプリケーションであるように見えるが、プラットフォーム・アプリケーション150は、実際はO/S180を介して実行されるものではない(しかしO/S180の部分になおアクセス可能である)。ランタイム160は、いくつかの実施形態において、ブラウザ・アプリケーションを実行するために更に利用される。
【0013】
ウェブ・アプリケーションの例は、電子メールアプリケーション、カレンダー、画像編集アプリケーション、ゲーム、あるいはバンキング・アプリケーションを含む。1つ以上のウェブ・アプリケーションは、個人的利用のためのウェブ・アプリケーションを使用するために、所定の形式の認証を要求する。例えば、バンキング・ウェブ・アプリケーションにアクセスするユーザは、ユーザの個人の銀行アカウント情報にアクセスするためにログインするか自分を認証する必要がある。
【0014】
ユーザは、アプリケーションを開くかウェブサイトにアクセスするたびに、ウェブサイトやウェブ・アプリケーションに再ログインするか自身を再認証しなければならないことを回避したがる。シングルユーザはそれぞれ、本人情報122、126、あるいは128のような対応する1つの本人情報を有する。本人情報はそれぞれ1人の人に特有であり、サーバのようなシステムによって自動的に生成されるか格納されるテーブルあるいは他のデータ構造に一致する。本人情報は1人の人に特有であり、例として、「ABCSMITH18」のような文字列あるいは他のユニークな識別子を示す。実際の人はそれぞれ1つの本人情報を有するが、各人は、複数のアカウントまたは「プロフィール」(異なる個人的利用、ビジネス、あるいはサイドビジネスのためのアカウントなど)を有する。異なるアカウントの各々は、ウェブサイト上で利用可能な異なるウェブサイトや情報に関連付けられる。例えば、ジョンがドキュメント編集ウェブ・サービスにアクセスする場合にjohn@work.comとしてログインすると、食料品リストのような個人的文書のすべてを見られるjohn@mail.comとしてログインして同じドキュメント編集ウェブ・サービスにアクセスする場合に比べて、ジョンは、メモを含んだ異なる作業ドキュメントなどの異なる情報を受信する。
【0015】
様々な実施形態において、1つの本人情報はそれぞれ複数の「アカウント」あるいは「パーソナリティ」に関連付けられる。アカウントは、特定のウェブ・アプリケーションあるいはウェブサイトに関連付けられる少なくとも1つの識別子およびデータを含んだ個人の記録である。アカウントの例は、銀行アカウント、電子メールアカウント、あるいは画像編集アカウントを含む。例として、電子メールウェブ・アプリケーション・アカウントは、ユーザ名および/またはパスワードのような少なくとも1つの識別子、並びにメッセージのような電子メールウェブ・アプリケーションに関連付けられるデータを含む。別の例として、バンキング・ウェブ・アプリケーション・アカウントは、ユーザ名および/またはパスワードのような少なくとも1つの識別子、並びに当座預金残高、普通預金口座残高、取引、顧客と銀行との間のメッセージ、および預金などのバンキング・ウェブ・アプリケーションに関連付けられるデータを含む。更に別の例として、画像編集ウェブ・アプリケーション・アカウントは、ユーザ名および/またはパスワードのような少なくとも1つの識別子、並びに画像や画像の各々に対するメタデータなどの画像編集ウェブ・アプリケーションに関連付けられるデータを含む。
【0016】
いくつかの実施形態において、本人情報はそれぞれ、1つのウェブサイト当たりの複数のアカウント(電子メールサービスあるいはショッピング・ウェブサイトのための個人、ビジネス、および、家族のアカウントなど)を含む。例えば、本人情報122はアカウント123、124、および125に関連付けられる。本人情報126はアカウント127に関連付けられる。本人情報128はアカウント129に関連付けられる。アカウントはそれぞれ例えば所定の電子メールプロバイダやウェブサイトのための個別の電子メールアドレスに対応するメールアカウントを含むか、アカウントはそれぞれ個別のサード・パーティーのアカウントに対応する。例えば、ユーザであるアンは、一例として文字列「アン・スミス」である本人情報122を有する。アンのアカウントは、アンの電子メールアカウントのための第1のアカウント123を含み、それは、ドメインexample.comによってホストされる電子メールウェブ・アプリケーションに対応し、例示的な電子メールアドレスanne@example.comを有する。アンのアカウントは、アンの追加の電子メールアカウントのための第2のアカウント124を更に含み、それは、同じ例示的な電子メールウェブ・アプリケーションexample.comに対応し、電子メールアドレスhappy@example.comを有する。アンのアカウントは第3のアカウント125を更に含み、それは、ソーシャルメディア・ウェブ・アプリケーションsocial.comに対応し、anne@social.comのログイン電子メールアドレスを有する。
【0017】
様々な実施形態において、より詳細に後述するように、example.comによってホストされる電子メールウェブ・アプリケーションのようなウェブ・アプリケーション140は、例えばブラウザ・アプリケーション110によるリクエストにより少なくとも1つのトークン130を生成する。システムは、ウェブ・アプリケーションによって作成される英数字の文字列であるトークン130を使用する。ブラウザ・アプリケーション110はトークン130を格納する。ユーザが2回目すなわち将来にウェブ・アプリケーション(あるいはウェブサイト)を訪れると、ウェブサイトはトークン130のためにブラウザ・アプリケーション110に対してリクエストを送信する。トークン130を受信すると、ウェブサイトは、トークン130が有効であるかを判断する。トークン130が有効な場合、ウェブサイトはクッキー132を生成する。いくつかの実施形態において、ウェブサイトは、ユーザに向けてプロンプト(例えばポップアップ・ウィンドウや他のリクエストのようなグラフィカル・ユーザ・インターフェース要素を介して)を生成するようにウェブサイトがブラウザ・アプリケーション110に要求する場合に限り、トークン130を生成または提供し、ユーザがアカウントを保存したがっているかどうか、そしてユーザがプロンプトに応じてアカウントを保存することに同意するかどうかを判断する。そのような実施形態により、ユーザから前もって許可を得ることなくユーザの他の装置を識別するために使用することができる恒久的な証明書を設定するウェブサイトを回避することができる。
【0018】
ブラウザ・アプリケーション110はトークン130を解析する必要がなく、トークン130を翻訳処理する必要がなく、あるいはトークン130と対話する必要がない。ブラウザ・アプリケーション110は、アカウント123のような適切な本人情報およびユーザアカウントに関連付けてトークン130を格納する。ユーザが再びウェブ・アプリケーション140を訪れると、ブラウザ・アプリケーション110はウェブ・アプリケーション140にトークン130を呈する。ウェブ・アプリケーション140が以前にトークン130を生成しているため、ウェブ・アプリケーション140はトークン130を認識および翻訳処理することができる。トークン130は、いくつかの実施形態において、コンピュータ・システム102と少なくとも1つの他の装置との間で同期され、また、トークンは少なくとも1つの他の装置上でクッキーを生成するために使用することができる。
【0019】
様々な実施形態において、ブラウザ・アプリケーション110のようなシステムは、ブラウザ・アプリケーション110上の1つの本人情報にログインするためのユーザ証明書を要求する。2人のユーザがコンピュータ・システム102のような装置を共有する場合、一方のユーザは、他方のユーザの認証のないアカウントにアクセスすることができない。従って、ユーザは彼らの本人情報122にアクセスするためにブラウザ・アプリケーション110にログインする。
【0020】
アカウントはそれぞれ1つ以上のトークン130に関連付けられる。トークン130はウェブ・アプリケーションによって生成されるとともにブラウザ・アプリケーション110に提供される。トークンは、ウェブ・アプリケーション140あるいはプラットフォーム・アプリケーション150によって使用される認証証明書として機能する。トークンは、例えば英数字の任意に生成される文字列である。トークンの例は、クッキーおよびOAuthトークンである。一例において、ブラウザ・アプリケーションにより、ウェブサイトは本人情報をトークン130として保存でき、また、通常のクッキーよりも信頼できるアカウント・レベル・クッキーとして、トークン130(クッキーである)におけるフィールドを指定できる。トークン130はより長生きし、ユーザの装置間で同期される。そのような例において、ウェブサイトは、既存のロジックに最小の変更を加え、長生きするクッキーとしてこのようなアカウント・レベル・フィールドによりクッキーを扱うことができる。他の実施形態において、ブラウザ・アプリケーションにより、ウェブサイトはブラウザ・アプリケーションのクッキー・ジャーとは別個のものとしてトークン130を保存することができる。所定の場合において、トークン130のみでウェブ・サービスにアクセスするのに十分である。他の場合では、トークン130はリフレッシュトークンであり、それは他の短命なトークンあるいはクッキーを生成または「造出(mint)」するために使用される。短命なトークンあるいはクッキーは、ユーザによってより広く使用されるそれほど価値のない証明書に相当する。そのような例において、ウェブサイトは、ブラウザ・アプリケーションに個別のトークン130を保存させる。ユーザがウェブサイトに戻ると、ブラウザ・アプリケーションがトークン130を示す場合、ウェブサイトは短命なクッキーを生成する。そのような実施形態において、ウェブサイトは、ウェブサイトにユーザがサインインするかどうかを問い合わせる前に、ブラウザ・アプリケーションからトークン130を要求またはチェックする。より古いクッキーが期限切れとなる場合、ウェブサイトは新しいクッキーを発行する。
【0021】
複数の装置を横断してトークンを共有するため、ウェブ・アプリケーションのディベロッパーは快適である。ウェブ・アプリケーションはブラウザ・アプリケーション110によりトークンを格納する。ウェブ・アプリケーションは、例えば本人情報122に関連付けられるアカウント123に基づいて、トークンを生成する。ブラウザ・アプリケーション110は、ウェブ・アプリケーション140あるいはプラットフォーム・アプリケーション150からトークンを受信する。ブラウザ・アプリケーション110あるいはコンピュータ・システム102は、トークンをローカルにあるいは遠隔に格納する。システムは、トークンを使用することにより、ユーザが各アクセスの試みでログイン証明書(例えばユーザー名およびパスワード)を再入力することなく、ユーザにウェブ・アプリケーションやプラットフォーム・アプリケーションへの自動アクセスを提供する。実際にユーザは、ウェブ・アプリケーションに任意のユーザ名やパスワードを登録または提供する必要がなく、これに代えて、ブラウザはウェブ・アプリケーションにトークンを呈し、ウェブ・アプリケーションは、トークンを認証し、その際にウェブ・アプリケーションに対してユーザを認証する。トークンは例えばセキュリティ要素であり、それは、ユーザがアカウント銀行ウェブ・アプリケーションにアクセスするたびに安全な証明書を入力することなく銀行アカウントウェブ・アプリケーションにアクセスしたいユーザによって電子的に本人情報を証明するのに使用される。トークンは、ウェブ・アプリケーションに対するユーザの本人情報のための証明として機能する。いくつかの実施形態において、トークンは、シグネチャを生成することを認められたウェブ・アプリケーションによって秘密鍵により生成されるデジタル署名を格納する。
【0022】
方法およびシステムは、ユーザ本人情報のためのセキュリティをオンラインで維持する間にユーザに便宜を与える。例えば、ユーザは、クライアント装置上に格納される情報の、ユーザ特有のアカウント・キャッシュにある支払情報を含み、これにより、ユーザが信頼されたウェブ・アプリケーションを使用して、オンライン・テレビ視聴の月間視聴料を申し込むことを選択する場合、ブラウザはウェブ・アプリケーションに対して、トークンを、あるいはトークンを使用して生成されたクッキーを呈する。トークンはウェブ・アプリケーションによって生成される。トークンは、ウェブ・アプリケーションを自動的に認証(ユーザの同意により)し、ユーザに複雑な支払情報、例えば複雑なクレジットカード認証フォームや銀行ルーティング・フォームを再入力させることなく、ブラウザを介して毎月の受信料をユーザのアカウントに請求する。例えば、ユーザがウェブ・アプリケーションにいったんアカウントの詳細を入力すると、ウェブ・アプリケーションは次にアカウント詳細を格納する。ウェブ・アプリケーションはユーザによって使用されるブラウザ・アプリケーションにトークンを提供し、ユーザが次回にウェブ・アプリケーションにアクセスを試みると、ブラウザ・アプリケーションはウェブ・アプリケーションにトークンを呈する。ウェブ・アプリケーションは、ブラウザやウェブ・アプリケーションに対して情報を、あるいは他のパスワードあるいは証明情報をユーザに再入力させることなく、格納されたアカウント情報を使用する許可を有する。
【0023】
ここに開示される方法およびシステムは、複数のユーザがブラウザ・アプリケーションに対して複数のログインを有し、1つ以上のコンピュータ・システムに作用する方法を更に提供する。ユーザの各々は1つの本人情報を有するが、1つの本人情報は、ユーザの任意の数のアカウントに関連付けられ、例として、各アカウントは、電子メールアドレス、サード・パーティーのアプリケーション、あるいはウェブ・サービスに関連する。
【0024】
図2は、様々な実施形態に係る複数のログインによるブラウザ・ベースの本人情報システムを利用する例示的な処理のフローチャートである。例えば、
図2に示すプロセス200は、
図1に示すコンピュータ・システム102によって、より詳細には、例えば
図1のコンピュータ・システム102に示すプロセッサ170によって少なくとも部分的に実行される。
図2に示すように、システムは、グラフィカル・ユーザ・インターフェース要素をブラウザに準備する(ステップ202)。
図3乃至
図13に関してより詳細に後述するように、グラフィカル・ユーザ・インターフェース要素はブラウザのクローム・フレームに表示される。ブラウザは複数の異なる本人情報を提供し、複数の異なる本人情報の各々は異なるユーザに関連付けられる。例えば、
図1に戻ると、3人の異なるユーザは、それぞれ3つの異なる本人情報、例えば本人情報122、本人情報126、および本人情報128に関連付けられる。
図2に戻ると、第1のユーザからグラフィカル・ユーザ・インターフェース要素の選択を受信すると、システムは、ブラウザによって格納されるとともに第1のユーザに関連付けられる1つの本人情報に第1のユーザをマッチングさせる(ステップ204)。例えば、
図3乃至
図13に関してより詳細に後述するように、ユーザは、ユーザ名およびパスワード、あるいは他の証明書を提供した後に、例えば、その本人情報にログインするべく、特定の本人情報を選択するためにグラフィカル・ユーザ・インターフェースボタンあるいは他のグラフィカル要素をクリックする。システムは、ブラウザを実行するローカルのコンピューティング・デバイス上にインストールされたウェブ・アプリケーションからトークンを取得するために1つの本人情報を使用する(ステップ206)。例えば、
図1に戻ると、システムは、コンピュータ・システム102にインストールされたブラウザ・アプリケーション110に関連付けられるウェブ・アプリケーション140から少なくとも1つのトークン130を取得するために本人情報122を使用する(例えば、アカウント123を使用する)。システムは、トークンを使用して、ウェブ・アプリケーション140に対して第1のユーザを認証する(ステップ208)。トークン130は、例えばウェブ・アプリケーション140によって生成される文字列である。所定の場合において、ウェブ・アプリケーション130は、クッキーを生成するためにトークン130を使用する。ブラウザ・アプリケーション110はトークン130(あるいはクッキー)を翻訳処理する必要がないが、むしろブラウザ・アプリケーション110はトークン130を格納し、その後、例えばユーザがウェブ・アプリケーション140を開くかアクセスするごとに、必要に応じてウェブ・アプリケーション140にトークン130を呈する。
【0025】
図3は、ログイン要素を備える例示的なブラウザ・アプリケーションを示す例示的なユーザ・インターフェースである。
図3に示すように、ユーザ・インターフェース310は、ウェブサイトまたはウェブ・ページ314のエリア外である少なくとも1つのエリア312を含む。エリア312はブラウザ・アプリケーションの「クローム」と呼ばれる。「クローム」は、ユーザ・インターフェース310のようなウェブ・ブラウザ・ウィンドウの境界を含み、これは例として、ウィンドウ・フレーム、メニュー、ツールバー、およびスクロール・バーを含む。
【0026】
エリア312はグラフィカル・ユーザ・インターフェース要素320を含み、これは、この例において、「サインイン」のドロップダウン・メニューの選択肢を含む。他の実施形態は、例としてのウェブ・ページ314のような、ユーザ・インターフェース310の他のエリアに、要素320のようなグラフィカル・ユーザ・インターフェース要素を含む。
【0027】
図4は、ログイン要素を備える例示的なブラウザ・アプリケーションを示す別の例示的なユーザ・インターフェースである。
図4に示すように、ユーザ・インターフェース310は、ドロップダウン・メニュー412を備える別のグラフィカル・ユーザ・インターフェース要素410の「ゲスト」を含む。メニュー412は、例として、ユーザが匿名のゲストとしてブラウザ・アプリケーションを使用するか、あるいはゲスト・セッションを終了するための選択肢を提供する。
【0028】
図5は、ログイン要素を備える例示的なブラウザ・アプリケーションを示す別の例示的なユーザ・インターフェースである。
図5に示すように、ユーザ・インターフェース310は別のグラフィカル・ユーザ・インターフェース・ドロップダウン・メニュー512を含み、それは、例えば要素320のユーザ選択の際にブラウザ・アプリケーションにより表示される。メニュー512は、「人1」が「本人情報にサインインする」ための選択肢、あるいは「ゲストとしてブラウズする」ための選択肢、および「人を追加する」ための選択肢を含む。
【0029】
図6は、ログイン要素を備える例示的なブラウザ・アプリケーションを示す別の例示的なユーザ・インターフェースである。
図6に示すように、ユーザ・インターフェース310はウィンドウ610を含み、それは、「本人情報にサインイン」するべく
図5に示すメニュー512の要素のような別のグラフィカル・ユーザ・インターフェース要素をユーザ選択する際に現われるポップアップ・ウィンドウである。ウィンドウ610は、ユーザに関連付けられる本人情報に電子メールや他のアカウントをユーザが追加することができるように、「本人情報にアカウントを追加する」選択肢612をユーザに向けて提供する。ユーザは、「今はスキップする」、あるいは「本人情報にアカウントを追加する」を選択する。
【0030】
様々な実施形態において、ユーザは、ユーザ名およびパスワードを提供することなく、ウェブサイト上に新しいアカウントを開設する。そのような場合、ウェブサイトは、アカウントを開設するようにユーザに促すことができる。ウェブサイトは、ユーザがウェブサイトを訪れるときにユーザが自分の本人情報(例えばブラウザ・アプリケーションを介して)にログインされている限り、ウェブサイトに入るためにユーザがパスワードを入力する必要のないことをユーザに通知する。
【0031】
図7は、ログイン要素を備える例示的なブラウザ・アプリケーションを示す別の例示的なユーザ・インターフェースである。
図7に示すように、ユーザ・インターフェース310はウィンドウ710を含み、それは、
図6に示す選択肢612のような別のグラフィカル・ユーザ・インターフェース要素をユーザ選択する際に現われるポップアップ・ウィンドウである。ウィンドウ710に示すように、アカウントはユーザの本人情報に追加されている。
【0032】
図8は、ログイン要素を備える例示的なブラウザ・アプリケーションを示す別の例示的なユーザ・インターフェースである。
図8に示すように、ユーザ・インターフェース310は、他のグラフィカル・ユーザ・インターフェース要素間にウィンドウ810を含む。ウィンドウ810は、サインインしたユーザの本人情報に関連付けられる様々なアカウントを表示する。この例において、ユーザ「ジョン・ドウ」は、彼の1つの本人情報に関連付けられる2つのアカウント、すなわち個人の電子メールアカウントを示すjohndoe@gmail.comと企業のアカウントを示すjohndoe@google.comとを有する。ウィンドウ810は、「ジョンのアカウントを管理する」選択肢820を更に含む。ウィンドウ810に示すように、アカウントは、それぞれユニークなアイコン、写真、あるいはアバターに更に関連付けられる。ユーザが選択肢820を選択すると、
図9に示すように、第2のウィンドウが現われる。
【0033】
図9は別の例示的なユーザ・インターフェースである。
図9はウィンドウ910を含み、それは、ユーザに関連付けられる様々なアカウントを表示し、アカウントを管理する様々な選択肢の他に、要素912のような各アカウントのための選択可能なグラフィカル・ユーザ・インターフェース要素を含む。
【0034】
図10は別の例示的なユーザ・インターフェースである。
図10はウィンドウ1010を含み、それは、ブラウザ・アプリケーションに関連付けられる様々なユーザ本人情報を含んだドロップダウン・メニューを含む。この例において、ウィンドウ1010に示すように、ユーザ「ジョン」はブラウザ・アプリケーションにサインインし、また、ユーザ「ジェーン」は、例えばログイン名およびパスワードのような適切な証明書により別のユーザがブラウザ・アプリケーションに関連付けられる「ジェーン」の本人情報にサインインするための選択肢として更に利用可能である。
図10に示すユーザ・インターフェースにより、少なくとも1人のユーザは、ユーザがウェブサイトを訪れるごとに、アカウント、あるいはウェブサイトにログインすることなく、アカウント間を容易に切り替えることができる。様々なアカウントにユーザがログインすることに代えて、ユーザは複数の個別のアカウント(電子メールアカウントなど)に関連付けられる本人情報にログインされる。また、1つの本人情報にユーザがまだログインしている間中、アカウント「B」を使用してウェブサイトを訪れることに比べて、アカウント「A」を使用してウェブサイトにログインする場合、ユーザはウェブサイトによって異なる情報の提供を受ける。ユーザがいったん本人情報にサインインすると、ユーザはいくつかの場合に自分を再認証することなく、アカウント間を切り替えることができる。例えば、ジェーンはjane@123.com、jane2@456.com、およびjane@here.comを管理する。ジェーンは、彼女の異なるアカウントを認識するブラウザに関連付けられた本人情報に一度ログインし、その後、アカウントのために任意のログイン証明書を再入力することなく、ユーザ・インターフェース・ボタンを単にクリックすることにより、アカウント間を切り替えることができる(例えばjane@123.comからjane2@456.comに切り換え)。
【0035】
図11は別の例示的なユーザ・インターフェースである。
図11はウィンドウ1110を含み、それは、例えばユーザがブラウザをロックするか、あるいはゲストとしてブラウズするか、あるいは新規のユーザを追加するための選択肢を含む。ユーザがブラウザをロックする例では、ユーザは、例えばセッションを再開する前に、ブラウザ・セッションをサスペンドし、ブラウザ上にプライバシー・バリアを有効に配置する。ウィンドウ1110はポップ・アップ・スクリプトかHTMLウィンドウであり、それは、ブラウザ・アプリケーションに関連付けられるアカウントや本人情報をユーザが管理するための選択肢に関する様々な情報を含む。様々な他の実施形態において、ユーザはブラウザから更にサインアウトする。
【0036】
図12は、ウェブ・ブラウザ・ウィンドウを示す別の例示的なユーザ・インターフェース1210である。そのウィンドウはグラフィカル・ユーザ・インターフェース要素1220および1230を含む。要素1220は第1の本人情報「サラ」に関連付けられ、要素1230は第2の本人情報「ジョン」に関連付けられ、各本人情報は1人のユーザに対応する。要素1220および1230は、選択可能なアイコン、アバター、画像、テキスト、あるいはこれらの組み合わせであり、要素1220あるいは1230を選択すると、ユーザは、本人情報に関連付けられるアカウントの他、本人情報にアクセスするために、ユーザ名およびパスワードのようなログイン証明書を提供するようにユーザは問い合わせを受ける。ユーザ・インターフェース1210はグラフィカル・ユーザ・インターフェース要素選択肢を更に含み、それは、「ゲストとしてブラウズする」ための選択肢1240および「人を追加する」ための選択肢1250を含む。これに代えてあるいはこれに加えて、要素1220の選択に際し、
図13に示すように、要素1310によってユーザはパスワードのみを入力するように促されてもよい。
【0037】
所定の実施形態において、ブラウザ・アプリケーションは本人情報サービスを提供し、これにより、電子メールアドレス、ログイン、銀行ルーティング情報、ゲーム証明書、あるいは他の情報のようなユーザ特有のアカウント情報は、ユーザの本人情報と組み合わせて格納されるとともにブラウザに関連付けられ、その後、ユーザ特有の情報にアクセスする許可を有するウェブ・アプリケーションに自動的に提供される。このようにしてユーザ特有のアカウント情報にアクセスできるようにユーザがウェブ・アプリケーションにいったん許可を与えると、ユーザが同じブラウザ・アプリケーションからウェブ・アプリケーションを今後使用する際には、銀行ルーティング情報のようなアカウント情報を手動で提供したり、あるいは提供の認証をしたりする必要がない。更に、同じブラウザにアクセスする複数のユーザは、同じブラウザを介してそのアカウント情報を使用するためにその本人情報にログインする。従って、ユーザは、アカウント情報を含むユーザ特有の本人情報を格納することができ、これにより、情報は、情報にアクセスする許可を与えられた所定のウェブ・アプリケーションによって使用されるが、ユーザ特有のアカウント情報にアクセスする明示的な許可を有さない他のウェブサイトやウェブ・アプリケーションによって情報が使用されることはできない。このようにしてウェブ・アプリケーションはユーザの利益となるように利用可能であり、なぜならばユーザは、自分のユーザ特有のアカウント情報を自分が訪れるあらゆる任意のウェブサイトと共有することは望まないが、ユーザの本人情報を格納するブラウザを実行する1台以上のローカルのクライアントコンピューティング・デバイス上にインストールされているウェブ・アプリケーションにそのような情報を容易に提供することができることは効果的であると感じるためである。
【0038】
いくつかの実施形態において、ユーザは、異なるサービスに関連付けられる複数の異なるアカウントにログインすることにより、様々なサービスにアクセスする。例えば、ユーザは、ユーザのオンライン電子メールアカウント、ユーザのオンラインソーシャルネットワーク・アカウント、ユーザのオンライン写真アカウント、コンテンツ・ウェブサイト(例えばニュース・ウェブサイト、ゲーム・ウェブサイト、娯楽ウェブサイトなど)におけるアカウントなどにログインする。同期サーバにより、コンピューティング・デバイス(例えば
図1に示すコンピュータ・システム102)からのローカルデータは、ユーザの装置のすべて、あるいは1つの本人情報にユーザをログインさせるために使用されるすべての装置を横断して同期される。例えば、同期サーバは、別のユーザ装置と、
図1のトークン130のような少なくとも1つのトークンを同期する。更に、同期サーバは、異なる装置を横断して、すべてのインストールされたウェブ・アプリケーション、ブラウザ拡張、ブラウザのブックマーク、設定、プロフィール、ブラウザ履歴、テーマ、プラグイン、ローカルの許可、ユーザ特有のアカウント情報、トークン、およびユーザのためのウェブ・アプリケーションおよびブラウザ拡張に関連付けられるデータを同期する。例えば、コンピュータ・システム102のユーザがコンピュータ・システム102から本人情報122にアクセスする場合(例えばブラウザ・アプリケーション110を介して)、同期サーバは、(例えば、ユーザは同期することを選択している)ウェブ・アプリケーションに関連付けられた設定およびデータをユーザアカウントから電話のような別の装置にコピーする。1台のコンピューティング・デバイス上の設定への変更は、(例えば同期サーバを介して)他のコンピュータから自動的にコピーされる(例えばユーザがその同期機能を使用可能にしている場合)。同期されるデータは、コンピューティング・デバイス間、および同期サーバとの間を移動する際、情報を安全に保持するべく暗号化される。
【0039】
様々な実施形態において、アカウント123、124、および125を含む本人情報122、126、および128、並びにアカウントに関連付けられるログイン証明書あるいはトークンのような関連付けデータは、恒久的に不揮発性メモリ(例えばメモリ190)内に安全に格納することができ、その後、ユーザがブラウザ・アプリケーション110に正常にログインするとロードされる。
【0040】
別の実施形態において、ユーザ特有の本人情報は、恒久的にオンライン・サーバのメモリ素子に格納することができる。その後、ユーザがオンライン・サーバによって提供されるサービスに関連付けられるアカウントにログインすると、ユーザからの許可によりブラウザ・アプリケーション110による使用のためにユーザ特有の本人情報がオンライン・サーバからコンピュータ・システム102のキャッシュにダウンロードされる。本人情報はダウンロード中の情報の保護のために安全な暗号化技術を使用してダウンロードされる。
【0041】
ブラウザ・アプリケーション110は、異なるユーザのための本人情報に関連付けられてもよい。例えば、異なるユーザは、
図3乃至
図13に関連してより詳細に後述するように、ブラウザによって提供されるユーザ・インターフェースを介してログイン情報を提供し、これにより、ブラウザは、異なるユーザのための異なるユーザ特有の本人情報を検索するとともにキャッシュに入れることができる。これに代えてあるいはこれに加えて、同じクライアント装置の様々なユーザ(例えば同じデスクトップ・コンピュータを使用する夫婦)は、個別の本人情報を有する個別の本人情報プロフィールを作成および保持し、互いにその本人情報を使用する許可を与え得る。
【0042】
ウェブ・アプリケーションは、様々な方法でユーザに特有の本人情報を使用することができる。例えば、ウェブ・アプリケーションは、ウェブ・アプリケーションを介してユーザ特有のコンテンツをユーザに提供し、そのユーザ特有のコンテンツは、ブラウザによりウェブ・アプリケーションに提供されるユーザ特有の本人情報に基づく。ユーザ特有のコンテンツは、ユーザの関心、人口統計、位置、あるいは他のユーザ特有の本人情報に基づいて特に選択されるコンテンツである。
【0043】
複数のユーザがブラウザを共有することができ、ユーザはそれぞれ1つの本人情報に関連付けられる異なるアカウントを有する。従って、異なるユーザがブラウザにログインするとともにブラウザ内の電子メールウェブ・アプリケーションを開始すると、アプリケーションは、ウェブ・アプリケーションを開始することを除きブラウザにログインした後に、ユーザが任意の追加の工程(例えば、ログインする、パスワードなどを入力する)を行うことなく、異なるユーザの各々のためのブラウザからウェブ・アプリケーションによって引かれたアカウント情報に基づいて、異なるユーザの各々に異なるユーザ特有のコンテンツを提供する。
【0044】
図14は、アプリケーションとウェブ・アプリケーションとの間のトークンの交換の例のブロック図である。
図14は少なくとも1つの本人情報1422を含んだアプリケーション1420を含む。ウェブ・ブラウザであるアプリケーション1420は少なくとも1つのウェブ・アプリケーション1440と通信する。本人情報1422「ジョン」は少なくとも2つのアカウント1424および1426を含む。複数のユーザの本人情報がアプリケーション1420に関連付けられるが、通常、1人のユーザのみが一度にアプリケーション1420にログインする。
【0045】
本人情報1422はウェブ・アプリケーション1440あるいは他のウェブサイトには提供されず、これにより、ユーザ本人情報のためのセキュリティがオンラインで提供される。しかしながら、アカウント1424に関する情報のようなユーザのアカウント情報により暗号化されたメッセージは、ユーザの同意により、ウェブ・アプリケーション1440や他のウェブサイトに提供され、これにより、ユーザがアプリケーション1420を使用して異なるウェブ・アプリケーションにアクセスすることを所望するたびに、ユーザが個人的な本人情報(名前、ログイン、あるいは財務情報なども)を再入力する必要がなくなる。例えば、システムは、クッキー1430をウェブ・アプリケーションに提供する。
【0046】
例えばウェブ・アプリケーション1440がはじめてアカウント情報を受信する時には、ウェブ・アプリケーション1440はアカウント情報の提供に応じてウェブ・アプリケーション1440からトークン1428を受信する。トークン1428は安全でユニークなキーまたは英数字の文字列である。ウェブ・アプリケーション1440は、ウェブ・アプリケーション1440に対してユーザを自動的に認証するためにトークン1428を使用し、これにより、ユーザはアプリケーション1420を使用してウェブ・アプリケーションにアクセスすることを所望するたびに、異なるウェブ・アプリケーションに絶えず自分を再認証する必要がなくなる。所定の場合には、システムはトークン1428を使用してクッキー1430を生成する。様々な実施形態において、ウェブ・アプリケーションはそれぞれ、個別のトークン1428をアプリケーション1420に少なくとも一度提供する。トークン1428は、例えば、アプリケーション1420を実行するコンピューティング・デバイスのメモリにネイティブに格納されるか、あるいはいくつかの実施形態において、例えばサーバで遠隔に格納される。いくつかの実施形態において、トークン1428は機械独立であり、本人情報1422に関連付けられる複数のコンピューティング・デバイスの間で同期される。例えば、ユーザが個別のコンピュータ・システムにログインしてウェブサイトを訪れると、システムはユーザの本人情報に基づき第2の装置を介してウェブサイトにトークンを呈し、所定の場合には、ユーザはウェブサイトに自動的にログインされる。
【0047】
様々な実施形態において、クッキー1430が期限切れとなる場合、アプリケーション1420はトークン1428を使用して新しいクッキー1430を生成する。所定の場合には、アプリケーション1420はウェブ・アプリケーション1440に戻るとともにウェブ・アプリケーション1440に対応するトークン1428を呈し、ウェブ・アプリケーション1440から新しいトークン1428を検索する。アプリケーション1420は新しいトークンを使用して新しいクッキーを生成する。
【0048】
アプリケーション1420は、ウェブ・アプリケーションのような少なくとも1つのウェブ・サービスに本人情報を呈するためにこのようにユーザの本人情報を利用する。ウェブ・サービスはプラットフォーム・アプリケーションであり、トークンを取得し、ウェブ・アプリケーションに対してユーザを認証するためにトークンを使用する。従って、アカウント管理は、ブラウザ・レベルのようなアプリケーション・レベルで行われる。
【0049】
図15は、ここに開示される技術と組み合わせて使用される汎用コンピュータ装置1500および汎用モバイルコンピュータ装置1550の例を示す。コンピューティング・デバイス1500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのようなデジタル・コンピュータの様々な形態を示すように意図される。コンピューティング・デバイス1550は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティング・デバイスなどのモバイル装置の様々な形態を示すように意図される。ここに示すコンポーネント、その接続および関係、並びにその機能は例示に過ぎず、本明細書において開示および/または請求される発明の実施を制限することを意味しない。
【0050】
コンピューティング・デバイス1500は、プロセッサ1502、メモリ1504、記憶装置1506、メモリ1504に接続する高速インターフェース1508、高速拡張ポート1510、低速バス1514に接続する低速インターフェース1512、および記憶装置1506を含む。コンポーネント1502、1504、1506、1508、1510、および1512の各々は様々なバスを使用して相互に連結され、必要に応じて共通のマザーボード上に、あるいは他の方法で搭載される。プロセッサ1502は、コンピューティング・デバイス1500内で実行される指示を処理することができ、高速インターフェース1508に接続されるディスプレイ1516のような外部入出力装置上にGUIのためのグラフィカルな情報を表示するべくメモリ1504にあるいは記憶装置1506上に格納された指示がそれには含まれる。他の実施形態において、複数のメモリおよびメモリのタイプに加えて必要に応じて、複数のプロセッサおよび/または複数のバスが使用される。更に、複数のコンピューティング・デバイス1500は、必要なオペレーションの部分を提供する各装置(例えばサーバ・バンク、一群のブレードサーバ、あるいはマルチプロセッサ・システムとしての)に接続される。
【0051】
メモリ1504は、コンピューティング・デバイス1500内の情報を格納する。一実施形態において、メモリ1504は1つ以上の揮発性メモリユニットである。別の実施形態において、メモリ1504は1つ以上の不揮発性メモリユニットである。メモリ1504は、磁気または光ディスクのようなコンピュータ可読媒体の別の形態であってもよい。
【0052】
記憶装置1506はコンピューティング・デバイス1500にマス・ストレージを供給可能である。一実施形態において、記憶装置1506はコンピュータ可読媒体であるかそれを含み、例えば、フロッピー(登録商標)ディスク装置、ハードディスク装置、光学ディスク装置、テープ装置、フラッシュ・メモリあるいは他の同様のソリッド・ステート・メモリ素子、またはデバイスのアレイであり、ストレージ・エリア・ネットワークまたは他の構成におけるデバイスがそれには含まれる。コンピュータ・プログラム製品は、情報担体内において有形に具体化することができる。コンピュータ・プログラム製品は、実行時に、上述したもののような1つ以上の方法を実施する指示を更に含む。情報担体は、メモリ1504、記憶装置1506、あるいはプロセッサ1502上のメモリのようなコンピュータまたは機械可読媒体である。
【0053】
高速コントローラ1508はコンピューティング・デバイス1500のための帯域幅集約的なオペレーションを管理し、低速コントローラ1512はより低い帯域幅集約的なオペレーションを管理する。機能のそのような割り当ては例示に過ぎない。一実施形態において、高速コントローラ1508はメモリ1504、ディスプレイ1516(例えばグラフィックス・プロセッサやアクセラレータを介して)、および様々な拡張カード(図示しない)を受承する高速拡張ポート1510に接続される。実施形態において、低速コントローラ1512は記憶装置1506および低速拡張ポート1514に接続される。様々な通信ポート(例えばUSB、BLUETOOTH(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含む低速拡張ポートは、キーボード、ポインティングデバイス装置、スキャナのような1つ以上の入出力装置、あるいは例えばネットワーク・アダプタを介してスイッチやルーターのようなネットワークの装置に接続される。
【0054】
図示するように、コンピューティング・デバイス1500は多くの異なる形態で実施される。例えば、コンピューティング・デバイス1500は、標準サーバ1520として、あるいはそのようなサーバの群において複数回実施される。コンピューティング・デバイス1500はラック・サーバ装置1524の一部として実施されてもよい。加えて、コンピューティング・デバイス1500はラップトップ・コンピュータ1522のようなパソコンで実施されてもよい。これに代えて、コンピューティング・デバイス1500からのコンポーネントは、装置1550のようなモバイルの装置(図示しない)における他のコンポーネントに接続される。そのような装置の各々は、1つ以上のコンピューティング・デバイス1500および1550を含み、システム全体は、互いに通信する複数のコンピューティング・デバイス1500および1550から構成される。
【0055】
コンピューティング・デバイス1550は、他のコンポーネント間にプロセッサ1552、メモリ1564、ディスプレイ1554のような入出力装置、通信インターフェース1566、および送受信機1568を含む。装置1550は、追加の記憶装置を提供するためのマイクロドライブか他の装置のような記憶装置を更に備える。コンポーネント1550、1552、1564、1554、1566、および1568の各々は様々なバスを使用して相互に接続され、必要に応じて、コンポーネントのうちのいくつかのものは共通のマザーボード上に、あるいは他の方法で搭載される。
【0056】
プロセッサ1552はコンピューティング・デバイス1550内の指示を実行することができ、メモリ1564に格納された指示がそれには含まれる。プロセッサは、個別および複数のアナログ・プロセッサおよびデジタル・プロセッサを含んだチップからなるチップセットとして実施される。プロセッサは、例えば、ユーザ・インターフェース、装置1550によって実行されるアプリケーション、および装置1550による無線通信の制御のような、装置1550の他のコンポーネントの調整を行う。
【0057】
プロセッサ1552は、コントロール・インターフェース1558と、ディスプレイ1554に接続されるインターフェース1556とを介してユーザと通信する。ディスプレイ1554は例えばTFT LCD(薄膜トランジスタ駆動カラー液晶ディスプレイ)、あるいはOLED(有機発光ダイオード)ディスプレイ、あるいは他の適切なディスプレイ技術である。ディスプレイ・インターフェース1556は、グラフィカルな他の情報をユーザに提示するべくディスプレイ1554を駆動するための適切な回路を含む。コントロール・インターフェース1558はユーザからコマンドを受信し、これらをプロセッサ1552に提示するために変換する。加えて、外部インターフェース1562はプロセッサ1552と通信するように設けられ、これにより、装置1550は他の装置と近距離通信が可能である。外部インターフェース1562は、例えば、いくつかの実施形態において有線通信を行い、別の実施形態において無線通信を行い、また、複数のインターフェースが使用されてもよい。
【0058】
メモリ1564は、コンピューティング・デバイス1550内の情報を格納する。メモリ1564は、1つ以上のコンピュータ可読媒体、1つ以上の揮発性メモリユニット、あるいは1つ以上の不揮発性メモリユニットとして実装可能である。増設メモリ1574が更に設けられるとともに拡張インターフェース1572を介して装置1550に接続される。これは例えばSIMM(シングル・インライン・メモリ・モジュール)カード・インターフェースを含む。このような増設メモリ1574は、装置1550のための追加の格納空間を提供し、あるいは装置1550用のアプリケーションあるいは他の情報を更に格納する。具体的には、増設メモリ1574は、上述したプロセスを実行するか補足する指示を含み、また、安全の情報を更に含む。従って、例えば、増設メモリ1574は、装置1550のためのセキュリティ・モジュールとして提供され、装置1550の安全な使用を許可する指示によりプログラムされる。加えて、識別する情報をSIMMカード上にハッキングされない態様で配置するなどの追加情報とともに、安全なアプリケーションがSIMMカードを介して設けられる。
【0059】
後述するように、メモリは、例えばフラッシュ・メモリおよび/またはNVRAMメモリを含む。一実施形態において、コンピュータ・プログラム製品は、情報担体内において有形に具体化される。コンピュータ・プログラム製品は、実行時に、上述したもののような1つ以上の方法を実施する指示を含む。情報担体は、例えば送受信機1568あるいは外部インターフェース1562上に受承されるメモリ1564、増設メモリ1574、あるいはプロセッサ1552上のメモリのようなコンピュータまたは機械可読媒体である。
【0060】
装置1550は、必要な場合、デジタル信号処理回路を含んだ通信インターフェース1566を介して無線で通信する。通信インターフェース1566は、特にGSM(登録商標)音声呼び出し、SMS、EMSや、MMSメッセージ、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、あるいはGPRSなどの様々なモードあるいはプロトコル下で通信する。そのような通信は、例えば高周波送受信機1568を介して生じる。加えて、Bluetooth(登録商標)、WiFi、あるいは他のそのような送受信機(図示しない)を使用するなどして短距離通信が生じる。加えて、GPS(全地球測位システム)受信モジュール1570は、装置1550に対して、更なるナビゲーション関連および位置関連の無線通信データを提供し、これらは、装置1550上で稼動するアプリケーションによって必要に応じて使用される。
【0061】
装置1550はオーディオ・コーデック1560を使用して可聴通信する。オーディオ・コーデック1560はユーザが話した情報を受信し、この情報を使用可能なデジタル情報に変換する。オーディオ・コーデック1560は、同様に、スピーカーなどを介して、例えば装置1550の送受話器でユーザのための可聴音を生成する。そのような音は、音声通話からの音を含み、記録された音(例えば音声メール、音楽ファイルなど)を含み、装置1550上で作動するアプリケーションによって生成される音を更に含む。
【0062】
図示のように、コンピューティング・デバイス1550は多くの異なる形態で実施される。例えば、コンピューティング・デバイス1550は携帯電話D80として実施される。コンピューティング・デバイス1550は、スマートフォンD82、携帯情報端末や、他の同様のモバイル装置の一部としても実施される。
【0063】
ここに開示されるシステムおよび技術の様々な実施形態は、デジタル電子回路、集積回路設計、特別に設計されたASIC(特定用途向けIC)、コンピュータ・ハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能かつ/または翻訳処理可能な1つ以上のコンピュータ・プログラムにおける実施を含み、プロセッサは専用または汎用であり、記憶装置、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび指示を受信し、これらにデータおよび指示を送信するために接続される。
【0064】
これらのコンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェア・アプリケーションあるいはコードとしても周知)は、プログラム可能なプロセッサのための機械命令を含み、高レベル手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械語で実行することができる。ここで使用されるように、用語「機械可読媒体」、「コンピュータ可読媒体」は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータ・プログラム製品、装置、および/または、デバイス(例えば磁気ディスク、光ディスク、メモリ、プログラム可能論理回路(PLD))を示し、機械可読信号としての機械命令を受信する機械可読媒体を含む。用語「機械可読信号」は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を示す。
【0065】
ユーザと対話するために、ここに開示されるシステムおよび技術は、ユーザに対して情報を表示するためのディスプレイ装置(例えばCRT(陰極線管)かLCD(液晶ディスプレイ)モニタ)、並びにユーザがコンピュータに入力可能なキーボードおよびポインティングデバイス装置(例えばマウスやトラックボール)を有するコンピュータ上で実施される。他の種類の装置も同様にユーザと対話するために使用可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態の知覚のフィードバック(例えば視覚的フィードバック、聴覚的フィードバック、あるいは触覚的フィードバック)であり、ユーザからの入力は、聴覚的入力、音声による入力、あるいは触覚的入力を含む任意の形態で受信可能である。
【0066】
ここに開示されるシステムおよび技術は、バックエンド・コンポーネント(例えばデータ・サーバとして)を含むか、ミドルウェア・コンポーネント(例えばアプリケーション・サーバ)を含むか、フロントエンド・コンポーネント(例えばユーザがここに開示されるシステムおよび技術の実施と対話できるグラフィカル・ユーザ・インターフェースまたはウェブ・ブラウザを有するクライアント・コンピュータ)、あるいは1つ以上の上記バックエンド・コンポーネント、ミドルウェア・コンポーネントや、フロントエンド・コンポーネントの任意の組み合わせを含むコンピューティング・システムにおいて実施可能である。システムのコンポーネントは、任意の形式あるいはデジタル・データ通信の媒体(例えば通信ネットワーク)によって相互に接続することができる。通信ネットワークの例はローカル・エリア・ネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットを含む。
【0067】
コンピューティング・システムはクライアントおよびサーバを含む。クライアントおよびサーバは、通常互いに離間し、通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で作動するとともに互いにクライアント・サーバ関係を有するコンピュータ・プログラムによって生じる。
【0068】
多くの実施形態が開示されている。しかしながら、本発明の趣旨および範囲から逸脱することなく様々な修正が可能であることが理解されるであろう。
加えて、図示するロジック・フローは、望ましい結果を得るために図示の特定の順番、あるいは連続する順番を要求するものではない。加えて、他の工程を設けたり、あるいは上述したフローから工程を削除したりしてもよく、また、上述したシステムに他のコンポーネントを加えたり、あるいはシステムから取り除いたりしてもよい。従って、他の実施形態が添付の特許請求の範囲内である。