KR102516696B1 - 최종 사용자 디바이스 애셋의 제3자 액세스 - Google Patents

최종 사용자 디바이스 애셋의 제3자 액세스 Download PDF

Info

Publication number
KR102516696B1
KR102516696B1 KR1020210074731A KR20210074731A KR102516696B1 KR 102516696 B1 KR102516696 B1 KR 102516696B1 KR 1020210074731 A KR1020210074731 A KR 1020210074731A KR 20210074731 A KR20210074731 A KR 20210074731A KR 102516696 B1 KR102516696 B1 KR 102516696B1
Authority
KR
South Korea
Prior art keywords
asset
access
party application
assets
privacy
Prior art date
Application number
KR1020210074731A
Other languages
English (en)
Other versions
KR20210157329A (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 KR20210157329A publication Critical patent/KR20210157329A/ko
Application granted granted Critical
Publication of KR102516696B1 publication Critical patent/KR102516696B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/54Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/53Network services using third party service providers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 개시는 제3자 애플리케이션에 관련된 최종 사용자 디바이스 상에서 애셋 프라이버시 관리 트리거를 식별하기 위한 시스템, 방법, 및 컴퓨터 판독 가능 매체에 관한 것이다. 애셋 프라이버시 관리 트리거를 식별하는 것에 응답하여, 사용자가 제한된 애셋 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스가 디스플레이된다. 제한된 애셋 액세스 옵션이 선택되는 것에 응답하여, 애셋 선택 인터페이스가 디스플레이되고, 여기서 애셋 선택 인터페이스는 사용자 선택에 기초하여 최종 사용자 디바이스의 애셋 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된다. 제3자 애플리케이션에 의한 최종 사용자 디바이스의 애셋들에 액세스하기 위한 후속 요청에 응답하여, 제3자 애플리케이션은 정의된 애셋 서브세트에만 액세스할 수 있다. 상이한 제3자 애플리케이션들 또는 시나리오들에 대해, 애셋 프라이버시 관리 트리거들 및 애셋 서브세트 정의들이 달라질 수 있다.

Description

최종 사용자 디바이스 애셋의 제3자 액세스{THIRD-PARTY ACCESS OF END-USER DEVICE ASSETS}
관련 출원에 대한 상호 참조
본 출원은 2020년 6월 19일자로 출원된 미국 출원 제16/906,593호에 대한 우선권을 주장하며, 이는 이로써 참고로 포함된다.
기술분야
본 개시는 일반적으로 네트워크화된 환경에서 사용자 디바이스들에 대한 애셋 관리 분야에 관한 것이다. 더 상세하게는, 본 개시는 최종 사용자 디바이스의 사용자가 최종 사용자 디바이스의 애셋들에 대한 제3자 애플리케이션 액세스를 제한할 수 있게 하기 위한 시스템들 및 프로세스들에 관한 것이다.
휴대용 디바이스들(예를 들면, 스마트폰들 및 태블릿들)을 포함한. 오늘날의 최종 사용자 디바이스들 중 다수는, 오디오 레코딩, 사진, 및 비디오 레코딩을 결과하는, 오디오 및 이미지 캡처 기능을 제공한다. 예를 들어, 전형적인 최종 사용자 디바이스(예를 들면, 홈 컴퓨터, 랩톱, 카메라, 태블릿, 또는 셀 폰)의 사용자는 디바이스 상의 카메라 또는 카메라 인터페이스를 통해 정지 이미지 및 비디오 둘 모두를 캡처할 수 있다. 이어서, 캡처된 이미지들 또는 비디오들은 최종 사용자 디바이스(또는 최종 사용자에 의한 애셋들에 대한 액세스를 승인받은 다른 네트워크화된 디바이스) 상의 사진 라이브러리에서 액세스 가능할 수 있다. 많은 제3자 애플리케이션들은 최종 사용자 디바이스의 사진 라이브러리 내의 사용자의 애셋들에 대한 액세스를 포함하는 특징들을 제공한다. 현재, 사용자들은 종종 제3자 애플리케이션에 의한, 사진 라이브러리와 같은, 최종 사용자 디바이스 애셋들에 대한 액세스를 관리하기 위한 이진 옵션(binary option)(즉, 애셋들에 대한 액세스를 완전히 허용하는 것 또는 애셋들에 대한 액세스를 완전히 거부하는 것)만을 갖는다. 이러한 이진 옵션은 전형적으로 각각의 제3자 애플리케이션에 대한 일회성 선택(예를 들면, 제3자 애플리케이션이 최종 사용자에 의해 처음으로 사용될 때 지정됨)이고, 많은 최종 사용자 디바이스 사용자들에 대해 과도하게 제한적이거나 과도하게 허용적인 것으로 여겨질 수 있다. 따라서, 제3자 애플리케이션들을 갖는 네트워크화된 환경에서 최종 사용자 디바이스의 애셋들의 보안 및 사용성을 개선시키는 기법들이 바람직할 것이다.
제3자 애플리케이션과의 전형적인 사용자 상호작용은 최종 사용자 디바이스 상에 제3자 애플리케이션을 설치하는 것 및 제3자 애플리케이션을 실행하는 것을 포함한다. 다른 옵션은 웹사이트, 소셜 네트워크, 또는 다른 플랫폼, 및 제3자 애플리케이션과 연관된 관련 특징들에 액세스하기 위해 최종 사용자 디바이스를 사용하는 것이다. 어느 경우든지, 최종 사용자 디바이스는 애셋들을 가지며, 제3자 애플리케이션은 애셋들에 액세스하는 특징들을 포함한다. 최종 사용자 디바이스의 예시적인 애셋들은 사진 라이브러리 내의 사진들 또는 비디오들, 마이크로폰, 또는 카메라를 포함한다. 이진 액세스 스킴들(예를 들면, 애셋들에 대한 전체 액세스 또는 애셋들에 대한 액세스 금지)을 이용하는 대신에, 개시된 시스템들 및 프로세스들은 최종 사용자 디바이스의 애셋들에 제한된 및/또는 애플리케이션 특정 액세스를 가능하게 한다. 최종 사용자 디바이스의 애셋들에 액세스할 수 있는 제3자 애플리케이션의 예시적인 특징들은 원격회의 특징들, 사진 편집 특징들, 소셜 미디어 특징들, 및 온라인 스토리지 특징들을 포함한다.
본 개시의 실시예들은 제한된 애셋 액세스 옵션을 추가하는 것에 의해 개선된 애셋 프라이버시 관리 옵션들을 최종 사용자 디바이스의 사용자에게 제공하고자 한다. 일부 예들에서, 제한된 애셋 액세스 옵션은 운영 체제의 특징이고 최종 사용자 디바이스의 운영 체제 내의 하나 이상의 설정을 통해 액세스 가능하다. 일단 운영 체제가 업데이트되면, 제한된 애셋 액세스 옵션은 애셋 프라이버시 관리 트리거들(예를 들면, 제한된 애셋 액세스 옵션을 포함하도록 운영 체제를 업데이트한 후에 최종 사용자 디바이스를 재부팅하는 것, 제3자 애플리케이션으로부터 애셋 프라이버시 관리 요청을 수신하는 것, 제3자 애플리케이션을 처음으로 설치하거나 사용하는 것, 미리 결정된 양의 시간 동안 제3자 애플리케이션을 사용하는 것, 제3자 애플리케이션으로부터 애셋 액세스 요청을 수신하는 것, 또는 제3자 애플리케이션에 관련된 운영 체제 애셋 관리 설정을 선택하는 것)에 응답하여 선택 가능하다. 일단 애셋 프라이버시 관리 트리거가 식별되면, 사용자가 주어진 제3자 애플리케이션에 대한 제한된 애셋 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스가 디스플레이된다. 일부 예들에서, 프라이버시 선택 인터페이스는 사용자가 전체 애셋 액세스 옵션(예를 들면, 사진 라이브러리 내의 모든 사진들에 대한 액세스), 애셋 액세스 금지 옵션(예를 들면, 사진 라이브러리 내의 사진들에 액세스할 수 없도록 하는 액세스 거부), 및 제한된 애셋 액세스 옵션(예를 들면, 사진 라이브러리 내의 일부 사진들에는 액세스 가능하지만 다른 것들에는 액세스 가능하지 않음) 중에서 선택할 수 있게 한다.
제한된 애셋 액세스 옵션이 선택될 때, 사용자가 애셋 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의할 수 있게 하는 애셋 선택 인터페이스가 디스플레이된다. 일부 예들에서, 애셋 서브세트는 개별 애셋들 또는 애셋 그룹들의 사용자 선택에 의해 정의된다(예를 들면, 폴더 기반 정의, 데이터 기반 정의, 또는 콘텐츠 기반 정의). 그 후에, 제3자 애플리케이션은 제3자 애플리케이션에 대해 인가된 것으로 정의된 애셋 서브세트에 액세스할 수 있다. 원하는 바에 따라, 동일한 제3자 애플리케이션에 대해 여러 번(예를 들면, 애셋 프라이버시 관리 스케줄에 기초하여 또는 새로운 애셋들이 이용 가능한 것에 응답하여) 애셋 프라이버시 관리가 수행된다. 예를 들어, 제3자 애플리케이션이 최종 사용자 디바이스의 사진 라이브러리에 액세스하기 위해 요청하고 제3자 애플리케이션이 사진 라이브러리에 마지막으로 액세스한 이후로 새로운 사진들이 사진 라이브러리에 추가된 경우, 사진 라이브러리에 액세스하기 위한 요청은 애셋 프라이버시 관리 트리거로서 식별될 수 있다.
제안된 애셋 프라이버시 관리 기법들에 대한 고려사항들 중 하나는, 레거시 프라이버시 관리 인터페이스와의 역호환성을 포함한, 상이한 제3자 애플리케이션 시나리오들을 처리하는 것을 포함한다. 일부 시나리오들에서, 제3자 애플리케이션은 최종 사용자 디바이스와 통신하기 위해 레거시 요청 인터페이스를 사용하며, 여기서 제3자 애플리케이션은 최종 사용자 디바이스와 애셋 프라이버시 정책을 이미 마련해 둘 수 있거나 그렇지 않을 수 있다. 레거시 요청 인터페이스가 사용될 때, 제3자 애플리케이션에 의한 애셋들에 액세스하기 위한 요청은 애셋 프라이버시 관리 트리거로서 식별될 수 있다. 애셋 프라이버시 관리 트리거에 응답하여, 애셋 프라이버시 관리 옵션들을 선택하기 위한 프라이버시 선택 인터페이스 및 (제한된 애셋 옵션이 선택되는 경우) 제한된 애셋 서브세트를 정의하기 위한 애셋 선택 인터페이스가 레거시 요청 인터페이스를 사용하여 제3자 애플리케이션에 투명한 방식으로 사용될 수 있다. 본 명세서에서 사용되는 바와 같이, "투명"이란 제3자 애플리케이션이 주어진 인터페이스 또는 관련 동작들과 관련하여 인식하지 못하는 것을 지칭한다.
일 예에서, 제3자 애플리케이션이 최종 사용자 디바이스의 사진 라이브러리에 대한 전체 액세스를 이전에 부여받았더라도, 본 명세서에 기술된 바와 같이 프라이버시 선택 인터페이스 및 사진 선택 인터페이스 동작들을 사용하여 사진 라이브러리에 대한 액세스가 제한될 수 있다. 이 예에서, 제한된 사진 라이브러리 옵션이 사용자에 의해 선택되는 것 및 관련 동작들은 제3자 애플리케이션에 대해 사진 라이브러리에 대한 가상 액세스 정책을 결과한다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 전체 액세스가 부여되고, 여기서 사진 라이브러리는 가상 액세스 정책에 의해 사용자에 의해 정의된 사진 서브세트로 제한된다.
다른 시나리오들에서, 업데이트된 요청 인터페이스를 사용하는 제3자 애플리케이션은 제3자 애플리케이션이 업데이트된 요청 인터페이스와 함께 레거시 이진 표시자(예를 들어, 전체 액세스 또는 액세스 금지)를 사용할 수 있게 하는 옵트 아웃(opt-out) 옵션을 갖는다. 그러한 시나리오들에서, 제3자 애플리케이션은 최종 사용자 디바이스의 애셋들에 대한 액세스를 요청할 수 있고, 여기서 요청에 응답하여 애셋 프라이버시 관리 옵션들을 선택하기 위한 프라이버시 선택 인터페이스 및 (제한된 애셋 옵션이 선택된 경우) 제한된 애셋 서브세트를 정의하기 위한 애셋 선택 인터페이스가 제3자 애플리케이션에 투명한 방식으로 수행된다. 원하는 바에 따라, 사용자가 제3자 애플리케이션에 대해 제한된 애셋 액세스 옵션을 선택하는 경우 제3자 애플리케이션에 의한 사용에 대해 인가된 애셋들이 가상 액세스 인터페이스를 사용하여 제한될 수 있다. 제3자 애플리케이션의 관점에서, 최종 사용자 디바이스의 애셋들에 대한 액세스가 레거시 이진 옵션들(전체 액세스 또는 액세스 금지)에 기초하여 부여된다. 그렇지만, 제한된 애셋 액세스 옵션이 사용자에 의해 선택되는 경우, 제3자 애플리케이션에 보이는 애셋들이 (애셋 서브세트가 있는 전부인 것처럼) 애셋 선택 인터페이스에 의해 정의된 애셋 서브세트로 가상 액세스 인터페이스에 의해 제한될 것이다.
다른 시나리오들에서, 업데이트된 요청 인터페이스를 사용하는 제3자 애플리케이션은 제3자 애플리케이션이 사용자에 의한 애셋 프라이버시 관리를 요청할 수 있게 하는 옵트인(opt-in) 옵션을 가지며, 여기서 최종 사용자 디바이스는 전체 액세스, 제한된 액세스, 또는 액세스 금지가 인가되어 있는지를 나타내는 비이진 값을 반환한다. 그러한 시나리오들에서, 제3자 애플리케이션은 최종 사용자 디바이스와 애셋 프라이버시 정책을 이미 마련해 둘 수 있거나 그렇지 않을 수 있다. 어느 경우든지, 제3자 애플리케이션은 사용자에 의한 애셋 프라이버시 관리를 요청할 수 있다. 다른 옵션으로서, 제3자 애플리케이션은 최종 사용자 디바이스의 애셋들에 대한 액세스를 요청할 수 있다. 애셋 프라이버시 관리 트리거에 응답하여, 애셋 프라이버시 관리 옵션들을 선택하기 위한 프라이버시 선택 인터페이스 및 (제한된 애셋 옵션이 선택되는 경우) 제한된 애셋 서브세트를 정의하기 위한 애셋 선택 인터페이스가 사용되며, 여기서 제3자 애플리케이션은 사용자에 의해 선택된 애셋 프라이버시 옵션의 비이진 표시를 수신한다. 업데이트된 요청 인터페이스 및 옵트인 옵션을 이용하여, 일단 애셋 프라이버시 결정이 사용자에 의해 이루어졌으면, 제3자 애플리케이션은 새로운 프라이버시 관리 요청을 제출할 수 없다. 그렇지만, 최종 사용자는 설정/환경설정(settings/preferences) 사용자 인터페이스(UI)에서 애셋 액세스 레벨을 변경할 수 있다.
일 예에서, 제3자 애플리케이션에 의한 애셋 프라이버시 관리 요청은 제한된 사진 라이브러리 옵션이 사용자에 의해 선택되는 것 및 관련 동작들을 결과한다. 그러한 경우에, 제3자 애플리케이션에 대해 사진 라이브러리에 대한 가상 액세스 정책이 확립된다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 제한된 액세스가 부여되고, 여기서 사진 라이브러리는 가상 액세스 정책에 의해 사용자에 의해 정의된 사진 서브세트로 제한된다.
도 1은 대표적인 하드웨어 환경을 도시하는 다이어그램이다.
도 2는 대표적인 네트워크 환경을 도시하는 다이어그램이다.
도 3은 대표적인 소프트웨어 아키텍처를 도시하는 다이어그램이다.
도 4는 사진 라이브러리 프라이버시 관리 시나리오를 도시하는 다이어그램이다.
도 5 내지 도 8은 본 개시의 일부 실시예들에 따른, 애셋 프라이버시 관리 방법들을 도시하는 플로차트이다.
본 개시는 제한된 애셋 관리 옵션을 지원하는 것에 의해 최종 사용자 디바이스 상에서의 애셋 프라이버시 관리를 개선시키는 시스템, 방법, 및 컴퓨터 판독 가능 매체에 관한 것이다. 본 개시는 또한 애셋 프라이버시 관리 옵션들의 사용자 선택을 트리거하는 상이한 애셋 프라이버시 관리 트리거들(예를 들면, 제한된 애셋 관리 옵션을 포함하도록 운영 체제의 업데이트 이후에 최종 사용자 디바이스를 재부팅하는 것, 제3자 애플리케이션으로부터 애셋 프라이버시 관리 요청을 수신하는 것, 제3자 애플리케이션으로부터 애셋 액세스 요청을 수신하는 것, 제3자 애플리케이션을 처음으로 설치하거나 사용하는 것, 미리 결정된 양의 시간 동안 제3자 애플리케이션을 사용하는 것, 또는 제3자 애플리케이션에 관련된 운영 체제 애셋 관리 설정을 선택하는 것)을 지원하는 것에 관한 것이다. 주어진 제3자 애플리케이션에 대해 사용자에 의해 제한된 애셋 관리 옵션이 선택되는 경우, 사용자가 애셋 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의할 수 있게 하기 위해 애셋 선택 인터페이스가 디스플레이된다. 일부 예들에서, 사용자는 복수의 제3자 애플리케이션들 각각에 대해 전체 애셋 액세스 옵션, 애셋 액세스 금지 옵션, 및 제한된 애셋 액세스 옵션 중에서 선택한다. 제한된 애셋 액세스 옵션의 경우, 애셋 서브세트는 개별 애셋들 또는 애셋 그룹들의 사용자 선택에 의해 정의된다(예를 들면, 폴더 기반 정의, 데이터 기반 정의, 또는 콘텐츠 기반 정의). 그 후에, 제3자 애플리케이션은 제3자 애플리케이션에 대해 인가된 것으로 정의된 애셋 서브세트에 액세스할 수 있다. 원하는 바에 따라, 동일한 제3자 애플리케이션에 대해 여러 번(예를 들면, 애셋 프라이버시 관리 스케줄, 새로운 애셋들이 이용 가능한 것, 또는 다른 트리거들에 기초하여) 애셋 프라이버시 관리가 수행된다.
일 예에서, 애셋 프라이버시 관리 동작들은 애셋 프라이버시 관리 트리거에 응답하여 사진 라이브러리, 연락처, 또는 캘린더와 같은 프라이버시에 민감한 리소스들에 대해 수행된다. 사용자에 의한 애셋 프라이버시 옵션의 선택 및 (필요한 경우) 제한된 애셋들을 정의하는 것 이후에, 관련 정책이 시행되고 제3자 애플리케이션에 의한 미래의 요청들에 대해 사용된다. 원하는 바에 따라, 후속하는 애셋 프라이버시 관리 트리거들은 사용자가 애셋 프라이버시 관리 선택들을 확인 또는 변경할 수 있게 한다. 예를 들어, 제3자 애플리케이션이 최종 사용자 디바이스의 사진 라이브러리에 액세스하기 위해 요청하고 제3자 애플리케이션이 사진 라이브러리에 마지막으로 액세스한 이후로 새로운 사진들이 사진 라이브러리에 추가된 경우, 제3자 애플리케이션이 이전에 전체 액세스 또는 제한된 액세스 인가를 받았더라도 사진 라이브러리에 액세스하기 위한 요청은 애셋 프라이버시 관리 트리거로서 식별될 수 있다. 다른 예로서, 제3자 애플리케이션이 최종 사용자 디바이스의 연락처에 액세스하기 위해 요청하고 제3자 애플리케이션이 연락처에 마지막으로 액세스한 이후로 새로운 연락처 항목들이 연락처에 추가된 경우, 제3자 애플리케이션이 이전에 전체 액세스 또는 제한된 액세스 인가를 받았더라도 연락처에 액세스하기 위한 요청은 애셋 프라이버시 관리 트리거로서 식별될 수 있다. 다른 예로서, 제3자 애플리케이션이 최종 사용자 디바이스의 캘린더에 액세스하기 위해 요청하고 제3자 애플리케이션이 캘린더에 마지막으로 액세스한 이후로 새로운 캘린더 항목들이 캘린더에 추가된 경우, 제3자 애플리케이션이 이전에 전체 액세스 또는 제한된 액세스 인가를 받았더라도 캘린더에 액세스하기 위한 요청은 애셋 프라이버시 관리 트리거로서 식별될 수 있다. 추가적으로, 많은 다른 애셋 프라이버시 관리 기법들 및 옵션들이 본 명세서에서 논의된다.
이하의 설명에서, 설명의 목적으로, 다수의 특정 세부사항이 개시된 개념들의 철저한 이해를 제공하기 위해 기재된다. 이러한 설명의 일부로서, 본 개시의 도면들의 일부는 개시된 개념들의 새로운 양태들을 모호하게 하는 것을 피하기 위해 구조들 및 디바이스들을 블록 다이어그램 형태로 나타낸다. 명확성을 위해, 실제 구현의 모든 특징들이 기술되지는 않는다. 더욱이, 본 개시에서 사용된 표현은 원칙적으로 가독성 및 교육 목적으로 선택되었으며, 발명 주제를 확정하거나 한정하기 위해 선택되지 않았을 수 있어서, 그러한 발명 주제를 결정하기 위해 청구범위에 대한 의존이 잠재적으로 필요할 수 있다. "일 실시예" 또는 "실시예" 또는 "실시예들"에 대한 본 개시에서의 언급은 발명과 관련되어 기술되는 특정 특징, 구조, 또는 특성이 개시된 주제의 적어도 하나의 실시예에 포함된다는 것을 의미하며, "일 실시예" 또는 "실시예"에 대한 다수의 언급이 반드시 모두 동일한 실시예를 지칭하는 것으로서 이해되어서는 안된다.
(임의의 소프트웨어 및/또는 하드웨어 개발 프로젝트에서와 같이) 임의의 실제 구현의 개발에서, 개발자의 특정 목표들(예를 들면, 시스템 관련 및 사업 관련 제약들의 준수)을 달성하기 위해 수많은 결정들이 이루어져야 하며, 이러한 목적들이 구현별로 달라질 수 있음을 이해할 것이다. 또한, 그러한 개발 노력이 복잡하고 시간이 많이 걸릴 수 있지만, 그럼에도 불구하고 본 개시의 이점을 가지며 컴퓨팅 시스템 및/또는 그래픽 시스템의 설계 및 구현에 통상의 지식을 가진 자에게는 일상적인 일임을 이해할 것이다.
예시적인 하드웨어 및 소프트웨어
본 명세서에 기술된 발명 실시예들은 최종 사용자 디바이스 상에서의 애셋 프라이버시 관리 동작들에 관한 것이다. 특히, 제안된 애셋 프라이버시 관리 동작들은 제한된 애셋 프라이버시 옵션을 포함한다. 예시적인 실시예에서, 최종 사용자 디바이스는 사진들 및 비디오들을 캡처하기 위한 카메라 및 마이크로폰을 포함하며, 여기서 캡처된 사진들, 캡처된 비디오들, 최종 사용자 디바이스 마이크로폰, 및/또는 최종 사용자 디바이스 카메라는 최종 사용자 디바이스의 애셋들에 대응한다. 이진 액세스 옵션들(예를 들면, 전체 액세스 또는 액세스 금지)만을 지원하는 대신에, 제안된 애셋 프라이버시 관리 동작들은 제한된 애셋 액세스 옵션을 가능하게 하며, 여기서 최종 사용자 디바이스의 사용자는 애셋 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의할 수 있다. 많은 실시예들이 컴퓨팅 동작들 및 시스템들에 의존하기 때문에, 본 개시는, 단일 프로세싱 또는 다중 프로세싱 컴퓨팅 시스템을 포함하는 단일 프로세서 및 다중 프로세서 컴퓨팅 시스템 및 버티컬 디바이스(예를 들면, 카메라, 게이밍 시스템, 어플라이언스 등)을 포함한, 모든 유형의 지능형 디바이스들에서 그리고 그와 관련하여 함축성과 용도가 있을 수 있다. 본 명세서에서의 논의는 서버 시스템 또는 최종 사용자 시스템으로서 논의될 수 있는 공통 컴퓨팅 구성을 참조하여 이루어진다. 이러한 공통 컴퓨팅 구성은 하나 이상의 마이크로프로세서를 포함하는 CPU 리소스를 가질 수 있다. 이러한 논의는 단지 샘플 실시예들에 관한 예시를 위한 것이며, 개시된 하드웨어에 대한 본 발명의 적용을 한정하는 것으로 의도되지 않는다. (현재 또는 미래에) 다른 공지된 또는 통상적인 하드웨어 구성을 갖는 다른 시스템들이 완전히 고려되고 예상된다. 그에 주의하면서, 전형적인 하드웨어 및 소프트웨어 동작 환경이 아래에서 논의된다. 하드웨어 구성은, 예를 들어, 카메라, 보안 시스템, 서버, 워크스테이션, 랩톱, 태블릿, 데스크톱 컴퓨터, 게이밍 플랫폼(휴대용인지 여부에 관계없음), 텔레비전, 엔터테인먼트 시스템, 스마트폰, 전화, 또는, 모바일이든 고정형이든 관계없이, 임의의 다른 컴퓨팅 디바이스에서 발견될 수 있다.
이제 도 1을 참조하면, 개시된 실시예들은 대표적인 컴퓨터 시스템(100)에 의해 수행될 수 있다. 예를 들어, 대표적인 컴퓨터 시스템(100)은 서버 또는 최종 사용자 디바이스로서 작용할 수 있다. 시스템(100)은 카메라, 범용 컴퓨터 시스템, 텔레비전, 셋톱 박스, 미디어 플레이어, 멀티미디어 엔터테인먼트 시스템, 이미지 프로세싱 워크스테이션, 핸드헬드 디바이스(예컨대, 전화), 또는 이미지 캡처, 오디오 캡처, 및/또는 프로세싱 능력과 결합될 수 있거나 이를 포함할 수 있는 임의의 디바이스와 같은 임의의 유형의 디바이스에 구현될 수 있다. 컴퓨터 시스템(100)은 하나 이상의 프로세서(105), 메모리(110)(110A 및 110B), 하나 이상의 저장 디바이스(115), 및 그래픽 하드웨어(120)를 포함할 수 있다. 컴퓨터 시스템(100)은 또한 (깊이 카메라와 같은) 깊이 센서들, 3D 깊이 센서(들), 이미징 디바이스들(예컨대, 고정식 및/또는 비디오 가능 이미지 캡처 유닛) RGB 센서, 근접 센서, 주변 광 센서, 가속도계, 자이로스코프, 임의의 유형의 정지 또는 비디오 카메라, LIDAR 디바이스, SONAR 디바이스, 마이크로폰, CCD(또는 다른 이미지 센서), 적외선 센서, 온도계 등 중 하나 이상을 포함할 수 있는 디바이스 센서들(125)을 가질 수 있다. 센서 출력들이 적절하게 해석되고/되거나 조합되어 해석될 수 있도록, 이들 및 다른 센서들은 적절한 프로그래밍과 함께 하나 이상의 GPU, DSP, 또는 종래의 마이크로프로세서와 조합하여 작동할 수 있다.
도 1로 돌아가면, 시스템(100)은 통신 인터페이스(130), 사용자 인터페이스 어댑터(135), 및 디스플레이 어댑터(140)를 또한 포함할 수 있으며, 이들 모두는 시스템 버스 또는 백플레인(145)을 통해 결합될 수 있다. 메모리(110)는 프로세서(105) 및 그래픽 하드웨어(120)에 의해 사용되는 하나 이상의 상이한 유형의 매체(예를 들면, 솔리드 스테이트, DRAM, 광학, 자기 등)를 포함할 수 있다. 예를 들어, 메모리(110)는 메모리 캐시, 판독 전용 메모리(ROM) 및/또는 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 스토리지(115)는, 예를 들어, 자기 디스크(고정식, 플로피, 및 이동식) 및 테이프, CD-ROM 및 DVD(digital video disk)와 같은 광학 매체, 및 EPROM(Electrically Programmable Read-Only Memory) 및 EEPROM(Electrically Erasable Programmable Read-Only Memory)과 같은 반도체 메모리 디바이스들을 포함한, 하나 이상의 비일시적 저장 매체를 포함할 수 있다. 메모리(110) 및 스토리지(115)는 미디어(예를 들면, 오디오, 이미지, 및 비디오 파일), 선호도 정보, 디바이스 프로파일 정보, 하나 이상의 모듈로 구성되고 임의의 원하는 컴퓨터 프로그래밍 언어로 작성된 컴퓨터 프로그램 명령어들, 및 임의의 다른 적합한 데이터를 보유하기 위해 사용될 수 있다. 프로세서(105) 및/또는 (프로세서일 수도 있는) 그래픽 하드웨어(120)에 의해 실행될 때, 그러한 컴퓨터 프로그램 코드는 본 명세서에서 기술된 방법들 또는 프로세스들 중 하나 이상을 구현할 수 있다.
통신 인터페이스(130)는 반도체 기반 회로들을 포함할 수 있고, 컴퓨터 시스템(100)을 하나 이상의 네트워크에 연결시키는 데 사용될 수 있다. 예시적인 네트워크들은 USB 네트워크와 같은 로컬 네트워크; 기업의 로컬 영역 네트워크; 및 인터넷과 같은 광역 네트워크를 포함하지만, 이에 제한되지 않으며; 임의의 적합한 기술(예를 들면, 유선 또는 무선)을 사용할 수 있다. 구현될 수 있는 통신 기술들은 셀 기반 통신(예를 들면, NR, LTE, CDMA, GSM, HSDPA 등) 또는 다른 통신(이더넷, Wi-Fi, 블루투스, USB, 썬더볼트, 파이어와이어 등)을 포함한다. 사용자 인터페이스 어댑터(135)는 키보드(150), 마이크로폰(155), 포인터 디바이스(160), 스피커(165), 및 터치패드 및/또는 터치 스크린(도시되지 않음)과 같은 다른 사용자 인터페이스 디바이스들을 연결시키는 데 사용될 수 있다. 디스플레이 어댑터(140)는 하나 이상의 디스플레이 유닛(170)을 프레임 버퍼들(도시되지 않음)을 통해 연결시키는 데 사용될 수 있다.
프로세서(105)는 시스템(100)에 의해 수행되는 많은 기능들(예를 들면, 이미지 평가 및 프로세싱)의 동작을 수행하거나 제어하는 데 필요한 명령어들을 실행할 수 있다. 프로세서(105)는, 예를 들어, 디스플레이(170)를 구동하고, 사용자 인터페이스 어댑터(135) 또는 시스템에 의해 구현되는 임의의 다른 사용자 인터페이스들로부터 사용자 입력을 수신할 수 있다. 예를 들어, 사용자 인터페이스 어댑터(135)는, 버튼, 키패드, 다이얼, 클릭 휠, 키보드, 디스플레이 스크린 및/또는 터치 스크린, 또는 이들의 임의의 조합과 같은, 다양한 형태를 취할 수 있다. 사용자 인터페이스 항목들 또는 위젯들은 사용자가 인터페이스와 상호작용할 때 실시간으로 그래픽 하드웨어(120)에 의해 생성될 수 있다. 프로세서(105)는 단독으로 또는 모바일 디바이스에서 발견되는 것과 같은 GPU, DSP, 및/또는 시스템-온-칩 디바이스와 조합하여 작동하는 하나 이상의 마이크로프로세서와 같은 임의의 유형의 컴퓨팅 디바이스일 수 있다. 프로세서(105)는 픽셀들과 같은 디스플레이 정보를 생성 또는 변경하기 위해 프로그램 명령어들을 수용하는 하나 이상의 전용 GPU 또는 그래픽 서브시스템을 포함할 수 있다. 추가적으로, 프로세서(105)는 RISC(reduced instruction-set computer) 또는 CISC((complex instruction-set computer) 아키텍처들 또는 임의의 다른 적합한 아키텍처에 기초할 수 있고, 하나 이상의 프로세싱 코어를 포함할 수 있다. 그래픽 하드웨어(120)는 그래픽을 프로세싱하고/하거나 계산 작업들을 수행하는 데 프로세서(105)를 보조하기 위한 특수 목적 계산 하드웨어일 수 있다. 일부 실시예들에서, 그래픽 하드웨어(120)는 CPU 통합 그래픽 및/또는 하나 이상의 프로그래밍 가능 GPU를 포함할 수 있다.
본 발명의 다양한 실시예들은, 카메라들과 같은, 센서들을 이용할 수 있다. 카메라들 및 유사한 센서 시스템들은 사용자 의도 또는 커맨드들을 해석하는 데 궁극적으로 사용되는 비디오 또는 이미지 데이터를 정확하게 캡처하기 위한 자동 초점 시스템들을 포함할 수 있다. 사용자의 모션이 캡처된 이미지들 내의 작은 영역들에서의 미묘한 활동(예를 들면, 손, 손가락, 얼굴, 입, 이마 등)에 기초할 수 있기 때문에, 자동 초점 시스템은 더 나은 정보에 액세스하기 위해 이미지의 다수의 영역들에 개별적으로 초점을 맞추기 위해 사용될 수 있다.
도 1로 돌아가면, 센서들(125)은 시간과 같은 컨텍스트 및/또는 환경 현상들; 위치 정보; 광, 중력, 및 자북과 관련한 디바이스의 상태; 및 심지어 정지 및 비디오 이미지들을 캡처할 수 있다. 추가적으로, 기상 정보와 같은 네트워크 액세스 가능 정보가 또한 컨텍스트의 일부로서 사용될 수 있다. 캡처된 이미지, 사용자 또는 주체 활동 또는 사용자 또는 주체 활동에 관한 정보에 컨텍스트를 제공하기 위해 모든 캡처된 컨텍스트 및 환경 현상들이 사용될 수 있다. 예를 들어, 캡처된 이미지들의 시퀀스에 액세스할 때, 컨텍스트 정보가 분석의 일부로서 사용될 수 있다. 시스템(100)은, 예를 들어, 컨텍스트 정보를 이미지들/프레임들에 첨부하는 것, 특정 모드를 사용하여 이미지 캡처와 같은 하나 이상의 기능을 수행하는 것, 또는 그래픽 하드웨어(120)의 사용을 통해 디스플레이 시스템 상에서의 활동을 야기하는 것에 의해, 환경 및 컨텍스트 이벤트들에 반응하고 반응을 실시간으로 반영할 수 있다.
센서들(125)로부터의 출력은, 적어도 부분적으로, 프로세서(105) 및/또는 그래픽 하드웨어(120), 및/또는 시스템(100) 내부에 또는 외부에 통합된 전용 이미지 프로세싱 유닛에 의해 프로세싱될 수 있다. 그렇게 캡처된 정보는 메모리(110) 및/또는 스토리지(115) 및/또는 (인터넷과 같은) 연결된 네트워크(attached network) 상에서 액세스 가능한 임의의 스토리지에 저장될 수 있다. 메모리(110)는 디바이스 기능들을 수행하기 위해 프로세서(105), 그래픽 하드웨어(120), 및 센서들(125)에 의해 사용되는 하나 이상의 상이한 유형의 매체를 포함할 수 있다. 스토리지(115)는, 데이터베이스 애플리케이션(예를 들면, 아바타 프레임들을 저장하는 데이터베이스), 선호도 정보, 디바이스 프로파일 정보, 및 임의의 다른 적합한 데이터를 포함하여, 미디어(예를 들면, 오디오, 이미지, 및 비디오 파일)와 같은 데이터; 미디어에 대한 메타데이터; 컴퓨터 프로그램 명령어들; 및 다른 소프트웨어를 포함할 수 있다. 메모리(110) 및 스토리지(115)는 컴파일된 형태의 하나 이상의 모듈로 구성되거나 임의의 원하는 컴퓨터 프로그래밍 언어로 작성되는 컴퓨터 프로그램 명령어들 또는 코드를 유지하기 위해 사용될 수 있다. 예를 들어, 프로세서(105)에 의해 실행될 때, 그러한 컴퓨터 프로그램 코드는 본 명세서에서 기술된 동작들 또는 기능들 중 하나 이상을 구현할 수 있다(예를 들면, 이미지 분석 및 트리밍을 구현함).
도 1의 예에서, 메모리(110) 및/또는 스토리지(115)는 프로세서(105)에 의해 실행하기 위한 애셋 프라이버시 관리 인터페이스 명령어들(116)을 포함하는 것으로서 표현된다. 프로세서(105)에 의해 실행될 때, 애셋 프라이버시 관리 인터페이스 명령어들(116)은 애셋 프라이버시 관리 트리거들을 식별하는 것, 사용자 선택에 기초하여 필요에 따라 제한된 애셋 액세스를 승인받은 각각의 제3자 애플리케이션에 대한 애셋 서브세트들을 정의하는 것, 미래의 사용을 위해 애셋 프라이버시 정책 정보를 저장하는 것, 및 상이한 제3자 애플리케이션들에 대한 (레거시 요청 인터페이스 또는 레거시 이진 표시자들과의 역호환성을 지원하기 위한) 애셋 프라이버시 관리 투명도 옵션들을 제공하는 것과 같은 동작들을 수행한다. 애셋 프라이버시 관리 인터페이스 명령어들(116)에 관련된 추가적인 세부 사항들 및 옵션들이 이하에서 제공된다.
이제 도 2를 참조하면, 제안된 애셋 프라이버시 관리 기법들이 구현될 수 있는 예시적인 네트워크 아키텍처(200)는 복수의 네트워크(205)(즉, 205A, 205B 및 205C)를 포함하고, 그 각각은 로컬 영역 네트워크(LAN) 또는 인터넷과 같은 광역 네트워크(WAN)를 포함하지만 이로 제한되지 않는 임의의 형태를 취할 수 있다. 게다가, 네트워크들(205)은 임의의 원하는 기술(유선, 무선, 또는 이들의 조합) 및 프로토콜(예를 들면, 전송 제어 프로토콜(TCP))을 사용할 수 있다. 데이터베이스들과 같은 서버 애플리케이션들을 동작시킬 수 있고 또한 네트워크들(205)을 통해 통신할 수 있는 데이터 서버 컴퓨터들(210)(즉, 210A 및 210B)이 네트워크들(205)에 결합된다. 서버 컴퓨터들을 사용하는 일 실시예는 스마트폰들 또는 네트워크 연결된 태블릿들과 같은, 모바일 컴퓨팅 디바이스들을 위한 프록시로서 이미지 정보(예를 들면, 프레임들) 및/또는 컨텍스트 정보, 또는 다른 정보를 수집, 프로세싱 및 평가하는 하나 이상의 중앙 시스템의 동작을 포함할 수 있다.
임의의 컴퓨터, 셋톱 박스, 엔터테인먼트 디바이스, 통신 디바이스, 또는 임베디드 시스템들을 포함한 지능형 머신의 형태를 취할 수 있는 클라이언트 컴퓨터들 또는 최종 사용자 디바이스들(215)(즉, 215A, 215B, 215C)이 네트워크들(205) 및/또는 데이터 서버 컴퓨터들(210)에 또한 결합된다. 일부 실시예들에서, 사용자들은 스마트폰들 또는 태블릿들의 형태로 클라이언트 컴퓨터들을 이용할 수 있다. 도 2의 예에서, 클라이언트 컴퓨터들(215) 각각은 본 명세서에서 설명되는 제안된 애셋 프라이버시 관리 기법들을 지원하기 위해 하드웨어(예를 들면, 도 1 참조) 및 각자의 애셋 프라이버시 관리 인터페이스 명령어들(116A 내지 116C)을 포함한다. 또한, 일부 실시예들에서, 네트워크 아키텍처(200)는 프린터(220)와 같은 네트워크 프린터들 및, 본 명세서에서 참조되는 멀티미디어 항목들(예를 들면, 이미지들)을 저장하는 데 사용될 수 있는, 225와 같은 저장 시스템들을 또한 포함할 수 있다. 상이한 네트워크 디바이스들(예를 들면, 데이터 서버들(210), 최종 사용자 컴퓨터들(215), 네트워크 프린터(220), 및 저장 시스템(225)) 사이의 통신을 용이하게 하기 위해, 적어도 하나의 게이트웨이 또는 라우터(230)가 그들 사이에 선택적으로 결합될 수 있다. 게다가, 그러한 통신을 용이하게 하기 위해, 네트워크를 이용하는 각각의 디바이스는 네트워크 어댑터를 포함할 수 있다. 예를 들어, 통신을 위해 이더넷 네트워크가 요망되는 경우, 각각의 참여 디바이스는 이더넷 어댑터 또는 임베디드 이더넷 가능 IC들을 가져야 한다. 게다가, 디바이스들은 그들이 참여할 수 있는 임의의 네트워크에 대한 네트워크 어댑터들을 가질 수 있다.
위에서 언급된 바와 같이, 본 명세서에 개시된 본 발명의 실시예들은 소프트웨어 또는 애셋 프라이버시 관리 인터페이스 명령어들(116)을 포함한다. 이에 따라, 도 3에서의 계층 다이어그램들로서 표현되는 바와 같이 공통 컴퓨팅 소프트웨어 아키텍처에 대한 일반적인 설명이 제공된다. 하드웨어 예들과 같이, 여기서 논의되는 소프트웨어 아키텍처는 어떠한 방식으로든 배타적인 것으로 의도되지 않고, 오히려 예시적인 것으로 의도된다. 소프트웨어 개발자들이 얼마간 상이한 방식들로 표현하는 경향이 있는 계층 유형 다이어그램들에 대해 특히 그러하다. 이 경우에, 설명은 O/S 커널(310)로 시작하는 계층들로 시작되며, 따라서 하위 레벨 소프트웨어 및 펌웨어가 예시로부터는 생략되었지만, 의도된 실시예들로부터는 생략되지 않았다. 여기서 이용되는 표기법은 일반적으로 계층에 보여지는 소프트웨어 요소들이 아래의 계층들로부터의 리소스들을 사용하고 위의 계층들에 서비스들을 제공한다는 것을 암시하도록 의도되어 있다. 그렇지만, 실제로, 특정 소프트웨어 요소의 모든 컴포넌트들은 완전히 그 방식으로 거동하는 것은 아닐 수 있다.
소프트웨어에 관해 이들에 주의하면서, 도 3을 참조하면, 계층(310)은 보호된 환경에서 코어 O/S 기능들을 제공하는 O/S 커널이다. O/S 커널 위에는, 디스크 및 통신 액세스와 같은, 기능 서비스들을 위의 계층들에 제공하는 O/S 코어 서비스들 계층(320)이 있다. 계층(330)은 오픈 GL 라이브러리(332)와 유사한 애플리케이션 및 프라이버시에 민감한 리소스들(334)의 일반적인 상대적 위치를 보여주기 위해 삽입되어 있다. 본 명세서에 사용되는 바와 같이, 프라이버시에 민감한 리소스들(334)은 프레임워크의 액세스 제어 시스템이 액세스를 관리하는 시스템 리소스들의 스코프(scope)를 포함한다. 설명된 기법의 경우, 애셋들(예를 들면, 사진들 또는 비디오들, 연락처 항목들, 또는 캘린더 항목들)을 갖는 프라이버시에 민감한 리소스(334)(예를 들면, 사진 라이브러리, 연락처, 또는 캘린더)에 대한 액세스는 전체 리소스 레벨보다는 애셋 또는 애셋 서브세트 레벨에서 관리된다. 계층(340)은 전형적으로 다수의 계층, 즉 애플리케이션 프레임워크들 및 애플리케이션 서비스들로 표현되는 기능들의 병합(amalgamation)이다. 논의의 목적으로, 이러한 계층들은, 여기서 계층(350)으로서 도시된, 최상위 계층에 존재하는 애플리케이션 프로그램들에 대한 고레벨 및 종종 기능적 지원을 제공할 수 있다. 상위 계층(350)에 있는 예시적인 애플리케이션 프로그램들은 제3자 애플리케이션(351), 사진 애플리케이션(352), 금융 애플리케이션(353), 영화 애플리케이션(354), 및 다른 제3자 애플리케이션(355)을 포함한다. 도 3의 예에서, 사진 애플리케이션(352), 금융 애플리케이션(353), 및 영화 애플리케이션(354)은 (제3자 애플리케이션보다는) 프라이버시에 민감 리소스들(334)에 액세스하기 위한 애셋 액세스를 요청할 필요가 없는 호스트 애플리케이션들의 예들이다. 다른 예시적인 실시예들에서, 최상위 계층(350)에 있는 애플리케이션 프로그램들은 추가적인 애플리케이션 프로그램들을 포함하고/하거나 표시된 애플리케이션 프로그램들 중 하나 이상을 생략한다.
일부 예들에서, 애셋 프라이버시 관리 동작을 제공하는 데 사용되는 액세스 제어 시스템은 액세스 요청을 사용자가 알고 있는(즉, 상호작용하는) 엔티티로부터 온 것으로 본다. 전형적으로, 제3자 애플리케이션들(351 및 355)은 "앱 스토어"로부터 "앱들"이다. 다른 경우들에, 제3자 애플리케이션들(351 및 355) 각각은 Swift 프로그래밍 언어 개발 환경의 일부인 Swift Playground일 수 있다. 이러한 시나리오에서, 제3자 애플리케이션은 최종 사용자가 설치하고, 상호작용하며, 삭제할 수 있는 이름 또는 아이덴티티(identity)를 갖는 제3자 엔티티이다.
항목(360)은 본 명세서에서 논의된 애셋 프라이버시 관리 기법들을 수행할 수 있는 애셋 프라이버시 관리 인터페이스 명령어들 또는 소프트웨어(예를 들면, 도 1 및 도 2에서의 애셋 프라이버시 관리 인터페이스 명령어들(116))의 시스템 아키텍처 내에서의 일반적인 상대적 위치를 보여주도록 의도되어 있다. 애플리케이션 프레임워크들과 프라이버시에 민감한 리소스들(데이터베이스 및 미디어) 경계 사이에 애셋 제어 시스템 추상화가 시행된다. 환언하면, 애플리케이션 프레임워크와 임의의 악의적인 제3자가 정책을 회피할 수 없도록 보장하기 위해 제한된 라이브러리 정책의 시행이 적용되는 경우 사이에 프로세스 경계가 있다. 특히, 일부 실시예들에서, 본 명세서에서 논의되는 애셋 프라이버시 관리 기법들은 애플리케이션 프로그래밍 인터페이스의 사용을 통해 프레임워크 소프트웨어에 의해 수행될 수 있다. 특정 실시예들에서, 애플리케이션 프로그래밍 인터페이스(API)를 통해 액세스 가능한 프레임워크 소프트웨어(또는 다른 소프트웨어)는 애셋 프라이버시 관리 트리거들을 식별하고 본 명세서에 기술된 바와 같이 제한된 애셋 액세스에 관련된 옵션들을 제공할 수 있다. 물론, 애플리케이션 프로그램은 또한 프레임워크의 도움 없이 동일한 기능을 수행할 수 있다. 게다가, 서버 측에서, 본 명세서에 기술된 특정 실시예들은 서버 애플리케이션 레벨 소프트웨어와 데이터베이스 소프트웨어 - 어느 하나가 어쩌면 프레임워크들 및/또는 다양한 리소스 모듈들을 포함함 - 의 조합을 사용하여 구현될 수 있다. 일부 실시예들에서, 서버들은 휴대용 디바이스들에 의해 애셋 프라이버시 관리 동작들을 수행하기 위해 네트워크를 통해 액세스될 수 있다.
일부 예들에서, 애셋 프라이버시 관리 명령어들 또는 소프트웨어(116)는 도 4에 나타낸 바와 같이 사진 라이브러리 프라이버시 관리 시나리오(400)의 일부이다. 도 4의 예에서, 사진 라이브러리 프라이버시 관리 시나리오(400)는 클라우드 기반 사진들(예를 들면, 최종 사용자 디바이스로부터 사용자 계정으로 업로드된 사진들) 및/또는 로컬 사진 라이브러리에 대응하는 사진 라이브러리(402)를 포함하는데, 여기서 사진 라이브러리(402)는 사진 라이브러리 인터페이스(404)를 통해 액세스 가능하다. 사진 라이브러리 인터페이스(404)(예를 들면, Apple Inc.로부터의 PhotoKit 인터페이스)는 최종 사용자 디바이스 상의 사진 애플리케이션(예를 들면, 도 3에서의 사진 애플리케이션(352))에 대한 사진 편집 확장들을 빌드하는 것을 지원하는 클래스들을 제공한다. 상이한 운영 체제들(예를 들면, iOS®, macOS®, 및 tvOS® 운영 체제, 이들 중 iOS는 Cisco Technology Inc.의 등록 상표이고, macOS 및 tvOS는 Apple Inc.의 등록 상표들임)에 대해, 사진 라이브러리 인터페이스(404)는 또한 사진 애플리케이션에 의해 관리되는 사진 및 비디오 애셋들에 대한 직접 액세스를 제공한다. 사진 라이브러리 인터페이스(404)에 의해 처리되는 예시적인 동작들(410)은 디스플레이 및 재생을 위해 사진 라이브러리(402)의 애셋들을 페칭 및 캐싱하는 것, 이미지 및 비디오 콘텐츠를 편집하는 것, 또는 앨범들 또는 공유 앨범들과 같은 애셋 컬렉션들을 관리하는 것을 포함한다. 사진 라이브러리 인터페이스(404)에 의해 지원되는 예시적인 프로젝트들(408)은 인쇄, 슬라이드쇼, 도서, 캘린더, 축하 카드, 및 벽 꾸미기를 포함한다.
도 4의 사진 라이브러리 프라이버시 관리 시나리오(400)에서, 제3자 애플리케이션(406)이 나타내어져 있으며, 여기서 제3자 애플리케이션(406)은 애셋 액세스 요청들(412) 및/또는 관련 통신들을 사진 라이브러리 인터페이스(404)에 제출할 수 있다. 여기에 예시된 제3자 애플리케이션(406)이 대안적으로 제3자 웹사이트, 소셜 네트워크, 또는 다른 온라인 플랫폼을 포함할 수 있음이 이해될 것이다. 사진 라이브러리 인터페이스(404)는 애셋 프라이버시 관리 명령어들 또는 소프트웨어(116)에 기초하여 그러한 요청들에 대한 응답(414)을 제공할 수 있다. 제안된 실시예들에서, 애셋 프라이버시 관리 명령어들 또는 소프트웨어(116)는 제한된 애셋 액세스 옵션을 지원하며, 여기서 사진 라이브러리(402) 내의 사진들 또는 비디오들의 서브세트는 사용자 선택에 기초하여 제3자 애플리케이션(406)에 의한 사용에 대해 인가된 것으로 정의된다. 일부 예들에서, 사용자는, 예를 들면, 상이한 애셋 프라이버시 관리 트리거들에 응답하여 전체 애셋 액세스 옵션, 애셋 액세스 금지 옵션, 및 제한된 애셋 액세스 옵션 중에서 선택할 수 있다. 도 4의 사진 라이브러리 프라이버시 관리 시나리오(400)에서, 사진 라이브러리(402)에는 제한된 라이브러리 정책이 적용된다. 추가의 명확화를 위해, 사진 라이브러리 인터페이스(404)는 제3자 프로세스에서 인스턴스화되고, 사진 라이브러리(402)는 프라이버시에 민감한 리소스들의 애셋들에 대한 액세스를 관리하는 아웃 오브 프로세스 서비스(out of process service)에서 실행된다. 제한된 라이브러리 정책들은 이러한 아웃 오브 프로세스 사진 서비스에서 시행된다.
도 5 내지 도 8은 본 개시의 일부 실시예들에 따른, 애셋 프라이버시 관리 방법들을 도시하는 플로차트이다. 도 5의 애셋 프라이버시 관리 방법(500)에서, 블록(505)에서 제3자 애플리케이션에 관련된 애셋 프라이버시 관리 트리거가 식별된다. 예시적인 애셋 프라이버시 관리 트리거들은 제한된 애셋 액세스 옵션을 포함하도록 운영 체제의 업데이트 이후에 최종 사용자 디바이스를 재부팅하는 것, 제3자 애플리케이션으로부터 애셋 프라이버시 관리 요청을 수신하는 것, 제3자 애플리케이션으로부터 애셋 액세스 요청을 수신하는 것, 제3자 애플리케이션을 처음으로 설치하거나 사용하는 것, 미리 결정된 양의 시간 동안 제3자 애플리케이션을 사용하는 것, 또는 제3자 애플리케이션에 관련된 운영 체제 애셋 관리 설정을 선택하는 것을 포함한다.
애셋 프라이버시 관리 트리거를 식별하는 것에 응답하여, 블록(510)에서 사용자가 제한된 애셋 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스가 디스플레이된다. 일부 예들에서, 프라이버시 선택 인터페이스는 사용자가 전체 애셋 액세스 옵션, 애셋 액세스 금지 옵션, 및 제한된 애셋 액세스 옵션 중에서 선택할 수 있게 한다. 제한된 애셋 액세스 옵션이 선택되는 것에 응답하여, 블록(515)에서 애셋 선택 인터페이스가 디스플레이되고, 여기서 애셋 선택 인터페이스는 사용자 선택에 기초하여 애셋 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된다. 최종 사용자 디바이스의 예시적인 애셋들은 사진 라이브러리 내의 사진들 또는 비디오들, 마이크로폰, 카메라, 및 오디오 레코딩 라이브러리를 포함한다. 상이한 예들에서, 애셋 서브세트는 폴더 기반 정의, 데이터 기반 정의, 또는 콘텐츠 기반 정의를 사용하여 정의된다. 다른 서브세트 정의들이 가능하며, 심지어 이미지 분석(예를 들면, 얼굴 인식), 부정적 정의(예를 들면, 특정 유형, 날짜, 또는 폴더의 사진들을 포함하지 않음), 또는 동적 서브세트들(예를 들면, 새로운 사진들이 폴더에 추가되더라도, 주어진 폴더 내의 모든 사진들을 포함함)에 의존할 수 있다. 일부 예들에서, 블록들(510 및 515)의 동작들은 사용자가 하나의 동작에서 액세스의 해당 스코프를 선택하고 애셋 서브세트를 선택할 수 있게 하는 하나의 UI에 의해 제공된다. 예를 들어, 선택된 애셋들의 비어 있는 세트는 거부로서 해석될 수 있고, 선택된 애셋들의 부분 세트는 제한된 애셋 액세스로 해석될 수 있으며, 모든 애셋들이 선택된 것은 전체 액세스로서 해석될 수 있다. 제3자 애플리케이션에 의한 최종 사용자 디바이스의 애셋들에 액세스하기 위한 요청에 응답하여, 블록(520)에서 정의된 애셋 서브세트에 대한 액세스가 제3자 애플리케이션에 제공된다. 일부 예들에서, 블록(520)의 동작들은 애셋 서브세트에 대한 정의를, 복수의 정의된 애셋 서브세트들 각각과 복수의 각자의 제3자 애플리케이션 식별자들 각각을 연관시키는 인덱싱된 정보를 저장하는 애셋 프라이버시 관리 데이터베이스에 추가하는 것을 포함한다. 그러한 경우에, 제3자 애플리케이션에 의한 최종 사용자 디바이스의 애셋들에 액세스하기 위한 요청을 식별하는 것에 응답하여, 블록(520)의 동작들은 데이터베이스 내의 인덱싱된 정보를 사용하여 정의된 애셋 서브세트에 대한 액세스만을 제3자 애플리케이션을 제공하는 것을 포함한다.
애셋 프라이버시 관리 방법(500)에 대한 다른 옵션들은 제3자 애플리케이션에 대해 투명한 동작들을 사용하는 것을 포함한다. 예를 들어, 블록(510)에서의 프라이버시 선택 인터페이스의 동작들 및 블록(515)에서의 사진 선택 인터페이스의 동작들은 제3자 애플리케이션에 투명할 수 있다. 본 명세서에서 사용되는 바와 같이, "투명"이란 제3자 애플리케이션이 주어진 인터페이스 또는 관련 동작들과 관련하여 인식하지 못하는 것을 지칭한다. 다른 예들에서, 제3자 애플리케이션은 적어도 사용자가 제한된 애셋 액세스 옵션을 선택했다는 것을 인식한다. 다른 옵션은 애셋 프라이버시 정책이 제3자 애플리케이션과 이미 확립된 후에 애셋 프라이버시 관리 트리거를 재설정하는 것 또는 새로운 애셋 프라이버시 관리 트리거를 다른 방식으로 식별하는 것을 포함한다. 일 예에서, 애셋 프라이버시 관리 데이터베이스가 마지막으로 업데이트된 후에 새로운 애셋들이 추가되었음을 식별하는 것에 응답하여, 제3자 애플리케이션에 의한 최종 사용자 디바이스의 애셋들에 액세스하기 위한 새로운 요청은 애셋 프라이버시 관리 트리거로서 해석된다. 원하는 바에 따라, 새로운 애셋들이 이용 가능해질 때 각각의 제3자 애플리케이션에 대해 애셋 프라이버시 관리 동작들이 반복된다.
제3자 애플리케이션과의 전형적인 사용자 상호작용은 최종 사용자 디바이스 상에 제3자 애플리케이션을 설치하는 것 및 제3자 애플리케이션을 실행하는 것을 포함한다. 다른 옵션은 웹사이트 및 제3자 애플리케이션과 연관된 관련 특징들에 액세스하기 위해 최종 사용자 디바이스를 사용하는 것이다. 어느 경우든지, 최종 사용자 디바이스는 애셋들(예를 들면, 사진 라이브러리, 마이크로폰, 카메라, 오디오 레코딩 라이브러리)을 가지며, 제3자 애플리케이션은 애셋들에 액세스하는 특징들을 포함한다. 최종 사용자 디바이스의 애셋들에 액세스할 제3자 애플리케이션의 예시적인 특징들은 원격회의 특징들, 사진 편집 특징들, 소셜 미디어 특징들, 및 온라인 스토리지 특징들을 포함한다.
본 개시의 실시예들은 제한된 애셋 액세스 옵션을 추가하는 것에 의해 개선된 애셋 프라이버시 관리 옵션들을 최종 사용자 디바이스의 사용자에게 제공하고자 한다. 일부 예들에서, 제한된 애셋 액세스 옵션은 최종 사용자 디바이스의 운영 체제를 업데이트하는 것에 의해 추가된다. 일단 운영 체제가 업데이트되면, 본 명세서에 기술된 바와 같이 애셋 프라이버시 관리 트리거들에 응답하여 제한된 애셋 액세스 옵션이 선택 가능하다. 일단 애셋 프라이버시 관리 트리거가 식별되면, 사용자가 주어진 제3자 애플리케이션에 대한 제한된 애셋 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스가 디스플레이된다. 일부 예들에서, 프라이버시 선택 인터페이스는 사용자가 전체 애셋 액세스(예를 들면, 사진 라이브러리 내의 모든 사진들에 대한 액세스) 옵션, 애셋 액세스 금지(예를 들면, 사진 라이브러리 내의 사진들에 대한 액세스 금지) 옵션, 및 제한된 애셋 액세스(예를 들면, 사진 라이브러리 내의 일부 사진들에 대한 액세스) 옵션 중에서 선택할 수 있게 한다.
제한된 애셋 액세스 옵션이 선택될 때, 사용자가 애셋 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의할 수 있게 하는 애셋 선택 인터페이스가 디스플레이된다. 그 후에, 제3자 애플리케이션은 제3자 애플리케이션에 대해 인가된 것으로 정의된 애셋 서브세트에 액세스할 수 있다. 원하는 바에 따라, 애셋 프라이버시 관리가 동일한 제3자 애플리케이션에 대해 여러 번 수행된다.
제안된 애셋 프라이버시 관리 기법들에 대한 고려사항들 중 하나는 상이한 제3자 애플리케이션 시나리오들을 처리하는 것을 포함한다. 일부 시나리오들에서, 제3자 애플리케이션은 최종 사용자 디바이스와 통신하기 위해 레거시 요청 인터페이스를 사용하며, 여기서 제3자 애플리케이션은 최종 사용자 디바이스와 애셋 프라이버시 정책을 이미 마련해 둘 수 있거나 그렇지 않을 수 있다. 그러한 시나리오는 도 6의 애셋 프라이버시 관리 방법(600)에 나타내어져 있다. 애셋 프라이버시 관리 방법(600)의 경우, 제3자 애플리케이션은 최종 사용자 디바이스의 사진 라이브러리(예를 들면, 도 4 참조)의 사진들에 대한 액세스를 요청하기 위해 레거시 요청 인터페이스를 사용한다. 그러한 경우에, 제한된 애셋 액세스 옵션을 갖는 업데이트된 운영 체제의 설치는 이전의 사진 라이브러리 프라이버시 관리 정책에 우선하도록 애셋 프라이버시 관리 트리거로서 취급될 수 있다.
도시된 바와 같이, 애셋 프라이버시 관리 방법(600)은 블록(605)에서 제3자 애플리케이션으로부터 사진 라이브러리에 액세스하기 위한 요청을 수신하는 단계를 포함한다. 블록(610)에서, 사진 라이브러리 프라이버시 관리가 트리거된다. 블록(615)에서, 프라이버시 선택 인터페이스가 디스플레이되고, 사용자 선택이 수신된다. 블록(620)에서, 블록(615)에서 사용자가 액세스 거부 옵션을 선택하는 경우 제3자 애플리케이션에 의한 사진 라이브러리에 대한 액세스가 거부된다. 블록(625)에서, 블록(615)에서 사용자가 전체 액세스 옵션을 선택하는 경우 사진 라이브러리에 대한 전체 액세스가 허용된다. 사용자가 제한된 액세스 옵션을 선택하는 경우, 블록(630)에서 사진 선택 인터페이스가 디스플레이되고, 사용자 선택에 기초하여 사진 라이브러리 내의 사진 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된다. 블록(635)에서, 정의된 사진 서브세트에 대한 액세스가 제공된다. 애셋 프라이버시 관리 방법(600)에서, 블록들(615, 630 및 635)에서의 제한된 액세스 옵션의 사용 및 관련 동작들은 제3자 애플리케이션에 투명하다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 액세스가 허용되거나 허용되지 않고, 제3자 애플리케이션에 이용 가능한 사진들을 제한하기 위해 사용되는 서브세트 정의들이 제3자 애플리케이션에 알려지지 않는다.
일부 예들에서, 애셋 프라이버시 관리 방법(600)은 제3자 애플리케이션에 의한 애셋들에 액세스하기 위한 요청을 애셋 프라이버시 관리 트리거로서 식별하는 것을 포함하며, 여기서 최종 사용자 디바이스는 사용자 선택에 기초하여 전체 액세스 또는 액세스 금지가 인가되는지를 나타내는 값을 반환하도록 구성된다. 애셋 프라이버시 관리 트리거에 응답하여, 애셋 프라이버시 관리 옵션들을 선택하기 위한 프라이버시 선택 인터페이스 및 (즉, 제한된 애셋 옵션이 선택되는 경우) 제한된 애셋 서브세트를 정의하기 위한 애셋 선택 인터페이스가 레거시 요청 인터페이스를 사용하여 제3자 애플리케이션에 투명한 방식으로 사용된다. 일 예에서, 제3자 애플리케이션이 최종 사용자 디바이스의 사진 라이브러리에 대한 전체 액세스를 이전에 부여받았더라도, 본 명세서에 기술된 바와 같이 프라이버시 선택 인터페이스 및 사진 선택 인터페이스 동작들을 사용하여 사진 라이브러리에 대한 액세스가 제한될 수 있다. 이 예에서, 제한된 사진 라이브러리 옵션이 사용자에 의해 선택되고 관련 동작들은 제3자 애플리케이션에 대해 사진 라이브러리에 대한 가상 액세스 정책을 결과한다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 전체 액세스가 부여되고, 여기서 사진 라이브러리는 가상 액세스 정책에 의해 사용자에 의해 정의된 사진 서브세트로 제한된다.
다른 시나리오들에서, 제3자 애플리케이션은 제3자 애플리케이션이 제한된 애셋 액세스 옵션의 인식 없이 최종 사용자 디바이스의 사진 라이브러리 내의 사진들에 대한 액세스를 요청할 수 있게 하는 업데이트된 요청 인터페이스 및 옵트 아웃 옵션을 사용한다. 환언하면, 레거시 이진 표시자들(전체 액세스 또는 액세스 금지)이 최종 사용자 디바이스와 제3자 애플리케이션 사이의 통신을 위해 사용된다. 따라서, 제3자 애플리케이션은 제한된 액세스 옵션이 사용되는 때를 나타내지 않는 최종 사용자 디바이스로부터의 응답(전체 액세스 또는 액세스 금지)을 수신할 것이다. 업데이트된 요청 인터페이스 및 옵트 아웃 옵션 시나리오의 경우, 제한된 애셋 액세스 옵션을 갖는 업데이트된 운영 체제의 설치는 제3자 애플리케이션과의 임의의 이전의 사진 라이브러리 프라이버시 관리 정책에 우선하는 애셋 프라이버시 관리 트리거로서 취급될 수 있다. 일부 예들에서, 업데이트된 운영 체제의 설치는 관련된 제3자 애플리케이션 요청 없이 제한된 애셋 액세스 옵션 및 관련 동작들과 같은 새로운 특징들의 도입을 결과한다. 그러한 경우에, 사용자는 이용 가능한 운영 체제 설정 또는 새로운 특징 도입 프로세스를 사용하여 하나 이상의 제3자 애플리케이션에 대해 사용하기 위한 제한된 애셋 액세스 옵션을 선택할 수 있다. 후속적으로, 사용자에 의해 선택되는 사진 라이브러리 프라이버시 관리 설정(제3자 애플리케이션에 대한 제한된 액세스 옵션 및 관련 서브세트 정의들을 포함함)은 제3자 애플리케이션으로부터의 후속하는 사진 라이브러리 액세스 요청들에 응답하여 사용될 것이다.
업데이트된 요청 인터페이스 및 옵트 아웃 옵션에 기초한 시나리오(레거시 이진 표시자들이 최종 사용자 디바이스와 제3자 애플리케이션 사이의 통신에 사용되는 경우)는 도 7의 애셋 프라이버시 관리 방법(700)에 나타내어져 있다. 도시된 바와 같이, 애셋 프라이버시 관리 방법(700)은 블록(705)에서 제3자 애플리케이션으로부터 사진 라이브러리에 액세스하기 위한 요청을 수신하는 단계를 포함한다. 요청이 수신될 때 사진 라이브러리 프라이버시 관리가 트리거되지 않는 경우(결정 블록(710)), 블록(740)에서 기존의 사진 라이브러리 프라이버시 관리 선택 또는 정책이 사용된다. 예를 들어, 제한된 액세스 옵션 및 관련 정책들이 이용 가능한 운영 체제 설정을 통해 사용자에 의해 선택되는 경우 그러할 수 있다. 요청이 수신될 때 사진 라이브러리 프라이버시 관리가 트리거되는 경우(결정 블록(710)), 블록(715)에서 프라이버시 선택 인터페이스가 디스플레이되고 사용자 선택이 수신된다. 블록(720)에서, 블록(715)에서 사용자가 액세스 거부 옵션을 선택하는 경우 제3자 애플리케이션에 의한 사진 라이브러리에 대한 액세스가 거부된다. 블록(725)에서, 블록(715)에서 사용자가 전체 액세스 옵션을 선택하는 경우 사진 라이브러리에 대한 전체 액세스가 허용된다. 사용자가 제한된 액세스 옵션을 선택하는 경우, 사진 선택 인터페이스가 디스플레이되고, 블록(730)에서 사용자 선택에 기초하여 사진 라이브러리 내의 사진 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된다. 블록(735)에서, 정의된 사진 서브세트에 대한 액세스가 제공된다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 액세스가 허용되거나 허용되지 않고, 제3자 애플리케이션에 이용 가능한 사진들을 제한하기 위해 사용되는 서브세트 정의들이 제3자 애플리케이션에 알려지지 않는다.
다른 시나리오들에서, 제3자 애플리케이션은 제3자 애플리케이션이 사진 라이브러리 프라이버시 관리 요청들을 최종 사용자 디바이스에 제출할 수 있게 하고 전체 액세스, 제한된 액세스, 또는 액세스 금지가 부여되는지를 나타내는 비이진 표시를 최종 사용자 디바이스로부터 수신할 수 있게 하는 업데이트된 요청 인터페이스 및 옵트인 옵션을 사용한다. 그러한 시나리오들에서, 제3자 애플리케이션은 제한된 액세스 옵션이 사용자에 의해 선택되는 때를 알게 될 것이고, 사용자가 제한된 액세스 옵션과 연관된 애셋 서브세트를 업데이트할 수 있게 하기 위한 사진 라이브러리 프라이버시 관리 요청들을 제출할 수 있다. 제3자 애플리케이션이 제한된 액세스 옵션이 사용되고 있다는 표시를 수신할지라도 그리고 제3자 애플리케이션이 사진 라이브러리 프라이버시 관리 요청을 제출할 수 있을지라도, 애셋 프라이버시 관리 옵션들을 선택하기 위한 프라이버시 선택 인터페이스 및 (제한된 애셋 옵션이 선택되는 경우) 제한된 애셋 서브세트를 정의하기 위한 애셋 선택 인터페이스는 여전히 제3자 애플리케이션에 투명한 방식으로 사용된다. 일 예에서, 제3자 애플리케이션이 최종 사용자 디바이스의 사진 라이브러리에 대한 전체 액세스를 이전에 부여받았더라도, 본 명세서에 기술된 바와 같이 프라이버시 선택 인터페이스 및 사진 선택 인터페이스 동작들을 사용하여 사진 라이브러리에 대한 액세스가 제한될 수 있다. 원하는 바에 따라, 제한된 사진 라이브러리 옵션이 사용자에 의해 선택되고 관련 동작들은 제3자 애플리케이션에 대해 사진 라이브러리에 대한 가상 액세스 정책을 결과한다. 제3자 애플리케이션의 관점에서, 사진 라이브러리의 프라이버시 관리는 업데이트된 비이진 옵션들(예를 들면, 전체 액세스, 제한된 액세스, 또는 액세스 금지)에 기초한다. 제한된 액세스 옵션이 사용자에 의해 선택되는 경우, 제3자 애플리케이션에 보이는 사진들은, 가상 액세스 인터페이스에 의해, 사진 선택 인터페이스에 의해 정의된 사진 서브세트로 제한될 것이다.
업데이트된 요청 인터페이스 및 옵트인 시나리오는 도 8의 애셋 프라이버시 관리 방법(800)에 나타내어져 있다. 도시된 바와 같이, 애셋 프라이버시 관리 방법(800)은 블록(805)에서 제3자 애플리케이션으로부터 사진 라이브러리 프라이버시 관리 요청 또는 사진 라이브러리 액세스 요청을 수신하는 단계를 포함한다. 블록(805)으로부터의 요청이 수신될 때 사진 라이브러리 프라이버시 관리가 트리거되지 않는 경우(결정 블록(810)), 블록(840)에서 기존의 사진 라이브러리 프라이버시 관리 선택 또는 정책이 사용된다. 예를 들어, 제한된 액세스 옵션 및 관련 정책들이 이용 가능한 운영 체제 설정을 통해 사용자에 의해 선택되는 경우 그러할 수 있다. 블록(815)에서, 프라이버시 선택 인터페이스가 디스플레이되고, 사용자 선택이 수신된다. 블록(820)에서, 블록(815)에서 사용자가 액세스 거부 옵션을 선택하는 경우 제3자 애플리케이션에 의한 사진 라이브러리에 대한 액세스가 거부된다. 블록(825)에서, 블록(815)에서 사용자가 전체 액세스 옵션을 선택하는 것에 응답하여 사진 라이브러리에 대한 전체 액세스가 허용된다. 블록(830)에서 사진 선택 인터페이스가 디스플레이되고, 사용자 선택에 기초하여 사진 라이브러리 내의 사진 서브세트를 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된다. 블록(835)에서, 정의된 사진 서브세트에 대한 액세스가 제공된다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 액세스는 허용되거나, 제한되거나, 허용되지 않는다(적어도 표시가 제공된다). 또한, 제3자 애플리케이션은 사진 라이브러리 프라이버시 관리 요청을 할 때 사용자에게 메시지를 제공하도록 허용될 수 있다. 그렇지만, 제3자 애플리케이션에 이용 가능한 사진들을 제한하는 데 사용되는 서브세트 정의들은 제3자 애플리케이션에는 알려지지 않을 것이다. 제한된 액세스 옵션이 선택될 때, 사진 라이브러리에 대한 가상 액세스 정책이 제3자 애플리케이션에 대해 확립된다. 제3자 애플리케이션의 관점에서, 사진 라이브러리에 대한 제한된 액세스가 부여되고, 여기서 가상 액세스 정책의 세부 사항은 제3자 애플리케이션에 알려지지 않는다.
일부 예들에서, 본 명세서에 기술된 바와 같은 제한된 액세스 옵션을 갖는 애셋 프라이버시 관리는, 제3자 애플리케이션에 의해 명시된 프라이버시에 민감한 리소스에 대한 인가 권한을 결정하는, 액세스 제어 시스템에 의해 제공될 수 있다. 인가 권한은 미지(Unknown) 상태, 거부(Deny) 상태, 허용(Allow) 상태, 또는 제한(Limited) 상태를 나타낼 수 있다. 미지 상태는 액세스 제어 시스템이 튜플{제3자 애플리케이션, 프라이버시에 민감한 리소스}에 대한 기존의 기록을 갖지 않는 상태를 지칭한다. 거부 상태는 사용자가 프라이버시에 민감한 리소스에 대한 제3자 애플리케이션의 액세스를 허용하는 데 동의하지 않은 상태를 지칭한다. 허용 상태는 사용자가 미래의 임의의 시점에서의 프라이버시에 민감한 리소스 및 그의 애셋 전부에 대한 제3자 애플리케이션의 액세스를 허용하는 데 동의한 상태를 지칭한다. 제한 상태는 사용자가 프라이버시에 민감한 리소스의 애셋 서브셋에 대한 제3자 애플리케이션의 액세스를 허용하는 데 동의한 상태를 지칭한다.
일부 예들에서, 액세스 제어 시스템은 해당 데이터를 필요로 하는 액세스 정책들을 구현하기 위해, 버전 정보, 날짜 타임스탬프 등과 같은, 튜플{제3자 애플리케이션, 프라이버시에 민감한 리소스}와 연관된 추가적인 정보를 유지할 수 있다. 또한, 액세스 제어 시스템은 튜플{제3자 애플리케이션, 프라이버시에 민감한 리소스}에 대한 인가 권한을 애셋 관리 시스템에 제공하고, 애셋 관리 시스템은 이어서 이 권한을 사용하여 애셋 관리 시스템의 제어 하에서 애셋들에 대한 액세스 정책을 구현할 수 있다.
이러한 하드웨어 및 소프트웨어 설명들에 의해 어떠한 제한도 의도되지 않으며, 본 명세서에서의 발명들의 다양한 실시예들은 Mac, PC, PDA, 전화, 서버, 또는 심지어 임베디드 시스템과 같은 임의의 방식의 컴퓨팅 디바이스를 포함할 수 있다.
이상의 설명이 제한적인 것이 아니라 예시적인 것으로 의도되어 있음이 이해되어야 한다. 이 자료는 본 기술 분야의 통상의 기술자가 청구된 바와 같은 본 발명을 제조 및 사용할 수 있게 하기 위해 제시되었고 특정 실시예들과 관련하여 제공되며, 그의 변형들이 본 기술 분야의 통상의 기술자에게 즉각 명백할 것이다(예를 들면, 개시된 실시예들 중 다수는 서로 조합하여 사용될 수 있다). 또한, 본 명세서에서 식별된 동작들 중 일부는 상이한 순서들로 수행될 수 있음을 이해할 것이다. 그러므로, 본 발명의 범주는 첨부된 특허청구범위를 참조하여, 이러한 청구범위의 권리를 갖는 등가물들의 전체 범주에 따라 결정되어야 한다. 첨부된 청구범위에서, 용어들 "포함하는(including)" 및 "여기서(in which)"는 각자의 용어들 "포함하는(comprising)" 및 "여기서(wherein)"의 평이한 영어 등가물들로서 사용된다.

Claims (25)

  1. 최종 사용자 디바이스의 애셋들에 대한 제3자 애플리케이션 액세스를 관리하는 방법으로서,
    제3자 애플리케이션에 관련된 상기 최종 사용자 디바이스 상의 애셋 프라이버시 관리 트리거를 식별하는 단계;
    상기 애셋 프라이버시 관리 트리거를 식별하는 것에 응답하여, 사용자가 제한된 애셋 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스를 디스플레이하는 단계;
    상기 제한된 애셋 액세스 옵션이 선택되는 것에 응답하여, 애셋 라이브러리의 개별 애셋들을 디스플레이하고, 상기 애셋 라이브러리의 상기 디스플레이된 개별 애셋들의 서브세트의 사용자 선택에 기초하여 상기 최종 사용자 디바이스의 애셋 서브세트를 상기 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된 애셋 선택 인터페이스를 디스플레이하는 단계; 및
    상기 제3자 애플리케이션에 의한 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 요청에 응답하여, 상기 정의된 애셋 서브세트에 대한 액세스만을 상기 제3자 애플리케이션에 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 프라이버시 선택 인터페이스는 상기 사용자가 전체 애셋 액세스 옵션, 애셋 액세스 금지 옵션, 및 상기 제한된 애셋 액세스 옵션 중에서 선택할 수 있게 하는, 방법.
  3. 제1항에 있어서, 상기 애셋 프라이버시 관리 트리거는 상기 사용자에 의한 운영 체제 설정 선택을 포함하는, 방법.
  4. 제1항에 있어서, 상기 애셋 프라이버시 관리 트리거는 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 제3자 애플리케이션 요청을 포함하는, 방법.
  5. 제4항에 있어서, 상기 프라이버시 선택 인터페이스 및 애셋 선택 인터페이스의 동작들은 상기 제3자 애플리케이션에 투명한, 방법.
  6. 제1항에 있어서, 상기 애셋 프라이버시 관리 트리거는 상기 사용자에 의한 애셋 프라이버시 관리를 초기화하기 위한 제3자 애플리케이션 요청을 포함하는, 방법.
  7. 제1항에 있어서, 상기 애셋 서브세트의 정의를, 복수의 정의된 애셋 서브세트들 각각과 각자의 제3자 애플리케이션 식별자들을 연관시키는 인덱싱된 정보를 저장하는 데이터베이스에 추가하는 단계를 추가로 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제3자 애플리케이션에 의한 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 상기 요청을 식별하는 단계; 및
    상기 데이터베이스 내의 상기 인덱싱된 정보를 사용하여 상기 정의된 애셋 서브세트에 대한 액세스만을 상기 제3자 애플리케이션에 제공하는 단계를 추가로 포함하는, 방법.
  9. 제7항에 있어서,
    상기 데이터베이스가 마지막으로 업데이트된 후에 새로운 애셋들이 추가되었음을 식별하는 것에 응답하여, 상기 제3자 애플리케이션에 의한 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 새로운 요청을 애셋 프라이버시 관리 트리거로서 해석하는 단계를 추가로 포함하는, 방법.
  10. 컴퓨터 판독 가능 매체로서, 실행될 때,
    제3자 애플리케이션에 관련된 애셋 프라이버시 관리 트리거를 식별하고;
    상기 애셋 프라이버시 관리 트리거를 식별하는 것에 응답하여, 사용자가 제한된 애셋 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스를 디스플레이하며;
    상기 제한된 애셋 액세스 옵션이 선택되는 것에 응답하여, 애셋 라이브러리의 개별 애셋들을 디스플레이하고, 상기 애셋 라이브러리의 상기 디스플레이된 개별 애셋들의 서브세트의 사용자 선택에 기초하여 최종 사용자 디바이스의 애셋 서브세트를 상기 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된 애셋 선택 인터페이스를 디스플레이하고;
    상기 제3자 애플리케이션에 의한 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 후속 요청에 응답하여, 상기 정의된 애셋 서브세트에 대한 액세스만을 상기 제3자 애플리케이션에 제공하도록 프로세서를 구성하는 명령어들을 포함하는, 컴퓨터 판독 가능 매체.
  11. 제10항에 있어서, 상기 명령어들은 전체 애셋 액세스 옵션, 애셋 액세스 금지 옵션, 및 상기 제한된 애셋 액세스 옵션을 포함하는 옵션들을 갖는 상기 프라이버시 선택 인터페이스를 디스플레이하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  12. 제10항에 있어서, 상기 명령어들은 상기 사용자에 의한 운영 체제 설정 선택을 상기 애셋 프라이버시 관리 트리거로서 식별하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  13. 제10항에 있어서, 상기 명령어들은 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 제3자 애플리케이션 요청을 상기 애셋 프라이버시 관리 트리거로서 식별하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  14. 제10항에 있어서, 상기 명령어들은 상기 제3자 애플리케이션에 투명한 방식으로 상기 프라이버시 선택 인터페이스 및 상기 애셋 선택 인터페이스를 디스플레이하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  15. 제10항에 있어서, 상기 명령어들은 상기 사용자에 의한 애셋 프라이버시 관리를 초기화하기 위한 제3자 애플리케이션 요청에 응답하여 상기 프라이버시 선택 인터페이스를 디스플레이하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  16. 제15항에 있어서, 상기 명령어들은, 복수의 정의된 애셋 서브세트들 각각과 각자의 제3자 애플리케이션 식별자들을 연관시키는 인덱싱된 정보를 저장하는 데이터베이스가 마지막으로 업데이트된 후에 새로운 애셋들이 추가되었음을 식별하는 것에 응답하여, 상기 제3자 애플리케이션에 의한 상기 최종 사용자 디바이스의 애셋들에 액세스하기 위한 새로운 요청을 애셋 프라이버시 관리 트리거로서 해석하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  17. 최종 사용자 디바이스의 애셋들에 대한 제3자 애플리케이션 액세스를 관리하는 시스템으로서,
    하나 이상의 프로세서;
    사진들을 캡처하도록 구성된 하나 이상의 카메라;
    상기 하나 이상의 프로세서에 대한 프로그램 명령어들을 저장하기 위한 메모리를 포함하고, 상기 명령어들은, 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    상기 캡처된 사진들에 기초한 사진 라이브러리를 유지하게 하고;
    제3자 애플리케이션에 관련된 사진 라이브러리 프라이버시 관리 트리거를 식별하게 하며;
    상기 사진 라이브러리 프라이버시 관리 트리거를 식별하는 것에 응답하여, 사용자가 제한된 사진 라이브러리 액세스 옵션을 선택할 수 있게 하는 프라이버시 선택 인터페이스를 디스플레이하게 하고;
    상기 제한된 사진 라이브러리 액세스 옵션이 선택되는 것에 응답하여, 상기 사진 라이브러리의 개별 사진들을 디스플레이하고, 상기 사진 라이브러리의 상기 디스플레이된 개별 사진들의 서브세트의 사용자 선택에 기초하여 상기 사진 라이브러리 내의 사진 서브세트를 상기 제3자 애플리케이션에 대해 인가된 것으로 정의하도록 구성된 사진 선택 인터페이스를 디스플레이하게 하며;
    상기 제3자 애플리케이션에 의한 상기 사진 라이브러리에 액세스하기 위한 후속 요청에 응답하여, 상기 정의된 사진 서브세트에 대한 액세스만을 상기 제3자 애플리케이션에 제공하게 하는, 시스템.
  18. 제17항에 있어서, 상기 명령어들은, 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 전체 사진 라이브러리 액세스 옵션, 사진 라이브러리 액세스 금지 옵션, 및 상기 제한된 사진 라이브러리 액세스 옵션을 포함하는 옵션들을 갖는 상기 프라이버시 선택 인터페이스를 디스플레이하게 하는, 시스템.
  19. 제17항에 있어서, 상기 명령어들은, 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 상기 사용자에 의한 운영 체제 설정 선택을 상기 사진 라이브러리 프라이버시 관리 트리거로서 식별하게 하는, 시스템.
  20. 제17항에 있어서, 상기 명령어들은, 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 상기 사진 라이브러리에 액세스하기 위한 제3자 애플리케이션 요청을 상기 사진 라이브러리 프라이버시 관리 트리거로서 식별하게 하는, 시스템.
  21. 제17항에 있어서, 상기 명령어들은, 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 상기 제3자 애플리케이션에 투명한 방식으로 상기 프라이버시 선택 인터페이스 및 상기 사진 선택 인터페이스를 디스플레이하게 하는, 시스템.
  22. 제17항에 있어서, 상기 명령어들은, 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 상기 사용자에 의한 사진 라이브러리 프라이버시 관리를 초기화하기 위한 제3자 애플리케이션 요청에 응답하여 상기 프라이버시 선택 인터페이스를 디스플레이하게 하는, 시스템.
  23. 제1항에 있어서, 전체 액세스 옵션, 제한된 액세스 옵션 또는 액세스 금지 옵션이 선택되는지를 나타내는 비이진 표시를 상기 최종 사용자 디바이스로부터 상기 제3자 애플리케이션으로 제공하는 단계를 더 포함하는, 방법.
  24. 제10항에 있어서, 상기 명령어들은 전체 액세스 옵션, 제한된 액세스 옵션 또는 액세스 금지 옵션이 선택되는지를 나타내는 비이진 표시를 상기 제3자 애플리케이션으로 제공하도록 상기 프로세서를 구성하는, 컴퓨터 판독 가능 매체.
  25. 제17항에 있어서, 상기 명령어들은, 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 전체 액세스 옵션, 제한된 액세스 옵션 또는 액세스 금지 옵션이 선택되는지를 나타내는 비이진 표시를 상기 제3자 애플리케이션으로 제공하게 하는, 시스템.
KR1020210074731A 2020-06-19 2021-06-09 최종 사용자 디바이스 애셋의 제3자 액세스 KR102516696B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/906,593 US11487890B2 (en) 2020-06-19 2020-06-19 Third-party access of end-user device assets
US16/906,593 2020-06-19

Publications (2)

Publication Number Publication Date
KR20210157329A KR20210157329A (ko) 2021-12-28
KR102516696B1 true KR102516696B1 (ko) 2023-03-30

Family

ID=75870491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210074731A KR102516696B1 (ko) 2020-06-19 2021-06-09 최종 사용자 디바이스 애셋의 제3자 액세스

Country Status (4)

Country Link
US (1) US11487890B2 (ko)
EP (1) EP3926988B1 (ko)
KR (1) KR102516696B1 (ko)
CN (1) CN113821806A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620329B2 (en) * 2020-06-19 2023-04-04 Apple Inc. Virtual photos library
CN114157711B (zh) * 2022-02-08 2022-04-26 北京微步在线科技有限公司 一种资产处置方法及装置
CN116028395B (zh) * 2022-06-07 2024-03-08 荣耀终端有限公司 控制电路、电子设备、硬件安全防护方法及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277601B1 (en) * 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
WO2020117302A1 (en) * 2018-12-03 2020-06-11 Google Llc Efficient control and/or linking of smart devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9467885B2 (en) 2010-11-08 2016-10-11 Qualcomm Incorporated Inter-frequency measurement control in a multi-carrier system
KR101788054B1 (ko) 2010-12-21 2017-10-19 엘지전자 주식회사 이동 단말기 및 이것의 모드 전환 제어 방법
EP2579487B1 (en) 2011-10-03 2014-05-21 ST-Ericsson SA Non-contiguous carrier aggregation
KR101379527B1 (ko) 2011-12-30 2014-03-28 인텔 코오퍼레이션 클라우드 기반 실시간 앱 프라이버시 대시보드
US9973505B2 (en) * 2015-01-14 2018-05-15 Samsung Electronics Co., Ltd. Method for controlling contents and electronic device thereof
KR102381993B1 (ko) 2015-01-14 2022-04-04 삼성전자주식회사 콘텐츠 제어를 위한 방법 및 전자 장치
US10791197B2 (en) * 2017-01-20 2020-09-29 Apple Inc. Managing access to media accounts

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277601B1 (en) * 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
WO2020117302A1 (en) * 2018-12-03 2020-06-11 Google Llc Efficient control and/or linking of smart devices

Also Published As

Publication number Publication date
CN113821806A (zh) 2021-12-21
US11487890B2 (en) 2022-11-01
EP3926988B1 (en) 2023-12-20
KR20210157329A (ko) 2021-12-28
EP3926988A1 (en) 2021-12-22
US20210397728A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
KR102516696B1 (ko) 최종 사용자 디바이스 애셋의 제3자 액세스
US9270678B2 (en) Mediating resource access based on a physical location of a mobile device
US10747890B2 (en) System and method of controlling access to content using an accessibility API
US20180164979A1 (en) Collaboration for network-shared documents
US9380456B1 (en) System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
US9697629B1 (en) System, method and computer product for user performance and device resolution settings
US9465596B2 (en) Cross system installation of web applications
US10623410B2 (en) Multi-level, distributed access control between services and applications
US20150237110A1 (en) Web-Based Interaction With A Local System
US9667703B1 (en) System, method and computer program product for generating remote views in a virtual mobile device platform
US9600662B2 (en) User configurable profiles for security permissions
US10073967B2 (en) Controlling distribution and use of a developer application in a network environment
US11956239B2 (en) Identity misconfiguration detection for role-based access control
US20190310882A1 (en) Multiple application instances in operating systems that utilize a single process for application execution
US10992713B2 (en) Method of and system for authorizing user to execute action in electronic service
US20230259548A1 (en) Virtual file library
CN118176505A (zh) 用于计算机器上的资源子集的安全视觉和计算边界
EP3379442B1 (en) System and method of controlling access to content using an accessibility api
US20240187414A1 (en) Data Segregation For Partially Supervised Computer
US20240184901A1 (en) Privacy Border For Partially Supervised Computer
WO2024114211A1 (zh) 权限管理方法及相关产品

Legal Events

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