`
`______________________
`
`IN THE UNITED STATES PATENT TRIAL AND APPEAL BOARD
`
`______________________
`
`NetApp, Inc., and Lenovo (United States), Inc.
`
`Petitioners
`
`
`
`v.
`
`
`
`Intellectual Ventures II, LLC
`
`Patent Owner
`
`______________________
`
`
`U.S. PATENT NO. 6,516,442
`______________________
`
`
`
`DECLARATION OF MR. IAN JESTICE
`
`
`
` 1
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 1 of 52
`
`
`
`I, Ian Jestice, do hereby declare and say:
`
`1.
`
`I am over the age of twenty-one (21) and competent to make this
`
`declaration. I am also qualified to give testimony under oath. The facts and
`
`opinions listed below are within my personal knowledge.
`
`2.
`
`I am being compensated for my time in this proceeding at my standard
`
`consulting rate of $325/hr. My compensation in no way depends on the
`
`outcome of this proceeding or the content of my opinions. I am not employed
`
`by, nor receiving grant support from, Petitioners in this matter. I am receiving
`
`compensation from Petitioners solely for my involvement in this matter and
`
`based only on my standard hourly consulting fees.
`
`3.
`
`I have been asked to review certain documents, including U.S. Patent No.
`
`6,516,442 (which I refer to as the ’442 Patent) (Ex. 1001), and to provide my
`
`opinions on what those documents disclose. I was also asked to review and
`
`provide opinions regarding U.S. Patent Nos. 6,968,459 and 6,633,945, which I
`
`understand is involved in litigation alongside the ’442 Patent. I have provided
`
`an opinion specific to that patent in a separate declaration.
`
`4.
`
`I have reviewed and am familiar with the following documents:
`
`a.
`
`U.S. Patent No. 4,845,722 to Kent et al. (Ex. 1002)
`
`b.
`
`Excerpts from a book titled “Computer Networks” by
`
`Andrew Tanenbaum (Ex. 1003)
`
`c.
`
`U.S. Patent No. 5,311,114 to Sambamurthy et al. (Ex. 1005)
`
` 2
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 2 of 52
`
`
`
`d.
`
`U.S. Patent No. 5,521,913 to Gridley (Ex. 1004)
`
`e.
`
`f.
`
`Terry Ritter, “The Great CRC Mystery” (Ex. 1013)
`
`Ross Williams, “A Painless Guide to CRC Error Detection
`
`Algorithms” (Ex. 1014)
`
`g. W. Peterson and D. Brown, “Cyclic Codes for Error
`
`Detection” (Ex. 1015)
`
`5.
`
`I provide my conclusions regarding the disclosures of the documents I
`
`reviewed as applied to the ’442 Patent below. I am not offering any conclusions
`
`as to the ultimate determinations I understand the Patent Trial and Appeal Board
`
`will make in this proceeding. Specifically, I am not offering opinions on
`
`ultimate issues of validity or claim construction. I am simply providing my
`
`opinions on the technical aspects of the documents as compared to the claims of
`
`the ’442 Patent as a factual matter and on the combinability of the concepts
`
`disclosed in those documents from a technical perspective.
`
`BACKGROUND
`
`6.
`
`I hold the equivalent of an undergraduate degree in Telecommunications
`
`and Computer Science from the City and Guilds Institute of London, which I
`
`obtained in 1971.
`
`7.
`
`As described in more detail in my curriculum vitae (Ex. 1007) I have
`
`more than 40 years of industry experience with storage devices, embedded
`
`software systems for industry and consumer products, and other systems
`
` 3
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 3 of 52
`
`
`
`including Flash Memory (Solid State Disks, memory cards, flash drives),
`
`Optical Storage (CD, DVD, WORM, Magneto-Optical), Magnetic Storage
`
`(Hard Disk, Floppy Disk, Tape), RAID/Disk Arrays and jukeboxes; USB, SCSI,
`
`iSCSI, IDE/ATA/ATAPI/SATA, Fibre Channel, PCMCIA, game programming,
`
`home appliances and telecommunications.
`
`8.
`
`As part of my experience, I have worked as a design and systems
`
`engineer at Amdahl Corporation, IBM and Fujitsu, designing, building, testing
`
`and supporting Multi-Processor hardware and software.
`
`9.
`
`I have been familiar with the field of multiprocessing systems,
`
`specifically symmetric multiprocessing systems, over at least the past 30 years.
`
`For these reasons and because of my technical experience and training as
`
`outlined in my curriculum vitae (Ex. 1007), I believe I am capable of offering
`
`technical opinions regarding the ’442 Patent and the other documents I
`
`reviewed as part of my work in this matter. I believe I am capable of opining
`
`about the state of the art in these areas at various points in time from the early
`
`1970s to the present.
`
`LEVEL OF SKILL IN THE ART
`
`10.
`
`I understand that one of the relevant factors in this proceeding is the level
`
`of skill in the pertinent art. I understand that the pertinent date for this
`
`determination is date of alleged invention. For purposes of this declaration, I
`
` 4
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 4 of 52
`
`
`
`have been asked to assume that the date of invention for the ’442 Patent is
`
`December 7, 1997.
`
`11.
`
`In my opinion, a person of ordinary skill in the art as of December 7,
`
`1997 would have had a bachelor’s degree in computer science, computer
`
`engineering, or the equivalent, and would have had at least four years of
`
`experience designing, testing or implementing with multi-processing computer
`
`systems.
`
`12. The multi-processor systems field was a relatively specialized field as it
`
`would have required understanding of both conventional hardware and software
`
`techniques at the time. Individuals focused on writing operating systems in
`
`1999 for example, would not have had the requisite understanding of the
`
`hardware requirements. Further, individuals developing the physical computer
`
`systems would not have been familiar with the software considerations
`
`associated with cache consistency.
`
`13. Accordingly, a person of ordinary skill would understand how multi-
`
`processor systems could be built, would recognize potential pitfalls in various
`
`design choices of both hardware and software solutions, and would understand
`
`how to research the state of the industry as well as academic research in the
`
`area.
`
`14.
`
`I believe I am qualified as a person of skill in the art in December 7, 1997
`
`because I had the requisite understanding of both the hardware and software
`
` 5
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 5 of 52
`
`
`
`issues present in a system described in the ’442 Patent. Furthermore, I believe
`
`that I can opine today about what those of skill in the art would have known and
`
`understood as of December 7, 1997.
`
`The ’442 Patent
`
`15. The ’442 Patent was filed on March 30, 1999 and issued on February 4,
`
`2003. Ex. 1001 at cover. The ’442 Patent describes a multiprocessor system
`
`that includes a switched fabric or switch matrix for data transfers between
`
`processors and shared memory. Ex. 1001 at Abstract.
`
`16. The ’442 Patent states that the “traditional approach” to multiprocessor
`
`systems is to provide uniform access to memory over a shared system bus. Ex.
`
`1001 at 1:17-22. The ’442 Patent states that serial availability of the shared bus
`
`limited the scalability of the multiprocessor system. Ex. 1001 at 1:30-40. The
`
`’442 Patent states that the preferred embodiment of the alleged invention is a
`
`multiprocessor system which includes a switch fabric (switch matrix) with
`
`multiple concurrent buses between processors and shared memory. Ex. 1001 at
`
`1:49-53.
`
`17. Figure 2 of the ’442 Patent shows an overview of the multiprocessor
`
`system. The system includes a central Flow-Control Unit (FCU) 220 that
`
`implements a switched fabric data path architecture. Ex. 1001 at 2:44-52. The
`
`system also contains eight processors 120. Id. at 2:47-49.
`
` 6
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 6 of 52
`
`
`
`18. Point-to-point interconnects 112, 113, and 114 and associated protocol
`
`define dedicated communication channels for all FCU input and output. Ex.
`
`1001 at 2:52-54. In Figure 2, eight channels are used to connect CPU Channel
`
`Units (CCUs, also known as Channel Interface Units or CIUs); two channels are
`
`used to connect Bus Bridge Units (BBUs) 240; and four channels are used to
`
`connect Memory Control Units (MCUs) 230. Ex. 1001 at 2:54-3:5; 3:17-20.
`
`19. Figure 3 of the ’442 Patent provides a detailed view of the switched
`
`fabric data path architecture within the FCU. Ex. 1001 at 5:25-27. The
`
`components of the FCU include a transaction controller, an address and control
`
`bus, and a data switch composed of vertical buses, horizontal buses, and node
`
`switches. Ex. 1001 at 5:27-37. The FCU also includes several types of
`
`interfaces: Initiator Interfaces, a Memory Interface, and Channel Interface
`
`Blocks at the periphery of the Initiator Interfaces and the Memory Interface. Ex.
`
`1001 at 5:38-41.
`
`20. The Channel Interface Blocks (CIBs) provide a logical interface to a
`
`interconnect channels 112, 113, and 114. Ex. 1001 at 6:49-52. Packets are
`
`transported over the channels and exchanged between CIBs. Ex. 1001 at 6:52-
`
`55; 7:38-47.
`
`21. Packets contain 8 bits of ECC, which stands for Error Correction Code.
`
`Ex. 1001 at 6:60. The ’442 Patent states that the ECC provides error detection
`
`coverage over the full packet. Ex. 1001 at 16:51-56. The ’442 Patent states that
`
` 7
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 7 of 52
`
`
`
`“[a]lthough the error detection code actually does provide information for single
`
`bit error correction, this is not used for Channel data. Instead the data transfer is
`
`retried using the transport retry protocol.” Id.
`
`22. The receive side of the CIB logic receives data from the Channel,
`
`transmits it to core logic, and checks the ECC field. Ex. 1001 at 19:39-45. If an
`
`ECC error is detected, the CIB notifies core logic that the data is not valid, and
`
`the CIB logic is put into “error retry” mode. Id. at 19:47-56.
`
`23. Once an error has been received by a CIB, its transport protocol receiving
`
`state machine will throw away the packet that indicated an error. Ex. 1001 at
`
`21:57-59. Once the receive FIFO has more than 8 empty slots, the transport
`
`protocol will send a TC_SYNC to the originating CIB (the CIB that transmitted
`
`the packet in error). Id. at 21:66-22:1. Upon receiving the TC_SYNC, the
`
`originating CIB retries the transmission. Id. at 13:52-59.
`
`Kent (US Pat. No. 4,845,722)
`
`24.
`
`I reviewed U.S. Patent No. 4,845,722 listing Allan R. Kent and others as
`
`inventors (“Kent,” Ex. 1002) which issued on July 4, 1989. The Kent patent
`
`describes a computer interconnect coupler that employs crossbar switching.
`
`Kent at Title and Abstract. The coupler serves to link various conventional
`
`computer systems and memory devices together as shown in Figure 1.
`
`25. A conventional computer system includes a memory, an input-output
`
`device, and a data processor. Kent at 1:15-26. In the conventional “small
`
` 8
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 8 of 52
`
`
`
`computer system,” these various components and a power supply are mounted
`
`within a cabinet. Kent at 1:27-45. These various components are interconnected
`
`by a “back plane” which contains a number of parallel connectors or buses. Id.
`
`The buses convey addresses, data, control signals, status signals, and power. Id.
`
`Multiple processors may be used in a conventional computer system and housed
`
`in a single computer cabinet. Kent at 1:46-56.
`
`26. The computer system typically included at least one port for mass
`
`memory such as floppy disc drive, tape drive, or a hard disc drive. Kent at 1:41-
`
`45. In addition, external memory devices may also be used and were typically
`
`controlled by a “server.” Kent at 1:56-61.
`
`27. Kent states that in “recent years,” i.e. circa 1987, a need arose for
`
`computation and data storage capabilities that exceeded those provided by a few
`
`data processors. Kent at 1:62-64. To address that need, Kent states that it was
`
`possible to construct computer networks where a number of conventional
`
`computers and mass memory devices located at different locations were
`
`interconnected to communicate with each other. Kent at 1:64-2:8.
`
`28. Kent states that there were numerous information transfer schemes which
`
`could be used for communications among data processing devices in a network
`
`and specifically mentions the Ethernet communication standard as especially
`
`useful. Kent at 2:9-55. Ethernet is a packet based networking protocol.
`
` 9
`
`
`
`NETAPP ET AL. EXHIBIT 1006
`Page 9 of 52
`
`
`
`29. Kent states that reliable data transmission is especially important in
`
`computer networks having a shared data base. Kent at 3:9-16. Collisions of data
`
`packets or other transmission errors are detected by an error detecting code such
`
`as cyclic redundancy check. Kent, 3:28-30.
`
`30. Kent states that if a data processing device correctly receives a data
`
`packet, the data processing device immediately acknowledges receipt of that
`
`packet by sending a positive acknowledgement code (ACK). Kent at 3:31-36. If
`
`the packet was received but could not be processed, i.e. an error occurred in
`
`processing the packet, then the processing device returns a negative
`
`acknowledgement code (NAK). Kent at 3:36-42. Kent states that one reason to
`
`send a NAK would be the unavailability of a buffer. Kent at 3:38-42. As
`
`discussed below, another reason to send a NAK is a failed CRC check. If a data
`
`processing device fails to receive an ACK immediately after transmission of a
`
`data packet or receives a NAK, the data processing device will attempt to
`
`retransmit the data packet for a number of times. Kent at 3:51-52.
`
`31. Kent states that prior art data couplers that interconnected data processing
`
`devices lacked bandwidth and flexibility in adding additional channels. Kent at
`
`4:13-38. Therefore, the goal of the invention in the Kent Patent was to provide
`
`an improved computer interconnect coupler which provided increased
`
`connectivity and bandwidth but did not require substantial modification to
`
`existing computer equipment. Kent at 4:41-45.
`
`
`
`10
`
`NETAPP ET AL. EXHIBIT 1006
`Page 10 of 52
`
`
`
`32. Figure 1 shows the coupler, actually two identical couplers 51 and 52 for
`
`enhanced reliability, linking together numerous data processing devices, such as
`
`individual computers with CPUs (labelled 54, 55, 56, 57, and 58) and servers
`
`(labelled 59 and 60) for mass storage devices. Kent at 7:53-8:2. The coupler
`
`permits any one data processing unit (i.e. CPUs or mass storage servers) to send
`
`an addressed data packet to any other processing unit in the system. Kent at
`
`8:11-14.
`
`33. Kent describes the coupler as a “two-stage electronic crossbar switch”
`
`that is capable of “interconnecting at least 64 channels.” Kent at 8:30-38. The
`
`channel is a communication path, e.g. a communication path defined by
`
`communication cable 81, from the coupler to a data processing device (i.e.
`
`CPUs or mass storage servers). Kent at 8:45-51. The communication cable
`
`could either be a pair of coaxial cables or a pair of fiber optic lines. Kent at
`
`12:11-17. Figure 1 of Kent shows 7 channels: 2 channels connecting mass
`
`storage servers 59 and 60 and 5 channels connecting CPUs 54, 55, 56, 57, and
`
`58, connected to coupler 51 (and another 7 channels connecting the duplicate
`
`coupler 52.)
`
`34. Figure 2 of Kent shows two generic channels: X and Y, that is, Figure 2
`
`applies to any two channels of the coupler. Figure 2 illustrates the channels at
`
`the coupler end of the channel with communication cables 81 and 85 connected
`
`to channel interface circuits 82 and 83 of the coupler. Kent at 8:45-51. One of
`
`
`
`11
`
`NETAPP ET AL. EXHIBIT 1006
`Page 11 of 52
`
`
`
`skill in the art would understand that a corresponding setup would exist at the
`
`data processing device end of these channels. That is, the data processing device
`
`(i.e. CPUs or mass storage servers) will also have channel interface circuits to
`
`connect the communication cables.
`
`35. Figure 2 of Kent also illustrates the routing of a message from source
`
`channel X to destination channel Y through the coupler. The message takes the
`
`form of a packet shown in Figure 12. This message (data packet) includes
`
`header sequences for synchronization, a byte indicating whether the packet is a
`
`data message or an acknowledgement, a byte indicating the length of the
`
`message, destination channel, source channel, data, a cyclic redundancy check
`
`(CRC), and a trailer. Kent at 21:59-22:5. The message (data packet) is
`
`preferably transmitted as a serial bit stream using Manchester encoding. Kent at
`
`12:26-30.
`
`36. Referring to Figures 2 and 4 of Kent, a message (data packet) is received
`
`by interface circuits 82 and then passed to receiver logic circuits 84, e.g. fed into
`
`a first-in-first-out buffer 143 to provide temporary storage during routing of the
`
`message. Kent at 8:52-62; 12:38-40. The receiver logic obtains the destination
`
`address from the packet and determines if the message header conforms to a
`
`predetermined format. Kent at 12:40-44. The receiver logic then sends a service
`
`request to the central switch logic to route the message. Kent at 12:44-46.
`
`
`
`12
`
`NETAPP ET AL. EXHIBIT 1006
`Page 12 of 52
`
`
`
`37. Routing the message involves assigning a junctor and closing switches in
`
`switch matrices. Kent at 8:62-9:12. The crossbar switch architecture of the
`
`coupler illustrated in Figure 2 contains two switch matrices 87 and 90. (Figure 2
`
`also illustrates a diagnostic switch matrix 99 which is not relevant to the IPR
`
`petition.) Figure 2 also illustrates two junctors that interconnect switches in the
`
`switch matrices with the top junctor 88 interconnecting switches 89, 96, 95, and
`
`91. In the preferred embodiment, the coupler has eight independent junctors.
`
`Kent at 8:33-34. As shown in Figure 2, in the process of routing the data packet
`
`from channel X to channel Y, junctor 88 is assigned and switches 89 and 91 are
`
`closed. Kent at 8:68-9:12.
`
`38. After the junctor is assigned, the packet is clocked out of FIFO buffer 143
`
`and the packet is transmitted in serial form to the destination processing device.
`
`Kent at 13:36-55; 9:15-19. When the destination processing device receives the
`
`data packet, it returns an acknowledgement. Kent at 9:20-22. One of ordinary
`
`skill in the art would understand that this acknowledgement can either be a
`
`positive acknowledgement (ACK) or a negative acknowledgement (NAK). Kent
`
`at 3:31-42. The acknowledgement is received by the coupler, routed through the
`
`reversed junctor, and transmitted via channel X to the processing device that
`
`sent the data packet. Kent at 13:61-65; 9:20-37.
`
`
`
`13
`
`NETAPP ET AL. EXHIBIT 1006
`Page 13 of 52
`
`
`
`Computer Networks Textbook
`
`39.
`
`I have reviewed select pages of a book titled “Computer Network” (3rd
`
`edition) by Andrew Tanenbaum published in 1996. Computer Networks is
`
`undergraduate level textbook on computer networks.
`
`40. Chapter 3 of Tanenbaum textbook concerns the data link layer and “deals
`
`with algorithms for achieving reliable, efficient communication between two
`
`adjacent machines.” Tanenbaum at 175. As taught by Tanenbaum, transmission
`
`of a bit stream over a communication channel does not guarantee that the bit
`
`stream is error free. “It is up to the data link layer to detect, and if necessary,
`
`correct errors.” Tanenbaum at 179. Again from Tanenbaum:
`
`“The usual approach is for the data link layer to break the bit
`
`stream up into discrete frames and compute the checksum for each
`
`frame. … When a frame arrives at the destination, the checksum is
`
`recomputed. If the newly computed checksum is different from the
`
`one contained in the frame, the data link layer knows that an error
`
`has occurred and takes steps to deal with it (e.g. discarding the bad
`
`frame and sending back an error report.)” Tanenbaum at 179.
`
`41. Tanenbaum teaches that a checksum in widespread use is the polynomial
`
`code known as a cyclic redundancy code or CRC code. Tanenbaum at 187. As
`
`discussed in Tanenbaum the CRC code is used to detect errors that occur in the
`
`frame data. Tanenbaum at 187-190.
`
`
`
`14
`
`NETAPP ET AL. EXHIBIT 1006
`Page 14 of 52
`
`
`
`42. The “error report” comes in the form of positive or negative
`
`acknowledgements:
`
`“The usual way to ensure reliable delivery is to provide the sender
`
`with some feedback about what is happening at the other end of the
`
`line. Typically the protocol calls for receiver to send back special
`
`control frames bearing positive or negative acknowledgements
`
`about the incoming frames. If the sender receives a positive
`
`acknowledgement about a frame, it knows the frame has arrived
`
`safely. On the other hand, a negative acknowledgement means that
`
`something has gone wrong, and the frame must be transmitted
`
`again.” Tanenbaum at 182.
`
`43. On the use of negative acknowledgements or NAKs, Tanenbaum teaches
`
`a specific strategy called selective repeat. Tanenbaum at 215. In selective
`
`repeat, whenever the receiver has reason to suspect that an error has occurred, it
`
`sends a negative acknowledgement frame back to the sender, which operates as
`
`“a request for retransmission of the frame specified in the NAK.” Tanenbaum at
`
`215. One of ordinary skill in the art would understand that other protocols can
`
`be envisioned using NAKs. The basic concept is that NAKs are used to report to
`
`the sender that something went wrong in the transmission and that a frame or
`
`frames must be retransmitted.
`
`
`
`15
`
`NETAPP ET AL. EXHIBIT 1006
`Page 15 of 52
`
`
`
`Motivation to Combine Kent with Disclosures in the Computer Networks
`Textbook
`
`44. While Kent states that the packets being routed through the coupler have
`
`a CRC code, Kent was mainly focused on the details of the coupler and does not
`
`discuss how the CRC code is used other than to state that “[c]ollisions of data
`
`packets or other transmission errors are detected by an error detecting code as a
`
`cyclic redundancy check [CRC].” Kent at 3:27-30. But Kent does state that
`
`reliable data transmission is especially important to a system. Kent at 3:9-10.
`
`45. To further understand how the CRC code works, one or ordinary skill in
`
`the art would have referred to one of many reference books or textbooks
`
`describing the cyclic redundancy check codes and how they are used to achieve
`
`reliable communications such as the Computer Networks textbook by Andrew
`
`Tanenbaum. The Kent patent describes a network to interconnect computers to
`
`shared memory devices and mentions that conventional communication network
`
`known as “Ethernet” may be used, the Kent patent does not get into the
`
`specifics on how a communication network such as Ethernet delivers reliable
`
`communications or how the ACKs and NAKs described in Kent are used in a
`
`communication protocol other than to state that CRC is used to detect errors and
`
`that if a packet could not be processed a NAK is returned. Kent at 2:49-55;
`
`3:27-38.
`
`46. The Tanenbaum textbook fills in the details missing from the Kent patent
`
`in describing the basic characteristics of a link layer in a network protocol that
`
`
`
`16
`
`NETAPP ET AL. EXHIBIT 1006
`Page 16 of 52
`
`
`
`would be familiar to one of ordinary skill in the art. Since the Kent patent
`
`stresses the importance of reliable communications, but leaves it to one of
`
`ordinary skill in the art to supply the missing details on how reliable
`
`communications are achieved, one of ordinary skill in the art would have known
`
`to look to link layer protocols as taught by Tanenbaum to provide reliable
`
`communications. Kent at 3:9-10 and Tanenbaum at 175. Kent also discloses
`
`packets with a CRC code which the Tanenbaum reference teaches can be used
`
`detect errors in a scheme for reliable transmission. Kent at Figure 12 and
`
`Tanenbaum at 187-190. Finally, the Kent patent discloses the ability of the
`
`handle transmissions of ACKs and NAKs packets, which one of ordinary skill
`
`in the art would recognize can be used as part of the scheme of reliable
`
`transmissions. Kent at 14:47-54 and Tanenbaum at 182. Specifically, the NAKs
`
`could be used to report errors in packets and request retransmission. Tanenbaum
`
`at 182.
`
`Gridley (US Pat. No. 5,521,913)
`
`47.
`
`I reviewed U.S. Patent No. 5,521,913 listing Curtis D. Gridley as inventor
`
`(“Gridley,” Ex. 1004) which issued on May 28, 1996. The Gridley Patent
`
`describes an improved packet switching system. Gridley at Abstract.
`
`48. Gridley describes two basic conventional methods for handling packets
`
`within an Ethernet switch: store-and-forward switching and cut-through
`
`switching. Gridley at 1:49-59. In store-and-forward switching the switch or the
`
`
`
`17
`
`NETAPP ET AL. EXHIBIT 1006
`Page 17 of 52
`
`
`
`LAN card in the switch will wait until receiving the entire packet before
`
`forwarding the packet to either the destination LAN card or a central controller
`
`card within the switch. Gridley at 1:51-54. This type of switching allows the
`
`receiving LAN card to confirm the packet is valid and uncorrupted by checking
`
`the packet check sum information at the end of the packet, i.e. the CRC code of
`
`an Ethernet packet. Gridley at 1:54-57. As Gridley suggests, store-and-forward
`
`switching introduces latency since the packet must be completely received
`
`before being forwarded.
`
`49. To decrease packet latency, a “new” approach was proposed called cut-
`
`through switching. Gridley at 1:57-58. In cut-through switching, the packet
`
`information is forwarded to the destination port and transmitted before the
`
`packet has been fully received. Gridley at 1:59-62. This type of switching
`
`introduced very little latency because packet information is forwarded as soon
`
`as it is received, but since the CRC code is at the end of the packet, the packet’s
`
`validity could not be checked before the packet had already started being
`
`transmitted to its destination. Gridley at 1:62-67. Therefore, as Gridley states,
`
`there was no way for the switch to drop the packet, i.e. no way for the switch to
`
`stop the transmission of an invalid packet to the destination device. Id.
`
`50. The Gridley Patent teaches a hybrid of cut-through and store-and-forward
`
`switching called adaptive cut-through switching. Gridley at 5:9-59. In adaptive
`
`cut-through switching, incoming packets are accumulated in memory. Gridley
`
`
`
`18
`
`NETAPP ET AL. EXHIBIT 1006
`Page 18 of 52
`
`
`
`at 5:14-17. In addition, the packet information is forwarded to destination port
`
`and to the destination device before the packet is fully received, thus acting like
`
`a cut-through switch. Gridley at 5:22-29. But, unlike cut-through switching, the
`
`validity of the packet is checked once the check-sum information, i.e. CRC
`
`code, of the packet has been received. Gridley at 5:30-33.
`
`51.
`
`If the packet is valid, the port remains in cut-through switching mode.
`
`Gridley at 5:33-36. If the packet is invalid, the port is placed in store-and-
`
`forward mode which essentially converts the port to store-and-forward
`
`switching. Gridley at 5:36-47. In store-and-forward mode, the entire packet is
`
`accumulated in memory and its validity is checked before forwarding the packet
`
`to the destination port. Gridley at 5:47-52. Gridley teaches that if the packet is
`
`invalid in store-and-forward mode, the packet is discarded without forwarding.
`
`Id. at 5:52-54. The switch also monitors the port to determine if ten consecutive
`
`packets are received without error at which point the port is returned to cut-
`
`through switching.
`
`52. As Gridley states, adaptive cut-through switching yields the advantages
`
`associated with both cut-through and store-and-forward switching since most
`
`packets will be valid and will pass through the switch with minimal latency, but
`
`if a particular port is “receiving garbage” then adaptive cut-through switching
`
`allows the switch to drop invalid packets before they are forwarded onwards.
`
`Gridley at 5:60-6:11.
`
`
`
`19
`
`NETAPP ET AL. EXHIBIT 1006
`Page 19 of 52
`
`
`
`Motivation to Combine Kent and the Computer Networks Textbook with
`Gridley
`
`53. The coupler in Kent employs cut-through switching. See Kent at 12:64-
`
`13:10. For example, the coupler in Kent only stores the beginning of a message
`
`(packet) to obtain the destination address. Id. at 13:5-7. As discussed in Kent,
`
`the use of cut-through switching reduces latency so that the coupler “appears
`
`relatively transparent to the data processing devices.” Kent at 13:9-10.
`
`54. Although cut-through switching achieves low latency, one of ordinary
`
`skill in the art would have utilized the adaptive cut-through switching taught by
`
`Gridley as an improvement on the ordinary cut-through switching used in Kent.
`
`As Gridley states, adaptive cut-through switching yield advantages associated
`
`with both cut-through and store-and-forward switching. Gridley at 5:60-6:10.
`
`Specifically, adaptive cut-through switching does not increase latency except
`
`for ports where invalid packets have been detected. Gridley at 5:63-65; ¶ 52
`
`above. But adaptive cut-through switching has the advantage of allowing the
`
`switch to drop invalid packets instead of forwarding those invalid packets
`
`further.
`
`55. Of course, in implementing cut-through switching in the system of Kent,
`
`the invalid packets are not simply dropped at the switch, but rather, upon
`
`detecting an invalid packet, the switch will return a NAK to the transmitter of
`
`the packet to instruct the transmitter to resend the packet. See ¶¶ 40-42 above.
`
`This procedure will save network bandwidth associated with transmitting an
`
`
`
`20
`
`NETAPP ET AL. EXHIBIT 1006
`Page 20 of 52
`
`
`
`invalid packet to the destination device and waiting for the destination device to
`
`perform a CRC check and to send a NAK back to the switch. For example, the
`
`data flow through the coupler where an error occurs in transmitting a data
`
`packet from the source device to the coupler is as follows.
`
`Error
`
`Data packet
`
`NAK
`
`Same data packet
`
`Source
`
`Data packet
`
`NAK
`
`Same data packet
`
`Coupler
`
`
`Destination
`
`
`
`With the store-and-forward mode of cut-through switching, the coupler can
`
`eliminate the transmissions highlighted in red above by having the coupler
`
`perform the CRC check and send the NAK as illustrated below.
`
`Coupler
`
`
`Same data packet
`
`Destination
`
`Error
`
`Data packet
`
`NAK
`
`Same data packet
`
`Source
`
`
`
`56. One of ordinary skill in the art would have recognized the advantages to
`
`reducing wasted transmissions between the coupler and the destination device,
`
`when adaptive cut-through switching is implemented on the coupler disclosed in
`
`Kent. Further, adaptive cut-through switching is in line with the general goal of
`
`the Kent patent to provide a coupler with increased bandwidth since reducing
`
`wasted transmissions increases the bandwidth of that channel to handle other
`
`
`
`21
`
`NETAPP ET AL. EXHIBIT 1006
`Page 21 of 52
`
`
`
`non-wasteful transmissions. Kent at 4:41-45. Further, one of ordinary skill in
`
`the art would have had an expectation of success in implementing the adaptive
`
`cut-through switching taught by Gridley in the coupler of Kent. The switches
`
`disclosed by Gridley and Kent have similar structures, both contain LAN cards
`
`or channel interface boards interconnected by high speed bus. See Figure 2 or
`
`Gridley and Figure 3 of Kent. Also, the circuitry for performing a CRC check to
`
`check for invalid packets is well known to one of ordinary skill in the art. See ¶
`
`91 below. To implement store-and-forward switching or adaptive cut-through
`
`switching on any packet network switch given the teaching in Gridley should be
`
`within the abilities of one of ordinary skill in the art.
`
`Sambamurthy (U.S. Pat. No. 5,311,114)
`
`57.
`
`I reviewed U.S. Patent No. 5,311,114 listing Namakkal S. Sambamurthy,
`
`Woo-Ping Lai, and John P. VanGilder as inventors (“Sambamurthy,” Ex. 1005)
`
`which issued on May 10, 1994. The Sambamurthy patent describes a method to
`
`achieve full-duplex Ethernet. Sambamurthy at Title and Abstract.
`
`58. Sambamurthy states the “currently,” i.e. at the time of filing the
`
`Sambamurthy patent circa 1992, Ethernet was a half-duplex protocol.
`
`Sambamurthy at 1:21-23. In the late 1980s, a new Ethernet media standard
`
`referred to as “10Base-T” was proposed and accepted.1 Id. at 1:38-39. The
`
`10Base-T Ethernet standard employed two pairs of twisted-pair cables for its
`
`
`1 Sambamurthy states “late 1990s” which is likely a typographical error.
`
`
`
`22
`
`NETAPP ET AL. EXHIBIT 1006
`Page 22 of 52
`
`
`
`transmission medium, one pair for transmitting and one pair for receiving, but
`
`was still effectively limited to a half-duplex communication channel. Id. at
`
`1:46-65.
`
`59. Sambamurthy provides a method of achieving