(57)【要約】  仮想メディアレンダリングデバイスが、UPnP/DLNAなどの指定された共通のプロトコルのサポートがない物理メディアレンダリングデバイスのプロキシとして働く。仮想デバイスは、共通のプロトコルをサポートしないネットワーク上のメディアレンダリングデバイスが、仮想メディアレンダリングデバイスを通じて共通のメディアレンダリングプロトコルによってアクセス可能となり得るように、指定された共通のメディアレンダリング制御プロトコルに準拠する。共通のプロトコルを使用する仮想メディアレンダリングデバイスによって受信される要求は、プロキシされた物理メディアレンダリングデバイスによって使用されるメディアレンダリング制御プロトコルに変換される。仮想メディアレンダリングデバイスは、ネットワーク上の他のデバイスには、あたかも仮想メディアレンダリングデバイスが物理デバイスであるかのように見える。
2016536704.tif 000002
【特許請求の範囲】
【請求項１】
第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスのネットワーク上の存在を判断するステップと、
前記物理メディアレンダリングデバイスの前記存在を判断するステップに応答して、第2のメディアレンダリング制御プロトコルを使用する、前記物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するステップと、
前記仮想メディアレンダリングプロキシによって、前記第2のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信するステップと、
前記第1のアクション要求を、前記第1のメディアレンダリング制御プロトコルに準拠する第2のアクション要求に変換するステップと、
前記第2のアクション要求を、前記第1のメディアレンダリング制御プロトコルを使用する前記物理メディアレンダリングデバイスに送信するステップと
を含む、方法。
【請求項２】
前記物理メディアレンダリングデバイスの属性を判断するステップと、
前記属性に少なくとも一部基づいて、前記仮想メディアレンダリングプロキシの識別子を生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在しているかどうかを判断するステップと、
前記識別子を有する前記仮想メディアレンダリングプロキシが前記ネットワーク上に存在していると判断することに応答して、第2の仮想メディアレンダリングプロキシを作成しないと判断するステップと
をさらに含む、請求項2に記載の方法。
【請求項４】
前記第2のメディアレンダリング制御プロトコルが、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む、請求項1に記載の方法。
【請求項５】
前記第1のメディアレンダリング制御プロトコルによってサポートされないアクション要求を前記第2のメディアレンダリング制御プロトコルによって受信するステップと、
前記物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、前記アクション要求への応答を前記仮想メディアレンダリングプロキシによって判断するステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
第1の発見プロトコルの発見イベントに応答して前記物理メディアレンダリングデバイスの存在を判断するステップと、
前記仮想メディアレンダリングプロキシを作成することに応答して、第2の発見プロトコルを使用して前記仮想メディアレンダリングプロキシの前記存在を広告するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
前記物理メディアレンダリングデバイスが前記ネットワーク上にもはや存在していないと判断するステップと、
前記物理メディアレンダリングデバイスがもはや存在していないと判断するステップに応答して、前記仮想メディアレンダリングプロキシを取り除くステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
前記仮想メディアレンダリングプロキシによって受信されたアクション要求に応答して、前記アクション要求と関連するイベントレコードを記憶するステップ
をさらに含む、請求項1に記載の方法。
【請求項９】
前記仮想メディアレンダリングプロキシと関連するメディアレンダリングサービスを初期化するステップ
をさらに含み、
前記仮想メディアレンダリングプロキシによって前記第1のアクション要求を受信するステップが、前記メディアレンダリングサービスで前記第1のアクション要求を受信するステップを含む、請求項1に記載の方法。
【請求項１０】
プロセッサと、
仮想メディアレンダリングプロキシを作成し、
第1のメディアレンダリング制御プロトコルのための第1のプロトコルスタックによって、前記第1のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信し、
前記第1のアクション要求を、第2のメディアレンダリング制御プロトコルに準拠する第2のアクション要求に変換し、
前記第2のメディアレンダリング制御プロトコルのための第2のプロトコルスタックによって、前記第2のアクション要求を物理メディアレンダリングデバイスに送信する
ように構成された、前記プロセッサによって実行可能な仮想メディアレンダリングユニットと
を含む、装置。
【請求項１１】
前記プロセッサが、
ネットワーク上の前記物理メディアレンダリングデバイスの存在を判断し、
前記物理メディアレンダリングデバイスの前記存在を判断することに応答して、前記物理メディアレンダリングデバイスを表す前記仮想メディアレンダリングプロキシを作成する
ように構成された、請求項10に記載の装置。
【請求項１２】
前記プロセッサが、
前記物理メディアレンダリングデバイスの属性を判断し、
前記属性に少なくとも一部基づいて、前記仮想メディアレンダリングプロキシの識別子を生成する
ように構成された、請求項10に記載の装置。
【請求項１３】
前記プロセッサが、
前記識別子を有する前記仮想メディアレンダリングプロキシが、ネットワーク上に存在しているかどうかを判断し、
前記識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在していると判断することに応答して、第2の仮想メディアレンダリングプロキシを作成しないと判断する
ように構成された、請求項12に記載の装置。
【請求項１４】
前記第1のメディアレンダリング制御プロトコルが、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む、請求項10に記載の装置。
【請求項１５】
前記仮想メディアレンダリングユニットが、
前記第2のメディアレンダリング制御プロトコルによってサポートされないアクション要求を前記第1のプロトコルスタックによって受信し、
前記物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、前記アクション要求への応答を判断する
ようにさらに構成された、請求項10に記載の装置。
【請求項１６】
前記プロセッサが、
第1の発見プロトコルの発見イベントに応答して前記物理メディアレンダリングデバイスの存在を判断し、
第2の発見プロトコルを使用して前記仮想メディアレンダリングプロキシの前記存在を広告する
ようにさらに構成された、請求項10に記載の装置。
【請求項１７】
前記プロセッサが、
前記物理メディアレンダリングデバイスがネットワーク上にもはや存在していないと判断し、
前記物理メディアレンダリングデバイスがもはや存在していないと判断することに応答して、前記仮想メディアレンダリングプロキシを取り除く
ようにさらに構成された、請求項10に記載の装置。
【請求項１８】
前記仮想メディアレンダリングユニットが、
前記仮想メディアレンダリングユニットによって受信されたアクション要求に応答して、前記アクション要求と関連するイベントレコードを記憶する
ようにさらに構成された、請求項10に記載の装置。
【請求項１９】
実行されるときプロセッサに、
第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスのネットワーク上の存在を判断するステップと、
前記物理メディアレンダリングデバイスの前記存在を判断するステップに応答して、第2のメディアレンダリング制御プロトコルを使用する、前記物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するステップと、
前記仮想メディアレンダリングプロキシによって、前記第2のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信するステップと、
前記第1のアクション要求を、前記第1のメディアレンダリング制御プロトコルに準拠する第2のアクション要求に変換するステップと、
前記第2のアクション要求を、前記第1のメディアレンダリング制御プロトコルを使用する前記物理メディアレンダリングデバイスに送信するステップと
を含む動作を行わせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項２０】
前記動作が、
前記物理メディアレンダリングデバイスの属性を判断するステップと、
前記属性に少なくとも一部基づいて、前記仮想メディアレンダリングプロキシの識別子を生成するステップと
をさらに含む、請求項19に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記動作が、
前記識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在しているかどうかを判断するステップと、
前記識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在していると判断することに応答して、第2の仮想メディアレンダリングプロキシを作成しないと判断するステップと
をさらに含む、請求項20に記載のコンピュータ可読記憶媒体。
【請求項２２】
前記第2のメディアレンダリング制御プロトコルが、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む、請求項19に記載のコンピュータ可読記憶媒体。
【請求項２３】
前記動作が、
前記第1のメディアレンダリング制御プロトコルによってサポートされないアクション要求を前記第2のメディアレンダリング制御プロトコルによって受信するステップと、
前記物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、前記アクション要求への応答を前記仮想メディアレンダリングプロキシによって判断するステップと
をさらに含む、請求項19に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記動作が、
第1の発見プロトコルの発見イベントに応答して前記物理メディアレンダリングデバイスの存在を判断するステップと、
第2の発見プロトコルを使用して前記仮想メディアレンダリングプロキシの前記存在を広告するステップと
をさらに含む、請求項19に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記動作が、
前記物理メディアレンダリングデバイスが前記ネットワーク上にもはや存在していないと判断するステップと、
前記物理メディアレンダリングデバイスがもはや存在していないと判断するステップに応答して、前記仮想メディアレンダリングプロキシを取り除くステップと
をさらに含む、請求項19に記載のコンピュータ可読記憶媒体。
【請求項２６】
前記動作が、
前記仮想メディアレンダリングプロキシによって受信されたアクション要求に応答して、前記アクション要求と関連するイベントレコードを記憶するステップ
をさらに含む、請求項19に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記動作が、
前記仮想メディアレンダリングプロキシと関連するメディアレンダリングサービスを初期化するステップ
をさらに含み、
前記第1のアクション要求を前記仮想メディアレンダリングプロキシによって受信するステップが、前記第1のアクション要求を前記メディアレンダリングサービスで受信するステップを含む、請求項19に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、2013年9月4日に出願された米国出願第14/018,054号の優先権利益を主張する。
【０００２】
本発明の主題の実施形態は、概してメディアレンダリングデバイスの分野に関し、より詳細には、異なるネットワーキングプロトコルを使用する複数のメディアレンダリングデバイスを発見し、制御することに関する。
【背景技術】
【０００３】
ユニバーサルプラグアンドプレイ(Universal Plug and Play)/デジタルリビングネットワークアライアンス(Digital Living Network Alliance)(UPnP/DLNA)は、様々なメディアプレーヤまたはレンダラによって使用されるプロトコルであるが、OrbのCABプロトコル、AllJoyn、Wi-Fi Directなど、UPnP/DLNAに代わるいくつかの他のネットワーキングがある。ホームが、異なるメディアレンダリング制御プロトコルに準拠する異なる製造業者からの複数のメディアレンダリングデバイスを有する可能性がある場合が多い。たとえば、ネットワークは、Orbメディアプレーヤ、UPnP/DLNA対応のテレビ、ならびにプレーヤおよびテレビにコンテンツを供給するメディアサーバを含むことがある。そのような場合一般的には、メディアを再生するために、Orbメディアプレーヤに1つおよびUPnP/DLNA対応のテレビに1つというように、複数のメディアレンダリングコントローラが使用される。異なる制御プロトコルを使用するメディアレンダリングデバイスの数が増えるにつれて、使用する必要がある異なるメディアレンダリングコントローラの数により、ユーザがメディアレンダリングデバイスを操作することはますます難しく、実行不可能になる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
異なるネットワーキングプロトコルを使用する複数の物理メディアレンダリングデバイスを発見し、制御するための様々な実施形態が開示される。ホストデバイスが、ネットワーク上に物理メディアレンダリングデバイスの存在を判断することができ、物理メディアレンダリングデバイスは第1のメディアレンダリング制御プロトコルを使用する。物理メディアレンダリングデバイスの存在を判断することに応答して、ホストデバイスは、物理メディアレンダリングデバイスを表す仮想メディアレンダリングデバイスを作成する。仮想メディアレンダリングデバイスは、第2のメディアレンダリング制御プロトコルを使用する。第2のメディアレンダリング制御プロトコルは、複数の仮想メディアレンダリングデバイスにわたって共通のプロトコルであってもよい。仮想メディアレンダリングデバイスは、第2のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信することができる。仮想メディアレンダリングデバイスは、第1のアクション要求を第2のアクション要求に変換し、第2のアクション要求は、第1のメディアレンダリング制御プロトコルに準拠する。第2のアクション要求は、第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスに送信される。
【０００５】
いくつかの実施形態では、方法は、ネットワーク上に第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスの存在を判断するステップと、物理メディアレンダリングデバイスの存在を判断するステップに応答して、第2のメディアレンダリング制御プロトコルを使用する、物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するステップと、仮想メディアレンダリングプロキシによって、第2のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信するステップと、第1のアクション要求を、第1のメディアレンダリング制御プロトコルに準拠する第2のアクション要求に変換するステップと、第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスに第2のアクション要求を送信するステップとを含む。
【０００６】
いくつかの実施形態では、方法は、物理メディアレンダリングデバイスの属性を判断するステップと、属性に少なくとも一部基づいて、仮想メディアレンダリングプロキシのための識別子を生成するステップとをさらに含む。
【０００７】
いくつかの実施形態では、方法は、識別子を有する仮想メディアレンダリングプロキシがネットワーク上に存在しているかどうかを判断するステップと、識別子を有する仮想メディアレンダリングプロキシがネットワーク上に存在していると判断するステップに応答して、第2の仮想メディアレンダリングプロキシを作成しないと判断するステップとをさらに含む。
【０００８】
いくつかの実施形態では、第2のメディアレンダリング制御プロトコルは、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む。
【０００９】
いくつかの実施形態では、方法は、第1のメディアレンダリング制御プロトコルによってサポートされないアクション要求を第2のメディアレンダリング制御プロトコルによって受信するステップと、物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、アクション要求への応答を仮想メディアレンダリングプロキシによって判断するステップとをさらに含む。
【００１０】
いくつかの実施形態では、方法は、第1の発見プロトコルの発見イベントに応答して物理メディアレンダリングデバイスの存在を判断するステップと、仮想メディアレンダリングプロキシを作成するステップに応答して、第2の発見プロトコルを使用して仮想メディアレンダリングプロキシの存在を広告する(advertising)ステップとをさらに含む。
【００１１】
いくつかの実施形態では、方法は、物理メディアレンダリングデバイスがネットワーク上にもはや存在していないと判断するステップと、物理メディアレンダリングデバイスがもはや存在していないと判断するステップに応答して、仮想メディアレンダリングプロキシを取り除くステップとをさらに含む。
【００１２】
いくつかの実施形態では、方法は、仮想メディアレンダリングプロキシによって受信されたアクション要求に応答して、アクション要求と関連するイベントレコードを記憶するステップをさらに含む。
【００１３】
いくつかの実施形態では、方法は、仮想メディアレンダリングプロキシと関連するメディアレンダリングサービスを初期化するステップをさらに含み、仮想メディアレンダリングプロキシによって第1のアクション要求を受信するステップは、メディアレンダリングサービスで第1のアクション要求を受信するステップを含む。
【００１４】
いくつかの実施形態では、装置が、プロセッサと、プロセッサによって実行可能な仮想メディアレンダリングユニットとを含み、仮想メディアレンダリングユニットは、仮想メディアレンダリングプロキシを作成し、第1のメディアレンダリング制御プロトコルのための第1のプロトコルスタックによって、第1のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信し、第1のアクション要求を、第2のメディアレンダリング制御プロトコルに準拠する第2のアクション要求に変換し、第2のメディアレンダリング制御プロトコルのための第2のプロトコルスタックによって第2のアクション要求を物理メディアレンダリングデバイスに送信するように構成される。
【００１５】
いくつかの実施形態では、プロセッサは、ネットワーク上の物理メディアレンダリングデバイスの存在を判断し、物理メディアレンダリングデバイスの存在を判断することに応答して、物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するように構成される。
【００１６】
いくつかの実施形態では、プロセッサは、物理メディアレンダリングデバイスの属性を判断し、属性に少なくとも一部基づいて、仮想メディアレンダリングプロキシのための識別子を生成するように構成される。
【００１７】
いくつかの実施形態では、プロセッサは、識別子を有する仮想メディアレンダリングプロキシがネットワーク上に存在しているかどうかを判断し、識別子を有する仮想メディアレンダリングプロキシがネットワーク上に存在していると判断することに応答して、第2の仮想メディアレンダリングプロキシを作成しないと判断するように構成される。
【００１８】
いくつかの実施形態では、仮想メディアレンダリングユニットは、第2のメディアレンダリング制御プロトコルによってサポートされないアクション要求を第1のメディアレンダリング制御スタックによって受信し、物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、アクション要求への応答を判断するようにさらに構成される。
【００１９】
いくつかの実施形態では、プロセッサは、第1の発見プロトコルの発見イベントに応答して物理メディアレンダリングデバイスの存在を判断し、第2の発見プロトコルを使用して仮想メディアレンダリングプロキシの存在を広告するようにさらに構成される。
【００２０】
いくつかの実施形態では、プロセッサは、物理メディアレンダリングデバイスがネットワーク上にもはや存在していないと判断し、物理メディアレンダリングデバイスがもはや存在していないと判断することに応答して、仮想メディアレンダリングプロキシを取り除くようにさらに構成される。
【００２１】
いくつかの実施形態では、仮想メディアレンダリングユニットは、仮想メディアレンダリングユニットによって受信されたアクション要求に応答して、アクション要求と関連するイベントレコードを記憶するようにさらに構成される。
【００２２】
いくつかの実施形態では、実行されるときプロセッサに、第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスのネットワーク上の存在を判断するステップと、物理メディアレンダリングデバイスの存在を判断するステップに応答して、第2のメディアレンダリング制御プロトコルを使用する、物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するステップと、仮想メディアレンダリングプロキシによって、第2のメディアレンダリング制御プロトコルに準拠する第1のアクション要求を受信するステップと、第1のアクション要求を、第1のメディアレンダリング制御プロトコルに準拠する第2のアクション要求に変換するステップと、第2のアクション要求を、第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスに送信するステップとを含む動作を行わせる命令を記憶したコンピュータ可読記憶媒体。
【００２３】
いくつかの実施形態では、動作は、物理メディアレンダリングデバイスの属性を判断するステップと、属性に少なくとも一部基づいて、仮想メディアレンダリングプロキシのための識別子を生成するステップとをさらに含む。
【００２４】
いくつかの実施形態では、動作は、識別子を有する仮想メディアレンダリングプロキシがネットワーク上に存在しているかどうかを判断するステップと、識別子を有する仮想メディアレンダリングプロキシがネットワーク上に存在していると判断するステップに応答して、第2の仮想メディアレンダリングプロキシを作成しないと判断するステップとをさらに含む。
【００２５】
いくつかの実施形態では、第2のメディアレンダリング制御プロトコルは、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む。
【００２６】
いくつかの実施形態では、動作は、第1のメディアレンダリング制御プロトコルによってサポートされないアクション要求を第2のメディアレンダリング制御プロトコルによって受信するステップと、物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、アクション要求への応答を仮想メディアレンダリングプロキシによって判断するステップとをさらに含む。
【００２７】
いくつかの実施形態では、動作は、第1の発見プロトコルの発見イベントに応答して物理メディアレンダリングデバイスの存在を判断するステップと、第2の発見プロトコルを使用して仮想メディアレンダリングプロキシの存在を広告するステップとをさらに含む。
【００２８】
いくつかの実施形態では、動作は、物理メディアレンダリングデバイスがネットワーク上にもはや存在していないと判断するステップと、物理メディアレンダリングデバイスがもはや存在していないと判断するステップに応答して、仮想メディアレンダリングプロキシを取り除くステップとをさらに含む。
【００２９】
いくつかの実施形態では、動作は、仮想メディアレンダリングプロキシによって受信されたアクション要求に応答して、アクション要求と関連するイベントレコードを記憶するステップをさらに含む。
【００３０】
いくつかの実施形態では、動作は、仮想メディアレンダリングプロキシと関連するメディアレンダリングサービスを初期化するステップさらに含み、第1のアクション要求を仮想メディアレンダリングプロキシによって受信するステップは、第1のアクション要求をメディアレンダリングサービスで受信するステップを含む。
【００３１】
添付の図面を参照することによって、本実施形態はより良く理解され、多くの目的、特徴、および利点が当業者に明らかにされよう。
【図面の簡単な説明】
【００３２】
【図１】異なるネットワーキングプロトコルを使用する複数の物理メディアレンダリングデバイスを発見し、制御するためのシステムのブロック図である。
【図２】仮想メディアレンダリングデバイスを実装するホストデバイスのさらなる詳細を提供するブロック図である。
【図３】異なるネットワーキングプロトコルを使用する複数の物理メディアレンダリングデバイスを発見し、制御するための方法を示すフローチャートである。
【図４】仮想メディアレンダリングデバイスに識別子を割り当てるための方法を示すフローチャートである。
【図５】仮想メディアデバイスを作成するための方法を示すフローチャートである。
【図６】仮想メディアレンダリングデバイスでアクション要求を処理するための方法を示すフローチャートである。
【図７】仮想メディアレンダリングデバイスを実装するための電子デバイスの一実施形態の例示のブロック図である。
【発明を実施するための形態】
【００３３】
続く説明は、本発明の主題の技法を具体化する例示的なシステム、方法、技法、命令シーケンス、およびコンピュータプログラム製品を含む。しかしながら、記載された実施形態は、これらの特定の詳細なしで実践され得ることは理解される。たとえば、例は、仮想メディアレンダリングデバイスによって共通して使用されるメディアレンダリング制御プロトコルとしてUPnP/DLNAの使用に言及するが、他のプロトコルが共通のプロトコルとして使用されてもよい。他の例では、説明を不明瞭にしないために、よく知られている命令インスタンス、プロトコル、構造、および技法は、詳細に示されていない。
【００３４】
いくつかの実施形態では、仮想メディアレンダリングデバイスが、ネットワークで共通のプロトコルをサポートしない物理メディアレンダリングデバイスのためのプロキシとして実装され得る。仮想メディアレンダリングデバイスが、仮想メディアレンダリングプロキシと呼ばれることもある。本明細書で使用する「共通のプロトコル」とは、ホストデバイス上に作成された、いくつかの仮想メディアレンダリングデバイスにわたって使用され得るプロトコルである。複数の仮想メディアレンダリングデバイスにわたって使用され得る共通のプロトコルの例は、UPnP/DLNAである。仮想メディアレンダリングデバイスは共通のプロトコルに準拠し、共通のプロトコルをサポートしないプロキシされた物理メディアレンダリングデバイスの代わりに共通のプロトコルを使用してアクション要求を受信することができる。共通のプロトコルを使用する仮想メディアレンダリングデバイスによって受信されたアクション要求は、プロキシされた物理メディアレンダリングデバイスによって使用されるメディアレンダリング制御プロトコルに準拠するアクション要求に変換され得る。たとえば、仮想メディアレンダリングデバイスが、UPnP/DLNAプロトコルに準拠し、OrbメディアプレーヤまたはAllJoyn対応のメディアプレーヤのプロキシとして機能することがある。仮想メディアレンダリングデバイスは、仮想メディアレンダリングユニットによって実装されてもよい。仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットが、仮想メディアレンダリングデバイスをサポートする動作を行うと同時に、仮想メディアレンダリングデバイスが、システムの他の構成要素へのインターフェースを提供することができる。たとえば、UPnP/DLNAプロトコルに準拠する仮想メディアレンダリングデバイスが、要求を受信することがある。仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットは、要求を、プロキシされた物理メディアレンダリングデバイスによってサポートされるプロトコル(たとえば、OrbプロトコルまたはAllJoynプロトコル)に変換し、変換された要求をプロキシされた物理メディアレンダリングデバイスに送信することができる。
【００３５】
さらに、仮想メディアレンダリングデバイスは、発見プロトコルをサポートすることができる。発見プロトコルは、共通のプロトコルによってサポートされ得る。あるいは、発見プロトコルは、共通のプロトコルとは別個のプロトコルであってもよい。仮想メディアレンダリングデバイスは、ネットワーク上のその存在をアナウンスする、または発見プロトコルを使用して発見要求に応答することができる。したがって仮想メディアレンダリングデバイスは、ネットワーク上の他のデバイスおよびメディアレンダリングコントローラには、あたかもそれが物理メディアレンダリングデバイスであるかのように見える。
【００３６】
指定された共通のメディアレンダリング制御プロトコルに準拠するメディアレンダリングコントローラは、そうでなければメディアレンダリングコントローラが発見するまたは制御することができない物理メディアレンダリングデバイスを(仮想メディアレンダリングデバイスを通じて)発見することも、制御することもできる。共通のプロトコルをサポートしない複数の物理メディアレンダリングデバイスがネットワーク上に存在する場合、物理メディアレンダリングデバイスのプロキシとして複数の仮想メディアレンダリングデバイスが作成され得る。共通のプロトコルをサポートするメディアレンダリングコントローラが、それらのそれぞれの仮想メディアレンダリングデバイスを通じて物理メディアレンダリングデバイスを制御することができる。
【００３７】
図1は、異なるメディアレンダリング制御プロトコルを使用する複数の物理メディアレンダリングデバイスを発見し、制御するためのシステム100のブロック図である。いくつかの実施形態では、システム100は、ホストデバイス102と、1つまたは複数の物理メディアレンダリングデバイス(たとえば、物理メディアレンダリングデバイスA 106、物理メディアレンダリングデバイスB 108、および物理メディアレンダリングデバイスC 110)と、メディアレンダリングデバイスコントローラ104とを含む。ホストデバイス102、メディアレンダリングデバイスコントローラ104、および1つまたは複数の物理メディアレンダリングデバイスは、ネットワーク112を介して通信可能に結合され得る。ネットワーク112は、いかなるタイプの有線もしくはワイヤレスネットワーク、またはそれらの組合せであってもよい。ワイヤレスネットワークの例には、WLAN、BLUETOOTH(登録商標)(ブルートゥース)、WiMAX、ZigBee(登録商標)などが含まれる。有線ネットワークの例には、Ethernet(登録商標)および電力線通信ネットワークが含まれる。本明細書に記載する実施形態は、いかなる特定の有線またはワイヤレスネットワークタイプにも限定されず、さらに特定のサイズまたは地理的領域のネットワークに限定されない。
【００３８】
物理メディアレンダリングデバイスA 106、B 108、およびC 110は、オーディオメディア、ビデオメディア、またはオーディオとビデオの両方のメディアをレンダリングするデバイスであり得る。物理メディアレンダリングデバイスが、物理メディアプレーヤと呼ばれることもある。一般的に言えば、物理メディアレンダリングデバイスは、オーディオまたはビデオシステムに結合され得るネットワーク接続デバイスとすることができ、物理メディアレンダリングデバイスに結合されたオーディオまたはビデオシステム上のネットワークアクセス可能記憶デバイスに記憶されたオーディオまたはビデオコンテンツをレンダリング(再生)する。図1に示す例示のシステムでは、物理メディアレンダリングデバイスA 106、B 108、およびC 110は、異なるメディアレンダリング制御プロトコルをそれぞれ実装し得る。たとえば、物理メディアレンダリングデバイスA 106は、Orb CABプロトコルを実装するOrbプレーヤであることがある。物理メディアレンダリングデバイスB 108は、AllJoynプロトコルを実装することがある。物理メディアレンダリングデバイスC 110は、UPnP/DLNAプロトコルを実装することがある。特定のメディアレンダリング制御プロトコルは、例として提供され、本明細書に記載する実施形態は、いかなる特定のメディアレンダリング制御プロトコルにも限定されず、様々な実施形態は、現在知られているまたは将来開発されるいくつかの利用可能なメディアレンダリング制御プロトコルのいずれかを実装することができる。
【００３９】
図1に示す例示のシステムは、3つの物理メディアレンダリングデバイスを示すが、実施形態は、いかなる特定の数の物理メディアレンダリングデバイスにも限定されない。システムが、より少ない物理メディアレンダリングデバイスを含むことがある、またはシステムが、より多い物理メディアレンダリングデバイスを含むことがある。
【００４０】
メディアレンダリングデバイスコントローラ104は、物理メディアレンダリングデバイスを制御する制御ソフトウェアおよび/またはハードウェアを含むことができる。メディアレンダリングデバイスコントローラ104は、モバイルフォン、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどの様々なデバイスのいずれかに実装され得る。メディアレンダリングデバイスコントローラ104は、物理メディアレンダリングデバイスを通じてユーザが、再生されるメディアを選択する、再生を開始する、再生を停止する、再生を一時停止する、巻戻す、早送りする、メディアの始めまたは終わりへスキップする、記録する、取出す、シャッフルする、再生を繰返す、音量を調節するなどを可能にするユーザインターフェースを提供することができる。図1に示す例では、メディアレンダリングデバイスコントローラ104は、メディアレンダリング制御プロトコルCを実装することができ、したがって物理メディアレンダリングデバイスC 110に対応することができる。物理メディアレンダリングデバイスA 106および物理メディアレンダリングデバイスB 108は、メディアレンダリングデバイスコントローラ104によって実装されるものとは異なるプロトコル(たとえば、プロトコルAおよびプロトコルB)を実装し得るので、メディアレンダリングデバイスコントローラ104は、物理メディアレンダリングデバイス106および108を直接制御することができない可能性がある。さらに、物理メディアレンダリングデバイス106および108によって使用されるプロトコルは、メディアレンダリングデバイスコントローラ104とは異なる可能性があるので、メディアレンダリングデバイスコントローラ104は、物理メディアレンダリングデバイス106および108を発見できない可能性があり、したがって、ネットワーク上の物理メディアレンダリングデバイス106および108の存在に気づかない可能性がある。
【００４１】
ホストデバイス102は、いかなるタイプのネットワーク対応コンピューティングデバイスであってもよい。そのようなデバイスの例には、モバイルフォン、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどが含まれる。いくつかの実施形態では、ホストデバイス102は、仮想メディアレンダリングデバイスを実装するソフトウェア、ファームウェア、または埋め込みロジックを含む仮想メディアレンダリングユニットを含むことができる。仮想メディアレンダリングデバイスが、物理メディアレンダリングデバイスのプロキシとして使用されてもよい。いくつかの実施形態では、仮想メディアレンダリングデバイスは、(本明細書では「共通のプロトコル」とも呼ばれる)共通のメディアレンダリングプロトコルでコマンドおよびデータを受け入れ、コマンドおよびデータを、仮想メディアレンダリングデバイスによってプロキシされる(すなわち、表される)物理メディアレンダリングデバイスによってサポートされるプロトコルに変換することができる。図1に示す例では、プロトコルCが共通のプロトコルであり得る。ホストデバイス102は、2つの仮想メディアレンダリングデバイスを提供することができ、仮想メディアレンダリングユニットA 114が仮想メディアレンダリングデバイスA 124を実装し、仮想メディアレンダリングユニットB 116が仮想メディアレンダリングデバイスB 126を実装する。仮想メディアレンダリングユニットA 114は、物理メディアレンダリングデバイスA 106を表すプロキシとして仮想メディアレンダリングデバイス124を実装することができる。仮想メディアレンダリングユニットA 114は、共通のプロトコル(この例では、プロトコルC)を使用してメディアレンダリングデバイスコントローラ104と通信し、メディアレンダリングデバイスコントローラ104から受信されるコマンドおよびデータを、物理メディアレンダリングデバイスA 106によってサポートされるプロトコルAに準拠するコマンドおよびデータに変換することができる。仮想メディアレンダリングユニットB 116は、物理メディアレンダリングデバイスB 108を表すプロキシとして仮想メディアレンダリングデバイス126を実装することができる。仮想メディアレンダリングユニットB 116は、共通のプロトコルを使用してメディアレンダリングデバイスコントローラ104と通信し、メディアレンダリングデバイスコントローラ104から受信されるコマンドおよびデータを、物理メディアレンダリングデバイスB 108によってサポートされるプロトコルBに準拠するコマンドおよびデータに変換することができる。仮想メディアレンダリングデバイス124および126は、点線で示され、仮想メディアレンダリングデバイスはネットワーク上の他のデバイスには物理デバイスであるように見え、ネットワークの他のデバイスによって発見可能であるが、実際にはそれらは物理デバイスではなく、ホストデバイス102および仮想メディアレンダリングユニット114および116によって実装される仮想デバイスであることを表す。したがって、いくつかの実施形態では、共通のプロトコルをサポートするメディアレンダリングデバイスコントローラが、共通のプロトコルをサポートしない物理メディアレンダリングデバイスを、物理メディアレンダリングデバイスのプロキシである仮想メディアレンダリングデバイスを通じて制御することができる。
【００４２】
いくつかの実施形態では、ホストデバイス102が、共通のプロトコルをサポートしない物理メディアレンダリングデバイスを発見することに応答して、仮想メディアレンダリングデバイスを作成することができる。たとえば、ホストデバイス102は、AllJoynデバイスがネットワーク112に通信可能に結合されたことを発見することがある。それに応答して、ホストデバイス102は、AllJoynデバイスをプロキシするために、仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットを初期化することができる。いくつかの実施形態では、仮想メディアレンダリングユニットが、1つの物理メディアレンダリングデバイスをプロキシする1つの仮想メディアレンダリングデバイスを実装することがある。代替的な実施形態では、仮想メディアレンダリングユニットが、同じプロトコルの複数の物理メディアレンダリングデバイスをプロキシするために複数の仮想メディアレンダリングデバイスを実装することがある。たとえば、仮想メディアレンダリングユニットが、AllJoynプロトコルをそれぞれサポートする複数の物理メディアレンダリングデバイスのプロキシである複数の仮想メディアレンダリングデバイスを実装することがある。さらなる代替的な実施形態では、仮想メディアレンダリングユニットが、複数のプロトコルをサポートする複数の仮想メディアレンダリングデバイスを実装することがある。
【００４３】
図2は、仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットを含むホストデバイス102のさらなる詳細を提供するブロック図である。いくつかの実施形態では、ホストデバイス102は、様々なメディアレンダリング制御プロトコルのためのプロトコルスタックを含むことができる。図2に示す例では、ホストデバイス102は、メディアレンダリングプロトコルAスタック204、メディアレンダリングプロトコルBスタック206、およびメディアレンダリングプロトコルCスタック208を含むことができる。ピア構成要素(たとえば、メディアレンダリングデバイスコントローラ104、物理メディアレンダリングデバイスA 106、および物理メディアレンダリングデバイスB 108)が、コマンドおよびデータを受信し、コマンドおよびデータを正しく解釈するように、メディアレンダリング制御プロトコルスタック204、206、および208のそれぞれは、ホストデバイス102がピア構成要素とコマンドおよびデータを通信できるようにする機能を含むことができる。上記のように、メディアレンダリング制御プロトコルスタックは、Orb CABプロトコル、AllJoynプロトコル、UPnP/DLNAプロトコル、または現在知られているもしくは将来開発される他のメディアレンダリング制御プロトコルを実装することができる。いくつかの実施形態では、ホストデバイス102で提供されるメディアレンダリング制御プロトコルスタックの1つが、ホストデバイス102に存在し得る1つまたは複数の仮想メディアレンダリングデバイスにわたってサポートされ得る共通のプロトコルスタックとなり得る。図2に示す例では、メディアレンダリング制御プロトコルCが、共通のメディアレンダリング制御プロトコルである。いくつかの実装形態では、UPnP/DLNAプロトコルは、共通のメディアレンダリング制御プロトコルであり得る。共通のメディアレンダリング制御プロトコルは、様々な異なるメディアレンダリングデバイスコントローラおよび他のピアデバイスによってサポートされ得るプロトコルを含むことが望ましい。
【００４４】
一般的に言えば、メディアレンダリング制御プロトコルスタック204、206、および208は、メディアレンダリングデバイスコントローラが、物理メディアレンダリングデバイスを制御するためのコマンドおよびデータを発行し、物理メディアレンダリングデバイスからコマンドおよびデータへの応答を受信することができる通信プロトコルを実装する。例として、メディアレンダリング制御プロトコルは、オーディオまたはビデオデータのソース場所を提供し、物理メディアレンダリングデバイスにデータを検索させるコマンドおよびデータ構造を定義することができる。さらに、他のコマンドおよびデータ構造が、物理メディアレンダリングデバイスに伝えられるとき、物理メディアレンダリングデバイスに再生の開始、再生の停止、再生の一時停止、巻戻し、早送り、メディアの始めまたは終わりへのスキップ、記録、取出し、シャッフル、再生の繰返し、音量調節などをさせることができる。
【００４５】
さらに、メディアレンダリング制御プロトコルスタックは、デバイス発見プロトコルを実装することができる。したがっていくつかの実施形態では、ホストデバイス102は、現在ネットワーク上にどのデバイスがあるかを知るために、ホストデバイス102でサポートされるプロトコルを求めてデバイス発見プロトコルを使用することができる。共通のメディアレンダリング制御プロトコルを実装していない物理メディアレンダリングデバイスを発見することに応答して、ホストデバイス102が、物理メディアレンダリングデバイスのプロキシとして機能するための仮想メディアレンダリングデバイスを作成することができる。いくつかの実施形態では、仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットは、1つまたは複数のメディアレンダリングサービスを含むことがある。そのようなサービスの例には、トランスポートサービス、レンダリング制御サービス、および接続マネージャサービスが含まれる。レンダリング制御サービスは、物理メディアレンダリングデバイスが入ってくるコンテンツをレンダリングする方法を指定するアクションのセットを提供することができる。これは、明るさ、コントラスト、音量、ミュートなどの特性をレンダリングすることを含む。レンダリング制御サービスは、物理メディアレンダリングデバイスが1つまたは複数のコンテンツアイテムを「混ぜ合わせる(mix together)」方法を指定するアクション(たとえば、TVまたはオーディオミキサでのピクチャインピクチャ(Picture-in-Picture)ウィンドウ)を提供することもできる。トランスポートサービスは、物理メディアレンダリングデバイスにコンテンツのフローを制御させることができるアクションを指定することができる。たとえば、トランスポートサービスが、物理メディアレンダリングデバイスに再生の開始、再生の停止、一時停止、シークなどをさせるコマンドを指定することができる。接続マネージャサービスは、物理メディアレンダリングデバイスに関する情報を要求者に提供するアクションを実装することができる。そのような情報は、物理メディアレンダリングデバイスがサポートする転送またはデータプロトコル(たとえば、WMA、MP3、AVIなど)を含むことができる。
【００４６】
ホストデバイス102は、イベントレコーディングユニット210を任意選択で含むことができる。イベントレコーディングユニット210は、ホストデバイス102上にインスタンス化された仮想メディアレンダリングユニットから様々なイベントを受信することができる。そのようなイベントの例には、コンテンツイベント、再生イベント、一時停止イベントなどの選択が含まれる。イベントレコーディングユニット210は、分析のために、イベントに関連するデータ(たとえば、コンテンツのタイトル、再生の継続時間など)を記憶することができる。分析は、ホストデバイス102上で行われることがある。あるいは、イベントデータは、分析のために別のシステムに転送されることがある。いくつかの実施形態では、複数の仮想メディアレンダリングユニットからのイベントデータは、ネットワーク上の1人または複数のユーザによるオーディオおよびビデオコンテンツの使用のより完全な状況把握(picture)が行われ得るように、集約されることがある。たとえば、いくつかの物理メディアレンダリングデバイスがネットワーク上に存在し、これらの物理メディアレンダリングデバイスは、共通のプロトコルをサポートしないと仮定する。ホストデバイス102は、物理メディアレンダリングデバイスのプロキシとして仮想メディアレンダリングユニットを作成することができる。物理メディアレンダリングデバイス上のコンテンツを再生する要求が仮想メディアレンダリングデバイスによって受信されると、再生されるよう要求されたオーディオまたはビデオコンテンツのタイトルを含むイベントデータが、イベントレコーディングユニット210によって記録され得る。物理メディアレンダリングデバイスによって再生されるタイトルのイベントデータは、全体としてネットワークで再生されるタイトルの分析を提供するために、仮想メディアレンダリングユニットによって報告されるイベントに基づいて集約され得る。例として、集約されたデータは、ホームネットワーク環境で再生されるコンテンツのタイプに基づいて、推奨される新しいコンテンツまたはターゲット広告を提供するシステムにおいて役立つことがある。
【００４７】
ホストデバイス102の動作についてのさらなる詳細は、図3〜図6に関して以下に提供する。
【００４８】
図3は、異なるメディアレンダリング制御プロトコルを使用する複数の物理メディアレンダリングデバイスを発見し、制御するための方法300を示すフローチャートである。方法300は、ネットワーク上の物理メディアレンダリングデバイスの存在を判断するブロック302から始まり、この物理メディアレンダリングデバイスは、指定されたメディアレンダリング制御共通プロトコル(上記の図1および図2で提供した例ではプロトコルC)ではないメディアレンダリング制御プロトコルを使用する。ホストデバイス102は、物理メディアレンダリングデバイスの存在を判断するために、ホストデバイス102に実装されている様々なプロトコルスタックに対して発見プロトコルを使用することができる。場合によっては、発見プロトコルは、ホストデバイス102が、物理メディアレンダリングデバイスに電力が加えられるときに、または定期的な間隔で、物理メディアレンダリングデバイスによって提供され得るデバイス存在アナウンスメントをネットワーク上でリッスンすることを指定することができる。代替的な場合には、発見プロトコルは、どの物理メディアレンダリングデバイスがネットワーク上に存在している可能性があるかを判断するためにホストデバイス102がネットワークにポーリングすることを指定することができる。さらなる場合には、ホストデバイス102は、ネットワーク上にどの物理メディアレンダリングデバイスが存在している可能性があるかを示す構成データを受信することができる。
【００４９】
ブロック304において、ホストデバイス102は、ブロック302で発見された物理メディアレンダリングデバイスのプロキシである仮想メディアレンダリングデバイスを作成することができる。作成されたことおよび新しく作成された仮想メディアレンダリングデバイスを利用できることとは、発見プロトコルを使用してネットワーク上でアナウンスされ得る。発見プロトコルは、共通のプロトコルによってサポートされることがある、または発見プロトコルは、共通のプロトコルとは別個のプロトコルであることがある。ネットワーク上の他のデバイスの観点から、新しく作成された仮想メディアレンダリングデバイスは、指定された共通のメディアレンダリング制御プロトコルをサポートする物理メディアレンダリングデバイスのように見える。
【００５０】
ブロック306において、ホストデバイス102は、ブロック304において作成された仮想メディアレンダリングデバイスと関連する1つまたは複数のメディアレンダリングサービスを任意選択で初期化することができる。たとえば、ホストデバイス102は、トランスポートサービス、接続マネージャサービス、およびレンダリング制御サービスを初期化することができる。そのようなサービスの初期化および初期化するサービスの選択は、共通のプロトコルとして選択されるメディアレンダリング制御プロトコルによって決まることがある。
【００５１】
ブロック308において、仮想メディアレンダリングデバイスは、共通のプロトコルスタックによってアクション要求を受信することができる。上記のように、アクション要求は、ソースからオーディオまたはビデオコンテンツを取得する、コンテンツを再生する、コンテンツの再生を停止する、早送りする、スキップする、巻戻すなどの要求であり得る。
【００５２】
ブロック310において、仮想デバイスを実装する仮想メディアレンダリングユニットは、共通のプロトコルスタックによって受信されたアクション要求を、仮想メディアレンダリングデバイスによってプロキシされている物理メディアレンダリングデバイスによって使用されるメディアレンダリング制御プロトコルに準拠するアクション要求に変換することができる。いくつかの実施形態では、変換は、ラッパー関数を使用して行われ得る。たとえば、仮想メディアレンダリングユニットと関連するトランスポートサービスは、呼び出されるとき、物理メディアレンダリングデバイスが関数と関連するアクションを行う(たとえば、再生を開始する、再生を停止する、早送りする、スキップするなど)ことを要求する関数を提供することができる。ラッパー関数を使用した実装形態では、ラッパー関数は、共通のメディアレンダリング制御プロトコルのためのプロトコルスタックによってアクション要求を受信することに応答して呼び出され得る。ラッパー関数は、ラッパー関数に提供されるパラメータの一部またはすべてにデータ変換を行うことができ、物理メディアレンダリングデバイスのためのメディアレンダリング制御プロトコルスタックに実装された対応する関数に変換されたパラメータを提供する。ラッパー関数へのコールは、結果として、共通のプロトコルによって期待される挙動を実装するために、物理メディアレンダリングデバイスのためのメディアレンダリング制御プロトコルスタック内の関数への複数のコールとなり得ることに留意されたい。たとえば、共通のメディアレンダリング制御プロトコルによって実装される巻戻し関数は、物理メディアレンダリングデバイスが現在コンテンツを再生しているかどうかにかかわらず、共通のメディアレンダリング制御プロトコルをサポートするデバイスに巻戻しをさせると仮定する。さらに、仮想メディアレンダリングデバイスによってプロキシされた物理メディアレンダリングデバイスが、巻戻し要求が受け付けられる前にコンテンツの再生が停止されることを求めると仮定する。この例では、共通のメディアレンダリング制御プロトコルスタックを通じた巻戻しラッパー関数へのコールは、物理メディアレンダリングデバイスと関連するメディアレンダリング制御プロトコルのためのプロトコルスタックへの2つの関数コールに拡張され得る。第1のコールが、物理メディアレンダリングデバイスへの再生停止要求を発行し、第2のコールが、物理メディアレンダリングデバイスへの巻戻し要求を発行する。
【００５３】
ブロック312において、変換されたアクション要求は、物理メディアレンダリングデバイスによってサポートされるプロトコルを使用して仮想メディアレンダリングデバイスによってプロキシされた物理メディアレンダリングデバイスに送信され得る。
【００５４】
アクション要求への応答は、上記の方法とは逆のやり方で処理され得ることに留意されたい。すなわち、アクション要求への応答が、物理メディアレンダリングデバイスによってサポートされるプロトコルスタックを通じて物理メディアレンダリングデバイスによって提供され得る。応答は、物理メディアレンダリングデバイスのプロキシである仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットによって、共通のプロトコルに準拠する応答に変換され得る。変換された応答は、次いでアクション要求者に送られる。
【００５５】
仮想メディアレンダリングデバイスが物理メディアレンダリングデバイスのプロキシとして作成された後のある時点で、物理メディアレンダリングデバイスは、ネットワークから取り除かれてもよい。たとえば、物理メディアレンダリングデバイスは、オフにされる、ネットワークから切断される、またはその他の方法でネットワークに利用できないようにされてもよい。そのような場合、ホストデバイス102が、取り除かれた物理メディアレンダリングデバイスと関連する仮想物理メディアレンダリングデバイスを取り除くことができる。ホストデバイス102は、ネットワークに損失イベントを発行して、ネットワーク上の他のデバイスに、仮想メディアレンダリングデバイスがネットワークから取り除かれることを知らせることができる。
【００５６】
図4は、仮想メディアレンダリングデバイスに識別子を割り当てるための方法400を示すフローチャートである。一般的には、仮想メディアレンダリングデバイスがホストデバイス102によって作成されるとき、識別子が割り当てられる。方法は、ホストデバイス102によって発見された物理メディアレンダリングデバイスの1つまたは複数の属性を判断することによってブロック402から始まる。属性は、デバイス名、モデル名、ネットワークアドレス、UUID(汎用一意識別子: Universally Unique Identifier)、または物理メディアレンダリングデバイスと関連する他の属性であってもよい。
【００５７】
ブロック404において、ホストデバイス102は、1つまたは複数の属性に少なくとも一部基づいて、識別子を生成することができる。たとえば、物理メディアレンダリングデバイスは、ネットワークアドレス198.0.0.2のAllJoynプレーヤであると仮定する。ホストデバイス102は、識別子として「AllJoyn_198_0_0_2」を生成することができる。
【００５８】
ブロック406において、ホストデバイス102は、図3に関して上述したように発見された物理メディアレンダリングデバイスのプロキシとして機能するように仮想メディアレンダリングデバイスを作成することができる。
【００５９】
ブロック408において、ホストデバイス102は、ブロック404において生成された識別子を仮想メディアレンダリングデバイスに割り当てることにできる。ホストデバイス102は、割り当てられた識別子を使用して、ネットワーク上の仮想メディアデバイスの存在をアナウンスすることができる。ネットワーク上の他のデバイス、たとえばメディアレンダリングデバイスコントローラは、発見プロトコルの一部として識別子を発見することができ、結果として他のデバイスによって仮想メディアレンダリングデバイスを発見することになる。他のデバイスは、その後仮想メディアレンダリングデバイスのラベルとして識別子を使用することができる。たとえば、メディアレンダリングデバイスコントローラは、ユーザインターフェースに識別子を表示することができる。仮想メディアレンダリングデバイスによってプロキシされた物理メディアレンダリングデバイスを制御したいと思うユーザが、利用可能なメディアレンダリングデバイスのリストから仮想メディアレンダリングデバイスの識別子を選択し、選択した仮想メディアレンダリングデバイスによって行われることになる動作を選択することができる。
【００６０】
図5は、仮想メディアデバイスを作成するための方法500を示すフローチャートである。複数のホストデバイスがネットワーク上に存在している可能性があり得る。たとえば、ワイヤレスネットワーク上のパーソナルコンピュータが、仮想メディアレンダリングデバイスのホストデバイスを務めていると仮定する。さらにモバイルフォンがワイヤレスネットワークの範囲内に入ってきて、やはりホストデバイスとして機能するように構成されていると仮定する。パーソナルコンピュータとモバイルフォンの両方が、同じ物理メディアレンダリングデバイスを表す仮想メディアレンダリングデバイスを作成する場合、結果としてユーザは混乱し、整合性のないデバイス挙動が生じる可能性がある。したがっていくつかの実施形態では、方法500は、重複する仮想メディアレンダリングデバイスの作成を防ぐために使用され得る。方法500は、ネットワーク上の物理メディアレンダリングデバイスの存在を検出することによってブロック502から始まる。上記のように、物理メディアレンダリングデバイスを検出するために、発見プロトコルが使用され得る。
【００６１】
ブロック504において、ホストデバイス102は、物理メディアレンダリングデバイスの1つまたは複数の属性を判断することができる。上述のブロック402と同様に、ホストデバイス102は、デバイス名、モデル名、ネットワークアドレス、UUID(汎用一意識別子)、または発見された物理メディアレンダリングデバイスと関連する他の属性を判断することができる。
【００６２】
ブロック506において、ホストデバイス102は、ブロック504において判断された1つまたは複数の属性に基づいて識別子を生成することができる。仮想メディアレンダリングデバイスを提供するホストデバイスが、同じ属性および同じアルゴリズムを使用して識別子を生成することが望ましいことがある。
【００６３】
ブロック508において、ホストデバイス102は、ブロック506において生成された識別子を有する仮想メディアレンダリングデバイスがネットワーク上にすでに存在するかどうかを判断することができる。ホストデバイス102は、そのような仮想メディアレンダリングデバイスがネットワーク上にすでに存在するかどうかを判断するために、指定された共通のメディアレンダリング制御プロトコルに準拠する発見プロトコルを使用することができる。
【００６４】
ブロック506において生成された識別子を有する仮想メディアレンダリングデバイスが、ネットワーク上で検出されない場合、ブロック510においてホストデバイス102は、ブロック502において発見された物理メディアレンダリングデバイスのプロキシとして機能する仮想メディアレンダリングデバイスを作成することができる。
【００６５】
ブロック506において生成された識別子を有する仮想メディアレンダリングデバイスが、ネットワーク上にすでに存在する場合、ブロック512においてホストデバイス102は、仮想メディアレンダリングデバイスを作成しない。
【００６６】
図6は、仮想メディアレンダリングデバイスでアクション要求を処理するための方法600を示すフローチャートである。方法600は、仮想メディアレンダリングデバイスでアクション要求を受信することによってブロック602から始まる。アクション要求は、情報の要求、または仮想メディアレンダリングデバイスによってプロキシされた物理メディアレンダリングデバイスに、ビデオもしくはオーディオコンテンツを取得させる、コンテンツの再生を開始させる、コンテンツの再生を停止させる、スキップさせる、早送りさせるなど、アクションを行わせる要求であってもよい。
【００６７】
ブロック604において、仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットは、物理メディアレンダリングデバイスがアクション要求をサポートするかどうかを判断することができる。物理メディアレンダリングデバイスがアクション要求をサポートする場合、ブロック606において仮想メディアレンダリングユニットは、図4に関して上述したように、アクション要求を物理メディアレンダリングデバイスによってサポートされるメディアレンダリング制御プロトコルに変換することができる。ブロック608において、アクション要求は、物理メディアレンダリングデバイスによってサポートされるメディアレンダリング制御プロトコルを使用して物理メディアレンダリングデバイスに送信され得る。
【００６８】
ブロック604において仮想メディアレンダリングユニットが、仮想メディアレンダリングデバイスによってプロキシされた物理メディアレンダリングデバイスがアクション要求をサポートしないと判断する場合、ブロック610において仮想メディアレンダリングユニットは、物理メディアレンダリングデバイスの1つまたは複数の属性を判断することができる。1つまたは複数の属性は、物理メディアレンダリングデバイスから仮想メディアレンダリングユニットによって取得され得る。あるいは、属性は、ホストデバイス102上で構成された、またはその他の方法で記憶されたデータであってもよい。
【００６９】
ブロック612において、仮想メディアレンダリングユニットは、プロキシされた物理メディアレンダリングデバイスの代わりにアクション要求の実行をシミュレート(すなわちエミュレート)することができる。アクション要求の実行のシミュレーションは、要求者にシミュレートされた応答を提供することを含むことができる。
【００７０】
上述の例として、物理メディアレンダリングデバイスが、単にMP3フォーマットを有するオーディオファイルを再生することができるオーディオプレーヤであると仮定する。さらに、物理メディアレンダリングデバイスが、物理メディアレンダリングデバイスによってサポートされるオーディオフォーマットに関する情報の要求をサポートしないと仮定する。物理メディアレンダリングデバイスに対するプロキシとして機能する仮想メディアレンダリングデバイスが、メディアレンダリングデバイスコントローラから、仮想メディアレンダリングデバイスによってサポートされるオーディオフォーマットを求める要求を受信することがある。仮想メディアレンダリングデバイスを実装する仮想メディアレンダリングユニットは、物理メディアレンダリングデバイスが要求をサポートしないと判断する。しかしながら、仮想メディアレンダリングユニットは、物理メディアレンダリングデバイスがMP3フォーマットをサポートすることを示すデータを含む応答を要求者に提供することによって、要求の実行をシミュレートするように構成され得る。上記の例は、仮想メディアレンダリングユニットによってシミュレートされ得る多くの考えられるアクション要求のほんの一例である。実施形態は、アクション要求のいかなる特定のシミュレーションにも限定されない。
【００７１】
実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形をとることがあり、本明細書ではすべて一般的に「回路」、「モジュール」、または「システム」と呼ばれ得る。さらに、本発明の主題の実施形態は、コンピュータ使用可能プログラムコードを媒体に具体化した、いかなる有形の表現媒体においても具体化されるコンピュータプログラム製品の形をとることができる。
【００７２】
1つまたは複数のコンピュータ可読媒体の任意の組合せを使用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体が、たとえば電子、磁気、光、電磁気、または半導体のシステム、装置、またはデバイス、あるいは上記の任意の好適な組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のさらなる具体例(非網羅的リスト)には、1つもしくは複数の配線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光学式記憶デバイス、磁気記憶デバイス、または上記の任意の好適な組合せが含まれる。この文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって、またはこれらと接続して使用するためのプログラムを収めるまたは記憶することができる任意の有形媒体とすることができる。コンピュータ可読記憶媒体は、伝搬信号を含むことができる信号媒体を除く。
【００７３】
コンピュータ可読信号媒体は、たとえばベースバンドに、または搬送波の一部として、コンピュータ可読プログラムコードが具体化された伝搬データ信号を含むことができる。そのような伝搬信号は、電磁気、光、またはそれらの任意の好適な組合せを含むが、これらに限定されない、様々な形のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、またはこれらに接続して使用するためにプログラムを伝える、伝搬する、または伝送することができる任意のコンピュータ可読媒体であってもよい。コンピュータ可読媒体に具体化されたプログラムコードは、ワイヤレス、有線、光ファイバケーブル、RFなど、または上記の任意の好適な組合せを含むが、これらに限定されない、任意の適切な媒体を使用して送信されてもよい。
【００７４】
実施形態の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語のいずれかの組合せで書かれることが可能である。プログラムコードは、完全にユーザのコンピュータで、一部をユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、一部をユーザのコンピュータで、および一部をリモートコンピュータで、または完全にリモートコンピュータもしくはサーバで、実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、またはワイドエリアネットワーク(WAN)など、任意のタイプのネットワークを介して、ユーザのコンピュータに接続されることが可能である、または(たとえば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに接続されることが可能である。
【００７５】
図7は、本開示の様々な実施形態に従って仮想メディアレンダリングデバイスを含む電子デバイス700の一実施形態の例示のブロック図である。いくつかの実装形態では、電子デバイス700は、ラップトップコンピュータ、ネットブック、モバイルフォン、電力線通信デバイス、携帯情報端末(PDA)、または他の電子システムの1つであってもよい。電子デバイス700は、(場合により、複数のプロセッサ、複数のコア、複数のノードを含む、および/またはマルチスレッドを実装するなどの)プロセッサユニット702を含む。電子デバイス700は、メモリユニット706を含む。メモリユニット706は、システムメモリ(たとえば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM(登録商標)、SONOS、PRAMなどの1つもしくは複数)、またはすでに上述した考えられる機械可読媒体の実現のいずれか1つもしくは複数であり得る。電子デバイス700はまた、バス710(たとえば、PCI、ISA、PCI-Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなど)と、ワイヤレスネットワークインターフェース(たとえば、WLANインターフェース、Bluetooth(登録商標)インターフェース、WiMAXインターフェース、ZigBee(登録商標)インターフェース、ワイヤレスUSBインターフェースなど)または有線ネットワークインターフェースの少なくとも1つであり得るネットワークインターフェース704とを含む。例示的な一実施形態では、第1のネットワークインターフェース704は、IEEE 802.11a、802.11b、802.11g、802.11n、または802.11acプロトコルを使用することができる2.4GHzまたは5GHzワイヤレスインターフェースを含むことができる。電子デバイス700はまた、仮想メディアレンダリングユニット708を含む。仮想メディアレンダリングユニット708は、第1のプロトコルスタック712と、第2のプロトコルスタック714とを含むことができる。図1〜図7で上述したように、仮想メディアレンダリングユニット708は、物理メディアレンダリングデバイス(図7には示さず)を制御する機能を実装することができる。さらに、実現には、図7に示されていない、より少ないまたはさらなる構成要素(たとえば、ビデオカード、オーディオカード、さらなるネットワークインターフェース、周辺デバイスなど)が含まれることがある。プロセッサユニット702、メモリユニット706、およびネットワークインターフェース704は、バス710に結合される。バス710に結合されて示されているが、メモリユニット706は、プロセッサユニット702に結合され得る。
【００７６】
実施形態は、様々な実装および実施(exploitation)に関して説明しているが、これらの実施形態は例示的なものであること、および本発明の主題の範囲は、これらに限定されないことは理解されよう。一般に、本明細書に記載するように異なるネットワークプロトコルを使用する物理メディアレンダリングデバイスを発見し、制御するための技法は、1つまたは複数の任意のハードウェアシステムと整合性のある設備で実装され得る。多くの変形、変更、追加、および改善が可能である。
【００７７】
単一の例として本明細書に記載する構成要素、動作、または構造には、複数の例が提供され得る。結局、様々な構成要素、動作、およびデータストア間の境界はいささか任意であり、特定の動作は、特定の例示的構成の文脈で示される。機能の他の割当てが想定され、本発明の主題の範囲内に含まれ得る。一般に、例示的な構成において別個の構成要素として提示される構造および機能は、結合された構造または構成要素として実装され得る。同様に、単一の構成要素として提示される構造および機能は、別個の構成要素として実装され得る。これらのおよび他の変形、変更、追加、および改善は、本発明の主題の範囲内に含まれ得る。
【符号の説明】
【００７８】
100  システム
102  ホストデバイス
104  メディアレンダリングデバイスコントローラ
106  物理メディアレンダリングデバイスA、物理メディアレンダリングデバイス
108  物理メディアレンダリングデバイスB、物理メディアレンダリングデバイス
110  物理メディアレンダリングデバイスC
112  ネットワーク
114  仮想メディアレンダリングユニットA、仮想メディアレンダリングユニット
116  仮想メディアレンダリングユニットB、仮想メディアレンダリングユニット
124  仮想メディアレンダリングデバイスA、仮想メディアレンダリングデバイス
126  仮想メディアレンダリングデバイスB、仮想メディアレンダリングデバイス
204  メディアレンダリングプロトコルAスタック、メディアレンダリング制御プロトコルスタック
206  メディアレンダリングプロトコルBスタック、メディアレンダリング制御プロトコルスタック
208  メディアレンダリングプロトコルCスタック、メディアレンダリング制御プロトコルスタック
210  イベントレコーディングユニット
【図１】
2016536704.tif 000003
【図２】
2016536704.tif 000004
【図３】
2016536704.tif 000005
【図４】
2016536704.tif 000006
【図５】
2016536704.tif 000007
【図６】
2016536704.tif 000008
【図７】
2016536704.tif 000009
【手続補正書】
【提出日】平成28年3月7日(2016.3.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メディアレンダリングデバイスを制御するための方法であって、
第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスのネットワーク上の存在を判断するステップと、
前記物理メディアレンダリングデバイスの前記存在を判断するステップに応答して、第2のメディアレンダリング制御プロトコルを使用する、前記物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するステップと、
前記第1のメディアレンダリング制御プロトコルによってサポートされていないアクション要求を前記第2のメディアレンダリング制御プロトコルによって受信するステップと、
前記物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、前記アクション要求への応答を前記仮想メディアレンダリングプロキシによって判断するステップであって、前記応答が前記アクション要求をサポートする、ステップと
を含む、方法。
【請求項２】
前記物理メディアレンダリングデバイスの属性を判断するステップと、
前記属性に少なくとも一部基づいて、前記仮想メディアレンダリングプロキシのデバイス識別子を生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記デバイス識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在しているかどうかを判断するステップと、
前記デバイス識別子を有する前記仮想メディアレンダリングプロキシが前記ネットワーク上に存在していると判断することに応答して、重複する仮想メディアレンダリングプロキシを作成しないと判断するステップと
をさらに含む、請求項2に記載の方法。
【請求項４】
前記第2のメディアレンダリング制御プロトコルが、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む、請求項1に記載の方法。
【請求項５】
第1の発見プロトコルの発見イベントに応答して前記物理メディアレンダリングデバイスの存在を判断するステップと、
前記仮想メディアレンダリングプロキシを作成することに応答して、第2の発見プロトコルを使用して前記仮想メディアレンダリングプロキシの前記存在を広告するステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
前記物理メディアレンダリングデバイスが前記ネットワーク上にもはや存在していないと判断するステップと、
前記物理メディアレンダリングデバイスがもはや存在していないと判断するステップに応答して、前記仮想メディアレンダリングプロキシを取り除くステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
前記仮想メディアレンダリングプロキシによって受信された前記アクション要求に応答して、前記アクション要求と関連するイベントレコードを記憶するステップ
をさらに含む、請求項1に記載の方法。
【請求項８】
前記仮想メディアレンダリングプロキシと関連するメディアレンダリングサービスを初期化するステップ
をさらに含み、
前記第2のメディアレンダリング制御プロトコルによって前記アクション要求を受信するステップが、前記メディアレンダリングサービスで前記アクション要求を受信するステップを含む、請求項1に記載の方法。
【請求項９】
プロセッサと、
物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成し、
第1のメディアレンダリング制御プロトコルのための第1のメディアレンダリング制御スタックによって、前記第1のメディアレンダリング制御プロトコルに準拠する、第2のメディアレンダリング制御プロトコルによってサポートされないアクション要求を受信し、
前記物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、前記アクション要求への応答を判断し、前記応答が前記アクション要求をサポートする
ように構成された、前記プロセッサによって実行可能な仮想メディアレンダリングユニットと
を含む、装置。
【請求項１０】
前記仮想メディアレンダリングユニットが、
ネットワーク上の前記物理メディアレンダリングデバイスの存在を判断し、
前記物理メディアレンダリングデバイスの前記存在を判断することに応答して、前記物理メディアレンダリングデバイスを表す前記仮想メディアレンダリングプロキシを作成する
ように構成された、請求項9に記載の装置。
【請求項１１】
前記仮想メディアレンダリングユニットが、
前記物理メディアレンダリングデバイスの属性を判断し、
前記属性に少なくとも一部基づいて、前記仮想メディアレンダリングプロキシのデバイス識別子を生成する
ように構成された、請求項9に記載の装置。
【請求項１２】
前記仮想メディアレンダリングユニットが、
前記デバイス識別子を有する前記仮想メディアレンダリングプロキシが、ネットワーク上に存在しているかどうかを判断し、
前記デバイス識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在していると判断することに応答して、重複する仮想メディアレンダリングプロキシを作成しないと判断する
ように構成された、請求項11に記載の装置。
【請求項１３】
前記第1のメディアレンダリング制御プロトコルが、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む、請求項9に記載の装置。
【請求項１４】
前記仮想メディアレンダリングユニットが、
第1の発見プロトコルの発見イベントに応答して前記物理メディアレンダリングデバイスの存在を判断し、
第2の発見プロトコルを使用して前記仮想メディアレンダリングプロキシの前記存在を広告する
ようにさらに構成された、請求項9に記載の装置。
【請求項１５】
前記仮想メディアレンダリングユニットが、
前記物理メディアレンダリングデバイスがネットワーク上にもはや存在していないと判断し、
前記物理メディアレンダリングデバイスがもはや存在していないと判断することに応答して、前記仮想メディアレンダリングプロキシを取り除く
ようにさらに構成された、請求項9に記載の装置。
【請求項１６】
前記仮想メディアレンダリングユニットが、
前記アクション要求の受信に応答して、前記アクション要求と関連するイベントレコードを記憶する
ようにさらに構成された、請求項9に記載の装置。
【請求項１７】
実行されるときプロセッサに、
第1のメディアレンダリング制御プロトコルを使用する物理メディアレンダリングデバイスのネットワーク上の存在を判断するステップと、
前記物理メディアレンダリングデバイスの前記存在を判断するステップに応答して、第2のメディアレンダリング制御プロトコルを使用する、前記物理メディアレンダリングデバイスを表す仮想メディアレンダリングプロキシを作成するステップと、
前記第1のメディアレンダリング制御プロトコルによってサポートされないアクション要求を前記第2のメディアレンダリング制御プロトコルによって受信するステップと、
前記物理メディアレンダリングデバイスの特性に少なくとも一部基づいて、前記アクション要求への応答を前記仮想メディアレンダリングプロキシによって判断するステップであって、前記応答が前記アクション要求をサポートする、ステップと
を含む動作を行わせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項１８】
前記動作が、
前記物理メディアレンダリングデバイスの属性を判断するステップと、
前記属性に少なくとも一部基づいて、前記仮想メディアレンダリングプロキシのデバイス識別子を生成するステップと
をさらに含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記動作が、
前記デバイス識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在しているかどうかを判断するステップと、
前記デバイス識別子を有する前記仮想メディアレンダリングプロキシが、前記ネットワーク上に存在していると判断することに応答して、重複する仮想メディアレンダリングプロキシを作成しないと判断するステップと
をさらに含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記第2のメディアレンダリング制御プロトコルが、UPnP(ユニバーサルプラグアンドプレイ)プロトコルを含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記動作が、
第1の発見プロトコルの発見イベントに応答して前記物理メディアレンダリングデバイスの存在を判断するステップと、
第2の発見プロトコルを使用して前記仮想メディアレンダリングプロキシの前記存在を広告するステップと
をさらに含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項２２】
前記動作が、
前記物理メディアレンダリングデバイスが前記ネットワーク上にもはや存在していないと判断するステップと、
前記物理メディアレンダリングデバイスがもはや存在していないと判断するステップに応答して、前記仮想メディアレンダリングプロキシを取り除くステップと
をさらに含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項２３】
前記動作が、
前記仮想メディアレンダリングプロキシによって受信された前記アクション要求に応答して、前記アクション要求と関連するイベントレコードを記憶するステップ
をさらに含む、請求項17に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記動作が、
前記仮想メディアレンダリングプロキシと関連するメディアレンダリングサービスを初期化するステップ
をさらに含み、
前記アクション要求を前記第2のメディアレンダリング制御プロトコルによって受信するステップが、前記アクション要求を前記メディアレンダリングサービスで受信するステップを含む、請求項17に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2016536704.tif 000010
2016536704.tif 000011