KR20220011228A - 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들 - Google Patents

동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들 Download PDF

Info

Publication number
KR20220011228A
KR20220011228A KR1020227001576A KR20227001576A KR20220011228A KR 20220011228 A KR20220011228 A KR 20220011228A KR 1020227001576 A KR1020227001576 A KR 1020227001576A KR 20227001576 A KR20227001576 A KR 20227001576A KR 20220011228 A KR20220011228 A KR 20220011228A
Authority
KR
South Korea
Prior art keywords
group
media
leader device
media playback
devices
Prior art date
Application number
KR1020227001576A
Other languages
English (en)
Other versions
KR102510968B1 (ko
Inventor
크리스토퍼 찬
케네스 제이. 맥케이
제임스 캐롤 웨스트
타비스 에이. 맥클렐런
Original Assignee
구글 엘엘씨
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 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020237008726A priority Critical patent/KR102648336B1/ko
Publication of KR20220011228A publication Critical patent/KR20220011228A/ko
Application granted granted Critical
Publication of KR102510968B1 publication Critical patent/KR102510968B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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

동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들
본 출원은 미국 가출원 번호 제62/862,416호(출원일: 2019년 6월 17일)의 혜택을 주장하며, 이러한 특허문헌은 그 전체가 참조로 본 명세서에 통합된다.
본 명세서에서 개시되는 주된 내용은 동적 미디어 세션(dynamic media session)들을 제공하기 위한 방법들, 시스템들, 및 매체들에 관한 것이다. 더 특정적으로, 본 명세서에서 개시되는 주된 내용은, 미디어 재생 디바이스(media playback device)들의 그룹(group)을 갖는 그룹 재생 세션(group playback session)을 동적으로 수정하는 것에 관한 것이다. 특히, 제안되는 해법은, 미디어 콘텐츠 재생이 개시된 선도자 재생 디바이스(leader playback device)가 그룹 재생 세션으로부터 제거될 수 있게 하는 것, 그리고 선도자 재생 디바이스가 또 하나의 다른 미디어 세션에 참여할 수 있게 하는 것을 용이하게 할 수 있다.
네트워크화된 미디어 디바이스들에서의 증가와 함께, 사용자들은 일반적으로 미디어 콘텐츠를 소비하기 위해 다수의 디바이스들을 결합시키는 것, 그럼으로써 더 풍부한 미디어 경험을 생성하는 것에 관심을 가질 수 있다. 예를 들어, 사용자는 집의 상이한 방들(예를 들어, 부엌과 식당, 부엌과 거실, 등)에 위치하는 오디오 디바이스(audio device)들의 그룹 상에서 음악을 재생시키는 것에 관심을 가질 수 있다. 일부 경우들에서, 디바이스들의 그룹을 사용하는 미디어 콘텐츠의 동기화된 제시는, 예를 들어, 모든 디바이스들에 걸쳐 미디어 콘텐츠의 재생의 동기성(synchrony)을 유지하기 위해, 하나의 디바이스가 선도자로서의 역할을 하고 반면 다른 디바이스들은 추종자들로서의 역할을 할 것을 요구할 수 있다.
하지만, 미디어 콘텐츠를 동시에 제시하고 있는 디바이스들의 그룹으로부터 디바이스를 제거하는 것은 때때로 어려울 수 있다. 예를 들어, 부엌 오디오 디바이스, 및 거실 오디오 디바이스들의 쌍(pair)이 동시에 음악을 재생시키고 있는 경우, 그리고 부엌 오디오 디바이스가 선도자 디바이스로서 동작하고, 거실 오디오 디바이스들이 추종자 디바이스들로서 동작하는 경우, 오디오 디바이스의 그룹으로부터 부엌 오디오 디바이스를 제거하는 것은 어려울 수 있다. 이러한 예를 계속하면, 부엌 오디오 디바이스를 제거하는 경우, 미디어 콘텐츠가 디바이스들의 그룹에 제시되는 것이 중단될 수 있다. 즉, 사용자가 미디어 콘텐츠를 디바이스들의 그룹에 동시에 제시하기 위해 디바이스들의 그룹의 선도자를 더 이상 원하지 않을 때, 디바이스들의 그룹을 갖는 미디어 재생 세션을 유지하는 것은 어려울 수 있다.
이에 따라, 동적 미디어 세션들을 제공하기 위한 새로운 방법들, 시스템들, 및 매체들을 제공하는 것이 바람직하다.
동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들이 제공된다.
본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따르면, 미디어 재생(media playback)을 위한 방법이 제공되고, 이러한 방법은, 선도자 디바이스(leader device)로부터, 각각이 그룹 미디어 재생 세션(group media playback session)에서 미디어 재생 디바이스들의 그룹(group)에 속하는 복수의 추종자 디바이스(follower device)들로, 미디어 콘텐츠 아이템(media content item)이 미디어 재생 디바이스들의 그룹 내의 복수의 추종자 디바이스들 각각 및 선도자 디바이스로 동기식으로(synchronously) 제시(present)되도록 하는 제어 명령들을 전송하는 것; 미디어 콘텐츠 아이템의 동기식 제시 동안, 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지(halt)시키기 위한 표시를 수신하는 것; 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신함에 응답하여, 선도자 디바이스가 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 되는지 여부를 결정하는 것; 그리고 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 그룹 미디어 재생 세션에서의 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 선도자 디바이스 상으로의 미디어 콘텐츠 아이템의 제시를 정지시키는 것을 포함한다.
일부 실시예들에서, 선도자 디바이스 상으로의 미디어 콘텐츠 아이템의 제시는, 선도자 디바이스 상에 미디어 콘텐츠 아이템을 제시하기 위해 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션(media playback application)에 의해 사용되는 하나 이상의 미디어 리소스(media resource)들을 포기(relinquishing)함으로써 정지된다.
일부 실시예들에서, 미디어 재생 애플리케이션은 오디오 재생 애플리케이션(audio playback application)이고, 여기서 하나 이상의 미디어 리소스들은 오디오 리소스를 포함한다.
일부 실시예들에서, 미디어 재생 애플리케이션은, 선도자 디바이스와 관련된 디스플레이(display) 상에 미디어 콘텐츠 아이템을 제시하는 비디오 재생 애플리케이션(video playback application)이고, 여기서 하나 이상의 미디어 리소스들은 선도자 디바이스의 디스플레이를 사용하여 정보를 제시하기 위한 스크린 리소스(screen resource)를 포함한다.
일부 실시예들에서, 미디어 콘텐츠 아이템은 제 1 미디어 재생 애플리케이션을 실행시키는 선도자 디바이스에 의해 제시되고, 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 방법은 또한, 선도자 디바이스에서, 제 2 미디어 콘텐츠 아이템을 포함하는 미디어 재생 세션을 개시시키기 위한 요청을 수신하는 것; 그리고 제 2 미디어 콘텐츠 아이템을 포함하는 미디어 재생 세션을 개시시키기 위한 요청을 수신함에 응답하여, 제 2 미디어 콘텐츠 아이템을 제시하기 위해 제 2 미디어 재생 애플리케이션을 발진(launching)시키는 것을 포함하고, 여기서 제 2 미디어 재생 애플리케이션은 선도자 디바이스 상에서 제 1 미디어 재생 애플리케이션과 동시에 실행되고 있다.
일부 실시예들에서, 제 2 미디어 콘텐츠 아이템을 포함하는 미디어 재생 세션은, 제2의 복수의 추종자 디바이스들을 갖는 제 2 그룹 재생 세션이고, 여기서 선도자 디바이스 및 제2의 복수의 추종자 디바이스들은 미디어 재생 디바이스들의 제 2 그룹 내에서 그룹화된다.
일부 실시예들에서, 그룹 미디어 재생 세션에서의 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 전송하기 위해 제 1 미디어 재생 애플리케이션을 동시에 사용하면서, 제 2 미디어 재생 애플리케이션은, 제 2 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 제 2 그룹 내의 제2의 복수의 추종자 디바이스들 각각 및 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하도록 되어 있다.
일부 실시예들에서, 방법은 또한, 하나 이상의 미디어 리소스들이 선도자 디바이스 상에서 실행되는 애플리케이션 관리자(application manager)에서 더 이상 사용되고 있지 않다는 표시를 수신하는 것을 포함하고, 여기서 제 2 미디어 재생 애플리케이션은, 제 2 미디어 콘텐츠 아이템을 포함하는 미디어 재생 세션을 개시시키기 위한 요청을 수신함에 응답하여, 그리고 하나 이상의 미디어 리소스들이 더 이상 사용되고 있지 않다는 표시를 수신함에 응답하여, 제 2 미디어 콘텐츠 아이템의 제시를 개시시킨다.
일부 실시예들에서, 방법은 또한, 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신함에 응답하여, 제 1 미디어 애플리케이션이 선도자 디바이스 상에서 가시적이게 되는 것을 저지(inhibiting)하는 것(여기서 제 1 미디어 애플리케이션은, 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내의 복수의 추종자 디바이스들 각각 및 선도자 디바이스 상에 동기식으로 제시되고 있었을 때는, 가시적 상태(visible state)에 있었음); 그리고 제 2 미디어 콘텐츠 아이템을 제시하기 위한 현재 미디어 재생 애플리케이션으로서 제 2 미디어 애플리케이션을 설정하는 것을 포함하고, 여기서 제 2 미디어 애플리케이션은 선도자 디바이스 상에서 가시적 상태에 있다.
일부 실시예들에서, 제 1 미디어 재생 애플리케이션과 제 2 미디어 재생 애플리케이션은 동일한 미디어 재생 애플리케이션의 인스턴스(instance)들이다.
일부 실시예들에서, 방법은 또한, 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있지 않게 된다고 결정함에 응답하여, 미디어 재생 디바이스들의 그룹 내의 추종자 디바이스가 선도자 디바이스로서 지정될 수 있는지 여부를 결정하는 것을 포함한다.
일부 실시예들에서, 방법은 또한, 추종자 디바이스가 선도자 디바이스로서 지정될 수 있다고 결정함에 응답하여, 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션이 미디어 재생 디바이스들의 그룹 내의 추종자 디바이스로의 미디어 콘텐츠 아이템에 대응하는 콘텐츠의 스트림의 스트림 이송(stream transfer)을 수행하도록 하는 것(여기서 스트림 이송을 수행하도록 하는 것은, 추종자 디바이스에게, 추종자 디바이스를 업데이트된 선도자 디바이스로서 지정하는 것; 미디어 재생 애플리케이션이 업데이트된 선도자 디바이스 상에서 실행되도록 하는 것; 그리고 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 각각 및 업데이트된 선도자 디바이스로 동기식으로 제시되도록 하는 업데이트된 제어 명령들을 업데이트된 선도자 디바이스가 제 1 미디어 재생 애플리케이션을 통해 전송하도록 구성되게 그룹 미디어 재생 세션을 이송하는 것을 행하는 제어 명령을 전송함으로써 이루어짐); 그리고 그룹 미디어 재생 세션에 참여하고 있는 미디어 재생 디바이스들의 그룹으로부터 선도자 디바이스를 제거하는 것을 포함한다.
일부 실시예들에서, 방법은 또한, 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있지 않게 된다고 결정함에 응답하여, 그룹 미디어 재생 세션과 관련된 업데이트된 선도자 디바이스를 표시함으로써 그룹 미디어 재생 세션을 업데이트하는 것; 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 각각 및 업데이트된 선도자 디바이스로 동기식으로 제시되도록 하는 업데이트된 제어 명령들을 업데이트된 선도자 디바이스가 제 1 미디어 재생 애플리케이션을 통해 전송하도록 구성되게 그룹 미디어 재생 세션을 이송하는 것; 그리고 그룹 미디어 재생 세션에 참여하고 있는 미디어 재생 디바이스들의 그룹으로부터 선도자 디바이스를 제거하는 것을 행함으로써, 그룹 미디어 재생 세션을 동적으로 수정하는 것을 포함한다.
본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따르면, 미디어 재생을 위한 시스템이 제공되고, 이러한 시스템은, 하드웨어 프로세서(hardware processor)를 갖는 선도자 디바이스를 포함하고, 여기서 하드웨어 프로세서는, 선도자 디바이스로부터, 각각이 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹에 속하는 복수의 추종자 디바이스들로, 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내의 복수의 추종자 디바이스들 각각 및 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하고; 미디어 콘텐츠 아이템의 동기식 제시 동안, 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신하고; 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신함에 응답하여, 선도자 디바이스가 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 되는지 여부를 결정하고; 그리고 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 그룹 미디어 재생 세션에서의 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 선도자 디바이스 상으로의 미디어 콘텐츠 아이템의 제시를 정지시킨다.
본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따르면, 컴퓨터 실행가능 명령들을 포함하는 비-일시적 컴퓨터-판독가능 매체가 제공되고, 여기서 컴퓨터 실행가능 명령들은 프로세서에 의해 실행될 때 프로세서가 미디어 재생을 위한 방법을 수행하도록 하고, 여기서 방법은, 선도자 디바이스로부터, 각각이 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹에 속하는 복수의 추종자 디바이스들로, 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내의 복수의 추종자 디바이스들 각각 및 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하는 것; 미디어 콘텐츠 아이템의 동기식 제시 동안, 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신하는 것; 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신함에 응답하여, 선도자 디바이스가 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 되는지 여부를 결정하는 것; 그리고 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 그룹 미디어 재생 세션에서의 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 선도자 디바이스 상으로의 미디어 콘텐츠 아이템의 제시를 정지시키는 것을 포함한다.
본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따르면, 미디어 재생을 위한 시스템이 제공되고, 이러한 시스템은, 선도자 디바이스로부터, 각각이 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹에 속하는 복수의 추종자 디바이스들로, 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내의 복수의 추종자 디바이스들 각각 및 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하기 위한 수단; 미디어 콘텐츠 아이템의 동기식 제시 동안, 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신하기 위한 수단; 선도자 디바이스에 의한 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신함에 응답하여, 선도자 디바이스가 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 되는지 여부를 결정하기 위한 수단; 그리고 선도자 디바이스가 미디어 재생 디바이스들의 그룹의 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 그룹 미디어 재생 세션에서의 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 그룹 내에 남아있는 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 선도자 디바이스 상으로의 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 수단을 포함한다.
제안되는 해법에 근거하여, 선도자 디바이스, 예컨대, 미디어 재생 디바이스들의 하나의 그룹보다 더 많은 그룹들에 대한 선도자 재생 디바이스를 사용하는 유연성(flexibility)이 증가될 수 있다. 예를 들어, 미디어 재생 디바이스들의 제 1 그룹의 제 1 미디어 세션에서 선도하는 역할 및 이러한 제 1 미디어 세션에 대한 연결을 소실함이 없이, 미디어 재생 디바이스들의 또 하나의 다른 제 2 그룹의 또 하나의 다른 제 2 미디어 세션에서 디바이스를 선도자 디바이스로서 사용하는 것이 용이하게 될 수 있다. 제안되는 해법은, 특히, 선도자 디바이스가 미디어 재생 디바이스의 제 1 그룹에서 선도하는 역할을 갖는 제 1 동작 상태로부터, 선도자 디바이스가 미디어 재생 디바이스의 제 2 그룹에서 추가적인 선도하는 역할을 갖는 제 2 동작 상태로의, 선도자 디바이스의 전환을 용이하게 할 수 있다.
일부 실시예들에서, 선도자 디바이스 상에서의 미디어 콘텐츠의 제시를 정지시키기 위한 요청, 혹은 그렇지 않으면 디바이스들의 그룹으로부터 제거되기 위한 요청을 수신함에 응답하여, 그리고 선도자 디바이스가 디바이스들의 그룹에 대해 선도자 디바이스로서 남아 있게 된다고 결정함에 응답하여, 선도자 디바이스는 로컬 제시(local presentation)를 중단시킬 수 있는데, 특히 선도자 디바이스 상에서의 미디어 콘텐츠의 로컬 재생(local playback)을 중단시킬 수 있다. 예를 들어, 선도자 디바이스는, 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션에 의해 사용되는 하나 이상의 제시/미디어 리소스들을 해제(releasing)함으로써, 선도자 디바이스 상의 미디어 콘텐츠의 로컬 재생을 중단시킬 수 있다. 이것은 또한, 은닉된 미디어 재생 애플리케이션(hidden media playback application)으로서 선도자 디바이스 상에서 더 실행될 미디어 재생 애플리케이션을 포함할 수 있으며, 여기서, 은닉된 미디어 재생 애플리케이션은 미디어 콘텐츠를 동기식으로 제시하기 위해서 추종자 디바이스들에게 제어 명령들을 계속 전송할 수 있다.
예를 들어, 일부 실시예들에서, 선도자 디바이스는, (예컨대, 은닉된 상태에서) 이전의 그룹 미디어 재생 세션에서 미디어 콘텐츠를 동기식으로 제시하기 위해 추종자 디바이스들에게 제어 명령들을 전송하기 위한 미디어 재생 애플리케이션의 제 1 인스턴스를 동시에 실행시키면서, (예컨대, 가시적 상태에서) 선도자 디바이스 및/또는 하나 이상의 추종자 디바이스들 상에 미디어 콘텐츠를 제시하기 위한 미디어 재생 애플리케이션의 제 2 인스턴스를 발진시킬 수 있다. 미디어 재생 애플리케이션의 제 1 인스턴스 및 제 2 인스턴스는, 이러한 맥락에서 또한, 제 1 미디어 재생 애플리케이션 및 제 2 미디어 재생 애플리케이션으로서 고려될 수 있다.
본 명세서에서 개시되는 주된 내용의 다양한 목적들, 특징들, 및 장점들은, 후속하는 도면들과 연계되어 고려될 때, 본 명세서에서 개시되는 주된 내용의 후속하는 상세한 설명을 참조하여 더 완벽하게 이해될 수 있으며, 도면들에서 동일한 참조 번호들은 동일한 요소들을 식별시킨다.
도 1은 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 동기화된 디바이스들의 그룹으로부터 추종자 디바이스를 제거하기 위한 프로세스의 예시적 사례를 보여준다.
도 2는 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 그룹 미디어 재생 세션에서 선도자 디바이스의 참여를 저지하기 위한 프로세스의 예시적 사례를 보여준다.
도 3은 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 그룹 미디어 재생 세션에서 콘텐츠의 스트림을 선도자 디바이스로부터 추종자 디바이스로 이송하기 위한 프로세스의 예시적 사례를 보여준다.
도 4는 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 미디어 재생 세션과 관련된 정보를 동적으로 수정함으로써 콘텐츠의 스트림을 선도자 디바이스로부터 이송하기 위한 프로세스의 예시적 사례를 보여준다.
도 5는 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 미디어 재생 디바이스들의 그룹들을 관리하기 위한 본 명세서에서 설명되는 메커니즘들의 구현에 적합한 예시적 시스템의 개략적 도면을 보여준다.
도 6은 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 도 5의 사용자 디바이스 및/또는 서버에서 사용될 수 있는 하드웨어의 상세한 예를 보여준다.
다양한 실시예들에 따르면, 동적 미디어 세션들을 제공하기 위한 (방법들, 시스템들, 및 매체들을 포함하는) 메커니즘들이 제공된다.
일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은 미디어 콘텐츠를 동기식으로 제시하기 위해 사용되고 있는 디바이스들의 그룹으로부터 디바이스들이 추가 혹은 제거될 수 있는 동적 미디어 세션들을 제공하기 위해 사용될 수 있다. 예를 들어, 일부 실시예들에서, 디바이스들(예컨대, 디스플레이 디바이스, 오디오 디바이스, 및/또는 미디어 재생 디바이스(들)의 임의의 다른 적절한 타입)의 그룹이 그룹화될 수 있는데, 디바이스들의 그룹 내의 각각의 디바이스가 그룹 미디어 재생 세션에서 미디어 콘텐츠 아이템 또는 미디어 콘텐츠 아이템들의 집합(예컨대, 콘텐츠 아이템들의 재생목록(playlist), 및/또는 미디어 콘텐츠 아이템들의 집합의 임의의 다른 적절한 타입)을 재생시키도록, 그룹화될 수 있다. 예를 들어, 일부 실시예들에서, 디바이스들의 그룹은 음악, 비디오, 텔레비젼 프로그램, 라디오 프로그램, 팟캐스트(podcast), 및/또는 미디어 콘텐츠의 임의의 다른 적절한 타입을 동기식으로 제시할 수 있다. 일부 이러한 실시예들에서, 디바이스들의 그룹 내의 제 1 디바이스는 디바이스들의 그룹의 선도자 디바이스로서 지정될 수 있고, 디바이스들의 그룹 내의 다른 디바이스들은 디바이스들의 그룹 내에서 추종자 디바이스들로서 지정될 수 있다. 일부 실시예들에서, 선도자 디바이스는, 미디어 콘텐츠 아이템의 재생을 시작하기 위한 명령들을 추종자 디바이스들로 전송하는 것, 임의의 적절한 방식으로 현재 재생되는 미디어 콘텐츠 아이템의 재생을 수정하기 위한 명령들을 추종자 디바이스로 전송하는 것, 미디어 콘텐츠 아이템에 대응하는 콘텐츠의 스트림을 전송하는 것, 미디어 콘텐츠 아이템에 대한 링크(link)를 전송하는 것과 같은 임의의 적절한 기능(들)을 수행할 수 있고, 그리고/또는 임의의 다른 적절한 기능들을 수 있음에 유의해야 한다.
일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은 그룹 미디어 재생 세션에서 미디어 콘텐츠를 동기식으로 제시하고 있는 디바이스들의 그룹으로부터 제거될 디바이스들의 그룹 내의 디바이스에 의해 사용될 수 있다.
예를 들어, 디바이스들의 그룹 내에서 디바이스가 추종자 디바이스인 경우에, 본 명세서에서 설명되는 메커니즘들은, 추종자 디바이스가, 도 1과 관련하여 앞에서 설명되는 그리고 도 1에서 보여지는 기법들을 사용하여, 미디어 콘텐츠를 제시하는 디바이스들의 그룹으로부터 자신을 제거하게 할 수 있다. 더 특정적인 예로서, 일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은, 추종자 디바이스가, 추종자 디바이스가 미디어 콘텐츠를 제시하는 것을 중단하게 된다는 표시를 수신하게 할 수 있고, 그리고 이러한 표시를 수신함에 응답하여, 추종자 디바이스가 미디어 콘텐츠의 동기식 재생에 더 이상 참여하고 있지 않다는 메시지(message)를 디바이스들의 그룹의 선도자 디바이스로 전송하게 할 수 있다.
또 하나의 다른 에로서, 디바이스들의 그룹 내에서 디바이스가 선도자 디바이스인 경우에, 본 명세서에서 설명되는 메커니즘들은, 선도자 디바이스가, 디바이스들의 그룹에 대한 선도자 디바이스로서의 역할을 계속 하면서 선도자 디바이스 상에서 미디어 콘텐츠를 제시하는 것을 중단시키게 할 수 있고, 이에 따라 디바이스들의 그룹 내의 추종자 디바이스들은 미디어 콘텐츠의 동기식 재생을 계속하게 된다. 더 특정적인 예로서, 일부 실시예들에서, 도 2와 관련하여 아래에서 설명되는 바와 같이 그리고 도 2에서 보여지는 바와 같이, 선도자 디바이스는, 선도자 디바이스 자체가 미디어 콘텐츠를 제시하는 것으로부터 저지되면서 추종자 디바이스들이 미디어 콘텐츠를 동기식으로 계속 제시할 수 있게 하는 임의의 적절한 정보(예컨대, 미디어 콘텐츠의 재생 위치들을 표시하는 타임스탬프(timestamp)들, 및/또는 임의의 다른 적절한 정보)를 포함하는 명령들을 디바이스들의 그룹 내의 추종자 디바이스들에게 계속 전송할 수 있다. 또 하나의 다른 더 특정적인 예로서, 일부 실시예들에서, 선도자 디바이스 상에서의 미디어 콘텐츠의 재생을 중단시키기 위한 요청, 혹은 그렇지 않으면 디바이스들의 그룹으로부터 제거되기 위한 요청을 수신함에 응답하여, 그리고 선도자 디바이스가 디바이스들의 그룹에 대해 선도자 디바이스로서 남아 있게 된다고 결정함에 응답하여, 메커니즘들은, 선도자 디바이스가, 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션에 의해 사용되는 하나 이상의 미디어 리소스들을 해제함으로써, 선도자 디바이스 상의 미디어 콘텐츠의 로컬 재생을 중단시키도록 할 수 있고, 그리고 미디어 재생 애플리케이션이, 은닉된 미디어 재생 애플리케이션으로서 선도자 디바이스 상에서 실행되도록 할 수 있으며, 여기서, 은닉된 미디어 재생 애플리케이션은 미디어 콘텐츠를 동기식으로 제시하기 위해서 추종자 디바이스들에게 제어 명령들을 계속 전송할 수 있다.
추가적으로, 일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은 선도자 디바이스가 후속적인 미디어 재생 세션을 개시시키게 할 수 있다. 이것은 예를 들어, 선도자 디바이스 상에서 또 하나의 다른 미디어 콘텐츠 아이템을 재생시키는 것, 또 하나의 다른 미디어 콘텐츠 아이템을 추종자 디바이스에 캐스팅(casting)하는 것, 또 하나의 다른 미디어 콘텐츠 아이템을 디바이스들의 또 하나의 다른 그룹에 캐스팅하는 것, 등을 포함할 수 있다.
예를 들어, 일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은, 선도자 디바이스가, (예컨대, 은닉된 상태에서) 이전의 그룹 미디어 재생 세션에서 미디어 콘텐츠를 동기식으로 제시하기 위해 추종자 디바이스들에게 제어 명령들을 전송하기 위한 미디어 재생 애플리케이션의 제 1 인스턴스를 동시에 실행시키면서, (예컨대, 가시적 상태에서) 선도자 디바이스 및/또는 하나 이상의 추종자 디바이스들 상에 미디어 콘텐츠를 제시하기 위한 미디어 재생 애플리케이션의 제 2 인스턴스를 발진시키게 할 수 있다.
또 하나의 다른 예에서는, 일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은, 선도자 디바이스가 디바이스들의 두 개의 그룹들의 선도자 디바이스가 되게 할 수 있다. 예를 들어, 앞에서 설명되는 바와 같이, 그리고 도 2의 블록(210)과 관련하여 아래에서 설명되는 바와 같이 그리고 도 2의 블록(210)에서 보여지는 바와 같이, 선도자 디바이스는, 선도자 디바이스가 제 1 미디어 콘텐츠 아이템를 제시하는 것으로부터 정지되면서, 제 1 미디어 콘텐츠 아이템을 동기식으로 제시하고 있는 하나 이상의 추종자 디바이스들을 포함하는 디바이스들의 제 1 그룹의 선도자 디바이스가 될 수 있다. 이러한 예를 계속하면, 일부 실시예들에서, 선도자 디바이스는 또한, 제 2 미디어 콘텐츠 아이템을 동기식으로 제시하고 있는 하나 이상의 추종자 디바이스들을 포함하는 디바이스들의 제 2 그룹의 선도자 디바이스가 될 수 있고, 여기서 선도자 디바이스는 또한, 디바이스들의 제 2 그룹 내의 추종자 디바이스들과 함께 제 2 미디어 콘텐츠 아이템을 동기식으로 제시하고 있는데, 이는 도 2의 블록(216)과 관련하여 아래에서 설명되는 바와 같다.
일부 실시예들에서, 미디어 콘텐츠를 동기식으로 제시하고 있는 디바이스들의 그룹은, 임의의 적절한 타입(들)의 미디어 재생 디바이스들(예컨대, 오디오 디바이스들, 오디오 및/또는 비디오 능력들을 갖는 보조 디바이스(assistant device)들, 스피커들, 디스플레이 디바이스들, 텔레비전들, 게임 콘솔(game console)들, 등) 중 임의의 적절한 수(예컨대, 2개, 3개, 5개, 및/또는 임의의 다른 적절한 수)의 디바이스들을 포함할 수 있다. 일부 실시예들에서, 디바이스들의 그룹은 임의의 적절한 방식으로 구성될 수 있다. 예를 들어, 일부 실시예들에서, 디바이스들의 그룹은 사용자의 사용자 디바이스 상에(예컨대, 모바일 전화기(mobile phone) 상에, 태블릿 컴퓨터(tablet computer) 상에, 착용가능 컴퓨터(wearable computer) 상에, 랩탑 컴퓨터(laptop computer) 상에, 데스크탑 컴퓨터(desktop computer) 상에, 그리고/또는 임의의 다른 적절한 디바이스 상에) 제시되는 사용자 인터페이스를 통해 구성될 수 있다. 앞에서 설명되는 바와 같이, 일부 실시예들에서, 디바이스들의 그룹은 선도자 디바이스를 가질 수 있다. 일부 실시예들에서, 선도자 디바이스는 디바이스들의 그룹 내에 포함되는 임의의 적절한 디바이스일 수 있는데, 예컨대, 특정 스피커 또는 스피커들의 세트, 특정 텔레비전, 특정 가상 보조 디바이스(virtual assistant device), 그리고/또는 임의의 다른 적절한 디바이스일 수 있다. 일부 실시예들에서, 디바이스들의 그룹의 나머지는 임의의 적절한 수의 추종자 디바이스들을 포함할 수 있다. 일부 실시예들에서, 아래에서 설명되는 바와 같이, 선도자 디바이스는 디바이스들의 그룹 내의 디바이스들이 미디어 콘텐츠 아이템을 동시에 제시하도록 하는 임의의 적절한 명령들을 디바이스들의 그룹 내의 추종자 디바이스들에게 전송할 수 있다.
일부 실시예들에서, 디바이스들의 그룹은 정적 그룹(static group) 또는 동적 그룹(dynamic group)일 수 있음에 유의해야 한다. 일부 실시예들에서, 본 명세서에서 일반적으로 지칭되는 바와 같은, 디바이스들의 정적 그룹은, 그룹으로서 구성되는 그리고 디바이스들의 그룹으로서 저장되는 디바이스들의 그룹(예컨대, "거실과 부엌" 그룹, "위층에 있는 침실" 그룹, "영화들을 보기 위한 스피커들" 그룹, 및/또는 임의의 다른 적절한 그룹)일 수 있는데, 특히 미디어 콘텐츠 아이템이 캐스팅되는 시간 전에 구성되는 그룹, 또는 캐스팅된 미디어 콘텐츠 아이템의 제시 전에 구성되는 그룹일 수 있다. 일부 실시예들에서, 이 경우, 사용자 디바이스의 사용자는 미디어 콘텐츠 아이템(예컨대, 비디오, 오디오 콘텐츠 아이템, 콘텐츠 아이템들의 재생목록, 및/또는 미디어 콘텐츠 아이템의 임의의 다른 적절한 타입)을 정적 그룹에 캐스팅할 수 있고, 이것은 캐스팅된 미디어 콘텐츠 아이템(들)이 디바이스들의 그룹 내의 각각의 디바이스에 의해 동기식으로 제시되는 것이 시작되도록 할 수 있다. 일부 실시예들에서, 본 명세서에서 일반적으로 지칭되는 바와 같은, 디바이스들의 동적 그룹은, 미디어 콘텐츠 아이템이 캐스팅되는 시간에 생성되는, 또는 캐스팅된 미디어 콘텐츠 아이템의 제시 동안 생성되는, 디바이스들의 그룹일 수 있다. 예를 들어, 일부 실시예들에서, 미디어 콘텐츠 아이템은 모바일 디바이스 또는 가상 보조 디바이스를 통해 제 1 디바이스(예컨대, 스피커)에 캐스팅될 수 있고, 그리고 미디어 콘텐츠 아이템을 제 1 디바이스와 동기식으로 제시하는 것을 시작하기 위해 제 2 디바이스(예컨대, 제 2 스피커, 텔레비전, 등)가 그룹에 추가될 때 동적 그룹이 생성될 수 있다.
일부 실시예들에서, 도 2와 관련하여 아래에서 설명되는 바와 같이 그리고 도 2에서 보여지는 바와 같이, 선도자 디바이스는, 선도자 디바이스가 미디어 콘텐츠 아이템들 자체를 제시함이 없이, 추종자 디바이스들이 미디어 콘텐츠 아이템들을 동기식으로 제시하도록 하는 명령들을 그룹 미디어 재생 세션에 참여하고 있는 추종자 디바이스들에게 전송할 수 있음에 유의해야 한다. 즉, 일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은, 선도자 디바이스가, 그룹 미디어 재생 세션과 관련된 콘텐츠를 제시하지 않으면서 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹 내에 남아있게 할 수 있다. 대안적으로, 일부 실시예들에서, 본 명세서에서 설명되는 메커니즘들은 미디어 재생 세션과 관련된 디바이스들의 그룹으로부터 선도자 디바이스를 제거하기 위해 사용될 수 있다. 일부 이러한 실시예들에서, 그룹 미디어 재생 세션에서 제시되고 있는 미디어 콘텐츠와 관련된 콘텐츠의 스트림이, 선도자 디바이스로부터, 그룹 미디어 재생 세션의 업데이트된 선도자로서 지정된 상이한 디바이스로 이송될 수 있다. 예를 들어, 일부 실시예들에서, 그룹 미디어 재생 세션의 업데이트된 선도자는, 그룹 미디어 재생 세션에 현재 포함되는 추종자 디바이스일 수 있는데, 이는 도 3과 관련하여 아래에서 설명되는 바와 같고 그리고 도 3에서 보여지는 바와 같다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 그룹 미디어 재생 세션의 업데이트된 선도자는 그룹 미디어 재생 세션에 추가되는 새로운 디바이스일 수 있는데, 이는 도 4와 관련하여 아래에서 설명되는 바와 같고 그리고 도 4에서 보여지는 바와 같다.
일부 실시예들에서, 스트림 이송이 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 도 3과 관련하여 아래에서 설명되는 바와 같이 그리고 도 3에서 보여지는 바와 같이, 일부 실시예들에서, 현재 선도자 디바이스는, 추종자 디바이스가 업데이트된 선도자 디바이스가 되도록 하는 명령들을 그룹 미디어 재생 세션에 현재 있는 추종자 디바이스에게 전송할 수 있다. 또 하나의 다른 예로서, 도 4와 관련하여 아래에서 설명되는 바와 같이 그리고 도 4에서 보여지는 바와 같이, 스트림 이송은 콘텐츠 캐스팅 서비스(content casting service)와 관련된 서버를 사용하여 구현될 수 있다. 더 특정적인 예로서, 일부 실시예들에서, 서버에 의해 저장 및 유지되는 그룹 미디어 재생 세션과 관련된 정보는 업데이트된 선도자 디바이스를 표시하기 위해 업데이트될 수 있고, 그 다음에, 서버는, 업데이트된 선도자 디바이스가 그룹 미디어 재생 세션에 참여하고 있는 추종자 디바이스들에게 명령들(예컨대, 추종자 디바이스들이 콘텐츠 아이템들을 동기식으로 제시하도록 하는 명령들)을 전송하도록 하는 명령들과 관련하여, 그룹 미디어 재생 세션에서 제시되고 있는 콘텐츠 아이템들에 대응하는 콘텐츠의 스트림이 업데이트된 선도자 디바이스에게 이송되도록 할 수 있다. 일부 이러한 실시예들에서, 이 경우, 선도자 디바이스는 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로부터 제거될 수 있다. 일부 실시예들에서, 이 경우, 디바이스들의 그룹으로부터 제거되는 선도자 디바이스는, 그룹 미디어 재생 세션을 방해(disrupting)함이 없이, 통신 네트워크로부터 연결해제될 수 있거나 또는 전원이 꺼질 수 있다.
추가적으로, (예컨대, 도 2와 관련하여 아래에서 설명되는 바와 같은 그리고 도 2에서 보여지는 바와 같은) 일부 실시예들에서, 명령들이 콘텐츠 캐스팅 서비스와 관련된 서버와 같은 서버로부터 디바이스로 전송될 수 있음에 유의해야 한다. 일부 실시예들에서, 서버는, 미디어 콘텐츠를 동기식으로 제시하기 위해 제어될 수 있는 디바이스들의 그룹들과 관련된 정보와 같은, 임의의 적절한 정보를 저장할 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 디바이스들의 그룹에 할당된 상이한 디바이스들의 식별자들을 표시하는 정보를 저장 및 유지할 수 있다. 더 특정적인 예로서, 일부 실시예들에서, 서버는, 다수의 상이한 디바이스들(예컨대, 거실 스피커, 부엌 스피커, 등)의 식별자들을 표시하는 정보를 저장할 수 있고, 뿐만 아니라, 다수의 상이한 디바이스들이 할당된 그룹(예컨대, "거실과 부엌" 및/또는 임의의 다른 적절한 그룹)의 식별자를 표시하는 정보를 저장할 수 있다. 일부 실시예들에서, 서버는 저장된 정보를 사용하여 상이한 디바이스에게 원격 캐스팅 커맨드(remote casting command)들을 전송할 수 있는데, 이는 도 2와 관련하여 더 상세히 아래에서 설명되는 바와 같다. 일부 실시예들에서, 서버는 임의의 적절한 방식으로 정보를 저장할 수 있는데, 예컨대, 상이한 디바이스들 간의 연결들 혹은 그룹화들을 보여주는 그래프 포맷(graph format)으로 정보를 저장할 수 있다.
동적 미디어 세션들을 제공하기 위한 이러한 특징들 및 다른 특징들이 도 1 내지 도 6과 관련하여 더 설명된다.
도 1로 돌아가면, 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 동기화된 디바이스들의 그룹으로부터 추종자 디바이스를 제거하기 위한 프로세스의 예시적 사례(100)가 보여진다. 일부 실시예들에서, 프로세스(100)의 블록들은 미디어 콘텐츠 아이템을 동시에 제시하게 되어 있는 디바이스들의 그룹에 참여하고 있는 추종자 디바이스(예컨대, 스피커, 텔레비전, 게임 콘솔, 등)에 의해 실행될 수 있다.
일부 실시예들에서, 추종자 디바이스는, 프로세스(100)의 102에서, 선도자 디바이스로부터, 캐스팅 세션과 관련하여 디바이스들의 그룹 내의 디바이스들과 동시에 콘텐츠 아이템을 제시하기 위한 명령들을 수신할 수 있다. 일부 실시예들에서, 명령들은 임의의 적절한 정보 혹은 다른 콘텐츠를 포함할 수 있다. 예를 들어, 일부 실시예들에서, 명령들은, 제시될 미디어 콘텐츠 아이템의 위치를 표시하는 링크(예컨대, 유니폼 리소스 로케이터(Uniform Resource Locator, URL), 및/또는 링크의 임의의 다른 적절한 타입)를 포함할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 명령들은 콘텐츠 아이템에 대응하는 콘텐츠의 스트림을 포함할 수 있다. 또 다른 예로서, 일부 실시예들에서, 명령들은, 미디어 콘텐츠 아이템의 재생이 시작되게 될 때까지의 지연(delay)을 포함할 수 있고, 그럼으로써 프로세스(100)를 실행시키는 추종자 디바이스를 포함하는 디바이스들의 그룹 내의 디바이스들이 미디어 콘텐츠 아이템을 동기식으로 제시할 수 있게 한다.
일부 실시예들에서, 캐스팅 세션과 관련된 정보는 콘텐츠 캐스팅 서비스와 관련된 서버와 같은 서버 상에 저장될 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 캐스팅 세션과 관련된 식별자, 디바이스들의 그룹 내에 포함된 디바이스들의 식별자들, 그리고/또는 디바이스들의 그룹의 선도자 디바이스의 식별자가 서버 상에 저장될 수 있다.
일부 실시예들에서, 추종자 디바이스는 프로세스(100)의 104에서 디바이스들의 그룹 내의 디바이스들과 동시에 콘텐츠 아이템을 제시할 수 있다. 일부 실시예들에서, 콘텐츠 아이템은 임의의 적절한 방식으로 디바이스들의 그룹 내의 디바이스들에 의해 동시에 제시될 수 있다. 예를 들어, 콘텐츠 아이템이 비디오 콘텐츠 및 오디오 콘텐츠를 포함하는 경우들에서, 비디오 콘텐츠는 비디오 콘텐츠를 제시할 수 있는 디바이스들의 그룹 내의 디바이스에 의해 제시될 수 있고, 오디오 콘텐츠는 오디오 콘텐츠를 제시할 수 있는 디바이스들의 그룹 내의 디바이스들 중 임의의 디바이스에 의해 제시될 수 있으며, 이러한 디바이스는, 일부 실시예들에서, 비디오 콘텐츠를 제시하는 디바이스를 포함할 수 있다. 일부 실시예들에서, 디바이스들의 그룹 내의 디바이스들에 의한 콘텐츠 아이템의 재생의 동기성은 임의의 적절한 방식으로 유지될 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는 임의의 적절한 빈도로(예컨대, 매 5초마다, 매 10초마다, 그리고/또는 임의의 다른 적절한 빈도로) 추종자 디바이스들에게 임의의 적절한 타임스탬프들(예컨대, 오디오 타임스탬프, 비디오 타임스탬프, 및/또는 임의의 다른 적절한 타임스탬프들)을 전송할 수 있다. 일부 실시예들에서, 이 경우, 추종자 디바이스들은, 재생 위치를 수신된 타임스탬프에 대응하는 재생 위치로 변경시키기 위해, 수신된 타임스탬프들을 사용할 수 있고, 그럼으로써 디바이스들의 그룹 내의 디바이스들에 걸쳐, 동기화된 재생을 유지하게 된다.
일부 실시예들에서, 프로세스(100)는 102로 루프백(loop back)될 수 있고, 여기서 추종자 디바이스는 선도자 디바이스로부터 추가적인 명령들을 수신할 수 있다. 예를 들어, 일부 실시예들에서, 앞에서 설명되는 바와 같이, 추종자 디바이스는 콘텐츠 아이템의 업데이트된 재생 위치에 대응하는 업데이트된 타임스탬프를 포함하는 추가적인 명령들을 수신할 수 있다. 일부 실시예들에서, 이 경우, 추종자 디바이스는 디바이스들의 그룹 내의 다른 디바이스들과 동시에 콘텐츠 아이템의 제시를 계속하기 위해 추가적인 명령들을 사용할 수 있다. 예를 들어, 일부 실시예들에서, 추종자 디바이스는, 디바이스들의 그룹 내의 다른 디바이스들과의 콘텐츠 아이템의 재생의 동기성을 유지하기 위해, 프로세스(100)를 실행시키는 추종자 디바이스 상의 콘텐츠 아이템의 현재 재생 위치를, 추가적인 명령들에 대응하는 업데이트된 재생 위치로, 조정할 수 있다.
일부 실시예들에서, 추종자 디바이스는, 프로세스(100)의 106에서, 추종자 디바이스가 디바이스들의 그룹을 이탈(leave)하기 위한 명령을 수신할 수 있다. 일부 실시예들에서, 명령은, 현재 캐스팅 세션의 식별자 및/또는 현재 캐스팅 세션과 관련된 임의의 다른 적절한 정보(예컨대, 디바이스들의 그룹 내의 디바이스들의 식별자들, 디바이스들의 그룹의 선도자 디바이스의 식별자, 및/또는 임의의 다른 적절한 정보)를 저장한 서버, 예컨대, 앞에서 설명되는 바와 같은, 콘텐츠 캐스팅 서비스와 관련된 서버를 통해, 수신될 수 있다. 일부 실시예들에서, 서버는, 임의의 적절한 방식으로, 추종자 디바이스가 디바이스들의 그룹으로부터 제거되게 된다는 표시를 수신할 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 서버는, 사용자의 사용자 디바이스로부터(예컨대, 모바일 전화기로부터, 태블릿 컴퓨터로부터, 착용가능 컴퓨터로부터, 가상 보조 디바이스로부터, 그리고/또는 사용자 디바이스의 임의의 다른 적절한 타입으로부터) 전송되는 메시지를 통해, 추종자 디바이스가 디바이스들의 그룹으로부터 제거되게 된다는 표시를 수신할 수 있다. 더 특정적인 예로서, 임의의 적절한 방식으로 식별될 수 있는, 예컨대, 디바이스의 위치(예컨대, "거실", "부엌", 및/또는 임의의 다른 적절한 위치)에 식별될 수 있는, 추종자 디바이스에 할당된 명칭에 의해 식별될 수 있는, 그리고/또는 임의의 다른 적절한 방식으로 식별될 수 있는, 특정 추종자 디바이스(예컨대, "거실 스피커들", "부엌 스피커들", 및/또는 임의의 다른 적절한 디바이스)의 표시를 수신할 수 있다. 일부 이러한 실시예들에서, 이 경우, 서버는, 서버 상에 저장된 정보로부터 특정 추종자 디바이스를 식별할 수 있고, 그리고 디바이스들의 그룹을 이탈하기 위한 명령을 추종자 디바이스에게 전송할 수 있다.
일부 실시예들에서, 추종자 디바이스는, 프로세스(100)의 108에서, 명령을 수신함에 응답하여 디바이스들의 그룹 내의 디바이스들과 동시에 콘텐츠 아이템을 제시하는 것을 중단시킬 수 있다.
일부 실시예들에서, 추종자 디바이스는, 프로세스(100)의 110에서, 디바이스들의 그룹이 정적 그룹인지 여부를 결정할 수 있다. 앞에서 설명되는 바와 같이, 일부 실시예들에서, 정적 그룹은, 캐스팅 세션 또는 임의의 다른 적절한 그룹 미디어 재생 세션을 개시시키기 전에 구성 및 저장된 디바이스들의 그룹을 지칭할 수 있다. 일부 실시예들에서, 디바이스들의 그룹이 정적 그룹이 아니라고 결정함에 응답하여, 추종자 디바이스는 디바이스들의 그룹이 동적 그룹이라고 결정할 수 있음에 유의해야 한다. 일부 이러한 실시예들에서, 앞에서 설명되는 바와 같이, 동적 그룹은, 캐스팅 세션 동안 그리고/또는 캐스팅 세션의 시작에서 구성된 그룹일 수 있다.
일부 실시예들에서, 추종자 디바이스는 임의의 적절한 방식으로 디바이스들의 그룹이 정적 그룹인지 여부를 결정할 수 있다. 예를 들어, 일부 실시예들에서, 추종자 디바이스는, 그룹 타입(예컨대, 정적 그룹 또는 동적 그룹)을 표시하는, 디바이스들의 구성된 그룹과 관련하여 저장된 정보에 근거하여, 디바이스들의 그룹이 정적 그룹인지 여부를 결정할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 추종자 디바이스는, 그룹이 구성된 날짜 및/또는 시간을 캐스팅 세션이 개시된 시간과 비교할 수 있다. 더 특정적인 예로서, 추종자 디바이스가, 그룹이 캐스팅 세션이 개시된 시간 전에 구성되었고 저장되었다고 결정하는 경우에, 추종자 디바이스는 디바이스들의 그룹이 정적 그룹이라고 결정할 수 있다.
만약, 프로세스(100)의 110에서, 추종자 디바이스가, 그룹이 정적 그룹이라하고 결정한다면(110에서 "예"), 추종자 디바이스는, 프로세스(100)의 112로 진행할 수 있고, 그리고 프로세스(100)를 실행시키는 추종자 디바이스가 현재 캐스팅 세션에 더 이상 참여하고 있지 않다고 표시하는 메시지를 선도자 디바이스에게 전송할 수 있다. 일부 실시예들에서, 메시지를 수신함에 응답하여, 선도자 디바이스는, 추종자 디바이스가 디바이스들의 그룹 내의 디바이스들과 동시에 콘텐츠 아이템을 제시하도록 하는 명령들을 프로세스(100)를 실행시키는 추종자 디바이스에게 전송하는 것을 중단시킬 수 있다.
일부 실시예들에서, 프로세스(100)를 실행시키는 추종자 디바이스는 디바이스들의 그룹 내에 남아있을 수 있음에 유의해야 한다. 특히, 디바이스들의 그룹 내에 남아있음으로써, 추종자 디바이스는 미래의 캐스팅 세션과 관련하여 콘텐츠 아이템을 제시하는 것을 시작하기 위한 미래의 명령들을 수신할 수 있다. 예를 들어, 캐스팅 세션 또는 그룹 미디어 재생 세션이 끝나고 현재 세션에 참여하고 있는 디바이스들의 그룹이 발진해제(unlaunch)되면, 선도자 디바이스는, 하나 이상의 추종자 디바이스들이 동적으로 제거되었는지 여부를 표시하는 상태 정보를 말소(clear)시킬 수 있고, 그리고 후속하는 캐스팅 세션에서, 디바이스들의 정적 그룹 내의 추종자 디바이스들에 대한 미디어 재생을 (예컨대, 오디오 스트림 및 대응하는 제어 명령들을 제공함으로써) 시작할 수 있다.
반대로, 만약, 프로세스(100)의 110에서, 추종자 디바이스가, 그룹이 정적 그룹이 아니라고 결정한다면(110에서 "아니오"), 추종자 디바이스는 112로 진행할 수 있고, 그리고 프로세스(100)를 실행시키는 추종자 디바이스가 디바이스들의 그룹을 이탈하고 있다고 표시하는 메시지를 선도자 디바이스에게 전송할 수 있다. 일부 실시예들에서, 디바이스들의 그룹에 재합류(rejoin)하기 위해, 프로세스(100)를 실행시키는 추종자 디바이스는, 디바이스들의 그룹에 추가되기 위한 요청을 전송함으로써, 임의의 적절한 시간에, 디바이스들의 그룹에 동적으로 다시 추가될 수 있다.
도 2로 돌아가면, 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 그룹 미디어 재생 세션에서 선도자 디바이스의 참여를 저지하기 위한 프로세스의 예시적 사례(200)가 보여진다. 일부 실시예들에서, 프로세스(200)의 블록들은, 디바이스들의 그룹의 선도자 디바이스와 같은 임의의 적절한 디바이스 상에서 실행될 수 있다. 일부 실시예들에서, 선도자 디바이스는 임의의 적절한 방식으로 디바이스들의 그룹으로부터 식별될 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는 디바이스들의 그룹을 구성한 사용자에 의해 (예컨대, 사용자 인터페이스를 통해, 그리고/또는 임의의 다른 적절한 방식으로) 특정될 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 선도자 디바이스는, 임의의 적절한 정보에 근거하여, 디바이스들의 그룹 내의 디바이스들로부터 동적으로 선택될 수 있는데, 예컨대, 제시되게 되는 콘텐츠 아이템과 관련하여 선도자 디바이스의 디바이스 능력들에 근거하여 동적으로 선택될 수 있고(예컨대, 콘텐츠 아이템이 비디오 콘텐츠를 포함한다고 결정함에 응답하여, 관련된 디스플레이를 갖는 디스플레이 디바이스를 선택하는 것, 등), (예컨대, 도 2의 블록(216)과 관련하여 아래에서 설명되는 바와 같이) 선도자 우선권 점수(leader priority score)에 근거하여 동적으로 선택될 수 있고, 그리고/또는 임의의 다른 적절한 정보에 근거하여 동적으로 선택될 수 있다.
일부 실시예들에서, 프로세스(200)의 202에서, 선도자 디바이스는, 각각이 디바이스들의 제 1 그룹에 속하는 하나 이상의 추종자 디바이스들에게, 선도자 디바이스 및 추종자 디바이스들 각각이 캐스팅 세션 혹은 다른 적절한 그룹 미디어 재생 세션과 관련하여 콘텐츠 아이템을 동시에 제시하도록 하는 명령들을 전송할 수 있다. 도 1과 관련하여 앞에서 설명되는 바와 같이, 일부 실시예들에서, 콘텐츠 아이템은 콘텐츠 아이템의 임의의 적절한 타입일 수 있는데, 예컨대, 비디오 콘텐츠 및 오디오 콘텐츠를 포함하는 콘텐츠 아이템(예컨대, 비디오, 영화, 텔레비전 프로그램, 실시간-스트리밍되는(live-streamed) 비디오 콘텐츠, 및/또는 콘텐츠 아이템의 임의의 다른 적절한 타입)일 수 있고, 오로지 오디오 콘텐츠(예컨대, 음악, 라디오 프로그램, 오디오 팟캐스트, 노래, 노래들의 재생목록, 및/또는 오디오 콘텐츠 아이템(들)의 임의의 다른 적절한 타입)일 수 있고, 그리고/또는 콘텐츠의 임의의 다른 적절한 타입일 수 있다. 일부 실시예들에서는, 콘텐츠 아이템이 비디오 콘텐츠를 포함하는 경우들에서, 선도자 디바이스는, 비디오 디스플레이 능력들을 갖는 추종자 디바이스에게 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하도록 지시할 수 있고, 그리고 디바이스들의 그룹 내의 다른 디바이스들에게 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하도록 지시할 수 있음에 유의해야 한다. 추가적으로 또는 대안적으로, 콘텐츠 아이템이 비디오 콘텐츠를 포함하는 경우들에서, 선도자 디바이스 자체가 콘텐츠 아이템과 관련된 비디오 콘텐츠 및/또는 오디오 콘텐츠를 제시할 수 있다.
일부 실시예들에서, 선도자 디바이스는 임의의 적절한 명령들이 디바이스들의 제 1 그룹 내의 디바이스들에게 전송되도록 할 수 있다. 예를 들어, 일부 실시예들에서, 명령들은 제시되게 되는 콘텐츠 아이템에 대한 링크를 포함할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 명령들은, 콘텐츠 아이템을 제시하는 동안 동기성을 유지하기 위해 디바이스들의 제 1 그룹 내의 추종자 디바이스들 각각에 의해 사용될 수 있는 하나 이상의 타임스탬프들(예컨대, 오디오 콘텐츠에서 재생 위치를 표시하는 오디오 타임스탬프, 콘텐츠 아이템의 비디오 콘텐츠에서 재생 위치를 표시하는 비디오 타임스탬프, 그리고/또는 임의의 다른 적절한 타임스탬프들)을 포함할 수 있다. 또 다른 예로서, 일부 실시예들에서, 선도자 디바이스는 콘텐츠 아이템과 관련된 데이터를 디바이스들의 제 1 그룹 내의 하나 이상의 추종자 디바이스들에게 스트리밍할 수 있다. 다른 예로서, 일부 실시예들에서, 명령들은, 미디어 스트림의 시작 커맨드들, (중지 혹은 재개가 일어날 선도자 디바이스의 타임스탬프를 포함할 수 있는) 중지/재개 커맨드들, (최종 미디어 데이터 프레임의 타임스탬프 및 시퀀스 번호(sequence number)를 포함할 수 있는) 미디어 스트림의 종료 커맨드, 그리고/또는 그룹 미디어 재생 세션에 대한 음량 제어 커맨드들을 포함할 수 있다.
일부 실시예들에서, 선도자 디바이스는 선도자 디바이스 상에서 실행되는 임의의 적절한 애플리케이션들을 사용하여 콘텐츠 아이템을 제시할 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 콘텐츠 아이템과 관련된 오디오 콘텐츠는 선도자 디바이스 상에서 실행되는 오디오 애플리케이션을 사용하여 제시될 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 콘텐츠 아이템과 관련된 비디오 콘텐츠는 선도자 디바이스와 관련된 비디오 애플리케이션을 사용하여 선도자 디바이스와 관련된 디스플레이 상에 제시될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 선도자 디바이스는 선도자 디바이스 상에서 실행되는 하나 이상의 애플리케이션들을 사용하여 디바이스들의 제 1 그룹 내의 추종자 디바이스들에세 명령들을 전송할 수 있다. 예를 들어, 일부 실시예들에서, 콘텐츠 아이템과 관련된 오디오 콘텐츠를 동기식으로 제시하기 위해 추종자 디바이스들에 의해 사용되는 오디오 타임스탬프들은, 선도자 디바이스 상에서 실행되는 오디오 애플리케이션을 사용하여 결정 및/또는 전송될 수 있다.
추가적으로, 도 1과 관련하여 앞에서 설명되는 바와 같이, 일부 실시예들에서, 캐스팅 세션과 관련된 임의의 적절한 정보는 서버에 의해 저장될 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 캐스팅 세션의 식별자, 캐스팅 세션이 개시된 날짜 및/또는 시간, 디바이스들의 제 1 그룹 내의 디바이스들의 식별자, 선도자 디바이스의 식별자, 그리고/또는 임의의 다른 적절한 정보가 서버에 의해 저장될 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 204에서, 선도자 디바이스가 캐스팅 세션과 관련하여 콘텐츠 아이템의 재생을 중단시키기 위한 명령을 수신할 수 있다. 일부 실시예들에서, 서버는 선도자 디바이스가 콘텐츠 아이템을 제시하는 것을 중단시키게 된다는 표시를 임의의 적절한 방식으로 수신할 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 특정 디바이스(예컨대, 선도자 디바이스)가 콘텐츠 아이템을 제시하는 것을 중단시키게 된다고 표시하는 요청을 사용자 디바이스로부터 수신할 수 있다. 더 특정적인 예로서, 일부 실시예들에서, 서버는, 임의의 적절한 방식으로, 예를 들어, 특정 디바이스(예컨대, "거실 스피커들", "침실 텔레비전", 등)에 할당된 명칭 혹은 다른 식별자에 의해, 그리고/또는 임의의 다른 적절한 방식으로, 캐스팅 세션과 관련하여 콘텐츠 아이템을 제시하는 것을 중단시키게 되는 특정 디바이스를 표시하는 요청을 사용자 디바이스로부터 수신할 수 있고, 그 다음에, 서버는 식별된 디바이스가 디바이스들의 그룹의 선도자 디바이스라고 결정할 수 있다. 일부 실시예들에서, 서버에게 요청을 전송하는 사용자 디바이스는 임의의 적절한 사용자 디바이스일 수 있는데, 예컨대, 모바일 전화기, 태블릿 컴퓨터, 착용가능 컴퓨터, 랩탑 컴퓨터, 가상 보조 디바이스, 및/또는 사용자 디바이스의 임의의 다른 적절한 타입일 수 있음에 유의해야 한다. 추가적으로, 일부 실시예들에서, 사용자 디바이스는, 임의의 적절한 방식으로, 예컨대, 사용자 디바이스 상에 제시되는 사용자 인터페이스를 통해, 사용자 디바이스의 마이크로폰(microphone)에 의해 수신되는 발성된 커맨드를 통해, 그리고/또는 임의의 다른 적절한 방식으로, 사용자 디바이스의 사용자로부터 요청을 수신할 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 206에서, 임의의 적절한 방식으로 선도자 디바이스로부터의 콘텐츠 아이템의 재생을 정지시킬 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 콘텐츠 아이템의 재생이 중단되게 된다고 표시하는 명령들을 선도자 디바이스와 관련된 미디어 재생 파이프라인으로 전송할 수 있다. 추가적으로 또는 대안적으로, 선도자 디바이스는, 일부 실시예들에서, 임의의 적절한 방식으로, 대응하는 미디어 파이프라인 백엔드(media pipeline backend)를 제거할 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 208에서, 선도자 디바이스 상에서 실행되는 애플리케이션에 의해 사용되는 콘텐츠 제시 리소스들이 해제(release)되도록 혹은 그렇지 않으면 취소(revoke)되도록 할 수 있다. 일부 실시예들에서, 콘텐츠 제시 리소스들은 미디어 콘텐츠를 제시하기 위해서 선도자 디바이스에 의한 사용을 위해 이용가능한 리소스들의 임의의 적절한 타입(들)을 포함할 수 있다. 예를 들어, 일부 실시예들에서, 콘텐츠 제시 리소스들은 선도자 디바이스를 사용하여 오디오 콘텐츠를 제시하기 위한 오디오 리소스들을 포함할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 콘텐츠 제시 리소스들은, 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하기 위한, 그리고/또는 콘텐츠 아이템을 제시하기 위한 애플리케이션과 관련된 사용자 인터페이스를 제시하기 위한 스크린 리소스들을 포함할 수 있다.
일부 실시예들에서, 선도자 디바이스는 선도자 디바이스 상에서 실행되는 애플리케이션에 의해 사용되는 콘텐츠 제시 리소스들이 임의의 적절한 방식으로 취소되도록 할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스 상에서 실행되는 애플리케이션들을 관리하는 애플리케이션 관리자는, 선도자 디바이스에 의해 콘텐츠 아이템을 제시하기 위한 애플리케이션에 의해 사용되는 특정 리소스를 취소할 수 있다. 더 특정적인 예로서, 애플리케이션이 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하기 위한 오디오 애플리케이션인 경우에, 애플리케이션 관리자는 애플리케이션에 의해 사용되는 오디오 리소스를 취소할 수 있다. 또 하나의 다른 더 특정적인 예로서, 애플리케이션이 오디오 애플리케이션인 경우에, 그리고 오디오 애플리케이션이 선도자 디바이스의 디스플레이 상에 제시되는 사용자 인터페이스(예컨대, 선도자 디바이스에 의해 제시되는 오디오 콘텐츠의 음량을 조정하기 위한 사용자 인터페이스, 콘텐츠 아이템의 재생과 관련된 재생 위치 변경들을 수신하기 위한 사용자 인터페이스, 및/또는 사용자 인터페이스의 임의의 다른 적절한 타입)를 포함하는 경우에, 애플리케이션 관리자는 애플리케이션에 의해 사용되는 스크린 리소스를 취소할 수 있다. 또 다른 더 특정적인 예로서, 애플리케이션이 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하기 위한 비디오 애플리케이션인 경우에, 애플리케이션 관리자는 비디오 애플리케이션에 의해 사용되는 스크린 리소스를 취소할 수 있다. 일부 실시예들에서, 다수의 애플리케이션들이 콘텐츠 아이템의 재생을 위해 선도자 디바이스에 의해 사용될 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하기 위해 오디오 애플리케이션을 사용할 수 있고, 그리고 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하기 위해 비디오 애플리케이션을 사용할 수 있다. 일부 이러한 실시예들에서, 애플리케이션 관리자는 다수의 애플리케이션들과 관련된 임의의 대응하는 리소스들을 취소할 수 있다.
일부 실시예들에서, 애플리케이션 관리자는, 애플리케이션이 더 이상 가시적이지 않도록(즉, 선도자 디바이스의 스크린 상에서 가시적이지 않도록, 따라서 스크린 리소스들을 사용하지 않도록), 애플리케이션이 은닉되도록 할 수 있음에 유의해야 한다. 일부 실시예들에서, 은닉된 상태로 전이(transition)되는 혹은 비가시적이게 되는 애플리케이션은 현재 애플리케이션인 것으로 고려되는 것으로부터 저지될 수 있다. 일부 실시예들에서, 선도자 디바이스는 하나 이상의 계층(layer)들을 사용하여 다수의 미디어 재생 애플리케이션의 동시 실행을 지원할 수 있음에 또한 유의해야 한다. 이러한 계층들은, 예를 들어, 선도자 디바이스의 사용자에게 가시적인 캐스팅 애플리케이션(cast application)을 위한 계층, 캐스팅 애플리케이션의 상단(top) 상에서 보여질 수 있는 오버레이 애플리케이션(overlay application)을 위한 계층, 그리고 또 하나의 다른 애플리케이션(예컨대, 원격-제어 애플리케이션)이 가시적 애플리케이션일 때 실행될 수 있는 은닉된 애플리케이션을 위한 계층을 포함할 수 있다.
일부 실시예들에서, 현재 애플리케이션은, 임의의 적절한 입력 제어기를 통해, 예컨대, 선도자 디바이스와 짝지어진(paired) 모바일 디바이스, 원격 제어, 및/또는 디바이스의 임의의 다른 적절한 타입을 통해 임의의 적절한 미디어-제어 메시지들을 수신할 수 있다. 일부 실시예들에서, 현재 애플리케이션은, 임의의 적절한 방식으로, 예컨대, 현재 애플리케이션에 대해 의도된 메시지들을 청취하는 원격 제어 디바이스 혹은 애플리케이션에 대한 핸들러(handler)를 통해, 미디어-제어 메시지들을 수신할 수 있다. 일부 실시예들에서, 특정 애플리케이션은 선도자 디바이스의 애플리케이션 관리자에 의해 현재 애플리케이션으로서 표시될 수 있는데, 여기서 애플리케이션 관리자는 원격 제어 디바이스 혹은 애플리케이션에 대한 핸들러가 애플리케이션 관리자에 의해 현재 애플리케이션으로서 표시된 애플리케이션에게 메시지들을 전송하도록 할 수 있다.
추가적으로, 앞에서 설명되는 바와 같이, 일부 실시예들에서, 미디어 콘텐츠 아이템을 제시하기 위해 선도자 디바이스에 의해 사용되는 애플리케이션은 은닉된 것으로서 표시될 수 있고, 따라서 현재 애플리케이션이 아닐 수 있음에 유의해야 한다. 이에 따라, 애플리케이션은, 미디어 콘텐츠 아이템이 디바이스들의 제 1 그룹 내의 추종자 디바이스들에 의해 제시되도록 하기 위해 사용되고 있음에도, 원격 제어 디바이스 또는 다른 디바이스를 통해 미디어-제어 메시지들을 수신하는 것으로부터 저지될 수 있는데, 왜냐하면 애플리케이션이 현재 애플리케이션으로서 표시되지 않기 때문이다. 하지만, 일부 실시예들에서, 디바이스들의 제 1 그룹 내의 추종자 디바이스들 상에서의 콘텐츠 아이템의 재생을 제어하기 위한 미디어-제어 메시지들은, 임의의 적절한 방식으로, 선도자 디바이스 상에서 실행되는 은닉된 애플리케이션 인스턴스로 전달될 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 임의의 적절한 방식으로, 디바이스들의 제 1 그룹을 식별시키는, 그리고 디바이스들의 제 1 그룹에 의해 동기식으로 제시되고 있는 콘텐츠 아이템의 재생의 수정을 포함하는, 명령을 (예컨대, 선도자 디바이스와 짝지어진 모바일 디바이스로부터, 선도자 디바이스와 짝지어진 가상 보조 디바이스로부터, 그리고/또는 임의의 다른 적절한 방식으로) 수신할 수 있다. 이러한 예를 계속하면, 일부 실시예들에서, 이 경우, 선도자 디바이스는, 디바이스들의 제 1 그룹에 의한 콘텐츠 아이템의 동기식 재생과 관련된 은닉된 애플리케이션을 식별할 수 있고, 그리고 수신된 명령을 은닉된 애플리케이션으로 전송할 수 있다. 일부 이러한 실시예들에서, 이 경우, 은닉된 애플리케이션은, 디바이스들의 제 1 그룹이 콘텐츠 아이템의 제시를 수정하도록 하는 명령들이 디바이스들의 제 1 그룹으로 전송되도록 할 수 있다. 예를 들어, 선도자 디바이스가 텔레비전 디스플레이 디바이스인 경우에, 그리고 추종자 디바이스들의 제 1 그룹이 오디오 디바이스들의 쌍을 포함하는 경우에, 텔레비전 디스플레이 디바이스는, 은닉된 오디오 애플리케이션을 사용하여, 오디오 디바이스가 콘텐츠 아이템의 재생을 수정하도록 하는 명령들을 오디오 디바이스들의 쌍으로 전송할 수 있다.
일부 실시예들에서, 선도자 디바이스는, 콘텐츠 아이템을 제시하기 위해 선도자 디바이스에 의해 사용된 애플리케이션(예컨대, 미디어 재생 애플리케이션, 캐스팅 애플리케이션, 등)이 임의의 적절한 정보에 근거하여 종료(terminate)되게 되는지 여부를 결정할 수 있다. 예를 들어, 애플리케이션이, 선도자 디바이스 상에 오디오 콘텐츠를 제시하기 위해, 그리고 오디오 파이프라인 백엔드를 사용하여 디바이스들의 제 1 그룹 내의 추종자 디바이스들에게 임의의 적절한 오디오 정보를 전송하기 위해, 선도자 디바이스에 의해 사용되는 오디오 애플리케이션인 경우에, 선도자 디바이스는 애플리케이션이 활성 상태로 남아 있게 되지만 은닉된 상태로(예컨대, 선도자 디바이스의 사용자에게 더 이상 가시적이지 않는 은닉된 애플리케이션을 실행시키는 계층에서) 남아 있게 된다고 결정할 수 있다. 또 하나의 다른 예로서, 선도자 디바이스가 로컬로(locally) 콘텐츠를 제시하기 위해 애플리케이션을 사용하고 있지만 콘텐츠가 디바이스들의 그룹 내의 추종자 디바이스들에 의해 제시되도록 하고 있지는 않은 경우에, 선도자 디바이스는 애플리케이션이 종료되게 된다고 결정할 수 있다.
일부 실시예들에서, 선도자 디바이스가 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하는 유일한 디바이스인 경우들에서, 디바이스들의 제 1 그룹으로부터 디바이스는, 디바이스들의 제 1 그룹 내의 추종자 디바이스에 의해 제시되고 있는 콘텐츠 아이템과 관련된 오디오 콘텐츠와 동기식으로 비디오 콘텐츠를 선택하는 것을 시작하기 위해 선택될 수 있음에 유의해야 한다. 일부 실시예들에서, 디바이스는 임의의 적절한 방식으로 선택될 수 있는데, 예를 들어, 비디오 콘텐츠를 디스플레이하기 위한 디바이스의 능력에 근거하여, 디바이스의 프로세싱 및/또는 메모리 리소스들에 근거하여, 디바이스의 스크린 해상도(screen resolution) 혹은 디스플레이 크기에 근거하여, 그리고/또는 임의의 다른 적절한 정보에 근거하여, 선택될 수 있다.
일부 실시예들에서, 선도자 디바이스는 추가적으로 선도자 디바이스와 관련된 리소스 관리자에게 콘텐츠 제시 리소스가 취소되었음을 통지할 수 있다. 예를 들어, 일부 실시예들에서, 콘텐츠 아이템을 제시하기 위해 선도자 디바이스에 의해 사용되는 애플리케이션은 콘텐츠 제시 리소스가 애플리케이션에 의해 해제되었다고 표시하는 메시지를 리소스 관리자에게 전송할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 선도자 디바이스와 관련된 애플리케이션 관리자는 콘텐츠 제시 리소스가 애플리케이션에 의해 해제되었다고 표시하는 메시지를 리소스 관리자에게 전송할 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 210에서, 선도자 디바이스로부터, 디바이스들의 제 1 그룹 내의 추종자 디바이스들로, 추종자 디바이스들이 콘텐츠 아이템을 계속 제시하도록 하는 명령들을 계속 전송할 수 있다. 선도자 디바이스는, 선도자 디바이스가 콘텐츠 아이템을 제시하는 것으로부터 정지되어 있는 동안, 추종자 디바이스들이 콘텐츠 아이템을 계속 제시하도록 하는 명령들을 전송할 수 있음에 유의해야 한다. 일부 실시예들에서, 선도자 디바이스는, 추종자 디바이스들이 콘텐츠 아이템의 제시의 동기성을 유지할 수 있게 하기 위한 임의의 적절한 명령들을 디바이스들의 제 1 그룹 내의 추종자 디바이스들에게 전송할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는 콘텐츠 아이템의 재생을 위한 임의의 적절한 타임스탬프들(예컨대, 오디오 타임스탬프들, 비디오 타임스탬프들, 및/또는 임의의 적절한 타임스탬프들)을 계산할 수 있고, 그리고 추종자 디바이스들 각각에게 타임스탬프들을 전송할 수 있다. 일부 실시예들에서, 추종자 디바이스들에게 전송되는 명령들은, 추종자 디바이스들이, 콘텐츠 아이템의 재생 위치를 수신된 타임스탬프에 의해 표시된 재생 위치로 변경시키도록 할 수 있다.
일부 실시예들에서, 선도자 디바이스는 또 하나의 다른 미디어 재생 세션을 개시시킬 수 있다. 이것은 예를 들어, 또 하나의 다른 미디어 콘텐츠 아이템을 선도자 디바이스 상에 재생시키는 것, 또 하나의 다른 미디어 콘텐츠 아이템을 추종자 디바이스에게 캐스팅하는 것, 또 하나의 다른 미디어 콘텐츠 아이템을 선도자 및 하나 이상의 추종자들을 포함하는 디바이스들의 또 하나의 다른 그룹에게 캐스팅하는 것, 등을 포함할 수 있다. 더 특정적인 예예서, 일부 실시예들에서, 선도자 디바이스는, (예컨대, 미디어 재생 애플리케이션의 은닉된 인스턴스를 실행시키는 계층에서) 이전의 그룹 미디어 재생 세션에서 미디어 콘텐츠를 동기식으로 제시하기 위해 추종자 디바이스들에게 제어 명령들을 전송하기 위한 미디어 재생 애플리케이션의 제 1 인스턴스를 동시에 실행시키면서, (예컨대, 가시적 상태에서) 선도자 디바이스 및/또는 하나 이상의 추종자 디바이스들 상에 미디어 콘텐츠를 제시하기 위한 미디어 재생 애플리케이션의 제 2 인스턴스를 발진시킬 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 212에서, 디바이스들의 제 2 그룹 내에 포함되는 추종자 디바이스들과 제 2 콘텐츠 아이템을 동시에 제시하기 위한 명령을 서버로부터 선도자 디바이스에서 수신할 수 있다. 즉, 일부 실시예들에서, 수신된 명령은, 디바이스들의 제 2 그룹 내의 추종자 디바이스들과 동기성으로 제 2 콘텐츠 아이템을 동시에 제시하면서, 선도자 디바이스가 디바이스들의 제 2 그룹에 대한 선도자 디바이스로서의 역할을 하게 된다고 표시할 수 있다. 일부 실시예들에서, 명령은, 임의의 적절한 정보를 포함할 수 있는데, 예컨대, 디바이스들의 제 2 그룹과 관련된 식별자, 디바이스들의 제 2 그룹 내의 디바이스들의 표시, 제 2 콘텐츠 아이템의 식별자, 및/또는 임의의 다른 적절한 정보를 포함할 수 있다. 일부 실시예들에서, 디바이스들의 제 2 그룹 내의 디바이스들은 임의의 적절한 방식으로 식별될 수 있는데, 예컨대, 각각의 디바이스와 관련된 식별자, 각각의 디바이스에 할당된 명칭, 그리고/또는 임의의 다른 적절한 식별자를 사용하여, 식별될 수 있다. 일부 실시예들에서, 제 2 콘텐츠 아이템은 임의의 적절한 방식으로으로 식별될 수 있는데, 예를 들어, 제 2 콘텐츠 아이템이 위치하는 위치를 표시하는 URL을 사용하여 식별될 수 있다.
일부 실시예들에서, 선도자 디바이스는, (예컨대, 블록(210)과 관련하여 앞에서 설명되는 바와 같이) 선도자 디바이스가 제 1 콘텐츠 아이템을 제시하는 것으로부터 정지되는 동안, 제 1 콘텐츠 아이템을 계속 제시하고 있는 디바이스들의 제 1 그룹의 선도자로서의 역할을 계속할 수 있고, 그리고 추가적으로, 디바이스들의 제 2 그룹 내의 추종자 디바이스들 상에 그리고 선도자 디바이스 상에 제 2 콘텐츠 아이템을 동기식으로 제시하면서 디바이스들의 제 2 그룹에 대한 선도자 디바이스로서의 역할을 계속할 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 214에서, 콘텐츠 제시 리소스에 액세스(access)를 갖는 제 2 애플리케이션을 선도자 디바이스 상에 개시시킬 수 있고, 여기서 제 2 애플리케이션은 제 2 콘텐츠 아이템을 제시하기 위해 선도자 디바이스에 의해 사용된다. 일부 실시예들에서, 블록(202)과 관련하여 앞에서 설명되는 바와 같이, 제 2 애플리케이션은 제 1 콘텐츠 아이템을 제시하기 위해 선도자 디바이스에 의해 사용된 애플리케이션의 제 2 인스턴스일 수 있음에 유의해야 한다. 일부 실시예들에서, 제 2 애플리케이션은 제 2 콘텐츠 아이템을 제시하기 위한 임의의 적절한 애플리케이션일 수 있다. 예를 들어, 선도자 디바이스가 제 2 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하게 되는 경우들에서, 제 2 애플리케이션은 오디오 콘텐츠를 제시하기 위해 사용되는 오디오 애플리케이션일 수 있다. 또 하나의 다른 예로서, 선도자 디바이스가 제 2 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하게 되는 경우들에서, 제 2 애플리케이션은 비디오 콘텐츠가 선도자 디바이스와 관련된 디스플레이 상에 제시되도록 하는 비디오 애플리케이션일 수 있다. 일부 실시예들에서, 선도자 디바이스는, 선도자 디바이스에 의해 제 2 콘텐츠 아이템을 제시하기 위해 사용되게 되는 다수의 애플리케이션들 혹은 애플리케이션들의 다수의 인스턴스들을 선도자 디바이스 상에서 개시시킬 수 있음에 유의해야 한다. 예를 들어, 선도자 디바이스가 제 2 콘텐츠 아이템과 관련된 오디오 콘텐츠 및 비디오 콘텐츠를 모두 제시하게 되는 경우에서, 선도자 디바이스는, 제 2 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하기 위한 오디오 애플리케이션의 인스턴스와, 그리고 제 2 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하기 위한 비디오 애플리케이션의 인스턴스를 개시시킬 수 있다. 일부 실시예들에서, 임의의 개시된 애플리케이션들 혹은 개시된 애플리케이션의 인스턴스들은 가시적이게 될 수 있음에 유의해야 한다. 특히, 가시적이게 되게 함으로써, 가시적 애플리케이션이, 애플리케이션 관리자에 의해 현재 애플리케이션인 것으로 될 수 있고, 따라서 아래에서 더 상세히 설명되는 바와 같이, 원격 제어 디바이스 혹은 애플리케이션과 관련된 원격 제어 핸들러에 의해 수신되는 임의의 적절한 미디어-제어 메시지들을 수신할 수 있다.
일부 실시예들에서, 개시되는 것에 응답하여, 제 2 애플리케이션은 임의의 적절한 콘텐츠 제시 리소스들을 획득할 수 있음에 유의해야 한다. 예를 들어, 제 2 애플리케이션이 제 2 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하기 위해 선도자 디바이스에 의해 사용되게 되는 오디오 애플리케이션인 경우에, 제 2 애플리케이션은 오디오 리소스들을 획득할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 제 2 애플리케이션은, 가시적이게 됨에 응답하여, 스크린 리소스들을 획득할 수 있다. 또 다른 예로서, 제 2 애플리케이션이 제 2 콘텐츠 아이템과 관련된 비디오 콘텐츠를 제시하기 위해 선도자 디바이스에 의해 사용되게 되는 비디오 애플리케이션인 경우에, 제 2 애플리케이션은 스크린 리소스들을 획득할 수 있다.
추가적으로, 일부 실시예들에서, 선도자 디바이스는 임의의 적절한 정보에 근거하여 제 2 애플리케이션이 개시될 수 없다고 결정할 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 선도자 디바이스 상에서 실행되는 애플리케이션들의 수가 애플리케이션들의 미리결정된 임계 수(예컨대, 10개의 애플리케이션들, 20개의 애플리케이션들, 및/또는 임의의 다른 적절한 수의 애플리케이션들)에 도달했음, 또는 특정 타입의 애플리케이션들(예컨대, 오디오 콘텐츠를 제시하기 위한 애플리케이션들, 비디오 콘텐츠를 제시하기 위한 애플리케이션들, 및/또는 임의의 다른 적절한 타입의 애플리케이션들)의 미리결정된 임계 수에 도달했음을 결정할 수 있다. 이러한 예를 계속하면, 이 경우, 선도자 디바이스는 제 2 애플리케이션이 선도자 디바이스 상에서 개시될 수 없음을 결정할 수 있다. 일부 이러한 실시예들에서, 선도자 디바이스는 임의의 적절한 에러 메시지(error message)가 임의의 적절한 디바이스를 통해(예컨대, 선도자 디바이스의 디스플레이를 통해, 선도자 디바이스와 관련된 스피커들을 통해, 선도자 디바이스와 짝지어진 모바일 디바이스를 통해, 선도자 디바이스와 짝지어진 가상 보조 디바이스를 통해, 그리고/또는 임의의 다른 적절한 디바이스에 의해) 제시되도록 할 수 있다. 일부 실시예들에서, 애플리케이션들의 미리결정된 임계 수는, 임의의 적절한 정보에 근거하여 결정될 수 있는데, 예컨대, 선도자 디바이스의 성능 계측치(performance metric)들(예컨대, 선도자 디바이스 상에서 이용가능한 메모리의 양, 선도자 디바이스의 프로세서 능력들, 선도자 디바이스의 현재 CPU 사용, 그리고/또는 임의의 다른 적절한 계측치들)에 근거하여 결정될 수 있고, 그리고/또는 임의의 다른 적절한 정보에 근거하여 결정될 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(200)의 216에서, 제 2 콘텐츠 아이템을 동시에 그리고 동기식으로 제시하기 위한 명령들을, 선도자 디바이스로부터 디바이스들의 제 2 그룹 내의 추종자 디바이스들로, 전송할 수 있다. 일부 실시예들에서, 명령들은 임의의 적절한 정보를 포함할 수 있는데, 예컨대, 제 2 콘텐츠 아이템의 식별자(예컨대, 제 2 콘텐츠 아이템의 위치를 표시하는 URL, 그리고/또는 임의의 다른 적절한 식별자), 제 2 콘텐츠 아이템에 대응하는 콘텐츠의 스트림, 추종자 디바이스들이 제 2 콘텐츠 아이템을 제시하게 되는 재생 위치를 표시하는 하나 이상의 타임스탬프들, 그리고/또는 임의의 다른 적절한 정보를 포함할 수 있다.
가시적이게 됨에 응답하여, 제 2 애플리케이션은 제 2 콘텐츠 아이템의 제시와 관련된 임의의 적절한 인터럽트(interrupt)들 혹은 이벤트(event)들을 수신할 수 있음에 유의해야 한다. 예를 들어, 선도자 디바이스의 사용자가 제 2 콘텐츠 아이템의 재생이 임의의 적절한 방식으로 수정되게 된다고 표시하는 경우(예컨대, 제 2 콘텐츠 아이템의 재생의 음량이 상향으로 혹은 하향으로 조정되는 것, 재생 위치가 앞으로 건너뛰어짐 혹은 되감아짐, 그리고/또는 임의의 다른 적절한 방식으로 수정됨), 제 2 애플리케이션은 임의의 적절한 이벤트 핸들러(들)를 사용하여 제 2 콘텐츠 아이템의 재생의 표시된 수정과 관련된 이벤트의 표시를 수신할 수 있다. 일부 이러한 실시예들에서, 이 경우, 제 2 애플리케이션은 제 2 콘텐츠 아이템의 제시를 수정할 수 있다. 추가적으로, 일부 실시예들에서, 선도자 디바이스는, 추종자 디바이스들이 또한 제 2 콘텐츠 아이템의 재생을 수정하도록 하는 임의의 적절한 명령들을 디바이스들의 제 2 그룹 내의 추종자 디바이스들에게 추가적으로 전송할 수 있다. 예를 들어, 일부 실시예들에서, 재생 수정이 제 2 콘텐츠 아이템의 제시 내에서 전방으로 혹은 후방으로 건너뛰기에 대응하는 경우들에서, 선도자 디바이스는, 업데이트된 재생 위치에 대응하는 업데이트된 타임스탬프들을 추종자 디바이스들에게 전송할 수 있는데, 이것은 업데이트된 타임스탬프들을 사용하여 재생 위치를 변경시키기 위한 명령들을 추종자 디바이스들에게 전송하는 것과 함께 일어날 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 재생 수정이 음량 조정에 대응하는 경우들에서, 선도자 디바이스는 오디오 콘텐츠의 음량을 조정하기 위한 명령들을 디바이스들의 제 2 그룹 내의 임의의 적절한 추종자 디바이스들에게 전송할 수 있다. 일부 이러한 실시예들에서, 프로세스(200)는 음량 조정을 표시하는 명령을 수신하기 위해 임의의 적절한 추종자 디바이스(예컨대, 제 2 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하고 있는 추종자 디바이스들, 임의의 적절한 기준들에 근거하여 선택되었던 제 2 콘텐츠 아이템과 관련된 오디오 콘텐츠를 제시하고 있는 선택된 추종자 디바이스들, 그리고/또는 임의의 다른 적절한 추종자 디바이스들)를 선택할 수 있다.
추가적으로, 일부 실시예들에서, 선도자 디바이스는, (예컨대, 블록(216)과 관련하여 앞에서 설명되는 바와 같이) 제 2 콘텐츠 아이템을 동기식으로 제시하고 있는 디바이스들의 제 2 그룹 내의 추종자 디바이스들에게 제 2 콘텐츠 아이템을 제시하고 명령들을 전송하면서, (예컨대, 블록(210)과 관련하여 앞에서 설명되는 바와 같이) 제 1 콘텐츠 아이템을 동기식으로 제시하고 있는 디바이스들의 제 1 그룹 내의 추종자 디바이스들에게 명령들을 계속 전송할 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는 선도자 우선권 점수(leader priority score)를 가질 수 있다. 일부 이러한 실시예들에서, (도 2의 블록(204) 내지 블록(210)과 관련하여 앞에서 설명되는 바와 같이) 콘텐츠 아이템의 활성 제시자(active presenter)로서 제거되었던 선도자 디바이스는 임의의 적절한 방식으로 변경된 관련된 선도자 우선권 점수를 가질 수 있다. 예를 들어, 일부 실시예들에서, 선도자 우선권 점수는 임의의 적절한 양만큼 감소될 수 있다. 일부 실시예들에서, 선도자 우선권 점수는 임의의 적절한 기능을 수행하기 위해 사용될 수 있다. 예를 들어, 일부 실시예들에서, 선도자 우선권 점수는 디바이스들의 그룹의 선도자로서 동작하게 되는 특정 디바이스를 디바이스들의 그룹으로부터 선택하기 위해 사용될 수 있다. 더 특정적인 예로서, (도 2의 블록(204) 내지 블록(210)과 관련하여 앞에서 설명되는 바와 같이) 선도자 디바이스가, 콘텐츠 아이템의 제시로부터 정지되지만 콘텐츠 아이템을 제시하고 있는 디바이스들의 그룹의 선도자 디바이스로서 계속되는 경우에, 선도자 디바이스와 관련된 선도자 우선권 점수는 낮아질 수 있어 선도자 디바이스가 디바이스들의 또 하나의 다른 그룹에 대한 선도자 디바이스로서 선택될 가능성이 상대적으로 더 낮아지게 된다. 일부 실시예들에서, 선도자 우선권 점수는 특정 디바이스 상에서의 리소스들을 보존하거나 혹은 관리하기 위해 사용될 수 있는데, 이것은 예를 들어, 디바이스가 디바이스들의 그룹들의 미리결정된 수보다 더 많은 수의 그룹들에 대한 선도자 디바이스가 되는 것을 막음으로써 이루어진다.
추가적으로, 일부 실시예들에서, 선도자 디바이스가, (도 2의 블록(204)과 관련하여 앞에서 설명되는 바와 같이) 선도자 디바이스가 디바이스들의 그룹에 의해 동기식으로 제시되고 있는 콘텐츠 아이템을 더 이상 제시하지 않게 된다는 명령을, 수신함에 응답하여, 디바이스들의 그룹 내의 임의의 다른 디바이스가 디바이스들의 그룹의 선도자 디바이스인 것으로 될 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 선도자 디바이스 또는 서버는, 디바이스들의 그룹 내의 선택된 디바이스에게, 선택된 디바이스가 선도자 디바이스가 되도록 하고 이에 따라 디바이스들의 그룹에 의한 콘텐츠 아이템의 제시 동안 동기성을 유지하기 위해 임의의 적절한 기능(들)(예컨대, 업데이트된 타임스탬프들을 포함하는 명령들을 전송하는 것, 그리고/또는 임의의 다른 적절한 기능(들))을 수행하도록 하는 명령들을, 전송할 수 있다. 일부 실시예들에서, 선도자 디바이스 또는 서버는, 선도자 디바이스로부터, 디바이스들의 그룹의 선도자 디바이스인 것으로 되게 되는 새롭게 선택된 디바이스로, 콘텐츠의 스트림을 이송할 수 있는데, 이것은 예를 들어, 콘텐츠 아이템의 URL 혹은 다른 위치 및/또는 임의의 다른 적절한 정보를 표시하는 명령들을 선택된 디바이스로 전송함으로써, 이루어진다.
도 3으로 돌아가면, 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 그룹 미디어 재생 세션에서 콘텐츠의 스트림을 선도자 디바이스로부터 추종자 디바이스로 이송하기 위한 프로세스의 예시적 사례(300)가 보여진다. 일부 실시예들에서, 프로세스(300)의 블록들은 미디어 콘텐츠 아이템들을 동기식으로 제시하기 위해 그룹 미디어 재생 세션의 선도자 디바이스에 의해 실행될 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(300)의 302에서, 선도자 디바이스로부터 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로, 선도자 디바이스 및 추종자 디바이스들이 그룹 미디어 재생 세션과 관련된 콘텐츠 아이템을 동시에 그리고/또는 동기식으로 제시하도록 하는 명령들을 전송할 수 있다. 일부 실시예들에서, 선도자 디바이스는, 도 2의 블록(202)과 관련하여 앞에서 설명되는 바와 같이, 임의의 적절한 방식으로 선도자 디바이스로부터 추종자 디바이스들로 명령들을 전송할 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(300)의 304에서, 선도자 디바이스가 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로부터 제거되게 된다는 명령을, 서버로부터 선도자 디바이스에서 수신할 수 있다. 일부 실시예들에서, 선도자 디바이스는 임의의 적절한 방식으로 명령을 수신할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 도 2의 블록(204)과 관련하여 앞에서 설명되는 바와 같이, 그룹 미디어 재생 세션과 관련된 정보를 저장하는 콘텐츠 캐스팅 서비스와 관련된 서버로부터 명령을 수신할 수 있다. 일부 실시예들에서, 서버는, 임의의 적절한 방식으로, 선도자 디바이스가 디바이스들의 그룹으로부터 제거되게 된다고 표시하는 정보를 수신할 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 서버는, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들에게 콘텐츠를 캐스팅함으로써 그룹 미디어 재생 세션을 개시시킨 모바일 디바이스로부터 정보를 (예컨대, 모바일 디바이스 상에서 제시되는 사용자 인터페이스를 통해, 모바일 디바이스에 의해 수신된 음성 커맨드를 통해, 그리고/또는 임의의 다른 적절한 방식으로) 수신할 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(300)의 306에서, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹 내의 추종자 디바이스가 선도자 디바이스인 것으로 지정될 수 있는지 여부를 결정할 수 있다. 일부 실시예들에서, 선도자 디바이스는, 그룹 미디어 재생 세션의 선도자 디바이스일 수 있는 추종자 디바이스(만약 있다면)를 식별하기 위해 디바이스들의 그룹 내의 추종자 디바이스들에 걸쳐 반복할 수 있음에 유의해야 한다. 일부 실시예들에서, 선도자 디바이스는, 임의의 적절한 방식으로, 디바이스들의 그룹 내의 추종자 디바이스가 그룹 미디어 재생 세션의 선도자 디바이스인 것으로 지정될 수 있는지 여부를 결정할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 디바이스들의 그룹 내의 특정 추종자 디바이스가 현재 그룹 미디어 재생 세션의 선도자 디바이스일 수 있는지 여부를, 그룹 미디어 재생 세션에서 제시되고 있는 미디어 콘텐츠의 타입, 및 특정 추종자 디바이스의 콘텐츠 제시 능력에 근거하여, 결정할 수 있다. 더 특정적인 예로서, 그룹 미디어 재생 세션에서 제시되는 콘텐츠 아이템들이 비디오 콘텐츠를 포함하는 경우에서, 선도자 디바이스는, 비디오 콘텐츠를 제시할 수 있는 디스플레이 디바이스와 관련되지 않은 디바이스들의 그룹 내의 추종자 디바이스들은 그룹 미디어 재생 세션의 선도자 디바이스일 수 없다고 결정할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 선도자 디바이스는, 디바이스들의 그룹 내의 특정 추종자 디바이스가 그룹 미디어 재생 세션의 선도자 디바이스일 수 있는지 여부를, 디바이스 능력 정보에 근거하여 결정할 수 있는데, 예컨대, 추종자 디바이스의 현재 메모리 사용, (도 2의 블록(212) 내지 블록(214)과 관련하여 앞에서 설명되는 바와 같은) 특정 추종자 디바이스가 현재 상이한 그룹 미디어 재생 세션의 선도자 디바이스인지 여부, 그리고/또는 임의의 다른 적절한 디바이스 능력 정보에 근거하여, 결정할 수 있다. 더 특정적인 예로서, 일부 실시예들에서, 선도자 디바이스는, 현재 상이한 그룹 미디어 재생 세션의 선도자 디바이스인 특정 추종자 디바이스는 현재 그룹 미디어 재생 세션의 선도자 디바이스일 수 없다라고 결정할 수 있다. 또 하나의 다른 더 특정적인 예로서, 일부 실시예들에서, 선도자 디바이스는, 도 2와 관련하여 앞에서 설명되는 바와 같이, 특정 추종자 디바이스가 현재 그룹 미디어 재생 세션의 선도자 디바이스일 수 있는지 여부를, 특정 추종자 디바이스의 우선권 점수에 근거하여 결정할 수 있다. 또 다른 예로서, 일부 실시예들에서, 선도자 디바이스는, 특정 추종자 디바이스가 현재 그룹 미디어 재생 세션의 선도자일 수 있는지 여부를, 특정 추종자 디바이스가 콘텐츠 아이템를 제시하기 위해 그리고 명령들을 그룹 미디어 재생 세션에 참여하고 있는 추종자 디바이스들에게 전송하기 위해 선도자 디바이스에 의해 현재 사용되고 있는 애플리케이션을 실행시킬 수 있는지 여부에 근거하여, 결정할 수 있다. 더 특정적인 예로서, 일부 실시예들에서, 선도자 디바이스는, 특정 추종자 디바이스가 애플리케이션을 실행시킬 수 있는지 여부를, 임의의 적절한 정보에 근거하여 결정할 수 있는데, 예컨대, 추종자 디바이스의 종류(make) 혹은 모델(model), 추종자 디바이스의 현재 메모리 사용, 및/또는 임의의 다른 적절한 정보에 근거하여 결정할 수 있다.
만약, 프로세스(300)의 306에서, 선도자 디바이스가, 그룹 미디어 재생 세션의 선도자 디바이스인 것으로서 지정될 수 있는 디바이스들의 그룹 내의 추종자 디바이스들이 없다고 결정한다면(306에서 "아니오"), 선도자 디바이스는 308로 진행할 수 있고, 그리고 그룹 미디어 재생 세션에서 동기식으로 제시되고 있는 콘텐츠 아이템에 대응하는 콘텐츠의 스트림이 선도자 디바이스로부터 새로운 선도자 디바이스로 이송되도록 할 수 있다. 예를 들어, 일부 실시예들에서, 콘텐츠의 스트림은 도 4와 관련하여 아래에서 설명되는 그리고 도 4에서 보여지는 기법들을 사용하여 이송될 수 있다.
일부 실시예들에서, 선도자 디바이스는, 추가적으로, 콘텐츠 아이템과 관련된 콘텐츠의 스트림이 새로운 선도자 디바이스로 이송되게 되는지(여기에는 그룹 미디어 재생 세션과 관련된 디바이스들의 그룹 내에 포함되는 추종자 디바이스로의 이송이 포함됨) 여부를, 선도자 디바이스에 의해, 또는 그룹 미디어 재생 세션과 관련된 서버를 사용하여, 결정할 수 있음에 유의해야 한다. 일부 실시예들에서, 선도자 디바이스가, 콘텐츠의 스트림이 선도자 디바이스에 의해 이송되게 된다고 결정하는 경우들에서, 선도자 디바이스는 310으로 진행할 수 있다. 반대로, 선도자 디바이스가, 콘텐츠의 스트림이 서버를 사용하여 이송되게 된다고 결정하는 경우들에서, 선도자 디바이스는 블록(308)으로 진행할 수 있고, 그리고 도 4와 관련하여 아래에서 설명되는 그리고 도 4에서 보여지는 기법들이, 콘텐츠의 스트림을 서버에 의해 새로운 선도자 디바이스로 이송하기 위해 사용될 수 있다.
만약, 프로세스(300)의 306에서, 선도자 디바이스가, 그룹 미디어 재생 세션의 선도자 디바이스인 것으로 지정될 수 있는 디바이스들의 그룹 내의 추종자 디바이스가 있다고 결정한다면(306에서 "예"), 선도자 디바이스는 310으로 진행할 수 있고, 그리고 식별된 추종자 디바이스를 그룹 미디어 재생 세션의 업데이트된 선도자 디바이스로서 저정할 수 있다. 일부 실시예들에서, 선도자 디바이스는 임의의 적절한 방식으로 추종자 디바이스를 업데이트된 선도자 디바이스로서 지정할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 업데이트된 선도자 디바이스로서 지정된 추종자 디바이스의 식별자를 표시하는 메시지를 그룹 미디어 재생 세션과 관련된 서버로 전송할 수 있다. 일부 실시예들에서, 메시지는 임의의 적절한 정보를 포함할 수 있는데, 예컨대, 업데이트된 선도자 디바이스에 할당된 명칭, 업데이트된 선도자의 종류 혹은 모델, 및/또는 임의의 다른 적절한 정보를 포함할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 선도자 디바이스는, 식별된 추종자 디바이스가 현재 지정된 업데이트된 선도자 디바이스라고 식별된 추종자 디바이스에게 표시하는 명령을 식별된 추종자 디바이스에게 전송할 수 있다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(300)의 312에서, 그룹 미디어 재생 세션에서 제시되고 있는 콘텐츠 아이템에 대응하는 콘텐츠의 스트림을, 선도자 디바이스로부터 업데이트된 선도자 디바이스로 이송할 수 있는데, 이것은 디바이스들의 그룹 내의 추종자 디바이스들에게 명령들이 전송되도록 하는 선도자 디바이스 상에서 실행되는 애플리케이션이 업데이트된 선도자 디바이스 상에서의 실행을 시작하도록 함으로써 이루어진다. 도 2와 관련하여 앞에서 설명되는 바와 같이, 애플리케이션은 임의의 적절한 애플리케이션일 수 있는데, 예컨대, 오디오 콘텐츠가 선도자 디바이스 상에서 제시되도록 하고 그리고 오디오 콘텐츠를 동기식으로 제시하기 위한 명령들이 추종자 디바이스들로 전송되도록 하는 오디오 애플리케이션일 수 있고, 오디오 콘텐츠가 선도자 디바이스 상에서 제시되도록 하고 그리고 비디오 콘텐츠와 관련된 오디오 콘텐츠 및/또는 비디오 콘텐츠를 동기식으로 제시하기 위한 명령들이 추종자 디바이스들로 전송되도록 하는 비디오 애플리케이션일 수 있고, 그리고/또는 임의의 다른 적절한 애플리케이션일 수 있음에 유의해야 한다. 추가적으로, 일부 실시예들에서, 선도자 디바이스는, 다수의 애플리케이션들(예컨대, 오디오 애플리케이션 및 비디오 애플리케이션, 그리고/또는 애플리케이션들의 임의의 다른 적절한 조합)이 업데이트된 선도자 디바이스 상에서 실행되는 것을 시작하도록 할 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는, 임의의 적절한 방식으로, 업데이트된 선도자 디바이스가 애플리케이션(들)을 실행시키는 것을 시작하도록 할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는, 업데이트된 선도자 디바이스 상에서 실행되게 되는 애플리케이션(들)을 식별시키는, 그리고 업데이트된 선도자 디바이스가 식별된 애플리케이션(들)의 실행을 개시시키도록 하는, 제어 명령을 업데이트된 선도자 디바이스에게 전송할 수 있다. 도 2의 블록(208)과 관련하여 앞에서 설명되는 바와 같이, 일부 실시예들에서, 명령들은, 업데이트된 선도자 디바이스가, 식별된 애플리케이션을 실행시키기 위해서, 업데이트된 선도자 디바이스에 의해 현재 사용되고 있는 임의의 리소스들(예컨대, 오디오 리소스들, 스크린 리소스들, 및/또는 임의의 다른 적절한 리소스들)을 포기하도록 할 수 있음에 유의해야 한다. 추가적으로, 일부 실시예들에서, 명령들은, 식별된 애플리케이션, 또는 식별된 애플리케이션(들)의 그룹의 임의의 것이, 업데이트된 선도자 디바이스 상에서 가시적 상태로 실행되도록 할 수 있음에 유의해야 한다.
일부 실시예들에서, 명령들을 수신함에 응답하여, 업데이트된 선도자 디바이스는, 식별된 애플리케이션(들)의 실행을 개시시킬 수 있고, 그 다음에, 업데이트된 선도자 디바이스 및 추종자 디바이스들이 콘텐츠 아이템을 동기식으로 제시하도록 하는 제어 명령들을 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹 내의 추종자 디바이스들에게 전송하는 것을 시작할 수 있다. 일부 실시예들에서, 업데이트된 선도자 디바이스가 식별된 애플리케이션(들)의 실행을 개시시켰다라고 결정함에 응답하여, 선도자 디바이스는 디바이스들의 그룹 내의 추종자 디바이스들에게 명령들을 전송하는 것을 중단시킬 수 있음에 유의해야 한다.
일부 실시예들에서, 선도자 디바이스는, 프로세스(300)의 314에서, 그룹 미디어 재생 세션으로부터 선도자 디바이스를 제거할 수 있다. 일부 실시예들에서, 선도자 디바이스는 임의의 적절한 방식으로 그룹 미디어 재생 세션으로부터 자신을 제거할 수 있다. 예를 들어, 일부 실시예들에서, 선도자 디바이스는 콘텐츠 아이템의 제시를 정지시킬 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 선도자 디바이스는, 선도자 디바이스가 디바이스들의 그룹을 이탈하고 있다고 표시하는 메시지를 그룹 미디어 재생 세션과 관련된 서버에게 전송할 수 있다. 일부 실시예들에서, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로부터 제거되는 선도자 디바이스는, 그룹 미디어 재생 세션에서 콘텐츠 아이템의 제시를 방해함이 없이, 통신 네트워크(예컨대, 와이-파이(Wi-Fi) 네트워크, 블루투스(BLUETOOTH) 네트워크, 및/또는 임의의 다른 적절한 네트워크)로부터 연결해제될 수 있거나 또는 전원이 꺼질 수 있음에 유의해야 한다.
프로세스(300)의 306을 다시 참조하면, 선도자 디바이스가 대안적 스트림 이송 절차가 실행되게 된다고 결정하는 경우들에서, 선도자 디바이스는 308로 진행할 수 있고, 여기서 스트림은 새로운 디바이스를 추가하기 위해 확장(expand)될 수 있고, 그리고 여기서 본래 선도자 디바이스는 스트림으로부터 동적으로 제거될 수 있다.
도 4로 돌아가면, 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따른, 선도자 디바이스로부터 콘텐츠의 스트림을 이송하고 선도자 디바이스를 그룹 미디어 재생 세션으로부터 제거하기 위한 프로세스의 예시적 사례(400)가 보여진다. 일부 실시예들에서, 프로세서(400)의 블록들은 서버에 의해 실행될 수 있는데, 예를 들어, 그룹 미디어 재생 세션과 관련된 정보를 저장 및 유지하는 콘텐츠 캐스팅 서비스와 관련된 서버에 의해 실행될 수 있음에 유의해야 한다.
일부 실시예들에서, 서버는, 프로세스(400)의 402에서, 그룹 미디어 재생 세션에서 제시되는 미디어 콘텐츠 아이템에 대응하는 콘텐츠의 스트림이 선도자 디바이스로부터 업데이트된 선도자 디바이스로 이송되게 된다고 결정할 수 있다. 일부 실시예들에서, 서버는 임의의 적절한 정보에 근거하여 콘텐츠의 스트림이 선도자 디바이스로부터 업데이트된 선도자 디바이스로 이송되게 된다고 결정할 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 선도자 디바이스가 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로부터 제거되게 된다는 명령을 모바일 디바이스(예컨대, 그룹 미디어 재생 세션에서 디바이스들에게 콘텐츠를 캐스팅함으로써 그룹 미디어 재생 세션을 개시시킨 모바일 디바이스, 그룹 미디어 재생 세션의 양상(aspect)들을 수정할 권한(authorization)을 갖는 모바일 디바이스, 및/또는 임의의 다른 적절한 모바일 디바이스)로부터 수신할 수 있다.
일부 실시예들에서, 그룹 미디어 재생 세션은 프로세스(400)를 실행시키는 서버에 의해 저장된 가상 디바이스와 관련될 수 있음에 유의해야 한다. 일부 실시예들에서, 가상 디바이스는 그룹 미디어 재생 세션이 시작된 디바이스에 대응할 수 있다. 예를 들어, (도 1과 관련하여 앞에서 설명되는 바와 같이) 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹이 동적 그룹인 경우들에서, 가상 디바이스는 디바이스들의 그룹에 추가되는 혹은 포함되는 제 1 디바이스에 대응할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 가상 디바이스는 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹의 선도자 디바이스에 대응할 수 있다. 일부 실시예들에서, 프로세스(400)를 실행시키는 서버는 가상 디바이스와 관련된 식별자를 저장할 수 있다. 일부 실시예들에서, 서버는 그룹 미디어 재생 세션에 참여하고 있는 디바이스들에게 명령들을 전송하기 위해 가상 디바이스를 사용할 수 있다. 예를 들어, 일부 실시예들에서, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들은 가상 디바이스를 가리키도록 그리고/또는 가상 디바이스에 연결되도록 지시받을 수 있고, 그럼으로써 디바이스들은 가상 디바이스의 식별자와 관련된 명령들을 수신할 수 있게 된다. 더 특정적인 예로서, 일부 실시예들에서, 그룹 미디어 재생 세션에서의 추종자 디바이스들은, 서버로부터, 가상 디바이스의 식별자, 가상 디바이스와 관련된 IP 어드레스 및/또는 포트, 그리고/또는 가상 디바이스 및/또는 가상 디바이스에 대응하는 그룹 미디어 재생 세션과 관련하여 추종자 디바이스들이 명령들을 수신할 수 있게 하는 임의의 다른 적절한 정보를 수신할 수 있다.
일부 실시예들에서, 서버는, 프로세스(400)의 404에서, 업데이트된 선도자 디바이스를 식별할 수 있다. 일부 실시예들에서, 서버는, 임의의 적절한 방식으로, 업데이트된 선도자 디바이스를 식별할 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 그룹 미디어 재생 세션의 선도자인 것으로 지정될 수 있는, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹 내에서의 추종자 디바이스를 식별할 수 있다. 일부 실시예들에서, 서버는, 임의의 적절한 기준들에 근거하여, 선도자 디바이스인 것으로 지정될 수 있는 디바이스들의 그룹의 추종자 디바이스를 식별할 수 있다. 특정 추종자 디바이스가 그룹 미디어 재생 세션의 선도자 디바이스인 것으로 지정될 수 있는지 여부를 결정하기 위한 더 상세한 기법들은 도 3의 블록(606)과 관련하여 앞에서 설명됨에 유의해야 한다. 일부 실시예들에서, 서버는, 선도자 디바이스인 것으로 지정될 수 있는 추종자 디바이스를 식별하기 위해 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹 내에 포함된 추종자 디바이스들에 걸쳐 반복할 수 있다. 또 하나의 다른 예로서, 일부 실시예들에서, 서버는, 모바일 디바이스(예컨대, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들에게 콘텐츠를 캐스팅함으로써 그룹 미디어 재생 세션을 개시시킨 모바일 디바이스, 및/또는 임의의 다른 적절한 모바일 디바이스)로부터 수신된 명령에 근거하여, 업데이트된 선도자 디바이스를 식별할 수 있다.
일부 실시예들에서, 서버는 그룹 미디어 재생 세션에 현재 참여하고 있지 않은 업데이트된 선도자 디바이스를 식별할 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 서버는, 그룹 미디어 재생 세션에 현재 참여하고 있지 않은, 그리고 그룹 미디어 재생 세션의 선도자 디바이스일 수 있는, 그룹 미디어 재생 세션에 참여할 수 있는 임의의 적절한 디바이스를 식별할 수 있다. 일부 실시예들에서, 서버는 임의의 적절한 정보에 근거하여 그룹 미디어 재생 세션에 현재 참여하고 있지 않은 디바이스를 식별할 수 있다. 예를 들어, 일부 실시예들에서, 서버는 그룹 미디어 재생 세션에 참여하고 있는 다른 디바이스들에 대한 디바이스의 근접도(proximity)에 근거하여 디바이스를 식별할 수 있다. 더 특정적인 예로서, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들이 사용자의 거실 내의 모든 디바이스들인 경우에서, 서버는 그룹 미디어 재생 세션에 현재 참여하고 있지 않은 사용자의 거실 내에 있는 것으로서 표시된 추가적인 디바이스를 식별할 수 있다.
일부 실시예들에서, 서버는, 프로세스(400)의 406에서, 그룹 미디어 재생 세션을 식별된 업데이트된 선도자 디바이스의 표시로 업데이트할 수 있다. 일부 실시예들에서, 서버는 임의의 적절한 방식으로 그룹 미디어 재생 세션을 업데이트할 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 그룹 미디어 재생 세션의 선도자로서의 식별된 업데이트된 선도자 디바이스를 갖는 디바이스들의 그룹에 대응하는 새로운 가상 디바이스를 발생시킬 수 있다. 일부 실시예들에서, 새로운 가상 디바이스는 그룹 미디어 재생 세션과 관련된 본래 가상 디바이스와는 다른 식별자와 관련될 수 있음에 유의해야 한다. 일부 실시예들에서, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들은 새로운 가상 디바이스에 재연결되도록 지시받을 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 각각의 추종자 디바이스에게, 새로운 가상 디바이스의 식별자, 새로운 가상 디바이스와 관련된 IP 어드레스 및/또는 포트, 그리고/또는 임의의 다른 적절한 정보를 표시하는 정보를 전송할 수 있고, 그럼으로써, 추종자 디바이스들은 새로운 가상 디바이스에 대응하는 그룹 미디어 재생 세션과 관련된 명령들을 수신할 수 있게 된다.
일부 실시예들에서, 업데이트된 선도자 디바이스는 임의의 적절한 방식으로 새로운 가상 디바이스를 표시하는 정보를 수신할 수 있음에 유의해야 한다. 예를 들어, 일부 실시예들에서, 프로세스(400)를 실행시키는 서버는, 미디어 재생 세션을 새로운 가상 디바이스로 이동시킴에 응답하여, 메시지를 브로드캐스팅(broadcast)할 수 있다. 일부 이러한 실시예들에서, 메시지는, 새로운 가상 디바이스의 식별자, 새로운 가상 디바이스의 IP 어드레스 및/또는 포트를 표시하는 정보, 그리고/또는 임의의 다른 적절한 정보를 포함할 수 있다. 일부 실시예들에서, 새로운 가상 디바이스의 IP 어드레스 및/또는 포트를 표시하는 정보는 새로운 가상 디바이스에 연결되기 위해 업데이트된 선도자 디바이스에 의해 사용될 수 있는 힌트 정보(hint information)일 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 서버는 mDNS를 통해 그리고/또는 임의의 다른 적절한 방식으로 새로운 가상 디바이스를 발견(discover)할 수 있다. 업데이트된 선도자 디바이스가 (예컨대, 업데이트된 선도자 디바이스가 수면상태이기 때문에, 그리고/또는 임의의 다른 적절한 이유로) 메시지들을 현재 수신하고 있지 않은 경우에서, 업데이트된 선도자 디바이스는, 가상 디바이스에 연결되기 위해서 가상 디바이스와 관련된 정보를 식별하기 위해, mDNS 서브타입 쿼리(mDNS subtype query), 그리고/또는 임의의 다른 적절한 기법을 사용할 수 있음에 유의해야 한다.
일부 실시예들에서, 프로세스(400)의 408에서, 서버는, 업데이트된 선도자 디바이스와 추종자 디바이스들이 미디어 콘텐츠 아이템을 동기식으로 제시하도록, 업데이트된 선도자 디바이스가 그룹 미디어 재생 세션에 참여하고 있는 추종자 디바이스들로 명령들을 전송하는 것을 시작하도록 할 수 있다. 도 2와 관련하여 앞에서 설명되는 바와 같이, 명령들은, 미디어 콘텐츠 아이템의 제시 동안 동기성을 유지하기 위해 추종자 디바이스들에 의해 사용될 수 있는 명령들의 임의의 적절한 타입을 포함할 수 있는데, 예컨대, 업데이트된 타임스탬프들을 포함할 수 있음에 유의해야 한다.
일부 실시예들에서, 프로세스(400)의 410에서, 서버는 선도자 디바이스가 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로부터 제거되도록 할 수 있다. 일부 실시예들에서, 서버는 선도자 디바이스가 임의의 적절한 방식으로 디바이스들의 그룹으로부터 제거되도록 할 수 있다. 예를 들어, 일부 실시예들에서, 서버는, 선도자 디바이스가 더 이상 그룹 내에 포함되지 않는다고 표시하는 서버 상에 저장되는 그룹 미디어 재생 세션과 관련된 정보를 업데이트할 수 있다. 일부 실시예들에서, 그룹 미디어 재생 세션에 참여하고 있는 디바이스들의 그룹으로부터 제거됨에 응답하여, 서버는, 선도자 디바이스가 그룹 미디어 재생 세션과 관련된 임의의 명령들을 수신하는 것으로부터 저지되도록, 미디어 재생 세션과 관련된 가상 디바이스와의 선도자 디바이스의 관련성을 제거할 수 있음에 유의해야 한다.
도 5로 돌아가면, 본 명세서에서 개시되는 주된 내용의 일부 실시예들에 따라 사용될 수 있는 동적 미디어 세션들을 제공하기 위한 하드웨어의 예시적 사례(500)가 보여진다. 예시되는 바와 같이, 하드웨어(500)는 서버(502), 통신 네트워크(504), 및/또는 하나 이상의 사용자 디바이스들(506), 예컨대, 사용자 디바이스(508) 및 사용자 디바이스(510)를 포함할 수 있다.
서버(502)는 정보, 데이터, 및/또는 미디어 콘텐츠를 저장하기 위한 임의의 적절한 서버(들)일 수 있다. 예를 들어, 일부 실시예들에서, 서버(502)는, 임의의 적절한 캐스팅 세션과 관련된 그리고/또는 캐스팅 세션에서 함께 그룹화된 임의의 적절한 디바이스들과 관련된, 정보를 저장하기 위해 콘텐츠 캐스팅 서비스와 관련될 수 있다. 일부 이러한 실시예들에서, 서버(502)는, 미디어 콘텐츠 아이템을 동시에 제시하고 있는 미디어 재생 디바이스들의 그룹의 미디어 재생 디바이스에게 명령들을 전송할 수 있고, 여기서 명령들은, 임의의 적절한 방식으로, 미디어 재생 디바이스가 그룹을 이탈하도록 할 수 있으며, 이것은 도 1 및 도 2와 관련하여 앞에서 설명되는 바와 같다. 또 하나의 다른 예로서, 일부 실시예들에서, 서버(502)는 제시를 위해 사용자 디바이스들(506)로 전송될 수 있는 미디어 콘텐츠 아이템들을 저장할 수 있다. 일부 이러한 실시예들에서, 미디어 콘텐츠 아이템들은 미디어 콘텐츠의 임의의 적절한 타입들을 포함할 수 있는데, 예컨대, 비디오들, 영화들, 텔레비전 프로그램들, 실시간-스트리밍되는 콘텐츠, 오디오 콘텐츠(예컨대, 음악, 오디오북(audiobook)들, 라디오 프로그램들, 및/또는 임의의 다른 적절한 오디오 콘텐츠), 그리고/또는 미디어 콘텐츠의 임의의 다른 적절한 타입을 포함할 수 있다.
통신 네트워크(504)는, 일부 실시예들에서, 하나 이상의 유선 및/또는 무선 네트워크들의 임의의 적절한 조합일 수 있다. 예를 들어, 통신 네트워크(504)는, 인터넷(Internet), 인트라넷(intranet), 와이드-영역 네트워크(Wide-Area Network, WAN), 로컬-영역 네트워크(Local-Area Network, LAN), 무선 네트워크, 디지털 가입자 라인(Digital Subscriber Line, DSL) 네트워크, 프레임 릴레이 네트워크(frame relay network), 비동기식 이송 모드(Asynchronous Transfer Mode, ATM) 네트워크, 가상 사설 네트워크(Virtual Private Network, VPN), 및/또는 임의의 다른 적절한 통신 네트워크 중 임의의 하나 이상의 것을 포함할 수 있다. 사용자 디바이스들(506)은 하나 이상의 통신 링크들(예컨대, 통신 링크들(512))에 의해 통신 네트워크(504)에 연결될 수 있고, 통신 네트워크(504)는 하나 이상의 통신 링크들(예컨대, 통신 링크들(514))을 통해 서버(502)에 링크될 수 있다. 통신 링크들은 사용자 디바이스들(506)과 서버(502) 간에 데이터를 전달하기 위해 적합한 임의의 통신 링크들일 수 있는데, 예컨대, 네트워크 링크들, 다이얼-업 링크(dial-up link)들, 무선 링크들, 고정-배선 링크(hard-wired link)들, 임의의 다른 적절한 통신 링크들, 또는 이러한 링크들의 임의의 적절한 조합일 수 있다.
사용자 디바이스들(506)은 비디오 콘텐츠 및/또는 오디오 콘텐츠를 제시하기 위해 적합한 임의의 하나 이상의 사용자 디바이스들을 포함할 수 있다. 예를 들어, 일부 실시예들에서, 사용자 디바이스들(506)은, 스피커들, 텔레비전, 미디어 재생기, 게임 콘솔, 모바일 디바이스, 태블릿 컴퓨터, 데스크탑 컴퓨터, 차량 엔터테인먼트 시스템(vehicle entertainment system), 착용가능 컴퓨터, 및/또는 사용자 디바이스의 임의의 다른 적절한 타입을 포함할 수 있다.
일부 실시예들에서, 미디어 제시 디바이스 혹은 미디어 수신기 디바이스와 같은 사용자 디바이스(506)는, 디바이스 발견 요청들을 통해, 바람직하지 않은 오디오 재생 능력들 그리고 바람직한 비디오 재생 능력들을 갖는 사용자 디바이스(506)(예컨대, 특정 해상도를 갖는 디스플레이, 특정 치수들을 갖는 디스플레이, 등)와 비교해, 바람직한 오디오 재생 능력들을 갖는, 사용자 디바이스(506)의 특정 근접도 내의 다수의 스피커들이 사용자 디바이스들(506)이라고 결정할 수 있다.
일부 실시예들에서, 사용자 디바이스들(506)의 특정 사용자 디바이스는, 도 1 및 도 2와 관련하여 앞에서 설명되는 바와 같이, 미디어 콘텐츠를 동기식으로 제시한 디바이스들의 그룹 내에 포함될 수 있음에 유의해야 한다. 일부 이러한 실시예들에서, 특정 사용자 디바이스는 선도자 디바이스 혹은 추종자 디바이스일 수 있다. 추가적으로, 특정 사용자 디바이스는 캐스팅 세션과 관련하여 선도자 디바이스일 수 있고, 다른 캐스팅 세션과 관련하여 추종자 디바이스일 수 있음에 유의해야 한다.
비록 서버(502)가 하나의 디바이스로서 예시되지만, 서버(502)에 의해 수행되는 기능들은 일부 실시예들에서 임의의 적절한 수의 디바이스들을 사용하여 수행될 수 있다. 예를 들어, 일부 실시예들에서, 다수의 디바이스들은 서버(502)에 의해 수행되는 기능들을 구현하기 위해 사용될 수 있다.
비록 두 개의 사용자 디바이스들(508 및 510)이 도면의 과도한 복잡함을 피하기 위해 도 5에서 보여지지만, 임의의 적절한 수의 사용자 디바이스들 및/또는 사용자 디바이스들의 임의의 적절한 타입들이 일부 실시예들에서 사용될 수 있다.
서버(502) 및 사용자 디바이스들(506)은 일부 실시예들에서 임의의 적절한 하드웨어를 사용하여 구현될 수 있다. 예를 들어, 일부 실시예들에서, 디바이스들(502 및 506)은 임의의 적절한 범용 컴퓨터 또는 특수 목적 컴퓨터를 사용하여 구현될 수 있다. 예를 들어, 모바일 전화기는 특수 목적 컴퓨터를 사용하여 구현될 수 있다. 임의의 이러한 범용 컴퓨터 또는 특수 목적 컴퓨터는 임의의 적절한 하드웨어를 포함할 수 있다. 예를 들어, 도 6의 예시적 하드웨어(600)에서 예시되는 바와 같이, 이러한 하드웨어는, 하드웨어 프로세서(602), 메모리 및/또는 저장소(604), 입력 디바이스 제어기(606), 입력 디바이스(608), 디스플레이/오디오 드라이버(driver)들(610), 디스플레이 및 오디오 출력 회로(612), 통신 인터페이스(들)(614), 안테나(antenna)(616), 및 버스(bus)(618)를 포함할 수 있다.
하드웨어 프로세서(602)는 임의의 적절한 하드웨어 프로세서를 포함할 수 있는데, 예컨대, 마이크로프로세서(microprocessor), 마이크로-제어기(micro-controller), 디지털 신호 프로세서(digital signal processor)(들), 전용 로직(dedicated logic), 그리고/또는 일부 실시예들에서 범용 컴퓨터 또는 특수 목적 컴퓨터의 기능을 제어하기 위한 임의의 다른 적절한 회로를 포함할 수 있다. 일부 실시예들에서, 하드웨어 프로세서(602)는 서버(502)와 같은 서버의 메모리 및/또는 저장소에 저장된 서버 프로그램에 의해 제어될 수 있다. 일부 실시예들에서, 하드웨어 프로세서(602)는 사용자 디바이스(506)의 메모리 및/또는 저장소(604)에 저장된 컴퓨터 프로그램에 의해 제어될 수 있다.
메모리 및/또는 저장소(604)는 일부 실시예들에서 프로그램, 데이터, 및/또는 임의의 다른 적절한 정보를 저장하기 위한 임의의 적절한 메모리 및/또는 저장소일 수 있다. 예를 들어, 메모리 및/또는 저장소(604)는, 랜덤 액세스 메모리(random access memory), 판독-전용 메모리(read-only memory), 플래시 메모리(flash memory), 하드 디스크 저장소(hard disk storage), 광학 미디어(optical media), 그리고/또는 임의의 다른 적절한 메모리를 포함할 수 있다.
입력 디바이스 제어기(606)는 일부 실시예들에서 하나 이상의 입력 디바이스들(608)로부터의 입력을 제어 및 수신하기 위한 임의의 적절한 회로일 수 있다. 예를 들어, 입력 디바이스 제어기(606)는, 터치스크린(touchscreen)으로부터의 입력, 키보드(keyboard)로부터의 입력, 하나 이상의 버튼(button)들로부터의 입력, 음성 인식 회로(voice recognition circuit)로부터의 입력, 마이크로폰으로부터의 입력, 카메라로부터의 입력, 광학 센서(optical sensor)로부터의 입력, 가속도계(accelerometer)로부터의 입력, 온도 센서(temperature sensor)로부터의 입력, 근접 필드 센서(near field sensor)로부터의 입력, 압력 센서(pressure sensor)로부터의 입력, 인코더(encoder)로부터의 입력, 그리고/또는 입력 디바이스의 임의의 다른 타입으로부터의 입력을 수신하기 위한 회로일 수 있다.
디스플레이/오디오 드라이버들(610)은 일부 실시예들에서 하나 이상의 디스플레이/오디오 출력 디바이스들(612)로의 출력을 제어 및 구동(driving)하기 위한 임의의 적절한 회로일 수 있다. 예를 들어, 디스플레이/오디오 드라이버들(610)은, 터치스크린, 평판 디스플레이(flat-panel display), 음극선관 디스플레이(cathode ray tube display), 영사기(projector), 스피커 혹은 스피커들, 그리고/또는 임의의 다른 적절한 디스플레이 및/또는 제시 디바이스들을 구동하기 위한 회로일 수 있다.
통신 인터페이스(들)(614)는 하나 이상의 통신 네트워크들(예컨대, 컴퓨터 네트워크(504))와 인터페이싱(interfacing)하기 위한 임의의 적절한 회로일 수 있다. 예를 들어, 인터페이스(들)(614)는, 네트워크 인터페이스 카드 회로(network interface card circuitry), 무선 통신 회로, 그리고/또는 통신 네트워크 회로의 임의의 다른 적절한 타입을 포함할 수 있다.
안테나(616)는 일부 실시예들에서 통신 네트워크(예컨대, 통신 네트워크(504))와 무선으로 통신하기 위한 임의의 적절한 하나 이상의 안테나들일 수 있다. 일부 실시예들에서, 안테나(616)는 생략될 수 있다.
버스(618)는 일부 실시예들에서 둘 이상의 컴포넌트(component)들(602, 604, 606, 610, 및 614) 간의 통신을 위한 임의의 적절한 메커니즘일 수 있다.
임의의 다른 적절한 컴포넌트들이 일부 실시예들에 따라 하드웨어(600)에 포함될 수 있다.
일부 실시예들에서, 도 1 및 도 2의 프로세스들의 앞에서 설명되는 블록들 중 적어도 일부는, 도면들과 관련하여 설명된 그리고 도면들에서 보여지는 순서 및 시퀀스(sequence)에 한정되지 않는 임의의 순서 혹은 시퀀스로 실행 또는 수행될 수 있다. 또한, 도 1 및 도 2의 앞서의 블록들 중 일부는, 대기시간(latency) 및 프로세싱 시간들을 감소시키기 위해 적절한 경우 실질적으로 동시에 또는 병렬로 실행 또는 수행될 수 있다. 추가적으로 또는 대안적으로, 도 1 및 도 2의 프로세스들의 앞에서 설명되는 블록들 중 일부는 생략될 수 있다.
일부 실시예들에서, 임의의 적절한 컴퓨터 판독가능 매체들이, 본 명세서에서의 기능들 및/또는 프로세스들을 수행하기 위한 명령들을 저장하기 위해 사용될 수 있다. 예를 들어, 일부 실시예들에서, 컴퓨터 판독가능 매체들은 일시적 혹은 비-일시적일 수 있다. 예를 들어, 비-일시적 컴퓨터 판독가능 매체들은, 자성 매체들(magnetic media)의 비-일시적 형태들(예컨대, 하드 디스크들, 플로피 디스크들, 및/또는 임의의 다른 적절한 자성 매체들), 광학 매체들의 비-일시적 형태들(예컨대, 콤팩트 디스크들, 디지털 비디오 디스크들, 블루-레이 디스크들, 및/또는 임의의 다른 적절한 광학 매체들), 반도체 매체들의 비-일시적 형태들(예컨대, 플래시 메모리, 전기적으로 프로그래밍가능한 판독-전용 메모리(Electrically Programmable Read-Only Memory, EPROM), 전기적으로 소거가능하고 프로그래밍가능한 판독-전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 및/또는 임의의 다른 적절한 반도체 매체들), 순간적이지 않는 혹은 전송 동안 영구(permanence)의 임의의 외관(semblance)을 갖는 임의의 적절한 매체들, 그리고/또는 임의의 적절한 유형의 매체들(tangible media)과 같은 매체들을 포함할 수 있다. 또 하나의 다른 예로서, 일시적 컴퓨터 판독가능 매체들은, 네트워크들 상의 신호들, 배선들 내의 신호들, 전도체들 내의 신호들, 광섬유들 내의 신호들, 회로들 내의 신호들, 순간적인 혹은 전송 동안 영구의 임의의 외관을 갖지 않는 임의의 적절한 매체들, 그리고/또는 임의의 적절한 무형의 매체들(intangible media)을 포함할 수 있다.
이에 따라, 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들이 제공된다.
비록 본 발명이 앞서의 예시적인 실시예들에서 예시되었고 설명되었지만, 본 개시내용은 오로지 예시적으로만 만들어졌다는 것, 그리고 본 발명의 구현의 세부사항들에서의 수많은 변경들이, 후속하는 청구항들에 의해서만 한정되는, 본 발명의 사상 및 범위로부터 벗어남이 없이 만들어질 수 있다는 것이 이해돼야 한다. 본 명세서에서 개시되는 실시예들의 특징들은 다양한 방식들로 결합 및 재정렬될 수 있다.

Claims (27)

  1. 미디어 재생(media playback)을 위한 방법으로서, 상기 방법은,
    선도자 디바이스(leader device)로부터, 각각이 그룹 미디어 재생 세션(group media playback session)에서 미디어 재생 디바이스들의 그룹(group)에 속하는 복수의 추종자 디바이스(follower device)들로, 미디어 콘텐츠 아이템(media content item)이 미디어 재생 디바이스들의 상기 그룹 내의 상기 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스로 동기식으로(synchronously) 제시(present)되도록 하는 제어 명령들을 전송하는 것과;
    상기 미디어 콘텐츠 아이템의 상기 동기식 제시 동안, 상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지(halt)시키기 위한 표시를 수신하는 것과;
    상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 상기 표시를 수신함에 응답하여, 상기 선도자 디바이스가 상기 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 되는지 여부를 결정하는 것과; 그리고
    상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 상기 그룹 미디어 재생 세션에서의 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 상기 선도자 디바이스 상으로의 상기 미디어 콘텐츠 아이템의 제시를 정지시키는 것을 포함하는 것을 특징으로 하는 미디어 재생을 위한 방법.
  2. 제1항에 있어서,
    상기 선도자 디바이스 상으로의 상기 미디어 콘텐츠 아이템의 제시는, 상기 선도자 디바이스 상에 상기 미디어 콘텐츠 아이템을 제시하기 위해 상기 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션(media playback application)에 의해 사용되는 하나 이상의 미디어 리소스(media resource)들을 포기(relinquishing)함으로써 정지되는 것을 특징으로 하는 미디어 재생을 위한 방법.
  3. 제2항에 있어서,
    상기 미디어 재생 애플리케이션은 오디오 재생 애플리케이션(audio playback application)이고,
    상기 하나 이상의 미디어 리소스들은 오디오 리소스를 포함하는 것을 특징으로 하는 미디어 재생을 위한 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 미디어 재생 애플리케이션은, 상기 선도자 디바이스와 관련된 디스플레이(display) 상에 상기 미디어 콘텐츠 아이템을 제시하는 비디오 재생 애플리케이션(video playback application)이고,
    상기 하나 이상의 미디어 리소스들은 상기 선도자 디바이스의 상기 디스플레이를 사용하여 정보를 제시하기 위한 스크린 리소스(screen resource)를 포함하는 것을 특징으로 하는 미디어 재생을 위한 방법.
  5. 앞선 청구항들 중 어느 하나의 항에 있어서,
    상기 미디어 콘텐츠 아이템은 제 1 미디어 재생 애플리케이션을 실행시키는 상기 선도자 디바이스에 의해 제시되고,
    상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 상기 방법은 또한,
    상기 선도자 디바이스에서, 제 2 미디어 콘텐츠 아이템을 포함하는 미디어 재생 세션을 개시시키기 위한 요청을 수신하는 것과; 그리고
    상기 제 2 미디어 콘텐츠 아이템을 포함하는 상기 미디어 재생 세션을 개시시키기 위한 상기 요청을 수신함에 응답하여, 상기 제 2 미디어 콘텐츠 아이템을 제시하기 위해 제 2 미디어 재생 애플리케이션을 발진(launching)시키는 것을 포함하고,
    상기 제 2 미디어 재생 애플리케이션은 상기 선도자 디바이스 상에서 상기 제 1 미디어 재생 애플리케이션과 동시에 실행되고 있는 것을 특징으로 하는 미디어 재생을 위한 방법.
  6. 제5항에 있어서,
    상기 제 2 미디어 콘텐츠 아이템을 포함하는 상기 미디어 재생 세션은, 제2의 복수의 추종자 디바이스들을 갖는 제 2 그룹 재생 세션이고,
    상기 선도자 디바이스 및 상기 제2의 복수의 추종자 디바이스들은 미디어 재생 디바이스들의 제 2 그룹 내에서 그룹화되는 것을 특징으로 하는 미디어 재생을 위한 방법.
  7. 제6항에 있어서,
    상기 그룹 미디어 재생 세션에서의 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 상기 업데이트된 제어 명령들을 전송하기 위해 상기 제 1 미디어 재생 애플리케이션을 동시에 사용하면서, 상기 제 2 미디어 재생 애플리케이션은, 상기 제 2 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 제 2 그룹 내의 상기 제2의 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하도록 되어 있는 것을 특징으로 하는 미디어 재생을 위한 방법.
  8. 제5항 내지 제7항 중 어느 하나의 항에 있어서,
    상기 방법은 또한, 상기 하나 이상의 미디어 리소스들이 상기 선도자 디바이스 상에서 실행되는 애플리케이션 관리자(application manager)에서 더 이상 사용되고 있지 않다는 표시를 수신하는 것을 포함하고,
    상기 제 2 미디어 재생 애플리케이션은, 상기 제 2 미디어 콘텐츠 아이템을 포함하는 상기 미디어 재생 세션을 개시시키기 위한 상기 요청을 수신함에 응답하여, 그리고 상기 하나 이상의 미디어 리소스들이 더 이상 사용되고 있지 않다는 상기 표시를 수신함에 응답하여, 상기 제 2 미디어 콘텐츠 아이템의 제시를 개시시키는 것을 특징으로 하는 미디어 재생을 위한 방법.
  9. 제5항 내지 제8항 중 어느 하나의 항에 있어서,
    상기 방법은 또한,
    상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 상기 표시를 수신함에 응답하여, 상기 제 1 미디어 애플리케이션이 상기 선도자 디바이스 상에서 가시적이게 되는 것을 저지(inhibiting)하는 것과,
    여기서 상기 제 1 미디어 애플리케이션은, 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내의 상기 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스 상에 동기식으로 제시되고 있었을 때는, 가시적 상태(visible state)에 있었고; 그리고
    상기 제 2 미디어 콘텐츠 아이템을 제시하기 위한 현재 미디어 재생 애플리케이션으로서 상기 제 2 미디어 애플리케이션을 설정하는 것을 포함하고,
    상기 제 2 미디어 애플리케이션은 선도자 디바이스 상에서 가시적 상태에 있는 것을 특징으로 하는 미디어 재생을 위한 방법.
  10. 제5항 내지 제9항 중 어느 하나의 항에 있어서,
    상기 제 1 미디어 재생 애플리케이션과 상기 제 2 미디어 재생 애플리케이션은 동일한 미디어 재생 애플리케이션의 인스턴스(instance)들인 것을 특징으로 하는 미디어 재생을 위한 방법.
  11. 앞선 청구항들 중 어느 하나의 항에 있어서,
    상기 방법은 또한, 상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있지 않게 된다고 결정함에 응답하여, 미디어 재생 디바이스들의 상기 그룹 내의 추종자 디바이스가 상기 선도자 디바이스로서 지정될 수 있는지 여부를 결정하는 것을 포함하는 것을 특징으로 하는 미디어 재생을 위한 방법.
  12. 제11항에 있어서,
    상기 방법은 또한, 상기 추종자 디바이스가 상기 선도자 디바이스로서 지정될 수 있다고 결정함에 응답하여,
    상기 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션이 미디어 재생 디바이스들의 상기 그룹 내의 추종자 디바이스로의 상기 미디어 콘텐츠 아이템에 대응하는 콘텐츠의 스트림의 스트림 이송(stream transfer)을 수행하도록 하는 것과, 여기서 상기 스트림 이송을 수행하도록 하는 것은, 상기 추종자 디바이스에게,
    상기 추종자 디바이스를 업데이트된 선도자 디바이스로서 지정하는 것과,
    상기 미디어 재생 애플리케이션이 상기 업데이트된 선도자 디바이스 상에서 실행되도록 하는 것과, 그리고
    상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 각각 및 상기 업데이트된 선도자 디바이스로 동기식으로 제시되도록 하는 상기 업데이트된 제어 명령들을 상기 업데이트된 선도자 디바이스가 상기 제 1 미디어 재생 애플리케이션을 통해 전송하도록 구성되게 상기 그룹 미디어 재생 세션을 이송하는 것을
    행하는 제어 명령을 전송함으로써 이루어지고; 그리고
    상기 그룹 미디어 재생 세션에 참여하고 있는 미디어 재생 디바이스들의 상기 그룹으로부터 상기 선도자 디바이스를 제거하는 것을 포함하는 것을 특징으로 하는 미디어 재생을 위한 방법.
  13. 앞선 청구항들 중 어느 하나의 항에 있어서,
    상기 방법은 또한, 상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있지 않게 된다고 결정함에 응답하여,
    상기 그룹 미디어 재생 세션과 관련된 업데이트된 선도자 디바이스를 표시함으로써 상기 그룹 미디어 재생 세션을 업데이트하는 것과,
    상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 각각 및 상기 업데이트된 선도자 디바이스로 동기식으로 제시되도록 하는 상기 업데이트된 제어 명령들을 상기 업데이트된 선도자 디바이스가 상기 제 1 미디어 재생 애플리케이션을 통해 전송하도록 구성되게 상기 그룹 미디어 재생 세션을 이송하는 것과, 그리고
    상기 그룹 미디어 재생 세션에 참여하고 있는 미디어 재생 디바이스들의 상기 그룹으로부터 상기 선도자 디바이스를 제거하는 것을
    행함으로써, 상기 그룹 미디어 재생 세션을 동적으로 수정하는 것을 포함하는 것을 특징으로 하는 미디어 재생을 위한 방법.
  14. 미디어 재생을 위한 시스템으로서, 상기 시스템은,
    하드웨어 프로세서(hardware processor)를 갖는 선도자 디바이스를 포함하고,
    상기 하드웨어 프로세서는,
    선도자 디바이스로부터, 각각이 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹에 속하는 복수의 추종자 디바이스들로, 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내의 상기 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하고;
    상기 미디어 콘텐츠 아이템의 상기 동기식 제시 동안, 상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신하고;
    상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 상기 표시를 수신함에 응답하여, 상기 선도자 디바이스가 상기 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 되는지 여부를 결정하고; 그리고
    상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 상기 그룹 미디어 재생 세션에서의 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 상기 선도자 디바이스 상으로의 상기 미디어 콘텐츠 아이템의 제시를 정지시키는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  15. 제14항에 있어서,
    상기 선도자 디바이스 상으로의 상기 미디어 콘텐츠 아이템의 제시는, 상기 선도자 디바이스 상에 상기 미디어 콘텐츠 아이템을 제시하기 위해 상기 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션에 의해 사용되는 하나 이상의 미디어 리소스들을 포기함으로써 정지되는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  16. 제15항에 있어서,
    상기 미디어 재생 애플리케이션은 오디오 재생 애플리케이션이고,
    상기 하나 이상의 미디어 리소스들은 오디오 리소스를 포함하는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  17. 제15항 또는 제16항에 있어서,
    상기 미디어 재생 애플리케이션은, 상기 선도자 디바이스와 관련된 디스플레이 상에 상기 미디어 콘텐츠 아이템을 제시하는 비디오 재생 애플리케이션이고,
    상기 하나 이상의 미디어 리소스들은 상기 선도자 디바이스의 상기 디스플레이를 사용하여 정보를 제시하기 위한 스크린 리소스를 포함하는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  18. 제14항 내지 제17항 중 어느 하나의 항에 있어서,
    상기 미디어 콘텐츠 아이템은 제 1 미디어 재생 애플리케이션을 실행시키는 상기 선도자 디바이스에 의해 제시되고,
    상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 상기 하드웨어 프로세서는 또한,
    상기 선도자 디바이스에서, 제 2 미디어 콘텐츠 아이템을 포함하는 미디어 재생 세션을 개시시키기 위한 요청을 수신하고; 그리고
    상기 제 2 미디어 콘텐츠 아이템을 포함하는 상기 미디어 재생 세션을 개시시키기 위한 상기 요청을 수신함에 응답하여, 상기 제 2 미디어 콘텐츠 아이템을 제시하기 위해 제 2 미디어 재생 애플리케이션을 발진시키고,
    상기 제 2 미디어 재생 애플리케이션은 상기 선도자 디바이스 상에서 상기 제 1 미디어 재생 애플리케이션과 동시에 실행되고 있는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  19. 제18항에 있어서,
    상기 제 2 미디어 콘텐츠 아이템을 포함하는 상기 미디어 재생 세션은, 제2의 복수의 추종자 디바이스들을 갖는 제 2 그룹 재생 세션이고,
    상기 선도자 디바이스 및 상기 제2의 복수의 추종자 디바이스들은 미디어 재생 디바이스들의 제 2 그룹 내에서 그룹화되는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  20. 제19항에 있어서,
    상기 그룹 미디어 재생 세션에서의 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 상기 업데이트된 제어 명령들을 전송하기 위해 상기 제 1 미디어 재생 애플리케이션을 동시에 사용하면서, 상기 제 2 미디어 재생 애플리케이션은, 상기 제 2 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 제 2 그룹 내의 상기 제2의 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하도록 되어 있는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  21. 제18항 내지 제20항 중 어느 하나의 항에 있어서,
    상기 하드웨어 프로세서는 또한, 상기 하나 이상의 미디어 리소스들이 상기 선도자 디바이스 상에서 실행되는 애플리케이션 관리자에서 더 이상 사용되고 있지 않다는 표시를 수신하고,
    상기 제 2 미디어 재생 애플리케이션은, 상기 제 2 미디어 콘텐츠 아이템을 포함하는 상기 미디어 재생 세션을 개시시키기 위한 상기 요청을 수신함에 응답하여, 그리고 상기 하나 이상의 미디어 리소스들이 더 이상 사용되고 있지 않다는 상기 표시를 수신함에 응답하여, 상기 제 2 미디어 콘텐츠 아이템의 제시를 개시시키는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  22. 제18항 내지 제21항 중 어느 하나의 항에 있어서,
    상기 하드웨어 프로세서는 또한,
    상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 상기 표시를 수신함에 응답하여, 상기 제 1 미디어 애플리케이션이 상기 선도자 디바이스 상에서 가시적이게 되는 것을 저지하고,
    여기서 상기 제 1 미디어 애플리케이션은, 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내의 상기 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스 상에 동기식으로 제시되고 있었을 때는, 가시적 상태에 있었고; 그리고
    상기 제 2 미디어 콘텐츠 아이템을 제시하기 위한 현재 미디어 재생 애플리케이션으로서 상기 제 2 미디어 애플리케이션을 설정하고,
    상기 제 2 미디어 애플리케이션은 선도자 디바이스 상에서 가시적 상태에 있는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  23. 제18항 내지 제22항 중 어느 하나의 항에 있어서,
    상기 제 1 미디어 재생 애플리케이션과 상기 제 2 미디어 재생 애플리케이션은 동일한 미디어 재생 애플리케이션의 인스턴스들인 것을 특징으로 하는 미디어 재생을 위한 시스템.
  24. 제14항 내지 제23항 중 어느 하나의 항에 있어서,
    상기 하드웨어 프로세서는 또한, 상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있지 않게 된다고 결정함에 응답하여, 미디어 재생 디바이스들의 상기 그룹 내의 추종자 디바이스가 상기 선도자 디바이스로서 지정될 수 있는지 여부를 결정하는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  25. 제24항에 있어서,
    상기 하드웨어 프로세서는 또한, 상기 추종자 디바이스가 상기 선도자 디바이스로서 지정될 수 있다고 결정함에 응답하여,
    상기 선도자 디바이스 상에서 실행되는 미디어 재생 애플리케이션이 미디어 재생 디바이스들의 상기 그룹 내의 추종자 디바이스로의 상기 미디어 콘텐츠 아이템에 대응하는 콘텐츠의 스트림의 스트림 이송을 수행하도록 하고, 여기서 상기 스트림 이송을 수행하도록 하는 것은, 상기 추종자 디바이스에게,
    상기 추종자 디바이스를 업데이트된 선도자 디바이스로서 지정하는 것과,
    상기 미디어 재생 애플리케이션이 상기 업데이트된 선도자 디바이스 상에서 실행되도록 하는 것과, 그리고
    상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 각각 및 상기 업데이트된 선도자 디바이스로 동기식으로 제시되도록 하는 상기 업데이트된 제어 명령들을 상기 업데이트된 선도자 디바이스가 상기 제 1 미디어 재생 애플리케이션을 통해 전송하도록 구성되게 상기 그룹 미디어 재생 세션을 이송하는 것을
    행하는 제어 명령을 전송함으로써 이루어지고; 그리고
    상기 그룹 미디어 재생 세션에 참여하고 있는 미디어 재생 디바이스들의 상기 그룹으로부터 상기 선도자 디바이스를 제거하는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  26. 제14항 내지 제25항 중 어느 하나의 항에 있어서,
    상기 하드웨어 프로세서는 또한, 상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있지 않게 된다고 결정함에 응답하여,
    상기 그룹 미디어 재생 세션과 관련된 업데이트된 선도자 디바이스를 표시함으로써 상기 그룹 미디어 재생 세션을 업데이트하는 것과,
    상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 각각 및 상기 업데이트된 선도자 디바이스로 동기식으로 제시되도록 하는 상기 업데이트된 제어 명령들을 상기 업데이트된 선도자 디바이스가 상기 제 1 미디어 재생 애플리케이션을 통해 전송하도록 구성되게 상기 그룹 미디어 재생 세션을 이송하는 것과, 그리고
    상기 그룹 미디어 재생 세션에 참여하고 있는 미디어 재생 디바이스들의 상기 그룹으로부터 상기 선도자 디바이스를 제거하는 것을
    행함으로써, 상기 그룹 미디어 재생 세션을 동적으로 수정하는 것을 특징으로 하는 미디어 재생을 위한 시스템.
  27. 컴퓨터 실행가능 명령들을 포함하는 비-일시적 컴퓨터-판독가능 매체로서,
    상기 컴퓨터 실행가능 명령들은 프로세서에 의해 실행될 때 상기 프로세서가 미디어 재생을 위한 방법을 수행하도록 하고, 상기 방법은,
    선도자 디바이스로부터, 각각이 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 그룹에 속하는 복수의 추종자 디바이스들로, 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내의 상기 복수의 추종자 디바이스들 각각 및 상기 선도자 디바이스로 동기식으로 제시되도록 하는 제어 명령들을 전송하는 것과;
    상기 미디어 콘텐츠 아이템의 상기 동기식 제시 동안, 상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 표시를 수신하는 것과;
    상기 선도자 디바이스에 의한 상기 미디어 콘텐츠 아이템의 제시를 정지시키기 위한 상기 표시를 수신함에 응답하여, 상기 선도자 디바이스가 상기 그룹 미디어 재생 세션에서 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 되는지 여부를 결정하는 것과; 그리고
    상기 선도자 디바이스가 미디어 재생 디바이스들의 상기 그룹의 상기 선도자 디바이스로 남아 있게 된다고 결정함에 응답하여, 상기 그룹 미디어 재생 세션에서의 상기 미디어 콘텐츠 아이템이 미디어 재생 디바이스들의 상기 그룹 내에 남아있는 상기 복수의 추종자 디바이스들 상에 동기식으로 계속 제시되도록 하는 업데이트된 제어 명령들을 계속 전송하면서, 상기 선도자 디바이스 상으로의 상기 미디어 콘텐츠 아이템의 제시를 정지시키는 것을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
KR1020227001576A 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들 KR102510968B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237008726A KR102648336B1 (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들

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
KR1020237008726A Division KR102648336B1 (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들

Publications (2)

Publication Number Publication Date
KR20220011228A true KR20220011228A (ko) 2022-01-27
KR102510968B1 KR102510968B1 (ko) 2023-03-16

Family

ID=69005926

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020247008325A KR20240037372A (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들
KR1020227001576A KR102510968B1 (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들
KR1020237008726A KR102648336B1 (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247008325A KR20240037372A (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237008726A KR102648336B1 (ko) 2019-06-17 2019-12-02 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들

Country Status (8)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102493804B1 (ko) 2022-09-14 2023-01-31 (주)플랫브레드 위치 정보 기반의 동기화된 디지털 영상 컨텐츠를 복수의 디스플레이 장치에 출력하는 방법 및 그 서버

Families Citing this family (2)

* 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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013047A2 (en) * 2003-07-28 2005-02-10 Sonos, Inc. Inter-client synchrony management using differential clock adjustments
US20140181202A1 (en) * 2013-09-30 2014-06-26 Sonos, Inc. Group Coordinator Device Selection
WO2017058654A1 (en) * 2015-09-28 2017-04-06 Google Inc. Time-synchronized, multizone media streaming
WO2018213401A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Methods and interfaces for home media control

Family Cites Families (14)

* 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
JP2008244869A (ja) * 2007-03-27 2008-10-09 National Univ Corp Shizuoka Univ ライブ配信システム、Webサーバ、エンコーダ及びライブ配信システムにおける配信管理方法
TWI381716B (zh) * 2007-12-31 2013-01-01 Ind Tech Res Inst 串流資料之網路傳輸系統與方法
USRE48946E1 (en) * 2008-01-07 2022-02-22 D&M Holdings, Inc. Systems and methods for providing a media playback in a networked environment
US8515338B2 (en) * 2008-12-12 2013-08-20 At&T Intellectual Property I, L.P. Systems and methods for synchronized playout of music on several personal digital music players
US8640204B2 (en) * 2009-08-28 2014-01-28 Broadcom Corporation Wireless device for group access and management
KR101633480B1 (ko) * 2009-11-27 2016-06-24 삼성전자주식회사 미디어 처리 기기 및 그 제어 방법
US9071853B2 (en) * 2012-08-31 2015-06-30 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
US9531833B2 (en) * 2012-11-28 2016-12-27 Qualcomm Incorporated System and method for use of network services in receiving content and data
US10664772B1 (en) * 2014-03-07 2020-05-26 Steelcase Inc. Method and system for facilitating collaboration sessions
US20160150011A1 (en) * 2014-11-26 2016-05-26 Qualcomm Incorporated Media output device to transmit and synchronize playback of a media content stream that is received over a point-to-point connection on multiple interconnected devices
US11212326B2 (en) * 2016-10-31 2021-12-28 Microsoft Technology Licensing, Llc Enhanced techniques for joining communication sessions
US10992795B2 (en) * 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013047A2 (en) * 2003-07-28 2005-02-10 Sonos, Inc. Inter-client synchrony management using differential clock adjustments
US20140181202A1 (en) * 2013-09-30 2014-06-26 Sonos, Inc. Group Coordinator Device Selection
WO2017058654A1 (en) * 2015-09-28 2017-04-06 Google Inc. Time-synchronized, multizone media streaming
WO2018213401A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Methods and interfaces for home media control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102493804B1 (ko) 2022-09-14 2023-01-31 (주)플랫브레드 위치 정보 기반의 동기화된 디지털 영상 컨텐츠를 복수의 디스플레이 장치에 출력하는 방법 및 그 서버
KR20240037135A (ko) 2022-09-14 2024-03-21 (주)플랫브레드 복수의 디스플레이 장치의 영상 콘텐츠의 재생 싱크를 조절하기 위한 서버 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
US11902606B2 (en) Methods, systems, and media for presenting notifications indicating recommended content
KR102268442B1 (ko) 다수의 디바이스에서 동기화된 미디어 콘텐츠 재생 동안 품질 레벨을 조절하기 위한 방법들, 시스템들 및 매체들
KR102648336B1 (ko) 동적 미디어 세션들을 제공하기 위한 방법들, 시스템들, 및 매체들
US11606596B2 (en) Methods, systems, and media for synchronizing audio and video content on multiple media devices
KR20140066641A (ko) 서버, 멀티미디어 기기 및 그들의 제어방법
US10893087B1 (en) Streaming and nonstreaming media transfer between devices
CN106303679B (zh) 媒体播放控制方法及媒体播放客户端
US20230396829A1 (en) Methods, systems, and media for synchronized media content playback on multiple devices
US20220232276A1 (en) Remotely Controlling Playback Devices
JP4220523B2 (ja) ネットワーク上に応用されるグループ再生方法およびコンピュータシステムおよびコンピュータ読取り可能媒体
US20210185365A1 (en) Methods, systems, and media for providing dynamic media sessions with video stream transfer features
EP3005614A1 (en) Playback queue control via a playlist on a mobile device
EP4096197A1 (en) Command buffering
EE et al. Published

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant