KR102222375B1 - 파일 관리 방법 및 그 전자 장치 - Google Patents

파일 관리 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR102222375B1
KR102222375B1 KR1020150184833A KR20150184833A KR102222375B1 KR 102222375 B1 KR102222375 B1 KR 102222375B1 KR 1020150184833 A KR1020150184833 A KR 1020150184833A KR 20150184833 A KR20150184833 A KR 20150184833A KR 102222375 B1 KR102222375 B1 KR 102222375B1
Authority
KR
South Korea
Prior art keywords
file
electronic device
time
storage
external storage
Prior art date
Application number
KR1020150184833A
Other languages
English (en)
Other versions
KR20170075322A (ko
Inventor
이옥선
박용석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150184833A priority Critical patent/KR102222375B1/ko
Priority to US15/150,974 priority patent/US10560512B2/en
Priority to PCT/KR2016/005005 priority patent/WO2017111218A1/en
Priority to EP16879086.3A priority patent/EP3342139A4/en
Priority to CN201610577184.7A priority patent/CN106909315A/zh
Publication of KR20170075322A publication Critical patent/KR20170075322A/ko
Application granted granted Critical
Publication of KR102222375B1 publication Critical patent/KR102222375B1/ko

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/44Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • H04L65/4069
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Abstract

본 개시는 전자 장치에서 파일 관리에 관한 것으로, 전자 장치의 동작 방법은, 외부 저장소에 미디어를 포함하는 파일을 송신한 후, 상기 파일의 일부를 제외한 나머지를 삭제하는 과정과, 상기 파일의 일부를 이용하여 상기 미디어의 재생을 시작하는 과정과, 상기 외부 저장소로부터 수신되는 상기 파일의 나머지를 재생하는 과정을 포함한다.

Description

파일 관리 방법 및 그 전자 장치{METHOD FOR FILE MANAGEMENT AND AN ELECTRONIC DEVICE THEREOF}
본 개시는 전자 장치에서 파일 관리에 관한 것이다.
최근 스마트폰(smart phone), PDA(personal data asistant) 등 휴대용 전자 장치들의 사용이 널리 사용되고 있다. 나아가, 휴대용 전자 장치들이 점차 고성능화되고 있으며, 이에 따라, 사용자에게 점점 더 많은 서비스들이 제공되고 있다. 구체적으로, 전화 통화, 메시징 서비스에 더하여, 이미지, 오디오, 비디오 등 고용량의 데이터 저장을 요하는 다양한 서비스들이 제공되고 있다.
휴대용 전자 장치는 휴대성을 확보하기 위해 크기 및 무게 등에 제약을 가진다. 이에 따라, 전자 장치는 제한된 용량의 메모리를 구비한다. 따라서, 고화질의 이미지, 대용량의 동영상 서비스를 사용하는 경우, 메모리 부족 현상이 발생할 수 있다.
일 실시 예는 전자 장치에서 저장된 파일을 관리하기 위한 장치 및 방법을 제공한다.
다른 실시 예는 전자 장치에서 파일을 외부 저장소에 저장하기 위한 장치 및 방법을 제공한다.
또 다른 실시 예는 전자 장치에서 외부 저장소를 이용한 내부 저장소의 용량 확보를 위한 지능적인 파일 관리를 위한 장치 및 방법을 제공한다.
또 다른 실시 예는 전자 장치에서 외부 저장소에 저장된 파일을 재생(play)하기 위한 장치 및 방법을 제공한다.
또 다른 실시 예는 전자 장치에서 외부 저장소에 저장된 파일을 스트리밍(streaming)하기 위한 장치 및 방법을 제공한다.
또 다른 실시 예는 전자 장치에서 외부 저장소에 저장된 파일의 스트리밍 시 시간 지연을 줄이기 위한 장치 및 방법을 제공한다.
또 다른 실시 예는 전자 장치에서 스트리밍을 통해 수신된 파일을 처리하기 위한 장치 및 방법을 제공한다.
일 실시 예에 따른 전자 장치의 동작 방법은, 외부 저장소에 미디어를 포함하는 파일을 송신한 후, 상기 파일의 일부를 제외한 나머지를 삭제하는 과정과, 상기 파일의 일부를 이용하여 상기 미디어의 재생을 시작하는 과정과, 상기 외부 저장소로부터 수신되는 상기 파일의 나머지를 재생하는 과정을 포함한다.
일 실시 예에 따른 전자 장치는, 데이터를 저장할 수 있는 내부 저장소(internal storage)와, 상기 데이터를 송신할 수 있는 통신부와, 상기 내부 저장소 및 상기 통신부와 연결되는 프로세서를 포함하며, 상기 프로세서는, 외부 저장소에 미디어를 포함하는 파일을 송신한 후, 상기 파일의 일부를 제외한 나머지를 삭제하고, 상기 파일의 일부를 이용하여 상기 미디어의 재생을 시작하고, 상기 외부 저장소로부터 수신되는 상기 파일의 나머지를 재생한다.
전자 장치에서 제한된 메모리를 효율적으로 사용할 수 있다.
도 1은 일 실시 예에 따른 전자 장치 및 외부 저장소(external storage)를 도시한다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 도시한다.
도 3은 일 실시 예에 따른 전자 장치의 파일 관리 구조를 도시한다.
도 4는 일 실시 예에 따른 전자 장치의 파일 업로드를 도시한다.
도 5는 일 실시 예에 따른 전자 장치에서 파일 업로드 절차를 도시한다.
도 6은 일 실시 예에 따른 전자 장치에서 질적 일부를 유지하는 파일 업로드 절차를 도시한다.
도 7은 일 실시 예에 따른 전자 장치에서 양적 일부를 유지하는 파일 업로드 절차를 도시한다.
도 8은 일 실시 예에 따른 전자 장치에서 양적 일부 및 질적 일부를 선택적으로 유지하는 파일 업로드 절차를 도시한다.
도 9는 일 실시 예에 따른 전자 장치의 업로드한 파일의 재생을 도시한다.
도 10은 일 실시 예에 따른 전자 장치에서 질적 일부를 저장한 경우의 파일 재생을 도시한다.
도 11은 일 실시 예에 따른 전자 장치에서 양적 일부를 저장한 경우의 파일 재생을 도시한다.
도 12는 일 실시 예에 따른 전자 장치에서 업로드한 파일의 재생 절차를 도시한다.
도 13은 일 실시 예에 따른 전자 장치에서 요구되는 파일 앞부분의 길이를 도시한다.
도 14는 일 실시 예에 따른 전자 장치에서 내부 저장소에 저장된 일부의 길이 조절 절차를 도시한다.
도 15는 일 실시 예에 따른 전자 장치에서 외부 저장소에 저장된 파일의 재생 절차를 도시한다.
도 16은 일 실시 예에 따라 다른 장치에 의해 업로드되는 파일을 도시한다.
도 17은 일 실시 예에 따른 전자 장치의 스트리밍 후 파일 일부 저장을 도시한다.
도 18은 일 실시 예에 따른 전자 장치에서 스트리밍된 파일의 처리 절차를 도시한다.
도 19는 일 실시 예에 따른 전자 장치에서 스트리밍된 파일의 처리 절차를 도시한다.
도 20은 일 실시 예에 따른 전자 장치에서 저장된 정보를 고려한 파일 재생 절차를 도시한다.
도 21은 일 실시 예에 따른 전자 장치에서 재생 목록에 따른 파일 재생 절차를 도시한다.
도 22는 일 실시 예에 따른 전자 장치에서 저장 리스트의 관리 절차를 도시한다.
도 23 내지 도 25는 다양한 실시 예에 따른 파일 관리 기술의 적용 예들을 도시한다.
이하 첨부된 도면을 참조하여 다양한 실시 예들의 동작 원리를 상세히 설명한다. 하기에서 다양한 실시 예들을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 다양한 실시 예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 개시는 전자 장치에서 파일을 관리하기 위한 기술에 대해 설명한다.
이하 설명에서 사용되는 데이터의 형태를 지칭하는 용어(예: 파일, 일부(part), 앞부분(initial portion), 단위체(chunk)), 파일에 대한 평가 지표(예: 가중치 인자)를 지칭하는 용어, 네트워크 객체(network entity)들(예: 클라우드(cloud))을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
도 1은 일 실시 예에 따른 전자 장치 및 외부 저장소(external storage)를 도시한다.
전자 장치 110은 사용자에 의해 사용되는 장비이다. 전자 장치 110은 제한된 용량의 내부 저장소(internal storage)를 구비한다. 전자 장치 110은 내부 저장소에 이미지, 동영상 등 미디어 컨텐츠를 저장할 수 있다. 전자 장치 110은 통신 기능을 가지며, 적어도 하나의 무선 접속 기술(radio access technology, RAT)를 이용하여 다른 장치와 통신을 수행할 수 있다. 다양한 실시 예들에 따라, 전자 장치 110은 스마트폰(smart phone), 휴대용 단말기(portable terminal), 이동 전화(mobile phone), 이동 패드(mobile pad), 미디어 플레이어(media player), 태블릿 컴퓨터(tablet computer), 핸드헬드 컴퓨터(handheld computer) 또는 PDA(Personal Digital Assistant) 중 하나일 수 있다. 또한, 전자 장치 110은 상술한 장치들 중 둘 이상의 기능들을 결합한 장치일 수 있다.
클라우드 저장소(cloud storage) 120은 전자 장치 110의 외부 저장소이다. 클라우드 저장소 120은 전자 장치 110로부터 데이터를 수신하고, 저장할 수 있다. 또한, 클라우드 저장소 120은 전자 장치 110로 데이터를 송신할 수 있다. 클라우드 저장소 120 및 전자 장치 110은 직접 또는 접속 서비스 네트워크(access service network, ASN)을 통해 통신을 수행할 수 있다. 클라우드 저장소 120은 사용자 개인에 의해 설치된 장비이거나, 네트워크 사업자, 전자 장치 110의 제조자 또는 기타 외부 사업자에 의해 제공되는 장비일 수 있다. 예를 들어, 전자 장치 110의 사용자는 클라우드 저장소 120의 일정 용량의 저장 공간을 클라우드 저장소 120의 제공자와의 계약에 근거하여 사용할 수 있다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 도시한다. 이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 도 2는 전자 장치 110의 구성을 예시한다. 도 2를 참고하면, 전자 장치 110은 통신부 210, 저장부 220, 사용자 인터페이스(user interface, UI)부 230, 프로세서 240을 포함한다.
통신부 210은 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행한다. 예를 들어, 통신부 210은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 통신부 210은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 통신부 210은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 또한, 통신부 210은 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 통신부 210은 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다.
또한, 통신부 210은 다수의 RF 체인들을 포함할 수 있다. 나아가, 통신부 210은 빔포밍(beamforming)을 수행할 수 있다. 빔포밍을 위해, 통신부 210은 다수의 안테나들 또는 안테나 요소(element)들을 통해 송수신되는 신호들 각각의 위상 및 크기(amplitude)를 조절할 수 있다. 나아가, 통신부 210은 서로 다른 다수의 무선 접속 기술들을 지원하기 위해 다수의 통신 모듈들을 포함할 수 있다.
또한, 통신부 210은 서로 다른 주파수 대역의 신호들을 처리하기 위해 서로 다른 통신 모듈들을 포함할 수 있다. 예를 들어, 서로 다른 통신 규격들은 블루투스 저 에너지(bluetooth low energy, BLE), Wi-Fi(Wireless Fidelity), WiGig(WiFi Gigabyte), 셀룰러 네트워크(예: LTE(Long Term Evolution) 등을 포함할 수 있다. 또한, 서로 다른 주파수 대역들은 극고단파(SHF:super high frequency)(예: 2.5GHz, 5Ghz) 대역, mm파(millimeter wave)(예: 60GHz) 대역을 포함할 수 있다.
통신부 210은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 210은 송신부, 수신부 또는 송수신부로 지칭될 수 있다. 또한, 이하 설명에서 무선 채널을 통해 수행되는 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다.
저장부 220은 전자 장치 110의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 특히, 저장부 220은 다양한 실시 예들에 따라 파일을 관리하기 위한 적어도 하나의 명령어 집합(예: 어플리케이션)을 저장할 수 있다. 저장부 220에 저장된 적어도 하나의 명령어 집합은 프로세서 240에 의해 실행될 수 있다. 그리고, 저장부 220은 프로세서 240의 요청에 따라 저장된 데이터를 제공한다. 저장부 220는 전자 장치 110에 구비된 것으로, '내부 저장소'라 지칭될 수 있다.
사용자 인터페이스부 230은 정보를 출력하고, 사용자의 입력을 감지하기 위한 기능들을 수행한다. 사용자 인터페이스부 230은 사용자로부터 입력된 명령 또는 데이터를 프로세서 240에 전달할 수 있다. 이를 위해, 사용자 인터페이스부 230은 출력 및 입력을 위한 적어도 하나의 하드웨어 모듈을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 센서, 키보드, 키패드, 스피커, 마이크, 터치스크린, LCD(liquid crystal display), LED(Light Emitting Diode), LPD(light emitting polymer display), OLED(Organic Light Emitting Diode), AMOLED(Active Matrix Organic Light Emitting Diode), FLED(Flexible LED) 중 적어도 하나를 포함할 수 있다. 예를 들어, 사용자 인터페이스부 230은 터치스크린을 통하여 입력된 사용자의 터치 입력(예: 탭(tap), 프레스(press), 핀치(pinch), 스트레치(strech), 슬라이드(slide), 스와이프(swipe), 로테이트(rotate) 등)에 대한 데이터를 프로세서 240로 제공할 수 있다. 특히, 본 발명의 실시 예에 따라, 사용자 인터페이스부 230은 프로세서 240에 의해 판단된 현재 하위 단계에 대한 정보의 표시할 수 있다. 또한, 사용자 인터페이스부 230은 프로세서 240로부터 수신된 명령 또는 데이터를 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 사용자 인터페이스부 230은 화면을 표시하므로, '표시부'라 지칭될 수 있다. 또한, 사용자 인터페이스부 230은 사용자의 입력을 감지하므로 '입력부'라 지칭될 수 있다.
프로세서 240은 전자 장치 110의 전반적인 동작들을 제어한다. 예를 들어, 프로세서 240은 통신부 210을 통해 신호를 송수신한다. 또한, 프로세서 240은 저장부 220에 데이터를 기록하고, 읽는다. 이를 위해, 프로세서 240은 적어도 하나의 프로세서(processor) 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 프로세서 240은 AP(application processor)라 지칭될 수 있다. 특히, 프로세서 240은 후술하는 다양한 실시 예들에 따라 파일을 관리하도록 전자 장치 110의 다양한 기능들을 제어할 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 파일 관리 구조를 도시한다. 도 3에 도시된 각 블록은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 도 3은 전자 장치 110의 논리적 구성을 예시한다. 도 3을 참고하면, 전자 장치 110은 파일 관리자(file manager) 310, 클라우드 파일 관리자 320, 미디어 라이브러리(media library) 330, 로컬 메모리 파일(local memory file) 340, 클라우드 미디어 파일 메타데이터(cloud media file metadata) 350을 포함한다.
파일 관리자 310은 로컬 메모리 파일 340에 대한 파일 목록 및 물리적인 위치에 대한 정보를 관리한다. 클라우드 파일 관리자 320은 클라우드 저장소 120에 저장된 파일들 및 전자 장치 110에 저장도니 파일 앞부분 342에 대한 파일 목록 및 물리적인 위치에 대한 정보를 관리한다.
미디어 라이브러리 330은 전자 장치 110에서 사용되는 미디어들에 대한 정보의 집합체이다. 예를 들어, 미디어 라이브러리 330는 미디어 파일들에 대한 정보(예: 제목, 앨범, 장르 등)를 포함한다. 미디어 라이브러리 330는 파일 관리자 310 및 클라우드 파일 관리자 320에 의해 접근될 수 있으며, 미디어 파일에 대한 정보를 파일 관리자 310 및 클라우드 파일 관리자 320와 연동하여 관리할 수 있다.
클라우드 미디어 파일 메타데이터 350은 클라우드 저장소 120에 저장된 파일들에 대한 메타 데이터이다. 클라우드 미디어 파일 메타데이터 350은 클라우드 파일 관리자 320에 의해 사용될 수 있다. 즉, 클라우드 미디어 파일 메타데이터 350은 클라우드 저장소 120에 저장된 미디어 파일을 스트리밍하기 위해 필요한 정보(예: URL(uniform resource location), 크기(size), 길이(duration), 코덱(codec) 등)을 포함할 수 있다.
도 4는 일 실시 예에 따른 전자 장치의 파일 업로드를 도시한다.
도 4를 참고하면, 전자 장치 110은 미디어 파일을 저장하며, 미디어 파일은 7개의 부분(portion)들을 포함할 수 있다. 7개의 부분들을 데이터를 양적으로(quantitatively) 구분한 단위체(chuck)들이다. 예를 들어, 양적으로 구분된 단위체는 재생 시간 상 전단(front)에 해당하는 데이터를 포함할 수 있다. 도 4에 도시된 7개의 부분들로 분할된 미디어 파일은 일 예이며, 하나의 미디어 파일은 6개 이하 또는 8개 이상의 부분들로 분할될 수 있다.
전자 장치 110은 미디어 파일을 클라우드 저장소 120로 업로드할 수 있다. 다시 말해, 미디어 파일을 외부 저장소인 클라우드 저장소 120에 저장하기 위해, 전자 장치 110은 미디어 파일을 송신할 수 있다. 이후, 전자 장치 110은 미디어 파일에 의해 점유되던 내부 저장소의 용량을 가용한 상태로 전환하기 위해, 미디어 파일을 삭제할 수 있다. 이때, 일 실시 예에 따라, 전자 장치 110은 미디어 파일의 앞부분 410 제외한 뒷부분 420만을 삭제한다. 따라서, 클라우드 저장소 120으로 송신되는 미어 파일은 전체이거나 또는 전자 장치 110에서 삭제되는 뒷부분 420일 수 있다.
상술한 절차에 의해, 미디어 파일의 일부는 전자 장치 110의 내부 저장소에, 나머지는 외부 저장소, 즉, 클라우드 저장소에 저장된다. 다시 말해, 미디어 파일의 일부 및 나머지가 물리적으로 서로 다른 저장소들에 분산된다. 이하 설명의 편의를 위해, 본 개시는 내부 저장소 및 외부 저장소에 나누어 저장된 파일을 '분산 저장된 파일'이라 칭한다.
도 4에서, 앞부분 410은 하나의 부분만을 포함하지만, 이는 일 예시이다. 따라서, 다른 실시 예에 따라, 둘 이상의 부분들이 앞부분 410에 포함될 수 있다. 이 경우, 클라우드 저장소 120로 송신되는 미디어 파일의 부분들의 개수가 달라질 수 있다.
또한, 도 4는 미디어 파일이 양적으로 분산 저장되는 경우를 예시한다. 그러나, 다른 실시 예에 따라, 미디어 파일은 질적으로(qualitatively) 분산 저장될 수 있다. 이 경우, 내부 저장소에 저장되는 일부는 미디어 파일을 낮은 품질로 변환한 데이터를 포함하고, 외부 저장소에 업로드되는 나머지는 내부 저장소에 저장된 일부화 결합됨으로써 미디어를 상대적으로 더 우수한 품질로 보강하기 위한 데이터를 포함할 수 있다. 또는, 내부 저장소에 저장되는 일부는 미디어 파일을 낮은 품질로 변환한 데이터를 포함하고, 미디어 파일 전체 또는 재생 시간 상 후단이 외부 저장소에 업로드될 수 있다
도 5는 일 실시 예에 따른 전자 장치에서 파일 업로드 절차를 도시한다. 도 5는 전자 장치 110의 동작 방법을 예시한다.
도 5를 참고하면, 501 단계에서, 전자 장치는 외부 저장소로 파일을 송신한다. 여기서, 외부 저장소는 전자 장치와 물리적으로 분리된 저장 장치를 의미한다. 예를 들어, 외부 저장소는 클라우드 저장소일 수 있다. 외부 저장소로 송신되는 파일은 파일 전체이거나 또는 이하 503 단계에서 유지되는 일부 외 나머지일 수 있다.
이후, 503 단계에서, 전자 장치는 파일의 일부 외 나머지를 삭제한다. 즉, 전자 장치는 내부 저장소의 가용 용량을 확보하기 위해 파일을 삭제하되, 일부를 유지한다. 여기서, 일부는 파일의 나머지를 다운로드 하는 동안 재생을 시작할 수 있게하는 부분적 데이터로서, 파일을 구성하는 데이터의 질적 일부 또는 양적 일부일 수 있다. 양적 일부인 경우, 파일의 일부는 재생 시간 상 일부 구간(예: 앞부분)에 해당하는 데이터를 포함한다. 질적 일부인 경우, 파일의 일부는 전체 재생 시간에 해당하는 낮은 품질의 데이터를 포함할 수 있다. 또는, 파일의 일부는 재생 시간 상 일부 구간에 대한 낮은 품질의 데이터를 포함할 수 있다.
도 6은 일 실시 예에 따른 전자 장치에서 질적 일부를 유지하는 파일 업로드 절차를 도시한다. 도 6은 전자 장치 110의 동작 방법을 예시한다.
도 6을 참고하면, 601 단계에서, 전자 장치는 외부 저장소로 파일을 송신한다. 여기서, 외부 저장소는 전자 장치와 물리적으로 분리된 저장 장치를 의미한다. 예를 들어, 외부 저장소는 클라우드 저장소일 수 있다. 외부 저장소로 송신되는 파일은 파일 전체이거나, 파일의 재생 시간 상 후단이거나, 또는 이하 603 단계에서 생성되는 낮은 품질의 복사본의 품질 향상을 위한 보충적 데이터를 포함할 수 있다.
603 단계에서, 전자 장치는 낮은 품질의 복사본(copy)을 생성한다. 예를 들어, 전자 장치는 변환 코딩(transcoding)을 수행함으로써, 원본 파일에 비하여 상대적으로 낮은 품질의 복사본을 생성한다. 여기서, 낮은 품질은 낮은 해상도, 낮은 단위 시간당 데이터율(예: kbps), 낮은 단위 시간당 프레임 개수 중 적어도 하나를 의미한다.
605 단계에서, 전자 장치는 원본 파일을 삭제한다. 즉, 전자 장치는 내부 저장소의 가용 용량을 증가시키기 위해, 낮은 품질의 복사본을 유지하고, 원본 파일을 삭제한다. 이에 따라, 원본 파일의 용량 및 복사본의 용량 간 차이만큼의 가용 용량이 확보될 수 있다.
607 단계에서, 전자 장치는 클라우드 파일 관리자를 갱신한다. 클라우드 파일 관리자는 내부 저장소에 일부가 저장되고, 외부 저장소에 나머지가 저장된 파일에 대한 정보, 즉, 메타 데이터를 관리한다. 601 단계 내지 603 단계를 통해 분산 저장된 파일이 생성되었으므로, 전자 장치는 분산 저장된 파일에 대한 정보를 저장한다.
도 7은 일 실시 예에 따른 전자 장치에서 양적 일부를 유지하는 파일 업로드 절차를 도시한다. 도 7은 전자 장치 110의 동작 방법을 예시한다.
도 7을 참고하면, 701 단계에서, 전자 장치는 외부 저장소로 파일을 송신한다. 여기서, 외부 저장소는 전자 장치와 물리적으로 분리된 저장 장치를 의미한다. 예를 들어, 외부 저장소는 클라우드 저장소일 수 있다. 외부 저장소로 송신되는 파일은 파일 전체이거나 또는 이하 703 단계에서 저장되는 파일의 앞부분을 제외한 뒷부분일 수 있다.
703 단계에서, 전자 장치는 파일의 앞부분을 저장한다. 예를 들어, 전자 장치는 파일의 재생 시간 상 전단에 해당하는 데이터를 파일로부터 추출한다. 이때, 저장을 위해, 전자 장치는 전단에 해당하는 데이터에 파일로서 종결되기 위한 부가적 데이터를 추가할 수 있다. 즉, 전자 장치는 재생 시간 상 전단에 해당하는 독립적인 데이터를 저장한다. 또는, 전자 장치는 부가 데이터의 추가 없이 파일이 잘려진(truncated) 형태의 데이터를 저장할 수 있다.
705 단계에서, 전자 장치는 파일의 뒷부분을 삭제한다. 즉, 전자 장치는 내부 저장소의 가용 용량을 증가시키기 위해, 저장된 앞부분을 제외한 뒷부분을 삭제한다. 이에 따라, 전체 파일의 용량 및 앞부분을 위한 데이터의 용량 간 차이만큼의 가용 용량이 확보될 수 있다.
707 단계에서, 전자 장치는 클라우드 파일 관리자를 갱신한다. 클라우드 파일 관리자는 내부 저장소에 일부가 저장되고, 외부 저장소에 나머지가 저장된 파일에 대한 정보, 즉, 메타 데이터를 관리한다. 701 단계 내지 703 단계를 통해 분산 저장된 파일이 생성되었으므로, 전자 장치는 분산 저장된 파일에 대한 정보를 저장한다.
도 8은 일 실시 예에 따른 전자 장치에서 양적 일부 및 질적 일부를 선택적으로 유지하는 파일 업로드 절차를 도시한다. 도 8은 전자 장치 110의 동작 방법을 예시한다.
도 8을 참고하면, 801 단계에서, 전자 장치는 파일 업로드 이벤트를 감지한다. 즉, 전자 장치는 사용자 또은 시스템이 정한 이벤트 발생 시 파일을 외부 저장소에 업로드한다. 이벤트는 통신 상태, 배터리 상태, 메모리 상태, 사용자 데이터 등에 관련될 수 있다. 예를 들어, 이벤트는 무료 인터넷에 연결되는 것으로 정의될수 있다. 다른 예로, 이벤트는 전자 장치의 배터리가 충전 중인 상황으로 정의될 수 있다. 또 다른 예로, 이벤트는 내부 저장소, 즉, 로컬 메모리의 잔여 용량이 임계치 미만인 것으로 정의될 수 있다. 또 다른 예로, 이벤트는 사용자 위치 정보가 과거 통계에 따른 일반적인 이동 패턴과 상이한 것 및 미디어 생성(예: 동영상 녹화, 오디오 생성, 이미지 촬영 등)으로 인해 로컬 메모리 용량을 차지하는 것 중 적어도 하나로 정의될 수 있다. 또 다른 예로, 이벤트는 여행 중 동영상 또는 사진 촬영 상황이 예측되는 것으로 정의될 수 있다. 또 다른 예로, 이벤트는 내부 저장소에 신규 미디어 파일을 저장(예: 오디오, 비디오 파일 구매, 생성 등)하는 것으로 정의될 수 있다. 또 다른 예로, 이벤트는 사용자의 캘린더 또는 스케줄러 등에 계획된 여행의 시작 시점이 도래하거나 또는 일정 시간 전 또는 후의 시점이 도래하는 것으로 정의될 수 있다. 예시된 것들 외, 이벤트는 다양하게 정의될 수 있다.
이벤트를 감지한 후, 803 단계에서, 전자 장치는 업로드할 파일을 선택한다. 업로드할 파일은 사용자의 선택 또는 미리 정의된 기준에 의해 선택될 수 있다. 미리 정의된 기준에 의하는 경우, 전자 장치는 내부 저장소에 저장된 파일들의 용량, 저장 시점 등에 기초하여 업로드할 파일을 선택할 수 있다. 예를 들어, 전자 장치는 대용량 미디어를 우선적으로 선택할 수 있다. 예를 들어, 전자 장치는 가장 큰 크기의 파일을 선택할 수 있다. 또는, 전자 장치는 임계치 이상의 크기를 가진 파일들 중 가장 먼저 저장된 파일을 선택할 수 있다.
파일을 선택한 후, 805 단계에서, 전자 장치는 파일을 업로드한다. 다시 말해, 전자 장치는 외부 저장소(예: 클라우드 저장소)로 파일을 송신한다. 이때, 송신되는 데이터는 파일 전체이거나, 저품질의 복사본을 보강하기 위한 데이터이거나, 파일의 뒷부분일 수 있다.
이후, 807 단계에서, 전자 장치는 로컬 메모리, 즉, 내부 저장소에 공간 생성이 필요한지 판단한다. 즉, 전자 장치는 805 단계에서 업로드된 파일의 일부만을 저장하고 나머지를 삭제함으로써 내부 저장소의 가용 용량을 증가시킬지 여부를 판단한다. 전자 장치는 내부 저장소의 가용 용량에 기초하여 공간 생성이 필요한지 여부를 판단할 수 있다. 만일, 공간 생성이 필요하지 아니하면, 전자 장치는 801 단계로 되돌아간다. 반면, 공간 생성이 필요하면, 전자 장치는 이하 809 단계로 진행한다.
공간 생성이 필요한 경우, 809 단계에서, 전자 장치는 오프라인(offline) 모드가 필요한지 판단한다. 오프라인 모드는 네트워크 연결 없이 미디어를 재생 가능한 상태를 의미한다. 즉, 전자 장치는 업로드된 파일에 대한 오프라인 모드를 지원할지 여부를 판단한다. 오프라인 모드의 지원 여부는 사용자의 선택, 파일에 대한 설정, 시스템에 대한 설정, 미리 정의된 조건의 충족 여부 등에 기초하여 판단될 수 있다. 사용자의 선택에 의하는 경우, 전자 장치는 오프라인 모드의 지원 여부를 문의하는 인터페이스를 출력할 수 있다. 미리 정의된 조건에 의하는 경우, 전자 장치는 사용자의 미디어 재생 시간 중 네트워크 접속 시간 비율이 일정 수준 이하일 경우에 오프라인 모드가 필요하다 판단할 수 있다. 오프라인 모드가 필요한 경우, 전자 장치는 이하 811 단계로 진행한다. 반면, 오프라인 모드가 필요하지 아니한 경우, 전자 장치는 이하 815 단계로 진행한다.
오프라인 모드가 필요한 경우, 811 단계에서, 전자 장치는 여유 메모리가 임계치 미만인지 판단한다. 다시 말해, 전자 장치는 내부 저장소의 가용 용량이 임계치 미만인지 판단한다. 만일, 여유 메모리가 임계치 미만이면, 전자 장치는 이하 813 단계로 진행한다. 반면, 여유 메모리가 임계치 이상이면, 전자 장치는 이하 821 단계로 진행한다.
813 단계에서, 전자 장치는 변환 코딩을 이용하여 저품질의 복사본을 생성한다. 다시 말해, 전자 장치는 업로드된 파일에 비하여 상대적으로 낮은 품질의 복사본을 생성한다. 여기서, 낮은 품질은 낮은 해상도, 낮은 단위 시간당 데이터율(예: kbps), 낮은 단위 시간당 프레임 개수 중 적어도 하나를 의미한다. 이에 따라, 향후 네트워크 접속이 불가하더라도, 전자 장치는 해당 미디어를 재생할 수 있다. 단, 저품질의 복사본을 저장하더라도, 향후 재생 시 외부 저장소에 접속 가능한 상황이면, 전자 장치는 원본 파일을 다운로드하고, 상대적으로 더 높은 품질로 미디어를 재생할 수 있다.
이어, 815 단계에서, 전자 장치는 원본 파일을 삭제한다. 즉, 전자 장치는 내부 저장소의 가용 용량을 증가시키기 위해, 낮은 품질의 복사본을 유지하고, 원본 파일을 삭제한다. 이에 따라, 원본 파일의 용량 및 복사본의 용량 간 차이만큼의 가용 용량이 확보될 수 있다.
오프라인 모드가 필요하지 아니한 경우, 817 단계에서, 전자 장치는 파일의 앞부분을 저장한다. 예를 들어, 전자 장치는 파일의 재생 시간 상 전단에 해당하는 데이터를 파일로부터 추출한다. 이에 따라, 향후 재생 시, 전자 장치는 저장된 앞부분을 이용하여 미디어의 재생을 시작하고, 앞부분의 재생 동안 외부 저장소로부터 뒷부분을 다운로드하고, 연속적으로 미디어를 재생할 수 있다.
이어, 819 단계에서, 전자 장치는 파일의 업로드된 부분을 삭제한다. 즉, 전자 장치는 내부 저장소의 가용 용량을 증가시키기 위해, 저장된 앞부분을 제외한 뒷부분을 삭제한다. 이에 따라, 전체 파일의 용량 및 앞부분을 위한 데이터의 용량 간 차이만큼의 가용 용량이 확보될 수 있다.
811 단계, 815 단계 또는 819 단계 이후, 823 단계에서, 전자 장치는 클라우드 파일 관리자를 갱신한다. 클라우드 파일 관리자는 내부 저장소에 일부가 저장되고, 외부 저장소에 나머지가 저장된 파일에 대한 정보, 즉, 메타 데이터를 관리한다. 상술한 단계들을 통해 분산 저장된 파일이 생성되었으므로, 전자 장치는 분산 저장된 파일에 대한 정보를 저장한다. 분산 저장된 파일에 대한 정보는 다운로드 및 연결 재생을 위한 정보(예: 향후 외부 저장소에서 다운로드할 부분과의 연결 지점 정보)를 포함할 수 있다. 나아가, 전자 장치는 업로드된 미디어 파일에 대한 정보를 미디어 파일 라이브러리에 갱신할 수 있다.
도 8에 설명된 실시 예에서, 전자 장치는 오프라인 모드가 필요한 경우, 여유 메모리의 양에 따라 저품질의 복사본을 저장하고 원본 파일을 삭제거나 또는 원본 파일을 유지한다. 그러나, 다른 실시 예에 따라, 오프라인 모드가 필요하지 아니하더라도, 전자 장치는 여유 메모리의 양에 따라 앞부분만을 저장하거나 또는 원본 파일을 유지할 수 있다.
또한, 도 8에 설명된 실시 예는 파일 업로드의 실패 상황을 고려하지 아니한다. 그러나, 외부 저장소의 용량 부족 등을 이유로, 파일 업로드가 실패할 수 있다. 이 경우, 전자 장치는 업로드 실패를 사용자에게 보고하고, 업로드 절차를 중단할 수 있다.
상술한 바와 같이, 전자 장치는 지능적 파일 관리를 통해 내부 저장소의 가용 용량을 확보할 수 있다. 이때, 파일의 일부(예: 앞부분 또는 저품질 복사본)를 내부 저장소에 유지함으로써, 전자 장치는 향후 재생 시 다운로드로 인한 시작 지연을 방지할 수 있다. 업로드된 파일은 이하 도 9와 같이 재생될 수 있다.
도 9는 일 실시 예에 따른 전자 장치의 업로드한 파일의 재생을 도시한다. 도 9는 양적 일부가 내부 저장소에 저장된 경우를 예시한다. 도 9를 참고하면, 901 단계에서, 전자 장치 110은 내부 저장소에 저장된 파일의 앞부분을 재생한다. 903 단계에서, 전자 장치 110은 클라우드 저장소 120로 파일의 뒷부분을 요청한다. 이에 따라, 905 단계에서, 전자 장치 110은 뒷 부분을 다운로드한다. 이때, 앞부분의 재생 동안, 903 단계 및 905 단계가 수행됨이 바람직하다. 이후, 907 단계에서, 전자 장치 110은 다운로드된 뒷부분을 앞부분에 연결하여 재생한다.
도 9의 실시 예는 양적 일부가 저장된 경우의 파일 재생을 설명한다. 그러나, 질적 일부가 저장된 경우에도, 유사한 절차에 따라 파일이 재생될 수 있다. 전체 파일과 저장된 일부의 구조를 참고하여 파일 재생에 대해 설명하면 다음과 같다.
도 10은 일 실시 예에 따른 전자 장치에서 질적 일부를 저장한 경우의 파일 재생을 도시한다. 도 10을 참고하면, 최초, 재생 시작 시, 로컬 저품질 파일 1002이 재생된다. 이때, 전자 장치는 네트워크 연결 상태를 확인한다. 네트워크 연결 불가 시, 전자 장치는 저품질 파일의 재생을 지속하고, 파일 재생 중 주기적으로 네트워크 상태를 확인한다. 네트워크 연결 시, 전자 장치는 클라우드 저장소로부터 고품질 원본을 다운로드한다. 이때, 전자 장치는 미리 정의된 또는 네트워크 상황에 따라 결정된 버퍼링 시간에 기초하여 첫번째로 다운로드할 고품질 단위체#1 1004의 크기를 결정한다. 크기는 재생 시간을 기준으로 결정될 수 있으며, 예를 들어, 원본 파일의 비트율(bit rate) 및 시간(예: N초)의 곱으로 표현될 수 있다. 이에 따라, 전자 장치는 고품질 단위체#1 1004를 다운로드 및 재생한다. 고품질 단위체#1 1004의 재생 중, 전자 장치는 고품질 단위체#2 1006의 다운로드를 진행한다. 유사하게, 고품질 단위체#2 1006의 재생 중, 전자 장치는 고품질 단위체#3 1008의 다운로드를 진행한다. 이때, 전자 장치는 멀티 세션(multi-session)을 이용하여 동시에 다수의 고품질 단위체들을 다운로드할 수 있다. 만일, 고품질 단위체#1 1004의 재생 중, 고품질 단위체#2 1006의 다운로드가 완료되지 아니하면, 전자 장치는 해당 시간 구간을 로컬 저품질 파일을 이용하여 재생할 수 있다.
도 11은 일 실시 예에 따른 전자 장치에서 양적 일부를 저장한 경우의 파일 재생을 도시한다. 도 11을 참고하면, 최초, 재생 시작 시, 앞부분 1102이 재생된다. 앞부분 1102의 재생 중, 전자 장치는 뒷부분 1104의 다운로드를 진행한다. 그리고, 앞부분 1102의 재생 완료 후, 전자 장치는 뒷부분 1104을 연속적으로 재생한다. 여기서, 앞부분 1102는 전자 장치에 미리 저장된 것으로, 앞부분 1102의 크기는 뒷부분 1104의 다운로드에 필요한 시간에 기초하여 결정될 수 있다. 앞부분 1102의 크기는 파일의 업로드시 결정될 수 있다. 예를 들어, 파일 업로드 시, 전자 장치는 미디어 파일의 헤더에서 추출한 정보를 이용하여 뒷부분 1104의 다운로드에 필요한 시간(예:N초) 동안 재생하기 위해 요구되는 앞부분 1102의 크기를 계산할 수 있다. 크기는, {미디어 파일의 비트율×다운로드를 위해 필요한 시간(예: N초)} 또는 {미디어 파일의 크기÷재생 시간×다운로드를 위해 필요한 시간(예: N초)}으로 표현될 수 있다.
도 12는 일 실시 예에 따른 전자 장치에서 업로드한 파일의 재생 절차를 도시한다. 도 12는 전자 장치 110의 동작 방법을 예시한다.
도 12를 참고하면, 1201 단계에서, 전자 장치는 저장된 파일의 일부를 재생한다. 파일의 일부는 내부 저장소에 저장되며, 파일의 질적 일부 또는 양적 일부일 수 있다. 질적 일부가 저장된 경우, 미디어는 원본보다 열악할 품질로 재생될 수 있다.
이어, 1203 단계에서, 전자 장치는 파일의 나머지를 다운로드한다. 예를 들어, 전자 장치는 파일의 다운로드를 외부 저장소로 요청하고, 외부 저장소로부터 파일의 나머지 또는 전체를 수신한다. 1203 단계는, 1201 단계의 진행 중에 수행된다. 이때, 나머지의 다운로드는, 단계적으로 진행될 수 있다. 구체적으로, 전자 장치는 나머지 중 제1 부분을 다운로드하고, 제1 부분을 재생하는 동안 나머지 중 제2 부분을 다운로드 할 수 있다.
이후, 1205 단계에서, 전자 장치는 파일의 나머지를 재생한다. 즉, 전자 장치는 내부 저장소에 저장된 일부의 재생 중 다운로드된 파일의 나머지를, 일부의 재생 완료에 이어서 재생한다. 다시 말해, 전자 장치는 내부 저장소에 저장된 파일의 일부와, 외부 저장소에 저장된 파일의 나머지를 결합함으로써, 마치 하나의 저장된 파일을 재생하는 것과 유사하게 재생한다.
상술한 바와 같이, 파일의 앞부분을 전자 장치의 내부 저장소에 유지함으로써, 재생 시 시작 지연이 감소될 수 있다. 파일의 앞부분의 길이는 뒷부분의 다운로드가 완료되기까지 재생이 지속될 수 있도록 결정되어야 한다. 파일의 앞부분의 길이는 파일 업로드 시 결정될 수 있다. 그러나, 파일 업로드 시 결정된 길이가 향후 재생 시 언제나 뒷부분의 다운로드 시간을 보장하는 것은 아닐 수 있다. 따라서, 연속적인 재생의 실패에 따라 앞부분의 길이는 조절될 수 있다.
도 13은 일 실시 예에 따른 전자 장치에서 요구되는 파일 앞부분의 길이를 도시한다. 도 13을 참고하면, 전체 파일은 앞부분 1302, 단위체#1 1304, 단위체#2 1306, 단위체#3 1308, 단위체#4 1310를 포함한다. 스트리밍 요청 시, 앞부분 1302을 이용하여 재생이 시작되며, 앞부분 1302의 재생 동안 단위체#1 1304가 전자 장치로 다운로드되고, 연속적으로 재생된다. 이때, 스트리밍 재생 시 단위체#1 1304, 단위체#2 1306, 단위체#3 1308, 단위체#4 1310은 적어도 1회 전자 장치로 다운로드되므로, 전자 장치는 삭제하지 아니하고 유지할 앞부분의 길이를 재결정할 수 있다.
일 실시 예에 따라, 앞부분 1302의 재생이 완료되기 전 단위체#1 1304의 다운로드가 완료되지 못하면, 전자 장치는 향후의 원활한 재생을 위해 앞부분 1302의 길이를 조절할 수 있다. 다시 말해, 로컬 저장 부분의 재생 중 다음에 재생될 부분의 다운로드 완료까지의 시간이 일정 수준 이하인 경우, 앞부분 1302의 길이가 조절될 수 있다. 도 13을 참고하면, t1은 단위체#1 1304의 다운로드가 완료되는 시점이며, t2는 앞부분 1302의 재생 완료 시점이며, Tb는 다운로드된 단위체#1 1304을 디코딩하기 위해 필요한 시간 및 마진(margin)의 합이다. 따라서, 연속적인 재생이 가능하기 위해서, {t2-t1}이 Tb보다 크거나 같아야 한다. 따라서, {t2-t1}이 Tb보다 작은 상황이 미리 정의된 횟수(예: N회) 이상 발생하는 경우, 전자 장치는 앞부분 1302의 길이를 조절할 수 있다. 즉, 일단 스트리밍이 완료되면 전체 파일이 다운로드 되어 있으므로, 캐쉬 메모리 정리 시, 전자 장치는 앞부분 1302의 길이를 변경할 수 있다.
다른 실시 예에 따라, 전자 장치의 내부 저장소의 용량에 따라 앞부분 1302의 길이가 조절될 수 있다. 예를 들어, 내부 저장소의 가용 용량이 임계치 미만인 경우, 전자 장치는 앞부분 1302의 길이를 감소시킬 수 있다. 다른 예로, 다수의 파일들에 대한 전체 앞부분들의 총 용량이 임계치 보다 작은 경우, 전자 장치는 앞부분 1302의 길이를 증가시킬 수 있다. 앞부분 1302의 길이 감소에도 불구하고 내부 저장소의 가용 용량이 확보되지 아니하는 경우, 전자 장치는 앞부분 1302에 대한 변환 코딩을 통해 낮은 품질의 데이터로 변경함으로써, 앞부분 1302의 길이를 유지하며 크기를 감소시킬 수 있다.
도 14는 일 실시 예에 따른 전자 장치에서 내부 저장소에 저장된 일부의 길이 조절 절차를 도시한다. 도 14는 전자 장치 110의 동작 방법을 예시한다.
도 14를 참고하며, 1401 단계에서, 전자 장치는 뒷부분의 다운로드 시간이 보장되는지 판단한다. 즉, 전자 장치는 내부 저장소에 저장된 앞부분을 이용하여 파일 재생을 시작하고, 앞부분의 재생 동안 뒷부분의 적어도 일부를 다운로드한다. 이때, 전자 장치는 앞부분의 재생 완료 직후 다음 부분의 연속적인 재생을 가능케 하는 시점에 다음 부분이 다운로드 완료되는지 판단한다. 연속적인 재생을 가능케 하는 시점은 다음 부분의 디코딩 시간을 고려하여 결정될 수 있다. 예를 들어, 연속적인 재생을 가능케 하는 시점은 앞부분의 재생 완료 시점보다 다음 부분의 디코딩 시간 만큼 빠른 시점보다 동일하거나 더 빠를 수 있다.
뒷부분의 다운로드 시간이 보장되지 아니하면, 1403 단계에서, 전자 장치는 내부 저장소에 저장되는 일부, 즉, 앞부분의 재생 구간 길이를 조절한다. 다시 말해, 상기 일부를 이용한 재생 시간이, 상기 나머지를 연속적으로 재생하기 위해 요구되는 시간보다 짧은 경우, 전자 장치는 상기 일부에 대한 길이를 조절한다. 예를 들어, 전자 장치는 앞부분의 길이를 증가시킨다. 구체적으로, 재생 완료 후, 전자 장치는 재생 전의 앞부분 길이보다 더 긴 길이에 대응하는 데이터를 앞부분으로서 유지하고, 나머지를 삭제한다.
상술한 실시 예들은 전자 장치에서 외부 저장소로 업로드한 파일의 재생에 대해 설명한다. 그러나, 전자 장치가 아닌 다른 장치에 의해 업로드된 파일이 재생되는 경우도 고려될 수 있다. 다른 장치에 의해 업로드된 새로운 파일을 재생하는 경우, 사용자에 의해 파일이 선택된 후, 위치 정보(예: URL) 회득, 연결 설정, 스트리밍 요청, 메타 데이터 수신 등의 과정들로 인해 재생 시작이 지연될 수 있다. 따라서, 일 실시 예는 재생 시작의 지연을 줄이기 위한 새로운 파일 재생 절차를 제안한다.
도 15는 일 실시 예에 따른 전자 장치에서 외부 저장소에 저장된 파일의 재생 절차를 도시한다. 도 15는 전자 장치 110의 동작 방법을 예시한다.
도 15를 참고하면, 1501 단계에서, 전자 장치는 미디어 재생 어플리케이션을 실행한다. 미디어 재생 어플리케이션은 내부 저장소에 저장된 미디어 파일들 및 외부 저장소에 저장된 미디어 파일들을 재생하기 위한 프로그램이다. 미디어 재생 어플리케이션은 사용자의 명령에 의해 실행될 수 있다.
이어, 1503 단계에서, 전자 장치는 외부 저장소에 저장된 적어도 하나의 파일에 대한 메타 데이터를 획득한다. 즉, 전자 장치는 메타 데이터를 프리패칭(pre-fetching)한다. 예를 들어, 전자 장치는 외부 저장소에 접속하는 절차 중 메타 데이터를 요청 및 수신할 수 있다. 구체적으로, 전자 장치는 사용자의 로그인(log-in) 후 메타 데이터를 수신할 수 있다. 메타 데이터는 외부 저장소에 저장된 적어도 하나의 파일의 위치 정보(예: URL), 크기, 길이 등을 포함할 수 있다. 즉, 메타데이터의 프리패칭에 의해, 스트리밍 요청 후 URL 획득 과정이 삭제됨으로써 재생 시작 시간이 단축될 수 있고, 스트리밍 시 크기 및 길이 정보 획득 후 스트리밍에 필요한 정보를 처리하는 시간이 단축될 수 있고, 비트율 산출에 의해 스트리밍 시 다운로드할 1개 단위체 크기가 산출될 수 있다.
메타 데이터 획득 후, 1505 단계에서, 전자 장치는 연결(connection)을 설정(establishment)한다. 일반적으로, 다운로드할 파일이 선택된 후 다운로드를 위한 연결이 설정된다. 하지만, 일 실시 예에 따라, 전자 장치는 파일 선택 전 연결을 설정한다. 즉, 전자 장치는 소켓(socket) 연결을 위한 연결 설정을 선처리한다. 이때, 전자 장치는 외부 저장소와 인증 정보(예: 보안 키(security key))를 교환할 수 있다.
연결 설정 후, 1507 단계에서, 전자 장치는 재생할 미디어 파일을 선택한다. 재생할 미디어 파일은 사용자의 명령에 의해 선택된다. 즉, 전자 장치는 외부 저장소 및 내부 저장소에 저장된 파일들의 목록을 표시하고, 사용자의 선택을 확인할 수 있다. 이때, 본 실시 예는 외부 저장소에 저장된 파일이 선택됨을 가정한다.
파일 선택 후, 1509 단계에서, 전자 장치는 연결을 확인한다. 연결 확인을 위해, 전자 장치는 외부 저장소로 보안 키를 송신할 수 있다. 다시 말해, 전자 장치는 HTTP(hyper text transfer protocol) 핸드쉐이크(handshake) 절차를 통해 외부 저장소와 보안 키를 교환할 수 있다. 보안 키 교환이 성공적으로 수행되면, 연결됨이 확인된다.
연결 확인 후, 1511 단계에서, 전자 장치는 스트리밍 요청을 송신한다. 즉, 전자 장치는 선택된 파일의 위치 정보(예: URL)를 포함하는 메시지를 외부 저장소로 송신한다.
스트리밍 요청 송신 후, 1513 단계에서, 전자 장치는 클라우드, 즉, 외부 저장소로부터 파일을 획득한다. 다시 말해, 전자 장치는 스트리밍 요청에 의해 지시된 미디어 파일을 외부 저장소로부터 수신한다.
이어, 1515 단계에서, 전자 장치는 미디어 파일을 재생한다. 전자 장치는 미디어 파일의 다운로드와 동시에 미디어 파일을 재생할 수 있다. 즉, 전자 장치는 미디어 파일을 디코딩하고, 사용자 인터페이스를 통해 디코딩된 미디어를 출력한다.
상술한 바와 같은 절차를 통해, 전자 장치는 다른 장치에 의해 업로드된 새로운 파일을 재생할 수 있다. 다른 장치에 의한 파일 업로드는 도 16과 같다. 도 16은 일 실시 예에 따라 다른 장치에 의해 업로드되는 파일을 도시한다. 도 16을 참고하면, 장치 1610 및 장치 1620은 클라우드 저장소 120로 파일을 업로드할 수 있다. 이에 따라, 전자 장치는 도 15에 도시된 절차를 통해, 장치 1610 또는 장치 1620에 의해 업로드된 파일을 스트리밍할 수 있다.
이때, 스트리밍 서비스를 통해 다운로드한 파일에 대하여, 전자 장치는 향후 다시 재생하는 상황을 대비하기 위해 파일의 일부를 저장할 수 있다. 스트리밍 된 파일의 일부 저장은 도 17과 같다. 도 17은 일 실시 예에 따른 전자 장치의 스트리밍 후 파일 일부 저장을 도시한다. 도 17을 참고하면, 1701 단계에서, 전자 장치 110은 클라우드 저장소 120로 스트리밍 요청을 송신한다. 1703 단계에서, 전자 장치 110은 데이터를 다운로드한다. 스트리밍 완료 후, 전자 장치 110은 스트리밍을 위해 다운로드한 파일의 앞부분을 저장하고, 뒷부분을 삭제한다. 스트리밍 후 파일 일부를 저장하는 절차는 이하 도 18 또는 이하 도 19와 같다.
도 18은 일 실시 예에 따른 전자 장치에서 스트리밍된 파일의 처리 절차를 도시한다. 도 18은 전자 장치 110의 동작 방법을 예시한다.
도 18을 참고하면, 1801 단계에서, 전자 장치는 스트리밍 서비스를 위해 파일을 다운로드한다. 즉, 전자 장치는 외부 저장소로 파일에 대한 요청을 송신하고, 파일을 수신한다. 이를 위해, 전자 장치는 도 15에 도시된 절차를 수행할 수 있다.
이어, 1803 단계에서, 전자 장치는 파일을 재생한다. 전자 장치는 1801 단계의 다운로드와 동시에 파일을 재생할 수 있다. 구체적으로, 전자 장치는 미디어 파일을 디코딩하고, 사용자 인터페이스를 통해 디코딩된 미디어를 출력한다.
파일을 재생한 후, 1805 단계에서, 전자 장치는 파일의 일부를 저장하고, 나머지를 삭제한다. 여기서, 파일의 일부는 질적 일부(예: 저품질의 복사본) 또는 양적 일부(예: 재생 시간 상 앞부분)일 수 있다.
도 19는 일 실시 예에 따른 전자 장치에서 스트리밍된 파일의 처리 절차를 도시한다. 도 19는 전자 장치 110의 동작 방법을 예시한다.
도 19를 참고하면, 1901 단계에서, 전자 장치는 미디어 재생 어플리케이션을 실행한다. 미디어 재생 어플리케이션은 내부 저장소에 저장된 미디어 파일들 및 외부 저장소에 저장된 미디어 파일들을 재생하기 위한 프로그램이다. 미디어 재생 어플리케이션은 사용자의 명령에 의해 실행될 수 있다. 이에 따라, 선택된 미디어 파일이 재생된다.
이후, 1903 단계에서, 전자 장치는 미디어 라이브러리를 갱신한다. 예를 들어, 전자 장치는 외부 저장소에 저장된 적어도 하나의 파일에 대한 메타 데이터를 미디어 라이브러리에 추가한다.
이어, 1905 단계에서, 전자 장치는 재생된 파일이 새로운 파일인지 판단한다. 다시 말해, 전자 장치는 재생된 파일이 내부 저장소에 저장되지 아니한 파일인지 판단한다. 예를 들어, 재생된 파일은 다른 장치에 의해 외부 저장소로 업로드된 파일일 수 있다. 만일, 새로운 파일이 아니면, 전자 장치는 이하 1915 단계로 진행한다. 반면, 새로운 파일이면, 전자 장치는 이하 1907 단계로 진행한다.
1907 단계에서, 전자 장치는 여유 메모리가 임계치 미만인지 판단한다. 다시 말해, 전자 장치는 내부 저장소의 가용 용량이 임계치 미만인지 판단한다. 만일, 여유 메모리가 임계치 미만이면, 전자 장치는 이하 1909 단계로 진행한다. 반면, 여유 메모리가 임계치 이상이면, 전자 장치는 이하 821 단계로 진행한다. 즉, 전자 장치는 여유 메모리에 기초하여 저장될 일부의 형태를 결정한다. 단, 다른 실시 예에 따라, 1907 단계의 조건은 미디어 재생 시 네트워크 연결 시간이 임계치 미만인지 여부로 대체될 수 있다. 즉, 네트워크 연결 시간은 일부의 형태를 결정하는 하나의 기준으로서, 오프라인 모드의 지원이 필요한지 여부를 판단하는 기준이 될 수 있다. 또 다른 실시 예에 따라, 전자 장치는 다른 기준에 의해 일부의 형태를 결정할 수 있다.
여유 메모리가 임계치 미만이면, 1909 단계에서, 전자 장치는 변환 코딩을 이용하여 저품질의 복사본을 생성한다. 다시 말해, 전자 장치는 재생된 파일에 비하여 상대적으로 낮은 품질의 복사본을 생성한다. 여기서, 낮은 품질은 낮은 해상도, 낮은 단위 시간당 데이터율(예: kbps), 낮은 단위 시간당 프레임 개수 중 적어도 하나를 의미한다. 그리고, 1911 단계에서, 전자 장치는 로컬 메모리, 즉, 내부 저장소에 저품질 복사본을 저장한다. 이에 따라, 향후 네트워크 접속이 불가하더라도, 전자 장치는 해당 미디어를 재생할 수 있다.
여유 메모리가 임계치 이상이면, 1913 단계에서, 전자 장치는 새로운 파일의 앞부분을 저장한다. 예를 들어, 전자 장치는 파일의 재생 시간 상 전단에 해당하는 데이터를 파일로부터 추출한다. 이에 따라, 향후 재생 시, 전자 장치는 저장된 앞부분을 이용하여 미디어의 재생을 시작하고, 앞부분의 재생 동안 외부 저장소로부터 뒷부분을 다운로드하고, 연속적으로 미디어를 재생할 수 있다.
이후, 1915 단계에서, 전자 장치는 사용자의 입력을 대기한다. 다음 수행할 동작을 결정하기 위해, 전자 장치는 사용자에 의해 입력되는 명령을 대기한다. 이때, 다시 미디어 재생 어플리케이션이 실행되면, 전자 장치는 본 절차를 다시 수행할 수 있다.
도 19의 실시 예는 파일을 스트리밍 재생한 후, 일부를 저장하는 절차를 설명한다. 그러나, 다른 실시 예에 따라, 파일 스트리밍 전, 일부가 저장될 수 있다. 이 경우, 전자 장치는 클라우드 미디어 재생 프로그램 혹은 앱 실행 시 단말 미디어 파일 라이브러리를 갱신하고, 파일의 일부(예: 앞부분, 저품질 복사본)가 저장되지 않은 미디어 파일 발견 시 파일의 앞부분 또는 저품질 사본을 내부 저장소에 저장한다. 이때, 전자 장치는 메타 데이터 및 멀티 세션은ㄹ 이용하여 파일의 일부를 빠르게 저장할 수 있다. 이때, 일부의 형태, 즉, 파일 앞부분 또는 저품질 복사본 중의 선택은 시스템 설정 혹은 사용자 설정에 따를 수 있다. 예를 들어, 사용자의 미디어 재생 시간 중 네트워크 접속 시간 비율이 일정 수준 이하일 경우, 저품질 복사본이 저장될 수 있다.
상술한 바와 같이, 다양한 실시 예들에 따른 전자 장치는 외부 저장소(예: 클라우드 저장소)에 저장된 미디어 파일을 재생할 수 있다. 이때, 파일의 일부가 내부 저장소에 저장되어 있는지, 메타 데이터가 저장되어 있는지, 새로운 파일인지 여부에 따라 미디어 파일의 재생 절차가 달라질 수 있다. 이하 도 20은 파일 일부 및 메타 데이터의 저장 여부에 따라 분기되는 파일 재생 절차를 도시한다.
도 20은 일 실시 예에 따른 전자 장치에서 저장된 정보를 고려한 파일 재생 절차를 도시한다. 도 20은 전자 장치 110의 동작 방법을 예시한다.
도 20을 참고하면, 2001 단계에서, 전자 장치는 재생할 미디어 클라우드 미디어 파일이 선택되는지 확인한다. 재생할 미디어 파일은 외부 저장소에 저장된 파일들 중 하나로서, 사용자의 선택에 의해 결정될 수 있다. 이때, 전자 장치는 선택된 파일에 대한 메타 데이터의 저장 여부 및 파일 일부의 저장 여부를 판단한다.
메타 데이터 및 파일 일부 모두 저장되지 아니한 경우, 2003 단계에서, 전자 장치는 선택된 파일의 URL을 획득한다. 즉, 전자 장치는 URL을 포함하는 메타 데이터를 요청 및 수신한다. 그리고, 2005 단계에서, 전자 장치는 클라우드 저장소와 연결을 설정한다. 2007 단계에서, 전자 장치는 선택된 파일을 지시하는 정보를 포함하는 스트리밍 요청을 송신한다. 2009 단계에서, 전자 장치는 메타 데이터를 획득하고, 처리한다. 즉, 전자 장치는 스트리밍을 위한 메타 데이터를 획득한다. 예를 들어, 미디어가 오디오인 경우, 메타 데이터는 디코딩 및 버퍼링을 위한 파일 크기, 재생 시간 등을 포함할 수 있다. 다른 예로, 미디어가 비디오인 경우, 메타 데이터는 코덱 정보 등을 포함할 수 있다. 이후, 전자 장치는 이하 2015 단계로 진행한다.
파일 일부는 저장되지 아니하나, 메타 데이터가 저장된 경우, 2011 단계에서, 전자 장치는 연결 여부를 확인한다. 이어, 2013 단계에서, 전자 장치는 선택된 파일을 지시하는 정보를 포함하는 스트리밍 요청을 송신한다. 스트리밍 요청을 송신한 후, 2015 단계에서, 전자 장치는 클라우드로부터 파일을 획득한다. 2017 단계에서, 전자 장치는 미디어 파일을 재생한다. 이후, 2019 단계에서, 전자 장치는 미디어 파일의 일부, 즉, 앞부분 또는 저품질 복사본을 저장한다. 이에 따라, 전자 장치는 파일 일부를 향후 재생 시 이용할 수 있다. 이후, 전자 장치는 이하 2025 단계로 진행한다.
메타 데이터 및 파일 일부 모두 저장된 경우, 2021 단계에서, 전자 장치는 저장된 부분을 이용하여 미디어 파일의 재생을 시작한다. 2023 단계에서, 전자 장치는 미디어 파일의 나머지 부분을 클라우드로부터 획득하고, 저정된 부분의 재생에 연속적으로 재생한다. 이후, 2025 단계에서, 전자 장치는 사용자의 입력을 대기한다. 이때, 다시 미디어 재생 어플리케이션이 실행되면, 전자 장치는 본 절차를 다시 수행할 수 있다.
다양한 실시 예들에 따른 전자 장치에서 미디어 파일을 재생함에 있어서, 새로운 파일을 재생하는 경우, 파일의 일부가 미리 저장되어 있지 아니하다. 따라서, 파일의 일부가 미리 저장된 경우에 비하여, 더 긴 지연이 발생할 수 있다. 하지만, 재생될 미디어 파일을 미리 알 수 있다면, 새로운 파일이라 하더라도, 전자 장치는 파일의 일부를 미리 획득할 수 있다. 예를 들어, 재생 목록에 따른 다수 파일들의 재생의 경우, 전자 장치는 다음에 재생될 미디어 파일을 미리 알 수 있으므로, 파일의 일부를 미리 획득할 수 있다. 재생 목록에 기반한 파일 재생 절차는 이하 도 21과 같다.
도 21은 일 실시 예에 따른 전자 장치에서 재생 목록에 따른 파일 재생 절차를 도시한다. 도 21은 전자 장치 110의 동작 방법을 예시한다.
도 21을 참고하면, 2101 단계에서, 전자 장치는 목록에서 k번째 파일을 재생하기 위해 선택한다. k번째 파일을 선택한 후, 2103 단계에서, 전자 장치는 로컬 메모리, 즉, 내부 저장소에 k번째 파일의 일부(예: 앞부분 또는 저품질 복사본)가 저장되어 있는지 확인한다. k번째 파일의 일부가 저장되어 있지 아니하면, 2105 단계에서, 전자 장치는 로컬 메모리에 k+1번째 파일의 일부가 저장되어 있는지 확인한다. k+1번째 파일의 일부가 저장되어 있지 아니하면, 2107 단계에서, 전자 장치는 k번째 파일 및 k+1번째 파일의 일부를 외부 저장소에 요청한다. 이후, 전자 장치는 이하 2111 단계로 진행한다.
2105 단계에서 로컬 메모리에 k+1번째 파일이 저장되어 있으면, 2109 단계에서, 전자 장치는 k번째 파일을 클라우드, 즉, 외부 저장소에 요청한다. 이어, 2111 단계에서, 전자 장치는 스트리밍을 시작한다. 다시 말해, 전자 장치는 k번째 파일을 다운로드 및 재생한다. 이후, 전자 장치는 이하 2119 단계로 진행한다.
2103 단계에서 k번째 파일의 일부가 저장되어 있으면, 2113 단계에서, 전자 장치는 저장된 부분에 대한 재생을 시작한다. 이어, 2115 단계에서, 전자 장치는 로컬 메모리에 k+1번째 파일의 일부가 내부 저장소에 저장되어 있는지 확인한다. 만일, k+1번째 파일의 일부가 저장되어 있으면, 전자 장치는 이하 2119 단계로 진행한다. 반면, k+1번째 파일의 일부가 저장되어 있지 아니하면, 2117 단계에서, 전자 장치는 k+1번째 파일의 일부를 외부 저장소에 요청하고, 이하 2119 단계로 진행한다. 2119 단계에서, 전자 장치는 k번째 파일의 나머지를 외부 저장소에 요청한다. 이후, 2121 단계에서, 전자 장치는 사용자의 입력을 대기한다.
상술한 바와 같이, 파일의 일부(예: 앞부분 또는 저품질 복사본)을 저장함으로써, 내부 저장소의 가용 용량이 확보될 수 있다. 그러나, 다수의 파일들의 일부들이 누적되는 경우, 일부들로 인해 가용 용량이 부족할 수 있다. 따라서, 파일들의 일부들을 저장하더라도, 제한된 개수의 일부들만 저장 가능한 상황이 고려될 수 있다. 즉, 분산 저장되는 파일들에 대한 저장 리스트(store list)가 관리될 수 있으며, 저장 리스트는 제한된 개수 또는 제한된 용량의 파일들을 포함할 수 있다. 저장 리스트는 이하 도 22와 같이 관리될 수 있다.
도 22는 일 실시 예에 따른 전자 장치에서 저장 리스트의 관리 절차를 도시한다. 도 22는 전자 장치 110의 동작 방법을 예시한다. 도 22는 재생 빈도, 업로드 시점, 재생 시점 등에 기초한 저장 리스트 관리를 예시한다.
도 22를 참고하면, 2201 단계에서, 전자 장치는 k번째 파일의 스트리밍을 종료한다. 즉, 전자 장치는 k번째 파일의 재생을 완료한다. 이에 따라, 이하, k번째 파일의 일부 저장에 관련된 절차가 진행된다. k번째 파일은 전자 장치에 의해 업로드된 파일이거나, 또는, 다른 장치에 의해 업로드된 파일일 수 있다.
2203 단계에서, 전자 장치는 k번째 파일에 대한 가중치 인자(weight factor) Wk를 갱신한다. 가중치 인자는 재생의 빈도, 업로드 시점, 재생 시점 중 적어도 하나에 기초하여 결정될 수 있다. 예를 들어, 재생의 빈도가 높을수록, 업로드 시점이 최신일수록, 재생 시점이 최신일수록, 가중치 인자가 클 수 있다. 따라서, 전자 장치는 k번째 파일의 스트리밍 횟수, 마지막으로 스트리밍된 시각, 클라우드에 업로드된 시각 등을 확인하고, 가중치 인자 Wk를 결정할 수 있다.
2205 단계에서, 전자 장치는 내부 저장소에 저장된 데이터 양이 임계치 미만인지 판단한다. 다시 말해, 전자 장치는 다른 파일의 삭제 없이 k번째 파일을 저장할 수 있는지 판단한다. 다른 실시 예에 따라, 전자 장치는 내부 저장소에 저장된 파일들의 개수, 다시 말해, 저장 목록에 포함된 파일들의 개수에 기초하여 다른 파일의 삭제 없이 k번째 파일을 저장할 수 있는지 판단할 수 있다. 임계치 미만인지 판단할 수 있다. 또 다른 실시 예에 따라, 전자 장치는 저장된 데이터 양 및 파일들의 개수 모두에 기초하여 다른 파일의 삭제 없이 k번째 파일을 저장할 수 있는지 판단할 수 있다. 만일, 다른 파일의 삭제 없이 k번째 파일을 저장할 수 없음이 판단되면, 전자 장치는 이하 2211 단계로 진행하여 다른 파일 또는 k번째 파일의 삭제를 고려한다.
저장된 데이터 양이 임계치 미만이면, 2207 단계에서, 전자 장치는 k번째 파일을 저장 목록에 추가하고, k번째 파일의 일부(예: 앞부분 또는 저품질 복사본)를 저장한다.
이후, 2209 단계에서, 전자 장치는 가중치 인자에 기초하여 내림차순으로 저장 목록을 갱신한다. 다시 말해, 전자 장치는 저장 목록에 포함된 파일들의 일부들을 가중치 인자의 내림차순으로 정렬한다.
2205 단계에서 저장된 데이터 양이 임계치 이상이면, 2211 단계에서, 전자 장치는 Wk 및 WL을 비교한다. WL은 저장 목록의 마지막 순서의 파일의 가중치 인자를 의미한다.
Wk이 WL보다 크면, 2213 단계에서, 전자 장치는 k번째 파일을 저장 목록에 추가하고, k번째 파일의 일부를 저장한다.
이어, 2215 단계에서, 전자 장치는 마지막 파일을 목록에서 삭제하고, 마지막 파일의 일부를 내부 저장소에서 삭제한다. 이후, 전자 장치는 2209 단계로 진행한다.
2211단계에서 WL이 WK보다 작거나 같으면, 2217 단계에서, 전자 장치는 k번째 파일을 삭제한다. 단, 다른 실시 예에 따라, 전자 장치는 k번째 파일의 일부를 저품질로 변환 코딩하고, 변환 코딩된 저품질의 일부를 저장하는 경우에 저장된 데이터 양이 임계치 미만이면, 저품질의 일부를 이용하여 k번째 파일을 분산 저장할 수 있다. 그러나, 저품질의 일부를 저장하더라도 저장된 데이터 양이 임계치 이상이면, 전자 장치는 k번째 파일을 삭제한다.
이하 도 23 내지 도 25는 상술한 다양한 실시 예들의 적용 예들을 도시한다. 도 23 내지 도 25는 다양한 실시 예에 따른 파일 관리 기술의 적용 예들을 도시한다.
도 23은 다양한 웨어러블(wearable) 장치들에 파일 관리 기술이 적용된 경우를 예시한다. 도 23을 참고하면, 안경 형태의 장치 2310은 구비된 카메라 및 그래픽 처리 장치를 통해 동영상을 생성하고, 클라우드 저장소 120로 동영상을 포함하는 파일을 업로드할 수 있다. 팔목에 착용하는 밴드 형태의 장치 2320은 심박수 등을 포함하는 의료 정보를 생성하고, 클라우드 저장소 120로 의료 정보를 포함하는 파일을 업로드할 수 있다. 의류 형태의 장치 2330은 체온 등을 포함하는 의료 정보를 생성하고, 클라우드 저장소 120로 의료 정보를 포함하는 파일을 업로드할 수 있다. 헤드셋 형태의 장치 2340은 소리를 녹음하고, 클라우드 저장소 120로 소리를 포함하는 파일을 업로드할 수 있다. 시계 형태의 장치 2350은 저장된 미디어 파일을 클라우드 저장소 120로 업로드할 수 있고, 업로드한 미디어 파일을 재생할 수 있다.
도 24는 차량용 블랙 박스(black box)에 파일 관리 기술이 적용된 경우를 예시한다. 도 24를 참고하면, 블랙 박스 장치 2410은 차량의 이동 중 촬영을 진행함으로써, 비디오 파일을 생성한다. 비디오 파일은 클라우드 저장소 120로 업로드된다. 이때, 블랙 박스 장치 2410은 비디오 파일의 일부(예: 단위체#1)를 유지한다. 따라서, 향후 재생 시, 블랙 박스 장치 2410은 일부를 이용하여 재생을 시작하고, 나머지를 클라우드 저장소 120로부터 다운로드한다.
도 25는 차량용 네비게이션(navigation)에 파일 관리 기술이 적용된 경우를 예시한다. 도 25를 참고하면, 네비게이션 장치 2510는 주행 및 정비 관련 정보를 클라우드 저장소 120로 업로드한다. 또한, 네비게이션 장치 2510는 클라우드 저장소 120에 저장된 지도 및 미디어 파일 등을 다운로드 할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
그러한 소프트웨어는 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 프로그램(소프트웨어 모듈), 전자 장치에서 적어도 하나의 프로세서에 의해 실행될 때 전자 장치가 본 개시의 방법을 실시하게 하는 명령어들(instructions)을 포함하는 적어도 하나의 프로그램을 저장한다.
이러한 소프트웨어는, 휘발성(volatile) 또는 (ROM: Read Only Memory)과 같은 불휘발성(non-volatile) 저장장치의 형태로, 또는 램(RAM: random access memory), 메모리 칩(memory chips), 장치 또는 집적 회로(integrated circuits)와 같은 메모리의 형태로, 또는 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs), 자기 디스크(magnetic disk) 또는 자기 테이프(magnetic tape) 등과 같은 광학 또는 자기적 판독 가능 매체에, 저장될 수 있다.
저장 장치 및 저장 미디어는, 실행될 때 일 실시 예들을 구현하는 명령어들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적절한 기계-판독 가능 저장 수단의 실시 예들이다. 실시 예들은 본 명세서의 청구항들 중 어느 하나에 청구된 바와 같은 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램, 및 그러한 프로그램을 저장하는 기계-판독 가능 저장 매체를 제공한다. 나아가, 그러한 프로그램들은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 어떠한 매체에 의해 전자적으로 전달될 수 있으며, 실시 예들은 동등한 것을 적절히 포함한다.
상술한 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 상술한 실시 에들이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 다양한 실시 예들이 내포하는 기술적 사상의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (22)

  1. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 내부 저장소에 저장된 미디어 데이터를 포함하는 제1 파일을 외부 저장소로 송신하는 과정과,
    상기 미디어 데이터를 전부 다운로드하여 끊김없이 재생하기 위해 필요한시간을 결정하는 과정,
    상기 전자 장치에 의해, 상기 외부 저장소에 송신된 상기 제1 파일을 이용하여 상기 미디어 데이터를 전부 다운로드하여 연속적으로 재생하기 위해 요구되는 시간보다 긴 재생 시간을 갖도록 상기 제1 파일의 일부를 포함하고 나머지를 제외하도록 길이를 조절하여 제2 파일을 생성하는 과정,
    상기 제1 파일을 삭제하고 상기 제2 파일을 상기 내부 저장소에 저장하는 과정과,
    상기 내부 저장소에 저장된 상기 제2 파일을 이용하여 상기 미디어 데이터를 재생하는 과정과,
    상기 제2 파일을 재생하는 동안 상기 외부 저장소로부터 상기 제1 파일을 수신하는 과정과,
    상기 외부 저장소로부터 수신되는 상기 제1 파일을 이용하여 상기 미디어 데이터를 재생하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 제2 파일은, 상기 제1 파일의 재생 시간 상 상기 제2 파일의 상기 재생 시간에 대응하는 일부에 해당하는 데이터 또는 상기 제1 파일의 품질 보다 낮은 품질의 복사본을 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 제2 파일을 생성하는 과정은,
    상기 미디어 데이터에 대한 오프라인(offline) 모드가 필요한 경우, 상기 제1 파일의 품질 보다 낮은 품질의 복사본을 포함하는 상기 제2 파일을 생성하는 과정과,
    상기 미디어 데이터에 대한 상기 오프라인 모드가 필요하지 아니한 경우, 상기 제1 파일의 재생 시간 상 상기 제2 파일의 상기 재생 시간에 대응하는 일부에 해당하는 데이터를 포함하는 상기 제2 파일을 생성하는 과정을 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 미디어 데이터에 대한 오프라인(offline) 모드가 필요하고, 상기 내부 저장소의 가용 용량이 임계치 이상인 경우, 상기 제1 파일의 원본을 유지하는 과정을 더 포함하는 방법.
  5. 청구항 1에 있어서,
    통신 상태, 배터리 상태, 메모리 상태, 사용자 데이터 중 적어도 하나에 기초하여 정의된 이벤트 발생 시, 상기 제1 파일을 업로드하기 위해 송신하는 과정을 더 포함하는 방법.

  6. 삭제
  7. 청구항 1에 있어서,
    상기 외부 저장소로부터 제3 파일을 수신하는 과정과,
    상기 제3 파일을 재생한 후, 상기 제3 파일의 일부를 저장하는 과정과,
    상기 제3 파일의 나머지를 삭제하는 과정을 더 포함하는 방법.
  8. 청구항 7에 있어서,
    상기 제3 파일의 일부를 저장하는 과정은,
    상기 내부 저장소의 가용 용량이 임계치 미만이면, 상기 제3 파일의 품질 보다 낮은 품질 복사본을 상기 제3 파일의 상기 일부로서 저장하는 과정과,
    상기 내부 저장소의 가용 용량이 임계치 이상이면, 상기 제3 파일의 재생 시간 상 상기 제2 파일의 상기 재생 시간에 대응하는 일부에 해당하는 데이터를 상기 일부로서 저장하는 과정을 포함하는 방법.
  9. 청구항 7에 있어서,
    상기 제3 파일을 수신하는 과정은,
    상기 제3 파일에 대한 메타 데이터(metadata)를 수신하는 과정과,
    상기 외부 저장소와의 연결을 설정하는 과정과,
    상기 제3 파일을 선택하는 과정과,
    상기 제3 파일에 대한 스트리밍 요청을 상기 외부 저장소로 송신하는 과정을 포함하는 방법.
  10. 청구항 1에 있어서,
    상기 제1 파일의 재생 중, 재생 목록 상 상기 제1 파일의 다음 순서인 제3 파일의 일부를 수신하는 과정을 더 포함하는 방법.
  11. 청구항 1에 있어서,
    상기 제1 파일에 대한 가중치 인자를 결정하는 과정과,
    상기 가중치 인자에 기초하여 상기 제1 파일의 일부를 이용하여 상기 제2 파일을 생성하여 저장할지 여부를 판단하는 과정을 더 포함하며,
    상기 가중치 인자는, 상기 제1 파일의 재생의 빈도, 상기 제1 파일의 업로드 시점, 상기 제1 파일의 재생 시점 중 적어도 하나에 기초하여 결정되는 방법.
  12. 전자 장치에 있어서,
    데이터를 저장할 수 있는 내부 저장소(internal storage)와,
    상기 데이터를 송신할 수 있는 통신부와,
    상기 내부 저장소 및 상기 통신부와 연결되는 프로세서를 포함하며,
    상기 프로세서는, 상기 내부 저장소에 저장된 미디어 데이터를 포함하는 제1 파일을 외부 저장소로 송신하는 과정과, 상기 미디어 데이터를 전부 다운로드하여 끊김없이 재생하기 위해 필요한시간을 결정하고, 상기 외부 저장소에 송신된 상기 제1 파일을 이용하여 상기 미디어 데이터를 전부 다운로드하여 연속적으로 재생하기 위해 요구되는 시간보다 긴 재생 시간을 갖도록 상기 제1 파일의 일부를 포함하고 나머지를 제외하도록 길이를 조절하여 제2 파일을 생성하고, 상기 제1 파일을 삭제하고 상기 제2 파일을 상기 내부 저장소에 저장하고, 상기 내부 저장소에 저장된 상기 제2 파일을 이용하여 상기 미디어 데이터를 재생하고, 상기 제2 파일을 재생하는 동안 상기 외부 저장소로부터 상기 제1 파일을 수신하고, 상기 외부 저장소로부터 수신되는 상기 제1 파일을 이용하여 상기 미디어 데이터를 재생하는 전자 장치.
  13. 청구항 12에 있어서,
    상기 제2 파일은, 상기 제1 파일의 재생 시간 상 상기 제2 파일의 상기 재생 시간에 대응하는 일부에 해당하는 데이터 또는 상기 제1 파일의 품질 보다 낮은 품질의 복사본을 포함하는 전자 장치.
  14. 청구항 13에 있어서,
    상기 프로세서는,
    상기 미디어 데이터에 대한 오프라인(offline) 모드가 필요한 경우, 상기 제1 파일의 품질 보다 낮은 품질의 복사본을 포함하는 상기 제2 파일을 생성하고,
    상기 미디어 데이터에 대한 상기 오프라인 모드가 필요하지 아니한 경우, 상기 제1 파일의 재생 시간 상 상기 제2 파일의 상기 재생 시간에 대응하는 일부에 해당하는 데이터를 포함하는 상기 제2 파일을 생성하는 전자 장치.
  15. 청구항 12에 있어서,
    상기 프로세서는, 상기 미디어 데이터에 대한 오프라인(offline) 모드가 필요하고, 상기 내부 저장소의 가용 용량이 임계치 이상인 경우, 상기 제1 파일의 원본을 유지하는 전자 장치.
  16. 청구항 12에 있어서,
    상기 통신부는, 통신 상태, 배터리 상태, 메모리 상태, 사용자 데이터 중 적어도 하나에 기초하여 정의된 이벤트 발생 시, 상기 제1 파일을 업로드하기 위해 송신하는 전자 장치.

  17. 삭제
  18. 청구항 12에 있어서,
    상기 프로세서는,
    상기 외부 저장소로부터 제3 파일을 수신하고, 상기 제3 파일을 재생한 후, 상기 제3 파일의 일부를 저장하고, 상기 제3 파일의 나머지를 삭제하도록 제어하는 전자 장치.
  19. 청구항 18에 있어서,
    상기 프로세서는,
    상기 내부 저장소의 가용 용량이 임계치 미만이면, 상기 제3 파일의 품질 보다 낮은 품질 복사본을 상기 제3 파일의 상기 일부로서 저장하고,
    상기 내부 저장소의 가용 용량이 임계치 이상이면, 상기 제3 파일의 재생 시간 상 상기 제2 파일의 상기 재생 시간에 대응하는 일부에 해당하는 데이터를 상기 일부로서 저장하는 전자 장치.
  20. 청구항 18에 있어서,
    상기 프로세서는, 상기 제3 파일을 수신하기 위해, 상기 제3 파일에 대한 메타 데이터(metadata)를 수신하고, 상기 외부 저장소와의 연결을 설정하고, 상기 제3 파일을 선택하고, 상기 제3 파일에 대한 스트리밍 요청을 상기 외부 저장소로 송신하도록 제어하는 전자 장치.
  21. 청구항 12에 있어서,
    상기 통신부는, 상기 제1 파일의 재생 중, 재생 목록 상 상기 제1 파일의 다음 순서인 제3 파일의 일부를 수신하는 전자 장치.
  22. 청구항 12에 있어서,
    상기 프로세서는, 상기 제1 파일에 대한 가중치 인자를 결정하고, 상기 가중치 인자에 기초하여 상기 제1 파일의 일부를 이용하여 상기 제2 파일을 생성하여 저장할지 여부를 판단하며,
    상기 제1 파일의 재생의 빈도, 상기 제1 파일의 업로드 시점, 상기 제1 파일의 재생 시점 중 적어도 하나에 기초하여 결정되는 전자 장치.
KR1020150184833A 2015-12-23 2015-12-23 파일 관리 방법 및 그 전자 장치 KR102222375B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150184833A KR102222375B1 (ko) 2015-12-23 2015-12-23 파일 관리 방법 및 그 전자 장치
US15/150,974 US10560512B2 (en) 2015-12-23 2016-05-10 Method for file management and an electronic device thereof
PCT/KR2016/005005 WO2017111218A1 (en) 2015-12-23 2016-05-12 Method for file management and an electronic device thereof
EP16879086.3A EP3342139A4 (en) 2015-12-23 2016-05-12 Method for file management and an electronic device thereof
CN201610577184.7A CN106909315A (zh) 2015-12-23 2016-07-20 文件管理方法及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150184833A KR102222375B1 (ko) 2015-12-23 2015-12-23 파일 관리 방법 및 그 전자 장치

Publications (2)

Publication Number Publication Date
KR20170075322A KR20170075322A (ko) 2017-07-03
KR102222375B1 true KR102222375B1 (ko) 2021-03-03

Family

ID=59087340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150184833A KR102222375B1 (ko) 2015-12-23 2015-12-23 파일 관리 방법 및 그 전자 장치

Country Status (5)

Country Link
US (1) US10560512B2 (ko)
EP (1) EP3342139A4 (ko)
KR (1) KR102222375B1 (ko)
CN (1) CN106909315A (ko)
WO (1) WO2017111218A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747584B2 (en) * 2013-01-18 2017-08-29 Gordon Anthony Ebanks Method and system for generating visually enhanced calendar from pre-existing calendar on electronic device
KR102222375B1 (ko) * 2015-12-23 2021-03-03 삼성전자주식회사 파일 관리 방법 및 그 전자 장치
CN107256133B (zh) * 2017-06-30 2020-05-26 联想(北京)有限公司 电子设备的存储设备管理方法和电子设备
CN113741814A (zh) * 2021-08-24 2021-12-03 深圳Tcl新技术有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220220A1 (en) * 2006-03-16 2007-09-20 Sandisk Il Ltd. Data storage management method and device
US20130085586A1 (en) * 2011-10-01 2013-04-04 Google Inc. Audio File Processing to Reduce Latencies in Play Start Times for Cloud Served Audio Files

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108363A (ja) 2000-09-29 2002-04-10 Casio Comput Co Ltd ダウンロードシステム、携帯型情報処理装置、及び、記録媒体
US7665110B2 (en) * 2002-05-14 2010-02-16 Lg Electronics Inc. System and method for synchronous reproduction of local and remote content in a communication network
US7797064B2 (en) 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
JP2005328440A (ja) 2004-05-17 2005-11-24 Matsushita Electric Ind Co Ltd マルチメディアコンテンツ分割端末と管理サーバとシステム
US7975062B2 (en) * 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US8108579B2 (en) 2005-03-31 2012-01-31 Qualcomm Incorporated Mechanism and method for managing data storage
US20110221965A1 (en) * 2008-10-07 2011-09-15 April Slayden Mitchell Degrading a video
US8121110B2 (en) 2008-11-13 2012-02-21 Symbol Technologies, Inc. Method and apparatus for locationing an object in a communication network
US20130254314A1 (en) 2009-06-09 2013-09-26 Edmond K. Chow Digital content delivery
US20110118858A1 (en) * 2009-11-13 2011-05-19 Apple Inc. Local storage of a portion of streamed media items
US20110296305A1 (en) 2010-06-01 2011-12-01 Sony Corporation Methods and apparatus for media management
US9201895B2 (en) * 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US9172990B2 (en) * 2011-06-24 2015-10-27 Google Technology Holdings LLC Method and device for optimizing storage of recorded video programs
US20130036135A1 (en) 2011-08-04 2013-02-07 Michael Brockey Cloud data storage
US9594686B2 (en) * 2012-05-05 2017-03-14 Google Inc. File handling within a cloud-based file system
CN103064637A (zh) * 2012-12-24 2013-04-24 珠海金山办公软件有限公司 一种网盘的缓存同步方法及系统
US9661048B2 (en) * 2013-01-18 2017-05-23 Numecent Holding, Inc. Asset streaming and delivery
EP4096228A1 (en) * 2014-05-06 2022-11-30 TiVo Solutions Inc. Cloud-based media content management
US10104137B2 (en) * 2015-12-09 2018-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Recording of ABR content
KR102222375B1 (ko) * 2015-12-23 2021-03-03 삼성전자주식회사 파일 관리 방법 및 그 전자 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220220A1 (en) * 2006-03-16 2007-09-20 Sandisk Il Ltd. Data storage management method and device
US20130085586A1 (en) * 2011-10-01 2013-04-04 Google Inc. Audio File Processing to Reduce Latencies in Play Start Times for Cloud Served Audio Files

Also Published As

Publication number Publication date
KR20170075322A (ko) 2017-07-03
US10560512B2 (en) 2020-02-11
EP3342139A1 (en) 2018-07-04
EP3342139A4 (en) 2018-08-29
WO2017111218A1 (en) 2017-06-29
US20170187784A1 (en) 2017-06-29
CN106909315A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
JP6648223B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP6346899B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP5009911B2 (ja) メディアファイルによる携帯通信装置の更新
JP5876480B2 (ja) マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置
US9712891B2 (en) Method and apparatus for selecting an access method for delivery of media
KR102222375B1 (ko) 파일 관리 방법 및 그 전자 장치
CN102006368B (zh) 基于移动终端记忆卡缓存技术的流媒体音频文件播放方法
US9356985B2 (en) Streaming video to cellular phones
US20170111422A1 (en) Dynamic bit rate encoding
JP2013038766A (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
KR20130051483A (ko) 미디어 컨텐츠의 선택적 수신
US9313084B2 (en) Systems and methods for client-side media chunking
CN101646076A (zh) 一种无线网络视频传送方法
CN112839238B (zh) 投屏播放方法、装置和存储介质
JP2014187510A (ja) ストリーミング配信システム、ストリーミング配信方法、ストリーミング配信プログラムおよびストリーミング配信サーバ
JP5095455B2 (ja) コンテンツ再生装置、コンテンツ再生方法、プログラム、および記録媒体
US10021158B2 (en) Converting data stream in user equipment
KR20090059263A (ko) 휴대 단말기의 분산 스트리밍 서비스 제공 방법 및 시스템
US20140237019A1 (en) Server-side transcoding of media files
JP7282981B2 (ja) ローカルストリーミングサーバを利用したストリーミングコンテンツの再生方法およびシステム
WO2012071811A1 (zh) 一种移动终端及多媒体远程交互的方法及系统
JP2012222530A (ja) 受信装置及び方法、並びにプログラム
JP2021082882A (ja) 情報処理プログラム、情報処理方法および情報処理装置
KR102292416B1 (ko) 음원 스트리밍 서비스 제공 시스템 및 방법
JP6555030B2 (ja) 情報機器

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant