基于服务器的手持应用和数据库管理的方法和设备的制作方法

文档序号:7583518阅读:131来源:国知局
专利名称:基于服务器的手持应用和数据库管理的方法和设备的制作方法
技术领域
本发明通常涉及电子设备之间应用程序和数据库的分配的管理,更具体来说,涉及从一台计算机往许多间断地被连接的手持设备有选择地分配应用程序和数据库的一个新颖的管理系统。
随着半导体、存储器和显示器技术的迅速进步,手持设备或移动设备已变得日益普及。手持设备,如掌中导向器,窗口CE,Zaurus,Psion,智能电话或智能寻呼机已变得非常通用。手持设备可以被用作提供诸如电子邮件、通讯录、日历功能的个人数字助手。因特网(Internet)上的免费软件,例如游戏软件可以被下载到手持设备供闲暇时使用。与应用程序和数据库有关的工作可以被安装,以便改进生产率。
在一个单位的设置中,例如一个公司,管理手持设备的一个重要问题是被安装在手持设备中的应用程序的分配控制。例如,公司可以为手持设备开发几套不同的自动工作程序用户帐号管理程序,供销售部门使用;机器操作程序,供工厂使用;以及库存控制程序,供仓库使用。
可能有价值的做法是,销售部门的设备仅接收帐号管理应用程序,工厂的设备仅接收机器操作应用程序,而仓库的设备仅接收库存控制应用程序。根据雇员的任务,属于不同雇员的设备接收与雇员的各自任务相配的不同的应用程序组,这可能也是有用的。例如,经理的设备可以获得一个雇员考评工具,而雇员的设备不分配有这一工具。此外,一个单位可以提供额外的应用程序组,例如实用程序软件、游戏软件和其它信息数据库。凭用户的处置,这些应用程序的一个子集可以被选择供下载到每个手持设备。
手持设备通过一般在该设备和一台PC机之间实现的同步进程来安装应用程序。首先,应用程序必须是PC机可存取的,该PC机经由其串行口被连接到目标手持设备。PC机的软件可以被执行以便把目标应用程序加载到同步管理程序软件可存取的“安装”目录内。同步进程通过按一个手持设备按钮,例如在掌中导向器中使用的HotSync按钮来初始化。该按钮一经被按下之后,在PC机中的同步管理程序软件,例如掌中导向器使用的HotSync管理器,立即接管同步进程,在同步进程期间,被加载到“安装”目录中的应用程序被下载并被安装到手持设备。
这个软件分配进程是一台PC机和一个手持设备之间同步软件的一个独立使用的系统,它不具备集中软件分配管理功能。为了在许多手持设备之间分配一个应用程序,该应用程序必须首先被复制到所有目标手持设备所有者的PCS。随后,按每个所有者的意愿,安排同步进程以便把来自PC机的这个应用程序安装到手持设备。因此,确定哪个手持设备有被安装的目标应用程序,这是徒劳之举。
在一个单位内分配手持应用程序的另一个方法是有一个集中服务器,它管理一个用户库、一个手持设备库和一个应用程序库。为了安装一个应用程序,一个手持设备必须首先连接到网络,并进行直接到集中服务器这样一个请求。鉴别手持设备和它的用户,根据用户配置文件,设备用途和预配置访问控制方针授权应用程序安装请求,这正是服务器的职责。如果应用程序安装请求被授权,则服务器下载目标应用程序到该设备。
集中服务器可以更新手持设备的应用程序状态,例如,在这个设备中已安装了什么应用程序?更新与由集中服务器管理的目标应用程序有关的手持设备状态,例如,什么设备已下载了这个应用程序?以及把这个下载活动记录到服务器事件记录中。由服务器记录的事件记录和应用程序状态可以在管理软件分配中提供重要信息。
传统的客户-服务器模型假设无论是客户或是服务器都存在一个永久的网络连接。因此,客户请求和由服务器执行的相应服务是十分交互作用的。每当一个客户决定检验由服务器管理的可获得的应用程序时,该客户可以连接到服务器,检索可获得的应用程序的一个更新列表,选择所希望的应用程序,其时该客户仍连接到该服务器,并开始从服务器下载所选定的应用程序。客户不必保留应用程序列表和这些应用程序的状态。客户可获得的应用程序列表可以被检索,而在客户设备上每个应用程序的状态在客户和服务器之间交互式实时查询交换期间被确定。
然而,传统的客户-服务器模型的缺点是手持设备的网络连接不是永久的。仅仅偶而把手持设备连接到网络,一般通过一低带宽媒体例如一个调制解调器或一个串行电缆连接,持续一短的时间。对每个手持客户保持从服务器可获得的一个应用程序列表,这可能是一个优点。
保持一个应用程序列表可以用下列方法来实现。一个手持设备的用户可以运行根据应用程序列表执行应用程序选择的软件,其时该设备不连接到网络。因此,当该客户被连接到服务器时不会出现花费时间的交互应用程序选择进程。
另一方面,在该设备被断开连接时,它可以研究和记录在应用程序列表中的每个应用程序的状态。这样一来,当该客户被连接到服务器时,有关应用程序状态的全部信息已可获得。服务器不必为每个应用程序的状态交互地查询客户,因而进一步改进当客户仍连接时带宽和时间利用的效率。
许多手持设备具有同步功能的内部支持,其比较分别来自该设备和一个同步主机的具有相同ID的两个记录,根据应用程序相关法则集确定来自一侧的记录是否压倒来自另一侧的记录,或者是否发生其它动作,例如把两个记录都复制到具有新ID的其它侧。
由服务器对来自客户的应用程序列表的检索可以直接使用由这些手持设备所提供的同步功能。
依照上述的需求,本发明的目标是基于服务器的手持应用程序管理系统的一种方法和设备。在这个系统中,服务器管理一个用户库、一个手持设备库、一个手持应用程序库以及一套访问控制方针,访问控制方针决定由哪个用户拥有的哪个手持设备被授权下载应用程序的一个子集。
在本发明中,客户是手持设备,其仅偶而被连接到服务器,以分配应用程序。当它们被连接时,一般来说连接持续一短的时间周期,并通过一低带宽媒体例如调制解调器或串行线。客户请求应用程序下载和服务器服务这个请求的进程必须在所请求客户仍连接到网络的期间被实现。
按照本发明,一个应用程序列表结构被提供,以记录由服务器管理的一个客户可获得的全部应用程序的状态。一个应用程序的状态可以指示这个应用程序是否被安装在一个客户中以及它是否被选择以便下次这个客户连接到服务器时被安装到这个客户。
当一个客户连接到服务器时,一种方法被提供服务器从这个客户检索应用程序列表并根据在该列表中每个应用程序的状态以及最新的访问控制方针,下载在该列表中应用程序的一个子集到该客户,以及根据最新的访问控制方针更新在该客户中的应用程序列表。
因此,通过允许用户选择下次这个客户与服务器同步时被下载的应用程序以及通过允许用户删除在这个客户中所安装的应用程序,客户更新它的应用程序列表。这个动作可以在任何时候被执行,不管该客户是否是或不是被连接到网络。
通过参照下面一个优选实施例的详细描述,结合所附插图,本发明的上述目标和优点可以更易于被本专业技术人员所理解。在附图中相同的部件用贯穿几张图的相同参考号码标示。这些


如下图1是本发明的基于服务器的手持应用程序管理系统的一个图;图2是本发明的一个手持特性的图;图3是本发明的一个应用程序列表结构的示例;图4是本发明的一个服务器特性的一个体系结构的图;图5是本发明的应用程序列表管理程序进程的流程图;图6是本发明的服务器逻辑的流程图;图7是本发明的应用程序分配管理程序进程的流程图。
图1示出本发明的基于服务器的手持应用程序管理系统的整体网络体系结构的一个例子。一个客户101、102,其是一个手持设备,和一个服务器107,其可能是一台PC机、一个工作站、一个大型主机或任何其它类型的能存储和更新信息的设备,经由连接103、104和106被连接到网络105。虽然服务器107可能连接或可能不连接到网络105,但多数时间客户101、102更可能从网络105上被断开连接。然而,在它们的应用程序下载请求由服务器服务时,客户101、102必须保持连接到网络105。
客户请求应用程序下载和服务器服务这个请求的进程在该请求客户仍连接到网络时被实现。通过经由一个调制解调器拨号到一个网络远程访问服务器,一个手持设备可以获得至一个网络如因特网或一个局域网的连接,或者通过具有一个直接串行口连接如掌中导向器托架,至连接中介计算机的网络。在前一种情况中,客户直接与服务器同步;在后一种情况中,客户通过中介计算机与服务器同步,中介计算机传递在客户和服务器之间来回传送的信息。
图2示出能够根据本发明的方法能实现应用程序列表更新的手持设备的整体体系结构的一个例子。它包括一个CPU201、主存储器204如易失RAM,和存储存储器202如非易失RAM、ROM或磁盘。通常,主存储器204存储被执行的程序,存储存储器202存储系统,例如操作系统,当前不执行的应用程序以及数据,如通讯录的内容或便笺本应用程序。对有些手持设备,主存储器204和存储存储器202之间的差别可能不存在。那些设备设有任何磁盘,在RAM和ROM中存储全部信息,并从存储程序的地方直接执行程序。
在本发明中,一个应用程序列表结构203被存储在存储存储器202中。更新和管理这个应用程序列表203的逻辑或可执行程序代码是应用程序列表管理程序205。同步客户是当一个手持设备开始与一同步主机同步时所使用的客户功能。在本发明中,同步主机可能是服务器PC、工作站、大型计算机等。
许多手持设备对同步客户有内部支持,如在掌中导向器中的HotSync管理器客户。同步客户的主要任务包括从同步主机接收同步API请求,例如读、写、更新或插入一个记录;执行在该设备内的相应系统功能;从同步主机接收一个应用程序;将其安装在手持设备上。本发明使用同步客户,以便从客户到服务器同步该应用列表,并从服务器往客户安装应用程序。
图3示出一个应用程序列表301的结构。在列表中的每个项包含两组信息,应用程序识别信息302、304、306和应用程序状态信息303、305、307。应用程序识别信息被用于识别应用程序。应用程序识别信息可以包括应用程序的ID,名称、版本、图标等。应用程序状态信息被用于记录它的最新状态。应用程序状态信息可以包括一个指示这个应用程序是否被安装在主机手持设备中的标志,一个指示这个应用程序是否被用户选择在下次主机手持设备连接到服务器的时候从该服务器被分配的标志,等等。
图4示出本发明的一个服务器PC、工作站、大型计算机等的体系结构,其包括一个CPU401、主存储器402如RAM、和存储存储器403。主存储器402存储本发明的服务器逻辑409,其最好实施为可以从存储设备403加载到主存储器402的计算机可执行代码。存储设备403存储用户库404、应用程序库405、设备库406、访问控制列表407以及记录408,访问控制列表管理哪个用户和哪个设备可以被允许哪个应用程序,记录408是记录计算机活动的。
用户库404、应用程序库405和设备库406可以实施为在各种数据管理系统,如可提供每类信息和它的属性的存储的Lotus记录中的关系数据库或其它类型的数据结构中的一个表。这样的信息管理系统最好应提供检索和搜索功能。
此外,为了满足上面提到的应用程序管理功能,即监视什么应用程序已被安装在哪个设备中,本发明的服务器的一个优选实施例可以存储和管理在设备库中每个设备的一个应用程序列表,其反映在相应设备中的客户应用程序列表。访问控制列表407是将每个应用程序与用户的列表和被授权下载这个应用程序的设备的列表联系起来的一种方式。访问控制列表的其他实施,有时称为权能列表将每个用户或设备与被授权下载给这个用户或设备的一个应用程序列表联系起来。
图5示出在客户设备中应用程序列表管理程序205(图2)的逻辑流程图,其被用于修改应用程序列表506。应用程序管理程序在步骤501被开始之后,从服务器下载可获得的应用程序列表506在步骤502被显示。在步骤503中,用户选择应用程序,以便删除或者下载。如果应用程序被选择为删除,在步骤504,它被从客户设备删除,如果该应用程序被安装在那里的话。如果应用程序被选择为下载,则在下次客户与服务器同步时下载的一个请求在步骤505被发布。在步骤506,全部应用程序的状态被相应地更新,并被记录在应用程序列表506,在这之后,程序控制返回到步骤502。
图6示出在服务应用程序分配或下载505(图5)的一个客户请求中由本发明的服务器执行的服务器409(图4)的逻辑流程图。在步骤601,服务器等待和接受一个客户请求。如果一个客户请求被接受,表明该客户已成功地连接到服务器,则在步骤602,服务器鉴别客户。服务器可以采用诸如加密口令方案或共享秘密公共密钥方案等技术来鉴别客户。
当客户被鉴别时,在步骤603中,服务器确定客户设备是否有一个应用程序列表。如果客户有一个应用程序列表,则在步骤605,服务器检索它。反之,如果应用程序列表在客户设备上不存在,则在步骤604,服务器创建应用程序的一个应用程序列表,该应用程序根据用户ID、客户的设备ID和访问控制列表607被授权分配到一个特定用户和到一个特定设备。
在两种状态中,处理在步骤606中继续进行,应用程序分配管理人程序进程在步骤606开始。应用程序分配管理人程序进程a.比较客户应用程序列表和访问控制列表607;b.对客户应用程序列表、记录以及与在服务器中客户设备有关的应用程序列表实行适当的更新;以及c.根据访问控制列表607和管理方针,可以下载到客户设备,1.由客户选择的一组应用程序;2.客户设备设有的一组缺省应用程序,3.客户所拥有的应用程序的较新版本的一组应用程序。
在应用程序分配管理程序完成它的任务之后,在步骤609,服务器发送被更新的客户应用程序列表返回到客户,以替换原有的版本,或者如果客户设备不具有一个应用程序列表的话发送一个新的应用程序列表。连接在步骤608被终止,控制传递到步骤601,在那里服务器等待下一个客户请求。
上面所述的服务器可以采用多线索方案实现。每当服务器接受一个客户请求时,服务器产生(spawns off)一个线索以处理这个请求,而原来的处理线索继续等待其它的客户请求。当最新产生的线索的处理结束时,服务器直接终止这个线索。在不支持多线索的操作系统,如在有些基于UNIX的系统中,每个独立线索可以用一个单独的进程来替代。
图7示出应用程序分配管理程序606(图6)的一个实施例。在步骤701,一个来自客户应用程序列表的记录被读出。在步骤702,进行一个判定,是否更多的记录仍然在该应用程序列表中。
如果没有更多的记录继续被读出,则服务器使用访问控制列表在步骤703判定是否有新的应用程序被添加到这个客户的应用程序列表中。如果没有新的应用程序被添加,则应用程序分配管理程序进程在步骤710被终止。然而,如果有新的应用程序被添加,则服务器在步骤709添加这些新的应用程序到客户应用程序列表,然后应用程序分配管理程序进程在步骤710被终止。
在图7所示的应用程序分配管理程序的实施例中,进程根据访问控制列表607(图6)在步骤709将新的应用程序添加到应用程序列表。另一个实施例可能检验在被更新的应用程序列表中的每个新添加的应用程序,并下载属于这个客户的一组缺省应用程序的应用程序。
服务器可以编程以保持一份当每个客户最后提出应用程序分配请求和当访问控制列表被最后改变时的时间列表。如果访问控制列表自这个客户的最后请求以来没有被改变过,则判定步骤703和一个可能步骤709可以被跳过,应用程序分配管理程序进程将在步骤710被终止。
如果有更多被读出的记录,则对从客户应用程序列表读出的每个记录,服务器在步骤704采用访问控制列表判定在这个记录中的应用程序是否仍被授权下载到客户用户和设备。之所以如此做是因为访问控制方针可能经常改变以及对这个客户所授权的应用程序可能失去授权并可能必须从客户应用程序列表中被取出。
因此,如果当前记录的应用程序已成为被这个客户解除授权,那么服务器则在步骤705从客户应用程序列表中删除这个应用程序,并在步骤701将返回到读取下一个记录。
服务器可以编程以保持一份当每个客户最后提出应用程序分配请求和当访问控制列表被最后改变时的时间列表。如果访问控制列表自这个客户的最后请求以来没有被改变过,则步骤704可以被跳过,服务器进程从步骤702直接到步骤706。
如果在从应用程序列表读出的当前记录中的应用程序仍被授权,则服务器在步骤706继续处理,在那里它判定在客户应用程序列表中这个应用程序的状态是否被标记为“下载”、“删除”或“没有改变”。
状态“下载”、“删除”和“没有改变”的判定可以被建立在新的访问控制列表607(图6)或管理方针的基础上。例如,一个服务器可以下载一个应用程序到一个客户设备,如果这个应用程序在由早已没有它的这个客户所要求的一组缺省应用程序中被找到的话,或者这个应用程序是在客户设备中存在的较老的应用程序的一个新版本,或者它被客户选择供访问控制列表607(图6)所允许的下载。
如果状态被标记为“没有改变”,对这个应用程序不需要再做什么事,因此进程在步骤701上将继续,在那里下一个记录被读取。
如果状态在步骤707被标记为“下载”,则这个应用程序或是a.从服务器被下载到客户设备,或是b.标记这个应用程序为以后被下载,在客户应用程序列表中全部记录被读取以及全部应用程序被标记为下载之后,服务器可以在断开连接之前下载全部被标记的应用程序到客户设备。
在步骤708,与这个客户设备有关的应用程序列表的服务器版本和记录被更新以反映当前状态,进程在步骤701继续,在那里下一个记录被读取。
如果状态被标记为“删除”,则这个应用程序从客户设备中被删除。在步骤708,与这个客户设备有关的应用程序列表的服务器版本和记录被更新以反映当前状态,进程在步骤701继续,在那里下一个记录被读取。
尽管本发明已被具体地对于例证性的和优选的实施例作了展示和描述,但本专业技术人员将明白,在不偏离由附加的权利要求的范围所限定的本发明的精神和范围的情况下,在形式和细节方面上述的和其它变动是可以被进行的。
权利要求
1.一个用于从至少一个服务器实体到至少一个客户实体分配应用程序和数据库的方法,所说的客户实体特征为被间断地连接到所说的服务器实体,所说的方法包括下列步骤a.通过改变在所说的应用程序列表中所说的应用程序和数据库的各自的状态以表示所说的被选择的应用程序是被下载和删除,来选择在一个应用程序列表中的所说的应用程序和数据库;b.当所说的客户实体到所说的服务器实体的一个连接被建立时,从所说的客户实体到所说的服务器实体传送所说的应用程序列表,所说的应用程序列表包括所说的客户实体的所说的应用程序和数据库的状态信息;c.提供在所说的服务器实体上的一个访问控制列表;以更新和保持所说的客户实体的所说的应用程序和数据库的结合;和d.检验所说的应用程序列表和所说的访问控制列表,以判定哪个应用程序既被所说的客户实体所选择又被授权供所说的客户实体使用。
2.权利要求1的方法,其中所说的应用程序列表由包括关于所说的应用程序和数据库的信息的记录组成,每个记录包含应用程序鉴别信息,以及应用程序状态信息。
3.权利要求2的方法,还提供一个所说的客户实体的应用程序列表,所说的应用程序列表由受所说的服务器实体管理的并授权给所说的客户实体的应用程序组成。
4.权利要求3的方法,其中还包括采用所说的访问控制列表创建所说的应用程序列表的步骤。
5.权利要求4的方法,还包括更新所说的应用程序列表的步骤。
6.权利要求5的方法,其中步骤(a)在所说的客户实体上被实行,所说的应用程序列表在所说的客户实体上被保持。
7.权利要求5的方法,其中步骤(b)在所说的服务器实体上被实行,所说的应用程序列表在所说的服务器实体上被保持。
8.权利要求6的方法,还包括传送所说的被创建的应用程序列表、所说的被更新的应用程序列表、所说的被选择的应用程序和数据库以及所说的被选择的应用程序和数据库的较新版本到所说的客户实体的步骤,所说的被选择的应用程序和数据库的所说的较新版本超过目前在所说的客户实体上的所说的被选择的应用程序和数据库的较老版本。
9.一个用于从至少一个服务器实体往至少一个客户实体分配应用程序和数据库的系统,所说的客户实体特征为被间断地连接到所说的服务器实体,所说的系统包括a.用于通过更改在所说的应用程序列表中所说的应用程序和数据库的各自的状态以表示所说的被选择的应用程序是被下载和删除来选择应用程序列表中的所说的应用程序和数据库的装置;b.当所说的客户实体到所说的服务器实体的一个连接被建立时,从所说的客户实体到所说的服务器实体传送所说的应用程序列表的装置,所说的应用程序列表包括所说的客户实体的所说的应用程序和数据库的状态信息;c.用于提供在所说的服务器实体上的一个访问控制列表以更新和保持所说的客户实体的所说的应用程序和数据库的结合的装置;以及d.用于检验所说的应用程序列表和所说的访问控制列表以判定哪个应用程序既被所说的客户实体所选择又被授权供所说的客户实体使用的装置。
10.权利要求9的装置,其中所说的应用程序列表由包括有关所说的应用程序和数据库的信息的记录组成,每个记录包含应用程序鉴别信息,以及应用程序状态信息。
11.权利要求10的装置,其中步骤(a)在所说的客户实体上被实行,所说的应用程序列表在所说的客户实体上被保持。
12.权利要求10的装置,其中步骤(a)在所说的服务器实体上被实行,所说的应用程序列表在所说的服务器实体上被保持。
13.一个由机器可读的计算机程序设备,明确地具体体现为由机器可执行的一个指令程序,以执行从至少一个服务器实体到至少一个客户实体分配应用程序和数据库的方法步骤,所说的客户实体特征为被间断地连接到所说的服务器实体,所说的方法包括下列步骤a.通过改变在所说的应用程序列表中所说的应用程序和数据库的各自的状态以表示所说的被选择的应用程序是被下载和删除,来选择一个应用程序列表中的所说的应用程序和数据库;b.当所说的客户实体到所说的服务器实体的一个连接被建立时,从所说的客户实体到所说的服务器实体传送所说的应用程序列表,所说的应用程序列表包括所说的客户实体的所说的应用程序和数据库的状态信息;c.提供在所说的服务器实体上的一个访问控制列表,以更新和保持所说的客户实体的所说的应用程序和数据库的结合;和d.检验所说的应用程序列表和所说的访问控制列表,以判定哪个应用程序既被所说的客户实体所选择又被授权供所说的客户实体使用。
14.权利要求13的方法,其中所说的应用程序列表由包括关于所说的应用程序和数据库的信息的记录组成,每个记录包含应用程序鉴别信息,以及应用程序状态信息。
15.权利要求14的方法,还提供一个所说的客户实体的应用程序列表,所说的应用程序列表由受所说的服务器实体管理的并授权给所说的客户实体的应用程序组成。
16.权利要求15的方法,还包括采用所说的访问控制列表创建所说的应用程序列表的步骤。
17.权利要求16的方法,还包括更新所说的应用程序列表的步骤。
18.权利要求17的方法,其中步骤(a)在所说的客户实体上被实行,所说的应用程序列表在所说的客户实体上被保持。
19.权利要求17的方法,其中步骤(a)在所说的服务器实体上被实行,所说的应用程序列表在所说的服务器实体上被保持。
20.权利要求18的方法,还包括传送所说的被创建的应用程序列表、所说的被更新的应用程序列表、所说的被选择的应用程序和数据库以及所说的被选择的应用程序和数据库的较新版本到所说的客户实体的步骤,所说的被选择的应用程序和数据库的所说的较新版本超过目前所说的客户实体上的所说的被选择的应用程序和数据库的较老版本。
全文摘要
本发明是从一台服务器计算机往许多间断地被连接的手持设备有选择地分配应用程序和数据库的一个新颖的管理系统。被下载和删除的应用程序和数据库首先从由服务器计算机管理的一个应用程序列表中被选择。在与服务器计算机建立一个连接之后,被选择的应用程序的应用程序列表被复制到服务器计算机,其保持一个表示哪个应用程序被允许下载到哪个手持设备的访问控制列表。
文档编号H04M1/725GK1254892SQ9912361
公开日2000年5月31日 申请日期1999年10月29日 优先权日1998年11月25日
发明者黄允武, R·D·约翰逊, R·A·珀拉克, J·J·逢佐 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1