KR102284497B1 - 세계 주도 액세스 제어 기법 - Google Patents

세계 주도 액세스 제어 기법 Download PDF

Info

Publication number
KR102284497B1
KR102284497B1 KR1020167005949A KR20167005949A KR102284497B1 KR 102284497 B1 KR102284497 B1 KR 102284497B1 KR 1020167005949 A KR1020167005949 A KR 1020167005949A KR 20167005949 A KR20167005949 A KR 20167005949A KR 102284497 B1 KR102284497 B1 KR 102284497B1
Authority
KR
South Korea
Prior art keywords
policy
information
environment
application
candidate
Prior art date
Application number
KR1020167005949A
Other languages
English (en)
Other versions
KR20160052561A (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 KR20160052561A publication Critical patent/KR20160052561A/ko
Application granted granted Critical
Publication of KR102284497B1 publication Critical patent/KR102284497B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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/2111Location-sensitive, e.g. geographical location, GPS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/65Environment-dependent, e.g. using captured environmental data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

본 명세서에서는 증강 현실 애플리케이션 및/또는 다른 환경 감지 애플리케이션과 같은 하나 이상의 애플리케이션의 거동을 관리하기 위한 기능이 설명된다. 기능은 세계 주도 방식으로 허가 정보를 정의하며, 이는 기능이 신뢰 메커니즘을 이용하여 감지 환경 내에서 단서들을 식별한 후에 그러한 단서들을 허가 정보에 맵핑한다는 것을 의미한다. 이어서, 기능은 허가 정보를 이용하여 하나 이상의 애플리케이션의 동작을 관리한다.

Description

세계 주도 액세스 제어 기법{WORLD-DRIVEN ACCESS CONTROL}
증강 현실 애플리케이션은 환경으로부터 캡처된 정보를 소정 타입의 보완 정보와 결합하는 출력 프레젠테이션을 제공한다. 예를 들어, 일 타입의 증강 현실 애플리케이션은 환경의 이미지를, 그 이미지 내의 객체들에 주석을 다는 라벨들과 함께 제공한다. 다른 타입의 증강 현실 애플리케이션은 사람 사용자의 실제 움직임을 복제하는 형상을, 사용자와 상호작용할 수 있는 가상 객체와 함께 제공한다.
주위 환경으로부터 정보를 캡처하는 임의의 애플리케이션은 프라이버시 문제를 유발한다. 예를 들어, 전술한 증강 현실 애플리케이션들은 환경의 이미지들 또는 비디오들을 캡처하며; 그러한 정보는 잠재적으로는 사람 얼굴, 개인 작성물, 계좌 번호 등과 같은 민감한 아이템들을 포함할 수도 있다. 이러한 개인 정보의 "소유자"는 종종 정보가 권한 없는 자들에게 공개되지 않는 것을 선호하거나 요구할 것이다. 그러한 바람직하지 않은 공개는 다양한 상황에서 발생할 수 있다. 제1 사례에서, 권한 없는 애플리케이션이 컴퓨팅 장치의 감지 메커니즘(예로서, 비디오 카메라, 마이크 등)을 통해 취득한 데이터로부터 개인 정보를 추출할 수 있다. 제2 사례에서, 권한 없는 애플리케이션이 다른 증강 현실 애플리케이션으로부터 개인 정보를 취득할 수 있다.
전술한 프라이버시 문제는 증강 현실 애플리케이션에만 고유한 것이 아니라, 환경으로부터 지각 정보를 캡처하는 임의의 애플리케이션으로 확대된다. 그러한 애플리케이션은 본 명세서에서 환경 감지 애플리케이션으로 지칭된다.
실제로, 개발자는 증강 현실 애플리케이션을 "일회용의" 독립적인 단위의 코드로서 생성할 수 있다. 유사하게, 컴퓨팅 장치는 애플리케이션을 독립적인 단위의 기능으로서 실행할 수 있다. 이러한 접근법에 따르면, 각각의 개발자는 전술한 프라이버시 문제를 애플리케이션 코드 자체 내에서 개별적인 - 통상적으로 임시적인(ad hoc) - 방식으로 해결할 수 있다.
본 명세서에서는 증강 현실 애플리케이션 및/또는 다른 환경 감지 애플리케이션과 같은 하나 이상의 애플리케이션의 거동을 관리하기 위한 기능이 설명된다. 이 기능은 세계 주도 방식으로 허가 정보를 정의하며, 이는 기능이 신뢰 메커니즘을 이용하여 감지 환경 내에서 단서들을 식별한 후에 그러한 단서들을 허가 정보에 맵핑한다는 것을 의미한다. 이어서, 기능은 허가 정보를 이용하여 하나 이상의 애플리케이션의 동작을 관리한다. 이러한 접근법은 임시적인 애플리케이션 중심 방식으로 프라이버시 문제를 해결하기 위해 각각의 애플리케이션에 의존하는 대신에 또는 그에 더하여 임의의 애플리케이션에 의해 사용될 수 있는 범용 플랫폼을 제공하는 한은 애플리케이션 불가지론적인 것으로 간주될 수도 있다.
전술한 접근법은 다양한 타입의 시스템, 컴포넌트, 방법, 컴퓨터 판독 가능 저장 매체, 데이터 구조, 그래픽 사용자 인터페이스 프레젠테이션, 제조물 등에서 명백할 수 있다.
본 요약은 개념들의 발췌를 간단한 형태로 소개하기 위해 제공되며, 이러한 개념들은 아래의 상세한 설명에서 더 설명된다. 본 요약은 청구 발명의 중요한 특징들 또는 본질적인 특징들을 식별하는 것을 의도하지 않으며, 청구 발명의 범위를 한정하는 데 사용되는 것도 의도하지 않는다.
도 1은 현실 감지 프레임워크가 후보 정책들에 맵핑되는 다양한 정책 고유 특징들에 관한 정보를 포함하는 정보를 환경으로부터 캡처하는 예시적인 시나리오를 나타낸다.
도 2는 도 1에 도시된 경험을 전달하기 위한 예시적인 현실 감지 프레임워크의 개요를 나타낸다.
도 3은 도 2의 현실 감지 프레임워크의 컴포넌트인 관리 모듈의 하나의 예시적인 구현을 나타낸다.
도 4는 도 3의 관리 모듈의 컴포넌트들인 맵핑 모듈, 정책 해결 모듈, 허가 설정 모듈 및 거동 관리 모듈의 하나의 예시적인 구현을 나타낸다.
도 5는 도 1의 시나리오와 관련된 객체들의 예시적인 집합을 나타낸다.
도 6은 도 1에 도시된 시나리오에 적용되는 바와 같은 도 3의 관리 모듈의 동작의 일례를 설명한다.
도 7은 도 3의 관리 모듈의 다른 컴포넌트인 인식 시스템의 일 구현을 나타낸다.
도 8은 도 7의 인식 시스템의 하나의 예시적인 인스턴스화를 나타낸다.
도 9는 도 3의 관리 모듈의 다른 컴포넌트인 거동 관리 모듈의 하나의 예시적인 구현을 나타낸다.
도 10은 도 2의 현실 감지 프레임워크를 구현하기 위한 예시적인 분산 컴퓨팅 기능을 나타낸다.
도 11은 도 3의 관리 모듈의 동작의 일 방식을 나타내는 흐름도이다.
도 12는 전술한 도면들에 도시된 특징들의 임의 양태를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 기능을 나타낸다.
명세서 및 도면들 전반에서 동일한 컴포넌트들 및 특징들을 참조하기 위해 동일한 번호들이 사용된다. 시리즈 100 숫자들은 도 1에서 처음 발견되는 특징들을 나타내고, 시리즈 200 숫자들은 도 2에서 처음 발견되는 특징들을 나타내며, 시리즈 300 숫자들은 도 3에 처음 발견되는 특징들을 나타내거나 한다.
본 명세서는 다음과 같이 구성된다. 섹션 A는 애플리케이션들의 동작을 관리하는 허가 정보가 주로 감지 환경 내의 단서들에 의해 지시되는 예시적인 현실 감지 프레임워크를 설명한다. 섹션 B는 섹션 A의 기능의 동작을 설명하는 예시적인 방법들을 설명한다. 섹션 C는 섹션 A 및 B에서 설명되는 특징들의 임의의 양태를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 기능을 설명한다.
예비적으로, 도면들 중 일부는 기능, 모듈, 특징, 요소 등으로서 다양하게 지칭되는 하나 이상의 구조적 컴포넌트와 관련하여 개념들을 설명한다. 도면들에 도시된 다양한 컴포넌트들은 임의의 물리적인 그리고 유형적인 메커니즘들에 의해, 예컨대 컴퓨팅 장비 상에서 실행되는 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능) 등 및/또는 이들의 임의 조합에 의해 임의의 방식으로 구현될 수 있다. 일례에서, 도면들 내의 다양한 컴포넌트들의 별개의 유닛들로의 도시된 분리는 실제 구현에서의 대응하는 별개의 물리적인 그리고 유형적인 컴포넌트들의 사용을 반영할 수 있다. 대안으로서 또는 추가로, 도면들에 도시된 임의의 단일 컴포넌트가 복수의 실제 물리 컴포넌트에 의해 구현될 수 있다. 대안으로서 또는 추가로, 도면들 내의 임의의 2개 이상의 개별 컴포넌트의 도시는 단일의 실제 물리 컴포넌트에 의해 수행되는 상이한 기능들을 반영할 수 있다. 또한 설명될 도 12는 도면들에 도시된 기능들의 하나의 예시적인 물리적 구현에 관한 추가 상세들을 제공한다.
다른 도면들은 개념들을 흐름도 형태로 설명한다. 이러한 형태에서, 소정의 동작들은 소정 순서로 수행되는 별개의 블록들을 구성하는 것으로서 설명된다. 그러한 구현들은 한정이 아니라 예시적이다. 본 명세서에서 설명되는 소정 블록들은 함께 그룹화되고 단일 동작에서 수행될 수 있고, 소정 블록들은 복수의 컴포넌트 블록으로 분리될 수 있고, 소정 블록들은 (블록들을 수행하는 병렬 방식을 포함하는) 본 명세서에서 예시되는 것과 다른 순서로 수행될 수 있다. 흐름도들에 도시된 블록들은 임의의 물리적인 그리고 유형적인 메커니즘들에 의해, 예컨대 컴퓨팅 장비 상에서 실행되는 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능) 등 및/또는 이들의 임의 조합에 의해 임의의 방식으로 구현될 수 있다.
용어와 관련하여, "하도록 구성되는"이라는 표현은 임의 종류의 물리적인 그리고 유형적인 기능이 식별된 동작을 수행하도록 구성될 수 있는 임의의 방식을 포함한다. 기능은 예를 들어 컴퓨팅 장비 상에서 실행되는 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능) 등 및/또는 이들의 임의 조합을 이용하여 동작을 수행하도록 구성될 수 있다.
"논리"라는 용어는 작업을 수행하기 위한 임의의 물리적인 그리고 유형적인 기능을 포함한다. 예컨대, 흐름도들에 도시된 각각의 동작은 해당 동작을 수행하기 위한 논리 컴포넌트에 대응한다. 동작은 예를 들어 컴퓨팅 장비 상에서 실행되는 소프트웨어, 하드웨어(예로서, 칩 구현 논리 기능) 등 및/또는 이들의 임의 조합을 이용하여 수행될 수 있다. 컴퓨팅 장비에 의해 구현될 때, 논리 컴포넌트는 컴퓨팅 시스템의 물리적 부분이지만 구현되는 전기 컴포넌트를 나타낸다.
청구항들에서 "하기 위한 수단"이라는 표현이 사용되는 경우에 이러한 표현은 35 U.S.C.§112, 제6 단락의 규정을 원용하는 것을 의도한다. 이러한 특정 표현이 아닌 어떠한 다른 언어도 법령의 그러한 부분의 규정을 원용하는 것을 의도하지 않는다.
아래의 설명은 하나 이상의 특징을 "옵션인" 것으로서 식별할 수 있다. 이러한 타입의 설명은 옵션인 것으로서 간주될 수 있는 특징들의 포괄적 지시로서 해석되지 않아야 하는데, 즉 본 명세서에서 명확하게 식별되지는 않지만, 다른 특징들이 옵션인 것으로 간주될 수 있다. 마지막으로, "전형적인" 또는 "예시적인"이라는 용어는 잠재적으로 많은 구현 중의 하나의 구현을 지칭한다.
A. 예시적인 현실 감지 프레임워크
이 섹션은 하나 이상의 증강 현실 애플리케이션을 호스팅하는 현실 감지 프레임워크를 설명한다. 전술한 바와 같이, 증강 현실 애플리케이션은 환경의 임의의 양태들을 캡처하기 위해 하나 이상의 감지 메커니즘을 이용하여 동작한다. 이어서, 애플리케이션은 라벨, 가상 객체(예로서, 아바타) 등과 같은 소정 종류의 추가 정보를 생성한다. 이어서, 애플리케이션은 환경에 관한 정보를 추가 정보와 결합하는 출력 프레젠테이션을 제공한다.
다른 예들에서, 현실 감지 프레임워크는 하나 이상의 다른 타입의 환경 감지 애플리케이션을 호스팅할 수 있다. 이러한 다른 타입의 환경 감지 애플리케이션들은 환경의 양태들을 캡처하지만, 환경의 표현과 추가 정보를 전술한 것과 같은 방식으로 결합하지 않는다. 그러나, 설명을 용이하게 하고 간소화하기 위해, 현실 감지 프레임워크는 주로 증강 현실 애플리케이션들과 관련하여 설명될 것이다.
고레벨 관점에서, 현실 감지 프레임워크는 하나 이상의 감지 메커니즘에 의해 제공되는 지각 정보에 기초하여 환경으로부터 상이한 특징들을 추출하기 위한 인식 시스템을 포함할 수 있다. 상이한 증강 현실 애플리케이션들이 애플리케이션별 허가 정보에 의해 허가되는 경우에 인식 시스템에 가입하고 그 인식 시스템에 의해 제공되는 상이한 타입의 특징들을 수신한다. 게다가, 애플리케이션별 허가 정보는 환경 내에서 검출된 단서들에 기초하여 생성된다. 공유 렌더러가 모든 증강 현실 애플리케이션들에 의해 생성된 정보를 수신 및 관리한다.
그러나, 현실 감지 프레임워크의 예시적인 상세들을 설명하기 전에, 도 1에 도시된 예시적인 시나리오를 고찰하며, 이 시나리오에서 현실 감지 프레임워크는 증강 현실 경험을 제공하는 데 사용된다. 이러한 시나리오는 본 명세서 전반에서 현행 예로서 사용될 것이다.
도 1에 도시된 실세계(102)는 백판(106)의 정면에 서 있는 제1인(104)을 포함한다. 많은 특성 가운데 특히, 제1인(104)은 얼굴(108) 및 배지(110)를 소유한다. 또한, 제1인(104)은 그의 팔(112)을 뻗는 자세를 채택한다. 실세계(102)는 다양한 이벤트들도 포함할 수 있다. 예를 들어, 하나의 그러한 이벤트에서, 제1인(104)은 반대를 표시하기 위한 것처럼 그의 손을 뻗어 앞뒤로 흔드는 제스처(114)를 취하고 있다. 백판(106)은 작성물(116), 코드 보유 라벨(118) 및 인쇄된 메시지(120)를 포함한다.
실세계(102)는 전자기 신호(라디오 신호, 마이크로파 신호, 적외선 신호, 자기 신호 등), 음파 등의 임의의 소스와 같은 하나 이상의 신호 소스(122)도 포함한다. 신호 소스들(122) 중 일부는 와이파이 액세스 포인트 소스들과 같이 즉시 감지되는 환경과 관련하여 국지적일 수 있다. 다른 신호 소스들(122)은 라디오 타워, 위성 소스 등과 같이 원격적일 수 있다. 현실 감지 프레임워크는 블루투스(등록상표) 기술, 추측 항법 기술, 삼각 측량 기술, 글로벌 포지션 검출 기술 등과 같은 임의의 기술을 이용하여, 소스들(122)로부터의 신호들을 처리할 수 있다.
제2인(124)이 스마트폰, 태블릿 컴퓨팅 장치 등과 같은 컴퓨팅 장치(126)를 이용하여 전술한 장면을 캡처한다. 더 구체적으로, 제2인(124)은 컴퓨팅 장치(126)의 비디오 카메라(도시되지 않음)가 적어도 제1인(104) 및 백판(106)의 비디오 표현을 캡처하도록 컴퓨팅 장치를 배향시킨다. 컴퓨팅 장치(126)는 하나 이상의 마이크, (하나 이상의 가속도계, 하나 이상의 자이로스코프 등과 같은) 하나 이상의 모션 감지 장치 등과 같은, 그러나 이에 한정되지 않는 하나 이상의 다른 환경 감지 메커니즘도 포함할 수 있다. 이러한 다른 감지 메커니즘들은 실세계(102)의 다른 양태들을 캡처할 수 있다.
컴퓨팅 장치(126)는 디스플레이 메커니즘(128)과 같은 하나 이상의 출력 장치도 포함할 수 있다. 디스플레이 메커니즘(128)은 현재 시간에 실행되고 있는 증강 현실 애플리케이션(들)에 의해 생성되는 출력 표현을 제공한다. 도 1에 도시된 시나리오에서, 디스플레이 메커니즘(128)은 제2인(124)의 관점에서 실세계(102)에 대한 "윈도"로서 작용한다. 즉, 디스플레이 메커니즘(128) 상에 표시되는 콘텐츠는 사용자가 윈도를 통해 세상을 보고 있는 것처럼 컴퓨팅 장치(126)의 정면의 실세계를 보여준다.
도 1의 예에서, 제2인(124)은 비디오 카메라의 시야가 제2인(124)으로부터 벗어나도록 컴퓨팅 장치(126)를 지향시킨다. 그러나, 다른 배열들을 이용하여 증강 현실 경험을 전달할 수도 있다. 다른 예에서, 예를 들어, 제2인(124)은 상이한 관점들로부터 제2인(124)을 캡처하는 복수의 비디오 카메라와 관련된 시야 내에서 동작할 수 있다. 제2인(124)은 제2인(124)의 정면에 일반적으로 배치되는 디스플레이 모니터(도시되지 않음)와 같은 출력 장치 상에서 증강 현실 애플리케이션들에 의해 생성되는 출력 프레젠테이션을 소비할 수 있다.
다른 예에서, 제2인(124)은 임의 타입의 착용식 컴퓨팅 장치를 통해 증강 현실 애플리케이션들과 상호작용할 수 있다. 예컨대, 그러한 컴퓨팅 장치는 안경류, 의복, 시계, 보석, 배지 또는 기타 착용식 아이템에 부착될 수 있다. 임의 타입의 감지 메커니즘들이 착용식 아이템에 부착되거나 관련될 수 있다. 예를 들어, 안경류에 부착된 비디오 카메라는 제2인(124) 정면의 장면의 비디오 표현을 캡처할 수 있고, 안경류에 부착된 디스플레이 메커니즘은 증강 현실 애플리케이션들에 의해 제공되는 출력 프레젠테이션을 전달할 수 있다. 전술한 폼 팩터들은 한정이 아니라 예시적으로 인용되며; 다른 배열들도 가능하다.
본 예에서는, 현실 감지 프레임워크가 함께 동작하는 2개의 증강 현실 애플리케이션을 포함하는 것으로 가정한다. 그들은 그들이 동일한 실세계(102)를 감지하고, 동일한 출력 프레젠테이션(130)에 기여하는 추가 정보를 생성한다는 점에서 함께 동작한다.
제1 증강 현실 애플리케이션이 (허가 정보에 의해 허가되는 경우에) 실세계(102) 내에 나타나는 하나 이상의 얼굴과 관련된 얼굴 인식 데이터를 인식 시스템으로부터 수신하는 것으로 가정한다. 이어서, 제1 증강 현실 애플리케이션은 탐색 동작을 수행하여, 얼굴 인식 데이터를 하나 이상의 이전에 등록된 얼굴 인식 데이터의 인스턴스와 매칭시키며, 각각의 인스턴스에는 이름이 태깅된다. 이어서, 제1 증강 현실 애플리케이션은 출력 프레젠테이션(130) 상에서 하나 이상의 매칭 이름과 관련된 라벨들을 제공한다. 도 1은 제1 증강 현실 애플리케이션에 의해 생성되는 하나의 그러한 라벨(132)을 도시한다. 제1 증강 현실 애플리케이션은 아래에서 주석 애플리케이션으로서 지칭된다.
제2 증강 현실 애플리케이션은 (허가 정보에 의해 허가되는 경우에) 인식 시스템으로부터 원시 비디오 정보를 수신한다. 이어서, 제2 증강 현실 애플리케이션은 존재할 경우에 비디오 정보 내에서 텍스트를 인식한다. 이어서, 제2 증강 현실 애플리케이션은 오리지널 텍스트를 대체 텍스트(134)의 인스턴스와 같은 오리지널 텍스트의 미화 버전으로 대체한다. 제2 증강 현실 애플리케이션은 아래에서 필사 애플리케이션으로서 지칭된다.
인식될 수 있는 바와 같이, 전술한 증강 현실 애플리케이션들의 분류는 한정이 아니라 예시적으로 인용된다. 현실 감지 프레임워크는 임의 수의 증강 현실 애플리케이션(또는 더 일반적으로는 임의의 환경 감지 애플리케이션들)을 수용할 수 있으며, 이들 각각은 임의의 기능을 수행할 수 있고, 임의의 시간에 활성 또는 비활성일 수 있다.
출력 프레젠테이션(130)은 제1인(104) 및 백판(106)의 편집된 묘사도 포함한다는 점에 유의한다. 현실 감지 프레임워크는 그러한 묘사를 후술될 상이한 방식들로 제공할 수 있다.
도 1에 도시된 시나리오에 의해 유발되는 문제의 몇 가지 고레벨 양태를 고려한다. 실세계(102)는 사실상 사적이거나 민감한 것으로 간주될 수 있는 여러 아이템을 포함한다. 예를 들어, 백판(106)은 비밀 정보를 포함할 수 있는 작성물을 포함한다. 예를 들어, 제1인(104)이 회사의 직원이고, 그 사람이 회사의 구내에 위치하는 백판(106) 상에 (작성물(116)에 의해 전달되는 바와 같은) 상품의 판매 개시일을 적어 놓은 경우를 고려한다. 회사는 그러한 정보가 회사 밖으로 유출되는 것을 방지하기를 원할 수 있다.
유사하게, 실세계(102)는 제1인(104) 자체를 포함한다. 그 사람(104)은 그의 얼굴(108), 이야기, 배지(110) 등을 개인 정보로서 간주할 수 있다. 따라서, 제1인(104)은 이러한 개인 아이템들이 무허가 엔티티들로 통신되는 것을 방지하기를 원할 수 있다. 이러한 프라이버시 문제들은 욕실, 라커룸, 나이트클럽, 의사의 사무실 등과 같이 강화된 프라이버시가 통상적으로 적용되는 환경들에서 특히 현저할 수 있다.
도 1의 시나리오에서 제2인(124)은 제1인(104)의 표현을 캡처하고 있다는 점에 유의한다. 이러한 배열은 제1인(104)이 주로 민감한 정보의 유출에 관심을 갖는 사람일 것이라는 것을 의미한다. 그러나, 더 일반적으로는, 감지 환경에 포함되거나 그에 의해 영향을 받는, 제2인(124) 자체를 포함하는 누군가가 프라이버시의 침해에 관심을 가질 수 있다.
개인 정보는 전술한 시나리오에서 다양한 메커니즘들을 통해 위태로워질 수 있다. 첫째, 잠재적 악성 애플리케이션이 직접 개인 정보를 수신할 수 있다. 일부 예들에서, 애플리케이션은 그의 할당된 작업을 수행하기 위해 개인 정보를 필요로 하지 않을 수도 있다. 둘째, 개인 정보를 (정당하게 또는 부당하게) 제공받은 애플리케이션이 개인 정보를 다른 엔티티와 부적절한 방식으로 공유할 수 있다. 예를 들어, 주석 애플리케이션은 검출된 이름(즉, "John Cheng")을 다른 애플리케이션과 공유하려고 시도할 수 있다. 셋째, 애플리케이션은 예를 들어 제1인(104)의 얼굴(108) 등을 컴퓨팅 장치(126)의 디스플레이 메커니즘(128) 상에 표시함으로써 민감한 정보를 출력 장치들에 제공할 수 있다.
도 2로 진행하면, 이 도면은 적어도 전술한 문제들에 대한 솔루션을 제공하는 현실 감지 프레임워크(202)를 도시한다. 현실 감지 프레임워크(202)는 하나 이상의 증강 현실 애플리케이션(204) 및/또는 임의의 다른 환경 감지 애플리케이션들의 집합을 포함한다. 현실 감지 프레임워크(202)는 애플리케이션들(204)을 임의의 소스(들)(206)로부터 임의의 방식으로 수신할 수 있다. 일례에서, 사용자는 증강 현실 애플리케이션을 그러한 애플리케이션들의 온라인 시장과 같은 임의의 소스로부터 명확히 다운로드하거나 취득할 수 있다. 다른 예에서, 사용자는 예를 들어 애플리케이션을 호출하는 온라인 웹사이트를 방문함으로써 또는 애플리케이션을 자동으로 호출하는 임의의 다른 이벤트를 트리거링함으로써 애플리케이션을 더 수동적으로 선택할 수 있다. 애플리케이션은 임의의 컴퓨팅 언어 또는 컴퓨팅 언어들의 조합으로 표현되는 일련의 컴퓨터 구현 명령어들에 대응한다.
애플리케이션들(204)은 잠재적 비신뢰 기능(208)에 대응한다. 현실 감지 프레임워크(202)의 나머지는 신뢰 기능(210)에 대응한다. 비신뢰 기능(208)은 그가 신뢰 기능(210)과 동일한 타입의 강건한 보안 개런티들을 제공하지 않는다는 점에서 신뢰되지 않는다. 일례에서, 신뢰 기능(210)은 컴퓨팅 장치의 운영 체제에 의해 제공되는 기능에 의해 적어도 부분적으로 구현될 수 있다. 다른 예에서, 신뢰 기능(210)은 운영 체제와 애플리케이션들(204) 사이에 존재하는 소프트웨어에 의해 적어도 부분적으로 제공될 수 있다. 신뢰 기능(210)의 또 다른 구현들이 가능하다.
신뢰 기능(210)은 2개의 주요 정보 흐름을 포함한다. 제1 주요 흐름에서, 정책 기반 관리 모듈(212)(이하, 간단히 "관리 모듈")이 감지 환경(214)으로부터 정보를 수신한다. 환경(214)은 (아래에서 더 상세히 설명되는) 다양한 감지 특징들(216)에 의해 특성화된다. 관리 모듈(212)은 (데이터베이스 등과 같은) 하나 이상의 추가 소스로부터 환경(214)에 관한 보완 정보(218)도 수신할 수 있다. 이러한 정보에 기초하여, 관리 모듈(212)은 애플리케이션들(204)의 거동을 관리하는 데 적합한 하나 이상의 정책을 결정한다. 제2 주요 흐름에서, 애플리케이션들(204)은 출력 정보를 공유 렌더러(220)에 제공한다. 공유 렌더러(220)는 출력 정보에 기초하여 공유 상태 정보를 갱신한다. 이어서, 공유 렌더러(220)는 공유 상태 정보에 기초하여 출력 프레젠테이션을 생성하여, 도 1의 디스플레이 메커니즘(128)과 같은 하나 이상의 출력 장치(222)에 제공한다.
정책은 임의의 애플리케이션의 거동의 상이한 양태들을 제어할 수 있다. 예로서, 정책은 애플리케이션이 환경(214)으로부터 판독하는 것이 허가되는 정보의 타입을 지정할 수 있다. 추가로 또는 대안으로서, 정책은 하나의 애플리케이션이 다른 애플리케이션 또는 다른 엔티티와 공유하는 것이 허가되는 정보를 관리할 수 있다. 추가로 또는 대안으로서, 정책은 애플리케이션이 디스플레이 메커니즘(128)과 같은 출력 장치로 전송하는 것이 허가되는 정보를 관리할 수 있다. 추가로 또는 대안으로서, 정책은 애플리케이션이 실행하는 것이 허가되는 코드를 관리할 수 있으며, 기타 등등일 수 있다.
고레벨 관점에서, 현실 감지 프레임워크(202)는 신뢰 기능(210)을 이용하여, 환경(214) 내의 단서들에 기초하여 정책들을 결정한다. 이러한 점에서, 현실 감지 프레임워크(202)는 세계 주도 정책 사양을 제공하는 것으로 일컬어질 수 있다. 또한, 정책들이 궁극적으로 애플리케이션들(204)에 적용되지만, 정책들 중 다수는 임의의 특정 애플리케이션과 일대일 대응 관계를 갖지 않는다. 이러한 점에서, 현실 감지 프레임워크(202)는 적어도 부분적으로는 사실상 애플리케이션 불가지론적인 것으로 간주될 수 있다.
위에서 요약된 접근법은 정책 지정에 대한 애플리케이션 중심 접근법에 비해 다양한 이익들을 갖는다. 첫째, 세계 주도 접근법은 많은 수의 애플리케이션에 적용되고 다양한 환경에서 사용될 수 있으므로 애플리케이션 중심 접근법에 비해 잠재적으로 더 유용하다. 이와 달리, 애플리케이션 중심 솔루션들은 특정 상황들에서 동작하는 특정 애플리케이션들에 좁게 적용될 수 있다. 둘째, 세계 주도 접근법은 애플리케이션 고유 접근법에 비해 실패할 가능성이 더 적다. 이러한 특성은 세계 주도 접근법이 환경 내의 다양한 잠재적 중복 단서들의 수집 및 분석을 포함한다는 사실로부터 발생할 수 있다. 이와 달리, 각각의 애플리케이션 중심 솔루션은 특정 트리거링 상황의 검출에 기초하여 동작할 수 있다. 셋째, 세계 주도 접근법은 애플리케이션 중심 접근법보다 더 표준화된다. 이러한 팩터는 애플리케이션 개발자들 및 장치 제조자들에 의한 구조화된 접근법 개선 및 확장을 촉진할 수 있다. 넷째, 세계 주도 접근법은 애플리케이션 중심 솔루션들에 비해 잠재적으로 더 신뢰성 있다. 이러한 팩터는 세계 주도 접근법이 일회용 비신뢰 애플리케이션 기능에 의존하는 것이 아니라 신뢰 기능(210)을 사용한다는 사실에 기인한다. 전술한 이익들은 한정이 아니라 예시적으로 인용된다.
또한, 현실 감지 프레임워크(202)는 사용자가 환경(214)과 상호작용함에 따라 자동 또는 반자동 방식으로 정책들을 선택한다. 이러한 양태는 프라이버시 문제들의 처리에 있어서의 사용자 부담을 줄인다. 이와 달리, 프롬프트 주도 접근법에서, 사용자는 애플리케이션이 환경 데이터를 판독하기를 요청할 때마다 허가들을 승낙 또는 거절할지를 세밀하게 지정하도록 요구될 수 있다. 전통적인 목록 주도 접근법에서, 사용자는 애플리케이션이 설치될 때 허가들을 승낙 또는 거절하도록 요구될 수 있지만, 사용자는 그가 애플리케이션에 대해 승낙하고 있는 실제 허가들의 특성을 충분히 이해하지 못할 수 있다. (그러나, 세계 주도 접근법은 프롬프트 주도 접근법 및/또는 목록 주도 접근법의 양태들과 결합될 수 있다.)
함께 취해질 때, 전술한 현실 감지 환경의 이익들은 일상 환경들에서의 증강 현실 애플리케이션들 및 장치들(및 다른 환경 감지 애플리케이션들 및 장치들)의 수용을 촉진할 수 있다. 예를 들어, 표준화되고 신뢰되는 플랫폼 특성은 증강 현실 애플리케이션들의 능력들에 대한 두려움을 완화하여, 최종 사용자, 방관자, 소유자 등이 애플리케이션들을 과도하게 거절할 가능성을 낮추는 것을 도울 수 있다.
도 3은 도 2의 관리 모듈(212)의 일 구현을 도시한다. 관리 모듈(212)은 상이한 각각의 기능을 수행하는 상이한 컴포넌트들을 포함하거나, 포함하는 것으로서 개념화될 수 있다. 컴포넌트들은 동일한 장소에 배치되거나, 복수의 장소에 분산될 수 있다. 또한 설명될 도 10은 관리 모듈(212)의 일 구현에 관한 추가 정보를 제공한다.
도면의 상부에서 시작하면, 관리 모듈(212)은 환경(214) 내의 특징들(216)을 식별하기 위한 인식 시스템(304)을 포함한다. 이러한 작업을 수행하기 위해, 인식 시스템(304)은 하나 이상의 환경 감지 메커니즘(306)으로부터 지각 정보를 수신할 수 있다. 예시적인 환경 감지 메커니즘들(306)은 하나 이상의 비디오 카메라, 하나 이상의 마이크, 하나 이상의 움직임 감지 장치(예로서, 하나 이상의 가속도계, 자이로스코프 등), 하나 이상의 촉각 입력 장치, 하나 이상의 진동 감지 장치 등을 포함하지만 이에 한정되지 않는다. 원시 지각 정보는 감지 환경(214)과 관련된 비교적 낮은 레벨의 특징들에 대응할 수 있다.
게다가, 인식 시스템(304)은 옵션으로서 지각 정보로부터 추가적인 더 높은 레벨의 특징들을 추출할 수 있다. 예컨대, 인식 시스템(304)은 하나 이상의 인식기를 포함할 수 있고, 이들 각각은 (원시 지각 정보에 비해) 더 높은 레벨의 하나 이상의 특징을 생성한다. 인식 시스템(304)은 수집된 모든 정보를 데이터 저장소(308)에 저장할 수 있다. 그러한 정보는 감지 정보로서 지칭된다.
정책 처리 모듈(310)은 감지 정보에 기초하여 허가 정보를 생성한다. 그러한 허가 정보는 하나 이상의 애플리케이션(204)의 동작을 관리한다. 정책 처리 모듈(310)은 또한 상이한 각각의 기능을 수행하는 상이한 컴포넌트들을 포함한다.
먼저, 맵핑 모듈(312)은 감지 정보를 하나 이상의 후보 정책에 맵핑하도록 동작한다. 각각의 후보 정책은 적어도 2개의 컴포넌트를 가질 수 있다. 제1 컴포넌트는 후보 정책과 관련된 감지 환경 내의 하나 이상의 양태를 식별한다. 각각의 그러한 양태는 본 명세서에서 객체로서 지칭된다. 제2 컴포넌트는 객체(들)와 관련된 프라이버시 관련 입장을 지칭한다. 예를 들어, 도 1의 예에서, 하나의 객체는 백판(106) 상의 작성물(116)에 관한 정보와 관련된다. 그 객체에 관한 후보 정책은 어떠한 애플리케이션도 작성물(116)을 표현하는 원시 비디오를 캡처하는 것이 허가되지 않는 것으로 지정할 수 있다. 각각의 그러한 정책은 잠정적이므로 "후보 정책"인 것으로 적격화되는데, 즉 이 스테이지에서 정책 처리 모듈(310)은 후보 정책을 해당 객체에 적용하기로 아직 결정하지 못했다. 전술한 작업들을 수행하기 위해, 맵핑 모듈(312)은 하나 이상의 맵핑 자원(314)에 의존한다. 아래의 설명은 맵핑 자원들(314)의 상이한 가능한 구현들에 관한 추가 상세들을 제공할 것이다.
맵핑 모듈(312)은 그의 처리의 결과를 반영하는 후보 정책 정보를 데이터 저장소(316)에 저장한다. 예로서, 후보 정책 정보는 환경 내의 복수의 인식된 객체를 식별할 수 있으며, 각각의 객체에는 하나 이상의 후보 정책 및/또는 다른 특성 정보가 태깅된다.
정책 해결 모듈(318)은 예로서 각각의 인식된 객체와 관련된 둘 이상의 후보 정책의 세트 중에서 선택함으로써 각각의 객체에 대한 정책을 선택한다. 이러한 작업을 수행하기 위해, 정책 해결 모듈(318)은 해결 규칙들(320)에 의존한다. 해결 규칙들(320)은 충돌하는 후보 정책들 중에서 선택하기 위한 하나 이상의 전략을 식별할 수 있다. 이어서, 정책 해결 모듈(318)은 최종 정책 정보를 데이터 저장소(322)에 저장한다. 최종 정책 정보는 정책이 결정될 수 있는 경우에 환경 내의 감지된 객체들의 리스트 및 각각의 객체와 관련된 최종 정책을 식별할 수 있다.
허가 설정 모듈(324)은 최종 정책 정보에 기초하여 각각의 객체에 대해 각각의 애플리케이션에 대한 허가들을 설정한다. 이러한 작업을 수행하기 위해, 허가 설정 모듈(324)은 데이터 저장소(326) 내의 허가 설정 규칙들에 의존할 수 있다. 허가 설정 모듈(324)은 허가 정보를 구성하는 그의 처리의 결과를 데이터 저장소(328) 내에 저장한다.
마지막으로, 거동 관리 모듈은 허가 정보를 이용하여 각각의 애플리케이션의 거동을 관리한다. 전술한 바와 같이, 애플리케이션의 거동의 임의의 양태가 제어될 수 있다.
도 4는 맵핑 모듈(312), 정책 해결 모듈(318), 허가 설정 모듈(324) 및 거동 관리 모듈(330)을 포함하는 관리 모듈(212)의 동작에 관한 추가 정보를 제공한다.
맵핑 모듈(312)은 검출된 특징들을 수신한다. 도 1의 예에서, 예를 들어, 특징들은 제1인(104), 제1인의 얼굴(108), 제1인의 배지(110), 제1인의 제스처(114), 백판(106), 백판(106) 상의 작성물(116), 코드 보유 라벨(118), 메시지(120) 등에 관한 원시 지각 정보를 포함한다. 특징들은 신호 소스들(122)에 의해 수신되는 임의의 신호들도 포함한다. 이러한 아이템들은 비교적 낮은 레벨의 특징들을 구성한다. 특징들은 인식 시스템(304)에 의해 추출되는 더 높은 레벨의 정보, 예로서 인식된 얼굴을 나타내는 데이터, 인식된 신체 자세를 나타내는 데이터, 인식된 텍스트를 나타내는 데이터, 인식된 위치를 나타내는 데이터, 해석된 코드 보유 특징들을 제공하는 데이터 등도 포함할 수 있다. 이러한 특징들은 한정이 아니라 예시적으로 인용되며; 인식 시스템(304)은 특징들을 구성할 수 있는 또 다른 정보를 제공할 수 있다.
맵핑 모듈(312)은 감지 정보를 후보 정책들에 맵핑한다. 전술한 바와 같이, 각각의 후보 정책은 환경 내의 소정의 인식된 객체에 관한 애플리케이션 거동과 관련된다. 일부 예들에서, 객체는 낮은 레벨의 "원시" 지각 아이템으로부터 (인식된 얼굴과 같은) 더 높은 레벨의 추상 특징에 걸치는 단일의 인식된 특징에 대응할 수 있다. 다른 예들에서, 객체는 특징들의 집합의 해석에 대응할 수 있다. 객체는 예를 들어 환경의 매우 작은 부분에 대한 정보로부터 그 부분이 나타나는 (방, 빌딩, 도시 등과 같은) 넓은 장소에 대한 정보에 걸치는 임의의 공간 범위를 가질 수도 있다.
예를 들어, 도 5로 잠깐 진행하면, 이 도면은 도 1의 백판(106)과 관련된 객체들의 집합을 요약한다. 실제 백판(106)은 인식된 백판 객체(502)에 맵핑된다. 그러한 백판 객체(502)는 (예로서, 특정 도시 또는 지역과 관련된) 인식된 지리 위치 객체(504), 인식된 빌딩 객체(506) 및 인식된 방 객체(508)와 같은 하나 이상의 더 높은 레벨의 객체와 관련된 포괄적인 상황에서 발생한다. 백판 객체(502)는 또한 백판(106)의 개별 양태들과 관련된 다양한 "자식" 객체들을 갖는다. 예를 들어, 하나의 자식 객체(510)는 백판(106) 자체의 인식된 물리적 특성들, 예로서 그의 컬러, 위치, 크기 등에 대응한다. 다른 자식 객체(512)는 백판(106) 상에 제공되는 인식된 정보 보유 콘텐츠에 대응한다.
정보 보유 콘텐츠는 또한 정책 지정 객체(514) 및 "다른 콘텐츠" 객체(516)로 더 분할될 수 있다. 정책 지정 객체(514)는 환경에서 발견되는 인식된 정책 지정 특징들과 관련되며, 이들 각각은 정책을 명확히 지정한다. 정책 지정 특징들은 적어도 코드 보유 라벨(118) 및 메시지(120), 및 아마도 신호 소스들(122) 중 하나 이상의 소스를 포함한다. "다른 콘텐츠" 객체(516)는 백판(106) 상의 인식된 작성물(116)과 관련된다. "다른 콘텐츠" 객체(516)는 또한 원시 비디오 객체(518) 및 더 높은 레벨의 객체(520)로 더 분할될 수 있다. 원시 비디오 객체(518)는 추가적인 해석 없이 비디오 카메라에 의해 제공되는 인식된 원시 RGB 정보에 대응할 수 있다. 더 높은 레벨의 객체(520)는 원시 RGB 정보를 해석함으로써 생성되는 임의의 더 높은 레벨의 결과, 예로서 해석된 텍스트 정보 등에 대응할 수 있다.
맵핑 모듈(312)은 정책 지정 특징들은 예외로 하고 도 5의 객체들 각각에 대한 하나 이상의 후보 정책을 식별할 수 있다. 즉, 일 구현에서, 정책 지정 특징들은 계층 구조 내의 다른 객체들에 적용되는 후보 정책들을 직접 지정하는 목적에 기여하며, 그들 자체가 정책들의 "수신자"는 아니다. 그러나, 다른 예들에서는, 하나 이상의 정책을 이용하여, 정책 지정 특징이 해석되는 방식을 적격화할 수 있다.
인식될 수 있는 바와 같이, 도 5에 도시된 계층 구조는 한정이 아니라 예시적으로 제공된다. 백판(106)의 다른 개념적인 분할들은 추가적인 노드들, 더 적은 노드들, 및/또는 노드들의 상이한 조직들을 포함할 수 있다.
맵핑 모듈(312)은 후보 정책들을 상이한 방식들로 식별할 수 있으며, 일부 기술들은 다른 기술들보다 직접적일 수 있다. 제1 접근법에서, 맵핑 모듈(312)은 임의의 인식 기술을 이용하여, 환경 내의 특정 물리 엔티티의 존재를 결정할 수 있다. 이어서, 맵핑 모듈(312)은 이러한 물리 엔티티가 임의의 후보 정책 또는 정책들과 관련되는지를 결정할 수 있다. 후보 정책은 물리 엔티티와 관련된 인식된 객체 및/또는 환경 내의 다른 인식된 객체들에 적용될 수 있다. 예를 들어, 맵핑 모듈(312)은 이미지 인식 기술을 이용하여, 환경 내의 하수구 또는 화장실의 존재를 검출할 수 있다. 맵핑 모듈(312)은 이러한 물리 엔티티들이 욕실 환경과 관련되는 것으로 결정할 수 있다. 이어서, 맵핑 모듈(312)은 욕실 환경에 적용할 하나 이상의 후보 정책을 식별할 수 있다. 그러한 후보 정책들과 관련된 객체들은 욕실 환경에서 취득될 수 있거나 욕실 환경과 관련되는 임의의 정보 아이템들에 대응한다.
다른 예에서, 맵핑 모듈(312)은 임의의 인식 기술을 이용하여 환경 내의 특정 이벤트의 존재를 결정할 수 있다. 이어서, 맵핑 모듈(312)은 이러한 이벤트가 임의의 후보 정책 또는 정책들과 관련되는지를 결정할 수 있다. 예를 들어, 맵핑 모듈(312)은 제스처 인식 기술을 이용하여, 제1인(104)이 그의 손가락을 앞뒤로 흔들고 있는 것으로 결정할 수 있다. 이어서, 맵핑 모듈(312)은 임의의 후보 정책들이 이러한 거동과 관련되는지를 결정할 수 있다. 그러한 후보 정책과 관련된 객체는 거동을 수행하고 있는 사람에 관한 정보, 또는 더 일반적으로는 (백판(106)에 관한 정보를 포함하는) 거동이 수행되는 당면한 환경에 관한 모든 정보에 대응할 수 있다.
다른 타입의 제스처들은 어떠한 오디오 기록도 허용되지 않는다는 것을 지시하기 위해 손가락을 입술에 대는 제스처, 모든 기록이 금지된다는 것을 지시하기 위한 팜스-업 홀트 제스처(palms-up halt gesture) 또는 암스 크로스드 제스처(arms-crossed gesture) 등을 포함할 수 있다. 장면을 캡처하고 있는 사람을 포함하는 장면과 관련된 임의의 사람이 그러한 제스처를 취할 수 있다.
다른 타입의 이벤트는 회의실 내의 닫히거나 열린 문 또는 회의실 문을 열거나 닫는 행위와 같은 환경 내의 물리 상태에 대응한다. 예를 들어, 닫힌(또는 열린) 문은 프라이버시가 요구된다는 것을 지시할 수 있다. 다른 타입의 이벤트가 사람에 의해 만들어진 발언 또는 잡음에 대응할 수 있다. 예를 들어, 사람은 "어떠한 기록도 허용되지 않는다"는 것을 지정하는 구두 요청을 행할 수 있다. 또는 사람은 오디오 기록이 허용되지 않는다는 것을 지시하기 위해 "쉬잇" 소리를 낼 수 있다. 또는 사람은 강화된 프라이버시가 적용된다는 것을 지시하기 위해 작은 소리로 얘기할 수 있다.
다른 예에서, 맵핑 모듈(312)은 신호 소스들(122) 중 임의 소스로부터 생성된 신호의 존재를 결정할 수 있다. 이어서, 맵핑 모듈(312)은 이러한 신호를 존재할 경우에 하나 이상의 후보 정책에 맵핑할 수 있다. 더 구체적으로, 일부 예들에서, 신호는 후보 정책을 직접 식별한다. 다른 예에서, 맵핑 모듈(312)은 신호 소스를 위치(및/또는 소정의 다른 특성 또는 특성들)에 맵핑한 후에 그러한 중간 정보를 하나 이상의 후보 정책에 맵핑할 수 있다.
다른 예에서, 맵핑 모듈(312)은 후보 정책과 직접 관련된 환경 내의 임의의 검출된 특징으로서 정의되는 임의의 정책 지정 특징의 존재를 결정할 수 있다. 이어서, 맵핑 모듈(312)은 그러한 특징과 관련된 후보 정책을 검색한다. 예를 들어, 전술한 바와 같이, 신호가 후보 정책과 직접 관련될 수 있으며, 따라서 일 타입의 정책 지정 특징이다. 코드 보유 라벨(118) 및 메시지(120)는 2개의 다른 정책 지정 특징이다. 도 1의 예에서, 라벨(118) 및 메시지(120)는 백판(106)에 첨부되며, 따라서 인식된 백판 객체와 관련된다. 다른 예(도시되지 않음)에서, 사람은 그가 그의 어떠한 퍼스널 정보(personal information)도 컴퓨팅 장치에 의해 캡처되는 것을 원하지 않는다는 것을 지시하는 "옵트-아웃" 코드를 착용하거나 운반하거나 제공할 수 있다. 다른 예(도시되지 않음)에서, 컴퓨터 스크린 상에 또는 물리적 문서 내에 나타나는 개인 정보가 그러한 옵트-아웃 코드를 포함할 수 있다.
특징들을 후보 정책들에 맵핑하는 전술한 방법들은 한정이 아니라 예시적으로 인용된다. 후보 정책들을 발견하기 위한 또 다른 직접 및 간접 기술들이 가능하다. 일반적으로, 일 구현에서, 정책에 의해 보호될 객체의 특성에 맞는 모드를 이용하여 정책을 지정하는 것이 바람직할 수 있다. 예를 들어, 많은 가능한 모드 가운데 특히, 가시 모드를 이용하여, 비디오 정보에 대한 정책을 지정하는 것이 바람직할 수 있는데, 그 이유는 비디오 정보 자체가 사실상 보이기 때문이다. 이러한 선택이 잠재적으로 유용한 이유는 시각적 단서를 놓친 컴퓨팅 장치가 보호되고 있는 사적인 가시 정보를 검출하지 못할 수도 있기 때문이다.
맵핑 모듈(312)은 하나 이상의 맵핑 자원(314)에 의존하여 전술한 맵핑 작업들을 수행할 수 있다. 도 3은 맵핑 자원들(314)을 인식 시스템(304)으로부터 분리된 것으로 도시한다. 그러나, 맵핑 자원들(314) 중 하나 이상은 대안으로서 예를 들어 인식 시스템(304)에 의해 제공되는 각각의 인식기로서 인식 시스템(304)에 의해 구현될 수 있다. 예를 들어, 일례에서, 맵핑 모듈(312)은 이미지 인식기를 이용하여 환경 내의 인식된 백판 객체의 존재를 결정할 수 있다. 다른 예에서, 인식 시스템(304)은 이러한 기능을 수행하는 인식기를 이용할 수 있으며; 따라서 감지 정보 내의 더 높은 레벨의 특징들 중 하나는 백판 객체의 존재를 지시할 수 있다.
한정 없이, 맵핑 자원들(314)은 아래의 메커니즘들 중 임의의 메커니즘을 포함할 수 있다.
이미지 정보에 기초하는 객체 인식. 맵핑 자원들(314)은 이미지 정보를 처리하기 위한 패턴 인식 기술을 포함할 수 있다. 즉, 패턴 인식 기술은 시각 특징 정보를 식별된 객체에 확률적으로 맵핑함으로써 동작할 수 있다. 예를 들어, 패턴 인식 기술은 예를 들어 환경 내의 대체로 편평한 직사각형 백색 아이템의 존재에 기초하여 이미지 관련 특징들의 집합을 백판 객체에 대응하는 것으로서 식별할 수 있다. 패턴 인식 기술은 통상적인 기계 학습 기술들을 이용하여 훈련되는 모델에 기초하여 동작할 수 있다.
오디오 정보에 기초하는 음성 인식. 맵핑 자원들(314)은 오디오 인식 기술을 포함할 수 있다. 오디오 인식 기술은 사용자의 음성 내의 키 용어들 또는 문구들을 현저한 정책 관련 문구들과 비교함으로써 동작한다. 예를 들어, 오디오 인식 기술은 사용자가 텔테일 문구(telltale phrase)인 "don't record" 또는 "stop recording me" 등을 발언하는지를 검출할 수 있다. 음성 인식 기술은 통상적인 기계 학습 기술들을 이용하여, 예로서 일련의 발언들 및 그러한 발언들의 승인된 해석들을 포함하는 훈련 세트를 이용하여 훈련되는 모델에 기초하여 동작할 수 있다.
제스처 인식. 맵핑 모듈(314)은 환경 내의 사람의 거동, 또는 환경 내에서 발생하는 임의의 다른 이벤트를 인식하기 위한 기술들도 포함할 수 있다. 예를 들어, 제스처 인식 기술을 이용하여, 도 1에 도시된 제1인의 거동과, 기록이 허가 또는 금지되는지와 관련된 공지 제스처들을 설명하는 데이터베이스를 비교할 수 있다. 제스처 인식 기술은 기계 학습 기술을 이용하여 훈련되는 모델들을 공지된 방식으로 적용할 수 있다.
텍스트 인식. 맵핑 자원들(314)은 광학 문자 인식 등과 같은 작성물의 인식을 수행하기 위한 텍스트 인식 엔진도 포함할 수 있다.
탐색 자원들. 맵핑 자원들(314)은 입력 정보를 출력 정보에 맵핑하는 하나 이상의 탐색표를 포함할 수 있다. 예를 들어, 탐색표에 제공되는 입력 정보는 (신호 소스들(122)로부터 획득되는) 신호 정보, 위치 정보, 소유권 정보, (인식된 객체를 식별하는) 객체 정보 등의 임의의 조합에 대응할 수 있다. 출력 정보는 위치 정보, 소유권 정보, 객체 정보, 후보 정책 정보 등의 임의의 조합에 대응할 수 있다.
다른 탐색표는 예를 들어 인식된 토큰들에 기초하여 키워드 검색을 수행함으로써, 인식된 텍스트 메시지들을 하나 이상의 후보 정책에 맵핑할 수 있다. 다른 탐색표는 코드 보유 라벨들을 하나 이상의 후보 정책에 맵핑할 수 있다. 예를 들어, 도 1의 코드 보유 라벨(118)은 고속 응답(QR) 코드에 대응할 수 있다. 탐색표는 이러한 코드를 판독함으로써 추출된 정보를 특정 후보 정책에 맵핑하거나, 코드를 특정 후보 정책과 관련되는 링크에 맵핑할 수 있다.
또한, 탐색표들은 층계화될 수 있으며, 따라서 하나의 탐색표의 출력은 다른 탐색표에 제공되는 입력에 대응할 수 있다. 예를 들어, 제1 탐색표는 위치 정보를 소유권 정보에 맵핑할 수 있고, 제2 탐색표는 소유권 정보를 후보 정책 정보에 맵핑할 수 있다.
또한, 상이한 탐색표들이 상이한 정책 설정 소스들로부터 생성될 수 있다. 예를 들어, 각자가 위치 정보를 후보 정책에 맵핑하는 표들의 패밀리를 고려한다. 제1 표는 검출된 객체들과 관련된 소유자들에 의해 설정되는 정책들을 정의할 수 있다. 제2 표는 표준 단체에 의해 설정되는 정책들을 정의할 수 있다. 제3 표는 지역 공동체에 의해 설정되는 정책들을 정의할 수 있다. 제4 표는 (애플리케이션(들)을 실행하는 컴퓨팅 장치를 조작하고 있는) 사용자 자신에 의해 설정되는 정책들을 정의할 수 있다. 다시, 이러한 맵핑은 주어진 객체에 대한 복수의 후보 정책을 생성할 수 있다.
태그 대 객체 맵퍼들. 맵핑 자원들(314)은 하나 이상의 태그 대 객체 맵퍼도 포함할 수 있다. 태그 대 객체 맵퍼는 (신호, 코드 보유 라벨, 메시지 등과 같은) 정책 지정 특징을 특징의 후보 정책이 적용되는 환경 내의 객체(또는 복수의 객체)와 관련시킨다. 태그 대 객체 맵퍼는 상이한 기술들을 이용하여 이러한 작업을 완성할 수 있다. 일례에서, 후보 정책 자체가 그와 관련된 객체를 직접 지정한다. 예를 들어, QR 코드가 신용 카드에 첨부될 수 있다. 그러한 QR 코드는 자신이 캡처된 장면 내의 인식된 신용 카드에 또는 신용 카드로부터 취득된 소정의 정보에만 적용된다는 것을 명확히 지정하는 후보 정책에 맵핑될 수 있다. 이 경우, 태그 대 객체 맵퍼는 정책 자체와 관련된 임의의 정보를 검사하여, 그가 적용되는 객체(들)를 결정할 수 있다.
다른 예에서, 태그 대 객체 맵퍼는 라벨 또는 메시지가 도 1의 백판(106)과 같은 물리 엔티티에 부착되는 것으로 나타나는지를 결정할 수 있다. 태그 대 객체 맵퍼는 비디오 분석, 깊이 이미지 분석 및/또는 다른 도구들을 이용하여 이러한 결정을 행할 수 있다. 태그와 호스트 엔티티 사이에 관련성이 존재하는 경우, 태그 대 객체 맵퍼는 식별된 정책을 식별된 호스트 엔티티에 관한 임의의 캡처된 정보와 관련시킬 수 있다.
다른 예에서, 태그 대 객체 맵퍼는 코드 보유 라벨, 메시지, 신호 소스 또는 다른 정책 지정 특징의 소정 반경 내에 존재하는 하나 이상의 엔티티를 결정할 수 있다. 이어서, 태그 대 객체 맵퍼는 식별된 정책을 그러한 엔티티들에 관한 임의의 캡처된 정보와 관련시킬 수 있다.
분류 자원들. 맵핑 자원들(314)은 하나 이상의 분류 자원도 포함할 수 있으며, 이들 각각은 세계 내의 객체들의 조직을 설명한다. 예를 들어, 특정 회사는 (도 5와 같은) 계층구조 또는 다른 분류 스킴으로 조직된, 회사의 구내에서 발견된 인식 가능 객체들을 설명하는 분류 자원을 제공할 수 있다. 일부 상황들에서, "자식" 객체는 그의 부모 또는 조상 객체들의 특성들을 상속받을 수 있다.
응용에 있어서, 맵핑 모듈(312)은 소유권, 후보 정책 등과 같은 특성들을 객체들에 할당할 때 그러한 분류 자원을 참고할 수 있다. 예를 들어, 맵핑 모듈(312)은 소정 특성들을 인식된 객체에 할당할 수 있는데, 그 이유는 이러한 특성들이 부모 객체로부터 상속되기 때문이다. 맵핑 모듈(312)은 동일한 인식된 객체의 부모 객체가 변하는 경우에, 예를 들어 인식된 객체에 대응하는 물리 엔티티가 하나의 방으로부터 다른 방으로 이동될 때, 그 객체에 다른 특성들을 할당할 수 있다. 다른 예들에서, 분류 자원은 특정 객체에 상속이 적용되지 않는다는 것을 지시할 수 있다. 예를 들어, 분류 자원은 개인 신용 카드가 목격되는 장소에 관계없이 매우 사적인 물건으로서 간주되어야 한다는 것을 지시할 수 있다. 다른 예들에서, 객체는 둘 이상의 부모 또는 조상 노드로부터 복수의 후보 정책을 상속받을 수 있으며, 그러한 후보 정책들은 일관되지 않을 수 있다.
맵핑 모듈(312)은 적어도 하나의 유효성 결정 모듈(402)도 포함할 수 있다(또는 그에 대한 액세스를 가질 수 있다). 그러한 모듈은 식별된 후보 정책이 유효한지 또는 무효한지를 결정하려고 시도하는 분석을 수행한다. 예를 들어, 도 1의 경우, 코드 보유 라벨(118)은 백판(106)에 부착된다. 그러한 코드 보유 라벨은 다양한 이유로 무효할 수 있다. 일례에서, 악성 엔티티가 예를 들어 유효 라벨 위에 무효 라벨을 붙임으로써 백판(106) 상에 무효 라벨을 부착했을 수 있다.
더 구체적으로, 유효성의 결정은 적어도 2개의 문제를 제기할 수 있다. 첫째, 유효성 결정 모듈(402)은 식별된 정책이 알려진 소스와 참으로 관련되는지를 결정하려고 시도할 수 있다. 둘째, 유효성 결정 모듈(402)은 알려진 소스가 정책을 지정할 권한을 갖는지를 결정하려고 시도할 수 있다.
유효성 결정 모듈(402)은 하나 이상의 기술을 이용하여, 정책의 유효성을 평가할 수 있다. 하나의 기술에서, 코드 보유 라벨 또는 정책 지정 메시지 또는 다른 정책 지정 특징이 깨진 기판의 랜덤 에지 또는 기판 내의 입자들 또는 섬유들의 분포와 같이 부정하게 복제하기 어려운 특성들을 갖는 기판과 관련될 수 있다. 유효성 결정 모듈(402)은 이러한 복제하기 어려운 기판 특성을 감지하여, (그의 알려진 유효 상태에서) 그러한 특정 특성에 관한 이전에 저장된 정보와 비교할 수 있다. 현재의 판독이 이전의 판독과 다른 경우, 유효성 결정 모듈(402)은 코드 보유 라벨 또는 메시지가 잠재적으로 부정하므로 코드 보유 라벨 또는 메시지와 관련된 정책 정보를 거절할 수 있다.
다른 기술에서, 유효성 결정 모듈(402)은 크라우드소싱 기술들을 이용하여 정책을 검증할 수 있다. 예를 들어, 10명의 다른 사람이 그들의 컴퓨팅 장치들을 이용하여 특정 코드 보유 라벨을 판독하고, 한 명을 제외한 모든 개인이 동일한 후보 자원을 응답으로 수신하는 것으로 가정한다. 유효성 결정 모듈(402)은 이러한 발견을 이용하여 동떨어진 후보 정책을 거절하거나, 모든 후보 정책을 거절할 수 있다. 동떨어진 판독과 관련하여, 이러한 판독을 제공하는 컴퓨팅 장치는 컴퓨팅 장치를 악성 정책을 제공하는 악성 사이트로 지향시키는 바이러스의 영향을 받을 수 있다.
다른 기술에서, 유효성 결정 모듈(402)은 신뢰 증명서 부여 엔티티를 이용하여, 온라인 정책 정보가 신뢰 소스로부터 생성되는 것을 보증할 수 있다. 신뢰 증명서를 갖지 않는 정책은 거절될 수 있다.
다른 기술에서, 유효성 결정 모듈(402)은 환경 내의 복수의 단서를 이용하여, 후보 정책을 식별할 수 있다. 예를 들어, 맵핑 모듈(412)은 이미지 인식, 신호 소스 분서, 코드 보유 라벨(118)의 해석, 메시지(120)의 해석 등을 수행함으로써 백판 객체와 관련된 정책을 검출하려고 시도할 수 있다. 이것은 복수의 후보 정책을 생성할 수 있다. 일례에서, 맵핑 모듈(312)은 이러한 후보 정책들 모두를 정책 해결 모듈(318)로 전송하여, 그 모듈에게 백판 객체에 적용할 최종 정책을 선택하도록 요청할 수 있다. 그러나, 다른 예에서, 유효성 결정 모듈(402)은 특히 일치가 강하게 예상될 때 후보 정책들 사이에 불일치가 존재하는 경우에 하나 이상의 정책을 사전에 실격시킬 수 있다.
또 다른 기술들을 이용하여, 정책 정보의 유효성을 평가할 수 있다. 전술한 기술들은 한정이 아니라 예시적으로 설명된다.
이제, 분석의 정책 해결 스테이지로 진행하면, 정책 해결 모듈(318)은 상이한 기술들을 이용하여, 식별된 객체에 대한 후보 정책들 간의 충돌들을 자동으로 해결할 수 있다. 정책 해결 모듈(318)은 UI 프롬프팅 모듈(404)도 포함할 수 있다. UI 프롬프팅 모듈(404)은 다양한 상황들에서, 예를 들어 정책 해결 모듈(318)이 경쟁 정책들 중에서 자동으로 선택하기 위한 충분한 근거를 갖지 못하는 경우에, 사용자가 적절한 정책을 수동으로 선택하게 할 수 있다.
하나의 기술에서, 각각의 후보 정책은 우선순위 레벨과 관련된다. 정책 해결 모듈(318)은 최고 우선순위 레벨을 갖는 후보 정책을 선택한다. 다른 기술에서, 각각의 후보 정책은 제한성의 레벨과 관련된다. 예를 들어, 애플리케이션이 얼굴 인식 데이터만을 수신하는 것을 허가하는 정책은 애플리케이션이 얼굴과 관련된 풀 비디오 정보를 수신하는 것을 허가하는 정책보다 더 제한적이다. 2개의 후보 정책 간의 충돌의 경우, 정책 해결 모듈(318)은 가장 제한적인 정책을 최종 정책으로서 선택할 수 있다.
소정 예들에서, 정책 해결 모듈(318)은 사용자 지정 후보 정책에 우선권을 부여한다. 예를 들어, 사용자의 정책이 객체와 관련된 다른 후보 정책보다 더 제한적인 경우를 고려한다. 하나의 접근법에서, 정책 해결 모듈(318)은 사용자의 정책을 다른 정책 대신 자동으로 선택할 수 있는데, 그 이유는 그렇게 하는 것이 민감한 정보가 바람직하지 않게 노출되는 위험을 줄이기 때문이다.
이제, 사용자의 정책이 주어진 객체에 대한 다른 후보 정책보다 덜 제한적인 경우를 고려한다. 정책 해결 모듈(318)은 UI 프롬프팅 모듈(404)을 이용하여, 사용자에게 그의 정책이 세계 지정 정책으로부터 벗어난다는 것을 통지하고, 사용자에게 세계 지정 정책을 무효화하기를 원하는지를 물을 수 있다. 다른 예들에서, 정책 해결 모듈(318)은 다른 정책에 (예를 들어, "제안된" 정책 상태가 아니라) "강제" 정책 상태가 태깅되는 경우에만 그러한 프롬프트를 제공할 수 있다. 다른 예들에서, 정책 해결 모듈(318)은 "강제" 정책에 대한 사용자의 무효화를 금지하면서 "제안된" 정책에 대한 프롬프트를 제공할 수 있으며, 기타 등등일 수 있다. 추가로 또는 대안으로서, 정책 해결 모듈(318)은 컴퓨팅 장치를 조작하고 있는 사용자의 상태에 기초하여 다른 정책을 무효화할 수 있다. 예를 들어, 고레벨 직원은 강제 정책을 무효화하는 것이 허용될 수 있는 반면, 더 낮은 레벨의 직원 또는 알려진 프라이버시 남용자는 허용되지 않을 수 있다.
사용자 무효화의 가능성은 (일부 구현들에서) 관리 모듈(212)이 사용자가 바람직한 프라이버시 프로토콜들을 고의로 위반하는 것을 방지하지 않는다는 것을 의미한다. 오히려, 관리 모듈(212)은 성실한 사용자가 그 자신의 이익을 위해서만이 아니라 사용자의 데이터 수집에 의해 영향을 받는 다른 사람들의 이익을 위해 바람직한 프라이버시 프로토콜들을 준수하는 것을 돕는 기술을 제공한다.
정책 해결 모듈(318)은 사용자가 이전의 상황들에서 수동으로 선택한 정책들의 타입들을 학습하는 학습 모듈(도시되지 않음)도 포함할 수 있다. 정책 해결 모듈(318)은 사용자의 선호를 적합하게 확신하게 되는 경우에, 추정되는 바람직한 옵션을 자동으로 선택하거나, 적어도 그러한 옵션을 사용자에게 제공되는 옵션들의 리스트 내의 두드러진 위치에 표시할 수 있다. 학습 모듈은 복수의 각각의 컴퓨팅 장치를 조작하는 복수의 사용자에 의해 제공되는 임의 타입의 피드백에 기초하여 관리 모듈(212)의 임의의 양태를 변경함으로써 사용자 불가지론적 학습을 수행할 수도 있다.
계속 진행하면, 허가 설정 모듈(324)은 각각의 애플리케이션에 대해, 각각의 객체에 대해 그리고 객체와 관련된 각각의 애플리케이션 거동에 대해 허가들을 설정한다. 예를 들어, 맵핑 모듈(312)이 예를 들어 신호 정보, 및/또는 해당 환경과 관련된 임의의 다른 단서들, 예로서 샤워, 소변기 등의 존재를 지시하는 이미지 인식 결과들에 기초하여 사용자가 헬스 클럽의 라커룸에서 컴퓨팅 장치를 조작하고 있다는 것을 발견하는 것으로 가정한다. 정책 해결 모듈(318)이 라커 환경에 대한 적절한 정책이 임의의 컴퓨팅 장치가 임의의 원시 비디오 정보를 캡처하는 것을 금지하는 것으로 결정하는 것으로 가정한다. 그에 응답하여, 허가 설정 모듈(324)은 컴퓨팅 장치 상에서 실행되는(또는 설치된) 각각의 애플리케이션에 대한 허가들을 설정할 수 있으며; 그러한 허가들은 각각의 그러한 애플리케이션이 RGB 데이터를 캡처하는 것을 금지하도록 동작한다. 허가들은 컴퓨팅 장치를 조작하는 개별 사용자에 대해 잠재적으로 맞춤화될 수도 있다.
더 구체적으로, 허가 설정 모듈(324)은 상이한 타입의 정책들에 대해 상이한 타입의 허가들을 설정할 수 있다. 제1 타입의 정책은 정책을 무효화하는 명확한 모드 변경 이벤트가 발생할 때까지 애플리케이션의 거동을 관리한다. 예를 들어, 일 타입의 QR 코드의 검출시에, 허가 설정 모듈(324)은 애플리케이션과 관련된 액세스 제어 권리를 변경할 수 있다. 허가 설정 모듈(324)은 이전의 권리를 무효화하는 다른 정책이 지정될 때까지 이러한 권리를 그대로 유지한다. 예를 들어, 허가 설정 모듈(324)은 컴퓨팅 장치가 욕실의 입구 근처에 위치하는 호출 QR 코드를 만날 때 소정의 허가들을 설정할 수 있으며, 컴퓨팅 장치가 욕실의 출구 근처에 위치하는 무효화 QR 코드를 만날 때 그러한 허가들을 제거할 수 있다. "비기록" 정책이 2개의 검출된 이벤트 사이에 적절히 유지될 수 있다. 이러한 타입의 정책은 본 명세서에서 대역외 정책으로 지칭된다.
제2 타입의 정책은 정책과 관련된 호출 조건이 감지 정보 내에 유효하게 존재하는 경우에만 애플리케이션의 거동을 관리한다. 예를 들어, 정책 처리 모듈(310)은 신용 카드에 부착된 QR 코드를 검출할 수 있다. 허가 설정 모듈(324)은 QR 코드가 인식 시스템(304)에 의해 유효하게 감지되는 경우에만 신용 카드와 관련된 이미지 콘텐츠에 정책을 적용할 수 있다. 즉, 카메라의 시야가 신용 카드 상의 QR 코드를 더 이상 캡처하지 못하도록 변하는 것으로 가정한다. 허가 설정 모듈(324)은 QR 코드와 관련된 정책을 더 이상 적용하지 않음으로써 응답할 것이다. 이러한 타입의 정책은 예를 들어 이러한 정책이 환경 내의 호출 단서의 동시성 검출의 존재시에만 적용된다는 것을 지시하기 위해 대역내 정책으로 지칭된다.
임의의 대역외 또는 대역내 정책은 임의의 특정 애플리케이션을 서빙하도록 특별히 설계되지 않는 한은 사실상 애플리케이션 불가지론적일 수 있다. 더 구체적으로, 임의의 정책이 다양한 애플리케이션들, 심지어는 정책의 생성시에 아직 알려지지 않은 새로운 애플리케이션들에도 적용될 수 있다. 그러나, 일부 예들에서, 개발자 또는 최종 사용자 또는 임의의 다른 엔티티는 하나 이상의 애플리케이션에 의해 제공되는 특정 기능을 목표로 하려고 시도하는 정책을 고안할 수 있다. 이러한 정책들은 애플리케이션 고유 정책들로서 지칭될 수 있다. 예를 들어, 애플리케이션 고유 정책은 좁은 클래스의 애플리케이션들에서만 사용되는 소정의 고레벨 특징의 수집과 관련될 수 있다.
이제, 도 4의 바닥 컴포넌트로 진행하면, 거동 관리 모듈(330)은 허가 정보에 기초하여 애플리케이션들(204)의 거동을 관리한다. 더 구체적으로, 일부 예들에서, 거동 관리 모듈(330)은 예를 들어 이벤트를 애플리케이션으로 전송하거나 전송을 거절함으로써 허가 정보를 이진 방식으로 적용한다. 그러한 이벤트는 적용 가능 정책과 관련된 객체에 대한 정보를 표현한다. 예를 들어, 해당 허가가 애플리케이션이 원시 비디오 이벤트를 수신하는 것을 금지하는 경우, 거동 관리 모듈(330)은 애플리케이션으로의 RGB 이벤트의 흐름을 차단함으로써 이러한 금지를 실시할 것이다.
다른 예에서, 거동 관리 모듈(330)은 필터링 모듈(406)을 이용하여 허가를 실행한다. 필터링 모듈(406)은 변경된 객체들을 표현하는 필터링된 이벤트들을 제공한다. 예를 들어, 적용 가능 허가가 애플리케이션이 원시 비디오 정보를 수신할 수 있는 것으로 진술하지만, 이러한 비디오 정보가 장면 내에 캡처된 임의의 사람의 얼굴을 제거하기 위해 편집되어야 하는 것으로 가정한다. 필터링 모듈(406)은 이러한 명령을 상이한 방식들로 실행할 수 있다. 하나의 접근법에서, 필터링 모듈(406)은 예를 들어 도 1에 도시된 유형의 출력 프레젠테이션(130)을 생성하기 위해 비디오 정보를 능동적으로 편집할 수 있다. 다른 예에서, 인식 시스템(304)은 장면의 비편집 버전 또는 장면의 편집 버전과 같은 특징의 상이한 버전들을 제공할 수 있다. 여기서, 필터링 모듈(406)은 실제의 편집 자체를 수행하지 않고서 특징의 적절한 버전을 선택할 수 있다.
일례에서, 그러한 편집은 수행될 때마다 민감한 콘텐츠와 관련된 픽셀들을 생략하거나 불명확하게 하는 것을 포함할 수 있다. 예를 들어, 편집 인식기가 얼굴 검출기 인식기로부터 제1 입력을 그리고 원시 RGB 정보를 제공하는 비디오 인식기로부터 제2 입력을 수신할 수 있다. 편집 인식기는 얼굴 검출 결과들을 이용하여, 제거, 블러링, 차단 등을 위해 원시 RGB의 부분들을 식별할 수 있다. 이어서, 편집 인식기는 그러한 부분들에 대해 작용한다. 훨씬 더 복잡한 예들에서, 편집 인식기는 얼굴 데이터가 하나 이상의 알려진 사람에 대응하는 얼굴 데이터의 인스턴스들과 매칭되는지를 결정할 수 있다. 이러한 비교의 결과에 기초하여, 편집 인식기는 일부 사람들의 얼굴들을 선택적으로 편집할 수 있지만, (예로서, 친구들이 아닌 이방인들의 얼굴들을 제거함으로써) 다른 사람들을 편집하지 않는다.
도 6은 도 1에 도시된 시나리오와 관련된 관리 모듈(212)의 동작의 일례를 제공한다. 블록 602에서, 인식 시스템(304)은 실세계(102)의 다양한 특징들을 검출한다. 그러한 특징들은 백판(106)에 대한 정보, 백판(106) 상의 작성물(116)에 대한 정보, 코드 보유 라벨(118)에 대한 정보, 메시지(120)에 대한 정보 등을 포함하지만 이에 한정되지 않는다. 그러한 특징들은 저레벨(예로서, 원시) 특징들 및/또는 고레벨(예로서, 추상) 특징들에 대응할 수 있다.
블록 604에서, 맵핑 모듈(312)은 감지 정보 및 보완 정보(218)에 기초하여 다수의 발견을 행한다. (보완 정보는 예를 들어 전술한 바와 같이 다양한 탐색표 등에 의해 표현되는 정보에 대응할 수 있다.) 발견들은, 이미지 분석에 기초하여, 장면이 백판 객체를 포함한다는 것을 그리고 백판 객체가 작성물을 포함한다는 것을 지시할 수 있다. 다른 발견은 코드 보유 객체(118)가 후보 정책(P1)과 관련된다는 것을 지시한다. 다른 발견은 메시지(120)가 후보 정책(P2) 내로 맵핑된다는 것을 지시한다. 다른 발견은 코드 보유 라벨(118) 및 메시지(120)에 대한 진위 및 권한 부여 검사들이 이들이 유효한 정책 지정자들인 것을 지시한다는 것을 지시한다. 다른 발견은 백판 객체가 엔티티(Z)에 의해 소유된다는 것을 지시한다. 다른 발견은 엔티티(Z)가 정책(P3)과 관련된다는 것을 지시한다. 다른 발견은 백판 객체가 방(R1) 내에 위치하고, 방(R1)이 빌딩(B1) 내에 위치한다는 것을 지시한다. 다른 발견은 빌딩(B1) 내의 방(R1)이 정책(P4)과 관련된다는 것을 지시한다. 다른 발견은 (예로서, 조직 또는 지역 공동체 또는 시설에 의해 설정되는 바와 같은) 적용 가능 표준 기반 정책이 후보 정책(P5)이라는 것을 지시한다. 다른 발견은 적용 가능 사용자 정책이 정책(P6)이라는 것을 지시하며, 기타 등등이다. 따라서, 맵핑 모듈(312)은 백판 객체를 후보 정책들(P1-P6)에 맵핑하며, 이들 중 임의의 2개는 동일하거나 상이할 수 있다.
블록 606에서, 정책 해결 모듈(318)은 정책 해결 규칙들에 기초하여 정책들 중 하나를 선택한다. 선택된 정책은 해당 애플리케이션이 엔티티(Z)에 의해 관리되지 않는 한은 어떠한 애플리케이션도 작성물(116)의 이미지를 캡처하는 것이 허가되지 않는다는 것을 지시하며, 그러한 관리는 애플리케이션이 엔티티(Z)의 증명서 등에 의해 서명되는지를 결정함으로써 검사될 수 있다. 사용자의 정책(P6)은 이러한 정책과 일치하지 않으며, 따라서 선택된 정책을 무효화하지 않는다. 이러한 정책은 대역외 정책 또는 대역내 정책으로서 표현될 수 있다. 전자의 경우, 정책은 명확한 모드 변경 이벤트에 의해 제거될 때까지 유효하게 유지된다. 후자의 경우, 정책은 컴퓨팅 장치가 코드 보유 라벨(118) 또는 메시지(120) 등을 검출하는 경우에만 유효하게 유지된다.
블록 608에서, 허가 설정 모듈(324)은 주석 애플리케이션이 RGB 데이터를 직접 판독하지 않으므로 작성물(116)을 판독하는 것이 허가된다는 것을 지시하는 허가 정보를 설정한다. 다른 허가 정보는 필사 애플리케이션이 RGB 데이터를 판독하지만 신뢰 엔티티(Z)에 의해 관리되어 충분히 신뢰되므로 작성물(116)을 판독하는 것이 허가된다는 것을 지시한다. 그러나, 다른 허가 정보는 필사 애플리케이션이 작성물(116)로부터 추출된 정보를 주석 애플리케이션 또는 임의의 다른 엔티티와 공유하는 것이 허가되지 않는다는 것을 지시한다.
인식할 수 있듯이, 도 6에서 설명되는 발견들, 후보 정책들 및 허가 정보는 한정이 아니라 예시적으로 제공된다.
도 7은 인식 시스템(304)의 하나의 예시적인 구현을 나타낸다. 인식 시스템(304)은 하나 이상의 감지 메커니즘(306)으로부터 지각 정보를 수신함으로써 동작한다. 이어서, 인식 시스템(304)은 하나 이상의 인식기를 이용하여 지각 정보를 분석한다. 각각의 인식기는 입력 정보를 수신하고, 입력 정보에 기초하여 소정의 저레벨 또는 더 높은 레벨의 특징을 추출하고, 특징을 이벤트로서 표현하는 출력 정보를 생성한다.
임의의 인식기에 공급되는 입력 정보는 하나 이상의 다른 인식기로부터 생성될 수 있다. 이어서, 전반적으로, 인식 시스템(304)은 하나 이상의 인식기로 구성되는 데이터 흐름 그래프를 형성한다. 인식 시스템(304)은 현재 실행되고 있는 각각의 애플리케이션의 정보 요구의 결정에 기초하여 데이터 흐름 그래프를 동적으로 형성한다. 즉, 인식 시스템(304)은 애플리케이션들(204)의 정보 요구를 그러한 요구를 충족시키는 인식기들의 세트에 맵핑하고, 이어서 각각의 인식기의 입출력 의존성을 고려하여 데이터 흐름 그래프를 형성한다.
애플리케이션들(204)은 다음의 방식으로 인식 시스템(304)에 의해 생성된 이벤트들을 수신한다. 첫째, 정책 처리 모듈(310)은 하나 이상의 애플리케이션으로부터 가입을 수신할 수 있다. 각각의 가입은 하나 이상의 특정 타입의 특징의 생성시에 그러한 특징들을 인식 시스템(304)으로부터 수신하기 위한 애플리케이션에 의한 요청을 형성한다. 이어서, 정책 처리 모듈(310)은 인식기들로부터 이벤트들을 수집하기 시작하며, 각각의 이벤트는 하나 이상의 검출된 특징을 표현한다. 더 구체적으로, 정책 처리 모듈(310)은 그러한 이벤트들을 데이터 저장소(308) 내에 버퍼링한다. 그러한 이벤트들은 공동으로 감지 정보를 형성한다.
위의 수집 작업과 병렬로, 각각의 사례에서, 정책 처리 모듈(310)은 현재 시간에 환경에서 검출된 특징들에 적용될 하나 이상의 최종 정책을 결정한다. 거동 관리 모듈(330)은 예를 들어 이벤트들을 허가된 애플리케이션들로 전송함으로써 그러한 허가들을 적용한다. 이벤트들은 전술한 방식으로 필터링되거나 필터링되지 않을 수 있다.
대역내 정책의 구체적인 예에서, 거동 관리 모듈은 상이한 인식기들에 의해 수신된 이벤트들을 상관시킬 수 있으며, 따라서 모든 이벤트들은 동시에(또는 실질적으로 동시에) 환경의 동일 부분과 관련된다. 예를 들어, QR 코드가 신용 카드에 부착되는 것으로 가정한다. 제1 인식기는 신용 카드와 관련된 원시 RGB를 제공할 수 있으며, 제2 인식기는 QR 코드로부터 추출된 정보를 제공할 수 있다. 인식 시스템(304)은 옵션으로서 각각의 이벤트에 그와 관련된 이미지 프레임과 관련된 프레임 번호 및/또는 타임스탬프를 태깅할 수 있다. 거동 관리 모듈(330)은 임의의 이러한 태깅 정보를 이용하여, QR 코드와 관련된 임의의 정책이 QR 코드가 추출된 동일 이미지 프레임과 관련되는 것을 보증할 수 있다. 다른 예들에서, 거동 관리 모듈(330)은 이벤트들의 명확한 상관을 수행하지 않고서 QR 이벤트들이 관련 RGB 이벤트들과 실질적으로 동시적인 것으로 가정할 수 있다. 오디오 관련 이벤트들 및 다른 타입의 이벤트들의 경우에 유사한 동기화가 수행될 수 있다. 마지막으로, 전술한 바와 같이, 거동 관리 모듈(330)은 애플리케이션들(204)의 이벤트들의 수신에 더하여 그들의 다른 거동도 제어할 수 있다.
도 8은 실행 애플리케이션들의 특정 서브세트에 대해 특정 시간에 나타나는 바와 같은 인식 시스템(304)의 일 구현을 나타낸다. 인식 시스템(304)은 비디오 카메라(804)로부터 원시 RGB 데이터를 수신하고 동일 원시 비디오 데이터를 표현하는 이벤트를 출력하는 비디오 인식기(802)를 포함한다. 즉, 비디오 인식기(802)는 비디오 카메라(804)를 구동하는 구동기에 대응할 수 있다. 인식 시스템(304)은 깊이 캡처 메커니즘(808)으로부터 깊이 이미지를 수신하고 깊이 이미지를 표현하는 깊이 이벤트를 출력하는 깊이 인식기(806)도 포함한다. 즉, 깊이 인식기(806)는 깊이 캡처 메커니즘(808)의 구동기를 형성할 수 있다. 깊이 캡처 메커니즘(808)은 또한, 구조화 광 기술, 비행 시간 기술, 입체 기술 등과 같은 임의의 기술을 이용하여, 깊이 이미지를 생성할 수 있다. 깊이 이미지를 제공하기 위한 하나의 상업 제품은 워싱턴 레드먼드의 마이크로소프트사에 의해 생산되는 Kinect(상표) 장치이다. 깊이 이미지 자체가 장면 내의 상이한 포인트들과 기준 포인트 간의 거리들을 식별한다. 일례에서, 감지 메커니즘들(예로서, 비디오 카메라(804) 및 깊이 캡처 메커니즘(808))은 이러한 메커니즘들의 출력으로부터 도출되는 이벤트들이 결국에 애플리케이션들(204)에 도달하는지에 관계없이 연속 액세스 상태에서 "온" 상태로 유지된다. 즉, 액세스 스로틀링의 포인트는 감지 메커니즘들(306)의 온/오프 상태가 아니라 정책 처리 모듈(310) 및 거동 관리 모듈(330)이다.
얼굴 검출기 인식기(810)는 비디오 인식기(802)에 의해 생성된 RGB 이벤트를 수신하여 얼굴 이벤트를 생성한다. 그러한 이벤트는 사람이 장면 내에 존재하는 경우에 장면 내의 사람의 얼굴을 설명하는 데이터를 포함하지만, 얼굴과 관련된 풀 RGB 데이터를 드러내지는 않는다. 골격 인식기(812)가 깊이 인식기(806) 및 비디오 인식기(802)로부터 입력 이벤트들을 수신한다. 이러한 입력 이벤트들에 기초하여, 골격 인식기(812)는 사람이 존재하는 경우에 장면 내의 임의의 사람의 자세를 설명하는 골격 이벤트를 생성한다. 손 인식기(814)가 골격 이벤트를 수신하고, 사람의 손들의 위치들 및 배향들을 설명하는 출력 이벤트를 제공한다.
코드 인식기(816)가 QR 코드와 같은 코드 보유 라벨의 존재를 식별한다. 코드 인식기(816)는 코드 보유 라벨로부터 추출된 정보도 제공할 수 있다. 코드 인식기(816)는 옵션으로서 예를 들어 코드를 숫자 열 등으로 변환함으로써 코드 보유 라벨로부터 추출된 정보를 해석할 수도 있다.
전술한 방식으로, 정책 처리 모듈(310)은 이러한 이벤트들 모두를 수신하여 데이터 저장소(308)에 버퍼링한다. 이어서, 거동 관리 모듈(330)은 결과적인 허가 정보를 이용하여, 이벤트들을 적절한 애플리케이션들로 전송하며, 이들 중 일부는 필터링될 수 있고, 일부는 필터링되지 않을 수 있다. 예를 들어, 주석 애플리케이션(818)은 허가 정보에 의해 허가되는 경우에 얼굴 검출기 인식기(810)로부터 얼굴 이벤트들을 수신한다. 필사 애플리케이션(820)은 허가 정보에 의해 허가되는 경우에 비디오 인식기(802)로부터 원시 RGB 이벤트들을 수신한다. 일반적으로 어떠한 애플리케이션도 손 인식기(814), 골격 인식기(812) 또는 깊이 인식기(806) 중 임의의 인식기에 의해 생성되는 이벤트들에 의존하지 않는다. 이를 고려하여, 인식 시스템(304)은 데이터 흐름 그래프로부터 그러한 인식기들을 제거하기로 결정할 수 있다. 소정의 다른 애플리케이션에 의해 나중에 요구되는 경우에, 인식 시스템(304)은 그러한 노드들을 재생성할 수 있다.
도 9는 데이터 저장소(326)에서 제공되는 허가 정보에 기초하여 하나 이상의 애플리케이션(204)의 거동을 관리하는 거동 관리 모듈(330)의 일 구현을 나타낸다. 거동 관리 모듈(330)은 허가 정보에 기초하여 전술한 방식으로 인식 시스템(304)으로부터 가입 애플리케이션들로의 이벤트들의 전송을 제어하는 이벤트 전송 모듈(902)을 포함한다. 출력 결정 모듈(904)은 각각의 애플리케이션이 어떤 타입의 정보를 각각의 출력 장치로 전송하는 것이 허가되는지를 제어한다. 애플리케이션간 공유 모듈(906)은 각각의 애플리케이션이 어떤 정보를 다른 애플리케이션들 및/또는 다른 엔티티들과 공유하는 것이 허가되는지를 제어한다. 다른 거동 관련 모듈(들)(908)은 거동 관리 모듈(330)이 예를 들어 애플리케이션이 어떤 코드를 실행하는 것이 허가되는지를 제어함으로써 애플리케이션들의 거동들의 임의의 다른 양태를 제어할 수 있다는 것을 지시한다. 이벤트 전송 모듈과 관련하여 전술한 방식으로, 임의의 거동 제약은 이진 예/아니오 결정 또는 복수의 처리 옵션 중의 선택의 형태를 취할 수 있다. 적어도 하나의 처리 옵션은 이벤트가 애플리케이션으로 전송되기 전에 이를 더 변경하거나, 기본 이벤트의 복수의 버전 중에서 선택하는 것을 포함할 수 있다.
도 10은 도 2의 현실 감지 프레임워크(202)를 구현할 수 있는 하나의 컴퓨터 구현 시스템(1002)을 나타낸다. 시스템(1002)은 개인용 컴퓨터, 랩탑 컴퓨터, 셋톱 박스, 게임 콘솔, 자세 결정 장치(예로서, Kinect(상표) 장치), 스마트폰, 태블릿 컴퓨팅 장치 등 중 임의의 것과 같은 적어도 하나의 로컬 컴퓨팅 장치(1004)를 포함한다. 일례에서, 로컬 컴퓨팅 장치(1004)는 관리 모듈(212) 및 공유 렌더러(220)를 포함하는 도 2의 현실 감지 프레임워크(202)의 모든 양태들을 구현한다.
다른 구현에서, 로컬 컴퓨팅 장치(1004)는 현실 감지 프레임워크(202)의 일부 양태들을 구현할 수 있고, 원격 컴퓨팅 프레임워크(1006)가 현실 감지 프레임워크(202)의 다른 양태들을 구현할 수 있다. 일 구현에서, 원격 컴퓨팅 프레임워크(1006)는 하나 이상의 원격 서버로서 구현될 수 있다. 로컬 컴퓨팅 장치(1004)는 근거리 네트워크, 광역 네트워크(예로서, 인터넷) 또는 점대점 링크 등과 같은 임의의 통신 도관(1008)을 통해 원격 컴퓨팅 프레임워크(1006)와 상호작용할 수 있다. 로컬 컴퓨팅 장치(1004)에서 제공되는 기능은 로컬 자원들(1010)로서 지칭된다.
기능들의 하나의 예시적인 할당에서, 로컬 컴퓨팅 장치(1004)는 하나 이상의 로컬 인식기를 구현할 수 있고, 원격 컴퓨팅 프레임워크(1006)는 하나 이상의 원격 인식기를 구현할 수 있다. 따라서, 이 시스템(1002) 내의 인식 시스템(304)은 적어도 2개의 상이한 위치에 걸쳐 분산된다. 더 구체적으로, 원격 컴퓨팅 프레임워크(1006)는 인식 시스템(304) 내의 가장 계산 집약적인 인식기들, 예로서 (일례에서 얼굴 인식 작업과 같은) 복잡한 이미지 처리 작업들을 수행하는 인식기들을 처리할 수 있다. 다른 예에서, 맵핑 모듈(312)의 계산 집약적 양태들이 원격 컴퓨팅 프레임워크(1006)에 위임될 수 있다.
일 구현에서, 로컬 컴퓨팅 장치(1004)와 원격 컴퓨팅 프레임워크(1006) 간의 처리 작업들의 위임은 정적이거나, 적어도 느리게 변한다. 다른 예에서, 라우팅 모듈(1012)은 적어도 하나의 계산 작업 부하 팩터 및/또는 다른 고려 사항(들)에 기초하여 로컬 컴퓨팅 장치(1004)와 원격 컴퓨팅 프레임워크(1006) 간에 작업들을 동적으로 위임할 수 있다. 예를 들어, 라우팅 모듈(1012)은 작업 부하 큐 내의 완성되지 않은 작업의 양이 규정 임계치를 초과할 때 인식 작업을 원격 컴퓨팅 프레임워크(1006)에 자동으로 위임할 수 있다. 추가로 또는 옵션으로서, 라우팅 모듈(1012)은 인식 작업이 로컬 컴퓨팅 장치(1004) 상에서 완성되기 위해 규정 시간 양보다 더 걸리는 경우에 그리고/또는 다른 고려 사항들에 기초하여 그러한 작업을 로컬 컴퓨팅 장치(1004)로부터 원격 컴퓨팅 프레임워크(1006)로 자동으로 이전할 수 있다. 라우팅 모듈(1012)은 현실 감지 프레임워크(202)의 관리 모듈(212) 및/또는 기타 컴포넌트에 의해 구현될 수 있다.
원격 컴퓨팅 프레임워크(1006)의 (원격 인식기와 같은) 원격 컴포넌트는 임의 수의 로컬 컴퓨팅 장치에 서비스를 동시에 제공할 수 있다. 예를 들어, 원격 컴포넌트는 로컬 컴퓨팅 장치(1004) 및 로컬 컴퓨팅 장치(1014) 양자에 서비스를 제공할 수 있다. 이러한 방식으로, 원격 컴포넌트는 (동일한 물리 플랫폼 상에서 둘 이상의 독립적인 작업에 서비스를 제공함으로써) 가상 기계의 동작을 시뮬레이션하지만, 실제 가상 기계 기능을 제공하지는 않는다.
B. 예시적인 프로세스들
도 11은 도 3의 관리의 동작의 일 방식을 설명하는 절차(1102)를 나타낸다. 관리 모듈(212)의 동작의 기초가 되는 원리들이 이미 섹션 A에서 설명되었으므로, 이 섹션에서는 소정의 동작들이 요약 방식으로 다루어질 것이다.
블록 1104에서, 정책 처리 모듈(310)은 환경 내의 감지 특징들을 표현하는 감지 정보를 인식 시스템(304)으로부터 수신한다. 블록 1106에서, 맵핑 모듈(312)은 감지 특징들을 하나 이상의 후보 정책들에 맵핑한다. 각각의 후보 정책은 감지 환경 내의 하나 이상의 객체와 관련될 수 있다. 블록 1108에서, 정책 해결 모듈(318)은 각각의 객체에 대한 최종 정책을 결정하여, 최종 정책 정보를 제공한다. 동작(1110)은 블록 1106 및 1108을 포함하며; 특징들을 최종 정책 정보에 맵핑하는 작업에 대체로 대응한다. 블록 1112에서, 허가 설정 모듈(324)은 최종 정책 정보에 기초하여 허가 정보를 식별한다. 블록 1114에서, 거동 관리 모듈(220)은 허가 정보에 기초하여 애플리케이션들의 거동을 관리한다.
C. 대표적인 컴퓨팅 기능
도 12는 도 2의 현실 감지 프레임워크(202)의 임의의 양태를 구현하는 데 사용될 수 있는 컴퓨팅 기능(1202)을 나타낸다. 예를 들어, 도 12에 도시된 컴퓨팅 기능(1202)의 타입은 도 10의 로컬 컴퓨팅 장치(1004) 및/또는 원격 컴퓨팅 프레임워크(1006)와 관련된 컴퓨터 서버를 구현하는 데 사용될 수 있다. 모든 예들에서, 컴퓨팅 기능(1202)은 하나 이상의 물리적인 그리고 유형적인 처리 메커니즘을 나타낸다.
컴퓨팅 기능(1202)은 하나 이상의 중앙 처리 유닛(CPU) 및/또는 하나 이상의 그래픽 처리 유닛(GPU) 등과 같은 하나 이상의 처리 장치(1204)를 포함할 수 있다.
컴퓨팅 기능(1202)은 코드, 설정, 데이터 등과 같은 임의 유형의 정보를 저장하기 위한 임의의 저장 자원들(1206)도 포함할 수 있다. 한정이 아니라 예로서, 저장 자원들(1206)은 임의 타입(들)의 RAM, 임의 타입(들)의 ROM, 플래시 장치, 하드 디스크, 광 디스크 등 중 임의의 것을 포함할 수 있다. 더 일반적으로, 임의의 저장 자원은 정보를 저장하기 위한 임의의 기술을 이용할 수 있다. 또한, 임의의 저장 자원은 정보의 휘발성 또는 비휘발성 유지를 제공할 수 있다. 또한, 임의의 저장 자원은 컴퓨팅 기능(1202)의 고정 또는 제거 컴포넌트를 나타낼 수 있다. 컴퓨팅 기능(1202)은 처리 장치들(1204)이 임의의 저장 자원 또는 저장 자원들의 조합 내에 저장된 명령어들을 실행할 때 전술한 기능들 중 임의의 기능을 수행할 수 있다.
용어와 관련하여, 저장 자원들(1206) 중 임의의 저장 자원 또는 저장 자원들(1206)의 임의 조합은 컴퓨터 판독 가능 매체로서 간주될 수 있다. 많은 예에서, 컴퓨터 판독 가능 매체는 소정 형태의 물리적인 그리고 유형적인 엔티티를 나타낸다. 컴퓨터 판독 가능 매체라는 용어는 예를 들어 물리적 도관 및/또는 공기 또는 다른 무선 매체 등을 통해 송신 또는 수신되는 전파 신호들도 포함한다. 그러나, 특정 용어 "컴퓨터 판독 가능 저장 매체" 및 "컴퓨터 판독 가능 매체 장치"는 전파 신호들 자체를 명확히 배제하는 반면, 모든 다른 형태의 컴퓨터 판독 가능 매체들을 포함한다.
컴퓨팅 기능(1202)은 하드 디스크 드라이브 메커니즘, 광 디스크 드라이브 메커니즘 등과 같이 임의의 저장 자원과 상호작용하기 위한 하나 이상의 드라이브 메커니즘(1208)도 포함한다.
컴퓨팅 기능(1202)은 (입력 장치들(1212)을 통해) 다양한 입력들을 수신하고 (출력 장치들(1214)을 통해) 다양한 출력들을 제공하기 위한 입출력 모듈(1210)도 포함한다. 예시적인 입력 장치들은 키보드 장치, 마우스 입력 장치, 터치스크린 입력 장치, 디지타이징 패드, 하나 이상의 비디오 카메라, 하나 이상의 깊이 카메라, 자유 공간 제스처 인식 메커니즘, 하나 이상의 마이크, 음성 인식 메커니즘, 임의의 움직임 검출 메커니즘(예로서, 가속도계, 자이로스코프 등) 등을 포함한다. 하나의 특정 출력 메커니즘은 프레젠테이션 장치(1216) 및 관련 그래픽 사용자 인터페이스(GUI)(1218)를 포함할 수 있다. 다른 출력 장치들은 프린터, 모델 생성 메커니즘, 촉각 출력 메커니즘, (출력 정보를 저장하기 위한) 보관 메커니즘 등을 포함한다. 컴퓨팅 기능(1202)은 하나 이상의 통신 도관(1222)을 통해 다른 장치들과 데이터를 교환하기 위한 하나 이상의 네트워크 인터페이스(1220)도 포함할 수 있다. 하나 이상의 통신 버스(1224)가 전술한 컴포넌트들을 함께 통신 결합한다.
통신 도관(들)(1222)은 임의의 방식으로, 예로서 근거리 네트워크, 원격 네트워크(예로서, 인터넷), 점대점 접속 등 또는 이들의 임의 조합에 의해 구현될 수 있다. 통신 도관(들)(1222)은 임의의 프로토콜 또는 프로토콜들의 조합에 의해 관리되는 유선 링크, 무선 링크, 라우터, 게이트웨이 기능, 이름 서버 등의 임의 조합을 포함할 수 있다.
대안으로서 또는 추가로, 이전 섹션들에서 설명된 기능들 중 임의의 기능은 하나 이상의 하드웨어 논리 컴포넌트에 의해 적어도 부분적으로 수행될 수 있다. 한정이 아니라 예로서, 컴퓨팅 기능(1202)은 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 주문형 표준 제품(ASSP), 시스템-온-칩(SOC), 복합 프로그래밍 가능 논리 장치(CPLD) 등 중 하나 이상을 이용하여 구현될 수 있다.
마지막으로, 본 설명은 예시적인 과제들 또는 문제들과 관련하여 다양한 개념들을 설명하였을 수 있다. 이러한 설명 방식은 다른 사람들이 과제들 또는 문제들을 본 명세서에 특정된 방식으로 인식 및/또는 설명했다는 것을 나타내는 것은 아니다. 또한, 청구 발명은 임의의 또는 모든 설명된 과제들/문제들을 해결하는 구현들로 한정되지 않는다.
더 일반적으로, 본 발명은 구조적 특징들 및/또는 방법적 동작들에 고유한 언어로 설명되었지만, 첨부된 청구항들에서 정의되는 발명은 전술한 특정 특징들 또는 동작들로 한정될 필요가 없다는 것을 이해해야 한다. 오히려, 전술한 특정 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태들로서 개시된다.

Claims (20)

  1. 하나 이상의 컴퓨팅 장치에 의해 구현되는 방법으로서,
    환경 내의 복수의 특징을 나타내는 감지 정보를 수신하는 단계와,
    최종 정책 정보를 제공하기 위해 상기 감지 정보를 하나 이상의 최종 정책과 관련시키는 단계 - 상기 최종 정책 정보는 상기 환경 내의 적어도 하나의 객체와 관련되고, 상기 환경에 의해 적어도 부분적으로 지정됨 - 와,
    적어도 상기 최종 정책 정보에 기초하여, 하나 이상의 애플리케이션에 적용되는 허가(permission)를 식별하여, 허가 정보를 공동으로 제공하는 단계와,
    적어도 상기 허가 정보에 기초하여 상기 하나 이상의 애플리케이션의 거동(behavior)을 관리하는 단계를 포함하되,
    상기 관리하는 단계는,
    필터링된 이벤트를 제공하는 단계 - 상기 필터링된 이벤트는, 개인 정보(private information)의 존재를 감소시키도록 필터링된 상기 환경으로부터 획득된 정보를 표현함 - 와,
    상기 필터링된 이벤트를 개별 애플리케이션에 전송하는 단계를 포함하고,
    상기 필터링된 이벤트는 상기 환경으로부터 획득된 상기 정보의 일부를 편집(redacting)함으로써 생성되는
    방법.
  2. 제1항에 있어서,
    상기 관련시키는 단계는
    상기 환경 내의 물리 엔티티의 존재를 식별하는 단계와,
    적어도 상기 물리 엔티티에 기초하여 개별 최종 정책을 결정하는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 관련시키는 단계는
    상기 환경 내에서 발생하는 감지 이벤트를 식별하는 단계와,
    적어도 상기 감지 이벤트에 기초하여 개별 최종 정책을 결정하는 단계를 포함하는
    방법.
  4. 제1항에 있어서,
    상기 관련시키는 단계는
    상기 환경 내의 명시적 정책 지정 특징(explicit policy-specifying feature)을 식별하는 단계와,
    적어도 상기 명시적 정책 지정 특징에 기초하여 개별 최종 정책을 식별하는 단계를 포함하는
    방법.
  5. 제1항에 있어서,
    상기 관련시키는 단계는 적어도 하나의 최종 정책에 대해 상기 적어도 하나의 최종 정책이 유효한지를 판정하는 단계를 포함하는
    방법.
  6. 제1항에 있어서,
    상기 관련시키는 단계는
    상기 환경 내의 특정 객체와 관련된 하나 이상의 후보 정책의 세트를 결정하는 단계와,
    상기 하나 이상의 후보 정책의 세트 중에서 개별 최종 정책을 선택하는 단계를 포함하는
    방법.
  7. 제6항에 있어서,
    상기 선택하는 단계는 상기 하나 이상의 후보 정책의 세트 내에서 가장 제한적인 개별 후보 정책을 상기 개별 최종 정책으로서 선택하는 단계를 포함하는
    방법.
  8. 제6항에 있어서,
    상기 선택하는 단계는 사용자 지정 정책을 이용하여 상기 하나 이상의 후보 정책의 세트 내의 적어도 하나의 다른 정책을 무효화하는 단계를 포함하는
    방법.
  9. 제8항에 있어서,
    상기 선택하는 단계는 상기 적어도 하나의 다른 정책이 강제요건(mandatory)으로서 명시되는지의 판정에 적어도 부분적으로 기초하는
    방법.
  10. 제6항에 있어서,
    상기 선택하는 단계는 2개 이상의 후보 정책 중에서 선택하도록 사용자에게 요청하는 단계를 포함하는
    방법.
  11. 제1항에 있어서,
    명시적 모드 변경 이벤트가 발생할 때까지 적어도 하나의 최종 정책이 적어도 하나의 애플리케이션의 거동을 관리하는
    방법.
  12. 제1항에 있어서,
    적어도 하나의 최종 정책과 관련된 단서가 상기 환경 내에서 검출되는 동안 상기 적어도 하나의 최종 정책이 적어도 하나의 애플리케이션의 거동을 관리하는
    방법.
  13. 제1항에 있어서,
    상기 관리하는 단계는 다른 개별 애플리케이션이 상기 환경으로부터 획득된 정보를 표현하는 다른 이벤트를 수신하는 것을 금지하거나 허가하는 단계를 포함하는
    방법.
  14. 제1항에 있어서,
    상기 필터링된 이벤트는 비디오 정보를 표현하고, 상기 편집하는 것은 상기 비디오 정보로부터 인식된 객체를 제거하는 것을 포함하는
    방법.
  15. 제14항에 있어서,
    상기 인식된 객체는 상기 비디오 정보에 등장하는 사람의 얼굴인
    방법.
  16. 제1항에 있어서,
    상기 관리하는 단계는, 적어도 상기 허가 정보에 기초하여, 다른 엔티티들과 공유하도록 상기 개별 애플리케이션에 허가되는 데이터 아이템을 결정하는 단계를 포함하는
    방법.
  17. 제1항에 있어서,
    상기 관리하는 단계는, 적어도 상기 허가 정보에 기초하여, 하나 이상의 출력 장치에 전송하도록 다른 개별 애플리케이션에 허가되는 출력 정보를 결정하는 단계를 포함하는
    방법.
  18. 컴퓨터 구현 시스템으로서,
    하나 이상의 처리 장치와,
    명령어를 저장하는 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함하되,
    상기 명령어는 상기 하나 이상의 처리 장치에 의해 실행될 때 상기 하나 이상의 처리 장치로 하여금,
    환경을 감지함으로써 획득된 감지 정보를 하나 이상의 후보 정책에 맵핑하여 후보 정책 정보를 제공하게 하고 - 상기 후보 정책 정보는 상기 환경 내의 인식된 객체에 적용되고, 상기 인식된 객체는 상기 감지된 환경에 동시에 등장하는 제1의 인식된 객체 및 제2의 인식된 객체를 포함함 -,
    적어도 상기 후보 정책 정보에 기초하여, 상기 제1의 인식된 객체에 대한 제1 최종 정책 및 상기 제2의 인식된 객체에 대한 제2 최종 정책을 결정하게 하고,
    적어도 상기 제1 최종 정책에 기초하여 상기 제1의 인식된 객체에 대해 제1 애플리케이션에 적용되는 제1 허가를 식별하게 하고,
    적어도 상기 제2 최종 정책에 기초하여 상기 제2의 인식된 객체에 대해 제2 애플리케이션에 적용되는 제2 허가를 식별하게 하고,
    적어도 상기 제1 허가에 기초하여 제1의 개인 정보를 제거하도록 상기 제1의 인식된 객체를 필터링하게 하고, 적어도 상기 제2 허가에 기초하여 제2의 개인 정보를 제거하도록 상기 제2의 인식된 객체를 필터링하게 하는
    컴퓨터 구현 시스템.
  19. 제18항에 있어서,
    상기 제1의 개인 정보는 텍스트를 포함하고, 상기 제2의 개인 정보는 이미지 정보를 포함하는
    컴퓨터 구현 시스템.
  20. 컴퓨팅 시스템으로서,
    복수의 애플리케이션과,
    환경을 감지하고, 감지된 환경을 특성화하는 원시 지각 특징(raw perceptual features)을 획득하도록 구성된 하나 이상의 환경 감지 메커니즘과,
    하나 이상의 처리 장치와,
    명령어를 저장하는 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함하되,
    상기 명령어는 상기 하나 이상의 처리 장치에 의해 실행될 때 상기 하나 이상의 처리 장치로 하여금,
    개별 애플리케이션으로부터, 상기 감지된 환경을 특성화하는 이벤트를 수신하기 위한 가입 요청을 수신하게 하고,
    상기 감지된 환경에 존재하는 서로 다른 인식된 객체를 식별하여 상기 감지된 환경을 특성화하는 상기 이벤트를 획득하도록, 상기 원시 지각 특징을 처리하게 하고,
    상기 서로 다른 인식된 객체와 관련된 서로 다른 정책을 식별하게 하고 - 상기 서로 다른 정책은 서로 다른 애플리케이션에 대해 서로 다른 허가를 가짐 -,
    상기 하나 이상의 환경 감지 메커니즘이 상기 환경을 계속 감지하는 동안 개인 정보를 제거하도록 상기 서로 다른 허가에 따라 상기 이벤트를 필터링하게 하고,
    상기 필터링된 이벤트를 상기 서로 다른 애플리케이션에 전송하게 하는
    컴퓨팅 시스템.
KR1020167005949A 2013-09-06 2014-09-04 세계 주도 액세스 제어 기법 KR102284497B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/020,735 US9413784B2 (en) 2013-09-06 2013-09-06 World-driven access control
US14/020,735 2013-09-06
PCT/US2014/053963 WO2015034970A1 (en) 2013-09-06 2014-09-04 World-driven access control

Publications (2)

Publication Number Publication Date
KR20160052561A KR20160052561A (ko) 2016-05-12
KR102284497B1 true KR102284497B1 (ko) 2021-07-30

Family

ID=51585207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167005949A KR102284497B1 (ko) 2013-09-06 2014-09-04 세계 주도 액세스 제어 기법

Country Status (11)

Country Link
US (1) US9413784B2 (ko)
EP (1) EP3042338B1 (ko)
JP (1) JP6509871B2 (ko)
KR (1) KR102284497B1 (ko)
CN (1) CN105659250B (ko)
AU (1) AU2014315235B2 (ko)
BR (1) BR112016004397A8 (ko)
CA (1) CA2922139C (ko)
MX (1) MX357056B (ko)
RU (1) RU2679983C2 (ko)
WO (1) WO2015034970A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697365B2 (en) 2013-09-06 2017-07-04 Microsoft Technology Licensing, Llc World-driven access control using trusted certificates
US9886591B2 (en) 2015-02-10 2018-02-06 International Business Machines Corporation Intelligent governance controls based on real-time contexts
RU2614930C2 (ru) * 2015-06-05 2017-03-30 Закрытое акционерное общество "Лаборатория Касперского" Система и способ контроля исполнения приложений дополненной реальности, установленных на устройстве пользователя, в зависимости от состояния окружающей среды
US9839830B1 (en) * 2016-06-10 2017-12-12 PNI Sensor Corporation Aiding a swimmer in maintaining a desired bearing
CN110603539B (zh) * 2017-02-07 2023-09-15 交互数字Vc控股公司 在虚拟现实中防止监视和保护隐私的系统和方法
US10223341B1 (en) 2017-09-01 2019-03-05 Adobe Inc. Document beautification using smart feature suggestions based on textual analysis
CN109087376B (zh) * 2018-07-31 2021-06-15 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
US11191005B2 (en) 2019-05-29 2021-11-30 At&T Intellectual Property I, L.P. Cyber control plane for universal physical space
WO2021034309A1 (en) * 2019-08-19 2021-02-25 Zume, Inc. Regulated consumable distribution
US11348264B1 (en) * 2020-04-23 2022-05-31 Meta Platforms, Inc. Capturing content on writing surfaces using depth and image sensing
US11928226B2 (en) * 2021-02-04 2024-03-12 International Business Machines Corporation Content protecting collaboration board

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080180243A1 (en) * 2007-01-30 2008-07-31 Jeffrey Aaron Devices and methods for detecting environmental circumstances and responding with designated communication actions
JP2009081635A (ja) * 2007-09-26 2009-04-16 Fujifilm Corp デジタルカメラ、及びデジタルカメラの個人情報保護方法
US20100077484A1 (en) * 2008-09-23 2010-03-25 Yahoo! Inc. Location tracking permissions and privacy

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085976A (en) 1998-05-22 2000-07-11 Sehr; Richard P. Travel system and methods utilizing multi-application passenger cards
JP4031112B2 (ja) 1998-07-23 2008-01-09 富士通株式会社 パスポート取引装置,パスポート取引方法およびパスポート取引システム
US7317699B2 (en) 2001-10-26 2008-01-08 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
US7401233B2 (en) 2003-06-24 2008-07-15 International Business Machines Corporation Method, system, and apparatus for dynamic data-driven privacy policy protection and data sharing
US7693545B2 (en) 2004-02-05 2010-04-06 Samsung Electronics Co., Ltd System and method for controlling functions of mobile communication terminal in a restricted zone
JP4665406B2 (ja) * 2004-02-23 2011-04-06 日本電気株式会社 アクセス制御管理方法、アクセス制御管理システムおよびアクセス制御管理機能付き端末装置
US7444287B2 (en) 2004-07-01 2008-10-28 Emc Corporation Efficient monitoring system and method
US20060048142A1 (en) 2004-09-02 2006-03-02 Roese John J System and method for rapid response network policy implementation
US7940302B2 (en) 2004-09-15 2011-05-10 The Regents Of The University Of California Apparatus and method for privacy protection of data collection in pervasive environments
US8006290B2 (en) 2006-01-12 2011-08-23 International Business Machines Corporation System and method for ratification of policies
US10198709B2 (en) 2006-03-27 2019-02-05 Hewlett Packard Enterprise Development Lp Managing assets using at least one policy and asset locations
JP2008022526A (ja) 2006-06-13 2008-01-31 Hitachi Ltd 属性証明書検証方法、属性認証局装置、サービス提供装置、および属性証明書検証システム
US8326272B1 (en) 2006-07-26 2012-12-04 Amdocs Software Systems Limited System, method and computer program product for subscriber-specific policies
US7933611B2 (en) 2006-09-01 2011-04-26 Research In Motion Limited Disabling operation of features on a handheld mobile communication device based upon location
US7706837B2 (en) 2006-09-01 2010-04-27 Research In Motion Limited Disabling operation of a camera on a handheld mobile communication device based upon enabling or disabling devices
US7974950B2 (en) 2007-06-05 2011-07-05 International Business Machines Corporation Applying a policy criteria to files in a backup image
US7996879B1 (en) 2007-07-03 2011-08-09 Trend Micro Incorporated Network deployment techniques employing radio frequency identification (RFID)
WO2009051531A1 (en) 2007-10-16 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for improving the efficiency of resource utilisation in a communications system
US8170280B2 (en) 2007-12-03 2012-05-01 Digital Smiths, Inc. Integrated systems and methods for video-based object modeling, recognition, and tracking
US8219144B2 (en) 2008-01-11 2012-07-10 Alcatel Lucent Disabling of mobile phone camera operation by video-restricted location device
CN101499919B (zh) 2008-01-28 2012-12-12 华为技术有限公司 策略决策实体的管理方法、管理网元及网络系统
US20090259591A1 (en) 2008-04-11 2009-10-15 Microsoft Corporation Information Rights Management
WO2009145730A1 (en) 2008-05-29 2009-12-03 Nanyang Polytechnic Method and system for disabling camera feature of a mobile device
US9703806B2 (en) 2008-06-17 2017-07-11 Microsoft Technology Licensing, Llc User photo handling and control
US8254902B2 (en) 2008-06-26 2012-08-28 Apple Inc. Apparatus and methods for enforcement of policies upon a wireless device
US8024732B2 (en) * 2008-07-28 2011-09-20 Microsoft Corporation State separation for application changes
US8238604B2 (en) 2008-08-18 2012-08-07 Kabushiki Kaisha Toshiba System and method for validation of face detection in electronic images
US9824495B2 (en) 2008-09-11 2017-11-21 Apple Inc. Method and system for compositing an augmented reality scene
US8719901B2 (en) 2008-10-24 2014-05-06 Synopsys, Inc. Secure consultation system
US8331739B1 (en) 2009-01-21 2012-12-11 Google Inc. Efficient identification and correction of optical character recognition errors through learning in a multi-engine environment
US8494215B2 (en) 2009-03-05 2013-07-23 Microsoft Corporation Augmenting a field of view in connection with vision-tracking
CN102473228B (zh) * 2009-08-11 2015-04-08 联想创新有限公司(香港) 通信系统和数据管理方法
US8768313B2 (en) 2009-08-17 2014-07-01 Digimarc Corporation Methods and systems for image or audio recognition processing
JP2011101161A (ja) * 2009-11-05 2011-05-19 Canon Inc 撮像装置、その制御方法、再生装置およびプログラム
WO2011123577A2 (en) 2010-03-31 2011-10-06 Phunware Inc. Methods and systems for interactive user interface objects
KR101016556B1 (ko) 2010-05-06 2011-02-24 전성일 증강 현실을 이용하여 인물의 정보에 접근하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
CN101888341B (zh) * 2010-07-20 2013-02-27 上海交通大学 在分布式多信任域环境下基于可计算信誉度的访问控制方法
US8971628B2 (en) 2010-07-26 2015-03-03 Fotonation Limited Face detection using division-generated haar-like features for illumination invariance
US20120042076A1 (en) 2010-08-16 2012-02-16 Nokia Corporation Method and apparatus for managing application resources via policy rules
US9904797B2 (en) 2010-12-27 2018-02-27 Nokia Technologies Oy Method and apparatus for providing data based on granularity information
JP2012182779A (ja) 2011-01-31 2012-09-20 Nippon Hoso Kyokai <Nhk> 受信装置、放送システム及びプログラム
US9471934B2 (en) 2011-02-25 2016-10-18 Nokia Technologies Oy Method and apparatus for feature-based presentation of content
US20120222083A1 (en) 2011-02-28 2012-08-30 Nokia Corporation Method and apparatus for enforcing data privacy
CN103493106B (zh) 2011-03-29 2017-11-07 高通股份有限公司 使用骨骼跟踪来选择性地将手遮蔽在物理表面上的虚拟投影之上的方法和装置
US8744143B2 (en) 2011-04-01 2014-06-03 Yahoo! Inc. Adding privacy protection to photo uploading/ tagging in social networks
US8996688B2 (en) 2011-05-31 2015-03-31 Nokia Corporation Method and apparatus for monitoring and controlling data sharing
US9323928B2 (en) 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes
US9465427B2 (en) 2011-06-30 2016-10-11 International Business Machines Corporation Software-centric power management by indirectly determining that user is not actively using computer program running on computing device
US10019962B2 (en) 2011-08-17 2018-07-10 Microsoft Technology Licensing, Llc Context adaptive user interface for augmented reality display
US9106650B2 (en) 2011-11-09 2015-08-11 Microsoft Technology Licensing, Llc User-driven access control
US8972263B2 (en) 2011-11-18 2015-03-03 Soundhound, Inc. System and method for performing dual mode speech recognition
US20130239192A1 (en) 2012-03-09 2013-09-12 RAPsphere, Inc. Method and apparatus for securing mobile applications
US20130263016A1 (en) 2012-03-27 2013-10-03 Nokia Corporation Method and apparatus for location tagged user interface for media sharing
US20140009609A1 (en) 2012-07-06 2014-01-09 Conexant Systems, Inc. Video door monitor using smarttv with voice wakeup
KR101723877B1 (ko) 2012-08-15 2017-04-06 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 디지털 미디어 개인정보 보호
US20140282840A1 (en) 2013-03-15 2014-09-18 True Ultimate Standards Everywhere, Inc. Managing data handling policies
US9697365B2 (en) 2013-09-06 2017-07-04 Microsoft Technology Licensing, Llc World-driven access control using trusted certificates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080180243A1 (en) * 2007-01-30 2008-07-31 Jeffrey Aaron Devices and methods for detecting environmental circumstances and responding with designated communication actions
JP2009081635A (ja) * 2007-09-26 2009-04-16 Fujifilm Corp デジタルカメラ、及びデジタルカメラの個人情報保護方法
US20100077484A1 (en) * 2008-09-23 2010-03-25 Yahoo! Inc. Location tracking permissions and privacy

Also Published As

Publication number Publication date
AU2014315235B2 (en) 2019-07-11
MX357056B (es) 2018-06-25
CA2922139C (en) 2021-11-09
EP3042338B1 (en) 2019-04-03
KR20160052561A (ko) 2016-05-12
CN105659250A (zh) 2016-06-08
JP2016535364A (ja) 2016-11-10
MX2016002841A (es) 2016-06-17
BR112016004397A8 (pt) 2020-02-11
AU2014315235A1 (en) 2016-03-03
RU2016107745A3 (ko) 2018-07-13
CA2922139A1 (en) 2015-03-12
JP6509871B2 (ja) 2019-05-08
RU2016107745A (ru) 2017-09-07
US20150074742A1 (en) 2015-03-12
EP3042338A1 (en) 2016-07-13
WO2015034970A1 (en) 2015-03-12
US9413784B2 (en) 2016-08-09
CN105659250B (zh) 2022-03-01
RU2679983C2 (ru) 2019-02-14

Similar Documents

Publication Publication Date Title
KR102284497B1 (ko) 세계 주도 액세스 제어 기법
US20210173610A1 (en) Selective screen sharing
US10114968B2 (en) Proximity based content security
US11080706B2 (en) Blocking fraudulent transactions in an NFC device
CN105359097B (zh) 用于共享文件的束文件许可
CN105637522B (zh) 使用受信证书的世界驱动访问控制
CN108629199A (zh) 使用可访问性api控制对内容的访问的系统和方法
CN110020545A (zh) 用于保护隐私和安全的认知部件及用户界面组件
CN113168433A (zh) 具有电子邮件隐私过滤器的计算系统及相关方法
Liu et al. Privacy intelligence: A survey on image privacy in online social networks
US11450034B2 (en) Techniques for enabling multiple mutually untrusted applications to concurrently generate augmented reality presentations
Ardabili et al. Understanding policy and technical aspects of ai-enabled smart video surveillance to address public safety
Könings User-centered awareness and control of privacy in Ubiquitous Computing
JP2019053381A (ja) 画像処理装置、情報処理装置、方法およびプログラム
Templeman et al. Reactive security: Responding to visual stimuli from wearable cameras
US11650798B2 (en) Developing source code leveraging smart glasses
Henniger et al. Opportunities for biometric technologies in smart environments
US20220272064A1 (en) Automated social distancing recommendations
JP2022081071A (ja) リモートワーク情報保護システム
EP3404887B1 (en) Altered-reality rights setting
Lemboye Facial Recognition and Mass Media Use: Effects of Technology on Perceptions of Privacy
JP2022143631A (ja) 情報処理装置、監視プログラムおよび監視方法
Iatrou Context Aware Access Control
CN117792922A (zh) 应用风险的检测方法、应用风险的处理方法、装置及终端

Legal Events

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