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

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

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許6096979-デバイスに対する識別委任 図000002
  • 特許6096979-デバイスに対する識別委任 図000003
  • 特許6096979-デバイスに対する識別委任 図000004
  • 特許6096979-デバイスに対する識別委任 図000005
  • 特許6096979-デバイスに対する識別委任 図000006
  • 特許6096979-デバイスに対する識別委任 図000007
  • 特許6096979-デバイスに対する識別委任 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6096979
(24)【登録日】2017年2月24日
(45)【発行日】2017年3月15日
(54)【発明の名称】デバイスに対する識別委任
(51)【国際特許分類】
   G06F 21/33 20130101AFI20170306BHJP
   H04M 11/00 20060101ALI20170306BHJP
【FI】
   G06F21/33
   H04M11/00 302
【請求項の数】14
【全頁数】19
(21)【出願番号】特願2016-500465(P2016-500465)
(86)(22)【出願日】2014年2月27日
(65)【公表番号】特表2016-519799(P2016-519799A)
(43)【公表日】2016年7月7日
(86)【国際出願番号】US2014019066
(87)【国際公開番号】WO2014163938
(87)【国際公開日】20141009
【審査請求日】2016年12月21日
(31)【優先権主張番号】13/801,143
(32)【優先日】2013年3月13日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル インコーポレイテッド
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】フランシス ツイ
(72)【発明者】
【氏名】マジェド バカル
【審査官】 岸野 徹
(56)【参考文献】
【文献】 特表2010−503129(JP,A)
【文献】 米国特許出願公開第2010/0001833(US,A1)
【文献】 米国特許出願公開第2013/0007846(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/33
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
媒体デバイスが、前記媒体デバイスと、前記媒体デバイスの所定の範囲内において検出されるモバイルデバイスとの間の第1の通信セッションを行うことであって、前記第1の通信セッション
前記媒体デバイスが、前記モバイルデバイス承認コードを要求することであって、前記承認コードは、ユーザ有効性確認プロセスにおいて前記モバイルデバイスのユーザ証明に基づいて、プロバイダ承認サービスによって前記モバイルデバイスに対して提供される、要求することと、コンテンツサーバから認証を取得することと、
前記媒体デバイスが、前記モバイルデバイスから前記承認コードを受信することとを含み、前記モバイルデバイスが、前記コンテンツサーバから前記認証を取得するための仲介としての役割を果たし、前記コンテンツサーバは、映像コンテンツ及び音声コンテンツのうちの少なくとも一方を含むコンテンツのサービスを提供するように構成され、前記媒体デバイスは、提供されるサービスに係る前記コンテンツを利用するように構成され、前記モバイルデバイスと前記媒体デバイスとは、通信ネットワークにおけるエンドユーザデバイスである、第1の通信セッションを行うことと、
前記媒体デバイスが、前記コンテンツサーバのプロバイダ承認サービスと第2の通信セッションを開始することであって、前記第2の通信セッション前記媒体デバイスが、前記承認コードを用いて前記プロバイダ承認サービスからトークンを取得することを含む、第2の通信セッションを開始することと、
前記媒体デバイスが、前記コンテンツサーバと第3の通信セッションを開始することであって、前記第3の通信セッション、前記トークンを利用して、前記媒体デバイスが、前記コンテンツサーバからコンテンツを取得することを含む、第3の通信セッションを開始することと、
前記媒体デバイスが、前記トークンの期限が切れたと決定することと、
前記媒体デバイスが、前記第3の通信セッションがアクティブである間に前記トークンの期限が切れた場合に、前記トークンの期限切れに応答して前記トークンを更新することを自動的に試みることと、
前記トークンの期限が切れ、前記第3の通信セッションがもはやアクティブではなくなっている場合、前記トークンは期限が切れたままであり、前記媒体デバイスは、そのトークンを、前記コンテンツサーバからコンテンツを取得するために将来の通信セッション中に用いることができず、前記トークンへのアクセスは、前記モバイルデバイスがオフラインである場合、自動的に終了され、該終了することは、前記媒体デバイスが、前記モバイルデバイスがもはや前記媒体デバイスの前記所定の範囲内において検出されない場合、または、前記モバイルデバイスと前記媒体デバイスとの間の接続が終了された場合、前記トークンへのアクセスを自動的に終了することを含むことと、
前記媒体デバイスが、前記トークンを更新することの試みを何回か失敗した後、前記第3の通信セッションを自動的に終了することと、を含む、方法。
【請求項2】
前記媒体デバイスは、グラフィカルユーザインターフェース表示領域がない、請求項1に記載の方法。
【請求項3】
前記媒体デバイスが、前記トークンの前記期限切れに応答して前記第3の通信セッションを終了することをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記媒体デバイスへのユーザ入力なしに前記終了することが実施される、請求項に記載の方法。
【請求項5】
前記モバイルデバイス、前記プロバイダ承認サービス前記承認コードを要求することをさらに含む、請求項1〜のいずれかに記載の方法。
【請求項6】
前記媒体デバイス上で、前記コンテンツサーバによって提供されたコンテンツを提示するアプリケーションを実行することと、
前記アプリケーションを実行する間、前記媒体デバイスが、前記モバイルデバイスにメッセージを送信することと、をさらに含む、請求項1〜のいずれかに記載の方法。
【請求項7】
前記コンテンツサーバは、音声サービスおよび視覚サービスのうちの少なくとも1つを提供するリモートサーバである、請求項1〜のいずれかに記載の方法。
【請求項8】
前記媒体デバイスが、前記承認コードおよびクライアント識別子を用いて前記プロバイダ承認サービスから前記トークンを取得する、請求項1〜のいずれかに記載の方法。
【請求項9】
前記媒体デバイス、前記トークンを有する映像データ要求を前記コンテンツサーバに送信することをさらに含む、請求項1〜のいずれかに記載の方法。
【請求項10】
媒体デバイスを含むシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されるとき、前記システムに、
前記媒体デバイスが、前記媒体デバイスの所定の範囲内において検出されるモバイルデバイスと第1の通信セッションを行うことであって、前記第1の通信セッション
前記媒体デバイスが、前記モバイルデバイス承認コードを要求することであって、前記承認コードは、ユーザ有効性確認プロセスにおいて前記モバイルデバイスのユーザ証明に基づいて、プロバイダ承認サービスによって前記モバイルデバイスに対して提供される、要求することと、
前記媒体デバイスが、前記モバイルデバイスから前記承認コードを受信することとを含む、第1の通信セッションを行うことと、
前記媒体デバイスが、コンテンツサーバのプロバイダ承認サービスと第2の通信セッションを開始することであって、前記第2の通信セッション前記媒体デバイスが、前記承認コードを用いて前記プロバイダ承認サービスからトークンを取得することを含み、前記コンテンツサーバは、映像コンテンツ及び音声コンテンツのうちの少なくとも一方を含むコンテンツのサービスを提供するように構成され、前記媒体デバイスは、提供されるサービスに係る前記コンテンツを利用するように構成され、前記モバイルデバイスと前記媒体デバイスとは、通信ネットワークにおけるエンドユーザデバイスである、第2の通信セッションを開始することと、
前記媒体デバイスが、前記コンテンツサーバと第3の通信セッションを開始することであって、前記第3の通信セッション、前記トークンを利用して、前記媒体デバイスが、前記コンテンツサーバからコンテンツを取得することを含む、第3の通信セッションを開始することと、
前記媒体デバイスが、前記トークンの期限が切れたと決定することと、
前記媒体デバイスが、前記第3の通信セッションがアクティブである間に前記トークンの期限が切れた場合に、前記トークンの期限切れに応答して前記トークンを更新することを自動的に試みることと、
前記トークンの期限が切れ、前記第3の通信セッションがもはやアクティブではなくなっている場合、前記トークンは期限が切れたままであり、前記媒体デバイスは、そのトークンを、前記コンテンツサーバからコンテンツを取得するために将来の通信セッション中に用いることができず、前記トークンへのアクセスは、前記モバイルデバイスがオフラインである場合、自動的に終了され、該終了することは、前記媒体デバイスが、前記モバイルデバイスがもはや前記媒体デバイスの前記所定の範囲内において検出されない場合、または、前記モバイルデバイスと前記媒体デバイスとの間の接続が終了された場合、前記トークンへのアクセスを自動的に終了することを含むことと、
前記媒体デバイスが、前記トークンを更新することの試みを何回か失敗した後、前記第3の通信セッションを自動的に終了することと、を行う動作を実施させる命令を記憶するメモリと、を備える、システム。
【請求項11】
前記動作は、
前記媒体デバイスが、前記トークンの前記期限切れに応答して前記第3の通信セッションを終了することをさらに含む、請求項10に記載のシステム。
【請求項12】
媒体デバイスとして構成されているコンピューティングデバイスのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
前記媒体デバイスが、前記媒体デバイスの所定の範囲内において検出されるモバイルデバイスと第1の通信セッションを行うことであって、前記第1の通信セッション
前記媒体デバイスが、前記モバイルデバイス承認コードを要求することであって、前記承認コードは、ユーザ有効性確認プロセスにおいて前記モバイルデバイスのユーザ証明に基づいて、プロバイダ承認サービスによって前記モバイルデバイスに対して提供される、要求することと、
前記媒体デバイスが、前記モバイルデバイスから前記承認コードを受信することとを含む、第1の通信セッションを行うことと、
前記媒体デバイスが、コンテンツサーバのプロバイダ承認サービスと第2の通信セッションを開始することであって、前記第2の通信セッション前記媒体デバイスが、前記承認コードを用いて前記プロバイダ承認サービスからトークンを取得することを含み、前記コンテンツサーバは、映像コンテンツ及び音声コンテンツのうちの少なくとも一方を含むコンテンツのサービスを提供するように構成され、前記媒体デバイスは、提供されるサービスに係る前記コンテンツを利用するように構成され、前記モバイルデバイスと前記媒体デバイスとは、通信ネットワークにおけるエンドユーザデバイスである、第2の通信セッションを開始することと、
前記媒体デバイスが、前記コンテンツサーバと第3の通信セッションを開始することであって、前記第3の通信セッション、前記トークンを利用して、前記媒体デバイスが、前記コンテンツサーバからコンテンツを取得することを含む、第3の通信セッションを開始することと、
前記媒体デバイスが、前記第3の通信セッションがアクティブである間に前記トークンの期限が切れた場合に、前記トークンの期限切れに応答して前記トークンを更新することを試みることと、
前記トークンの期限が切れ、前記第3の通信セッションがもはやアクティブではなくなっている場合、前記トークンは期限が切れたままであり、前記媒体デバイスは、そのトークンを、前記コンテンツサーバからコンテンツを取得するために将来の通信セッション中に用いることができず、前記トークンへのアクセスは、前記モバイルデバイスがオフラインである場合、自動的に終了され、該終了することは、前記媒体デバイスが、前記モバイルデバイスがもはや前記媒体デバイスの前記所定の範囲内において検出されない場合、または、前記モバイルデバイスと前記媒体デバイスとの間の接続が終了された場合、前記トークンへのアクセスを自動的に終了することを含むことと、
前記媒体デバイスが、前記トークンを更新することの試みを何回か失敗した後、前記第3の通信セッションを自動的に終了することと、を行わせる命令を含む、非一時的コンピュータ可読媒体。
【請求項13】
前記命令はさらに、前記コンピューティングデバイスに、
所定の時間量の後、前記第3の通信セッションを終了させる、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記命令はさらに、前記コンピューティングデバイスに、
前記コンピューティングデバイスが前記モバイルデバイスから前記第3の通信セッションを終了する特定の要求を受信した後、前記第3の通信セッションを終了させる、請求項12または13に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、「INDENTIFICATION DELEGATION FOR DEVICES」と題する2013年3月13日に出願された米国特許非仮出願第13/801,143号に対する優先権を主張し、かつその継続出願であり、開示全体が参照により本明細書に組み込まれる。
【0002】
技術分野
本開示は、概して、メディアプレーヤとモバイルデバイスとの間の対話に関する。
【背景技術】
【0003】
コンテンツプロバイダのアプリケーションがメディアプレーヤまたは他のデバイス上で動作しているとき、コンテンツプロバイダのアプリケーションは、アクセスおよび権利が適切に施行されていること、ならびにインプレッションを利用した再生の場合には、正しいインプレッションが正しいユーザに対してカウントされていることを確実にするために、正しいユーザ証明を使用する必要がある。
【0004】
第2のスクリーンに基づく対話では、第1のスクリーンは、コンテンツを再生するために使用されるが、第2のスクリーンは、そのコンテンツを発見および制御するために使用される。多くの第2のスクリーンに基づく対話経験に関する1つの問題は、コントローラおよびプレーヤデバイスなどの第1および第2のデバイスの両方に同じ身元の使用を強いるために、第2のスクリーン上の制御デバイスと第1のスクリーンプレーヤとの間に明示的ペアリングがあることである。この状況は、別個のウェブブラウザを有するコンピュータにペアリングコードを入力することなど、さらに別のデバイスを通常伴うか、または両デバイスに全く同じ証明を入力するために別の周辺デバイスの使用を必要とする、ペアリング動作にユーザが対処しなければならないという、制限されかつ煩雑な経験をユーザに提示する。これはまた、どのユーザーの第2のスクリーンデバイスが使用されているかを問わず、供給されたアカウントのみが第1のスクリーン上で使用され得るという意味で、ユーザ経験を制限し、このことが、テレビを制御し映像を共有する社会的側面を複雑なプロセスにしている。
【発明の概要】
【0005】
テレビおよびモバイルデバイス等の第1のデバイスが通信する。モバイルデバイスは、コンテンツサーバから認証を取得するための仲介としての役割を果たす。第1のデバイスは、この認証を使用して、コンテンツサーバからコンテンツ(例えば、映画)を出力する。認証の期限が切れたとき、例えば、モバイルデバイスのユーザがモバイルデバイスを範囲外に移動させる場合、システムは、認証を更新することを試みることができ、その更新の試みが失敗した場合、システムは、コンテンツへのアクセスを終了する。
【0006】
1つの一般的な態様では、第1の通信セッションは、媒体デバイスとモバイルデバイスとの間で行われる。第1の通信セッションは、モバイルデバイスから承認コードを要求することと、モバイルデバイスから承認コードを受信することとを含む。モバイルデバイスは、コンテンツサーバから認証を取得するための仲介としての役割を果たす。モバイルデバイスは、コンテンツサーバのプロバイダ承認サービスと第2の通信セッションを開始する。第2の通信セッションは、承認コードを用いてプロバイダ承認サービスからトークンを取得することを含む。媒体デバイスは、コンテンツサーバと第3の通信セッションを開始する。第3の通信セッションは、トークンを利用して、コンテンツサーバからコンテンツを取得することを含む。システムは、トークンの期限切れに応答してトークンを更新することを自動的に試みる。
【0007】
この態様の他の実装形態は、コンピュータストレージデバイス上で符号化した本方法の動作を実施するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。
【0008】
別の一般的な態様では、システムは、媒体デバイスとモバイルデバイスとの間の第1の通信セッションを行うための手段であって、第1の通信セッションが、モバイルデバイスから承認コードを要求することと、モバイルデバイスから承認コードを受信することとを含み、モバイルデバイスが、コンテンツサーバから認証を取得するための仲介としての役割を果たす、手段を含む。本システムは、コンテンツサーバのプロバイダ承認サービスと第2の通信セッションを開始するための手段であって、第2の通信セッションが、承認コードを用いてプロバイダ承認サービスからトークンを取得することを含む、手段を含む。本システムは、コンテンツサーバと第3の通信セッションを開始するための手段であって、第3の通信セッションが、トークンを利用して、コンテンツサーバからコンテンツを取得することを含む、手段を含む。本システムは、トークンの期限切れに応答してトークンを更新することを自動的に試みるための手段を含む。
【0009】
本明細書に記載される主題の実装形態のうちの1つ以上は、以下の利点のうちの1つ以上を提供してもよい。ユーザは、対話の両側で証明の使用を施行するために任意の拘束力のある動作または登録動作を明示的に実施する必要がない場合があり、ユーザの正常なフローは中断されない。さらに、アドホック身元ペアリングは、複雑なアンペアリングおよびペアリングプロセスを経験することなく、複数のユーザが彼らの身元をデバイスに委任することを可能にし、いくつかの場合では、複数の身元が同時に使用されることを可能にする。複雑な認証論理が必要とされない場合、デバイスのアプリケーションの開発はより単純である。各セッションで辿られ得る特定の承認または購入フローがあり、これは、モバイルデバイス上ですべて可能である。対話は、例えば、メディアプレーヤがログインまたは他の入力を受信するための容易にアクセス可能なユーザインターフェースを有しない場合には、モバイルデバイスのユーザインターフェース上で容易に起こり得る。
【0010】
1つ以上の実装形態の詳細は、添付の図面および下記の説明に記載される。この説明および図面ならび特許請求の範囲から他の特徴が明らかであろう。
【図面の簡単な説明】
【0011】
図1】識別委任を提供するために使用され得るシステムのブロック図である。
【0012】
図2】識別委任を提供するために使用され得るシステムのブロック図である。
【0013】
図3】識別委任を実装するシステムの一例を図解するシーケンス図である。
【0014】
図4】識別委任を提供するためのプロセスのフローチャートである。
【0015】
図5】識別委任を承認するためのプロセスのフローチャートである。
【0016】
図6】識別委任の一実装形態を図解するプロセスのフローチャートである。
【0017】
図7】本明細書に記載される技術を実装するために使用され得るコンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を図解する。
【0018】
様々な図面における同様の参照符号は、同様の要素を示す。
【発明を実施するための形態】
【0019】
図1は、識別委任を提供するために使用され得るシステムのブロック図である。システム100は、モバイルデバイス110Aおよび110Bと、デバイス130と、コンテンツサーバ140と、プロバイダ承認サービス150とを含むことができ、これらは、少なくとも1つのネットワーク120を通じて相互接続される。
【0020】
モバイルデバイス110Aまたは110Bは、コンピュータ、スマートフォン、ラップトップ、またはユーザインターフェースを実行し、ソフトウェアアプリケーションをダウンロードおよび実行し、かつデバイス130、コンテンツサーバ140、およびプロバイダ承認サービス150と通信する類似のデバイスであり得る。モバイルデバイスの様々な例は、図7に関して下記により詳細に記載される。ネットワーク120は、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN)、WIFIネットワーク、BLUETOOTHネットワーク、または他のネットワークなど、単一ネットワークまたは任意のタイプのコンピュータネットワークの組み合わせであり得る。加えて、ネットワーク120は、公衆ネットワーク(例えば、インターネット)およびプライベートネットワークの組み合わせであり得る。
【0021】
デバイス130は、テレビ等のコンピューティングデバイス、またはスピーカ等の他のメディアプレーヤである。様々な実装形態では、コンピューティングデバイスは、表示画面を含むが、いくつかの実装形態では、デバイス130は、グラフィカルユーザインターフェース(例えば、表示領域)もしくは他のユーザインターフェースの入力特徴、またはテキストのユーザ入力を含まない場合がある(例えば、デバイス130は、音楽を再生するスピーカであり得る)。デバイス130は、ソフトウェアを実行し、モバイルデバイス110A、110B、コンテンツサーバ140、プロバイダ承認サービス150、およびID委任サーバ160と通信することができる。デバイスの様々な例が図7に関してより詳細に記載される。コンテンツサーバ140は、映画、音楽、写真、またはネットワーク120上の他のデータもしくは情報を含む、音声または視覚コンテンツ等のコンテンツを提供するために、モバイルデバイス110Aおよび110Bならびにデバイス130と通信するコンピュータまたは類似のデバイスである。単に図解の例として、コンテンツサーバ140は、PANDORA等のサービスを用いて、ネットワーク120を介してストリーミング音楽を提供してもよく、またはNETFLIX等のサービスを用いてストリーミング映像を提供してもよい。プロバイダ承認サービス150は、コンテンツサーバ140に対する識別有効性確認サービスを提供するコンピュータであり得る。
【0022】
図1に示される構成では、いくつかの実装形態では、テレビ、スピーカ、または他のメディアプレーヤであり得るデバイス130は任意に、例えば、IPアドレス、信号、または他の情報を提供することによって、プロバイダ承認サービス150に対してそれ自体の身元を明かすことができる。同様に、モバイルデバイス110Aまたは110Bもまた、プロバイダ承認サービス150に対してそれ自体の身元を明かすことができる。
【0023】
デバイス130は、図2に関して下記により詳細に記載されるように、ネットワーク120上で様々な識別信号を定期的または連続的にブロードキャストすることができる。いくつかの実装形態では、モバイルデバイス110Aおよび110Bは、例えば、それらがデバイス130の所定の範囲内に来るとき、信号を検出することができる。いくつかの実装形態では、モバイルデバイス110Aおよび110Bは、デバイス130に関してID委任サーバ160からの情報(例えば、位置データ)を受信することができる。承認に対する要求に応答して、モバイルデバイス110Aおよび110Bは、例えば、プロバイダ承認サービス150を用いて、デバイス130がモバイルデバイスと関連付けられるユーザのアカウント(例えば、PANDORAのアカウント)を使用するために、デバイス130に承認を提供することができる。デバイス130は、ユーザアカウントを利用して、例えば、デバイス130を介してサービス(例として、PANDORA)から音楽を再生するデータを取得または提供することができる。データは、コンテンツサーバ140など、ユーザの認証証明を要求し得る1つ以上のサーバによって提供され得る。いくつかの実装形態では、モバイルデバイスは、モバイルデバイスへのユーザ入力に基づいてデバイス130に承認を提供することができる。
【0024】
任意の数の代替または追加のサーバ、サービス、モバイルデバイス、もしくはデバイスがシステム100に含まれ得ることが理解されるであろう。2つのモバイルデバイス110Aおよび110B、1つのデバイス130、1つのコンテンツサーバ140、ならびに1つのプロバイダ承認サービス150の使用は、単に図解のためである。別の例として、いくつかの実装形態では、コンテンツサーバ140およびプロバイダ承認サービス150は、単一のコンピュータもしくはサーバに組み合わせられてもよく、または互いに直接接続されてもよい。
【0025】
一例として、図1に示されるシステムは、Andyが彼のスマートフォンまたはラップトップを使用して、彼の友人のBobの家のBobのテレビで映画または音楽を再生する映像または音楽アカウントにアクセスすることを可能にし得る。一例では、Andyが彼の電話を使用して、AndyおよびBobがBobの家でBobと映画を観るのに役立つが、その後Andyがその家を出て、彼の電話を持って行く場合、図1に示されるシステムは、Andyの電話がもはやBobのテレビにアクセスしていないと決定することができ、それ故に、未承認ユーザ(例えば、Bobの家にいる他の人々)がAndyのアカウントを用いて映画を観るためにAndyのアカウントにもはやアクセスすることができないように映画セッションを終了することができる。
【0026】
図2は、識別委任を提供するために使用され得るシステムのブロック図である。図2に示されるように、モバイルデバイス110Aおよび110Bは、アプリケーション210Aおよび210Bを含む。図解の例として、アプリケーション210Aは、音楽ストリーミングアプリケーションであってもよく、アプリケーション110Bは、映像ストリーミングアプリケーションであってもよい。アプリケーション210Aは、音楽を聴くためにログインまたは他のユーザアカウント証明を入力することをユーザに要求することができる。
【0027】
デバイス130は、任意の種類のメディアプレーヤであってもよく、アプリケーション230を含んでもよい。アプリケーション230は、ウェブサイトまたはオンラインストアからダウンロードされたアプリケーションであってもよく、これは、ユーザが音声または映像コンテンツ等のコンテンツ(ストリーミング音楽もしくは映画またはゲーム等)にアクセスするために実装することができる。
【0028】
コンテンツサーバ140は、データストア260と、アカウントデータ270とを含むことができる。データストア260は、ユーザに提供されたコンテンツ(例えば、音楽または映画)など、様々なタイプのデータを含むことができる。このようなコンテンツは、例えば、ユーザレビュー、評価、または選好に基づいて継続的に更新されてもよい。あるいはまたは加えて、このようなコンテンツは、1つ以上のサーバ(図示せず)上に遠隔で記憶され得る。アカウントデータ270は、ログインまたは他のアクセス証明などのユーザアカウントデータを含む。いくつかの実装形態では、アカウントデータ270のうちのいくつかまたはすべては、データストア260に含まれてもよく、またはリモートもしくは周辺ストレージ(図示せず)内に位置してもよい。
【0029】
プロバイダ承認サービス150は、データストア280と、承認者290とを含むことができる。データストア280は、無作為化され得る様々なトークンを含むことができる。承認者290は、図3に関して下記により詳細に記載されるように、モバイルデバイスおよび他のデバイスからの要求を受信し、かつこの要求に応答して、承認コードまたはトークンを提供するように動作することができる。例えば、プロバイダ承認サービス150は、ユーザ承認コードの有効性を確認し、承認コードを一時的トークンと交換することができ、これは、デバイス130がコンテンツサーバ140から映像データを要求するために使用することができる。
【0030】
システム200は、モバイルデバイス、デバイス、サーバ、データストレージなどの任意の数の組み合わせを実装することができ、図2に示されるデバイスおよびサーバの特定の描写は、単に図解のためであり、修正されてもよい。例えば、コンテンツサーバ140は、2つ以上のデータストア260を使用することができ、アカウントデータ270は、別のサーバで遠隔に記憶され得る。別の例として、プロバイダ承認サービス150およびコンテンツサーバ140は、単一のサーバ内に組み合わせられ得る。
【0031】
図3は、識別委任を実装するシステムの一例を図解するシーケンス図である。システムは、モバイルスクリーンコントローラアプリケーション310と、メディアアプリケーション320と、プロバイダ承認サービス330と、コンテンツサーバ340とを含むことができる。モバイルスクリーンコントローラアプリケーション310は、ラップトップまたは他のモバイルデバイス上の映像ストリーミングアプリケーションであってもよい。様々な実装形態では、このアプリケーションは、サービスもしくはコンテンツプロバイダのウェブサイトまたはモバイルアプリケーションストアからダウンロードされてもよい。
【0032】
メディアアプリケーション320は、テレビ等のメディア受信器デバイス、またはXBOX等のゲーミングデバイス上で動作するメディアプレーヤアプリケーションであってもよく、これは、映像ストリーミングデータサービスと対話することができる。図解される実施形態では、システムの構成要素(例えば、モバイルスクリーンコントローラアプリケーション310、メディアアプリケーション)の各々と関連付けられた黒線は、少なくとも1つのマイクロプロセッサによって、その構成要素と関連付けられたプロセスの実行を表す。図解される実装形態では、図3は、映像データに対する要求の識別委任および処理を示す。
【0033】
一実装形態では、動作342は、映像データ要求がメディアアプリケーション320からコンテンツサーバ340に発行されることを図解する。動作344は、映像データ要求がコンテンツサーバ340によって拒否されることを図解し、これは、例えば、要求にトークンまたは他の認証要素がないために生じ得る。このような例では、コンテンツサーバ340は、メディアアプリケーション320にメッセージを送信することができ、シーケンスは、動作352を継続するか、またはいくつかの実装形態では、シーケンスは、動作356に直接進むことができる。
【0034】
一実装形態では、動作352は、コンテンツ要求がメディアアプリケーション320からプロバイダ承認サービス330に発行されることを図解する。このような要求は、サービスまたはコンテンツプロバイダのウェブサイトからメディアアプリケーション320上にダウンロードされた(例えば、その上にインストールされた)アプリケーションによって送信され得る。
【0035】
動作354は、プロバイダ承認サービス330がメディアアプリケーション320に、承認がコンテンツ要求またはセッションを進めるために要求されることを通知することを図解する。この通知に応答して、動作356によって図解されるように、メディアアプリケーション320は、モバイルスクリーンコントローラアプリケーション310に、それがプロバイダ承認サービス330にリダイレクトすることを要求する。動作358が図解するように、モバイルスクリーンコントローラアプリケーション310は、プロバイダ承認サービス330への要求を有する承認コードを要求する(例えば、client_IDを送信することによる)。
【0036】
動作360は、プロバイダ承認サービス330がこの承認コードをモバイルスクリーンコントローラアプリケーション310に提供することを図解する。様々な実装形態では、動作360は、複数のステップ(図示せず)を含むことができ、例えば、コンテンツプロバイダおよびモバイルプラットフォームに基づいて異なり得る。
【0037】
動作362は、モバイルスクリーンコントローラアプリケーション310がコンテンツ識別(contentID)および承認コード(authCode)をロードすることができる。
【0038】
様々な実装形態では、動作364、365、および366は任意である。例えば、上記に論述される承認コードは、動作364、365、および366に関して下記に記載されるトークンに相当し(かつ代わりに使用され)得る。動作364は、メディアアプリケーション320がauthCodeをプロバイダ承認サービス330からのトークンと交換することを図解する。いくつかの実装形態では、ブロック365は、プロバイダ承認サービス330がauthCodeを用いてユーザの有効性を確認するまたはユーザを認証するために、任意の承認ステップを実装することができる。例えば、プロバイダ承認サービス330は、承認コードをデータベースと比較するか、または承認コードが有効であることを確実にするために、承認コードを用いて任意の有効性確認プロセスを実施することができる。
【0039】
動作366は、プロバイダ承認サービス330がメディアアプリケーションへのトークン応答を提供することを図解する。動作368は、メディアアプリケーション320がトークンを有する映像データ要求をコンテンツサーバ340に送信することを図解する。いくつかの実装形態では、コンテンツサーバ340は、このトークンをプロバイダ承認サービス330で承認することができる。動作370は、コンテンツサーバ340が次に、正常な応答をこのような映像データ要求に提供することを図解する。あるいはまたは加えて、映像データ応答はまた、モバイルスクリーンコントローラアプリケーション310に提供され得る。
【0040】
いくつかの実装形態では、動作372によって図解されるように、トークンは、例えば、所定の時間後、またはいくつかの実装形態では、モバイルスクリーンコントローラアプリケーション310が利用不可である(例えば、オフラインであり、メディアアプリケーション320の所定の範囲外であり、スリープモードであるなど)ことをプロバイダ承認サービス330が検出した後、期限が切れ得る。このような実装形態では、トークンの期限が切れた後、メディアアプリケーション320は、例えば、コンテンツサーバ340から他の映像コンテンツにアクセスする、トークンと関連付けられたアカウントをもはや使用することができない。いくつかの実装形態では、モバイルスクリーンコントローラアプリケーション310への別の往復が生じ得る(図示せず)。モバイルスクリーンコントローラアプリケーション310は今度は、ステップ358のように承認サービス330に要求を送信してもよく(図示せず)、またはシーケンスは、動作362等の動作に進んでもよい。
【0041】
動作374によって図解されるように、メディアアプリケーション320はそれにより、例えば、承認コード(動作362等の別の動作を介してモバイルスクリーンコントローラアプリケーション310から取得され得る)を取得するプロセスを用いて、トークンの更新(自動であり得る)を実装することができる。動作376は、プロバイダ承認サービスからのトークン応答を図解する。このような実装形態では、シーケンスは、トークンを用いる映像データ要求で動作368に戻って継続することができる。
【0042】
様々な実装形態では、モバイルスクリーンコントローラアプリケーション310はまた、例えば、コンテンツサーバ340上にコンテンツを提供するアカウントへのメディアアプリケーション320によるアクセスを終了することなど、トークンまたはセッションへのメディアアプリケーション320のアクセスを終了することができる。
【0043】
図4は、識別委任を提供するためのプロセスのフローチャートである。図4に図解されるプロセスは、コンピューティングデバイス、例えば、図3に示されるメディアアプリケーション320、または図1に示されるデバイス130によって少なくとも一部実施され得る。図4に示されるように、デバイスは、モバイルデバイスから承認コードを要求することができる(410)。デバイスは、モバイルデバイスから承認コードを受信することができる(420)。承認コードを受信した後、デバイスは、承認コードを用いてトークンを(例えば、安全に)取得することができる(430)。トークンは、所定の時間後、またはモバイルデバイスが所定の範囲を出た後、期限が切れる一時的トークンであり得る。デバイスは、図3に示されるプロバイダ承認サービス330など、プロバイダ承認サービスからトークンを取得することができる。
【0044】
デバイスは、トークンを利用して、コンテンツサーバからコンテンツを取得するためにデバイスとコンテンツサーバとの間で(例えば、直接に)通信することができる(430)。例えば、デバイスは、例として、トークンの期限が切れるまで(トークンが更新され得る時点で、図3に関して上記に記載されるように)、またはモバイルデバイスが利用不可である(例えば、電源を切られ、オフラインモード、スリープモードに入れられるなど)まで、トークンを用いて映像を流すことができる。
【0045】
図5は、識別委任を承認するためのプロセスのフローチャートである。図5に図解されるプロセスは、コンピューティングシステムもしくはデバイス、例えば、図1に示されるモバイルデバイス110Aおよび110B、または図3に関して上記に記載されるようなモバイルスクリーンコントローラアプリケーション310を実行するプロセッサによって少なくとも一部実施され得る。図5に示されるように、システムは、デバイスからサービスにアクセスする承認に対する要求を受信することができる(510)。デバイスは、映画サービスにアクセスすることを試みているテレビであってもよい。システムは、このサービスへのアクセスが承認を必要とすることを決定することができる(520)。例えば、システムは、映画サービスから承認が映画にアクセスすることを要求されるメッセージを受信することができる。この決定に応答して、システムは、プロバイダ承認サービスから承認コードを要求することができる(530)。システムは、承認コード(540)を受信することができ、承認コードを受信することに応答して、システムは、承認コードをデバイスに提供することができる(550)。
【0046】
図6は、識別委任の一実装形態を図解するプロセスのフローチャートである。図6に示されるプロセスは、図1および2に示されるデバイス130等のコンピュータシステムによって少なくとも一部実施され得る。システムは、モバイルデバイスと第1の通信セッションを行うことができる(610)。第1の通信セッションより前に、モバイルデバイスは、システムと通信を開始してもよく、モバイルデバイスとシステムとの間のハンドシェイクが生じ得る。モバイルデバイスは、図1に示されるモバイルデバイス110Aおよび110B等の任意のコンピュータデバイスであり得る。いくつかの実装形態では、システムは、モバイルデバイスがシステムの所定の範囲内であると決定する時点で、第1の通信セッションを開始することができる。いくつかの実装形態では、システムは、リモートサーバからモバイルデバイスがシステムの所定の範囲内である通知を受信することができる。リモートサーバは、GPS、WIFI、または他の信号に基づいてモバイルデバイスを検出することができる。システムは、モバイルデバイスから承認コードを要求し(620)、この要求に応答してモバイルデバイスから承認コードを受信することができる(630)。いくつかの実装形態では、システムは、承認コードを使用して、コンテンツサーバと直接通信することができる。
【0047】
いくつかの実装形態では、システムは、承認コードを受信することに応答して、コンテンツサーバのプロバイダ承認サービスと第2の通信セッションを自動的に開始することができる(640)。プロバイダ承認サービスは、例えば、図1および2に示されるプロバイダ承認サービス150、または図3に示されるプロバイダ承認サービス330であり得る。第2の通信セッション中、システムは、承認コードを用いてプロバイダ承認サービスからトークンを(例えば、安全に)取得することができる(650)。システムがいかにトークンを取得するかの例は、図3に関して上記に記載される。
システムは、例えば、トークンを受信することに応答して、コンテンツサーバと第3の通信セッションを開始することができる(660)。システムは、トークンを利用して、コンテンツサーバからコンテンツを取得することができる(670)。コンテンツの例としては、映像または音声等のストリーミングメディアが挙げられる。システムは、それがトークンの期限切れの変化を検出するかを決定することができる(680)。そうでないなら(680、いいえ)、システムは、トークンを利用し続けて、コンテンツサーバからコンテンツを取得することができる。システムがトークンの期限切れを検出した場合(680、はい)、システムは、トークンを更新することを試みることができる(例えば、図3に関して上記に記載されるように自動的に、システムは、モバイルデバイスと通信して、新しいトークンの取得、または既存のトークンの更新を開始することができ、モバイルデバイスに応答して、承認サービスと通信することができるか、またはモバイルデバイスは、トークンを直接更新することができる)。あるいはまたは加えて、システムは、例えば、トークンに対する自動更新プロセスが失敗する場合、第3の通信セッションを終了することができる(690)。例えば、ユーザが友人と映画を観ていたが、ユーザがその家を出て、彼の電話を持って行く場合、システムは、モバイルデバイスがもはやシステムの100フィート以内ではないと決定することができ、それ故に、未承認ユーザ(例えば、家にいる他の人々)が映画を観るためにユーザのアカウントにもはやアクセスすることができないように、例えば、トークンの期限切れによって第3の通信セッションを終了することができる。様々な代替または追加の実装形態では、システムは、トークンの期限切れを用いる様々な状況、例えば、所定の時間量(例えば、数分、数時間)後、セッションを終了するユーザ要求に応答して(例えば、モバイルデバイスまたは別のデバイスを介して)、ユーザがシステムもしくはモバイルデバイスを手動で停止するとき、またはシステムがシステムもしくは他のコンテンツへのアクセスを要求しているシステムの所定の範囲内で別のモバイルデバイスを検出するとき、第3の通信セッションを終了することができる。
【0048】
図7は、本明細書に記載される技術を実装するために使用され得るコンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を図解する。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことを意図する。コンピューティングデバイス750は、携帯情報端末、携帯電話、スマートフォン、および他の類似のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことを意図する。ここに示される構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示であることを意味し、本文書に記載され、および/または特許請求される本発明の実装形態を限定することを意図しない。
【0049】
コンピューティングデバイス700は、プロセッサ702と、メモリ704と、ストレージデバイス706と、メモリ704および高速拡張ポート710に接続する高速インターフェース708と、低速バス714およびストレージデバイス706に接続する低速インターフェース712とを含む。構成要素702、704、706、708、710、および712の各々は、様々なバスを用いて相互接続され、共通のマザーボード上に、または必要に応じて他の様式でマウントされ得る。プロセッサ702は、高速インターフェース708に連結されたディスプレイ716など、外部入力/出力デバイス上にGUIのためのグラフィック情報を表示するためにメモリ704内またはストレージデバイス706上に記憶された命令を含む、コンピューティングデバイス700内の実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスは、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイスは、各デバイスが必要な動作の部分(例えば、サーババンク、ブレードサーバの一群、またはマルチプロセッサシステム)を提供して接続され得る。
【0050】
メモリ704は、コンピューティングデバイス700内の情報を記憶する。一実装形態では、メモリ704は、1つの揮発性メモリユニットまたは複数のユニットである。別の実装形態では、メモリ704は、1つの不揮発性メモリユニットまたは複数のユニットである。いくつかの実装形態では、メモリは、例えば、図3に関して上記に記載されるように、揮発性メモリユニットと不揮発性メモリユニットとの組み合わせを含む。メモリ704はまた、磁気または光ディスクなど、別の形態のコンピュータ可読媒体であり得る。
【0051】
ストレージデバイス706は、コンピューティングデバイス700にマスストレージを提供することができる。一実装形態では、ストレージデバイス706は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成内のデバイスを含む多くのデバイスなどのコンピュータ可読媒体であるか、またはそれを含むことができる。コンピュータプログラム製品は、情報担体に明白に具現化され得る。コンピュータプログラム製品はまた、実行されるとき、上記に記載されるものなど、1つ以上の方法を実施する命令を含むことができる。情報担体は、メモリ704、ストレージデバイス706、またはプロセッサ702上のメモリなどのコンピュータまたは機械可読媒体である。
【0052】
高速コントローラ708は、コンピューティングデバイス700のための帯域幅集約型動作を管理するが、低速コントローラ712は、より低い帯域幅集約型動作を管理する。このような機能の割り当ては、単に例示である。一実装形態では、高速コントローラ708は、メモリ704、ディスプレイ716(例えば、グラフィックプロセッサまたはアクセラレータを通じて)、および高速拡張ポート710に連結され、これは、様々な拡張カード(図示せず)を受容することができる。本実装形態では、低速コントローラ712は、ストレージデバイス706および低速拡張ポート714に連結される。様々な通信ポート(例えば、USB、BLUETOOTH、ETHERNET、無線ETHERNET)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ等の1つ以上の入力/出力デバイス、または、例えばネットワークアダプタを介するスイッチもしくはルータ等のネットワークデバイスに連結され得る。
【0053】
コンピューティングデバイス700は、図に示されるように、いくつかの異なる形態で実装され得る。例えば、これは、標準サーバ720として、またはこのようなサーバの一群で複数回、実装され得る。これはまた、ラックサーバシステム724の一部として実装され得る。加えて、これは、ラップトップコンピュータ722等のパーソナルコンピュータに実装され得る。あるいは、コンピューティングデバイス700からの構成要素は、デバイス750などのモバイルデバイス(図示せず)内の他の構成要素と組み合わせられ得る。このようなデバイスの各々は、コンピューティングデバイス700、750のうちの1つ以上を含むことができ、システム全体が互いに通信する複数のコンピューティングデバイスで構成され得る。
【0054】
コンピューティングデバイス750は、他の構成要素の中でも、プロセッサ752と、メモリ764と、ディスプレイ754等の入力/出力デバイスと、通信インターフェース766と、送受信器768とを含む。デバイス750には、追加のストレージを提供するためにマイクロドライブまたは他のデバイスなどのストレージデバイスも提供され得る。構成要素750、752、764、754、766、および768の各々は、様々なバスを用いて相互接続され、構成要素のうちのいくつかが共通のマザーボード上、または必要に応じて他の様式でマウントされ得る。
【0055】
プロセッサ752は、メモリ764内に記憶された命令を含む、コンピューティングデバイス750内の命令を実行することができる。プロセッサは、別個および複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサは、例えば、ユーザインターフェースの制御、デバイス750によって実行されたアプリケーション、およびデバイス750による無線通信など、デバイス750の他の構成要素の調整を提供することができる。
【0056】
プロセッサ752は、ディスプレイ754に連結された制御インターフェース758および表示インターフェース756を通じてユーザと通信することができる。ディスプレイ754は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。表示インターフェース756は、グラフィックおよび他の情報をユーザに提示するためにディスプレイ754を駆動するための適切な回路を備えることができる。制御インターフェース758は、ユーザからコマンドを受信し、提示のためにそれらをプロセッサ752に変換することができる。加えて、外部インターフェース762は、他のデバイスとデバイス750の近隣区域の通信を可能にするようにプロセッサ752と通信して提供され得る。外部インターフェース762は、例えば、いくつかの実装形態において有線通信を、または他の実装形態において無線通信を提供することができ、複数のインターフェースも使用され得る。
【0057】
メモリ764は、コンピューティングデバイス750内の情報を記憶する。メモリ764は、1つのコンピュータ可読媒体もしくは複数の媒体、1つの揮発性メモリユニットもしくは複数のユニット、または1つの不揮発性メモリユニットもしくは複数のユニットのうちの1つ以上として実装され得る。増設メモリ774はまた、拡張インターフェース772を通じてデバイス750に提供および接続されてもよく、これは、例えば、SIMM(シングルインラインメモリモジュール)カードのインターフェースを含むことができる。このような増設メモリ774は、デバイス750に余分なストレージを提供することができるか、またはデバイス750のためのアプリケーションもしくは他の情報を記憶することもできる。具体的には、増設メモリ774は、上記に記載されるプロセスを実施または補完する命令を含むことができ、安全な情報も含むことができる。したがって、例えば、増設メモリ774は、デバイス750のためのセキュリティモジュールとして提供されてもよく、デバイス750の安全な使用を許可する命令でプログラムされ得る。加えて、安全なアプリケーションは、ハッキングできない様式でSIMMカード上に識別情報を配置するなど、追加の情報とともにSIMMカードを介して提供され得る。
【0058】
メモリは、下記に論述されるように、例えば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。一実装形態では、コンピュータプログラム製品は、情報担体に明白に具現化され得る。コンピュータプログラム製品はまた、実行されるとき、上記に記載されるものなど、1つ以上の方法を実施する命令を含む。情報担体は、メモリ764、増設メモリ774、またはプロセッサ752上のメモリなどのコンピュータまたは機械可読媒体であり、これは、例えば、送受信器768または外部インターフェース762上で受信され得る。
【0059】
デバイス750は、通信インターフェース766を通じて無線で通信することができ、これは、必要に応じてデジタル信号処理回路を含むことができる。通信インターフェース766は、GSM、音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、またはGPRSなど、様々なモードまたはプロトコル下で通信を提供することができる。このような通信は、例えば、無線周波送受信器768を通じて生じ得る。加えて、短距離通信は、BLUETOOTH、WIFI、または他のこのような送受信器(図示せず)などを用いて生じ得る。加えて、GPS(全地球測位システム)受信器モジュール770は、追加のナビゲーションおよび位置関連無線データをデバイス750に提供することができ、これは、デバイス750上で動作するアプリケーションによって必要に応じて使用され得る。
【0060】
デバイス750はまた、音声コーデック760を用いて可聴に通信することができ、これは、ユーザからの発話情報を受信し、それを使用可能なデジタル情報に変換することができる。音声コーデック760は同様に、スピーカを通じて、例えば、デバイス750のハンドセットなどで、可聴音をユーザにもたらすことができる。このような音は、音声通話からの音を含むことができ、録音された音(例えば、音声メッセージ、音楽ファイルなど)を含むことができ、かつデバイス750上で動作するアプリケーションによって生成された音も含むことができる。
【0061】
コンピューティングデバイス750は、図に示されるように、いくつかの異なる形態で実装され得る。例えば、これは、携帯電話780として実装され得る。これはまた、スマートフォン782、携帯情報端末、または他の類似のモバイルデバイスの一部として実装され得る。
【0062】
本明細書に記載されるシステムおよび技術の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウエア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせで実現され得る。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、かつそれらにデータおよび命令を送信するように連結された特殊用途または汎用であり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムにおける実装形態を含むことができる。
【0063】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高レベルの手続き型および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書に使用されるとき、用語「機械可読媒体」、「コンピュータ可読媒体」は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。用語「機械可読信号」は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0064】
ユーザとの対話を提供するために、本明細書に記載されるシステムおよび技術は、ユーザ、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)に情報を表示するための表示デバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)を有するコンピュータ上で実装され得る。他の種類のデバイスが同様にユーザとの対話を提供するために使用されてもよく、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信されてもよい。
【0065】
本明細書に記載されるシステムおよび技術は、バックエンド構成要素(例えば、データサーバとして)を含むか、ミドルウェア構成要素(例えば、アプリケーションサーバ)を含むか、またはフロントエンド構成要素(例えば、ユーザが本明細書に記載されるシステムおよび技術の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、またはこのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組み合わせで実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットが挙げられる。
【0066】
コンピューティングシステムは、クライアントおよびサーバ含むことができる。クライアントおよびサーバは概して、互いに離れ、典型的に通信ネットワークを通じて対話をする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、かつ互いにクライアント対サーバの関係を有するコンピュータプログラムによって生じる。
【0067】
いくつかの実施形態を記載してきた。それにもかかわらず、本発明の趣旨および範囲から逸脱することなく様々な修正が行われ得ることが理解されるであろう。
【0068】
加えて、図に描写される論理フローは、望ましい結果を達成するために図示される特定の順序またはシーケンシャル順序を必要としない。加えて、他のステップが提供されてもよく、またはステップは、記載されるフローから除外されてもよく、他の構成要素が、記載されるシステムに追加されるか、またはそれから削除されてもよい。したがって、他の実施形態は、以下の特許請求の範囲の範囲内である。
図1
図2
図3
図4
図5
図6
図7