CN105009547B - 用于处理访问请求的方法和网页浏览器 - Google Patents
用于处理访问请求的方法和网页浏览器 Download PDFInfo
- Publication number
- CN105009547B CN105009547B CN201380073034.7A CN201380073034A CN105009547B CN 105009547 B CN105009547 B CN 105009547B CN 201380073034 A CN201380073034 A CN 201380073034A CN 105009547 B CN105009547 B CN 105009547B
- Authority
- CN
- China
- Prior art keywords
- platform
- virtual
- terminal
- service
- module
- 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
Classifications
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
-
- 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/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/01—Protocols
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
Abstract
一种处理访问计算虚拟化服务、虚拟网关和网页浏览器的方法。所述处理方法由网关应用,所述网关维持数据库(9),所述数据库(9)针对多个虚拟化平台中的每一个平台(3、4、5),包含由该平台提供的至少一种服务(VS3、VS4、VS5)和用于连接到该平台的连接信息,以及所述处理方法包括:接收所述终端(2)的网页浏览器(7)发送的访问由所述平台(3)提供的计算虚拟化服务(VS3)的请求;如果所请求的服务在所述数据库中,则基于所述数据库中与该服务相关联的连接信息生成适于所述服务(VS3)的系统应用(JSApp),以及该系统应用包括用于连接至平台(3)的模块(CX‑MOD3),该模块能够使所述终端能够与所述平台协商通信会话的建立和维持;以及将所述系统应用发送至所述网页浏览器。
Description
技术领域
本发明涉及电信领域。
更具体地,本发明涉及计算机虚拟化技术领域,诸如,使虚拟工作环境能够生成并且可经由用户的工作站访问该虚拟工作环境的技术。
背景技术
通过已知的方式,计算机虚拟化由以下方面组成:在一个或多个远程服务器上安装和/或操作操作系统或者应用;以及在用户的终端(例如,其工作站)上将该操作系统或者该应用的图像或者虚拟表示返回用户,该图像连接至承载操作系统或者应用的远程服务器。因此,计算机虚拟化依赖于硬件与软件之间的解耦,对于用户而言是完全透明的。
计算机虚拟化对公司存在诸多优点,尤其是在对公司所安装的计算机进行维护和管理方面。而且,公司可以容易地管理用户的移动性。用户实际上不再依赖于其物理工作站,而是可以从不同的物理终端连接至其工作站。
在现有技术中存在各种计算机虚拟化的方案,以及,这些方案由虚拟化服务的提供商经由虚拟化平台(例如,服务器)提出。
例如,VDI(“Virtual Desktop Infrastructure,虚拟桌面架构”)方案提出将计算机虚拟化的概念融合到用户的工作环境中。其由以下方面组成:对在单个中央承载服务器上的每个用户工作站的操作系统进行操作;以及,基于也称为流协议的流广播协议,经由远程显示程序,使每个操作系统与其相关联的工作站对话。于是,用户的工作站仅具有机载的轻客户端软件包,即,需要有限的计算机资源并且不消耗太多能量。
VDI方案的有利之处在于相对简单的架构并且提供了较高的自定义用户工作环境的能力。
然而,在中央承载服务器与工作站之间应用的流协议需要大量的资源(就带宽而言)和稳定的连接性。在可用带宽小的情况下,可能会遇到难以将某些流显示在工作站上。
而且,经证明,经由该方案对操作系统上的应用进行更新有时可能会难以管理。
VDI方案的替代方案是SBC(“Server–Based Computing,基于服务器的计算”)虚拟化,SBC虚拟化提出了应用的集中虚拟化。该方案由如下方面组成:使远程应用在服务器上运行;以及,经由视频流广播协议将它们在用户终端上的图像发回。其他应用根据SBC方案(而非操作系统)虚拟化。
该方案可以容易地从端到端管理应用,尤其是它们的安装/卸载及其维持。
然而,和VDI方案一样,它需要大量的带宽资源。而且,由于某些应用是在远程服务器上执行而不是在用户工作站的操作系统内执行,所以可能会遇到与这些应用不相容的问题。
在现有技术中提出的另一方案在于基于网页界面将操作系统和/或应用虚拟化。根据该方案,网页服务器提供由不同服务器承载的应用服务(即,内容)并且将这些服务作为网页提供给用户,从而再次形成虚拟桌面。向网页服务器返回由用户在网页上实行的每个操作,以便得以实行。该方案通常依赖于HTML语言(超文本标记语言)或者其修订版本中的一种,诸如,HTML修订版5。
由于使用了网页,所以其具有消耗较少资源的优点。然而,该方案并不具有非常显著的自定义能力。
由此,基于用户所处的环境及用户对虚拟环境的需求,考虑这些虚拟化方案中的任一种方案经证明都是有意义的。然而,现在,不存在使不同的虚拟化方案(诸如,例如前述的VDI、SBC或者基于网页界面的虚拟化方案)彼此融合的系统。
发明内容
本发明通过提出一种依赖基于三个主要参与者的架构的计算机虚拟化方案,可以显著地克服该缺点,这三个主要参与者即:
安装在用户的终端上的网页浏览器;
依赖于多种技术,诸如尤其依赖于前述的VDI、SBC类型的技术和/或基于网页界面的技术,为操作系统、工作环境提供虚拟化服务的多个虚拟化平台;以及
虚拟化网关,虚拟化网关产生在终端(更具体地说,其浏览器)与虚拟化平台之间的界面,以及,虚拟化网关允许在终端与各种虚拟化平台之间协商、建立和维持通信会话,以便为终端的用户生成自定义的虚拟计算机环境。
根据本发明,在接收到由源于终端的浏览器的一个虚拟化平台提供的虚拟化服务的访问请求时,虚拟化网关生成系统应用,该系统应用包括用于连接至此平台的模块,该平台使终端能够与该平台协商和维持通信会话,以便访问由该平台提供的虚拟化服务。该系统应用由与终端所请求的虚拟化服务相关的虚拟化平台所传输的连接信息(例如,URL(统一资源定位符)、连接端口、所支持的认证机制、用于发起会话的协议等)而生成。该系统应用优先地用语言生成,以便是通用的并且能够由可以安装在终端上的大多数或者甚至是全部网页浏览器执行。
从本发明的意义上说,该系统应用是包括用于连接至该平台的参数或者脚本的应用,这些参数或者脚本由该平台传输至网关的连接信息而确定。从该系统应用就连接方面(例如,用于发起会话以便连接到虚拟化服务的协议、认证方法、URL和连接端口等)考虑了该服务的特殊性的意义上讲,该系统应用适合于终端所请求的虚拟化服务。需要这类参数或者脚本是为了使终端能够连接至该平台,换言之,这是用于与该平台协商和建立通信会话以便访问该平台所提供的虚拟化服务的先决条件。
应注意的是,该系统应用是主动的,即,该系统应用在浏览器上执行以便发起与关联平台的连接。从这个意义上讲,该系统应用与所述常规的被动内容应用(也称为“小型文本文件(cookie)”)相反,所述常规的被动内容应用不包含这类连接参数并且不在浏览器中发起任何进程,而是仅包含与被调用的服务有关的内容元素。
由网关所生成的系统应用还优先包含通信协议(例如,包括加密算法、编解码器、用于远程传送虚拟环境的图形界面、用于在终端与平台之间交换的、像VDI或者SBC的通信流的传送协议等)栈,该通信协议栈旨在供终端在其与平台的通信期间使用。该协议栈同时适合于终端的技术特性和所请求的服务。
系统应用有利地由虚拟化网关传输至终端的网页导航器,并且不传输至其操作系统,以便受益于之前所描述的与基于网页界面的虚拟化方案相关联的优点(所需资源(尤其是就带宽而言)有限、在终端处的轻客户端软件、执行简单等)。终端由此可以经由其网页浏览器排他地访问不同的虚拟化服务,其优点在于提供了一种独立于终端的操作系统的方案。
因此,本发明提出了一种通用且相对灵活的架构,使终端能够受益于多种虚拟化方案。由此,终端可以容易地与任何类型的虚拟化平台建立通信会话,并且独立于其操作系统访问由该虚拟化平台提供的服务。
为了支持该架构,根据第一方面,本发明涉及一种用于处理访问计算机虚拟化服务的请求的方法,由虚拟化网关应用,该网关维持数据库,所述数据库针对多个虚拟化平台中的每一个平台,包含由该平台提供的至少一种计算机虚拟化服务和允许经由该平台访问所述至少一种服务的连接信息。根据本发明,该处理方法包括:
用于从终端接收访问由虚拟化平台提供的计算机虚拟化服务的请求的步骤,该请求已经通过安装在所述终端上的网页浏览器传输;
如果所述终端所请求的服务被包含在由所述网关维持的所述数据库中,则由在所述数据库中与该服务相关联的连接信息生成适合于所述服务的系统应用的步骤,该系统应用包括用于连接至提供所述服务的所述虚拟化平台的模块,该模块能够使所述终端能够与所述平台协商通信会话的建立和维持;以及
用于将生成的系统应用发送至安装在所述终端上的所述网页浏览器的步骤。
相关地,本发明还涉及一种虚拟化网关,其包括:
数据库,针对多个虚拟化平台中的每一个平台,所述数据库包含由该平台提供的至少一种计算机虚拟化服务和允许经由该平台访问所述至少一种服务的连接信息;
用于从终端接收访问由虚拟化平台提供的计算机虚拟化服务的请求的模块,该请求已经由安装在所述终端上的网页浏览器传输;
检查模块,在接收到所述访问请求时激活所述检查模块,所述检查模块能够检查所述终端所请求的所述虚拟化服务是否被包含在所述数据库中;
用于由所述数据库中与请求的所述虚拟化服务相关联的连接信息生成适合于所述服务的系统应用的模块,如果所述终端所请求的所述虚拟化服务被包含在所述数据库中,则激活所述模块,该系统应用包括用于连接至提供所述服务的所述虚拟化平台的模块,该模块能够使所述终端能够与所述平台协商通信会话的建立和维持;以及
用于将由所述生成模块生成的系统应用发送至安装在所述终端上的所述网页浏览器的模块。
由所述网关维持的数据库,例如,包括:与以下至少两个虚拟化平台有关的连接信息(例如,连接参数、平台的URL(统一资源定位符)、连接端口等):
VDI类型的虚拟化平台;
SBC类型的集中式应用的虚拟化平台;以及
使用网页界面的应用和/或操作系统的虚拟化平台。
由本发明提出的解决方法的优点在于十分灵活,并且容易经由虚拟化网关对数据库更新来支持虚拟化平台的添加和/或取消。
为此,在具体实施例中,该处理方法进一步包括:
从虚拟化平台接收消息的至少一个步骤,所述消息识别由该平台提供的至少一种计算机虚拟化服务并且包含用于经由该虚拟化平台访问所述至少一种服务的连接信息;以及
利用识别出来的服务和包含在接收到的消息中的所述连接信息对所述数据库进行更新的步骤。
可以由虚拟化平台异步地发送这些消息,尤其取决于这些虚拟化平台所执行的、会影响到其提供的虚拟化服务的变化,和/或取决于涉及传送至虚拟化网关的连接信息的变化。
作为替代实施方式,可以周期性地或者经虚拟化网关的请求将这些消息发送至虚拟化网关。
经由发送适合于终端请求的虚拟化服务的系统应用,本发明实现了终端的动态配置。该配置使终端能够经由其网页浏览器发起与虚拟化平台的通信会话,所述虚拟化平台提供了终端要访问的服务。该动态配置允许对可能影响平台提供的虚拟化服务和访问这些服务所需的连接信息的变化做出适应。
在本发明的具体实施例中,由网关生成的系统应用进一步包括通信协议栈,该通信协议栈适于终端和/或服务,并且应用于终端与虚拟化平台之间的通信会话。
该实施例尤其允许与终端(以及,更加具体地,其网页浏览器)的技术特性相适应。由此,显而易见地,系统应用可以取决于终端是固定工作站还是也称为“智能手机”的智能电话而有所不同。
相似地,可以设想将用于通信流的编解码器包括到该协议栈中,该编解码器根据虚拟化服务是VDI或者SBC类型的服务还是进一步基于网页界面而有所不同。
因此,本发明实现了对提供给终端的用户的虚拟计算机环境的进一步自定义。
在另一实施例中,系统应用进一步包括用于连接至在多个虚拟化平台中的其他平台的模块,在适用的情况下,该模块能够使终端能够与这些其他平台协商通信会话的建立和维持。
这样,向终端的用户提出的虚拟计算机环境一旦建立便是完整的,并且将用于连接至不同虚拟化平台的模块进行分组,用户可以在这些不同的虚拟化平台上对其环境进行虚拟化。
然后,当虚拟化网关从终端的浏览器接收到访问由平台提供的其中一种虚拟化服务的新请求时,如果必要(换言之,如果已经向网关报告了影响这些模块的变化),虚拟化网关可以通过应用这些连接模块来满足其自身。
如之前所提及的,本发明所提出的用于支持由不同平台提供的多种计算机虚拟化服务的架构也依赖于安装在用户的终端上的浏览器(该浏览器尤其能够执行由网关传输的系统应用),以及也依赖于安装有该浏览器的用户终端。
由此,根据第二方面,本发明涉及一种由安装在终端上的网页浏览器通过该终端发起访问由虚拟化平台提供的计算机虚拟化服务的方法,所述方法包括:
由网页浏览器将访问计算机虚拟化服务的请求发送至虚拟化网关的步骤;
由网页浏览器从虚拟化网关接收适于所请求的计算机虚拟化服务的系统应用的步骤,该系统应用包括用于连接至提供服务的虚拟化平台的模块,该模块能够使终端能够与该平台协商通信会话的建立和维持;以及由网页浏览器执行接收到的系统应用的步骤,该步骤包括:与虚拟化平台协商建立和维持通信会话,以便通过连接模块访问虚拟化服务。
相关地,本发明还涉及一种旨在安装在终端上的网页浏览器,该网页浏览器包括:
发送模块,能够将访问由虚拟化平台提供的计算机虚拟化服务的请求发送至虚拟化网关;
接收模块,能够从虚拟化网关接收适于终端和所请求的计算机虚拟化服务的系统应用,以及所述系统应用包括用于连接至提供该服务的虚拟化平台的模块,该模块能够使终端能够与该平台协商通信会话的建立和维持;
执行模块,该执行模块能够执行接收到的系统应用并且与该平台协商通信会话的建立和维持,以便通过使用包含在系统应用中的连接模块访问虚拟化服务。
如之前所提及的,作为将根据本发明的网页浏览器安装在用户终端上的回报,用户由此可以有利地访问多种虚拟化服务。因此,使用户能够经由其终端访问虚拟环境的客户端重量较轻,这可以限制执行本发明所需的终端的复杂度。
而且,该网页浏览器可以提供一种通用方案,该通用方案不取决于终端所支持的操作系统。
通过本发明,使终端的用户受益的虚拟计算机环境可以依赖于不同的虚拟化技术(例如,SBC、VDI、基于网页界面等)。因此,不同的通信会话可以同时共存于终端与不同虚拟化平台之间。
为了处理这种情况,根据第三方面,本发明提出了一种用于管理(即,维持)虚拟计算机环境的方法,该方法旨在通过安装在终端上的网页浏览器应用,并且该方法包括:
由网页浏览器在该虚拟计算机环境中与提供计算机虚拟化服务的至少一个虚拟化平台建立至少一个通信会话的步骤,至少一个所述通信会话建立在网页浏览器应用了根据本发明的发起方法之后;以及
通过使用以下状态机维持虚拟计算机环境的步骤:
为虚拟计算机环境定义不同的可能状态(例如,初始化、与虚拟化平台的同步、当前的虚拟化服务等)的状态机;以及
针对每个虚拟化平台,在建立步骤期间在虚拟计算机环境中与所述虚拟化平台建立通信会话,为该通信会话定义不同的可能状态(初始化会话、调用服务、离线会话、重新初始化会话等)的状态机。
相关地,在本发明的具体实施例中,终端所配备的网页浏览器进一步包括用于管理虚拟计算机环境的模块,其中,执行模块在与该平台协商之后,与提供计算机虚拟化服务的至少一个虚拟化平台建立至少一个通信会话,为了维持该虚拟计算机环境,该管理模块能够使用:
为虚拟计算机环境定义不同的可能状态(例如,初始化、与虚拟化平台同步、当前的虚拟化服务等)的状态机;以及
针对每个虚拟化平台,在建立步骤期间在虚拟计算机环境中与所述虚拟化平台建立通信会话,为该通信会话定义不同的可能状态(初始化会话、调用服务、离线会话、重新初始化会话等)的状态机。
换言之,根据本发明的用于维持并且控制向终端用户提供的虚拟环境的管理方法基于两种级别的状态机,更具体地:
基于所述全局状态机,所述全局状态机定义虚拟环境在其全局性质中可以假设的不同的状态;以及
基于相对于与虚拟化平台建立的每个通信会话的多个状态机,该多个状态机定义这些会话中的每个会话的不同状态。
作为复杂度合理的回报,该双级控制,一方面,确保了在任何时刻用户都可以访问虚拟计算机环境,另一方面,确保了在该虚拟环境中向用户提出的不同共存虚拟化方案之间的兼容性。
本发明还涉及一种其上安装有根据本发明的网页浏览器的终端。
在具体实施例中,由计算机程序的指令确定了处理方法、发起方法和/或管理方法的不同步骤。
因此,本发明还涉及一种在信息介质上的计算机程序,该程序能够应用于虚拟化网关,或者更广泛地说,能够应用于计算机,该程序包括适于应用如上所述的处理方法的步骤的指令。
本发明还涉及一种在信息介质上的计算机程序,该程序能够应用于网页浏览器,能够应用于终端,或者更广泛地说,能够应用于计算机,该程序包括适于应用如上所述的发起方法的步骤的指令。
本发明还涉及一种在信息介质上的计算机程序,该程序能够应用于网页浏览器,能够应用于终端,或者更广泛地说,能够应用于计算机,该程序包括适合于应用如上所述的用于管理虚拟环境的方法的步骤的指令。
这些程序可以使用任何编程语言,并且可以采取源代码、目标代码、或者在源代码与目标代码之间的中间代码的形式,诸如,部分编译的形式或者任何其他所需的形式。
本发明还涉及一种计算机易读的信息介质,该信息介质包括如上面提及的计算机程序的指令。
该信息介质可以是能够储存程序的任何实体或装置。例如,该介质可以包括存储装置,诸如ROM,例如CD ROM或者微型电子电路的ROM,或者进一步包括磁记录装置,例如磁盘(软盘)或者硬盘。
另一方面,该信息介质可以为可传输介质,诸如,可以通过无线电或者其他方式经由电缆或者光缆传递的电信号或者光信号。根据本发明的程序具体地可以下载到互联网类型的网络上。
作为替代实施方式,该信息介质可以是包含有该程序的集成电路,该电路适合于执行相关方法或者在执行相关方法时使用。
根据第四方面,本发明还涉及一种计算机系统,其包括:
提供计算机虚拟化服务的多个虚拟化平台;
终端,在其上安装有根据本发明的网页浏览器,该终端能够发送访问由所述虚拟化平台提供的所述计算机虚拟化服务的请求;以及
根据本发明的虚拟化网关,该虚拟化网关能够处理该访问请求。
多个虚拟化平台例如包括以下平台中的至少两个平台:
VDI类型的虚拟化平台;
SBC类型的应用的虚拟化平台;以及
使用网络界面的应用和/或操作系统的虚拟化平台。
在具体实施例中,至少一个所述虚拟化平台能够向虚拟化网关发送异步消息,所述异步消息通知虚拟化网关虚拟化平台所提供的计算机虚拟化服务,并且包含与这些虚拟化服务相关联的连接信息。
这样,虚拟化网关可以容易地更新数据库,以便当终端需要访问虚拟化服务时,具有可用的适合的连接信息。这促进了对服务的访问并且提供了极大的灵活性:可以容易地添加甚或取消网关所维持的数据库中的虚拟化服务。
根据第五方面,本发明涉及一种由虚拟化网关维持的数据库,该数据库针对多个虚拟化平台中的每一个平台,包含由该平台提供的至少一种计算机虚拟化服务和可以经由该平台访问所述至少一个服务的连接信息。
在其他实施例中,还可以设想的是,根据本发明的处理方法、发起方法、管理方法、虚拟网关、网页浏览器、终端、系统和数据库具有前述特征中的所有或者部分特征,这些特征可以彼此组合。
附图说明
本发明的其他特征和优点将通过下面参考附图所做的说明而变得显而易见,这些附图图示了本发明的示例性实施例,但对本发明不产生任何限制。在图中:
图1图示了在特定实施例中的根据本发明的计算机系统、虚拟网关和终端;
图2A、图2B和图2C分别图示了虚拟化平台的功能架构,所述虚拟化平台可以向图1的终端提供虚拟化服务;
图3A和图3B分别图示了图1中终端和网关的材料架构;
图4图示了通过图1的虚拟化网关维持的示例性数据库;
图5是图示了在特定实施例中分别通过图1的网关和终端所应用的处理方法和发起方法的主要步骤的示意图;以及
图6是图示了在特定实施例中由图1的终端所应用的、用于管理虚拟环境的方法的主要步骤的计算机流程图。
具体实施方式
图1在计算机系统环境中描述了在具体实施例中的根据本发明的计算机系统1。
根据本发明,系统1向终端2的用户U提供了受益于虚拟计算机环境VE(诸如,虚拟桌面环境)的可能性,其中,可以与实施不同虚拟化解决方案的虚拟化平台建立一个或多个通信会话。
在图1所图示的示例中,考虑了三个不同的虚拟化平台3、4和5,它们分别实施VDI类型的虚拟化解决方案、用于SBC类型的应用的集中式虚拟化解决方案、和使用网络界面的应用和/或操作系统的虚拟化解决方案。这些平台中的每一个平台,通过应用由该平台实施的虚拟化解决方案,提供一种虚拟化服务(即,分别是VS3服务、VS4服务和VS5服务)。这些服务可以由不同的运行商或相同的运行商管理。
图2A、图2B和图2C分别示意性地图示了虚拟化平台3、4和5的功能架构。这些架构对于本领域的技术人员而言是已知的,因此此处不再详细描述。
由此,参考图2A,虚拟化平台3提出了虚拟化服务VS3并且基于VDI类型的解决方案,虚拟化平台3依赖于基于VDI-SERV服务器的管理程序HYPERV,并且依赖于执行操作系统的一个或多个虚拟机VM。
参考图2B,虚拟化平台4提出了应用的虚拟化服务VS4并且基于SBC类型的集中式解决方案,虚拟化平台4依赖于在SBC-SERV服务器上实施的操作系统OS,并且依赖于一个或多个应用服务器APP。
参考图2C,虚拟化平台5提出了应用和/或操作系统的虚拟化服务VS5并且基于使用网页界面的解决方案,虚拟化平台5依赖于WEB-b-SERV服务器,所述WEB-b-SERV服务器经由NW网络与SERV服务器支持的一种或多种APP-SERVICE服务交互。
当然,对应用本发明的相关虚拟化平台的数目或者对这些平台所支持的具体虚拟化方案不做限制,本发明也适用于不同数目的平台和其他虚拟化解决方案。而且,可以设想在如下上下文中应用本发明:多个相关平台中的多个虚拟化平台支持相同的但由不同运行商管理的虚拟化方案。
根据本发明,系统1基于用于建立并且维持用户U请求的虚拟环境VE的三方架构。更加具体地,所述三方架构包括:
用户U的终端2;
虚拟化平台3、4和5;以及
虚拟化网关6(或虚拟化服务器),根据本发明,该虚拟化网关产生终端2与虚拟化平台3、4和5之间的界面,以便在虚拟环境VE的上下文下在三个实体之间建立通信会话。
用户U的终端2是根据本发明的终端。这可以是任何终端,诸如,例如固定或便携式计算机、智能电话或“智能手机”等。
根据本发明的网页浏览器7安装在该终端上,使用HTML语言来显示网页。终端2进一步配备有操作系统8。
在此处描述的实施例中,网页浏览器7支持如标准化联盟W3C(万维网联盟)所定义的HTML版本5(HTML5)。该版本的更多丰富细节可见W3C的网站(www.w3C.org)。
浏览器7还支持语言并且能够执行以该语言写成的应用,尤其是主动的系统应用,即,该应用在网页浏览器7上执行以便发起与确定的服务平台的连接。换言之,网页浏览器7提供了一种允许执行这些系统应用的环境。
在此处描述的实施例中,终端2具有计算机的硬件架构,如图3A示意性所图示的。
该计算机尤其包括处理器2A、ROM存储器2B、RAM存储器2C、非易失性存储器2D和通信装置2E,所述通信装置2E尤其是与虚拟化网关6和虚拟化平台3、4、5通信。这些通信装置2E例如集成了网络板,这是众所周知的,此处不再详细描述。
终端的ROM存储器2B形成根据本发明的记录介质,该记录介质可由处理器2A读取,在该记录介质上记录有:
根据本发明的计算机程序,该计算机程序包括用于执行根据本发明的发起方法的步骤的指令;以及
计算机程序,该计算机程序包括用于执行根据本发明的管理方法的步骤的指令,
稍后将在具体实施例中参考图5和图6对发起方法和管理方法的步骤进行描述。
这些计算机程序相当于定义出了网页浏览器7的功能模块,更加具体地,虚拟环境VE的管理模块WWS,该管理模块WWS此处尤其包括用于发送访问由平台3、4和5提供的虚拟化服务的请求的模块、用于接收使终端2能够发起并且维持与平台3、4和5的会话的一个或多个系统应用的模块、以及用于执行系统应用的模块,该管理模块WWS能够管理与服务平台3、4和5以及与网关6的通信会话的建立和维持。
这些模块是模块,参与了本发明的应用。随后将基于图5和图6参考发起方法和管理方法的步骤对这些模块的功能进行描述。
如之前所提及的,产生终端2与虚拟化平台3、4和5之间的界面的虚拟化网关6与本发明兼容。在此处描述的实施例中,该网关6是具有计算机的硬件架构的网页服务器,如图3B中图示的。
更加具体地,网关6尤其包括处理器6A、ROM存储器6B、RAM存储器6C、非易失性存储器6D和通信装置6E,通信装置6E尤其是与终端2和虚拟化平台3、4、5通信。这些通信装置6E例如集成了网络板,这是众所周知的,此处不再详细描述。
应该注意的是,在此处描述的实施例中,网关6支持HTML语言的版本5(HTML5)以及语言,以便能够与终端2以及尤其是与该终端的浏览器7通信。换言之,平台6的发送、接收和发生模块在与终端2的浏览器7的交互中能够使用这些语言。
网关6的ROM存储器6B是根据本发明的记录介质,该记录介质可由处理器6A读取,在该记录介质上记录有根据本发明的计算机程序,该计算机程序包括用于执行根据本发明的处理方法的步骤的指令,随后将在具体实施例中参考图5对该处理方法的步骤进行描述。
该计算机程序相当于定义出了网关6的功能模块,诸如,尤其是从终端2的浏览器7接收访问服务VS3、VS4、VS5的请求(即,HTTP请求)的模块、检查终端2请求的虚拟化服务与平台3、4和5提供的服务的兼容性的模块、生成旨在使终端2能够连接至平台3、4和5以便访问这些平台提供的虚拟化服务的一个或多个系统应用的模块、以及经由HTTP响应将该系统应用或这些系统应用发送至终端2的浏览器7的模块。这些模块此处例如是模块,参与了本发明的应用。随后将参考在图5中图示的处理方法的步骤对这些模块的功能进行更加详细地描述。
根据本发明,网关6维持数据库9,该数据库9存储在存储器中,此处是存储在其非易失性存储器6D中。针对多个虚拟化平台中的每一个平台,该数据库9包含由该平台提供的至少一种计算机虚拟化服务和允许经由该平台访问该服务的连接信息。该连接信息例如包含:允许访问该平台的URL、用于访问该服务的端口、对发起会话所需的协议的指定、认证机制(例如,SAML(安全断言标记语言)或Kerberos令牌等)、或连接至该平台并且与该平台协商通信会话的建立或维持所需的任何其他初步信息。
在图4中图示了在图1的上下文(即,三个虚拟化平台3、4、5分别提供虚拟化服务VS3、VS4和VS5)下的数据库9的示例。
由此,根据该示例,数据库9识别到三个平台3、4、5并且包含:
对于虚拟化平台3:虚拟化服务VS3和允许经由平台3访问服务VS3的连接信息CX-INFO3;
对于虚拟化平台4:虚拟化服务VS4和允许经由平台4访问服务VS4的连接信息CX-INFO4;
对于虚拟化平台5:虚拟化服务VS5和允许经由平台5访问服务VS5的连接信息CX-INFO5。
在图1中设想的示例中,对于每个平台,一个人仅限于一种虚拟化服务。然而,该假定不是限制性的,并且可以设想其他配置。
在接收到由虚拟化平台3、4和5传输的消息时,网关6对数据库9进行更新。经由这些消息,虚拟化平台发布(即,识别)其推出的虚拟化服务和通过这些平台访问这些服务所需的连接信息。而且,虚拟化平台可以通知网关6涉及提供这些虚拟化服务的服务器的可用性。
此处,通过平台3、4和5异步地发送这些消息。
作为替代实施方式,可以周期性地或经网关的请求而发送这些消息。
在接收到这些消息时,网关6更新数据库9,以便反映当前与虚拟化平台3、4和5和由这些网关提供的虚拟化服务有关的连接信息。
现在将参考图5和图6描述具体实施例中在建立终端2的用户U请求的虚拟计算机环境VE时,网关6应用的处理方法的主要步骤和终端2应用的维持方法和发起方法的主要步骤。
首先,如之前所提及的,假定平台3、4和5经由向网关6发送短信,已经异步地发布了这些平台所提供的虚拟化服务和访问这些服务所需的连接信息(图5的步骤E10、E30、E50)。
在接收到这些消息时,网关6更新数据库9,以便反映平台3、4和5提供的当前服务和对应的连接信息(图5的步骤E20、E40、E60),如之前描述的。
现在假定用户U要求经由其终端2,例如,通过运行安装在终端2上的合适的网页应用LAUNCH,建立虚拟计算机环境VE(图6的步骤F10)。该应用是众所周知的,因此此处将不再进一步描述。该应用LAUNCH的运行触发了集成到浏览器7中的WWS维持模块的执行。
应用LAUNCH向识别虚拟化服务的WWS维持模块发送HTTP请求,该虚拟化服务是由用户U所要求的并且选择自预定的虚拟服务列表(例如,此处包括由平台3、4和5提供的服务VS3、VS4和VS5)。
作为图示,此处假定终端2的用户U所要求的虚拟化服务是由平台3提供的VDI类型的虚拟化服务VS3。
在接收到该请求时(图5的步骤E70),浏览器7通过向虚拟化网关6传输访问由平台3提供的服务VS3的HTTP请求R,来经由WWS维持模块与虚拟化网关6建立通信会话(图5的步骤E80)。
访问请求R来自由WWS维持模块接收的并且由用户U运行的网页应用发出的请求。众所周知地,所述访问请求R进一步包括浏览器7的技术特性(能力、所支持的HTML版本(此处是HTML5)等)。
在接收到访问请求R时,虚拟化网关6检查终端2请求的虚拟化服务是否与平台3、4和5发布的虚拟化服务兼容(图5的步骤E90)。
为此,虚拟化网关6查阅数据库9并且检查终端2请求的服务是否实际包含在数据库9中。
如果终端2请求的服务未包含在数据库9中,那么网关6拒绝由终端2经其浏览器7传输的访问请求,并且不得建立虚拟环境VE。
在此处设想的示例中,终端2请求的服务VS3实际上包括在数据库9中。
然后,网关6从数据库9提取平台3传输的用于访问服务VS3的连接信息CX-INFO3。
接下来,网关6通过该连接信息生成适合于终端2(更加具体地是适合其浏览器7)和服务VS3的系统应用JSApp。在此处描述的实施例中,该系统应用是应用(图5的步骤E100)。
作为替代实施方式,针对该应用,可以使用其他语言,诸如,例如ECMAScript语言(尤其是其版本5)。
更加具体地,JSApp系统应用包括用于平台3的连接模块CX-MOD3,该连接模块CX-MOD3旨在使终端2(更加具体地是其浏览器7)能够与平台3协商通信会话的建立和维持,以便能够访问服务VS3。该连接模块CX-MOD3是模块。连接模块CX-MOD3表现为API(应用编程接口)类型的一组编程接口,换言之,以下一组功能:旨在实现在浏览器7与平台3之间的交互,以及尤其是集成了平台3的URL、对该平台所要求的认证机制的指定、以及平台3应用的会话发起协议的指定等。由此,连接模块CX-MOD3能够管理整个的与平台3的连接的建立。
连接模块CX-MOD3适合于服务VS3:连接模块CX-MOD3集成用于连接至平台3的参数(例如,URL、端口等),实现了与平台3协商通信会话的建立和维持以便访问服务VS3。
然而,应该注意,除了平台3特有的以及因此服务VS3特有的这些连接参数外,可以设想,由连接模块CX-MOD3实施的其他功能(通常与协商有关,严格来讲,是与平台就通信会话的建立和维持进行的协商)是通用的并且独立于服务VS3(换言之,对于与平台3连接的模块CX-MOD3和对于与平台4或平台5连接的等效模块而言,这些功能都是相同的)。事实上,严格来讲,该连接模块没有集成加密和/或编码算法或,建立和维持通信会话所需的其他算法,而是用于提供用于与平台3建立连接并且用于协商通信会话的建立和维持的装置。
可以由网关6生成并且适合应用本发明的连接模块CX-MOD3的示例是与WebRTC标准规定的API JavaScript PeerConnection模块相同或相似的模块,该模块允许在实施实时通信协议的两个实体(浏览器或其他)之间发送和接收媒体流。
该模块的更多丰富细节尤其可见于以下网站:http://dev.w3.org/2011/webrtc/ editor/webrtc.html和http://tools.ietf.org/wg/rtcweb/charters。
在此处描述的实施例中,JSApp系统应用进一步包括通信协议栈STACK3,该通信协议栈STACK3适合于终端2和服务VS3并且旨在用于与平台3的通信会话期间。该通信协议栈STACK3是模块,该模块此处尤其包括:
需要在服务VS3的范围内建立的通信会话期间应用的加密算法(例如,对称和非对称加密算法、哈希函数等);
用于对在这些会话期间交换的媒体流进行编码和解码的编解码器(例如,H.261、H.263、MPEG4、H.264HEVC等);
在这些会话期间使用的传输协议栈;以及
当使用虚拟化服务VS3时,用于将虚拟环境VE的显示远程地传送到终端2上的图形用户界面。
应该注意,在终端2与虚拟化平台之间建立的通信会话期间应用的加密算法、编解码器、图形界面和其他通信协议根据不同的虚拟化服务可以有所不同,但也是根据终端2及其浏览器7的技术特性。
众所周知地,这些技术特性被包含在由网页浏览器7传输的HTTP访问请求R中,并且可以由网关6容易地从该请求中提取出来,以制出不仅适合于服务VS3也适合于终端2及其浏览器的协议栈。
在此处描述的实施例中,假定网关6具有预先建立的表,该表针对不同的服务和不同类型的终端描述了对在JSApp系统应用中提供的协议栈可以设想的配置。然后,取决于终端及其浏览器的特性,并且取决于用户请求的服务,通过这些配置来建立包括在JSApp系统应用中的实际协议栈(即,模块)。
该预先建立的表例如存储在网关6的非易失性存储器6D中。对于本领域的技术人员而言,建立该表不会存在任何难度,因此此处不再进一步描述。
当然,作为替代实施方式,在协议栈STACK3中可以规定其他通信协议。可以根据终端2和/或其浏览器7和/或服务VS3的特性来选择这些协议,或者,相反地,这些协议独立于终端、其浏览器和服务VS3。
在此处描述的实施例中,为了为用户U建立完整的虚拟环境VE,网关6也生成用于连接至平台4以便访问服务VS4的模块CX-MOD4和用于连接至平台5以便访问服务VS5的模块,并且将这些模块集成到JSApp系统应用中。这些连接模块按照与连接模块CX-MOD3相似的方式产生,并且分别能够使终端2能与平台4协商通信会话的建立和维持以便访问服务VS4和/或与平台5协商通信会话的建立和维持以便访问服务VS5,若用户U有此需要。
而且,此处,网关6也将适合于终端2(以及其浏览器7)和服务VS4的通信协议栈STACK4,以及适合于终端2(以及其浏览器7)和服务VS5的通信协议栈STACK5集成到JSApp应用中。这些协议栈由网关6按照与协议栈STACK3相似的方式而确定。
作为替代实施方式,由网关6生成的JSApp应用仅包含连接模块CX-MOD6和与服务VS3有关的协议栈STACK3。
从而,响应于访问请求R,在HTTP请求中将生成的JSApp应用传输至浏览器7(图5的步骤E110)。
该JSApp应用由浏览器7接收,并且通过WWS模块由浏览器7执行(图5的步骤E120)。
该执行使得连接模块CX-MOD3、CX-MOD4和CX-MOD5以及包含在JSApp应用中的通信协议栈STACK3、STACK4和STACK5安装在浏览器7中。
而且,在该安装之后,浏览器7经由WWS模块通过使用连接模块CX-MOD3发起与平台3的协商,以便与平台3建立和维持通信会话,以访问虚拟化服务VS3(图5的步骤E130)。该协商紧跟在网络的两个实体之间进行多媒体会话协商的常规方案之后(同步两个实体、建立管理会话、发起传输会话等),并且对于本领域的技术人员而言不存在任何难度。该协商尤其在于:应用认证机制(在连接模块CX-MOD3中规定的认证机制),以及,在终端2与平台3之间进行信息交换,从而实现了在终端2(或,更加具体地是其浏览器7)与平台3之间协商通信会话的建立和维持。为此,终端2使用在连接模块CX-MOD3中识别的会话发起协议。
如果协商是肯定的,那么与平台3建立通信会话SESS3(图5的步骤E140),并且用户U由此经由该会话访问虚拟化服务VS3。在通信会话SESS3期间,在浏览器7与平台3之间的交换是基于在栈STACK3中规定的通信协议。
可以分别基于连接模块CX-MOD4和CX-MOD5,并且基于协议栈STACK4和STACK5,按照相似的方式,在浏览器7与平台4和5之间协商并且建立通信会话SESS4和SESS5(图5的步骤E150至E180)。
作为替代实施方式,仅在用户具体传输访问服务VS4和VS5的请求时方建立会话SESS4和SESS5(例如,经由在安装在终端2上的LAUNCH应用中选择这些服务并且发起虚拟环境VE),由网关6按照与请求R相似的方式来处理这些请求(换言之,根据依据本发明的处理方法)。
根据本发明,由终端2的浏览器7的WWS维持模块来管理和维持(图6的步骤F30)为了支持虚拟环境VE所建立(图6的F20)的通信会话SESS3、SESS4和SESS5。
更一般地说,终端2的浏览器7的WWS维持模块负责维持虚拟计算机环境VE,为此,尤其应该确保与不同虚拟化平台3、4和5建立的通信会话SESS3、SESS4和SESS5之间的兼容性以及提供给该用户的虚拟环境的可用性。可用性此处是指虚拟环境VE的操作和可访问性。因此,此处尤其是要确保将虚拟环境的显示远程传送到终端2的屏幕上的适当同步,所述虚拟环境自与平台的通信会话SESS3、SESS4和SESS5产生。
确保对虚拟环境的维持可从现有技术获知,其中,与虚拟平台(例如,VDI、SBC或基于网页界面)建立单个通信会话。一般是通过状态机来确保该维持,状态机定义会话的不同状态和取决于不同事件而从一种状态到另一种状态的转换。文件RFC3261和IETF编写的标题为“JavaScript Session Establishment Protocol,draft-ietf-rtcweb-jsep-00”的文件描述了这类状态机。
根据本发明,可以与多个虚拟化平面并行地建立多个通信会话。为了确保对由这些会话产生的虚拟环境VE的维持,终端2的浏览器7的WWS维持模块此处采用两种级别的状态机,更具体地:
状态机ST-MG,所谓的全局状态机,定义虚拟计算机环境VE的各种可能状态,诸如,例如,初始化虚拟环境、与平台同步(或,等效地,与该平台协商管理会话)、执行服务等,以及取决于预定事件可以从一种状态切换至另一种状态的转换;以及
对于在虚拟计算机环境VE中与其建立通信会话的每个虚拟化平台,状态机为该通信会话定义各种可能状态,诸如,例如,发起会话、关闭会话、重新初始化会话、正在进行中的通信会话(即,服务的调用)等,以及取决于预定事件而可以从一种状态转到另一种状态的转换。换言之,在图1中设想的示例,终端的浏览器7的WWS维持模块分别考虑了三种不同的状态机,ST-M3、ST-M4和ST-M5,这三种不同的状态机专用于监测并且控制会话SESS3、会话SESS4和会话SESS5。这样,如果与平台3、4或5中的一个平台的连接受到干扰,那么仅会干扰到与该平台的当前通信会话。WWS环境及其与其他平台的会话不会受到影响。
这类状态机是众所周知的,因此此处不再进一步描述。通过这两种级别的状态机,确保如果与虚拟平台的连接受到干扰,那么仅仅会中断该平台提供的服务。虚拟环境VE会被维持,并且依赖于正在进行中的其他通信会话。
Claims (16)
1.一种用于处理对计算机虚拟化服务的访问请求的方法,由虚拟化网关(6)应用,该网关维持数据库(9),所述数据库(9)针对多个虚拟化平台中的每一个平台(3、4、5),包含由该平台提供的至少一种计算机虚拟化服务(VS3、VS4、VS5)和允许经由该平台访问所述至少一种服务的连接信息,
该处理方法包括:
用于接收终端(2)向由虚拟化平台(3)提供的计算机虚拟化服务(VS3)提出的访问请求(R)的步骤(E80),该访问请求已经通过安装在所述终端上的网页浏览器(7)传输;
如果所述终端(2)所请求的服务(VS3)被包含在由所述网关维持的所述数据库(9)中(E90),则由在所述数据库中与该服务相关联的连接信息生成适合于所述服务(VS3)的系统应用(JSApp)的步骤(E100),该系统应用包括用于连接至提供所述服务的所述虚拟化平台(3)的模块(CX-MOD3),该模块(CX-MOD3)使所述终端(2)能够与所述平台(3)协商通信会话(SESS3)的建立和维持;以及
用于将生成的所述系统应用发送至安装在所述终端上的所述网页浏览器(7)的步骤(E110)。
2.根据权利要求1所述的方法,其中,生成的所述系统应用(JSApp)是语言的应用。
3.根据权利要求1所述的方法,其中,所述系统应用进一步包括用于连接至所述多个虚拟化平台中的其他平台(4、5)中的每一个平台,并能够使所述终端(2)能够与该平台协商通信会话(SESS4、SESS5)的建立和维持的模块(CX-MOD4、CX-MOD5)。
4.根据权利要求1所述的方法,其中,生成的所述系统应用(JSApp)进一步包括通信协议栈(STACK3),所述通信协议栈(STACK3)适于所述终端(2)和/或所述服务(VS3)并且旨在应用于所述终端(2)与所述虚拟化平台(3)之间的通信会话(SESS3)期间。
5.根据权利要求1所述的方法,进一步包括:
从虚拟化平台(3、4、5)接收消息的至少一个步骤(E10、E30、E50),所述消息识别由该平台提供的至少一种计算机虚拟化服务(VS3、VS4、VS5)并且包含用于经由该虚拟化平台访问所述至少一种服务的连接信息;以及
利用识别出来的服务和包含在所述消息中的所述连接信息对所述数据库(9)进行更新的步骤(E20、E40、E60)。
6.一种由安装在终端(2)上的网页浏览器(7)通过该终端发起访问由虚拟化平台(3)提供的计算机虚拟化服务(VS3)的方法,所述方法包括:
由所述网页浏览器(7)将访问所述计算机虚拟化服务的请求(R)发送至虚拟化网关(6)的步骤(E80);
由所述网页浏览器从所述虚拟化网关接收适于所请求的计算机虚拟化服务(VS3)的系统应用(JSApp)的步骤(E110),该系统应用包括用于连接至提供所述服务的所述虚拟化平台(3)的模块(CX-MOD3),该模块能够使所述终端能够与该平台协商通信会话(SESS3)的建立和维持;以及
由所述网页浏览器执行接收到的所述系统应用的步骤(E120),所述步骤包括:与所述虚拟化平台协商(E130)通信会话(SESS3)的建立和维持,以便借助于所述连接模块(CX-MOD3)访问所述虚拟化服务(VS3)。
7.一种用于管理虚拟计算机环境(VE)的方法,所述方法由安装在终端(2)上的网页浏览器应用,并且所述方法包括:
由所述网页浏览器在该虚拟计算机环境中与提供计算机虚拟化服务(VS3、VS4、VS5)的至少一个虚拟化平台(3、4、5)建立至少一个通信会话(SESS3、SESS4、SESS5)的步骤(F10、F20、E140、E160、E170),至少一个所述通信会话在所述终端应用根据权利要求6所述的发起方法之后建立;以及
由网页浏览器(7)使用以下状态机维持所述虚拟计算机环境的步骤(F30):
定义所述虚拟计算机环境的各种可能状态的状态机(ST-MG);以及
针对每个虚拟化平台(3、4、5),在所述建立步骤期间在所述虚拟计算机环境中与所述虚拟化平台(3、4、5)建立通信会话,定义该通信会话(SESS3、SESS4、SESS5)的各种可能状态的状态机(ST-M3、ST-M4、ST-M5)。
8.一种信息介质,当所述信息介质中的程序由计算机执行时,用于执行根据权利要求1所述的处理方法的步骤的指令。
9.一种信息介质,当所述信息介质中的程序由计算机执行时,用于执行根据权利要求6的发起方法或者根据权利要求7的管理方法的步骤的指令。
10.一种虚拟化网关(6),包括:
数据库(9),针对多个虚拟化平台中的每一个平台(3、4、5),所述数据库(9)包含由该平台提供的至少一种计算机虚拟化服务(VS3、VS4、VS5)和允许经由该平台访问所述至少一种服务的连接信息;
用于从终端(2)接收访问由虚拟化平台(3)提供的计算机虚拟化服务(VS3)的请求(R)的模块,该请求已经由安装在所述终端上的网页浏览器(7)传输;
检查模块,所述检查模块在接收到所述访问请求时被激活,所述检查模块能够检查所述终端所请求的所述虚拟化服务(VS3)是否被包含在所述数据库中;
生成模块,所述生成模块用于由所述数据库中与请求的所述虚拟化服务(VS3)相关联的连接信息生成适合于所述服务的系统应用(JSApp),如果所述终端所请求的所述虚拟化服务(VS3)包含在所述数据库中,则激活所述生成模块,该系统应用包括用于连接至提供所述服务的所述虚拟化平台,并能够使所述终端能够与所述平台协商通信会话(SESS3)的建立和维持的模块(CX-MOD3);以及
用于将由所述生成模块生成的所述系统应用发送至安装在所述终端上的所述网页浏览器(7)的模块。
11.一种网页浏览器(7),所述网页浏览器(7)安装在终端(2)上并且包括:
发送模块,能够将访问由虚拟化平台提供的计算机虚拟化服务(VS3)的请求(R)发送至虚拟化网关(6);
接收模块,能够从所述虚拟化网关接收适于所请求的所述计算机虚拟化服务的系统应用(JSApp),以及所述系统应用(JSApp)包括用于连接至提供所述服务的所述虚拟化平台的模块(CX-MOD),所述模块(CX-MOD)使所述终端能够与所述平台协商通信会话的建立和维持;以及
执行模块,所述执行模块能够执行接收到的所述系统应用并且与所述平台协商通信会话(SESS3)的建立和维持,以便通过使用被包含在所述系统应用中的所述连接模块访问所述虚拟化服务。
12.根据权利要求11所述的网页浏览器(7),进一步包括:用于管理(WWS)虚拟计算机环境(VE)的模块,在所述虚拟计算机环境(VE)中,在由所述执行模块应用与提供计算机虚拟化服务的平台协商之后,与至少一个所述虚拟平台建立至少一个通信会话(SESS3、SESS4、SESS5),为了维持所述虚拟计算机环境,该(WWS)管理模块能够使用:
定义所述虚拟计算机环境的各种可能状态的状态机(ST-MG);以及
针对每个虚拟化平台(3、4、5),在所述建立步骤期间在所述虚拟计算机环境中与所述每个虚拟化平台(3、4、5)建立通信会话,定义该通信会话的各种可能状态的状态机(ST-M3、ST-M4、ST-M5)。
13.一种终端(2),在所述终端(2)上安装有根据权利要求11所述的网页浏览器。
14.一种计算机系统(1),包括:
多个虚拟平台(3、4、5),提供计算机虚拟服务(VS3、VS4、VS5);
根据权利要求13所述的终端(2),所述终端(2)能够发送访问由所述虚拟化平台(3)提供的所述计算机虚拟化服务(VS 3)的请求(R);以及
根据权利要求10所述的虚拟化网关(6),所述虚拟化网关(6)能够处理该访问请求。
15.根据权利要求14所述的系统(1),其中,所述多个虚拟化平台包括以下平台中的至少两个平台:
VDI类型的虚拟化平台(3);
SBC类型的集中式应用的虚拟化平台(4);以及
使用网页界面的应用和/或操作系统的虚拟化平台(5)。
16.根据权利要求14所述的系统(1),其中,至少一个所述虚拟化平台能够向所述虚拟化网关发送异步消息,所述异步消息通知所述虚拟化网关所述虚拟化平台所提供的所述计算机虚拟化服务,并且包含与这些虚拟化服务相关联的连接信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1262464A FR3000339A1 (fr) | 2012-12-20 | 2012-12-20 | Procede de traitement de requetes d'acces a des services de virtualisation informatique, passerelle de virtualisation et navigateur web |
FR1262464 | 2012-12-20 | ||
PCT/FR2013/053099 WO2014096660A1 (fr) | 2012-12-20 | 2013-12-16 | Procédé de traitement de requêtes d'accès et navigateur web |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105009547A CN105009547A (zh) | 2015-10-28 |
CN105009547B true CN105009547B (zh) | 2019-03-15 |
Family
ID=47989143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380073034.7A Active CN105009547B (zh) | 2012-12-20 | 2013-12-16 | 用于处理访问请求的方法和网页浏览器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10999405B2 (zh) |
EP (1) | EP2936782B1 (zh) |
CN (1) | CN105009547B (zh) |
FR (1) | FR3000339A1 (zh) |
WO (1) | WO2014096660A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9609068B2 (en) * | 2013-12-16 | 2017-03-28 | Fuji Xerox Co., Ltd. | Session management system, session management apparatus, and non-transitory computer readable medium |
US10911574B2 (en) | 2015-03-25 | 2021-02-02 | Amazon Technologies, Inc. | Using multiple protocols in a virtual desktop infrastructure |
US10334075B2 (en) * | 2016-05-23 | 2019-06-25 | Citrix Systems, Inc. | Virtual browser integration |
US10645178B2 (en) * | 2016-11-29 | 2020-05-05 | Ncr Corporation | Omni-channel virtual reality (VR) collaboration |
CN106775900B (zh) * | 2017-01-20 | 2020-10-09 | 陈刚 | 应用浏览器的调用方法和系统 |
US10860342B2 (en) * | 2017-01-30 | 2020-12-08 | Citrix Systems, Inc. | Computer system providing cloud-based session prelaunch features and related methods |
US11880422B2 (en) | 2019-02-04 | 2024-01-23 | Cloudflare, Inc. | Theft prevention for sensitive information |
US10558824B1 (en) | 2019-02-04 | 2020-02-11 | S2 Systems Corporation | Application remoting using network vector rendering |
US10452868B1 (en) | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
US10552639B1 (en) | 2019-02-04 | 2020-02-04 | S2 Systems Corporation | Local isolator application with cohesive application-isolation interface |
US11196817B1 (en) * | 2020-06-03 | 2021-12-07 | Dell Products L.P. | Intelligently managing resource utilization in desktop virtualization environments |
US11496575B2 (en) * | 2020-09-10 | 2022-11-08 | T-Mobile Usa, Inc. | Enhanced messaging as a platform |
US20220150234A1 (en) * | 2020-11-12 | 2022-05-12 | Arris Enterprises Llc | Providing credentials from web hosted application to a network device on a local network |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717593B1 (en) * | 2000-09-12 | 2004-04-06 | Avaya Technology Corp. | Mark-up language implementation of graphical or non-graphical user interfaces |
EP1665084A1 (en) * | 2003-09-17 | 2006-06-07 | Research In Motion Limited | System and method for dynamic generation and customization of web service client applications for terminals |
US7730030B1 (en) * | 2004-08-15 | 2010-06-01 | Yongyong Xu | Resource based virtual communities |
US7779091B2 (en) * | 2005-12-19 | 2010-08-17 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US20080201455A1 (en) * | 2007-02-15 | 2008-08-21 | Husain Syed M Amir | Moving Execution of a Virtual Machine Across Different Virtualization Platforms |
US20080301770A1 (en) * | 2007-05-31 | 2008-12-04 | Kinder Nathan G | Identity based virtual machine selector |
US20090168091A1 (en) * | 2007-12-31 | 2009-07-02 | Bce Inc. | Method and system for providing extended printer properties |
US8683062B2 (en) * | 2008-02-28 | 2014-03-25 | Microsoft Corporation | Centralized publishing of network resources |
US8473594B2 (en) * | 2008-05-02 | 2013-06-25 | Skytap | Multitenant hosted virtual machine infrastructure |
US8185910B2 (en) * | 2008-08-27 | 2012-05-22 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
US8065714B2 (en) * | 2008-09-12 | 2011-11-22 | Hytrust, Inc. | Methods and systems for securely managing virtualization platform |
US8392497B2 (en) * | 2009-11-25 | 2013-03-05 | Framehawk, LLC | Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client |
US20120066679A1 (en) * | 2010-09-13 | 2012-03-15 | Startforce, Inc. | Disposable virtual desktop for transient use by multiple users |
US8850429B2 (en) * | 2010-10-05 | 2014-09-30 | Citrix Systems, Inc. | Load balancing in multi-server virtual workplace environments |
US9021015B2 (en) * | 2010-10-18 | 2015-04-28 | Code Systems Corporation | Method and system for publishing virtual applications to a web server |
US20120284632A1 (en) * | 2011-05-06 | 2012-11-08 | Cisco Technology, Inc. | Integrated Rendering of Streaming Media in Virtualized Desktop Environment |
US9225763B2 (en) * | 2011-06-07 | 2015-12-29 | Cisco Technology, Inc. | Distributed overlay browser for transparent streaming media support in virtualized desktop environment |
US9201634B2 (en) * | 2011-06-09 | 2015-12-01 | Samsung Electronics Co., Ltd | Method and system for controlling user experience with an application on a client device |
US8769011B2 (en) * | 2011-06-21 | 2014-07-01 | Cisco Technology, Inc. | Survivable browsing in virtualized desktop environment when host connectivity is lost |
US8966004B2 (en) * | 2011-09-29 | 2015-02-24 | Comcast Cable Communications, LLC. | Multiple virtual machines in a mobile virtualization platform |
US9069587B2 (en) * | 2011-10-31 | 2015-06-30 | Stec, Inc. | System and method to cache hypervisor data |
US20130145361A1 (en) * | 2011-12-01 | 2013-06-06 | International Business Machines Corporation | Discovering and installing web application plugins |
US9294549B2 (en) * | 2012-02-14 | 2016-03-22 | Citrix Systems, Inc. | Client bandwidth emulation in hosted services |
US9158563B2 (en) * | 2012-03-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Dynamic plugin(s) for cloud application(s) |
US20140122875A1 (en) * | 2012-10-31 | 2014-05-01 | Ubs Ag | Container-based management at a user device |
US10069827B2 (en) * | 2012-10-31 | 2018-09-04 | International Business Machines Corporation | Extending authentication and authorization capabilities of an application without code changes |
US20140173591A1 (en) * | 2012-12-13 | 2014-06-19 | Cisco Technology, Inc. | Differentiated service levels in virtualized computing |
-
2012
- 2012-12-20 FR FR1262464A patent/FR3000339A1/fr active Pending
-
2013
- 2013-12-16 CN CN201380073034.7A patent/CN105009547B/zh active Active
- 2013-12-16 WO PCT/FR2013/053099 patent/WO2014096660A1/fr active Application Filing
- 2013-12-16 EP EP13818311.6A patent/EP2936782B1/fr active Active
- 2013-12-16 US US14/654,446 patent/US10999405B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10999405B2 (en) | 2021-05-04 |
FR3000339A1 (fr) | 2014-06-27 |
EP2936782A1 (fr) | 2015-10-28 |
US20150373148A1 (en) | 2015-12-24 |
WO2014096660A1 (fr) | 2014-06-26 |
EP2936782B1 (fr) | 2020-02-05 |
CN105009547A (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105009547B (zh) | 用于处理访问请求的方法和网页浏览器 | |
Daigneau | Service Design Patterns: fundamental design solutions for SOAP/WSDL and restful Web Services | |
Sbarski et al. | Serverless architectures on AWS: with examples using Aws Lambda | |
CN102255934B (zh) | 云服务发布方法及云服务中介 | |
KR102148046B1 (ko) | 준비되지 않은 단말의 호출 기법 | |
CN103650458A (zh) | 媒体流的传输方法、装置与系统 | |
US10212237B2 (en) | System and method for managing media and signaling in a communication platform | |
EP3020179B1 (en) | Distributed programmable connection method to establish peer-to-peer multimedia interactions | |
US11609941B2 (en) | Natural language interface for a data management system | |
Bernstein et al. | Using XMPP as a transport in Intercloud Protocols | |
CN112637796B (zh) | 基于5g的办公信息应答方法、系统、服务器和存储介质 | |
US20210034338A1 (en) | Communications Enablement Platform, System, and Method | |
CN105302564A (zh) | 网络办公软件服务控件及实现方法 | |
CN108156223A (zh) | 一种基于websocket的消息精准推送系统及方法 | |
CN104660547B (zh) | 一种实现远距离通信的服务平台 | |
US11411812B2 (en) | Dynamic service creation for microservice-based integration service | |
CN103155530A (zh) | 包括将脚本命令下载至用户终端的网络-电信融合 | |
CN108989157B (zh) | 用于智能设备控制的方法、装置 | |
WO2012097728A1 (zh) | 一种开放平台代理访问方法及装置 | |
CN104378411A (zh) | 服务交换系统 | |
US8761818B2 (en) | Converged dialog in hybrid mobile applications | |
Smolka | Real-time communication in web browser | |
CN104067629A (zh) | 经由带内视频信令实现VoIP客户端控制 | |
Picek et al. | Multipoint Web Real-Time Communication | |
CN102469135B (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 |