(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【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】
加えて、図に描写される論理フローは、望ましい結果を達成するために図示される特定の順序またはシーケンシャル順序を必要としない。加えて、他のステップが提供されてもよく、またはステップは、記載されるフローから除外されてもよく、他の構成要素が、記載されるシステムに追加されるか、またはそれから削除されてもよい。したがって、他の実施形態は、以下の特許請求の範囲の範囲内である。