专利名称::多用户网络浏览环境提供系统及其控制方法
技术领域:
:本发明涉及一种多用户网络浏览环境提供系统,其中,通过使用具有比个人电脑性能低或与个人电脑具有低兼容性的用户设备,多个用户可以执行与作为网络浏览主要设备的个人电脑(PC)中的网络浏览操作具有相同等极的网络浏览操作,本发明还涉及一种多用户网络浏览环境提供系统的控制方法。
背景技术:
:随着无线互联网的广泛应用,例如移动电话的用户设备已经成为可以随地使用的信息终端。因此,这样的用户需求增加了;即使用移动电话主要通过互联网来执行网络浏览。为了满足这样的用户需要,软件及移动通信领域已经创造出在移动电话中执行的术语完整浏览(terminologyfoilbrowsing),从而与个人电脑(PC)具有相同等级的网络浏览操作,并且已经对执行完整浏览的环境展开了研究。但是,在移动电话中进行完整浏览会产生以下问题。由于网页产生时默认为在个人电脑或具有与个人电脑相类似性能的设备中进行显示和操作,所以难以在具有较低性能的移动电话上显示。例如,虽然网页展示了通过flash和动态布局而高速变化的复杂的图像,但是移动电话的性能不足以适当地显示这些图像,并且移动电话难以呈现和构造这些图像。网页包括以下元素,例如flash内容和不受处理网页的操作系统(OS)或中央处理单元(CPU)影响的Java脚本。另外,网页还包括一些元素,它们仅在特定OS和CPU中可以工作,例如ActiveX控制(对于ActiveX控制来说,ActiveX控制可以在操作系统为微软公司windows系统、中央处理单元为Intelx86及其兼容装置中工作)。因此,操作系统和中央处理单元与个人电脑不兼容的移动电话不能显示和使用例如ActiveX控制的元素。为了克服这个问题,可以考虑将PC环境拷贝和嵌入到移动电话中的方法,但是由于移动电话的低性能,所以这个方法没有实际用处。另外,中间服务器可以构造能够执行例如ActiveX控制这样的元素的环境,但是难以将这些元素连接到移动电话所呈现的其它内容。为了克服上述问题,需要一种包括与PC相兼容的并且具有比PC更高性能的服务器的系统以及一种执行与兼容性无关并且不需要高性能的用户设备,其中,所述服务器执行网络浏览,所述用户设备仅提供用于读取网页和控制网络浏览的界面。为了实现这一目的,由于单个服务器需要支持各种用户网络浏览操作,所以需要有效地优化网络浏览操作。
发明内容本发明提供一种多用户网络浏览环境提供系统,其中,通过使用具有比PC较低性能或与PC具有低兼容性的用户设备,多个用户可以执行与个人电脑中的网络浏览操作具有相同等级的网络浏览操作,本发明还提供一种多用户网络浏览环境提供系统的控制方法。根据本发明的一个方面,提供一种多用户网络浏览环境提供系统,所述系统包括至少一个用户设备,在所述用户设备上显示有用户界面,所述用户界面用于读取网页和控制网络浏览;以及网络浏览环境服务器,其通过网络连接到所述用户设备,为每个用户设备生成和管理独立的网络浏览环境,将所述独立的网络浏览环境的状态通知给所述用户设备,呈现网页,执行包含在所述网页中的活动内容,将呈现给所述用户设备的网页图像发送给所述用户设备,并且控制所述用户设备请求的操作以便在所述网络浏览环境中操作。根据本发明的另一方面,提供一种控制多用户网络浏览环境提供系统的方法,其中,所述系统包括至少一个连接的用户设备和网络浏览环境服务器,所述用户设备和所述网络浏览环境服务器通过网络连接并且相互通信,所述方法包括向所述网络浏览环境服务器生成每个用户设备的网络浏览环境;在所述用户设备上显示所述网络浏览环境的用户界面,在所述用户设备设备上检索所述用户界面,并且将通过检索所述用户界面选择的功能项目发送给所述网络浏览环境服务器;在所述网络流量环境服务器中控制网络浏览器单元,从而执行对应于所选择功能项目的操作,其中,所述网络浏览器单元执行所选择的功能项目;并且检测所述网络浏览器单元的状态变化并且通过网络将有关所检测到的状态变化的信息通知给所述用户设备。为了实现上述目的,本发明提供一种计算可读介质,其中记录有在计算机中执行上述方法的程序。根据本发明,网络浏览操作由网络浏览环境服务器执行,所述网络浏览环境服务器与个人电脑(PC)及与PC机具有完美兼容性的设备相比具有相同或更高的性能。当多个用户通过使用单个网络浏览环境服务器执行网络浏览操作时,用户可以具有相互独立的各自的网络浏览环境,并且尽可能多的用户可以在单个网络浏览环境服务器中执行网络浏览操作。因此,通过使用单个浏览环境服务器,使用比PC机的性能低或者与PC机具有低兼容性的多个用户设备的多个用户可以执行与作为网络浏览主设备的PC机的网络浏览操作相同等级的网络浏览操作。图1为用于解释根据本发明的实施例的多用户网络浏览环境提供系统的示意图;图2为用于解释根据本发明的实施例的图1所示网络浏览环境服务器的方框图;图3和图4为用于解释根据本发明的实施例的控制多用户网络浏览环境提供系统的方法的信息序列图,其中使用了远程服务器计算机。具体实施例方式下面将通过参照附图解释本发明的示例性实施例来详细描述本发明。图1为根据本发明实施例的用于解释多用户网络浏览环境提供系统的示意图。参照图1,根据本发明的所述系统包括网络服务器300、通过互联网30与所述网络服务器300连接和通信的网络浏览环境服务器200以及通过互联网30和移动通信网络40与所述网络浏览环境服务器200连接和通信的用户设备100。网络浏览环境服务器200执行网络浏览功能。网络浏览环境服务器200可以安装在为多个用户提供网络浏览环境设备的公司内。用户设备100在其屏幕上显示从网络浏览环境服务器200传送的网页,并且接收用户的控制输入。由于用户设备100和网络浏览环境服务器200独立地执行各自的功能,所以用户设备100可以自由地执行操作,无论其性能和兼容性如何。因此,即使用户设备100的性能比PC机低并且与PC机具有低兼容性,用户设备100与PC机相似还是可以执行相同等级的网络浏览。用户设备100的例子包括移动电话、智能电话、笔记本电脑、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航装置或类似设备。图2为用于解释根据本发明实施例的网络浏览环境服务器200的方框图。参照图2,网络环境服务器200包括连接单元210、管理数据库220、操作单元230、临时存储单元240。连接单元210在用户设备100通过网络连接到连接单元210时通过使用管理数据库220执行用户验证,并且管理操作单元230从而为每个用户进行操作。用于用户验证的信息以数据库的形式存储在管理数据库220中。操作单元230为每个用户在操作系统中执行单独的处理,并且通过网络与用户设备100相交互。操作单元230包括独立的环境构造单元231、网络浏览器控制单元233、性能控制单元235以及网络浏览器单元237。当操作单元230通过网络连接到用户设备100时,独立的环境构造单元231可以独立于连接到其它用户设备的操作单元构造网络浏览环境,从而每个用户可以使用他(她)自己独立的网络浏览环境。网络浏览器控制单元233从用户设备100接收指令,并且控制网络浏览器单元237从而执行网络浏览。另外,网络浏览器控制单元233检测网络浏览器单元237的状态变化,并且将检测结果发送给用户设备100。网络浏览器控制单元233将网络浏览器单元237呈现的网页图像发送给用户设备100,从而将网页图像显示在用户界面110的屏幕上。性能控制单元235可以控制网络浏览器单元237的操作从而节省与网络浏览环境服务器200的性能相关的资源。因此,尽可能多的用户设备可以连接到单个网络浏览环境服务器200来执行网络浏览操作。网络浏览器单元237实际上根据网络浏览器控制单元233执行网络浏览、呈现网页、执行网页中包含的ActiveX控制和脚本。用户设备100通过网络连接到网络浏览环境服务器200,用于接收网络浏览服务。用户设备100在用户界面110上显示从网络浏览环境服务器200发送的至少一个网页图像、用户控制网络浏览的菜单以及用于控制整个网络浏览环境的公共菜单,接收用户输入,并且将用户输入发送至网络浏览环境服务器200。下面将详细描述在上述结构中由操作单元230的独立环境构造单元231执行的用于为每个用户构造独立的网络浏览环境的方法以及用于控制网络单元237的操作从而节省与网络浏览环境服务器200的性能相关的资源的方法。为每个用户构造独立的网络浏览环境的方法根据网络浏览器单元237如何执行网络浏览来确定。用于在网络浏览器单元237中执行网络浏览的方法包括两个方法。在第一个方法中,网络浏览可以由微软公司的windows操作系统本身所提供的网络浏览控制来执行。在这种方法中,实际的网络浏览功能由windows操作系统的网络浏览器控制来提供。网络浏览器单元237调用网络浏览器控制界面功能,通过独立的环境构造单元231来发送窗口消息,通过使用键盘和鼠标仿真来发送指令,并且接收网络浏览器控制的状态变化。这个方法的好处如下所述。由于使用了执行世界上最广泛使用的Internetexplorer的实际的网络浏览功能的网络浏览器控制,所以可以获得处理网页的最高兼容性,并且不需要嵌入复杂软件选为单独网络浏览器。另一方面,考虑到网络浏览器控制暴露在性能控制单元235外部的界面限制,性能控制单元235难以完全控制网络浏览器单元237。在第二个方法中,网络浏览功能和脚本操作符由网络浏览器单元237本身执行。这个方法具有与第一个方法相反的优点和缺点。由独立的环境构造单元231构造的为每个用户的独立设置的网络浏览环境使得用户可以独立地登记到网络浏览环境服务器200上,从而在独立于其他用户的windows桌面上执行网络浏览,网络浏览器处理的网页以及在网页中执行的例如ActiveX控制的活动元素可以显示在实际屏幕上,并且用户可以认为他或她在直接控制网络浏览器。一般地,用于为每个用户提供独立的网络浏览环境的方法可以包括以下三个方法。在第一个方法中,网络浏览环境服务器200产生具有与用户数相同数量的实际账号,用户通过使用相应的账号登录到用户设备100上。在这个方法中,每当用户登录到用户设备100上时由于产生单独的windows会话以及桌面,会产生附加的负载,并且用户设备100需要支持由操作系统定义的远程登录协议。因此,嵌入这个方法会比较复杂,并且用户设备100的性能可能会不够。在第二个方法中,用户实际上通过在网络浏览环境服务器200和用户设备100之间具有一一对应的关系以远程控制的方式使用单台PC机。在这个方法中,由于用户设备100使用单个服务器,所需要的服务器数量等于用户设备的数量,因此,不可能构造多用户的环境。第三个方法与第二个方法几乎相同。但是,在第三个方法中,通过在网络浏览环境服务器200中构造虚拟机,用户认为好像用户在与第二个方法相同的环境中使用PC机,而不用对应于实际的服务器。在第一个方法和第三个方法中,由于用户可以共享和使用单个服务器而不用控制任何性能,所述可能出现与资源相关的性能。因此,许多用户不能连接到网络浏览环境服务器200,并且由于大量的账号或操作系统,网络浏览环境服务器200的操作系统的许可成本可能会增加。在第三个方法中,虽然可以构造多用户的环境,但是需要使用与网络浏览环境服务器200的性能相关的大量的资源来驱动虚拟机,该虚拟机具有包括在网络浏览环境服务器200中安装的操作系统的相同形式,对于网络浏览环境服务器200的性能,不能同时允许满意数量的用户。另外,由于不购买常规的软件就难以实现虚拟机,所以实现虚拟机需要很高的成本。因此,由于各自所具有的严重的不足之外,上述三种方法没有实践上的用处。因此,为了构造不具有上述问题的有用的环境,网络浏览环境服务器200构造了以下的环境。首先,与其兼容的windowsXP或OS用作网络浏览环境服务器200的OS。第二,所有用户使用单个OS用户账号,当服务开始时用户账号已经登录,并且向所有用户提供公共的windows桌面图像。第三,操作单元230在单个OS用户账号的公共windows桌面图像上为每个用户执行各个过程,因此,单个图像由用户共享。另外,键盘和鼠标也由用户共享。第四,独立的环境构造单元231锁定主要的windowsAPI并且在内部一个过程连着一个过程地执行操作单元230的过程,产生预先确定的窗口消息,并且在窗口消息被发送时根据窗口消息的内容适当地改充内部信息,从而用户可以识别为好像每个操作单元相对于操作单元230的每个过程具有独立的鼠标和键盘。第五,当网络浏览器控制单元捕获到网络浏览器单元的图像时,通过使用相对于独立的网络浏览器窗口及其相关窗口预先确定的windowsAPI,网络浏览器控制单元在内部缓存中呈现图像,而不是像常规的捕获软件那样捕获实际的windows桌面图像,从而可以捕获图像而不用将图像显示在实际屏幕上。因此,虽然包括在多个操作单元中的网络浏览器窗口及其相关窗口在屏幕上相互重叠,但是多个操作单元可以正常地捕获各个图像。第六,当网络浏览器单元237通过使用微软公司的windows操作系统所提供的网络浏览器控制来执行网络浏览时,针对每个单独的操作单元设定与用户文件夹相关的环境变量,或者独立的环境构造单元231锁定与文件的读操作和存储操作相关的windowsAPI并且内部处理这些读取和存储操作,从而可以针对每个操作单元独立地管理cookies和临时internet文件。通过构造这个环境,每个用户可以接收独立于其它用户的网络浏览环境,而同时使用与网络浏览环境服务器200的性能相关的最少资源。下面将详细描述识别独立的环境构造单元231从而具有以操作单元230的逐个过程处理为基础的独立的鼠标和键盘状态的方法。现在将描述锁定windowsAPI、生成预定的窗口消息并且在窗口消息被发送时根据窗口消息的内容适当地修改内部信息的理由。首先,当网络浏览器单元237通过使用微软公司的windows操作系统所提供的网络浏览器执行网络浏览时,网络浏览器控制通过windowsAPI和所发送的窗口消息识别出鼠标和键盘状态。例如,当呈现图像时,基于Z轴次序的最上部的窗口可以通过使用与窗口消息相关的windowsAPI(GetCursorPos,WindowFromPoint)从当前鼠标光标和相应的鼠标光标中确定。当最上部的窗口属于用户时,网络浏览器控制执行特定的处理,例如在当前鼠标光标所在的位置上高亮显示超级链接。然后,当用户移动鼠标光标时,独立的环境构造单元231可以通过鼠标光标移动(WM_MOUSEMOVE)消息识别出鼠标光标的移动。第二,当网络浏览器嵌入在网络浏览环境服务器200中并且网络浏览器的动作通过内部数据交换处理时,由于包含在网页中的ActiveX控制是由另一家公司制造的windows应用程序,所以网络浏览也可以通过windowsAPI或发送的窗口消息执行。因此,当网络浏览器或ActiveX控制直接从操作系统接收到有关鼠标和键盘状态的信息时,同时在单个windows桌面上操作的各种操作单元可以接收公共信息。另外,当一个操作单元的状态改变时,由于改变后的状态影响其它的操作单元,所以不能执行独立的操作。因此,独立的状态需要通过锁定windowsAPI,生成预定的窗口消息并且在发送窗口消息时改变内部信息来保持。为了锁定windowsAPI,可以使用常规的DLL导入表补丁(DLLimporttablepatch)法或DLL功能开始点指令修改(DLLfunctionstartingpointinstructionchanging)法。在这些方法中,可以限制特定的处理来锁定windowsAPI。需要这个特性来以操作单元230的逐个过程处理为基础独立地管理内部信息,其在独立的环境构造单元231中执行。使用这些方法,DLL的windowsAPI用内部函数替代从而修改和发送在内部管理的信息。下面将描述被锁定来处理鼠标和键盘信息的示例性windowsAPI。·GetCursorPos:GetCursorPos返回鼠标光标的当前位置。内部函数返回由每个操作单元独立管理的虚拟鼠标光标的位置。·SetCursorPosSetCursorPos设定鼠标光标的当前位置。内部函数返回由每个操作单元独立管理的虚拟鼠标光标的位置,其不会设定鼠标光标的实际位置。·TrackMouseEventTrackMouseEvent通过窗口信息接收有关鼠标光标进入或离开预定区域的信息。内部函数根据每个操作单元独立管理的虚拟鼠标的位置通过窗口消息发送信息。另外,为了处理有关鼠标盘旋(是指鼠标在预定位置停留预定的时间)的信息,在内部使用定时器。如果鼠标光标的位置在定时器中设定的预定时间内没有超出预定的区域,则发送盘旋消息。·WindowFromPointWindowFromPoint根据Z轴次序(是指窗口积累在屏幕上的次序)从包含预定点的窗口中返回最上面的窗口。内部函数在实际的环境中根据Z轴次序从属于各个操作单元的窗口中选择出最上面的窗口,从而使得这个选择不受以下事实的影响,即由另一个操作单元或服务器执行的另一人应用程序的窗口可能位于当前操作单元窗口之上。^GetKeyState:GetKeyState返回有关预定键是否被按下的信息。内部函数根据用户设备发送的按键输入信息所管理的内部状态返回信息。因此,当在用户操作单元中预定按键被按下时,另一个用户操作单元中相应按键不被按下。通过锁定主要的windowsAPI,网络浏览器和大部分ActiveX控制可以被控制。如果需要,执行与上述API功能和扩展功能的独立API可以被锁定。API的例子可以包括GetCursorlnfo、ChildWindowFromPoint>GetAsyncKeyState禾口SetKeyboardState等。现在将描述所产生的窗口消息的示例。·WM_M0USEM0VE当用户设备发布指令或者被锁定的SetCursorPosAPI移动鼠标光标的位置时,产生WM_M0USEM0VE以便根据Z轴次序将内部移动的鼠标光标的位置发送到包含鼠标光标预定点的窗口中最上面的窗口,所述Z轴次序即图像累积的次序。·WM_M0USEH0VER,WM_MOUSELEAVEWM_M0USEH0VER和WM_MOUSELEAVE被产生来管理TrackMouseEvent请求的鼠标光标的位置改变。參WM_xBUTT0ND0WN,WM_xBUTTONUP(χ为L、R和M中的一个)当用户设备请求鼠标按扭点击时,WM_xBUTT0ND0WN和WM_xBUTTONUP根据Z轴次序被发送至包含内部当前鼠标光标位置的窗口中的最上面窗口。·WM_KEYDOWN,WM_KEYUP,WM_CHARWM_KEYDOWN,WM_KEYUP和WM_CHAR被产生来执行用户设备发送的键盘输入。在下面的例子中,在分派窗口消息期间,根据窗口消息的内容适当修改内部信肩、ο·WM_xBUTT0ND0WN,WM_xBUTTONUP(χ为L、R和M中的一个)WM_xBUTT0ND0WN和WM_xBUTTONUP更新将由GetKeyStatewindowsAPI返回的虚拟按键输入的状态。·WM_KEYDOWN,WM_KEYUPWM_KEYDOWN和WM_KEYUP更新将由windowsAPI返回的虚拟按键输入的状态。对于作为一个按键输入状态的键盘焦点,windows操作系统本身包含了每个线程的焦点信息。因此,键盘焦点在正常情况下没有问题。但是,当管理者通过点击实际鼠标将焦点提供给单独的程序时,考虑到windows操作系统的工作特性,对于每个操作单元的每个线程而言,包含在windows操作系统中的焦点可能消失。为了克服这个问题,当用户设备100发布按键板输入指令时,输入函数被限制至包含当前鼠标光标位置的窗口,当前鼠标光标位置的窗口的焦点被重设,然后执行按键输入。可替代地,鼠标点击消息被发送到相应的窗口,从而相应的窗口包含焦点,然后执行按键输入。因为ActiveX控制几乎从来不生成按键输入,所以与焦点相当的位置可以被这些方法克服。独立的环境构造单元231可以锁定windowsAPI,从而管理每个操作单元230的cookies和互联网文件。WindowsAPI的例子可以包括CreateFileA、CreateFileW、DeleteFileA、DeleteFileW或类似API。通过将输入参数的文件路径名称修改为每个操作单元230的各个合适的路径名称,代替这些函数的内部函数可以通过各个路径来管理文件。另外,对于每个操作单元230,为了将指示windows用户的合适路径的环境变量修改为合适的路径,可以使用预定的方法。在微软公司windows操作系统本身提供的网络浏览控制的情况下,对于每个操作单元230,通过使用这个方法,cookies和临时互联网文件可以通过合适的路径得到管理。通过控制网络浏览器的图像显示以及网络浏览器和ActiveX控制的事件,并且通过控制所有的操作单元从而不在预定的时间点使用中央处理单元(CPU)执行预定数量的操作或者更多,性能控制单元235节省了与网络浏览环境服务器200的性能相关的资源。当性能控制单元235控制图像显示时,通过将网络浏览器窗口定位在windows桌面上并且随后使用空白窗口完全隐藏网络浏览器窗口之上的空间,阻止窗口内容自动呈现,尽管网络浏览器和ActiveX控制不需要操作单元230。这个操作使用了这样的特性,即当应用程序窗口在屏幕上被隐藏时,应用程序不会再次呈现窗口内容。相反,通过使用相对于单独的网络浏览器的预定windowsAPI及其相关窗口在内部缓存中呈现网页图像,网络浏览器控制单元233可以捕获网页图像而不用在实际屏幕上显示网页图像,并且不用捕获实际的winodws桌面图像。因此,网络浏览器和ActiveX控制可以仅在操作单元230需要周期性地发送图像内容到用户设备的时间点上呈现窗口内容。作为结果,性能控制单元235可以节省与用于呈现窗口内容的性能相关的资源。由于通常用于网络浏览器的flashActiveX控制可以在一秒钟的时间内呈现窗口内容10次或更多次,所以大量的性能资源可以根据操作单元230的图像内容的发送周期得到节省。定时器是用于连续地操作包含在网页中的活动元素的基本元素,所述活动元素例如是ActiveX控制、脚本或类似元素。活动元素被包含,从而由于活动元素的特性在占据CPU时不会被执行,并且当活动元素接收登记为在预定期间工作的定时器发送的相应的定时器事件时周期性地工作。在ActiveX控制或许多脚本的情况下,由于定时器登记为在几十秒到几百秒的时间上工作,所以ActiveX或许多脚本的操作数量非常大。另外,无论网页是否在屏幕上显示,均执行ActiveX或许多脚本,所以用户看到网页。另外,在示例的互联网入口站点的情况下,由于单个网页包括许多使用定时器工作的flashActiveX控制和脚本,所以每一秒生成几十次到几百次的定时器事件。因此,当单个网络浏览环境服务器200允许多个用户使用时,基于定时器事件的操作在性能方面会对网络浏览环境服务器200带来相反的影响。因此,性能控制单元235通过使用下述方法控制与网络浏览环境服务器200的性能相关的资源。通过使用与独立环境构造单元231中相同的方法,SetTimer和KillTimerwindowsAPI被锁定,并且登记的定时器在被管理时选择性地停止。定时器在两种情况下停止。首先,当用户设备100在预定时间期间没有接收到输入时,或者当网页图像由于用户设备100的用户界面110的配置没有显示时,所有的定时器在内部停止。因此,包含在网页中的活动元素被停止,并且与网页浏览环境服务器200的性能相关的资源可以得到极大的节省。然后,当用户设备100再次接收到输入时,或者网页图像再次显示时,定时器再次工作,从而包含在网页中的活动元素可以工作。第二,当用户产生新的网页或转换网页从而不显示之前的网页时,通过选择性地仅仅停止从包含在之前网页中的活动元素生成的定时器,仅有包含在网页中最小数量的活动元素可以为每个用户工作。根据嵌入网络浏览器单元237的方法,即根据是否识别请求SetTimer和KillTimer的网页,这个选择性的停止定时器的方法可以修改,可以使用这个方法也可以不使用。如果使用微软公司windows操作系统本身提供的网络浏览控制来嵌入网络浏览器单元237,则仅当网页配置为在各个线程中工作时,可以选择性地停止定时器。这是因为,当SetTimer和KillTimer被请求时,请求SetTimer和KillTimer的线程可以被识别,但是请求SetTimer和KillTimer的网络浏览器不能被识别。另一方面,当在网页和网络浏览器中工作的脚本操作单元嵌入在其中时,由于脚本操作单元本身请求SetTimer和KillTimer,所以尽管网页在相同的线程中工作还是可以识别出请求SetTimer和KillTimer的网页。但是,由于ActiveX控制本身请求SetTimer和KillTimer,所以仍然不能识别出请求SetTimer和KillTimer的网页。因此,在所有情况中,网页可以配置为在各个线程中工作。另外,当容器包括网页中包含的一些活动元素时,即当网络浏览器提供ITimer和与ITimer相关的COM接口时,如果需要定时器,则包含在网页中的一些活动元素通过COM接口请求定时器。当网络浏览器单元237提供COM接口并且包含在网页中的一些活动元素请求定时器时,生成定时器。以类似于锁定SetTimer和KillTimer中的情况对所生成的定时器进行管理。在这个方法中,由于COM接口可以识别出请求定时器的容器,所以可以识别出请求定时器的网页。由于一些活动元素使用这个方法,所以这个方法不可以使用在广泛的范围中。但是,由于极大地影响到与定时器相关的性能的flashActiveX控制通过使用这个方法请求定时器,所以当不能使用请求SetTimer和KillTimer的方法时这个方法足以取代请求SetTimer和KillTimer的方法。在上述基于定时器控制元素的方法之外,当网络浏览器、ActiveX控制、脚本操作单元或脚本自身提供一个用于停止和再现操作的接口时,可以使用此接口停止和再现操作。通过在整个网络浏览环境服务器200使用操作系统上的同步对象执行操作,所有操作单元被控制从而不在预定的时间点上使用CPU执行预定数量的操作或更多。同步对象的例子可以包括信号量(semaphore)。将要控制的操作可以主要使用CPU。操作的例子可以包括以下操作,即捕获网络浏览图像、通过减少颜色数量或根据用户设备100的分辨率改变网络浏览图像、然后将所述网络浏览图像与之前的图像进行比较从而选择和发送不同于之前图像的网络浏览图像的部分,;还包括以下操作,即flashActiveX控制为每个定时器事件呈现图像;还包括以下操作,即通过使用每个定时器事件的脚本操作单元由包含在网页中包含的活动元素执行的操作。当在单个网络浏览环境服务器200中执行操作单元的多个过程从而多个网页工作时,多个过程的线程相互竞争以便获取操作系统上的CPU使用时间,而同时使用大部分CPU执行操作。因此,操作系统通过使用占先多任务方法将CPU使用时间分配给每个线程。当许多线程竞争非常激烈时,虽然线程并不使用CPU进行操作但是CPU还是会从相应的线程被拿走,所以线程需要等待以便再次接收CPU。因此,由于需要许多操作以便操作系统将CPU分配给每个线程,也就是说,需要许多操作以便实现任务改变,所以,与线程实际使用CPU的时间相比较,许多操作对于降低网络浏览环境服务器200的性能是不可忽略的。这时,通过控制所有的操作单元从而不会同时执行预定数量的操作或者更多,线程可以确保完成它们各自操作的时段。因此,任务改变的操作数量得以降低,从而节省了与网络浏览环境服务200的性能相关的资源。操作单元的操作数量可以与包含在网络浏览环境服务器200中的CPU的数量相等。由于通过使用定时器事件由包含在网页中的ActiveX控制和脚本执行的操作不如捕获和发送网络浏览图像的操作重要,所以捕获和发送网络浏览图像的操作可以通过分别管理两个操作得到更平稳地执行。例如,包括4个CPU的网络浏览环境服务器200可以被配置,从而同时执行三个捕获和发送网络浏览器图像的操作,并且同时仅执行一个由ActiveX控制和脚本执行的操作。根据使用SetTimerAPI时定时器事件是否被设定为与窗口相关或者定时器是否被设定为调用没有窗口的回叫信号而改变,通过使用定时器事件对操作的控制可以被改变。首先,当定时器事件被设定为与窗口相关时,如果WM_TIMER消息在发送窗口消息的重复会话中被发现,则当获得同步对象时在相应的窗口中发送相应的WM_TIMER事件或调用回叫函数。当定时器被设定为调用没有窗口的回叫信号时,性能控制单元235提供的回叫信号而非原来的回叫信号在锁定SetTimer期间被提供给操作系统,然后当操作系统调用性能控制单元235提供的回叫信号时与获取同步对象的同时调用原来的回叫信号。另外,当网络浏览器嵌入时,通过限制网络浏览器单元237使用的用于通过同步对象在单个网络浏览环境服务器200中下载一个网页的套接字的数量,与操作系统相关的资源可以得到节省。用户设备100将用户界面110提供给用户。当所希望的操作被选择时,操作被发送给网络浏览环境服务器200,然后在网络浏览环境服务器200中被执行。根据操作结果改变的状态或在网络浏览环境中自动改变的状态以及网页图像从网络浏览环境服务器200被发送并且被反馈给用户界面110。图3和图4是用于解释根据本发明的一个实施例的控制多个用户的网络浏览环境提供系统的方法的消息序列图。图3是用于解释根据本发明的一个实施例的包括在多用户网络浏览环境提供系统的操作中的初始化消息序列图,其中,使用了远程服务器计算机。参照图3,用户向网络浏览环境服务器200请求为通过用户设备100或可连接互联网的设备150而使用服务进行注册(S500),完成注册(S505),确认注册(S510),然后当程序没有被安装到用户设备100时下载程序以便提供用户界面110。接下来,用户请求登录以便使用用户设备100中的网络浏览环境(S515),网络浏览环境服务器200执行用户验证(S520),为用户生成网络浏览环境(S525),然后发送网络浏览环境的初始状态(S530)。用户设备100显示所发送的网络浏览环境的初始状态以及用户界面上的菜单(S535)。图4是根据本发明实施例的包括在多用户网络浏览环境提供系统中的消息序列的示意图,其用于解释包括选择用户设备100的操作并且发送网络浏览器单元237的实际操作及其结果的方法。参照图4,用户设备100搜索显示在屏幕上的用户界面110(S600),选择需要的功能,然后将相应的操作发送给网络浏览环境服务器200(S605)。网络浏览环境服务器200的网络浏览器控制单元233将用户设备100请求的操作发送给网络浏览器单元237(S610)。这时,通过调用包括在网络浏览器单元237中的网络浏览器控制、经过独立的环境构造单元231发送窗口消息、或者执行键盘和鼠标仿真来发送操作。网络浏览器单元237执行所发送的操作(S515)。这时,网络浏览器单元237的性能可以由性能控制单元235控制。当网络浏览器控制单元233检测到网络浏览器单元237的状态变化时(S520),有关状态变化的信息被发送给用户设备100。接收信息的用户设备100在用户界面110上显示信息(S535)。在图4中,网络浏览器单元237的状态通过选择用户设备100的操作被改变。可选择地,网络浏览器单元237的状态可以在不选择用户设备100的操作的情况下被改变。在这种情况下,网络浏览器控制单元233检测并发送网络浏览器单元237的状态改变至用户设备100,类似图4中的情形。另外,当网络浏览器控制单元233由于网络浏览器控制单元233的环境设置而没有识别出网络浏览器单元237的图像改变时,网络浏览器控制单元233可以通过在预定时段上将当前的图像与之前的图像进行比较来检测改变的部分,并且可以将检测结果发送给用户设备100。因此,多个用户可以通过使用具有比PC机较低性能或与PC机相比具有低兼容性的用户设备来执行与PC机中具有相同等级的网络浏览操作。在根据本发明的网络浏览环境提供系统中,由于网络浏览环境服务器200执行网络浏览操作,其中接收网页并且将对于网页的响应发送给网络服务器300,所以网络浏览环境服务器200需要包含所需要的信息以便执行网络浏览操作。这时,当信息是用户的个人信息时,需要安全功能。为了获得安全功能,用户设备100和网络服务器300可以使用虚拟的安全连接得以连接。这时,虚拟的安全连接包括两个连接。第一个连接是分别安装在用户设备100和网络浏览环境服务器200中的第一虚拟连接单元之间的连接。另一个连接是安装在网络浏览环境服务器200中的第一虚拟连接单元和安装在网络服务器300中的第二虚拟连接单元之间的连接。安装在网络浏览环境服务器200中的第一虚拟连接单元可以包括在操作单元230中。虚拟安全连接可以通过将虚拟连接的数据添加到数据包中得以嵌入,所述数据包通过通用网络浏览的连接被发送,类似于常规网络系统的信息包的层结构。用户设备100和网络浏览环境服务器200可以检查信息包的类型,可以确定信息包是否用于通用网络浏览或用于与用户设备100的虚拟连接,然后可以根据确定结果发送相应的数据包。因此,安装在网络浏览环境服务器200中的第一虚拟连接单元通过直接使用通用网络系统而并不连接用户设备100和网络浏览环境服务器200。相反,通过识别和处理上述特定情形的网络浏览环境服务器200的连接单元210,安装在网络浏览环境服务器200中的第一虚拟连接单元接收连接信息。然后,安装在网络浏览环境服务器200中的第一虚拟连接单元用作软件网关,所述软件网关将从预定连接发送的数据发送至相对的连接,同时管理用户设备100和网络浏览环境服务器200之间的两个连接。因此,获得了用户设备100和网络服务器300之间的虚拟连接,并且通用的端对端安全连接在虚拟连接中被初始化,从而获得用户设备100和网络服务器300之间的虚拟安全连接。本发明可以实现为写在计算机可读记录介质上的计算机可读代码。计算机可读记录众质可以是任何类型的记录设备,其中,数据以计算机可读的方式记录在所述记录设备中。计算机可读记录介质的例子包括ROM、RAM、CD-ROM、磁盘、软盘、光数据存储器以及载波(例如,通过互联网的数据传输)。计算机可读记录介质可以在连接到网络的多个计算机系统上发布以便计算机可读代码以分散的方式被写入和执行。虽然本发明已经参照其示例的实施例进行了特定的显示和描述,但是本领域普通技术人员应当理解,可以对其形式和细节进行各种修改以免脱离以下权利要求书所限定的精神和范围。根据本发明,通过使用比PC机具有更低性能或与PC具有低兼容性的用户设备,多个用户可以执行与作为网络浏览主要设备的个人计算机中的网络浏览操作相同等级的网络浏览操作。权利要求1.一种多用户网络浏览环境提供系统,所述系统包括至少一个用户设备,在所述用户设备上显示有用户界面,所述用户界面用于读取网页和控制网络浏览;以及网络浏览环境服务器,其通过网络连接到所述用户设备,为每个用户设备生成和管理独立的网络浏览环境,将所述独立的网络浏览环境的状态通知给所述用户设备,呈现网页,执行包含在所述网页中的活动内容,将呈现的网页图像发送给所述用户设备,并且控制所述用户设备请求的操作以便在所述网络浏览环境中操作。2.根据权利要求1所述的系统,其中,所述网络浏览环境服务器控制网络浏览操作,从而通过使用以下方法中的至少一个方法来节省资源减少网页呈现操作数量的方法、有选择地停止包含在所述网页中的活动元素的方法、控制与所述网络浏览相关的多个同步操作的方法。3.根据权利要求1所述的系统,其中,所述网络浏览环境服务器使用与windows兼容的操作系统(OS),并且其中,当为每个用户生成独立的网络浏览环境时,网络浏览环境服务器使用在服务启动设备时已经登录的单个OS用户账号,并且将公共windows桌面图像提供给所有用户设备。4.根据权利要求3所述的系统,其中,所述网络浏览环境服务器包括管理数据库,用于存储和管理有关所述用户设备的用户验证信息;以及连接单元,用于控制所述管理数据库的操作。5.根据权利要求3所述的系统,其中,所述网络浏览环境服务器还包括操作单元,用于向通过所述连接单元连接的用户设备提供网络浏览。6.根据权利要求5所述的系统,其中,所述操作单元包含在从网络服务器下载的网页中,并且在所述网页被下载之后与所述用户设备交互作用从而连接到所述用户设备,并且,在所述操作单元被连接到所述网络服务器之后,所述操作单元将从预定连接发送的数据发送至所述用户设备和所述网络服务器之间的相对连接,从而提供所述用户设备和所述网络服务器之间的虚拟连接。7.根据权利要求5所述的系统,其中,所述操作单元包括网络浏览器单元,用于呈现和控制网页;网络浏览器控制单元,用于接收由所述用户设备发布的指令以便控制所述网络浏览器单元,并且将所述网络浏览器单元的状态变化的检测结果和所述网络浏览器单元呈现的网页图像发送给所述用户设备;独立的环境构造单元,用于为每个用户设备构造独立的网络浏览环境;以及性能控制单元,用于控制网络浏览操作以便节省与性能相关的资源。8.根据权利要求7所述的系统,其中,所述操作单元在信号账号的公共windows桌面图像上为每个用户设备执行单独的处理,共享单个图像,并且共享键盘和鼠标。9.根据权利要求8所述的系统,其中,所述独立的环境构造单元锁定主要的windowsAPI并且逐个执行所述操作单元的过程,生成预定的窗口消息,并且在所述窗口消息被发布时根据所述窗口消息的内容修改内部信息,从而用户识别为好像所述操作单元对于所述操作单元的逐个过程而言具有独立的鼠标和键盘。10.根据权利要求9所述的系统,其中,当所述网络浏览器控制单元捕获网络浏览器单元的图像时,所述网络浏览器控制单元通过使用与独立的网络浏览器及其有关窗口相关的windowsAPI在内部缓存中呈现图像,而不是捕获实际的windows桌面图像,从而捕获图像而不用在实际屏幕上显示图像。11.根据权利要求10所述的系统,其中,通过一种方法为每个用户管理cookies和临时互联网文件,在所述方法中,所述操作单元为每个用户设备设定与用户文件夹相关的OS环境变量,或者在所述方法中,所述独立的环境构造单元锁定与读取和存储文件操作相关的windowsAPI并且处理所述读取和存储操作,从而每个用户设备包含相对于另一用户独立的网络浏览环境。12.根据权利要求1所述的系统,其中,所述用户界面包括至少一个由所述网络浏览环境服务器提供的网页图像、用于控制网络浏览的菜单以及用于控制整个网络浏览环境的公共菜单。13.—种控制多用户网络浏览环境提供系统的方法,其中,所述系统包括至少一个连接的用户设备和网络浏览环境服务器,所述用户设备和所述网络浏览环境服务器通过网络连接并且相互通信,所述方法包括为每个用户设备向所述网络浏览环境服务器生成网络浏览环境;在所述用户设备上显示所述网络浏览环境的用户界面,在所述用户设备上检索所述用户界面,并且将通过检索所述用户界面选择的功能项目发送给所述网络浏览环境服务器;在所述网络浏览环境服务器中控制网络浏览器单元,从而执行对应于所选择功能项目的操作,其中,所述网络浏览器单元执行所选择的功能项目;并且检测所述网络浏览器单元的状态变化并且通过网络将有关所检测到的状态变化的信息通知给所述用户设备。14.根据权利要求13所述的方法,还包括请求所述网络浏览环境服务器进行验证,其中,所述请求由所述用户设备执行;以及接收对于验证的回复。15.根据权利要求13所述的方法,还包括在windows桌面上定位网络浏览器窗口,然后利用空窗口完全遮挡所述网络浏览器窗口之上的空间,从而阻止窗口内容自动呈现,其不需要网络浏览器和ActiveX控制。16.根据权利要求13所述的方法,还包括当捕获网页图像时,通过使用与独立的网络浏览器以及所述独立的网络浏览器的有关窗口相关的windowsAPI将所述图像呈现在内部缓存中,捕获图像而不用将图像显示在实际屏幕;以及仅在将图像内容发送给所述用户设备的时间点上呈现窗口内容,其中,所述呈现由网络浏览器和Active控制执行。17.根据权利要求13所述的方法,还包括,当用户设备在预定的时间段中没有接收到输入,或者由于在生成新网页或转换网页时由于用户设备的配置而没有显示之前的网页图像时,停止包含在相应网页中的活动元素从而节省与性能相关的资源。18.根据权利要求17所述的方法,还包括,当所述用户设备再次接收到输入或者所述网页图像再次被显示时,再次执行包含在所述网页中的所述活动元素。19.根据权利要求17所述的方法,其中,通过锁定SetTimer和KillTimer的windowsAPI从而有选择地停止和再现由包含在所述网页中的活动元素注册的定时器,或者通过在网络浏览器、ActiveX控制、脚本执行器或脚本自身提供界面时使用所述界面,所述活动元素被停止。20.根据权利要求19所述的方法,其中,所述定时器通过至少一个方法有选择地停止和再现,所述至少一个方法包括以逐个线程为基础分割所述定时器的方法,其中,针对每个网页管理线程;当嵌入其中的网络浏览器和在所述网页中操作的脚本执行器请求所述定时器时,为每个网页管理定时器的方法;网络浏览器提供ITimer和与ITimer相关的COM接口并且通过使用所述网页中的COM接口对请求所述定时器的活动元素进行分割的方法。21.根据权利要求13所述的方法,还包括通过在整个所述网络浏览环境服务器上使用操作系统(OS)上的同步对象,仅在获得所述同步对象时控制所述网络浏览环境服务器以便执行过程。全文摘要本发明提供一种使用远程服务器计算机的多用户网络浏览环境提供系统以及一种控制该系统的方法。所述系统包括用户设备,在所述用户设备上显示有用户界面,所述用户界面用于读取网页和控制网络浏览;以及网络浏览环境服务器,其为每个用户设备有效地生成和管理独立的网络浏览环境,将所述独立的网络浏览环境的状态通知给所述用户设备,呈现网页,执行包含在所述网页中的活动内容,将呈现给所述用户设备的网页图像发送给所述用户设备,并且控制所述用户设备请求的操作以便在所述网络浏览环境中操作,从而节省与性能相关的资源。因此,通过使用具有比个人电脑性能低或与个人电脑具有低兼容性的用户设备,多个用户可以执行与作为网络浏览主要设备的个人电脑(PC)中的网络浏览操作具有相同等极的网络浏览操作。文档编号G06F17/00GK102016826SQ200880128775公开日2011年4月13日申请日期2008年2月22日优先权日2008年2月22日发明者沈在范申请人:论理工场株式会社