CN104395886A - 多租户中间件云服务技术 - Google Patents

多租户中间件云服务技术 Download PDF

Info

Publication number
CN104395886A
CN104395886A CN201380032689.XA CN201380032689A CN104395886A CN 104395886 A CN104395886 A CN 104395886A CN 201380032689 A CN201380032689 A CN 201380032689A CN 104395886 A CN104395886 A CN 104395886A
Authority
CN
China
Prior art keywords
middleware
strategy
tenant
network traffic
virtual machine
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
CN201380032689.XA
Other languages
English (en)
Other versions
CN104395886B (zh
Inventor
D·班塞尔
P·帕特尔
A·格林伯格
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
Priority to CN201810281833.8A priority Critical patent/CN108459911B/zh
Publication of CN104395886A publication Critical patent/CN104395886A/zh
Application granted granted Critical
Publication of CN104395886B publication Critical patent/CN104395886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种包括多个主机的系统,每一个主机运行多个虚拟机。该系统可以是例如其中存在各个服务以及与这些主机和服务通信的服务协调系统的云计算环境。这些服务包括被配置成维护针对多个租户中的每一个租户的按租户中间件策略的中间件管理服务。该中间件管理服务导致通过将网络话务导向中间件实施机构来对网络话务应用中间件策略。该中间件策略是按租户的,因为它取决于租户的身份。

Description

多租户中间件云服务技术
背景
“云计算”是用于使得能够对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池进行普遍、方便、按需的网络访问的模型。可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商交互来释放,并随后被相应地缩放。云计算模型可由各种特性(如按需自服务、广泛网络访问、资源池、快速灵活性、测量的服务等)、服务模型(如软件即服务(“SaaS”)、平台即服务(“PaaS”)、基础结构即服务(“IaaS”))以及部署模型(如私有云、社区云、公共云、混合云等)组成。实现云计算模型的环境通常被称为云计算环境。
云计算可以是多租户的。在多租户云计算体系结构中,相同的软件应用服务多个租户,但该软件应用为每一个租户保持数据和配置的逻辑分区。为每一个租户保护数据,并且该应用可以在按租户的基础上进行配置。
简要概述
本文描述的至少一个实施例涉及一种包括多个主机的系统,每一个主机运行虚拟机。该系统可以是例如其中存在各个服务以及与这些主机和服务通信的服务协调系统的云计算环境。
这些服务包括被配置成维护针对多个租户中的每一个租户的按租户中间件策略的中间件管理服务。该中间件管理服务导致通过将网络话务导向中间件实施机构来对网络话务应用中间件策略,该中间件实施机构对主存对应于网络话务的虚拟机的特定主机实施中间件。该中间件策略是按租户的,因为它取决于租户的身份。
本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
图1示出了其中可采用本文描述的一些实施例的计算系统;
图2抽象地示出了其中可采用本文描述的各个原理的环境,包括与多个主机、多个服务通信并通过接口与各客户机通信的服务协调系统;
图3抽象地示出了运行虚拟机的主机,并且其中物理资源经由管理程序来利用,该管理程序从虚拟机中抽象出物理资源并且改为呈现用于虚拟机的虚拟资源;
图4抽象地示出了中间件实施机构的各个组件,该中间件实施机构被配置成对与在主机上运行的虚拟机中的至少某一些相对应的网络话务应用一个或多个中间件功能;
图5示出了可表示图2中所示的各个服务之一并且管理中间件功能策略的中间件管理服务;以及
图6示出了用于中间件管理组件操作以对网络话务项执行按租户中间件功能的方法的流程图。
详细描述
根据本文描述的实施例,一种系统包括多个主机,每一个主机运行虚拟机。该系统可以是例如其中存在各个服务以及与这些主机和服务通信的服务协调系统的云计算环境。
这些服务包括被配置成维护针对多个租户中的每一个租户的按租户中间件策略的中间件管理服务。该中间件管理服务导致通过将网络话务导向中间件实施机构来对网络话务应用中间件策略。例如,中间件实施机构可以在特定主机上运行(例如,作为虚拟机或者可能作为主存对应于网络话务的虚拟机的另一主机组件)。替换地或附加地,中间件实施机构中的全部或部分可以在单独的主机上和/或任何主机之外运行(诸如单独的服务)。
首先,将参考图1来描述关于计算系统的一些引导性讨论。随后,该系统的各实施例将参考图2至6来描述。
计算系统现在越来越多地采取多种多样的形式。计算系统可以例如是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统,或者甚至通常不被视为计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理有形的处理器以及其上能含有可由处理器执行的计算机可执行指令的物理有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的特性和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可以存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。
本文描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本文描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理的和其他的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
图2抽象地示出了其中可采用本文描述的各原理的环境200。环境200包括使用接口202与系统210交互的多个客户机210。环境220被示为具有三个客户机201A、201B和201C,但省略号201D表示本文描述的原理不限于通过接口202与系统210交互的客户机的数量。系统210可以按需向客户机201提供服务并因此从系统210接收服务的客户机201的数量可随时间变化。
每一个客户机201可以例如如上所述地被构造成图1的计算系统100。替换地或附加地,客户机可以是通过接口202与系统210对接的应用或其他软件模块。接口202可以是按照使得能够使用应用程序接口的任何计算系统或软件实体可以与系统210通信的方式定义的应用程序接口。
系统210可以是分布式系统,但并非必需。在一个实施例中,系统210是云计算环境。云计算环境可以是分布式的,但并非必需,并且甚至可以分布在全球和/或具有跨多个组织处理的组件。
在本说明书和接下来的权利要求书中,“云计算”被定义为用于使得能够对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池进行按需的网络访问的模型。“云计算”的定义不限于在适当部署时可以从这一模型获取的其他众多优点中的任意个。
例如,云计算当前在市场中被采用,以便提供对可配置计算资源的共享池的普遍存在且方便的按需访问。此外,可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商干预来发布,并随后因此被缩放。
云计算模型可由各种特性组成,诸如按需自服务、广泛网络访问、资源池、快速灵活性、测定的服务等。云计算模型还可形成各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)以及基础结构即服务(“IaaS”)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云和混合云等。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
系统210包括各自能够运行虚拟机的多个主机211。尽管系统200可能包括任何数量的主机211,但存在图2所示的三个主机211A、211B和211C,且省略号211D表示本文描述的原理不限于系统210内的主机的确切数量。该数量可能少至一个,且没有上限。此外,主机的数量可以是静态的,或者可能在新主机被添加到系统210时或者在主机被从系统210中丢弃时随时间动态改变。每一个客户机211可以如上所述地被构造成图1的计算系统100。
每一个主机都能够运行一个或多个(且可能许多个)虚拟机。例如,图3更详细地抽象地示出了主机300。作为示例,主机300可表示图2的主机211中的任意个。在图3的情况,主机300被示为操作包括虚拟机310A、310B和310C在内的三个虚拟机310。然而,省略号310D再一次表示本文描述的原理不限于在主机300上运行的虚拟机的数量。可能少至零个虚拟机在主机上运行,且只是上限由主机300的物理能力来定义。
在操作期间,虚拟机对至少包括操作系统并且也可能包括一个或多个其他应用的全操作计算系统进行仿真。每一个虚拟机被分配给特定客户机并且负责支持用于该客户机的桌面环境。
虚拟机生成桌面映像或者表示桌面的当前状态的其他呈现指令,并且然后将映像或指令传送到客户机以供进行桌面呈现。例如,参考图2和3,假设图3的主机300表示图2的主机211A并且虚拟机310A被分配给客户机201A(本文中称为“主示例”),虚拟机310A可生成桌面映像或指令并经由服务协调协调213并经由系统接口202将这些指令从主机211A分派给对应的客户机201A。
当用户在客户机处与桌面交互时,用户输入从该客户机传送到虚拟机。例如,在主示例中且参考图2和3,客户机201A的用户与桌面交互,并且用户输入经由接口201、经由服务协调协调213并经由主机211A从客户机201传送到虚拟机310A。
虚拟机处理用户输入,并且在适当时改变桌面状态。如果桌面状态的这一改变导致所呈现的桌面改变,则虚拟机在适当时更改映像或呈现指令并将更改后的映像或所呈现的指令传送到客户机计算系统以供进行适当的呈现。从用户的角度来看,这就像客户机计算系统本身执行桌面处理。
主机300包括管理程序320,该管理程序使用从虚拟机310的视角抽象出的物理资源321来仿真用于虚拟机310的虚拟资源。管理程序321还提供各虚拟机310之间的适当隔离。由此,从任何给定虚拟机的角度来看,管理程序320提供虚拟机正与物理资源对接的假象,即使该虚拟机只与物理资源的外观(例如,虚拟资源)对接,而不直接与物理资源对接。在图3中,物理资源321被抽象地表示为包括资源321A到321F。物理资源321的示例包括处理容量、存储器、盘空间、网络带宽、媒体驱动器等。
主机300可操作主机代理302,该主机代理302监视主机的执行并执行管理主机的其他操作。此外,主机300可包括其他组件303。此类其他组件303的一个示例是中间件实施机构。
图4抽象地示出了中间件实施机构400的各个组件,该中间件实施机构被配置成对与在对应的主机上运行的虚拟机中的至少某一些相对应的网络话务应用一个或多个中间件功能401。例如,中间件实施机构400被示为应用两个中间件功能401A和401B,但省略号401C表示本文描述的原理不限于被应用于网络话务的中间件功能的数量。中间件功能的示例将在下文中更详细地描述。然而,泛泛而言,中间件功能是对网络话务执行有条件过滤操作或有条件变换操作的功能。中间件环境机构400可表示能够实施中间件功能的子集的多个组件。例如,一个组件可实施中间件功能401A,而另一个组件可实施中间件功能401B。在一些实施例中,中间件实施机构400可以在主机211上操作。例如,中间件实施机构400可以在与网络话务被导向的目标虚拟机相同的主机上操作。替换地或附加地,中间件实施机构400中的部分或全部可以在与运行目标虚拟机的主机不同的主机211上操作。替换地或附加地,中间件实施机构400中的部分或全部可以在任何主机211之外操作(诸如在服务协调系统213中和/或在一个或多个服务212中操作)。
回头参考图2,系统200还包括服务212。在所示示例中,服务200包括五个不同的服务212A、212B、212C、212D和212E,但省略号212F表示本文描述的原理不限于系统210中的服务的数量。服务协调系统213与主机211和服务212通信以由此提供客户机201所请求的服务以及可以是所请求的服务的先决条件的其他服务(诸如授权、记账等)。
图5示出了可表示图2所示的一个服务212的中间件管理服务500。中间件管理服务500被配置成维护针对多个租户中的每一个以及针对可能的多个中间件功能中的每一个的按租户中间件策略。因此,图5示出了其中策略被表示为租户在垂直维度上且中间件功能在水平维度上的二维网格的中间件策略组件501。策略具有标识名501Xy,其中X是租户的标识符(租户A到D),而y是中间件功能的标识符(中间件功能a到e)。当然,策略可以按任何方式表示,而不是仅仅二维网格。该网格仅仅为了便于向读者可视化中间件策略的按租户和按功能表示而提供。
中间件功能可以是对相关联的租户的网络话务应用有条件过滤或有条件变换的任何功能。仅仅作为示例,中间件功能可包括以下各项:
1)防火墙功能,该功能过滤传入话务并且不允许特定话务类型到达虚拟机和/或过滤传出话务并且不允许虚拟机分派特定话务类型;
2)防病毒功能,该功能执行对特定类型的传出或传入网络话务的防病毒检查;
3)隔离区功能,该功能在沙箱环境中执行特定类型的网络话务以标识执行将导致发生什么并取决于效果来过滤网络话务;
4)加密和/或解密功能,该功能加密传出网络话务和/或解密传入网络话务;
5)压缩和/或解压缩功能,该功能压缩传出网络话务和/或解压传入网络话务,等等。
对于每一个中间件功能并且对于每一个租户,中间件策略501由此包括策略。注意,这些策略可具有在该策略内表达的默认设置,或者基于缺失信息来推断的其他设置,等等。此外,策略本身可以是接收各种输入的功能的产物。例如,策略501Aa可专用于租户A和功能a,该策略是将压缩特定类型的传出网络话务,但只在特定时间期间,且只在主机资源使用低于特定水平的情况下,且只在主机的网络带宽使用高于特定水平的情况下。
注意,策略501支持被抽象地标记为功能a到e的五个中间件功能。然而,策略501可支持从一个到许多个的任何数量的功能。所支持的功能可以是作为默认由中间件管理服务200提供的中间件功能库的一部分的预定义的功能。此外,这些策略中的一个、部分或全部不一定被应用于所有租户。例如,假设租户A不具有相关联的防火墙功能(例如,功能a)并由此对于租户A和功能a不存在相关联的策略501Aa。作为另一示例,假设租户B不具有相关联的防病毒功能(例如,功能c)并由此对于租户B和功能c不存在相关联的策略501Bc。还注意,策略501支持被抽象地标记为功能A到D的四个租户。然而,策略501可支持从一个到许多个的任何数量的租户。
中间件管理服务500还包括准许改变按租户中间件策略501的策略调整组件502。作为示例,参考图2,具有适当凭证的客户机可改变策略501的一个或多个分量。改变凭证的权力的范围可限于对应于特定租户或租户组的策略,或者限于中间件功能或中间件功能组,或者可以按其他方式受限。
策略确定组件503取决于对应于网络话务的虚拟机且取决于被分配给虚拟机的租户以及取决于中间件功能来确定要应用于网络话务的策略。在图5中,存在各自对应于中间件功能a到e的多个这样的确定组件503A到503E。路由组件504导致网络话务被路由以使得所确定的策略使用中间件来被应用于网络话务。例如,路由组件504可将网络话务路由至图4的中间件实施机构400。
图6示出了用于中间件管理服务操作以对网络话务项执行按租户中间件功能的方法600的流程图。方法600可由例如图5的中间件管理服务500来执行。因此,图6的方法600将频繁地参考图5的中间件管理服务500来描述。
中间件管理服务500访问网络话务项的一个或多个特性(动作601)。这些特性可包括(仅仅作为示例)网络话务是传入还是传出、是否具有特定大小、是否根据特定协议来传送、是否具有特定内容,等等。这些特性可例如由服务协调系统213来提供。中间件管理服务500标识对应于网络话务的虚拟机(动作602)(例如,在传入网络话务的情况下的网络话务去往的虚拟机,或者在传出网络话务的情况下的网络话务源自的虚拟机)。该信息可能已经由服务协调系统213确定并被提供给中间件管理服务500,和/或中间件管理服务500可能已经基于网络话务特性确定虚拟机身份。
中间件管理服务500然后确定什么租户被分配给虚拟机(动作603)。基于租户身份,确定组件503可参照中间件策略501以便标识要应用于网络话务的(诸)中间件功能(动作604),并标识要应用于那些中间件功能的相应配置(动作605)。然后可采用路由组件504以使得适当配置的中间件功能被应用于网络话务的方式来路由网络话务(动作606)。例如,路由组件可使得网络话务被路由到负责对目标虚拟机应用所标识的中间件的中间件实施机构400。网络话务可包括用于中间件实施组件的关于哪些中间件功能、以什么次序以及在具有什么配置的情况下被应用的指令。
例如,在主示例中,中间件管理服务可接收网络话务的特性并确定网络话务对应于图3的主机300中的虚拟机310A(即主示例中的主机210)。中间件管理服务然后可以参照策略501来确定将要执行功能401A和401B。然后,中间件管理服务可以将网络话务分派给中间件实施组件400,在使得中间件实施组件400执行功能401A和401B的配置的情况下该中间件实施组件400将代表目标虚拟机应用中间件功能401A和401B。
再次参考图5,中间件管理服务500可具有用于向由中间件管理服务500服务的可用中间件功能添加中间件服务或功能的扩展性机构505。由此,第三方中间件功能可被添加到中间件管理服务500。例如,假设将要添加新中间件功能f,扩展性机构505可包括准许服务协调系统213导致附加策略被填充以便为一个或多个租户支持功能f的应用程序接口。另外,中间件确定功能可被添加以处理针对该新功能的配置确定。
回头参考图3,记得在一个实施例中主机本身具有中间件实施机构,该中间件实施机构是图3的其他组件303的示例并且被抽象地示为图4中的中间件实施机构400。存在能够在主机上实现这一中间件实施机构400的各种方式。在一个示例中,中间件实施机构是在特定主机上运行的专用虚拟机,并且其操作以执行用于其他虚拟机的中间件功能。由于所有虚拟机都在安全环境中操作并且被防止使用主机操作系统来损害主机,因此这是允许第三方添加中间件功能同时降低对主机的损害的风险的更安全的方式。另一种方式是使得中间件实施机构担当主机操作系统的一部分。然而,记得中间件实施机构400中的部分或全部可以驻留在与目标虚拟机不同的主机中和/或可能驻留在任何主机之外。
因此,本文描述的原理允许中间件功能被灵活地结合到诸如云计算环境等系统中,同时可能允许第三方向云添加自定义中间件功能。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (10)

1.一种系统,包括:
多个主机,每一个主机运行多个虚拟机;
中间件实施机构,所述中间件实施机构被配置成对与在所述多个主机中的至少特定主机上运行的所述多个虚拟机中的至少某一些相对应的网络话务应用中间件功能;
包括中间件管理服务的多个服务,所述中间件管理服务被配置成维护针对多个租户中的每一个租户的按租户中间件策略,并使得通过在至少在某些情况下将网络话务导向所述中间件实施机构来对网络话务应用所述中间件策略,所述中间件策略取决于被分配给对应于所述网络话务的虚拟机的租户的身份;以及
与所述多个主机以及所述多个服务通信的服务协调系统。
2.如权利要求1所述的系统,其特征在于,所述中间件功能是有条件过滤操作。
3.如权利要求1所述的系统,其特征在于,所述中间件功能是有条件变换操作。
4.如权利要求1所述的系统,其特征在于,所述系统是云计算环境。
5.如权利要求1所述的系统,其特征在于,所述中间件管理服务具有用于多个中间件服务的策略。
6.如权利要求5所述的系统,其特征在于,所述中间件管理服务包括用于向所述多个中间件服务添加中间件服务的机构。
7.如权利要求1所述的系统,其特征在于,对于至少特定主机,所述中间件实施机构包括在所述特定主机上运行的专用虚拟机。
8.如权利要求1所述的系统,其特征在于,对于至少特定主机,所述中间件实施机构包括主机操作系统的组件。
9.一种实现中间件管理服务的计算系统,包括:
维护针对多个租户中的每一个租户的按租户中间件策略的策略数据组件;
准许改变所述按租户中间件策略的策略调整组件;
策略确定组件,所述策略确定组件取决于对应于网络话务的虚拟机且取决于被分配给所述虚拟机的租户来确定要应用于所述网络话务的策略;以及
路由组件,所述路由组件被配置成使得所述网络话务被路由以使得所确定的策略使用中间件来应用于所述网络话务。
10.如权利要求9所述的计算系统,其特征在于,所述策略确定组件包括多个策略确定组件,其中所述中间件管理服务还包括允许向所述中间件管理服务添加第三方策略确定组件的扩展性机构。
CN201380032689.XA 2012-06-19 2013-06-12 多租户中间件云服务技术 Active CN104395886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810281833.8A CN108459911B (zh) 2012-06-19 2013-06-12 用于多租户中间件云服务的方法和系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/527,372 US8775599B2 (en) 2012-06-19 2012-06-19 Multi-tenant middleware cloud service technology
US13/527,372 2012-06-19
PCT/US2013/045524 WO2013191993A1 (en) 2012-06-19 2013-06-12 Multi-tenant middleware cloud service technology

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810281833.8A Division CN108459911B (zh) 2012-06-19 2013-06-12 用于多租户中间件云服务的方法和系统

Publications (2)

Publication Number Publication Date
CN104395886A true CN104395886A (zh) 2015-03-04
CN104395886B CN104395886B (zh) 2018-04-27

Family

ID=48703902

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380032689.XA Active CN104395886B (zh) 2012-06-19 2013-06-12 多租户中间件云服务技术
CN201810281833.8A Active CN108459911B (zh) 2012-06-19 2013-06-12 用于多租户中间件云服务的方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810281833.8A Active CN108459911B (zh) 2012-06-19 2013-06-12 用于多租户中间件云服务的方法和系统

Country Status (4)

Country Link
US (5) US8775599B2 (zh)
EP (1) EP2862074A1 (zh)
CN (2) CN104395886B (zh)
WO (1) WO2013191993A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021400A (zh) * 2017-11-29 2018-05-11 腾讯科技(深圳)有限公司 数据处理方法及装置、计算机存储介质及设备
CN112035395A (zh) * 2015-04-17 2020-12-04 微软技术许可有限责任公司 在使用加速部件的系统中处理租户要求

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775599B2 (en) 2012-06-19 2014-07-08 Microsoft Corporation Multi-tenant middleware cloud service technology
US9215214B2 (en) * 2014-02-20 2015-12-15 Nicira, Inc. Provisioning firewall rules on a firewall enforcing device
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9438673B2 (en) 2014-07-16 2016-09-06 Microsoft Technology Licensing, Llc Dynamic update streams for real time provisioning
US9419958B2 (en) 2014-11-25 2016-08-16 Oracle International Corporation Multi-tenancy support in a cloud based data grid
CN104767741B (zh) * 2015-03-24 2018-03-06 杭州安恒信息技术有限公司 一种基于轻型虚拟机的计算服务分离与安全保护系统
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US9612865B2 (en) 2015-06-15 2017-04-04 International Business Machines Corporation Managed services coordinator
US10191757B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing Llc Seamless address reassignment via multi-tenant linkage
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US9680706B2 (en) 2015-06-30 2017-06-13 Nicira, Inc. Federated firewall management for moving workload across data centers
US10212078B2 (en) 2015-07-09 2019-02-19 International Business Machines Corporation Enabling network services in multi-tenant IAAS environment
US20170170990A1 (en) 2015-12-15 2017-06-15 Microsoft Technology Licensing, Llc Scalable Tenant Networks
US9823919B2 (en) * 2015-12-30 2017-11-21 Microsoft Technology Licensing, Llc Controlled deployment of application feature in mobile environment
CN105786630B (zh) * 2016-02-26 2019-02-15 浪潮通用软件有限公司 一种基于中间件的Web API调控方法
CN105743907B (zh) * 2016-03-21 2019-06-18 浙江大学 一种基于虚拟环境的主动防御木马方法
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US10944722B2 (en) 2016-05-01 2021-03-09 Nicira, Inc. Using activities to manage multi-tenant firewall configuration
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
US10592293B2 (en) 2017-08-31 2020-03-17 Cisco Technology, Inc. Tenant-specific policy generation and enforcement within containers
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
CN110113269B (zh) * 2019-04-28 2022-10-04 平安科技(深圳)有限公司 一种基于中间件的流量控制的方法及相关装置
US11418995B2 (en) 2019-11-29 2022-08-16 Amazon Technologies, Inc. Mobility of cloud compute instances hosted within communications service provider networks
US10965737B1 (en) * 2019-11-29 2021-03-30 Amazon Technologies, Inc. Cloud computing in communications service provider networks
US11394634B2 (en) 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11363095B1 (en) 2021-01-29 2022-06-14 Netskope, Inc. Policy-driven client and destination priority
IT202100030917A1 (it) 2021-12-09 2023-06-09 Digix S R L Sistema di gestione finanziaria con middleware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235325A1 (en) * 2006-03-02 2009-09-17 Theo Dimitrakos Message processing methods and systems
US20100198972A1 (en) * 2009-02-04 2010-08-05 Steven Michael Umbehocker Methods and Systems for Automated Management of Virtual Resources In A Cloud Computing Environment
CN102103518A (zh) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
CN102479100A (zh) * 2010-11-26 2012-05-30 中国科学院软件研究所 一种普适计算环境虚拟机平台及其创建方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035326A (en) * 1997-05-07 2000-03-07 International Business Machines Corporation Mapping table lookup optimization system
US7389358B1 (en) * 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US20020107977A1 (en) * 2000-12-07 2002-08-08 Andrew Dunshea Multi-server system dynamic re-configuration
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US8095668B2 (en) * 2001-11-09 2012-01-10 Rockstar Bidco Lp Middlebox control
US8667165B2 (en) * 2002-01-11 2014-03-04 International Business Machines Corporation Dynamic modification of application behavior in response to changing environmental conditions
CN100346332C (zh) * 2003-01-06 2007-10-31 国际商业机器公司 服务提供系统和方法,感知网络生成设备和方法
JP4688472B2 (ja) * 2004-11-01 2011-05-25 株式会社エヌ・ティ・ティ・ドコモ 端末制御装置及び端末制御方法
WO2006061754A1 (en) * 2004-12-07 2006-06-15 Philips Intellectual Property & Standards Gmbh System and method for application management on multi-application smart cards
US8060074B2 (en) * 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US7886050B2 (en) * 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
WO2009113610A1 (ja) * 2008-03-12 2009-09-17 ソニー株式会社 コンテンツ記録システム、コンテンツ記録方法、コンテンツ記録装置、およびコンテンツ受信装置
US8473594B2 (en) 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US8869099B2 (en) * 2008-07-28 2014-10-21 Infosys Limited System and method of enabling multi-tenancy for software as a service application
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
US7885276B1 (en) 2008-09-30 2011-02-08 Emc Corporation Isolating network traffic in multi-tenant virtualization environments
CN101777047A (zh) * 2009-01-08 2010-07-14 国际商业机器公司 多租户环境下访问数据库的系统、设备和方法
WO2010127266A1 (en) * 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for providing a virtual appliance in an application delivery fabric
US20110083179A1 (en) * 2009-10-07 2011-04-07 Jeffrey Lawson System and method for mitigating a denial of service attack using cloud computing
US8369333B2 (en) * 2009-10-21 2013-02-05 Alcatel Lucent Method and apparatus for transparent cloud computing with a virtualized network infrastructure
CN101739292B (zh) * 2009-12-04 2016-02-10 曙光信息产业(北京)有限公司 基于应用特征的异构集群作业自适应调度方法和系统
US9749441B2 (en) * 2009-12-08 2017-08-29 Sap Se Application server runlevel framework
US8683322B1 (en) * 2010-02-10 2014-03-25 Socialware, Inc. Method, system and computer program product for structuring unstructured data originating from uncontrolled web application
CN101873311A (zh) * 2010-05-26 2010-10-27 上海动量软件技术有限公司 云构件软件系统基于政策的网络实现配置条款处理的方法
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
JP5678508B2 (ja) * 2010-07-29 2015-03-04 日本電気株式会社 シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム
US8458346B2 (en) 2010-07-30 2013-06-04 Sap Ag Multiplexer for multi-tenant architectures
US8904511B1 (en) 2010-08-23 2014-12-02 Amazon Technologies, Inc. Virtual firewalls for multi-tenant distributed services
US8505068B2 (en) * 2010-09-29 2013-08-06 Microsoft Corporation Deriving express rights in protected content
CN102065122A (zh) * 2010-11-11 2011-05-18 上海海事大学 一种基于射频识别及云计算的船联网构建方法
CN102169505A (zh) * 2011-05-16 2011-08-31 苏州两江科技有限公司 基于云计算的推荐系统构建方法
US8466807B2 (en) * 2011-06-01 2013-06-18 GM Global Technology Operations LLC Fast collision detection technique for connected autonomous and manual vehicles
US8516241B2 (en) 2011-07-12 2013-08-20 Cisco Technology, Inc. Zone-based firewall policy model for a virtualized data center
US8730980B2 (en) 2011-12-27 2014-05-20 Cisco Technology, Inc. Architecture for scalable virtual network services
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
US8943000B2 (en) 2012-01-20 2015-01-27 Cisco Technology, Inc. Connectivity system for multi-tenant access networks
US9407450B2 (en) 2012-05-01 2016-08-02 Cisco Technnology, Inc. Method and apparatus for providing tenant information for network flows
US8775599B2 (en) 2012-06-19 2014-07-08 Microsoft Corporation Multi-tenant middleware cloud service technology
US9208032B1 (en) * 2013-05-15 2015-12-08 Amazon Technologies, Inc. Managing contingency capacity of pooled resources in multiple availability zones
US9667533B2 (en) * 2015-09-17 2017-05-30 Nxp Usa, Inc. Creating and utilizing customized network applications
US10169608B2 (en) * 2016-05-13 2019-01-01 Microsoft Technology Licensing, Llc Dynamic management of data with context-based processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235325A1 (en) * 2006-03-02 2009-09-17 Theo Dimitrakos Message processing methods and systems
US20100198972A1 (en) * 2009-02-04 2010-08-05 Steven Michael Umbehocker Methods and Systems for Automated Management of Virtual Resources In A Cloud Computing Environment
CN102479100A (zh) * 2010-11-26 2012-05-30 中国科学院软件研究所 一种普适计算环境虚拟机平台及其创建方法
CN102103518A (zh) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035395A (zh) * 2015-04-17 2020-12-04 微软技术许可有限责任公司 在使用加速部件的系统中处理租户要求
CN108021400A (zh) * 2017-11-29 2018-05-11 腾讯科技(深圳)有限公司 数据处理方法及装置、计算机存储介质及设备

