CN104572243A - 用于共享Java虚拟机的方法和系统 - Google Patents

用于共享Java虚拟机的方法和系统 Download PDF

Info

Publication number
CN104572243A
CN104572243A CN201310511235.2A CN201310511235A CN104572243A CN 104572243 A CN104572243 A CN 104572243A CN 201310511235 A CN201310511235 A CN 201310511235A CN 104572243 A CN104572243 A CN 104572243A
Authority
CN
China
Prior art keywords
tenant
address
localhost
port
network 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.)
Granted
Application number
CN201310511235.2A
Other languages
English (en)
Other versions
CN104572243B (zh
Inventor
蔡俊杰
李三红
高巍巍
陈磊
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310511235.2A priority Critical patent/CN104572243B/zh
Priority to US14/510,887 priority patent/US9686129B2/en
Publication of CN104572243A publication Critical patent/CN104572243A/zh
Priority to US15/588,644 priority patent/US10237126B2/en
Application granted granted Critical
Publication of CN104572243B publication Critical patent/CN104572243B/zh
Priority to US16/199,171 priority patent/US10623242B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Abstract

本发明涉及虚拟化技术,公开了一种用于共享JAVA虚拟机的方法和系统其中所述JAVA虚拟机具有多个租户,所述方法包括:分别为所述多个租户的每一个分配IP地址;分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。通过本发明的方法能够实现共享Java虚拟机的多个租户之间的网络隔离。

Description

用于共享Java虚拟机的方法和系统
技术领域
本发明涉及虚拟化技术。更确切的,本发明涉及一种用于共享Java虚拟机的方法和系统。
背景技术
多租户Java虚拟机技术允许多个租户程序运行在共享的Java虚拟机内。这种技术在基于云环境的高密度部署中将会扮演重要角色。
然而,当前的多租户Java虚拟机不能实现多个租户之间的网络隔离。如果租户没有被配置正确的话,网络资源(比如端口)将会冲突;另外,由于没有实现网络隔离,对租户的网络资源控制能力也将变得十分有限。例如:我们将很难为不同的租户配置不同的防火墙策略。
发明内容
因此,需要一种用于共享Java虚拟机的方法和系统,能够实现共享Java虚拟机的多个租户之间的网络隔离。
本发明的说明性实施例提供了一种用于共享JAVA虚拟机的方法,其中所述JAVA虚拟机具有多个租户,所述方法包括:分别为所述多个租户的每一个分配IP地址;分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。
根据本发明的一个实施例,如果某一租户的IP地址与IPADDR_ANY绑定,所述方法进一步包括:将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;建立所述另一端口和所有租户共享的localhost端口之间的映射。
本发明的说明性实施例还提供了一种用于共享JAVA虚拟机的系统,其中所述JAVA虚拟机具有多个租户,所述系统包括:分配单元,配置为分别为所述多个租户的每一个分配IP地址;创建单元,配置为分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。
根据本发明的一个实施例,如果某一租户的IP地址与IPADDR_ANY绑定,所述系统进一步包括:绑定单元,配置为将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;建立单元,配置为建立所述另一端口和所有租户共享的localhost端口之间的映射。
利用说明性实施例的方法和系统,能够实现共享Java虚拟机的多个租户之间的网络隔离。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示出了根据本发明一个实施例的用于共享Java虚拟机的方法200的流程图;
图3示出了根据本发明一个实施例的用于共享Java虚拟机的系统300的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
除了图1显示传统的计算机系统/服务器12,适于用来实现本发明实施方式还可以包括移动电子设备,包括但不限于移动电话、PDA、平板电脑等。典型的,移动电子设备具有输入设备包括但不限于接触式输入设备,如触摸屏、触摸板等。
下面结合附图2描述本发明实施例的具体执行方式。图2示出了根据本发明的一个实施例的用于共享JAVA虚拟机(JVM)的方法200的流程图,图2的方法中,JVM具有多个租户。方法200从步骤202开始,接下来,方法200进入步骤204,其中分别为多个租户的每一个分配IP地址。根据本发明的一个实施例,可以利用DHCP协议为多个租户的每一个分配IP地址,每个租户的IP地址可以彼此互不相同。当然也可以采用现有技术中任何其他可能的方式为多个租户的每一个分配IP地址,这里不在赘述。
接下来,方法200进入步骤206,其中分别为多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址,其中,对于多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。
根据本发明的一个实施例,可以利用虚拟化技术应用程序接口(API)分别为多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址。虚拟机化技术应用程序接口的一个例子可以是libvirt。Libvirt是一种可以建立工具来管理来宾操作系统的API,提供一种虚拟机监控程序不可知的API来安全管理运行于主机上的来宾操作系统。下面给出了利用libvirt进行虚拟网络配置的XML代码,下面的代码可以实现为Java本地调用(JNI),这样,JVM能够利用它创建虚拟网络接口。
应该理解,上面给出的代码只是出于说明的目的。同样的,上面给出的libvirt也只是出于说明的目的,本发明并不限定于libvirt。所属领域技术人员可以利用现有技术中其他适用的API(例如Hyper-v)来分别为多个租户的每一个创建具有所分配的IP地址的虚拟网络接口,上面给出的说明不能用于限制权利要求的保护范围。
根据本发明的一个实施例,租户的网络操作通过为其创建的虚拟网络接口进行。在为租户分配了IP地址并创建独立的虚拟网络接口并配置所分配的IP地址之后,租户的所有网络操作都被截取并透明地重定向到为该租户创建的虚拟网络接口。JVM可以通过租户上下文信息识别租户。租户上下文信息是指对于某一网络操作请求,描述与该请求相关联的特定租户的标识。租户上下文描述了网络操作请求属于哪个租户。租户上下文一般可以由唯一的租户标识符表示。利用租户上下文信息,JVM识别与某一网络操作请求相关联的特定租户,进而将该网络操作请求重定向到为该特定租户创建的虚拟网络接口,使得租户的网络操作通过为该特定租户创建的虚拟网络接口进行。
根据本发明的一个实施例,响应于租户终止,回收为其分配的网络资源,包括为该租户分配的IP地址,为该租户创建的虚拟网络接口等。
根据本发明的一个实施例,如果某一租户的IP地址与IPADDR_ANY绑定,方法200进一步包括:将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定,建立该另一端口与所有租户共享的localhost端口之间的映射。与IPADDR_ANY绑定表示与为租户分配的IP地址以及租户本身的localhost都进行了绑定。由于在JVM中所有租户共享localhost,因此通过将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定,并建立该另一端口与所有租户共享的localhost端口之间的映射,来实现多个租户之间的隔离。举例来说,如果某一租户的IP地址与IPADDR_ANY进行了绑定,那么意味着该租户将他的网络操作与分配的IP地址以及本身的localhost都进行了绑定。在JVM中,所有租户共享的localhost端口为8080,为了实现多个租户之间的隔离,可以将该租户的localhost与不同于所有租户共享的localhost端口8080的另一端口绑定,例如将该租户的localhost与端口9000绑定,并在该租户建立端口8080和端口9000之间的映射。在进行网络操作时,向该租户的localhost传送的数据(即通过localhost:8080传送的数据)实际上是通过(localhost:9090)进行的。同理,如果另一租户的IP地址也与IPADDR_ANY进行了绑定,那么意味着该租户的IP地址与其本身的localhost也进行了绑定。为了实现前面提到的某一租户与改另一租户之间的隔离,可以将该另一租户的localhost与不同于所有租户共享的localhost端口8080以及上面提到的某一租户的localhost绑定的端口9000的另一其他端口绑定,例如将该租户的localhost与端口12000绑定,并在该另一租户建立端口8080和端口12000之间的映射。在进行网络操作时,向该另一租户的localhost传送的数据(即通过localhost:8080传送的数据)实际上是通过(localhost:12000)进行的。通过由JVM确保与IPADDR_ANY绑定的多个租户的每一个的localhost具有彼此不同的端口范围以实现多个租户之间的隔离。在Java底层的Bind方法的实现上,不同于传统的JDK,在没有发生真正的网络传输(例如Accept)之前本发明的Bind什么都不处理。当发生了真正的网络传输,例如Accept,如果发现操作涉及的是IPADDR_ANY地址,根据本发明的实施例,创建两个套接字(Socket),一个套接字用于侦听为租户分配的IP地址,而另一个用于侦听localhost。举例来说,假设某一租户通过Bind IPADDR_ANY来进行Accept操作,如果一个远端的连接出现在为该租户分配的IP地址上,那么返回与该IP地址相匹配的套接字,并且不会对任何后续发生在该套接字上的网络操作做特别处理。否则,如果连接出现在localhost上,则返回与该租户的localhost相匹配的套接字,其中,该与localhost匹配的套接字中的端口是如前描述的不同于所有租户共享的localhost端口的另一端口,可以通过如前描述的映射来确定该另一端口。
下面参见图3,其中显示了本发明一个实施例的用于共享Java虚拟机的系统300的框图,其中JAVA虚拟机具有多个租户。如图所示,用于共享JAVA虚拟机的系统300包括:分配单元302,配置为分别为所述多个租户的每一个分配IP地址;创建单元304,配置为分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。
根据本发明的一个实施例,创建单元302利用虚拟化技术应用程序接口分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址。虚拟化技术应用程序接口的例子包括但不限于libvirt。
根据本发明的一个实施例,系统300进一步包括:回收单元(未示出),配置为响应于租户终止,回收为其分配的网络资源,包括为该租户分配的IP地址,为该租户创建的虚拟网络接口等。
根据本发明的一个实施例,多个租户通过租户上下文信息进行识别。
根据本发明的一个实施例,如果某一租户的IP地址与IPADDR_ANY绑定,系统300进一步包括:绑定单元(未示出),配置为将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;以及建立单元(未示出),配置为建立所述另一端口和所有租户共享的localhost端口之间的映射。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种用于共享JAVA虚拟机的方法,其中所述JAVA虚拟机具有多个租户,所述方法包括:
分别为所述多个租户的每一个分配IP地址;
分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;
其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。
2.根据权利要求1的方法,其中利用虚拟化技术应用程序接口分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址。
3.根据权利要求1的方法,进一步包括:
响应于租户终止,回收为其分配的IP地址。
4.根据权利要求1的方法,其中,所述多个租户通过租户上下文信息进行识别。
5.根据权利要求1的方法,如果某一租户的IP地址与IPADDR_ANY绑定,所述方法进一步包括:
将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;
建立所述另一端口和所有租户共享的localhost端口之间的映射。
6.一种用于共享JAVA虚拟机的系统,其中所述JAVA虚拟机具有多个租户,所述系统包括:
分配单元,配置为分别为所述多个租户的每一个分配IP地址;
创建单元,配置为分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;
其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。
7.根据权利要求6的系统,其中所述创建单元利用虚拟化技术应用程序接口分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址。
8.根据权利要求6的系统,进一步包括:
回收单元,配置为响应于租户终止,回收为其分配的IP地址。
9.根据权利要求6的系统,其中,所述多个租户通过租户上下文信息进行识别。
10.根据权利要求6的系统,如果某一租户的IP地址与IPADDR_ANY绑定,所述系统进一步包括:
绑定单元,配置为将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;
建立单元,配置为建立所述另一端口和所有租户共享的localhost端口之间的映射。
CN201310511235.2A 2013-10-25 2013-10-25 用于共享Java虚拟机的方法和系统 Active CN104572243B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310511235.2A CN104572243B (zh) 2013-10-25 2013-10-25 用于共享Java虚拟机的方法和系统
US14/510,887 US9686129B2 (en) 2013-10-25 2014-10-09 Sharing a java virtual machine
US15/588,644 US10237126B2 (en) 2013-10-25 2017-05-06 Sharing a java virtual machine
US16/199,171 US10623242B2 (en) 2013-10-25 2018-11-24 Sharing a java virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310511235.2A CN104572243B (zh) 2013-10-25 2013-10-25 用于共享Java虚拟机的方法和系统

Publications (2)

Publication Number Publication Date
CN104572243A true CN104572243A (zh) 2015-04-29
CN104572243B CN104572243B (zh) 2017-09-29

Family

ID=52996772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310511235.2A Active CN104572243B (zh) 2013-10-25 2013-10-25 用于共享Java虚拟机的方法和系统

Country Status (2)

Country Link
US (3) US9686129B2 (zh)
CN (1) CN104572243B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572243B (zh) 2013-10-25 2017-09-29 国际商业机器公司 用于共享Java虚拟机的方法和系统
US10326650B2 (en) 2015-04-06 2019-06-18 Illumio, Inc. Enforcing rules for bound services in a distributed network management system that uses a label-based policy model
US9887961B2 (en) 2015-05-22 2018-02-06 International Business Machines Corporation Multi-tenant aware dynamic host configuration protocol (DHCP) mechanism for cloud networking
CN107861792A (zh) * 2017-11-06 2018-03-30 郑州云海信息技术有限公司 一种基于Libvirt的虚拟机管理方法及装置
CN108039974A (zh) * 2017-12-19 2018-05-15 国云科技股份有限公司 一种云平台虚拟机逃逸监测告警方法
CN111771190B (zh) 2018-04-12 2024-04-09 华为云计算技术有限公司 探测虚拟机状态的方法和设备
CN109117341A (zh) * 2018-08-14 2019-01-01 郑州云海信息技术有限公司 一种虚拟机的监控方法、装置、设备及介质
US10901893B2 (en) * 2018-09-28 2021-01-26 International Business Machines Corporation Memory bandwidth management for performance-sensitive IaaS
WO2021196080A1 (en) * 2020-04-01 2021-10-07 Vmware Information Technology (China) Co., Ltd. Auto deploying network elements for heterogeneous compute elements
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
CN112549023B (zh) * 2020-11-25 2022-05-27 浙江同善人工智能技术有限公司 基于TCP socket接口工业机器人示教器模式与协程控制方法
US11902245B2 (en) 2022-01-14 2024-02-13 VMware LLC Per-namespace IP address management method for container networks
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
US20130018765A1 (en) * 2011-07-15 2013-01-17 International Business Machines Corporation Securing applications on public facing systems
CN103065081A (zh) * 2013-01-11 2013-04-24 北京搜狐新媒体信息技术有限公司 一种PaaS平台的安全运行方法和PaaS平台

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131120B2 (en) 2002-05-16 2006-10-31 Sun Microsystems, Inc. Inter Java virtual machine (JVM) resource locking mechanism
US8392564B1 (en) 2005-06-20 2013-03-05 Oracle America, Inc. Cluster-wide resource usage monitoring
US7814472B2 (en) 2005-09-12 2010-10-12 Oracle International Corporation System and method for shared code-sourcing in a Java Virtual Machine environment
US8089957B2 (en) * 2006-01-27 2012-01-03 Broadcom Corporation Secure IP address exchange in central and distributed server environments
US8146084B1 (en) 2007-02-21 2012-03-27 Adobe Systems Incorporated Loading applications in non-designated isolation environments
US8589918B1 (en) * 2007-03-21 2013-11-19 Moka5, Inc. Multi-platform compatible portable virtual machine player
US20080288622A1 (en) * 2007-05-18 2008-11-20 Microsoft Corporation Managing Server Farms
US8838817B1 (en) * 2007-11-07 2014-09-16 Netapp, Inc. Application-controlled network packet classification
CN101656657A (zh) 2008-08-19 2010-02-24 国际商业机器公司 在多租户架构中确定每个租户的资源使用率的方法和系统
US8842679B2 (en) 2010-07-06 2014-09-23 Nicira, Inc. Control system that elects a master controller instance for switching elements
US9075640B1 (en) 2010-12-21 2015-07-07 Amazon Technologies, Inc. Sharing applications in a java virtual machine
US9900224B2 (en) * 2011-08-04 2018-02-20 Midokura Sarl System and method for implementing and managing virtual networks
US9008097B2 (en) * 2012-12-31 2015-04-14 Mellanox Technologies Ltd. Network interface controller supporting network virtualization
US9628328B2 (en) * 2013-03-15 2017-04-18 Rackspace Us, Inc. Network controller with integrated resource management capability
US20150006730A1 (en) * 2013-06-27 2015-01-01 Sap Ag Enabling multi-tenant virtual servers in a cloud system
CN104572243B (zh) 2013-10-25 2017-09-29 国际商业机器公司 用于共享Java虚拟机的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
US20130018765A1 (en) * 2011-07-15 2013-01-17 International Business Machines Corporation Securing applications on public facing systems
CN103065081A (zh) * 2013-01-11 2013-04-24 北京搜狐新媒体信息技术有限公司 一种PaaS平台的安全运行方法和PaaS平台

Also Published As

Publication number Publication date
US20170257266A1 (en) 2017-09-07
US10237126B2 (en) 2019-03-19
US9686129B2 (en) 2017-06-20
US20150120962A1 (en) 2015-04-30
CN104572243B (zh) 2017-09-29
US10623242B2 (en) 2020-04-14
US20190097879A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
CN104572243A (zh) 用于共享Java虚拟机的方法和系统
EP3242217B1 (en) Systems and methods for flexible hdd/ssd storage support
CN106506314B (zh) 基于docker的网络高可用方法及装置
CN104079507B (zh) 同步ip信息的方法和装置
TWI594600B (zh) 網路交換器與使用網路交換器更新裝置的方法
US7970852B2 (en) Method for moving operating systems between computer electronic complexes without loss of service
CN103150514B (zh) 一种基于移动设备的可信模块及其可信服务方法
US9081507B2 (en) Shared storage access management systems and methods
CN104636264A (zh) 主动/被动存储系统中的负载平衡逻辑单元
CN104252375A (zh) 用于位于不同主机的多个虚拟机共享USB Key的方法和系统
CN103843302A (zh) 有状态环境中的网络适配器硬件状态迁移发现
CN102571698A (zh) 一种虚拟机访问权限的控制方法、系统及装置
CN102316043B (zh) 端口虚拟化方法、交换机及通信系统
CN104579740A (zh) 用于管理虚拟网络端口的方法和系统
US9336032B2 (en) Zoning data to a virtual machine
CN106878204B (zh) 一种虚拟机的创建方法和装置
CN109474467B (zh) 网络自动化管理方法、装置、存储介质及电子设备
CN104471553A (zh) 用于共享地址装置的聚合的方法、装置和系统
KR101680702B1 (ko) 클라우드 기반 웹 호스팅 시스템
CN103729234A (zh) 一种虚拟机集群化管理方法和装置
CN105745621A (zh) 在服务器上仿真测试分布式应用
CN104468587A (zh) 一种云计算环境下的虚拟机单点登录方法和系统
CN103793330A (zh) 在虚拟机环境中进行数据交换的方法和装置
CN104077187A (zh) 用于调度应用程序的执行的方法和系统
CN105786732A (zh) 数据访问方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant