CN1543149A - 网络环境中的流控制 - Google Patents

网络环境中的流控制 Download PDF

Info

Publication number
CN1543149A
CN1543149A CNA2003101196069A CN200310119606A CN1543149A CN 1543149 A CN1543149 A CN 1543149A CN A2003101196069 A CNA2003101196069 A CN A2003101196069A CN 200310119606 A CN200310119606 A CN 200310119606A CN 1543149 A CN1543149 A CN 1543149A
Authority
CN
China
Prior art keywords
router
indication
ports
data
receive
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
CNA2003101196069A
Other languages
English (en)
Other versions
CN1543149B (zh
Inventor
Df
D·F·胡坡
ά
M·J·维尔德
M·J·埃帝莱特
G·沃尔里其
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1543149A publication Critical patent/CN1543149A/zh
Application granted granted Critical
Publication of CN1543149B publication Critical patent/CN1543149B/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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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
    • 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/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/5603Access techniques
    • H04L2012/5609Topology
    • H04L2012/561Star, e.g. cross-connect, concentrator, subscriber group equipment, remote electronics
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • 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/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供流控制,包括在路由器接收一个不与路由器直接相连,但从路由器接收数据的多个端口中的每一个端口的能力指示,并至少根据指示控制从路由器到多个端口的数据传输。

Description

网络环境中的流控制
背景技术
诸如路由器的网络产品使用高速部件用于分组移动,也就是从入局网络设备端口采集分组数据和排队用于传输到适当的转发设备端口的分组数据。网络产品也可以使用高速的专用控制器,用于处理分组和做转发判定。
附图说明
图1是一个网络结构方框图。
图2是一个示出了流量控制处理的流程图。
图3是一个双芯片路由器的方框图。
图4是一个包括共享存储器的双芯片路由器的方框图。
图5是一种可替换的网络结构方框图。
说明书
参考附图1,一个网络结构的实例100包括路由设备102(“路由器102”),它通过物理端口106将网络分组传输到多个端口104(1)-104(N),和多路复用设备108(“多路复用器108”)(N可以代表任意正整数;典型地,N是与千相似的)。此例中的端口104(1)-104(N)被认为是“虚拟端口”,因为它们不是与路由器102直接相连,例如,通过另一个装置如多路复用器108,它们被物理分离。端口104(1)-104(N)可以缓冲经过网络110传输到达它们各自的目的地例如用户房屋设备的分组。
每一个端口104(1)-104(N)具有它可以接收和缓冲分组的最大比特率。路由器102可以被配置成知道端口104(1)-104(N)的最大比特率,但如果任一端口的带宽被用于不同于从路由器102接收分组的目的,路由器102可以不知道它的最大比特率。端口104(1)-104(N)可以是双向的,并使用带宽用于接收和传输分组。
如果路由器102传输分组到端口104(1)-104(N)中的一个超过了该端口的最大比特率,那么该端口的缓冲器可以溢出。溢出可以导致网络性能的降低,丢失分组,延迟分组的传输,和/或其它类似影响。而且,当端口104(1)-104(N)缓冲数据时,端口104(1)-104(N)可获得的比特率(实际的,端口104(1)-104(N)可接受的、不产生溢出的实时比特率)变得比它们最大比特率小。每一个端口104(1)-104(N)的可获得的比特率,可以随着网络环境不能预料的变化,例如随着不同于路由器102的设备传输和随着由端口104(1)-104(N)缓冲的数据而变化,和随着与多路复用器108相关的其它比特模式而变化。
多路复用器108可以向路由器102提供有关每个端口可以获得的比特率的信息,例如,通过在物理端口106上汇编和发送一个就绪向量112到路由器102。路由器102可以存储就绪向量112和在发送数据到端口104(1)-104(N)中的一个之前读取就绪向量112。这样,路由器102可以知道到端口104(1)-104(N)中的哪一个,若有的话,路由器102可以传输分组而不会产生溢出。就绪向量112也可以告知路由器102关于路由器102可以用于传输分组到端口104(1)-104(N)中的不同端口的比特率。
就绪向量112可以是一个包含有多个比特的进行/禁行向量,其中每个比特与端口104(1)-104(N)中的一个相关联,并指示此端口是否可以接收数据。任意一个“1”或“0”可以指示一个端口有用于接收更多数据的空间而相反的状态可以指示此端口已经充分缓冲且不能在没有溢出的情况下接收更多数据。
可替换的,就绪向量112可以是一个包含有多个比特的速率控制向量,其中两个比特与端口104(1)-104(N)中的每一个相关联。这两个比特可以指示四种编码:0/0,0/1,1/0,和1/1。这些编码可以指示与这些比特相关联的端口可以以一个比现行比特率更快的比特率接收数据(加速编码),可以以现行比特率接收数据(恒定编码),可以以一个比现行比特率更慢的比特率接收数据(减速编码),和根本不能接受任何数据(不传输的编码)。加速编码、恒定编码、减速编码和不传输的编码中的每一个可以和四个比特状态编码中的任意一个相关联。为了程序设计中的简化,典型地,此编码可以与表示在就绪向量112中的用于每一个端口104(1)-104(N)的相同,例如,编码0/0始终表示加速。
多路复用器108是发送给路由器102一个进行/禁行向量还是一个速率控制向量,就绪向量112可以在一个就绪向量中指示多个端口的状态。例如,128比特的就绪向量使用比特控制向量可以携带多达512个端口指示,或者使用进行/禁行向量可以携带多达1024个端口指示。这样,用在物理端口106上用于流量控制的带宽的数量可以比用于为每一个端口104(1)-104(N)发差单独的流量控制消息或分组的少。
而且,多路复用器108可以在一个或多个分组中传输就绪向量112,分组形成一片段。通过使用基于分组的就绪向量,多路复用器108在一次数据传输中可以传输大量端口的状态。例如,就绪向量可以包括114a,114b,114c等片段,每个片段(在此例中)包括作为一个或多个分组或帧来传输的16比特信息。多路复用器108可以基于包括表示片段的正确顺序的114a,114b,114c等片段中的信息(特别是报头信息)来汇编就绪向量112。
参考附图2,流量控制处理200是使用就绪向量112控制到端口104(1)-104(N)的数据流的实例。尽管流量控制处理200用参考包括在图1网络结构100中的部件来描述,这个或一个相似的处理可以用另一种方式来执行,相似的网络结构包括相同或相似的部件。
在流量控制处理200中,在方框202中,路由器102在物理端口106上接收来自多路复用器108的数据。在物理端口106上,路由器102可以接收用于路由到端口104(1)-104(N)中的一个的原始数据分组和就绪向量。从而,在数据前部的封装包括一个比特,该比特通过使用一个“1”代表一种类型的数据和一个“0”代表另一种类型的数据来说明路由器102接收的分组包括的是原始数据分组还是一个就绪向量。另外,路由器102接收的数据可被识别,例如,通过另一种封装或首部技术,通过在路由器102和多路复用器108之间的不同的通信链路上发送不同类型的数据,或者通过另一种类似的技术。
在方框204中,路由器102确定它从多路复用器108接收的数据是什麽类型,例如,通过读取封装比特。如果数据包括一个就绪向量,那么路由器102按下面进一步解释地处理数据。
如果数据包括分组数据,那么在方框206中路由器102选择端口104(1)-104(N)中的一个用于数据传输。路由器102基于任一种路由技术选择端口104(1)-104(N)中的一个。例如,路由器102可以在包括在路由器102中或对路由器102来说是可以获得的路由查询表中查询分组的下一步的目的地,并选择端口104(1)-104(N)中服务于那个目的地的一个。在此例中,假定路由器102选择第一端口,端口104(1)(“选择的端口104”)。
在方框208中,路由器102也从接收数据的预先检测中读取就绪向量112或就绪向量112的一部分。路由器102使用就绪向量112去确定是否和/或怎样传输分组到选择的端口104。(就是说,路由器102预先接收就绪向量112并存储在本地或可以存取的存储装置中,如以下进一步的描述)。路由器102可以一次读取就绪向量112一定数量的比特。在此例中,路由器102可以一次读取就绪向量112的32个比特,对应于一次读取用于32个端口的信息(就绪向量是一个进行/禁行就绪向量)或用于16个端口的信息(就绪向量是一个速率控制就绪向量)。
一种路由器102可以在选择的端口上访问包括信息的就绪向量112的部分的方法,包括就绪向量112的基本存储地址加上经过移5位的所选端口的端口号来读取就绪向量112的32比特数据。这样,路由器可以获得一个用于32个端口的就绪向量,包括所选端口104。
路由器102不能在接收每个分组之后读取就绪向量112但保持一定速率,路由器102读取就绪向量112的速率可以取决于一个在传输分组到端口104(1)-104(N)的请求响应。
例如,如果从路由器102到多路复用器108的数据传输每50周期出现一次,路由器102用1600周期传输数据到32个端口。如果一个周期等于5毫微秒,那么这样的传输可以导致8微秒的等待时间。为了说明读取和如果需要,汇编就绪向量112和选通传输到多路复用器108的数据,这种等待时间可能从8微秒增加到10微秒。网络等待时间加上这10微秒提供总比特响应等待时间。由端口速率乘以总比特响应等待时间,从而导致在端口104(1)-104(N)中需要缓冲。这种计算可以以相反的顺序执行:在端口104(1)-104(N)提供一个固定的缓冲,路由器102可以计算所需的就绪比特响应等待时间,减去网络等待时间,和计算在一个周期需要读取的端口就绪比特的数量。
在此例中为了简化,假设路由器102在从多路复用器108接收每个分组之后读取就绪向量112。
从就绪向量112(或读出的包括所选端口104上的信息的就绪向量112的一部分),在方框210中,路由器102检测就绪向量112以确定所选端口准备就绪从路由器102接收数据。如果就绪向量112是一个进行/禁行向量,那么路由器102执行一个进行/禁行处理212,而如果就绪向量112是一个速率控制向量,那么路由器102执行一个速率控制处理214。
在进行/禁行处理212中,路由器102通过检测包含在与所选端口104对应的就绪向量112中的比特,确定路由器102是否可以传输数据到所选端口104。在方框216中,路由器102确定所选端口的就绪比特是导通还是断开。典型地,一个“1”指示一个端口是导通的并可以接收数据,而一个“0”指示一个端口是断开的和在不溢出的情况下,不能接受任何多余数据。
如果所选端口104是导通的,那么在方框218中,路由器102传输分组到所选端口104。通常,一个端口是导通还是断开取决于就绪向量112中与所选端口相关联的1或0比特状态,一个状态相当于导通,另一个状态相当于断开。如果所选端口104是断开的,那么在方框220中路由器102跳过所选端口,或者选择端口104(1)-104(N)中的另一个来传输分组或等待传输分组到所选端口104直到一个更迟的时间,例如,在一个随后的就绪向量112的检测显示所选端口104是导通的之后。
路由器102可以确定所选端口104的就绪比特是导通还是断开的另一种方法路包括对就绪向量112的比特执行一个逻辑操作。在一个实例中,路由器102对从存储器中读取的32比特就绪向量112或任何一个32比特串执行一个逻辑与操作(一个“1”指示一个端口是导通的)。在结果的比特串中的每个“1”指示与那个比特位置相关联的端口可以接收数据。这样,路由器102用一次操作就能够识别多个端口导通和断开的位置,这种操作比单独检测包含在就绪向量112中的每个比特更有效。
在速率控制处214中,在方框222中,路由器102从就绪向量112中(或就绪向量112的一部分)确定用于所选端口104的编码是否指示到所选端口104的传输是允许的,和,如果这样,在传输中使用何种比特率。如果就绪向量112包含用于所选比特104的一个加速编码,一个恒定编码,或一个减速编码,那么所选端口104可以接收数据。在方框224中,路由器102以编码指示的比特率传输分组到所选端口104。
更明确地,路由器102可以提高现有比特率(由于加速编码)或降低现有比特率(由于减速编码)一个固定的量或一个浮动的量(例如,实时)。例如,如果编码是指示加速的编码,那么路由器102可以以“X+1”比特率传输数据到所选端口104。对于每个“X”传输到所选端口104,路由器102可以执行另一个传输到所选端口104。类似地,如果编码是指示减速的编码,那么路由器102可以以“X-1”比特率传输数据到所选端口104,每个“X”传输到所选端口104,路由器102可以跃过所选端口104传输一次。(在这些例子中,“X”代表任意正整数)。
如果所选端口104的指示是不传输的编码,那么所选端口104不可能溢出端口缓冲器的情况下不接收任何数据,因此在方框226中,路由器102跃过所选端口104。路由器102可以选择端口104(1)-104(N)中的另一个或如上所述的等待。
在方框204中,如果路由器102确定它从多路复用器108接收的数据括一个就绪向量,那么在方框228中,路由器102确定是否它接收一个向量子集。例如,一个向量子集是就绪向量112的一部分,它包括一部分而不是所有端口104(1)-104(N)的信息。路由器102可以存储向量子集,与一个完整的就绪向量不同。
如果路由器102没有接收一个向量子集,那么在方框230中,路由器102在一个存储位置地址存储接收的就绪向量112。存储位置地址可以是路由器内部,例如,包括临时或本地的存储器例如高速缓冲存储器,数据采集装置例如一个数据库、随机存储器(RAM)、或其它类似的存储装置,或相反地是路由器102可存取的存储位置地址,例如,包括诸如数据库的数据采集装置、快速存储装置如静态随机存取存储器(SRAM)、高速缓冲存储器、或其它类似的存储装置。那么路由器102可以从所需的存储位置地址读取就绪向量112。
如果路由器102接收到一个向量子集,那么在方框232中,路由器102汇编向量子集与其它向量子集。这种汇编可以包括在一个存储位置地址存储向量子集,以便向量子集被存储在一个与包括存储位置地址中其它向量子集的地址连续的地址,编排就绪向量112。
包括具有多路复用器108发送到路由器102的就绪向量112的一个片段索引,可以帮助路由器102以正确的连续顺序汇编向量子集。例如,如果一个完整的就绪向量包括512比特,由多路复用器108发送的每个向量子集可以包括36比特:一个4比特片段索引和32比特向量子集。片段索引可以指示包括在一个完整的就绪向量中的16个向量子集中的向量子集的位置,从第1(比特指示符0000)到第16(比特指示符1111)。如果路由器102接收向量子集的次序紊乱,使用片段索引是特别有帮助的,例如,在0比特到32比特的向量子集之前接收33比特到64比特的向量子集。
路由器102可以包含配置成有助于分组的接收和传输的装置。在路由器102已选择了端口104(1)-104(N)中的一个之后,一个装置可以从多路复用器108接收、汇编和分类分组,而另一个装置可以传输分组到多路复用器108。
参照图3,在一个路由器装置的实例中,路由器102汇编成包括一个接收处理器302和一个传输处理器304的双芯片路由器/整形器。总的来说,接收处理器302处理分组汇编和分类,而传输处理器304处理分组传输和整形。
在接收处理器302中,路由器102从多路复用器108接收数据,例如分组和就绪向量(参见图1)。一接收和识别一个就绪向量,接收处理器302就通过一个内部芯片的高带宽总线306或通过一个专用的就绪总线308传输就绪向量到传输处理器304。
接收处理器304和传输处理器304在接收和传输包括来自和去向端口的就绪向量的分组时可以使用一个仲裁系统,这样,接收和/或传输可以由仲裁系统来确定,例如通过一个循环赛技术、优先排队法、有利于公平的排队法、或其它类似的仲裁技术类型。在另一个例子中,接收处理器304和传输处理器304可以基于服务速率和最大端口速率,接收和/或传输去向和来自端口的分组。服务速率的例子包括恒定比特率(CBR),实时和非实时变化的比特率(分别是rt-VBR和nrt-VBR),未指定的比特率(UBR),和其它类似的速率类型。
路由器102可以包括内部芯片的高带宽总线306和专用的就绪总线308,或者路由器102可以仅包括总线306、308中的一个。接收处理器302传输就绪向量到传输处理器304作为单个就绪向量或作为一个汇编的就绪向量。发送一个汇编的就绪向量到传输处理器304,可以使传输处理器304更有效的定位用于特殊分组目的地的信息。例如,端口。
一接收和识别分组,接收处理器302就汇编分组和其它包含在相同的分组流(如果分组是一个分组片段)中的分组,并分类分组。分类分组可以包括识别用于分组的传输需求,例如服务质量项、所需带宽等等。接收处理器302在高带宽总线306或就绪总线308上传输分组(单独或作为一个汇编的分组流的一部分)和任何有关的分类信息到传输处理器304。典型地,接收处理器302在相同的总线上传输就绪向量和分组到传输处理器304。
传输处理器304可以在高带宽总线306和/或就绪总线308上接收就绪向量和分组。传输处理器304确定在哪里和如何传输分组,例如,正如在流量控制处理200中所描述的(参见附图2),和传输分组到它们合适的目的地。
参见附图4,路由器装置的另一个实例400说明路由器102如何设置来接收数据和传输数据。在这个例子中路由器102以一个包括共享SRAM的双芯片路由器/整形器来设置,包括一个接收处理器402和一个传输处理器404和一个双端口SRAM 406。接收处理器402和传输处理器404通常运行如同上述同样名称的处理器,参考路由器装置的实例300(参见附图3)。
接收处理器402接收和识别就绪向量和分组并传输它们到传输处理器404或双端口SRAM 406上。接收处理器402在一个内部芯片总线408上传输分组(和任何有关分类的信息)到传输处理器404。
接收处理器402传输就绪向量到双端口的SRAM 406,作为汇编的向量数组或作为单个就绪向量(向量子集)。如果接收处理器402传输单个就绪向量,接收处理器402可以传输单个就绪向量用于存储在双端口的SRAM 406的特殊存储位置,以便双端口SRAM 406连续地存储就绪向量,例如,0到32比特的就绪向量位于X410位置,33到64比特的就绪向量位于X加上32比特的位置412,65到96比特的就绪向量位于X加上64比特的位置414,等等。这样的连续存储可以帮助传输处理器404更有效的定位用于特殊分组的目的地信息。
双端口SRAM 406存储就绪向量,传输处理器404从双端口SRAM 406读取就绪向量。传输处理器404在确定哪里和如何传输分组时,可以使用来自就绪向量中的数据。
参见附图5,网络结构的另一个实例500包括一个路由器502(“路由器502”),它可以通过一个多路复用设备506(“多路复用器506”)和一个物理端口508和/或一个边带(频带外)总线510(“就绪总线510”)传输分组到多个端口504(1)-504(M)。(M可以代表任意正整数;典型地,M是与千类似)。典型地,就绪总线510拥有比物理端口508窄的带宽,并且主要或专门用于路由器502和诸如多路复用器506的设备间的控制信息的传输。端口504(1)-504(M)可以缓冲通过网络512传输到它们的各自的目的地的分组,例如,用户房屋设备。路由器502,端口504(1)-504(N),多路复用器506,物理端口508,和网络512可以如上所述地被执行,参考包含在图1中的相同名称的部件,图5中描述的单元可以如图1中相同名称的单元类似的被执行。就绪总线510可以充当图3中就绪总线308。
在网络结构500中,多路复用器506可以在就绪总线510上传输一个就绪向量514。就绪向量514可以与图1中对就绪向量112的描述一样被执行。多路复用器506也可以使用物理端口508传输就绪向量到路由器502。为了简化这个例子,假设多路复用器506在就绪总线510上传输所有的就绪向量。
路由器502周期的读取就绪总线510,通过发行选择信号(未示出)到多路复用器506以响应于存取数据,例如通过执行一个获取命令。响应于选择信号,多路复用器506从端口504(1)-504(M)中被选的一个越过就绪总线510返回就绪向量514到路由器502。就绪向量514可以包括一个完整的就绪向量或多个16比特的就绪向量子集(虽然子集可以是任意比特大小)。
在一系列获取命令和多路复用器响应之后,如果多路复用器506传输向量子集,路由器502可从一个完整的就绪向量中接收所有的就绪比特。例如,如果M等于256,这里有256个端口504(1)-504(256),并且如果每个获取命令响应在就绪总线510上从多路复用器506发送16比特数据到路由器502,16个获取命令将返回所有的就绪比特。典型地,多路复用器506发送连续的向量子集,例如,先是0到32比特的向量子集,然后是33到64比特的向量子集,等等。尽管向量子集可以无序的传输和/或接收。
此外,典型地,就绪总线510上的读取顺序重复。在路由器502发布获取完整的就绪向量的命令,典型地,路由器502发布一个以用于第一个端口或端口504(1)-504(M)的比特开始的获取命令,例如,在发布一个获取一个256比特就绪向量中的251-256比特的命令之后,下一个获取命令将用于1到16比特。
在接收和汇编就绪向量514之后,路由器502可以把就绪向量514写到SRAM516上。SRAM 516可以起到图4中双端口SRAM 406的作用。
参考附图1-5描述的单元可以以多种方式被执行。
路由器102和502可以每个包括一个能够引导去向和/或来自各自的物理端口106和508的信息的设备。路由器102和502的实例包括能够发送网路业务和/或进行在去它的目的地的途中在哪发送网路业务的确定的设备,诸如路由设备,业务整形器,路由器和业务整形器的组合,和其它类似的设备。
端口104(1)-104(N)和504(1)-504(M)可以每个包括任何能够接收和缓冲用于传输到另一个装置或设备的数据的装置。端口104(1)-104(N)和504(1)-504(M)的实例包括套接字,逻辑信道,信道端点,和其它类似的装置。
网络110和512可以每个包括任何种类和任意组合的网络,例如因特网,局域网(LAN),广域网(WAN),专用网络、公用网络、或其它类似的网络。网络110和512每个包括一个作为以太网工作的局域网LAN。以太网的实例包括一个10BaseT以太网,一个快速以太网,一个千兆位以太网,一个十千兆位以太网,和其它类似的更快和较慢的以太网。一个10BaseT以太网通常是指可以以10Mbps传输信息的以太网装置。一个快速以太网通常是指使用一个100BaseT以太网的以太网装置,也称为快速以太网标准(电气电子工程师学会(IEEE)标准802.3u,1995年采用),以100Mbps传输信息。一个千兆位以太网通常是指使用IEEE标准802.3z(1998年采用)以1000Mbps传输信息的以太网装置。一个十千兆位以太网通常是指使用IEEE标准802.3ae(第一次计划2000年采用)以比千兆位以太网快十倍的速率传输信息的以太网装置。
多路复用器108和506可以每个包括任何能够把多个传输结合成一个单个传输和/或反之亦然。多路复用器108和506作为数字用户连接接入多路复用器(DSLAM)展示,但是其它类似的设备(具有或没有DSL能力)也可以被使用。
双端口SRAM 406和SRAM 516可以每个包括任何能够存储数据的存储装置,通常以一种相对快的接入速率,不需要刷新。
单元之间传输的信息可以以通常叫做分组的数据块传输,分组数据单元可以包括整个网络分组(例如,一个以太网分组)或这样一个分组的一部分。分组可以有不同或固定的大小。有固定大小的分组称为单元。每个发送分组可以是分组流的一部分,在此分组中的每一个称为一片段,包括在分组流中适合于一起形成连续的数据流。
数据可以在通信链路上在单元之间传输。通信链路可以包括任何种类和任意通信链路的组合例如总线,物理端口,调制解调器链路,以太网链路,电缆,点对点链路,红外线连接,光纤链路,无线链路,蜂窝链路,蓝牙,卫星链路,和其它类似的链路。另外,通信链路中的每一个可以包括一个或多个专用通信链路。总线通信链路,总线可以有任意带宽,例如,16比特、32比特、64比特等等,并可以以任何速度运行,例如,33MHz,100MHz等等。一个总线可以有一个边带功能部件,在那里总线包括并列的信道,它们可以每个同时携带数据和/或地址信息。
另外,为了解释起来容易,网路结构100和500可以简化。网路结构100和500可以每个包括更多或较少的附加单元例如网络,通信链路,代理服务器,集线器,桥接器,交换器,路由器,处理器,存储位置地址,防火墙或其它安全装置,因特网服务提供者(ISP),和其它单元。
这里所描述的技术不局限于任何特殊的硬件或软件结构;它们可以在任何计算或处理环境中找到应用。此项技术可以在硬件、软件或两者的结合中被执行。可以在运行在可编程的机器上的程序中执行此项技术,例如移动或固定计算机,个人数字助理,和类似的设备,每个设备包括一个处理器,一个处理器可读取的存储介质(包括易失的或非易失的存储器和/或存储位置地址),至少一个输入设备,和一个或多个输出设备。应用于使用输入设备输入的数据的程序代码,执行所描述的功能并产生输出信息。输出信息将应用于一个或多个输出设备。
每个程序可以被一种高级程序或面向对象的编程语言执行,与一个机器系统通信。但是,如果需要,程序可以用汇编或机器语言执行。无论如何,语言可以是一种编译或解释语言。
每个这样的程序可以存储在一个存储介质或设备中,例如,只读光盘(CD-ROM),硬盘,磁盘,或类似介质或设备,它是可以被通常或特殊目的可编程机器读取的,用于当存储介质或设备被计算机读取去执行这篇文献中所描述的处理时,配置和操作机器。系统也可以认为是作为机器可读取存储介质被实现,配置有一个程序,其中存储介质如此配置使机器以一种特殊的和预定义的方式运行。
而且,当前处理的单可以以与所示产生一个可接收的结果相比不同的顺序运行。
其它实施例在后面的权利要求的范围之内。

Claims (42)

1、一种提供流量控制的方法,包括:
在路由器接收多个端口中的每一个的能力指示,所述端口没有与路由器直接相连,但可从路由器接收数据;和
至少根据所述指示,控制从路由器到多个端口的数据传输。
2、权利要求1的方法,进一步包括:从多个端口传输数据到网络。
3、权利要求1的方法,进一步包括:在存储位置地址存储所述指示。
4、权利要求1的方法,进一步包括:如果所述指示表明多个端口中的一个可以接收数据,从路由器传输数据到多个端口中的那个。
5、权利要求1的方法,进一步包括:至少根据指示,改变到多个端口的数据传输速率。
6、权利要求1方法,其中的指示包括指示多个端口是否可以接收数据的比特。
7、权利要求1的方法,进一步包括:
在路由器接收一个附加端口从路由器接收数据的能力的附加指示,和
至少根据附加指示,控制从路由器到附加端口数据传输。
8、权利要求7的方法,进一步包括:在与存储指示的另一个存储位置地址连续的存储位置地址处存储附加指示。
9、权利要求1的方法,进一步包括:在路由器的物理端口上接收来自可以使用多个端口的设备的指示。
10、权利要求1的方法,进一步包括:在路由器的边带总线上接收来自可以使用多个端口的设备的指示。
11、权利要求1的方法,进一步包括:在路由器上接收来自可以使用多个端口的数字用户线接入多路复用器的指示。
12、权利要求1的方法,进一步包括:
在路由器处接收多个向量,多个向量中的每一个指示多个端口的子集从路由器接收数据的能力;
把多个向量汇编成一个向量;和
使用所述一个向量来控制从路由器到多个端口的数据传输。
13、权利要求1的方法,其中的数据包括分组。
14、一种用于提供流量控制的制品,该制品包括含有机器可执行指令的机器可读介质,当指令被机器执行时,促使机器执行的操作包括:
在路由器处接收多个端口中的每一个的能力的指示,所述端口没有与路由器直接相连,但可从路由器接收数据;和
至少根据指示,控制从路由器到多个端口的数据传输。
15、权利要求14的制品,进一步包括:从多个端口传输数据到网络。
16、权利要求14的制品,进一步包括:在一个存储位置处存储所述指示。
17、权利要求14的制品,进一步包括:如果指示表示多个端口中的一个可以接收数据,从路由器传输数据到多个端口中的那个。
18、权利要求14的制品,进一步包括:至少根据指示,改变到多个端口的数据传输速率。
19、权利要求14的制品,其中指示包括指示多个端口是否可以接收数据的比特。
20、权利要求14的制品,进一步包括:
在路由器接收表示附加端口从路由器接收数据的能力的附加指示,和
至少根据附加指示,控制从路由器到附加端口的数据传输。
21、权利要求14的制品,进一步包括:在与存储指示的另一个存储位置地址连续的存储位置地址处存储附加指示。22、权利要求14的制品,进一步包括:在路由器的物理端口上接收来自可以使用多个端口的设备的指示。
23、权利要求14的制品,进一步包括:在路由器的边带总线上接收来自可以使用多个端口的设备的指示。
24、权利要求14的制品,进一步包括:在路由器上接收来自可以使用多个端口的数字用户线接入多路复用器的指示。
25、权利要求14的制品,进一步包括:
在路由器处接收多个向量,多个向量中的每一个指示多个端口的子集从路由器接收数据的能力;
把多个向量汇编成一个向量;和
使用所述一个向量来控制从路由器到多个端口的数据传输。
26、权利要求14的制品,其中数据包括分组。
27、一种提供流量控制的系统,包括:
配置成能够提供多个端口的设备,每个都配置成能够传输数据到网络;和
不和多个端口直接相连的路由器,被配置成能够接收多个端口中的每一个端口从路由器接收数据的能力的指示,并被配置成能够至少根据指示控制从路由器到多个端口的信息传输。
28、权利要求27的系统,其中的设备包括数字用户线接入多路复用器。
29、权利要求27的系统,进一步包括:能够被路由器存取和配置成能够存储指示的存储机制。
30、权利要求29的系统,其中的路由器包括存储机制。
31、权利要求29的系统,其中的存储机制包括一个能够被路由器存取的快速存储机制。
32、一种提供流量控制的装置,包括:
接收处理器,配置成能够从装置接收多个端口中的每一个端口接受数据的能力的指示;
传输处理器,配置成能够至少根据指示控制从装置到多个端口的信息传输
总线,能够承载在接收处理器和传输处理器之间的信息。
33、权利要求32的装置,进一步包括:存储机制,能够被接收处理器和传输处理器存取并配置成能够存储指示。
34、权利要求33的装置,其中的传输处理器还被配置成能够从存储机制中检索有关指示的信息,并且传输处理器在控制从装置到多个端口的数据传输中使用此信息。
35、权利要求33的装置,其中的存储机制包括静态随机存储器。
36、权利要求32的装置,其中接收处理器还被配置成能够接收多个指示器,每一个指示器表明多个端口的子集从装置接收数据的能力,并汇编多个指示器形成指示。
37、权利要求32的装置,其中的总线包括装置内部的高带宽总线。
38、权利要求32的装置,其中接收处理器还被配置成能够接收分组,并且传输处理器也被配置成能够至少根据指示,确定多个端口中的哪一个用于传输分组。
39、权利要求32的装置,进一步包括:配置成能够运行程序线程的微型发动机,线程包括接收处理器和传输处理器。
40、一种装置,包括:
接收处理器,配置成能够接收多个端口中的每一个端口从装置接收数据的能力的指示,每个端口不与装置直接相连。
41、权利要求40的装置,其中的接收处理器也被配置成能够接收多个指示器,每一个指示器表明多个端口的一个子集从装置接收数据的能力,并汇编多个指示器形成指示。
42、一种装置,包括:
传输处理器,配置成能够至少根据指示控制从装置到多个端口中的每一个端口的信息传输,多个端口不与装置直接相连。
43、权利要求42的装置,其中的传输处理器还被配置成能够从存储机制中检索有关指示的信息,并且传输处理器在控制从装置到多个端口的数据传输中使用此信息。
CN2003101196069A 2002-11-05 2003-11-05 网络环境中的流控制 Expired - Fee Related CN1543149B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/290,040 2002-11-05
US10/290,040 US7433307B2 (en) 2002-11-05 2002-11-05 Flow control in a network environment

Publications (2)

Publication Number Publication Date
CN1543149A true CN1543149A (zh) 2004-11-03
CN1543149B CN1543149B (zh) 2010-04-28

Family

ID=32176130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2003101196069A Expired - Fee Related CN1543149B (zh) 2002-11-05 2003-11-05 网络环境中的流控制

Country Status (5)

Country Link
US (1) US7433307B2 (zh)
EP (1) EP1561314A2 (zh)
CN (1) CN1543149B (zh)
AU (1) AU2003287215A1 (zh)
WO (1) WO2004045168A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027491A (zh) * 2013-03-12 2015-11-04 思科技术公司 明确地重排列分组的系统和方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
TW561740B (en) * 2002-06-06 2003-11-11 Via Tech Inc Network connecting device and data packet transferring method
US7181742B2 (en) * 2002-11-19 2007-02-20 Intel Corporation Allocation of packets and threads
KR20040052921A (ko) * 2004-05-17 2004-06-23 김기천 분산 트래픽 제어를 위한 클록 동기화 장치
US20060067348A1 (en) * 2004-09-30 2006-03-30 Sanjeev Jain System and method for efficient memory access of queue control data structures
US7555630B2 (en) * 2004-12-21 2009-06-30 Intel Corporation Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit
US20060140203A1 (en) * 2004-12-28 2006-06-29 Sanjeev Jain System and method for packet queuing
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US7515535B2 (en) * 2006-05-10 2009-04-07 Cisco Technology, Inc. Technique for efficiently managing bandwidth for multipoint-to-multipoint services in a provider network
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
WO2008070414A2 (en) * 2006-12-01 2008-06-12 Conexant Systems, Inc. Multiplexing/demultiplexing on a shared interface
US7746778B2 (en) * 2006-12-12 2010-06-29 Intel Corporation Resource based data rate control
FR2916595A1 (fr) * 2007-05-24 2008-11-28 Thomson Licensing Sas Procede de transmission de paquets de donnees
JP5014362B2 (ja) 2009-02-25 2012-08-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
US9894397B2 (en) * 2011-12-15 2018-02-13 Cisco Technology, Inc. Controlling bit-rates for media streaming sessions
US9804024B2 (en) 2013-03-14 2017-10-31 Mojo Labs, Inc. Light measurement and/or control translation for daylighting
US20160014549A1 (en) * 2014-03-07 2016-01-14 Mojo Labs, Inc. Dual Mode RF System
US10070496B2 (en) 2015-03-30 2018-09-04 Mojo Labs, Inc. Task to wall color control
US10742569B2 (en) 2018-11-12 2020-08-11 Cisco Technology, Inc. Efficient network link status handling

Family Cites Families (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3373408A (en) 1965-04-16 1968-03-12 Rca Corp Computer capable of switching between programs without storage and retrieval of the contents of operation registers
US3478322A (en) 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
US3623001A (en) 1970-01-06 1971-11-23 Peripheral Business Equipment Input data preparation system
US3736566A (en) 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
BE795789A (fr) 1972-03-08 1973-06-18 Burroughs Corp Microprogramme comportant une micro-instruction de recouvrement
IT986411B (it) 1973-06-05 1975-01-30 Olivetti E C Spa Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario
US3889243A (en) 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US4016548A (en) 1975-04-11 1977-04-05 Sperry Rand Corporation Communication multiplexer module
CH584488A5 (zh) 1975-05-05 1977-01-31 Ibm
US4075691A (en) 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4130890A (en) 1977-06-08 1978-12-19 Itt Industries, Inc. Integrated DDC memory with bitwise erase
JPS56164464A (en) 1980-05-21 1981-12-17 Tatsuo Nogi Parallel processing computer
US4400770A (en) 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
CA1179069A (en) 1981-04-10 1984-12-04 Yasushi Fukunaga Data transmission apparatus for a multiprocessor system
US4831358A (en) 1982-12-21 1989-05-16 Texas Instruments Incorporated Communications system employing control line minimization
US4658351A (en) 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4709347A (en) 1984-12-17 1987-11-24 Honeywell Inc. Method and apparatus for synchronizing the timing subsystems of the physical modules of a local area network
US4890222A (en) 1984-12-17 1989-12-26 Honeywell Inc. Apparatus for substantially syncronizing the timing subsystems of the physical modules of a local area network
US4858108A (en) 1985-03-20 1989-08-15 Hitachi, Ltd. Priority control architecture for input/output operation
US4745544A (en) 1985-12-12 1988-05-17 Texas Instruments Incorporated Master/slave sequencing processor with forced I/O
US4788640A (en) 1986-01-17 1988-11-29 Intel Corporation Priority logic system
US5297260A (en) 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US4890218A (en) 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
US4866664A (en) 1987-03-09 1989-09-12 Unisys Corporation Intercomputer communication control apparatus & method
US5142683A (en) 1987-03-09 1992-08-25 Unisys Corporation Intercomputer communication control apparatus and method
FR2625340B1 (fr) 1987-12-23 1990-05-04 Labo Electronique Physique Systeme graphique avec controleur graphique et controleur de dram
US5115507A (en) 1987-12-23 1992-05-19 U.S. Philips Corp. System for management of the priorities of access to a memory and its application
EP0357768B1 (en) 1988-03-14 1994-03-09 Unisys Corporation Record lock processor for multiprocessing data system
US5155854A (en) 1989-02-03 1992-10-13 Digital Equipment Corporation System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US5155831A (en) 1989-04-24 1992-10-13 International Business Machines Corporation Data processing system with fast queue store interposed between store-through caches and a main memory
US5168555A (en) 1989-09-06 1992-12-01 Unisys Corporation Initial program load control
US5263169A (en) 1989-11-03 1993-11-16 Zoran Corporation Bus arbitration and resource management for concurrent vector signal processor architecture
DE3942977A1 (de) 1989-12-23 1991-06-27 Standard Elektrik Lorenz Ag Verfahren zum wiederherstellen der richtigen zellfolge, insbesondere in einer atm-vermittlungsstelle, sowie ausgangseinheit hierfuer
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
EP0446721B1 (en) 1990-03-16 2000-12-20 Texas Instruments Incorporated Distributed processing memory
US5452452A (en) 1990-06-11 1995-09-19 Cray Research, Inc. System having integrated dispatcher for self scheduling processors to execute multiple types of processes
US5390329A (en) 1990-06-11 1995-02-14 Cray Research, Inc. Responding to service requests using minimal system-side context in a multiprocessor environment
US5404482A (en) 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills
US5347648A (en) 1990-06-29 1994-09-13 Digital Equipment Corporation Ensuring write ordering under writeback cache error conditions
US5432918A (en) 1990-06-29 1995-07-11 Digital Equipment Corporation Method and apparatus for ordering read and write operations using conflict bits in a write queue
US5379295A (en) 1990-07-31 1995-01-03 Nec Corporation Cross-connect system for asynchronous transfer mode
US5251205A (en) 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5367678A (en) 1990-12-06 1994-11-22 The Regents Of The University Of California Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically
US5255239A (en) 1991-08-13 1993-10-19 Cypress Semiconductor Corporation Bidirectional first-in-first-out memory device with transparent and user-testable capabilities
US5623489A (en) 1991-09-26 1997-04-22 Ipc Information Systems, Inc. Channel allocation system for distributed digital switching network
US5392412A (en) 1991-10-03 1995-02-21 Standard Microsystems Corporation Data communication controller for use with a single-port data packet buffer
GB2260429B (en) 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
US5392391A (en) 1991-10-18 1995-02-21 Lsi Logic Corporation High performance graphics applications controller
DE69231957T2 (de) 1991-10-21 2002-04-04 Toshiba Kawasaki Kk Hochgeschwindigkeitsprozessor zum fähiger Abhandeln mehrerer Unterbrechungen
US5452437A (en) 1991-11-18 1995-09-19 Motorola, Inc. Methods of debugging multiprocessor system
EP0544083A3 (en) 1991-11-26 1994-09-14 Ibm Interleaved risc-type parallel processor and processing methods
CA2073516A1 (en) 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
US5442797A (en) 1991-12-04 1995-08-15 Casavant; Thomas L. Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
JP2823767B2 (ja) 1992-02-03 1998-11-11 松下電器産業株式会社 レジスタファイル
US5404469A (en) 1992-02-25 1995-04-04 Industrial Technology Research Institute Multi-threaded microprocessor architecture utilizing static interleaving
US5313454A (en) 1992-04-01 1994-05-17 Stratacom, Inc. Congestion control for cell networks
US5459842A (en) 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
DE4223600C2 (de) 1992-07-17 1994-10-13 Ibm Mehrprozessor-Computersystem und Verfahren zum Übertragen von Steuerinformationen und Dateninformation zwischen wenigstens zwei Prozessoreinheiten eines Computersystems
GB2273591A (en) 1992-12-18 1994-06-22 Network Systems Corp Microcomputer control systems for interprogram communication and scheduling methods
WO1994015287A2 (en) 1992-12-23 1994-07-07 Centre Electronique Horloger S.A. Multi-tasking low-power controller
US5617327A (en) 1993-07-30 1997-04-01 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
US5404464A (en) 1993-02-11 1995-04-04 Ast Research, Inc. Bus control system and method that selectively generate an early address strobe
US5448702A (en) 1993-03-02 1995-09-05 International Business Machines Corporation Adapters with descriptor queue management capability
US6311286B1 (en) 1993-04-30 2001-10-30 Nec Corporation Symmetric multiprocessing system with unified environment and distributed system functions
CA2122182A1 (en) 1993-05-20 1994-11-21 Rene Leblanc Method for rapid prototyping of programming problems
US5379432A (en) 1993-07-19 1995-01-03 Taligent, Inc. Object-oriented interface for a procedural operating system
CA2107299C (en) 1993-09-29 1997-02-25 Mehrad Yasrebi High performance machine for switched communications in a heterogenous data processing network gateway
US5446736A (en) 1993-10-07 1995-08-29 Ast Research, Inc. Method and apparatus for connecting a node to a wireless network using a standard protocol
US5450351A (en) 1993-11-19 1995-09-12 International Business Machines Corporation Content addressable memory implementation with random access memory
US5508942A (en) 1993-11-24 1996-04-16 Intel Corporation Intra/inter decision rules for encoding and decoding video signals
US5740402A (en) 1993-12-15 1998-04-14 Silicon Graphics, Inc. Conflict resolution in interleaved memory systems with multiple parallel accesses
US5446740A (en) 1993-12-17 1995-08-29 Empire Blue Cross/Blue Shield Method of and apparatus for processing data at a remote workstation
US5485455A (en) 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5754764A (en) 1994-02-22 1998-05-19 National Semiconductor Corp. Combination of input output circuitry and local area network systems
US5490204A (en) 1994-03-01 1996-02-06 Safco Corporation Automated quality assessment system for cellular networks
JP3547482B2 (ja) 1994-04-15 2004-07-28 株式会社日立製作所 情報処理装置
US5542088A (en) 1994-04-29 1996-07-30 Intergraph Corporation Method and apparatus for enabling control of task execution
US5721870A (en) 1994-05-25 1998-02-24 Nec Corporation Lock control for a shared main storage data processing system
US5544236A (en) 1994-06-10 1996-08-06 At&T Corp. Access to unsubscribed features
US5574922A (en) 1994-06-17 1996-11-12 Apple Computer, Inc. Processor with sequences of processor instructions for locked memory updates
JP3810449B2 (ja) * 1994-07-20 2006-08-16 富士通株式会社 キュー装置
US5568476A (en) 1994-10-26 1996-10-22 3Com Corporation Method and apparatus for avoiding packet loss on a CSMA/CD-type local area network using receive-sense-based jam signal
US5649110A (en) 1994-11-07 1997-07-15 Ben-Nun; Michael Traffic shaping system with virtual circuit table time stamps for asynchronous transfer mode networks
JP3169779B2 (ja) 1994-12-19 2001-05-28 日本電気株式会社 マルチスレッドプロセッサ
US5550816A (en) 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5539737A (en) 1994-12-30 1996-07-23 Advanced Micro Devices, Inc. Programmable disrupt of multicast packets for secure networks
US5692126A (en) * 1995-01-24 1997-11-25 Bell Atlantic Network Services, Inc. ISDN access to fast packet data network
US5701434A (en) 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
US5649157A (en) 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US5633865A (en) 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
US5581729A (en) 1995-03-31 1996-12-03 Sun Microsystems, Inc. Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system
US5886992A (en) * 1995-04-14 1999-03-23 Valtion Teknillinen Tutkimuskeskus Frame synchronized ring system and method
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
US5592622A (en) 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
JPH08320797A (ja) 1995-05-24 1996-12-03 Fuji Xerox Co Ltd プログラム制御システム
JPH096633A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
US5651002A (en) 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
US5613071A (en) 1995-07-14 1997-03-18 Intel Corporation Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
US5680641A (en) 1995-08-16 1997-10-21 Sharp Microelectronics Technology, Inc. Multiple register bank system for concurrent I/O operation in a CPU datapath
US5860138A (en) * 1995-10-02 1999-01-12 International Business Machines Corporation Processor with compiler-allocated, variable length intermediate storage
US5689566A (en) 1995-10-24 1997-11-18 Nguyen; Minhtam C. Network with secure communications sessions
KR0150072B1 (ko) 1995-11-30 1998-10-15 양승택 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치
US5898701A (en) * 1995-12-21 1999-04-27 Cypress Semiconductor Corporation Method and apparatus for testing a device
US5699537A (en) 1995-12-22 1997-12-16 Intel Corporation Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions
US6201807B1 (en) * 1996-02-27 2001-03-13 Lucent Technologies Real-time hardware method and apparatus for reducing queue processing
US5761507A (en) 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US6199133B1 (en) * 1996-03-29 2001-03-06 Compaq Computer Corporation Management communication bus for networking devices
KR100219597B1 (ko) * 1996-03-30 1999-09-01 윤종용 씨디-롬 드라이브에서의 큐잉 제어 방법
US5857188A (en) * 1996-04-29 1999-01-05 Ncr Corporation Management of client requests in a client-server environment
JP3541335B2 (ja) * 1996-06-28 2004-07-07 富士通株式会社 情報処理装置及び分散処理制御方法
US6023742A (en) * 1996-07-18 2000-02-08 University Of Washington Reconfigurable computing architecture for providing pipelined data paths
US5745913A (en) 1996-08-05 1998-04-28 Exponential Technology, Inc. Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
JP3123447B2 (ja) * 1996-11-13 2001-01-09 日本電気株式会社 Atm交換機のスイッチ制御回路
US5860158A (en) * 1996-11-15 1999-01-12 Samsung Electronics Company, Ltd. Cache control unit with a cache request transaction-oriented protocol
US6212542B1 (en) * 1996-12-16 2001-04-03 International Business Machines Corporation Method and system for executing a program within a multiscalar processor by processing linked thread descriptors
US6047002A (en) * 1997-01-16 2000-04-04 Advanced Micro Devices, Inc. Communication traffic circle system and method for performing packet conversion and routing between different packet formats including an instruction field
US5742587A (en) 1997-02-28 1998-04-21 Lanart Corporation Load balancing port switching hub
US6535878B1 (en) * 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
US6182177B1 (en) * 1997-06-13 2001-01-30 Intel Corporation Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6170051B1 (en) * 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
US6014729A (en) * 1997-09-29 2000-01-11 Firstpass, Inc. Shared memory arbitration apparatus and method
US6032190A (en) * 1997-10-03 2000-02-29 Ascend Communications, Inc. System and method for processing data packets
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6360262B1 (en) * 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
JPH11203860A (ja) * 1998-01-07 1999-07-30 Nec Corp 半導体記憶装置
KR100280460B1 (ko) * 1998-04-08 2001-02-01 김영환 데이터 처리 장치 및 이의 복수의 스레드 처리 방법
US6522188B1 (en) * 1998-04-10 2003-02-18 Top Layer Networks, Inc. High-speed data bus for network switching
FR2778809B1 (fr) * 1998-05-18 2000-07-28 Inst Nat Rech Inf Automat Installation de transmission de messages a stations perfectionnees, et procede correspondant
US6032218A (en) * 1998-05-28 2000-02-29 3Com Corporation Configurable weighted round robin arbiter
US6349331B1 (en) * 1998-06-05 2002-02-19 Lsi Logic Corporation Multiple channel communication system with shared autonegotiation controller
US6448812B1 (en) * 1998-06-11 2002-09-10 Infineon Technologies North America Corp. Pull up/pull down logic for holding a defined value during power down mode
US6335935B2 (en) * 1998-07-08 2002-01-01 Broadcom Corporation Network switching architecture with fast filtering processor
US6360277B1 (en) * 1998-07-22 2002-03-19 Crydom Corporation Addressable intelligent relay
US6526451B2 (en) * 1998-09-30 2003-02-25 Stmicroelectronics, Inc. Method and network device for creating circular queue structures in shared memory
US6356962B1 (en) * 1998-09-30 2002-03-12 Stmicroelectronics, Inc. Network device and method of controlling flow of data arranged in frames in a data-based network
US6175927B1 (en) * 1998-10-06 2001-01-16 International Business Machine Corporation Alert mechanism for service interruption from power loss
DE19846274A1 (de) * 1998-10-08 2000-04-20 Alcatel Sa Verfahren zur Durchführung von kooperativem Multitasking in einem Nachrichtenübertragungsnetz und Netzelement dafür
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6438132B1 (en) * 1998-10-14 2002-08-20 Nortel Networks Limited Virtual port scheduler
US6212611B1 (en) * 1998-11-03 2001-04-03 Intel Corporation Method and apparatus for providing a pipelined memory controller
US6732187B1 (en) * 1999-09-24 2004-05-04 Cisco Technology, Inc. Opaque packet handles
US6526452B1 (en) * 1998-11-17 2003-02-25 Cisco Technology, Inc. Methods and apparatus for providing interfaces for mixed topology data switching system
US6212604B1 (en) * 1998-12-03 2001-04-03 Sun Microsystems, Inc. Shared instruction cache for multiple processors
US6359911B1 (en) * 1998-12-04 2002-03-19 Koninklijke Philips Electronics N.V. (Kpenv) MPEG-2 transport demultiplexor architecture with non-time-critical post-processing of packet information
US6338078B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation System and method for sequencing packets for multiprocessor parallelization in a computer network system
US6463035B1 (en) * 1998-12-30 2002-10-08 At&T Corp Method and apparatus for initiating an upward signaling control channel in a fast packet network
US6873618B1 (en) * 1999-03-16 2005-03-29 Nortel Networks Limited Multipoint network routing protocol
US6707818B1 (en) * 1999-03-17 2004-03-16 Broadcom Corporation Network switch memory interface configuration
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6507862B1 (en) * 1999-05-11 2003-01-14 Sun Microsystems, Inc. Switching method in a multi-threaded processor
US6798744B1 (en) * 1999-05-14 2004-09-28 Pmc-Sierra, Inc. Method and apparatus for interconnection of flow-controlled communication
US6657963B1 (en) * 1999-07-30 2003-12-02 Alcatel Canada Inc. Method and apparatus for controlling data congestion in a frame relay/ATM internetworking system
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6680933B1 (en) * 1999-09-23 2004-01-20 Nortel Networks Limited Telecommunications switches and methods for their operation
US6493741B1 (en) * 1999-10-01 2002-12-10 Compaq Information Technologies Group, L.P. Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit
US6477595B1 (en) * 1999-10-25 2002-11-05 E-Cell Technologies Scalable DSL access multiplexer with high reliability
US6529983B1 (en) * 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6782447B2 (en) * 1999-12-17 2004-08-24 Koninklijke Philips Electronics N.V. Circular address register
US6532509B1 (en) * 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6324624B1 (en) * 1999-12-28 2001-11-27 Intel Corporation Read lock miss control and queue management
US6584522B1 (en) * 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6631462B1 (en) * 2000-01-05 2003-10-07 Intel Corporation Memory shared between processing threads
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US6678746B1 (en) * 2000-08-01 2004-01-13 Hewlett-Packard Development Company, L.P. Processing network packets
US6856622B1 (en) * 2001-02-20 2005-02-15 Pmc-Sierra, Inc. Multicast cell scheduling protocol
US6646868B2 (en) * 2001-06-04 2003-11-11 Sun Microsystems, Inc. Computer bus rack having an increased density of card slots
US7006495B2 (en) * 2001-08-31 2006-02-28 Intel Corporation Transmitting multicast data packets
US7286534B2 (en) * 2001-11-02 2007-10-23 Infineon Technologies North America Corporation SRAM based cache for DRAM routing table lookups
US7352769B2 (en) * 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7206858B2 (en) * 2002-09-19 2007-04-17 Intel Corporation DSL transmit traffic shaper structure and procedure
US7181742B2 (en) * 2002-11-19 2007-02-20 Intel Corporation Allocation of packets and threads

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027491A (zh) * 2013-03-12 2015-11-04 思科技术公司 明确地重排列分组的系统和方法
CN105027491B (zh) * 2013-03-12 2018-04-06 思科技术公司 明确地重排列分组的系统和方法

Also Published As

Publication number Publication date
AU2003287215A1 (en) 2004-06-03
EP1561314A2 (en) 2005-08-10
CN1543149B (zh) 2010-04-28
WO2004045168A2 (en) 2004-05-27
US7433307B2 (en) 2008-10-07
US20040085901A1 (en) 2004-05-06
WO2004045168A3 (en) 2004-07-08

Similar Documents

Publication Publication Date Title
CN1543149B (zh) 网络环境中的流控制
CN1201532C (zh) 具有中心调度程序的atm交换机及其调度方法
US6628615B1 (en) Two level virtual channels
JP5640234B2 (ja) マネージド・ネットワークでのレイヤ2のパケット集約及び断片化
KR101607180B1 (ko) 패킷 재조립 및 재배열 방법, 장치 및 시스템
US7133399B1 (en) System and method for router central arbitration
JP2000503828A (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
CN1717669A (zh) 用于在交换结构中分发缓冲区状态信息的装置和方法
CN1056968A (zh) 数据单元交换机
US20070268903A1 (en) System and Method for Assigning Packets to Output Queues
CN1267418A (zh) 连网系统
CN1092889C (zh) 消息路由
US20220300213A1 (en) High Speed Data Packet Flow Processing
EP1230766A1 (en) Switching table update in switch fabric
WO2002069582A3 (en) Data packet transmission scheduling
US7529865B1 (en) Packet buffer management apparatus and method
CN1689278A (zh) 网络拥塞控制方法和装置
CN1643872A (zh) 缓存流数据
CN1545658A (zh) 具有双端口存储器仿真配置的交换结构
CN112637080A (zh) 一种基于fpga的负载均衡处理系统
EP1226686A1 (en) System and method for transferring a packet from a port controller to a switch fabric
CN1826768A (zh) 利用动态资源分配进行的大规模排队的可扩展方法
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
CN1618215A (zh) 实时网络业务量准入与调度方法
US7751400B2 (en) Method, system, and computer program product for ethernet virtualization using an elastic FIFO memory to facilitate flow of unknown traffic to virtual hosts

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100428

Termination date: 20191105