CN1270732A - 计算机 - Google Patents
计算机 Download PDFInfo
- Publication number
- CN1270732A CN1270732A CN98809218A CN98809218A CN1270732A CN 1270732 A CN1270732 A CN 1270732A CN 98809218 A CN98809218 A CN 98809218A CN 98809218 A CN98809218 A CN 98809218A CN 1270732 A CN1270732 A CN 1270732A
- Authority
- CN
- China
- Prior art keywords
- data
- computer
- source
- network
- time
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 151
- 230000008569 process Effects 0.000 title claims abstract description 93
- 238000012545 processing Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 14
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000036962 time dependent Effects 0.000 claims 1
- 230000003287 optical effect Effects 0.000 description 23
- 230000011664 signaling Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 230000001934 delay Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 241001122315 Polites Species 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- GQYHUHYESMUTHG-UHFFFAOYSA-N lithium niobate Chemical compound [Li+].[O-][Nb](=O)=O GQYHUHYESMUTHG-UHFFFAOYSA-N 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/62—Wavelength based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q11/0066—Provisions for optical burst or packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0007—Construction
- H04Q2011/0015—Construction using splitting combining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0007—Construction
- H04Q2011/002—Construction using optical delay lines or optical buffers or optical recirculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/0039—Electrical control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0052—Interconnection of switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Optical Communication System (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
- Communication Control (AREA)
Abstract
与网络连接的一种计算机开始一项操作,该操作涉及通过网络从一个远程数据源接收数据。该计算机为来自源的数据确定一个预期接收时刻,并调度一个过程以便在上述预期时刻或者在上述预期时刻以后执行,该过程要利用这些数据。与此同时,计算机在切换到调度好的过程去之前,执行其它的过程,并处理在那时已经从远程数据源收到的数据。
Description
本发明涉及一种计算机,具体而言,涉及利用从远程源通过通信网络获得的数据执行过程的一种计算机,还涉及操作这种通信网络的方法。
在连网技术和网络连结协议中,随着微处理器处理速度的不断提高,计算机越来越多地应用于通过网络获得高频宽数据。由于处理速度还在进一步提高,可以预期这种趋势将继续下去。已经有人建议用宽带光网支持这种应用。本申请人的共同未决申请EP 97307224.2(A25482)PCT/GB97/02160(A25265)WO97/05725(A25055),介绍并要求保护一些网络实例,这些网络被设计成根据需要提供等待时间非常短的突发性高频宽数据传输,这里将这些申请的内容引入作为参考。然而,虽然有了这些进步,但在处理器和网络技术之间还存在失配,这阻碍了提高的处理能力和提高了的网络带宽充分发挥作用。高速计算机的设计要求这一台计算机是一台局部的、物理上的小实体,其中的数据一般可以在较少的时钟周期内得到。相反,通过网络连接的外部数据源只能在延迟一段时间以后才能给处理器提供数据,这一段延迟时间与时钟周期比起来很长,而且还随着数据源的位置不同而变化。涉及到外部连网数据源时,用来提高处理器内部处理速度的传统方法失去了作用。
根据本发明的一个方面,提供了一种操作计算机的方法,包括
a)通过网络从远处的数据源获得数据,
b)利用所述数据调度一个过程,以便在依赖于获取所述数据的时间延迟的某一时刻执行这一过程,
c)随后执行所述过程。
在这一文献里,“计算机”这条术语泛指所有的数据处理系统。它包括,例如,嵌入更大的系统中的数据处理装置,如电信交换机里的处理器,它还包括象工作站这样的专用计算机。“网络”这条术语包括,例如,光通信网络、电子网络和无线网络。例如,在无线网络这种情形中,与网络的连接本质上是断断续续的。
本发明的该方面提供了操作计算机的一种方法,即使操作过程需要来自远处数据源的数据,它也能有效地利用处理器的资源。这是通过确定数据会在什么时候从远处数据源到达,由此调度需要这些数据的一个或更多的过程,同时将空闲的处理器资源用于其它过程来实现的。传统上都把网络和远处的数据源看成一团“云”,它要在很长的一段时间以后才能提供这些数据,而且这段时间是不确定的,因此,没有人做出过任何努力,利用来自这种数据源的数据对过程进行调度。本发明人认识到,可以确定这种远程数据源提供数据的延迟时间或者说等待时间,利用这些数据调度过程,从而最大限度地利用处理器的资源。
这一方法可以包括从计算机发送一轮询消息给远处的数据源,在步骤(c)里,根据轮询消息的传输时间调度所述过程。在这种情况下,该方法最好包括一个步骤,也就是在发送所述轮询消息之前从这台计算机发送一个呼叫给远处的数据源,远处的数据源响应所述呼叫,准备好数据,以便随后收到轮询消息时,迅速地将它们发送给这台计算机。
在一个优选实施方案里,计算机首先发送一个初始信息请求(也就是“呼叫”),然后发送第二个请求(也就是“轮询”),来触发被请求信息的发送。轮询的发送可以是在发送完呼叫一段延迟时间以后,这段延迟时间足够长,可以使计算机肯定经过这一段延迟时间以后远处数据源已经准备好数据。但在发送所述数据之前,最好在这一方法中包括在计算机处接收远程数据源发送的一个初始响应,这一初始响应包括数据可获得性的定时数据,供计算机调度所述过程使用。这一初始响应或者说“契约”表明,估计什么时候被请求的数据能够准备好。于是,由于从发出呼叫的计算机到远程数据源的传输路径是固定的,网络内没有任何缓冲器、队列,也没有任何其它延迟机制,因此响应这一轮询所需要的时间是固定的,是可以预计的,而且可以由此调度需要这些返回数据的过程。
最好初始响应包括一个参数,指明随后在步骤(e)中计算机要接收的数据的数据量。
提供要返回的数据的数据量信息可以帮助计算机分配资源。当计算机与远处数据源之间的通信是在一个环形传输路径上进行时,这一信息特别有用。因此这一方法可以包括:
i)通过这一环形信号路径从计算机发送一个信号给远处的数据源;和
ii)在步骤(i)中的信号占用的环形信号路径的时隙里,从远处的数据源返回一个信号给计算机。在这种情况下,计算机最好发送给远处的数据源一个信号,其中包括一个等于或大于初始响应参数指出的数据量的有效负荷,远处的数据源在所述有效负荷占用的时隙里返回这些数据。
本发明的这一优选特征采用传输中(on-the-fly)信令,就象本申请人共同未决的申请EP 97307224.2里所描述的一样。这里的环形传输路径可以是例如从许多有向通道(trails)中选出来的一个,就象本申请人共同未决的国际专利申请PCT/GB97/02160中所描述和要求保护的一样。
最好由一个操作系统来调度该过程,由计算机上运行的一个多道程序操作系统来完成就更好。
虽然可以采用许多方式来实现调度该过程的步骤,例如在计算机上运行的应用程序里或者在中间件里,但最好还是将该步骤集成在计算机的操作系统里,从而使所有较高层的系统都能利用它。多道程序操作系统用于最大可能地发挥微处理器或者有多个并行处理器的系统的效能。在这种环境里本发明特别有利,因为应用到其它过程的调度算法也同样可以用于与网络有关的过程。
根据本发明的第二方面,提供了一种计算机,它包括:
a)一个数据处理系统;
b)与这一数据处理系统连接的一个网络接口;和
c)与这一数据处理系统连接的一个调度装置,利用通过所述网络接口从远程数据源接收到的数据,用于调度处理系统对所述过程的执行。
根据本发明的第三方面,本发明提供与网络连接的计算机的一种操作方法,该方法包括:
a)开始一项操作,这项操作涉及通过网络从远处的数据源接收数据;
b)确定从所述数据源接收数据的预期时刻;
c)对计算机在预期时刻或预期时刻以后执行构成所述操作一部分并需要所述数据的一个过程进行调度;
d)挂起所述数据的接收过程,执行计算机里的其它过程;
e)接收所述数据;和
f)处理所述数据。
根据本发明的第四方面,提供一种方法,用于操作通信网络,这一方法包括:
a)通过无连接分组网络在数据源和数据接收器(data sink)之间传递数据包;
b)然后在数据源和数据接收器之间建立一个电路连接;和
c)通过电路连接在数据源和数据接收器之间进一步传递数据。
本发明的这一方面与前面的那些方面结合起来更好,但也可以更一般性地用于提供一种方法,该方法能够调整传送模式,从而最好地适应特殊事务处理的性质,其中无连接操作能够提供高效处理例如短搜索查询和响应所需要的高速度和最小的处理开销,以及电路连接操作能够提供例如下载搜索过程确定的一个大文件所需的有保证的服务质量。
下面通过实例,它们仅仅是作为实例,与现有技术对照,并参考以下附图,进一步描述采用本发明的系统,在这些附图中:
图1是采用本发明的一台计算机的结构框图;
图2示出与一个分组网络连接时图1里的计算机工作过程的距离-时间图;
图3是采用本发明的计算机的距离-时间图;
图4是采用本发明的计算机第二个实例的距离-时间图;
图5是一个单向环形网络的示意图;
图6是一个采用双向链路的网络的示意图;
图7是采用曼哈顿街(Manhattan-Street)网络(MSN)拓扑结构的一个网络的示意图;
图8是一个圆环形(Torus)网络的示意图;
图9是与图1所示计算机一起使用的一个网络节点的示意图;
图10是说明在普通计算机里如何调度的一个示意图;
图11是说明在采用本发明的计算机中如何调度的示意图;
图12是采用本发明的计算机里操作系统的一个示意图。
如图1所示,一台计算机包括一个微处理器1和一个输入/输出协处理器2。网络接口3与输入/输出协处理器连接。微处理器和输入/输出协处理器都能直接访问随机存取存储器(RAM)4。网络接口与网络5连接,在这一实例中,网络5是一个光学分组网。硬盘6与微处理器连接。就象下文将更详细地介绍的那样,数据是通过网络从远程数据源5A、5B取得的。进来的数据由输入/输出协处理器写入RAM 4。
图2说明如前面所述的计算机在与分组网连接的情况下的传统工作过程。该计算机采用多道程序技术。微处理器的操作系统将几个独立的过程载入存储器。存储器被分区,以便容纳这些不同的过程。这些分区可以是固定的,也可以是大小可变的。如果有关的分区太小,就使用利用硬盘上的存储容量的虚拟存储器来保持过程的进行。如果一个过程正在等待另一个装置提供服务,例如正在等待输入数据,那么这一处理器就将这一过程的当前状态存储起来,并且转换到另一个过程去。这叫做上下文转接。通过采用这种方式在同时执行的过程之间切换,微处理器缩短了它的空闲时间,从而提高了它的有效运行速度。
在图2所示的实例里,微处理器1中正在执行用黑色阴影区域表示的第一个过程。这第一个过程向无连接光学分组网5’上的一个远程数据源发出一个信息请求(“呼叫”)。这一呼叫从微处理器1经过RAM 4到达输入/输出协处理器。输入/输出协处理器将这一呼叫保持在一个缓冲器里,直到网络上有一个时隙可用来发送这一呼叫。从计算机的观点来看,网络和远程数据源一起构成一朵云,其中时间延迟是未知的。这一呼叫将引出一个响应(“返回”),但只有在一个不确定的延迟以后才能得到。由于这一延迟时间是未知的,微处理器能做的最好的事情是让第一个过程保持等待状态,直到请求的信息到达。计算机不能进行预先调度使这一过程恢复执行,也不能在时间上将这一过程与其它相关的过程协调起来,因为所需信息的到达时间是未知的。很可能不得不进行一次未调度的上下文转接,也就是说,收到返回信号时,有可能不得不暂停另一个正在运行的过程,而同时第一个过程又处于等待状态。这种上下文转接在处理时间方面的代价很高,因而会降低计算机的效率。
图3说明采用本发明的一个系统的工作过程。它与图2所示系统的差别是其中的计算机能够确定从远程数据源获得数据的延迟时间,并利用这一延迟信息,调度所有与网络密切相关的并行过程,从而使它们一起高效率地运行,而不是采用随机时间延迟和按随机序列方式执行过程。这样做能够减少频繁的上下文转接和高速缓存故障。从而能够“准时”调度计算机里的过程和资源。为了使计算机能够确定延迟时间,要这样来选择网络的拓扑结构和网络节点的结构以及工作过程,使得计算机与给定远程数据源之间的路径是固定的环形连续路径,在这一网络中没有任何内部缓冲器队列,也没有其它的延迟机制。下面将详细介绍这种网络的实例。
如同图3中的距离-时间图所示,此时来自计算机的呼叫从远程数据源引出一个契约响应(contract response)。计算机事先不知道契约的到达时间,因为尽管通过网络的传输延迟已经被很好地确定,但是远程数据源处理呼叫、准备契约并发送它的时间延迟仍然是不知道的。可以假定处理呼叫、准备契约并发送契约这一相对简单的任务需要的时间,与准备和发送包含被请求的数据的真正的返回数据所需要的时间相比很小。这后一项操作可能包括从存储器或者文件存储装置或者甚至从某些更远的信息站点获取信息,还包括对这些信息作某些处理。这一契约通知发出呼叫的计算机,告诉它经过某一段时间以后,只要再一次呼叫这台计算机就可以立即得到需要的信息,远程数据源会说明这一段时间有多长。在这一实例中,契约还说明传输这些信息所需要的网络资源(例如有效负荷字节数)。
在一个晚一点的合适时刻,计算机发送一个轮询信号给远程数据源,这可以将已知的网络延迟考虑在内,也就是说,它可以比远程数据源指定的时间早一段时间,这段时间等于信息从计算机经过网络到达远程数据源所需要的时间。在这一实例里,这一任务是由输入/输出协处理器独立于主处理器来完成的。事先不知道传输轮询信号的精确时间,因为输入/输出协处理器可能不得不等到有一个空数据包时隙或者等待有其它的网络资源可用。在这一等待时间里,轮询信号呆在一个输出缓冲器里,该缓冲器由输入/输出协处理器管理。当网络资源可用时,将这一轮询信号发送出去,协处理器将精确的发送时间记录下来,并传送给过程调度程序。下面将进一步介绍过程调度程序的工作过程。由于从呼叫计算机到远程数据源的传输路径是固定的,网络中没有任何缓冲器、队列,也没有任何其它延迟机制,那么经过这一网络的传播延迟就是可以确定的。这一实例中的轮询信号由一个数据包流组成,它有一个组合起来的空(或者是可以替换的)有效负荷,它的大小大于或等于契约指定的大小。到达远程数据源时,采用传输中(on-the-fly)信令技术填充轮询数据包,这一信令技术在我们的共同未决的申请EP97307224.2中有更详细的说明。这个时候已经准备好、正在一个输出缓冲器中等待的返回数据被写入轮询数据包占据的时隙,返回到计算机。通过这种方式,可以保证远程数据源不必等到有网络资源可用时就能将数据返回,因为轮询信号已经预约了需要的资源。返回数据随后在过程调度程序事先知道的时刻到达计算机。过程调度程序利用这一信息执行一个序列和时间调度表里的过程,从而充分利用处理器资源。例如,在第一个过程等待返回数据时执行第二个过程。可以利用以下判据来选择第二个过程:它占用的时间足够短,在返回数据到达之前能够完成;而且它不需要第一个过程返回的值作为输入。可以将需要第一个和第二个过程返回的值作为输入的第三个过程调度成在来自远程数据源的数据到达了以后的一个预定时刻执行,从而保证执行第三个过程时不再需要等待。
图4说明的是一个可选实施方案,其中发出呼叫的计算机事先知道远程数据源那里的处理时间,或者发出呼叫的计算机可以给出足够的时间,使远处站点的信息准备好的可能性很大。在这种情况下,将契约阶段省略掉。在一个适当的时刻,发出呼叫的计算机轮询远程数据源,并与上述第一个实例一样,在一个预先调度好的时刻接收返回数据。
在这一实例里,所述调度程序与微处理器的操作系统集成在一起。微处理器采用叫做多道程序的技术。就象Prentice-Hall于1996年出版,作者为W.Stallings的第四版“计算机组织和体系结构”中第236页,图7-10所描述的那样,过程调度允许许多同时执行的过程使用微处理器。每一个过程都产生一个相应的请求,放在一个长期队列里。有资源可用的时候,就让一个过程进入就绪状态,放入一个短期队列里。处理器在执行操作系统指令和执行用户过程之间轮换。当操作系统控制了微处理器时,它就判断下一步要执行短期队列中的哪一个过程。当操作系统完成它的立即任务时,它就让处理器执行所选过程。短期调度程序,也叫做调度员,是操作系统中负责判断下一步执行短期队列中哪些过程的那部分。有可能将一个正在执行的过程挂起,例如,因为它请求I/O(输入或者输出)或者因为操作系统又要使用微处理器。当挂起的原因是这后一种原因时,就让这一过程进入就绪状态,放回到短期队列里。传统上,当挂起这一过程涉及到一个I/O请求时,这一过程就已经被放入一个I/O队列,并在I/O过程已经完成以后一个不确定的较晚的时刻返回到短期队列里。这种普通方法在图10中说明。
如图11所示,在采用本发明的系统里,操作系统采用不同方式处理非网络I/O(例如,与计算机外围设备的I/O)和网络I/O。将请求网络I/O的执行过程挂起,并放入网络I/O队列。然后,在取决于过程的优先级和有没有必需的网络资源的某一个时刻将一则消息发往网络。然后,过程不是维持等待状态,其等待时间长度不定,直到从网络收到所需要的信息(如图10那样),而是过程被立即返回到短期队列里。在操作系统那里每一个过程都用一个“过程控制块”来表示,这一“过程控制块”一般都包括:一个唯一的过程标识符、状态(过程的当前状态—新的、就绪等等)、优先级、程序计数器、存储器指针、上下文数据、I/O状态信息(包括未完成的I/O请求、分配给过程的I/O装置等等)以及记账信息。另外,这一过程控制块还包括一个过程就绪时间字段。这是用例如由远程数据源返回的一个“契约”里的数据设置的,用来说明被请求的数据的预期到达时间。然后调度员从短期队列里根据过程的过程就绪时间和优先级选择执行哪一过程。操作系统和用户程序可以动态地修改过程的优先级,从而使同时执行的与网络密切相关的过程高效地运行。例如,可以设置不同过程的优先级从而使上下文转接的次数最少。
图12是采用本发明的操作系统的一个概览。这种情况下操作系统是一种采用微型内核结构的Windows NT类型的系统(Windows NT是微软公司的一个注册商标)。这一操作系统包括一个用户模式121和一个内核模式122。本地应用程序123(例如Windows NT环境里的Win32应用程序)直接与内核模式122通信。另一个应用程序124(例如WindowsNT环境中的一个OS/2应用程序)通过一个应用程序子系统125与内核模式122通信,这一应用程序子系统125支持有关的API(应用程序接口)。内核模式包括许多执行装置126a-126f。这些执行装置包括一个I/O管理器、对象管理器、过程管理器、本地过程呼叫设备、虚拟存储器管理器和GUI管理器。微型内核127通过一个硬件抽象层(HAL)128与计算机系统的硬件接口。微型内核127调度执行线程,当发生中断和异常时将控制权交给处理例程,进行低层次的多处理器同步,以及在发生电源故障以后恢复系统。与本发明特别有关的是,微型内核包括一个调度员对象1271,它进行线程调度,并负责上下文转接。一个调度员数据库1272与调度员对象1271有关。调度员数据库1272跟踪哪些线程正在等待执行,以及哪些处理器正在执行哪些线程。这是利用一种排队机制来完成的,这种排队机制为网络输入/输出请求维持一个队列。如同前面参考图11所介绍的那样,这些请求的过程就绪时间被记录下来,然后将对应的线程返回到短期队列里去。
运行操作系统的硬件可以包括单独一个微处理器,例如一个英特尔奔腾(商标)微处理器,或者包括多个并行工作的微处理器。
在采用本发明的系统里,可以采用许多不同的方法来确定往返延迟时间。一种方法是查表。这个表的资料可以在开始阶段就通过计算机向网络里的每一个数据源发送一个测试信号,并记录与每一个数据源有关的时间延迟来搜集。以后需要的时候,调度程序查阅这一个表。
作为查表方案的一个替代方案,可以在每次发送一个轮询信号之前,在信令过程中进行延迟测量。这避免了维护查阅表的开销,并能保证延迟值的任何变化,例如由设备故障、维护或者改组引起的电缆或者路由变化引起的变化,都能考虑在内。在这一方法的一个实施方案里,计算机确定呼叫数据包从计算机到达远程数据源的传送时间,确定契约数据包从目的地返回源的传送时间,将这两个时间加在一起,得到往返延迟时间。一般而言,这两个传送时间是不同的,因为从计算机发往数据源的数据包与目的地发往源的数据包走的路径不同。为了帮助确定传送时间,契约数据包包括另外两个信息项:呼叫数据包的到达时间和契约数据包的发送时间。利用这些信息以及契约数据包的到达时间信息,计算机就可以确定这两个传送时间。但为了使这一方法切实可行,计算机和数据源必须有精确同步的时钟。在时间延迟测量的另一个优选实施方案里,计算机在一单个阶段里完成延迟测量,只使用它自己的时钟而不必使用任何其它时钟。这是通过采用传输中信令向计算机返回一个确认信号来实现的。计算机记录呼叫数据包的发送时间。如果目的地,也就是远程数据源,成功地收到了呼叫数据包,就在呼叫数据包最初占用的时隙里,将一个“ACK(确认)”数据包发回给这一计算机进行确认。源记录确认数据包的到达时间。呼叫数据包的发送时间和确认数据包的到达时间之间的差就是计算机与目的地之间的往返传播延迟。下面将详细地介绍适合于采用本发明的网络、网络接口和数据包路由选择方法。
这里的网络提供一种连续的单向传输路径,该路径从一个源,例如上述实例里的计算机,到目的地,例如远程数据站点,并返回到源。这种网络的一个简单的实例是图5所示的单向环形网。图6所示的另一个实例是一个包括双向链路的网络。图7所示的第三个实例是一个Manhattan-Street网络,它采用了本申请人的国际专利申请中介绍的“通道路由选择(trail routing)”技术,这一国际专利申请的标题也是“通信网络”,代理人的卷号是A25265/WO。下面详细描述适用于这种网络的协议。在这些实例中,假设很少发生设备故障,它们由更高层的协议检测和补救。这里描述的路由选择协议涉及在正常情况下提供超短等待时间信令,在这种情况下不会发生故障。还假定,发送的消息包括单独一个数据包,或者一串数据包,而且这些数据包被插入固定长度的时隙里,每一个时隙最多包括一个数据包。
在这里介绍的协议里,当一个源节点希望开始发送一则消息给一个目的地节点时,它必须等到传输路径上有空闲容量(在一个分了时隙的系统里,这也就是说需要等到至少有一个空时隙)。当目的地节点收到这一消息,并且希望返回一个确认或者类似的信号给源时,它就用原始消息占用的时间周期的一部分或全部,发送这个信号(在一个分了时隙的系统里,这也就是说通过利用源发送原始消息时所使用的时隙中的一个或者多个)。这样做的优点是目的地节点不必等到传输路径上有其它的空闲容量,然后才能发送这些数据包,因为它立即重新使用源已经预定的时隙。这就保证了这一信号在最短的可能时间内,由原始消息目的地发送,并由原始消息源接收到,这一时间受以光速传输的信号的传输时间的限制。目的地节点不必等到传输路径上有另外的空闲容量才可以发送信号。通过适当地选择协议和数据包格式,从目的地节点返回原始源的信号可以由一个或更多的原始消息数据包构成(也可以进行某些修改,例如改变标志,或者甚至不进行任何修改)。于是目的地节点产生确认信号所需要的处理是基本的、最少的。通过这种方式,目的地节点可以高速地做出信令决策,而数据包则是“传输中”,不需要缓冲。
这一协议的另一方面是数据包从源到目的地并返回源的往返传输时间可以是精确已知的,因为它只取决于一个物理上的距离。因此,在源发送出一个数据包时,它就准确地知道什么时候能够得到响应。源可以利用信号数据包的到达时间来识别消息,以及与其相关的目的地。还有,如果一个信号没能在预期的时刻到达,源就可以用各种方式来解释信号没能按时到达的原因(例如,如下面所介绍的那样,说明一则消息没能到达它的既定目的地)。
‘有礼貌的(Courteous)’协议
将这一协议叫做“有礼貌的”是因为,在将数据包传递到它们的目的地的过程中,数据包不会被丢弃。一旦源发送出一串数据包,就能保证它到达目的地(至少在协议所考虑的层,因为我们不考虑很少出现的设备故障)。网络内不出现争用;只是由发送节点在网络边缘解决争用的问题(通过只采用空闲时隙)。在这种情形里,当一个节点N正在一个给定信道里发送,而此时不是给N的一串外来数据包到达同一信道,节点N就必须停止发送,并允许外部数据包串不受打扰。有两种方法都可以用来处理这种情况。在第一种方法里,只要一出现空闲时隙,节点N就从头开始重新发送它的数据包串。在第二种方法里,只要一出现空闲时隙,节点N就从中断的地方开始重新发送它的数据包串。在这种情况下,数据包还应当包括一个标志COS(串继续)。也可以选择指定所有数据包串的最大长度,以防止一个节点不公正地占用网络资源。当目的地节点开始接收数据包串时,它就给源发送回一个信号,从而立即进行确认。在有礼貌的协议里,数据包串的到达是得到了保证的。然而,目的地节点必须告诉源它已经准备好,已经有可用于接收消息的资源。如果目的地节点不能接收消息,就应当尽快通知源停止发送。如果目的地节点希望给源发送一个确认信号,表明它有资源用来接收消息,它就可以通过让数据包串中的第一个数据包继续沿着其路径返回源来这样做,该第一个数据包是通过设置“串开始”标志SOS=1。目的地节点不修改这一数据包,它继续往前,回到源节点,其功能相当于一个确认信号。目的地节点必须从网络中去掉这一数据包串的所有其它部分(除了这一数据包串的最后一个数据包以外,下面将介绍这一点)。最初发送出这一数据包串的源能够识别出这一确认信号是给它自己的,因为它会发现数据包的源地址为它自己的地址。如果在等于从源通过目的地再返回到源的传输路径的往返传播时间的一段时间以后,源还没有收到确认信号,源就假定目的地节点不能接收这一消息,因此源也就知道它应当立即停止发送。
目的地节点向数据包串源再发送一个确认消息,表明整个数据包串已经成功地到达目的地。传输不成功的原因有传输差错和接收机缓冲器溢出。再一次假设数据串的传输成功,第二个确认消息可以通过让数据包串中的最后一个数据包继续沿着它的路径返回源来发出,这一数据包是通过设置“串尾”标志EOS=1来识别的。目的地节点不修改这一数据包,这一数据包继续往前,返回源节点,成为一个确认信号。同样,如果在预期时刻源没能收到第二个确认信号,那么源就可以假定数据包串的传送不成功,因此它知道它应当立即重新发送这一数据包串。任意一个节点(地址N)响应进来的数据包P的“有礼貌的”协议规则如下:
如果P的目的地地址=N,那么
{进来的数据包串已经收到}
如果节点N有资源用来接收进来的数据包串,那么
开始
将P的内容传送给接收机缓冲器;
如果(在P中SOS=1)或者(在P中EOS=1,而且收到的消息没有错误)那么
让P继续沿着路径往前传递
否则从网络中去掉P;
结束
否则 从网络中去掉P;
如果P的源地址=N,那么
{确认信号已经收到}
开始
将P的内容传送给信令接收机缓冲器;
从网络中去掉P;
结束;
如果(节点N正在发送数据包)那么
{保持礼貌}
开始
让P沿路径继续传递;
或者{根据所采用方法的不同}
有空闲时隙时重新开始发送(在第一个数据包里SOS=1)
或者
有空闲时隙时继续发送(在第一个数据包里COS=1);
结束
以上实例介绍的协议可以与各种各样不同的数据包路由选择方法一起使用,还可以用于不同拓扑结构的网络。但在当前的实例里,采用了有向通道(directed trail)路由选择方法。这充分利用了这一事实,那就是以下示例中那种类型的拓扑结构的网络可以分成一组不同的通道,这样,没有任何一条通道能够跨越整个网络,但是从一给定源节点到一给定目的地节点之间总是有一条通道。于是路由选择可以仅仅通过选择将源节点与所需目的地节点连接起来的合适的通道来进行。一旦进入这一通道,数据包的路由选择就可以采用一种准一维方式的路由选择。就象在一维路由选择方式中一样,在发送数据包之前,源节点选择从源到目的地的整个通道。人们发现,沿着由许多有向回路(directedcycles)形成的通道为数据包选择路由的一种特别有效的方法是,在预先安排好的时刻例如以固定的周期切换中间节点的光输出,从而将一个回路与另一个回路连接起来。于是源节点在相对于切换时间表确定的一个时刻输出数据包,从而确定数据包要走的通道,从而在所需节点上,从这一通道上的一个回路切换到下一个回路。最好在网络进行链路断开有向回路分解得到的回路之间的一个连接点上进行切换。最好整个网络中都在预先调度好的预定切换状态之间进行同步节点切换。在当前实例中,每一个节点都与一个纵横开关相联。通常都将所有的纵横开关设置成跨接(cross)状态,而且按照预先确定的间隔,重复地将纵横开关设置成转接(bar)状态。在从数据包的源到数据包的目的地之间的所选通道上保持一个数据包的切换操作,可以用一种自动方式来完成,而不必要求中间节点询问数据包的目的地地址,也不必进行任何智能路由选择。网络按照一种分时隙的方式工作,其中的数据包有一个最大长度限制,也就是说,将时间分成有规则的时隙,时隙的长度能够保证容纳最大允许长度的一个数据包和一段保护时间(guard band)。网络中所有路由选择节点上的纵横开关都锁定在按照时隙速率工作的一个网络通用时钟信号上,被安排成用一种规则的、相干的方式工作。当开关改变配置时,它们是在保护时间里这样做,从而不会破坏数据包。每一个长度都是T的数据包时隙,都被安排进长度为n个时隙的帧内。在一帧内前n-1个时隙里,所有的纵横开关都设置在跨接状态(在示意图中用c表示);在这一帧的最后一个时隙里,所有的开关都被设置为转接位置(用b表示)。网络中连接一对相邻节点的每一条链路的长度都是选择好并受到控制的,这样,信号的群时延(group time-of-flight)等于(qn+1-Δ)T,这里的q是任意整数,Δ是两个节点上时钟信号的相位差,以占时隙周期T的比值来表示。换句话说,除了时钟相位差ΔT以外,网络中每一条链路的长度都等于任意整数个帧再加一个时隙。这样在一帧内第j个时隙离开一个节点的数据包,将在一帧内第j+1个时隙到达下一个节点。在更一般情况下,数据包可以提前或者滞后一固定整数个时隙。数据包可以提前/滞后任意固定整数个时隙,如果n是奇数,时隙个数就不是n的倍数,或者如果n是偶数,时隙个数就是奇数。
图8说明一个4×4的圆环形网络对于要从它里面经过的一些数据包来说是一个什么样子。在图8中,假设节点A希望发送一个数据包给节点D。源节点A用一个查阅表或者某种其它的算法来确定,它应当利用一帧里第三个位置的一个空时隙(在这里,每一帧有4个时隙),沿着水平回路C2h的外向链路发送这一数据包。到达下一个节点B时,数据包会发现它在一帧里的第四个时隙(也就是最后一个时隙),因此B处的纵横开关会被设置在跨接位置,如图8所示。于是这一数据包被接续到垂直回路C1V,并往前经过节点C(在这里,它位于一帧的第一个时隙里,因此C处的开关处于跨接状态),最终到达它的目的地节点D。图8中没有说明另一条可选路由;从A出来,沿着垂直回路C0V在一帧的第二个时隙里,通过节点E和F。
就象早些时候所指出的那样,对于有向通道路由选择,当数据包到达的时候,网络节点需要进行的与路由选择有关的处理操作非常简单:检查到达的每一个数据包的目的地地址,如果这一地址指向的就是这一个节点,就从网络中去掉这一数据包,否则就转发它。数据包地址与节点地址的比较是一个简单的单个字的比较运算,可以用很快的速度完成;例如,最近有人用实验说明6位地址字的光识别峰值速度为100 Gb/s[Cotter,D.,Lucek,J.K.,Shabeer,M.,Smith,K.,Rogers,D.C.,Nesset,D.和Gunning,P.:“利用6位‘关键字地址识别’的100 Gb/s数据包的自行路由选择”,电子通信,第31卷,第2201-2202页,1995年]。由于有向通道路由选择不使用依赖于任何特殊网络节点顺序编号系统的算法,节点的编号完全可以是随意的。这可以简化规划、管理和发展网络的任务。
图9说明的是采用本发明的准时调度,以及传输中信令和有向通道路由选择方法的系统中,一个节点,例如前面描述过的计算机,的网络接口里的部件。图中说明的是一个适合于将计算机接口至图7所示网络的双连接节点。在光学网络中,粗线表示光纤路径。节点两个输入端的延迟单元提供对两条输入链路长度的必要调整,以满足前面描述的要求,在连接一对节点的每一条链路上,沿着这一链路的信号群时延应当等于(qn+1-Δ)T,这里q是一个整数,Δ是用占时隙周期T的比值表示的两个节点时钟信号的相位差。通过为两条延迟线(每一个输入一条)提供独立的相位差补偿,还可能保证两条输入链路上的数据包互相之间以及相对于节点处的时隙时钟都是正确同步的。每一个延迟单元都可以有一个组合:i)一段长度合适以便提供时间粗调的光纤;ii)一段步长可调的延迟线,包括一串2×2空分开关和光纤延迟(例如就象文献[12]中描述的那样)以便进行几百皮秒内的时间调整;和iii)一条自由空间可调光延迟线(例如Santec公司生产的ODL-300-15-SMF类型的光延迟线),以便进行几十皮秒范围内的细调。还有必要补偿输入链路光路径长度的缓慢漂移。这些漂移可能是作用在光纤上的环境因素——例如,导致拉伸的运动,或者温度变化引起的。这一连续的环境补偿可以通过检测输入数据包到达相对于节点的时隙时钟的时间的变化,并提供一个电反馈控制信号给可步进调整延迟线和自由空间可调延迟线单元来实现。
还有两个光信号延迟级91、92,它们是光纤线圈,连接在每一条输入路径中分出一路信号给报头处理单元的第一个耦合器和分出一路信号给光空分开关S4、S5的第二个耦合器之间。这些更进一步的延迟级保证了光数据包到达输出转接器之前,报头处理单元有足够的时间来进行必须的处理。
报头处理单元完成以下任务:i)检测时隙里是不是有数据包;ii)检测数据包的到达时间;iii)确定到达数据包的目的地是不是这一个节点;和iv)读出象确认标志这样的报头标志。对于任务i)和ii),用一个1 GHz带宽的光检测器检测一部分数据包信号就足够了。在这一时隙里光检测器有信号输出就说明有数据包。可以用一个电子相位检测电路检测出时隙时钟与具有时隙速率的光检测器信号分量之间的相位关系,正比于这一相位差的电压给出前面介绍过的反馈控制电路所必需的控制信号。对于任务iii),有必要将数据包报头里的地址与节点的地址进行比较。对于一个超高速光设备,这可以用本申请人的国际专利申请PCT/GB94/00397所描述的超高速二进制字识别技术来完成,在WO95/33324中公开了这一方法进一步的技术细节。在这里将这些早期申请的内容引入作为参考。前面引用过的Cotter等的文章里给出了这一技术的一个实验性说明。如同上面引用的申请所述,数据包的地址字是从二进制字的子集里选择出来的,其中子集里的任意两个字A、B都满足以下条件:
只有在A=B时,才有AB=0,
否则AB=1,
其中AB表示布尔运算:
然后在数据包的地址字与节点地址的补码之间进行简单的与运算来进行字识别。一个合适的与门是一个支持四波混合(FWM)的半导体光放大器。
这一字识别方法给出一个二进制输出信号,说明报头里的目的地地址是否与节点地址相同。
基本的空分交换操作是由五个纵横开关实现的。使用五个开关而不是一个,这样做首先提供了连接一个本地主计算机系统所需的额外信号路径,其次使得一个节点可以在读一个数据包的同时让数据包沿环形信号路径继续往前传送。开关S2和S3提供到本地主计算机系统的连接,开关S4和S5使得光数据包的副本可以传递到本地主机,而原始数据包则可以通过S2(或者S3)和S1继续传递到输出链路上去。能够以1ns或者更短时间工作的合适的空分开关有铌酸锂器件,例如GEC AdvancedComponents提供的Y-35-8772-02类型的器件。
前面所介绍的那种节点能够用于在目的地节点从本地主机将一个新的数据包插入源已经预定的一个时隙里去。在这一实例里,这是通过将开关S2或者S3切换到跨接位置来完成的。要将目的地节点产生的确认信号发送回来时可以这样做,作为将部分进来的信号作为确认信号这种方式的另一种选择。这种机制还可以用于让源进行调度,从而将数据从目的地节点返回给源,因此还在源里调度依赖于那些数据的过程。源和目的地可以相互通信,从而事先确定一个时间,在这一段时间内数据可以准备好,并说明数据的数据量。随后源可以发送一个轮询信号给目的地,这一轮询信号包括足以容纳这些数据的许多数据包。目的地节点将数据包写入对应的时隙里,在源发送完这许多个数据包以后,在一个预定时刻,这些数据随后回到源。
连接至路由选择开关S1的每一条输入线都有一个光处理模块。需要的时候这些模块将确认标志写入数据包。这些模块可以用例如光时分插/分复用器,比如Heinrich-Hertz Institute制造的光半导体集成电路器件(“将单片集成非对称Mach-Zehnder干涉仪用于OTDM系统的一个坚固的插/分复用器”,E.Hahn等,电子通信,第32卷,第216-217页,1996年)来实现。这可以与一种方法一起使用,这种方法用于产生一种合适的光控制信号,作为同步脉冲,例如本申请人于1995年5月23日提交的国际专利申请WO 95/32568所描述的那种(BT案号A24884)。
这一个网络可以采用一个速度为155MHz(周期为6.45ns)的一个时隙时钟。这是当前SDH网络中的一种标准时钟,可以分布在很宽(全国)的地理区域内,其定时抖动小于500ps。在100Gb/s(4.24ns持续时间)下这一数据包可以包括53个字节。电-光空分开关合适的开关时间是1ns,除此以外,还有两个保护时间,每一个的长度都是0.6ns。在节点内部,当前时隙在帧内的位置可以用模n电子计数器来跟踪(对于n个时隙长的一帧来说),这一模n电子计数器记录时隙时钟的脉冲个数。在网络的启动阶段,以及在以后有时隙的时候,网络里的一个节点(标为主节点)可以用帧内的一个固定位置(例如第一个位置)来广播数据包,这样就可以将其它节点里的计数器复位,使它与主节点同步信号的相位对齐。
这一节点内的空分开关可以用图5所示的电子开关控制器单元来驱动,这一开关控制单元根据以下信息来工作:i)时隙在帧内的位置是不是对应于有向通道路由回路中的“跨接”或者“转接”位置(1位);ii)进来的数据包是不是占据了当前时隙(每个输入口1位);iii)进来的数据包的目的地地址是不是与这一节点的地址一致(每一个输入口1位);iv)等在主机输出缓冲器里的一个数据包是不是要用当前时隙传递到输出口(每一输出口1位)。在这些信息的基础上,(总共7位)电子开关控制器单元发送电驱动信号给空分开关,该驱动信号与数据包之间的保护时间准确同步,并通过这种方式完成以下任务:i)将进来的数据包传送给主机或者传送给输出口之一;ii)如果需要的时隙是空闲的,就将来自主机的数据包传送给输出口之一。完成这些任务所需要的逻辑的一个实例如下:
如果(当前时隙是帧内的最后一个位置)不对
那么
S1:=跨接;
如果((进来的行时隙被占用)和(进来的列时隙被占用)不正确和(进来的行数据包指向的地址是主机的地址)不正确和(一个主机数据包在等待在当前时隙中从行端口出来)和(一个主机数据包在等待在当前时隙中从列端口出来)){说明——没有定义空的进来列时隙的目的地地址}那么
开始
S2:=跨接;
S3:=转接;
结束。
路由选择逻辑,上面给出的就是它的一个实例,它足够简单,以至于它可以用一个硬连线与一个快速8位译码芯片来执行,而不必用代数运算、寄存器或者查阅表。它纯粹是一个组合逻辑电路,因此判定时间只取决于逻辑门的延迟。因此开关控制器单元可以高速工作,适合于在速度为多个Gb/s的网络里为数据包选择路由。同样地,上面讨论的信令协议的逻辑采用的是纯粹的组合逻辑,同样可以用硬连线和快速译码芯片实现。
在前面参考图9介绍的节点接口里,更进一步的光延迟级将光数据包延迟一段时间,在这段时间里足以对报头进行处理。这一结构可以更一般地用于采用传输中信令的系统,就象EP97307224.2(BT案号A25482)里描述和要求保护的一样,也可以用于采用本发明的系统。在本发明的另一个实施方案里,远程数据源采用这样一种接口,在这种接口里,进一步的光延迟级的长度被增加。于是数据源的处理器在到达的数据包离开接口之前,有时间来处理到达的消息,获取并处理本地数据。通过这种方式,源能够通过用对请求的响应覆盖请求的数据包占用的传输中时隙来响应数据请求。数据源的等待时间降到了零,只留下计算机与数据源之间信号路径有关的传输时间延迟。数据源不必等待有新的网络资源可用——它仅仅是再次使用原来的消息的源预定的资源。
在一个可能的实施方案里,一个网络有100个这样的节点,每一个节点都有两个网络输入,而且节点的处理器用100000 MIP的速度工作。帧长度是10个时隙,每一个时隙都足够大,能够装下大约50个字节的一个数据包,例如一个ATM信元。节点中同时出现的消息可以用几个并行处理器来处理。在这种情况下可以表明,一段长度约为240米的光纤足以给出200个时隙的时间延迟。可以将这一延迟中100个时隙的时间用于接收一则消息,100个时隙的时间用于准备响应,从而使工作于100000 MIP这样一个速度的这一个专用处理器或者每一个专用处理器有时间执行60000条指令。只要处理器能够直接访问本地的所需数据,不必查阅更远的数据源,那么,60000条指令足以对原始的请求做出响应。
在使用传输中响应技术的这种系统里,在计算机和数据源之间通信、其中计算机首先发送一个呼叫然后发送一个轮询的两阶段协议就再也不需要了。对于单个请求,一个呼叫就足够了,因为它会立即获得响应。但这要求计算机在此之前确定往返延迟。因此,在计算机与远程数据源进行要发送许多呼叫的对话之前,发送一条初始消息,触发一个传输中响应,从而测量往返延迟时间。然后将测量出来的往返延迟用于确定随后的响应到达时间。
可以对计算机进行编程,让它根据具体事务处理中数据的特性,在第一个实例中介绍的呼叫-契约-轮询信令和上面介绍的传输中信令之间做出选择。在搜索阶段,其中计算机里的程序或者代理程序试图找到这些数据并要求获得这些数据时,采用传输中协议比较合适。以后当前面选定的数据存在时,可能需要下载一个很大的文件。此时服务器必须预约网络资源来传输文件,从而采用呼叫-契约-轮询信令更加合适。另一方面,在这后一阶段中,计算机可以从无连接传输中协议切换到一个传统的面向连接的协议,例如ATM(异步传输模式)。就象搜索阶段里一样,ATM信元可以当作数据包在同一个网络上传送。或者,专用于ATM通信并将不同的节点连接起来的第二个网络,在图1中用虚线表示,可以覆盖第一个网络,在后一阶段里计算机的网络接口和远程数据源的网络接口可以通过第二个网络交换数据。这一方法并不局限于在准时信令中采用,而是还可以更广泛地用于在一个节点和一个远程数据源之间将无连接和电路连接通信组合起来使用。在工作过程中,搜索阶段可以包括,例如,从计算机传送搜索请求给远程数据源中运行的搜索引擎,搜索请求中包含关键字,还包括返回包括符合搜索条件的文件清单,以及从计算机向远程数据源发送一个信号,说明要选择获取文件清单中的哪些文件。于是在这后一阶段里,远程数据源与计算机建立一条普通的电路连接,并利用这一电路连接下载对应于所选文档的数据文件。
Claims (24)
1.操作计算机的一种方法,包括
a)通过网络从位于远处的一个源获取数据,
b)利用所述数据调度一个过程,以便在依赖于获取所述数据的时间延迟的某一时间执行,和
c)随后执行所述过程。
2.操作与一个网络连接的计算机的一种方法,该方法包括
a)启动一项操作,该操作涉及通过所述网络从远处的源接收数据;
b)确定从所述源接收数据的预期时间;
c)调度一个构成所述操作的一部分并且需要所述数据的过程,以便由计算机在预期时刻或者在预期时刻以后执行;
d)挂起所述数据的接收过程,执行计算机里的其它过程;
e)在计算机处接收所述数据;和
f)处理所述数据。
3.根据权利要求1或2的方法,包括从所述计算机发送一则轮询消息给远处的源,以及根据轮询消息的传送时间调度所述过程。
4.根据权利要求3的方法,在发送所述轮询消息之前包括一个从计算机向所述远处的源发送呼叫的步骤,远处的源响应这一呼叫,准备好数据,以便在随后收到轮询消息时立即将这些数据发送给所述计算机。
5.根据以上权利要求中任意一个的方法,还包括在发送所述数据之前,在计算机处接收远处的源发送的初始响应,这一初始响应包括数据可获得性时间数据,供计算机调度所述过程时使用。
6.根据权利要求5的方法,其中的初始响应包括一个参数,该参数说明计算机随后要接收的数据的数据量。
7.根据以上权利要求中任意一个的方法,包括
i)通过一条环形信号路径从计算机向远处的源发送一个信号;和
ii)在步骤(i)中所述信号占用的环形信号路径上的时隙里,从远处的源给计算机返回一个信号。
8.根据权利要求7的方法,当它从属于权利要求6时,在步骤(i)中计算机向远处的源发送一个信号,该信号包括一个有效负荷,它等于或者大于初始响应参数指明的数据量,远处的源在这一有效负荷占用的时隙里返回所述数据。
9.根据以上权利要求中任意一个的方法,包括:
测量计算机与远处的源之间的往返传播时间,利用测量出来的往返传播时间,确定接收远处源的数据的预期时刻。
10.根据权利要求9的方法,其中的计算机在一条环形信号路径上发送第一个信号给远处的源,远处的源在来自计算机的信号所占据的时隙里返回第二个信号给计算机,而且计算机从发送第一个信号的时间和收到第二个信号的时间之间的差确定往返传播时间。
11.根据以上权利要求中任意一个的方法,其中调度过程的步骤是由计算机里运行的一个操作系统来完成的。
12.一种计算机,包括:
a)一个数据处理系统;
b)与这一数据处理系统连接的一个网络接口;和
c)与上述数据连接的一个调度程序,用于利用通过网络接口从远程数据源收到的数据,调度处理系统对过程的执行。
13.根据权利要求12的计算机,还包括:
d)与调度装置和网络接口连接的一个轮询消息产生器,用于产生一则轮询消息,以便通过网络接口发送给远程数据源,
其中的调度程序用于确定相对于轮询消息的发送时刻,来自远程数据源的数据的预期到达时刻。
14.根据权利要求12或13的计算机,其中的调度程序构成数据处理系统上运行的操作系统的一部分。
15.一种联网数据处理系统,包括:
a)一个数据通信网;
b)与数据通信网连接的一个远程数据源;和
c)至少一台计算机,这台计算机或者每一台计算机包括:
i)一个数据处理系统;
ii)与数据处理系统和数据通信网连接的一个网络接口;和
iii)与数据处理系统连接的一个调度程序,用于利用通过网络接口从远程数据源收到的数据调度处理系统对过程的执行。
16.根据权利要求15的系统,
其中的数据通信网包括连接远程数据源和该至少一台计算机的一条环形信号路径,远程数据源被设置成在最初由该至少一台计算机发送出来的信号所占用的时隙中,发送一个返回信号给该至少一台计算机。
17.根据权利要求1-11中任意一个的方法,还包括:
在获得数据的步骤以后,通过网络在计算机和远程数据源之间建立一个电路连接;和
在远程数据源和计算机之间通过电路连接传递更多的数据。
18.操作通信网的一种方法,包括:
a)通过无连接分组网,在数据源和数据接收器之间传递数据包;
b)随后在数据源和数据接收器之间建立一条电路连接;和
c)通过该电路连接在数据源和数据接收器之间传递更多的数据。
19.根据权利要求17或者18的方法,其中所述电路连接是在覆盖第一个网络的第二个网络中建立的,该第一个网络用于完成获取数据的初始步骤。
20.根据权利要求17-19的方法,其中对应于搜索查询的数据包是通过一个无连接分组网在计算机和远程数据源之间传递的,选作搜索结果的数据文件是通过这一电路连接从远程数据源传递给计算机的。
21.根据权利要求11的方法,其中的操作系统是一个多道程序操作系统。
22.根据权利要求14的计算机,其中的操作系统是一个多道程序操作系统。
23.根据权利要求15或者16的联网数据系统,其中的调度程序构成计算机上运行的操作系统的一部分。
24.根据权利要求23的联网数据处理系统,其中的操作系统是一个多道程序操作系统。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB97307224.2 | 1997-09-17 | ||
EP97307224 | 1997-09-17 | ||
EP97308409 | 1997-10-22 | ||
GB97308409.8 | 1997-10-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1270732A true CN1270732A (zh) | 2000-10-18 |
Family
ID=26147612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98809218A Pending CN1270732A (zh) | 1997-09-17 | 1998-09-16 | 计算机 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6731648B1 (zh) |
EP (2) | EP1016244B1 (zh) |
JP (2) | JP2001517025A (zh) |
CN (1) | CN1270732A (zh) |
AU (2) | AU753148B2 (zh) |
CA (2) | CA2302215A1 (zh) |
DE (2) | DE69837609T2 (zh) |
WO (2) | WO1999014900A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438187A (zh) * | 2015-09-28 | 2017-12-05 | 苏州踪视通信息技术有限公司 | 实时视频传输的带宽调整 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7561522B1 (en) * | 1999-05-11 | 2009-07-14 | British Telecommunications Public Limited Company | Communications network having mechanism for removal of time-expired packets from the network |
JP3374174B2 (ja) * | 1999-12-15 | 2003-02-04 | 独立行政法人通信総合研究所 | フォトニックネットワークのパケットルーティング方法およびフォトニックネットワーク用パケットルータ |
US7233590B2 (en) * | 2001-07-06 | 2007-06-19 | Nortel Networks Limited | Switched channel-band network |
US7103350B2 (en) * | 2001-11-16 | 2006-09-05 | Nortel Networks Limited | Scheduler with fairness control and quality of service support |
US7499407B2 (en) * | 2002-09-20 | 2009-03-03 | Nortel Networks Limited | System and method for managing an optical networking service |
US7509438B1 (en) * | 2003-02-14 | 2009-03-24 | Cisco Technology, Inc. | Bi-directional line switched ring support for path trace monitoring on a protection path |
US7747731B2 (en) * | 2003-03-27 | 2010-06-29 | Nokia Corporation | Minimizing message processing latency in a communication network |
US8295175B2 (en) * | 2003-09-30 | 2012-10-23 | Ciena Corporation | Service metrics for managing services transported over circuit-oriented and connectionless networks |
US7475177B2 (en) * | 2005-01-27 | 2009-01-06 | International Business Machines Corporation | Time and frequency distribution for bufferless crossbar switch systems |
US8165025B2 (en) * | 2006-12-08 | 2012-04-24 | Ixia | Method and apparatus for generating a unique packet identifier |
WO2009015690A1 (en) * | 2007-07-31 | 2009-02-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Optical circuit for comparing two n-bit binary words |
US8693319B2 (en) * | 2008-09-25 | 2014-04-08 | Intel Corporation | Scheme for avoiding deadlock in multi-ring interconnect, with additional application to congestion control |
US8542579B2 (en) * | 2009-11-17 | 2013-09-24 | University Of Maryland | Method and system for cooperative transmission in wireless multi-hop networks |
US8406233B2 (en) | 2010-09-07 | 2013-03-26 | Check Point Software Technologies Ltd. | Predictive synchronization for clustered devices |
JP5621588B2 (ja) * | 2010-12-28 | 2014-11-12 | 富士通株式会社 | 通信装置、中継装置及びネットワークシステム |
US9246627B2 (en) * | 2011-08-17 | 2016-01-26 | Nec Laboratories America, Inc. | Joint optimization procedure for routing and wavelength assignment with combined dedicated shared protections in multi-cable multi-fiber optical WDM networks |
EP2620746A1 (de) | 2012-01-30 | 2013-07-31 | Hexagon Technology Center GmbH | Vermessungsgerät mit Scanfunktionalität und Einzelpunktmessmodus |
US9462359B2 (en) * | 2014-04-25 | 2016-10-04 | Huawei Technologies Co., Ltd. | System and method for photonic switching |
CN116055303B (zh) * | 2023-02-14 | 2024-09-03 | 中孚安全技术有限公司 | 链路监控处理方法、装置、电子设备及存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4628504A (en) * | 1983-01-31 | 1986-12-09 | Honeywell Inc. | Distributed bus control communication protocol |
JPS6170654A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 分散処理システムにおける資源管理方式 |
US5062035A (en) * | 1986-06-24 | 1991-10-29 | Kabushiki Kaisha Toshiba | Time slot allocation for loop networks |
US4860284A (en) * | 1988-04-20 | 1989-08-22 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method and apparatus for identifying location of a lost token signal in a data communication network |
US5043938A (en) * | 1988-12-29 | 1991-08-27 | Intel Corporation | Node controller for a local area network |
US4970717A (en) * | 1989-02-23 | 1990-11-13 | At&T Bell Laboratories | Photonic local/metropolitan area network |
GB2229896B (en) * | 1989-02-24 | 1993-06-30 | Rosemount Inc | Technique for acknowledging packets |
US5245616A (en) * | 1989-02-24 | 1993-09-14 | Rosemount Inc. | Technique for acknowledging packets |
CA2018719C (en) * | 1989-06-09 | 1993-12-21 | Hiroshi Shimizu | Token passing type slotted loop network system with means for enabling high speed access control and simple frame slot stripping |
US5539882A (en) * | 1992-12-16 | 1996-07-23 | International Business Machines Corporation | Method and system for an efficient multiple access polling protocol for interactive communication |
US5631906A (en) * | 1993-03-11 | 1997-05-20 | Liu; Zheng | Medium access control protocol for single bus fair access local area network |
ES2143632T3 (es) * | 1994-05-23 | 2000-05-16 | British Telecomm | Red de telecomunicaciones optica. |
CA2194864A1 (en) * | 1994-07-13 | 1996-02-01 | Gil Carapelho Cruz | System, apparatus and method for preprocessing and delivering multimedia presentations |
FR2726726A1 (fr) * | 1994-11-04 | 1996-05-10 | Guillemot Christian | Systeme de commutateur pour paquets optiques |
US5606551A (en) * | 1994-12-21 | 1997-02-25 | Lucent Technologies Inc. | Bidirectional mesh network |
WO1996038795A1 (en) * | 1995-05-30 | 1996-12-05 | Corporation For National Research Initiatives | System for distributed task execution |
US5781537A (en) * | 1995-07-07 | 1998-07-14 | International Business Machines Corporation | Setting up, taking down and maintaining connections in a communications network |
MX9800791A (es) * | 1995-07-28 | 1998-04-30 | British Telecomm | Direccionamiento de paquetes. |
US5815667A (en) * | 1995-11-28 | 1998-09-29 | Ncr Corporation | Circuits and methods for intelligent acknowledgement based flow control in a processing system network |
US5732078A (en) * | 1996-01-16 | 1998-03-24 | Bell Communications Research, Inc. | On-demand guaranteed bandwidth service for internet access points using supplemental user-allocatable bandwidth network |
NL1005263C2 (nl) * | 1996-03-06 | 1997-09-09 | Nederland Ptt | Optisch pakket-geschakeld transmissie-netwerk. |
US5740159A (en) * | 1996-05-23 | 1998-04-14 | Northern Telecom Limited | Loopback mechanism for frame relay OAM |
GB9617907D0 (en) * | 1996-08-28 | 1996-10-09 | British Telecomm | Communications network |
US6076114A (en) * | 1997-04-18 | 2000-06-13 | International Business Machines Corporation | Methods, systems and computer program products for reliable data transmission over communications networks |
US6154448A (en) * | 1997-06-20 | 2000-11-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Next hop loopback |
-
1998
- 1998-09-16 CA CA002302215A patent/CA2302215A1/en not_active Abandoned
- 1998-09-16 JP JP2000512329A patent/JP2001517025A/ja active Pending
- 1998-09-16 CA CA002302260A patent/CA2302260C/en not_active Expired - Fee Related
- 1998-09-16 EP EP98942934A patent/EP1016244B1/en not_active Expired - Lifetime
- 1998-09-16 WO PCT/GB1998/002804 patent/WO1999014900A2/en active IP Right Grant
- 1998-09-16 WO PCT/GB1998/002806 patent/WO1999014915A2/en active Application Filing
- 1998-09-16 EP EP98942935A patent/EP1016252B1/en not_active Expired - Lifetime
- 1998-09-16 CN CN98809218A patent/CN1270732A/zh active Pending
- 1998-09-16 DE DE69837609T patent/DE69837609T2/de not_active Expired - Fee Related
- 1998-09-16 AU AU90894/98A patent/AU753148B2/en not_active Ceased
- 1998-09-16 JP JP2000512318A patent/JP4146080B2/ja not_active Expired - Fee Related
- 1998-09-16 DE DE69841787T patent/DE69841787D1/de not_active Expired - Lifetime
- 1998-09-16 US US09/171,915 patent/US6731648B1/en not_active Expired - Fee Related
- 1998-09-16 AU AU90895/98A patent/AU9089598A/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438187A (zh) * | 2015-09-28 | 2017-12-05 | 苏州踪视通信息技术有限公司 | 实时视频传输的带宽调整 |
CN107438187B (zh) * | 2015-09-28 | 2020-06-30 | 苏州踪视通信息技术有限公司 | 实时视频传输的带宽调整 |
Also Published As
Publication number | Publication date |
---|---|
JP4146080B2 (ja) | 2008-09-03 |
DE69837609D1 (de) | 2007-05-31 |
EP1016244B1 (en) | 2007-04-18 |
JP2001517023A (ja) | 2001-10-02 |
WO1999014915A2 (en) | 1999-03-25 |
AU753148B2 (en) | 2002-10-10 |
CA2302260C (en) | 2007-03-13 |
JP2001517025A (ja) | 2001-10-02 |
EP1016252A2 (en) | 2000-07-05 |
EP1016252B1 (en) | 2010-07-28 |
WO1999014915A3 (en) | 2000-01-06 |
DE69841787D1 (de) | 2010-09-09 |
EP1016244A2 (en) | 2000-07-05 |
WO1999014900A3 (en) | 1999-12-02 |
AU9089598A (en) | 1999-04-05 |
CA2302215A1 (en) | 1999-03-25 |
WO1999014915A8 (en) | 2000-07-13 |
US6731648B1 (en) | 2004-05-04 |
CA2302260A1 (en) | 1999-03-25 |
DE69837609T2 (de) | 2007-12-27 |
AU9089498A (en) | 1999-04-05 |
WO1999014900A2 (en) | 1999-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1270732A (zh) | 计算机 | |
US5634015A (en) | Generic high bandwidth adapter providing data communications between diverse communication networks and computer system | |
RU2419226C2 (ru) | Управление памятью для высокоскоростного управления доступом к среде | |
JP3448067B2 (ja) | ネットワークアダプタのためのネットワークコントローラ | |
US5774698A (en) | Multi-media serial line switching adapter for parallel networks and heterogeneous and homologous computer system | |
JP5793690B2 (ja) | インタフェース装置、およびメモリバスシステム | |
JP7394986B2 (ja) | データパケットを送信する方法、及びこの方法を実施する装置 | |
JPS62500978A (ja) | データパケットの待ち合わせ方法、通信ネットワークシステム及びパケット通信用アクセス装置 | |
US20030115350A1 (en) | System and method for efficient handling of network data | |
JPS63234343A (ja) | 通信媒体に結合された複数のステーションからなるシステムのステーションとそれらステーション間の通信方法 | |
CA2073560A1 (en) | Multi-media serial line switching adapter for parallel networks and heterogenous and homologous computer systems | |
EP1570369A2 (en) | An apparatus and method for receive transport protocol termination | |
CN1555513A (zh) | 在总线系统中确定时间的方法和装置以及总线系统 | |
Sun et al. | Republic: Data multicast meets hybrid rack-level interconnections in data center | |
CN110830137B (zh) | 一种基于srio的多节点时间同步控制系统及其同步控制方法 | |
WO2012174838A1 (zh) | 一种网元消息并发处理方法及系统 | |
CN111045817B (zh) | 一种PCIe传输管理方法、系统和装置 | |
JP3387464B2 (ja) | 通信制御システムとその制御方法 | |
EP0505781A2 (en) | Multi-media serial line switching adapter for parallel networks and heterogeneous and homologous computer system | |
US6952826B1 (en) | Method for implementing a multi-level system model for deterministically handling selected data | |
US9336172B2 (en) | Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration | |
JP2004318315A (ja) | データ通信装置 | |
JP3653176B2 (ja) | プロセス実行制御方法 | |
Indiresan et al. | Design tradeoffs in implementing real-time channels on bus-based multiprocessor hosts | |
JP2006114028A (ja) | 複数のデバイスを同期デバイスに相互接続する装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |