CN109074357B - 动态地管理服务的不同版本 - Google Patents
动态地管理服务的不同版本 Download PDFInfo
- Publication number
- CN109074357B CN109074357B CN201680037021.8A CN201680037021A CN109074357B CN 109074357 B CN109074357 B CN 109074357B CN 201680037021 A CN201680037021 A CN 201680037021A CN 109074357 B CN109074357 B CN 109074357B
- Authority
- CN
- China
- Prior art keywords
- management
- service
- version
- management component
- interface
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
管理门户接收指示要对服务执行管理操作的输入。管理门户动态地托管管理接口以用于对服务的不同版本执行管理操作。
Description
背景技术
计算机系统目前被广泛使用。一些计算机系统被部署在托管环境中,并且为不同租户或用户托管一个或多个服务。这种托管系统为不同用户或租户托管相同服务的不同版本并不罕见。
主机系统经常允许管理员对所托管的服务的不同版本执行管理操作。例如,管理员可能希望将一个或多个其他用户添加到服务。管理员可能希望执行管理对服务的不同版本中的一个或多个版本的访问权限和凭证的管理操作。管理员也可能希望在服务的各种不同版本之间移动租户。例如,租户可以被升级到服务的较新版本,并且然后从服务的较旧版本被移动到较新版本。
服务的每个版本在管理组件中实现公共管理应用编程接口(或API)也是常见的。通过使用这个API,管理系统可以对服务执行管理操作。然而,这样的管理组件经常与它们用来管理的服务的特定版本紧密耦合。因此,管理API的消费者无法跨服务的多个版本执行操作。
以上讨论仅针对一般的背景信息而被提供,并且不旨在用作确定所要求保护的主题的范围中的辅助。
发明内容
管理门户接收指示要对服务执行管理操作的输入。管理门户动态地托管不同的管理接口,用于对服务的不同版本执行管理操作。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用作确定所要求保护的主题的范围中的辅助。所要求保护的主题不限于解决在背景中提到的任何或全部缺点的实现。
附图说明
图1是示出服务管理架构的一个示例的框图。
图2是示出图1所示的架构在托管管理接口以用于对服务的不同版本执行管理操作中的整体操作的流程图。
图3是更详细地示出图1所示的架构在动态地托管管理接口以用于对服务的不同版本执行管理操作中的操作的流程图。
图4示出了部署在云计算架构中的图1所示的架构。
图5-7示出了能够用于访问在先前的图中示出的服务的移动设备的各种示例。
图8是能够在先前的图中示出的架构中使用的计算环境的一个示例的框图。
具体实施方式
图1是服务管理架构100的一个示例的框图。架构100说明性地包括由多个不同租户系统104、106、108和110访问的托管环境102。每个租户系统104-110说明性地生成包括用户输入机构的用户界面112、114、116和118,用户输入机构被显示用于由一个或多个租户120、122、124和126进行交互,每个租户说明性地具有用户。租户120-126分别说明性地与用户界面112-118上的用户输入机构交互,以便控制和操纵由托管环境102托管的服务。
架构100还示出了与管理员系统130交互的管理员128。系统130说明性地生成具有用于由管理员128进行交互的用户输入机构的用户界面。管理员128说明性地也与那些用户输入机构交互,以便控制和操纵托管环境102的部分。
托管环境102本身说明性地包括一个或多个服务器或处理器132、数据存储库134以及一个或多个服务136-138。租户120-122说明性地与服务136交互,而租户124-126说明性地与服务138交互。服务136包括管理功能140、服务托管功能142,并且它可以包括各种其他项目134。服务138说明性地包括管理功能146、服务托管功能148,并且它还可以包括各种其他项目150。服务托管功能142和148说明性地在运行时期间执行用于为它们对应的租户120-126托管对应服务136和138的服务托管功能。因此,托管功能142和148允许服务的租户访问该服务以使用该服务来执行运行时和其他操作。
管理功能140和146说明性地用于分别对对应的服务136和138执行管理操作。管理员128可以使用管理员系统130来与管理功能140或146交互以对对应的服务执行管理功能。管理功能可以包括例如在服务上供应一个或多个新用户,将租户从一个服务迁移到另一服务,管理服务上的访问权限和凭证,在服务上对租户进行委托和解除委托等。
在一些当前系统中,服务136-138的每个版本实现管理组件,该管理组件暴露管理应用编程接口(管理API)以用于对对应的服务执行管理操作。因此,例如,假定在图1中服务136和138是相同服务的不同版本,则服务136说明性地具有管理组件152,管理组件152暴露管理员与之交互的管理API 154,以便对服务136执行管理操作。类似地,服务138具有不同的管理组件156,管理组件156暴露管理员与之交互的管理API 158,以便对服务138执行管理操作。在这样的当前系统中,管理组件152和156紧密地耦合到它们可以管理的对应服务136-138的特定版本。因此,尽管API 154和158的面向消费者侧是相同的,但是对于相同服务的不同版本后端可能不同。它们可以执行特定于版本的操作以执行公共管理操作。这使得管理API的消费者很难跨相同服务的多个版本来执行操作。
为此,管理架构需要以某种方式将所有管理组件链接在一起,以管理服务的不同版本中的所有版本。随着版本的数目增加,这变得非常困难。而且,当添加新版本时,新的管理组件也必须被链接,从而创建了非常脆弱的系统。
因此,托管环境102包括管理门户(配置系统)160、服务版本标识系统162和管理组件库164。管理门户160本身包括管理操作调用检测器161和动态管理接口托管系统163。作为概述,当管理员128希望对服务(比如服务136)执行管理操作时,管理员系统130生成对管理门户160的调用。管理操作调用检测器161检测调用,并且动态管理接口托管系统163动态地托管在服务136中实现的服务的版本的管理接口。为此,系统163标识要对其执行管理操作的特定服务136的版本。它使用该版本来获得该服务的管理组件132(其可以通过向服务136请求其管理组件或通过从管理组件库164访问来获得)。系统163动态地托管该组件,因此管理操作能够被执行。动态地托管它意味着管理组件没有被保持在执行环境中,除非需要。例如,系统163接收调用,并且作为响应,然后创建诸如执行环境166的执行环境,并且将服务136的管理组件152加载到该执行环境中。然后它允许管理员128使用管理组件152和暴露的管理API 154对服务136执行管理操作。当管理操作完成时,管理门户160关闭或以其他方式丢弃执行环境166,并且不需要将管理组件152保持在执行环境中,直到下一次检测到对在服务136中实现的服务的特定版本执行管理操作的调用。当然,如果管理操作要对服务138执行,则服务138的该版本的管理组件156被加载到执行环境167中,并且以类似的方式,管理操作被执行并且执行环境167被丢弃。
更具体地,动态管理接口托管系统163说明性地包括服务版本标识符逻辑168、管理组件检索逻辑170、执行环境管理逻辑172、管理操作执行逻辑174,并且它可以包括其他项目176。服务版本标识系统162可以包括服务版本列表178、索引180,并且它可以包括其他项目182。管理组件库164说明性地包括用于给定服务的不同版本的管理组件184、索引186,并且它可以包括其他项目188。
图2是示出了托管环境102在对给定服务136-138执行管理操作中的总体操作的流程图。现在将结合图1和图2来描述彼此。
管理员系统130首先检测来自管理员128的管理员输入,管理员输入指示管理员128希望对服务执行一个或多个管理操作。这由图2中的框190指示。出于本讨论的目的,将假设管理员128希望对服务136执行管理操作。
由管理员128提供的输入可以标识要对其执行管理操作的特定服务实例136。这由框192指示。管理员输入也可以以其他方式被检测,并且这由框194指示。
管理员系统130然后向管理门户160指示要对经标识的服务执行管理操作。这由框196指示。它可以通过对由调用检测器161检测到的门户160进行管理调用来做到这一点。同样,特定的服务或服务实例可以在原始的管理员输入中被标识,或者它可以在随后的更详细的管理员输入中、或者自动地、或者以其他方式被标识。
作为响应,动态管理接口托管系统123动态地托管用于对经标识的服务的给定版本执行管理操作的管理接口。这由框198指示。这一直持续直到管理操作完成,此时过程结束。这由图2中的框200指示。
图3是更详细地示出架构100在动态地托管用于对经标识的服务的给定版本执行管理操作的管理接口中的操作(由图2中的框198表示)的流程图。为了图3的目的而假定,管理员系统130已经向管理门户160标识了服务实例。服务实例是要对其执行管理操作的实例。然后,服务版本标识符逻辑168标识该服务或服务实例的版本。这由图3中的框202指示。作为示例,由管理员系统130提供的服务标识符也可以标识该服务的版本。这由框204指示。在另一示例中,服务版本标识符逻辑168基于检测到的管理调用针对服务版本标识系统162中的服务版本列表178来执行查询,以便标识将要被管理的服务的版本。这由框206指示。例如,系统162可以包括在托管环境102中对服务或服务实例编索引的索引180。版本列表178可以以各种方式来获得。例如,当服务的新版本被加载到平台时,该服务的版本标识符(其可以在被加载到平台的服务二进制文件上被标记)可以被加载到列表178中,并且该服务及其服务版本可以在索引180中被标识。通过访问索引180,服务版本标识符逻辑168可以从服务版本列表来确定将要被管理的服务的特定版本。标识要管理的服务的版本也可以以其他方式执行,并且这由图3的流程图中的框208指示。
一旦服务的版本已经被标识,则管理组件检索逻辑170获取与服务的经标识的版本相对应的管理组件。这由图3中的框210指示。在一个示例中,管理门户160可能在过去尚未从特定服务实例获得该管理组件。在这种情况下,它可以向服务136请求其管理组件152。这由框212指示。然而,在这样做之前,它可以访问管理组件库164,管理组件库164能够充当用于不同版本的各种服务的先前获得的管理组件184的高速缓存。因此,管理组件检索逻辑170可以首先查询管理组件库164以确定存储在其中的管理组件184中的任何一个管理组件是否是将要被管理的服务136的特定版本的管理组件152。在这样做时,它可以访问索引186或者使用其他机制来确定管理组件184中的任一个管理组件是否对应于服务136的特定版本。从管理组件库164获得管理组件152由图3的流程中的框214指示。管理组件检索逻辑170也可以以其他方式获得服务136的特定版本的管理组件,并且这由框216指示。
如果检索到的管理组件152不在库164中,则检索逻辑170还将检索到的管理组件152存储在库164中。因此,管理组件152跨越服务边界进入门户160,门户160可以将其存储在库164中。以这种方式,下一次管理员128希望对服务136的该特定版本执行管理操作时,管理组件152将在库164中可用,并且不需要从服务136本身来请求和获得。确定管理组件152是否已经被存储在库164中并且在没有的情况下将其存储在那里由图3中的框218和220指示。
一旦已经获得管理组件152,执行环境管理逻辑172为管理组件152创建执行环境166。这由图3中的框222指示。取决于特定的托管环境102,这可以包括各种不同的步骤。基本上,逻辑172建立托管管理组件152并且通过管理组件152(例如,其配置执行脚本语言所需要的资源)来执行操作所需要的资源(存储器、虚拟机等)。
执行环境管理逻辑172然后将管理组件152加载到执行环境166中。这由框224指示。管理组件152暴露管理API 154,并且现在可以通过API 154被访问,以便对服务136的特定版本执行管理操作。
然后,管理操作执行逻辑174从管理员系统130接收输入,该输入指示要对服务136执行的特定管理操作。然后,它将它们传递到API 154,以便通过管理组件152执行那些操作。服务136中的管理功能140与管理组件152交互以对服务136执行期望的管理操作。使用管理组件152对服务执行管理操作由图3中的框226指示。
该过程继续,直到已经执行了期望的管理操作中的所有管理操作。这由框228指示。此时,执行环境管理逻辑172丢弃执行环境166,并且操作完成。这由图3中的框230指示。丢弃执行环境166可以以不同的方式完成。例如,管理组件1S2不需要被保持在执行环境166中。在执行环境166中使用的资源可以被释放用于其他用途。这只是一个示例。
因此,可以看出,本系统显著地减小了托管环境102的整体大小。具体地,它大大减少了管理门户160的占用。在现有系统中,管理门户160将需要被永久地链接到由托管环境102托管的服务的不同版本的所有各种管理组件152-156中的所有管理组件。然后管理员系统需要调用正确的API,所以API的后端可以与服务正确地交互。这很麻烦,并且使得增加新的服务甚至更加困难。相比之下,门户160动态地托管管理接口以用于对被托管在环境102中的不同服务的不同版本执行操作。因此,管理组件仅在需要时需要被加载到执行环境中,并且它们在不需要时可以被丢弃。与始终将所有管理组件保持在执行环境中而不管目前是否需要它们的现有的系统相比,以这种方式(基于需要)动态地托管管理组件显著地减少了管理架构所需要的总体资源。
另外,因为管理组件被保持在库中,所以这也减少了执行管理操作所需要的网络带宽。当要执行管理操作时,门户160不需要持续地向服务的每个版本请求其管理组件。相反,仅当该管理组件尚未被存储在库164中时,它才动态地获得服务的管理组件。如果管理组件已经被存储在库164中,则门户160从库164中检索它,而不需要与服务通信。这些项目中的所有项目都大大减少了对多个不同服务以及甚至单个服务(其中该服务的不同版本被托管)执行管理操作所需要的管理架构的大小。
本讨论已经提到了处理器和服务器。在一个实施例中,处理器和服务器包括没有单独示出的具有相关联的存储器和定时电路的计算机处理器。它们是它们所属的系统或设备的功能部分,并且由这些系统中的其他部件或项目的功能来激活,并且促进该功能。
应当注意,上面的讨论已经描述了各种不同的系统、部件和/或逻辑。应当意识到,这样的系统、部件和/或逻辑可以包括执行与这些系统、部件和/或逻辑相关联的功能的硬件项目(诸如处理器和相关联的存储器、或其他处理部件,其中一些在下面被描述)。此外,如下所述,系统、部件和/或逻辑可以包括被加载到存储器中并且随后由处理器或服务器或其他计算部件执行的软件。系统、部件和/或逻辑还可以包括硬件、软件、固件等的不同组合,其一些示例在下面描述。这些只是可以用于形成上述系统、部件和/或逻辑的不同结构的一些示例。也可以使用其他结构。
此外,已经讨论了数个用户界面显示。它们可以采用各种不同的形式,并且可以具有布置在其上的各种不同的用户可致动的输入机构。例如,用户可致动的输入机构可以是文本框、复选框、图标、链接、下拉菜单、搜索框等。它们也可以以各种不同的方式被致动。例如,它们可以使用指示和点击设备(诸如跟踪球或鼠标)来被致动。它们可以使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等来被致动。它们也可以使用虚拟键盘或其他虚拟致动器来被致动。另外,在它们被显示在其上的屏幕是触敏屏幕的情况下,它们可以使用触摸手势被致动。而且,在显示它们的设备具有语音识别部件的情况下,它们可以使用语音命令被致动。
还已经讨论了数个数据存储库。应当注意,它们可以各自被分解成多个数据存储库。所有数据存储库可以访问它们的系统本地的,所有数据存储库可以是远程的,或者一些可以是本地的而另一些是远程的。这些配置中的所有配置在本文中被设想。
而且,附图示出了具有归因于每个框的功能的数个框。应当注意,可以使用更少的框,因此功能由更少的部件执行。另外,可以使用更多的框,其中功能分布在更多的部件之间。
图4是图1所示的架构100的框图,除了其元件被布置在云计算架构500中之外。云计算提供计算、软件、数据访问和存储服务,其不要求终端用户知道递送服务的系统的物理位置或配置。在各种实施例中,云计算使用适当的协议在诸如因特网的广域网上递送服务。例如,云计算提供商通过广域网递送应用,并且它们可以通过web浏览器或任何其他计算部件来被访问。架构100的软件或部件以及对应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被整合,或者它们也可以被分散。云计算基础设施可以通过共享的数据中心来递送服务,即使它们表现为用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商来提供本文中描述的部件和功能。备选地,它们可以从传统的服务器被提供,或者它们可以直接安装在客户端设备上,或者以其他方式被提供。
描述旨在包括公有云计算和私有云计算两者。云计算(包括公共和私有)提供了基本上无缝的资源的池化,并且减少了管理和配置底层硬件基础设施的需要。
公有云由供应商管理并且通常使用相同的基础设施来支持多个消费者。而且,与私有云相反,公有云可以使得终端用户无需管理硬件。私有云可以由组织本身来管理,并且基础设施通常不与其他组织共享。该组织仍然在某种程度上保持硬件,诸如安装和维修等。
在图4所示的示例中,一些项目与图1所示的项目类似,并且它们被类似地编号。图4具体地示出了托管环境102可以位于云502中(其可以是公有的、私有的、或者部分是公有的而其他部分是私有的)。因此,租户120-126使用租户系统104-110,并且管理员128使用管理员系统130以通过云502访问那些系统。
图4还描述了云架构的另一示例。图4示出了也可以设想,架构100的一些元件被布置在云502中而其他元件没有布置在云502中。作为示例,数据存储库134可以布置在云502外部,并且通过云502来访问。在另一示例中,管理门户160或管理组件库或其他项目也可以在云502外部。不管它们位于何处,它们可以由系统104-110和130通过网络(广域网或局域网)被直接访问,它们可以由服务托管在远程站点处,或者它们可以通过云被提供作为服务或者由驻留在云中的连接服务访问。所有这些架构都在本文中被设想。
还应当注意,架构100或其部分可以布置在各种不同的设备上。这些设备中的一些设备包括服务器、台式计算机、膝上型计算机、平板计算机或其他移动设备,诸如掌上计算机、手机、智能电话、多媒体播放器、个人数字助理等。
图5是可以用作用户或客户端的手持设备16并且可以用于访问租户系统104-110、管理系统130、或托管环境102的手持或移动计算设备的一个说明性实施例的简化的框图。图6-7是手持或移动设备的示例。
图5提供了客户端设备16的部件的通用框图,客户端设备16能够运行租户104-110或系统130的部件、或者与架构100交互、或者两者兼备。在设备16中,提供允许手持设备与其他计算设备通信的通信链路13,并且在一些实施例中提供用于诸如通过扫描来自动接收信息的通道。通信链路13的示例包括红外端口、串行/USB端口、诸如以太网端口的线缆网络端口、以及允许通过一个或多个通信协议进行通信的无线网络端口,通信协议包括通用分组无线电服务(GPRS)、LTE、HSPA、HSPA+以及其他3G和4G无线电协议、lXrtt和短消息服务(这些是用于提供到网络的蜂窝接入的无线服务)、以及Wi-Fi协议和蓝牙协议(其提供到网络的本地无线连接)。
在其他示例中,应用或系统在连接到SD卡接口IS的可移除安全数字(SD)卡上被接收。SD卡接口15和通信链路13沿着总线19与处理器17(其也可以体现来自图1的处理器或服务器132)通信,总线19也连接到存储器21和输入/输出(I/O)部件23以及时钟25和定位系统27。
在一个实施例中,I/O部件23被提供以促进输入和输出操作。用于设备16的各种实施例的I/O部件23可以包括输入部件(诸如按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、近距离传感器、麦克风、倾斜传感器和重力开关)和输出部件(诸如显示设备、扬声器和/或打印机端口)。也可以使用其他I/O部件23。
时钟25说明性地包括输出时间和日期的实时时钟部件。它也可以说明性地为处理器17提供定时功能。
定位系统27说明性地包括输出设备16的当前地理位置的部件。这可以包括例如全球定位系统(GPS)接收器、LORAN系统、航位推测系统、蜂窝三角测量系统或其他定位系统。它还可以包括例如生成期望地图、导航路线和其他地理功能的地图软件或导航软件。
存储器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储库37、通信驱动器39和通信配置设置41。存储器21可以包括所有类型的有形的易失性和非易失性计算机可读的存储设备。它也可以包括计算机存储介质(如下所述)。存储器21存储计算机可读指令,这些计算机可读指令在由处理器17执行时使得处理器根据指令执行计算机实施的步骤或功能。类似地,设备16可以具有客户端系统24,客户端系统24能够运行各种服务应用或体现架构100的部分或全部。处理器17也可以由其他部件激活以促进它们的功能。
网络设置31的示例包括诸如代理信息、因特网连接信息和映射等内容。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供用于与其他计算机通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和密码等项目。
应用33可以是先前已经被存储在设备16上的应用、或者是在使用期间安装的应用,尽管这些应用也可以是操作系统29的一部分,或者也可以被托管在设备16外部。
图6示出了其中设备16是平板计算机600的一个示例。在图6中,计算机600被示出为具有用户界面显示屏幕602。屏幕602可以是触摸屏幕(因此来自用户的手指604的触摸手势可以用于与应用交互)或者从笔或手写笔接收输入的启用笔的界面。它也可以使用屏幕上的虚拟键盘。当然,也可以通过诸如例如无线链路或USB端口等合适的附接机构将其附接到键盘或其他用户输入设备。计算机600也可以说明性地接收语音输入。
图7示出了该设备可以是智能电话71。智能电话71具有显示图标或者图块或者其他用户输入机构75的触摸显示器73。机构75可以由用户使用以运行应用、拨打电话、执行数据传送操作等。一般来说,智能电话71被构建在移动操作系统上,并且提供比功能电话更先进的计算能力和连接性。
注意,其他形式的设备16是可能的。
图8是其中可以部署架构100或其部分(例如)的计算环境的一个示例。参考图8,用于实现一些实施例的示例系统包括计算机810形式的通用计算设备。计算机810的部件可以包括但不限于处理单元820(其可以包括处理器或服务器132或者在上面讨论的其他设备中的那些)、系统存储器830、以及将包括系统存储器在内的各种系统部件耦合到处理单元820的系统总线821。系统总线821可以是使用各种总线架构中的任何一种的几种类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和本地总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围组件互连(PCI)总线(但是也被称为夹层总线)。关于图1描述的存储器和程序可以部署在图8的对应部分中。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是能够由计算机810访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质不同于并且不包括调制数据信号或载波。它包括硬件存储介质,包括易失性和非易失性、可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术被实现。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者能够用于存储期望信息并且能够由计算机810访问的任何其他介质。通信介质通常在传输机构中体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“调制数据信号”表示是其特性中的一个或多个特性以将信息编码在信号中的方式被设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、RF、红外和其他无线介质的无线介质。上述的任何组合也应当被包括在计算机可读介质的范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常被存储在ROM 831中。RAM 832通常包含由处理单元820立即可访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图8示出了操作系统834、应用835、其他程序模块836和程序数据837。
计算机810还可以包括其他可移除/不可移除的易失性/非易失性计算机存储介质。仅作为示例,图8示出了从不可移除、非易失性磁介质读取或向其写入的硬盘驱动器841、以及从诸如CD ROM或其他光学介质的可移除、非易失性光盘856读取或向其写入的光盘驱动器855。可以在示例性操作环境中使用的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840的不可移除存储器接口被连接到系统总线821,并且光盘驱动器855通常通过诸如接口850的可移除存储器接口被连接到系统总线821。
备选地或附加地,本文中描述的功能可以至少部分由一个或多个硬件逻辑部件来执行。例如而非限制,能够使用的示例性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
以上讨论并且在图8中示出的驱动器及其相关联的计算机存储介质为计算机810提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图8中,例如,硬盘驱动器841被示出为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意,这些部件可以与操作系统834、应用程序835、其他程序模块836和程序数据837相同或不同。操作系统844、应用程序845、其他程序模块846和程序数据847在本文中被给予不同的标号以说明至少它们是不同的副本。
用户可以通过输入设备将命令和信息输入到计算机810中,输入设备诸如键盘862、麦克风863和定点设备861(诸如鼠标、轨迹球或触摸板)。其他输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备经常通过耦合到系统总线的用户输入接口860被连接到处理单元820,但是可以通过其他接口和总线结构来被连接,诸如并行端口、游戏端口或通用串行总线(USB)。视觉显示器891或其他类型的显示设备也经由诸如视频接口890的接口被连接到系统总线821。除了监视器之外,计算机还可以包括可以通过输出外围接口895连接的其他外围输出设备,诸如扬声器897和打印机896。
计算机810在使用到一个或多个远程计算机(诸如远程计算机880)的逻辑连接的联网环境中被操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上面关于计算机810描述的元件中的很多或全部元件。图8中描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但是也可以包括其他网络。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中被使用时,计算机810通过网络接口或适配器870被连接到LAN871。当在WAN联网环境中被使用时,计算机810通常包括调制解调器872或者用于通过WAN873(诸如因特网)建立通信的其他装置。可以是内部或外部的调制解调器872可以经由用户输入接口860或其他适当的机构被连接到系统总线821。在联网环境中,关于计算机810描绘的程序模块或其部分可以被存储在远程存储器存储设备中。作为示例而非限制,图8将远程应用程序885示出为驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
还应当注意,本文中描述的不同实施例可以以不同的方式被组合。也就是说,一个或多个实施例的部分可以与一个或多个其他实施例的部分组合。所有这些都在本文中被设想。
示例1是一种计算系统,包括:
管理配置系统,其被配置为接收用以对具有相应版本的服务执行管理操作的调用;以及
管理接口托管系统,其响应于接收到所述调用,将与所述服务的所述版本相对应的管理接口加载到执行环境中,通过所述管理接口来检测对所述服务的所述管理操作的执行,并且当所述管理操作已经被执行时丢弃所述执行环境。
示例2是根据任何或所有先前示例所述的计算系统,其中所述管理接口托管系统包括:
服务版本标识符逻辑,其标识所述服务的所述版本。
示例3是根据任何或所有先前示例所述的计算系统,并且还包括:
服务版本标识系统,其包括托管服务的可搜索的版本列表,所述服务版本标识逻辑通过访问所述服务版本标识系统中的所述版本列表来标识所述服务的所述版本。
示例4是根据任何或所有先前示例所述的计算系统,其中所述管理接口托管系统包括:
管理组件检索逻辑,其获取所述服务的经标识的版本的管理组件。
示例5是根据任何或所有先前示例所述的计算系统,并且还包括:
管理组件库,其包括针对所述服务的多个不同版本的存储的管理组件集合。
示例6是根据任何或所有先前示例所述的计算系统,其中所述管理组件检索逻辑被配置为:访问所述管理组件库以确定所述服务的所述经标识的版本的所述管理组件是否在所述管理组件库中,并且如果所述服务的所述经标识的版本的所述管理组件在所述管理组件库中,则从所述管理组件库中检索所述服务的所述经标识的版本的所述管理组件。
示例7是根据任何或所有先前示例所述的计算系统,其中所述管理组件检索逻辑被配置为:响应于确定所述服务的所述经标识的版本的所述管理组件不在所述管理组件库中,从所述服务检索所述服务的所述经标识的版本的所述管理组件并且将所述经标识的版本的所述管理组件存储在所述管理组件库中。
示例8是根据任何或所有先前示例所述的计算系统,其中所述管理接口托管系统包括:
管理操作执行逻辑,其被配置为通过由被加载到所述执行环境中的所述管理组件暴露的应用编程接口来对所述服务执行所述管理操作。
示例9是一种计算机实现的方法,包括:
接收用以对具有相应版本的服务执行管理操作的调用;
通过响应于所述调用将暴露所述服务的版本的管理接口的管理组件加载到执行环境中来动态地托管所述服务的版本的所述管理接口,并且在对所述服务执行所述管理操作之后,丢弃所述执行环境;以及
通过由所述管理组件暴露的所述管理接口来对所述服务执行所述管理操作。
示例10是根据任何或所有先前示例所述的计算机实现的方法,其中动态地托管所述管理接口包括:
响应于接收到所述调用来标识所述服务的所述版本。
示例11是根据任何或所有先前示例所述的计算机实现的方法,其中标识所述服务的版本包括:
对服务版本标识系统中的版本列表执行搜索;以及
基于所述搜索来标识所述服务的所述版本。
示例12是根据任何或所有先前示例所述的计算机实现的方法,其中动态地托管所述管理接口包括:
响应于所述调用并且基于所述服务的经标识的版本来检索所述服务的所述经标识的版本的所述管理组件。
示例13是根据任何或所有先前示例所述的计算机实现的方法,其中检索所述管理组件包括:
确定所述管理组件是否在管理组件库中,所述管理组件库包括针对所述服务的多个不同版本的存储的管理组件集合;以及
如果所述管理组件在所述管理组件库中,则从所述管理组件库检索所述管理组件。
示例14是根据任何或所有先前示例所述的计算机实现的方法,其中检索所述管理组件包括:
如果所述服务的所述经标识的版本的所述管理组件不在所述管理组件库中,则从所述服务检索所述服务的所述经标识的版本的所述管理组件;以及
将所述经标识的版本的所述管理组件存储在所述管理组件库中。
示例15是根据任何或所有先前示例所述的计算机实现的方法,其中执行所述管理操作包括:
通过由被加载到所述执行环境中的所述管理组件暴露的应用编程接口来对所述服务执行所述管理操作。
示例16是一种计算系统,包括:
管理操作调用检测器,其被配置为检测用以对服务的多个不同版本执行管理操作的调用,每个调用指示要对所述服务的版本执行的管理操作;
服务版本标识符逻辑,其被配置为标识要对其执行在检测到的所述调用中的所述管理操作的所述服务的所述版本;以及
管理接口托管系统,其动态地托管多个不同管理接口,每个管理接口对应于所述服务的不同版本,所述托管通过:响应于所述调用来将与所述服务的经标识的版本相对应的管理接口加载到执行环境中,通过所述管理接口检测对所述服务的所述管理操作的执行,并且当所述管理操作已经被执行时丢弃所述执行环境。
示例17是根据任何或所有先前示例所述的计算系统,其中所述管理接口托管系统包括:
管理组件检索逻辑,其获取所述服务的经标识的版本的管理组件,所述管理组件暴露应用编程接口作为所述管理接口。
示例18是根据任何或所有先前示例所述的计算系统,并且还包括:
管理组件库,其包括存储的管理组件集合,所述存储的管理组件中的每个管理组件对应于所述服务的不同版本。
示例19是根据任何或所有先前示例所述的计算系统,其中所述管理组件检索逻辑被配置为:访问所述管理组件库以确定所述服务的所述经标识的版本的所述管理组件是否在所述管理组件库中,并且如果所述服务的所述经标识的版本的所述管理组件在所述管理组件库中,则从所述管理组件库中检索所述服务的所述经标识的版本的所述管理组件,并且如果所述服务的所述经标识的版本的所述管理组件不在所述管理组件库中,从所述服务检索所述服务的所述经标识的版本的所述管理组件并且将所述经标识的版本的所述管理组件存储在所述管理组件库中。
示例20是根据任何或所有先前示例所述的计算系统,并且还包括:
服务版本标识系统,其包括托管服务的版本的可搜索列表,所述服务版本标识逻辑通过访问所述服务版本标识系统中的所述版本列表来标识所述服务的所述版本。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上面描述的特定特征或动作。相反,上述的特定特征和动作被公开作为实现权利要求的示例形式。
Claims (20)
1.一种计算系统,包括:
管理配置系统,其被配置为接收用以对具有特定服务版本的服务执行管理操作的调用;以及
管理接口托管系统,其被配置为:
基于所述调用,将与所述特定服务版本相对应的管理组件加载到执行环境中,所述管理组件被配置为与所述特定服务版本交接,以执行所述管理操作;
检测所述管理操作对所述特定服务版本的所述执行;以及
基于检测到所述管理操作的所述执行,丢弃所述执行环境。
2.根据权利要求1所述的计算系统,其中所述管理接口托管系统包括:
服务版本标识符逻辑,其被配置为标识所述特定服务版本。
3.根据权利要求2所述的计算系统,还包括:
服务版本标识系统,其包括托管服务的可搜索的版本列表,所述服务版本标识符逻辑被配置为通过访问所述服务版本标识系统中的所述版本列表来标识所述特定服务版本。
4.根据权利要求2所述的计算系统,其中所述管理接口托管系统包括:
管理组件检索逻辑,其被配置为获取所述特定服务版本的所述管理组件。
5.根据权利要求4所述的计算系统,还包括:
管理组件库,其包括针对所述服务的多个不同服务版本的存储的管理组件集合。
6.根据权利要求5所述的计算系统,其中所述管理组件检索逻辑被配置为:访问所述管理组件库以确定所述服务的所述特定服务版本的所述管理组件是否在所述管理组件库中,并且如果所述特定服务版本的所述管理组件在所述管理组件库中,则从所述管理组件库中检索所述特定服务版本的所述管理组件。
7.根据权利要求6所述的计算系统,其中所述管理组件检索逻辑被配置为:
响应于确定所述特定服务版本的所述管理组件不在所述管理组件库中,
从所述服务检索所述特定服务版本的所述管理组件;并且
将所述特定服务版本的所述管理组件存储在所述管理组件库中。
8.根据权利要求4所述的计算系统,其中所述管理接口托管系统包括:
管理操作执行逻辑,其被配置为通过由被加载到所述执行环境中的所述管理组件暴露的应用编程接口来对所述服务执行所述管理操作。
9.一种计算机实现的方法,包括:
接收用以对具有特定服务版本的服务执行管理操作的调用;
基于所述调用,通过将管理组件加载到执行环境中来动态地托管所述特定服务版本的管理接口,其中所述管理组件对应于所述特定服务版本并且暴露所述管理接口;
通过由所述管理组件暴露的所述管理接口来检测所述管理操作对所述特定服务版本的执行;以及
基于检测到所述管理操作的所述执行,丢弃所述执行环境。
10.根据权利要求9所述的计算机实现的方法,其中动态地托管所述管理接口包括:
响应于接收到所述调用来标识所述特定服务版本。
11.根据权利要求10所述的计算机实现的方法,其中标识所述服务的所述版本包括:
对服务版本标识系统中的版本列表执行搜索;以及
基于所述搜索来标识所述特定服务版本。
12.根据权利要求10所述的计算机实现的方法,其中动态地托管所述管理接口包括:
响应于所述调用并且基于所述特定服务版本来检索所述特定服务版本的所述管理组件。
13.根据权利要求12所述的计算机实现的方法,其中检索所述管理组件包括:
确定所述管理组件是否在管理组件库中,所述管理组件库包括针对所述服务的多个不同版本的存储的管理组件集合;以及
如果所述管理组件在所述管理组件库中,则从所述管理组件库检索所述管理组件。
14.根据权利要求13所述的计算机实现的方法,其中检索所述管理组件包括:
如果所述特定服务版本的所述管理组件不在所述管理组件库中,则从所述服务检索所述特定服务版本的所述管理组件;以及
将所述特定服务版本的所述管理组件存储在所述管理组件库中。
15.根据权利要求12所述的计算机实现的方法,其中执行所述管理操作包括:
通过由被加载到所述执行环境中的所述管理组件暴露的应用编程接口来对所述服务执行所述管理操作。
16.一种计算系统,包括:
管理操作调用检测器,其被配置为检测用以对服务的多个不同版本执行管理操作的调用,每个调用指示要对所述服务的版本执行的管理操作;
服务版本标识符逻辑,其被配置为标识要对其执行在检测到的所述调用中的所述管理操作的所述服务的所述版本;以及
管理接口托管系统,其动态地托管多个不同管理接口,每个管理接口对应于所述服务的不同版本,所述托管通过:响应于所述调用来将与所述服务的经标识的版本相对应的管理接口加载到执行环境中,通过所述管理接口检测对所述服务的所述管理操作的执行,并且当所述管理操作已经被执行时丢弃所述执行环境。
17.根据权利要求16所述的计算系统,其中所述管理接口托管系统包括:
管理组件检索逻辑,其获取所述服务的经标识的版本的管理组件,所述管理组件暴露应用编程接口作为所述管理接口。
18.根据权利要求17所述的计算系统,还包括:
管理组件库,其包括存储的管理组件集合,所述存储的管理组件中的每个管理组件对应于所述服务的不同版本。
19.根据权利要求18所述的计算系统,其中所述管理组件检索逻辑被配置为:访问所述管理组件库以确定所述服务的所述经标识的版本的所述管理组件是否在所述管理组件库中,并且如果所述服务的所述经标识的版本的所述管理组件在所述管理组件库中,则从所述管理组件库中检索所述服务的所述经标识的版本的所述管理组件,并且如果所述服务的所述经标识的版本的所述管理组件不在所述管理组件库中,从所述服务检索所述服务的所述经标识的版本的所述管理组件并且将所述经标识的版本的所述管理组件存储在所述管理组件库中。
20.根据权利要求19所述的计算系统,还包括:
服务版本标识系统,其包括托管服务的版本的可搜索列表,所述服务版本标识逻辑通过访问所述服务版本标识系统中的所述版本列表来标识所述服务的所述版本。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562183550P | 2015-06-23 | 2015-06-23 | |
US62/183,550 | 2015-06-23 | ||
US15/152,842 US10079720B2 (en) | 2015-06-23 | 2016-05-12 | Dynamically managing different versions of a service |
US15/152,842 | 2016-05-12 | ||
PCT/US2016/033714 WO2016209452A1 (en) | 2015-06-23 | 2016-05-23 | Dynamically managing different versions of a service |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074357A CN109074357A (zh) | 2018-12-21 |
CN109074357B true CN109074357B (zh) | 2022-09-23 |
Family
ID=56133041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680037021.8A Active CN109074357B (zh) | 2015-06-23 | 2016-05-23 | 动态地管理服务的不同版本 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10079720B2 (zh) |
EP (1) | EP3314408B1 (zh) |
CN (1) | CN109074357B (zh) |
WO (1) | WO2016209452A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109510898B (zh) * | 2018-12-21 | 2021-04-27 | 北京金山安全软件有限公司 | 通话界面自定义方法、装置、设备和存储介质 |
US11093263B2 (en) | 2019-04-18 | 2021-08-17 | International Business Machines Corporation | Resource management based on user interfaces |
CN113326245B (zh) * | 2020-02-28 | 2024-01-12 | 北京京东乾石科技有限公司 | 切换地图服务的方法、装置、设备和计算机可读介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127526B1 (en) | 2000-03-20 | 2006-10-24 | Nortel Networks Limited | Method and apparatus for dynamically loading and managing software services on a network device |
US6871344B2 (en) | 2000-04-24 | 2005-03-22 | Microsoft Corporation | Configurations for binding software assemblies to application programs |
US7287259B2 (en) | 2000-04-24 | 2007-10-23 | Microsoft Corporation | Isolating assembly versions for binding to application programs |
US6928637B2 (en) * | 2001-08-10 | 2005-08-09 | Wind River Systems, Inc. | Version control adapter interface to support integration of multiple vendors integrated development environments (IDEs) |
US7539985B2 (en) | 2003-02-26 | 2009-05-26 | Bea Systems, Inc. | Systems and methods for dynamic component versioning |
US7703089B2 (en) | 2005-04-29 | 2010-04-20 | Sap Ag | Compatibility framework using versioning class loaders |
CN100407650C (zh) * | 2005-11-10 | 2008-07-30 | 中国工商银行股份有限公司 | 分布式业务系统中的软件版本升级系统及其方法 |
US20080033966A1 (en) * | 2006-08-04 | 2008-02-07 | Mark Frederick Wahl | System and method for recovery detection in a distributed directory service |
US7974993B2 (en) | 2006-12-04 | 2011-07-05 | Microsoft Corporation | Application loader for support of version management |
US20160277261A9 (en) * | 2006-12-29 | 2016-09-22 | Prodea Systems, Inc. | Multi-services application gateway and system employing the same |
US8276121B2 (en) | 2007-06-19 | 2012-09-25 | Microsoft Corporation | Selection of versioned resource among multiple compatible versions |
US8695001B2 (en) | 2007-09-20 | 2014-04-08 | Microsoft Corporation | Loading services based on a request and setting permission level to enable execution of commands or services exposed based on a role of requester |
US8813104B2 (en) | 2007-12-17 | 2014-08-19 | Ca, Inc. | Accessing function from different addressing bit system |
CN101677315B (zh) * | 2008-09-16 | 2013-08-07 | 中兴通讯股份有限公司 | 一种实现动态加载c/s结构的应用系统的方法 |
US20100262632A1 (en) * | 2009-04-14 | 2010-10-14 | Microsoft Corporation | Data transfer from on-line to on-premise deployment |
US8522227B2 (en) | 2009-08-24 | 2013-08-27 | Microsoft Corporation | Runtime activation and version selection |
US8595715B2 (en) * | 2010-12-31 | 2013-11-26 | International Business Machines Corporation | Dynamic software version selection |
US9959423B2 (en) * | 2012-07-30 | 2018-05-01 | Microsoft Technology Licensing, Llc | Security and data isolation for tenants in a business data system |
US20140366045A1 (en) | 2013-06-07 | 2014-12-11 | Microsoft Corporation | Dynamic management of composable api sets |
US20150100952A1 (en) | 2013-10-09 | 2015-04-09 | Sap Ag | Runtime Version Access Infrastructure |
-
2016
- 2016-05-12 US US15/152,842 patent/US10079720B2/en active Active
- 2016-05-23 WO PCT/US2016/033714 patent/WO2016209452A1/en active Application Filing
- 2016-05-23 EP EP16729672.2A patent/EP3314408B1/en active Active
- 2016-05-23 CN CN201680037021.8A patent/CN109074357B/zh active Active
Non-Patent Citations (2)
Title |
---|
Calling Azure Service Management REST API"s from C#;Rick Rainey;《rickrainey.com》;20131017;全文 * |
Security monitor inlining and certification for multithread Java;Mads Dam;《Mathematical Structures in Computer Science》;20140331;第25卷(第3期);第528-565页 * |
Also Published As
Publication number | Publication date |
---|---|
US10079720B2 (en) | 2018-09-18 |
EP3314408B1 (en) | 2021-10-13 |
US20160380808A1 (en) | 2016-12-29 |
CN109074357A (zh) | 2018-12-21 |
EP3314408A1 (en) | 2018-05-02 |
WO2016209452A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10379818B2 (en) | Multi-tenant, tenant-specific applications | |
CN108431763B (zh) | 通过网络服务管理多个云存储装置 | |
US9633055B2 (en) | Database migration | |
KR102354138B1 (ko) | 서버 인증에 계정 정보를 맵핑하는 기법 | |
US20150227630A1 (en) | Caching queries for dynamic webpages | |
CN109074357B (zh) | 动态地管理服务的不同版本 | |
US10229124B2 (en) | Re-directing tenants during a data move | |
US10678762B2 (en) | Isolating data to be moved across boundaries | |
US10261943B2 (en) | Securely moving data across boundaries | |
US9804749B2 (en) | Context aware commands | |
US20150149456A1 (en) | Sharing document links from multiple data providers | |
US10104117B2 (en) | Identifying user behavior in a distributed computing system | |
US11122104B2 (en) | Surfacing sharing attributes of a link proximate a browser address bar | |
US10275775B2 (en) | Context generation for routing on-demand services | |
US10409453B2 (en) | Group selection initiated from a single item | |
US20180189290A1 (en) | Content object indexing and resolution system | |
US9753788B2 (en) | Extensibility of engines in computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |