KR101699654B1 - 예측 저장 서비스 - Google Patents

예측 저장 서비스 Download PDF

Info

Publication number
KR101699654B1
KR101699654B1 KR1020157024650A KR20157024650A KR101699654B1 KR 101699654 B1 KR101699654 B1 KR 101699654B1 KR 1020157024650 A KR1020157024650 A KR 1020157024650A KR 20157024650 A KR20157024650 A KR 20157024650A KR 101699654 B1 KR101699654 B1 KR 101699654B1
Authority
KR
South Korea
Prior art keywords
file
data files
storage service
data
files
Prior art date
Application number
KR1020157024650A
Other languages
English (en)
Other versions
KR20150119105A (ko
Inventor
노아 안소니 아이스너
Original Assignee
아마존 테크놀로지스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아마존 테크놀로지스, 인크. filed Critical 아마존 테크놀로지스, 인크.
Publication of KR20150119105A publication Critical patent/KR20150119105A/ko
Application granted granted Critical
Publication of KR101699654B1 publication Critical patent/KR101699654B1/ko

Links

Images

Classifications

    • G06F17/30377
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

예측 저장 애플리케이션은 파일을 다른 컴퓨팅 시스템에서 사용될 수 있게 하는 컴퓨팅 시스템으로부터 예측 저장 서비스로 전송하는 파일을 선택적으로 결정한다. 예측 저장 애플리케이션은 파일의 사용을 나타내는 이벤트를 수신할 수 있다. 예측 저장 애플리케이션은 파일이 충분한 중요성을 갖는 것인지 결정하는 것일 수 있고 이를 예측 저장 서비스로 전송할 수 있다. 본 개시의 다른 양태는 상세한 설명, 도면, 및 청구항에 기재된다.

Description

예측 저장 서비스{PREDICTIVE STORAGE SERVICE}
관련 출원과의 상호 참조
본 출원은, 발명의 명칭 "PREDICTIVE STORAGE SERVICE"이며 2013년 2월 25일에 출원된 미국특허출원 제13/776,498(미 변리사 파일 번호(Attorney Docket no.) 90204-855763(061300US))의 우선권 및 이익을 요구한다.
문서는 작업 흐름의 중요한 부분이 되어왔는데, 이들은 추적, 정보제공, 교육 및 지불 기능과 같은, 다양한 기능을 제공한다. 예를 들면, 아이들 및 교사들은 배포지 및 리포트로 업무를 수행한다. 다른 예에서, 기계공은 수리중에 부품, 노동 및 완성이라는 과정을 거친다. 이들 문서의 사용은 작업 흐름의 상태가 문서 내에 반영될 수 있기 때문에 작업 흐름이 계속되도록 할 수 있다.
문서와 내용이 구성되면서, 사람들은 점점 더 다양한 장치에서 내용을 재고하고 편집한다. 예를 들면, 간부는 자신의 스마트폰에서 스프레드시트를 리뷰할 수 있도록 주요 사업 지표를 갖는 최근 스프레드시트를 자신에게 이메일 전송한다. 다른 예에서, 법률비서는 여행중에 변호사가 랩톱에서 리뷰할 수 있도록 USB-드라이브 상에 파일을 저장한다. 또 다른 예에서, 예술가는 변경내용을 원격 서버로 동기화하는 사전-확인된 폴더에 자산 및 진행중인 작업을 저장한다.
본 개시에 따른 다양한 실시예는 도면을 참조하여 기술되고:
도 1은 적어도 하나의 실시예에 따른 예측 저장 서비스(predictive storage service)의 예시를 보여주고;
도 2는 적어도 하나의 실시예에 따른 파일 구조를 사용한 예측 저장 서비스의 예시를 보여주고;
도 3은 적어도 하나의 실시예에 따른 예측 저장 서비스를 갖는 파일을 동기화하는데 사용될 수 있는 프로세스의 예시를 보여주고;
도 4는 적어도 하나의 실시예에 따른 예측 저장 서비스에서 선택될 파일을 결정하기 위하여 사용될 수 있는 프로세스의 예시를 보여주고;
도 5는 적어도 하나의 실시예에 따른 예측 저장 서비스에서 선택될 파일을 결정하기 위하여 사용될 수 있는 프로세스의 예시를 보여주고;
도 6은 적어도 하나의 실시예에 따른 예측 저장 서비스에서 파일을 동기화하기 위하여 사용될 수 있는 프로세스의 예시를 보여주고;
도 7은 적어도 하나의 실시예에 따른 예측 저장 서비스에서 파일을 저장하기 위하여 사용될 수 있는 프로세스의 예시를 보여주고;
도 8은 적어도 하나의 실시예에 따른 데이터 중심 구조(data center organization)의 예시를 보여주고; 그리고
도 9는 다양한 실시예들이 구현될 수 있는 환경을 예시한다.
이하의 설명에서, 다양한 실시예가 기재된다. 설명을 목적으로, 특정의 구성 및 세부사항이 본 실시예의 완전한 이해를 위하여 개진된다. 그러나, 본 실시예는 특정 세부사항 없이 실시될 수 있음은 본 발명의 당업자에게 자명할 것이다. 또한, 주지의 특징들은 기재되는 본 실시예를 불명확하게 하지 않도록 생략되거나 단순화될 것이다.
여기에 기재되고 제시된 기술들은 파일을 다른 위치에서 사용될 수 있도록 하는 파일 구조로부터 저장 서비스로 전송할 파일을 선택적으로 결정하는 것을 포함한다. 예를 들면, 사용자는, 데스크톱 컴퓨터 및 모바일 장치와 같은, 컴퓨팅 시스템을 계정에 등록할 수 있다. 상기 사용자는 데스크톱 컴퓨터 및/또는 모바일 장치가 이들 등록된 컴퓨팅 시스템 상의 활동을 감시하는 예측 저장 애플리케이션을 설치하도록 할 수 있다.
하나의 예시로서, 예측 저장 애플리케이션은 상기 사용자가 랩톱 컴퓨터 상의 PDF 파일을 다운로드하여 열었다고 결정할 수 있다. 상기 PDF 파일이 랩톱 컴퓨터 상에서 열려있는 동안에, 예측 저장 애플리케이션은 상기 사용자가 워드 프로세싱 문서 또한 열었다는 통지를 수신할 수 있다. 예측 저장 애플리케이션은 다음에 랩톱 컴퓨터상에서 여러 번 PDF 및 워드 프로세싱 문서 사이에서 윈도우 포커스가 이동하는 이벤트를 수신할 수 있다. 워드 프로세싱 문서에 대한 저장 이벤트에 대하여, 예측 저장 애플리케이션은 상기 사용자가 파일과 상호 작용(interact)했다는 사실에 적어도 일부 기반하여 PDF 및 워드 프로세싱 문서가 충분한 중요성을 갖는지를 결정할 수 있고 상기 PDF 및 워드 프로세싱 문서가 예측 저장 서비스로 전송되도록 할 수 있다. 예측 저장 서비스에서 한 번, 상기 PDF 및 워드 프로세싱 문서는 지속되거나, 모바일 폰으로 전송될 수 있다. 랩톱 컴퓨터 상에서 상기 PDF 또는 워드 프로세싱 문서에 대한 더 나아간 변화는 또한 상기 예측 저장 애플리케이션 및/또는 모바일 폰으로 동기화될 수 있다. 상기 사용자가 랩톱 컴퓨터를 종료할 때에, 상기 사용자는 상기 모바일 폰상에서 상기 PDF를 리뷰하고 상기 워드 프로세싱 문서를 편집하기를 계속할 수 있다.
예측 저장 애플리케이션은 컴퓨팅 시스템의 파일 구조를 모니터링할 수 있다. 하나의 실시예에서, 서비스로 제공된 가상 데스크톱은 파일 시스템을 모니터링하는 예측 저장 애플리케이션을 포함한다. 파일 시스템은 볼륨, 객체저장 또는 다른 데이터 콘테이너에 기반할 수 있다. 상기 모니터링 정보는 이벤트들, 통지들, 폴링(polling) 또는 기타 푸시풀 기반 정보 또는 이들의 조합을 통하여 결정될 수 있다. 상기 모니터링 정보는 애플리케이션들, 운영 체제들, 하이퍼바이저들(hypervisors), 플러그인들 및/또는 이들의 조합의 모니터링 정보의 기타 소스들로부터 수신될 수 있다. 예를 들면, 상기 애플리케이션은 한 세트의 파일 유형들이 열리고, 닫히고, 생성되고, 수정 및/또는 파괴될 때 통지들을 수신하기 위하여 운영 체제에 등록할 수 있다. 다른 예에서, 애플리케이션은 상기 애플리케이션에 파일 열림, 닫힘, 저장, 자동저장 및/또는 저장 제공 거절에 대하여 통지하는 워드 프로세서에 대한 플러그인을 포함할 수 있다. 또 다른 예에서, 상기 애플리케이션은 수정, 열림, 생성 또는 파일 구조에 저장된 기타 데이트 및 정보에 대한 최근의 변경에 대한 볼륨에서 파일 구조를 주기적으로 스캔할 수 있다. 스캔 중, 저자, 제목, 주제, 태그들, 카테고리, 마지막 저장 사용자명, 수정번호, 버전번호, 애플리케이션명, 생성일자, 마지막 저장일자, 마지막 인쇄일자, 마지막 접근일자, 처리일자, 획득일자, 저작권, 치수들, 폭, 높이, 해상도, 압축, 카메라, ISO 속도, 시리얼번호, 파일구조경로, 페이지, 단어, 문자, 라인, 문단 및/또는 크기와 같은, 다른 파일 메타데이터가 수집될 수 있다.
상기 예측 저장 애플리케이션은 적어도 일부 정량화된 데이터 추론 알고리즘에 기반하여 어느 파일을 업로드할지 결정할 수 있다. 상기 알고리즘은 파일 업로딩의 중요성을 결정하기 위한 휴리스틱(heuristics)과 같은, 중요성 지표를 이용할 수 있다. 어느 파일이 업로드하기에 중요한지를 결정함으로써, 업로딩 대역폭 및 저장 리소스는 더 효과적으로 이용될 수 있다. 예를 들면, 전체 파일 구조(또는 이들의 일부)를 업로딩하는 대신에, 단지 식별된 파일들만 업로드된다. 이러한 선택적 업로딩은 예측 저장 애플리케이션이, 사용자들 폴더 내에 모든 것을 저장하도록 하는 대신에, 측정된 중요성을 갖는 파일의 동기화에 집중하도록 한다. 이러한 선택적 업로딩은 또한, 일시적 또는 관리 파일과 같은, 유용하지 않을 수 있는 문서들의 업로딩을 피한다. 파일 구조 및/또는 파일 구조 내의 파일에 관한 수집된 정보를 이용하여, 상기 예측 저장 애플리케이션은 중요성 지표에 기반하여 저장 서비스로 업로드할 파일을 결정할 수 있다. 예를 들면, 중요성 지표는 사용자가 일정 시간 파일과 상호 작용한 횟수일 수 있다. 알고리즘은 중요성 지표에 따라 파일들을 등급화하기 위하여 사용될 수 있다. 상기 애플리케이션은 서비스로 상위 X 퍼센트의 파일을 업로드하도록 설정될 수 있다(여기에서 X는 설정 변수이다). 다른 설정에서, 상기 알고리즘은 파일들을 등급화하고 전체 등급을 조정하기 위하여 각 파일의 등급을 가중할 수 있다. 예를 들면, 모니터링 프로그램은 문서 유형, 파일 열림의 최근성, 파일이 열린 시간 길이, 열리고 닫힐 때까지의 파일의 전체 크기 변화, 파일의 중요성 등급을 계산하기 위하여 중요성 지표를 결정하기 위한 키워드 및 저자 정보를 사용할 수 있다. 워드 프로세싱 유형을 갖는, 장치 로그인에 맞추어 저자에 의하여 최근에 열린 파일들은 더 높은 중요성 등급을 받을 수 있다. 업로드 스케줄링은 또한 결정된 중요성에 의하여 우선될 수 있다. 다른 예에서, 결정된 중요성은 컴퓨팅 시스템에 설치된 애플리케이션에 적어도 일부 기반할 수 있다. 하나의 실시예에서, 파일은 아이콘이 파일의 파일유형과 연관되는 경우 설치된 애플리케이션과 관련성이 있다고 결정될 수 있다. 예를 들면, "txt"파일 확장자는 모든 "txt" 확장자 파일들에 대한 아이콘을 제공하는 워드 프로세싱 프로그램에 기인하는 아이콘과 연관성을 가질 수 있다. 만약 컴퓨팅 시스템이 설치된 워드 프로세서를 갖지만, 스프레드시트는 갖지 않는다면, 스프레드시트와 관련된 파일들이 중요성 등급에서 감소할 때에 워드 프로세싱과 관련된 파일들은 중요성 등급이 증가할 수 있다.
하나의 실시예에서, 상기 예측 저장 서비스는 파일들을 저장한다. 상기 예측 저장 서비스는, 등록된 컴퓨팅 시스템상의 예측 저장 애플리케이션과의 통신을 통하여 등록된 컴퓨팅 시스템으로부터 파일들을 수신할 수 있다. 등록된 컴퓨팅 시스템은 고객 계정과 연관된 컴퓨팅 시스템일 수 있다. 하나의 실시예에서, 클라이언트는 고객 계정과 관련된 파일들을 수신하기 위하여 예측 저장 서비스에 등록할 수 있다. 예를 들면, 고객은 컴퓨팅 시스템상에 소프트웨어 클라이언트를 설치할 수 있다. 설치의 일부로서, 소프트웨어 클라이언트는, 사용자명과 패스워드 또는 키와 같은, 계정 정보를 요청할 수 있고, 예측 저장 서비스에 등록할 수 있다. 상기 예측 저장 서비스는 다음에 장래 연결상에 소프트웨어 클라이언트를 식별하기 위하여 사용될 수 있는 식별자 또는 키를 소프트웨어 클라이언트로 제공할 수 있다. 다른 실시예에서, 상기 예측 저장 서비스는 가상 데스크톱 서비스로 작업할 수 있다. 가상 데스크톱 서비스의 고객은 서비스의 제공자에 계정을 생성할 수 있다. 소프트웨어 클라이언트를 갖는 운영 체제를 포함하는 가상 장치는 가상 데스크톱 서비스에 의하여 지원될 수 있고 운영 체제에 의하여 생성된 그래픽 사용자 인터페이스는 클라이언트 장치로 스트리밍될 수 있다. 이러한 구성에서, 소프트웨어 클라이언트는 상기 예측 저장 서비스와 통신하도록 하는 계정 정보를 사전-지원받을 수 있다.
이어서 상기 예측 저장 서비스는 파일들을 저장하게 된다. 하나의 실시예에서, 상기 예측 저장 서비스는 파일들에 관련된 다른 서비스들을 제공할 수 있다. 예를 들면, 저장 서비스는 검색들이 파일들 및/또는 파일들의 정보를 찾기 위하여 수행될 수 있도록 파일들을 인덱싱할 수 있다. 상기 검색은 상기 검색된 정보 이전 및 이후 모두의 내용과 함께 파일들로부터 일부를 돌려줄 수 있다. 다른 실시예에서 상기 예측 저장 서비스는 암호화된 파일들을 수신 및 저장한다. 상기 파일들이 전송 장치에 의하여 암호화되므로, 상기 예측 저장 서비스는 상기 파일들을 저장할 수 있고 상기 파일들을 해독할 수 있는 다른 등록된 컴퓨팅 시스템들로 파일들을 중계할 수 있다. 침해의 위험은 상기 예측 저장 서비스가 데이터로 접근하지 못하고, 암호화된 페이로드를 단지 저장한다는 사실에 의하여 완화될 수 있다. 다른 실시예에서, 복합 접근(hybrid approach)은 암호화된 페이로드가 저장되는 경우에 수행되지만, 상기 예측 저장 서비스 또한 암호화 키를 가진다. 다른 복합 접근에서, 암호화된 페이로드는 암호화된 페이로드에 대한 인덱스를 갖고 저장된다.
일부 실시예에서, 상기 저장된 파일들은 상기 예측 파일 서비스로부터 배제될 수 있다. 상기 배제는 현재 결정된 중요성, 사용, 공간 및/또는 시간에 기반할 수 있다. 예를 들면, 파일은 시간 만료 모델로 배제될 수 있다. 만약 저장된 파일이 일정시간 동안 등록된 컴퓨팅 시스템에 접근되지 않았다면, 상기 파일은 상기 예측 저장 서비스로부터 배제될 수 있다. 다른 예에서, 파일은 최소 최근 사용 (LRU, least recently used) 모델로 배제될 수 있다. 만약 상기 예측 저장 서비스가 저장에서 배제되어야 한다고 결정하면, 상기 예측 저장 서비스는 접근된 가장 긴 시간을 갖는 배제될 파일을 선택할 수 있다. 다른 실시예들에서, 상기 예측 저장 서비스는 상기 예측 저장 서비스에 저장된 파일들에 대하여 중요성 등급 및/또는 중요성 지시자(indicator)를 수신 또는 요청할 수 있다. 이들 등급들은, 중요성 등급을 가지며, 임계를 넘지 않는 파일들 또는 중요성 등급의 분포의 통계적 분석으로부터 낮은 아웃라이어(outlier)인 파일들과 같이, 존재한다면, 어느 파일들이 저장 서비스로부터 배제되는지를 결정하는데 사용될 수 있다.
일부 실시예들에서, 상기 예측 저장 서비스는 등록된 장치들을 중계한다. 상기 예측 저장 서비스는 파일들을 분배하는 중계자로 동작할 수 있다. 하나의 실시예에서, 상기 예측 저장 서비스는 등록된 장치들이 파일을 수신할 때에 파일들을 일시적으로 저장할 수 있다. 하나의 실시예에서, 상기 예측 저장 서비스는 피어 연결을 용이하게 하여 서로에 대하여 파일들을 전송하도록 하고 상기 예측 저장 서비스는 상기 파일들을 저장하지 않는다.
이제 도 1을 참조하면, 적어도 하나의 실시예에 따른 예측 저장 서비스(100)의 예시가 도시된다. 도시된 상기 실시예에서, 제1 컴퓨팅 시스템에 접근된 파일(102)은 사용자에 의한 다음 접근을 위하여 예측 저장 서비스(100)에 의하여 촉진되는 바의 제2 컴퓨팅 시스템으로 전송된다. 상기 예측 저장 서비스(100)는 어느 파일을 전송하지를 결정하기 위하여 중요성 지표를 사용할 수 있다. 예를 들면, 사용자는, 데스크톱 컴퓨터(104) 상에서 접근되는, 워드 프로세싱 파일과 같은, 파일(102)에 접근한다. 데스크톱 컴퓨터(104)에 상주하는 예측 저장 애플리케이션은 파일로의 최근 접근이 중요성 지표일 수 있기 때문에 사용자에게 상기 접근된 파일(102)이 중요하다고 결정한다. 일부 실시예들에서 중요성은 알고리즘 또는 몇가지 측정값들을 사용하는 휴리스틱에 의하여 계산된 중요성 지표의 집합으로부터 계산된다. 상기 측정값들은 전술한 바의 모니터링 정보 및/또는 파일 메타데이터를 포함할 수 있다. 상기 파일(102)이 충분히 높은 결정된 중요성을 가지므로, 예측 저장 서비스(110)가 연결될 수 있다. 일부 실시예들에서, 상기 파일은 인터넷(108)을 통하여 상기 예측 저장 서비스(110)로 전송될 수 있다. 하나 이상의 서버들(112)을 사용하여, 상기 예측 저장 서비스(110)는 파일(102)을 저장할 수 있다. 일부 실시예에서, 상기 예측 저장 서비스(110)는 다음에 모바일 장치(106)와의 연결을 시도할 수 있고, 푸시 통지 또는 기타 푸시 방식을 통하는 등으로, 상기 모바일 장치로 상기 파일(102)을 전송할 수 있다. 다른 실시예들에서, 상기 모바일 장치(106)는 상기 예측 저장 서비스(110)를 연결하고 상기 파일(102)을 수신하도록 상기 예측 저장 서비스(110)로부터 갱신을 요청할 수 있다. 상기 모바일 장치(106)로부터의 갱신을 위한 이 요청은 상기 모바일 장치(106) 상의 예측 저장 애플리케이션의 개시, 상기 모바일 장치(106)로부터의 주기적 폴링 요청, 상기 모바일 장치(106) 상의 이벤트 또는 기타 풀 방식에 기인할 수 있다.
다른 실시예들에서, 상기 예측 저장 서비스(110)는 상기 파일(102)에 대하여 상기 모바일 장치(106)로 직접 전송되도록 정렬할 수 있다. 하나의 실시예에서, 등록된 장치들은 상기 예측 저장 서비스(110)와 연결되어 유지될 수 있다. 예를 들면, 중요한 파일이 다른 컴퓨팅 시스템들과 공유되도록 결정될 때에, 데스크톱 시스템(104)은 상기 예측 저장 서비스(110)를 연결하고 모바일 장치(106)와 같은, 다른 컴퓨팅 시스템들에 대한 연결 정보를 회복할 수 있다. 상기 구성에 따라, 상기 데스크톱 시스템(104)은 모바일 장치(106)로 직접 연결할 수 있고, 모바일 장치(106)는 데스크톱 시스템(104)으로 직접 연결할 수 있고, 상기 예측 저장 서비스(110)는 프록시로 동작할 수 있거나 상기 데스크톱 시스템(104) 및 모바일 장치(106) 사이의 연결이 수립될 수 있다. 상기 연결을 사용하여, 데스크톱 시스템(104)은 상기 모바일 장치(106)로 상기 파일(102)을 전송할 수 있다.
상기 데스크톱 및/또는 모바일 장치(106)는 상기 예측 저장 서비스(110)에 등록될 수 있다. 하나의 실시예에서, 고객은 상기 예측 저장 서비스(110)에 계정을 생성한다. 상기 고객은 다음에, 데스크톱 컴퓨터(104) 및 모바일 장치(106)와 같은, 각 컴퓨팅 시스템 상에 애플리케이션을 설치할 수 있다. 상기 애플리케이션은 상기 예측 저장 서비스(110)에 컴퓨팅 시스템이 등록되도록 할 수 있고 컴퓨팅 시스템을 고객 계정에 연결한다.
다른 실시예에서, 상기 예측 저장 서비스(110)는 또한 가상 데스크톱 서비스(114)와 연결되어 작업할 수 있다. 예를 들면, 가상 데스크톱 서비스(114)를 운영하는 서비스 제공자는 사용자에 대하여 운영 체제를 포함하는 가상 장치를 개시할 수 있다. 운영 체제에 대한 사용자 인터페이스(118)는 사용자에 의하여 운영되는 컴퓨팅 시스템으로 스트리밍될 수 있다. 상기 가상 데스크톱 서비스(114)는 가상 장치 내의 프로그램을 실행하는 하나 이상의 가상 장치들을 제공하고 운영 체제에 대한 사용자 인터페이스(118)를 클라이언트로 스트리밍하는 하나 이상의 물리적 장치(116)들을 포함할 수 있다. 사용자 인터페이스(118)로부터의 입력들은 상기 가상 데스크톱 서비스(114)로 스트리밍될 수 있다. 예를 들면, 가상 장치는 운영 체제의 그래픽 사용자 인터페이스를 원격 랩톱으로 보내고 원격 랩톱으로부터 키보드 및 마우스 입력들을 수신할 수 있다. 데이터 센터 내의 가상 장치들의 조직의 예가 도 8에 보여진다. 가상 데스크톱 서비스(114)는 네트워크를 통해 또는 인터넷을 통해 예측 저장 서비스(110)와 통신하여 사용자 인터페이스(118)에게 가용한 파일(102)을 만들 수 있다. 하나의 실시예에서, 가상 데스크톱 환경은 파일(102)을 접근 및/또는 수정하는 가상 장치 내의 프로그램을 실행할 수 있다. 가상 데스크톱 서비스(114)의 디스플레이는 클라이언트 컴퓨팅 리소스 상의 디스플레이를 위하여 보내질 수 있고, 파일(102)의 처리 및 데스크톱 환경 프로그램의 실행은 가상 데스크톱 서비스(114) 내에서 발생하게 된다. 마우스, 터치 및/또는 키보드와 같은, 입력들은 사용자 인터페이스(118)로부터 가상 데스크톱 서비스(114)로 통신될 수 있다.
일부 실시예들에서, 상기 예측 저장 서비스(110)는 또한 웹 인터페이스 상에서 파일(102)로의 접근을 제공한다. 하나의 실시예에서, 상기 웹 인터페이스는 상기 중요한 파일을 다운로드하기 위한 다운로드 기능을 포함한다. 다른 실시예에서, 상기 웹 인터페이스는 웹 인터페이스를 통하여 파일을 편집하기 위한 편집 기능을 포함한다. 예를 들면, 워드 프로세싱 문서는 웹 인터페이스를 통하여 이용할 수 있는 워드 프로세싱 웹 애플리케이션에 기인하여 웹 인터페이스를 통하여 편집될 수 있다. 스프레드시트 파일 유형들을 위한 스프레드시트 웹 애플리케이션 또는 오디오 파일 유형들을 위한 오디오 플레이어와 같은, 다른 파일 유형들 및 애플리케이션들 또한 이용할 수 있다. 일부 실시예들에서, 가용성을 용이하게 하기 위하여 하나의 유형을 다른 유형으로 파일 유형을 변환하기 위한 변환기 또한 사용될 수 있다. 예를 들면, 오디오 파일은 덜 지원되는 파일 유형으로부터 더 일반적인 파일 유형 또는 클라이언트 브라우저에 의하여 지원되는 파일 유형으로 변환될 수 있다.
이제 도 2를 참조하면, 적어도 하나의 실시예에 따른 파일 구조(206)를 사용하는 예측 저장 서비스의 예시가 도시된다. 파일 구조(206)는 모니터링 정보 및 파일 메타데이터를 통하여 식별될 수 있는 중요한 파일들(212)에 대하여 모니터링될 수 있다. 다른 파일들(210)은 덜 중요하게 평가될 수 있다. 예를 들면, 컴퓨팅 시스템(202) 상의 예측 저장 애플리케이션은 컴퓨팅 시스템(202)에 연결된 저장소(204)를 모니터링할 수 있다. 도시된 상기 실시예에서, 상기 저장소(204)는 계층 특성을 갖는 파일 구조(206)를 포함한다. 폴더들(208)은 다른 폴더들(208) 및/또는 파일들(210 및/또는 212)을 포함할 수 있다. 상기 예측 저장 애플리케이션은 파일 이벤트가 통지되도록 등록될 수 있고/있거나 종종 파일 구조(206)를 스캔할 수 있다.
예를 들면, 예측 저장 애플리케이션은 백그라운드 서비스로 운용되도록 컴퓨팅 시스템(202)상에 설치될 수 있다. 상기 예측 저장 애플리케이션은, 전술한 모니터링 정보 및 파일 메타데이터에 대하여, 하드 드라이브 볼륨과 같은, 저장소(204)를 모니터링할 수 있다. 상기 예측 저장 애플리케이션은 상기 스캔 및/또는 상기 파일 이벤트들로부터 준비된 중요성 지표들에 기반하여 식별된 파일들에 대한 중요성 등급을 결정할 수 있다. 중요성 등급을 사용하여, 중요한 파일들(212)의 집합(214)이 결정되어 예측 저장 서비스로 전송된다. 하나의 실시예에서, 24시간이 경과하는 동안에 5점에서 시작하여 1점이 감소하는, 감소하는 중요성 지표 점수가 주어진다. 2점은 편집가능한 파일에 대하여 주어질 수 있고, 1점은 글자를 포함하는 문서에 대하여 주어진다. 6 이상의 중요성 점수를 갖는 파일들은 중요하다고 결정될 수 있고, 5 이하의 점수는 상기 예측 저장 서비스로 전송되지 않게 된다.
일부 실시예들에서, 상기 파일들은 암호화된다. 일부 실시예에서, 상기 파일들은 TLS/SSL 상에서 전송된다. 다른 실시예들에서 파일들은 저장을 위한 컴퓨팅 시스템(202)을 암호화된 파일로 남겨두기 전에 암호화된다. 파일들을 암호화함으로써, 상기 예측 저장 애플리케이션은 가로채기(interception)의 위험 및/또는 비밀 정보의 침해를 줄일 수 있다.
상기 예측 저장 애플리케이션은 파일, 파일유형, 폴더, 모니터링 정보 및 파일 메타데이터를 포함 및/또는 제외하기 위하여 사용자 및/또는 관리자에 의하여 설정될 수 있다. 하나의 실시예에서, 관리자는 기업 컴퓨팅 시스템들의 집합에 대한 예측 저장 애플리케이션을 설정할 수 있다. 중요한 파일들은 팀 멤버 컴퓨팅 시스템으로 전송되어 팀 멤버들이 적어도 다른 팀 멤버와 관련되었다고 결정된 갱신 정보를 확인할 수 있게 된다.
이제 도 3을 참조하면, 적어도 하나의 실시예에 따른 예측 저장 서비스를 갖는 파일들을 동기화하기 위하여 사용될 수 있는 프로세스(300)의 예시가 도시된다. 프로세스(300)는, 데스크톱 컴퓨터 시스템(104), 모바일 장치(106), 파일(102), 예측 저장 서비스(110), 인터넷(108) 및 서버들(112)과 같은, 도 1에 발견되는 하나 이상의 컴퓨팅 리소스들의 사용을 통하여 달성될 수 있다. 예측 저장 애플리케이션은 컴퓨팅 시스템 상에 설치(302)될 수 있다. 컴퓨팅 시스템은 예측 저장 서비스로 등록(304)될 수 있다. 예를 들면, 설치의 일부로서, 소프트웨어 클라이언트는 예측 저장 서비스를 연결하고, 사용자명 및 패스워드 또는 디지털 키와 같은, 고객 계정에 연관된 바의 클라이언트를 식별하는데 사용될 수 있는 자격을 제공할 수 있다. 상기 소프트웨어 클라이언트는 클라이언트를 식별하기 위하여 사용할 수 있는 예측 저장 서비스에 의하여, 키와 같은, 자격의 집합이 주어질 수 있다. 다른 실시예들에서, MAC 어드레스, 하나 이상의 식별 정보 또는 시스템에 대한 기타 식별 정보의 해시가 예측 저장 서비스에 등록하고 클라이언트를 식별하기 위하여 사용될 수 있다. 다른 시스템들은 또한 운영 체제에 적합한 애플리케이션을 설치하고 예측 저장 서비스로 장치들을 등록함으로써 부가될 수 있다. 상기 예측 저장 애플리케이션(들)은 측정값들에 대한 파일들 및/또는 파일들의 잠재적 중요성을 나타내는 대로 결정되는 이벤트들을 모니터링(308)할 수 있다. 일부 실시예들에서, 이벤트들은 파일과의 사용자 소통을 측정하는데 사용될 수 있다. 만약 어떠한 중요한 파일도 발견되지 않고(310), 어떠한 새로운 시스템들도 등록될 필요가 없다면(306), 파일들은 계속하여 모니터링될 수 있다(308). 만약 잠재적으로 중요한 파일이 발견되면(310), 파일의 중요성이 계산될 수 있다(312). 예를 들면 만약 예측 저장 애플리케이션이 워드 프로세싱 파일이 저장된 이벤트를 수신했다면, 예측 저장 애플리케이션은 대응하여 파일의 중요성 등급을 결정할 수 있다. 만약 파일이 나타내는 등급이 충분히 중요하다면(314), 상기 파일은 예측 저장 서비스로 전송(316)될 수 있고 다른 등록된 장치들로 전송되어질 수 있다. 이 프로세스는 다음에 블록(306)에서 반복하여 시작될 수 있다. 그러나, 만약 파일이 충분히 중요하지 않다면(314), 이 프로세스는 블록(306)에서 반복하여 시작할 수 있다. 다른 장치들이, 이후를 포함하여, 다양한 시간에 부가될 수 있음이 주목되어야 한다.
프로세스(300)의 일부 또는 모두(또는 여기에 기재된 모든 다른 프로세스들, 또는 이들의 변형들 및/또는 조합들)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어하에서 수행될 수 있고, 하드웨어 또는 이의 조합들에 의하여, 하나 이상의 프로세서들 상에서 집합적으로 실행되는 코드(예로서, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로 구현될 수 있다. 이 코드는, 예를 들면, 하나 이상의 프로세서들에 의하여 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 컴퓨터-판독가능한 저장 매체에 저장될 수 있다. 컴퓨터-판독가능한 저장 매체는 비-휘발성일 수 있다.
프로세스들의 특정의 예가 도시될 때에, 프로세스 동작의 일부는 직렬 대신에 병렬로 수행될 수 있음이 주목되어야 한다. 예를 들면, 서비스로의 파일 전송(316) 및 등록된 장치들로의 전송(318)은 병렬로 수행될 수 있다. 다른 예에서, 애플리케이션 설치(302) 및 컴퓨팅 시스템의 등록(304)은 별개의 컴퓨팅 시스템들 상에서 병렬로 수행될 수 있다.
다른 예에서, 제1 장치는 제1 파일이 중요하다고 결정할 수 있고 제2 장치는 제2 파일이 중요한 것인지 결정하는 것일 수 있다. 상기 제1 장치는 제1 파일이 예측 저장 서비스 및/또는 제2 장치에 동기화되도록 할 수 있다. 제2 장치는 상기 제2 파일이 예측 저장 서비스 및/또는 제1 장치에 동기화되도록 할 수 있다. 결과적으로, 상기 제1 파일 및 제2 파일은 예측 저장 서비스 및/또는 제1 및 제2 장치들 모두에 의하여 저장될 수 있다.
컴퓨팅 시스템 상의 예측 애플리케이션의 책임(responsibility)은, 어느 파일들이 예측 저장 서비스에서 또는 기타 장치들에서와 같이, 컴퓨팅 시스템의 외부에서 이용가능해야 하는 것인지 결정하는 것일 수 있다. 도 4는 적어도 하나의 실시예에 따른 예측 저장 서비스에서 선택할 파일들을 결정하는데 사용될 수 있는 프로세스(400)의 예시를 도시한다. 프로세스(400)는, 데스크톱 시스템(104), 모바일 장치(106), 파일(102), 예측 저장 서비스(110), 인터넷(108) 및 서버들(112)과 같은, 도 1에 발견되는 하나 이상의 컴퓨팅 리소스들의 사용을 통하여 달성될 수 있다. 예측 저장 애플리케이션은 컴퓨팅 시스템상에 상주한다. 상기 예측 저장 애플리케이션은 파일이 컴퓨팅 시스템의 외부에 공유되어야 하는 표시(indication)들에 대한 파일 구조를 모니터링(402)한다. 모니터링 및/또는 파일 메타데이터와 같은, 다른 정보에 기반하는 알고리즘 및/또는 휴리스틱을 사용하여, 예측 저장 애플리케이션은 예측 저장 서비스에 전송될 파일을 선택적으로 결정(404)할 수 있다. 예를 들면, 중요성 등급은 최근에 열리고, 최근에 저장되고 워드 프로세싱 확장자를 갖는 파일과 같은 속성들에 의하여 증가될 수 있다. 만약 중요성 등급이 충분히 높다면, 상기 파일은 예측 저장 서비스로 전송되도록 선택될 수 있다. 한번 선택되면, 상기 파일들은 상기 예측 저장 서비스로 업로딩(406)될 수 있다. 예를 들면, 상기 예측 저장 애플리케이션은 TLS/SSL과 같은 보안 통신 채널을 사용하여 상기 예측 저장 서비스로 애플리케이션 프로그래밍 인터페이스 콜을 수행할 수 있다. 일부 실시예들에서, 상기 파일은 상기 예측 저장 서비스로 전송되기 전에 예측 저장 애플리케이션에 의하여 컴퓨팅 시스템상에 암호화될 수 있다.
도 5에 도시된, 하나의 실시예에서, 상기 모니터링은 이벤트-기반 모니터링을 포함할 수 있다. 상기 프로세스(500)는, 데스크톱 컴퓨터 시스템(104), 모바일 장치(106), 파일(102), 예측 저장 서비스(110), 인터넷(108) 및 서버들(112)과 같은, 도 1에 발견되는 하나 이상의 컴퓨팅 리소스들의 사용을 통하여 달성될 수 있다. 상기 예측 저장 애플리케이션은 파일 오퍼레이션에 관련된 파일의 중요성의 결정을 개시하는 파일 오퍼레이션의 이벤트 통지를 수신(502)할 수 있다. 결정이 이루어지기 전에, 파일에 대한 정보가 수집될 수 있다. 도시된 실시예에서, 파일의 열림, 저장 또는 삭제와 같은, 다른 장치들에 걸친 파일의 사용이 결정될 수 있다(504). 파일유형이 결정될 수 있다(506). 일부 실시예들에서, 워드 프로세싱 문서들, 스프레드시트들, 그림들 및/또는 문서들과 같은, 파일들은, 설정 파일들, 백업 파일들 및/또는 실행가능한 파일들과 같이, 통상 사용되지 않는 파일들보다 더 큰 중요성이 주어질 수 있다. 파일과 관련된 이벤트의 히스토리가 결정될 수 있다(508). 예를 들면, 만약 파일이 전날에의 복수 저장, 복수 열림 이벤트를 갖고/갖거나 활성 윈도우 시간의 지연이 임계를 넘어선다면, 이때 파일의 중요성 등급이 증가될 수 있다. 다른 애플리케이션과 관련된 파일의 사용이 결정될 수 있다(510). 예를 들면, 파일의 중요성 등급은 파일이 다른 파일의 중요성에 관련하여 열릴 때에 증가될 수 있다. 다른 예에서, 결정된 중요성을 이미 갖는 파일과 실험하의 파일 사이에 포커스 변화는 실험하의 파일의 중요성 등급을 증가시키게 된다. 오퍼레이션(504 내지 510)으로부터의 이 수집 정보는 잠재적 정보 수집의 예시이다. 수집된 정보를 사용하여, 파일의 중요성 등급이 결정될 수 있다(512). 만약 충분히 중요하다고 결정되면(514), 파일은 서비스(516)로 전송될 수 있고 다음에 프로세스는 오퍼레이션(502)에서 반복한다. 만약 파일이 충분히 중요하지 않다면(514), 예측 저장 애플리케이션은 오퍼레이션(502)에서 새로운 이벤트를 기다리기 위하여 돌아간다.
일부 실시예들에서, 중요성 등급은 클라이언트의 필요에 따라 구성될 수 있다. 하나의 실시예에서, 상기 예측 저장 시스템은 사용자와 함께 사용될 수 있다. 사용자는 (시스템 폴더들과 같은) 폴더들을 포함 또는 제외하기 위하여 폴더들을 포함, 또는 제외하도록 문서들을 설정할 수 있고 USB 드라이브와 같은, 일시적 볼륨을 포함할 것인지를 결정한다. 중요성 등급 계산들 또한 설정될 수 있다. 예를 들면, 사진사는 문서보다 이미지에 더 관심이 있고, 변리사는 이미지보다 문서 및 기술적 도면에 더 관심이 있게 된다. 상기 예측 저장 애플리케이션은 디폴트 설정을 포함할 수 있다.
다른 실시예에서, 상기 예측 저장 시스템은 관리자를 갖는 회사 또는 팀 환경에서 사용될 수 있다. 예측 저장 서비스에 업로딩된 파일들은 파일들의 사용자에게 주어진 파일 퍼미션(file permission)을 준수할 수 있다. 예를 들면, 팀에게는 읽기전용이지만, 중요하다고 결정된 파일은 읽기전용 조건으로 유지될 수 있다. 만약 필요하다면, 파일은, 워드 프로세싱 문서를 이미지 집합으로 변환하는 것과 같은, 문서를 수신하는 장치에서 읽기 전용 조건을 준수하는 포맷으로 변환될 수 있다. 다른 예에서, 퍼미션은 문서를 확인 및/또는 편집하기 위한 퍼미션을 갖는 팀 멤버에게 중요하다고 평가된 파일을 단지 배분하는 예측 저장 서비스에 의하여 준수될 수 있다.
일부 실시예에서, 예측 저장 서비스는 파일들에 대한 저장소로 작용하기보다는 장치들 사이에 파일 통신을 용이하게 할 수 있다. 도 6에서, 적어도 하나의 실시예에 따른 예측 저장 서비스에 있는 파일을 동기화하기 위하여 사용될 수 있는 프로세스(600)의 예시가 도시된다. 상기 프로세스(600)는, 데스크톱 컴퓨터 시스템(104), 모바일 장치(106), 파일(102), 예측 저장 서비스(110), 인터넷(108) 및 서버들(112)과 같은, 도 1에 발견되는 하나 이상의 컴퓨팅 리소스들의 사용을 통하여 달성될 수 있다. 상기 예측 저장 서비스는 고객에 대한 계정을 등록(602)할 수 있다. 클라이언트는 계정을 참조하고 컴퓨팅 시스템을 등록(604)할 수 있다. 만약 더 많은 컴퓨팅 시스템이 사용 가능하면, 등록 절차가 복수 장치들과 복수 회수 수행될 수 있듯이, 등록될 수 있다. 상기 예측 저장 시스템은 다른 등록된 시스템에 동기화하기 위한 파일을 수신(606)할 수 있다. 일부 실시예들에서, 파일은 등록된 시스템에서 동작하는 예측 저장 애플리케이션으로부터 수신될 수 있다. 하나의 실시예에서, 수신된 파일은 암호화된다. 다른 실시예에서, 암호화된 키는 등록된 시스템에 알려지지만, 예측 저장 서비스에는 알려지지 않는다.
파일을 수신(606)한 후, 하나 이상의 등록된 장치 또는 시스템이 파일을 동기화(608)할 수 있다. 일부 실시예들에서, 상기 예측 저장 서비스는 성공이 달성될 때까지 파일을 동기화하기 위하여 시도할 수 있다. 다른 등록된 시스템 또한 동기화될 수 있다. 모든 시스템이 동기화되면, 파일은 서비스로부터 제거(610)될 수 있다. 하나의 실시예에서, 상기 예측 저장 서비스는 파일을 실제로 저장하지 않지만, 장치들 사이에 동기화가 일어나도록 할 수 있다. 예를 들면, 제1 컴퓨팅 시스템은 파일을 동기화하는 제2 컴퓨팅 시스템의 주소를 수신할 수 있다. 이 방식으로, 상기 예측 저장 시스템은 동기화를 위한 주소록으로 활용된다. 일부 실시예들에서, 등록된 컴퓨팅 시스템이 네트워크를 변경하거나 방화벽 뒤에 존재하기 때문에, 컴퓨팅 시스템 상의 예측 저장 애플리케이션은 접촉될 수 있는 주소를 주기적으로 갱신할 수 있다.
일부 실시예들에서, 예측 저장 서비스는 등록된 컴퓨팅 시스템이 불러 올 수 있는 파일에 대한 저장소로 작용할 수 있다. 도 7에서, 적어도 하나의 실시예에 따른 예측 저장 서비스에 있는 파일을 저장하는데 사용될 수 있는 프로세스(700)의 예시가 도시된다. 상기 프로세스(700)는, 데스크톱 컴퓨터 시스템(104), 모바일 장치(106), 파일(102), 예측 저장 서비스(110), 인터넷(108) 및 서버들(112)과 같은, 도 1에 발견되는 하나 이상의 컴퓨팅 리소스들의 사용을 통하여 달성될 수 있다. 상기 예측 저장 서비스는 고객에 대한 계정을 등록(702)할 수 있다. 클라이언트는 계정을 참조하여 컴퓨팅 시스템을 등록(704)할 수 있다. 만약 더 많은 컴퓨팅 시스템이 이용가능하면, 이들 또한 등록될 수 있다. 상기 예측 저장 시스템은 등록된 컴퓨팅 시스템으로부터 파일을 저장하기 위해 수신할 수 있다(706). 상기 예측 저장 서비스는 파일을 동기화(708)하는 하나 이상의 컴퓨팅 시스템을 선택할 수 있고, 필요한 경우, 성공될 때까지 파일을 동기화하는 시도를 할 수 있다. 일부 실시예에서 복수 장치들의 동기화는 병렬로 달성될 수 있다. 파일이 더 이상 중요하지 않은 문서로 결정될 때까지 파일은 예측 저장 서비스에 저장(718)될 수 있다.
파일들은 실시예의 구성에 따라 예측 저장 서비스로부터 삭제될 수 있다. 일부 실시예들에서, LRU 알고리즘은, 크기, 파일의 수 또는 저장소에 대한 기타 측정값과 같은, 저장 한도에 기반하여 가장 오래된 접근 파일을 삭제한다. 다른 실시예들에서, 등록된 장치들은 저장된 파일들의 중요성 등급에 대하여 검색될 수 있다. 임계 이하의 중요성을 갖는 파일들은 예측 저장 서비스로부터 삭제될 수 있다. 하나의 실시예에서, 중요성 등급은 예측 저장 서비스에 의하여 유지되는 접근 및 시간에 의하여 결정될 수 있다.
일부 실시예들에서, 파일들은 본래 장치들은 제외하고 동기화된 장치들로부터 제거될 수 있다. 예를 들면, 동기화된 파일들은 임시 폴더에 저장될 수 있다. 파일의 오리지널은 컴퓨팅 시스템의 파일 구조에 상주할 수 있다. 장치 요건에 따라, 임시 폴더는 예측 저장 서비스와 상이한 시간 및 방식으로 파일들을 삭제할 수 있다. 일부 실시예들에서, 임시 폴더로부터 파일의 삭제는 장치에서 동작하는 예측 저장 애플리케이션의 중요성 등급 및/또는 설정에 기반될 수 있다. 다른 실시예들에서, 임시 폴더로부터 파일의 삭제는 예측 저장 서비스에 의하여 제어될 수 있다.
다른 실시예들에서, 상기 예측 저장 서비스는 또한 다른 서비스들을 제공한다. 예를 들면, 상기 예측 저장 서비스는 수신한 파일들을 인덱싱하는 검색 서비스들을 제공할 수 있다. 요청하는 경우, 상기 인덱스는 저장된 파일들 사이를 검색하도록 탐색될 수 있다. 다른 실시예에서, 상기 예측 저장 서비스는, 다운로드 또는 웹 애플리케이션을 통하는 것과 같이, 파일로의 접근을 제공할 수 있다. 예를 들면, 워드 프로세싱 웹 애플리케이션은 파일에 대한 편집 접근을 제공할 수 있다.
일부 실시예에서, 상기 예측 저장 서비스는 중요한 파일들의 버전들을 포함할 수 있다. 예를 들면, 사용자는 밤 늦게 모바일 장치에 있는 파일을 편집할 수 있다. 다음날 아침 사용자는 지난밤 변경을 후회할 수 있다. 드롭-다운 박스에서, 사용자는 컴퓨팅 시스템으로 동기화하기 위한 이전 버전을 선택하고 이전 버전을 수신할 수 있다. 만약 파일이 삭제되면, 이전 버전이 파일을 회복하는데 사용될 수 있다. 다른 실시예에서, 상기 버전들은 애플리케이션의 자동저장 속성을 통하여 획득될 수 있다. 예를 들면, 사용자는 몇 시간 동안 파일에 대하여 작업할 수 있다. 차별파일(differential file)과 같은, 자동저장 파일들은 다른 컴퓨팅 시스템들에서 사용을 위하여 예측 저장 서비스로 업로딩될 수 있다. 만약 사용자가 컴퓨팅 시스템을 재우고 제2 컴퓨팅 시스템으로 이동한다면, 비록 파일이 이전 컴퓨팅 시스템 상의 애플리케이션에 의하여 기술적으로 저장되지 않은 경우에도, 사용자는 마지막 자동저장으로부터 여전히 편집을 계속할 수 있다. 하나의 실시예에서, 사전 자동저장은 또한 사전 버전으로 선택될 수 있다. 컴퓨팅 시스템 및 자동저장에 따라, 예측 저장 서비스는 선택된 버전의 정확한 재생산을 나타내기 위하여 오리지널 파일 및 자동저장 파일을 사용할 수 있다.
일부 실시예들에서, 상기 예측 저장 서비스는 존재하는 파일의 새로운 복사본을 생성하기 보다 예측 저장 서비스에 의하여 저장된 존재하는 파일을 갱신하도록 결정할 수 있다. 상기 예측 저장 서비스는 파일들의 내부 분석을 사용할 수 있거나 파일들의 분석을 위한 클라이언트 에이전트에 의존할 수 있다. 하나의 내부 분석 실시예에서, 로컬 컴퓨팅 장치 상의 예측 저장 애플리케이션은 파일이 충분한 중요성 등급을 가지는 것으로 사전에 결정하고 예측 저장 서비스로 파일을 업로딩하였다. 상기 예측 저장 애플리케이션은 다음에 파일이 예측 저장 서비스에 의하여 저장된 파일의 버전과 비교하여 분석되어야 한다고 결정할 수 있다. 파일 포맷의 이해를 사용하여, 예측 저장 애플리케이션은 파일이 현재이거나, 수정되었거나 과거 버전인지를 결정하기 위하여 파일 내의 데이터를 분석 및 해석할 수 있다. 만약 변경되었다면, 예측 저장 애플리케이션은 예측 저장 서비스 내의 파일로 갱신을 준비할 수 있다. 갱신을 전송함으로써, 전체 파일이 전송될 필요가 없어, 대역폭을 절약하게 된다.
클라이언트 에이전트 실시예에서, 로컬 컴퓨팅 장치 상의 예측 저장 애플리케이션은 파일이 충분한 중요성 등급을 갖는다고 사전에 결정하고 클라이언트 에이전트로부터 고유 식별자에 따라 예측 저장 서비스로 파일을 업로딩하였다. 상기 예측 저장 애플리케이션은 다음에 상기 파일이 예측 저장 서비스에 의하여 저장된 파일의 버전에 따라 분석되어져야 한다고 결정할 수 있다. 이러한 결정은, 로컬 저장 이벤트 또는 예측 저장 서비스에서 파일의 업로드 이벤트와 같은, 주기적 스캔 또는 이벤트에 기반될 수 있다. 상기 예측 저장 애플리케이션은 파일에 대한 분석을 수행하는 클라이언트 에이전트로부터 고유 식별자를 수신할 수 있다. 상기 고유 식별자는 상기 예측 저장 서비스가 파일이 새로운 버전인지, 현재 버전인지 파일의 오래된 버전인지를 결정할 수 있도록 상기 예측 저장 서비스로 전송될 수 있다. 만약 새로운 것이면, 상기 예측 저장 애플리케이션은 상기 예측 저장 서비스로 파일을 업로딩할 수 있다. 만약 오래된 것이면, 상기 예측 저장 서비스는 파일의 현재 버전을 요청할 수 있다.
파일의 갱신된 버전은 예측 파일 서비스에 의하여 저장될 수 있다. 일부 실시예들에서, 파일의 갱신된 버전은 다른 버전의 트리-구조 및/또는 버전들의 가지에 저장된다. 다른 실시예들에서, 새로운 버전은 오래된 버전을 덮어쓴다. 파일들의 버전들은 또한 고유 식별자 메타데이터를 포함할 수 있다. 고유 식별자 메타데이터는 파일의 버전이 오래된 것인지, 새로운 것인지 또는 예측 파일 서비스에 의하여 저장된 버전에 비하여 현재의 것인지에 대한 정보를 제공할 수 있다. 예를 들면, 고유 식별자는 자동-증가 값, 시간 스탬프 및 변경 저자 식별자를 포함할 수 있다. 이 예에서, 가장 새로운 버전은 자동-증가 값에 의하여 결정될 수 있다. 만약 고유 식별자가 동일하다면 파일들은 현재로 간주될 수 있다. 그러나, 만약 자동-증가 값이 동일하지만, 다른 필드들이 일치하지 않는다면, 상충하는 편집이 존재할 수 있다.
도 8은 예측 저장 서비스 및/또는 스트리밍 데스크톱 서비스를 지원하기 위하여 사용될 수 있는 데이터 센터 환경(800)의 모습을 도시한다. 데이터 센터(800)는 공유된 컴퓨팅 리소스들 및/또는 공유된 인프라의 집합을 포함할 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 데이터 센터(800)는 가상 장치 슬롯(804), 물리적 호스트(802), 파워서플라이(806), 라우터(808), 격리존(810) 및 지리적 위치(812)를 포함할 수 있다. 물리적 호스트(802)는 복수의 가상 장치 슬롯(804)에 의하여 공유될 수 있는데, 각 슬롯(804)은 게스트 운영 체제를 포함하는 가상 장치를 호스팅하는데 사용될 수 있다. 복수의 물리적 호스트(804)는, 서버 랙에 제공된 파워서플라이(806)와 같은, 파워서플라이(806)를 공유할 수 있다. 라우터(808)는 네트워크 트래픽을 라우팅하기 위하여 몇 개의 파워서플라이(806)를 경유하는 복수의 물리적 호스트(804)를 제공할 수 있다. 격리존(810)은 많은 라우터(808)를 제공할 수 있고, 격리존(810)은 백업 생성기와 같은 과잉으로 제공되는 컴퓨팅 리소스의 그룹이 될 수 있다. 복수 격리존(810)은, 데이터 센터(800)와 같은, 지리적 위치(812)에 상주할 수 있다. 하나 이상의 프로비저닝(provisioning) 서버(814)는 결정된 역할 및/또는 계산에서 공유된 리소스/인프라를 사용하여 구현 리소스를 이용할 수 있는 사용자 데이터 및 등급을 분석하기 위한 명령들로 구성된 메모리 및 프로세서를 포함할 수 있다. 프로비저닝 서버(814)는 또한 건전성의 검출 및/또는 컴퓨팅 리소스의 오동작뿐만 아니라 컴퓨팅 리소스를 프로비저닝 및 디프로비저닝을 위한 작업흐름을 관리할 수 있다.
하나의 실시예에서, 스트리밍 데스크톱은 가용 슬롯(804) 내의 가상 장치로서 예시될 수 있다. 프로비저닝 프로세스의 일부로서, 슬롯(804)은 또한 예측 저장 서비스 및/또는 예측 저장 서비스 계정에 링크될 수 있다. 예측 저장 서비스에 저장된 파일들은, 블록 저장소, 객체 저장소 및/또는 다른 높거나 낮은 잠재 데이터 저장과 같은, 다른 저장 서비스에 더하여 또는 대신하여 스트리밍 데스크톱 서비스에서 이용가능하게 만들어질 수 있다. 운영 체제의 디스플레이 출력은 물리적 호스트(804) 및 라우터(808)를 통하여 외부 컴퓨팅 시스템으로 라우팅될 수 있다. 입력은 호스트(802)로, 가상 장치로 라우팅될 수 있고 운영 체제로 제공될 수 있다.
본 개시의 실시예들은 하기의 항들에 비추어 기술될 수 있다:
1. 컴퓨터-구현된 데이터 제공 방법으로서,
실행가능한 명령들로 설정된 하나 이상의 컴퓨터 시스템들의 제어하에서,
서비스 제공자에 의하여, 수행되고, 가상 장치는 상기 서비스 제공자의 고객을 위한 복수-테넌트 환경 내에 있는 운영 체제를 포함한다.
상기 운영 체제의 파일 구조 내의 데이터 파일들의 접근을 위하여 상기 운영 체제를 모니터링하고;
상기 파일 구조 내의 상기 데이터 파일들의 적어도 일부를 위한 중요성 지표들을 결정하고, 각 중요성 지표는 상기 파일 구조 내의 해당 데이터 파일로의 최근 접근들에 적어도 일부 기반하고; 그리고
상기 파일 구조로부터 상기 데이터 파일들의 적어도 일부를 중요성 지표들에 적어도 일부 기반하는 저장 서비스로 선택적으로 업로딩하여 상기 업로딩된 데이터파일들이 다른 컴퓨팅 장치들로의 분배를 위하여 서버에 캐싱된다.
2. 상기 1항의 컴퓨터-구현된 방법으로서, 상기 중요성 지표는 블룸 필터(bloom filter)에 적어도 일부 기반한다.
3. 상기 1항의 컴퓨터-구현된 방법으로서, 상기 업로딩된 데이터 파일들의 복수 버전들이 제2 컴퓨팅 시스템에서 사용 가능하게 만들어지도록 하는 것을 더 포함한다.
4. 상기 1항의 컴퓨터-구현된 방법으로서, 하나 이상의 업로딩된 데이터 파일들의 중요성 지표들의 제2 결정에 적어도 일부 기반하여 상기 서버상의 하나 이상의 업로딩된 데이터 파일들의 제거를 초래하는 것을 더 포함한다.
5. 상기 1항의 컴퓨터-구현된 방법으로서, 업로딩된 데이터 파일을 지원하는 추가적 데이터 파일이 상기 업로딩된 데이터 파일을 갖고 상기 서버에 캐싱되어지도록 하는 것을 더 포함한다.
6. 상기 1항의 컴퓨터-구현된 방법으로서, 상기 업로딩된 데이터 파일들에 대한 하나 이상의 변경들에 대하여 상기 가상 장치를 모니터링하고;
상기 데이터 파일의 새로운 버전을 형성하기 위하여 상기 제1 컴퓨팅 시스템으로부터 상기 데이터 파일들에 대한 상기 하나 이상의 변경들을 업로딩하는 것을 더 포함한다.
7. 컴퓨터-구현된 데이터 저장 방법으로서,
실행가능한 명령들로 설정된 하나 이상의 컴퓨터 시스템들의 제어하에서,
제1 컴퓨팅 시스템의 데이터 파일들을 모니터링하고;
정량화된 데이터 추론 알고리즘에 적어도 일부 기반하여 하나 이상의 데이터 파일들의 중요성을 결정하고;
데이터 파일들의 집합의 결정된 중요성에 적어도 일부 기반하여 저장 서비스로 전송될 상기 하나 이상의 데이터 파일들로부터 데이터 파일들의 집합을 선택적으로 결정하고; 그리고
상기 데이터 파일들의 집합이 다른 컴퓨팅 장치들 상의 상기 데이터 파일들의 집합의 가용성을 위하여 업로딩되도록 하는 것을 포함한다.
8. 상기 7항의 컴퓨터-구현된 방법으로서, 하나 이상의 데이터 파일들의 중요성을 결정하는 것은 상기 데이터 파일을 기술하는 메타데이터에 적어도 일부 기반하여 중요성 등급을 계산하는 것을 더 포함한다.
9. 상기8항의 컴퓨터-구현된 방법으로서, 상기 메타데이터는 문서유형, 문서 접근 히스토리, 문서 편집 히스토리, 키워드들, 또는 저자 정보를 포함한다.
10. 상기 7항의 컴퓨터-구현된 방법으로서, 하나 이상의 데이터 파일들의 중요성을 결정하는 것은 상기 제1 컴퓨팅 시스템에 설치된 하나 이상의 애플리케이션과의 관계에 적어도 일부 기반하여 중요성 등급을 계산하는 것을 더 포함한다.
11. 상기 7항의 컴퓨터-구현된 방법으로서, 상기 정량화된 데이터 추론 알고리즘은 상기 하나 이상의 데이터 파일들로부터의 데이터 파일과 사용자 상호작용에 적어도 일부 기반한다.
12. 상기 7항의 컴퓨터-구현된 방법으로서, 상기 저장 서비스의 계정에 등록된 제2 컴퓨팅 장치의 주소를 수신하여 상기 제2 컴퓨팅 장치로 상기 데이터 파일들의 집합의 전송을 가능하게 하는 것을 더 포함한다.
13. 상기 7항의 컴퓨터-구현된 방법으로서, 상기 데이터 파일들의 집합이 상기 저장 서비스에 의하여 저장되도록 하는 것을 더 포함한다.
14. 상기 13항의 컴퓨터-구현된 방법으로서, 상기 데이터 파일들의 집합의 검색을 가능하게 하는 상기 데이터 파일들의 집합을 인덱싱하는 것을 더 포함한다.
15. 상기 13항의 컴퓨터-구현된 방법으로서, 상기 데이터 파일들의 집합을 업로딩하도록 하는 것은 상기 데이터 파일들의 집합이 상기 저장 서비스에서 암호화된 형태로 저장되도록 상기 데이터 파일들의 집합을 암호화하는 것을 더 포함한다.
16. 상기 7항의 컴퓨터-구현된 방법으로서, 파일 이벤트 또는 파일 속성에 적어도 일부 기반하여 상기 데이터 파일들의 집합으로부터 적어도 하나의 파일의 중요성 등급을 결정하는 것을 더 포함한다.
17. 데이터 저장용 컴퓨터 시스템으로서,
실행가능한 명령들을 포함하는 하나 이상의 프로세서들 및 메모리를 갖는 하나 이상의 컴퓨팅 리소스들을 포함하고, 상기 실행가능한 명령들은, 하나 이상의 프로세서들에 의하여 실행될 때에, 상기 하나 이상의 프로세서들이 적어도:
데이터 파일들의 결정된 중요성에 기반하여 저장 서비스로 전송될 데이터 구조 내의 데이터 파일들의 집합을 선택적으로 결정하도록 설정된 제1 컴퓨팅 시스템 애플리케이션;
상기 저장 서비스로부터 상기 데이터 파일들을 수신하도록 설정된 제2 컴퓨팅 시스템 애플리케이션; 및
상기 제1 컴퓨팅 시스템 및 상기 제2 컴퓨팅 시스템 사이에서 상기 데이터 파일들의 동기화를 관리하도록 설정된 상기 저장 서비스;
를 구현하도록 한다.
18. 상기 17항의 컴퓨터 시스템으로서, 상기 제2 컴퓨팅 시스템은 모바일 폰이다.
19. 상기 17항의 컴퓨터 시스템으로서, 상기 제1 컴퓨팅 시스템은 파일 구조를 포함하는 볼륨을 더 포함하고 상기 데이터 구조는 파일 구조이다.
20. 상기 17항의 컴퓨터 시스템으로서, 상기 저장 서비스는 상기 데이터 파일들의 집합을 저장하기 위한 저장소를 더 포함한다.
21. 상기 20항의 컴퓨터 시스템으로서, 상기 저장 서비스는 상기 저장소에 의하여 저장된 상기 데이터 파일들의 집합으로부터 적어도 하나의 데이터 파일을 위한 에디터를 제공하는 웹 애플리케이션을 더 포함한다.
22. 상기 20항의 컴퓨터 시스템으로서, 상기 저장소에 의하여 저장된 상기 파일들의 집합을 인덱싱하고 검색 인터페이스를 제공하는 검색 서비스를 더 포함한다.
23. 실행가능한 명령들을 집합적으로 저장하는 하나 이상의 컴퓨터-판독가능한 저장 매체로서, 상기 실행가능한 명령들은, 컴퓨터 시스템의 하나 이상의 프로세서들에 의하여 실행될 때에, 상기 컴퓨터 시스템이 적어도:
제1 컴퓨팅 시스템의 데이터 파일들의 중요성을 결정하고;
데이터 파일들의 집합의 결정된 중요성에 적어도 일부 기반하여 저장 서비스로 전송될 상기 제1 컴퓨팅 시스템으로부터의 데이터 파일들의 집합을 선택적으로 결정하고; 그리고
상기 제1 컴퓨팅 시스템 및 제2 컴퓨팅 시스템과 연관되고 상기 제2 컴퓨팅 시스템으로 업로딩된 파일들을 전송하도록 설정된 시스템으로 상기 데이터 파일들의 집합을 업로딩하도록 한다.
24. 상기 23항의 컴퓨터-판독가능한 저장 매체로서, 상기 명령들은, 실행될 때에, 상기 컴퓨터 시스템이 상기 파일들의 집합을 적어도 일시적으로 저장하도록 하는 명령들을 더 포함하고; 그리고
상기 데이터 파일들의 업로딩은 상기 제2 컴퓨팅 시스템으로 상기 데이터 파일들의 집합을 배분하는 것을 더 포함한다.
25. 상기 23항의 컴퓨터-판독가능한 저장 매체로서, 상기 명령들은, 상기 제2 컴퓨팅 시스템의 사용자에게 허가된 퍼미션에 적어도 일부 기반하여, 실행될 때에, 상기 컴퓨터 시스템이 상기 파일들의 집합을 상기 파일들의 집합의 부분집합으로 적어도 제한하도록 하는 명령들을 더 포함한다.
26. 상기 23항의 컴퓨터-판독가능한 저장 매체로서, 사기 결정된 중요성은 상기 데이터 파일들의 집합 내의 각 데이터 파일의 접근의 최근성에 적어도 일부 기반한다.
27. 상기 23항의 컴퓨터-판독가능한 저장 매체로서, 상기 결정된 중요성은 상기 제1 컴퓨팅 시스템에 설치된 애플리케이션의 집합에 적어도 일부 기반한다.
28. 상기 23항의 컴퓨터-판독가능한 저장 매체로서,
상기 데이터 파일들의 집합은 제2 컴퓨팅 시스템으로 전송되도록 결정된 데이터 파일들의 리스트이고; 그리고
상기 데이터 파일들의 집합을 업로딩하는 것은 상기 제1 컴퓨팅 시스템에 의하여 상기 파일들의 집합의 상기 제2 컴퓨팅 시스템으로의 직접 통신을 용이하게 하기 위하여 상기 제2 컴퓨팅 시스템의 주소를 수신하는 것을 더 포함한다.
29. 상기 23항의 컴퓨터-판독가능한 저장 매체로서, 상기 데이터 파일들의 집합은 폴더 내에 데이터 파일들의 부분집합을 포함하고 상기 폴더는 상기 폴더 내의 상기 데이터 파일들의 집합으로부터의 적어도 하나의 파일을 갖고 상기 폴더는 상기 부분집합의 외부에 존재한다.
도 9는 다양한 실시예들에 따른 모습들을 구현하기 위한 예시적 환경(900)의 모습을 예시한다. 알게 되는 바와 같이, 비록 웹-기반 환경이 예시의 목적으로 사용되지만, 상이한 환경들도 다양한 실시예들을 구현하기 위하여 사용될 수 있다. 이 환경은 전자 클라이언트 장치(902)를 포함하는데, 이는 적절한 네트워크(904) 상에서 요청, 메시지 또는 정보를 전송 및 수신하도록 동작가능한 임의의 적절한 장치를 포함할 수 있고 장치의 사용자에게 정보를 전송한다. 이러한 클라이언트 장치의 예들로 개인용 컴퓨터, 휴대폰, 휴대용 메시징 장치, 랩톱 컴퓨터, 셋톱박스, 개인용 데이터 보조장치, 전자책 판독기 및 이와 유사한 것을 포함한다. 네트워크는, 인트라넷, 인터넷, 휴대용 네트워크, 근거리 네트워크 또는 임의의 기타 이러한 네트워크 또는 이의 조합을 포함하는, 임의의 적절한 네트워크를 포함할 수 있다. 이러한 시스템으로 사용된 구성요소들은 네트워크 및/또는 선택된 환경의 유형에 적어도 일부 의존할 수 있다. 이러한 네트워크를 경유하여 통신하기 위한 프로토콜 및 구성요소는 잘 알려져 있고 여기에서는 자세히 설명하지 않는다. 네트워크를 통한 통신은 유선 또는 무선 연결 및 이의 조합에 의하여 가능하게 될 수 있다. 이 예에서, 환경이 요청을 수신하고 응답으로 내용을 제공하기 위하여 웹 서버(906)를 포함하듯이, 본 기술분야의 당업자에게 자명한 바와 같이 비록 다른 네트워크에 대하여 유사한 목적을 제공하는 대체 장치가 사용되더라도, 인터넷을 포함한다.
예시적 환경은 적어도 하나의 애플리케이션 서버(908) 및 데이터 저장소(910)를 포함한다. 연결될 수 있거나 달리 설정될 수 있는, 적절한 데이터 저장소로부터 데이터를 획득하는 것과 같은 작업을 수행하기 위하여 상호작용할 수 있는, 몇개의 애플리케이션 서버, 레이어, 또는 기타 요소들, 프로세스들 또는 구성요소들이 존재할 수 있음이 이해되어야 한다. 여기에 사용된 바와 같이 용어 "데이터 저장"은, 임의의 표준적, 배분 또는 융합 환경에서, 데이터 서버, 데이터베이스, 데이터 저장 장치 및 데이터 저장 매체의 임의의 조합 및 개수를 포함할 수 있는, 데이터를 저장, 접근 및 회복할 수 있는 임의의 장치 또는 장치의 조합을 말한다. 상기 애플리케이션 서버는, 애플리케이션을 위한 다수의 데이터 접근 및 비지니스 로직을 처리하는, 클라이언트 장치를 위한 하나 이상의 애플리케이션의 모습을 실행하기 위하여 필요로 하는 데이터 저장소와 함께 포함된 임의의 적절한 하드웨어 및 소프트웨어를 포함할 수 있다. 애플리케이션 서버는 데이터 저장소와 함께 접근 제어 서비스를 제공하고, HTML(HyperText Markup Language), XML(Extensible Markup Language) 또는 본 예에서 다른 적절한 구조적 언어의 형태로 웹 서버에 의하여 사용자에게 제공될 수 있는, 문자, 그래픽, 오디오 및/또는 비디오와 같은 콘텐츠를 생성할 수 있다. 클라이언트 장치(902) 및 애플리케이션 서버(908) 사이의 내용의 전달뿐만 아니라, 모든 요청 및 응답의 처리는, 웹 서버에 의하여 다루어질 수 있다. 여기에 논의된 구조적 코드가 여기 다른 부분에서 논의된 바의 임의의 적절한 장치 또는 호스트 장치에서 실행될 수 있듯이, 웹 및 애플리케이션 서버는 요청되지 않고 단지 예시적 구성요소임이 이해되어야 한다.
데이터 저장소(910)는 특정의 모습에 관련된 데이터를 저장하기 위한 몇 개의 개별 데이터 테이블, 데이터베이스 또는 기타 데이터 저장 장치 및 매체를 포함할 수 있다. 예를 들면, 예시의 데이터 저장소는, 생산 측면을 위한 내용을 제공하도록 사용될 수 있는, 생산 데이터(912) 및 사용자 정보(916)를 저장하기 위한 장치를 포함한다. 데이터 저장소는 또한, 리포팅, 분석 또는 기타 이러한 목적을 위하여 사용될 수 있는, 로그 데이터(914)를 저장하기 위한 장치를 포함하는 것으로 도시된다. 데이터 저장소(910) 내에서 상기 적절하게 리스팅된 임의의 장치 내에 또는 부가적 장치 내에 저장될 수 있는, 페이지 이미지 정보에 대하여 바른 정보에 접근하기 위한 것과 같이, 데이터 저장소에 저장될 필요가 있는 많은 다른 모습들이 존재할 수 있음이 이해되어야 한다. 데이터 저장소(910)는, 관련된 로직을 통하여, 애플리케이션 서버(908)로부터 명령들을 수신하고 그에 응답하여 데이터를 획득, 갱신 또는 다른 처리를 하도록 동작한다. 하나의 예에서, 사용자는 특정 유형의 아이템에 대한 검색 요청을 제출할 수 있다. 이 경우에, 데이터 저장소는 사용자의 식별을 확인하기 위하여 사용자 정보에 접근할 수 있고, 그러한 유형의 아이템에 대한 정보를 획득하기 위하여 카탈로그 상세 정보에 접근할 수 있다. 그 정보는 다음에, 결과로서 사용자가 사용자 장치(902)의 브라우저를 통하여 확인할 수 있는 웹 페이지 상의 리스팅과 같이, 사용자에게 회복될 수 있다. 관심의 특정 아이템에 대한 정보는 브라우저의 해당 페이지 또는 윈도우에서 확인될 수 있다.
각 서버는 통상 그러한 서버의 일반적 관리 및 동작을 위한 실행가능한 프로그램 명령들을 제공하는 운영 체제를 포함하게 되고, 통상, 서버의 프로세서에 의하여 실행가능할 때에, 서버가 의도된 기능을 수행하도록 하는 명령들을 저장하는 컴퓨터-판독가능한 저장 매체(예로서, 하드 디스크, RAM, ROM, 등)를 포함하게 된다. 서버의 운영 체제 및 범용 기능을 위한 적절한 구현예는 주지되거나 상업적으로 가용이고, 특히 여기에 개시된 내용에 의하여, 본 기술분야의 당업자에 의하여 쉽게 구현된다.
하나의 실시예에서 환경은, 하나 이상의 컴퓨터 네트워크 또는 직접 연결을 사용하는, 통신 링크를 경유하여 상호연결되는 몇 개의 컴퓨터 시스템 및 구성요소를 이용하는 분산 컴퓨팅 환경이다. 그러나, 당업자에게 이러한 시스템이 도 9에 예시된 것보다 더 적은 또는 더 많은 수의 구성요소를 갖는 시스템에서 동일하게 잘 동작할 수 있음을 알 수 있다. 따라서, 도 9에 시스템(900)의 도시는 성질상 예시로 취급되어야 하고, 본 개시의 범위에 대한 한정이 아니다.
다양한 실시예들은, 임의의 다수의 애플리케이션을 동작하기 위하여 사용될 수 있는 하나 이상의 사용자 컴퓨터, 컴퓨팅 장치 또는 프로세싱 장치를 포함할 수 있는, 매우 다양한 동작 환경에서 구현될 수 있다. 사용자 또는 클라이언트 장치는, 모바일 소프트웨어를 구동하는 셀룰러, 무선 및 휴대용 장치뿐만 아니라, 표준 운영 체제를 구동하는 데스크톱 또는 랩톱 컴퓨터와 같은, 임의의 다수의 범용 개인용 컴퓨터를 포함할 수 있고 다수의 네트워킹 및 메시징 프로토콜을 지원할 수 있다. 이러한 시스템은 또한 개발 및 데이터베이스 관리와 같은 목적을 위한 임의의 다양한 상업적-이용가능한 운영 체제 및 기타 알려진 애플리케이션을 구동하는 다수의 웍스테이션을 포함할 수 있다. 이들 장치는 또한, 네트워크를 경유하여 통신할 수 있는 더미 터미널, 신 클라이언트(thin-client), 게임 시스템 및 기타 장치와 같은, 다른 전자 장치를 포함할 수 있다.
대부분의 실시예는 TCP/IP(Transmission Control Protocol/Internet Protocol), OSI(Open System Interconnection), FTP(File Transfer Protocol), UpnP(Universal Plug and Play), NFS(Network File System), CIFS(Common Internet File System) 및 AppleTalk과 같은, 임의의 다양한 사업적-가용 프로토콜을 사용하는 통신을 지원하기 위한 당업자에게 친숙한 적어도 하나의 네트워크를 이용한다. 네트워크는, 예를 들면, LAN(local area network), WAN(wide-area network), 가상 사설망, 인터넷, 인트라넷, 엑스트라넷, PSTN(public switched telephone network), 적외선망, 무선망 및 이들의 임의의 조합일 수 있다.
웹 서버를 이용하는 실시예들에서, 웹 서버는, HTTP(Hypertext Transfer Protocol) 서버, FTP 서버, CGI(Common Gateway Interface) 서버, 데이터 서버, 자바 서버 및 비지니스 애플리케이션 서버를 포함하는, 임의의 다양한 서버 또는 중간 계층(mid-tier) 애플리케이션을 수행할 수 있다. 서버(들)은 또한, Java®, C, C# 또는 C++, 또는, Perl, Python 또는 TCL과 같은, 임의의 스크립트 언어와 같은 임의의 프로그램 언어, 및 이들의 조합으로 작성된 하나 이상의 스크립트 또는 프로그램으로 구현될 수 있는 하나 이상의 웹 애플리케이션을 실행하는 등으로, 사용자 장치로부터의 요청에 응답으로 프로그램 또는 스크립트를 실행할 수 있다. 서버(들)는 또한, Oracle®, Microsoft®, Sybase® 및 IBM®으로부터 상업적으로 이용가능한 것들을 한정없이 포함하는, 데이터베이스 서버를 포함할 수 있다.
환경은 다양한 데이터 저장소 및 다른 메모리 및 전술한 저장 매체를 포함할 수 있다. 이들은, 하나 이상의 컴퓨터에 국지적으로 있는 (및/또는 상주하는) 또는 네트워크를 경유하는 임의의 또는 모든 컴퓨터로부터 원격으로 있는 저장 매체 상에서와 같이, 다양한 위치에 존재할 수 있다. 특별한 실시예들의 집합에서, 정보는 당업자에게 친숙한 SAN(storage-area network)에 존재할 수 있다. 유사하게, 컴퓨터, 서버 또는 기타 네트워크 장치에 따르는 기능을 수행하기 위한 임의의 필요한 파일은 국지적으로 및/또는 원격으로, 적절하게 저장될 수 있다. 시스템이 컴퓨터화된 장치를 포함하는 경우, 이러한 각 장치는 버스를 경유하여 전자적으로 연결될 수 있는 하드웨어 소자를 포함할 수 있고, 상기 소자들은, 예를 들면, 적어도 하나의 중앙 처리 장치(CPU), 적어도 하나의 입력장치(예로서, 마우스, 키보드, 컨트롤러, 터치 스크린 또는 키패드) 및 적어도 하나의 출력장치(예로서, 디스플레이장치, 프린터 또는 스피커)를 포함한다. 이러한 시스템은 또한, 디스크 드라이브, 광학 저장 장치, 및 RAM 또는 ROM과 같은 솔리드-스테이트 저장 장치, 및 제거가능한 매체 장치, 메모리 카드, 플래시 카드 등을 포함할 수 있다.
이러한 장치는 또한 컴퓨터-판독가능한 저장 매체 리더, 통신 장치(에로서, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 장치, 등) 및 전술한 작업 메모리를 포함할 수 있다. 컴퓨터-판독가능한 저장 매체 리더는 컴퓨터-판독가능한 저장 매체에 연결되거나 수신 설정될 수 있고, 원격, 국지적, 고정 및/또는 제거가능한 저장 장치 및 컴퓨터-판독가능한 정보를 일시적 및/또는 영구적으로 포함, 저장, 전송 및 회복하기 위한 저장 매체를 나타낸다. 본 시스템 및 다양한 장치는 또한 다수의 소프트웨어 애플리케이션, 모듈, 서비스 또는 운영 체제 및 클라이언트 애플리케이션 또는 웹 브라우저와 같은, 애플리케이션 프로그램을 포함하는, 적어도 하나의 작업 메모리 장치 내에 위치하는 다른 요소들을 포함하게 된다. 대체적 실시예들은 전술한 것으로부터 다수의 변형을 가질 수 있음이 이해되어야 한다. 예를 들면, 맞춤형 하드웨어는 또한 사용될 수 있고/있거나 특별한 요소들은 하드웨어, 소프트웨어(애플릿과 같은 휴대용 소프트웨어 포함) 또는 양자에서 구현될 수 있다. 또한, 네트워크 입력/출력과 같은 다른 컴퓨팅 장치에의 연결이 채택될 수 있다.
코드, 또는 코드의 일부를 포함하는 저장 매체 및 컴퓨터 판독가능 매체는, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장 및/또는 전송을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 제거가능 및 비제거가능 매체와 같지만 이에 한정되지 않는, 저장 매체 및 통신 매체를 포함하여, 본 기술분야에서 주지 또는 사용되는 임의의 적절한 매체를 포함할 수 있고, RAM, ROM, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리 또는 다른 메모리 기술, CD-ROM(Compact Disc Read-Only Memory), DVD(digital versatile disk) 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 장치 또는 원하는 정보를 저장하기 위하여 사용되고 시스템 장치에 의하여 접근될 수 있는 임의의 다른 매체를 포함한다. 여기에 제공된 개시 및 교사에 기반하여, 당업자는 다양한 실시예를 구현하기 위하여 다른 방법 및/또는 방식을 이해하게 된다.
본 명세서 및 도면은, 따라서, 제한적 의미보다는 예시적으로 여겨진다. 그러나, 다양한 수정 및 변경이 특허청구범위에 개진된 바와 같이 본 발명의 더 넓은 정신 및 범위로부터 벗어나지 않고 수행될 수 있음이 명백할 것이다.
다른 변형들이 본 개시의 정신 내에 존재한다. 따라서, 본 개시된 기술이 다양한 수정 및 대체적 구성에 따르는 경우에도, 특정의 예시된 실시예는 도면에 도시되고 앞에서 상세하게 기재되었다. 그러나, 개시된 특정의 형태 또는 형태들에 본 발명을 한정하지 않고 반대로, 본 발명은, 첨부의 특허청구범위에 정의된 바와 같이, 본 발명의 정신 및 범위 내에 포함되는 모든 수정, 대체적 구성 및 균등물을 포함하는 것임이 이해되어야 한다.
용어 "하나" 및 "그"의 사용 및 개시된 실시예(특히 후술하는 특허청구범위의 문맥에서)를 기술하기 위한 문맥에서의 유사한 지시대상은, 문맥에서 달리 지시하거나 명백하게 상충되지 않는다면, 단수 및 복수 모두를 포함하는 것을 의미한다. 용어 "포함하는", "가지는", "구비한' 및 "포함하는"은 달리 주지하지 않는 경우 개방-한계적 용어(즉, "포함하지만, 한정되지는 않는"을 의미)를 의미한다. 용어 "연결된"은 비록 게재되는 것이 존재하지만, 부분적으로 또는 전체적으로 안내 포함된, 부착되거나 함께 연결된 것을 의미한다. 여기 값들의 범위의 인용은, 달리 지시되지 않는다면, 단지 범위에 속하는 각 개별 값을 개별적으로 언급하는 단순화된 방법으로 제공되는 것을 의도하고, 각 개별 값은 여기에서 개별적으로 인용된 것처럼 명세서 내에 포함된다. 여기에 기재된 모든 방법은 달리 지시되지 않거나 문맥에서 달리 명백하게 상충하지 않는다면 임의의 적절한 순서로 수행될 수 있다. 여기에 제공된 임의의 모든 예, 또는 예시적 언어(예로서, "와 같은")의 사용은 본 발명의 실시예를 단지 더 잘 예시하기 위하여 의도되고 달리 청구하지 않는다면 본 발명의 범위에 한정하는 두지 않는다. 본 명세서의 어떠한 언어도 본 발명의 실시에 필수적인 것과 같이 임의의 비-청구된 요소를 지시하는 것으로 의도되어서는 안된다.
본 개시의 바람직한 실시예들은, 본 발명을 수행하기 위하여 발명자에게 알려진 최적 모드를 포함하여, 여기에 기재된다. 이들 바람직한 실시예들의 변형은 본 명세서를 읽은 당업자에게 명백하게 될 것이다. 본 발명자는 이러한 변형이 적절한 것으로 채택하기 위한 능숙한 기술자를 기대하고, 본 발명자는 본 발명이 여기에 특징적으로 기재된 것과 달리 실시되는 것을 의도한다. 따라서, 본 발명은 이용가능한 법에 의하여 허용된 바로 첨부된 특허청구범위에 인용된 기술적 주제의 모든 수정 및 균등물을 포함한다. 또한, 모든 가능한 변형에서 전술한 요소들의 임의의 조합이 여기에서 달리 지시하거나 문맥에 의하여 달리 명백하게 상충하지 않는다면 본 발명에 포함된다.
여기에 인용된, 출판, 특허 출원 및 특허를 포함하는 모든 참조는 각 참조가 개별적으로 특징적으로 참조에 의하여 포함되는 것으로 지시되고 여기에 그 전체로 개진된 것처럼 동일한 정도로 참조에 의하여 여기에 포함된다.

Claims (15)

  1. 실행가능한 명령들로 설정된 하나 이상의 컴퓨터 시스템들의 제어하에서,
    제1 컴퓨팅 시스템의 데이터 파일들을 모니터링하는 단계;
    정량화된 데이터 추론 알고리즘에 적어도 일부 기반하여 하나 이상의 데이터 파일들의 중요성을 결정하는 단계 - 여기서, 상기 정량화된 데이터 추론 알고리즘은 상기 하나 이상의 데이터 파일들로부터의 데이터 파일과의 사용자 상호작용에 적어도 일부 기반함 - ;
    상기 하나 이상의 데이터 파일들의 결정된 중요성에 적어도 일부 기반하여 상기 하나 이상의 데이터 파일들로부터 저장 서비스로 전송될 데이터 파일들의 집합을 결정하는 단계; 및
    다른 컴퓨팅 장치들 상에서의 상기 데이터 파일들의 집합의 가용성을 위하여 상기 데이터 파일들의 집합이 업로딩되도록 하는 단계;
    를 포함하는 컴퓨터-구현된 데이터 저장 방법.
  2. 청구항 1에 있어서,
    하나 이상의 데이터 파일들의 중요성을 결정하는 단계는 상기 데이터 파일을 기술하는 메타데이터에 적어도 일부 기반하여 중요성 등급을 계산하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  3. 청구항 2에 있어서,
    상기 메타데이터는 문서유형, 문서 접근 히스토리, 문서 편집 히스토리, 키워드들, 또는 저자 정보를 포함하는 컴퓨터-구현된 데이터 저장 방법.
  4. 청구항 1에 있어서,
    하나 이상의 데이터 파일들의 중요성을 결정하는 단계는 상기 제1 컴퓨팅 시스템에 설치된 하나 이상의 애플리케이션과의 관계에 적어도 일부 기반하여 중요성 등급을 계산하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  5. 청구항 1에 있어서,
    상기 저장 서비스의 계정에 등록된 제2 컴퓨팅 장치의 주소를 수신하여 상기 제2 컴퓨팅 장치로 상기 데이터 파일들의 집합의 전송을 가능하게 하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  6. 청구항 1에 있어서,
    상기 데이터 파일들의 집합이 상기 저장 서비스에 의하여 저장되도록 하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  7. 청구항 1에 있어서,
    상기 데이터 파일들의 집합의 검색을 가능하게 하도록 상기 데이터 파일들의 집합을 인덱싱하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  8. 청구항 1에 있어서,
    상기 데이터 파일들의 집합이 업로딩되도록 하는 단계는 상기 데이터 파일들의 집합이 상기 저장 서비스에서 암호화된 형태로 저장되도록 상기 데이터 파일들의 집합을 암호화하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  9. 청구항 1에 있어서,
    파일 이벤트 또는 파일 속성에 적어도 일부 기반하여 상기 데이터 파일들의 집합으로부터 적어도 하나의 파일의 중요성 등급을 결정하는 단계를 더 포함하는 컴퓨터-구현된 데이터 저장 방법.
  10. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 적어도:
    하나 이상의 데이터 파일들로부터의 데이터 파일과의 사용자 상호작용에 적어도 일부 기반하여 상기 하나 이상의 데이터 파일들의 중요성을 결정하고, 상기 하나 이상의 데이터 파일들의 결정된 중요성에 기반하여 데이터 구조 내의 상기 하나 이상의 데이터 파일들로부터 저장 서비스로 전송될 데이터 파일들의 집합을 결정하도록 설정된 제1 컴퓨팅 시스템 애플리케이션;
    상기 저장 서비스로부터 상기 데이터 파일들의 집합을 수신하도록 설정된 제2 컴퓨팅 시스템 애플리케이션; 및
    상기 제1 컴퓨팅 시스템과 상기 제2 컴퓨팅 시스템 사이에서 상기 데이터 파일들의 집합의 동기화를 관리하도록 설정된 상기 저장 서비스
    를 구현하게 하는 실행 가능한 명령을 포함하는 메모리를 갖는 하나 이상의 컴퓨팅 리소스를 포함하는, 데이터 저장을 위한 컴퓨터 시스템.
  11. 청구항 10에 있어서,
    상기 제1 컴퓨팅 시스템은 파일 구조를 포함하는 볼륨을 더 포함하고 상기 데이터 구조는 파일 구조인 컴퓨터 시스템.
  12. 청구항 10에 있어서,
    상기 저장 서비스는 상기 데이터 파일들의 집합을 저장하기 위한 저장소를 더 포함하는 컴퓨터 시스템.
  13. 청구항 12에 있어서,
    상기 저장 서비스는 상기 저장소에 의하여 저장된 상기 데이터 파일들의 집합으로부터 적어도 하나의 데이터 파일을 위한 에디터를 제공하는 웹 애플리케이션을 더 포함하는 컴퓨터 시스템.
  14. 청구항 12에 있어서,
    상기 저장소에 의하여 저장된 상기 데이터 파일들의 집합을 인덱싱하고 검색 인터페이스를 제공하는 검색 서비스를 더 포함하는 컴퓨터 시스템.
  15. 삭제
KR1020157024650A 2013-02-25 2014-02-25 예측 저장 서비스 KR101699654B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/776,498 2013-02-25
US13/776,498 US10318492B2 (en) 2013-02-25 2013-02-25 Predictive storage service
PCT/US2014/018416 WO2014131041A1 (en) 2013-02-25 2014-02-25 Predictive storage service

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177001430A Division KR101800592B1 (ko) 2013-02-25 2014-02-25 예측 저장 서비스

Publications (2)

Publication Number Publication Date
KR20150119105A KR20150119105A (ko) 2015-10-23
KR101699654B1 true KR101699654B1 (ko) 2017-01-24

Family

ID=51389245

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177001430A KR101800592B1 (ko) 2013-02-25 2014-02-25 예측 저장 서비스
KR1020157024650A KR101699654B1 (ko) 2013-02-25 2014-02-25 예측 저장 서비스

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020177001430A KR101800592B1 (ko) 2013-02-25 2014-02-25 예측 저장 서비스

Country Status (9)

Country Link
US (1) US10318492B2 (ko)
EP (1) EP2959411A4 (ko)
JP (2) JP2016509317A (ko)
KR (2) KR101800592B1 (ko)
CN (2) CN105009121B (ko)
AU (2) AU2014218538B2 (ko)
CA (1) CA2901677C (ko)
SG (2) SG11201506528UA (ko)
WO (1) WO2014131041A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104053019A (zh) * 2013-03-12 2014-09-17 中兴通讯股份有限公司 基于虚拟桌面的视频播放、处理方法及装置
WO2014172037A1 (en) * 2013-03-14 2014-10-23 Good Technology Corporation Application registration and interaction
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US10091287B2 (en) 2014-04-08 2018-10-02 Dropbox, Inc. Determining presence in an application accessing shared and synchronized content
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10171579B2 (en) 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US9998555B2 (en) 2014-04-08 2018-06-12 Dropbox, Inc. Displaying presence in an application accessing shared and synchronized content
US9053124B1 (en) 2014-09-30 2015-06-09 Code 42 Software, Inc. System for a distributed file system element collection
RU2683482C2 (ru) * 2014-10-01 2019-03-28 Общество с ограниченной ответственностью "СликДжамп" Метод отображения релевантной контекстно-зависимой информации
US9361349B1 (en) * 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
US10248933B2 (en) 2015-12-29 2019-04-02 Dropbox, Inc. Content item activity feed for presenting events associated with content items
US10620811B2 (en) * 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
US20180074812A1 (en) * 2016-09-09 2018-03-15 Takuji Kawaguchi Information terminal, information processing system, method, and recording medium
CN110008050B (zh) * 2019-04-11 2023-06-30 北京百度网讯科技有限公司 用于处理信息的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090025472A1 (en) 2007-07-25 2009-01-29 The Lubrizol Corporation Sensor manifolds
US20090150569A1 (en) 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US20110173299A1 (en) 2009-07-19 2011-07-14 Simon Samuel Lightstone Website-based network file explorer

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301579B1 (en) 1998-10-20 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a data structure
US6571245B2 (en) * 1998-12-07 2003-05-27 Magically, Inc. Virtual desktop in a computer network
US6834120B1 (en) 2000-11-15 2004-12-21 Sri International Method and system for estimating the accuracy of inference algorithms using the self-consistency methodology
US7233933B2 (en) 2001-06-28 2007-06-19 Microsoft Corporation Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability
US20060206447A1 (en) 2005-03-10 2006-09-14 Kabushiki Kaisha Toshiba Document managing apparatus
JP2007087349A (ja) 2005-09-20 2007-04-05 Mitsuhiro Ishizaka 情報共有システム
US20070276723A1 (en) 2006-04-28 2007-11-29 Gideon Samid BiPSA: an inferential methodology and a computational tool
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
JP4941828B2 (ja) 2007-05-31 2012-05-30 株式会社Jvcケンウッド 記録再生装置
FR2924839B1 (fr) * 2007-12-06 2010-03-19 Agematis Procede de sauvegarde automatique de donnees numeriques conservees en memoire dans une installation informatique, support de donnees lisible par un ordinateur, installation informatique et systeme pour la mise en oeuvre de ce procede
US20090171960A1 (en) * 2008-01-02 2009-07-02 Ziv Katzir Method and system for context-aware data prioritization
US8649276B2 (en) * 2008-07-31 2014-02-11 Microsoft Corporation Content transfer
US10447804B2 (en) * 2008-10-28 2019-10-15 Hewlett-Packard Development Company, L.P. File type association in a remote computing session
US8195617B2 (en) * 2008-12-30 2012-06-05 International Business Machines Corporation Managing data across a plurality of data storage devices based upon collaboration relevance
US8219526B2 (en) * 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8280899B2 (en) 2009-10-14 2012-10-02 Microsoft Corporation Abstracting events for data mining
US20110107042A1 (en) * 2009-11-03 2011-05-05 Andrew Herron Formatting data storage according to data classification
US8315502B2 (en) 2009-12-08 2012-11-20 Echostar Technologies L.L.C. Systems and methods for selective archival of media content
US9386098B2 (en) * 2010-06-11 2016-07-05 Fidelithon Systems, Llc Smartphone management system and method
CN102447723B (zh) 2010-10-12 2015-09-09 运软网络科技(上海)有限公司 客户端虚拟化架构
US20120143806A1 (en) 2010-12-06 2012-06-07 Microsoft Corporation Electronic Communications Triage
TW201227395A (en) * 2010-12-22 2012-07-01 Hon Hai Prec Ind Co Ltd Cloud data security controlling system and method
US8825572B2 (en) 2011-02-01 2014-09-02 Microsoft Corporation Program synthesis with existentially and universally quantified belief propagation using probabilistic inference
JP5664441B2 (ja) 2011-04-27 2015-02-04 日本電気株式会社 資源管理システム、データ更新方法およびプログラム
EP2710510A4 (en) * 2011-05-14 2015-05-06 Bitcasa Inc CLOUD FILE SYSTEM WITH SERVER DEPLOYMENT OF USER UNKNOWN ENCRYPTED FILES
CN102855236B (zh) * 2011-06-27 2015-04-29 北京东方通科技股份有限公司 文件传输系统及文件传输方法
US9330106B2 (en) * 2012-02-15 2016-05-03 Citrix Systems, Inc. Selective synchronization of remotely stored content
US10474691B2 (en) * 2012-05-25 2019-11-12 Dell Products, Lp Micro-staging device and method for micro-staging
CN102857570A (zh) 2012-09-13 2013-01-02 清华大学 文件的云同步方法及云存储服务器
US9185742B2 (en) * 2012-12-13 2015-11-10 Google Technology Holdings LLC System and methods for a cloud based wireless personal area network service enabling context activity handoffs between devices
US9489440B2 (en) * 2012-12-13 2016-11-08 Microsoft Technology Licensing Llc Opportunistic, priority-based object synchronization
US9678978B2 (en) * 2012-12-31 2017-06-13 Carbonite, Inc. Systems and methods for automatic synchronization of recently modified data
US10120891B2 (en) * 2013-02-11 2018-11-06 International Business Machines Corporation Data placement optimization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090025472A1 (en) 2007-07-25 2009-01-29 The Lubrizol Corporation Sensor manifolds
US20090150569A1 (en) 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US20110173299A1 (en) 2009-07-19 2011-07-14 Simon Samuel Lightstone Website-based network file explorer

Also Published As

Publication number Publication date
JP2017201546A (ja) 2017-11-09
JP2016509317A (ja) 2016-03-24
CN115344548A (zh) 2022-11-15
AU2014218538B2 (en) 2016-06-23
AU2016222323B2 (en) 2017-10-12
JP6482602B2 (ja) 2019-03-13
US20140244580A1 (en) 2014-08-28
SG10201609089SA (en) 2016-12-29
SG11201506528UA (en) 2015-09-29
AU2014218538A1 (en) 2015-09-03
EP2959411A1 (en) 2015-12-30
CN115344548B (zh) 2024-03-15
KR20170010098A (ko) 2017-01-25
WO2014131041A1 (en) 2014-08-28
CA2901677A1 (en) 2014-08-28
CN105009121A (zh) 2015-10-28
KR20150119105A (ko) 2015-10-23
KR101800592B1 (ko) 2017-11-22
EP2959411A4 (en) 2016-08-03
CN105009121B (zh) 2022-08-16
US10318492B2 (en) 2019-06-11
CA2901677C (en) 2019-07-16
AU2016222323A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
KR101699654B1 (ko) 예측 저장 서비스
US9992200B2 (en) System and method for secure content sharing and synchronization
US11516288B2 (en) Synchronized content library
US20180276304A1 (en) Advanced computer implementation for crawling and/or detecting related electronically catalogued data using improved metadata processing
US9864736B2 (en) Information processing apparatus, control method, and recording medium
US20130111336A1 (en) Platform and application independent system and method for networked file access and editing
KR20150105445A (ko) 관리 메타데이터를 사용한 클라우드 컴퓨팅 환경에서의 데이터 관리
US9858250B2 (en) Optimized read/write access to a document object model
US20160259810A1 (en) Global file index
Povar et al. Digital forensic architecture for cloud computing systems: methods of evidence identification, segregation, collection and partial analysis
Koppen et al. Identifying remnants of evidence in the cloud
Débarre Data from: Refining the conditions for sympatric ecological speciation
Singh Cloudsearch, Dell Cloud service application
JP2013168027A (ja) 中継装置、方法及びプログラム

Legal Events

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

Payment date: 20200108

Year of fee payment: 4