KR20150113106A - 다수의 컴퓨팅 디바이스들에 걸친 정보에 대한 액세스의 제공 - Google Patents

다수의 컴퓨팅 디바이스들에 걸친 정보에 대한 액세스의 제공 Download PDF

Info

Publication number
KR20150113106A
KR20150113106A KR1020157023363A KR20157023363A KR20150113106A KR 20150113106 A KR20150113106 A KR 20150113106A KR 1020157023363 A KR1020157023363 A KR 1020157023363A KR 20157023363 A KR20157023363 A KR 20157023363A KR 20150113106 A KR20150113106 A KR 20150113106A
Authority
KR
South Korea
Prior art keywords
user
files
application
computing device
platform
Prior art date
Application number
KR1020157023363A
Other languages
English (en)
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 KR20150113106A publication Critical patent/KR20150113106A/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/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F17/30038
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

하나 이상의 서버들을 갖는 시스템이 제공된다. 하나 이상의 서버들은 복수의 네트워크 자원들에서의 각각의 네트워크 자원으로부터의 복수의 데이터 아이템들에 액세스하기 위한 복수의 에이전트들을 구현한다. 네트워크 자원들의 각각은 네트워크 서비스에 대응한다. 하나 이상의 서버들은 복수의 네트워크 자원들의 각각으로부터의 데이터 아이템들을 통합시키고, 통합된 데이터 아이템들의 세트에 대해 동작하는 기능성을 인에이블한다. 하나 이상의 서버들은 컴퓨팅 디바이스에 대한 플랫폼에 각각 대응하는 복수의 플랫폼 인터페이스들을 구현하고, 플랫폼 인터페이스들의 각각을 통해, 통합된 데이터 아이템들의 세트에 기초하는 출력을 제공한다.

Description

다수의 컴퓨팅 디바이스들에 걸친 정보에 대한 액세스의 제공{PROVIDING ACCESS TO INFORMATION ACROSS MULTIPLE COMPUTING DEVICES}
사용자들은 상이한 운영 체제 또는 플랫폼들을 작동시키는 다수의 컴퓨팅 디바이스들을 소유하고 동작시킬 수도 있다. 그에 따라, 상이한 플랫폼들을 작동시키는 다수의 디바이스들 사이의 데이터 접근성이 어려울 수 있다.
도 1 은 다수의 컴퓨팅 디바이스들에 걸쳐 데이터를 공유하기 위한 일 예시적인 시스템을 도시한다.
도 2 는 데이터를 공유하기 위한 시스템의 일부로서 모바일 컴퓨팅 디바이스를 동작시키는 일 예시적인 방법을 도시한다.
도 3 은 다수의 컴퓨팅 디바이스들에 걸쳐 데이터를 공유하는 일 예시적인 방법을 도시한다.
도 4 는 본원에 설명된 예들이 구현될 수도 있는 서버를 도시하는 블록도이다.
도 5 는 본원에 설명된 예들이 구현될 수도 있는 컴퓨팅 디바이스를 도시하는 블록도이다.
본원에 설명된 예들은 네트워크 인에이블드 (network-enabled) 텔레비젼, 모바일 컴퓨팅 디바이스, 및 개인용 컴퓨터 (personal computer; PC) 와 같이 상이한 플랫폼들을 동작시키는 사용자의 다수의 컴퓨팅 디바이스들에 걸쳐 정보가 공유되는 것을 인에이블하는 클라우드 시스템을 제공한다. 클라우드 시스템은 또한 사용자가 가입하거나 (subscribe) 계정을 가지고 있는 네트워크 서비스들 사이에서 정보가 공유되는 것을 인에이블 한다. 일부 예들에서, 클라우드 시스템은 네트워크 인에이블드 텔레비젼을 위한 운영 체제, 모바일 컴퓨팅 디바이스들 상에서 작동하는 컨테이너들 내의 웹 애플리케이션들, 및 PC 에 대한 브라우저를 포함하며, 그의 각각은 클라우스 서비스와 통신할 수 있다.
예를 들어, 네트워크 인에이블드 텔레비젼 (예를 들어, 스마트 TV) 를 위한 운영 체제는 사용자에게 사용자의 스마트 TV 로부터 클라우드 서비스에 대한 액세스를 제공하여 사용자가 스마트 TV 로 직접적으로 정보에 액세스할 수 있다 (예를 들어, 문서 보기, mp3 파일 듣기). 애플리케이션을 수신하는 소프트웨어 컨테이너들은 개발자들이 임의의 모바일 운영 체제 또는 플랫폼을 위한 애플리케이션들을 생성하는 것을 인에이블 하고, 사용자가 애플리케이션을 이용하여 클라우드 서비스에 액세스하는 것을 인에이블 한다. 브라우저는 사용자에게 사용자의 PC 상에 제어 종단점를 제공하고 또한 클라우드 서비스에 대한 액세스를 제공한다. 클라우드 서비스는 사용자의 컴퓨팅 디바이스들 중 임의의 컴퓨팅 디바이스로부터, 사용자의 컴퓨팅 디바이스들에 걸쳐 저장된 사용자의 파일들, 뿐만 아니라 하나의 네트워크 서비스들에 저장된 사용자의 파일들에 사용자가 액세스하는 것을 인에이블 한다.
일 구현예에서, 클라우드 시스템은 복수의 네트워크 자원들로부터 복수의 데이터 아이템들에 액세스하도록 복수의 에이전트들을 구현할 수 있는 하나 이상의 서버들을 포함한다. 복수의 네트워크 자원들의 각각은 네트워크 서비스에 대응할 수 있다. 복수의 네트워크 자원들의 각각으로부터의 데이터 아이템들은 통합될 수 있고, 통합된 데이터 아이템들의 세트에 대해 동작하는 기능성이 인에이블될 수 있다. 일부 예들에서, 구현되는 기능성은 복수의 네트워크 서비스들과는 별개일 수 있다. 하나 이상의 서버들은 또한 복수의 플랫폼 인터페이스들을 구현할 수 있으며, 여기서 각각의 플랫폼 인터페이스는 컴퓨팅 디바이스에 대한 플랫폼에 대응할 수 있다. 복수의 플랫폼 인터페이스들은 통합된 데이터 아이템들의 세트에 기초하는 출력을 제공하는데 이용될 수 있다.
일 예에 따르면, 복수의 플랫폼 인터페이스들은 사용자의 다수의 컴퓨팅 디바이스들로부터 로컬로 저장된 파일(들)을 수신하고/하거나 통합시키도록 동작할 수도 있다. 하나 이상의 서버들은, 소정의 사용자에 대해, 네트워크 자원들로부터의 하나 이상의 로컬로 저장된 파일들 및 통합된 데이터 아이템들의 세트가 사용자의 모바일 컴퓨팅 디바이스 상에서 작동하는 애플리케이션, 사용자와 연관된 텔레비젼, 사용자에 의해 동작되는 브라우저 각각에 대해 이용가능하게 하는 인에이블할 수 있다. 일부 예들에서, 복수의 플랫폼 인터페이스들은 로컬로 저장된 파일(들)을 수신하고, 하나 이상의 서버가 각각의 컴퓨팅 디바이스들 상에서 사용자가 애플리케이션, 텔레비젼, 또는 브라우저를 작동시키는 것에 응답하여 로컬로 저장된 파일들을 통합시키는 것을 인에이블할 수 있다.
일 예에서, 기능성은 사용자의 모바일 컴퓨팅 디바이스 상에서 작동하는 애플리케이션, 사용자와 연관된 텔레비젼 운영 체제, 또는 사용자에 의해 동작되는 브라우저 중 적어도 하나에 대해 인에이블될 수 있다. 통합된 데이터 아이템들과 통합된 로컬로 저장된 파일들의 세트가 (i) 사용자의 모바일 컴퓨팅 디바이스 상에서 작동하는 애플리케이션, (ii) 사용자와 연관된 텔레비젼 운영 체제, 및 (iii) 사용자에 의해 동작되는 브라우저의 각각에 대해 이용가능하게될 수 있어, 사용자가 제 2 네트워크 서비스로부터 파일을 요청하여 수신하기 위해 애플리케이션, 텔레비젼, 또는 브라우저 중 하나를 이용하여 제 1 네트워크 서비스에 액세스할 수 있다.
또 나아가, 모바일 컴퓨팅 디바이스는 모바일 컴퓨팅 디바이스의 사용자가 사용자의 다른 디바이스(들)를 걸쳐 정보에 액세스하기 위해 하나 이상의 애플리케이션들을 동작시키는 것을 인에이블하기 위한 클라우스 시스템의 일부일 수 있다. 모바일 컴퓨팅 디바이스는 명령들의 세트를 저장하는 메모리 자원 및 표준화된 언어로 애플리케이션을 수신하기 위한 소프트웨어 컨테이너를 제공하도록 명령들의 세트를 이용하는 하나 이상의 프로세서들을 포함할 수 있다. 애플리케이션은 소프트웨어 컨테이너의 이용을 통해, 모바일 컴퓨팅 디바이스의 플랫폼 (또는 운영 체제) 에 대한 특정 언어에서 동작될 수 있다. 애플리케이션은 소프트웨어 컨테이너를 이용하여 하나 이상의 네트워크 서비스들에 액세스하도록 동작될 수 있다. 일 예에서, 애플리케이션은, 소프트웨어 컨테이너의 이용을 통해, 통합된 데이터 아이템들 및 통합된 로컬로 저장된 파일들의 세트 중 하나 이상에 대해 동작할 수 있다.
본원에 설명된 예들은 컴퓨팅 디바이스에 의해 수행되는 방법들, 기법들, 및 액션들이 프로그램적으로 또는 컴퓨터 구현된 방법으로서 수행되는 것을 제공한다. '프로그램적으로는' 본원에서 이용된 바와 같이, 코드 또는 컴퓨터 실행가능 명령들의 이용을 통해' 를 의미한다. 이러한 명령들은 컴퓨팅 디바이스 또는 무선 액세스 포인트의 하나 이상의 메모리 자원들에 저장될 수 있다. 프로그램적으로 수행되는 단계는 자동일 수도 자동이 아닐 수도 있다.
본원에 설명된 하나 이상의 예들은 프로그램적 모듈들 또는 컴포넌트들을 이용하여 구현될 수 있다. 프로그램적 모듈 또는 컴포넌트는 하나 이상의 언급된 태스크들 또는 기능들을 수행할 수 있는 프로그램, 서브 루틴, 프로그램의 일부, 또는 소프트웨어 컴포넌트나 하드웨어 컴포넌트를 포함할 수 있다. 본원에서 이용되는 바와 같이, 모듈 또는 컴포넌트는 다른 모듈들 또는 컴포넌트들과 독립적으로 하드웨어 컴포넌트 상에 존재할 수 있다. 대안으로, 모듈 또는 컴포넌트는 다른 모듈들, 프로그램들, 또는 머신들의 공유 엘리먼트 또는 프로세스일 수 있다.
본원에서 설명된 일부 예들은 프로세싱 및 메모리 자원들을 포함하여 일반적으로 컴퓨팅 디바이스들의 이용을 요구할 수 있다. 예를 들어, 본원에 설명된 하나 이상의 예들은 모바일 컴퓨팅 디바이스들, 액세스 포인트들, 데스크탑 컴퓨터들, 셀룰러 혹은 스마트 폰들, 랩탑 컴퓨터들, 서버들, 또는 라우터들과 같은 컴퓨팅 디바이스들 상에 전체적으로 또는 부분적으로 구현될 수도 있다. 메모리, 프로세싱, 및 네트워크 지원들은 모두 (임의의 방법의 수행 또는 임의의 시스템의 구현을 포함하여) 본원에 설명된 임의의 예의 확립, 이용, 또는 수행과 연계하여 이용될 수도 있다.
또한, 본원에 설명된 하나 이상의 예들은 하나 이상의 프로세서들에 의해 실행가능한 명령들의 이용을 통해 구현될 수도 있다. 이러한 명령들은 컴퓨터 판독가능 매체 상으로 이송될 수도 있다. 하기에서 도면들과 함께 도시되거나 설명된 머신들은 본원에 설명된 예들을 구현하기 위한 명령들이 이송되고/되거나 실행될 수 있는 프로세싱 자원들 및 컴퓨터 판독가능 매체들의 예들을 제공한다. 특히, 본원에서 예들과 함께 도시된 다양한 머신들 또는 디바이스들은 데이터 및 명령들을 처리하기 위한 프로세서(들) 및 다양한 형태의 메모리를 포함한다. 컴퓨터 판독가능 매체들의 예들은 개인용 컴퓨터들 또는 서버들 상의 하드 드라이브들과 같은 영구 메모리 저장 디바이스들을 포함한다. 컴퓨터 저장 매체들의 다른 예들은 CD 혹은 DVD 유닛들과 같은 휴대용 저장 유닛들, (스마트 폰들, 다중기능 디바이스들, 또는 태블릿들에서 휴대되는 것과 같은) 플래시 메모리, 및 자기 메모리를 포함한다. 컴퓨터들, 단말기들, 네트워크 인에이블드 디바이스들 (예를 들어, 모바일 디바이스들, PC 들, 텔레비젼들) 은 모두 프로세서들, 메모리, 및 컴퓨터 판독가능 매체들에 저장된 명령들을 사용하는 머신들 및 디바이스들의 예들이다. 또한, 일부 예들은 컴퓨터 프로그램들, 또는 그러한 프로그램을 이송할 수 있는 컴퓨터 이용가능 이송 매체의 형태로 구현될 수도 있다.
시스템 설명
도 1 은 다수의 컴퓨팅 디바이스들에 걸쳐 데이터를 공유하는 일 예시적인 시스템을 도시한다. 도 1 에 설명된 시스템 (100) 과 같은 데이터 공유 서비스 또는 클라우드 서비스는 다양한 컴퓨팅 환경들에서 구현될 수 있다. 시스템 (100) (및 시스템의 컴포넌트들 중 하나 이상의 컴포넌트) 은 하나 이상의 컴퓨팅 디바이스들의 메모리 및 프로세싱 자원들을 이용하여 구현될 수 있다. 예를 들어, 시스템 (100) 은 서버들 또는 다른 네트워크 인에이블드 컴퓨팅 디바이스들의 결합을 통해 구현될 수 있다. 다른 변형예들에서, 시스템 (100) 은 독립형 시스템들을 포함하여 다른 컴퓨팅 플래폼들 상에 구현될 수 있다. 대안으로 또는 이에 더해, 시스템 (100) 의 컴포넌트들의 일부 또는 모두가 예컨대 사용자 단말기들 상에서 동작하는 애플리케이션들을 통해 클라이언트 디바이스들 상에 구현될 수 있다. 이에 따라, 시스템 (100) 은 상이한 운영 체제들 또는 플랫폼들 상에서 동작하는 또는 작동하는 사용자의 다수의 컴퓨팅 디바이스들에 걸쳐 정보가 공유되는 것을 인에이블하는 클라우드 서비스로서 구현될 수 있다.
시스템 (100) 은, 하나 이상의 네트워크들을 거쳐 그리고 하나 이상의 네트워크 인터페이스들을 통해 (예를 들어, 무선으로 또는 유선을 이용하여), 하나 이상의 사용자 디바이스들 (170) 및 하나 이상의 네트워크 자원들 (180) 과 통신할 수 있다. 예들에서, 하나 이상의 네트워크 자원 (180) 의 각각은 네트워크 서비스 (예를 들어, 네트워크 서비스 (182, 184, 186)) 에 대응할 수 있다. 네트워크는 인터넷, 무선 근거리 통신망 (wireless local area network; WLAN) 들, 셀룰러 네트워크들, 또는 디바이스들 사이의 통신을 인에이블하는 다른 네트워크들을 포함할 수도 있다. 사용자 디바이스들 (170) 의 각각은 또한 하나 이상의 네트워크들을 거쳐 (예를 들어, 애플리케이션들 및/또는 브라우저들의 이용을 통해) 네트워크 서비스들 또는 네트워크 자원들 (180) 과 통신할 수 있다.
일부 예들에서, 사용자 디바이스들 (170) 은 네트워크 인에이블드 텔레비젼들 (예를 들어, 스마트 TV 들), 스마트 폰들과 개인용 휴대정보 단말기 (personal digital assistant; PDA) 들과 태블릿 디바이스들과 같은 모바일 컴퓨팅 디바이스들, 및 데스크탑 컴퓨터들, 랩탑 노트북들, 울트라북들 등과 같은 PC 들을 포함할 수 있다. 사용자 디바이스들 (170) 의 각각은 텔리비전 운영 체제 (TV OS) (172), 크로스 플랫폼 애플리케이션 (174), 또는 브라우저 (176) 중 적어도 하나를 동작시킬 수 있다. 각각, TV OS (172) 가 사용자의 스마트 TV 상에서 동작하고 작동할 수 있으며, 크로스 플랫폼 애플리케이션 (174) 이 사용자의 모바일 컴퓨팅 디바이스 상에서 작동할 수 있고, 브라우저가 사용자의 PC 상에서 작동할 수 있다. 크로스 플랫폼 애플리케이션 (174) 은 또한 소프트웨어 컨테이너 내에서 작동할 수 있으며, 소프트웨어 컨테이너는 애플리케이션 (174) 이 클라우드 서비스에 액세스하는 것을 인에이블한다.
일 구현예에서, TV OS (172), 모바일 컴퓨팅 디바이스의 운영 체제 또는 플랫폼 상에서 작동하는 크로스 플랫폼 애플리케이션 (174), 및 브라우저 (176) 의 각각은 시스템 (100) 과 통신하기 위해 복수의 플랫폼 인터페이스들 (150) 의 각각의 플랫폼 인터페이스 (또는 플랫폼 인터페이스들의 세트들) 와 통신할 수 있다. 예를 들어, 일 플랫폼 인터페이스 (150) 는 다수의 스마트 TV 들이 (그것들이 동일한 TV OS (172) 를 동작시킨다면) 단일 플랫폼 인터페이스 (150) 를 거쳐 통산할 수 있도록 특정 TV OS (172) 에 대응할 수 있고, 한편 다른 플랫폼 인터페이스 (150) 는 상이한 TV OS (172) 에 대응할 수 있다. 유사하게, 플랫폼 인터페이스들 (150) 의 세트가 모바일 플랫폼들의 세트에 대응할 수 있어, 제 1 운영 체제 (예를 들어, Apple iOS) 를 이용하는 모바일 컴퓨팅 디바이스가 세트의 제 1 플랫폼 인터페이스 (150) 를 거쳐 통신할 수 있고 제 2 운영 체제 (예를 들어, Windows Mobile) 을 이용하는 모바일 디바이스가 세트의 제 2 플랫폼 인터페이스 (150) 를 거쳐 통신할 수 있다. 플랫폼 인터페이스들 (150) 은 TV OS (172), 컨테이너 (174) 내의 크로스 플랫폼 애플리케이션, 및 브라우저 (176) 를 동작시키는 사용자 디바이스들 (170) 이 클라우드 서비스와 통신하는 것을 인에이블한다.
일부 예들에 따르면, 플랫폼 인터페이스들 (150) 은 (i) 사용자 디바이스들 (170) 이 (예를 들어, 정보 또는 파일들에 대한 요청과 같은) 시스템 (100) 에 요청들을 하는 것을 인에이블하며, (ii) 시스템 (100) 이 사용자 디바이스들 (170) 에 질의하거나 요청들을 하는 것을 인에이블하며, (iii) 시스템 (100) 이 사용자 디바이스들 (170) 로부터 로컬로 저장된 데이터를 수신하는 것을 인에이블하며, (iv) 시스템 (100) 이 클라우드 서비스에 관한 정보 및/또는 사용자에 대한 종합된 (aggregate) 정보 및 데이터를 하나 이상의 사용자 디바이스들 (170) 에 제공하는 것을 인에이블하며, (v) 사용자 디바이스들 (170) 이 사용자 정보, 설정들, 선호들을 시스템 (100) 에 제공하는 것을 인에이블하고, (vi) 사용자 디바이스들과 시스템 (100) 사이의 다른 통신들을 인에이블할 수 있다.
시스템들 (100) 은 또한 하나 이상의 네트워크들을 거쳐 네트워크 자원들 (180) 과 통신할 수 있다. 네트워크 자원들 (180) 은 네트워크 서비스들에 가입하고 네트워크 서비스들에 계정을 갖는 사용자들에게 다양한 서비스들 및/또는 기능성을 제공하는 복수의 네트워크 서비스들을 포함하거나 그에 대응할 수 있다. 네트워크 서비스들 (182, 184, 186) 은 정보, 파일들, 데이터 아이템들 등이 있는 자원들 (예를 들어, 데이터 저장부들 또는 메모리 자원들) 을 포함할 수 있으며, 이는 각각의 네트워크 서비스들에 저장되거나 각각의 네트워크 서비스들과 연관될 수 있다. 네트워크 서비스들 (182, 184, 186) 의 예들은 이메일 서비스, 메시징 서비스, 소셜 네트워크 서비스, 데이터 저장 서비스, 게이밍 서비스, 블로그나 포스팅 서비스, 이미지 서비스, 미디어 서비스 등을 포함할 수 있다. 사용자들은 사용자 디바이스들 (170) 중 하나 이상을 이용하여 (예를 들어, 애플리케이션들 및/또는 브라우저들의 이용을 통해 그리고 하나 이상의 네트워크들을 거쳐) 네트워크 서비스들에 액세스하기 위해 다양한 네트워크 서비스들 (182, 184, 186) 에 등록하고/하거나 계정을 생성할 수 있다. 일부 예들에서, 네트워크 서비스들 (182, 184, 186) 은 등록된 사용자를 대신해 파일들 또는 데이터 아이템들 (예를 들어, 문서 파일들, 음악 파일들) 을 저장하고, 사용자가 그의 또는 그녀의 사용자 디바이스들 (170) 로부터 저장된 파일들에 액세스하는 것을 인에이블할 수 있다. 본원에서 지칭되는 바와 같이, "데이터 아이템" 은 사용자 디바이스들, 네트워크 서비스들, 및/또는 시스템 (100) 의 각각의 사이에서 통신될 수 있는 파일, 파일에 관한 정보, 기록, 파일들의 그룹 등에 대응할 수 있다.
시스템 (100) 은 네트워크 서비스들 (182, 184, 186) 과 통신하기 위해 복수의 에이전트들 (160) 을 구현할 수 있다. 복수의 에이전트들 (160) 을 이용하여, 시스템 (100) 은 대응하는 네트워크 서비스들 (182, 184, 186) 에 대해 저장된 (예를 들어, 사용자의 파일들에 관한 정보 (181) 를 포함하여) 사용자의 데이터 아이템들을 모니터링하고 수집할 수 있다. 일부 예들에서, 네트워크 서비스들 (182, 184, 186) 의 각각은 네트워크를 거쳐 시스템 (100) 과 정보를 교환하기 위해 대응하는 에이전트 (160) 와 통신할 수 있다. 변형예들에 따라, 단일 네트워크 서비스 (182) 와 인터페이싱하고 통신하는데 하나 이상의 에이전트들 (160) 이 이용될 수 있거나, 다수의 네트워크 서비스들 (182, 184) 과 통신하는데 단일 에이전트 (160) 가 이용될 수 있다. 복수의 에이전트들 (160) 이 각각의 네트워크 자원으로부터의 데이터 아이템들에 액세스하고, 다양한 네트워크 서비스들 (182, 184, 186) 에 저장된 데이터 아이템들 또는 파일들에 관한 정보 (181) 를 수신하기 위해 계정 서비스들 (105) 과 동작한다.
일 구현예에서, 시스템 (100) 은 계정 서비스들 (105), 컨텐츠 통합부 (110), 컨텐츠 데이터베이스(들) (120), 프로파일 데이터베이스 (125), 발행 (publishing) 로직 (130), 및 구성 로직 (140) 을 포함한다. 컨텐츠 통합부 (110) 는 개개의 사용자들에 대한, (i) 특정 사용자의 디바이스들 (170) 상에 저장된 로컬 파일들, 및 (ii) 하나 이상의 네트워크 서비스들 (182, 184, 186) 로부터의 데이터 아이템들을 통합하기 위해 프로파일 데이터베이스 (125) 와 통신할 수 있다. 네트워크 서비스들 (182, 184, 186) 로부터의 데이터 아이템들은 사용자에 의해 업로드되고/되거나 네트워크 서비스들 (182, 184, 186) 에 저장된 (그리고 시스템 (100) 에 의해 수신된) 실제 파일들, 또는 네트워크 서비스들 (182, 184, 186) 에 저장된 사용자의 파일들에 관한 (예를 들어, 네트워크 서비스들에 저장되었으나 시스템 (100) 에 의해 수신되지 않은 파일들에 대한) 정보에 대응할 수 있다. 프로파일 데이터베이스 (125) 는 사용자의 프로파일 (126) 을 갖는 각각의 개개 사용자에 대한 통합된 로컬 파일들 및 데이터 아이템들을 기록해 둘 수 있다.
사용자가 (예를 들어, TV OS (172), 컨테이너 내의 크로스 플랫폼 애플리케이션 (174), 또는 브라우저 (176) 중 하나를 이용하여) 사용자의 디바이스들 (170) 중 하나 이상을 등록하는 것을 포함하여, 클라우드 서비스에 등록하는 경우, 사용자 프로파일 (126) 이 사용자에 대해 생성되고 프로파일 데이터베이스 (125) 에 저장될 수 있다. 구현예에 따라, 프로파일 데이터베이스 (125) 는 컨텐츠 데이터베이스 (120) 의 일부이거나 컨텐츠 데이터베이스에 포함될 수 있다. 사용자 프로파일 (126) 은, 예를 들어, 사용자 식별자 (user identifier; ID), 사용자 데이터 (예를 들어, 사용자의 신상 데이터, 지리적 데이터), 사용자 선호사항들 및 설정들 정보, 사용자의 컴퓨팅 디바이스들 (170), 및 사용자의 컴퓨팅 디바이스들의 각각의 플랫폼들에 관한 정보 (예를 들어, 유형들, 운영 체제들, 버전 정보), 네트워크 서비스들 (182, 184, 186) 에 대한 사용자의 계정들 (예를 들어, 사용자가 클라우스 서비스와 공유하거나 클라우드 서비스에 등록한 계정들) 에 관한 정보, 및/또는 사용자의 컴퓨팅 디바이스들 (170) 로부터 수신되거나 취출된 컨텐츠 데이터베이스 (120) 에 저장된 로컬 파일들 (또는 로컬 파일들에 대한 포인터들) 을 포함할 수 있다.
계정 서비스들 (105) 은 (사용자가 클라우드 서비스에 등록한) 하나 이상의 네트워크 서비스들 (182, 184, 186) 의 각각에 대한 사용자의 계정 정보 (106) 를 유지하기 위해 에이전트들 (160) 과 통신할 수 있고, 계정 정보 (106) 를 프로파일 데이터베이스 (125) 에서의 사용자의 프로파일 (126) 과 연관시킬 수 있다. 예를 들어, 사용자의 프로파일 (126) 은 사용자의 계정 정보 (106), 예컨대, 특정 이메일 서비스, 데이터 저장 서비스, 및 소셜 네트워킹 서비스들에 대한 사용자의 로그인 식별자(들) 및/또는 비밀번호(들)를 포함할 수 있다. 계정 서비스들 (105) 은 (예를 들어, 주기적으로, 또는 스케줄에 기초하여) 사용자의 등록된 서비스들 (182, 184, 186) 에 저장된 데이터 파일들 및/또는 파일 정보 (106), 예컨대, 데이터 저장 서비스에 저장된 사용자의 문서들이나 소셜 네트워크 서비스에 저장된 사진들을 요청하고/하거나 수신하기 위해 에이전트들 (160) 과 통신할 수 있다.
컨텐츠 통합부 (110) 는 개개의 사용자들에 대한, 네트워크 자원들 (180) 에 저장된 데이터 아이템들 및/또는 사용자의 데이터 아이템들의 파일 정보 (181) 를 수신하고 통합할 수 있다. 예를 들어, 컨텐츠 통합부 (110) 는 에이전트들 (160) 및/또는 계정 서비스들 (105) 로부터 하나 이상의 데이터 아이템들 (예를 들어, 문서들, 이미지들, 미디어 등) 을 수신하고, 컨텐츠 데이터베이스 (120) 에 통합된 데이터 아이템들을 저장할 (예를 들어, 네트워크 서비스 (182) 에 저장된 파일의 복사본을 저장할) 수 있다. 또한, 컨텐츠 통합부 (110) 는 (i) 네트워크 서비스들 (182, 184, 186) 에서 파일들이 저장된 것에 관한 정보, (ii) 네트워크 서비스들 (182, 184, 186) 에 관한 정보, (iii) 파일들의 생성 또는 수정 날짜, 파일들이 네트워크 자원들 (180) 에 저장된 때, 파일들의 유형 등과 같은 파일들의 메타데이터, 및/또는 (iv) 파일들의 복사본들이 시스템 (100) 또는 사용자의 디바이스들 (170) 중 임의의 것에 저장되는지 여부를 포함할 수 있는 파일 정보 (181) 를 수신할 수 있다. 계정 서비스들 (105) 은 그 다음에 사용자의 프로파일들 (106) 을 파일 정보 (181) 로 유지하거나 업데이트할 수 있어 클라우드 시스템이 개개의 사용자들에 대한 데이터 아이템들 및 파일 정보의 업데이트된 기록 및 상태를 유지할 수 있다 (예를 들어, 클라우드 시스템은 어떤 데이터 아이템들이 통합되었는지, 데이터 아이템들이 컨텐츠 데이터베이스 (120) 에 또는 오직 네트워크 자원들 (180) 에만 저장되는지 여부 등을 결정할 수 있다).
컨텐츠 통합부 (110) 는 또한 사용자의 컴퓨팅 디바이스들 (170) 중 하나 이상의 컴퓨팅 디바이스로부터 (예를 들어, 사용자의 디바이스들 (170) 에 있어서 로컬인) 하나 이상의 로컬 파일들 (151) 을 수신할 수 있다. 스마트 TV 의 TV OS (172), 모바일 컴퓨팅 디바이스 상의 컨테이너 내의 크로스 플랫폼 애플리케이션 (174), 및 개인용 컴퓨터에 대한 브라우저 (176) 의 각각은 각각의 플랫폼 인터페이스들 (150) 을 이용하여 클라우드 서비스 (예를 들어, 시스템 (100)) 와 통신할 수 있다. TV OS (172) 는 사용자가 그의 또는 그녀의 텔레비젼으로부터 클라우드 서비스에 액세스할 수 있도록 시스템 (100) 과 통신하도록 설계된 운영 체제 (예를 들어, webOS) 일 수 있다. TV OS (172) 는 또한 사용자가 계정을 가졌거나 액세스하는 하나 이상의 네트워크 서비스들 (182, 184, 186) 에 대응하는 하나 이상의 애플리케이션들 (예를 들어, 예컨대, 소셜 네트워크에 대한 애플리케이션, 사진 뷰잉 애플리케이션, 스트리밍 영화들 또는 비디오들에 대한 가입자 미디어 서비스에 대한 애플리케이션 등) 을 작동시킬 수 있다.
유사하게, 일 예에서, 브라우저 (176) 는 사용자가 시스템 (100) 에 액세스하는 것을 허용하도록 프로그램적 확장들로 맞춤제작된 브라우저이다. 브라우저 (176) 는 사용자에게 그의 또는 그녀의 PC 로부터의 제어 종단점을 제공한다. 브라우저 (176) 는 또한 사용자가 네트워크 서비스에 대한 그의 또는 그녀의 계정을 클라우드 서비스 또는 시스템 (100) 에 추가하는 것을 인에이블하는 하나 이상의 피쳐들을 (예를 들어, 브라우저 사용자 인터페이스의 일부로서) 포함할 수 있다. 예를 들어, 사용자는 브라우저 (176) 를 이용하여 Flickr.com 과 같은 웹사이트를 방문하거나 로그인할 수 있다. 사용자는 Flickr.com 네트워크 서비스에 대한 사용자의 계정 정보가 시스템 (100) 에 등록될 수 있도록 브라우저 (176) 상에서 "추가하기" 피쳐를 선택할 수 있다. 구현예에 따라, 브라우저 (176) 는 컨텐츠 통합부 (110) 에 각각의 플랫폼 인터페이스 (150) 를 통해 필요한 정보를 제공할 수 있고, 컨텐츠 통합부 (110) 는 계정 서비스들 (105) 로 하여금 사용자의 파일들에 대한 파일 정보 (181) 또는 네트워크 서비스에 저장된 데이터 (예를 들어, 사용자의 Flickr.com 계정에 저장된 사진들) 를 취출하게 할 수 있다. 다른 구현예에서, 브라우저 (176) 는 네트워크 서비스에 필요한 정보를 제공할 수 있고, 네트워크 서비스는 (예를 들어, 네트워크 서비스가 시스템 (100) 에 의해 주기적으로 또는 설정된 스케줄에 기초하여 질의되는 경우) 계정 서비스들 (105) 에 파일 정보 (181) 를 제공할 수 있다.
브라우저 (176) 는 또한 사용자의 PC (170) 에 저장된 로컬 파일들 (151) 이 시스템 (100) 과 동기화되는 것을 인에이블한다. 일부 예들에 따르면, 브라우저 (176) 는 (예를 들어, 상태 정보, 파일들의 메타데이터 등에 기초하여) PC 에 저장된 로컬 파일들 (151) 이 시스템 (100) 과 동기화된 이전 시간을 결정하고, 컨텐츠 통합부 (110) 에 새로운 데이터 또는 파일들 (151) (또는 PC 상에서 변화되었거나 수정된 파일들 (151)) 을 제공한다. 일 구현예에서, 브라우저 (176) 는 파일들 (예를 들어, 이미지 파일들, 음악 파일들, 비디오 파일들 등) 에 대한 PC 의 파일 시스템을 모니터링하는 하나 이상의 애플리케이션 프로그래밍 인터페이스 (application programming interface; API) 들을 가지고, 브라우저 (176) 가 사용자에 의해 동작되는 경우 시스템 (100) 에 파일들을 업로드한다. 이러한 방식으로, 브라우저 (176) 는 시스템 (100) 이 PC 로부터의 사용자 파일들의 업데이트된 정보를 종합하여 유지하는 것을 인에이블하는 메커니즘을 제공한다.
사용자의 모바일 컴퓨팅 디바이스 상에서, 컨테이너 내의 크로스 플랫폼 애플리케이션 (174) 은 사용자에게 모바일 컴퓨팅 디바이스로부터 시스템 (100) 에 대한 액세스를 또한 제공할 수 있다. 예들에 따르면, 소프트웨어 컨테이너는 모바일 컴퓨팅 디바이스의 특정 운영 체제에 특정하지 않은 코드로 개발되거나 작성된 애플리케이션을 수신할 수 있다. 예를 들어, 애플리케이션의 개발자는 Javascript 또는 HTML 프레임워크들을 이용하여 애플리케이션을 프로그래밍하고, 애플리케이션이 모바일 디바이스의 플랫폼 상에서 작동하는 (예를 들어, iOS, Windows Mobile 운영 체제 등 상에서 작동하는) 것을 인에이블하는 소프트웨어 컨테이너를 이용할 수 있다. 이러한 방식으로, 개발자는 일 유형의 코드로 작성된 애플리케이션을 한 번 프로그래밍하고, 애플리케이션을 재작성하거나 재프로그래밍할 필요 없이 다수의 플랫폼들 또는 운영 체제들에 걸쳐 애플리케이션을 작동하게 할 수 있다.
소프트웨어 컨테이너는 (소프트웨어 컨테이너 내에 포함된) 애플리케이션이 하나 이상의 디바이스 하드웨어 및 시스템 (100) 에 액세스하는 것을 인에이블할 수 있다. 일부 예들에서, 소프트웨어 컨테이너는 (i) 애플리케이션이 모바일 컴퓨팅 디바이스의 하나 이상의 하드웨어 컴포넌트들 (예를 들어, 스피커들, 카메라, 터치 감응 스크린) 과 통신하는 (예를 들어, 전화하는) 것을 허용하는 변환기, (ii) 변환기에 대한 확장안(들), (iii) 애플리케이션이 클라우드 서비스에 액세스하는 것을 인에이블하고 애플리케이션에 데이터 (예를 들어, 컨테이너 내의 애플리케이션을 동작시키는 모바일 컴퓨팅 디바이스 상에 저장된 로컬 데이터) 를 저장하고 클라우드 서비스와 데이터를 동기화하는 기능성을 제공하는 클라우드 접속자, 및 (iv) 애플리케이션이 모바일 컴퓨팅 디바이스 상에서 동작하거나 작동하는 경우 가속된 사용자 인터페이스 피쳐들을 제공하기 위해 애플리케이션이 네이티브 (native) (또는 디바이스) 코드를 이용하는 것을 인에이블하는 네이티브 사용자 인터페이스 피쳐들을 포함할 수 있다.
예를 들어, 개발자에 의해 개발되는 애플리케이션은 이미지 프로세싱 애플리케이션에 대응할 수 있다. 이미지 프로세싱 애플리케이션은 사용자의 모바일 컴퓨팅 디바이스 상의 컨테이너 내에서 작동할 수 있어, 이미지 프로세싱 애플리케이션이 모바일 컴퓨팅 디바이스의 카메라 및 플래쉬에 액세스할 수 있다. 또한, 사용자가, 예를 들어, 네트워크 서비스 (예를 들어, Flickr.com 또는 Facebook.com) 에 대한 사용자의 계정에 저장되어 있으나 모바일 컴퓨팅 디바이스에 직접적으로 저장되지 않은 이미지를 선택할 수 있도록 컨테이너는 이미지 프로세싱 애플리케이션이 시스템 (100) 에 액세스하는 것을 인에이블할 수 있다. 소프트웨어 컨테이너는 또한 (소프트웨어 컨테이너가 포함하고 있는) 애플리케이션이 모바일 컴퓨팅 디바이스 상에서 작동하는 다른 애플리케이션들과 통신하는 것을 인에이블할 수 있다.
또한, 브라우저 (176) 와 유사하게, 애플리케이션이 컨테이너 내에서 또는 컨테이너를 통해 모바일 컴퓨팅 디바이스 상에서 작동하는 경우, 애플리케이션은 로컬 데이터가 시스템 (100) 과 공유되거나, 업데이트되거나, 동기화될 수 있도록 (예를 들어, 모바일 컴퓨팅 디바이스에 대해 로컬인) 로컬 데이터에 대한 변화들을 인덱싱하고 추적할 수 있다. 이에 더해 또는 대안으로, 시스템 (100) 과 공유되거나 동기화되는 로컬 데이터는 컨테이너 내에서 작동하는 애플리케이션에 의해 이용되는 파일 또는 데이터 유형에 대응할 수 있다 (예를 들어, 음악 애플리케이션이 컨테이너 내에서 작동되는 경우 시스템 (100) 과 음악 파일들을 공유하며, 사진 애플리케이션이 컨테이너 내에서 작동되는 경우 시스템 (100) 과 이미지 파일들을 공유한다).
일부 예들에서, 사용자가 TV OS (172), 컨테이너 내의 크로스 플랫폼 애플리케이션 (174), 및/또는 각각의 사용자 디바이스들 (170) 상의 브라우저 (176) 를 개시하거나 동작시키는 경우, 로컬 파일들 (151) 의 동기화가 사용자 디바이스들 (170) 과 시스템 (100) 사이에 일어날 수 있다. TV OS (172), 컨테이너들 내의 크로스 플랫폼 애플리케이션들 (174), 및 브라우저 (176) 의 각각은 각각의 사용자 디바이스들 (170) 상에서 추가되거나 수정되었으나 아직 시스템 (100) 에는 저장되지 않은 로컬 파일들 (151) 을 수신하기 위한 시스템 (100) 에 대한 습득 지점으로서 거동할 수 있다.
각각의 사용자 디바이스들 (스마트 TV(들), 모바일 컴퓨팅 디바이스(들), 및 PC(들)) 에 로컬로 저장된 데이터와 파일들 및 네트워크 서비스들로부터 수신된 데이터 아이템들은 컨텐츠 통합부 (110) 에 의해 수신되어 통합될 수 있다. 컨텐츠 통합부 (110) 는 로컬 파일들 (151) 을 수신하며, 로컬 파일들 (151) 을 특정 사용자와 연관시키며, 수신된 로컬 파일들 (151) 을 프로세싱하고 (예를 들어, 정규화하고, 변환하고/하거나, 통합하고) 컨텐츠 데이터베이스 (120) 에 로컬 파일들 (151) 을 저장할 수 있다 (그리고 네트워크 자원들 (180) 로부터의 데이터 아이템들에 대해서도 유사하다). 컨텐츠 통합부 (110) 는 또한 수신된 로컬 파일들 (151) 에 대응하는 정보를 포함하도록 사용자의 프로파일 (126) 을 업데이트하기 위해 계정 서비스들 (105) 과 통신할 수 있다. 구현예에 따라, 컨텐츠 데이터베이스 (120) 는 합병 데이터베이스 및/또는 구조화된 질의 언어 (structured query language; SQL) 데이터베이스에 대응하고/하거나 포함할 수 있다.
다른 예들에서, 컨텐츠 통합부 (110) 는 또한 네트워크 서비스들로부터의 컨텐츠를 토큰화하고 (tokenize), 그 다음에 발행 로직 (130) 이 다른 데이터 아이템들로 토큰화된 컨텐츠를 재발행하거나 조작하는 것을 인에이블할 수 있다. 컨텐츠 통합부 (110) 는 구성 로직 (140) 에 기초하여 (예를 들어, 애플리케이션 로직, 비즈니스 규칙들 등에 기초하여) 토큰화된 컨텐츠를 조작하거나 프로세싱할 수 있다. 이에 따라, 컨텐츠 통합부 (110) 는, 로컬 파일들 및 데이터 아이템들을 인터리빙하고 컨텐츠 데이터베이스 (120) 에 저장하기 위해, (i) 사용자의 로컬 파일들 (151), (ii) 사용자와 연관된 네트워크 자원들 (180) 에 저장된 데이터 또는 파일들의 파일 정보 (181), 및/또는 (iii) 네트워크 자원들 (180) 로부터 수신된 사용자의 데이터 아이템들을 수신하여 프로세싱할 수 있다. 이러한 방식으로, 사용자는 사용자의 컴퓨팅 디바이스들 (170) 중 임의의 것으로부터의 사용자의 파일들에 액세스하도록 인에이블될 수 있다.
일 구현예에서, 컨텐츠 통합부 (110) 는 공통 중간 포맷 (또는 구조, 품질, 치수들, 파일 유형 등) 으로 하나 이상의 통합된 파일들 또는 파일들의 세트 (예를 들어, 소정의 유형에 대응하는 파일들의 세트) 를 정규화하기 위한 정규화 로직을 포함할 수 있다. 정규화된 파일들은 그 다음에 사용자의 디바이스들 (170) 의 임의의 것에 의해 액세스되거나, 이용되거나, 소비될 수 있다. 정규화 계층은, 예를 들어, 사용자의 디바이스들 (170) 중 하나 이상으로부터 및/또는 하나 이상의 네트워크 서비스들 (182, 184, 186) 로부터 수신된 이미지 파일들을 정규화할 수 있어, 이미지 파일들에 대해 동작하는 기능을 수행하는 경우 이미지 파일들이 사용자 디바이스들 (170) 중 임의의 것에 의해 액세스가능한 포맷으로 될 수 있다.
컨텐츠 통합부 (110) 는 또한 컨텐츠 데이터베이스 (120) 에 저장하기 위해 하나 이상의 파일들을 변환하거나 컨버팅하기 위한 변환 로직을 포함할 수 있다. 변환 로직은, 예를 들어, 사용자 디바이스 (170) 상에서 사용자에 의해 액세스되는 제 1 네트워크 서비스 (182) 가 제 2 상이한 네트워크 서비스 (184) 에 저장된 파일들 및/또는 타일들의 정보에 액세스하는 것을 허용함으로써, 사용자가 가입하는 네트워크 서비스들 (182, 184, 186) 사이에 변환 계층을 또한 제공할 수 있다. 다른 예에서, 컨텐츠 통합부 (110) 는 또한 컨텐츠 데이터베이스 (120) 에서의 사용자 파일들 및 사용자 파일들의 관련 정보를 체계화하고 종합하기 위한 종합 로직을 포함할 수 있다. 예를 들어, 사용자 파일들 및 정보는 합병 데이터베이스 및/또는 SQL 데이터베이스에 적합한 방식으로 체계화될 수 있다. 사용자 파일들 및 정보는 또한 사용자 디바이스 (170) 상에서 사용자에 의해 액세스되는 경우 네트워크 서비스가 네트워크 서비스에 의해 이용될 수 있는 파일 유형에 대응하는 사용자 파일들 및/또는 사용자 파일 정보에 액세스할 수 있도록 파일 유형에 기초하여 종합되고/되거나, 인터리빙되고/되거나, 그룹화될 수 있다.
클라우드 서비스는 통합된 데이터 아이템들의 세트 및/또는 통합된 로컬로 저장된 사용자 파일들의 세트에 대해 동작하는 기능성을 인에이블할 수 있다. 본원에서 이용되는 바와 같이, "기능성" 은 애플리케이션 (또는 프로그램), 서브 루틴, 프로그림의 일부, 및/또는 컴퓨팅 디바이스의 소프트웨어 컴포넌트나 하드웨어 컴포넌트에 의해 수행될 수 있는 동작, 액션, 절차, 또는 프로세스를 지칭할 수 있다. (예를 들어, 하나 이상의) 통합된 데이터 아이템들 또는 로컬로 저장된 사용자 파일들의 세트에 대해 동작하는 기능성은, 예를 들어, 사용자의 모바일 컴퓨팅 디바이스 상에서 작동하는 애플리케이션, 사용자와 연관된 텔레비젼 운영 체제, 또는 사용자에 의해 동작되는 브라우저 상에서 인이에블될 수 있다. 기능성은 네트워크 서비스들로부터의 사용자 파일들 및/또는 데이터 아이템들의 리스트를 뷰잉하기 또는 액세스하기, 네트워크 서비스들로부터의 사용자 파일들 및/또는 데이터 아이템들 관리하기 (예를 들어, 편집하기, 수정하기, 삭제하기), 또는 사용자 파일들 및/또는 데이터 아이템들 중 임의의 것을 열기, 이용하기 혹은 재생하기를 포함할 수 있다. 일부 예들에서, 구현되는 기능성은 사용자에 의해 액세스되는 네트워크 서비스와는 별개일 수 있다.
예를 들어, 사용자가 TV OS (172), 그녀의 모바일 컴퓨팅 디바이스 상의 컨테이너 내의 크로스 플랫폼 애플리케이션 (174), 또는 그녀의 PC 상의 브라우저 (176) 중 하나를 동작시키는 경우, 사용자는 하나 이상의 사용자 파일들에 대한 액세스를 요청 (171) 할 수 있다. 사용자 파일들은 (사용자가 사용자 디바이스들 및/또는 대응하는 플랫폼들을 등록했다면) 사용자의 디바이스들 (170) 의 각각으로부터 수신된 하나 이상의 로컬 파일들 (151), 뿐만 아니라 사용자가 가입하는 하나 이상의 네트워크 서비스들 (182, 184, 186) 에 저장된 파일들에 대응할 수 있다. 요청 (171) 이 각각의 플랫폼 (150) 을 통해 시스템 (100) 에 의해 수신되는 경우, 컨텐츠 통합부 (110) 는 발행 로직 (130) 에 파일 인덱스 (111) 를 제공할 수 있다. 파일 인덱스 (111) 는 네트워크 서비스들로부터의 통합된 데이터 아이템들의 세트, 뿐만 아니라 사용자 디바이스들로부터의 통합된 로컬로 저장된 파일들의 세트를 포함할 수 있다. 발행 로직 (130) 은 파일 인덱스가 네트워크를 거쳐 요청 사용자 디바이스 (170) 에게 제공되게 할 수 있다.
파일 인덱스 (111) 는 (i) 컨텐츠 데이터베이스 (120) 에 저장된 사용자의 파일들의 정보, 및 (ii) 네트워크 서비스들 (182, 184, 186) 에 저장된 사용자의 파일들의 정보를 포함할 수 있다. 예를 들어, 특정 사용자에 대한 파일 인덱스 (111) 는 사용자의 스마트 TV, 태블릿 디바이스, 및 PC 로부터 수신된 음악 파일들, 이미지 파일들, 및 문서들을 포함할 수 있다. 파일 인덱스 (111) 는 또한 (예를 들어, Amazon Music Cloud 와 같은) 사용자의 음악 네트워크 서비스 계정들에 저장된 음악 파일들에 관한 정보, (예를 들어, Flickr.com, Facebook.com, Google Picasa 와 같은) 사용자의 소셜 네트워킹 및 사진 공유 네트워크 계정들에 저장된 이미지 파일들, 및 사용자의 데이터 저장 네트워크 서비스들 (예를 들어, Dropbox) 에 저장된 문서들을 포함할 수 있다. 구현예에 따라, 파일 인덱스 (111) 는 (i) 어느 파일들이 사용자의 디바이스들로부터 수신되었는지를 식별하고/하거나, (ii) 컨텐츠 데이터베이스 (120) 에서의 사용자의 저장된 컨텐츠를 모니터링하고/하거나, (iii) 계정 서비스들 (105) 로부터 하나 이상의 네트워크 서비스들 (182, 184, 186) 의 파일 정보 (181) 를 (예를 들어, 주기적으로 또는 간헐적으로) 수신함으로써 컨텐츠 통합부 (110) 에 의해 발생되고/되거나 유지될 (예를 들어, 업데이트될 또는 수정될) 수 있다.
요청 사용자 디바이스 (170) 의 사용자는 TV OS (172), 컨테이너 내의 크로스 플랫폼 애플리케이션 (174), 또는 브라우저 (176) 를 동작시키면서, 파일 인덱스 (111) 를 뷰잉하고 파일 인덱스 (111) 에서 식별되는 하나 이상의 파일들을 선택할 수 있다. 예를 들어, 사용자가 그녀의 소셜 네트워크 계정 (예를 들어, Facebook.com) 에 이미지를 업로드하기 위해 그녀의 PC 상에서 브라우저 (176) 를 동작시키는 경우, 사용자는 그녀의 소셜 네트워크 계정 (예를 들어, 제 1 네트워크 서비스) 의 웹 페이지 상에서 "파일 첨부" 피쳐 또는 유사한 피쳐를 선택할 수 있다. 이는 사용자가 그녀의 디바이스들에 걸쳐 그리고 상이한 네트워크 서비스들에 걸쳐 저장된 그녀의 이미지 파일들을 뷰잉하길 원하는 파일 요청 (171) 에 대응할 수 있다. 파일 픽커 (picker) 또는 선택 박스/피쳐는 브라우저 (176) 에 의해 디스플레이될 수 있으며, 브라우저는 (예를 들어, 모든 디스플레이되는 이미지 파일들이 사용자의 PC 상에 로컬로 저장된 것처럼) 그녀의 이미지 파일들을 디스플레이한다. 파일 픽커는 시스템 (100) 으로부터 수신된 파일 인덱스 (111) 를 이용하여 이러한 정보를 디스플레이할 수 있다.
파일 픽커로부터, 사용자는 하나 이상의 파일들을 선택할 수 있다. 파일 인덱스 (111) 는 파일이 저장된 곳을 (예를 들어, 어떤 소스로부터 파일이 취출되는지를) 결정하기 위해 브라우저 (176) 에 의해 이용될 수 있다. 예를 들어, 선택된 파일이 시스템 (100) 의 컨텐츠 데이터베이스 (120) 에 저장된 경우 (예를 들어, 사용자의 모바일 컴퓨팅 디바이스로부터 수신된 로컬 파일의 복사본인 경우), 브라우저 (176) 는 선택된 파일을 수신하기 위해 (예를 들어, 적절한 브라우저 플랫폼 인터페이스 (150) 및 컨텐츠 데이터베이스 (120) 를 통해 통신하기 위해) 시스템 (100) 과 직접적으로 통신할 수 있다. 일부 예들에서, 요청 파일(들)은 요청 디바이스에 의해 액세스될 수 있는 포맷 또는 구조로 컨텐츠 통합부 (110) 에 의해 컨버팅되고/되거나 변환될 수 있다.
다른 예들에서, 선택된 파일이 네트워크 서비스 (182) 에 저장되는 경우 (예를 들어, 컨텐츠 데이터베이스 (120) 에 저장되지 않는 경우), 파일 인덱스 (111) 는 네트워크 서비스 (182) 를 선택된 파일의 소스로서 식별하는데 이용되고, 브라우저 (176) 가 선택된 파일을 수신하거나 취출하기 위해 하나 이상의 네트워크들을 거쳐 통신하는 것을 인에이블할 수 있다. 예를 다시 참조하면, 사용자가 그녀의 소셜 네트워크 계정 (예를 들어, 제 1 네트워크 서비스) 에 업로드하기 위해 파일 픽커로부터 이미지 파일을 선택하고 이미지 파일이 사용자의 Google Picasa 계정 (예를 들어, 제 2 네트워크 서비스) 에 저장되는 경우, 브라우저 (176) 는 소셜 네트워크 서비스와의 이용을 위해 Google Picasa 네트워크 서비스로부터 이미지 파일을 수신하거나 취출할 수 있다. 추가하여 또는 대안으로, 시스템 (100) 은 적절한 네트워크 서비스 (182, 184, 186) 로부터 선택된 파일을 취출하여 요청 디바이스에 파일을 제공하도록 동작할 수 있다.
구현예에 따라, 시스템 (100) 은 또한 사용자 디바이스들 (170) 로부터의 구성 정보 (141) 를 수신하기 위한 구성 로직 (140) 을 포함할 수 있다. 구성 정보 (141) 는 사용자 구성 정보 (예를 들어, 사용자 선호사항들 및/또는 설정들), 플랫폼 구성 정보, 및/또는 특정 사용자 및 그녀의 디바이스들 (170) 을 위해 클라우드 서비스들을 맞춤제작하고/하거나 제어하는데 이용될 수 있는 애플리케이션 구성 정보를 포함할 수 있다. 구성 로직 (140) 은, 개개의 사용자들에 대한, 발행 로직 (130), 컨텐츠 통합부 (110), 및/또는 시스템 (100) 의 다른 피쳐들 (예를 들어, 컨텐츠 데이터베이스 (120), 계정 서비스들 (105), 프로파일 데이터베이스 (125)) 을 제어하기 위한 규칙들 및 파라미터들을 구현할 수 있다. 다른 예들에서, 사용자들은 또한 사용자의 등록된 디바이스들 (170) 중 임의의 것으로부터 그들의 프로파일들을 수정, 변경, 및/또는 뷰잉할 수 있다. 사용자의 프로파일을 뷰잉하기 위한 시스템 (100) 에 대한 사용자 요청에 응답하여, 발행 로직 (130) 은 TV OS (172), 컨테이너 내의 크로스 플랫폼 애플리케이션 (174), 및/또는 브라우저 (176) 의 일부로서 사용자 인터페이스를 제공할 수 있어, 사용자가 그의 또는 그녀의 프로파일 (126) 에 액세스할 수 있다.
이러한 방식으로, 시스템 (100) 은 상이한 플랫폼들을 동작시키는 다수의 컴퓨팅 디바이스들에 걸쳐 정보가 공유되고 사용자가 가입하는 네트워크 서비스들 사이에서 정보가 공유되는 것을 인에이블한다. 이에 따라, 시스템 (100) 은 네트워크 서비스들이 서로의 데이터에 액세스할 수 있도록 사용자의 네트워크 서비스들을 중개하는 역할을 한다. 사용자의 모바일 컴퓨팅 디바이스의 크로스 플랫폼 애플리케이션 상에서 동작되는 제 1 네트워크 서비스는, 예를 들어, 제 2 네트워크 서비스에 저장된 파일들에 액세스할 수 있다 (그리고 그 반대의 경우도 마찬가지이다). 또한, 시스템 (100) 은 네트워크 서비스들을 중개하는 역할을 하기 위해 개개의 네트워크 서비스들 (182, 184, 186) 이 변경되거나 변화될 것을 요구하지 않는다.
방법론
도 2 는 데이터를 공유하기 위한 시스템의 일부로서 모바일 컴퓨팅 디바이스를 동작시키는 일 예시적인 방법을 도시한다. 도 2 에 의해 설명된 바와 같은 방법은, 예를 들어, 도 1 과 함께 설명된 바와 같은 시스템 및 컴포넌트들을 이용하여 구현될 수 있다. 이에 따라, 설명되는 단계 또는 서브 단계들을 수행하기 위한 적합한 엘리먼트 또는 컴포넌트를 예시할 목적으로 도 1 의 엘리먼트들이 참조된다.
애플리케이션은 모바일 컴퓨팅 디바이스 상에서 소프트웨어 컨테이너 내에서 동작되거나 작동될 수 있다 (200). 애플리케이션은 Javascript 또는 HTML 과 같은 표준화된 언어로 개발되거나 프로그래밍될 수 있다. 이러한 방식으로, 애플리케이션의 개발자는 표준화된 언어로 딱 한번만 애플리케이션을 프로그래밍하고, 상이한 플랫폼들 또는 운영 체제들에 대해 소프트웨어 컨테이너를 이용할 수 있다. 예를 들어, 제 1 소프트웨어 컨테이너는 애플리케이션이 제 1 운영 체제 (예를 들어, iOS) 를 동작시키는 모바일 컴퓨팅 디바이스 상에서 작동하는 것을 인에이블할 수 있고, 한편 제 2 소프트웨어 컨테이너는 동일한 애플리케이션이 제 2 운영 체제 (예를 들어, Windows Mobile) 를 동작시키는 모바일 컴퓨팅 디바이스 상에서 작동하는 것을 인에이블할 수 있다.
컨테이너 내에서 작동하는 애플리케이션은 컴퓨팅 디바이스에 네이티브이거나 사전 프로그래밍된 또는 컴퓨티 디바이스 상으로 다운로드될 수 있는 애플리케이션들, 예컨대, 메시징 애플리케이션, 전화 애플리케이션, 이메일 애플리케이션, 연락처 애플리케이션, 달력 애플리케이션, 브라우저 애플리케이션, 게이밍 애플리케이션, 소셜 네트워크 애플리케이션, 시계 애플리케이션, 날씨 애플리케이션, 이미지 프로세싱 애플리케이션, 취미 포스팅 애플리케이션, 음악 애플리케이션, 사진 애플리케이션, 은행 애플리케이션, 카메라 애플리케이션 등에 대응할 수 있다. 또한, 이러한 애플리케이션들 중 하나 이상의 애플리케이션은 네트워크 서비스들 (예를 들어, 이메일 서비스, 메시징 서비스, 소셜 네트워크 서비스, 데이터 저장 서비스, 게이밍 서비스, 블로그나 포스팅 서비스, 이미지 서비스, 미디어 서비스 등) 과 연관될 수 있다.
애플리케이션이 사용자에 의해 동작되는 동안, 사용자는 애플리케이션을 이용하여 (컨테이너의 이용을 통해) 하나 이상의 파일들에 액세스하기 위해 입력을 제공할 수 있다 (210). 예를 들어, 애플리케이션은 파일에 대해 기능 또는 동작을 수행할 수 있다. 애플리케이션은 음악 재생 애플리케이션 또는 음악 편집 애플리케이션일 수 있으며, 여기서 사용자는 애플리케이션이 이용할 (예를 들어, 재생하거나 사운드 편집을 수행할) 수 있는 음악 파일 (예를 들어, mp3 파일) 을 선택할 수 있다. 애플리케이션은 제 1 네트워크 서비스에 대응하는 애플리케이션일 수 있다. 사용자가 파일에 액세스하거나 사용자의 파일들의 리스트를 보기 위해 입력을 제공하는 경우, 애플리케이션은, 컨테이너의 이용을 통해, 클라우드 서비스에 파일 요청을 송신할 수 있다 (예를 들어, 컨테이너 내의 크로스 플랫폼 애플리케이션 (174) 이 도 1 의 시스템 (100) 에 파일 요청을 송신한다).
모바일 컴퓨팅 디바이스는, 클라우드 서비스로부터, 애플리케이션을 이용하여 액세스될 수 있는 파일들 (예를 들어, 파일 인덱스) 에 관한 정보를 수신할 수 있다 (220). 애플리케이션은, 예를 들어, 사용자가 상이한 사용자 파일들을 뷰잉하는 것을 인에이블하는 사용자 인터페이스 피쳐를 제공할 수 있다. 애플리케이션에 의해 액세스될 수 있는 사용자 파일들은 (i) 모바일 컴퓨팅 디바이스의 메모리 자원에 저장된 로컬 파일들 (222), (ii) 클라우스 서비스에 저장된 사용자의 다른 컴퓨팅 디바이스들의 로컬 파일들 (224), 및/또는 (iii) 하나 이상의 네트워크 서비스들에 저장된 파일들 (226) 을 포함할 수 있다. 일 예에서, 파일 인덱스와 함께 디스플레이되는 사용자 파일들은 애플리케이션에 의해 이용될 수 있는 유형에 대응할 수 있다. 예를 다시 참조하면, 음악 재생 애플리케이션 또는 음악 편집 애플리케이션의 사용자 인터페이스는 그러한 애플리케이션들이 이용할 수 있는 미디어 파일들만을 포함할 수 있다. 예를 들어, 문서 파일들 (예를 들어, .pdf 파일들 또는 .docx 파일들) 또는 이미지 파일들 (예를 들어, .jpg) 은 파일 인덱스에 포함되지 않을 것이다. 사용자는 사용자 파일들로부터, 사용자의 모바일 컴퓨팅 디바이스, (예를 들어, 사용자의 스마트 TV 또는 사용자의 PC 에 로컬로 저장된) 사용자의 다른 디바이스들, 및/또는 사용자의 네트워크 서비스들에 저장된 음악 파일을 선택할 수 있다.
이에 더해 또는 대안으로, 일부 예들에서, 애플리케이션은, 컨테이너의 이용을 통해, 하나 이상의 네트워크들을 거쳐 클라우스 서비스로 파일 요청을 송신하지 않고, 대신에 클라우드 서비스로부터 이전에 수신된 파일 인덱스를 (예를 들어, 모바일 컴퓨팅 디바이스의 메모리 자원으로부터) 취출한다.
애플리케이션은 선택된 파일을 취출하거나 수신할 수 있다 (230). 선택된 파일은 어느 파일이 선택되었고 어느 소스로부터 파일을 취출하거나 수신할지를 결정함으로써 취출되거나 수신될 수 있다. 예를 들어, 선택된 파일이 모바일 컴퓨팅 디바이스의 메모리 자원에 저장된 로컬 파일인 경우, 애플리케이션은 메모리 자원으로부터 그것을 취출할 수 있다. 선택된 파일이 사용자의 다른 컴퓨팅 디바이스들에 저장된 로컬 파일인 경우, 그러한 파일은 클라우드 서비스에 또한 저장되고, 애플리케이션은 하나 이상의 네트워크들을 거쳐 클라우드 서비스로부터 파일을 수신할 수 있다. 선택된 파일이 하나 이상의 네트워크 자원들에 저장되고 또한 클라우드 서비스에 저장된 파일인 경우, 다시, 애플리케이션은 하나 이상의 네트워크들을 거쳐 클라우드 서비스로부터 파일을 수신하다. 반면에, 선택된 파일이 하나 이상의 네트워크 자원들에 저장되나 (예를 들어, 음악 네트워크 서비스, 원격 데이터 저장 음악 서비스에 저장되나), 클라우드 서비스에는 저장되지 않은 파일인 경우, 애플리케이션은 (컨테이너의 이용을 통해) 네트워크 서비스 (예를 들어, 주소, 식별자 등) 를 결정하고 네트워크 서비스 (예를 들어, 제 2 네트워크 서비스) 로부터 파일을 수신하기 위해 네트워크 서비스와 통신할 수 있다. 예를 들어, 컨테이터의 이용을 통한 애플리케이션과 공유될 적절한 파일에 대한 네트워크 서비스 사이에 하이퍼텍스트 전송 프로토콜 (hypertext transfer protocol; HTTP) 접속이 확립될 수 있다.
이에 따라, 도 2 는 제 1 네트워크 서비스에 대응하는 애플리케이션이 제 2 네트워크 서비스들에 저장된 하나 이상의 파일들에 액세스할 수 있음을 설명한다. 유사하게, 도 2 가 모바일 컴퓨팅 디바이스 상에서 동작되는 애플리케이션에 대해 설명되었으나, 네트워크 인에이블드 텔레비젼에 대한 텔레비젼 운영 체제가 또한 사용자가 도 2 에 설명된 방법과 유사하게 하나 이상의 사용자 파일들에 액세스하기 위해 애플리케이션을 동작시키는 것을 엔이이블할 수 있다. 유사하게, 사용자는, 도 2 에 설명된 방법과 유사하게, (웹 페이지를 통해) 제 1 네트워크 서비스에 액세스하고, (i) 클라우드 서비스에 저장되거나, (ii) 제 2 네트워크 서비스에 저장된 하나 이상의 사용자 파일들에 액세스하기 위해 PC 에 대한 브라우저를 동작시킬 수 있다.
도 3 은 다수의 컴퓨팅 디바이스들에 걸쳐 데이터를 공유하는 일 예시적인 방법을 도시한다. 도 3 에 의해 설명된 바와 같은 방법은, 예를 들어, 도 1 및 도 2 에 설명된 바와 같은 시스템 및 컴포넌트들을 이용하여 구현될 수 있다. 이에 따라, 설명되는 단계 또는 서브 단계를 수행하기에 적합한 엘리먼트 또는 컴포넌트를 예시할 목적으로 도 1 의 엘리먼트들이 참조된다.
도 3 에서, (예를 들어, 도 1 의 시스템 (100) 에 의해 구현된 바와 같은) 클라우드 서비스는 사용자들의 그룹으로부터의 사용자가, 클라우드 서비스에, 상이한 네트워크 서비스(들)에 대한 그의 또는 그녀의 사용자 컴퓨팅 디바이스(들) 및 계정(들)을 등록하는 것을 인에이블할 수 있다 (300). 예를 들어, 사용자는 디바이스를 등록하기 위해 사용자의 디바이스들 중 임의의 하나의 디바이스로부터 클라우드 서비스의 웹 페이지에 액세스할 수 있다. 사용자는 또한 사용자의 디바이스들 상에서 제공되는 사용자 인터페이스 피쳐들을 이용하여 네트워크 서비스들에 그의 또는 그녀의 계정들을 등록할 수 있다. 일부 구현예들에서, 사용자가 클라우드 서비스에 등록하는 경우, 그 사용자에 대해 사용자 프로파일 또한 생성되어, 클라우드 서비스의 프로파일 데이터베이스에 저장될 수 있다.
클라우드 서비스는 하나 이상의 사용자 디바이스들 (예를 들어, 등록된 디바이스들) 로부터 하나 이상의 로컬 파일들을 수신할 수 있다 (310). 클라우드 서비스는 사용자의 스마트 TV 로부터 TV OS, 사용자의 모바일 컴퓨팅 디바이스 상에서 작동하는 컨테이너 내의 애플리케이션, 및/또는 사용자의 PC 상에서 동작하는 브라우저를 사용자가 개시하고/하거나 동작시키는 경우 사용자의 디바이스들로부터 로컬 파일들을 수신할 수 있다. TV OS, 컨테이너 내의 크로스 플랫폼 애플리케이션, 및/또는 각각의 사용자 디바이스들 상의 브라우저의 각각은 클라우드 서비스로 각각의 디바이스들에 저장된 (그리고 아직 클라우드 서비스에는 저장되지 않은) 로컬 파일들을 공유하기 위한 습득 지점으로서 거동할 수 있다.
클라우드 서비스는 사용자 식별자를 포함하는 각각의 개개 사용자에 대한 프로파일, 등록된 계정들과 디바이스들의 정보, 및/또는 (사용자의 디바이스들로부터의 로컬 파일들 및 클라우드 서비스에 저장된 네트워크 서비스들로부터의 파일들을 포함하여) 클라우드 서비스에 저장된 파일들의 정보를 유지할 수 있다. 프로파일은 또한 사용자 데이터 (예를 들어, 사용자의 신상 데이터) 및 사용자 선호사항들/설정 정보를 포함할 수 있다. 클라우드 서비스는 추가적인 사용자 파일들이 사용자 디바이스들 및/또는 네트워크 서비스들로부터 수신되는 경우와 같은, 사용자 파일들 및 데이터에 대한 변화들을 계속 모니터링할 수 있다.
일부 예들에서, 클라우드 서비스는 사용자의 컴퓨팅 디바이스들 중 하나의 컴퓨팅 디바이스로부터 파일에 액세스하기 위한 요청을 수신할 수 있다 (330). 클라우드 서비스는 사용자의 디바이스의 식별자를 수신하고, 적절한 사용자를 식별하기 위해 사용자 프로파일들의 룩업을 수행하고, 사용자의 요청 디바이스에 의해 액세스되고/되거나 사용자에 의해 이용되는 애플리케이션 또는 네트워크 서비스에 의해 액세스될 수 있는 사용자 파일들을 결정할 수 있다. 클라우드 서비스는, 요청 사용자 디바이스 및/또는 애플리케이션 혹은 브라우저에, 사용자의 네트워크 서비스 파일들 및/또는 로컬 파일들의 정보 (예를 들어, 파일 인덱스) 를 제공할 수 있다 (340).
하드웨어 도면
도 4 는 본원에 설명된 예들이 구현될 수도 있는 서버를 도시하는 블록도이다. 예를 들어, 도 1 의 맥락에서, 시스템 (100) 은 도 4 에 의해 설명된 바와 같은 컴퓨터 시스템 (또는 컴퓨터 시스템들의 조합) 을 이용하여 구현될 수도 있다.
일 구현예에서, 컴퓨터 시스템 (400) 은 프로세서 (410), 메인 메모리 (420), ROM (430), 저장 디바이스 (440), 및 통신 인터페이스 (450) 를 포함한다. 컴퓨터 시스템 (400) 은 정보를 프로세싱하기 위한 적어도 하나의 프로세서 (410) 를 포함한다. 컴퓨터 시스템 (400) 은 또한 메인 메모리 (420), 예컨대, 프로세서 (410) 에 의해 실행될 정보 및 명령들을 저장하기 위한 랜덤 액세스 메모리 (random access memory; RAM), 또는 다른 동적 저장 디바이스를 포함한다. 메인 메모리 (420) 는 또한 프로세서 (410) 에 의해 실행될 명령들의 실행 중에 일시적 변수들 또는 다른 중간 정보를 저장하는데 이용될 수도 있다. 컴퓨터 시스템 (400) 은 또한 프로세서 (410) 를 위한 정적 정보 및 명령들을 저장하기 위한 판독 전용 메모리 (read only memory; ROM) (430) 또는 다른 정적 저장 디바이스를 포함할 수도 있다. 저장 디바이스 (440), 예컨대, 자기 디스크 또는 광학 디스크가 정보 및 명령들을 저장하기 위해 제공된다.
통신 인터페이스 (450) 는 컴퓨터 시스템 (400) 이 네트워크 링크 (무선 또는 유선) 의 이용을 통해 하나 이상의 네트워크들 (480) 과 통신하는 것을 인에이블할 수도 있다. 네트워크 링크를 이용하여, 컴퓨터 시스템 (400) 은 하나 이상의 사용자 디바이스들, 예컨대, 네트워크 인에이블드 텔레비젼, 개인용 컴퓨터, 또는 모바일 컴퓨팅 디바이스와 통신할 수 있다. 일부 예들에서, 컴퓨터 시스템 (400) 은, 네트워크 링크를 통해, TV OS, 컨테이너 내의 크로스 플랫폼 애플리케이션, 및/또는 PC 에 대한 브라우저를 통해 사용자 디바이스로부터 로컬 파일들 (452) 을 수신할 수 있다. 로컬 파일들 (452) 은, 예를 들어, 사용자 디바이스들 중 임의의 사용자 디바이스가 로컬 파일들 (452) 에 액세스하고 로컬 파일들을 수신하는 것을 인에이블하는 방식으로 저장 디바이스 (440) 에 프로세싱되어 저장될 수 있다. 사용자 디바이스들 중 임의의 디바이스가, TV OS, 컨테이너 내의 크로스 플랫폼 애플리케이션, 및/또는 PC 에 대한 브라우저를 통해 파일을 요청하는 경우, 컴퓨터 시스템 (400) 은 요청 디바이스에 네트워크 (480) 를 거쳐 파일 인덱스 (454) 를 제공할 수 있다. 파일 인덱스 (454) 는 저장 디바이스 (440) 상에서 이용가능한 파일들 (예를 들어, 사용자의 로컬 파일들 (452)) 뿐만 아니라 하나 이상의 네트워크 서비스들에 저장된 사용자와 연관된 파일들에 대한 정보를 포함한다.
컴퓨터 시스템 (400) 은, 예를 들어, 사용자에게 그래픽들 및 정보를 디스플레이하기 위해, 디스플레이 디바이스 (460), 예컨대, 음극선관 (cathode ray tube; CRT), LCD 모니터, 또는 텔레비젼 세트를 포함할 수 있다. 입력 메커니즘 (470), 예컨대, 영숫자 키들 및 다른 키들을 포함하는 키보드가 프로세서 (410) 에 정보 및 커맨드 선택들을 통신하기 위해 컴퓨터 시스템 (400) 에 커플링될 수 있다. 입력 메커니즘들 (470) 의 다른 비제한적인, 예시적인 예들은 프로세서 (410) 에 방향 정보 및 커맨드 선택들을 통신하고 디스플레이 (460) 상에서 커서 이동을 제어하기 위한 마우스, 트랙볼, 터치 감응 스크린, 또는 커서 방향 키들을 포함한다. 오직 하나의 입력 메커니즘 (470) 만이 도 4 에 도시되나, 상이한 변형예들은 컴퓨터 시스템 (400) 에 커플링된 임의의 개수의 입력 메커니즘들 (470) 을 포함할 수도 있다.
본원에 설명된 예들은 본원에 설명된 기법들을 구현하기 위한 컴퓨터 시스템 (400) 의 이용에 관한 것이다. 일 예에 따르면, 그러한 기법들은 메인 메모리 (420) 에 포함된 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행하는 프로세서 (410) 에 응답하여 컴퓨터 시스템 (400) 에 의해 수행된다. 그러한 명령들은 저장 디바이스 (440) 와 같은 다른 머신 판독가능 매체로부터 메인 메모리 (420) 내로 읽혀질 수 있다. 메인 메모리 (420) 내에 포함된 명령들의 시퀀스들의 실행은 프로세서 (410) 로 하여금 본원에 설명된 프로세스 단계들을 수행하게 한다. 대안적인 예들에서, 본원에 설명된 예들을 구현하기 위해 소프트웨어 명령들을 대신해 또는 소프트에어 명령들과 결합하여 하드-와이어드 회로부가 이용될 수도 있다. 따라서, 설명된 예들은 하드웨어 회로부와 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
도 5 는 본원에 설명된 예들이 구현될 수도 있는 컴퓨팅 디바이스를 도시하는 블록도이다. 일부 구현예들에 따르면, 컴퓨팅 디바이스 (500) 는 모바일 컴퓨팅 디바이스 또는 태블릿 디바이스, 예컨대, 전화, 메시징, 및 데이터 서비스들을 할 수 있는 셀룰러 디바이스, 또는 다른 네트워크 인에이블드 디바이스들에 대응할 수 있다. 컴퓨팅 디바이스 (500) 는 프로세서 (510), 메모리 자원들 (520), (터치 감응 디스플레이와 같은) 디스플레이 디바이스 (530), 하나 이상의 통신 서브 시스템들 (540), 및 입력 메커니즘(들) (550) 을 포함한다. 통신 서브 시스템들 (540) 은 네트워크 포트들, 예컨대, 다른 디바이스들과 통신하기 위한 유선 또는 무선 (예를 들어, 셀룰러, Wi-Fi 등) 통신 포트들을 포함할 수 있다.
컴퓨팅 디바이스 (500) 는 디바이스의 다양한 컴포넌트들의 이용을 인에이블하기 위해 운영 체제를 동작시킬 수도 있다. 또한, 컴퓨팅 디바이스 (500) 는 애플리케이션 레벨 로직 및 프로그래밍을 구현할 수 있다. 메모리 (520) 는 프로세서 (510) 에 의한 실행을 위한 명령들을 저장한다. 일 구현예에서, 프로세서 (510) 는 메모리 (520) 에 저장된 명령들을 이용하여 컨테이너들 내의 하나 이상의 크로스 플랫폼 애플리케이션들 (522) 을 작동시킬 수 있다. 도 1 의 예를 참조하면, 프로세서 (510) 는 통신 서브 시스템들 (540) 에 의해 무선으로 송신될 (예를 들어, 운영 체제에 의해 또는 하나 이상의 애플리케이션들의 이용을 통해 발생되는 데이터와 같은) 데이터를 제공할 수 있다. 소프트웨어 컨테이너 내에서 작동하는 (제 1 네트워크 서비스에 대응하는 애플리케이션과 같은) 애플리케이션 (522) 은 사용자가 (i) 클라우드 서비스에 저장된 하나 이상의 사용자 파일들, 및/또는 (ii) 다른 네트워크 서비스들 (예를 들어, 제 2 네트워크 서비스) 에 저장된 파일들에 액세스하는 것을 인에이블할 수 있다. 사용자는, 예를 들어, 애플리케이션을 이용하여 파일을 요청하고 (542), 사용자가 액세스하는 파일들에 관한 정보를 포함하는 파일 인덱스 (544) 를 수신할 수 있다. 이에 따라, 컴퓨팅 디바이스 (500) 는 도 1 내지 도 3 에 의해 설명된, 뿐만 아니라 본 문서 어느 곳에서 설명된 바와 같은 예들과 함께 제공되는 하나 이상의 프로세서들, 단계들, 및 다른 기능들을 수행하기 위한 소프트웨어 및/또는 다른 로직으로 구성될 수 있다.
본원에 설명된 예들은 다른 개념들, 아이디어들, 또는 시스템과 관계 없이, 본원에 설명된 개개의 엘리먼트들 및 개념들로 확장하기 위한 예들, 뿐만 아니라 본 출원의 어느 곳에서 인용된 엘리먼트들의 조합들을 포함하기 위한 예들로 고려된다. 예들이 첨부 도면들을 참조하여 본원에서 상세히 설명되지만, 예들은 그러한 정확한 설명들 및 예시들로 제한되지 않음이 이해될 것이다. 이에 따라, 개별적으로 또는 일 예의 일부로서 설명된 특정 피쳐는, 다른 피쳐들 및 예들이 특정 피쳐를 언급하지 않았을지라도, 다른 개별적으로 설명된 피쳐들, 또는 다른 예들의 일부들과 결합될 수 있는 것으로 고려된다.

Claims (15)

  1. 시스템으로서,
    하나 이상의 서버들을 포함하고,
    상기 하나 이상의 서버들은,
    소정의 사용자에 대해, 복수의 네트워크 자원들에서의 각각의 네트워크 자원으로부터의 복수의 데이터 아이템들에 액세스하도록 복수의 에이전트들을 구현하는 것으로서, 상기 네트워크 자원들의 각각은 네트워크 서비스에 대응하는, 상기 복수의 에이전트들을 구현하고;
    상기 복수의 네트워크 자원들의 각각으로부터의 데이터 아이템들을 통합시키며;
    통합된 데이터 아이템들의 세트에 대해 동작하는 기능성을 인에이블하고;
    복수의 플랫폼 인터페이스들을 구현하는 것으로서, 각각의 플랫폼 인터페이스는 컴퓨팅 디바이스에 대한 플랫폼에 대응하는, 상기 복수의 플랫폼 인터페이스들을 구현하며;
    상기 플랫폼 인터페이스들의 각각을 통해, 상기 통합된 데이터 아이템들의 세트에 기초하는 출력을 제공하는, 시스템.
  2. 제 1 항에 있어서,
    상기 복수의 플랫폼 인터페이스들은 하나 이상의 모바일 컴퓨팅 플랫폼들에 대한 인터페이스들의 제 1 세트, 하나 이상의 텔레비젼 플랫폼들에 대한 인터페이스들의 제 2 세트, 및 하나 이상의 브라우저들에 대한 인터페이스들의 제 3 세트를 포함하고, 상기 복수의 플랫폼 인터페이스들은, 상기 소정의 사용자에 대한, 상기 사용자의 하나 이상의 컴퓨팅 디바이스들로부터의 하나 이상의 로컬로 저장된 파일들에 액세스하는, 시스템.
  3. 제 1 항에 있어서,
    상기 하나 이상의 서버들은 (i) 상기 사용자의 모바일 컴퓨팅 디바이스 상에서 작동하는 애플리케이션, (ii) 상기 사용자와 연관된 텔레비젼 운영 체제, 또는 (iii) 상기 사용자에 의해 동작되는 브라우저 중 적어도 하나에 대한 상기 통합된 데이터 아이템들의 세트에 대해 동작하는 기능성을 인에이블하는, 시스템.
  4. 제 3 항에 있어서,
    상기 기능성은 상기 사용자의 상기 모바일 컴퓨팅 디바이스 상에서 작동하는 애플리케이션에 대해 인에이블되고, 상기 애플리케이션은 제 1 네트워크 서비스에 대응하며, 상기 애플리케이션은 제 2 네트워크 서비스로부터의 파일을 요청하여 수신하도록 인에이블되는, 시스템.
  5. 제 1 항에 있어서,
    상기 하나 이상의 서버들은, 상기 플랫폼 인터페이스들의 각각을 통해, 상기 사용자의 하나 이상의 컴퓨팅 디바이스들로부터의 로컬로 저장된 파일들을 통합시키는, 시스템.
  6. 제 5 항에 있어서,
    상기 하나 이상의 서버들은 사용자들에 대한 복수의 프로파일들을 유지하고, 상기 복수의 프로파일들은 상기 소정의 사용자에 대응하는 프로파일을 포함하며, 상기 프로파일은 (i) 통합된 상기 로컬로 저장된 파일들의 정보, 및 (ii) 상기 통합된 데이터 아이템들의 세트의 정보를 포함하는, 시스템.
  7. 제 5 항에 있어서,
    상기 복수의 플랫폼 인터페이스는 제 1 모바일 컴퓨팅 플랫폼을 동작시키는 상기 사용자의 제 1 컴퓨팅 디바이스로부터의 하나 이상의 로컬로 저장된 파일들과 제 2 모바일 컴퓨팅 플랫폼을 동작시키는 상기 사용자의 제 2 컴퓨팅 디바이스로부터의 하나 이상의 로컬로 저장된 파일들을 통합시키고, 상기 제 1 모바일 컴퓨팅 플랫폼과 상기 제 2 모바일 컴퓨팅 플랫폼은 상이한 플랫폼들인, 시스템.
  8. 제 1 항에 있어서,
    상기 데이터 아이템들은 메시지, 문서, 이미지, 또는 미디어 파일 중 적어도 하나를 포함하는, 시스템.
  9. 제 1 항에 있어서,
    상기 네트워크 서비스는 이메일 서비스, 소셜 네트워크 서비스, 데이터 저장 서비스, 게이밍 서비스, 이미지 서비스, 또는 미디어 서비스 중 적어도 하나를 포함하는, 시스템.
  10. 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은, 모바일 컴퓨팅 디바이스의 하나 이상의 프로서세들에 의해 실행되는 경우, 상기 하나 이상의 프로세서들로 하여금,
    표준화된 언어로 애플리케이션을 수신하기 위한 소프트웨어 컨테이너를 제공하게 하고;
    네트워크 서비스에 액세스하도록 상기 애플리케이션을 동작시키는 것을 포함하여, 상기 모바일 컴퓨팅 디바이스의 플랫폼에 대해 특정한 언어로 상기 컨테이너를 통해 상기 애플리케이션을 동작시키게 하는, 비일시적 컴퓨터 판독가능 매체.
  11. 제 10 항에 있어서,
    상기 소프트웨어 컨테이너는 상기 애플리케이션이 상기 모바일 컴퓨팅 디바이스의 하나 이상의 하드웨어 컴포넌트들에 액세스하는 것을 인에이블하는, 비일시적 컴퓨터 판독가능 매체.
  12. 제 10 항에 있어서,
    상기 소프트웨어 컨테이너는 상기 애플리케이션이 상기 모바일 컴퓨팅 디바이스의 상기 플랫폼의 네이티브 코드를 이용하는 것을 인에이블하는, 비일시적 컴퓨터 판독가능 매체.
  13. 제 10 항에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서들로 하여금, 상기 네트워크 서비스에 저장된 하나 이상의 파일들에 대한 클라우드 서비스를 요청함으로써 상기 네트워크 서비스에 액세스하기 위해 상기 컨테이너를 통해 상기 애플리케이션을 동작시키게 하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제 13 항에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서들로 하여금, 상기 클라우드 서비스에 사용자 식별자를 제공함으로써 상기 컨테이너를 통해 상기 애플리케이션을 동작시키게 하고, 상기 클라우드 서비스는 상기 네트워크 서비스에 대한 사용자 계정에 관한 정보 및 상기 사용자 식별자를 포함하는 사용자 프로파일을 유지하는, 비일시적 컴퓨터 판독가능 매체.
  15. 모바일 컴퓨팅 디바이스를 동작시키는 방법으로서,
    소프트웨어 컨테이너 내의 애플리케이션을 동작시키는 단계;
    상기 애플리케이션을 이용하여 동작을 수행하기 위해 사용자 입력을 수신하는 단계;
    상기 동작을 수행하기 위해 상기 애플리케이션에 의해 이용될 수 있는 사용자의 하나 이상의 파일들에 대한 요청을 클라우스 서비스에 송신하는 단계; 및
    상기 클라우드 서비스로부터 상기 하나 이상의 파일들의 파일 인덱스를 수신하는 단계로서, 상기 파일 인덱스는 (i) 상기 모바일 컴퓨팅 디바이스의 메모리 자원에 저장된 파일들, (ii) 상기 사용자의 하나 이상의 다른 컴퓨팅 디바이스들에 의해 이전에 수신된 파일들의 정보, 및 (iii) 상기 사용자가 가입하는 하나 이상의 네트워크 서비스들에 저장된 파일들의 정보를 포함하는, 상기 클라우드 서비스로부터 상기 하나 이상의 파일들의 파일 인덱스를 수신하는 단계를 포함하는, 모바일 컴퓨팅 디바이스를 동작시키는 방법.
KR1020157023363A 2013-01-31 2013-01-31 다수의 컴퓨팅 디바이스들에 걸친 정보에 대한 액세스의 제공 KR20150113106A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/024202 WO2014120220A1 (en) 2013-01-31 2013-01-31 Providing access to information across multiple computing devices

Publications (1)

Publication Number Publication Date
KR20150113106A true KR20150113106A (ko) 2015-10-07

Family

ID=51262784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157023363A KR20150113106A (ko) 2013-01-31 2013-01-31 다수의 컴퓨팅 디바이스들에 걸친 정보에 대한 액세스의 제공

Country Status (6)

Country Link
US (1) US20150365497A1 (ko)
EP (1) EP2951710A4 (ko)
JP (1) JP6215359B2 (ko)
KR (1) KR20150113106A (ko)
CN (1) CN104937581A (ko)
WO (1) WO2014120220A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774495B1 (en) 2013-03-13 2017-09-26 Shoretel, Inc. Hybrid communications system and method of operation
US9559996B1 (en) * 2013-07-02 2017-01-31 Google Inc. Systems and methods for integrating cloud storage and network service
US9552368B1 (en) * 2013-07-02 2017-01-24 Google Inc. Electronic mail attachments garden
KR102099625B1 (ko) * 2013-07-16 2020-04-10 삼성전자주식회사 휴대 단말 및 이의 외부 기기 제어 방법
US10108688B2 (en) 2015-12-22 2018-10-23 Dropbox, Inc. Managing content across discrete systems
CA3031803C (en) * 2016-07-25 2023-01-17 Ajay JADHAV Cloud device system
JP6756259B2 (ja) 2016-12-16 2020-09-16 富士通株式会社 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
CN110213310B (zh) * 2018-03-14 2021-11-30 腾讯科技(深圳)有限公司 一种网络服务的路径获取方法、装置和存储介质
US10664319B1 (en) 2018-11-06 2020-05-26 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11112941B2 (en) * 2018-11-06 2021-09-07 Dropbox, Inc. Content item creation from desktop tray

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745434B1 (ko) * 2002-03-08 2007-08-02 인터내셔널 비지네스 머신즈 코포레이션 네트워크 액세스 방법 및 장치와, 기록 매체
US7584244B2 (en) * 2004-06-04 2009-09-01 Nokia Corporation System, method and computer program product for providing content to a terminal
US7725605B2 (en) * 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US8037506B2 (en) * 2006-03-03 2011-10-11 Verimatrix, Inc. Movie studio-based network distribution system and method
US8296338B2 (en) * 2009-05-05 2012-10-23 Entangled Media Corp. Method for a cloud-based meta-file system to virtually unify remote and local files across a range of devices' local file systems
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US20110125774A1 (en) * 2009-11-20 2011-05-26 Rovi Technologies Corporation Content integration for a content system
US20110126276A1 (en) * 2009-11-20 2011-05-26 Rovi Technologies Corporation Cross platform gateway system and service
CN102340519B (zh) * 2010-07-19 2015-03-18 英华达(上海)科技有限公司 多媒体网络数据分享***
US9697265B2 (en) * 2011-03-23 2017-07-04 Audible, Inc. Synchronizing digital content
US8335851B1 (en) * 2012-03-12 2012-12-18 Ringcentral, Inc. Network resource deployment for cloud-based services

Also Published As

Publication number Publication date
JP6215359B2 (ja) 2017-10-18
JP2016511878A (ja) 2016-04-21
EP2951710A1 (en) 2015-12-09
CN104937581A (zh) 2015-09-23
US20150365497A1 (en) 2015-12-17
EP2951710A4 (en) 2016-07-20
WO2014120220A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
US10162805B2 (en) Application programming interfaces for content curation
JP6215359B2 (ja) 複数のコンピューティングデバイスにわたる情報へのアクセスの提供
US10534835B2 (en) Global media lists for mobile devices
US20180335998A1 (en) Roaming clipboard copy/paste
TW201443670A (zh) 提供不計內容格式及類型之內容可存取性的虛擬庫
US20150149410A1 (en) Publishing to a content delivery system
US20130110832A1 (en) Techniques to determine network addressing for sharing media files
US10666708B1 (en) Systems and methods for updating web pages using static resource version pinning
US11632437B2 (en) Image transformation in hybrid sourcing architecture
US10747728B2 (en) Edit and share unsupported files through instantly generated preview
US10585894B2 (en) Systems and methods for preloading content
US11050843B2 (en) Systems and methods for prefetching content
US20160041722A1 (en) Systems and methods for processing orders of content items
JP2015508212A (ja) 効率的なアトミックアクセスのために最適化されたxmlファイル形式
JP6128503B1 (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
EP3547645B1 (en) System, method and computer-readable storage medium for prefetching content
US9898178B2 (en) Systems and methods for utilizing available map resources to generate previews for map portions
JP2018028927A (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
JP2017199357A (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
JP2016024552A (ja) 電子マガジン作成装置、電子マガジン作成システム、電子マガジン作成方法およびコンピュータプログラム
JP2016024548A (ja) 電子マガジン作成装置、電子マガジン作成システム、電子マガジン作成方法およびコンピュータプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application