(57)【要約】  第１のデバイスは、遠隔デバイス上のシェルプロセスまたはその他のプロセスと対話するローカルシェルプロセスを実行することができる。ローカルシェルプロセスは、明らかになった遠隔メディアセッションについての情報を取得することができる。ローカルシェルプロセスは、第１のデバイス上にユーザインタフェースを提示することができる。ユーザインタフェースは、遠隔メディアセッションを制御するためのユーザインタフェース要素を提供することができる。ユーザインタフェースおよびユーザインタフェース要素は、第１のデバイスに固有のものである。ユーザインタフェースは、発見された複数の遠隔メディアセッション間のナビゲートを可能にすることができる。ローカルシェルプロセスは、第１のデバイスにローカルなメディアセッションを発見し、これらのセッションをユーザインタフェースに含めることもできる。
2017528818.tif 000002
【特許請求の範囲】
【請求項１】
ローカルコンピューティングデバイス上で実行される方法であって、
１つまたは複数の遠隔コンピューティングデバイス上で実行される１つまたは複数の遠隔メディアセッションを発見することであり、遠隔メディアセッションを発見することが、前記遠隔メディアセッションに関するデータを取得することを含む、遠隔メディアセッションを発見することと、
前記ローカルコンピューティングデバイス上にユーザインタフェースを提示することであり、前記ユーザインタフェースが、前記１つまたは複数の遠隔メディアセッションに関するデータ、および前記１つまたは複数の遠隔メディアセッションを制御するための１つまたは複数のユーザインタフェース要素を含む、ことと、
前記ユーザインタフェースを介して、前記１つまたは複数の遠隔メディアセッションのメンバを制御するための入力を受け取ることと、
少なくとも部分的には前記入力に基づいて前記メンバを制御することとを含む、方法。
【請求項２】
前記方法が、前記ローカルコンピューティングデバイス上でシェルプロセスで実行され、遠隔メディアセッションを発見することが、遠隔コンピューティングデバイス上で実行されるシェルプロセスと対話することを含む、請求項１に記載の方法。
【請求項３】
前記メンバを制御することが、前記遠隔コンピューティングデバイス上で実行される前記シェルプロセスと対話することを含む、請求項２に記載の方法。
【請求項４】
前記１つまたは複数のユーザインタフェース要素が、開始要素、停止要素、音量要素、チャネル変更要素、または帯域幅要素を含み、前記１つまたは複数のユーザインタフェース要素が、前記ローカルコンピューティングデバイスに固有である、請求項２に記載の方法。
【請求項５】
前記１つまたは複数のユーザインタフェース要素が、少なくとも部分的には前記１つまたは複数の遠隔メディアセッションに関する前記データに基づいて選択される、請求項２に記載の方法。
【請求項６】
前記メンバが、映画、ビデオゲーム、電子書籍、歌、ポッドキャスト、またはウェビナに関連し、前記１つまたは複数の遠隔デバイスが、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、テレビ、またはゲームコンソールを含む、請求項２に記載の方法。
【請求項７】
前記ユーザインタフェースが、前記１つまたは複数の遠隔メディアセッションの間で選択するナビゲーション要素を含む、請求項２に記載の方法。
【請求項８】
前記遠隔メディアセッションに関する前記データが、メディアピースに関連するアート、前記メディアピースの名前、前記メディアピースの持続時間、前記メディアピース内での現在位置、または前記メディアピースが提示されている遠隔コンピューティングデバイスを含む、請求項２に記載の方法。
【請求項９】
前記ローカルコンピューティングデバイスおよび前記１つまたは複数の遠隔コンピューティングデバイスが、同じコンピュータネットワークを使用している、請求項２に記載の方法。
【請求項１０】
遠隔メディアセッションを発見することが、前記コンピュータネットワーク上の遠隔デバイスに関連するオペレーティングシステム上のメディアセションの登録を突き止めることを含む、請求項９に記載の方法。
【請求項１１】
前記ローカルコンピューティングデバイス上で実行される１つまたは複数のローカルメディアセッションを発見することと、
前記１つまたは複数のローカルメディアセッションに関するデータを前記ユーザインタフェース内に表示することと、
前記１つまたは複数のローカルメディアセッションを制御する１つまたは複数のユーザインタフェース要素を提示することと、
前記ユーザインタフェースを介して、前記１つまたは複数のローカルメディアセッションのメンバを制御するローカル入力を受け取ることと、
少なくとも部分的には前記ローカル入力に基づいて、前記１つまたは複数のローカルメディアセッションの前記メンバを制御することとを含む、請求項２に記載の方法。
【請求項１２】
単一のユーザインタフェース入力に応答して、２つ以上の遠隔メディアセッションを同時に制御することを含む、請求項２に記載の方法。
【請求項１３】
前記遠隔デバイスが、デジタルリビングネットワークアライアンス（DLNA）デバイスであり、前記シェルプロセスが、ＤＬＮＡサービスと対話する、請求項２に記載の方法。
【請求項１４】
プロセッサと、
メモリと、
他の装置上で実行されるメディアアプリケーションのインスタンスの発見および制御を容易にする論理セットと、
前記プロセッサ、前記メモリ、および前記論理セットを接続する物理インタフェースとを備える装置であって、
前記論理セットが、
前記装置と、メディアアプリケーションのインスタンスが実行されている第２の装置との間の通信を行う第１の論理、
前記インスタンスについての情報を取得する第２の論理、
前記インスタンスの抽象と対話するユーザインタフェースを提供するシェルプロセスを使用して前記インスタンスについてのデータを提示する第３の論理、および
少なくとも部分的には前記ユーザインタフェースとの対話に基づいて前記インスタンスを制御する第４の論理を含む、装置。
【請求項１５】
前記第１の論理が、前記装置と前記第２の装置の間の実際の通信プロセスの抽象化を提供するシェルプロセスを使用して前記装置と前記第２の装置の間で通信を行い、
前記インスタンスについての前記情報が、前記インスタンスによって提示されている前記メディアの識別、前記インスタンスによって提示されているメディアのタイプ、前記インスタンスによって提示されている前記メディアの持続時間、前記インスタンスによって提示されている前記メディア内での現在位置、または前記メディアが再生されているデバイスのタイプを特定し、
前記第３の論理が、前記装置にローカルなユーザインタフェース要素から前記ユーザインタフェースを構築し、前記ユーザインタフェース要素が、開始機能、停止機能、音量機能、順送り機能、巻戻し機能、チャネル変更機能、または帯域幅制御機能を提供する、請求項１４に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  コンピューティングデバイスは、驚くほどの早さで普及し続けている。コンピューティングデバイスは、パワー、機能、および汎用性も増し続けている。コンピューティングデバイスが成長および発展するにつれて、実行されるアプリケーションのタイプも増大する。異なるアプリケーションは、異なるインタフェースを有する傾向があり、異なるデバイスは、異なるインタフェースを有する傾向がある。ユーザは、１つのタイプのデバイスの１つのタイプのインタフェースが最も快適である可能性があり、他のタイプのデバイスの他のインタフェースは敬遠する可能性がある。デバイスおよびインタフェースの普及により、様々なタイプのデバイスで実行されるアプリケーションの制御が複雑化する可能性がある。
【０００２】
[0002]  様々なコンピューティングデバイスにほぼ普遍的に存在する１つのタイプのアプリケーションは、メディアプレイヤアプリケーションである。１つの家庭内で、１人の子供が自分のラップトップコンピュータ、タブレットコンピュータ、およびスマートフォン上でメディアセッションを実行し、別の子供が自分のゲームコンソールおよびデスクトップコンピュータ上でメディアセッションを実行する可能性がある。同時に、父親が自分の電子書籍リーダ上でメディアセッションを実行し、母親が自分のスマートテレビでメディアセッションを実行する可能性がある。このように多数のデバイスにおける多数のメディアセッションが全て１つのローカル空間内で起こり、それらはネットワーク接続を共有する可能性が高い。
【０００３】
[0003]  従来は、各メディアセッションは、１つのデバイス上で実行されるローカルセッションであり、その１つのデバイスによって制御されていた。各セッションは、そのセッションが実行されるデバイスのタイプに特有のそれ自体のユーザインタフェースを有する可能性がある。このような多数のデバイス上の多数のセッションの調整および制御は、それが可能である場合でも、各セッションのローカル性により、問題になる可能性があった。それでも、例えば自分の子供が勉強をしている、または許可された音量で許可された時間に許可されたアクティビティしかしないことを確かめたい親は、そのような制御を求めることがあった。さらに、親は、仕事関係の活動または自分の配偶者の映画視聴体験の帯域幅使用を最適化したいと思うこともあった。従来は、親は、子供の位置を突き止める、彼らのデバイスの位置を突き止める、それらのデバイスを制御する、またはどのようにして子供にデバイスを制御させるかを理解しなければならないことがあり、複雑なシナリオを継続的に監視しなければならないことがあった。これは、可能である場合でも、特に親が馴染みのない新しいインタフェースを有する新しいデバイスを手にしたときには、困難である可能性があった。この状況は、例えば、複数の生徒が複数のデバイス（例えばタブレット、スマートフォン）を有する教室の状況などでは、さらに複雑になる可能性がある。
【発明の概要】
【０００４】
[0004]  この概要は、以下の詳細な説明でさらに説明する一連の概念を単純化した形態で紹介するために与えるものである。この概要は、請求する主題の重要な特徴または不可欠な特徴を特定するためのものではなく、また、請求する主題の範囲を限定するために使用されるように意図されたものでもない。
【０００５】
[0005]  例示的な装置および方法は、単一のデバイスから遠隔メディアセッションを発見して制御することにより、従来の手法を改善したものである。例示的な装置および方法は、単一のデバイス（例えば親のスマートフォン）が、メディアセッション（例えばゲーム、映画、音楽、ポッドキャスト）を発見し、次いでそれらのメディアセッションを制御する（例えば開始／停止する、音量を上げる／下げる、帯域幅を増大／減少させる）ことを可能にする。例示的な装置および方法は、単一のデバイスに固有のシェルユーザインタフェースを使用してこの制御を実行することができる。したがって、親は、複数の異なる装置の複数の異なるインタフェースを使用するのではなく、自分の使い慣れている単一のインタフェースを使用して、子供のメディアセッションおよび配偶者のメディアセッションを発見し、次いでそれらのセッションを制御することができる可能性がある。例えば、親は、娘の音楽セッションの音量を下げ、息子のビデオゲームを停止し、妻の映画に追加のネットワーク帯域幅を割り当てるといったことを、全て自分のスマートフォンから、自分のスマートフォンに固有の使い慣れたコントロールを使用して行うことができる。
【０００６】
[0006]  例示的な装置および方法は、ユーザが、自分が使用しているデバイスだけでなく、同じネットワークに接続されるか、またはその他の形で関係している他のデバイスでも、メディアセッション（例えば音楽、ビデオ、フォトスライドショー、ゲーム、ポッドキャスト）を発見して制御することを容易にすることができる。この接続体験は、ハードウェアの境界を曖昧にして、デバイスのユーザの生産性および接続体験を高める助けになる可能性がある。従来は、メディアアプリケーションは、いくつかのトランスポートコントロールを実装し、それ自体のプロトコルを使用して、ローカルメディアセッションを発見して制御することもあった。この従来の手法は、純粋にローカルな結果を生じるが、ローカルアプリケーションにかなりの負担を生じ、その間ずっとユーザに対してちぐはぐな体験を生じていた。例示的な装置および方法は、シェルレベルで実施され、したがってローカルアプリケーションに追加の負担を生じない、一貫した体験を生じる。
【０００７】
[0007]  添付の図面は、本明細書に記載する様々な例示的な装置、方法、およびその他の実施形態を示している。これらの図面に示す要素の境界（例えば四角枠、四角枠のグループ、またはその他の形状）が、これらの境界の１例を表していることは理解されるであろう。いくつかの例では、１つの要素が、複数の要素として設計されることもあり、あるいは複数の要素が１つの要素として設計されることもある。いくつかの例では、別の要素の内部構成要素として示されている要素が、外部構成要素として実装されることもあり、またその逆のこともある。さらに、要素は、一定の比率で描かれているとは限らない。
【図面の簡単な説明】
【０００８】
【図１】[0008]第２のデバイス上のメディアセッションを発見する例示的な第１のデバイスを示す図である。
【図２】[0009]複数の第２のデバイス上のメディアセッションを発見する例示的な第１のデバイスを示す図である。
【図３】[0010]第２のデバイス上のメディアセッションを発見する例示的な第１のデバイスを示す図である。
【図４】[0011]複数の第２のデバイス上のメディアセッションを発見する例示的な第１のデバイスを示す図である。
【図５】[0012]遠隔メディアセッションの発見および制御に関連する例示的な方法を示す図である。
【図６】[0013]遠隔メディアセッションの発見および制御に関連する例示的な方法を示す図である。
【図７】[0014]デバイスが遠隔メディアセッションを発見して制御することができる例示的なクラウド動作環境を示す図である。
【図８】[0015]遠隔メディアセッションを発見して制御することができる例示的なモバイル通信デバイスを示すシステム図である。
【図９】[0016]遠隔メディアセッションを発見して制御する例示的な装置を示す図である。
【図１０】[0017]遠隔メディアセッションを発見して制御する例示的な装置を示す図である。
【図１１】[0018]遠隔メディアセッションを発見して制御する方法または装置によって提示される例示的なユーザインタフェースを示す図である。
【発明を実施するための形態】
【０００９】
[0019]  例示的な装置および方法は、遠隔メディアセッションを発見して制御するためのシェルに基づく解決策を提供する。コンピュータ科学および本明細書で使用される「シェル」とは、オペレーティングシステムのサービスにアクセスするためのユーザインタフェースを提供するプロセスのことである。オペレーティングシステムは、例えばファイル管理、プロセス管理、通信、およびその他のサービスなど、様々なサービスを提供することができる。シェルは、オペレーティングシステムカーネルのアプリケーションプログラムインタフェース（API）およびその他のＡＰＩ（例えばネットワーキング）と対話することができる。シェルは、入力の選択肢を提供し、入力事象を検出し、それらの事象に応答することによって、ユーザ／システム間対話を管理することができる。例示的な装置および方法は、シェルに基づく解決策によって発見される遠隔メディアセッションに関する入力の選択肢を提供することができる。シェルはオペレーティングシステムの一部ではなく、またメディアセッションの一部でもないので、シェルは、オペレーティングシステムおよびメディアセッションの両方から独立して構成することができる。検出および制御されるメディアセッションから独立していることにより、メディアプレイヤアプリケーションの開発者が、プログラミングの負担から解放される。オペレーティングシステムから独立していることにより、オペレーティングシステムの開発者および維持者が、プログラミングの負担から解放される。
【００１０】
[0020]  異なるメディアセッションは、異なるメディアアプリケーションと関連する可能性がある。例えば、あるメディアセッションは、映画、ゲーム、書籍、歌、ポッドキャスト、またはその他のメディアを含む可能性がある。本明細書で使用される「メディアセッション」は、プロセス、スレッド、またはメディアピースの提示に関連するその他の実行ファイルのインスタンスを指す。メディアのタイプが異なればコントロールのタイプも異なる可能性があるが、全てのタイプのメディア、およびしたがって全てのタイプのメディアセッションを抽象化して、シェルに基づく制御を容易にすることができる。例えば、メディアセッションで再生されている多くのタイプのメディアは、開始／停止または再生／一時停止の抽象を含むことができる。その他の抽象化は、強／弱、順送り／巻戻し、現在位置、および総メディア長を含み得る。さらに、全てのメディアは、何らかの識別子（例えば名前）を有することができ、何らかの関連するアート（例えばアルバムカバー、本の表紙など）を有することができる。
【００１１】
[0021]  例示的な装置および方法は、シェルに基づく解決策が実行されているローカルデバイス上のメディアセッションを発見することができる。例示的な装置および方法は、シェルに基づく解決策が実行されているデバイスから遠隔にあるデバイス上のメディアセッションを発見することもできる。例えば、遠隔メディアセッションは、そのローカルな装置が使用しているネットワーク上の他の装置上で検出される可能性がある。遠隔メディアセッションは、遠隔デバイス上のローカルプロセスとして登録していることも、あるいはその他の形で、遠隔デバイス上のオペレーティングシステムに情報を提供していることもある。シェルに基づく解決策は、アクティブなメディアセッションに関する情報を遠隔デバイスに要求することができる。メディアセッションについての情報を取得することは、発見プロセスの一部であることもある。発見されたメディアセッションについての情報は、その後、ローカルデバイスのユーザが精通している制御を使用して、ローカルデバイス上に提示することができる。例示的な装置および方法は、様々な出力を提供することができる。例えば、遠隔メディアセッションの包括的なリスト、ならびにそのリストをナビゲートするためのツールを、表示することができる。ユーザインタフェース技術（例えばタップ）を使用して、このリストから特定のメディアセッションを選択することができる。また、例えばユーザインタフェースアイコン（例えばフリッパ）を使用して、発見したセッションをフリップすることによって、特定のメディアセッションを選択することもできる。
【００１２】
[0022]  図１は、遠隔デバイス１１０と対話するデバイス１００を示す図である。メディアセッション１１２は、遠隔デバイス１１０上で実行される。例示的な装置および方法は、デバイス１００がメディアセッション１１２についての情報を突き止めるのを容易にする。例えば、メディアのタイプ（例えば書籍、映画、ゲーム、ポッドキャスト）を含む情報を取得することができる。さらに、メディアの長さ、メディア中の現在位置、メディアがアクティブであるか一時停止状態であるか、メディアに関連するアートワーク、およびその他の情報を含む情報を取得することができる。１実施形態では、メディアセッション１１２は、遠隔デバイス１１０がそのメディアセッションを露出すると決定した場合にしか発見されないこともある。１実施形態では、メディアセッション１１２についての情報は、メディアセッション１１２がその情報を露出すると決定した場合にしか取得されないこともある。
【００１３】
[0023]  図２は、複数の遠隔デバイスと対話するデバイス２００を示す図である。第１の遠隔デバイス２１０は、第１のメディアセッション２１２を実行しており、第２の遠隔デバイス２２０は、第２のメディアセッション２２２を実行しており、第Ｎの遠隔デバイス２３０は、第Ｎのメディアセッション２３２を実行している。ここで、Ｎは数である。異なる遠隔デバイスは、異なるタイプのデバイス（例えば、スマートフォン、タブレット、ラップトップ、ゲームコンソール、スマートテレビ）である可能性がある。異なるメディアセッションは、異なるタイプのメディア（例えば、映画、ウェビナ、ポッドキャスト、電子書籍、ゲーム）と関連する可能性がある。
【００１４】
[0024]  図３は、メディアセッション３１２が実行される遠隔デバイス３１０と対話するデバイス３００を示す図である。デバイス３００は、遠隔デバイス３１０上で実行されるシェルプロセス３１４と対話しているシェルプロセス３０４を有する。シェルプロセス３１４は、メディアセッション３１２についての情報を有することができる。シェルプロセス３０４は、シェルプロセス３１４と対話して、メディアセッション３１２についての情報を取得することができる。シェルプロセス３０４は、メディアセッション３１２についての情報を提示するユーザインタフェース３０６を提供する。ユーザインタフェース３０６は、メディアセッション３１２を制御するためのユーザインタフェース要素を提供する。例えば、ユーザインタフェース３０６は、開始ボタンおよび停止ボタンを提供することができる。ユーザインタフェース３０６は、メディアセッション３１２に固有のアイコンおよびレイアウトを使用するのではなく、デバイス３００に固有のアイコンおよびレイアウトを使用することができる。
【００１５】
[0025]  図４は、複数の遠隔デバイスと対話するデバイス４００を示す図である。第１の遠隔デバイス４１０は、第１のメディアセッション４１２を実行している可能性があり、第２の遠隔デバイス４２０は、第２のメディアセッション４２２を実行している可能性があり、第Ｎの遠隔デバイス４３０は、メディアセッション４３２および第Ｎのメディアセッション４３４を実行している可能性がある。ここで、Ｎは数である。遠隔デバイス４３０、またはその他の遠隔デバイスは、１つまたは複数のメディアセッションを実行することができる。この１つまたは複数のメディアセッションは、異なるタイプのメディアのためのものとすることができる。デバイス４００は、シェルプロセスを実行している可能性があり、遠隔デバイスも、シェルプロセスを実行している可能性がある。デバイス４００上のシェルプロセスは、遠隔デバイス上のメディアセッションを発見し、それらのメディアセッションについての情報を取得することができる。遠隔デバイスは、様々なタイプのデバイスとすることができ、メディアセッションは、様々なタイプのメディアに関するものとすることができる。デバイス４００は、発見したメディアセッションを制御するためのユーザインタフェース要素を有するユーザインタフェースを提示することができる。例えば、ユーザインタフェースの部分４０２は、メディアセッション４１２の順送りボタン、巻戻しボタン、および停止ボタンを提供することができる。同様に、部分４０４は、メディアセッション４２２の順送りボタン、巻戻しボタン、および停止ボタンを提供することができ、部分４０８は、メディアセッション４３４の順送りボタン、巻戻しボタン、および停止ボタンを提供することができる。部分４０２、４０４、および４０８は、それらが関連するメディアセッションのために同じコントロールセットを表示するものとして示してあるが、異なるユーザインタフェース部分は、制御中のメディアセッションのタイプに適した異なるユーザインタフェース要素（例えば、開始、停止、順送り、巻戻し、早送り、一時停止、強、弱、帯域幅拡大、帯域幅縮小）を表示することもできる。
【００１６】
[0026]  デバイス４００は、全ての発見された遠隔メディアセッションのための情報およびコントロールを含むユーザインタフェースを提示することができるが、１実施形態では、発見された遠隔メディアセッションのうちの一部についての情報しか提示しないこともある。例えば、単一の遠隔メディアセッションに関する情報を提示し、その他の発見された遠隔メディアセッションの間を容易にナビゲートすることができるようにユーザインタフェース要素を提供することもできる。１実施形態では、ユーザインタフェースは、１つまたは複数のローカルメディアセッションについての情報を提示することもできる。
【００１７】
[0027]  図１１は、例示的なユーザインタフェースのスクリーンショット１１００を示す図である。このスクリーンショット１１００は、単一のメディアピースについての情報を示し、他の発見された遠隔メディアセッションに関連する他のメディアピースについての情報にナビゲートするためのコントロール１１３０を提供する。サムネイル写真１１１０は、現在再生されているメディアに関連するアートワークを表示する。情報領域１１２０は、現在再生されているメディアについての情報（例えばタイトル、アーティスト）を提供することができる。コントロール１１３０は、次の遠隔メディアセッションに関連する次のメディアピースへのナビゲート（例えばフリップ）を容易にする。情報領域１１５０は、遠隔メディアセッションが行われているデバイス（例えばJambox）についての情報を提供し、メディアの長さ（例えば2:43）およびメディア内での現在位置（例えば1:18）についての情報も提供する。ユーザインタフェース要素１１４０は、メディアの制御を容易にする。ユーザがコントロール１１３０を起動すると、別の遠隔メディアセッションによって再生されている別のメディアピースについて同様の提示を行うことができる。ユーザは、他のメディアセッションを制御しようとしているデバイス上でメディアセッションを実行させることができるので、１実施形態では、ローカルメディアセッションについての情報を提示することもできる。
【００１８】
[0028]  以下の詳細な説明の一部は、メモリ内のデータビットに対する動作のアルゴリズムおよび象徴的表現として与える。当業者は、これらのアルゴリズムの説明および表現を使用して、自分の業績の本質を他に伝える。アルゴリズムは、ある結果を生じる動作のシーケンスであると考えられる。これらの動作は、電子的な値の形態をとることがある物理量を作成および操作することを含むことがある。電子的な値の形態の物理量を作成または操作すると、具体的で、有形の、有用な現実世界の結果が生じる。
【００１９】
[0029]  ときには、主として一般使用の理由から、これらの信号を、ビット、値、要素、シンボル、文字、用語、数字、およびその他の用語で呼ぶと好都合であることが分かっている。ただし、上記の用語およびそれに類する用語は、適当な物理量に関連付けられるものであり、それらの量に付される単に好都合な標識に過ぎないことに留意されたい。特に指定がない限り、本明細書を通じて、処理、計算、および決定などの用語は、物理量（例えば電子的な値）として表現されるデータを操作および変換するコンピュータシステム、論理、プロセッサ、またはそれに類する電子デバイスのアクションおよびプロセスを指すことを理解されたい。
【００２０】
[0030]  例示的な方法は、流れ図を参照するとより良好に理解することができる。分かりやすいように、図示の方法論は、一連のブロックとして示して説明する。ただし、一部の実施形態では、これらのブロックは図示および説明する順序とは異なる順序で生じる可能性があるので、これらの方法論は、このブロックの順序に限定されない可能性がある。さらに、例示的な方法論を実施するのに、図示したブロックの一部のみしか必要でないこともある。ブロック同士を結合する、または複数の構成要素に分離することもできる。さらに、追加の、または代替の方法論では、図示しない追加のブロックを利用することもできる。
【００２１】
[0031]  図５は、遠隔メディアセッションを発見および制御する例示的な方法５００を示す図である。１実施形態では、方法５００は、ローカルコンピューティングデバイス上でシェルプロセスで実行することができる。１実施形態では、ローカルコンピューティングデバイスと、遠隔メディアセッションが発見された遠隔コンピューティングデバイスとは、同じコンピュータネットワークを使用している。ローカルコンピューティングデバイスおよび遠隔コンピューティングデバイスは同じコンピュータネットワークを使用することができるが、１実施形態では、これらのデバイスは異なるネットワーク上にあってもよい。１実施形態では、遠隔デバイスは、デジタルリビングネットワークアライアンス（DLNA（登録商標））デバイスであり、シェルプロセスは、ＤＬＮＡサービスと対話する。その他のタイプの汎用の、プロプライエタリの、または標準に準拠したデバイスおよびサービスを発見し、制御することもできる。
【００２２】
[0032]  方法５００は、５１０で、１つまたは複数の遠隔コンピューティングデバイス上で実行される１つまたは複数の遠隔メディアセッションを発見することを含む。１実施形態では、遠隔メディアセッションを発見することは、遠隔コンピューティングデバイス上で実行されるシェルプロセスと対話することを含む。遠隔メディアセッションを発見することは、遠隔メディアセッションについてのデータを取得することを含むこともある。遠隔メディアセッションについて取得されるデータは、メディアピースについてのデータ、メディアセッションについてのデータ、またはそのデータピースを再生するデバイスについてのデータである可能性がある。このデータは、そのメディアをメディアピースとして識別することもあるし、あるいはそのメディアに関連する状態を識別することもある。例えば、メディアとしてのメディアについてのデータは、メディアピースに関連するアート、そのメディアピースの名前、またはそのメディアピースの持続時間を含むことがある。メディアの状態についてのデータは、そのメディアピース内での現在位置、そのメディアピースが提示されている遠隔コンピューティングデバイス、またはその他の情報を含むことがある。１実施形態では、遠隔メディアセッションを発見することは、コンピュータネットワーク上の遠隔デバイスに関連するオペレーティングシステム上でのメディアセッションの登録を突き止めることを含む。
【００２３】
[0033]  方法５００は、５２０で、ローカルコンピューティングデバイス上にユーザインタフェースを提示することを含む。ユーザインタフェースは、５１０で発見された１つまたは複数の遠隔メディアセッションに関するデータを提示する。ユーザインタフェースは、１つまたは複数の遠隔メディアセッションを制御するための１つまたは複数のユーザインタフェース要素も含む。ユーザインタフェース要素は、例えば、開始要素、停止要素、音量要素、チャネル変更要素、帯域幅要素、またはその他の要素を含み得る。ユーザインタフェース要素は、ローカルコンピューティングデバイスに固有のものとすることができる。例えば、これらの要素上で実行されるアクション（例えばタップ、ダブルタップ、スワイプ）に関連するボタン、スライダ、メニュー、および事象を、デバイスのオペレーティングシステムまたはユーザインタフェースシステムによって提供することができる。方法５００は、これらの組込み要素および事象を使用する。１実施形態では、ユーザインタフェースは、これらの遠隔メディアセッション間で選択を行うナビゲーション要素を含む。ナビゲーション要素は、例えば、遠隔メディアセッションを順に切り換えるフリッパボタンである可能性もある。１実施形態では、特定のメディアセッションについて提示されるユーザインタフェース要素は、少なくとも部分的には、メディアのタイプによって決定される可能性がある。例えば、ビデオゲームは、一時停止コントロールおよび音量コントロールを有する可能性があるが、映画は、開始コントロール、停止コントロール、一時停止コントロール、順送りコントロール、巻戻しコントロール、高速コントロール、スローコントロール、字幕コントロール、および音量コントロールを有する可能性がある。
【００２４】
[0034]  方法５００は、５３０で、１つまたは複数の遠隔メディアセッションのメンバを制御するための入力を、ユーザインタフェースを通して受け取ることも含む。このメンバは、様々なタイプのメディアおよび様々なタイプのメディアプレイヤに関連する可能性がある。例えば、このメンバは、映画、ビデオゲーム、電子書籍、歌、ポッドキャスト、ウェビナ、またはその他のメディアに関連する可能性がある。さらに、このメンバは、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ゲームコンソール、またはその他のデバイスなどの遠隔デバイス上で再生される可能性もある。
【００２５】
[0035]  方法５００は、５４０で、少なくとも部分的には入力に基づいて、メンバを制御することも含む。１実施形態では、メンバを制御することは、遠隔コンピューティングデバイス上で実行されるシェルプロセスと対話することを含む。メンバを制御することは、メディアピースを開始すること、メディアピースを一時停止すること、メディアが再生される音量を変更すること、メディアに利用可能なフレームレートを変更すること、またはその他のアクションを含むことができる。
【００２６】
[0036]  図６は、方法５００の別の実施形態を示す図である。この実施形態は、追加のアクションを含む。例えば、この実施形態は、５１５で、ローカルコンピューティングデバイス上で実行される１つまたは複数のローカルメディアセッションを発見することを含む。ローカルメディアセッションに関するデータは、遠隔メディアセッションに関するデータと同様であることもある。ローカルメディアセッションが遠隔メディアセッションの後で発見されるものとして示しているが、ローカルメディアセッションは、遠隔メディアセッションより前に、または遠隔メディアセッションと並行して発見されることもある。したがって、１つまたは複数のローカルメディアセッションについてのデータが、５２０で表示されることがある。同様に、ローカルメディアセッションを制御するためのユーザインタフェース要素およびアクションは、遠隔メディアセッションの制御に関連するものと同様であることもある。したがって、５２０でユーザインタフェース要素を提示し、５３０で入力を受け取ることができる。
【００２７】
[0037]  方法５００のこの実施形態は、５４５で、少なくとも部分的には入力に基づいて、ローカルメディアセッションを制御することも含む。ローカルメディアセッションを制御することは、例えば、メディアピースを開始すること、メディアピースを停止すること、メディアが再生される音量を変更すること、メディアプレイヤのストリーミングレートを変更すること、またはその他のアクションを含むことができる。
【００２８】
[0038]  図５および図６は、様々なアクションが順番に起こるものとして示しているが、図５および図６に示す様々なアクションは、実質的に並行して起こってもよいことを理解されたい。例示を目的として、第１のプロセスは、メディアセッションの発見を制御することができ、第２のプロセスが、シェルに基づくユーザインタフェースの提示を制御して発見したメディアセッションについての情報を提示することができ、第３のプロセスは、メディアセッションの制御を容易にすることができる。３つのプロセスについて述べたが、利用することができるプロセスの数はこれより多くても少なくてもよいこと、ならびに軽量プロセス、普通のプロセス、スレッド、およびその他の手法を利用することもできることを理解されたい。
【００２９】
[0039]  １例では、方法は、コンピュータ実行可能命令として実装することができる。したがって、１例では、コンピュータ可読記憶媒体は、マシン（例えばコンピュータ、電話、タブレット）によって実行された場合に、方法５００を含む本明細書に記載または請求する方法をそのマシンに実行させるコンピュータ実行可能命令を記憶することができる。列挙する方法に関連する実行可能命令は、コンピュータ可読記憶媒体に記憶されるものとして述べているが、本明細書に記載または請求する他の例示的な方法に関連する実行可能命令もコンピュータ可読記憶媒体に記憶することができることを理解されたい。異なる実施形態では、本明細書に記載する例示的な方法は、異なる方法でトリガすることができる。１実施形態では、ユーザが手作業で方法をトリガすることができる。別の例では、自動的に方法をトリガすることもできる。
【００３０】
[0040]  図７は、例示的なクラウド動作環境７００を示す図である。クラウド動作環境７００は、独立した製品としてではなく、抽象的なサービスとして、送達、コンピューティング、処理、記憶、データ管理、適用、およびその他の機能をサポートする。サービスは、１つまたは複数のコンピューティングデバイス上に１つまたは複数のプロセスとして実装することができる仮想サーバによって提供することができる。いくつかの実施形態では、プロセスは、クラウドサービスを中断することなく、複数のサーバ間を移行することができる。クラウド内では、共有リソース（例えばコンピューティング、記憶）を、ネットワークを介して、サーバ、クライアント、モバイルデバイスなどのコンピュータに提供することができる。様々なネットワーク（例えばイーサネット（登録商標）、Wi-Fi、802.x、セルラ）を使用して、クラウドサービスにアクセスすることができる。クラウドと対話するユーザは、サービス（例えばコンピューティング、記憶）を実際に提供しているデバイスの詳細（例えば位置、名前、サーバ、データベース）を知らなくてもよいことがある。ユーザは、例えばウェブブラウザ、シンクライアント、モバイルアプリケーションを介して、またはその他の方法で、クラウドサービスにアクセスすることができる。
【００３１】
[0041]  図7は、クラウド７００内に存在する例示的な遠隔メディアセッションサービス７６０を示している。遠隔メディアセッションサービス７６０は、サーバ７０２またはサービス７０４に依拠して処理を実行することができ、データ記憶装置７０６またはデータベース７０８に依拠してデータを記憶することができる。単一のサーバ７０２、単一のサービス７０４、単一のデータ記憶装置７０６、および単一のデータベース７０８を示しているが、サーバ、サービス、データ記憶装置、およびデータベースの複数のインスタンスがクラウド７００内に存在することもでき、したがって、それらの複数のインスタンスを遠隔メディアセッションサービス７６０が使用することもできる。
【００３２】
[0042]  図７は、クラウド７００内の遠隔メディアセッションサービス７６０にアクセスする様々なデバイスを示している。これらのデバイスは、コンピュータ７１０、タブレット７２０、ラップトップコンピュータ７３０、デスクトップモニタ７７０、テレビ７６０、携帯情報端末７４０、およびモバイルデバイス（例えば携帯電話、衛星電話）７５０を含む。異なるデバイスを使用する異なる位置にいる異なるユーザが、異なるネットワークまたはインタフェースを介して遠隔メディアセッションサービス７６０にアクセスすることができる可能性もある。１例では、遠隔メディアセッションサービス７６０は、モバイルデバイス７５０からアクセスされることがある。別の例では、遠隔メディアセッションサービス７６０の一部分が、モバイルデバイス７５０上に存在することもある。遠隔メディアセッションサービス７６０は、例えば遠隔メディアセッションを発見する、発見した遠隔メディアセッションについての情報を表示するユーザインタフェースを提示する、遠隔メディアセッションを制御する、またはその他のアクションなどのアクションを実行することができる。１実施形態では、遠隔メディアセッションサービス７６０は、本明細書に記載する方法（例えば方法５００）の一部分を実行することができる。
【００３３】
[0043]  図８は、全体を８０２で示す様々な任意選択のハードウェアおよびソフトウェアの構成要素を含む、例示的なモバイルデバイス８００を示すシステム図である。モバイルデバイス８００の構成要素８０２は、他の構成要素と通信することができるが、説明を容易にするために、全ての接続を示しているわけではない。モバイルデバイス８００は、様々なコンピューティングデバイス（例えば携帯電話、スマートフォン、タブレット、ファブレット、手持ち型コンピュータ、携帯情報端末（PDA）など）とすることができ、セルラネットワークまたは衛星ネットワークなど１つまたは複数のモバイル通信ネットワーク８０４とのワイヤレス双方向通信を可能にすることができる。例示的な装置は、モバイルデバイス８００が他のデバイス（例えばタブレット、モニタ、キーボード）と対話し、それらの他のデバイスの遠隔メディアセッション制御を提供することができる可能性があると見込んで、処理能力、メモリ、および接続リソースをモバイルデバイス８００に集中させることができる。
【００３４】
[0044]  モバイルデバイス８００は、入力事象の取扱い、出力事象の生成、信号符号化、データ処理、入出力処理、電力制御、またはその他の機能などのタスクを実行する制御装置またはプロセッサ８１０（例えば信号プロセッサ、マイクロプロセッサ、特定用途向け集積回路（ASIC）、またはその他の制御および処理論理回路）を含むことができる。オペレーティングシステム８１２は、構成要素８０２の適用および使用を制御し、アプリケーションプログラム８１４をサポートすることができる。アプリケーションプログラム８１４は、メディアセッション、モバイルコンピューティングアプリケーション（例えば電子メールアプリケーション、カレンダ、コンタクトマネージャ、ウェブブラウザ、メッセージングアプリケーション）、ビデオゲーム、映画プレイヤ、テレビプレイヤ、生産性アプリケーション、またはその他のアプリケーションを含み得る。
【００３５】
[0045]  モバイルデバイス８００は、メモリ８２０を含むことができる。メモリ８２０は、取外し不能メモリ８２２または取外し可能メモリ８２４を含み得る。取外し不能メモリ８２２は、ランダムアクセスメモリ（RAM）、読取り専用メモリ（ROM）、フラッシュメモリ、ハードディスク、またはその他のメモリ記憶技術を含み得る。取外し可能メモリ８２４は、フラッシュメモリまたはＧＳＭ（登録商標）通信システムで既知の加入者同定モジュール（SIM）カード、あるいは「スマートカード」などその他のメモリ記憶技術を含み得る。メモリ８２０は、オペレーティングシステム８１２およびアプリケーション８１４を実行するデータまたは符号を記憶するために使用することができる。例示的なデータは、１つまたは複数の有線またはワイヤレスのネットワークを介して１つまたは複数のネットワークサーバまたはその他のデバイスに送信される、あるいはそれらのサーバまたはデバイスから受信される、遠隔メディアセッション識別子、遠隔メディアセッション属性、メディア識別子、メディア属性、制御事象データ、ウェブ・ページ、テキスト、画像、音声ファイル、ビデオデータ、またはその他のデータセットを含み得る。メモリ８２０は、国際携帯機器加入者識別番号（IMSI）などの加入者識別子、および国際携帯機器識別番号（IMEI）などの機器識別子を記憶することができる。これらの識別子をネットワークサーバに伝送して、ユーザまたは機器を識別することができる。メモリ８２０は、その後にユーザインタフェースで使用されるためにシェルに提供される可能性がある遠隔メディアセッション情報を記憶するのに十分である可能性がある。
【００３６】
[0046]  モバイルデバイス８００は、これらに限定されるわけではないが、タッチセンスおよびホバーセンスの両方であるスクリーン８３２、マイクロホン８３４、カメラ８３６、物理キーボード８３８、またはトラックボール８４０など、１つまたは複数の入力デバイス８３０をサポートすることができる。モバイルデバイス８００は、これらに限定されるわけではないが、スピーカ８５２およびディスプレイ８５４などの出力デバイス８５０もサポートすることができる。ディスプレイ８５４は、タッチセンスかつホバーセンスの入出力インタフェースに組み込むことができる。その他の可能な入力デバイス（図示せず）は、加速度計（例えば１次元、２次元、３次元）、ジャイロスコープ、温度計、気圧計、露出計、および騒音計を含む。その他の可能な出力デバイス（図示せず）は、圧電またはその他の触覚出力デバイスを含み得る。いくつかのデバイスは、複数の入出力機能を提供することができる。入力デバイス８３０は、ナチュラルユーザインタフェース（NUI）を含むことができる。ＮＵＩは、マウス、キーボード、および遠隔制御装置などの入力デバイスによって課される人工的な制約なしに、ユーザがデバイスと「自然に」対話することを可能にするインタフェース技術である。ＮＵＩ方法の例は、音声認識、タッチおよびスタイラス認識、ジェスチャ認識（スクリーン上およびスクリーン近傍の両方）、空中ジェスチャ、頭部および眼球トラッキング、ボイスおよびスピーチ、視覚、タッチ、ジェスチャ、ならびに機械知能などに依拠する方法を含む。ＮＵＩのその他の例は、全てより自然なインタフェースを提供するものである、加速度計／ジャイロスコープを用いたモーションジェスチャ検出、顔認証、３次元（3D）ディスプレイ、頭部、眼球および視線のトラッキング、没入型拡張現実および仮想現実システム、ならびに電場感知電極を用いて脳活動を感知する技術（脳電図（EEG）およびその関連方法）を含む。したがって、１つの具体例では、オペレーティングシステム８１２またはアプリケーション８１４は、ユーザがボイスコマンドを介してデバイス８００を操作することを可能にするボイスユーザインタフェースの一部として、音声認識ソフトウェアを含むことができる。さらに、デバイス８００は、出力アクションの制御に関連するタッチおよびホバージェスチャを検出して解釈するなど、ユーザの空間的ジェスチャを介したユーザ対話を可能にする入力デバイスおよびソフトウェアを含むことができる。
【００３７】
[0047]  ワイヤレスモデム８６０は、アンテナ８９１に結合することができる。いくつかの例では、無線周波数（RF）フィルタを使用し、プロセッサ８１０は、選択した周波数帯域用にアンテナ構成を選択する必要がない。ワイヤレスモデム８６０は、プロセッサ８１０と外部デバイスとの間の１方向または双方向の通信をサポートすることができる。これらの通信は、少なくとも部分的には遠隔メディアセッション論理８９９によって制御されるものとして提供されるメディアまたはメディアセッションデータに関する可能性がある。モデム８６０は、総称的に示してあり、モバイル通信ネットワーク８０４と通信するためのセルラモデムおよび／またはその他の無線式モデム（例えばBluetooth（登録商標）864またはWi-Fi862）を含み得る。ワイヤレスモデム８６０は、単一のセルラネットワーク内、複数のセルラネットワーク間、またはモバイルデバイスと公衆交換電話網（PSTN）との間のデータおよびボイス通信のための汎欧州デジタル移動電話方式（GSM）ネットワークなどの１つまたは複数のセルラネットワークと通信するように構成することができる。モバイルデバイス８００は、例えば近距離場通信（NFC）要素８９２を使用してローカルに通信することもできる。
【００３８】
[0048]  モバイルデバイス８００は、少なくとも１つの入出力ポート８８０、電源８８２、全地球測位システム（GPS）受信機などの衛星航法システム受信機８８４、加速度計８８６、あるいはユニバーサルシリアルバス（USB）ポート、ＩＥＥＥ１３９４（ファイヤワイヤ）ポート、ＲＳ−２３２ポートまたはその他のポートである可能性がある物理コネクタ８９０を含むことができる。図示の構成要素８０２は、必須のものではなく、また全てを網羅したものでもなく、他の構成要素を削除したり追加したりすることができる。
【００３９】
[0049]  モバイルデバイス８００は、モバイルデバイス８００の機能を提供し、遠隔メディアセッションと対話する機能を提供する遠隔メディアセッション論理８９９を含むことができる。例えば、遠隔メディアセッション論理８９９は、サービス（例えば図７のサービス７６０）と対話するクライアントを提供することができる。本明細書に記載する例示的な方法の一部分は、遠隔メディアセッション論理８９９によって実行することができる。同様に、遠隔メディアセッション論理８９９は、本明細書に記載する装置の一部分を実装することもできる。１実施形態では、遠隔メディアセッション論理８９９は、遠隔メディアセッションを検出し、その遠隔メディアセッションについての情報を取得し、ユーザインタフェース内にその情報を提示し、そのユーザインタフェースから入力を受け取り、その入力に基づいて遠隔メディアセッションを制御することができる。
【００４０】
[0050]  図９は、遠隔メディアセッションを発見して制御することができる装置９００を示す図である。装置９００は、例えば、スマートフォン、ラップトップ、タブレット、またはその他のコンピューティングデバイスとすることができる。１例では、装置９００は、プロセッサ９１０、メモリ９２０、論理セット９３０を接続する物理インタフェース９４０を含む。論理セット９３０は、遠隔メディアセッションの発見および制御を容易にすることができる。さらに一般的には、論理セット９３０は、他の装置上で実行されるメディアアプリケーションのインスタンスの発見および制御を容易にすることができる。装置９００の要素は、互いに通信するように構成することができるが、図示を分かりやすくするために、全ての接続を示してあるわけではない。
【００４１】
[0051]  装置９００は、装置９００とメディアアプリケーションのインスタンスが実行されている第２の装置との間の通信を行う第１の論理９３２を含むことができる。１実施形態では、第１の論理９３２は、装置９００とシェルプロセスを使用する第２の装置との間の通信を行う。シェルプロセスは、装置９００と第２の装置との間の実際の通信プロセスの抽象化を実現することができる。この抽象化により、開発者は、任意の特定のプロトコルへ符号化するのではなく、シェルおよび抽象化へ符号化すればよいので、符号化の複雑さの低減が促される。この抽象化は、例えば、遠隔インスタンスからデータを読み取る、および制御信号を遠隔インスタンスに提供するなどのアクションを定義することができる。
【００４２】
[0052]  装置９００は、インスタンスについての情報を取得する第２の論理９３４を含むことができる。インスタンスについての情報は、メディア項目、メディアセッション、メディアプレイヤ、または第２の装置を記述することができる。例えば、この情報は、インスタンスによって提示されているメディアの識別（例えば名前、ISBN、GUID）、インスタンスによって提示されているメディアのタイプ（例えば映画、書籍、ゲーム）、インスタンスによって提示されているメディアの持続時間、インスタンスによって提示されているメディア内の現在位置、およびメディアが再生されているデバイスのタイプ（例えばスマートフォン、タブレット、ゲームコンソール）を特定することができる。ＩＳＢＮは、国際標準図書番号を意味し、ＧＵＩＤは、グローバル一意識別子を意味する。
【００４３】
[0053]  装置９００は、インスタンスの抽象と対話するユーザインタフェースを提供するシェルプロセスを使用してインスタンスについてのデータを提示する第３の論理９３６を含むことができる。１実施形態では、第３の論理９３６は、装置９００にローカルなユーザインタフェース要素からユーザインタフェースを構築する。例えば、スマートフォンは、アプリケーションを制御するために使用されるタッチ事象の組込みセットを有することができる。スマートフォンは、複数の異なるアプリケーションで提示される要素（例えばボタン、スライダ、メニュー）の組込みセットも有することができる。タッチ事象は、ボタン上のタップ、ボタン上のダブルタップ、ピクチャ上のスプレッド、ピクチャ上のピンチ、スライダコントロールのスワイプ、またはその他のアクションを含み得る。第３の論理９３６によって提供されるユーザインタフェースは、スマートフォンに組み込まれた、または例えばスマートフォンのオペレーティングシステムによって提供されるユーザインタフェース要素および事象を使用することができる。組込みの要素、事象およびコントロールを使用することにより、装置９００の使用の学習時間が短縮され、遠隔制御機能を装置９００に追加するために必要なリソースの量が減少する。
【００４４】
[0054]  装置９００は、少なくとも部分的にはユーザインタフェースとの対話に基づいてインスタンスを制御する第４の論理９３８を含むことができる。異なるメディアプレイヤおよび異なるタイプのメディアは、異なる一意的な属性を有する可能性があるので、全てのメディアが、いくつかの属性およびアクションを共有する。例えば、全てのメディアは、長さ、および現在の視聴／聴取／読取り位置を有する。同様に、全てのメディアは、開始または停止することができる。したがって、１実施形態では、ユーザインタフェース要素は、開始機能、停止機能、音量機能、順送り機能、巻戻し機能、チャネル変更機能、または帯域幅制御機能を提供する。その他の機能を提供することもできる。１実施形態では、ユーザインタフェースは、メディアセッションに関連のある機能を表示するだけであることもある。
【００４５】
[0055]  装置９００は、ユーザが遠隔メディアセッションおよびローカルメディアセッションへのアクセス権を有し、より容易にメディアセッションを介して制御を実施することができるので、従来のシステムと比較して優れた結果をもたらすことができる。親は、デバイスを遠隔で制御することができる可能性があるので、音量を下げるように子供に言う必要がなくなる可能性がある。同様に、「帯域幅の管理人」であると見なされる人物が単一の位置から異なるメディアセッションに帯域幅を割り当てることができる可能性がある。例えば、ユーザは、視聴体験を１２００ｄｐｉから３００ｄｐｉに変化させる、またはフレームレートを変化させることができる。人は、複数の異なるマシン上の複数の異なるアプリケーションとの複数の異なるインタフェースを学習しなくても、提示を制御および調整することができる可能性がある。例えば、プレイプロデューサは、単一のデバイスから、全てその単一のデバイスに固有のインタフェースを使用して、いくつかのメディアプレイヤを全て同時に制御することができる可能性がある。例えば学校の教師にとって有用である可能性がある１実施形態では、装置９００は、遠隔メディアセッションのセットの全てでも同時に制御することができる可能性がある。例えば、教師は、ユーザインタフェースと１回対話して教室内の全てのメディアセッションを一時停止させ、命令を与え、次いでもう１回ユーザインタフェースと対話して全てのメディアセッションを再開することができる可能性がある。
【００４６】
[0056]  装置９００は、メモリ９２０を含むことができる。メモリ９２０は、取外し不能メモリまたは取外し可能メモリを含むことができる。取外し不能メモリは、ランダムアクセスメモリ（RAM）、読取り専用メモリ（ROM）、フラッシュメモリ、ハードディスク、またはその他のメモリ記憶技術を含み得る。取外し可能メモリは、フラッシュメモリ、または「スマートカード」などのその他のメモリ記憶技術を含み得る。メモリ９２０は、遠隔メディアセッションデータ、ユーザインタフェースデータ、制御データ、またはその他のデータを記憶するように構成することができる。
【００４７】
[0057]  装置９００は、プロセッサ９１０を含むことができる。プロセッサ９１０は、例えば、信号プロセッサ、マイクロプロセッサ、特定用途向け集積回路（ASIC）、あるいは信号符号化、データ処理、入出力処理、電力制御、またはその他の機能などのタスクを実行するその他の制御および処理論理回路とすることができる。
【００４８】
[0058]  １実施形態では、装置９００は、論理セット９３０を含めることによって特殊目的コンピュータに変形されている汎用コンピュータとすることができる。装置９００は、例えばコンピュータネットワークを介して、その他の装置、プロセス、およびサービスと対話することができる。
【００４９】
[0059]  １実施形態では、論理セット９３０に関連する機能は、少なくとも部分的には、これらに限定されるわけではないが、フィールドプログラマブルゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、特定用途向け標準品（ASSP）、システムオンチップシステム（SOC）、またはコンプレックスプログラマブルロジックデバイス（CPLD）などのハードウェア論理構成要素によって実行することができる。
【００５０】
[0060]  図１０は、装置９００の別の実施形態を示す図である。装置９００のこの実施形態は、装置９００上で実行されるメディアアプリケーションのローカルインスタンスについての情報を取得する第５の論理９３９を含む。ローカルインスタンスについての情報も利用可能である場合には、第３の論理９３６は、シェルプロセスを使用して、そのローカルインスタンスについてのデータも提示することができる。同様に、第４の論理９３８は、少なくとも部分的にはユーザインタフェースとの対話に基づいて、ローカルインスタンスを制御することができる。なお、これらのメディアセッションはリンクしていないこと、および装置９００は遠隔デバイスとメディア体験を共有していないことに留意されたい。装置９００は、単に、装置９００に固有のインタフェースを用いた複数のメディアセッションの遠隔制御を可能にしているだけである。
【００５１】
[0061]  特定の実施形態の態様
１実施形態では、装置は、プロセッサと、メモリと、論理セットとを含む。この装置は、プロセッサ、メモリ、および論理セットを接続する物理インタフェースを含むことができる。論理セットは、この装置と、メディアアプリケーションのインスタンスが実行されている第２の装置との間の通信を行う第１の論理を含む。論理セットは、インスタンスについての情報を取得する第２の論理も含む。インスタンスについての情報は、メディア項目、メディアプレイヤ、または第２の装置を記述することができる。論理セットは、インスタンスの抽象と対話するユーザインタフェースを提供するシェルプロセスを使用してインスタンスについてのデータを提示する第３の論理も含む。この装置は、少なくとも部分的にはユーザインタフェースとの対話に基づいてインスタンスを制御する第４の論理を含むこともできる。この装置は、この装置上で実行されるメディアアプリケーションのローカルインスタンスについての情報を取得する第５の論理を含むこともできる。ローカルインスタンスについての情報も利用可能である場合には、第３の論理は、シェルプロセスを使用して、ローカルインスタンスについてのデータも提示することができる。同様に、第４の論理は、少なくとも部分的にはユーザインタフェースとの対話に基づいて、ローカルインスタンスを制御することができる。
【００５２】
[0062]  別の実施形態では、システムは、スマートフォンおよびゲームコンソールを含む。このシステムでは、スマートフォン上で実行されるシェルプロセスは、ゲームコンソールに関連するメディアセッションを特定する。このシェルプロセスは、このメディアセッションを制御するためのグラフィカルユーザインタフェースも提示する。このグラフィカルユーザインタフェースは、スマートフォンにローカルなユーザインタフェース要素を含む。これらのユーザインタフェース要素は、ゲームコンソール上でそのメディアセッションに利用可能な機能に対応する。
【００５３】
[0063]  別の実施形態では、ローカルコンピューティングデバイス上で実行される方法は、遠隔コンピューティングデバイス上で実行される遠隔メディアセッションを発見することを含むことができる。遠隔メディアセッションを発見することは、その遠隔メディアセッションについての情報を取得することを含むことができる。ローカルメディアセッションも、発見することができる。この方法は、ローカルコンピューティングデバイス上にユーザインタフェースを提示することも含むことができる。ユーザインタフェースは、遠隔メディアセッションに関するデータと、その遠隔メディアセッションを制御するためのユーザインタフェース要素とを含む。この方法は、ユーザインタフェースを介して、遠隔メディアセッションを制御するための入力を受け取ることも含むことができる。入力が受信されると、この方法は、少なくとも部分的にはこの入力に基づいてメンバを制御することによって進行することができる。ローカルセッションも、制御することができる。
【００５４】
[0064]  定義
以下は、本明細書で利用される選択した用語の定義である。これらの定義は、用語の範囲内に含まれる、実装に使用することができる構成要素の様々な例または形態を含む。これらの例は、限定を目的としたものではない。用語の単数形および複数形は、両方とも定義に含まれ得る。
【００５５】
[0065]  「１実施形態」、「実施形態」、「１例」、および「例」に言及している場合、それは、そのように記載された１つまたは複数の実施形態あるいは１つまたは複数の例が、特定の機構、構造、特徴、特性、要素、または制限を含む可能性があるが、全ての実施形態または例が必ずしもその特定の機構、構造、特徴、特性、要素、または制限を含むとは限らないことを示している。さらに、「１実施形態では」という表現が繰り返し使用されているが、それは、同じ実施形態を指すこともあるが、必ずしも同じ実施形態を指しているとは限らない。
【００５６】
[0066]  本明細書で使用する「コンピュータ可読記憶媒体」は、命令またはデータを記憶する媒体を指す。「コンピュータ可読記憶媒体」は、伝搬される信号を指すことはない。コンピュータ可読記憶媒体は、これらに限定されるわけではないが、不揮発性媒体および揮発性媒体など、様々な形態を取り得る。不揮発性媒体は、例えば、光ディスク、磁気ディスク、磁気テープ、およびその他の媒体を含み得る。揮発性媒体は、例えば、半導体メモリ、ダイナミックメモリ、およびその他の媒体を含み得る。コンピュータ可読記憶媒体の一般的な形態は、これらに限定されるわけではないが、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、特定用途向け集積回路（ASIC）、コンパクトディスク（CD）、ランダムアクセスメモリ（RAM）、読取り専用メモリ（ROM）、メモリ・チップまたはカード、メモリスティック、およびコンピュータ、プロセッサ、またはその他の電子デバイスが読み取ることができるその他の媒体を含み得る。
【００５７】
[0067]  本明細書で使用する「データ記憶装置」は、データを記憶することができる物理的または論理的エンティティを指す。データ記憶装置は、例えば、データベース、テーブル、ファイル、リスト、キュー、ヒープ、メモリ、レジスタ、およびその他の物理的レポジトリであり得る。異なる例では、データ記憶装置は、１つの論理的または物理的エンティティ内に存在することもあるし、あるいは２つ以上の論理的または物理的エンティティ間に分散していることもある。
【００５８】
[0068]  本明細書で使用する「論理」は、これらに限定されるわけではないが、１つもしくは複数の機能または１つもしくは複数のアクションを実行する、あるいは別の論理、方法、またはシステムの機能またはアクションを引き起こす、ハードウェア、ファームウェア、マシン上で実行されているソフトウェア、またはそのそれぞれの組合せを含む。論理は、ソフトウェア制御型マイクロプロセッサ、離散論理（例えばASIC）、アナログ回路、デジタル回路、プログラム論理デバイス、命令を含むメモリデバイス、およびその他の物理デバイスを含み得る。論理は、１つまたは複数のゲート、ゲートの組合せ、あるいはその他の回路構成要素を含み得る。複数の論理的論理について述べている場合には、複数の論理的論理を１つの物理的論理に組み込むことができることもある。同様に、単一の論理的論理について述べている場合も、その単一の論理的論理を複数の物理的論理の間で分散させることができることもある。
【００５９】
[0069]  詳細な説明または特許請求の範囲において「含む」または「含み」という用語を利用している限りにおいては、それは、「備える」という用語が請求項において移行語として利用されるときに解釈されるのと同様に、包括的なものとして意図されている。
【００６０】
[0070]  詳細な説明または特許請求の範囲において「または」という用語を利用している限りにおいては（例えばAまたはBなど）、それは、「ＡまたはＢあるいはその両方」を意味するものとして意図されている。出願人が「ＡおよびＢの両方ではなくいずれか一方のみ」を示そうとするときには、「ＡおよびＢの両方ではなくいずれか一方のみ」という表現を利用する。したがって、本明細書で「または」という用語を使用しているのは、排他的な意味ではなく、包括的な意味である。Ｂｒｙａｎ  Ａ．Ｇａｒｎｅｒ、Ａ  Ｄｉｃｔｉｏｎａｒｙ  ｏｆ  Ｍｏｄｅｒｎ  Ｌｅｇａｌ  Ｕｓａｇｅ  ６２４（第2版、1995年）を参照されたい。
【００６１】
[0071]  主題について、構造的特徴および／または方法論的作用に特有の言語で説明したが、添付の特許請求の範囲で定義される主題は、必ずしも上述の特定の特徴または作用に限定されるわけではないことは理解されるであろう。限定的なものではなく、上述の特定の特徴および作用は、特許請求の範囲を実施する例示的な形態として開示されたものである。
【図１】
2017528818.tif 000003
【図２】
2017528818.tif 000004
【図３】
2017528818.tif 000005
【図４】
2017528818.tif 000006
【図５】
2017528818.tif 000007
【図６】
2017528818.tif 000008
【図７】
2017528818.tif 000009
【図８】
2017528818.tif 000010
【図９】
2017528818.tif 000011
【図１０】
2017528818.tif 000012
【図１１】
2017528818.tif 000013
【国際調査報告】
2017528818.tif 000014
2017528818.tif 000015
2017528818.tif 000016