CN1924863A - 在远程计算机上运行为因特网访问而配置的软件的方法和系统 - Google Patents

在远程计算机上运行为因特网访问而配置的软件的方法和系统 Download PDF

Info

Publication number
CN1924863A
CN1924863A CNA2006101216193A CN200610121619A CN1924863A CN 1924863 A CN1924863 A CN 1924863A CN A2006101216193 A CNA2006101216193 A CN A2006101216193A CN 200610121619 A CN200610121619 A CN 200610121619A CN 1924863 A CN1924863 A CN 1924863A
Authority
CN
China
Prior art keywords
virtual machine
user
computer
internet
access
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
CNA2006101216193A
Other languages
English (en)
Other versions
CN1924863B (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
Publication of CN1924863A publication Critical patent/CN1924863A/zh
Application granted granted Critical
Publication of CN1924863B publication Critical patent/CN1924863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Abstract

在远程计算机上运行为因特网访问而配置的软件的方法,包括从用户计算机打开远程计算机上的虚拟机,以及从所述用户计算机向所述虚拟机发送用户首选设置。所述方法包括发送请求,以运行所述为因特网访问而配置的软件,以及在关机时从所述虚拟机接收用户首选设置。从用户计算机远程地运行为访问因特网而配置软件的方法,包括打开远程计算机上的虚拟机,以及在所述虚拟机从所述用户计算机接收用户首选设置。所述方法进一步包括在所述远程计算机从所述用户计算机接收请求和从所述虚拟机至少请求一个网页,以及在所述虚拟机从所述用户计算机接收关闭命令和响应所述关机命令向所述用户计算机发送所述用户首选设置。

Description

在远程计算机上运行为因特网 访问而配置的软件的方法和系统
技术领域
一般说来,本发明涉及运行为因特网访问而配置的软件。更具体地说,本发明涉及在远程计算机上运行为因特网访问而配置的软件。
背景技术
为因特网访问而配置的因特网软件是出名的不安全因素,而且对工业界提高安全性是一项挑战。虽然理论上为了保证安全性有可能对输入通信量进行简单过滤,但是实际上这样的目标却会导致徒劳的装备竞赛。在本申请中,术语“因特网”是指采用TCP/IP协议组的网络与网关的任何集合。
力图提高安全性的某些现有技术已经运行了为远程访问因特网所配置的因特网软件,以减少对用户计算机发生任何损害,并且将所有损害集中到系统管理员更容易修复的服务器。然而,由于用户喜爱定制其网络浏览的经历,这样的尝试未能最大限度地满足用户需求。此外,现有技术的尝试需要划分用户工作站,即不受欢迎地限制了运行在服务器上为访问因特网所配置软件的数目。
虚拟机是仅仅驻留在存储器中的虚拟计算机部件。与编译代码仅仅为一种平台相反,示范虚拟机Java Virtual Machine(“JVM”)允许Java程序在不同的平台上执行。Java程序是为JVM而编译。以这种方式,Java有能力为许多类型的数据处理系统应用程序提供支持,这些系统可以包含各种各样的中央处理单元和操作系统架构。为了使Java应用程序能够在不同类型的数据处理系统上执行,典型情况下编译器产生架构中立的文件格式。只要Java运行环境存在,编译出的代码就可以在许多处理器上执行。Java编译器产生字节码指令,非特定于具体的计算机架构。字节码是机器无关的代码,由Java编译器产生,并且由Java解释程序执行。Java解释程序是JVM中的模块,它交替地解码和执行某个字节码或某些字节码。这些字节码指令设计为易于在任何机器上解释,并且易于实时地翻译为本机代码。
所以,开发一种提高浏览安全性、克服这些和其他缺点的方法是一项挑战。
发明内容
在远程计算机上运行为因特网访问而配置的软件的方法,包括从用户计算机打开远程计算机上的虚拟机,以及从所述用户计算机向所述虚拟机发送用户首选设置。所述方法进一步包括发送请求,以运行所述为因特网访问而配置的软件,以及在关机时从所述虚拟机接收用户首选设置。
从用户计算机远程地运行为访问因特网而配置软件的方法,包括打开远程计算机上的虚拟机,以及在所述虚拟机从所述用户计算机接收用户首选设置。所述方法进一步包括在所述远程计算机从所述用户计算机接收请求,以及从所述虚拟机至少请求一个网页。此外,所述方法还包括在所述虚拟机从所述用户计算机接收关闭命令,以及响应所述关机命令向所述用户计算机发送所述用户首选设置。
本发明的另一个实施例提供了一种系统,用于在远程计算机上运行为访问因特网而配置的软件,包括从用户计算机打开远程计算机上虚拟机的装置,以及从所述用户计算机向所述虚拟机发送用户首选设置的装置。所述系统进一步包括发送请求以运行所述为因特网访问而配置的软件的装置,以及在关机时从所述虚拟机接收用户首选设置的装置。
从本发明的多种实施例的以下详细说明,本发明的上述实施例和其他实施例、目的和方面以及特性和优点将变得更加显而易见。详细说明和附图仅仅是为了展示本发明,而不是限制由附带的权利要求书和其相当内容所定义的本发明的范围。
附图说明
图1展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法的一个实施例;
图2A展示了根据本发明的一个方面,运用网络系统的一个实施例;
图2B展示了根据本发明的一个方面,运用计算机的一个实施例;
图3A展示了根据本发明的一个方面,从虚拟机向用户计算机发送用户首选设置的方法实施例;
图3B展示了根据本发明的一个方面,打开虚拟机的方法实施例;
图4展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法的另一个实施例;
图5展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法的另一个实施例;
图6展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法的另一个实施例;
图7展示了根据本发明的一个方面,从虚拟机向用户计算机发送用户首选设置的方法实施例;
图8展示了根据本发明的另一个方面,打开虚拟机的方法实施例;
图9展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法的另一个实施例;
图10展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法的另一个实施例;以及
图11展示了根据本发明的一个方面,运行为因特网访问而配置的软件的系统的一个实施例。
具体实施方式
图1展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法100的一个实施例。方法100开始于步骤110。本文公开的任何发明方法都能够以任何适当的次序执行,并且介绍本方法的次序仅仅意味着展示与示范。为访问因特网而配置的软件可以是任何软件,比如浏览器、电子邮件应用程序、游戏客户端、即时消息程序或其他这种类似的软件。
在步骤120,方法100向远程计算机发送打开虚拟机的请求,远程计算机远离用户计算机。本文介绍的“计算机”是被配置为执行一系列指令以获取结果的任何计算机。计算机可以运行任何适当的操作系统,包括但不限于基于视窗的操作系统、UNIX、LINUX、AIX、Macintosh OS、SunOS、PalmOS等。计算机可以是任何个人计算机,比如IBM或与IBM兼容的PC、Macintosh计算机、个人数字助理、游戏控制台、服务器站、工作站或者任何这种类似的计算机设备或系统。在一个实施例中,远程计算机实施为以下参考图2A介绍的客户机208、210、212之一,而用户计算机实施为客户机208、210、212中的另一台,但是与远程计算机不是同一台客户机。
用户计算机被配置为在任何显示设备比如适当的监视器上显示为访问因特网而配置的浏览器或其他这样的软件的执行结果。例如,用户计算机能够被配置为利用虚拟网络计算(“VNC”)协议运行,而远程计算机被配置为运行为VNC服务器,所以用户能够远程访问图形用户界面。正如本领域的普通技术人员公知,VNC协议允许服务器为观众远程地更新帧缓冲器。VNC协议能够被配置为在所有计算框架上运行,比如台式机、便携机、个人数字助理、游戏控制台等。
虚拟机是应用程序创建的构造,比如创建所谓“沙箱”的JavaVirtual Machine、VM Ware、VMS Ware等,它们截取或接收来自应用程序的请求,并且运行请求的方式为将用户应用程序和计算机系统与所述请求的任何潜在地损害、不利或不期望的影响隔离。所述沙箱可以但是不一定是实际的物理地址空间。例如,Java语言提供的、作为保护过程的沙箱,防止了不可信的代码在运行Java语言的机器上执行某些操作。
打开虚拟机的命令从用户计算机发出到远程计算机。用户计算机和远程计算机使用网络连接进行电子通信。网络连接可以使用任何适当的网络协议运行,包括但不限于X11和VNC。使用如X11或VNC的协议能够产生假象:运行在虚拟机上的应用程序似乎是运行在用户计算机上。
在一个实施例中,打开虚拟机是响应来自用户的直接请求,形式为要求打开虚拟机的显式请求。在另一个实施例中,打开虚拟机是在用户计算机打开为访问因特网而配置的软件时自动打开。在自动打开虚拟机的实施例中,不必向用户通报打开了虚拟机。
打开了虚拟机之后,在步骤130从用户计算机向虚拟机发送用户首选设置。在一个实施例中,发送用户首选设置包括从用户计算机向虚拟机复制至少一个文件,内含反映用户首选设置的数据。在一个实施例中,用户首选设置从用户计算机发送到第三方机器,比如LDAP(轻型目录访问协议)目录。在一个实施例中,为了突出第三方机器,用户首选设置被发送到运行在第三方设备上虚拟机的另一个实施中。
用户首选设置定义为通过用户与为因特网访问而配置的软件的互动而与具体用户相关联的任何参数,包括用户配置的参数。在一个实施例中,用户首选设置是书签列表。在一个实施例中,用户首选设置是对与用户先前浏览历史相关联的cookie进行管理和/或存储。例如,用户能够配置浏览器全部地或部分地接受或拒绝与因特网浏览活动相关联的cookie。在另一个实施例中,用户首选设置是用户配置设定。在一个实施例中,用户首选设置至少包括书签列表、与用户先前浏览相关联的cookie和用户设置设定之一。
在步骤140期间,从用户计算机向虚拟机发送请求。在一个实施例中,在使用虚拟机执行为访问因特网而配置的软件之后,发出所述请求。本文所用的“请求”是由为因特网访问而配置的软件所产生的、对用户的计算机以外的计算机上保持的内容和/或服务的任何请求。为因特网访问而配置的软件可以是被配置为访问因特网的任何程序,比如但是不限于Internet Explorer、Netscape、Firefox、Mozilla、Safari、Outlook、Outlook Express或者其他这样的程序。在一个实施例中,所述请求包括与期望内容或信息相关联的统一资源定位符(URL)。
在一个实施例中,在用户计算机和虚拟机之间采用以定制代理所配置的文件传输协议传送请求,以便容许从URL下载文件。在一个实施例中,根据可配置的参数比如反病毒程序限制文件下载。在另一个实施例中,下载只限于明确容许的下载。由用户或系统管理员允许的下载能够确保安全。在另一个实例中,在将要下载的文件通过“安全”测试后才允许下载,可以包括对下载进行病毒、“间谍软件”活动屏蔽,或者将文件名与许可下载或不许可下载的列表进行对比。
从用户计算机向虚拟机发送了用户首选设置之后,在用户计算机接收来自虚拟机的用户首选设置。在一个实施例中,响应关机命令而接收用户首选设置。关机命令可以由用户选择终止为因特网访问而配置的软件的操作所产生,或者关机命令也可以由若干技术问题所产生,比如偶然关机。偶然关机由例如系统或软件错误产生,要解决它需要终止执行为因特网访问而配置的软件的应用程序。
图2A展示了示范网络系统201。网络系统201仅仅是展示性的,而不是对实践本发明的架构的限制。网络系统201是可以实施本发明的计算机网络。网络系统201包括网络202,它是在分布式网络系统201之内连接在一起的多种设备和计算机之间提供通信链接所用的介质。网络202可以包括永久连接,比如电线或光缆,或者通过电话连接形成的临时连接。在其他实施例中,网络202包括采用任何适当无线通信协议的无线连接,所述无线包括小范围无线协议,比如依据包含802.11、蓝牙等的FCC Part 15协议,或者大范围无线协议,比如人造卫星或蜂窝通信协议。
在图2A中,服务器204连同存储单元206一起连接到网络202。此外,客户机208、210和212也连接到网络202。这些客户机208、210和212可以是例如个人计算机或网络计算机。为了本申请的目的,网络计算机是连接到网络的任何计算机,它从连接到网络的另一台计算机接收程序或者其他应用程序。在所描述的实例中,服务器204向客户机208-212提供数据,比如引导文件、操作系统影像和应用程序。客户机208、210和212是服务器204的客户机。网络系统201可以包括未显示的另外的服务器、客户机和其他设备。在所描述的实例中,网络系统201是带有网络202的因特网,表示了采用TCP/IP协议组互相通信、世界范围内的网络和网关集合。网络系统201也可以实施为许多不同类型的网络,比如内联网或局域网。
图2B展示了根据本发明的一个方面所用计算机客户机250的一个实施例。计算机系统250是客户计算机的实例,比如客户机208、210和212。计算机系统250采用外设部件互连(PCI)的局域总线架构。虽然所描述的实例采用了PCI总线,但是也可以使用其他总线架构,比如微通道和ISA。PCI桥接器258将处理器252和主存储器254连接到PCI局域总线256。PCI桥接器258还可以包括处理器252所用的集成存储器控制器和高速缓存。通过直接组件互连或通过内装板,可以建立至PCI局域总线256的其他连接。在所描述的实例中,局域网(LAN)适配器260、SCSI主机总线适配器262和扩展总线接口264通过直接组件互连连接到PCI局域总线256。相反,音频适配器266、图形适配器268和音频/视频适配器(A/V)269则通过插入扩展槽的内装板连接到PCI局域总线256。扩展总线接口264将键盘和鼠标适配器270、调制解调器272和附加存储器274连接到总线256。在所描述的实例中,SCSI主机总线适配器262为硬盘驱动器276、磁带驱动器278和CD-ROM 280提供了连接。在一个实施例中,PCI局域总线实施方案支持三四个PCI扩展槽或内插式连接器,尽管本发明的实践能够使用任何数目的PCI扩展槽或内插式连接器。
操作系统在处理器252上运行以协调和提供计算机系统250之内各个部件的控制。操作系统可以是任何适当可用的操作系统,比如视窗、Macintosh、UNIX、LINUX,或者国际商用机器公司出品的OS/2。“OS/2”是国际商用机器公司的商标。操作系统、面向对象的操作系统,以及应用程序或程序的指令位于存储设备上,比如硬盘驱动器276,并可以加载到主存储器254内,由处理器252执行。
本领域的普通技术人员将认识到,图2B中的硬件可以根据实施而变化。例如,可以使用其他的外围设备,比如光盘驱动器等,补充或替换图2B中所示的硬件。图2B不展示关于本发明架构的任何限制,而是仅仅公开了可能用于实践本发明的示范系统。例如,本发明的过程可以应用于多处理器数据处理系统。
图3A展示了在用户计算机从虚拟机接收用户首选设置的方法200的一个实施例,如同在步骤150中。方法200开始于步骤210,确定在虚拟机为因特网访问而配置的软件的运行是否已经修改了至少一个发送的用户首选设置。例如,为因特网访问而配置的软件的运行导致了在正在访问许多网页的机器上存放了cookie,在这种情况下,访问网页的机器是虚拟机而不是用户计算机。根据修改了至少一个用户首选设置的确定,在用户计算机接收用户首选设置,如同在步骤150中。在对比了用户计算机上存储的用户首选设置和虚拟机上的用户首选设置之后,作为用户计算机做出的确定结果而可以接收用户首选设置。作为替代,也可以通过在虚拟机上对比至少第一和第二版本用户首选设置,作为虚拟机做出的确定结果而接收用户首选设置。此外,在一个实施例中,响应为因特网访问而配置的软件关闭而做出用户首选设置改变的确定。在另一个实施例中,根据预定方案重复所述确定,以便实质上同时保持用户计算机上和虚拟机上的用户首选设置。这样的实施例能够使硬件或软件故障所导致的数据丢失最小化。
图3B展示了根据本发明的一个实施例,打开虚拟机的方法300的一个实施例。方法300开始于步骤310,并且在步骤320从用户计算机打开远程计算机上的虚拟机。在一个实施例中,步骤320的实现如同步骤120的实现。
在步骤330,在打开虚拟机的基础上,复制了空白磁盘映像(cleandisk image)。空白磁盘映像被复制到远程计算机,以便作为虚拟机操作的基础运行。空白磁盘映像以及其作为虚拟机支持操作的使用和创建技术是业内公知的。在一个实施例中,空白磁盘映像是VMware磁盘映像。根据虚拟机软件的设计,空白磁盘映像既可以在打开虚拟机之前和打开过程期间复制,也可以在虚拟机已经被打开之后进行复制。
图4展示了根据本发明的另一个实施例,在远程计算机运行为因特网访问而配置的软件的方法400。方法400开始于410,并且在步骤420打开远程计算机上的虚拟机。在一个实施例中,步骤420的实现如同步骤120的实现。
在步骤430,方法400从用户计算机向远程计算机发送用户首选设置,并且在步骤440从用户计算机向远程计算机发送请求。在一个实施例中,步骤430的实现如同步骤130的实现。在一个实施例中,步骤440的实现如同步骤140的实现。在步骤450,从虚拟机向用户计算机发送用户首选设置。在一个实施例中,步骤450的实现如同步骤150的实现。
在步骤460关闭虚拟机。关闭虚拟机是根据为访问因特网而配置的软件关闭。软件关闭既能够源自用户请求关闭应用程序,也能够在一个实施例中源自软件或硬件故障需要终止为访问因特网而配置软件的应用程序线程。
图5展示了根据本发明的一个方面,在远程计算机上运行为访问因特网而配置软件的方法500。方法500开始于510,并且在步骤520打开远程计算机上的虚拟机。在一个实施例中,步骤520的实现如同步骤120的实现。
在步骤530,方法500从用户计算机向远程计算机发送用户首选设置,并且在步骤540从用户计算机向远程计算机发送请求。在一个实施例中,步骤530的实现如同步骤130的实现。在一个实施例中,步骤540的实现如同步骤140的实现。在步骤550,从虚拟机向用户计算机发送用户首选设置。在一个实施例中,步骤550的实现如同步骤150的实现。在步骤560关闭虚拟机。关闭虚拟机是根据为访问因特网而配置的软件关闭,并且在一个实施例中,步骤560的实现如同步骤460的实现。
在步骤570,废弃虚拟机的磁盘映像。废弃磁盘映像可以包括破坏作为虚拟机而运行的文件、以新数据重写存储虚拟机的磁盘区域或者以远程和/或用户计算机的文件系统去除对作为虚拟机而运行的文件的引用。废弃虚拟机的磁盘映像将有效地限制所述请求的不利或不期望的后果对用户计算机和/或远程计算机的影响。
图6展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法600的一个实施例。方法600开始于610。
在步骤620,从用户计算机打开远程计算机上的虚拟机。图8展示了根据本发明的一个实施例,打开远程计算机上虚拟机的方法800的一个实施例。方法800开始于810,并且继续在步骤820打开虚拟机。在步骤830,向远程计算机复制空白磁盘映像。在一个实施例中,方法800的实现如同方法300的实现。
在方法600中,步骤630在虚拟机接收用户首选设置。在一个实施例中,接收用户首选设置包括从用户计算机向虚拟机复制至少一个文件,内含反映用户首选设置的数据。如同步骤130,用户首选设置定义为用户能够配置的任何参数。在一个实施例中,用户首选设置是书签列表。在一个实施例中,用户首选设置是与用户先前浏览历史相关联的cookie。在另一个实施例中,用户首选设置是用户配置设置。在一个实施例中,用户首选设置包括书签列表、与用户先前浏览相关联的cookie和用户配置设置中至少其一。
在步骤640期间,在虚拟机接收请求。请求是要求与URL相关联信息的任何请求,或者如同在步骤140中的定义,可以是为因特网访问而配置的软件的请求。
在步骤650请求至少一个网页。网页定义为以指向具体URL的请求可获得的任何信息。根据具体的URL,请求网页能够引起用户首选设置的修改,例如因为虚拟机上存放了若干cookie,或者用户期望将URL添加到其书签中。
在步骤660期间,在虚拟机收到了为因特网访问而配置的软件的关闭命令。为因特网访问而配置的软件的关闭命令是在虚拟机使为因特网访问而配置的软件的应用程序线程终止的任何命令。例如,为因特网访问而配置的软件的关闭命令可以源自用户动作、软件故障或硬件故障。作为替代,为因特网访问而配置的软件的关闭命令也可以源自系统管理员的命令。
根据为因特网访问而配置的软件的关闭命令,虚拟机在步骤670向用户计算机发送用户首选设置。图7展示了根据本发明的一个方面,向用户计算机发送用户首选设置的方法700的一个实施例。方法700开始于步骤710,确定为因特网访问而配置的软件的运行是否已经修改了任何用户首选设置。在一个实施例中,方法700的实现如同方法200的实现。
图9展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法900的另一个实施例。方法900开始于步骤910,并且继续在步骤920打开虚拟机。在一个实施例中,步骤920的实现如同步骤620的实现。
在步骤930,在虚拟机接收用户首选设置。在一个实施例中,步骤930的实现如同步骤630的实现。在步骤940接收对为因特网访问而配置的软件的请求,并且在步骤950请求网页。在一个实施例中,步骤940的实现如同步骤640的实现。在一个实施例中,步骤950的实现如同步骤650的实现。在步骤960收到为因特网访问而配置的软件的关闭命令,并且根据该关闭命令,在步骤970从虚拟机向用户计算机发送用户首选设置。在一个实施例中,步骤960的实现如同步骤660的实现。在一个实施例中,步骤970的实现如同步骤670的实现。
在步骤980关闭虚拟机。关闭虚拟机是根据为因特网访问而配置的软件的关闭。为因特网访问而配置的软件的关闭既能够源自用户请求关闭应用程序,也能够在一个实施例中源自软件或硬件故障需要终止为访问因特网而配置软件的应用程序线程。图10展示了在远程计算机上运行为因特网访问而配置的软件的方法,突出了关闭虚拟机所用方法的一个实施例。
图10展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法1000的另一个实施例。方法1000开始于1010,并且继续在步骤1020打开虚拟机。在一个实施例中,步骤1020的实现如同步骤620的实现。
在步骤1030在虚拟机接收用户首选设置。在一个实施例中,步骤1030的实现如同步骤630的实现。在步骤1040接收请求,并且在步骤1050请求网页。在一个实施例中,步骤1040的实现如同步骤640的实现。在一个实施例中,步骤1050的实现如同步骤650的实现。在步骤1060接收为因特网访问而配置的软件的关闭命令,并且根据关闭命令,在步骤1070从虚拟机向用户计算机发送用户首选设置。在一个实施例中,步骤1060的实现如同步骤660的实现。在一个实施例中,步骤1070的实现如同步骤670的实现。
在步骤1080,根据为因特网访问而配置的软件的关闭命令,关闭虚拟机。在一个实施例中,步骤1080的实现如同步骤980的实现。根据虚拟机的关闭,在步骤1090废弃虚拟机的磁盘映像。在一个实施例中,步骤1090的实现如同步骤560的实现。
图11展示了根据本发明的一个方面,从用户计算机远程地运行为访问因特网而配置软件的系统1100的一个实施例。系统1100包括用户计算机1101和远程计算机1105,通过网络1107相互进行电子通信。用户计算机和远程计算机可以运行任何适当的操作系统,包括但不限于基于视窗的操作系统、UNIX、LINUX、AIX、Macintosh OS、SunOS、PalmOS等。所述计算机可以是任何个人计算机,比如IBM或与IBM兼容的PC、Macintosh计算机、个人数字助理、游戏控制台、服务器站、工作站或者任何这种类似的计算机设备或系统。网络1107能够使用任何适当的网络协议运行,包括但不限于因特网协议、X11、VNC等。
用户计算机1101包括用户首选设置1110。远程计算机包括虚拟机1120、复制的用户首选设置1125以及在一个实施例中修改的用户首选设置1130。
在一个实施例中,远程计算机上虚拟机的运行允许所述远程计算机同时运行多个虚拟机,所以远程计算机同时运行着多个为因特网访问而配置的软件的线程。在这样的实施例中,对于为因特网访问而配置的软件应用程序线程的每次执行,打开和关闭每个虚拟机都会在空白磁盘映像上进行功能重新启动。
应当注意,用户计算机和远程计算机都能够驻留在防火墙之后,或者在连接到公共网络比如因特网的私有网络或LAN的保护节点上。作为替代,用户计算机和远程计算机能够位于防火墙两侧,或者连接到公共网络比如因特网。本发明能够采取全部硬件实施例、全部软件实施例或者既包含硬件组件也包含软件组件实施例的形式。在优选实施例中,本发明以软件实现,它包括但不限于固件、驻留软件、微码等。不仅如此,本发明还能够采取从计算机可用或计算机可读介质可访问的计算机程序产品的形式,提供由或连同计算机或任何指令执行系统使用的程序代码。对于本说明书的目的,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或传输程序的任何装置,所述程序由或连同指令执行系统、装置或设备使用。所述介质可以是电子的、磁性的、光学的、电磁的、红外线的或半导体的系统(或装置或设备),或者传播介质比如载波。计算机可读介质的实例包括半导体或固态存储器、磁带、可拆卸计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘和光盘。
虽然本文公开的本发明实施例目前被视为优选实施例,但是能够作出多种改变和修改而不脱离本发明的实质和范围。在附带的权利要求书中指出了本发明的范围,并且力图包含在其相当内容的意义和范围之内的所有改变。

Claims (19)

1.一种在远程计算机上运行为因特网访问而配置的软件的方法,包括:
从用户计算机发送请求以打开远程计算机上的虚拟机;
从所述用户计算机向所述虚拟机发送用户首选设置;
向所述虚拟机发送访问请求以运行所述为因特网访问而配置的软件;以及
从所述虚拟机接收用户首选设置。
2.根据权利要求1的方法,其中,当所述虚拟机关机时接收所述用户首选设置。
3.根据权利要求1的方法,其中,所述用户首选设置涉及因特网访问,并且基于确定为因特网访问而配置的软件的运行已经改变了所述用户首选设置而接收所述用户首选设置。
4.根据权利要求1的方法,其中,所述用户首选设置包括从由用户配置设置、cookie和书签组成的组中选出的至少一个成员。
5.根据权利要求1的方法,其中,打开所述虚拟机包括复制空白磁盘映像。
6.根据权利要求1的方法,进一步包括根据所述关机而关闭所述虚拟机。
7.根据权利要求6的方法,进一步包括废弃所述虚拟机的磁盘映像。
8.根据权利要求1的方法,其中,从所述用户计算机向所述虚拟机发送用户首选设置包括使用从由X11和VNC组成的组中选出的协议。
9.一种从用户计算机远程地运行为因特网访问而配置的软件的方法,包括:
打开远程计算机上的虚拟机;
在所述虚拟机从所述用户计算机接收用户首选设置;
在所述远程计算机从所述用户计算机接收请求;
从所述虚拟机请求至少一个网页;以及
向所述用户计算机发送所述用户首选设置。
10.根据权利要求9的方法,进一步包括在所述虚拟机从所述用户计算机接收关机命令的步骤,并且其中向所述用户计算机发送所述用户首选设置的步骤包括响应所述收到的关机命令,发送所述用户首选设置的步骤。
11.根据权利要求9的方法,其中,向所述用户计算机发送所述用户首选设置的步骤包括:
确定所述收到的用户首选设置是否已经被修改的步骤,并且其中所述用户首选设置是基于所述确定结果而发送的。
12.根据权利要求9的方法,其中,响应对为因特网访问而配置的软件的请求而打开所述虚拟机。
13.根据权利要求9的方法,其中,打开远程计算机上虚拟机的步骤包括复制空白磁盘映像的步骤。
14.根据权利要求9的方法,其中,所述用户首选设置包括从由用户配置设置、cookie和书签组成的组中选出的至少一个成员。
15.根据权利要求9的方法,其中,向所述用户计算机发送所述用户首选设置的步骤包括使用从由X11和VNC组成的组中选出的协议的步骤。
16.根据权利要求9的方法,进一步包括:
关闭所述虚拟机的步骤。
17.根据权利要求16的方法,进一步包括:
废弃所述虚拟机磁盘映像的步骤。
18.一种在远程计算机上运行为因特网访问而配置的软件的系统,包括:
从用户计算机打开远程计算机上的虚拟机的装置;
从所述用户计算机向所述虚拟机发送用户首选设置的装置;
向所述虚拟机发送请求,以便运行所述为因特网访问而配置的软件的装置;以及
关机时从所述虚拟机接收用户首选设置的装置。
19.一种计算机可读介质中的计算机程序产品,用于从用户计算机远程运行为因特网访问而配置的软件,包括实现上述方法权利要求中任何一种方法的指令。
CN2006101216193A 2005-09-01 2006-08-23 在远程计算机上运行为因特网访问而配置的软件的方法和系统 Active CN1924863B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/218,011 2005-09-01
US11/218,011 US8112748B2 (en) 2005-09-01 2005-09-01 Method for operating software configured for internet access on a remote computer

Publications (2)

Publication Number Publication Date
CN1924863A true CN1924863A (zh) 2007-03-07
CN1924863B CN1924863B (zh) 2011-06-08

Family

ID=37805845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101216193A Active CN1924863B (zh) 2005-09-01 2006-08-23 在远程计算机上运行为因特网访问而配置的软件的方法和系统

Country Status (2)

Country Link
US (1) US8112748B2 (zh)
CN (1) CN1924863B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916172A (zh) * 2010-08-17 2010-12-15 中国人民解放军国防科学技术大学 一种基于虚拟磁盘映像逻辑分割的按需软件分发方法
CN102947795A (zh) * 2010-03-25 2013-02-27 维图斯瑞姆加拿大股份公司 安全云计算的系统和方法
CN102971706A (zh) * 2010-05-10 2013-03-13 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
CN103076867A (zh) * 2012-12-28 2013-05-01 广州杰赛科技股份有限公司 具备电源按键动作识别功能的云终端处理方法和系统
CN103200020A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 一种资源部署方法和系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070106959A1 (en) * 2005-11-05 2007-05-10 Scott McGowan Multi Internet Video Card
US8196205B2 (en) * 2006-01-23 2012-06-05 University Of Washington Through Its Center For Commercialization Detection of spyware threats within virtual machine
US8225314B2 (en) * 2006-03-31 2012-07-17 Intel Corporation Support for personal computing in a public computing infrastructure by using a single VM delta image for each VM base image utilized by a user
US7610310B2 (en) * 2006-06-30 2009-10-27 Intel Corporation Method and system for the protected storage of downloaded media content via a virtualized platform
US20080126978A1 (en) * 2006-11-28 2008-05-29 Likun Bai System and method of enhancing computer security by using dual desktop technologies
US8793616B2 (en) 2007-12-21 2014-07-29 The Invention Science Fund I, Llc Look ahead of links/alter links
US8949977B2 (en) * 2007-12-21 2015-02-03 The Invention Science Fund I, Llc Look ahead of links/alter links
US20090165134A1 (en) * 2007-12-21 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Look ahead of links/alter links
US8139072B2 (en) 2008-04-14 2012-03-20 Mcgowan Scott James Network hardware graphics adapter compression
CA2674402C (en) * 2009-07-31 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Optimizing on demand allocation of virtual machines using a stateless preallocation pool
US8627451B2 (en) * 2009-08-21 2014-01-07 Red Hat, Inc. Systems and methods for providing an isolated execution environment for accessing untrusted content
US9684785B2 (en) 2009-12-17 2017-06-20 Red Hat, Inc. Providing multiple isolated execution environments for securely accessing untrusted content
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8392838B2 (en) * 2010-01-27 2013-03-05 Vmware, Inc. Accessing virtual disk content of a virtual machine using a control virtual machine
US9009219B2 (en) 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
US9477531B2 (en) * 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9104837B1 (en) 2012-06-18 2015-08-11 Bromium, Inc. Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
US10095530B1 (en) 2010-05-28 2018-10-09 Bromium, Inc. Transferring control of potentially malicious bit sets to secure micro-virtual machine
US9027151B2 (en) * 2011-02-17 2015-05-05 Red Hat, Inc. Inhibiting denial-of-service attacks using group controls
US9244933B2 (en) * 2011-04-29 2016-01-26 International Business Machines Corporation Disk image introspection for storage systems
US8839245B1 (en) 2012-06-18 2014-09-16 Bromium, Inc. Transferring files using a virtualized application
US10976981B2 (en) 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
US10983747B2 (en) 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US9098696B2 (en) * 2011-10-25 2015-08-04 Raytheon Company Appliqué providing a secure deployment environment (SDE) for a wireless communications device
US9734131B1 (en) * 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
US11023088B2 (en) 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US9201850B1 (en) 2012-06-18 2015-12-01 Bromium, Inc. Composing the display of a virtualized web browser
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US10430614B2 (en) 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US10437621B2 (en) * 2015-04-22 2019-10-08 Cisco Technology, Inc. Monitoring and managing applications on virtual machines using a proxy agent
US10922418B2 (en) * 2015-10-01 2021-02-16 Twistlock, Ltd. Runtime detection and mitigation of vulnerabilities in application software containers
CN105306225B (zh) * 2015-11-03 2018-09-07 国云科技股份有限公司 一种基于Openstack的物理机远程关机方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613659B1 (en) * 1994-11-28 2009-11-03 Yt Acquisition Corporation System and method for processing tokenless biometric electronic transmissions using an electronic rule module clearinghouse
EP0825506B1 (en) * 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US6826592B1 (en) * 1998-09-11 2004-11-30 L.V. Partners, L.P. Digital ID for selecting web browser and use preferences of a user during use of a web application
US6476833B1 (en) * 1999-03-30 2002-11-05 Koninklijke Philips Electronics N.V. Method and apparatus for controlling browser functionality in the context of an application
CN1166113C (zh) 1999-04-26 2004-09-08 国际商业机器公司 遥控计算机的方法和设备
US6950932B1 (en) 1999-05-07 2005-09-27 Nortel Networks Limited Security association mediator for java-enabled devices
US6874084B1 (en) 2000-05-02 2005-03-29 International Business Machines Corporation Method and apparatus for establishing a secure communication connection between a java application and secure server
US7526762B1 (en) * 2000-06-30 2009-04-28 Nokia Corporation Network with mobile terminals as browsers having wireless access to the internet and method for using same
US6842777B1 (en) * 2000-10-03 2005-01-11 Raja Singh Tuli Methods and apparatuses for simultaneous access by multiple remote devices
WO2002071686A1 (en) * 2001-03-01 2002-09-12 Invicta Networks, Inc. Systems and methods that provide external network access from a protected network
US20020143861A1 (en) * 2001-04-02 2002-10-03 International Business Machines Corporation Method and apparatus for managing state information in a network data processing system
US7698360B2 (en) * 2002-02-26 2010-04-13 Novell, Inc. System and method for distance learning
US7614077B2 (en) 2002-04-10 2009-11-03 International Business Machines Corporation Persistent access control of protected content
US7111303B2 (en) * 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
US7111245B2 (en) * 2002-12-17 2006-09-19 International Business Machines Corporation System and method for smart graphical components
GB0302263D0 (en) 2003-01-31 2003-03-05 Roke Manor Research Secure network browsing
US7246174B2 (en) * 2003-10-28 2007-07-17 Nacon Consulting, Llc Method and system for accessing and managing virtual machines
US20050193396A1 (en) * 2004-02-27 2005-09-01 Stafford-Fraser James Q. Computer network architecture and method of providing display data
US7552213B2 (en) * 2005-05-12 2009-06-23 Avocent Fremont Corp. Remote network node management system and method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102947795B (zh) * 2010-03-25 2016-06-29 维图斯瑞姆加拿大股份公司 安全云计算的系统和方法
CN102947795A (zh) * 2010-03-25 2013-02-27 维图斯瑞姆加拿大股份公司 安全云计算的系统和方法
US9081989B2 (en) 2010-03-25 2015-07-14 Virtustream Canada Holdings, Inc. System and method for secure cloud computing
US9699150B2 (en) 2010-03-25 2017-07-04 Virtustream Ip Holding Company Llc System and method for secure cloud computing
US10530753B2 (en) 2010-03-25 2020-01-07 Virtustream Ip Holding Company Llc System and method for secure cloud computing
CN102971706A (zh) * 2010-05-10 2013-03-13 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
CN102971706B (zh) * 2010-05-10 2016-08-10 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
CN101916172B (zh) * 2010-08-17 2011-08-24 中国人民解放军国防科学技术大学 一种基于虚拟磁盘映像逻辑分割的按需软件分发方法
CN101916172A (zh) * 2010-08-17 2010-12-15 中国人民解放军国防科学技术大学 一种基于虚拟磁盘映像逻辑分割的按需软件分发方法
CN103200020A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 一种资源部署方法和系统
CN103200020B (zh) * 2012-01-04 2016-06-01 中兴通讯股份有限公司 一种资源部署方法和系统
CN103076867A (zh) * 2012-12-28 2013-05-01 广州杰赛科技股份有限公司 具备电源按键动作识别功能的云终端处理方法和系统
CN103076867B (zh) * 2012-12-28 2015-12-02 广州杰赛科技股份有限公司 具备电源按键动作识别功能的云终端处理方法和系统

Also Published As

Publication number Publication date
US8112748B2 (en) 2012-02-07
US20070050766A1 (en) 2007-03-01
CN1924863B (zh) 2011-06-08

Similar Documents

Publication Publication Date Title
CN1924863B (zh) 在远程计算机上运行为因特网访问而配置的软件的方法和系统
US11157296B2 (en) Creating a virtual machine containing third party code
AU2003219640B2 (en) System and method for use of multiple applications
US20080215796A1 (en) Virtual Appliance Management
US9804869B1 (en) Evaluating malware in a virtual machine using dynamic patching
US10678918B1 (en) Evaluating malware in a virtual machine using copy-on-write
CN1265309C (zh) 一种通过协议代理方式访问数据库的方法
CN1725142A (zh) 用于安全系统的框架
JP2007535761A (ja) 抗タンパーコードを生成するシステム及び方法
CN1577272A (zh) 易受攻击文件的自动检测和修复
CN1766779A (zh) 对文档进行标记的反病毒清单
CN1754150A (zh) 用于在系统引导时的硬件配置期间消除用户交互的系统和装置
WO2021146036A1 (en) Sharable link for remote computing resource access
WO2021242618A1 (en) System for tuning a device having security software for security and performance
EP3516841B1 (en) Remote computing system providing malicious file detection and mitigation features for virtual machines
CN111988292A (zh) 一种内网终端访问互联网的方法、装置及系统
WO2020263917A1 (en) Cloud-based shared security cache
JP2007323354A (ja) マシン管理システム
US11403397B2 (en) Cache system for consistent retrieval of related objects
US20210200589A1 (en) Resource Management for Web Browser Based Applications
US11861007B1 (en) Detecting container threats through extracting kernel events to process in reserved scanner containers
CN1275167C (zh) 虚拟键盘与鼠标的控制装置
US10365948B1 (en) Implementing a host as a container or virtual machine
JP2006127399A (ja) アプリケーションプラットフォーム提供システム及び方法並びにそのプログラム
CN105224382A (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
C14 Grant of patent or utility model
GR01 Patent grant