移动式计算设备远程程序安装系统及方法转让专利

申请号 : CN03144087.8

文献号 : CN1525318B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 威廉·M·德洛斯特德波拉·B·林可维奇史晓斌

申请人 : 鸿富锦精密工业(深圳)有限公司鸿海精密工业股份有限公司

摘要 :

一种移动式计算设备远程程序安装系统及方法,其可下载及安装远程服务器中的软件程序。该系统包括多个移动计算设备、一服务器,以及把这些设备连接在一起的通讯信道与网络。该方法包括以下步骤:(a)指令产生模块生成软件程序下载指令;(b)下载执行模块根据软件程序下载指令生成数据下载请求,并从服务器下载软件程序;(c)代码校验模块检查所下载软件程序的安全性;(d)软件安装模块安装所下载的软件程序,并更新软件注册表中软件程序安装信息。利用本发明,可使得移动计算设备方便的安装、使用各种应用软件,扩展了其应用范围,使移动计算设备的应用不再受自身硬件资源的限制。

权利要求 :

1.一种移动式计算设备远程程序安装系统,其可下载及安装远程服务器中的软件程序,该系统包括多个移动计算设备、一服务器以及把这些设备连接在一起的通讯信道与网络,其特征在于,其中:服务器用于存储移动计算设备所需安装的软件程序;

移动计算设备包括:

一指令产生模块,用于根据软件注册表记录的软件程序摘要信息查询该移动计算设备是否已安装所需软件程序及已安装软件程序版本是否为最新,若移动计算设备未安装或软件程序非最新,则生成软件程序下载指令;

一下载执行模块,用于根据软件程序下载指令生成数据下载请求,以从服务器下载所需安装的软件程序;

一代码校验模块,用于检查所下载软件程序的安全性;

一软件安装模块,用于启动从服务器下载的软件安装程序,并控制软件程序安装的过程。

2.如权利要求1所述的移动式计算设备远程程序安装系统,其特征在于,其中移动计算设备还包括一高速缓存管理器,用于管理移动计算设备中临时数据的存储。

3.如权利要求1所述的移动式计算设备远程程序安装系统,其特征在于,其中移动计算设备还包括一用户操作模块,用于接收用户操作命令及向用户展示移动计算设备的操作结果。

4.如权利要求1所述的移动式计算设备远程程序安装系统,其特征在于,其中移动计算设备为个人数字助理(PDA)、膝上型计算机及智能型手机的一种。

5.如权利要求1所述的移动式计算设备远程程序安装系统,其特征在于,其中服务器包括一数据库,用于记录移动计算设备所需安装软件程序的摘要信息,其中摘要信息包括软件程序的版本信息及更新时间信息。

6.一种移动式计算设备远程程序安装方法,其可下载及安装远程服务器中的软件程序,其特征在于,该方法包括以下步骤:依据软件注册表记录的软件程序摘要信息判断移动计算设备是否已安装用户所需安装的软件程序,若已安装则进一步判断已安装软件程序的版本是否为最新;

若移动计算设备未安装或软件程序非最新,则生成软件程序下载指令;

根据指令产生模块生成的软件程序下载指令生成对应的数据下载请求,从服务器下载所需安装的软件程序;

检查所下载软件程序的安全性;

安装所下载的软件程序,并更新软件注册表中的软件程序安装信息。

7.如权利要求6所述的移动式计算设备远程程序安装方法,其特征在于,其中步骤判断移动计算设备是否已安装用户所需安装的软件程序包括以下步骤:接收用户的软件程序安装命令;

读取软件注册表中的软件安装摘要信息,并判断用户所需安装的软件程序是否已安装;

若软件程序已安装,则根据服务器的数据库中的软件程序摘要信息判断已安装软件程序版本是否为最新。

8.如权利要求6所述的移动式计算设备远程程序安装方法,其特征在于,其中软件程序安全性检查包括检查软件程序是否含有计算机病毒及检查代码是否缺损的步骤。

说明书 :

【技术领域】

本发明涉及一种计算机软件程序安装系统及方法,特别涉及一种无线终端设备经由计算机网络自动下载并安装存储于服务器上的软件程序的系统及方法。

【背景技术】

随着个人随身通讯、企业网络建构和沟通运作都朝着更信息化和更有效方向变革,很多公司已经开始利用各式移动装置来协助开展商务活动。包括个人数字助理在内的各种移动计算设备,具有小巧便携,可及时更新数据的特点,并能以有线或无线方式连接到公司的内部网络与服务器,进行数据的存取。商务人士可利用移动计算设备随时随地查询联络人信息、会议行程或传送电子邮件,从而以最快方式掌握任何最新信息。在商务活动中使用移动计算设备,能为客户、员工和供货商提供有价值的信息和更直观、更快速的现场交易的能力,从而为企业提供新的商机,为整个客户供应链活动增加价值,并能有效地提高公司业绩和客户服务品质。例如,业务及行销专业人员可透过移动计算设备及时获取产品和客户的相关信息,灵活地调整销售策略,从而提高效率,促使企业达到更高的营收。目前,移动商务已应用于金融、物流、仓储和零售等行业。

当然,新的无线技术具有其自身的问题,例如,受限于自身的尺寸,很多移动计算设备只提供很小的区域用于操作及提供很小的存储空间和内存给数据和应用软件。这些问题意味着,在移动计算设备上运行的软件程序有限,且安装繁琐。

数据同步技术使得移动计算设备可以方便的与一第二计算设备(如一服务器)进行数据交换,从而避免了直接从移动计算设备输入数据。如2001年12月11日公告的专利号为US6,330,618的美国专利,“便携式计算机与桌上型计算机同步的设备及方法”(Method and Apparatus for Synchronizing APortable Computer System with A Desktop Computer System)。该发明在移动计算机及个人计算机端分别运行一同步程序,并经由网络或通讯电缆在移动计算机与个人计算机间建立一通讯连接,从而实现移动计算机与个人计算机的数据同步。然而,该发明仅提供少量结构化数据的同步,仍无法解决移动计算设备对相对较大且为非结构化的应用程序的同步及安装的问题。

故需提供一使用无线通讯技术实现的远程程序安装系统及方法,其可使得移动计算设备方便的安装、使用各种应用软件,并可对下载的程序软件进行安全性检查。

【发明内容】

本发明针对移动计算设备应用程序安装繁琐问题,提供一种移动式计算设备远程程序安装系统及方法,其可使移动计算设备经由无线网络自动下载并安装位于服务器上的计算机软件程序,此外还可对下载的程序软件进行安全性检查。

为达成上述目的,本发明提供有一种移动计算设备远程程序安装系统,其可下载及安装远程服务器中的软件程序,该系统包括多个移动计算设备、一服务器以及把这些设备连接在一起的通讯信道与网络.服务器用于存储移动计算设备所需安装的软件程序.移动计算设备包括:一指令产生模块,用于根据软件注册表记录的软件程序摘要信息查询该移动计算设备是否已安装所需软件程序及已安装软件程序的版本是否为最新,若移动计算设备未安装或软件程序非最新,则生成软件程序下载指令;一下载执行模块,用于根据软件程序下载指令生成数据下载请求,以从服务器下载所需安装的软件程序;一代码校验模块,用于检查所下载软件程序的安全性;一软件安装模块,用于启动从服务器下载的软件安装程序,并控制软件程序安装的过程.

本发明还提供一种移动计算设备远程程序安装方法,该方法包括以下步骤:(a)根据软件注册表记录的软件程序摘要信息判断移动计算设备是否已安装用户所需安装的软件程序,若已安装则进一步判断已安装软件程序的版本是否为最新;(b)若移动计算设备未安装或软件程序非最新,则生成软件程序下载指令;(c)根据指令产生模块生成的软件程序下载指令生成对应的数据下载请求,从服务器下载所需安装的软件程序;(d)检查所下载软件程序代码的安全性;(e)安装所下载的软件程序,并更新软件注册表中软件程序安装信息。

利用上述系统及方法,可使得移动计算设备方便的安装、使用各种应用软件,扩展了其应用范围,使移动计算设备的应用不再受自身硬件资源的限制,此外还可对下载的程序软件进行安全性检查。

【附图说明】

图1是本发明一无线通讯实施例的硬件结构图。

图2是本发明的无线应用程序的示例架构方块图。

图3是本发明的PDA组件方块图。

图4是本发明的服务器组件方块图。

图5是本发明的远程程序安装流程图。

图6是本发明的程序下载及安装流程图。

【具体实施方式】

如图1所示,是本发明一无线通讯实施例的硬件结构图。该系统采用客户端/服务器架构:客户端,包括分散的前端工作站101及107;服务器端,包括一系列的服务器103。以上所述各设备经由通讯信道113及局域网(Local Area Network,LAN)117相连,从而实现各设备的协同工作。

在本发明中,前端工作站主要采用移动式计算设备,该移动式计算设备具体可以是个人数字助理(Personal Digital Assistant,PDA)、膝上型计算机(Laptop Computer)或者是智能型手机(Smart Phone)等。在本发明后述实施例中,以个人数字助理101(下文简称为PDA101)来描述本发明。该PDA101一般由不同终端用户手持,以进行相关操作。服务器103包含了系统中核心的和易变的企业逻辑(规划、运作方法、管理模式等),它的功能是接收PDA101的输入,处理并返回结果。该服务器103可以包括用于存储企业数据,及管理数据读写和维护的数据库,或是与数据库相连接(在图1中未画出),视具体情况而定。

通讯塔105经由通讯信道113与PDA101及服务器103进行通讯,传送PDA101的数据复制请求讯息及服务器103的请求回复讯息.图1所示的为PDA101利用一调制解调器(图中未画出)与通讯塔以无线方式进行通讯.通讯塔105通过专用或公用的通讯信道113与服务器103相连.当然,对于熟知此项技艺人士来说,通讯信道113可以是有线信道,也可以是无线信道.局域网117与客户端107相连,其可为服务器103及客户端107提供访问互联网111的通道.PDA101也可经由局域网117、服务器103以及通讯信道113访问互联网111.

上述信息系统仅为本发明一实施例,由该系统所衍生出的其它一些系统,甚至是不同类型的系统,也可以采用本发明的方法。对于熟知此项技艺人士来说,所揭露的方法可以方便地在任何通讯系统或其它类型存在着频宽和/或设备存储器问题的系统内展开具有一定优势。本发明非仅限于采用无线通讯连接的系统,虽然在该领域本发明的便利性最容易体现出来。

图2是本发明无线应用程序的示例架构方块图。该应用链接库在PDA101以及服务器103上运行,并采用了本发明所揭示的技术。无线应用架构201包括有一无线数据复制器207以及一移动交换器209,以向PDA101提供无线应用程序服务。该无线应用架构201基于标准建构,并可容易地成为设备操作系统或独立的数据库。

移动交换器209为PDA101提供一实时的访问企业服务器103的通路。在本实施例中,移动交换器209基于可扩展标示语言(Extensible MarkupLanguage,XML)和超文件传输协议(Hypertext Transfer Protocol,HTTP)。XML使设计者可以定义、传送、验证以及解释应用程序间和组织间的数据;HTTP是互联网所运用的根本协议,其定义了讯息采用何种格式化及如何传送,以及网络服务器或浏览器应该采用什么动作以响应一特定需求。XML和HTTP均使用了一种流行的方式-远程程序呼叫(RemoteProcedure Call,RPC),以通过网络在不同计算机中的单独程序之间实现进程间通讯(Inter-process Communication,IPC)。当然,RPC和IPC也可以在单独的计算机设备上被执行。所揭露的无线应用架构201提供简捷有效的环境,以发展在无线结构中运行的主从式应用程序。

无线应用架构201的客户端提供如下用于关系型客户应用程序功能:

(1)生成远程程序呼叫内容(方法名称和参数);

(2)形成XML讯息;

(3)利用HTTP协议将该XML讯息传送至服务器;以及

(4)接收并解释来自于服务器的相应的响应。

无线应用架构201的服务器端提供如下用于关系型客户应用程序功能:

(1)接收并解释一客户端的请求讯息,尤其是利用上述客户端所产生、形成以及传送的请求讯息;

(2)根据客户端请求讯息所请求的特定RPC,搜索一适合的程序;

(3)调用该合适的程序;

(4)将该合适的响应发回至客户端。

无线数据复制器207处理并管理无线设备中的数据,它使用户能够在无线设备中选择用户所需要的特定讯息,并且仅复制所选择的讯息,通过该方法以节省传输媒介中的频宽和PDA101中的存储器资源。

无线数据复制器207和移动交换器209提供有一平台,专用应用程序可以建构于其上.在本实施例中,专用应用程序包括有移动式商业应用程序210、移动式医院应用程序220、移动式物流应用程序230以及移动式金融应用程序240.该专用应用程序210、220、230和240都仅仅是作为例子.实际上,本发明所揭露的方法可以用来实现任何应用程序,这些应用程序可以通过移动式访问中心应用程序来获得帮助.应用程序210、220、230和240都是本系统应用程序组件203之一.任何一个应用程序210、220、230和240都包括有应用程序产品205.

图3是本发明的PDA101组件方块图。该PDA101包括一用户操作模块301、一高速缓存管理器303、一指令产生模块305、一本地存储器307、一代码校验模块309、一软件安装模块311及一下载执行模块315。用户操作模块301、指令产生模块305、本地存储器307、代码校验模块309、软件安装模块311及下载执行模块315皆与高速缓存管理器303相连,以实现各模块间协同作业。

