首页> 中国专利> 代理系统、计算机网络以及用于把代理系统从主计算机装载到计算机网络的客户计算机上的方法

代理系统、计算机网络以及用于把代理系统从主计算机装载到计算机网络的客户计算机上的方法

摘要

本发明涉及一种用于动态代理的代理系统、一种计算机网络以及一种用于把代理系统从主计算机装载到计算机网络的客户计算机上的方法。本发明的特征在于,可装载到各网络计算机上的代理系统根据所述计算机的硬件和/或软件来进行匹配。由此实现了也可以在其各个计算机装有代理系统的网络中连入小的移动式计算机,尤其是简单的过程计算机,而不必在原则上明显地限制所述代理系统的功能,也不必因小计算机而取消代理系统的基本用途。

著录项

  • 公开/公告号CN1520551A

    专利类型发明专利

  • 公开/公告日2004-08-11

    原文格式PDF

  • 申请/专利权人 西门子公司;

    申请/专利号CN00815493.7

  • 发明设计人 B·克雷勒;M·雷希;B·施曼;

    申请日2000-08-11

  • 分类号G06F9/46;G06F9/445;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人程天正;张志醒

  • 地址 德国慕尼黑

  • 入库时间 2023-12-17 15:26:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-24

    未缴年费专利权终止 IPC(主分类):G06F9/46 授权公告日:20070620 终止日期:20190811 申请日:20000811

    专利权的终止

  • 2012-05-02

    专利权的转移 IPC(主分类):G06F9/46 变更前: 变更后: 登记生效日:20120327 申请日:20000811

    专利申请权、专利权的转移

  • 2007-06-20

    授权

    授权

  • 2004-10-20

    实质审查的生效

    实质审查的生效

  • 2004-08-11

    公开

    公开

说明书

本发明涉及一种代理系统、尤其是用于动态代理的代理系统,一种具有多个借助数据线进行结网的计算机的计算机网络,以及一种用于把代理系统从主计算机装载到客户计算机上的方法。

代理是一些自主和协作的、由代码和数据组成的软件单元。它们是自主作用的软件单元,其中无需与用户进行持续的交互作用。既有静态代理又有动态代理。

例如US 5,603,031或书“软件代理”,Bradshaw Jeffrey,MenloPark,加利福尼亚:AAAI出版社/MIT出版社,1996曾公开过一些动态代理。该书所包含的关于动态代理的章节可以从因特网中以地址http://www.generalmagic.com/technology/techwhitepaper.html调用其略加修改的文本。

动态代理是如下一些程序,即它们可以在计算机网络的不同位置激活,且其在计算机网络内的地点可以改变。在计算机网络中,程序通常从一个计算机被装载到另一计算机,而在此期间它们是无效的。相反,动态代理是首先被激活,并在其激活期间主动地改变其在网络中的位置。

这种同常规程序的小区别、然而是基本的区别对动态代理在网络中的应用方式具有很大的影响。这些代理是在网络的某个位置建立的,其中确定了需由代理执行的功能,以便在该代理传输到网络的另一位置之后体现以前的网络位置和执行相应的功能。由此可以在网络的一个位置规定在网络的另一位置所执行的功能。原则上,这利用常规的系统也是可能的,其中需要在网络的两个位置之间进行持久的信息交换,以便从规定相应控制过程的位置处把这些控制过程传输到它们被执行的位置。

相反,动态代理不需要这种控制过程,因为其功能是预先一次性地规定的,然后再自主地执行。由此大大地减少了网络的数据处理能力,其中,在远离委托者的位置可以执行任意的过程。

但是,所述的代理在工作时不必一直完全脱离其起动器,而是可以向该起动器或网络中的其它位置建立通信信道。

当从网络的一个位置移动到网络的另一位置时,所述的动态代理将执行一种迁移指令(譬如“go(转向)”)。这种指令需要一个目标描述,它包含有所述代理需要向其移动的位置的名称、地址或类型,或者是它们的组合。不同的位置无须总是布置在网络中的不同计算机处。代理也可以在一个计算机内的不同位置被激活。动态代理也可以是多重的,以便它们能在不同的位置处相互独立地执行其功能。

动态代理经常被用来采集预定的、被部分就地分析处理的数据,以便给原来的委托者发送一个已预处理过的结果。

譬如,当某个物品的买主需要从卖主那里可靠地获得低价格时,就可能产生这种动态代理的应用。于是,所述的买主可以发送一个或多个动态代理,自动地从其它提供商那里请求相应的供应,必要时经过一定的时间间隔进行监视,然后再将其发送给买主,以便由该买主将其与卖主提供给他的价格进行比较。

其它已知的动态代理和代理系统是名称“Aglets”、“Voyager”和“Concordia”来提供的,并且通常可以经因特网获得。

为了激活网络的各个计算机上的动态代理,在该计算机上必须分别设立所谓的代理系统。代理系统是业务程序的综合,它们是各个代理的任务所必需的。该业务程序通常包括一个与其它业务程序存在通信联系的代理管理器,这样,激活的动态代理便可以动用相应的计算机资源,并网络接口从网络的一个代理系统移动到网络的另一个代理系统。通常设立一个代理系统控制器,由它控制代理系统在相应计算机上的运行。

这些代理系统构成了所述代理可以在网络中被激活的位置。

这类代理系统通常是用一种与平台无关的计算机语言、譬如JAVA编写的,因此它们可以在任意的计算机系统上运行。

通过在激活期间在网络中传输所述的代理,创造了一种新型的编程范例,按照该编程范例,程序代码自身被转移到需处理的数据中,而不是必须把数据传送给处理代码或以非激活状态把处理代码装载到各个计算机上。

代理通常是较小的程序,它们能被发送和利用当地存在的智能。当在各个计算机之间没有永久的网络连接时,由于动态代理也可以处理其任务,所以它们较理想地适用于通常与网络没有永久连接的移动式计算机。

然而,迄今已知的代理系统极为庞大,而不能安装在任意简单的移动式计算机上。

在本专利申请的范畴内,概念“计算机”还包括简单的过程计算机,它们只装有极少的硬件配置(处理器,存储器和显示器)。这类简单的过程计算机譬如被集成在单个芯片上。

因此,本发明所基于的任务在于创造一种代理系统,它能提供已知代理系统的功能范围,而且仍然还适用于小的计算机,譬如小的过程计算机。另外,本发明所基于的任务还在于创造一种相应的计算机网络和一种把代理系统从一个主计算机装载到计算机网络的客户计算机上的方法。该任务由具有权利要求1特征的代理系统、具有权利要求6特征的计算机网络、以及具有权利要求9特征的方法来解决。本发明的优选改进方案由从属权利要求给出。

本发明的代理系统可以安装到与计算机网络相连的计算机上,且具有一个代理平台和一个代理系统控制器。所述的代理平台包括动态代理所需的业务程序,以便能在各计算机上执行。所述的代理系统控制器包含一种代理系统发射器,所述的代理系统发射器可以与其余代理系统无关地被装载到客户计算机上,并被用于从主计算机装载所述的代理系统上。

本发明代理系统的特征在于:所述的代理系统发射器被如此地构造,使得在把代理系统从主计算机装载到所述装有至少一个代理系统发射器的客户计算机之前,把一个表征所述客户计算机的硬件和/或软件的标识发送给所述的主计算机;安装在所述主计算机上的服务器系统、也即所述的代理系统更新程序被如此地构造,使得它根据所述描述客户计算机的硬件和/或软件的标识而编配一个与该客户计算机的硬件和/或软件相匹配的代理系统,并把该代理系统装载到所述的客户计算机。

从本发明的意义上讲,主计算机是网络中可以把代理系统装载到另一计算机上的任何计算机,而所述的另一计算机在本发明的意义上被称为客户计算机。因此,网络的每个计算机都可以是主计算机和客户计算机,而与其在网络中的通常功能无关。

通过本发明构造所述把一个表征客户计算机的标识发送给主计算机的代理系统发射器,以及通过本发明构造所述被安装在主计算机上的、根据所述标识编配一个经匹配的代理系统并将其提供给客户计算机的代理系统,还可以在计算机网络中连入小的、尤其是移动式的计算机-它们譬如由简单的过程计算机或个人数字助理组成-,并给它们装配本发明的代理系统,因为该代理系统可以自动地同各客户计算机及其功能相匹配。

典型的匹配准则譬如有:显示(例如显像管、彩色LCD屏幕、黑/白LCD屏幕、小字母数字LCD显示、或只用于数字的小显示等等),可用的存储位置或可用的存储介质(RAM,固定磁盘或其类似物),或者在计算机上提供的系统软件(JAVA及其衍生物,视窗,视窗-CE,等等)。

通过专门地匹配装于各个计算机上的代理系统,在计算机中可以利用较高的功能来安装具有相应大功能范围的代理系统,以及在计算机中利用较低的功能来安装简单的代理系统,这种简单的代理系统是根据包括可能存在的外围设备在内的现有软件或硬件而进行专门缩减的。

本发明的另一优点在于,所述的代理系统可以自动地同相应的环境或计算机以及其上所安装的软件相匹配,这样,即便预先还不知道网络中存在哪些终端,也不必担心网络中不同计算机上的代理系统的正确匹配。由此可以在网络中自动地创造环境。在网络的各个计算机上只须安装代理系统发射器。

对于在单个计算机上装有整个代理系统的网络,如下做法基本上就足够了,即在需要装载这种代理系统的其它计算机上只装载一个代理系统发射器,随后由该代理系统发射器请求、装载和启动与其环境相匹配的代理系统。

本发明代理系统的另一优点在于,可以给所述的代理系统设立一种更新功能,由它检验是否可以从主计算机请求更新颖的代理系统版本,如果这是可能的话,便请求该更新颖的代理系统版本,然后在客户计算机上装载和启动它。由于这类更新通常是很少执行的,所以在更新时总是装载整个新代理系统是比较有利的。在有规律地变化的极庞大的代理系统中,如下做法是有意义的,即利用所述的更新功能检验所述主计算机的各个部分是否比客户计算机的各个部分更新颖,并随后可能只把所述主计算机的各个部分装载到客户计算机上。

下面借助附图所示的实施例来详细讲述本发明。该附图简要地示出了:

图1为一种网络,多个分别装有代理系统的计算机经该网络被连接在一起,

图2为框图形式的代理系统结构,以及

图3为用于把代理系统从一个主计算机装载到计算机网络的客户计算机上的方法流程图。

图1简略地示出了一种连有多个计算机1的网络,所述的计算机通过数据线2彼此相连。计算机1具有不同的功能范围,也就是说它们拥有不同的处理功能、存储容量和/或系统程序。各个计算机1的功能强弱被象征性地用标示各计算机1的矩形的大小来表示。所述的计算机1用I~IV进行编号,其中第I个计算机功能最强,而计算机IV是一个移动终端。从计算机IV到其余计算机的数据线2是一种并非永久保持的移动无线连接。因此它在图1中是用划线标示的。

在各个计算机1上均安装了代理系统AS-I~AS-IV。在网络中存在一些动态代理AG-I~AG-IV,它们要么安装在计算机1上,要么可以从一个计算机移动到另一计算机(III→II)。

图2简要地示出了一种代理系统的结构。所述的代理系统具有一个代理平台3(也称平台),它包括动态代理所需的业务程序,以便能在相应的计算机1上执行。所述的代理平台3具有两个中央程序部分,也即代理管理器4和通信管理器5。通信管理器5包括一个黑板6和多个协议管理器7,由该协议管理器给代理系统及其应用程序、也即代理2 5的通信提供协议。此外,该通信管理器还实现代理的迁移。借助网络耦合8,所述的协议管理器7可以相应地使用所连接的网络9。在黑板6上可以临时存储在各代理之间用于平台本地通信的数据。

代理管理器4具有一个监视模块10,利用它可以针对与该代理管理器4相连的应用程序25来监视其内部过程。该监视信息由业务程序来处理,譬如代理软件更新程序11、用户管理器12、安全管理器13和资源管理器14等。此外,代理管理器4还与譬如表现为固定磁盘的只读存储器15相连。在该只读存储器15上保存了一些配置数据和重要的执行时间信息-譬如代理-,使得它们即便在暂时关断之后也可以使用。对于较小的移动式计算机IV,把该只读存储器5实施为半导体存储器也是常见的,它可以永久地、也即在计算机关断之后也能存储数据。

代理管理器4装有管理接口19和代理应用接口20。代理管理器4经所述的管理接口19被连接到代理系统控制器21上,而该代理系统控制器具有一个管理程序22、代理系统发射器23a和代理系统更新程序23b。所述的代理系统发射器23a是一种业务程序,它可以在启动和初始化代理系统时给用户提供帮助。代理系统更新程序23b是如下的业务程序,它可以根据某些预给定来编配代理系统,并将其经网络9进行发送。代理系统更新程序23b通常是已有代理系统的一个组成部分。但也可以与代理系统无关地将其安装到计算机上。

代理管理器4通过所述的代理应用接口20与一个应用区24相连,该应用区内有一些能执行某些应用程序的代理25。所述的代理25可以通过网络9、通信管理器5和代理管理器4到达所述的应用区24。但它们也可以由装有当前代理系统的计算机的用户借助代理发射器26装载到该应用区24中,并在那儿被激活。所述的代理发射器26是一种在编制和激活代理25时服务于用户的业务程序。

所述代理系统控制器21的管理程序22在配置和诊断代理系统时对用户进行支持。

所述代理系统控制器21的代理系统发射器23a被用于启动或把所述的代理系统装载到网络中的计算机上。在此所执行的过程由图3所示的流程图给出。

为了利用该方法把代理系统装载到计算机上,在装有代理系统且在下文被称为客户计算机28的客户计算机上必需装载所述的代理系统发射器23a。客户计算机28必须经数据线2与至少一个装有代理系统更新程序23b的计算机相连,以便由所述在下文被称作主计算机29的计算机从同样存在于那儿的代理系统中编制出该代理系统的被匹配或定标的副本,然后将其装载到所述的客户计算机28上。数据线2可以是电缆或光缆,或是无线链路。

装载和更新代理系统的方法由代理系统发射器23a执行,并在步骤S1开始(图3)。此后紧接着询问是否在计算机上已存在代理系统AS(S2)。若该询问发现在当前计算机上还不存在代理系统,则程序流程过渡到步骤S3,该步骤是所述代理系统发射器23a的装载功能30的组成部分。利用步骤S3把表征所述客户计算机28的硬件和/或软件的标识发送给所述的主计算机29。该标识包含有关于所述硬件和/或软件的功能性的信息,譬如可用存储器的大小、存储介质的类型、显示的类型以及现有的系统程序等。

在步骤S4中,在主计算机上分析处理所述从客户计算机28发送来的标识,并在步骤S5中根据所述的标识编配一个代理系统。代理系统的匹配是通过插入或取消适当/必需的或不必要的组分、以及通过对客户计算机28上所装设的硬件和软件的选定组分进行配置和定标来实现的。此外,还在动态复杂性方面对所述的组分进行配置,该复杂性主要是基于数据结构的大小。除了所述代理管理器和通信管理器之外,还对诸如用户管理器12、安全管理器13和资源管理器14等可定标的业务程序进行匹配,也就是说在客户计算机28上进行定标。步骤S4和S5是在布置于所述主计算机29的代理系统控制器21内的代理系统更新程序23b内执行的。

在同客户计算机28相匹配的代理系统被配置之后,在步骤S6中把该被匹配的代理系统从主计算机29发送到客户计算机。在步骤S7,在客户计算机28上接收所述的代理系统,并将其装载到客户计算机28上。步骤S7是所述代理系统发射器23的装载功能30的组成部分。在客户计算机装载代理系统之后,在步骤S8中启动它,随后在接下来的步骤S9中结束所述用于装载代理系统的方法。

通过在步骤S8中启动所述的代理系统来调用启动和初始化例程(步骤S9),以利用该例程启动和初始化所述的代理系统。利用启动序列S10来装入所存储的代理(步骤S11)。由此可以执行代理系统的“标准”运行,这在图3中是用S12来表示的。如果需要结束代理系统的这种运行,则首先利用停机顺序(步骤S13)来存储所述代理系统的代理和执行时间信息。然后终止所述的代理,并关闭所述的代理系统(步骤S14)。

相反,倘若在上述步骤S2中确定出在客户计算机28上已存在代理系统,则程序流程过渡到步骤S15,在该步骤中检验是否允许更新所述的代理系统。如果不允许更新该代理系统,则程序流程过渡到步骤S16,利用该步骤检验该代理系统是否正在运行。如果系统不是在运行,则在步骤S8中启动它,并在步骤S9中终止所述的代理系统发射器23a。若所述的代理系统已在运行,则程序流程直接过渡到步骤S9,利用它来终止所述的代理系统发射器23a。

如果在步骤S15中检验出允许更新所述的代理系统,则程序流程过渡到步骤S17,利用该步骤检验代理系统是否正在运行。

若代理系统正在运行,则在步骤S18中调用所述的步骤S13(停机顺序)以终止代理系统的运行。利用随后的程序回路(步骤S19)询问所述代理系统的运行是否已终止。只有当代理系统的运行被终止之后,程序流程才过渡到步骤S20。

如果在步骤S17中得出代理系统不在运行,则程序流程可以直接过渡到步骤S20。

利用步骤S20把版本标识发送到主计算机29。该版本标识包含有关于被安装在客户计算机28上的代理系统及其组分的信息。

在步骤S21中,在主计算机29上分析处理所述的版本标识,并在接下来的步骤S22中把可从主计算机装载的最新代理系统及其组分的版本信息发送到所述的客户计算机。随后在步骤S23中,在客户计算机28上将其自身的版本信息与所述主计算机的版本信息进行比较,以检验可从主计算机装载的相应版本是否比所述客户计算机上的当前代理系统及其组分的版本更为新颖。如果检验出所述可从主计算机29装载的版本更为新颖,则程序流程过渡到步骤S3,利用该步骤重新把表征所述客户计算机28的硬件和/或软件的标识发送到所述的主计算机,然后由该主计算机编配与此相匹配的代理系统,并将其发送给所述的客户计算机28。相反,若在步骤S23中询问得出所述可从主计算机装载的版本不比客户计算机上的代理系统及其组分更为新颖,那么程序流程便过渡到步骤S8,利用该步骤启动所述的代理系统。由此可以更新整个代理系统,或在需要时只更新其一部分(在运行中)。

步骤S20和S23构成了一种更新功能31,代理系统发射器23a利用该功能来执行现有代理系统的更新。

本发明用于装载代理系统的方法是由代理系统发射器23a来执行的。该代理系统发射器可以随时由人工启动,而与是否存在代理系统和代理系统是否正在运行无关。代理系统发射器23a也可以在第一次装载到计算机上时或在启动计算机时自动地被激活。如果已存在一个完整的代理系统,则所述的代理系统发射器23a可以直接由用户或管理程序22进行控制,其中,管理程序22可以重复地调用它,由此确保了代理系统的有规律的和按照需要的更新。

为了管理多个移动式客户计算机28的代理系统,可以设立一台永久地与网络相连的主计算机29。如果譬如需要在一台小型移动式计算机、也即具有黑白屏幕的客户计算机28上启动一个代理系统,那么就由主计算机29给客户计算机28发送一个请求,并同时还传送关于其资源的当前数据(譬如黑/白屏幕,8MB的RAM,在屏幕上可显示的窗口的最大数量,现有的Java虚拟机,符号的图形显示,代理系统用于一个或多个用户的用户管理功能,...)。主计算机29借助该信息编配一个代理系统,在该代理系统中譬如有一个用于专门印录到黑/白设备上的Java类。对于具有彩色屏幕或具有只能显示ASCII符号的屏幕的设备,用于引录到它们上的等价类看起来是不同的。根据在客户计算机28上可用的Java虚拟机(个人Java,JDK1.x,1.2,...)自动地编配相应的类。如果只需要管理一个而不是多个用户,则提供用户管理的相应类也可以相应地小,并且在客户计算机28上具有更少的资源需要。

本发明的代理系统可以选择性地设立如下功能,由它自主地检验各计算机的硬件和/或软件,并在需要时启动所述的发射器23a。由此,所述的代理系统可以动态地与硬件和/或软件方面的变化相匹配。该功能可以由图3所示的位于步骤S17之后的步骤S24来实现。在步骤S24中检验:自代理系统的最后一次更新以来是否已改变所述的硬件和/或软件。如果确定出这种改变,则程序流程直接过渡到步骤S3,利用该步骤把相应的标识发送给所述的主计算机29。如果没有确定出这种改变,则所述的程序就过渡到步骤S20,并按照上述的说明进行处理。

本发明的代理系统所基于的程序可以被存储在电可读的数据存储器上进行销售。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号