CN101657804A - 可扩展和可编程多承租人服务体系结构 - Google Patents

可扩展和可编程多承租人服务体系结构 Download PDF

Info

Publication number
CN101657804A
CN101657804A CN200880011804A CN200880011804A CN101657804A CN 101657804 A CN101657804 A CN 101657804A CN 200880011804 A CN200880011804 A CN 200880011804A CN 200880011804 A CN200880011804 A CN 200880011804A CN 101657804 A CN101657804 A CN 101657804A
Authority
CN
China
Prior art keywords
service
client computer
organization service
organization
visit
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.)
Granted
Application number
CN200880011804A
Other languages
English (en)
Other versions
CN101657804B (zh
Inventor
A·简迪塔卡恩
R·A·多斯桑托斯
A·加内-希尚内
M·J·奥特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101657804A publication Critical patent/CN101657804A/zh
Application granted granted Critical
Publication of CN101657804B publication Critical patent/CN101657804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Abstract

提供了用于主存多个组织的可扩展、多承租人软件即服务商业应用程序平台。组织服务由被组装在可伸缩组中的、具有专用数据存储的虚拟或物理服务器来提供。可伸缩组的组件之间的分布式交互可以允许可扩展性和可靠性,同时向客户机提供组织服务的位置的改变以供客户机继续无缝地访问服务。还可以将用于访问与其它组织隔离开的每一组织的数据和应用程序的可定制且动态API以及可插入第三方认证服务集成到该平台中。

Description

可扩展和可编程多承租人服务体系结构
背景
商业工作致力于快速地响应顾客需求、使产品更快地到达市场、增加总体盈利、以及持续地在竞争中胜出。灵活性,即应对这些常见的市场挑战的能力,依赖于固定商业应用程序技术平台。为达成商业灵活性,需要为应用程序集成设计的多面的、智能的软件。
商业应用程序平台通常是单承租人的,意味着它们可以仅为单个组织主存应用程序且所有平台资源仅专用于此组织。这种平台通常由客户主存并被安装和部署于他们的公司房屋内。用于部署和维护这种平台的成本可能是高昂的且投资回报并非最佳。
另一方面,设计和管理多承租人系统有它自己的挑战。在实际多承租人系统中,每一客户机可以具有不同的用于连接到它们的组织的方案。此外,每一客户机可以连接到多个组织,从而使得对这种系统的管理从安全、流量管理、可靠性、以及可扩展性方面而言变为非常复杂的任务。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例针对提供一种用于从单个平台服务多个组织的可扩展、多承租人软件即服务(software-as-a-service)模型。根据各实施例的一种平台可以包括用于提供与该平台主存的组织服务的位置和配置相关联的客户机信息的发现服务。随即使客户机能够访问该组织服务,该组织服务可被主存在可伸缩群集中。位置改变可被提供给客户机以便客户机对所请求的服务进行不中断访问。
通过阅读以下详细描述并查阅相关联的附图,这些和其他特征和优点将是显而易见的。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的各方面。
附图简述
图1示出示例单承租人服务模型;
图2示出示例多承租人服务模型;
图3示出根据各实施例的可扩展多承租人服务体系结构;
图4示出多承租人服务的组织服务部分的示例组件;
图5是示出在操作期间客户机与多承租人服务的组件之间的交互的动作图;
图6是其中可以实现各实施例的示例联网环境;
图7是其中可以实现各实施例的示例计算操作环境的框图;以及
图8示出向客户机提供可扩展多承租人服务的过程的逻辑流程图。
详细描述
如以上简要描述的,可以使用发现服务和可伸缩服务器群集来提供可扩展多承租人商业应用程序平台。在以下详细描述中,参考了构成其一部分并作为说明示出了各具体实施例或示例的附图。可组合这些方面,可利用其他方面并且可以做出结构上的改变而不背离本发明的范围。由此,以下详细描述并不旨在限制,本发明的范围由所附权利要求及其等效方案所定义。
虽然在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文环境中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其他程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,如本领域的技术人员理解的,各实施例可以用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子设备、小型机、大型机等等。各实施例还能在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
各实施例可被实现为计算机过程(方法)、计算系统、或者如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品也可以是计算系统可读并编码了用于执行计算机进程的指令的计算机程序的载波上的传播信号。
参考图1,示出了示例单承租人服务模型的图示100。如前所述,用于典型商业应用程序平台的可编程性体系结构是单承租人的且适用于内部部署的主存的应用程序。
在这样的典型单承租人平台中,客户机102通过网络104访问与由web服务106主存的单个承租人相关联的数据和商业应用程序。尽管网络104可以是因特网,它一般是内联网类型的网络组合。因为单承租人是由服务主存的,所以认证、安全、以及其它预备操作可以由该服务本身执行而不是使用第三方服务。该服务的位置通常不改变,但冗余和某些负载平衡操作可能涉及对多个服务器和/或服务器群集的使用。
因此,在单承租人系统中的操作是相对简单且直接的。然而,在当今的商业世界中,许多组织优选将它们的商业应用程序平台外包给可以提供高效的、具有成本效益的、以及可靠的服务的实体。为了流线化其商业模型并高效地利用其资源,这些实体可优选为多个组织主存服务。此外,某些客户机可以与多个组织相关联,在这种情况下客户机通过单个联系点访问所有组织将是有意义的。
图2示出示例多承租人服务模型200。在多承租人服务中,商业应用程序平台为多个组织主存服务。任何数量的客户机202可以为访问与一个或多个组织相关联的数据和应用程序而通过网络204调用web服务206,web服务206在这种情况下较可能是因特网或不同网络的组合。
web服务206可以执行管理服务并将客户机引导到组织专用web服务208。此外,web服务206可以执行认证、安全检查、以及可任选地使用第三方服务的类似的预备服务。组织专用web服务208可以包括可伸缩群集,在那里可以出于负载平衡和其它原因而移动个体组织的操作。web服务206可以监视这些改变并相应地重定向该调用客户机,使得改变对该客户机透明。
客户机可以是瘦或胖客户机,其中在瘦客户机的情况下附加服务可任选地由第三方应用程序来提供。不同客户机可以使用不同方案来访问不同服务。服务中的某一些还可以共享这些方案。
图2中的体系结构——就此方面而言还有图1——是用于示出软件即服务平台的概览的。为简明起见仅示出必要组件。在实践中,这些系统包括更多具有特定任务以及通信方法的组件。以下提供根据各实施例的此类平台的更详细讨论。
图3示出根据各实施例的可扩展多承租人服务体系结构300。根据各实施例的软件即服务商业应用程序平台320可以在不同站点中实现并且能够在每一站点中主存多个组织的数据和应用程序。平台320的每一站点安装可以是高度可伸缩的,从而允许服务的高性能和高可用性。这些站点可被主存在因特网或内联网中。
根据某些实施例,服务可以使用可任选的可信第三方认证服务来认证每一组织(例如,权证服务312)的用户(客户机302)。对于因特网或内联网模式还可使用独立插件认证服务。根据其它实施例,对每一组织的数据和操作的访问可以基于安全角色和特权以及组织成员资格来限制。
根据某些实现,每一组织的数据和应用程序可以与其它的隔离,并通过一组专用API来访问。这些API可以使开发者能通过因特网远程地访问并修改商业数据以及定义/调用/修改商业过程和逻辑。这些API可以是自动生成且动态的,以便无论何时在平台中添加或移除新的组织,这些API都可以自动调整。这些API还可以是可定制的,从而允许将自定义对象和操作与其它组织分开地添加到每一组织。
发现服务322提供认证和组织发现服务,从而使客户机302能够登入到平台320并发现他/她是其成员的所有组织。发现服务322可以提供关于每一组织的详细配置数据,该详细配置数据包括组织在平台内用于直接访问的位置以及其它配置信息。配置信息可被存储在配置存储324中并从中检索。用户(客户机)可以是主存在站点中的一个或多个组织的成员。发现服务322可以按多种认证模式操作。每一认证模式可以具有其自己的专用端点,从而使客户机能够指定应该使用哪种认证。
根据另外一些实施例,每一API端点可以供应多个组织。对API的每一调用可以标识旨在到达的目标组织。发现服务322可以使用配置存储324来检索组织配置数据。可以允许管理员来访问并维护配置存储324。
组织数据和操作可被置于在平台320的服务群集330内可用的多个可伸缩组中(服务位置1、2等)。出于负载平衡的目的,组织的位置可以改变并在可伸缩组之间移动。可扩展多承租人服务模型在它甚至可以在移动之后定位目标组织的意义上是动态的。每一服务位置(332、334……)可以包括一个或多个提供服务的虚拟或物理服务器。
图4示出多承租人服务的组织服务部分的示例组件。如上所述,可伸缩服务器群集430在可扩展多承租人软件即服务平台的核心处。根据某一些实施例,服务器群集430可以包括一组虚拟或物理web服务器431,它们接收客户机请求、处理同步请求、且管理对组织数据库433的访问。web服务器431中的一特定服务器可通过随机选择、根据预定义算法(例如,负载平衡算法)等等来分配给客户机。组织数据库433可以包括由平台供应的每一组织(或承租人)的物理或虚拟数据存储。例如,金融服务系统可以包括对应于参与金融组织(银行等)中的每一个的、存储帐户信息、帐户访问信息等等的单独的数据库。关于个别数据库、其配置、任何冗余等的信息可被存储在图3的配置存储324中。
根据其它实施例,定位器服务(未示出)可以提供关于web服务器可以使用哪一(些)数据库的信息。web服务433还可以将异步服务请求置于将由异步服务器435结合组织数据库433来处理的队列中。当客户机请求来到该队列时,可以联系异步服务器435中的一个来处理该请求。异步服务器与各个组织数据库之间的关系可以是分布式关系,其中每一服务器可以与数据库中的任何一个一起工作。异步服务器与组织数据库之间的此分布式交互可以提供通过允许数据库在一个服务器失败时连接到另一可用服务器来从异步处理机器的故障中自动恢复的能力。
由于同步和异步工作的独立分布以及服务器与数据库之间的交互,所以服务器群集430的任何部分都是可伸缩的。因此,可以提供服务器(和/或数据库)的多个实例来解决增加的工作负载、附加组织、数据容量等等。
图5是示出在操作期间客户机与多承租人服务的组件之间的交互的动作图。动作图500中的交互示出使用具体步骤的示例操作。根据各实施例的多承租人平台中的交互可以包括与更少步骤或更多步骤的不同交换、以及不同的交互次序。
根据该示例操作,客户机504通过向发现服务506请求站点策略来启动调用。发现服务以站点策略来响应,站点策略可以标识可任选的权证服务(例如,用于认证)。如果使用了可任选的第三方权证服务502,则客户机504可以向该权证服务502发送权证请求,且在该客户机用于访问所请求的组织(承租人)的凭证被确认的情况下接收服务权证。
客户机504随后将站点权证请求和来自权证服务502的服务权证一起提交给发现服务506。发现服务506以站点权证来响应。客户机504随后可以向提交所请求组织的列表,发现服务506以所请求组织的位置的列表和其它配置信息(方案等等)来响应该列表提交。随后,客户机504可以使用由发现服务506所提供的位置和配置信息来通过组织服务508访问目标组织。如前所述,组织服务的位置可以由于缩放、负载平衡等改变。发现服务506可以用改变的位置信息来更新客户机,使得客户机的对组织服务的访问可以无缝地继续。
出于说明的目的,图3到图5中所述的可伸缩多承租人系统和操作是示例性的。用于可扩展多承租人服务的系统可以使用更多或更少的组件和操作使用此处所描述的原理来实现。
图6是其中可以实现各实施例的示例联网环境。可扩展多承租人服务系统可以用分布式方式在多个物理和虚拟的客户机和服务器上实现。它们还可以在非群集系统或利用通过一个或多个网络(例如,网络610)通信的多个节点的群集系统中实现。
这种系统可以包括服务器、客户机、因特网服务提供者、以及通信介质的任何拓扑结构。同样,系统可以具有静态或动态拓扑结构。术语“客户机”可以表示客户机应用程序或客户机设备。尽管实现可扩展多承租人服务的联网系统可以涉及更多组件,但相关组件仍然结合此图来讨论。
对访问的请求可以来自于联网多承租人系统中使用单独客户机设备602-606或应用程序服务器608的承租人。这一系统还可以在一个或多个服务器(例如,服务器612、614)中实现并由客户机设备(或应用程序)访问。诸如web服务器612等一个或多个web服务器(物理或虚拟)可以接收请求并将它们定向到合适的资源。资源可以包括具有同步和异步服务器的可伸缩服务器群集、组织数据库、以及其它组件。
组织数据库可以在诸如数据存储618等单个数据存储中实施,或分布在多个数据存储中。可使用专用数据库服务器(例如,数据库服务器616)来协调一个或多个此类数据存储中的数据检索和存储。
网络610可以包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络610提供此处描述的节点之间的通信。作为示例而非局限,网络610可以包括诸如有线网络或直接线连接等有线介质,以及诸如声学、RF、红外线和其它无线介质等无线介质。
可以利用计算设备、应用程序、数据资源、数据分布系统的许多其它配置来实现可扩展多承租人服务平台。此外,图6中所讨论的联网环境仅用于说明目的。各实施例不限于示例应用程序、模块、或过程。
图7及相关联的讨论旨在提供对适于在其中实现各实施例的计算环境的简要概括描述。参考图7,示出了诸如计算设备700等示例计算操作环境的框图。在一基本配置中,计算设备700可以是提供与可扩展多承租人服务相关联的管理服务的服务器,并通常包括至少一个处理单元702和系统存储器704。计算设备700还可包括协作执行程序的多个处理单元。取决于计算设备的确切配置和类型,系统存储器704可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器704通常包括适于控制联网的个人计算机的运作的操作系统705,诸如来自华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。系统存储器704还可以包括诸如程序模块706、web服务722、web服务722内的发现服务724、以及可任选定位器服务726等一个或多个软件应用程序。
web服务722可以是单独的应用程序或是向与计算设备700相关联的客户机应用程序提供数据和处理服务的主存的多承租人服务平台的整合模块。发现服务724可以向请求访问与各个组织(承租人)服务相关联的位置和配置信息客户机提供这些信息。如前所述,可任选定位器服务726可以提供与确定服务的目的和为web服务器以及异步处理服务器使用哪些数据库相关联的服务。该基本配置在图7中由虚线708内的组件示出。
计算设备700可具有附加的特征或功能。例如,计算设备700还可包括附加的数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些其它存储在图7中由可移动存储709和不可移动存储710示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储709和不可移动存储710都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算设备700访问的任何其它介质。任何这样的计算机存储介质都可以是设备700的一部分。计算设备700还可具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备712。还可包括诸如显示器、扬声器、打印机等输出设备714。这些设备在本领域中公知且无需在此处详细讨论。
计算设备700还可以包含允许该设备诸如在分布式计算环境中,例如在内联网或互联网中通过无线网络与其它计算设备718通信的通信连接716。其它计算设备718可以包括执行与位置服务或其它服务相关联的应用程序的服务器。通信连接716是通信介质的一个示例。通信介质通常由诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据来体现,并包括任何信息传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。
所要求保护的主题还包括各方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,但是其每一个可以仅与执行程序的一部分的机器同在一处。
图8示出向客户机提供可扩展多承租人服务的过程800的逻辑流程图。过程800可被实现为软件即服务商业应用程序平台的一部分。
过程800开始于操作802,在那里从客户机接收对访问一个或多个组织的请求以及客户机凭证。如前所述,多承租人主存服务的客户机通常与各承租人的组织相关联,每一承租人在该系统内具有专用数据库。在接收请求之前,该客户机可任选地使用第三方认证服务。处理从操作802前进至判定操作804。
在判定操作804,作出客户机是否被认证的判定。该判定还可以包括所请求的组织是否由多承租人服务平台所主存的检查。如果客户机被认证,则该过程前进至操作806。否则,处理移动至调用过程以进行进一步动作。
在操作806,确定所请求的组织服务的位置。处理从操作806移动到操作808,在那里向客户机提供组织服务的位置以供访问。还可以将附加配置信息与该位置信息一起提供。在操作808之后,处理移动至判定操作810。
在判定操作810,作出组织服务的位置是否由于伸缩、负载平衡等改变的判定。如果确定了该位置的改变,则处理移动至操作812。否则,处理移动至调用过程以进行进一步动作。
在操作812,向客户机提供组织服务的位置的改变,使得客户机对该服务的访问可以无缝地继续。在操作812之后,处理移动至调用过程以进行进一步动作。
包括在过程800内的各操作仅出于说明目的。向客户机提供可扩展多承租人服务可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同的操作次序来实现。
以上说明、示例和数据提供了对各实施例成分的制造和使用的全面描述。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体功能部件和动作是作为实现权利要求和各实施例的示例形式而公开的。

Claims (20)

1.一种至少部分在计算设备中执行的用于提供可扩展多承租人服务平台的方法,所述方法包括:
从客户机接收对访问的请求,每一客户机与由所述平台所主存的至少一个组织服务相关联(802);
确定所述组织服务的位置,其中所述组织服务被组织在所述平台内的可伸缩组中(806);
向所述客户机提供所述组织服务的位置来允许访问所述组织服务(808);以及
如果所述组织服务的位置在访问期间改变(810),则向所述客户机提供已改变的位置以供所述客户机继续访问所述组织服务(812)。
2.如权利要求1所述的方法,其特征在于,还包括:
在提供所述组织服务的位置之前,使用集成认证服务和第三方认证服务中的一个来认证所述客户机(804)。
3.如权利要求2所述的方法,其特征在于,所述客户机(202)对所请求的组织服务(208)的访问基于以下集合中的至少一个来限制:客户机连接的安全状态、客户机凭证、以及组织成员资格。
4.如权利要求2所述的方法,其特征在于,还包括:
提供多个认证模式,其中每一认证模式包括专用端点,使得所述客户机(202)能够指定所需认证模式。
5.如权利要求1所述的方法,其特征在于,还包括:
向所述客户机(202)提供与所述客户机对所请求的组织服务(208)的访问相关联的配置信息。
6.如权利要求1所述的方法,其特征在于,所述可伸缩组(430)被配置成允许与由所述平台所主存的组织服务相关联的应用程序的垂直和水平可扩展性。
7.如权利要求1所述的方法,其特征在于,所述平台被安排为提供对由所述平台所主存的组织服务(208)的元数据访问。
8.一种用于主存可扩展多承租人服务的系统,包括:
发现服务(506),其被配置成:
从与由所述系统所主存的至少一个组织服务相关联的客户机处接收对访问的请求(802);
确定所请求的组织服务的位置(806);以及
向所述客户机提供所述组织服务的位置来允许访问所述组织服务(808);
被配置成提供所述组织服务的多个可伸缩服务群集(508);以及
与所述发现服务相关联的配置存储,所述配置存储被安排成存储与所述多个服务群集相关联的配置和的位置信息,使得在所述客户机访问所述组织服务期间所述组织服务的位置的改变可以被提供给所述客户机以供所述客户机继续访问所述组织服务。
9.如权利要求8所述的系统,其特征在于,所述发现服务(506)和所述服务群集作为web服务来提供。
10.如权利要求8所述的系统,其特征在于,所述发现服务(506)还被配置成通过可插入认证服务利用多种认证模式来认证所述客户机(804)。
11.如权利要求8所述的系统,其特征在于,还包括:
多个专用应用程序编程接口(API)(508),其被配置成提供对所述组织服务的访问以使得与每一组织服务相关联的数据和应用程序与其它组织服务隔离开。
12.如权利要求11所述的系统,其特征在于,所述API是可定制的,以使得具有许可的用户被允许向所选的组织服务添加自定义对象和定制操作中的至少一个(508)。
13.如权利要求11所述的系统,其特征在于,所述API被配置成允许具有许可的用户执行以下动作:
修改与组织服务相关联的数据(508);
定义与所述组织服务相关联的过程和逻辑两者中的一个;
调用与所述组织服务相关联的过程和逻辑两者中的一个;以及
修改与所述组织服务相关联的过程和逻辑两者中的一个。
14.如权利要求11所述的系统,其特征在于,所述API是动态生成的,使得所述API适用于进行以下动作中的一个:在系统中添加组织服务(508),和在系统中移除组织服务。
15.如权利要求11所述的系统,其特征在于,所述服务群集包括被配置成以分布式方式来交互的多个web服务器(431)、组织数据库(433)、以及异步处理服务器(435)。
16.如权利要求15所述的系统,其特征在于,所述多个web服务器(431)、组织数据库(433)、以及异步处理服务器(435)中的至少一部分是虚拟的。
17.如权利要求15所述的系统,其特征在于,提供所述多个web服务器(431)、组织数据库(433)、以及异步处理服务器(435)的多个实例来允许可伸缩性、负载平衡、以及故障恢复。
18.一种其上存储有用于提供可扩展多承租人服务平台的指令的计算机可读存储介质,所述指令包括:
从与由所述平台所主存的至少一个组织服务相关联的客户机接收对访问的请求,所述请求包括所述客户机的凭证(802);
基于所述客户机的凭证确定对所述客户机可用的组织服务的列表;
向所述客户机提供所述组织服务的列表;
接收访问来自所述列表的至少一个组织服务的请求;
确定至少一个所请求的组织服务的位置(806),其中所述组织服务由所述平台所主存的可伸缩服务群集来提供;
向所述客户机提供所述至少一个组织服务的位置来允许访问所述组织服务(808);以及
如果所述组织服务的位置在访问期间改变(810),则向所述客户机提供已改变的位置以供所述客户机继续访问所述组织服务(812)。
19.如权利要求18所述的计算机可读存储介质,其特征在于,所述指令还包括:
为所述客户机所请求的每一组织服务使用至少一种认证模式来认证所述客户机(804)。
20.如权利要求18所述的计算机可读存储介质,其特征在于,所述指令还包括:
为由所述平台所主存的每一组织服务动态地提供一组专用API来允许管理员对与每一组织(508)服务相关联的数据和过程中的至少一个的修改,以使得所述API适用于进行以下动作中的一个:平台中添加组织服务,和在平台中移除组织服务。
CN200880011804.4A 2007-04-13 2008-04-01 可扩展和可编程多承租人服务体系结构 Active CN101657804B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/787,134 US8019812B2 (en) 2007-04-13 2007-04-13 Extensible and programmable multi-tenant service architecture
US11/787,134 2007-04-13
PCT/US2008/059061 WO2008127871A1 (en) 2007-04-13 2008-04-01 Extensible and programmable multi-tenant service architecture

Publications (2)

Publication Number Publication Date
CN101657804A true CN101657804A (zh) 2010-02-24
CN101657804B CN101657804B (zh) 2015-07-08

Family

ID=39854989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880011804.4A Active CN101657804B (zh) 2007-04-13 2008-04-01 可扩展和可编程多承租人服务体系结构

Country Status (10)

Country Link
US (4) US8019812B2 (zh)
EP (1) EP2156308B1 (zh)
JP (2) JP2010526358A (zh)
KR (1) KR101279740B1 (zh)
CN (1) CN101657804B (zh)
BR (1) BRPI0809083B1 (zh)
ES (1) ES2709436T3 (zh)
RU (1) RU2463652C2 (zh)
TW (1) TWI473029B (zh)
WO (1) WO2008127871A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012989A (zh) * 2010-12-07 2011-04-13 江苏风云网络服务有限公司 软件即服务中基于门限与密钥的授权方法
CN102436485A (zh) * 2010-10-20 2012-05-02 微软公司 动态拆分多承租人数据库
CN102918519A (zh) * 2010-06-03 2013-02-06 微软公司 用于供应服务的领导者仲裁
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9043370B2 (en) 2010-10-20 2015-05-26 Microsoft Technology Licensing, Llc Online database availability during upgrade
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050471A1 (en) * 2005-08-31 2007-03-01 Microsoft Corporation Portable Remoting Component With A Scaleable Feature Set
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
WO2010024027A1 (ja) * 2008-08-28 2010-03-04 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
US8255490B1 (en) * 2008-10-22 2012-08-28 Amazon Technologies, Inc. Dynamic service-oriented architecture using customization code
US20100262632A1 (en) * 2009-04-14 2010-10-14 Microsoft Corporation Data transfer from on-line to on-premise deployment
US20100286992A1 (en) * 2009-05-08 2010-11-11 Microsoft Corporation Integration of Third-Party Business Applications with Hosted Multi-Tenant Business Software System
US20100318609A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US20100325139A1 (en) * 2009-06-18 2010-12-23 Microsoft Corporation Service Provider Management Console
US8561055B2 (en) * 2009-10-15 2013-10-15 Blackberry Limited Method, system and apparatus for management of push content
US8364810B2 (en) * 2009-11-06 2013-01-29 Research In Motion Limited Method, system and apparatus for management of push content when changing computing devices
US8505034B2 (en) 2009-12-17 2013-08-06 Amazon Technologies, Inc. Automated service interface optimization
US8645550B2 (en) 2010-02-18 2014-02-04 Microsoft Corporation Database virtualization
US9178949B2 (en) * 2010-03-03 2015-11-03 Blackberry Limited Method, system and apparatus for managing push data transfers
EP2365677B1 (en) * 2010-03-03 2020-04-08 BlackBerry Limited Method, system and apparatus for configuring a device for interaction with a server
US8489708B2 (en) 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
US8370905B2 (en) 2010-05-11 2013-02-05 Microsoft Corporation Domain access system
US8539078B2 (en) * 2010-07-08 2013-09-17 International Business Machines Corporation Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests
US8904511B1 (en) 2010-08-23 2014-12-02 Amazon Technologies, Inc. Virtual firewalls for multi-tenant distributed services
US9304614B2 (en) 2010-10-20 2016-04-05 Salesforce.Com, Inc. Framework for custom actions on an information feed
US20120109947A1 (en) * 2010-11-02 2012-05-03 BrightEdge Technologies Multi-tenant analytics processing
KR20120062514A (ko) * 2010-12-06 2012-06-14 한국전자통신연구원 SaaS 환경에서의 권한 관리 장치 및 방법
US8762795B2 (en) * 2010-12-17 2014-06-24 Microsoft Corporation Alerting recipients to errors occurring when accessing external services
US10019503B2 (en) 2010-12-22 2018-07-10 Microsoft Technology Licensing, Llc Database transfers using constraint free data
US20120174092A1 (en) * 2010-12-29 2012-07-05 Wolfgang Faisst Integrated commercial infrastructure and business application platform
CN102103637A (zh) * 2011-01-24 2011-06-22 上海银杏界信息科技有限公司 SaaS软件数据模型的实现方法
US8903884B2 (en) * 2011-02-21 2014-12-02 Microsoft Corporation Multi-tenant services gateway
US8667024B2 (en) * 2011-03-18 2014-03-04 International Business Machines Corporation Shared data management in software-as-a-service platform
US9652469B2 (en) 2011-06-04 2017-05-16 Microsoft Technology Licensing, Llc Clustered file service
US8627431B2 (en) 2011-06-04 2014-01-07 Microsoft Corporation Distributed network name
US9652790B2 (en) * 2011-06-17 2017-05-16 International Business Machines Corporation Open data marketplace for municipal services
US8671407B2 (en) 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
US8856518B2 (en) 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US8589481B2 (en) 2011-09-14 2013-11-19 Microsoft Corporation Multi tenant access to applications
US8635152B2 (en) 2011-09-14 2014-01-21 Microsoft Corporation Multi tenancy for single tenancy applications
US8819801B2 (en) * 2011-10-31 2014-08-26 Microsoft Corporation Secure machine enrollment in multi-tenant subscription environment
US9110729B2 (en) * 2012-02-17 2015-08-18 International Business Machines Corporation Host system admission control
US9075687B1 (en) 2012-04-19 2015-07-07 NetSuite Inc. System and methods for declaration-based extension management for multi-tenant environments
US9509571B1 (en) * 2012-07-25 2016-11-29 NetSuite Inc. First-class component extensions for multi-tenant environments
TWI476614B (zh) * 2012-12-27 2015-03-11 Chunghwa Telecom Co Ltd Multi - tenant Cloud Warehouse Integrated Retrieval System and Its Method
US9195513B2 (en) 2013-02-22 2015-11-24 Sas Institute Inc. Systems and methods for multi-tenancy data processing
US9607166B2 (en) 2013-02-27 2017-03-28 Microsoft Technology Licensing, Llc Discretionary policy management in cloud-based environment
US20140278812A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Diagnostics storage within a multi-tenant data center
US9515947B1 (en) * 2013-03-15 2016-12-06 EMC IP Holding Company LLC Method and system for providing a virtual network-aware storage array
US9043458B2 (en) 2013-03-19 2015-05-26 Cognizant Technology Solutions India Pvt. Ltd. Framework for facilitating implementation of multi-tenant SaaS architecture
JP6056607B2 (ja) 2013-03-28 2017-01-11 富士通株式会社 情報処理システム及び情報処理システムの制御方法
US9411973B2 (en) 2013-05-02 2016-08-09 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9154492B2 (en) * 2013-09-27 2015-10-06 The University Of North Carolina At Charlotte Moving target defense against cross-site scripting
US9621673B2 (en) 2013-12-12 2017-04-11 Sap Se Customer initiated tenant operations in a multitenant cloud environment
WO2015163924A1 (en) 2014-04-25 2015-10-29 Hewlett-Packard Development Company, L.P. Data management in a distributed computing environment
US10110501B2 (en) * 2014-07-07 2018-10-23 Microsoft Technology Licensing, Llc Tenant control in initiating atomic platform tasks
US20160028833A1 (en) * 2014-07-25 2016-01-28 Violeta Georgieva Tenant aware session manager
US9391972B2 (en) 2014-09-12 2016-07-12 Oracle International Corporation Multi-tenant application using hierarchical bean factory container
KR101770240B1 (ko) * 2014-09-29 2017-08-22 삼성전자주식회사 Ui 제공을 위한 디스플레이 장치, 시스템 및 그 제공 방법
JP6426489B2 (ja) * 2015-02-03 2018-11-21 東京エレクトロン株式会社 エッチング方法
US10942900B2 (en) 2015-06-02 2021-03-09 Oracle International Corporation Techniques for tenant controlled visualizations and management of files in cloud storage systems
US9996321B2 (en) * 2015-06-23 2018-06-12 Microsoft Technology Licensing, Llc Multi-tenant, tenant-specific applications
US10748070B2 (en) 2015-07-31 2020-08-18 Microsoft Technology Licensing, Llc Identification and presentation of changelogs relevant to a tenant of a multi-tenant cloud service
US9667725B1 (en) 2015-08-06 2017-05-30 EMC IP Holding Company LLC Provisioning isolated storage resource portions for respective containers in multi-tenant environments
US10146936B1 (en) 2015-11-12 2018-12-04 EMC IP Holding Company LLC Intrusion detection for storage resources provisioned to containers in multi-tenant environments
US9983909B1 (en) 2016-03-15 2018-05-29 EMC IP Holding Company LLC Converged infrastructure platform comprising middleware preconfigured to support containerized workloads
US10326744B1 (en) 2016-03-21 2019-06-18 EMC IP Holding Company LLC Security layer for containers in multi-tenant environments
US10754838B1 (en) * 2016-03-31 2020-08-25 EMC IP Holding Company LLC Registration framework for an analytics platform
US10013213B2 (en) 2016-04-22 2018-07-03 EMC IP Holding Company LLC Container migration utilizing state storage of partitioned storage volume
US10187395B2 (en) 2016-04-28 2019-01-22 Microsoft Technology Licensing, Llc Resource sharing and designation of permissions for other tenants and unregistered users of same tenant
US10284557B1 (en) 2016-11-17 2019-05-07 EMC IP Holding Company LLC Secure data proxy for cloud computing environments
US11128437B1 (en) 2017-03-30 2021-09-21 EMC IP Holding Company LLC Distributed ledger for peer-to-peer cloud resource sharing
RU2646306C1 (ru) * 2017-06-15 2018-03-02 Федеральное Государственное унитарное предприятие Государственный научно-исследовательский институт гражданской авиации (ФГУП ГосНИИ ГА) Система мониторинга ставок арендных платежей операторов аэродромов за пользование имуществом аэродромов
US11063745B1 (en) 2018-02-13 2021-07-13 EMC IP Holding Company LLC Distributed ledger for multi-cloud service automation
KR102544820B1 (ko) 2018-05-23 2023-06-16 삼성에스디에스 주식회사 마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법
US10747600B2 (en) * 2018-06-12 2020-08-18 commercetools GmbH Extensibility for third party application programming interfaces
US10445223B1 (en) * 2018-10-25 2019-10-15 Capital One Services, Llc Service virtualization platform
RU2737601C2 (ru) * 2019-03-13 2020-12-01 Анастасия Надеровна Рубцова Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей)
EP4059162A1 (en) * 2020-08-17 2022-09-21 Google LLC System service sharing between endpoint devices for increased endpoint device capability

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434619B1 (en) * 1998-04-29 2002-08-13 Alcatel Canada Inc. Internet-enabled service management system and method
US7162464B1 (en) * 1998-10-02 2007-01-09 Ncr Corporation Data mining assists in a relational database management system
RU2237275C2 (ru) * 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
US20020065864A1 (en) * 2000-03-03 2002-05-30 Hartsell Neal D. Systems and method for resource tracking in information management environments
US20020049841A1 (en) * 2000-03-03 2002-04-25 Johnson Scott C Systems and methods for providing differentiated service in information management environments
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US20050049937A1 (en) * 2000-08-16 2005-03-03 Aaron Sanders Business method and processing system
WO2002017075A2 (en) * 2000-08-22 2002-02-28 Symbian Limited A method of enabling a wireless information device to access data services
US6643635B2 (en) * 2001-03-15 2003-11-04 Sagemetrics Corporation Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources
JP2003281007A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 動的構成制御装置および動的構成制御方法
US7636499B1 (en) * 2002-04-05 2009-12-22 Bank Of America Corporation Image processing system
US8255548B2 (en) * 2002-06-13 2012-08-28 Salesforce.Com, Inc. Offline web services API to mirror online web services API
US7146499B2 (en) * 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
JP2004151942A (ja) * 2002-10-30 2004-05-27 Ricoh Co Ltd ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム
US7076562B2 (en) * 2003-03-17 2006-07-11 July Systems, Inc. Application intermediation gateway
US7447212B2 (en) * 2003-09-03 2008-11-04 At&T Intellectual Property I, L.P. Method and system for automating membership discovery in a distributed computer network
US7779039B2 (en) * 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7669177B2 (en) * 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
JP2005157613A (ja) * 2003-11-25 2005-06-16 Canon Inc 情報管理装置
US20060184410A1 (en) * 2003-12-30 2006-08-17 Shankar Ramamurthy System and method for capture of user actions and use of capture data in business processes
JP4873852B2 (ja) * 2004-02-26 2012-02-08 株式会社リコー 第一の通信装置、情報処理装置、情報処理プログラム、記録媒体
US8533229B2 (en) * 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
US20060015471A1 (en) * 2004-07-01 2006-01-19 Gmorpher Incorporated System, Method, and Computer Program Product of Building A Native XML Object Database
US7549054B2 (en) * 2004-08-17 2009-06-16 International Business Machines Corporation System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce
JP4748763B2 (ja) * 2004-09-06 2011-08-17 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、ならびにプログラム、記憶媒体
JP4392343B2 (ja) * 2004-12-28 2009-12-24 株式会社日立製作所 メッセージ配布方法、待機系ノード装置およびプログラム
US20060235831A1 (en) * 2005-01-14 2006-10-19 Adinolfi Ronald E Multi-source multi-tenant entitlement enforcing data repository and method of operation
US20060235715A1 (en) * 2005-01-14 2006-10-19 Abrams Carl E Sharable multi-tenant reference data utility and methods of operation of same
US7593994B2 (en) * 2005-03-08 2009-09-22 Microsoft Corporation Generating a dynamic web service and dynamic service surrogate for legacy application components
JP4702835B2 (ja) * 2005-07-06 2011-06-15 株式会社日立ソリューションズ Webサービスカスタマイズシステム
US20070038697A1 (en) * 2005-08-03 2007-02-15 Eyal Zimran Multi-protocol namespace server
US8069153B2 (en) * 2005-12-02 2011-11-29 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment
US20070162537A1 (en) * 2006-01-11 2007-07-12 Gearworks, Inc. Common application services framework
US7937711B2 (en) * 2006-06-30 2011-05-03 Dell Products L.P. Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments
US8190724B2 (en) * 2006-10-13 2012-05-29 Yahoo! Inc. Systems and methods for establishing or maintaining a personalized trusted social network
US20080114683A1 (en) * 2006-11-14 2008-05-15 Neveu Holdings, Llc Remote time and attendance system and method
WO2008072093A2 (en) * 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
US8201231B2 (en) * 2007-02-21 2012-06-12 Microsoft Corporation Authenticated credential-based multi-tenant access to a service
US20100153569A1 (en) * 2007-03-09 2010-06-17 Ghost, Inc. System and Method for a Virtual Hosted Operating System
US7680848B2 (en) * 2007-03-29 2010-03-16 Microsoft Corporation Reliable and scalable multi-tenant asynchronous processing
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
US7840413B2 (en) * 2007-05-09 2010-11-23 Salesforce.Com, Inc. Method and system for integrating idea and on-demand services
US8516366B2 (en) * 2008-06-20 2013-08-20 Wetpaint.Com, Inc. Extensible content service for attributing user-generated content to authored content providers
US20100082737A1 (en) * 2008-09-26 2010-04-01 Carlson Marketing Worldwide, Inc. Dynamic service routing
US10057775B2 (en) * 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8243949B2 (en) * 2009-04-14 2012-08-14 Plantronics, Inc. Network addressible loudspeaker and audio play
US9229793B2 (en) * 2010-04-22 2016-01-05 Salesforce.Com, Inc. System, method and computer program product for routing messages to a server

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918519A (zh) * 2010-06-03 2013-02-06 微软公司 用于供应服务的领导者仲裁
US9043370B2 (en) 2010-10-20 2015-05-26 Microsoft Technology Licensing, Llc Online database availability during upgrade
CN102436485A (zh) * 2010-10-20 2012-05-02 微软公司 动态拆分多承租人数据库
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
CN102436485B (zh) * 2010-10-20 2015-06-03 微软公司 动态拆分多承租人数据库
US9015177B2 (en) 2010-10-20 2015-04-21 Microsoft Technology Licensing, Llc Dynamically splitting multi-tenant databases
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
CN102012989A (zh) * 2010-12-07 2011-04-13 江苏风云网络服务有限公司 软件即服务中基于门限与密钥的授权方法
CN102012989B (zh) * 2010-12-07 2013-11-27 江苏风云网络服务有限公司 软件即服务中基于门限与密钥的授权方法
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US10467315B2 (en) 2010-12-09 2019-11-05 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects

Also Published As

Publication number Publication date
KR101279740B1 (ko) 2013-06-28
CN101657804B (zh) 2015-07-08
US20110252089A1 (en) 2011-10-13
BRPI0809083A8 (pt) 2016-12-20
US8019812B2 (en) 2011-09-13
JP2014132462A (ja) 2014-07-17
KR20100015398A (ko) 2010-02-12
RU2463652C2 (ru) 2012-10-10
TW200847055A (en) 2008-12-01
US8533261B2 (en) 2013-09-10
BRPI0809083A2 (pt) 2014-09-09
JP2010526358A (ja) 2010-07-29
TWI473029B (zh) 2015-02-11
EP2156308A4 (en) 2014-06-04
WO2008127871A1 (en) 2008-10-23
US20140012900A1 (en) 2014-01-09
ES2709436T3 (es) 2019-04-16
US8195743B2 (en) 2012-06-05
EP2156308A1 (en) 2010-02-24
BRPI0809083B1 (pt) 2019-05-07
US20120210390A1 (en) 2012-08-16
RU2009137767A (ru) 2011-04-20
EP2156308B1 (en) 2018-11-07
US20080256607A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
CN101657804B (zh) 可扩展和可编程多承租人服务体系结构
JP6894944B2 (ja) ブロックチェーンネットワークに基づくアプリケーション実現方法、装置、デバイス及び記憶媒体
EP3070630B1 (en) Data system and method
CN102246465B (zh) 提供对远程服务的本地安全网络访问
JP6284617B2 (ja) リソース割り当てを計算するシステムおよび方法
CN104871172B (zh) 用于连接的设备的编配框架
US8825795B2 (en) Dynamically integrating disparate computer-aided dispatch systems
CN102947797B (zh) 使用横向扩展目录特征的在线服务访问控制
JP5181180B2 (ja) 三次元仮想空間上での取引方法、プログラム及びそのサーバシステム
CN103366135B (zh) 在存储云中由租户驱动的安全系统与方法
US10924542B2 (en) Content delivery system
CN103377402A (zh) 一种多用户分析系统以及相应的装置和方法
US10956880B2 (en) Mixed deployment architecture for distributed services
CN109450685B (zh) 一种基于局部链节点离线的共识方法及节点
CN108027802A (zh) 死点网络架构中的两次写数据交换
CN108293047A (zh) 基于上下文连接并且取回安全令牌
CN104951238A (zh) 用于在分布式虚拟环境中管理数据存储的方法和装置
CN104471541B (zh) 促进混合应用环境的方法和计算机系统
US20180159718A1 (en) Computer and method of operation of its network
CN114189330A (zh) 一种基于云架构的密码服务平台
JP2023551382A (ja) 中央ネットワークメッシュを介したサービス間通信および認証
US20200242052A1 (en) Locking Key Secondary Access System
CN107241331A (zh) 一种用于多组织共享公网集群平台的方法和系统
JP2016162415A (ja) 本番環境アクセスシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150727

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.