用于安全网页浏览的重定向器的制作方法

文档序号:14213443阅读:249来源:国知局
用于安全网页浏览的重定向器的制作方法

相关申请的交叉引用

本申请要求2015年7月31日提交且标题为“用于安全网页浏览的重定向器(redirectorforsecurewebbrowsing)”的第14/815,066号美国非临时专利申请的优先权。上文所提到的申请以全文引用的方式且出于所有目的并入本文中。

本文所描述的方面大体上涉及计算机、联网、硬件和软件以及其中处于适当位置的安全措施。更具体地说,本文的一些方面涉及网页浏览器的重定向。本公开的一个或多个方面涉及使用重定向器服务和客户端代理来重定向网页浏览器以呈现远程网页浏览器应用程序。



背景技术:

企业(例如,公司、伙伴、政府、学术机构、其他组织等)面临着针对其计算机网络和资产的恶意攻击的持续增加的风险。所述情形的数量和复杂性因当前朝向自带装置(bringyourowndevice,byod)的趋势而进一步增加。除了由企业提供的计算机资源之外,byod环境允许企业雇员使用其自身的装置用于工作目的,例如移动电话、智能电话、平板计算机、膝上型计算机、个人计算机或其他电子装置。然而,byod情形带来固有的安全性风险,因为企业通常缺乏对每一个雇员提供的装置的均匀且完全的控制。

一些企业已经通过部署和维持限制对网络外部的接入(例如,因特网)的安全网络以及通过使用虚拟化环境而减轻上述风险,所述虚拟化环境允许企业雇员以不会对安全网络带来风险的方式从安全网络内接入不安全资源。用于在虚拟化环境中具现化应用程序的技术是此项技术中众所周知的。此应用程序可以在虚拟化服务器上具现化,且对应的远程应用程序可以在用户的计算装置上再现。

应用程序虚拟化的常见用途是发布代管的网页浏览器应用程序。企业可以具有发布代管的网页浏览器应用程序的若干动机。其中,企业可以发布网页浏览器以为企业用户提供对从安全网络内原本将不可接入的网站(例如,需要接入因特网的网站)或已经被确定为通常非工作相关或原本将对安全网络带来安全性风险的网站的接入。举例来说,营销雇员可能需要接入社交媒体网页应用程序以用于工作目的而不是个人目的。在另一情形中,企业可能已实施需要特定类型和版本的网页浏览器应用程序的策略,但雇员(或雇员群组)需要接入与企业的所批准网页浏览器应用程序不兼容的网站。企业可以发布具有与所需网站兼容的类型和版本的代管的网页浏览器,而不是因允许那些雇员安装未经批准的网页浏览器应用程序而带来安全性问题的风险。举例来说,企业可能需要使用由华盛顿州雷德蒙德市的微软公司(microsoftcorporationofredmond,washington)制造的internet网页浏览器应用程序,且所述应用程序可能不能够显示仅与由加利福尼亚州山景城的谷歌公司(googlecorporationofmountainview,california)制造的chrome网页浏览器应用程序兼容的网页的内容。

然而,使用代管的网页浏览器应用程序接入网站的用户体验在难度和复杂性方面不同于使用本地网页浏览器应用程序执行同一任务的用户体验。在代管的网页浏览器应用程序情形中,用户需要安装客户端应用程序,启动客户端应用程序,从客户端启动代管的网页浏览器应用程序,并且接着将网页浏览器导航到所需网站。另外,代管的网页浏览器可能与用户的计算装置中安装的网页浏览器应用程序具有不同的类型和/或版本。因此,用户必须学习如何使用多个类型和/或版本的网页浏览器应用程序。



技术实现要素:

以下提出本文中所描述的各种方面的简化概述。此概述并非广泛综述,且并不希望识别关键或重要要素或划定权利要求书的范围。以下概述仅按简化形式提出一些概念,作为对以下提供的更详细描述的介绍性序言。

为了克服上述现有技术中的限制,且克服在阅读和理解本说明书后将明白的其他限制,本文所描述的方面是针对用于重定向用户网页浏览器应用程序以使得网页浏览器应用程序可接入通常从安全公司网络将不可接入的网站或者接入与用户的网页浏览器应用程序的类型和/或版本不兼容的网站的系统、方法和技术。

所述方法可以包括:由地址翻译服务从在安全网络中执行的用户网页浏览器应用程序接收对网站的第一请求;由所述地址翻译服务且响应于所述第一请求在所述网站满足预定义准则的情况下或时候提供重定向器服务的网络地址;由所述重定向器服务接收来自所述用户网页浏览器应用程序的对所述网站的第二请求;由所述重定向器服务请求在不安全网络上执行的代管的网页浏览器应用程序,其中所述重定向器服务的所述请求识别所述网站;将所述代管的网页浏览器应用程序导航到所述网站;由所述重定向器服务向所述用户网页浏览器应用程序发送用于在所述用户网页浏览器应用程序内执行的客户端代理,其中所述客户端代理可被预配置以呈现所述代管的网页浏览器。

由地址翻译服务提供的重定向器服务的网络地址可以包括因特网协议(ip)地址。在其他实施例中,由地址翻译服务提供的重定向器服务的网络地址可以包括统一记录定位符(url)地址。所述方法可进一步包括来自用户网页浏览器应用程序的第二请求,其包括网站的统一记录定位符(url)。此外,重定向器服务可以将网站的统一记录定位符传输到代管的网页浏览器应用程序。

在一些实施例中,所述地址翻译服务可以包括域名系统(dns),所述域名系统被配置成基于预定准则响应于对第一组网站的地址请求而提供所述重定向器服务的地址,且响应于对第二组网站的地址请求而提供所述第二组网站内的相应网站的地址。在其他实施例中,所述地址翻译服务可以包括网页代理服务,其基于预定准则被配置成拦截对第一组网站的请求并将所述请求中继到重定向器服务,且被配置成不拦截对第二组网站的请求。

所述方法可进一步包括重定向器服务,其包括多个经负载平衡的重定向器服务。在其他实施例中,代管的网页浏览器应用程序可以在网页浏览器应用程序的代管的集群中执行。在另一实施例中,请求代管的网页浏览器应用程序的重定向器服务可以响应于所述请求而被指派预启动代管的网页浏览器应用程序。

替代地,在另外其他实施例中所述方法可进一步包括响应于重定向器服务请求代管的网页浏览器应用程序而检索所述网站的内容和性质,分析所述网站的内容和性质,以及基于所述网站的内容和性质而确定将响应于来自重定向器服务的请求而启动的代管的网页浏览器应用程序的类型和版本。

系统和非暂时性计算机可读媒体可以被配置成提供和/或支持本文所描述的各种方面。通过在下文进一步详细论述的本公开的益处,将了解这些和额外方面。

附图说明

可通过参考考虑附图的以下描述来获取对本文中描述的方面和其优点的更完整理解,附图中相同参考标号指示相同特征,且其中:

图1描绘可根据本文中描述的一个或多个说明性方面使用的说明性计算机系统架构。

图2描绘可根据本文中描述的一个或多个说明性方面使用的说明性远程接入系统架构。

图3描绘可根据本文中描述的一个或多个说明性方面使用的说明性虚拟化(监管程序)系统架构。

图4描绘可根据本文中描述的一个或多个说明性方面使用的说明性基于云的系统架构。

图5描绘根据本文所描述的一个或多个说明性方面的其中重定向器服务将在安全网络中执行的用户网页浏览器应用程序重定向到呈现所述安全网络之外的网站的代管的网页浏览器应用程序的说明性系统架构。

图6说明根据本文所描述的一个或多个说明性方面的用以将在安全网络中执行的用户网页浏览器应用程序重定向到呈现所述安全网络之外的网站的代管的网页浏览器应用程序的方法的流程图。

图7描绘根据本文所描述的一个或多个说明性方面的其中重定向器服务将不兼容用户网页浏览器应用程序重定向到代管的兼容网页浏览器应用程序的说明性系统架构。

图8说明根据本文所描述的一个或多个说明性方面的用以将不兼容用户网页浏览器应用程序重定向到代管的兼容网页浏览器应用程序的方法的流程图。

具体实施方式

在各种实施例的以下描述中,参考上文指出且形成本文的一部分的附图,且其中借助于说明展示可实践本文中描述的方面的各种实施例。应理解,在不脱离本文中描述的范围的情况下,可利用其他实施例,且可进行结构和功能修改。各种方面能够有其他实施例并且以各种不同方式实践或进行。

作为对下文更详细地描述的主题的一般介绍,本文所描述的方面是针对用于重定向用户网页浏览器应用程序以使得所述网页浏览器应用程序可接入从安全公司网络将通常不可接入的网站或者接入与用户的网页浏览器应用程序的类型和/或版本不兼容的网站的系统、方法和技术。本文所描述的方面可以当企业的雇员可能需要使用位于企业的安全网络外部的网站(例如,营销雇员可能需要接入社交媒体网页应用程序以用于工作目的)时使用。本文所描述的其他方面可用以提供对由于浏览器类型和/或版本兼容性问题而原本将可能无法接入的网站的接入。

然而,在更详细地论述这些概念之前,将首先相对于图1-4论述可以用于实施和/或另外提供本发明的各种方面的计算架构和系统的若干实例。

应理解,本文中使用的措词和术语是出于描述的目的且不应被看作是限制性的。相反地,应对本文中使用的短语和术语给予其最广泛的解释和意义。“包含(including)”和“包括(comprising)”和其变体的使用打算涵盖其后列出的项目和其等效物以及额外项目和其等效物。术语“安装”、“连接”、“耦合”、“定位”、“接合”和类似术语的使用打算包含直接和间接安装、连接、耦合、定位和接合两者。

计算架构

可在尤其包含独立式、联网、远程接入(又名,远程桌面)、虚拟化和/或基于云的环境的多种不同系统环境中利用计算机软件、硬件和网络。图1说明可用以在独立式和/或联网环境中实施本文中描述的一个或多个说明性方面的系统架构和数据处理装置的一个实例。各种网络节点103、105、107和109可经由例如因特网等广域网(wideareanetwork,wan)101互连。同样或替代地可以使用其他网络,包含私人内联网、公司网络、局域网(localareanetwork,lan)、城域网(metropolitanareanetwork,man)、无线网络、个人网络(personalnetwork,pan)及类似物。网络101是出于说明的目的,且可由较少或额外计算机网络替换。局域网可以具有任何已知lan拓扑中的一个或多个,且可以使用多种不同协议中的一个或多个,例如以太网。装置103、105、107、109和其他装置(未展示)可经由双绞线电线、同轴电缆、光纤、无线电波或其他通信媒体连接到网络中的一个或多个。

如本文中所使用且在图式中描绘的术语“网络”不仅指远程存储装置经由一个或多个通信路径耦合在一起的系统,而且指可不时地耦合到具有存储能力的此类系统的单独装置。因此,术语“网络”不仅包含“物理网络”,而且包含“内容网络”,其包括驻留在所有物理网络上的可归于单一实体的数据。

组件可包含数据服务器103、网页服务器105以及客户端计算机107、109。数据服务器103提供对用于执行本文描述的一个或多个说明性方面的数据库和控制软件的总体接入、控制和管理。数据服务器103可连接到网页服务器105,通过所述网页服务器105,用户按请求与数据交互和获得数据。替代地,数据服务器103可充当网页服务器自身且直接连接到因特网。数据服务器103可通过网络101(例如,因特网)经由直接或间接连接或经由某一其他网络连接到网页服务器105。用户可以使用远程计算机107、109与数据服务器103交互,例如使用网页浏览器以经由由网页服务器105代管的一个或多个外部暴露网站而连接到数据服务器103客户端计算机107、109可以与数据服务器103协同使用以接入其中存储的数据,或者可以用于其他目的。举例来说,从客户端装置107,用户可使用因特网浏览器(如此项技术中已知)或通过执行在计算机网络(例如因特网)上与网页服务器105和/或数据服务器103通信的软件应用程序来接入网页服务器105。

服务器与应用程序可在相同的物理机器上组合,且保留单独的虚拟或逻辑地址,或可驻留于单独的物理机器上。图1说明可使用的网络架构的仅一个实例,且本领域的技术人员将了解,使用的具体网络架构和数据处理装置可变化,且对于其提供的功能性是次要的,如本文中进一步描述。举例来说,由网页服务器105和数据服务器103提供的服务可在单个服务器上组合。

每一组件103、105、107、109可以是任一类型的已知计算机、服务器或数据处理装置。数据服务器103例如可包含控制数据服务器103的总体操作的处理器111。数据服务器103可进一步包含随机存取存储器(randomaccessmemory,ram)113、只读存储器(readonlymemory,rom)115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等),和存储器121。输入/输出(i/o)119可包含用于读取、写入、显示和/或打印数据或文件的多种接口单元和驱动器。存储器121可进一步存储用于控制数据处理装置103的总体操作的操作系统软件123、用于指示数据服务器103执行本文中描述的方面的控制逻辑125,以及提供可或可不结合本文中描述的方面使用的次要、支持和/或其他功能性的其他应用程序软件127。所述控制逻辑在本文中也可以被称作数据服务器软件125。数据服务器软件的功能性可涉及基于被编码到控制逻辑中的规则而自动做出的操作或决策、通过用户对系统提供输入而手动做出的操作或决策,和/或基于用户输入(例如,询问、数据更新等)的自动处理的组合。