用户操作模块301用于接收用户输入的控制命令,并可将系统的操作结果显示给用户,其包括一图形用户界面(Graphical User Interface,GUI)。高速缓存管理器303(Cache Manager)用于依照LRU(Least Recently Used)逻辑提供高速缓存数据给所有的需缓存的数据,其可缓存接收至PDA101及PDA101内部运算过程中产生的临时数据。本地存储区307用于存储用户数据及PDA101端运行的程序,其包括一软件注册表313。软件注册表313记录了PDA101端已安装的所有软件程序及软件程序的摘要信息,包括该软件程序的安装时间、版本。指令产生模块305可根据软件注册表313记录的软件程序摘要信息,判断PDA101的本地存储器307中是否已安装有用户所需安装的软件程序,以及所安装的软件程序是否为最新版本。指令产生模块305还可依据判断结果生成软件程序下载指令,并将该软件下载指令发送至下载执行模块315。下载执行模块315可根据指令产生模块305的软件程序下载指令生成特定程序代码的下载指令,使用统一资源定位(Uniform Resource Locator,URL)或网络主机名称下载特定的应用程序安装软件。代码校验模块309用于校验下载执行模块315所下载程序代码的安全性,包括校验程序代码是否包含计算机病毒及错误代码。软件安装模块311用于启动由下载执行模块315下载且存储于高速缓存管理器303中的软件安装程序,并控制程序的安装过程。

图4是本发明的服务器103组件方块图。该服务器103包括一通讯管理模块401,一身份验证模块403,一数据库405及一程序存储装置407。通讯管理模块401通过数据库405与程序存储装置407相连。

通讯管理模块401使服务器103和PDA101之间保持基于传输控制协议(Transfer Control Protocol,TCP)的连接。在服务器103端,通讯管理模块401接收PDA101处的字符串流形式的远程程序呼叫,并解析该远程程序呼叫字符串流,将字符串流参数转换成数据结构,然后调用与转换后的数据结构相匹配的本地程序。由远程程序呼叫所生成的结果被存储于数据结构的输出参数中。身份验证模块423与数据库405相连,可根据数据库405中的用户信息,验证需使用该服务器103中数据的用户的身份。程序存储装置407存储了多个供PDA101下载的程序包(Packet)1、2、3等,每一程序包是一可运行的程序集合。

图5是本发明的远程程序安装流程图。首先,PDA101的用户操作模块301接收用户的程序安装命令(步骤S501)。用户可在GUI中使用浏览器(Browser)及URL指定需安装程序的名称及路径,亦可用服务器的IP(Internet Protocol)地址及端口号(port number)来指定需安装程序的名称及路径.指令产生模块305搜索本地存储器307的软件注册表313,并根据软件注册表313中软件程序摘要信息判断用户需安装的程序是否已安装至PDA101(步骤S503).

若程序未安装,则指令产生模块305生成并发送一程序下载命令至下载执行模块315,软件安装模块311将下载的软件安装至本地存储器307,同时更新软件注册表313(步骤S505)。若程序已安装,则指令产生模块305进一步读取已安装程序的版本及安装时间信息,同时经由下载执行模块315读取服务器103中的数据库,比较对应程序的版本信息(步骤S507)。若已安装程序为最新版本,则PDA101无需下载及安装程序,指令产生模块305经由用户操作模块301提示用户所需安装的程序已安装。若已安装程序并非最新版本,则执行步骤S505。

图6是本发明的程序下载及安装流程图。首先,下载执行模块315根据指令产生模块305生成的程序下载指令,生成程序下载指令,并发送该请求至服务器103(步骤S601)。服务器103的通讯管理模块401接收到程序下载请求后,身份验证模块403生成身份验证信息,并将该信息发送回PDA101。接收到用户的身份信息后,身份验证模块403根据数据库405中的用户信息,判断当前用户是否合法(步骤S603)。

若用户不合法,则发送一错误讯息至PDA101,并通过用户操作模块301的GUI提示用户(步骤S607)。若用户通过身份验证,则通讯管理模块401、下载执行模块315协同工作,将服务器103的程序存储装置407中的指定程序代码传送至PDA101中,并存储于PDA101的缓存中(步骤S609)。

程序下载完毕,代码校验模块309检验所下载程序代码的安全性(步骤S611),并判断程序代码中是否包含计算机病毒,或程序代码中是否包含错误代码等(步骤S613)。若程序通过验证,则软件安装模块311启动已下载的程序,将该软件程序安装至PDA101的本地存储器307中,并将该安装信息添加至软件注册表313中,同时删除缓存中已安装的软件程序包(步骤S615)。否则,返回步骤S607。