JP2022529081A - 動的メディアセッションを提供するための方法、システム、および媒体 - Google Patents

動的メディアセッションを提供するための方法、システム、および媒体 Download PDF

Info

Publication number
JP2022529081A
JP2022529081A JP2021575426A JP2021575426A JP2022529081A JP 2022529081 A JP2022529081 A JP 2022529081A JP 2021575426 A JP2021575426 A JP 2021575426A JP 2021575426 A JP2021575426 A JP 2021575426A JP 2022529081 A JP2022529081 A JP 2022529081A
Authority
JP
Japan
Prior art keywords
media
group
reader device
media playback
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021575426A
Other languages
English (en)
Other versions
JP7247377B2 (ja
Inventor
チャン,クリストファー
マッカイ,ケニス・ジェイ
ウエスト,ジェームス・キャロル
マクレラン,テイビス・エイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2022529081A publication Critical patent/JP2022529081A/ja
Priority to JP2023040663A priority Critical patent/JP2023078286A/ja
Application granted granted Critical
Publication of JP7247377B2 publication Critical patent/JP7247377B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43078Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen for seamlessly watching content streams when changing device, e.g. when watching the same program sequentially on a TV and then on a tablet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Abstract

動的メディアセッションを提供するための方法、システム、および媒体を提供する。いくつかの実施形態において、この方法は、リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、フォロワーデバイスに、リーダーデバイスとメディア再生デバイスのグループ内のフォロワーデバイスとでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信するステップと、メディアコンテンツアイテムの同期プレゼンテーション中に、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信するステップと、この指示を受信したことと、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせると判断したこととに応じて、リーダーデバイスでのメディアコンテンツアイテムのプレゼンテーションを停止する一方で、メディア再生デバイスのグループに留まっているフォロワーデバイスで、グループメディア再生セッションにおけるメディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信するステップとを含む。

Description

関連出願の相互参照
本願は、2019年6月17日に出願された米国特許仮出願第62/862,416号に基づく利益を主張し、この出願全体を本明細書に引用により援用する。
開示されている主題は、動的メディアセッションを提供するための方法、システム、および媒体に関する。より具体的には、開示されている主題は、メディア再生デバイスのグループを用いてグループ再生セッションを動的に修正することに関する。特に、提案する解決策は、メディアコンテンツ再生を開始したリーダー再生デバイスをグループ再生セッションから容易に削除できるようにし、このリーダー再生デバイスを別のメディアセッションに容易に参加させることができるようにする。
ネットワーク接続されたメディアデバイスの増加に伴い、ユーザは一般的に複数のデバイスを組み合わせてメディアコンテンツを消費することでより豊かなメディア体験を生み出すことに興味を持つことがある。たとえば、あるユーザは、住居の異なる部屋(たとえばキッチンとダイニングルーム、キッチンとリビングルームなど)にあるオーディオデバイスのグループで音楽を再生することに興味を持つことがある。場合によっては、デバイスのグループを用いてメディアコンテンツを同期させてプレゼンテーション(presentation)するには、1つのデバイスをリーダーとし、その他のデバイスをフォロワーとすることで、すべてのデバイスにおけるメディアコンテンツの再生の同期を保つことが要求される可能性がある。
しかしながら、時として、メディアコンテンツを同時にプレゼンテーションしているデバイスのグループからあるデバイスを削除するのは難しいことがある。たとえば、キッチンのオーディオデバイスとリビングルームのオーディオデバイスのペアとが音楽を同時に再生しており、キッチンのオーディオデバイスがリーダーデバイスの役割を果たし、リビングルームのオーディオデバイスがフォロワーデバイスの役割を果たしている場合、このオーディオデバイスのグループからキッチンのオーディオデバイスを削除するのは難しいことがある。この例の場合、キッチンのオーディオデバイスを削除すると、デバイスのグループに対するメディアコンテンツのプレゼンテーションが停止する場合がある。すなわち、デバイスのグループのリーダーデバイスがデバイスのグループにメディアコンテンツを同時にプレゼンテーションすることをユーザが望まなくなると、このデバイスのグループでメディア再生セッションを継続するのは難しくなる可能性がある。
したがって、動的メディアセッションを提供するための新たな方法、システム、および媒体を提供することが望ましい。
動的メディアセッションを提供するための方法、システム、および媒体を提供する。
開示されている主題のいくつかの実施形態に従い、メディア再生のための方法が提供され、この方法は、リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、リーダーデバイスとメディア再生デバイスのグループ内の複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信するステップと、メディアコンテンツアイテムの同期プレゼンテーション中に、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信するステップと、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信したことに応じて、リーダーデバイスを、グループメディア再生セッションにおけるメディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断するステップと、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、リーダーデバイスでのメディアコンテンツアイテムのプレゼンテーションを停止する一方で、メディア再生デバイスのグループに留まっている複数のフォロワーデバイスで、グループメディア再生セッションにおけるメディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信するステップとを含む。
いくつかの実施形態において、リーダーデバイスでのメディアコンテンツアイテムのプレゼンテーションは、リーダーデバイスでメディアコンテンツアイテムをプレゼンテーションするためにリーダーデバイスで実行されるメディア再生アプリケーションが使用する、1つ以上のメディアリソースを放棄することにより、停止される。
いくつかの実施形態において、メディア再生アプリケーションはオーディオ再生アプリケーションであり、1つ以上のメディアリソースはオーディオリソースを含む。
いくつかの実施形態において、メディア再生アプリケーションは、リーダーデバイスに対応付けられるディスプレイ上でメディアコンテンツアイテムをプレゼンテーションするビデオ再生アプリケーションであり、1つ以上のメディアリソースは、リーダーデバイスのディスプレイを用いて情報をプレゼンテーションするためのスクリーンリソースを含む。
いくつかの実施形態において、メディアコンテンツアイテムは、第1のメディア再生アプリケーションを実行するリーダーデバイスによってプレゼンテーションされ、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、この方法はさらに、リーダーデバイスにおいて、第2のメディアコンテンツアイテムを含むメディア再生セッションの開始要求を受信するステップと、第2のメディアコンテンツアイテムを含むメディア再生セッションの開始要求を受信したことに応じて、第2のメディアコンテンツアイテムをプレゼンテーションするために第2のメディア再生アプリケーションを起動するステップとを含み、第2のメディア再生アプリケーションは、リーダーデバイス上で第1のメディア再生アプリケーションと同時に実行される。
いくつかの実施形態において、第2のメディアコンテンツアイテムを含むメディア再生セッションは、第2の複数のフォロワーデバイスでの第2のグループ再生セッションであり、リーダーデバイスおよび第2の複数のフォロワーデバイスは、メディア再生デバイスの第2のグループとしてグループ化される。
いくつかの実施形態において、第2のメディア再生アプリケーションは、メディア再生デバイスの第2のグループ内のリーダーデバイスと第2の複数のフォロワーデバイスの各々とで第2のメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を送信するように構成され、同時に、第1のメディア再生アプリケーションを用いて更新された制御命令を送信し、更新された制御命令は、メディア再生デバイスのグループに留まっている複数のフォロワーデバイスで、グループメディア再生セッションにおけるメディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる。
いくつかの実施形態において、この方法はさらに、リーダーデバイスで実行されているアプリケーションマネージャにおいて1つ以上のメディアリソースはもはや使用されていないという表示を受信するステップを含み、第2のメディア再生アプリケーションは、第2のメディアコンテンツアイテムを含むメディア再生セッションの開始要求を受信したこと、および、1つ以上のメディアリソースはもはや使用されていないという表示を受信したことに応じて、第2のメディアコンテンツアイテムのプレゼンテーションを開始する。
いくつかの実施形態において、この方法はさらに、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信したことに応じて、第1のメディアアプリケーションがリーダーデバイス上で見えることを禁止するステップを含み、第1のメディアアプリケーションは、メディア再生デバイスのグループ内の複数のフォロワーデバイスの各々とリーダーデバイスとでメディアコンテンツアイテムの同期プレゼンテーションが実行されていたときは見える状態であったものであり、この方法はさらに、第2のメディアコンテンツアイテムをプレゼンテーションするために第2のメディアアプリケーションを現在のメディア再生アプリケーションとして設定するステップを含み、第2のメディアアプリケーションはリーダーデバイス上で見える状態である。
いくつかの実施形態において、第1のメディア再生アプリケーションおよび第2のメディア再生アプリケーションは、同一のメディア再生アプリケーションのインスタンスである。
いくつかの実施形態において、この方法はさらに、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせないという判断に応じて、メディア再生デバイスのグループ内のフォロワーデバイスがリーダーデバイスとして指定可能か否かを判断するステップを含む。
いくつかの実施形態において、この方法はさらに、フォロワーデバイスがリーダーデバイスとして指定可能であるという判断に応じて、リーダーデバイスで実行されているメディア再生アプリケーションに、メディア再生デバイスのグループ内のフォロワーデバイスへの、メディアコンテンツアイテムに対応するコンテンツのストリームのストリーム転送を、フォロワーデバイスに制御命令を送信することによって実行させるステップを含み、制御命令は、フォロワーデバイスを更新されたリーダーデバイスとして指定し、メディア再生アプリケーションを更新されたリーダーデバイスで実行させ、更新されたリーダーデバイスが更新された制御命令を第1のメディア再生アプリケーションを介して送信するように構成されるように、グループメディア再生セッションを転送し、更新された制御命令は、メディア再生デバイスのグループに留まる複数のフォロワーデバイスの各々と更新されたリーダーデバイスとで、メディアコンテンツアイテムの同期プレゼンテーションを実行させ、この方法はさらに、グループメディア再生セッションに参加しているメディア再生デバイスのグループからリーダーデバイスを削除するステップを含む。
いくつかの実施形態において、この方法はさらに、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせないという判断に応じて、グループメディア再生セッションの動的修正を、グループメディア再生セッションを、グループメディア再生セッションに対応付けられる更新されたリーダーデバイスを表示することによって更新することと、更新されたリーダーデバイスが、更新された制御命令を、第1のメディア再生アプリケーションを介して送信して、更新されたリーダーデバイスとメディア再生デバイスのグループに留まっている複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させるように、構成されるように、グループメディア再生セッションを転送することと、グループメディア再生セッションに参加しているメディア再生デバイスのグループからリーダーデバイスを削除することとにより、行うステップを含む。
開示されている主題のいくつかの実施形態に従い、メディア再生のためのシステムが提供され、このシステムは、ハードウェアプロセッサを有するリーダーデバイスを備え、ハードウェアプロセッサは、リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、リーダーデバイスとメディア再生デバイスのグループ内の複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信し、メディアコンテンツアイテムの同期プレゼンテーション中に、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信し、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信したことに応じて、リーダーデバイスを、グループメディア再生セッションにおけるメディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断し、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、リーダーデバイスでのメディアコンテンツアイテムのプレゼンテーションを停止する一方で、メディア再生デバイスのグループに留まっている複数のフォロワーデバイスで、グループメディア再生セッションにおけるメディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信する。
開示されている主題のいくつかの実施形態に従い、コンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体が提供され、コンピュータ実行可能命令は、プロセッサによって実行されると、プロセッサにメディア再生のための方法を実行させ、この方法は、リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、リーダーデバイスとメディア再生デバイスのグループ内の複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信するステップと、メディアコンテンツアイテムの同期プレゼンテーション中に、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信するステップと、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信したことに応じて、リーダーデバイスを、グループメディア再生セッションにおけるメディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断するステップと、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、リーダーデバイスでのメディアコンテンツアイテムのプレゼンテーションを停止する一方で、メディア再生デバイスのグループに留まっている複数のフォロワーデバイスで、グループメディア再生セッションにおけるメディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信するステップとを含む。
開示されている主題のいくつかの実施形態に従い、メディア再生のためのシステムが提供され、このシステムは、リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、リーダーデバイスとメディア再生デバイスのグループ内の複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信するための手段と、メディアコンテンツアイテムの同期プレゼンテーション中に、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信するための手段と、リーダーデバイスによるメディアコンテンツアイテムのプレゼンテーションの停止指示を受信したことに応じて、リーダーデバイスを、グループメディア再生セッションにおけるメディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断する手段と、リーダーデバイスをメディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、リーダーデバイスでのメディアコンテンツアイテムのプレゼンテーションを停止する一方で、メディア再生デバイスのグループに留まっている複数のフォロワーデバイスで、グループメディア再生セッションにおけるメディアコンテンツアイテムの同期プレゼンテーションを引続き実行させるための手段とを含む。
提案する解決策に基づくと、リーダーデバイスの使用の柔軟性を、たとえば2つ以上のメディア再生デバイスグループのリーダー再生デバイスの使用の柔軟性を、高めることができる。たとえば、あるデバイスを、第1のメディア再生デバイスグループの第1のメディアセッションとのつながりおよびこのセッションにおけるリーダーの役割を失なうことなく、別の第2のメディア再生デバイスグループの別の第2のメディアセッションにおいてリーダーデバイスとして使用することを、容易にすることができる。提案する解決策は、特に、リーダーデバイスを、第1のメディア再生デバイスグループにおいてこのリーダーデバイスがリーダーの役割を有する第1の動作状態から、第2のメディア再生デバイスグループにおいてこのリーダーデバイスがその他のリーダーの役割を有する第2の動作状態に切り替えることを、容易にすることができる。
いくつかの実施形態において、リーダーデバイスでメディアコンテンツをプレゼンテーションすることを停止することまたはリーダーデバイスをデバイスグループから削除することを求める要求を受けたこと、および、リーダーデバイスをデバイスグループのリーダーデバイスに留まらせると判断したことに応じて、リーダーデバイスは、リーダーデバイス上でのローカルプレゼンテーション、具体的にはローカル再生を停止してもよい。たとえば、リーダーデバイスは、リーダーデバイスでメディアコンテンツをローカル再生することを、リーダーデバイスで実行されているメディア再生アプリケーションが使用する1つ以上のプレゼンテーション/メディアリソースを放棄することにより、停止してもよい。これは、メディア再生アプリケーションをリーダーデバイスで隠しメディア再生アプリケーションとしてさらに実行することも含み得る。この場合、隠しメディア再生アプリケーションは、引続き、メディアコンテンツを同期してプレゼンテーションするために制御命令をフォロワーデバイスに送信することができる。
たとえば、いくつかの実施形態において、リーダーデバイスは、メディアコンテンツをリーダーデバイスおよび/または1つ以上のフォロワーデバイスでプレゼンテーションするためにメディア再生アプリケーションの第2のインスタンスを起動する(たとえば可視状態)のと同時に、以前のグループメディア再生セッションのメディアコンテンツを同期してプレゼンテーションするための制御命令をフォロワーデバイスに送信するためにメディア再生アプリケーションの第1のインスタンスを実行する(たとえば隠し状態)ことができる。この文脈におけるメディア再生アプリケーションの第1のインスタンスおよび第2のインスタンスを、第1および第2のメディア再生アプリケーションとみなしてもよい。
開示されている主題のさまざまな目的、特徴、および利点は、開示されている主題の以下の詳細な説明を以下の図面との関連で考慮して参照すると、より一層理解することができ、これらの図面において、同様の参照番号は同様の要素を示す。
開示されている主題のいくつかの実施形態に係る、同期されたデバイスのグループからフォロワーデバイスを削除するプロセスを説明する一例を示す図である。 開示されている主題のいくつかの実施形態に係る、リーダーデバイスがグループメディア再生セッションに参加することを禁止するプロセスを説明する一例を示す図である。 開示されている主題のいくつかの実施形態に係る、グループメディア再生セッションにおいてリーダーデバイスからフォロワーデバイスにコンテンツのストリームを転送するプロセスを説明する一例を示す図である。 開示されている主題のいくつかの実施形態に係る、メディア再生セッションに対応付けられる情報を動的に修正することによってリーダーデバイスからコンテンツのストリームを転送するプロセスを説明する一例を示す図である。 開示されている主題のいくつかの実施形態に係る、メディア再生デバイスのグループを管理するための本明細書に記載のメカニズムの実現に適したシステムを説明する概略図を示す。 開示されている主題のいくつかの実施形態に係る、図5のサーバおよび/またはユーザデバイスで使用できるハードウェアの詳細な一例を示す図である。
各種実施形態に従い、動的メディアセッションを提供するためのメカニズム(方法、システム、および媒体を含み得る)を提供する。
いくつかの実施形態において、本明細書に記載のメカニズムを使用することにより、メディアコンテンツを同期してプレゼンテーションするために使用されているデバイスのグループにデバイスを追加またはこのグループからデバイスを削除することが可能な動的メディアセッションを提供することができる。たとえば、いくつかの実施形態において、デバイス(たとえばディスプレイデバイス、オーディオデバイス、および/またはその他任意の適切な種類のメディア再生デバイス)のグループを、このデバイスグループ内の各デバイスが、グループメディア再生セッションにおいてメディアコンテンツアイテムまたはメディアコンテンツアイテムのコレクション(たとえばコンテンツアイテムのプレイリストおよび/またはその他任意の適切な種類のメディアコンテンツアイテムのコレクション)を再生するように、グループ化することができる。たとえば、いくつかの実施形態において、デバイスのグループは、音楽、ビデオ、テレビ番組、ラジオ番組、ポッドキャスト、および/またはその他任意の適切な種類のメディアコンテンツを同期してプレゼンテーションすることができる。いくつかのこのような実施形態において、デバイスのグループの中の第1のデバイスをこのデバイスグループのリーダーデバイスとして指定することができ、このデバイスグループ内の他のデバイスをこのデバイスグループ内のフォロワーデバイスとして指定することができる。いくつかの実施形態において、リーダーデバイスは、メディアコンテンツアイテムの再生を開始するための命令をフォロワーデバイスに送信すること、現在再生されているメディアコンテンツアイテムの再生を任意の適切なやり方で修正するための命令をフォロワーデバイスに送信すること、メディアコンテンツアイテムに対応するコンテンツのストリームを送信すること、メディアコンテンツアイテムへのリンクを送信すること、および/またはその他任意の適切な機能を実行すること等の、任意の適切な機能を果たすことができることに、留意されたい。
いくつかの実施形態において、本明細書に記載のメカニズムは、グループメディア再生セッションにおいてメディアコンテンツを同期してプレゼンテーションしているデバイスのグループから削除される、デバイスのグループ内のデバイスによって使用されてもよい。
たとえば、あるデバイスがデバイスグループ内のフォロワーデバイスであるインスタンスにおいて、本明細書に記載のメカニズムは、図1に示し図1との関連で先に説明した技術を用いてメディアコンテンツをプレゼンテーションしているデバイスのグループから、このフォロワーデバイスが自身を削除することを可能にしてもよい。より具体的な例として、いくつかの実施形態において、本明細書に記載のメカニズムは、フォロワーデバイスによるメディアコンテンツのプレゼンテーションの停止指示を、このフォロワーデバイスが受け、この指示を受けたことに応じて、デバイスグループのリーダーデバイスに、メディアコンテンツの同期再生にこのフォロワーデバイスはもはや参加していないというメッセージを送信することを可能にしてもよい。
別の例として、あるデバイスがデバイスグループ内のリーダーデバイスであるインスタンスにおいて、本明細書に記載のメカニズムは、リーダーデバイスが、このリーダーデバイスでメディアコンテンツをプレゼンテーションすることを停止する一方で引続きデバイスグループのリーダーデバイスとして機能することで、デバイスグループ内のフォロワーデバイスが引続きメディアコンテンツの同期再生を行うことを、可能にしてもよい。より具体的な例として、いくつかの実施形態において、図2に示し図2との関連で以下で説明するように、リーダーデバイスは、引続きデバイスグループ内のフォロワーデバイスに命令を送信することができ、この命令は任意の適切な情報を含み、この情報は、フォロワーデバイスが引続きメディアコンテンツを同期してプレゼンテーションする一方でリーダーデバイス自身によるメディアコンテンツのプレゼンテーションを禁止することを可能にする情報(たとえばメディアコンテンツの再生位置を示すタイムスタンプ、および/またはその他任意の適切な情報)である。もう1つのより具体的な例として、いくつかの実施形態において、リーダーデバイスでメディアコンテンツを再生することを停止することを求めるまたはリーダーデバイスをデバイスグループから削除することを求める要求を受けたこと、および、リーダーデバイスをデバイスグループのリーダーデバイスに留まらせるという判断に応じて、このメカニズムは、リーダーデバイスで実行されているメディア再生アプリケーションが使用する1つ以上のメディアリソースを放棄することにより、リーダーデバイスがこのリーダーデバイスでメディアコンテンツをローカル再生することを停止させることができ、また、メディア再生アプリケーションをリーダーデバイス上で隠しメディア再生アプリケーションとして実行することを可能にし、この場合、隠しメディア再生アプリケーションは、引続き、メディアコンテンツを同期してプレゼンテーションするための制御信号をフォロワーデバイスに送信することができる。
加えて、いくつかの実施形態において、本明細書に記載のメカニズムは、リーダーデバイスが次のメディア再生セッションを開始することを可能にしてもよい。これは、たとえば、別のメディアコンテンツアイテムをリーダーデバイスで再生すること、別のメディアコンテンツアイテムをフォロワーデバイスにキャストすること、別のメディアコンテンツアイテムを別のデバイスグループにキャストすることなどを含み得る。
たとえば、いくつかの実施形態において、本明細書に記載のメカニズムは、リーダーデバイスが、メディアコンテンツをリーダーデバイスおよび/または1つ以上のフォロワーデバイスでプレゼンテーションするためにメディア再生アプリケーションの第2のインスタンスを開始する(たとえば可視状態)のと同時に、以前のグループメディア再生セッションのメディアコンテンツを同期してプレゼンテーションするための制御命令をフォロワーデバイスに送信するためにメディア再生アプリケーションの第1のインスタンスを実行する(たとえば隠し状態)ことを、可能にしてもよい。
別の例における、いくつかの実施形態において、本明細書に記載のメカニズムは、リーダーデバイスを2つのデバイスグループのリーダーデバイスにすることを可能にしてもよい。たとえば、先に説明し、図2のブロック210に示し以下で説明するように、リーダーデバイスは、リーダーデバイスが第1のメディアコンテンツアイテムのプレゼンテーションを停止させられる一方で第1のメディアコンテンツアイテムを同期してプレゼンテーションしている1つ以上のフォロワーデバイスを含む第1のデバイスグループのリーダーデバイスであってもよい。この例の場合、いくつかの実施形態において、図2のブロック216に示し以下で説明するように、リーダーデバイスは、第2のメディアコンテンツアイテムを同期してプレゼンテーションしている1つ以上のフォロワーデバイスを含む第2のデバイスグループのリーダーデバイスであってもよく、この場合、リーダーデバイスも、第2のデバイスグループ内のフォロワーデバイスとともに第2のメディアコンテンツアイテムを同期してプレゼンテーションしている。
いくつかの実施形態において、メディアコンテンツを同期してプレゼンテーションしているデバイスのグループは、任意の適切な種類のメディア再生デバイス(たとえばオーディオデバイス、オーディオおよび/またはビデオ機能を有するアシスタントデバイス、スピーカ、ディスプレイデバイス、テレビ、ゲーム機など)のうちの任意の適切な数(たとえば2、3、5、および/またはその他任意の適切な数)のデバイスを含み得る。いくつかの実施形態において、デバイスのグループは任意の適切なやり方で構成することができる。たとえば、いくつかの実施形態において、デバイスのグループを、ユーザのユーザデバイス上(たとえば携帯電話上、タブレットコンピュータ上、ウェアラブルコンピュータ上、ラップトップコンピュータ上、デスクトップコンピュータ上、および/またはその他任意の適切なデバイス上)に提示されたユーザインターフェイスを介して構成してもよい。先に述べたように、いくつかの実施形態においてデバイスのグループはリーダーデバイスを有することができる。いくつかの実施形態において、リーダーデバイスは、デバイスのグループに含まれる、特定のスピーカもしくはスピーカセット、特定のテレビ、特定のバーチャルアシスタントデバイス、および/またはその他任意の適切なデバイス等の、任意の適切なデバイスであればよい。いくつかの実施形態において、デバイスグループのうちの残りのデバイスは、任意の適切な数のフォロワーデバイスを含み得る。いくつかの実施形態において、以下で説明するように、リーダーデバイスは、デバイスグループ内のフォロワーデバイスに、デバイスグループ内のデバイスにメディアコンテンツアイテムを同時にプレゼンテーションさせる任意の適切な命令を、送信することができる。
いくつかの実施形態において、デバイスのグループは、スタティックグループまたはダイナミックグループとすることができることに、留意されたい。いくつかの実施形態において、本明細書でデバイスのスタティックグループと広く呼ばれるグループは、グループとして構成されデバイスのグループとして保存されるデバイスのグループ(たとえば「リビングルームおよびキッチン」グループ、「上階のベッドルーム」グループ、「映画視聴用スピーカ」グループ、および/またはその他任意の適切なグループ)とすることができ、具体的には、メディアコンテンツアイテムがキャストされる前にまたはキャストされたメディアコンテンツアイテムのプレゼンテーションの前に構成されるグループとすることができる。よって、いくつかの実施形態において、ユーザデバイスのユーザは、メディアコンテンツアイテム(たとえばビデオ、オーディオコンテンツアイテム、コンテンツアイテムのプレイリスト、および/またはその他任意の適切な種類のメディアコンテンツアイテム)を、スタティックグループにキャストすることができ、そうすると、デバイスグループ内の各デバイスで、キャストされたメディアコンテンツアイテムの同期プレゼンテーションを開始することができる。いくつかの実施形態において、本明細書でデバイスのダイナミックグループと広く呼ばれるグループは、メディアコンテンツアイテムがキャストされたときにまたはキャストされたメディアコンテンツアイテムのプレゼンテーション中に作成されるデバイスのグループとすることができる。たとえば、いくつかの実施形態において、メディアコンテンツアイテムを、モバイルデバイスまたはバーチャルアシスタントデバイスを介して第1のデバイス(たとえばスピーカ)にキャストすることができ、ダイナミックグループを、第2のデバイス(たとえば第2のスピーカ、テレビなど)がグループに追加されたときに作成することにより、第1のデバイスでのメディアコンテンツアイテムの同期プレゼンテーションを開始することができる。
いくつかの実施形態において、図2に示し図2との関連で以下で説明するように、リーダーデバイスは、グループメディア再生セッションに参加しているフォロワーデバイスに、リーダーデバイス自身にはメディアコンテンツアイテムのプレゼンテーションを行わせずに、メディアコンテンツアイテムの同期プレゼンテーションをフォロワーデバイスに行わせる命令を、送信することができることに、留意されたい。すなわち、いくつかの実施形態において、本明細書に記載のメカニズムは、リーダーデバイスが、グループメディア再生セッションに参加しているデバイスのグループに、このグループメディア再生セッションに対応付けられるコンテンツのプレゼンテーションは行わないで、留まることを、可能にしてもよい。これに代わるものとして、いくつかの実施形態において、本明細書に記載のメカニズムを使用することにより、メディア再生セッションに対応付けられるデバイスのグループからリーダーデバイスを削除することができる。いくつかのこのような実施形態において、グループメディア再生セッションにおいてプレゼンテーションされているメディアコンテンツに対応付けられるコンテンツのストリームを、リーダーデバイスから、このグループメディア再生セッションの更新されたリーダーとして指定された異なるデバイスに、転送することができる。たとえば、いくつかの実施形態において、グループメディア再生セッションの更新されたリーダーを、図3に示し図3との関連で以下で説明するように、グループメディア再生セッションに現在含まれているフォロワーデバイスとすることができる。これに加えてまたはこれに代えて、いくつかの実施形態において、グループメディア再生セッションの更新されたリーダーは、図4に示し図4との関連で以下で説明するように、グループメディア再生セッションに追加される新たなデバイスであってもよい。
いくつかの実施形態において、ストリームの転送は、任意の適切なやり方で実現することができる。たとえば、図3に示し図3との関連で以下で説明するように、いくつかの実施形態において、現在のリーダーデバイスは、グループメディア再生セッションに現在含まれているフォロワーデバイスに、フォロワーデバイスを更新されたリーダーデバイスにする命令を、送信することができる。別の例として、図4に示し図4との関連で以下で説明するように、いくつかの実施形態において、ストリームの転送は、コンテンツキャスティングサービスに対応付けられるサーバを用いて実現することができる。より具体的な例として、いくつかの実施形態において、サーバに格納されサーバによって管理されるグループメディア再生セッションに対応付けられる情報を、更新されたリーダーデバイスを表示するように更新することができ、そうすると、サーバは、グループメディア再生セッションにおいてプレゼンテーションされているコンテンツアイテムに対応するコンテンツのストリームを、グループメディア再生セッションに参加しているフォロワーデバイスに更新されたリーダーデバイスから命令を送信させる命令に関連して、更新されたリーダーデバイスに転送させることができる(たとえばフォロワーデバイスにコンテンツアイテムの同期プレゼンテーションを実行させる命令)。いくつかのこのような実施形態において、次に、グループメディア再生セッションに参加しているデバイスのグループからリーダーデバイスを削除することができる。いくつかの実施形態において、次に、デバイスのグループから削除されたリーダーデバイスを、グループメディア再生セッションを中断することなく、電源オフにする、または通信ネットワークから切断することができる。
加えて、いくつかの実施形態において(たとえば図2に示し図2との関連で以下で説明するように)、命令は、コンテンツキャスティングサービスに対応付けられるサーバ等のサーバからデバイスに送信することができることに留意されたい。いくつかの実施形態において、サーバは、メディアコンテンツの同期プレゼンテーションを行うように制御できるデバイスのグループに対応付けられる情報等の、任意の適切な情報を、格納することができる。たとえば、いくつかの実施形態において、サーバは、デバイスのグループに割り当てられた異なるデバイスの識別子を示す情報を格納し維持することができる。より具体的な例として、いくつかの実施形態において、サーバは、複数の異なるデバイス(たとえばリビングルームのスピーカ、キッチンのスピーカなど)の識別子と、これらの複数の異なるデバイスが割り当てられたグループ(たとえば「リビングルーム&キッチン」および/またはその他任意の適切なグループ)の識別子とを示す情報を、格納することができる。いくつかの実施形態において、図2との関連で以下でより詳細に説明するように、サーバは、格納した情報を用いて、リモートキャスティングコマンドを異なるデバイスに送信することができる。いくつかの実施形態において、サーバは、異なるデバイス間の接続またはグループ化を示すグラフフォーマット等の任意の適切な方式で、情報を格納することができる。
動的メディアセッションを提供するための上記およびその他の特徴を、図1~図6との関連でさらに説明する。
図1を参照して、開示されている主題のいくつかの実施形態に係る、同期されたデバイスのグループからフォロワーデバイスを削除するプロセスを説明する一例100が示されている。いくつかの実施形態において、プロセス100のブロックは、メディアコンテンツアイテムを同時にプレゼンテーションすることになるデバイスのグループに参加しているフォロワーデバイス(たとえばスピーカ、テレビ、ゲーム機など)が、実行することができる。
いくつかの実施形態において、プロセス100の102において、フォロワーデバイスは、リーダーデバイスから、キャストセッションに関連してデバイスのグループ内のデバイスで同時にコンテンツアイテムをプレゼンテーションさせる命令を、受信することができる。いくつかの実施形態において、この命令は、任意の適切な情報またはその他のコンテンツを含み得る。たとえば、いくつかの実施形態において、この命令は、プレゼンテーションするメディアコンテンツの場所を示すリンク(たとえば統一資源位置指定子(URL)および/またはその他任意の適切な種類のリンク)を含み得る。別の例として、いくつかの実施形態において、この命令は、コンテンツアイテムに対応するコンテンツのストリームを含み得る。さらにもう1つの例として、いくつかの実施形態において、この命令は、メディアコンテンツアイテムの再生開始までの遅延を含んでいてもよく、これは、プロセス100を実行しているフォロワーデバイスを含むデバイスのグループ内のデバイスが、メディアコンテンツアイテムを同時にプレゼンテーションすることを可能にする。
いくつかの実施形態において、キャストセッションに対応付けられる情報は、コンテンツキャスティングサービスに対応付けられるサーバ等のサーバに格納することができることに、留意されたい。たとえば、いくつかの実施形態において、キャストセッションに対応付けられる識別子、デバイスのグループに含まれるデバイスの識別子、および/またはデバイスグループのリーダーデバイスの識別子を、サーバに格納することができる。
いくつかの実施形態において、プロセス100の104において、フォロワーデバイスは、コンテンツアイテムを、デバイスグループ内のデバイスで同時にプレゼンテーションすることができる。いくつかの実施形態において、コンテンツアイテムは、デバイスグループ内のデバイスが、任意の適切なやり方で、同時にプレゼンテーションすることができる。たとえば、コンテンツアイテムがビデオコンテンツとオーディオコンテンツとを含む例において、ビデオコンテンツは、ビデオコンテンツのプレゼンテーションが可能なデバイスグループ内のデバイスが、プレゼンテーションすることができ、オーディオコンテンツは、いくつかの実施形態において、ビデオコンテンツをプレゼンテーションするデバイスを含み得る、オーディオコンテンツのプレゼンテーションが可能なデバイスグループ内のデバイスのうちのいずれかが、プレゼンテーションすることができる。いくつかの実施形態において、デバイスグループ内のデバイスによるコンテンツアイテムの再生の同期は、任意の適切なやり方で保つことができる。たとえば、いくつかの実施形態において、リーダーデバイスは、フォロワーデバイスに、任意の適切なタイムスタンプ(たとえばオーディオタイムスタンプ、ビデオタイムスタンプ、および/またはその他の適切なタイムスタンプ)を、任意の適切な頻度(たとえば5秒ごと、10秒ごと、および/またはその他任意の適切な頻度)で、送信することができる。いくつかの実施形態において、次に、フォロワーデバイスは、受信したタイムスタンプを使用することにより、再生位置を、受信したタイムスタンプに対応する再生位置に変更することにより、デバイスグループ内のデバイス全体で同期再生を維持することができる。
いくつかの実施形態において、プロセス100は、102にループバックすることができ、ここで、フォロワーデバイスはさらに他の命令をリーダーデバイスから受信することができる。たとえば、いくつかの実施形態において、先に述べたように、フォロワーデバイスは、コンテンツアイテムの更新された再生位置に対応する更新されたタイムスタンプを含むさらに他の命令を受信することができる。いくつかの実施形態において、そうすると、フォロワーデバイスは、このさらに他の命令を用いることにより、デバイスのグループにおける他のデバイスと同時にコンテンツアイテムのプレゼンテーションを続行することができる。たとえば、いくつかの実施形態において、フォロワーデバイスは、プロセス100を実行しているフォロワーデバイス上でのコンテンツアイテムの現在の再生位置を、デバイスのグループ内の他のデバイスと、コンテンツアイテムの再生の同期を保つために、さらに他の命令に対応する更新された再生位置に、調整することができる。
いくつかの実施形態において、フォロワーデバイスは、プロセス100の106において、フォロワーデバイスがデバイスグループから脱退することを求める命令を受信することができる。先に述べたように、いくつかの実施形態において、この命令は、コンテンツキャスティングサービスに対応付けられるサーバ等の、現在のキャストセッションの識別子、および/または現在のキャストセッションに対応付けられるその他任意の適切な情報(たとえばデバイスのグループ内のデバイスの識別子、デバイスのグループのリーダーデバイスの識別子、および/またはその他任意の適切な情報)を格納しているサーバを介して、受信することができる。いくつかの実施形態において、サーバは、任意の適切なやり方で、デバイスのグループからフォロワーデバイスが削除されるという表示を受信することができることに、留意されたい。たとえば、いくつかの実施形態において、サーバは、デバイスのグループからフォロワーデバイスが削除されるという表示を、ユーザのユーザデバイスから(たとえば、携帯電話から、タブレットコンピュータから、ウェアラブルコンピュータから、バーチャルアシスタントデバイスから、および/またはその他任意の適切な種類のユーザデバイスから)送信されるメッセージを介して、受信することができる。より具体的な例として、デバイスの場所(たとえば「リビングルーム」、「キッチン」、および/またはその他任意の適切な場所)、フォロワーデバイスに割り当てられた名称、および/またはその他任意の適切なやり方等の、任意の適切なやり方で、識別できる、特定のフォロワーデバイス(たとえば「リビングルームスピーカ」、「キッチンスピーカ」、および/またはその他任意の適切なデバイス)の表示を、サーバは受信することができる。いくつかのそのような実施委携帯において、そうすると、サーバは、サーバに格納された情報から、特定されたフォロワーデバイスを識別することができ、デバイスのグループから脱退することを求める命令をフォロワーデバイスに送信することができる。
いくつかの実施形態において、フォロワーデバイスは、プロセス100の108において、命令を受信したことに応じて、デバイスのグループ内のデバイスと同時にコンテンツアイテムをプレゼンテーションすることを、停止することができる。
いくつかの実施形態において、フォロワーデバイスは、プロセス100の110において、デバイスのグループがスタティックグループか否かを判断することができる。先に述べたように、いくつかの実施形態において、スタティックグループとは、キャストセッションまたはその他任意の適切なグループメディア再生セッションの開始前に構成され保存された、デバイスのグループのことである。いくつかの実施形態において、フォロワーデバイスは、デバイスのグループがスタティックグループではないと判断した場合、デバイスのグループはダイナミックグループであると判断することができることに、留意されたい。いくつかのこのような実施形態において、先に述べたように、ダイナミックグループは、キャストセッション中におよび/またはキャストセッションを開始するときに構成されたグループであってもよい。
いくつかの実施形態において、フォロワーデバイスは、デバイスのグループがスタティックグループか否かを任意の適切なやり方で判断することができる。たとえば、いくつかの実施形態において、フォロワーデバイスは、デバイスのグループがスタティックグループか否かを、構成されたデバイスのグループに対応付けて格納されたグループの種類(たとえばスタティックグループまたはダイナミックグループ)を示す情報に基づいて、判断することができる。別の例として、いくつかの実施形態において、フォロワーデバイスは、グループが構成された日付および/または時間を、キャストセッションが開始された時間と比較してもよい。より具体的な例として、いくつかの実施形態において、キャストセッションが開始されたときよりも前にグループが構成され保存されたとフォロワーデバイスが判断する例の場合、フォロワーデバイスは、デバイスのグループはスタティックグループであると判断することができる。
プロセス100の110において、グループはスタティックグループであるとフォロワーデバイスが判断した場合(110で「YES」)、フォロワーデバイスは、プロセス100の112に進み、プロセス100を実行しているフォロワーデバイスは現在のキャストセッションにもはや参加していないことを示すメッセージを、リーダーデバイスに送信することができる。いくつかの実施形態において、リーダーデバイスは、このメッセージを受けたことに応じて、プロセス100を実行しているフォロワーデバイスに対し、デバイスのグループ内のデバイスと同時にコンテンツアイテムのプレゼンテーションを実行させる命令を送信することを、停止することができる。
いくつかの実施形態において、プロセス100を実行しているフォロワーデバイスは、デバイスのグループに留まることができることに、留意されたい。特に、フォロワーデバイスは、デバイスのグループに留まることで、将来のキャストセッションに関連してコンテンツアイテムのプレゼンテーションを開始させる将来の命令を、受信することができる。たとえば、キャストセッションまたはグループメディア再生セッションが終了し現在のセッションに参加しているデバイスのグループの起動が解除されると、リーダーデバイスは、1つ以上のフォロワーデバイスが動的に削除されたか否かを示す状態情報をクリアし、続くキャストセッションにおいて、メディア再生を(たとえばオーディオストリームおよび対応する制御命令をデバイスのスタティックグループ内のフォロワーデバイスに与えることにより)、開始することができる。
逆に、プロセス100の110で、グループはスタティックグループではないとフォロワーデバイスが判断した場合(110で「NO」)、フォロワーデバイスは、112に進み、プロセス100を実行しているフォロワーデバイスがグループのデバイスから脱退することを示すメッセージを、リーダーデバイスに送信することができる。いくつかの実施形態において、プロセス100を実行しているフォロワーデバイスを、デバイスのグループに復帰させる場合、これをデバイスのグループに追加することを求める要求を送信することにより、任意の適切な時間に、デバイスのグループに動的に戻すことができる。
図2を参照して、開示されている主題のいくつかの実施形態に係る、リーダーデバイスがグループメディア再生セッションに参加することを禁止するプロセスを説明する一例200が示されている。いくつかの実施形態において、プロセス200のブロックは、デバイスのグループのリーダーデバイス等の任意の適切なデバイスが、実行することができる。いくつかの実施形態において、リーダーデバイスは、任意の適切なやり方でデバイスのグループから特定できることに、留意されたい。たとえば、いくつかの実施形態において、デバイスのグループを構成したユーザが(たとえばユーザインターフェイスを介しておよび/またはその他任意の適切なやり方で)、リーダーデバイスを特定することができる。別の例として、いくつかの実施形態において、これからプレゼンテーションするコンテンツアイテムに関連するリーダーデバイスのデバイス能力(たとえばコンテンツアイテムがビデオコンテンツを含むという判断に応じて、対応付けられたディスプレイとともにディスプレイデバイスを選択することなど)や、リーダープライオリティスコア(図2のブロック216との関連で以下で説明する)等の、任意の適切な情報に基づいて、および/またはその他任意の適切な情報に基づいて、リーダーデバイスを、デバイスグループ内のデバイスから、動的に選択することができる。
いくつかの実施形態において、プロセス200の202において、リーダーデバイスは、各々が第1のデバイスグループに属する1つ以上のフォロワーデバイスに、キャストセッションまたはその他の適切なグループメディア再生セッションに関連してコンテンツアイテムをリーダーデバイスとフォロワーデバイスの各々に同時にプレゼンテーションさせる命令を、送信することができる。図1との関連で先に述べたように、いくつかの実施形態において、コンテンツアイテムは、ビデオコンテンツとオーディオコンテンツとを含むコンテンツアイテム(たとえばビデオ、映画、テレビ番組、ライブストリーミングビデオコンテンツ、および/またはその他任意の適切な種類のコンテンツアイテム)、オーディオコンテンツのみ(たとえば音楽、ラジオ番組、オーディオポッドキャスト、曲、曲のプレイリスト、および/またはその他任意の適切な種類のオーディオコンテンツアイテム)、および/またはその他任意の適切な種類のコンテンツ等の、任意の適切な種類のコンテンツアイテムであってもよい。いくつかの実施形態において、コンテンツアイテムがビデオコンテンツを含む場合、リーダーデバイスは、ビデオディスプレイ機能を有するフォロワーデバイスに、このコンテンツアイテムに対応付けられるビデオコンテンツをプレゼンテーションするよう指示することができ、デバイスグループ内の他のデバイスに、このコンテンツアイテムに対応付けられるオーディオコンテンツをプレゼンテーションするよう指示することができることに、留意されたい。
いくつかの実施形態において、リーダーデバイスは、第1のデバイスグループ内のグループに任意の適切な命令を送信させることができる。たとえば、いくつかの実施形態において、命令は、これからプレゼンテーションするコンテンツアイテムへのリンクを含み得る。別の例として、いくつかの実施形態において、命令は、第1のデバイスグループ内のフォロワーデバイスの各々が、コンテンツアイテムをプレゼンテーションしながら同期を保つために使用できる、1つ以上のタイムスタンプ(たとえばオーディオコンテンツ内の再生位置を示すオーディオタイムスタンプ、コンテンツアイテムのビデオコンテンツ内の再生位置を示すビデオタイムスタンプ、および/またはその他任意の適切な種類のタイムスタンプ)を含み得る。さらにもう1つの例として、いくつかの実施形態において、リーダーデバイスは、コンテンツアイテムに対応付けられるデータを、第1のデバイスグループ内の1つ以上のフォロワーデバイスにストリーミングすることができる。さらに他の例として、いくつかの実施形態において、命令は、メディアストリーム開始コマンド、一時停止/再開コマンド(どこで一時停止または再開するかを示すリーダーデバイスのタイムスタンプを含み得る)、メディアストリーム終了コマンド(最終メディアデータフレームのシーケンス番号およびタイムスタンプを含み得る)、および/またはグループメディア再生セッションに対する音量制御コマンドを、含み得る。
いくつかの実施形態において、リーダーデバイスは、このリーダーデバイスで実行されている任意の適切なアプリケーションを用いてコンテンツアイテムをプレゼンテーションすることができることに、留意されたい。たとえば、いくつかの実施形態において、コンテンツアイテムに対応付けられるオーディオコンテンツは、リーダーデバイスで実行されているオーディオアプリケーションを用いてプレゼンテーションすることができる。別の例として、いくつかの実施形態において、コンテンツアイテムに対応付けられるビデオコンテンツは、リーダーデバイスに対応付けられるディスプレイ上で、リーダーデバイスに対応付けられるビデオアプリケーションを用いて、プレゼンテーションすることができる。これに加えてまたはこれに代えて、いくつかの実施形態において、リーダーデバイスは、第1のデバイスグループ内のフォロワーデバイスに、リーダーデバイスで実行されている1つ以上のアプリケーションを用いて、命令を送信することができる。たとえば、いくつかの実施形態において、コンテンツアイテムに対応付けられるオーディオコンテンツを同期してプレゼンテーションするためにフォロワーデバイスが使用するオーディオタイムスタンプを、リーダーデバイスで実行されているオーディオアプリケーションを用いて決定および/または送信することができる。
加えて、図1との関連で先に述べたように、いくつかの実施形態において、サーバは、キャストセッションに対応付けられる任意の適切な情報を格納できることに、留意されたい。たとえば、いくつかの実施形態において、サーバは、キャストセッションの識別子、キャストセッションが開始された日付および/または時間、第1のデバイスグループ内のデバイスの識別子、リーダーデバイスの識別子、および/またはその他任意の適切な情報を、格納することができる。
いくつかの実施形態において、プロセス200の204において、リーダーデバイスは、キャストセッションに関連するコンテンツの再生をリーダーデバイスが停止することを求める命令を、受信することができる。いくつかの実施形態において、サーバは、リーダーデバイスがコンテンツアイテムのプレゼンテーションを停止する予定であるという表示を、任意の適切なやり方で受信することができる。たとえば、いくつかの実施形態において、サーバは、ユーザデバイスから、特定の装置(たとえばリーダーデバイス)がコンテンツアイテムのプレゼンテーションを停止する予定であることを示す要求を、受信することができる。より具体的な例として、いくつかの実施形態において、サーバは、キャストセッションに関連するコンテンツアイテムのプレゼンテーションを停止する予定である特定の装置を示す要求を、ユーザデバイスから、任意の適切なやり方で、たとえばこの特定の装置に割り当てられた名称もしくはその他の識別子(たとえば「リビングルームスピーカ」、「ベッドルームスピーカ」など)で、および/またはその他任意の適切なやり方で、受信することができ、そうすると、サーバは、測定された装置はデバイスグループのリーダーであると判断することができる。いくつかの実施形態において、サーバに要求を送信するユーザデバイスは、携帯電話、タブレットコンピュータ、ウェアラブルコンピュータ、ラップトップコンピュータ、バーチャルアシスタントデバイス等の任意の適切なユーザデバイス、および/またはその他任意の適切な種類のユーザデバイスとすることができることに、留意されたい。加えて、いくつかの実施形態において、ユーザデバイスは、ユーザデバイスは、要求を、ユーザデバイスのユーザから、ユーザデバイス上に表示されるユーザインターフェイスを介する、ユーザデバイスのマイクが受けた発話コマンドを介する等の任意の適切なやり方で、および/またはその他任意の適切なやり方で、受信できることに、留意されたい。
いくつかの実施形態において、プロセス200の206において、リーダーデバイスは、リーダーデバイスからのコンテンツアイテムの再生を、任意の適切なやり方で停止することができる。たとえば、いくつかの実施形態において、リーダーデバイスは、コンテンツアイテムの再生を停止する予定であることを示す命令を、リーダーデバイスに対応付けられるメディア再生パイプラインに送信することができる。これに加えてまたはこれに代えて、いくつかの実施形態において、リーダーデバイスは、対応するメディアパイプラインバックエンドを任意の適切なやり方で削除することができる。
いくつかの実施形態において、プロセス200の208において、リーダーデバイスは、リーダーデバイスで実行されているアプリケーションが使用するコンテンツプレゼンテーションリソースを、放棄させるかそうでなければ無効にすることができる。いくつかの実施形態において、コンテンツプレゼンテーションリソースは、リーダーデバイスがメディアコンテンツのプレゼンテーションに使用するために利用できる任意の適切な種類のリソースを含み得る。たとえば、いくつかの実施形態において、コンテンツプレゼンテーションリソースは、オーディオコンテンツをリーダーデバイスを用いてプレゼンテーションするためのオーディオリソースを含み得る。別の例として、いくつかの実施形態において、コンテンツプレゼンテーションリソースは、コンテンツアイテムに対応付けられるビデオコンテンツをプレゼンテーションするための、および/またはコンテンツアイテムをプレゼンテーションするためのアプリケーションに対応付けられたユーザインターフェイスを表示するための、スクリーンリソースを含み得る。
いくつかの実施形態において、リーダーデバイスは、リーダーデバイスで実行されているアプリケーションが使用するコンテンツプレゼンテーションリソースを任意の適切なやり方で無効にすることができる。たとえば、いくつかの実施形態において、リーダーデバイスで実行されているアプリケーションを管理するアプリケーションマネージャは、リーダーデバイスによるコンテンツアイテムのプレゼンテーションのためにこのアプリケーションが使用する特定のリソースを無効にすることができる。より具体的な例として、アプリケーションがコンテンツアイテムに対応付けられるオーディオコンテンツをプレゼンテーションするためのオーディオアプリケーションである場合、アプリケーションマネージャは、アプリケーションが使用するオーディオリソースを無効にすることができる。別のより具体的な例として、アプリケーションがオーディオアプリケーションであり、このオーディオアプリケーションが、リーダーデバイスのディスプレイに表示されるユーザインターフェイス(たとえばリーダーデバイスがプレゼンテーションするオーディオコンテンツの音量を調節するためのユーザインターフェイス、コンテンツアイテムの再生に対応付けられる再生位置変更を受け付けるためのユーザインターフェイス、および/またはその他任意の適切な種類のインターフェイス)を含む場合、アプリケーションマネージャは、アプリケーションが使用するスクリーンリソースを無効にすることができる。さらにもう1つのより具体的な例として、アプリケーションが、コンテンツアイテムに対応付けられるビデオコンテンツをプレゼンテーションするためのビデオアプリケーションである場合、アプリケーションマネージャは、ビデオアプリケーションが使用するスクリーンリソースを無効にすることができる。いくつかの実施形態において、リーダーデバイスはコンテンツアイテムの再生のために複数のアプリケーションを用いることができることに、留意されたい。たとえば、いくつかの実施形態において、リーダーデバイスは、コンテンツアイテムに対応付けられるオーディオコンテンツのプレゼンテーションのためにオーディオアプリケーションを使用することができ、コンテンツアイテムに対応付けられるビデオコンテンツのプレゼンテーションのためにビデオアプリケーションを使用することができる。いくつかの実施形態において、アプリケーションマネージャは、複数のアプリケーションに対応付けられる対応するどのリソースも無効にすることができる。
いくつかの実施形態において、アプリケーションマネージャは、アプリケーションが見えなくなるように(すなわちリーダーデバイスの画面上で見えなくなるように、したがってスクリーンリソースを使用しない)、アプリケーションを隠すことができることに、留意されたい。いくつかの実施形態において、隠し状態に移行させたまたは見えなくしたアプリケーションが現在のアプリケーションとみなされるのを禁止することができる。いくつかの実施形態において、リーダーデバイスが1つ以上の層を用いて複数のメディア再生アプリケーションの同時実行をサポートできることにも留意する必要がある。これらの層は、たとえば、リーダーデバイスのユーザから見えるキャストアプリケーションのための層と、キャストアプリケーションの上に示すことができるオーバーレイアプリケーションのための層と、別のアプリケーション(たとえばリモートコントロールアプリケーション)が見えるアプリケーションである場合に実行できる隠しアプリケーションのための層とを含み得る。
いくつかの実施形態において、現在のアプリケーションは、任意の適切なメディア制御メッセージを、リーダーデバイスとペアにされたモバイルデバイス、リモートコントロール、および/またはその他任意の適切な種類のデバイス等の、任意の適切な入力コントローラを介して、受信することができる。いくつかの実施形態において、現在のアプリケーションは、メディア制御メッセージを、任意の適切なやり方で、たとえば、現在のアプリケーションを対象とするメッセージをリッスンするリモートコントロールデバイスまたはアプリケーションのためのハンドラを介して、受信することができる。いくつかの実施形態において、リーダーデバイスのアプリケーションマネージャは、特定のアプリケーションを現在のアプリケーションとして指定することができ、このアプリケーションマネージャは、リモートコントロールデバイスまたはアプリケーションのためのハンドラに、アプリケーションマネージャが現在のアプリケーションとして指定するアプリケーションへのメッセージの送信を、行わせることができる。
加えて、先に述べたように、いくつかの実施形態において、リーダーデバイスがメディアコンテンツアイテムをプレゼンテーションするために使用するアプリケーションを、隠しアプリケーションとして、したがって現在のアプリケーションではないものとして、マーキングすることができることに留意されたい。よって、このアプリケーションは、現在のアプリケーションとして指定されていないので、たとえメディアコンテンツアイテムを第1のデバイスグループ内のフォロワーデバイスによってプレゼンテーションさせるために使用される場合でも、リモートコントロールデバイスまたはその他のデバイスを介してメディア制御メッセージを受信することを、禁止することができる。しかしながら、いくつかの実施形態において、第1のデバイスグループ内のフォロワーデバイスでのコンテンツアイテムの再生を制御するためのメディア制御メッセージを、リーダーデバイスで実行されている隠しアプリケーションインスタンスに、任意の適切なやり方で送ることができる。たとえば、いくつかの実施形態において、リーダーデバイスは、第1のデバイスグループを特定し第1のデバイスグループにより同期してプレゼンテーションされているコンテンツアイテムの再生の修正を含む指示を、任意の適切なやり方で(たとえばリーダーデバイスとペアにされたモバイルデバイスから、リーダーデバイスとペアにされたバーチャルアシスタントデバイスから、および/またはその他任意の適切なやり方で)受信することができる。この例の場合、いくつかの実施形態において、そうするとリーダーデバイスは、第1のデバイスグループによるコンテンツアイテムの同期再生に対応付けられる隠しアプリケーションを特定することができ、受けた指示を隠しアプリケーションに送信することができる。いくつかのこのような実施形態において、そうすると、隠しアプリケーションは、この指示が第1のデバイスグループに送信されるようにすることができ、この指示は、第1のデバイスグループに、コンテンツアイテムのプレゼンテーションを修正させる指示である。たとえば、リーダーデバイスがテレビディスプレイデバイスでありフォロワーデバイスの第1のグループがオーディオデバイスのペアを含む場合、テレビディスプレイデバイスは、隠しオーディオアプリケーションを用いて、オーディオデバイスのペアに、コンテンツアイテムの再生の修正をオーディオデバイスに行わせる命令を、送信することができる。
いくつかの実施形態において、リーダーデバイスは、コンテンツアイテムのプレゼンテーションのためにリーダーデバイスが使用したアプリケーション(たとえばメディア再生アプリケーション、キャストアプリケーションなど)が終了するか否かを、任意の適切な情報に基づいて判断することができる。たとえば、アプリケーションが、リーダーデバイス上でオーディオコンテンツをプレゼンテーションすることと、任意の適切なオーディオ情報をオーディオパイプラインバックエンドを用いて第1のデバイスグループ内のフォロワーデバイスに送信することとの双方のために、リーダーデバイスが使用する、オーディオアプリケーションである場合、リーダーデバイスは、このアプリケーションは、隠し状態ではあるが(たとえばリーダーデバイスのユーザからはもはや見えない隠しアプリケーションを実行している層の中にある)、アクティブ状態に留まると、判断することができる。別の例として、リーダーデバイスが、アプリケーションを使用してコンテンツのローカルプレゼンテーションを行っているが、デバイスグループ内のフォロワーデバイスにはコンテンツのプレゼンテーションを行わせていない場合、リーダーデバイスは、このアプリケーションを終了すると判断することができる。
いくつかの実施形態において、リーダーデバイスが、コンテンツアイテムに対応付けられるビデオコンテンツをプレゼンテーションしている唯一のデバイスである場合、第1のデバイスグループからデバイスを選択し、第1のデバイスグループ内のフォロワーデバイスがプレゼンテーションしているコンテンツアイテムに対応付けられるオーディオコンテンツと同期して、ビデオコンテンツの選択を開始させることができることに、留意されたい。いくつかの実施形態において、このデバイスは、任意の適切なやり方で、たとえば、デバイスのビデオコンテンツ表示機能に基づいて、デバイスの処理および/またはメモリリソースに基づいて、デバイスの画面解像度もしくはディスプレイサイズに基づいて、および/またはその他任意の適切な情報に基づいて、選択することができる。
いくつかの実施形態において、リーダーデバイスはさらに、コンテンツプレゼンテーションリソースが無効にされたことを、リーダーデバイスに対応付けられるリソースマネージャに通知することができる。たとえば、いくつかの実施形態において、リーダーデバイスがコンテンツアイテムをプレゼンテーションするために使用するアプリケーションは、コンテンツプレゼンテーションリソースをアプリケーションが放棄したことを示すメッセージを、リソースマネージャに送信することができる。別の例として、いくつかの実施形態において、リーダーデバイスに対応付けられたアプリケーションマネージャは、コンテンツプレゼンテーションリソースがアプリケーションによって放棄されたことを示すメッセージを、リソースマネージャに送信することができる。
いくつかの実施形態において、プロセス200の210において、リーダーデバイスは、引続き、このリーダーデバイスから第1のデバイスグループ内のフォロワーデバイスに、コンテンツアイテムのプレゼンテーションをフォロワーデバイスに続行させる指示を送信することができる。リーダーデバイスは、自身がコンテンツアイテムのプレゼンテーションを停止する一方で、コンテンツアイテムのプレゼンテーションを続行させる指示をフォロワーデバイスに送信することができることに、留意されたい。いくつかの実施形態において、リーダーデバイスは、第1のデバイスグループ内のフォロワーデバイスに、コンテンツアイテムのプレゼンテーションの同期をフォロワーデバイスが維持できるようにする適切な指示を、送信することができる。たとえば、いくつかの実刑体において、リーダーデバイスは、コンテンツアイテムの再生のための任意の適切なタイムスタンプ(たとえばオーディオタイムスタンプ、ビデオタイムスタンプ、および/またはその他任意の適切なタイムスタンプ)を計算することができ、かつ、このタイムスタンプをフォロワーデバイスの各々に送信することができる。いくつかの実施形態において、フォロワーデバイスに送信された指示により、フォロワーデバイスは、コンテンツアイテムの再生位置を、受信したタイムスタンプが示す再生位置に変更することができる。
いくつかの実施形態において、リーダーデバイスは別のメディア再生セッションを開始することができる。これは、たとえば、別のメディアコンテンツアイテムをリーダーデバイスで再生すること、別のメディアコンテンツアイテムをフォロワーデバイスにキャストすること、別のメディアコンテンツアイテムをリーダーデバイスと1つ以上のフォロワーデバイスとを含む別のデバイスグループにキャストすることなどを、含み得る。より具体的な例として、いくつかの実施形態において、リーダーデバイスは、(たとえば見える状態で)メディアコンテンツをリーダーデバイスおよび/または1つ以上のフォロワーデバイスでプレゼンテーションするために、メディア再生アプリケーションの第2のインスタンスを開始することができ、その一方で、同時に、(たとえばメディア再生アプリケーションの隠しインスタンスを実行している層において)以前のグループメディア再生セッションにおけるメディアコンテンツを同期してプレゼンテーションするための制御指示をフォロワーデバイスに送信するために、メディア再生アプリケーションの第1のインスタンスを実行することができる。
いくつかの実施形態において、プロセス200の212において、リーダーデバイスは、第2のデバイスグループに含まれるフォロワーデバイスとともに第2のコンテンツアイテムを同時にプレゼンテーションすることを求める、サーバからの命令を、リーダーデバイスにおいて受信することができる。すなわち、いくつかの実施形態において、受信した命令は、リーダーデバイスが、第2のデバイスグループのリーダーデバイスの役割を果たすことになる一方で、第2のデバイスグループ内のフォロワーデバイスとともに同期して第2のコンテンツアイテムを同時にプレゼンテーションすることを、示すことができる。いくつかの実施形態において、この指示は、第2のデバイスグループに対応付けられる識別子、第2のデバイスグループ内のデバイスの表示、第2のコンテンツアイテムの識別子、および/またはその他任意の適切な情報等の、任意の適切な情報を含み得る。いくつかの実施形態において、第2のデバイスグループ内のデバイスは、各デバイスに対応付けられる識別子の使用、各デバイスに割り当てられた名称の使用、および/またはその他任意の適切な識別子の使用等、任意の適切なやり方で、識別することができる。いくつかの実施形態において、第2のコンテンツアイテムは、たとえば第2のコンテンツアイテムが位置する場所を示すURLの使用等の任意の適切なやり方で、識別することができる。
いくつかの実施形態において、リーダーデバイスは、(たとえばブロック210との関連で先に述べたように)第1のコンテンツアイテムのプレゼンテーションをリーダーデバイスが停止している一方で、第1のコンテンツアイテムのプレゼンテーションを続行しているデバイスの第1のグループのリーダーデバイスの役割を、引続き果たすことができ、それに加えて、リーダーデバイスと第2のデバイスグループ内のフォロワーデバイスとで第2のコンテンツアイテムを同期してプレゼンテーションする一方で、第2のデバイスグループのリーダーデバイスの役割を果たすことができることに、留意されたい。
いくつかの実施形態において、プロセス200の214において、リーダーデバイスは、コンテンツプレゼンテーションリソースにアクセスできるリーダーデバイスで第2のアプリケーションを開始することができ、この場合、リーダーデバイスは第2のアプリケーションを用いて第2のコンテンツアイテムをプレゼンテーションする。いくつかの実施形態において、ブロック202との関連で先に述べたように、第2のアプリケーションは、第1のコンテンツのプレゼンテーションのためにリーダーデバイスが使用したアプリケーションの第2のインスタンスであってもよいことに、留意されたい。いくつかの実施形態において、第2のアプリケーションは、第2のコンテンツアイテムをプレゼンテーションするための任意の適切なアプリケーションとすることができる。たとえば、リーダーデバイスが第2のコンテンツアイテムに対応付けられるオーディオコンテンツをプレゼンテーションする場合、第2のアプリケーションはオーディオコンテンツのプレゼンテーションに使用されるオーディオアプリケーションといすることができる。別の例として、リーダーデバイスが第2のコンテンツアイテムに対応付けられるビデオコンテンツをプレゼンテーションする場合、第2のアプリケーションは、リーダーデバイスに対応付けられるディスプレイ上にビデオコンテンツをプレゼンテーションさせるビデオアプリケーションとすることができる。いくつかの実施形態において、リーダーデバイスは、リーダーデバイスによる第2のコンテンツアイテムのプレゼンテーションのために使用される複数のアプリケーションまたはアプリケーションの複数のインスタンスを、リーダーデバイス上で開始することができることに、留意されたい。たとえば、リーダーデバイスが、第2のコンテンツアイテムに対応付けられるオーディオコンテンツとビデオコンテンツの両方のプレゼンテーションを行う場合、リーダーデバイスは、第2のコンテンツアイテムに対応付けられるオーディオコンテンツのプレゼンテーションのためのオーディオアプリケーションのインスタンスと、第2のコンテンツアイテムに対応付けられるビデオコンテンツのプレゼンテーションのためのビデオアプリケーションのインスタンスとを、開始することができる。いくつかの実施形態において、任意の開始されたアプリケーションまたは開始されたアプリケーションのインスタンスを、見えるようにすることができることに、留意されたい。特に、見えるようにされたことで、見えるアプリケーションは、アプリケーションマネージャによって現在のアプリケーションにすることができ、したがって、以下でより詳細に説明するように、リモートコントロールデバイスまたはアプリケーションに対応付けられるリモートコントロールハンドラが受信した任意の適切な制御メッセージを、受信することができる。
いくつかの実施形態において、第2のアプリケーションは、開始されると、任意の適切なコンテンツプレゼンテーションリソースを取得することができることに、留意されたい。たとえば、第2のアプリケーションが、第2のコンテンツアイテムに対応付けられるオーディオコンテンツのプレゼンテーションのためにリーダーデバイスが使用するオーディオアプリケーションである場合、第2のアプリケーションはオーディオリソースを取得することができる。別の例として、いくつかの実施形態において、第2のアプリケーションは、見えるようにされたことに応じて、スクリーンリソースを取得することができる。さらにもう1つの例として、第2のアプリケーションが、第2のコンテンツアイテムに対応付けられるビデオコンテンツのプレゼンテーションのためにリーダーデバイスが使用するビデオアプリケーションである場合、第2のアプリケーションはスクリーンリソースを取得することができる。
加えて、いくつかの実施形態において、リーダーデバイスは、任意の適切な情報に基づいて、第2のアプリケーションは開始できないと判断できることに、留意されたい。たとえば、いくつかの実施形態において、リーダーデバイスは、リーダーデバイスで実行されているアプリケーションの数が、アプリケーションの予め定められたしきい値数(たとえば10のアプリケーション、20のアプリケーション、および/またはその他任意の適切な数)に達した、または、特定種類のアプリケーション(たとえばオーディオコンテンツのプレゼンテーションのためのアプリケーション、ビデオコンテンツのプレゼンテーションのためのアプリケーション、および/またはその他任意の適切な種類)の予め定められたしきい値数に達したと、判断することができる。この例の場合、そうすると、リーダーデバイスは、第2のアプリケーションはリーダーデバイスで開始できないと判断することができる。いくつかのそのような実施形態において、リーダーデバイスは、任意の適切なエラーメッセージを、任意の適切なデバイスを介して(たとえばリーダーデバイスのディスプレイを介して、リーダーデバイスに対応付けられるスピーカを介して、リーダーデバイスと対にされたモバイルデバイスを介して、リーダーデバイスとペアにされたバーチャルアシスタントデバイスを介して、および/またはその他任意の適切なデバイスによって)示すことができる。いくつかの実施形態において、アプリケーションの予め定められたしきい値数は、リーダーデバイスのパフォーマンスメトリック(たとえばリーダーデバイス上で利用できるメモリの量、リーダーデバイスのプロセッサ能力、リーダーデバイスの現在のCPU使用量、および/またはその他任意の適切なメトリック)等の任意の適切な情報に基づいて、および/またはその他任意の適切な情報に基づいて、判断することができることに、留意されたい。
いくつかの実施形態において、プロセス200の216において、リーダーデバイスは、第2のコンテンツアイテムを同時にかつ同期してプレゼンテーションすることを求める指示を、リーダーデバイスから第2のデバイスグループ内のフォロワーデバイスに送信することができる。いくつかの実施形態において、指示は、任意の適切な情報を含み得るものであり、これは、第2のコンテンツアイテムの識別子(たとえば第2のコンテンツアイテムの位置を示すURL、および/またはその他任意の適切な識別子)、第2のコンテンツアイテムに対応するコンテンツのストリーム、フォロワーデバイスが第2のコンテンツアイテムをプレゼンテーションする再生位置を示す1つ以上のタイムスタンプ、および/またはその他任意の適切な情報等である。
第2のアプリケーションは、見えるようにされたことに応じて、第2のコンテンツアイテムのプレゼンテーションに対応付けられる任意の適切な割込またはイベントを受ける可能性があることに、留意されたい。たとえば、リーダーデバイスのユーザが、第2のコンテンツアイテムの再生を任意の適切なやり方で修正する(たとえば第2のコンテンツアイテムの再生の音量を上げるまたは下げるように調整する、再生位置を前方にスキップするまたは巻き戻す、および/またはその他任意の適切なやり方で修正する)ことを指示する場合、第2のアプリケーションは、任意の適切なイベントハンドラを用いて、第2のコンテンツアイテムの再生の、指示された修正に対応付けられるイベントの表示を、受けることができる。いくつかのこのような実施形態において、そうすると、第2のアプリケーションは、第2のコンテンツアイテムのプレゼンテーションを修正することができる。加えて、いくつかの実施形態において、リーダーデバイスはさらに、第2のデバイスグループ内のフォロワーデバイスに、フォロワーデバイスにも第2のコンテンツアイテムの再生を修正させる任意の適切な指示を送信することができる。たとえば、いくつかの実施形態において、再生の修正が第2のコンテンツアイテムのプレゼンテーションの中で前方または後方にスキップすることに対応する場合、リーダーデバイスは、更新された再生位置に対応する更新されたタイムスタンプを、更新されたタイムスタンプを用いて再生位置を変更させる、フォロワーデバイスへの指示とともに、フォロワーデバイスに送信することができる。別の例として、いくつかの実施形態において、再生の修正が音量調整に対応する場合、リーダーデバイスは、オーディオコンテンツの音量を調整することを求める指示を、第2のデバイスグループ内の任意の適切なフォロワーデバイスに送信することができる。いくつかのそのような実施形態において、プロセス200は、音量調整を示す指示を受信する任意の適切なフォロワーデバイス(たとえば第2のコンテンツアイテムに対応付けられるオーディオコンテンツをプレゼンテーションしているフォロワーデバイス、任意の適切な基準に基づいて選択された、第2のコンテンツアイテムに対応付けられるオーディオコンテンツをプレゼンテーションしている選択されたフォロワーデバイス、および/またはその他任意の適切なフォロワーデバイス)を、選択することができる。
加えて、いくつかの実施形態において、リーダーデバイスは、(ブロック210との関連で先に述べたように)第1のコンテンツアイテムを同期してプレゼンテーションしているデバイスの第1のグループ内のフォロワーデバイスに、引続き指示を送信することができ、その一方で、(ブロック216との関連で先に述べたように)第2のコンテンツアイテムをプレゼンテーションし、第2のコンテンツアイテムを同期してプレゼンテーションしているデバイスの第2のグループ内のフォロワーデバイスに指示を送信することができることに、留意されたい。
いくつかの実施形態において、リーダーデバイスはリーダープライオリティスコアを有することができる。いくつかのそのような実施形態において、(図2のブロック204~210との関連で先に述べたように)コンテンツアイテムのアクティブプレゼンターとして削除されたリーダーデバイスは、任意の適切なやり方で変更された、対応付けられたリーダープライオリティスコアを有することができる。たとえば、いくつかの実施形態において、リーダープライオリティスコアは任意の適切な量だけ下げることができる。いくつかの実施形態において、リーダープライオリティスコアを用いて任意の適切な機能を果たすことができる。たとえば、いくつかの実施形態において、リーダープライオリティスコアを用いて、デバイスのグループから、このデバイスのグループのリーダーの役割を果たすことになる特定のデバイスを選択することができる。より具体的な例として、(たとえば図2の204~210との関連で先に述べたように)リーダーデバイスが、コンテンツアイテムのプレゼンテーションは停止させられているが、引続き、コンテンツアイテムをプレゼンテーションしているデバイスのグループのリーダーデバイスである場合、このリーダーデバイスに対応付けられるリーダープライオリティスコアを下げることで、このリーダーデバイスが別のデバイスグループのリーダーとして選択される可能性が比較的低くなるように、することができる。いくつかの実施形態において、リーダープライオリティスコアを用いることにより、特定のデバイス上のリソースを、たとえば、このデバイスが予め定められた数のデバイスグループよりも多い数のデバイスグループのリーダーデバイスになるのを阻止することで、節約または維持することができる。
加えて、いくつかの実施形態において、(図2のブロック204との関連で先に述べたように)リーダーデバイスが、デバイスのグループによって同期してプレゼンテーションされているコンテンツをリーダーデバイスがプレゼンテーションしないよう求める命令を受けたことに応じて、そのデバイスグループ内のその他任意のデバイスを、このデバイスグループのリーダーにすることができることに、留意されたい。たとえば、いくつかの実施形態において、リーダーデバイスまたはサーバは、デバイスグループ内の選択されたデバイスに、選択されたデバイスをリーダーデバイスにする命令を、送信することができ、それにより、任意の適切な機能を実行してデバイスのグループによるコンテツアイテムのプレゼンテーション中の同期を保つことができる(たとえば更新されたタイムスタンプおよび/またはその他任意の適切な機能)。いくつかの実施形態において、リーダーデバイスまたはサーバは、コンテンツのストリームを、リーダーデバイスから、デバイスグループのリーダーにされる新たに選択されたデバイスに、たとえばコンテンツアイテムのURLもしくはその他の場所および/またはその他任意の適切な情報を示す命令を選択されたデバイスに送信することにより、転送することができる。
図3を参照して、開示されている主題のいくつかの実施形態に係る、グループメディア再生セッションにおいてリーダーデバイスからフォロワーデバイスにコンテンツのストリームを転送するプロセスを説明する一例300が示されている。いくつかの実施形態において、プロセス300のブロックは、グループメディア再生セッションのリーダーデバイスが、メディアコンテンツアイテムを同期してプレゼンテーションするために実行することができる。
いくつかの実施形態において、プロセス300の302において、リーダーデバイスは、リーダーデバイスから、グループメディア再生セッションに参加しているデバイスのグループに、グループメディア再生セッションに対応付けられるコンテンツを、リーダーデバイスおよびフォロワーデバイスに、同時におよび/または同期してプレゼンテーションさせる命令を、送信することができる。いくつかの実施形態において、リーダーデバイスは、この命令を、たとえば図2のブロック202に関連して先に説明したように、任意の適切なやり方で、リーダーデバイスからフォロワーデバイスに送信することができる。
いくつかの実施形態において、プロセス300の304において、リーダーデバイスは、グループメディア再生セッションに参加しているデバイスのグループからリーダーデバイスを削除することを求める、サーバからの命令を、リーダーデバイスにおいて受信することができる。いくつかの実施形態において、リーダーデバイスは、この命令を任意の適切なやり方で受信することができる。たとえば、いくつかの実施形態において、図2のブロック204との関連で先に述べたように、リーダーデバイスは、この命令を、グループメディア再生セッションに対応付けられる情報を格納するコンテンツキャスティングサービスに対応付けられるサーバから、受信することができる。いくつかの実施形態において、サーバは、デバイスのグループからリーダーデバイスが削除されることを示す情報を、任意の適切なやり方で受信することができることに留意されたい。たとえば、いくつかの実施形態において、サーバは、この情報を、グループメディア再生セッションに参加しているデバイスにコンテンツをキャスティングすることによってグループメディア再生セッションを開始したモバイルデバイスから、(たとえばモバイルデバイス上に示されるユーザインターフェイスを介して、モバイルデバイスが受信する音声コマンドを介して、および/またはその他任意の適切なやり方で)受信することができる。
いくつかの実施形態において、プロセス300の306において、リーダーデバイスは、グループメディア再生セッションに参加しているデバイスのグループ内のフォロワーデバイスを、リーダーデバイスとして指定することが可能か否かを、判断することができる。いくつかの実施形態において、リーダーデバイスは、これをデバイスのグループ内のフォロワーデバイスに対して繰り返すことにより、グループメディア再生セッションのリーダーデバイスになることが可能なフォロワーデバイスを、もしあれば識別できることに、留意されたい。いくつかの実施形態において、リーダーデバイスは、デバイスのグループ内のフォロワーデバイスをグループメディア再生セッションのリーダーデバイスとして指定することが可能か否かを、任意の適切な方法で判断することができる。たとえば、いくつかの実施形態において、リーダーデバイスは、デバイスのグループ内の特定のフォロワーデバイスが、現在のグループメディア再生セッションのリーダーデバイスになることが可能か否かを、グループメディア再生セッションにおいてプレゼンテーションされているメディアコンテンツの種類と、この特定のフォロワーデバイスのコンテンツプレゼンテーション能力とに基づいて、判断することができる。より具体的な例として、グループメディア再生セッションにおいてプレゼンテーションされるコンテンツアイテムがビデオコンテンツを含む場合、リーダーデバイスは、ビデオコンテンツをプレゼンテーションすることが可能なディスプレイデバイスに対応付けられていないデバイスのグループ内のフォロワーデバイスは、グループメディア再生セッションのリーダーデバイスになることはできないと、判断することができる。別の例として、いくつかの実施形態において、リーダーデバイスは、デバイスのグループ内の特定のフォロワーデバイスがグループメディア再生セッションのリーダーデバイスになることが可能か否かの判断を、フォロワーデバイスの現在のメモリ使用量等のデバイス能力情報、(たとえば図2のブロック212~214との関連で先に述べたように)特定のフォロワーデバイスが現在異なるグループメディア再生セッションのリーダーデバイスであるか否か、および/またはその他任意の適切なデバイス能力情報に基づいて、行うことができる。より具体的な例として、いくつかの実施形態において、リーダーデバイスは、現在異なるグループメディア再生セッションのリーダーデバイスである特定のフォロワーデバイスを、現在のグループメディア再生セッションのリーダーデバイスになることはできないと、判断することができる。もう1つのより具体的な例として、いくつかの実施形態において、図2との関連で先に述べたように、リーダーデバイスは、特定のフォロワーデバイスが、現在のグループメディア再生セッションのリーダーデバイスになることが可能か否かを、この特定のフォロワーデバイスの優先度スコアに基づいて、判断することができる。さらにもう1つの例として、いくつかの実施形態において、リーダーデバイスは、特定のフォロワーデバイスが現在のグループメディア再生セッションのリーダーになることが可能か否かの判断を、この特定のフォロワーデバイスが、リーダーデバイスが現在使用しているアプリケーションを実行することにより、コンテンツアイテムをプレゼンテーションし、グループメディア再生セッションに参加しているフォロワーデバイスに命令を送信することが可能か否かに基づいて、行うことができる。より具体的な例として、いくつかの実施形態において、リーダーデバイスは、特定のフォロワーデバイスが上記アプリケーションを実行可能か否かの判断を、フォロワーデバイスの構成またはモデル、フォロワーデバイスの現在のメモリ使用量、および/またはその他任意の適切な情報等の、任意の適切な情報に基づいて、行うことができる。
プロセス300の306において、リーダーデバイスは、グループメディア再生セッションのリーダーデバイスとして指定することが可能なフォロワーデバイスはデバイスのグループ内に存在しないと判断すると(306で「NO」)、308に進むことができ、グループメディア再生セッションにおいて同期してプレゼンテーションされているコンテンツアイテムに対応するコンテンツのストリームを、リーダーデバイスから新たなリーダーデバイスに転送させることができる。たとえば、いくつかの実施形態において、コンテンツのストリームは、図4に示し図4との関連で以下で説明する技術を用いて転送することができる。
いくつかの実施形態において、リーダーデバイスはさらに、コンテンツアイテムに対応付けられるコンテンツのストリームを、リーダーデバイスによってまたはグループメディア再生セッションに対応付けられるサーバを用いて、新たなリーダーデバイスに(グループメディア再生セッションに対応付けられるデバイスのグループに含まれるフォロワーデバイスにも)転送すべきか否かを判断できることに、留意されたい。いくつかの実施形態において、リーダーデバイスが、コンテンツのストリームはリーダーデバイスによって転送されるべきであると判断する場合、リーダーデバイスは310に進むことができる。逆に、リーダーデバイスが、コンテンツのストリームはサーバを用いて転送されるべきであると判断する場合、リーダーデバイスはブロック308に進むことができ、図4に示し図4との関連で以下で説明する技術を用いて、コンテンツのストリームを新たなリーダーデバイスに転送することができる。
プロセス300の306において、リーダーデバイスは、グループメディア再生セッションのリーダーデバイスとして指定することが可能なフォロワーデバイスがデバイスのグループ内に存在すると判断すると(306で「YES」)、310に進むことができ、識別されたフォロワーデバイスを、グループメディア再生セッションの更新されたリーダーデバイスとして指定することができる。いくつかの実施形態において、リーダーデバイスは、任意の適切なやり方で、フォロワーデバイスを更新されたリーダーデバイスとして指定することができる。たとえば、いくつかの実施形態において、リーダーデバイスは、更新されたリーダーデバイスとして指定されたフォロワーデバイスの識別子を示すメッセージを、グループメディア再生セッションに対応付けられるサーバに、送信することができる。いくつかの実施形態において、このメッセージは、更新されたリーダーデバイスに割り当てられた名称、更新されたリーダーデバイスの構成またはモデル、および/またはその他任意の適切な情報等の、任意の適切な情報を含み得る。別の例として、いくつかの実施形態において、リーダーデバイスは、識別されたフォロワーデバイスが今では指定された更新されたリーダーデバイスであることを、識別されたフォロワーデバイスに対して示す命令を、識別されたフォロワーデバイスに、送信することができる。
いくつかの実施形態において、プロセス300の312において、リーダーデバイスは、グループメディア再生セッションにおいてプレゼンテーションされているコンテンツアイテムに対応するコンテンツのストリームの、リーダーデバイスから更新されたリーダーデバイスへの転送を、リーダーデバイス上で実行されている、デバイスのグループ内のフォロワーデバイスに命令を送信させるアプリケーションを、更新されたリーダーデバイス上で実行開始させることにより、行うことができる。図2との関連で先に述べたように、アプリケーションは任意の適切なアプリケーションとすることができ、それは、オーディオコンテンツをリーダーデバイス上でプレゼンテーションさせるとともにオーディオコンテンツを同期してプレゼンテーションするための命令をフォロワーデバイスに送信させるオーディオアプリケーション、オーディオコンテンツをリーダーデバイス上でプレゼンテーションさせるとともにビデオコンテンツに対応付けられるオーディオコンテンツおよび/またはビデオコンテンツを同期してプレゼンテーションするための命令をフォロワーデバイスに送信させるビデオアプリケーション、および/またはその他任意の適切なアプリケーション等であることに、留意されたい。加えて、いくつかの実施形態において、リーダーデバイスは、複数のアプリケーション(たとえばオーディオアプリケーションおよびビデオアプリケーション、および/またはアプリケーションのその他任意の適切な組み合わせ)を、更新されたリーダーデバイス上で実行開始させることができることに、留意されたい。
いくつかの実施形態において、リーダーデバイスは、任意の適切なやり方で、更新されたリーダーデバイスに、アプリケーションの実行を開始させることができる。たとえば、いくつかの実施形態において、リーダーデバイスは、更新されたリーダーデバイスに、制御命令を送信することができ、この制御命令は、更新されたリーダーデバイス上で実行するアプリケーションを特定し、更新されたリーダーデバイスに、特定したアプリケーションの実行を開始させる。図2のブロック208との関連で先に述べたように、いくつかの実施形態において、命令は、更新されたリーダーデバイスに、更新されたリーダーデバイスが現在使用している任意のリソース(たとえばオーディオリソース、スクリーンリソース、および/またはその他任意の適切なリソース)を、特定されたアプリケーションを実行するために、放棄させることができることに、留意されたい。加えて、いくつかの実施形態において、命令は、識別されたアプリケーションまたは識別されたアプリケーションのグループのいずれかを、更新されたリーダーデバイス上で、可視状態で実行させることができることに、留意されたい。
いくつかの実施形態において、更新されたリーダーデバイスは、命令を受信したことに応じて、特定されたアプリケーションの実行を開始することができ、次に、グループメディア再生セッションに参加しているデバイスのグループ内のフォロワーデバイスへの制御命令の送信を開始することができ、この制御命令は、更新されたリーダーデバイスおよびフォロワーデバイスに、コンテンツアイテムを同期してプレゼンテーションさせる制御命令である。いくつかの実施形態において、リーダーデバイスは、更新されたリーダーデバイスが特定されたアプリケーションの実行を開始したと判断したことに応じて、デバイスのグループ内のフォロワーデバイスへの命令の送信を停止することができることに、留意されたい。
いくつかの実施形態において、プロセス300の314において、リーダーデバイスは、リーダーデバイスを、グループメディア再生セッションから削除することができる。いくつかの実施形態において、リーダーデバイスは、自身を、任意の適切なやり方で、グループメディア再生セッションから削除することができる。たとえば、いくつかの実施形態において、リーダーデバイスは、コンテンツアイテムのプレゼンテーションを停止することができる。別の例として、いくつかの実施形態において、リーダーデバイスは、リーダーデバイスがデバイスのグループから脱退しようとしていることを示すメッセージを、グループメディア再生セッションに対応付けられるサーバに送信することができる。いくつかの実施形態において、グループメディア再生セッションに参加しているデバイスのグループから削除されたリーダーデバイスを、グループメディア再生セッションにおけるコンテンツアイテムのプレゼンテーションを中断することなく、電源オフにする、および/または通信ネットワーク(たとえばWi-Fi(登録商標)ネットワーク、BLUETOOTH(登録商標)ネットワーク、および/またはその他任意の適切なネットワーク)から切断することができることに、留意されたい。
再びプロセス300の306を参照すると、リーダーデバイスは、代替ストリーム転送手順を実行すべきと判断する場合、308に進むことができ、ストリームを拡張して新たなデバイスを追加することができ、元のリーダーデバイスをストリームから動的に削除することができる。
図4を参照して、開示されている主題のいくつかの実施形態に係る、コンテンツのストリームをリーダーデバイスから転送しリーダーデバイスをグループメディア再生セッションから削除するプロセスを説明する一例が示されている。いくつかの実施形態において、プロセス400のブロックは、サーバが、たとえば、グループメディア再生セッションに対応付けられる情報を格納し保持するコンテンツキャスティングサービスに対応付けられるサーバが、実行することができることに、留意されたい。
いくつかの実施形態において、プロセス400の402において、サーバは、グループメディア再生セッションにおいてプレゼンテーションされるメディアコンテンツアイテムに対応するコンテンツのストリームは、リーダーデバイスから更新されたリーダーデバイスに転送されるべきであると、判断することができる。いくつかの実施形態において、サーバは、任意の適切な情報に基づいて、コンテンツのストリームは、リーダーデバイスから更新されたリーダーデバイスに転送されるべきであると、判断することができる。たとえば、いくつかの実施形態において、サーバは、グループメディア再生セッションに参加しているデバイスのグループからリーダーデバイスを削除するという命令を、モバイルデバイス(たとえばコンテンツをグループメディア再生セッション内のデバイスにキャスティングすることによってグループメディア再生セッションを開始したモバイルデバイス、グループメディア再生セッションの態様を変更する権限を有するモバイルデバイス、および/またはその他任意の適切なモバイルデバイス)から、受信することができる。
いくつかの実施形態において、グループメディア再生セッションを、プロセス400を実行するサーバが格納する仮想デバイスに対応付けることができることに、留意されたい。いくつかの実施形態において、仮想デバイスは、グループメディア再生セッションが開始されたデバイスに対応し得る。たとえば、グループメディア再生セッションに参加するデバイスのグループが(たとえば図1との関連で先に述べた)ダイナミックグループである場合、仮想デバイスは、デバイスのグループに追加されたまたは含まれる第1のデバイスに対応し得る。もう1つの例として、いくつかの実施形態において、仮想デバイスは、グループメディア再生セッションに参加するデバイスのグループのリーダーデバイスに対応し得る。いくつかの実施形態において、プロセス400を実行するサーバは、仮想デバイスに対応付けられる識別子を格納することができる。いくつかの実施形態において、サーバは、仮想デバイスを用いて、グループメディア再生セッションに参加しているデバイスに命令を送信することができる。たとえば、いくつかの実施形態において、グループメディア再生セッションに参加しているデバイスに対し、仮想デバイスを指し示すおよび/または仮想デバイスに接続するよう命令することができ、それにより、仮想デバイスの識別子に対応付けられる命令をデバイスが受信できるようにする。より具体的な例として、いくつかの実施形態において、グループメディア再生セッションにおけるフォロワーデバイスは、サーバから、仮想デバイスの識別子、仮想デバイスに対応付けられるIPアドレスおよび/またはポート、および/または仮想デバイスに関連しておよび/または仮想デバイスに対応するグループメディア再生セッションに関連してフォロワーデバイスが命令を受信できるようにする、その他任意の適切な情報を、受信することができる。
いくつかの実施形態において、プロセス400の404において、サーバは更新されたリーダーデバイスを識別することができる。いくつかの実施形態において、サーバは、任意の適切なやり方で、更新されたリーダーデバイスを識別することができる。たとえば、いくつかの実施形態において、サーバは、グループメディア再生セッションに参加しているデバイスのグループの中から、グループメディア再生セッションのリーダーデバイスとして指定することができるフォロワーデバイスを、識別することができる。いくつかの実施形態において、サーバは、デバイスのグループの中から、リーダーデバイスとして指定することができるフォロワーデバイスを、任意の適切な基準に基づいて、識別することができる。グループメディア再生セッションのリーダーデバイスとして特定のフォロワーデバイスを指定することが可能か否かを判断するためのより詳細な技術は、図3のブロック306との関連で先に述べた通りであることに、留意されたい。いくつかの実施形態において、サーバは、これを、グループメディア再生セッションに参加しているデバイスのグループに含まれるフォロワーデバイスに対して繰り返すことにより、リーダーデバイスを指定することが可能なフォロワーデバイスを識別することができる。もう1つの例として、いくつかの実施形態において、サーバは、モバイルデバイス(たとえばグループメディア再生セッションに参加しているデバイスにコンテンツをキャスティングすることによってグループメディア再生セッションを開始したモバイルデバイス、および/またはその他任意の適切なモバイルデバイス)から受信した命令に基づいて、更新されたリーダーデバイスを識別することができる。
いくつかの実施形態において、サーバは、現在グループメディア再生セッションに参加していない、更新されたリーダーデバイスを識別できることに、留意されたい。たとえば、いくつかの実施形態において、サーバは、グループメディア再生セッションに参加することが可能であるが、現在グループメディア再生セッションに参加していない、グループメディア再生セッションのリーダーデバイスになることが可能な、任意の適切なデバイスを、識別することができる。いくつかの実施形態において、サーバは、任意の適切な情報に基づいて、グループメディア再生セッションに現在参加していないデバイスを特定することができる。たとえば、いくつかの実施形態において、サーバは、グループメディア再生セッションに参加している他のデバイスへのデバイスの近接性に基づいて、デバイスを識別することができる。より具体的な例として、グループメディア再生セッションに参加しているデバイスがすべてユーザのリビングルーム内のデバイスである場合、サーバは、グループメディア再生セッションに現在参加していないユーザのリビングルーム内にあるものとして示される追加のデバイスを識別することができる。
いくつかの実施形態において、プロセス400の406において、サーバは、グループメディア再生セッションを、識別した更新されたリーダーデバイスの表示を用いて更新することができる。いくつかの実施形態において、サーバは、グループメディア再生セッションを、任意の適切なやり方で更新することができる。たとえば、いくつかの実施形態において、サーバは、識別した更新されたリーダーデバイスをグループメディア再生セッションのリーダーとし、デバイスのグループに対応する新たな仮想デバイスを生成することができる。いくつかの実施形態において、新たな仮想デバイスは、グループメディア再生セッションに対応付けられる元の仮想デバイスとは異なる識別子に対応付けることができることに、留意されたい。いくつかの実施形態において、グループメディア再生セッションに参加するデバイスに対し、新たな仮想デバイスに再接続するよう指示することができる。たとえば、いくつかの実施形態において、サーバは、各フォロワーデバイスに、新たな仮想デバイスの識別子、新たな仮想デバイスに対応付けられるIPアドレスおよび/またはポート、および/またはその他任意の適切な情報を示す情報を、送信することにより、新たな仮想デバイスに対応するグループメディア再生セッションに対応付けられる命令を、フォロワーデバイスが受信することを、可能にする。
いくつかの実施形態において、更新されたリーダーデバイスは、新たな仮想デバイスを示す情報を、任意の適切なやり方で受信できることに、留意されたい。たとえば、いくつかの実施形態において、プロセス400を実行するサーバは、メディア再生セッションを新たな仮想デバイスに移したことに応じて、メッセージをブロードキャストすることができる。いくつかのそのような実施形態において、メッセージは、新たな仮想デバイスの識別子、新たな仮想デバイスのIPアドレスおよび/またはポートを示す情報、および/またはその他任意の適切な情報を、含み得る。いくつかの実施形態において、新たな仮想デバイスのIPアドレスおよび/またはポートを示す情報は、更新されたリーダーデバイスが新たな仮想デバイスに接続するために使用できるヒント情報であってもよい。これに加えてまたはこれに代えて、いくつかの実施形態において、サーバは、新たな仮想デバイスを、mDNSを介して、および/またはその他任意の適切なやり方で、発見することができる。(たとえば更新されたリーダーデバイスがスリープ状態である、および/またはその他任意の適切な理由に起因して)更新されたリーダーデバイスが現在メッセージを受信していない場合、更新されたリーダーデバイスは、mDNSサブタイプクエリおよび/またはその他任意の適切な技術を使用して、仮想デバイスに対応付けられる情報を識別することにより、仮想デバイスに接続できることに、留意されたい。
いくつかの実施形態において、プロセス400の408において、サーバは、更新されたリーダーデバイスとフォロワーデバイスとがメディアコンテンツアイテムを同期してプレゼンテーションするように、更新されたリーダーデバイスに、グループメディア再生セッションに参加しているフォロワーデバイスへの命令の送信を開始させることができる。図2との関連で先に述べたように、命令は、フォロワーデバイスがメディアコンテンツアイテムのプレゼンテーション中に同期を維持するために使用できる更新されたタイムスタンプ等の、任意の適切な種類の命令を含み得ることに、留意されたい。
いくつかの実施形態において、プロセス400の410において、サーバは、グループメディア再生セッションに参加しているデバイスのグループからリーダーデバイスを削除させることができる。いくつかの実施形態において、サーバは、任意の適切なやり方で、デバイスのグループからリーダーデバイスを削除させることができる。たとえば、いくつかの実施形態において、サーバは、リーダーデバイスがもはやグループに含まれていないことを示す、サーバに格納されたグループメディア再生セッションに対応付けられた情報を更新することができる。いくつかの実施形態において、グループメディア再生セッションに参加しているデバイスのグループからの削除に応じて、サーバは、グループメディア再生セッションに対応付けられる任意の命令をリーダーデバイスが受信することを禁止するように、メディア再生セッションに対応付けられる仮想デバイスとリーダーデバイスとの対応関係を削除できることに、留意されたい。
図5を参照して、開示されている主題のいくつかの実施形態に従い使用することが可能な、動的メディアセッションを提供するためのハードウェアを説明する例500が示されている。図示のように、ハードウェア500は、サーバ502、通信ネットワーク504、および/またはユーザデバイス508および510等の1つ以上のユーザデバイス506を、含み得る。
サーバ502は、情報、データ、および/またはメディアコンテンツを格納するための任意の適切なサーバとすることができる。たとえば、いくつかの実施形態において、サーバ502は、任意の適切なキャストセッションおよび/またはキャストセッションにおいて一緒にグループ化される任意の適切なデバイスに対応付けられる情報を格納するためのコンテンツキャスティングサービスに対応付けることができる。いくつかのそのような実施形態において、サーバ502は、メディアコンテンツアイテムを同時にプレゼンテーションしているメディア再生デバイスのグループのメディア再生デバイスに、命令を送信することができ、図1および図2との関連で先に述べたように、命令は、任意の適切なやり方でメディア再生デバイスをグループから脱退させることができる。もう1つの例として、いくつかの実施形態において、サーバ502は、プレゼンテーションのためにユーザデバイス506に送信することができるメディアコンテンツアイテムを格納することができる。いくつかのそのような実施形態において、メディアコンテンツアイテムは、ビデオ、映画、テレビ番組、ライブストリーミングコンテンツ、オーディオコンテンツ(たとえば音楽、オーディオブック、ラジオ番組、および/またはその他任意の適切なオーディオコンテンツ)、および/またはその他任意の適切な種類のメディアコンテンツ等の、任意の適切な種類のメディアコンテンツを含み得る。
通信ネットワーク504は、いくつかの実施形態において、1つ以上の有線および/またはワイヤレスネットワークの任意の適切な組み合わせとすることができる。たとえば、通信ネットワーク504は、インターネット、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク、デジタル加入者線(DSL)ネットワーク、フレームリレーネットワーク、非同期転送モード(ATM)ネットワーク、仮想プライベートネットワーク(VPN)、および/またはその他任意の適切な通信ネットワークのうちの、いずれか1つ以上を含み得る。ユーザデバイス506は、1つ以上の通信リンク(たとえば通信リンク512)により、1つ以上の通信リンク(たとえば通信リンク514)を介してサーバ502にリンクすることができる通信ネットワーク504に接続することができる。通信リンクは、ネットワークリンク、ダイヤルアップリンク、ワイヤレスリンク、ハードワイヤードリンク、その他任意の適切な通信リンク、またはそのようなリンクの任意の適切な組み合わせ等の、ユーザデバイス506とサーバ502との間のデータ通信に適した任意の通信リンクとすることができる。
ユーザデバイス506は、ビデオコンテンツおよび/またはオーディオコンテンツをプレゼンテーションするのに適した任意の1つ以上のユーザデバイスを含み得る。たとえば、いくつかの実施形態において、ユーザデバイス506は、スピーカ、テレビ、メディアプレーヤ、ゲーム機、携帯電話、タブレットコンピュータ、デスクトップコンピュータ、車両娯楽システム、ウェアラブルコンピュータ、および/またはその他任意の適切な種類のユーザデバイスを含み得る。
いくつかの実施形態において、メディアプレゼンテーションデバイスまたはメディアレシーバデバイス等のユーザデバイス506は、デバイス発見要求を介して、ユーザデバイス506が、望ましいビデオ再生能力(たとえば特定の解像度を有するディスプレイ、特定の寸法を有するディスプレイなど)および望ましくないオーディオ再生能力を有するユーザデバイス506と比較して、望ましいオーディオ再生能力を有するユーザデバイス506の特定の近傍内の複数のスピーカであると、判断することができる。
いくつかの実施形態において、図1および図2との関連で先に述べたように、ユーザデバイス506のうちの特定のユーザデバイスが、メディアコンテンツを同期してプレゼンテーションしたデバイスのグループに含まれ得ることに、留意されたい。いくつかのそのような実施形態において、特定のユーザデバイスは、リーダーデバイスまたはフォロワーデバイスの可能性がある。加えて、特定のユーザデバイスは、キャストセッションに関連するリーダーデバイスであり異なるキャストセッションに関連するフォロワーデバイスであり得ることに、留意されたい。
サーバ502は1つのデバイスとして示されているが、いくつかの実施形態において、サーバ502によって実行される機能は、任意の適切な数のデバイスを用いて実行することができる。たとえば、いくつかの実施形態において、サーバ502によって実行される機能を実現するために、複数のデバイスを使用することができる。
図面を過度に複雑にしないために図5には2つのユーザデバイス508および510が示されているが、いくつかの実施形態において、任意の適切な数のユーザデバイス、および/または任意の適切な種類のユーザデバイスを使用することができる。
サーバ502およびユーザデバイス506は、いくつかの実施形態において、任意の適切なハードウェアを用いて実現できる。たとえば、いくつかの実施形態において、デバイス502および506は、任意の適切な汎用コンピュータまたは専用コンピュータを用いて実現できる。たとえば、携帯電話を専用コンピュータを用いて実現してもよい。任意のそのような汎用コンピュータまたは専用コンピュータは、任意の適切なハードウェアを含み得る。たとえば、図6の一例としてのハードウェア600に示されるように、そのようなハードウェアは、ハードウェアプロセッサ602と、メモリおよび/またはストレージ604と、入力デバイスコントローラ606と、入力デバイス608と、ディスプレイ/オーディオドライバ610と、ディスプレイおよびオーディオ出力回路612と、通信インターフェイス614と、アンテナ616と、バス618とを含み得る。
ハードウェアプロセッサ602は、いくつかの実施形態において、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、専用ロジック、および/または汎用コンピュータまたは専用コンピュータの機能を制御するためのその他任意の適切な回路等の、任意の適切なハードウェアプロセッサを含み得る。いくつかの実施形態において、ハードウェアプロセッサ602は、サーバ502等のサーバのメモリおよび/またはストレージに格納されたサーバプログラムによって制御することができる。いくつかの実施形態において、ハードウェアプロセッサ602を、ユーザデバイス506のメモリおよび/またはストレージ604に格納されたコンピュータプログラムによって制御することができる。
メモリおよび/またはストレージ604は、いくつかの実施形態において、プログラム、データ、および/またはその他任意の適切な情報を格納するための任意の適切なメモリおよび/またはストレージとすることができる。たとえば、メモリおよび/またはストレージ604は、ランダムアクセスメモリ、読出専用メモリ、フラッシュメモリ、ハードディスクストレージ、光学媒体、および/またはその他任意の適切なメモリを含み得る。
入力デバイスコントローラ606は、いくつかの実施形態において、1つ以上の入力デバイス608からの入力を制御し受信するための任意の適切な回路とすることができる。たとえば、入力デバイスコントローラ606は、タッチスクリーンから、キーボードから、1つ以上のボタンから、音声認識回路から、マイクから、カメラから、光センサから、加速度計から、温度センサから、近距離センサから、圧力センサから、エンコーダから、および/またはその他任意の種類の入力デバイスから、入力を受信するための回路であればよい。
ディスプレイ/オーディオデバイス610は、いくつかの実施形態において、1つ以上のディスプレイ/オーディオ出力デバイス612への出力を制御および駆動するための任意の適切な回路とすることができる。
通信インターフェイス614は、1つ以上の通信ネットワーク(たとえばコンピュータネットワーク504)に対してインターフェイスするための任意の適切な回路とすることができる。たとえば、インターフェイス614は、ネットワークインターフェイスカード回路、ワイヤレス通信回路、および/またはその他適切な種類の通信ネットワーク回路を含み得る。
アンテナ616は、いくつかの実施形態において、通信ネットワーク(たとえば通信ネットワーク504)とワイヤレス通信するための任意の適切な1つ以上のアンテナであってもよい。
バス618は、いくつかの実施形態において、2つ以上の構成要素602、604、606、610、および614間の通信のため任意の適切なメカニズムであってもよい。
いくつかの実施形態に従い、その他任意の適切な構成要素をハードウェア600に含めることができる。
いくつかの実施形態において、図1および図2のプロセスの上記ブロックのうちの少なくともいくつかは、図面に示しその関連で説明した順序およびシーケンスに限定されない任意の順序またはシーケンスで実行されてもよい。また、図1および図2の上記ブロックのうちのいくつかを、適切であれば実質的に同時にまたは並列に実行または実施することにより、レイテンシおよび処理時間を短縮することができる。それに加えてまたはそれに代えて、図1および図2のプロセスの上記ブロックのうちのいくつかを省略してもよい。
いくつかの実施形態において、本明細書における機能および/またはプロセスを実行するための命令を格納するために、任意の適切なコンピュータ読取可能媒体を使用することができる。たとえば、いくつかの実施形態において、コンピュータ読取可能媒体は、一時的または非一時的なものとすることができる。たとえば、非一時的なコンピュータ読取可能媒体は、非一時的な形態の磁気媒体(ハードディスク、フロッピー(登録商標)ディスク、および/またはその他任意の適切な磁気媒体等)、非一時的な形態の光学媒体(コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、および/またはその他任意の適切な光学媒体等)、非一時的な形態の半導体媒体(フラッシュメモリ、電気的にプログラム可能な読出専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読出専用メモリ(EEPROM)、および/またはその他任意の適切な半導体媒体等)、一過性ではないもしくは送信中の性能のいかなる類似性もない任意の適切な媒体、および/または任意の適切な有形媒体等の、媒体を含み得る。別の例として、一時的なコンピュータ読取可能媒体は、ネットワーク上の信号、ワイヤ、導体、光ファイバ、回路、一過性であり送信中の性能のいかなる類似性も持たない任意の適切な媒体、および/または任意の適切な無形媒体を、含み得る。
このようにして、動的メディアセッションを提供するための方法、システム、および媒体が提供される。
説明のための上記実施形態において本発明を記載し説明してきたが、本開示はあくまでも例を示すために行われているのであって、本発明の実装形態の詳細の数多くの変更が、以下の請求項によってのみ限定される本発明の精神および範囲から逸脱することなく、可能であることが理解される。開示されている実施形態の特徴は、さまざまなやり方で組み合わせて再構成することができる。

Claims (27)

  1. メディア再生のための方法であって、前記方法は、
    リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、前記リーダーデバイスと前記メディア再生デバイスのグループ内の前記複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信するステップと、
    前記メディアコンテンツアイテムの前記同期プレゼンテーション中に、前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの停止指示を受信するステップと、
    前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの前記停止指示を受信したことに応じて、前記リーダーデバイスを、前記グループメディア再生セッションにおける前記メディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断するステップと、
    前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、前記リーダーデバイスでの前記メディアコンテンツアイテムのプレゼンテーションを停止する一方で、前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスで、前記グループメディア再生セッションにおける前記メディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信するステップとを含む、方法。
  2. 前記リーダーデバイスでの前記メディアコンテンツアイテムのプレゼンテーションは、前記リーダーデバイスで前記メディアコンテンツアイテムをプレゼンテーションするために前記リーダーデバイスで実行されるメディア再生アプリケーションが使用する、1つ以上のメディアリソースを放棄することにより、停止される、請求項1に記載の方法。
  3. 前記メディア再生アプリケーションはオーディオ再生アプリケーションであり、前記1つ以上のメディアリソースはオーディオリソースを含む、請求項2に記載の方法。
  4. 前記メディア再生アプリケーションは、前記リーダーデバイスに対応付けられるディスプレイ上で前記メディアコンテンツアイテムをプレゼンテーションするビデオ再生アプリケーションであり、前記1つ以上のメディアリソースは、前記リーダーデバイスの前記ディスプレイを用いて情報をプレゼンテーションするためのスクリーンリソースを含む、請求項2または3に記載の方法。
  5. 前記メディアコンテンツアイテムは、第1のメディア再生アプリケーションを実行する前記リーダーデバイスによってプレゼンテーションされ、前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、前記方法はさらに、
    前記リーダーデバイスにおいて、第2のメディアコンテンツアイテムを含むメディア再生セッションの開始要求を受信するステップと、
    前記第2のメディアコンテンツアイテムを含む前記メディア再生セッションの前記開始要求を受信したことに応じて、前記第2のメディアコンテンツアイテムをプレゼンテーションするために第2のメディア再生アプリケーションを起動するステップとを含み、前記第2のメディア再生アプリケーションは、前記リーダーデバイス上で前記第1のメディア再生アプリケーションと同時に実行される、先行する請求項のいずれか1項に記載の方法。
  6. 前記第2のメディアコンテンツアイテムを含む前記メディア再生セッションは、第2の複数のフォロワーデバイスでの第2のグループ再生セッションであり、前記リーダーデバイスおよび前記第2の複数のフォロワーデバイスは、メディア再生デバイスの第2のグループとしてグループ化される、請求項5に記載の方法。
  7. 前記第2のメディア再生アプリケーションは、前記メディア再生デバイスの第2のグループ内の前記リーダーデバイスと前記第2の複数のフォロワーデバイスの各々とで前記第2のメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を送信するように構成され、同時に、前記第1のメディア再生アプリケーションを用いて前記更新された制御命令を送信し、前記更新された制御命令は、前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスで、前記グループメディア再生セッションにおける前記メディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、請求項6に記載の方法。
  8. 前記リーダーデバイスで実行されているアプリケーションマネージャにおいて前記1つ以上のメディアリソースはもはや使用されていないという表示を受信するステップをさらに含み、前記第2のメディア再生アプリケーションは、前記第2のメディアコンテンツアイテムを含む前記メディア再生セッションの開始要求を受信したこと、および、前記1つ以上のメディアリソースはもはや使用されていないという表示を受信したことに応じて、前記第2のメディアコンテンツアイテムのプレゼンテーションを開始する、請求項5~7のいずれか1項に記載の方法。
  9. 前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの前記停止指示を受信したことに応じて、前記第1のメディアアプリケーションが前記リーダーデバイス上で見えることを禁止するステップをさらに含み、前記第1のメディアアプリケーションは、前記メディア再生デバイスのグループ内の前記複数のフォロワーデバイスの各々と前記リーダーデバイスとで前記メディアコンテンツアイテムの同期プレゼンテーションが実行されていたときは見える状態であったものであり、前記方法はさらに、
    前記第2のメディアコンテンツアイテムをプレゼンテーションするために前記第2のメディアアプリケーションを現在のメディア再生アプリケーションとして設定するステップを含み、前記第2のメディアアプリケーションはリーダーデバイス上で見える状態である、請求項5~8のいずれか1項に記載の方法。
  10. 前記第1のメディア再生アプリケーションおよび前記第2のメディア再生アプリケーションは、同一のメディア再生アプリケーションのインスタンスである、請求項5~9のいずれか1項に記載の方法。
  11. 前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせないという判断に応じて、前記メディア再生デバイスのグループ内のフォロワーデバイスが前記リーダーデバイスとして指定可能か否かを判断するステップをさらに含む、先行する請求項のいずれか1項に記載の方法。
  12. 前記フォロワーデバイスが前記リーダーデバイスとして指定可能であるという判断に応じて、
    前記リーダーデバイスで実行されているメディア再生アプリケーションに、前記メディア再生デバイスのグループ内のフォロワーデバイスへの、前記メディアコンテンツアイテムに対応するコンテンツのストリームのストリーム転送を、前記フォロワーデバイスに制御命令を送信することによって実行させるステップをさらに含み、前記制御命令は、
    前記フォロワーデバイスを更新されたリーダーデバイスとして指定し、
    前記メディア再生アプリケーションを前記更新されたリーダーデバイスで実行させ、
    前記更新されたリーダーデバイスが前記更新された制御命令を前記第1のメディア再生アプリケーションを介して送信するように構成されるように、前記グループメディア再生セッションを転送し、前記更新された制御命令は、前記メディア再生デバイスのグループに留まる前記複数のフォロワーデバイスの各々と前記更新されたリーダーデバイスとで、前記メディアコンテンツアイテムの同期プレゼンテーションを実行させ、前記方法はさらに、
    前記グループメディア再生セッションに参加している前記メディア再生デバイスのグループから前記リーダーデバイスを削除するステップを含む、請求項11に記載の方法。
  13. 前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせないという判断に応じて、前記グループメディア再生セッションの動的修正を、
    前記グループメディア再生セッションを、前記グループメディア再生セッションに対応付けられる更新されたリーダーデバイスを表示することによって更新することと、
    前記更新されたリーダーデバイスが、前記更新された制御命令を、前記第1のメディア再生アプリケーションを介して送信して、前記更新されたリーダーデバイスと前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスの各々とで前記メディアコンテンツアイテムの同期プレゼンテーションを実行させるように、構成されるように、前記グループメディア再生セッションを転送することと、
    前記グループメディア再生セッションに参加している前記メディア再生デバイスのグループから前記リーダーデバイスを削除することとにより、
    行うステップをさらに含む、先行する請求項のいずれか1項に記載の方法。
  14. メディア再生のためのシステムであって、前記システムは、
    ハードウェアプロセッサを有するリーダーデバイスを備え、前記ハードウェアプロセッサは、
    リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、前記リーダーデバイスと前記メディア再生デバイスのグループ内の前記複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信し、
    前記メディアコンテンツアイテムの前記同期プレゼンテーション中に、前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの停止指示を受信し、
    前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの前記停止指示を受信したことに応じて、前記リーダーデバイスを、前記グループメディア再生セッションにおける前記メディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断し、
    前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、前記リーダーデバイスでの前記メディアコンテンツアイテムのプレゼンテーションを停止する一方で、前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスで、前記グループメディア再生セッションにおける前記メディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信する、システム。
  15. 前記リーダーデバイスでの前記メディアコンテンツアイテムのプレゼンテーションは、前記リーダーデバイスで前記メディアコンテンツアイテムをプレゼンテーションするために前記リーダーデバイスで実行されるメディア再生アプリケーションが使用する、1つ以上のメディアリソースを放棄することにより、停止される、請求項14に記載のシステム。
  16. 前記メディア再生アプリケーションはオーディオ再生アプリケーションであり、前記1つ以上のメディアリソースはオーディオリソースを含む、請求項15に記載のシステム。
  17. 前記メディア再生アプリケーションは、前記リーダーデバイスに対応付けられるディスプレイ上で前記メディアコンテンツアイテムをプレゼンテーションするビデオ再生アプリケーションであり、前記1つ以上のメディアリソースは、前記リーダーデバイスの前記ディスプレイを用いて情報をプレゼンテーションするためのスクリーンリソースを含む、請求項15または16に記載のシステム。
  18. 前記メディアコンテンツアイテムは、第1のメディア再生アプリケーションを実行する前記リーダーデバイスによってプレゼンテーションされ、前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、前記ハードウェアプロセッサはさらに、
    前記リーダーデバイスにおいて、第2のメディアコンテンツアイテムを含むメディア再生セッションの開始要求を受信し、
    前記第2のメディアコンテンツアイテムを含む前記メディア再生セッションの前記開始要求を受信したことに応じて、前記第2のメディアコンテンツアイテムをプレゼンテーションするために第2のメディア再生アプリケーションを起動し、前記第2のメディア再生アプリケーションは、前記リーダーデバイス上で前記第1のメディア再生アプリケーションと同時に実行される、請求項14~17のいずれか1項に記載のシステム。
  19. 前記第2のメディアコンテンツアイテムを含む前記メディア再生セッションは、第2の複数のフォロワーデバイスでの第2のグループ再生セッションであり、前記リーダーデバイスおよび前記第2の複数のフォロワーデバイスは、メディア再生デバイスの第2のグループとしてグループ化される、請求項18に記載のシステム。
  20. 前記第2のメディア再生アプリケーションは、前記メディア再生デバイスの第2のグループ内の前記リーダーデバイスと前記第2の複数のフォロワーデバイスの各々とで前記第2のメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を送信するように構成され、同時に、前記第1のメディア再生アプリケーションを用いて前記更新された制御命令を送信し、前記更新された制御命令は、前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスで、前記グループメディア再生セッションにおける前記メディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、請求項19に記載のシステム。
  21. 前記ハードウェアプロセッサはさらに、前記リーダーデバイスで実行されているアプリケーションマネージャにおいて前記1つ以上のメディアリソースはもはや使用されていないという表示を受信し、前記第2のメディア再生アプリケーションは、前記第2のメディアコンテンツアイテムを含む前記メディア再生セッションの開始要求を受信したこと、および、前記1つ以上のメディアリソースはもはや使用されていないという表示を受信したことに応じて、前記第2のメディアコンテンツアイテムのプレゼンテーションを開始する、請求項18~20のいずれか1項に記載のシステム。
  22. 前記ハードウェアプロセッサはさらに、
    前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの前記停止指示を受信したことに応じて、前記第1のメディアアプリケーションが前記リーダーデバイス上で見えることを禁止し、前記第1のメディアアプリケーションは、前記メディア再生デバイスのグループ内の前記複数のフォロワーデバイスの各々と前記リーダーデバイスとで前記メディアコンテンツアイテムの同期プレゼンテーションが実行されていたときは見える状態であったものであり、前記ハードウェアプロセッサさらに、
    前記第2のメディアコンテンツアイテムをプレゼンテーションするために前記第2のメディアアプリケーションを現在のメディア再生アプリケーションとして設定し、前記第2のメディアアプリケーションはリーダーデバイス上で見える状態である、請求項18~21のいずれか1項に記載のシステム。
  23. 前記第1のメディア再生アプリケーションおよび前記第2のメディア再生アプリケーションは、同一のメディア再生アプリケーションのインスタンスである、請求項18~22のいずれか1項に記載のシステム。
  24. 前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせないという判断に応じて、前記ハードウェアプロセッサはさらに、前記メディア再生デバイスのグループ内のフォロワーデバイスが前記リーダーデバイスとして指定可能か否かを判断する、請求項14~23のいずれか1項に記載のシステム。
  25. 前記フォロワーデバイスが前記リーダーデバイスとして指定可能であるという判断に応じて、前記ハードウェアプロセッサはさらに、
    前記リーダーデバイスで実行されているメディア再生アプリケーションに、前記メディア再生デバイスのグループ内のフォロワーデバイスへの、前記メディアコンテンツアイテムに対応するコンテンツのストリームのストリーム転送を、前記フォロワーデバイスに制御命令を送信することによって実行させ、前記制御命令は、
    前記フォロワーデバイスを更新されたリーダーデバイスとして指定し、
    前記メディア再生アプリケーションを前記更新されたリーダーデバイスで実行させ、
    前記更新されたリーダーデバイスが前記更新された制御命令を前記第1のメディア再生アプリケーションを介して送信するように構成されるように、前記グループメディア再生セッションを転送し、前記更新された制御命令は、前記メディア再生デバイスのグループに留まる前記複数のフォロワーデバイスの各々と前記更新されたリーダーデバイスとで、前記メディアコンテンツアイテムの同期プレゼンテーションを実行させ、前記ハードウェアプロセッサはさらに、
    前記グループメディア再生セッションに参加している前記メディア再生デバイスのグループから前記リーダーデバイスを削除する、請求項24に記載のシステム。
  26. 前記ハードウェアプロセッサはさらに、
    前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせないという判断に応じて、前記グループメディア再生セッションの動的修正を、
    前記グループメディア再生セッションを、前記グループメディア再生セッションに対応付けられる更新されたリーダーデバイスを表示することによって更新することと、
    前記更新されたリーダーデバイスが、前記更新された制御命令を、前記第1のメディア再生アプリケーションを介して送信して、前記更新されたリーダーデバイスと前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスの各々とで前記メディアコンテンツアイテムの同期プレゼンテーションを実行させるように、構成されるように、前記グループメディア再生セッションを転送することと、
    前記グループメディア再生セッションに参加している前記メディア再生デバイスのグループから前記リーダーデバイスを削除することとにより、
    行う、請求項14~25のいずれか1項に記載のシステム。
  27. コンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は、プロセッサによって実行されると、前記プロセッサにメディア再生のための方法を実行させ、前記方法は、
    リーダーデバイスから、各々が、グループメディア再生セッションにおけるメディア再生デバイスのグループに属する、複数のフォロワーデバイスに、前記リーダーデバイスと前記メディア再生デバイスのグループ内の前記複数のフォロワーデバイスの各々とでメディアコンテンツアイテムの同期プレゼンテーションを実行させる制御命令を、送信するステップと、
    前記メディアコンテンツアイテムの前記同期プレゼンテーション中に、前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの停止指示を受信するステップと、
    前記リーダーデバイスによる前記メディアコンテンツアイテムのプレゼンテーションの前記停止指示を受信したことに応じて、前記リーダーデバイスを、前記グループメディア再生セッションにおける前記メディア再生デバイスのグループのリーダーデバイスに留まらせるか否かを判断するステップと、
    前記リーダーデバイスを前記メディア再生デバイスのグループのリーダーデバイスに留まらせるという判断に応じて、前記リーダーデバイスでの前記メディアコンテンツアイテムのプレゼンテーションを停止する一方で、前記メディア再生デバイスのグループに留まっている前記複数のフォロワーデバイスで、前記グループメディア再生セッションにおける前記メディアコンテンツアイテムの同期プレゼンテーションを引続き実行させる、更新された制御命令を、引続き送信するステップとを含む、非一時的なコンピュータ読取可能媒体。
JP2021575426A 2019-06-17 2019-12-02 動的メディアセッションを提供するための方法、システム、および媒体 Active JP7247377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023040663A JP2023078286A (ja) 2019-06-17 2023-03-15 動的メディアセッションを提供するための方法、システム、および媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962862416P 2019-06-17 2019-06-17
US62/862,416 2019-06-17
PCT/US2019/063938 WO2020256766A1 (en) 2019-06-17 2019-12-02 Methods, systems, and media for providing dynamic media sessions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023040663A Division JP2023078286A (ja) 2019-06-17 2023-03-15 動的メディアセッションを提供するための方法、システム、および媒体

Publications (2)

Publication Number Publication Date
JP2022529081A true JP2022529081A (ja) 2022-06-16
JP7247377B2 JP7247377B2 (ja) 2023-03-28

Family

ID=69005926

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021575426A Active JP7247377B2 (ja) 2019-06-17 2019-12-02 動的メディアセッションを提供するための方法、システム、および媒体
JP2023040663A Pending JP2023078286A (ja) 2019-06-17 2023-03-15 動的メディアセッションを提供するための方法、システム、および媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023040663A Pending JP2023078286A (ja) 2019-06-17 2023-03-15 動的メディアセッションを提供するための方法、システム、および媒体

Country Status (8)

Country Link
US (1) US20220210502A1 (ja)
EP (1) EP3984032A1 (ja)
JP (2) JP7247377B2 (ja)
KR (3) KR20240037372A (ja)
CN (2) CN117499725A (ja)
AU (1) AU2019451273A1 (ja)
CA (2) CA3181056A1 (ja)
WO (1) WO2020256766A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542336A (zh) * 2020-04-30 2021-10-22 北京字节跳动网络技术有限公司 一种信息的切换共享方法、装置、电子设备及存储介质
US20220394071A1 (en) * 2021-06-08 2022-12-08 Spotify Ab Group playback session management
KR102493804B1 (ko) 2022-09-14 2023-01-31 (주)플랫브레드 위치 정보 기반의 동기화된 디지털 영상 컨텐츠를 복수의 디스플레이 장치에 출력하는 방법 및 그 서버

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244869A (ja) * 2007-03-27 2008-10-09 National Univ Corp Shizuoka Univ ライブ配信システム、Webサーバ、エンコーダ及びライブ配信システムにおける配信管理方法
JP2009165092A (ja) * 2007-12-31 2009-07-23 Ind Technol Res Inst ストリームデータのネットワーク伝送システム及び方法
US20100151783A1 (en) * 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. Systems and Methods for Synchronized Playout of Music on Several Personal Digital Music Players
US20100284389A1 (en) * 2008-01-07 2010-11-11 Max Ramsay Systems and methods for providing a media playback in a networked environment
US20110055901A1 (en) * 2009-08-28 2011-03-03 Broadcom Corporation Wireless device for group access and management
US20140093219A1 (en) * 2012-09-28 2014-04-03 NoiseToys Inc. Multiple Data Source Aggregation for Efficient Synchronous Multi-Device Media Consumption
US20140149544A1 (en) * 2012-11-28 2014-05-29 Qualcomm Incorporated System and method for providing rights management services for network services
US20150281800A1 (en) * 2012-08-31 2015-10-01 Google Technology Holdings LLC Broadcast content to http client conversion
JP2018502477A (ja) * 2014-11-26 2018-01-25 クアルコム,インコーポレイテッド 複数の相互接続されたデバイス上で、ポイントツーポイント接続を介して受信されるメディアコンテンツストリームの送信およびその再生の同期化を行うためのメディア出力デバイス

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020023B2 (en) * 2003-07-28 2011-09-13 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices without a voltage controlled crystal oscillator
US8234395B2 (en) * 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
KR101633480B1 (ko) * 2009-11-27 2016-06-24 삼성전자주식회사 미디어 처리 기기 및 그 제어 방법
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US10664772B1 (en) * 2014-03-07 2020-05-26 Steelcase Inc. Method and system for facilitating collaboration sessions
WO2017058654A1 (en) * 2015-09-28 2017-04-06 Google Inc. Time-synchronized, multizone media streaming
US11310294B2 (en) * 2016-10-31 2022-04-19 Microsoft Technology Licensing, Llc Companion devices for real-time collaboration in communication sessions
US10992795B2 (en) * 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
EP4254989A3 (en) 2017-05-16 2023-10-18 Apple Inc. Methods and interfaces for home media control

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244869A (ja) * 2007-03-27 2008-10-09 National Univ Corp Shizuoka Univ ライブ配信システム、Webサーバ、エンコーダ及びライブ配信システムにおける配信管理方法
JP2009165092A (ja) * 2007-12-31 2009-07-23 Ind Technol Res Inst ストリームデータのネットワーク伝送システム及び方法
US20100284389A1 (en) * 2008-01-07 2010-11-11 Max Ramsay Systems and methods for providing a media playback in a networked environment
US20100151783A1 (en) * 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. Systems and Methods for Synchronized Playout of Music on Several Personal Digital Music Players
US20110055901A1 (en) * 2009-08-28 2011-03-03 Broadcom Corporation Wireless device for group access and management
US20150281800A1 (en) * 2012-08-31 2015-10-01 Google Technology Holdings LLC Broadcast content to http client conversion
US20140093219A1 (en) * 2012-09-28 2014-04-03 NoiseToys Inc. Multiple Data Source Aggregation for Efficient Synchronous Multi-Device Media Consumption
US20140149544A1 (en) * 2012-11-28 2014-05-29 Qualcomm Incorporated System and method for providing rights management services for network services
JP2018502477A (ja) * 2014-11-26 2018-01-25 クアルコム,インコーポレイテッド 複数の相互接続されたデバイス上で、ポイントツーポイント接続を介して受信されるメディアコンテンツストリームの送信およびその再生の同期化を行うためのメディア出力デバイス

Also Published As

Publication number Publication date
KR102648336B1 (ko) 2024-03-15
KR20230040381A (ko) 2023-03-22
CN114026640A (zh) 2022-02-08
KR20240037372A (ko) 2024-03-21
WO2020256766A1 (en) 2020-12-24
KR102510968B1 (ko) 2023-03-16
CA3181056A1 (en) 2020-12-24
CA3143942C (en) 2023-01-03
AU2019451273A1 (en) 2022-01-20
KR20220011228A (ko) 2022-01-27
CN114026640B (zh) 2023-10-20
JP2023078286A (ja) 2023-06-06
CN117499725A (zh) 2024-02-02
EP3984032A1 (en) 2022-04-20
CA3143942A1 (en) 2020-12-24
US20220210502A1 (en) 2022-06-30
JP7247377B2 (ja) 2023-03-28

Similar Documents

Publication Publication Date Title
US11902606B2 (en) Methods, systems, and media for presenting notifications indicating recommended content
US9940090B2 (en) Synchronized playback system, synchronized playback apparatus, and control method
JP2023078286A (ja) 動的メディアセッションを提供するための方法、システム、および媒体
US10783929B2 (en) Managing playback groups
US11330033B2 (en) Streaming and nonstreaming media transfer between devices
KR20140066641A (ko) 서버, 멀티미디어 기기 및 그들의 제어방법
CN106303679B (zh) 媒体播放控制方法及媒体播放客户端
WO2017075956A1 (zh) 内容投射方法及移动终端
US20220232276A1 (en) Remotely Controlling Playback Devices
US11974338B2 (en) Pairing devices by proxy
JP4220523B2 (ja) ネットワーク上に応用されるグループ再生方法およびコンピュータシステムおよびコンピュータ読取り可能媒体
WO2016095388A1 (zh) 一种媒体文件当前播放位置的共享方法
JP2009253889A (ja) ネットワークシステム、コンテンツサーバおよびコンテンツ再生同期制御方法
US20190306054A1 (en) Contextual Routing of Media Data
US20210185365A1 (en) Methods, systems, and media for providing dynamic media sessions with video stream transfer features

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220427

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230315

R150 Certificate of patent or registration of utility model

Ref document number: 7247377

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150