throbber
,HlllllllllllllllIlllllllllIlllllllll||||||||l|Illlllllllllllllllllllllllll
`U8005566170A
`
`United States Patent
`Bakke et al.
`
`[191
`
`[11] Patent Number:
`
`5,566,170
`
`[45] Date of Patent:
`
`Oct. 15, 1996
`
`[54]
`
`METHOD AND APPARATUS FOR
`ACCELERATED PACKET FORWARDING
`
`I
`
`[751
`
`Inventors: Mark A. Bekke, Maple Grove;
`Edward J. Fiore, Ramsey, both of
`Minn.
`.
`
`’
`
`[73]
`
`{21]
`
`[22]
`
`[51]
`[52]
`
`[581
`
`[56]
`
`Assignee: Storage Technoloy Corporation,
`Louisville, Colo.
`
`App]. No.: 366,221
`
`Filed:
`
`We. 29,1994
`
`Int. 01.6 ........................'..... HML 12/56; GO6F 13/00
`US. Cl. ........................... 379/69; 370/942; 395/650;
`~
`'
`'
`.
`395/800
`
`Field of Search ,................................. 37058.], 58.2,
`370/583,, 60, 60.1, 61, 79.82, 83, 85.13,
`85.14, 94.1, 94.2, 94.3, 99; 395/200, 325,
`‘
`375, 650, 800
`
`'
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,134,610
`5,249,292
`
`370/60
`7/1992 Shand etal
`. 395/650
`9/1993 Chiappa .......
`
`5,278,834
`5,280,476
`5,414,702
`5,414,707
`5,430,709
`
`.. 3170/94.]
`1/1994 Mazzola ......
`
`
`.' 370/601
`1/1994 Kojiina etal.
`
`5/1995 Kudoh .................. 370/60
`
`5/1995 Johnston eta].
`370/79
`
`7/1995 Galloway .......................
`....... 370/13
`
`*
`
`Primary Examiner—Alpus H. 'Hsu
`Attorney, Agent, or_Fimz—-Patterson and Keough
`
`[57]
`
`ABSTRACT
`
`A method andvapparatus are provided to transfer protocol
`data units within a communication network. This transfer-
`ring is accomplished with a protocol data unit preprocessor ,
`utilized in a protocol data unit forwarding device that is
`operated in the communication network. The preprocessor,
`includes an identification mechanism which determines
`media header information of a protocol data unit received
`from over the communication network. Subsequently, a
`validation mechanism validates the media header informa-
`tion. In addition, modification mechanisrn adds next opera—
`tion information to the media header information based upon
`the determined media header information such that subse-
`quent processing of the protocol data unit by the protocol
`data unit forwarding device is reduced.
`
`29 Claims, 6 Drawing Sheets
`
`[100
`
`.-!I.-. V
`PROCESSOR
`
`
`
`UNIFIED 1008
`
`UNIFIED 1008
`
`

`

`- US. Patent
`
`Oct. 15, 1996
`
`Sheét l of 6
`
`5,566,170
`
`5k.
`
`N0_..mm_.
`
`.moE<o<
`
`XEOE
`
`w0<mmm._.2_
`
`vEOEMZ
`
`why/«LEE?—
`
`
`
`
`
`EOmmwOOEQmenEDn—4<Ew2wmmm,ro.4u.I...Om.
`
`
`
`firmly.EOEm-F.0.”—
`
`
`
`

`

`US. Patent
`
`1
`
`Oct. 15, 1996
`
`Sheet 2 of 6
`
`5,566,170
`
`N.GE . GE.
`
`5%EE
`
`5
`
`
`

`

`US. Patent
`
`Oct. 15, 1996
`
`Sheét 3 of 6
`
`5,566,170
`
`‘
`
`INPUT
`BUFFER
`
`200
`
`2
`
`06
`
`‘
`
`210
`
`T
`
`212
`
`CHECK 48 BIT
`DA
`
`VALIDATE DA
`AND SA
`
`FORWARD TYPE ‘
`DECISlON
`
`CHECK 48 BIT
`SA
`
`‘
`
`214
`
`SOURCE
`ROUTE INFO
`
`
`
`YES
`
`‘ 16
`
`.
`'ROTOCOL
`
`TYPE>1500V
`
`,
`
`.No
`
`1B
`
`'
`
`_
`
`20
`
`.
`NO FORWARD
`’
`ONLY
`
`.
`
`_
`
`Y
`
`ES
`
`Y
`
`DETERMINE
`TYPE
`
`
`
`IPX, AT, SNAP,
`IPX SAP, IPX
`BROKEN
`
`FIG. 3
`
`

`

`\
`
`US. Patent
`
`Oct. 15, 1996 '
`
`Sheet 4 of 6
`
`5,566,170 I
`
`224
`
`
`
`ENGTH=
`
`
`AND
`
`VERSION=4
`
`YES
`
`232
`
`N0
`
`226
`
`BAD PDU
`
`DETERMINE
`
`TYPE OF
`
`SERVICE
`
`,
`
`‘ 236
`
`No
`
`238
`
`BAD PDU
`
`YES
`
`240
`
`
`
`'
`
`IME TO LlV
`EXPIRED
`
`
`
`NO
`
`242
`
`SET FLAG
`
`YES
`
`244
`
`DECREIVIENT
`TIME TO LIVE
`
`I
`
`’ 246
`
`250
`
`_
`
`.
`
`LOAD DA,
`TOS, AND VR
`INTO CAM
`
`,
`
`ADD
`RECEIVE
`INFO TO PDU
`
`248
`
`WRITE CAM
`RESULTS TO
`REGISTER
`
`FIG. 4
`
`

`

`US. Patent
`
`Oct. 15, 1996
`
`Sheet 5 orb
`
`5,566,170
`
`
`
`_K|PPAD_YTES
`
`264
`
`PAD
`COUNT S 6
`
`66
`
`BAD PDU
`
`263 -
`
`.
`
`NO
`
`.
`
`268
`
`CLEAR
`INTRA-LAN
`BIT
`
`‘
`
`270
`
`SK'P SlX
`BYTES
`
`272
`
`_
`
`274
`
`LOAD DA, VR,
`ANDID INTO‘
`CAM
`
`, WRITE CAM
`RESULTS TO
`REGISTER
`
`SKIP SEVEN
`BYTES
`
`’
`
`
`
`276
`
`84
`
`N0.
`
`
`[SIT COUN
`EXCEEDED '
`
`
`286
`YES
`
`288
`
`290
`
`INCREMENT
`VISIT COUNT
`
`ADD
`RECE'VE
`INFO TO PDU
`
`-
`
`,
`
`-
`
`‘ FIG. 5
`
`

`

`US. Patent
`
`Oct. 15, 1996
`
`Sheet 6 of 6
`
`5,566,170
`
`300
`
`DETERMINE
`
`MEDIA HEADER
`
`INFORMATION
`
`VALIDATE
`
`MEDIA HEADER
`
`INFORMATION
`
` 302
`
`304
`
`306
`
`308
`
`ADD NEXT
`
`OPERATION
`
`INFORMATION
`
`FORWARD ‘
`
`PROTOCOL
`
`DATA UNIT .
`
`‘ FIG. 6.
`
`

`

`5,566,170
`
`1
`METHOD AND APPARATUS FOR
`ACCELERATED PACKET FORWARDING
`
`RELATED INVENTIONS
`
`The present invention is related to:
`Co-pending U.S. patent application Ser. No. 08/366,225
`filed-on Dec. 23, 1994, which is entitled “Method And
`Apparatus For Accelerated Packet Processing" by Geof
`Stone,
`Co-pending U.S. patent application Ser. No. 08/366,226
`filed on Dec. 23, 1994, which is entitled “MethodAnd
`Apparatus For Radix Decision Packet Processing" by Geof
`Stone,
`
`Co-pending U.S. patent application Ser. No 08/366,227
`filed on Dec. 23, 1994, which is entitled “Method And
`Apparatus For Virtual Switching" by Ken Hardwick, et al.;
`and which were all
`filed concurrently herewith and
`assigned to the assignee of the present invention.
`
`10
`
`15
`
`20.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to data commu-
`nication networks. More particularly, the present invention
`relates to protocol data unit forwarding systems that direct
`the flow of protocol data units in the data communication
`networks.
`
`BACKGROUND OF THE INVENTION
`
`In a data communication network, a forwarding device
`(eg., a data packet switch) directs protocol data units (e.g.,
`data packets) from one network node to another, These data
`packets may include voice, video, or data information as
`well as any combination thereof.
`To better understand how forwarding devices work within
`a data communication network, an analogy may be helpful.
`In many respects, data communication networks are similar
`to postal delivery systems, with pieces of mail, such as
`letters or packages, being comparable to the data packets
`which are transferred within a data communication network;
`In a postal delivery system, the pieces of mail may be input
`into the postal delivery system in a variety of ways. Once
`within the postal delivery system, all of the pieces of mail
`are collected and transported to nearby processing facilities
`where the pieces of mail are sorted for further processing.
`Although each piece of mail will have a unique delivery
`address, most of the pieces of mail are automatically sorted
`by a shorter zip code or some other type of routing code
`Letters without zip codes must be sorted and processed by
`hand. Some postal delivery systems also have special forms
`of encoded delivery addresses, such as Post Olfice box
`numbers at a Post Oflice, which are not recognizable by
`other postal delivery systems such as Federal Express or
`_ United Parcel Service. Regardless of which particular postal
`delivery system the piece of mail is deposited into, once the
`mail has been sorted by destination it is routed through
`additional intermediary processing facilities until it arrives
`at the local indicated by the destination on the piece of mail.
`At this point, the zip code or roofing code is no longer
`sufficient to deliver the piece of mail to the intended desti-
`nation and the local delivery ofiice must further decode the
`destination address in order to deliver the piece of mail to the
`intended recipient. In addition to processing pieces of mail
`for routing the mail to the correct destination, the pieces of
`mail may go on through several other processing steps. For
`example, if the piece of mail is going out of the country, it
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`2
`must go through a customs operation in each country. If the
`national postal delivery system is being used to deliver the
`piece of mail then it must also be transferred from one
`national postal delivery system to another. In a private postal
`delivery system however, this transfer step would not be
`necessary. The pieces of mail may also be monitored or
`filtered for such things as mail fraud violation or shipment
`of hazardous materials.
`
`~ Data packets are manipulated in a data communication
`network} in a manner similar to that by which pieces of mail
`are delivered in a postal delivery system. Data packets, for
`example, aregenerated by many diiferent types of devices
`and are placed onto a communication network. Typically, the
`data packets are concentrated into a forwarding device, such
`as a local bridge or router, and are then directed by desti~
`nation over one or more media types (e.g., fiber optic) which
`are connected to destination devices that could be other
`larger or smaller bridges or routers. These destination
`devices then deliver the data packet to its terminal end point
`(i.e., the end user). Along the way the data communication
`network may perform filtering and monitoring functions
`with respect to the data packets.
`'
`Just like postal delivery systems have experienced ever
`increasing volumes of mail which must be delivered, the
`volume ‘of protocol data units being transferred across
`computer networks continues to increase as experience is
`being gained with this new form of communication delivery
`system and as more and more applications, with more and
`more expansive means are being developed. In addition,
`quickly changing technology has made the underlying data
`transmission resources for computer communication net-
`works relatively inexpensive. Fiber optics, for example,
`ofier data transfer rates in the gigabyte per second range.
`The capability or through put of a forwarding device and
`a computer communication network can be measured either
`by the number of data packets per second or by the number
`of bits per second which pass through the forwarding device.
`The former measure is importantbecause in typical network
`traflic, the bulk of protocol data units or data packets. are
`small and the critical parameter is how many data packets a
`forwarding device can handle. If network trafiic is weighted
`by packet size, however, the bulk of the data is carried in
`.large packets. In large bulk data transfers, the second mea-
`sure of how many hits are being transferred is more impor-
`tant regardless of the number of data packets that are
`handled. This tension between packet transfer rate versus bit
`transfer rate is a continuing dichotomy in through put
`measurements of forwarding devices. Regardless of which
`through put measure is used, there'rs a need for through put
`rates that are substantially higher than the through put rates
`currently available'in forwarding devices.
`The existing types of forwarding devices which offer the
`greatest potential to meet the increasing demand on through
`put rates are packet switches. Several classes of packet
`switches exist. Each class differs substantially from the other
`class of devices, but all may be commonly referred to as
`packet switches or forwarding devices.
`A first class of packet switches is that commonly used in
`digital telephone exchanges. By analogy, these switches can
`perform the functions only of a mail carrier picking up and
`delivering mail along a single route. These switches are
`intended only to transfer packets among the devices in a ‘
`single station, such as a telephone exchange. The format of
`the packet in these systems is chosen to make the hardware
`in the switch as simple as possible; and this usually means
`that the packets include fields designed for direct use by the
`
`

`

`5,566,170
`
`4
`
`10
`
`15
`
`35
`
`4
`
`The approach which uses faster processors simply keeps
`pace with processor dependent (future) demands because the
`trafiic which the packet switch will handle will depend upon
`the speed of the user processors being used to generate the
`nafiic. Those user processors, like the processors in the
`packet switches, will increase in speed at more or less the
`same rate. Accordingly, there is no overall increase in the
`ability of the future packet switch over present packet
`switches, relative to traflic load. Furthermore, this approach
`may be impractical as not being cost-effective for wide-
`spread use. For example, two high speed machines, distant
`from each other, must have intermediate switches which are v
`all equally as powerful; deployment on a large scale of such
`expensive switches is not likely to be practicable.
`‘
`The approach which increases the execution rate of the
`software itself by, for example, removing excess instructions
`or writing the code in assembly language, leads to a limit
`beyond which an increase in performance cannot be made.
`The gains which result are typically small (a few percent)
`and the engineering costs of such distortions in the software
`are significant in the long term. This type of assembly code
`optimization restricts the ability to enhance the softWare as
`well as port the software to a different processor platform.
`The use of multiple processors to avoid the “processor
`bottleneck" provides some gains but again has limits. Given
`a code path to forward a data packet, it is not plausible to
`split that path into more than a few stages. Typically these
`stages would involve network input, protocol functions, and
`network output. The basis for this limitation is the overhead
`incurred to interface the difi‘erent processors beyond a
`limited number of task divisions. That is, after acertain
`point,
`the increase in interface overhead outv'veighs the
`savings obtained from. the additional stage. This is particu-
`larly true because of the need to tightly integrate the various
`components; for example, congestion control at the protocol
`level requires dose coordination with the output device.
`Also, the interface overhead costs are made more severe by
`the complication of the interface which is required.
`.
`.
`.
`In general then, the multiprocessor approach is not the
`0' answer to substantially mcreasmg the throughput of the
`packet switching network. This has been borne out by
`several attempts by technically well-regarded groups to
`build packet switches using this approach. While aggregate
`throughput over a large number of interfaces can be
`obtained, this is, in reality, little different than having a large
`number of small switches. It has thus far proven implausible
`to substantially speed up a single stream using the multi-
`processing approach.
`'
`A need still exists for an improved protocol data unit (i.e.,
`frame, cell, or packet) forwarding system which solves the
`above~mentioned problems in a manner which can better
`handle large numbers of input streams, large numbers of
`output destinations and lines, many difl’erent types of com-
`munication protocols, and large and small data packets at
`both high bit throughput rates and high packet throughput
`rates, while maintaining reasonable costs and complexity.
`
`30
`
`3
`hardware. The capabilities of this class of switches (for
`example,
`in such areas as congestion control) are very
`limited in order to keep the hardware simple.
`A second class of packet switches is used in smaller-or
`restricted computer netWorks, such as X.25 networks. By
`analogy, these switches are equivalent to the Post Office in
`a single town with no connection to other Post Oflices. In
`some sense, these switches are little difierent from the first
`class of packet switches described above, but there is one
`- substantial diiference. The format of the packets (that is, the
`protocols) handled by the second class of packet switches is
`much more complex. This greater complexity is necessary
`because the protocols are designed to work in less restricted
`environments, and because the packet switches must provide
`a greater range of services. While the formats interpreted by
`the first class of switches are chosen for easy implementa-
`tion in hardware, the data packets handled by this second
`class of switches are generally intended to be interpreted by
`software (which can easily and economically handle the v
`greater complexity) and provides the inherit benefit of
`incremental flexibility in the design of the packet switch.
`In a third class of packet switches, the packet protocols
`are intended to be used in very large data networks having
`many very dissimilar links (such an mix of very high speed
`local area networks (LANs) and low speed long distance
`point to point lines). Examples of such protocols are the
`United States designed Transmission Control Protocol/In-
`temetwork Program (TOP/1P), and the International Stan-
`dards Organization’sintemetworking Protocol/Connection-
`less Network Service (IPICLNS) protocols.
`In addition,
`this third class of switches (commonly
`referred to as bridge/routers) often must handle multiple
`protocols simultaneously. This third class of switches is very
`similar to the mail processing devices used in the modern
`postal system. Just as there are many countries, there are
`many data, packet protocols used in computer networks.
`While a single postal system was once thought
`to be
`sufficient to handle mail going anywhere in the world, today
`several competing systems like United Parcel Service, Fed-
`eral Express, and the U.S. Postal Service exist to handle the
`special needs of mail going to every country, state, city,
`town, and street in the world. Similarly, in computer com-
`munication systems, the packet switches are more involved
`in the carrying of data, and must understand some of the
`details of each protocol to be able to correctly handle data
`packets Which are being conveyed in that protocol. The
`routers in this third class of packet switches often have to
`make fairly complex changes to the data packets as they pass
`through the packet switch.
`-
`It is this latter class of packet switches to which the
`, following detailed description primarily relates. It will be
`appreciated howavcr, that the detailed description of this
`invention can readily be applied to the first and second class
`of switches as well. In current conventional packet switch
`design, a programmed general purpose processor examines
`each data packet as it arrives over the network interface and
`then processes that packet. Packet processing requires
`assignment of the data packet to an outbound network
`interface for transmission over the next communications link
`in the data path. While attempts are being made to build
`higher speed packet switches, based on this architecture of
`using general purpose processors, the attempts have not
`been very successful. One approach is to use faster proces~
`sors, another is to make the software run. faster, and a third '
`is to apply multiple processors to the processing task. All of 65
`these approaches fail to meet the increasing performance
`demands for packet switches for the reasons noted below.
`
`45
`
`50
`
`55
`
`SUMMARY OF THE lNVEN’HQN
`The present invention provides a packet-forwarding sys-
`tem With improved throughput performance by means of a *
`method and apparatus for accelerated packet forwarding. In
`accordance with a first aspect of the invention, a protocol
`data unit preprocessor is used in a protocol data unit for-
`warding device utilized in a communication network to
`transfer protocol data units within the communication net-
`
`

`

`5,566,170
`
`5
`work. The preprocessor includes an identifier which deter-
`mines media header information of a protocol data unit
`received from over the communication network. In addition,
`the validation mechanism is operatively coupled to the
`identifier to validate the media header information. Also, a -
`modifier device is operatively coupled to theyidentifier to
`perform necessary modifications to the media header (e.g.,
`add next operation information) based upon the determined
`media header information such that subsequent processing
`of the protocol data unit by the protocol data unit forwarding
`device is reduced.
`'
`
`10
`
`With reference to the postal delivery analogy, the present
`invention can be likened to a system which both increases
`the speed at Which pieces of mail can be moved through the
`postal delivery system and provides an ability to handle in
`a common system pieces of mail entered into a variety of
`different postal delivery systems. By utilizing the prepro-
`cessor of the present invention to identify and verify the
`media header or address information of a protocol data unit
`and then using this information to generate a modified
`address that facilitates quicker processing of the protocol
`data units, the present invention is able to significantly
`increase-the through put of the forwarding device, both in
`terms of the number of data packets per second and in terms
`of the'number of bits per second which pass through the
`forwarding device.
`'
`The media header information typically includes at a
`minimum the encapsulation type, protocol type, frame type,
`media destination, and source route information. This infor~
`mation is used by the modifier device to add next operation
`information which specifies a particular operation such as
`route, bridge, or source route bridge to perform on the
`received protocol data unit. It should be noted that a media
`destination may be multicast, a urticast match,’or a unith
`non-match destination.
`'
`
`In order to accelerate the forwarding of a received pro-
`tocol data unit, the identifier preferably is configured to
`determine the media header
`information after having
`received only a portion (i.e., the first several bits" or bytes) of
`the protocol data unit. Similarly, the modifier device pref-
`erably is configured to modify the media header after having
`received only a portion of the protocol data unit. Both of
`these optimizations are particularly important when manipu-
`lating large protocol data units which extend over several
`frames or consist of several smaller parts that are received at
`various times and/or from various incoming interfaces.
`In accordance with a second aspect of the invention, a
`method of operating a forwarding device within a commu-
`nication network is provided to forward a protocol data unit
`received by the forwarding device. This method is per-
`formed by device-implemented steps in a first and second
`processor. In the first processor, media header information of
`a protocol data unit is determined based upon a portion of
`the protocol data unit which is received from over a com-
`munication network, the media header information is vali~
`dated, and next operation information is added to the media
`header information based upon the determined media header
`information such that subsequent processing of the protocol
`data unit by a forwarding processor is reduced. In a second
`processor, the protocol data unit is forwarded based upon the
`next operation information.
`The validating step preferably consists of performing one
`or more validation schemes. These validation schemes
`include, but are not limited to, time to live, hop count,
`checksum, header type, header version, network header
`length, check options, source route header length, and check
`
`15
`
`.
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`6
`for duplicate local area network identifiers. In conjunction
`with using, these validation schemes, a step may be added to
`the preferred embodiment method prior to the step of
`forwarding the protocol data unit. This additional step would
`involve modifying the protocol data unit in accordance with '
`next operation information by decrementing a time to live,
`incrementing a hop count, modifying a checksum, truncating
`a protocol data unit, and/or removing a frame check
`sequence from the protocol data unit. In addition, it may be
`necessary to pad bytes of data to the protocol data unit to
`enhance the forwarding process such that the header infor-
`mation is aligned on optimal boundaries.
`These and various other features as well as advantages
`which characterize the present invention will be apparent
`upon reading of the following detailed description and
`review of the associated drawings.
`
`BRIEF DESCRD’TION OF THE DRAWINGS
`
`FIG. 1 is a block diagramof a prior art network device.
`FIG. 2 is a block diagram of a preferred embodiment
`network device in accordance with the present invention.
`FIGS. 3, 4, and 5 are block diagrams of an operational
`example of the preferred embodiment network device shown.
`in FIG. 2.
`,
`
`. FIG. 6 is a flowchart of the.preferred embodiment opera-
`tions of the network device shown in FIG. 2 in accordance
`with-the present invention.
`‘
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`As will be appreciated by those skilled in the art, com-
`munication networks and their operations can be described
`according to the Open Systems Interconnection (081) model
`which includes seven layers including an application, pre-
`sentation, session,
`transport, network,
`link, and physical
`layer. The 081 model was developed by the International
`Organization for Standardization (ISO) and is described in
`“The Basics Book of 081 and Network Management"by
`Motorola Codex from Addison—Wesley Publishing Com-
`pany‘, Inc., 1993 (First Printing September 1992).
`Each layer of the 081 model performs a specific data
`communications task, a service to and for the layer that
`precedes it (e.g., the network layer provides a service for the
`transport layer). The process can be likened to placing a
`letter in a series 'of envelopes before it's sent through the
`postal system. Each succeeding envelope adds another layer
`.of processing or overhead information necessary to process
`the transaction. Together, all the envelopes help make sure
`the letter gets to the right address and that the message
`received is identical to the message sent. Once the entire
`package is received at its destination, the envelopes are
`opened one by one until the letter itself emerges exactly as
`written.
`
`In a data communication transaction, however, each end
`user is unaware of the envelopes, which perform their
`functions transparently. For example, an automatic bank
`teller machine transaction can be tracked through the mul-
`tilayer 081 system. One multiple layer system (Open Sys—
`tem A) provides an application layer that is an interface to
`a person attempting a transaction, while the other multiple
`layer system (Open System B) provides an application layer
`that interfaces with applications software in a bank’s host
`computer. The corresponding layers in Open Systems A and
`B are called peer layers and communicate through peer
`
`

`

`' 5,566,170
`
`7
`
`'Ihese peer protocols provide communication
`protocols.
`support for a user’s application, performing transaction
`related tasks such as debiting an account, dispensing cur-
`rency, or crediting an account.
`Actual data flow between the two open systems (Open
`System A and Open System B), however, is from top to
`bottom in one open system (Open System A, the source),
`across the communications line, and then from bottom to top
`in the other open system (Open System B, the destination).
`Each time that user application data passes downward from
`one layer to the next
`layer in the same system more
`processing information is added. When that information is
`removed and processed by the peer layer in the other system,
`it causes various tasks (error correction, flow control, etc.) to
`be performed. The user is unaware of any of this, of course,
`but in fact that's what’s happening while the words, “Please
`wait, your transaction is being processed" appears on the
`screen.
`'
`
`The ISO has specifically defined all seven layers, which .
`are summarized below in the order in which the data actually
`flow as they leave the source:
`Layer 7, the application layer, provides for a user appli~
`cation (such as getting money from an automatic bank
`teller machine) to interface with the OSI application
`- layer. That OSI application layer has a corresponding
`peer layer in the other open system, the bank's host
`computer.
`Layer 6,
`the presentation layer, makes sure the user
`information (a request for $50 in cash to be debited
`from your checking account) is in a format (i.e., syntax
`or sequence of ones and zeros) the destination open
`system can understand.
`Layer 5, the session layer, provides synchronization con-
`trol of data between the open systems (i.e., makes sure
`the bit configurations that pass through layer 5 at the
`source are the same as those that pass through layer 5
`at the destination).
`Layer 4, the transport layer, ensures that an end—to—end
`connection has been established between the two open
`systems (i.e., layer 4 at the destination “confirms the
`request for a connection," so to speak, that it has
`received from layer 4 at the source).
`Layer 3, the network layer, provides routing and relaying
`of data through the network (among other things, at
`layer 3 on the outbound side an “address" gets slapped
`on the “envelope" which is then read by layer 3 at the
`destination).
`Layer 2, the data link layer, includes flow control of data
`as they pass down through this layer in one open system
`and up through the peer layer in the other open system.
`Layer 1, the physical interface layer, includes the ways in
`which data communications equipment is connected
`mechanically and electrically, and the means by which
`the data move across those physical connections from
`layer 1 at the source to layer 1 at the destination.-
`Shown in FIG. 1, is a prior art network device 159
`described in us. Pat. No. 5,249,292 issued Sep. 28, 1993 to
`J. Noel Chiappa. The Chiappa ’292 patent describes a data
`packet switch 150 that operates at OSI layers 1 through 3
`which provides a solution to many of the previously-men-
`tioned problems. The Chiappa '292 patent discloses a high
`speed'data packet switching circuit which has a software
`controlled primary processing unit 172 (i.e., a general pur-
`pose processor) and a plurality of network interface units
`160, 164, and 168 each connected to an input network 152
`(i.e., inbound interface) for receiving incoming data packetI
`
`10
`
`15
`
`30
`
`35
`
`45
`
`so
`
`55
`
`65
`
`8
`streams as well as an output network 176 (i.e., outbound
`interface) for transmitting outgoing data packet streams for
`that network. It should be noted that a single input and
`output network are described by the Chiappa ’292 patent.
`The input network 152 includes a data byte buifer 154
`which temporarily stores portions of incoming data packet
`streams for the the primary processing unit 172 to subse-
`quently analyze or switch to a network interface unit.
`Similarly, the output network 176 includes a bufl’er 178 for
`storing data bytes until the primary processing unit 172
`releases modified data packets as an outgoing data packet
`stream 180' for transmission on the output network. Two
`types of network interface units are taught by the Chiappa
`’292 patent. The first type is a general purpose network
`interface 160 which merely performs the network layer
`functions and a separate interface adaptor 158 which per~
`forms data link layer functions such as flow control for data
`bytes coming from a specific type of physical interface layer
`device. The second type of network interface unit is a special
`purpose network interface 164 which combines the func-
`tions of the general purpose network interface 160 and
`interface adaptor 158 into a single device.
`In addition, a plurality of high speed data stream hardware
`control circuits 162, 166, and 170 (i.e., flow blocks) are
`provided for processing data packets in response to instruc
`tions for the primary processing unit 172. For example, data
`packet 180 of onedata stream is assigned to flow block 162
`and passes through interface adaptor 158 while being
`manipulated by network interface 160. Data packet 180‘is
`modified by flow block 162 into modified data packet 180'
`prior to transmission on an outbound network.
`Also, circuitry 156 and 174 (a multiplexer and a demul‘
`tiplexer, respectively) is included for interconnecting the
`primary processing unit 172, the interface units 160, 164,
`and 168 and the data stream control- circuits 162, 166, and
`170. The primary processing unit 172 receives, from the
`input network 152, at least a first one of the data packets 180
`of each new data packet stream and assigns, by way of
`control lines 182 and 184 to circuitry 156 and 158, respec-
`tively, that stream to be processed by' one of the data stream
`control circuits 162 without further processing by the pri-
`mary processing unit 172. When a user desires to handle
`more data streams simulataneously, more how blocks and
`network interfaces are added for the primary processing unit
`172 to which incoming data streams are'switche'd. The
`Chiappa ’292 patent thus performs routine, repetitive pro-
`cessing steps on the further packets of the data stream using
`high speed hardware circuitry 162, while the initial process-
`ing and other non-repetitive or special processing of the data
`packets are performed in software.
`Unfortunately, the Chiappa ’292 patent as well as the
`software-based solutions on general purpose microproces-
`sors do not completely solve the “processor bottleneck”
`problem (i.e., primary processing unit 172 must still analyze
`each data stream at least once) and as a result a need still
`exists for an improved protocol data unit (i.e., frame, cell, or
`packet) forwarding system which solves this problem, as
`well as others, in a manner which can better handle large
`numbers of input streams from one or more networks, large
`numbers of output destinations and lines, and large and
`small data packets at both high bit throughput rates and high
`packet throughput rates, while maintaining reasonable costs
`and complexity.
`Referring to

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