KR100977428B1 - 데이터 저장부를 관리하는 메커니즘 및 방법 - Google Patents

데이터 저장부를 관리하는 메커니즘 및 방법 Download PDF

Info

Publication number
KR100977428B1
KR100977428B1 KR1020077025314A KR20077025314A KR100977428B1 KR 100977428 B1 KR100977428 B1 KR 100977428B1 KR 1020077025314 A KR1020077025314 A KR 1020077025314A KR 20077025314 A KR20077025314 A KR 20077025314A KR 100977428 B1 KR100977428 B1 KR 100977428B1
Authority
KR
South Korea
Prior art keywords
media
files
trim
media file
candidates
Prior art date
Application number
KR1020077025314A
Other languages
English (en)
Other versions
KR20070117702A (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 KR20070117702A publication Critical patent/KR20070117702A/ko
Application granted granted Critical
Publication of KR100977428B1 publication Critical patent/KR100977428B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • 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/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched

Abstract

미디어 데이터 저장 관리를 위한 기술들 및 메커니즘들이 설명된다. 간단하게, 미디어 제어 컴포넌트는 로컬 디바이스상에서 미디어 파일들의 이용 패턴을 모니터링한다. 이용 패턴이 소정의 임계값 아래에 있는 임의의 미디어 파일들은 트림 후보로서 식별된다. 미디어 제어 컴포넌트는, 미디어 파일들로부터 데이터 (콘텐츠) 를 제거함으로써 그러한 트림 후보들을 트리밍한다. 데이터가 미디어 파일의 후반부로부터 제거되므로, 트리밍된 미디어 파일은, 초기에 런칭될 때 적절히 렌더링하는 것을 계속할 것이다. 트리밍된 미디어 데이터가 런칭되면, 미디어 제어 컴포넌트는 미디어 파일들의 라이브러리를 저장하는 콘텐츠 서버로부터 제거된 데이터를 검색한다.
Figure R1020077025314
데이터 저장부 관리, 트림 후보

Description

데이터 저장부를 관리하는 메커니즘 및 방법{MECHANISM AND METHOD FOR MANAGING DATA STORAGE}
발명의 배경
본 발명은 일반적으로 데이터 저장부의 분야에 관한 것으로, 더 상세하게는, 이동 디바이스상의 데이터 저장부에 관한 것이다.
디지털 멀티미디어는 매우 큰 속도로 성장하고 있다. 점점 더 많은 사람들이 그들의 개인용 미디어 라이브러리를 디지털 미디어로 변환하고 있다. 또한, 현재 많은 소비자들이 본래 디지털 포맷인 음악 및 다른 미디어를 구입하여, 변환 프로세스를 제거하고 있다. 디지털 미디어는 매우 휴대성있다는 이점을 갖는다. 많은 핸드헬드 컴퓨팅 디바이스는, 운동, 운전, 비행, 또는 이동중과 같이 사용자가 이동하는 경우 재생될 디지털 미디어 파일을 저장할 수 있다.
편의때문에, 많은 사용자들은 그들의 휴대용 디바이스상에 그들의 디지털 미디어 라이브러리를 가능한 많이 유지하길 원한다. 그러나, 디지털 미디어 파일들은 비교적 많은 양의 저장 공간을 소비하고, 일반적으로 컴퓨팅 디바이스, 특히, 이동 디바이스는 제한된 저장 용량을 갖는다. 그러므로, 사용자들은 종종 그들의 이동 디바이스상의 그들의 전체 라이브러리보다 작은 라이브러리를 갖는 것으로 만족해야 한다. 이러한 문제는, 휴대용 컴퓨팅 디바이스로의 또는 그 디바이스로부터의 미디어 파일들을 수동적으로 이전하는 것이 종종 다소 혼란스러운 프로세 스이라는 사실에 의해 악화된다. 이러한 이유로 인해, 사용자들은 그들의 이동 디바이스상에 저장된 콘텐츠를 종종 변경하지 않는 경향이 있다.
이러한 문제를 해결하는 몇몇 시도들이 발전되어 왔다. 하나의 이러한 시도는, 본질적으로 컴퓨팅 디바이스의 저장 용량을 확대하는 "무작위 대입 (brute force)" 방법이다. 하드 디스크 드라이브 또는 플래시 메모리 드라이브와 같이 더욱 더 큰 저장 매체가 끊임없이 제작되고 있다. 이러한 방법에 대한 하나의 문제는, 그것이 휴대용 디바이스를 더욱 더 비싸고, 더 많은 전력을 소비하며 종종 원하는 것보다 더 크게 만든다는 것이다. 제한된 저장부 문제는 휴대용 디바이스의 영역에서 더욱 더 강제적인 것이지만, 또한, 렙탑, 노트북, 데스크탑, 및 다른 컴퓨팅 디바이스들과 같은 다른 영역에 적용된다.
문제를 해결하기 위한 또 다른 시도는, 컴퓨팅 디바이스상에 저장된 미디어 파일들을 변경하는 프로세스를 자동화하는 것을 포함한다. 일부 자동화된 프로세스들은, 사용자 데스크탑 컴퓨팅 디바이스와 같은 영속적인 저장부로부터 사용자의 휴대용 디바이스로 미디어 파일들을 복사하기 위해 존재한다. 실제로, 사용자가 드물게 발동시키는 (예를 들어, 청취 또는 보는) 이러한 미디어 파일들은 컴퓨팅 디바이스로부터 완전히 제거되고, 신규한 미디어 파일들이 그곳에 복사된다. 종종, 이러한 프로세스는, 휴대용 디바이스가 라이브러리를 포함하는 디바이스에 물리적으로 접속하는 동안의 동기화 동작 동안 수행된다.
이러한 프로세스의 일 단점은, 휴대용 디바이스상에 포함하도록 파일들을 식별하기 위해, 통상적으로 완전한 미디어 라이브러리가 상주할 때마다, 사용자가 휴 대용 디바이스 이외의 장소에 상주하는 일부 원격 데이터 관리 유틸리티 (utility) 와 상호작용해야 한다는 것이다. 그러한 원인 때문에, 사용자는 휴대용 디바이스상에서 어떤 콘텐츠가 포함될 것인지를 용이하게 식별할 수 없다. 대신, 사용자는 데이터 관리 유틸리티가 상주하는 컴퓨팅 디바이스로 복귀해야 한다. 이것은 사용자에 의한 개선된 계획을 요구하며, 종종 발생하지 않는다. 대안은 포함할 신규한 파일들을 데이터 관리 유틸리티가 랜덤하게 선택할 수 있다는 것이며, 물론, 그 파일들은 사용자가 개인적으로 선택할 콘텐츠와 부합하지 않을 수도 있다.
미디어 데이터 저장부를 관리하는 적절한 방법 및 메커니즘은 현재까지 당업자에게 파악되지 않았다.
발명의 요약
본 발명은 컴퓨팅 디바이스상의 명백한 저장 용량을 증가시키는 방법들 및 메커니즘들에 관한 것이다. 일 양태에서, 본 발명은 디바이스상의 데이터 저장부를 관리하는 방법을 고려한다. 그 방법은 디바이스의 로컬 저장부상에 저장된 복수의 파일들로부터 하나 이상의 트림 (trim) 후보들을 식별하는 단계를 포함한다. 그 로컬 저장부상의 트림 후보들 각각의 부분은, 복수의 파일들과 관련된 사용 경험 (heuristic) 에 기초하여 트리밍된다. 특정 트림 후보가 액세스되고 있다는 표시를 수신하는 것에 응답하여, 특정 트림 후보가 액세스되고 있을 때, 특정 트림 후보의 트리밍된 부분이 원격 저장부로부터 검색된다.
또 다른 양태에서, 방법은 데이터를 서빙 (serve) 하는 방법을 고려한다. 그 방법은 트리밍된 콘텐츠에 대해 이동 디바이스로부터 요청을 수신하는 단계를 포함하며, 그 트리밍된 콘텐츠는, 트리밍된 콘텐츠가 더 이상 미디어 파일에 상주하지 않도록 이동 디바이스가 그 이동 디바이스에 대해 로컬인 미디어 파일로부터 트리밍되는 데이터를 포함한다. 그 요청에 응답하여, 트리밍된 콘텐츠는 통신 링크를 통해 이동 디바이스로 제공된다.
또 다른 양태에서, 본 발명은 복수의 파일들을 갖는 디바이스상의 데이터 저장부를 관리하는 메커니즘을 고려한다. 그 메커니즘은, 디바이스와 원격 콘텐츠 서버 사이의 통신을 용이하게 하도록 구성된 통신 모듈, 복수의 파일들이 상주하는 저장 매체, 및 미디어 제어 컴포넌트를 포함한다. 미디어 제어 컴포넌트는, 트림 후보들을 식별하기 위해 복수의 파일들의 이용을 모니터링하도록 구성되며, 그 트림 후보들은 소정의 임계값보다 덜 빈번하게 액세스되는 미디어 파일들이다. 또한, 미디어 제어 컴포넌트는, 저장 매체상의 트림 후보들로부터 데이터를 제거함으로써 트림 후보들을 트리밍하도록 구성된다.
도면의 간단한 설명
도 1은, 본 발명의 구현이 특히 적용가능한 이동 디바이스를 일반적으로 도시한 기능적 블록도이다.
도 2는, 본 발명의 일 실시형태에 따라 구성된 미디어 제어 디바이스의 제어하에서 일 세트의 파일들을 갖는 저장 매체를 일반적으로 도시한 기능적 블록도이다.
도 3은, 본 발명의 일 실시형태에 따라 로컬 저장 용량을 개선시키도록 트리 밍되는 샘플 미디어의 개념적 예시이다.
도 4는, 본 발명의 일 실시형태에 따라 트리밍된 일 세트의 파일들을 가진 이후, 도 2에 도시된 저장 매체를 일반적으로 도시한 기능적 블록도이다.
도 5는, 본 발명의 일 실시형태에 따라, 시간의 함수로서 재생되는 메체 파일의 퍼센트에 비교되는 시간의 함수로서 로컬적으로 저장된 미디어 파일의 퍼센트의 그래프를 도시한다.
도 6은, 본 발명의 일 실시형태에 따라, 사용자의 미디어 라이브러리와 관련된 콘텐츠를 이용가능하게 하고 검색하기 위한 시스템의 기능적 블록도이다.
도 7은, 본 발명의 일 구현에 따라, 이동 디바이스상의 미디어 파일을 트리밍하는 프로세스를 일반적으로 도시한 동작적인 흐름도이다.
도 8은, 컴퓨팅 디바이스에서 미디어 파일들을 트리밍하는 콘텐츠를 검색하는 프로세스를 일반적으로 도시한 또 다른 동작적인 흐름도이다.
상세한 설명
다음은, 미디어 데이터 저장부 관리를 위한 다양한 기술들 및 메커니즘들의 상세한 설명이다. 일반적으로, 미디어 파일은 로컬 디바이스상에 저장된다. 미디어 파일들의 사용은 로깅 (log) 되고, 일단 그들의 사용이 소정의 임계값 아래로 떨어지면 미디어 파일들은 "트리밍" 된다. 미디어 파일들은, 전체 미디어 파일이 아닌 미디어 파일들로부터 데이터 (콘텐츠) 를 제거함으로써 트리밍된다. 런칭 (launch) 되면 먼저 적절히 렌더링 (render) 하는 것을 트리밍된 미디어 파일이 계속하도록, 데이터는 미디어 파일의 후반부 (즉, 말단) 로부터 제거된다. 트리밍된 미디어 파일이 런칭되면, 미디어 파일이 로컬 디바이스상에서 렌더링되고 있는 동안, 제거된 데이터는 콘텐츠 서버로부터 검색된다.
도 1은, 본 발명의 구현이 특히 적용가능한 샘플 이동 디바이스 (101) 를 일반적으로 도시한 기능적 블록도이다. 이동 디바이스 (101) 는, 셀룰러 전화기, 개인 휴대 정보 단말기, 휴대용 음악 재생기, 휴대용 미디어 센터 디바이스, 글로벌 측위 위성 (GPS) 디바이스 등과 같은 임의의 핸드헬드 컴퓨팅 디바이스일 수도 있다. 핸드헬드 컴퓨팅 디바이스의 콘텍스트 (context) 에서 여기에 설명되었지만, 본 발명의 구현이, 랩탑, 데스크탑, 또는 서버 컴퓨팅 디바이스와 같은 다른 영역에서 동일한 적용가능성을 갖는다는 것을 알 수 있다.
이러한 예에서, 이동 디바이스 (101) 는, 프로세서 유닛 (104), 메모리 (106), 및 저장 매체 (113) 를 포함한다. 프로세서 유닛 (104) 은 디지털 신호 프로세서 (DSP) 와 같은 마이크로프로세서 또는 특수-목적 프로세서를 포함하는 것이 바람직하지만, 다른 방법으로, 종래 형태의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다.
프로세서 유닛 (104) 은, 그 프로세서 유닛 (104) 에 의해 실행되는 소프트웨어 명령들을 보유한 RAM 메모리로서 구현되는 것이 바람직한 메모리 (106) 에 커플링된다. 이러한 실시형태에서, 메모리 (106) 에 저장된 소프트웨어 명령들은, 운영 시스템 (110), 하나 이상의 애플리케이션들 (112), 및 미디어 제어 컴포넌트 (111; 후술됨) 를 포함한다. 메모리 (106) 는 내장된 (on-board) RAM 일 수도 있고, 메모리 (106) 는 ASIC에 집합적으로 상주할 수 있다. 또 다른 실시 형태에서, 메모리 (106) 는 펌웨어 또는 플래시 메모리로 구성될 수도 있다.
또한, 프로세서 유닛 (104) 은, 예를 몇가지만 들면, ROM 메모리, 플래시 메모리, 또는 자성 디스크 드라이브와 같은 비휘발성 메모리 저장 매체 (113) 에 커플링된다. 또한, 저장 매체 (113) 는, 캐시 (RAM) 메모리를 갖는 자성 디스크 드라이브 등과 같이, 이들 또는 다른 기술들의 임의의 조합으로서 구현될 수도 있다. 이러한 특정 실시형태에서, 저장 매체 (113) 는, 이동 디바이스 (101) 가 파워 오프 (power off) 될 수도 있거나 전력이 없을 수도 있는 경우, 주기 동안 데이터를 저장하기 위해 사용된다.
또한, 이동 디바이스 (101) 는, 이동 디바이스 (101) 와 하나 이상의 다른 컴퓨팅 디바이스 사이의 양방향 통신을 인에이블하는 통신 모듈 (121) 을 포함한다. 통신 모듈 (121) 은, 셀룰러 전화기 네트워크, 블루투스 접속, 무선 로컬 영역 네트워크, 또는 무선 와이드 영역 네트워크와 같은 RF 또는 다른 무선 통신을 인에이블하기 위해 컴포넌트들을 포함할 수도 있다. 다른 방법으로, 통신 모듈 (121) 은, 이더넷 접속, 일반적 직렬 버스 (USB) 접속, IEEE 1394 (Firewire) 접속 등과 같은 지상선 또는 하드 와이어드 네트워크 통신을 인에이블하기 위해 컴포넌트들을 포함할 수도 있다. 이들은 비-포괄적인 리스트들로서 의도되며, 다른 많은 대체물들이 가능하다.
도 2는, 상기 도입된 저장 매체 (113) 및 미디어 제어 컴포넌트 (111) 를 일반적으로 도시한 기능적 블록도이다. 상술된 바와 같이, 저장 매체 (113) 는, 이동 디바이스가 파워 오프될 수도 있거나 전력이 없을 수도 있는 경우, 주기 동안 데이터를 저장하기 위해 사용된다. 저장 매체 (113) 는, 접촉 정보, 예약 (appointment) 정보, 문서, 및 다른 정보를 저장하기 위해 사용될 수도 있다. 이러한 특정 예에서, 저장 매체 (113) 는, 사용자의 컬렉션 (collection) 에 미디어 파일들 (210) 을 저장하기 위해 사용되는 것이다. 그 미디어 파일들 (210) 은, MPEG 레이어 3 (MP3) 파일들과 같은 음악 파일들, 또는 비디오 파일들 또는 사진들과 같은 다른 미디어 데이터를 포함할 수도 있다. 단지 설명의 간략화를 위해, 미디어 파일들 (210) 은 본 명세서에서 디지털 음악 파일들로서 지칭될 것이다. 그러나, 미디어 파일들 (210) 이 임의의 대부분의 포맷에서의 임의의 파일 콜렉션일 수 있다는 것을 알 수 있다.
각각의 미디어 파일들 (210) 은 저장 매체 (113) 상에서 현저한 양의 공간을 소비한다. 이러한 예에서, 미디어 파일들 (210) 은 저장 매체 (113) 의 이용가능한 용량을 고갈시킨다. 그러나, 미디어 파일들 (210) 은 사용자의 전체 디지털 미디어 라이브러리가 아니라, 대신 저장 매체 (113) 의 이용가능한 용량에 적합할 수 있는 미디어 파일들만을 나타낸다. 더 많은 미디어 콘텐츠가 사용자의 완전한 라이브러리에서의 원격 위치에 존재하며, 네트워크 저장부 또는 또 다른 원격-액세스가능한 컴퓨팅 시스템상에 저장될 수도 있다.
연구는 소비자들의 음악 청취 트렌드 (trend) 가 균형잡혀 있지 않다는 것을 나타낸다. 즉, 소비자가 100개의 컴팩트 디스크들을 소유하는 경우, 소비자들은 이러한 100개의 디스크들의 각각을 동일한 정도로 청취하지 않는다. 소비자의 경향은, 그들의 컬렉션에서 다른 타이틀보다 훨씬 더 빈번하게 신규한 음악 또 는 옛날 인기곡을 청취하는 것이다. 따라서, 메타 정보 (220) 는, 미디어 파일들 (210) 에서의 각각의 파일에 대해 사용자의 액세스 패턴들을 식별한다. 예를 들어, 미디어 파일들 (210) 이 모두 노래이면, 미디어 정보 (220) 는, 사용자가 각각의 수개의 노래들을 얼마나 빈번하게 청취하는지에 대한 경험 데이터를 포함할 수 있다. 또한, 메타 정보 (220) 는, 파일들이 저장 매체 (113) 에 최초로 저장되었을 때, 그 파일들이 마지막으로 액세스되었거나 변형되었을 때, 데이터를 소유한 사람, 각각의 파일이 얼마나 많이 로컬적으로 저장되는지, 및 미디어 파일들 (210) 에 대한 보안 또는 데이터 권리 관리 정보와 같은 미디어 파일들 (210) 에 대한 다른 메타 데이터를 나타낼 수도 있다. 메타 정보 (220) 는, 운영 시스템 컴포넌트, 특수 목적 컴포넌트와 같은 임의의 메커니즘에 의해, 또는 미디어 제어 컴포넌트 (111) 에 의해서도 수집될 수 있다.
미디어 제어 컴포넌트 (111) 는, 저장 매체 (113), 특히 미디어 파일들 (210) 상에 저장된 데이터를 관리하도록 구성된 메커니즘이다. 미디어 제어 컴포넌트 (111) 의 핵심 책임은, 메타 정보 (220) 에서의 이용 데이터에 기초하여 몇몇 미디어 파일들 (210) 을 트리밍하는 것이다. 일반적으로, 미디어 제어 컴포넌트 (111) 는 2개의 기능들을 수행한다. 먼저, 그 컴포넌트는 사용자가 미디어 파일들 (210) 중 어떤 파일들을 가장 덜 빈번하게 액세스 (예를 들어, 음악 파일들의 경우에서는 청취) 하는지를 결정하고, 그 파일들의 전체 사이즈보다 작은 사이즈로 그 파일들을 "트리밍" 또는 절단한다. 다음으로, 미디어 제어 컴포넌트 (111) 는, 사용자가 임의의 트리밍된 파일들에 액세스할 경우, 통신 모듈 (121) 을 사용하여 다운로드하기 위해 사용자가 액세스하는 임의의 트리밍된 파일들 중 미싱 (missing) 부분을 야기한다.
더 상세하게, 미디어 제어 컴포넌트 (111) 는 메타 정보 (220) 를 주기적으로 또는 랜덤하게 검토하여, 미디어 파일들 (210) 중에서 임의의 트림 후보들을 식별할 수도 있다. 트림 후보들은, 사용자가 일부 주기의 시간 동안 액세스하지 않는, 또는 더 긴 주기의 시간에 걸쳐 일부 임계 횟수보다 더 많이 액세스하지 않을 수도 있는 임의의 파일 또는 파일들일 수도 있다. 미디어 제어 컴포넌트 (111) 는 미디어 파일들이 얼마나 빈번하게 액세스되는지의 순서로 그 미디어 파일들 (210) 을 랭크 (rank) 시킬 수도 있거나, 빈번하게 액세스됨, 빈번하지 않게 액세스됨, 드물게 액세스됨, 및 거의 액세스되지 않음과 같이 수개의 그룹들 중 하나의 그룹에 그 파일들을 할당할 수도 있다. 이들은 예시일 뿐이고, 다른 많은 구현들이 가능하다.
일단 트림 후보들이 식별되면, 미디어 제어 컴포넌트 (111) 는 하나 이상의 이러한 트림 후보들의 일부를 트리밍한다. 이러한 설명의 목적을 위해, 파일을 "트리밍" 하는 것은, 그 파일이 계속 판독가능하는 것을 유지하는 방식으로, 바람직하게는 그 파일의 시작부가 아닌 그 파일의 일부로부터 데이터를 삭제하는 것을 포함한다. 즉, 음악 파일들의 경우, 일단 미디어 제어 컴포넌트 (111) 가 사용자가 빈번하지 않게 청취하는 노래를 식별하면, 미디어 제어 컴포넌트는 그 노래의 말단으로부터 시작부를 향하여 그 노래를 트리밍하며, 따라서, 그 노래의 시작부를 저장 매체 (113) 상에 남겨두지만 로컬적으로 저장된 파일의 사이즈를 여전히 감소 시킨다. 트리밍된 부분은 간단히 삭제될 수 있거나, 가능하게는 미디어 파일로부터 절단되어 다른 곳에 저장될 수 있다. 미디어 파일을 트리밍하기 위한 일 예의 기술이 도 4에 도시되어 있으며 후술된다.
도 3은, 본 발명의 일 실시형태에 따라 트리밍된 파일들의 세트를 가진 이후, 도 2에 도시된 저장 매체를 일반적으로 도시한 기능적 블록도이다. 도시된 바와 같이, 미디어 제어 컴포넌트 (111) 는, 메타 정보 (220) 에서의 메타 데이터를 사용하여, 사용자가 빈번하지 않게 액세스하는 메타 파일 (310) 인 수개의 트림 후보들을 식별한다. 그 후, 미디어 제어 컴포넌트 (111) 는, 그 트림 후보들의 본래의 트리밍되지 않은 사이즈보다 더 작은 일부 사이즈로 그 후보들을 트리밍한다. 트리밍된 파일 (312) 와 같이 수평선을 갖는 트리밍된 파일들의 예들이 도 3에 도시되어 있다. 사용자가 더 빈번하게 액세스하는 다른 미디어 파일들 (310) 은 트리밍되지 않는다. 트리밍되지 않은 파일 (314) 과 같이 대각선을 갖는 트리밍되지 않는 파일들의 예들이 도 3에 도시되어 있다. 미디어 파일들 (310) 의 콜렉션의 전체 사이즈가 도 2에 도시된 완전히 트리밍되지 않은 미디어 파일들 (210) 의 콜렉션보다 더 작다는 것을 알 수 있다. 이는, 부가적인 저장을 위해 사용될 수 있는 저장 매체 (113) 상에서 증가된 프리 (free) 공간 (350) 을 초래한다. 파일 시스템 단편화 (fragmentation) 이슈는, 파일 트리밍에 의해 생성된 필연적인 갭들을 수용하기 위한 배경에서 관리될 수 있다.
설명된 일반적인 기술의 이점을 이용하여, 본 발명의 구현들은, 저장 매체 (113) 의 용량을 증가시키지 않고, 사용자 미디어 라이브러리의 더 큰 부분, 또는 모든 그 라이브러리에 대한 액세스를 제공할 수 있다. 대신, 디바이스는, 많은 또는 일부 미디어 파일들의 완전한 버전들, 및 다른 미디어 파일들의 단지 부분적인 버전들을 저장하기 위해 사용되는 제한된 양의 저장부를 포함한다. 다른 방법으로, 저장 매체 (113) 상에 저장된 모든 파일들은 전체 파일의 부분적인 버전일 수도 있다. 저장 매체 (113) 상의 프리 공간 (350) 은 사용자의 미디어 라이브러리에서 나머지 엔트리들의 일부를 저장하기 위해 사용될 수도 있다. 예를 들어, 사용자의 음악 라이브러리에서의 각각의 노래의 시작부만이 저장 매체 (113) 상에서 로컬적으로 저장될 수도 있다. 또 다른 방법으로, 사용자의 미디어 라이브러리에서 나머지 엔트리들을 식별하는 콘텐츠 등의 테이블이 포함될 수도 있다. 유사하게, 프리 공간 (350) (또는 그의 일부) 은, 신규한 미디어 콘텐츠 (예를 들어, 이동 디바이스를 사용하여 구매된 신규한 음악 파일), 이동 디바이스상의 다른 애플리케이션들에 의한 사용용 일반적인 데이터, 또는 임의의 다른 데이터를 포함하는 어느 다른 임의 정보를 저장하기 위해 사용될 수 있다.
일 구현에서, 미디어 제어 컴포넌트 (111) 는, 사용자의 변화한 청취 습관에 저장 매체 (113) 의 콘텐츠를 활성적으로 및 알고리즘적으로 적응시킨다. 빈번하게 액세스된 파일들은 전부 저장될 수도 있지만, "디지털 열화 (deterioration)" 알고리즘은 덜 빈번하게 액세스된 파일들에 적용될 것이다. 이러한 구현에서, 미디어 제어 컴포넌트 (111) 는 이용 패턴들에 기초하여 수개의 파일들의 다수의 트림들을 수행할 수도 있으며, 가장 빈번하지 않게 액세스된 파일들의 로컬 사이즈를 점차적으로 감소시킨다. 빈번하게 액세스된 파일들은 전혀 트리밍되지 않을 수도 있다.
도 6과 함께 더 상세히 설명될 바와 같이, 트리밍되는 임의의 파일의 미싱 부분은 요구에 따라 동적으로 검색된다. 즉, 사용자가 단지 로컬하게 부분적으로 상주하는 파일 (예를 들어, 노래) 을 액세스하면, 미디어 제어 컴포넌트 (111) 는, 로컬적인 콘텐츠를 렌더링하는 동안 미싱 콘텐츠를 활성적으로 검색한다. 예를 들어, 사용자가 파일을 청취하기 위해 그 파일을 활성화시킬 때, 노래가 단지 로컬하게 부분적으로 상주하면, 미디어 제어 컴포넌트 (111) 는 로컬적인 노래의 그 일부를 재생하는 것을 시작하고, 그 부분이 재생되는 동안, 트리밍되는 노래의 부분을 검색한다. 이러한 방식으로, 사용자는 사용자의 미디어 파일 모두가 로컬적으로 상주한다는 환상을 경험하고, 실제로, 사용자는 로컬하게 부분적으로 상주한 임의의 미디어를 향유하는 것을 즉시 시작할 수도 있다. 임의의 미싱 콘텐츠 (즉, 트리밍된 콘텐츠) 는 "배경에서" 검색되고, 사용자는 전체 파일이 로컬적이지 않았다는 것을 결코 깨닫지 못할 수도 있다. 이용될 수도 있는 미싱 부분을 검색하기 위한 수개의 기술들이 존재한다. 도 6은 무선 이동 디바이스에 대한 특정 이용가능도를 갖는 그러한 하나의 기술을 도시한다.
도 4는 본 발명의 일 실시형태에 따라 로컬 저장 능력을 개선시키기 위해 트리밍될 샘플 미디어 파일의 개념적인 예시이다. 도 4에 도시된 것은 사용자의 미디어 라이브러리에서 하나의 엔트리를 나타낼 수도 있는 미디어 파일 (410) 이다. 이러한 예에서, 미디어 파일 (410) 은, 디지털 음악 콘텐츠용으로 광범위하게 사용되는 대중적인 MPEG 레이어-3 ("MP3") 포맷과 같은, 매우 많은 상이한 미 디어 포맷들 중 하나일 수도 있다.
종종, 미디어 파일 (410) 과 같은 미디어 파일들은, 프레임 (412) 과 같이 "프레임" 으로 지칭되는 더 작은 부분들로 구성된다. 일반적으로, 프레임은 함께 전체로서 적합한 미디어 콘텐츠의 독립적인 엘리먼트이고, 각각의 프레임은, 그 프레임에서의 데이터를 설명하는 정보를 갖는 그 자신의 헤더를 갖는다. 글로벌 파일 헤더가 존재하지 않을 수도 있으므로, 정확히 수행되면, 미디어 파일 (410) 은 수개의 장소들 중 하나 이상의 장소에서 "절단" 될 수 있지만, 파일의 나머지 부분은 미디어 재생기 상에 여전히 정확하게 랜더링될 것이다. 파일 (410) 을 절단하는 것은, 헤더가 프레임을 정확히 식별하는 것을 유지하도록 프레임 경계상에서 행해져야 하지만, 많은 미디어 랜더 (render) 는 부정확한 헤더들을 처리할 수 있다.
일부 미디어 포맷에서, 프레임은 서로 의존적이고 설명된 바와 같이 용이하고 간단하게 분리될 수 없다. 예를 들어, 대중적인 MP3 포맷으로 인코딩된 일부 미디어 파일들에서의 프레임들은 상호의존적일 수도 있고, 남아있는 미디어 파일 (410) 의 일부가 여전히 적절하게 랜더링될 수 있다는 것을 보장하기 위해, 더 복잡한 분석이 수행되어야 한다. 그러나, 미디어 파일들을 트리밍 또는 클립핑하는 것이 공통적으로 수행되며, 이러한 설명은 프로세스의 단지 개관 (overview) 일 뿐이다.
상술된 바와 같이, 미디어 파일 (410) 의 이용이 일부 소정의 값 아래로 떨어지면, 미디어 제어 컴포넌트 (111) 는, 콘텐츠의 말단으로부터 시작부를 향해, 바람직하게는 프레임 경계상에서 그 미디어 파일 (410) 의 일부를 절단함으로써 그 미디어 파일을 트리밍하며, 트리밍된 미디어 파일 (450) 을 초래한다. 트리밍된 메체 파일 (450) 은 트리밍되지 않은 미디어 파일 (410) 의 초기 부분을 나타내고, 사용자에 의해 액세스되면 미디어의 시작부를 재생할 것이다.
트리밍될 수 있는 미디어 파일 (410) 의 양은 수개의 원인들 때문에 변할 수도 있다. 예를 들어, 미디어 파일 (410) 의 파일 포맷은, 여전히 부분적으로 이용가능하게 유지되는 동안 얼마나 많이 트리밍될 수 있는지를 관리할 수도 있다. 일 구현에서, 미디어 파일 (410) 은, 그 미디어 파일 (410) 이 트림 후보가 되는 처음 시간에 일부 최소 사이즈로 트리밍될 수도 있다. "최소 사이즈" 의 일 정의는 도 5와 함께 후술된다. 또 다른 구현에서, 미디어 파일 (410) 은 사용의 빈도에 기초하여 상이한 상으로 트리밍될 수도 있다. 예를 들어, 일부 초기 임계값보다 더 낮은 횟수로 액세스된 미디어 파일은 50%와 같은 초기 양에 의해 트리밍될 수도 있다. 액세스될 미디어 파일없이 일부 부가 시간이 경과하면, 그 미디어 파일은 부가적인 50%와 같은 일부 부가량에 의해 트리밍될 수도 있으므로, 파일은 현재 그의 본래 사이즈의 25%이다. 액세스 없는 추가적인 시간 이후, 훨씬 많은 미디어 파일들이 트리밍될 수도 있다. 이러한 절차는, 미디어 파일이 일부 최소 사이즈에 도달할 때까지 반복될 수도 있다. 사용자 인터페이스가, 어느 파일들이 완전히 상주하는지 및 어느 것이 부분적으로 상주하는지에 대한 일부 표시를 제공하기 위해 사용될 수 있으며, "퍼센트 로컬" 등을 표시한다.
예시하기 위해, 미디어 파일 (410) 이, 길이가 3분이고 128-비트 MP3를 사용 하여 10:1 압축비로 인코딩된 노래라고 가정한다. 이러한 조건들 하에서, 미디어 파일 (410) 은 약 2.8MB의 저장부를 점유할 수도 있다. 재생될 노래없이 시간이 경과할 때, 처음 1분, 그 후 30초, 그 후, 15초, 및 마지막으로 5초로, 미디어 파일 (410) 이 트리밍된다. 그러한 관점에서, 트리밍된 미디어 파일 (450) 에 의해 소비되는 저장 공간은 약 80KB일 수도 있다. 사용자가 트리밍된 미디어 (450) 를 액세스할 경우, 나머지 2.7MB는, 무선-액세스가능한 서버 등 상에 상주할 수도 있는 사용자의 완전한 라이브러리로부터 검색될 수 있다.
부가적인 향상은, 사용자의 이용 패턴들에 기초하여 파일링 (file) 하도록 행해진 트리밍의 양을 변형하는 것일 수도 있다. 그러한 일 구현에서, 트리밍이 발생하는 임계값은 상이한 사용자의 청취 습관에 적응할 것이다. 그러므로, 예를 들어, 반복하여 동일한 세트의 음악을 청취하는 사용자는, 더 광범위하게 다양한 음악을 청취하는 사용자와는 상이한 열화를 경험할 수 있다. 또한, 임계값은 사용자 구성가능할 수 있으며, 사용자로 하여금 원격 위치로부터 얼마나 많이 검색되는지에 대한 얼마나 많은 음악이 로컬적으로 저장되는지를 제어하게 한다.
도 5는, 본 발명의 일 실시형태에 따라, 시간의 함수로서 재생되는 미디어 파일의 퍼센트와 비교되는 시간의 함수로서 로컬적으로 저장되는 미디어 파일의 퍼센트의 그래프를 도시한다. 도시된 것은 "재생 커브" (510) 및 "로컬 커브" (550) 이다. 재생 커브 (510) 는, 사용자가 파일에 액세스할 경우 얼마나 많은 미디어 파일이 렌더링 또는 재생되는지를 전체의 퍼센트로서 나타낸다. 재생 길이 (512) 는 전체 파일을 렌더링하는데 걸리는 시간의 총 양을 나타낸다.
이와 대조적으로, 로컬 커브 (550) 는, 로컬적으로 상주하는 미디어 파일의 양을 전체의 퍼센트로서 나타낸다. 먼저, 파일의 35%와 같이, 전체 미디어 파일보다 더 적은 파일이 로컬적으로 상주한다. 다운로드 시간 (516) 은 미디어 파일의 미싱 부분을 다운로딩 또는 검색하는데 걸리는 시간이며, 이 예에서는 콘텐츠의 65%이다. "셋업" 시간 (518) 은, 로컬 디바이스가, 미디어 파일의 미싱 부분이 상주하는 원격 디바이스와의 세션을 확립하고, 미싱 콘텐츠를 검색 또는 다운로딩하는 것을 시작하는데 걸리는 시간이다.
도 5에 도시된 바와 같이, 심리스 중계 (seamless replay) 경험을 사용자에게 여전히 제공하고 있는 동안, 트리밍될 수도 있는 미디어 파일의 퍼센트는 셋-업 시간 (518) 및 다운로드 시간 (516) 에 의해 제어된다. 즉, 셋-업 시간 (518) 및 다운로드 시간 (516) 이 재생 길이 (512) 를 초과하지 않는 한, 먼저 사용자가 재생을 개시했었던 경우, 전체 파일이 로컬적으로 상주하지 않았다는 것을 깨닫지 못하고 미싱 콘텐츠가 검색될 수도 있다. 셋-업 시간 (518) 은, 로컬 디바이스가 사용자의 라이브러리를 포함하는 원격 디바이스와의 통신 세션을 개시 및 협상하고, 미디어 파일의 미싱 부분의 다운로드 또는 검색을 개시하는데 걸리는 시간의 함수이다. 통신 프로토콜 및 하드웨어에 기초하여, 셋-업 시간 (518) 은 밀리초로부터 수 초까지의 임의의 시간 길이일 수 있다. 다운로드 시간 (516) 은 로컬 디바이스와 서버 사이의 통신 링크의 대역폭의 함수이다. 링크가 높은 레이턴시 또는 낮은 대역폭 접속이라면, 다운로드 시간 (516) 은 길어진다. 이와 대조적으로, 링크가 높은 대역폭 또는 낮은 레이턴시 접속이면, 다운로드 시간 (516) 은 매우 빠르며, 심지어 몇 초일 수 있다. 통신 링크가 매우 빠른 경우, 미디어 파일의 많은 퍼센트는, 전체 파일이 로컬이라는 환상을 희생시키지 않고 트리밍될 수 있다.
또한, 사용자가 미싱 콘텐츠의 부재를 통지받지 못하면서 미싱 콘텐츠가 검색될 수 있는 것이 바람직하지만, 그러한 것이 본 발명에 필요하지는 않다는 것을 알 수 있다. 즉, 본 발명은, 미디어의 일부가 미싱되어 있다는 사실을 사용자가 경험하는 실시형태에서 구현될 수도 있다. 예를 들어, 콘텐츠를 트리밍하기 위한 임계값은, 일부 경우 일부 파일들의 재생에서 일부 스킵핑 (skip) 또는 유보 (hesitation) 를 회피하기 위해 미싱 콘텐츠가 충분히 신속하게 검색되지 않을 수 있는데 있어서 충분히 적극적일 수 있다. 이러한 구성은, 미디어 파일의 최대 수가 적어도 부분적으로 로컬 저장 매체 상에서 표현될 수 있다는 이점을 갖는다. 다른 방법으로, 임계값은, 재생 길이 (512) 의 만료 이전에 미싱 콘텐츠가 항상 (또는 거의 항상) 검색되는데 충분히 보수적일 수 있다. 이러한 구성은, 데이터의 최소 양이 검색을 요구한다는 부가적인 이점을 가지며, 대역폭이 제한, 규제되거나 이용료가 발생하는 무선 환경에서 관심사일 수도 있다.
도 6은, 본 발명이 구현될 수도 있는 일 시스템 (601) 을 일반적으로 도시한 기능적 블록도이다. 시스템 (601) 은 이동 디바이스 (610) 및 서버 (650) 를 포함한다. 이동 디바이스 (610) 는 미디어 콘텐츠가 저장될 수도 있는 임의의 컴퓨팅 디바이스일 수 있다. 사용자의 디지털 미디어 콜렉션의 적어도 일부가 이동 디바이스 (610) 상에 저장되고, 이동 디바이스 (610) 상의 하나 이상의 미디 어 파일은 상술된 바와 같이 부분적으로 트리밍된다. 이동 디바이스 (610) 는, 액세스될 미디어 파일들에 응답하여 그 미디어 파일들에 대한 미상 콘텐츠를 검색 또는 다운로딩하도록 구성된 미디어 제어 컴포넌트 (611) 를 포함한다.
이러한 실시형태에서, 이동 디바이스 (610) 는 무선 링크 (620) 를 통해 서버 (650) 와 통신한다. 일 예에서, 이동 디바이스 (610) 는 핸드헬드 셀룰러 전화기일 수 있고, 서버 (650) 는 무선 링크 (620) 를 통해 콘텐츠를 이용가능하게 하는 파일 호스팅 서비스의 일부일 수 있다. 서버 (650) 는, 이동 디바이스 (610) 에 의한 주문형 (on-demand) 다운로드에 대해 콘텐츠를 이용가능하게 하도록 구성된다. 특히, 서버 (650) 는, 이동 디바이스 (610) 에 의해 식별될 때, 파일내의 위치로부터 부분적인 파일 콘텐츠의 다운로딩을 허용하도록 구성된다. 서버 (650) 는 라이브러리 (652) 에서의 사용자의 완전한 디지털 미디어 콜렉션을 포함할 수도 있고, 미디어 파일 (612) 로부터 트리밍된 미싱 콘텐츠 (654) 를 적어도 포함한다.
이러한 실시형태에 따라, 사용자가 부분적으로 상주하는 미디어 파일 (612) 에 액세스하면, 미디어 제어 컴포넌트 (611) 는 미디어 파일 (612) 의 렌더링을 즉시 시작하게 한다. 예를 들어, 미디어 파일 (612) 이 노래이면, 미디어 제어 컴포넌트 (612) 는 그 노래가 미디어 파일 (612) 의 로컬적으로 상주하는 부분을 재생하길 시작하게 한다. 또한, 미디어 제어 컴포넌트 (611) 는 미디어 파일 (612) 의 미싱 부분이 서버 (650) 로부터 검색되게 한다.
더 상세하게, 미디어 제어 컴포넌트 (611) 의 제어하에서, 이동 디바이스 (610) 는 서버 (650) 와의 세션을 개시하고 미싱 콘텐츠 (654) 를 다운로딩하도록 요청한다. 또한, 서버 (650) 는, 이동 디바이스 (610) 의 사용자가 미싱 콘텐츠 (654) 를 검색하는 권리를 갖는다는 것을 보장하기 위해, 적절한 보증서를 제공하도록 이동 디바이스 (610) 에 요청할 수도 있다. 세션이 확립되는 경우, 서버 (650) 는 무선 링크 (620) 를 통해 미싱 콘텐츠 (654) 를 이동 디바이스 (610) 에 송신한다. 미디어 제어 컴포넌트 (611) 는, 미디어 파일이 렌더링되고 있을 때, 미싱 콘텐츠를 그 미디어 파일 (612) 에 재포함한다.
미디어 파일 (612) 이 서버 (650) 로부터 부분적으로 페치되지만, 사용자 경험은 하나의 즉시 액세스이라는 것을 알 수 있다. 서버 (650) 로부터 검색된 콘텐츠의 양은 가변적이다. 더 길게 미디어 파일이 "휴면중" 일수록 (즉, 최근에 액세스되지 않을 수록), 더 많은 콘텐츠가 서버 (650) 로부터 검색되길 필요로 할 것이다. 예를 들어, 단지 최근에 디지털적으로 열화하기 시작한 노래는 가장 짧은 공중-경유 다운로드를 요구할 것이다. 일단 다운로딩되면, 노래는, 다시 "실효" 될 때까지 이동 디바이스 (610) 상에 상주하는 것을 유지한다. 이러한 기술의 최총 효과는, 사용자의 요청시에만 오래된 콘텐츠를 검색하고, 그 후, 배경에서 심리스하게 검색하지만, 사용자가 가장 빈번하게 액세스하는 상주 콘텐츠를 유지하는 것이다.
도 7은, 본 발명의 일 구현에 따라, 이동 디바이스상의 미디어 파일을 트리밍하기 위한 프로세스 (700) 를 일반적으로 도시한 동작적인 흐름도이다. 프로세스 (700) 는, 이동 또는 고정 컴퓨팅 디바이스와 같은, 미디어 파일들이 저장된 컴퓨팅 디바이스상에서 구현될 수도 있다. 미디어 파일들은 미디어 파일들의 라이브러리의 적어도 일부를 나타낸다.
프로세스 (700) 는 이용 데이터 또는 경험 데이터가 저장된 미디어 파일들 각각에 대해 수집되는 단계 (710) 에서 시작한다. 이용 데이터는 미디어 파일들 각각이 컴퓨팅 디바이스상에서 얼마나 빈번하게 액세스되는지를 식별한다. 일 예에서, 미디어 파일들이 노래이면, 이용 데이터는 각각의 노래가 얼마나 빈번하게 및/또는 얼마나 최근에 재생되는지를 나타낼 수도 있다.
단계 (720) 에서, "트림 후보들" 이 컴퓨팅 디바이스상에 저장된 미디어 파일들로부터 식별된다. 트림 후보들은 컴퓨팅 디바이스상에서 가장 빈번하지 않게 액세스된 미디어 파일들의 서브세트를 나타낸다. 트림 후보들은 컴퓨팅 디바이스의 컴포넌트에 의해 수집된 이용 또는 경험 데이터로부터 식별될 수도 있다.
단계 (730) 에서, 각각의 트림 후보들이 트리밍되며, 트림 후보들로서 식별된 미디어 파일들의 콘텐츠의 일부가 컴퓨팅 디바이스상의 로컬 저장부로부터 제거된다는 것을 의미한다. 즉, 트림 후보들은 더 작은 트리밍된 미디어 파일로 절단될 수도 있다. 트림 후보들은 미디어 파일의 말단으로부터 앞쪽으로 트리밍되며, 따라서, 컴퓨팅 디바이스상에서 미디어의 시작부를 남겨두는 것이 바람직하다. 트리밍은 단계 (710) 와 함께 수집된 이용 경험에 기초할 수도 있다. 이용 경험은 트리밍되는 미디어 파일들의 양을 증가 또는 감소시키기 위해 사용될 수도 있다.
도 8은, 컴퓨팅 디바이스에서의 미디어 파일들로부터 트리밍되는 콘텐츠를 검색하기 위한 프로세스 (800) 를 일반적으로 도시한 또 다른 동작적인 흐름도이다. 프로세스 (800) 는, 트리밍된 미디어 파일들을 포함하는 미디어 파일들이 저장된 이동 디바이스상에서 수행된다. 일반적으로, 이동 디바이스라는 용어는, 완전한 미디어 파일들의 라이브러리를 포함하는 콘텐츠 서버로부터 분리되는 컴퓨팅 디바이스를 설명하기 위해 사용되며, 사실, 이동 또는 휴대용이 아닌 컴퓨팅 디바이스들을 포함할 수도 있다.
단계 (810) 에서, 특정 트림 후보가 액세스되고 있다는 표시가 컴퓨팅 디바이스에서 수신된다. 예를 들어, 빈번하지 않게 액세스 (예를 들어, 재생) 되었기 때문에 트리밍된 미디어 파일은 이제 사용자에 의해 런칭될 수도 있다. 트리밍된 파일을 런칭하는 것은, 그 트리밍된 파일의 렌더링이 즉시 시작하게 하고, 또한, 통지가 이슈될 트리밍된 콘텐츠를 검색하게 한다. 이러한 프로세스 (800) 의 나머지 단계들 중 하나 이상이 수행되는 동안, 트리밍된 미디어 파일을 렌더링하는 것이 발생할 수도 있으며, 따라서, 미디어 파일이 트리밍되지 않았다는 환상을 사용자에게 제공한다는 것을 알 수 있다.
단계 (820) 에서, 통신 세션이 개시되어 원격 저장부로부터 트리밍된 콘텐츠를 검색할 수도 있다. 예를 들어, 셀룰러 통신 세션과 같은 무선 링크 또는 종래의 이더넷 네트워크 접속과 같은 유선 링크를 사용하는 통신 세션이 확립되어 트리밍된 콘텐츠를 검색하는 것을 지원할 수도 있다. 그 세션은, 사용자의 미디어 라이브러리와 관련된 미디어 파일들이 상주하는 서버 컴퓨팅 디바이스일 수도 있는 원격 콘텐츠 서버와 확립된다. 원격 저장부는 컴퓨팅 디바이스로부터 제 거되는 특정 트림 후보의 적어도 일부를 포함한다.
단계 (830) 에서, 트리밍된 콘텐츠는, 특정 트림 후보가 액세스될 때 원격 저장부로부터 검색된다. 더 상세하게, 트림 후보를 렌더링하는 것은 단계 (810) 이전 또는 그 단계와 함께 개시되었고 (예를 들어, 음악 파일을 재생하는 것이 시작된다), 그 트림 후보가 렌더링되는 동안, 미디어 파일의 미싱 부분 (즉, 트리밍된 콘텐츠) 은 원격 저장부로부터 검색되고 미디어 파일로 재포함된다. 통신 링크를 통해 미디어 콘텐츠를 다운로딩하는 것과 미디어 파일의 렌더링이 통상적으로 관련될 수도 있는 유보없이 및 심리스하게 수행될 수도 있는 방식으로 트리밍된 콘텐츠가 재포함되는 것이 바람직하다.
콘텐츠를 검색하기 위한 메커니즘들은, 경험을 적용함으로써 추가적으로 향상될 수 있고, 또한, 이용 또는 일정한 가정들에 기초할 수 있다. 예를 들어, 사용자가 특정 앨범 (또는 미디어의 다른 콜렉션) 을 재생하길 시작하면, 컴퓨팅 디바이스는, 모든 노래들이 추가적인 다운로드없이 이용가능하다는 것을 보장하기 위해, 그 앨범 상에 비상주 노래들의 임의의 일부를 다운로딩하는 것을 시작할 수 있다. 유사하게, 디바이스가 랜덤한 순서로 음악 라이브러리로부터 노래들을 재생하도록 설정되면, 비상주 노래들은 단일의 네트워크 접속 동안 프리페치 (prefetch) 될 수 있다.
본 발명이 특정 실시형태들 및 구현들을 참조하여 설명되었지만, 이들은 단지 예시적일 뿐이고, 본 발명의 범위가 이러한 실시형태들에 제한되지 않는다는 것을 알 수 있다. 상술된 실시형태들에 대한 많은 변경들, 변형들, 부가들 및 개 선들이 가능하다. 다음의 청구항내에서 상술될 때, 이러한 변경들, 변형들, 부가들 및 개선들이 본 발명의 범위내에 있다는 것으로 간주된다.

Claims (34)

  1. 디바이스상에서 데이터 저장부를 관리하는 방법으로서,
    로컬 저장부상의 복수의 파일들에서의 각각의 파일에 대한 이용 패턴을 결정하는 단계;
    상기 각각의 파일의 이용 패턴에 기초하여 상기 복수의 파일들로부터 하나 이상의 트림 (trim) 후보들을 식별하는 단계;
    상기 로컬 저장부 상에서의 상기 트림 후보들 중 일부를 트리밍하는 단계; 및
    특정 트림 후보가 액세스되고 있다는 표시에 응답하여, 상기 특정 트림 후보가 액세스되고 있는 동안 상기 특정 트림 후보의 상기 트리밍된 일부를 검색하는 단계를 포함하는, 데이터 저장부 관리 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 로컬 저장부상의 복수의 파일들은 디지털 미디어 파일들을 포함하는, 데이터 저장부 관리 방법.
  4. 제 1 항에 있어서,
    상기 디바이스는 이동 컴퓨팅 디바이스를 포함하고, 상기 복수의 파일들은 미디어 파일들을 포함하며, 각각의 미디어 파일에 대한 이용 패턴은 상기 미디어 파일이 상기 이동 컴퓨팅 디바이스 상에서 렌더링되는 빈도를 포함하는, 데이터 저장부 관리 방법.
  5. 제 4 항에 있어서,
    상기 트림 후보들을 식별하는 단계는, 소정의 임계값보다 덜 빈번하게 렌더링된 미디어 파일들을 식별하는 단계를 포함하는, 데이터 저장부 관리 방법.
  6. 제 1 항에 있어서,
    상기 트림 후보들 중 일부를 트리밍하는 단계는,
    미디어 파일의 시작부 및 상기 미디어 파일의 말단부를 식별하는 단계로서, 상기 미디어 파일은 상기 시작부로부터 상기 말단부를 향해 렌더링되도록 구성되는, 상기 식별 단계; 및
    상기 말단부로부터 상기 시작부를 향해 상기 미디어 파일을 절단하는 단계를 포함하는, 데이터 저장부 관리 방법.
  7. 제 6 항에 있어서,
    상기 미디어 파일이 상기 시작부로부터 렌더링되고 있을 때 절단된 양이 검색되게 하기 위해, 상기 미디어 파일의 충분한 양이 절단되지 않는, 데이터 저장부 관리 방법.
  8. 디바이스상에서 데이터 저장부를 관리하는 방법으로서,
    로컬 저장부에 저장된 복수의 파일들로부터 하나 이상의 트림 후보들을 식별하는 단계;
    상기 로컬 저장부 상에서의 상기 트림 후보들 각각의 일부를 트리밍하는 단계로서, 상기 트리밍 단계는 상기 복수의 파일들과 관련된 이용 경험 (heuristic) 에 기초하는, 상기 트리밍 단계;
    특정 트림 후보가 액세스되고 있다는 표시를 수신하는 단계; 및
    상기 특정 트림 후보가 액세스되고 있을 때 원격 저장부로부터 상기 특정 트림 후보의 트리밍된 부분을 검색하는 단계를 포함하는, 데이터 저장부 관리 방법.
  9. 제 8 항에 있어서,
    상기 디바이스는 이동 컴퓨팅 디바이스를 포함하고, 상기 복수의 파일들은 미디어 파일들을 포함하며, 상기 미디어 파일들에 대한 이용 경험은, 상기 미디어 파일들이 상기 이동 컴퓨팅 디바이스상에서 얼마나 빈번하게 렌더링되는지를 식별하는, 데이터 저장부 관리 방법.
  10. 제 9 항에 있어서,
    상기 트림 후보들을 식별하는 단계는, 소정의 임계값보다 덜 빈번하게 렌더 링되는 미디어 파일들을 식별하는 단계를 포함하는, 데이터 저장부 관리 방법.
  11. 제 8 항에 있어서,
    상기 트림 후보들 중 일부를 트리밍하는 단계는,
    미디어 파일의 시작부 및 상기 미디어 파일의 말단부를 식별하는 단계로서, 상기 미디어 파일은 상기 시작부로부터 상기 말단부를 향해 렌더링하도록 구성되는, 상기 식별 단계; 및
    상기 말단부로부터 상기 시작부를 향해 상기 미디어 파일을 절단하는 단계를 포함하는, 데이터 저장부 관리 방법.
  12. 제 11 항에 있어서,
    상기 미디어 파일이 상기 시작부로부터 렌더링되고 있을 때 절단된 양이 검색되게 하기 위해, 상기 미디어 파일의 충분한 양이 절단되지 않는, 데이터 저장부 관리 방법.
  13. 제 12 항에 있어서,
    상기 충분한 양은, 상기 절단된 양이 저장되는 원격 서버와 상기 디바이스 사이의 통신 링크의 특성에 기초하여 결정되는, 데이터 저장부 관리 방법.
  14. 제 12 항에 있어서,
    상기 충분한 양은, 상기 절단된 양의 기대된 다운로드 시간 및 상기 절단된 양이 저장되는 원격 서버와 상기 디바이스 사이의 통신 링크의 셋-업 시간에 기초하여 결정되는, 데이터 저장부 관리 방법.
  15. 제 14 항에 있어서,
    상기 통신 링크의 셋-업 시간 및 상기 절단된 양의 다운로드 시간 모두는 상기 미디어 파일의 재생 길이보다 작은, 데이터 저장부 관리 방법.
  16. 트리밍된 콘텐츠에 대한 요청을 이동 디바이스로부터 수신하는 단계로서,
    상기 트리밍된 콘텐츠는, 상기 트리밍된 콘텐츠가 미디어 파일상에 더 이상 상주하지 않도록, 상기 미디어 파일의 이용 패턴에 따라 하나 이상의 트림 (trim) 후보들을 식별하는 것에 기초하여 상기 이동 디바이스가 상기 이동 디바이스에 대해 로컬인 상기 미디어 파일로부터 트리밍하는, 트림 후보들 중 일부를 포함하며,
    상기 요청은 특정 트림 후보가 액세스되고 있다는 표시에 응답하여 수신되는, 상기 수신 단계; 및
    상기 특정 트림 후보가 액세스되고 있는 동안 통신 링크를 통해 상기 이동 디바이스에 상기 트리밍된 콘텐츠를 제공하는 단계를 포함하는, 데이터 서빙 방법.
  17. 디바이스상에서 데이터 저장부를 관리하는 컴퓨터-실행가능 명령들로 인코딩된 컴퓨터-판독가능 매체로서,
    상기 명령들은,
    로컬 저장부상에 저장된 복수의 파일들로부터 하나 이상의 트림 후보들을 식별하는 단계;
    상기 로컬 저장부 상에서의 상기 트림 후보들 각각의 일부를 트리밍하는 단계;
    특정 트림 후보가 액세스되고 있다는 표시를 수신하는 단계; 및
    상기 특정 트림 후보가 액세스되고 있을 때 원격 저장부로부터 상기 특정 트림 후보의 트리밍된 부분을 검색하는 단계를 포함하는, 컴퓨터-판독가능 매체.
  18. 제 17 항에 있어서,
    상기 디바이스는 이동 컴퓨팅 디바이스를 포함하고, 상기 복수의 파일들은 미디어 파일들을 포함하며, 상기 미디어 파일들에 대한 이용 경험은, 상기 미디어 파일들이 상기 이동 컴퓨팅 디바이스 상에서 얼마나 빈번하게 렌더링되는지를 식별하는, 컴퓨터-판독가능 매체.
  19. 제 18 항에 있어서,
    상기 트림 후보들을 식별하는 단계는, 소정의 임계값보다 덜 빈번하게 렌더링되는 미디어 파일들을 식별하는 단계를 포함하는, 컴퓨터-판독가능 매체.
  20. 제 17 항에 있어서,
    상기 트림 후보들의 일부를 트리밍하는 단계는,
    미디어 파일의 시작부 및 상기 미디어 파일의 말단부를 식별하는 단계로서, 상기 미디어 파일은 상기 시작부로부터 상기 말단부를 향해 렌더링되도록 구성되 는, 상기 식별 단계; 및
    상기 말단부로부터 상기 시작부를 향해 상기 미디어 파일을 절단하는 단계를 포함하는, 컴퓨터-판독가능 매체.
  21. 제 20 항에 있어서,
    상기 미디어 파일이 상기 시작부로부터 렌더링되고 있을 때 절단된 양이 검색되게 하기 위해, 상기 미디어 파일의 충분한 양이 절단되지 않는, 컴퓨터-판독가능 매체.
  22. 제 21 항에 있어서,
    상기 충분한 양은, 상기 절단된 양이 저장되는 원격 서버와 상기 디바이스 사이의 통신 링크의 특성에 기초하여 결정되는, 컴퓨터-판독가능 매체.
  23. 제 21 항에 있어서,
    상기 충분한 양은, 상기 절단된 양의 기대된 다운로드 시간 및 상기 절단된 양이 저장되는 원격 서버와 상기 디바이스 사이의 통신 링크의 셋-업 시간에 기초하여 결정되는, 컴퓨터-판독가능 매체.
  24. 제 23 항에 있어서,
    상기 통신 링크의 셋-업 시간 및 상기 절단된 양의 다운로드 시간 모두는 상 기 미디어 파일의 재생 길이보다 작은, 컴퓨터-판독가능 매체.
  25. 데이터를 서빙하기 위한 컴퓨터-실행가능 명령들로 인코딩된 컴퓨터-판독가능 매체로서,
    상기 명령들은,
    트리밍된 콘텐츠에 대한 요청을 이동 디바이스로부터 수신하는 단계로서,
    상기 트리밍된 콘텐츠는, 상기 트리밍된 콘텐츠가 미디어 파일상에 더 이상 상주하지 않도록, 상기 미디어 파일의 이용 패턴에 따라 하나 이상의 트림 (trim) 후보들을 식별하는 것에 기초하여 상기 이동 디바이스가 상기 이동 디바이스에 대해 로컬인 상기 미디어 파일로부터 트리밍하는, 트림 후보들 중 일부를 포함하며,
    상기 요청은 특정 트림 후보가 액세스되고 있다는 표시에 응답하여 수신되는, 상기 수신 단계; 및
    상기 특정 트림 후보가 액세스되고 있는 동안 통신 링크를 통해 상기 이동 디바이스에 상기 트리밍된 콘텐츠를 제공하는 단계를 포함하는, 컴퓨터-판독가능 매체.
  26. 복수의 파일들을 갖는 디바이스상에서의 데이터 저장부를 관리하는 장치로서,
    상기 디바이스와 원격 콘텐츠 서버 사이의 통신들을 용이하게 하도록 구성된 통신 모듈;
    상기 복수의 파일들이 상주하는 저장 매체; 및
    트림 후보들을 식별하기 위해 상기 복수의 파일들의 이용을 모니터링하도록 구성된 미디어 제어 컴포넌트를 포함하며,
    상기 트림 후보들은 소정의 임계값보다 덜 빈번하게 액세스되는 미디어 파일들이고, 상기 미디어 제어 컴포넌트는, 또한, 상기 저장 매체 상에서의 상기 트림 후보들로부터 데이터를 제거함으로써 상기 트림 후보들을 트리밍하도록 구성되는, 데이터 저장부 관리 장치.
  27. 제 26 항에 있어서,
    상기 미디어 제어 컴포넌트는, 또한, 특정 미디어 파일의 더 낮은 빈도의 액세스에 기초하여, 특정 트림 후보들로부터 데이터의 더 큰 비율을 제거하도록 구성되는, 데이터 저장부 관리 장치.
  28. 제 26 항에 있어서,
    상기 복수의 파일들은 미디어 파일들을 포함하는, 데이터 저장부 관리 장치.
  29. 제 26 항에 있어서,
    상기 미디어 제어 컴포넌트는, 또한, 특정 트림 후보가 액세스되고 있다는 표시에 응답하여, 상기 특정 트림 후보가 액세스되고 있는 동안 상기 특정 트림 후보에 대한 제거된 데이터를 검색하도록 구성되는, 데이터 저장부 관리 장치.
  30. 제 29 항에 있어서,
    상기 제거된 데이터는 상기 통신 모듈을 사용하여 상기 원격 콘텐츠 서버로부터 검색되는, 데이터 저장부 관리 장치.
  31. 제 29 항에 있어서,
    상기 통신 모듈은 무선 통신 링크를 사용하여 통신하도록 구성되는, 데이터 저장부 관리 장치.
  32. 제 29 항에 있어서,
    상기 통신 모듈은 하드 와이어드 통신 링크를 사용하여 통신하도록 구성되는, 데이터 저장부 관리 장치.
  33. 미디어 파일들의 라이브러리, 및 상기 미디어 파일들의 라이브러리에서의 미디어 파일의 적어도 일부를 서빙하도록 구성되는 서버 통신 모듈을 포함하는, 콘텐츠 서버; 및
    이동 디바이스와 상기 콘텐츠 서버 사이의 통신들을 용이하게 하도록 구성되는 통신 모듈, 복수의 파일들이 상주하는 저장 매체, 및 트림 후보들을 식별하기 위해 상기 복수의 파일들의 이용을 모니터링하도록 구성되는 미디어 제어 컴포넌트를 포함하는, 이동 디바이스를 구비하며,
    상기 트림 후보들은 소정의 임계값보다 덜 빈번하게 액세스되는 미디어 파일들이고, 상기 미디어 제어 컴포넌트는, 또한, 상기 저장 매체 상에서의 상기 트림 후보들로부터 데이터를 제거함으로써 상기 트림 후보들을 트리밍하도록 구성되고, 상기 미디어 제어 컴포넌트는, 또한, 특정 트림 후보가 액세스되고 있다는 표시에 응답하여, 상기 특정 트림 후보가 액세스되고 있는 동안 상기 특정 트림 후보에 대한 상기 제거된 데이터를 상기 콘텐츠 서버로부터 검색하도록 구성되는, 데이터 저장부 관리 시스템.
  34. 복수의 파일들을 갖는 디바이스상에서의 데이터 저장부를 관리하는 장치로서,
    상기 디바이스와 원격 콘텐츠 서버 사이의 통신들을 용이하게 하는 통신 수단;
    상기 복수의 파일들을 저장하는 저장 수단; 및
    소정의 임계값보다 덜 빈번하게 액세스되는 미디어 파일들인 트림 후보들을 식별하기 위해 상기 복수의 파일들의 이용 특성을 모니터링하고, 저장 매체상에서의 상기 트림 후보들로부터 데이터를 제거함으로써 상기 트림 후보들을 트리밍하는 미디어 제어 수단을 포함하는, 데이터 저장부 관리 장치.
KR1020077025314A 2005-03-31 2006-03-31 데이터 저장부를 관리하는 메커니즘 및 방법 KR100977428B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/096,737 2005-03-31
US11/096,737 US8108579B2 (en) 2005-03-31 2005-03-31 Mechanism and method for managing data storage

Publications (2)

Publication Number Publication Date
KR20070117702A KR20070117702A (ko) 2007-12-12
KR100977428B1 true KR100977428B1 (ko) 2010-08-24

Family

ID=37054146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077025314A KR100977428B1 (ko) 2005-03-31 2006-03-31 데이터 저장부를 관리하는 메커니즘 및 방법

Country Status (8)

Country Link
US (1) US8108579B2 (ko)
EP (1) EP1866781A4 (ko)
JP (2) JP2008535102A (ko)
KR (1) KR100977428B1 (ko)
CN (1) CN101180616B (ko)
BR (1) BRPI0608748A2 (ko)
TW (1) TW200703091A (ko)
WO (1) WO2006105335A2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4314242B2 (ja) * 2003-09-10 2009-08-12 富士通株式会社 データ通信システム,データ通信方法,移動体通信端末及びアプリケーションサーバ
KR100726683B1 (ko) * 2005-09-13 2007-06-11 엘지전자 주식회사 첨부 파일의 자동 분류 저장이 가능한 이동통신 단말기 및첨부 파일 저장방법
US20070204102A1 (en) * 2006-02-28 2007-08-30 Nokia Corporation Cache feature in electronic devices
US8598717B2 (en) * 2006-12-27 2013-12-03 Spansion Llc Semiconductor device and method for manufacturing the same
JP2010015475A (ja) * 2008-07-07 2010-01-21 Nec Personal Products Co Ltd 情報処理端末およびクライアントサーバシステム
US8126862B2 (en) * 2008-08-11 2012-02-28 Mcdermott Matt System for enhanced customer service
US8218939B2 (en) * 2009-01-14 2012-07-10 International Business Machines Corporation Intelligent synchronization of portable video devices
US8881134B2 (en) 2010-04-29 2014-11-04 International Business Machines Corporation Updating elements in data storage facility using predefined state machine over extended time period
US9128961B2 (en) * 2010-10-28 2015-09-08 Google Inc. Loading a mobile computing device with media files
US9323809B2 (en) 2014-03-10 2016-04-26 Interana, Inc. System and methods for rapid data analysis
US10296507B2 (en) 2015-02-12 2019-05-21 Interana, Inc. Methods for enhancing rapid data analysis
KR102222375B1 (ko) 2015-12-23 2021-03-03 삼성전자주식회사 파일 관리 방법 및 그 전자 장치
US10423387B2 (en) * 2016-08-23 2019-09-24 Interana, Inc. Methods for highly efficient data sharding
US10146835B2 (en) 2016-08-23 2018-12-04 Interana, Inc. Methods for stratified sampling-based query execution
KR102588113B1 (ko) * 2016-11-07 2023-10-16 삼성전자주식회사 스토리지 장치를 포함하는 사용자 장치 및 그것의 트림 관리 방법
EP3696681B1 (en) * 2017-11-07 2023-12-20 Huawei Technologies Co., Ltd. Memory block recovery method and device
JP7206630B2 (ja) 2018-05-08 2023-01-18 株式会社デンソー 抑制回路
US20210019285A1 (en) * 2019-07-16 2021-01-21 Citrix Systems, Inc. File download using deduplication techniques
US11570155B2 (en) * 2019-07-25 2023-01-31 Everything Blockchain Technology Corp. Enhanced secure encryption and decryption system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182554A2 (en) * 2000-08-24 2002-02-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
JPH06261043A (ja) * 1993-03-05 1994-09-16 Hitachi Ltd 無線lanシステム及びその制御方法
US5991753A (en) 1993-06-16 1999-11-23 Lachman Technology, Inc. Method and system for computer file management, including file migration, special handling, and associating extended attributes with files
JP3135751B2 (ja) * 1993-07-16 2001-02-19 株式会社東芝 データ記憶装置
US5617566A (en) * 1993-12-10 1997-04-01 Cheyenne Advanced Technology Ltd. File portion logging and arching by means of an auxilary database
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6807550B1 (en) * 1999-12-01 2004-10-19 Microsoft Corporation Methods and systems for providing random access to structured media content
US7020658B1 (en) * 2000-06-02 2006-03-28 Charles E. Hill & Associates Data file management system and method for browsers
AU2002312508B2 (en) * 2000-09-11 2008-01-17 Agami Systems, Inc. Storage system having partitioned migratable metadata
WO2002035359A2 (en) * 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US20020129375A1 (en) * 2001-01-08 2002-09-12 Artista Communications, Inc. Adaptive video on-demand system and method using tempo-differential file transfer
US7107298B2 (en) 2001-09-28 2006-09-12 Commvault Systems, Inc. System and method for archiving objects in an information store
US7080277B2 (en) * 2002-08-29 2006-07-18 International Business Machines Corporation Method and apparatus for recovery of a logical volume in a multi copy storage system
US7797064B2 (en) 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
US20050050292A1 (en) * 2003-05-23 2005-03-03 Oh Jae C. Method and apparatus for per-process based virtual memory hierarchy and disk storage for distributed systems enabled as middleware for main memory and disk blocks on demand
US7296043B2 (en) * 2003-05-30 2007-11-13 Microsoft Corporation Memory file size adjustment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182554A2 (en) * 2000-08-24 2002-02-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system

Also Published As

Publication number Publication date
CN101180616A (zh) 2008-05-14
WO2006105335A2 (en) 2006-10-05
JP2011222038A (ja) 2011-11-04
US8108579B2 (en) 2012-01-31
BRPI0608748A2 (pt) 2010-01-26
EP1866781A4 (en) 2010-02-03
WO2006105335A3 (en) 2007-11-15
TW200703091A (en) 2007-01-16
JP5161342B2 (ja) 2013-03-13
CN101180616B (zh) 2013-07-17
US20060224793A1 (en) 2006-10-05
EP1866781A2 (en) 2007-12-19
KR20070117702A (ko) 2007-12-12
WO2006105335B1 (en) 2008-02-28
JP2008535102A (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
KR100977428B1 (ko) 데이터 저장부를 관리하는 메커니즘 및 방법
US11416471B2 (en) Management of downloads from a network-based digital data repository based on network performance
US7673238B2 (en) Portable media device with video acceleration capabilities
JP4944919B2 (ja) メディアファイルの自動選択
EP2560344B1 (en) Management of downloads from a network-based digital data repository based on network performance
US20090183060A1 (en) Unified Media Presentation for Media Devices
EP1650627A2 (en) MP3 player capable of automatic updating, automatic updating system for MP3 player and method thereof
US10628385B2 (en) Virtual collection of entities in sync process
JPWO2005033952A1 (ja) 情報再生装置および方法、並びにプログラム
CN104954872A (zh) 一种视频下载方法、视频播放装置以及移动终端
US20080058973A1 (en) Music playback system and music playback machine
JP2007329846A (ja) コンテンツ再生装置およびコンテンツ再生方法
US20070091736A1 (en) System and method for storing and managing digital content
JP5316022B2 (ja) 画像ファイル及びオーディオファイルを同期再生するコンテンツ再生システム
GB2493840A (en) Cloud downloads whose quality level depends upon network performance, used for playback and/or upgrading client cached assets
JP4835844B2 (ja) コンテンツ記録装置およびそのプログラム
JP2002324023A (ja) コンテンツファイルダウンロードシステム、記憶媒体及びプログラム
JP2009049487A (ja) コンテンツオンデマンド型ノード装置、オンデマンド型コンテンツ取得方法およびプログラム

Legal Events

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

Payment date: 20130729

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9