(58)【調査した分野】(Int.Cl.,DB名)
第1の電子デバイスの1つまたは複数のプロセッサにより実行されるように構成された1つまたは複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つまたは複数のプログラムは、
前記第1の電子デバイスと異なる第2の電子デバイスから、前記第1の電子デバイスによる使用のためのメディア提示システムの可用性のインジケーションを受信するための命令と、
前記メディア提示システムの前記可用性のインジケーションを検出することにしたがって、前記メディア提示システムにアクセスするための要求を送信するための命令と、
前記メディア提示システムにアクセスするための前記要求を送信することに応答して、前記第1の電子デバイスが、認証トークンを含むメディア制御要求の送信により前記メディア提示システムにアクセスすることを可能にする前記認証トークンを前記第2の電子デバイスから受信するための命令と、
前記認証トークンを含むメディア制御要求をサーバシステムに送信するための命令であって、前記メディア制御要求は、前記サーバシステムに、前記メディア制御要求に対応するコマンドを前記メディア提示システムへ送信させる、命令とを含む、
非一時的コンピュータ可読記憶媒体。
前記メディア提示システムにアクセスするための前記要求を送信するための前記命令が、前記メディア提示システムにアクセスするための前記要求を前記第2の電子デバイスに送信するための命令を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記メディア提示システムにアクセスするための前記要求を送信するための前記命令が、前記メディア提示システムにアクセスするための前記要求を前記サーバシステムに送信するための命令を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記1つまたは複数のプログラムが、前記メディア提示システムの前記可用性のインジケーションを受信することに応答して、前記第1の電子デバイスのタッチ感応ディスプレイに表示されるメディアアプリケーションユーザインターフェイスにアフォーダンスを提示するための命令をさらに含み、
前記要求を送信するための前記命令が、前記アフォーダンスの選択に応答して前記要求を送信するための命令を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記認証トークンを受信するための前記命令が、クイックレスポンス(QR)コードまたはApple Multipeer Connectivityを使用して前記認証トークンを受信するための命令を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記メディア制御要求が、オーディオ出力パラメータの変更、曲の再生、ビデオの再生、プレイリスト内のすべての曲の再生、映画の再生、またはビデオ出力パラメータの変更の各機能のうちの1つを前記メディア提示システムで実行する要求を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記メディア提示システムの前記可用性のインジケーションを受信するための前記命令が、前記第1の電子デバイスを含む1つまたは複数の電子デバイスによる使用のための前記メディア提示システムの前記可用性のインジケーションを受信するための命令を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記可用性のインジケーションを受信するための前記命令が、前記可用性のインジケーションを含む送信を前記第2の電子デバイスから受信するための命令を含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
前記メディア提示システムは、スピーカ、複数のスピーカ、テレビ、デジタル多用途ディスク(DVD)プレーヤ、パーソナルコンピューティングデバイス、ワイヤレス音楽ストリーミングデバイス、またはテレビメディアストリーを含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0011】
[0016] 次に、添付の図面に例が示された実装を参照する。以下の説明では、説明されるさまざまな実装についての完全な理解を促すために、多数の特定の詳細が示されている。ただし、説明されるさまざまな実装がこれらの特定の詳細を伴わずに実践され得ることは、当業者にとって明らかである。他の事例では、実装の態様を不必要に曖昧にしないために、既知の方法、手続き、コンポーネント、回路、およびネットワークについては詳細に説明していない。
【0012】
[0017] また、第1、第2等の用語は一部の事例でさまざまな要素を説明するために本明細書で使用されているが、そうした要素はこれらの用語によって限定されないことを理解されたい。これらの用語は、ある要素を別の要素と区別するために使用されているにすぎない。たとえば、説明されるさまざまな実装の範囲から逸脱することなく、第1のデバイスを第2のデバイスと呼ぶことができるし、同様に、第2のデバイスを第1のデバイスと呼ぶこともできる。第1のデバイスと第2のデバイスは、いずれもデバイスであるが、同じデバイスではない。
【0013】
[0018] 本明細書で説明されるさまざまな実装の説明で使用される用語は、特定の実装について説明することのみを目的としており、限定を意図したものではない。説明されるさまざまな実装および添付の請求項の説明で使用されている、単数形の「a」、「an」、および「the」は、別段文脈で明確に示されていない限り、複数形も含むことを意図している。また、本明細書で使用される「および/または」という用語は、関連して列挙されている項目の1つまたは複数の考えられるすべての組み合わせを参照および包含するものであることが理解される。さらに、「includes(含む)」「including(含む)」「comprises(備える、含む)」および/または「comprising(備える、含む)」の各用語は、本明細書で使用される場合、言及された特徴、整数、工程、操作、要素、および/またはコンポーネントが存在することを指定するものであるが、1つまたは複数の他の特徴、整数、工程、操作、要素、コンポーネント、および/またはそれらのグループが存在することを除外するものではない。
【0014】
[0019] 本明細書で使用されている「場合」という用語は、文脈によっては、任意選択で、「とき」、「したとき」、「決定したことに応答して」、「検出したことに応答して」、または「決定に従って」を意味するものと解釈される。同様に、「決定された場合」または「[言及された条件またはイベント]が検出された場合」という表現は、文脈に応じて、任意選択で、「決定したとき」、「決定したことに応答して」、「[言及された条件またはイベント]を検出したとき」、「[言及された条件またはイベント]を検出したことに応答して」、または「[言及された条件またはイベント]が検出されたとの決定に従って」を意味するものと解釈される。
【0015】
[0020] 本明細書で使用される「例示的」という用語は、「例、事例、または例証としての役割を果たす」という意味で使用されており、「同種のものの最良を表す」という意味で使用されているわけではない。
【0016】
[0021]
図1は、一部の実装に係る例示的なメディアコンテンツ配信システム100を示すブロック図である。メディアコンテンツ配信システム100は、1つまたは複数のクライアントデバイス102(たとえば、クライアントデバイス102−1およびクライアントデバイス102−2)と、1つまたは複数のメディアコンテンツサーバ(たとえば、メディアコンテンツサーバ104)と、1つまたは複数のメディア提示システム(たとえば、スピーカ108−1、テレビ(TV)108−2、デジタル多用途ディスク(DVD)108−3、および/またはその他のメディア提示システム108−nを含むメディア提示システム108)とを含む。1つまたは複数のネットワーク(たとえば、ネットワーク112)は、メディアコンテンツ配信システム100の各コンポーネントを、メディアコンテンツ配信システム100の他のコンポーネントと通信可能に接続する。一部の実装では、1つまたは複数のネットワーク112は、パブリック通信ネットワーク、プライベート通信ネットワーク、またはパブリック通信ネットワークとプライベート通信ネットワークの組み合わせを含む。たとえば、1つまたは複数のネットワーク112は、インターネット、他のワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、仮想プライベートネットワーク(VAN)、メトロポリタンエリアネットワーク(MAN)、ピアツーピアネットワーク、および/またはアドホック接続などの任意のネットワーク(またはネットワークの組み合わせ)であり得る。
【0017】
[0022] 一部の実装では、クライアントデバイス(たとえば、クライアントデバイス102−1および/またはクライアントデバイス102−2)は、1人または複数のユーザに関連付けられた代表的な電子デバイスである。一部の実装では、クライアントデバイスは、パーソナルコンピュータ、モバイル電子デバイス、ウェアラブルコンピューティングデバイス、ラップトップ、タブレットコンピュータ、携帯電話、フィーチャフォン、スマートフォン、デジタルメディアプレーヤ、またはメディア制御要求を送信することができる他の任意の電子デバイスのいずれかである。一部の実装では、クライアントデバイス102−1およびクライアントデバイス102−2は、同じ種類のデバイスである(たとえば、クライアントデバイス102−1およびクライアントデバイス102−2は、いずれもモバイルデバイスである)。代替で、クライアントデバイス102−1およびクライアントデバイス102−2は、異なる種類のデバイスである。
【0018】
[0023] 一部の実装では、クライアントデバイス102−1および102−2は、ネットワーク112を通じて情報を送受信する。たとえば、クライアントデバイス102−1および102−2は、一部の実装では、ネットワーク112を通じて、メディア制御要求(たとえば、音楽、映画、プレイリスト、または他のメディアコンテンツ項目を再生する要求)をメディアコンテンツサーバ104に送信する。加えて、クライアントデバイス102−1および102−2は、一部の実装では、ネットワーク112を通じて、認証トークンをメディアコンテンツサーバ104から受信する。たとえば、まずクライアントデバイス102−1が特定のメディア提示システム108に対するメディア制御要求を送信し、続いてクライアントデバイス102−2が、メディア提示システム108に対応する認証トークンを受信した後、メディア提示システム108に対するメディア制御要求を送信することができる。
【0019】
[0024] 一部の実装では、クライアントデバイス102−1およびクライアントデバイス102−2はさらに、ネットワーク112を通じて相互に通信することができる。たとえば、クライアントデバイス102−1は、以下でさらに詳しく説明するように、メディア提示システム108へのアクセスが利用可能であることをクライアントデバイス102−2に通知し、および/または任意の適切なネットワークプロトコルを使用して認証トークンをクライアントデバイス102−2に送信することができる。
【0020】
[0025] 一部の実装では、クライアントデバイス102−1は、メディア提示システム108と直接通信する。
図1に示されているように、クライアントデバイス102−1はメディア提示システム108と(たとえば、Bluetooth(登録商標)/BTLE通信技術、無線周波数ベースの近距離通信技術、赤外線通信技術等に関連するワイヤード接続または短距離ワイヤレス信号を通じて)直接通信することができ、一方でクライアントデバイス102−2はネットワーク112を通じてのみメディア提示システム108と通信する。一部の実装では、クライアントデバイス102−1は、メディア提示システム108での最初のセットアップおよび構成操作を完了するために、メディア提示システム108との直接接続を使用する。たとえば、メディア提示システム108は、TV108−2を含み、一部の実装では、クライアントデバイス102−1は直接接続を使用して、ローカルワイヤレス(たとえば、WiFi)ネットワークに接続するようにTV108−2を構成する(たとえば、TV108−2に、ネットワークのネットワーク識別子ならびにユーザ名およびパスワードの詳細を提供する)。
【0021】
[0026] 一部の実装では、クライアントデバイス102−1およびクライアントデバイス102−2は、クライアントデバイスのユーザがメディアコンテンツを閲覧し、クライアントデバイスに関連付けられたメディア提示システム(たとえば、スピーカ108−1、TV108−2、DVD108−3、・・・メディア提示システム108−n)での提示用にメディアコンテンツを要求することを可能にする、メディアアプリケーション222(
図2に示し、以下でさらに詳しく説明する)をそれぞれ含む。メディア提示システムは、一部の実装では、組み込みのスピーカやスクリーンなど、クライアントデバイス102の一部であってよく、または、ワイヤレスに結び付けられたスピーカ(たとえば、スピーカ108−1)など、クライアントデバイス102から離れて存在し得る。
【0022】
[0027] 一部の実装では、クライアントデバイス102−1は、(
図2に示し、以下でさらに詳しく説明するように)メディアアプリケーション222のメディア提示共有モジュール230をさらに含む。メディア提示共有モジュール230は、一部の実装では、クライアントデバイス102−1のユーザが、1つまたは複数の他の電子デバイス(たとえば、クライアントデバイス102−2)による使用のためのメディア提示システムの可用性を示すことができるようにし、および/または、1つまたは複数の他の電子デバイスによるメディア提示システムへのアクセスを提供できるようにする。一部の実装では、メディア提示共有モジュール230は、クライアントデバイス102−1のユーザが、ユーザに関連付けられたメディア提示システムのすべてまたは一部の可用性を示すことができるようにする(たとえば、クライアントデバイス102−1のユーザは、単一のユーザインターフェイス要素(たとえば、
図6Aのすべて共有アフォーダンス604)を選択して、1つまたは複数の他の電子デバイスによる使用のためのスピーカ108−1、TV108−2、DVD108−3、および/またはメディア提示システム108−nの可用性を示す)。
【0023】
[0028] 一部の実装では、メディアコンテンツサーバ104は、メディアコンテンツを記憶し、メディアコンテンツ(たとえば、クライアントデバイス102−1および/または102−2のメディアアプリケーション222により要求されたメディアコンテンツ)をネットワーク112経由でメディア提示システム108に提供する。メディアコンテンツサーバ104により記憶および供給されるコンテンツは、一部の実装では、任意の適切なコンテンツを含む。これには、テキスト(たとえば、記事、ブログ投稿、電子メール等)、画像(たとえば、写真、絵、レンダリング等)、ビデオ(たとえば、短い形式のビデオ、音楽ビデオ、テレビ番組、映画、クリップ、プレビュー等)、オーディオ(たとえば、音楽、話し言葉、ポッドキャスト等)、ゲーム(たとえば、2次元または3次元のグラフィックに基づくコンピュータゲーム等)、またはコンテンツの種類の任意の組み合わせ(たとえば、上述した種類のコンテンツまたは明示的に示していない他のコンテンツの任意の組み合わせを含むウェブページ)が含まれる。メディアコンテンツサーバ104が「サーバ」と説明されているのは、メディアコンテンツサーバ104に属する機能を提供するデバイス、システム、プロセッサコア、および/または他のコンポーネントを機能的に説明することを意図したものである。メディアコンテンツサーバ104は、単一のサーバコンピュータであってよく、または、複数のサーバコンピュータであり得ることが理解される。さらに、メディアコンテンツサーバ104は、他のサーバおよび/もしくはサーバシステム、または他のクライアントデバイス、データベース、コンテンツ配信ネットワーク(たとえば、ピアツーピアネットワーク)、ネットワークキャッシュなどの他のデバイスに結び付けられ得る。一部の実装では、メディアコンテンツサーバ104は、共に作動してサーバシステムの動作を実行する複数のコンピューティングデバイス(たとえば、クラウドコンピューティング)により実装される。
【0024】
[0029] 上述したように、メディア提示システム108(たとえば、スピーカ108−1、TV108−2、DVD108−3、・・・メディア提示システム108−n)は、メディアコンテンツを(たとえば、メディアコンテンツサーバ104から)受信し、受信したメディアコンテンツを提示することができる。たとえば、一部の実装では、スピーカ108−1は、ネットワーク接続型オーディオ/ビデオシステム(たとえば、ホームエンターテインメントシステム、デジタルディスプレイ付きラジオ/アラームクロック、または車両のインフォテインメントシステム)のコンポーネントである。よって一部の実装では、メディア提示システムは、メディアコンテンツサーバ104がメディアコンテンツを送信することができるデバイスである。たとえば、メディア提示システムは、コンピュータ、専用メディアプレーヤ、ネットワーク接続型ステレオおよび/またはスピーカシステム、ネットワーク接続型車両メディアシステム、ネットワーク接続型テレビ、ネットワーク接続型DVDプレーヤ、およびネットワーク接続を備えた再生デバイスを提供するために使用されるユニバーサルシリアルバス(USB)デバイス等を含む。
【0025】
[0030] 一部の実装では、各メディア提示システム108には、メディアコンテンツサーバ104がメディア提示システムを一意に識別し、および/またはメディア提示システムとの接続を確立するために使用する、識別子(たとえば、一意ハードウェアまたはアプリケーション識別子、ネットワークアドレス等)が関連付けられる。本明細書で説明されるように、一部の実装では、クライアントデバイス102−2は、ネットワーク112を通じて、認証トークンを含むメディア制御要求(たとえば、新しい曲を再生する要求)をメディアコンテンツサーバ104に送信する。認証トークンが有効であることを確認した後(以下で
図4および
図5を参照しながらさらに詳しく説明する)、メディアコンテンツサーバ104は、一部の実装では、認証トークンに関連付けられた特定のメディア提示システム108(たとえば、TV108−2)の識別子(たとえば、
図4に示す、メディアアカウントデータ構造404のMPS IDフィールドからのMPS ID。MPSはメディア提示システムの略)を取得する。よって、一部の実装では、メディアコンテンツサーバ104は、クライアントデバイス102−2がメディア提示システム108(たとえば、TV108−2)に他の方法で関連付けられていなくても、まずクライアントデバイス102−2がメディア制御要求をメディア提示システム108(たとえば、TV108−2)に送信することを認可されていることを確認し、次に、メディア制御要求に対応するコマンドをメディア提示システム108(たとえば、TV108−2)に送信することができる。よってクライアントデバイス102−2のユーザは、共有メディア提示システムでのメディア提示を制御することができる。
【0026】
[0031]
図2は、一部の実装に係る例示的なクライアントデバイス102(たとえば、
図1のクライアントデバイス102−1および/またはクライアントデバイス102−2)を示すブロック図である。クライアントデバイス102は、典型的には、1つまたは複数の中央処理装置(CPU、すなわち、プロセッサまたはコア)202と、1つまたは複数のネットワーク(または他の通信)インターフェイス210と、メモリ212と、これらのコンポーネントを相互接続する1つまたは複数の通信バス214とを含む。通信バス214は、任意選択で、システムコンポーネントを相互接続し、それらのシステムコンポーネント間の通信を制御する回路(チップセットとも呼ばれる)を含む。
【0027】
[0032] 同じく
図2に示されているように、クライアントデバイス102は、出力デバイス206と入力デバイス208とを含むユーザインターフェイス204を含む。一部の実装では、入力デバイスは、キーボード、マウス、またはトラックパッドを含む。代替または追加で、一部の実装では、ユーザインターフェイス204は、タッチ感応面を含むディスプレイデバイスを含み、その場合、ディスプレイデバイスはタッチ感応ディスプレイである。タッチ感応ディスプレイを備えるクライアントデバイスでは、物理キーボードは任意選択である(たとえば、キーボード入力が必要なときにソフトキーボードが表示され得る)。また、出力デバイス(たとえば、出力デバイス206)は、任意選択で、スピーカ、またはスピーカ、イヤフォン、もしくはヘッドフォンに接続されたオーディオ出力接続を含む。さらに、一部のクライアントデバイス102は、マイクおよび音声認識デバイスを使用して、キーボードを補足または置換する。任意選択で、クライアントデバイス102は、オーディオ(たとえば、ユーザからのスピーチ)をキャプチャするオーディオ入力デバイス(たとえば、マイク)を含む。任意選択で、クライアントデバイス102は、GPS(グローバル位置決め衛星)やその他の地理位置受信機などの位置検出デバイス、および/またはクライアントデバイス102の位置を決定する位置検出ソフトウェアを含む。
【0028】
[0033] メモリ212は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリまたは他のランダムアクセスソリッドステートメモリを含み、1つまたは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、その他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含み得る。メモリ212は、任意選択で、CPU202からリモートに配置された1つまたは複数のストレージデバイスを含み得る。メモリ212、または代替でメモリ212内の不揮発性メモリソリッドステートストレージデバイスは、非一時的コンピュータ可読記憶媒体を含む。一部の実装では、メモリ212またはメモリ212の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを記憶する。
・さまざまな基本システムサービスを処理し、ハードウェア依存タスクを実行する手続きを含む、オペレーティングシステム216
・インターネット、他のWAN、LAN、PAN、MAN、VPN、ピアツーピアネットワーク、コンテンツ配信ネットワーク、アドホック接続等の1つまたは複数のネットワーク112に(ワイヤードまたはワイヤレスで)接続された1つまたは複数のネットワークインターフェイス210を介して、クライアントデバイス102を他のコンピューティングデバイス(たとえば、メディア提示システム108、メディアコンテンツサーバ104、および/または他のクライアントデバイス)に接続する、ネットワーク通信モジュール218
・ユーザインターフェイス204を介して(たとえば、キーボード、タッチスクリーン、マイク、ポインティングデバイス、眼追跡コンポーネント、3次元ジェスチャ追跡コンポーネント等を含み得る入力デバイス208から)ユーザからのコマンドおよび/または入力を受信し、ユーザインターフェイスオブジェクトおよび他の出力をユーザインターフェイス204(たとえば、コンピュータディスプレイ、テレビ画面、タッチスクリーン、スピーカ等を含み得る出力デバイス206)での表示用に提供する、ユーザインターフェイスモジュール220
・メディアコンテンツ(たとえば、メディアコンテンツストリーム、メディアコンテンツファイル、広告、ウェブページ、ビデオ、オーディオ、ゲーム等)を閲覧、受信、処理、および提示する、メディアアプリケーション222(たとえば、メディアプレーヤを含むメディアコンテンツプロバイダに関連付けられたアプリケーション、ストリーミングメディアアプリケーション、または他の任意の適切なアプリケーションまたはアプリケーションのコンポーネント)。メディアアプリケーション222は、以下のモジュール(もしくは命令のセット)、またはそれらのサブセットもしくはスーパーセットをさらに含む
○クライアントデバイス102に関連付けられた1つまたは複数のメディア提示システム(たとえば、
図1のメディア提示システム108の1つまたは複数)に対応する認証トークン(たとえば、認証トークン228)を送信し、他のクライアントデバイスから認証トークンを受信し、任意選択でクライアントデバイス102に関連付けられたメディア提示システム用の認証トークンを生成する、認証モジュール224
○クライアントデバイス102に関連付けられた(すなわち、クライアントデバイス102により制御可能な)メディア提示システムを識別し、以下を含む、メディア提示システムモジュール226
・クライアントデバイス102が対応する1つまたは複数のメディア提示システムを使用することを認可されていることを確認するためにメディアコンテンツサーバ104に送信する、認証トークン228(または代替で、認証トークン228は、メディア提示システムへのアクセスを直接共有するために、他のクライアントデバイスに送信される)
○メディア提示システムの使用およびアクセスの制御(たとえば、メディア制御のためのホットスポットの作成、ホットスポットのアクセス制御設定の構成、ホットスポットへの接続要求の承認等)のためのメディア提示システムの可用性を示す要求を送信する、メディア提示システム共有モジュール230
○メディアコンテンツがローカルに記憶されているかリモートに記憶されているかに関係なく、ユーザがメディアコンテンツをナビゲートし、メディアコンテンツの再生を選択し、および他の方法でメディアコンテンツを制御または対話操作することを可能にするコントロールおよび/またはユーザインターフェイスを提供する、メディアコンテンツ閲覧モジュール232
・ウェブサイトにアクセスし、ウェブサイトを表示し、ウェブサイトを対話操作する、ウェブブラウザアプリケーション234(たとえば、Microsoft(登録商標)のInternet Explorer(登録商標)、Mozilla(登録商標)のFirefox(登録商標)、Apple(登録商標)のSafari(登録商標)、またはGoogle(登録商標)のChrome(登録商標))
・ワープロ、カレンダー、マッピング、天気、株価、時間管理、仮想デジタルアシスタント、提示、ナンバークランチング(スプレッドシート)、ドローイング、インスタントメッセージング、電子メール、テレフォニー、ビデオ会議、写真管理、ビデオ管理、デジタル音楽プレーヤ、デジタルビデオプレーヤ、2Dゲーム、3D(たとえば、仮想現実)ゲーム、電子書籍リーダ、および/またはワークアウトサポートなどの、その他のアプリケーション244
【0029】
[0034]
図3は、一部の実装に係る例示的なメディアコンテンツサーバ104を示すブロック図である。メディアコンテンツサーバ104は、典型的には、1つまたは複数の中央処理装置/コア(CPU)302と、1つまたは複数のネットワークインターフェイス304と、メモリ306と、これらのコンポーネントを相互接続する1つまたは複数の通信バス308とを含む。
【0030】
[0035] メモリ306は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリまたは他のランダムアクセスソリッドステートメモリを含み、1つまたは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、その他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含み得る。メモリ306は、任意選択で、1つまたは複数のCPU302からリモートに配置された1つまたは複数のストレージデバイスを含む。メモリ306、または代替でメモリ306内の不揮発性ソリッドステートメモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。一部の実装では、メモリ306またはメモリ306の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを記憶する。
・さまざまな基本システムサービスを処理し、ハードウェア依存タスクを実行する手続きを含む、オペレーティングシステム310
・インターネット、他のWAN、LAN、PAN、MAN、VPN、ピアツーピアネットワーク、コンテンツ配信ネットワーク、アドホック接続等の1つまたは複数のネットワーク112に(ワイヤードまたはワイヤレスで)接続された1つまたは複数のネットワークインターフェイス304を介して、メディアコンテンツサーバ104を他のコンピューティングデバイスに接続するために使用される、ネットワーク通信モジュール312
・メディアコンテンツサーバ104がさまざまな機能を実行できるようにする、1つまたは複数のサーバアプリケーションモジュール314。サーバアプリケーションモジュール314は、以下の1つまたは複数を含むが、これらに限定されない
○認証および/または認可要求を管理する、認証モジュール316。認証モジュール316は、以下の1つまたは複数を含むが、これらに限定されない
・メディア提示システム(たとえば、
図1のスピーカ108−1)の使用を許可する認証トークンを生成する、トークン生成モジュール318
・認証トークンが有効である(たとえば、まだ失効していない、またはまだ取り消されていない)ことを確認する、トークン検証モジュール320
○メディアコンテンツの要求を処理し、要求されたメディアコンテンツ項目へのクライアントデバイス(たとえば、クライアントデバイス102)によるアクセスを簡素化する、メディア要求処理モジュール322。クライアントデバイスによるアクセスは、任意選択で、それらのデバイスまたは1つもしくは複数のメディア提示システム108(たとえば、
図1のスピーカ108−1)へのメディアコンテンツのストリーミングを含む
・メディアコンテンツ項目およびメディアコンテンツ項目に関連するメタデータの記憶およびそれらへのアクセスを処理する、1つまたは複数のサーバデータモジュール324。一部の実装では、1つまたは複数のサーバデータモジュール324は以下を含む
○メディアコンテンツ項目(たとえば、オーディオファイル、ビデオファイル、テキストファイル等)を記憶する、メディアコンテンツデータベース326
○メディアコンテンツ項目に関連するメタデータを記憶する、メタデータデータベース328
○ユーザプロファイル、資格情報(たとえば、ユーザ識別子、パスワード、電子メールアドレス等)、任意のリンクアカウントの資格情報または識別子等を含む、ユーザメディアアカウントのアカウント情報を記憶する、メディアアカウントデータベース330
【0031】
[0036] 一部の実装では、メディアコンテンツサーバ104は、ウェブまたはハイパーテキスト転送プロトコル(HTTP)サーバ、ファイル転送プロトコル(FTP)サーバ、ならびにコモンゲートウェイインターフェイス(CGI)スクリプト、PHPハイパーテキストプリプロセッサ(PHP)、アクティブサーバページ(ASP)、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)、Java、JavaScript、非同期JavaScriptおよびXML(AJAX)、XHP、Javelin、ワイヤレスユニバーサルリソースファイル(WURFL)等を使用して実装されたウェブページおよびアプリケーションを含む。
【0032】
[0037] メモリ212および306に記憶される上述したモジュールのそれぞれは、本明細書で説明される機能を実行する命令のセットに対応する。上述したモジュールまたはプログラム(すなわち、命令のセット)は、個別のソフトウェアプログラム、手続き、またはモジュールとして実装する必要はなく、よって、これらのモジュールのさまざまなサブセットがさまざまな実装において組み合わされ、または他の方法で再編成され得る。一部の実装では、メモリ212および306は、任意選択で、上述した各モジュールおよびデータ構造のサブセットまたはスーパーセットを記憶する。さらに、メモリ212および306は、任意選択で、上述していない追加のモジュールおよびデータ構造を記憶する。
【0033】
[0038]
図3は一部の実装に係るメディアコンテンツサーバ104を示しているが、
図3は、本明細書で説明される実装の構造的意味というより、むしろ1つまたは複数のメディアコンテンツサーバに存在し得るさまざまな特徴の機能的説明として意図されたものである。実際には、当業者によって認識されるように、分離して示された項目を組み合わせることや、一部の項目を分離させることが可能である。たとえば、
図3で分離して示されている一部の項目を単一のサーバで実行することや、単一の項目を1つまたは複数のサーバにより実装することが可能である。メディアコンテンツサーバ104を実行するために使用されるサーバの実際の数、およびそれらのサーバに特徴を割り当てる方法は、実装ごとに異なり、任意選択で、ピーク使用時および平均使用時にサーバシステムが処理しなければならないデータトラフィックの量に部分的に依存する。
【0034】
[0039] 一部の実装では、メディアコンテンツサーバ104は、テーブル、データベース、またはその他の適切なデータ構造(たとえば、認証モジュール402および/またはメディアコンテンツデータベース404)を使用して、各ユーザに各メディア提示システムを関連付け、各メディア提示システムに関連付けられた認証トークン(すなわち、アクセストークン)を管理する。
【0035】
[0040]
図4は、一部の実装に係る、認証モジュール316の認証データ構造402およびメディアアカウントデータベース330の例示的なメディアアカウントデータ構造404を示すブロック図である。認証データ構造402は、一部の実装では、「トークンID」(たとえば、認証データ構造402内に含まれる各レコード402−2、402−3等を一意に識別する識別子)、「MPS ID」(たとえば、各メディア提示システムまたは複数のメディア提示システムに対応する識別子)、「アクセストークン」(たとえば、認証トークンに対応するメディア提示システムへのアクセスをクライアントデバイスに提供するために使用される認証トークン)、および「有効?」(たとえば、各アクセストークンが依然として有効であるか否かのインジケーション)のフィールド(たとえば、ヘッダ402−1内の各フィールド)を含む。メディアアカウントデータ構造404は、一部の実装では、メディアアカウントID(たとえば、メディアアカウントデータ構造404の各レコード404−2、404−3等の一意識別子)、メディアユーザID(たとえば、ユーザが作成したユーザ名または他の何らかの適切な識別子であり得る、ユーザに関連する識別子)、およびMPS ID(たとえば、ユーザに関連付けられたメディア提示システムに対応する識別子のセット)のフィールド(たとえば、ヘッダ404−1内の各フィールド)を含む。
【0036】
[0041] 一部の実装では、コンテンツプロバイダは、デバイスがコンテンツプロバイダからコンテンツを受信することを許可する前に、各メディア提示システムに特定のユーザアカウント(または複数のユーザアカウント)を関連付けることを要求し得る。一部の実装では、ユーザは、ログイン資格情報(たとえば、ユーザ名およびパスワード)をメディア提示システムに提供して、メディア提示システムが引き続いてそれ自体および/またはユーザを(たとえば、メディアコンテンツサーバ104を通じて)コンテンツプロバイダに対して認証することができるようにしなければならない(代替で、ユーザはログイン資格情報をメディアコンテンツサーバ104に提供する)。認証後、ユーザは自らのアカウントに関連付けられたメディアコンテンツをメディア提示システムに送ることができる。
【0037】
[0042] さらに、各メディア提示システム108を少なくとも1つの特定のユーザアカウントに確実に関連付けることで、メディアコンテンツプロバイダは、特定のユーザアカウントに関するルールおよびポリシーを実装し、特定のユーザアカウントに関連付けられたアカウント固有データへのアクセスを許可することができる。たとえば、メディアコンテンツプロバイダは、特定のアカウントに適用されるアクセス制限を、そのユーザおよび/またはユーザアカウントに関連付けられた他の任意のメディア提示システムでも同様に、強制することができる。したがって、ユーザがメディアコンテンツの最大割り当てを既に消費している場合、そのユーザは、追加のメディアコンテンツをメディア提示システムに送信することはできない。また、記憶されたプレイリスト、「お気に入り」コンテンツ項目、現在再生中のコンテンツ等のアカウント固有データは、メディアコンテンツサーバ104を通じてすべて利用可能である。
【0038】
[0043] 特定の例として、ユーザは、ネットワーク接続型テレビ(たとえば、
図1のテレビ108−2)をメディア提示システムとしてセットアップすることができる。この場合、メディアコンテンツプロバイダは、メディアアカウントデータ構造404のレコード(たとえば、レコード404−3)を追加または更新することにより、メディアコンテンツサーバ104内でテレビをユーザのアカウントに関連付けることができる。たとえば、ユーザ98がいかなるメディア提示システムともまだ関連付けられていない場合、メディアコンテンツサーバ104(またはメディアコンテンツサーバ104のコンポーネント、たとえば認証モジュール316)は、レコード404−3をメディアアカウントデータ構造404に追加する(この例では、テレビ108−2は、TV_13というMPS IDを有しており、よってメディアアカウントデータ構造404のレコード404−3は、TV_13というMPS IDをMPS IDフィールドに含む)。一般的な例として、一部の実装では、ユーザ98がTV_13へのアクセスを共有しているが、TV_13に関連付けられたアクセストークンが後に無効化された場合、認証モジュール316は、認証データ構造402のレコードを更新して、アクセストークンの無効化を反映させる(たとえば、レコード402−3は、TV_13のアクセストークンが有効でないことを示す)。
【0039】
[0044] 追加の例として、ユーザ2は、他のユーザがユーザ2に関連付けられたメディア提示システムにアクセスすることを許可しようと決めることがある。たとえば、ユーザ2がSpk_0というMPS IDが関連付けられたスピーカへのアクセスを共有する(たとえば、
図1のスピーカ108−1に関連付けられたホットスポットを作成する)場合、認証モジュール316は、メディアアカウントデータベース330と通信して(たとえば、SQLクエリをメディアアカウントデータベース330またはそのコンポーネントに送信し、それに応じてクエリに基づくレコードを受信して)、ユーザ2にSpk_0が関連付けられていることを確認する(たとえば、ユーザ2に関連付けられたレコード404−2がMPS IDフィールドにSpk_0のエントリを有することを確認する)。ユーザ2がスピーカ108−1を使用することを認可されているという決定に従って、認証モジュール316は、スピーカ108−1に対応するアクセストークンを作成するために、トークン生成モジュール318にアクセスする。一部の実装によれば、認証モジュール316は、MPS ID(たとえば、Spk_0)と、生成されたアクセストークンと、トークンが有効であるというインジケーションとを含む新しいレコード(たとえば、レコード402−2)を認証データ構造402に追加する。
【0040】
[0045]
図4はデータ構造400をテーブルとして示しているが、データ構造400は、SQLデータベース、スプレッドシート、XMLファイル、デスクトップデータベース、フラットファイル、CSVファイル、および/または他の編成されたデータソースを含み得る。一部の実装は、2つ以上の独立したソースからのデータを含む、各データ構造の複合型または混合型のソースをサポートする。
【0041】
[0046]
図5A〜5Cは、一部の実装に係るメディア提示を制御する方法500を示す流れ図である。
【0042】
[0047] 方法500は、一部の実装によれば、サーバシステム(たとえば、メディアコンテンツサーバ104、
図1および
図3)により実行される。
図5A〜
図5Cは、コンピュータメモリまたは他のコンピュータ可読記憶媒体(たとえば、メディアコンテンツサーバ104のメモリ306、
図3)に記憶された命令に対応する。
【0043】
[0048] ここで
図5Aを参照すると、サーバシステム(たとえば、メディアコンテンツサーバ104)は、第1のユーザに関連付けられた第1の電子デバイス(たとえば、クライアントデバイス102−1)がメディア提示システム(たとえば、スピーカ108−1)を制御することを認可する(502)。この認可は、たとえば、第1のユーザが最初にメディア提示システムをセットアップしたとき、または第1のユーザがメディアコンテンツサーバ104に関連付けられたメディアコンテンツプロバイダにログインしたときに発生する。一部の実装では、メディア提示システムの制御は、メディアコンテンツサーバ104を通じて行われる(たとえば、クライアントデバイス102−1は、メディア制御要求をメディアコンテンツサーバ104に送信することによりスピーカ108−1を制御し、その後、各メディア制御要求に対応するコマンドがメディアコンテンツサーバ104またはそのコンポーネントによりスピーカ108−1に送信される)。クライアントデバイス102−1とスピーカ108−1が同じネットワーク(たとえば、WiFiネットワーク)に存在する(たとえば、接続している)場合、クライアントデバイス102−1は、一部の実装では、メディア制御要求をメディアコンテンツサーバ104に送信すると共に、スピーカ108−1に直接送信することができる。なぜなら、これによって応答時間が向上するからである(たとえば、メディア制御要求を送信してから、要求された新しい曲またはメディア制御要求に含まれる他のコンテンツが再生されるまでの遅延時間が低減する)。ただし、一部の実装では、クライアントデバイス102−2はスピーカ108−1と同じネットワーク(たとえば、WiFi)に存在しない。たとえば、ゲストは、パーティホストのワイヤレス(たとえば、WiFi)ネットワークにアクセスできない場合がある。そのため、これらの実装では、クライアントデバイス102−2はメディア制御要求をメディアコンテンツサーバ104のみに送信し、メディア制御要求をスピーカ108−1に直接送信しない。
【0044】
[0049] メディア提示システムは、一部の実装では、スピーカ、複数のスピーカ、テレビ、デジタル多用途ディスク(DVD)プレーヤ、パーソナルコンピューティングデバイス、ワイヤレス音楽ストリーミングデバイス、またはテレビメディアストリーミングデバイスを含む(504)。メディア提示システムは、一部の実装では、複数の種類のコンポーネントメディア提示システム(たとえば、
図1のメディア提示システム108に示すように、複数のスピーカ、テレビ、およびDVDプレーヤ)を含む。追加の例として、一部の実装では、メディア提示システムは、テレビ(または他の任意の種類のメディア提示システム)のワイヤレス接続を可能にするUSBデバイス、または組み込みのネットワーク互換(たとえば、WiFi)スピーカを備えたデバイス(たとえば、発光ダイオード(LED)ランプ)を含み得る。
【0045】
[0050] 一部の実装では、サーバシステムは、第1の電子デバイスから、1つまたは複数の他の電子デバイスによる使用のためのメディア提示システム(たとえば、単一のスピーカまたは複数のスピーカ)の可用性を示す要求を受信する(506)。1つまたは複数の他の電子デバイスによる使用のためのメディア提示システムの可用性を示すことは、メディア提示システムを制御するホットスポットを作成することともいう。一部の実装では、第1の電子デバイスからの要求は、第1の電子デバイスの第1のユーザが、第1の電子デバイスに表示される(たとえば、
図2のメディアアプリケーション222のメディア提示共有モジュール230により表示される)アフォーダンス(たとえば、アイコン、スライドバー等)を(
図2のクライアントデバイス102のユーザインターフェイス204でのドラッグ、長いタップ、短いタップなどのタッチベースのジェスチャにより)選択した後に生成される。これらの実装におけるアフォーダンスは、アフォーダンスを選択することにより他のユーザがメディア提示システムを使用することを可能にするメディア制御用のホットスポットが作成されることを示すテキストを含み得る(たとえば、単一のメディア提示システムの可用性を示すことを要求する「共有」ボタン(
図6Aのホットスポット有効化アフォーダンス602など)、および/または複数のメディア提示システムの可用性を示すことを要求する「すべて共有」ボタン(
図6Aのすべて共有アフォーダンス604など))。これらの実装によれば、第1のユーザは、他のユーザがメディア提示システムを使用することに肯定的に同意する(たとえば、クライアントデバイス102のユーザインターフェイス204に表示された「同意する」ボタンをクリックまたはタップする)ことを求められ得る。
【0046】
[0051] 特定の例として、
図6Aを参照すると、第1のユーザは、対応するメディア提示システム(この例では、スピーカ108−1)のホットスポットを作成するために、各ホットスポット有効化アフォーダンス602をクリックする。ホットスポットが作成された後、一部の実装では、ユーザインターフェイス204のメディアアプリケーション222(または、メディア提示システム共有モジュール230など、メディアアプリケーション222のコンポーネント)が更新されて、スピーカ108−1のホットスポットが作成されたことが示される(たとえば、メディアアプリケーション222は、スピーカ108−1に対応するホットスポット有効化アフォーダンス602を削除し、
図6Bに示されるように有効ホットスポットインジケータ606(たとえば、「共有中」というテキストを含む強調表示されたボタン)を表示する)。一部の実装では、メディアアプリケーション222は、ユーザインターフェイス204に表示されているように、第1のユーザが第1のユーザの利用可能なメディア提示システムのすべてについてのホットスポットを作成することを可能にする、すべて共有アフォーダンス604をさらに含む。一部の実装では、第1のユーザが表示された「すべて共有」アフォーダンス604を選択した(たとえば、タップした)場合、クライアントデバイス102−1(または一部の実装ではメディアコンテンツサーバ104)は、第1のユーザの利用可能なメディア提示システムのすべてを含むホットスポットを作成する(たとえば、ホットスポットと、ホットスポットへのアクセスを許可する関連トークンとは、この例では、スピーカ108−1、テレビ108−2、DVD108−3、およびメディア提示システム108−nに対応する)。
【0047】
[0052] ここで
図7を参照すると、同じ特定の例で、第1のユーザがホットスポットを作成した後、他のユーザは第1のユーザが作成したホットスポットに関連付けられたメディア提示システムを使用することができる。たとえば、第1のユーザがスピーカ108−1を含むホットスポットを作成した後、別のユーザ(たとえば、クライアントデバイス102−2の第2のユーザ)がクライアントデバイス102−2のメディアアプリケーション222にアクセスすると、表示されるインターフェイス(たとえば、クライアントデバイス102−2のユーザインターフェイス204)に、別のユーザのメディア提示システム(たとえば、
図7に示すように、ユーザ2のスピーカ108−1)に対応するホットスポット参加アフォーダンス608が含まれる。一部の実装では、ホットスポット参加アフォーダンス608は、単一のメディア提示システムに関連付けられておらず、ユーザに関連するすべてのメディア提示システムに関連付けられている(たとえば、ホットスポット参加アフォーダンス608に関連付けられたホットスポットがすべて共有アフォーダンス(たとえば、すべて共有アフォーダンス604、
図6A)を使用して作成された場合、「ユーザ2のスピーカ108−1」と表示される代わりに、ホットスポット参加アフォーダンス608の横の記述的なテキストに、たとえば、「ユーザ2のホットスポット」または「ユーザ2のすべてのメディア提示システムの制御を共有」と表示される)。一部の実装では、クライアントデバイス102−1は、作成されたホットスポットの可用性を示すメッセージを送信し(たとえば、ブロードキャストし)、クライアントデバイス102−2は、ワイヤレスネットワーキング技術(たとえば、Bluetooth(登録商標)、Bluetooth(登録商標) Low Energy、WiFi、マルチキャストDNS、またはApple(登録商標) Multipeer connectivity)を通じて、作成されたホットスポット(または送信されたメッセージ)を検出する。クライアントデバイス102−2が作成されたホットスポットを検出した後、一部の実装では、クライアントデバイス102−2のユーザインターフェイス204が(たとえば、ユーザインターフェイスモジュール220により)更新されて、ホットスポット参加アフォーダンス608が(たとえば、メディアアプリケーション222内に)表示される。代替で、クライアントデバイス102−1は、一部の実装では、作成されたホットスポットに関連付けられたQRコードをクライアントデバイス102−1のユーザインターフェイス204に表示し、クライアントデバイス102−2は、認証トークン(
図5A〜
図5Cを参照してさらに詳しく説明する)を取得してメディア提示システム(たとえば、スピーカ108−1)の使用を開始するために、当該コードをスキャンする。
【0048】
[0053] クライアントデバイス102−2の第2のユーザは、クライアントデバイス102−1、メディアコンテンツサーバ104、またはホットスポットへの参加要求を管理する役割を担う他の何らかのデバイスに要求を送信するために、ホットスポット参加アフォーダンス608を選択する(たとえば、タップする)ことができる。一部の実装では、
図5A〜
図5Cを参照してさらに詳しく説明するように、要求はクライアントデバイス102−1に送信され、クライアントデバイス102−1のユーザがホットスポットに参加する要求を承認した後、クライアントデバイス102−1は、認証トークンをクライアントデバイス102−2に送信する。認証トークンを受信した後、一部の実装では、クライアントデバイス102−2はホットスポットに関連付けられたメディア提示システムを使用することができる(たとえば、クライアントデバイス102−2は、認証トークンを含むメディア制御要求をメディアコンテンツサーバ104に送信することができ、その後でメディアコンテンツサーバ104は、メディア制御要求に対応するコマンドを生成し、そのコマンドがスピーカ108−1に送信される)。
【0049】
[0054] 一部の実装では、サーバシステムは、第1の電子デバイスから、メディア提示システムに対応する1つまたは複数のアクセス制御設定を受信する(508)。1つまたは複数のアクセス制御設定は、1つまたは複数の他の電子デバイスのメディア提示システムに関するアクセス制限を指定する。1つまたは複数のアクセス制御設定は、オーディオ出力パラメータ(たとえば、音量、低音、またはイコライザ設定)の変更、メディア提示システムの電源オフ、またはメディア提示システムへの特定の種類のメディアコンテンツ(たとえば、低俗なコンテンツを含むメディア項目)の送信の制約を含み得る。たとえば、1つまたは複数のアクセス制御設定は、1つまたは複数の他の電子デバイスがメディア提示システムの電源を切ること、メディア提示システムの音量を所定の閾値音量を超えて調整すること、および/またはメディアコンテンツの制約に違反すること(たとえば、低俗な言葉を含むメディアコンテンツを再生すること)を禁ずることができる。1つまたは複数のアクセス制御設定は、一部の実装では、第1の電子デバイスの第1のユーザにより選択される。一部の実装では、ホットスポットを作成する一環として、第1の電子デバイスの第1のユーザは、メディアアプリケーション222のメディア提示共有モジュール230(
図2)により(クライアントデバイス102のユーザインターフェイス204に)表示されるメニューから、1つまたは複数のアクセス制御設定を選択する。一部の実装では、アクセス制御設定は、第1のユーザがメディア制御のためのホットスポットをメディア提示システムで作成する前に選択される(たとえば、アクセス制御設定は、第1のユーザに関連する使用パターンに基づいて、メディアアプリケーション222により自動的に選択され得る)。一部の実施形態では、アクセス制御設定は、(たとえば、第1のユーザに関連する使用パターンに基づいて)サーバシステムにより決定される。
【0050】
[0055] 一部の実装では、サーバシステムは、第1の電子デバイスに、メディア提示システムの認証トークンを送信する(510)(たとえば、認証モジュール316のトークン生成モジュール318は、メディア提示システムの一意の認証トークンを生成し、その認証トークンが第1の電子デバイスに送信される)。一部の実装では、第1の電子デバイスへの認証トークンの送信は、1つまたは複数の他の電子デバイスによる使用のためのメディア提示システムの可用性を示す要求に応答して実行される(512)。代替で、認証トークンは、以前に(たとえば、認可502の際に)第1の電子デバイスに送信されている。他の代替実装では、第1の電子デバイス(たとえば、クライアントデバイス102−1)は、メディア提示システムの認証トークンを(たとえば、認証モジュール224を使用して)生成し、認証トークンを認証データ構造402に記憶するためにメディアコンテンツサーバ104に送信する。
【0051】
[0056] ここで
図5Bを参照すると、一部の実装では、サーバシステムは、1つまたは複数の他の電子デバイスの1つである第2の電子デバイス(たとえば、
図1のクライアントデバイス102−2)から、認証トークンを含むメディア制御要求を受信する(514)。一部の実装では、第2の電子デバイスは、メディア提示システムへのアクセスを要求した後に(すなわち、ホットスポットへのアクセスを要求した後に)、第1の電子デバイスから認証トークンを受信している。認証トークンは、たとえば、ウェブサイトのリンク、ソーシャルネットワーキングのリンク、クイックレスポンス(QR)コード、Bluetooth(登録商標)、ワイヤレスフィデルティ(WiFi)、マルチキャストDNS(mDNS)、またはApple(登録商標) Multipeer Connectivityを使用して、第1の電子デバイスから第2の電子デバイスに送信される。
【0052】
[0057] 一部の実装では、認証トークンを第1の電子デバイスから第2の電子デバイスに送信する前に、第1の電子デバイスの第1のユーザは、1つまたは複数の他の電子デバイス(たとえば、第2の電子デバイス)からのメディア提示システムにアクセスする要求を承認する。たとえば、第2の電子デバイスは、第1の電子デバイスに要求を送信し、その要求を第1のユーザが受諾または拒否する。一部の実装では、要求の承認は、各デバイスにメディア提示システムへの異なるレベルのアクセスを付与すること、および/または承認された各デバイス/要求に適用されるアクセス制御設定を定義することを含み得る。
【0053】
[0058] メディア制御要求は、オーディオ出力パラメータの変更、曲の再生、ビデオの再生、プレイリスト内のすべての曲の再生、映画の再生、またはビデオ出力パラメータの変更の各機能のうちの1つをメディア提示システムで実行する要求を含み得る(516)。一部の実装では、オーディオ出力パラメータは、音量、低音、高音、(さまざまな周波数範囲の)イコライザ設定、曲間の移行の設定等を含む。一部の実装では、ビデオ出力パラメータは、リフレッシュレート、アスペクト比、解像度、明るさ、コントラスト等を含む。
【0054】
[0059] 一部の実装では、サーバシステムは、1つまたは複数のアクセス基準が満たされていることを確認する(518)。より詳細には、一部の実装では、サーバシステムは、1)メディア制御要求が受信された1つまたは複数のアクセス制御設定に準拠することの確認(520)、2)第2の電子デバイスが第1の電子デバイスの所定の距離内(または、第1の電子デバイスを含む所定の領域内)に存在することの確認(522)、および3)第2の電子デバイスがメディア提示システムの所定の(たとえば閾値)距離内(または、メディア提示システムを含む所定の領域内)に存在することの確認(524)、の1つまたは複数を確認する。一部の実装では、1つまたは複数の上記確認が満たされたことに応答して、メディア制御要求に対応するコマンドが送信される(526、以下)。
【0055】
[0060] 一部の実装では、上記確認で使用される所定の距離は、第1の電子デバイスの第1のユーザにより定められる。一部の実装では、所定の距離のデフォルト値が、サーバシステムにより取得される。一部の実装では、サーバシステムは、所定の距離のデフォルト値を取得し、第1のユーザに関連する使用パターンに従って(たとえば、第1の電子デバイスと、メディア提示システムに以前接続されていた他の電子デバイスとの間の距離に基づいて、または、メディア提示システムと、メディア提示システムに以前接続されていた他の電子デバイスとの間の距離に基づいて)デフォルト値を変更する。
【0056】
[0061] 任意のデバイスまたはデバイスの組み合わせを使用して、第1の電子デバイス(たとえば、クライアントデバイス102−1)と第2の電子デバイス(たとえば、クライアントデバイス102−2)とが互いに所定の距離内にあるかどうかを決定することができる。たとえば、一部の実装では、第1の電子デバイスと第2の電子デバイスは、それぞれの位置情報をメディアコンテンツサーバ104に送信し、メディアコンテンツサーバ104は、第1の電子デバイスと第2の電子とが互いに所定の距離内(たとえば、5フィート、10フィート、25フィート、50フィート、または他の任意の適切な距離内)にあるか否か決定する。
【0057】
[0062] 他の実装では、第1の電子デバイスと第2の電子デバイスは、相互に通信して、それらが互いに所定の距離内にあるか否かを決定する。いずれかのデバイスによって、それらが互いに所定の距離内にあると決定されると、第2の電子デバイスは、メディア制御要求をメディア提示システムに送信することができる(これらのメディア制御要求は、一部の実装では、メディアコンテンツサーバ104に送信され、メディアコンテンツサーバ104は、メディア制御要求に対応するコマンドをメディア提示システムに送信する)。
【0058】
[0063] 一部の実装では、第1の電子デバイスと第2の電子との間の通信は、一方または両方のデバイスが、(たとえば、GPS座標、ワイヤレス信号強度に応じた三角測量等に基づいて)位置情報を交換することを含む。よって、デバイスは、それらの検出された地理的位置に基づいて、相対的な近接性(および故に、所定の距離内にあるか否か)を決定する。
【0059】
[0064] ここで
図5Cを参照すると、一部の実装では、サーバシステムは、認証トークンがメディア提示システムへのアクセスを許可するとの(たとえば、サーバシステムによる)決定に従って、メディア制御要求に対応するコマンドをメディア提示システムに送信する(526)。一部の実装では、メディアコンテンツサーバ104のメディア要求処理モジュール322は、メディア制御要求を受信し、その後でメディア制御要求に対応するコマンドを決定、選択、または生成する。
【0060】
[0065] 認証トークンがメディア提示システムへのアクセスを許可するという決定は、一部の実装では、トークンが有効であることを確認することと、第1の電子デバイスによるメディア提示システムの制御が認可されていることを確認することとを含む(528)。一部の実装では、サーバシステムは、メディア提示システムのための保留中のコマンドのキューにコマンドを追加する(530)。
【0061】
[0066] 一部の実装では、保留中のコマンドのキューは、メディアコンテンツサーバ104により維持および管理される。代替の実装では、キューは、第1の電子デバイスにより維持および管理され、さらに他の実装では、キューは、メディア提示システムにより維持および管理される。一部の実装では、メディアコンテンツサーバ104は、キューの管理および維持を行うことができるデバイスを(たとえば、帯域幅の制約、利用可能なCPUリソース等に基づいて)決定する。さらに他の実装では、保留中のコマンドのキューは、メディアコンテンツサーバ104、第1の電子デバイス、およびメディア提示システムにより共に維持および管理される(たとえば、キューの一部が各デバイスにより管理および維持される)。
【0062】
[0067] 一部の実装では、サーバシステムは、メディア項目の少なくとも一部をメディア提示システムに送信する(532)。メディア項目は、第2のデバイスでの第2のユーザの行動に従って識別されるが、メディア制御要求では要求されない。一部の実装では、第2の電子デバイスの第2のユーザがメディア項目の上に所定の時間(たとえば、5秒、10秒等)を超えて(たとえば、タッチベースのジェスチャ、スタイラス、カーソルなどで)留まった後に、メディア項目の一部が送信される。たとえば、メディアコンテンツサーバ104(または代替で、第2の電子デバイス)は、第2の電子デバイスの第2のユーザが特定のメディア項目を再生用に選択しようとしていることを(たとえば、第2のユーザが特定のメディア項目を閾値時間を超えて閲覧しているとの決定に基づいて)決定するか、またはその旨を通知され、それに応じて、その特定のメディア項目の少なくとも一部(たとえば、先読みされたキャッシュ部分、またはプレビュー部分)をメディア提示システムに送信する。メディア提示が(たとえば、ユーザが
図6Aのすべて共有アフォーダンス604を使用してホットスポットを作成したために)複数のメディア提示システムを含む一部の実装では、特定のメディア項目の一部が、複数のメディア提示システム内の各メディア提示システムに送信される。よって、一部の実装では、ユーザの行動および/またはクライアントデバイス102(たとえば、第2の電子デバイス)の対話操作により、メディアコンテンツサーバ104が、後でおよび/または(ユーザ入力を伴わずに、またはユーザ入力に応答して、生成される可能性がある)別のメディア制御要求に応答して再生される可能性があるメディアコンテンツを先読みする。先読みされたコンテンツは、メディア提示システムに送信され、そこでキャッシュされる。
【0063】
[0068] 一部の実装では、サーバシステムは、所定の時間(たとえば、1時間、5時間、1日、3日、1週間等)後に、認証トークンを無効化する(534)。所定の時間は、一部の実装では、特定のユーザ(たとえば、第1の電子デバイスの第1のユーザ)の使用履歴または記憶された個人設定に基づいて(メディアコンテンツサーバ104またはクライアントデバイス102により)計算される。たとえば、第1の電子デバイスの第1のユーザに関連付けられた使用履歴(たとえば、メディアアカウントデータ構造404の追加フィールド)が、認証トークンを2時間以内に失効させるべきであることを示している場合(たとえば、使用履歴は、第1のユーザの懇親会の平均継続時間、または第1のユーザがメディア制御ホットスポットをオープンのままにした平均時間もしくは最大時間を計算するために使用され得る)、所定の時間は2時間に設定される。他の実装では、所定の時間は、第1の電子デバイスの第1のユーザにより(たとえば、メディアアプリケーション222のメディア提示システム共有モジュール230により提示されるインターフェイスを使用して)構成される。加えて、一部の実装では、第1の電子デバイスの第1のユーザは、認証トークンに関連付けられたホットスポットを(たとえば、メディアアプリケーション222のメディア提示システム共有モジュール230を対話操作することにより)破棄し、よってメディア提示システムの共有を(たとえば、パーティの終わりに)取り消すことができる。たとえば、
図6Bを参照すると、第1のユーザがスピーカ108−1のホットスポットに関連付けられた「共有中」ボタンをタップすることで、ホットスポットが破棄され、スピーカ108−1に関連付けられた認証トークンを無効化するプロセスが開始される(たとえば、クライアントデバイス102−1は、ホットスポットが破棄されたことを示すメッセージをメディアコンテンツサーバ104に送信し、メッセージを受信したことに応答して、メディアコンテンツサーバ104は、認証データ構造402の適切なレコードの「有効?」フィールドを更新して、認証トークンの無効化を反映させる)。
【0064】
[0069] 一部の実装では、サーバシステムは、第1の電子デバイスがメディア提示システムを制御することの認可を取り消し、認可を取り消したことに応答して、認証トークンを無効化する。たとえば、第1のユーザのアカウントが失効するか、または、第1のユーザがメディア提示システムの所有権を譲渡する。サーバシステムは、第1の電子デバイスの第1のユーザがメディア提示システムに関連付けられていなくなったため、認可を取り消す。この例では、第1の電子デバイスがメディア提示システムを制御することの認可を取り消した後、サーバシステムは、認証トークンを所有している他の任意のデバイスが譲渡されたメディア提示システムに対してメディア制御要求の送信を継続できないようにするために、認証トークンも取り消す(メディア提示用の認証トークンが依然として有効である場合)。
【0065】
[0070] 認証トークンを無効化した後(536)、サーバシステムは、1)無効化された認証トークンを含むメディア制御要求の受信と、メディア制御要求に対応するコマンドのメディア提示システムへの送信の見合わせ、および2)第1の電子デバイスおよび第2の電子デバイスへの、メディア提示システムへのアクセスが取り消されたことの通知(540)、の1つまたは複数を実行する。
【0066】
[0071] さまざまな図面の一部はいくつかの論理的段階を特定の順序で示しているが、順序に依存しない段階を並べ替えることや、他の段階を組み合わせたり切り離したりすることが可能である。さらに、一部の実装では、一部の段階を他の段階と並行および/または同時に実行することが可能である(たとえば、
図5Bの操作520、522、および524は、すべて一緒に実行するか、または実質的に並行して実行することが可能である)。一部の並べ替えや他のグループ分けについては具体的に言及されているが、その他のものも当業者にとって自明であり、よって本明細書で提示される順序およびグループ分けは選択肢の包括的な一覧ではない。さらに、段階はハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実装される可能性があることを理解されたい。
【0067】
[0072] 上述した説明は、釈明の目的上、特定の実装を参照しながら説明されている。しかし、上述した例示的な検討は、包括的であること、または開示された正確な形式に実装を限定することを意図したものではない。上記教示に鑑みて、多数の変更および変形が可能である。実装は、原則およびその実際の用途について最良に釈明し、それによって当業者が想定される特定の用途に適した多様な変更を加えて実装および多様な実装を最良に利用できるようにするために、選択および説明されている。