throbber
United States Patent
`[19]
`[11] Patent Number:
`6,091,725
`
`Cheriton et a1.
`[45 J Date of Patent:
`*Jul. 18, 2000
`
`USOO6091725A
`
`[54] METHOD FOR TRAFFIC MANAGEMENT,
`TRAFFIC PRIORITIZATION, ACCESS
`CONTROL, AND PACKET FORVVARDING IN
`A DATAGRAM COMPUTER NETWORK
`
`OTHER PUBLICATIONS
`
`.
`.
`.
`.
`.
`William Stalhngs, Data and Computer Communications, PP:
`329—333, Prentice Hall, Upper Saddle River, New Jersey
`07458.
`
`[75]
`
`Inventors: David R. Cheriton; Andreas V.
`Bechtolsheim, both of Palo Alto, Calif.
`
`Allen, M., “Novell IPX Over Various WAN Media (IPXW
`AN)” Network Working Group, RFC 1551, Dec 1993,14).
`1—22.
`
`[73] Assignee: Cisco Systems, Inc., San Jose, Calif.
`
`[*1 Notice:
`
`This patent issued on a continued PFOS-
`ecution application filed under 37 CFR
`1.53(d), and is subject to the twenty year
`patent
`term provisions of 35 U.S.C.
`154(a)(2).
`
`[21] APPL N05 08/581,134
`[22]
`Filed:
`Dec. 29, 1995
`
`Int. Cl.7 ..................................................... H04L 12/56
`[51]
`[52] Us. Cl.
`........................... 370/392; 370/397; 370/400
`[58] Field of Search ..................................... 370/230, 231,
`370/235, 236, 237, 395, 392’ 397, 401,
`402, 403, 412, 399, 407, 400
`
`[56]
`
`References Cited
`
`U~S~ PATENT DOCUMENTS
`4/1992 Howson _
`Re. 33 900
`4,131:767 12/1978 Weinstein.
`.
`.
`([415t continued on neXt page.)
`FOREIGN PATENT DOCUMENTS
`
`.
`2/1990 European Pat. Off.
`0 384 758
`8/1990 European Pat Offl ~
`0 384 758 A2
`11/1990 European Pal Offl -
`0 431 751 A1
`0 567 217 A2 10/1993
`European Pat. 01f.
`.
`WO93/07569
`7’1993 WIPO .
`WOO3/07692
`4/1993 WIPO .
`wo94/01828
`1/1994 WIPO .
`WO 95/20850
`8/1995 WIPO .
`WO95/20850
`/1995 WIPO .
`
`PACKET MRWEE
`
`(List continued on next page.)
`Primary Examiner—Min Jung
`Attorney, Agent, or Firm—Oblon, Spivak, McClelland,
`Maier & Neustadt, RC.
`
`ABSTRACT
`[57]
`The invention provides an enhanced datagram packet
`switched computer network. The invention processes net-
`work datagram packets in network devices as separate flows,
`based on the source-destination address pair in the datagram
`packet. As a result, the network can control and manage each
`flow of datagrams in a segregated fashion. The processing
`steps that can be specified for each flow include traffic
`management,
`flow control, packet forwarding, access
`control, and other network management functions. The
`ability to control network traffic on a per flow basis allows
`for the efficient handling of a wide range and a large variety
`of network traffic, as is typical
`in large-scale computer
`networks,
`including Video and multimedia traffic. The
`amount of buffer
`resources and bandwidth resources
`
`assigned to each flow can be individually controlled by
`network management.
`In the dynamic operation of the
`network,
`these resources can be varied based on actual
`network traffic loading and congestion encountered. The
`invention also teaches an enhanced datagram packet
`switched computer network which can selectively control
`flows of datagram packets entering the network and travel-
`ing between network nodes. This new network access con-
`trol method also interoperates with existing media access
`control protocols, such as used in the Ethernet or 802.3 local
`area network. An aspect of the invention is that it does not
`require any changes to existing network protocols or net-
`work apphcamns'
`
`6 Claims, 6 Drawing Sheets
`
`CHER DAMSW
`'y‘lRlUAl PM WDU iN
`WUUAL PAH CALHF
`
`
` WU]
`'[5
`VRTUAL PATH
`?[CO?D
`FOUND 7
`PRMESS DATAGRAM
`
`W SWLH HANJWM
`'W
`
`,
`,
`,
`‘
`
`i
`mam mom
`FORWARD 0 0qu
`10 00010110: 1a
`i
`aura SEND Paw
`comma m
`0 sen/tar
`1 mm; 50 150.3
`PROCESSES Dir/aw
`4i—
`
`
`
`
`
`
`!‘— FEDS
`can roman;
`1
`UA‘ARRAM mm :0
`BMW OUPU PM
`500 PACKE'
`
`LUWULIR EFU
`i ,
`WRMES NEW WWW
`”AM WOW.
`RLPWJH mm
`KEENW JSED WW
`lF NECESSARY
`
`UNIFIED 1002
`
`UNIFIED 1002
`
`

`

`6,091,725
`
`Page 2
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`
`.
`
`.
`
`US. PATENT DOCUMENTS
`.
`71’1979 Pankh et al- -
`491612719
`1’1982 HOWSOH -
`473169284
`81’1983 HOWSOH -
`493977020
`12/1983 Lar50n~
`494199728
`1/1984 Larson .
`4,424,565
`3/1984 Fem
`474379087
`1’1984 Baran ~
`4,438,511
`3/1984 Limb .
`4,439,763
`4/1984 Baugh 91 ii]- -
`4,445,213
`5/1984 Devault et a1.
`4,446,555
`/1984 Schieltz .
`4,456,957
`/1984 Thelen .
`4,464,658
`2/1985 Fraser .
`4,499,576
`3/1985 Montgomery .
`4,506,358
`/1985 Fraser .
`4,507,760
`7/1985 Flores et a1.
`4,532,626
`' /1987 George et a1.
`4,644,532
`.
`2/1987 Larson et a1.
`4,646,287
`.
`6/1987 Benvenuto et a1.
`4,677,423
`7/1987 Olson et a1.
`.............................. 370/60
`4,679,189
`7/1987 Hughes—Hartogs .
`4,679,227
`2/1988 Jones et a1.
`.
`4,723,267
`/1988 Hughes—Hartogs .
`4,731,816
`6/1988 Arpin et a1.
`.
`4,750,136
`7/1988 Decker et a1.
`4,757,495
`.
`/1988 Gordon et a1.
`4,763,191
`9/1988 Eckbel‘g, Jr. et al.
`4,769,810
`9/1988 Eckberg, Jr. et a1.
`4,769,811
`/1988 Baran et a1.
`.
`4,771,425
`4/1989 Baran et a1.
`.
`4,819,228
`.
`5/1989 Arrowood et a1.
`4,827,411
`5/1989 IIughes—Hartogs .
`4,833,706
`5/1989 Herrig et a1.
`.
`4,835,737
`11/1989 Georgiou et al.
`4,879,551
`1/1990 Chao et a1.
`.
`4,893,306
`.
`2/1990 Baran et a1.
`4,903,261
`5/1990 Lidinsky et a1.
`4,922,486
`/1990 Konislli .
`4,933,937
`4,960,310 10/1990 Cushing .
`4,962,497 10/1990 Ferenc et a1.
`4,962,532 10/1990 Kasirai et a1.
`.
`4,965,772 10/1990 Daniel et a1.
`.
`4,970,678
`11/1990 Sladowski et a1.
`4,979,118 12/1990 Kheradpir ............................... 364/436
`4,980,897 12/1990 Decker et a1.
`.
`4,991,169
`2/1991 Davis et a1.
`.
`5,003,595
`3/1991 Collins et a1.
`5,014,265
`5/1991 Hahne et a1.
`5,020,058
`5/1991 Holden et a1.
`5,033,076
`/1991 Jones et a1.
`.
`5,054,034 10/1991 Hughes—Hartogs .
`5,059,925
`10/1991 Weisbloom .
`5,072,449
`12/1991 Enns et a1.
`.
`5,088,032
`2/1992 Bosack .
`5,095,480
`/1992 Fenner
`................................... 370/94.1
`5,115,431
`5/1992 Williams et a1.
`.
`5,128,945
`7/1992 Enns et a1.
`.
`5,136,580
`8/1992 Videlock et a1.
`5,166,930
`11/1992 Braff et a1.
`.
`5,199,049
`3/1993 Wilson .
`5,206,886
`/1993 Bingham .
`5,208,811
`5/1993 Kashio et al.
`5,212,686
`5/1993 Joy et a].
`.
`5,224,099
`6/1993 Corbalis et a1.
`5,226,120
`7/1993 Brown et a1.
`.
`5,228,062
`7/1993 Bingham .
`.
`5,229,994
`/1993 Balzano et a1.
`5,237,564
`8/1993 Lespagnol et a1.
`5,241,682
`8/1993 Bryant et a1.
`.
`5,243,342
`/1993 Kattcmalalavadi ct a1.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`......................... 370/477
`.
`
`.
`9/1993 Port et a1.
`5,243,596
`9/1993 Gutman et a1.
`5,245,614
`9/1993 Bernstein et a1.
`5,247,516
`9/1993 Kurano et a1.
`.
`5,249,178
`10/1993 Aramaki .
`5,253,251
`10/1993 Holden et a1.
`5,255,291
`11/1993 Rouse .
`5,260,933
`11/1993 Fleischer et a1.
`5,260,978
`5,268,592 12/1993 Bellamy et a1.
`5,268,900 12/1993 Hluchyj et a1.
`5,271,004 12/1993 Proctor et a1.
`5,274,631
`12/1993 Bhardwaj .
`5,274,635
`12/1993 Rahman et a1.
`5,274,643
`12/1993 Fisk .
`5,280,470
`1/1994 Buhrke et a1.
`5,280,480
`1/1994 Pitt et al. .
`5,280,500
`1/1994 Mazzola et a1.
`.
`5,283,783
`2/1994 Nguyen et a1.
`.
`5,287,103
`2/1994 Kasprzyk et a1.
`5,287,453
`2/1994 Roberts ................................... 395/200
`5,291,482
`3/1994 McHarg et a1.
`.
`5,305,311
`4/1994 Lyles .
`5,307,343
`4/1994 Bostica et a1.
`5,309,437
`5/1994 Perlman et a1.
`5,311,509
`5/1994 Heddes et a].
`5,313,454
`5/1994 Bustini et a1.
`5,313,582
`5/1994 Hendel et a1.
`5,317,562
`5/1994 Nardin et a1.
`5,319,644
`6/1994 Liang .
`.
`5,327,421
`7/1994 Hiller et a1.
`5,331,637
`7/1994 Francis et a1.
`5,335,224
`8/1994 Cole et a1.
`.
`5,345,445
`9/1994 Hiller et a1.
`.
`5,345,446
`9/1994 Hiller et a1.
`5,359,592 10/1994 Corbalis et a1.
`.
`5,361,250
`11/1994 Nguyen et a1.
`5,361,256
`11/1994 Doeringer et al.
`5,361,259
`11/1994 Hunt et a1.
`.
`5,365,524
`11/1994 Hiller et a1.
`.
`5,367,517
`11/1994 Cidon et a1.
`5,371,852 12/1994 Attanasio et a1.
`5,386,567
`1/1995 Lien et a1.
`.
`5,390,170
`2/1995 Sawant et a1.
`5,390,175
`2/1995 Hiller et a1.
`.
`5,394,394
`2/1995 Crowther et a1.
`5,394,402
`2/1995 Ross .
`5,400,325
`3/1995 Chatwani et a1.
`5,408,469
`4/1995 Opher et a1.
`.
`5,416,842
`5/1995 Aziz .
`5,422,880
`6/1995 Heitkamp et a1.
`5,422,882
`6/1995 Hiller et a1.
`.
`5,423,002
`6/1995 Hart.
`5,426,636
`6/1995 Hiller et a1.
`5,426,637
`6/1995 Derby et a1.
`.
`5,428,607
`6/1995 Hiller et a1.
`5,430,715
`7/1995 Corbalis et a1.
`5,430,729
`7/1995 Rahnema .
`5,432,784
`7/1995 Ozveren .................................. 370/235
`5,442,457
`8/1995 Najafl .
`5,442,630
`8/1995 Gagliardi et a1.
`5,452,297
`9/1995 Hiller et a1.
`.
`5,473,599
`12/1995 Li et a1.
`.
`5,473,607 12/1995 Hausman et a1.
`5,477,541
`12/1995 White et a1.
`.
`.
`5,485,455
`1/1996 Dobbins et a].
`.
`5,490,140
`2/1996 Abensour et a1.
`5,490,258
`2/1996 Fenner
`.................................... 395/401
`5,491,687
`2/1996 Christensen et a1.
`.
`5,491,804
`2/1996 Heath et a1.
`.
`.
`5,497,368
`3/1996 Reijnierse et al.
`5,499,238
`3/1996 Shon ....................................... 370/399
`5,504,747
`4/1996 chascy .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`..................... 370/85.13
`
`.
`
`.
`
`.
`.
`.
`
`..................... 370/235
`
`.
`
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`............................ 370/401
`
`.
`
`.
`
`.
`
`

`

`6,091,725
`
`Page 3
`
`Chowdhury, et al., “Alternative Bandwidth Allocation Algo-
`rithms for Packet Video in ATM Networks,” INFOCOM
`1992, pp. 1061—1068.
`Doeringer, W., “Routing on LongestiMatching Prefixes,”
`IEEE/ACM Transactions in Networking, vol. 4, No. 1, Feb.
`1996, pp. 86—97.
`Esaki, et al., “Datagram Delivery in an ATM—Internet,”
`2334b IEICE Transactions on Communications, Mar. 1994,
`No. 3, Tokyo, Japan.
`IBM Corporation, “Method and Apparatus for the Statistical
`Multiplexing of Voice, Data and Image Signals,” IBM
`Technical Disclosure Bulletin, No. 6, Nov. 1992, pp.
`409—411.
`
`Pei, et al., “Putting Routing Tables in Silicon,” IEEE Net-
`work Magazine, Jan. 1992, pp. 42—50.
`Perkins, D., “Requirements for an Internet Standard Point—
`to—Point Protocol,” Network Working Group, RFC 1547,
`Dec. 1993, pp. 1719.
`Simpson, W., “The Point—to—Point Protocol (PPP),” Net-
`work Working Group, RFC 1548, Dec. 1993, pp. 1753.
`Tsuchiya, RF, “A Search Algorithm for Table Entries with
`NoniContiguous Wildcarding,” Abstract, Bellcore.
`Zhang, et al., “Rate—Controlled Static—Priority Queueing,”
`INFOCOM 1993, pp. 227—236.
`Chowdhury, et al. “Alternative Bandwith Allocation”, 1992,
`IEEE Infocom ’92, pp. 1061—1068.
`Zhang, et al. “RateiControlled StaticiPriority Queueing”,
`1993, IEEE, pp. 227—236.
`IBM, “Method and Apparatus for the Statistical Multiplex-
`ing of Voice, Data, and Image Signals”, Nov., 1992, IBM
`Technical Data Bulletin n6 Nov. 1992, pp. 409—411.
`Esaki, et al., “Datagram Delivery in an AIM—Internet,”
`IEICE Transactions on Communications vol. E77—B, No. 3,
`(1994) Mar., Tokyo, Japan.
`Doeringer, et al., “Routing on Longest—Matching Prefixes,”
`IEEE Transactions on Networking, vol. 4, N0. 1, Feb. 1996,
`pp. 86—97.
`
`.
`
`.
`
`.
`
`/1996 Wilford et al. .
`5,509,006
`5/1996 Green .
`5,517,494
`.
`5/1996 Farinacci et al.
`5,519,704
`5/1996 Walton et al.
`.......................... 395/600
`5,519,858
`/1996 Nilakantan et al.
`.
`5,526,489
`6/1996 Moore et al.
`.
`5,530,963
`/1996 Lee .
`5,535,195
`.
`7/1996 Burwell et al.
`5,539,734
`7/1996 Nilakantan et al.
`5,541,911
`8/1996 Ishikawa .
`5,546,370
`.
`/1996 Gupta et al.
`5,555,244
`10/1996 Lenney et al. .
`5,561,669
`5,583,862 12/1996 Callon .
`5,592,470
`1/1997 Rudrapatna et al.
`5,598,581
`1/1997 Daines et al.
`.
`5,600,798
`2/1997 Chenrukuri et al.
`5,604,868
`/1997 Komine et al.
`.
`5,608,726
`/1997 Virgile.
`5,617,417
`4/1997 Sathe et al. .
`5,617,421
`4/1997 Chin ct al.
`.
`5,630,125
`5/1997 Zellweger ............................... 395/614
`5,632,021
`5/1997 Jennings et al.
`.
`5,634,010
`5/1997 Ciscon et al.
`.
`5,638,359
`6/1997 Peltola et al.
`.
`5,644,718
`/1997 Belove et al.
`.
`5,659,684
`8/1997 Giovannoni et al.
`5,666,353
`9/1997 Klausmeier et al.
`5,673,265
`/1997 Gupta et al.
`.
`5,678,006
`10/1997 Valizadeh et al. .
`5,680,116
`10/1997 Hashimoto et al.
`................ 370/390
`5,684,797
`11/1997 Aznaretal.
`5,689,506
`11/1997 Chiussietal. .......................... 370/388
`5,694,390 12/1997 Yamato etal..
`5,748,186
`5/1998 Raman .................................... 345/302
`5,748,617
`5/1998 McLain, Jr..
`5,802,054
`9/1998 Bellenger .
`5,835,710
`11/1998 Nagami et al.
`5,856,981
`1/1999 Voelker .
`......................... 395/200.75
`5,892,924
`/1999 Lyon et al.
`5,903,559
`5/1999 Acharya et al.
`.
`OTHER PUBLICATIONS
`
`.
`.
`
`.
`
`.
`
`Becker, D., “3c589.c: A3c589 Etherlink3 ethernet driver for
`linux,” becker@CESDIS.gsfc.nasa.g0v, May 3, 1994, pp.
`1—13.
`
`

`

`US. Patent
`
`Jul. 18, 2000
`
`Sheet 1 0f 6
`
`6,091,725
`
`7|
`I
`
`1
`
`T
`E I
`
`II
`
`I
`
`I
`l
`:
`12
`I
`1
`SERVER
`|
`'LCOMPUTERS J'
`___—
`
`I
`1
`|
`:
`I
`
`I I
`
`"___—WEI—onKEwTIcfiINE[III/Tog“— 116
`
`l- ‘92
`I05
`
`106
`
`107
`
`1118 H7
`
`E
`
`M
`
`
`
`___ _ __ ______ __ _ __J
`
`1m
`
`1H
`
`1U
`
`1%
`
`1M
`
`1%
`
`120
`
`121
`
`122
`
`123
`
`124
`
`125
`
`

`

`US. Patent
`
`Jul. 18,2000
`
`Sheet 2 0f6
`
`6,091,725
`
`FD—AITCATNTJIEAEI 200— _______________87““ _, _T
`I
`DESTINATION
`SOURCE
`TYPE
`DATA FIELD
`CRC
`I
`
`
`I
`ADDRESS
`ADDRESS
`EIELO
`(VARIABLE SIZE)
`FIELD
`I
`I
`I
`L
`202
`203
`204
`205
`I
`
`
`
`
`20A
`
`FIG. 2
`
`
`
`T— __________________________ _I
`I VIRTUAL PATH RECORD 300
`I
`I
`TORNARDINC
`I
`,
`FIELD
`I
`|
`|
`I
`I
`I
`“‘~~\
`I_}_____319 _____33320321: _ W330 ______3‘9 _ _I
`I
`TAO FIELD:
`““““
`
`\
`
`STATISTICS
`TIELD
`
`DESTINATION
`ADDRESS
`
`SOURCE
`ADDRESS
`
`TYPE
`TIELD
`
`INPUT
`PORT
`
`311
`
`312
`
`313
`
`314
`
`FORWARDING FIELD:
`
`OUTPUT
`PORT
`
`PRIORITY
`
`
`
`REAL
`TIME
`
`
`
`STORE
`FORWARD
`
`MULTI
`CAST
`
`SNOOP
`MODE
`
`BUFFER
`SIZE
`
`
`
`321
`
`322
`
`323
`
`324
`
`325
`
`326
`
`327
`
`STATE FIELD:
`
`HEAD
`
`TAIL
`
`LINK
`
`POINTER
`
`POINTER
`
`POINTER
`
`331
`
`332
`
`333
`
`STATISTICS FIELD:
`
`NO. OF PACKETS
`
`NO. OF BYTES
`
`RECEIVED
`
`RECEIVED
`
`341
`
`342
`
`FIG. 3
`
`

`

`US. Patent
`
`Jul. 18,2000
`
`Sheet 3 0f6
`
`6,091,725
`
`
`
`WRTUAL PATH CACHE
`
`
`HIT/MISS
`
`WRTUAL PATH
`SIGNAL
`
`
`
`415
`
`RECORD BUS
`
`635
`
`633
`
`SWHCH HARDWARE
`
`WRTUAL
`
`PATH
`
`INDEX
`
`630
`
`INPUT
`
`PORTS
`
`{OS
`
`OUTPUT
`
`PORTS
`
`
`
`
`CPU INTERFACE 412
`
`410
`
`413
`
`

`

`US. Patent
`
`Jul. 18, 2000
`
`Sheet 4 0f 6
`
`6,091,725
`
`PACKET ARRIVES
`
`CHECK DATAGRAM
`
`VIRTUAL PATH CACHE
`
`VIRTUAL PATH INDEX IN
`
`YES
`
`
` VALID
`VIRTUAL PATH
`
`
`
`FOUND ?
`
`”0
`
`RECORD
`
`FORWARD DATAGRAM
`0 C0
`LLER CPU
`
`NTRO
`
`T
`
`PROCESS DATAGRAM
`IN SWITCH HARDWARE
`
`FORWARD TO OUTPUT
`PORT SEND PACKET
`
`UPDATE STATISTICS
`FIELDS
`
`FIG. 5
`
`CONTROLLER CPU
`
`PROCESSES DATACRAM
`IN SOFTWARE
`
`CPU FORWARDS
`
`DATACRAM PACKET TO
`
`SWITCH OUTPUT PORT
`
`SEND PACKET
`IF NECESSARY
`
`CONTROLLER CPU
`
`WRITES NEW VIRTUAL
`PATH RECORD
`
`REPLACES LEAST
`
`RECENTLY USED ENTRY
`
`

`

`US. Patent
`
`Jul. 18,2000
`
`Sheet 5 0f6
`
`6,091,725
`
`VIRTUAL PATH INDEX (630)
`
`WRTUAL PATH
`
`CACHEINDEX
`(632)
`
`HASH
`
`FUNCNON
`LOGIC
`
`C
`
`HH/MBS
`635
`
`VIRTUAL PATH
`
`RECORD DATA BUS
`
`FIG. 6
`
`48 BITS
`DESTINATION ADDRESS
`
`48 BITS
`SOURCE ADDRESS
`
`VIRTUAL PATH
`INDEX 630
`
`
`
`
`
`701
`
`702
`
`FIG. 7
`
`

`

`US. Patent
`
`Jul. 18, 2000
`
`Sheet 6 0f 6
`
`6,091,725
`
`OUTPUT PORT 801
`
`T
`
`
`
`TRANSMTT LIST 804
`
`F1618
`
`

`

`6,091,725
`
`1
`
`METHOD FOR TRAFFIC MANAGEMENT,
`TRAFFIC PRIORITIZATION, ACCESS
`CONTROL, AND PACKET FORWARDING IN
`A DATAGRAM COMPUTER NETWORK
`
`CROSS-REFERENCE TO THE APPENDIX
`CONTAINING SOFTWARE
`
`Appendix A, which is a part of the present disclosure, lists
`the computer programs and related data in one embodiment
`of this invention. This listing of computer programs contains
`material which is subject to copyright protection. The copy-
`right owner has no objection to the facsimile reproduction
`by anyone of the patent document or the present disclosure,
`as it appears in the Patent and Trademark Office patent files
`or records, but otherwise reserves all copyright rights What-
`soever.
`
`10
`
`15
`
`BACKGROUND OF THE INVENTION
`
`1. Field of Invention
`
`The present invention relates to the field of computer
`networks. More particularly, the present invention relates to
`the field of computer networks which are based on datagram
`packet switching.
`2. Background of the Invention
`Computer Networks are used to interconnect computers
`and peripherals to allow them to exchange and share data
`such as files, electronic mail, databases, multimedia/video,
`and other data.
`
`Packet Switching
`Nearly all computer networks use packet switching,
`which divides longer units of data transfer into smaller
`packets which are sent separately over the network. This
`allows each packet
`to be processed independently from
`another packet without having to wait for the entire data
`transfer to be completed. It also enables communications
`between a plurality of computer systems to be intermixed on
`one network. Host interfaces connect the computer systems
`to a network allowing each computer system to act as the
`source and destination of packets on the network.
`A first key issue in packet switched networks is address-
`ing. The addressing in packet switched networks is conven-
`tionally performed by one of two approaches, known as
`virtual circuit packet switching or datagram packet switch-
`ing.
`Virtual Circuit Packet Switching
`In the virtual circuit approach, before any data can be
`transmitted, a virtual circuit must be first established along
`the path from the source to the destination in advance of any
`communication. After the virtual circuit is setup, the source
`can then send packets to the destination. Each packet in the
`virtual circuit approach has a virtual circuit identifier, which
`is used to switch the packet along the path from source to the
`destination.
`
`The virtual circuit approach reduces the size of the
`identification required in each packet header. It also allows
`additional
`information about
`the packet handling to be
`established as part of the virtual circuit setup operation.
`Another claimed benefit is that forwarding and switching of
`virtual circuit packets can be made more efficient because of
`the virtual setup process. However,
`the virtual circuit
`approach incurs the cost of delay to setup the virtual circuit
`before sending any data, and it incurs the cost of maintaining
`the virtual circuit state in each network device along the
`virtual circuit path, even if a virtual circuit is idle. Also, in
`practice the memory space for virtual circuit state in network
`devices has limited the number of circuits that are available,
`
`40
`
`45
`
`60
`
`65
`
`2
`which complicates the behavior of network nodes that need
`to create virtual circuits to communicate.
`Datagram Packet Switching
`is a
`In the datagram approach, each datagram packet
`self-contained unit of data delivery. A typical datagram
`packet includes a globally unique source address, a globally
`unique destination address, a protocol type field, a data field,
`and a cyclic redundancy checksum (“CRC”) to insure data
`integrity.
`Datagrams can be sent without prior arrangement with the
`network, i.e. without setting up a virtual circuit or connec-
`tion. Each network device receiving a datagram packet
`examines the destination address included in the datagram
`packet and makes a local decision whether to accept, ignore,
`or forward this packet.
`Various conventional network devices learn information
`from observing datagram packet traffic in data networks. For
`example, a conventional network switch device that inter-
`connects multiple network segments can “learn” the location
`of network stations connected to its ports by monitoring the
`source address of packets received on its ports. After it has
`associated a station address with a certain port, the network
`switch can then forward datagram packets addressed to that
`station to that port. In this type of device, the datagram
`source address is used to learn the location of a station on the
`
`network, whereas the forwarding decision is made on basis
`of the datagram destination address alone.
`it
`Datagram packet switching has the advantage that
`avoids the overhead and cost of setting 11p virtual circuit
`connection in network devices. However,
`it
`incurs the
`expense of transmitting a larger packet header than required
`for virtual circuit switching, and it
`incurs the cost for
`processing this larger packet header in every network device
`to which it is delivered. Also, there is no virtual circuit setup
`process to establish additional information for datagram
`packet processing. Another disadvantage of datagram packet
`switching is that it is difficult to control packet flow to the
`same degree as with virtual circuits because there is, in the
`conventional case, no state in the network devices associated
`with the trallic flow.
`The datagram packet switching approach has been exten-
`sively used in shared media local area networks. Shared
`media networks provide for a multiplicity of stations directly
`connected to the network, with the shared media providing
`direct access from any transmitter to any receiver. Since the
`receivers need to be able to distinguish packets addressed
`specifically to them, each receiver needs to have a unique
`address. In addition, since the unit of access to the shared
`medium is one packet, each packet needs to contain the
`unique address capable to identify the receiver. As a result,
`all commonly used local area networks are based on data-
`gram packet switching and have no provisions for virtual
`circuit setup.
`Media Access Control Protocol
`The network access mechanism in shared media local area
`network will now be further described. This function, com-
`monly known as the media access control or MAC protocol,
`defines how to arbitrate access among multiple stations that
`desire to use the network. Individual stations connected to
`the network have to adhere to the MAC protocol in order to
`allow proper network operation.
`A number of different media access control protocols
`exist. The MAC protocol,
`in conjunction with the exact
`packet format, is the essence of what defines a local area
`network standard. The following is a brief overview of local
`area network standards that are in wide use today.
`The most widely used local area network is commonly
`known as Ethernet and employs an access protocol referred
`
`

`

`6,091,725
`
`3
`to as Carrier Sense Multiple Access with Collision Detection
`(CSMA/CD). [see US. Pat. No. 4,063,220, issued Dec. 13,
`1977, for a Multipoint Data Communication System with
`Collision Detection, Inventors Metcalfe, Boggs, Thacker,
`and Lampson]. The current definition of the Ethernet
`CSMA/CD protocol is defined in IEEE Standard 802.3,
`published by the Institute of Electrical and Electronics
`Engineers, 345 East 45th Street, New York, NY. 10017. The
`Ethernet standard specifies a data transmission rate of 10 or
`100 Megabits/second.
`Another widely used local area network standard is
`Tokenring, also known as IEEE Std 802.5, transmitting at a
`speed of 4 or 16 Mbits/sec and FDDI or Fiber-Distributed-
`Data-Interface which sends data at a speed of 100 Mbits/sec.
`Both Tokenring and FDDI are based on a circulating token
`granting access to the network, although their respective
`datagram packet formats and other operating aspects are
`unique to each standard.
`What is common to all these media access control mecha-
`nisms is that they do not include provisions for virtual circuit
`setup and have no provisions to specify attributes that relate '
`to virtual circuits, such as traffic management or flow control
`for specific connections. This limits the ability of conven-
`tional
`local area networks to accommodate higher level
`network functions or to support virtual connection oriented
`traffic mechanisms.
`
`10
`
`15
`
`Devices for Interconnecting Local Area Networks
`Another key issue with datagram packet switched net-
`works is how to interconnect individual network segments
`into larger networks. The size and usage of datagram packet
`switched networks has grown much beyond what was envi-
`sioned when these networks were designed. Devices such as
`bridges, switches, and routers, have been used to intercon-
`nect individual LAN segments into larger networks, but each
`have their own set of problems in scaling to higher perfor-
`mance.
`
`Bridges forward datagram packets between network seg-
`ments by learning the location of the devices on the network
`by observing the source address contained in datagram
`packets passing by. Once the bridge has learned which
`network device ia located on which network segment, it can
`then forward datagram packets addressed to that network
`device to the appropriate network segment. One of the
`limitations of bridges is that they do not filter traffic beyond
`the data link level.
`
`Switches are basically multi-port network bridges that can
`forward datagram packets among a multiplicity of network
`ports. Frequently, switches provide additional capabilities
`for assisting with network management, including traffic
`filtering and segmenting networks into virtual LANs. As in
`the case of bridges, switches have to forward broadcasts to
`all ports configured into one virtual LAN. In addition,
`conventional switches cannot provide fair service or priority
`service to individual traffic flows, and they require signifi-
`cant amount of memory to avoid dropping packets in the
`case of network congestion.
`Routers also interconnect several network segments, but
`they operate primarily at the network protocol layer, rather
`than at the datagram packet layer. Routers participate in all
`network protocol functions, which traditionally requires
`general purpose processing. As a result, traditional routers
`are more expensive and have less throughput than switches.
`In addition they are more difficult to administer.
`Finally, virtual circuit packet switched networks, in par-
`ticular ATM, have been proposed to interconnect local area
`network segments. However, it has turned out to be very
`difficult to map existing network protocols that are based on
`datagram packets to the ATM network architecture.
`
`40
`
`45
`
`60
`
`65
`
`4
`In summary, bridges and switches transparently extend
`the domain of networks, and allow for cost-effective and
`high-performance implementations. However, they cannot
`segment a network effectively in terms of traffic manage-
`ment and broadcast traffic. Routers, on the other hand, can
`segment networks very effectively, but are much more
`expensive and are performance bottleneck in high-speed
`networks. ATM has been very difficult to map to current
`network protocols.
`The ideal network device for interconnecting network
`segments would have the high-speed and cost-effectiveness
`of a switch, with the ability of segment and manage network
`traffic similar to a router.
`Traflic Management
`Another key issue in packet switched networks is traffic
`control or traffic management.
`In a packet switched network, each link at every switching
`node in the network represents a queue. As the trafiic arrival
`rate at a link approaches its transmission rate,
`the queue
`length grows dramatically and the data in the queue needs to
`be stored in the attached network nodes. Eventually, a
`network node will run out of packet buffer capacity which
`will cause further packets arriving to be discarded or
`dropped. Dropped packets are eventually retransmitted by
`the source, causing the traffic load to increase further.
`Eventually, the network can reach a state where most of the
`packets in the network are retransmissions.
`Conventionally, two types of traffic control mechanism
`are used in packet switched networks: flow control and
`congestion control. Flow control is concerned with matching
`the transmission rate of a source station to the reception rate
`of a destination station. A typical networks flow control
`mechanism uses a window techniques to limit the number of
`packets a source can transmit which are not yet confirmed as
`having been received by the destination. Conventional flow
`control is an end-to-end mechanism that exists in certain
`
`network protocols, in particular connection oriented network
`protocols such as TCP/IP. However, conventional flow con-
`trol between source and destination does not solve the
`
`take the
`network congestion problem, since it does not
`utilization of buffer resources within the network into
`account. In addition, non-connection oriented network pro-
`tocols do not use window based flow control. Also, continu-
`ous rate traffic sources such as real-time video don’t match
`the nature of destination controlled behavior since the trans-
`
`mission rate is determined by the source.
`Problem Statement
`What is needed is an improved method and apparatus for
`high-speed datagram packet switched networks that can
`support a large number of network stations, a wide range of
`network transmission speeds, a wide variety of source traffic
`behavior including video and multimedia, while maintaining
`compatibility with existing network protocols and applica-
`tions.
`
`SUMMARY OF THE INVENTION
`
`Methods and apparatus for an enhanced datagram packet
`switched computer network are disclosed.
`The invention processes network datagram packets in
`network devices as separate fiows, based on the source-
`destination address pair contained in the datagram packet
`itself. As a result, the network can control and manage each
`flow of datagrams in a segregated fashion. The processing
`steps that can be specified for each flow include traffic
`management,
`flow control, packet forwarding, access
`control, and other network management functions.
`The ability to control network traffic on a per flow basis
`allows for the efficient handling of a wide range and a large
`
`

`

`6,091,725
`
`5
`variety of network traffic, as is typical in large-scale com-
`puter networks, including Video and multimedia type traffic.
`The amount of buffer resources and bandwidth resources
`assigned to each flow can be individually controlled by
`network management.
`In the dynamic operation of the
`network,
`these resources can be varied based on actual
`network traffic loading and congestion encountered.
`The invention also includes an enhanced network access
`control method which can selectively control flows of data-
`gram packets entering the network and traveling between
`network nodes. This new network access control method
`
`interoperates with existing media access control protocols,
`such as used in the Ethernet or 802.3 local area network.
`
`An important aspect of the invention is that it can be
`implemented in network switching devices at very high
`performance and at low cost. High performance is required
`to match the transmission speed of datagram packets on the
`network. Low cost is essential such that it is economical to
`
`5
`
`10
`
`15
`
`’
`
`use the invention widely.
`In the preferred implementation, both high-performance '
`and low cost is achieved by partitioning the task of datagram
`flow processing between dedicated network switch hard-
`ware and dedicated network switch software that executes
`on a high-speed controller CPU.
`The network switch hardware provides a multiplicity of
`network ports, a shared memory buffer for storing datagram
`packets, a Virtual path cache that stores the state and
`processing instructions specific to the active datagram
`packet flows.
`Datagram packets received on an input port are buffered
`in the shared memory buffer. The source-destination address
`pair in the datagram packet header is used to index the
`virtual path cache to find a matching entry. If a matching
`entry is found in the virtual path cache, then the switch
`hardware performs all the packet processing steps indicated
`in the Virtual path record, including traffic management and
`packet routing.
`If no matching entry is found in the Virtual path cache,
`then the datagram packet is forwarded to the controller CPU
`for general purpose processing. The controller CPU
`determines,
`through network management data structures
`and software, how to process further datagram packets with
`this source-destination address in the switch hardware. The
`
`40
`
`controller CPU then loads an appropriate entry into the
`virtual path cache. If all entries in the Virtual path cache are
`in use, then the CPU removes the least recently used entry
`before loading the new entry.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`45
`
`6
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`An enhanced computer network communication system is
`disclosed.
`
`To help understand the invention, the following defini-
`tions are used:
`
`A “datagram packet” is a self-contained unit of packet
`delivery on a packet switched network, which includes a
`destination address field, a source address field, an optional
`type field, and a data field.
`The “destination address” and the “source address” refer
`
`to the physical network device addresses contained in a
`datagram packet, both of which are unique within a network.
`A “flow” is a plurality of datagram packets each packet
`containing an identical source-destination address pair.
`A “Virtual path” is the communication path from a source
`to a destination in a datagram packet switched network.
`In the following description, for purposes of explanation,
`specific numbers, times, signals, and other parameters are
`set forth in order to provide a thorough understanding of the
`present invention. However, it will be apparent to anyone
`skilled in the art that the present invention may be practiced
`without these specific details. In other instances, well known
`circuits and devices are shown in block diagram in order not
`to obscure the present invention unnecessarily.
`The datagram packet switched communication system is
`illustrated in FIG. 1 by way of four network switching
`devices 101, 102, 103, and 104 interconnected with each
`other

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket