throbber
United States Patent
`Cheriton et al.
`
`19
`
`54 METHOD FOR TRAFFIC MANAGEMENT,
`TRAFFIC PRIORITIZATION, ACCESS
`CONTROL, AND PACKET FORWARDING IN
`A DATAGRAM COMPUTER NETWORK
`
`75 Inventors: David R. Cheriton; Andreas V.
`Bechtolsheim, both of Palo Alto, Calif.
`73 Assignee: Cisco Systems, Inc., San Jose, Calif.
`
`*
`
`Notice:
`
`This patent issued on a continued pros
`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. No.: 08/581,134
`22 Filed:
`Dec. 29, 1995
`(51) Int. Cl. ............................................... H04L 12/56
`52 U.S. 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
`
`Re. 33,900 4/1992 Howson.
`4,131,767 12/1978 Weinstein.
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`O 384758 2/1990 European Pat. Off..
`O 384758 A2 8/1990 European Pat. Off..
`O 431 751A1 11/1990 European Pat. Off..
`O 567 217 A2 10/1993 European Pat. Off..
`WO93/07569 4/1993 WIPO.
`WO93/07692 4/1993 WIPO.
`WO94/O1828 1/1994 WIPO.
`WO95/20850 8/1995 WIPO.
`WO95/20850 8/1995 WIPO.
`
`US006091725A
`Patent Number:
`11
`(45) Date of Patent:
`
`6,091,725
`*Jul.18, 2000
`
`OTHER PUBLICATIONS
`William Stallings, Data and Computer Communications, PP:
`329-333, Prentice Hall, Upper Saddle River, New Jersey
`O7458.
`Allen, M., “Novell IPX Over Various WAN Media (IPXW
`AN).” Network Working Group, RFC 1551, Dec. 1993, pp.
`1-22.
`
`(List continued on next page.)
`Primary Examiner Min Jung
`Attorney, Agent, or Firm-Oblon, Spivak, McClelland,
`Maier & Neustadt, P.C.
`57
`ABSTRACT
`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 applications.
`
`6 Claims, 6 Drawing Sheets
`
`FACKETARRIES
`
`CHEDSA
`WIRTUALPANEX IN
`IRJALPAHACHF
`
`(ALD
`W3TALPATH
`ECR
`FOUND 3
`
`
`
`S
`
`ERRC STAGRM
`ECTROLLER CPJ
`
`CONROLLERC)
`PROCESSES DATARA
`INSEF3E
`
`CPUFORARDS
`DAGRANPACKT
`STUP PRT
`SEY) PACE
`
`CESTOLER CPU
`WRES NEWRUAL
`PATH RECORD
`REPRESLEAST
`ECENTLY SEDFTRY
`FNEESS3
`
`PREESS DATASRA
`INSWITCHARE
`
`FORRETOOTRUT
`PORT SENCPACKET
`
`PDATE SAISES
`FELDS
`
`NOAC Ex. 1057 Page 1
`
`

`

`6,091,725
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`7/1979 Parikh et al..
`4,161,719
`4,316.284 2/1982 Howson.
`4,397,020 8/1983 Howson.
`4,419,728 12/1983 Larson.
`4,424,565
`1/1984 Larson.
`4,437,087 3/1984 Petr.
`4,438,511
`3/1984 Baran.
`4,439,763 3/1984 Limb.
`4,445,213 4/1984 Baugh et al..
`4,446,555 5/1984 Devault et al..
`4,456.957 6/1984 Schieltz.
`4,464,658 8/1984 Thelen.
`4,499,576 2/1985 Fraser.
`4,506,358 3/1985 Montgomery .
`4,507,760 3/1985 Fraser.
`4,532,626
`7/1985 Flores et al..
`4,644,532 2/1987 George et al..
`4,646.287 2/1987 Larson et al..
`4,677,423
`6/1987 Benvenuto et al..
`4,679,189 7/1987 Olson et al. .............................. 370/60
`4,679,227 7/1987 Hughes-Hartogs.
`4,723.267 2/1988 Jones et al..
`4,731,816 3/1988 Hughes-Hartogs.
`4,750,136 6/1988 Arpin et al..
`4,757.495
`7/1988 Decker et al..
`4,763,191
`8/1988 Gordon et al..
`4,769,810 9/1988 Eckberg, Jr. et al..
`4,769,811
`9/1988 Eckberg, Jr. et al..
`4,771,425 9/1988 Baran et al..
`4,819,228 4/1989 Baran et al..
`4,827.411
`5/1989 Arrowood et al..
`4,833,706 5/1989 Hughes-Hartogs.
`4,835,737 5/1989 Herrig et al..
`4,879,551 11/1989 Georgiou et al..
`4,893,306
`1/1990 Chao et al..
`4,903.261
`2/1990 Baran et al..
`4,922,486 5/1990 Lidinsky et al. .
`4,933,937 6/1990 Konishi.
`4,960,310 10/1990 Cushing.
`4,962,497 10/1990 Ferenc et al..
`4,962,532 10/1990 Kasirai et al..
`4,965,772 10/1990 Daniel et al..
`4,970,678 11/1990 Sladowski et al..
`4,979,118 12/1990 Kheradpir ............................... 364/436
`4,980,897 12/1990 Decker et al..
`4,991,169 2/1991 Davis et al..
`5,003.595 3/1991 Collins et al..
`5,014,265 5/1991 Hahne et al..
`5,020,058 5/1991 Holden et al..
`5,033,076
`7/1991 Jones et al..
`5,054,034 10/1991 Hughes-Hartogs.
`5,059,925 10/1991 Weisbloom.
`5,072,449 12/1991 Enns et al..
`5,088,032 2/1992 Bosack.
`5,095,480 3/1992 Fenner ................................... 370/94.1
`5,115,431
`5/1992 Williams et al..
`5,128,945
`7/1992 Enns et al..
`5,136,580 8/1992 Videlock et al..
`5,166.930 11/1992 Braffet al..
`5,199,049 3/1993 Wilson.
`5,206,886 4/1993 Bingham.
`5,208.811
`5/1993 Kashio et al..
`5,212,686 5/1993 Joy et al. .
`5,224,099 6/1993 Corbalis et al..
`5,226,120 7/1993 Brown et al..
`5,228,062 7/1993 Bingham.
`5,229.994 7/1993 Balzano et al..
`5,237,564 8/1993 Lespagnol et al..
`5,241,682 8/1993 Bryant et al..
`5,243,342 9/1993 Kattemalalavadi et al. .
`
`5.243,596 9/1993 Port et al..
`5,245,614 9/1993 Gutman et al. ......................... 370/477
`5,247,516 9/1993 Bernstein et al..
`5.249,178 9/1993 Kurano et al..
`5,253,251 10/1993 Aramaki.
`5.255.291 10/1993 Holden et al..
`5,260,933 11/1993 Rouse.
`5,260,978 11/1993 Fleischer et al..
`5,268,592 12/1993 Bellamy et al..
`5,268,900 12/1993 Hluchy et al..
`5,271,004 12/1993 Proctor et al..
`5,274,631 12/1993 Bhardwaj.
`5,274,635 12/1993 Rahman et al..
`5,274,643 12/1993 Fisk.
`5,280,470
`1/1994 Buhrke et al..
`5,280,480
`1/1994 Pitt et al..
`5,280,500
`1/1994 Mazzola et al..
`5,283,783 2/1994 Nguyen et al..
`5,287,103 2/1994 Kasprzyk et al. .
`5,287,453 2/1994 Roberts ................................... 395/200
`5,291,482 3/1994 McHarg et al. .
`5,305,311
`4/1994 Lyles.
`5,307.343 4/1994 Bostica et al..
`5,309.437 5/1994 Perlman et al. ..................... 370/85.13
`5,311,509 5/1994 Heddes et al..
`5,313,454 5/1994 Bustini et al..
`5,313,582 5/1994 Hendel et al..
`5,317.562 5/1994 Nardin et al..
`5,319,644 6/1994 Liang.
`5,327,421
`7/1994 Hiller et al..
`5,331,637 7/1994 Francis et al..
`5,335,224 8/1994 Cole et al. .............................. 370/235
`5,345,445 9/1994 Hiller et al..
`5,345,446 9/1994 Hiller et al..
`5,359,592 10/1994 Corbalis et al..
`5,361,250 11/1994 Nguyen et al..
`5,361,256 11/1994 Doeringer et al..
`5,361,259 11/1994 Hunt et al..
`5,365,524 11/1994 Hiller et al..
`5,367,517 11/1994 Cidon et al..
`5,371,852 12/1994 Attanasio et al..
`5,386,567
`1/1995 Lien et al..
`5,390,170 2/1995 Sawant et al..
`5,390,175
`2/1995 Hiller et al..
`5,394,394 2/1995 Crowther et al..
`5,394.402 2/1995 Ross.
`5,400,325 3/1995 Chatwani et al..
`5,408,469 4/1995 Opher et al..
`5,416,842 5/1995 Aziz.
`5,422,880 6/1995 Heitkamp et al..
`5,422,882 6/1995 Hiller et al..
`5,423,002 6/1995 Hart.
`5,426,636 6/1995 Hiller et al..
`5,426,637 6/1995 Derby et al. ............................ 370/401
`5,428,607 6/1995 Hiller et al..
`5,430,715 7/1995 Corbalis et al..
`5,430,729 7/1995 Rahnema.
`5,432,784 7/1995 OZVeren .................................. 370/235
`5,442.457 8/1995 Najafi.
`5,442,630 8/1995 Gagliardi et al. .
`5,452.297 9/1995 Hiller et al..
`5,473,599 12/1995 Li et al..
`5,473,607 12/1995 Hausman et al..
`5,477.541 12/1995 White et al..
`5,485,455
`1/1996 Dobbins et al..
`5,490,140 2/1996 Abensour et al..
`5,490,258 2/1996 Fenner .................................... 395/401
`5,491,687 2/1996 Christensen et al..
`5,491,804 2/1996 Heath et al..
`5,497,368 3/1996 Reijnierse et al..
`5,499,238 3/1996 Shon ....................................... 370/399
`5,504,747 4/1996 Sweasey.
`
`
`
`NOAC Ex. 1057 Page 2
`
`

`

`6,091,725
`Page 3
`
`5,509,006 4/1996 Wilford et al..
`5,517,494 5/1996 Green.
`5,519,704 5/1996 Farinacci et al..
`5,519,858 5/1996 Walton et al. .......................... 395/600
`5,526,489 6/1996 Nilakantan et al..
`5,530.963
`6/1996 Moore et al..
`5.535,195
`7/1996 Lee.
`5,539,734 7/1996 Burwell et al..
`5,541,911
`7/1996 Nilakantan et al..
`5,546,370 8/1996 Ishikawa.
`5,555,244 9/1996 Gupta et al..
`5,561,669 10/1996 Lenney et al..
`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 2/1997 Komine et al..
`5,608,726 3/1997 Virgile.
`5,617,417
`4/1997 Sathe et al. .
`5,617,421
`4/1997 Chin et 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 7/1997 Belove et al..
`5,659,684 8/1997 Giovannoni et al..
`5,666,353 9/1997 Klausmeier et al..
`5,673,265 9/1997 Gupta et al..
`5,678,006 10/1997 Valizadeh et al..
`5,680,116 10/1997 Hashimoto et al..
`5,684,797 11/1997 Aznar et al. ............................ 370/390
`5,689,506 11/1997 Chiussi et al. .......................... 370/388
`5,694,390 12/1997 Yamato et al..
`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.
`5,892,924 4/1999 Lyon et al. ......................... 395/200.75
`5,903.559 5/1999 Acharya et al..
`OTHER PUBLICATIONS
`Becker, D., “3c589.c: A3c589 Etherlink3 ethernet driver for
`linux,” beckerGCESDIS.gsfc.nasa.gov, May 3, 1994, pp.
`1-13.
`
`Chowdhury, et al., “Alternative Bandwidth Allocation Algo
`rithms for Packet Video in ATM Networks,” INFOCOM
`1992, pp. 1061-1068.
`Doeringer, W., “Routing on Longest-Matching 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. 1-19.
`Simpson, W., “The Point-to-Point Protocol (PPP).” Net
`work Working Group, RFC 1548, Dec. 1993, pp. 1–53.
`Tsuchiya, P.F., “A Search Algorithm for Table Entries with
`Non-Contiguous 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. “Rate-Controlled Static-Priority 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 no Nov. 1992, pp. 409–411.
`Esaki, et al., “Datagram Delivery in an ATM-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, No. 1, Feb. 1996,
`pp. 86-97.
`
`NOAC Ex. 1057 Page 3
`
`

`

`U.S. Patent
`
`Jul.18, 2000
`
`Sheet 1 of 6
`
`6,091,725
`
`- - - - - - -
`NETWORKSWITCHING DEVICES
`
`- - - - - - -
`116
`
`105
`
`106
`
`107
`
`105
`
`108 it
`
`104
`
`127
`SERVER
`COMPUTERS
`
`- - - - - - - - - - - - - - - - - - - - - - -
`110- 111-U 112
`113
`114
`115
`-- - - - - - -
`
`\
`
`CLENT COMPUTERS
`- - - - - - - - - - - - - - - - - - - - - - - -
`
`NOAC Ex. 1057 Page 4
`
`

`

`U.S. Patent
`
`Jul.18, 2000
`
`Sheet 2 of 6
`
`6,091,725
`
`ARN piction TTTTTTTTTTTTTTTTTTTT
`DESTINATION |
`SOURCE
`TYPE
`DATA FIELD
`CRC
`ADDRESS
`ADDRESS
`FIELD
`(VARIABLE SIZE)
`FIELD
`
`20
`L - - - - - -
`
`2O2
`
`2O3
`
`J
`
`A MC.2
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`VIRTUAL PATH RECORD 500
`TAG
`FORWARDING
`FIELD
`FIELD
`
`STATSICS
`FIELD
`
`:
`
`
`
`STATE
`FIELD
`
`|
`|
`-- - - - -10
`TAG FIELD.
`DESTINATION |
`ADDRESS
`
`a
`
`---
`
`SOURCE
`ADDRESS
`
`3.11
`
`312
`
`---
`
`340
`
`is -
`INPUT
`PORT
`
`514
`
`TYPE
`FIELD
`
`513
`
`FORWARDING FIELD:
`OUTPUT
`PRIORITY
`PORT
`
`MULTI
`REAL | STORE
`TIME
`FORWARD | CAST
`
`SNOOP BUFFER
`MODE
`SIZE
`
`521
`
`522
`
`525
`
`524.
`
`525
`
`526
`
`327
`
`STATE FIELD:
`HEAD
`POINTER
`
`TAL
`POINTER
`
`INK
`POINTER
`
`351
`
`532
`
`555
`
`STATISTICS FIELD:
`NO OF PACKETS NO OF BYTES
`RECEIVED
`RECEIVED
`
`341
`
`342
`
`AAC. 3
`
`NOAC Ex. 1057 Page 5
`
`

`

`U.S. Patent
`
`Jul.18, 2000
`
`Sheet 3 of 6
`
`6,091,725
`
`
`
`VIRTUAL
`PATH
`INDEX
`650
`
`VIRTUAL PATH CACHE
`
`415
`
`HIT/MISS
`SIGNAL
`
`655
`
`VIRTUAL PATH
`RECORD BUS
`
`655
`
`SWITCH HARDWARE
`
`409
`
`OUTPUT
`PORTS
`
`INPUT
`PORTS
`
`
`
`
`
`
`
`
`
`BUFFER
`MEMORY
`
`410
`
`411
`
`CPU INTERFACE 412
`
`MEMORY
`
`415
`
`414
`
`A / C. 47
`
`NOAC Ex. 1057 Page 6
`
`

`

