KR20120059642A - 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들 - Google Patents

통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20120059642A
KR20120059642A KR1020127011138A KR20127011138A KR20120059642A KR 20120059642 A KR20120059642 A KR 20120059642A KR 1020127011138 A KR1020127011138 A KR 1020127011138A KR 20127011138 A KR20127011138 A KR 20127011138A KR 20120059642 A KR20120059642 A KR 20120059642A
Authority
KR
South Korea
Prior art keywords
media
pool
option
electronic device
media pool
Prior art date
Application number
KR1020127011138A
Other languages
English (en)
Other versions
KR101384452B1 (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 애플 인크.
Publication of KR20120059642A publication Critical patent/KR20120059642A/ko
Application granted granted Critical
Publication of KR101384452B1 publication Critical patent/KR101384452B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들, 방법들 및 머신 판독 가능한 매체가 개시된다. 예를 들어, 전자 디바이스에서의 미디어 풀 애플리케이션은 통신 네트워크에서 미디어 풀들(예를 들어, 정적 미디어 풀들 및 일시적 미디어 풀들)을 생성할 수 있다. 또한, 미디어 풀 애플리케이션은 사용자가 미디어 풀들을 관리하기 위한 하나 이상의 옵션들을 제공할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션은 사용자가 조인할 수 있는 하나 이상의 후보 미디어 풀들을 제공할 수 있다. 예를 들어, 하나 이상의 후보 미디어 풀들은 통신 네트워크에서 하나 이상의 전자 디바이스들 상에 배치되는 미디어 아이템들과 연관된 메타데이터에 기초하여 생성될 수 있다.

Description

통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR PROVIDING MEDIA POOLS IN A COMMUNICATIONS NETWORK}
이것은 통신 네트워크에서 미디어 풀들(media pools)을 제공하는 것에 관한 것이다.
랩톱 및 데스크톱 컴퓨터들과 포터블 미디어 플레이어들과 같은, 오늘날의 전자 디바이스들은 미디어 아이템들의 라이브러리들(libraries of media items)을 포함할 수 있다. 사용자들은 이들 전자 디바이스들을 이용하여 라이브러리 내의 미디어 아이템들의 서브세트를 재생(play back)하도록 선택할 수 있다. 예를 들어, 사용자들은 라이브러리 내의 미디어 아이템들의 서브세트를 포함할 수 있는 개인화된 플레이리스트들(personalized playlists)을 생성할 수 있다.
그러나, 현재의 전자 디바이스들은 일반적으로 메모리에 국부적으로 저장되거나 원격 소스(예를 들어, 원격 서버)로부터 스트리밍되는(streamed) 미디어 아이템들을 재생하는 것으로 한정된다. 예를 들어, 전자 디바이스는 메모리에 저장된 미디어 파일들을 재생할 수 있을 수 있다. 다른 예로서, 전자 디바이스는 원격 서버로부터 미디어 스트림을 수신하고 사용자에게 미디어 스트림을 제공할 수 있을 수 있다. 따라서, 전자 디바이스의 사용자는 통상적으로 전자 디바이스와 동일한 통신 네트워크에 위치한 다른 디바이스들에 저장되는 미디어 아이템들에 액세스하기 위한 제한된 수의 옵션들을 갖는다.
통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들, 방법들, 및 머신 판독 가능한 매체가 개시된다. 미디어 풀들은 통신 네트워크의 전자 디바이스 또는 서버와 같은, 통신 네트워크의 임의의 적절한 미디어 소스에 의해 제공될 수 있다.
전자 디바이스는 먼저 통신 네트워크 내의 다른 전자 디바이스들을 식별함으로써 미디어 풀(예를 들어, 일시적 미디어 풀)을 생성할 수 있는 미디어 풀 애플리케이션(media pool application)을 포함할 수 있다. 미디어 소스들을 식별한 후에, 미디어 풀 애플리케이션은 전자 디바이스들 각각에 국부적으로 저장된 하나 이상의 미디어 아이템들을 식별할 수 있다. 미디어 풀 애플리케이션은 그 다음에 식별된 미디어 아이템들 중 하나 이상을 포함하는 미디어 풀을 생성할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 식별된 미디어 아이템들의 메타데이터를 매칭함으로써 미디어 풀을 생성할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션은 식별된 미디어 아이템들의 메타데이터, 온라인 소스 및/또는 서버로부터 획득된 정보 중 하나 이상에 기초하여 미디어 풀의 디스크립션(description)을 생성할 수 있다.
미디어 풀을 생성한 후에, 미디어 풀 애플리케이션은 미디어 풀의 미디어 아이템을 스트리밍할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 아이템들과 연관된 미디어 랭킹들에 기초하여 스트리밍할 미디어 아이템을 결정할 수 있다. 미디어 아이템을 결정한 후에, 미디어 풀 애플리케이션은 미디어 풀의 다른 전자 디바이스들에 미디어 아이템을 스트리밍할 수 있다. 따라서, 미디어 풀 애플리케이션은 미디어 풀의 하나 이상의 전자 디바이스들로부터 요구들을 수신함으로써 요구가 있으면 미디어 아이템을 스트리밍할 수 있다. 다른 실시예들에서, 미디어 풀 애플리케이션은 미디어 풀에서 전자 디바이스들에 복수의 스트림들을 제공할 수 있다.
일부 실시예들에서, 미디어 풀 애플리케이션은 미디어 풀의 모든 미디어 아이템들을 보기 위한 옵션을 사용자에게 제공할 수 있다. 그 다음에 미디어 풀 애플리케이션은 하나 이상의 사용자 명령들(예를 들어, 하나 이상의 사용자 선택들)을 수신하는 것에 응답하여 하나 이상의 액션들을 수행할 수 있다. 예를 들어, 미디어 아이템을 재생하기 위한 사용자 명령을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀의 미디어 아이템을 재생할 수 있다. 다른 예로서, 전자 디바이스 및/또는 서버에 위치하지 않은 미디어 아이템을 추가하기 위한 사용자 명령을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 전자 디바이스 및/또는 서버에 미디어 아이템을 추가할 수 있다.
일부 실시예들에서, 미디어 풀 애플리케이션은 하나 이상의 서버로부터의 미디어를 포함하는 미디어 풀들(예를 들어, 정적 미디어 풀들)을 생성할 수 있다. 예를 들어, 미디어 풀의 서버는 미디어 풀의 하나 이상의 전자 디바이스에 미디어 아이템의 스트림을 제공할 수 있다. 또한, 서버는 미디어 풀의 하나 이상의 속성(예를 들어, 미디어 풀의 멤버들, 미디어 풀의 미디어 아이템들, 미디어 풀의 하나 이상의 미리 결정된 임계값들, 등)을 관리할 수 있다.
일부 실시예들에서, 서버는 전자 디바이스가 미디어 풀을 떠났는지를 검출할 수 있다. 예를 들어, 전자 디바이스는 통신 네트워크의 범위 밖으로 이동하였을 수 있거나, 또는 미디어 풀을 나갔을 수 있다. 전자 디바이스가 미디어 풀을 떠났다고 검출하는 것에 응답하여, 서버는 하나 이상의 대안적인 소스들(예를 들어, 서버 상의 미디어 라이브러리, 다른 전자 디바이스, 및/또는 온라인 소스)에 전자 디바이스와 연관된 미디어 아이템들을 배치하도록 시도할 수 있다.
일부 실시예들에서, 서버는 현재 스트리밍되고 있는 미디어 아이템을 버퍼링할 수 있다. 미디어 아이템과 연관된 전자 디바이스가 그 다음에 미디어 풀을 떠나는 경우, 서버는 버퍼링된 미디어 아이템을 미디어 풀의 다른 전자 디바이스들에 계속해서 스트리밍할 수 있다.
본 발명의 상기 및 다른 양태들 및 이점들은 동일한 참조 문자들이 전체에 걸쳐서 유사한 부분들을 가리키는 첨부 도면들과 함께 취해진 다음의 상세한 설명의 고려시에 명백할 것이다.
도 1은 본 발명의 다양한 실시예들에 따른 클라이언트-서버 통신 네트워크의 개략도이다.
도 2는 본 발명의 다양한 실시예들에 따른 멀티-디바이스 통신 네트워크의 개략도이다.
도 3은 본 발명의 다양한 실시예들에 따른 전자 디바이스의 개략도이다.
도 4는 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 예시적인 톱 레벨 메뉴(top level menu)의 디스플레이 스크린을 도시한다.
도 5는 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 현재의 미디어 풀들을 제공하기 위한 디스플레이 스크린을 도시한다.
도 6은 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 미디어 아이템의 스트림을 제공하기 위한 디스플레이 스크린을 도시한다.
도 7은 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 추가 옵션과 연관되는 디스플레이 스크린을 도시한다.
도 8은 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 플레이리스트 보기 옵션과 연관되는 디스플레이 스크린을 도시한다.
도 9는 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 플레이리스트 아이템과 연관되는 디스플레이 스크린을 도시한다.
도 10은 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 모든 아이템 보기 옵션과 연관되는 디스플레이 스크린을 도시한다.
도 11은 본 발명의 다양한 실시예들에 따라 전자 디바이스가 미디어 풀을 떠난 후에, 도 10과 유사한, 미디어 풀 애플리케이션의 모든 아이템 보기 옵션과 연관되는 디스플레이 스크린을 도시한다.
도 12는 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 후보 미디어 풀들을 제공하기 위한 디스플레이 스크린을 도시한다.
도 13은 본 발명의 다양한 실시예들에 따른 미디어 풀의 디스크립션을 디스플레이하는, 도 12와 유사한, 미디어 풀 애플리케이션의 후보 미디어 풀들을 제공하기 위한 디스플레이 스크린을 도시한다.
도 14는 본 발명의 다양한 실시예들에 따라 부가적인 후보 미디어 풀들을 제공하는, 도 12 및 13과 유사한, 후보 미디어 풀들을 제공하기 위한 디스플레이 스크린을 도시한다.
도 15는 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 후보 미디어 풀을 편집하기 위한 디스플레이 스크린을 도시한다.
도 16은 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 미디어 풀들을 관리하기 위한 디스플레이 스크린을 도시한다.
도 17은 본 발명의 다양한 실시예들에 따른 미디어 풀 애플리케이션의 하나 이상의 설정 옵션들을 제공하기 위한 디스플레이 스크린을 도시한다.
도 18은 본 발명의 다양한 실시예들에 따라 미디어 아이템들의 스트림을 제공하기 위한 예시적인 프로세스의 플로우챠트를 도시한다.
도 19a 및 19b는 본 발명의 다양한 실시예들에 따라 하나 이상의 후보 미디어 풀들을 제공하기 위한 예시적인 프로세스의 플로우챠트를 도시한다.
통신 시스템에서 미디어 풀들을 제공하기 위한 시스템들, 방법들, 및 머신 판독 가능한 매체(예를 들어, 컴퓨터 판독 가능한 매체)가 개시된다.
도 1은 본 발명의 다양한 실시예들에 따른 예시적인 클라이언트-서버 통신 네트워크(100)의 개략도이다. 통신 네트워크(100)는 서버(102) 및 클라이언트 디바이스들(104, 106, 108, 및 110)을 포함할 수 있다. 도 1은 오직 하나의 서버와 4개의 클라이언트 디바이스를 도시하지만, 이 기술분야의 통상의 기술자들은 이것은 단지 예시이며, 통신 네트워크(100)는 임의의 적절한 수의 서버 및 클라이언트 디바이스를 포함할 수 있다는 것을 알 것이다.
서버(102)는 데이터를 저장하고 클라이언트 디바이스들(104, 106, 108, 및 110)에 데이터를 제공할 수 있는 임의의 적절한 타입의 서버를 포함할 수 있다(예를 들어, 파일 서버, 데이터베이스 서버, 웹 서버, 또는 미디어 서버). 일부 실시예들에서, 서버(102)는 클라이언트 디바이스들(104, 106, 108, 및 110)에 미디어 아이템들을 스트리밍 및/또는 제공할 수 있는 미디어 재생 도크(media playback dock)일 수 있다(예를 들어, 서버(102)는 스피커들 및 출력 회로를 포함할 수 있다).
서버(102)는 미디어 아이템들 및 다른 데이터(예를 들어, 미디어 아이템들과 연관된 메타데이터)를 저장할 수 있다. 또한, 서버(102)는 데이터를 획득하기 위해 클라이언트 디바이스들(104, 106, 108, 및 110)로부터 요구들을 수신할 수 있다. 예를 들어, 서버(102)는 하나 이상의 노래, 비디오, 또는 사진, 및 미디어 아이템들과 연관된 임의의 메타데이터와 같은, 미디어 아이템들을 획득하기 위해 클라이언트 디바이스로부터 요구들을 수신할 수 있다(예를 들어, 음악 아이템을 프리뷰 또는 구매하기 위한 하이퍼링크, 장르, 아티스트, 앨범, 앨범 커버 아트, 발표일, BPM(bits per minute) 정보, 프로듀서, 송 라이터(song writer), 키워드, 태그, 리릭(lyrics), 보컬, 저음부 정보, 또는 음악 아이템과 연관된 미디어 랭킹). 요구들은 미디어 아이템을 다운로드 또는 스트리밍하기 위한 요구들, 또는 미디어 아이템 없이 메타데이터를 다운로드하기 위한 요구들을 포함할 수 있다. 이 요구들에 응답하여, 서버(102)는 요구된 노래들 및/또는 노래들과 연관된 메타데이터를 배치 및 제공할 수 있다.
서버(102)는 통신 링크(112)를 통해 클라이언트 디바이스들(104, 106, 108, 및 110)과 통신할 수 있다. 통신 링크(112)는 서버(102)와 클라이언트 디바이스들(104, 106, 108, 및 110) 사이에 데이터가 교환될 수 있는, 임의의 적절한 유선 또는 무선 통신 링크, 또는 그의 결합들을 포함할 수 있다. 예를 들어, 통신 링크(112)는 위성 링크, 광섬유 링크, 케이블 링크, 인터넷 링크, 또는 임의의 다른 적절한 유선 또는 무선 링크를 포함할 수 있다. 통신 링크(112)는 통신 링크(112)에 의하여 지원되는 임의의 적절한 통신 프로토콜을 이용하여 데이터 전송을 가능하게 할 수 있다. 이러한 통신 프로토콜들은 예를 들어, 와이파이(예를 들어, 802.11 프로토콜), 이더넷, 블루투스(등록 상표), 무선 주파수 시스템(예를 들어, 900 MHz, 2.4 GHz, 및 5.6 GHz 통신 시스템), 적외선, TCP/IP(예를 들어, 그리고 TCP/IP 층들 각각에서 사용된 프로토콜들), HTTP, BitTorrent, FTP, RTP, RTSP, SSH, 임의의 다른 통신 프로토콜, 또는 그의 임의의 결합을 포함할 수 있다.
클라이언트 디바이스들(104, 106, 108, 및 110)은 서버(102)와 통신할 수 있는 임의의 전자 디바이스들을 포함할 수 있다. 예를 들어, (무선 가능 액세서리 디바이스의 도움으로 또는 도움없이) 클라이언트 디바이스들(104, 106, 108, 및 110)은 포터블 미디어 플레이어들, 셀룰러 전화기들, 포켓 사이즈 개인 컴퓨터들, PDA(personal digital assistance), 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 및 유선 또는 무선으로 통신할 수 있는 다른 디바이스들을 포함할 수 있다.
일부 실시예들에서, 서버(102)는 통신 네트워크(100)의 클라이언트 디바이스들 중 하나 이상으로부터 데이터를 취득하고 프로세싱할 수 있다. 예를 들어, 서버(102)는 통신 네트워크(100)의 클라이언트 디바이스(예를 들어, 클라이언트 디바이스들(104, 106, 108, 또는 110))로부터 미디어 아이템의 메타데이터를 수신할 수 있다. 서버(102)는 그 다음에 온라인 소스(예를 들어, 애플사에 의해 이용가능하게 된 iTunes™과 같은 온라인 음악 스토어)를 이용하여 또는 국부적으로(예를 들어, 서버(102) 상의 미디어 라이브러리에) 미디어 아이템을 배치할 수 있다. 미디어 아이템을 배치한 후에, 서버(102)는 통신 네트워크(100)의 하나 이상의 클라이언트 디바이스에 미디어 아이템을 스트리밍할 수 있다. 다른 예로서, 서버(102)는 통신 네트워크(100)의 클라이언트 디바이스로부터 직접 미디어 아이템을 수신하도록 구성될 수 있다. 예를 들어, 서버(102)는 메모리(114)에 미디어 아이템의 사본을 다운로드할 수 있다. 미디어 아이템을 수신하면, 서버(102)는 통신 네트워크(100)의 클라이언트 디바이스들 중 하나 이상에 미디어 아이템을 스트리밍할 수 있다. 또 다른 예로서, 서버(102)는 메모리(114)에서 미디어 라이브러리에 미디어 아이템을 추가하기 위해 통신 네트워크(100)의 클라이언트 디바이스로부터 요구를 수신할 수 있다. 요구를 수신하는 것에 응답하여, 서버(102)는 온라인 소스 또는 통신 네트워크(100)의 클라이언트 디바이스에 미디어 아이템을 배치할 수 있다. 미디어 아이템을 배치한 후에, 서버(102)는 메모리(114)에서 미디어 라이브러리에 미디어 아이템을 다운로드할 수 있다.
일부 실시예들에서, 서버(102)는 통신 네트워크(100)의 하나 이상의 클라이언트 디바이스에 의해 액세스 가능한 하나 이상의 미디어 풀을 관리할 수 있다. 각각의 미디어 풀은 통신 네트워크(100)의 하나 이상의 미디어 소스들(예를 들어, 클라이언트 디바이스(104), 클라이언트 디바이스(106), 클라이언트 디바이스(108), 클라이언트 디바이스(110), 서버(102), 및/또는 온라인 소스)에 배치된 미디어 아이템들을 포함할 수 있다. 예를 들어, 통신 네트워크(100)는 클라이언트 디바이스(104), 클라이언트 디바이스(106), 클라이언트 디바이스(108), 및 서버(102)를 포함할 수 있는 제1 미디어 풀(116)을 가질 수 있다. 또한, 통신 네트워크(100)는 또한 클라이언트 디바이스(108), 클라이언트 디바이스(110), 및 서버(102)를 포함할 수 있는 제2 미디어 풀(118)을 가질 수 있다. 이들 예들은 단지 예시이고, 클라이언트 디바이스들 및 서버(102)의 임의의 결합이 미디어 풀을 형성하기 위해 이용될 수 있다는 것을 이해할 것이다. 또한, 통신 네트워크(100)는 임의의 적절한 수의 미디어 풀들을 포함할 수 있다는 것을 이해할 것이다. 그러나, 간단함을 위해, 2개의 미디어 풀만이 도 1에 도시된다.
서버(102)는 하나 이상의 모드에서 동작할 수 있다. 예를 들어, 스트리밍 모드에서, 서버(102)는 현재 미디어 풀에 있는 클라이언트 디바이스들에 스트리밍하기 위해 미디어 풀의 하나 이상의 미디어 아이템들을 선택할 수 있다. 일부 실시예들에서, 서버(102)는 미디어 아이템들과 연관된 하나 이상의 미디어 랭킹들에 기초하여 스트리밍할 미디어 아이템을 선택할 수 있다. 다른 실시예들에서, 미디어 풀 애플리케이션은 미디어 풀의 전자 디바이스들에 복수의 스트림을 제공할 수 있다. 이러한 구성에서, 각각의 스트림은 전자 디바이스들의 상이한 세트에 의해 액세스될 수 있다.
다른 예로서, 재생 모드에서, 서버(102)는 현재 미디어 풀에 있는 클라이언트 디바이스들에 미디어 풀의 모든 미디어 아이템들의 리스트를 제공할 수 있다. 리스트의 미디어 아이템을 재생하기 위해 클라이언트 디바이스로부터 요구를 수신하는 것에 응답하여, 서버(102)는 (예를 들어, 클라이언트 디바이스에 미디어 아이템을 트랜스퍼(transfer)함으로써 또는 클라이언트 디바이스에 미디어 아이템을 스트리밍함으로써) 클라이언트 디바이스에 미디어 아이템을 제공할 수 있다. 일부 실시예들에서, 서버(102)는 복수의 모드에서 동시에 동작할 수 있다. 예를 들어, 서버(102)는 미디어 풀(116) 내의 클라이언트 디바이스들(104 및 106)에 미디어 아이템을 스트리밍할 수 있고, 또한 동일한 미디어 아이템 또는 상이한 미디어 아이템을 클라이언트 디바이스(108)에 트랜스퍼할 수 있다.
일부 실시예들에서, 서버(102)는 통신 네트워크(100)에서 미디어 풀들에 액세스하기 위한 퍼미션(permission)을 갖는 클라이언트 디바이스들의 리스트들(예를 들어, 클라이언트 디바이스 식별자들의 리스트들)을 관리할 수 있다. 예를 들어, 미디어 풀에 액세스하기 위해 클라이언트 디바이스로부터 요구를 수신하면, 서버(102)는 클라이언트 디바이스가 미디어 풀에 액세스하기 위한 퍼미션을 갖는지를 결정할 수 있다. 서버(102)는 예를 들어, 클라이언트 디바이스의 식별자를 취득하고, 미디어 풀에 대한 클라이언트 디바이스 식별자들의 리스트에 식별자를 배치하기 위한 시도를 할 수 있다. 서버(102)는 예를 들어, 인터넷 프로토콜("IP") 어드레스, 미디어 액세스 제어(Media Access Control; MAC) 어드레스와 같은 네트워크 카드 어드레스, 또는 디바이스가 먼저 통신 네트워크(100)의 범위 내에서 이동할 때 클라이언트 디바이스가 전송하는 고유 식별자와 같은 임의의 적절한 접근법을 이용하여 클라이언트 디바이스의 식별자를 취득할 수 있다. 다른 실시예들에서, 서버(102)는 클라이언트 디바이스가 미디어 풀에 액세스할 수 있게 하기 전에 클라이언트 디바이스로부터 사용자명 및/또는 패스워드를 요구할 수 있다.
클라이언트 디바이스가 미디어 풀에 액세스하기 위한 퍼미션을 갖는다고 결정하는 것에 응답하여, 서버(102)는 클라이언트 디바이스가 미디어 풀에 조인할 수 있게 할 수 있다. 예를 들어, 서버(102)가 클라이언트 디바이스로부터 스트리밍 요구를 수신하는 경우, 서버(102)는 클라이언트 디바이스에 하나 이상의 미디어 아이템을 스트리밍함으로써 스트리밍 모드에서 동작할 수 있다. 다른 예로서, 서버(102)가 클라이언트 디바이스로부터 재생 요구를 수신하는 경우, 서버(102)는 미디어 풀의 모든 미디어 아이템들의 리스트를 제공함으로써 재생 모드에서 동작할 수 있다. 그 다음에 서버(102)가 리스트에서 미디어 아이템을 재생하기 위한 요구를 수신하는 경우, 서버(102)는 클라이언트 디바이스에 미디어 아이템을 제공할 수 있다.
서버(102)는 미디어 풀의 각각의 미디어 아이템과 연관된 메타데이터를 관리할 수 있다. 예를 들어, 서버(102)는 각각의 미디어 아이템과 연관된 미디어 랭킹을 유지할 수 있다. 서버(102)는 하나 이상의 요구에 기초하여 미디어 랭킹을 결정할 수 있다. 예를 들어, 서버(102)는 미디어 아이템의 랭킹을 감소시키기 위해 클라이언트 디바이스로부터 요구를 수신할 수 있다. 요구는 예를 들어, 메시지로서 서버(102)에 전송될 수 있다. 메시지는 미디어 아이템 및 클라이언트 디바이스를 고유하게 식별하는 헤더와, 미디어 아이템의 랭킹을 감소시키기 위한 요구를 포함하는 보디를 포함할 수 있다. 요구는 예를 들어, 미디어 아이템과 연관된 스타 레이팅(star rating)을 감소시키는 요구 또는 미디어 풀 플레이리스트(예를 들어, 사용자에게 미디어 풀의 미디어 아이템들을 스트리밍하기 위한 순서를 특정하는 플레이리스트)의 하위 위치로 미디어 아이템을 이동하기 위한 요구를 포함하는 임의의 적절한 요구들을 포함할 수 있다. 요구를 수신하는 것에 응답하여, 서버(102)는 미디어 아이템과 연관된 미디어 랭킹을 감소시킬 수 있다(예를 들어, 미디어 랭킹을 1씩 감소시킬 수 있다). 서버(102)는 유사하게 미디어 아이템의 랭킹을 증가시키기 위한 하나 이상의 요구를 수신하는 것에 응답하여 미디어 아이템과 연관된 미디어 랭킹을 증가시킬 수 있다(예를 들어, 미디어 랭킹을 1씩 증가시킬 수 있다). 따라서, 서버(102)는 미디어 풀의 하나 이상의 전자 디바이스들로부터 요구들을 수신하는 것에 의해 요구가 있으면 미디어 아이템을 스트리밍할 수 있다.
이 기술분야의 통상의 기술자는 하나 이상의 클라이언트 디바이스로부터 요구들을 수신하는 것에 부가하여, 서버(102)는 예를 들어, 온라인 소스(예를 들어, 음악 스토어 또는 인터넷 웹사이트)와 같은 임의의 다른 적절한 소스로부터 입력들을 수신할 수 있다는 것을 알 것이다. 예를 들어, 서버(102)는 온라인 소스로부터 미디어 아이템의 인기를 결정할 수 있다. 서버(102)는 미디어 아이템의 인기를 미디어 랭킹의 대응하는 증가 또는 감소로 변환할 수 있다.
일부 실시예들에서, 서버(102)는 미디어 아이템의 미디어 랭킹이 미리 결정된 임계값에 도달하였다고 결정하는 것에 응답하여 하나 이상의 액션을 수행할 수 있다. 예를 들어, 미디어 아이템의 미디어 랭킹이 제거 임계값보다 아래로 감소하였다고 결정하는 것에 응답하여, 서버(102)는 미디어 풀로부터 미디어 아이템을 제거할 수 있다. 다른 예로서, 미디어 아이템의 미디어 랭킹이 증가 포지션 임계값보다 위로 증가하였다고 결정하는 것에 응답하여, 서버(102)는 미디어 풀 플레이리스트에서 더 높은 포지션으로 미디어 아이템을 이동할 수 있다. 유사하게, 미디어 아이템의 미디어 랭킹이 감소 포지션 임계값보다 아래로 감소하였다고 결정하는 것에 응답하여, 서버(102)는 미디어 풀 플레이리스트에서 더 낮은 포지션으로 미디어 아이템을 이동할 수 있다.
서버(102)는 현재 미디어 풀에 있는 클라이언트 디바이스들을 모니터할 수 있다. 또한, 서버(102)는 하나 이상의 클라이언트 디바이스가 미디어 풀을 떠났을 때를 검출할 수 있다. 서버(102)는 하나 이상의 클라이언트 디바이스가 통신 네트워크(100)의 범위 밖으로 이동하였을 때를 검출하기 위해 임의의 적절한 접근법을 이용할 수 있다. 예를 들어, 서버(102)는 클라이언트 디바이스의 식별자가 검출될 수 있는지를 계속해서 모니터할 수 있다. 따라서, 클라이언트 디바이스의 식별자가 더 이상 검출될 수 없다고 결정하는 것에 응답하여, 서버(102)는 클라이언트 디바이스가 통신 네트워크(100)의 범위 밖으로 이동하였다고 결정할 수 있다. 다른 예로서, 서버(102)는 클라이언트 디바이스로부터 "퇴장(EXIT)" 요구를 수신하는 것에 의해 클라이언트 디바이스가 통신 네트워크(100)의 범위 밖으로 이동하였음을 검출할 수 있다.
일부 실시예들에서, 클라이언트 디바이스가 미디어 풀을 떠났다고 검출하는 것에 응답하여, 서버(102)는 떠난 클라이언트 디바이스와 연관되는 미디어 아이템들에 대한 대안적인 소스를 배치하기 위한 시도를 할 수 있다. 서버(102)는 예를 들어, 서버(102)의 메모리(114)에 저장된 미디어 라이브러리, 미디어 풀의 다른 클라이언트 디바이스, 통신 네트워크(100)의 다른 클라이언트 디바이스, 온라인 소스, 광고 지원 스트림들, 및/또는 그의 임의의 결합과 같은 임의의 적절한 미디어 소스에 미디어 아이템들의 사본을 배치할 수 있다.
일부 실시예들에서, 서버(102)는 미디어 풀의 클라이언트 디바이스들에 현재 스트리밍되고 있는 미디어 아이템을 버퍼링할 수 있다. 따라서, 서버(102)가 현재 미디어 풀(116)의 클라이언트 디바이스(104)로부터 미디어 아이템을 스트리밍하고 있다면, 서버(102)는 메모리(114)에서 미디어 아이템을 동시에 버퍼링할 수 있다. 클라이언트 디바이스(104)가 그 다음에 미디어 풀(116)을 떠나면, 서버(102)는 버퍼링된 미디어 아이템을 클라이언트 디바이스들(106 및 108)에 계속해서 스트리밍할 수 있다. 따라서, 미디어 아이템의 스트리밍은 클라이언트 디바이스들(106 및 108)의 사용자들에게 끊임이 없는 것으로 보일 수 있다.
일부 실시예들에서, 클라이언트 디바이스가 미디어 풀을 떠난 경우, 서버(102)는 떠난 클라이언트 디바이스와 연관된 하나 이상의 미디어 아이템의 갱신된 상태를 미디어 풀 내의 다른 클라이언트 디바이스들에 전송할 수 있다. 예를 들어, 서버(102)는 하나 이상의 미디어 아이템의 하나 이상의 만료 시간들을 표시하는 메시지를 전송할 수 있다. 예를 들어, 서버(102)가 (예를 들어, 메모리(114)의 버퍼로부터 또는 대안적인 소스로부터) 일시적으로 클라이언트 디바이스와 연관된 미디어 아이템의 사본을 취득하였다면, 서버(102)는 미디어 풀로부터 사본이 제거되기 전에 남아 있는 시간의 양을 표시할 수 있다. 다른 예로서, 서버(102)는 미디어 아이템의 갱신된 상태의 오디오 표시를 전송할 수 있다. 예를 들어, 서버(102)가 현재 미디어 아이템의 사본을 스트리밍하고 있다면, 서버(102)는 사본이 곧 미디어 풀로부터 제거될 수 있다는 것을 표시하기 위해 스트리밍의 볼륨을 점차 감소시킬 수 있다.
일부 구성들에서, 서버(102)는 통신 네트워크(100)의 미디어 풀들이 정적 미디어 풀들일 수 있도록 고정된 포지션에 배치될 수 있다. 따라서, 서버(102)는 어느 클라이언트 디바이스들이 현재 통신 네트워크(100)의 범위에 있는지에 상관없이 미디어 풀들(116 및 119)을 유지할 수 있다. 예를 들어, 서버(102)는 클라이언트 디바이스들(104, 106, 및 108)이 모두 미디어 풀(116)을 떠났더라도(예를 들어, 통신 네트워크(100)의 범위 밖으로 이동하였거나, 또는 미디어 풀(116)을 퇴장하였더라도) 미디어 풀(116)을 계속해서 유지할 수 있다. 그 다음에 새로운 클라이언트 디바이스가 통신 네트워크(100)의 범위 내로 이동하는 경우, 새로운 클라이언트 디바이스는 미디어 풀(116)에 조인할 수 있을 수 있다.
도 2는 본 발명의 다양한 실시예들에 따른 예시적인 멀티-디바이스 통신 네트워크(200)의 개략도이다. 통신 네트워크(200)는 전자 디바이스들(202, 204, 206, 및 208)을 포함할 수 있다. 도 2는 4개의 전자 디바이스만을 도시하고 있지만, 이 기술분야의 통상의 기술자들은 이것은 단지 예시이며, 통신 네트워크(200)는 임의의 적절한 수의 전자 디바이스를 포함할 수 있다는 것을 알 것이다.
통신 네트워크(200)의 전자 디바이스들(예를 들어, 전자 디바이스들(202, 204, 206, 및 208))은 통신 네트워크(200)의 다른 전자 디바이스들과 통신할 수 있는 임의의 적절한 전자 디바이스들을 포함할 수 있다. 예를 들어, (무선 가능 액세서리 디바이스의 도움으로 또는 도움없이) 전자 디바이스들은 포터블 미디어 플레이어들, 셀룰러 전화기들, 포켓 사이즈 개인 컴퓨터들, PDA(personal digital assistance), 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 및 유선 또는 무선으로 통신할 수 있는 다른 디바이스들을 포함할 수 있다. 통신 네트워크(200)의 전자 디바이스들은 도 1의 클라이언트 디바이스들(104, 106, 108, 및 110)과 동일하거나 유사할 수 있다.
전자 디바이스들(202, 204, 206, 및 208)은 통신 링크(210)를 통해 서로 통신할 수 있다. 통신 링크(210)는 전자 디바이스들(202, 204, 206, 및 208) 사이에 데이터가 교환될 수 있는 임의의 적절한 유선 또는 무선 통신 링크, 또는 그의 결합들을 포함할 수 있다. 예를 들어, 통신 링크(210)는 위성 링크, 광섬유 링크, 케이블 링크, 인터넷 링크, 또는 임의의 다른 적절한 유선 또는 무선 링크를 포함할 수 있다. 통신 링크(210)는 통신 링크(210)의 매체에 의하여 지원되는 임의의 적절한 통신 프로토콜을 이용하여 데이터 전송을 가능하게 할 수 있다. 이러한 통신 프로토콜들은 예를 들어, 와이파이(예를 들어, 802.11 프로토콜), 이더넷, 블루투스(등록 상표), 무선 주파수 시스템(예를 들어, 900 MHz, 2.4 GHz, 및 5.6 GHz 통신 시스템), 적외선, TCP/IP(예를 들어, 그리고 TCP/IP 층들 각각에서 사용된 프로토콜들), HTTP, BitTorrent, FTP, RTP, RTSP, SSH, 임의의 다른 통신 프로토콜, 또는 그의 임의의 결합을 포함할 수 있다.
통신 네트워크(200)의 전자 디바이스들은 도 1의 서버(102)와 유사한 기능들을 가질 수 있다. 예를 들어, 통신 네트워크(200)의 전자 디바이스(예를 들어, 전자 디바이스(202), 전자 디바이스(204), 전자 디바이스(206), 또는 전자 디바이스(208))는 동일한 통신 네트워크의 다른 전자 디바이스로부터 데이터 요구들을 수신할 수 있다. 예를 들어, 전자 디바이스는 하나 이상의 노래, 비디오, 또는 사진, 및 미디어 아이템들과 연관된 임의의 메타데이터와 같은, 미디어 아이템들을 획득하기 위해 다른 전자 디바이스로부터 요구들을 수신할 수 있다(예를 들어, 음악 아이템을 프리뷰 또는 구매하기 위한 하이퍼링크, 장르, 아티스트, 앨범, 앨범 커버 아트, 발표일, BPM(bits per minute) 정보, 프로듀서, 송 라이터, 키워드, 태그, 리릭, 보컬, 저음부 정보, 또는 음악 아이템과 연관된 미디어 랭킹). 요구들은 미디어 아이템을 다운로드 또는 스트리밍하기 위한 요구들, 또는 미디어 아이템 없이 메타데이터를 다운로드하기 위한 요구들을 포함할 수 있다. 이 요구들에 응답하여, 전자 디바이스는 요구된 노래들 및/또는 노래들과 연관된 메타데이터를 배치 및 제공할 수 있다.
통신 네트워크(200)의 전자 디바이스들은 통신 네트워크(200)의 하나 이상의 다른 전자 디바이스들로부터 데이터를 취득하고 프로세싱할 수 있다. 예를 들어, 전자 디바이스(202)는 전자 디바이스(204)로부터 미디어 아이템의 메타데이터를 수신할 수 있다. 전자 디바이스(202)는 그 다음에 온라인 소스(예를 들어, 애플사에 의해 이용가능하게 된 iTunes™과 같은 온라인 음악 스토어)를 이용하여 또는 국부적으로(예를 들어, 전자 디바이스(202) 상의 미디어 라이브러리) 미디어 아이템을 배치할 수 있다. 미디어 아이템을 배치한 후에, 전자 디바이스(202)는 통신 네트워크(200)의 하나 이상의 다른 전자 디바이스에 미디어 아이템을 스트리밍할 수 있다. 다른 예로서, 전자 디바이스(202)는 전자 디바이스(204)로부터 직접 미디어 아이템을 수신하도록 구성될 수 있다. 예를 들어, 전자 디바이스(202)는 메모리에 미디어 아이템의 사본을 다운로드할 수 있다. 미디어 아이템을 수신하면, 전자 디바이스(202)는 통신 네트워크(100)의 하나 이상의 다른 전자 디바이스들에 미디어 아이템을 스트리밍할 수 있다.
일부 실시예들에서, 통신 네트워크(200)는 통신 네트워크(200)의 전자 디바이스들 중 하나 이상에 의해 액세스 가능한 하나 이상의 미디어 풀들을 포함할 수 있다. 각각의 미디어 풀은 통신 네트워크(200)의 하나 이상의 미디어 소스들에 배치된 미디어 아이템들을 포함할 수 있다. 예를 들어, 통신 네트워크(200)는 전자 디바이스(202) 및 전자 디바이스(204)를 포함할 수 있는 제1 미디어 풀(212)을 가질 수 있다. 또한, 통신 네트워크(200)는 또한 전자 디바이스(204), 전자 디바이스(206), 및 전자 디바이스(208)를 포함할 수 있는 제2 미디어 풀(214)을 가질 수 있다. 이들 예들은 단지 예시이고, 통신 네트워크(200)의 전자 디바이스들의 임의의 결합이 미디어 풀을 형성하기 위해 이용될 수 있다는 것을 이해할 것이다. 또한, 통신 네트워크(200)는 임의의 적절한 수의 미디어 풀들을 포함할 수 있다는 것을 이해할 것이다. 그러나, 간단함을 위해, 2개의 미디어 풀만이 도 2에 도시된다.
통신 네트워크(200)의 전자 디바이스들(예를 들어, 전자 디바이스(202), 전자 디바이스(204), 전자 디바이스(206), 및 전자 디바이스(208))은 하나 이상의 모드에서 동작할 수 있다. 예를 들어, 스트리밍 모드에서, 전자 디바이스는 현재 미디어 풀에 있는 다른 전자 디바이스들에 스트리밍하기 위해 미디어 풀의 하나 이상의 미디어 아이템을 선택할 수 있다. 따라서 동일한 스트림이 2개 이상의 전자 디바이스에 의해 액세스될 수 있다. 도 1의 서버(102)와 유사하게, 전자 디바이스는 미디어 풀의 미디어 아이템들과 연관된 하나 이상의 미디어 랭킹들에 기초하여 스트리밍할 미디어 아이템을 선택할 수 있다. 전자 디바이스는 하나 이상의 요구에 기초하여 미디어 랭킹들을 결정할 수 있다. 예를 들어, 전자 디바이스는 미디어 아이템의 미디어 랭킹을 증가 또는 감소시키기 위해 사용자 및/또는 다른 전자 디바이스로부터 요구를 수신할 수 있다. 따라서, 미디어 풀 애플리케이션은 미디어 풀의 하나 이상의 전자 디바이스로부터 요구들을 수신하는 것에 의해 요구가 있으면 미디어 아이템을 스트리밍할 수 있다. 다른 실시예들에서, 미디어 풀 애플리케이션은 미디어 풀의 전자 디바이스들에 복수의 스트림들을 제공할 수 있다. 이러한 구성에서, 각각의 스트림은 상이한 세트의 전자 디바이스들에 의해 액세스될 수 있다.
재생 모드에서, 전자 디바이스는 미디어 풀의 모든 미디어 아이템의 리스트를 사용자에게 제공할 수 있다. 리스트의 미디어 아이템을 재생하기 위해 클라이언트 디바이스로부터 요구를 수신하는 것에 응답하여, 전자 디바이스는 미디어 아이템을 사용자에게 제공할 수 있다. 예를 들어, 전자 디바이스는 다른 전자 디바이스로부터 미디어 아이템을 다운로드할 수 있다. 미디어 아이템을 다운로드한 후에, 전자 디바이스는 사용자에 대한 미디어 아이템을 재생할 수 있다. 대안적으로, 전자 디바이스는 다른 전자 디바이스에서 재생하고 있는 미디어 아이템의 스트림을 수신할 수 있다. 이러한 구성에서, 스트림은 전자 디바이스에 의해서만 액세스될 수 있다.
일부 실시예들에서, 하나 이상의 전자 디바이스는 통신 네트워크(200)에서 미디어 풀들에 액세스하기 위한 퍼미션을 갖는 디바이스들의 리스트들(예를 들어, 전자 디바이스 식별자들의 리스트들)을 관리할 수 있다. 예를 들어, 미디어 풀에 액세스하기 위한 알려지지 않은 디바이스로부터 요구를 수신하면, 전자 디바이스는 알려지지 않은 디바이스가 미디어 풀에 액세스하기 위한 퍼미션을 갖는지를 결정할 수 있다. 전자 디바이스는 예를 들어, 알려지지 않은 디바이스의 식별자를 취득하고, 미디어 풀에 대한 전자 디바이스 식별자들의 리스트에 식별자를 배치하기 위한 시도를 할 수 있다. 전자 디바이스는 예를 들어, 인터넷 프로토콜("IP") 어드레스, 미디어 액세스 제어(Media Access Control; MAC) 어드레스와 같은 네트워크 카드 어드레스, 또는 디바이스가 먼저 통신 네트워크(200)의 범위 내에서 이동할 때 알려지지 않은 디바이스가 전송하는 고유 식별자와 같은 임의의 적절한 접근법을 이용하여 알려지지 않은 디바이스의 식별자를 취득할 수 있다. 다른 실시예들에서, 전자 디바이스는 알려지지 않은 디바이스가 미디어 풀에 액세스할 수 있게 하기 전에 알려지지 않은 디바이스로부터 사용자명 및/또는 패스워드를 요구할 수 있다.
미디어 풀 내의 각각의 전자 디바이스는 현재 미디어 풀에 있는 다른 전자 디바이스들을 모니터할 수 있다. 또한, 전자 디바이스는 다른 전자 디바이스가 미디어 풀을 떠났을 때를 검출할 수 있다. 전자 디바이스는 다른 전자 디바이스가 떠났을 때를 검출하기 위해 임의의 적절한 접근법을 이용할 수 있다. 예를 들어, 전자 디바이스는 통신 네트워크(200)의 다른 전자 디바이스들의 식별자들이 검출될 수 있는지를 계속해서 모니터할 수 있다. 따라서, 디바이스의 식별자가 더 이상 검출될 수 없다고 결정하는 것에 응답하여, 전자 디바이스는 디바이스가 통신 네트워크(200)의 범위 밖으로 이동하였다고 결정할 수 있다. 다른 예로서, 전자 디바이스는 다른 디바이스로부터 "퇴장(EXIT)" 요구를 수신하는 것에 의해 다른 디바이스가 통신 네트워크(200)의 범위 밖으로 이동하였음을 검출할 수 있다.
전자 디바이스가 미디어 풀을 떠났다고 검출하는 것에 응답하여, 미디어 풀에 남아 있는 하나 이상의 전자 디바이스들은 떠난 디바이스와 연관된 미디어 아이템들에 대한 대안적인 소스들을 배치하기 위해 시도할 수 있다. 하나 이상의 전자 디바이스들은 예를 들어, 미디어 풀의 다른 전자 디바이스, 통신 네트워크(200)의 다른 전자 디바이스, 서버, 온라인 소스, 광고 지원 스트림들, 및/또는 그의 임의의 결합과 같은 임의의 적절한 미디어 소스를 이용하여 미디어 아이템들의 사본을 배치할 수 있다. 그 다음에 미디어 아이템들의 사본들은 스트리밍 및/또는 재생을 위해 이용될 수 있다.
일부 실시예들에서, 미디어 풀의 하나 이상의 전자 디바이스들은 미디어 풀의 다른 전자 디바이스에 의해 현재 스트리밍되고 있는 미디어 아이템을 버퍼링할 수 있다. 따라서, 전자 디바이스(204)가 현재 미디어 풀(214)의 미디어 아이템을 스트리밍하고 있다면, 미디어 풀(214)의 다른 전자 디바이스들 중 하나 이상(예를 들어, 전자 디바이스(206) 및/또는 전자 디바이스(208))은 미디어 아이템을 동시에 버퍼링할 수 있다. 전자 디바이스(204)가 그 다음에 미디어 풀(214)을 떠나면, 다른 전자 디바이스들 중 하나가 계속해서 버퍼링된 미디어 아이템을 스트리밍할 수 있다. 따라서, 미디어 아이템의 스트리밍은 전자 디바이스들(206 및 208)의 사용자들에게 끊임이 없는 것으로 보일 수 있다. 일부 실시예들에서, 전자 디바이스(204)는 메모리에 버퍼링된 미디어 아이템을 저장할 수 있다.
일부 실시예들에서, 전자 디바이스가 미디어 풀을 떠난 경우, 미디어 풀의 다른 전자 디바이스들 중 하나 이상은 떠난 전자 디바이스와 연관된 하나 이상의 미디어 아이템들의 정보를 갱신할 수 있다. 예를 들어, 전자 디바이스(204)가 미디어 풀(214)을 떠난 경우, 하나 이상의 전자 디바이스들(예를 들어, 전자 디바이스(206) 및/또는 전자 디바이스(208))은 전자 디바이스(204)와 연관된 미디어 아이템들을 위한 하나 이상의 만료 시간들을 표시하는 메시지를 디스플레이할 수 있다. 예를 들어, 전자 디바이스(204)와 연관된 미디어 아이템의 일시적 사본이 (예를 들어, 전자 디바이스 상의 버퍼로부터 또는 대안적인 소스로부터) 취득되었다면, 하나 이상의 전자 디바이스는 미디어 풀(214)로부터 사본이 제거되기 전에 남아 있는 시간의 양을 표시할 수 있다. 다른 예로서, 하나 이상의 전자 디바이스들은 미디어 아이템의 갱신된 상태의 오디오 표시를 플레이할 수 있다. 예를 들어, 미디어 아이템의 사본이 현재 스트리밍되고 있거나 재생되고 있는 경우, 하나 이상의 전자 디바이스들은 사본이 곧 미디어 풀(214)로부터 제거될 수 있다는 것을 표시하기 위해 스트리밍 또는 재생의 볼륨을 점차 감소시킬 수 있다.
일부 실시예들에서, 통신 네트워크(200)의 미디어 풀들(212 및 214)은 일시적 미디어 풀들일 수 있다. 따라서, 예를 들어, 미디어 풀의 전자 디바이스들의 수가 미리 결정된 수보다 아래로 감소하는 경우(예를 들어, 미디어 풀에서 전자 디바이스들이 떠나지 않거나 하나의 전자 디바이스만이 미디어 풀에서 떠난 경우), 미디어 풀은 자동으로 종료될 수 있다. 그러나, 일부 경우들에서, 앞서 형성된 미디어 풀들의 구성들은 유사한 미디어 풀들이 나중에 자동으로 생성될 수 있도록 하나 이상의 전자 디바이스들에 저장될 수 있다. 저장된 구성들에 기초하여 미디어 풀들을 자동으로 생성하기 위한 기법들은 도 16과 함께 더 상세히 설명된다.
일시적 미디어 풀들은 하나 이상의 인자에 기초하여 도 1의 정적 미디어 풀들 대신에 생성될 수 있다. 예를 들어, 서버가 통신 네트워크(200)에 배치될 수 없기 때문에 일시적 미디어 풀들이 생성될 수 있다. 다른 예로서, 통신 네트워크(200)의 전자 디바이스들 중 하나 이상이 서버와 통신할 수 없기 때문에 일시적 미디어 풀들이 생성될 수 있다. 또 다른 예로서, 하나 이상의 사용자 명령들에 기초하여 일시적 미디어 풀들이 생성될 수 있다.
이 기술분야의 통상의 기술자들은 통신 네트워크(200)의 일시적 미디어 풀들이 임의의 적절한 방식으로 구성될 수 있다는 것을 알 것이다. 일부 실시예들에서, 일시적 미디어 풀의 각각의 전자 디바이스는 미디어 풀을 관리하기 위하여 다른 전자 디바이스들과 통신할 수 있다(예를 들어, 각각의 전자 디바이스는 일시적 미디어 풀을 생성하고 갱신할 수 있다). 예를 들어, 일시적 미디어 풀의 각각의 전자 디바이스는 미디어 아이템들의 스트림들, 미디어 아이템들과 연관된 메타데이터, 및 일시적 미디어 풀과 연관된 다른 정보를 트랜스퍼하도록 구성될 수 있다. 다른 실시예들에서, 하나의 전자 디바이스만이 미디어 풀을 관리하기 위해 할당될 수 있다. 따라서, 전자 디바이스가 일시적 미디어 풀을 떠날 때, 일시적 미디어 풀의 다른 전자 디바이스가 미디어 풀을 관리하기 위해 할당될 수 있다.
통신 네트워크는 정적 미디어 풀들과 일시적 미디어 풀들의 임의의 적절한 결합을 포함할 수 있다는 것을 이해할 것이다. 따라서, 단일 전자 디바이스는 하나 이상의 정적 미디어 풀들 및 하나 이상의 일시적 미디어 풀들의 멤버일 수 있다. 또한, 통신 네트워크는 하이브리드 미디어 풀들도 포함할 수 있다. 예를 들어, 하이브리드 미디어 풀에서, 제1 전자 디바이스 및 제2 전자 디바이스는 통신 네트워크의 제1 통신 링크(예를 들어, 도 2의 통신 링크(210))를 통해 직접 통신할 수 있다. 또한, 통신 네트워크의 서버는 제2 통신 링크(예를 들어, 도 1의 통신 링크(112))를 통해 제1 전자 디바이스와 직접 통신할 수 있다. 서버는 따라서 제1 전자 디바이스를 통해 제2 전자 디바이스와 간접적으로 통신할 수 있다.
이제 도 3을 참조하면, 예시적인 전자 디바이스(300)의 개략도가 도시된다. 전자 디바이스(300)는 도 1의 클라이언트 디바이스들(104, 106, 108, 및 110) 또는 도 2의 전자 디바이스들(202, 204, 206 및 208)과 동일하거나 유사한 디바이스일 수 있다. 일부 실시예들에서, 전자 디바이스(300)는 서버와 통신하도록 동작하지 않는 디바이스일 수 있다. 전자 디바이스(300)는 제어 회로(302), 메모리(304), 통신 회로(306), 입출력("I/O") 컴포넌트(308), 디스플레이(310), 및 버스(312)를 포함할 수 있다. 전자 디바이스(300)는 전자 디바이스의 컴포넌트들에 전력을 제공하기 위한 파워 서플라이와 같은, 도 3에 도시되지 않은 다른 컴포넌트들을 포함할 수 있다. 또한, 각각의 컴포넌트 중 하나만이 예시되지만, 전자 디바이스(300)는 컴포넌트들의 일부 또는 전부 중 2개 이상을 포함할 수 있다.
제어 회로(302)는 디바이스(300)의 동작 및 다양한 기능을 제어할 수 있다. 예를 들어, 아래에 더 상세히 설명되는 바와 같이, 제어 회로(302)는 통신 네트워크의 하나 이상의 미디어 풀을 식별하고 그에 접속할 수 있다. 다른 예로서, 제어 회로(302)는 하나 이상의 미디어 아이템의 재생을 제어할 수 있다. 제어 회로(302)는 전자 디바이스(300)의 기능을 구동하도록 동작하는 임의의 컴포넌트들, 회로, 또는 로직을 포함할 수 있다. 예를 들어, 제어 회로(302)는 애플리케이션(예를 들어, 미디어 풀 애플리케이션) 및 오퍼레이팅 시스템의 제어하에서 동작하는 하나 이상의 프로세서를 포함할 수 있다.
일부 실시예들에서, 애플리케이션은 메모리(304)에 저장될 수 있다. 메모리(304)는 캐시 메모리, 플래시 메모리, RAM(random access memory)(예를 들어, DDR RAM 및/또는 SRAM), ROM(read only memory), 하드 드라이브, EPROM, EEPROM, 또는 그의 임의의 결합과 같은 불휘발성 및 휘발성 메모리들의 임의의 적절한 결합을 포함할 수 있다. 일부 실시예들에서, 메모리(304)는 디바이스 애플리케이션들(예를 들어, 오퍼레이팅 시스템, 사용자 인터페이스 기능들, 및 다른 프로세서 기능들)을 위해서와 같은, 제어 회로(302)를 위한 펌웨어를 저장하는 것에 대해 구체적으로 전용인 메모리 모듈을 포함할 수 있다.
일부 실시예들에서, 메모리(304)는 전자 디바이스(300)에 대용량 스토리지를 제공하도록 동작하는 메모리 모듈들을 포함할 수 있다. 메모리(304)는 미디어 아이템들(예를 들어, 오디오 아이템들, 비디오 아이템들, 및/또는 이미지 아이템들) 및 다른 타입들의 전자 데이터(예를 들어, 텍스트 기반 파일들, 사진들, 및 그래픽들)를 저장하기 위해 제어 회로(302)에 의해 이용될 수 있다. 메모리(304)는 미디어 풀 플레이리스트들, 미디어 아이템 그룹화 정보, 장르, 아티스트, 앨범, 앨범 커버 아트, 날짜, BPM, 리릭, 보컬 정보, 저음부 정보, 또는 각각의 미디어 아이템에 대한 임의의 다른 적절한 메타데이터와 같은, 국부적으로 저장되고 원격으로 저장되는 미디어 아이템들과 연관된 메타데이터를 저장할 수 있다. 일부 실시예들에서, 미디어 아이템들 및 연관된 메타데이터는 서버(예를 들어, 도 1의 서버(102)) 또는 하나 이상의 전자 디바이스들(예를 들어, 도 1의 클라이언트 디바이스들(104, 106, 108, 및 110) 및/또는 도 2의 전자 디바이스들(202, 204, 206 및 208))로부터 취득될 수 있다. 메모리(304)는 또한 선호 정보(예를 들어, 음악 재생 선호도들), 라이프스타일 정보, 연습(exercise) 정보(예를 들어, 연습 모니터링 시스템으로부터 취득됨), 거래 정보(예를 들어, 신용 카드 정보), (예를 들어, 팟캐스트(podcast) 또는 텔레비전 쇼를 위한) 가입 정보, 및 전화 정보(예를 들어, 주소록)와 같은 임의의 다른 적절한 정보를 저장할 수 있다.
통신 회로(306)는 전자 디바이스(300)가 서버(예를 들어, 도 1의 서버(102)) 및/또는 다른 전자 디바이스(예를 들어, 도 1의 클라이언트 디바이스들(104, 106, 108, 및 110) 및/또는 도 2의 전자 디바이스들(202, 204, 206 및 208))와 같은 다른 디바이스들과 통신할 수 있게 할 수 있다. 예를 들어, 통신 회로(306)는 802.11 표준 또는 사설 네트워크 중 하나에 따른 무선 통신을 허용하는 와이파이 가능 회로를 포함할 수 있다. 블루투스와 같은 다른 유선 또는 무선 프로토콜 표준들이 부가적으로 또는 그 대신에 이용될 수 있다.
I/O 컴포넌트(308) 및 디스플레이(310)는 사용자가 전자 디바이스(300)와 상호작용하기 위해 사용자 인터페이스를 제공할 수 있다. I/O 컴포넌트(308)는 사용자가 전자 디바이스(300)에 입력들 및 피드백을 제공할 수 있게 할 수 있다. I/O 컴포넌트는 또한 전자 디바이스(300)가 사용자에게 음악 및 다른 오디오 요소들을 제공할 수 있는 인터페이스를 제공할 수 있다. I/O 컴포넌트(308)는 버튼, 키패드(예를 들어, 컴퓨터 키보드), 다이얼, 클릭 휠, 터치 스크린, 가속도계(accelerometer), 임의의 타입의 스피커들(예를 들어, 컴퓨터 스피커들 또는 헤드폰들), 햅틱 출력들(예를 들어, 진동 출력들), 임의의 다른 적절한 I/O 컴포넌트, 및/또는 그의 임의의 결합 중 하나 이상과 같은, 다양한 형태 중 임의의 것을 취할 수 있다. 디스플레이(310)는 사용자에게 시각적 미디어(예를 들어, 앨범 커버, 텍스트, 및 비디오와 같은 그래픽)를 제공할 수 있다. 디스플레이(310)는 예를 들어, 액정 디스플레이(liquid crystal display; LCD), 터치 스크린 디스플레이, 또는 임의의 다른 타입의 디스플레이를 포함할 수 있다.
버스(312)는 제어 회로(302), 메모리(304), 통신 회로(306), I/O 컴포넌트(308), 디스플레이(310), 및 전자 디바이스(300)의 다른 컴포넌트들의 일부 또는 전부로, 그로부터, 또는 그 사이에 데이터를 트랜스퍼하기 위한 데이터 트랜스퍼 경로를 제공할 수 있다.
일부 실시예들에서, 전자 디바이스(300)는 사용자에게 미디어 풀 애플리케이션을 제공할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 전자 디바이스(300)에 현재 접속되어 있는 미디어 풀들을 디스플레이할 수 있다. 또한, 미디어 풀 애플리케이션은 통신 네트워크의 후보 미디어 풀들을 검색할 수 있다. 또한, 미디어 풀 애플리케이션은 하나 이상의 미디어 풀들을 관리할 수 있다.
이제 도 4-17을 참조하면, 미디어 풀 애플리케이션의 예시적인 디스플레이 스크린들이 발명의 다양한 실시예들에 따라 도시된다. 미디어 풀 애플리케이션은 전자 디바이스(예를 들어, 도 1의 클라이언트 디바이스들(104, 106, 108, 및 110), 도 2의 전자 디바이스들(202, 204, 206 및 208), 및 도 2의 전자 디바이스(300))의 제어 회로(예를 들어, 도 3의 제어 회로(302))에 의해 실행될 수 있다.
도 4는 전자 디바이스의 다양한 실시예들에 의해 제공될 수 있는 미디어 풀 애플리케이션의 예시적인 톱 레벨 메뉴의 디스플레이 스크린(400)을 도시한다. 디스플레이 스크린(400)은 옵션들(402)의 리스트 및 하이라이트 영역(404)을 포함할 수 있다. 일부 실시예들에서, 입력 컴포넌트(예를 들어, 도 3의 I/O 컴포넌트(308))를 이용하여 하이라이트 영역(404)을 이동함으로써, 사용자는 옵션들(402)의 리스트에서 옵션을 선택할 수 있다. 예를 들어, 사용자는 클릭 휠을 회전함으로써 하이라이트 영역(404)을 이동할 수 있다. 다른 실시예들에서, 사용자는 전자 디바이스의 터치 스크린 상에서 옵션을 선택함으로써 옵션들(402)의 리스트에서 옵션을 선택할 수 있다.
디스플레이 스크린(400)으로부터, 사용자는 임의의 적절한 방식을 이용하여 "현재의 풀 보기(VIEW CURRENT POOLS)" 옵션(406)을 선택할 수 있다(예를 들어, "현재의 풀 보기" 옵션(406)이 하이라이트 영역(404)에 의해 하이라이트되는 동안에 클릭 휠을 클릭함으로써 또는 전자 디바이스의 터치 스크린 상에서 "현재의 풀 보기" 옵션(406)을 선택함으로써). 그 다음에 미디어 풀 애플리케이션은 "현재의 풀 보기" 옵션(406)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 5는 현재의 미디어 풀들을 제공하기 위한 디스플레이 스크린(500)을 도시한다. 디스플레이 스크린(500)은 미디어 풀 아이콘들(502 및 504)을 포함할 수 있다. 미디어 풀 아이콘들(502 및 504)은 전자 디바이스가 현재 접속되어 있는 미디어 풀들을 표현할 수 있다.
이 기술분야의 통상의 기술자들은 임의의 적절한 수의 미디어 풀 아이콘들이 디스플레이 스크린(500) 상에 도시될 수 있다는 것을 알 것이다. 그러나, 간단함을 위해, 미디어 풀 아이콘들(502 및 504)만이 디스플레이 스크린(500)에 도시된다. 일부 실시예들에서, 사용자는 "뒤로(BACKWARD)" 옵션(506) 및/또는 "앞으로(FORWARD)" 옵션(508)을 선택함으로써 부가적인 미디어 풀들을 보도록 선택할 수 있다. 예를 들어, "뒤로" 옵션(506)의 사용자 선택을 수신하는 것에 응답하여(예를 들어, 옵션(506)이 하이라이트 영역(510)에 의해 하이라이트되는 동안 사용자가 "뒤로" 옵션(506) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 손가락을 오른쪽으로 슬라이딩하는 것에 응답하여), 미디어 풀 애플리케이션은 미디어 풀 아이콘들(502 및 504)을 오른쪽으로 스크롤하고 부가적인 미디어 풀 아이콘들을 디스플레이할 수 있다. 다른 예로서, "앞으로" 옵션(508)의 사용자 선택을 수신하는 것에 응답하여(예를 들어, 옵션(508)이 하이라이트 영역(510)에 의해 하이라이트되는 동안 사용자가 "앞으로" 옵션(508) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 손가락을 왼쪽으로 슬라이딩하는 것에 응답하여), 미디어 풀 애플리케이션은 미디어 풀 아이콘들(502 및 504)을 왼쪽으로 스크롤하고 부가적인 미디어 풀 아이콘들을 디스플레이할 수 있다.
디스플레이 스크린(500)은 하나 이상의 "퇴장" 옵션들(512)을 포함할 수 있다. 사용자가 특정 미디어 풀 아이콘의 "퇴장" 옵션(512)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀 아이콘에 의해 표현된 미디어 풀로부터 전자 디바이스를 단절시킬 수 있다. 일부 구성들에서, 미디어 풀 애플리케이션은 또한 전자 디바이스가 미디어 풀을 떠나고 있음을 표시하기 위해 미디어 풀의 다른 미디어 소스들(예를 들어, 하나 이상의 서버 및/또는 전자 디바이스)에 "퇴장" 요구를 전송할 수 있다.
예를 들어, 사용자가 미디어 풀 아이콘(502)의 "퇴장" 옵션(512)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 "80년대 댄스 파티(80's Dance Party)" 미디어 풀로부터 디바이스를 단절시킬 수 있다. 결과로서, 전자 디바이스와 연관된 "80년대 댄스 파티" 미디어 풀의 미디어 아이템들은 미디어 풀로부터 제거될 수 있다. 또한, 미디어 풀 애플리케이션은 디스플레이 스크린(500)으로부터 미디어 풀 아이콘(502)을 제거할 수 있다.
일부 실시예들에서, 미디어 풀 아이콘들(502 및 504)에 의해 표현된 미디어 풀들은 전자 디바이스가 현재 배치되어 있는 통신 네트워크의 미디어 풀들의 서브세트일 수 있다. 예를 들어, 미디어 풀 아이콘(502)에 의해 표현된 "80년대 댄스 파티"는 도 1의 미디어 풀들(116 및 118)과 유사한 구성을 갖는 정적 미디어 풀일 수 있다. 따라서, 미디어 풀은 현재 통신 네트워크(예를 들어, 도 1의 통신 네트워크(100))에 있는 하나 이상의 전자 디바이스들(예를 들어, 도 1의 클라이언트 디바이스들(104, 106, 108 및 110)) 및 하나 이상의 서버들(예를 들어, 도 1의 서버(102))로부터 미디어 아이템들을 포함할 수 있다. 다른 예로서, 미디어 풀 아이콘(504)에 의해 표현된 "빌보드 톱 100(Billboard Top 100)"은 도 2의 미디어 풀들(212 및 214)과 유사한 구성을 갖는 일시적 미디어 풀일 수 있다. 따라서, 미디어 풀은 현재 통신 네트워크(예를 들어, 도 2의 통신 네트워크(200))에 배치되는 하나 이상의 전자 디바이스들(예를 들어, 도 2의 전자 디바이스들(202, 204, 206, 및 208))로부터 미디어 아이템들을 포함할 수 있다.
각각의 미디어 풀 아이콘(예를 들어, 미디어 풀 아이콘들(502 및 504))은 "듣기(LISTEN)" 옵션(514)을 포함할 수 있다. 사용자가 미디어 풀에 대해 "듣기" 옵션(514)을 선택하는 것에 응답하여(예를 들어, "듣기" 옵션(514)이 하이라이트 영역(510)에 의해 하이라이트되는 동안 사용자가 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 터치 스크린 상에서 "듣기" 옵션(514)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 미디어 풀로부터 하나 이상의 미디어 아이템들의 스트림을 수신할 수 있다. 그 다음, 미디어 풀 애플리케이션은 사용자에게 스트림을 제공할 수 있다.
예를 들어, 도 6은 사용자에게 제공될 수 있는 미디어 아이템(예를 들어, 노래)의 스트림을 제공하는 것과 연관된 디스플레이 스크린(600)을 도시한다. 미디어 풀 애플리케이션은 미디어 풀의 임의의 적절한 미디어 소스(예를 들어, 전자 디바이스, 미디어 풀의 다른 전자 디바이스, 또는 미디어 풀의 서버)로부터 스트림을 수신할 수 있다.
디스플레이 스크린(600)은 현재 미디어 풀에서 스트리밍되고 있는 미디어 아이템과 연관될 수 있는 미디어 아이템 정보(602)를 포함할 수 있다. 이 기술분야의 통상의 기술자들은 미디어 아이템 타이틀 및 앨범 커버 아트만이 디스플레이 스크린(600)에 도시되지만, 미디어 아이템 정보(602)는 예를 들어, 장르, 아티스트, 앨범, 앨범 커버 아트, 미디어 소스, 발표일, BPM 정보, 프로듀서, 송 라이터, 키워드, 태그, 또는 미디어 아이템과 연관된 미디어 랭킹, 및/또는 그의 임의의 결합과 같은 미디어 아이템과 연관된 임의의 다른 적절한 메타데이터를 포함할 수 있다는 것을 알 것이다.
일부 실시예들에서, 디스플레이 스크린(600)은 사용자가 미디어 아이템의 미디어 랭킹을 조절할 수 있게 할 수 있는 "스타 레이팅(STAR RATING)" 옵션(604)을 포함할 수 있다. 따라서, 사용자가 "스타 레이팅" 옵션(604)을 조절하는 것에 응답하여(예를 들어, "스타 레이팅" 옵션(604)이 하이라이트 영역(606)에 의해 하이라이트되는 동안 클릭 휠을 회전하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "스타 레이팅" 옵션(604) 위로 손가락을 슬라이딩하는 것에 의해), 미디어 풀 애플리케이션은 하나 이상의 액션을 수행할 수 있다. 예를 들어, 미디어 풀이 정적 미디어 풀인 경우, 미디어 풀 애플리케이션은 "스타 레이팅" 옵션(604)의 사용자 조절에 기초하여 미디어 아이템의 랭킹을 조절하기 위해 서버에 요구를 전송할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 아이템 및 전자 디바이스를 고유하게 식별하는 헤더와, 미디어 아이템의 미디어 랭킹을 조절하기 위한 요구를 포함하는 보디를 갖는 메시지를 전송할 수 있다. 다른 예로서, 미디어 풀이 일시적 미디어 풀인 경우, 미디어 풀 애플리케이션은 "스타 레이팅" 옵션(604)의 사용자 조절에 기초하여 미디어 아이템의 미디어 랭킹을 조절할 수 있다.
일부 실시예들에서, 미디어 풀 애플리케이션은 미디어 랭킹이 미리 결정된 임계값에 도달했다고 결정하는 것에 응답하여 하나 이상의 액션을 수행할 수 있다. 예를 들어, 미디어 아이템의 미디어 랭킹이 제거 임계값보다 아래로 감소하였다고 결정하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀로부터 미디어 아이템을 제거할 수 있다. 미디어 풀 애플리케이션은 임의의 적절한 시간에 미디어 아이템을 제거할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 아이템과 연관된 미디어 랭킹이 제거 임계값보다 아래로 감소하자마자 미디어 풀로부터 미디어 아이템을 제거할 수 있다. 다른 예로서, 미디어 풀 애플리케이션이 현재 미디어 아이템을 스트리밍하고 있는 경우, 미디어 풀 애플리케이션은 미디어 풀로부터 미디어 아이템을 제거하기 전에 미디어 아이템이 스트리밍을 완료할 때까지 기다릴 수 있다.
다른 예로서, 미디어 아이템의 미디어 랭킹이 증가 포지션 임계값(increase position threshold)보다 위로 증가하였다고 결정하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀 플레이리스트에서 더 높은 포지션으로 미디어 아이템을 이동할 수 있다. 미디어 풀 플레이리스트는 사용자에게 미디어 풀의 미디어 아이템들을 스트리밍하기 위한 순서를 특정하는 플레이리스트일 수 있다. 유사하게, 미디어 아이템의 미디어 랭킹이 감소 포지션 임계값(decrease position threshold)보다 아래로 감소하였다고 결정하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀 플레이리스트에서 더 낮은 포지션으로 미디어 아이템을 이동할 수 있다. 이 기술분야의 통상의 기술자들은 도 6-17은 사용자 명령들에 응답하여 하나 이상의 액션을 수행하는 미디어 풀 애플리케이션을 참조하지만, 미디어 풀 애플리케이션은 그 대신에 또는 부가적으로 관련 정보(예를 들어, 사용자 명령들, 미디어 아이템들과 연관된 메타데이터, 및 미디어 풀과 연관된 다른 적절한 정보)를 일시적 미디어 풀의 하나 이상의 다른 전자 디바이스들에 전송할 수 있다는 것을 알 것이다. 따라서, 일시적 미디어 풀의 다른 전자 디바이스들은 전자 디바이스에 의해 수행되는 액션들과 동일하거나 유사한 액션들을 수행할 수 있다.
일부 실시예들에서, 미디어 아이템이 현재 미디어 풀에서의 다른 전자 디바이스로부터 스트리밍되고 있는 경우, 디스플레이 스크린(600)은 사용자가 하나 이상의 미디어 소스들에 미디어 아이템을 추가할 수 있게 할 수 있는 "추가(ADD)" 옵션(608)을 포함할 수 있다. 예를 들어, 사용자가 "추가" 옵션(608)을 선택하는 것에 응답하여(예를 들어, "추가" 옵션(608)이 하이라이트 영역(606)에 의해 하이라이트되는 동안 사용자가 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 터치 스크린 상에서 "추가" 옵션(608)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 "추가" 옵션(608)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 7은 "추가" 옵션과 연관된 디스플레이 스크린(700)을 도시한다. 디스플레이 스크린(700)은 정보 영역(702)에 미디어 아이템과 연관된 정보를 디스플레이할 수 있다. 일부 실시예들에서, 디스플레이 스크린(700)은 미디어 풀의 하나 이상의 미디어 소스들에 미디어 아이템을 추가하기 위한 하나 이상의 옵션을 포함할 수 있다. 예를 들어, "서버" 옵션(702)은 서버 상의 미디어 라이브러리가 미디어 아이템을 포함하지 않는 경우에 디스플레이될 수 있다. 사용자가 "서버" 옵션(704)을 선택하는 것에 응답하여(예를 들어, "서버" 옵션(704)이 하이라이트 영역(706)에 의해 하이라이트되는 동안 사용자가 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 터치 스크린 상에서 "서버" 옵션(704)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 서버에 미디어 아이템을 추가하기 위한 요구를 전송할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션은 사용자가 옵션(704)을 선택한 후에 디스플레이 스크린(700)으로부터 "서버" 옵션(704)을 제거할 수 있다. 따라서, 사용자는 옵션(708)이 아직 선택되지 않은 경우 여전히 "내 라이브러리(MY LIBRARY)" 옵션(708)을 선택하는 옵션을 가질 수 있다.
전자 디바이스로부터 요구를 수신하는 것에 응답하여, 서버는 서버의 메모리(예를 들어, 도 1의 메모리(114))에 미디어 아이템이 저장되어 있는지를 결정할 수 있다. 서버가 미디어 아이템이 메모리에 저장되어 있지 않다고 결정하면, 서버는 미디어 풀의 하나 이상의 설정에 따라 하나 이상의 액션을 수행할 수 있다. 예를 들어, 서버는 전자 디바이스가 서버에 미디어 아이템들을 추가하기 위한 퍼미션을 갖는 경우에 메모리에 미디어 아이템을 자동으로 다운로드할 수 있다. 예를 들어, 서버는 다른 미디어 소스(예를 들어, 하나 이상의 전자 디바이스들 또는 온라인 소스)로부터 미디어 아이템을 다운로드할 수 있다. 다른 예로서, 서버는 수신된 추가 요구들의 수를 모니터하는 카운터를 유지할 수 있다. 미디어 아이템을 추가하기 위한 요구를 수신하는 것에 응답하여, 서버는 카운터를 1씩 증분할 수 있다. 따라서, 카운터가 미리 결정된 임계값(예를 들어, 추가 임계값)보다 위로 증가하였다고 서버가 결정하는 경우에만 서버는 미디어 아이템을 다운로드할 수 있다.
다른 예로서, 미디어 아이템이 전자 디바이스의 메모리(예를 들어, 도 3의 메모리(304))에 저장되어 있지 않다고 미디어 풀 애플리케이션이 결정하는 경우에 "내 라이브러리" 옵션(708)은 디스플레이 스크린(700)에 디스플레이될 수 있다. 일부 실시예들에서, 사용자가 "내 라이브러리" 옵션(708)을 선택하는 것에 응답하여(예를 들어, "내 라이브러리" 옵션(708)이 하이라이트 영역(706)에 의해 하이라이트되는 동안 사용자가 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 터치 스크린 상에서 "내 라이브러리" 옵션(708)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 다른 미디어 소스(예를 들어, 다른 전자 디바이스, 서버, 및/또는 온라인 소스)로부터 미디어 아이템을 다운로드할 수 있다. 그 다음에 미디어 풀 애플리케이션은 메모리에 다운로드된 미디어 아이템을 저장할 수 있다. 다른 실시예들에서, 사용자가 "내 라이브러리" 옵션(708)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 장래의 구매를 위해 미디어 아이템을 플래그(flag) 또는 태그(tag)할 수 있다.
일부 실시예들에서, 미디어 풀 애플리케이션은 사용자가 옵션(708)을 선택한 후에 디스플레이 스크린(700)으로부터 "내 라이브러리" 옵션(708)을 제거할 수 있다. 따라서, 사용자는 옵션(704)이 아직 선택되지 않았다면 "서버" 옵션(704)을 선택하는 옵션을 여전히 가질 수 있다.
디스플레이 스크린(700)으로부터, 사용자는 "뒤(BACK)" 옵션(710)을 선택함으로써 현재 플레이하는 미디어 아이템과 연관된 미디어 아이템 정보 보기로 돌아가도록 선택할 수 있다. 사용자가 "뒤" 옵션(710)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 예를 들어, 디스플레이 스크린(600)(도 6)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
따라서, 도 6을 다시 참조하면, 디스플레이 스크린(600)은 사용자가 미디어 풀 플레이리스트의 곧 있을 미디어 아이템들을 볼 수 있게 할 수 있는 "플레이리스트 보기(VIEW PLAYLIST)" 옵션(610)을 포함할 수 있다. 사용자가 "플레이리스트 보기" 옵션(610)을 선택하는 것에 응답하여(예를 들어, "플레이리스트 보기" 옵션(610)이 하이라이트 영역(606)에 의해 하이라이트되는 동안 사용자가 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 터치 스크린 상에서 "플레이리스트 보기" 옵션(610)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 "플레이리스트 보기" 옵션(610)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 8은 "플레이리스트 보기" 옵션(610)과 연관된 디스플레이 스크린(800)을 도시한다. 디스플레이 스크린(800)은 사용자에게 미디어 풀의 미디어 아이템들을 스트리밍하기 위한 순서를 특정하는 리스트를 사용자에게 제공할 수 있는 미디어 풀 플레이리스트(802)를 포함할 수 있다. 예를 들어, 미디어 풀 플레이리스트(802) 내의 플레이리스트 아이템(804)은 플레이리스트 아이템(804)이 현재 플레이하는 미디어 아이템임을 표시하는 마커(806)를 포함할 수 있다.
일부 실시예들에서, 미디어 풀 플레이리스트(802) 내의 각각의 플레이리스트 아이템은 "제거(REMOVE)" 옵션(808)을 포함할 수 있다. 미디어 풀이 일시적 미디어 풀인 경우, 미디어 아이템의 "제거" 옵션(808)의 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀로부터 미디어 아이템을 제거하는 것을 시도할 수 있다. 예를 들어, 미디어 아이템이 현재 플레이하는 미디어 아이템인 경우, 미디어 풀 애플리케이션은 미디어 풀로부터 미디어 아이템을 제거하기 전에 미디어 아이템이 플레이하는 것을 완료하기를 기다릴 수 있다. 다른 실시예들에서, 미디어 풀 애플리케이션은 미디어 아이템의 "제거" 옵션(808)의 사용자 선택을 수신하는 것에 응답하여 미디어 아이템의 미디어 랭킹을 낮출 수 있다. 그 다음에 미디어 풀 애플리케이션은 일단 미디어 아이템의 미디어 랭킹이 미리 결정된 임계값(예를 들어, 제거 임계값)보다 아래로 감소하면 미디어 아이템을 제거할 수 있다.
미디어 풀이 그 대신 정적 미디어 풀인 경우, 미디어 아이템의 "제거" 옵션(808)의 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 정적 미디어 풀의 서버에 제거 요구를 전송할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 아이템 및 전자 디바이스를 고유하게 식별하는 헤더와, 미디어 아이템을 제거하기 위한 요구를 포함하는 보디를 갖는 메시지를 전송할 수 있다. 서버는 요구를 수신하는 것에 응답하여 하나 이상의 액션을 수행할 수 있다. 일부 실시예들에서, 요구를 수신하는 것에 응답하여, 서버는 미디어 풀로부터 미디어 아이템을 제거할 수 있다. 다른 실시예들에서, 서버는 미디어 아이템의 미디어 랭킹을 감소시킬 수 있다. 미디어 랭킹을 감소시키는 것에 의해, 서버가 그 다음에 미디어 아이템의 미디어 랭킹이 미리 결정된 임계값(예를 들어, 제거 임계값)보다 아래로 감소하였다고 결정하면, 서버는 미디어 풀로부터 미디어 아이템을 제거할 수 있다.
일부 실시예들에서, 플레이리스트(802) 내의 하나 이상의 플레이리스트 아이템들은 "위로 이동(MOVE UP)" 옵션(810) 및 "아래로 이동(MOVE DOWN)" 옵션(812)을 포함할 수 있다. 미디어 풀이 일시적 미디어 풀인 경우, 미디어 아이템의 "위로 이동" 옵션(810) 또는 "아래로 이동" 옵션(812)의 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 하나 이상의 액션을 수행할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 "위로 이동" 옵션(810)의 사용자 선택을 수신하는 것에 응답하여 미디어 풀 플레이리스트(802)에서 더 높은 포지션으로 미디어 아이템을 이동할 수 있다. 유사하게, 미디어 풀 애플리케이션은 "아래로 이동" 옵션(812)의 사용자 선택을 수신하는 것에 응답하여 미디어 풀 플레이리스트(802)에서 더 낮은 포지션으로 미디어 아이템을 이동할 수 있다. 다른 예로서, 미디어 아이템이 현재 플레이하는 미디어 아이템인 경우, 미디어 풀 애플리케이션은 미디어 풀 플레이리스트(802)에서 상이한 포지션으로 미디어 아이템을 이동하기 전에 미디어 아이템이 플레이하는 것을 완료하기를 기다릴 수 있다.
다른 실시예들에서, 미디어 풀 애플리케이션은 "위로 이동" 옵션(810) 또는 "아래로 이동" 옵션(812)의 사용자 선택을 수신하는 것에 응답하여 미디어 아이템의 미디어 랭킹을 조절할 수 있다. 따라서, 미디어 아이템의 미디어 랭킹이 미리 결정된 임계값(예를 들어, 증가 포지션 임계값 또는 감소 포지션 임계값)에 도달하였다고 애플리케이션이 결정하는 경우, 미디어 풀 애플리케이션은 플레이리스트(802)에서 상이한 포지션으로 미디어 아이템을 이동할 수 있다.
미디어 풀이 그 대신에 정적 미디어 풀인 경우, 미디어 아이템의 "위로 이동" 옵션(810) 또는 "아래로 이동" 옵션(812)의 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 정적 미디어 풀의 서버에 미디어 아이템의 포지션을 조절하기 위한 요구를 전송할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 아이템 및 전자 디바이스를 고유하게 식별하는 헤더와, 미디어 아이템의 포지션을 조절하기 위한 요구를 포함하는 보디를 갖는 메시지를 전송할 수 있다. 일부 실시예들에서, 요구를 수신하는 것에 응답하여, 서버는 미디어 풀 플레이리스트에서 상이한 포지션으로 미디어 아이템을 이동할 수 있다.
일부 구성들에서, 서버가 복수의 전자 디바이스들로부터 포지션 조절들을 위한 충돌하는(conflicting) 요구들을 수신하는 경우, 서버는 복수의 전자 디바이스들의 우선순위에 기초하여 충돌을 해결할 수 있다. 예를 들어, 미디어 풀의 전자 디바이스는 디바이스에 배치되는 미디어 풀의 미디어 아이템들의 수에 기초하여 우선순위를 할당받을 수 있다. 다른 예로서, 전자 디바이스의 우선순위는 전자 디바이스의 미디어 아이템이 현재 미디어 풀에서 스트리밍 및/또는 재생되고 있는 경우 증가될 수 있다. 또 다른 예로서, 전자 디바이스의 우선순위는 전자 디바이스의 미디어 아이템이 미디어 풀에서 스트리밍될 다음 아이템인 경우 증가될 수 있다. 추가 예로서, 서버는 전자 디바이스들의 절대 우선순위 랭킹에 기초하여 우선순위들을 할당할 수 있다. 예를 들어, 우선순위 랭킹은 각각의 디바이스가 미디어 풀에 접속되는 때에 의존할 수 있다.
전자 디바이스들에 할당된 우선순위들에 기초하여, 서버는 임의의 적절한 접근법을 이용하여 충돌하는 요구들을 해결할 수 있다. 예를 들어, 서버는 각각의 디바이스에 할당된 우선순위에 따라 상이한 디바이스들로부터 수신된 요구들에 상이한 가중치들을 할당할 수 있다. 예를 들어, 더 높은 우선순위를 갖는 디바이스로부터 수신된 요구는 더 낮은 우선순위를 갖는 디바이스로부터 수신된 요구보다 더 높은 가중치를 수신할 수 있다. 다른 예로서, 서버는 가장 높은 우선순위를 갖는 전자 디바이스의 선호도들(preferences)을 결정하고 그 디바이스의 선호도들에 기초하여 충돌들을 해결할 수 있다.
다른 실시예들에서, 요구를 수신하는 것에 응답하여, 서버는 미디어 아이템의 미디어 랭킹을 조절할 수 있다. 미디어 랭킹을 조절하는 것에 의해, 미디어 아이템의 미디어 랭킹이 미리 결정된 임계값(예를 들어, 증가 포지션 임계값 또는 감소 포지션 임계값)에 도달하였다고 서버가 결정하는 경우, 서버는 미디어 풀 플레이리스트에서 상이한 포지션으로 미디어 아이템을 이동할 수 있다.
디스플레이 스크린(800)으로부터, 사용자는 플레이리스트(802)에서 특정 플레이리스트 아이템을 선택함으로써 미디어 아이템과 연관된 부가적인 정보를 보는 것을 선택할 수 있다. 예를 들어, 사용자가 플레이리스트 아이템(814)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 플레이리스트 아이템(814)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 9는 플레이리스트 아이템과 연관된 디스플레이 스크린(900)을 도시한다. 디스플레이 스크린(900)은 플레이리스트 아이템과 연관된 미디어 아이템 정보(902)를 포함할 수 있다. 미디어 아이템 정보(902)는 예를 들어, 플레이리스트 아이템의 타이틀 및 미디어 소스를 포함할 수 있다. 디스플레이 스크린(900)에 도시된 바와 같이, 예를 들어, 플레이리스트 아이템에 대한 미디어 소스는 미디어 풀의 서버이다. 이 기술분야의 통상의 기술자는, 플레이리스트 아이템의 타이틀 및 미디어 소스만이 디스플레이되지만, 미디어 아이템 정보(902)는 예를 들어, 장르, 아티스트, 앨범, 앨범 커버 아트, 발표일, BPM 정보, 프로듀서, 송 라이터, 키워드, 태그, 또는 미디어 아이템과 연관된 미디어 랭킹, 및/또는 그의 임의의 결합과 같은 미디어 아이템과 연관된 임의의 다른 적절한 메타데이터를 포함할 수 있다는 것을 알 것이다.
일부 실시예들에서, 디스플레이 스크린(900)은 사용자가 미디어 소스에 저장된 미디어 아이템들을 볼 수 있게 할 수 있는 "미디어 라이브러리 보기(VIEW MEDIA LIBRARY)" 옵션(904)을 포함할 수 있다. 일부 구성들에서, 미디어 아이템들은 사용자가 보기 위한 퍼미션을 갖는 미디어 소스에 저장된 아이템들만을 포함할 수 있다.
디스플레이 스크린(900)으로부터, 사용자는 (예를 들어, 도 9의 "뒤" 옵션(906), 도 8의 "뒤" 옵션(816), 및 도 6의 "뒤" 옵션(612)을 선택하는 것에 의해) 하나 이상의 현재의 미디어 풀 보기로 돌아가는 것을 선택할 수 있다. 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 예를 들어, 디스플레이 스크린(500)(도 5)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
따라서, 다시 도 5를 참조하면, 디스플레이 스크린(500)은 사용자가 미디어 풀의 미디어 아이템들을 볼 수 있게 할 수 있는 "모든 아이템 보기(VIEW ALL ITEMS)" 옵션(516)을 포함할 수 있다. 사용자가 "모든 아이템 보기" 옵션(516)을 선택하는 것에 응답하여(예를 들어, "모든 아이템 보기" 옵션(516)이 하이라이트 영역(510)에 의해 하이라이트되는 동안 사용자가 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 터치 스크린 상에서 "모든 아이템 보기" 옵션(516)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 "모든 아이템 보기" 옵션(516)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 10은 "모든 아이템 보기" 옵션과 연관된 디스플레이 스크린(1000)을 도시한다. 디스플레이 스크린(1000)은 미디어 아이템 옵션들(1002)의 리스트를 포함할 수 있다. 예를 들어, 사용자는 미디어 아이템 옵션들(1002)의 리스트 내의 미디어 아이템과 연관된 미디어 아이템 옵션을 선택하는 것에 의해 미디어 아이템을 재생하는 것을 선택할 수 있다. 예를 들어, 사용자는 미디어 아이템 옵션(1004)이 하이라이트 영역(1006)에 의해 하이라이트되는 동안 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 미디어 아이템을 선택하는 것에 의해 미디어 아이템 옵션(1004)을 선택할 수 있다. 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 아이템 옵션(1004)과 연관된 미디어 아이템을 재생할 수 있다.
디스플레이 스크린(1000)은 옵션들(1008)을 포함할 수 있다. 옵션들(1008)의 서브세트는 사용자가 미디어 아이템 옵션들(1002)의 리스트에서 미디어 아이템 옵션들을 재배열(예를 들어, 노래들, 아티스트들, 및/또는 미디어 소스에 기초하여 미디어 아이템 옵션들을 재배열)할 수 있게 할 수 있다. 또한, 다른 서브세트의 옵션들(1008)은 사용자가 미디어 아이템들의 재생 순서를 변경(예를 들어, 재생을 위한 미디어 아이템들을 셔플링(shuffle))할 수 있게 할 수 있다.
일부 실시예들에서, 미디어 아이템 옵션들(1002)의 리스트는 전자 디바이스에 국부적으로 저장되지 않은 미디어 아이템들의 미디어 소스들을 식별할 수 있는 미디어 소스 정보(1010)를 포함할 수 있다. 또한, 미디어 아이템 옵션들(1002)의 리스트는 사용자가 전자 디바이스 및/또는 서버에 미디어 풀의 하나 이상의 미디어 아이템을 추가할 수 있게 할 수 있는 "추가" 옵션(1012)을 포함할 수 있다. 예를 들어, 사용자가 "추가" 옵션(1012)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 도 7의 디스플레이 스크린(700)과 유사한 디스플레이 스크린을 제공할 수 있다.
도 2와 관련하여 앞서 논의한 바와 같이, 미디어 풀 애플리케이션은 하나 이상의 다른 전자 디바이스가 미디어 풀을 떠났을 때를 검출할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션이 "사용자 2"의 전자 디바이스가 미디어 풀을 떠났다고 검출하는 경우, 미디어 풀 애플리케이션은 "사용자 2"의 전자 디바이스와 연관된 하나 이상의 미디어 아이템의 정보를 갱신할 수 있다.
예를 들어, 도 11은 "사용자 2"의 전자 디바이스가 미디어 풀을 떠난 후에 "모든 아이템 보기" 옵션과 연관된 디스플레이 스크린(1100)을 도시한다. 디스플레이 스크린(1100)은 "사용자 2"의 전자 디바이스와 연관된 하나 이상의 미디어 아이템을 위한 하나 이상의 시간 표시자들(1102)을 포함할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 (예를 들어, 전자 디바이스 상의 버퍼로부터 또는 대안적인 미디어 소스로부터) "사용자 2"의 전자 디바이스와 연관된 미디어 아이템의 일시적 사본을 획득하였을 수 있다. 따라서, 시간 표시자(1102)는 미디어 풀로부터 사본이 제거되기 전에 남아 있는 시간의 양을 표시할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션이 미디어 아이템의 사본을 배치하지 못했다면, 미디어 풀 애플리케이션은 미디어 아이템들의 리스트(예를 들어, 미디어 아이템 옵션들(1104)의 리스트)로부터 미디어 아이템을 제거할 수 있다.
일부 실시예들에서, 사용자는 "추가" 옵션(1106)을 선택하는 것에 의해 미디어 풀에 하나 이상의 미디어 아이템의 일시적 사본들을 추가하는 것을 선택할 수 있다. 사용자가 "추가" 옵션(1106)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 전자 디바이스 및/또는 서버에 미디어 아이템들의 일시적 사본들을 저장하는 것을 시도할 수 있다.
도 10의 디스플레이 스크린(1000) 또는 도 11의 디스플레이 스크린(1100)으로부터, 사용자는 (예를 들어, 도 11의 "뒤" 옵션(1108) 또는 도 10의 "뒤" 옵션(1014), 및 도 5의 "뒤" 옵션(518)을 선택하는 것에 의해) 미디어 풀 애플리케이션의 톱 레벨 메뉴 보기로 돌아가는 것을 선택할 수 있다. 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 예를 들어 디스플레이 스크린(400)(도 4)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
따라서, 다시 도 4를 참조하면, 디스플레이 스크린(400)은 전자 디바이스가 배치되는 통신 네트워크 내의 후보 미디어 풀들을 사용자에게 제공할 수 있는 "풀 검색(SEARCH FOR POOLS)" 옵션(408)을 포함할 수 있다. 사용자는 임의의 적절한 방식을 이용하여(예를 들어, "풀 검색" 옵션(408)이 하이라이트 영역(404)에 의해 하이라이트되는 동안 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "풀 검색" 옵션(408)을 선택하는 것에 의해) "풀 검색" 옵션(408)을 선택할 수 있다. "풀 검색" 옵션(408)의 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 전자 디바이스가 배치되는 통신 네트워크 내의 하나 이상의 후보 미디어 풀들을 검출할 수 있다. 미디어 풀 애플리케이션은 그 다음에 "풀 검색" 옵션(408)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 12는 후보 미디어 풀들을 제공하기 위한 디스플레이 스크린(1200)을 도시한다. 디스플레이 스크린(1200)은 전자 디바이스가 접속할 수 있는 후보 미디어 풀들(예를 들어, 기존의 미디어 풀 또는 다른 전자 디바이스)을 표현할 수 있는 미디어 풀 아이콘들(1202 및 1204)을 포함할 수 있다. 예를 들어, 미디어 풀 아이콘(1202)은 사용자가 (예를 들어, "조인(JOIN)" 옵션(1206)을 선택하는 것에 의해) 조인하는 것을 선택할 수 있는 기존의 미디어 풀을 표현할 수 있다. 따라서, 사용자가 "조인" 옵션(1206)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀 아이콘(1202)에 의해 표현된 기존의 미디어 풀에 접속할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션은 기존의 미디어 풀에 전자 디바이스의 하나 이상의 미디어 아이템(예를 들어, 다른 미디어 소스들과 공유되도록 사용자에 의해 선택되는 하나 이상의 미디어 아이템)을 추가하는 것을 자동으로 시도할 수 있다. 미디어 풀 애플리케이션은 앞서 형성된 플레이리스트들로부터 획득된 미디어 아이템들 및/또는 그룹화 정보와 연관된 메타데이터에 기초하여 추가할 미디어 아이템들을 결정할 수 있다. 미디어 풀 애플리케이션은 하나 이상의 전자 디바이스들, 서버, 온라인 소스, 임의의 다른 적절한 소스, 및/또는 그의 임의의 결합에 메타데이터 및 플레이리스트들을 배치할 수 있다.
이 기술분야의 통상의 기술자는, 임의의 적절한 수의 미디어 풀 아이콘들이 디스플레이 스크린(1200) 상에 도시될 수 있다는 것을 알 것이다. 그러나, 간단함을 위해, 미디어 풀 아이콘들(1202 및 1204)만이 디스플레이 스크린(1200)에 도시된다. 일부 실시예들에서, 사용자는 "뒤로" 옵션(1208) 및/또는 "앞으로" 옵션(1210)을 선택함으로써 후보 미디어 풀들을 보는 것을 선택할 수 있다. 예를 들어, "뒤로" 옵션(1208)의 사용자 선택을 수신하는 것에 응답하여(예를 들어, 옵션(1202)이 하이라이트 영역(1212)에 의해 하이라이트되는 동안 사용자가 "뒤로" 옵션(1208) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 손가락을 오른쪽으로 슬라이딩하는 것에 응답하여), 미디어 풀 애플리케이션은 미디어 풀 아이콘들(1202 및 1204)을 오른쪽으로 스크롤하고 부가적인 후보 미디어 풀들을 표현하는 부가적인 미디어 풀 아이콘들을 디스플레이할 수 있다. 다른 예로서, "앞으로" 옵션(1210)의 사용자 선택을 수신하는 것에 응답하여(예를 들어, 옵션(1204)이 하이라이트 영역(1212)에 의해 하이라이트되는 동안 사용자가 "앞으로" 옵션(1210) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 손가락을 왼쪽으로 슬라이딩하는 것에 응답하여), 미디어 풀 애플리케이션은 미디어 풀 아이콘들(1202 및 1204)을 왼쪽으로 스크롤하고 부가적인 미디어 풀 아이콘들을 디스플레이할 수 있다.
각각의 미디어 풀 아이콘은 사용자가 후보 미디어 풀의 하나 이상의 미디어 아이템의 일부의 샘플을 들을 수 있게 할 수 있는 "프리뷰(PREVIEW)" 옵션(1214)을 포함할 수 있다. 예를 들어, 사용자는 옵션(1214)이 하이라이트 영역(1212)에 의해 하이라이트되는 동안 "프리뷰" 옵션(1214) 상에서 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "프리뷰" 옵션(1214)을 선택하는 것에 의해 "프리뷰" 옵션(1214)을 선택할 수 있다.
일부 실시예들에서, 사용자가 기존의 미디어 풀(예를 들어, 미디어 풀 아이콘(1202)에 의해 표현된 후보 미디어 풀)의 "프리뷰" 옵션(1214)을 선택하는 경우, 사용자는 후보 미디어 풀에서 현재 스트리밍되고 있는 하나 이상의 미디어 아이템의 일부를 들을 수 있다. 스트림의 프리뷰는 시간 기간(a period of time)(예를 들어, 30초)이 경과한 후에 끝날 수 있다. 다른 실시예들에서, 사용자가 다른 전자 디바이스(예를 들어, 미디어 풀 아이콘(1204)에 의해 표현된 전자 디바이스)의 "프리뷰" 옵션(1214)을 선택하는 경우, 사용자는 다른 전자 디바이스의 미디어 라이브러리에 있는 하나 이상의 미디어 아이템의 일부를 들을 수 있다. 예를 들어, 사용자는 다른 전자 디바이스의 사용자의 좋아하는 노래의 일부를 들을 수 있다.
또한, 각각의 미디어 풀 아이콘은 사용자가 각각의 미디어 풀 아이콘에 의해 표현된 후보 미디어 풀의 하나 이상의 미디어 아이템을 볼 수 있게 할 수 있는 "아이템 보기(VIEW ITEMS)" 옵션(1216)을 포함할 수 있다. 예를 들어, 사용자는 옵션(1216)이 하이라이트 영역(1212)에 의해 하이라이트되는 동안 "아이템 보기" 옵션(1216) 상에서 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "아이템 보기" 옵션(1216)을 선택하는 것에 의해 "아이템 보기" 옵션(1216)을 선택할 수 있다. 사용자가 "아이템 보기" 옵션(1216)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 후보 미디어 풀의 하나 이상의 미디어 아이템의 리스트를 제공할 수 있다. 일부 실시예들에서, 사용자는 미디어 아이템의 프리뷰를 듣기 위해 리스트 내의 각각의 미디어 아이템을 선택할 수 있다. 다른 실시예들에서, 사용자는 리스트 내의 미디어 아이템들에 대한 제한된 액세스만을 가질 수 있다(예를 들어, 사용자는 미디어 아이템들과 연관된 정보를 보는 능력만을 가질 수 있고 미디어 아이템들의 프리뷰를 듣는 것이 방지될 수 있다).
일부 실시예들에서, 사용자는 후보 미디어 풀의 디스크립션을 보기 위해 미디어 풀 아이콘을 선택할 수 있다. 사용자는 예를 들어, 아이콘이 하이라이트 영역(1212)에 의해 하이라이트되는 동안 미디어 풀 아이콘 상에서 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 미디어 풀 아이콘을 탭핑(tapping)하는 것에 의해 미디어 풀 아이콘을 선택할 수 있다. 예를 들어, 사용자가 미디어 풀 아이콘(1202)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀 아이콘(1202)에 의해 표현된 후보 미디어 풀의 디스크립션을 제공할 수 있다.
예를 들어, 도 13은 후보 미디어 풀의 디스크립션을 제공하기 위한 디스플레이 스크린(1300)을 도시한다. 디스플레이 스크린(1300)은 미디어 풀 아이콘(1202)에 의해 표현된 후보 미디어 풀의 디스크립션을 제공할 수 있는 디스크립션 영역(1302)을 포함할 수 있다. 일부 실시예들에서, 사용자는 미디어 풀 아이콘을 재선택하는 것에 의해(예를 들어, 아이콘이 하이라이트되는 동안 미디어 풀 아이콘 상에서 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 미디어 풀 아이콘을 탭핑하는 것에 의해) 후보 미디어 풀과 연관된 다른 옵션들(예를 들어, 도 12의 "프리뷰" 옵션(1214), 도 12의 "아이템 보기" 옵션(1216), 도 12의 "조인" 옵션, 및/또는 도 12의 "풀 형성(FORM POOL)" 옵션(1218))을 보는 것으로 돌아갈 수 있다. 사용자가 미디어 풀 아이콘(1202)을 재선택하는 것에 응답하여, 미디어 풀 애플리케이션은 도 12의 디스플레이 스크린(1200)을 디스플레이하는 것으로 돌아갈 수 있다.
다시 도 12를 참조하면, 미디어 풀 애플리케이션은 기존의 미디어 풀 대신에 전자 디바이스를 표현하는 미디어 풀 아이콘(예를 들어, 미디어 풀 아이콘(1204))을 제공할 수 있다. 일부 실시예들에서, 미디어 풀 아이콘이 전자 디바이스를 표현하는 경우, 미디어 풀 애플리케이션은 전자 디바이스를 갖는 미디어 풀을 형성하기 위한 옵션을 제공할 수 있다. 예를 들어, 디스플레이 스크린(1200)은 사용자가 미디어 풀 아이콘(예를 들어, 미디어 풀 아이콘(1204))에 의해 표현된 전자 디바이스를 갖는 하나 이상의 미디어 풀을 형성할 수 있게 할 수 있는 "풀 형성" 옵션(1218)을 포함할 수 있다. 사용자가 "풀 형성" 옵션(1218)을 선택하는 것에 응답하여(예를 들어, 옵션(1218)이 하이라이트 영역(1212)에 의해 하이라이트되는 동안 사용자가 "풀 형성" 옵션(1218) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 "풀 형성" 옵션(1218)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 사용자에게 부가적인 후보 미디어 풀들을 제공할 수 있다.
예를 들어, 도 14는 부가적인 후보 미디어 풀들을 제공하기 위한 디스플레이 스크린(1400)을 도시한다. 디스플레이 스크린(1400)은 미디어 풀 애플리케이션에 의해 생성된 부가적인 후보 미디어 풀들을 표현하는 미디어 풀 아이콘들(1402 및 1404)을 포함할 수 있다. 미디어 풀 애플리케이션은 예를 들어, 전자 디바이스에 저장된 미디어 아이템들과 연관된 메타데이터 및 새로운 전자 디바이스(예를 들어, 도 12의 미디어 풀 아이콘(1204)에 의해 표현된 전자 디바이스)에 저장된 미디어 아이템들과 연관된 메타데이터를 포함하는 임의의 적절한 정보에 기초하여 부가적인 후보 미디어 풀들을 생성할 수 있다. 예를 들어, 전자 디바이스 또는 새로운 전자 디바이스에 저장된 제1 미디어 아이템에 대하여, 미디어 풀 애플리케이션은 동일한 또는 유사한/관련 메타데이터를 갖는 다른 미디어 아이템들(예를 들어, 전자 디바이스 또는 새로운 전자 디바이스에 저장된 제2 미디어 아이템)을 식별할 수 있다. 미디어 풀 애플리케이션은 예를 들어, 제1 미디어 아이템의 메타데이터의 일부를 제2 미디어 아이템의 메타데이터의 일부와 매칭할 수 있다. 대안적으로, 미디어 풀 애플리케이션은 호환가능한 메타데이터를 갖지 않는 전자 디바이스 또는 새로운 전자 디바이스에 저장된 임의의 미디어 아이템을 없애기 위해 특정 미디어 아이템을 이용할 수 있다.
일부 실시예들에서, 미디어 풀 애플리케이션은 앞서 형성된 플레이리스트들로부터 획득된 정보에 기초하여 서로 공통으로 그룹화되거나 플레이되는 미디어 아이템들을 결정할 수 있다. 미디어 풀 애플리케이션은 전자 디바이스, 새로운 전자 디바이스, 서버, 온라인 소스, 임의의 다른 적절한 소스, 및/또는 그의 임의의 결합에 플레이리스트들을 배치할 수 있다.
각각의 미디어 풀 아이콘은 사용자가 후보 미디어 풀의 하나 이상의 미디어 아이템들의 일부를 들을 수 있게 할 수 있는 "프리뷰" 옵션(1406)을 포함할 수 있다. 예를 들어, 사용자는 옵션(1406)이 하이라이트 영역(1408)에 의해 하이라이트되는 동안 "프리뷰" 옵션(1406) 상에서 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "프리뷰" 옵션(1406)을 선택하는 것에 의해 "프리뷰" 옵션(1406)을 선택할 수 있다. 사용자가 "프리뷰" 옵션(1406)을 선택하는 것에 응답하여, 사용자는 부가적인 후보 미디어 풀의 하나 이상의 미디어 아이템의 일부를 들을 수 있다.
또한, 각각의 미디어 풀 아이콘은 "서버에서 생성(CREATE ON SERVER)" 옵션(1410) 및 "디바이스에서 생성(CREATE ON DEVICE)" 옵션(1412)을 포함할 수 있다. 일부 실시예들에서, 미디어 풀 애플리케이션은 전자 디바이스가 배치되는 통신 네트워크에서 하나 이상의 서버가 이용가능한 경우 "서버에서 생성" 옵션(1410)을 디스플레이할 수 있다. 사용자가 후보 미디어 풀에 대해 "서버에서 생성" 옵션(1410)을 선택하는 것에 응답하여(예를 들어, 옵션(1410)이 하이라이트 영역(1408)에 의해 하이라이트되는 동안 사용자가 "서버에서 생성" 옵션(1410) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 "서버에서 생성" 옵션(1410)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 하나 이상의 서버에서 미디어 풀(예를 들어, 정적 미디어 풀)을 생성할 수 있다.
일부 실시예들에서, 하나 이상의 서버에서 생성된 미디어 풀은 새로운 전자 디바이스에 액세스가능할 수 있다. 예를 들어, 전자 디바이스는 미디어 풀이 하나 이상의 서버에서 생성되었음을 표시하는 정보를 새로운 전자 디바이스에 전송할 수 있다. 일부 실시예들에서, 새로운 전자 디바이스는 새로 생성된 미디어 풀에 자동으로 접속할 수 있다. 다른 실시예들에서, 새로운 전자 디바이스는 새로운 전자 디바이스의 사용자가 조인하는 것을 선택할 수 있는 후보 미디어 풀로서 새로 생성된 미디어 풀을 제공할 수 있다.
사용자가 "디바이스에서 생성" 옵션(1412)을 선택하는 것에 응답하여(예를 들어, 옵션(1412)이 하이라이트 영역(1408)에 의해 하이라이트되는 동안 사용자가 "디바이스에서 생성" 옵션(1412) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 "디바이스에서 생성" 옵션(1412)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 전자 디바이스에서 미디어 풀(예를 들어, 일시적 미디어 풀)을 생성할 수 있다. 전자 디바이스에서 미디어 풀을 생성하는 것에 부가하여, 미디어 풀 애플리케이션은 또한 새로운 전자 디바이스에 미디어 풀과 연관된 정보를 전송할 수 있다. 결과로서, 동일한 미디어 풀이 새로운 전자 디바이스에 생성될 수 있다. 일부 실시예들에서, 새로운 전자 디바이스는 새로 생성된 미디어 풀에 자동으로 접속할 수 있다. 다른 실시예들에서, 새로운 전자 디바이스는 새로운 전자 디바이스의 사용자가 조인하는 것을 선택할 수 있는 후보 미디어 풀로서 새로 생성된 미디어 풀을 제공할 수 있다.
디스플레이 스크린(1400)은 각각의 미디어 풀 아이콘을 위한 "편집(EDIT)" 옵션들(1414)을 포함할 수 있다. "편집" 옵션들(1414)은 사용자가 각각의 아이콘과 연관된 후보 미디어 풀을 편집할 수 있게 할 수 있다. 예를 들어, 사용자가 미디어 풀 아이콘의 "편집" 옵션(1414)을 선택하는 것에 응답하여(예를 들어, 옵션(1414)이 하이라이트 영역(1408)에 의해 하이라이트되는 동안 사용자가 "편집" 옵션(1414) 상에서 클릭 휠을 클릭하는 것에 응답하여 또는 사용자가 전자 디바이스의 터치 스크린 상에서 "편집" 옵션(1414)을 선택하는 것에 응답하여), 미디어 풀 애플리케이션은 미디어 풀 아이콘(예를 들어, 미디어 풀 아이콘(1402))에 의해 표현된 후보 미디어 풀을 편집하기 위한 하나 이상의 옵션들을 제공할 수 있다.
예를 들어, 도 15는 후보 미디어 풀을 편집하기 위한 디스플레이 스크린(1500)을 도시한다. 디스플레이 스크린(1500)은 후보 미디어 풀을 편집하기 위한 하나 이상의 옵션을 포함할 수 있다. 예를 들어, 디스플레이 스크린(1500)은 사용자가 후보 미디어 풀의 타이틀을 변경할 수 있게 하기 위한 "타이틀(TITLE)" 옵션(1502)을 포함할 수 있다. 다른 예로서, 하나 이상의 "제거(REMOVE)" 옵션들(1504)이 후보 미디어 풀의 미디어 아이템들을 위해 디스플레이 스크린(1500)에 디스플레이될 수 있다. 따라서, 미디어 아이템의 "제거" 옵션(1504)을 선택하는 것에 의해, 사용자는 후보 미디어 풀로부터 미디어 아이템을 제거할 수 있다. 또 다른 예로서, 디스플레이 스크린(1500)은 사용자가 후보 미디어 풀에 미디어 라이브러리의 부가적인 미디어 아이템들을 추가할 수 있게 할 수 있는 "더 추가(ADD MORE)" 옵션(1506)을 포함할 수 있다.
추가 예로서, 미디어 풀 애플리케이션은 후보 미디어 풀의 디스크립션을 포함할 수 있는 "디스크립션(DESCRIPTION)" 옵션(1508)을 제공할 수 있다. 미디어 풀 애플리케이션은 예를 들어, 미디어 아이템들의 메타데이터, 서버로부터 획득된 미디어 아이템들의 메타데이터와 연관된 정보, 온라인 소스, 및/또는 그의 임의의 결합과 같은 임의의 적절한 정보에 기초하여 미디어 풀의 디스크립션을 생성할 수 있다. 일부 실시예들에서, 사용자는 후보 미디어 풀의 디스크립션을 편집하기 위해 "디스크립션" 옵션(1508)을 선택할 수 있다.
디스플레이 스크린(1500)은 사용자가 후보 미디어 풀을 삭제할 수 있게 하기 위한 "풀 삭제(DELETE POOL)" 옵션(1510)을 포함할 수 있다. 또한, 디스플레이 스크린(1500)은 사용자가 후보 미디어 풀에 대해 행한 하나 이상의 변경을 사용자가 저장할 수 있게 하기 위한 "OK" 옵션(1512)을 포함할 수 있다. 사용자가 "풀 삭제" 옵션(1510) 또는 "OK" 옵션(1512)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 도 14의 디스플레이 스크린(1400)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
도 12의 디스플레이 스크린(1200), 도 13의 디스플레이 스크린(1300), 또는 도 14의 디스플레이 스크린(1400)으로부터, 사용자는 (예를 들어, 도 12의 "뒤" 옵션(1220), 도 13의 "뒤" 옵션(1304), 또는 도 14의 "뒤" 옵션(1416)을 선택하는 것에 의해) 미디어 풀 애플리케이션의 톱 레벨 메뉴를 보는 것으로 돌아가는 것을 선택할 수 있다. 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 예를 들어 디스플레이 스크린(400)(도 4)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
따라서, 다시 도 4를 참조하면, 디스플레이 스크린(400)은 사용자가 하나 이상의 미디어 풀을 관리할 수 있게 할 수 있는 "풀 관리(MANAGE POOLS)" 옵션(410)을 포함할 수 있다. 사용자는 임의의 적절한 방식을 이용하여(예를 들어, "풀 관리" 옵션(410)이 하이라이트 영역(404)에 의해 하이라이트되는 동안 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "풀 관리" 옵션(410)을 선택하는 것에 의해) "풀 관리" 옵션(410)을 선택할 수 있다. 미디어 풀 애플리케이션은 그 다음에 "풀 관리" 옵션(410)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 16은 미디어 풀들을 관리하기 위한 디스플레이 스크린(1600)을 도시한다. 디스플레이 스크린(1600)은 사용자가 전자 디바이스에 저장된 미디어 풀들의 하나 이상의 속성들을 변경할 수 있게 하기 위한 옵션들을 포함할 수 있는 옵션들(1602 및 1604)의 리스트들을 디스플레이할 수 있다. 따라서, 디스플레이 스크린(1600)에 제공된 옵션들의 리스트들(예를 들어, 옵션들(1602 및 1604)의 리스트들)은 하나 이상의 미디어 풀들의 구성들을 특정할 수 있다. 예를 들어, 미디어 풀들은 현재 활성인 미디어 풀들(예를 들어, 전자 디바이스에 현재 접속된 미디어 풀들)을 포함할 수 있다. 또한, 하나 이상의 미디어 풀들은 현재 불활성인 앞서 형성된 미디어 풀들을 포함할 수 있다. 디스플레이 스크린(1600)은 미디어 풀이 현재 활성인지를 표시할 수 있는 각각의 미디어 풀과 연관된 표시자(1606)를 포함할 수 있다(예를 들어, "A"는 미디어 풀이 현재 활성임을 표시할 수 있고, "NA"는 미디어 풀이 현재 불활성임을 표시할 수 있다).
일부 실시예들에서, 사용자는 일단 옵션이 선택되었다면 클릭 휠을 회전하는 것에 의해 옵션을 변경할 수 있다. 이 기술분야의 통상의 기술자는, 옵션들(1602 및 1604)의 리스트들이 도 16에 도시된 옵션들과 상이하거나 그에 부가적인 옵션들을 포함할 수 있다는 것을 알 것이다. 이 기술분야의 통상의 기술자는 또한 미디어 풀 애플리케이션이 미디어 소스(예를 들어, 옵션들의 리스트와 연관된 미디어 풀 내의 다른 전자 디바이스 또는 서버)에 옵션들의 리스트를 전송함으로써 임의의 적절한 미디어 소스와 옵션들의 리스트를 공유할 수 있다는 것을 알 것이다.
옵션들(1602 및 1604)의 리스트들은 예를 들어, 미디어 풀의 멤버들, 미디어 풀의 미디어 아이템들, 미디어 풀의 하나 이상의 미리 결정된 임계값(예를 들어, 미디어 풀로부터 미디어 아이템을 제거하기 위한 제거 임계값, 미디어 풀 플레이리스트에서 미디어 아이템의 포지션을 증가시키기 위한 증가 포지션 임계값, 미디어 풀 플레이리스트에서 미디어 아이템의 포지션을 감소시키기 위한 감소 포지션 임계값, 및/또는 미디어 풀에 미디어 아이템을 추가하기 위한 추가 임계값), 또는 그의 임의의 결합과 같은 미디어 풀의 임의의 적절한 속성을 편집하기 위한 옵션들을 포함할 수 있다.
일부 실시예들에서, 미디어 풀에 대한 "미디어 아이템들" 옵션(1608)의 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 미디어 풀의 미디어 아이템들의 리스트를 제공할 수 있다. 예를 들어, 현재 불활성인 미디어 풀에 대해서, 미디어 아이템들의 리스트는 미디어 풀에 앞서 추가된 미디어 아이템들 전부를 포함할 수 있다. 따라서, 사용자가 미디어 아이템을 들을 수 없더라도 사용자는 미디어 아이템에 관한 정보를 볼 수 있을 수 있다(예를 들어, 사용자는 미디어 아이템을 구매하는 것을 선택할 수 있다). 다른 예로서, 미디어 아이템들의 리스트는 미디어 풀의 미디어 아이템들(예를 들어, 미디어 풀이 끝났을 때 미디어 풀에 있었던 미디어 아이템들)의 가장 최근의 스냅샷을 포함할 수 있다. 또 다른 예로서, 미디어 아이템들의 리스트는 전자 디바이스에 의해 제공된 미디어 아이템들만을 포함할 수 있다.
사용자가 미디어 풀에 대한 통지를 수신할지를 선택할 수 있게 하기 위한 "통지(NOTIFICATION)" 옵션(1610)이 제공될 수 있다. 예를 들어, "통지" 옵션(1610)에 대한 값을 선택함으로써(예를 들어, "예" 또는 "아니오"), 사용자는 새로운 사용자가 미디어 풀에 조인할 때 통지를 수신할지를 선택할 수 있다.
일부 실시예들에서, 옵션들(1602)의 리스트는 사용자가 미디어 풀에 자동으로 조인할지를 선택할 수 있게 하기 위한 "조인" 옵션(1612)을 포함할 수 있다. 예를 들어, 정적 미디어 풀에 대한 "조인" 옵션(1612)에 대해 "예"를 선택함으로써, 미디어 풀 애플리케이션은 정적 미디어 풀이 배치되는(예를 들어, 정적 미디어 풀의 서버가 배치되는) 통신 네트워크의 범위 내에서 전자 디바이스가 이동할 때마다 정적 미디어 풀에 자동으로 조인할 수 있다.
일부 실시예들에서, 옵션들(1604)의 리스트는 사용자가 미디어 풀을 자동으로 생성할지를 선택할 수 있게 하기 위한 "생성" 옵션(1614)을 포함할 수 있다. 일시적 미디어 풀의 "생성" 옵션(1614)에 대해 "예"를 선택함으로써, 미디어 풀 애플리케이션은 하나 이상의 조건이 충족될 때 일시적 미디어 풀을 자동으로 생성할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 전자 디바이스의 통신 네트워크 내의 하나 이상의 전자 디바이스들이 일시적 미디어 풀의 멤버들과 동일할 때를 검출할 수 있다. 다른 예로서, 미디어 풀 애플리케이션은 통신 네트워크 내의 전자 디바이스들이 일시적 미디어 풀의 미디어 아이템들과 동일한 또는 유사한 미디어 아이템들을 가질 때를 검출할 수 있다. 하나 이상의 조건을 충족하는 결과로서, 미디어 풀 애플리케이션은 일시적 미디어 풀과 동일하거나 유사할 수 있는 미디어 풀을 자동으로 생성할 수 있다.
또한, 옵션들(1604)의 리스트는 하나 이상의 "종료(TERMINATE)" 옵션들(1616 및 1618)을 포함할 수 있다. "종료" 옵션들(1616 및 1618)에 대한 값들을 선택함으로써, 사용자는 일시적 미디어 풀을 종료할 때를 선택할 수 있다. 예를 들어, 사용자가 "종료" 옵션(1616)에 대한 값을 선택하는 경우, 미디어 풀 애플리케이션은 미디어 아이템들의 수가 사용자에 의해 선택된 값 아래로 떨어질 때 일시적 미디어 풀을 종료할 수 있다. 다른 예로서, 사용자가 "종료" 옵션(1618)에 대한 값을 선택하는 경우, 미디어 풀 애플리케이션은 미디어 풀에 접속된 전자 디바이스들의 수가 사용자에 의해 선택된 값 아래로 떨어질 때 일시적 미디어 풀을 종료할 수 있다.
디스플레이 스크린(1600)은 사용자가 전자 디바이스에 저장된 미디어 풀들의 하나 이상의 구성(예를 들어, 옵션들(1602 및 1604)의 리스트들)을 삭제할 수 있게 하기 위한 "삭제" 옵션들(1620)을 포함할 수 있다. 사용자가 미디어 풀에 대한 "삭제" 옵션(1620)을 선택하는 것에 응답하여, 미디어 풀 애플리케이션은 전자 디바이스의 메모리(예를 들어, 도 3의 메모리(304))로부터 미디어 풀의 구성을 삭제할 수 있다.
도 16의 디스플레이 스크린(1600)으로부터, 사용자는 (도 16의 "뒤" 옵션(1622)을 선택함으로써) 미디어 풀 애플리케이션의 톱 레벨 메뉴를 보는 것으로 돌아가는 것을 선택할 수 있다. 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 예를 들어 디스플레이 스크린(400)(도 4)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
따라서, 도 4로 다시 돌아가면, 디스플레이 스크린(400)은 사용자가 미디어 풀 애플리케이션의 설정을 조절할 수 있게 할 수 있는 "설정" 옵션(412)을 포함할 수 있다. 사용자는 임의의 적절한 방식을 이용하여(예를 들어, "설정" 옵션(412)이 하이라이트 영역(404)에 의해 하이라이트되는 동안 클릭 휠을 클릭하는 것에 의해 또는 전자 디바이스의 터치 스크린 상에서 "설정" 옵션(412)을 선택하는 것에 의해) "설정" 옵션(412)을 선택할 수 있다. 미디어 풀 애플리케이션은 그 다음에 "설정" 옵션(412)과 연관된 디스플레이 스크린을 제공할 수 있다.
예를 들어, 도 17은 사용자에게 하나 이상의 설정 옵션을 제공하기 위한 디스플레이 스크린(1700)을 도시한다. 디스플레이 스크린(1700)은 설정 옵션들(1702)의 리스트를 포함할 수 있다. 일부 실시예들에서, 사용자는 일단 옵션이 선택되었다면(예를 들어, 일단 옵션이 하이라이트 영역(1704)에 의해 하이라이트되었다면) 클릭 휠을 회전함으로써 옵션을 변경할 수 있다. 이 기술분야의 통상의 기술자는, 설정 옵션들(1702)의 리스트가 도 17에 제공된 옵션들과 상이하거나 그에 부가적인 옵션들을 포함할 수 있다는 것을 알 것이다.
설정 옵션들(1702)의 리스트는 사용자가 미디어 풀 애플리케이션의 하나 이상의 특징의 설정들을 수정할 수 있게 할 수 있는 옵션들(1706, 1708, 1710, 1712, 및 1714)을 포함할 수 있다. 옵션(1706)은 사용자가 좋아하는 미디어 아이템을 선택할 수 있게 할 수 있다. 따라서, 일부 실시예들에서, 미디어 풀 애플리케이션은 요구가 수신될 때(예를 들어, 다른 전자 디바이스가 전자 디바이스에서의 미디어 아이템의 프리뷰를 수신하도록 요구할 때) 다른 디바이스에 좋아하는 미디어 아이템을 자동으로 전송(예를 들어, 스트리밍 또는 업로드)할 수 있다.
옵션(1708)은 사용자가 다른 미디어 소스들과 공유하기 위한 하나 이상의 미디어 아이템을 선택할 수 있게 할 수 있다. 예를 들어, 사용자는 하나 이상의 좋아하는 미디어 아이템들, 최근에 플레이된 미디어 아이템들, 최근에 구매된 미디어 아이템들, 전자 디바이스에서 미디어 라이브러리로부터 선택된 미디어 아이템들, 임의의 다른 적절한 미디어 아이템들, 및/또는 그의 임의의 결합을 공유할 수 있다. 따라서, 다른 미디어 소스가 전자 디바이스에서 미디어 아이템들을 요구할 때, 미디어 풀 애플리케이션은 사용자에 의해 선택된 미디어 아이템들만을 제공할 수 있다. 또한, 옵션(1710)은 사용자가 전자 디바이스에서 미디어 아이템들로부터 생성된 새로운 미디어 풀들의 통지를 수신할지를 선택할 수 있게 할 수 있다.
옵션(1712)은 사용자가 전자 디바이스와 동일한 통신 네트워크 내의 미디어 풀들과 미디어 아이템들(예를 들어, 옵션(1708)과 연관된 미디어 아이템들)을 자동으로 공유할지를 선택할 수 있게 할 수 있다. 따라서, 옵션(1712)의 값이 "예"로 설정되었다면, 미디어 풀 애플리케이션은 하나 이상의 액션을 자동으로 수행할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 통신 네트워크 내의 기존의 미디어 풀들에 접속하도록 자동으로 시도할 수 있다. 또한, 미디어 풀 애플리케이션은 기존의 미디어 풀들에 하나 이상의 미디어 아이템을 추가하도록 시도할 수 있다. 다른 예로서, 미디어 풀 애플리케이션은 통신 네트워크 내의 다른 전자 디바이스들을 갖는 하나 이상의 미디어 풀들을 생성하도록 시도할 수 있다. 미디어 풀과의 접속이 성공적인 경우 또는 미디어 풀을 생성하기 위한 시도가 성공적인 경우, 미디어 풀 애플리케이션은 현재 접속된 미디어 풀들의 리스트에 미디어 풀을 추가할 수 있다(예를 들어, 미디어 풀은 도 5의 디스플레이 스크린(500)에서 미디어 풀 아이콘으로서 표현될 수 있다). 따라서, 미디어 풀의 하나 이상의 미디어 소스들과의 핸드셰이킹(handshaking)은 사용자에 대한 임의의 방해들(interruptions) 없이 전자 디바이스의 백그라운드에서 수행될 수 있다.
일부 실시예들에서, 미디어 풀 애플리케이션은 앞서 형성된 플레이리스트들로부터 획득된 미디어 아이템들 및/또는 그룹화 정보와 연관된 메타데이터에 기초하여 추가할 미디어 아이템들 및/또는 생성할 미디어 풀들을 결정할 수 있다. 미디어 풀 애플리케이션은 하나 이상의 전자 디바이스들, 서버, 온라인 소스, 임의의 다른 적절한 소스, 및/또는 그의 임의의 결합에 메타데이터 및 플레이리스트들을 배치할 수 있다.
옵션(1714)은 사용자가 미디어 풀 애플리케이션에 의해 새로운 미디어 풀이 검출되었을 때 통지를 수신할지를 선택할 수 있게 할 수 있다. 예를 들어, 옵션(1714)의 값이 "예"로 설정되었다면, 미디어 풀 애플리케이션은 전자 디바이스의 통신 네트워크 내에서 새로운 미디어 풀이 검출되었을 때 사용자에게 통지를 제공할 수 있다. 또한, 전자 디바이스의 사용자가 새로운 통신 네트워크에 들어갈 때, 미디어 풀 애플리케이션은 새로운 통신 네트워크에서 검출되는 하나 이상의 미디어 풀의 통지들을 제공할 수 있다. 사용자는 따라서 하나 이상의 미디어 풀에 조인하는 것을 선택할 수 있다. 일부 실시예들에서, 옵션(1714)은 옵션(1712)의 값이 "예"로 설정될 때 불활성화될 수 있다. 마찬가지로, 옵션(1712)은 옵션(1714)의 값이 "예"로 설정될 때 불활성화될 수 있다.
디스플레이 스크린(1700)으로부터, 사용자는 (예를 들어, 도 17의 "뒤" 옵션(1716)을 선택함으로써) 미디어 풀 애플리케이션의 톱 레벨 메뉴를 보는 것으로 돌아가는 것을 선택할 수 있다. 사용자 선택을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 예를 들어, 디스플레이 스크린(400)(도 4)과 유사한 디스플레이 스크린으로 돌아갈 수 있다.
이제 도 18과 도 19a 및 19b를 참조하면, 본 발명의 다양한 실시예들에 따라 예시적인 프로세스들의 플로우챠트들이 도시된다. 프로세스들은 도 1의 클라이언트 디바이스들(104, 106, 108, 및 110) 중 임의의 것, 도 2의 전자 디바이스들(202, 204, 206 및 208) 중 임의의 것, 또는 도 3의 전자 디바이스(300)와 같은 전자 디바이스에 의해 실행될 수 있거나, 또는 단계들은 머신 판독 가능한 매체(예를 들어, 컴퓨터 판독 가능한 매체, 도 3의 메모리(304) 등)에 기록된 머신 판독 가능한 명령어들에 대응할 수 있다. 이들 프로세스들은 단지 예시라는 것을 이해해야 한다. 발명의 범위에서 벗어나지 않고 단계들 중 임의의 것이 결합, 제거, 또는 수정될 수 있고, 임의의 단계들이 추가될 수 있다.
먼저 도 18을 참조하면, 미디어 아이템들의 스트림을 제공하기 위한 예시적이 프로세스(1800)의 플로우챠트가 도시된다. 프로세스(1800)는 단계(1802)에서 시작할 수 있다. 단계(1804)에서, 미디어 풀 애플리케이션은 전자 디바이스가 접속되는 미디어 풀(예를 들어, 도 1의 미디어 풀들(116 및 118) 및 도 2의 미디어 풀들(212 및 214))을 식별할 수 있다. 예를 들어, 미디어 풀은 전자 디바이스가 배치될 수 있는 통신 네트워크(예를 들어, 도 1의 통신 네트워크(100) 및 도 2의 통신 네트워크(200))에 형성될 수 있다. 미디어 풀을 식별하는 것에 부가하여, 미디어 풀 애플리케이션은 미디어 풀을 표현하는 미디어 풀 아이콘(예를 들어, 도 5의 미디어 풀 아이콘들(502 및 504))을 디스플레이할 수 있다.
그 다음, 단계(1806)에서, 미디어 풀 애플리케이션은 미디어 풀을 듣기 위한 사용자 명령이 수신되었는지를 결정할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 풀에 대한 "듣기" 옵션(예를 들어, 도 5의 "듣기" 옵션(514))을 디스플레이할 수 있다. 미디어 풀 애플리케이션이 사용자 명령이 수신되지 않았다(예를 들어, 사용자가 "듣기" 옵션을 선택하지 않았다)고 결정하면, 프로세스(1800)는 단계(1808)에서 종료할 수 있다.
단계(1806)에서, 미디어 풀 애플리케이션은 그 대신에 미디어 풀을 듣기 위한 사용자 명령이 수신되었다(예를 들어, 사용자가 "듣기" 옵션을 선택하였다)고 결정하면, 프로세스(1800)는 단계(1810)로 이동할 수 있다.
단계(1810)에서, 미디어 풀 애플리케이션은 미디어 소스로부터 미디어 아이템의 스트림을 수신할 수 있다. 예를 들어, 미디어 소스는 전자 디바이스와 동일한 통신 네트워크 내의 다른 전자 디바이스 또는 서버일 수 있다.
그 다음, 단계(1812)에서, 미디어 풀 애플리케이션은 사용자에게 미디어 아이템의 스트림을 제공할 수 있다. 일부 실시예들에서, 사용자에게 미디어 아이템의 스트림을 제공하는 것에 부가하여, 미디어 풀 애플리케이션은 사용자에게 미디어 아이템과 연관된 정보(예를 들어, 도 6의 미디어 아이템 정보(602))를 제공할 수 있다. 그 다음, 프로세스(1800)는 단계(1808)에서 종료할 수 있다.
도 19a 및 19b는 하나 이상의 후보 미디어 풀들을 제공하기 위한 예시적인 프로세스(1900)의 플로우챠트들이다. 프로세스(1900)는 단계(1902)에서 시작할 수 있다. 단계(1904)에서, 미디어 풀 애플리케이션은 후보 미디어 풀을 보기 위한 사용자 명령이 수신되었는지를 결정할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 사용자가 하나 이상의 후보 미디어 풀들을 볼 수 있게 하기 위한 "풀 검색" 옵션(예를 들어, 도 4의 "풀 검색" 옵션(408))을 디스플레이할 수 있다. 단계(1904)에서, 미디어 풀 애플리케이션은 후보 미디어 풀을 보기 위한 사용자 명령이 수신되지 않았다고 결정하면, 프로세스(1900)는 단계(1906)에서 종료할 수 있다.
단계(1904)에서, 미디어 풀 애플리케이션은 그 대신에 후보 미디어 풀을 보기 위한 사용자 명령이 수신되었다(예를 들어, 사용자가 "풀 검색" 옵션을 선택하였다)고 결정하면, 프로세스(1900)는 단계(1908)로 이동할 수 있다. 단계(1908)에서, 미디어 풀 애플리케이션은 전자 디바이스가 배치되는 통신 네트워크에 후보 미디어 풀을 배치할 수 있다.
단계(1910)로 계속하면, 미디어 풀 애플리케이션은 후보 미디어 풀이 하나의 전자 디바이스만을 포함하는지를 결정할 수 있다. 단계(1910)에서, 미디어 풀 애플리케이션은 후보 미디어 풀이 하나의 전자 디바이스만을 포함하지 않는다고 결정하면, 프로세스(1900)는 단계(1912)로 이동할 수 있다.
단계(1912)에서, 미디어 풀 애플리케이션은 후보 미디어 풀에 조인할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 미디어 풀 애플리케이션들의 하나 이상의 옵션들의 값에 기초하여 후보 미디어 풀에 자동으로 조인할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 자동 조인 옵션(예를 들어, 도 16의 "조인" 옵션(1612))의 값이 "예"로 설정되었다고 결정할 수 있다. 다른 예로서, 미디어 풀 애플리케이션은 하나 이상의 사용자 명령들을 수신하는 것에 응답하여 후보 미디어 풀에 조인할 수 있다(예를 들어, 사용자는 도 12의 "조인" 옵션(1206)과 같은 "조인" 옵션을 선택하였을 수 있다). 프로세스(1900)는 그 다음에 단계(1906)에서 종료할 수 있다.
다시 단계(1910)를 참조하면, 미디어 풀 애플리케이션이 그 대신에 후보 미디어 풀이 하나의 전자 디바이스만을 포함한다고 결정하면, 프로세스(1900)는 단계(1914)로 이동할 수 있다. 단계(1914)에서, 미디어 풀 애플리케이션은 후보 미디어 풀의 전자 디바이스를 갖는 미디어 풀을 형성하기 위한 옵션을 제공할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 "풀 형성" 옵션(예를 들어, "풀 형성" 옵션(1218))을 디스플레이할 수 있다.
그 다음, 단계(1916)에서, 미디어 풀 애플리케이션은 옵션의 사용자 명령이 수신되었는지를 결정할 수 있다. 단계(1916)에서, 미디어 풀 애플리케이션이 옵션의 사용자 명령이 수신되지 않았다고 결정하면, 프로세스(1900)는 단계(1906)에서 종료할 수 있다.
단계(1916)에서, 미디어 풀 애플리케이션이 그 대신에 옵션의 사용자 명령이 수신되었다고 결정하면, 프로세스(1900)는 단계(1918)로 이동할 수 있다. 단계(1918)에서, 미디어 풀 애플리케이션은 부가적인 후보 미디어 풀을 생성할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 전자 디바이스의 제1 미디어 아이템 및 후보 미디어 풀의 전자 디바이스의 제2 미디어 아이템과 연관된 메타데이터에 기초하여 부가적인 후보 미디어 풀을 생성할 수 있다.
단계(1920)로 계속하면, 미디어 풀 애플리케이션은 부가적인 후보 미디어 풀로부터 미디어 풀을 생성하기 위한 사용자 명령이 수신되었는지를 결정할 수 있다. 예를 들어, 미디어 풀 애플리케이션은 사용자에게 하나 이상의 생성 옵션들(예를 들어, 도 14의 "서버에서 생성" 옵션(1410) 및 "디바이스에서 생성" 옵션(1412))을 제공할 수 있다. 단계(1920)에서, 미디어 풀 애플리케이션이 사용자 명령이 수신되지 않았다고 결정하면, 프로세스(1900)는 단계(1906)에서 종료할 수 있다.
단계(1920)에서, 미디어 풀 애플리케이션이 그 대신에 사용자 명령이 수신되었다고 결정하면, 프로세스(1900)는 단계(1922)로 갈 수 있다. 단계(1922)에서, 미디어 풀 애플리케이션은 미디어 풀을 생성할 수 있다. 예를 들어, "서버에서 생성" 옵션의 사용자 명령을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 통신 네트워크의 서버에서 미디어 풀을 생성할 수 있다. 다른 예로서, "디바이스에서 생성" 옵션의 사용자 명령을 수신하는 것에 응답하여, 미디어 풀 애플리케이션은 전자 디바이스 자체에서 미디어 풀을 생성할 수 있다. 프로세스(1900)는 그 다음에 단계(1906)에서 종료할 수 있다.
설명된 발명의 실시예들은 한정이 아닌 예시의 목적으로 제공된다.

Claims (1)

  1. 명세서 또는 도면에 기재된 방법 및 장치.
KR1020127011138A 2009-10-01 2010-09-30 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들 KR101384452B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/571,920 US20110082902A1 (en) 2009-10-01 2009-10-01 Systems and methods for providing media pools in a communications network
US12/571,920 2009-10-01
PCT/US2010/050897 WO2011041537A1 (en) 2009-10-01 2010-09-30 Systems and methods for providing media pools in a communications network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127011355A Division KR20120054662A (ko) 2009-10-01 2010-09-30 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들

Publications (2)

Publication Number Publication Date
KR20120059642A true KR20120059642A (ko) 2012-06-08
KR101384452B1 KR101384452B1 (ko) 2014-04-10

Family

ID=43066685

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127011355A KR20120054662A (ko) 2009-10-01 2010-09-30 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들
KR1020127011138A KR101384452B1 (ko) 2009-10-01 2010-09-30 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127011355A KR20120054662A (ko) 2009-10-01 2010-09-30 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들

Country Status (6)

Country Link
US (2) US20110082902A1 (ko)
EP (2) EP3291111A1 (ko)
KR (2) KR20120054662A (ko)
CN (1) CN102640147B (ko)
AU (1) AU2010300578B2 (ko)
WO (1) WO2011041537A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8642872B2 (en) * 2008-03-03 2014-02-04 Microsoft Corporation Music steering with automatically detected musical attributes
JP6053787B2 (ja) * 2011-08-03 2016-12-27 アマゾン テクノロジーズ インコーポレイテッド ローカルに記憶されたデータファイルに関連付けられたトランザクションデータの収集
US10706096B2 (en) 2011-08-18 2020-07-07 Apple Inc. Management of local and remote media items
US20140074924A1 (en) * 2012-09-12 2014-03-13 Nokia Corporation Methods, apparatuses and computer program products for providing a multi-user entertainment system with centralized playlist management for networked media sources
US10102543B2 (en) 2013-10-10 2018-10-16 Elwha Llc Methods, systems, and devices for handling inserted data into captured images
US10013564B2 (en) 2013-10-10 2018-07-03 Elwha Llc Methods, systems, and devices for handling image capture devices and captured images
US10346624B2 (en) 2013-10-10 2019-07-09 Elwha Llc Methods, systems, and devices for obscuring entities depicted in captured images
US20150104004A1 (en) 2013-10-10 2015-04-16 Elwha Llc Methods, systems, and devices for delivering image data from captured images to devices
US9799036B2 (en) 2013-10-10 2017-10-24 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy indicators
US10185841B2 (en) * 2013-10-10 2019-01-22 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy beacons
US20150106957A1 (en) * 2013-10-10 2015-04-16 Elwha Llc Methods, systems, and devices for facilitating viable distribution of data collected by wearable computation
US9710559B2 (en) 2014-06-10 2017-07-18 Aol Inc. Systems and methods for optimizing the selection and display of electronic content
KR102297477B1 (ko) * 2015-02-17 2021-09-02 삼성전자주식회사 파일 다운로드 방법 및 장치
US10097632B2 (en) * 2016-01-08 2018-10-09 International Business Machines Corporation Proximity based playlist merging
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US10860383B2 (en) * 2018-09-05 2020-12-08 Dell Products L.P. Multiple console environment
US10977306B2 (en) * 2019-01-10 2021-04-13 Marcelo Alonso MEJIA COBO Systems and methods of playing media files
CN110262877B (zh) * 2019-04-30 2022-05-13 华为技术有限公司 一种卡片处理方法及设备
KR20220027295A (ko) 2019-05-31 2022-03-07 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11095735B2 (en) 2019-08-06 2021-08-17 Tealium Inc. Configuration of event data communication in computer networks
US11146656B2 (en) 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
CN112231336B (zh) * 2020-07-17 2023-07-25 北京百度网讯科技有限公司 识别用户的方法、装置、存储介质及电子设备
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8931010B2 (en) * 2002-11-04 2015-01-06 Rovi Solutions Corporation Methods and apparatus for client aggregation of media in a networked media system
US7496647B2 (en) * 2002-12-11 2009-02-24 Broadcom Corporation Personal inter-home media exchange network
CN1291572C (zh) * 2003-04-30 2006-12-20 北京盈美高科数字媒体网络科技有限公司 一种媒体内容分布的方法及其系统
US8069255B2 (en) * 2003-06-18 2011-11-29 AT&T Intellectual Property I, .L.P. Apparatus and method for aggregating disparate storage on consumer electronics devices
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
GB0322697D0 (en) * 2003-09-27 2003-10-29 Hewlett Packard Development Co Method of transferring data from a memory tag to another device and apparatus for reading data from memory tags
US7668939B2 (en) * 2003-12-19 2010-02-23 Microsoft Corporation Routing of resource information in a network
US20050286546A1 (en) * 2004-06-21 2005-12-29 Arianna Bassoli Synchronized media streaming between distributed peers
US20070112784A1 (en) * 2004-11-17 2007-05-17 Steven Blumenau Systems and Methods for Simplified Information Archival
US20060143236A1 (en) * 2004-12-29 2006-06-29 Bandwidth Productions Inc. Interactive music playlist sharing system and methods
US20070214182A1 (en) * 2005-01-15 2007-09-13 Outland Research, Llc Establishment-based media and messaging service
US20070048714A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US7925973B2 (en) * 2005-08-12 2011-04-12 Brightcove, Inc. Distribution of content
US9467322B2 (en) * 2005-12-27 2016-10-11 Rovi Solutions Corporation Methods and apparatus for integrating media across a wide area network
US8706159B2 (en) * 2006-01-03 2014-04-22 Apple Inc. Media data transfer
WO2007110865A1 (en) * 2006-03-27 2007-10-04 Rayv Inc. Realtime media distribution in a p2p network
US8656431B2 (en) * 2006-07-10 2014-02-18 Mark A. Cavicchia Global interactive program guide application and device
US9318152B2 (en) * 2006-10-20 2016-04-19 Sony Corporation Super share
US8706777B2 (en) * 2006-12-18 2014-04-22 Microsoft Corporation Media content catalogs
US20080263449A1 (en) * 2007-04-20 2008-10-23 Microsoft Corporation Automated maintenance of pooled media content
US9047235B1 (en) * 2007-12-28 2015-06-02 Nokia Corporation Content management for packet-communicating devices
US8285811B2 (en) * 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections to provide a primary list and sorted sub-lists
US8285810B2 (en) * 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
US8224899B2 (en) * 2008-04-17 2012-07-17 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US20100153578A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US20100070537A1 (en) * 2008-09-17 2010-03-18 Eloy Technology, Llc System and method for managing a personalized universal catalog of media items
US20100070490A1 (en) * 2008-09-17 2010-03-18 Eloy Technology, Llc System and method for enhanced smart playlists with aggregated media collections
EP2347383A4 (en) * 2008-10-14 2012-10-03 Hewlett Packard Development Co AGGREGATING MEDIA CONTENT FROM SEVERAL CLIENTS TO A SERVER
US9078284B2 (en) * 2008-12-31 2015-07-07 Airvana Lp Personal access point media server
US8200602B2 (en) * 2009-02-02 2012-06-12 Napo Enterprises, Llc System and method for creating thematic listening experiences in a networked peer media recommendation environment
CN102449658A (zh) * 2009-03-18 2012-05-09 踏途音乐公司 娱乐服务器及相关的社交网络系统
US8516071B2 (en) * 2009-06-03 2013-08-20 Qualcomm Incorporated Systems and methods for creating virtual universal plug-and-play systems
US9912568B2 (en) * 2009-06-24 2018-03-06 Provenance Asset Group Llc Method and apparatus for handling broken path in peer-to-peer network

Also Published As

Publication number Publication date
EP3291111A1 (en) 2018-03-07
EP2483808A1 (en) 2012-08-08
US20110082902A1 (en) 2011-04-07
KR101384452B1 (ko) 2014-04-10
CN102640147A (zh) 2012-08-15
WO2011041537A1 (en) 2011-04-07
US20150288769A1 (en) 2015-10-08
AU2010300578B2 (en) 2013-09-26
AU2010300578A1 (en) 2012-05-24
CN102640147B (zh) 2015-03-18
KR20120054662A (ko) 2012-05-30

Similar Documents

Publication Publication Date Title
KR101384452B1 (ko) 통신 네트워크에서 미디어 풀들을 제공하기 위한 시스템들 및 방법들
US11416118B2 (en) Method and apparatus for providing recommendations to a user of a cloud computing service
US20200201596A1 (en) Method and system for playback of audio content using wireless mobile device
US8732180B2 (en) Recommending media items
US8429109B2 (en) Segmented graphical representations for recommending elements
US20140344692A1 (en) Auto-Station Tuning
US20130268593A1 (en) Determining music in social events via automatic crowdsourcing
US9537913B2 (en) Method and system for delivery of audio content for use on wireless mobile device
US20130007208A1 (en) Method and Apparatus for Transferring Digital Content between Mobile Devices Using a Computing Cloud
JP2015111423A (ja) 受信方法及びクライアント機器に受信方法を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US11386138B2 (en) Media content selected from listening history of social connections
JP2009277338A (ja) メディアファイルの自動選択
JP2007011928A (ja) コンテンツ提供システム、コンテンツ提供装置、コンテンツ配信サーバ、コンテンツ受信端末およびコンテンツ提供方法
US11914839B2 (en) Controlling automatic playback of media content
US20220188350A1 (en) Graphical user interface for dynamically creating and adjusting playlists
US20230114681A1 (en) User interface for media content playback
JP5418546B2 (ja) コンテンツ提供システムおよびコンテンツ受信端末

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 4