存储器121还可存储用于执行本文中所描述的一个或多个方面的数据,包含第一数据库129和第二数据库131。在一些实施例中,第一数据库可包含第二数据库(例如,作为单独的表、报告等)。也就是说,取决于系统设计,信息可存储于单个数据库中,或分成不同逻辑、虚拟或物理数据库。装置105、107、109可具有与关于装置103所描述类似或不同的架构。本领域的技术人员将了解,如本文中所描述的数据处理装置103(或装置105、107、109)的功能性可跨多个数据处理装置散布,例如,以跨多个计算机分布处理负荷,以基于地理位置、用户接入级别、服务质量(qos)等而分隔事务。

一个或多个方面可以由如本文中所描述的一个或多个计算机或其他装置执行的计算机可用或可读数据和/或计算机可执行指令来体现,例如在一个或多个程序模块中体现。通常,程序模块包含在由计算机或其他装置中的处理器执行时执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。模块可按随后被编译供执行的源代码编程语言来撰写,或可按例如(但不限于)超文本标记语言(html)或可扩展标记语言(xml)的脚本语言来撰写。计算机可执行指令可存储于例如非易失性存储装置等计算机可读媒体上。可利用任何合适的计算机可读存储媒体,包含硬盘、cd-rom、光学存储装置、磁性存储装置和/或其任何组合。另外,表示如本文中所描述的数据或事件的各种传输(非存储)媒体可以用行进通过信号传导媒体的电磁波的形式在源与目的地之间传送,所述信号传导媒体例如为金属线、光纤和/或无线传输媒体(例如,空气和/或空间)。本文中所描述的各种方面可体现为方法、数据处理系统或计算机程序产品。因此,可全部或部分地以软件、固件和/或硬件或硬件同等物(例如,集成电路、现场可编程门阵列(fpga)等)来体现各种功能性。可使用特定数据结构更有效地实施本文中描述的一个或多个方面,且预期此类数据结构在本文中描述的计算机可执行指令和计算机可用数据的范围内。

进一步参看图2,可在远程接入环境中实施本文中描述的一个或多个方面。图2描绘可根据本文中所描述的一个或多个说明性方面使用的包含说明性计算环境200中的通用计算装置201的实例系统架构。可将通用计算装置201用作被配置成提供用于客户端接入装置的虚拟机的单服务器或多服务器桌面虚拟化系统(例如,远程接入或云系统)中的服务器206a。通用计算装置201可具有用于控制服务器和其相关联组件的总体操作的处理器203,所述相关联组件包含ram205、rom207、i/o模块209和存储器215。

i/o模块209可包含通用计算装置201的用户可以用来提供输入的鼠标、小键盘、触摸屏、扫描仪、光学读取器和/或触笔(或其他输入装置),且还可包含用于提供音频输出的扬声器以及用于提供文字、视听和/或图形输出的视频显示装置中的一个或多个。软件可存储于存储器215和/或其他存储装置内以将指令提供到处理器203以用于将通用计算装置201配置成专用计算装置以便执行如本文中描述的各种功能。举例来说,存储器215可存储由计算装置201使用的软件,例如操作系统217、应用程序219和相关联数据库221。

计算装置201可在支持到例如终端240(也被称作客户端装置)的一个或多个远程计算机的连接的联网环境中操作。终端240可以是个人计算机、移动装置、膝上型计算机、平板计算机或服务器,其包含上文关于通用计算装置103或201描述的元件中的许多或全部。图2中描绘的网络连接包含局域网(lan)225和广域网(wan)229,但也可包含其他网络。当在lan联网环境中使用时,计算装置201可通过网络接口或适配器223连接到lan225。当在wan联网环境中使用时,计算装置201可包含用于在wan229、例如计算机网络230(例如,因特网)上建立通信的调制解调器227或其他广域网接口。将了解,所展示的网络连接是说明性的,且可使用在计算机之间建立通信链路的其他构件。计算装置201和/或终端240还可以是移动终端(例如,移动电话、智能电话、个人数字助理(pda)、笔记本计算机等),包含各种其他组件,例如电池、扬声器和天线(未图示)。

本文中描述的方面也可与众多其他通用或专用计算系统环境或配置一起操作。可适合与本文中描述的方面一起使用的其他计算系统、环境和/或配置的实例包含(但不限于)个人计算机、服务器计算机、手持式或笔记本电脑、多处理器系统、基于微处理器的系统、机顶盒、可编程消费型电子装置、网络个人计算机(pc)、微型计算机、大型计算机、包含以上系统或装置中的任一者的分布式计算环境和类似物。

如图2中所示,一个或多个客户端装置240可以与一个或多个服务器206a-206n(在本文中大体上被称作“服务器206”)通信。在一个实施例中,计算环境200可包含安装于服务器206与客户端机器240之间的网络器具。所述网络器具可以管理客户端/服务器连接,且在一些情况下,可对多个后端服务器206间的客户端连接进行负载平衡。

客户端机器240可在一些实施例中被称作单个客户端机器240或客户端机器240的单个群组,而服务器206可被称作单个服务器206或服务器206的单个群组。在一个实施例中,单个客户端机器240与多于一个服务器206通信,而在另一实施例中单个服务器206与多于一个客户端机器240通信。在又一实施例中,单个客户端机器240与单个服务器206通信。

在一些实施例中,客户端机器240可由以下非详尽术语中的任一个参考:客户端机器;客户端;客户端计算机;客户端装置;客户端计算装置;本地机器;远程机器;客户端节点;端点;或端点节点。在一些实施例中,服务器206可以由以下非详尽术语中的任一个参考:服务器,本地机器;远程机器;服务器集群,或主机计算装置。

在一个实施例中,客户端机器240可以是虚拟机。虚拟机可为任一虚拟机,而在一些实施例中,虚拟机可为由1型或2型监管程序管理的任一虚拟机,所述监管程序例如由citrixsystems、ibm、vmware开发的监管程序或任一其他监管程序。在一些方面,虚拟机可由监管程序管理,而在各方面中,虚拟机可由在服务器206上执行的监管程序或在客户端240上执行的监管程序管理。

一些实施例包含客户端装置240,其显示由在服务器206上远程执行的应用程序或其他远程定位的机器产生的应用程序输出。在这些实施例中,客户端装置240可执行虚拟机接收器程序或应用程序以在应用程序窗口、浏览器或其他输出窗中显示输出。在一个实例中,应用程序是桌面,而在其他实例中,应用程序是产生或呈现桌面的应用程序。桌面可包含图形壳层,其提供用于其中可集成本地和/或远程应用程序的操作系统的例项的用户接口。如本文中所使用的应用程序是在已加载操作系统(且任选地,以及桌面)的例项之后执行的程序。

在一些实施例中,服务器206使用远程呈现协议或其他程序将数据发送到精简客户端或客户端上执行的远程显示应用程序,以呈现由服务器206上执行的应用程序产生的显示输出。精简客户端或远程显示协议可以是以下非详尽性协议列表中的任一个:由佛罗里达州劳德代尔堡(ft.lauderdale,florida)的思杰系统公司(citrixsystems,inc.)开发的独立计算架构(independentcomputingarchitecture,ica)协议;或由华盛顿州雷德蒙德(redmond,washington)的微软公司(microsoftcorporation)制造的远程桌面协议(remotedesktopprotocol,rdp)。

远程计算环境可包含多于一个服务器206a-206n,使得所述服务器206a-206n被在一起逻辑分组到服务器集群206内,例如,在云计算环境中。服务器集群206可包含虽然地理上分散却逻辑分组在一起的服务器206,或位置相互最接近同时逻辑分组在一起的服务器206。在一些实施例中,在服务器集群206内的地理上分散的服务器206a-206n可使用wan(广)、man(城市)或lan(局部)通信,其中不同地理区域可被表征为:不同大陆;大陆的不同区域;不同国家;不同州;不同城市;不同校园;不同房间;或先前地理位置的任何组合。在一些实施例中,可将服务器集群206作为单个实体管理,而在其他实施例中,服务器集群206可包含多个服务器集群。

在一些实施例中,服务器集群可包含执行大体上类似类型的操作系统平台(例如,windows、unix、linux、ios、android、symbian等)的服务器206。在其他实施例中,服务器集群206可包含执行第一类型的操作系统平台的一个或多个服务器的第一群组,和执行第二类型的操作系统平台的一个或多个服务器的第二群组。

服务器206可按需要被配置为任一类型的服务器,例如,文件服务器、应用程序服务器、网页服务器、代理服务器、器具、网络器具、网关、应用程序网关、网关服务器、虚拟化服务器、部署服务器、安全套接字层(ssl)vpn服务器、防火墙、网页服务器、应用程序服务器,或作为主应用程序服务器、执行活动目录的服务器,或执行提供防火墙功能性、应用程序功能性或负载平衡功能性的应用程序加速程序的服务器。还可使用其他服务器类型。

一些实施例包含第一服务器206a,其接收来自客户端机器240的请求,将请求转发到第二服务器206b,且用来自第二服务器206b的响应来响应由客户端机器240产生的请求。第一服务器206a可获取可用于客户端机器240的应用程序的列举,以及与代管在应用程序的列举内识别出的应用程序的应用程序服务器206相关联的地址信息。第一服务器206a可随后使用网络接口呈现对客户的请求的响应,且与客户端240直接通信以为客户端240提供对所识别应用程序的接入。一个或多个客户端240和/或一个或多个服务器206可经由例如网络101等网络230发射数据。

图3示出了说明性桌面虚拟化系统的高级架构。如所展示,桌面虚拟化系统可以是单服务器或多服务器系统或云系统,包含被配置以对一个或多个客户端接入装置240提供虚拟桌面和/或虚拟应用程序的至少一个虚拟化服务器301。如本文中所使用,桌面指代其中可代管和/或执行一个或多个应用程序的图形环境或空间。桌面可包含图形壳层,其提供用于其中可集成本地和/或远程应用程序的操作系统的例项的用户接口。应用程序可包含在已加载操作系统(且任选地,还有桌面)的例项之后执行的程序。操作系统的每一例项可以是物理的(例如,每装置一个操作系统)或虚拟的(例如,在单个装置上运行的os的许多例项)。每一应用程序可在本地装置上执行,或在位于远处的装置(例如,远程)上执行。

计算机装置301可以被配置为虚拟化环境中的虚拟化服务器,例如单服务器、多服务器或云计算环境。图3中说明的虚拟化服务器301可部署为图2中说明的服务器206的一个或多个实施例或其他已知计算装置,和/或由图2中说明的服务器206的一个或多个实施例或由其他已知计算装置实施。包含在虚拟化服务器301中的是硬件层,其可包含一个或多个物理磁盘304、一个或多个物理装置306、一个或多个物理处理器308以及一个或多个物理存储器316。在一些实施例中,固件312可存储于物理存储器316中的存储器元件内,且可由物理处理器308中的一个或多个执行。虚拟化服务器301可进一步包含操作系统314,其可存储于物理存储器316中的存储器元件中且由物理处理器308中的一个或多个执行。再者,监管程序302可存储于物理存储器316中的存储器元件中且可由物理处理器308中的一个或多个执行。

在物理处理器308中的一个或多个上执行的可以是一个或多个虚拟机332a-c(通常332)。每一虚拟机332可具有虚拟磁盘326a-c和虚拟处理器328a-c。在一些实施例中,第一虚拟机332a可使用虚拟处理器328a执行包含工具堆栈324的控制程序320。控制程序320可被称作控制虚拟机、dom0、domain0或用于系统管理和/或控制的其他虚拟机。在一些实施例中,一个或多个虚拟机332b-c可使用虚拟处理器328b-c执行访客操作系统330a-b。

虚拟化服务器301可包含具有与虚拟化服务器301通信的一片或多片硬件的硬件层310。在一些实施例中,硬件层310可包含一个或多个物理磁盘304、一个或多个物理装置306、一个或多个物理处理器308以及一个或多个存储器216。物理组件304、306、308和316可以包含(例如)以上描述的组件中的任一个。物理装置306可以包含(例如)网络接口卡、视频卡、键盘、鼠标、输入装置、监视器、显示装置、扬声器、光盘驱动器、存储装置、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址转译器、负载平衡器、虚拟专用网络(vpn)网关、动态主机配置协议(dhcp)路由器等),或连接到虚拟化服务器301或与虚拟化服务器301通信的任一装置。硬件层310中的物理存储器316可包含任何类型的存储器。物理存储器316可存储数据,且在一些实施例中,可存储一个或多个程序或可执行指令的集合。图3说明固件312存储于虚拟化服务器301的物理存储器316内的实施例。存储于物理存储器316中的程序或可执行指令可由虚拟化服务器301的一个或多个处理器308执行。

虚拟化服务器301还可包含监管程序302。在一些实施例中,监管程序302可以是由虚拟化服务器301上的处理器308执行以创建和管理任何数目个虚拟机332的程序。监管程序302可被称作虚拟机监视器或平台虚拟化软件。在一些实施例中,监管程序302可以是监测在计算机器上执行的虚拟机的可执行指令与硬件的任何组合。监管程序302可为2型监管程序,其中所述监管程序在于虚拟化服务器301上执行的操作系统314内执行。虚拟机接着在高于监管程序的层级处执行。在一些实施例中,2型监管程序在用户的操作系统的情境内执行,使得2型监管程序与用户的操作系统交互。在其他实施例中,在虚拟化环境中的一个或多个虚拟化服务器301可改为包含1型监管程序(未图示)。1型监管程序可通过直接接入硬件层310内的硬件和资源而在虚拟化服务器301上执行。即,在2型监管程序302通过主机操作系统314(如所展示)接入系统资源时,1型监管程序可在无主机操作系统314的情况下直接接入所有系统资源。1型监管程序可直接在虚拟化服务器301的一个或多个物理处理器308上执行,且可包含存储于物理存储器316中的程序数据。

