KR102286989B1 - 원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법 - Google Patents

원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법 Download PDF

Info

Publication number
KR102286989B1
KR102286989B1 KR1020167027827A KR20167027827A KR102286989B1 KR 102286989 B1 KR102286989 B1 KR 102286989B1 KR 1020167027827 A KR1020167027827 A KR 1020167027827A KR 20167027827 A KR20167027827 A KR 20167027827A KR 102286989 B1 KR102286989 B1 KR 102286989B1
Authority
KR
South Korea
Prior art keywords
application
user
state
customized
license
Prior art date
Application number
KR1020167027827A
Other languages
English (en)
Other versions
KR20160140708A (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 KR20160140708A publication Critical patent/KR20160140708A/ko
Application granted granted Critical
Publication of KR102286989B1 publication Critical patent/KR102286989B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1077Recurrent authorisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents
    • G06Q50/184Intellectual property management
    • G06F2221/0704
    • G06F2221/0711
    • G06F2221/0773

Abstract

본 명세서에는 다중-사용자 컴퓨팅 환경에서의 라이센싱을 향상시키기 위한 시스템, 방법, 및 소프트웨어가 개시된다. 구현예에 있어서, 다중-사용자 컴퓨팅 환경에서 인스톨된 애플리케이션과 연계된 복수의 사용자 중 각각의 사용자에 대하여, 사용자-맞춤 라이센스 상태가 애플리케이션에 대하여 사용자에게 유지된다. 또한, 다중-사용자 컴퓨팅 환경에서 인스톨된 애플리케이션과 연계된 복수의 사용자 중 각각의 사용자에 대하여, 애플리케이션이 사용자-맞춤 라이센스 상태에 따라 사용자에게 전달된다.

Description

원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법{USER-SPECIFIC APPLICATION ACTIVATION FOR REMOTE SESSIONS}
다수의 사용자가 소프트웨어 애플리케이션의 이용 또는 그에 대한 액세스를 동시에 공유하는 다양한 컴퓨팅 환경이 존재한다. 원격 데스크탑 서버(때때로, 단말 서버라고도 함)는 다수의 사용자에게 동시에 소프트웨어 애플리케이션의 동일한 인스턴스를 제공하는 해법의 일례이다. 각각의 사용자 경험은 디스크에 저장된 애플리케이션의 동일한 인스턴스로부터 유래되기 때문에, 상기와 같은 환경에서 라이센싱(licensing) 및 그 밖의 권한을 관리하는 것은 어려운 일이다. 따라서, 애플리케이션이 하나의 사용자에게 허가되면, 원격 데스크탑 서버를 통해 애플리케이션과 연계된 모든 사용자가 동일한 액세스를 갖게 된다.
이러한 상황은 많은 기업이 그들의 직원의 소프트웨어 사용을 관리하고 싶어 하는 방식에 차질을 야기한다. 정해진 기계 상의 모든 사용자가 해당 기계에 인스톨된 특정 소프트웨어 애플리케이션에 대하여 동일하게 허가되면, 문제될 것은 없다. 그러나, 소프트웨어 애플리케이션에 대하여 다수의 사용자가 서로 다르게 허가받는(또는 전혀 허가받지 못하는) 상황이 발생한다. 이들 사용자 중 둘 이상이 원격 데스크탑 서버에 동시에 로그인되면, 이들 중 적어도 하나의 사용자는 그들이 적절히 허가받지 않은 소프트웨어 애플리케이션을 이용하게 될 수도 있다.
임의의 컴퓨터 및 그곳에 인스톨된 소프트웨어에 대하여 유사한 상황이 존재한다― 원격 데스크탑 서버에만 해당되는 것은 아님 ―. 많은 소비자 장치는 다수의 사용자 프로필의 생성을 허용하지만, 기계에 인스톨된 정해진 애플리케이션에 대한 라이센싱은 단 한명에게만 연관된다. 애플리케이션이 다른 사용자 프로필을 이용해서 애플리케이션을 인스톨한 다른 사람에게 허가되는 경우에는, 소프트웨어 판매자가 (하나의 사용자 프로파일 하에서) 한 사람에 의한 소프트웨어의 무허가 사용을 묵인하는 것은 관례이다. 문제를 신속하게 파악할 수 있는 조직과 그 정도가 같지는 않더라도, 소프트웨어 판매자의 관점에서는 상기와 같은 상황이 문제가 된다.
기업 또는 조직 설정에 있어서의 해결책은, 정해진 원격 데스크탑 서버에 로그인된 임의의 사용자 모두가 기본 기계에 인스톨된 애플리케이션에 대하여 동일한 권한을 누릴 수 있도록 하는 것을 포함한다. 그러나, 상기와 같은 해법은 구현하기가 매우 어렵고, 심지어는 규모 조정 기술을 이용하는 목적을 무산시킬 수도 있다.
본 명세서에 제공되는 것은 다중-사용자 환경에 있어서의 소프트웨어 애플리케이션에 대한 라이센싱을 향상시키기 위한 시스템, 방법, 및 소프트웨어이다. 물리적 또는 가상의 기계에 설치된 애플리케이션은 다양한 라이센스 상태에 따라 사용자에게 전달될 수 있다. 각각의 사용자는 해당 사용자에게 특정된 라이센스 상태에 상당하는 애플리케이션을 경험할 수 있다. 경우에 따라, 애플리케이션은 원격 데스크탑 클라이언트 및 서버 구성을 통해 액세스된다.
구현예에 있어서, 원격 데스크탑 서버를 포함하는 서비스 플랫폼에 인스톨된 애플리케이션과 연계된 복수의 사용자 각각에 대해서는, 애플리케이션에 대하여 해당 사용자에 대한 사용자-맞춤 라이센스 상태(user-specific license state)가 유지된다. 또한, 동시에 애플리케이션과 연계된 복수의 사용자 각각에 대해서는, 사용자-맞춤 라이센스 상태에 따라 원격 데스크탑 서버와 복수의 사용자에 대응하는 복수의 원격 데스크탑 클라이언트 사이에 확립된 원격 세션을 통해 사용자에게 애플리케이션이 전달된다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념 중 선택된 것을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 한정하는 데 이용이 되고자 함도 아니다.
본 개시물의 다수의 양태는 하기의 도면을 참조하여 더 잘 이해될 수 있다. 몇 가지 구현예가 이들 도면과 관련하여 기술되지만, 본 개시물은 본 명세서에 개시된 구현예로 한정되지 않는다. 오히려, 모든 변경, 수정, 및 등가물을 포함하는 것을 의도한다.
도 1은 구현예에 있어서의 활성화 아키텍처를 도시한다.
도 2는 구현예에 있어서의 활성화 프로세스를 도시한다.
도 3은 구현예에 있어서의 활성화 아키텍처를 도시한다.
도 4는 구현예에 있어서의 활성화 프로세스를 도시한다.
도 5는 구현예에 있어서의 동작 시퀀스를 도시한다.
도 6은 구현예에 있어서의 활성화 아키텍처를 도시한다.
도 7은 구현예에 있어서의 동작 시퀀스를 도시한다.
도 8은 도 1 내지 도 7을 참조하여 본 명세서에 개시되고 후속하여 발명의 상세한 설명 부분에서 논의되는 임의의 애플리케이션, 서비스, 프로세스, 및 동작 상황을 구현하기에 적합한 컴퓨팅 환경을 도시한다.
본 명세서에 개시된 구현예는 다중-사용자 상황에 있어서의 소프트웨어 애플리케이션에 대한 향상된 라이센싱을 가능하게 한다. 물리적 또는 가상의 기계에 인스톨된 애플리케이션은, 모든 사용자에 대한 동일한 라이센스 체제하에서가 아니라, 사용자에 대한 다양한 라이센스에 따라 다수의 사용자에 의해 동시에 액세스될 수 있다. 이후, 해당 사용자에 대한 라이센스 상태에 따라 애플리케이션이 각각의 사용자에게 전달될 수 있다.
원격 데스크탑 또는 단말 서버 상황에 있어서, 이는 한 명의 사용자가 해당 애플리케이션에 대한 자신의 특정 라이센스 상태에 맞춰진 애플리케이션을 경험하는 것을 허용하는 반면, 상이한 라이센스 상태에 대해서는 애플리케이션이 상이하게 맞춰질 수 있기 때문에, 다른 사용자는 다른 방식으로 애플리케이션을 경험할 수 있다. 애플리케이션은 원격 데스크탑 프로토콜에 따라 다수의 원격 데스크탑 클라이언트에게 애플리케이션을 동시에 서비스하는 원격 데스크탑 서버를 포함하는 호스트 상에 인스톨될 수 있다. 호스트는 물리적 호스트, 가상 호스트, 또는 그들의 몇 가지 조합 또는 변형일 수 있다.
다른 예에 있어서, 한 명의 사용자는 애플리케이션에 대한 완전한 특징 액세스(feature access)를 누릴 수 있는 반면, 다른 사용자에게는 애플리케이션에 대한 한정된 특징 액세스가 제공된다. 또 다른 예에 있어서, 한 명의 사용자는 애플리케이션 스위트(suite)에 있어서의 완전한 애플리케이션 세트에 대한 액세스를 누릴 수 있는 반면, 다른 사용자는 애플리케이션 스위트에 있어서의 한정된 애플리케이션 세트에 대한 액세스를 누릴 수 있다.
애플리케이션에 대한 완전한 액세스는, 사용자에 대한 사용자-맞춤 라이센스 상태가 유효한 상태에 있다고 판정될 때, 사용자에게 제공될 수 있다. 애플리케이션에 대한 한정된 액세스는, 사용자-맞춤 라이센스 상태가 무효한 상태에 있다고 판정될 때, 제공될 수 있다. 그 밖의 중간 상태가 존재할 수 있으며, 본 개시물의 범위 내의 것으로 간주될 수 있다. 예를 들어, 높은 상태, 중간 상태, 또는 낮은 상태의 라이센스가 존재할 수 있으며, 애플리케이션에 대하여 상응하는 범위의 접근성(accessibility)이 제공될 수 있다.
사용자-맞춤 라이센스 상태에 따른 애플리케이션의 전달은, 가능할 수도 있는 다양한 라이센스 상태 중 어느 하나의 상태에 대응하는 특징 세트에 있어서의 다양한 특징들을 가능하게 하거나 또는 불가능하게 하는 애플리케이션을 포함할 수 있다. 그에 따라, 애플리케이션은 유효한 라이센스 상태일 경우에 승인되는 완전한 액세스로 실행될 수 있거나, 또는 무효한 라이센스 상태일 때 승인되는 한정된 액세스로 실행될 수 있다.
몇 가지 구현예에 있어서, 사용자-맞춤 라이센스 상태가 유효한 상태, 무효한 상태, 또는 몇 가지 다른 상태를 포함하는지에 대한 판정은 기존의 세션 토큰을 처리하는 것을 포함할 수 있다. 기존의 토큰은 애플리케이션에 대하여 로컬로 탐색될 수 있으며, 어떤 경우에든, 그 유효성을 판정하기 위해 처리될 수 있다. 세션 토큰이 로컬로 탐색되지 않을 경우에는, 애플리케이션 또는 그 밖의 리소스는 애플리케이션으로부터 원격인 온라인 라이센싱 서비스로부터 신규 세션 토큰을 취득하려 할 수 있다. 기존의 토큰이 로컬로 탐색되고 그 상태가 무효인 경우에도, 애플리케이션은 온라인 라이센싱 서비스로부터 신규 토큰을 검색하려 할 수 있다.
또 다른 구현예에 있어서, 애플리케이션은 시작시에 적어도 세션 모드 및 표준 모드 중 하나의 모드로 애플리케이션을 기동할지의 여부를 판정한다. 사용자에 대한 사용자-맞춤 라이센스 상태를 유지하는 것은 애플리케이션이 세션 모드에 있을 때에 발생할 수 있고, 세션 모드에 있지 않을 때에는 발생하지 않는다.
도 1은 구현예에 있어서의 활성화 아키텍처(100)를 도시한다. 활성화 아키텍처(100)는 애플리케이션(103)을 호스팅하는 서비스 플랫폼(101)을 포함한다. 애플리케이션(103)은 다수의 사용자 사이에서 공유될 수 있는 임의의 애플리케이션의 일례이다. 이 도면에 있어서, 애플리케이션 플랫폼(111)은 클라이언트 애플리케이션(113) 및 사용자 인터페이스(115)를 통해 사용자(112)에게 애플리케이션(103)의 인스턴스에 대한 액세스를 제공한다. 애플리케이션 플랫폼(121)은 클라이언트 애플리케이션(123) 및 사용자 인터페이스(125)를 통해 사용자(122)에게 애플리케이션(103)의 다른 인스턴스에 대한 액세스를 제공한다. 본 명세서에서 논의된 것 이외의 다른 구성요소가 활성화 아키텍처(100)에 포함될 수 있음을 인식할 수 있을 것이다.
서비스 플랫폼(101)은 애플리케이션(103)의 전부 또는 일부를 호스팅하고 프로세스(200)의 전부 또는 일부를 구현할 수 있는 임의의 물리적 또는 가상의 컴퓨팅 시스템, 디바이스, 또는 그 집합체를 나타낸다. 서비스 플랫폼(101)은, 서버 컴퓨터, 웹 서버, 애플리케이션 서버, 랙 서버, 블레이드 서버, 가상 기계 서버, 또는 타워 서버뿐만 아니라, 도 8에 도시된 컴퓨팅 시스템(801)으로 대표되는 임의의 다른 유형의 컴퓨팅 시스템을 예로서 포함하지만, 이들로 한정되는 것은 아니다. 몇몇 상황에 있어서, 서비스 플랫폼(101)은 데이터 센터, 가상 데이터 센터, 또는 몇몇 다른 적절한 시설에서 구현될 수 있다.
애플리케이션(103)은 활성화 프로세스(200)를 구현할 수 있는 임의의 소프트웨어 애플리케이션, 모듈, 컴포넌트, 또는 그 집합체를 나타낸다. 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 프리젠테이션 애플리케이션, 웹 브라우저, 이메일 애플리케이션, 블로깅 및 마이크로-블로깅 애플리케이션, 소셜 네트워킹 애플리케이션, 전자상거래 애플리케이션, 및 게이밍 애플리케이션뿐만 아니라, 임의의 다른 유형의 적절한 애플리케이션을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
애플리케이션 플랫폼(111 및 121)은 각각 클라이언트 애플리케이션을 호스팅할 수 있는 임의의 물리적 또는 가상의 컴퓨팅 시스템, 디바이스, 또는 그 집합체를 나타낸다. 스마트폰, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, 하이브리드 컴퓨터, 게임용 기계, 스마트 텔레비전, 엔터테인먼트 디바이스, 인터넷 어플라이언스, 및 가상 기계뿐만 아니라, 도 8에 도시된 컴퓨팅 시스템(801)으로 대표되는 임의의 그 변형 또는 조합을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
동작에 있어서, 프로세스(200)는 사용자(112) 및 사용자(122)와 연관된 라이센스 제약조건을 관리하기 위해 서비스 플랫폼(101)에 의해 채용된다. 프로세스(200)는 도 2를 참조하여 더 상세하게 설명된다. 프로세스(200)는 독립형 애플리케이션 또는 프로그램 모듈일 수 있다. 그러나, 프로세스(200)는 몇몇 구현예에 있어서 애플리케이션(103)과 통합될 수도 있거나, 또는 다른 애플리케이션과 통합될 수도 있다.
도 2를 참조하면, 프로세스(200)는 애플리케이션(103)에 대한, 또는 프로세스가 연관될 수 있는 임의의 인스톨된 애플리케이션에 대한 사용자-맞춤 라이센스 상태를 유지한다(스텝 201). 사용자가 원격 컴퓨팅 세션의 컨텍스트(context) 내에서 애플리케이션을 전개하려 하는 경우에는, 프로세스(200)는 해당 사용자 및 전개되는 애플리케이션에 대한 라이센스 상태를 식별한다(스텝 203). 이후, 프로세스(200)는 해당 사용자에 대한 사용자-맞춤 라이센스 상태에 따라 애플리케이션을 전달한다(스텝 205).
이렇게 해서, 다중-사용자 환경의 컨텍스트에서 제공되는 애플리케이션에 대한 라이센싱은 사용자 단위로 적용될 수 있다. 예컨대, 서비스 플랫폼(101)이 두 사용자에 대하여 병행의 원격 컴퓨팅 세션을 호스팅할 수 있다고 해도, 사용자(112)는 애플리케이션(103)에 대한 액세스가 허용될 수 있는 반면, 사용자(122)는 액세스가 거부될 수 있다. 다른 예에 있어서, 사용자(112)는 사용자(122)와 관련된 애플리케이션(103)에 대하여 더 높은 등급의 액세스를 누릴 수 있다.
도 3은 구현예에 있어서의 활성화 아키텍처(300)를 도시한다. 활성화 아키텍처(300)는 서비스 플랫폼(301), 애플리케이션 플랫폼(311), 및 애플리케이션 플랫폼(321)을 포함한다. 원격 데스크탑 서버(303)는 베이스 애플리케이션(305)과 마찬가지로, 서비스 플랫폼(301)에 인스톨된다. 원격 데스크탑 서버(303)는 원격 데스크탑과 함께 원격 데스크탑 세션을 호스팅할 수 있다. 서비스 플랫폼(301)에 인스톨된 애플리케이션은 원격 데스크탑 클라이언트 및 세션을 경유하여 액세스될 수 있다. 원격 데스크탑 서버(303)를 때때로 단말 서버라고 부르기도 한다.
애플리케이션 플랫폼(311)은 원격 데스크탑 클라이언트(313)를 포함한다. 원격 데스크탑 클라이언트(313)는 사용자(312)에게 베이스 애플리케이션(305)의 인스턴스에 대한 사용자 인터페이스(315)를 제공하도록 기능한다. 애플리케이션 플랫폼(321)도 역시 원격 데스크탑 클라이언트(323)를 포함한다. 원격 데스크탑 클라이언트(323)는 사용자(322)에게 베이스 애플리케이션(305)의 인스턴스에 대한 사용자 인터페이스(325)를 제공하도록 기능한다. 애플리케이션 인스턴스(307) 및 애플리케이션 인스턴스(309)는 베이스 애플리케이션(305)의 인스턴스를 나타낸다.
활성화 아키텍처(300)는 또한, 라이센싱 서비스(310)를 포함한다. 라이센싱 서비스는 서비스 플랫폼(301)으로부터 원격이며 베이스 애플리케이션(305)의 인스턴스에 라이센싱 기능을 제공할 수 있는 온라인 라이센싱 서비스를 나타낸다. 라이센싱 서비스(310)는 애플리케이션 인스턴스(307 및 309)에 대해서만이 아니라, 다수의 애플리케이션 인스턴스에 대하여 라이센싱 기능을 제공할 수 있는 규모로 동작할 수 있다.
서비스 플랫폼(301)은 원격 데스크탑 서버(303) 및 베이스 애플리케이션(305)의 전부 또는 일부를 호스팅하고 활성화 프로세스(400)의 전부 또는 일부를 구현할 수 있는 임의의 물리적 또는 가상의 컴퓨팅 시스템, 디바이스, 또는 그 집합체를 나타낸다. 서비스 플랫폼(301)은, 서버 컴퓨터, 웹 서버, 애플리케이션 서버, 랙 서버, 블레이드 서버, 가상 기계 서버, 또는 타워 서버뿐만 아니라, 도 8에 도시된 컴퓨팅 시스템(801)으로 대표되는 임의의 다른 유형의 컴퓨팅 시스템을 예로서 포함하지만, 이들로 한정되는 것은 아니다. 몇몇 상황에 있어서, 서비스 플랫폼(301)은 데이터 센터, 가상 데이터 센터, 또는 몇몇 다른 적절한 시설에서 구현될 수 있다.
베이스 애플리케이션(305)은 활성화 프로세스(400)를 구현할 수 있는 임의의 소프트웨어 애플리케이션, 모듈, 컴포넌트, 또는 그 집합체를 나타낸다. 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 프리젠테이션 애플리케이션, 웹 브라우저, 이메일 애플리케이션, 블로깅 및 마이크로-블로깅 애플리케이션, 소셜 네트워킹 애플리케이션, 전자상거래 애플리케이션, 및 게이밍 애플리케이션뿐만 아니라, 임의의 다른 유형의 적절한 애플리케이션을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
애플리케이션 플랫폼(311 및 321)은 각각 원격 데스크탑 클라이언트를 호스팅할 수 있는 임의의 물리적 또는 가상의 컴퓨팅 시스템, 디바이스, 또는 그 집합체를 나타낸다. 스마트폰, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, 하이브리드 컴퓨터, 게임용 기계, 스마트 텔레비전, 엔터테인먼트 디바이스, 인터넷 어플라이언스, 및 가상 기계뿐만 아니라, 도 8에 도시된 컴퓨팅 시스템(801)으로 대표되는 임의의 변형 또는 그 조합을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
동작에 있어서, 원격 데스크탑 클라이언트(313)는 원격 데스크탑 서버(303)와 함께 원격 세션을 확립한다. 서비스 플랫폼(301)에 인스톨된 애플리케이션은 원격 세션을 거쳐 액세스될 수 있다. 본 예에 있어서, 베이스 애플리케이션(305)의 인스턴스는 원격 세션 도중에 서비스 플랫폼(301) 상에서 인스턴스화된다. 베이스 애플리케이션(305)의 인스턴스는, 예컨대 사용자(312)가 베이스 애플리케이션(305)을 전개하는 사용자 인터페이스(315)에서의 아이콘을 클릭하거나 내지는 선택할 때 시작될 수 있다. 본 예에 있어서, 애플리케이션 인스턴스(307)는 전개되는 베이스 애플리케이션(305)의 인스턴스를 나타낸다.
시작시에, 애플리케이션 인스턴스(307)는 사용자(312)에게 특정된 라이센싱 상태를 식별하기 위해 활성화 프로세스(400)를 채용한다. 이후, 애플리케이션 인스턴스(307)는 사용자(312)에 대하여 판정된 사용자-맞춤 라이센스 상태에 따라 구성될 수 있는 한편, 원격 데스크탑 클라이언트(313)를 갖춘 원격 세션을 거쳐 전달될 수 있다.
사용자(312)가 애플리케이션 인스턴스(307)와 연계되어 있는 상태에서, 사용자(322)는 베이스 애플리케이션(305)을 전개하는 사용자 인터페이스(325)에서의 아이콘을 클릭하거나 내지는 선택할 수 있다. 그에 따라, 애플리케이션 인스턴스(309)가 전개된다. 시작시에, 애플리케이션 인스턴스(309)는 사용자(322)에게 특정된 라이센싱 상태를 식별하기 위해 활성화 프로세스(400)를 채용한다. 이후, 애플리케이션 인스턴스(307)는 사용자(322)에 대하여 판정된 사용자-맞춤 라이센스 상태에 따라 구성될 수 있는 한편, 원격 데스크탑 클라이언트(323)를 갖춘 원격 세션을 거쳐 전달될 수 있다.
도 3에서의 예시적인 목적에 대해서는, 사용자(312)에 대한 라이센싱 상태가 사용자(322)에 대한 라이센싱 상태와는 상이한 것으로 가정한다. 특히, 애플리케이션 인스턴스(307)는 액세스가 한정되어 있는 상태로 전달되는 반면, 애플리케이션 인스턴스(309)는 완전한 액세스가 승인된 상태로 전달된다. 이러한 차이는, 애플리케이션 인스턴스(307) 및 사용자 인터페이스(315)와, 애플리케이션 인스턴스(309) 및 사용자 인터페이스(325)에 대하여 상이한 채우기 패턴(fill pattern)으로 표현된다.
도 4는 활성화 프로세스(400)를 상세하게 도시한다. 활성화 프로세스(400)는 다중-사용자 동작의 컨텍스트에서 사용자 특정 라이센싱을 제공하기 위해 베이스 애플리케이션(305)의 인스턴스에 의해 채용될 수 있는 임의의 프로세스를 나타낸다. 하기의 논의는 도 4에 예시된 스텝을 삽입어구적으로 참조하지만, 본 명세서에서 논의된 스텝 이외의 다른 스텝도 가능하다는 것을 인식할 수 있을 것이다.
동작에 있어서, 애플리케이션 인스턴스는 베이스 애플리케이션으로부터 전개된다. 시작시에, 애플리케이션은 세션 모드 또는 표준 모드로, 또는 가능하게는 몇몇 다른 모드로 기동할지의 여부를 판정한다(스텝 401). 표준 모드로 시작될 때, 라이센스 활성화는 애플리케이션에 대한 다중 사용자 액세스와 관련이 없는 표준 활성화 플로우를 통해 달성된다(스텝 402). 예컨대, 제품 키 또는 서비스 사인-인(sign-in)은 애플리케이션을 활성화하는데 사용될 수 있다. 표준 플로우에 있어서, 다양한 사용자가 상이한 액세스 권한을 가질 수 있다고 해도, 베이스 애플리케이션의 임의의 인스턴스에 대해서는 단일의 라이센스 프로필이 적용되게 된다.
세션 모드에 있어서, 애플리케이션 인스턴스에 대한 라이센스는, 애플리케이션 인스턴스가 특정 사용자에 대한 라이센스 상태에 따라 전달될 수 있는 방식으로 활성화된다. 또한, 세션 모드는 동일한 애플리케이션의 다른 인스턴스가 동시에 시작 및 실행되는 것을 허용하지만, 다른 사용자에 대한 상이한 라이센스 상태하에서는 그렇지 않다.
세션 모드에서의 진행시에, 애플리케이션 인스턴스는 애플리케이션 또는 연관된 애플리케이션 서비스에 대한 사인-인을 사용자에게 프롬프트한다(스텝 403). 사용자는 사용자의 아이덴티티를 확인하는데 사용되는 사용자명 및 패스워드와 같은 자신의 로그인 크리덴셜(login credentials)을 제공할 수 있다. 일부 경우에는, 사용자가 로컬로 검증될 수 있지만, 다른 경우에는, 사인-인을 보조하거나 또는 취급하기 위해 라이센싱 서비스(310)가 활용될 수 있다. 사인-인에 성공하지 못하면, 애플리케이션 인스턴스가 닫힐 수 있거나, 메시지가 제시될 수 있거나, 또는 실패한 사인-인 시도를 나타내는 몇몇 다른 이벤트가 발생할 수 있다. 사인-인 스텝은, 그것이 가능하다고 해도, 애플리케이션이 시작될 때마다 발생할 필요는 없다. 몇몇 상황에서는, 사인-인 스텝이, 상당한 시간이 경과되어 있을 때나, 특정한 시작 횟수 이후 등과 같은 경우에 종종 발생할 수 있다.
사인-인이 성공한 경우에, 애플리케이션 인스턴스는 다음으로 세션 토큰을 로컬로 점검한다(스텝 405). 이전의 세션 또는 진행중인 세션과 연관되는 기존의 토큰은 로컬로 저장될 수 있다. 기존의 토큰이 로컬로 탐색되지 않으면, 라이센싱 서비스(310)로부터 신규 세션 토큰이 취득된다.
이후, 세션 토큰은 그 유효성을 판정하기 위해 처리된다(스텝 407). 일부 상황에서는 기존의 토큰이 여전히 유효한 상태일 수 있지만, 다른 상황에서는 기존의 토큰이 만료되어 있거나 또는 몇 가지 다른 이유로 무효한 상태로 될 수 있다. 기존의 토큰이 무효하다고 확인되면, 라이센싱 서비스(410)로부터 신규 세션 토큰이 요청된다. 이후, 신규 토큰은 그 유효성이 분석될 수 있다.
세션 토큰이 유효하다고 확인되면, 그 토큰은 로컬로 저장된다(스텝 409). 세션 토큰을 로컬로 저장하면, 애플리케이션 인스턴스의 추후 시작에 이용하기 위해 보존된다. 언급한 바와 같이, 로컬로 저장되는 세션 토큰은 궁극적으로 만료 내지는 무효로 될 수 있고, 이는 라이센싱 서비스(310)로부터 신규 토큰의 취득을 애플리케이션 인스턴스에 강제한다.
본 예에 있어서, 유효한 신규 또는 기존의 세션 토큰은 사용자가 애플리케이션 인스턴스에 대한 완전한 액세스를 허용하고 있음을 나타내는 반면, 무효한 세션 토큰은 애플리케이션 인스턴스에 대한 한정된 액세스가 사용자에게 주어짐을 의미한다. 이는 그 자체로, 애플리케이션의 어느 특징이 사용자가 누릴 수 있게 해제되는 것인지가 분명해지거나, 애플리케이션으로 이루어진 스위트 내의 어느 애플리케이션이 사용자가 이용 가능한 것인지가 분명해지거나, 또는 많은 다른 방식으로 분명해질 수 있다. 따라서, 애플리케이션 인스턴스는 사용자에 대한 특정한 라이센스 상태에 따라 실행된다. 일부 사용자는 완전한 특징 액세스를 누릴 수 있는 반면, 다른 사용자은 한정된 애플리케이션 특징 세트에의 액세스를 누릴 수 있다.
다른 예에 있어서, 세션 토큰은 위에서 논의된 유효한 상태 및 무효한 상태에 더하여 또는 그 외에 잠재적인 상태를 가질 수도 있다. 예를 들면, 세션 토큰은 3가지의 잠재적인 상태: 즉 유효, 중간, 및 무효 상태를 가질 수 있다. 유효한 상태는 사용자에게 애플리케이션에 대한 완전한 액세스를 승인할 수 있는 반면, 중간 상태는 사용자에게 중간 액세스를 승인할 수 있다. 무효한 상태는 중간 상태보다 적은 특징에 액세스하는 것으로 사용자를 제한할 수 있다. 라이센스 상태에 있어서의 다른 변경 및 조합이 가능하며, 본 개시물의 범위 내의 것으로 간주될 수 있다.
도 5는 애플리케이션 인스턴스(309)가 활성화 프로세스(400)를 채용할 때 발생할 수 있는 예시적인 상황을 나타내는 동작 시퀀스(500)를 도시한다. 동작에 있어서, 원격 데스크탑 클라이언트(323)는 원격 데스크탑 서버(303)와 함께 원격 세션을 확립한다. 이후, 원격 세션의 컨텍스트에서 베이스 애플리케이션(305)이 전개된다. 베이스 애플리케이션(305)의 전개로 인해, 애플리케이션 인스턴스(309)가 런타임 환경에서 실행되게 된다.
애플리케이션 인스턴스(309)는 애플리케이션, 애플리케이션 서비스, 또는 그 밖의 몇몇 환경 또는 서비스에 대한 사인-인을 사용자(322)에게 프롬프트한다. 사용자(322)는, 사용자를 인증 또는 인가하거나 또는 사인-인을 취급하기 위해 라이센싱 서비스(310)와 협동하게 되는 애플리케이션 인스턴스(309)에 자신의 크리덴셜을 제공한다.
다음으로, 애플리케이션 인스턴스(309)는 기존의 토큰을 로컬로 검색한다. 그러나, 기존의 토큰이 탐색되지 않으면, 애플리케이션 인스턴스(309)는 라이센싱 서비스(310)로부터 신규 토큰을 요청한다. 로컬로 탐색된 기존의 토큰 또는 라이센싱 서비스(310)에 의해 공급된 신규 토큰은 베이스 애플리케이션(305)에 대하여 처리되어서 사용자(322)에 대한 라이센스 상태를 판정한다. 이 경우에 있어서, 예시적인 목적에 대해서는, 사용자(322)는 애플리케이션에 대하여 완전한 액세스를 누리고, 그에 따라 애플리케이션은 완전한 특징 모드로 전달되는 것으로 가정한다.
도 6은 구현예에 있어서의 활성화 아키텍처(600)를 도시한다. 활성화 아키텍처(600)는 서비스 플랫폼(601), 애플리케이션 플랫폼(611), 및 애플리케이션 플랫폼(621)을 포함한다. 원격 데스크탑 서버(603)는 베이스 애플리케이션(605) 및 베이스 애플리케이션(606)과 마찬가지로, 서비스 플랫폼(601)에 인스톨된다. 원격 데스크탑 서버(603)는 원격 데스크탑과 함께 원격 데스크탑 세션을 호스팅할 수 있다. 서비스 플랫폼(601)에 인스톨된 애플리케이션은 원격 데스크탑 클라이언트 및 세션을 경유하여 액세스될 수 있다. 원격 데스크탑 서버(603)를 때때로 단말 서버라고 부르기도 한다.
애플리케이션 플랫폼(611)은 원격 데스크탑 클라이언트(613)를 포함한다. 원격 데스크탑 클라이언트(613)는 사용자(612)에게 베이스 애플리케이션(605)의 인스턴스, 또는 베이스 애플리케이션(606)의 인스턴스, 또는 양쪽 모두에 대한 사용자 인터페이스(615)를 제공하도록 기능한다. 애플리케이션 플랫폼(621)도 역시 원격 데스크탑 클라이언트(623)를 포함한다. 원격 데스크탑 클라이언트(623)는 사용자(622)에게 베이스 애플리케이션(605)의 인스턴스, 또는 베이스 애플리케이션(606)의 인스턴스, 또는 양쪽 모두에 대한 사용자 인터페이스(625)를 제공하도록 기능한다. 애플리케이션 인스턴스(607) 및 애플리케이션 인스턴스(609)는 베이스 애플리케이션(605)의 인스턴스를 나타내는 반면, 애플리케이션 인스턴스(608)는 애플리케이션(606)의 인스턴스를 나타낸다.
베이스 애플리케이션(605) 및 베이스 애플리케이션(606)은 함께 허가될 수 있는 어느 2개 이상의 애플리케이션을 나타낸다. 동일한 라이센스 하에서 제공된 다수의 애플리케이션을 포함하는 소프트웨어 스위트를 예로서 포함한다. 애플리케이션은 동일한 소프트웨어 제공자에 의해 개발 및 제작될 수 있으며, 그 예로서, Microsoft® Office®, Microsoft® Office 365®, 및 다양한 Adobe® 제품군 뿐만 아니라 다수의 다른 소프트웨어 스위트를 포함한다. 그러나, 적어도 하나의 애플리케이션이 적어도 하나의 다른 애플리케이션의 제공자와는 다른 소프트웨어 제공자에 의해 제공되는 경우와 같은 그러한 라이센싱 방식에서는 다수의 소프트웨어 제공자가 수반될 수 있다. 다른 라이센싱 체제가 가능하며, 본 개시물의 범위 내의 것으로 간주될 수 있다.
활성화 아키텍처(600) 또한, 라이센싱 서비스(610)를 포함한다. 라이센싱 서비스는 서비스 플랫폼(601)으로부터 원격이며 베이스 애플리케이션(605) 및 베이스 애플리케이션(606)의 인스턴스에 라이센싱 기능을 제공할 수 있는 온라인 라이센싱 서비스를 나타낸다. 라이센싱 서비스(610)는 애플리케이션 인스턴스(607 및 609)에 대해서만이 아니라, 다수의 애플리케이션 인스턴스에 대하여 라이센싱 기능을 제공할 수 있는 규모로 동작할 수 있다.
서비스 플랫폼(601)은 원격 데스크탑 서버(603) 및 베이스 애플리케이션(605 및 606)의 전부 또는 일부를 호스팅하고 활성화 프로세스(400)의 전부 또는 일부를 구현할 수 있는 임의의 물리적 또는 가상의 컴퓨팅 시스템, 디바이스, 또는 그 집합체를 나타낸다. 서비스 플랫폼(601)은, 서버 컴퓨터, 웹 서버, 애플리케이션 서버, 랙 서버, 블레이드 서버, 가상 기계 서버, 또는 타워 서버뿐만 아니라, 도 8에 도시된 컴퓨팅 시스템(801)으로 대표되는 임의의 다른 유형의 컴퓨팅 시스템을 예로서 포함하지만, 이들로 한정되는 것은 아니다. 몇몇 상황에 있어서, 서비스 플랫폼(601)은 데이터 센터, 가상 데이터 센터, 또는 몇몇 다른 적절한 시설에서 구현될 수 있다.
베이스 애플리케이션(605 및 606)은 각각 활성화 프로세스(400)를 구현할 수 있는 임의의 소프트웨어 애플리케이션, 모듈, 컴포넌트, 또는 그 집합체를 나타낸다. 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 프리젠테이션 애플리케이션, 웹 브라우저, 이메일 애플리케이션, 블로깅 및 마이크로-블로깅 애플리케이션, 소셜 네트워킹 애플리케이션, 전자상거래 애플리케이션, 및 게이밍 애플리케이션뿐만 아니라, 임의의 다른 유형의 적절한 애플리케이션을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
애플리케이션 플랫폼(611 및 621)은 각각 원격 데스크탑 클라이언트를 호스팅할 수 있는 임의의 물리적 또는 가상의 컴퓨팅 시스템, 디바이스, 또는 그 집합체를 나타낸다. 스마트폰, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, 하이브리드 컴퓨터, 게임용 기계, 스마트 텔레비전, 엔터테인먼트 디바이스, 인터넷 어플라이언스, 및 가상 기계뿐만 아니라, 도 8에 도시된 컴퓨팅 시스템(801)으로 대표되는 임의의 그 변형 또는 조합을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
동작에 있어서, 원격 데스크탑 클라이언트(613)는 원격 데스크탑 서버(603)와 함께 원격 세션을 확립한다. 서비스 플랫폼(601)에 인스톨된 애플리케이션은 원격 세션을 거쳐 액세스될 수 있다. 본 예에 있어서, 베이스 애플리케이션(605)의 인스턴스는 원격 세션 도중에 서비스 플랫폼(601) 상에서 인스턴스화된다. 베이스 애플리케이션(605)의 인스턴스는, 예컨대 사용자(612)가 베이스 애플리케이션(605)을 전개하는 사용자 인터페이스(615)에서의 아이콘을 클릭하거나 내지는 선택할 때 시작될 수 있다. 본 예에 있어서, 애플리케이션 인스턴스(607)는 전개되는 베이스 애플리케이션(605)의 인스턴스를 나타낸다.
시작시에, 애플리케이션 인스턴스(607)는 사용자(612)에게 특정된 라이센싱 상태를 식별하기 위해 활성화 프로세스(400)를 채용한다. 이후, 애플리케이션 인스턴스(607)는 사용자(612)에 대하여 판정된 사용자-맞춤 라이센스 상태에 따라 구성될 수 있는 한편, 원격 데스크탑 클라이언트(613)를 갖춘 원격 세션을 거쳐 전달될 수 있다.
사용자(612)가 애플리케이션 인스턴스(607)와 연계되어 있는 상태에서, 사용자(622)는 베이스 애플리케이션(605)을 전개하는 사용자 인터페이스(625)에서의 아이콘을 클릭하거나 내지는 선택할 수 있다. 그에 따라, 애플리케이션 인스턴스(609)가 전개된다. 시작시에, 애플리케이션 인스턴스(609)는 사용자(622)에게 특정된 라이센싱 상태를 식별하기 위해 활성화 프로세스(400)를 채용한다. 이후, 애플리케이션 인스턴스(607)는 사용자(622)에 대하여 판정된 사용자-맞춤 라이센스 상태에 따라 구성될 수 있는 한편, 원격 데스크탑 클라이언트(623)를 갖춘 원격 세션을 거쳐 전달될 수 있다.
또한, 본 예에 있어서, 베이스 애플리케이션(606)의 인스턴스는 원격 세션 도중에 서비스 플랫폼(601) 상에서 인스턴스화된다. 베이스 애플리케이션(606)의 인스턴스는, 예컨대 사용자(622)가 베이스 애플리케이션(606)을 전개하는 사용자 인터페이스(625)에서의 아이콘을 클릭하거나 내지는 선택할 때 시작될 수 있다. 이는, 사용자(622)가 애플리케이션 인스턴스(609)와 연계되기 이전에, 도중에, 또는 이후에 발생할 수 있다. 본 예에 있어서, 애플리케이션 인스턴스(608)는 전개되는 베이스 애플리케이션(606)의 인스턴스를 나타낸다.
시작시에, 애플리케이션 인스턴스(608)는 사용자(622)에게 특정된 라이센싱 상태를 식별하기 위해 활성화 프로세스(400)를 채용한다. 애플리케이션 인스턴스(609)의 사용을 허가하는데 이용된 세션 토큰은 동일한 사용자, 즉 사용자(622)에 의한 애플리케이션 인스턴스(608)의 사용을 허가하는데 활용될 수 있다. 이후, 애플리케이션 인스턴스(608)는 사용자(622)에 대하여 판정된 사용자-맞춤 라이센스 상태에 따라 구성될 수 있는 한편, 원격 데스크탑 클라이언트(623)를 갖춘 원격 세션을 거쳐 전달될 수 있다.
도 6에서의 예시적인 목적에 대해서는, 사용자(612)에 대한 라이센싱 상태가 사용자(622)에 대한 라이센싱 상태와는 상이한 것으로 가정한다. 특히, 애플리케이션 인스턴스(607)는 액세스가 한정되어 있는 상태로 전달되는 반면, 애플리케이션 인스턴스(609)는 완전한 액세스가 승인된 상태로 전달된다. 이러한 차이는, 애플리케이션 인스턴스(607) 및 사용자 인터페이스(615)에 대한 채우기 패턴과, 애플리케이션 인스턴스(609), 애플리케이션 인스턴스(608) 및 사용자 인터페이스(625)에 대한 채우기 패턴의 차이로 표현된다.
도 7은 애플리케이션 인스턴스(609) 및 애플리케이션 인스턴스(608)가 활성화 프로세스(400)를 채용할 때 발생할 수 있는 예시적인 상황을 나타내는 동작 시퀀스(700)를 도시한다. 동작에 있어서, 원격 데스크탑 클라이언트(623)는 원격 데스크탑 서버(603)와 함께 원격 세션을 확립한다. 이후, 원격 세션의 컨텍스트에서 베이스 애플리케이션(605)이 전개된다. 베이스 애플리케이션(605)의 전개로 인해, 애플리케이션 인스턴스(609)가 런타임 환경에서 실행되게 된다.
애플리케이션 인스턴스(609)는 애플리케이션, 애플리케이션 서비스, 또는 그 밖의 몇몇 환경 또는 서비스에 대한 사인-인을 사용자(622)에게 프롬프트한다. 사용자(622)는, 사용자를 인증 또는 인가하거나 또는 사인-인을 취급하기 위해 라이센싱 서비스(610)와 협동하게 되는 애플리케이션 인스턴스(609)에 자신의 크리덴셜을 제공한다.
다음으로, 애플리케이션 인스턴스(609)는 기존의 토큰을 로컬로 검색한다. 기존의 토큰은 애플리케이션 인스턴스(609)를 사용하기 위해 라이센싱 사용자(622)의 컨텍스트에서 미리 다운로드되어 있던 것일 수 있다. 기존의 토큰은 또한, 보다 이른 시기에 애플리케이션 인스턴스(608)를 사용하기 위해 라이센싱 사용자(622)의 컨텍스트에서 미리 다운로드되어 있을 수도 있다. 기존의 토큰이 탐색되지 않으면, 애플리케이션 인스턴스(609)는 라이센싱 서비스(610)로부터 신규 토큰을 요청한다. 로컬로 탐색된 기존의 토큰 또는 라이센싱 서비스(610)에 의해 공급된 신규 토큰은 베이스 애플리케이션(605)에 대하여 처리되어서 사용자(622)에 대한 라이센스 상태를 판정한다. 이 경우에 있어서, 예시적인 목적에 대해서는, 사용자(622)는 애플리케이션에 대하여 완전한 액세스를 누리고, 그에 따라 애플리케이션은 완전한 특징 모드로 전달되는 것으로 가정한다.
다음으로, 베이스 애플리케이션(606)이 원격 세션의 컨텍스트에서 전개된다. 베이스 애플리케이션(606)의 전개로 인해, 애플리케이션 인스턴스(608)가 런타임 환경에서 실행되게 된다. 애플리케이션 인스턴스(608)는 애플리케이션에 대한 사인-인을 사용자(622)에게 프롬프트할 수 있지만, 애플리케이션 인스턴스(609)에 대하여 수행된 사인-인 프로세스를 활용할 수 있는 경우에는 이 스텝을 생략할 수 있다. 사용자(622)는, 사용자를 인증 또는 인가하거나 또는 사인-인을 취급하기 위해 라이센싱 서비스(610)와 협동하게 되는 애플리케이션 인스턴스(608)에 자신의 크리덴셜을 제공한다.
다음으로, 애플리케이션 인스턴스(608)는 기존의 토큰을 로컬로 검색한다. 기존의 토큰은 애플리케이션 인스턴스(609)를 사용하기 위해 라이센싱 사용자(622)의 컨텍스트에서 미리 다운로드되어 있던 것일 수 있다. 기존의 토큰은 또한, 보다 이른 시기에 애플리케이션 인스턴스(608)를 사용하기 위해 라이센싱 사용자(622)의 컨텍스트에서 미리 다운로드되어 있을 수도 있다. 기존의 토큰이 탐색되지 않으면, 애플리케이션 인스턴스(608)는 라이센싱 서비스(610)로부터 신규 토큰을 요청할 수 있다. 로컬로 탐색된 기존의 토큰 또는 라이센싱 서비스(610)에 의해 공급된 신규 토큰은 베이스 애플리케이션(606)에 대하여 처리되어서 사용자(622)에 대한 라이센스 상태를 판정한다. 이 경우에 있어서, 예시적인 목적에 대해서는, 사용자(622)는 애플리케이션에 대하여 완전한 액세스를 누리고, 그에 따라 애플리케이션은 완전한 특징 모드로 전달되는 것으로 가정한다.
하기의 내용은 다양한 양태 및 구현예를 추가로 설명하기 위한 사용-사례의 간단한 논의이다. Office 365® ProPlus는 사용자 단위로 허가된다. 일반적인 정보 작업자 환경에 있어서, 사용자는 Office®를 사용하기를 원하는 하나 이상의 데스크탑 PC를 소유/사용한다. Office 365® 라이센스는 단일의 사용자가 상기와 같은 디바이스를 동시에 5대까지 활성화하는 것을 허용한다. 활성화는 디바이스 포괄적이고, 즉, 디바이스를 공유하는 모든 사용자가 완전히 활성화된 Office®를 사용할 수 있다.
다수의 사용자(수십, 수백명의 사용자)가 단일의 기계를 공유하는 기업 상황이 존재한다. 전형적인 예는 사용자가 "가상의 데스크탑(virtual desktop)"에 액세스하기 위해 접속하는 원격 데스크탑 서비스(Remote Desktop Services) 서버이다. 원래의 활성화 해법은 다수의 사용자가 단일의 사용자 라이센스로부터 이익을 취하는 것을 허용하게 되는 상기와 같은 환경에서는 사용될 수 없기 때문에, Office 365® 라이센싱 모델을 깨뜨린다.
진전된 모델은, 기계를 공유하는 다른 사용자에 대한 라이센싱 상태에 영향을 미치는 일 없이, 종래의 데스크탑 소프트웨어 스위트의 개념이 사용자가 액세스하고 있는 기계에 대하여 임시로 허가되는 것을 포함한다. 사용자가 자신이 방문하는 기계의 라이센싱 상태를 관리할 필요가 없는 특정한 해법을 또한 인식할 수 있다. 대신에, 라이센싱 서비스는, 사용자가 최종 사용자 라이센스에 의해 특정된 사용 제한범위 내의 사용자임을 보증하는 책임을 진다. 사용을 감시하고, 라이센스 계약에 의해 보호되는 범위를 벗어난 사용 패턴을 검출하는 능력을 또한 인식할 수 있다. 이는, Office® 스위트를 포함하는 다수의 개별 애플리케이션이 동일한 라이센스를 공유할 수 있는 상황을 가능하게 한다. 몇몇 상황에 있어서, 애플리케이션은 사용자 크레덴셜에 대한 프롬프팅 없이 라이센스 갱신을 요청하는 것이 허용될 수 있다.
적어도 하나의 동작 상황에 있어서, IT 관리자는 다수의 사용자가 동일한 하드웨어를 공유하고 그들 각각의 Office 365® 라이센스를 사용할 수 있게 하기 위해 SCA(Shared Computer Activation) 모드가 가능한 Office 365® ProPlus를 갖춘 데스크탑 기계의 제공을 선택할 수 있다.
사용자가 Office® 애플리케이션을 부팅하는 경우에, 애플리케이션은 SCA 모드를 사용하도록 구성되어 있는지를 검출한다. 애플리케이션은 사용자의 Office 365® 크리덴셜(몇 가지 유형의 크리덴셜)을 자동으로 캡처할 수 있거나, 또는 사용자가 자신의 크리덴셜을 수동으로 제공(사인-인)하도록 사용자에게 프롬프트한다. 애플리케이션은 사용자를 인증하기 위해 오피스 라이센싱 서비스(Office Licensing Service)에 접속하고, 사용자가 이 모드에서 Office 365®를 사용하도록 허가받았는지를 점검한다.
서비스는 해당 사용자 및 해당 기계에 대하여 특정하여 생성되는 "라이센스 토큰(license token)"을 반환하고; 또한, 라이센스 토큰은 기간이 지나면 만료되는 특정 기간 동안 생성된다. Office® 애플리케이션은 토큰을 검사한다: 즉, 애플리케이션은 애플리케이션을 기동하는 사용자가 토큰을 발급했던 사용자와 동일한 사용자인지를 점검하고, 기계가 토큰을 요청했던 기계와 동일한 기계인지를 점검하고, 마지막으로 토큰이 만료되어 있지 않은지를 검증한다.
토큰이 유효하면, 애플리케이션은 토큰을 로컬 기계 상에서 존속시키고 완전하게 활성화한다. 부팅시에, 다른 Office® 애플리케이션은 로컬에 존속된 토큰을 찾아서 검사하고, 오피스 라이센싱 서비스에 접속하는 일 없이 토큰을 활성화에 사용한다.
로컬에 존속된 토큰이 만료되어 있으면, Office® 애플리케이션은 신규 토큰을 입수하기 위해 오피스 라이센싱 서비스에의 요청을 자동으로 시도하고; 코드는 만료된 토큰 내의 인코딩된 사용자 ID를 사용해서 갱신 코드를 만들기 위해 어떤 사용자 아이덴티티를 사용할지를 확인한다. 이는 사용자 경험을 최적화하고 사인-인 프롬프트에의 사용자 노출을 최소화하기 위해 행해진다.
도 8은 본 명세서에 개시된 다양한 동작 상황 및 프로세스가 구현될 수 있는 환경을 나타내는 컴퓨팅 환경(800)을 도시한다. 컴퓨팅 환경(800)은 애플리케이션 플랫폼(811), 애플리케이션 플랫폼(821), 및 서비스 플랫폼(831)을 포함한다.
애플리케이션 플랫폼(811 및 821)은 각각 클라이언트 애플리케이션(113 및 123)과 같은 클라이언트 애플리케이션과 원격 데스크탑 클라이언트(313, 323, 613, 및 623)를 구현하는데 적합한 임의의 컴퓨팅 장치, 시스템, 디바이스, 또는 그 집합체를 나타낸다. 애플리케이션 플랫폼(811 및 821)은, 데스크탑 컴퓨터, 워크스테이션, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 하이브리드 컴퓨터, 게임용 기계, 가상 기계, 스마트 텔레비전 및 스마트 워치, 및 그 밖의 웨어러블 디바이스뿐만 아니라 임의의 그 변형 또는 조합을 예로서 포함하지만, 이들로 한정되는 것은 아니다.
서비스 플랫폼(831)은 애플리케이션을, 또한 일부 경우에는, 원격 데스크탑 서버를 호스팅할 수 있는 임의의 컴퓨팅 장치, 시스템, 또는 그 집합체를 나타낸다. 서비스 플랫폼(831) 상에서 구현될 수 있는 애플리케이션은 애플리케이션(103), 베이스 애플리케이션(305), 베이스 애플리케이션(605), 및 베이스 애플리케이션(606)을 예로서 포함한다. 서비스 플랫폼(821)은 서버 컴퓨터, 랙 서버, 웹 서버, 클라우드 컴퓨텅 플랫폼, 및 데이터 센터 장비뿐만 아니라, 임의의 다른 유형의 물리적 또는 가상의 서버 기계, 및 임의의 그 변형 또는 조합을 예로서 포함한다. 일부 구현예에 있어서, 다수의 컴퓨팅 시스템의 집합체는 하나 이상의 데이터 센터, 가상 데이터 센터, 또는 임의의 다른 적절한 컴퓨팅 설비에서 호스팅될 수 있는 애플리케이션 또는 서비스의 전부 또는 일부를 구현하는데 채용될 수 있다.
컴퓨팅 시스템(801)은 애플리케이션 플랫폼(811), 애플리케이션 플랫폼(821), 및 서비스 플랫폼(831)의 예이다. 컴퓨팅 시스템(801)은 단일의 장치, 시스템, 또는 디바이스로서 구현될 수 있거나, 또는 다수의 장치, 시스템, 또는 디바이스로서 분산형으로 구현될 수 있다. 컴퓨팅 시스템(801)은 프로세싱 시스템(802), 저장 시스템(803), 소프트웨어(805), 통신 인터페이스 시스템(807), 및 사용자 인터페이스 시스템(809)을 포함하지만, 이들로 한정되는 것은 아니다. 프로세싱 시스템(802)은 저장 시스템(803), 통신 인터페이스 시스템(807), 및 사용자 인터페이스 시스템(809)과 동작 가능하게 연결된다.
프로세싱 시스템(802)은 저장 시스템(803)으로부터 소프트웨어(805)를 로딩 및 실행한다. 원격 컴퓨팅 세션의 컨텍스트에서 향상된 활성화 및 라이센싱을 구현하기 위해 프로세싱 시스템(802)에 의한 실행시에, 소프트웨어(805)는 프로세싱 시스템(802)에게 전술한 구현예에서 논의된 다양한 프로세스, 동작 상황, 및 시퀀스에 대하여 본 명세서에 기술된 대로 동작하도록 명령한다. 컴퓨팅 시스템(801)은 간략화를 위해 논의되지 않은 부가적인 디바이스, 특징, 또는 기능을 선택적으로 포함할 수 있다.
계속해서 도 8을 참조하면, 프로세싱 시스템(802)은 저장 시스템(803)으로부터 소프트웨어(805)를 검색 및 실행하는 마이크로프로세서 및 그 밖의 회로를 포함할 수 있다. 프로세싱 시스템(802)은 단일의 프로세싱 디바이스 내에서 구현될 수 있지만, 프로그램 명령어를 실행함에 있어서 협동하는 다수의 프로세싱 디바이스 또는 서브-시스템 전체에 걸쳐 분산될 수도 있다. 프로세싱 시스템(802)은 범용 중앙 처리 장치, 애플리케이션 특정 프로세서, 및 로직 디바이스뿐만 아니라 임의의 다른 유형의 프로세싱 디바이스, 그 조합 또는 변형을 예로서 포함한다.
저장 시스템(803)은 프로세싱 시스템(802)에 의해 판독 가능하며 소프트웨어(805)를 저장할 수 있는 임의의 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 저장 시스템(803)은 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 그 밖의 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 또는 비착탈식 매체를 포함할 수 있다. 저장 매체는 랜덤 액세스 메모리, 리드 온리 메모리, 자기 디스크, 광 디스크, 플래시 메모리, 가상 메모리 및 비-가상 메모리, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 그 밖의 자기 스토리지 디바이스, 또는 임의의 다른 적절한 저장 매체를 예로서 포함한다. 컴퓨터 판독가능 저장 매체는 결코 전파 신호는 아니다.
컴퓨터 판독가능 저장 매체 외에, 일부 구현예에 있어서, 저장 시스템(803)은 소프트웨어(805)가 내적으로 또는 외적으로 통신될 수 있게 하는 컴퓨터 판독가능 통신 매체를 포함할 수도 있다. 저장 시스템(803)은 단일의 스토리지 디바이스로서 구현될 수 있지만, 서로에 대하여 같은 곳에 배치되거나 또는 분산되어 있는 다수의 스토리지 디바이스 또는 서브-시스템 전체에 걸쳐 구현될 수도 있다. 저장 시스템(803)은 프로세싱 시스템(802) 또는 가능하게는 그 밖의 시스템과 통신할 수 있는 컨트롤러와 같은 부가적인 구성요소를 포함할 수 있다.
소프트웨어(805)는 프로그램 명령어로 구현될 수 있으며, 다른 기능 중에서도, 프로세싱 시스템(802)에 의한 실행시에, 프로세싱 시스템(802)에게 본 명세서에 예시된 다양한 동작 상황, 시퀀스, 및 프로세스에 관하여 기술된 대로 동작하도록 명령할 수 있다. 컴퓨팅 시스템(801)이 애플리케이션 플랫폼(예컨대, 애플리케이션 플랫폼(111, 121))으로서 배치되는 경우에, 소프트웨어(805)는 원격 컴퓨팅 세션에 연계하기 위한 사용자 인터페이스 및 클라이언트 애플리케이션을 구현하는 프로그램 명령어를 포함할 수 있다. 컴퓨팅 시스템(801)이 서비스 플랫폼(예컨대, 서비스 플랫폼(101, 301, 및 601))으로서 배치되는 경우에, 소프트웨어(805)는 프로세스(200), 활성화 프로세스(400), 및 연관된 기능을 구현하는 프로그램 명령어를 포함할 수 있다.
특히, 프로그램 명령어는 본 명세서에 기술된 다양한 프로세스 및 동작 상황을 수행하도록 협동 내지는 상호작용하는 다양한 컴포넌트 또는 모듈을 포함할 수 있다. 다양한 컴포넌트 또는 모듈은 컴파일링된 또는 해석된 명령어로 구체화되거나, 또는 명령어의 일부 다른 변형 또는 조합으로 구체화될 수 있다. 다양한 컴포넌트 또는 모듈은 동기식 또는 비동기식으로, 직렬로 또는 병렬로, 단일의 스레드된 환경 또는 다중-스레드된 환경에서, 또는 그 임의의 다른 적절한 실행 패러다임, 변형 또는 조합에 따라 실행될 수 있다. 소프트웨어(805)는 동작 시스템 소프트웨어 또는 그 밖의 애플리케이션 소프트웨어와 같은 부가적인 프로세스, 프로그램, 또는 컴포넌트를 포함할 수 있다. 소프트웨어(805)는 프로세싱 시스템(802)에 의해 실행 가능한 펌웨어 또는 일부 다른 형태의 기계-판독가능 프로세싱 명령어를 포함할 수도 있다.
일반적으로, 소프트웨어(805)는, 프로세싱 시스템(802)에의 로딩시에 및 실행시에, 적절한 장치, 시스템, 또는 디바이스(컴퓨팅 시스템(801)을 나타냄)를 전부 범용 컴퓨팅 시스템으로부터 다중-사용자 환경에서 애플리케이션에 대한 향상된 라이센싱 및 활성화를 가능하게 하도록 커스터마이징된 특수 목적 컴퓨팅 시스템으로 전환할 수 있다. 실제로, 소프트웨어(805)를 저장 시스템(803) 상에 인코딩하는 것으로 저장 시스템(803)의 물리적 구조를 전환할 수 있다. 물리적 구조의 특정한 전환은 본 명세서의 서로 다른 구현예에서 다양한 요인에 의존할 수 있다. 상기와 같은 요인은, 저장 시스템(803)의 저장 매체를 구현하는데 사용된 기술 및 컴퓨터 저장 매체가 주기억 장치 또는 보조 기억 장치로서 특정되는지의 여부뿐만 아니라, 그 밖의 요인을 예로서 포함할 수 있지만, 이들로 한정되는 것은 아니다.
예컨대, 컴퓨터 판독가능 저장 매체가 반도체 기반의 메모리로서 구현되면, 소프트웨어(805)는, 트랜지스터, 커패시터, 또는 그 밖의 반도체 메모리를 구성하는 이산 회로 구성요소를 전환하는 등에 의해, 프로그램 명령어가 내부에 인코딩될 때 반도체 회로의 물리적 상태를 전환할 수 있다. 자기 또는 광학 매체에 대해서도 유사한 전환이 일어날 수 있다. 물리적 매체의 그 밖의 전환들은, 본 명세서의 범위로부터 일탈함이 없이, 단지 본 논의를 가능하게 하기 위해 제공된 전술한 예시들에 의해 가능하다.
컴퓨팅 장치(801)는 일반적으로, 향상된 라이센싱 활성화를 구현하기 위해 소프트웨어(805)가 배치되어 실행될 수 있는 컴퓨팅 시스템 또는 시스템들을 나타내도록 의도된 것임을 이해할 수 있을 것이다. 그러나, 컴퓨팅 시스템(801)은, 소프트웨어(805)가 스테이지될 수 있는 한편, 하나 또는 둘이 배치 및 실행을 위해, 또는 부가적인 분산을 위해 또 다른 컴퓨팅 시스템에 분산, 전송, 다운로드 내지는 제공될 수 있는 임의의 컴퓨팅 시스템으로서 적합한 것일 수도 있다.
통신 인터페이스 시스템(807)은 통신 네트워크(841)를 통해 다른 컴퓨팅 시스템들(도시되지 않음)과의 통신을 허용하는 통신 접속부 및 디바이스를 포함할 수 있다. 시스템간 통신을 함께 허용하는 접속부 및 디바이스는 네트워크 인터페이스 카드, 안테나, 전력 증폭기, RF 회로, 트랜시버, 및 그 밖의 통신 회로를 예로서 포함할 수 있다. 접속부 및 디바이스는 다른 컴퓨팅 시스템 또는 시스템들의 네트워크들과 통신을 교환하기 위해 금속, 유리, 공기와 같은 통신 매체, 또는 임의의 다른 적절한 통신 매체를 통해 통신할 수 있다. 전술한 매체, 접속부, 및 디바이스는 잘 알려져 있으므로, 여기서는 상세히 논의될 필요는 없다.
사용자 인터페이스 시스템(809)은 선택적인 것이며, 키보드, 마우스, 음성 입력 디바이스, 사용자로부터의 터치 제스처를 수신하는 터치 입력 디바이스, 사용자에 의한 비-터치 제스처 및 그 밖의 모션들을 검출하는 모션 입력 디바이스, 및 사용자로부터의 사용자 입력을 수신할 수 있는 그 밖의 유사한 입력 디바이스 및 연관된 프로세싱 구성요소들을 포함할 수 있다. 디스플레이, 스피커, 햅틱 디바이스와 같은 출력 디바이스들, 및 그 밖의 유형의 출력 디바이스가 또한, 사용자 인터페이스 시스템(809)에 포함될 수도 있다. 일부 경우에 있어서, 입력 및 출력 디바이스들은 이미지를 디스플레이하고 터치 제스처를 수신할 수 있는 디스플레이와 같은 단일의 디바이스에 결합될 수 있다. 전술한 사용자 입력 및 출력 디바이스들은 본 기술분야에 잘 알려져 있으므로, 여기서는 상세히 논의될 필요는 없다.
사용자 인터페이스 시스템(809)은 위에서 논의된 다양한 사용자 입력 및 출력 디바이스들을 지원하는 프로세싱 시스템(802)에 의해 실행 가능한 연관된 사용자 인터페이스 소프트웨어를 또한 포함할 수 있다. 개별적으로 또는 서로 및 다른 하드웨어 및 소프트웨어 구성요소들과 함께, 사용자 인터페이스 소프트웨어 및 사용자 인터페이스 디바이스는 그래픽 사용자 인터페이스, 내추럴 사용자 인터페이스(NUI), 또는 임의의 다른 유형의 사용자 인터페이스를 지원할 수 있다. 또한, 사용자 인터페이스에 대하여 이루어진 사용자 입력은 사용자 인터페이스 시스템(809)을 통해 입력될 수 있다.
애플리케이션 플랫폼(811), 애플리케이션 플랫폼(821), 및 서비스 플랫폼(831)과 임의의 다른 컴퓨팅 시스템 사이의 통신은 통신 네트워크(841) 또는 다른 네트워크들을 통해, 다양한 통신 프로토콜들, 프로토콜들의 조합들, 또는 그 변형들에 따라 발생한다. 통신 네트워크(841)는 인트라넷, 인터넷, 인터넷(Internet), 로컬 에어리어 네트워크, 와이드 에어리어 네트워크, 무선 네트워크, 유선 네트워크, 가상 네트워크, 소프트웨어 정의 네트워크, 데이터 센터 버스, 컴퓨팅 백플레인, 또는 임의의 다른 유형의 네트워크, 네트워크의 조합, 또는 그 변형을 예로서 포함한다. 전술한 통신 네트워크 및 프로토콜은 잘 알려져 있으므로, 여기서는 상세히 논의될 필요는 없다. 그러나, 사용될 수 있는 일부 통신 프로토콜은 인터넷 프로토콜(IP, IPv4, IPv6 등), 전송 제어 프로토콜(TCP), 및 사용자 데이터그램 프로토콜(UDP)뿐만 아니라 임의의 다른 적절한 통신 프로토콜, 그 변형 또는 조합을 포함하지만, 이들로 한정되는 것은 아니다.
정보가 교환되는 전술한 예시 중 어느 하나에 있어서, 정보의 교환은, FTP(file transfer protocol), HTTP(hypertext transfer protocol), REST(representational state transfer), WebSocket(웹소켓), DOM(Document Object Model), HTML(hypertext markup language), CSS(cascading style sheets), HTML5, XML(extensible markup language), JavaScript(자바스크립트), JSON(JavaScript Object Notation), 및 AJAX(Asynchronous JavaScript and XML)를 포함하는 다양한 프로토콜 중 어느 하나뿐만 아니라, 임의 다른 적절한 프로토콜, 그 변형 또는 조합에 따라 발생할 수 있다.
도 1 내지 도 8은 일반적으로 상대적으로 적은 사용자 및 상대적으로 적은 서비스 플랫폼들, 애플리케이션 플랫폼들, 및 애플리케이션들의 인스턴스들을 묘사하고 있지만, 본 명세서에 개시된 개념들은 여러 규모로 적용될 수 있음을 인식할 수 있을 것이다. 예컨대, 본 명세서에 개시된 애플리케이션 및 서비스들은 임의의 수의 사용자을 지원하도록 배치될 수 있다.
다양한 기술적인 효과가 전술한 구현예들로부터 인식될 것이다. 다중-사용자 상황에서 사용자-맞춤 라이센스를 지원하는 능력은 규모 조정 기술이 그들의 최대한의 잠재력을 활용할 수 있게 한다. 종래에는, 라이센스 상태가 서로 상이한 사용자은 서로 다른 기계들에 할당되게 된다. 본 명세서에 기술된 바와 같은 사용자-맞춤 라이센스 활성화는 상이한 라이센싱 프로필을 가진 다수의 사용자가 동일한 기본 기계 리소스(물리적이든, 가상이든)를 이용할 수 있게 하고, 그에 따라 애플리케이션 배치의 효율이 증가된다. 또한, 사용자 특정 라이센싱 활성화는 기본 리소스에 대하여 애플리케이션이 한 번만 인스톨되게 해서, 기본 리소스에 대한 저장 공간을 절약한다.
다중-사용자 기술에 대한 다양한 개선이 또한, 전술한 구현예들로부터 인식될 수 있다. 다중-사용자 기술(단말 서버/원격 데스크탑 서버 등)은 다수의 사용자가 컴퓨팅 리소스 상의 동일한 애플리케이션에 액세스하는 것을 허용한다. 본 명세서에 개시된 활성화 프로세스 및 그 밖의 청구대상은 사용자가 서로에게 특정된 라이센스 상태에 따라 동일한 애플리케이션을 누리는 것을 허용함으로써 상기와 같은 기술을 개선한다. 베이스 애플리케이션으로부터 유래된 애플리케이션 인스턴스는 원격 세션을 통해 하나의 사용자에게 해당 사용자의 라이센스 상태에 따라 제공될 수 있다. 동시에, 동일한 베이스 애플리케이션으로부터 유래된 다른 애플리케이션 인스턴스는 원격 세션을 통해 다른 사용자에게 해당 사용자의 다른 라이센스 상태에 따라 제공될 수 있다.
전술한 개시내용으로부터 특정한 발명 양태가 인식될 수 있을 것이고, 하기의 내용은 그 다양한 예시이다.
예시 1: 애플리케이션들에 대한 사용자-맞춤 라이센스 상태들을 가능하게 하기 위해, 프로세싱 시스템에 의한 실행시에, 상기 프로세싱 시스템에게 적어도, 애플리케이션에 대한 라이센싱을 활성화하는 모드가 적어도 세션 모드 및 표준 모드 중 어느 모드인지를 식별하고; 상기 세션 모드에 있을 때, 원격 세션을 통해 동시에 상기 애플리케이션과 연계된 복수의 사용자 각각에 대한 사용자 특정 클라이언트 상태를 유지하고, 상기 사용자-맞춤 라이센스 상태에 따라 상기 복수의 사용자 각각에 대하여 상기 애플리케이션을 전달하고; 또한 상기 표준 모드에 있을 때, 단일의 라이센스 상태를 유지하고, 상기 단일의 라이센스 상태에 따라 상기 복수의 사용자 모두에 대하여 상기 애플리케이션을 전달하도록 명령하는 프로그램 명령어들이 저장되어 있는 하나 이상의 컴퓨터 판독가능 저장 매체.
예시 2: 상기 사용자-맞춤 라이센스 상태를 유지하기 위해, 상기 프로그램 명령어는, 상기 사용자-맞춤 라이센스 상태가, 사용자에게 상기 애플리케이션에 대한 완전한 액세스를 허용하는 유효한 상태를 포함하는지 혹은 상기 애플리케이션에 대한 한정된 액세스를 허용하는 무효한 상태를 포함하는지의 여부를 판정하도록 상기 프로세싱 시스템에게 명령하는, 예시 1의 컴퓨터 판독가능 저장 매체.
예시 3: 상기 사용자-맞춤 라이센스 상태에 따라 상기 애플리케이션을 전달하기 위해, 상기 프로그램 명령어는, 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 완전한 액세스로 상기 애플리케이션을 실행하고, 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 한정된 액세스로 상기 애플리케이션을 실행하도록 상기 프로세싱 시스템에게 명령하는, 예시 1-2의 컴퓨터 판독가능 저장 매체.
예시 4: 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함하는지 혹은 상기 무효한 상태를 포함하는지의 여부를 판정하는 것은, 기존의 세션 토큰을 처리해서 사용자-맞춤 라이센스 상태가 유효한 상태를 포함하는지 혹은 상기 무효한 상태를 포함하는지의 여부를 판정하는 것을 포함하는, 예시 1-3의 컴퓨터 판독가능 저장 매체.
예시 5: 상기 프로그램 명령어는 또한, 상기 기존의 세션 토큰을 상기 애플리케이션에 대하여 로컬로 검색하고, 상기 세션 토큰이 로컬로 탐색되지 않는 경우에, 상기 애플리케이션으로부터 원격인 온라인 라이센싱 서비스로부터 신규 세션 토큰을 취득하려고 시도하도록 상기 프로세싱 시스템에게 명령하는, 예시 1-4의 컴퓨터 판독가능 저장 매체.
예시 6: 상기 프로그램 명령어는 또한, 상기 기존의 세션 토큰으로부터 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함하는 토큰으로 판정함에 응답하여, 온라인 서비스로부터 상기 신규 세션 토큰을 취득하려고 시도하도록 상기 프로세싱 시스템에게 명령하는, 예시 1-5의 컴퓨터 판독가능 저장 매체.
예시 7: 원격 데스크탑 프로토콜에 따라 다수의 원격 데스크탑 클라이언트에게 동시에 상기 애플리케이션을 제공하는 원격 데스크탑 서버를 포함하는 호스트 상에 상기 애플리케이션을 인스톨하는 것을 추가로 포함하고, 상기 호스트는 물리적 호스트 및 가상 호스트 중 적어도 하나를 포함하는, 예시 1-6의 컴퓨터 판독가능 저장 매체.
예시 8: 상기 프로그램 명령어는 또한, 상기 애플리케이션의 시작시에, 적어도 세션 모드 및 표준 모드 중 하나로 상기 애플리케이션을 기동할지의 여부를 판정하도록 상기 프로세싱 시스템에게 명령하고, 상기 프로그램 명령어는 상기 애플리케이션이 상기 세션 모드로 기동할 때에만 상기 복수의 사용자 각각에 대하여 상기 사용자-맞춤 라이센스 상태를 유지하도록 상기 프로세싱 시스템에게 명령하는, 예시 1-7의 컴퓨터 판독가능 저장 매체.
예시 9: 애플리케이션들에 대한 다중-사용자 액세스를 가능하게 하는 방법으로서: 원격 데스크탑 서버를 포함하는 서비스 플랫폼에서 인스톨된 애플리케이션과 연계된 복수의 사용자 중 각각의 사용자에 대하여, 상기 애플리케이션에 대하여 상기 사용자에 대한 사용자-맞춤 라이센스 상태를 유지하는 단계; 및 동시에 상기 애플리케이션과 연계된 복수의 사용자 각각에 대하여, 사용자-맞춤 라이센스 상태에 따라 원격 데스크탑 서버와 복수의 사용자에 대응하는 복수의 원격 데스크탑 클라이언트 사이에서 확립된 원격 세션들을 통해 사용자에게 상기 애플리케이션을 전달하는 단계를 포함하는 방법.
예시 10: 상기 애플리케이션에 대하여 상기 사용자에 대한 사용자-맞춤 라이센스 상태를 유지하는 단계는 상기 사용자에 대한 사용자-맞춤 라이센스 상태가 사용자에게 상기 애플리케이션에 대한 완전한 액세스를 허용하는 유효한 상태를 포함하는지 혹은 상기 애플리케이션에 대한 한정된 액세스를 허용하는 무효한 상태를 포함하는지의 여부를 판정하는 단계를 포함하는, 예시 9의 방법.
예시 11: 상기 사용자-맞춤 라이센스 상태에 따라 사용자에게 상기 애플리케이션을 전달하는 단계는, 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 완전한 액세스로 상기 애플리케이션을 실행하는 단계 및 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 한정된 액세스로 상기 애플리케이션을 실행하는 단계를 포함하는, 예시 9-10의 방법.
예시 12: 상기 사용자에 대한 사용자-맞춤 라이센스 상태가 유효한 상태 또는 무효한 상태를 포함하는지의 여부를 판정하는 단계는, 기존의 세션 토큰을 처리해서 상기 사용자의 사용자-맞춤 라이센스 상태가 유효한 상태 또는 무효한 상태를 포함하는지의 여부를 판정하는 단계를 포함하는, 예시 9-11의 방법.
예시 13: 상기 기존의 세션 토큰을 상기 애플리케이션에 대하여 로컬로 검색하고, 상기 세션 토큰이 로컬로 탐색되지 않을 때, 상기 애플리케이션으로부터 원격인 온라인 라이센싱 서비스로부터 신규 세션 토큰을 취득하려고 시도하는 단계를 추가로 포함하는, 예시 9-12의 방법.
예시 14: 상기 기존의 세션 토큰으로부터 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함하는 토큰으로 판정함에 응답하여, 온라인 서비스로부터 상기 신규 세션 토큰을 취득하려고 시도하는 단계를 추가로 포함하는, 예시 9-13의 방법.
예시 15: 원격 데스크탑 서버가 원격 데스크탑 프로토콜에 따라 복수의 원격 데스크탑 클라이언트에게 애플리케이션을 동시에 서비스하는 단계를 추가로 포함하는, 예시 9-14의 방법.
예시 16: 원격 데스크탑 서버가 인스톨되어 있는 호스트 상에 상기 애플리케이션을 인스톨하는 단계를 추가로 포함하고, 상기 호스트는 물리적 호스트 및 가상 호스트 중 적어도 하나를 포함하는, 예시 9-15의 방법.
예시 17: 상기 애플리케이션의 시작시에, 상기 애플리케이션을 적어도 세션 모드 및 표준 모드 중 하나로 기동할지의 여부를 판정하는 단계를 추가로 포함하는, 예시 9-16의 방법.
예시 18: 사용자-맞춤 라이센스 상태를 유지하는 단계는 상기 애플리케이션이 상기 세션 모드로 기동할 때 발생하고 상기 애플리케이션이 상기 표준 모드로 기동할 때에는 발생하지 않는, 예시 9-17의 방법.
예시 19: 하나 이상의 컴퓨터 판독가능 저장 매체; 및 원격 데스크탑 서버를 통해 액세스 가능한 애플리케이션들에 대한 사용자-맞춤 라이센스 상태들을 가능하게 하기 위해, 프로세싱 시스템에 의한 실행시에, 상기 프로세싱 시스템에게 적어도, 상기 원격 데스크탑 서버 및 복수의 원격 데스크탑 클라이언트를 통해 애플리케이션과 연계된 복수의 사용자 중 각각의 사용자에 대하여, 상기 사용자에 대한 사용자-맞춤 라이센스 상태를 상기 애플리케이션에 대하여 유지하고; 또한 상기 원격 데스크탑 서버 및 복수의 원격 데스크탑 클라이언트를 통해 상기 애플리케이션과 연계된 상기 복수의 사용자 중 각각의 사용자에 대하여, 상기 사용자에 대한 사용자-맞춤 라이센스 상태에 따라 상기 애플리케이션을 전달하도록 명령하는, 하나 이상의 컴퓨터 판독가능 저장 매체에 저장된 프로그램 명령어들을 포함하는 장치.
예시 20: 상기 프로세싱 시스템을 추가로 포함하고, 상기 프로그램 명령어는 또한, 애플리케이션의 시작시에, 적어도 세션 모드 및 표준 모드 중 하나로 상기 애플리케이션을 기동할지의 여부를 판정하도록 상기 프로세싱 시스템에게 명령하고, 상기 프로그램 명령어는 상기 표준 모드일 때가 아닌 상기 세션 모드일 때 상기 사용자-맞춤 라이센스 상태를 유지하도록 상기 프로세싱 시스템에게 명령하는, 예시 19의 장치.
도면들에 제공된 기능 블록도, 동작 상황 및 시퀀스, 그리고 흐름도는 본 개시물의 신규한 양태들을 수행하기 위한 예시적인 시스템, 환경, 및 방법론을 나타내는 것이다. 한편, 설명의 간략화를 위해, 본 명세서에 포함된 방법들은 기능도, 동작 상황 또는 시퀀스, 또는 흐름도의 형태로 될 수 있으며, 일련의 동작들로서 기술될 수 있고, 일부 동작들은, 그에 따라 본 명세서에 도시 및 기술된 것과는 상이한 순서로 및/또는 다른 동작들과 함께 발생할 수 있기 때문에, 방법이 동작들의 순서에 의해 한정되지 않는다는 점이 이해 및 인식되어야 한다. 예컨대, 당업자라면, 대안으로서 방법이 상태도에서처럼 일련의 상관된 상태 또는 이벤트들로서 표현될 수 있음을 이해 및 인식할 것이다. 또한, 방법론적으로 예시된 동작이 신규한 구현예에 대하여 반드시 필요해지는 것은 아니다.
본 명세서에 포함된 설명 및 도면은 최상의 옵션을 어떻게 구성하고 사용할지를 당업자에게 교시하기 위해 특정한 구현예들을 묘사한다. 발명의 원리를 교시할 목적으로, 일부 종래의 양태가 간략화 또는 생략되어 있다. 당업자라면, 발명의 범위 내에서 이들 구현예들의 변형들을 인식할 것이다. 당업자라면, 또한 위에서 기술된 특징이 다수의 구현예를 구성하기 위해 다양하게 결합될 수 있음을 인식할 것이다. 결과적으로, 본 발명은 위에서 기술된 특정한 구현예에 한정되는 것이 아니라, 청구범위의 청구항 및 그 등가물들에 의해 한정되는 것이다.

Claims (19)

  1. 애플리케이션에 대한 사용자-맞춤 라이센스 상태(user-specific license state)를 가능하게 하는 프로그램 명령어가 저장되어 있는 하나 이상의 컴퓨터 판독가능 저장 매체로서,
    상기 프로그램 명령어는 프로세싱 시스템에 의해 실행될 때 상기 프로세싱 시스템으로 하여금 적어도,
    애플리케이션에 대한 라이센싱을 활성화하는 모드가 적어도 세션 모드 및 표준 모드 중 어느 모드인지를 식별하게 하고,
    상기 세션 모드에 있을 때, 원격 세션을 통해 동시에 상기 애플리케이션과 연계된 복수의 사용자 각각에 대한 사용자-맞춤 라이센스 상태를 유지하고, 상기 사용자-맞춤 라이센스 상태에 따라 상기 복수의 사용자 각각에 대해 상기 애플리케이션을 전달하게 하며,
    상기 표준 모드에 있을 때, 단일의 라이센스 상태를 유지하고, 상기 단일의 라이센스 상태에 따라 상기 복수의 사용자 모두에 대하여 상기 애플리케이션을 전달하게 하는
    컴퓨터 판독가능 저장 매체.
  2. 제 1 항에 있어서,
    상기 사용자-맞춤 라이센스 상태를 유지하기 위해, 상기 프로그램 명령어는 상기 프로세싱 시스템으로 하여금 또한, 상기 사용자-맞춤 라이센스 상태가, 사용자에게 상기 애플리케이션에 대한 완전한 액세스를 허용하는 유효한(valid) 상태를 포함하는지 혹은 상기 애플리케이션에 대한 액세스를 한정하는 무효한(invalid) 상태를 포함하는지의 여부를 판정하도록 하는
    컴퓨터 판독가능 저장 매체.
  3. 제 2 항에 있어서,
    상기 사용자-맞춤 라이센스 상태에 따라 상기 애플리케이션을 전달하기 위해, 상기 프로그램 명령어는 상기 프로세싱 시스템으로 하여금 또한, 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 완전한 액세스로 상기 애플리케이션을 실행하고, 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 한정된 액세스로 상기 애플리케이션을 실행하게 하는
    컴퓨터 판독가능 저장 매체.
  4. 제 3 항에 있어서,
    상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함하는지 혹은 상기 무효한 상태를 포함하는지의 여부를 판정하는 것은, 기존의 세션 토큰을 처리해서, 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함하는지 혹은 상기 무효한 상태를 포함하는지의 여부를 판정하는 것을 포함하는
    컴퓨터 판독가능 저장 매체.
  5. 제 4 항에 있어서,
    상기 프로그램 명령어는 상기 프로세싱 시스템으로 하여금 또한, 상기 기존의 세션 토큰을 상기 애플리케이션에 대하여 로컬로 검색하게 하고, 상기 세션 토큰이 로컬로 탐색되지 않는 경우에, 상기 애플리케이션으로부터 원격인 온라인 라이센싱 서비스로부터 신규 세션 토큰을 취득하는 시도를 하게 하는
    컴퓨터 판독가능 저장 매체.
  6. 제 5 항에 있어서,
    상기 프로그램 명령어는 상기 프로세싱 시스템으로 하여금 또한, 상기 기존의 세션 토큰으로부터 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함하는 것으로 판정되는 것에 응답하여, 상기 온라인 라이센싱 서비스로부터 상기 신규 세션 토큰을 취득하는 시도를 하게 하는
    컴퓨터 판독가능 저장 매체.
  7. 제 1 항에 있어서,
    상기 프로그램 명령어는 상기 프로세싱 시스템으로 하여금 또한, 상기 애플리케이션을 원격 데스크탑 프로토콜에 따라 다수의 원격 데스크탑 클라이언트에게 동시에 서비스하는 원격 데스크탑 서버를 포함하는 호스트 상에 상기 애플리케이션을 인스톨하게 하고,
    상기 호스트는 물리적 호스트 및 가상 호스트 중 적어도 하나를 포함하는
    컴퓨터 판독가능 저장 매체.
  8. 제 2 항에 있어서,
    상기 프로그램 명령어는 상기 프로세싱 시스템으로 하여금 또한, 상기 애플리케이션의 시작시에, 상기 애플리케이션을 적어도 세션 모드 및 표준 모드 중 하나로 기동할지의 여부를 판정하게 하고, 상기 애플리케이션이 상기 세션 모드로 기동할 때에만, 상기 복수의 사용자 각각에 대하여 상기 사용자-맞춤 라이센스 상태를 유지하게 하는
    컴퓨터 판독가능 저장 매체.
  9. 애플리케이션에 대한 다중-사용자 액세스를 가능하게 하는 방법으로서,
    애플리케이션을 시작할 때, 적어도 세션 모드와 표준 모드 중 하나의 모드로 상기 애플리케이션을 기동할지의 여부를 판정하는 단계와,
    상기 애플리케이션이 상기 세션 모드로 기동될 때, 원격 데스크탑 서버를 포함하는 서비스 플랫폼에서 인스톨된 애플리케이션과 연계된 복수의 사용자 중 각각의 사용자에 대해, 상기 애플리케이션에 대하여 상기 사용자에 대한 사용자-맞춤 라이센스 상태를 유지하는 단계와,
    상기 애플리케이션이 상기 세션 모드로 기동될 때, 동시에 상기 애플리케이션과 연계된 상기 복수의 사용자 각각에 대해, 상기 원격 데스크탑 서버와 복수의 원격 데스크탑 클라이언트 사이에서 확립된 원격 세션을 통해 상기 사용자에게 상기 사용자-맞춤 라이센스 상태에 따라 상기 애플리케이션을 전달하는 단계와,
    상기 애플리케이션을 상기 표준 모드로 기동할 때, 단일의 라이센스 상태를 유지하고, 상기 단일의 라이센스 상태에 따라 상기 애플리케이션을 전달하는 단계
    를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 애플리케이션에 대하여 상기 사용자에 대한 사용자-맞춤 라이센스 상태를 유지하는 단계는, 상기 사용자-맞춤 라이센스 상태가, 상기 사용자에게 상기 애플리케이션에 대한 완전한 액세스를 허용하는 유효한(valid) 상태를 포함하는지 혹은 상기 애플리케이션에 대한 액세스를 한정하는 무효한(invalid) 상태를 포함하는지의 여부를 판정하는 단계를 포함하는
    방법.
  11. 제 10 항에 있어서,
    상기 사용자에게 상기 사용자-맞춤 라이센스 상태에 따라 상기 애플리케이션을 전달하는 단계는, 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 완전한 액세스로 상기 애플리케이션을 실행하고, 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함할 때에는, 허용되는 상기 애플리케이션에 대한 한정된 액세스로 상기 애플리케이션을 실행하는 단계를 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 사용자에 대한 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함하는지 혹은 상기 무효한 상태를 포함하는지의 여부를 판정하는 것은, 기존의 세션 토큰을 처리해서, 상기 사용자의 상기 사용자-맞춤 라이센스 상태가 상기 유효한 상태를 포함하는지 혹은 상기 무효한 상태를 포함하는지의 여부를 판정하는 것을 포함하는
    방법.
  13. 제 12 항에 있어서,
    상기 기존의 세션 토큰을 상기 애플리케이션에 대하여 로컬로 검색하는 단계를 더 포함하고,
    상기 세션 토큰이 로컬로 탐색되지 않는 경우에, 상기 애플리케이션으로부터 원격인 온라인 라이센싱 서비스로부터 신규 세션 토큰을 취득하는 시도를 하는
    방법.
  14. 제 13 항에 있어서,
    상기 기존의 세션 토큰으로부터 상기 사용자-맞춤 라이센스 상태가 상기 무효한 상태를 포함하는 것으로 판정되는 것에 응답하여, 상기 온라인 라이센싱 서비스로부터 상기 신규 세션 토큰을 취득하는 시도를 하는 단계를 더 포함하는
    방법.
  15. 제 9 항에 있어서,
    상기 원격 데스크탑 서버가 원격 데스크탑 프로토콜에 따라 상기 복수의 원격 데스크탑 클라이언트에게 상기 애플리케이션을 동시에 서비스하는 단계를 더 포함하는
    방법.
  16. 제 15 항에 있어서,
    상기 원격 데스크탑 서버가 인스톨되어 있는 호스트 상에 상기 애플리케이션을 인스톨하는 단계를 더 포함하고,
    상기 호스트는 물리적 호스트 및 가상 호스트 중 적어도 하나를 포함하는
    방법.
  17. 제 9 항에 있어서,
    상기 사용자-맞춤 라이센스 상태를 유지하는 단계는, 상기 애플리케이션이 상기 표준 모드로 기동할 때에는 발생하지 않는
    방법.
  18. 장치로서,
    하나 이상의 컴퓨터 판독가능 저장 매체와,
    상기 하나 이상의 컴퓨터 판독가능 저장 매체에 저장되어서 원격 데스크탑 서버를 통해 액세스 가능한 애플리케이션에 대한 사용자-맞춤 라이센스 상태를 가능하게 하는 프로그램 명령어
    를 포함하고,
    상기 프로그램 명령어는, 프로세싱 시스템에 의한 실행시에, 상기 프로세싱 시스템에게 적어도,
    애플리케이션을 시작할 때, 적어도 세션 모드와 표준 모드 중 하나의 모드로 상기 애플리케이션을 기동할지의 여부를 판정하게 하고,
    상기 애플리케이션이 상기 세션 모드로 기동될 때, 애플리케이션과 연계된 복수의 사용자 중 각각의 사용자에 대해, 상기 원격 데스크탑 서버와 복수의 원격 데스크탑 클라이언트를 통해 상기 애플리케이션에 대하여 상기 사용자에 대한 사용자-맞춤 라이센스 상태를 유지하게 하며,
    상기 애플리케이션이 상기 세션 모드로 기동될 때, 상기 원격 데스크탑 서버 및 상기 복수의 원격 데스크탑 클라이언트를 통해 상기 애플리케이션과 연계된 상기 복수의 사용자 중 각각의 사용자에 대하여, 상기 사용자에 대한 상기 사용자-맞춤 라이센스 상태에 따라 상기 애플리케이션을 활성화하게 하고,
    상기 애플리케이션이 상기 표준 모드로 기동될 때, 단일의 라이센스 상태를 유지하고, 상기 단일의 라이센스 상태에 따라 상기 애플리케이션을 전달하게 하는
    장치.
  19. 제 18 항에 있어서,
    상기 프로그램 명령어는, 상기 프로세싱 시스템에게 또한,
    상기 표준 모드에 있을 때 상기 사용자-맞춤 라이센스 상태를 유지하지 않게 하는
    장치.
KR1020167027827A 2014-04-07 2015-04-01 원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법 KR102286989B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461976259P 2014-04-07 2014-04-07
US61/976,259 2014-04-07
US14/482,769 US9507921B2 (en) 2014-04-07 2014-09-10 User-specific application activation for remote sessions
US14/482,769 2014-09-10
PCT/US2015/023751 WO2015157044A1 (en) 2014-04-07 2015-04-01 User-specific application activation for remote sessions

Publications (2)

Publication Number Publication Date
KR20160140708A KR20160140708A (ko) 2016-12-07
KR102286989B1 true KR102286989B1 (ko) 2021-08-05

Family

ID=54209998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167027827A KR102286989B1 (ko) 2014-04-07 2015-04-01 원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법

Country Status (6)

Country Link
US (2) US9507921B2 (ko)
EP (1) EP3129911B1 (ko)
KR (1) KR102286989B1 (ko)
CN (2) CN106164917B (ko)
TW (1) TW201543249A (ko)
WO (1) WO2015157044A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507921B2 (en) * 2014-04-07 2016-11-29 Microsoft Technology Licensing, Llc User-specific application activation for remote sessions
US20170269916A1 (en) * 2016-03-21 2017-09-21 Microsoft Technology Licensing, Llc Selective Application Installation Or Application Running Without Installation
US20190050551A1 (en) * 2017-08-09 2019-02-14 Facebook, Inc. Systems and methods for authenticating users
US10542072B1 (en) * 2017-10-04 2020-01-21 Parallels International Gmbh Utilities toolbox for remote session and client architecture
TWI684112B (zh) * 2017-10-13 2020-02-01 遊戲橘子數位科技股份有限公司 依據事件於期間內執行特定功能之授權方法
CN111192491A (zh) * 2018-11-15 2020-05-22 英业达科技有限公司 基于广域网络的课堂互动管理系统及其方法
KR102341393B1 (ko) 2019-12-16 2021-12-20 주식회사 엔씨소프트 온라인 서비스 접속 제어 장치 및 방법
US11620363B1 (en) 2021-03-15 2023-04-04 SHAYRE, Inc. Systems and methods for authentication and authorization for software license management
US11632362B1 (en) 2021-04-14 2023-04-18 SHAYRE, Inc. Systems and methods for using JWTs for information security
US11621830B1 (en) 2021-06-28 2023-04-04 SHAYRE, Inc. Systems and methods for facilitating asynchronous secured point-to-point communications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079393A1 (en) 2010-09-29 2012-03-29 Microsoft Corporation Adaptable License Platform for Remote Sessions

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3688356B2 (ja) * 1995-08-31 2005-08-24 富士通株式会社 ライセンシー通知システム
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US6049789A (en) * 1998-06-24 2000-04-11 Mentor Graphics Corporation Software pay per use licensing system
US6169976B1 (en) * 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
JP3471654B2 (ja) * 1999-04-06 2003-12-02 富士通株式会社 ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法
US7353541B1 (en) * 1999-09-07 2008-04-01 Sony Corporation Systems and methods for content distribution using one or more distribution keys
US7213054B2 (en) * 1999-12-15 2007-05-01 Microsoft Corporation Methods and apparatuses for handling single-user applications in multi-user computing environments
JP4120125B2 (ja) * 2000-02-01 2008-07-16 富士ゼロックス株式会社 利用許可証発行装置および方法
US7099849B1 (en) * 2000-12-28 2006-08-29 Rightsline, Inc. Integrated media management and rights distribution apparatus
CN1324484C (zh) * 2001-03-15 2007-07-04 三洋电机株式会社 可复原只容许唯一存在的专用数据的数据记录装置
AU2002249576A1 (en) * 2001-04-19 2002-11-05 Matsushita Electric Industrial Co., Ltd. License management system, license management device, relay device and terminal device
US7249029B2 (en) * 2001-05-16 2007-07-24 The Mechanical Copyright Protection Society Limited Method of using a computerised administration system to administer licensing of use of copyright material
EP1407341B1 (en) * 2001-07-17 2016-08-31 Panasonic Intellectual Property Corporation of America Content usage device and network system, and license information acquisition method
US7254831B2 (en) * 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US7089594B2 (en) * 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
JP4218451B2 (ja) * 2003-08-05 2009-02-04 株式会社日立製作所 ライセンス管理システム、サーバ装置および端末装置
US8386390B2 (en) * 2004-03-29 2013-02-26 Panasonic Corporation Right management device, terminal device, and right management system
US7877744B2 (en) * 2004-11-05 2011-01-25 Qualcomm Incorporated Method, software and apparatus for activating resident applications
US20060287959A1 (en) 2005-06-17 2006-12-21 Macrovision Corporation Software license manager employing license proofs for remote execution of software functions
US10339276B2 (en) 2006-07-24 2019-07-02 Nokia Technologies Oy Method, apparatus and computer program product for continuously providing a license to a network element via a remote connection
US8474027B2 (en) 2006-09-29 2013-06-25 Microsoft Corporation Remote management of resource license
US8782637B2 (en) 2007-11-03 2014-07-15 ATM Shafiqul Khalid Mini-cloud system for enabling user subscription to cloud service in residential environment
US8661524B2 (en) * 2007-12-14 2014-02-25 Novell, Inc. Selective desktop control of virtual private networks (VPN's) in a multiuser environment
US8301879B2 (en) * 2009-01-26 2012-10-30 Microsoft Corporation Conversation rights management
WO2010128356A2 (en) * 2009-05-04 2010-11-11 Pui Wa Billy Au Remote user authentication and apparatus verification
US20110252153A1 (en) * 2010-04-09 2011-10-13 Zvi Vlodavsky Securely providing session key information for user consent to remote management of a computer device
CN105760716B (zh) * 2010-05-19 2018-12-14 谷歌有限责任公司 电子证书管理
US8954554B2 (en) * 2010-07-09 2015-02-10 General Electric Company Systems and methods for transferring remote context
CN102333065A (zh) * 2010-07-12 2012-01-25 戴元顺 云交互协议设计
US8607054B2 (en) * 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
US8832686B2 (en) 2010-10-29 2014-09-09 Microsoft Corporation Inherited product activation for virtual machines
US20120255033A1 (en) * 2011-03-28 2012-10-04 Microsoft Corporation Licensing software on a single-user basis
US8635673B2 (en) * 2011-06-17 2014-01-21 International Business Machines Corporation Dynamic application adaptation in software-as-a-service platform
US8589481B2 (en) * 2011-09-14 2013-11-19 Microsoft Corporation Multi tenant access to applications
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
CN102647456A (zh) * 2012-03-23 2012-08-22 普华基础软件股份有限公司 构建桌面云的方法及系统
US9507921B2 (en) * 2014-04-07 2016-11-29 Microsoft Technology Licensing, Llc User-specific application activation for remote sessions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079393A1 (en) 2010-09-29 2012-03-29 Microsoft Corporation Adaptable License Platform for Remote Sessions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Microsoft ‘November 2013 This Brief applies to all volume licensing programs’ pp.1-9. 2013.11.01.

Also Published As

Publication number Publication date
CN106164917A (zh) 2016-11-23
US9507921B2 (en) 2016-11-29
US10467385B2 (en) 2019-11-05
US20170039355A1 (en) 2017-02-09
CN110096847B (zh) 2023-08-18
EP3129911B1 (en) 2019-07-03
EP3129911A1 (en) 2017-02-15
CN110096847A (zh) 2019-08-06
WO2015157044A1 (en) 2015-10-15
KR20160140708A (ko) 2016-12-07
CN106164917B (zh) 2019-01-29
US20150286806A1 (en) 2015-10-08
TW201543249A (zh) 2015-11-16

Similar Documents

Publication Publication Date Title
KR102286989B1 (ko) 원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법
US10277409B2 (en) Authenticating mobile applications using policy files
CN108370374B (zh) 证书更新和部署
EP3625721B1 (en) Impersonating target account via account redirection
EP3155516B1 (en) Dynamic pacing for service upgrades
US20140298441A1 (en) Authentication method, authentication system, and service delivery server
EP3915026B1 (en) Browser login sessions via non-extractable asymmetric keys
US20150244704A1 (en) Techniques to authenticate user requests involving multiple applications
JP6765537B2 (ja) 資格情報の分散型検証
CN112583866A (zh) 智能家电设备的共享方法、装置、电子设备和介质
JP5838248B1 (ja) ユーザに所定のサービスを提供するシステム及び方法
US10866711B1 (en) Providing account information to applications
CN113973004B (zh) 经由设备通知提供多因素认证凭证
US20140019516A1 (en) Hybrid application environments
US9565174B2 (en) Information processing server system, control method, and program
KR102428409B1 (ko) 사용자 인증 장치, 보안 코드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램
US20230353557A1 (en) Authentication orchestration across remote appliances
Tsai Desktop Sharing Portal
JP2016072989A (ja) ユーザに所定のサービスを提供するシステム及び方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant