CN1159631A - 客户/服务器计算机系统中处理不同协议方法调用的方法和装置 - Google Patents

客户/服务器计算机系统中处理不同协议方法调用的方法和装置 Download PDF

Info

Publication number
CN1159631A
CN1159631A CN96122420A CN96122420A CN1159631A CN 1159631 A CN1159631 A CN 1159631A CN 96122420 A CN96122420 A CN 96122420A CN 96122420 A CN96122420 A CN 96122420A CN 1159631 A CN1159631 A CN 1159631A
Authority
CN
China
Prior art keywords
agreement
server
server computer
sub
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN96122420A
Other languages
English (en)
Inventor
格拉厄姆·汉密尔顿
彼得·B·凯斯勒
杰弗里·D·尼塞王格
艾伦·毕晓普
爱多尔多·皮莱格里-洛帕特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1159631A publication Critical patent/CN1159631A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Abstract

客户/服务器计算机系统中处理不同协议方法调用的方法和装置,一服务器计算机利用每个方法调用中的一方法描述符处理来自传送通道的每个方法调用,方法描述符与存贮在该服务器计算机存贮器中的一协议相关值表比较,当该方法描述符与选择的一协议相关值匹配时,被赋予一索引值,该索引值被送到该服务器计算机的一协议独立部分,该独立部分相应于索引值执行该方法产生一应答,该应答通过传送通道传递到客户计算机。

Description

客户/服务器计算机系统中 处理不同协议方法调用的方法和装置
本发明通常涉及客户/服务器计算机网络。更详细地说,本发明涉及一服务器计算机,该服务器计算机可一般地处理来自使用各种通讯协议的对象请求代理的方法调用。
在一客户/服务器计算机网络中,一客户计算机的用户请求一对象的执行。特别是,该用户请求与该对象相关的一方法的执行。常常是,该对象没有本地地存贮在该客户计算机中。因此,对于在其中驻留有对象的服务器计算机必须进行远程过程调用(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上使用了各种的通信协议。当一服务器试图识别输入的对象请求时,在不同的ORBs上使用不同的协议是困难的。
现在来说明与本发明相关的一般的结构格式和处理。现在更为详细的考虑本发明的结构格式、本发明的处理、这些要素和现有技术中的相应要素之间的区别、以及相关的所披露技术的优点。
如图2所示,客户子合同40使用一协议相关方法描述符去请求与一被调用对象有关的方法。更详细地说,该客户子合同40使用了一服从于一被选择的在线数据格式的排列缓冲器。例如,为了识别一所给方法“X”,一协议可使用一值“XXX”,另一协议可使用一值“@@@∷123∷XXX”,以及另一协议可使用一整数值“123456”,这里该值是在该方法名上的一散列函数的输出。客户存根38向客户子合同40传送一列协议相关值,客户子合同40根据这些值计算协议相关方法描述符。
因此,当一组客户计算机22A-22N被连接到服务器24时,服务器24必须处理每一个协议。单独的服务器子合同58(未示出)必须适应于这些协议的每一个。在现有技术中,每一服务器子合同58带有一组相应的服务器存根56,为了支持带有多个协议的ORBs,对于每个协议服务器24应具有不同的服务器存根56,其结果将具有大量的服务器存根56。因此,很容易了解不同ORB协议的使用对于服务器24将产生非常多的要求。
根据本发明,当服务器子合同58接收一输入的方法调用时,它以对该子合同协议的特定的方式不排列该方法描述符。然后试着将该方法描述符与协议相关值表中的每一个入口相匹配。协议相关值可以是字符串、数值、以及其它类型参数值。不同协议可以使用不同的匹配函数以使该方法描述符与协议相关值的表进行比较。该匹配函数可以是一字符串比较、一散列函数、或由服务器子合同58所指定的其它技术。当一匹配协议相关的值被识别时,该服务器子合同58可以将它与索引值相联系。
如图2所示,该索引值被送到可以请求相应于该索引值的方法的协议独立服务器存根56。在这种方式中,各自对象基准的协议相关性与协议独立服务器存根56相隔离。因此,协议独立的服务器存根56可使用任何类型的对象请求代理70。另外,一单个的编译程序可以用来产生该协议独立服务器存根56。
因此,不同于现有技术,本发明提供了识别各种ORB协议的一服务器24。此外,通过使用一组协议独立服务器存根56,本发明以高效的方式执行这种功能。应注意的是为了支持这种技术,通过利用本发明的客户子合同40和服务器子合同58执行通常由现有技术存根使用的引导和未引导操作。这种处理的传送和使用索引值以提供协议独立服务器存根构成了现有技术和本发明之间的差别。因此,一旦这些处理差别被调整,本发明可以被成功的实施在现存的结构格式和过程中。
图3是对前面部分所描述的该处理步骤的一详细说明。图3的初始处理步骤是该服务器子合同识别在一方法调用中的一方法描述符(框80)。如上面所指出的,该客户计算机产生一方法调用,该方法调用作为一组信息最终被组装在一引导缓冲器中。该信息的内容随已引导的该信息的客户子合同而定。在该服务器处相应的子合同不引导该信息并在该信息之内识别该方法描述符。
接下来的处理步骤是对于该服务器子合同去选择一匹配该方法描述符的协议相关值(框82)。这种操作可参照图4来说明。图4示出了协议相关值的一描述符-表。该表包括N个子集合表。每一子集合表识别一组可被用来识别单个方法的一组协议相关值。每个子集合表具有j个入口。在图4中,这些入口如Descriptor-List-1-1到Descriptor-List-1-j所示。在图4中,Descriptor-List-1-1是与一接口定义语言(IDL)短名有关。IDL是一工业标准。也就是,在该表中的一入口是被调用方法的IDL短名。该IDL短名是一在该技术中使用的ORB协议名。该表还示出了Descriptor-List-1-2与一IDL长名相关。也就是说,在该表中这个入口是该被调用方法的IDL长名。该IDL长名是在该技术中使用的另外的ORB协议名。在该子集合表中的第三个入口是Descriptor-List-1-3,它具有一贮存库ID。该贮存库ID是一用于该技术的另一ORB协议中的名称。例如这些不同的协议的例子包括如下的语句:
“get_weak_comparator” (IDL Short Name),
“ ∷comparator∷weak_comparable∷get_weak_comparator”

       (IDL Long Name),and
“IDL:/comparator/weak_comparable/get_weak_comparator:1.0″

      (Repository ID),
这些语句被用于调用该操作:
get_weak_comparator.
如图4所指出的,另外的指定还可用于该协议相关值的表中。此外,无须使用由这里例子所示的指定。无论如何,使用由IDL标准和其它工业标准以及实践所建立的格式,可以预言在该方式中大多数方法描述符将由任何适当的协议来实施。
作为一个简单的例子,用下面的伪代码来说明该描述符是如何被检索的。(1)i=0(2)match=false(3)repeat(4)          i=i+1(5)          if Match_p(Method_Descriptor,Descriptor_List_i_j)(6)            Then Match=True(7)until Match(8)call operation_Table(i)
行(1)和(2)进行初始化。行(3)进入一处理循环。行(4)在该处理循环中进行初始化。行(5)用于一条件样验。即,该代码校验是否该方法调用的未引导的“Method-Descriptor”(方法-描述符)与协议相关表的“第i个”子集合表(Descriptor-List-i_j)的“第j个”入口匹配。“第j个”入口,即所说的IDL短名,由服务器子合同58可知是用于这个协议比较的一个入口。该“第i个”值是允许的每个子集合描述符表(Descriptor-List_1到Descriptor-List_N)被校验的一被增量值。该“match_P”项代表用来将方法描述符与该表入口相比较的匹配函数。例如,“Match_P”可规定为在两值之间的一简单字符串比较,或可规定为散列值的比较。由服务器子合同58提供“Match_P”的定义。
如果该条件满足,则寻求一匹配,反之,则存取下一个子集合表“i”。当求出一匹配时,则行(8)提供一对服务器存根(56)的操作表的调用。应注意的是,当求得一匹配时,值“i”是送到服务器存根的值。这个值相应于被检索表的一子集合,并且这个子集合与已被调用的单个方法关联。因此,在行(8)中的代码表示图3的下一个处理步骤,即该服务器子合同将一索引值送到该服务器存根(框86)。
一旦该服务器存根接收该索引值,则它们根据如图4中所示的一操作表100,以调用由该索引值指定的方法。该操作表最好是作为一种具有一组与每种情况值“i”相关的处理步骤的情况表而被实施。当该值“i”被接收时,由该值所规定的方法被执行(框88)。图4示出了为完成这种结果的一组简单的处理步骤。第一步是执行方法i,第二步是将所有的结果信息(应答)装入该引导缓冲器中。由图3示出的最后的处理步骤是使该服务器存根将由执行该方法产生的应答送到服务器子合同(框90)。
到此本发明已全部被披露。图5示出了该技术的另外方面。即,图5示出了本发明支持的方法调用以及它们的相关的异常。图5示出了图4的操作表l00。如上所指出的,该操作表被存贮在服务器存根56中。该图示出了操作表的索引值“i”被连接到该表的一特定子集合(Descriptor-List-i)。如上所指出的,该Descriptor-List-i被用于该服务器子合同58。该子集合表包括有“j”个入口,每个入口包括一IDL短名、一IDL长名、一贮存库识别、一交替识别等。如图4所示,该服务器从操作表100调用操作i并向该客户返回一应答。该应答可包括一异常描述符。例如,当是上述的“get_weak_Comparator Operation Descriptor Instance”例子时,该异常描述符可以是字符串“_get_weak_Comparator Exception Descriptor Instance。
该客户子合同40具有包括一异常表的操作描述符。在该应答中该异常描述符被客户子合同40用以确定哪个异常被返回。这种匹配操作可使用上述用来匹配该操作描述符的技术而被执行。
该异常描述符指向具有N个异常子集合表的一异常表。图5示出了Exception_List_X。每个子集合规定对于方法调用中的一种异常和用于该异常的IDL短名、IDL长名、一贮存库识别和选择识别。应注意的是,协议相应值表的每个子集合表的第“j”个入口对应于所说的IDL短名协议这样一个特定协议。
在图4中已进一步示出了该异常描述符的概念。应注意的是,在该子集合描述符表“Descriptor-List-l”中该最后的入口是一指向一异常表的异常描述符。如果需要的话,由该服务器计算机所产生并传送给该客户计算机的应答包括该异常的指示。该异常可与在该异常表中的一异常相匹配。
该客户子合同40存贮有相应于一异常描述符的该异常表的一拷贝。因此,当该异常描述符从该服务器计算机24被接收时,该客户计算机22可处理该异常描述符。
该异常符通过调用该异常表中的每个入口的异常代码来处理。应注意的是在图5中类似于所有其它异常子集合表的Exception-List-x包括指向在一本地对象贮存库104中的一对象的一异常对象识别。该异常对象识别可以是一与在该本地对象贮存库104中的一对象相连的字符串名。在该本地对象贮存库104中的每个对象提供被编码的指令或信息以允许该客户计算机22去处理该异常。如果该对象不驻留在该本地对象贮存库104中,通过下装来自该网络中的另外一个计算机的代码,该操作系统42例示该对象进入本地对象贮存库104。
为了说明和描述的目的而对所存在的本发明的特定实施例作了如上所述的说明。上述说明并不意味着包括了本发明的全部或将本发明限于所披露的精确的形式,很明显地,根据如上描述作若干改进和变型也是可能的。为了更好的说明本发明的原理和它的实际应用而选择和描述了这些实施例,以使本技术领域的其它普通技术人员能更好的利用本发明,具有各种变型的各种实施例适用于不同的使用目的,下面的权利要求和其它的等效物将确定本发明的范围。

Claims (6)

1、一种客户/服务器计算机系统中处理不同协议方法调用的方法,所述方法包括如下步骤:
在一服务器计算机中接收一由一客户计算机所产生的方法调用;
在所述方法调用中安置一以一协议相关格式所规定的一方法描述符;
重新获得一与所述方法描述符相关联的索引值;
将所述索引值传送到所述服务器计算机的一协议独立处理模块;
在所述服务器计算机中,执行一相应于所述索引值的方法以产生一应答;和
从所述协议独立处理模块向所述客户计算机传递所述应答。
2、如权利要求1所述方法,其中所述接收步骤包括将来自所述客户计算机的一应用程序的所述方法调用传送到所述客户计算机的一客户存根程序、所述客户计算机的子合同程序、与所述客户计算机和所述服务器计算机相连的传送通道、存贮所述协议相关值表的所述服务器计算机的子合同程序的步骤。
3、如权利要求1所述的方法,其中所述的安置步骤包括未引导一含有所述方法调用的一引导(marshal)缓冲器的步骤。
4、如权利要求1所述的方法,其中所述重新获得的步骤包括使用一协议相关值表的步骤,该协议相关值表包括从包含有一接口定义语言(IDL)短名、一IDL长名和一IDL贮存库识别的组中选择的语句。
5、如权利要求1所述的方法,其中所述传送步骤包括将所述索引值传送到所述服务器计算机的所述协议独立处理模块的步骤,它是按照在所述服务器计算机上所操作的一服务器存根程序而被实施的。
6、如权利要求1所述的方法,其中所述传递步骤包括将所述应答从在所述服务计算机上操作的所述服务器存根程序传递到在所述服务器计算机上操作的一子合同程序、与所述服务器计算机及所述客户计算机相连的一传送通道、在所述客户计算机上操作的一子合同程序、在所述客户计算机上操作的一客户存根程序的步骤。
CN96122420A 1995-10-06 1996-10-06 客户/服务器计算机系统中处理不同协议方法调用的方法和装置 Pending CN1159631A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US539,999 1990-06-15
US08/539,999 US5758186A (en) 1995-10-06 1995-10-06 Method and apparatus for generically handling diverse protocol method calls in a client/server computer system

Publications (1)

Publication Number Publication Date
CN1159631A true CN1159631A (zh) 1997-09-17

Family

ID=24153545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96122420A Pending CN1159631A (zh) 1995-10-06 1996-10-06 客户/服务器计算机系统中处理不同协议方法调用的方法和装置

Country Status (8)

Country Link
US (1) US5758186A (zh)
EP (1) EP0767563B1 (zh)
JP (1) JPH09218860A (zh)
KR (1) KR970024763A (zh)
CN (1) CN1159631A (zh)
AU (1) AU6552196A (zh)
DE (1) DE69632987T2 (zh)
TW (1) TW303558B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792638A (zh) * 2010-03-10 2012-11-21 英特尔公司 以避免通信协议栈卷入的方式向设备发出至少一部分分组有效载荷的网络控制器电路

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264402A9 (en) * 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US6418324B1 (en) * 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
US6009464A (en) * 1995-09-20 1999-12-28 Sun Microsystems, Inc. Method and apparatus for enabling application programs to communicate with network clients and servers
US6437803B1 (en) 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US5918021A (en) * 1996-06-03 1999-06-29 Intel Corporation System and method for dynamic distribution of data packets through multiple channels
US6032199A (en) * 1996-06-26 2000-02-29 Sun Microsystems, Inc. Transport independent invocation and servant interfaces that permit both typecode interpreted and compiled marshaling
US6282580B1 (en) * 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
US6275224B1 (en) * 1997-02-18 2001-08-14 Electronic Data Systems Corporation Group situation board system and method of operation
ES2290986T3 (es) 1997-03-12 2008-02-16 Nomadix, Inc. Transmisor o router nomada.
US6189046B1 (en) * 1997-03-27 2001-02-13 Hewlett-Packard Company Mechanism and method for merging cached location information in a distributed object environment
US6408342B1 (en) * 1997-03-28 2002-06-18 Keith E. Moore Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US5999988A (en) * 1997-03-31 1999-12-07 Sun Microsystems, Inc. Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems
US6742050B1 (en) 1997-03-31 2004-05-25 Intel Corporation Inter-object messaging
GB2328297B (en) * 1997-08-13 2002-04-24 Ibm Text in anchor tag of hyperlink adjustable according to context
US7076568B2 (en) * 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6697868B2 (en) * 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6591302B2 (en) 1997-10-14 2003-07-08 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6427173B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US7284070B2 (en) * 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US7089326B2 (en) * 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US7042898B2 (en) 1997-10-14 2006-05-09 Alacritech, Inc. Reducing delays associated with inserting a checksum into a network message
US7133940B2 (en) * 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US6389479B1 (en) * 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US6470415B1 (en) 1999-10-13 2002-10-22 Alacritech, Inc. Queue system involving SRAM head, SRAM tail and DRAM body
US6427171B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6757746B2 (en) * 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6167565A (en) * 1998-01-08 2000-12-26 Microsoft Corporation Method and system of custom marshaling of inter-language parameters
JP2002523817A (ja) * 1998-08-14 2002-07-30 サイトリックス システムズ,インコーポレイテッド メッセージストリームからアルゴリズム情報を抽出する装置および方法
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US7778260B2 (en) * 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7293107B1 (en) * 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) * 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8060656B2 (en) 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US6928469B1 (en) 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US6421739B1 (en) * 1999-01-30 2002-07-16 Nortel Networks Limited Fault-tolerant java virtual machine
FR2792435B1 (fr) * 1999-04-15 2001-07-13 Cit Alcatel Procede de modification d'un protocole entre objets distribues
WO2000067444A2 (en) * 1999-04-30 2000-11-09 General Instrument Corporation Method and apparatus for protocol conversion
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
WO2001031885A2 (en) 1999-10-22 2001-05-03 Nomadix, Inc. Gateway device having an xml interface and associated method
US6539383B2 (en) 1999-11-08 2003-03-25 International Business Machines Corporation Communication and interaction objects for connecting an application to a database management system
US6502104B2 (en) 1999-11-08 2002-12-31 International Business Machines Corporation System message objects for communicating between an application and a database management system
US7783720B1 (en) * 2000-04-21 2010-08-24 Oracle America, Inc. CORBA metadata gateway to telecommunications management network
US6799318B1 (en) 2000-04-24 2004-09-28 Microsoft Corporation Method having multiple interfaces with distinguished functions and commands for providing services to a device through a transport
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
JP5085831B2 (ja) * 2000-07-27 2012-11-28 オラクル・インターナショナル・コーポレイション リクエストの集中及びロードバランシングのためのシステム及び方法
WO2002019636A1 (en) * 2000-08-31 2002-03-07 Padcom, Inc. Method and apparatus for routing data over multiple wireless networks
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US6720074B2 (en) * 2000-10-26 2004-04-13 Inframat Corporation Insulator coated magnetic nanoparticulate composites with reduced core loss and method of manufacture thereof
CA2329891A1 (en) * 2000-12-29 2002-06-29 Subsecond Technology Inc. Method and apparatus for remote database maintenance and access
US20020156900A1 (en) 2001-03-30 2002-10-24 Brian Marquette Protocol independent control module
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7562146B2 (en) * 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US6865607B1 (en) * 2001-06-28 2005-03-08 Microsoft Corp. Pluggable channels
EP1296239A3 (en) * 2001-09-04 2004-05-19 Samsung Electronics Co., Ltd. Interprocess communication method and apparatus
US20030115358A1 (en) * 2001-09-04 2003-06-19 Yeong-Hyun Yun Unified interprocess communication
US7263701B2 (en) 2001-09-04 2007-08-28 Samsung Electronics Co., Ltd. Interprocess communication method and apparatus
US7644171B2 (en) * 2001-09-12 2010-01-05 Netmotion Wireless, Inc. Mobile networking system and method using IPv4 and IPv6
US20030115350A1 (en) * 2001-12-14 2003-06-19 Silverback Systems, Inc. System and method for efficient handling of network data
US20030121835A1 (en) * 2001-12-31 2003-07-03 Peter Quartararo Apparatus for and method of sieving biocompatible adsorbent beaded polymers
US7984157B2 (en) * 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7376695B2 (en) 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US8135843B2 (en) 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7543087B2 (en) * 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7337241B2 (en) * 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7191241B2 (en) * 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US20040088262A1 (en) * 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US8248939B1 (en) 2004-10-08 2012-08-21 Alacritech, Inc. Transferring control of TCP connections between hierarchy of processing mechanisms
US7738500B1 (en) 2005-12-14 2010-06-15 Alacritech, Inc. TCP timestamp synchronization for network connections that are offloaded to network interface devices
US8539513B1 (en) 2008-04-01 2013-09-17 Alacritech, Inc. Accelerating data transfer in a virtual computer system with tightly coupled TCP connections
US8341286B1 (en) 2008-07-31 2012-12-25 Alacritech, Inc. TCP offload send optimization
US9306793B1 (en) 2008-10-22 2016-04-05 Alacritech, Inc. TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies
CN103529816B (zh) * 2013-10-30 2016-03-02 中国科学院自动化研究所 一种基于Qt的上位机控制系统
US10768979B2 (en) 2016-09-23 2020-09-08 Apple Inc. Peer-to-peer distributed computing system for heterogeneous device types
CN106648659A (zh) * 2016-12-22 2017-05-10 杭州铜板街互联网金融信息服务有限公司 网页制作方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4281315A (en) * 1979-08-27 1981-07-28 Bell Telephone Laboratories, Incorporated Collection of messages from data terminals using different protocols and formats
DE69029441T2 (de) * 1989-08-24 1997-06-12 Ibm System für den Aufruf von Prozeduren von einem Fernnetzwerkknotenpunkt
DE69130587T2 (de) * 1990-05-10 1999-05-06 Hewlett Packard Co System zum Integrieren von Anwenderprogrammen in eine heterogene Netzwerkumgebung
US5303336A (en) * 1990-05-14 1994-04-12 Hitachi, Ltd. Printing system including print server
US5260990A (en) * 1991-04-30 1993-11-09 Boston Technology, Inc. Multiple integrations unit for coupling different switching systems to a message storage system
US5826017A (en) * 1992-02-10 1998-10-20 Lucent Technologies Apparatus and method for communicating data between elements of a distributed system using a general protocol
WO1994001820A1 (en) * 1992-07-01 1994-01-20 Telefonaktiebolaget Lm Ericsson System for implementation-independent interface specification
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5638497A (en) * 1992-12-18 1997-06-10 Dataproducts Corporation Virtual printer
DE69327448T2 (de) * 1992-12-21 2004-03-04 Sun Microsystems, Inc., Mountain View Verfahren und Vorrichtung für Teilaufgaben in verteiltem Verarbeitungssystem
US5522079A (en) * 1993-06-14 1996-05-28 International Business Machines Corporation Compiler merging new and preexisting modules while preserving function order
US5485460A (en) * 1994-08-19 1996-01-16 Microsoft Corporation System and method for running multiple incompatible network protocol stacks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792638A (zh) * 2010-03-10 2012-11-21 英特尔公司 以避免通信协议栈卷入的方式向设备发出至少一部分分组有效载荷的网络控制器电路
CN102792638B (zh) * 2010-03-10 2014-12-17 英特尔公司 以避免通信协议栈卷入的方式向设备发出至少一部分分组有效载荷的网络控制器电路

Also Published As

Publication number Publication date
EP0767563A3 (en) 1998-10-14
DE69632987T2 (de) 2005-01-05
EP0767563A2 (en) 1997-04-09
TW303558B (zh) 1997-04-21
EP0767563B1 (en) 2004-07-28
AU6552196A (en) 1997-04-10
DE69632987D1 (de) 2004-09-02
US5758186A (en) 1998-05-26
JPH09218860A (ja) 1997-08-19
KR970024763A (ko) 1997-05-30

Similar Documents

Publication Publication Date Title
CN1159631A (zh) 客户/服务器计算机系统中处理不同协议方法调用的方法和装置
US6112196A (en) Method and system for managing connections to a database management system by reusing connections to a database subsystem
US9247022B2 (en) Method and apparatus for optimizing performance and network traffic in distributed workflow processing
EP1027796B1 (en) Distributed web application server
US6401132B1 (en) Subchaining transcoders in a transcoding framework
AU746391B2 (en) Method and system for facilitating distributed software development in a distribution unaware manner
EP0505305A2 (en) General data stream parser and applications interface for same
US7657591B2 (en) Dispatching client requests to appropriate server-side methods
CN1298147A (zh) 向虚拟主机提供服务品质保证的技术
US20040031037A1 (en) Apparatus and method for use in distributed computing environment for converting data format between program language-specific format used in respective computers and stream format used for communication among computers
CN1280711C (zh) 用于处理二进制程序文件的方法
GB2426837A (en) Checking the integrity of a software component
JP2011520169A (ja) ディレクトリへのアクセスのための方法及びデバイス
US6473759B1 (en) Method and system for accessing java applications
CN112699040B (zh) 压力测试方法、装置、设备及计算机可读存储介质
US20070282851A1 (en) Mapping and communicating data from a user interface to an application program
JPH09218794A (ja) 方法呼出し例外コードを動的に装填する方法及び装置
CN100352198C (zh) 用于处理对Web服务的请求的方法和系统
US8819135B2 (en) Method of performing data mediation, and an associated computer program product, data mediation device and information system
CN1207662C (zh) 基于多代理的交互式Web服务调度方法
CN1929463A (zh) 对象请求代理、用于提供资源高效传送的方法和装置
Eisenhauer et al. DataExchange: high performance communications in distributed laboratories
CN1251079C (zh) 实现不同系统之间数据交互的方法
CN1153354A (zh) 动态装入方法调用异常代码的方法和装置
CN1365046A (zh) 字符串处理方法,处理系统,以及其对象程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication