KR20190072554A - 스크린 공유 경험을 위한 공유 보호 - Google Patents

스크린 공유 경험을 위한 공유 보호 Download PDF

Info

Publication number
KR20190072554A
KR20190072554A KR1020197012614A KR20197012614A KR20190072554A KR 20190072554 A KR20190072554 A KR 20190072554A KR 1020197012614 A KR1020197012614 A KR 1020197012614A KR 20197012614 A KR20197012614 A KR 20197012614A KR 20190072554 A KR20190072554 A KR 20190072554A
Authority
KR
South Korea
Prior art keywords
participant
key
screen sharing
shared
user
Prior art date
Application number
KR1020197012614A
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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20190072554A publication Critical patent/KR20190072554A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • 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
    • 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/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2358/00Arrangements for display data security
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

스크린 공유 경험을 위한 공유 보호 기술이 설명된다. 적어도 일부 실시예에서, 스크린 공유 경험에는 통신 세션의 일부로서 한 사용자가 다른 사용자와 그들의 디스플레이 스크린의 부분을 공유하는 것이 포함된다. 다양한 실시예에 따르면, 스크린 공유 경험의 일부로서 다른 장치와 그들의 스크린을 공유하고 있는 사용자는 스크린의 일부를 공유 방지 부분으로 지정함으로써 스크린의 일부가 공유되는 것을 방지할 수 있다. 따라서, 사용자의 스크린의 식별된 부분으로부터의 콘텐츠는 그 콘텐츠를 해독할 수 없는 다른 장치가 그 콘텐츠를 보지 못하도록 암호화된다. 하나 이상의 실시예에 따르면, 사용자는 공유 특권 사용자로 지정될 수 있어서, 사용자는 스크린 공유 경험의 일부로서 공유 방지 부분을 해독하여 보기 위한 암호화 키에 대한 액세스가 허용된다.

Description

스크린 공유 경험을 위한 공유 보호
현대의 통신 시스템은 다양한 서비스와 다양한 통신 방식의 통합을 포함하는 기능의 어레이를 갖는다. 예를 들어, 인스턴트 메시징, 음성/비디오 통신, 데이터/애플리케이션 공유, 화이트 보딩(white-boarding), 및 다른 통신 형태는 가입자의 프레즌스(presence) 및 가용성(availability) 정보와 결합될 수 있다. 이러한 시스템은 호출자(callers)에게 다양한 상태 카테고리, 대체 연락처, 캘린더 정보 및 비교 가능한 특징에 대한 지침(instructions)을 제공하는 등의 향상된 기능을 가입자에게 제공할 수 있다. 또한, 사용자들이 다양한 유형의 문서 및 콘텐츠를 작성 및 수정하는 데 있어 공유 및 협업을 가능하게 하는 협업 시스템은 다양한 종류의 통신 및 협업 기능을 제공하는 멀티 모드 통신 시스템과 통합될 수 있다. 이러한 통합된 시스템은 때때로 통합된 통신 및 협업(Unified Communication and Collaboration, UC&C) 시스템으로 지칭된다.
UC&C 시스템은 통신에서 향상된 유연성(increased flexibility)을 제공하지만, 다수의 구현 과제를 제시하기도 한다. 예를 들어, 사용자는 UC&C 통신에 관여하는 다른 장치와 스크린 콘텐츠를 공유하고자 할 수도 있다. 그러나, 사용자는 일부의 스크린 콘텐츠가 공유되지 못하게 보호하고자 할 수도 있다. 스크린 공유 및 콘텐츠 보호의 동시 활성화(enabling concurrent)는 다수의 구현 과제를 제시한다.
본 개요는 아래의 상세한 설명에서 추가로 설명되는 개념의 선택을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 발명의 요지의 핵심 특징 또는 필수 특징을 식별하기 위한 것도 아니고 청구된 발명의 요지의 범위를 결정하는 데 있어 도움을 주기 위한 것으로 사용되는 것도 아니다.
스크린 공유 경험을 위한 공유 보호 기술이 설명된다. 적어도 일부 실시예에서, 스크린 공유 경험에는 통신 세션의 일부로서 한 사용자가 다른 사용자와 그들의 디스플레이 스크린의 부분을 공유하는 것이 포함된다. 다양한 실시예에 따르면, 스크린 공유 경험의 일부로서 다른 장치와 그들의 스크린을 공유하고 있는 사용자는 스크린의 일부를 공유 방지 부분(sharing protected)으로 지정함으로써 스크린의 일부가 공유되는 것을 방지할 수 있다. 따라서, 사용자의 스크린의 식별된 부분으로부터의 콘텐츠는 그 콘텐츠를 해독할 수 없는 다른 장치가 그 콘텐츠를 보지 못하도록 암호화된다. 하나 이상의 실시예에 따르면, 사용자는 공유 특권 사용자로 지정될 수 있어서, 사용자는 스크린 공유 경험의 일부로서 공유 방지 부분을 해독하여 보기 위한 암호화 키에 대한 액세스가 허용된다.
상세한 설명은 첨부된 도면을 참조하여 기술된다. 도면에서, 참조 번호의 가장 왼쪽 숫자는 참조 번호가 처음 나타나는 도면을 식별한다. 상세한 설명 및 도면 내의 다양한 인스턴스에서의 동일한 참조 번호의 사용은 유사하거나 동일한 항목을 나타낼 수 있다. 참조 번호에서 동일한 숫자에 후속하는 다양한 문자는 특정 항목의 다양한 인스턴스를 지칭할 수 있다.
도 1은 본원에서 설명되는 기술을 이용하도록 동작 가능한 예시적인 구현예에서의 환경을 도시한다.
도 2는 하나 이상의 실시예에 따라 스크린 공유 경험 동안 콘텐츠를 보호하기 위한 예시적인 구현 시나리오를 도시한다.
도 3은 하나 이상의 실시예에 따라 스크린 공유 경험 동안 콘텐츠를 보호하기 위한 예시적인 구현 시나리오를 도시한다.
도 4는 하나 이상의 실시예에 따라 스크린 공유 경험 동안 공유 방지 콘텐츠가 특권 사용자에 의해 액세스 가능하도록 하기 위한 예시적인 구현 시나리오를 도시한다.
도 5는 하나 이상의 실시예에 따라 공유 방지 영역을 지정하기 위한 예시적인 구현 시나리오를 도시한다.
도 6은 하나 이상의 실시예에 따라 공유 방지 영역을 지정하기 위한 예시적인 구현 시나리오를 도시한다.
도 7은 하나 이상의 실시예에 따라 공유 방지 영역을 보도록 허용되는 사용자 세트를 지정하기 위한 예시적인 구현 시나리오를 도시한다.
도 8은 하나 이상의 실시예에 따라 공유 특권 사용자인 사용자를 지정하기 위한 예시적인 구현 시나리오를 도시한다.
도 9는 하나 이상의 실시예에 따라 공유 방지 영역의 콘텐츠에 대한 액세스를 제어하는 방법에서의 단계를 설명하는 흐름도이다.
도 10은 하나 이상의 실시예에 따라 공유 방지 영역의 콘텐츠에 대한 액세스를 제어하는 방법에서의 단계를 설명하는 흐름도이다.
도 11은 하나 이상의 실시예에 따라 공유 방지 영역을 시각적으로 은폐하기 위한 방법에서의 단계를 설명하는 흐름도이다.
도 12는 본원에 설명된 기술의 실시예를 구현하도록 구성되는, 도 1을 참조하여 설명된 바와 같은 예시적인 시스템 및 컴퓨팅 장치를 도시한다.
스크린 공유 경험을 위한 공유 보호 기술이 설명된다. 적어도 일부 구현예에서, 스크린 공유 경험에는 통신 세션의 일부로서 한 사용자가 다른 사용자와 그들의 디스플레이 스크린의 부분을 공유하는 것이 포함된다. 통신 세션은, 예를 들어, 다양한 통신 엔드포인트 간의 통신 매체의 실시간 교환을 지칭한다. 통신 세션의 예는 VoIP (Voice over Internet Protocol) 호, 비디오 호, 텍스트 메시징, 파일 전송, 콘텐츠 공유, 및/또는 이들의 조합을 포함한다. 적어도 하나의 구현예에서, 통신 세션은 통합된 통신 및 협업(Unified Communication and Collaboration, UC&C) 세션을 나타낸다.
다양한 구현예에 따르면, 스크린 공유 경험의 일부로서 다른 장치와 그들의 스크린을 공유하고 있는 사용자는 스크린의 일부가 공유되는 것을 방지하고자 한다. 예를 들어, 그의 스크린의 일 부분은 사용자가 공유하기를 원치 않는 민감한 정보 및/또는 개인 정보를 디스플레이중일 수 있다. 따라서, 사용자는 공유 보호 기능을 호출하여, 사용자가 다른 장치와 공유되지 않는 그들의 스크린의 일 부분을 식별할 수 있게 한다. 사용자는, 예를 들어, 공유 보호를 원하는 스크린의 일 부분 주위로 보호 존(protection zone)을 그릴 수 있다. 디스플레이의 특정 부분을 공유 방지 부분으로 지정하는 다른 방식은 아래에서 설명된다. 따라서, 사용자의 스크린의 식별된 부분은 암호화되지만, 다른 부분은 스크린 공유 경험의 일부로서 명료하게(in the clear) 공유된다.
하나 이상의 구현예에 따르면, 사용자는 공유 특권 사용자로 지정될 수 있어서, 그 사용자는 스크린 공유 경험의 일부로서 공유 방지 콘텐츠로 지정되는 콘텐츠를 보도록 허용된다. 예를 들어, 스크린 공유 경험의 일부로서 디스플레이 스크린의 일 부분을 공유 방지 부분으로 지정하는 공유 사용자는 스크린 공유 경험 중인 참여자를 공유 특권 참여자로 식별할 수 있다. 따라서, 특권 참여자와 연관된 장치는 암호화 키에 액세스할 수 있어서, 그 장치는 스크린의 공유 방지 부분으로부터의 콘텐츠를 해독하고 해독된 콘텐츠를 명료하게 디스플레이할 수 있다. 그러나, 스크린 공유 경험 중인 다른 비특권 참여자는 암호화 키에 액세스하지 못하므로 보호된 콘텐츠를 해독할 수 없고 볼 수 없다. 이러한 방식으로, 사용자는 일반 공유로부터 특정 스크린 콘텐츠를 보호하면서 그 콘텐츠를 보도록 허용되는 특권 사용자의 세트를 지정할 수 있다.
따라서, 본원에 설명된 스크린 공유 경험을 위한 공유 보호 기술은 사용자가 스크린 공유 경험 동안 민감한 콘텐츠 및 데이터를 보호하는 능력을 향상시키며, 그에 따라 민감한 사용자 데이터에 대한 데이터 보안성을 향상시키고 민감한 사용자 콘텐츠의 원하지 않은 노출을 방지한다. 설명된 기술은 또한 보호된 콘텐츠를 해독하기 위한 암호화 키가 특권 장치에 효율적으로 분배될 수 있게 함으로써 스크린 공유 경험 동안 컴퓨팅 장치 성능을 향상시킨다.
아래의 설명에서, 본원에 설명된 기술을 이용하도록 동작 가능한 예시적인 환경이 먼저 설명된다. 다음으로, 하나 이상의 실시예에 따라 일부 예시적인 구현 시나리오가 설명된다. 이에 후속하여, 일부 예시적인 절차가 하나 이상의 실시예에 따라 설명된다. 마지막으로, 하나 이상의 실시예에 따라 본원에 설명된 기술을 이용하도록 동작 가능한 예시적인 시스템 및 장치가 설명된다. 이제 예시적인 구현예가 이용될 수 있는 예시적인 환경이 고려된다.
도 1은 본원에 설명되는 스크린 공유 경험을 위한 공유 보호 기술을 이용하도록 동작 가능한 예시적인 구현예에서의 환경(100)을 도시한다. 일반적으로, 환경(100)은 다양한 상이한 방식을 통한 통신을 가능하게 하는 다양한 장치, 서비스, 및 네트워크를 포함한다. 예를 들어, 환경(100)은 네트워크(104)에 접속된 클라이언트 장치(102)를 포함한다. 클라이언트 장치(102)는 종래의 컴퓨터(예를 들어, 데스크탑 퍼스널 컴퓨터, 랩탑 컴퓨터 등), 모바일 스테이션, 엔터테인먼트 기기, 스마트폰, 웨어러블 장치, 넷북, 게임 콘솔, 핸드헬드 장치(예를 들어, 태블릿) 등과 같이 다양한 방식으로 구성될 수 있다.
네트워크(104)는 인터넷과 같이, 다양한 네트워크 및/또는 서비스에 대한 접속성을 클라이언트 장치(102)에 제공하는 네트워크를 나타낸다. 네트워크(104)는 광대역 케이블, 디지털 가입자 라인(digital subscriber line, DSL), 무선 셀룰러, 무선 데이터 접속(예를 들어, WiFiTM), T-캐리어(예를 들어, T1), 이더넷 등과 같이, 다양한 상이한 접속성 기술을 통해 클라이언트 장치(102)에 접속성을 제공할 수 있다. 적어도 일부 구현예에서, 네트워크(104)는 다양한 상호 접속된 유선 및 무선 네트워크를 나타낸다.
클라이언트 장치(102)는 다양한 행위 및 태스크가 수행될 수 있게 하는 다양한 상이한 기능을 포함한다. 예를 들어, 클라이언트 장치(102)는 운영 체제(106), 애플리케이션(108), 통신 클라이언트(110), 및 통신 모듈(112)을 포함한다. 일반적으로, 운영 체제(106)는 하드웨어, 커널 레벨 모듈 및 서비스 등과 같이, 클라이언트 장치(102)의 다양한 시스템 컴포넌트를 추상화하는 기능을 나타낸다. 운영 체제(106)는, 예를 들어, 클라이언트 장치(102)의 다양한 컴포넌트를 애플리케이션(108)으로 추상화하여, 컴포넌트와 애플리케이션(108) 간의 상호 작용을 가능하게 할 수 있다.
애플리케이션(108)은 클라이언트 장치(102)를 통해 다양한 태스크를 수행하기 위한 기능을 나타낸다. 애플리케이션(108)의 예는 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 웹 브라우저, 게임 애플리케이션 등을 포함한다. 애플리케이션(108)은 로컬 런타임 환경을 통해 실행되도록 클라이언트 장치(102) 상에 로컬로 설치될 수 있고, 및/또는 클라우드 기반 서비스, 웹 애플리케이션 등과 같은 원격 기능에 대한 포털을 나타낼 수 있다. 따라서, 애플리케이션(108)은 로컬로 실행되는 코드, 원격으로 호스팅되는 서비스에 대한 포털 등과 같은 다양한 형태를 취할 수 있다.
통신 클라이언트(110)는 클라이언트 장치(102)를 통한 다양한 형태의 통신을 가능하게 하는 기능을 나타낸다. 통신 클라이언트(110)의 예는 음성 통신 애플리케이션(예를 들어, VoIP 클라이언트), 비디오 통신 애플리케이션, 메시징 애플리케이션, 콘텐츠 공유 애플리케이션, 통합 통신 및 협업(UC&C) 애플리케이션, 및 이들의 조합을 포함한다. 통신 클라이언트(110)는 다양한 통신 시나리오를 제공하기 위해, 예를 들어, 다양한 통신 방식이 결합될 수 있게 한다.
통신 모듈(112)은 클라이언트 장치(102)가 유선 및/또는 무선 접속을 통해 데이터를 통신할 수 있게 하는 기능을 나타낸다. 예를 들어, 통신 모듈(112)은 다양한 상이한 유선 및/또는 무선 기술 및 프로토콜을 통한 데이터 통신을 위한 하드웨어 및 로직을 나타낸다.
클라이언트 장치(102)는 클라이언트 장치(102)에 대한 시각적 출력을 위한 기능을 나타내는 디스플레이 장치(114)를 더 포함한다. 또한, 디스플레이 장치(114)는 터치 입력, 펜 입력 등과 같은 다양한 유형의 입력을 수신하기 위한 기능을 나타낸다.
환경(100)은 클라이언트 장치(102)가 통신할 수 있는 장치 및/또는 기능을 나타내는 엔드포인트 장치(116)를 더 포함한다. 적어도 일부 구현예에서, 엔드포인트 장치(116)는 클라이언트 장치(102)를 참조하여 설명된 것과 같은 엔드 사용자 장치(end-user devices)를 나타낸다. 엔드포인트 장치(116)는 통신 클라이언트(118)를 포함하고, 이 통신 클라이언트(118)는 엔드포인트 장치(116)를 통한 다양한 형태의 통신을 가능하게 하는 기능을 나타낸다. 통신 클라이언트(118)는, 예를 들어, 통신 클라이언트(110)의 다양한 인스턴스를 나타낸다. 본원에서의 설명을 위해, 엔드포인트 장치(116) 및 통신 클라이언트(118)가 참조되며, 이들은 제각기 엔드포인트 장치(116) 및 통신 클라이언트(118)의 인스턴스를 나타낸다.
적어도 일부의 실시예에서, 통신 클라이언트(110, 118)는 통신 서비스(120)에 대한 인터페이스를 나타낸다. 일반적으로, 통신 서비스(120)는 클라이언트 장치(102)와 엔드포인트 장치(116) 간의 통신 관리를 위한 다양한 태스크를 수행하는 서비스를 나타낸다. 예를 들어, 통신 서비스(120)는, 예를 들어, 통신 클라이언트(110, 118) 간의 통신 세션의 개시, 중재 및 종료를 관리할 수 있다.
통신 서비스(120)는 많은 다른 네트워크들에 걸쳐 프레즌스를 유지하며, 클라우드 기반 서비스, 분산 서비스, 웹 기반 서비스 등과 같은 다양한 상이한 아키텍처에 따라 구현될 수 있다. 통신 서비스(120)의 예는 VoIP 서비스, 온라인 회의 서비스, UC&C 서비스 등을 포함한다.
통신 클라이언트(110)는 본원에서 설명된 스크린 공유 경험을 위한 공유 보호 기술의 다양한 양태를 수행하기 위한 기능을 나타내는 공유 모듈(122)을 더 포함한다. 공유 모듈(122)의 다양한 속성 및 동작 양태가 아래에 상세히 설명된다. 공유 모듈(122)은 클라이언트 장치(102)와 엔드포인트 장치(116) 간의 콘텐츠를 공유하기 위한 허가 및 기준을 지정하는 다양한 데이터 세트를 나타내는 공유 정책(124)을 유지한다. 공유 정책(124)은, 예를 들어, 디스플레이 장치(114)의 어느 영역이 엔드포인트 장치(116)와 공유될 수 있는지, 그리고 디스플레이 장치(114)의 어느 영역이 엔드포인트 장치(116)와 공유될 수 없을지를 지정한다. 선택적으로 또는 부가적으로, 공유 정책(124)은 콘텐츠 및/또는 애플리케이션에 고유하다. 예를 들어, 공유 정책(124)은 엔드포인트 장치(116)와 공유되도록 허용된 특정 유형의 콘텐츠 및 엔드포인트 장치(116)와 공유되도록 허용되지 않은 다른 유형의 콘텐츠를 지정할 수 있다. 또한, 공유 정책(124)은 특정 애플리케이션(108)에 대한 애플리케이션 윈도우가 공유되도록 허용되는 반면, 상이한 애플리케이션(108)에 대한 애플리케이션 윈도우는 공유가 허용되지 않도록 지정할 수 있다. 일반적으로, 공유 정책(124)은 애플리케이션 개발자에 의해 지정된 디폴트 설정, 엔드 사용자 지정 설정, 정보 기술(IT) 인력 등을 통해 다양한 방식으로 구성될 수 있다.
통신 클라이언트(110)는 또한 클라이언트 장치(102)의 사용자(128)가 구성원인 다양한 그룹에 대한 식별자를 나타내는 그룹 멤버쉽(126)을 유지하고 및/또는 이에 액세스한다. 일반적으로, "그룹"은 다양한 기준에 따라 다양한 사용자를 그룹화하는 것을 지칭한다. 특정 그룹은, 예를 들어, 그 특정 그룹에 속한 사용자 식별자 및/또는 장치 식별자의 집합체를 나타낸다. 일반적으로, 그룹은 하드웨어 리소스, 소프트웨어 리소스, 콘텐츠, 파일 시스템(예를 들어, 디렉토리) 등에 대한 액세스를 제어하도록 작성되고 관리될 수 있다. 그룹의 예는 사용자 그룹, 전자 메일 그룹, 디렉토리 그룹 등을 포함한다. 적어도 일부 구현예에서, 공유 정책(124)은 공유 방지 영역을 "명료하게" 공유할 수 있는 특정 특권 그룹을 식별한다. 일반적으로, 본원에서 사용되는 "명료하게(in the clear)"라는 용어는 암호화된 콘텐츠의 해독을 통해 활성화된 것과 같이, 암호화되지 않은 및/또는 은폐되지 않은 형태로 콘텐츠를 보는 능력을 지칭한다. 예를 들어, 특정 공유 정책(124)은 공유 방지 콘텐츠가 특정 그룹과 공유될 수 있지만 특정 그룹 외부의 사용자, 예컨대, 특정 그룹의 구성원이 아닌 사용자와는 공유되지 않도록 지정할 수 있다. 공유 특권 그룹을 지정하는 것에 대한 대안적으로 또는 부가적으로, 공유 정책(124)은 특정 공유 특권 사용자, 장치, 네트워크 도메인 등을 지정할 수 있다.
공유 모듈(122) 및 공유 정책(124)은 클라이언트 장치(102) 상에 구현되는 것으로 도시되어 있지만, 일부 부가적인 또는 대안적인 구현예에서, 공유 모듈(122) 및/또는 공유 정책(124)의 기능이 부분적으로 또는 전체적으로 통신 서비스(120)와 같은 네트워크 기반 서비스를 통해 구현될 수 있다는 것이 이해되어야 한다. 예를 들어, 통신 서비스(120)는 본원에 설명된 스크린 공유 경험을 위한 공유 보호 기술의 다양한 양태를 수행할 수 있다.
클라이언트 장치(102)는 암호화 모듈(130) 및 코덱(132)을 더 포함한다. 암호화 모듈(130)은 스크린 공유 경험의 일부로서 스크린 콘텐츠를 암호화하는 것과 같이, 데이터를 암호화하고 해독하는 기능을 나타낸다. 적어도 이러한 목적을 위해, 암호화 모듈(130)은 정보를 암호화 및 해독하는 데 사용될 수 있는 키를 나타내는 암호화 키("키")(134)를 포함하고, 및/또는 이에 액세스한다. 키(134)는, 예를 들어, 공유 방지 콘텐츠를 암호화하는 암호화 모듈(130)에 의해 사용될 수 있다. 공유 방지 콘텐츠는, 예를 들어, 암호화 모듈(130)에 의해 암호화될 수 있어서, 암호화된 콘텐츠를 수신하는 엔드포인트 장치(116)는 그 콘텐츠를 암호화하는 데 사용된 특정 키(134)에 액세스하지 않는한, 그 콘텐츠를 명료하게 볼 수 없다.
적어도 일부의 구현예에서, 암호화 모듈(130)은 공유 방지 콘텐츠가 명료하게 보여지는 것을 방지하도록 공유 방지 콘텐츠를 스크램블(scramble)하는 스크램블링 기능(예를 들어, 스크램블러)을 포함할 수 있다. 예를 들어, 암호화 모듈(130)은 스크램블링 알고리즘 및/또는 다른 데이터 스크램블링 기술을 적용하여 공유 방지 콘텐츠의 데이터를 랜덤화하고 다른 장치가 공유 방지 콘텐츠를 명료하게 액세스하는 것을 방지할 수 있다. 본원에 사용된 바와 같이, 암호화는 키로 데이터를 인코딩하는 암호화, 스크램블링 알고리즘을 사용하여 데이터를 스크램블링하는 스크램블링, 및/또는 이들의 조합을 지칭할 수 있다.
코덱(132)은 스크린 공유 경험의 일부로서 생성되는 콘텐츠 스트림(예를 들어, 비디오, 오디오, 파일 등을 포함함)을 인코딩 및 디코딩하는 것과 같이, 콘텐츠를 인코딩 및 디코딩하는 기능을 나타낸다. 코덱(132)은, 예를 들어, 스크린 공유 경험의 일부로서 콘텐츠 스트림을 전송하는 데 필요한 전송 대역폭을 감소시키는 것과 같이, 콘텐츠 데이터의 압축 및 압축 해제를 수행하도록 구성된다.
본원에 설명된 기술이 동작할 수 있는 예시적인 환경을 설명하였으므로, 이제 하나 이상의 실시예에 따라 스크린 공유 경험에 대한 공유 보호를 위한 예시적인 구현 시나리오에 대한 설명이 고려된다.
아래의 섹션은 하나 이상의 구현예에 따라 스크린 공유 경험에 대한 공유 보호를 위한 일부 예시적인 구현 시나리오를 설명한다. 구현 시나리오는 상술된 환경(100), 및/또는 임의의 다른 적합한 환경에서 구현될 수 있다.
도 2는 하나 이상의 구현예에 따라 스크린 공유 경험 동안 콘텐츠를 보호하기 위한 예시적인 구현 시나리오(200)를 도시한다. 시나리오(200)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다.
시나리오(200)에서, 클라이언트 장치(102)의 사용자(128)는 엔드포인트 장치(116a)의 사용자(202)와의 통신 세션(204)에 참여한다. 일반적으로, 통신 세션(204)은 오디오, 비디오, 파일, 미디어 콘텐츠, 및/또는 이들의 조합과 같은, 클라이언트 장치(102)와 엔드포인트 장치(116a) 간의 다양한 통신 매체의 실시간 교환을 나타낸다. 이러한 특정 예에서, 통신 세션(204)은 네트워크(104)를 통한 클라이언트 장치(102)와 엔드포인트 장치(116a) 간의 음성 데이터(206) 및 비디오 데이터(208)의 실시간 교환을 수반한다.
통신 세션(204)의 일부로서, 사용자(128)는 디스플레이 장치(114)의 데스크탑(210)의 일부를 사용자(202)와 공유하는 액션을 수행한다. 일반적으로, 데스크탑(210)은 애플리케이션, 태스크, 시스템 동작 등에 대한 다양한 인터페이스 및 컨트롤(controls)이 디스플레이되는 디스플레이 장치(114)의 일 부분을 나타낸다. 예를 들어, 사용자(128)는 통신 클라이언트 인터페이스(214a)로부터 공유 컨트롤(212)을 선택한다. 일반적으로, 통신 클라이언트 인터페이스(214a)는 사용자(128)가 통신 세션(204)에 관련된 다양한 액션을 수행하고 그 상태 정보를 볼 수 있게 하는 통신 클라이언트(110)를 위한 인터페이스를 나타낸다. 공유 컨트롤(212)의 선택은 데스크탑(210)의 적어도 일부가 엔드포인트 장치(116a)와 공유되게 하는 공유 모드(216)를 활성화시킨다.
따라서, 공유 모드(216)를 활성화하기 위한 사용자 액션에 응답하여, 데스크탑(210)의 영역(218a)은 엔드포인트(116a)와 공유된다. 데스크탑(210)을 공유하는 사용자 액션은 영역(218a)의 시각적 표현(220)이 엔드포인트 장치(116a)의 디스플레이(222) 상에 디스플레이된 통신 클라이언트 인터페이스(214a) 내에 제시되게 한다. 시각적 표현(220)은, 예를 들어, 비디오 데이터(208)의 일부로서 클라이언트 장치(102)로부터 엔드포인트 장치(116a)로 통신되는 영역(218a)의 라이브 복사본(live copy)을 나타낸다. 일반적으로, 통신 클라이언트 인터페이스(214a)는 통신 클라이언트(118)의 GUI를 나타낸다.
주목할 것은 영역(218a)이 엔드포인트 장치(116a)와 공유되지만, 데스크탑(210)의 다른 영역(218b)은 엔드포인트 장치(116a)와 공유되지 않는다는 것이다. 본원에 설명된 스크린 공유 경험에 대한 공유 보호 기술에 따르면, 영역(218b)은 엔드포인트 장치(116a)와 공유되지 않는 공유 방지 영역으로 지정된다. 일반적으로, 영역(218b)은 영역(218b)을 공유 방지 영역으로 식별하는 사용자 액션에 의한 것과 같이, 다양한 방식으로 공유 방지 영역으로 지정될 수 있다. 예를 들어, 사용자(128)는 통신 클라이언트 인터페이스(214a)로부터 보호 컨트롤(224)을 선택하며, 이 보호 컨트롤은 영역(218b)이 공유 방지 영역으로 지정될 수 있게 하는 공유 보호 모드를 활성화한다. 디스플레이 구역의 공유 방지 영역을 지정하는 다양한 방식의 예는 아래에 설명된다.
영역(218b)이 엔드포인트 장치(116a)와의 공유가 방지되도록 하기 위해, 통신 클라이언트(110)는 암호화 모듈(130)과 인터페이스하여, 예컨대, 키(134a)를 사용하여 영역(218b)이 암호화되게 한다. 예를 들어, 공유 모듈(122)은 영역(218b)에 대한 영역 식별자(“ID”)(226)를 암호화 모듈(130)에 전달하고, 암호화 모듈(130)은 암호화된 비디오 데이터(228)를 생성하기 위해 키(134a)를 사용하여 영역(218b)으로부터의 데이터를 암호화한다. 일반적으로, 영역 ID(226)는 영역(218b)을 정의하는 픽셀 좌표, 영역(218b) 내에 콘텐츠를 제시하는 애플리케이션(108)의 애플리케이션 식별자, 영역(218b) 내에 제시된 콘텐츠에 대한 파일 식별자 등과 같이, 다양한 방식으로 구현될 수 있다.
따라서, 암호화된 비디오 데이터(228)는 통신 세션(204)의 데이터 스트림과 함께 통신될 수 있다. 그러나, 엔드포인트 장치(116a)는 키(134a)에 액세스하지 못하기 때문에, 엔드포인트 장치(116a)는 암호화된 비디오 데이터(228)를 해독할 수 없고 영역(218b)으로부터 콘텐츠를 명료하게 디스플레이할 수 없다.
이러한 방식으로, 디스플레이 구역(예를 들어, 데스크탑)의 다양한 영역은, 디스플레이의 일부의 부분은 공유되고 다른 부분은 공유가 방지되도록 공유 제한 영역으로 정의될 수 있다. 일반적으로, 콘텐츠는 동적으로 그리고 통신 세션(204)이 진행되는 동안 공유 방지 콘텐츠로 지정될 수 있다. 예를 들어, 사용자(128)는 통신 세션(204)이 진행되는 동안 영역(218b)에 대한 공유 보호가 적용되고 그 후 나중에 제거되도록 하는 액션을 수행할 수 있다. 대안적으로 또는 부가적으로, 특정 콘텐츠는 공유 방지 콘텐츠로 영구적으로 지정될 수 있어서, 공유 보호가 다수의 개별 통신 세션에 걸쳐 자동적으로 적용될 수 있다. 영구적인 공유 보호는, 예를 들어, 애플리케이션 ID, 콘텐츠 유형, 데스크탑(210)의 특정 부분 등에 기초하여 적용될 수 있다.
도 3은 하나 이상의 구현예에 따라 스크린 공유 경험 동안 콘텐츠를 보호하기 위한 예시적인 구현 시나리오(300)를 도시한다. 시나리오(300)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다. 적어도 일부 구현예에서, 시나리오(300)는 전술한 시나리오(200)의 지속 및/또는 변형을 나타낸다.
시나리오(300)에서, 사용자(128)는 통신 세션(204)의 일부로서 사용자(302)와 스크린 공유 경험에 참여하고 있으며, 본원의 다른 곳에서 설명된 바와 같이 영역(218b)을 공유 방지 영역으로 지정한다. 이에 응답하여, 암호화 모듈(130)은 영역(218b)으로부터 콘텐츠를 암호화한다. 그러나, 이 특정 시나리오에서, 영역(218b)으로부터의 콘텐츠는 로컬로 암호화되며, 그에 따라, 그 콘텐츠는 디스플레이(114) 및 사용자(302)의 엔드포인트 장치(116b)의 디스플레이(304) 모두에 은폐된다. 예를 들어, 주목할 것은 엔드포인트 장치(116b)의 통신 클라이언트(118b)에 의해 제시되는 통신 클라이언트 인터페이스(214b)에서뿐만 아니라 데스크탑(210) 상에서 영역(218b)이 시각적으로 은폐된다(예를 들어, 스크램블링된다)는 것이다. 적어도 일부 구현예에서, 데스크탑(210) 상에서 로컬로 영역(218b)을 시각적으로 은폐하는 것은 전체 데스크탑(210)이 코덱(132)에 의해 캡처되고 인코딩되어, 단일 인코딩된 비디오 스트림(304)으로서 엔드포인트 장치(116c)로 전송될 수 있게 한다. 예를 들어, 인코딩된 비디오 스트림(304)은 비디오 데이터(306) 및 음성 데이터(308)를 포함하고, 비디오 데이터(306)는 은폐된 영역(218b)뿐만 아니라 데스크탑(210)의 은폐되지 않은(예컨대, 암호화되지 않은) 부분(예를 들어, 영역(218a))을 포함한다. 따라서, 전체 데스크탑(210)은, 영역(218b)이 통신 세션(204)의 일부로서 암호화되어 콘텐츠의 개별 암호화된 부분으로서 통신되도록 할 필요없이, 통신 세션(204)의 일부로서 전송될 수 있다.
도 4는 하나 이상의 구현예에 따라 스크린 공유 경험 동안 공유 방지 콘텐츠가 특권 사용자에 의해 액세스 가능하도록 하기 위한 예시적인 구현 시나리오(400)를 도시한다. 시나리오(400)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다. 적어도 일부 구현예에서, 시나리오(400)는 전술한 시나리오(200, 300)의 지속 및/또는 변형을 나타낸다.
시나리오(400)에서, 사용자(128)는 통신 세션(204)의 일부로서 사용자(402)와 스크린 공유 경험에 참여하고 있으며, 본원의 다른 곳에서 설명된 바와 같이 영역(218b)을 공유 방지 영역으로 지정한다. 이에 응답하여, 암호화 모듈(130)은 암호화된 비디오 데이터(404)를 생성하기 위해 암호화 키(134c)로 영역(218b)으로부터의 콘텐츠를 암호화한다. 따라서, 암호화된 비디오 데이터(404)는 음성 데이터(206) 및 비디오 데이터(208)와 함께 사용자(402)의 엔드포인트 장치(118c)에 전송된다.
이러한 특정 시나리오에서, 엔드포인트 장치(116c)는 암호화된 비디오 데이터(404)를 암호화하는 데 사용되는 키(134c)의 인스턴스를 나타내는 키(406)를 포함하고 및/또는 키(406)에 액세스한다. 따라서, 엔드포인트 장치(116c)는 암호화된 비디오 데이터(404)를 해독하여, 영역(218a) 및 영역(218b)으로부터의 콘텐츠를 포함하는 데스크탑(210)의 시각적 표현(408)을 통신 클라이언트(118c)에 대한 통신 클라이언트 인터페이스(214c)의 일부로서 명료하게 디스플레이할 수 있다. 키(406)에 액세스하지 못하는 통신 세션(204)에 참여하는 다른 엔드포인트(116)는 암호화된 비디오 데이터(404)를 수신할 수 있지만, 암호화된 데이터(404)를 해독하지 못할 것이고, 영역(218b)을 명료하게 볼 수는 없을 것이다.
일반적으로, 엔드포인트 장치(116c)는 다양한 방식으로 키(406)에 액세스할 수 있다. 예를 들어, 키(406)는 통신 세션(204)에 참여하기 위한 초대장(invite)과 함께, 예컨대, 초대장에 내장되거나 및/또는 초대장에 첨부되어, 엔드포인트 장치(116c)에 전달될 수 있다. 또 다른 예로서, 키(406)는 초대장과는 별개로, 가령, 이메일의 일부로, 인스턴트 메시지 내에, 텍스트 메시지 등으로 엔드포인트 장치(116c)에 전달될 수 있다.
일 예시적인 실시예에서, 키(406)는 키(406)에 액세스하도록 자격이 부여된 특권 그룹의 구성원인 사용자(128) 덕분에 엔드포인트 장치(116c)에 액세스 가능할 수 있다. 예를 들어, 공통 그룹의 멤버쉽은 그 사용자가 키(406)에 액세스할 수 있는 권한을 부여하고, 공유 특권 사용자로 특별히 지정되지 않은 그 그룹 외부의 사용자에게는 키(406)에 액세스할 권한이 부여되어 있지 않다. 적어도 일부 구현예에서, 키(406)는 모두 동일한 그룹의 구성원인 사용자(402) 및 사용자(128) 덕분에 엔드포인트 장치(116c)에 이용 가능하다. 예를 들어, 그룹에 대한 그룹 권한은 그 구성원이 키(406)에 액세스할 수 있는 권한을 부여한다.
도 5는 하나 이상의 구현예에 따라 공유 방지 영역을 지정하기 위한 예시적인 구현 시나리오(500)를 도시한다. 시나리오(500)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다. 적어도 일부 구현예에서, 시나리오(500)는 전술한 시나리오(200 내지 400)의 지속 및/또는 변형을 나타낸다.
시나리오(500)에서, 클라이언트 장치(102)는 공유 모드(216)에 있다. 또한, 사용자(128)는 영역(218b)을 공유 방지 영역으로 지정하여, 공유 모드(216)가 위의 시나리오에서 설명된 바와 같이 활성인 동안 영역(218b)은 다른 장치와 공유되지 않도록 한다. 사용자(128)는, 예를 들어, 영역(218b) 주위에 보호 존(502)을 그리기 위해 디스플레이 장치(114)에 대한 터치 입력을 사용한다. 마우스 및 커서를 사용한 입력, 터치리스 제스처 입력, 스타일러스 입력 등과 같은 다른 유형의 입력이 또한 보호 존(502)을 그리는 데 사용될 수 있다. 이 특정 예에서, 보호 존(502)은 파선을 통해 시각적으로 표시되어 공유 방지 부분으로서 지정된 디스플레이 장치(114)의 일 부분의 시각적 어포던스(visual affordance)를 제공한다.
적어도 하나의 구현예에서, 사용자(128)는 보호 존(502)을 그리기 전에 공유 보호(sharing protect)("SP") 모드(504)를 활성화한다. 대안적으로 또는 추가적으로, 사용자(128)는 보호 존(502)을 그리고, 그런 후 후속해서 SP 모드(504)를 활성화한다. 하나의 특정 예에서, SP 모드(504)는 공유 보호("보호") 컨트롤(506)을 선택함으로써 활성화된다. 일반적으로, SP 모드(504)는 디스플레이의 일 부분이 공유 방지 부분으로 지정되도록 허용한다. 예를 들어, SP 모드(504)는 디스플레이 장치(506)의 임의의 부분 주위에 보호 존이 그려질 수 있게 하며, 보호 존 내의 콘텐츠는 공유 방지 콘텐츠로 지정될 것이다.
시나리오(500)에 더하여, 보호 존(502)을 그리게 되면, 보호 존(502) 내의 디스플레이 장치(114)의 일 부분은 키(134)의 인스턴스를 사용하여 암호화된다. 공유 방지 콘텐츠를 암호화하기 위한 예시적인 방식 및 구현예는 위에 설명되어 있다.
도 6은 하나 이상의 구현예에 따라 공유 방지 영역을 지정하기 위한 예시적인 구현 시나리오(600)를 도시한다. 시나리오(600)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다. 시나리오(600)는, 예를 들어, 상술한 시나리오(200-500)와 협력하여 구현될 수 있다.
시나리오(600)에서, 클라이언트 장치(102)는 전술한 것과 같이 공유 모드(216)에 있다. 또한, GUI(602)는 보호 컨트롤(604)을 포함한다. GUI(602)는, 예를 들어, 특정 애플리케이션(108)에 대한 GUI를 나타낸다. 본원에서 설명된 구현예에 따르면, 보호 컨트롤(604)은 GUI(602)에 대한 SP 모드(504)를 호출하도록 선택 가능하다. 예를 들어, 사용자(128)가 보호 컨트롤(604)을 선택하는 것에 응답하여, SP 모드(504)가 GUI(402)에 대해 호출된다. 따라서, 사용자(128)는 디스플레이 장치(114) 내에서 GUI(602)를 이동(예를 들어, 드래그)시킬 수 있고, GUI(602)는 공유 방지로 유지될 것이다. 따라서, SP 모드(504)는, 콘텐츠가 디스플레이될 수 있는 모든 곳에서 콘텐츠가 공유 방지 콘텐츠로 유지되도록, 콘텐츠의 특정 인스턴스(예를 들어, GUI(402))에 결속될 수 있다.
일반적으로, GUI(602)에 대해 SP 모드(504)를 호출하면 GUI(602)가 키(134)를 사용하여 암호화 모듈(130)에 의해 암호화된다. 따라서, 데스크탑(210)이 키(134)에 액세스하지 못하는 다른 장치와 공유될 경우, GUI(602)의 콘텐츠는 명료하게 액세스될 수 없으며, 예를 들어, 그 콘텐츠는 시각적으로 은폐된다. 그러나, 키(134)에 액세스하는 다른 장치는 GUI(602)의 콘텐츠를 해독하여 명료하게 볼 수가 있다.
도 7은 하나 이상의 구현예가 따라 공유 방지 영역을 보도록 허용되는 사용자 세트를 지정하기 위한 예시적인 구현 시나리오(700)를 도시한다. 시나리오(700)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다. 시나리오(700)는, 예를 들어, 상술한 시나리오(200-600)와 협력하여 구현될 수 있다.
시나리오(700)에서, 사용자(128)는 위에 소개된 통신 세션(204)에 참여하고 있으며, 공유 모드(216)는 데스크탑(210)의 일부가 통신 세션(204)에 참여하고 있는 다른 장치와 공유되도록 활성이다. 또한, 영역(218b)은 전술한 바와 같이 공유 방지 영역으로 지정된다. 영역(218b)이 공유 방지 영역으로 지정되는 것에 응답하여, 암호화 모듈(130)은 암호화된 비디오 콘텐츠(702)를 생성하기 위해 암호화 키(134c)로 영역(218b)으로부터의 콘텐츠를 암호화한다.
시나리오(700)에 더하여, 통신 클라이언트 인터페이스(704)가 디스플레이 장치(114) 상에 디스플레이된다. 일반적으로, 통신 클라이언트 인터페이스(704)는 사용자(128)가 통신 세션(204)에 관련된 다양한 액션을 수행하고 다양한 정보를 볼 수 있게 하는 통신 클라이언트(110)를 위한 인터페이스를 나타낸다. 이 특정 예에서, 통신 클라이언트 인터페이스(704)는 통신 세션(204)에 접속되어 참여하는 다양한 사용자를 식별하는 참여자 영역(706)을 포함한다. 예를 들어, 참여자 영역(706)은 시각적 아이콘들로 채워지워, 이들 아이콘의 각각은 통신 세션(204)에 접속된 상이한 사용자를 나타낸다.
상술한 바와 같이, 적어도 일부의 구현예에서, 사용자가 디스플레이 구역의 특정 영역을 공유 방지 영역으로 지정할 경우, 그 영역은, 스크린 공유 경험 중인 다른 참여자가 그 영역의 콘텐츠를 해독할 수 없는 한, 그 콘텐츠를 명료하게 볼 수 없도록 암호화된다. 따라서, 본원에서 설명된 구현예는 사용자로 하여금 특정 영역이 일부 사용자에게 액세스되는 것을 방지하도록 하면서 다른 사용자들에게는 그 영역이 명료하게 액세스될 수 있게 허용한다. 사용자(128)는, 예를 들어, 공유 방지 영역으로 지정된 영역으로부터의 콘텐츠를 명료하게 볼 수 있게 허용되는 특정 사용자를 식별할 수 있다.
예를 들어, 통신 클라이언트 인터페이스(704)에서, 참여자 영역(704) 내의 사용자 아이콘(708a) 및 사용자 아이콘(708b)은, 각각의 아이콘(708a, 708b)에 의해 표현된 사용자가 공유 방지 콘텐츠를 명료하게 보기 위한 특권 사용자로 지정되어 있음을 나타내기 위해 시각적으로 주석 처리되어 있다. 아이콘(708a, 708b)은, 예를 들어, 각 사용자가 공유 특권 사용자라는 것을 나타내기 위해 문자 "S"로 주석 처리된다.
일반적으로, 사용자(128)는 사용자들을 공유 특권 사용자로 다양한 방식으로 지정할 수 있다. 예를 들어, 사용자(202)는, 예컨대, 마우스의 우측 클릭(a right click with a mouse), 프레스 앤 홀드 터치 제스처(press and hold touch gesture), 터치리스 핸드 제스처(touchless hand gesture) 등을 통해 개별 아이콘(708a, 708b)을 선택할 수 있다. 이러한 선택에 응답하여, 사용자(202)는 아이콘(708a, 708b)이 특권 아이콘으로 지정될 수 있게 하는 선택 가능한 옵션을 제공받을 수 있다.
대안적으로 또는 부가적으로, 사용자(128)는 참여자 영역(706)으로부터의 아이콘(708a, 708b)을 통신 클라이언트 인터페이스(702)의 특권 영역(708)으로 드래그함으로써 각각의 사용자가 공유 특권 사용자로 지정되도록 할 수 있다. 특권 영역(708)은, 예를 들어, 아이콘(708a, 708b)으로 채워져, 각 사용자가 공유 방지 콘텐츠를 해독하기 위한 암호화 키를 얻을 수 있도록 공유 특권 사용자로 지정되었음을 표시한다.
시나리오(700)에 더하여, 아이콘(708a, 708b)에 의해 표현된 사용자가 공유 특권 사용자로 지정된 것에 응답하여, 키(710)는 공유 특권 사용자에게 이용 가능하게 된다. 다양한 구현예에 따르면, 키(710)는 암호화된 콘텐츠(702)를 암호화하는 데 사용된 키(134)의 인스턴스(예를 들어, 복사본)를 나타낸다. 키(710)는, 예를 들어, 이메일, 인터넷 메시징, 텍스트 메시징 등을 통해 특권 사용자에게 전달될 수 있다. 대안적으로 또는 부가적으로, 키(710)는 특권 사용자와 관련된 엔드포인트 장치(116) 상에 상주하는 통신 클라이언트(118)의 각각의 인스턴스에 직접 전달될 수 있다. 또 다른 구현예로서, 키(710)는 각각의 사용자와 관련된 엔드포인트 장치(116)로부터 원격인 네트워크 저장 장치와 같이, 특권 사용자가 액세스할 수 있는 원격 위치에 저장될 수 있다.
전술한 바와 같이, 공유 방지 콘텐츠를 해독하기 위한 키에 대한 액세스는 그룹 멤버쉽에 기초할 수 있다. 따라서, 적어도 일부의 구현예에서, 키(710)는 특정 그룹과 키(710)를 관련시킴으로써 특권 사용자와 공유될 수 있다. 예를 들어, 사용자가 특권 사용자로 지정되는 것에 응답하여, 사용자는 키(710)에 액세스하는 그룹(712)의 구성원으로서 추가될 수 있다. 따라서, 특권 사용자와 관련된 엔드포인트 장치(118)는, 예를 들어, 그룹(712)에 대한 콘텐츠를 저장하는 네트워크 저장 장치에 액세스함으로써 키(710)에 액세스할 수 있다. 대안적으로, 특권 사용자는 이미 그룹(712)의 구성원일 수 있으며, 따라서 그룹(712)은 사용자가 특권 사용자로 지정되는 것에 응답하여 특권 그룹으로 지정될 수 있다. 따라서, 그룹(712)의 구성원이 되는 덕택에, 아이콘(706a, 706b)에 의해 표현된 특권 사용자는 키(710)에 액세스하여 암호화된 콘텐츠(702)를 해독함으로써 영역(218b)으로부터의 콘텐츠를 명료하게 볼 수가 있다.
사용자(128)가 특정 사용자에 대한 공유 특권을 취소하기를 원한다면, 사용자(128)는 그렇게 하기 위한 액션을 수행할 수 있다. 예를 들어, 사용자(128)는 개별 아이콘(706a, 706b)을 선택할 수 있고, 각각의 사용자에 대한 공유 특권을 중단하는 옵션을 제공받을 수 있다. 사용자(128)가 그 옵션을 선택하면, 그 사용자에 대한 공유 권한은 취소될 것이고, 공유 특권 콘텐츠로 지정된 콘텐츠는 더 이상 그 사용자에게 액세스되지 않을 것이다. 대안적으로 또는 부가적으로, 사용자(128)는 특권 영역(708)으로부터의 아이콘(706a, 706b)을 참여자 영역(704)으로 드래그함으로써 각 사용자에 대한 공유 특권을 비활성화시킬 수 있다. 일반적으로, 공유 특권의 취소는 다양한 방식으로 행해질 수 있다. 예를 들어, 키(710)에 대한 액세스가 취소되어, 사용자는 더 이상 키(710)에 액세스할 수 없어 암호화된 콘텐츠(702)를 해독할 수 없게 된다.
대안적으로, 공유 방지 콘텐츠를 암호화하기 위한 상이한 키(134)가 선택되어 암호화된 콘텐츠(702)를 생성하므로, 키(710)는 암호화된 콘텐츠(702)를 해독하는 데 더 이상 유효하지 않다. 그러한 경우, 상기 상이한 키는 공유 특권이 취소된 사용자가 아닌, 공유 특권을 유지하고 있는 다른 사용자에게 배포될 수 있고 및/또는 이용 가능하게 만들어질 수 있다.
적어도 일부의 구현예에서, 사용자는, 예를 들어, 통신 세션(204)이 진행되는 동안, 특권 및 비 특권 사용자로 동적으로 지정될 수 있다. 예를 들어, 사용자가 상술한 바와 같이 영역(218b)을 공유 방지 영역으로 지정했다고 간주하자. 또한, 통신 세션(204)이 진행되는 동안, 사용자(128)는 통신 세션(204)에 있는 참여자들의 서브 세트와 영역(218b)을 일시적으로 공유하기를 원한다. 따라서, 통신 세션(204)이 진행되는 동안, 사용자는 아이콘(706a, 706b)에 의해 표현된 사용자들을 공유 특권 사용자로 지정하는 액션을 수행할 수 있다. 이에 응답하여, 영역(218b)은 사용자들로부터의 공유 방지 영역에서 사용자들과의 공유 영역으로 전환될 것이고, 이에 따라 그 사용자들은 자신의 장치에서 그 영역(218b)을 명료하게 볼 수 있는 반면, 영역(218b)은 통신 세션에 참여중인 다른 비 특권 사용자들에게는 공유 방지 영역으로 유지된다. 사용자(128)가 나중에 통신 세션(204)이 진행중인 동안 사용자들로부터 영역(218b)을 공유 방지할 것을 결정하면, 사용자(128)는 상술한 바와 같이 사용자들로부터 공유 특권을 취소할 수 있다. 따라서, 스크린 공유 경험에 대한 공유 보호를 위한 구현예는 통신 세션이 진행되는 동안 공유 방지 영역이 다른 사용자들과 일시적으로 공유될 수 있게 한다.
도 8은 하나 이상의 구현예에 따라 공유 특권 사용자인 사용자를 지정하기 위한 예시적인 구현 시나리오(800)를 도시한다. 시나리오(800)는 환경(100)을 참조하여 위에서 소개된 다양한 엔티티 및 컴포넌트를 포함한다. 시나리오(800)는, 예를 들어, 상술한 시나리오(200-700)와 협력하여 구현될 수 있다.
시나리오(800)는 통신 클라이언트(110)를 통해 구현된 통신 세션(804)에 다른 사용자를 참여시키기 위한 초대장을 생성하기 위한 GUI를 나타내는 미팅 초대 GUI ("초대 GUI")(802)를 포함한다. 통신 세션(804)은, 예를 들어, 미래의 시점에서 발생할 통신 세션을 나타낸다. 초대 GUI(802)는 피초청자 영역(806) 및 공유 특권 영역(808)을 포함한다. 일반적으로, 피초청자 영역(806)은 사용자(128)가 통신 세션에 참여하도록 초대될 다른 사용자들을 지정할 수 있게 한다. 공유 특권 영역(808)은 사용자(128)가 피초청자 영역에서 식별된 특정 사용자가 공유 특권 사용자가 될 것인지의 여부를 나타낼 수 있게 한다. 이 특정 예에서, 공유 특권 영역(808)은 개별 사용자들에 대한 공유 특권 상태를 선택 및 선택 해제할 수 있게 하는 선택 가능한 컨트롤을 포함한다. 예를 들어,이 예에서 사용자 "A Smith"및 "W Sole"은 공유 특권 사용자로 지정되지만 사용자 "T Heins"및 "J Owen"은 그렇지 않다.
초대 GUI(802)는 통신 세션(804)에 참여하기 위한 초대장(812)이 피초청자 영역(806)에서 식별된 피초청자에게 전송되도록 선택 가능한 전송 컨트롤(810)을 포함한다. 일반적으로, 초대장(812)은, 예를 들어, 이메일, 인터넷 메시징, (예컨대, 통신 클라이언트들(110)의 상이한 인스턴스들 간의) 애플리케이션-애플리케이션 통신 등의 다양한 방식으로 전송될 수 있다.
일반적으로, 초대장(812)은 표준 초대장(814) 및 특권 초대장(816)을 포함한다. 표준 초대장(814)은 "T Heins"및 "J Owen"과 같이 공유 특권 사용자로 지정되지 않은 피초정자에게 전송된다. 그러나, 특권 초대장(816)은 "A Smith " 및 "W Sole"과 같이 특권 사용자로 지정된 피초청자에게 전송된다. 특권 초대장(816)은, 예를 들어, 통신 세션(804)의 일부로서 공유 방지 콘텐츠로 지정된 콘텐츠를 해독하는 데 사용될 수 있는 키(818)에 대한 액세스를 제공한다. 키(818)는, 예를 들어, 특권 초대장(816)에는 첨부될 수 있지만, 표준 초대장(814)에는 첨부될 수 없다. 대안적으로 또는 부가적으로, 특권 초대장(816)은 보안 네트워크 저장 위치와 같이, 키(818)가 검색될 수 있는 네트워크 위치에 대한 링크(예를 들어, 하이퍼링크) 또는 다른 포인터를 포함할 수 있다. 예를 들어, 특권 초대장(816)은 키(818) 자체를 포함하지 않고 키(818)에 대한 포인터를 포함할 수 있다. 또 다른 구현예에서, 특권 초대장(816)의 전송은 공유 특권 사용자가 키(818)에 대한 액세스가 허용되는 특권 그룹에 추가될 수 있게 한다.
대조적으로, 표준 초대장(814)은 키(818)에 대한 액세스를 제공하지 않으므로, 비 공유 특권 피초청자들이 키에 액세스하지 못하게 하여 통신 세션(804)의 일부로서 포함된 공유 방지 콘텐츠를 해독하지 못하게 한다. 그룹 액세스가 채용되는 시나리오에서, 표준 초대장(814)은 비 공유 특권 사용자가 공유 특권 그룹에 추가되지 못하게 한다.
따라서, 이러한 예시적인 시나리오는, 스크린 공유 경험에 대한 공유 보호를 위한 기술이 스크린 콘텐츠가 스크린 공유 경험의 일부로서 공유 방지될 수 있게 하고, 스크린 공유 경험 중인 특정 참여자가 공유 방지 콘텐츠를 명료하게 볼 수 있게 한다는 것을 예시하고 있다.
일부 예시적인 구현 시나리오를 설명했고, 이제 하나 이상의 실시예에 따른 일부 예시적인 절차에 대한 설명이 고려된다.
다음은 하나 이상의 실시예 따라 스크린 공유 경험에 대한 공유 보호를 위한 일부 예시적인 절차를 설명한다. 예시적인 절차는 도 1의 환경(100), 도 12의 시스템(1200), 및/또는 임의의 다른 적합한 환경에서 이용될 수 있다. 절차는, 예를 들어, 위에 설명된 구현 시나리오를 구현하기 위한 예시적인 절차를 나타낸다. 적어도 일부의 구현예에서, 다양한 절차에 대해 설명된 단계는 자동으로 그리고 사용자 상호 작용과는 독립적으로 구현된다. 다양한 구현예에 따르면, 절차는 로컬로(예를 들어, 클라이언트 장치(102)에서) 및/또는 통신 서비스(120)와 같은 네트워크 기반 서비스에서 수행될 수 있다.
도 9는 하나 이상의 구현예에 따른 방법에서의 단계를 설명하는 흐름도이다. 이 방법은 하나 이상의 구현예에 따라 공유 방지 영역의 콘텐츠에 대한 액세스를 제어하기 위한 예시적인 절차를 기술하고 있다. 적어도 일부의 구현예에서, 이 방법은 적어도 부분적으로는 클라이언트 장치(102)에서(예를 들어, 통신 클라이언트(110)에 의해) 및/또는 통신 서비스(120)에 의해 수행될 수 있다.
단계(900)는 공유된 매체의 영역이 스크린 공유 경험의 일부로서 공유 방지될 것이라는 것을 확인한다. 사용자는, 예를 들어, 디스플레이 구역의 특정 영역 및/또는 공유 방지될 특정 콘텐츠 유형을 선택한다. 가상/혼합 현실 환경에서의 콘텐츠의 선택, 원격 디스플레이 장치 상에 디스플레이되는 콘텐츠의 선택 등과 같은 공유 방지 콘텐츠를 선택하는 다른 방식이 부가적으로 또는 대안적으로 이용될 수 있다. 디스플레이 영역 및/또는 특정 콘텐츠(예를 들어, "공유된 매체")를 공유 방지로 지정하는 예시적인 방식은 위에서 설명되고 있다.
단계(902)는 공유된 매체의 영역으로부터의 콘텐츠에 대한 액세스가 허용될 스크린 공유 경험 중인 제 1 참여자를 지정하는 사용자 입력을 수신한다. 공유 특권 사용자를 지정하는 다양한 방식이 위에 설명되어 있다.
단계(904)는 스크린 공유 경험 중인 참여자들의 그룹 사이에서의 스크린 공유 경험 동안 영역으로부터의 콘텐츠가 키로 암호화되게 한다. 암호화 모듈(130)은, 예를 들어, 콘텐츠를 암호화 키(134)로 암호화하여 암호화된 콘텐츠를 생성한다.
단계(906)는 참여자들의 그룹 중의 제 1 참여자를 키에 대한 액세스를 위한 공유 특권 참여자로 지정하고, 참여자들의 그룹 중의 제 2 참여자를 키에 대한 액세스를 위한 공유 특권 참여자로 지정하지 않는다. 일반적으로, 이는 키가 제 1 참여자에게 액세스될 수 있게 하여 스크린 공유 경험의 일부로서 콘텐츠가 제 1 참여자에게 해독될 수 있게 하지만, 스크린 공유 경험의 일부로서 키가 제 2 참여자에게는 액세스될 수 없게 한다. 예를 들어, 제 1 참여자와 연관된 제 1 장치는 키에 대한 액세스가 허용되어 스크린 공유 경험의 일부로서 콘텐츠를 해독할 수 있지만, 제 2 참여자와 연관된 제 2 장치는 스크린 공유 경험의 일부로서 키에 대한 액세스가 허용되지 않는다.
단계(908)는 스크린 공유 경험의 데이터 스트림의 일부로서 다른 암호화되지 않은 콘텐츠와 함께 암호화된 콘텐츠를 전달한다. 적어도 일부의 구현예에서, 스크린 공유 경험은 실시간 통신 세션의 일부이다. 따라서, 디스플레이 영역의 부분들은 암호화되어 데이터 스트림에 포함될 수 있는 반면, 다른 부분들은 암호화되지 않은 형태로 데이터 스트림에 포함될 수 있다.
도 10은 하나 이상의 구현예에 따른 방법에서의 단계를 설명하는 흐름도이다. 이 방법은 하나 이상의 구현예에 따라 공유 방지 영역의 콘텐츠에 대한 액세스를 제어하기 위한 예시적인 절차를 기술하고 있다. 적어도 일부의 구현예에서, 이 방법은 적어도 부분적으로는 클라이언트 장치(102)에서(예를 들어, 통신 클라이언트(110)에 의해) 및/또는 통신 서비스(120)에 의해 수행될 수 있다.
단계(1000)는 통신 세션에 대한 특권 초대장을 제 1 참여자에게 전송하고, 이 특권 초대장은 보호된 콘텐츠를 암호화하는 데 사용되는 키에 대한 액세스를 가능하게 한다. 통신 클라이언트(110)는, 예를 들어, 공유 특권 사용자로 지정된 사용자에게 특권 초대장을 전달한다. 다양한 구현예에 따르면, 특권 초대장은 암호화되는 보호 콘텐츠를 암호화하기 위한 암호화 키에 대한 액세스를 가능하게 한다. 예를 들어, 제 1 참여자와 연관된 제 1 장치는 초대장과 연관된 정보를 이용하여 키에 액세스하고 암호화된 콘텐츠를 해독할 수 있다.
단계(1002)는 통신 세션에 대한 표준 초대장을 제 2 참여자에게 전송하고, 이 표준 초대장은 키에 대한 액세스를 가능하게 하지 못한다. 표준 초대장은, 예를 들어, 제 1 참여자가 통신 세션에 참여할 수 있게 하지만, 통신 세션의 일부로서 암호화된 형태로 전송되는 보호된 콘텐츠를 해독하는 것은 허용하지 않는다.
일반적으로, 전술한 절차는 스크린 공유 경험(예를 들어, 통신 세션)이 활성인 동안 동적으로 그리고 실시간으로 수행될 수 있다. 예를 들어, 스크린 공유 경험이 활성인 동안, 공유 사용자는 한 사용자를 공유 특권 사용자로 지정할 수 있어서, 그 사용자의 장치가 보호된 콘텐츠를 해독하기 위한 암호화 키에 액세스할 수 있게 된다. 또한, 스크린 공유 경험이 여전히 활성인 동안, 공유 사용자는 사용자의 공유 특권 상태를 취소하여, 콘텐츠를 해독하기 위해 암호화 키에 액세스하는 사용자의 허가가 취소될 수 있다.
도 11은 하나 이상의 구현예에 따른 방법에서의 단계를 설명하는 흐름도이다. 이 방법은 하나 이상의 구현예에 따라 공유 방지 영역을 시각적으로 은폐하는 예시적인 절차를 기술하고 있다. 적어도 일부의 구현예에서, 이 방법은 적어도 부분적으로는 클라이언트 장치(102)에서(예를 들어, 통신 클라이언트(110)에 의해) 및/또는 통신 서비스(120)에 의해 수행될 수 있다.
단계(1100)는 클라이언트 장치의 디스플레이 구역의 제 1 영역이 공유 방지될 것을 확인한다. 사용자는, 예를 들어, 공유 방지될 디스플레이 구역의 일부분을 식별하기 위한 입력을 제공한다.
단계(1102)는 제 1 영역이 클라이언트 장치의 디스플레이 구역 상에서 시각적으로 은폐되도록, 제 1 영역이 클라이언트 장치에서 암호화되게 한다. 예를 들어, 디스플레이 구역의 제 1 영역이 공유 방지될 것을 확인하는 것에 응답하여, 제 1 영역으로부터의 콘텐츠가 암호화된다.
단계(1104)는 클라이언트 장치의 디스플레이 구역의 시각적으로 은폐된 제 1 영역 및 은폐되지 않은 제 2 영역을 포함하는 디스플레이 구역의 비디오 이미지를 캡처한다. 디스플레이 구역의 다른 영역은, 예를 들어, 공유 방지 영역으로 지정되지 않으므로 암호화되지 않는다. 따라서, 암호화된 제 1 영역과 암호화되지 않은 제 2 영역은 디스플레이 구역의 단일 비디오 이미지로서 함께 캡처될 수 있다. 다양한 구현예에 따르면, 단일 비디오 이미지는 실시간 통신 세션의 일부와 같이, 일정 기간에 걸쳐 캡처된 실시간 이미지를 나타낸다.
단계(1106)는 클라이언트 장치와 다른 장치 간의 스크린 공유 경험의 일부로서 비디오 이미지를 다른 장치에 전달한다. 예를 들어, 비디오 이미지는 클라이언트 장치와 다른 장치 사이에서 데이터 스트림의 일부로서, 예를 들어, 장치 간의 실시간 통신 세션의 일부로서 전달된다.
본원에서 설명된 구현예에 따르면, 전술한 절차는 디스플레이 구역의 공유 방지 영역을 지정하고 공유 특권 사용자인 사용자를 식별하기 위해 통신 세션 동안 여러 번 수행될 수 있다.
따라서, 본원에 기술된 기술은 스크린 공유 경험 동안 일부 콘텐츠가 공유되도록 허용되지만 스크린 공유 경험 동안 다른 콘텐츠가 명료하게 액세스되는 것을 방지하기 위한 다양한 시나리오 및 구현예를 제공한다. 이는 스크린 공유 경험 동안 특정 콘텐츠를 공유하지만 스크린 공유 경험 동안 다른 민감한 콘텐츠를 보호하는 사용자의 능력을 향상시킨다.
일부 예시적인 절차를 설명했고, 이제 하나 이상의 실시예에 따른 예시적인 시스템 및 장치에 대한 설명이 고려된다.
도 12는 본원에 설명된 다양한 기술을 구현할 수 있는 하나 이상의 컴퓨팅 시스템 및/또는 장치를 나타내는 예시적인 컴퓨팅 장치(1202)를 포함하는 예시적인 시스템을 전반적으로 1200으로 도시한다. 예를 들어, 도 1을 참조하여 위에서 설명한 클라이언트 장치(102), 엔드포인트 장치(116) 및/또는 통신 서비스(120)는 컴퓨팅 장치(1202)로서 구현될 수 있다. 컴퓨팅 장치(1202)는, 예를 들어, 서비스 제공자의 서버, 클라이언트와 연관된 장치(예를 들어, 클라이언트 장치), 온-칩 시스템, 및/또는 임의의 다른 적합한 컴퓨팅 장치 또는 컴퓨팅 시스템일 수 있다.
도시된 바와 같은 예시적인 컴퓨팅 장치(1202)는 서로 통신 가능하게 연결된, 프로세싱 시스템(1204), 하나 이상의 컴퓨터 판독가능 매체(1206), 및 하나 이상의 입/출력(I/O) 인터페이스(1208)를 포함한다. 도시되지는 않았지만, 컴퓨팅 장치(1202)는 다양한 컴포넌트를 서로 연결하는 시스템 버스 또는 다른 데이터 및 커맨드 전송 시스템을 더 포함할 수 있다. 시스템 버스는 메모리 버스 또는 메모리 제어기, 주변 버스, 범용 직렬 버스, 및/또는 다양한 버스 아키텍처 중 임의의 것을 이용하는 프로세서 또는 로컬 버스와 같은, 상이한 버스 구조 중 임의의 하나 또는 그 조합을 포함할 수 있다. 제어 라인 및 데이터 라인과 같은 다양한 다른 예도 고려된다.
프로세싱 시스템(1204)은 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능을 나타낸다. 따라서, 프로세싱 시스템(1204)은 프로세서, 기능 블록 등으로서 구성될 수 있는 하드웨어 요소(1210)를 포함하는 것으로 도시되어 있다. 이것은 하나 또는 그 이상의 반도체를 사용하여 형성되는 주문형 집적 회로 또는 다른 로직 장치로서의 하드웨어 구현예를 포함할 수 있다. 하드웨어 요소(1210)는 이들이 형성되는 재료 또는 그 내부에 채용된 프로세싱 메카니즘에 의해 제한되지 않는다. 예를 들어, 프로세서는 반도체(들) 및/또는 트랜지스터(예를 들어, 전자 집적 회로(IC))로 구성될 수 있다. 이러한 배경에서, 프로세서 실행가능 명령어는 전자적으로 실행가능한 명령어일 수 있다.
컴퓨터 판독가능 매체(1206)는 메모리/저장 장치(1212)를 포함하는 것으로 도시되어 있다. 메모리/저장 장치(1212)는 하나 이상의 컴퓨터 판독가능 매체와 연관된 메모리/저장 용량을 나타낸다. 메모리/저장 장치(1212)는 (RAM과 같은) 휘발성 매체 및/또는 (ROM, 플래시 메모리, 광학 디스크, 자기 디스크 등과 같은) 비 휘발성 매체를 포함할 수 있다. 메모리/저장 장치(1212)는 고정식 매체(예를 들어, RAM, ROM, 고정식 하드 드라이브 등)뿐만 아니라 착탈식 매체(예를 들어, 플래시 메모리, 착탈식 하드 드라이브, 광 디스크 등)를 포함할 수 있다. 컴퓨터 판독가능 매체(1206)는 아래에서 추가로 설명되는 바와 같은 다양한 다른 방식으로 구성될 수 있다.
입/출력 인터페이스(들)(1208)는 사용자가 커맨드 및 정보를 컴퓨팅 장치(1202)에 입력할 수 있게 해 주고, 또한 정보가 다양한 입/출력 인터페이스를 사용하여 사용자 및/또는 다른 컴포넌트 또는 장치에 제시될 수 있게 해 주는 기능을 나타낸다. 입력 장치의 예는 키보드, 커서 제어 장치(예를 들어, 마우스), (예를 들어, 음성 인식 및/또는 음성 입력을 위한) 마이크로폰, 스캐너, 터치 기능(예를 들어, 물리적 터치를 검출하도록 구성되는 용량성 또는 다른 센서), (예를 들어, 제스처로서 접촉을 수반하지 않는 움직임을 검출하기 위한 적외선 주파수와 같은 가시적 또는 비 가시적 파장을 채용할 수 있는) 카메라 등을 포함할 수 있다. 출력 장치의 예는 디스플레이 장치(예를 들어, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각 응답 장치 등을 포함한다. 따라서, 컴퓨팅 장치(1202)는 사용자 상호 작용을 지원하기 위해 아래에서 추가로 설명되는 바와 같은 다양한 방식으로 구성될 수 있다.
본원의 다양한 기술이 소프트웨어, 하드웨어 요소 또는 프로그램 모듈의 일반적인 배경에서 설명될 수 있다. 일반적으로, 그러한 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 요소, 컴포넌트, 데이터 구조 등을 포함한다. 본원에서 사용된 "모듈", "기능", "엔티티" 및 "컴포넌트"라는 용어는 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 나타낸다. 본원에 기술된 기술의 특징은 플랫폼 독립적이며, 이는 기술이 다양한 프로세서를 갖는 다양한 상업용 컴퓨팅 플랫폼 상에서 구현될 수 있음을 의미한다.
설명된 모듈 및 기술의 구현은 일부의 컴퓨터 판독가능 매체의 형태에 저장되거나 이를 통해 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 장치(1202)에 의해 액세스될 수 있는 다양한 매체를 포함할 수 있다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 "컴퓨터 판독가능 저장 매체" 및 "판독가능 신호 매체"를 포함할 수 있다.
"컴퓨터 판독가능 저장 매체"는 단순한 신호 전송, 반송파 또는 신호 그 자체와는 대조적으로 정보의 영구 저장을 가능하게 하는 매체 및/또는 장치를 지칭할 수 있다. 컴퓨터 판독가능 저장 매체는 신호 그 자체를 포함하지 않는다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 로직 요소/회로, 또는 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기술로 구현된 휘발성 및 비 휘발성, 착탈식 및 비 착탈식 매체 및/또는 저장 장치와 같은 하드웨어를 포함한다. 컴퓨터 판독가능 저장 매체의 예는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 장치, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 다른 저장 장치, 유형의 매체, 또는 원하는 정보를 저장하기에 적합하며 컴퓨터에 의해 액세스될 수 있는 제조 물품을 포함할 수 있지만, 이에 국한되는 것은 아니다.
"컴퓨터 판독가능 신호 매체"는 명령어를, 가령, 네트워크를 경유하여, 컴퓨팅 장치(1202)의 하드웨어에 전송하도록 구성된 신호 함유 매체(signal-bearing medium)를 지칭할 수 있다. 신호 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 반송파, 데이터 신호 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내에 구현할 수 있다. 신호 매체는 또한 모든 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호의 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경된 하나 이상의 특성을 갖는 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, 무선 주파수(RF), 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다.
전술한 바와 같이, 하드웨어 요소(1210) 및 컴퓨터 판독가능 매체(1206)는 본원에서 설명되는 적어도 일부 양태의 기술을 구현하는 일부 실시예에서 채용될 수 있는 하드웨어 형태로 구현되는 명령어, 모듈, 프로그머블 장치 로직 및/또는 고정식 장치 로직을 나타낸다. 하드웨어 요소는 집적 회로 또는 온-칩 시스템, ASIC (Application-Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), CPLD (Complex Programmable Logic Device), 및 실리콘 또는 다른 하드웨어 장치에서의 다른 구현예의 컴포넌트들을 포함할 수 있다. 이러한 배경에서, 하드웨어 요소는 하드웨어 요소뿐만 아니라 실행을 위한 명령어를 저장하는 데 이용되는 하드웨어 장치, 예를 들어, 전술한 컴퓨터 판독가능 저장 매체에 의해 구현되는 명령어, 모듈, 및/또는 로직에 의해 정의된 프로그램 태스크를 수행하는 프로세싱 장치로서 동작할 수 있다.
전술한 것들의 조합은 또한 본원에서 설명된 다양한 기술 및 모듈을 구현하기 위해 채용될 수 있다. 따라서, 소프트웨어, 하드웨어, 또는 프로그램 모듈 및 다른 프로그램 모듈은 일부의 컴퓨터 판독가능 저장 매체의 형태 상에서 및/또는 하나 이상의 하드웨어 요소(1210)에 의해 구현되는 하나 이상의 명령어 및/또는 로직으로서 구현될 수 있다. 컴퓨팅 장치(1202)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령어 및/또는 기능을 구현하도록 구성될 수 있다. 따라서, 컴퓨팅 장치(1202)에 의해 소프트웨어로서 실행 가능한 모듈의 구현은, 예를 들어, 컴퓨터 판독가능 저장 매체 및/또는 프로세싱 시스템의 하드웨어 요소(1210)의 사용을 통해, 적어도 부분적으로는 하드웨어로 달성될 수 있다. 명령어 및/또는 기능은 본원에 설명된 기술, 모듈, 및 예를 구현하기 위해 하나 이상의 제조 물품(예를 들어, 하나 이상의 컴퓨팅 장치(1202) 및/또는 프로세싱 시스템(1204))에 의해 실행가능/동작가능할 수 있다.
도 12에 더 도시된 바와 같이, 예시적인 시스템(1200)은 퍼스널 컴퓨터(PC), 텔레비전 장치, 및/또는 모바일 장치에서 애플리케이션을 실행할 경우 매끄러운 사용자 경험(a seamless user experience)을 위한 유비쿼터스 환경을 가능하게 한다. 애플리케이션을 이용하고, 비디오 게임을 하고, 비디오를 보는 등을 실행하는 동안 한 장치에서 다른 장치로 전환할 경우 서비스 및 애플리케이션은 세 가지 환경 모두에서 공통의 사용자 경험을 위해 거의 유사하게 실행된다.
예시적인 시스템(1200)에서, 다수의 장치는 중앙 컴퓨팅 장치를 통해 상호 접속된다. 중앙 컴퓨팅 장치는 다수의 장치에 대해 로컬일 수 있거나 다수의 장치로부터 원격으로 위치될 수 있다. 일 실시예에서, 중앙 컴퓨팅 장치는 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 다수의 장치에 접속된 하나 이상의 서버 컴퓨터의 클라우드일 수 있다.
일 실시예에서, 이러한 상호 접속 아키텍처는 다수의 장치에 걸쳐 전달될 기능이 다수의 장치의 사용자에게 공통의 매끄러운 경험(common and seamless experience)을 제공하게 한다. 다수의 장치의 각각은 서로 다른 물리적 요구 사항 및 기능을 가질 수 있으며, 중앙 컴퓨팅 장치는 플랫폼을 사용하여 장치에 맞춰지고 모든 장치에 또한 공통적인 장치에 경험을 전달할 수 있게 한다. 일 실시예에서, 타겟 장치들의 클래스가 생성되고 경험은 일반적인 클래스의 장치들에 맞추어진다. 장치들의 클래스는 물리적 특징, 사용 유형 또는 장치들의 다른 공통 특성에 의해 정의될 수 있다.
다양한 구현예에서, 컴퓨팅 장치(1202)는, 가령, 컴퓨터(1214), 모바일(1216) 및 텔레비전(1218)에 대해 다양한 상이한 구성을 취할 수 있다. 이들 구성의 각각은 일반적으로 상이한 구조 및 능력을 가질 수 있는 장치를 포함하고, 따라서 컴퓨팅 장치(1202)는 하나 이상의 상이한 장치 클래스에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 장치(1202)는 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티 스크린 컴퓨터, 랩탑 컴퓨터, 넷북 등을 포함하는 컴퓨터(1214)의 장치 클래스로서 구현될 수 있다.
컴퓨팅 장치(1202)는 또한 모바일폰, 휴대용 뮤직 플레이어, 휴대용 게임 장치, 태블릿 컴퓨터, 웨어러블 장치, 멀티 스크린 컴퓨터 등과 같은 모바일 장치를 포함하는 모바일(1216)의 장치 클래스로서 구현될 수 있다. 컴퓨팅 장치(1202)는 또한 캐주얼 시청 환경에서 일반적으로 보다 대형의 스크린을 가지거나 그것에 접속된 장치를 포함하는 텔레비전(1218)의 장치 클래스로서 구현될 수 있다. 이러한 장치는 텔레비전, 셋탑 박스, 게임 콘솔 등을 포함한다.
본원에 설명된 기술은 컴퓨팅 장치(1202)의 이들 다양한 구성에 의해 지원될 수 있으며, 본원에 설명된 기술의 특정 예에 국한되는 것은 아니다. 예를 들어, 공유 모듈(122), 암호화 모듈(130) 및/또는 통신 서비스(120)를 참조하여 설명된 기능은 모두 또는 부분적으로, 가령, 후술되는 바와 같은 플랫폼(1222)을 경유하는 "클라우드"(1220)를 통한, 분산 시스템의 사용을 통해 구현될 수 있다.
클라우드(1220)는 리소스(1224)에 대한 플랫폼(1222)을 포함하거나 및/또는 리소스(1224)에 대한 플랫폼(1222)을 나타낸다. 플랫폼(1222)은 클라우드(1220)의 하드웨어(예를 들어, 서버) 및 소프트웨어 리소스의 기본 기능을 추상화한다. 리소스(1224)는 컴퓨팅 장치(1202)로부터 원격인 서버 상에서 컴퓨터 프로세싱이 실행되는 동안 이용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 리소스(1224)는 또한 인터넷 상에서 및/또는 셀룰러 또는 Wi-Fi 네트워크와 같은 가입자 네트워크를 통해 제공되는 서비스를 포함할 수 있다.
플랫폼(1222)은 컴퓨팅 장치(1202)를 다른 컴퓨팅 장치와 접속하기 위해 리소스 및 기능을 추상화할 수 있다. 플랫폼(1222)은 또한 플랫폼(1222)을 통해 구현되는 리소스(1224)에 대해 접하게 되는 요구에 대응하는 스케일 레벨을 제공하기 위해 리소스의 스케일링을 추상화하는 역할을 할 수도 있다. 따라서, 상호 접속된 장치 실시예에서, 본원에 설명된 기능의 구현은 시스템(1200) 전역에 분산될 수 있다. 예를 들어, 기능은 부분적으로는 컴퓨팅 장치(1202) 상에서뿐만 아니라 클라우드(1220)의 기능을 추상화하는 플랫폼(1222)을 통해 구현될 수도 있다.
본원에 설명된 기술을 수행하도록 구현될 수 있는 다수의 방법이 본원에 설명되어 있다. 이들 방법의 양태는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 이들 방법은 하나 이상의 장치에 의해 수행되는 동작을 지정하는 단계들의 세트로서 도시되며, 반드시 각 블록에 의한 동작을 수행하기 위해 도시된 순서로 제한되는 것은 아니다. 또한, 특정 방법과 관련하여 도시된 동작은 하나 이상의 구현예에 따라 다른 방법의 동작과 결합 및/또는 교체될 수 있다. 이들 방법의 양태는 환경(1200)을 참조하여 위에서 설명한 다양한 엔티티 간의 상호 작용을 통해 구현될 수 있다.
스크린 공유 경험을 위한 공유 보호 기술이 설명된다. 비록 실시예가 구조적 특징 및/또는 방법론적 행위에 특정된 언어로 기술되었지만, 첨부된 청구범위에 정의된 실시예는 설명한 특정 특징 또는 행위에 반드시 제한되는 것이 아니라는 것을 이해해야 한다. 오히려, 특정 특징 및 행위는 청구된 실시예를 구현하는 예시적인 형태로서 개시된다.
본원의 설명에서, 다양한 상이한 실시예가 기술되고 있다. 본원에 설명된 각각의 실시예는 그 자체로 또는 본원에 설명된 하나 이상의 다른 실시예와 관련하여 사용될 수 있다는 것이 이해되고 이해되어야 한다. 본원에 설명된 기술의 다른 양태는 다음의 하나 이상의 실시예와 관련된다:
스크린 공유 경험을 위한 매체를 보호하는 시스템으로서, 적어도 하나의 프로세서; 및 명령어를 저장한 하나 이상의 컴퓨터 판독가능 저장 매체를 포함하며, 명령어는 상기 적어도 하나의 프로세서에 의한 실행에 응답하여, 상기 시스템으로 하여금 동작을 수행하도록 하며, 이 동작은: 공유된 매체의 영역이 스크린 공유 경험의 일부로서 공유 방지될 것이라는 것을 확인하는 것; 스크린 공유 경험 중인 참여자들의 그룹 사이에서 스크린 공유 경험 동안 상기 영역으로부터의 콘텐츠가 키로 암호화되게 하는 것; 및 상기 참여자들의 그룹 중 제 1 참여자를 공유 특권 참여자로 지정하여, 상기 스크린 공유 경험의 일부로서 상기 제 1 참여자를 위해 상기 콘텐츠가 해독되도록 상기 키가 상기 제 1 참여자에 대해 액세스 가능하도록 허용되게 하며, 상기 참여자들의 그룹 중 제 2 참여자는 공유 특권 참여자로 지정되지 않아, 상기 키가 상기 스크린 공유 경험의 일부로서 상기 제 2 참여자에 대해 액세스되는 것이 허용되지 않게 하는 것을 포함한다.
전술한 시스템 중 임의의 것에 더하여, 상기 확인은 상기 공유된 매체의 영역을 식별하는 사용자 입력에 응답하는 것; 상기 공유된 매체의 영역은 클라이언트 장치의 디스플레이 구역의 영역에 대응하는 것; 상기 지정하는 것은 상기 키가 상기 제 1 참여자와 관련된 제 1 장치에 액세스 가능하게 허용하지만, 상기 키가 상기 제 2 참여자와 관련된 제 2 장치에는 액세스 가능하게 허용하지 않는 것; 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자를 특권 사용자인 것으로 지정하는 사용자 입력에 기초하며, 상기 사용자 입력은 상기 통신 세션에 대한 미팅 초대장과의 사용자 상호 작용을 포함하는 것; 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 키가 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장에 첨부되게 하는 것; 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장과 함께 상기 키에 대한 포인터가 포함되게 하는 것; 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자의 그룹 멤버쉽에 기초하고, 상기 키는 상기 그룹의 구성원에 액세스 가능한 것; 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 동작은, 상기 통신 세션에 대한 특권 초대장을 상기 제 1 참여자에게 전송하고, 상기 특권 초대장은 상기 키에 대한 액세스를 가능하게 하는 것, 및 상기 통신 세션에 대한 표준 초대장을 상기 제 2 참여자에게 전송하는 것을 더 포함하는 것; 상기 동작은 상기 스크린 공유 경험의 일부로서 상기 제 1 참여자와 연관된 제 1 장치 및 상기 제 2 참여자와 연관된 제 2 장치에 데이터 스트림이 전달되게 하는 것을 더 포함하며, 상기 데이터 스트림은 상기 영역으로부터의 암호화된 콘텐츠와, 상기 키로 암호화되지 않은 상기 공유된 매체의 다른 영역으로부터의 다른 콘텐츠를 포함하는 것; 상기 공유된 매체의 영역은 클라이언트 장치의 디스플레이 장치의 영역에 대응하고, 상기 스크린 공유 경험은 상기 클라이언트 장치, 상기 제 1 참여자와 연관된 제 1 장치, 및 상기 제 2 참여자와 연관된 제 2 장치를 포함하는 실시간 통신 세션을 포함하며, 상기 암호화되게 하는 것 및 상기 지정하는 것은 상기 통신 세션 동안 동적으로 수행되는 것; 중의 임의의 하나 또는 그의 조합을 특징으로 하고 있다.
스크린 공유 경험을 위해 매체를 보호하기 위한, 컴퓨터에 의해 구현되는 방법으로서, 클라이언트 장치의 디스플레이 구역의 제 1 영역이 공유 방지될 것을 확인하는 단계; 상기 확인에 응답하여, 상기 제 1 영역이 상기 클라이언트 장치의 상기 디스플레이 구역 상에서 시각적으로 은폐되도록, 상기 클라이언트 장치에서 상기 제 1 영역이 암호화되게 하는 단계; 상기 클라이언트 장치의 상기 디스플레이 구역의 상기 시각적으로 은폐된 제 1 영역 및 은폐되지 않은 제 2 영역을 포함하는 상기 디스플레이 구역의 비디오 이미지를 캡처하는 단계; 및 상기 클라이언트 장치와 상기 다른 장치 간에 스크린 공유 경험의 일부로서 상기 비디오 이미지를 다른 장치에 전달하는 단계를 포함한다.
전술한 방법 중 임의의 것 이외에도, 단일의 인코딩된 데이터 스트림으로서 상기 비디오 이미지를 인코딩하는 단계를 더 포함하며, 상기 전달하는 단계는, 상기 은폐된 제 1 영역 및 상기 은폐되지 않은 제 2 영역의 시각적 표현이 상기 다른 장치에 디스플레이될 수 있도록 상기 단일의 인코딩된 비디오 스트림을 상기 다른 장치에 전달하는 단계를 포함하는 것; 상기 스크린 공유 경험은 상기 클라이언트 장치 및 상기 다른 장치를 포함하는 실시간 통신 세션을 포함하는 것; 상기 확인하는 단계는 상기 제 1 영역을 공유 방지 영역으로 식별하는 사용자 입력에 기초하는 것; 중의 임의의 하나 또는 그의 조합을 특징으로 하고 있다.
스크린 공유 경험을 위해 매체를 보호하기 위한, 컴퓨터에 의해 구현되는 방법으로서, 공유된 매체의 영역이 스크린 공유 경험의 일부로서 공유 방지될 것이라는 것을 확인하는 단계; 상기 공유된 매체의 영역으로부터의 콘텐츠에 대한 액세스가 허용될 상기 스크린 공유 경험 중인 제 1 참여자를 지정하는 사용자 입력을 수신하는 단계; 스크린 공유 경험 중인 참여자들의 그룹 사이에서 스크린 공유 경험 동안 상기 영역으로부터의 콘텐츠가 키로 암호화되게 하는 단계; 및 상기 참여자들의 그룹 중 제 1 참여자를 공유 특권 참여자로 지정하여, 상기 스크린 공유 경험의 일부로서 상기 제 1 참여자를 위해 상기 콘텐츠가 해독되도록 상기 키가 상기 제 1 참여자에 대해 액세스 가능하도록 허용되게 하며, 상기 참여자들의 그룹 중 제 2 참여자는 공유 특권 참여자로 지정되지 않아, 상기 키가 상기 스크린 공유 경험의 일부로서 상기 제 2 참여자에 대해 액세스되는 것이 허용되지 않게 하는 단계를 포함한다.
전술한 방법 중 임의의 것 이외에, 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장에 상기 키가 첨부되도록 하는 것; 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 상기 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장과 함께 상기 키에 대한 포인터가 포함되게 하며, 상기 미팅 초대장은 키의 복사본을 포함하지 않는 것; 상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 사용자 입력은 상기 통신 세션에 대한 초대장의 사용자 구성을 포함하는 것; 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자의 그룹 멤버쉽에 기초하며, 상기 키는 상기 그룹의 구성원에 액세스 가능한 것; 중의 임의의 하나 또는 그의 조합을 특징으로 하고 있다.

Claims (15)

  1. 스크린 공유 경험을 위한 매체를 보호하기 위한 시스템으로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의한 실행에 응답하여, 상기 시스템으로 하여금, 동작을 수행하게 하는 저장된 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 저장 매체를 포함하고, 상기 동작은:
    공유된 매체의 영역이 스크린 공유 경험의 일부로서 공유 방지될 것이라는 것을 확인하는 것;
    상기 스크린 공유 경험 중인 참여자들의 그룹 사이에서의 상기 스크린 공유 경험 동안 상기 영역으로부터의 콘텐츠가 키로 암호화되게 하는 것; 및
    상기 참여자들의 그룹 중 제 1 참여자를 공유 특권 참여자로 지정하여, 상기 스크린 공유 경험의 일부로서 상기 제 1 참여자를 위해 상기 콘텐츠가 해독되도록 상기 키가 상기 제 1 참여자에 대해 액세스 가능하도록 허용되게 하며, 상기 참여자들의 그룹 중 제 2 참여자는 공유 특권 참여자로 지정되지 않아, 상기 키가 상기 스크린 공유 경험의 일부로서 상기 제 2 참여자에 대해 액세스되는 것이 허용되지 않게 하는 것을 포함하는
    시스템.
  2. 제 1 항에 있어서,
    상기 확인하는 것은 상기 공유된 매체의 영역을 식별하는 사용자 입력에 응답하는
    시스템.
  3. 제 1 항에 있어서,
    상기 공유된 매체의 영역은 클라이언트 장치의 디스플레이 구역의 영역에 대응하는
    시스템.
  4. 제 1 항에 있어서,
    상기 지정하는 것은 상기 키가 상기 제 1 참여자와 연관된 제 1 장치에 액세스 가능하게 허용하지만 상기 키가 상기 제 2 참여자와 연관된 제 2 장치에는 액세스 가능하게 허용하지 않는 것인
    시스템.
  5. 제 1 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자를 특권 사용자인 것으로 지정하는 사용자 입력에 기초하며, 상기 사용자 입력은 상기 통신 세션에 대한 미팅 초대장과의 사용자 상호 작용을 포함하는 것인
    시스템.
  6. 제 1 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 키가 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장에 첨부되게 하는 것인
    시스템.
  7. 제 1 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장과 함께 상기 키에 대한 포인터가 포함되게 하는 것인
    시스템.
  8. 제 1 항에 있어서,
    상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자의 그룹 멤버쉽에 기초하고, 상기 키는 상기 그룹의 구성원에 액세스 가능한 것인
    시스템.
  9. 제 1 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 동작은:
    상기 통신 세션에 대한 특권 초대장을 상기 제 1 참여자에게 전송하는 것 - 상기 특권 초대장은 상기 키에 대한 액세스를 가능하게 함 - ; 및
    상기 통신 세션에 대한 표준 초대장을 상기 제 2 참여자에게 전송하는 것 - 상기 표준 초대장은 상기 키에 대한 액세스를 가능하게 하지 않음 - 을 더 포함하는
    시스템.
  10. 제 1 항에 있어서,
    상기 동작은 상기 스크린 공유 경험의 일부로서 상기 제 1 참여자와 연관된 제 1 장치 및 상기 제 2 참여자와 연관된 제 2 장치에 데이터 스트림이 전달되게 하는 것을 더 포함하며, 상기 데이터 스트림은 상기 영역으로부터의 암호화된 콘텐츠와, 상기 키로 암호화되지 않은 상기 공유된 매체의 다른 영역으로부터의 다른 콘텐츠를 포함하는 것인
    시스템.
  11. 제 1 항에 있어서,
    상기 공유된 매체의 영역은 클라이언트 장치의 디스플레이 장치의 영역에 대응하고, 상기 스크린 공유 경험은 상기 클라이언트 장치, 상기 제 1 참여자와 연관된 제 1 장치, 및 상기 제 2 참여자와 연관된 제 2 장치를 포함하는 실시간 통신 세션을 포함하며, 상기 암호화되게 하는 것 및 상기 지정하는 것은 상기 통신 세션 동안 동적으로 수행되는 것인
    시스템.
  12. 스크린 공유 경험을 위한 매체를 보호하기 위한, 컴퓨터에 의해 구현되는 방법으로서,
    공유된 매체의 영역이 스크린 공유 경험의 일부로서 공유 방지될 것이라는 것을 확인하는 단계;
    상기 공유된 매체의 영역으로부터의 콘텐츠에 대한 액세스가 허용될 스크린 공유 경험 중인 제 1 참여자를 지정하는 사용자 입력을 수신하는 단계;
    상기 스크린 공유 경험 중인 참여자들의 그룹 사이에서의 상기 스크린 공유 경험 동안 상기 영역으로부터의 콘텐츠가 키로 암호화되게 하는 단계; 및
    상기 참여자들의 그룹 중 상기 제 1 참여자를 공유 특권 참여자로 지정하여, 상기 스크린 공유 경험의 일부로서 상기 제 1 참여자를 위해 상기 콘텐츠가 해독되도록 상기 키가 상기 제 1 참여자에 대해 액세스 가능하도록 허용되게 하며, 상기 참여자들의 그룹 중 제 2 참여자는 공유 특권 참여자로 지정되지 않아, 상기 키가 상기 스크린 공유 경험의 일부로서 상기 제 2 참여자에 대해 액세스되는 것이 허용되지 않게 하는 단계를 포함하는
    방법.
  13. 제 12 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 키가 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장에 첨부되게 하는 것인
    방법.
  14. 제 12 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 제 1 참여자를 공유 특권 참여자로 지정하는 것은 상기 제 1 참여자에게 전송된 상기 통신 세션에 대한 미팅 초대장과 함께 상기 키에 대한 포인터가 포함되게 하는 것이며, 상기 미팅 초대장은 상기 키의 복사본을 포함하고 있지 않는 것인
    방법.
  15. 제 12 항에 있어서,
    상기 스크린 공유 경험은 통신 세션을 포함하고, 상기 사용자 입력은 상기 통신 세션에 대한 초대장의 사용자 구성을 포함하는 것인
    방법.
KR1020197012614A 2016-11-01 2017-10-27 스크린 공유 경험을 위한 공유 보호 KR20190072554A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/340,763 2016-11-01
US15/340,763 US20180121663A1 (en) 2016-11-01 2016-11-01 Sharing Protection for a Screen Sharing Experience
PCT/US2017/058630 WO2018085119A1 (en) 2016-11-01 2017-10-27 Sharing protection for a screen sharing experience

Publications (1)

Publication Number Publication Date
KR20190072554A true KR20190072554A (ko) 2019-06-25

Family

ID=60421844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197012614A KR20190072554A (ko) 2016-11-01 2017-10-27 스크린 공유 경험을 위한 공유 보호

Country Status (16)

Country Link
US (1) US20180121663A1 (ko)
EP (1) EP3535948A1 (ko)
JP (1) JP2020504353A (ko)
KR (1) KR20190072554A (ko)
CN (1) CN109906593A (ko)
AU (1) AU2017354852A1 (ko)
BR (1) BR112019007020A2 (ko)
CA (1) CA3041327A1 (ko)
CL (1) CL2019001096A1 (ko)
CO (1) CO2019004510A2 (ko)
IL (1) IL266235A (ko)
MX (1) MX2019005099A (ko)
PH (1) PH12019550068A1 (ko)
RU (1) RU2019113322A (ko)
SG (1) SG11201903459UA (ko)
WO (1) WO2018085119A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180157457A1 (en) * 2016-12-01 2018-06-07 Airwatch Llc Enforcing display sharing profiles on a client device sharing display activity with a display sharing application
US20190052819A1 (en) * 2017-11-29 2019-02-14 Intel Corporation Methods, apparatus and articles of manufacture to protect sensitive information in video collaboration systems
WO2019127369A1 (zh) * 2017-12-29 2019-07-04 腾讯科技(深圳)有限公司 一种直播分享的方法、相关设备及系统
CN113039746A (zh) * 2018-06-29 2021-06-25 云实体公司 数据流身份
JP7147304B2 (ja) * 2018-07-10 2022-10-05 セイコーエプソン株式会社 画像共有方法、情報処理装置および情報処理システム
CN110378145B (zh) * 2019-06-10 2022-04-22 华为技术有限公司 一种分享内容的方法和电子设备
FR3101457B1 (fr) * 2019-09-30 2021-10-15 Thinkrite Inc Confidentialité des données dans le partage d'écran lors d'une conférence en ligne
US11616814B2 (en) * 2019-09-30 2023-03-28 Thinkrite, Inc. Data privacy in screen sharing during a web conference
CN110798652A (zh) * 2019-10-17 2020-02-14 广州国音智能科技有限公司 共享屏幕的控制方法、终端、装置及可读存储介质
CN111142818A (zh) * 2019-12-13 2020-05-12 维沃移动通信有限公司 一种分享方法及相关设备
US11093046B2 (en) * 2019-12-16 2021-08-17 Microsoft Technology Licensing, Llc Sub-display designation for remote content source device
CN111107222B (zh) * 2019-12-18 2021-08-24 维沃移动通信有限公司 一种界面共享方法及电子设备
CN111431795B (zh) * 2020-03-19 2022-05-03 维沃移动通信有限公司 一种共享内容显示方法及电子设备
CN113590567B (zh) * 2020-04-30 2023-12-19 明基智能科技(上海)有限公司 会议资料分享方法与会议资料分享系统
CN113542337B (zh) 2020-04-30 2023-02-10 北京字节跳动网络技术有限公司 信息共享方法、装置、电子设备及存储介质
CN111796784A (zh) * 2020-06-12 2020-10-20 彭程 投屏方法、电子设备及投屏终端
US11006077B1 (en) 2020-08-20 2021-05-11 Capital One Services, Llc Systems and methods for dynamically concealing sensitive information
CN112312060B (zh) * 2020-08-28 2023-07-25 北京字节跳动网络技术有限公司 屏幕共享方法、装置和电子设备
CN112311906B (zh) * 2020-10-26 2022-07-12 新华三大数据技术有限公司 一种无线投屏方法及装置
CN114579068A (zh) * 2020-11-30 2022-06-03 华为技术有限公司 一种多屏协同的显示方法及电子设备
CN113037518B (zh) * 2021-05-28 2021-10-08 明品云(北京)数据科技有限公司 一种数据传输方法及系统
JP2023042204A (ja) 2021-09-14 2023-03-27 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
CN115952565A (zh) * 2021-10-09 2023-04-11 中兴通讯股份有限公司 限制屏幕共享的方法、终端和存储介质
US20230315262A1 (en) * 2022-03-30 2023-10-05 Microsoft Technology Licensing, Llc Sharing multiple applications in unified communication

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824684B2 (en) * 2007-12-08 2014-09-02 International Business Machines Corporation Dynamic, selective obfuscation of information for multi-party transmission
US20140033073A1 (en) * 2008-10-01 2014-01-30 Nigel Pegg Time-shifted collaboration playback
US20110149809A1 (en) * 2009-12-23 2011-06-23 Ramprakash Narayanaswamy Web-Enabled Conferencing and Meeting Implementations with Flexible User Calling and Content Sharing Features
US20120011451A1 (en) * 2010-07-08 2012-01-12 International Business Machines Corporation Selective screen sharing
US20140047025A1 (en) * 2011-04-29 2014-02-13 American Teleconferencing Services, Ltd. Event Management/Production for an Online Event
US10075292B2 (en) * 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback

Also Published As

Publication number Publication date
EP3535948A1 (en) 2019-09-11
CL2019001096A1 (es) 2019-09-06
US20180121663A1 (en) 2018-05-03
WO2018085119A1 (en) 2018-05-11
RU2019113322A (ru) 2020-10-30
AU2017354852A1 (en) 2019-04-18
SG11201903459UA (en) 2019-05-30
CN109906593A (zh) 2019-06-18
IL266235A (en) 2019-06-30
MX2019005099A (es) 2019-08-22
BR112019007020A2 (pt) 2019-06-25
PH12019550068A1 (en) 2020-06-08
JP2020504353A (ja) 2020-02-06
CA3041327A1 (en) 2018-05-11
CO2019004510A2 (es) 2019-05-10

Similar Documents

Publication Publication Date Title
KR20190072554A (ko) 스크린 공유 경험을 위한 공유 보호
EP3556075B1 (en) Encoding optimization for obfuscated media
KR102451109B1 (ko) 디바이스 익명성을 제공하는 키 증명문 생성
US11159626B2 (en) Session transfer between resources
CN110178136B (zh) 现场可编程门阵列程序的签名验证的方法和设备
CN106605232B (zh) 利用策略保持数据保护
US11108825B2 (en) Managed real-time communications between user devices
US8839353B2 (en) Attack protection for trusted platform modules
JP6414302B2 (ja) 電子文書を共有する装置、方法及びコンピュータプログラム
US7739605B2 (en) System and/or method relating to managing a network
US20180124599A1 (en) Authentication for a limited data entry device
US20180096113A1 (en) Content Protection for a Screen Sharing Experience
US11881940B2 (en) Method and system for providing secure message
KR102038664B1 (ko) Api 기반 외부 데이터를 불러오는 방법 및 이를 이용한 시스템
US11012394B2 (en) Method and system for providing social media using partition function
KR102137540B1 (ko) 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
US20230214481A1 (en) Secure Display of Sensitive Content
KR102538230B1 (ko) 콘텐츠 보안 방법 및 장치