throbber
United States Patent (19)
`Hardwick et al.
`
`|||||I||
`US005550816A
`5,550,816
`11
`Patent Number:
`Aug. 27, 1996
`45) Date of Patent:
`
`(54) METHOD AND APPARATUS FOR VIRTUAL
`SWITCHING
`
`(75) inventors: Ken Hardwick, Sherwood, Oreg.;
`Geoffrey C. Stone, Minneapolis, Minn.
`73) Assignee: Storage Technology Corporation,
`Lousville, Colo.
`
`(21) Appl. No.: 366,227
`22 Filed:
`Dec. 29, 1994
`(51) Int. Cl. ............................. H04L 12156; G06F 13/00
`52 U.S. Cl. ........................ 370/60; 370/85.13; 370/94.1;
`395/650; 395/800; 395/200.02
`(58) Field of Search .................................. 370/58.1, 58.2,
`370/58.3, 60, 60.1, 61, 79, 85.13, 85.14,
`94.1, 94.2, 94.3; 395/200, 325, 375, 650,
`800, 500
`
`56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,218,756 8/1980 Fraser ..................................... 370/94.1
`5,119,369 6/1992 Tanabe et al. ............................ 370/60
`5,249,292 9/1993 Chiappa .
`... 395/650
`5,278,834
`1/1994 Mazzola ......
`370/941
`5,280,476 1/1994 Kojima et al. ......................... 370/60.1
`
`
`
`5/1994 Bixby et al. ......................... 370/85.13
`5,317,568
`5,321,692 6/1994 Wallmeier ................................. 370/60
`5,430,727 7/1995 Callon .................................. 370/85.13
`Primary Examiner-Alpus H. Hsu
`Attorney, Agent, or Firm-Timothy R. Schulte
`57
`ABSTRACT
`A physical switching device for use in a communication
`network to switch Open Systems Interconnection (OSI)
`network layer packets and method of use therefor is pro
`vided. The physical switching device includes at least a first
`and a second virtual switch. Each virtual switch includes a
`decision mechanism for determining an associated directive
`based on a destination identifier within a particular packet
`received at a data port. A processor is coupled to each virtual
`switch to insert the particular packet into an outgoing data
`stream on another data port to deliver the packet. Both data
`ports are associated with a plurality of data interfaces in the
`physical Switching device. A management apparatus is
`coupled to each virtual switch to maintain information on an
`association between the plurality of data interfaces and the
`virtual switches. The management apparatus limits each
`processor to only inserting the particular packet on another
`data port associated with the same virtual switch which
`received the particular packet.
`
`57 Claims, 35 Drawing Sheets
`
`
`
`O s
`DN
`PROCESSOR
`
`Ex.1008
`APPLE INC. / Page 1 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 1 of 35
`
`5,550,816
`
`O
`O
`
`HD
`
`O
`O (1) CO CO
`SU
`S. sy
`
`CN
`O
`
`
`
`s
`SEC
`
`SE2.
`--- L ra
`
`
`
`--
`/
`
`8-
`
`Niyi ?is ?h
`t
`INS
`1N amas 5 (it
`3
`3
`
`Ex.1008
`APPLE INC. / Page 2 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 2 of 35
`
`5,550,816
`
`
`
`Ex.1008
`APPLE INC. / Page 3 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 3 of 35
`
`5,550,816
`
`90 || O_L
`
`No. Owl
`
`Gr?va}++)-LINEGI
`
`OZ | O ||
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`HEH LTI-J
`
`Ex.1008
`APPLE INC. / Page 4 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 4 of 35
`
`5,550,816
`
`- 200
`
`STAR
`
`MANTAN DATABASE OF
`DESTINATION IDENTIFIERS
`
`LIMIT ACCESS TO DATABASE
`BY VRTUAL CLOSED USER
`GROUPS
`
`ASSIGN NCOMING TRAFFIC
`TO AVIRTUAL CLOSED USER
`GROUP BASED ON AN
`ACCESS POLICY
`
`
`
`
`
`2O2
`
`2O4
`
`2O6
`
`
`
`
`
`
`
`EXAM AND MODIFY
`PROTOCOL DATA UNIT
`FROM FIRST VIRTUAL
`CLOSED USER GROUP
`
`
`
`
`
`
`
`
`
`
`
`2O
`
`
`
`
`
`
`
`
`
`
`
`212
`
`VERIFY DESTINATION
`DENT FER IS REACHABLE
`FOR THE PROTOCOL DATA
`UNIT FROM FIRST VIRTUAL
`CLOSED USER GROUP
`
`ADD DESTINATION
`DENTIFER FOR NEWLY
`ATACHED DEVICE TO THE
`DAABASE
`
`
`
`
`
`EXAMAND MODIFY
`PROTOCOL DATA UNIT
`FROM SECOND VIRTUAL
`CLOSED USER GROUP
`
`
`
`VERIFY DESTINATION
`DENT FERS REACHABLE
`FOR THE PROTOCOL DATA
`UN N SECONO VRTUAL
`CLOSED USER GROUP
`
`ADO DESTINATION
`DENTFER FOR NEWLY
`AACHED DEVICE TO THE
`DATABASE
`
`O'
`
`22
`
`DELIVER PROTOCOL DATA
`UNIT FROM FIRST CLOSED
`USER GROUP
`
`
`
`DELVER PROTOCODATA
`UNT OF SECOND CLOSED
`USER GROUP
`
`24
`
`24'
`
`28
`
`END
`
`F.G. 6
`
`Ex.1008
`APPLE INC. / Page 5 of 65
`
`

`

`
`
`Ex.1008
`APPLE INC. / Page 6 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 6 of 35
`
`5,550,816
`
`
`
`Ex.1008
`APPLE INC. / Page 7 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 7 of 35
`
`5,550,816
`
`FIG.11
`
`
`
`C)224-
`
`Ex.1008
`APPLE INC. / Page 8 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 8 of 35
`
`5,550,816
`
`
`
`
`
`Ex.1008
`APPLE INC. / Page 9 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 9 of 35
`
`5,550,816
`
`
`
`:
`
`:
`
`c
`
`Ex.1008
`APPLE INC. / Page 10 of 65
`
`

`

`5,550,816
`
`
`
`FIG.14
`
`Ex.1008
`APPLE INC. / Page 11 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 11 of 35
`
`5,550,816
`
`
`
`''''''''''''''--
`
`X, 10 || 'f7'9?7 ||
`
`– – – – – – – – – – – – – – – –) –
`
`|xÂŁvori|
`
`| |
`
`|
`
`Ex.1008
`APPLE INC. / Page 12 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 12 of 35
`
`5,550,816
`
`
`
`
`
`
`
`
`
`
`
`
`
`II
`
`Iy UNI
`
`
`
`
`
`
`
`
`
`C.
`C.
`C.
`NS Vitos
`--
`Q
`2 OO
`
`X
`CN ro
`st (i.
`co co
`N. N.
`
`-
`w
`CO
`N.
`
`Ex.1008
`APPLE INC. / Page 13 of 65
`
`

`

`
`
`=~ mmr = Sw
`- rr sw
`WM WW BA
`oT
`
`Ex.1008
`APPLE INC. / Page 14 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 14 of 35
`
`5,550,816
`
`CASROOT
`
`EPE PP/1
`
`PP/2
`
`AppleTalk
`
`PP13
`
`DECnet
`
`PP/4
`
`AppleTalk PPort APPort EAppleTalk Port
`
`AppleTalk Port
`
`DECnetPOrt
`
`Frame Relay,
`SMOS or X.25
`
`
`
`VCP or PPP
`
`CASROOT
`
`aa-as
`
`on CAS Linkage
`
`umd
`
`move as . An
`
`Components covered by this FS
`-o- Subcomponent El
`Components NOT covered by this FS
`
`F.G. 18
`
`Ex.1008
`APPLE INC. / Page 15 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 15 of 35
`
`5,550,816
`
`CASROOT
`
`Virtual Router? String (max: 16 VRs)
`
`ProtocolPort/String (max: 256 PPs)
`pPort
`DecnetPOrt
`pxPort
`AppletalkPort
`BridgePort
`
`ClusterBridge
`
`Bridging
`p
`
`Decnet
`pX
`Appletalk
`MemoryManagement
`Snmp
`
`PCf
`
`F.G. 19
`
`Ex.1008
`APPLE INC. / Page 16 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 16 of 35
`
`5,550,816
`
`CASROOT
`
`PP/O
`
`PP/1
`
`PP/2
`
`PP/3
`
`BridgePort
`domain=0
`
`EBridgePort
`domain=0
`Epports
`
`BridgePort
`domain=
`Epports
`
`
`
`LAN
`Application
`
`ClusterBridge/O
`Application
`
`ClusterBridge/1
`Application
`
`BridgePort
`domain=
`
`LAN
`Application
`CASROOT
`
`empo am
`
`no us CAS Linkage
`
`P
`
`to
`
`Components covered by this FS
`-o- Subcomponent B Components NOT covered by this FS
`
`FG. 20
`
`Ex.1008
`APPLE INC. / Page 17 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 17 of 35
`
`5,550,816
`
`CASROOT
`
`Appletalk
`
`PP/
`
`Appletalk
`
`PP12
`
`Decnet
`
`PP/3
`
`Eipports
`
`V
`
`\,
`
`V
`
`?
`
`f
`
`W
`
`Virtual link
`
`Elpports
`
`ago
`
`DecnetPort
`
`Oulum
`
`simi um CAS Linkage
`
`ow are up
`
`a
`
`Components covered by this FS
`-o- Subcomponent B
`Components NOT covered by this FS
`
`FG. 21
`
`Ex.1008
`APPLE INC. / Page 18 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 18 of 35
`
`5,550,816
`
`
`
`CAS
`
`Virtual Router
`
`GCM
`
`LEGEND
`
`-- -D PEV Messages
`Virtual Router System Classes/Processes
`O Other Process
`
`Ex.1008
`APPLE INC. / Page 19 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 19 of 35
`
`5,550,816
`
`CAS
`
`A1) CAS Create, and Provisioning messages
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`A5) Register VR Process ID
`
`
`
`A2) Create and Provisioning messages
`A4) ProvDOne
`A6) Protocol Registration
`
`Process
`(e.g., P)
`
`A3) ProvOone
`
`FG. 23
`
`B1) CAS Create, and Provisioning messages
`
`
`
`Media
`Application
`
`B3) Request for WR Process ID
`- - - -A5 - - -
`B4) WR Process ID
`
`B2) ProvDone B5) Media Registration
`
`- - Event. --> Event Dependency
`
`FG. 24
`
`Ex.1008
`APPLE INC. / Page 20 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 20 of 35
`
`5,550,816
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`B5
`/ C1) Create Protocol Port
`
`Forwarding
`Agent
`
`C5) Register for if Entry space
`(if applicable)
`C4) Create Bind Table Manager
`
`
`
`
`
`C3) Create Protocol Port
`N
`C2) Call the Media FEHY
`Media ForwardingEventhandler
`C6) Update the Physical Port Info Structure
`
`- - Event. --> Event Dependency
`
`FG. 25
`
`Ex.1008
`APPLE INC. / Page 21 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 21 of 35
`
`5,550,816
`
`
`
`
`
`
`
`
`
`D1) Media Availability
`- - - B5 - -
`
`
`
`
`
`D2) Bind Request
`
`Protocol
`Processes
`(e.g., IP)
`
`W
`/ D3) Bind Protocol Port
`
`
`
`
`
`
`
`
`
`
`
`
`
`Forwarding
`Agent
`
`D5) Register with LSM
`
`D6) Update the Bind Table Manager
`
`D5) Update the PP Forwarding Data
`
`N
`D4) Call the Protocol FEH
`Protocol ForwardingEventHandler
`
`FaprotocoPort
`
`- - Event. -o- Event Dependency
`
`FG. 26
`
`Ex.1008
`APPLE INC. / Page 22 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 22 of 35
`
`5,550,816
`
`Dispatcher
`
`E1) Packet
`
`Source
`
`E2) Get pointer to inbound PP
`
`E3) Call DPO Method
`
`Forwarding
`Agent
`
`inbound Media OPO
`
`E4) Get Protocol Forwarding DPO from BTM
`
`E5) Call the Protocol DPO
`
`E7) Get outbound Media DPO
`E6) Local Cache Lookup
`
`Protocol Forwarding DPO
`
`Local Cache Manager
`
`BTM
`
`E8) Call Outbound Media DPO
`
`
`
`Outbound Media DPO
`
`E9) Transmit the Packet
`
`FIG. 27
`
`Ex.1008
`APPLE INC. / Page 23 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 23 of 35
`
`5,550,816
`
`B1) CAS Create, and Provisioning messages
`
`
`
`Media
`Application
`
`B3) Request for WR Process ID
`- - - -A5 - - -
`B4) WR Process ID
`
`
`
`
`
`
`
`B2) ProvOOne B5) Media Registration (Set createProtocolPort Notification)
`
`- - Event. --> Event Dependency
`
`FG. 28
`
`Ex.1008
`APPLE INC. / Page 24 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 24 of 35
`
`5,550,816
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`B5
`/ C1) Create Protocol Port
`
`Forwarding
`Agent
`
`C5) Register for if Entry space
`(if applicable)
`
`C4) Create Bind Table Manager
`
`
`
`C3) Create Protocol Port FaprotocoPort
`N
`C2) Call the Media FEH S
`Media ForwardingEventhandler
`C6) Update the Physical Port info Structure
`
`
`
`- - Event. -o- Event Dependency
`
`FG. 29
`
`Ex.1008
`APPLE INC. / Page 25 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 25 of 35
`
`5,550,816
`
`
`
`
`
`D1) Media Availability
`- - - B5 - -
`
`
`
`
`
`D2) Bind Request
`
`Protocol
`Processes
`(e.g., iP)
`
`f
`/ D3) Bind Protocol Port
`
`
`
`Forwarding
`Agent
`
`D5) Register with LSM
`
`D6) Update the Bind Table Manager
`
`D5) Update the PP Forwarding Data
`
`FaprotoCOPort
`
`D4) Call the Protocol FEH
`Protocol ForwardingEventhandler
`
`- - Event. -o- Event Dependency
`
`F.G. 30
`
`Ex.1008
`APPLE INC. / Page 26 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 26 of 35
`
`5,550,816
`
`Dispatcher
`
`E1) Packet
`
`Source
`
`E2) Get pointer to inbound PP
`
`E3) Call DPO Method
`
`Forwarding
`Agent
`
`inbound Media DPO
`
`FaP
`
`E4) Get Protocol Forwarding DPO from BTM
`
`
`
`E5) Call the Protocol DPO
`
`E7) Get outbound Media DPO
`E6) Local Cache Lookup
`
`
`
`Protocol Forwarding DPO
`
`TM
`
`Local Cache Manager
`E8) Call Outbound Media DPO
`
`Outbound Media DPO
`
`E9) Transmit the Packet
`
`FG. 31
`
`Ex.1008
`APPLE INC. / Page 27 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 27 of 35
`
`5,550,816
`
`B1) CAS Create, and Provisioning messages
`
`
`
`
`
`
`
`B3) Request for WR Process ID
`- - - -A5 - - -
`Media
`Application B4) VR Process ID
`
`B2) ProvOone B5) Media Registration (Set bindProtocol Port Notification)
`
`- - Event. -o- Event Dependency
`
`FIG. 32
`
`Ex.1008
`APPLE INC. / Page 28 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 28 of 35
`
`5,550,816
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`B5
`/ C1) Create Protocol Port
`
`Forwarding
`Agent
`
`C5) Register for if Entry space
`(if applicable)
`C4) Create Bind Table Manager
`
`
`
`
`
`C3) Create Protocol Port FaprotoCOPOrt
`N
`C2) Call the Media FEHQ
`Media ForwardingEventHandler
`C6) Update the Physical Port info Structure
`
`
`
`- - Event. -o- Event Dependency
`
`FG. 33
`
`Ex.1008
`APPLE INC. / Page 29 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 29 of 35
`
`5,550,816
`
`
`
`
`
`
`
`D) Media Availability
`- - - B5 - -
`
`
`
`
`
`D2) Bind Request
`
`Protocol
`Processes
`(e.g., iP)
`
`/
`/ D3) Bind Protocol Port (The Bind Notification flag is set)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Forwarding
`Agent
`
`D5) Register with LSM
`
`D6) Update the Bind Table Manager
`
`D5) Update the PP Forwarding Data
`
`N
`D4) Call the Protocol FEH
`Protocol ForwardingEventhandler
`
`FaprotocoPOrt
`
`- - Event. -o- Event Dependency
`
`FG. 34
`
`Ex.1008
`APPLE INC. / Page 30 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 30 of 35
`
`5,550,816
`
`Dispatcher
`
`E1) Packet
`
`Source
`
`E2) Get pointer to inbound PP
`
`E3) Call DPO Method
`
`Forwarding
`Agent
`
`Inbound Media DPO
`
`E4) Get Protocol Forwarding DPO from BTM
`
`E5) Call the Protocol DPO
`
`E7) Get outbound Media DPO
`E6) Local Cache Lookup
`
`Protocol Forwarding DPO
`
`Local Cache Manager
`
`BTM
`
`E8) Call Outbound Media DPO
`
`
`
`Outbound Media DPO
`
`
`
`E9) Transmit the Packet
`
`FG. 35
`
`Ex.1008
`APPLE INC. / Page 31 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 31 of 35
`
`5,550,816
`
`Dispatcher
`
`E) Packet
`
`Source
`
`E2) Get pointer to inbound PP
`
`E3) Call DPO Method
`
`Forwarding
`Agent
`
`in bound Media DPO
`
`E4) Get Protocol Forwarding DPO from BTM
`
`E5) Call the Protocol DPO
`
`E7) Get outbound Media DPO
`E6) Local Cache Lookup
`
`Protocol Forwarding DPO
`
`Local Cache Manager
`
`E8) Call Outbound Media DPO
`
`
`
`
`
`Outbound Media DPO
`
`E9) Send the Packet to the appropriate LP
`
`FG. 36
`
`Ex.1008
`APPLE INC. / Page 32 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 32 of 35
`
`5,550,816
`
`Dispatcher
`
`E10) Packe
`
`SOUrce
`
`E11) Get pointer to inbound PP
`
`E12) Call DPO Method
`
`Forwarding
`Agent
`
`Inbound Media DPO
`
`E13) Get Protocol Forwarding DPO from BTM
`
`E14) Call the Protocol DPO
`
`Protocol Forwarding DPO
`
`E16) Get outbound Media DPO
`E15) Local Cache Lookup
`
`FaPp
`
`Local Cache Manager
`
`E17) Call Outbound Media DPO
`
`
`
`Outbound Media DPO
`
`
`
`E18) Transmit the Packet
`
`FG. 37
`
`Ex.1008
`APPLE INC. / Page 33 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 33 of 35
`
`5,550,816
`
`LP 1
`
`LCM - VR/O
`
`LCM - VR/
`
`A
`Cache
`lookup
`(VROI
`
`cache entry
`(outbound Port =
`WRio, PP?)
`
`A
`
`Cache
`lookup
`(VR/1)
`
`cache entry
`(outbound Port =
`VR/1, PP13)
`
`P Forwarder
`
`packet
`
`interface
`
`FIG 38
`
`Physical
`Interface
`
`LP 1
`
`LP2
`
`LCM - VR/O
`
`LCM - VR/
`
`A
`cache
`lookup
`(VR/O)
`
`cache entry
`(outbound Port =
`VR/O, PP/1)
`
`cache
`lookup
`(VR/1)
`
`cache entry
`(outbound Port =
`VR/1, PP/3)
`
`P Forwarder
`
`P Forwarder
`
`packet
`
`
`
`Virtual Link
`
`Physical
`Interface
`
`Physical
`Interface
`
`FG. 39
`
`Ex.1008
`APPLE INC. / Page 34 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 34 of 35
`
`5,550,816
`
`LP
`
`LP2
`
`
`
`LCM - VR/1
`
`A
`cache
`lookup
`(VRIO)
`
`cache entry
`(outbound Port =
`VRO, PP/1)
`
`Cache
`lookup
`)
`(VR/1
`
`cache entry
`(outbound Port =
`VR/1, PP/3)
`
`P Forwarder
`
`P Forwarder
`
`
`
`Physical
`interface
`
`packet
`
`Virtual Link
`
`packet
`PP/2
`VR/
`
`LP3
`
`SBC Data Transfer
`
`V
`
`CM - VR/
`
`l
`
`OP Forwarde), I
`
`FIG. 40
`
`Physical
`Interface
`
`Ex.1008
`APPLE INC. / Page 35 of 65
`
`

`

`U.S. Patent
`
`Aug. 27, 1996
`
`Sheet 35 of 35
`
`5,550,816
`
`Dispatcher
`
`E) Packet
`
`Source
`
`E2) Get pointer to inbound PP
`
`E3) Call DPO Method
`
`Forwarding
`Agent
`
`Inbound Media DPO
`
`E4) Get Protocol Forwarding DPO from BTM
`
`E5) Call the Protocol DPO
`
`E7) Get outbound Media DPO
`E6) Local Cache Lookup
`
`
`
`Protocol Forwarding DPO
`
`Local Cache Manager
`
`E8) Call Outbound Media DPO
`
`
`
`Outbound Media DPO
`
`E9) Transmit the Packet
`
`F.G. 41
`
`Ex.1008
`APPLE INC. / Page 36 of 65
`
`

`

`1.
`METHOD AND APPARATUS FOR VIRTUAL
`SWITCHING
`
`5,550,816
`
`RELATED INVENTIONS
`The present invention is related to:
`Co-pending U.S. patent application Ser. No. 08/366,221,
`filed on Dec. 29, 1994, which is entitled "Method And
`Apparatus For Accelerated Packet Forwarding" by
`Mark Bakke et al.,
`Co-pending U.S. patent application Ser. No. 08/366,225,
`filed on Dec. 29, 1994, which is entitled "Method And
`Apparatus For Accelerated Packet Processing” by Geof
`Stone,
`Co-pending U.S. patent application Ser. No. 08/366.222,
`filed on Dec. 29, 1994, which is entitled "Method And
`Apparatus For Radix Decision Packet Processing” by
`Geof Stone,
`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
`25
`relates to the operation of virtual switches within physical
`switching 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
`(e.g., 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 Office box
`numbers at a Post Office, 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 routing code is no longer
`sufficient to deliver the piece of mail to the intended desti
`nation and the local delivery office 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
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`example, if the piece of mail is going out of the country, it
`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, are generated by many different types of means
`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 size and
`destination over one or more media types (e.g., fiber optic)
`which are connected to further forwarding devices that could
`be other larger or smaller bridges or routers. These destina
`tion devices then deliver the data packet to its terminal end
`point (i.e., the end user). Along the way the data commu
`nication 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 communications requirements are being
`developed. In addition, quickly changing technology has
`made the underlying data transmission resources for com
`puter communication networks relatively inexpensive. Fiber
`optics, for example, offer data transfer rates in the gigabyte
`per Second range.
`One of the existing types of forwarding devices which
`offer the greatest potential to meet the increasing demand on
`throughput 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 dedicated mail truck which
`relays mail between post offices and drops mail pouches on
`a post office loading dock. These switches are intended only
`to transfer packets among the devices in a single station,
`such as a telephone exchange, and are not capable of
`performing any sorting operations. 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 hard
`ware. 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 a group of #10
`envelope sorters in the Post Office. These sorters handle and
`process this size envelope efficiently within the post office
`by performing limited sorting and routing functions, but can
`not by themselves deliver mail to its destination. In some
`sense, these switches are very different from the first class of
`packet switches described above, because several of this
`second class of packet switches can work together like
`several #10 envelope sorters can work at one time in the Post
`
`Ex.1008
`APPLE INC. / Page 37 of 65
`
`

`

`5,550,816
`
`10
`
`15
`
`20
`
`25
`
`30
`
`3
`Office. However, there is one substantial similarity in that
`this second class of switches can only handle one format of
`packets (i.e., the protocols). The formats handled by the
`second class of packet switches is much more complex than
`those in the first class. 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
`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 as a 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
`ternet Protocol (TCP/IP), and the International Standards
`Organization's Connectionless Network Protocol (CLNP)
`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,
`35
`town, and street in the world. Similarly, in computer con
`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 however, 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 pro
`grammed general purpose processor examines each data
`packet as it arrives over the network interface and then
`processes that packet. Packet processing requires assign
`ment of the data packet to an outbound network interface for
`transmission over the next communications link in the data
`path.
`Currently, most bridge/router implementations rely
`heavily on off-the-shelf microprocessors to perform the
`packet forwarding functions. The best implementations are
`able to sustain processing rates approaching 100,000 packets
`per second (PPS). When dealing with media such as Ether
`net or current telecommunications lines, this processing rate
`is more than adequate. When faster media such as the Fiber
`Distributed Data Interface (FDDI) are used, existing pro
`cessing rates may still be sufficient as long as there is only
`one such high packet rate interface present. When multiple
`high packet rate interfaces are used, 100,000 PPS become
`inadequate. Current software-based implementations for
`
`65
`
`40
`
`45
`
`50
`
`55
`
`60
`
`4
`bridges/routers are simply not capable of media-rate packet
`forwarding on emerging media such as asynchronous trans
`fer mode (ATM) or Optical Connection-12 Synchronous
`Optical Network (OC-12 SONET) which can accommodate
`communication rates up to 6 times the current 100 megabits
`per second limits to rates of 600 megabits per second. It
`should be noted that the ever increasing power of off-the
`shelf microprocessors might solve the throughput problem,
`but this is probably a vain hope. For example, a single
`OC-24 ATM interface can sustain nearly 3 million internet
`working protocol (IP) packets per second. This is over 30
`times the rates achieved by the current best software tech
`niques. If processing power doubles every year, the wait for
`sufficient processing power to make a software approach
`viable would be at least 4-5 years. In addition, the media
`capabilities will likely continue to increase over such a span
`of years. Additionally, any such processor will likely require
`large amounts of the fastest (most expensive) memory
`available to operate at full speed, resulting in an unaccept
`ably high system cost.
`Fortunately most individual packet switch customers will
`never require sustained packet transfer rates at these levels.
`However, the traditional approach of individual customers
`purchasing routers, bridges, modems, and leased phone lines
`is changing. A trend towards developing Metropolitan Area
`Networks (MANs) is beginning in the networking industry
`as an alternative to the traditional approach of individual
`customer local area networks (LANs) connected through
`customer owned leased telecommunication lines.
`The more successful entrants in this area are capitalizing
`on three trends:
`Fiber optic cable can be laid to most business and indus
`trial premises by organizations possessing rights of
`way; this cable can be used to carry 100 Megabits/
`second or more of customer traffic, a bandwidth that
`appears almost limitless to customers.
`The "demarkation point' is changing from a pair of
`copper wires to an Ethernet socket; the MAN vendor
`takes responsibility for the delivery of Ethernet packets
`between sites specified by the customer. The customer
`does not have to be concerned with the intricacies of
`bridges, routers, and modems, which permits market
`penetration into a far less sophisticated customer base.
`Most potential customers are not interested in a public
`network connection. They simply want to interconnect
`a number of buildings or divisions which constitute the
`customer's enterprise in a metropolitan area.
`These MAN vendors are dealing with "customers' in the
`truest sense of the word, where customer and MAN vendor
`are independent enterprises. The trends towards corporate
`decentralization are even producing analogous situations
`within large enterprises.
`Second, enterprises are becoming far more distributed
`than before, and the very definition of an "enterprise' is
`changing. Where in the 1980's all individuals involved in a
`program could be expected to reside in one or two well
`defined locations, a more modern "enterprise' may consist
`of individuals from several divisions, several corporations,
`consultants, roving sales and marketing people, and workers
`who want to telecommute at their convenience. At the same
`time, this modern enterprise needs to protect their informa
`tion from disclosure or sabotage from without the group
`while preserving a liberal access policy from within.
`A wide area "backbone' is a tremendous investment on
`the part of any large enterprise. Yet at the same time, host
`computers and small scale networks are becoming easier to
`
`Ex.1008
`APPLE INC. / Page 38 of 65
`
`

`

`5,550,816
`
`10
`
`15
`
`20
`
`5
`administer while the expertise to administer them becomes
`more widespread. At the same time, organizations with a
`bias towards decentralization are seeing departments and
`divisions owning "their hosts and "their networks that
`they want to plug into a wide area backbone in order to carry
`their traffic. This traffic typically consists of communications
`to other divisions; however, increasingly it will also consist
`of traffic within a division with widely scattered sites.
`All of this follows a known trend of increasing decen
`tralization in the workplace. Many years ago, Management
`Information System (MIS) computers and all the networks
`in the enterprise. Access policy (such as was needed then)
`could largely be done through system administration of the
`host computers.
`The advent of personal computers and affordable work
`stations meant that the networking administrators no longer
`owned all of the host computers anymore, yet these same
`MIS organizations are still charged with their traditional role
`of ensuring the integrity of the enterprise's data. This has led
`to the rise of routing and filtering functions within routers,
`making access control, a network, rather than a host prob
`lem.
`Now the networking industry is moving up one more
`level. Today, clients not only own their own hosts, they own
`their own networks and want to connect these networks on
`25
`a network to network basis. Yet at the same time, the need
`to preserve the integrity of data moving among client
`networks still exists. This trend is producing not just a
`"network", but a "network of networks', where the purpose
`of a backbone is to serve the needs and foibles of its
`constituent networks, not all of which may belong to the
`same enterprise.
`The concept of a "network of networks' is not new. In
`fact, this was one of the guiding philosophies which led to
`the original creation of the Internet. Unfortunately, the logic
`to support this has only been applied to Internet Protocol and
`more recently to the Open Systems Interconnection (OSI)
`model. IP has been designed to perform this trick once (at
`the Internet level) and is little help in organizing traffic
`within a single IP network. Furthermore, IP cannot cope with
`the notion that a single network may be scattered at different
`points throughout the Internet.
`Thus, a need exists for a way to provide equivalent
`protocols and management tools to those that exist today
`within a single network that will work in a "network of
`networks' paradigm.
`One part of a solution to this problem is the use of Closed
`User Groups. A Closed User Group is a potentially widely
`distrib

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