CN1409913A - 执行网络操作的方法和设备 - Google Patents

执行网络操作的方法和设备 Download PDF

Info

Publication number
CN1409913A
CN1409913A CN00817108A CN00817108A CN1409913A CN 1409913 A CN1409913 A CN 1409913A CN 00817108 A CN00817108 A CN 00817108A CN 00817108 A CN00817108 A CN 00817108A CN 1409913 A CN1409913 A CN 1409913A
Authority
CN
China
Prior art keywords
system call
result
network operation
network
application
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.)
Granted
Application number
CN00817108A
Other languages
English (en)
Other versions
CN1185841C (zh
Inventor
S·鲍克
M·兹穆达
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1409913A publication Critical patent/CN1409913A/zh
Application granted granted Critical
Publication of CN1185841C publication Critical patent/CN1185841C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • 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]

Abstract

本发明涉及一种方法和设备,能够通过一个处理应用层系统调用并启动网络层网络操作的模块、经过高时延网络来快速执行网络操作。在所述模块中区分阻塞和非阻塞的实现模式。非阻塞实现模式意味着所考虑的系统调用向应用返回一个逻辑值作为结果,它用信号通知是否成功执行该系统调用。在此情况下,本发明提供在调用非阻塞的系统调用时向应用直接发送逻辑值,而不必等候在通信伙伴实例中执行并且对应于该系统调用的操作的实际结果。稍后进行对实际执行的操作结果的处理。

Description

执行网络操作的方法和设备
本发明涉及一种经过特征为高时延的网络来快速执行网络操作的方法和设备。
高时延网络的一个例子是GSM(全球移动通信系统)网络。GSM网络是每个信道可用数据速率为9.6kBit/s的数字移动通信网。与目前诸如数据速率高达64kBit/s的ISDN(综合业务数字网)等固定网络相比,GSM的数据速率较小。因此,GSM连接严重影响在异类网络连接中(即在延续至少两种不同网络的连接中)整个连接的绝对吞吐量。在GSM用户为了进行所谓的网络冲浪或/和从互联网上下载数据、而已经建立了一个到互联网服务提供商(ISP)的连接时,这尤其会引发问题。在所述场景中,GSM连接构成关于有效传输速率的关键部分连接。
在通信伙伴实例之间,在此情况下是在GSM终端和互联网服务提供商(ISP)之间,交换信息是基于一个为互联网应用而标准化的协议栈,也就是所谓的TCP/IP(传输控制协议/互联网协议)协议栈。所述协议栈包括五个协议层,此后也称之为层。最高层为应用层,包括用户所直接使用的应用,例如互联网上冲浪就是一种用户可能使用的应用。与应用层紧连的下层为传输层,包括诸如TCP(传输控制协议)或UDP(用户数据报协议)等实现所述层任务的传输协议。网络层由例如互联网协议(IP)来组成。最下两层(链路层和物理层)可以概括为术语面向网络的层,因为它们是根据底层的网络特别定义的。
一个层的任务尤其是要处理所接收的数据或要传输的数据。在这方面,一个层的通信只与其直接相邻的层发生。提供用于传输的数据从一个层传送到紧连的下层,由此对数据进行格式化。应用层的数据经常超出了可经物理连接传输的分组大小。为此把一个消息划分成一些在一次传输中连续排列的较小数据分组。数据的划分是格式化的一部分。在每个协议层都进行数据的格式化。格式化数据特别地包括添加每个协议层所特有的控制数据。在多数情况下,控制数据以所谓头标的形式加在数据分组的开始、或/和以所谓尾标的形式加在分组的结尾。实际的数据包含在数据字段中。所述控制数据对于每层进行特别地定义和标准化,因为只有用这种方式才能保证双方实例的统一标准通信。关于本发明,TCP的具体控制数据非常重要。
传输协议TCP为两个通信伙伴之间的字节流提供可靠的传输服务。在此方面可靠性是指避免错误、维持顺序并保护防止数据丢失和重复。要传输的字节流从应用层向TCP层传送,它被TCP细分为分段,而这些分段会作为IP数据报来传输。IP数据报指定一个根据IP协议规则进行格式化的数据分组。数据报的性质在于使用数据报来实现的数据交换并不可靠。于是,IP不能保证一个分组确实被传输到接收方。而且,IP数据报可能以错误的顺序或者重复的到达接收侧。但是在所述概念中,检测有错误的传输并去除已出现的错误是TCP的任务。由于分层原则,IP数据报又被传送到其紧连的下层。
为了实现这些任务已向TCP中集成了多种复杂的机制。这里不会详细描述各种机制,如窗口机制、累积确认方案,所谓的慢启动算法或用于避免拥塞的算法,所谓的拥塞避免算法。所述方法的精确描述可以参考W.Richard Stevens的《TCP/IP Illustrated,Volume1(TCP/IP说明,第一卷)》。
一种会在这里进行更为仔细处理的重要机制涉及用TCP建立连接。建立连接时,TCP使用所谓的三次握手来确保交换固定定义的信令信息。在图2中可见这些内容。通信双方被称为客户机和服务器,其中客户机是通信的启动单元,而服务器是通信的接受单元。总体而言,客户机和服务器之间的连接建立需要三次消息交换。通过第一消息的发送通告了通信伙伴之间的初始序号。所交换的数据分组由准确的号码来标识,即所谓的序号。为此TCP数据分组头标提供了一个用于连接建立时同步序号的字段即所谓的SYN标志,在图2中表示为SYN。如果服务器准备好接受连接,则会应答一个消息,其中包含设置的SYN标志以及对客户机初始序号的确认ACK(SYN)。客户机最后发送的消息含有对于服务器SYN消息的确认ACK(SYN)。三次消息已交换时,连接建立阶段完成。在下一步中传输数据,这是通过连接建立而完成的实际通信。连接启动要求交换四个消息。首先,从客户机向服务器发送一个包括设置的FIN标志(FIN)的消息,此标志实现了发送方向上连接的断开。由此客户机启动了连接。服务器用ACK(FIN)确认此消息的接收,并同样启动连接断开阶段。为此服务器向客户机发送带有设置的FIN标志(FIN)的消息,而客户机用ACK(FIN)应答。一旦交换此消息就完成了连接启动。
总体而言,连接建立和启动需要最少七个消息或三个半所谓的RTT(往返行程时间)。RTT描述了一个在发送请求消息和接收相关应答消息之间的时间容限。所述时间相应的随底层网络的传输速率而有所改变。
但是许多应用基于通信伙伴实例之间的简单交互。简单交互的一个例子是所谓的事务处理,由此客户机可以向服务器发送一个请求消息,而接收方在响应消息中向发送方发送所请求的信息。这种数据交换可能出现在例如互联网中,并且其特征为万维网协议的面向事务处理的流量模式。互联网中的事务处理主要由于所用的HTTP协议而引起。
关于当前所使用的协议版本HTTP/1.0(Berners-Lee,R.Fielding和H.Frystyk1996年5月的RFC1945“Hypertext/Transfer Protocol-HTTP/1.0(超文本传输协议-HTTP/1.0”)),首先为WWW网页中每个所请求的对象建立TCP连接,例如文本块或者图像。只有此时才能执行一个事务处理,即发送方向接收方发送一个请求消息,然后接收方在应答消息中发送所请求的数据。此后再断开TCP连接。如果必须为每个对象建立明确的连接,而此对象仅是一个小图像对象,且此连接基于三次握手并再次要求至少三个建立消息和四个启动消息,则所述情况会严重影响会话的总体性能。
TCP必须完成的任务已经表明,TCP被设计为适用于特征为快速数据传输和少量传输失败的网络环境,这是对于有线连接的数据网络而发生的。但是这些假设没能在GSM中实现,这是造成在这种网络中TCP的非最优功能性的原因。许多文档表示了为小传输容量的网络解决TCP优化的概念。此后会介绍一个解决方案的例子。
R.Braden的RFC1644“T/TCP-TCP Extensions forTranscations Functional Specidication(T/TCP-事务处理功能规范的TCP扩展)”介绍了一种特别优化连接建立阶段的概念。为此缓冲有关到具体服务器的连接信息。于是,只通过与服务器的第一次连接建立而执行完整的三次握手,并缓冲在所述连接建立期间所通告的有关连接配置的信息。在对同一服务器的后续访问中通过从所存储的信息取回配置,从而回避了完整的连接建立阶段。
但是这种解决方案的不利之处在于对于应用不存在透明性。实现此概念需要修改应用中的系统调用。实现更快的连接建立可以通过例如用系统调用“sendto(发送到)”取代“connect(连接)”和“send(发送)”来获得。所述系统调用是所谓的套接字编程接口的一部分,其更为精确的功能性可以参考下面的描述。
因此,本发明的一个目的是提供一种经过特征为高时延的传输链路来实现两个通信单元之间事务处理的有效执行的方法和设备。
根据本发明,专利权利要求1和16的示教提供了此目的。
由此看出有利之处在于,优化事务处理的执行可以直接影响应用的效率,因为事务处理的快速执行保证了对时延敏感的应用更为稳定的工作方式。
另一有利之处在于本发明的实现独立于应用层以及传输层,因为它保证了本发明的使用对两层都保持透明。
本发明其他有利的实施方案公开在专利权利要求2-15以及专利权利要求17和18中。
下面通过实施方案和示图更为详细的对本发明进行解释,其中
图1表示了根据本发明方法的流程图,
图2表示了三次握手的示意图,
图3表示了根据现有技术(3a)和根据本发明(3b)建立连接的图解,以及
图4表示了一个实施示例的图解。
此后会通过图1和专利权利要求1来解释本发明。
根据图1,应用1调用一个系统调用2,此调用在步骤3被传送到一个模块,所谓的流水线模块。流水线模块的首要任务在于确定系统调用4的执行模式,即是阻塞系统调用还是非阻塞系统调用。如果流水线模块确认系统调用为阻塞调用,则会用熟知的方式进行处理,也就是启动网络操作5而仍阻塞调用应用6,直至返回所启动网络操作的结果7。在图1中识别应用的阻塞状态可以通过:没有箭头从阻塞执行模式返回到应用,而只是启动网络操作5。在非阻塞系统调用的情况下直接向应用返回一个逻辑值8。此步使应用没有保持阻塞而是继续其后续程序步骤,以便等候在伙伴实例中所实际执行的系统调用的结果成为可能。术语“直接”在这里是指在启动网络操作的单元中确定逻辑值所需的时间。由于这在所述单元中本地完成,故所述时间远远少于网络操作经网络传输、系统调用在伙伴实例中执行以及发送和接收结果所需的时间。
在非阻塞执行模式的情况下直接返回逻辑值同样引起网络操作的启动5。这发生在逻辑值返回之前不久或者紧随其后。对于非阻塞系统调用,在流水线模块中同样等候所启动网络操作的结果6,但这独立于应用运行而发生。一旦接收到结果,则根据执行模式和返回的值检查并处理所述结果9。
下面会说明一个处理所接收结果的示例。
首先,检查所接收结果的执行模式。如果结果源自非阻塞系统调用,则很明显应用此时正在运行,并在非阻塞状态中等候一个结果。为此需要存储所接收的结果。在下一步中,检查此结果的值,即它是否定还是肯定。如果结果是否定的,则例如通过特定的注释来标记它,以便为应用标记错误信息的必要性。否定结果表示出现了错误,例如连接的断开,而且必须向正在运行的应用报告此情况。如果尽可能早地作用于错误消息,则可保证考虑到错误消息的实现本发明的最安全方式。为此最好首先检查对于每个系统调用,是否存储了否定结果以及至今还未报告的先前调用的结果。如果所述检查认识到存在未决的否定结果,则用逻辑否定值的形式向应用返回所述结果,作为当前正执行系统调用的返回值。
发生一个有关返回值的类似过程,其结果包含对正处于阻塞状态的应用的响应。在此情况下,同样首先检查是否存储了至今还未报告的否定结果。如果通过所述检查认识到存在未决的否定结果,则用逻辑否定值的形式向应用返回所述结果,作为返回值。但是如果不存在否定结果,则向应用返回当前所接收的值。
理论上要谈及为了例如建立连接而发送的数据分组形式的消息。实际上可以用例如一种编程接口来实现它,这种编程接口实现了从应用层编程命令到网络层网络操作的转换。所述编程命令可以实现为使用户能访问网络服务的系统调用。
网络服务形式上的特征为多个服务单元或网络操作,由此用户能够使用服务。这些服务单元关心例如,服务执行某种活动、或用某种方式响应伙伴实例的活动。在一个诸如TCP/IP或OSI(开放系统互连)的协议栈中,不同服务单元相互区别。所述服务单元关心:一个服务执行某种活动。例如,通过服务单元“请求(request)”以及活动“CONNECT(连接)”来启动连接建立。在OSI格式中,相应消息具有格式CONNET.request(连接请求)。如果已满足所述请求,则伙伴实例经过一个指示来接收一个通告活动的信令。例如,定址的伙伴实例在CONNECT.request(连接请求)之后接收一个表示需要建立连接的CONNET.indication(连接指示)。然后所述实例为了传达对于连接请求它想要接受还是拒绝而使用一个响应消息,在此情况下为CONNECT.response(连接响应)。发送最初CONNECT.request(连接请求)的伙伴实例通过一个确认,即所谓的CONNECT.confirm(连接确认)来获悉伙伴实例的就绪。所述例子涉及一个由CONNECT(连接)启动的连接建立。还为诸如数据发送(SEND)等其他操作定义了可比较的服务单元,目前不会对它们进行更为详细的描述。但是所述示例表示网络操作的规范非常抽象。例如,对于操作系统Unix4.3BSD,为了与系统无关地访问网络服务而引入了统一编程接口即所谓的套接字接口。这保证了服务单元更为明确的规范。因而消息的启动具体涉及应用层的编程命令规范。然后套接字接口实现了把此后被称为系统调用或者调用的编程命令转换成服务单元。为了解释本发明,下面会使用所述的编程接口作为示例。
套接字编程接口包括一组系统调用,每个都涉及一个所谓的套接字。至于这个概念,一个套接字构成一个通信终接点,一侧连接网络连接,而另一侧连接应用。此后会更为详细的规定最重要的系统调用。用系统调用套接字生成新套接字,从而把地址格式、套接字类型和协议指定为参数。例如,对于TCP连接,选择了互联网地址格式、面向连接的套接字类型和TCP/IP协议。通过系统调用connect(连接),一个应用请求到网络中远程套接字的连接。由此包括了本地套接字和远程套接字的地址作为参数。因此每个连接明确的特征在于一对套接字。数据的实际发送由调用send(发送)来实现而所接收数据的读取由调用recv来实现。除了这里所提及的示例外,还有更多系统调用,但是为了简洁不进行详细的描述。这些系统调用通过编程接口被转换成网络操作。这意味着例如调用connect(连接)的执行引起三次握手的启动。用户对网络操作的执行没有直接影响。但是用户通过系统调用可以控制对网络操作的访问。为了避免修改当前应用,本发明的目的也相应的是在系统调用和网络操作之间集成一个附加层,这使得可透明转换两种类型的操作却不改变应用的实现。此后被称为流水线模块的所述附加层的任务是对从应用所接收的系统调用进行翻译和相应处理。
但是流水线模块的主要任务在于确定系统调用的执行模式,即判定系统调用的结果是可以直接被传送到应用,还是应用必须等候服务器正执行操作的实际值。在第一种情况下涉及非阻塞系统调用,而在第二种情况下涉及阻塞系统调用,在这种情况下应用期望所执行操作的实际值。这意味着流水线模块必须区别两种类型的系统调用,这可以以下面的方式来实现。如果返回值具有逻辑建议值,即在成功执行操作的情况下对于真返回1,而在未成功执行操作的情况下对于假返回0,则一个应用可以识别出有关一个非阻塞调用,而这隐含了一个给应用的直接返回值。一旦接收到该值,应用就继续执行下一个操作。未决操作的状态(即已经发送给相连的服务器,却至今还未收到有关其的实际值的操作)在流水线模块中进行缓冲。状态的存储对于允许流水线模块一旦接收到实际值就向仍在未决状态的操作分配实际值是必要的。
在阻塞系统调用的情况下需要等候数据而非逻辑值来作为系统调用的返回值,故流水线模块并不向应用返回一个直接的值,而是等待直到收到实际数据。在此期间仍阻塞应用。除了那些不返回逻辑返回值而返回数据的系统调用,系统必须确保一个连接中最后的系统调用也被额外地设置成阻塞状态,因为只有用此方式才能保证返回先前所执行操作的结果。根据套接字编程接口语义,在终止其使用时需要关闭套接字,其完成是通过使用系统调用close或shutdown(关闭),即可以用阻塞模式实现的系统调用。
一个有关本发明保证的优化的问题在于非阻塞套接字调用的返回值的语义的改变,并不等候该调用的实际执行。为此必要的是,流水线模块通过给应用的相应消息来确保控制所执行的系统调用。例如,如果由于网络故障造成了定址的IP地址不可达,而调用connect(连接)失败,则在接收到相关返回值之后以及在应用认为所述调用已经被成功终止之后,流水线模块仅获悉相应的错误。但是可以一旦接收到返回值就将其存储在流水线模块中并在下一系统调用中向应用进行报告。优选的实现方案规定通信直接发生在后面的系统调用中,保证了尽可能早地报告错误。检查未决错误报告的计算机时间少于在GSM中的传输时间。因此,存在于流水线模块中的返回值检查无需太多投入就可实现。
另一可能性在于在以阻塞状态执行的下一系统调用中报告所出现的错误。
这些实施方案取决于实现。但是在两种情况下必要的是在阻塞状态下实现最后系统调用的执行。
“延迟”的错误报告并未在已知的应用中带来任何问题,因为同样有关TCP,这些应用已经准备好错误可以出现在任意时间。
此后会通过一个实施方案以及附图3a和3b来更为详细的解释本发明的实现。一方面,附图说明了应用所启动的、执行的系统调用,这在附图的左侧进行了解释。而附图的右侧表示了网络操作,由此启动了相应系统调用的执行。
根据图3a的实施方案表示了一个连接建立,它可以以现有技术即协议HTTP1.0(RFC1945)实现。在这个用于调用WWW网页的协议中,为每个对象分别建立连接。根据图3a通过第一调用connect(连接)实现了一个连接。结果,诸如对象等数据是通过第一调用send(发送)和第二调用recv进行请求,并且传输,而此后连接是通过另一调用close(关闭)启动的。根据本发明,转换的系统调用并未经过传输装置来直接传输,而是首先传送到负责处理系统调用的流水线模块。根据图3b在第一步中启动第一系统调用connect(连接),这被流水线模块解释为一个非阻塞的系统调用。这里的解释是用这种方式:一方面流水线模块向服务器发送相应的网络操作,而同时直接向应用发送有关系统调用的结果而不等候服务器所执行操作的实际结果。结果的直接传输用直接返回箭头来标记。
此方法的作用在于应用不必在持续整个RTT(往返行程时间)期间都设置成阻塞状态,而是一旦接收到结果就直接继续下面步骤的执行。根据图3b,是另一系统调用send(发送),它被使用与第一系统调用connect(连接)相同的方式处理。下一系统调用是recv。所述系统调用也首先被传输到流水线模块,此模块标识它为阻塞调用,因为期望数据作为返回值。为此流水线模块不能向应用返回一个直接的结果,而是等候在服务器中实际执行的系统调用的结果。由于计算机的操作时间相对于网络连接尤其是GSM连接的传输时间较短,故网络操作的发送直接依次进行。为此在现在的情况下节省了两个RTT,因为并不等候系统调用connect(连接)和send(发送)的结果。所述结果随着系统调用reev的结果一起被返回。在图3b中通过较宽的箭头说明了直接依次发送网络操作,其中包括依照发送顺序的相应网络操作。
本发明的特征在于独立于传输平台,因为如果使用了不同于T/TCP的传输协议也确保了此功能性。在T/TCP的情况下,系统调用connect(连接)和send(发送)被解释为所谓的sendto(发送到)系统调用。但是使用所述其他协议在总体节省所需RTT的这方面(在所说明的示例中其数量从3降到1)并未有任何改变。
下面将会根据专利权利要求16(没有附图)更为详细的描述本发明。通过根据本发明经过长时延网络来快速执行网络操作的设备,借助一个确定单元来确定系统调用的执行模式。在这方面需要区分阻塞和非阻塞状态。系统调用通过转换装置被转换成网络操作。发送器向通信单元发送网络操作。在通信单元中所执行网络操作的结果由启动网络操作的单元通过接收器来接收。所接收的结果被存储在一个存储器中,并通过一个处理单元根据所包含的值来进行处理。根据专利权利要求18区分肯定和否定的值。
在非阻塞系统调用的情况下,一旦已启动了相应的网络操作就等候在伙伴实例中所执行系统调用的结果,而不阻塞应用的执行。这是通过用于实现这种状态的单元来实现的。
本发明的实现基于在套接字编程接口下提供一个附加模块,上述流水线模块。为此本发明的实施必须通过考虑不同操作系统的不同配置而在操作系统层上实现。但是套接字编程接口的基本思想在于独立于协议,这就是为何在大多数操作系统中为了向套接字编程接口附加额外协议模块而提供内部软件接口,此内部软件接口便于本发明的实现。
此后基于示例的Windows操作系统和图4更为详细的解释本发明的实现。
图4描述了一个包括所涉及实例的协议栈。直接相邻的实例,应用、Winsock2、流水线模块和传输协议彼此间进行通信,这用箭头进行标记。相邻层的通信是通过一个已定义的软件接口进行,例如实例应用和实例Winsock2之间的通信是通过在Windows操作系统中称为Winsock API的套接字编程接口进行。软件接口Winsock SPI(服务提供商接口)用于Winsock2层和底层实现的协议,在这种情况下是流水线模块,之间的通信,Winsock SPI在微软1997年8月的“WindowsSocket2 Service Provider Interface(Windows Socket2服务提供商接口)”2.2.2版中有更为详细的解释。

Claims (18)

1.通过一个处理应用层系统调用并启动网络层网络操作的模块来经过高时延网络快速执行网络操作的方法,包括下面的步骤:
-将系统调用传送到此模块,
-通过区分阻塞和非阻塞执行模式来确定系统调用的执行模式,
-在非阻塞执行模式的情况下,直接向应用层返回一个逻辑值,并启动一个网络操作。
2.根据权利要求1的方法,其中网络操作被传送到一个与启动网络操作的单元进行通信的伙伴实例。
3.根据权利要求2的方法,其中在伙伴实例中所接收的网络操作被转换成要执行的操作,而且其中该操作的结果被返回到启动网络操作的单元。
4.根据权利要求1-3中任意一个的方法,其中在此模块中实现对所接收操作结果的处理。
5.根据权利要求1-4中任意一个的方法,其中在启动网络操作之后,一个非阻塞的系统调用就被转换成一种状态:其中等候在伙伴实例中所执行系统调用的实际值而不阻塞调用应用的执行。
6.根据权利要求3、4或5中任意一个的方法,其中所接收的结果涉及非阻塞状态并且具有逻辑值,或者它们是在伙伴实例中所执行的阻塞系统调用的结果。
7.根据权利要求3-6中任意一个的方法,其中缓冲具有非阻塞执行模式的所接收结果。
8.根据权利要求1-7中任意一个的方法,其中此逻辑值具有逻辑肯定或者逻辑否定的建议值。
9.根据权利要求8的方法,其中通过后续系统调用的执行以逻辑否定返回值的形式向应用报告逻辑否定结果。
10.根据权利要求3-9中任意一个的方法,其中对于非阻塞系统调用,在先前呼叫的未决否定结果的情况下,总是向应用返回一个逻辑肯定值。
11.根据权利要求1-10中任意一个的方法,其中为了保证返回先前所执行操作的结果报告,连接的最后的系统调用被设置为阻塞状态。
12.根据权利要求1的方法,其中阻塞系统调用是通过等候在伙伴实例中所执行系统调用的结果而以一种熟知的方式实现的。
13.根据权利要求1-12中任意一个的方法,其中系统调用是套接字系统调用。
14.根据权利要求13的方法,其中套接字系统调用形成了一个对于操作系统的编程接口。
15.根据权利要求1的方法,其中此模块是一个流水线模块。
16.通过一个处理应用层系统调用并启动网络层网络操作的模块来经过高时延网络快速执行网络操作的设备,具有
-一个用于确定系统调用执行模式的确定单元,
-用于把系统调用转换成网络操作的转换装置,
-一个用于发送网络操作的发送器,
-一个用于接收执行的网络操作结果的接收器,
-一个用于存储所接收结果的存储器,
-一个用于处理所接收结果的处理单元。
17.根据权利要求16的设备,具有用于实现一种状态的单元,其中一旦启动网络操作就等候在伙伴实例中所执行系统调用的结果,而不阻塞调用应用的执行。
18.根据权利要求16或17的设备,其中用于处理所接收结果的装置区分肯定和否定值。
CNB008171084A 1999-12-13 2000-11-18 执行网络操作的方法和设备 Expired - Fee Related CN1185841C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99124727A EP1109374A3 (de) 1999-12-13 1999-12-13 Verfahren und Vorrichtung zur Durchführung von Netzwerkoperationen
EP99124727.1 1999-12-13

Publications (2)

Publication Number Publication Date
CN1409913A true CN1409913A (zh) 2003-04-09
CN1185841C CN1185841C (zh) 2005-01-19

Family

ID=8239583

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008171084A Expired - Fee Related CN1185841C (zh) 1999-12-13 2000-11-18 执行网络操作的方法和设备

Country Status (8)

Country Link
US (1) US6820269B2 (zh)
EP (2) EP1109374A3 (zh)
JP (1) JP4611593B2 (zh)
CN (1) CN1185841C (zh)
AT (1) ATE250307T1 (zh)
AU (1) AU2507101A (zh)
DE (1) DE60005396T2 (zh)
WO (1) WO2001045353A1 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8290721B2 (en) 1996-03-28 2012-10-16 Rosemount Inc. Flow measurement diagnostics
US7966078B2 (en) * 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7426380B2 (en) 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
US8126889B2 (en) 2002-03-28 2012-02-28 Telecommunication Systems, Inc. Location fidelity adjustment based on mobile subscriber privacy profile
US8027697B2 (en) 2007-09-28 2011-09-27 Telecommunication Systems, Inc. Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US8918073B2 (en) 2002-03-28 2014-12-23 Telecommunication Systems, Inc. Wireless telecommunications location based services scheme selection
US8666397B2 (en) 2002-12-13 2014-03-04 Telecommunication Systems, Inc. Area event handling when current network does not cover target area
US7424293B2 (en) 2003-12-02 2008-09-09 Telecommunication Systems, Inc. User plane location based service using message tunneling to support roaming
US7260186B2 (en) 2004-03-23 2007-08-21 Telecommunication Systems, Inc. Solutions for voice over internet protocol (VoIP) 911 location services
US20080126535A1 (en) 2006-11-28 2008-05-29 Yinjun Zhu User plane location services over session initiation protocol (SIP)
KR20050079730A (ko) * 2004-02-06 2005-08-11 삼성전자주식회사 이종 프로토콜 노드들을 연결하는 방법 및 장치
US20050187979A1 (en) * 2004-02-09 2005-08-25 Microsoft Corporation System and method for message-level connection management
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8112565B2 (en) 2005-06-08 2012-02-07 Fisher-Rosemount Systems, Inc. Multi-protocol field device interface with automatic bus detection
US8660573B2 (en) * 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
US20070068225A1 (en) 2005-09-29 2007-03-29 Brown Gregory C Leak detector for process valve
CN100401688C (zh) * 2005-09-30 2008-07-09 华为技术有限公司 光通信系统的自动恢复检测方法、自动恢复方法及装置
US7825780B2 (en) 2005-10-05 2010-11-02 Telecommunication Systems, Inc. Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle
US7907551B2 (en) 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US8059789B2 (en) 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US7899450B2 (en) 2006-03-01 2011-03-01 Telecommunication Systems, Inc. Cellular augmented radar/laser detection using local mobile network within cellular network
US7471236B1 (en) 2006-03-01 2008-12-30 Telecommunication Systems, Inc. Cellular augmented radar/laser detector
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
US7966013B2 (en) 2006-11-03 2011-06-21 Telecommunication Systems, Inc. Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC)
KR20080064607A (ko) * 2007-01-05 2008-07-09 삼성전자주식회사 재구성 가능한 프로세서를 위한 통합 메모리 장치 및 이의사용 방법
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
US8898036B2 (en) 2007-08-06 2014-11-25 Rosemount Inc. Process variable transmitter with acceleration sensor
EP2196014A4 (en) 2007-09-17 2014-12-24 Telecomm Systems Inc 911 EMERGENCY SERVICE DATA MESSAGING
US7929530B2 (en) 2007-11-30 2011-04-19 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
JP5544903B2 (ja) * 2010-01-28 2014-07-09 カシオ計算機株式会社 サーバ装置およびその制御プログラム
US8938689B2 (en) * 2010-03-30 2015-01-20 Ncr Corporation Window suppression
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
WO2012141762A1 (en) 2011-02-25 2012-10-18 Telecommunication Systems, Inc. Mobile internet protocol (ip) location
US9207670B2 (en) 2011-03-21 2015-12-08 Rosemount Inc. Degrading sensor detection implemented within a transmitter
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
US8831556B2 (en) 2011-09-30 2014-09-09 Telecommunication Systems, Inc. Unique global identifier header for minimizing prank emergency 911 calls
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US8688174B2 (en) 2012-03-13 2014-04-01 Telecommunication Systems, Inc. Integrated, detachable ear bud device for a wireless phone
US9307372B2 (en) 2012-03-26 2016-04-05 Telecommunication Systems, Inc. No responders online
US9052240B2 (en) 2012-06-29 2015-06-09 Rosemount Inc. Industrial process temperature transmitter with sensor stress diagnostics
US9313638B2 (en) 2012-08-15 2016-04-12 Telecommunication Systems, Inc. Device independent caller data access for emergency calls
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
US9602122B2 (en) 2012-09-28 2017-03-21 Rosemount Inc. Process variable measurement noise diagnostic
US9456301B2 (en) 2012-12-11 2016-09-27 Telecommunication Systems, Inc. Efficient prisoner tracking
CN103312688B (zh) * 2013-03-13 2015-11-18 四川天翼网络服务有限公司 一种基于socket的包驱动方法
US8983047B2 (en) 2013-03-20 2015-03-17 Telecommunication Systems, Inc. Index of suspicion determination for communications request
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9479897B2 (en) 2013-10-03 2016-10-25 Telecommunication Systems, Inc. SUPL-WiFi access point controller location based services for WiFi enabled mobile devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0770958A1 (en) * 1995-10-27 1997-05-02 Sun Microsystems, Inc. WinSock network socket driver subsystem and method for windows emulator running under unix operating system
KR19980086588A (ko) * 1997-05-29 1998-12-05 제프리 엘. 포맨 Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
KR19980086586A (ko) * 1997-05-29 1998-12-05 제프리 엘. 포맨 Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
JPH114259A (ja) * 1997-06-13 1999-01-06 Nec Software Ltd 仮想コネクション通信装置及び通信方法
US6161152A (en) * 1998-06-04 2000-12-12 Intel Corporation System for providing asynchronous I/O operations by identifying and polling a portal from an application process using a table of entries corresponding to I/O operations
KR20010072477A (ko) * 1998-08-13 2001-07-31 썬 마이크로시스템즈, 인코포레이티드 가상 머신 환경에서 네이티브 코드를 변환하고 실행하는방법 및 장치

Also Published As

Publication number Publication date
WO2001045353A1 (en) 2001-06-21
DE60005396D1 (de) 2003-10-23
CN1185841C (zh) 2005-01-19
US20010021183A1 (en) 2001-09-13
JP2003517688A (ja) 2003-05-27
EP1109374A2 (de) 2001-06-20
EP1238511B1 (en) 2003-09-17
DE60005396T2 (de) 2004-07-01
EP1238511A1 (en) 2002-09-11
JP4611593B2 (ja) 2011-01-12
US6820269B2 (en) 2004-11-16
AU2507101A (en) 2001-06-25
EP1109374A3 (de) 2001-06-27
ATE250307T1 (de) 2003-10-15

Similar Documents

Publication Publication Date Title
CN1185841C (zh) 执行网络操作的方法和设备
CA2205068C (en) Multi-processor environments
CN100366024C (zh) 用于处理分组的系统和方法
US7573905B2 (en) Methods and systems for communicating SS7 messages over packet-based network using transport adapter layer interface (TALI)
US7509435B2 (en) Network Address Translation and Port Mapping
US7738500B1 (en) TCP timestamp synchronization for network connections that are offloaded to network interface devices
US20050198198A1 (en) Protocol stack that offloads a TCP connection from a host computer to a network interface device
EP0972380A1 (en) Intelligent communication server and communication system incorporating same
CN103907327A (zh) 电信网络中的不显眼内容压缩
US5793958A (en) Network interfacing system with modules for administrating various protocol layers for a plurality of OSI models
US20030202470A1 (en) Method and apparatus for managing network traffic
CN102315918B (zh) 一种tcp连接与sctp连接互通的方法及装置
Farber et al. Thinwire protocol for connecting personal computers to the Internet
WO2000076134A1 (en) Methods and systems for communicating ss7 messages over packet-based network using transport adapter layer interface
US20050018689A1 (en) Method for the packet-oriented transmission of data, network intermediate nodes and telecommunications network
CN109067503A (zh) 一种数据重传方法和装置
CN101248618B (zh) 一种流控制传输协议输出流队列管理和数据发送处理方法
US8248939B1 (en) Transferring control of TCP connections between hierarchy of processing mechanisms
EP1286517B1 (en) Message transmission between telecommunication network entities
JP3070749B2 (ja) ヘツダ予測方式及び通信制御処理装置
Wang et al. CPN Modeling and Analysis of L2TP
Zitterbart et al. Transport service and protocols for high-speed networks
Farber et al. RFC0914: Thinwire protocol for connecting personal computers to the Internet
Franceschinis Stochastic Well Formed Nets: an overview
CN116582484A (zh) 一种交换机的数据传输方法、装置、介质以及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050119

Termination date: 20161118

CF01 Termination of patent right due to non-payment of annual fee