KR20090060331A - 미디어 라이브러리를 수정하는 시스템 및 방법 - Google Patents

미디어 라이브러리를 수정하는 시스템 및 방법 Download PDF

Info

Publication number
KR20090060331A
KR20090060331A KR1020097007036A KR20097007036A KR20090060331A KR 20090060331 A KR20090060331 A KR 20090060331A KR 1020097007036 A KR1020097007036 A KR 1020097007036A KR 20097007036 A KR20097007036 A KR 20097007036A KR 20090060331 A KR20090060331 A KR 20090060331A
Authority
KR
South Korea
Prior art keywords
media
electronic device
client electronic
user
data file
Prior art date
Application number
KR1020097007036A
Other languages
English (en)
Other versions
KR101433402B1 (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 KR20090060331A publication Critical patent/KR20090060331A/ko
Application granted granted Critical
Publication of KR101433402B1 publication Critical patent/KR101433402B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 방법, 컴퓨터 프로그램 제품 및 클라이언트 전자 디바이스에 관한 것이다. 클라이언트 전자 디바이스의 사용자로부터 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 추가할 것을 요청하는 사용자 요청 명령이 수신된다. 수신된 요청 명령에 대한 응답으로 무선 미디어 데이터 파일을 정의하기 위하여 미디어 라이브러리 파일이 수정된다.
Figure P1020097007036
미디어 라이브러리, 무선 미디어 데이터 파일, 클라이언트 전자 디바이스

Description

미디어 라이브러리를 수정하는 시스템 및 방법{System and method for modifying a media library}
본 발명은 미디어 라이브러리 파일에 관한 것으로서, 더욱 상세하게는 무선 미디어 컨텐츠를 정의하기 위하여 수정된 미디어 라이브러리 파일에 관한 것이다.
미디어 제공 시스템(Media Distribution Systems)(예를 들면, 리얼네트워크사(RealNetworks, Inc. of Seattle, WA)에 의하여 제공되는 랩소디)은 미디어 서버로부터 사용자의 클라이어트 전자 디바이스(예를 들면, PMP(Personal Media Player), PDA(Personal Digital Assistant) 또는 멀티미디어 휴대 전화)로 미디어 데이터 파일을 제공한다. 미디어 제공 시스템은 사용자가 예를 들면 다운로드된 미디어 데이터 파일 및/또는 스트림 원격 미디어 데이터 파일을 수신하도록 함으로써 미디어 데이터 파일을 제공할 수 있다.
사용자에게 미디어 데이터 파일을 스트림으로 제공할 때, 사용자는 적어도 하나 이상의 스트림 미디어 데이터 파일을 그 미디어 라이브러리 파일 안에 정의함으로써 정의된 미디어 데이터 파일의 계속적인 재생을 요구할 수 있다.
본 출원은 2006년 9월 8일 출원된 "미디어 라이브러리를 수정하는 시스템 및 방법"이라는 제목의 미국 가출원 60/843,166을 참조 문헌으로 하여 여기에 통합되는 다음 출원의 이익을 주장한다.
본 발명의 일 실시예에 따른 방법은 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 단계를 포함한다. 클라이언트 전자 디바이스의 사용자로부터 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 추가할 것을 요청하는 사용자 요청 명령이 수신된다. 수신된 요청 명령에 대한 응답으로 무선 미디어 데이터 파일을 정의하기 위하여 미디어 라이브러리 파일이 수정된다.
본 발명은 적어도 하나 이상의 다음 특징을 포함할 수 있다. 미디어 라이브러리 파일은 클라이언트 전자 디바이스의 저장 디바이스에 저장될 수 있다. 사용자의 요청 명령은 미디어 라이브러리 파일의 수정 전에 확인될 수 있다. 사용자의 요청 명령이 의도된 것임을 확인하는 단계는 클라이언트 전자 디바이스의 디스플레이 패널상에 확인 스크린을 렌더링하는 단계를 포함한다.
원격 미디어 제공 시스템은 라이브러리 관리 API를 통하여 통신할 수 있다. 미디어 라이브러리 파일을 수정하는 단계는 무선 미디어 데이터 파일의 복사본을 획득하는 단계 및 획득된 무선 미디어 데이터 파일의 복사본을 로컬상에서 클라이언트 전자 디바이스에 저장하는 단계를 포함한다. 미디어 라이브러리 파일을 수정하는 단계는 무선 미디어 데이터 파일을 사용자에 의하여 접속 가능한 클라이언트 전자 디바이스의 메모리 위치로 이동시키는 단계 및 사용자에 의하여 접속 가능한 클라이언트 전자 디바이스의 메모리 위치로의 포인터를 포함하도록 미디어 라이브러리 파일을 수정하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 컴퓨터 프로그램 제품은 복수 개의 명령을 저장하는 컴퓨터 판독 매체에 수록된다. 프로세서에 의하여 실행되는 경우, 명령은 프로세서로 하여금 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 단계를 포함하는 동작을 수행하도록 한다. 클라이언트 전자 디바이스의 사용자로부터 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 추가할 것을 요청하는 사용자 요청 명령이 수신된다. 수신된 요청 명령에 대한 응답으로 무선 미디어 데이터 파일을 정의하기 위하여 미디어 라이브러리 파일이 수정된다.
본 발명은 적어도 하나 이상의 다음 특징을 포함할 수 있다. 미디어 라이브러리 파일은 클라이언트 전자 디바이스의 저장 디바이스에 저장될 수 있다. 사용자의 요청 명령은 미디어 라이브러리 파일을 수정하기 전에 확인될 수 있다. 사용자의 요청 명령이 의도된 것임을 확인하는 단계는 클라이언트 전자 디바이스의 디스플레이 패널상에 확인 스크린을 렌더링하는 단계를 포함한다.
원격 미디어 제공 시스템은 라이브러리 관리 API를 통하여 통신할 수 있다. 미디어 라이브러리 파일을 수정하는 단계는 무선 미디어 데이터 파일의 복사본을 획득하는 단계 및 무선 미디어 데이터 파일의 획득된 복사본을 로컬상에서 클라이언트 전자 디바이스에 저장하는 단계를 포함한다. 미디어 라이브러리 파일을 수정하는 단계는 무선 미디어 데이터 파일을 사용자에 의하여 접속 가능한 클라이언트 전자 디바이스의 메모리 위치로 이동시키는 단계 및 사용자에 의하여 접속 가능한 클라이언트 전자 디바이스의 메모리 위치로의 포인터를 포함하도록 미디어 라이브러리 파일을 수정하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 클라이언트 전자 디바이스는 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 단계를 포함하는 동작을 수행한다. 미디어 라이브러리 파일에 무선 미디어 데이터 파일을 추가할 것을 요청하는 사용자의 요청 명령은 클라이언트 전자 디바이스를 통해 사용자로부터 수신된다. 수신된 요청 명령에 대한 응답으로 무선 미디어 데이터 파일을 정의하기 위하여 미디어 라이브러리 파일이 수정된다.
본 발명은 적어도 하나 이상의 다음 특징을 포함할 수 있다. 미디어 라이브러리 파일은 클라이언트 전자 디바이스의 저장 디바이스에 저장될 수 있다. 사용자의 요청 명령은 미디어 라이브러리 파일을 수정하기 전에 확인될 수 있다. 사용자의 요청 명령이 의도된 것임을 확인하는 단계는 클라이언트 전자 디바이스의 디스플레이 패널상에 확인 스크린을 렌더링하는 단계를 포함한다.
원격 미디어 제공 시스템은 라이브러리 관리 API를 통하여 통신할 수 있다. 미디어 라이브러리 파일을 수정하는 단계는 무선 미디어 데이터 파일의 복사본을 획득하는 단계 및 무선 미디어 데이터 파일의 획득된 복사본을 로컬상에서 클라이언트 전자 디바이스에 저장하는 단계를 포함한다. 미디어 라이브러리 파일을 수정하는 단계는 무선 미디어 데이터 파일을 사용자에 의하여 접속 가능한 클라이언트 전자 디바이스의 메모리 위치로 이동시키는 단계 및 사용자에 의하여 접속 가능한 클라이언트 전자 디바이스의 메모리 위치로의 포인터를 포함하도록 미디어 라이브러리 파일을 수정하는 단계를 포함할 수 있다.
기타 적어도 하나 이상의 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
도 1은 본 발명의 실시예에 따른 분산 컴퓨팅 네트워크에 연결된 미디어 제공 시스템, 클라이언트 어플리케이션, 프록시 어플리케이션 및 개인 미디어 디바이스를 나타낸 개념도이다.
도 2는 도 1의 개인 미디어 디바이스에 대한 도면이다.
도 3은 도 1의 개인 미디어 디바이스의 개념도이다.
도 4는 도 1의 미디어 제공 시스템에서의 데이터 교환을 나타낸 개념도이다.
도 5는 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 6은 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 7은 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 8은 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 9는 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 10은 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 11은 도 1의 미디어 제공 시스템에 의하여 실행되는 과정을 나타낸 흐름도이다.
도 12는 도 1의 개인 미디어 디바이스를 나타낸 도면이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
시스템 개요:
도 1을 참조하면, 예를 들면 개인 미디어 디바이스(12)(및 사용자(14))로 하여금 미디어 제공 시스템(18)로부터 미디어 컨텐츠(16)을 획득할 수 있도록 하는 API(Application Programming Interface)(10)를 나타내고 있다. 미디어 컨텐츠(16)은 예를 들면, 주지의 압축 기술을 이용하여 압축될 수 있는 디지털 인코딩된 오디오 및/또는 비디오 미디어 데이터 파일일 수 있다. 그러한 압축 기술로는 ISO(International Standards Organization) 및 MPEG(Motion Picture Experts Group)에서 발표된 MPEG-1, MPEG-2, MPEG-4, H.263, H.264, AAC(Advanced Audio Coding) 및 그 외 다른 기술이 포함될 수 있으나, 이에 한정되지는 않는다.
미디어 제공 시스템(18)으로부터 획득된 미디어 컨텐츠(16)의 포맷은 예를 들면 다음을 포함한다: 미디어 제공 시스템(18)으로부터 수신된 구입된 다운로드 파일(즉, 영구적으로 사용자(14)에게 사용이 허가된 미디어 컨텐츠); 미디어 제공 시스템(18)으로부터 수신된 기간 예약 다운로드 파일(즉, 미디어 제공 시스템(18) 에 존재하는 유효한 기간동안 사용자(14)에게 사용이 허가된 미디어 컨텐츠); 및 미디어 제공 시스템(18)으로부터 스트림으로 수신된 미디어 컨텐츠. 일반적으로, 미디어 컨텐츠가 예를 들면, 컴퓨터(28)로부터 개인 미디어 디바이스(12)로 스트림 전송되는 경우, 미디어 컨텐츠의 복사본은 영구적으로 개인 미디어 디바이스(12)에 보관되지 않는다. 미디어 컨텐츠는 미디어 제공 시스템(18)뿐만 아니라 다른 소스(source) 예를 들면, 음악 컴팩트 디스크로부터 분리된 파일로부터 획득될 수 있으나, 이에 한정되지는 않는다.
미디어 제공 시스템(18)에 의하여 제공되는 미디어 컨텐츠(16)의 종류는 예를 들면 다음을 포함한다: 오디오 미디어 데이터 파일(예를 들면, 음악 파일, 오디오 뉴스 방송, 오디오 스포츠 방송 및 도서의 오디오 기록을 포함하나 이에 한정되지 않음); 비디오 미디어 데이터 파일(예를 들면, 음향을 포함하지 않는 비디오 풋티지(video footage)를 포함하나 이에 한정되지 않음); 오디오/비디오 미디어 데이터 파일(예를 들면, A/V 뉴스 방송, A/V 스포츠 방송, 장편 영화 및 무비 클립(movie clip), 음악 비디오 및 텔레비전 쇼의 에피소드를 포함하나 이에 한정되지 않음); 및 멀티미디어 컨텐츠 미디어 데이터 파일(예를 들면, 양방향 프리젠테이션(interactive presentation) 및 슬라이드 쇼를 포함하나 이에 한정되지 않음).
미디어 제공 시스템(18)은 복수의 사용자(예를 들면, 사용자(14, 20, 22, 24, 26))에게 미디어 데이터 스트림 및/또는 미디어 데이터 파일을 제공할 수 있다. 이와 같은 미디어 제공 시스템(18)의 예로는 리얼네트워크사(RealNetworks, Inc. of Seattle, WA)에 의하여 제공되는 랩소디가 포함된다.
미디어 제공 시스템(18)은 네트워크(30)(예를 들면, 인터넷)에 연결된 컴퓨터(28)(예를 들면, 서버 컴퓨터)에 존재하여 실행되는 서버 어플리케이션일 수 있다. 컴퓨터(28)는 네트워크 운영 체계를 실행하는 웹 서버일 수 있는 것으로서, 예를 들면 마이크로 소프트 윈도우 XP 서버(Microsoft Windows XP Server), 노벨 넷웨어(Novell Netware) 또는 레드햇 리눅스(Redhat Linux)일 수 있으나 이에 한정되지 않는다.
컴퓨터(28)는 웹 서버 어플리케이션을 실행할 수 있는데, 웹 서버 어플리케이션은 예를 들면 컴퓨터(28)로 하여금 네트워크(30)를 통하여 HTTP(HyperText Transfer Protocol) 접속을 허용하도록 하는 마이크로소프트 IIS(Microsoft IIS), 노벨 웹서버(Novell Webserver) 또는 아파치 웹서버(Apache Webserver)를 포함하나 이에 한정되지 않는다. 네트워크(30)는 근거리 지역 네트워크(local area network), 광역 네트워크(wide area network) 또는 인트라넷과 같은 적어도 하나 이상의 보조 네트워크(예를 들면, 네트워크(32))에 연결될 수 있다.
컴퓨터(28)에 커플링된 저장 디바이스(34)에 저장된 미디어 제공 시스템(18) 및 API(10)의 명령 셋 및 서브루틴은 컴퓨터(28)에 구비된 적어도 하나 이상의 프로세서(미도시) 및 적어도 하나 이상의 메모리 구조(미도시)에 의하여 실행될 수 있다. 또한, 미디어 제공 시스템(18)에 의한 유효한 미디어 데이터 파일은 예를 들면, 컴퓨터(28)에 부착된 저장 디바이스(34)에 저장될 수 있다. 저장 디바이스(34)는 하드 디스크 드라이브, 테이프 드라이브, 광 드라이브, RAID(Redundant Array of Inexpensive Disks) 어레이, RAM(Random Access Memory) 또는 ROM(Real-Only Memory)를 포함하나 이에 한정되지는 않는다.
사용자(14, 20, 22, 24, 26)는 예를 들면, 네트워크(30) 및/또는 보조 네트워크(32)를 통하여 미디어 제공 시스템(18)에 접속할 수 있다. 또한, 컴퓨터(28)(즉, 미디어 제공 시스템(18)을 실행한 컴퓨터)는 점선(36)에 도시된 바와 같이 보조 네트워크(32)를 통하여 네트워크(30)에 연결될 수 있다.
미디어 제공 시스템(18)은 직접 또는 프록시 컴퓨터를 통하여 접속할 수 있다. 예를 들면, 사용자(20, 24, 26)는 다양한 클라이언트 전자 디바이스 예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42), 텔레비전(미도시), 케이블 박스(미도시), 인터넷 무선 기기(미도시) 또는 전용 네트워크 디바이스(예를 들면, Roku Soundbridge M500, M1000 및 M2000)(미도시)를 통하여 미디어 제공 시스템(18)에 접속할 수 있다. 또한, 미디어 제공 시스템(18)은 클라이언트 컴퓨터(44)를 통하여 접속될 수 있다.
또한, 미디어 제공 시스템(18)에 직접 접속한 디바이스는 네트워크(30 또는 32)에 직접 커플링될 수 있다. 예를 들면, 클라이언트 컴퓨터(44)는 고정된 네트워크 연결을 통하여 네트워크(30)에 직접 커플링된 것을 나타낸다. 또한, 클라이언트 컴퓨터(44)는 클라이언트 어플리케이션(46)(예를 들면, 마이크로소프트사의 마이크로소프트 인터넷 익스플로러, 넷스케이프 네비게이터, 리얼네트워크사(RealNetworks, Inc. of Seattle, WA)의 랩소디 클라이언트 및 리얼플레이어 클라이언트 또는 특수 인터페이스를 포함하나 이에 한정되지 않음)을 실행하여 사용자(22)로 하여금 네트워크(30 또는 32)를 통하여 미디어 제공 시스템(18)에 접속하 여 설정할 수 있도록 한다. 클라이언트 컴퓨터(44)는 운영 체계 예를 들면, 마이크로소프트 윈도우 XP 또는 레드햇 리눅스를 실행할 수 있다.
클라이언트 컴퓨터(44)에 커플링된 저장 디바이스(48)에 저장된 클라이언트 어플리케이션(46)의 명령 셋 및 서브루틴은 클라이언트 컴퓨터(44)에 구비된 적어도 하나 이상의 프로세서(미도시) 및 적어도 하나 이상의 메모리 구조(미도시)에 의하여 실행될 수 있다. 저장 디바이스(48)는 하드 디스크 드라이브, 테이프 드라이브, 광 드라이브, RAID(Redundant Array of Inexpensive Disks) 어레이, RAM(Random Access Memory) 또는 ROM(Real-Only Memory)를 포함하나 이에 한정되지는 않는다.
또한, 미디어 제공 시스템(18)에 직접 접속한 디바이스는 네트워크(30 또는 32)에 간접적으로 커플링될 수 있다. 예를 들면, 개인 미디어 디바이스(38)는 개인 미디어 디바이스(38) 및 네트워크(30)에 직접 연결된 무선 액세스 포인트(즉, WAP)(52)간에 형성된 무선 통신 채널(50)을 통하여 네트워크(30)에 무선으로 커플링된다. WAP(52)는 예를 들면, 개인 미디어 디바이스(38)과 WAP(52)간에 통신 채널(50)을 형성할 수 있는 IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, 및/또는 블루투스(Bluetooth) 디바이스일 수 있다.
본 발명의 분야에서 주지된 바와 같이, IEEE 802.11x 표준은 경로 공유를 위하여 이더넷(Ethernet) 프로토콜 및 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)를 이용할 수 있다. 다양한 802.11x 표준은 PSK(Phase-Shift Keying) 변조 또는 CCK(Complementary Code Keying) 변조를 이용할 수 있다. 본 발 명의 분야에서 주지된 바와 같이, 블루투스는 휴대 전화, 컴퓨터 및 PDA가 근거리 무선 연결을 이용하여 상호 연결할 수 있도록 하는 전자 통신 산업 표준이다.
또한, PDA(40)는 네트워크(30)에 직접 연결된 이동 통신/네트워크 브리지(cellular/network bridge)(54)를 통하여 네트워크(30)에 무선으로 연결되는 것을 나타내며, 휴대 전화(42)는 이동 통신 브리지(cellular/network bridge)(56)를 통하여 네트워크(32)에 무선으로 연결되는 것을 나타낸다.
미디어 제공 시스템(18)에 직접 접속하는 것뿐만 아니라, 클라이언트 전자 디바이스는 프록시 컴퓨터를 통하여 미디어 제공 시스템(18)에 간접적으로 접속할 수 있다. 예를 들면, 개인 미디어 디바이스(12)는 프록시 컴퓨터(58)을 통하여 미디어 제공 시스템(18)에 접속하는 것을 나타낸다. 프록시 컴퓨터(58)는 프록시 어플리케이션(59)을 실행하는데, 이는 클라이언트 어플리케이션(46)의 기능과 유사한 기능을 가질 수 있다.
클라이언트 전자 디바이스:
전술한 바와 같이, 본 발명의 실시예에 따른 클라이언트 전자 디바이스는 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42)를 포함할 수 있다. 따라서, 이하에 설명하는 개인 미디어 디바이스(12, 38)는 PDA(40), 휴대 전화(42), 텔레비전(미도시), 케이블 박스(미도시), 인터넷 무선 기기(미도시) 및 전용 네트워크 디바이스(미도시)를 포함하는 클라이언트 전자 디바이스로 이해될 수 있다.
도 2에 대하여 설명하면, 개인 미디어 디바이스(12, 38)은 도킹 크래들(docking cradle)(60)을 통하여 프록시 컴퓨터(58)에 연결될 수 있다. 일반적으 로, 개인 미디어 디바이스(12, 38)는 개인 미디어 디바이스(12, 38)을 도킹 크래들(60)에 커플링시키는 버스 인터페이스를 포함한다. 버스 인터페이스에 대한 자세한 설명은 후술하기로 한다. 도킹 크래들(60)은 케이블(62)과 함께 예를 들면, 프록시 컴퓨터(58)에 내장된 USB(Universal Serial Bus) 포트, 직렬 포트 또는 IEEE 1394(즉, FireWire) 포트에 커플링될 수 있다. 예를 들면, 개인 미디어 디바이스(12, 38)에 내장된 버스 인터페이스는 USB 인터페이스일 수 있으며, 도킹 크래들(60)은 USB 허브의 역할을 수행할 수 있는 것이다. 즉, 플러그-앤-플레이 인터페이스는 개인 미디어 디바이스(12, 38) 및 도킹 크래들(60)의 핫(hot) 커플링 및 언커플링을 지원하는 것이다.
프록시 컴퓨터(58)는 개인 미디어 디바이스(12, 38)에 대한 인터넷 게이트웨이의 역할을 수행할 수 있다. 예를 들면, UPnP(Universal Plug and Play Protocol)를 이용하여, 개인 미디어 디바이스(12, 38)는 네트워크(30)를 통하여 미디어 제공 시스템(18)에 접속하여 미디어 컨텐츠(16)를 획득하기 위하여 프록시 컴퓨터(58)를 이용할 수 있다. 특히, 개인 미디어 디바이스(12, 38)로부터 미디어 제공 시스템(18)에 대한 요청 명령을 수신함에 따라, 개인 미디어 디바이스(12, 38)에 대한 인터넷 클라이언트의 역할을 수행하는 프록시 컴퓨터(58)는 컴퓨터(28)로부터 적절한 웹 페이지/서비스를 요청할 수 있다. 즉, 컴퓨터는 미디어 제공 시스템(18)을 실행하는 것이다. 요청된 웹 페이지/서비스가 프록시 컴퓨터(58)로 반환되는 경우, 프록시 컴퓨터(58)는 반환된 웹 페이지/서비스를 개인 미디어 디바이스(12, 38)에 의하여 신청된 원본 요청과 연관시키고, 웹 페이지/서비스를 개인 미디어 디바이 스(12, 38)로 전달할 수 있다. 이에 따라, 프록시 컴퓨터(58)는 개인 미디어 디바이스(12, 38)를 컴퓨터(28) 및 미디어 제공 시스템(18)에 커플링시키는 선로의 역할을 수행할 수 있다.
도 3에 대하여 설명하면, 이는 개인 미디어 디바이스(12, 38)의 개념도를 나타낸다. 개인 미디어 디바이스(12,38)는 마이크로 프로세서(150)(예를 들면, 인텔사(Intel Corporation of Santa Clara, California)에 의하여 생산되는 ARM 마이크로프로세서), 비휘발성 메모리(예를 들면, ROM(152)), 및 휘발성 메모리(예를 들면, RAM(154))를 포함할 수 있는데, 각 모듈은 적어도 하나 이상의 데이터/시스템 버스(156, 158)를 통하여 상호 연결될 수 있다. 또한, 개인 미디어 디바이스(12, 38)는 예를 들면, 아날로그 오디오 신호를 헤드폰 어셈블리(164), 원격 스피커 어셈블리(166) 또는 이어폰 어셈블리(168)의 착탈 가능한 오디오 잭(162)으로 제공하기 위한 오디오 서브시스템(160)을 포함할 수 있다. 또한, 개인 미디어 디바이스(12, 38)는 적어도 하나 이상의 내부 오디오 스피커(미도시)를 포함하도록 구성될 수 있다.
개인 미디어 디바이스(12, 38)는 디바이스 어플리케이션(64)(예를 들면, 랩소디 클라이언트, 리얼플레이어 클라이언트 또는 특수 인터페이스를 포함하나 이에 한정되지 않음)를 실행할 수 있다. 개인 미디어 디바이스(12, 38)는 운영 체계(예를 들면, 마이크로소프트 윈도우 CE, 레드햇 리눅스, 팜(Palm) OS, 또는 디바이스 전용(즉, 커스텀) 운영 체계를 포함하나 이에 한정되지 않음)를 실행할 수 있다.
개인 미디어 디바이스(12, 38)에 커플링된 저장 디바이스(66)에 저장된 디바 이스 어플리케이션(64)의 명령 셋 및 서브루틴은 개인 미디어 디바이스(12, 38)에 구비된 적어도 하나 이상의 프로세서(미도시) 및 적어도 하나 이상의 메모리 구조(미도시)에 의하여 실행될 수 있다. 저장 디바이스(66)는 예를 들면, 하드 디스크 드라이브, 광 드라이브, RAM(Random Access Memory), ROM(Real-Only Memory), CF(Compact Flash) 카드, SD(Secure Digital) 카드, SM(SmartMedia) 카드, 메모리 스틱 및 MultiMedia 카드를 포함하나 이에 한정되지는 않는다.
개인 미디어 디바이스(12, 38)는 사용자 인터페이스(170) 및 디스플레이 서브시스템(172)를 포함할 수 있다. 사용자 인터페이스(170)는 개인 미디어 디바이스(12, 38)에 포함된 다양한 입력 디바이스(예를 들면, 등급(rating) 스위치 (74, 76), 후진 스킵(backward skip) 스위치(78), 전진 스킵(forward skip) 스위치(80), 재생/일시정지(play/pause) 스위치(82), 메뉴 스위치(84), 라디오(radio) 스위치(86) 및 슬라이더(slider) 어셈블리(88)를 포함하나 이에 한정되지 않음)로부터 데이터 신호를 수신할 수 있다. 디스플레이 서브시스템(172)는 개인 미디어 디바이스(12, 38)에 포함된 디스플레이 패널(90)에 디스플레이 신호를 제공할 수 있다. 디스플레이 패널(90)은 예를 들면, 액티브 매트릭스 LCD(Liquid Crystal Display) 패널, 패시브 매트릭스 LCD 패널 또는 LED(Light Emitting Diode) 디스플레이 패널일 수 있다.
오디오 서브시스템(160), 사용자 인터페이스(170) 및 디스플레이 서브시스템(172) 각각은 적어도 하나 이상의 데이터/시스템 버스(174, 176, 178)을 통하여 마이크로 프로세서(150)에 커플링될 수 있다.
개인 미디어 디바이스(12, 38)을 사용하는 도중에 디스플레이 패널(90)은 예를 들면, 개인 미디어 디바이스(12, 38)에 저장된 미디어 컨텐츠(92, 94, 96)의 다양한 부분에 대한 타이틀 및 아티스트를 디스플레이할 수 있다. 슬라이더 어셈블리(88)는 개인 미디어 디바이스(12, 38)에 저장된 미디어 컨텐츠의 리스트를 상하로 스크롤하는데 이용될 수 있다. 미디어 컨텐츠의 요청된 부분이 하이라이트(예를 들면, "Taj Mahal"의 "Phantom Blues")된 경우, 사용자(14)는 전진 스킵 스위치(80)를 이용하여 미디어 컨텐츠의 다음 부분(예를 들면, "Robert Johnson"의 "Happy To Be Just?quot;)으로 스킵 전진할 수 있고, 후진 스킵 스위치(78)를 이용하여 미디어 컨텐츠의 이전 부분(예를 들면, "Leroy Brownstone"의 "Big New Orleans?quot;)로 스킵 후진할 수 있다. 또한, 사용자(14)는 등급 스위치(74, 76)를 이용하여 미디어 컨텐츠를 청취용으로 설정할 수 있다.
사용자는 예를 들면, 슬라이더 어셈블리(88)와 연결된 디스플레이 패널(90)을 이용하여 개인 미디어 디바이스(12, 38)에 저장된 미디어 컨텐츠 및/또는 미디어 제공 시스템(18)에 의하여 유효한 미디어 컨텐츠를 검색/열람할 수 있다. 예를 들면, 검색 스크린(100)을 렌더링하기 위하여, 사용자는 슬라이더 어셈블리(88)를 눌러 고정시킬 수 있는 것이다. 검색 스크린(100)은 아티스트(artist) 필드(102), 앨범(album) 필드(104) 및 트랙(track) 필드(106)을 포함할 수 있다. 슬라이더 어셈블리(88)를 사용함에 있어서, 사용자는 필드(102, 104, 106)를 전환하고, 적절한 필드에 적절한 검색 용어를 입력할 수 있다. 예를 들면, 사용자는 아티스트 필드(102)에 "Robert Johnson" 구문을 입력할 수 있는 것이다. 필드(102)가 선택된 경우, 슬라이더 어셈블리(88)는 적절한 문자를 입력하는데 이용될 수 있다. 예를 들면, 사용자는 슬라이더 어셈블리(88)를 위쪽 또는 아래쪽으로 움직임에 따라 필드간을 이동할 수 있으며, 슬라이더 어셈블리(88)를 누름에 따라 특정 필드가 선택되도록 할 수 있다. 일단 필드가 선택되면, 사용자는 슬라이더 어셈블리(88)의 위쪽 또는 아래쪽 이동하면서 적절한 문자를 선택할 수 있으며, 슬라이더 어셈블리(88)를 누름에 따라 문자가 선택된다. 또한, 개인 미디어 디바이스(12, 38)는 전체 또는 부분 키보드(미도시)를 포함하도록 구성될 수 있다. 일단 검색 용어가 정의되면, 사용자는 "검색" 버튼(108) 또는 "취소" 버튼(110)을 선택할 수 있다.
전술한 바와 같이, 개인 미디어 디바이스(12, 38)는 예를 들면, 도킹 크래들(60)을 통하여 프록시 컴퓨터(58)에 인터페이스하기 위한 버스 인터페이스(180)를 포함할 수 있다. 또한, 전술한 바와 같이 개인 미디어 디바이스(12, 38)는 예를 들면, 개인 미디어 디바이스(12, 38) 및 WAP(52)간에 형성된 무선 통신 채널(50)을 통하여 네트워크(30)(및/또는 다른 개인 미디어 디바이스)에 무선으로 커플링될 수 있다. 따라서, 개인 미디어 디바이스(12, 38)는 네트워크(30 또는 32) 및/또는 다른 개인 미디어 디바이스에 무선으로 커플링하는 무선 인터페이스(182)를 포함할 수 있다. 무선 인터페이스(182)는 예를 들면, WAP(52)과의 무선 통신을 위하여 안테나 어셈블리(184)과 커플링될 수 있으며, 예를 들면, 제 2 개인 미디어 디바이스와의 적외선 통신을 위하여 IR(infrared) 통신 어셈블리(186)과 커플링될 수 있다. 또한, 전술한 바와 같이 개인 미디어 디바이스(12, 28)는 디바이스 어플리케이션(64)의 명령 셋 및 서브루틴을 저장하기 위한 저장 디바이스(66)를 포함할 수 있 다. 또한, 저장 디바이스(66)는 미디어 제공 시스템(18)으로부터 다운로드된 미디어 데이터 파일을 저장하고, 미디어 제공 시스템(18)으로부터 스트림으로 제공된 미디어 데이터 스트림(또는 그 부분)을 임시로 저장하는데 이용될 수 있다.
저장 디바이스(66), 버스 인터페이스(180) 및 무선 인터페이스(182)는 각각 적어도 하나 이상의 데이터/시스템 버스(188, 190, 192)를 통하여 마이크로 프로세서(150)에 커플링될 수 있다.
전술한 바와 같이, 미디어 제공 시스템(18)은 사용자(14, 20, 22, 24, 26)에게 미디어 컨텐츠를 제공하는데, 제공된 미디어 컨텐츠는 미디어 데이터 스트림 및/또는 미디어 데이터 파일의 형태일 수 있다.
따라서, 미디어 제공 시스템(18)은 사용자에 의한 미디어 데이터 파일의 다운로드만을 허용하도록 구성될 수 있다. 예를 들면, 사용자(20)는 미디어 제공 시스템(18)으로부터 미디어 데이터 파일(예를 들면, MP3 인코더 또는 AAC 인코더를 이용하여 인코딩되고 압축된 오디오 파일 또는 디지털 비디오 인코딩된 파일을 포함하나 이에 한정되지 않음)을 다운로드할 수 있는데, 미디어 데이터 파일의 복사본은 개인 미디어 디바이스(38)로 전송된다.
또한, 미디어 제공 시스템(18)은 사용자로 하여금 미디어 데이터 파일의 미디어 데이터 스트림을 수신하고 처리하는 것을 허용하도록 구성될 수 있다. 예를 들면, 사용자(24)는 미디어 제공 시스템(18)으로부터 수신된 미디어 데이터 스트림을 (PDA(40)상에서) 수신하고 처리할 수 있다. 전술한 바와 같이, 미디어 컨텐츠가 예를 들면, 컴퓨터(28)에서 PDA(40)으로 스트림 전송된 경우, 미디어 데이터 파일 의 복사본은 PDA(40)에 영구적으로 보존되지 않을 수 있다.
또한, 미디어 제공 시스템(18)은 사용자로 하여금 미디어 데이터 스트림을 수신하고 처리하는 것을 허용하고, 미디어 데이터 파일을 다운로드하는 것을 허용하도록 구성될 수 있다. 이와 같은 미디어 제공 시스템은 리얼네트워크사(RealNetworks, Inc. of Seattle, WA)에 의하여 제공되는 랩소디 서비스를 포함한다. 이에 따라, 사용자(26)는 디지털 인코딩된 미디어 데이터 파일을 다운로드하고, 미디어 제공 시스템(18)으로부터 미디어 데이터 스트림을 수신하여 처리할 수 있다. 따라서, 미디어 데이터 파일의 복사본은 컴퓨터(28)에서 휴대 전화(42)로 전송될 수 있으며, 휴대 전화(42)는 컴퓨터(28)로부터 미디어 데이터 파일의 스트림을 수신할 수 있다.
직접 접속:
전술한 바와 같이, 미디어 제공 시스템(18)은 직접 접속되거나 프록시 컴퓨터를 통하여 접속될 수 있다. 예를 들면, 사용자(20, 24, 26)는 다양한 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42), 텔레비전(미도시), 케이블 박스(미도시), 인터넷 무선 기기(미도시) 또는 전용 네트워크 디바이스(미도시)를 포함하나 이에 한정되지 않음)를 통하여 미디어 제공 시스템(18)에 직접 접속할 수 있다.
미디어 제공 시스템(18)에 직접 접속한 경우, 표준 프로토콜이 이용될 수 있다. 예를 들면, SOAP(Simple Object Access Protocol)이 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42)를 미디어 제공 시스템(18)과 커플링하는데 이용될 수 있는 것이다.
본 발명의 분야에서 주지된 바와 같이, SOAP 프로토콜은 XML(eXtensible Markup Language) 메시지가 컴퓨터 네트워크(예를 들면, 네트워크(30, 32))간에 교환되도록 할 수 있다. 이러한 메시지는 HTTP(HyperText Transfer Protocol)를 이용하여 교환될 수 있다.
SOAP는 RPC(Remote Procedure Protocol) 프로세스를 이용할 수 있는데, 여기서 제 1 네트워크 노드(예를 들면, 개인 미디어 디바이스(38))는 또 다른 네트워크 노드(예를 들면, 컴퓨터(28))로 요청 메시지를 송신하고, 제 2 네트워크 노드(예를 들면, 컴퓨터(28))는 제 1 네트워크 노드(예를 들면, 개인 미디어 디바이스(38))로 응답 메시지를 송신한다. 이상은 시스템이 SOAP를 이용하는 것으로 기재되어 있으나, 기재된 범위에 포함되는 또 다른 구성도 가능하며 고려될 수 있음은 물론이다. 예를 들면, JSON(Java Script Object Notation), REST(Representational State Transfer) 및 XML-RPC(eXtensible Markup Language Remote Procedure Protocol)과 같은 다른 프로토콜이 이용될 수 있다.
어플리케이션 프로그래밍 인터페이스(API):
도 4 및 5를 설명하면, 전술한 바와 같이 미디어 제공 시스템(18)은 SOAP를 통하여 컴퓨터(28)와 개인 미디어 디바이스(38), PDA(40) 및 휴대 전화(42)간의 통신을 가능하게 하는 API(10)를 포함할 수 있다. 미디어 제공 시스템(18)/API(10)는 디바이스 어플리케이션(64)에 포함된 적어도 하나 이상의 클라이언트 스텁(stub)(202)과 상호 작용하기 위하여 적어도 하나 이상의 서버 스텁(200)을 포함 할 수 있는데, 이에 대한 자세한 설명은 후술하기로 한다.
API(10)는 다른 컴퓨터 프로그램(예를 들면, 디바이스 어플리케이션(64))에 의한 미디어 제공 시스템(18)을 위한 인터페이스로서의 역할을 수행할 수 있는데, 이는 다른 컴퓨터 프로그램(예를 들면, 디바이스 어플리케이션(64))에 의하여 미디어 제공 시스템(18)에 대한 서비스 요청의 생성을 허용하고, 미디어 제공 시스템(18)으로부터 데이터가 추출되는 것을 허용하며, 미디어 제공 시스템(18)으로 데이터를 제공하는 것을 허용한다.
API(10)는 디바이스 어플리케이션(64)이 (미디어 제공 시스템(18)에 포함된) 기능의 소스 코드로의 접속을 허용하지 않거나 (미디어 제공 시스템(18)에 포함된) 기능의 내부 동작에 대한 세부 사항을 요청하면서 (미디어 제공 시스템(18)에 포함된) 기능의 셋에 접속하는 방법을 설명할 수 있다.
전술한 바와 같이, 미디어 제공 시스템(18)은 (다운로드 또는 스트림의 형태로)미디어 데이터 파일(204)를 예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42)와 같은 클라이언트 전자 디바이스로 제공할 수 있다. 또한, 미디어 제공 시스템(18)은 미디어 데이터 파일(204)을 인덱싱하는 파일 카탈로그(206)를 유지하여 사용자로 하여금 미디어 제공 시스템(18)을 통한 미디어 데이터 파일(204)의 검색/열람이 가능하도록 할 수 있다. 파일 카탈로그(206)는 컴퓨터(28)에 커플링된 저장 디바이스(34)상에 유지될 수 있다. 미디어 데이터 파일(204) 및/또는 파일 카탈로그(206)는 미디어 저장소(207)에 포함될 수 있다. 일 예로서, 미디어 저장소(207)는 Oracle 데이터베이스, IBM DB2 데이터베이스, Sybase 데이터베 이스, Computer Associates 데이터베이스 또는 Microsoft Access 데이터베이스와 같은 데이터 베이스를 포함할 수 있다.
API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42))의 사용자로 하여금 파일 카탈로그(206)를 열람/검색(250)할 수 있도록 하고, 복수 개의 미디어 데이터 파일(204)에서 선택된 적어도 하나 이상의 미디어 데이터 파일을 확인(252)할 수 있는데, 이에 대한 자세한 설명은 후술하기로 한다. 또한, API(10)는 표준 프로토콜을 이용하여 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42))로부터 데이터 요청을 수신(254)하며, 수신된 데이터 요청에 대한 응답으로 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42))에게 제 3 기업(third party)에서 사용 가능한 포맷으로 데이터를 제공(256)하도록 구성될 수 있다.
클라이언트 전자 디바이스 설정:
클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42))가 미디어 제공 시스템(18)에 직접 접속하도록 설정하는 경우, 두 개의 디바이스(예를 들면, 클라이언트 전자 디바이스 및 컴퓨터(28))간에 표준 프로토콜이 형성될 수 있다. 전술한 바와 같이, 일 실시예에 따른 표준 프로토콜은 SOAP일 수 있다. 일단 표준 프로토콜이 형성되면 디바이스들은 서로 통신할 수 있으며, 저장 디바이스(34)에 존재하는 적어도 하나 이상의 WSDL(Web Services Description Language)(208)은 클라이언트 전자 디바이스에 의하여 처리되어 요청 된 클라이언트 스텁(예를 들면, 클라이언트 스텁(202))을 자동으로 생성할 수 있다.
WSDL(208)은 클라이언트 디바이스가 웹 서비스와 통신할 수 있는 방법을 기술한 서비스 기술(service description)(전형적 XML)이다. 예를 들면, WSDL(208)은 디바이스 어플리케이션(64)(즉, 클라이언트 전자 디바이스)가 미디어 제공 시스템(18)/API(10)과 통신하기 위한 방법을 기술할 수 있다. 또한, WSDL(208)은 미디어 제공 시스템(18)과 상호 동작하는데 필요한 예를 들면, 프로토콜 바인딩 및 메시지 포맷을 정의할 수 있다. 일반적으로, 지원되는 동작 및 메시지는 개념적으로 기술되어 네트워크 프로토콜(예를 들면, SOAP)에 바인딩된다. 따라서, WSDL(208)은 미디어 제공 시스템(18)을 위한 공공 인터페이스를 정의할 수 있다.
따라서, 클라이언트 전자 디바이스가 미디어 제공 시스템(18)을 직접 접속하도록 설정하는 경우, 컴퓨터(28)(예를 들면, 미디어 제공 시스템(18)을 실행하는 컴퓨터)와 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42))간에 (표준 프로토콜을 이용하여) 일단 통신이 형성되면, 클라이언트 전자 디바이스는 (컴퓨터(28)로부터) 적어도 하나 이상의 WSDL(208)을 획득하고 처리하여 클라이언트 전자 디바이스가 접속하고자 하는 서비스/기능을 위한 적절한 클라이언트 스텁(예를 들면, 클라이언트 스텁(202))을 생성할 수 있다.
WSDL을 생성하는 경우, WSDL이 설정되는(클라이언트 스텁이 생성되는) 방법은 프로그래머의 의도에 따라 달라질 수 있다. 예를 들면, 단일 WSDL이 미디어 제 공 시스템(18)의 모든 서비스/기능에 대한 클라이언트 스텁을 생성하도록 디자인될 수 있다. 또한, 미디어 제공 시스템(18)상에서 사용 가능한 각각의 서비스/기능을 위한 별개의 WSDL이 구성될 수도 있다. 예를 들면, 제 1 WSDL은 미디어 제공 시스템(18)의 계정 관리 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있고, 제 2 WSDL은 미디어 제공 시스템(18)의 라이브러리 관리 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있고, 제 3 WSDL은 미디어 제공 시스템(18)의 메타데이터 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있고, 제 4 WSDL은 미디어 제공 시스템(18)의 재생 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있으며, 제 5 WSDL은 미디어 제공 시스템(18)의 검색 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있다.
일단 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 및 휴대 전화(42))가 미디어 제공 시스템(18)의 다양한 서비스/기능으로 접속하도록 하는 적절한 클라이언트 스텁(예를 들면, 클라이언트 스텁(208))이 생성되면, 클라이언트 전자 디바이스는 표준 프로토콜을 이용하여 예를 들면, 파일 카탈로그(206) 열람/검색(250), 복수 개의 미디어 데이터 파일(204)에서 적어도 하나 이상의 미디어 데이터 파일 확인(252), 데이터 요청 수신(254)을 수행할 수 있으며, 수신된 데이터 요청에 대한 응답으로 제 3 기업(third party)에서 사용 가능한 포맷으로 클라이언트 전자 디바이스에게 데이터를 제공(256)할 수 있다. 미디어 제공 시스템(18)에 의한 다양한 종류의 서비스/기능의 예로는 검색 서비스/기능, 계정 관리 서비스/기능, 재생 서비스/기능, 메타데이터 서비스/기능 및 라이브러리 서비스/기능을 포함한다.
RPC 통신:
전술한 바와 같이, SOAP는 RPC(Remote Procedure Protocol) 프로세스를 이용할 수 있는데, 여기서 제 1 네트워크 노드(예를 들면, 개인 미디어 디바이스(38))는 요청 메시지를 다른 네트워크 노드(예를 들면, 컴퓨터(28))로 송신하고, 제 2 네트워크 노드(예를 들면, 컴퓨터(28))는 응답 메시지를 제 1 네트워크 노드(예를 들면, 개인 미디어 디바이스(38))로 송신한다.
RPC 프로세스는 일반적으로 클라이언트 측(예를 들면, 디바이스 어플리케이션(64))에서 시작된다. 전술한 바와 같이, 디바이스 어플리케이션(64)은 미디어 제공 시스템(18)의 다양한 서비스/기능으로 접속하도록 하기 위하여 생성된 클라이언트 스텁(202)을 호출할 수 있다. 일반적으로, 서비스/기능을 실행하는 코드를 보관하는 대신에, 클라이언트 스텁(202)은 디바이스 어플리케이션(64)에서 필요한 파라미터를 추출하여 클라이언트 런타임 라이브러리(runtime library)(210)에게 제공할 수 있다. 디바이스 어플리케이션(64)으로부터 획득된 파라미터는 예를 들면, 파일 카탈로그(202)를 열람/검색(250) 시에 사용되는 검색 용어를 정의하고, 다운로드를 위한 적어도 하나 이상의 미디어 데이터 파일(200)을 확인(252)하고, 컴퓨터(28)간에 메타데이터를 요청하거나 송신하고, 사용자 라이브러리에 정보를 입력하거나 사용자 라이브러리에서 정보를 삭제하며, 기간 예약 계정(subscription account)을 셋업(set up)하거나 취소할 수 있다.
클라이언트 런타임 라이브러리(210)는 (디바이스 어플리케이션(64)으로부터 획득된) 파라미터를 NDR(Network Data Representation)으로 포맷된 메시지(212)로 변환한다. 메시지(212)는 네트워크(30, 32)를 통하여 표준 프로토콜(214)(예를 들면, SOAP)를 이용하여 컴퓨터(28)(예를 들면, 미디어 제공 시스템(18)을 실행하는 컴퓨터)로 전송될 수 있다. 클라이언트 런타임 라이브러리(210)는 클라이언트 스텁(202)의 기능을 지원하는 루틴의 객체 라이브러리일 수 있다.
컴퓨터(28)가 클라이언트 전자 디바이스로부터 NDR 메시지(212)를 수신(254)하는 경우, 서버 런타임 라이브러리(216)는 NDR 메시지(212)를 허용하고 서버 스텁(200)을 호출할 수 있다. 서버 스텁(200)은 메시지(212)에 포함된 파라미터를 추출하고, 네트워크 전송 포맷(예를 들면, NDR 포맷)에서 컴퓨터(28)에 의하여 사용 가능한 포맷으로 변환할 수 있다. 일단 변환되면, 서버 스텁(200)은 미디어 제공 시스템(18)의 요청된 서비스/기능을 호출할 수 있다.
일단 미디어 제공 시스템(18)의 요청된 서비스/기능이 실행되면, 적어도 하나 이상의 출력 파라미터가 (컴퓨터(28)상에서) 생성될 수 있다. 미디어 제공 시스템(18)에 의하여 생성된 출력 파라미터는 예를 들면, 검색 결과를 정의하거나, 다운로드 요청의 수신을 승인하거나, 메타데이터 수신을 승인할 수 있다.
서버 런타임 라이브러리(216)는 (미디어 제공 시스템(18)에 의하여 생성된) 출력 파라미터를 NDR 포맷 메시지(218)로 변환한다. 메시지(218)는 네트워크(30, 32)를 통하여 (표준 프로토콜(220)(예를 들면, SOPA)를 이용하여) 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40) 또는 휴대 전화(42))로 제공(256)될 수 있다. 서버 런타임 라이브러리(216)는 서버 스텁(200)의 기능을 지원하는 루틴의 객체 라이브러리일 수 있다.
클라이언트 전자 디바이스가 컴퓨터(28)로부터 NDR 메시지(218)를 수신하는 경우, 클라이언트 런타임 라이브러리(210)는 NDR 메시지(218)를 허용하고 클라이언트 스텁(202)을 호출할 수 있다. 클라이언트 스텁(202)은 메시지(218)에 포함된 출력 파라미터를 추출하여 네트워크 전송 포맷(예를 들면, NDR 포맷)에서 클라이언트 전자 디바이스에 의하여 사용 가능한 포맷으로 변환할 수 있다.
전술한 바와 같이, 클라이언트 전자 디바이스로 제공되는 데이터는 제 3 기업에 의하여 사용 가능한 포맷(예를 들면, 제 3 기업의 어플리케이션에 의하여 사용 가능한 표준화된 포맷)으로 제공될 수 있다. 일 예로, 그 포맷은 XML일 수 있다. 따라서, 적어도 하나 이상의 메시지(212, 218)는 다양한 어플리케이션(예를 들면, 웹 브라우저)에 의하여 처리 가능한 XML 기반의 메시지일 수 있다.
특수 API:
전술한 바와 같이, WSDL을 생성하는 경우, WSDL이 설정되는(클라이언트 스텁이 생성되는) 방법은 프로그래머의 의도에 따라 달라질 수 있다. 예를 들면, 미디어 제공 시스템(18)상에서 사용 가능한 각각의 서비스/기능을 위한 별개의 WSDL이 구성될 수도 있다. 따라서, 제 1 WSDL은 미디어 제공 시스템(18)의 계정 관리 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있고, 제 2 WSDL은 미디어 제공 시스템(18)의 라이브러리 관리 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있고, 제 3 WSDL은 미디어 제공 시스템(18)의 메타데이터 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있고, 제 4 WSDL은 미디 어 제공 시스템(18)의 재생 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있으며, 제 5 WSDL은 미디어 제공 시스템(18)의 검색 서비스/기능을 위한 클라이언트 스텁을 생성하도록 구성될 수 있다.
계정 관리 API:
도 6을 참조하여 설명하면, API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 복수 개의 미디어 데이터 파일(예를 들면, 미디어 데이터 파일(204)) 중 선택된 적어도 하나 이상의 미디어 데이터 파일에 접속(300)하도록 하는 계정 관리 API로 구성될 수 있다. 계정 관리 API는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 미디어 제공 시스템(18)에 연관된 적어도 하나 이상의 기간 예약 계정을 관리(302)하도록 할 수 있다.
미디어 제공 시스템(18)은 사용자(예를 들면, 사용자(20, 24, 26))가 미디어 제공 시스템(18)에 기간 예약하고 미디어 제공 시스템(18)으로의 접속을 허용하도록 하는 예를 들면, 월별 예약 요금을 지불하는 기간 예약 기반 서비스일 수 있다.
일단 사용자(예를 들면, 사용자(20, 24, 26))가 미디어 제공 시스템(18)에 기간 예약하면, 사용자는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42), 텔레비전(미도시), 케이블 박스(미도시), 인터넷 무선 기기(미도시) 또는 전용 네트워크 디바이스(미도시)를 포함하나 이에 한정되지 않음)를 이용하여 미디어 컨텐츠(예를 들면, 미디어 데이터 파일(204))를 획 득할 수 있다.
전술한 바와 같이, 미디어 제공 시스템(18)으로부터 획득된 미디어 컨텐츠(16)의 포맷은 다음과 같은 형태일 수 있다: 미디어 제공 시스템(18)으로부터 수신된 구입된 다운로드 파일(즉, 영구적으로 사용자(20, 24, 26)에게 사용이 허가된 미디어 컨텐츠); 미디어 제공 시스템(18)으로부터 수신된 기간 예약 다운로드 파일(즉, 미디어 제공 시스템(18)에 존재하는 유효한 기간동안 사용자(20, 24, 26)에게 사용이 허가된 미디어 컨텐츠); 및 미디어 제공 시스템(18)으로부터 스트림으로 수신된 미디어 컨텐츠.
일반적으로, 미디어 제공 시스템(18)에 접속하는 경우, 사용자(20, 24, 26)는 미디어 제공 시스템(18)에게 사용자(예를 들면, 사용자(20, 24, 26)) 및/또는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))를 식별하기 위한 사용자 "증명서"의 제공을 요청받을 수 있다. 이러한 증명서를 수신함에 따라, 미디어 제공 시스템(18)은 증명서를 검증하여, 만일 검증된 경우 허용된 사용자(20, 24, 26) 및/또는 디바이스(38, 40, 42)가 미디어 제공 시스템(18)에 접속하도록 할 수 있다. 미디어 제공 시스템(18)에 의하여 수신되고 검증된 증명서는 사용자 이름, 사용자 암호, 사용자 키, 디바이스 이름, 디바이스 암호, 디바이스 키 및/또는 적어도 하나 이상의 디지털 인증서를 포함할 수 있으나, 이에 한정되지 않는다.
클라이언트 전자 디바이스를 초기 설정하는 경우, 사용자에게 미디어 제공 시스템(18)으로의 시험 버전(trial subscription)이 허용되어 사용자로 하여금 무 료로 서비스를 시험해볼 수 있도록 할 수 있다. 따라서, 계정 관리 API(예를 들면, API(10))는 시험 버전의 생성을 허용하도록 구성될 수 있다. 한편, 이러한 시험 버전은 제한된 기간(예를 들면, 한 달) 또는 제한된 사용(예를 들면, 25회의 재생/다운로드)이 제공될 수 있다. 따라서, API(10)는 시험 버전의 만료 날짜/시간을 모니터링하도록 구성될 수 있으며, 만료 날짜/시간이 발생한 경우(또는 만료 날짜/시간에 임박한 경우) API(10)는 시험 버전을 지불 버전(paid-for subscription)으로 전환하도록 하는 옵션을 사용자(예를 들면, 사용자(20, 24, 26))에게 제공할 수 있다. 이러한 제안은 예를 들면, 디스플레이 패널(90)(도 2)을 통하여 사용자에게 제공될 수 있다. 제안이 허용된 경우, 사용자는 추가적인 정보(예를 들면, 지불 정보)를 제공하도록 요청될 수 있다.
다른 계정 관리 서비스/기능은 계정 관리 API(예를 들면, API(10))를 통하여 사용자에게 유효하도록 구성될 수 있다. 예를 들면, API(10)는 사용자로 하여금 미디어 제공 시스템(18)의 새로운 지불 버전을 생성하도록 하고, 미디어 제공 시스템(18)에 기 존재하는 지불 버전을 갱신하고, 미디어 제공 시스템(18)의 시험 버전을 취소하며, 미디어 제공 시스템(18)에서 지불 버전을 취소하도록 할 수 있다.
라이브러리 관리 API:
도 7을 참조하여 설명하면, API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 복수 개의 미디어 데이터 파일(예를 들면, 미디어 데이터 파일(204)) 중 적어도 하나 이상의 미디어 데이터 파일에 접속(350)하도록 하는 라이브러리 관리 API로 구성될 수 있다. 라이브러리 관리 API는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 미디어 제공 시스템(18)에 연관된 적어도 하나 이상의 미디어 라이브러리를 관리(352)하도록 할 수 있다.
클라이언트 전자 디바이스(개인 미디어 디바이스(38), PDA(40), 휴대 전화(42), 텔레비전(미도시), 케이블 박스(미도시), 인터넷 무선 기기(미도시) 또는 전용 네트워크 디바이스(미도시)를 포함하나 이에 한정되지 않음)를 사용하는 도중, 클라이언트 전자 디바이스에 렌더링되는 미디어 컨텐츠 항목(예를 들면, 미디어 데이터 파일(204))은 모니터되어 클라이언트 전자 디바이스상에서 렌더링되는 미디어 컨텐츠 항목의 시퀀스(sequence)를 결정하는 미디어 히스토리 파일(112)를 컴파일하는데 사용될 수 있다. 일반적으로, 미디어 히스토리 파일(112)은 로컬상에서 유지(예를 들면, 클라이언트 전자 디바이스의 메모리에 유지)되나, 미디어 히스토리 파일(112)는 원격 미디어 히스토리 파일(112')로서 선택적/추가적으로 원격으로 유지(예를 들면, 컴퓨터(28)에 유지)될 수 있다.
클라이언트 전자 디바이스를 통하여, 사용자(예를 들면, 사용자(20, 24, 26))는 플레이 리스트(playlist)로서 미디어 히스토리 파일(112, 112')(또는, 그 부분)를 저장할 수 있다. 일 예로서, 플레이 리스트는 미디어 제공 시스템(18)이 순서대로 렌더링하는 미디어 컨텐츠 항목(예를 들면, 스트림 예약 트랙 및 앨범, 다운로드된 예약 트랙 및 앨범, 구입/일부 제거된 트랙)의 그룹을 포함할 수 있다. 이는 사용자로 하여금 (복수 개의 플레이 리스트의 형태로) 커스텀 음악 편집을 가 능하게 할 수 있다.
라이브러리 관리 API(예를 들면, API(10))는 클라이언트 전자 디바이스의 사용자로 하여금 미디어 제공 시스템(18)에 연관된 적어도 하나 이상의 미디어 라이브러리 파일(예를 들면, 라이브러리 파일(114, 114')를 관리(352)하도록 할 수 있다. 플레이 리스트와 마찬가지로, 미디어 라이브러리 파일(114, 114')은 각각의 미디어 컨텐츠 아이템(예를 들면, 스트림 예약 트랙 및 앨범, 다운로드된 예약 트랙 및 앨범, 구입/일부 제거된 트랙)에 대한 그룹핑, 정의 및/또는 위치 확인을 수행할 수 있다. 일반적으로, 미디어 라이브러리 파일(114)은 로컬상에서 유지(예를 들면, 클라이언트 전자 디바이스의 메모리에 유지)되나, 미디어 라이브러리 파일(114)은 원격 미디어 라이브러리 파일(114')로서 선택적/추가적으로 원격으로 유지(예를 들면, 컴퓨터(28)에 유지)될 수도 있다.
다른 라이브러리 관리 서비스/기능은 라이브러리 관리 API(예를 들면, API(10))를 통하여 사용자(예를 들면, 사용자(20, 24, 26))에게 유효하도록 구성될 수 있다. 예를 들면, API(10)는 사용자로 하여금 라이브러리 파일(예를 들면, 라이브러리 파일(114, 114'))를 정의하고, 라이브러리 파일을 저장하고, 라이브러리 파일을 삭제하고, 라이브러리 파일을 수정하고, 라이브러리 파일을 (미디어 제공 시스템(18)의 다른 사용자와 함께) 공유하며, 라이브러리 파일을 (미디어 제공 시스템(18)의 다른 사용자가 볼 수 있도록) 배포하도록 할 수 있다.
메타데이터 API:
도 8을 참조하여 설명하면, API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 복수 개의 미디어 데이터 파일(예를 들면, 미디어 데이터 파일(204)) 중 선택된 적어도 하나 이상의 미디어 데이터 파일에 접속(400)하도록 하는 메타데이터 API로 구성될 수 있다. 메타데이터 API는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 적어도 하나 이상의 검색 용어를 정의(402)하도록 할 수 있다. 적어도 하나 이상의 검색 용어에 기반하여, 복수 개의 미디어 데이터 파일의 최소한의 부분에 대한 질의(query)가 실행(404)될 수 있다. 결과 셋이 생성(406)되고, 결과 셋의 부분이 사용자(예를 들면, 사용자(20, 24, 26))에게 디스플레이(408)될 수 있는데, 그 부분은 전체 결과 셋보다 작을 수 있다.
전술한 바와 같이, 미디어 제공 시스템(18)은 사용자(예를 들면, 사용자(20, 24, 26)에게 미디어 데이터 스트림 및/또는 미디어 데이터 파일을 제공할 수 있다. 메타데이터는 미디어 제공 시스템(18)에 의하여 제공된 각각의 미디어 데이터 스트림 및/또는 미디어 데이터 파일과 연관될 수 있다. 이러한 메타데이터는 아티스트 식별자, 앨범 식별자, 트랙 식별자, 앨범 표지 이미지, 음악 장르 식별자 및 우선 순위 등급을 포함할 수 있으나, 이에 한정되지는 않는다. 음악 장르 식별자의 예로서 "락", "블루스", "클래식", "고전" 및 "힙합"을 포함할 수 있으나, 이에 한정되지 않는다. 우선 순위 등급의 예로서 숫자 1-10을 포함할 수 있다. 따라서, #1인 우선 순위 등급은 매우 영향력 있는/유명한 아티스트를 나타내고, #10인 우선 순위 등급은 영향력 없는/유명하지 않은 아티스트를 나타낸다. 우선 순위 등급은 편집되어 결정될 수 있는데, 그 등급은 미디어 제공 시스템(18)의 직원에 의하여 정의될 수 있다. 선택적으로/추가적으로, 우선 순위 등급은 통계적으로 결정될 수도 있는데, 예를 들면 트랙 또는 아티스트가 (사용자에 의하여) 렌더링된 횟수가 아티스트의 우선 순위 등급을 결정할 수 있다.
전술한 바와 같이, 클라이언트 전자 디바이스의 사용자(예를 들면, 사용자(20, 24, 26))는 개인 미디어 디바이스(12, 38)에 저장된 미디어 컨텐츠 및/또는 미디어 제공 시스템(18)에 의하여 유효한 미디어 컨텐츠를 검색/열람하기 위하여 예를 들면, 슬라이더 어셈블리(88)에 연결된 검색 스크린(100)을 이용할 수 있다. 검색 스크린(100)은 아티스트 필드(102), 앨범 필드(104) 및 트랙 필드(106)뿐만 아니라 장르(genre) 필드(116) 및 우선 순위(priority) 필드(118)를 포함할 수 있다. 슬라이더 어셈블리(88)를 이용함에 따라, 사용자는 필드(102, 104, 106, 116, 118)간을 전환할 수 있고, 적절한 필드에 적절한 검색 용어를 입력할 수 있다.
메타데이터 API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 예를 들면, 필드(102, 104, 106, 116, 118)에 포함된 적어도 하나 이상의 검색 용어를 정의(402)하도록 할 수 있다. 예를 들면, 필드(102, 104, 106)은 공백으로 남겨두고, 사용자는 장르 필드(116)에 "블루스"를 입력하고 우선 순위 필드(118)에 "10"을 입력할 수 있다. 전술한 바와 같이, 필드(예를 들면, 필드(116, 118))를 설정함에 있어서, 슬라이더 어셈블리(88)가 적절한 문자를 입력하는데 이 용될 수 있다. 일단 검색 용어가 정의되면, 사용자는 "검색" 버튼(108)을 선택하거나 (선택적으로) "취소" 버튼(110)을 선택할 수 있다.
만일 "검색" 버튼(108)이 선택된 경우, 적어도 하나 이상의 검색 용어에 기반하여, 복수 개의 미디어 데이터 파일의 최소한의 부분에 대한 질의(query)가 실행(404)될 수 있다. 예를 들면, 검색 용어가 (장르로서) "블루스"이고 (우선 순위 등급으로서) "10"인 경우, API(10)는 미디어 데이터 파일(예를 들면, 미디어 데이터 파일(204))을 요청하여 어떠한 미디어 데이터 파일이 요청를 만족하는지 확인할 수 있다. 즉, 어떠한 미디어 데이터 파일이 "10"인 우선 순위 등급을 갖고 "블루스"로 분류되었는지를 확인하는 것이다. 전술한 바와 같이, 메타데이터는 미디어 데이터 파일의 우선 순위 등급 및 장르를 정의하는데 이용될 수 있다. 따라서, 미디어 데이터 파일과 연관된 메타데이터를 검색함에 따라 결과 셋이 생성(406)될 수 있다. 클라이언트 전자 디바이스는 비교적 작은 디스플레이 패널(예를 들면, 도 2의 디스플레이 패널(90))을 포함하고 있기 때문에, 디스플레이 패널의 디스플레이 범위(display potential)를 초과하는 절제되지 않은 결과 셋의 생성은 바람직하지 않을 수 있다. 예를 들면, 디스플레이 패널(90)이 최고 10줄의 항목을 포함하는 결과 셋을 디스플레이 할 수 있는데, 350줄의 항목을 포함하는 결과 셋이 생성된 경우, 10줄의 항목씩 결과 셋을 디스플레이하는 것이 바람직하다. 따라서, API(10)는 사용자(예를 들면, 사용자(20, 24, 26))에게 결과 셋의 부분만을 디스플레이(408)할 수 있는데, 그 부분은 전체 결과 셋보다 작을 수 있다. 따라서, 결과 셋이 크고, 디스플레이 패널이 최대 10개 항목만을 디스플레이 할 수 있는 경우, API(10) 는 항목 1-10의 라인을 디스플레이할 수 있다. 디스플레이 패널(90)의 항목 11-20줄이 나타나도록 하기 위하여, 사용자는 예를 들면, 슬라이더 어셈블리(88)를 아래쪽 방향으로 움직이는 것이 요청될 수 있다.
추가적으로/선택적으로, 커다란 결과 셋에 대하여, API(10)는 알파벳의 각 문자에 대응하는 시작 줄을 나타내는 알파벳 인덱스를 렌더링할 수 있다. 예를 들면, 350줄의 항목에 대한 결과 셋이 생성된 경우, 알파벳 인덱스는 디스플레이 패널(90)상에 렌더링될 수 있는 것이다. 알파벳 인덱스에 대한 일 예는 다음과 같다.
총 결과 350
A's 1
B's 15
C's 26
D's 40
E's 50
F's 62
G's 75
H's 90
I's 98
J's 110
K's 123
L's 140
M's 160
N's 181
O's 202
P's 228
Q's 245
R's 250
S's 275
T's 293
U's 305
V's 312
W's 326
X's 340
Y's 345
Z's 348
350줄의 항목을 포함하는 결과 셋에 따라서, (API(10)에 의하여 렌더링된) 알파벳 인덱스는 알파벳의 각 문자에 대한 시작 줄 항목을 정의할 수 있다. 예를 들면, 사용자가 "Robert Johnson"에 대하여 관심이 있는 경우, 사용자는 라인 항목 110으로 이동할 수 있는데, 이에 따라 라인 항목 110 및 라인 항목 122 내의 어느 부분에 있는 "Robert Johnson"이 리스트된다. 여기서, 아티스트가 마지막 이름(last name), 처음 이름(first name)의 포맷으로 리스트된 것을 가정한다.
API(10)가 알파벳 인덱스를 렌더링하는 경우, 사용자는 예를 들면, 슬라이더 어셈블리(88)를 이용하여 적절한 라인 항목의 시작 점(예를 들면, 라인 항목 110)을 선택할 수 있다. 일단 사용자가 적절한 라인 항목 시작 점(예를 들면, 라인 항목 110)을 선택하면, API(10)는 예를 들면, 디스플레이 패널(90)에 정의된 수(예를 들면, 10)의 라인 항목을 렌더링할 수 있다. 예를 들면, 전술한 알파벳 인덱스에서 "110"을 선택함에 따라, API(10)는 (디스플레이 패널(90)에) 라인 항목 110-119를 렌더링 할 수 있다. 사용자가 이후의 10개 라인 항목을 보고자 하는 경우 사용자는 예를 들면, 슬라이더 어셈블리(88)를 이용할 수 있다.
재생 API:
도 9를 참조하여 설명하면, API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 복수 개의 미디어 데이터 파일(예를 들면, 미디어 데이터 파일(204)) 중 선택된 적어도 하나 이상의 미디어 데이터 파일에 접속(450)하도록 하는 재생 API로 구성될 수 있다. 재생 API는 사용자(예를 들면, 사용자(20, 24, 26)에 의하여 음악 제공 시스템(18)간에 형성된 접속의 수를 모니터(452)하도록 구성될 수 있다. 사용자(예를 들면, 사용자(20, 24, 26))에 의하여 형성된 접속의 수를 기 설정된 접속의 수로 제한하는 최대 접속 정책이 강제(454)될 수 있다.
특히, 음악 제공 시스템(18)은 복수 개의 디바이스와 함께 동작하도록 구성될 수 있다. 예를 들면, 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40) 및 휴대 전화(42)는 사용자(사용자(20, 24, 26))로 하여금 (예를 들면, 차 안에서, 조깅하는 동안, 하이킹하는 동안 또는 운동하는 동안) 원격으로 미디어 제공 시스템(18)에 접속하도록 할 수 있다. 또한, 클라이언트 컴퓨터(44)는 집에 있는 동안 또는 근무 중인 동안 사용자로 하여금 미디어 제공 시스템(18)에 접속하도록 할 수 있다. 또한, 전용 네트워크 디바이스(예를 들면, Roku Soundbridge M500, M1000 및 M2000)(미도시)는 미디어 제공 시스템(18)을 홈 엔터테인먼트 시스템(미도시)에 인터페이스하여 홈 엔터테인먼트 시스템을 사용하여 미디어 컨텐츠 항목이 렌더링되도록 할 수 있다. 따라서, 미디어 제공 시스템(18)은 하나의 예약(subscription)이 복수 개의 접속을 동시에 지원하도록 구성될 수 있다. 따라서, 사용자는 직장에서 미디어 제공 시스템(18)에 접속할 수 있으며, 이와 동시에 사용자의 배우자는 집에서 미디어 제공 시스템(18)에 접속할 수 있게 된다.
따라서, 재생 API는 사용자(예를 들면, 사용자(20, 24, 26)에 의하여 음악 제공 시스템(18)간에 형성된 접속의 수를 모니터(452)하도록 구성될 수 있다. 사용자(예를 들면, 사용자(20, 24, 26))에 의하여 형성된 접속의 수를 기 설정된 접속의 수로 제한하는 최대 접속 정책이 강제(454)될 수 있다. 따라서, 기 설정된 접속의 수가 2인 경우, 사용자의 배우자가 (예를 들면, 집에서) 미디어 제공 시스템(18)에 접속하는 동시에, 사용자는 (예를 들면, 직장에서) 미디어 제공 시스템(18)에 접속할 수 있게 된다. 한편, 사용자의 아들이 조깅하면서 (개인 미디어 디바이스(38)를 이용하여) 미디어 제공 시스템(18)에 동시 접속하고자 하는 경우, (본 예에서) 세 번째 접속은 동시에 접속할 수 있는 한계인 2개를 초과하게 되므로 그 접속은 거절될 수 있다.
검색 API:
도 10을 참조하여 설명하면, API(10)는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))의 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 복수 개의 미디어 데이터 파일(예를 들면, 미디어 데이터 파일(204)) 중 선택된 적어도 하나 이상의 미디어 데이터 파일에 접속(500)하도록 하는 검색 API로 구성될 수 있다. 제 1 검색 용어에 근거하여, 검색 API는 사용자(예를 들면, 사용자(20, 24, 26))로 하여금 제 1 검색 용어를 정의(502)하고, 복수 개의 미디어 데이터 파일 중 최소 부분에 대한 제 1 질의를 실행(504)하도록 할 수 있다. 제 1 검색 용어 및 제 2 검색 용어에 근거하여, 사용자(예를 들면, 사용자(20, 24, 26))는 제 2 검색 용어를 정의(506)하고, 복수 개의 미디어 데이터 파일 중 최소 부분에 대한 제 2 질의를 실행(508)하도록 할 수 있다.
전술한 바와 같이, 클라이언트 전자 디바이스의 사용자(예를 들면, 사용자(20, 24, 26))는 개인 미디어 디바이스(12, 38)에 저장된 미디어 컨텐츠 및/또는 미디어 제공 시스템(18)에 의하여 유효한 미디어 컨텐츠를 검색/열람하기 위하여 예를 들면, 슬라이더 어셈블리(88)에 연결된 검색 스크린(100)을 이용할 수 있다. 검색 스크린(100)은 아티스트 필드(102), 앨범 필드(104), 트랙 필드(106), 장르 필드(116) 및 우선 순위 필드(118)와 같은 복수 개의 검색 필드를 포함할 수 있다.
전술한 검색 과정뿐만 아니라, 필드(102, 104, 106, 116, 118) 중 하나에 문자가 입력된 후에 자동적으로 질의가 실행될 수도 있다. 예를 들면, 사용자가 "Johnson"의 "J"를 정의(502)한 경우, "J"로 시작하는 마지막 이름(last name)을 갖는 아티스트를 확인하기 위하여 자동적으로 질의가 실행(504)될 수 있다. 이에 따라 예를 들면, 50,000개의 가능한 매칭이 발생하게 된다. (총 두 개의 검색 용어 즉, "JO"인 경우) 사용자가 아티스트 필드(102)에 제 2 용어(즉, "O")를 정의(506)하면, 제 2 질의가 자동적으로 실행(508)될 수 있다. 이에 따라, 예를 들면, 30,000개의 가능한 매칭이 발생하게 된다. 사용자는 결과 셋이 예를 들면, 디스플레이 패널(90)상에서 용이하게 확인할 수 있을 만큼의 크기가 될 때까지 추가적인 문자(즉, 보다 많은 숫자의 검색 용어)를 계속해서 입력할 수 있다. 따라서, 특이하고, 긴 마지막 이름을 가진 아티스트에 대하여 사용자는 관리 가능한 결과 셋을 생성하기 위하여 아티스트의 마지막 이름의 작은 부분(전체 마지막 이름에 대한 반대로)만을 입력하도록 요청될 수 있다.
무선 컨텐츠 렌더링:
전술한 바와 같이, 미디어 제공 시스템(18)으로부터 획득된 미디어 컨텐츠(16)의 포맷은 예를 들면 다음을 포함한다: 미디어 제공 시스템(18)으로부터 수신된 구입된 다운로드 파일(즉, 영구적으로 사용자에게 사용이 허가된 미디어 컨텐츠); 미디어 제공 시스템(18)으로부터 수신된 기간 예약 다운로드 파일(즉, 미디어 제공 시스템에 존재하는 유효한 기간동안 사용자에게 사용이 허가된 미디어 컨텐츠); 및 미디어 제공 시스템(18)으로부터 스트림으로 수신된 미디어 컨텐츠.
개인 미디어 디바이스(12, 38), PDA(40), 휴대 전화(42) 및 프록시 컴퓨터(58)는 무선 미디어 컨텐츠를 수신하고 처리할 수 있다. 무선 미디어 컨텐츠는 예를 들면, 특정 음악 장르/시간 기간 중 선택되고, 예를 들면 디지털 밀레니엄 저작권법(The Digital Millennium Copyright Act.)을 따르는 시퀀스로 재생되는 복수 개의 트랙을 포함할 수 있다. 일반적으로, 사용자는 무선 미디어 컨텐츠를 수신하여 처리하고자 하는 경우, 사용자는 미디어 제공 시스템(18)에 의하여 사용자에게 유효한 것으로 인정한 복수 개의 무선 스테이션 중 하나의 무선 스테이션을 선택할 수 있다.
1998년에 제정된 디지털 밀레니엄 저작권법은 기 설정된 특정 시간 간격 이내에 특정 노래, 아티스트 또는 아티스트 그룹이 렌더링되는 횟수를 제한할 수 있다. 트랙의 시퀀스를 렌더링할 때, 시퀀스는 디지털 밀레니엄 저작권법을 따를 수 있다. 예를 들면, 디지털 밀레니엄 저작권법에 따르면 3시간의 시간 간격이상으로 (i) 동일 앨범 중 3개 이상의 트랙은 렌더링될 수 없고, (ii) 동일 앨범 중 두 개 이상의 연속적인 트랙은 렌더링될 수 없고, (iii) 동일 아티스트(즉, 개인/그룹) 또는 곡집(anthology) 중 4개 이상의 트랙은 렌더링될 수 없으며, (iv) 동일 아티스트(즉, 개인/그룹) 또는 곡집 중 3개 이상의 연속적인 트랙은 렌더링될 수 없다.
개인 미디어 디바이스(12, 38), PDA(40), 휴대 전화(42), 클라이언트 컴퓨터(44) 및 프록시 컴퓨터(58)상에서의 재생을 위하여 컴퓨터(28)로부터 무선 미디어 컨텐츠가 스트림되는 경우, 무선 미디어 컨텐츠를 렌더링하는 디바이스로 트랙들이 동시에 스트림됨에 따라 무선 미디어 컨텐츠의 개별 트랙(즉, 개별 무선 미디 어 데이터 파일)의 렌더링 시퀀스는 일반적으로 미디어 제공 시스템(18)에 의하여 제어된다. 따라서, 미디어 제공 시스템(18)은 렌더링 시퀀스가 예를 들면, 디지털 밀레니엄 저작권법에 따르도록 할 수 있다.
디바이스로 스트림되는 것뿐만 아니라, 무선 미디어 컨텐츠는 미디어 제공 시스템(18)과의 활성화된 접속을 갖지 않는 디바이스상에서의 재생을 위하여 캐시(cache)될 수 있다. 예를 들면, 개인 미디어 디바이스(38), PDA(40) 및 휴대 전화(42)가 미디어 제공 시스템(18)과 무선으로 커플링될 수 있음에 반하여, 미디어 제공 시스템(18)으로의 무선 접속이 가능하지 않은 상황이 존재하는 것이다. 예를 들면, 본 발명의 실시예에 따른 개인 미디어 디바이스(12)는 프록시 컴퓨터(58)를 통하여 미디어 제공 시스템(18)과 커플링된다. 따라서, 개인 미디어 디바이스(12)가 예를 들면, 도킹 크래들(60)에 존재하지 않는 경우 개인 미디어 디바이스(12)는 미디어 제공 시스템(18)에 활성화되어 접속할 수 없다.
따라서, 무선 미디어 컨텐츠는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40), 휴대 전화(42))상에서의 차후 재생을 위하여 캐시될 수 있다. 클라이언트 전자 디바이스상에서의 재생을 위하여 무선 미디어 컨텐츠를 캐시할 때, 무선 미디어 컨텐츠의 각 트랙은 예약 다운로드로서 미디어 제공 시스템(18)에서 추출될 수 있다. 전술한 바와 같이, 예약 다운로드는 미디어 제공 시스템(18)에 의한 유효한 예약 기간 동안 사용자에게 허가된 미디어 컨텐츠이다. 따라서, 캐시된 무선 미디어 컨텐츠에 포함된 적어도 하나 이상의 예약 다운로드를 렌더링 및/또는 처리하기 전에 컨텐츠를 렌더링하는 디바이스는 우선 사용자 가 미디어 제공 시스템(18)에 의한 현재의 예약 기간을 갖는지 확인할 수 있다.
클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40), 휴대 전화(42))로 무선 미디어 컨텐츠를 제공할 때, 조건(예를 들면, 장르 및/또는 시간 기간)을 만족하는 무선 스테이션의 복수 개의 예약 다운로드는 미디어 제공 시스템(18)에서 추출될 수 있다. 추출된 예약 다운로드의 정확한 숫자는 정부의 법 및 정책(예를 들면, 디지털 밀레니엄 저작권법, ASCAP(American Society of Composers, Authors, and Publisher) 정책 및 BMI(Broadcast Music, Inc.) 정책을 포함하나 이에 한정되지 않음)에 다라 달라질 수 있다. 예를 들면, 무선 미디어 컨텐츠에 포함된 예약 다운로드의 최소 숫자는 예를 들면, 8만큼 낮게 정의될 수 있는 반면, 그 숫자는 예를 들면, 디바이스(예를 들면, 개인 미디어 디바이스(12, 38), PDA(40), 휴대 전화(42))의 저장 용량, 미디어 제공 시스템(18) 및/또는 정부의 법 및 정책(예를 들면, 디지털 밀레니엄 저작권법, ASCAP 및 BMI)에 의하여 형성된 정책 지침에 따라 상당량(예를 들면, 500개의 예약 다운로드 이상) 증가될 수 있다.
전술한 바와 같이, 무선 미디어 컨텐츠에 포함된 각 트랙의 렌더링 시퀀스는 예를 들면, 디지털 밀레니엄 저작권법에 의하여 제한될 수 있다. 따라서, 클라이언트 전자 디바이스에 무선 미디어 컨텐츠를 캐시할 때, 무선 미디어 컨텐츠는 클라이언트 전자 디바이스의 사용자에 의하여 접속이 불가능하거나 볼 수 없는 메모리의 보호된 영역에 저장되어, 사용자가 무선 미디어 컨텐츠를 직접 접속하거나 비허용 시퀀스로 무선 미디어 컨텐츠를 렌더링하는 것을 방지할 수 있다.
추가적으로/선택적으로, 클라이언트 전자 디바이스에 무선 미디어 컨텐츠가 캐시되는 경우, 무선 미디어 컨텐츠는 보다 작은 데이터 모임(chunk)으로 분할되어 저장 디바이스 전반에 분포될 수 있다. 이와 같은 방법은 미국 특허 11/242,341("SYSTEM AND METHOD OF RELICENSING CONTENT", 2005년 10월 3일 출원)에 개시되어 있는데, 여기서는 인용참증으로서 병합된다. 따라서, 캐시된 무선 미디어 컨텐츠가 렌더링되는 경우 각 무선 미디어 데이터 파일을 구성하는 각각의 모임(chunk)은 우선 위치 확인이 되고, 재조립될 수 있다.
무선 컨텐츠의 라이브러리 관리:
도 11 및 12를 참조하여 설명하면, 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링(550)하는 경우, 클라이언트 전자 디바이스의 사용자가 미디어 라이브러리 파일(예를 들면, 미디어 라이브러리 파일(114, 114'))에 무선 미디어 데이터 파일을 추가하고자 하면, 사용자는 미디어 라이브러리 파일에 무선 미디어 데이터 파일을 추가하고자 함을 나타내는 요청 명령을 입력할 수 있다. 사용자는 무선 미디어 데이터 파일의 렌더링 도중에 기 설정된 시간 기간 동안(예를 들면, 2초) 예를 들면, 슬라이더 디바이스(88)를 누르고 고정함으로써 요청 명령을 입력할 수 있다. 일단, 요청 명령이 클라이언트 전자 디바이스의 사용자로부터 수신(552)되면 디바이스 어플리케이션(64)은 디스플레이 패널(90)상에 정보 스크린(600)을 렌더링(556)할 수 있다. 정보 스크린(600)은 미디어 라이브러리 파일의 수정에 관심을 갖는 사용자로부터 확인을 요청(558)할 수 있다. 만일 요청 명령이 비의도적으로 생성된 경우, 사용자는 "취소" 버튼(602)을 선택할 수 있다. 한편, 요청 명령이 의도적인 경우, 사용자는 "확인" 버튼(604)을 선택할 수 있는데, 디바이스 어플리케이션(64)은 현재 렌더링 중인 무선 미디어 데이터 파일을 정의하기 위한 미디어 라이브러리 파일을 수정(554)할 수 있다.
렌더링 중인 무선 미디어 데이터 파일의 종류에 따라, 디바이스 어플리케이션(64)이 미디어 라이브러리 파일(예를 들면, 미디어 라이브러리 파일(114, 114'))를 수정하는 방법은 달라질 수 있다.
예를 들면, 무선 미디어 데이터 파일이 미디어 제공 시스템(18)과 활성화된 접속을 유지하는 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(38), PDA(40), 휴대 전화(42))로 스트림되는 경우, 수정 대상인 미디어 라이브러리 파일은 단순히 미디어 제공 시스템(18)을 통하여 컴퓨터(28)상에서 유효한 원격 미디어 데이터 파일의 위치를 나타내는 포인터의 리스트일 수 있다.
따라서, 사용자가 미디어 제공 시스템(18)과 활성화된 접속을 유지하는 클라이언트 전자 디바이스상에 렌더링 중인 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 정의하고자 하는 경우, 디바이스 어플리케이션(64)는 단순히 활성화되어 접속된 클라이언트 전자 디바이스상에서 렌더링 중인 무선 미디어 데이터 파일에 대응하는 원격 미디어 데이터 파일의 위치를 정의하는 미디어 라이브러리 파일에 포인터를 추가할 수 있다.
추가적으로/선택적으로, 미디어 제공 시스템(18)과 활성화된 접속을 유지하는 디바이스에 대하여, 미디어 라이브러리 파일에 무선 미디어 데이터 파일을 정의하는 경우, (원격 미디어 데이터 파일의 위치를 확인하기 위하여 미디어 라이브러 리 파일에 단순히 포인터를 추가하는 것과는 반대로) 미디어 데이터 파일의 로컬 복사본을 획득(560)하고 저장(562)하는 것이 바람직하다. 무선 미디어 데이터 파일의 로컬 복사본을 저장(562)함에 따라, 사용자는 미디어 제공 시스템(18)과의 활성화된 접속이 불가능한 동안(예를 들면, 비행기에서, 지하철에서, 엘리베이터 안에서 등)에도 무선 미디어 데이터 파일을 렌더링할 수 있다. 따라서, (전술한 바와 같이) 클라이언트 전자 디바이스상에서 렌더링 중인 무선 미디어 데이터 파일의 스트림을 청취하는 사용자가 무선 미디어 데이터 파일을 그 라이브러리에 추가하고자 하는 경우, 활성 접속된 클라이언트 전자 디바이스상에서 렌더링 중인 무선 미디어 데이터 파일에 대응하는 원격 미디어 데이터 파일은 라이브러리 파일에서 확인될 수 있다. 또한, 디바이스 어플리케이션(64)은 플래그(미도시)를 설정하여 무선 미디어 데이터의 복사본이 미디어 제공 시스템(18)으로부터 획득되도록 하고, 클라이언트 전자 디바이스상에 로컬로 저장(562)되도록 할 수 있다. 디바이스 어플리케이션(64)은 예를 들면, 클라이언트 전자 디바이스가 도킹된 이후에 무선 미디어 데이터 파일의 복사본을 획득할 수 있다.
만일 클라이언트 전자 디바이스(예를 들면, 개인 미디어 디바이스(12))가 미디어 제공 시스템(18)과 활성화된 접속을 유지하지 않는 경우, 무선 미디어 데이터 파일(즉, 집합적으로 무선 미디어 컨텐츠)은 연속적 렌더링을 위하여 클라이언트 전자 디바이스에 캐시될 수 있다. 예를 들면, 개인 미디어 디바이스912)가 크래들(60)에 도킹되는 경우(즉, 미디어 제공 시스템(18)에 접속된 경우), 무선 미디어 컨텐츠는 미디어 제공 시스템(18)으로부터 다운로드되고, (예를 들면, 디바이 스(12)가 크래들(60)로부터 분리될 때) 연속 렌더링을 위하여 개인 미디어 디바이스(12)에 캐시된다.
전술한 바와 같이, 예를 들면 개인 미디어 디바이스(12)에 캐시된 무선 미디어 데이터 파일은 사용자에 의하여 접속 불가능한 메모리의 위치에 저장될 수 있다. 따라서, 미디어 라이브러리 파일(예를 들면, 미디어 라이브러리 파일(114, 114'))에 무선 미디어 데이터 파일을 정의할 때, 디바이스 어플리케이션(64)은 무선 미디어 데이터 파일을 사용자에 의하여 접속 가능한 메모리의 위치로 이동(564)시킬 수 있다. 디바이스 어플리케이션(64)은 새롭게 추가된 무선 미디어 데이터 파일이 저장된 메모리의 위치를 나타내는 포인터를 포함하도록 미디어 라이브러리 파일을 수정(566)할 수 있다.
캐시할 때 무선 미디어 데이터 파일이 보다 작은 데이터 모임(chunk)로 분할되어 예를 들면, (전술한 바와 같이) 개인 미디어 디바이스(12)의 저장 디바이스 전반에 분포되면, 사용자에 의하여 접속 가능한 메모리의 위치로 무선 미디어 데이터 파일을 이동시키기 전에, 디바이스 어플리케이션(64)은 미디어 라이브러리 파일에 정의된 무선 미디어 데이터 파일을 구성하는 각 모임의 위치를 (예를 들면, 저장 디바이스(66)에서) 확인하고 재결합할 수 있다. 일단 재결합되면, 디바이스 어플리케이션(64)은 사용자에 의하여 접속 가능한 메모리의 위치로 무선 미디어 데이터 파일을 이동시킬 수 있다. 디바이스 어플리케이션(64)은 새롭게 추가된 무선 미디어 데이터 파일이 저장된 메모리의 위치를 나타내는 포인터를 포함하도록 미디어 라이브러리 파일을 수정할 수 있다.
이상 설명된 미디어 라이브러리 파일의 수정에 관련된 기능의 일부 또는 전체는 이상 설명된 라이브러리 관리 API를 통한 미디어 제공 시스템(18)과의 통신(568)에 의하여 (전체 또는 부분적으로) 수행될 수 있다.
복수 개의 실시예를 설명하였지만, 다양한 수정에 의하여 구현될 수도 있음을 이해할 수 있다. 따라서, 다른 실시예들은 이후의 청구항의 범위에 포함된다.

Claims (21)

  1. 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 단계;
    상기 클라이언트 전자 디바이스의 사용자로부터 상기 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 추가할 것을 요청하는 사용자 요청 명령을 수신하는 단계; 및
    상기 수신된 요청 명령에 대한 응답으로 상기 무선 미디어 데이터 파일을 정의하기 위하여 상기 미디어 라이브러리 파일을 수정하는 단계를 포함하는 방법.
  2. 제 1항에 있어서,
    상기 미디어 라이브러리 파일은 상기 클라이언트 전자 디바이스의 저장 디바이스에 저장되는 방법.
  3. 제 1항에 있어서,
    상기 미디어 라이브러리 파일의 수정 전에 상기 요청 명령이 의도된 것인지를 확인하는 단계를 더 포함하는 방법.
  4. 제 3항에 있어서,
    상기 요청 명령이 의도된 것인지를 확인하는 단계는 상기 클라이언트 전자 디바이스의 디스플레이 패널상에 확인 스크린을 렌더링하는 단계를 포함하는 방법.
  5. 제 1항에 있어서,
    라이브러리 관리 API를 통하여 원격 미디어 제공 시스템과 통신하는 단계를 더 포함하는 방법.
  6. 제 5항에 있어서,
    상기 미디어 라이브러리 파일을 수정하는 단계는 상기 무선 미디어 데이터 파일의 복사본을 획득하는 단계; 및
    상기 클라이언트 전자 디바이스에 상기 획득된 무선 미디어 데이터 파일의 복사본을 로컬상에서 저장하는 단계를 포함하는 방법.
  7. 제 5항에 있어서,
    상기 미디어 라이브러리 파일을 수정하는 단계는 사용자에 의하여 접속 가능한 상기 클라이언트 전자 디바이스의 메모리 위치로 상기 무선 미디어 데이터 파일을 이동시키는 단계; 및
    상기 사용자에 의하여 접속 가능한 상기 클라이언트 전자 디바이스의 메모리 위치를 나타내는 포인터를 포함하도록 상기 미디어 라이브러리 파일을 수정하는 단계를 포함하는 방법.
  8. 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 단계;
    상기 클라이언트 전자 디바이스의 사용자로부터 상기 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 추가할 것을 요청하는 사용자 요청 명령을 수신하는 단계; 및
    상기 수신된 요청 명령에 대한 응답으로 상기 무선 미디어 데이터 파일을 정의하기 위하여 상기 미디어 라이브러리 파일을 수정하는 단계를 포함하는 동작이 수행되도록 하기 위하여, 프로세서에 의하여 실행된 경우 상기 프로세서로 하여금 상기 동작을 수행하도록 하는 복수 개의 명령을 포함하는 컴퓨터 판독 매체에 수록된 컴퓨터 프로그램 제품.
  9. 제 8항에 있어서,
    상기 미디어 라이브러리 파일은 상기 클라이언트 전자 디바이스의 저장 디바이스에 저장되는 컴퓨터 프로그램 제품.
  10. 제 8항에 있어서,
    상기 미디어 라이브러리 파일의 수정 전에 상기 요청 명령이 의도된 것인지를 확인하는 단계에 대한 명령을 더 포함하는 컴퓨터 프로그램 제품.
  11. 제 10항에 있어서,
    상기 요청 명령이 의도된 것인지를 확인하는 단계에 대한 명령은 상기 클라이언트 전자 디바이스의 디스플레이 패널상에 확인 스크린을 렌더링하는 단계에 대한 명령을 포함하는 컴퓨터 프로그램 제품.
  12. 제 8항에 있어서,
    라이브러리 관리 API를 통하여 원격 미디어 제공 시스템과 통신하는 단계에 대한 명령을 더 포함하는 컴퓨터 프로그램 제품.
  13. 제 12항에 있어서,
    상기 미디어 라이브러리 파일을 수정하는 단계에 대한 명령은 상기 무선 미디어 데이터 파일의 복사본을 획득하는 단계; 및
    상기 클라이언트 전자 디바이스에 상기 획득된 무선 미디어 데이터 파일의 복사본을 로컬상에서 저장하는 단계에 대한 명령을 포함하는 컴퓨터 프로그램 제품.
  14. 제 12항에 있어서,
    상기 미디어 라이브러리 파일을 수정하는 단계에 대한 명령은 사용자에 의하여 접속 가능한 상기 클라이언트 전자 디바이스의 메모리 위치로 상기 무선 미디어 데이터 파일을 이동시키는 단계; 및
    상기 사용자에 의하여 접속 가능한 상기 클라이언트 전자 디바이스의 메모리 위치를 나타내는 포인터를 포함하도록 상기 미디어 라이브러리 파일을 수정하는 단계에 대한 명령을 포함하는 컴퓨터 프로그램 제품.
  15. 클라이언트 전자 디바이스상에서 무선 미디어 데이터 파일을 렌더링하는 단계;
    상기 클라이언트 전자 디바이스의 사용자로부터 상기 무선 미디어 데이터 파일을 미디어 라이브러리 파일에 추가할 것을 요청하는 사용자 요청 명령을 수신하는 단계; 및
    상기 수신된 요청 명령에 대한 응답으로 상기 무선 미디어 데이터 파일을 정의하기 위하여 상기 미디어 라이브러리 파일을 수정하는 단계를 포함하는 동작을 수행하도록 구성된 클라이언트 전자 디바이스.
  16. 제 15항에 있어서,
    상기 미디어 라이브러리 파일은 상기 클라이언트 전자 디바이스의 저장 디바이스에 저장되는 클라이언트 전자 디바이스.
  17. 제 15항에 있어서,
    상기 클라이언트 전자 디바이스는 상기 미디어 라이브러리 파일의 수정 전에 상기 요청 명령이 의도된 것인지를 확인하는 단계를 더 포함하는 동작을 수행하도록 구성된 클라이언트 전자 디바이스.
  18. 제 17항에 있어서,
    상기 요청 명령이 의도된 것인지를 확인하는 단계는 상기 클라이언트 전자 디바이스의 디스플레이 패널상에 확인 스크린을 렌더링하는 단계를 포함하는 클라이언트 전자 디바이스.
  19. 제 15항에 있어서,
    상기 클라이언트 전자 디바이스는 라이브러리 관리 API를 통하여 원격 미디어 제공 시스템과 통신하는 단계를 더 포함하는 동작을 수행하도록 구성된 클라이언트 전자 디바이스.
  20. 제 19항에 있어서,
    상기 미디어 라이브러리 파일을 수정하는 단계는 상기 무선 미디어 데이터 파일의 복사본을 획득하는 단계; 및
    상기 클라이언트 전자 디바이스에 상기 획득된 무선 미디어 데이터 파일의 복사본을 로컬상에서 저장하는 단계를 포함하는 클라이언트 전자 디바이스.
  21. 제 19항에 있어서,
    상기 미디어 라이브러리 파일을 수정하는 단계는 사용자에 의하여 접속 가능한 상기 클라이언트 전자 디바이스의 메모리 위치로 상기 무선 미디어 데이터 파일 을 이동시키는 단계; 및
    상기 사용자에 의하여 접속 가능한 상기 클라이언트 전자 디바이스의 메모리 위치를 나타내는 포인터를 포함하도록 상기 미디어 라이브러리 파일을 수정하는 단계를 포함하는 클라이언트 전자 디바이스.
KR1020097007036A 2006-09-08 2007-09-10 미디어 라이브러리를 수정하는 시스템 및 방법 KR101433402B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US84316606P 2006-09-08 2006-09-08
US60/843,166 2006-09-08
PCT/US2007/077987 WO2008031086A2 (en) 2006-09-08 2007-09-10 System and method for modifying a media library

Publications (2)

Publication Number Publication Date
KR20090060331A true KR20090060331A (ko) 2009-06-11
KR101433402B1 KR101433402B1 (ko) 2014-08-27

Family

ID=39158128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097007036A KR101433402B1 (ko) 2006-09-08 2007-09-10 미디어 라이브러리를 수정하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US20080077626A1 (ko)
EP (1) EP2062162A4 (ko)
JP (1) JP2010503044A (ko)
KR (1) KR101433402B1 (ko)
CN (1) CN101553805A (ko)
WO (1) WO2008031086A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100142521A1 (en) * 2008-12-08 2010-06-10 Concert Technology Just-in-time near live DJ for internet radio
US9946583B2 (en) * 2009-03-16 2018-04-17 Apple Inc. Media player framework
US20130282956A1 (en) * 2012-04-20 2013-10-24 Pradeep Ramdeo Automobile MP3 System
US9235867B2 (en) * 2012-06-04 2016-01-12 Microsoft Technology Licensing, Llc Concurrent media delivery
US20220334836A1 (en) * 2021-04-15 2022-10-20 Dell Products L.P. Sharing of computing resources between computing processes of an information handling system
CN113872729B (zh) 2021-09-24 2022-03-25 上海物骐微电子有限公司 一种音频数据通信方法及无线音频系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173360A (ja) * 1997-08-29 1999-03-16 Matsushita Electric Ind Co Ltd サーバ・クライアント型データベース検索方法
US6981217B1 (en) * 1998-12-08 2005-12-27 Inceptor, Inc. System and method of obfuscating data
JP2001024817A (ja) * 1999-07-08 2001-01-26 Hitachi Ltd 移動体通信端末
US6192340B1 (en) * 1999-10-19 2001-02-20 Max Abecassis Integration of music from a personal library with real-time information
US7010263B1 (en) * 1999-12-14 2006-03-07 Xm Satellite Radio, Inc. System and method for distributing music and data
KR102122978B1 (ko) * 2000-09-13 2020-06-15 스트라토스 오디오, 인코포레이티드 미디어 콘텐츠 주문 및 배달 방법 및 시스템
JP2002140533A (ja) * 2000-10-31 2002-05-17 Pioneer Electronic Corp コンテンツ配信方法、ならびにコンテンツ資産管理サーバ、コンテンツ提供事業者サーバ、および同方法がプログラムされ記録された記録媒体
US20020156912A1 (en) * 2001-02-15 2002-10-24 Hurst John T. Programming content distribution
CA2438998C (en) * 2001-02-20 2011-08-23 Caron S. Ellis Multiple radio signal processing and storing method and apparatus
JP2002251191A (ja) * 2001-02-23 2002-09-06 Japan Total Design Communication Co Ltd 情報再生システム
JP2005505163A (ja) * 2001-09-26 2005-02-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 再構築可能なマルチメディアシステムのための方法および装置
US6941324B2 (en) * 2002-03-21 2005-09-06 Microsoft Corporation Methods and systems for processing playlists
JP4116320B2 (ja) * 2002-04-24 2008-07-09 シャープ株式会社 コンテンツ記録再生装置
US20040006541A1 (en) * 2002-07-08 2004-01-08 International Business Corporation Method and system for purchasing broadcast content
JP2004127159A (ja) * 2002-10-07 2004-04-22 Sanyo Electric Co Ltd コンテンツ管理装置
JP3710786B2 (ja) * 2003-02-05 2005-10-26 東芝テック株式会社 セルフ注文システム
CN1875377A (zh) * 2003-09-10 2006-12-06 音乐匹配公司 音乐购买和播放系统及其方法
US20050108413A1 (en) * 2003-11-03 2005-05-19 Matthew Melmon Personal digital radio network
JP2006113905A (ja) * 2004-10-15 2006-04-27 I-O Data Device Inc コンテンツ配信システム、コンテンツ再生装置、およびコンテンツ配信方法
JP2006138922A (ja) * 2004-11-10 2006-06-01 Sharp Corp コンテンツ受信装置、コンテンツ受信システム、ネットワーク接続装置、コンテンツ送信装置
US7654462B2 (en) * 2005-02-16 2010-02-02 Casey Steven M Mobile device base station for enhanced signal strength for on-demand media services
US20070239611A1 (en) * 2006-04-10 2007-10-11 Scott Blum Media player and access system and method

Also Published As

Publication number Publication date
EP2062162A4 (en) 2012-08-15
KR101433402B1 (ko) 2014-08-27
EP2062162A2 (en) 2009-05-27
WO2008031086A3 (en) 2008-07-03
CN101553805A (zh) 2009-10-07
US20080077626A1 (en) 2008-03-27
WO2008031086A2 (en) 2008-03-13
JP2010503044A (ja) 2010-01-28

Similar Documents

Publication Publication Date Title
US11544313B2 (en) System and method for transferring playlists
US9529802B2 (en) System and method for generating homogeneous metadata from pre-existing metadata
JP2010503080A (ja) Apiアクセス可能メディア配布システム
US20190068672A1 (en) System And Method For Caching Data
EP1955278B1 (en) System and method for obtaining and sharing media content
JP4982563B2 (ja) 向上されたavプレーヤ装置、並びにそれを使用したコンテンツ配信のシステムおよび方法
US20060265329A1 (en) System and method for automatically transferring dynamically changing content
US20070061835A1 (en) System and method for registering users and devices
KR20100025517A (ko) 클라이언트 전자 장치를 구성하기 위한 시스템 및 방법
KR101433402B1 (ko) 미디어 라이브러리를 수정하는 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee