CN106164917B - 用于远程会话的用户特定应用激活 - Google Patents
用于远程会话的用户特定应用激活 Download PDFInfo
- Publication number
- CN106164917B CN106164917B CN201580018306.2A CN201580018306A CN106164917B CN 106164917 B CN106164917 B CN 106164917B CN 201580018306 A CN201580018306 A CN 201580018306A CN 106164917 B CN106164917 B CN 106164917B
- Authority
- CN
- China
- Prior art keywords
- user
- application
- license status
- processing system
- program instruction
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 46
- 230000004913 activation Effects 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 38
- 230000002708 enhancing effect Effects 0.000 abstract description 4
- 238000001994 activation Methods 0.000 description 35
- 238000004891 communication Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000003213 activating effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000002045 lasting effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- MKYBYDHXWVHEJW-UHFFFAOYSA-N N-[1-oxo-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propan-2-yl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(C(C)NC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 MKYBYDHXWVHEJW-UHFFFAOYSA-N 0.000 description 1
- NIPNSKYNPDTRPC-UHFFFAOYSA-N N-[2-oxo-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 NIPNSKYNPDTRPC-UHFFFAOYSA-N 0.000 description 1
- AFCARXCZXQIEQB-UHFFFAOYSA-N N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CCNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 AFCARXCZXQIEQB-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000003570 air Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1011—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1014—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1077—Recurrent authorisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/184—Intellectual property management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本文公开了在多用户计算环境中增强许可的***、方法和软件。在实现方式中,对于参与安装到多用户计算环境中的应用的多个用户中的每个用户,针对关于应用的用户保持用户特定许可状态。另外,对于参与安装到多用户计算环境中的应用的多个用户中的每个,根据针对用户的用户特定许可状态来传送应用。
Description
背景技术
存在各种计算环境,多个用户借助各种计算环境来共享同时对软件应用的使用或访问。远程桌面服务器(有时称为终端服务器)是将软件应用的同一实例同时服务于多个用户的解决方案的一个例子。在这种环境中管理许可和其他权利很难,因为每个用户体验来自于存储在盘上的应用的同一实例。因此,如果应用被许可给一个用户,则通过远程桌面服务器参与该应用的全部用户都将具有相同的访问。
该情形造成了许多实体希望管理他们人员的软件使用的混乱。如果在给定机器上全部用户相对于安装在该机器上的特定软件应用被相同地许可,则不存在问题。然而,出现了多个用户相对于软件应用被不同地许可(或者根本不被许可)的情形。如果那些用户中的两个或更多个用户同时登录远程桌面服务器,则其中至少一个能够使用他们未被正确许可的软件应用。
不仅仅是远程桌面服务器,相对于任何计算机以及安装到该计算机上的软件都会存在类似的情况。许多消费设备允许创建多个用户简档,但是对于安装在机器上的给定应用的许可与仅一个单人相关联。当应用被许可给利用不同的用户简档安装应用的另一人时,软件销售商通常默许一个人(在一个用户简档下)对软件的非许可使用。该情形从软件销售商的视角看是有问题的,但是对于该问题会迅速成规模的组织而言程度大不相同。
在公司或组织设置中的补救包含了确保登录到给定远程桌面服务器的任何用户均相对于安装在底层机器上的应用享有相同的权利。然而,该解决方案很难实现,并且甚至可能使得使用缩放技术的目的落空。
发明内容
本文提供了在多用户环境中增强对软件应用的许可的***、方法和软件。安装在物理或虚拟机上的应用能够根据各种许可状态而传送给用户。每个用户可按特定于该用户的许可状态来体验应用。在一些情况下,通过远程桌面客户端和服务器配置来访问该应用。
在一种实现方式中,对于参与安装在包括远程桌面服务器的服务平台中的应用的多个用户中的每个用户,关于该应用保持针对该用户的用户特定许可状态。另外,对于同时参与该应用的多个用户中的每一个用户,经由在远程桌面服务器与对应于多个用户的多个远程桌面客户端之间建立的远程会话,根据针对用户的用户特定许可状态来传送应用。
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。可以理解的是,该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
参考以下附图能够更好的理解本公开的多个方面。虽然结合这些附图描述了多个实现方式,但是本公开不限于本文公开的实现方式。相反,意图是涵盖全部的替代方案、修改和等同内容。
图1示出了在实现方式中的激活架构。
图2示出了在实现方式中的激活过程。
图3示出了在实现方式中的激活架构。
图4示出了在实现方式中的激活过程。
图5示出了在实现方式中的操作序列。
图6示出了在实现方式中的激活架构。
图7示出了在实现方式中的操作序列。
图8示出了适合实现本文结合图1-7所公开以及在下面的具体实施方式中所论述的应用、服务、过程和操作方案中的任一个的计算环境。
具体实施方式
本文公开的实现方式使得能够实现在多用户方案中软件应用的增强许可。安装到物理或虚拟机上的应用可由多个用户并且根据针对用户的各种许可而不是在全部用户的相同的许可机制下来同时访问。该应用则可根据针对该用户的许可状态来被传送给各个用户。
在远程桌面或终端服务器方案中,这允许一个用户体验针对该应用的他或她的特定许可状态而定制的应用,同时另一用户可以以不同的方式体验该应用,因为该应用对于不同的许可状态进行了不同地定制。该应用可安装到包括远程桌面服务器的主机上,该远程桌面服务器根据远程桌面协议来同时将该应用服务于多个远程桌面客户端。主机可以是物理主机、虚拟主机或其某种组合或变型例。
在另一示例中,一个用户可以享有对应用的全特征访问,而另一用户被提供有对该应用的受限特征访问。在又一示例中,一个用户可以享有对应用套件中的整个应用集合的访问,而另一用户可享有对该应用套件中的应用的受限集合的访问。
当判定针对用户的用户特定许可状态处于有效状态时,对于应用的全面访问可赋予该用户。当判定用户特定许可状态处于无效状态时,可以提供对该应用的受限访问。其他中间状态可以存在,并且其可以被认为是在本公开的范围之内。例如,许可可以按高状态、中等状态或低状态存在,并且可以关于该应用提供可访问性的对应范围。
根据用户特定许可状态来传送应用可以包括:使能或禁用在特征集合中的对应于可能的各种许可状态中的任一种的各种特征。该应用可因此以在有效许可状态的情况下授予的全访问来执行,或者以当处于无效许可时授予的受限访问来执行。
在一些实现方式中,判定用户特定许可状态是否包括有效状态、无效状态还是某其他状态可以包括处理现有会话标记。现有标记可以在本地关于该应用被找到,在该情况下,该现有标记可被处理以判定其有效性。当会话标记没有在本地找到时,应用或其他资源可以试图从位于应用远程的在线许可服务来获得新会话标记。当现有标记在本地被找到并且其状态无效时,应用还可以试图从在线许可服务来取回新标记。
在另外的实现方式中,当启动时,应用判定是否在至少会话模式和标准模式中的一种下运行应用。当应用处于会话模式下时,保持针对用户的用户特定许可状态会发生,而当处于会话模式下时不发生。
图1示出了在实现方式中的激活架构100。激活架构100包括服务平台101,其托管应用103。应用103是能够在多个用户之间共享的任何应用的示例。在该图示中,应用平台111,经由客户端应用113和用户接口115来为用户112提供对应用103的实例的访问。应用平台121,经由客户端应用123和用户接口125,为用户122提供对应用103的另一实例的访问。可以意识到,除了本文所述的那些之外的其他元件可包含在激活架构100中。
服务平台101代表了能够托管应用103的全部或部分并且实现过程200的全部或部分的任何物理或虚拟计算***、设备或其集合。服务平台101的示例包括但不限于服务器计算机、web服务器、应用服务器、机架服务器、刀片服务器、虚拟机服务器或塔式服务器,以及任何其他类型的计算***,其中图8所示的计算***801代表了它们。在一些方案中,服务平台101可以实现于数据中心、虚拟数据中心或某其他适合的设施中。
应用103代表了能够实现激活过程200的任何软件应用、模块、组件或其集合。示例包括但不限于文字处理应用、电子表格应用、演示应用、web浏览器、电子邮件应用、博客和微博应用、社交网络应用、电子商务应用以及游戏应用,以及任何其他类型的适合的应用。
应用平台111和121各自代表了任何能够托管客户端应用的物理或虚拟计算***、设备或其集合。示例包括但不限于智能电话、膝上型计算机、平板式计算机、桌面式计算机、混合计算机、游戏机、智能电视、娱乐设备、因特网应用和虚拟机,以及其任何变型或组合,图8所示的计算***801代表了它们。
在操作中,过程200由服务平台101采用来管理与用户112和用户122相关联的许可约束。过程200相对于图2进行更详细地图示。过程200可以是独立的应用或程序模块。然而,过程200还可以在一些实现方式中与应用103集成,或者与其他应用集成。
参考图2,过程200保持针对应用103或者任何可与其相关联的安装的应用的用户特定许可状态(步骤201)。当用户试图在远程计算会话的上下文内启动应用时,过程200识别针对该用户的以及针对所启动的应用的许可状态(步骤203)。过程200随后根据针对该用户的用户特定许可状态来传送应用(步骤205)。
通过该方式,在多用户环境的上下文中提供的针对应用的许可能够应用于每用户基础上。例如,用户112可被允许访问应用103,而用户122可被拒绝访问,但是服务平台101可以托管两个用户的远程计算会话。在另一示例中,用户112可以享有相对于用户122而言对应用103的更高级的访问。
图3示出了在实现方式中的激活架构300。激活架构300包括服务平台301、应用平台311和应用平台321。远程桌面服务器303安装到服务平台301上,如基础应用305一样。远程桌面服务器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的示例包括但不限于,服务器计算机、web服务器、应用服务器、机架服务器、刀片服务器、虚拟机服务器、或塔式服务器,以及任何其他类型的计算***,图8所示的计算***801代表了它们。在一些方案中,服务平台301可以实现于数据中心、虚拟数据中心或某其他适合的设施中。
基础应用305代表了任何能够实现激活过程400的软件应用、模块、组件或其集合。示例包括但不限于,文字处理应用、电子表格应用、演示应用、web浏览器、电子邮件应用、博客和微博应用、社交网络应用、电子商务应用以及游戏应用,以及任何其他类型的适合的应用。
应用平台311和321各自代表了任何能够托管远程桌面客户端的物理或虚拟计算***、设备、或其集合。示例包括但不限于,智能电话、膝上型计算机、平板式计算机、桌面式计算机、混合计算机、游戏机、智能电视、娱乐设备、因特网应用和虚拟机,以及其任何变型或组合,图8所示的计算***801代表了它们。
在操作中,远程桌面客户端313建立与远程桌面服务器303的远程会话。安装到服务平台301上的应用可通过远程会话来访问。在该示例中,基础应用305的实例在远程会话期间例示于服务平台301上。当例如用户312点击或其他方式选择启动基础应用305的用户接口315中的图标时,基础应用305的该实例可以被开启。在该示例中,应用实例307代表了所启动的基础应用305的实例。
当开启时,应用实例307采用激活过程400来识别特定于用户312的许可状态。应用实例307则可以根据针对用户312确定的用户特定许可状态而被配置并且通过与远程桌面客户端313的远程会话传送。
在用户312参与应用实例307的同时,用户322可以点击或以其他方式选择启动基础应用305的用户接口325上的图标。应用实例309被相应地启动。当开启时,应用实例309采用激活过程400来识别特定于用户322的许可状态。应用实例307则可以根据针对用户322确定的用户特定许可状态来被配置并且通过在与远程桌面客户端323的远程会话传送。
为了在图3中示范性的目的,假设针对用户312的许可状态不同于针对用户322的许可状态。特别地,以受限的访问传送应用实例308,而以授予的全访问传送应用实例309。该差别是由应用实例307和用户接口315以及应用实例309和用户接口325的不同的填充方式来表示的。
图4详细地示出了激活过程400。激活过程400代表可由基础应用305的实例采用而在多用户操作的上下文中提供用户特定许可的任何过程。下面的论述对图4所示的步骤做了附带参考,但是可以意识到,除了本文所述的那些之外的其他步骤是可能的。
在操作中,从基础应用启动应用实例。在开启时,应用判定是否在会话模式或标准模式下运行,或者可能在某其他模式下运行(步骤401)。当在标准模式下开启时,经由与对应用的多用户访问无关的标准激活流程来实现许可激活(步骤402)。例如,产品密钥或服务签名可用来激活应用。在标准流程中,单一许可简档可应用于基础应用的任何实例,即使各个用户可能具有不同的访问。
在会话模式下,针对应用实例的许可是以根据针对特定用户的许可状态来传送应用实例的方式来激活的。另外,会话模式允许同一基础应用的其他实例同时开启并且执行,但是是在针对不同用户的不同的许可状态下。
当在会话模式下进行时,应用实例提示用户对应用或相关联的应用服务进行签名(步骤403)。用户可以提供他或她的登录证书,诸如用来确认用户身份的用户名和密码。在一些情况下,用户可在本地进行校验,但是在其他情况下,可以利用许可服务310来辅助或处置签名。如果签名不成功,则应用实例可以关闭,消息可以被呈现,或者可发生指示试图签名未成功的某其他事件。签名步骤无需在每当应用开启时都发生,但是可以在每当应用开启时发生。在一些方案中,签名步骤可以经常发生,诸如当时间量到期时,或者在某开启次数之后,等等。
在签名成功的情形下,应用实例接着在本地检查会话标记(步骤405)。现有标记可以与先前的会话或进行中的会话相关联地存储在本地。如果现有标记没有在本地找到,则从许可服务310获得新的会话标记。
会话标记随后被处理以确定其有效性(步骤407)。现有标记在一些情况下仍会有效,但是在其他情况下现有标记会到期或者由于某其他原因变得无效。当发现现有标记无效时,则从许可服务410请求新的会话标记。随后可以针对其有效性分析新的标记。
当发现会话标记有效时,其被存储在本地(步骤409)。在本地存储会话标记将其预留以便应用实例的后来的开启。如所提到的,在本地存储的会话标记最终会到期或因其他原因变得无效,强制应用实例从许可服务310获得新标记。
在该示例中,有效的新的或现有会话标记表明,用户对应用实例具有全面访问,而无效的会话标记意味着用户被给予了对该应用实例的受限访问。这自身可以表明应用的哪些特征针对用户进行解锁以便享有,应用套件中的哪些应用可供用户使用,或者通过许多其他方式。应用实例因此根据针对用户的用户特定许可状态来执行。一些用户可以享有全特征访问,而其他用户可以享有对应用特征的受限集合的访问。
在其他示例中,会话标记可以具有除了上述的有效状态和无效状态之外的可能的状态或者除去上述的有效状态和无效状态之外的可能的状态。例如,会话标记可以具有三种可能的状态:有效、中间和无效。有效状态可以授予用户对应用的全面访问,而中间状态可以授予用户有中间访问。无效状态可以限制用户访问甚至比中间状态更少的特征。许可状态的其他变型和组合是可能的并且可被认为在本公开的范围内。
图5示出了代表了当应用实例309采用激活过程400时可能发生的示范性的方案的操作序列500。在操作中,远程桌面客户端323建立与远程桌面服务器303的远程会话。基础应用305则在远程会话的上下文中启动。启动基础应用305引起在运行时环境中执行应用实例309。
应用实例309提示用户322对应用进行签名,应用服务或某其他环境或服务。用户322将他或她的证书提供给应用实例309,应用实例309随后对用户进行认证或授权或者与许可服务310协助来处理签名。
接着,应用实例309在本地搜索现有标记。但是,如果不能找到,则应用实例309从许可服务310请求新标记。现有标记在本地找到或者由许可服务310供给的新标记被处理以判定针对用户322的关于基础应用305的许可状态。在该情况下,为示范性的目的假设,用户322享有对应用的全面访问,并且相应地在全特征模式下传送该应用。
图6示出了在实现方式中的激活架构600。激活架构600包括服务平台601、应用平台611和应用平台621。远程桌面服务器603被安装到服务平台601上,如基础应用605和基础应用606一样。远程桌面服务器603能够托管与远程桌面的远程桌面会话。安装到服务平台601上的应用可通过远程桌面客户端和会话来访问。远程桌面服务器603有时可称为终端服务器。
应用平台611包括远程桌面客户端613。远程桌面客户端613起到为用户612提供到基础应用605的实例、基础应用606的实例或两者的用户接口615的作用。应用平台621还包括远程桌面客户端623。该远程桌面客户端623起到为用户622提供到基础应用605的实例、基础应用606的实例或两者的用户接口625的作用。应用实例607和应用实例609都代表了基础应用605的实例,而应用实例608代表了基础应用606的实例。
基础应用605和基础应用606代表了可以被共同许可的任意两个或更多个应用。示例包括包含了在同一许可下提供的多个应用的软件套件。应用可以由同一软件提供商开发和生产,其示例包括 以及各种产品,以及许多其他软件套件。然而,多个软件提供商可以涉及到这样的许可安排,诸如当至少一个应用由不同于至少一个其他应用的提供商的软件提供商提供时。其他许可策略是可能的,并且可以被认为在本公开的范围内。
激活架构600还包括许可服务610。许可服务代表了在服务平台601远程并且能够将许可功能提供给基础应用605和基础应用606的实例的在线许可服务。许可服务610可以成规模地操作,因为其能够针对大量的应用实例而不仅仅是应用实例607和609提供许可功能。
服务平台601代表任何能够托管远程桌面服务器603和基础应用605和606的全部或部分并且实现激活过程400的全部或部分的物理或虚拟计算***、设备或其集合。服务平台601的示例包括但不限于,服务器计算机、web服务器、应用服务器、机架服务器、刀片服务器、虚拟机服务器或塔式服务器,以及任何其他类型的计算***,其中图8所示的计算***801代表了它们。在一些方案中,服务平台601可以实现于数据中心、虚拟数据中心或某其他适合的设施中。
基础应用605和606各自代表任何能够实现激活过程400的软件应用、模块、组件或其集合。示例包括但不限于,文字处理应用、电子表格应用、演示应用、web浏览器、电子邮件应用、博客和微博应用、社交网络应用、电子商务应用以及游戏应用,以及任何其他类型的适合的应用。
应用平台611和621各自代表了任何能够托管远程桌面客户端的物理或虚拟计算***、设备或其集合。示例包括但不限于智能电话、膝上型计算机、平板式计算机、桌面式计算机、混合计算机、游戏机、智能电视、娱乐设备、因特网应用和虚拟机,以及其任何变型或组合,图8所示的计算***801代表了它们。
在操作中,远程桌面客户端613可以建立与远程桌面服务器603的远程会话。安装到服务平台601上的应用可通过远程会话来访问。在该示例中,基础应用605的实例在远程会话期间例示于服务平台601上。基础应用605的实例可以在例如用户612点击或以其他方式选择启动基础应用605的用户接口615中的图标时而开启。在该示例中,应用实例607代表了所启动的基础应用605的实例。
当启动时,应用实例607采用激活过程400来识别特定于的用户612许可状态。然后,应用实例607可以根据针对用户612确定的用户特定许可状态来进行配置并且通过与远程桌面客户端613的远程会话而被传送。
在用户612参与应用实例607的同时,用户622可以点击或以其他方式选择启动基础应用605的用户界面625中的图标。应用实例609被相应地启动。当开启时,应用实例609采用激活过程400来识别特定于用户622的许可状态。应用实例607随后可以根据针对用户622确定的用户特定许可状态被配置并且通过远程桌面客户端623的远程会话而被传送。
此外,在该示例中,基础应用606的实例在远程会话期间例示于服务平台601上。当例如用户622点击或以其他方式选择启动基础应用606的用户接口625中的图标时,可以开启基础应用606的实例。这可以发生于用户622参与应用实例609之前、期间或之后。在该示例中,应用实例609代表被启动的基础应用606的实例。
当开启时,应用实例608采用激活过程400来识别特定于用户622的许可状态。用于许可应用实例609的使用的会话标记能够被用来许可同一用户即用户622对应用实例608的使用。应用实例608随后可根据针对用户622确定的用户特定许可状态进行配置并且通过与远程桌面客户端623的远程会话而被传送。
为了示范性的目的,假设在图6中针对用户612的许可状态不同于针对用户622的许可状态。特别地,应用实例607以受限访问被传送,而应用实例609和应用实例608以被授予的全面访问被传送。该差别由针对应用实例607和用户接口615的相对于应用实例609、应用实例608和用户接口625的填充方式的不同的填充方式来表示。
图7示出了代表了当应用实例609和应用实例608采用激活过程400时可能发生的示范性的方案的操作序列700。在操作中,远程桌面客户端623建立与远程桌面服务器603的远程会话。基础应用605随后在远程会话的上下文中启动。启动基础应用605引起在运行时环境中执行应用实例609。
应用实例609提示用户622对应用、应用服务或某其他环境或服务进行签名。用户622将他或她的证书提供给应用实例609,应用实例609则能够对用户进行认证或授权或者与许可服务610协作来处理签名。
接着,应用实例609在本地搜索现有标记。现有标记可以是先前在许可用户622使用应用实例609的上下文中下载的一个标记。现有标记还可以是之前在许可用户622在较早的时间使用应用实例608的上下文中下载的。如果无法找到,则应用实例609从许可服务610请求新标记。在本地找到的现有标记或者由许可服务610供给的新标记继续以确定针对用户622的关于基础应用605的许可状态。在该情况下,为示范性的目的,假设用户622享有对应用的全面访问并且相应地在全特征模式下传送。
接着,基础应用606随后在远程会话的上下文中启动。启动基础应用606引起应用实例608在运行时环境中执行。应用实例608可以提示用户622对应用进行签名,但是如果关于应用实例609执行的签名过程能够被利用,则该步骤可跳过。用户622将他或她的证书提供给应用实例608,应用实例608则对用户进行认证或授权或者与许可服务610进行协作以处理签名。
接着,应用实例608在本地搜索现有标记。现有标记可以是先前在许可用户622使用应用实例609的上下文中下载的一个标记。现有标记还可以是之前在许可用户622在较早的时间使用应用实例608的上下文中下载的。如果无法找到,则应用实例608可以从许可服务610请求新标记。在本地找到的现有标记或者由许可服务610供给的新标记被处理以确定针对用户622的关于基础应用606的许可状态。在该情况下,为示范性的目的,假设用户622享有对应用的全面访问并且相应地在全特征模式下传送。
下面是进一步示出了各个方面和实现方式的使用情况的简要论述。在每个用户的基础上许可OfficeProPlus。在典型的信息工作者环境中,用户拥有/使用他们想要在其中使用的一个或多个桌面式PC。Office许可允许单个用户同时激活多达5个这样的设备。激活是设备广泛的,即,共享该设备的全部用户均可使用完全激活的
存在企业方案,其中单个机器由多个用户(10个,100个用户)共享。典型的示例是远程桌面服务服务器,用户连接到该远程桌面服务服务器以访问“虚拟桌面”。原激活解决方案不能用在该环境中,因为这将允许多个用户受益于单个用户的许可,从而破坏Office许可模型。
一个进步包含在用户正访问的机器上暂时许可传统桌面软件套件而不影响针对共享机器的其他用户的许可状态的概念。还可以意识到如下特定的解决方案:用户无需管理他/她所访问的机器的许可状态。反而,许可服务关注的是确保用户在终端用户许可规定的使用限制内。还可以意识到监视使用并且检测许可协议书所覆盖的那些之外的使用模式的能力。这实现了如下的方案:包括套件的多个单独的应用能够共享相同的许可。在一些方案中,应用可被允许请求许可更新,而不提示用户证书。
在至少一个操作方案中,IT管理者能够选择为桌面机器提供使能共享计算机激活(SCA)模式的OfficeProPlus,以允许多个用户共享相同的硬件并且使用他们相应的Office许可。
当用户启动应用时,其检测到其被配置为使用SCA模式。应用自动地捕获用户的Office证书(对于某些类型的证书)或者提示用户手动提供他们的证书(签名)。应用连接到Office许可服务以对用户进行认证并且校验他是否经许可以在该模式下使用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的示例包括服务器计算机、机架服务器、web服务器、云计算平台和数据中心装备,以及任何其他类型的物理或虚拟服务器机器,以及其任何变型例或组合。在一些实现方式中,可采用多个计算***的集合来实现可以托管于一个或多个数据中心、虚拟数据中心或任何其他适合的计算设施中的应用或服务的全部或部分。
计算***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并且执行软件805的微处理器以及其他电路***。处理***802可以实现在单个处理设备内,但是还可以分布于在执行程序指令时协作的多个处理设备或子***之间。处理***802的示例包括通用中央处理单元、专用处理器和逻辑器件,以及任何其他类型的处理设备、其组合或变型例。
存储***803可以包括能够由处理***802读取并且能够存储软件805的任何计算机可读存储介质。存储***803可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性的、可移除的和非可移除的介质,所述信息诸如计算机可读指令、数据结构、程序模块或其他数据。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪速存储器、虚拟存储器和非虚拟存储器、磁盒、磁带、磁盘存储或其他磁存储设备、或者任何其他适合的存储介质。在任何情况下,计算机可读存储介质都不是传播信号。
除了计算机可读存储介质之外,在一些实现方式中,存储***803还可以包括计算机可读通信介质,软件805可以在内部或外部在计算机可读通信介质上进行通信。存储***803可以实现为单个存储设备,但是还可以实现在相对于彼此共同定位或分布的多个存储设备或子***之间。存储***803可以包括能够与处理***802以及可能其他***通信的额外的元件,诸如控制器。
软件805可以以程序指令来实现,并且在其他功能中,当通过处理***802执行时,软件805可以引导处理***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执行的相关联的用户接口软件。单独地或者彼此结合以及与其他硬件和软件元件结合,用户接口软件和用户接口设备可以支持图形用户接口、自然用户接口或任何其他类型的用户接口。另外,关于用户接口做出的用户输入能够经由用户接口***809来输入。
应用平台811、应用平台821以及服务平台831和任何其他计算***之间的通信通过通信网841或其他网络并且根据各种通信协议、协议的组合或其变型例而发生。通信网841的示例包括内联网、互联网、因特网、局域网、广域网、无线网、有线网、虚拟网络、软件定义的网络、数据中心总线、计算底板或任何其他类型的网络、网络的组合、或其变型例。上述通信网和协议是公知的,无需在此冗繁论述。然而,可以使用的一些通信协议包括但不限于,因特网协议(IP、IPv4、IPv6等)、传输控制协议(TCP)和用户数据图协议(UDP),以及任何其他适合的通信协议、变型例或其组合。
在任意上述交换信息的示例中,信息的交换可以根据各种协议中的任一种来发生,各种协议包括FTP(文件传输协议)、HTTP(超文本传输协议)、REST(表征状态传输)、WebSocket、DOM(文档对象模型)、HTML(超文本标记语言)、CSS(级联式样表单)、HTML5、XML(可扩展标记语言)、JavaScript、JSON(JavaScript对象注解)和AJAX(异步JavaScript和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:示例5-17所述的方法,其中保持用户特定许可状态发生于当应用运行于会话模式下时,而不发生于当应用运行于标准模式下时。
示例19:一种装置,包括:一个或多个计算机可读存储介质;以及存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令利于实现对于能够经由远程桌面服务器访问的应用的用户特定许可状态,当通过处理***执行所述程序指令时,引导所述处理***至少:针对通过远程桌面服务器和多个远程桌面客户端参与应用的多个用户中的每个用户,保持所述用户关于所述应用的用户特定许可状态;以及针对通过所述远程桌面服务器和所述多个远程桌面客户端参与应用的多个用户中的每个,根据针对所述用户的用户特定许可状态来传送所述应用。
示例20:示例19的装置还包括处理***,其中所述程序指令进一步引导所述处理***,当开启应用时,判定是否在至少会话模式和标准模式中的一个下运行所述应用,其中当处于所述会话模式时所述程序指令引导所述处理***保持所述用户特定许可状态,而当处于所述标准模式时不保持所述用户特定许可状态。
在图中提供的功能框图、操作方案和序列以及流程图代表了用于执行公开的新颖方面的示范性的***、环境和方法。然而,为了简化说明的目的,本文包含的方法可以为功能图、操作方案或序列或流程图的形式,并且可以被描述为一系列动作,应当理解和意识到,该方法不受动作顺序限制,因为一些动作可以按照与此不同的顺序发生和/或与本文图示和描述的其他动作同时发生。例如,本领域技术人员将理解和意识到,方法可替代地表示为一系列相关的状态或事件,诸如在状态图中。而且,对于新颖的实现方式并不要求在方法中图示的全部动作。
包含在本文中的说明书和附图描绘了具体的实现方式以教导本领域技术人员如何实现和利用最佳的选择。为了教导发明原理的目的,一些常规的方面已经简化或省去。本领域技术人员将意识到落入本发明范围的来自这些实现方式的变型例。本领域技术人员还将意识到,上述的特征能够以多种方式组合而形成多个实现方式。因此,本发明不限于上述的具体实现方式,而是仅通过权利要求及其等同内容来限定。
Claims (10)
1.具有存储在其上的利于实现针对应用的用户特定许可状态的程序指令的一个或多个计算机可读存储介质,当通过处理***执行时,所述程序指令引导所述处理***至少:
识别在至少会话模式和标准模式中的哪种模式下激活对应用的许可;
当处于所述会话模式时,保持针对经由远程会话同时参与所述应用的多个用户中的每个用户的用户特定许可状态并且根据针对所述多个用户中的每个用户的所述用户特定许可状态来传送所述应用;以及
当处于所述标准模式时,保持单一许可状态并且根据针对所述多个用户中的全部用户的所述单一许可状态来传送所述应用。
2.如权利要求1所述的计算机可读存储介质,其中,为了保持所述用户特定许可状态,所述程序指令引导所述处理***判定所述用户特定许可状态包括:授权用户对所述应用的全面访问的有效状态,还是导致对所述应用的受限访问的无效状态。
3.如权利要求2所述的计算机可读存储介质,其中,为了根据所述用户特定许可状态传送所述应用,所述程序指令引导所述处理***,以当所述用户特定许可状态包括所述有效状态时所实现的对所述应用的所述全面访问来执行所述应用,并且以当所述用户特定许可状态包括所述无效状态时所实现的对所述应用的所述受限访问来执行所述应用。
4.如权利要求3所述的计算机可读存储介质,其中,为了判定所述用户特定许可状态包括所述有效状态还是所述无效状态包括:处理现有会话标记以判定所述用户特定许可状态包括所述有效状态还是所述无效状态。
5.如权利要求4所述的计算机可读存储介质,其中,所述程序指令进一步引导所述处理***关于所述应用在本地搜索所述现有会话标记,并且当所述会话标记没有在本地找到时,试图从在所述应用远程的在线许可服务获得新会话标记。
6.如权利要求5所述的计算机可读存储介质,其中,所述程序指令进一步引导所述处理***,响应于已经根据所述现有会话标记确定所述用户特定许可状态包括所述无效状态,则试图从所述在线服务获得所述新会话标记。
7.如权利要求1所述的计算机可读存储介质,进一步包括:将所述应用安装在包括远程桌面服务器的主机上,所述远程桌面服务器根据远程桌面协议来将所述应用同时服务于多个远程桌面客户端,其中,所述主机包括物理主机和虚拟主机中的至少一个。
8.如权利要求2所述的计算机可读存储介质,其中,所述程序指令进一步引导所述处理***,当开启所述应用时,判定是否在至少会话模式和标准模式中的一个模式下运行所述应用,其中,所述程序指令引导所述处理***仅当所述应用运行于所述会话模式时才保持针对所述多个用户中的每个用户的所述用户特定许可状态。
9.一种利于实现对应用的多用户访问的装置,包括:
一个或多个计算机可读存储介质;以及
存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令利于实现针对经由远程桌面服务器能够访问的应用的用户特定许可状态,当通过处理***执行时,所述程序指令引导所述处理***至少:
针对通过所述远程桌面服务器和多个远程桌面客户端参与应用的多个用户中的每个用户,保持所述用户关于所述应用的用户特定许可状态;以及
针对通过所述远程桌面服务器和所述多个远程桌面客户端参与所述应用的所述多个用户中的每个用户,根据针对所述用户的用户特定许可状态来激活所述应用。
10.如权利要求9所述的装置,还包括所述处理***,其中,所述程序指令进一步引导所述处理***,当开启应用时,判定是否在至少会话模式和标准模式中的一个模式下运行所述应用,其中,当处于所述会话模式时所述程序指令引导所述处理***保持所述用户特定许可状态,而当处于所述标准模式时不保持所述用户特定许可状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910034532.XA CN110096847B (zh) | 2014-04-07 | 2015-04-01 | 用于远程会话的用户特定应用激活 |
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 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910034532.XA Division CN110096847B (zh) | 2014-04-07 | 2015-04-01 | 用于远程会话的用户特定应用激活 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106164917A CN106164917A (zh) | 2016-11-23 |
CN106164917B true CN106164917B (zh) | 2019-01-29 |
Family
ID=54209998
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580018306.2A Active CN106164917B (zh) | 2014-04-07 | 2015-04-01 | 用于远程会话的用户特定应用激活 |
CN201910034532.XA Active CN110096847B (zh) | 2014-04-07 | 2015-04-01 | 用于远程会话的用户特定应用激活 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910034532.XA Active CN110096847B (zh) | 2014-04-07 | 2015-04-01 | 用于远程会话的用户特定应用激活 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9507921B2 (zh) |
EP (1) | EP3129911B1 (zh) |
KR (1) | KR102286989B1 (zh) |
CN (2) | CN106164917B (zh) |
TW (1) | TW201543249A (zh) |
WO (1) | WO2015157044A1 (zh) |
Families Citing this family (10)
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233486A (zh) * | 2004-11-05 | 2008-07-30 | 高通股份有限公司 | 用于激活驻留应用程序的方法、软件和设备 |
CN102647456A (zh) * | 2012-03-23 | 2012-08-22 | 普华基础软件股份有限公司 | 构建桌面云的方法及*** |
CN102855538A (zh) * | 2011-06-17 | 2013-01-02 | 国际商业机器公司 | 在软件即服务平台中用于动态应用适配的方法和*** |
Family Cites Families (35)
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 | 富士通株式会社 | ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法 |
EP1128598A4 (en) * | 1999-09-07 | 2007-06-20 | Sony Corp | SYSTEM, DEVICE, METHOD AND PROGRAM SUPPORT FOR CONTENT MANAGEMENT |
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 | 三洋电机株式会社 | 可复原只容许唯一存在的专用数据的数据记录装置 |
WO2002086685A2 (en) * | 2001-04-19 | 2002-10-31 | 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 |
WO2003009112A1 (en) * | 2001-07-17 | 2003-01-30 | Matsushita Electric Industrial Co., Ltd. | 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 | 株式会社日立製作所 | ライセンス管理システム、サーバ装置および端末装置 |
WO2005093583A1 (ja) * | 2004-03-29 | 2005-10-06 | Matsushita Electric Industrial Co., Ltd. | 権利管理装置、端末装置及び権利管理システム |
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 |
CN103038775B (zh) * | 2010-05-19 | 2016-03-02 | 谷歌公司 | 电子证书管理 |
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 | 戴元顺 | 云交互协议设计 |
US20120079393A1 (en) | 2010-09-29 | 2012-03-29 | Microsoft Corporation | Adaptable License Platform for Remote Sessions |
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 |
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 |
US9507921B2 (en) * | 2014-04-07 | 2016-11-29 | Microsoft Technology Licensing, Llc | User-specific application activation for remote sessions |
-
2014
- 2014-09-10 US US14/482,769 patent/US9507921B2/en active Active
-
2015
- 2015-03-06 TW TW104107228A patent/TW201543249A/zh unknown
- 2015-04-01 CN CN201580018306.2A patent/CN106164917B/zh active Active
- 2015-04-01 KR KR1020167027827A patent/KR102286989B1/ko active IP Right Grant
- 2015-04-01 CN CN201910034532.XA patent/CN110096847B/zh active Active
- 2015-04-01 EP EP15719899.5A patent/EP3129911B1/en active Active
- 2015-04-01 WO PCT/US2015/023751 patent/WO2015157044A1/en active Application Filing
-
2016
- 2016-10-21 US US15/331,557 patent/US10467385B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233486A (zh) * | 2004-11-05 | 2008-07-30 | 高通股份有限公司 | 用于激活驻留应用程序的方法、软件和设备 |
CN102855538A (zh) * | 2011-06-17 | 2013-01-02 | 国际商业机器公司 | 在软件即服务平台中用于动态应用适配的方法和*** |
CN102647456A (zh) * | 2012-03-23 | 2012-08-22 | 普华基础软件股份有限公司 | 构建桌面云的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
EP3129911B1 (en) | 2019-07-03 |
EP3129911A1 (en) | 2017-02-15 |
TW201543249A (zh) | 2015-11-16 |
US10467385B2 (en) | 2019-11-05 |
KR20160140708A (ko) | 2016-12-07 |
US20170039355A1 (en) | 2017-02-09 |
CN110096847B (zh) | 2023-08-18 |
US20150286806A1 (en) | 2015-10-08 |
CN106164917A (zh) | 2016-11-23 |
WO2015157044A1 (en) | 2015-10-15 |
KR102286989B1 (ko) | 2021-08-05 |
US9507921B2 (en) | 2016-11-29 |
CN110096847A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106164917B (zh) | 用于远程会话的用户特定应用激活 | |
CN105659558B (zh) | 计算机实现的方法、授权服务器以及计算机可读存储器 | |
CN104838630B (zh) | 基于策略的应用程序管理 | |
CN105659557B (zh) | 用于单点登录的基于网络的接口集成的方法和*** | |
CN102281286B (zh) | 分布式混合企业的灵活端点顺从和强认证的方法和*** | |
CN102685202B (zh) | 在操作***和应用之间共享用户id | |
CN107113326A (zh) | 基于规则的设备注册 | |
CN106716404A (zh) | 计算机子网内的代理服务器 | |
CN108293045A (zh) | 本地和远程***之间的单点登录身份管理 | |
US9526984B2 (en) | Gamification provider abstraction layer | |
CN107690792A (zh) | 未经管理的移动设备的单点登录 | |
US20160127363A1 (en) | Method and System for Verifying the Identity of a User of an Online Service | |
CN107431708A (zh) | 资源之间的会话转移 | |
CN107431630A (zh) | 高度可扩展、容错的远程访问架构和与之连接的方法 | |
CN104169935A (zh) | 信息处理装置、信息处理***、信息处理方法及程序 | |
CN105939362A (zh) | 用户账号管理方法及装置 | |
US20200302086A1 (en) | Controlling access to a secure computing resource | |
CN106465113A (zh) | 特定场所的Wi‑Fi连接通知 | |
CN108369614A (zh) | 用户认证方法及用于实现该方法的*** | |
JP2014067366A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
CN105763536B (zh) | 基于动态图形密码的网络注册方法及*** | |
CN108282768A (zh) | 蓝牙设备分享控制和请求方法及电子设备 | |
US9887872B2 (en) | Hybrid application environments including hosted applications and application servers for interacting with data in enterprise environments | |
KR20140111137A (ko) | 온라인 게임용 쿠폰을 제공하는 방법, 서버 및 시스템 | |
Stajano et al. | Bootstrapping adoption of the pico password replacement system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |