KR20130116269A - 미디어 파일의 모바일 컴퓨팅 장치 로딩 - Google Patents

미디어 파일의 모바일 컴퓨팅 장치 로딩 Download PDF

Info

Publication number
KR20130116269A
KR20130116269A KR1020137013164A KR20137013164A KR20130116269A KR 20130116269 A KR20130116269 A KR 20130116269A KR 1020137013164 A KR1020137013164 A KR 1020137013164A KR 20137013164 A KR20137013164 A KR 20137013164A KR 20130116269 A KR20130116269 A KR 20130116269A
Authority
KR
South Korea
Prior art keywords
computing device
mobile computing
media
media file
previous
Prior art date
Application number
KR1020137013164A
Other languages
English (en)
Other versions
KR101885342B1 (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 KR20130116269A publication Critical patent/KR20130116269A/ko
Application granted granted Critical
Publication of KR101885342B1 publication Critical patent/KR101885342B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • 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/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • 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/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/489Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Abstract

일반적으로, 본 명세서에 기술된 주제는 미디어 파일을 모바일 컴퓨팅 장치에 로딩하기 위한 방법, 시스템, 및 프로그램 제품에 사용될 수 있다. 미디어 파일을 포함하는 미디어 라이브러리는 서버 시스템에 저장된다. 모바일 장치의 현재 상태를 나타내는 정보가 액세스되는데, 여기서 현재 상태는 현재 시간에 지리적인 위치에 있는 장치에 기초한다. 모바일 장치의 이전 상태를 나타내는 정보가 액세스되는데, 여기서 이전 상태는 이전 시간에 이전의 지리적인 위치에 있는 장치에 기초한다. 선호 미디어 파일의 선택이 현재 상태 및 이전 상태를 기초로 액세스된다. 미디어 파일의 서브셋의 선택은 선호 미디어 파일을 기초로 액세스된다. 서브셋 내의 각각의 미디어 파일의 적어도 한 부분이 모바일 장치로 전송된다.

Description

미디어 파일의 모바일 컴퓨팅 장치 로딩{LOADING A MOBILE COMPUTING DEVICE WITH MEDIA FILES}
본 출원은 2010년 10월 28일 출원된 발명의 명칭 "LOADING A MOBILE COMPUTING DEVICE WITH MEDIA FILES"인 미국 출원번호 제12/914,635호에 대한 우선권을 주장하며, 그 내용은 본 명세서에 참조로서 포함되어 있다.
본 명세서는 일반적으로 모바일 컴퓨터에 미디어 파일을 로딩하는 것에 관한 것이다.
휴대 전화와 같은 모바일 컴퓨팅 장치는 예를 들어, 오디오 북, 뮤직, 및 비디오와 같은 미디어를 사용자의 장치가 재생하도록 하는 미디어 플레이어를 포함할 수 있다. 미디어는 모바일 컴퓨팅 장치에 국부적으로 저장될 수 있다. 또한, 미디어는 모바일 컴퓨팅 장치로부터 원격지에 저장될 수 있다. 예를 들어, 모바일 장치의 사용자는 서버 시스템이 미디어를 모바일 컴퓨팅 장치로 스트리밍하는 것을 요청할 수 있다. 모바일 컴퓨팅 장치의 사용자는 미디어 콘텐츠의 후속부가 모바일 컴퓨팅 장치로 스트리밍 되는 동안 이미 모바일 장치에 전송되었던 미디어 콘텐츠의 시작부를 소비할 수 있다.
후술되는 구현의 다른 예로서, 본 발명은 또한 다음의 구현들을 포함할 수 있다.
구현 1은 미디어 파일을 모바일 컴퓨팅 장치로 로딩하기 위한 컴퓨터 구현 방법에 관한 것이다. 이 방법은 서버에서 미디어 파일을 포함하는 미디어 라이브러리를 저장하는 것을 포함한다. 이 방법은 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하는 것을 포함하는데, 여기서 현재 상태는 현재 시간에 현재의 지리적인 위치에 있는 모바일 컴퓨팅 장치를 기초로 판정되었다. 이 방법은 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스 하는 것을 포함하는데, 여기서 이전 상태는 이전 시간에 이전의 지리적이 위치에 있는 모바일 컴퓨팅 장치를 기초로 판정되었다. 이 방법은 미디어 라이브러리로부터 선호 미디어 파일의 선택을 액세스하는 것을 포함한다. 이 선호 미디어 파일은 모바일 컴퓨팅 장치의 현재 상태와 모바일 컴퓨팅 장치의 이전 상태를 기초로 선택되었으며, 이 선호 미디어 파일은 모바일 컴퓨팅 장치에 의해 적어도 하나의 선호 미디어 파일이 출력되도록 하라는 모바일 컴퓨팅 장치 사용자로부터의 요청에 응답하여 이전의 상태 동안에 모바일 컴퓨팅 장치에 의해 출력되었던 것이다. 이 방법은 미디어 파일의 서브셋(subset)의 선택을 액세스하는 것을 포함하는데, 여기서 서브셋은 선호 미디어 파일들을 기초로 선택되었다. 이 방법은 서버 시스템과 모바일 컴퓨팅 장치에 의해 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 전송하는 것을 포함한다.
구현 2는 구현 1의 방법과 관련되는데, 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 전송하는 것은 서브셋 내의 미디어 파일들 중 하나 이상을 모바일 컴퓨팅 장치가 출력하기 전에 모바일 컴퓨팅 장치로 서브셋 내의 각각의 미디어 파일 중 적어도 한 부분을 전송하는 것을 포함한다.
구현 3은 구현 1 내지 2 중 임의의 한 방법에 관련되는데, 선호 미디어 파일들은 모바일 컴퓨팅 장치의 현재 상태가 모바일 컴퓨팅 장치의 이전 상태와 일치(matching)한다는 판정(determination)을 기초로 선택되었다.
구현 4는 구현 3의 방법과 관련되는데, 현재 상태가 이전의 상태와 일치한다는 판정은 (i) 현재의 지리적인 위치가 이전의 지리적인 위치에서 소정의 거리 내에 있고, (ii) 현재 시간이 이전 시간에서 소정의 기간(time period) 내에 있다는 판정을 기초로 이루어졌다.
구현 5는 구현 4의 방법과 관련되는데, 기간은 24 시간 이내이고, 이전의 시간은 현재 시간보다 24 시간 이상 이전에 발생되었다.
구현 6은 구현 3의 방법과 관련되는데, 현재 상태가 이전 상태와 일치한다는 판정은 (i) 현재의 지리적인 위치가 또한 이전의 지리적인 위치와 경계하는 영역 내에서 경계가 정해지고, (ii) 현재 시간이 이전 시간을 포함하는 기간 내에 있다는 판정을 기초로 이루어졌다.
구현 7은 구현 3의 방법과 관련되는데, 현재 상태가 이전의 상태와 일치한다는 판정은 (i) 현재의 지리적인 거리가 이전의 지리적인 위치로부터 제2 거리일 때보다 이전의 지리적인 위치로부터 제1 거리일 때 (제1 거리는 제2 거리보다 짧음), 및 (ii) 현재 시간이 이전 시간으로부터 제2 거리일 때보다 현재 시간이 이전 시간으로부터 제1 거리일 때 (제1 거리는 제2 거리보다 짧음) 일치로 판정될 가능성이 더 많은 매칭 연산(matching computation)을 기초로 이루어졌다.
구현 8은 구현 1 내지 7 중 임의의 한 방법과 관련되는데, 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보는 현재 시간에 모바일 컴퓨팅 장치의 사용자에 의해 정의되었던 스테이트먼트(statement)를 기초로 더 판정되고; 모바일 컴퓨팅 장치의 이전의 상태를 나타내는 정보는 이전 시간에 모바일 컴퓨팅 장치의 사용자에 의해 정의되었던 스테이트먼트를 기초로 더 판정된다.
구현 9는 구현 1 내지 8 중 임의의 한 방법과 관련된다. 이 방법은 서버 시스템에서 모바일 컴퓨팅 장치로, 미디어 라이브러리로부터 미디어 파일들을 모바일 컴퓨팅 장치로 서버 시스템이 전송하도록 하는 요청을 수신하는 것을 더 포함하는데, 이 요청에 응답하여, (i) 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하는 것이 수행되고, (ii) 모바일 컴퓨팅 장치의 이정 상태를 나타내는 정보를 액세스하는 것이 수행된다.
구현 10은 구현 1 내지 9 중 임의의 한 방법과 관련되는데, 미디어 파일들의 서브셋은 단지 선호 미디어 파일들만을 포함한다.
구현 11은 구현 1 내지 9 중 임의의 한 방법과 관련되는데, 미디어 파일들의 서브셋은 서브셋 내에 포함을 위해 미디어 라이브러리로부터 추가 미디어 파일들을 선택하는 것을 포함하고, 이 추가 미디어 파일들은 각각의 추가 및 선호 미디어 파일들의 음악적인 특성에 대응하는 추가 미디어 파일 및 선호 미디어 파일 공유 속성을 기초로 서브셋 내에 포함을 위해 선택된다.
구현 12는 구현 1 내지 9 중 임의의 한 방법과 관련되는데, 미디어 파일들의 서브셋을 선택하는 것은 미디어 라이브러리로부터 특정한 사용자 생성 플레이리스트 (user-generated playlists) 내의 시작 미디어 파일(starting media file)인 추가 미디어 파일들을 선택하는 것을 포함하고, 이 시작 미디어 파일은 플레이 리스트의 정렬(sorting)을 기초로 플레이리스트를 시작하는 미디어 파일이다.
구현 13은 구현 12의 방법과 관련되는데, 특정 플레이리스트들은 사용자 생성 플레이리스트들의 콜렉션(collection)의 서브셋이고, 특정 플레이리스트들은 선호 미디어 파일들 중 소정의 양을 포함하는 특정 플레이리스트들에 기초한 서브셋으로서 선택된다.
구현 14는 구현 1 내지 9 중 임의의 한 방법과 관련되는데, 미디어 파일들의 서브셋을 선택하는 것은 특정 플레이리스트의 상이한 정렬들에 대한 시작 미디어 파일들인 적어도 두개의 추가 미디어 파일에 기초한 적어도 두개의 추가 미디어 파일을 미디어 라이브러리로부터 선택하는 것을 포함한다.
구현 15는 구현 14의 방법과 관련되는데, 특정 플레이리스트가 적어도 하나의 정렬 내에 표시되도록 하는 사용자 입력을 제공하는 모바일 컴퓨팅 장치의 사용자 없이 특정한 플레이리스트가 모바일 컴퓨팅 장치에 의해 정렬들 중 적어도 하나에 표시되지 않는다.
다른 구현은 모바일 컴퓨팅 장치에 미디어 파일을 로딩하는 컴퓨터 구현 방법에 관한 것이다. 이 방법은 모바일 컴퓨팅 장치에 의해, 모바일 컴퓨팅 장치의 현재 지리적인 위치 및 서버 시스템에 의한 수신을 위한 현재 지리적인 위치를 판정하는 것을 포함한다. 이 방법은 모바일 컴퓨팅 장치에서 및 서버 시스템으로부터, 서버 시스템에 저장된 미디어 라이브러리로부터 선택되었던 미디어 파일들의 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 수신하고 - 이 미디어 파일들의 적어도 한 부분들은 서버 시스템에 응답하여 수신됨 - ; 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하고 - 현재 상태는 현재 시간에 현재의 지리적인 위치에 있는 모바일 컴퓨팅 장치를 기초로 판정되었음 - ; 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스하며 - 이전 상태는 이전 시간에 이전의 지리적인 위치에 있는 모바일 컴퓨팅 장치를 기초로 판정되었음 - ; 미디어 라이브러리로부터 선호 미디어 파일들의 선택을 액세스하고 - 선호 미디어 파일들은 모바일 컴퓨팅 장치의 현재 상태 및 모바일 컴퓨팅 장치의 이전 상태를 기초로 선택되었고, 선호 미디어 파일들은 모바일 컴퓨팅 장치에 의해 적어도 하나의 선호 미딩 피일이 출력되는 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 이전 상태 동안에 모바일 컴퓨팅 장치에 의해 출력되었음 - ; 미디어 파일들의 서브셋의 선택을 액세스하며; 및 서버 시스템과 모바일 컴퓨팅 장치에 의해, 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 전송하는 것을 포함한다.
본 명세서에 기술된 주제의 다른 양태는 하나 이상의 프로세싱 장치에 의해 실행될 때 상술한 방법에 따른 동작을 수행하는 명령들을 저장하는 하나 이상의 컴퓨터 판독가능 저장 장치로 구현될 수 있다. 다른 구현은 하나 이상의 컴퓨터 판독가능 저장 장치를 포함하고 하나 이상의 프로세싱 장치를 실행하도록 구성된 시스템 및 장치를 포함한다.
다른 양태에서, 본 명세서에 기술된 주제는 컴퓨터 구현 시스템으로 구현될 수 있다. 이 시스템은 하나 이상의 저장 장치를 포함한다. 저장 장치는 컴퓨터 판독가능 미디어 파일들을 포함하는 미디어 라이브러리를 저장한다. 저장 장치는 하나 이상의 프로세싱 장치에 의해 실행될 때 하나 이상의 프로세싱 장치가 선호 미디어 판정기(preferred media determiner), 유사 미디어 판정기(similar media determiner), 및 미디어 로더(media loader)를 구현하도록 하는 명령을 저장한다. 선호 미디어 판정기는 (i) 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하고 - 현재 상태는 현재 시간에 현재의 지리적인 위치에 있는 모바일 컴퓨팅 장치를 기초로 판정되었음 - ; (ii) 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스하며 - 이전 상태는 이전 시간에 이전의 지리적인 위치에 있는 모바일 컴퓨팅 장치를 기초로 판정되었음 - ; (ii) 모바일 컴퓨팅 장치의 현재 상태 및 모바일 컴퓨팅 장치의 이전 상태를 기초로 미디어 라이브러리로부터 선호 미디어 파일을 선택 - 적어도 하나의 선호 미디어 파일이 모바일 컴퓨팅 장치에 의해 출력되도록 하는 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 이전 상태 동안에 선호 미디어 파일들이 모바일 컴퓨팅 장치에 의해 출력되었음 - 하도록 구성된다. 유사 미디어 판정기는 선택된 선호 미디어 파일들을 기초로 미디어 라이브러리에서 미디어 파일들의 서브셋을 선택하도록 구성된다. 미디어 로더는 서버 시스템에 있으며, 서브셋 내의 미디어 파일들 각각의 적어도 부분들을 모바일 컴퓨팅 장치로 전송하도록 프로그래밍된다.
하나 이상의 프로세싱 장치에 의해 실행되는 명령들은 모바일 컴퓨팅 장치에서, 프로세싱 장치들이 미디어 선호 데이터베이스 내에 저장을 위해 서버 시스템으로 (i) 모바일 컴퓨팅 장치에서 현재 재생하고 있는 미디어 파일의 표시 (indication), 및 (ii) 모바일 컴퓨팅 장치의 현재의 지리적인 위치를 주기적으로 전송하도록 프로그래밍된 상태 판정기를 구현하도록 할 수 있다. 선호 미디어 판정기는 선호 미디어 파일들을 판정하도록 미디어 선호 데이터베이스를 액세스할 수 있다. 유사 미디어 판정기는 선호 미디어 파일들을 사용하여 적어도 몇몇의 미디어 파일 공유 음악 특성(media files sharing musical characteristics)을 기초로 미디어 파일들의 서브셋 중 적어도 몇몇을 선택하도록 구성될 수 있다.
특정한 실시예들이 다음의 장점들 중 하나 이상을 실현하도록 임의의 예로 구현될 수 있다. 한정된 로컬 메모리를 갖는 모바일 컴퓨팅 장치는 모바일 컴퓨팅 장치의 사용자가 재생을 요청할 것 같은 미디어 파일들을 국부적으로 저장할 수 있다. 이러한 미디어 파일들은 네트웍 연결을 통한 버퍼링 없이 재생할 수 있으며, 모바일 컴퓨팅 장치가 네트웍에 연결할 수 없어도 재생할 수 있다. 로컬 메모리 공간은 다른 어플리케이션들에 대해 이용가능하게 이루어지거나 감소될 수 있다.
하나 이상의 구현들의 세부사항은 첨부된 도면과 후술하는 설명에 기재되어 있다. 본 발명의 다른 특징, 목적 및 장점은 다음의 상세한 설명 및 도면과 특허청구의 범위로부터 명확해질 것이다.
도 1은 미디어 파일들을 모바일 컴퓨팅 장치에 로딩하는 방법의 예를 도시한 도면.
도 2는 미디어 선호 데이터베이스 내의 콘텐츠의 예를 도시한 도면.
도 3은 미디어 파일들을 모바일 컴퓨팅 장치에 로딩하는 시스템의 예를 도시한 도면.
도 4는 미디어 콜렉션 내의 곡들의 예, 및 모바일 컴퓨팅 장치에 로딩되었던 곡들의 서브셋의 예를 도시한 도면.
도 5는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 시스템의 도면.
도 6은 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 컴퓨터 장치들, 또한 클라이언트 또는 서버나 복수의 서버들에 대한 블럭도.
(여러 도면들에서 동일한 참조 부호는 동일한 구성 요소를 나타냄)
본 명세서는 미디어 파일들을 모바일 컴퓨팅 장치에 로딩하기 위한 기술, 방법, 시스템, 및 메커니즘을 기술한다. 일반적으로, 모바일 컴퓨팅 장치의 사용자는 원격 서버 시스템에 의해 호스팅(hosting)되는 미디어 라이브러리를 탐색 (navigating)하도록 장치를 사용할 수 있다. 서버 시스템은 모바일 컴퓨팅 장치의 사용자가 프리로딩된(pre-loaded) 미디어 파일들 중 하나가 모바일 장치 상에서 재생되도록 요청할 때 미디어 파일의 시작부가 서버 시스템으로부터 검색될 필요없이 재생할 수 있도록 미디어 파일들 몇몇 중에서 적어도 하나의 시작부를 모바일 장치에 프리로딩시킬 수 있다.
모바일 장치에 프리로딩되는 미디어 파일들은 모바일 장치가 현재 상태와 일치하는 이전 상태에 있었을 때 이전에 재생되었던 미디어 파일들을 기초로 선택될 수 있다. 이전 및 현재 상태는 모바일 컴퓨팅 장치의 위치, 모바일 컴퓨팅 장치가 그 위치에 있었던 시간, 및 사용자가 특정 시간에 제출한 사용자 정의 스테이트먼트 (예를 들어, 텍스트 메시지, 탐색 질의, 또는 이메일)를 기초로 식별될 수 있다.
매칭 상태에서 재생되었던 것을 기초로 미디어 파일들이 선택되는 것 외에도, 다른 미디어 파일들이 모바일 컴퓨팅 장치에 프리로딩되기 위해 선택될 수 있다. 이러한 다른 미디어 파일들은 다른 미디어 파일들의 콘텐츠를 기술하는 속성들이 할당되었던 미디어 파일들일 수 있는데, 다른 미디어 파일들의 속성은 매칭 상태에서 재생되었던 미디어 파일들의 속성과 일치한다. 다른 미디어 파일들은 또한 사용자 생성 플레이리스트의 정렬 내에서 시작 미디어 파일들로서 선택될 수 있다.
도 1은 미디어 파일들을 모바일 컴퓨팅 장치에 로딩하는 방법의 예를 도시하고 있다. 모바일 컴퓨팅 장치의 사용자는 미디어 라이브러리를 탐색하도록 장치를 사용할 수 있다. 사용자는 라이브러리에서 모든 미디어 파일들에 대한 정보를 탐색하고 볼 수 있지만, 미디어 콘텐츠 그 자체는 인터넷을 통해 액세스가능한 서버 시스템에 의해 원격으로 저장될 수 있다. 원격으로 저장된 미디어 파일즐 중 몇몇 또는 그 시작부는 사용자가 미디어 파일들을 재생하기 전에 모바일 장치에 전송될 수 있다. 이러한 경우에, 로딩된 미디어 파일을 사용자가 재생할 때, 파일은 네트웍 버퍼링없이 로딩된 미디어 파일의 시작부가 즉시 재생될 수 있다.
모바일 컴퓨팅 장치로 로딩되는 미디어 파일들(또는 파일들의 부분)은 유사한 지리적인 영역 및 유사한 기간이었을 때 사용자가 이전에 재생하였던 미디어 파일들을 기초로 자동적으로 판정될 수 있다. 예를 들어, 주말에 사용자는 그의 레이크하우스(lakehouse)를 방문해서 머무르는 동안 블루스 음악을 재생할 수 있다. 주증에 도시에서, 사용자는 힙합 음악을 청취할 수 있다. 따라서, 사용자가 그의 레이크하우스를 방문할 때, 모바일 장치 또는 온라인 미디어 서비스는 사용자의 모바일 장치에 블루스 음악이 로딩되어야 하는지를 판정할 수 있다. 블루스 음악은 이전에 장치에 로딩되었던 힙합 음악을 대체할 수 있다. 몇몇의 예에서, 플레이리스트는 모바일 장치에 프리로딩된 음악을 기초로 생성된다.
다양한 구현에서, 모바일 장치로 로딩되는 미디어의 판정은 다양한 추가 요소들에 기초할 수 있다. 예를 들어, 판정은 미디어 파일이 플레이리스트내의 중요한 위치에 표시되어야 하는지 여부를 포함할 수 있다. 예를 들어, 미디어 파일들의 플레이리스트를 사용자가 볼 때, 미디어 파일들은 정렬 순서(예를 들어, 아티스트의 알파벳 순서)로 표시될 수 있다. 정렬 순서에서 가장 중요하게 표시되는 미디어 파일들 (예를 들어, 플레이리스트의 정렬을 기초로 플레이리스트를 시작하는 시작 미디어 파일들)이 모바일 컴퓨팅 장치로 로딩될 수 있는데 이러한 파일은 사용자에 의해 쉽게 재생될 수 있기 때문이다. 몇몇의 예에서, 모바일 장치의 사용자는 플레이리스트 정렬의 형태를 변화(예를 들어, 아티스트의 알파벳 순서 정렬에서 곡명의 알파벳 순서 정렬로 전환)시킬 수 있다. 각각의 정렬 형태에 대해 가장 중요하게 표시되는 미디어가 모바일 장치로 로딩될 수 있다. 다양한 예에서, (콜렉션 또는 플레이리스트 내에서) 최빈 재생 미디어 파일(most-frequently played media file)이 모바일 장치에 로딩될 수 있다.
다양한 구현에서, 모바일 컴퓨팅 장치로 로딩하는 미디어의 판정은 최근 및 이전 사용자 정의 스테이트먼트에 기초할 수 있다. 예를 들어, 시스템은 모바일 컴퓨팅 장치를 사용하여 사용자가 작성하는 사용자 정의 스테이트먼트 (또는 사용자 정의 스테이트먼트로부터 나온 키워드)를 저장할 수 있다. 사용자 정의 스테이트먼트는 텍스트 메시지, 이메일, 및 음성과 텍스트 질의의 콘텐츠를 포함할 수 있다. 사용자가 특정한 미디어 파일들이 재생되었던 시간에 이전의 사용자 정의 스테이트먼트와 일치하는 사용자 정의 스테이트먼트를 최근에 제공하였다면 특정한 미디어 파일들이 모바일 컴퓨팅 장치로 로딩될 수 있다.
상술한 바와 같이, 모바일 장치의 사용자는 미디어 라이브러리를 탐색할 수 있다. 예를 들어, 사용자가 그의 휴대 전화의 데스크탑 상의 "미디어 플레이어(Media Player)" 그래픽 인터페이스 엘리먼트를 선택할 수 있으며 미디어 파일들 중 사용자의 콜렉션을 탐색하기 위한 그래픽 인터페이스가 나타날 수 있다. 이 미디어 플레이어 그래픽 인터페이스는 사용자가 미디어 라이브러리 내의 미디어 파일들을 다양한 표시로 볼 수 있도록 할 수 있다. 예를 들어, 사용자는 단지 음악 미디어 파일만 (다르게는 비디어 미디어 파일, 오디오북 미디어 파일, 및 어플리케이션 프로그램 미디어 파일) 보도록 선택할 수 있다. 음악 미디어 파일을 볼 때, 사용자는 아티스트, 앨범, 장르, 곡명, 또는 플레이리스트로 정렬된 음악 파일들을 보도록 선택할 수 있다.
플레이리스트는 미디어 라이브러리의 사용자 정의 서브셋일 수 있다. 예를 들어, 사용자는 그가 운동할 때 청취하는 곡들을 포함하는 음악의 "운동(Exercising)" 플레이리스트를 생성했었을 수 있다. 따라서, 사용자가 운동할 때, 그는 플레이리스트 내의 곡을 재생 (즉, 모바일 컴퓨팅 장치가 미디어를 예를 들어, 청각적으로 및/또는 시각적으로 적절하게 출력하도록 함)할 수 있다. 곡 재생이 끝났을 때, 미디어 플레이어는 플레이리스트의 다음곡을 재생할 수 있으며, 플레이리스트 내의 모든 곡들이 재생되었을 때 곡 재생을 종료할 수 있다.
사용자가 탐색하는 미디어 라이브러리는 수백 또는 수천의 미디어 파일들을 참조할 수 있다. 이러한 미디어 파일들은 상당한 메모리를 필요로 할 수 있다. 몇몇의 예에서, 미디어 파일들은 모바일 장치가 포함하고 있는 것보다 많은 메모리 또는 모바일 장치가 빈 공간으로 이용가능한 것보다 많은 메모리를 필요로 할 수 있다. 또한, 사용자가 전체 미디어 콜렉션을 국부적으로 저장하기 위해 필요한 빈 공간을 포함하는 모바일 장치를 사용하는 것을 원하지 않을 수 있다. (예를 들어, 추가 비용 또는 크기 때문에) 따라서, 사용자는 모바일 컴퓨팅 장치를 사용하여 미디어 라이브러리를 탐색하는 동안, 미디어 파일들 자체는 서버 시스템에 원격으로 저장될 수 있다. 따라서, 몇몇의 구현에서, 몇몇 또는 모든 미디어 파일들에 대한 메타데이터가 모바일 장치에 국부적으로 저장되는데, 대응하는 미디어 콘텐츠는 서버 시스템에 저장된다. 사용자가 재생할 미디어 파일을 선택할 때, 미디어 파일은 서버 시스템으로부터 모바일 컴퓨팅 장치로 전송되거나 스트리밍될 수 있다.
다양한 구현에서, 모바일 컴퓨팅 장치는 사용자가 모바일 컴퓨팅 장치에게 로딩된 미디어 파일의 재생을 지시할 때 미디어 파일이 즉시 재생되도록 라이브러리로부터 미디어 파일들 중 몇몇(또는 미디어 파일들의 부분들)이 로딩될 수 있다. 이러한 로딩은 사용자가 모바일 컴퓨팅 장치를 사용하지 않는 동안, 예를 들어, 장치가 사용자의 주머니에 있거나, 도킹되거나, 화면이 오프되도록 로킹(locking)되는 동안 발생할 수 있다. 미디어 파일이 모바일 장치에 로딩되었을 때, 모바일 장치는 네트웍을 통해 전송되는 파일에 대해 사용자가 기다릴 필요없이 미디어 파일 또는 그 일부를 재생할 수 있을 것이다. 모바일 장치는 네트웍 서비스가 이용가능하지 않을 경우에도 국부적으로 저장된 미디어 파일들을 재생할 수 있을 것이다.
모바일 컴퓨팅 장치(또는 음악 서비스를 호스팅하는 서버 시스템)는 모바일 컴퓨팅 장치로 로딩될 라이브러리 내의 미디어 파일들의 서브셋을 선택할 수 있다. 박스 110에서, 선호 미디어 파일의 콜렉션이 모바일 컴퓨팅 장치의 현재 상태를 기초로 선택될 수 있다. 선호 미디어 파일은 모바일 장치 (또는 사용자가 이전에 인증했던 다른 모바일 장치)가 동일 또는 유사한 상태이었을 때 재생했었던 미디어 파일들을 포함할 수 있다. 모바일 장치의 현재 상태는 모바일 장치 위치(박스 114), 시간 (박스 116), 및 사용자 정의 스테이트먼트(도시 생략)의 임의의 조합을 기초로 식별될 수 있다. 예시적인 위치, 시간, 및 사용자 정의 스테이트먼트가 도 2를 참조로 논의된다.
현재 상태는 이전의 상태들과 비교되어 현재 상태와 일치하는 이전의 상태와 그 일치하는 이전 상태들에서 재생되었던 미디어를 식별할 수 있다. 이전의 상태 정보 및 이전의 상태에서 재생되었던 미디어의 표시가 미디어 선호 데이터베이스(112) 내에 포함될 수 있다.
모바일 장치의 현재의 지리적인 위치가 모바일 장치의 이전의 지리적인 위치 근방에 있다면 두개의 상태가 일치할 수 있다. 현재 및 이전의 위치가 동일한 지리적인 영역 (예를 들어, 소정의 경계 지리적 영역) 내에 있다면 양 위치는 서로 근방에 있을 수 있다. 지리적인 영역의 예들은 도시 인근, 셀타워 송신 영역(cell-tower transmitting regions) 및 시티 블럭을 포함할 수 있다.
몇몇의 예에서, 현재 및 이전의 위치는 서로 소정의 거리에 있다면 서로 근방에 있을 수 있다. 예를 들어, 현재 및 이전의 위치는 지리적인 좌표에 의해 표현되며, 이 위치들이 500 미터 내에 있다면 서로 근방에 있을 수 있다. 소정의 거리는 위치들의 영역을 기초로 변화할 수 있다. 예를 들어, 500 미터가 대도시 지역에서는 "근방(near)" 위치를 식별하는 임계치일 수 있지만, 2000 미터가 지방 지역에서는 "근방" 위치를 식별하기 위한 임계치일 수 있다.
몇몇의 예에서, "위치 스코어"는 현재 및 이전의 위치 사이의 지리적인 거리를 기초로 판정되는데, 여기서 스코어는 현재 및 이전의 위치가 서로 근접할수록 보다 큰 값이 할당된다. 두 위치가 가까워짐에 따라, 위치 값은 "커지게" 되는데, 다양한 구현들을 기초로 위치 스코어 증가 또는 감소를 참조할 수 있다. 위치 스코어는 두 상태가 일치하는지를 판정하기 위해 단독으로 또는 하나 이상의 추가 스코어 (예를 들어, 시간 스코어 및 사용자 정의 스테이트먼트 스코어)와 함께 사용될 수 있다. 다음에서 시간 스코어와 사용자 정의 스테이트먼트 스코어의 논의 후에 현재 및 이전의 상태가 일치하는지를 판정하기 위한 이러한 스코어들의 조합이 보다 상세히 논의된다.
모바일 컴퓨팅 장치의 현재 시간이 모바일 장치의 이전 시간 근방이라면 두 상태가 일치할 수 있다. 현재 및 이전 시간이 유사하게 정의된 기간 내에 있다면 두 시간은 서로 근방일 수 있다. 기간은 하루 중에 재발생하는 부분일 수 있다. 기간의 예들은 월요일 정오, 수요일 아침, 주중 저녁, 주말, 및 특정한 휴일을 포함한다. 각각의 기간은 시작 시간 및 종료 시간(예를 들어, 정오에서 오후 3시)과 연관될 수 있다.
몇몇의 예에서, "시간 스코어"는 현재와 이전 시간 사이의 거리를 기초로 판정되는데, 여기서 스코어는 현재 시간과 이전 시간이 서로 가까울수록 더 큰 값이 할당된다. 시간은 하루 중 시간(예를 들어, 시간 및 분)과 일자(예를 들어, 2010년 1월 5일)를 식별하는 정보로서 저장될 수 있다. 그러나, 거리는 일자를 무시할 수 있다. 예를 들어, 첫째날 오전 10:54은 일자와 관계없이 둘째날 오전 11:10으로부터 16분 떨어진 것으로 판정될 수 있다.
다양한 예에서, 모든 주중이 동일하게 취급될 수 있고 모든 주말이 동일하게 취급될 수 있다. 따라서, 목요일 오후 3:04은 이전의 월요일 오후 3:14 시간으로부터 10분 떨어진 것으로 취급될 수 있다. 그러나, (예를 들어, 월요일과 일요일은 동일한 "날"로 취급되지 않기 때문에) 월요일 오후 3:14은 일요일 오후 3:11으로부터 대략 24시간 떨어진 것으로 취급될 수 있다. 몇몇의 예들에서, 과거 시간이 더 오래될수록, 시간 사이의 거리는 증가될 수 있다. 예를 들어, 6개월 전이었던 월요일 3:14의 시간은 지난 6개월에 걸친 청취 선호의 가능한 변화를 보상하기 위해 목요일 3:04의 현재 시간으로부터 55분 떨어진 것으로 취급될 수 있다. 다음에서 논의하는 바와 같이, 시간 스코어는 두 상태가 일치하는지를 판정하기 위해 단독 또는 하나 이상의 추가 스코어(예를 들어, 위치 스코어 및 사용자 정의 스테이트먼트 스코어)와 함께 사용될 수 있다. 현재 및 이전 상태가 일치하는지를 판정하기 위한 이러한 스코어들의 조합은 사용자 정의 스테이트먼트 스코어의 논의 후에 상세히 설명된다.
최근의 사용자 정의 스테이트먼트가 이전의 사용자 정의 스테이트먼트 내의 콘텐츠와 동일한 콘텐츠를 포함한다면 두 상태는 일치할 수 있는데, 최근의 사용자 정의 스테이트먼트 내의 콘텐츠는 이전의 사용자 정의 스테이트먼트의 컨셉에 의해 참조되는 컨셉을 참조하도록 판정된다. 사용자 정의 스테이트먼트들은 모바일 컴퓨팅 장치를 사용하여 사용자가 제공했던 문자 또는 음성 스테이트먼트일 수 있다. 스테이트먼트의 예들은 텍스트 메시지, 이메일, 또는 노트-테이킹 프로그램(note-taking programs)으로부터의 문자 콘텐츠 및 언어 서치 질의 또는 언어 음성 명령을 통해 제공된 전사된 언어 콘텐츠(transcribed verbal content)를포함한다.
이전의 스테이트먼트는 콘텐츠(예를 들어, 스테이트먼트 내의 수행 키워드 일치 및 일치하는 키워드 수) 및 스테이트먼트가 서로 "근방"에 있었던 시간 동안에 발생했는지 (예를 들어, 후술함)를 기초로 최근의 스테이트먼트에 대해 평가될 수 있다. 키워드가 동일하거나 동일한 소정의 컨셉과 각각 연관된다면 키워드는 일치할 수 있다. "현재" 스테이트먼트가 오래될수록, 그 스테이트먼트가 휴대 전화의 현재 상태에 대해 가질 수 있는 관련성은 줄어든다. "스테이트먼트 스코어"는 스테이트먼트들 간의 키워드 유사성 및 시간 거리를 기초로 계산될 수 있다.
상기에서 유의되는 바와 같이, 예를 들어, 위치, 시간, 및 사용자 정의 스테이트먼트들의 다양한 조합들이 상태가 일치하는지를 판정하기 위해 사용될 수 있다. 예를 들어, 현재 상태와 이전의 상태와 일치를 위해 현재 및 이전의 위치와 연관된 시간 모두가 필요할 수 있다. 몇몇의 예에서, 위치 스코어와 시간 스코어가 상태가 일치하는지를 판정하는데 사용될 수 있다. 예를 들어, 스코어들은 요소들의 전체 기여도를 조정하도록 가중치 변수들을 잠재적으로 변화시키면서 스코어들을 합산 또는 승산함으로써 스코어들을 조합하는 연산에 사용될 수 있으며, 몇몇의 예에서, 추가 요소들이 포함될 수 있다. 몇몇의 예에서, 매칭 상태가 임계값을 초과하는 상태(예를 들어, 352의 값을 초과하는 조합 스코어를 갖는 상태, 스코어의 개별 요소들이 대응하는 임계값들을 초과하는 상태, 또는 스코어의 개별 요소들 중 임의의 것이 임계값을 초과하는 상태)로서 식별될 수 있다. 몇몇의 예에서, 매칭 상태는 최고 N개의 매칭 상태로서 식별될 수 있다. 예를 들어, 현재 상태는 매칭 상태를 식별하도록 다수의 다른 이전 상태들에 대해 측정될 수 있다. 상위 50개의 상태가 매칭 상태로서 선택될 수 있다.
각각의 매칭 이전 상태 동안에 재생되었던 미디어 파일들이 미디어 파일들의 선호 콜렉션으로 선택될 수 있다. 따라서, 미디어 파일들의 선호 콜렉션은 유사한 위치에서, 유사한 기간 동안에, 사용자가 유사한 스테이트먼트들을 정의했을 때 재생되었던 미디어 파일들을 포함할 수 있다. 선택되는 선호 미디어 파일들의 양은 소정의 요구도(예를 들어, 특정한 파일 수 또는 소비될 디스크 공간의 양)에 기초하거나 소정의 스코어링 요구도(예를 들어, 이전에 재생된 미디어 파일들의 상태가 능가해야 하는 특정한 스코어)에 기초할 수 있다.
몇몇의 예에서, 미디어 파일들의 선호 콜렉션은 사용자가 이전에 재생한 미디어 파일들 뿐만 아니라 다른 사용자가 이전에 재생했던 미디어 파일들에도 기초한다. 다른 사용자들은 소셜 네트웍 내의 사용자와 관련될 수 있으며, 다른 사용자의 음악 청취 습관의 영향은 소셜 네트웍 내의 사용자로부터 다른 사용자의 거리에 기초할 수 있다. 예를 들어, 사용자의 "친구"(예를 들어, 모든 사용자의 포스트를 수신하도록 동의하고, 사용자가 그의 개인적인 상세 페이지를 보도록 허용한 개인)가 사용자의 현재 시간과 위치와 유사한 시간과 위치에서 특정한 곡을 청취한다면, 그 특정한 곡은 선호 미디어 파일로서 선택될 수 있다. 그 곡이 "친구의 친구"에 의해 재생되었다면, 그 곡은 덜 선호하게 스코어링될 수 있으며, 선호 미디어 파일로서 선택되거나 선택되지 않을 수 있다. 다른 사용자들은 상이한 사용자 계정명과 패스워드로 뮤직 서비스에 인증된 개인들일 수 있다.
다음에서 보다 상세히 설명하는 바와 같이, 선호 미디어 파일들의 선택은 매칭, 이전 상태에서 재생되었던 미디어 파일들 뿐만 아니라 모바일 컴퓨팅 장치에 의해 현재 재생되고 있는 미디어에 기초할 수도 있다.
선호 미디어는 모바일 컴퓨팅 장치에 로딩되는 유사 미디어 파일의 컴퓨터 생성 선택(박스 120)을 위한 "시드(seed)" 미디어 파일들일 수 있다. 상기 설명을 참조하면, 휴대 전화의 사용자는 주말 동안에 그의 레이크하우스에 있을 수 있으며, 따라서 선호 미디어는 사용자가 주말동안에 레이크하우스에 있는 동안 재생하였던 블루스 곡들의 콜렉션을 포함할 수 있다. 그러나, 모바일 장치는 사용자가 레이크하우스에 있는 동안 재생하였던 그 블루스 곡들 이상을 로딩할 수 있다. (즉, 선호 미디어) 실제로, 장치는 레이크하우스에 있는 동안에 이전에 재생하지 않았지만, 온라인 미디어서비스가 레이크하우스에 있는 동안에 재생되었던 곡들의 속성들과 일치한 속성을 포함하는 것으로 판정된 다른 블루스 곡들을 로딩할 수 있다.
예를 들어, 온라인 미디어 서비스는 선호 미디어와 유사한 사용자의 미디어 카탈로그 내에서 미디어를 판정하는 시스템으로, 사용자의 미디어 컬렉션의 콘텐츠를 기술하는 정보와 함께, 선호 곡들을 식별하는 정보를 전송할 수 있다. 유사한 미디어의 판정은 카탈로그 내의 다수의 곡들 각각에 대해 그 곡들의 특성에 대응하는 속성을 포함하는 미디어 유사성 데이터베이스(122)를 액세스하는 것을 포함할 수 있다. 예시적인 특성은 리드 보컬리스트의 성별, 전기 기타의 왜곡 레벨, 백그라운드 보컬들의 형태, 미디어의 장르 등을 포함한다. 각각의 특성은 1과 5 사이의 수치 값이 할당될 수 있다. 미디어 파일에 대해 속성의 저장된 셋이 주어지면, 유사 미디어 파일들이 예를 들어, 벡터 거리 함수를 기초로 식별될 수 있다.
다양한 예에서, 선호 미디어와 유사한 것으로 선택된 미디어는 유사성 레벨을 식별하는 관련성 스코어가 할당된다. 다양한 예에서, 사용자의 미디어 카탈로그에 존재하지 않은 미디어(예를 들어, 사용자가 이전에 미디어 카탈로그 내에 있도록 지정하지 않은 미디어)가 유사 미디어로서 식별될 수 있다. 따라서, 사용자의 모바일 장치는 사용자가 이전에 듣지 않았던 "제안" 음악이 로딩될 수 있는데, 이 제안 음악은 유사한 상태에서 사용자의 과거 청취 선호에 기초한다.
다양한 예에서, 다른 미디어가 모바일 장치로 로딩을 위해 선택된다. (박스 130) 몇몇의 예에서, 다른 미디어 콘텐츠의 선택은 사용자 생성 플레이리스트 내의 미디어 콘텐츠에 기초한다 (박스 132) 설명과 같이, 사용자는 미디어 파일들의 플레이리스트를 보도록 그의 모바일 장치를 사용할 수 있다. 플레이리스트는 미디어 파일들 중 몇몇이 다른 미디어 파일들보다 더 중요하게 나타나도록 (예를 들어, 파일들 중 몇몇은 리스트의 상부에 나타남) 정렬된 순서로 보여질 수 있다. 모바일 컴퓨팅 장치는 사용자가 다른 것보다 해당 미디어 파일을 재생하기 쉬울수 있기때문에, 플레이리스트의 정렬 순서를 기초로 보다 중요하게 표시된 미디어 파일을 로딩할 수 있다. 다양한 예들에서, 정렬된 순서로 상위 N개의 미디어 파일들이 로딩된다. 다양한 예에서, 어플리케이션 실행 시에 플레이리스트의 초기 뷰로 표시되는 미디어 파일들(예를 들어, 사용자 스크롤링 다운없이 보여지는 미디어 파일)이 로딩된다.
다양한 예들에서, 사용자는 플레이리스트의 정렬을 변화시키도록 그래픽 유저 인터페이스 엘리먼트를 선택할 수 있다. 예를 들어, 사용자는 현재 알파벳 곡명 순서로 정렬된 플레이리스트를 볼 수 있다. 모바일 장치는 아티스트명, 앨범명, 장르, 길이, 또는 미디어 파일이 미디어 라이브러리에 추가된 일자에 기초하여 플레이리스트를 재정렬하기 위한 인터페이스 엘리먼트를 포함할 수 있다. 몇몇의 예에서, 플레이리스트가 현재 다른 정렬에 표시하지 않도록 구성되어도, 모바일 장치는 하나 이상의 다른 정렬에 대해 하나 이상의 보다 중요하게 표시되는 미디어 파일들이 로딩될 수 있다. 따라서, 사용자가 곡명 알파벳 순서로 정렬된 플레이리스트를 보고 데이터가 추가된 시간 순서로 플레이리스트를 보도록 선택한다면, 가장 시간적으로 관련된 미디어 파일들이 사용자가 정렬을 변화시키기 전에 모바일 장치에 이미 로딩되었을 수 있다.
다양한 예에서, 하나 이상의 상술한 "다른" 정렬들에 대해 가장 중요하게 표시되는 미디어 파일들이 특정한 플레이리스트를 정렬하는데 사용되거나 라이브러리 내의 미디어를 정렬하는데 일반적으로 사용될 때 "다른" 정렬의 사용자 사용의 인기도를 기초로 하여 로딩될 수 있다. 몇몇의 예들에서, 특정한 플레이리스트를 위해 로딩된 가장 중요하게 표시된 미디어 파일들의 양은 얼마나 "인기있는" 플레이리스트가 모바일 장치의 현재 상태에 대한 것인지에 기초할 수 있다. 현재 상태에 대한 플레이리스트의 인기도는 플레이리스트 내에 얼마나 많은 미디어 파일들이 "선호"이고 얼마나 많은 미디어 파일들이 "유사"인지를 기초로 판정될 수 있다.
다양한 예들에서, 플레이리스트가 "인기"인 것으로 판정되었을 때, 최빈 재생 미디어가 선호 미디어인지(박스 110 참조) 또는 유사 미디어(박스 120 참조)인지에 관계없이, 전체 플레이리스트가 모바일 장치로 로딩되거나 또는 플레이리스트 내의 최빈 재생 미디어가 모바일 장치로 로딩된다. 유사하게, 미디어의 비-플레이리스트 그룹(non-playlist group)(예를 들어, 특정 "앨범", "아티스트", 또는 "장르")이 인기있는 것으로 판정될 때, 미디어의 비-플레이리스트 그룹으로부터 추가적인 미디어가 모바일 장치로의 로딩을 위해 선택될 수 있다. 모바일 장치로의 로딩을 위한 선호 미디어, 유사 미디어, 및 다른 미디어의 선택이 예를 들어, 도 4를 참조로 본 명세서에서 보다 상세히 논의된다.
박스 140에서, 콜렉션 내의 미디어의 선택된 서브셋(예를 들어, 박스 110으로 참조된 선호 미디어, 박스 120으로 참조된 유사 미디어, 및 박스 130으로 참조된 다른 미디어)이 모바일 컴퓨팅 장치로 로딩된다. 미디어 파일을 로딩하는 것은 선택된 서브셋 내의 미디어 파일들의 시작 부분 또는 선택된 서브셋 내의 전체 미디어 파일들을 로딩하는 것을 포함할 수 있다. 다양한 예들에서, 미디어 파일들의 선택된 서브셋 중 몇몇은 완전히 로딩되고 몇몇은 부분적으로 로딩된다. (예를 들어, 선호 미디어는 완전히 로딩될 수 있고 유사 미디어 및 다른 미디어는 부분적으로 로딩될 수 있다) 모바일 컴퓨팅 장치는 특정한 양의 메모리를 이용가능하거나 또는 미디어 로딩을 위한 예약으로서 지정할 수 있다. 따라서, 선택되었던 낮은 스코어의 미디어 중 몇몇은 이러한 메모리 제안으로 인해 로딩되지 않을 수 있다.
선택된 미디어는 네트웍을 통해 모바일 컴퓨팅 장치로 전송될 수 있다. 모바일 컴퓨팅 장치 상에 현재 저장된 미디어는 전송된 미디어가 현재 저장된 미디어를 대체하도록 제거될 수 있다. 이러한 방식으로, 모바일 장치는 모바일 장치의 현재 상태를 기초로 사용자가 관심을 가질 것으로 판정되었던 미디어를 저장하도록 지정된 메모리의 한 부분을 포함할 수 있다. 또한, 모바일 장치는 보다 영구적인 기준으로 저장된 미디어 파일을 포함할 수 있다. (즉, 모바일 장치의 사용자가 그들이 제거되거나 대체되어야한다고 결정할 때까지)
미디어가 전송되는 임의의 청각적-시각적 표시를 모바일 장치가 제공하지 않으면서 미디어가 모바일 장치로 전송될 수 있다. 따라서, 모바일 장치는 주기적으로 (예를 들어, 매 10분마다) 모바일 장치의 현재 상태를 판정하고 판정된 상태와 가장 관련 있는 미디어 콘텐츠를 판정할 수 있다. 몇몇의 예들에서, 상태의 판정은 모바일 컴퓨팅 장치의 이동(예를 들어, 사용자가 일과 후에 모바일 장치와 함께 그의 자동차로 걸어가서 모바일 장치를 정적인 상태로 유지할 때)에 의해 트리거될 수 있다. 따라서, 사용자는 일정 기간 동안 그의 모바일 장치를 내려놓았고, 그가 장치를 들어올렸을 때 상이한 미디어 파일들의 셋이 사용자 입력 없이 모바일 장치로 로딩되었다.
박스 150에서, 로딩된 미디어는 시각적으로 식별된다. 몇몇의 예들에서, 로딩된 미디어 파일들은 로딩되지 않았던 미디어 파일들과 다르게 모바일 장치의 사용자에게 표시된다. 예를 들어, 플레이리스트에서 로딩된 미디어 파일의 표시는 아이콘이 추가되거나 모바일 장치로 로딩되지 않은 미디어 파일과 다른 컬러로 나타낼 수 있다. 따라서, 사용자는 그가 자신의 음악 컬렉션을 탐색할 때 어느 미디어 파일들이 모바일 장치로 로딩되었는지를 구별할 수 있다. 몇몇의 예들에서, 사용자는 모바일 장치의 현재 상태와 연관되는 미디어 파일들을 로딩하지만 그 미디어 파일들을 재생하지 않는 입력을 제공할 수 있다.
몇몇의 예에서, 로딩된 미디어를 시각적으로 식별하는 것은 로딩된 미디어를 기초로 모바일 장치가 생성하였던 플레이리스트를 모바일 장치가 시각적으로 표시하는 것을 포함한다. 예를 들어, 모바일 장치는 모바일 장치의 현재 상태를 기초로 플레이리스트 내에 포함을 위해 자동적으로 음악이 선택되는 "당신을 위한 음악 선택(Music Selected for You)" 플레이리스트를 포함할 수 있다.
박스 160에서, 모바일 장치는 미디어 파일을 재생하는 사용자 입력을 수신한다. 예를 들어, 사용자는 그가 청취하고 싶은 특정 곡을 선택할 수 있다. 선택(및 곡 재생)에 응답하여, 미디어 선호 데이터베이스(112)는 곡의 표시 및 모바일 컴퓨팅 장치의 현재 상태를 저장하여, 그 곡(및 유사 곡)이 모바일 장치가 다시 유사 상태에 있을 때 로딩을 위해 선택될 수 있도록 한다. 미디어 파일을 재생하는 것은 모바일 장치의 로컬 메모리 내에 저장된 미디어 파일의 한 부분을 액세스하여 미디어 파일의 부분 또는 그 내부의 미디어 콘텐츠를 어플리케이션 프로그램에 의한 액세스를 위해 임시 메모리(예를 들어, RAM)로 전송하는 것을 수반할 수 있다. 어플리케이션 프로그램은 미디어 파일의 액세스된 부분 및 미디어 파일의 나머지 부분이 서버 시스템으로부터 전달되도록 하는 요청을 출력할 수 있다. 즉, 모바일 장치는 미디어 파일의 나머지 부분이 서버 시스템으로부터의 전송으로 버퍼링되는동안 미디어 파일의 시작 부분을 청각적으로 출력할 수 있다.
상기 참조된 바와 같이, 선호 미디어 파일들의 선택(박스 110)은 현재 상태와 유사한 이전 상태 동안에 재생된 미디어 파일들 뿐만 아니라 현재 재생하고 있거나 최근에 재생하였던 미디어 파일들에 기초할 수 있다. 예를 들어, 모바일 컴퓨팅 장치의 사용자는 그의 레이크하우스 도착 시에 블루스 곡을 재생하도록 사용자 입력을 제공했을 수 있다. 블루스 곡들이 이미 자동적으로 모바일 장치에 로딩되었지만, 현재 재생하는 블루스 곡을 기초로 모바일 장치로의 로딩을 위한 미디어 파일들의 선택이 개선(refine)될 수 있다.
예를 들어, 현재 재생 블루스 곡을 포함하는 앨범 또는 플레이리스트의 다음 곡이 휴대 전화로 로딩될 수 있다. 현재 재생 플레이리스트 또는 앨범은 보다 높게 가중치 부여될 수 있으며 플레이리스트 또는 앨범으로부터의 추가 미디어 파일들이 모바일 장치로 로딩될 수 있다. 몇몇의 예에서, 전체 플레이리스트 또는 앨범이 모바일 장치로 로딩될 수 있다. 또한, "유사" 미디어의 선택은 현재 재생하고 있는 곡과 유사한 곡들이 모바일 장치로 로딩되도록 수정될 수 있다. 현재 재생 중인 미디어에 기초한 로딩 미디어의 수정은 현재 막 재생 중인 미디어 파일 이상을 기초로 할 수 있다. 이 수정은 다수의 최근 재생 미디어 파일들(예를 들어, 최근 N개의 미디어 파일들 또는 최근 30분 내에 재싱된 미디어 파일들)에 기초할 수 있다.
도 2는 미디어 선호 데이터베이스 내의 콘텐츠의 예를 도시하고 있다. 도시된 미디어 선호 데이터베이스는 도 1에 도시된 미디어 선호 데이터베이스(112)일 수 있다. 이 데이터베이스는 온라인 미디어 서비스의 다수의 사용자들 중 각각의 특정한 사용자에 대해, 특정한 사용자가 재생한 미디어의 표시 및 미디어가 재생되었던 상태를 식별하기 위한 정보를 포함할 수 있다. 설명을 위해, 데이터베이스는 온라인 미디어 서비스의 다른 사용자에 의해 재생되었던 미디어를 더 식별할 수 있지만, 도 2는 단지 온라인 미디어 서비스의 단일 사용자에 의해 재생되었던 미디어 콘텐츠를 도시하고 있다.
미디어 선호 데이터베이스는 3개의 곡들(즉, 곡 A 210, 곡 B 240, 및 곡 C 260)을 특정 사용자가 재생한 것을 도시하고 있다. 곡들 각각에 대해, 미디어 선호 데이터베이스는 곡이 재생된 시간(282), 곡이 재생되기 시작되었던 시작 지리적 위치(284), 곡이 재생 종료되었던 종료 지리적 위치(286), 및 곡이 재생되었던 시간 동안에 또는 곡이 재생된 소정의 시간 내에 생성되었던 사용자 정의 스테이트먼트(288)를 저장하고 있다.
이러한 예에서, 곡 A(210)는 모든 주중 저녁 동안에 3번 재생되었다. (예를 들어, 화요일 저녁 212, 수요일 저녁 222, 및 목요일 저녁 232) 곡의 각각의 재생 동안에, 사용자는 직장에 있는 동안 곡 재생을 시작하였고(예를 들어, 시작위치 214, 224, 및 234), 사용자가 그의 집에 있는 동안 종료하였다.(예를 들어, 종료 위치 216, 226, 및 236) 사용자는 곡 A(210)가 재생된 각각의 예 동안에 단일 사용자 정의 콘텐츠를 제공하였다. 특히, 사용자가 "집으로 운전(Driving Home!)"(218) 문자를 보내고, 콘텐츠 "퇴근(Done with work)"을 포함한 메시지를 이메일로 보내며, 음성 질의 "피자집(pizza places)"(238)을 제출하였다.
이러한 예에서 곡 B(240)는 두번 재생되었으며, 두번 모두 토요일 오전이었다. 예를 들어, 사용자는 8/14/2010의 오전 8:30과 8/21/2010의 오전 9:56에 해당 곡을 재생하였다. 두 예들에서, 사용자는 시작 위치로부터 수백 미터 떨어진 (예를 들어, 사용자가 달려나갔기 때문에) 종료 위치로 이동하였다. 이러한 예에서, 지리적인 위치들이 지리적인 좌표로 제공된다. 곡을 재생하는 8/14/2010 예 동안에, 사용자는 임의의 사용자 정의 콘텐츠를 제공하지 않았다. 곡을 재생하는 8/21/2010 예 동안에, 그러나, 사용자는 "달림(Running!)"을 진술하는 마이크로 블로그 포스트를 마이크로 블로그 서비스에 제출하였다.
이러한 예에서, 곡 C(260)는 두번 재생되었으며, 두번 모두 주중 동안 정오 부근이었다. 두가지 예들에서, 사용자는 동일한 집코드(zip code) 55454에서 머물러 있었다. 곡의 각각의 재생 동안에 캘린더 엔트리(calendar entry)는 "체육관에서 운동(Exercise at gym)"으로 제목이 붙여졌다.
이러한 미디어 선호 데이터베이스의 예의 설명에서 보여진 바와 같이, 모바일 장치가 특정한 상태에 있을 때 모바일 장치의 사용자는 특정한 미디어 파일을 재생할 수 있다. 예를 들어, 곡 A(210)는 각각의 날에 직장으로부터 사용자의 집으로 돌아가는 길에 재싱된다. 곡 B(240)는 사용자가 토요일 아침에 달리는 동안 재생된다. 곡 C(260)는 사용자의 점심시간 동안에 그리고 모바일 장치가 체육관에 있을 때 재생된다. 따라서, 사용자의 활동은 모바일 장치의 상태로부터 추론될 수 있다. 따라서, 모바일 장치가 미래에 유사한 상태로 진입할 때, 곡들은 그 상태를 기초로 선택되어, 모바일 장치로 로딩될 수 있다.
미디어 선호 데이터베이스는 가변 표현으로 상태 정보를 저장할 수 있다. 예를 들어, 시간 재생 데이터(282)는(예를 들어, 재생된 시간 242와 함께) 절대 시간 및 일자에 의해 표현될 수 있으며, 또한 (예를 들어, 재생 시간 212와 함께) 미디어가 재생되었던 재발생 기간에 의해 표현될 수 있다. 시작 위치(284)와 종료 위치(286)는 사용자 정의 영역(예를 들어, 위치 214), 지리적인 좌표 (예를 들어, 위치 244), 또는 소정의 지리적인 영역(예를 들어, 위치 264)에 의해 표현될 수 있다. 예시적인 소정의 지리적인 영역들은 경계 집코드 영역, 인근, 도시, 및 주를 포함할 수 있다. 다른 소정의 지리적인 영역들은 마이크로 블로그 메시징 서비스를 사용하여 사용자가 "체크인(checked-in)"한 장소들을 포함할 수 있다.
도 3은 모바일 장치에 미디어 파일을 로딩하기 위한 시스템의 예를 도시하고 있다. 이 시스템은 미디어 파일이 로딩되는 모바일 컴퓨팅 장치(300)를 포함한다. 모바일 장치(300)는 모바일 컴퓨팅 장치의 상태를 판정하고, 현재 상태를 저장을 위해 미디어 선호 데이터베이스(310)로 전송하기 위한 상태 판정기(302)를 포함한다. 서버 시스템(320)은 현재 상태와 일치하는 모바일 컴퓨팅 장치의 이전 상태 동안에 재생되었던 미디어 파일을 판정하기 위해 미디어 선호 데이터베이스(310)를 액세스하는 선호 미디어 판정기(322)를 포함한다. 또한, 서버 시스템(324)은 선호 미디어 파일들을 기초로 추가 미디어 파일들을 식별하기 위한 다른 미디어 판정기(324)를 포함한다. 미디어 로더(326)는 미디어 플레이어(304)에 의한 재생을 위해 미디어 파일 콜렉션(330)으로부터 모바일 컴퓨팅 장치(300)로 선호 및 다른 미디어 파일들을 전송한다.
보다 상세하게, 모바일 컴퓨팅 장치(300)는 예를 들어, 위성 기반 네비게이션 시스템으로부터의 신호를 사용하여 또는 셀-타워 삼각측량(cell-tower triangulation)을 사용함으로써 모바일 컴퓨팅 장치(300)의 현재 지리적인 위치를 판정하는 상태 판정기(302)를 포함한다. 또한, 상태 판정기(302)는 모바일 컴퓨팅 장치(300)를 사용하여 사용자가 정의한 스테이트먼트들 및 모바일 컴퓨팅 장치에서 현재 재생하고 있는 미디어를 식별할 수 있다. 상태 판정기(302)는 이러한 정보를 미디어 선호 데이터베이스(310)에 저장하기 위해 서버 시스템(320)으로 전송할 수 있다.
미디어 선호 데이터베이스(310)는 모바일 컴퓨팅 장치(300)에서 재생되었던 이전의 미디어 파일들을 기술하는 정보, 미디어 파일들이 재생되었던 시간, 미디어 파일들이 재생되었을 때 모바일 컴퓨팅 장치(300)의 지리적인 위치, 및 미디어 파일들이 재생되었을 때 제출되었던 사용자 정의 스테이트먼트들을 포함한다. 미디어 선호 데이터베이스(310)는 도 2를 참조로 설명된 데이터베이스와 동일할 수 있다. 미디어 선호 데이터베이스(310)는 서버 시스템(320)에 존재하는 것으로 설명되지만, 모바일 장치(300)에 저장될 수도 있다.
선호 미디어 판정기(322)는 모바일 장치(300)가 현재 상태와 일치하는 이전 상태에 있었을 때 재생되었던 미디어 파일들을 판정한다. 선호 미디어 판정기(322)는 미디어 선호 데이터베이스(310) 내의 정보, 적어도 그 일부를 기초로 판정을 수행한다.
다른 미디어 판정기(324)는 선호 미디어와 유사한 미디어를 판정한다. 유사 미디어가 선호 미디어의 기술적인 속성들(descriptive attributes)과 일치하는 기술적인 속성들이 할당되었다면 미디어는 선호 미디어와 유사한 것으로 판정된다. 다른 미디어 판정기(324)는 플레이리스트의 정렬 내에 중요하게 표시되는 미디어 파일을 추가적으로 또는 대안적으로 판정할 수 있다.
선호 미디어 판정기(322) 및 다른 미디어 판정기(324)는 서버 시스템(320)에 위치한 것으로 설명된다. 그러나, 몇몇의 예에서, 선호 미디어 판정기(322) 및 다른 미디어 판정기(324)는 모바일 컴퓨팅 장치(300)에 위치한다. 예를 들어, 미디어 선호 데이터베이스(310)의 데이터는 모바일 컴퓨팅 장치(300) 상에 국부적으로 저장될 수 있다. 모바일 컴퓨팅 장치(300)는 국부적으로 저장된 선호 미디어 판정기(322)를 사용하여 모바일 컴퓨팅 장치(300)의 유사 상태 동안에 이전에 재생되었던 선호 미디어 파일들을 판정할 수 있다. 다양한 예에서, 다른 미디어 판정기(324)는 모바일 컴퓨팅 장치(324) 상에 국부적으로 저장되며, 단독으로 또는 서버 시스템(320)과 협력 동작함으로써 선호 미디어 파일들과 유사한 다른 미디어 파일들을 식별한다. 국부적으로 저장된 선호 미디어 판정기(322) 및 다른 미디어 판정기(324)는 미디어 로더(326)에 의한 사용을 위해 서버 시스템(320)으로 선호 미디어 파일들과 다른 미디어 파일들의 식별을 전송할 수 있다.
미디어 로더(326)는 미디어 파일 컬렉션(330)으로부터 선호 미디어 파일들과 다른 미디어 파일들(324)을 검색하고, 국부적 액세스가능 메모리에 저장하기 위해 검색된 미디어 파일들을 모바일 장치(300)로 전송한다. 몇몇의 예들에서, 모바일 장치(300)에 전체 미디어 파일들을 전송하는 대신에, 미디어 파일들의 단지 일부분이 모바일 장치에 전송된다. 이 부분은 미디어 파일의 시작 부분이거나, 미디어 파일들 내의 재생가능한 미디어 콘텐츠의 제1 시간 부분을 재생하기 위한 미디어 파일들의 한 부분일 수 있다. 따라서, 모바일 장치(300)의 미디어 플레이어(304)는 미디어 파일의 시작 부분을 서버 시스템(320)으로부터 요청하지 않으면서 로딩되었던 미디어 파일 재생을 시작할 수 있다. 대신에, 모바일 장치(300)는 단지 재생 미디어 파일(300)의 나머지 부분만 수신할 필요가 있을 것이다.
미디어 플레이어(304)는 모바일 컴퓨팅 장치(300)에 설치된 어플리케이션 프로그램, 또는 모바일 컴퓨팅 장치(300)를 사용하여 액세스되는 웹사이트일 수 있다. 미디어 플레이어(304)는 모바일 장치(300)의 사용자를 위해 미디어 파일 콜렉션(330) 내에서 서버 시스템(320)에 저장된 음악의 카탈로그를 모바일 장치(300)의 사용자가 탐색하도록 할 수 있다. 사용자는 미디어 플레이어(304)가 선택된 미디어를 재생하도록 하는 사용자 입력을 제공할 수 있다. 선택된 미디어 파일, 또는 그 일 부분이 미디어 파일을 재생하게 하기 위한 사용자 입력 수신시에 이미 모바일 장치(300)에 로딩되지 않았다면, 미디어 플레이어(304)는 미디어 로더(326)가 선택된 미디어 파일을 모바일 장치(300)로 스트리밍하는 것을 요청할 수 있다. 선택된 미디어 파일, 또는 그 일부분이 모바일 장치(300)에 이미 로딩되었다면, 미디어 플레이어(304)는 로딩된 미디어 파일, 또는 그 일 부분을 재생할 수 있다. 나머지 부분은 서버 시스템(320)으로부터 요청될 수 있다.
도 4는 미디어 콜렉션 내의 곡들의 예, 및 모바일 컴퓨팅 장치에 로딩되었던 곡들의 서브셋을 도시하고 있다. 이러한 예에서, 모바일 장치의 사용자를 위해 서버 시스템에 저장된 미디어 콜렉션은 곡들 A-Z를 포함한다. 모바일 장치의 현재 상태, 및 곡들 A-Z 각각이 재생되었던 동안의 이전의 상태를 기초로, 선호 미디어 판정기(322)는 선호 곡들(402)인 것으로 곡들 E-Z를 선택한다. (예를 들어, 현재 상태와 일치하는 이전의 상태 동안에 재생되었던 곡들)
선호 곡들(402)을 기초로, 다른 미디어 판정기(324)는 유사한 곡들(404 및 408)을 선택한다. 도 4의 도시에서, 유사한 곡들은 두개의 카테고리, 매우 유사한 곡들(404)과 어느정도 유사한 곡들(408)로 분할된다. 판정된 유사성의 변화는 적어도 부분적으로 유사한 곡들(404 및 408)이 선호 곡들(402)과 일치하는 기술적인 속성들의 양에 기초할 수 있다.
플레이리스트 A(410), 플레이리스트 B(412), 및 플레이리스트 C(414)는 그 몇몇이 모바일 컴퓨팅 장치로 로딩되었던 다수의 곡들을 각각 포함하는 사용자 정의 플레이리스트들이다. 모바일 컴퓨팅 장치에 로딩되었던 곡들은 음영 표시되고, 모바일 컴퓨팅 장치에 로딩되지 않았던 곡들은 비음영 표시된다. 모바일 컴퓨팅 장치로 로딩되었던 곡들 각각의 다음이 곡들이 로딩되었던 이유이다.
플레이리스트 A(410) 내의 곡들을 참조하여, 곡들 E, G, 및 L은 곡들이 선호 곡들(402)로 판정되었기 때문에 모바일 장치로 로딩되었다. 따라서, 모든 선호 곡들이 모바일 컴퓨팅 장치로 로딩될 수 있다. 이러한 예에서, 어느정도 유사한 곡들 Y 및 S가 또한 로딩되었다. 후술하는 바와 같이, 어느정도 유사한 것으로 판정된 곡들이 항상 모바일 장치에 로딩되는 것은 아닐 수 있다. 몇몇의 예들에서, 어느정도 유사한 곡들이 관련성 기준을 충족시키는 플레이리스트 내에 포함될 때 어느정도 유사한 곡들이 모바일 장치로 로딩된다. 예시적인 관련성 기준은 플레이리스트가 임계 수치를 초과하는 선호곡의 양, 또는 플레이리스트 내의 곡들의 퍼센트가 임계 퍼센트를 초과하는 것을 포함한다. 플레이리스트 A(410)를 참조로, 플레이리트스 내의 10개의 곡 중 3개가 선호 곡이다. 이 3개의 선호 곡은 플레이리스트 내의 예시적인 임계치인 2개의 곡 또는 25%를 초과할 수 있다.
이러한 예에서, 곡 I는 플레이리스트의 일자순 정렬에서 첫번째 곡이기 때문에 로딩되었다. (예를 들어, 곡이 미디어 라이브러리에 추가되었던 일자순으로 플레이리스트의 곡들을 정렬) 이 일자순 정렬은 플레이리스트 A가 모바일 컴퓨팅 장치 상에 표시되도록 현재 구성된 정렬일 수 있다.
이러한 예에서, 곡 D가 또한 로딩되었다. 곡 D는 선호 또는 유사 곡이 아닐 수 있지만, 곡 D는 플레이리스트 A의 알파벳 정렬에서 첫번째 곡이기 때문에 선택되었다. 플레이리스트 A는 알파벳 정렬에서 표시되도록 현재 구성되지 않을 수 있지만, 모바일 컴퓨팅 장치의 사용자는 곡들이 알파벳 순서로 표시되도록 표시를 변화시키는 옵션을 가질 수 있다. 이러한 예에서, 플레이리스트의 비-현재 정렬 (non-current sorting)에서 최 중요 표시 곡으로서, 곡 D가 로딩되는데 이는 플레이리스트 A가 상수한 임계치를 초과하기 때문이다. 플레이리스트가 임계치를 초과하지 않을 수 있는 예들에서, 플레이리스트의 비-현재 정렬 내의 최 중요 표시 곡은 로딩되지 않을 수 있다.
이러한 예에서, 곡 X는 플레이리스트 내에서 가장 많이 재생된 곡이기 때문에 로딩되었다. 플레이리스트 내에서 가장 많이 재생된 곡은 플레이리스트가 상술한 임계치를 초과할 때 로딩될 수 있다.
플레이리트스 B(412)는 미디어 콜렉션으로부터 곡들의 다른 사용자 정의 플레이리스트일 수 있다. 이러한 예에서, 곡 Z는 그 곡이 선호 곡이기 때문에 로딩되었다. 또한, 곡들 P 미 M은 그 곡들이 상당히 유사한 곡들이기 때문에 로딩될 수 있다. 플레이리스트 내의 상당히 유사한 곡들은 항상 로딩되거나 또는 선호 곡들의 임계 양이 임계치에서 발견될 때마다 로딩될 수 있다. 이러한 예에서, 임계치는 하나의 선호 곡이었고, 따라서 상당히 유사한 Z 및 M이 로딩된다.
이러한 예에서, 곡 J는 플레이리스트의 일자순 정렬에서 첫번째 곡이기 때문에 로딩되었다. (일자순 정렬이 플레이리스트의 현재 정렬이다) 몇몇의 예들에서, 플레이리스트의 현재 정렬 내의 첫번째 곡은 항상 모바일 장치에 로딩된다. 다른 예들에서, 플레이리스트는 로딩되는 현재 순서에서 첫번째 곡을 위한 순서에 (단독 카운트되거나 유사 곡들과 함께) 선호 곡들의 임계치를 포함하여야 한다. 이러한 예에서, 곡 A는 플레이리스트의 알파벳 (비-현재) 정렬에서 첫번째 곡이라해도 로딩되지 않았다. 곡 A는 플레이리스트 B가 선호 곡들의 임계치 양을 포함하지 않을 수 있기 때문에 로딩되지 않을 수 있다.
플레이리스트 C(414)는 미디어 콜렉션으로부터의 곡들의 다른 사용자 정의 플레이리스트일 수 있다. 이러한 예에서, 플레이리스트는 선호 곡들(402)을 포함하지 않고, 매우 유사한 곡들(404)도 포함하지 않으며, 단일의 어느정도 유사한 곡(곡 R)을 포함한다. 곡 R은 플레이리스트 C(414)가 선호 곡들의 임계치 양을 포함하는 것으로 판정되지 않았기 때문에 로딩되지 않았다. 그러나, 이러한 예에서, 곡 B는 플레이리스트의 알파벳 (현재) 정렬에서 첫번째 곡이기 때문에 로딩된다. 몇몇의 예에서, 플레이리스트의 현재의 정렬 내에서 첫번째 N개의 곡들이 플레이리스트가 임의의 선호 곡들을 포함하는지에 관계없이 로딩될 것이다.
도 4에 대한 설명은 플레이리스트 내에 선호 곡들의 존재를 기초로 한 곡들의 선택을 참조하지만, 유사 컨셉이 곡들이 아닌 미디어 파일들(예를 들어, 비디오 파일들) 및 사용자 정의 플레이리스트들이 아닌 곡들의 콜렉션들(예를 들어, 컴퓨터 생성 플레이리스트, 앨범 내의 곡 리스트, 앨범 아티스트에 대한 곡 리스트, 및 장르에 대한 곡 리스트)에 적용될 수 있다.
도 5를 참조하면, 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용되는 시스템의 개념도가 도시되어 있다. 모바일 컴퓨팅 장치(510)는 네트웍(55)을 통해 모바일 컴퓨팅 장치에 수많은 서비스들(560)에 대한 무선 접속을 제공할 수 있는 기지국(540)과 무선으로 통신할 수 있다.
이러한 도시에서, 모바일 컴퓨팅 장치(510)는 모바일 컴퓨팅 장치(510)의 사용자에게 콘텐츠를 표현하기 위한 터치스크린 디스플레이 장치(512)를 포함하는 휴대 무선 전화(예를 들어, 스마트폰 또는 어플리케이션 전화)로서 도시되어 있다. 모바일 컴퓨팅 장치(510)는 모바일 컴퓨팅 장치(510)의 동작에 영향을 주는 사용자 입력을 수신하기 위한 다양한 입력 장치(예를 들어, 키보드 514 및 터치스크린 디스플레이 512)를 포함한다. 다른 구현에서, 모바일 컴퓨팅 장치(510)는 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 디지털 기기(personal digital assistant), 임베디드 시스템(예를 들어, 자동차 네비게이션 시스템), 데스크탑 컴퓨터, 또는 전산화된 워크스테이션일 수 있다.
모바일 컴퓨팅 장치(510)는 다양한 시각, 청각, 및 촉각 사용자 출력 메카니즘을 포함할 수 있다. 예시적인 시각 출력 메커니즘은 가시 사용자 인터페이스를 제공하도록 결합하는 비디오, 그래픽, 화상, 및 텍스트를 시각적으로 표시할 수 있는 디스플레이 장치(512)이다. 예를 들어, 디스플레이 장치(512)는 3.7인치 AMOLED 화면일 수 있다. 다른 시각 출력 메커니즘은 LED 상태등(예를 들어, 보이스메일이 수신되었을 때 깜빡이는 등)을 포함할 수 있다.
예시적인 촉각 출력 메커니즘은 진동 경보(예를 들어, 수신 전화 호를 사용자에게 경보하기 위해 진동하거나 터치스크린 512과의 접촉을 사용자에게 확인시켜줌)를 제공하도록 불평형 웨이트(unbalanced weight)에 연결되는 소형 전기 모터이다. 또한, 모바일 컴퓨팅 장치(510)는 전기 신호를 예를 들어, 음악, 오디오 경보, 또는 전화 호에서의 개별 음성인 소리로 변환시키는 하나 이상의 스피커(520)를 포함할 수 있다.
사용자 입력을 수신하기 위한 예시적인 메커니즘은 풀 쿼티 키보드 또는 숫자 '0-9', '*', 및 '#'에 대한 키를 포함하는 전통적인 키패드일 수 있는 키보드(514)를 포함한다. 키보드(514)는 사용자가 물리적으로 키보드 키에 접촉하거나 누름해제(depress)할 때 입력을 수신한다. 트랙볼(516)의 사용자 조작 또는 트랙패드와의 상호작용은 사용자가 모바일 장치(510)에 회전 정보의 방향과 속도를 제공하도록 한다. (예를 들어, 디스플레이 장치 512 상에 커서의 위치를 조작)
모바일 컴퓨팅 장치(510)는 터치스크린 디스플레이 장치(512)와 물리적인 접촉을 판정할 수 있다. (예를 들어, 손가락 또는 스타일러스에 의한 접촉 위치) 터치스크린(512)을 사용하여, 다양한 "가상"입력 메커니즘이 생성될 수 있는데, 사용자는 그래픽 유저 인터페이스 엘리먼트와 접촉함으로써 터치스크린(512) 상에 도시된 그래픽 유저 인터페이스 엘리먼트와 상호작용한다. "가상" 입력 메커니즘의 예는 "소프트웨어 키보드"인데, 키보드가 터치스크린 상에 표시되고 사용자는 각각의 키에 대응하는 터치스크린(512)의 영역을 누름으로써 키를 선택한다.
모바일 컴퓨팅 장치(510)는 기계적인 또는 터치 감응 버튼들(518a-d)을 포함할 수 있다. 또한, 모바일 컴퓨팅 장치는 하나 이상의 스피커(520)에 의해 출력되는 볼륨을 조정하기 위한 버튼과, 모바일 컴퓨팅 장치를 켜거나 끄기 위한 버튼을 포함할 수 있다. 마이크로폰(522)은 모바일 컴퓨팅 장치(510)가 청취가능한 소리를 디지털로 엔코딩되고 컴퓨터 판독가능 메모리에 저장되거나, 다른 컴퓨팅 장치로 전송될 수 있는 전기 신호로 변환시키도록 한다. 모바일 컴퓨팅 장치(510)는 또한 디지털 컴파스, 가속도계, 근접센서, 및 분위기 조도 센서를 포함할 수 있다.
운영 체제는 모바일 컴퓨팅 장치의 하드웨어(예를 들어, 입력/출력 메카니즘 및 컴퓨터 판독가능 매체로부터 검색된 명령을 실행하는 프로세서)와 소프트웨어 간의 인터페이스를 제공할 수 있다. 예시적인 운영 체제는 안드로이드 모바일 장치 플랫폼, 애플 아이폰/맥 OS X 운영 체제, 마이크로소프트 윈도우7/윈도우 모바일 운영 체제, 심비안 운영 체제, 림 블랙베리 운영 체제, 팜 웹 운영 체제, 다양한 유닉스 우호 운영 체제, 또는 전산화 장치를 위한 독점 운영 체제를 포함한다. 운영 체제는 컴퓨터 장치와 사용자 간에 상호작용을 용이하게 하는 어플리케이션 프로그램의 실행을 위한 플랫폼을 제공할 수 있다.
모바일 컴퓨팅 장치(510)는 터치스크린(512)으로 그래픽 유저 인터페이스를 표현할 수 있다. 그래픽 유저 인터페이스는 하나 이상의 그래픽 인터페이스 엘리먼트의 콜렉션이며 정적이거나 (예를 들어, 디스플레이가 일정 기간 동일한 것을 표시), 또는 동적일 수 있다. (예를 들어, 그래픽 유저 인터페이스가 사용자 입력없이 애니메이트(animate)하는 그래픽 인터페이스 엘리먼트들을 포함)
그래픽 인터페이스 엘리먼트는 텍스트, 라인, 모양, 이미지, 또는 그들의 조합일 수 있다. 예를 들어, 그래픽 인터페이스 엘리먼트는 데스크탑에 표시되는 아이콘 및 아이콘의 연관된 텍스트일 수 있다. 몇몇의 예에서, 그래픽 인터페이스 엘리먼트는 사용자 입력으로 선택가능하다. 예를 들어, 사용자는 그래픽 인터페이스 엘리먼트의 표시에 대응하는 터치스크린의 영역을 누름으로써 그래픽 인터페이스 엘리먼트를 선택할 수 있다. 몇몇의 예에서, 사용자는 트랙볼을 조작하여 하나의 그래픽 인터페이스 엘리먼트를 포커싱하는 것으로서 하이라이트시킬 수 있다. 그래픽 인터페이스 엘리먼트의 사용자 선택은 모바일 컴퓨팅 장치에 의해 소정의 동작을 호출할 수 있다. 몇몇의 예에서, 선택가능한 그래픽 인터페이스 엘리먼트는 또한 또는 대안적으로 키보드(504) 상의 버튼에 대응한다. 버튼의 사용자 선택은 소정의 동작을 호출할 수 있다.
몇몇의 예에서, 운영 체제는 모바일 컴퓨팅 장치(510)를 켜서 슬립 상태에서 모바일 컴퓨팅 장치(510)를 동작시키거나, 모바일 컴퓨팅 장치(510)를 "언락(unlocking)"시키거나, "홈(home)" 버튼(518c)의 사용자 선택 수신시에 표시되는 "데스크탑" 사용자 인터페이스를 제공한다. 데스크탑 그래픽 인터페이스는 사용자 입력으로 선택될 때 대응하는 어플리케이션 프로그램을 호출하는 여러 아이콘을 표시할 수 있다. 호출된 어플리케이션 프로그램은 종료하거나 숨겨질 때까지 데스크탑 그래픽 인터페이스를 대체하는 그래픽 인터페이스를 제공할 수 있다.
사용자 입력은 모바일 컴퓨팅 장치(510) 동작의 시퀀스를 조작할 수 있다. 예를 들어, 단일 동작 사용자 입력(예를 들어, 터치스크린의 단일 탭, 터치스크린을 스와이프, 버튼 접촉, 또는 동시에 이러한 것들의 조합)은 유저 인터페이스의 표시를 변화시키는 동작을 호출할 수 있다. 사용자 입력 없이, 유저 인터페이스는 특정한 시간에 변화되지 않았을 수 있다. 예를 들어, 지도 어플리케이션(mapping application)이 수 초후에 디폴트로 줌인(default zoom-in)하였을 수 있다해도, 터치스크린을 통한 멀티-터치 사용자 입력은 한 위치를 "줌인"하도록 지도 어플리케이션을 호출할 수 있다.
데스크탑 그래픽 인터페이스는 또한 "위젯(widgets)"을 표시할 수 있다. 위젯은 실행되었던 어플리케이션과 연관되며, 어플리케이션 프로그램에 의해 제어되는 데스크탑 콘텐츠 상에 표시하는 하나 이상의 그래픽 인터페이스 엘리먼트이다. 위젯 어플리케이션 프로그램은 휴대 전화와 함께 시작할 수 있다. 또한 위젯은 전체 디스플레이에 초점을 맞추지 않을 수 있다. 대신에, 위젯은 단지 데스크탑의 작은 부분만을 "차지(own)"하여, 콘텐츠를 표시하고 데스크탑의 해당 부분 내에서 터치스크린 사용자 입력을 수신한다.
모바일 컴퓨팅 장치(510)는 하나 이상의 위치-식별 메커니즘을 포함할 수 있다. 위치-식별 메커니즘은 휴대 전화의 지리적인 위치의 추정을 운영 체제 운영 체제 및 어플리케이션 프로그램에 제공하는 소프트웨어 및 하드웨어의 집합을 포함할 수 있다. 위치-식별 메커니즘은 위성 기반 측위 기술, 기지국 송신 안테나 식별, 다수의 기지국 삼각측량, 인터넷 액세스 포인트 IP 위치 판정, 탐색 엔진 질의에 기초한 사용자 위치의 추론적 식별, 및 사용자 제공 위치 식별 (예를 들어, 위치에 대한 "체킹 인(checking in)"을 사용할 수 있다.
모바일 컴퓨팅 장치(510)는 다른 어플리케이션 모듈 및 하드웨어를 포함할 수 있다. 콜 핸들링 유닛은 수신 전화 호의 지시(indication)를 수신하여 수신 전화 호에 응답하는 사용자 능력을 제공할 수 있다. 미디어 플레이어는 사용자가 모바일 컴퓨팅 장치(510)의 로컬 메모리에 저장된 음악을 청취 또는 영화를 재생하도록 할 수 있다. 모바일 전화(510)는 디지털 카메라 센서, 및 대응하는 이미지 및 비디오 캡쳐 및 편집 소프트웨어를 포함할 수 있다. 인터넷 브라우저는 사용자가 웹 페이지에 대응하는 주소들을 타이핑하거나 웹 페이지에 대한 링크를 선택함으로써 웹 페이지로부터의 콘텐츠를 볼 수 있도록 할 수 있다.
모바일 컴퓨팅 장치(510)는 기지국(540)과 무선으로 정보를 전달하는 안테나를 포함할 수 있다. 기지국(540)은 모바일 컴퓨팅 장치(510)가 지리적으로 이동함에 따라 모바일 컴퓨팅 장치(510)가 네트웍(550)과 통신을 유지하도록 하는 기지국들의 집합(예를 들어, 이동 전화 셀룰러 네트웍)에서 다수의 기지국들 중 하나일 수 있다. 모바일 컴퓨팅 장치(510)는 대안적으로 또는 추가적으로 Wi-Fi 라우터 또는 유선 접속 (예를 들어, 이더넷, USB, 또는 파이어와이어)을 통해 네트웍(550)과 통신할 수 있다. 컴퓨팅 장치(510)는 또한 블루투스 프로토콜을 사용하여 다른 컴퓨팅 장치와 무선 통신할 수 있거나, 애드 혹(ad-hoc) 무선 네트웍을 사용할 수 있다.
기지국들의 네트웍을 운영하는 서비스 공급자는 모바일 컴퓨팅 장치(510)와 서비스(560)를 제공하는 다른 전산화 장치 사이의 통신이 가능하도록 모바일 컴퓨팅 장치(510)를 네트웍(550)에 연결시킬 수 있다. 서비스(560)는 상이한 네트웍들(예를 들어, 서비스 공급자의 인터넷망, 공중 교환 전화망, 및 인터넷)을 통해 제공될 수 있지만, 네트웍(550)은 단일 네트웍으로 도시되어 있다. 서비스 공급자는 모바일 컴퓨팅 장치(510) 및 서비스(560)와 연관된 컴퓨팅 장치들 사이에서 정보 패킷 및 음성 데이터를 라우팅하는 서버 시스템(552)을 운영할 수 있다.
네트웍(550)은 모바일 컴퓨팅 장치(510)와 다른 컴퓨티이 장치 사이에 음성 또는 팩스 통신을 설정하기 위해 모바일 컴퓨팅 장치(510)를 공중 교환 전화망(PSTN)(563)에 연결시킬 수 있다. 예를 들어, 서비스 제공자 서버 시스템(552)은 모바일 컴퓨팅 장치(510)의 수신 호에 대한 지시를 PSTN(562)으로부터 수신할 수 있다. 역으로, 모바일 컴퓨팅 장치(510)는 PSTN(562)을 통해 액세스가능한 장치와 연관된 전호 번호로 전화 호를 시작하여 서비스 공급자 서버 시스템(552)에 대한 통신을 전송할 수 있다.
네트웍(550)은 PSTN(562)과 반대로 IP 네트웍을 통해 음성 통신을 라우팅하는 Voice over Internet Protocol(VoIP)로 모바일 컴퓨팅 장치(510)를 연결시킬 수 있다. 예를 들어, 모바일 컴퓨팅 장치(510)의 사용자는 VoIP 어플리케이션을 호출하여 프로그램을 사용하여 호를 시작할 수 있다. 서비스 공급자 서버 시스템(552)은 연결의 최종 행보를 위해 잠재적으로 PSTN을 사용하여, 호로부터의 음성 데이터를 인터넷을 통한 호를 대응하는 컴퓨팅 장치로 라우팅할 수 있는 VoIP 서비스로 전달할 수 있다.
어플리케이션 스토어(566)는 모바일 컴퓨팅 장치(510)의 사용자에게 네트웍(550)을 통해 사용자가 다운로드하고 모바일 컴퓨팅 장치(510) 상에 인스톨할 수 있는 원격 저장 어플리케이션 프로그램들의 리스트를 탐색하는 능력을 제공할 수 있다. 어플리케이션 스토어(566)는 써드파티 어플리케이션 개발자에 의해 개발된 어플리케이션의 저장소로서의 역할을 할 수 있다. 모바일 컴퓨팅 장치(510) 상에 인스톨된 어플리케이션 프로그램은 네트웍(550)을 통해 어플리케이션 프로그램을 위해 지정된 서버 시스템과 통신할 수 있다. 예를 들어, VoIP 어플리케이션 프로그램이 어플리케이션 스토어(566)로부터 다운로드되어, 사용자가 VoIP 서비스(564)로 통신할 수 있도록 한다.
모바일 컴퓨팅 장치(510)는 네트웍(550)을 통해 인터넷(568) 상에서 콘텐츠를 액세스할 수 있다. 예를 들어, 모바일 컴퓨팅 장치(510)의 사용자는 지정된 공통 자원 위치에서 액세스 가능한 원격 컴퓨팅 장치들로부터 데이터를 요청하는 웹 브라우저 어플리케이션을 호출할 수 있다. 다양한 예들에서, 서비스(560)들 중 몇몇은 인터넷을 통해 액세스 가능하다.
모바일 컴퓨팅 장치는 개인용 컴퓨터(570)와 통신할 수 있다. 예를 들어, 개인용 컴퓨터(570)는 모바일 컴퓨팅 장치(510)의 사용자를 위한 홈 컴퓨터을 수 있다. 따라서, 사용자는 그의 개인용 컴퓨터(570)로부터 미디어를 스트리밍할 수 있다. 사용자는 또한 그의 개인용 컴퓨터(570)의 파일 구조를 볼 수 있으며, 선택된 문서들을 전산화된 장치들 사이에서 전송할 수 있다.
음성 인식 서비스(572)는 모바일 컴퓨팅 장치의 마이크로폰(522)으로 기록된 음성 통신 데이터를 수신하여, 그 음성 통신을 대응하는 텍스트 데이터로 번역할 수 있다. 몇몇의 예들에서, 번역된 텍스트는 웹 질의로서 엔진을 탐색하도록 제공되며, 엔진 탐색에 응답하여 탐색 결과가 모바일 컴퓨팅 장치(510)로 전송된다.
모바일 컴퓨팅 장치(510)는 소셜 네트웍(574)과 통신할 수 있다. 소셜 네트웍은 수많은 구성원들을 포함할 수 있는데, 그 몇몇은 지인으로서 관련되도록 동의되었다. 모바일 컴퓨팅 장치(510)의 어플리케이션 프로그램들은 모바일 컴퓨팅 장치(510)의 사용자의 지인들을 기초로 정보를 검색하도록 소셜 네트웍(574)을 액세스할 수 있다. 예를 들어, "주소록(address book)" 어플리케이션 프로그램은 사용자의 지인들에 대해 전화 번호를 검색할 수 있다. 다양한 예들에서, 콘텐츠는 상용자로부터 다른 구성원으로의 소셜 네트웍 거리를 기초로 모바일 컴퓨팅 장치(510)에 전달될 수 있다. 예를 들어, 광고 및 새로운 기사 콘텐츠는 사용자에 "가까운" 구성원들 (예를 들어, "친구" 또는 "친구의 친구"인 구성원들)에 의해 그러한 콘텐츠와의 상호작용 레벨을 기초로 사용자를 위해 선택될 수 있다.
모바일 컴퓨팅 장치(510)는 네트웍(550)을 통해 연락처(contact)(576)의 개인용 셋을 액세스할 수 있다. 각각의 연락처는 개인을 식별할 수 있고 그 개인에 대한 정보 (예를 들어, 전화 번호, 이메일 주소, 및 생일)을 포함할 수 있다. 연락처 셋은 모바일 컴퓨팅 장치(510)에 대해 원격으로 호스팅되기 때문에, 사용자는 여러 장치들에서 공통 셋의 연락처(567)를 액세스하고 유지할 수 있다.
모바일 컴퓨팅 장치(510)는 클라우드 기반 어플리케이션 프로그램(578)을 액세스할 수 있다. 클라우드 컴퓨팅은 모바일 컴퓨팅 장치(510)로부터 원격으로 호스팅되며, 웹 브라우저 또는 전용 프로그램을 사용하여 장치(510)에 의해 액세스될 수 있는 어플리케이션 프로그램들(예를 들어, 워드 프로세서 또는 이메일 프로그램)을 제공한다. 예시적인 클라우드 기반 어플리케이션 프로그램들은 구글 독스 워드 프로세서 및 스프레드시트 서비스, 구글 지메일 웹메일 서비스, 및 피카사(PICASA) 사진 매니저를 포함한다.
지도 서비스(580)는 모바일 컴퓨팅 장치(510)에 거리 지도, 라우트 플래닝 정보, 위성 이미지를 제공할 수 있다. 예시적인 지도 서비스는 구글맵(GOOGLE MAPS)이다. 지도 서비스(580)는 또한 질의를 수신하여 위치 특정 결과를 리턴할 수 있다. 예를 들어, 모바일 컴퓨팅 장치(510)는 그 추정 위치 및 "피자집"에 대한 사용자 입력 질의를 지도 서비스(580)로 전송할 수 있다. 지도 서비스(580)는 인근의 "피자집"의 지리적인 위치를 식별하는 지도 상에 중첩된 "마커(marker)"로 거리 지도를 리턴할 수 있다.
턴-바이-턴 서비스(Turn-by-Turn service)(582)는 모바일 컴퓨팅 장치(510)에 사용자 제공 목적지로의 턴-바이-턴 방향을 제공할 수 있다. 예를 들어, 턴-바이-턴 서비스(582)는 오디오 명령을 제공하기 위한 데이터 및 장치(510)의 사용자를 목적지로 지시하는 중첩 화살표와 함께 장치의 추정 위치의 스트리트 레벨 뷰(street-level view)를 장치(510)로 스트리밍할 수 있다.
미디어 스트리밍(584)의 다양한 형태가 모바일 컴퓨팅 장치(510)에 의해 요청될 수 있다. 예를 들어, 컴퓨팅 장치(510)는 미리 기록된 비디오 파일, 라이브 텔레비젼 프로그램, 또는 라이브 라디오 프로그램에 대한 스트림을 요청할 수 있다. 미디어를 스트리밍하는 예시적인 서비스는 유튜브 및 판도라를 포함한다.
마이크로 블로깅 서비스(586)는 모바일 컴퓨팅 장치(510)로부터 포스트의 수신인을 지시하지 않은 유저 입력 포스트를 수신할 수 있다. 마이크로 블로깅 서비스(586)는 사용자에 가입을 동의한 마이크로 블로깅 서비스(586)의 다른 구성원에 대한 포스트를 전할 수 있다.
탐색 엔진(588)은 모바일 컴퓨팅 장치(510)로부터 사용자 입력 텍스트 또는 구두 질의들을 수신하여, 그 질의에 응답하는 인터넷-액세스 가능한 도큐먼트의 셋을 판정하고, 장치(510)에 정보를 제공하여 응답 도큐먼트에 대한 탐색 결과의 리스트를 표시할 수 있다. 구두 질의가 수신되는 예에서, 음성 인식 서비스(572)는 수신된 오디오를 탐색 엔진으로 전송되는 텍스트 질의로 번역할 수 있다.
이와 같은 서비스 및 다른 서비스가 서버 시스템(590)에 구현될 수 있다. 서버 시스템은 서비스 또는 서비스들의 셋을 제공하는 하드웨어 및 소프트웨어의 조합일 수 있다. 예를 들어, 물리적으로 떨어지고 네트워크로 연결된 전산화 장치들의 셋은 수백의 개별적인 컴퓨팅 장치들에 서비스를 제공하는데 필요한 동작을 취급하도록 논리적인 서버 시스템으로서 함께 동작할 수 있다.
다양한 구현에서, 다른 동작 (예를 들어, 판정 또는 식별)에 "응답하여" 수행되는 동작들은 이전의 동작이 성공적이지 않다면 (예를 들어, 판정이 수행되지 않았다면) 수행되지 않는다. 조건적인 언어로 기술된 본 명세서의 특징들은 선택적인 구현을 의미하는 것이다. 몇몇의 예에서, 제1 장치로부터 제2 장치로 "전송"하는 것은 제2 장치에 의한 수신을 위해 데이터를 네트워크로 위치시키는 제1 장치를 포함하지만, 데이터를 수신하는 제2 장치는 포함하지 않을 것이다. 역으로, 제1 장치로부터 "수신"하는 것은 네트웍으로부터의 수신을 포함하지만, 데이터를 전송하는 제1 장치는 포함하지 않을 것이다.
도 6은 클라이언트 또는 서버나 복수의 서버들로서, 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 컴퓨팅 장치들(600, 650)의 블럭도이다. 컴퓨팅 장치(600)는 랩탑, 데스크탑, 워크스테이션, 개인용 디지털 기기, 서버, 블레이드 서버, 메인프레임, 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 표현하는 것으로 의도된 것이다. 컴퓨팅 장치(650)는 개인용 디지털 기기, 셀룰러 전화, 스마트폰, 및 다른 유사 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 표현하는 것으로 의도된 것이다. 또한, 컴퓨팅 장치(600 또는 650)는 공용 직렬 버스(USB) 플래시 드라이브를 포함할 수 있다. 이 USB 플래시 드라이브는 운영 체제 및 다른 어플리케이션을 저장할 수 있다. USB 플래시 드라이브는 무선 송신기 또는 다른 컴퓨터 장치의 USB 포트로 사입입될 USB 커넥터와 같은 입력/출력 컴포넌트들을 포함할 수 있다. 여기 도시된 컴포넌트들은 그 연결 및 관계와 기능은 단지 예시적인 의미이며, 본 명세서에 기술된 구현 및/또는 특허청구의 범위를 제한하려는 의미는 아니다.
컴퓨팅 장치(600)는 프로세서(602), 메모리(604), 저장 장치(606), 메모리(604)와 고속 확장 포트들(610)을 연결시키는 고속 인터페이스(608), 및 저속 버스(614)와 저장 장치(606)를 연결시키는 저속 인터페이스(612)를 포함한다. 컴포넌트들(606, 608, 610, 및 612) 각각은 다양한 버스들을 사용하여 상호연결되며, 공통 마더보드 상에 또는 다른 적절한 방식으로 장착될 수 있다. 프로세서(602)는 컴퓨팅 장치(600) 내에서 실행을 위한 명령들을 처리할 수 있는데, 이 명령은 고속 인터페이스(608)에 연결된 디스플레이(616)와 같은 외부 입력/출력 장치의 GUI를 위한 그래픽 정보를 표시하도록 메모리(604) 또는 저장 장치(606) 상에 저장된 명령들을 포함한다. 다른 구현에서, 다수의 프로세서 및/또는 다수의 버스가 다수의 메모리 및 메모리 타입과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 장치들(600)이 연결될 수 있는데, 각각의 장치는 필요한 동작의 부분들을 제공한다. (예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티프로세서 시스템)
메모리(604)는 컴퓨팅 장치(600) 내에서 정보를 저장한다. 한 구현에서, 메모리(604)는 불휘발성 메모리 유닛 또는 유닛들이다. 다른 구현에서, 메모리(604)는 또한 자기 또는 광 디스크와 같은 컴퓨터 판독가능 매체의 다른 형태일 수 있다.
저장 장치(606)는 컴퓨팅 장치(600)를 위한 대용량 저장공간을 제공할 수 있다. 한 구현에서, 저장 장치(606)는 플로피 디스크 장치, 하드 디스크 장치, 광디스크 장치, 또는 테이프 장치, 플래시 메모리 또는 다른 유사 고체 메모리 장치, 또는 스토리지 영역 네트워크(storage area network) 또는 다른 구성 내의 장치들을 포함하는 장치들의 어레이이거나 포함할 수 있다. 컴퓨터 프로그램 제품은 인포메이션 캐리어(information carrier)로 유형으로 구현될 수 있다. 또한, 컴퓨터 프로그램 제품은 실행될 때, 상술한 하나 이상의 방법을 수행하는 명령들을 포함할 수 있다. 인포메이션 캐리어는 메모리(604), 저장 장치(606), 또는 프로세서 상의 메모리(602)와 같은 컴퓨터 또는 기계 판독 가능한 매체이다.
고속 컨트롤러(608)는 컴퓨팅 장치(600)에 대한 대역폭-집중 동작(bandwidth-intentsive operations)을 관리하며, 저속 컨트롤러(612)는 낮은 대역폭-집중 동작을 관리한다. 이러한 기능 할당은 단지 예시적인 것이다. 한 구현에서, 고속 컨트롤러(608)는 메모리(604), 디스플레이(616)(예를 들어, 그래픽 프로세서 또는 가속기를 통해)에 연결되고, 다양한 확장 카드(도시 생략)를 수용할 수 있는 고속 확장 포트들(610)에 연결된다. 이 구현에서, 고속 컨트롤러(612)는 저장 장치(606) 및 저속 확장 포트(614)에 연결된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함 할 수 있는 저속 확장 포트는 키보드, 포인팅 장치, 스캐너, 또는 예를 들어, 네트웍 어뎁터를 통해 스위치나 라우터와 같은 네트워킹 장치 등 하나 이상의 입력/출력 장치들에 연결될 수 있다.
컴퓨팅 장치(600)는 도면에 도시된 바와 같이 여러 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(620), 또는 이러한 서버들의 여러 그룹으로 구현될 수 있다. 또한, 렉 서버 시스템(624)의 일부로서 구현될 수 있다. 또한, 랩탑 컴퓨터(622)와 같은 개인용 컴퓨터로 구현될 수 있다. 다르게는, 컴퓨팅 장치(600)로부터의 컴포넌트는 장치(650)와 같은 모바일 장치(도시 생략) 내의 다른 컴포넌트와 결합될 수 있다. 이러한 장치들 각각은 하나 이상의 컴퓨팅 장치(600, 650)를 포함할 수 있으며 전체 시스템은 서로 통신하는 다수의 컴퓨팅 장치들(600, 650)로 구성될 수 있다.
컴퓨팅 장치(650)는 다른 컴포넌트들 중에 프로세서(652), 메모리(664), 디스플레이(654)와 같은 입력/출력 장치, 통신 인터페이스(666), 및 송수신기(668)를 포함한다. 또한, 장치(650)는 추가 저장 공간을 제공하도록 마이크로드라이브 또는 다른 장치와 같은 저장 장치가 제공될 수 있다. 컴포넌트들(650, 652, 664, 654, 666, 및 668) 각각은 다양한 버스들을 사용하여 상호연결되며, 여러 컴포넌트들은 공통 마더보드 상에 또는 다른 적절한 방법으로 장착될 수 있다.
프로세서(652)는 메모리(664) 내에 저장된 명령들을 컴퓨팅 장치(650) 내에서 실행할 수 있다. 이 프로세서는 개별 및 다수의 아날로그 및 디지털 프로세서를 포함하는 칩들의 칩셋으로서 구현될 수 있다. 또한, 프로세서는 다수의 아키텍쳐 중 임의의 것으로 구현될 수 있다. 예를 들어, 프로세서(410)는 CISC(Complex Instruction Set Computers) 프로세서, RISC(Reduced Instruction Set Computer), 또는 MISC(Minimal Instruction Set Computer) 프로세서일 수 있다. 이 프로세서는 예를 들어, 사용자 인터페이스 제어와 같은 장치(650)의 다른 컴포넌트들의 코디네이션을 위해, 장치(650)에 의한 어플리케이션 실행 및 장치(650)에 의한 무선 통신을 제공한다.
프로세서(652)는 제어 인터페이스(658) 및 디스플레이(654)에 연결된 디스플레이 인터페이스(656)를 통해 사용자와 통신할 수 있다. 디스플레이(654)는 예를 들어, TFT(Thin-Film-Transistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(656)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(654)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(658)는 사용자로부터의 명령을 수신하여 그들을 프로세서(652)에 제공하기 위해 변환할 수 있다. 또한, 외부 인터페이스(662)는 다른 장치들과 장치(650)의 근거리 통신을 가능하게 하도록 프로세서(652)와의 통신을 제공할 수 있다. 외부 인터페이스(652)는 예를 들어, 몇몇 구현에서는 유선 통신, 다른 구현에서는 무선 통신을 제공할 수 있으며, 또한 다수의 인터페이스가 사용될 수 있다.
메모리(664)는 컴퓨팅 장치(650) 내에서 정보를 저장한다. 메모리(664)는 컴퓨터 판독 가능 매체 또는 미디어, 휘발성 메모리 유닛이나 유닛들, 또는 불휘발성 메모리 유닛이나 유닛들로서 구현될 수 있다. 확장 메모리(674)가 또한 제공되어 예를 들어, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(672)를 통해 장치(650)에 연결될 수 있다. 이러한 확장 메모리(674)는 장치(650)를 위한 추가 저장 공간을 제공하거나, 장치(650)를 위한 어플리케이션 또는 다른 정보를 저장할 수 있다. 특히, 확장 메모리(674)는 상술하 프로세스들을 수행 또는 공급하는 명령들을 포함할 수 있으며, 또한 시큐어 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(674)는 장치(650)를 위한 시큐리티 모듈(security module)로서 제공될 수 있으며, 장치(650)의 보안 사용을 승인하는 명령들로 프로그래밍될 수 있다. 또한, 시큐어 어플리케이션들이 부가 정보와 함께 SIMM 카드를 통해 제공될 수 있는데, 이는 해킹 불가능한 방식으로 SIMM 카드 상에 식별 정보를 위치시킨다.
예를 들어, 메모리는 후술하는 바와 같이 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 한 구현에서, 컴퓨터 프로그램 제품은 인포메이션 캐리어로 유형으로 구현될 수 있다. 컴퓨터 프로그램 제품은 실행될 때 상술한 바와 같은 하나 이상의 방법을 수행하는 명령들을 포함한다. 인포메이션 캐리어는 예를 들어, 송수신기(668) 또는 외부 인터페이스(662)를 통해 수신될 수 있는 메모리(664), 확장 메모리(674), 및 프로세서(652)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
장치(650)는 필요한 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(666)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(666)는 GSM 음성 호, SMS, 든, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 등과 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어, 무선 주파수 송수신기(668)를 통해 발생할 수 있다. 또한, 단거리 통신은 블루투스, WiFi, 또는 다른 송수신기(도시 생략)를 사용하여 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(670)은 장치(650) 상에서 실행하는 프로그램에 의해 적절하게 사용될 수 있는 부가 네비게이션 및 위치 관련 무선 데이터를 장치(650)에 제공할 수 있다.
또한, 장치(650)는 사용자로부터 말해진 정보를 수신하여 그것을 사용가능한 디지털 정보로 변환할 수 있는 오디오 코덱(660)을 사용하여 통신할 수 있다. 오디오 코덱(660)은 스피커, 예를 들어, 장치(650)의 핸드셋과 같은 사용자를 위한 청취가능 사운드를 비슷하게 새엉할 수 있다. 이러한 사운드는 음성 전화 호로부터의 사운드, 기록된 사운드(예를 들어, 음성 메시지들, 음악 파일들 등), 또한 장치(650) 상에서 동작하는 어플리케이션에 의해 생성된 사운드를 포함할 수 있다.
컴퓨팅 장치(650)는 도면에 도시된 바와 같이 여러 상이한 형태로 구현될 수 있다. 예를 들어, 셀룰러 전화(680)로 구현될 수 있다. 또한 스마트폰(682), 개인용 디지털 기기, 또는 다른 유사 휴대 장치의 일부로서 구현될 수 있다.
본 명세서 기술된 시스템 및 기술의 다양한 구현들은 디지털 전기 회로, 집적 회로, 특히 설계된 ASIC(Application Specific Integrated Circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그들의 조합으로 실현될 수 있다. 이러한 다양한 구현들은 전용 또는 범용일 수 있는 데이터 및 명령을 송수신하도록 저장, 장치, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치에 연결되는 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템 상에서 실행 가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램(또한, 프로그램, 소프트웨어, 소프트웨어 어플리케이션, 또는 코드로서 알려짐)은 프로그래밍 가능 프로세서를 위한 기계 명령들을 포함하며, 고 수준 절차 및/또는 객체 지향 프로그래밍 언어(high-level procedural and/or objet-oriented programming language), 및/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 프로그래밍 가능 프로세서에 명령 및/또는 데이터를 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 소자(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능 논리 소자(PLDs)를 칭하는데, 이는 기계 명령을 기계 판독가능 신호로서 수신하는 기계 판독가능 매체를 포함한다. 용어 "기계 판독가능 신호"는 기계 명령들 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 임의의 신호를 칭한다.
사용자와의 상호작용을 위해, 본 명세서에 기술된 시스템 및 기술들은 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치(예를 들어, 마우스 또는 트랙볼)와 정보를 표시하기 위한 디스플레이 장치(예를 들어, CRT(Cathode Ray Tube) 또는 LCD(Liquid Crystal Display) 모니터)를 구비한 컴퓨터 상에 구현될 수 있다. 다른 종류의 장치들이 마찬가지로 사용자와의 상호작용 제공하기 위해 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 임의의 감각적인 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있으며, 사용자로부터의 입력이 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 시스템 및 기술은 백 엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트(예를 들어, 어플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트 (예를 들어, 본 명세서에서 기술된 시스템 및 기술의 구현과 사용자가 상호작용할 수 있는 그래픽 유저 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터)를 포함하거나, 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신(예를 들어, 통신 네트웍)의 임의의 형태 또는 매체에 의해 상호연결될 수 있다. 통신 네트웍의 예들은 근거리 통신망("LAN"), 원거리 통신망("WAN"), 피어-투-피어 네트웍(애드 혹 또는 스테틱 맴버를 가짐), 그리드 컴퓨팅 인프라스트럭쳐, 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격지에 위치하며 전형적으로 통신 네트웍을 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행하며 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
상술한 바와 같이 몇몇의 구현들이 기술되었지만, 다른 변형들이 가능하다. 또한, 본 명세서에서 기술된 시스템 및 방법을 수행하기 위해 다른 메카니즘들이 사용될 수 있다. 또한, 도면들에 도시된 논리적인 흐름은 원하는 결과를 얻기 위해 도시된 특정 순서, 또는 순차 순서를 반드시 필요로 하지 않는다. 기술된 흐름으로부터 다른 단계들이 제공되거나, 단계들이 제거될 수 있으며, 다른 컴포넌트들이 상술된 시스템에 추가되거나 제거될 수 있다. 따라서, 다른 구현들이 첨부된 특허 청구의 범위 내에 존재한다.

Claims (22)

  1. 모바일 컴퓨팅 장치에 미디어 파일을 로딩하기 위한 컴퓨터 구현 방법에 있어서,
    서버 시스템에서, 미디어 파일을 포함하는 미디어 라이브러리를 저장하는 단계,
    상기 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하는 단계- 상기 현재 상태는 현재 시간에 현재의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 -,
    상기 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스 하는 단계- 상기 이전 상태는 이전 시간에 이전의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - ,
    상기 미디어 라이브러리로부터 선호 미디어 파일의 선택을 액세스하는 단계- 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치의 상기 현재 상태와 상기 모바일 컴퓨팅 장치의 상기 이전 상태를 기초로 선택되었으며, 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치에 의해 상기 적어도 하나의 선호 미디어 파일이 출력되는 상기 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 상기 이전 상태 동안에 상기 모바일 컴퓨팅 장치에 의해 출력되었음 - ,
    상기 미디어 파일의 서브셋의 선택을 액세스하는 단계 - 상기 서브셋은 상기 선호 미디어 파일을 기초로 선택되었음 - , 및
    상기 서버 시스템에 의해 상기 모바일 컴퓨팅 장치로 상기 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 전송하는 단계를 포함하는 컴퓨터 구현 방법.
  2. 청구항 1에 있어서,
    상기 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 전송하는 단계는 상기 모바일 컴퓨팅 장치가 상기 서브셋 내의 상기 미디어 파일 중 하나 이상을 출력하기 전에 상기 모바일 컴퓨팅 장치에 상기 서브셋 내의 각각의 미디어 파일 중 상기 적어도 한 부분을 전송하는 단계를 포함하는 컴퓨터 구현 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치의 상기 현재 상태가 상기 모바일 컴퓨팅 장치의 상기 이전 상태와 일치한다는 판정을 기초로 선택되는 컴퓨터 구현 방법.
  4. 청구항 3에 있어서, 상기 이전 상태와 일치한다는 상기 판정은,
    (i) 상기 현재의 지리적인 위차가 상기 이전의 지리적인 위치의 소정의 거리 내에 있고, 그리고
    (ii) 상기 현재 시간이 상기 이전 시간의 소정의 기간 내에 있다
    는 판정을 기초로 이루어지는 컴퓨터 구현 방법.
  5. 청구항 4에 있어서,
    상기 기간은 24 시간 이내이며, 상기 이전 시간은 상기 현재 시간에서 24시간 이상 이전에 발생했던 컴퓨터 구현 방법.
  6. 청구항 3에 있어서,
    상기 현재 상태가 상기 이전 상태와 일치한다는 상기 판정은,
    (i) 상기 현재의 지리적인 위치는 또한 상기 이전의 지리적인 위치로 경계가 이루어지는 영역 내에서 경계가 이루어지고, 그리고
    (ii) 상기 현재 시간은 상기 이전 시간을 포함하는 기간 내에 있다
    는 판정을 기초로 이루어지는 컴퓨터 구현 방법.
  7. 청구항 3에 있어서,
    상기 현재 상태가 상기 이전 상태와 일치한다는 상기 판정은,
    (i) 상기 현재의 지리적인 위치가 상기 이전의 지리적인 위치로부터 제2 거리에 있을 때 보다 상기 현재의 지리적인 위치가 상기 이전의 지리적이 위치로부터 제1 거리에 있을 때 - 상기 제1 거리는 상기 제2 거리보다 짧음 - , 그리고
    (ii) 상기 현재 시간이 상기 이전 시간으로부터 제2 거리에 있을 때 보다 상기 현재 시간이 상기 이전 시간으로부터 제1 거리에 있을 때 - 상기 제1 거리는 상기 제2 거리보다 짧음 -
    더 일치하는 것으로 판정될 가능성이 큰 일치 연산(matching computation)을 기초로 이루어졌던 컴퓨터 구현 방법.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서,
    상기 모바일 컴퓨팅 장치의 상기 현재 상태를 나타내는 정보는 상기 현재 시간에 상기 모바일 컴퓨팅 장치의 사용자에 의해 정의되었던 스테이트먼트(statement)를 기초로 더 판정되고,
    상기 모바일 컴퓨팅 장치의 상기 이전 상태를 나타내는 정보는 상기 이전 시간에 상기 모바일 컴퓨팅 장치의 사용자에 의해 정의되었던 스테이트먼트를 기초로 더 판정되는 컴퓨터 구현 방법.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 있어서,
    상기 서버 시스템이 상기 모바일 컴퓨팅 장치로 상기 미디어 라이브러리로부터의 상기 미디어 파일을 전송하도록 하기 위한 요청을 상기 서버 시스템에서 상기 모바일 컴퓨팅 장치로 수신하는 단계를 더 포함하며,
    상기 요청에 응답하여,
    (i) 상기 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하는 것이 수행되고,
    (ii) 상기 모바일 컴퓨팅 장치의 상기 이전 상태를 나타내는 상기 정보를 액세스하는 것이 수행되는 컴퓨터 구현 방법.
  10. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    상기 미디어 파일의 서브셋은 단지 상기 선호 파일만을 포함하는 컴퓨터 구현 방법.
  11. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    미디어 파일의 상기 서브셋을 선택하는 단계는 상기 서브셋 내에 포함을 위해 상기 미디어 라이브러리로부터 추가 미디어 파일을 선택하는 단계를 포함하며,
    상기 추가 미디어 파일은 상기 각각의 추가 미디어 파일과 선호 미디어 파일의 음악적인 특성에 대응하는 추가 미디어 파일 및 선호 미디어 파일 공유 속성을 기초로 하여 상기 서브셋 내에 포함을 위해 선택된 컴퓨터 구현 방법.
  12. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    미디어 파일의 상기 서브셋을 선택하는 단계는 특정한 사용자 생성 플레이리스트 내의 시작 미디어 파일인 추가 미디어 파일을 상기 미디어 라이브러리로부터 선택하는 단계를 포함하고,
    시작 미디어 파일은 플레이리스트의 정렬을 기초로 플레이리스트를 시작하는 미디어 파일인 컴퓨터 구현 방법.
  13. 청구항 12에 있어서,
    상기 특정한 플레이리스트는 사용자 생성 플레이리스트의 집합(collection)의 서브셋이고, 상기 특정한 플레이리스트는 선호 미디어 파일의 소정의 양을 포함하는 상기 특정한 플레이리스트를 기초로 하여 상기 서브셋으로서 선택된 컴퓨터 구현 방법.
  14. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    미디어 파일의 상기 서브셋을 선택하는 단계는 특정한 플레이리스트의 상이한 정렬들에 대한 시작 미디어 파일인 적어도 두개의 추가 미디어 파일을 기초로 상기 미디어 라이브러리로부터 적어도 두개의 추가 미디어 파일을 선택하는 단계를 포함하는 컴퓨터 구현 방법.
  15. 청구항 14에 있어서,
    상기 특정한 플레이리스트가 상기 적어도 하나의 정렬 내에 표시되도록 하는 사용자 입력을 상기 모바일 컴퓨팅 장치의 사용자가 제공하지 않으면서 상기 특정한 플레이리스트는 상기 정렬들 중 적어도 하나에 상기 모바일 컴퓨팅 장치에 의해 표시되지 않는 컴퓨터 구현 방법.
  16. 컴퓨터 판독 가능 저장 매체에 있어서,
    하나 이상의 프로세싱 장치에 의해 실행될 때,
    서버 시스템에서, 미디어 파일을 포함하는 미디어 라이브러리를 저장하는 동작,
    모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하는 동작- 상기 현재 상태는 현재 시간에 현재의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 -,
    상기 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스하는 동작- 상기 이전 상태는 이전 시간에 이전의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - ,
    상기 미디어 라이브러리로부터 선호 미디어 파일의 선택을 액세스하는 동작- 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치의 현재 상태와 상기 모바일 컴퓨팅 장치의 이전 상태를 기초로 선택되었고, 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치에 의해 상기 적어도 하나의 선호 미디어 파일이 출력되는 상기 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 상기 이전 상태 동안에 상기 모바일 컴퓨팅 장치에 의해 출력되었음 - ,
    상기 미디어 파일의 서브셋의 선택을 액세스하는 동작- 상기 서브셋은 상기 선호 미디어 파일을 기초로 선택되었음 - , 및
    상기 서버 시스템에 의해 상기 모바일 컴퓨팅 장치로 상기 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 전송하는 동작
    을 포함하는 동작들을 수행하는 명령을 저장하는 컴퓨터 판독가능 저장 매체.
  17. 미디어 파일을 모바일 컴퓨팅 장치로 로딩하기 위한 컴퓨터 구현 방법에 있어서,
    상기 모바일 컴퓨팅 장치에 의해, 상기 모바일 컴퓨팅 장치의 현재의 지리적인 위치를 판정하고 서버 시스템에 의한 수신을 위해 상기 현재의 지리적인 위치를 전송하는 단계,
    상기 모바일 컴퓨팅 장치에서 상기 서버 시스템로부터, 상기 서버 시스템에 저장되는 미디어 라이브러리로부터 선택되었던 미디어 파일의 서브셋 내의 각각의 미디어 파일 중 적어도 한 부분을 수신하는 단계를 포함하며,
    상기 미디어 파일의 상기 적어도 한 부분은,
    상기 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하고 - 상기 현재 상태는 현재 시간에 상기 현재의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - ,
    상기 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스하고 - 상기 이전 상태는 이전 시간에 상기 이전의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - ,
    상기 미디어 라이브러리로부터 선호 미디어 파일의 선택을 액세스하고 - 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치의 상기 현재 상태와 상기 모바일 컴퓨팅 장치의 상기 이전 상태를 기초로 선택되었으며, 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치에 의해 상기 적어도 하나의 선호 미디어 파일이 출력되는 상기 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 상기 이전 상태 동안에 상기 모바일 컴퓨팅 장치에 의해 출력되었음 - ,
    상기 미디어 파일의 서브셋의 선택을 액세스하고 - 상기 서브셋은 상기 선호 미디어 파일을 기초로 선택되었음 - ,
    상기 서버 시스템에 의해 상기 모바일 컴퓨팅 장치로, 상기 서브셋 내의 각각의 미디어 파일이 적어도 한 부분을 전송하는
    서버 시스템에 응답하여 수신되는 컴퓨터 구현 방법.
  18. 청구항 17에 있어서,
    상기 모바일 컴퓨팅 장치 상에 표시를 위해 상기 모바일 컴퓨팅 장치에 의해, 상기 서브셋 내의 상기 미디어 파일만을 포함하는 미디어 파일의 플레이리스트를 생성하는 단계를 더 포함하는 컴퓨터 구현 방법.
  19. 컴퓨터 판독 가능 저장 매체에 있어서,
    하나 이상의 프로세싱 장치에 의해 실행될 때,
    모바일 컴퓨팅 장치에 의해, 상기 모바일 컴퓨팅 장치의 현재의 지리적인 위치를 판정하고 서버 시스템에 의한 수신을 위해 상기 현재의 지리적인 위치를 전송하는 동작, 및
    상기 모바일 컴퓨팅 장치에서 상기 서버 시스템으로부터, 상기 서버 시스템에 저장된 미디어 라이브러리로부터 선택되었던 미디어 파일의 서브셋 내의 각각의 미디어 파일의 적어도 한 부분을 수신하는 동작
    을 포함하는 동작들을 수행하는 명령을 저장하며,
    상기 미디어 파일의 상기 적어도 한 부분은,
    상기 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스하고 - 상기 현재 상태는 현재 시간에 상기 현재의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - ,
    상기 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스하고 - 상기 이전 상태는 이전 시간에 상기 이전의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - ,
    상기 미디어 라이브러리로부터 선호 미디어 파일의 선택을 액세스하고 - 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치의 상기 현재 상태와 상기 모바일 컴퓨팅 장치의 상기 이전 상태를 기초로 선택되었으며, 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치에 의해 상기 적어도 하나의 선호 미디어 파일이 출력되는 상기 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 상기 이전 상태 동안에 상기 모바일 컴퓨팅 장치에 의해 출력되었음 - ,
    상기 미디어 파일의 서브셋의 선택을 액세스하고 - 상기 서브셋은 상기 선호 미디어 파일을 기초로 선택되었음 - ,
    상기 서버 시스템에 의해 상기 모바일 컴퓨팅 장치로, 상기 서브셋 내의 각각의 미디어 파일이 적어도 한 부분을 전송하는
    서버 시스템에 응답하여 수신되는 컴퓨터 판독 가능 저장 매체.
  20. 컴퓨터 구현 시스템에 있어서,
    하나 이상의 저장 장치를 포함하며,
    상기 저장 장치는 컴퓨터 판독 가능 미디어 파일을 포함하는 미디어 라이브러리와 명령을 포함하고,
    하나 이상의 프로세싱 장치에 의해 실행될 때, 상기 명령은 상기 하나 이상의 프로세싱 장치가 (i) 모바일 컴퓨팅 장치의 현재 상태를 나타내는 정보를 액세스 - 상기 현재 상태는 현재 시간에 현재의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - 하고, (ii) 상기 모바일 컴퓨팅 장치의 이전 상태를 나타내는 정보를 액세스 - 상기 이전 상태는 이전 시간에 이전의 지리적인 위치에 있는 상기 모바일 컴퓨팅 장치를 기초로 판정되었음 - 하며, (ii) 상기 모바일 컴퓨팅 장치의 상기 현재 상태와 상기 모바일 컴퓨팅 장치의 상기 이전 상태를 기초로 상기 미디어 라이브러리로부터 선호 미디어 파일을 선택 - 상기 선호 미디어 파일은 상기 모바일 컴퓨팅 장치에 의해 상기 적어도 하나의 선호 미디어 파일이 출력되는 상기 모바일 컴퓨팅 장치의 사용자로부터의 요청에 응답하여 상기 이전 상태 동안에 상기 모바일 컴퓨팅 장치에 의해 출력되었음 - 하도록 구성된 선호 미디어 판정기와,
    선택된 상기 선호 미디어 파일을 기초로, 상기 미디어 라이브러리 내의 상기 미디어 파일의 서브셋을 선택하도록 구성된 유사 미디어 판정기와,
    서버 시스템에서, 상기 모바일 컴퓨팅 장치로 상기 서브셋 내의 상기 미디어 파일 각각의 적어도 부분을 송신하도록 프로그래밍된 미디어 로더
    를 구현하도록 하는 컴퓨터 구현 시스템.
  21. 청구항 20에 있어서,
    상기 하나 이상의 프로세싱 장치에 의해 실행될 때, 상기 명령은 상기 모바일 컴퓨팅 장치에 상기 프로세싱 장치가 상태 판정기를 구현하도록 하고, 상기 상태 판정기는 미디어 선호 데이터베이스 내에 저장을 위해 상기 서버 시스템으로 (i) 상기 모바일 컴퓨팅 장치에서 현재 재생 중인 미디어 파일의 지시(indication)와 (ii) 상기 모바일 컴퓨팅 장치의 현재의 지리적인 위치를 주기적으로 전송하도록 프로그래밍되며, 상기 선호 미디어 판정기는 상기 선호 미디어를 파정하도록 상기 미디어 선호 데이터베이스를 액세스하는 컴퓨터 구현 시스템.
  22. 청구항 20 또는 청구항 21에 있어서,
    상기 유사 미디어 판정기는 상기 적어도 몇몇의 미디어 파일 공유 음악 특성을 기초로 미디어 파일의 상기 서브셋 중 적어도 몇몇을 상기 선호 미디어 파일로 선택하도록 구성되는 컴퓨터 구현 시스템.
KR1020137013164A 2010-10-28 2011-10-11 미디어 파일의 모바일 컴퓨팅 장치 로딩 KR101885342B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/914,635 US9128961B2 (en) 2010-10-28 2010-10-28 Loading a mobile computing device with media files
US12/914,635 2010-10-28
PCT/US2011/055790 WO2012057998A1 (en) 2010-10-28 2011-10-11 Loading a mobile computing device with media files

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187022051A Division KR101958376B1 (ko) 2010-10-28 2011-10-11 미디어 파일의 모바일 컴퓨팅 장치 로딩

Publications (2)

Publication Number Publication Date
KR20130116269A true KR20130116269A (ko) 2013-10-23
KR101885342B1 KR101885342B1 (ko) 2018-09-10

Family

ID=44872615

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187022051A KR101958376B1 (ko) 2010-10-28 2011-10-11 미디어 파일의 모바일 컴퓨팅 장치 로딩
KR1020137013164A KR101885342B1 (ko) 2010-10-28 2011-10-11 미디어 파일의 모바일 컴퓨팅 장치 로딩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187022051A KR101958376B1 (ko) 2010-10-28 2011-10-11 미디어 파일의 모바일 컴퓨팅 장치 로딩

Country Status (5)

Country Link
US (3) US9128961B2 (ko)
EP (1) EP2638483A1 (ko)
KR (2) KR101958376B1 (ko)
CN (2) CN107256215B (ko)
WO (1) WO2012057998A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180129725A (ko) * 2018-11-27 2018-12-05 네이버 주식회사 멀티미디어 컨텐츠에 대한 사용자의 재생 로그를 이용하여 개인화 된 플레이리스트를 구성하는 방법 및 시스템
KR20210021410A (ko) * 2013-02-21 2021-02-25 모아시스 글로벌 코포레이션 콘텐츠를 제시 및 전달하기 위한 시스템 및 방법
KR102586797B1 (ko) 2023-06-28 2023-10-10 주식회사 나인씨엔에프 인공지능 모델 기반 폐배터리 재생을 위한 원료의 유통 처리 시스템 및 방법

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419722B2 (en) 2009-04-28 2019-09-17 Whp Workflow Solutions, Inc. Correlated media source management and response control
US9760573B2 (en) * 2009-04-28 2017-09-12 Whp Workflow Solutions, Llc Situational awareness
US8311983B2 (en) 2009-04-28 2012-11-13 Whp Workflow Solutions, Llc Correlated media for distributed sources
US10565065B2 (en) 2009-04-28 2020-02-18 Getac Technology Corporation Data backup and transfer across multiple cloud computing providers
US9729352B1 (en) 2010-02-08 2017-08-08 Google Inc. Assisting participation in a social network
US8825759B1 (en) 2010-02-08 2014-09-02 Google Inc. Recommending posts to non-subscribing users
US8582801B2 (en) 2010-02-08 2013-11-12 Google Inc. Assisting the authoring of posts to an asymmetric social network
US8527597B2 (en) * 2010-12-07 2013-09-03 Google Inc. Determining message prominence
US8686864B2 (en) 2011-01-18 2014-04-01 Marwan Hannon Apparatus, system, and method for detecting the presence of an intoxicated driver and controlling the operation of a vehicle
US8718536B2 (en) * 2011-01-18 2014-05-06 Marwan Hannon Apparatus, system, and method for detecting the presence and controlling the operation of mobile devices within a vehicle
CN102957731B (zh) * 2011-08-31 2015-03-25 光宝科技股份有限公司 数据传输系统以及数据传输方法
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9693192B2 (en) * 2012-12-28 2017-06-27 Rakuten, Inc. Information processing apparatus, information processing method, information processing program, recording medium storing thereon information processing program
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9293138B2 (en) * 2013-05-14 2016-03-22 Amazon Technologies, Inc. Storing state information from network-based user devices
US9684484B2 (en) * 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
FR3009103A1 (fr) * 2013-07-29 2015-01-30 Orange Generation de listes de reproduction de contenus personnalisees
DE202013007367U1 (de) * 2013-08-14 2014-11-17 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Audiosystem für ein Fahrzeug
JP2015091093A (ja) * 2013-11-07 2015-05-11 ソニー株式会社 送信制御装置、受信制御装置、送信制御方法、および受信制御方法
US9471572B1 (en) * 2013-12-31 2016-10-18 Google Inc. Recommending candidates for consumption
EP3111410A4 (en) * 2014-02-24 2017-12-13 Opanga Networks, Inc. Playback of content pre-delivered to a user device
US9454342B2 (en) 2014-03-04 2016-09-27 Tribune Digital Ventures, Llc Generating a playlist based on a data generation attribute
US9431002B2 (en) 2014-03-04 2016-08-30 Tribune Digital Ventures, Llc Real time popularity based audible content aquisition
US10088978B2 (en) * 2014-09-30 2018-10-02 Pandora Media, Inc. Country-specific content recommendations in view of sparse country data
BR112018000692A2 (pt) 2015-07-14 2018-09-18 Driving Man Systems Inc detecção da localização de um telefone mediante o uso de sinais de rf sem fio e ultrassônicos
US9959343B2 (en) 2016-01-04 2018-05-01 Gracenote, Inc. Generating and distributing a replacement playlist
CN107690794A (zh) * 2016-08-16 2018-02-13 深圳市屹石科技股份有限公司 健身器材与智能设备进行通讯的方法、装置和健身器材
US10565980B1 (en) 2016-12-21 2020-02-18 Gracenote Digital Ventures, Llc Audio streaming of text-based articles from newsfeeds
US10019225B1 (en) 2016-12-21 2018-07-10 Gracenote Digital Ventures, Llc Audio streaming based on in-automobile detection
US10419508B1 (en) 2016-12-21 2019-09-17 Gracenote Digital Ventures, Llc Saving media for in-automobile playout
US10433018B2 (en) * 2017-03-06 2019-10-01 Tribune Broadcasting Company, Llc Video production system with dynamic character generator output
CN107832434B (zh) * 2017-11-15 2022-05-06 百度在线网络技术(北京)有限公司 基于语音交互生成多媒体播放列表的方法和装置
CN112639092A (zh) 2018-08-08 2021-04-09 阿彻丹尼尔斯米德兰德公司 差向异构酶及其用途
US10977306B2 (en) * 2019-01-10 2021-04-13 Marcelo Alonso MEJIA COBO Systems and methods of playing media files
US11079916B2 (en) * 2019-01-14 2021-08-03 Microsoft Technology Licensing, Llc Multiple source media management
US11368991B2 (en) 2020-06-16 2022-06-21 At&T Intellectual Property I, L.P. Facilitation of prioritization of accessibility of media
US11233979B2 (en) 2020-06-18 2022-01-25 At&T Intellectual Property I, L.P. Facilitation of collaborative monitoring of an event
US11184517B1 (en) 2020-06-26 2021-11-23 At&T Intellectual Property I, L.P. Facilitation of collaborative camera field of view mapping
US11411757B2 (en) 2020-06-26 2022-08-09 At&T Intellectual Property I, L.P. Facilitation of predictive assisted access to content
US11037443B1 (en) 2020-06-26 2021-06-15 At&T Intellectual Property I, L.P. Facilitation of collaborative vehicle warnings
US11356349B2 (en) 2020-07-17 2022-06-07 At&T Intellectual Property I, L.P. Adaptive resource allocation to facilitate device mobility and management of uncertainty in communications
US11768082B2 (en) 2020-07-20 2023-09-26 At&T Intellectual Property I, L.P. Facilitation of predictive simulation of planned environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005114472A1 (en) * 2004-05-18 2005-12-01 Koninklijke Philips Electronics N.V. Method of data synchronization
US20090063976A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Generating a playlist using metadata tags
US20090164516A1 (en) * 2007-12-21 2009-06-25 Concert Technology Corporation Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information
US7678984B1 (en) * 2005-10-13 2010-03-16 Sun Microsystems, Inc. Method and apparatus for programmatically generating audio file playlists
US20100312369A1 (en) * 2009-06-09 2010-12-09 Microsoft Corporation Adaptive playlist onboard a vehicle

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255334A1 (en) * 2000-03-28 2004-12-16 Gotuit Audio, Inc. Methods and apparatus for seamlessly changing volumes during playback using a compact disk changer
US7075000B2 (en) 2000-06-29 2006-07-11 Musicgenome.Com Inc. System and method for prediction of musical preferences
JP2004522177A (ja) 2000-06-29 2004-07-22 ミュージックゲノム.コム インコーポレイテッド 音楽に対する好みを予測するためのシステムおよび方法
US20020132616A1 (en) * 2001-03-19 2002-09-19 Ross Lorna R. Communications system with automatic download capability
WO2005006199A1 (ja) 2003-07-14 2005-01-20 Matsushita Electric Industrial Co., Ltd. コンテンツ配信装置及びコンテンツ再生装置
US20050108303A1 (en) 2003-10-31 2005-05-19 Carter Richard D. Remote backup and restore technique
JP4539115B2 (ja) * 2004-02-25 2010-09-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8904458B2 (en) * 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US7596116B2 (en) * 2004-12-30 2009-09-29 Motorola, Inc. Apparatus for transmitting data packets and supporting method and data structure
US7536565B2 (en) * 2005-01-07 2009-05-19 Apple Inc. Techniques for improved playlist processing on media devices
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US8108579B2 (en) * 2005-03-31 2012-01-31 Qualcomm Incorporated Mechanism and method for managing data storage
WO2007019510A2 (en) * 2005-08-05 2007-02-15 Realnetworks, Inc. Personal media device
US20070131097A1 (en) 2005-12-06 2007-06-14 Wei Lu Method and system for regulating music based on the location of a device
US7884275B2 (en) * 2006-01-20 2011-02-08 Take-Two Interactive Software, Inc. Music creator for a client-server environment
US8102812B2 (en) * 2006-03-21 2012-01-24 Motorola Mobility, Inc. Methods and apparatus for data packet transmission on a network
US7765192B2 (en) 2006-03-29 2010-07-27 Abo Enterprises, Llc System and method for archiving a media collection
US8677243B2 (en) * 2006-09-01 2014-03-18 Nokia Corporation Media recommendation system and method
US7574574B2 (en) 2006-09-11 2009-08-11 Apple Inc. Backup of media libraries
US7865571B2 (en) 2007-01-08 2011-01-04 Mspot, Inc. Method and apparatus for transferring digital content from a personal computer to a mobile handset
US20080201000A1 (en) 2007-02-20 2008-08-21 Nokia Corporation Contextual grouping of media items
US7881744B2 (en) * 2007-04-10 2011-02-01 Research In Motion Limited Media transfer and control system
US8027977B2 (en) * 2007-06-20 2011-09-27 Microsoft Corporation Recommending content using discriminatively trained document similarity
US20090017799A1 (en) * 2007-07-13 2009-01-15 Sony Ericsson Mobile Communications Ab System, device and method for transmitting a file by use of a throwing gesture to a mobile terminal
US9961296B2 (en) * 2007-08-03 2018-05-01 Adobe Systems Incorporated Methods and apparatus for mandatory video viewing
KR101214167B1 (ko) * 2007-08-06 2012-12-21 삼성전자주식회사 Vod 서비스 방법, vod 수신기 및 vod 서버
US8156118B2 (en) * 2007-08-20 2012-04-10 Samsung Electronics Co., Ltd. Method and system for generating playlists for content items
US7917083B2 (en) 2007-10-18 2011-03-29 Mspot, Inc. Method and apparatus for identifying a piece of content
WO2009075760A1 (en) * 2007-12-12 2009-06-18 Packetvideo Corp. System and method for generating a recommendation on a mobile device
US8161299B2 (en) * 2007-12-20 2012-04-17 Intel Corporation Location based policy system and method for changing computing environments
US10430289B2 (en) 2008-04-03 2019-10-01 Unicom Systems, Inc. Online-assisted backup and restore
US8473429B2 (en) 2008-07-10 2013-06-25 Samsung Electronics Co., Ltd. Managing personal digital assets over multiple devices
CN106156360B (zh) * 2008-07-21 2019-07-02 上海天统电子科技有限公司 一种多媒体播放器的应用方法
US8655820B2 (en) 2008-08-28 2014-02-18 Empire Technology Development Llc Real-time lifestyle recommendation system
US9191625B2 (en) 2008-09-26 2015-11-17 Janos Redei System and methods for transmitting and distributing media content
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
CN101551825A (zh) * 2009-05-15 2009-10-07 中国科学技术大学 基于属性描述的个性化影片推荐系统及方法
US8391673B2 (en) * 2009-06-26 2013-03-05 Intel Corporation Method, system, and apparatus to derive content related to a multimedia stream and dynamically combine and display the stream with the related content
CN101630324B (zh) * 2009-08-18 2011-12-07 北京航空航天大学 一种在多媒体资源中存取地理位置信息的方法
US8321905B1 (en) * 2009-10-02 2012-11-27 Adobe Systems Incorporated Fast switching of media streams
US9405841B2 (en) * 2009-10-15 2016-08-02 A9.Com, Inc. Dynamic search suggestion and category specific completion
US20110295843A1 (en) 2010-05-26 2011-12-01 Apple Inc. Dynamic generation of contextually aware playlists

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005114472A1 (en) * 2004-05-18 2005-12-01 Koninklijke Philips Electronics N.V. Method of data synchronization
US7678984B1 (en) * 2005-10-13 2010-03-16 Sun Microsystems, Inc. Method and apparatus for programmatically generating audio file playlists
US20090063976A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Generating a playlist using metadata tags
US20090164516A1 (en) * 2007-12-21 2009-06-25 Concert Technology Corporation Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information
US20100312369A1 (en) * 2009-06-09 2010-12-09 Microsoft Corporation Adaptive playlist onboard a vehicle

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210021410A (ko) * 2013-02-21 2021-02-25 모아시스 글로벌 코포레이션 콘텐츠를 제시 및 전달하기 위한 시스템 및 방법
KR20180129725A (ko) * 2018-11-27 2018-12-05 네이버 주식회사 멀티미디어 컨텐츠에 대한 사용자의 재생 로그를 이용하여 개인화 된 플레이리스트를 구성하는 방법 및 시스템
KR102586797B1 (ko) 2023-06-28 2023-10-10 주식회사 나인씨엔에프 인공지능 모델 기반 폐배터리 재생을 위한 원료의 유통 처리 시스템 및 방법

Also Published As

Publication number Publication date
US20150350302A1 (en) 2015-12-03
EP2638483A1 (en) 2013-09-18
US9128961B2 (en) 2015-09-08
US8375106B2 (en) 2013-02-12
KR101958376B1 (ko) 2019-03-14
US20120110126A1 (en) 2012-05-03
WO2012057998A1 (en) 2012-05-03
US20120110135A1 (en) 2012-05-03
CN107256215A (zh) 2017-10-17
CN107256215B (zh) 2020-09-15
KR101885342B1 (ko) 2018-09-10
KR20180089555A (ko) 2018-08-08
CN103403705B (zh) 2017-05-10
CN103403705A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
KR101885342B1 (ko) 미디어 파일의 모바일 컴퓨팅 장치 로딩
US11438744B1 (en) Routing queries based on carrier phrase registration
US11675794B2 (en) Providing results to parameterless search queries
US8346867B2 (en) Dynamic playlist for mobile computing device
US9288254B2 (en) Dynamic playlist for mobile computing device
EP2641184B1 (en) Media file access
US10091331B1 (en) Prioritized download of social network content
JP2020537198A (ja) 音楽を特定の歌曲として識別する

Legal Events

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