Also Published As

Publication number Publication date
US9264360B2 (en) 2016-02-16
CN104395886B (zh) 2018-04-27
US10924404B2 (en) 2021-02-16
US20190253352A1 (en) 2019-08-15
US10212085B2 (en) 2019-02-19
EP2862074A1 (en) 2015-04-22
CN108459911A (zh) 2018-08-28
US20140304387A1 (en) 2014-10-09
WO2013191993A1 (en) 2013-12-27
US20160149813A1 (en) 2016-05-26
US9705796B2 (en) 2017-07-11
US8775599B2 (en) 2014-07-08
CN108459911B (zh) 2022-08-16
US20130339505A1 (en) 2013-12-19
US20170302579A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
CN104395886A (zh) 多租户中间件云服务技术
US20220327003A1 (en) Cloud edge device virtualization
CN101128807B (zh) 用于扩充中断控制器和合成中断来源的系统和方法
CN103270492B (zh) 用于网络使能应用的硬件加速图形的方法和系统
US10263907B2 (en) Managing virtual network ports
CN104428752A (zh) 将虚拟机流卸载至物理队列
CN105979007A (zh) 加速资源处理方法、装置及网络功能虚拟化系统
CN103530167A (zh) 一种虚拟机内存数据的迁移方法及相关装置和集群系统
CN105684357A (zh) 虚拟机中地址的管理
CN103973741A (zh) 用于在云系统中进行远程调试的方法和装置
CN103942087A (zh) 虚拟机热迁移方法及相关装置和集群系统
US11005925B2 (en) Load balancing with power of random choices
CN109656706A (zh) 分布式任务调度方法、系统、设备以及介质
US11907766B2 (en) Shared enterprise cloud
KR20180038515A (ko) 제공자 네트워크에서의 그래픽 처리 가상화
CN108885686B (zh) 用于视频分析的基于云的主动调试系统
US20220103415A1 (en) Remote network and cloud infrastructure management
CN110532060A (zh) 一种混合网络环境数据采集方法及系统
CN117149665B (zh) 持续集成方法、控制设备、持续集成系统及存储介质
CN106161501A (zh) 虚拟桌面的数据共享方法和装置
CN107688441B (zh) 一种存储虚拟化的实现方法及装置
US20150147057A1 (en) Placing a fibre channel switch into a maintenance mode in a virtualized computing environment via path change
US10552186B2 (en) Avoiding overloading of network adapters in virtual environments
CN109962788A (zh) 多控制器调度方法、装置和系统及计算机可读存储介质
WO2023012553A1 (en) System for the containerization of business workstations with low-cost remote user interfaces

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171023

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant