KR20220051841A - 스마트 디바이스 관리 리소스 선택기 - Google Patents

스마트 디바이스 관리 리소스 선택기 Download PDF

Info

Publication number
KR20220051841A
KR20220051841A KR1020227008454A KR20227008454A KR20220051841A KR 20220051841 A KR20220051841 A KR 20220051841A KR 1020227008454 A KR1020227008454 A KR 1020227008454A KR 20227008454 A KR20227008454 A KR 20227008454A KR 20220051841 A KR20220051841 A KR 20220051841A
Authority
KR
South Korea
Prior art keywords
user
access
resource
party
access control
Prior art date
Application number
KR1020227008454A
Other languages
English (en)
Inventor
비풀 몬다니
매튜 마샬
디 주
프렘 쿠마
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority claimed from PCT/US2020/046810 external-priority patent/WO2021034833A1/en
Publication of KR20220051841A publication Critical patent/KR20220051841A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/80Homes; Buildings
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y20/00Information sensed or collected by the things
    • G16Y20/30Information sensed or collected by the things relating to resources, e.g. consumed power
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • H04L67/16
    • H04L67/20
    • 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/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Structural Engineering (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Economics (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

방법(300)은 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 대한 액세스를 요청하는 서드파티(150)로부터 승인 요청(250)을 수신하는 단계를 포함한다. 디바이스 관리자는 복수의 사용자 디바이스(120)와 연관된 액세스 제어(222)를 관리하며, 액세스 제어는 사용자(110)에 의해 구성된다. 또한 방법은 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계를 포함한다. 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되면, 상기 방법은 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자에서 액세스 제어를 구성했는지 여부를 결정하는 단계를 포함한다. 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 각각의 액세스 제어를 구성한 경우, 상기 방법은 상기 각각의 액세스 제어에 기초하여 상기 승인 요청에 대한 응답을 통신하는 단계를 포함한다.

Description

스마트 디바이스 관리 리소스 선택기
본 개시는 스마트 디바이스에 대한 액세스 관리에 관한 것이다.
이 섹션은 반드시 선행 기술이 아닌 본 개시와 관련된 배경 정보를 제공한다. 스마트 홈 기술은 사물 인터넷(IoT)에 연결된 센서, 기능 및 기타 기기와 같은 디바이스를 사용하여, 원격으로 모니터링, 제어 또는 액세스될 수 있으며 사용자의 요구에 응답하는 서비스를 제공한다. 스마트 홈 기술을 통해 사용자는 스마트 홈 애플리케이션, 스마트폰 또는 기타 네트워크 디바이스로부터 연결된 홈 디바이스를 제어하고 모니터링할 수 있다. 사용자는 집에 있든 떨어져 있든 연결된 홈 시스템을 원격으로 제어할 수 있다. 이를 통해 보다 효율적인 에너지 및 전기 사용은 물론 가정 보안이 가능하다.
본 개시의 일 양태는 스마트 디바이스 관리 리소스 선택기를 위한 방법을 제공한다. 방법은 디바이스 관리자의 데이터 프로세싱 하드웨어에서, 서드파티로부터 승인 요청을 수신하는 단계를 포함한다. 승인 요청은 디바이스 관리자가 관리하는 사용자 리소스에 대한 액세스를 요청한다. 디바이스 관리자는 복수의 사용자 디바이스와 연관된 액세스 제어를 관리하며, 액세스 제어는 사용자에 의해 구성된다. 또한 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계를 포함한다. 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되면, 상기 방법은 데이터 프로세싱 하드웨어에 의해, 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자에서 액세스 제어를 구성했는지 여부를 결정하는 단계를 포함한다. 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 각각의 액세스 제어를 구성한 경우, 상기 방법은 상기 각각의 액세스 제어에 기초하여, 상기 데이터 프로세싱 하드웨어에 의해, 상기 승인 요청에 대한 응답을 통신하는 단계를 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계는 화이트리스트가 상기 서드파티로 하여금 상기 사용자 리소스를 포함하는 리소스 유형에 액세스하도록 승인했다고 결정하는 단계를 포함한다. 일부 예시에서, 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 상기 사용자 리소스에 대한 액세스를 승인하지 않은 경우, 상기 데이터 프로세싱 하드웨어에 의해, 상기 승인 요청의 대상이 되는 상기 사용자 리소스에 대한 액세스를 거부하는 단계를 더 포함한다. 일부 구현예에서, 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자에서 액세스 제어를 구성했는지 여부를 결정하는 단계는 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 액세스 제어를 구성하지 않았음을 결정하는 단계 및 상기 승인 요청을 관리하는 디바이스 관리자에서 하나 이상의 액세스 제어를 입력하기 위해 상기 사용자에 대한 동의 요청을 생성하는 단계를 포함한다.
일부 예에서, 디바이스 관리자는 사용자 인터페이스를 포함한다. 여기서, 사용자 인터페이스는 사용자가 각각의 사용자 리소스를 관리하는 각각의 액세스 제어를 구성하게 하기 위한 하나 이상의 액세스 제어 선택을 포함한다. 이들 예시에서, 하나 이상의 액세스 제어 선택은 계층에서 각각의 사용자 리소스를 표현하고, 상기 계층은 서드파티, 각각의 사용자 리소스를 하우징하는 물리적 구조, 각각의 사용자 리소스와 연관된 사용자 디바이스 또는 상기 사용자 리소스와 연관된 기능 중 적어도 둘을 포함한다. 선택적으로, 이러한 예시에서, 방법은 또한 데이터 프로세싱 하드웨어에서 사용자에 대한 액세스 제어 선택을 수신하는 단계를 포함할 수 있다. 일부 예시에서, 방법은 데이터 프로세싱 하드웨어에 의해, 상기 액세스 제어 선택을 데이터 구조로서 액세스 제어 리스트에 저장하는 단계를 더 포함한다. 여기서, 데이터 구조는 객체, 관계 및 사용자로 표현되는 튜플을 포함할 수 있다. 일부 구현예에서, 상기 사용자 리소스는 상기 디바이스 관리자에 의해 관리되는 복수의 사용자 디바이스 중 각각의 사용자 디바이스에 의해 생성된 사용자 데이터를 포함한다.
본 개시의 다른 양태는 스마트 디바이스 관리 리소스 선택기를 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어와 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들 저장한다. 동작들은 서드파티로부터 승인 요청 수신하는 동작을 포함한다. 승인 요청은 디바이스 관리자가 관리하는 사용자 리소스에 대한 액세스를 요청한다. 디바이스 관리자는 복수의 사용자 디바이스와 연관된 액세스 제어를 관리하며, 액세스 제어는 사용자에 의해 구성된다. 또한 동작들은 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 동작을 포함한다. 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되면, 상기 동작들은 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자에서 액세스 제어를 구성했는지 여부를 결정하는 동작을 포함한다. 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 각각의 액세스 제어를 구성한 경우, 상기 동작들은 상기 각각의 액세스 제어에 기초하여 상기 승인 요청에 대한 응답을 통신하는 동작을 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계는 화이트리스트가 상기 서드파티로 하여금 상기 사용자 리소스를 포함하는 리소스 유형에 액세스하도록 승인했다고 결정하는 단계를 포함한다. 일부 예시에서, 동작들은 상기 서드파티가 상기 디바이스 관리자에 의해 관리되는 상기 사용자 리소스에 대한 액세스를 승인하지 않은 경우, 상기 승인 요청의 대상이 되는 상기 사용자 리소스에 대한 액세스를 거부하는 동작을 더 포함한다. 일부 구현예에서, 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자에서 액세스 제어를 구성했는지 여부를 결정하는 동작은 상기 사용자가 승인 요청의 대상이 되는 사용자 리소스를 관리하는 액세스 제어를 구성하지 않았음을 결정하는 동작 및 상기 승인 요청을 관리하는 디바이스 관리자에서 하나 이상의 액세스 제어를 입력하기 위해 상기 사용자에 대한 동의 요청을 생성하는 동작을 포함한다.
일부 예에서, 디바이스 관리자는 사용자 인터페이스를 포함한다. 여기서, 사용자 인터페이스는 사용자가 각각의 사용자 리소스를 관리하는 각각의 액세스 제어를 구성하게 하기 위한 하나 이상의 액세스 제어 선택을 포함한다. 이들 예시에서, 하나 이상의 액세스 제어 선택은 계층에서 각각의 사용자 리소스를 표현하고, 상기 계층은 서드파티, 각각의 사용자 리소스를 하우징하는 물리적 구조, 각각의 사용자 리소스와 연관된 사용자 디바이스 또는 상기 사용자 리소스와 연관된 기능 중 적어도 둘을 포함한다. 선택적으로, 이러한 예시에서, 동작들은 또한 사용자에 대한 액세스 제어 선택을 수신하는 동작을 포함할 수 있다. 일부 예시에서, 동작들은 상기 액세스 제어 선택을 데이터 구조로서 액세스 제어 리스트에 저장하는 동작을 더 포함한다. 여기서, 데이터 구조는 객체, 관계 및 사용자로 표현되는 튜플을 포함할 수 있다. 일부 구현예에서, 상기 사용자 리소스는 상기 디바이스 관리자에 의해 관리되는 복수의 사용자 디바이스 중 각각의 사용자 디바이스에 의해 생성된 사용자 데이터를 포함한다.
본 개시의 하나 이상의 구현예의 세부 내용이 첨부 도면과 아래의 설명에서 기술된다. 다른 양태, 구성, 객체 및 이점은 아래의 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1a는 스마트 디바이스 관리자를 위한 예시적 환경의 개략도이다.
도 1b는 도 1a의 스마트 디바이스 관리자를 사용하는 사용자를 위한 예시적 로컬 생태계의 개략도이다.
도 2a는 예시적 스마트 디바이스 관리자의 개략도이다.
도 2b 및 2c는 도 1a의 스마트 디바이스 관리자의 기능에 대한 예시적 레이아웃의 개략도이다.
도 2d 및 2e는 사용자, 서드파티, 및 스마트 디바이스 관리자 간의 예시적 인터렉션의 흐름도이다.
도 3은 스마트 디바이스 관리자로 사용자 리소스 제어를 관리하기 위한 동작의 예시적 배열이다.
도 4는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
도 1a는 스마트 디바이스(120)에 대한 액세스를 관리하는 환경(100)의 예이다. 환경은 클라이언트 디바이스(112)와 인터페이싱하는 사용자(110)를 포함한다. 클라이언트 디바이스(112)는 통신 네트워크(130)를 통해 원격 시스템(140)과 통신한다. 원격 시스템(140)은 원격 프로세싱 디바이스(예를 들어, 데이터 프로세싱 하드웨어)(144) 및 원격 영구(비일시적) 저장 디바이스(예를 들어, 메모리 하드웨어)(146)를 포함할 수 있다. 원격 프로세싱 디바이스(144)는 스마트 디바이스(120)에 액세스하기 위한 API(application-programming interface)를 제공하는 소프트웨어를 실행할 수 있다. 원격 시스템(140)은 스마트 디바이스(120)에 대한 무단 액세스를 방지하는 소프트웨어를 실행할 수 있다. 스마트 디바이스(120)는 일반적으로 통신 네트워크(130)에 연결된 센서, 가전 제품 및 기타 디바이스를 의미한다. 스마트 디바이스(120)는 원격으로 모니터링, 제어 또는 액세스될 수 있고 사용자(110) 요구에 응답하는 서비스를 제공할 수 있다. 스마트 디바이스(120)는 온도 조절기, 도어록, 조명 조광기, 차고 도어 개폐기, 스프링클러 시스템, 연기 감지기, 진공 청소기 및 홈 보안 시스템을 포함한다. 일부 예에서, 스마트 디바이스(120)는 구조물(190), 즉 사용자(110)에 의해 관리되는 물리적 건물에 설치된다. 구조물(190)은 사용자(110)가 소유하거나 임대할 수 있다. 예에서, 사용자(110)는 때때로 다른 사용자(110)에게 임대되는 별장(190)을 소유한다. 일부 예에서, 스마트 디바이스(120)는 통신 네트워크(130)를 통해 스마트 디바이스 관리자(SDM)(200)에 등록한다(도 2a). SDM은 원격 시스템(140)에서 실행될 수 있다. SDM(200)은 스마트 디바이스(120)의 원격 모니터링 및/또는 제어를 위한 API를 제공할 수 있다. 사용자(110)는 구조물(190)에서 멀리 떨어져 있는 동안 스마트 디바이스를 제어하거나 모니터링할 수 있다. 사용자 디바이스(120)(즉, 스마트 디바이스)는 원격으로 모니터링될 수 있는 사용자 데이터(122)를 생성할 수 있다. 예에서, 홈 보안 시스템(120)은 구조물(190)의 내부 또는 외부의 비디오 데이터(122)를 생성할 수 있다. 사용자 디바이스(120)는 디바이스(120)를 구성하거나 제어하는 사용자 명령(124)을 수신할 수 있다. 예에서, 온도 조절기(120)는 구조물(190)에서 72°의 온도를 유지하라는 사용자 명령(124)을 수신한다. 일부 예에서, 스마트 디바이스는 다양한 사용자 데이터(122)를 생성하고 및/또는 다양한 사용자 명령(124)을 수신하고 이에 응답한다. 예에서, 홈 보안 시스템은 하나 이상의 모션 감지 시스템으로부터 데이터(122)를 생성하고, 보안 시스템이 하나 이상의 외부 도어를 잠금 해제하도록 하는 사용자 명령(124)을 수신한다. 각 유형의 사용자 데이터(122) 및 각 유형의 사용자 명령(124)은 스마트 디바이스(120)의 리소스 또는 특성일 수 있다. 일부 예에서, 사용자(110)는 SDM(200)을 통해 스마트 디바이스(120)의 사용자 리소스에 대한 액세스를 관리한다.
도 1a에 도시된 바와 같이, 사용자(110)는 구조물(190)로부터 멀리 위치된다. 일부 구현예에서, 사용자(110)는 클라이언트 디바이스(112)를 사용하여 통신 네트워크(130)를 통해 스마트 디바이스(120)를 제어 및/또는 모니터링한다. 클라이언트 디바이스(112)는 범용 데스크탑, 랩탑, 모바일 컴퓨팅 디바이스, 웨어러블 디바이스 또는 특수 목적 제어 및 모니터링 디바이스를 포함할 수 있다. 일부 예에서, 스마트 디바이스(120)의 제조자 또는 판매자는 SDM(200)을 통해 스마트 디바이스(120)를 제어 또는 모니터링하기 위해 클라이언트 디바이스(112) 상에서 실행하기 위한 소프트웨어 애플리케이션을 제공한다. 다른 예에서, 서드파티(150)는 서드파티 디바이스(152)를 사용하여 통신 네트워크(130)를 통해 스마트 디바이스(120)를 제어 및/또는 모니터링한다. 예를 들어, 클라이언트 디바이스(112)에서 실행되는 소프트웨어 애플리케이션은 SDM(200)을 통해 서드파티 디바이스(152)와 인터페이스하여 서드파티 디바이스(152)에 스마트 디바이스(120)를 제어하거나 모니터링하도록 지시할 수 있다. 서드파티(150)는 스마트 디바이스(120)의 제조사 또는 벤더일 수 있다. 예에서, 서드파티(150)는 스마트 홈 보안 시스템(120)을 포함하는 스마트 디바이스(120)를 제공한다. 서드파티 디바이스(152)는 스마트 홈 보안 시스템(120)의 상태를 모니터링할 수 있다. 서드파티(150)는 서드파티 디바이스(152)에 의해 모니터링되는 스마트 홈 보안 시스템(120)의 상태 요약을 디스플레이하기 위한 소프트웨어 애플리케이션을 제공할 수 있다. 일부 예에서, 서드파티(150)는 다른 사람에 의해 제조되거나 판매되는 디바이스(120)를 모니터링 및 제어한다. 예에서, 스마트 차고 문 개폐기(120)의 사용자 리소스는 차고 문을 열고 닫기 위한 사용자 명령(124)을 포함한다. 서드파티(150)는 사용자(110)의 위치를 모니터링하고, SDM(200)을 통해 명령(124)을 전송하여, 사용자(110)가 구조물(190)의 임계 거리 내에 있을 때 스마트 차고 문 개폐기(120)가 차고 문을 열도록 할 수 있다. SDM(200)은 승인된 서드파티(150)가 스마트 디바이스(120)를 제어 또는 모니터링하도록 허용하고, 승인되지 않은 서드파티(150)가 스마트 디바이스(120)를 제어 또는 모니터링하는 것을 방지할 수 있다. 일부 예에서, 사용자는 스마트 디바이스(120)를 제어하거나 모니터링하도록 서드파티(150)를 승인한다. 일부 예에서, 클라이언트 디바이스(112)는 디스플레이(210)(도 2A 및 2B)에서 그래픽 사용자 인터페이스(GUI)(210)를 실행한다. GUI(210)는 사용자(110)가 특정 구조(190) 내에 위치한 특정 스마트 디바이스(120)의 특정 사용자 리소스에 액세스하도록 특정 서드파티(150)를 승인할 수 있도록 정보를 사용자(110)에게 제공할 수 있다. GUI(210)로부터의 선택을 수행하는 사용자(110)에 응답하여, 클라이언트 디바이스(112)는 통신 네트워크를 통해 원격 시스템(140)에 액세스 구성 동의(202)를 전송할 수 있고, 이는 SDM(200)이 액세스 구성 동의(202)를 프로세싱하게 한다. 일부 구현예에서, 서드파티(150)는 스마트 디바이스(120)에 대한 액세스를 요청하는 액세스 요청(250)을 SDM에 전송한다. SDM은 클라이언트 디바이스(112)에 의해 전송된 구성 동의(202)에 기초하여 액세스 요청(250)을 승인하거나 거부할 수 있다.
도 1b를 참조하면, 구조물(190)이 도시되어 있다. 시스템(190)은 여러 스마트 디바이스(120)를 포함한다. 도시된 바와 같이, 구조물(190)은 스마트 온도조절기(120, 120a)를 포함한다. 스마트 온도조절기(120, 120a)는 구조물(190)의 온도와 연관된 사용자 데이터(122)를 생성할 수 있다. 스마트 온도조절기(120, 120a)는 구조물(190) 내에서 유지하기 위해 원하는 온도와 연관된 사용자 명령(124)을 수신할 수 있다. 도시된 바와 같이, 구조물(190)은 또한 카메라를 포함하는 스마트 초인종(120, 102b)을 포함한다. 스마트 초인종(120, 120b)은 카메라에 의해 생성된 스트리밍 비디오 사용자 데이터(122) 또는 정지 이미지 사용자 데이터(122)를 생성할 수 있다. 도시된 바와 같이, 구조물(190)은 또한 스마트 전면 도어록(120, 120c)을 포함한다. 도어록(120, 120c)은 전면 문을 잠그거나 잠금 해제하는 것과 연관된 사용자 명령(124)을 수신할 수 있다. 도어록(120, 120c)은 문의 잠금 상태와 연관된 사용자 데이터(122)를 생성할 수 있다. 일부 예에서, 사용자(110)는 모바일 컴퓨팅 디바이스(112)와 인터페이스한다. 도시된 바와 같이, 모바일 컴퓨팅 디바이스(112)는 SDM을 통해 스마트 디바이스(120)를 제어 및 모니터링하기 위해 서드파티 디바이스(152)와 인터페이스한다. SDM(200)은 구조물(190) 내에서 스마트 디바이스(120)의 위치에 기초하여 스마트 디바이스(120)를 계층적으로 조직화할 수 있다. 도시된 바와 같이, 사용자(110)는 구조물(190)의 유일한 거주자이다. 사용자(110)는 구조물(190) 내에 위치한 스마트 디바이스(120)에 대한 액세스를 일방적으로 관리할 수 있다. 이 경우, 사용자(110)는 예를 들어 패스워드로 보호된 온라인 계정에 의해 고유하게 식별될 수 있다. 다른 예에서, 다수의 사용자(110)가 구조물(190)에 상주한다. 사용자(110)는 구조물(190) 내부에 위치한 스마트 디바이스(120)에 대한 액세스를 다각적으로 관리할 수 있다. 이 경우, 사용자(110)는 별도의 비밀번호로 보호된 온라인 계정에 의해 식별될 수 있다. 대다수의 사용자(110)는 SDM을 통해 스마트 디바이스(120)를 제어하고 모니터링하기 위해 권한을 변경하거나 업데이트해야 할 수 있다. 일부 예에서, 대다수의 사용자(110)는 SDM을 통해 스마트 디바이스(120)를 모니터링하는 것을 승인해야 하고 사용자(110)의 만장일치로 SDM을 통해 제어 디바이스(120)를 승인해야 한다. 일부 예에서, 사용자(110)는 스마트 디바이스(120)에 대한 읽기 및/또는 쓰기 액세스를 허용할 수 있다. 다른 다자간 관리 구성이 가능한다. 액세스 관리 책임은 제1 사용자(110)에서 제2 사용자(110)로 이전될 수 있다. 예를 들어, 제1 사용자(110)는 구조물(190)의 소유권을 제2 사용자(110)에게 양도할 수 있다. 액세스 관리 책임의 이전은 예를 들어 건물(190)의 집주인에서 세입자로 일시적일 수 있다. 액세스 관리 책임은 한 사용자 그룹(110)에서 다른 사용자 그룹(110)으로, 예를 들어 구조물(190)의 한 세트의 테넌트에서 다른 테넌트 세트로 이전될 수 있다. 일부 예에서, SDM은 구조물(190)에 대한 액세스 관리 책임의 변경에 기초하여 스마트 디바이스(120)에 대한 액세스를 방지한다. 사용자(110)가 관리하는 구조물(190)과 연관된 사용자(110)는 사용자(110)가 관리하는 구조물(190)을 찾고, 이전 단계에서 찾은 구조물(190)에 대한 관리자를 찾고, 이전 단계에서 찾은 관리자와 연관된 서드파티(150)를 찾을 수 있다.
사용자(110) 및/또는 하나 이상의 서드파티(150)는 SDM(200)과 통신한다. SDM(200)은 사용자 데이터(122)에 대한 허가 및/또는 액세스를 조정하는 애플리케이션(예를 들어, 소프트웨어)을 지칭한다. 일부 예들에서, SDM(200)은 애플리케이션 프로그래밍 인터페이스(API)이다. SDM(200)은 원격으로 또는 로컬에서 호스팅될 수 있다. 예를 들어, 원격 시스템(140)은 SDM(200)을 호스팅할 수 있고 사용자(110) 또는 서드파티(150)는 통신 채널을 통해 SDM(200)에 액세스할 수 있다. 예를 들어, 클라이언트 디바이스(112)는 원격 시스템(140) 상에서 실행되는 SDM(200)에 액세스하도록 구성된 애플리케이션(예를 들어, 애플리케이션으로서의 브라우저)을 실행할 수 있다. 다른 예에서, 사용자(110) 또는 서드파티(150)의 네트워크 디바이스는 네트워크 디바이스(예를 들어, 클라이언트 디바이스(112))의 데이터 프로세싱 하드웨어 및/또는 메모리 하드웨어가 SDM(200)을 저장하고 및/또는 실행하도록 SDM(200)의 일부 또는 전부를 로컬적으로 호스팅한다. 어느 경우이든, SDM(200)은 사용자 데이터(122)의 특정 부분에 대해 서드파티(150)(예를 들어, 서드파티 개발자)를 인증하고 승인하도록 구성된다. 일부 예에서, 사용자(110)로부터의 승인(즉, 동의) 없이, SDM(200)은 사용자(110)와 관련된 임의의 리소스(즉, 사용자 데이터(122))에 대한 액세스의 암시 없이 SDM(200)을 호출할 수 있는 액세스를 서드파티(150)에게 부여한다. 따라서, SDM(200)은 서드파티(150)가 사용자 데이터(122)에 액세스하기 위한 게이트웨이 역할을 하는 동시에 사용자(110)가 사용자 데이터(122)에 대한 서드파티(150) 액세스를 제어하게 하기 위한 리소스 액세스 관리자 역할도 한다.
인증 및/또는 승인을 수행하기 위해, SDM(200)은 사용자(110)가 서드파티(150)에 대한 다양한 유형의 사용자 데이터(122)의 액세스 가능성을 구성하는 사용자 대면 승인 프로세스를 포함한다. 다시 말해서, SDM(200)은 서드파티(150)와 공유된 사용자 데이터(122)에 대한 세분화된 제어를 사용자(110)에게 제공한다. 이것은 사용자(110)가 서드파티(150)와 공유할 사용자 데이터(122)의 유형을 지정할 수 있게 한다. 인증 프로세스 동안, SDM(200)은 사용자(110)가 상이한 변수에 의해 사용자 데이터(122)를 제어하는 것을 허용할 수 있다. 이러한 변수 중 일부는 동작(즉, 읽기/쓰기와 같은 사용자 데이터(122)에 대해 수행될 동작), 서드파티(150), 사용자 디바이스(120), 사용자 디바이스(210)가 상주하는 환경(예: 정의된 생태계 또는 건물 또는 건물의 방과 같은 사용자 디바이스(120)와 연관된 구조(190))을 포함한다. 일부 구현예에서, 사용자 대면 승인 프로세스 동안, SDM(200)은 사용자(110)가 이러한 변수 중 하나 이상과 관련된 사용자 데이터(122)에 대한 동의(202)를 통신하게 할 수 있다. 여기서, 동의(202)는 특정 리소스(예: 사용자 데이터(122))에 대한 승인의 부여를 의미한다. 따라서 동의(202)는 액세스 정도를 명시적으로 지정함으로써 세분화된 제어를 정의하게 할 수 있다. 액세스 정도는 사용자 디바이스(120)에 의해 생성된 임의의 사용자 데이터(122)에 대한 일반적 액세스부터 사용자 데이터 변수(예를 들어, 동작, 서드파티(150), 사용자 디바이스(120), 구조물(190) 등)의 상이한 반복에 기초한 보다 구체적인 액세스의 범위일 수 있다. 예를 들어, 동의(202)는 특정 엔티티(예를 들어, 서드파티(150))에 의해 특정 방식으로(예를 들어, 동작에 의해) 사용되도록 특정 리소스(예를 들어, 사용자 데이터(122))를 승인한다. SDM(200)을 사용하여 사용자(110)는 특정 서드파티(150)에 대한 단순 선택 액세스보다 더 큰 단위로 리소스 액세스를 정의할 수 있다.
일부 구성에서, 사용자(110)가 액세스 제어 관리를 위해 SDM(200)을 사용하기로 결정할 때, 사용자(110)는 일반적으로 SDM(200)과 연관된 서드파티(150)가 SDM(200)을 사용하여 특정 리소스에 대한 액세스의 암시 없이 리소스에 액세스를 시도할 수 있다는 기본 동의(202)를 부여한다. 다시 말해서, SDM(200)의 인정된 파트너(예를 들어, SDM(200)에 대한 등록/승인된 벤더)인 서드파티 개발자와 같은 서드파티(150)가 있을 수 있다. 보다 구체적으로, SDM(200)은 스마트 디바이스(예를 들어, 사용자 디바이스(120))를 위한 서드파티 서비스를 개발, 혁신 및/또는 제공하기 위해 서드파티 개발자와 관계를 유지할 수 있다. SDM(200)이 이러한 관계를 가질 때, 서드파티(150)는 일반적으로 SDM(200)에 의해 제어되는 리소스(예를 들어, 사용자 데이터(122))에 대한 액세스를 요청하기 위해 SDM(200)에 액세스하도록 승인될 수 있다.
도 2a 내지 도 2e를 참조하면, SDM(200)은 사용자 인터페이스(UI)(210), 리소스 선택기(220), 저장 시스템(230) 및 서드파티 인터페이스(3PI)(240)를 포함한다. SDM(200)은 사용자 디바이스(120)에 관한 사용자(110)와 하나 이상의 서드파티(150) 사이의 인터렉션을 조정하기 위해 인증 및 승인 절차를 사용한다. 다시 말해서, 서드파티(150)는 종종 사용자 디바이스(들)(120)와 호환되는 애플리케이션(즉, 소프트웨어)을 구현하거나 개발하기 위해 사용자 디바이스(120) 및/또는 사용자 데이터(122)에 대한 액세스를 필요로 하거나 원할 수 있다. SDM(200)은 사용자(110)를 대신하여 사용자 데이터(122)에 대한 서드파티 액세스(또는 액세스 거부)를 용이하게 하도록 구성된다. SDM(200)의 UI(210)는 일반적으로 사용자를 대면하는 인터페이스를 의미한다. 예를 들어, UI(210)는 SDM(200) 및 그 기능의 사용자 버전에 대한 액세스를 얻기 위해 사용자(110)가 로그인 자격 증명(예를 들어, 사용자 이름 및/또는 사용자 비밀번호)을 입력하도록 하는 로그인 프롬프트를 포함한다. 3PI(240)와 별개의 UI(210)를 가짐으로써, SDM(200)은 사용자(110)(예를 들어, UI(210)에서) 및 서드파티(150)(예를 들어, 3PI(240)에서)에 특정적인 상이한 기능 및/또는 구성을 가질 수 있다. 비록 도 2a는 SDM(200)의 컴포넌트(210, 220, 230, 240)를 SDM(200) 내의 모든 통합된 모듈로 도시하지만, 각 모듈은 다른 모듈에 의해 수행되는 기능과 별개로 각각의 기능을 수행하도록 구성될 수 있다.
일부 예에서, UI(210)는 사용자(110)가 리소스 선택기(220)를 제어하게 하기 위한 인터페이스이다. 리소스 선택기(220)에 대한 인터페이스로서, UI(210)는 사용자 리소스(예를 들어, 사용자 디바이스(120) 또는 사용자 디바이스(120)에 의해 수집된 사용자 데이터(122))의 액세스 제어와 관련된 정보를 디스플레이하도록 구성된다. 예를 들어, 도 2b 및 2c는 리소스 선택기(220)의 선택 가능한 구성을 갖는 UI(210)의 예시적 레이아웃을 도시한다. 일부 구현예에서, UI(210)는 SDM(200)의 화이트리스트(232)와 인터렉션함으로써 리소스 선택기(220)의 디스플레이를 생성한다. 화이트리스트(232)는 일반적으로 SDM(200)이 파트너(예를 들어, 서비스 파트너)로 인식하는 특정 서드파티(150)의 리스트를 의미한다. 예를 들어, 화이트리스트(232)는 SDM 애플리케이션의 제공자에 등록된 서드파티(150)의 리스트를 포함한다. 일부 구현예에서, 화이트리스트(232) 상의 각각의 서드파티(150)는 당사자-특정 액세스 레벨을 가질 수 있다. 즉, 서드파티(150)가 SDM(200) 또는 SDM(200)을 제공하는 엔터티에 등록하면, 서드파티(150)는 특정 유형의 액세스(예: 읽기 액세스, 스마트 디바이스 유형과 관련하여 쓰기 액세스 금지)에 대해 승인(즉, 권한 부여)된다. 일부 예에서, 승인된 액세스의 유형은 스마트 디바이스(들)의 유형 및 해당 유형의 스마트 디바이스(들)에 대한 서드파티(150)의 능력에 따라 다르다. 예를 들어, 스마트 온도조절기에 대한 기능을 개발하는 서드파티(150)는 스마트 온도 조절기의 리소스에 대한 읽기 및/또는 쓰기를 통해 화이트리스트(232)에 설정되지만, 스마트 초인종(예를 들어, 도 2c에 양방향 오디오 또는 비디오 스트리밍으로 도시됨)의 리소스에 대한 액세스는 없다. 예를 들어, 제1 서드파티(150, 150a)는 라이브 스트리밍 및 오디오 클립을 에 대해 화이트리스트에 등록되고, 제2 서드파티(150, 150b)는 스마트 온도조절기를 읽기 위해 화이트리스트에 추가된다. 이 접근법은 화이트리스트(232)가 일부 서드파티(150)가 다수의 스마트 디바이스에 걸쳐 능력을 가질 수 있는 반면 다른 서드파티(150)는 특정 리소스로 제한된 능력을 가질 수 있음을 나타낼 수 있게 한다. 다시 말해, 화이트리스트(232)는 SDM(200)이 서드파티(150)의 서비스와 관련이 없는 사용자 리소스에 대한 액세스를 허용하지 않도록 하고; 따라서 서드파티(150)에 의한 잠재적인 남용으로부터 사용자 리소스에 어느 정도의 초기 보호를 제공한다.
리소스 선택기(220)는 사용자(110)가 자신의 리소스(예를 들어, 사용자 데이터(122))에 대한 액세스를 제어할 수 있도록 구성된다. 이전에 언급된 바와 같이, 리소스 선택기(220)의 기능에 대한 시각화는 UI(210)를 사용하여 사용자(110)에게 디스플레이될 수 있다. 일부 예에서, 리소스 선택기(220)는 화이트리스트(232)에 기초하여 선택가능한 액세스 제어들(222)을 사용자(110)에게만 제시하도록 구성된다. 다시 말해서, 리소스 선택기(220)는 사용자(110)에게 서드파티(150)의 화이트리스트 조합과 주어진 서드파티(150)에 대해 이미 화이트리스트에 포함된 액세스 옵션(234)을 제공한다. 일부 예에서, 선택 가능한 액세스 제어(222)를 화이트리스트(232)의 액세스 옵션(234)으로 디스플레이함으로써, 사용자(110)는 의도적이든 비의도적이든 화이트리스트(232)에 포함된 액세스 옵션(234)을 넘어 서드파티(150)에 대한 제어를 확장할 수 없다. 예를 들어, 서드파티(150)가 스마트 온도 조절기와 관련된 소프트웨어의 개발자이고 스마트 온도 조절기 디바이스에 대한 읽기 또는 읽기/쓰기 액세스만을 위한 화이트리스트(232)의 액세스 옵션(234)에 대해 승인되었고 다른 디바이스에 대한 액세스가 없는 경우, 사용자(110)는 리소스 선택기(220(에서 액세스 제어를 생성하여 스마트 초인종의 비디오 스트림에 대한 액세스를 서드파티(150)에게 부여할 수 없다. 달리 말하면, SDM(200)(예를 들어, 리소스 선택기(220)에 의해)은 코스 세분화된 액세스 제어를 유지하는 반면, 사용자(110)는 선택 가능한 액세스 제어(222)로 세분화된 액세스 제어 결정을 내리기 위해 코스 세분화된 액세스 제어를 추가로 제한할 수 있다. 여기서, 사용자(110)는 액세스 제어 결정을 나타내기 위해 선택 가능한 액세스 제어(222)에 기초하여 액세스 제어 선택(224)을 입력한다.
리소스 선택기(220)는 다양한 구성으로 선택 가능한 액세스 제어(222)를 디스플레이할 수 있다. 일부 예에서, 리소스 선택기(220)는 계층(226)에서 선택 가능한 액세스 제어(222)를 디스플레이한다. 계층(226)은 하나 이상의 사용자 리소스(예를 들어, 사용자 데이터(122) 또는 사용자 디바이스(120))을 하나 이상의 사용자 리소스와 연관된 변수의 계단식 세트로서 나타낼 수 있다. 일부 구성에서, 리소스 선택기(220)는 사용자(110)에 의한 서드파티(150)의 선택에 기초하여 사용자 리소스를 디스플레이한다. 예를 들어, 도 2b에서, 사용자(110)는 하나 이상의 서드파티(150, 150a-d)를 선택하고, 리소스 선택기(220)는 하나 이상의 서드파티(150, 150a-d)와 관련된 사용자 리소스에 대해 선택 가능한 액세스 제어(222)를 채운다(예를 들어, 도 2c에 도시됨). 여기서, 도 2b는 4개의 서드파티(150a-d)와 관련된 3개의 사용자 리소스(예를 들어, 사용자 디바이스(120, 120a-c)로 도시됨)가 선택 가능한 액세스 제어(222)를 갖는 것을 도시한다. 도 2b 및 도 2c와 같은 일부 구현예에서, 리소스 선택기(220)는 사용자 리소스와의 연관성을 디스플레이한다. 예를 들어, 3개의 사용자 디바이스(120, 120a-c)(예를 들어, 초인종, 온도 조절기 및 전면 도어록)는 구조물(190)과 연관되는 것으로 도시되어 있다. 구조물(190)은 사용자 디바이스(120)를 포함하거나 사용자 디바이스(120)가 부착되는 물리적 구조물을 의미한다. 여기서, 리소스 선택기(220)는 사용자 리소스(예를 들어, 사용자 디바이스(120) 및/또는 사용자 데이터(122))를 포함하는 사용자(110)의 4개의 구조(190, 190a-d)를 디스플레이한다.
추가로 또는 대안적으로, 리소스 선택기(220)는 사용자(110)가 관리하는 구조물(190)과 연관된 추가 사용자 디바이스 또는 디바이스에 대한 선택 가능한 액세스 제어(222)를 채운다. 다시 말해서, 리소스 선택기(220)는 공유 관계를 식별하는 사용자(110), 또는 사용자 리소스가 연결됨을 SDM(200)이 결정하는 것에 기초하여, 제1 사용자(110)의 하나 이상의 사용자 디바이스(120)를 제2 사용자(110)의 사용자 디바이스(120)와 연결할 수 있다. 예를 들어, 보안 관리 회사는 사용자(110)가 소유한 사용자 디바이스(120)를 제어 및/또는 모니터링한다. 이 예에서, SDM(200)은 보안 관리 회사가 사용자 디바이스(120)에 대한 액세스 제어 선택(224)을 생성하게 하기 위해 보안 관리 회사가 사용자(110)의 사용자 디바이스(120)를 등록한다. 이러한 유형의 관계에서 SDM(200)은 사용자 디바이스(들)(120)의 소유자가 처음에 SDM(200)에 사용자 디바이스(120)를 설정하지만, SDM(200)의 사용자 디바이스(120)를 보안 관리 회사(예를 들어, 보안 관리 회사와 연관된 SDM(200)의 프로필)에 연결한다.
일부 구현예에서, 리소스 선택기(220)가 사용자 리소스를 디스플레이하는 방법에 대응하는 변수는 특성 그룹으로 정의된다. SDM(200) 또는 SDM(200)을 관리하는 엔터티는 특성 그룹을 생성할 수 있다. 특성 그룹은 관련된 특성의 모음을 표현한다. 특성 그룹의 일부 예는 구조물(190), 구조물(190)를 세분화하는 방, 기능(예: 미디어 사용자 디바이스(120), 보안 사용자 디바이스(120), 기기 사용자 디바이스(120)), 네트워크 위치(예: 사용자 디바이스(120)를 호스팅하는 각 네트워크에 의한)이다. 일부 구현예에서, SDM(200)은 SDM(200)이 관리하는 리소스와 연관된 특성 그룹을 생성하는 특성 모델을 포함한다. 추가적으로 또는 대안적으로, SDM(200)은 사용자(110)가 (예를 들어, UI(210)를 통해) 디스플레이할 리소스 선택기(220)에 대한 특성 그룹을 정의하거나 특성 그룹의 계층을 생성할 수 있도록 맞춤화될 수 있다.
일부 구성에서, SDM(200)은 특성 그룹을 생성하고 화이트리스트(232)에 특성 그룹을 포함시킨다. 즉, SDM(200)은 속성 그룹의 레벨에서 화이트리스트(232)에 대한 액세스 옵션(234)을 생성한다. 예를 들어, 도 2c는 특성 그룹으로서 "메인 홈"의 구조물(190)에서 사용자 디바이스(120, 120a-b)에 대한 액세스 옵션(234)을 도시한다. 일부 예에서, SDM(200)이 화이트리스트(232)에 하나 이상의 특성 그룹을 포함할 때, SDM(200)은 {특성, 리소스 유형, 읽기/쓰기}의 화이트리스트(232)에 엔트리를 생성한다.
도 2c에 도시된 바와 같이, 리소스 선택기(220)는 화이트리스트(232)의 액세스 옵션(234)에 대응하는 선택 가능한 액세스 제어(222)로 각 사용자 디바이스(120, 120a-c)를 채울 수 있다. 예를 들어, 초인종(120a)은 2개의 선택 가능한 액세스 제어(222, 222a-b)(양방향 오디오 및 비디오 스트림으로 표시됨)를 포함하고, 온도 조절기(120b)는 2개의 선택 가능한 액세스 제어(222, 222c-d)(읽기 전용 및 읽기/쓰기로 표시됨)를 포함한다. 여기서, 도 2c는 사용자(110)가 초인종(120a)에 대한 비디오 스트림 및 온도 조절기(120b)에 대한 읽기/쓰기를 선택함으로써 각 사용자 디바이스(120a-b)에 대한 액세스 제어 선택(224, 224a-b)을 했다는 것을 도시한다. 도 2c는 또한 계층적 디스플레이가 특정 사용자 디바이스(120)에 대한 선택 가능한 액세스 제어(222)를 확장 및 축소하기 위한 드롭다운을 포함할 수 있음을 도시한다. 예를 들어, 전면 도어록(120, 120c)은 선택 가능한 액세스 제어(222) 없이 접힌 상태로 표시된다.
사용자(110)가 액세스 제어 선택(224)을 생성하면, 리소스 선택기(220)는 액세스 제어 선택(224)을 저장 시스템(230)에 통신하도록 구성된다. 저장 시스템(230)은 액세스 제어 리스트(236, 236a-n)를 저장 및/또는 관리하도록 구성된다. 일부 예에서, 저장 시스템(230)은 SDM(200)에 대한 화이트리스트(232)를 액세스 제어 리스트(236)로서 관리 및/또는 저장한다. 일부 예에서, 사용자(110)가 액세스 제어 선택(224)을 생성하면, 리소스 선택기(220) 및/또는 저장 시스템(230)은 액세스 제어 리스트(236)(예를 들어, 화이트리스트(232)과 별개)를 채운다. 일부 구성에서, 저장 시스템(230)은 SDM(200)에 의해 관리되는 각 사용자(110)에 특정한 액세스 제어 리스트(236)를 유지한다. 다른 구성에서, 저장 시스템(230)은 SDM(200)의 하나 이상의 사용자(110)에 의해 만들어진 모든 액세스 제어 선택(224)을 통합하는 범용 액세스 제어 리스트(236)를 유지한다. 일부 구현예에서, 리소스 선택기(220)가 사용자 리소스에 대한 이전 액세스 제어를 수정하거나 업데이트하는 액세스 제어 선택(224)을 수신하면, 저장 시스템(230)은 대응하는 액세스 제어 리스트(236)의 이전 항목을 덮어쓴다. 액세스 제어 리스트(236)는 사용자(110)의 액세스 제어 선택(224)에 기초하여 업데이트 및/또는 수정될 수 있기 때문에, 저장 시스템(230)은 저장 활동을 추적하거나 기록하는 활동 로그로 구성될 수 있다.
일부 예에서, 저장 시스템(230)은 액세스 제어 선택(224)을 튜플로서 저장한다. 일부 구현예에서, 저장 시스템(230) 및/또는 리소스 선택기(220)는 튜플을 객체, 관계 및 사용자(객체, 관계, 사용자)의 표현으로 구성한다. 객체 형태의 몇 가지 예는 다음을 포함한다. (i) "엔터프라이즈/<enterprise_id> /구조/<structure_id> :<trait_group> ” (ii) “엔터프라이즈/<enterprise_id> /구조/<structure_id> /<device_type> :<trait_group> ” (iii) “엔터프라이즈/<enterprise_id> /구조/<structure_id> /<device_type> /<device_id> :<trait_group> :<trait_group> .” 여기서, 관계는 (예를 들어, 사용자 리소스의 실제 소유자와 반대되는) 액세스 제어 선택(224)을 기록하는 엔터티다. 사용자는 사용자(110)와 연관된 사용자 식별자(UID)를 의미한다. 저장 시스템(230)은 단순 액세스 제어 리스트 모델이 복수의 객체를 원자적으로 기록할 수 없는 모델을 지칭하는 단순 또는 복합 액세스 제어 리스트 모델로 구성될 수 있다. 저장 시스템(230)이 단순한 액세스 제어 리스트 모델일 수 있지만, 저장 시스템(230)이 복잡한 액세스 제어 리스트 모델인 것이 SDM(200)에 유리할 수 있다. 사용자(110)이 한 번에 다수의 액세스 제어 선택(224)을 업데이트하거나 만들 수 있기 때문이다.
일부 구성에서, 저장 시스템(230)은 또한 서드파티(150)와의 (예를 들어, 사용자 리소스의) 통합이 활성화되는 경우를 나타내는 데이터베이스(238)를 포함한다. 예를 들어, 데이터베이스(238)는 서드파티(150)와의 사용자 리소스(들)에 대한 통합이 활성화되는 경우를 나타내기 위해 부울 플래그를 생성한다. 서드파티(150)와의 통합이 가능하지만, SDM(200)은 남용을 피하기 위해 특정 서드파티의 통합 능력을 비활성화하도록 구성될 수 있다. 통합 제어를 지시하는 SDM 200을 사용하여, 특정 이벤트(예: 출시 날짜)에 대해 통합을 활성화 및 비활성화할 수 있다.
3PI(240)는 일반적으로 승인 요청(250)을 생성하기 위해 서드파티(150)에 의해 사용되는 인터페이스를 지칭한다. 승인 요청(250)은 사용자(110)와 연관된 리소스(예를 들어, 사용자 데이터(122))와 같은 특정 리소스에 대한 액세스를 서드파티(150)에게 부여하기 위한 요청이다. 사용자(110)가 승인 요청(250)에 대한 동의(202)로 응답할 때, SDM(200)은 동의(202)에 기초하여 서드파티(150)에 대한 액세스 토큰(260)을 생성한다. 다시 말해서, 액세스 토큰(260)은 사용자(110)가 동의(202)에 기초하여 서드파티(150)에게 구체적으로 부여한 액세스 유형을 통신하고, 서드파티(150)가 사용자(110)와 연관된 리소스에 대한 액세스를 얻도록 한다. 여기서, 승인 요청(250)은 일반적으로 사용자 디바이스(120)에 대한 액세스 또는 사용자 디바이스(120)의 특정 동작에 대한 액세스일 수 있다. 더 구체적으로, 요청(250)은 디바이스(120)(예를 들어, 사용자 디바이스(120)의 동작 동안 사용자 디바이스(120)에 의해 생성된 사용자 데이터(122))와 연관된 특정 리소스(예를 들어, 사용자 데이터(122))를 지정할 수 있다. 예를 들어, 사용자 디바이스(120)가 보안 시스템인 경우, 서드파티(150)는 보안 시스템에 의해 생성된 비디오 피드(즉, 사용자 데이터(122))에 대한 액세스를 요청할 수 있다.
일부 예에서, 승인 요청(250)은 서드파티(150)가 액세스를 요청하는 사용자(110)를 SDM(200)에 식별하기 위한 사용자 식별자(UID)(252)를 포함한다. 일부 구현예에서, 사용자(110)는 SDM(200)의 UI(210)에서 서드파티(150)에 대한 액세스 제어를 이미 구성했다. 이러한 구현예에서, SDM(200)은 사용자(110)에 의해 배치된 구성된 액세스 제어에 기초하여 사용자(110)를 대신하여 동의(202)를 자동으로 생성할 수 있다. 일부 구성에서, 승인 요청(250)은 특정 서드파티(150) 또는 서드파티(150)에 의해 요청되는 리소스에 대한 액세스 제어를 지정하기 위해 사용자(110)를 UI(210)로 리디렉션하도록 구성된 URI(Uniform Resource Identifier)(254)를 포함한다. 예를 들어, 승인 요청(250)은 사용자(110)가 서드파티(150)에 의한 승인 요청(250)을 통제할 액세스 제어를 지정하도록 요청하는 메시지 또는 사용자(110)에 대한 통신을 생성한다(예를 들어, SDM(200)을 통해). 사용자(110)는 승인 요청(250) 내에서 URI(254)를 사용하여 승인 요청(250)의 서드파티(150)에게 승인(또는 거부)될 액세스 유형을 지시하는 액세스 제어 선택을 하도록 프롬프트될 수 있다. 승인 요청(250)을 통제할 제어가 설정되면, SDM(200) 또는 SDM(200)을 통한 사용자(110)는 승인 요청(250)에 응답할 것이다(예를 들어, 동의(202) 또는 동의 거부(202)로). 여기서, 승인 요청(250)은 서드파티(150)가 액세스 토큰(260)을 수신하기 전에 사용자 데이터 공유 선호도가 존재하도록 한다. 이전에 설명된 바와 같이, 승인 요청(250) 생성을 건너뛰는 서드파티(150)는 SDM(200)과 인터페이스하도록 승인될 수 있지만 사용자 데이터(122)에 대한 액세스는 갖지 않을 것이다.
일부 구현예에서, 사용자(110)는 특정 서드파티(150)에 대한 액세스 토큰(260)을 취소한다. 사용자(110)가 서드파티(150)에 대한 액세스 토큰(260)을 취소하면, 저장 시스템(230)은 서드파티(150)와 관련된 기존 액세스 제어 선택(들)(224)을 유지할 수 있다. 다른 예에서, 사용자(110)가 서드파티(150)에 대한 액세스 토큰(260)을 취소하면, SDM(200)은 서드파티-사용자 쌍과 관련된 액세스 제어 선택(들)(224)을 제거하도록 저장 시스템(230)에 알린다. 어느 경우든, 액세스가 취소된 서드파티(150)가 새로운 인증 요청(250)을 생성하면, 사용자(110)(예를 들어, URI(254)에 의해)가 서드파티(150)에 대한 액세스 유형을 지시하는 액세스 제어 선택을 하라는 메시지가 프롬프트될 것이므로, 비활성 서드파티-사용자 쌍을 정리하는 것은 SDM(200)에 해롭지 않을 것이다. 추가적으로 또는 대안적으로, 저장 시스템(230)은 사용자(110)의 요청에 따라 사용자 데이터(122)를 정리하도록 구성될 수 있다. 예를 들어, 저장 시스템(230)은 저장 시스템(230)의 액세스 제어 리스트(236)에서 사용자(110)를 제거한다.
도 2d는 사용자(110), 서드파티(150) 및 SDM(200) 간의 승인 프로세스(270)의 일 예이다. 이 예에서, 서드파티(150)는 3PI(240)에서 승인 요청(250)을 개시한다. 승인 요청(250)에 기초하여, 사용자(110)는 UI(210)에 로그인하고 승인 요청(250)에 응답하기 위한 동의(202)를 생성한다. 여기서, 사용자(110)가 UI(210)에 로그인하면, SDM(200)은 사용자(110)를 (예를 들어, 인증 코드를 사용하여) 리소스 선택기(220)로 리디렉션한다. 리소스 선택기(220)로 리디렉션될 때, 동작(272)에서, 사용자(110)는 승인 요청(250)과 연관된 사용자 리소스에 대한 세분화된 액세스를 관리한다. 예를 들어, 사용자(110)는 서드파티(150)와 관련된 액세스 제어 선택(들)(224)을 생성한다. 동작(274)에서, 리소스 선택기(220)는 저장 시스템(230)에서 적어도 하나의 액세스 제어 리스트(236)를 업데이트하거나 초기에 생성하기 위해 액세스 제어 선택(들)(224)을 통신한다. 저장 시스템(230)이 적어도 하나의 액세스 제어 리스트(236)를 업데이트하거나 생성하면, 동작(276)에서, 저장 시스템(230)은 액세스 제어 리스트(236)의 업데이트 또는 생성이 완료되었음을 통신한다. SDM(200)(예를 들어, 리소스 선택기(230)을 통한 리다이렉트로서 도시됨)은 승인 요청(250)이 승인되거나 거부되었음을 서드파티(150)에게 알린다. 동작(278)에서, 승인 요청(250)이 승인되면, SDM(200)(예를 들어, 3PI(240)을 통해)은 서드파티(150)가 액세스 토큰(260)을 수신하기 위해 사용하는 코드를 통신한다. 그 다음, 서드파티(150)는 SDM(200)과 통신하고 승인 요청(250)과 연관된 하나 이상의 사용자 리소스에 액세스하기 위해 액세스 토큰(260)을 3PI(240)에 통신한다.
도 2e에 도시된 바와 같이, 일부 구현예에서, 승인 요청(250)(예를 들어, getdevice 요청)으로 SDM(200)을 호출하는 서드파티(150)는 엔터프라이즈이다(예를 들어, 사용자 리소스(들)의 통합을 수행하려고 시도함). 동작(282)에서, 서드파티(150)는 3PI(240)에서 인증 토큰(260)으로 getdevice 요청을 통신한다. getdevice 요청에 기초하여, 동작(284)에서, 3PI(240)는 getdevice 요청과 연관된 서드파티(150)를 확인하기 위해 데이터베이스(238)와 통신한다. 동작(286)에서, SDM(200)은 데이터베이스(238)가 서드파티(150)를 포함하는지 확인하고, SDM(200)이 저장 시스템(230)에서 서드파티의 허가를 검색하거나 서드파티(150)가 저장 시스템(230)에 액세스하여 인가 요청(250)에 의해 식별된 사용자 리소스에 대한 서드파티의 허가를 검색하도록 한다(동작(288)에 도시된 바와 같음). 동작(286)과 동작(288) 사이에서, 서드파티(150)에 대한 요청과의 통합이 비활성화된 경우, SDM(200)은 비활성화된 상태에 기초하여 요청에 대한 예외를 제공하거나 요청을 거부할 수 있다. 동작(290)에서, SDM(200)은 저장 시스템(230)과의 통신에 기초하여 서드파티에게 서드파티 권한(사용자 리소스에 대한 액세스 제어)이 있는지 내부적으로 확인한다. 여기서, 도시되지는 않았지만, 3PI(240)는 서드파티(150)가 서드파티 권한을 가지고 있음을 서드파티(150)에게 확인할 수 있다. 동작(292)에서, SDM(200)은 그 다음 getdevice 요청의 사용자 디바이스(120)에 관한 정보를 얻기 위해 HG/CZ와(예를 들어, 3PI(240)와) 통신하고, 동작(292)에서, SDM(200)은 HG/CZ로부터 getdevice 요청의 사용자 디바이스(120)에 관한 정보를 수신한다. 여기서, 동작(292)와 동작(294) 사이 또는 동작 동안, SDM(200)은 서드파티(150)가 대상 사용자 디바이스(120)의 관리자로서 getdevice 요청의 서드파티(150)를 인증하지 않는 인증 토큰(260)을 가질 때 오류 또는 미승인 메시지를 통신할 수 있다. 동작(296)에서, 3PI(240)는 서드파티(150)와 통신하고, 사용자 디바이스(120)에 대한 정보로 getdevice 요청에 응답한다.
도 3은 예시적 방법(300)의 흐름도이다. 방법이 디바이스 관리자(200)의 데이터 프로세싱 하드웨어(410)에서, 서드파티(150)로부터 승인 요청(250)을 수신하는 단계를 포함하는 동작(302)에서 흐름도가 시작하며, 상기 승인 요청(250)은 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 대한 액세스를 요청하며, 상기 디바이스 관리자(200)는 복수의 사용자 디바이스(120)와 연관된 액세스 제어(222)를 관리한다. 동작(304)에서, 방법(300)은 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계를 포함한다. 동작(306)에서, 방법(300)은 상기 서드파티150가 상기 디바이스 관리자200에 의해 관리되는 사용자 리소스에 액세스하도록 승인되면, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 사용자(110(가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자(200)에서 임의의 액세스 제어(222)를 구성했는지 여부를 결정하는 단계를 포함한다. 동작(308)에서, 방법(300)은 상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 각각의 액세스 제어(222)를 구성한 경우, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 각각의 액세스 제어(222)에 기초하여 상기 승인 요청(250)에 대한 응답을 통신하는 단계를 포함한다.
도 4는 본 문서에 기술된 시스템(예: SDM(200)) 및 방법(예: 방법(300))을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스(즉, 시스템)(400)의 개략도이다. 컴퓨팅 디바이스(400)는 랩톱, 데스크톱, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 디바이스(400)는 프로세서(410)(데이터 프로세싱 하드웨어라고도 지칭됨), 메모리(420)(메모리 하드웨어라고도 지칭됨), 저장 디바이스(430), 메모리(420) 및 고속 확장 포트(450)에 연결되는 고속 인터페이스/제어기(440) 및 저속 버스(470) 및 저장 디바이스(430)에 연결되는 저속 인터페이스/제어기(460)를 포함한다. 컴포넌트들(410, 420, 430, 440, 450 및 460) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(410)는 메모리(420) 또는 저장 디바이스(430)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(440)에 연결된 디스플레이(480)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(400)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(420)는 컴퓨팅 디바이스(400) 내에 비일시적으로 정보를 저장한다. 메모리(420)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(420)는 컴퓨팅 디바이스(400)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
저장 디바이스(430)는 컴퓨팅 디바이스(400)에 대한 대형 스토리지를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(430)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(420), 저장 디바이스(430) 또는 프로세서(410)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 제어기(440)는 컴퓨팅 디바이스(400)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(460)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예에서, 고속 제어기(440)는 메모리(420), 디스플레이(480)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(450)에 연결된다. 일부 구현예에서, 저속 제어기(460)는 저장 디바이스(430) 및 저속 확장 포트(490)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(490)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(400a)로서 또는 그러한 서버(400a)의 그룹에서 여러 번, 랩톱 컴퓨터(400b)로서 또는 랙 서버 시스템(400c)의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 비일시적 컴퓨터 판독가능 매체, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 "기계 판독가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 또는 터치 스크린과 같은 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들도 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 방법(300)으로서,
    디바이스 관리자(200)의 데이터 프로세싱 하드웨어(410)에서, 서드파티(150)로부터 승인 요청(250)을 수신하는 단계, 상기 승인 요청(250)은 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 대한 액세스를 요청하며, 상기 디바이스 관리자(200)는 복수의 사용자 디바이스(120)와 연관된 액세스 제어(222)를 관리하며, 상기 액세스 제어(222)는 사용자(110)에 의해 구성되며;
    상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계;
    상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되면, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자(200)에서 액세스 제어(222)를 구성했는지 여부를 결정하는 단계; 및
    상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 각각의 액세스 제어(222)를 구성한 경우, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 각각의 액세스 제어(222)에 기초하여 상기 승인 요청(250)에 대한 응답을 통신하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 단계는 화이트리스트(232)가 상기 서드파티(150)로 하여금 상기 사용자 리소스를 포함하는 리소스 유형에 액세스하도록 승인했다고 결정하는 단계를 포함하는, 방법.
  3. 청구항 1 또는 2에 있어서, 상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 상기 사용자 리소스에 대한 액세스를 승인하지 않은 경우, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 승인 요청(250)의 대상이 되는 상기 사용자 리소스에 대한 액세스를 거부하는 단계를 더 포함하는, 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자(200)에서 액세스 제어(222)를 구성했는지 여부를 결정하는 단계는:
    상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 액세스 제어(222)를 구성하지 않았음을 결정하는 단계; 및
    상기 승인 요청(250)을 관리하는 디바이스 관리자(200)에서 하나 이상의 액세스 제어(222)를 입력하기 위해 상기 사용자(110)에 대한 동의(202) 요청을 생성하는 단계를 포함하는, 방법.
  5. 청구항 1 내지 4 중 어느 한 항에 있어서, 상기 디바이스 관리자(200)는 사용자 인터페이스(210)를 포함하고, 상기 사용자 인터페이스(210)는 각각의 사용자 리소스를 관리하는 각각의 액세스 제어(222)를 구성하기 위해 상기 사용자(110)에 대한 하나 이상의 액세스 제어 선택(224)을 포함하는, 방법(300).
  6. 청구항 5에 있어서, 상기 하나 이상의 액세스 제어 선택(224)은 계층(226)에서 각각의 사용자 리소스를 표현하고, 상기 계층(226)은 서드파티(150), 각각의 사용자 리소스를 하우징하는 물리적 구조(190), 각각의 사용자 리소스와 연관된 사용자 디바이스(120) 또는 상기 사용자 리소스와 연관된 기능 중 적어도 둘을 포함하는, 방법.
  7. 청구항 5 또는 6에 있어서, 상기 데이터 프로세싱 하드웨어(410)에서, 상기 사용자(110)에 대한 액세스 제어 선택(224)을 수신하는 단계를 더 포함하는, 방법.
  8. 청구항 7에 있어서, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 액세스 제어 선택(224)을 데이터 구조로서 액세스 제어 리스트(236)에 저장하는 단계를 더 포함하는, 방법.
  9. 청구항 8에 있어서, 상기 데이터 구조는 객체, 관계 및 사용자(110)로서 표현되는 튜플을 포함하는, 방법.
  10. 청구항 1 내지 9 중 어느 한 항에 있어서, 상기 사용자 리소스는 상기 디바이스 관리자(200)에 의해 관리되는 복수의 사용자 디바이스(120) 중 각각의 사용자 디바이스(120)에 의해 생성된 사용자 데이터(122)를 포함하는, 방법.
  11. 시스템(400)으로서,
    데이터 프로세싱 하드웨어(410); 및
    상기 데이터 프로세싱 하드웨어(410)와 통신하는 메모리 하드웨어(420)를 포함하며, 상기 메모리 하드웨어(420)는 상기 데이터 프로세싱 하드웨어(410)에 의해 실행될 때 상기 데이터 프로세싱 하드웨어(410)로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은:
    서드파티(150)로부터 승인 요청(250)을 수신하는 동작, 상기 승인 요청(250)은 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 대한 액세스를 요청하며, 상기 디바이스 관리자(200)는 복수의 사용자 디바이스(120)와 연관된 액세스 제어(222)를 관리하며, 상기 액세스 제어(222)는 사용자(110)에 의해 구성되며;
    상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 동작;
    상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되면, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자(200)에서 임의의 액세스 제어(222)를 구성했는지 여부를 결정하는 동작; 및
    상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 각각의 액세스 제어(222)를 구성한 경우, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 각각의 액세스 제어(222)에 기초하여 상기 승인 요청(250)에 대한 응답을 통신하는 동작을 포함하는, 시스템.
  12. 청구항 11에 있어서, 상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 사용자 리소스에 액세스하도록 승인되었는지 여부를 결정하는 동작은 화이트리스트(232)가 상기 서드파티(150)로 하여금 상기 사용자 리소스를 포함하는 리소스 유형에 액세스하도록 승인했다고 결정하는 동작을 포함하는, 시스템.
  13. 청구항 11 또는 12에 있어서, 상기 서드파티(150)가 상기 디바이스 관리자(200)에 의해 관리되는 상기 사용자 리소스에 대한 액세스를 승인하지 않은 경우, 상기 데이터 프로세싱 하드웨어(410)에 의해, 상기 승인 요청(250)의 대상이 되는 상기 사용자 리소스에 대한 액세스를 거부하는 동작을 더 포함하는, 시스템.
  14. 청구항 11 내지 13 중 어느 한 항에 있어서, 상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 디바이스 관리자(200)에서 액세스 제어(222)를 구성했는지 여부를 결정하는 동작은:
    상기 사용자(110)가 승인 요청(250)의 대상이 되는 사용자 리소스를 관리하는 임의의 액세스 제어(222)를 구성하지 않았음을 결정하는 동작; 및
    상기 승인 요청(250)을 관리하는 디바이스 관리자(200)에서 하나 이상의 액세스 제어(222)를 입력하기 위해 상기 사용자(110)에 대한 동의(202) 요청을 생성하는 동작을 포함하는, 시스템.
  15. 청구항 11 내지 14 중 어느 한 항에 있어서, 상기 디바이스 관리자(200)는 사용자 인터페이스(210)를 포함하고, 상기 사용자 인터페이스(210)는 각각의 사용자 리소스를 관리하는 각각의 액세스 제어(222)를 입력하기 위해 사용자(110)에 대한 하나 이상의 액세스 제어 선택(224)을 포함하는, 시스템.
  16. 청구항 15에 있어서, 상기 데이터 프로세싱 하드웨어(410)에서, 상기 사용자(110)에 대한 액세스 제어(222) 선택을 수신하는 동작을 더 포함하는, 시스템.
  17. 청구항 15 또는 16에 있어서, 상기 액세스 제어(222) 선택을 데이터 구조로서 액세스 제어 리스트(236)에 저장하는 동작을 더 포함하는, 시스템.
  18. 청구항 17에 있어서, 상기 하나 이상의 액세스 제어 선택(224)은 계층(210)에서 각각의 사용자 리소스를 표현하고, 상기 계층(210)은 서드파티(150), 각각의 사용자 리소스를 하우징하는 물리적 구조(190), 각각의 사용자 리소스와 연관된 사용자 디바이스(120) 또는 상기 사용자 리소스와 연관된 기능 중 적어도 둘을 포함하는, 시스템.
  19. 청구항 18에 있어서, 상기 데이터 구조는 객체, 관계 및 사용자(110)로서 표현되는 튜플을 포함하는, 시스템.
  20. 청구항 11 내지 19 중 어느 한 항에 있어서, 상기 사용자 리소스는 상기 디바이스 관리자(200)에 의해 관리되는 복수의 사용자 디바이스(120) 중 각각의 사용자 디바이스(120)에 의해 생성된 사용자 데이터(122)를 포함하는, 시스템.
KR1020227008454A 2019-08-19 2020-08-18 스마트 디바이스 관리 리소스 선택기 KR20220051841A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962888962P 2019-08-19 2019-08-19
US62/888,962 2019-08-19
PCT/US2020/046810 WO2021034833A1 (en) 2019-08-19 2020-08-18 Smart device management resource picker

Publications (1)

Publication Number Publication Date
KR20220051841A true KR20220051841A (ko) 2022-04-26

Family

ID=74647175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227008454A KR20220051841A (ko) 2019-08-19 2020-08-18 스마트 디바이스 관리 리소스 선택기

Country Status (5)

Country Link
US (2) US11768925B2 (ko)
EP (1) EP4018616A1 (ko)
JP (2) JP7273245B2 (ko)
KR (1) KR20220051841A (ko)
CN (1) CN114258661A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3061390B1 (fr) 2016-12-28 2022-12-16 Overkiz Procede de configuration, de controle ou de supervision d’une installation domotique
FR3061399B1 (fr) 2016-12-28 2023-04-21 Overkiz Procede de configuration d’acces, de commande et de supervision a distance d’au moins un dispositif domotique appartenant a une installation domotique
FR3061400A1 (fr) * 2016-12-28 2018-06-29 Overkiz Procede de configuration d’acces, de commande et de supervision a distance d’au moins un dispositif domotique appartenant a une installation domotique
EP3839789B1 (en) * 2019-12-20 2023-06-28 Barclays Execution Services Limited Secure data leakage control in a third party cloud computing environment
US11599652B1 (en) * 2021-08-31 2023-03-07 Allstate Insurance Company End-to-end privacy ecosystem
US20230185930A1 (en) * 2021-08-31 2023-06-15 Allstate Insurance Company End-to-end privacy ecosystem
CN113742675A (zh) * 2021-09-10 2021-12-03 深圳市闪联信息技术有限公司 一种基于IoT设备的USB存储介质安全管理系统及方法
US20230216816A1 (en) * 2021-12-31 2023-07-06 Slack Technologies, Llc Collaboration software development kit

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4788711B2 (ja) * 2005-02-04 2011-10-05 日本電気株式会社 ワークフロー実行システム、ワークフロー実行方法、及び、プログラム
JP4656962B2 (ja) 2005-02-16 2011-03-23 日本電信電話株式会社 アプリケーションサービス提供システム、サービス管理装置、ホームゲートウェイおよびアクセス制御方法
JP2007188184A (ja) 2006-01-11 2007-07-26 Fujitsu Ltd アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
JP2007272396A (ja) 2006-03-30 2007-10-18 Nec Personal Products Co Ltd セキュリティ管理システム、中継装置、プログラム
US7886343B2 (en) * 2006-04-07 2011-02-08 Dell Products L.P. Authentication service for facilitating access to services
US8683554B2 (en) * 2009-03-27 2014-03-25 Wavemarket, Inc. System and method for managing third party application program access to user information via a native application program interface (API)
US8245273B2 (en) * 2009-08-24 2012-08-14 International Business Machines Corporation Sharing referenced content through collaborative business applications
CN103455520A (zh) * 2012-06-04 2013-12-18 北京三星通信技术研究有限公司 安卓数据库访问的方法及设备
US9027155B2 (en) * 2012-07-02 2015-05-05 International Business Machines Corporation System for governing the disclosure of restricted data
US9092642B2 (en) * 2012-09-27 2015-07-28 Intel Corporation Managing personal privacy settings
CN104283841B (zh) * 2013-07-02 2018-05-22 阿里巴巴集团控股有限公司 对第三方应用进行服务访问控制的方法、装置及系统
US9788039B2 (en) * 2014-06-23 2017-10-10 Google Inc. Camera system API for third-party integrations
CN106953831B (zh) * 2016-01-06 2020-12-01 阿里巴巴集团控股有限公司 一种用户资源的授权方法、装置及系统
US9998453B1 (en) * 2016-06-10 2018-06-12 Amazon Technologies, Inc. Controlling access to personal data
WO2018032516A1 (zh) * 2016-08-19 2018-02-22 华为技术有限公司 应用数据的共享方法、装置和终端设备
CN107018128B (zh) * 2017-03-07 2019-12-31 西安电子科技大学 一种基于多域协同架构第三方应用授权认证方法
US20180262597A1 (en) * 2017-03-08 2018-09-13 Citrix Systems, Inc. Universal quality of service for internet of things devices

Also Published As

Publication number Publication date
US11768925B2 (en) 2023-09-26
CN114258661A (zh) 2022-03-29
US20210056184A1 (en) 2021-02-25
JP7273245B2 (ja) 2023-05-12
EP4018616A1 (en) 2022-06-29
JP2022545448A (ja) 2022-10-27
US20230281283A1 (en) 2023-09-07
JP2023086898A (ja) 2023-06-22

Similar Documents

Publication Publication Date Title
JP7273245B2 (ja) スマートデバイス管理リソースピッカー
US11750609B2 (en) Dynamic computing resource access authorization
JP6559807B2 (ja) コマンド実行に対するユーザアクセスの制御
CN108293045B (zh) 本地和远程系统之间的单点登录身份管理
CN107111697B (zh) 对于所连接的消费者设备的基于角色的访问控制
US9692765B2 (en) Event analytics for determining role-based access
KR102403480B1 (ko) 장치 정책 관리자
US9075955B2 (en) Managing permission settings applied to applications
US20180332065A1 (en) Authenticating an unknown device based on relationships with other devices in a group of devices
KR20130046155A (ko) 클라우드 컴퓨팅 서비스에서의 접근제어 시스템
US20200382442A1 (en) Method and system for managing sub-tenants in a cloud computing environment
US9384359B2 (en) Information firewall
CN105247531A (zh) 提供受管浏览器
JP2019514090A (ja) ユーザアカウントと企業ワークスペースとの関連付け
US20230185948A1 (en) Methods and systems for tenancy in a multitenant environment
EP2725513B1 (en) Managing permission settings applied to applications
KR100685254B1 (ko) 사용자별 권한 할당 및 접속을 관리하는 홈네트워크게이트웨이 및 그 제어방법
JP2023540894A (ja) クラウドインフラストラクチャシステムにおけるセキュリティゾーンポリシー施行
CN116438778A (zh) 承担的替代身份的持久源值
US10042652B2 (en) Home automation system
US20190260743A1 (en) Systems for providing device-specific access to an e-mail server
WO2021034833A1 (en) Smart device management resource picker
US11711360B2 (en) Expedited authorization and access management
CN111104666A (zh) 用于访问服务的方法、设备和计算机程序产品
US20220253542A1 (en) Orchestration of administrative unit management