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

申请号 : CN200610121619.3

文献号 : CN1924863B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 奥里·普莫兰茨

申请人 : 国际商业机器公司

摘要 :

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

权利要求 :

1.一种在远程计算机上运行为因特网访问而配置的软件的方法,包括:从用户计算机发送请求以打开远程计算机上的虚拟机;

从所述用户计算机向所述虚拟机发送用户首选设置;

向所述虚拟机发送访问请求以运行所述为因特网访问而配置的软件;以及从所述虚拟机接收用户首选设置。

2.根据权利要求1的方法,其中,当所述虚拟机关机时接收所述用户首选设置。

3.根据权利要求1的方法,其中,所述用户首选设置涉及因特网访问,并且基于确定为因特网访问而配置的软件的运行已经改变了所述用户首选设置而接收所述用户首选设置。

4.根据权利要求1的方法,其中,所述用户首选设置包括从由用户配置设置、cookie和书签组成的组中选出的至少一个成员。

5.根据权利要求1的方法,其中,打开所述虚拟机包括复制空白磁盘映像。

6.根据权利要求2的方法,进一步包括根据所述关机而关闭所述虚拟机。

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.一种在远程计算机上运行为因特网访问而配置的软件的系统,包括:从用户计算机打开远程计算机上的虚拟机的装置;

从所述用户计算机向所述虚拟机发送用户首选设置的装置;

向所述虚拟机发送请求,以便运行所述为因特网访问而配置的软件的装置;以及关机时从所述虚拟机接收用户首选设置的装置。

说明书 :

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

系统

技术领域

[0001] 一般说来,本发明涉及运行为因特网访问而配置的软件。更具体地说,本发明涉及在远程计算机上运行为因特网访问而配置的软件。

背景技术

[0002] 为因特网访问而配置的因特网软件是出名的不安全因素,而且对工业界提高安全性是一项挑战。虽然理论上为了保证安全性有可能对输入通信量进行简单过滤,但是实际上这样的目标却会导致徒劳的装备竞赛。在本申请中,术语“因特网”是指采用TCP/IP协议组的网络与网关的任何集合。
[0003] 力图提高安全性的某些现有技术已经运行了为远程访问因特网所配置的因特网软件,以减少对用户计算机发生任何损害,并且将所有损害集中到系统管理员更容易修复的服务器。然而,由于用户喜爱定制其网络浏览的经历,这样的尝试未能最大限度地满足用户需求。此外,现有技术的尝试需要划分用户工作站,即不受欢迎地限制了运行在服务器上为访问因特网所配置软件的数目。
[0004] 虚拟机是仅仅驻留在存储器中的虚拟计算机部件。与编译代码仅仅为一种平台相反,示范虚拟机Java Virtual Machine(“JVM”)允许Java 程序在不同的平台上执行。Java程序是为JVM而编译。以这种方式,Java有能力为许多类型的数据处理系统应用程序提供支持,这些系统可以包含各种各样的中央处理单元和操作系统架构。为了使Java应用程序能够在不同类型的数据处理系统上执行,典型情况下编译器产生架构中立的文件格式。只要Java运行环境存在,编译出的代码就可以在许多处理器上执行。Java编译器产生字节码指令,非特定于具体的计算机架构。字节码是机器无关的代码,由Java编译器产生,并且由Java解释程序执行。Java解释程序是JVM中的模块,它交替地解码和执行某个字节码或某些字节码。这些字节码指令设计为易于在任何机器上解释,并且易于实时地翻译为本机代码。
[0005] 所以,开发一种提高浏览安全性、克服这些和其他缺点的方法是一项挑战。

发明内容

[0006] 在远程计算机上运行为因特网访问而配置的软件的方法,包括从用户计算机打开远程计算机上的虚拟机,以及从所述用户计算机向所述虚拟机发送用户首选设置。所述方法进一步包括发送请求,以运行所述为因特网访问而配置的软件,以及在关机时从所述虚拟机接收用户首选设置。
[0007] 从用户计算机远程地运行为访问因特网而配置软件的方法,包括打开远程计算机上的虚拟机,以及在所述虚拟机从所述用户计算机接收用户首选设置。所述方法进一步包括在所述远程计算机从所述用户计算机接收请求,以及从所述虚拟机至少请求一个网页。此外,所述方法还包括在所述虚拟机从所述用户计算机接收关闭命令,以及响应所述关机命令向所述用户计算机发送所述用户首选设置。
[0008] 本发明的另一个实施例提供了一种系统,用于在远程计算机上运行为访问因特网而配置的软件,包括从用户计算机打开远程计算机上虚拟机的装置,以及从所述用户计算机向所述虚拟机发送用户首选设置的装置。所述系统进一步包括发送请求以运行所述为因特网访问而配置的软件的装置,以及在关机时从所述虚拟机接收用户首选设置的装置。
[0009] 从本发明的多种实施例的以下详细说明,本发明的上述实施例和其他实施例、目的和方面以及特性和优点将变得更加显而易见。详细说明和附图仅仅是为了展示本发明,而不是限制由附带的权利要求书和其相当内容所定义的本发明的范围。

附图说明

[0010] 图1展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法的一个实施例;
[0011] 图2A展示了根据本发明的一个方面,运用网络系统的一个实施例;
[0012] 图2B展示了根据本发明的一个方面,运用计算机的一个实施例;
[0013] 图3A展示了根据本发明的一个方面,从虚拟机向用户计算机发送用户首选设置的方法实施例;
[0014] 图3B展示了根据本发明的一个方面,打开虚拟机的方法实施例;
[0015] 图4展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法的另一个实施例;
[0016] 图5展示了根据本发明的一个方面,在远程计算机上运行为因特网访问而配置的软件的方法的另一个实施例;
[0017] 图6展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法的另一个实施例;
[0018] 图7展示了根据本发明的一个方面,从虚拟机向用户计算机发送用户首选设置的方法实施例;
[0019] 图8展示了根据本发明的另一个方面,打开虚拟机的方法实施例;
[0020] 图9展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法的另一个实施例;
[0021] 图10展示了根据本发明的一个方面,从用户计算机远程地运行为因特网访问而配置的软件的方法的另一个实施例;以及
[0022] 图11展示了根据本发明的一个方面,运行为因特网访问而配置的软件的系统的一个实施例。

具体实施方式

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