用于安装和启动网络应用程序的系统的制作方法

文档序号:6596819阅读:249来源:国知局
专利名称:用于安装和启动网络应用程序的系统的制作方法
技术领域
这个发明通常涉及用于运行网络应用程序、尤其是用于运行如Java应用程序的网络应用程序的方法和系统。
背景技术
有许多浏览器可以用来畅游万维网。每种浏览器使用不同的方法用于显示Java小程序。如在本领域内公知的那样,Java小程序是与一个网页一起发送给一个用户的程序,它允许一个用户通过该程序执行任务而不必把一个用户请求发送回到一个服务器。在web浏览器和Java小程序之间的接口对于每一个不同的浏览器来说被不同地处理,更不用说用于每个浏览器的Java虚拟机(JVM)也不同地处理操作。另外,通过在浏览器中运行该小程序,对利用该小程序能够处理的东西施加了限制。例如,当在浏览器中运行该小程序时,在该小程序上放置有安全限制。此外,一个小程序不能访问系统的本机功能度,即小程序正在上面运行的平台。
通过浏览器运行一个Java小程序有另外的问题。首先,不同的浏览器使用不同的Java虚拟机版本。取决于正在其上执行它们的JVM,相同的Java字节代码可能行为不同。例如,微软的Internet Explorer使用一个与Netscape完全不同的虚拟机,即使两者都是在WindowsTM环境下运行。在MacintoshTM平台或其它操作系统(OS)下运行不同的浏览器时这也是真的。此外,在Java虚拟机和web浏览器之间的接口具有设计缺陷,这能够导致在Java虚拟机和web浏览器之间显著的错误通信。这些通信错误能够在从丢失来自于鼠标和键盘的用户输入到忽略浏览器的安全设置的范围内变化。
此外,不同的web浏览器对“信任的”Java小程序具有不同的安全系统。此外,不可能用某些用于Java小程序的web浏览器访问本机方法。此外,在一个web浏览器内运行一个Java小程序持续一段时间能够导致存储器泄漏,其中由该小程序请求的存储器从不归还给系统。另一个危险是有时正在web浏览器内部运行的Java代码的行为被改变了,从而使它与当相同的Java代码在该浏览器外部的同一个虚拟机上运行时不同。此外,某些web浏览器具有被较差配置的虚拟机。在这种情况下,编写任何类型的、将具有任何机会用这样一个不利的虚拟机执行某些有用的事情的网络程序几乎是不可能的。
还有一个进一步的考虑是,由于小程序通过该浏览器运行,所以在浏览器中出现的任何bug(软件故障)将必定会影响该小程序。类似地,在这种情况下在该小程序内部的任何bug将会影响浏览器。此外,当一个浏览器中运行一个小程序时,在该小程序正在执行诸如读取文件的敏感操作的地方,该小程序必须被数字标志了。由于联系其它服务器可能导致与用户的保密性冲突,所以当经由网络连接到其它计算机时,Java小程序被明显地限制了。此外,它可能导致不希望有的安全问题、诸如口令被暴露、个人财务数据被发送等。
因此,需要解决现有技术中的问题,以提供一种用于安装和启动一个应用程序的方法,该方法是跨平台标准化的、并且从由一个常驻浏览器施加的限制中解脱出来的。

发明内容
概括地讲,本发明通过提供一种确保网络应用程序一致地跨平台运行而且该应用程序独立于浏览器运行的方法和系统,满足了这些需要。应当理解,本发明能够以多种方式、包合作为一个处理过程、一个系统、或一个设备来实现。本发明的几个有创造性的实施例描述如下。
在一个实施例中,提供了一种用于通过一个分布式网络安装和启动一个网络应用程序的方法,其中该应用程序被包含在一个服务器上。该方法以通过网络访问服务器开始。然后,选择应用程序的参数。接下来,确定应用程序的最新版本是否出现在一个客户机上。然后,如果应用程序的最新版本没有出现在客户机上,则下载和安装一个包含应用程序最新版本的档案库文件。接下来,启动该应用程序。然后,把参数传递给一个端口。该端口与应用程序进行通信,而且该应用程序被配置为访问该档案库文件的本地程序库。
在另一个实施例中,提供了一种用于在一个客户机上运行一个网络程序的方法。通过一个web浏览器访问该网络程序。该方法以访问包含该网络程序的服务器开始。然后,配置应用程序的参数。接下来,产生一个到在该服务器上的一个页面的链接。在服务器上的该页面包含一个服务器档案库文件的版本信息。然后,确定一个客户机档案库文件是否出现在一个客户机上。该确定进一步包含如果客户机档案库文件存在,则检查客户机档案库文件以确定该客户机档案库文件是否与服务器档案库文件是同一个版本。该确定还包含如果客户机档案库文件不存在,或是如果客户机档案库文件与服务器档案库文件不是同一个版本,则下载服务器档案库文件到客户机。接下来,启动该程序。
在又一个实施例中,提供了一个用于通过一个网络安装和启动一个应用程序的系统。该系统包含一个服务器。该服务器包含一个包含在一个服务器档案库文件中的应用程序,其中该应用程序包含多个选项。服务器被配置为链接到一个包含该服务器档案库文件的版本信息的页面,并且允许一个用户选择应用程序中的选项。包含一个web浏览器。此外还包含一个通过web浏览器与服务器通信的客户机。该客户机被服务器检查以确定一个客户机档案库文件是否存在和是否是当前的。把服务器档案库文件的版本信息与客户机档案库文件的版本信息进行比较,如果客户机档案库文件不存在或者不是当前的,则服务器档案库文件被下载到客户机。客户机档案库文件包含该应用程序。该应用程序被配置为听取一个端口,从而使得由一个用户选择的任何选项由一个控制模块通过该端口传输给该应用程序。
在还有的又一个实施例中,提供了一个包含有用于通过一个分布式网络安装和启动一个网络应用程序的程序指令的计算机可读介质。该应用程序被包含在一个服务器上。计算机可读介质包含用于通过网络访问服务器的程序指令、和用于选择应用程序的参数的程序指令。此外还包含用于确定应用程序的最新版本是否出现在一个客户机上的程序指令。包含用于如果应用程序的最新版本没有出现在客户机上、则下载和安装一个包含该应用程序最新版本的档案库文件的程序指令。包含用于启动应用程序的程序指令和用于传递参数到一个端口的程序指令。该端口与应用程序进行通信,而且该应用程序被配置为访问该档案库文件的本地程序库。
本发明的优点是很多的。最显著地是,由在一个浏览器中运行一个小程序所施加的限制通过运行一个独立的Java应用程序被消除了。此外,该应用程序能够独立于浏览器运行,即浏览器能够被关闭,而该应用程序仍然能够运行。同样重要的是Java应用程序的输出的标准化,这通过利用客户机的操作系统的Java虚拟机和由一个下载到该客户机的档案库文件安装的本地程序库来允许。因此,不再需要取决于将随着计算机发生变化的常驻浏览器的Java程序库。
通过举例说明本发明原理的下列详细描述并结合附图,本发明的其它方面和优点将变得更为明显。


通过下列详细说明连同附图,本发明将会很容易地被理解,而且相似的标记数字表示相似的结构单元。
图1说明了一个流程图,它显示了依据本发明一个实施例的、用于安装和启动一个网络应用程序的方法的概述。
图2说明了一个流程图,它显示了依据本发明一个实施例、用于在一个客户机上运行作为一个独立应用程序的一个网络程序的方法的更详细说明。
图3A说明了一个图表,它说明了依据本发明一个实施例、在一个HTML页中的一个对象的例子。
图3B说明了依据本发明一个实施例的一个.cab文件的内容的示例图表。
图4说明了一个流程图,它表示依据本发明一个实施例的、一种用于启动和安装一个网络应用程序的方法,其中该应用程序被启动用于编辑一幅图像。
具体实施例方式
描述了用于一个安装和启动作为Java应用程序、而不是Java小程序的网络访问程序的装置和系统的发明。然而,显然对本领域的一个普通技术人员来说,没有某些或全部这些细节本发明也可以被实现。在其它情况下,为了不会不必要地模糊本发明,没有详细描述公知的处理操作。
本发明中的实施例提供了一种用于安装和启动网络应用程序的系统和方法,以便该应用程序跨越平台一致地运行,而且无论本地安装了什么浏览器来自于该应用程序的任何输出都类似地是跨越平台一致的。在一个实施例中,该网络程序运行作为Java应用程序而不是Java小程序。由于该应用程序作为一个由一个web浏览器启动但是不在web浏览器内部运行的独一无二的应用程序来运行,所以在执行的应用程序的行为上没有放置安全限制。另外,该应用程序能够一致地访问本地方法,而且比较容易支持一个更大数目的web浏览器。应该理解,通过独立于浏览器运行该应用程序,用户甚至可以关闭浏览器而不影响该应用程序的行为。
在一个实施例中,该方法利用在用户计算机系统上的操作系统中的Java虚拟机,而不是web浏览器中的虚拟机。由于一个用户的操作系统的虚拟机比浏览器中的虚拟机更加坚固,所以运行该应用程序就变得更加标准化了,来自该应用程序的任何输出也是如此。虽然就用于一个打印机的一个应用程序对如下所述的某些实施例进行了描述,但是无论如何这并不意味着进行限制。该应用程序能够是任何基于Java的网络应用程序。这种网络应用程序通常是由应用业务供应商(Application service Providers,ASP)提供的以允许一个应用程序经由一个诸如Internet的网络的广泛访问。
在一个实施例中,系统使用一个ActiveX控件模块以在windowsTM上安装和启动用于Internet ExplorerTM的网络Java应用程序。在另一个实施例中,能够在windowsTM上使用用于Netscape的NetscapeTMP1ugin(插件)控件模块。在还有的另一个实施例中,这些模块中的每一个最好是使用一个X509验证安全来加以数字标志以便使该浏览器将信任该安装/启动模块。以这种方式,这些不同类型模块中的每一个都被允许从(位于网络上的)服务器中安装应用程序的必要组件或者模块到客户机,即本地计算机,然后适当地启动该网络应用程序。在本发明的一个实施例中,这些模块将经由一个TCP/IP通信套接字从浏览器向应用程序发送可能影响应用程序行为的应用程序参数。更进一步,这些模块还可以经由该TCP/IP通信套接字在客户机处接收有关执行应用程序的状态的信息。
在一个实施例中,不要求一个大的应用程序的一次下载以允许该应用程序的网络启动,也不要求用户为了启动该应用程序重新启动他或者她的浏览器。在另一个实施例中,除了检查所安装的组件版本以查看它们是否是最新的(例如,当前版本)之外,系统还能够检查在客户机系统上的虚拟机版本以验证它是一个被支持的版本。应当理解,这通过最小化昂贵组件下载的数目、同时确保客户机具有可从服务器中获得的最新组件,改善了经由该网络的性能。如上所述,系统还具有把由用户在web浏览器中选择的参数经由TCP/IP通信传递给该应用程序的能力。由于由诸如CGI、Java ServletTM和Java ServerPagesTM(JSP)之类的技术允许的网页动态特性,这个特征是尤其有用的。此外,在一个实施例中,由于Java 1.1与微软公司的InternetExplorerTM4.5或者更高版本一起,所以不要求Java 2虚拟机被安装在客户机的系统上。另外,与其它应用程序调度(使用)技术相反,Java 2虚拟机增加的功能不是本发明所需要的。
在一个实施例中,该系统和方法把应用程序组件、诸如包含存储在服务器上的Java类文件(其包含Java字节代码)的本地库文件和档案库安装到客户机机器上。当应用程序的一个新版本被开发和发行了时,用新的组件更新服务器,因此,当系统检查在一个客户机上的最新版本时,该新版本将被下载,否则不需要额外的下载。本发明中的实施例克服现有技术限制便于无缝的跨浏览器和跨虚拟机执行。
特别地,相对于用于一台打印机的一个应用程序,经由网络程序的打印行为获得了更大的控制。例如,一个厂家的网站能够提供对一个图像编辑应用程序的访问,其中该应用程序能够从该厂家的服务器下载和安装在一个客户机上。来自于打印机的输出性能、诸如颜色、分辨度、页边距、文字等通过清除经由一个小程序的打印以及实现一个在浏览器外运行的Java打印应用程序来进行标准化。在一个实施例中,当该应用程序打印时,一个打印类访问用于每一平台的一个本地程序库。如上所述,虽然对用于一台打印机的一个应用程序进行参考,但是在在此描述的方法和系统中能够使用任何网络应用程序。
图1说明了一个流程图100,它显示了依据本发明一个实施例的、用于安装和启动一个网络应用程序的方法的概述。流程图100以操作102开始,在那儿由一个用户访问一个网络。在一个实施例中该网络是Internet。然后,在操作104中,该用户登录到一个包含该网络应用程序的服务器。在一个实施例中,需要一个通行字来访问该服务器。接下来,在操作106中用户提交程序选项。在一个实施例中,参考用于一台打印机的一个应用程序,可以向用户给出用于创建贺卡、创建商用卡、创建一个幻灯片放映显示等的选项。在另一个实施例中,服务器检查客户机以确定该客户机是否具有这些选项以及这些选项是否是最新的版本。方法前进到操作108,在那儿用于由用户所选选项的Java应用程序从服务器下载到用户的计算机中。象在此使用的那样,服务器能够是任何连接到一个网络、并且具有相关存储器或者具有对存储器的访问的计算机。该网络能够是一个专用网络或者Internet。接下来,在操作110中,使用该Java应用程序启动在用户计算机上的驻留程序,借此允许用户具有所选选项的全部功能。应当理解,该程序的启动与在用户计算机上的驻留Internet浏览器无关。
图2说明了一个流程图112,它显示了依据本发明一个实施例、用于在一个客户机上运行作为一个独立的Java应用程序的一个网络程序的方法的更详细说明。流程图112以操作114开始,在那儿一个用户连接到一个服务器。在此,用户经由一个诸如Internet的网络连接到服务器。在一个实施例中,到服务器的连接是一个安全连接。接下来,该方法继续到操作116,在那儿配置该应用程序中的参数。应当理解,网络应用程序具有各种选项或者参数以从中进行选择或者配置。在用于一台打印机的一个应用程序的情况下,这些选项或者参数能够包含创建贺卡、创建商用卡、创建幻灯片放映显示等。同样,如上所述,用于一台打印机的应用程序被用作一个说明性示例,而且不意味着进行限制,这是因为能在此使用任何能够包含选项或者参数的应用程序。在另一个实施例中,该参数被配置为存储在服务器上的一个超文本标记语言(HTML)页的内容或者值。
继续图2,该方法进行到操作118,在那儿服务器具有到一个HTML页的链接,其中该HTML页具有一个到一个诸如一个.cab文件的档案库文件的链接。如果该领域是包含压缩数据的文件,则Cab文件是非常公知的。在一个实施例中,HTML页包含该.cab文件的版本信息。应当理解,在此.cab文件是最新的版本。在一个实施例中,如以下将要说明的那样,浏览器进行检查以查看如果客户机中的.cab文件不存在或不是当前版本的话,是否必须下载.cab文件。转到图3A,其依据本发明的一个实施例提供了一个说明了在一个HTML页中的一个对象示例的图表。在一个实施例中,链接到服务器的HTML页中的对象包含在图表130中显示的信息。在此,包含了.cab文件的名称、.cab文件的类ID、和.cab文件中的档案库位置。在一个实施例中,宽度和高度是用于一个其中ActiveX控件的启动/安装将会在该网页上显现出来的窗口。此外,在图表130中还包含ActiveX控件的版本信息,它是包含该应用程序的最新.cab文件。
图3B说明了依据本发明一个实施例的一个.cab文件的内容的示例图表。在一个实施例中,.cab文件是一个包含几个文件(其可以被或者不被压缩的)的档案库文件。在图3B的示例图表中,.cab文件包含用于替换现有技术中的Java小程序的Java应用程序的一个zip文件(压缩文件)。在一个实施例中,应用程序的zip文件包含所有类文件、本地动态连接库(DLL)、和INF文件。在另一个实施例中,INF文件是列出了在该.cab文件中的所有项目和它们的相关版本的安装文件。更具体地说,INF文件把Java应用程序中的几个文件、诸如本地DLL的版本及其它文件列成表。此外,INF文件包含启动器应用程序、诸如一个对象链接和嵌入客户控制(OCX)控件。在一个其中web浏览器是Internet ExplorerTM的实施例中,OCX是ActiveX。
应当理解,这里一个用户正第一次访问包含在服务器上的Java应用程序,检查用于cab文件mycontrol.cab的位置,并且确定该.cab文件不存在。因此,如以下将更详细说明的那样,从服务器中下载和安装.cab文件的当前版本。应当理解,客户机能够打开.cab文件。此外,INF文件包含标识了一旦客户机安装.cab文件后,该.cab文件中的不同文件被存储在客户机上什么位置的代码。例如,在一个实施例中,zip文件和本地DLL文件被保存在客户机的一个系统文件夹中。在另一个实施例中,是包含Java应用程序的另一个库的OCX被安装在适当的位置中。在此,OCX包含一个.main函数,它在浏览器的一个网页内部的一个窗口中加载一个WINDOWSTM应用程序。在一个实施例中,在该网页内部的Windows应用程序被允许使用Java应用程序,以便允许用户访问Java应用程序的功能。在用户已经预先使用了用于Java应用程序的.cab文件的地方,把来自服务器.cab文件的当前版本的版本信息与在客户机上的.cab文件的版本信息进行比较。在一个实施例中,如果版本不同的话,则在客户机上的.cab文件被删除,并且用来自于服务器的.cab文件的最新版本进行代替。在此.cab文件的使用是用于说明性目的,而且不意味着作为限制,是因为该.cab文件能够是任何档案库文件。
返回到图2,一旦在操作118中确定了在服务器上的.cab文件的版本信息,该方法继续操作120,在那儿检查客户机.cab文件以确定一个.cab文件是否存在以及是否是最新的版本。应当理解,.cab文件被保存在已知的位置中,因此,能够很容易地确定在客户机上一个.cab文件是否存在以及是否是最新的。然后该方法前进到操作122,在那儿,如果客户机不具有最新的版本或者版本不是最新的,则从服务器下载并且安装.cab文件。如果.cab文件的版本是最新的,则不必下载和安装.cab文件。应当理解,这里使用一个Java小程序时,每次访问特定应用程序时该小程序都必须被下载和安装。该方法然后转到操作124,在那儿启动该应用程序。由于包含应用程序的.cab文件是常驻在客户机系统中的,所以从客户机系统中运行该应用程序。
流程图112中的方法然后前进到操作126,在那儿通过一个传输控制协议/网际协议(TCP/IP)端口传递参数,其中Java应用程序正在该端口处听取。在此,在操作116中选择的参数或者选项通过该端口被传递给应用程序。应当理解,一旦Java应用程序被启动和运行了,也运行web浏览器应用程序以通过TCP/IP端口传递参数给Java应用程序。例如,这里web浏览器是Internet ExplorerTM,ActiveX控件模块将通过Java应用程序正听取的端口传递参数。应当理解,虽然这个例子使用了Internet ExplorerTM和用于Internet ExplorerTM的ActiveX控件模块,但是本发明不局限于这个实施例。在这个操作中能够利用任何web浏览器和在该浏览器内的一个相关控件模块。在一个实施例中,web浏览器中的一个窗口被用于Java应用程序,然而,一旦全部参数都被传递给Java应用程序后,该Java应用程序被配置为作为一个独一无二的应用程序、即甚至是在web浏览器被关闭时也运行。在另一个实施例中,TCP/IP端口是一个具有一个IP地址的套接字。每个IP地址具有65,535个以上的可用端口,能够通过该端口发送数据或者从该端口接收数据。端口号能够是任何端口号,只要它是可用的。依据本发明的一个实施例,每当一个用户试图启动应用程序时,不管它是否是Java应用程序的第一次使用,由浏览器的控件模块执行参数到端口的传递。
继续流程图112,该方法继续操作128,在那儿应用程序现在准备好了由用户用所选择的参数执行。应当理解,使用TCP/IP端口以启动应用程序、在应用程序之间传递参数、和从一个HTML页传送参数,允许一个Java应用程序而不是一个Java小程序的执行。另外,当Java应用程序正由用户执行时,由于来自于档案库文件的文件、即.cab文件由Java应用程序使用而不是web浏览器中的程序库由该应用程序使用,所以通过档案库文件安装的、就图3A和3B讨论的本地程序库使Java应用程序的输出标准化。因此,一个厂家能够通过调节使用了哪些程序库和DLL,在Java应用程序的质量上行使更大的控制。类似地,使用操作系统中的Java虚拟机,而不是web浏览器的虚拟机,使Java应用程序跨平台的执行标准化了。
由于一个应用程序正通过一个控件模块、诸如一个ActiveX控件运行,所以控件模块被这样配置以使它能够被数字标志,借此允许用于该应用程序执行的一个安全操作环境。如上所述,ActiveX仅仅是用于WINDOWS Internet ExplorerTM的一个控件模块的一个例子。能够和其它操作系统与其它web浏览器一起使用其它控件模块。在一个实施例中,用户将通过一个对话框确认控件模块的安装。在另一个实施例中,为控件模块的安装使用公共密钥密码术,借此消除了每当它被下载到客户机时进行数字标志一个小程序的需要。
图4说明了一个流程图134,它表示依据本发明一个实施例的、一种用于启动和安装一个网络应用程序的方法,其中该应用程序被启动用以编辑一幅图像。流程图134以操作136开始,在那儿一个用户登录到一个服务器。在一个实施例中,图像被保持在服务器上。例如,一个厂家的网站提供对一个用于打印或者编辑图像的Java应用程序的访问。接下来,在操作138中选择一幅图像。例如,来自于厂家的网站的图像能够包含联合摄影专家组(JPEG)、图形交换格式(GIF)、位图BMP和窗口元文件(WMF)等。然后,在操作140中跟踪图像选择。在此,一个程序保存每当用户从服务器选择一幅图像时选择了什么图像的轨迹。在一个实施例中,该程序删除任何在本地保存的、连续一个预定次数都没有被选择的图像。在另一个实施例中,在本地保存的图像被给予一个时戳,并且在一个预定时间周期之后被删除。该方法继续操作142,在那儿启动该应用程序。该方法前进到操作144,在那儿下载所选择的图像。在一个实施例中,被下载用于编辑的图像与打印所需的图像相比具有一个较低的分辨度。
图4中的方法继续操作146,在那儿被编辑了的图像的布局信息被本地保存在用户的系统上。当用户登录到服务器上以再次开始该应用程序时,图像选择对用户来说是本地可用的。如果自用户上次访问以来任何本地可用的图像已经被更新了,则下载最新编辑的图像。如以上关于图1和2所述的那样,在一个实施例中,检查客户机的档案库文件以确定该图像是否是当前版本。应当理解,能够通过提供一个包含该应用程序代码的存储介质、诸如一张光盘给用户,使Java应用程序、即用于以上例子的图像收集对用户来说是本地可用的。然而,用户将仍然登录到服务器上以启动该应用程序,如结合图2中的操作126讨论的那样。每当应用程序被启动时登录到服务器的过程允许用户获取图像、常驻程序库文件、插件等的最新版本。
可以用其它计算机系统配置来实践上述发明,这些计算机系统配置包含掌上型设备、微处理器系统、基于微处理器的或者可编程的用户电子设备、微型计算机、大型计算机等。该发明还可以在分布计算环境中实践,其中在分布计算环境中任务是由通过一个通信网络链接的远程处理设备执行的。
参考上述实施例,应当明白本发明可以使用各种计算机实现的、涉及保存在计算机系统中的数据的操作。这些操作是那些要求物理量的物理操作。通常,但是不是必需的,这些量采取电的或者磁的、能够被存储、传送、组合、比较、以及另外被操作的信号的形式。此外,执行的操作常常是指诸如产生、标识、确定或者比较等措词。
在此描述的、形成本发明一部分的任何操作是有用的机器操作。本发明还涉及一种用于执行这些操作的设备或者装置。该装置可以是为所要求的目的特别构造的,或者它可以是一台有选择地由一段保存在该计算机中的计算机程序激活或者配置的通用计算机。特别地,可以和依据在此的示教编写的计算机程序一起使用各种通用的机器,或者构造一个更专用的装置以执行所要求的操作可能更方便。
本发明还可以被体现为在一个计算机可读介质上的计算机可读代码。计算机可读介质是任何能够存储尔后由一个计算机系统读取的数据的数据存储设备。计算机可读介质的例子包含硬盘、附着于网络的存储器(NAS)、只读存储器、随机存取存储器、CD-ROMs、CD-Rs、CD-RWs、磁带、及其它光学以及非光学的数据存储设备。计算机可读介质还可以分布在一个网络连接的计算机系统上,以便该计算机可读代码以一种分布式方式被存储和执行。
尽管为了清楚理解起见已经较详细地描述了上述发明,但是显然在附加权利要求的范围内可以实践某些变化和修改。因此,当前实施例将被认为是说明性的而不是限制性的,而且本发明不被限制在这里给出的细节中,但是可以在附加权利要求的范围和等效含义内进行修改。
权利要求
1.一种用于通过一个分布式网络安装和启动一个网络应用程序的方法,其中该应用程序被包含在一个服务器上,该方法包含通过网络访问服务器;选择应用程序的参数;确定应用程序的最新版本是否出现在一个客户机上;如果应用程序的最新版本没有出现在客户机上,则下载和安装一个包含该应用程序最新版本的档案库文件;启动该应用程序;以及传递参数到一个端口,该端口与应用程序进行通信,其中该应用程序被配置为访问档案库文件的本地程序库。
2.如权利要求1所述的方法,其特征在于传递参数到一个端口进一步包含配置该应用程序为听取该端口;以及经由该端口发送参数,该参数由一个控件模块发送。
3.如权利要求2所述的方法,其特征在于该端口是一个TCP/IP端口。
4.如权利要求1所述的方法,其特征在于该应用程序是一个Java应用程序,且该Java应用程序被配置为由客户机的一个操作系统中的一个Java虚拟机执行。
5.如权利要求1所述的方法,其特征在于档案库文件是一个.cab文件,且该.cab文件包含该应用程序和一个控件模块。
6.如权利要求5所述的方法,其特征在于该应用程序是一个Java应用程序,而且该.cab文件包含本地程序库,且该本地程序库被配置为跨平台标准化Java应用程序的一个输出。
7.如权利要求1所述的方法,其特征在于选择应用程序的参数进一步包含链接到一个HTML页,该HTML页包含一个包含有一个档案库文件的版本信息的对象。
8.如权利要求7所述的方法,其特征在于该对象包含一个web浏览器中的、其中显现该应用程序的一个窗口的宽度和高度。
9.一种用于在一个客户机上运行一个网络程序的方法,该网络程序通过一个web浏览器访问,该方法包含访问包含该网络程序的服务器;配置该应用程序的参数;链接到在服务器上的一个页面,该页包含一个服务器档案库文件的版本信息;确定一个客户机档案库文件是否出现在客户机上,该确定进一步包含检查该客户机档案库文件其是否存在以确定客户机档案库文件是否与服务器档案库文件版本相同;以及如果客户机档案库文件不存在,或是如果客户机档案库文件与服务器档案库文件版本不同,则下载服务器档案库文件到客户机;以及启动该程序。
10.如权利要求9所述的方法,其特征在于该网络程序是用于一个打印应用的基于Java的程序。
11.如权利要求9所述的方法,进一步包含传递参数到一个端口;执行该应用程序,该执行进一步包含访问本地程序库,该本地程序库由档案库文件安装。
12.如权利要求11所述的方法,其特征在于该端口是一个TCP/IP端口,而且该应用程序被配置为听取该TCP/IP端口,以便该应用程序能够接收传递到该端口的参数。
13.如权利要求9所述的方法,其特征在于该档案库文件是一个.cab文件,该.cab文件包含一个控件模块,且该控件模块被配置为传递参数到一个端口。
14.如权利要求13所述的方法,其特征在于控件模块进一步被配置为被数字标志。
15.一个用于通过一个网络安装和启动一个应用程序的系统,该系统包含一个服务器,该服务器包含一个被包含在一个服务器档案库文件中的应用程序,该应用程序包含多个选项,该服务器被配置为链接到一个包含该服务器档案库文件的版本信息的页面,且该服务器被进一步配置为允许一个用户选择该应用程序中的选项;一个web浏览器;以及一个客户机,该客户机通过web浏览器与服务器进行通信,且该客户机被服务器检查以确定一个客户机档案库文件是否存在,以及通过比较服务器档案库文件版本信息和客户机档案库文件的版本信息来确定该客户机档案库文件是否是当前的,其中如果客户机档案库文件不存在或是不是当前的话,则下载服务器档案库文件到客户机上,客户机档案库文件包含该应用程序,该应用程序进一步被配置为听取一个端口,从而使由一个用户选择的任何选项由一个控件模块通过该端口传输给该应用程序。
16.如权利要求15所述的系统,其特征在于客户机和服务器档案库文件是.cab文件,该.cab文件包含.INF文件,该.INF文件包含一个包含有该控件模块的启动器应用程序。
17.如权利要求15所述的系统,其特征在于该应用程序是一个包含打印功能的Java应用程序。
18.如权利要求17所述的系统,其特征在于该Java应用程序使用客户机的一个操作系统中的一个Java虚拟机。
19.如权利要求17所述的系统,其特征在于打印功能由本地程序库调节,该本地程序库被包含在客户机档案库文件中。
20.一种包含用于通过一个分布式网络安装和启动一个网络应用程序的程序指令的计算机可读介质,该应用程序被包含在一个服务器上,该计算机可读介质包含用于通过网络访问服务器的程序指令;用于选择应用程序的参数的程序指令;用于确定该应用程序的最新版本是否出现在一个客户机上的程序指令;用于如果该应用程序的最新版本没有出现在客户机上的话、则下载和安装一个包含该应用程序最新版本的档案库文件的程序指令;用于启动该应用程序的程序指令;以及用于传递参数到一个端口的程序指令,该端口与应用程序进行通信,其中该应用程序被配置为访问档案库文件中的本地程序库。
21.如权利要求20所述的计算机可读介质,其特征在于用于传递参数到一个端口的程序指令进一步包含用于配置该应用程序为听取该端口的程序指令;以及用于经由该端口发送参数的程序指令,该参数由一个控件模块发送。
22.如权利要求20所述的计算机可读介质,其特征在于该端口是一个TCP/IP端口。
23.如权利要求20所述的计算机可读介质,其特征在于该应用程序是一个Java应用程序,且该Java应用程序被配置为由客户机的一个操作系统中的一个Java虚拟机执行。
24.如权利要求20所述的计算机可读介质,其特征在于用于选择应用程序的参数的程序指令进一步包含用于链接到一个HTML页的程序指令,该HTML页包含一个包含有一个档案库文件的版本信息的对象。
全文摘要
提供了用于以一种其中应用程序被调节为以跨平台一致地运行的方式安装和启动网络应用程序的方法和系统。一种示例方法包含通过一个分布式网络安装和启动一个网络应用程序,其中该应用程序被包含在一个服务器上。该方法以通过网络访问服务器开始。然后,选择应用程序的参数。接下来,确定应用程序的最新版本是否出现在一个客户机上。然后,如果应用程序的最新版本没有出现在客户机上的话,则下载和安装一个包含有应用程序最新版本的档案库文件。接下来,启动该应用程序。然后,把参数传递给一个端口。该端口与应用程序进行通信,而且该应用程序被配置为访问该档案库文件的本地程序库。
文档编号G06F9/445GK1412669SQ0214721
公开日2003年4月23日 申请日期2002年10月18日 优先权日2001年10月18日
发明者李家欣, S·内尔森, T·胡夫米雷, S·米塞利, B·陈 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1