客户/服务器计算机系统中处理不同协议方法调用的方法和装置,一服务器计算机利用每个方法调用中的一方法描述符处理来自传送通道的每个方法调用,方法描述符与存贮在该服务器计算机存贮器中的一协议相关值表比较,当该方法描述符与选择的一协议相关值匹配时,被赋予一索引值,该索引值被送到该服务器计算机的一协议独立部分,该独立部分相应于索引值执行该方法产生一应答,该应答通过传送通道传递到客户计算机。(*该技术在2016年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术通常涉及客户/服务器计算机网络。更详细地说,本专利技术涉及一服务器计算机,该服务器计算机可一般地处理来自使用各种通讯协议的对象请求代理的方法调用。在一客户/服务器计算机网络中,一客户计算机的用户请求一对象的执行。特别是,该用户请求与该对象相关的一方法的执行。常常是,该对象没有本地地存贮在该客户计算机中。因此,对于在其中驻留有对象的服务器计算机必须进行远程过程调用(RPC)。该RPC规定了该对象及其相关的方法。该服务器计算机识别该将被执行的方法、执行这种方法并将所产生的结果和/或异常送回到该客户计算机。用来处理远程过程调用的分布式机构通常被称之为一对象请求代理(ORB)。与一ORB相关的软件意义上的分布式机构是在该客户计算机和该服务器计算机中。存在有大量的一客户计算机可用来向一服务器计算机传送一远程过程调用的“在线”数据格式。相同的在线数据格式还被用来将结果从该服务器计算机传送到该客户计算机。更广泛的是,这些在线数据格式规定所有与远程过程调用相关的信息的格式。在这里通常称之为协议的这些在线数据格式确定了例如变元如何被传送和数据类型如何被处理这样的因子。不同厂家用不同的协议实施ORB。近来,由Object Management Group颁布了一种称之为Universal NetworkedObject(UNO)协议的工艺标准。这种协议主要被看作为用于连接来自不同厂家的对象系统的一种网关协议。至少在一短期限内,不同厂家有可能想要继续使用它们现有的协议,以便在它们各自的对象系统内保持更高性能,同时在它们的ORB中支持较低性能UNO网关。因此,将继续使用多种协议来传送涉及RPC的信息。因此,最好是提供一种能够容易地和迅速地识别使用在涉及RPC信息中的多个协议的一服务器计算机。本专利技术的一实施例是一带有大量与一传送通道相连的客户计算机的分布式客户/服务器计算机系统。这些客户计算机产生被加到该传送通道的方法调用(也称之为方法远程过程调用)。每个方法调用可由一不同的通信协议来编码。利用最初设置在该方法调用中的由一协议相关格式所规定的一方法描述符,一服务器计算机处理通过该传送通道所接收的每个方法调用。然后将该方法描述符与在该服务器计算机的存贮器中所存贮的一协议相关值表相比较。当该方法描述符与一在该协议相关值表中所选择的协议相关值相匹配时,则被赋予一索引值。该索引值被传送到该服务器计算机的一协议独立部分。然后该服务器的协议独立部分执行相应于该索引值的方法以产生一应答。随后通过该传送通道将该应答传送到该客户计算机。本专利技术的另一实施例包括在一服务器计算机中接收一由一客户计算机所产生的一方法调用的步骤。之后,将以一协议相关格式所规定的方法描述设置在该方法调用中。然后当该方法描述符与在一协议相关值表中所选择的协议相关值相匹配时,赋予一索引值。随后该索引值被传送到该服务器的一协议独立处理模块。接着该服务器执行相应于该索引值的该方法并且随后将这样的执行的结果通过传送通道送到该客户计算机。该服务器的协议独立部分构成一可用来处理所有方法调用的单一的对象特定代码组,而不管通过该客户计算机将该方法调用传送给该服务器的协议。因此,不同的对象特定计算机代码组不需要用来处理在该传送通道上使用的不同的协议。本专利技术因而简化了在这些对象中以一与语言和厂家无关方式对这些方法的远程过程调用的处理。其结果,网络服务器可从不同的客户环境条件下进行显而易见地存取。因此,例如,以从前不可得到的方式,Internet(国际互联)中的网络服务器可处理客户计算机的请求,并且客户计算机可访问网络服务器。为了更好的了解本专利技术的属性和目的,结合附图将作如下详细的说明。附图说明图1示出了一客户/服务器计算机的拓普结构。图2示出了与图1的装置相关的处理。图3示出了与本专利技术的协议识别方法的一实施例相关的处理步骤。图4示出了在实践所披露的技术中可以使用的一数据结构的一个例子。图5示出了在实践所披露的技术中可使用的一数据结构的一般表示。在所有的附图中相类似的标号表示相应部分。图1示出了包括本专利技术技术的一客户/服务器计算机装置20。该装置20包括有一组客户计算机22A-22N,这些计算机的每一个均与一传送通道23相连接。该传送通道23通常是指任何在计算机之间的有线或无线连接。该客户计算机22A-22N利用该传送通道23与服务器计算机24通信。每个客户计算机22具有标准计算机配置,包括一连接到一存贮器32的中央处理单元(CPU)30,该存贮器32存贮有一组可执行程序。在该典型系统中该可执行程序包括有至少一个客户应用程序34、客户存根38、客户子合同40、和一操作系统42。该客户应用程序34是任何应用层程序,例如是与一客户计算机22的用户互相配合的应用程序。该客户存根38通过请求特定对象的特定方法的执行的应用程序34而接收过程调用。该客户存根38的目的是存取在另外地址空间,例如服务器计算机24被实施的对象。该客户子合同程序40和服务器子合同程序58控制对象调用和变元通过的基本机理。它们控制对象调用如何被实施、在地址空间之间对象基准如何被传送、对象基准如何被解除,以及类似的对象运行时间操作。例如,当一客户调用一所给子合同的对象时,通过将该请求传送给相关对象被装入的地址空间、一般为服务器计算机24,该子合同实施该对象调用。该客户子合同程序40执行一引导操作,以将一对象调用(即,远程过程调用)传送给另一地址空间。在服务器计算机24中通过一服务器子合同58执行相应的未引导操作。当从另一计算机,即所说的服务计算机24,接收一应答(诸如从一方法调用产生的结果)时,该客户子合同程序40还执行未引导操作。一操作系统42,诸如Sun Microsystem的SOLARIS操作系统,构成客户应用程序34、客户存根38、和客户子合同40的操作的基础。服务器24具有一类似于客户计算机22的构型。该服务器24包括一CPU50和一相关存贮器52。存贮器52存贮有服务器应用程序54、服务器存根56、服务器子合同程序58、和一操作系统60。如上所指出的,服务器存根56处理在一对象上输入的方法调用并调用所指定的方法以执行该操作。如上面还指出的,服务器子合同58执行数据引导和其它操作,以支持方法调用的传送并且在服务器24和客户计算机22之间产生返回信息。参考图2对图1的装置的操作作更全面的说明。图2示出了图1的客户计算机22A、传送通道23、和服务器24。如上面所述,客户应用程序34利用远程过程调用在一不同的地址空间调用一对象的一指定方法。为了在该传送通道23上传送,该远程过程调用通过客户存根38被送到组装该远程过程调用的客户子合同40。服务器24的服务器子合同58接收该信息并且不组装它。服务器子合同58随后将该信息送到服务器存根56。该服务器存根56对上面所描述的对象方法的服务器应用程序54进行存取。更详细地说,特定的服务器存根56形成一过程调用以执行一指定的被调用对象的方法。该方法的执行产生一组结果,这里称之为应答,该应答随后返回到服务器子合同58并且该传送通道被反向,如同图2箭头所指那样。图2的方框70示出了有关本专利技术的一对象请求代理(ORB)组成部分。如上面所指出的,在ORSs上使用了各种的通本文档来自技高网...
【技术保护点】
一种客户/服务器计算机系统中处理不同协议方法调用的方法,所述方法包括如下步骤:在一服务器计算机中接收一由一客户计算机所产生的方法调用;在所述方法调用中安置一以一协议相关格式所规定的一方法描述符;重新获得一与所述方法描述符相关联的 索引值;将所述索引值传送到所述服务器计算机的一协议独立处理模块;在所述服务器计算机中,执行一相应于所述索引值的方法以产生一应答;和从所述协议独立处理模块向所述客户计算机传递所述应答。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:格拉厄姆汉密尔顿,彼得B凯斯勒,杰弗里D尼塞王格,艾伦毕晓普,爱多尔多皮莱格里洛帕特,
申请(专利权)人:太阳微系统有限公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。