`U.S. Patent
`
`Jul.18, 2000
`
`Sheet 4 of 6
`
`6,091,725
`
`
`
`
`
`
`
`
`
`PACKET ARRIVES
`
`CHECK DATAGRAM
`VIRTUAL PATH INDEX IN
`VIRTUAL PATH CACHE
`
`YES
`
`
`
`VALID
`VIRTUAL PATH
`RECORD
`FOUND 2
`
`M0
`
`FORWARD DATAGRAM
`TO CONTROLLER CPU
`
`CONTROLLER CPU
`PROCESSES DATAGRAM
`IN SOFTWARE
`
`CPU FORWARDS
`DATAGRAM PACKET TO
`SWITCH OUTPUT PORT
`SEND PACKET
`
`
`
`CONTROLLER CPU
`WRITES NEW VIRTUAL
`PATH RECORD
`REPLACES LEAST
`RECENTLY USED ENTRY
`IF NECESSARY
`
`PROCESS DATAGRAM
`INSWITCH HARDWARE
`
`FORWARD TO OUTPUT
`PORT SEND PACKET
`
`UPDATE STATISTICS
`FIELDS
`
`AAC. 6
`
`NOAC Ex. 1057 Page 7
`
`

`

`U.S. Patent
`
`Jul.18, 2000
`
`Sheet 5 of 6
`
`6,091,725
`
`VIRTUAL PATH INDEX (630)
`VIRTUAL PATH
`CACHE INDEX
`(652)
`
`HASH
`FUNCTION
`
`HIT/MISS
`655
`
`VIRTUAL PATH
`RECORD DATABUS
`
`48 BTS
`
`
`
`48 BTS
`
`VIRTUAL PATH
`INDEX 650
`
`NOAC Ex. 1057 Page 8
`
`

`

`U.S. Patent
`
`Jul.18, 2000
`
`Sheet 6 of 6
`
`6,091,725
`
`
`
`OUTPUT PORT 80
`
`TRANSMT LIST 804
`
`A MO. 6
`
`NOAC Ex. 1057 Page 9
`
`

`

`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
`SOCWC.
`
`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,
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,091,725
`
`2
`which complicates the behavior of network nodes that need
`to create virtual circuits to communicate.
`Datagram Packet Switching
`In the datagram approach, each datagram packet is a
`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.
`Datagram packet Switching has the advantage that it
`avoids the overhead and cost of Setting up 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 traffic 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
`
`NOAC Ex. 1057 Page 10
`
`

`

`3
`to as Carrier Sense Multiple Access with Collision Detection
`(CSMA/CD), see U.S. 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, N.Y. 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.
`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
`CC.
`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.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,091,725
`
`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.
`Traffic 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 traffic 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
`network congestion problem, Since it does not take the
`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 flows, 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
`
`NOAC Ex. 1057 Page 11
`
`

`

`6,091,725
`
`5
`
`15
`
`35
`
`25
`
`S
`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
`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
`40
`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
`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
`Other features and advantages of the present invention
`will become more apparent to those skilled in the art from
`the following detailed description in conjunction with the
`appended drawings in which:
`FIG. 1 is a block diagram of a computer communication
`System;
`FIG. 2 is a block diagram of the Ethernet datagram packet
`format,
`FIG. 3 illustrates the Virtual Path Record data structure;
`FIG. 4 is a block diagram of the network Switching
`device;
`FIG. 5 is a flow diagram of the network switching device
`operation;
`FIG. 6 is a block diagram of the virtual path cache;
`FIG. 7 is a block diagram of the virtual path hash function;
`and
`FIG.

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