CN103283193B - 用于接收和转发数据的装置和方法 - Google Patents

用于接收和转发数据的装置和方法 Download PDF

Info

Publication number
CN103283193B
CN103283193B CN201180064133.XA CN201180064133A CN103283193B CN 103283193 B CN103283193 B CN 103283193B CN 201180064133 A CN201180064133 A CN 201180064133A CN 103283193 B CN103283193 B CN 103283193B
Authority
CN
China
Prior art keywords
grouping
packet
dequeue
queue
output
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.)
Active
Application number
CN201180064133.XA
Other languages
English (en)
Other versions
CN103283193A (zh
Inventor
瑟仁·克拉格
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.)
Napatech AS
Original Assignee
Napatech AS
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 Napatech AS filed Critical Napatech AS
Publication of CN103283193A publication Critical patent/CN103283193A/zh
Application granted granted Critical
Publication of CN103283193B publication Critical patent/CN103283193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5683Buffer or queue management for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6205Arrangements for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Abstract

本发明提供了适于通过向已有预定时间段没有接收到数据的队列转发伪分组来防止队头阻塞的方法和装置。该防止HOL可以在向多个FIFO中的每一个转发数据的输入处或者在将数据从FIFO退出队列的输出处。可以向伪分组提供从最近进入队列或退出队列的分组中导出的时间戳。

Description

用于接收和转发数据的装置和方法
技术领域
本申请涉及用于接收和转发数据的装置和方法,以及具体地,涉及对从多个数据源接收到的数据分组进行时间排序的方式。
背景技术
可以在例如US6647017和US5337308中获知分组的时间排序。
具体地,US6647017公开了,根据到达时间为到达变换阵列的分组分配一个时间标记,将关于要传送的分组的时间标记信息传送到至少某些交换单元上,在至少某些交换单元中,以如下方式根据接收的时间标记信息建立要发送的分组的相对顺序:对于交换单元的每个输出链路,分组的顺序如时间标记所示。
US5337308公开了,在多级交换系统中,在系统的输入端口处将时间戳附着于接收到的每个单元,指示该单元到达输入端口的时间,并且将该单元传递至包括多个交换级的网络,每个交换级包括基本交换模块。所有级的交换模块彼此互连以形成网络。每个交换模块包括自路由交换机和与之连接的缓冲器。持续监视到达交换模块中的给定交换模块的单元(可能不按顺序到达)的时间戳,并检测到时间戳的最小值。当在给定交换模块中存在空缓冲器时,在空缓冲器的输出处生成包含该最小值的时间戳的空闲单元。
发明内容
根据本发明的一方面,提供了一种用于转发数据的系统,所述系统包括:
-接收装置,用于接收多个数据分组,并为每个接收到的数据分组提供时间戳,
-多个FIFO输入队列,每个FIFO输入队列具有输出端或输出存储位置,
-转发装置,适于将每个接收到的数据分组表示在输入队列中,
-队列退出装置,用于将数据分组从输入队列退出,所述退出队列装置适于将位于输入队列的输出端/存储位置处并在所有输入队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,所述退出队列装置适于仅在每个输入队列具有一个或更多个分组时将分组退出队列,
所述系统还包括生成装置,用于在预定时间段没有向输入队列转发数据分组时,向所涉及的输入队列发送具有时间戳的伪分组。
根据本发明的另一方面,提供了一种接收和转发数据的方法,所述方法包括:
-接收多个数据分组,并为每个接收到的数据分组提供时间戳,
-在多个FIFO输入队列中的一个或更多个FIFO输入队列中表示每个接收到的数据分组,每个FIFO输入队列具有输出端或输出存储位置,
-将数据分组从输入队列退出,退出队列包括:将在所有输入队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,仅在每个输入队列具有一个或更多个分组时执行所述退出队列,
所述方法还包括:在预定时间段没有向输入队列转发数据分组时,向所涉及的输入队列发送具有时间戳的伪分组。
附图说明
图1示意性地示出了根据本发明实施例的系统。
具体实施方式
本发明的第一方面涉及用于转发数据的系统,所述系统包括:
-用于接收多个数据分组并为每个接收到的数据分组提供时间戳的接收装置,
-多个FIFO输入队列,每个FIFO输入队列具有输出端或输出存储位置,
-转发装置,适于将每个接收到的数据分组在输入队列中表示,
-队列退出装置,用于将数据分组从输入队列退出,所述队列退出装置适于将在输入队列的输出端/存储位置处表示并在所有输入队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,所述退出队列装置适于仅在每个输入队列具有一个或更多个分组时将分组退出队列,
所述系统还包括生成装置,用于在预定的时间段没有向所涉及的输入队列转发数据分组时,向输入队列发送具有时间戳的伪分组。
在当前上下文中,系统可以是单片电路,并位于单个外壳内,该单个外壳由多个分离电路/元件制成,或者甚至由分散在给定区域上并经由一个或更多个网络(例如包括WWW)彼此连接(经由有线或无线地)以使得可以交换数据的每个电路或网络单元制成。该交换可以遵循任何的数据传输协议,例如,TCP、以太网、Bluetooth等,并使用任何类型的数据传输(有线或无线的)。自然,系统的每个装置可以各自由一个或更多个处理器(例如,FPGA、ASIC等)形成,或者单个这样的处理器可以形成多个装置并执行多个步骤。
系统的功能无需仅是转发数据。如下面将要描述的,可以执行附加处理,例如,分析数据分组。
在当前上下文中,数据可以是一个或更多个数据分组。数据分组可以被排序或分组到流中,并且数据可以包括一个或更多个这种流。
数据分组可以是要由网络、数据缆线、数据总线、干线等发送或传输的任何类型的数据单元。正常来说,数据单元符合一个或多个数据标准,例如,作为umbrella的以太网标准,在该标准下存在多种不同的标准或数据分组类型,例如,UDP和TCP数据分组。数据分组通常具有多个不同的信息项或类型,例如,地址数据、有效载荷等,其每个都位于数据分组内很好地定义或者已知的位置处。这种位置和类型通常将基于数据分组类型而不同,然而常常由实际的数据分组来确定数据分组类型,以及因此其每个内容的位置(可以在分析中推导、改变和/或使用单个的数据项,例如,地址数据和/或有效载荷之后)。类型或标准可以从数据分组中直接推导(例如当分组的具体数据项标识了类型/标准时),或者可以从由数据分组推导出的数据中推导(例如,基于对数据分组的数据项的类型和位置的识别,以及后续对数据分组的类型或标准的确定,其中,可以在这种位置处找到这种数据)。
可以通过多种方式并出于多种原因对接收到的数据分组进行预排序。通常,计算机之间的数据交换是文件传输、TCP传输、VoIP等,其中,单个分组的次序是重要的。通常,这种传递被称为流。
正常来说,数据分组的流是从单个发射机向一个或多个接收机发送的一系列数据分组。这些数据分组涉及例如作为分组的有效载荷,以更小的部分发送的单个文件等。然后,发射机和接收机,或者任何的中间网络单元通常将具有也在分组中表现的地址。此外,取决于单个的数据分组标准,其他的流标识信息可以出现在数据分组中。
从而,可以基于地址和/或流标识信息来标识流,由此,如果始终如一地使用,可以推导出相同的信息,并且任何后续的过程可以仅由该信息来标识该流。在另一情况下,可以在数据分组中向数据分组提供确定其次序的信息,例如,序列号或时间戳。从而,可以使用该信息来对分组排序。
接收装置实际可以接收和/或存储数据或数据分组。备选地,可以接收并将数据分组存储在另一位置处或在与接收/存储装置通信的装置中,由此接收到数据分组的数据,以及然后当数据被存储在其他装置中时通过读取数据来远程访问该数据。后者将通常提供较慢的处理,因为远程访问数据分组。
接收装置通常将是适于从网络接收数据分组的联网单元的类型。从而,如果要接收以太网数据分组,该装置可以具有PHY、MAC等。已知大量的数据协议,然而本领域技术人员将知道关于哪些协议,什么接收装置是有用的。接收装置可以存储数据分组,或者直接馈送数据分组,以用于其他处理/存储/传输。通常提供缓冲器以考虑延迟,然而这不是必要条件。
接收装置还为每个数据分组提供时间戳。然后,接收装置适于确定每个数据分组的时间点或接收/访问并提供对应信息。通常,可以使用对时间的任何表示,例如,时间的标准表示;小时/分/秒。备选地,可以通过更简单的方式以数字来表示时间。自然,如果需要,该数字可以绕回。
因为时间自然会改变,时间或数字优选地以等距的时间点发生改变,例如递增/递减。可以通过被用于递增/递减该时间/数字的周期性信号来控制各个确定装置的本地时钟中时间的流逝。该周期性信号可以是由接收装置导出的信号,或者可以因此从外部单元接收到。如果使用了一个以上的接收装置,可以针对所有的接收装置使用一个时钟,或者接收装置可以各自具有时钟,在这种情况下则对时钟进行同步。
可以将时间戳与数据分组一起提供,然而优选地,通过将时间戳数据添加到数据分组来在数据分组中提供时间戳。然后,可以基于数据分组自身来执行对数据分组的任何后来的分析。
根据本发明,提供了多个FIFO输入队列。在本上下文中,先入先出队列表示例如具有顺序的多个数据项/分组。最老的项/分组是下一个要读出的,并且在最新接收到的项/分组/标识符之后,添加新的项/分组。
可以在沿着从输入端到输出端的线性顺序有多个存储位置的存储器中实现FIFO,其中,分组从输入端向输出端移动,并从输出端输出。通常,存储器具有可分别寻址的单元,并且多个这种单元可以形成队列。自然,存储单元可以是单片的存储单元,或者是由在空间上分隔的多个存储单元组成的存储单元。常见的存储技术基于硬盘驱动、软盘、RAM、ROM、PROM、EPROM、EEPROM、闪存、存储卡、CD-ROM、DVD、存储卡等。自然,可以例如在循环存储器中实现FIFO,在循环存储器中,数据/项不移动,但移动指针,该指针指向输入端和输出端。
队列可以保持实际的数据分组或其各部分,或者队列在仅将数据分组的标识符保持在队列中的意义上可以是虚拟的,其中,可以将实际的数据分组存储在其他位置。如果转发装置适于转发数据分组,如果不需要并且可以丢弃数据分组的一部分,仅需要转发数据分组的一部分,因为可以节省空间。如果不希望再次输出数据分组,为了不占据空间,例如可以删除其中的寻址信息。
该存储/表示可以包括转发装置导出或接收在其中存储了数据的存储器或队列的地址。如所提到的,可以在存储器(例如,循环缓冲器)中实现队列或所有的队列,由此向队列的末端添加数据将是在该队列的末端指针处的地址处添加数据。可以由转发装置自身导出该地址,或者可以(例如,应请求)从调度器、仲裁器或其他地址生成单元接收该地址。
优选地,当将数据退出队列时,还保持数据的位置(例如,用于指示这种数据的任何指针),以使得更新的信息对于转发装置或向其生成地址的装置也是可用的。
与实现无关,期望有FIFO操作。该FIFO具有以下优点:以期望的顺序(例如,以时间顺序)向其添加的数据分组/项将保持该顺序,并因此以该顺序输出。因此,可以将数据分组添加到任何类型的存储器,只要以存储的顺序来读出该数据分组。
如果提供了分离的存储单元,地址将描述实际存储单元的标识以及其中的“本地地址”。
在一个实施例中,如果使用了一个以上的接收装置,每个接收装置适于仅向队列的子组转发标识符/数据分组,其中,不同的接收装置向队列的不同子组转发标识符/数据分组。在一个以上的接收单元适于向队列转发标识符/数据分组的情况下,期望提供调度器,该调度器确保每个队列中的标识符/数据分组以其时间戳所指示的顺序来转发。从而,在一个实施例中,这些接收装置向调度器转发与共享队列的分组/标识符的时间戳有关的信息,以及调度器将指示所涉及的接收装置何时可以在该队列中表示标识符/分组。
将数据分组从输入队列退出可以是将数据分组或其部分从队列实际移除。备选地,在不需要向具体的存储区转发数据分组或者不需要从具体的存储区移除数据分组的意义上,队列可以是虚拟的,然而可以通过所标识的数据分组的顺序来定义队列,而不移动它们。从而,队列是虚拟的,并且可以通过将其标识从数据分组的顺序中移除来对数据分组进行删除/移除/退出队列。
在另一情况下,队列可以是数据分组或其标识符的列表(例如,循环列表),其中由例如指针来标识队列的末端。从而,退出队列可以是末端指针从退出队列的分组/标识符向下一个分组/标识符移位。
从而,退出队列装置可以是用于从队列实际读取或删除数据分组的装置。备选地,退出队列装置可以对队列的表示进行操作,并仅移除队列中的队列标识。
队列可以是FIFO队列,所移除的数据分组总是队列中最早接收到的数据分组。
根据本发明,退出队列装置适于每次一个地将数据分组退出队列。如果所有队列保持一个或更多个数据分组,退出队列装置仅将数据分组退出队列。
此外,退出队列装置将具有最低时间戳的分组退出队列。在该方面,要记住,仅考虑第一或顶部的数据分组。此外,要注意到,时间戳可以是具有整数间隔的整数,由此时间戳可以“绕回”,以使得实际上可以将最大(高)的整数视为比最小(低)的整数小(低)。
通过这种方式,确保了如果较低时间戳数据分组要被馈送到另一队列但被延迟,则具有较高时间戳的数据分组不能赶上具有较低时间戳的数据分组,从而当较后的分组要被退出队列时,该队列是空的。
要注意到,可以选择不同的策略来用于为数据分组选择队列,例如数据分组的优先级。因此,队列可以“正当地”在任何的时间段为空,并且这不应被允许用来停止过程。
然而,该类型的系统可以经历被称为队头(Head-Of-Line)阻塞(HOL阻塞)的过程,其中,空队列将使得过程停止。
为了防止这种类型的阻塞,提供了生成装置,生成装置向在预定的时间段没有向其发送数据分组的队列发送伪分组。
从而,如果队列是空的,并且因而停止了系统,则通过生成装置向该队列发送伪分组来结束该情况,其后,退出队列装置将会对其作用,并从而以退出队列来开始。
在该方面,退出队列装置将伪分组和数据分组同等对待,即使在退出队列之后,将不同地对待该两种类型的数据分组。
在该方面,可以在向队列添加数据分组和将数据分组退出队列时向队列添加伪分组和将伪分组退出队列。然后,要注意到,伪分组的唯一相关部分可以是时间戳,由此伪分组在队列中可占据非常少的空间。
在当前上下文下,除了时间戳之外,伪分组不需要其他信息。自然,如果退出队列装置适于从退出队列的分组中读取例如地址数据,并对其作用,则可以期望也向伪分组提供地址数据。此外,如果向其他电路馈送被退出队列的伪分组,则伪分组可以是添加的其他数据,例如链路信息等,该其他电路可受益于该数据。通常将不向伪分组提供与队列的数据分组有关的数据,而是可以向伪分组提供与其所位于的队列有关的数据,例如,队列长度。
优选地,伪分组的时间戳是生成伪分组的实际时间点。备选地,可以使用较早的时间点,例如减去预定时间段的实际时间点。备选地,可以使用较晚的时间点。然而,应该牢记的是,期望队列中的所有分组以其时间戳的顺序位于其中。
自然可以根据需要选择该预定的时间段。较短的时间段将允许过程停止较小,但然后转发更多的伪分组并因而消耗更多带宽。较长的时间段将降低所使用的带宽,但允许停止持续较长。可以关于接收装置中的任何最大处理延迟来确定时间段,以使得当该时间已经过去时,确保了在队列中表示所有较早的分组,并且可在然后生成伪分组。
从而,可以使用该包括伪分组的退出队列技术来校正接收装置和队列之间或者甚至在接收数据分组之前的延迟中的任何差异。这可以反映在生成伪分组之前的允许过去的时间段中。
在一个实施例中使用了单个接收装置。在该方面,当接收装置正在控制向所有输入队列转发数据分组时,可以由接收装置来生成伪分组。
然而,在优选实施例中,接收装置包括在物理上分离的多个接收电路,每个接收电路适于接收多个数据分组,并向每个接收到的数据分组提供时间戳,每个接收电路包括生成装置。
当提供多个接收装置时,系统变得更通用,因为可以提供更多或更少的这种接收装置来适配系统的容量。
然而,在该情况下,可以由单个的接收装置来生成伪分组。从而,如果接收装置注意到其在预定时间段内没有向给定的输入队列转发分组,则可以转发伪分组,而与其他接收装置是否已经转发了数据分组还是伪分组无关。
在另一实施例中,提供调度器来确保从多个接收装置向单个输入队列转发的数据分组是按正确顺序转发的。该调度器还可被用于生成伪分组,因为其可以监视对所有输入队列的所有数据分组传递,并因此可以向供应不足的队列生成单个伪分组,并且仅在该输入队列已在预定时间段期间没有从任何接收装置接收到数据分组时生成。
备选地,调度器可以指示接收装置生成并向供应不足的输入队列转发伪分组。在该方面,可以使用任何接收装置,例如,接收装置中较不忙的接收装置。可以由用于从接收装置向来自各个接收装置的队列传递数据分组的请求的数目来决定接收装置的“忙碌度”。
自然,如果每个接收装置向不从其他接收装置接收数据分组的输入队列转发数据分组,则不需要调度器,因为如同在仅有一个接收装置的情况下一样,接收装置自身可以确保分组在队列中的正确排序以及伪分组的生成。
然而,当提供各自适于向接收到的数据分组加时间戳的多个接收装置时,期望协调时间戳。从而,期望接收装置都接收公共时钟信号,以使得对加时间戳进行协调。备选地,或此外,每个接收装置可以包括本地时钟,其中,所有这种时钟都是同步的。
在一个实施例中,退出队列装置适于丢弃伪分组。从而,退出队列装置将不输出这种伪分组。另一方面,退出队列装置可适于输出已退出队列的数据分组,该已退出队列的数据分组现在将按其时间戳的顺序来输出,而与其被馈送到哪个输入队列无关。
可以输出这些输出数据分组,以用于任何类型的使用,例如,对其的分析。现在按照其到达时间来对数据分组排序,由此方便了对例如数据分组流的分析。
在该分析之后,或简单地在退出队列之后,可以通过任何期望的方式从系统输出数据分组。例如,可以期望将数据分组从其接收到分组的相同数据传输链路/线缆/或甚至端口并按相同的时间顺序输出。在该情况下,本系统在该通信链路上可以是透明的或不可见的。
在一个实施例中,系统还包括多个FIFO输出队列,每个FIFO输出队列具有输出端或存储位置,退出队列装置适于按照从输入队列退出的顺序来向一个或更多个输出队列转发从输入队列退出的数据分组。
这些输出队列可以位于公共存储器(例如还实现输入队列的存储器)中和/或可以在接收装置中实现。可以在以下情况下使用系统:当在将数据分组从其退出的接收装置中出现小的队列,以及在从其馈送接收装置中的队列的另一存储器中出现较大的队列。
自然,不是所有接收到或退出队列的数据分组都需要被转发到输出队列。在一些情况下,如果经历拥塞,则会希望和允许分组丢弃。分组丢弃是常用的行为,并且这甚至可以不影响当前系统的透明性/不可见性。
按照从输入队列退出的顺序并因此按照其时间戳的顺序,将向输出队列转发的数据分组向输出队列转发。因此,退出队列以及对退出队列的数据分组执行的任何分析将不对数据分组进行重新排序。从而,通过该方式(这是具有输入队列的情况),将单个输出队列中的数据分组按其时间戳值排序。
在一个实施例中,退出队列装置仅将来自输入队列的分组退出到不从其他输入队列接收分组的输出队列。在该情况下,可以向所有这种输出队列拷贝来自该输入队列的伪分组。
在另一实施例中,退出队列装置适于从退出队列的数据分组导出时间戳,生成伪分组,向伪分组提供导出的时间戳,并向至少已有预定时间段没有向其转发退出队列的数据分组的输出队列转发伪分组。
这是有利的,因为退出队列装置自身可能不能够生成可靠的时间戳,由此从最近退出队列的分组(数据或伪分组)拷贝一个时间戳要容易得多,该分组例如是之前立即向输出队列转发的分组,或者在新生成的伪分组之后要立即转发的分组。自然,新生成的伪分组的时间戳可以是任何2、4、6、8、10或50个新退出队列的分组的时间戳。
在具体的情况下,存在包括一个输入队列和一个输出队列的队列对,队列对的队列不重叠,其中,退出队列装置适于向一个对的输出队列馈送从该对的输入队列退出的数据分组,此外,退出队列装置适于向该对的输出队列馈送来自该对的输入序列的任何伪分组。
该对是不重叠的,意味着每个输入队列和每个输出队列仅是一个对的成员(如果有)。
从而,可以向一个对的对应输出队列馈送从该对的输入队列退出的数据分组和伪分组。再次地,可以允许分组丢弃,因此在输入队列中和输出队列中的分组之间不需要存在总的对应关系,然而该对的输出队列中分组的排序与该对的输入队列中的排序将是相同的。
一般而言,当系统还包括用于将数据分组和伪分组从输出队列退出的输出退出队列装置时,在输出队列中使用伪分组是引人关注的,输出退出队列装置适于将在输出队列的输出端/存储位置处并在所有输出队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,输出退出队列装置适于仅在每个输出队列具有一个或更多个分组时将分组退出队列。
从而,当输出队列的内容(除了任意丢弃的分组之外)可以与输入队列的内容相同时,并且当以相同的方式发生退出序列时,可以看到相同的HOL阻塞。然而,这被伪分组自动阻止了,该伪分组也被馈送到输出队列,并实际上被馈送到否则将会供应不足的输出队列。
在该情况下,输出队列的退出队列的不同在于,可以在输出队列的子组内执行退出队列,其中,一个子组的退出队列可以独立于另一子组的退出队列。这可以是当将输出队列的不同子组向不同的输出(例如,不同的接收装置)退出队列时的情况。
自然,当与输入队列相关时,可以针对任何的输出队列生成伪分组,而与将什么策略/规划用于向输出队列馈送退出队列的分组以及实际上是否以时间顺序向其馈送退出队列的分组无关。退出队列和/或对退出队列的数据分组进行分析的任何处理器可以通过例如如上所述地拷贝另一分组的时间戳来生成伪分组。备选地,可以使用单个的单元或元素来监视输出队列并根据需要生成伪分组。
本发明的第二方面涉及接收和转发数据的方法,所述方法包括:
-接收多个数据分组,并为每个单个的接收到的数据分组提供时间戳,
-在多个FIFO输入队列中的一个或更多个FIFO输入队列中表示每个接收到的数据分组,每个FIFO输入队列具有输出端或存储位置,
-将数据分组从输入队列退出,所述退出队列包括:将在所有输入队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,仅在每个输入队列具有一个或更多个分组时执行退出队列,
该方法还包括:在已有预定的时间段没有向所涉及的输入队列转发数据分组时,向输入队列发送具有时间戳的伪分组。
接收步骤通常将包括从数据线缆或链路接收数据分组。可以使用任何期望的协议和任何期望的技术来执行该数据传输,例如无线的(Bluetooth、WLAN、WAN、红外通信等)或有线的(例如,以太网)等。
加时间戳可基于本地时钟或接收到的时钟信号。
表示步骤可以包括向队列实际转发数据分组或其一部分。备选地,可以使用仅接收分组标识符的虚拟队列,然后,可以将其存储在其他位置。
类似地,退出队列步骤可以包括在以下情况下从队列实际读取/移除数据分组:队列实际保持数据分组,以及在退出队列后,在其他位置处需要该数据分组。备选地,在移除队列中的分组的标识符中,将分组退出队列可以是虚拟的。
可以例如在循环列表中实现队列,其中,将数据分组或其标识符退出队列可以简单地是位置(例如指针)的改变,该位置表示队列中被占据的位置与空闲位置之间的界限,以使得后续将使用其他数据来覆写该数据分组或标识符。
退出队列步骤可以包括仅读取并在然后丢弃数据分组。备选地,可以由退出队列装置来输出或进一步分组退出队列的数据分组,退出队列装置从而可以是任何类型的处理器、服务器、处理器组等。从而,退出队列装置可以具有其自己的存储器等,以能够执行所要求的任务。
发送步骤可以包括中央发送,由此可以仅需要单个生成装置,或者可以提供多个生成装置。在一个情况下,在每个接收装置中提供生成单元。在该情况下,并且当多个接收装置适于向相同的队列发送接收到的数据分组时,如果在预定时间段期间队列没有从多个接收装置接收到分组,则可以向该队列转发多个伪分组。然而,这不需要是问题,因为退出队列装置可以丢弃伪分组,并且因为该队列缺少数据分组将自动提供带宽,以使得伪分组的发送不是限制因素。
在一个实施例中,接收步骤包括多个物理上分离的接收电路,每个接收电路接收多个数据分组,并针对/向每个单独接收到的数据分组提供时间戳。从而,基于其自己对输入队列在预定时间段内没有接收到数据分组这一事实的确定,或者由例如已执行了该确定的调度器来指示,每个接收电路可以能够执行发送伪分组的步骤。该调度器还可被用于确保按正确的顺序来向相同输入队列转发来自多个接收装置的数据分组。此外,单独的接收电路可以各自具有时钟。在该情况下,期望时钟是同步的。这种时钟的同步是本领域技术人员已知的。
在该方面,可以期望每个接收装置适于至少向接收装置适于将标识符/数据分组馈送所至的队列发送伪分组。
在一个实施例中,退出队列步骤包括丢弃伪分组。通过这种方式,如果之后不需要这些伪分组或其中的任何信息,则在退出队列或任何稍后的转发或分析处节省了带宽。
在一个实施例中,退出队列步骤包括:按从输入队列退出队列的顺序,向多个FIFO输出队列中的一个或更多个FIFO输出队列转发从输入队列退出的数据分组,每个FIFO输出队列具有输出端或存储位置。
在该情况下,退出队列装置可以生成要向在预定时间段内没有接收到分组的输出队列转发的伪分组。在该情况下,退出队列步骤可以包括:从退出队列的数据分组中导出时间戳,生成伪分组,向伪分组提供导出的时间戳,并向至少已在预定时间段内没有向其转发退出队列的数据分组的输出队列转发伪分组。
在该实施例中,以下可以是优选的:存在包括一个输入队列和一个输出队列的队列对,队列对的队列不重叠,其中,退出队列步骤包括向一个对的输出队列馈送从该对的输入队列退出的数据分组,此外,退出队列步骤包括向该对的输出队列馈送来自该对的输入序列的任何伪分组。
要注意到,在将来自一个输入队列的分组退出到不从其他输入队列接收分组的输出队列的情况下,可以向所有这种输出队列拷贝来自该输入队列的伪分组。
然后,该方法还可以包括通过将在输出队列的输出端/存储位置处并在所有输出队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,从输出队列退出数据分组和伪分组的步骤,仅在每个输出队列具有一个或更多个分组时执行将数据分组从输出队列退出的步骤。
下面将参考附图来描述本发明的优选实施例,其中,图1示意了根据本发明的优选实施例。
在图1中示意了系统10,在系统10中,多个分析器12、14和16从任何源(例如,网络、WWW等)接收数据分组。
分析器12/14/16对这些数据分组加时间戳,并经由总线18向队列32/34/36中的一个或更多个转发每个数据分组或其至少一部分。将分组(或其一部分)与其时间戳一起存储在队列中。
可以向数据分组提供时间戳,或者可以将时间戳与数据分组一起(不在数据分组中)一起发送。
要注意到,在将时间戳与数据分组的标识符一起向队列转发并从而实际上不传递/拷贝数据分组时,可以获得相同的功能。
可以对这些分组(或其各部分)执行任何期望分析的处理器40将数据分组(或其各部分)38从队列32/34/36退出,并根据需要输出。
使用分析器中同步的、单个的时钟(未示意)来执行对分析器12/14/16中的数据分组加时间戳。备选地,可以向分析器12/14/16转发全局时钟信号,或者组合可以是优选的。
在本实施例中,期望处理器40按与接收数据分组38并对其加时间戳的相同顺序来接收数据分组38/将数据分组38退出队列。
为了确保这一点,处理器40将会使具有最低时间戳的分组从队列32/34/36退出,然而,其将仅在每个队列32/34/36中出现至少一个分组时将分组退出队列。
因此,针对每个队列32/34/36,每个分析器12/14/16将跟踪其何时向该队列32/34/36转发数据分组(或其一部分),以及如果已经超过预定时间段,将伪分组D与对应于发送伪分组D的时间点的时间戳一起向该队列转发。
如果分析器12/14/16通知调度器20其希望向哪些队列32/34/36发送分组以及其时间戳,调度器20可被用于确保分组38/D在单个队列32/34/36中的排序。在此之后,调度器20能够通过指示分析器12/14/16按正确的顺序向队列32/34/36馈送分组38/D来仲裁和排序分组38/D。
在简单实施例中,每个分析器12/14/16仅向队列32/34/36中的一个或一些发送数据分组,并且不同分析器12/14/16向不同队列发送数据分组。从而可以不需要调度器20,并且可以将总线18替换为从分析器12/14/16到相关队列32/34/36的单个的数据连接。
使用伪分组确保了系统的任何队头阻塞仅持续预定时间段,在该时间段之后,可以将队列中的所有分组(其将具有较早的时间戳)退出队列。如果队列32/34/36具有若干伪分组D(例如,来自多个分析器12/14/16),这不会成为问题,因为这些分组D将会被按正确的顺序退出队列,将防止队头阻塞,并将不会在队列32/34/36之间的链路上以及在一侧的队列32/34/36和另一侧的处理器40上占据过多的带宽,因为这些链路优选地应该能够携带可能的完整带宽,并且伪分组D的存在是向这些队列32/34/36转发的分组的数目较低的信号。
从而,在这种类型的退出队列中使用伪分组将有助于考虑到从分析器12/14/16到队列32/34/36(例如,总线18上)的延迟中的任何差异。此外,考虑了分析器12/14/16中的延迟(在加时间戳之后)。
备选解决方案可以是下面的解决方案:调度器20自身生成并向供应不足的输入队列32/34/36转发伪分组,或者指示分析器12/14/16(例如不忙碌的分析器)这样做。
自然,处理器40可以丢弃伪分组D,以不在对伪分组D的处理上花费带宽,然而在期望也从处理器40输出退出队列的数据分组38时,实际会期望将这些伪分组D馈送通过处理器40。
当处理器40按到达顺序(时间戳)来将数据分组38退出队列时,其可以按相同的顺序向一个或更多个输出队列52/54/56输出数据分组。
这些输出队列52/54/56可以位于共同的存储器(例如,与输入队列32/34/36相同的存储器)中和/或其可在分析器12/14/16中提供。在一个实施例中,在分析器中提供小的队列,并在另一存储器中提供较大的队列,从该另一存储器向分析器中的存储器馈送数据分组,在从分析器输出数据分组之前,从分析器中的存储器发生退出队列。从而,一个分析器中的退出队列独立于另一分析器中的退出队列。
对于输入队列处的情况,可以在处理器40和队列之间使用专用链路,或者使用与调度器20相类似的调度器来使用与总线18相对应的总线或使用调度器20来经由总线18是可能的。
现在,可以通过相同的方式将数据从输出缓冲器中退出队列,即,如果没有空的队列,仅将分组退出队列,以及将具有最低时间戳的数据分组退出队列。在该层级处,通常丢弃伪分组D。
在一个情况下,在输入总线32/34/36和输出总线52/54/56的对之间存在对应关系,以使得可以向对的输出总线输出从该对的输入总线接收到的分组38/D。在该情况下,可以重复使用伪分组D,即馈送通过处理器到输出端口,因为输入端口处的队列填充模式将被复制到输出端口。
在具体的实施例中,期望分析器12/14/16的数据输出与接收到的相同,意味着输出的数据分组的顺序与输出的数据分组的顺序相同。自然,如果处理器等变得太忙,可以丢弃数据分组,但按照接收的顺序来对输出的分组排序。
该实施例可被用于在系统将是“透明”的情况下的使用,即,输出/接收分组的计算机不能够探知该分组被截取和分析。
在更一般性的实施例中,在输入和输出队列之间没有对应关系,以使得处理器40可以决定向任何输出队列52/54/56转发已分析的数据分组38。在本实施例中,处理器40优选丢弃从输入队列32/34/36退出的伪分组D,然而生成用于以相同方式在输出队列52/54/56中使用的新的伪分组D,即,如果处理器40在预定时间段内没有向队列转发数据分组38,则向该队列馈送伪分组D,以防止队头阻塞。该新的伪分组可以具有从另一最近退出队列或处理的分组拷贝的时间戳。
然后,可以按时间顺序将输出队列52/54/56的分组38/D退出队列,可以丢弃伪分组D,以及可以在任何期望的方式输出数据分组38。
在将来自输入队列的分组转发到不从其他输入队列接收分组的输出队列的特殊情况下,可以向所有这种输出队列拷贝来自该输入队列的伪分组。
自然,可以通过任何适合的方式来实施单个的队列,以及特别是在形成输入队列和输出队列的对的实施例中,可以使用单个存储器来形成一对的两个队列。该存储器可以是持有队列的所有数据/伪分组的环形存储器,其中,使用指针来描述哪些分组在输入队列中,哪些分组在输出队列中以及环形存储器的哪些存储器位置是空的。从而,从输入队列到处理器40的数据分组的退出队列可以是至处理器40的数据分组发送,或者处理器40简单地读取存储器中的数据分组。此外,从处理器40向输出队列52/54/56“馈送”数据分组从而可以是向存储器或其控制器发送指令,以简单地在存储器内移动数据分组,或者更简单地,重定向其中的指针以指示数据分组现在是输出队列的一部分。
自然,可以针对该处理器或每个处理器使用任何数目的队列。还可以对这种队列区分优先级,或者可以向不同队列馈送具有不同优先级或内容的数据分组。从而,如果看到拥塞,简单地丢弃较低优先级队列中的分组38或属于向具体队列发送的类型的数据分组将是可能的。这将不会损坏时间排序,同时降低了带宽要求并从而解除了拥塞。
在一个实施例中使用多个处理器,每个处理器具有其自己的输入队列(对应于32/34/36),该输入队列可被使用调度器20来经由总线18馈送,或者可被(如果期望)经由专用链路从分析器12/14/16或其他分析器(未示意)馈送。在该情况下,多个处理器可以丢弃已分析的分组,或者使用与调度器20相类似的调度器经由对应于总线18的总线或使用调度器20经由总线18来向输出队列馈送数据分组。每个处理器可以向其他处理器不向其输出分组的队列输出数据分组,或者多个处理器可以能够向相同的队列输出分组。
自然,分析器12/14/16根本无需分析分组。备选地,其可以执行任何期望的分析,并且可以向数据分组添加与所执行的任何分析或其结果有关的信息,以用于稍后使用。备选地,信息/结果可被与数据分组一起转发并且不在数据分组中。
在一个情况下,处理器40可以执行对数据分组的分析。该分析可以是任何期望的分析,例如对与例如相同数据流有关的一组数据分组的分析。该分析可以基于与在分析器中执行的预处理有关并且与数据分组一起提供或在数据分组中的任何信息。
在另一情况下,处理器除了仅将数据分组退出队列之外没有其他功能,并因此仅用于按通过上述退出队列的方法获得的时间顺序来输出退出队列的分组(数据分组38和伪分组D(如果未被丢弃))。
要注意到,当前的加时间戳以及时间信息可以基于对时间的任何所期望的表示。时间可以是从外部世界接收到的真实时间,或者可以是系统使用的本地时间。时间可以是绝对的或相对的。
优选地,时间是相对的,并由预定整数范围内的整数来表示。当已经到达最大值时,整数绕回。该整数定期地并以关于数据分组的最大接收频率来适当选择的预定频率递增,其意味着数据速率或数据分组的接收带宽和最小数据分组大小。期望在相同的时隙内,相同的分析器12/14/16不能接收两个分组。

Claims (14)

1.一种用于转发数据的系统,所述系统包括:
-接收装置,用于接收多个数据分组,并为每个接收到的数据分组提供时间戳,
-多个FIFO输入队列,每个FIFO输入队列具有输出端/存储位置,
-转发装置,适于将每个接收到的数据分组表示在输入队列中,
-队列退出装置,用于将数据分组从输入队列退出,所述退出队列装置适于将位于输入队列的输出端/存储位置处并在所有输入队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,所述退出队列装置适于仅在每个输入队列具有一个或更多个分组时将分组退出队列,
所述系统还包括生成装置,用于在预定时间段没有向输入队列转发数据分组时,向所涉及的输入队列发送具有时间戳的伪分组。
2.根据权利要求1所述的系统,其中,所述接收装置包括物理上分离的多个接收电路,每个接收电路适于接收多个数据分组,并向每个接收到的数据分组提供时间戳,每个接收电路包括生成装置。
3.根据权利要求1或2所述的系统,其中,所述退出队列装置适于丢弃伪分组。
4.根据权利要求1或2所述的系统,还包括多个FIFO输出队列,每个FIFO输出队列具有输出端或存储位置,所述退出队列装置适于按照从输入队列退出的顺序来向一个或更多个输出队列转发从输入队列退出的数据分组。
5.根据权利要求4所述的系统,其中,所述退出队列装置适于从退出队列的数据分组中导出时间戳,生成伪分组,向伪分组提供所导出的时间戳,并向至少已在预定时间段内没有向其转发退出队列的数据分组的输出队列转发伪分组。
6.根据权利要求4所述的系统,其中,存在包括一个输入队列和一个输出队列的队列对,所述队列对的队列不重叠,其中,所述退出队列装置适于向一个对的输出队列馈送从该对的输入队列退出的数据分组,所述退出队列装置还适于向该对的输出队列馈送来自该对的输入序列的任何伪分组。
7.根据权利要求6所述的系统,还包括输出退出队列装置,用于将数据分组和伪分组从输出队列退出,所述输出退出队列装置适于将位于输出队列的输出端/存储位置处并在所有输出队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,所述输出退出队列装置适于仅在每个输出队列具有一个或更多个分组时将分组退出队列。
8.一种接收和转发数据的方法,所述方法包括:
-接收多个数据分组,并为每个接收到的数据分组提供时间戳,
-在多个FIFO输入队列中的一个或更多个FIFO输入队列中表示每个接收到的数据分组,每个FIFO输入队列具有输出端/存储位置,
-将数据分组从输入队列退出,退出队列包括:将在所有输入队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,仅在每个输入队列具有一个或更多个分组时执行所述退出队列,
所述方法还包括:在预定时间段没有向输入队列转发数据分组时,向所涉及的输入队列发送具有时间戳的伪分组。
9.根据权利要求8所述的方法,其中,所述接收步骤包括:物理上分离的多个接收电路各自接收多个输出分组,并针对/向每个接收到的数据分组提供时间戳,每个接收电路能够执行发送伪分组的步骤。
10.根据权利要求8或9所述的方法,其中,所述退出队列步骤包括丢弃伪分组。
11.根据权利要求8或9所述的方法,其中,所述退出队列步骤包括:按照从输入队列退出队列的顺序,向多个FIFO输出队列中的一个或更多个FIFO输出队列转发从输入队列退出的数据分组,每个FIFO输出队列具有输出端或存储位置。
12.根据权利要求11所述的方法,其中,所述退出队列步骤包括:从退出队列的数据分组中导出时间戳,生成伪分组,向伪分组提供所导出的时间戳,并向至少已在预定时间段内没有向其转发退出队列的数据分组的输出队列转发伪分组。
13.根据权利要求11所述的方法,其中,存在包括一个输入队列和一个输出队列的队列对,所述队列对的队列不重叠,其中,所述退出队列步骤包括向一个对的输出队列馈送从该对的输入队列退出的数据分组,所述退出队列步骤还包括向该对的输出队列馈送来自该对的输入序列的任何伪分组。
14.根据权利要求13所述的方法,还包括以下步骤:通过将位于输出队列的输出端/存储位置处并在所有输出队列的输出端/存储位置处的所有分组中具有最低时间戳的分组退出队列,从输出队列退出数据分组和伪分组,仅在每个输出队列具有一个或更多个分组时执行将数据分组从输出队列退出的步骤。
CN201180064133.XA 2011-01-04 2011-12-27 用于接收和转发数据的装置和方法 Active CN103283193B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161429663P 2011-01-04 2011-01-04
US61/429,663 2011-01-04
PCT/EP2011/074096 WO2012093056A1 (en) 2011-01-04 2011-12-27 An apparatus and method for receiving and forwarding data

Publications (2)

Publication Number Publication Date
CN103283193A CN103283193A (zh) 2013-09-04
CN103283193B true CN103283193B (zh) 2016-01-13

Family

ID=45446045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180064133.XA Active CN103283193B (zh) 2011-01-04 2011-12-27 用于接收和转发数据的装置和方法

Country Status (8)

Country Link
US (1) US9246850B2 (zh)
EP (1) EP2661845B1 (zh)
JP (1) JP6266982B2 (zh)
KR (1) KR20130135894A (zh)
CN (1) CN103283193B (zh)
BR (1) BR112013017245A2 (zh)
DK (1) DK2661845T3 (zh)
WO (1) WO2012093056A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445828B2 (en) * 2013-03-20 2019-10-15 Sagar Dinesh Chheda Method and system for generating stock price alerts based on real-time market data
KR101446441B1 (ko) 2013-08-31 2014-10-06 김태준 타임스탬프 값 조정에 의한 차별적 패킷 손실을 지원하는 가중치 기반 공정 패킷 스케줄링
US10885583B2 (en) * 2013-12-19 2021-01-05 Chicago Mercantile Exchange Inc. Deterministic and efficient message packet management
EP3217614B1 (en) * 2016-03-09 2018-09-19 Mitsubishi Electric R&D Centre Europe B.V. Multiplexing method for scheduled frames in an ethernet switch
AU2018231406B2 (en) * 2017-03-08 2023-02-02 Hitachi Energy Ltd Methods and devices for preserving relative timing and ordering of data packets in a network
US20190155645A1 (en) * 2019-01-23 2019-05-23 Intel Corporation Distribution of network traffic to processor cores
CN111147573A (zh) 2019-12-24 2020-05-12 网宿科技股份有限公司 一种数据传输的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389031B1 (en) * 1997-11-05 2002-05-14 Polytechnic University Methods and apparatus for fairly scheduling queued packets using a ram-based search engine
CN1499784A (zh) * 2002-10-25 2004-05-26 ���Ͽع����޹�˾ 高效排序的日历堆系统和方法
CN101674174A (zh) * 2008-09-12 2010-03-17 华为技术有限公司 一种提高时钟稳定度的方法及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979733A (en) * 1975-05-09 1976-09-07 Bell Telephone Laboratories, Incorporated Digital data communications system packet switch
JPH05207062A (ja) 1992-01-27 1993-08-13 Nec Corp パケット交換方式
US5870396A (en) * 1996-12-31 1999-02-09 Northern Telecom Limited Output queueing in a broadband multi-media satellite and terrestrial communications network
FI104671B (fi) 1997-07-14 2000-04-14 Nokia Networks Oy Kytkentäkenttäjärjestely
US6088734A (en) * 1997-11-12 2000-07-11 International Business Machines Corporation Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes
US6091709A (en) * 1997-11-25 2000-07-18 International Business Machines Corporation Quality of service management for packet switched networks
US6072772A (en) * 1998-01-12 2000-06-06 Cabletron Systems, Inc. Method for providing bandwidth and delay guarantees in a crossbar switch with speedup
JP3228708B2 (ja) * 1998-04-03 2001-11-12 パイオニア株式会社 伝送システムにおける受信インターフェース装置
US6459708B1 (en) * 1999-12-21 2002-10-01 Toledo Communications, Inc. Apparatus and method for providing T1/E1 telecommunications trunks over IP networks
KR100459036B1 (ko) * 2001-12-18 2004-12-03 엘지전자 주식회사 에이티엠 스위치 시스템의 트레인 패킷 구성 방법
US7415540B2 (en) * 2002-12-31 2008-08-19 Intel Corporation Scheduling processing threads
FR2854296A1 (fr) * 2003-04-24 2004-10-29 France Telecom Procede et dispositif pour differenciation implicite de la qualite de service dans un reseau
US20050281277A1 (en) * 2004-06-22 2005-12-22 Killian Thomas J Establishing traffic priorities in a voice over IP network
US8265091B2 (en) * 2004-08-18 2012-09-11 Avaya Inc. Traffic multiplexing using timestamping
US7741607B2 (en) * 2005-08-04 2010-06-22 Koninklijke Philips Electronics N.V. Modular signal processing backbone for PET
JP4547339B2 (ja) * 2006-01-30 2010-09-22 アラクサラネットワークス株式会社 送信制御機能を備えるパケット中継装置
JP4842075B2 (ja) * 2006-09-28 2011-12-21 京セラ株式会社 音声伝送装置
US7802032B2 (en) * 2006-11-13 2010-09-21 International Business Machines Corporation Concurrent, non-blocking, lock-free queue and method, apparatus, and computer program product for implementing same
US20090097848A1 (en) * 2007-10-12 2009-04-16 Sasak Anthony L Sharing value of network variables with successively active interfaces of a communication node
US8934890B2 (en) 2008-01-11 2015-01-13 Texas Instruments Incorporated Transmission of data bursts on a constant data rate channel
US8121128B2 (en) * 2008-02-26 2012-02-21 Qualcomm Incorporated Method and apparatus for link control in a wireless communication system
US7953004B2 (en) * 2009-01-06 2011-05-31 Alcatel Lucent Minimizing effects of packet delay variation in time-division multiplexing pseudowire services
US20120008573A1 (en) * 2010-07-08 2012-01-12 Apple Inc. Radio resource signaling during network congestion in a mobile wireless device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389031B1 (en) * 1997-11-05 2002-05-14 Polytechnic University Methods and apparatus for fairly scheduling queued packets using a ram-based search engine
CN1499784A (zh) * 2002-10-25 2004-05-26 ���Ͽع����޹�˾ 高效排序的日历堆系统和方法
CN101674174A (zh) * 2008-09-12 2010-03-17 华为技术有限公司 一种提高时钟稳定度的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Delay-Constrained High Throughput Protocol for Multi-Path Transmission;Shuang Li等;《World of Wireless, Mobile and Multimedia Networks, 2008. WoWMoM 2008. 2008 International Symposium on a Date of Conference》;20080626;全文 *

Also Published As

Publication number Publication date
BR112013017245A2 (pt) 2016-10-25
US20130279509A1 (en) 2013-10-24
EP2661845B1 (en) 2014-08-13
JP2014504817A (ja) 2014-02-24
CN103283193A (zh) 2013-09-04
WO2012093056A1 (en) 2012-07-12
KR20130135894A (ko) 2013-12-11
DK2661845T3 (da) 2014-11-10
US9246850B2 (en) 2016-01-26
EP2661845A1 (en) 2013-11-13
JP6266982B2 (ja) 2018-01-24

Similar Documents

Publication Publication Date Title
CN103283193B (zh) 用于接收和转发数据的装置和方法
US10749812B2 (en) Dynamic network flows scheduling scheme in data center
TWI713329B (zh) 於乙太網路交換器中用於排程訊框之多工方法、網路系統、網路處裡裝置及電腦程式產品
EP0886939B1 (en) Efficient output-request packet switch and method
US9380007B2 (en) Method, apparatus and system for packet reassembly and reordering
CN1543149B (zh) 网络环境中的流控制
CN102754395B (zh) 由中央控制器控制的接收和存储数据分组的设备和方法
CN103339903B (zh) 用于接收和转发数据分组的装置和方法
US20070081456A1 (en) Priority based bandwidth allocation within real-time and non-real time traffic streams
CN108768876B (zh) 一种面向机器学习框架的流量调度方法
EP3562110A1 (en) Traffic management for high-bandwidth switching
US8588242B1 (en) Deficit round robin scheduling using multiplication factors
CN105308920B (zh) 多播流重排序方案
CN102742220A (zh) 使用加时间戳和中央控制器由多个适配器对数据帧进行的分布式处理
CN107431667A (zh) 在网络设备中调度数据包
JP2014504817A5 (zh)
CN102763381A (zh) 在通过控制对队列填充级别进行更新来节省带宽的同时接收并存储数据的组件和方法
CN109688070A (zh) 一种数据调度方法、网络设备及转发单元
JP2009253422A (ja) セル分散型スイッチファブリック
Li et al. Survey on traffic management in data center network: from link layer to application layer
CN106921586B (zh) 一种数据流整形方法、数据调度方法以及装置
CN107210970B (zh) 用于在源节点与宿节点之间发送数据的方法
EP1461920A1 (en) Method for real time network traffic admission and scheduling
JP5183460B2 (ja) パケットスケジューリング方法および装置
EP4102791A1 (en) Data validity based network buffer management system

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