KR20170007468A - 콘텐츠 항목의 저장 - Google Patents

콘텐츠 항목의 저장 Download PDF

Info

Publication number
KR20170007468A
KR20170007468A KR1020167035805A KR20167035805A KR20170007468A KR 20170007468 A KR20170007468 A KR 20170007468A KR 1020167035805 A KR1020167035805 A KR 1020167035805A KR 20167035805 A KR20167035805 A KR 20167035805A KR 20170007468 A KR20170007468 A KR 20170007468A
Authority
KR
South Korea
Prior art keywords
content items
implementations
local storage
content item
user
Prior art date
Application number
KR1020167035805A
Other languages
English (en)
Other versions
KR101879619B1 (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 KR20170007468A publication Critical patent/KR20170007468A/ko
Application granted granted Critical
Publication of KR101879619B1 publication Critical patent/KR101879619B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

구현들은 일반적으로 콘텐츠 항목들을 저장하는 것에 관한 것이다. 일부 구현에서, 방법은 모바일 디바이스 상에서 콘텐츠 항목들을 수신하는 단계를 포함한다. 이 방법은 콘텐츠 항목들을 모바일 디바이스 상의 로컬 스토리지에 저장하는 단계를 포함한다. 이 방법은 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계를 포함한다. 이 방법은, 콘텐츠 항목들을 2차 스토리지에 업로드하는 단계, 및 예를 들어, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족할 때 미리 결정된 기준에 기초하여 로컬 스토리지로부터 제거하거나 로컬 스토리지에 추가할 콘텐츠 항목들을 선택하는 단계를 포함한다.

Description

콘텐츠 항목의 저장{STORING CONTENT ITEMS}
관련 출원에 대한 상호참조
본 출원은, 참조로 그 전체 내용이 본 명세서에 명시적으로 포함되는 2014년 6월 24일 출원된 미국 가출원 번호 제62/016,354호, 및 2015년 5월 27일 출원된 미국 가출원 번호 제62/166,899호의 우선권 혜택을 주장한다.
모바일 디바이스는 제한된 로컬 스토리지 용량을 가진다. 모바일 디바이스 사용자가 사진 등의 콘텐츠를 다운로드하거나 생성할 때, 그 콘텐츠는 통상적으로 디바이스의 로컬 스토리지 상에서 파일로 저장된다. 모바일 디바이스들의 많은 인기있는 이용은 큰 데이터 크기의 파일들(예를 들어, 사진, 비디오, 음악, 전자메일, 문서, 게임, 애플리케이션 등)을 생성한다.
구현들은 대체로 콘텐츠 항목을 저장하는 것에 관한 것이다. 일부 구현에서, 모바일 디바이스 상의 로컬 스토리지의 관리 방법은 모바일 디바이스 상에서 콘텐츠 항목들을 수신하는 단계를 포함한다. 이 방법은 콘텐츠 항목을 모바일 디바이스 상의 로컬 스토리지에 저장하는 단계를 포함한다. 이 방법은 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계를 포함한다. 이 방법은, 콘텐츠 항목들을 2차 스토리지에 업로드하는 단계, 가용 로컬 스토리지 용량이 임계치 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 콘텐츠 항목들 중에서 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하는 단계를 포함한다. 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 데이터, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성, 및 모바일 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도를 포함할 수 있다. 이 방법은 콘텐츠 항목들 중 선택된 하나 이상의 콘텐츠 항목을 로컬 스토리지로부터 제거하는 단계를 포함한다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지의 관리 방법은, 모바일 디바이스 상에서 콘텐츠 항목들을 수신하는 단계, 모바일 디바이스 상의 로컬 스토리지에 콘텐츠 항목을 저장하는 단계, 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계, 콘텐츠 항목들을 2차 스토리지에 업로드하는 단계, 및 가용 로컬 스토리지 용량이 임계치 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 콘텐츠 항목들 중에서 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하는 단계를 포함한다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착과 연관된 시간 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성을 포함할 수 있다. 하나 이상의 콘텐츠 항목의 중요성은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 게시자(poster)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 수신자를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 태그(tag)들을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목에 대한 반응들을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 체크-인 데이터(check-in data)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 지리적 및/또는 위치 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이벤트 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목 사이의 사회적 친화성(social affinity)을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이미지 인식 결과를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 다른 하나 이상의 콘텐츠 항목에 대한 유사성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 포함한다. 일부 구현에서, 미리 결정된 기준은 착용형 디바이스로부터의 콘텐츠 항목의 액세스를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 사용자 프로파일에 기초하여 선택될 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 미리 결정된 기준들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 기준 및/또는 다른 기준 중 2개 이상의 조합일 수 있다.
일부 구현에서, 이 방법은, 디바이스 상의 콘텐츠 항목들 중 선택된 하나 이상의 콘텐츠 항목 중에서 제1 콘텐츠 항목의 플레이스홀더(placeholder) 사본을 생성하는 단계 및 콘텐츠 항목들 중 선택된 하나 이상 중에서 상기 제1 콘텐츠 항목의 플레이스홀더 사본을 디바이스에 국지적으로 저장하는 단계를 포함할 수 있다. 일부 구현에서, 콘텐츠 항목들 각각은, 사진, 이미지, 그래픽, 비디오, 텍스트, 태그, 또는 포스트 중 하나 이상을 포함할 수 있다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지의 관리를 위한 시스템은, 하나 이상의 프로세서와, 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형 매체(tangible media)에 인코딩된 명령어들을 포함하고, 이 명령어들은, 실행될 때, 모바일 디바이스 상에서 콘텐츠 항목들을 수신하고, 모바일 디바이스 상의 로컬 스토리지에 콘텐츠 항목을 저장하며, 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하고, 콘텐츠 항목들을 2차 스토리지에 업로드하며, 및 가용 로컬 스토리지 용량이 임계치 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 콘텐츠 항목들 중에서 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하도록 동작가능하다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착과 연관된 시간 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성을 포함할 수 있다. 하나 이상의 콘텐츠 항목의 중요성은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 게시자(poster)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 수신자를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 태그(tag)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목에 대한 반응들을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 체크-인 데이터(check-in data)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 지리적 및/또는 위치 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이벤트 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목 사이의 사회적 친화성(social affinity)을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이미지 인식 결과를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 다른 하나 이상의 콘텐츠 항목에 대한 유사성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 포함한다. 일부 구현에서, 미리 결정된 기준은 착용형 디바이스로부터의 콘텐츠 항목의 액세스를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 사용자 프로파일에 기초하여 선택될 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 미리 결정된 기준들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 기준 및/또는 다른 기준 중 2개 이상의 조합일 수 있다.
일부 구현에서, 명령어들은 또한, 디바이스 상의 콘텐츠 항목들 중 선택된 하나 이상의 콘텐츠 항목 중에서 제1 콘텐츠 항목의 플레이스홀더 사본을 생성하도록 동작가능하다. 일부 구현에서, 명령어들은 콘텐츠 항목들 중 선택된 하나 이상의 콘텐츠 항목 중에서 제1 콘텐츠 항목의 플레이스홀더 사본을 로컬 스토리지에 저장하도록 더 동작가능하다.
일부 구현에서, 명령어들은 주기적으로 결정, 업로드, 및 선택하도록 더 동작가능하다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지를 관리하는 시스템은, 모바일 디바이스 상에서 콘텐츠 항목들을 수신하기 위한 수단, 및 모바일 디바이스 상의 로컬 스토리지에 콘텐츠 항목을 저장하기 위한 수단을 포함한다. 이 시스템은, 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하기 위한 수단, 콘텐츠 항목들을 2차 스토리지에 업로드하기 위한 수단, 및 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 콘텐츠 항목들 중에서 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하기 위한 수단을 포함한다.
일부 구현에서, 비일시적 컴퓨터 판독가능한 저장 매체는 모바일 디바이스 상의 로컬 스토리지를 관리하는 명령어들을 저장하고 있다. 이 명령어들은, 모바일 디바이스 상에서 콘텐츠 항목들을 수신하는 제1 컴퓨터 판독가능한 프로그램 코드, 모바일 디바이스 상의 로컬 스토리지에 콘텐츠 항목을 저장하는 제2 컴퓨터 판독가능한 프로그램 코드, 콘텐츠 항목들을 2차 스토리지에 업로드하는 제3 컴퓨터 판독가능한 프로그램 코드, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 콘텐츠 항목들 중에서 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하는 제4 컴퓨터 판독가능한 프로그램 코드를 포함한다.
일부 구현에서, 모바일 디바이스 상의 스토리지를 관리하는 컴퓨터-구현된 방법은 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계를 포함한다. 이 방법은 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하는 단계를 포함한다. 이 방법은 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여, 미리 결정된 기준에 기초해 로컬 스토리지와 2차 스토리지 내의 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 점수에 기초하여 로컬 스토리지에 저장할 로컬 스토리지와 2차 스토리지 내의 콘텐츠 항목들 중 하나 이상을 선택하는 단계를 포함하고, 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 데이터, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성, 및 모바일 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도 중에서 하나 이상을 포함한다. 이 방법은 2차 스토리지 내의 콘텐츠 항목들 중 선택된 하나 이상 중에서 하나 이상을 2차 스토리지로부터 모바일 디바이스로 다운로드하는 단계를 포함한다. 이 방법은 콘텐츠 항목들 중 선택된 하나 이상 중에서 다운로드된 하나 이상을 모바일 디바이스 상의 로컬 스토리지에 저장하는 단계를 포함한다. 이 방법은, 로컬 스토리지에 저장되도록 선택되지 않은 로컬 스토리지에 위치한 콘텐츠 항목들 중 하나 이상을 로컬 스토리지로부터 제거하는 단계를 포함한다.
일부 구현에서, 모바일 디바이스 상의 스토리지를 관리하는 컴퓨터-구현된 방법은 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계를 포함한다. 이 방법은 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하는 단계를 포함한다. 이 방법은, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여, 미리 결정된 기준에 기초해 로컬 스토리지에 저장될 콘텐츠 항목들 중 하나 이상을 선택하는 단계를 포함한다.
이 방법은 콘텐츠 항목들 중 선택된 하나 이상을 2차 스토리지로부터 모바일 디바이스로 다운로드하는 단계를 포함한다. 이 방법은 콘텐츠 항목들 중 다운로드된 선택된 하나 이상을 모바일 디바이스 상의 로컬 스토리지에 저장하는 단계를 포함한다.
일부 구현에서, 2차 스토리지는 모바일 디바이스로부터 원격지에 있다. 일부 구현에서, 2차 스토리지는 모바일 디바이스로부터 분리되어 있다. 일부 구현에서, 2차 스토리지는 네트워킹형 스토리지를 포함한다. 일부 구현에서, 2차 스토리지는 클라우드 스토리지를 포함한다.
일부 구현에서, 이 방법은 선택되지 않은 콘텐츠 항목들 중 하나 이상을 로컬 스토리지로부터 제거하는 단계를 포함할 수 있다. 일부 구현에서, 이 방법은 로컬 스토리지에 플레이스홀더 사본을 저장할 콘텐츠 항목들 중 하나 이상을 선택하는 단계를 포함할 수 있다.
일부 구현에서, 이 방법은, 콘텐츠 항목들 중 선택된 하나 이상 중의 한 항목의 플레이스홀더 사본을 생성하는 단계, 및 콘텐츠 항목들 중 선택된 하나 이상 중의 상기 한 항목을 로컬 스토리지 내의 플레이스홀더 사본으로 대체하는 단계를 포함한다. 일부 구현에서, 콘텐츠 항목들은, 사진, 이미지, 그래픽, 비디오, 텍스트, 태그, 또는 포스트 중 하나 이상을 포함할 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착과 연관된 시간 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성을 포함할 수 있다. 하나 이상의 콘텐츠 항목의 중요성은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 게시자(poster)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 수신자를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 태그(tag)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목에 대한 반응들을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 체크-인 데이터(check-in data)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 지리적 및/또는 위치 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이벤트 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목 사이의 사회적 친화성(social affinity)을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이미지 인식 결과를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 다른 하나 이상의 콘텐츠 항목에 대한 유사성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 포함한다. 일부 구현에서, 미리 결정된 기준은 착용형 디바이스로부터의 콘텐츠 항목의 액세스를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 사용자 프로파일에 기초하여 선택될 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 미리 결정된 기준들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 기준 또는 다른 기준 중 2개 이상의 조합일 수 있다.
일부 구현에서, 이 방법은 선택되지 않은 하나 이상의 콘텐츠 항목을 로컬 스토리지로부터 제거하기 위해 마킹하는 단계를 포함할 수 있다. 일부 구현에서, 이 방법은 콘텐츠 항목을 모바일 디바이스로부터 2차 스토리지로 업로드하는 단계를 포함할 수 있다. 일부 구현에서, 모바일 디바이스는 착용형 디바이스이고 2차 스토리지는 스마트폰 상의 스토리지이다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지의 관리를 위한 시스템은, 하나 이상의 프로세서와, 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 유형 매체에 인코딩된 명령어들을 포함한다. 명령어들은, 실행될 때, 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하고, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하며, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여, 미리 결정된 기준에 기초해 로컬 스토리지에 저장할 콘텐츠 항목들 중 하나 이상을 선택하고, 콘텐츠 항목들 중 선택된 하나 이상을 2차 스토리지로부터 모바일 디바이스로 다운로드하며, 다운로드된 선택된 하나 이상의 콘텐츠 항목을 모바일 디바이스 상의 로컬 스토리지에 저장하도록 동작가능하다.
일부 구현에서, 명령어들은 선택된 콘텐츠 항목들 중 하나의 콘텐츠 항목의 플레이스홀더 사본을 생성하고 선택된 콘텐츠 항목들 중 상기 하나를 로컬 스토리지 내의 플레이스홀더 사본으로 대체하도록 더 동작가능하다.
일부 구현에서, 2차 스토리지는 모바일 디바이스로부터 원격지에 있는 클라우드 스토리지를 포함한다. 일부 구현에서, 명령어들은 선택되지 않은 콘텐츠 항목들 중 하나 이상을 로컬 스토리지로부터 제거하도록 더 동작가능하다. 일부 구현에서, 명령어들은 로컬 스토리지에 플레이스홀더 사본을 저장할 콘텐츠 항목들 중 하나 이상을 선택하도록 동작가능하다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착과 연관된 시간 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성을 포함할 수 있다. 하나 이상의 콘텐츠 항목의 중요성은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 게시자(poster)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 수신자를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상에 추가된 태그를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목에 대한 반응들을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 체크-인 데이터(check-in data)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 지리적 및/또는 위치 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이벤트 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목 사이의 사회적 친화성(social affinity)을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이미지 인식 결과를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 다른 하나 이상의 콘텐츠 항목에 대한 유사성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 포함한다. 일부 구현에서, 미리 결정된 기준은 착용형 디바이스로부터의 콘텐츠 항목의 액세스를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 사용자 프로파일에 기초하여 선택될 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 미리 결정된 기준들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 기준 또는 다른 기준 중 2개 이상의 조합일 수 있다.
일부 구현에서, 명령어들은 선택되지 않은 하나 이상의 콘텐츠 항목을 로컬 스토리지로부터 제거하기 위해 마킹하도록 더 동작가능하다. 일부 구현에서, 명령어들은 콘텐츠 항목을 모바일 디바이스로부터 2차 스토리지로 업로드하도록 더 동작가능하다. 일부 구현에서, 모바일 디바이스는 착용형 디바이스이고 2차 스토리지는 스마트폰 상의 스토리지이다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지를 관리하는 시스템은, 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하기 위한 수단, 및 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하기 위한 수단을 포함한다. 이 시스템은, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여 미리 결정된 기준에 기초해 로컬 스토리지에 저장할 콘텐츠 항목들 중 하나 이상을 선택하기 위한 수단을 포함한다. 이 시스템은 콘텐츠 항목들 중 선택된 하나 이상을 2차 스토리지로부터 모바일 디바이스로 다운로드하기 위한 수단을 포함한다. 이 시스템은 콘텐츠 항목들 중 다운로드된 선택된 하나 이상을 모바일 디바이스 상의 로컬 스토리지에 저장하기 위한 수단을 포함한다.
일부 구현에서, 비일시적 컴퓨터 판독가능한 저장 매체는 모바일 디바이스 상의 로컬 스토리지의 관리를 위한 제어 로직을 가지고 있다. 제어 로직은 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 제1 컴퓨터 판독가능한 프로그램 코드를 포함한다. 제어 로직은 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하는 제2 컴퓨터 판독가능한 프로그램 코드를 포함한다. 제어 로직은, 가용 로컬 스토리지 용량이 임계치를 충족한다는 결정에 응답하여, 미리 결정된 기준에 기초해 로컬 스토리지에 저장할 콘텐츠 항목을 선택하는 제3 컴퓨터 판독가능한 프로그램 코드를 포함한다. 제어 로직은 선택된 콘텐츠 항목을 2차 스토리지로부터 모바일 디바이스로 다운로드하는 제4 컴퓨터 판독가능한 프로그램 코드를 포함한다. 제어 로직은 다운로드된 선택된 콘텐츠 항목을 모바일 디바이스 상의 로컬 스토리지에 저장하는 제5 컴퓨터 판독가능한 프로그램 코드를 포함한다.
일부 구현에서, 디바이스 상의 로컬 스토리지를 관리하는 방법은 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계를 포함한다. 이 방법은 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하는 단계를 포함한다. 이 방법은 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 검사하는 단계를 포함한다. 이 방법은, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여 및 메타데이터 검사에 기초하여 로컬 스토리지에 저장할 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목을 선택하는 단계를 포함한다. 이 방법은 선택된 하나 이상의 콘텐츠 항목을 클라우드 스토리지로부터 디바이스로 복사하는 단계를 포함한다. 이 방법은 복사된 선택된 하나 이상의 콘텐츠 항목을 디바이스 상의 로컬 스토리지에 저장하는 단계를 포함한다.
이 방법은 복사된 선택된 하나 이상의 콘텐츠 항목을 디바이스 상의 로컬 스토리지에 저장하는 단계를 포함할 수 있다. 이 방법은 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 수신하는 단계를 포함할 수 있다. 이 방법은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 메타데이터 및 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도와 연관된 메타데이터를 검사하는 단계를 포함할 수 있다. 이 방법은, 디바이스의 사용자와, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도와 연관된 메타데이터를 검사하는 단계를 포함할 수 있다. 이 방법은 미리 결정된 기준에 따라 검사된 메타데이터를 채점하는 단계를 포함할 수 있다.
일부 구현에서, 디바이스 상의 로컬 스토리지를 관리하는 시스템은, 하나 이상의 프로세서와, 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 유형 매체에 인코딩된 명령어들을 포함한다. 명령어들은, 실행될 때, 디바이스 상의 가용 로컬 스토리지 용량을 결정하도록 동작가능하다. 명령어들은, 실행될 때, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하도록 동작가능하다. 명령어들은, 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 검사하도록 동작가능하다. 명령어들은, 실행될 때, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여 및 메타데이터 검사에 기초하여 로컬 스토리지에 저장할 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목을 선택하도록 동작가능하다. 명령어들은, 실행될 때, 선택된 하나 이상의 콘텐츠 항목을 클라우드 스토리지로부터 디바이스로 복사하도록 동작가능하다. 명령어들은, 실행될 때, 복사된 선택된 하나 이상의 콘텐츠 항목을 디바이스 상의 로컬 스토리지에 저장하도록 동작가능하다.
일부 구현에서, 명령어들은 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 수신하도록 더 동작가능하다. 일부 구현에서, 명령어들은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 메타데이터 및 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도와 연관된 메타데이터를 검사하도록 더 동작가능하다. 일부 구현에서, 명령어들은 디바이스의 사용자와, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도와 연관된 메타데이터를 검사하도록 더 동작가능하다. 일부 구현에서, 명령어들은 미리 결정된 기준에 따라 검사된 메타데이터를 채점하도록 더 동작가능하다.
일부 구현에서, 디바이스 상의 로컬 스토리지를 관리하는 시스템은 디바이스의 가용 로컬 스토리지 용량을 결정하기 위한 수단을 포함한다. 이 시스템은 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하기 위한 수단을 포함한다. 이 시스템은 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 검사하기 위한 수단을 포함한다. 이 시스템은, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여 및 메타데이터 검사에 기초하여 로컬 스토리지에 저장할 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목을 선택하기 위한 수단을 포함한다. 이 시스템은 선택된 하나 이상의 콘텐츠 항목을 클라우드 스토리지로부터 디바이스로 복사하기 위한 수단을 포함한다. 이 시스템은 복사된 선택된 하나 이상의 콘텐츠 항목을 디바이스 상의 로컬 스토리지에 저장하기 위한 수단을 포함한다.
일부 구현에서, 이 시스템은, 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 수신하기 위한 수단을 포함한다. 일부 구현에서, 이 시스템은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 메타데이터 및 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도와 연관된 메타데이터를 검사하기 위한 수단을 포함한다. 일부 구현에서, 이 시스템은, 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도와 연관된 메타데이터를 검사하기 위한 수단을 포함한다. 일부 구현에서, 이 시스템은 미리 결정된 기준에 따라 검사된 메타데이터를 채점하기 위한 수단을 포함한다.
일부 구현에서, 비일시적 컴퓨터-판독가능한 매체는, 디바이스 상의 로컬 스토리지를 관리하기 위해 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형 매체에 인코딩된 명령어들을 포함하고, 명령어들은 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서에 의해 디바이스의 가용 로컬 스토리지 용량을 결정하는 것을 포함하는 동작을 수행하도록 동작가능하다. 명령어들은, 하나 이상의 프로세서에 의해, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하는 것을 포함하는 동작을 수행하도록 동작가능하다. 명령어들은, 하나 이상의 프로세서에 의해, 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 검사하는 것을 포함한 동작들을 수행하도록 동작가능하다. 명령어들은, 하나 이상의 프로세서에 의해, 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여 및 메타데이터 검사에 응답하여 로컬 스토리지에 저장할 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목을 선택하는 것을 포함한 동작들을 수행하도록 동작가능하다. 명령어들은, 하나 이상의 프로세서에 의해, 선택된 하나 이상의 콘텐츠 항목을 클라우드 스토리지로부터 디바이스로 복사하는 것을 포함한 동작들을 수행하도록 동작가능하다. 명령어들은, 하나 이상의 프로세서에 의해, 복사된 선택된 하나 이상의 콘텐츠 항목을 디바이스 상의 로컬 스토리지에 저장하는 것을 포함한 동작들을 수행하도록 동작가능하다.
일부 구현에서, 명령어들은 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 수신하도록 더 동작가능하다. 일부 구현에서, 명령어들은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 메타데이터 및 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도와 연관된 메타데이터를 검사하도록 더 동작가능하다. 일부 구현에서, 명령어들은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도와 연관된 메타데이터를 검사하도록 더 동작가능하다. 일부 구현에서, 명령어들은 미리 결정된 기준에 따라 검사된 메타데이터를 채점하도록 더 동작가능하다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착과 연관된 시간 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성을 포함할 수 있다. 하나 이상의 콘텐츠 항목의 중요성은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 게시자(poster)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 수신자를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 태그(tag)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목에 대한 반응들을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 체크-인 데이터(check-in data)를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 지리적 및/또는 위치 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이벤트 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 디바이스의 사용자와 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목 사이의 사회적 친화성(social affinity)을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이미지 인식 결과를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 다른 하나 이상의 콘텐츠 항목에 대한 유사성을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 포함한다. 일부 구현에서, 미리 결정된 기준은 착용형 디바이스로부터의 콘텐츠 항목의 액세스를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 사용자 프로파일에 기초하여 선택될 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 미리 결정된 기준들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 이들 기준 또는 다른 기준 중 2개 이상의 조합일 수 있다.
도 1은 여기서 설명된 구현예들을 구현하는데 이용될 수 있는 예시적 네트워크 환경의 블록도를 나타낸다.
도 2는 일부 구현에 따른 콘텐츠 항목을 저장하기 위한 예시적 흐름도를 나타낸다.
도 3은 일부 구현에 따른 콘텐츠 항목을 저장하기 위한 예시적 흐름도를 나타낸다.
도 4는 일부 구현에 따른 콘텐츠 항목을 채점하기 위한 예시적 흐름도를 나타낸다.
도 5는 로컬 스토리지의 콘텐츠를 보여주는 디바이스의 예시적 사용자 인터페이스를 나타낸다.
도 6은 일부 구현에 따른 콘텐츠 항목을 저장하기 위한 시스템의 블록도를 나타낸다.
도 7은 일부 구현에 따른 스토리지 관리를 가능케하기 위한 예시의 간소화된 흐름도를 나타낸다.
도 8은 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 9는 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 10은 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 11은 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 12는 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 13은 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 14는 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 15는 일부 구현에 따른 스크린 디스플레이의 예를 나타낸다.
도 16은 여기서 설명된 구현예들을 구현하는데 이용될 수 있는 예시적 클라이언트 디바이스의 블록도를 나타낸다.
여기서 설명되는 구현들은 콘텐츠 항목의 저장을 가능케한다. 다양한 구현에서, 시스템은 디바이스의 로컬 스토리지(예를 들어, 모바일 디바이스의 통합된 또는 착탈식 플래시 메모리)에 저장된 콘텐츠 항목의 2차 스토리지(예를 들어, 클라우드 스토리지, 접속된 디바이스 스토리지, 외부 로컬 스토리지, 국지적으로 네트워킹된 스토리지)로의 업로드를 가능케하고, 미리 결정된 기준에 기초해 로컬 스토리지로부터 제거할 및/또는 로컬 스토리지에 추가할 콘텐츠 항목을 선택한다. 예를 들어, 사용자의 동의를 수반하지만 사용자 상호작용이나 입력없이, 시스템은 모바일 디바이스의 로컬 스토리지로부터 제거하기 위한 콘텐츠 항목(예를 들어, 새로운 사진을 위한 공간 확보를 위해 사용자가 삭제할 가능성 높은 오래된 사진들)을 자동으로 선택하고, 사용자가 원할 가능성이 높은 콘텐츠 항목을 로컬 스토리지에 다운로드할 수 있다. 예를 들어, 사용자의 동의를 수반하지만 사용자 상호작용이나 입력없이, 시스템은 미리 결정된 기준에 기초하여 모바일 디바이스의 로컬 스토리지에 추가하거나 이로부터 제거할 로컬 스토리지 및 2차 스토리지 상의 콘텐츠 항목을 자동으로 선택할 수 있다.
다양한 구현에서, 시스템은 디바이스의 로컬 스토리지(예를 들어, 모바일 디바이스의 통합된 플래시 메모리)에 저장된 콘텐츠 항목의 2차 스토리지(예를 들어, 클라우드 스토리지, 접속된 디바이스 스토리지)로부터의 다운로드를 가능케하고, 미리 결정된 기준에 기초해 로컬 스토리지에 추가하거나 유지할 콘텐츠 항목을 선택한다. 예를 들어, 사용자의 동의를 수반하지만 사용자 상호작용이나 입력없이, 시스템은 모바일 디바이스의 로컬 스토리지에 추가하기 위한 콘텐츠 항목(예를 들어, 사용자가 디바이스의 로컬 스토리지에 갖기를 원하는 사진들)을 자동으로 선택할 수 있다.
예를 들어, 로컬 스토리지가 가득 차게 되면, 공간을 확보(free up)하기 위해, 모바일 디바이스의 사용자는 로컬 스토리지로부터 제거할 파일들을 수동으로 식별할 수 있다. 예를 들어, 사용자는 디바이스 상의 사진들을 수동으로 검토하고 디바이스 상에 저장된 사진들 중 일부를 삭제할 수 있다. 또 다른 예로서, 사용자는 디바이스 상에 설치된 애플리케이션들을 검토하고 제거할 애플리케이션 또는 애플리케이션 데이터를 식별할 수 있다. 일반적으로, 모바일 디바이스 상의 파일들의 관리는, 사용자가 자신의 모바일 디바이스 상에서 유지할 파일들을 식별하기에 복잡하고 시간 소모적일 수 있다. 이것은 사용자가 디바이스 상에서 수용할 수 있는 것보다 많은 파일들을 가질 때 특히 해당된다. 파일 관리는, 사용자가 복수의 디바이스를 가질 때 훨씬 더 복잡하고 시간 소모적이게 된다. 일부 구현은 사용자에 의한 수동 검초 및 관리에 대한 보완으로서 또는 그 대신에 이용될 수 있다.
이하에서 더 상세히 설명되는 바와 같이, 일부 구현에서, 콘텐츠 항목 스토리지 시스템은, 예를 들어 디바이스가 콘텐츠를 다운로드하거나 생성함으로써, 콘텐츠 항목을 수신한다. 예를 들어, 사용자는 자신의 모바일 디바이스 상에서의 이벤트시에 일련의 사진을 포착할 수 있다. 콘텐츠 항목들은 디바이스 상의 로컬 스토리지(예를 들어, 디바이스와 함께 준비된 통합된 플래시 메모리)에 저장된다. 그 다음, 시스템은 디바이스의 가용 로컬 스토리지 용량을 (예를 들어, 로컬 스토리지 상에 사진을 저장하는데 이용가능한 용량이 1 GB 미만이라고) 결정한다.
시스템은 로컬 스토리지로부터 2차 스토리지로의 콘텐츠 항목들의 업로드(예를 들어, 사본의 전송)를 가능케한다. 예를 들어, 2차 스토리지는 디바이스 내의 또 다른 데이터 저장소이거나, 또 다른 모바일 디바이스 상의 스토리지, 개인용 컴퓨터, 홈 스토리지 시스템, 네트워크 스토리지 시스템, 클라우드 스토리지 시스템, 사진 공유 사이트, 소셜 네트워크 사이트 등의, 모바일 디바이스에 이용가능한 또 다른 데이터 저장소일 수 있다.
일부 구현에서, 사용자는 충분한 로컬 스토리지를 가지고 있고, 예를 들어, 디바이스가 2차 스토리지로부터 콘텐츠 항목들을 다운로딩함으로써, 추가의 콘텐츠 항목들을 디바이스 상에 저장하기를 원할 수도 있다. 예를 들어, 사용자는 사진들을 찍고 이들을 또 다른 디바이스로부터, 또 다른 모바일 디바이스나 개인용 컴퓨터 등의 2차 스토리지에 업로드했을 수도 있다. 시스템은 디바이스의 가용 로컬 스토리지 용량을 (예를 들어, 로컬 스토리지 상에 사진을 저장하는데 이용가능한 용량이 2 GB보다 많다고) 결정한다. 시스템은 2차 스토리지로부터 로컬 스토리지로의 콘텐츠 항목의 다운로드를 가능케할 수 있다. 다시 한번, 2차 스토리지는 디바이스 내의 또 다른 데이터 저장소이거나, 개인용 컴퓨터, 홈 스토리지 시스템, 네트워크 스토리지 시스템, 클라우드 스토리지 시스템, 사진 공유 사이트, 소셜 네트워크 사이트 등의, 모바일 디바이스에 이용가능한 또 다른 데이터 저장소일 수 있다.
시스템은 미리 결정된 기준에 기초하여 로컬 스토리지로부터 제거하거나 이에 추가할 콘텐츠 항목을 선택할 수 있다. 예를 들어, 기준은, 사용자가 디바이스 상의 로컬 스토리지로부터의 콘텐츠 항목(예를 들어, 디바이스가 오프라인일 때 사용자가 액세스할 가능성이 거의 없는 오래된 사진들)에 액세스하기를 원치 않을 가능성이 높다는 결정을 포함할 수 있다. 그 다음, 시스템은 로컬 스토리지로부터의 선택된 콘텐츠 항목을 제거한다. 또 다른 예로서, 기준은, 사용자가 디바이스 상의 로컬 스토리지 상의 콘텐츠 항목들 중 일부(예를 들어, 사용자가 자주 참조하는 이벤트로부터의 오래된 사진들)에 액세스할 가능성이 높다는 결정을 포함할 수 있다. 그 다음, 시스템은 선택된 콘텐츠 항목을 로컬 스토리지에 추가할 수 있다.
도 1은 여기서 설명된 구현예들을 구현하는데 이용될 수 있는 예시적 네트워크 환경(100)의 블록도를 나타낸다. 이것은 예시적인 예이고, 임의의 적절한 환경이 이용될 수도 있다는 것을 이해해야 한다. 일부 구현에서, 네트워크 환경(100)은, 서버 디바이스(104)와 2차 스토리지(예를 들어, 스토리지 데이터베이스)(106)를 포함하는 서버 시스템(102)을 포함한다. 서버 시스템(102)은 하나 이상의 애플리케이션에게 서버 기능을 제공할 수 있다. 예를 들어, 서버 시스템(102)은, 소셜 네트워킹 시스템, 사진 공유 시스템, 애플리케이션 시장을 등을 제공할 수 있다. 서버 시스템(102)은 사용자를 위한 콘텐츠 항목을 저장하기 위해 2차 스토리지 기능(106)을 제공할 수 있다. 네트워크 환경(100)은 또한, 예를 들어, 서버 시스템(102) 및 네트워크(150)를 통해, 다른 서버들(도시되지 않음) 및 네트워크(150)를 통해, 네트워크(150)를 통해 서로 직접, 및/또는 다른 네트워크들(도시되지 않음)을 통해 서로 직접, 서로 통신할 수 있는 클라이언트 디바이스들(110, 120, 130, 및 140)을 포함한다.
일부 구현에서, 서버 시스템(102)은, 스마트폰 등의 모바일 디바이스일 수 있고, 클라이언트 디바이스(110)는, 손목시계 등의 착용형 컴퓨터일 수 있다. 네트워크(150)는, 예를 들어, 블루투스(Bluetooth) 또는 와이파이(WiFi) 등의 무선 네트워크일 수 있다. 이 예에서, 손목시계 클라이언트 디바이스(110)는 로컬 스토리지를 가지며 스마트폰 서버 시스템(102)은 2차 스토리지(106)를 가진다. 따라서, 서버 시스템(102)은 또한 클라이언트 디바이스(110, 120, 130, 140)일 수 있어서, 2차 스토리지를 위한 또 다른 서버 시스템(도시되지 않음)과 통신할 수 있다.
일부 구현에서, 콘텐츠 항목 스토리지 시스템(160)은, 서버 디바이스(104), 2차 스토리지(106), 및 클라이언트 디바이스(110)를 포함하는 서버 시스템(102) 상에 도시된 바와 같이 구현될 수 있다. 클라이언트 디바이스(110)의 도시는 예시이고, 콘텐츠 스토리지 시스템은 클라이언트 디바이스들(110, 120, 130, 및 140) 중 임의의 것 또는 조합 상에 구현될 수 있다는 것을 이해해야 한다. 예를 들어, 콘텐츠 항목 스토리지 시스템(160)의 양태들은 클라이언트 디바이스들(110, 120, 130, 및 140)의 하나 이상에 구현될 수 있고, 콘텐츠 항목 스토리지 시스템(160)의 하나 이상의 양태는 서버 시스템(102) 및/또는 다른 서버 시스템(도시되지 않음) 상에 구현될 수 있다. 콘텐츠 항목 스토리지 시스템의 하나 이상의 양태들은 서버 시스템(102)과 클라이언트 디바이스들(110, 120, 130, 및 140) 중 하나 이상의 조합 상에 구현될 수도 있다.
일부 구현에서, 본 발명에 따라 콘텐츠 항목을 저장하기 위한 콘텐츠 항목 스토리지 시스템(160)은 완전히 클라이언트 디바이스(110, 120, 130, 및 140) 상에 구현된다. 일부 구현에서, 본 발명에 따라 콘텐츠 항목을 저장하기 위한 콘텐츠 항목 스토리지 시스템(160)은 클라이언트 디바이스(110, 120, 130, 및 140)와 통신하는 서버 시스템(102) 상에 완전히 구현된다.
예시의 용이성을 위해, 도 1은, 서버 시스템(102), 서버 디바이스(104), 및 2차 스토리지(106) 각각에 대한 하나의 블록을 도시하고, 클라이언트 디바이스들(110, 120, 130, 및 140)에 대한 4개의 블록을 도시한다. 블록들(102, 104, 및 106)은 복수의 시스템, 서버 디바이스, 및 2차 스토리지 디바이스, 위치, 및 데이터베이스를 나타낼 수 있다. 임의 개수의 서버 시스템(102)이 있을 수 있고, 각각은 동일하거나 상이한 기능을 가진다. 예를 들어, 일부 구현은 더 많은 서버(102)를 가질 수 있다. 간소화를 위해 도시되지 않은, 연관된 추가 네트워킹, 부하 밸런싱, 보안, 및 기타의 서버 요소들이 존재할 수 있다. 또한, 임의 개수의 클라이언트 디바이스들(110, 120, 130, 및 140)이 존재할 수 있다. 예를 들어, 일부 구현은, 도시된 4개의 클라이언트 디바이스보다 더 많은 클라이언트 디바이스들(110, 120, 130, 및 140)을 가질 수 있다. 다른 구현에서, 네트워크 환경(100)은 도시된 컴포넌트들 모두를 갖지는 않을 수도 있거나 및/또는 여기서 도시된 것들 대신에 또는 이에 추가하여 다른 유형들의 요소를 포함한 다른 요소들을 가질 수도 있다.
다양한 구현에서, 사용자들(U1, U2, U3, 및 U4)은 서로 통신할 수 있고 각자의 클라이언트 디바이스들(110, 120, 130, 및 140)을 이용하여 애플리케이션에 참여할 수 있다. 다양한 시간들에서, 주어진 사용자(U1, U2, U3, 및 U4)는 하나 이상의 클라이언트 디바이스(110, 120, 130, 및 140)를 이용할 수 있다. 다양한 시간들에서, 복수의 사용자들(U1, U2, U3, 및 U4)이 클라이언트 디바이스들(110, 120, 130, 및 140) 중 동일한 하나 이상을 이용할 수도 있다. 사용자들(U1, U2, U3, 및 U4)은 콘텐츠 항목들을 생성, 전송 또는 서로 공유하기 위해 각각의 클라이언트 디바이스(110, 120, 130, 및 140)를 이용할 수 있다. 예를 들어, 사용자들(U1, U2, U3, 및 U4)은 또한, 사진을 찍거나 및/또는 동영상을 포착하기 위해 각각의 클라이언트 디바이스(110, 120, 130, 및 140)를 이용할 수도 있다. 다양한 구현에서, 클라이언트 디바이스들(110, 120, 130, 및 140)은, 모바일 전화(예를 들어, 스마트폰), 착용형 컴퓨터(예를 들어, 안경, 손목시계), 휴대형 컴퓨터, 태블릿, 노트북 컴퓨터, 데스크톱 컴퓨터, 디지털 카메라 등의, 임의 유형의 전자 디바이스를 포함할 수 있다. 전용 디지털 카메라가 아닌 이러한 클라이언트 디바이스들(110, 120, 130, 및 140)은 통합된 디지털 카메라 및/또는 비디오 카메라를 포함할 수 있다.
일부 구현에서, 클라이언트 디바이스들(110, 120, 130, 및 140)은, 임의의 핸즈-프리 디바이스를 포함한 착용형 컴퓨터 또는 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 일부 구현에서, 하나 이상의 클라이언트 디바이스는, 머리-장착형 카메라, 머리-장착형 안구 추적 디바이스, 및/또는 머리-장착형 디스플레이(예를 들어, HMD)와 함께 동작하는 디바이스를 포함할 수 있다. 착용형 컴퓨터는, 예를 들어, 통합된 디바이스(예를 들어, 안경)로서 구현되거나, 다른 구현에서, 양태들은 머리-장착형 디스플레이(예를 들어, 안경)에서 구현될 수 있고 다른 양태들은 다른 디바이스들(예를 들어, 손목시계, 보석류, 포켓에 소지하는 아이템, 모바일 디바이스 등)에서 구현될 수 있다.
예시의 용이성을 위해, 4명의 예시적인 사용자들(U1, U2, U3, 및 U4)이 설명된다. 시스템(102)을 이용하여 서로 통신하기 위해 협력하고, 콘텐츠 항목을 생성하며, 예를 들어, 소셜 네트워크 애플리케이션, 사진 공유 애플리케이션 등에 참여할 수 있는, 네트워크 환경(100)의 임의 수의 사용자가 존재할 수 있다. 예시의 목적을 위해, 4개의 각각의 예시적 클라이언트 디바이스(110, 120, 130, 및 140)가 설명된다. 임의 개수의 각각의 클라이언트 디바이스들이 존재할 수 있다.
도 2는 일부 구현에 따른 콘텐츠 항목을 저장하기 위한 예시적 흐름도를 나타낸다. 도 1 및 도 2를 참조하면, 예시적 방법(200)은 블록(202)에서 개시되고, 여기서, 시스템(예를 들어, 콘텐츠 항목 스토리지 시스템(160))은 하나 이상의 콘텐츠 항목을 수신한다. 이 예에서, 콘텐츠 항목은 클라이언트 디바이스(110) 상에서 수신된다. 이 예에서, 클라이언트 디바이스(110)는 스마트폰 모바일 디바이스로서 설명되지만, 클라이언트 디바이스는 임의의 적절한 유형의 클라이언트 디바이스일 수도 있다는 것을 이해해야 한다. 클라이언트 디바이스(110)는 다양한 콘텐츠 항목을 수신할 수 있고, 다양한 시간에서 및 다양한 방식으로, 동일하거나 상이한 사용자 또는 사용자들로부터, 상이한 콘텐츠 항목들을 수신할 수도 있다. 예를 들어, 클라이언트 디바이스(110)는, 클라이언트 디바이스(110)를 이용하여, 예를 들어, 정지영상 카메라, 비디오 카메라, 마이크로폰, 또는 기타의 센서 또는 센서들의 조합을 이용하여 생성되거나 포착된 콘텐츠 항목을 수신할 수 있다. 클라이언트 디바이스(110)는, 서버(102) 등의 서버, 또는 기타의 클라이언트 디바이스(110, 120, 130, 및 140)나 카메라, 레코더, 센서 등의 주변 디바이스로부터, 네트워크(150) 등의 네트워크를 통해 다운로드되거나 기타의 방식으로 전달된 콘텐츠 항목을 수신할 수 있다.
주어진 클라이언트 디바이스(110)에 의해 수신될 수 있는 예시적인 콘텐츠 항목은, 애플리케이션, 애플리케이션 데이터, 사진, 이미지, 비디오, 오디오 트랙, 노래, 음악, 그래픽 교환 포멧 파일(gif), 문서, 이벤트 정보, 전자메일, 메시지, 포스트, 코멘트, 응답, 태그, 그룹 합류 요청, 그룹 합류 수락, 체크-인 데이터, 지리적 및/또는 위치 정보, 로그 파일 등을 포함하지만, 이것으로 제한되지 않는다. 이용가능한 콘텐츠 항목들의 유형들은 클라이언트 디바이스(110) 상에서 및 주어진 클라이언트 디바이스(110)와 통신하는 서버(들), 예를 들어, 서버(102) 상에서 실행중인 애플리케이션에 따라 다를 것이다. 일부 콘텐츠 항목은 다른 유형의 콘텐츠 항목을 포함할 수 있다. 예를 들어, 일부 구현에서, 콘텐츠 항목은, 각각이, 사진, 및 사진과 연관된 텍스트 캡션, 사진에 나타난 개인, 물체, 또는 장소를 식별하는 태그 등의, 다양한 콘텐츠 항목을 포함하는 하나 이상의 소셜 네트워크 포스트일 수 있다. 일부 구현에서, 사진을 포함하는 콘텐츠 항목은 또한, 사진과 연관되어 디스플레이되는 지리적 및/또는 장소 데이터 등의 콘텐츠 항목을 포함할 수 있다. 사용자들은 채팅 및 인스턴트 메시징 세션에서 콘텐츠 항목을 전달할 수도 있다. 콘텐츠 항목은, 예를 들어, 온라인 스토어로부터, 전자메일 메시지로, 채팅 메시지로, 파일 저장소로부터, 웹사이트로부터, 파일 공유 및 메시지 애플리케이션으로부터 등, 다양한 방식으로 수신될 수 있다.
일부 구현에서, 소셜 네트워킹에 관련된 애플리케이션은, 사용자가, 포스트, 코멘트, 메시지, 사진 및 비디오 등의 콘텐츠 항목을 수신할 수 있게 하고, 콘텐츠 항목들을 한 그룹의 다른 사용자와 연관시켜 사용자가 그룹 내의 다른 멤버들과 하나 이상의 콘텐츠 항목을 공유할 수 있게 하는, 소셜 네트워킹 피쳐들을 가진다. 그러면, 그룹에 포함되는 사용자들은 이러한 공유된 콘텐츠 항목에 액세스할 수 있다. 사용자들은 이러한 공유된 콘텐츠 항목의 가용성을 통보받을 수 있다. 사용자들은, 주어진 사용자가 참여하고 있는 그룹들과 연관된 공유된 콘텐츠 항목들의 목록에서 또는 가상 월(virtual wall) 상에서 공유된 콘텐츠 항목들을 프리젠팅받는다.
여기서 설명된 구현의 정황에서 사용되는 "그룹"은 소셜 네트워크 그룹이다. 따라서, 이 정황에서, 용어 "그룹"은 구문 "소셜 네트워크 그룹"과 교환가능하게 사용될 수 있다. 다양한 구현에서, 소셜 네트워크 그룹은 소셜 네트워크 내의 한 세트의 사회적 연결된 사용자들일 수 있다. 예를 들어, 소셜 네트워크 그룹은, 친구 그룹, 연결 그룹, 동일한 이벤트에 초청되거나 참석한 그룹, 및/또는 동일한 써클의 연락처 내에 있는 그룹일 수 있다. 다양한 구현에서, 소셜 네트워크 시스템은 사용자가 하나 이상의 소셜 네트워크 그룹을 정의하고 생성할 수 있게 한다. 일부 구현에서, 주어진 소셜 네트워크 그룹은 사용자에 의해 특정한 범주의 사람들 중 한 명 이상을 포함하도록 맞춤화될 수 있다. 예를 들어, 소셜 네트워크 그룹은 친구를 포함할 수 있다. 또 다른 예에서, 소셜 네트워크 그룹은 가족을 포함할 수 있다. 또 다른 예에서, 소셜 네트워크 그룹은 동료를 포함할 수 있다. 특정한 범주의 사람들은 특정한 구현에 따라 달라질 수 있다. 또한, 특정한 범주의 사람들은, 여기서 열거된 이들 범주들 외에, 다른 유형의 사람들(예를 들어, 급우, 특정한 취미, 직업, 전문직, 프로젝트, 이벤트 등과 연관된 사람들)을 포함할 수 있다.
일부 구현에서, 그룹을 생성하기 위해, 소셜 네트워크 시스템의 사용자는, 검색을 수행한 다음 한 명 이상의 다른 사용자를 특정한 소셜 네트워크 그룹에 추가함으로써, 다른 사용자를 발견할 수 있다. 특정한 소셜 네트워크 그룹은 한 명의 사람 또는 사람들의 그룹을 포함할 수 있다는 점에 유의한다. 또한, 특정한 사람을 주어진 그룹에 추가하는 사용자의 행위는 사용자와 특정한 사람 사이의 사회적 연결을 생성할 수 있다. 일부 구현에서, 주어진 사용자는 다른 사용자로부터의 임의의 행위(예를 들어, 수락, 접수확인 등)를 요구하지 않고 또 다른 사용자를 한 명 이상의 소셜 네트워크 그룹에 추가할 수 있다. 일부 구현에서, 주어진 사용자는 또 다른 사용자를 사회적으로 연결하기 위해(예를 들어, 하나 이상의 그룹에 추가될, 연계될, 친구가 될 등) 초청할 수 있다. 초청의 수신자는 초청을 수락함으로써 응답할 수 있고, 이것은 사회적 연결을 생성한다. 일단 사회적 연결이 이루어지고 나면, 사용자들은 다양한 사회적 활동을 통해 참여할 수 있다. 예를 들어, 사용자는 서로의 프로파일 페이지를 방문하고, 서로의 포스트를 팔로우하며, 서로 메시지를 전송하고, 서로의 활동의 통보를 수신하는 등을 할 수 있다.
일부 구현에서, 소셜 네트워킹 애플리케이션은 사용자가, 수퍼그룹이라고도 할 수 있는, 소셜 네트워크 그룹들 중 2개 이상의 그룹의 조합인 소셜 네트워크 그룹을 생성할 수 있게 한다. 예를 들어, 주어진 수퍼그룹은, 친구들의 소셜 네트워크 그룹 및 가족 소셜 네트워크 그룹으로부터 형성될 수 있다.
도 1 및 도 2를 참조하면, 블록(204)에서, 클라이언트 디바이스(110)에 의해 수신된 콘텐츠 항목은 로컬 스토리지에 저장될 수 있다. 일부 구현에서, 로컬 스토리지는 모바일 디바이스를 위한 1차 또는 디폴트 데이터 저장소이다. 일부 구현에서, 로컬 스토리지는 클라이언트 디바이스(110)에 통합되거나 이와 통신하는 플래시 메모리 디바이스이다. 일부 구현에서, 로컬 스토리지는, 클라이언트 디바이스(110)의 운영 체제에 의해 인식되는 포멧으로 스토리지 디바이스로서 포멧팅된 디스크 드라이브 또는 플래시 메모리 디바이스이다.
일부 구현에서, 수신된 콘텐츠 항목은 클라이언트 디바이스(110)를 이용하여 사용자에 의해 생성된다. 예를 들어, 콘텐츠 항목은 애플리케이션 프로그램을 이용하여 클라이언트 디바이스(110)의 사용자에 의해 및/또는 클라이언트 디바이스(110)와 통합되거나 이와 통신하는 하나 이상의 센서나 입력 디바이스에 의해 생성될 수 있다. 예를 들어, 사용자는 온스크린 키보드 또는 부착된 키보드를 이용하여 클라이언트 디바이스(110) 내에 타이핑하여 콘텐츠 항목을 생성할 수도 있다. 일부 구현에서, 사용자는 클라이언트 디바이스(110) 내의 마이크로폰 내에 말을 하여 콘텐츠 항목을 생성할 수도 있다. 일부 구현에서, 사용자는 클라이언트 디바이스(110)와 통합되거나 이와 통신하는 비디오 카메라 또는 정지영상 카메라에 관여하여 콘텐츠 항목을 생성할 수 있다. 예를 들어, 일부 구현에서, 사용자는 클라이언트 디바이스(110)의 일부이거나 이와 통신하는 마이크로폰과 조합하여 비디오 카메라를 이용해 비디오이거나 비디오를 포함하는 콘텐츠 항목을 생성할 수 있다.
일부 구현에서, 콘텐츠 항목들은 서버(102) 또는 다른 클라이언트 디바이스(예를 들어, 클라이언트 디바이스들(120, 130 및 140))로부터 클라이언트 디바이스(110)에 전송된다. 예를 들어, 일부 구현에서, 콘텐츠 항목은 소셜 네트워크 시스템과 클라이언트 디바이스 사이의 직접 또는 간접 상호작용에 의해 수신된다. 다양한 구현에서, 콘텐츠 항목은 콘텐츠 항목에 대한 주소 또는 링크를 수신함으로써 수신된다. 일부 구현에서, 서버 시스템(102)과 상호작용하는 사용자는 주어진 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(140))를 이용하여 콘텐츠 항목을 서버 시스템(102)에 전송하고, 이것은 서버 시스템(102)에 의해 수신되고 이어서 또 다른 클라이언트 디바이스(110)에 전달된다. 예시적 구현에서, 클라이언트 디바이스(110)는 서버 시스템(102)에 의해 제공된 웹 페이지에 액세스하고 웹 페이지는, 사용자가 클라이언트 디바이스(110)에 전송되거나 이에 의해 수신될 콘텐츠 항목을 지정하는 능력을 제공한다.
일부 구현에서, 콘텐츠 항목이 수신되면, 콘텐츠 항목에 대한 메타데이터가 저장될 수 있다. 예를 들어, 수신된 콘텐츠 항목은 콘텐츠 항목을 제공하는 주어진 사용자와 연관될 수 있다. 예를 들어, 일부 구현에서, 콘텐츠 항목이 수신된 날짜/시간이 저장될 수 있다. 다양한 구현에서, 메타데이터는, 콘텐츠 항목을 전송한 사용자 및/또는 클라이언트 디바이스에 대한 데이터를 포함할 수 있다. 예를 들어, 일부 구현에서, 콘텐츠 항목을 생성하거나 업로드한 사용자의 이름 및 사용자나 클라이언트 디바이스에 대한 지리적 및/또는 위치 데이터가 저장될 수 있다. 또 다른 예로서, 사진의 주제 또는 장소를 식별하기 위해 이미지 인식이 이용될 수 있고, 이미지 인식 결과 또는 태그는 메타데이터로서 저장될 수 있다.
일부 구현에서, 각각의 콘텐츠 항목에 대한 메타데이터는 클라이언트 디바이스(110)에 액세스가능한 방식으로 저장된다. 일부 구현에서, 각각의 콘텐츠 항목에 대한 메타데이터는 로컬 스토리지에 저장된다. 메타데이터는, 예를 들어, 데이터베이스에 저장될 수 있고, 데이터베이스 테이블에서 테이블 내의 각각의 행은 콘텐츠 항목에 대한 메타데이터를 포함한다. 메타데이터는, 예를 들어, XML 파일 등의 텍스트 파일로 저장될 수 있다. 콘텐츠 항목과 연관된 메타데이터는, 예를 들어, 로컬 스토리지에 또는 2차 스토리지에 저장될 수 있다.
일부 구현에서, 로컬 스토리지에 저장된 또는 저장될 수 있었던 콘텐츠 항목과 연관된 메타데이터는, 콘텐츠 항목 그 자체가 로컬 스토리지 내에 현재 저장되어 있지 않더라도 로컬 스토리지에 저장된다.
도 1 및 도 2를 참조하면, 블록(206)에서, 클라이언트 디바이스(110) 상의 로컬 스토리지의 가용 로컬 스토리지 용량이 결정된다. 일부 구현에서, 로컬 스토리지의 총 용량은 클라이언트 디바이스(110)용의 운영 체제에 의해 결정될 수 있다. 일부 구현에서, 로컬 스토리지의 총 용량은 로컬 스토리지 상에 저장된 데이터로부터 결정될 수 있다. 예를 들어, FAT-32 포멧팅된 데이터 저장소에서, 데이터 저장소의 용량은 데이터 저장소에 저장된 파일 할당 테이블(File Allocation Table)에 액세스함으로써 결정될 수 있다. 스토리지 디바이스의 가용 용량은 또한, 운영 체제에 의해 및/또는 클라이언트 디바이스(110) 상에 저장된 데이터로부터 결정될 수 있다.
일부 구현에서, 가용 로컬 스토리지 용량은, 현재 사용중이지 않은 스토리지 디바이스 상에서 이용가능한 공간 및/또는 운영 체제 및/또는 애플리케이션에 의해 이루어진 예약에 기초하여 결정될 수 있다. 예를 들어, 운영 체제는 애플리케이션을 위한 및 임시 스토리지를 위한 가용 공간의 일부를 예약할 수 있다. 이 경우, 가용 로컬 스토리지 용량은 이러한 예약이나 할당에 의해 감소된 로컬 스토리지 디바이스 상의 가용 스토리지 공간이다.
일부 구현에서, 가용 로컬 스토리지 용량은 콘텐츠 항목을 위한 할당에 기초하여 결정될 수 있다. 예를 들어, 구성은, 미리 결정된 양의 스토리지가 콘텐츠 항목을 위해 예약되어 있다는 것을 표시할 수 있다. 예를 들어, 구성은, 4 GB가 콘텐츠 항목의 스토리지에 이용가능하다는 것을 표시할 수 있다. 콘텐츠 항목이 현재 3GB를 차지하고 있다면, 이 예에서의 가용 로컬 스토리지 용량은 1GB일 것이다. 일부 구현에서, 콘텐츠 항목을 위한 가용 로컬 스토리지 용량은 디바이스 상의 총 가용 스토리지의 명시된 퍼센트일 수도 있다. 예를 들어, 디바이스 상의 총 가용 로컬 스토리지 용량이 2.2GB이고 명시된 퍼센트가 55%이면, 가용 스토리지 용량은 1.21GB일 것이다.
도 1 및 도 2를 참조하면, 블록(208)에서, 클라이언트 디바이스(110)로부터의 콘텐츠 항목은 2차 스토리지에 업로드된다. 콘텐츠 항목은, 콘텐츠 항목을 2차 스토리지에 기입, 복사, 전송 또는 기타의 방식으로 전달함으로써 업로드될 수 있다. 일부 구현에서, 콘텐츠 항목은, 파일/문서 공유를 위한 서비스, 및/또는 다른 적절한 전송 능력을 이용하여, 전자메일, 파일 전송 프로토콜(ftp), 하이퍼텍스트 전송 프로토콜(http, https), 원격 복사(rep), rsync, 블록-레벨 복사(예를 들어, iSCSI, 광 채널 프로토콜(Fibre Channel Protocol)(FCP), AoE(ATA over Ethernet) 등)을 통해 전송될 수 있다.
2차 스토리지는, 클라이언트 디바이스(110)에 통합되거나 유선이나 무선 통신 네트워크 또는 일부 조합을 통해 직접 접속되거나 직접적으로 또는 간접적으로 이용가능한 임의 유형의 데이터 저장소일 수 있다. 일부 구현에서, 2차 스토리지는, 클라이언트 디바이스에 설치된 SD 또는 마이크로 SD 등의 플래시 드라이브이다. 일부 구현에서, 2차 스토리지는 클라이언트 디바이스(110)에 삽입되거나 이로부터 제거될 수 있는 플래시 드라이브이다. 일부 구현에서, 2차 스토리지는 USB 스틱 또는 USB 디스크 드라이브이다. 일부 구현에서, 2차 스토리지는, 블루투스(Bluetooth), 이더넷(Ethernet), TCP/IP, 파이어와이어(Firewire) 등의 프로토콜을 이용하여 네트워크를 통해 통신할 수 있는 네트워크 스토리지 디바이스이다.
일부 구현에서, 2차 스토리지는 인터넷을 통해 이용가능한 클라우드 스토리지 시스템이다. 다양한 구현에서, 2차 스토리지는 미디어 공유 사이트(예를 들어, 사진 및/또는 비디오 공유 사이트)일 수 있다. 예시적 구현에서, 2차 스토리지는 소셜 네트워킹 서비스일 수 있다.
일부 구현에서, 2차 스토리지는 클라이언트 디바이스(110) 상의 애플리케이션과 연관된 스토리지 복제 서비스 또는 백업 서비스에 의해 제공된다. 예를 들어, 로컬 스토리지 내의 특정한 폴더 내에 복사되는 파일들은 스토리지 복제 서비스에 의해 자동으로 복제될 수 있다.
일부 구현에서, 백업 애플리케이션이 콘텐츠 항목을 백업할 수 있게 하거나 및/또는 콘텐츠 항목을 백업하도록 백업 애플리케이션을 구성함으로써 콘텐츠 항목은 2차 스토리지에 업로드된다. 백업 애플리케이션은 백업을 위한 애플리케이션이거나, 소셜 네트워크 애플리케이션, 사진 및/또는 비디오 애플리케이션 등의 또 다른 애플리케이션 내에 통합될 수 있다. 예를 들어, 백업 애플리케이션은 클라이언트 디바이스의 운영 체제에 의해 제공되는 콘텐츠 백업 서비스이거나 이를 이용할 수 있다. 일부 구현에서, 디바이스 운영 체제의 일부로서 또는 애플리케이션에 의해 제공된 기능의 일부로서 또는 별개의 애플리케이션으로서 클라이언트 디바이스(110) 상에서 이미 이용가능한 백업 애플리케이션을 인에이블하기 위해 사용자로부터의 허락이 요청된다. 일부 구현에서, 사용자는 콘텐츠 항목을 업로드하는데 이용되는 애플리케이션을 다운로드 및 설치하도록 요청받을 수 있다. 일부 구현에서, 시스템은 임의의 사용자 상호작용이나 입력없이 원하는 콘텐츠 항목을 자동으로 업로드한다(예를 들어, 사용자 동의에 의해 인에이블되는 자동-업로드 피쳐).
일부 구현에서, 업로드는 가용 로컬 스토리지 용량에 대한 결정에 기초하여 발생한다. 일부 구현에서, 업로드는 주기적으로 발생한다. 일부 구현에서, 업로드는, 시간별, 일별, 주별, 월별, 분기별 등과 같은 미리 결정된 스케줄에 기초하여 발생한다. 일부 구현에서, 업로드는 미리 결정된 스케줄에 기초하여 및 클라이언트 디바이스(110)에 대한 2차 스토리지의 가용성에 기초하여 발생한다. 예를 들어, 2차 스토리지는, 디바이스가 네트워크에 접속될 때에만 이용가능할 수 있다. 일부 구현에서, 명시된 기간이 경과하고 2차 스토리지가 클라이언트 디바이스(110)에게 이용가능하다면, 클라이언트 디바이스는 콘텐츠 항목을 업로드할 것이다. 일부 구현에서, 업로드는, 스토리지 공간 에러 등의, 트리거링 이벤트시에 발생한다.
일부 구현에서, 클라이언트 디바이스(110)는 클라이언트 디바이스(110) 상에 저장된 모든 콘텐츠 항목을 업로드할 것이다. 예를 들어, 클라이언트 디바이스의 전체의 로컬 스토리지는, 완전한 백업을 제공하도록 업로드될 수 있다. 일부 구현에서, 로컬 스토리지로부터 제거되도록 선택된 콘텐츠 항목만이 업로드된다. 일부 구현에서, 소정 유형의 콘텐츠 항목만이 업로드된다. 예를 들어, 사진과 비디오만이 업로드될 수 있고, 오디오 트랙이나 소셜 네트워크 메시지는 업로드되지 않을 수도 있다. 일부 구현에서, 콘텐츠 항목들 중 일부만이 특정한 시간에 업로드될 수 있다. 예를 들어, 더 최근의 콘텐츠 항목이 먼저 업로드되거나 더 오래된 콘텐츠 항목이 먼저 업로드되도록, 업로드할 콘텐츠 항목을 결정하기 위해 시간 기준이 이용될 수 있다. 일부 구현에서, 제한된 수의 또는 양의 콘텐츠 항목이 각각의 업로드시에 업로드되도록 업로드는 대역폭 제약 또는 시간 제약에 의해 제한될 수 있다.
일부 구현에서, 콘텐츠 항목 대신에 일부 콘텐츠 항목에 대한 정보(예를 들어, 메타데이터)가 업로드될 수 있다. 예를 들어, 시장에서 소정 애플리케이션의 사본이 이용가능하다면, 필요할 경우 시장으로부터 그 애플리케이션을 복구하기 위하여 애플리케이션을 기술하는 데이터를 업로드하는 것으로 충분할 수도 있다. 또 다른 예로서, 2차 스토리지 상에서 또는 다른 서버(예를 들어, 소셜 네트워킹 서버) 상에서 사진이 이이 이용가능하다면, 사진 그 자체 대신에 소셜 네트워킹 서버 상의 사진에 대한 식별자를 업로드하는 것으로 충분할 수도 있다.
도 1 및 도 2를 참조하면, 블록(210)에서, 클라이언트 디바이스의 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족할 때 미리 결정된 기준에 기초하여 로컬 스토리지로부터의 제거를 위한 콘텐츠 항목이 선택된다. 다양한 구현에서, 콘텐츠 항목들은, 클라이언트 디바이스(110)가 예를 들어 네트워크(150)로부터 접속해제될 때, 사용자가 디바이스 상에서 원할 가능성이 높은 콘텐츠 항목들을 디바이스에 유지하고, 디바이스 상에서 갖기를 원할 것 같지 않은 콘텐츠 항목들을 제거를 위해 선택하도록 선택된다. 이것은, 효율적인 네트워크 통신을 위해 중요할 뿐만 아니라, 예를 들어, 네트워크 액세스가 값비싸거나, 간헐적이거나, 이용불가능한 이유로 사용자가 오프라인이더라도 사용자가 원하는 콘텐츠를 가지도록 하는데 있어서 중요하다. 예를 들어, 사용자가 데이터 액세스가 이용불가능한 장소에 또는 불량한 네트워크 커버리지 영역(예를 들어, 건물 내부)에 또는 네트워크 액세스가 값비싼(예를 들어, 국가간 여행) 장소에 있다면, 그 사용자는 여전히 소정의 콘텐츠 항목이 자신의 디바이스 상에서 이용가능할 것을 원할 수 있다. 다양한 구현에서, 시스템은, 예를 들어, 사용자가 오프라인에서 액세스하기를 원할 가능성이 높은 콘텐츠 항목을 디바이스 상에 유지하고, 사용자가 오프라인에서 액세스하기를 원할 것 같지 않은 콘텐츠 항목을 제거하기 위해, 미리 결정된 기준을 이용하여 콘텐츠 항목을 선택한다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들이 2차 스토리지에 성공적으로 업로드되었는지를 포함한다. 예를 들어, 콘텐츠 항목들이 2차 스토리지에 업로드되었다면, 이들은 로컬 스토리지로부터 제거될 수 있다. 다양한 구현에서, 이 기준은 임의의 적절한 방식으로 결정될 수 있다. 예를 들어, 콘텐츠 항목들이 저장되어 있는 곳에 대한 정보가 메타데이터에 포함될 수 있다. 예를 들어, 클라이언트 디바이스(110)가 2차 스토리지에 직접 액세스 또는 간접 액세스한다면, 클라이언트 디바이스는 콘텐츠 항목들이 성공적으로 업로드되었는지를 결정할 수 있다. 또 다른 예로서, 백업 서비스가 업로드를 위해 이용된다면, 특정한 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 결정하기 위해 백업 서비스에 질의하는 것이 가능할 수도 있다. 또 다른 예로서, 콘텐츠 복제 서비스는 콘텐츠 항목들이 복제되었는지에 대한 표시를 제공할 것을 질의받을 수 있다. 일부 콘텐츠 항목의 경우, 연관된 애플리케이션들은 모든 콘텐츠 항목을 그들의 연관된 서버들에 업로드할 수 있으므로, 일단 업로드가 완료되고 나면, 모든 콘텐츠 항목이 업로드되었다.
예를 들어, 일부 구현에서, 소셜 네트워크 애플리케이션은 모든 데이터를 그 연관된 네트워킹된 서버들에 저장할 수 있고, 그 데이터의 서브셋만이 클라이언트 디바이스(110) 상에서 이용가능하게 남는다. 일부 이러한 애플리케이션들은 클라이언트 디바이스가 클라이언트 디바이스(110)로부터 제거하기 위한 콘텐츠 항목을 마킹하는 것을 허용할 수 있지만, 이들 콘텐츠 항목들은 클라이언트 디바이스(110) 상의 사용자에 의한 또는 네트워킹된 서버들로의 다른 액세스에 의한 회수에 대해 이용가능하게 남는다. 일부 구현에서, 업로드된 콘텐츠 항목의 감소된 크기 버전(예를 들어, 더 낮은 해상도의 사진이나 비디오 또는 압축된 파일)이 생성되어 로컬 스토리지 내의 콘텐츠 항목의 전체 버전을 대체한다. 일부 구현에서, 콘텐츠 항목의 감소된 크기 버전이, 그것이 감소된 크기 버전이라는 것을 식별하게 하는 방식으로(예를 들어, 크기, 색상, 하이라이팅, 기타의 표시자 등) 사용자에게 디스플레이될 수 있다. 예를 들어, 감소된-크기 버전은, 감소된 크기 버전이라는 것을 나타내는 그래픽 심볼 등의 시각적 표시자를 가질 수 있다. 예를 들어, 감소된-크기 버전은, 진행 막대(progress bar)로서 이용되고 전체 크기 버전을 다운로드할 때 이루어지는 진행을 보여주도록 채워지는 직사각형을 가질 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들의 포착과 연관된 시간 데이터를 포함한다. 예를 들어, 주어진 사용자가 최근의 이벤트에서 포착한 비디오의 경우, 시간 데이터는 콘텐츠 항목이 생성된 날짜/시간을 포함할 수 있다. 예를 들어, 이것은 파일 내의 메타데이터(예를 들어, 사진에서는 EXIF 데이터) 또는 파일이 저장되거나 수정될 때 기록된 파일 시스템 데이터를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목이, 클라이언트 디바이스나 임계치를 충족하는 기타의 디바이스 상에서 처음 저장된, 마지막으로 액세스되거나 마지막으로 수정된 날짜/시간을 포함한다. 예를 들어, 임계치 날짜/시간보다 먼저 처음 저장된 모든 콘텐츠 항목이 선택될 수도 있다. 임계치 날짜/시간은, 1주, 1달, 2달, 3달, 6달, 1년 등 전인 과거의 날짜/시간일 수도 있다. 예를 들어, 1달보다 더 오래전에 마지막으로 보았던 콘텐츠 항목이 선택될 수도 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들의 액세스 빈도를 포함한다. 예를 들어, 주어진 사용자가 자신의 디바이스 상에서 빈번하게 보는 사용자의 신생아의 일련의 사진들은 높은 액세스 빈도를 가질 수 있다. 액세스 빈도는 콘텐츠 항목과 연관된 애플리케이션에 의해 기록될 수 있다. 액세스 빈도는 스토리지 관리자에 의해 기록될 수도 있다. 액세스 빈도는 사용자에 의해 액세스된 복수의 클라이언트 디바이스들 중 하나 이상에 대해 기록될 수 있다. 예를 들어, 주어진 사용자가 소정의 콘텐츠 항목을 자신의 전화기 상에서 빈번하게 액세스한다면, 그 사용자는 자신의 태블릿 상에서 동일한 콘텐츠 항목을 액세스하기를 원할 수도 있다. 이 경우, 액세스 빈도는 복수의 디바이스들 상에서의 액세스 빈도를 고려한다. 예를 들어, 일부 구현에서, 지난 달에 소정 횟수 미만으로 본 콘텐츠 항목들이 선택될 수도 있다. 예를 들어, 일부 구현에서, 지난 달에 일정 횟수 미만으로 본 콘텐츠 항목들이 선택될 수도 있다. 각각의 예에서, 횟수는, 예를 들어, 1회, 2회, 3회, 4회, 5회, 10회 등일 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들의 액세스 방법을 포함한다. 예를 들어, 사용자가 특정한 디바이스(예를 들어, 특정한 전화기, 태블릿, 개인용 컴퓨터, 텔레비전, 프로젝터, 또는 손목시계) 상에서 사진을 보았다면, 콘텐츠 항목을 유지하고자 하는 바람과 연관될 수 있다. 예를 들어, 사용자가 자신의 손목시계 상에서 소정의 콘텐츠 항목을 본다면, 사용자는 나중에 이들 콘텐츠 항목에 액세스하기를 원할 수도 있다. 예를 들어, 사용자의 손목시계 상에서 본 모든 콘텐츠 항목이 선택될 수 있다. 예를 들어, 추가적인 미리 결정된 기준이 충족된다면 텔레비전 상에서 본 콘텐츠 항목이 선택될 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들의 액세스 장소를 포함한다. 예를 들어, 사용자가, 집, 업무지, 스튜디오, 지역 이웃, 또는 새로운 장소로 이동할 때 등의 특정한 장소에 위치한 소정의 콘텐츠 항목을 본다면, 사용자는 나중의 시간에 이들 콘텐츠 항목에 액세스하기를 원할 수도 있다. 사용자는 이런 방식으로 장소 정보의 이용에 대한 허락을 인에이블할 것을 요구받을 수 있다. 사용자는 장소(예를 들어, 가정, 업무지, 스튜디오, 이웃 등)를 식별하는 정보를 명시적으로 제공할 것을 요청받을 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들의 액세스 가능성을 포함한다. 이것은 임의의 적절한 방식으로 결정될 수 있다. 일부 구현에서, 액세스 가능성은 사용자에 의한 과거 액세스 패턴들에 기초한다. 일부 구현에서, 액세스 가능성은 사용자에 의한 및/또는 사용자와 사회적 친화성을 갖는 다른 사용자들에 의한 액세스 패턴에 기초한다. 예를 들어, 주어진 사용자와의 높은 사회적 친화성을 갖는 다른 사용자(예를 들어, 사용자의 배우자)가 특정한 콘텐츠 항목에 액세스했다면, 그 사용자는 바로 그 콘텐츠 항목에 액세스할 가능성이 더 높을 것이다.
일부 구현에서, 미리 결정된 기준은 복수의 스테이지, 레벨, 또는 조합을 포함한다. 예를 들어, 제1 미리 결정된 기준이 이용될 수 있다. 제1 기준을 이용하여 선택된 콘텐츠 항목이 원하는 로컬 스토리지 용량 레벨을 달성하는데 충분하지 않다면, 제2 미리 결정된 기준이 이용될 수 있다. 제2 미리 결정된 기준을 이용하여 선택된 콘텐츠 항목이 원하는 로컬 스토리지 용량 레벨을 달성하는데 충분하지 않다면, 제3 기준이 이용될 수 있는 등등이다.
일부 구현에서, 콘텐츠 항목은 채점되고, 콘텐츠 항목을 순위매김하기 위해 그 점수가 이용되어, 가장 높은 점수를 갖는 콘텐츠 항목이 유지되도록 선택(또는 로컬 스토리지에 추가되도록 선택)된다. 더 낮은 점수를 갖는 콘텐츠 항목은 플레이스홀더 사본들로 대체된다. 가장 낮은 점수를 갖는 콘텐츠 항목들은 제거를 위해 선택된다.
일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목을 선택에 대해 포함/배제하기 위한 임계치 기준과, 선택에 대한 포함 또는 배제할 콘텐츠 항목들을 우선순위화기 위한 순위매김 기준을 포함한다. 콘텐츠 항목들을 순위매김하기 위한 기준은 로컬 스토리지 용량의 원하는 레벨을 달성하기 위해 제거되어야 하는 콘텐츠 항목들을 우선순위화하는데 이용된다. 예시적 구현에서, 이 기준은, 콘텐츠 항목이 2차 스토리지에 업로드되고, 그 콘텐츠 항목이 미리 결정된 기간(예를 들어, 지난주, 지난달, 현재 일자로부터 몇일 이내 등)에 액세스되었다면 선택에 대해 배제되어야 하는 임계치 요건을 포함할 수 있다. 이 기준을 충족하는 모든 콘텐츠 항목을 선택하는 것이 아니라, 미리 결정된 기준은 또한, 마지막 액세스 시간의 순위매김 기준을 이용할 수 있다. 순위매김 기준은, 원하는 가용 로컬 스토리지 용량 레벨에 도달할 때까지 가장 최근에 액세스된 콘텐츠 항목을 선택하고 제거하는데 이용될 수 있다.
일부 구현에서, 미리 결정된 기준은 적어도 부분적으로 사회적 친화성에 기초한다. 예를 들어, 사용자의 배우자, 형제자매, 또는 가까운 친구 등의, 사용자와의 강한 사회적 친화성을 갖는 누군가와 공유되는 사진은 높은 사회적 친화성을 가질 수 있다. 일부 구현에서, 사회적 친화성은, 콘텐츠 항목의 게시자, 콘텐츠 항목의 수신자, 콘텐츠 항목에 추가된 태그, 콘텐츠 항목에 대한 반응, 콘텐츠 항목과 연관된 체크-인 데이터, 콘텐츠 항목과 연관된 지리적 및/또는 장소 데이터, 콘텐츠 항목과 연관된 이벤트 데이터, 이미지 인식 결과, 및 다른 콘텐츠 항목에 대한 콘텐츠 항목의 유사성으로 이루어진 그룹으로부터 선택된 적어도 하나의 기준에 의해 결정된다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목과 일치하는 이벤트를 포함한다. 예를 들어, 콘텐츠 항목이 이벤트와 연관된다면, 그 이벤트에 대한 정보가 이들 콘텐츠 항목을 선택에 대해 포함/배제하기 위한 기준으로서 이용될 수 있다. 예를 들어, 소정 시간 이전에 발생한 이벤트에 관련된 콘텐츠 항목은 더 이상 사용자와 관련되지 않을 수도 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목의 사용자에 대한 중요성을 포함한다. 일부 구현에서, 콘텐츠 항목의 중요성은, 디바이스의 사용자와 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초한다. 한 명 이상의 사람은 타겟 사용자라 부른다.
일부 구현에서, 특정한 콘텐츠 항목과 타겟 사용자 사이의 연관은 소셜 네트워크 데이터베이스에, 예를 들어, 2차 스토리지(106) 또는 다른 데이터 저장소 또는 데이터베이스에 저장되어, 클라이언트 디바이스(110)가 2차 스토리지(106)에 질의함으로써 타겟 사용자와 연관된 콘텐츠 항목을 식별할 수 있게 한다.
클라이언트 디바이스(110)는 콘텐츠 항목을 타겟 사용자와 연관시키기 위해 미리 결정된 기준을 이용할 수 있다. 임의의 적절한 기준이 이용될 수 있다. 일부 구현에서, 이 기준은 사용자에 의해 명시될 수 있다.
예를 들어, 사용자는 게시된, 수신된 및/또는 하나 이상의 지정된 사람 또는 그룹과 공유된 콘텐츠는 제거되지 않아야 한다는 것을 기준으로 명시할 수 있다. 일부 구현에서, 기준은 클라이언트 디바이스(110)의 관리자에 의해 미리 결정될 수 있다. 일부 구현에서, 미리 결정된 기준은 사회적 친화성을 포함한다. 다양한 구현에서, 미리 결정된 기준은 필터링을 포함한다. 예시적 구현에서, 미리 결정된 기준은 콘텐츠 항목의 필터링 유형(예를 들어, 사진, 비디오, 포스트 등)을 포함한다. 예시적 구현에서, 미리 결정된 기준은, 예를 들어 기준을 충족하는 더 오래된 콘텐츠 항목들만이 선택되도록 더 최근의 콘텐츠 항목(예를 들어, 소정의 날짜/시간 이후의 게시되거나 보았던 항목들)을 필터링하는 것을 포함한다.
다양한 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 사진이 주어진 타겟 사용자의 이미지를 포함한다는 결정을 포함할 수 있다. 예를 들어, 주어진 타겟 사용자(예를 들어, 사용자의 배우자, 사용자의 다른 가족 구성원, 또는 사용자의 가까운 친구)를 포함하는 사진은 제거에 대해 선택되지 않을 수도 있다. 일부 구현에서, 클라이언트 디바이스(110)는 주어진 타겟 사용자가 주어진 사진 내에 있는지를 결정하기 위해 인식 기술을 이용할 수 있다. 다양한 구현에서, 클라이언트 디바이스는, 사진 내의 얼굴, 랜드마크, 물체 등을 인식하기 위해 하나 또는 다양한 적절한 인식 기술을 이용할 수 있다. 이러한 인식 기술은 클라이언트 디바이스(110)에 통합되거나 서버 시스템(102)과의 통신을 통해 이용가능할 수도 있다. 예를 들어, 이 기술은, 클라이언트 디바이스의 하드웨어 내에 구축된, 서버 시스템(102)에 의해 제공된, 또는 일부 조합에 의해 클라이언트 디바이스(110)의 소프트웨어(예를 들어, 운영 체제 또는 애플리케이션)로 구현될 수 있다. 클라이언트 디바이스(110)는, 클라이언트 디바이스(110) 외부의 및 클라이언트 디바이스(110)가 액세스하는 소프트웨어 및/또는 하드웨어에 의해 제공된 인식 기술에 액세스할 수 있다. 일부 구현에서, 텍스트를 포함하거나 이와 연관된 콘텐츠 항목의 제목을 결정하기 위해 텍스트 분석이 적용될 수 있다. 일부 구현에서, 메타데이터는 콘텐츠 항목의 제목이나 피쳐에 대한 정보를 포함할 수 있다. 메타데이터는, 인식 기술의 결과, 텍스트 분석, 및 콘텐츠 항목과 연관된 태그를 포함할 수 있다.
미리 결정된 기준은, 사진이 타겟 사용자와의 소정의 사회적 친화성 정도를 갖는 개인들을 포함하는 범위를 포함할 수 있다.
예를 들어, 일부 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 사진이 주어진 타겟 사용자의 이미지를 포함한다는 및/또는 타겟 사용자가 하나 이상의 사진에서 태깅되어 있다는 결정을 포함할 수 있다. 태그는, 사진이 타겟 사용자의 이미지를 포함한다고 결정하는데 이용될 수 있다.
일부 구현에서, 하나 이상의 미리 결정된 기준은, 타겟 사용자가 참석한 이벤트 동안에 하나 이상의 사진이 찍혔다는 결정을 포함할 수 있다. 다양한 구현에서, 이벤트는 어떤 지리적 장소의 사람들의 모임이나 임의의 미팅일 수 있다. 이러한 이벤트들은, 대회, 파티, 행사, 식사, 수업, 회의, 행사, 회의 등을 포함할 수 있다. 일부 구현에서, 이벤트는 가상 이벤트(예를 들어, 웹 회의, 전화 회의 등)를 포함할 수 있다. 다양한 구현에서, 시스템은, 이벤트 참가자들의 목록으로부터 타겟 사용자가 특정한 이벤트에 참석했다고 결정할 수 있다. 타겟 사용자는, 이벤트에 등록, 회신(RSVPed), 또는 티켓 구매 등을 한 이후에 이벤트 참가자들의 목록에 추가될 수 있다.
일부 구현에서, 이벤트의 중요성이 결정될 수 있다. 예를 들어, 더 많은 사회적 활동 및/또는 더 많은 콘텐츠 항목과 연관된 이벤트가 더 중요할 수 있다. 예를 들어, 높은 사회적 친화성을 갖는 다른 사용자들이 참석한 이벤트는 중요하다고 간주될 수 있다. 예를 들어, 사용자와의 더 낮은 사회적 친화성을 갖는 개인들이 참가한 이벤트와 연관된 콘텐츠 항목은 제거를 위해 선택될 수 있다.
일부 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 사진이 소셜 네트워킹, 사진 공유 또는 메시징 애플리케이션의 포스트에 첨부되었고, 타겟 사용자가 그 포스트와 연관되어 있다는 결정을 포함할 수 있다. 일부 구현에서, 타겟 사용자는 포스트의 수신자가 되거나 및/또는 포스트에서 언급됨으로써 포스트와 연관될 수 있다. 다양한 구현에서, 타겟 사용자는 포스트에 첨부된 하나 이상의 사진 내에 존재함으로써 포스트와 연관될 수 있다. 일부 구현에서, 시스템은, 타겟 사용자가 사진들 중 하나 이상 내에 있는지를 결정하기 위해 인식 기술을 이용하거나, 및/또는 사진과 연관된 태그를 이용할 수 있다.
예시적 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 사진이 포스트에 첨부되어 있고 타겟 사용자가 첨부된 사진들 중 하나 이상에 포함되어 있다는 결정을 포함할 수 있다. 또 다른 예시적 구현에서, 하나 이상의 미리 결정된 기준은, 타겟 사용자가 자주 가는 지리적 장소(들)로부터 게시가 이루어지고 있다는 결정을 포함할 수 있다. 또 다른 예시적 구현에서, 하나 이상의 미리 결정된 기준은, 타겟 사용자의 관심대상이 되는 주제에 대해 게시가 이루어지고 있다는 결정을 포함할 수 있다.
일부 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 사진이 타겟 사용자와 직접 공유된다는 결정을 포함할 수 있다. 다양한 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 콘텐츠 항목이 미리 결정된 사회적 친화성 임계치를 충족하는 사회적 친화성을 갖는 하나 이상의 다른 사용자에 의해 공유된다는 결정을 포함할 수 있다. 예를 들어, 사회적 친화성은 타겟 사용자와 하나 이상의 다른 사용자 사이에서 교환되는 정보의 수 또는 빈도에 기초할 수 있다. 예를 들어, 사회적 친화성은, 연락처 또는 그룹에 포함된 등의 사용자들 간의 관계, 연락처 또는 그룹 내의 소정 개인의 연락처 또는 그룹 내의, 친구의 친구 관계 등에 기초할 수 있다. 예를 들어, 사회적 친화성은 사용자들의 장소에 기초할 수 있다. 사회적 친화성은 사용자들이 공유한 관심사항에 기초할 수 있다. 예를 들어, 사회적 친화성은, 이들 및 다른 기준들 중 일부 또는 모두 중에서 1개, 2개, 또는 조합에 기초할 수 있다.
예시적 구현에서, 하나 이상의 미리 결정된 기준은, 하나 이상의 사진을 포함하는 사진 앨범이 타겟 사용자의 사진 라이브러리와 수동으로 연관되어 있다는 결정을 포함할 수 있다. 다양한 구현에서, 미리 결정된 기준은 하나 이상의 그룹에 이용가능한 콘텐츠 항목을 포함한다. 일부 구현에서, 미리 결정된 기준은 명시된 시간 범위 내에서 하나 이상의 그룹에 이용가능하게 된 콘텐츠 항목을 포함한다. 예를 들어, 콘텐츠 항목은 그룹의 멤버들과 공유될 수 있고, 소셜 네트워크 애플리케이션은 어느 콘텐츠 항목이 타겟 사용자가 속한 그룹 또는 그룹들과 공유되었는지를 결정할 수 있다. 일부 구현에서, 미리 결정된 기준은, 이 타겟 사용자를 위해 콘텐츠 항목이 선택되었던 마지막 시간 이후의 시간에서 하나 이상의 그룹에 이용가능하게 된 콘텐츠 항목을 포함한다. 예를 들어, 타겟 사용자는, 콘텐츠 항목이 소정 시간 빈도(예를 들어, 한 주에 한 번, 한 달에 한 번, 수 일 등)로 선택될 것을 요청할 수 있고, 시스템(102)은 어느 콘텐츠 항목이 타겟 사용자가 속한 그룹 또는 그룹들과 공유되었는지 또는 콘텐츠 항목이 선택되었던 마지막 시간 이후에 시스템에 의해 수신되었는지를 결정할 수 있다.
일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목의 게시자, 콘텐츠 항목의 수신자, 콘텐츠 항목에 추가된 태그, 콘텐츠 항목에 대한 반응, 콘텐츠 항목과 연관된 체크-인 데이터, 콘텐츠 항목과 연관된 지리적 및/또는 장소 데이터, 콘텐츠 항목과 연관된 이벤트 데이터, 이미지 인식 결과, 및 다른 콘텐츠 항목에 대한 콘텐츠 항목의 유사성을 포함한 그러나 이것으로 제한되지 않는 적어도 하나의 기준을 포함한다.
일부 구현에서, 미리 결정된 기준은, 타겟 사용자에 의해 취해진 행위 또는 행위들, 또는 다른 사용자에 의해 취해진 행위 또는 행위들, 또는 조합의 결과일 수 있다. 예를 들어, 타겟 사용자는, 콘텐츠 항목에 응답했거나, 콘텐츠 항목을 승인 또는 콘텐츠 항목에 대한 관심을 표시했을 수 있다. 또 다른 예로서, 타겟 사용자는, 콘텐츠 항목에 대한 더 많은 정보를 요청하는 등을 위해, 콘텐츠 항목과 연관된 링크를 클릭했을 수도 있다.
다양한 구현에서, 미리 결정된 기준이 사회적 친화성에 기초할 때, 사용자 및 콘텐츠 항목과 연관된 정보에 기초하여 사회적 친화성 점수를 계산하기 위해 채점 기술이 이용될 수 있다. 예를 들어, 더 높은 사회적 친화성 점수는, 타겟 사용자와 타겟 사용자 사이의 및/또는 타겟 사용자와 콘텐츠 항목 사이의 더 가까운 및/또는 더 많은 직접적 관계를 나타낼 수 있다. 다양한 구현에서, 사회적 친화성 점수는, 타겟 사용자와 또 다른 사용자 사이의 및/또는 타겟 사용자와 콘텐츠 항목 사이의 연결의 정도를 나타낼 수 있다. 일부 구현에서, 사회적 친화성 점수는, 타겟 사용자와 콘텐츠 항목 사이의, 직접적 관계, 간접적 관계, 및/또는 하나 이상의 직접적 및/또는 간접적 관계의 조합에 기초하여 계산될 수 있다. 일부 이러한 구현에서, 더 직접적인 관계는, 간접적 관계보다 더 높은 사회적 친화성 점수로 이어질 것이고, 간접적 관계가 많을수록, 점수는 더 낮아진다. 일부 이러한 구현에서, 예를 들어, 한 사용자가 다른 사용자와 공유하지만 그 반대는 아닌 일방적 관계는, 양방향 관계보다 낮은 사회적 친화성 점수로 이어질 것이다.
다양한 구현에서, 사회적 친화성 점수는, 적어도 부분적으로, 타겟 사용자와 콘텐츠 항목 사이의 관계에 의해 결정될 수 있다. 다양한 구현에서, 사회적 친화성 점수는, 적어도 부분적으로, 타겟 사용자와 다른 사용자 사이의 관계에 의해 결정될 수 있고, 여기서 다른 사용자는 하나 이상의 콘텐츠 항목에 대한 관계를 가진다. 일부 구현에서, 사회적 친화성 점수는, 적어도 부분적으로, 콘텐츠 항목과 다른 콘텐츠 항목 사이의 관계에 의해 결정될 수 있다.
다양한 구현에서 사용자와 콘텐츠 항목 사이의 사회적 친화성의 예시적 예로서는, 사용자로부터 수신된 콘텐츠 항목, 사용자로 향하는 또는 사용자에 전송된 콘텐츠 항목, 사용자가 위치했었거나 위치한 장소로부터 수신된 콘텐츠 항목, 사용자를 참조하는 콘텐츠 항목에 추가된 태그이거나 태그를 포함하는 콘텐츠 항목, 사용자에 의해 이루어진 콘텐츠 항목에 대한 반응으로서의 콘텐츠 항목, 사용자에 의해 제출된 체크-인 데이터로서의 콘텐츠 항목, 사용자가 관심을 표시한 주제나 장소에 대해 수신된 콘텐츠 항목, 사용자가 유사한 콘텐츠 항목을 제출했던 주제나 장소에 대해 수신된 콘텐츠 항목이 포함되지만, 이것으로 제한되지 않는다. 예를 들어, 타겟 사용자와 콘텐츠 항목 사이의 사회적 친화성은, 적어도 부분적으로, 타겟 사용자가 콘텐츠 항목을 제출하는지에 기초하여 결정될 수 있다. 또 다른 예로서, 타겟 사용자와 콘텐츠 항목 사이의 사회적 친화성은, 적어도 부분적으로, 타겟 사용자가 콘텐츠 항목의 대상인지에 기초하여 결정될 수 있다.
일부 구현에서, 타겟 사용자와 콘텐츠 항목 사이의 사회적 친화성은 타겟 사용자와 다른 사용자 사이의 사회적 친화성을 포함할 수 있고, 여기서, 다른 사용자는 콘텐츠 항목과의 관계를 가진다. 사용자와 다른 사용자 사이의 사회적 친화성의 예시적인 예로서는, 동일한 그룹의 멤버, 타겟 사용자와 다른 사용자 사이의 콘텐츠 항목의 공유, 친구로서 지정된 타겟 사용자와 다른 사용자, 공통으로 친구들을 갖는 타겟 사용자와 다른 사용자, 친구들인 친구들을 갖는 타겟 사용자와 다른 사용자, 동일한 그룹에 있는 그룹 멤버들을 갖는 타겟 사용자와 다른 사용자, 다른 사용자의 팔로워로서 지정된 타겟 사용자 또는 그 반대 등을 포함하며, 이것으로 제한되지 않는다. 일부 구현에서, 타겟 사용자와 콘텐츠 항목 사이의 사회적 친화성 관계는, 콘텐츠 항목이 타겟 사용자가 속하는 그룹의 멤버에 의해 게시되었는지에 적어도 부분적으로 기초하여 결정된다.
일부 구현에서, 타겟 사용자와 콘텐츠 항목 사이의 사회적 친화성은 콘텐츠 항목과 다른 콘텐츠 항목 사이의 사회적 친화성을 포함할 수 있다. 콘텐츠 항목과 다른 콘텐츠 항목 사이의 사회적 친화성의 예시적인 예로서는, 콘텐츠 항목에 추가된 태그, 콘텐츠 항목에 대한 반응, 콘텐츠 항목과 연관된 체크-인 데이터, 콘텐츠 항목과 연관된 지리적 및/또는 장소 데이터, 콘텐츠 항목과 연관된 이벤트 데이터, 이미지 인식 결과, 동일한 그룹과 공유된 콘텐츠 항목, 유사한 연관된 텍스트 또는 다른 피쳐들을 갖는 콘텐츠 항목이 포함되지만, 이것으로 제한되지 않는다. 예를 들어, 콘텐츠 항목과 다른 콘텐츠 항목 사이의 사회적 친화성은, 콘텐츠 항목이 타겟 사용자에 의해 게시된 콘텐츠 항목과 유사할 때 결정될 수 있다.
일부 구현에서, 시스템은 로컬 스토리지 내의 콘텐츠 항목들의 서브셋에 관해 질의 또는 질의들을 실행하여 어느 콘텐츠 항목이 타겟 사용자와 연관될 것인지를 결정할 수 있다. 일부 구현에서, 타겟 사용자 및 복수의 콘텐츠 항목들 각각에 대해 사회적 친화성 점수가 결정된다. 다양한 구현에서, 미리 결정된 기준은 사회적 친화성 점수 임계치를 포함한다.
일부 구현에서, 시스템은 사용자에게 사용자가 하나 이상의 미리 결정된 기준을 명시하는 것을 허용하는 사용자 인터페이스를 프리젠팅할 수 있다. 예를 들어, 사용자는, 특정한 사용자 및 이벤트와 연관된 항목은 제거되지 않고 추가되어야 한다는 것을 제외하고는, 가장 오래된 항목이 먼저 제거되어야 한다는 것을 선택할 수 있다. 예를 들어, 사용자는 시간 범위(예를 들어, 1주, 2주, 1달, 2달 등보다 최근의 콘텐츠 항목은 유지되어야 한다) 및 특정한 사용자들의 목록을 명시하여, 더 오래되었지만 목록 상의 사용자들과 연관된 콘텐츠 항목들은 유지되게 할 수 있다.
일부 구현에서, 시스템은 이미 포함된 또는 배제된 콘텐츠 항목에 기초하여 제거를 위한 선택에 포함하거나 배제할 추가적인 콘텐츠 항목을 선택할 수 있다. 일부 구현에서, 선택되거나 배제된 콘텐츠 항목의 대상이 결정되고, 포함되거나 배제된 콘텐츠 항목의 결정된 대상에 관련된 추가적인 콘텐츠 항목들도 역시 선택되거나 배제된다. 예를 들어, 제거를 위해 선택된 콘텐츠 항목이 나무에 대한 것이라면, 나무에 대한 추가적인 콘텐츠 항목도 역시 제거를 위해 선택될 수 있다. 이러한 추가적인 콘텐츠 항목은, 잎, 나무, 과일, 숲 등을 포함하거나 이에 관한 사진, 도면, 텍스트, 또는 포스트를 포함할 수 있다. 또 다른 예로서, 제거를 위한 선택에 대해 배제된(즉, 유지하기로 선택된) 콘텐츠 항목이 고양이라면, 고양이에 대한 추가의 콘텐츠 항목들이 배제될 수 있다. 이러한 추가적인 콘텐츠 항목은, 고양이, 고양이 먹이, 고양이 먹이 그릇을 포함하거나 이에 관한 사진, 도면, 텍스트, 또는 포스트를 포함할 수 있다. 또 다른 예로서, 제거를 위해 선택된 콘텐츠 항목이 이벤트에 관한 것이라면, 그 이벤트에 관한 추가의 콘텐츠 항목이 선택될 수도 있다. 이러한 추가의 콘텐츠 항목은, 이벤트의 위치, 이벤트에서 발생한 활동, 이벤트의 다른 참가자를 포함하거나 이에 관한 사진, 도면, 텍스트 또는 포스트, 또는 이벤트(예를 들어, 인기있는 메시지)로부터 전송된 포스트 또는 메시지 등을 포함할 수 있다.
일부 구현에서, 콘텐츠 항목의 제목이, 이미지를 동반한 캡션이나 텍스트, 시스템 적용된 태그, 이용 태그로부터, 또는 이미지 또는 물체 인식을 통해 결정될 수 있다. 컴포지션(composition)에 포함된 콘텐츠 항목의 주제는, 서버 시스템(102) 상의 사용자에게 이용가능한 다른 콘텐츠 항목과, 또는 태그를 갖거나 인식이 이루어진 스톡 콘텐츠 항목(stock content item)과 정합될 수 있다.
도 1 및 도 2를 참조하여, 블록(212)에서, 선택된 콘텐츠 항목이 로컬 스토리지로부터 제거된다.
다양한 구현에서, 콘텐츠 항목들은 사용자 동의하에 또는 어떠한 사용자 상호작용이나 입력없이 자동으로 제거된다. 일부 구현에서, 콘텐츠 항목을 삭제하기 이전에 사용자 확정이 요청된다. 일부 구현에서, 콘텐츠 항목이 처음 삭제될 때 허락이 요청될 수 있다. 콘텐츠 항목들은 임의의 적절한 방식으로 제거될 수 있다. 일부 구현에서, 선택된 콘텐츠 항목은 파일 시스템으로부터 삭제될 수 있다. 일부 구현에서, 선택된 콘텐츠 항목은 콘텐츠 항목을 관리하는 애플리케이션에 의한 삭제를 위해 마킹될 수 있다. 예를 들어, 소셜 네트워크 애플리케이션에 의한 로컬 스토리지로부터의 제거를 위해 소셜 네트워크 콘텐츠 항목이 마킹될 수 있다. 또 다른 예로서, 사진 공유 애플리케이션에 의한 로컬 스토리지로부터의 삭제를 위해 사진들이 마킹될 수 있다.
일부 구현에서, 클라이언트 디바이스는 이전에 배제되었던 콘텐츠 항목을 선택으로부터 배제하는 추가 단계를 취할 수도 있다. 예를 들어, 사용자가 소정의 콘텐츠 항목(예를 들어, 특정한 사진)이 선택으로부터 배제되어야(예를 들어, 삭제되지 않아야) 한다는 것을 이전에 표시했다면, 시스템(160)은 이들 콘텐츠 항목들을 미래에 배제할 수 있다. 시스템(160)은, 사용자가 나중에 동일한 콘텐츠 항목에 대해 질의받지 않도록 사용자 선호사항을 저장할 수 있다. 예를 들어, 일부 구현에서, 사용자는 콘텐츠 항목을 선호대상으로서 태깅하거나 별표 표시자 또는 색상 표시자를 콘텐츠 항목에 할당할 수 있고, 이러한 콘텐츠 항목은 선택으로 배제되어 디바이스의 로컬 스토리지에 머물게 될 것이다.
일부 구현에서, 콘텐츠 항목의 플레이스홀더 사본이 생성되어 콘텐츠 항목의 제거를 대신하여 디바이스 상에 저장된다. 이 플레이스홀더 사본은, 사용자가, 2차 스토리지가 이용가능하지 않을 때 플레이스홀더로서 이용될 수 있는, 원래의 콘텐츠 항목의 부분들 또는 원래의 콘텐츠 항목에 대한 식별자 및/또는 기타의 정보를 보유하는 것을 허용하는 이점을 가진다. 예를 들어, 플레이스홀더 콘텐츠 항목은 로컬 스토리지 내에서 원래의 콘텐츠 항목보다 작은 크기를 가질 수 있다. 더 작은 크기의 버전은 임의의 적절한 방식으로, 예를 들어, 콘텐츠 항목의 특성을 변경하거나, 콘텐츠 항목의 부분들을 삭제하거나, 압축 기술을 적용하는 등에 의해 생성될 수 있다. 예를 들어, 고해상도 이미지를 대체하기 위해 저해상도 플레이스홀더 이미지가 이용될 수 있고, 더 낮은 해상도의 비디오가 고선명 비디오를 대체할 수 있고, 텍스트를 포함하는 콘텐츠 항목은 적절한 압축 기술로 압축될 수 있는 등등이다. 일부 구현에서, 플레이스홀더 콘텐츠 항목은, 콘텐츠 항목들 간의 차이를 저장함으로써 다른 콘텐츠 항목과 유사한 콘텐츠 항목에 대해 생성되는 더 작은 크기의 대체 콘텐츠 항목을 포함한다. 예를 들어, 다수의 사진이 제1 사진과 유사하다면, 전체의 원본 콘텐츠 항목 대신에 이들간의 차이점이 저장될 수 있다.
플레이스홀더 콘텐츠 항목을 생성하는 데 있어서, 시스템(160)은, 예를 들어, 클라이언트 디바이스(110)의 특성을 고려할 수 있다. 예를 들어, 이미지의 경우, 시스템(160)은, 클라이언트 디바이스(110)의 디스플레이 해상도를 고려할 수 있다. 사진이 디바이스 상에서 볼 수 있는 것보다 높은 해상도를 갖고 있다면, 시스템(160)은 사진 해상도를 감소시켜 클라이언트 디바이스(160)의 실제 해상도와 정합시킬 수 있다. 해상도가 클라이언트 디바이스(160)의 실제 해상도와 정합한다면 사용자는 처음에 플레이스홀더와 원본 사이의 차이를 주목하지 못할 수도 있다. 예를 들어, 사진의 원본 버전이 취해져 예를 들어, 카메라 설정이나 카메라 해상도에 기초하여, 5760x3600 픽셀의 해상도에서 저장되었고, 디바이스 스크린 디스플레이 해상도가 예를 들어 1920x1200 픽셀이라면, 사진에 대해 1920x1200 픽셀의 감소된 해상도를 갖는 플레이스홀더 버전이 생성될 수 있고, 플레이스홀더 버전에 대한 이 해상도는 디바이스 스크린 디스플레이와 정합한다. 사용자가 디바이스 디스플레이 상에서 플레이스홀더 버전을 볼 때, 사용자는 원본과 플레이스홀더 사이의 차이를 구분하지 못할 것이다. 사용자가 줌인(zoom in)을 시도한다면, 해상도 감소가 명백해질 수 있다.
사용자가 플레이스홀더 콘텐츠 항목을 선택할 때, 원본 콘텐츠 항목이 다운로드되어 플레이스홀더 콘텐츠 항목을 대체할 수도 있다. 일부 구현에서, 플레이스홀더에 대한 원본의 대체는 특정한 사용자 지시 없이 이루어질 수도 있다. 예를 들어, 사용자는 더 낮은 해상도의 플레이스홀더 이미지로 대체된 사진을 볼 것을 선택할 수 있고, 사용자는 플레이스홀더를 보기 시작하고, 시스템은 사용자가 플레이스홀더 이미지를 보고 있다고 결정하고, 원본 이미지가 다운로드되고 플레이스홀더 이미지는 원본으로 대체된다. 사용자가 이미지와 상호작용하기로, 예를 들어, 줌인하기로 결정할 쯤에, 플레이스홀더의 더 낮은 해상도 특성은 명백하게 되면, 원본의 다운로드가 완료되고 사용자는 원본 이미지와 상호작용할 수 있다. 이 프로세스는 매우 신속하게 발생할 수 있어서 사용자는 자신이 상호작용하기 위해 선택한 이미지가 원해 더 낮은 해상도의 플레이스홀더 이미지라는 것을 주목하지 못하고 원래의 이미지의 다운로드로 천이할 수도 있다.
마찬가지로, 저해상도 비디오는 고해상도 비디오를 대체하거나, 비디오는 더 느린 프레임-레이트를 갖고 상이한 (예를 들어, 유손실 또는 상이한 손실 특성을 갖는) 인코딩 방식으로 인코딩되거나 비디오의 초기 부분만을 갖는 더 작은 크기의 버전의 비디오로 대체될 수 있다. 예를 들어, 5분짜리 비디오의 경우, 스토리지 공간을 최고화하도록 인코딩된 비디오의 처음 30초만이 로컬 스토리지에 유지될 수 있다. 사용자가 비디오를 재생할 것을 선택한다면, 2차 스토리지, 서버(160)로부터 사용자에게 제공되거나, 또는 사용자의 디바이스에 다시 복사되어 플레이스홀더 콘텐츠 항목을 대체하는 데 이용되도록, 원본 비디오가 이용가능하지 않는 한/이용가능할 때까지 플레이스홀더가 재생될 수 있다.
일부 구현에서, 플레이스홀더 콘텐츠 항목은 원본 콘텐츠 항목과 동일한 외관을 갖지 않는다. 예를 들어, 시스템은 원본보다 훨씬 작은 해상도를 갖는 썸네일 이미지를 디스플레이할 수 있다. 썸네일 이미지는 사용자가 원본 이미지의 상세사항이 아니라 컨텍스트를 식별하기에 충분할 수 있다. 사용자가 이미지를 보기를 원한다면, 사용자는 그 이미지를 선택할 수 있고 시스템은 (접속되어 있다면) 2차 스토리지로부터 원본 이미지를 제공할 수 있다. 비디오는, 정지영상 이미지, 또는 오디오를 동반하거나 동반하지 않는 훨씬 더 작은 해상도 이미지로 대체될 수 있다. 플레이스홀더를 클릭함으로써, 사용자는 콘텐츠 항목에 대한 관심을 시그널링하고, 사용자의 클라이언트 디바이스(110)가 2차 스토리지와 통신한다면 그 콘텐츠 항목의 더 높은 해상도 또는 더 큰 크기의 이미지가 2차 스토리지로부터 다운로드되어 사용자에게 이용가능하게 될 수 있다.
일부 구현에서, 어느 콘텐츠 항목들을 클라이언트 디바이스 상에 유지하기로 선택할지를 결정하기 위해 컨텍스트가 이용될 수 있다. 예를 들어, 사용자가 특정한 날짜/시간 또는 이벤트 또는 사람과 연관된 콘텐츠 항목 등의, 다수의 관련된 콘텐츠 항목을 가지고 있다면, 그 날짜/시간 또는 이벤트와 연관된 제1 개수의 콘텐츠 항목이 클라이언트 디바이스(110) 상에 유지될 수 있다. 사용자가 유지된 콘텐츠 항목을 요청한다면, 시스템(160)은 그 컨텍스트와 관련된 다른 콘텐츠 항목을 2차 스토리지로부터 클라이언트 디바이스(110)로 다시 복사한다.
일부 구현에서, 결정하는 단계(206), 업로드하는 단계(208) 및 선택하는 단계(210) 중 하나 이상의 단계는 주기적으로 수행된다. 일부 구현에서, 결정하는 단계(206), 업로드하는 단계(208) 및 선택하는 단계(210) 중 하나 이상의 단계는 미리구성된 양의 콘텐츠 항목이 수신되었을 때 수행된다. 일부 구현에서, 결정하는 단계(206), 업로드하는 단계(208) 및 선택하는 단계(210) 중 하나 이상의 단계는, 스토리지 가용성에 관련된 운영 체제나 애플리케이션 통보 등의 트리거링 이벤트 및/또는 사용자에 의한 요청시에 수행된다. 일부 구현에서, 스토리지 관리와 단계들(204-212)은 도 7을 참조하여 이하에서 설명되는 바와 같은 스토리지 가용성의 결정에 의해 개시될 수 있다.
일부 구현에서, 단계들(204-212) 중 하나 이상에 대한 트리거링 이벤트는, 단계들(204-212) 중 하나 이상의 주기적으로 수행되도록 미리 결정된 기간(time interval)의 경과일 수 있다. 일부 구현에서, 트리거링 이벤트는 타이머 로직에 의해 결정될 수 있다. 다양한 구현에서, 기간은 시간, 일, 주, 월, 또는 년의 전체 또는 일부일 수 있다. 예시적 구현에서, 트리거링 이벤트는, 클라이언트 디바이스가 적어도 한 달에 한 번씩 타겟 사용자에 대해 단계들(204-212)을 수행하고, 매달 타겟 사용자의 로컬 스토리지가 유지될 수 있도록, 매달 한번씩 발생한다. 다양한 예시적 구현에서, 클라이언트 디바이스는, 1시간에 한 번씩, 2시간마다 한번씩, 4시간마다 한번씩, 매일 한번씩, 2일마다 한번씩, 3일마다 한번씩, 4일마다 한번씩, 매주 한번씩, 2주마다 한번씩, 3주마다 한번씩, 한달에 한번씩, 2달에 한번씩 등으로 단계들(204-212)을 수행할 수 있다.
일부 구현에서, 단계들(208-212)은, 단계(206)에서 가용 로컬 스토리지 용량이 임계치를 충족한다고(예를 들어, 미리 결정된 임계치 레벨 아래라고) 결정될 때 수행된다. 일부 구현에서, 로컬 스토리지 용량(206)의 결정은 주기적으로 수행되고, 업로딩(208)은 지속적으로(on an ongoing basis) 수행된다. 가용 로컬 스토리지 용량이 임계치 스토리지 용량을 충족하다는 결정(206)이 이루어지면, 콘텐츠 항목은 아직 업로드되지 않은 경우 업로드되고(208) 미리 결정된 기준에 기초하여 제거를 위해 선택될 수 있다(210). 콘텐츠 항목(212)의 제거는 콘텐츠 항목이 선택된 직후에 또는 나중에 수행될 수 있다.
다양한 구현에서, 트리거링 이벤트는 임계치 양의 콘텐츠 항목의 수신일 수 있다. 예를 들어, 새로운 사진들이 찍힐 때, 가용 로컬 스토리지 용량의 결정이 취해지도록, 이 단계들은 카메라 애플리케이션 내에 통합될 수 있다. 다양한 구현에서, 임계치 개수의 콘텐츠 항목은 다수의 사진, 비디오 또는 이미지일 수 있다. 다양한 구현에서, 임계치 양의 콘텐츠 항목은 다수의 포스트 또는 코멘트의 수신 또는 게시일 수 있다.
도 3은 일부 구현에 따른 콘텐츠 항목을 저장하기 위한 예시적 흐름도를 나타낸다. 예를 들어, 여기서 설명된 미리 결정된 기준 등의 미리 결정된 기준에 기초하여 로컬 스토리지에 추가하거나 이로부터 제거할 콘텐츠 항목이 선택될 수 있도록, 시스템은 클라이언트 디바이스(110)와 2차 스토리지를 동기화할 수 있다. 예를 들어, 다른 디바이스에 의해 생성된 콘텐츠 항목은 2차 스토리지와 동기화될 수 있고, 다른 디바이스에 의해 2차 스토리지에 업로드된 콘텐츠 항목은 가용 로컬 스토리지 용량과 미리 결정된 기준에 기초하여 클라이언트 디바이스(100)의 로컬 스토리지에 추가될 수 있다.
예시적 방법(300)에서, 콘텐츠 항목이 수신된다. 도 2에 관하여 설명된 바와 같이, 클라이언트 디바이스(110)는 임의의 적절한 클라이언트 디바이스일 수 있고, 클라이언트 디바이스(110)는 다양한 콘텐츠 항목들 중 임의의 것을 수신할 수 있으며, 상이한 시간에 및 상이한 방식으로, 및 상이한 디바이스들을 이용하여 하나 이상의 상이한 사용자들로부터 상이한 콘텐츠 항목들을 수신할 수 있다.
블록(304)에서, 클라이언트 디바이스(110)에 의해 수신된 콘텐츠 항목은 로컬 스토리지에 저장될 수 있다. 설명된 바와 같이, 로컬 스토리지는 모바일 디바이스를 위한 1차 또는 디폴트 데이터 저장소일 수 있다.
블록(306)에서, 로컬 스토리지 내의 콘텐츠 항목이 2차 스토리지에 업로드된다. 설명된 바와 같이, 콘텐츠 항목은, 콘텐츠 항목을 2차 스토리지에 기입, 복사, 전송 또는 기타의 방식으로 전달함으로써 업로드될 수 있다. 2차 스토리지는, 클라이언트 디바이스(110)에 통합되거나 유선이나 무선 통신 네트워크 또는 일부 조합을 통해 직접 접속되거나 직접적으로 또는 간접적으로 이용가능한 임의 유형의 데이터 저장소일 수 있다. 2차 스토리지는, SOAP(Simple Object Access protocol), 또는 REST(Representational State Transfer) API 등의 애플리케이션 프로그래밍 인터페이스(API)를 이용해 이용가능할 수 있다. 일부 구현에서, 2차 스토리지는 인터넷을 통해 이용가능한 클라우드 스토리지 시스템이다. 다양한 구현에서, 2차 스토리지는 미디어 공유 사이트(예를 들어, 사진 및/또는 비디오 공유 사이트)일 수 있다. 예시적 구현에서, 2차 스토리지는, 소셜 네트워크 사이트의 소셜 네트워킹 서비스 및/또는 사진 및/또는 비디오 서비스일 수 있다. 일부 구현에서, 2차 스토리지는 클라이언트 디바이스(110) 상의 애플리케이션과 연관된 스토리지 복제 서비스 또는 백업 서비스에 의해 제공된다. 예를 들어, 로컬 스토리지 내의 특정한 폴더 내에 복사되는 파일들은 스토리지 복제 서비스에 의해 자동으로 복제될 수 있다. 2차 스토리지로의 복사는, 콘텐츠 항목의 사본이 2차 스토리지에서 이용가능하도록 보장한다.
콘텐츠 항목들을 2차 스토리지에 업로드하는 것은 또한, 업로드된 콘텐츠 항목과 연관된 메타데이터를 업로드하는 것을 포함할 수 있다. 메타데이터는 업로딩 프로세스의 일부로서 전달되거나, 콘텐츠 항목과 연관된 메타데이터의 문서 또는 기록들의 전달에 의해, 별도로 전달될 수 있다. 예를 들어, 메타데이터는 콘텐츠 항목의 복사시에 통신 프로토콜의 일부로서 전달될 수도 있다.
다양한 구현에서, 콘텐츠 항목을 수신하고(302) 콘텐츠 항목을 로컬 스토리지에 저장하는 것(304)은, 콘텐츠 항목이 수신되거나 생성될 때, 지속적으로 발생할 수 있다. 로컬 콘텐츠 항목들을 2차 스토리지에 업로드하는 것(306)은, 주기적으로, 콘텐츠 항목의 수신시에, 임계치 개수의 콘텐츠 항목의 수신시에, 콘텐츠 항목의 임계치 크기의 수신시에, 및/또는 일부 조합, 또는 기타 임의의 적절한 방식으로 발생할 수 있다.
2차 스토리지로의 로컬 콘텐츠 항목의 업로드(306)와 동시에 또는 이와 별도로, 로컬 스토리지와 2차 스토리지의 콘텐츠 항목들에 대한 메타데이터가 동기화된다(308). 메타데이터 동기화의 결과로서, 로컬 스토리지와 2차 스토리지 상에서 콘텐츠 항목과 연관된 메타데이터의 사본이 이용가능하다. 콘텐츠 항목과 연관된 메타데이터의 동기화는 클라이언트 디바이스(110)가 로컬 스토리지 내에 있는 콘텐츠 항목 및 로컬 스토리지에 있지 않지만 2차 스토리지에서 이용가능한 콘텐츠 항목에 대한 메타데이터 정보를 갖는 것을 허용한다. 동기화는, 2차 스토리지가, 메타데이터를, 2차 스토리지에 아직 업로드되지 않은 임의의 콘텐츠 항목과 연관시키는 것을 허용할 수 있다. 메타데이터는, 클라이언트 디바이스에 의해 2차 스토리지에 업로드된 콘텐츠 항목, 및 다른 디바이스에 의해 2차 스토리지에 업로드된 콘텐츠 항목과 연관된 메타데이터를 포함할 수 있다.
메타데이터는, 콘텐츠 항목이 생성되고 포착된 시간/날짜 또는 장소(예를 들어, 사진 내의 EXIF 데이터), 파일이 저장되거나 수정될 때 기록된 파일 시스템 데이터, 콘텐츠 항목이 클라이언트 디바이스 상에서 또는 기타의 디바이스 상에서 처음 저장되거나, 마지막 액세스되거나 마지막 수정된 날짜/시간, 콘텐츠 항목이 수신된 날짜/시간, 사용자의 이름 및 사용자나 클라이언트 디바이스에 대한 지리적 및/또는 장소 데이터 등의 콘텐츠 항목을 전송한 사용자 및/또는 클라이언트 디바이스에 대한 데이터, 콘텐츠 항목의 제목 또는 장소에 대한 태그 또는 기타의 정보, 및 콘텐츠 항목을 식별하고 로컬 스토리지에 콘텐츠 항목을 저장할지를 결정하기 위한 목적에 이용될 수 있는 기타 임의의 적절한 메타데이터를 포함할 수 있다.
일부 구현에서, 메타데이터는, 클라이언트 디바이스의 사용자에 의한 콘텐츠 항목에 관한 행위의 표식을 포함한다. 행위는, 콘텐츠 항목에 대한 변경/편집, 삭제, 공유, 앨범, 콜렉션, 스토리, 콜라주에의 포함 등을 포함할 수 있다.
예를 들어, 일부 구현에서, 애플리케이션은 이미지 편집 능력을 포함할 수 있다. 이 능력은, 제한없이, 예를 들어, 텍스트나 그래픽을 이미지에 추가하는 것, 이미지의 일부를 삭제하는 것, 스케일링, 크랍, 해상도 변경, 회전, 색상 강화, 필터링 등을 포함한, 이미지 편집 능력들 중 임의의 것 또는 조합을 포함할 수 있다. 일부 구현에서, 이미지에 대한 변경은, 이루어진 변경의 기록이 존재하도록, 콘텐츠 항목과 연관된 메타데이터에 기록될 수 있다. 콘텐츠 항목과 연관된 메타데이터에 기록된 변경은 콘텐츠 항목과 연관된 다른 메타데이터와 함께 동기화된다. 그러면, 변경은 메타데이터를 2차 스토리지와 동기화시킨 모든 디바이스 상에서 이용가능할 수 있다.
일부 구현에서, 콘텐츠 항목에 대한 편집을 배포하기 위한 방법은, 제1 콘텐츠 항목과 연관된 메타데이터를 제1 디바이스와 2차 스토리지 사이에서 동기화하는 단계를 포함할 수 있고, 제1 콘텐츠 항목과 연관된 메타데이터는 제1 콘텐츠 항목에 대한 편집의 명세를 포함한다. 이 방법은 미리 결정된 기준에 기초하여 2차 스토리지로부터 로컬 스토리지로 복사될 제1 콘텐츠 항목을 선택하는 단계를 포함할 수 있다. 이 방법은 상기 선택에 응답하여 2차 스토리지로부터 로컬 스토리지로 제1 콘텐츠 항목을 복사하는 단계, 및 제1 콘텐츠 항목을 메타데이터에 명시된 편집을 동반하여 제1 사용자에게 프리젠팅하는 단계를 포함할 수 있다. 이 방법은 제1 사용자로부터의 입력에 기초하여 제1 콘텐츠 항목에 대한 편집을 생성하는 단계를 더 포함할 수 있다. 이 방법은 제2 사용자로부터의 입력에 기초하여 제1 콘텐츠 항목에 대한 편집을 생성하는 단계를 더 포함할 수 있다. 이 방법은 콘텐츠 항목에 대한 편집을 제1 콘텐츠 항목과 연관된 메타데이터로서 저장하는 단계를 더 포함할 수 있다. 일부 구현에서, 편집은 제2 디바이스를 이용하여 생성될 수 있다. 일부 구현에서, 이 방법은 제1 콘텐츠 항목과 연관된 메타데이터를 제2 디바이스와 2차 스토리지 사이에서 동기화하는 단계를 포함할 수 있다.
일부 구현에서, 콘텐츠 항목에 대한 편집을 배포하기 위한 시스템은, 하나 이상의 프로세서와, 하나 이상의 프로세서에 의한 실행을 위한 및 실행될 때 동작들을 수행하도록 동작가능한 하나 이상의 유형 매체에 인코딩된 로직을 포함할 수 있다. 동작들은, 제1 콘텐츠 항목과 연관된 메타데이터를 제1 디바이스와 2차 스토리지 사이에서 동기화하는 것을 포함할 수 있고, 제1 콘텐츠 항목과 연관된 메타데이터는 제1 콘텐츠 항목에 대한 편집의 명세를 포함한다. 동작들은, 미리 결정된 기준에 기초하여 2차 스토리지로부터 로컬 스토리지로 복사될 제1 콘텐츠 항목을 선택하는 것을 포함할 수 있다. 동작들은, 선택에 응답하여 2차 스토리지로부터 로컬 스토리지로 제1 콘텐츠 항목을 복사하는 것을 포함할 수 있다. 동작들은, 제1 콘텐츠 항목을 메타데이터에 명시된 편집을 동반하여 제1 사용자에게 프리젠팅하는 것을 포함할 수 있다.
일부 구현에서, 동작들은 제1 사용자로부터의 입력에 기초하여 제1 콘텐츠 항목에 대한 편집을 생성하는 것을 더 포함할 수 있다. 일부 구현에서, 동작들은 제2 사용자로부터의 입력에 기초하여 제1 콘텐츠 항목에 대한 편집을 생성하는 것을 더 포함할 수 있다. 일부 구현에서, 동작들은 콘텐츠 항목에 대한 편집을 제1 콘텐츠 항목과 연관된 메타데이터로서 저장하는 것을 더 포함할 수 있다. 일부 구현에서, 편집은 제2 디바이스를 이용하여 생성될 수 있다. 일부 구현에서, 동작들은 제1 콘텐츠 항목과 연관된 메타데이터를 제2 디바이스와 2차 스토리지 사이에서 동기화하는 것을 포함할 수 있다.
또 다른 예에서, 콘텐츠 항목의 삭제는 메타데이터에 기록될 수 있다. 콘텐츠 항목을 삭제하는 것에 추가하여, 이미지가 삭제되었다는 것을 나타내는 메타데이터가 기록된다. 메타데이터가 다른 디바이스와 동기화될 때, 이들 디바이스들은 역시 콘텐츠 항목을 삭제할 수 있다. 이런 방식으로, 삭제는 메타데이터를 2차 스토리지와 동기화하는 모든 클라이언트 디바이스에 전달된다.
일부 구현에서, 콘텐츠 항목을 삭제하기 위한 방법은 제1 디바이스로부터 제1 콘텐츠 항목을 삭제하는 단계를 포함할 수 있다. 이 방법은 제1 콘텐츠 항목의 삭제의 명세를 제1 콘텐츠 항목과 연관된 메타데이터에 저장하는 단계를 포함할 수 있다. 이 방법은, 제1 콘텐츠 항목과 연관된 메타데이터를 제1 디바이스와 2차 스토리지 사이에서 동기화하는 단계를 포함할 수 있고, 제1 콘텐츠 항목과 연관된 메타데이터는 제1 콘텐츠 항목의 삭제의 명세를 포함한다. 이 방법은, 제1 콘텐츠 항목과 연관된 메타데이터를 제2 디바이스와 2차 스토리지 사이에서 동기화하는 단계를 포함할 수 있고, 제1 콘텐츠 항목과 연관된 메타데이터는 제1 콘텐츠 항목의 삭제의 명세를 포함한다. 이 방법은 삭제의 명세에 응답하여 제2 디바이스로부터 콘텐츠 항목을 삭제하는 단계를 포함할 수 있다.
일부 구현에서, 콘텐츠 항목을 삭제하기 위한 시스템은, 하나 이상의 프로세서와, 하나 이상의 프로세서에 의한 실행을 위한 및 실행될 때 동작들을 수행하도록 동작가능한 하나 이상의 유형 매체에 인코딩된 로직을 포함할 수 있다. 동작들은 제1 콘텐츠 항목의 삭제의 명세를 제1 콘텐츠 항목과 연관된 메타데이터에 저장하는 것을 포함할 수 있다. 동작들은, 제1 콘텐츠 항목과 연관된 메타데이터를 제1 디바이스와 2차 스토리지 사이에서 동기화하는 것을 포함할 수 있고, 제1 콘텐츠 항목과 연관된 메타데이터는 제1 콘텐츠 항목의 삭제의 명세를 포함한다. 동작들은, 제1 콘텐츠 항목과 연관된 메타데이터를 제2 디바이스와 2차 스토리지 사이에서 동기화하는 것을 포함할 수 있고, 제1 콘텐츠 항목과 연관된 메타데이터는 제1 콘텐츠 항목의 삭제의 명세를 포함한다. 동작들은, 삭제의 명세에 응답하여 제2 디바이스로부터 콘텐츠 항목을 삭제하는 것을 포함할 수 있다.
다시 도 3을 참조하면, 블록(310)에서, 시스템은 로컬 스토리지의 가용 로컬 스토리지 용량을 결정한다. 일부 구현에서, 로컬 스토리지의 총 용량은 주어진 클라이언트 디바이스(110)용의 운영 체제에 의해 결정될 수 있다. 일부 구현에서, 로컬 스토리지의 총 용량은 로컬 스토리지 상에 저장된 데이터로부터 결정될 수 있다. 예를 들어, FAT-32 포멧팅된 데이터 저장소에서, 데이터 저장소의 용량은 데이터 저장소에 저장된 파일 할당 테이블(File Allocation Table)에 액세스함으로써 결정될 수 있다.
스토리지 디바이스의 가용 용량은 또한, 운영 체제에 의해 및/또는 클라이언트 디바이스(110) 상에 저장된 데이터로부터 결정될 수 있다.
일부 구현에서, 가용 로컬 스토리지 용량은, 현재 사용중이지 않은 스토리지 디바이스 상에서 이용가능한 공간 및/또는 운영 체제 및/또는 애플리케이션에 의해 이루어진 예약에 기초하여 결정될 수 있다. 예를 들어, 운영 체제는 애플리케이션을 위한 및 임시 스토리지를 위한 가용 공간의 일부를 예약할 수 있다. 이 경우, 가용 로컬 스토리지 용량은 이러한 예약이나 할당에 의해 감소된 로컬 스토리지 디바이스 상의 가용 스토리지 공간이다.
일부 구현에서, 가용 로컬 스토리지 용량은 콘텐츠 항목을 위한 할당에 기초하여 결정될 수 있다. 예를 들어, 구성은, 미리 결정된 양의 스토리지가 콘텐츠 항목을 위해 예약되어 있다는 것을 표시할 수 있다. 예를 들어, 구성은, 4 GB가 콘텐츠 항목의 스토리지에 이용가능하다는 것을 표시할 수 있다. 이 예에서, 콘텐츠 항목이 현재 3GB를 차지하고 있다면, 이 예에서의 가용 로컬 스토리지 용량은 1GB일 것이다.
블록(312)에서, 시스템은 미리 결정된 기준과 가용 로컬 스토리지 용량에 기초하여 로컬 스토리지에 추가하거나 이로부터 제거할 콘텐츠 항목을 선택한다. 일부 구현에서, 미리 결정된 기준은 생성 날짜이다. 최근에 생성되거나 추가된 항목이 로컬 스토리지에 추가되도록 선택되고, 더 이른 콘텐츠 항목은 제거되도록 선택된다.
일부 구현에서, 각각의 콘텐츠 항목은 미리 결정된 기준에 기초하여 채점된다. 콘텐츠 항목은 점수에 기초하여 로컬 스토리지에 포함되도록 선택되고, 가장 높은 점수의 콘텐츠 항목이 임계치 가용 스토리지 용량까지 포함된다. 더 낮은 점수의 콘텐츠 항목은 플레이스홀더로 대체되거나 로컬 스토리지로부터 제거되도록 선택된다. 콘텐츠 항목은 플레이스홀더 사본의 형태로 로컬 스토리지에 추가되거나 여기에서 유지되도록 선택될 수 있다. 예를 들어, 일부 구현에서, 가용 스토리지 공간의 일부는 콘텐츠 항목의 전체-크기 사본에 할당될 수 있고, 가용 스토리지의 일부는 콘텐츠 항목의 플레이스홀더 사본에 할당될 수 있다.
블록(314)에서, 선택사항으로서, 콘텐츠 항목의 플레이스홀더 사본이 생성될 수 있다. 플레이스홀더 사본은, 콘텐츠 항목에 대한 대체물로서 로컬 스토리지에 저장될 수 있는 그 콘텐츠 항목의 사본이다. 일부 구현에서, 플레이스홀더 사본은 실제의 콘텐츠 항목보다 작은 크기를 가진다. 플레이스홀더 사본은, 원래의 콘텐츠 항목이 2차 스토리지로부터 회수될 때까지만 이용되는 일시적 대체물이 되도록 의도할 수 있다. 플레이스홀더 사본은, 콘텐츠 항목의 대부분의 목적이나 용도에 충분한 대체물이 되도록 의도할 수 있다.
일부 구현에서, 콘텐츠 항목의 플레이스홀더 사본이 생성되어 콘텐츠 항목의 제거를 대신하여 디바이스 상에 저장된다. 콘텐츠 항목의 이러한 플레이스홀더 사본은, 사용자가, 2차 스토리지가 이용가능하지 않을 경우 원래의 콘텐츠 항목의 부분들 또는 원래의 콘텐츠 항목에 대한 식별자를 보유하는 것을 허용하는 이점을 가진다. 예를 들어, 플레이스홀더 사본은 로컬 스토리지 내에서 원래의 콘텐츠 항목보다 작은 크기를 가질 수 있다. 더 작은 크기의 버전은 임의의 적절한 방식으로, 예를 들어, 콘텐츠 항목의 특성을 변경하거나, 콘텐츠 항목의 부분들을 삭제하거나, 압축 기술을 적용하는 등에 의해 생성될 수 있다. 예를 들어, 고해상도 이미지를 대체하기 위해 저해상도 플레이스홀더 이미지가 이용될 수 있고, 더 낮은 해상도의 비디오가 고선명 비디오를 대체할 수 있고, 텍스트를 포함하는 콘텐츠 항목은 적절한 압축 기술로 압축될 수 있는 등등이다. 일부 구현에서, 플레이스홀더 콘텐츠 항목은, 콘텐츠 항목들간의 차이를 저장함으로써 다른 콘텐츠 항목과 유사한 콘텐츠 항목에 대해 생성되는 더 작은 크기의 대체 콘텐츠 항목을 포함한다. 예를 들어, 다수의 사진이 제1 사진과 유사하다면, 전체의 원본 콘텐츠 항목 대신에 이들간의 차이점이 저장될 수 있다.
콘텐츠 항목의 플레이스홀더 사본을 생성하는데 있어서, 시스템(160)은, 예를 들어, 클라이언트 디바이스(110)의 특성을 고려할 수 있다. 예를 들어, 이미지의 경우, 시스템(160)은, 클라이언트 디바이스(110)의 디스플레이 해상도를 고려할 수 있다. 사진이 디바이스 상에서 볼 수 있는 것보다 높은 해상도를 갖고 있다면, 시스템(160)은 사진 해상도를 감소시켜 클라이언트 디바이스(160)의 실제 해상도와 정합시킬 수 있다. 해상도가 클라이언트 디바이스(160)의 실제 해상도와 정합한다면 사용자는 처음에 플레이스홀더와 원본 사이의 차이를 주목하지 못할 수도 있다.
일부 구현에서, 플레이스홀더 콘텐츠 항목은 원본 콘텐츠 항목과 동일한 외관을 갖지 않는다. 예를 들어, 시스템은 원본보다 훨씬 작은 해상도를 갖는 썸네일 이미지를 디스플레이할 수 있다. 썸네일 이미지는 사용자가 원본 이미지의 상세사항이 아니라 컨텍스트를 식별하기에 충분할 수 있다. 사용자가 이미지를 보기를 원한다면, 사용자는 그 이미지를 선택할 수 있고 시스템은 2차 스토리지로부터 원본 이미지를 제공할 수 있다. 비디오는, 정지영상 이미지, 또는 오디오를 동반하거나 동반하지 않는 훨씬 더 작은 해상도 이미지로 대체될 수 있다. 플레이스홀더를 클릭함으로써, 사용자는 콘텐츠 항목에 대한 관심을 시그널링하고, 사용자의 클라이언트 디바이스(110)가 2차 스토리지와 통신한다면 그 콘텐츠 항목의 더 높은 해상도 또는 더 큰 크기의 이미지가 2차 스토리지로부터 다운로드되어 사용자에게 이용가능하게 될 수 있다.
플레이스홀더 사본은, 실제의 콘텐츠 항목의 사본이 2차 스토리지로부터 회수되는 것을 허용할 연관된 콘텐츠 항목의 2차 스토리지 내의 위치를 포함할 수 있다. 콘텐츠 항목의 (예를 들어, 2차 스토리지 내의) 위치는 메타데이터에서 유지될 수 있다.
플레이스홀더 사본은 2차 스토리지에 위치한 콘텐츠 항목에 대해 생성되어, 플레이스홀더 사본이 로컬 스토리지에 추가되게끔 선택되게 할 수 있다. 이런 방식으로, 로컬 스토리지는 콘텐츠 항목의 플레이스홀더 사본을 가질 것이다.
블록(316)에서, 로컬 스토리지에 추가되게끔 선택된 콘텐츠 항목은 2차 스토리지로부터 복사되고, 로컬 스토리지로부터 제거되게끔 선택된 콘텐츠 항목은 제거된다. 일부 구현에서, 제거되는 콘텐츠 항목은 플레이스홀더 사본으로 대체될 수 있다. 일부 구현에서, 전체 크기 콘텐츠 항목이 아니라 플레이스홀더 사본이 로컬 스토리지에 추가될 수 있다.
제거되는 콘텐츠 항목에 대한 메타데이터는 클라이언트 디바이스 상의 로컬 스토리지에 유지되어, 사용자가 제거된 콘텐츠 항목들을 알게 하고 클라이언트 디바이스가 2차 스토리지와 통신할 때 이들을 용이하게 회수할 수 있게 한다. 일부 구현에서, 사용자가 어느 콘텐츠 항목이 로컬 스토리지에 저장되어 있는지 및 어느 것이 2차 스토리지에만 있는지를 알지 못하도록, 제거는 사용자에게 투명할 수 있다.
도 4는 일부 구현에 따른 콘텐츠 항목을 채점하기 위한 예시적 흐름도를 나타낸다. 도 4를 참조하여, 콘텐츠 항목은 미리 결정된 기준 및 로컬 스토리지 용량에 기초하여 로컬 스토리지로부터 제거되거나 로컬 스토리지에 추가되게끔 선택될 수 있다. 일부 구현에서, 각각의 콘텐츠 항목은 미리 결정된 기준에 기초하여 채점되고, 가장 높은 점수의 콘텐츠 항목이 로컬 스토리지 내의 저장을 위해 선택된다. 채점은, 1개의 미리 결정된 기준, 2개의 미리 결정된 기준, 4개의 미리 결정된 기준, 10개의 미리 결정된 기준 등의 작은 수의 또는 많은 수의 기준을 평가하는 단계를 포함할 수 있다.
일부 구현에서, 채점 시스템(400)은 각각의 콘텐츠 항목에 점수를 할당하기 위해 이용된다. 채점 시스템(400)은 소프트웨어 또는 하드웨어로 구현될 수 있다. 채점 시스템(400)은 다수의 미리 결정된 기준들 각각에 대해 각각의 콘텐츠 항목을 평가하는데 이용될 수 있다. 각각의 미리 결정된 기준은 가중치부여되고(예를 들어, 가중치에 의해 곱해짐), 가중치부여된 미리 결정된 기준이 합산되어, 점수를 내게 된다. 예를 들어, 일부 구현에서, 제1 기준, 기준 A(402)는 가중치 1(404)로 가중치부여된다. 제2 기준, 기준 B(406)는 가중치 2(408)로 가중치부여된다. 제3 기준, 기준 C(410)는 가중치 3(412)으로 가중치부여된다. 마지막 기준, 기준 n(414)은 가중치 n(416)으로 가중치부여된다. 도시된 기준의 개수는 예시적인 것이고, 임의 개수의 추가적 기준이 점수에 포함될 수 있다는 것을 이해해야 한다. 예를 들어, 몇 가지 예로서, 기준들 각각(예를 들어, 기준 A(402), 기준 B(406), 기준 C(410) 및 기준 n(414))은, 사용자의 거동, 사회적 친화성, 이벤트의 검출, 이미지, 비디오, 또는 텍스트 콘텐츠, 다른 콘텐츠 항목에 대한 유사성, 메타데이터, 날짜 및 시간, 및 적절할 수 있는 기타의 기준 중 하나 이상을 포함할 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목들의 포착과 연관된 시간 데이터를 포함한다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목의 액세스 빈도를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목의 액세스 가능성을 포함한다. 일부 구현에서, 미리 결정된 기준은 콘텐츠 항목의 중요성을 포함한다. 일부 구현에서, 콘텐츠 항목의 중요성은, 디바이스의 사용자와 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초할 수 있다.
일부 구현에서, 미리 결정된 기준은 콘텐츠 항목과 일치하는 이벤트를 포함할 수 있다. 일부 구현에서, 미리 결정된 기준은, 콘텐츠 항목의 게시자, 콘텐츠 항목의 수신자, 콘텐츠 항목에 추가된 태그, 콘텐츠 항목에 대한 반응, 콘텐츠 항목과 연관된 체크-인 데이터, 콘텐츠 항목과 연관된 지리적 및/또는 장소 데이터, 콘텐츠 항목과 연관된 이벤트 데이터, 이미지 인식 결과, 및 다른 콘텐츠 항목에 대한 콘텐츠 항목의 유사성으로 구성된 그룹으로부터 선택된 적어도 하나의 기준을 포함할 수 있다.
하나의 예시적 예에서, 기준 A(402)는 콘텐츠 항목이 생성된 이후에 경과한 날의 수이다. 날의 수는 100으로부터 감산되고, 제로보다 작은 수는 제로로 취급된다. 기준 A(402)는 높게 가중치부여되어, 가중치 1(404)은 0.5로 설정된다. 이 예에서, 기준 B(406)는 액세스 빈도이다. 기준 B(406)는 과거 3개월간 이 콘텐츠 항목의 사용자에 의한 액세스 횟수에 10을 곱한 값으로 설정되고, 100으로 제한된다. 기준 B(406)는 비교적 높은 가중치를 가져, 가중치 2(408)는 0.4로 설정된다. 이 예에서, 기준 C(410)는 사용자와 높은 사회적 친화성을 갖는 다른 사람들에 의한 액세스 횟수이다. 액세스 횟수는 합계되고, 100으로 제한된다. 기준 C(410)는 더 낮은 가중치를 가지므로, 가중치 3(412)은 0.15로 설정된다. 이 예에서, 기준 n(414)은 콘텐츠 항목의 콘텐츠가 사용자에게 중요할 수도 있는 누군가 또는 무언가를 포함하는지이다. 0.5보다 큰 사회적 친화성 점수를 갖는 콘텐츠 항목 내의 엔티티(사람, 장소, 물체 등)의 수가 합계되고, 100으로 제한된다. 기준 n은 훨씬 더 낮은 가중치를 가지므로, 가중치 n(416)은 0.1로 설정된다. 이 예에서, 각각의 콘텐츠 항목에 대해 점수가 계산된 다음, 가장 높은 점수를 갖는 콘텐츠 항목이 2GB의 데이터가 저장될 때까지 로컬 스토리지에 유지되거나 추가되게끔 선택된다. 또 다른 0.3 GB가 플레이스홀더에 할당되고, 따라서, 0.3 GB의 플레이스홀더가 생성될 때까지, 다음으로 가장 높은 점수의 콘텐츠 항목에 대해 플레이스홀더가 생성된다. 마지막으로, 제거를 위해 다른 모든 콘텐츠 항목들이 선택되지만, 그들의 메타데이터는 유지된다.
일부 구현에서, 미리 결정된 기준은 사용자의 특성에 기초하여 선택될 수 있다. 예를 들어, 기준은, 인구통계학적 정보 및/또는 사용자가 제공한 기타의 정보를 포함할 수 있는 사용자의 프로파일에 기초하여 선택될 수 있다. 예를 들어, 자신이 자녀를 가질 나이임을 표시한, 또는 자신이 자녀를 갖고 있다는 것을 표시한 사용자는, 자신의 자녀에 관련된 콘텐츠 항목을 자신의 디바이스에 유지하기를 원할 수 있다. 일반적으로는 자신의 가족 구성원 또는 특히는 자신의 자녀에 관련된 콘텐츠 항목의 기준은 중요할 수 있고 더 높게 가중치부여될 수 있다. 자신의 취미가 "여행"임을 표시한 사용자는 자신의 여행과 관련된 콘텐츠 항목을 유지하는데 관심을 가질 수 있다. 여행과 관련된 콘텐츠 항목의 기준(예를 들어, 콘텐츠 항목들이 상이한 장소와 연관되는지 및/또는 콘텐츠 항목들의 내용이 여행을 나타내는지)은 중요할 수 있고 더 높게 가중치부여될 수 있다.
일부 구현에서, 미리 결정된 기준은 사용자의 과거 거동의 특성에 기초하여 선택될 수 있다. 사용자의 거동의 특성은 사용자의 과거의 콘텐츠 항목의 액세스에서의 패턴으로부터 결정될 수 있다. 예를 들어, 사용자의 거동의 특성이 사용자가 여행과 연관된 콘텐츠 항목에 액세스하는 경향이 있다는 것이라면, 이것은 사용자가 여행과 연관된 콘텐츠 항목을 유지하기를 원할 수도 있다는 표시이다. 콘텐츠 항목이 여행과 연관되어 있는지의 기준(예를 들어, 콘텐츠 항목들이 상이한 장소와 연관되는지 및/또는 콘텐츠 항목들의 내용이 여행을 나타내는지)은 그 사용자에게 중요할 수 있고, 그 사용자에 대해 더 높게 가중치부여될 수 있다. 예를 들어, 사용자의 거동의 특성이 사용자가 특정한 주제(예를 들어, 풍경 사진)와 또는 사람(예를 들어, 가족, 친구)과 관련된 콘텐츠 항목에 액세스하는 경향이 있다는 것이라면, 이것은 사용자가 그 주제와 연관된 콘텐츠 항목을 유지하기를 원할 수도 있다. 콘텐츠 항목이 특정한 주제 또는 특정한 사람, 또는 사용자와 높은 사회적 친화성을 갖는 사람들과 연관되어 있는지의 기준은 그 사용자에게 중요할 수 있고, 더 높게 가중치부여될 수 있다. 따라서, 사용자의 과거 거동의 특성은 어떤 기준을 다른 기준보다 더 높게 가중치부여하여 그 사용자에게 중요한 것을 유지하는데 이용될 수 있다.
일부 구현에서, 클라이언트 디바이스는 콘텐츠 항목의 액세스에 관하여 사용자의 거동을 관찰할 수 있다. 예를 들어, 사용자에 의한 콘텐츠 항목의 액세스는 그 콘텐츠 항목과 연관된 메타데이터로서 기록될 수 있다. 콘텐츠 항목에 관련된 다른 메타데이터와의 액세스 메타데이터의 상관은 사용자 모델을 개발하는데 이용될 수 있다. 사용자 모델은 특정한 사용자를 위해 이용할 기준을 선택하는데 이용될 수 있다. 따라서, 사용자의 거동의 사용자 모델은 사용자의 디바이스 상에 그 사용자를 위해 유지할 콘텐츠 항목을 결정하는데 이용될 수 있다.
도 5는 로컬 스토리지의 콘텐츠를 보여주는 디바이스의 예시적 사용자 인터페이스를 나타낸다. 제1 예시의 사용자 인터페이스(500)에서 도시된 바와 같이, 로컬 스토리지(502)는 1.3 GB의 앱(504), 1.2 GB의 사진(506), 0.7 GB의 비디오(508), 0.5 GB의 오디오(510), 0.1 GB의 다운로드(512), 및 0.1 GB의 미분류 데이터(514)를 포함한다. 총 로컬 스토리지는 4.0 GB인 것으로 도시되어 있고, 0.1 GB 스토리지가 이용가능하다.
각각의 범주에 대해 도시된 양은 다양한 방식으로 측정될 수 있고, 데이터의 할당이나 예약을 포함할 수도 있다는 것을 이해해야 한다. 또한, 이 예에서, "앱" 범주(504)에 도시된 스토리지의 양은, 애플리케이션 프로그램 및 보통은 다른 범주로 분류되지 않는 특정한 애플리케이션 프로그램과 연관된 데이터 양쪽 모두를 포함한다.
도 2 및 도 5를 참조하여, 이 예에서, 콘텐츠 항목 백업 서비스를 포함하는 스토리지 관리가 사용자의 허락하에 인에이블되고, 그 결과 콘텐츠 항목을 2차 스토리지(208)에 업로드하는 단계는, 디바이스가 네트워크에 접속되어 있을 때 정기적으로 또는 주기적으로(예를 들어, 시간당, 일당, 주당, 또는 월당 다수회) 수행된다. 도 5의 이 예시된 예에서, 미리 결정된 기준은, 제거를 위해, 6개월 이상 보지 않은 모든 데이터, 및 임계치를 충족하는 사회적 친화성 점수에 기초하여 디바이스의 소유자에 직접 관련되지 않은 데이터를 지정한다. 선택 단계(210)와 제거 단계(212)가 미리 결정된 기준과 함께 수행될 때, 그 결과는, 사용자 인터페이스(510)의 우측에 도시된 제2의 예시적 사용자 인터페이스(530)에 도시되어 있다.
예를 들어, 사용자 인터페이스(530)는 도 2 또는 도 3의 기술들의 동작의 결과인 스크린 디스플레이일 수 있다.
제2 예시의 사용자 인터페이스(530)에서 도시된 바와 같이, 로컬 스토리지(532)는 0.5 GB의 앱(534), 0.5 GB의 사진(536), 0.3 GB의 비디오(538), 0.5 GB의 오디오(540), 0.0 GB의 다운로드(542), 및 0.1 GB의 미분류 데이터(544)를 포함한다. 총 로컬 스토리지는 4.0 GB인 것으로 도시되어 있고, 2.1GB 스토리지가 이용가능하다.
예시된 예에서, 로컬 스토리지로부터 제거되었던 데이터 모두는 백업 서비스로 인해 여전히 클라우드 서버 상에서 사용자에게 이용가능하며, 원한다면 디바이스 상에서의 이용을 위해 다시 한번 다운로드될 수 있다.
일부 구현에서, 2차 스토리지로부터 복사된 추가적인 콘텐츠 항목은 로컬 스토리지(532)에 포함될 수 있다. 2차 스토리지로부터 다운로드된 추가 항목들에도 불구하고, 로컬 스토리지로부터 제거되는 콘텐츠 항목들로 인해 가용 로컬 스토리지의 양은 여전히 더 클 수 있다.
도 6은 일부 구현에 따른 콘텐츠 항목을 저장하기 위한 시스템의 블록도를 나타낸다. 도 6을 참조하여, 예시적 모바일 디바이스(600)는 하나 이상의 프로세서 및 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 비일시적 유형 매체에 인코딩된 로직 명령어들을 포함한다.
실행될 때, 로직 명령어들은, 모바일 디바이스(600)에서 블록도 형태로 도시된 모듈들(602-614) 중 하나 이상을 구현하도록 동작가능하다. 모바일 디바이스(600)는, 소셜 미디어 애플리케이션(606), 사진 공유 애플리케이션(608), 및 카메라 애플리케이션(610)으로서 도시된, 미디어 애플리케이션들 및 운영 체제(602)를 포함한다. 모바일 디바이스는 스토리지 관리자(612)를 포함한다. 모바일 디바이스는 또한 백업 관리자(616)를 포함한다.
일부 구현에서, 미디어 애플리케이션(606, 608, 610)은 콘텐츠 항목을 수신한다. 이 예에서, 소셜 미디어 애플리케이션(606)은, 게시, 채팅 및 메시징 능력을 포함하는 소셜 미디어 애플리케이션이다; 사진 공유 애플리케이션(608)은 사진의 공유를 가능케한다; 카메라 애플리케이션(610)은 사용자가 비디오 및 사진을 찍는 것을 허용한다. 카메라 애플리케이션(610)으로 찍은 비디오 및 사진은 소셜 미디어 애플리케이션(606) 및 사진 공유 애플리케이션(608)을 이용하여 공유될 수 있다. 일부 구현에서, 스토리지 관리자(612) 및/또는 백업 관리자(614)는 운영 체제(602)의 일부일 수 있다. 일부 구현에서, 스토리지 관리자(612) 및/또는 백업 관리자(614)는, 소셜 미디어 애플리케이션(606), 사진 공유 애플리케이션(608), 또는 카메라 애플리케이션(610)의 일부일 수 있다.
미디어 애플리케이션(606, 608, 610)과 스토리지 관리자(612)와 백업 관리자(614)는 로컬 스토리지(616)와 통신한다. 로컬 스토리지(616)는 모바일 디바이스(600) 내에 포함되는 것으로 도시되어 있지만, 로컬 스토리지(616)는 모바일 디바이스의 외부에 있을 수도 있고, 또는 모바일 디바이스에 일시적으로 접속될 수도 있다(예를 들어, 플래시 드라이브 또는 usb 드라이브). 소셜 미디어 애플리케이션(606)은, 로컬 스토리지(616) 상의 다른 소셜 미디어 사용자들로부터 수신되고 이들과 공유되는 메시지, 사진, 및 비디오를 저장한다. 사진 공유 애플리케이션(608)은 로컬 스토리지(616) 상의 사진 공유 애플리케이션(608)의 다른 사용자들로부터 수신되고 이들과 공유되는 사진을 저장한다. 카메라 애플리케이션(610)은 로컬 스토리지(616) 상의 모바일 디바이스의 카메라에 의해 생성된 사진 및 비디오를 저장한다.
소셜 미디어 애플리케이션(606)은 또한, 소셜 미디어 2차 스토리지(618)와 통신한다. 이 통신은 네트워크를 통한 것일 수도 있다. 이 예에서, 소셜 미디어 2차 스토리지는 사용자의 소셜 미디어 정보 모두의 사본들을 보유하는 소셜 미디어 서버이다. 다른 사용자들에게 전송되는 항목들은 2차 스토리지(618)에 업로드되고, 소셜 미디어 서버로부터 소셜 미디어 애플리케이션(606)으로 전송되는 콘텐츠 항목들도 역시 소셜 미디어 2차 스토리지(618)에 업로드된다. 따라서, 소셜 콘텐츠 항목은 지속적인 방식으로 2차 스토리지(618)에 업로드된다.
사진 공유 애플리케이션(608)은 사진 공유 2차 스토리지(620)와 통신한다. 이 예에서, 사진 공유 2차 스토리지(620)는 사용자에 의해 및 사용자와 함께 공유되었던 모든 사진들의 사본을 보유하는 사진 공유 서버이다. 다른 사용자들에게 전송되는 콘텐츠 항목들은 2차 스토리지(620)에 업로드되고, 사진 공유 서버로부터 사진 공유 애플리케이션(608)으로 전송되는 콘텐츠 항목들도 역시 사진 공유 2차 스토리지(620)에 업로드된다. 따라서, 사진 공유 콘텐츠 항목들은 지속적인 방식으로 2차 스토리지(620)에 업로드된다. 사진과 연관된 메타데이터는 사진 공유 2차 스토리지(620)에 저장될 수 있다.
카메라 애플리케이션(610)은 모바일 디바이스 상의 카메라를 이용하여 사진과 비디오를 찍고 사진과 비디오를 로컬 스토리지(616)에 저장하는데 이용될 수 있다. 카메라 애플리케이션은 사진 공유 2차 스토리지(620)와 통신할 수 있거나 사진을 로컬 스토리지(616)에 저장할 수 있고 사진 공유 애플리케이션(608)이 사진 공유 2차 스토리지(620)와 통신하는 것을 허용한다. 일부 구현에서, 카메라 애플리케이션(610)은 사진 공유 애플리케이션(608) 내에 통합될 수 있고, 또는 사진 공유 애플리케이션(608)은 카메라 애플리케이션(610) 내에 통합될 수 있다.
백업 관리자(614)는 또한, 클라우드 백업 서버 2차 스토리지(622)와 통신한다. 이 예에서, 클라우드 백업 2차 스토리지(622)는 사용자에 의해 구성될 때 로컬 스토리지(616)로부터의 데이터의 사본을 가진다. 이 예에서, 클라우드 백업 2차 스토리지(622)는, 카메라 애플리케이션(610)으로부터의 데이터뿐만 아니라, 사용자 동의를 수반하여 이 모바일 디바이스에 의해 어떤 애플리케이션이 이용되는지의 기록을 포함한, 애플리케이션 데이터의 사본을 가진다. 이 예에서, 백업 관리자(614)는 콘텐츠 항목을 클라우드 백업 서버 2차 스토리지(622)에 주기적으로(예를 들어, 시간별로, 일별로, 주별로, 월별로 등) 업로드한다.
이 예에서, 스토리지 관리자(612)는 로컬 스토리지(616)의 가용 로컬 스토리지 용량을 모니터링하도록 구성된다. 이 예에서, 주기적으로(예를 들어, 시간별로, 일별로, 주별로, 월별로 등) 및/또는 모바일 디바이스가 네트워크에 부착되는 때마다, 스토리지 관리자(612)는 로컬 스토리지(616) 용량이 임계치 로컬 스토리지(616) 용량 레벨을 충족하는지(예를 들어, 미리 결정된 가용 로컬 스토리지(616) 용량 레벨 아래인지)를 결정한다. 로컬 스토리지(616) 용량 레벨이 아래이면, 스토리지 관리자(612)는 미리 결정된 기준에 기초하여 로컬 스토리지로부터 제거할 콘텐츠 항목을 선택한다. 일부 구현에서, 스토리지 관리자(612)는 로컬 스토리지(616)에 추가하거나 이로부터 제거할 콘텐츠 항목을 결정하기 위해 콘텐츠 항목을 채점할 수 있다.
이 예에서, 미리 결정된 기준은, 복사되어 2차 스토리지에서 이용가능하며 3개월 이상 오래된 항목들을 포함한다. 이들 항목들은 그들의 액세스 날짜에 의해 우선순위화되고, 제거로 인해 원하는 로컬 스토리지(616) 용량 레벨에 도달할 때까지 가장 최근에 액세스된 항목들이 선택된다. 소셜 미디어 애플리케이션(606), 사진 공유 애플리케이션(608) 및 백업 관리자(614) 모두는 데이터의 사본들을 2차 스토리지에 저장하기 때문에, 다른 미리 결정된 기준에 맞는 이들이 복제한 콘텐츠 항목은 제거될 수 있다.
이 예에서, 소셜 미디어 애플리케이션(606)을 제거하기 위해, 스토리지 관리자(612)는 메시지를 소셜 미디어 애플리케이션(606)에 전송하여 이들 콘텐츠 항목들을 제거한다. 이 예에서, 사진 공유 애플리케이션(608) 콘텐츠 항목을 제거하기 위해, 스토리지 관리자는 단순히 로컬 스토리지(616)로부터 파일을 삭제한다. 사진 공유 애플리케이션(608)은, 사진들이 삭제되었다고 결정하고, 사진을 로컬 스토리지(616)로부터 삭제된 것으로 그러나 사진 공유 2차 스토리지(620)로부터 이용가능한 것으로 마킹한다.
사용자가 나중에 제거된 콘텐츠 항목을 그들의 디바이스(600) 상에서 갖기를 원한다면, 사용자는 이들을 적절한 2차 스토리지(618, 620, 622)로부터 획득할 수 있다. 이 예에서, 이것은, 소셜 미디어 애플리케이션(606), 사진 공유 애플리케이션(608) 또는 백업 관리자(614)를 이용하여 달성될 수 있다.
일부 구현에서, 백업 관리자(614) 및 스토리지 관리자(612)는, 사진 공유 애플리케이션(608) 등의 애플리케이션에 포함된다. 메타데이터는 콘텐츠 항목과 함께 사진 공유 2차 스토리지(620)에 저장될 수 있다.
여기서 설명된 구현은 다양한 이점을 제공한다. 예를 들어, 일부 구현은 사용자들이, 시간-소모적이고, 어려우며, 오류가 발생하기 쉬운 프로세스일 수 있는, 로컬 스토리지와 2차 스토리지 사이에서 그들의 모바일 디바이스 상에서의 콘텐츠 항목의 저장을 수동으로 관리하는 것을 피하도록 허용할 수 있다. 일부 구현은, 사용자들이 주어진 콘텐츠 항목을 오프라인 보기(예를 들어, 인터넷 액세스가 아님)를 위해 그들의 디바이스의 로컬 스토리지에 유지할 것이라는 것을 보장할 수 있다. 일부 구현은, 사용자들이 콘텐츠 항목들을 이동시킬 때, 어려움과 좌절의 원인이 될 수 있는, 그들의 콘텐츠 항목을 뜻하지 않게 잃는 상황이 발생하지 않도록 보장하는 것을 도울 수 있다. 따라서, 일부 구현은, 사용자들이 그들의 디바이스 상에 충분한 스토리지를 갖는 것에 대한 걱정을 할 필요가 없어서 사용자들이 더 많은 콘텐츠 항목을 다운로드하고 생성하도록 장려할 수 있음으로써, 그들의 모바일 디바이스로부터 이끌어내는 즐거움을 증가시킬 수 있다. 일부 구현은 또한, 사용자들이 더 작은 스토리지 용량을 갖는 디바이스들을 효율적으로 이용하도록 허용할 수 있음으로써, 디바이스 비용을 감소시킨다.
클라이언트 디바이스(110)가 여기서의 구현들에서 설명된 단계들을 수행하는 것으로 설명되었지만, 클라이언트 디바이스(110)의 컴포넌트들 및 클라이언트 디바이스(110)와 연관된 임의의 적절한 프로세서나 프로세서들의 임의의 적절한 조합이 설명된 단계들을 수행할 수도 있다.
단계들, 동작들, 또는 계산들이 특정한 순서로 제시될 수 있지만, 순서는 특정한 구현에서 변경될 수도 있다. 특정한 구현에 따라, 단계들의 다른 순서가 가능하다. 일부 특정한 구현에서, 본 명세서에서 순차적으로 도시된 복수의 단계들은 동시에 수행될 수도 있다.
다양한 구현들은 콘텐츠 항목의 콘텐츠 항목 스토리지의 관리를 인에이블할지 및 스토리지 관리가 인에이블된다면 어느 콘텐츠 항목이 선택될 것인지에 관한 결정에 사용자가 관여하게 할 수 있다. 일부 구현은, 사용자가 스토리지 관리를 이용하기를 원할 것이라고 가정할 수 있고, 따라서 디폴트로 설명된 단계들을 구현할 것이다. 예를 들어, 스토리지 관리자(612)(도 6) 등의 스토리지 관리를 인에이블 또는 디스에이블할지, 필요하다면 스토리지 관리에 관여할지, 유지할 미리 결정된 가용 로컬 스토리지 용량 임계치, 콘텐츠 항목을 업로드 또는 다운로드하기 위한 소정 네트워크 또는 네트워크 유형의 이용(예를 들어, 콘텐츠 항목의 업로드를 위해 셀룰러 데이터가 아니라 wifi의 이용) 등에 관한 제어를 사용자에게 부여하기 위해 구성 설정이 제공될 수 있다. 일부 구현에서, 스토리지 관리는 디폴트로 구현되고, 명시적으로 거절하지 않는 한 사용자에 의한 허락이 가정된다. 일부 구현에서, 스토리지 관리를 이용하기 위한 허락은 초기 시스템 설치 및 구성의 일부로서 요청된다. 일부 구현에서, 스토리지 관리를 이용하기 위한 허락은 나중에 요청된다. 일부 구현에서, 스토리지 관리는 필요할 때까지 구현되지 않고, 필요할 때 허락이 요청된다.
도 7을 참조하면, 일부 구현에 따른, 스토리지 관리를 가능케하기 위한 예시의 간소화된 흐름도가 도시되어 있다. 예시적 방법(700)은, 예를 들어, 애플리케이션 프로그램의 일부로서 또는 운영 체제의 일부로서 구현될 수 있다. 예를 들어, 방법(700)은 애플리케이션 프로그램이 시작할 때 구현될 수 있다. 애플리케이션 프로그램은, 예를 들어, 사진 또는 비디오 애플리케이션(예를 들어, 도 6의 사진 공유 애플리케이션(608)), 카메라 애플리케이션(예를 들어, 도 6의 카메라 애플리케이션(610)), 데이터 및/또는 파일 스토리지 애플리케이션(예를 들어, 도 6의 백업 관리자(614)), 및/또는 소설 네트워킹 애플리케이션(예를 들어, 도 6의 소셜 미디어 애플리케이션(606))일 수 있다. 이들은 예이고 방법(700)은 임의의 적절한 방식으로 구현될 수 있다는 것을 이해해야 한다. 방법(700)은, 운영 체제에서, 예를 들어, 클라이언트 디바이스가 재시작될 때 처음 실행되는 운영 체제 서비스로서, 및/또는 방법(700)이 주기적으로 수행되도록 소정 기간(time interval)의 경과시에 구현될 수 있다. 방법(700)은, 예를 들어, 애플리케이션 프로그래밍 인터페이스(API)의 이용을 통해 또 다른 디바이스에 의해 원격적으로, 또는 클라이언트 디바이스 그 자체에 의해 개시되거나 구현될 수 있다. 다양한 구현에서, 방법(700)은 임계치량의 콘텐츠 항목의 수신시에 또는 그 이후에 구현될 수 있다. 예를 들어, 방법(700)의 단계들은, 새로운 사진이 찍힐 때, 방법(700)이 구현되도록, 카메라 애플리케이션 내에 통합될 수 있다. 다양한 구현에서, 임계치 개수의 콘텐츠 항목은 다수의 사진, 비디오 또는 이미지일 수 있다. 다양한 구현에서, 임계치 양의 콘텐츠 항목은 다수의 포스트 또는 코멘트의 수신 또는 게시일 수 있다.
방법(700)은, 타겟 디바이스, 예를 들어, 클라이언트 디바이스(110)의 가용 로컬 스토리지 용량을 결정하는 단계(702)를 포함할 수 있다. 일부 구현에서, 가용 로컬 스토리지 용량은 운영 체제에 의해 결정될 수 있다. 일부 구현에서, 가용 로컬 스토리지 용량은 로컬 스토리지 상에서 이용가능한 데이터로부터 결정될 수 있다. 예를 들어, FAT-32 포멧팅된 데이터 저장소에서, 데이터 저장소의 용량은 데이터 저장소에 저장된 파일 할당 테이블(File Allocation Table)에 액세스함으로써 결정될 수 있다.
스토리지 디바이스의 가용 용량은 또한, 운영 체제에 의해 및/또는 타겟 디바이스 상에 저장된 다른 데이터로부터 결정될 수 있다.
일부 구현에서, 가용 로컬 스토리지 용량은, 현재 사용중이지 않은 스토리지 디바이스 상에서 이용가능한 공간 및/또는 운영 체제 및/또는 애플리케이션에 의해 이루어진 예약 및/또는 필요할 수 있는 스토리지 공간에 기초하여 결정될 수 있다. 예를 들어, 운영 체제는 애플리케이션을 위한 및 임시 스토리지를 위한 가용 공간의 일부를 예약할 수 있다. 이 예에서, 가용 로컬 스토리지 용량은 이러한 예약이나 할당에 의해 감소된 로컬 스토리지 디바이스 상의 가용 스토리지 공간일 수 있다.
방법(700)은, 가용 로컬 스토리지 용량이 임계치 레벨을 충족하는지(예를 들어, 미리 결정된 임계치 레벨의 위 또는 아래인지)를 결정하는 단계(704)를 포함할 수 있다. 이 임계치 레벨은 총 스토리지 용량의 퍼센트일 수 있다. 이 임계치 레벨은 가용 로컬 스토리지 용량의 최소의 양일 수 있다. 이 임계치 레벨은 디바이스의 사용량을 모니터링함으로써 결정될 수 있다. 이 임계치 레벨은 사용자에 의한 애플리케이션의 이력 사용량으로부터 결정될 수 있다. 이 임계치 레벨은, 다른 사용자들, 예를 들어, 타겟 사용자와의 소정의 사회적 친화성의 정도를 갖는 사용자들에 의한 이력 사용으로부터 결정될 수 있다.
가용 로컬 스토리지 용량이 임계치 레벨을 충족한다면, 사용자는 통보받는다(706). 통보는 사용자에게 경보를 디스플레이하는 것을 포함할 수 있다. 통보는 이 방법을 구현하는 애플리케이션 프로그램의 동작의 일부로서 대화 박스를 디스플레이하는 것을 포함할 수 있다. 통보는 그래픽을 디스플레이하는 것 또는 사운드를 생성하는 것을 포함할 수 있다. 통보는 사용자에게 통보하기 위한 디바이스 운영 체제에 의해 제공된 통보를 이용하는 것을 포함할 수 있다.
통보는 스토리지 관리를 인에이블하기 위한 허락의 요청을 포함할 수 있다. 예를 들어, 통보는 디바이스에 대한 스토리지 관리를 인에이블하기 위해 사용자가 클릭하거나 누르기 위한 버튼을 포함할 수 있다. 통보는 스토리지 관리 능력에 대한 추가 정보에 대한 링크를 포함할 수 있다.
일부 구현에서, 스토리지 관리를 인에이블하기 위한 허락은 이 방법을 구현하는 운영 체제 또는 애플리케이션 프로그램에 대한 설정에 포함될 수 있다. 예를 들어, 필요하다면 스토리지 관리를 인에이블하기 위한 허락은 애플리케이션 프로그램 또는 운영 체제에서 디폴트로 인에이블될 수 있다. 예를 들어, 필요하다면 스토리지 관리를 인에이블하기 위한 허락은 애플리케이션 프로그램 또는 운영 체제에서 디폴트로 디스에이블될 수 있다. 통보는 현재의 허락 설정의 디스플레이를 포함할 수 있다. 통보는 사용자가 통보의 일부로서 설정을 변경하는 것을 허용하거나, 스토리지 관리를 인에이블하기 위한 허락이 표시될 수 있는 설정 스크린으로 가는 것을 허용할 수 있다.
이 방법은, 사용자가 스토리지 관리를 인에이블하기 위한 허락을 부여했는지를 결정하는 단계(708)를 포함한다. 허락은 묵시적 또는 명시적 허락일 수 있다. 예를 들어, 사용자는 명시적 허락을 제공할 필요가 있거나, 사용자의 허락은, 클라우드 백업 또는 다른 애플리케이션 피쳐의 동작에 대한 등록이나 동의 등의, 사용자의 다른 행동에 의해 암시될 수도 있다.
허락에 의해, 및 적용가능한 임계치를 충족하는 가용 로컬 스토리지 용량에 의해, 스토리지 관리가 인에이블된다(710). 스토리지 관리는, 예를 들어, 도 2의 방법(200), 도 3의 방법(300)의 단계들의 일부 또는 전부, 및/또는 도 6의 스토리지 관리자(612)를 구현하는 것을 포함할 수 있다.
블록(704)에서 가용 스토리지가 임계치를 충족하는 것으로 결정되지 않거나, 블록(708)에서 허락이 부여되지 않은 것으로 결정된다면, 블록(712)에서 스토리지 관리는 인에이블되지 않는다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지의 관리를 인에이블하기 위한 방법은, 모바일 디바이스 상의 가용 로컬 스토리지 용량을 결정하는 단계, 결정된 가용 로컬 스토리지 용량을 임계치와 비교하는 단계, 및 결정된 가용 로컬 스토리지 용량이 임계치를 충족한다면, 스토리지 관리를 인에이블하는 단계를 포함한다. 일부 구현에서, 이 방법은 스토리지 관리를 인에이블하기 위한 허락이 묵시적으로 또는 명시적으로 부여되었는지를 결정하는 단계를 포함한다. 허락의 결정은 스토리지 관리를 인에이블하는데 요구될 수 있다.
일부 구현에서, 모바일 디바이스 상의 로컬 스토리지의 관리를 인에이블하기 위한 시스템은, 하나 이상의 프로세서와, 실행될 때 모바일 디바이스 상의 가용 로컬 스토리지 용량을 결정하고 결정된 가용 로컬 스토리지 용량을 임계치와 비교하도록 동작가능한 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 유형 매체에 인코딩된 로직을 포함한다. 결정된 가용 로컬 스토리지 용량이 임계치를 충족한다면(예를 들어, 임계치 아래이면), 스토리지 관리가 인에이블된다. 일부 구현에서, 명령어들은 스토리지 관리를 인에이블하기 위한 허락이 묵시적으로 또는 명시적으로 부여되었는지를 결정하도록 더 동작가능하다. 허락의 결정은 스토리지 관리를 인에이블하는데 요구될 수 있다.
일부 구현에서, 컴퓨터 판독가능한 저장 매체는 모바일 디바이스 상의 로컬 스토리지의 관리를 위한 제어 로직을 가지고 있다. 제어 로직은 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 제1 컴퓨터 판독가능한 프로그램 코드를 포함할 수 있다. 제어 로직은 결정된 가용 로컬 스토리지 용량을 임계치와 비교하는 제2 컴퓨터 판독가능한 프로그램 코드를 포함할 수 있다. 제어 로직은 결정된 가용 로컬 스토리지 용량이 임계치를 충족한다면(예를 들어, 임계치에 또는 그 아래에 있다면) 스토리지 관리를 인에이블하는 제3 컴퓨터 판독가능한 프로그램 코드를 포함할 수 있다. 일부 구현에서, 제어 로직은, 스토리지 관리를 인에이블하기 위한 허락이 묵시적으로 또는 명시적으로 부여되었는지를 결정하는 제4 컴퓨터 판독가능한 프로그램 코드를 포함할 수 있다. 허락의 결정은 스토리지 관리를 인에이블하는데 요구될 수 있다.
도 8을 참조하면, 예를 들어, 모바일 디바이스와 같은 클라이언트 디바이스의, 일부 구현에 따른 예시적 스크린 디스플레이(800)가 예시적 경보(802)와 함께 도시되어 있다. 경보(802)는 로컬 사용 스토리지 용량이 임계치를 충족한다는(예를 들어, 미리 결정된 임계치 아래라는) 표시(804)를 포함한다. 예를 들어, 미리 결정된 임계치는, 100MB, 200MB, 1GB 등의 고정된 양, 총 스토리지 용량 또는 배정된 할당량의 퍼센트(예를 들어, 5%, 10%, 15% 등), 사진수에 필요한 스토리지 양(예를 들어, 100장의 사진, 200장의 사진, 500장의 사진, 1000장의 사진 등), 또는 비디오의 양(예를 들어, 10분짜리 비디오, 20분짜리 비디오, 30분짜리 비디오), 또는 현재의 사용 패턴에서의 날짜 수를 지속시키는 필요한 스토리지의 양(예를 들어, 1일, 2일, 3일, 7일 등)일 수 있다. 이 임계치는 예시이고, 임의의 적절한 값이 이용될 수도 있다는 것을 이해해야 한다. 예를 들어, 미리 결정된 임계치는, 적어도 부분적으로, 로컬 스토리지 디바이스에 기초할 수 있다. 예를 들어, 미리 결정된 임계치는, 적어도 부분적으로, 사용자의 예상된 스토리지 수요에 기초할 수 있다. 사용자의 예상된 스토리지 수요는, 적어도 부분적으로, 사용자의 이전의 스토리지 공간 이용 패턴에 기초하여 결정될 수 있다. 사용자의 예상된 스토리지 수요는, 적어도 부분적으로, 사용자에 의해 최근에 이용된 소프트웨어 애플리케이션(들)에 대한 전형적인 이용량에 기초하여 결정될 수 있다.
예시적 경보(802)는 또한, 자동 스토리지 관리를 인에이블하기 위한 허락에 대한 명시적 요청(806)을 포함한다. 경보(802)는, 사용자가 스토리지 관리를 인에이블하기 위한(즉, 스토리지 관리를 위한 허락을 부여하기 위한) 제1 버튼(808)을 경보 상에 포함한다. 제1 버튼(808) 상의 텍스트는 "예, 내 파일들을 필요하다면 클라우드로 옮기시오"라고 기술하고 있다. 사용자가, 예를 들어, 터치스크린 상의 버튼을 푸시함으로써, 또는 예를 들어 마우스로 클릭함으로써, 제1 버튼(808)을 작동하면, 스토리지 관리 능력이 인에이블될 것이다. 경보(802)는, 사용자가 스토리지 관리를 거절하기 위한(즉, 스토리지 관리를 위한 허락을 보류하기 위한) 제2 버튼(810)을 경보(802) 상에 포함한다. 제2 버튼(810) 상의 텍스트는 "아니오, 내가 수동으로 파일 스토리지를 관리할 것입니다"라고 기술하고 있다. 사용자가 제2 버튼(810)을 작동하면, 스토리지 관리 능력은 인에이블되지 않을 것이다.
도 9를 참조하면, 일부 구현에 따른 스크린 디스플레이(900)의 예는 콘텐츠 항목들이 2차 스토리지에 백업되었다는 통보(902)를 포함한다. 이것은 구문 "모든 사진이 백업됨"으로 표시된다. 스크린 디스플레이(900)는 또한, "가용 스토리지 용량이 미리 결정된 임계치 위입니다"라고 표시하는 경보 통보(904)를 포함한다. 스크린에는 "디바이스 스토리지가 거의 가득 찼습니다.  사진을 약 90장 더 넣을 수 있는 공간이 남았습니다. 사진 라이브러리로부터 사진을 삭제하지 않고 사본을 안전하게 제거할 수 있습니다.  사본 제거 & 공간 확보"라고 기술되어 있다. 이 경보 통보(904)는, 사용자가 경보(904)를 탭하는 경우 스토리지 관리가 인에이블되도록, 터치 스크린 상에서 이용될 수 있다.
도 10을 참조하면, 일부 구현에 따른 스크린 디스플레이(1000)의 예는, 가용 스토리지 용량이 미리 결정된 임계치 위라고 표시하는 경보 통보(1002)를 포함하는, 통보들의 컬렉션을 포함한다. 이 스크린 디스플레이(1000)에서, 명료성을 위해, 다른 통보들은 회색으로 도시되었는데, 그 이유는 이들이 동일한 또는 다른 애플리케이션이나 운영 체제에 대한 다른 경보나 통보에 속하기 때문이다. 경보 통보(1002)에는 "디바이스 스토리지가 거의 가득 찼습니다. 공간을 절감하기 위해 백업된 사진들을 제거하세요"라고 기술되어 있다. 이 경보 통보(1002)는, 예를 들어, 디바이스 사용자에게 제공된 경보 또는 통보들의 컬렉션에서 제공될 수 있다. 예를 들어, 애플리케이션이 백그라운드에서 실행 중인 경우, 통보는 통보들의 목록에서 제공될 수 있다. 이 경보 통보(1002)는, 사용자가 경보(1002)를 탭하는 경우 스토리지 관리가 인에이블되도록, 터치 스크린 상에서 이용될 수 있다.
도 11을 참조하면, 일부 구현에 따른 스크린 디스플레이(1100)의 예는 디바이스가 가용 스토리지를 측정하고 있다는 것을 표시하는 통보(1102)를 포함한다. 예를 들어, 일부 구현에서, 사용자가 도 9의 경보 통보(904) 또는 도 10의 경보 통보(1002)를 작동한다면, 이 스크린이 프리젠팅되어, 디바이스가 콘텐츠 항목에 대한 가용 스토리지 용량을 결정하고 있는 중이라고 표시할 것이다. 이것은, 예를 들어, 메타데이터를 업데이트하는 것을 포함할 수 있다. 스토리지 용량이 결정되었을 때, 도 12의 것과 같은 디스플레이가 사용자와 추가로 통신하기 위해 이용될 수 있다.
도 11의 예시적 스크린 디스플레이는 선택사항이라는 것을 이해해야 한다. 예를 들어, 일부 구현에서, 가용 스토리지를 측정하는 것은, 진행 표시자가 이용되지 않도록 백그라운드로 발생할 수 있다.
도 12를 참조하면, 일부 구현에 따른 스크린 디스플레이(1200)의 예는 콘텐츠 항목들이 추가 스토리지 용량을 제공하기 위해 디바이스로부터 제거될 수 있다는 통보(1202)를 포함한다. 통보(1202)에는 "남은 공간 2.6GB. 30일 이상 경과한 사진 & 비디오 사본 924개를 삭제하세요. 이들 항목들은 당신의 사진 라이브러리에 남아 있으며 본 디바이스 또는 다른 임의의 접속된 디바이스로부터 여전히 액세스가능합니다"라고 기술되어 있다. 이 예에서, 디바이스는, 924개의 사진과 비디오가 이미 2차 스토리지에 복사되었고 추가의 가용 스토리지 용량을 생성하기 위하여 제거될 수 있다고 결정했다. 통보(1202)는, 스토리지 관리 프로세스를 계속할 옵션 "사본 삭제"를 포함한다. 도시된 바와 같이, 이 예에서, 디바이스는 콘텐츠 항목의 삭제 이전에 또 다른 통보를 제공할 것이다. 통보(1202)는 또한 옵션 "취소"를 포함한다. 사용자가 취소 옵션을 선택한다면, 디바이스는 디바이스로부터 콘텐츠 항목을 제거하지 않을 것이다.
도 13을 참조하면, 일부 구현에 따른 스크린 디스플레이(1300)의 예는 콘텐츠 항목들이 삭제될 것이라는 통보(1302)를 포함한다. 구체적으로는, 통보(1302)에는 "디바이스 사본들을 삭제하세요. 924개 항목들 모두는 당신의 사진 라이브러리에 남아 있습니다"라고 기술되어 있다. 이 통보(1302)는 사용자에게 스토리지 관리와 디바이스로부터의 콘텐츠 항목의 삭제를 중단할 또 다른 기회를 준다. 예를 들어, 터치스크린을 터치함으로써 사용자에 의해 선택될 수 있는 옵션 "사본 삭제"가 있다. 사용자가 "사본 삭제"를 선택하면, 디바이스는, 예를 들어, 플레이스홀더 사본을 생성하거나 및/또는 디바이스로부터 콘텐츠 항목을 제거함으로써 스토리지 관리를 계속할 것이다. 사용자가 "취소"를 선택한다면, 디바이스는 디바이스로부터 콘텐츠 항목을 제거하지 않을 것이다.
도 14를 참조하면, 일부 구현에 따른 스크린 디스플레이(1400)의 예는 이제 추가의 스토리지 용량이 이용가능하다는 통보(1402)를 포함한다. 이 예에서의 통보에는 "2.6 GB 디바이스 스토리지가 회복되었습니다"라고 기재되어 있다. 이것은, 스토리지 관리가 디바이스 상에서 추가의 2.6 GB의 스토리지 용량을 확보할 수 있었다는 것을 표시한다. 도시된 2.6 GB는 예시이고, 실제의 양은 콘텐츠 항목과 가용 스토리지 용량에 따라 다르다는 것을 이해해야 한다.
도 15를 참조하면, 일부 구현에 따른 스크린 디스플레이(1500)의 예는 디바이스가 2차 스토리지에 접속할 수 없어서, 스토리지 관리가 계속될 수 없다는 통보(1502)를 포함한다. 통보(1502)는, 예를 들어, 디바이스가 2차 스토리지와 통신할 수 없는 경우에, 도 8의 경보(808), 도 9의 경보(904), 또는 도 10의 경보(1002)의 작동의 결과로서 디스플레이될 수 있다. 이것은, 예를 들어, 네트워크(예를 들어, 인터넷) 접속이 두절되거나 이용불가능할 경우에 발생할 수 있다. 스토리지 관리는 또한, 디바이스가 다른 이유로 2차 스토리지와 통신할 수 없는 경우에 동작하지 못할 수도 있다. 2차 스토리지가 또 다른 네트워크를 통해 이용가능하거나, 디바이스 상에서 국지적으로 이용가능한 경우, 인터넷 등의 특정한 통신 네트워크로의 접속이 필요하지 않을 수도 있다.
도 16은 여기서 설명된 구현예들을 구현하는데 이용될 수 있는 예시적 클라이언트 디바이스(1600)의 블록도를 나타낸다. 예를 들어, 클라이언트 디바이스(1600)는 도 1의 클라이언트 디바이스(110)를 구현할 뿐만 아니라 여기서 설명된 방법 구현예들을 수행하는데 이용될 수 있다. 일부 구현에서, 클라이언트 디바이스(1600)는, 프로세서(1602), 운영 체제(1604), 메모리(1606), 입력/출력(I/O) 인터페이스(1608)를 포함한다. 메모리(1606)는 여기서 설명된 기능을 제공하는 데이터를 저장하는 비일시적 컴퓨터-판독가능한 저장 매체일 수 있다. 메모리(1606)는 동적 랜덤 액세스 메모리(DRAM) 디바이스, 정적 랜덤 액세스 메모리(SRAM) 디바이스, 플래시 메모리, 또는 어떤 다른 메모리 디바이스일 수 있다. 일부 구현에서, 메모리(1606)는 또한, 비휘발성 메모리 또는 유사한 영구 스토리지 디바이스와, 하드 디스크 드라이브, 플로피 디스크 드라이브, 판독 전용 메모리(ROM) 디바이스, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 더 영구적 기반으로 정보를 저장하기 위한 어떤 다른 대용량 스토리지 디바이스를 포함한다. 클라이언트 디바이스(1600)는 또한, 메모리(1606)에 또는 기타 임의의 적절한 스토리지 장소나 컴퓨터-판독가능한 매체에 저장될 수 있는 스토리지 관리자(1610)와 미디어 애플리케이션(1612)을 포함한다. 스토리지 관리자(1610)는, 프로세서(1602)가 여기서 설명된 기능 및 다른 기능들을 수행할 수 있게 하는 명령어들을 제공한다.
설명의 용이성을 위해, 도 16은, 프로세서(1602), 운영 체제(1604), 메모리(1606), I/O 인터페이스(1608), 스토리지 관리자(1610), 및 미디어 애플리케이션(1612) 각각에 대해 하나의 블록을 도시한다. 이들 블록들(1602, 1604, 1606, 1608, 1610, 및 1612)은 복수의 프로세서, 운영 체제, 메모리, I/O 인터페이스, 소셜 네트워크 엔진, 및 미디어 애플리케이션을 나타낼 수도 있다. 다른 구현에서, 클라이언트 디바이스(1600)는 도시된 컴포넌트들 모두를 갖지는 않을 수도 있거나 및/또는 여기서 도시된 것들 대신에 또는 이에 추가하여 다른 유형들의 요소를 포함한 다른 요소들을 가질 수도 있다.
특정한 구현에 관하여 설명되었지만, 이들 특정한 구현은 예시일 뿐이고, 제한적인 것은 아니다. 예들에서 나타낸 개념들은 다른 예와 구현에도 적용될 수 있다.
본 개시내용에서 설명된 기능 블록, 방법, 디바이스, 및 시스템은 통합되거나, 본 기술분야의 통상의 기술자에게 공지된 시스템, 디바이스, 및 기능 블록들의 상이한 조합들로 분할될 수도 있다는 점에 유의한다.
특정한 구현의 루틴을 구현하기 위해 임의의 적절한 프로그래밍 언어 및 프로그래밍 기술들이 이용될 수 있다. 절차적 또는 객체-지향형 등의 상이한 프로그래밍 기술들이 채용될 수도 있다. 루틴들은 단일의 처리 디바이스 또는 복수의 프로세서에서 실행될 수도 있다. 단계들, 동작들, 또는 계산들이 특정한 순서로 제시될 수 있지만, 순서는 상이한 특정한 구현에서 변경될 수도 있다. 일부 특정한 구현에서, 본 명세서에서 순차적으로 도시된 복수의 단계들은 동시에 수행될 수도 있다.
"프로세서"는, 데이터, 신호 또는 기타의 정보를 처리하는 임의의 적절한 하드웨어 및/또는 소프트웨어 시스템, 메커니즘 또는 컴포넌트를 포함한다. 프로세서는, 범용 중앙 처리 유닛, 복수의 처리 유닛, 기능을 달성하기 위한 전용 회로를 갖춘 시스템, 또는 기타의 시스템을 포함할 수 있다. 처리는 지리적 장소나 시간적 제약을 갖도록 제한될 필요가 없다. 예를 들어, 프로세서는 그 기능을 "실시간"으로, "오프라인"으로, "일괄작업 모드" 등으로 수행할 수 있다. 처리의 부분들은, 상이한 시간들에서 및 상이한 장소들에서, 상이한(또는 동일한) 처리 시스템에 의해 수행될 수도 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다. 메모리는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 자기 또는 광 디스크, 또는 프로세서에 의한 실행을 위한 명령어들을 저장하기에 적합한 기타의 유형 매체와 같은 임의의 적절한 프로세서-판독가능한 저장 매체일 수 있다.
클라이언트 디바이스는, 단일의 프로세서 시스템, (함께 위치하거나 분산된) 다중-프로세서 시스템, 클라우드 컴퓨팅 시스템, 또는 이들의 조합을 포함할 수 있지만, 이것으로 제한되지 않는다.
클라이언트(또는 사용자, 멤버 또는 타겟 사용자) 디바이스는, 데스크톱 컴퓨터, 랩톱 컴퓨터, 휴대형 컴퓨터, 착용형 컴퓨터, 태블릿 컴퓨팅 디바이스, 스마트폰, 피쳐폰(feature phone), 퍼스널 디지털 어시스턴트(personal digital assistant), 미디어 재생기, 카메라 또는 미디어 포착 디바이스, 전자 서적 리더, 오락, 네비게이션, 또는 차량의 컴퓨팅 시스템 등을 포함할 수 있지만, 이것으로 제한되지 않는다. 디바이스들의 다른 예들은, 창문, 벽, 가구, 안경, 고글, 손목 시계, 의류 등에 구축된 컴퓨팅 및/또는 디스플레이 시스템을 포함한다. 일반적으로, 여기서 설명된 방법들 중 하나 이상을 구현할 수 있는 임의의 컴퓨팅 디바이스가 이용될 수 있다.
클라이언트 디바이스는 네트워크를 통해 서버에 접속될 수 있다. 사용자 디바이스를 서버에 접속하는 네트워크는 유선 또는 무선 네트워크일 수 있고, Wi-Fi 네트워크, 근거리 통신망, 광역 네트워크, 인터넷, 또는 이들의 조합을 포함할 수 있지만, 이것으로 제한되지 않는다.
데이터 스토리지, 메모리 및/또는 비일시적 컴퓨터 판독가능한 매체는, 자기 스토리지 디바이스(하드 디스크 드라이브 등), 광학적 스토리지 디바이스(CD, DVD 등), 전자적 스토리지 디바이스(RAM, ROM, 플래시 등)일 수 있다. 소프트웨어 명령어들은, 예를 들어, 서버(예를 들어, 분산형 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달되는 서비스로서의 소프트웨어(software as a service)(SaaS)에 포함되고, 그의 형태로 제공될 수 있다.
게다가, 개시된 방법, 시스템, 및 컴퓨터 판독가능한 매체의 일부 구현은 소프트웨어의 형태(예를 들어, 명령어를 저장하고 있는 컴퓨터 프로그램 제품 및/또는 컴퓨터 판독가능한 매체)로 구현될 수 있다. 저장된 소프트웨어 명령어들은, 프로그램된 범용 컴퓨터, 특별 목적 컴퓨터, 마이크로프로세서 등에서 실행될 수 있다.
다양한 구현에서, 어시스턴트 서비스들이 디바이스 상에서 액세스되어 사용자의 요구를 보조할 수 있다. 일부 구현에서, 어시스턴트 서비스들은 인터넷 또는 월드 와이드 웹 등의 하나 이상의 네트워크를 통해 원격으로 액세스되는 하나 이상의 시스템으로부터 제공될 수 있다. 예를 들어, 서비스들은, 네트워크에 접속된 하나 이상의 서버 시스템에 의해 제공될 수 있다. 일부 구현은 디바이스에 국지적으로 어시스턴트 서비스들을 구현할 수도 있다. 특정한 주제에서 원하는 정보를 제공하기 위해 일부 구현에서 전문가 시스템이 이용될 수 있다.
일부 구현에서, 어시스턴트 서비스들은 지능형 어시스턴트 또는 "에이전트"의 이용을 포함할 수 있다.
이들 에이전트는, 디바이스를 이용하는 사용자에게 액세스가능하고 디바이스의 국지적 기능 및 피쳐들에 액세스할 수 있는 소프트웨어뿐만 아니라 디바이스의 사용자를 보조하기 위해 정보를 수집하거나 및/또는 동작을 수행하는 원격 어시스턴트 서비스들일 수 있다. 에이전트는 다양한 보조적 기능들 중 임의의 것을 수행할 수 있다.
일부 구현은 사용자가 에이전트와 용이하게 상호작용하는 것을 허용하기 위해 간단하고 자연스러운 인터페이스를 갖는 에이전트를 제공할 수 있다. 일부 예에서, 에이전트는, 사용자 입력의 사용자-친화적 자연 언어 처리를 수행할 수 있다, 예를 들어, 사용자는 구두 입력을 이용할 수 있다. 예를 들어, 에이전트는 사용자로부터의 구두 입력을 해석하기 위해 음성 인식 시스템을 이용할 수 있다.
시스템이 사용자에 대한 개인 정보를 수집 및/또는 이용하거나, 개인 정보를 활용할 수 있는 상황에서, 사용자들에게는, 프로그램 또는 피쳐들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 행위 또는 활동, 직업, 사용자의 선호사항, 또는 사용자의 현재 위치에 대한 정보)를 수집할지를 제어하거나 사용자와 더욱 관련성이 있을 수 있는 콘텐츠 항목을 서버로부터 수신할지의 여부 및/또는 방법을 제어할 기회가 제공될 수 있다. 또한, 소정의 데이터는 저장되거나 이용되기 전에 하나 이상의 방식으로 취급될 수 있어서, 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원은 그 사용자에 대해 어떠한 개인 식별 정보도 결정될 수 없도록 취급되거나, (도시, ZIP 코드, 또는 주 레벨 등에 관한) 위치 정보가 얻어지는 경우 그 특정한 위치가 결정될 수 없도록 사용자의 지리적 위치가 일반화될 수도 있다. 따라서, 사용자는, 정보가 시스템에 의해 어떻게 수집되고 이용될지에 관해 제어할 수 있다.

Claims (25)

  1. 모바일 디바이스 상의 로컬 스토리지(local storage)의 관리를 위한 방법으로서,
    모바일 디바이스 상에서 콘텐츠 항목들을 수신하는 단계;
    상기 콘텐츠 항목들을 상기 모바일 디바이스 상의 로컬 스토리지에 저장하는 단계;
    상기 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계;
    상기 콘텐츠 항목들을 2차 스토리지에 업로드하는 단계;
    상기 가용 로컬 스토리지 용량이 임계치 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 상기 콘텐츠 항목들 중에서 상기 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하는 단계 ―상기 미리 결정된 기준은, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 데이터(temporal data), 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성, 및 상기 모바일 디바이스의 사용자와 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도(strength of relationship)를 포함함― ; 및
    상기 콘텐츠 항목들 중 상기 선택된 하나 이상의 콘텐츠 항목을 로컬 스토리지로부터 제거하는 단계
    를 포함하는 방법.
  2. 모바일 디바이스 상의 로컬 스토리지의 관리를 위한 방법으로서,
    상기 모바일 디바이스 상에서 콘텐츠 항목들을 수신하는 단계;
    상기 콘텐츠 항목들을 상기 모바일 디바이스 상의 로컬 스토리지에 저장하는 단계;
    상기 모바일 디바이스의 가용 로컬 스토리지 용량을 결정하는 단계;
    상기 콘텐츠 항목들을 2차 스토리지에 업로드하는 단계; 및
    상기 가용 로컬 스토리지 용량이 임계치 로컬 스토리지 용량 레벨을 충족할 때 미리 결정된 기준에 기초하여 상기 콘텐츠 항목들 중에서 상기 로컬 스토리지로부터 제거할 하나 이상의 콘텐츠 항목을 선택하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서, 상기 미리 결정된 기준은, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착(capture)과 연관된 시간 데이터, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도, 및 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성 중에서 하나 이상을 포함하는, 방법.
  4. 제2항에 있어서, 상기 미리 결정된 기준은 하나 이상의 콘텐츠 항목의 중요성을 포함하는, 방법.
  5. 제4항에 있어서, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성은, 상기 디바이스의 사용자와, 상기 콘텐츠 항목들 중 상기 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초하는, 방법.
  6. 제2항에 있어서, 상기 미리 결정된 기준은 하나 이상의 콘텐츠 항목과 일치하는 이벤트들을 포함하는, 방법.
  7. 제2항에 있어서, 상기 미리 결정된 기준은, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 게시자(poster), 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 수신자, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 태그(tag)들, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목에 대한 반응들, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 체크-인 데이터(check-in data), 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 지리적 및/또는 위치 데이터, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이벤트 데이터, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 이미지 인식 결과들, 및 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 상기 콘텐츠 항목들 중 다른 하나 이상의 콘텐츠 항목에 대한 유사성을 포함하는 그룹으로부터 선택된 적어도 하나의 기준을 포함하는, 방법.
  8. 제2항에 있어서, 상기 미리 결정된 기준은 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목이 2차 스토리지에 성공적으로 업로드되었는지를 포함하는, 방법.
  9. 제2항에 있어서, 상기 디바이스 상의 상기 콘텐츠 항목들 중 선택된 하나 이상의 콘텐츠 항목 중에서 제1 콘텐츠 항목의 플레이스홀더 사본(placeholder copy)을 생성하는 단계, 및 상기 콘텐츠 항목들 중 선택된 하나 이상의 콘텐츠 항목 중에서 상기 제1 콘텐츠 항목의 상기 플레이스홀더 사본을 상기 디바이스에 국지적으로 저장하는(locally storing) 단계를 더 포함하는 방법.
  10. 제2항에 있어서, 상기 콘텐츠 항목들은, 사진, 이미지, 그래픽, 비디오, 텍스트, 태그, 또는 포스트(post) 중 하나 이상을 포함할 수 있는, 방법.
  11. 모바일 디바이스 상의 로컬 스토리지의 관리를 위한 시스템으로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형 매체(tangible media)에 인코딩된 명령어들을 포함하고, 상기 명령어들은, 실행될 때,
    모바일 디바이스의 가용 로컬 스토리지 용량을 결정하고;
    상기 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하며;
    상기 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여, 미리 결정된 기준에 기초해 상기 로컬 스토리지에 저장할 하나 이상의 콘텐츠 항목을 선택하고;
    상기 선택된 하나 이상의 콘텐츠 항목을 2차 스토리지로부터 상기 모바일 디바이스로 다운로드하며;
    상기 다운로드된 선택된 하나 이상의 콘텐츠 항목들을 상기 모바일 디바이스 상의 상기 로컬 스토리지에 저장
    하도록 동작가능한, 시스템.
  12. 제11항에 있어서, 상기 명령어들은 상기 디바이스 상의 상기 선택된 콘텐츠 항목들 중 하나의 콘텐츠 항목의 플레이스홀더 사본을 생성하도록 더 동작가능한, 시스템.
  13. 제11항에 있어서, 상기 2차 스토리지는 상기 모바일 디바이스로부터 원격지에 있는 클라우드 스토리지(cloud storage)를 포함하는, 시스템.
  14. 제11항에 있어서, 상기 명령어들은 선택되지 않은 하나 이상의 콘텐츠 항목을 상기 로컬 스토리지로부터 제거하도록 더 동작가능한, 시스템.
  15. 제11항에 있어서, 상기 명령어들은 상기 로컬 스토리지에 플레이스홀더 사본을 저장할 하나 이상의 콘텐츠 항목을 선택하도록 더 동작가능한, 시스템.
  16. 제11항에 있어서, 상기 미리 결정된 기준은, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 포착과 연관된 시간 데이터, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 가능성, 상기 디바이스의 사용자와 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도에 기초한 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 중요성, 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 일치하는 이벤트, 및 상기 디바이스의 사용자와 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목 사이의 사회적 친화성(social affinity) 중에서 하나 이상을 포함하는, 시스템.
  17. 제11항에 있어서, 상기 미리 결정된 기준은 착용형 디바이스(wearable device)로부터의 콘텐츠 항목들의 액세스를 포함하고, 상기 모바일 디바이스는 착용형 디바이스이고, 상기 2차 스토리지는 스마트폰 상의 스토리지인, 시스템.
  18. 제11항에 있어서, 상기 미리 결정된 기준은 사용자 프로파일(user profile)에 기초하여 선택되는, 시스템.
  19. 제11항에 있어서, 상기 명령어들은 선택되지 않은 하나 이상의 콘텐츠 항목을 상기 로컬 스토리지로부터의 제거를 위해 마킹하도록 더 동작가능한, 시스템.
  20. 제11항에 있어서, 상기 명령어들은 콘텐츠 항목들을 상기 모바일 디바이스로부터 2차 스토리지로 업로드하도록 더 동작가능한, 시스템.
  21. 디바이스 상의 로컬 스토리지를 관리하기 위해 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형 매체에 인코딩된 명령어들을 포함하는 비일시적 컴퓨터 판독가능한 매체로서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때 동작들을 수행하도록 동작가능하고, 상기 동작들은,
    디바이스의 가용 로컬 스토리지 용량을 결정하고;
    상기 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다고 결정하며;
    클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 검사하고;
    상기 가용 로컬 스토리지 용량이 임계치 가용 로컬 스토리지 용량을 충족한다는 결정에 응답하여, 및 상기 메타데이터 검사에 응답하여, 로컬 스토리지에 저장할 클라우드 스토리지에 위치한 하나 이상의 콘텐츠 항목을 선택하며;
    상기 선택된 하나 이상의 콘텐츠 항목을 클라우드 스토리지로부터 상기 디바이스로 복사하고;
    상기 복사된 선택된 하나 이상의 콘텐츠 항목을 상기 디바이스 상의 상기 로컬 스토리지에 저장하는 것
    을 포함하는, 비일시적 컴퓨터 판독가능한 매체.
  22. 제21항에 있어서, 상기 동작들은 클라우드 스토리지에 위치한 상기 하나 이상의 콘텐츠 항목과 연관된 메타데이터를 수신하도록 더 동작가능한, 비일시적 컴퓨터 판독가능한 매체.
  23. 제21항에 있어서, 상기 명령어들은 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 시간 메타데이터 및 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목의 액세스의 빈도와 연관된 메타데이터를 검사하도록 더 동작가능한, 비일시적 컴퓨터 판독가능한 매체.
  24. 제21항에 있어서, 상기 명령어들은 상기 디바이스의 사용자와 상기 콘텐츠 항목들 중 하나 이상의 콘텐츠 항목과 연관된 한 명 이상의 사람 사이의 관계의 강도와 연관된 메타데이터를 검사하도록 더 동작가능한, 비일시적 컴퓨터 판독가능한 매체.
  25. 제21항에 있어서, 상기 명령어들은 미리 결정된 기준에 따라 상기 검사된 메타데이터를 채점(score)하도록 더 동작가능한, 비일시적 컴퓨터 판독가능한 매체.
KR1020167035805A 2014-06-24 2015-06-23 콘텐츠 항목의 저장 KR101879619B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462016354P 2014-06-24 2014-06-24
US62/016,354 2014-06-24
US201562166899P 2015-05-27 2015-05-27
US62/166,899 2015-05-27
PCT/US2015/037211 WO2015200339A1 (en) 2014-06-24 2015-06-23 Storing content items

Publications (2)

Publication Number Publication Date
KR20170007468A true KR20170007468A (ko) 2017-01-18
KR101879619B1 KR101879619B1 (ko) 2018-07-19

Family

ID=53539933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035805A KR101879619B1 (ko) 2014-06-24 2015-06-23 콘텐츠 항목의 저장

Country Status (6)

Country Link
US (2) US10015252B2 (ko)
EP (1) EP3161607B1 (ko)
JP (1) JP6492111B2 (ko)
KR (1) KR101879619B1 (ko)
CN (1) CN106462362B (ko)
WO (1) WO2015200339A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210082693A (ko) * 2019-12-26 2021-07-06 김복동 교육 솔루션 시스템

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385950B1 (en) * 2007-11-09 2013-02-26 Google Inc. Capturing and automatically uploading media content
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation for an information management system
EP3161607B1 (en) 2014-06-24 2021-05-26 Google LLC Storing content items
US9591075B2 (en) * 2014-12-29 2017-03-07 Verizon Patent And Licensing Inc. Cloud storage for mobile devices based on user-specified limits for different types of data
US9952934B2 (en) 2015-01-20 2018-04-24 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US9588849B2 (en) * 2015-01-20 2017-03-07 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US9361349B1 (en) 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US9747030B2 (en) * 2015-07-14 2017-08-29 Verizon Patent And Licensing Inc. Managing media content storage for user devices
US10419877B2 (en) * 2015-10-07 2019-09-17 Samsung Electronics Co., Ltd. Electronic apparatus and IoT device controlling method thereof
US10620811B2 (en) * 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US10248513B2 (en) 2016-03-15 2019-04-02 International Business Machines Corporation Capacity management
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
DE102016206207A1 (de) * 2016-04-13 2017-10-19 Volkswagen Aktiengesellschaft Verfahren, Vorrichtung und Computerprogramm zum Verwalten eines Speicherbereichs eines Steuergeräts eines Fahrzeugs
US10719532B2 (en) * 2016-04-25 2020-07-21 Dropbox, Inc. Storage constrained synchronization engine
US10049145B2 (en) 2016-04-25 2018-08-14 Dropbox, Inc. Storage constrained synchronization engine
US20170344553A1 (en) * 2016-05-27 2017-11-30 Facebook, Inc. Methods and Systems for Making Recommendations based on Relationships
US10671615B2 (en) 2016-05-27 2020-06-02 Facebook, Inc. Methods and systems for assigning affinity scores to contacts
WO2017211421A1 (en) * 2016-06-09 2017-12-14 Huawei Technologies Co., Ltd. Multi-tiered, cloud based, file system for devices with unstable network connection
US11531468B2 (en) * 2016-06-10 2022-12-20 Apple Inc. System and method for managing storage space
US10831357B2 (en) * 2016-06-12 2020-11-10 Apple Inc. Device, method, and graphical user interface for media playback
CN106161628B (zh) * 2016-07-13 2020-12-01 腾讯科技(深圳)有限公司 拍摄文件上传方法及装置
US10191658B2 (en) * 2016-12-14 2019-01-29 Sap Se Lifecycle for offline data
US9986000B1 (en) * 2017-01-12 2018-05-29 Cleardoc, Inc Systems and methods for recording and storing media content
US10891342B2 (en) * 2017-01-12 2021-01-12 Google Llc Content data determination, transmission and storage for local devices
CN107122135A (zh) 2017-04-25 2017-09-01 北京小米移动软件有限公司 数据处理方法及装置
US10628408B2 (en) 2017-07-20 2020-04-21 Slack Technologies, Inc. Method, apparatus, and computer program product for digital content auditing and retention in a group based communication repository
CN107562810A (zh) * 2017-08-10 2018-01-09 北京时代云英科技有限公司 视频大数据分级存储方法
CN107679560B (zh) * 2017-09-15 2021-07-09 Oppo广东移动通信有限公司 数据传输方法、装置、移动终端及计算机可读存储介质
US10659836B2 (en) 2017-10-26 2020-05-19 Rovi Guides, Inc. Systems and methods for providing a deletion notification
WO2019083573A1 (en) * 2017-10-26 2019-05-02 Rovi Guides, Inc. SYSTEMS AND METHODS FOR PROVIDING DELETION NOTIFICATIONS
US11157568B2 (en) * 2017-11-01 2021-10-26 Sap Se Offline mode for mobile application
US10652308B2 (en) * 2017-11-08 2020-05-12 International Business Machines Corporation Cognitive storage management for a mobile computing device
US11245607B2 (en) * 2017-12-07 2022-02-08 Vmware, Inc. Dynamic data movement between cloud and on-premise storages
US10831368B2 (en) * 2017-12-14 2020-11-10 At&T Intellectual Property I, L.P. Local storage memory management for a mobile device
US10693819B1 (en) 2017-12-15 2020-06-23 Snap Inc. Generation of electronic media content collections
WO2019194794A1 (en) * 2018-04-03 2019-10-10 Vydia, Inc. Social media content management
US10978018B2 (en) * 2018-05-29 2021-04-13 Samsung Electronics Co., Ltd. Virtual reality resource management for virtual reality head mounted display devices
US11232871B1 (en) * 2018-07-31 2022-01-25 Veeva Systems Inc. System and method for exchanging clinical data
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage
JP7082373B2 (ja) * 2019-03-27 2022-06-08 日本電信電話株式会社 データ管理装置およびデータ管理方法
US10999397B2 (en) * 2019-07-23 2021-05-04 Microsoft Technology Licensing, Llc Clustered coherent cloud read cache without coherency messaging
US11481281B2 (en) 2020-06-11 2022-10-25 International Business Machines Corporation Predictive fog computing in an edge device
CN113407113A (zh) * 2021-05-25 2021-09-17 深圳市瑞驰信息技术有限公司 一种在安卓系统上实现存储加速的方法
CN115718713A (zh) * 2021-08-24 2023-02-28 富联精密电子(天津)有限公司 数据移动系统及数据移动方法
CN113741814A (zh) * 2021-08-24 2021-12-03 深圳Tcl新技术有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
US11847303B1 (en) * 2022-08-22 2023-12-19 American Express Travel Related Services Company, Inc. User interface for depicting informational elements for selectable items

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080106412A (ko) * 2006-03-16 2008-12-05 샌디스크 아이엘 엘티디 데이터 스토리지 관리 방법 및 디바이스

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61277280A (ja) 1985-05-31 1986-12-08 Sony Corp 電子スチルカメラ
US6122411A (en) 1994-02-16 2000-09-19 Apple Computer, Inc. Method and apparatus for storing high and low resolution images in an imaging device
US7437725B1 (en) * 1999-01-04 2008-10-14 General Electric Company Processing techniques for servers handling client/server traffic and communications
JP4251757B2 (ja) 1999-10-28 2009-04-08 三洋電機株式会社 ディジタルカメラ
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
JP2003150417A (ja) 2001-11-16 2003-05-23 Nec Corp 携帯情報通信端末
US6977868B2 (en) * 2002-02-14 2005-12-20 Fossil, Inc Method and apparatus for synchronizing data between a watch and external digital device
KR100503037B1 (ko) 2002-11-01 2005-07-21 삼성테크윈 주식회사 디지털 카메라와 그의 영상정보 저장방법
JP2005049430A (ja) * 2003-07-30 2005-02-24 Hitachi Ltd 画像表示装置
US7280366B1 (en) * 2004-03-26 2007-10-09 Foundry Networks, Inc. System and method for housing power supplies in an electronic device
US7577771B2 (en) * 2004-05-03 2009-08-18 Microsoft Corporation Caching data for offline display and navigation of auxiliary information
US8073895B2 (en) * 2004-06-01 2011-12-06 Globaltel Media, Inc. System and method for delivering web content to a mobile device
US20060006974A1 (en) * 2004-07-08 2006-01-12 Taipei Multipower Electronics Co., Ltd. [transformer module]
US9049212B2 (en) * 2004-09-30 2015-06-02 International Business Machines Corporation Method, system, and computer program product for prefetching sync data and for edge caching sync data on a cellular device
JP4643439B2 (ja) 2005-12-27 2011-03-02 株式会社東芝 携帯型撮像装置
US8959515B2 (en) * 2006-01-18 2015-02-17 International Business Machines Corporation Task scheduling policy for limited memory systems
JP5028115B2 (ja) 2006-09-07 2012-09-19 キヤノン株式会社 記録装置、その制御方法及びプログラム
US7640406B1 (en) * 2006-10-03 2009-12-29 Emc Corporation Detecting and managing orphan files between primary and secondary data stores for content addressed storage
JP2008103924A (ja) 2006-10-18 2008-05-01 Olympus Corp 撮像装置
JP2008116823A (ja) 2006-11-07 2008-05-22 Nikon Corp カメラ
US9171006B2 (en) * 2007-04-06 2015-10-27 Alcatel Lucent Mobile station with expanded storage space and method of retrieving files by the mobile station
US8117303B2 (en) 2007-06-29 2012-02-14 Nokia Corporation Systems, methods, devices, and computer program products for downloading content for offline browsing
US7858730B2 (en) * 2007-07-12 2010-12-28 Eastman Chemical Company Multi-level tubular reactor with dual headers
US20090043692A1 (en) 2007-08-07 2009-02-12 Nokia Corporation Downloading of Content
JP4407737B2 (ja) 2007-09-28 2010-02-03 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及びプログラム
US8385950B1 (en) 2007-11-09 2013-02-26 Google Inc. Capturing and automatically uploading media content
US8259811B2 (en) 2007-11-30 2012-09-04 Olympus Imaging Corp Method for determining a number of items of encoded data that can be stored in a memory, and method for controlling sizes of items of encoded image data to be stored in a memory
US8805949B2 (en) * 2008-01-16 2014-08-12 Netapp, Inc. System and method for populating a cache using behavioral adaptive policies
US8456517B2 (en) * 2008-07-09 2013-06-04 Primesense Ltd. Integrated processor for 3D mapping
US20100017479A1 (en) * 2008-07-16 2010-01-21 International Business Machines Corporation Method and system for providing proxy functionality in a message client
US8341267B2 (en) * 2008-09-19 2012-12-25 Core Wireless Licensing S.A.R.L. Memory allocation to store broadcast information
US8852082B2 (en) * 2008-10-10 2014-10-07 Peter Forsell Stimulation of penis erection
US7921172B2 (en) * 2009-01-07 2011-04-05 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for wireless presyncing of data
KR101624648B1 (ko) 2009-08-05 2016-05-26 삼성전자주식회사 장면에 따른 해상도 및 화질 변경 기능을 갖는 디지털 영상 신호 처리 방법, 상기 방법을 기록한 기록 매체, 디지털 영상 처리 장치
JP5343166B2 (ja) 2010-05-27 2013-11-13 株式会社日立製作所 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム
EP2397938A1 (en) 2010-06-15 2011-12-21 France Telecom Data storage management method, device and user interface
US20120144117A1 (en) * 2010-12-03 2012-06-07 Microsoft Corporation Recommendation based caching of content items
US10409850B2 (en) 2011-03-02 2019-09-10 T-Mobile Usa, Inc. Preconfigured media file uploading and sharing
US9124548B2 (en) 2012-02-24 2015-09-01 Htc Corporation Method for uploading media file, electronic device using the same, and non-transitory storage medium
CN102724403A (zh) 2012-06-08 2012-10-10 华为终端有限公司 确定可拍摄张数的方法及摄像装置
US20140032666A1 (en) 2012-07-24 2014-01-30 Xtreme Labs Inc. Method and System for Instant Photo Upload with Contextual Data
US20140032833A1 (en) * 2012-07-25 2014-01-30 International Business Machines Corporation Dynamic Disk Space Management In A File System
JP6102124B2 (ja) 2012-08-24 2017-03-29 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9773228B2 (en) 2012-11-02 2017-09-26 Facebook, Inc. Systems and methods for sharing images in a social network
US9747169B2 (en) * 2012-12-21 2017-08-29 Commvault Systems, Inc. Reporting using data obtained during backup of primary storage
US9247098B2 (en) 2013-04-09 2016-01-26 Here Global B.V. Automatic time lapse capture
CN103533152B (zh) * 2013-04-10 2016-08-03 Tcl集团股份有限公司 一种移动终端的短信处理方法及系统
US9697258B2 (en) * 2013-05-10 2017-07-04 Dropbox, Inc. Supporting enhanced content searches in an online content-management system
WO2015033153A2 (en) 2013-09-04 2015-03-12 Zero360, Inc. Processing system and method
US10229161B2 (en) * 2013-09-20 2019-03-12 Oracle International Corporation Automatic caching of scan and random access data in computing systems
US9508133B2 (en) 2014-11-18 2016-11-29 Duelight Llc System and method for generating an image result based on availability of a network resource
US9244916B2 (en) 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
US9448755B2 (en) * 2013-12-28 2016-09-20 Intel Corporation Wearable electronic device having heterogeneous display screens
KR102218295B1 (ko) 2014-02-06 2021-02-22 삼성전자주식회사 가전 기기, 가전 기기의 네트워크 연결 시스템 및 가전 기기의 네트워크 연결 방법
US9823978B2 (en) 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US10250799B2 (en) 2014-05-21 2019-04-02 Google Technology Holdings LLC Enhanced image capture
US9819785B2 (en) 2014-06-23 2017-11-14 Verizon Patent And Licensing Inc. Multimedia messaging service communication using a two way push connection
EP3161607B1 (en) 2014-06-24 2021-05-26 Google LLC Storing content items
US9591075B2 (en) 2014-12-29 2017-03-07 Verizon Patent And Licensing Inc. Cloud storage for mobile devices based on user-specified limits for different types of data
US10447644B2 (en) 2015-04-23 2019-10-15 Facebook, Inc. Sending notifications as a service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080106412A (ko) * 2006-03-16 2008-12-05 샌디스크 아이엘 엘티디 데이터 스토리지 관리 방법 및 디바이스

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210082693A (ko) * 2019-12-26 2021-07-06 김복동 교육 솔루션 시스템

Also Published As

Publication number Publication date
EP3161607B1 (en) 2021-05-26
US10015252B2 (en) 2018-07-03
US10397330B2 (en) 2019-08-27
CN106462362B (zh) 2020-03-03
KR101879619B1 (ko) 2018-07-19
JP2017519299A (ja) 2017-07-13
JP6492111B2 (ja) 2019-03-27
US20150373116A1 (en) 2015-12-24
WO2015200339A1 (en) 2015-12-30
CN106462362A (zh) 2017-02-22
EP3161607A1 (en) 2017-05-03
US20180262570A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
KR101879619B1 (ko) 콘텐츠 항목의 저장
US11146520B2 (en) Sharing images and image albums over a communication network
US10891342B2 (en) Content data determination, transmission and storage for local devices
US10200421B2 (en) Systems and methods for creating shared virtual spaces
US9338242B1 (en) Processes for generating content sharing recommendations
US9307047B2 (en) System and method for communication of an event through a call for media
US20170127128A1 (en) Social Post Roll Up and Management System and Method of Use
CN106537389A (zh) 策管来自社交联系的媒体
CN103635892A (zh) 自动创建用于分享照片的群体
US9405964B1 (en) Processes for generating content sharing recommendations based on image content analysis
CN112313643A (zh) 基于检索/创建的数字媒体文件预测潜在相关的主题
US20150058235A1 (en) Systems and methods for facilitating and coordinating online and offline relationships
US20140289139A1 (en) Viral engagement path for occasion-based social network
WO2015061696A1 (en) Social event system
US11157572B1 (en) Sharing user activity data with other users
US11337036B1 (en) Providing events on a map using an activity ontology for event suggestion

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