在一些实施例中,监管程序302可按模拟能够直接接入系统资源的操作系统330或控制程序320的任一方式将虚拟资源提供到在虚拟机332上执行的操作系统330或控制程序320。系统资源可包含(但不限于)物理装置306、物理磁盘304、物理处理器308、物理存储器316和虚拟化服务器301硬件层310中包含的任一其他组件。监管程序302可用以模仿虚拟硬件,分割物理硬件,虚拟化物理硬件,和/或执行提供对计算环境的接入的虚拟机。在再其他实施例中,监管程序302控制处理器调度和存储器分割,以用于虚拟机332在虚拟化服务器301上执行。监管程序302可包含由paloalto,california的vmware,inc.制造的监管程序;xen监管程序,其开发由开放式源代码xen.org团体监督的开放式源代码产品;由微软提供的hyperv、virtualserver或虚拟pc监管程序,或其他。在一些实施例中,虚拟化服务器301执行创建访客操作系统可在其上执行的虚拟机平台的监管程序302。在这些实施例中,虚拟化服务器301可被称作主机服务器。此虚拟化服务器的实例为由fortlauderdale,fl的citrixsystems,inc.提供的xenserver。

监管程序302可创建访客操作系统330执行的一个或多个虚拟机332b-c(通常332)。在一些实施例中,监管程序302可加载虚拟机镜像以创建虚拟机332。在其他实施例中,监管程序302可执行虚拟机332内的访客操作系统330。在再其他实施例中,虚拟机332可执行访客操作系统330。

除创建虚拟机332之外,监管程序302还可以控制至少一个虚拟机332的执行。在其他实施例中,监管程序302可以通过由虚拟化服务器301提供的至少一个硬件资源(例如,在硬件层310内可用的任何硬件资源)的抽象来呈现至少一个虚拟机332。在其他实施例中,监管程序302可控制虚拟机332接入虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的接入可包含确定虚拟机332是否应能够接入处理器308以及将物理处理器能力呈现给虚拟机332的方式。

如图3中所示,虚拟化服务器301可以代管或执行一个或多个虚拟机332。虚拟机332是可执行指令的集合,其在由处理器308执行时模仿物理计算机的操作以使得虚拟机332可极类似于物理计算装置而执行程序和过程。虽然图3说明虚拟化服务器301代管三个虚拟机332的实施例,但在其他实施例中,虚拟化服务器301可代管任何数目个虚拟机332。在一些实施例中,监管程序302给每一虚拟机332提供物理硬件、存储器、处理器和可用于那个虚拟机332的其他系统资源的唯一虚拟视图。在一些实施例中,所述唯一虚拟视图可基于虚拟机权限、策略引擎对一个或多个虚拟机识别符的应用、接入虚拟机的用户、在虚拟机上执行的应用程序、由虚拟机接入的网络或任何其他所要的准则中的一个或多个。举例来说,监管程序302可创建一个或多个不安全虚拟机332和一个或多个安全虚拟机332。可防止不安全虚拟机332接入可准许安全虚拟机332接入的资源、硬件、存储器位置和程序。在其他实施例中,监管程序302可给每一虚拟机332提供可用于虚拟机332的物理硬件、存储器、处理器和其他系统资源的大体上类似虚拟视图。

每一虚拟机332可包含虚拟磁盘326a-c(通常326)和虚拟处理器328a-c(通常328)。在一些实施例中,虚拟磁盘326为虚拟化服务器301的一个或多个物理磁盘304或虚拟化服务器301的一个或多个物理磁盘304的一部分的虚拟化的视图。物理磁盘304的虚拟化的视图可由监管程序302产生、提供和管理。在一些实施例中,监管程序302给每一虚拟机332提供物理磁盘304的唯一视图。因此,在这些实施例中,当与其他虚拟磁盘326比较时,每一虚拟机332中包含的特定虚拟磁盘326可为唯一的。

虚拟处理器328可为虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施例中,物理处理器308的虚拟化视图可由监管程序302产生、提供和管理。在一些实施例中,虚拟处理器328具有至少一个物理处理器308的大体上全部相同特性。在其他实施例中,虚拟处理器308提供物理处理器308的经修改视图以使得虚拟处理器328的至少一些特性不同于对应物理处理器308的特性。

进一步参看图4,可在基于云的环境中实施本文中描述的一些方面。图4说明云计算环境(或云系统)400的实例。如图4中所见,客户端计算机411-414可以与云管理服务器410通信以接入云系统的计算资源(例如,主机服务器403、存储资源404和网络资源405)。

管理服务器410可在一个或多个物理服务器上实施。管理服务器410可运行(例如)ft.lauderdale,fl的citrixsystems,inc.的cloudstack,或openstack等。管理服务器410可管理各种计算资源,包含云硬件和软件资源,例如,主机计算机403、数据存储装置404和联网装置405。云硬件和软件资源可包含私用和/或公用组件。举例来说,云可被配置为待由一个或多个特定顾客或客户端计算机411-414和/或在私用网络上使用的私用云。在其他实施例中,公用云或混合公用-私用云可由其他顾客在开放式或混合网络上使用。

管理服务器410可被配置成提供用户接口,通过所述用户接口,云操作者和云顾客可与云系统交互。举例来说,管理服务器410可给一组应用程序编程接口(api)和/或一或多个云操作者控制台应用程序(例如,网络-基于独立式应用程序)提供用户接口以允许云操作者管理云资源,配置虚拟化层,管理顾客帐户,和执行其他云管理任务。管理服务器410还可包含具有被配置成经由客户端计算机411-414接收来自最终用户的云计算请求(例如,请求创建、修改或毁坏云内的虚拟机)的用户接口的一组api和/或一个或多个顾客控制台应用程序。客户端计算机411-414可经由因特网或其他通信网络连接到管理服务器410,且可请求对由管理服务器410管理的计算资源中的一个或多个的接入。响应于客户端请求,管理服务器410可包含资源管理器,所述资源管理器被配置成基于客户端请求而选择和提供云系统的硬件层中的物理资源。举例来说,云系统的管理服务器410和额外组件可被配置成在网络(例如,因特网)上为在客户端计算机411-414处的顾客提供、创建和管理虚拟机及其操作环境(例如,监管程序、存储资源、由网络元件提供的服务等),从而给顾客提供计算资源、数据存储服务、联网能力以及计算机平台和应用程序支持。云系统也可被配置成提供各种具体服务,包含安全系统、开发环境、用户接口和类似物。

某些客户端411-414可为相关的,例如,不同客户端计算机代表同一最终用户或附属于同一公司或组织的不同用户而创建虚拟机。在其他实例中,某些客户端411-414可为不相关的,例如,附属于不同公司或组织的用户。对于不相关客户端,可将任何一个用户的关于虚拟机或存储的信息对其他用户隐藏。

现参照云计算环境的物理硬件层,可用性区401-402(或区)可指物理计算资源的并置集合。可将区与计算资源的总体云中的其他区地理上分开。举例来说,区401可以是位于加利福尼亚的第一云数据中心,且区402可以是位于佛罗里达的第二云数据中心。管理切断410可位于可用性区中的一个处,或位于单独的位置。每一区可包含通过网关与在所述区外的例如管理服务器410等装置介接的内部网络。云的最终用户(例如,客户端411-414)可或可不意识到区之间的区别。举例来说,最终用户可请求创建具有指定量的存储器、处理能力和网络能力的虚拟机。管理服务器410可响应用户的请求且可分配资源以创建虚拟机,而用户并不知道虚拟机是使用来自区401还是区402的资源创建。在其他实例中,云系统可以允许最终用户请求在具体区中或在区内的具体资源403-405上分配虚拟机(或其他云资源)。

在此实例中,每一区401-402可包含各种物理硬件组件(或计算资源)403-405的布置,例如,物理代管资源(或处理资源)、物理网络资源、物理存储资源、交换机以及可用以对顾客提供云计算服务的额外硬件资源。云区401-402中的物理代管资源可包含一个或多个计算机服务器403,例如以上描述的虚拟化服务器301,其可被配置成创建和代管虚拟机例项。云区401或402中的物理网络资源可包含包括被配置成对云顾客提供网络服务的硬件和/或软件的一个或多个网络元件405(例如,网络服务提供者),例如防火墙、网络地址翻译程序、负载平衡器、虚拟专用网络(vpn)网关、动态主机配置协议(dhcp)路由器等。云区401-402中的存储资源可包含存储磁盘(例如,固态驱动器(ssd)、磁性硬盘等)和其他存储装置。

图4中示出的实例云计算环境还可包含具有额外硬件和/或软件资源的虚拟化层(例如,如图1-3中所示),所述资源被配置成创建和管理虚拟机且使用云中的物理资源将其他服务提供给顾客。虚拟化层可包含如上在图3中描述的监管程序以及其他组件以提供网络虚拟化、存储虚拟化等。虚拟化层可以是与物理资源层分离的层,或者可以与物理资源层共享相同硬件和/或软件资源中的一些或全部。举例来说,虚拟化层可包含与物理计算资源一起安装在虚拟化服务器403中的每一个中的监管程序。可替代地使用已知云系统,例如,windowsazure(华盛顿雷德蒙德的微软公司)、amazonec2(华盛顿西雅图的amazon.cominc.)、ibmbluecloud(纽约阿蒙克的ibm公司)或其他。

网页浏览器重定向

论述了可以用于提供和/或实施本发明的各种方面的计算架构的若干实例后,现将更详细地论述若干实施例。确切地说且如上文所介绍,本公开的一些方面大体上涉及将用户网页浏览器应用程序重定向到提供对不安全或不兼容网站的接入的代管的网页浏览器应用程序,用户的现有网页浏览器应用程序原本将不可接入所述不安全或不兼容网站。在下文的描述中,将论述说明可以如何根据一个或多个实施例重定向用户网页浏览器应用程序的各种实例。

图5示出了说明性系统架构,其中用户网页浏览器应用程序512可以在安全网络510内执行以接入不安全网站532。用户网页浏览器应用程序512、地址翻译服务514(例如,dns服务器)和重定向器服务516可以彼此通信且在安全网络510内执行。安全网络510是用于说明的目的且可以用较少或额外计算机网络代替。

用户网页浏览器应用程序512在一个实施例中可以是在客户端计算装置(例如,装置109、240等)中执行的网页浏览器应用程序。用户网页浏览器应用程序512可能不能够接入不安全网站532。对不安全网站532的接入可以经由在不安全网络520内执行的代管的网页浏览器应用程序526而提供。用户网页浏览器应用程序512可以被配置成产生被引导到地址翻译服务514(例如,dns调用)的地址翻译请求。用户网页浏览器应用程序512可以被配置成使用由地址翻译服务514提供的网络地址产生网站内容请求。由地址翻译服务514提供的网络地址可以含有因特网协议(ip)地址或统一记录定位符(url)地址或任何其他可用的网站地址。基于从地址翻译服务514到用户网页浏览器应用程序512对网站的网络地址的请求的响应,可以将网站请求引导到既定网站或重定向到重定向器服务516。

地址翻译服务514可以当所请求网站是可以允许用户网页浏览器应用程序512直接接入的安全网站的情况下或时候用所请求网站的网络地址来响应来自用户网页浏览器应用程序512的请求。地址翻译服务514可以当所请求网站是可能不允许用户网页浏览器应用程序512直接接入的不安全网站的情况下或时候用重定向器服务516的网络地址来响应来自用户网页浏览器应用程序512的请求。根据说明性方面,地址翻译服务514可以是域名系统(domainnamesystem,dns)。在此实施例中,域名系统可以含有或被配置有将不安全网站的域名翻译为重定向器服务516的网络地址的记录。域名系统还可含有或被配置有将安全网站的域名翻译为安全网站的网络地址的记录。在另一实施例中,地址翻译服务514可以是网页代理。在此类实施例中,网页代理可以被配置成拦截被引导到不安全网站的请求且将所述请求重定向到重定向器服务516。网页代理可以被配置成不拦截被引导到安全网站的请求。

重定向器服务516可以响应于来自用户网页浏览器应用程序512的对网站的重定向请求而请求可以在不安全网络中执行的代管的网页浏览器应用程序526。代管的网页浏览器应用程序526可以代管于被配置成提供用于网页浏览器应用程序的虚拟机的单服务器或多服务器虚拟化系统(例如,远程接入或云系统)中的服务器524上。在一个实施例中,代管的网页浏览器应用程序526可以响应于来自重定向器服务516的请求而启动。在另一实施例中,服务器集群522可以预启动一个或多个代管的网页浏览器应用程序526a-526n的集合,且重定向器服务516可以响应于请求而被指派所述预启动代管的网页浏览器应用程序526a-526n中的一个。选定代管的网页浏览器应用程序526可以经由网络530(例如,因特网)导航到不安全网站532。重定向器服务516可以通过提供在用户网页浏览器应用程序512内执行的客户端代理518而响应用户网页浏览器应用程序512。客户端代理518,例如,例如citrixreceiver等客户端代理,可以使用远程呈现协议以将由代管的网页浏览器应用程序526产生的输出显示给用户网页浏览器应用程序512。客户端代理518还可将导航命令从用户网页浏览器应用程序512传输到代管的网页浏览器应用程序526。

在另一实施例中,用户网页浏览器应用程序512可以含有由受信任认证授权方(ca)签署的数字证书。重定向器服务516可以含有来自受信任ca证书的私用密钥,借助所述私用密钥可以在使用安全http协议连接到所请求不安全网站532的情况下模拟用户网页浏览器应用程序512。在此类实施例中,用户网页浏览器应用程序512可能在所请求不安全网站532使用安全http协议的情况下不产生警报消息,因此允许与不安全网站532的无缝连接。

图5说明可使用的网络架构的仅一个实例,且本领域的技术人员将了解,使用的特定网络架构和数据处理装置可变化,且对于其提供的功能性是次要的,如本文中进一步描述。举例来说,由地址翻译服务514和重定向器服务516提供的服务可以组合于单个服务器上或者可以跨越多个服务器经负载平衡。

图6描绘说明将用户网页浏览器应用程序重定向到提供对不安全网站的接入的代管的网页浏览器应用程序的方法的流程图。图6中示出的算法和本文所描述的其他相似实例可以在例如图5中说明的系统等计算环境以及具有不同架构的其他系统(例如,图1-4的全部或部分)中执行。在其他实施例中,在图6中说明的方法和/或其一个或多个步骤可以实施于计算机可读媒体中,例如非暂时性计算机可读存储器。

在步骤601中,用户网页浏览器应用程序512从地址翻译服务514请求网站的网络地址。举例来说,所述请求可以响应于用户在网页浏览器中输入网址。地址翻译服务514可以被预配置成当网站已被预定为安全网站的情况下或时候用所述网站的网络地址来响应网络地址请求。当网站不安全的情况下或时候,地址翻译服务514可以被预配置成用重定向器服务516的网络地址来响应网络地址请求。在步骤602中,地址翻译服务514可以基于其配置数据而确定网络地址请求中的网站是否为安全的。当在步骤602中确定网站是安全的情况下或时候,则地址翻译服务514可以用所请求网站的网络地址来响应用户网页浏览器应用程序512请求,如步骤603中所示,且方法结束。

当在步骤602中确定网站是不安全的情况下或时候,则地址翻译服务514可以用重定向器服务516的网络地址来响应用户网页浏览器应用程序512,如步骤604中所示。在步骤605中,用户网页浏览器应用程序512可以将网站内容请求(例如,httpget请求)发送到在步骤604中由地址翻译服务514提供的重定向器服务516的网络地址。在步骤606中,重定向器服务516可以接收网站内容请求,并且响应于请求,重定向器服务516可以从集群522请求代管的网页浏览器应用程序526。在步骤607中,重定向器服务516可以用可以包括客户端代理518的响应消息来响应用户网页浏览器应用程序512。客户端代理518可以包括插件组件,例如activex控件或java控件或能够加载到用户网页浏览器应用程序512中且在其中执行的任何其他类型和/或形式的可执行指令。举例来说,客户端代理518可以包括由用户网页浏览器应用程序512加载且运行的activex控件,例如在用户网页浏览器应用程序512的存储器空间或上下文中。在另一实施例中,重定向器服务516用消息进行响应,所述消息可以包括被设计和构造的程序以经由网络510从另一计算装置获得下载或接收客户端代理518且安装客户端代理518。客户端代理518可以被预配置成在用户网页浏览器应用程序512内呈现代管的网页浏览器应用程序526的内容。

在步骤608中,客户端代理518可以使用精简客户端或远程显示协议连接到服务器524以呈现由在服务器524上执行的代管的网页浏览器应用程序526产生的显示输出。精简客户端或远程显示协议可以是以下非详尽性协议列表中的任一个:由佛罗里达州劳德代尔堡(ft.lauderdale,florida)的思杰系统公司(citrixsystems,inc.)开发的独立计算架构(independentcomputingarchitecture,ica)协议;或由华盛顿州雷德蒙德(redmond,washington)的微软公司(microsoftcorporation)制造的远程桌面协议(remotedesktopprotocol,rdp)。

在步骤609中,代管的网页浏览器应用程序526可以在全屏幕模式中导航到所请求不安全网站532。在步骤610中,客户端代理518可以例如基于正在全屏幕模式中显示的内容,用无缝且透明方式在用户网页浏览器应用程序512上呈现不安全网站532的内容,使得表现为所述内容正由用户网页浏览器应用程序512显示。换句话说,可以对用户给出网站内容是由用户网页浏览器应用程序512显示而不是由代管的网页浏览器应用程序526显示的印象。客户端代理518可以使用精简客户端或远程显示协议将由用户网页浏览器应用程序512产生的导航命令传输到代管的网页浏览器应用程序526。由于导航命令而对代管的网页浏览器应用程序526的显示输出的改变可以由客户端代理518反映于用户网页浏览器应用程序512中,从而对用户给出导航命令是由用户网页浏览器应用程序512执行的印象。

图7示出了在第一网络710内执行的用户网页浏览器应用程序512接入与用户的网页浏览器应用程序512不兼容的网站732的实施例的说明性框图。用户网页浏览器应用程序512、地址翻译服务514以及重定向器服务516可以彼此通信且在第一网络710内执行。第一网络710和第二网络730是用于说明的目的且可以组合或被较少或额外计算机网络代替。

用户网页浏览器应用程序512在一个实施例中可以是在客户端计算装置中执行的网页浏览器应用程序。用户网页浏览器应用程序512可能由于浏览器类型和/或版本兼容性问题而不能够显示网站732的内容。网站732因此在本文中被称作不兼容网站。举例来说,由华盛顿雷德蒙德的微软公司制造的internet网页浏览器应用程序可能不能够显示仅与由加利福尼亚山景城的谷歌公司制造的chrome网页浏览器应用程序兼容的网页的内容。类似地,由华盛顿雷德蒙德的微软公司制造的internet版本10可能不能够显示仅与internet版本8兼容的网页的内容。在另一实例中,谷歌chrome可能不支持或可能停止支持基于npapi的插件,并且因此可能需要另一浏览器来接入利用这些插件的网站。用户网页浏览器应用程序512可以被配置成产生被引导到地址翻译服务514的地址翻译请求。用户网页浏览器应用程序512可以被配置成使用由地址翻译服务514提供的网络地址产生网站内容请求。由地址翻译服务514提供的网络地址可以含有因特网协议(ip)地址或统一记录定位符(url)地址。基于从地址翻译服务514到用户网页浏览器应用程序512对网站的网络地址的请求的响应,可以将网站请求引导到既定网站或重定向到重定向器服务516。

地址翻译服务514可以在所请求网站与用户网页浏览器应用程序512的类型和版本兼容的情况下用所请求网站的网络地址来响应来自用户网页浏览器应用程序512的请求。地址翻译服务514可以在所请求与用户网页浏览器应用程序512的类型和版本不兼容的情况下用重定向器服务516的网络地址来响应来自用户网页浏览器应用程序512的请求。在一个实施例中,地址翻译服务514可以是域名系统(dns)。在此类实施例中,域名系统可以含有将不兼容网站的域名翻译为重定向器服务516的网络地址的记录。域名系统还可含有将兼容网站的域名翻译为兼容网站的网络地址的记录。在另一实施例中,地址翻译服务514可以是网页代理。在此类实施例中,网页代理可以被配置成拦截被引导到不兼容网站的请求且将所述请求重定向到重定向器服务516。网页代理可以被配置成不拦截被引导到兼容网站的请求。

重定向器服务516可以响应于来自用户网页浏览器应用程序512的对网站的重定向请求而请求可以在云或代管的网页浏览器服务中执行的代管的兼容网页浏览器应用程序722a。代管的兼容网页浏览器应用程序722a可以代管于被配置成提供用于网页浏览器应用程序的虚拟机的单服务器或多服务器虚拟化系统720(例如,远程接入或云系统)上。代管的兼容网页浏览器应用程序722a可以经由第二网络730(例如,因特网)导航到不兼容网站732。代管的兼容网页浏览器应用程序722a可以是可以与不兼容网站732兼容的类型和版本的浏览器应用程序。重定向器服务516可以通过提供在用户网页浏览器应用程序512内执行的客户端代理518来响应用户网页浏览器应用程序512。客户端代理518,例如,例如citrixreceiver等客户端代理,可以使用远程呈现协议将由代管的兼容网页浏览器应用程序722a产生的输出显示给用户网页浏览器应用程序512。客户端代理518还可将导航命令从用户网页浏览器应用程序512传输到代管的兼容网页浏览器应用程序722a。

在一个实施例中,重定向器服务516可以被预配置成请求特定类型和版本的代管的兼容网页浏览器应用程序722a。在另一实施例中,重定向器服务516可以检索不兼容网站732的内容和性质,且可以基于对不兼容网站732的内容和性质的分析而确定将从代管的网页浏览器服务720请求的代管的兼容网页浏览器应用程序722的类型和版本。

图8描绘说明将用户网页浏览器应用程序重定向到提供对不兼容网站的接入的代管的兼容网页浏览器应用程序的方法的流程图。图8中示出的算法和本文所描述的其他相似实例可以在例如图7中说明的系统等计算环境以及具有不同架构的其他系统中执行。在其他实施例中,在图8中说明的方法和/或其一个或多个步骤可以实施于计算机可读媒体中,例如非暂时性计算机可读存储器。

在步骤801中,用户网页浏览器应用程序512从地址翻译服务514请求网站的网络地址。举例来说,所述请求可以响应于用户在网页浏览器中输入网址。地址翻译服务514可以被预配置成在网站已被预定为兼容网站的情况下用所述网站的网络地址来响应网络地址请求。如果网站不兼容,则地址翻译服务514可以被预配置成用重定向器服务516的网络地址来响应网络地址请求。在步骤802中,地址翻译服务514可以基于其配置数据而确定网络地址请求中的网站是兼容还是不兼容的。如果在步骤802中确定网站是兼容的,则地址翻译服务514可以用所请求网站的网络地址来响应用户网页浏览器应用程序512请求,如步骤803中所示,且方法结束。

当在步骤802中确定网站是不兼容的情况下或时候,则地址翻译服务514可以用重定向器服务516的网络地址来响应用户网页浏览器应用程序512,如步骤804中所示。在步骤805中,用户网页浏览器应用程序512可以将网站内容请求(例如,httpget请求)发送到在步骤804中由地址翻译服务514提供的重定向器服务516的网络地址。在步骤806中,重定向器服务516可以接收网站内容请求,且响应于请求,重定向器服务516可以从代管的网页浏览器服务720请求代管的兼容网页浏览器应用程序722。在步骤807中,重定向器服务516可以用可以包括客户端代理518的响应消息来响应用户网页浏览器应用程序512。客户端代理518可以包括插件组件,例如activex控件或java控件或能够加载到用户网页浏览器应用程序512中且在其中执行的任何其他类型和/或形式的可执行指令。举例来说,客户端代理518可以包括由用户网页浏览器应用程序512加载且运行的activex控件,例如在用户网页浏览器应用程序512的存储器空间或上下文中。在另一实施例中,重定向器服务516用消息进行响应,所述消息可以包括被设计和构造的程序以经由第一网络710另一计算装置获得、下载或接收客户端代理518且安装客户端代理518。客户端代理518可以被预配置成在用户网页浏览器应用程序512内呈现代管的兼容网页浏览器应用程序722的内容。

在步骤808中,客户端代理518可以使用精简客户端或远程显示协议连接到代管的兼容网页浏览器应用程序722以呈现由代管的兼容网页浏览器应用程序722产生的显示输出。精简客户端或远程显示协议可以是以下非详尽性协议列表中的任一个:由佛罗里达州劳德代尔堡(ft.lauderdale,florida)的思杰系统公司(citrixsystems,inc.)开发的独立计算架构(independentcomputingarchitecture,ica)协议;或由华盛顿州雷德蒙德(redmond,washington)的微软公司(microsoftcorporation)制造的远程桌面协议(remotedesktopprotocol,rdp)。

在步骤809中,代管的兼容网页浏览器应用程序722可以在全屏幕模式中导航到所请求不兼容网站732。在步骤810中,客户端代理518可以用无缝且透明方式在用户网页浏览器应用程序512上呈现不兼容网站732的内容,使得表现为所述内容正由用户网页浏览器应用程序512显示。换句话说,可以对用户给出网站内容是由用户网页浏览器应用程序512显示而不是由代管的兼容网页浏览器应用程序722显示的印象。客户端代理518可以使用精简客户端或远程显示协议将由用户网页浏览器应用程序512产生的导航命令传输到代管的兼容网页浏览器应用程序722。由于导航命令而对代管的兼容网页浏览器应用程序722的显示输出的改变可以由客户端代理518反映于用户网页浏览器应用程序512中,从而对用户给出导航命令是由用户网页浏览器应用程序512执行的印象。

虽然已以特定地针对结构特征和/或方法动作的语言来描述主题,但应理解,所附权利要求书中所界定的主题未必限于上文所描述的特定特征或动作。相反地,以上描述的特定特征和动作被描述为所附权利要求的实例实施方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1