throbber
IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`Examiner: (cid:9)
`
`Salman Ahmed
`
`Technology Center/Art Unit: 3992
`
`COMMENTS TO ACP
`
`In re application of: Edward Balassanian
`
`U.S. Patent No. 6,629,163
`
`Reexamination Control No.: 95/000,659
`
`Reexamination Request Filed: February 13, 2012
`
`For: Method and System for Demultiplexing a
`First Sequence of Packet Components to Identify
`Specific Components Wherein Subsequent
`Components are Processed Without Reidentifying
`Com • onents
`
`Attn: Mail Stop "Inter Partes Reexam"
`Central Reexamination Unit
`Commissioner for Patents
`United States Patent and Trademark Office
`P.O. Box 1450
`Alexandria, VA 22313-1450
`
`Dear Sir:
`
`Patent Owner has received the PTO's Action Closing Prosecution ("ACP") dated October
`
`1, 2012. In the ACP, the Examiner maintained his rejection of claim 1 of U.S. Patent No.
`
`6,629,163 ("the '163 Patent," or simply "'163") as obvious in light of "Router Plugins: A
`
`Software Architecture for Next Generation Routers" ("Decasper") and U.S. Patent No. 6,243,667
`
`("Kerr"). The Examiner also maintained his rejection of claims 15 and 35 as anticipated by
`
`Decasper and Kerr. Only claims 1, 15 and 35 are under reexamination. Patent Owner continues
`
`to traverse these rejections. The pending claims are reflected in the Listing of Claims attached as
`
`an Appendix. Exhibit 1 (Dr. Ng's Declaration) is also attached. While Patent Owner does not
`
`believe any fees are required, if fees are necessary, then such fees are hereby petitioned and
`
`authorized to be charged to our Deposit Account No. 504592.
`
`Juniper Ex. 1020-p. 1
`Juniper v Implicit
`
`

`

`I. (cid:9)
`
`Background of the '163 Invention (cid:9)
`
`TABLE OF CONTENTS
`
`A. Message-Based Systems Contrasted with Packet-Based Systems (cid:9)
`
`B. Dynamic Identification of a Sequence of Components Based on First Packet (cid:9)
`
`C. Components Convert Data with Input Format to Data with Output Format (cid:9)
`
`D. Format Matching/Compatibility (cid:9)
`
`E. State Information (cid:9)
`
`II. (cid:9)
`
`IP Routers in General (cid:9)
`
`A. Routers Versus End Points (cid:9)
`
`B.
`
`IP Routers Only Process IP Formats at One Layer (cid:9)
`
`C.
`
`IP Routers Do Not Maintain Message-Specific State (cid:9)
`
`III. (cid:9)
`
`Decasper Fails to Anticipate or Render Obvious the '163 Patent Claims (cid:9)
`
`A. Background on Decasper as an IP Router (cid:9)
`
`B. Decasper Fails to Teach the Message Limitations (cid:9)
`
`C. Decasper Fails to Teach the Converting Limitations (cid:9)
`
`D. Decasper Fails to Teach the First Packet Limitations (cid:9)
`
`E. Decasper Fails to Teach the Format Matching Limitations (cid:9)
`
`F. Decasper Fails to Teach the State Limitations (cid:9)
`
`IV. (cid:9)
`
`Kerr Fails to Anticipate or Render Obvious the '163 Patent Claims (cid:9)
`
`A. Background on Kerr (cid:9)
`
`B. Kerr Fails to Teach the Message Limitations (cid:9)
`
`C. Kerr Fails to Teach the Converting Limitations (cid:9)
`
`D. Kerr Fails to Teach the First Packet Limitations (cid:9)
`
`E. Kerr Fails to Teach the Dynamic Identification Limitations (cid:9)
`
`F. Kerr Fails to Teach the Format Matching Limitations (cid:9)
`
`14069-v4/1048-0030
`
` 1
`
`1
`
`5
`
`7
`
`8
`
`10
`
`11
`
`11
`
`12
`
`13
`
`14
`
`14
`
`16
`
`18
`
`20
`
`21
`
`26
`
`29
`
`29
`
`31
`
`32
`
`33
`
`33
`
`36
`
`Juniper Ex. 1020-p. 2
`Juniper v Implicit
`
`

`

`G. (cid:9)
`
`Kerr Fails to Teach the State Limitations (cid:9)
`
`V. Dr. Ng.'s Declaration (cid:9)
`
`VI.
`
`Secondary Indicia (cid:9)
`
`38
`
`39
`
`41
`
`14069-v4/1048-0030
`
`Juniper Ex. 1020-p. 3
`Juniper v Implicit
`
`

`

`REMARKS
`
`Patent Owner respectfully submits that there is a fundamental and patentable difference
`
`between the '163 Patent and the Decasper and Kerr prior art references—namely, the message-
`
`oriented nature of the '163 invention and its stateful, dynamic processing of the message at
`
`different layers in the protocol stack versus the packet-oriented nature of IP routers that are
`
`designed to only process the IP protocol. 1 An initial explanation of these fundamental
`
`differences provides the proper perspective for the claim analysis that follows.
`
`I. (cid:9)
`
`Background of the '163 Invention
`
`Claims 1, 15, and 35 use the word "message(s)" no fewer than 26 times. These message-
`
`centric claims require that a message's packets are processed by using the first packet to
`
`dynamically identify a non-predefined sequence of components so that the output format of one
`
`component is compatible with the input format of the next component. The sequence of
`
`components, i.e., the "path," is then stored and used—along with message-specific state
`
`information—to process the subsequent packets of the message. These concepts are critical to
`
`the patentability of the '163 invention.
`
`A. (cid:9)
`
`Message-Based Systems Contrasted with Packet-Based Systems
`
`In addition to the actual claim language that centers on messages, the '163 specification
`
`repeatedly emphasizes the message-oriented nature of the invention. 2 See, e.g., '163 Abstract
`
`IP routers have an IP core, such as the IP core disclosed in Decasper, that is responsible for the
`processing of IP packets. The references in this Response to "IP router," "Decasper router," and "Kerr
`router" (and the like) are meant to cover the architecture and functionality of an IP core, as opposed to the
`device the IP core might be integrated with, i.e., "IP router" in this Response is shorthand for the IP core
`of the router. This definition is appropriate because the rejections based on Decasper and Kerr are
`focused on the IP core disclosed in those references.
`
`2 (cid:9)
`
`In its Markman Order in the related litigation, the district court construed "message[s]" as "a
`collection of data that is related in some way, such as a stream of video or audio data or an email
`1
`
`14069-v4/1048-0030
`
`Juniper Ex. 1020-p. 4
`Juniper v Implicit
`
`

`

`(referencing messages); Figures 1, 7A-C, 8, 9, and 12 (referencing messages); 2:38-49 ("A
`
`message is a collection of data that is related in some way, such as stream of video or audio data
`
`or an email message."); 2:57-64 (referencing "the processing of each message"); 3:2-7
`
`(referencing the processing of "all packets of a message").
`
`A message-based technology fundamentally differs from a packet-based technology in
`
`that it is concerned with not just the processing of individual packets, but with the processing of
`
`a message as a whole, i.e., processing all the packets of the message. For example, the '163
`
`specification states that a "session" is created to ensure that all packets of a message are
`
`processed properly: the "conversion system routes all packets of a message through the same
`
`session of each conversion routine so that the same state or instance information can be used by
`
`all packets of the message." '163 3:2-7 (emphasis added). The specification provides an
`
`example of a message that includes packets with three nested layers having different formats:
`
`Ethernet, IP, and TCP. '163 Fig. 4; 1:27-37; 5:32-57; 6:48-57. In this example, the message has
`
`a start point (defined by the initiation of a TCP connection) and an end point (defined by the
`
`termination of a TCP connection), which clearly delineates the message. RFC 793. The
`
`Requestor Juniper agrees that the '163 "patent[ ] claim[s] an approach to processing packets of
`
`data that starts by analyzing the first packet of a message in order to figure out how best to
`
`process the remaining packets in the message...." Juniper Summary Judgment motion at 2; id.
`
`at 3 ("This dynamically identified sequence is then stored so it can be used in processing each
`
`subsequent packet of the same message") (emphases added).
`
`message." Markman Order at 12-13, Implicit Networks, Inc. v. Juniper Networks, Inc., No. 10-CV-4234-
`SI (N.D. Cal. Feb. 29, 2012).
`
`14069-v4/1048-0030
`
`2
`
`Juniper Ex. 1020-p. 5
`Juniper v Implicit
`
`

`

`In contrast to the message-based approach, a packet-based processing technology—such
`
`as that employed by IP routers—is concerned primarily with processing individual packets as
`
`opposed to processing the entirety of the message. Unlike the '163 technology that processes
`
`"all packets of a message" ('163 3:2-7), an IP router is not guaranteed to receive all packets of a
`
`message; it may receive none or only some of the message's packets. Accordingly, because IP
`
`routers cannot depend on receiving all packets of a message, they are designed to process the
`
`individual packets rather than the entire message. In fact, an IP router does not depend on when
`
`a message starts or stops; instead, it processes each packet independently as prescribed by the
`
`specification for the IP protocol (RFC 791) which dictates that IP packets are independent
`
`datagrams. While IP routers can exploit information about where IP packets are headed (e.g., by
`
`using addresses and ports), they are not designed to process the entire messages the packets
`
`belong to. Instead, they primarily attempt to make forwarding decisions about the individual
`
`packets as efficiently as possible.
`
`This fundamental difference between the '163 Patent and general IP routers (such as
`
`those of Decasper and Kerr) is critical because the distinguishing claim limitations flow from it.
`
`Figure 1 provides a high-level depiction of this fundamental difference:
`
`FIG. 1
`
`14069•v4/1048-0030
`
`3
`
`Juniper Ex. 1020-p. 6
`Juniper v Implicit
`
`

`

`Figure 1 shows a client and server communicating with each other over the Internet,
`
`which contains numerous IP routers, represented by routers 1-6. The client and the server, which
`
`can be considered as end points, communicate by sending and receiving messages between each
`
`other. Clients can include applications such as web browsers, enterprise applications, video
`
`conferencing systems, and email applications. Servers can include front-end web servers, back-
`
`end web servers, enterprise applications, etc.
`
`Generally speaking, a message is a group of packets related in a meaningful way by, for
`
`example, the connection between a client and server. See, e.g., '163 2:38-49. A message could
`
`include HTTP requests, HTTP responses, HTTP connections, email messages, VoIP
`
`conversations, etc.—all of which require higher-level protocol support to effectively
`
`communicate a message or establish a connection between a client application and a
`
`server. When a client sends a message to a server, the message is broken up into individual
`
`packets by processing the message through protocols such as HTTP, TCP, IP, and Ethernet.
`
`Id.
`
`at '163 Fig. 4; 1:27-37; 5:32-57; 6:48-57. HTTP sends its data to TCP. TCP, in turn, breaks up
`
`the byte-stream into individual segments that are transmitted as individual IP packets. Finally,
`
`the Ethernet protocol frames IP packets for transmission. On the server side, a similar sequence
`
`of message processing steps occurs as the incoming packets are processed by Ethernet, IP, TCP,
`
`HTTP, and so on.
`
`Each individual IP packet of a particular message may take a different route over the
`
`Internet when traveling from the client to the server or vice versa. For instance, a first packet of
`
`a TCP connection between a client and a server may travel through routers 1, 2, 3, and 6, while a
`
`second packet of that connection may travel from the client to the server through routers 2, 3,
`
`and 6, and a third packet may go through routers 4, 5 and 3. However, since IP packets are
`
`14069-v4/1048-0030
`
`4
`
`Juniper Ex. 1020-p. 7
`Juniper v Implicit
`
`

`

`essentially independent datagrams, routers are designed to process each IP packet independently.
`
`While routers can exploit characteristics in the IP packets to allow for optimized routing, they
`
`process incoming packets at the IP layer and do not support high-level protocols required to
`
`process the entire message.
`
`The only devices shown in the above Figure 1 that process the actual message or are even
`
`guaranteed to see all of the packets of a given message are the client and the server. This is one
`
`reason why the '163 invention is so different from the IP routers taught in Decasper and Kerr—it
`
`operates on entire messages because it works at the end points, processing each message up and
`
`down the various layers of the protocol stack. This is in contrast to the IP routers of Decasper
`
`and Kerr, which operate at the network layer and only process the IP protocol.
`
`Routers operate in this message-agnostic way because, by design, every IP packet stands
`
`alone. Per the IETF specifications for the IP protocol, each IP packet is an independent datagram
`
`which can be processed independently by any router. RFC 791. As Requester Juniper puts it in
`
`a white paper, "Packet-based forwarding does not require any information about either previous
`
`or subsequent packets that belong to a given connection ..."
`
`See Juniper White Paper:
`
`"Understanding Packet-Based and Flow-Based Forwarding."
`
`B. (cid:9)
`
`Dynamic Identification of a Sequence of Components Based on First Packet
`
`Claim 1 requires that "for the first packet of the message," "dynamically identifying a
`
`non-predefined sequence of components for processing the packets of the message" and "storing
`
`an indication of each of the identified components so that the non-predefined sequence does not
`
`need to be re-identified for subsequent packets of the message." Some background information
`
`on these claim limitations—including how they are derived from the concept of message-based
`
`processing—is helpful.
`
`14069-v4/1048-0030
`
`5
`
`Juniper Ex. 1020-p. 8
`Juniper v Implicit
`
`

`

`In Patent Owner's preferred embodiment, processing functions are captured in individual
`
`code modules, which are called "components." The components are not glued together at
`
`compile time, but rather remain individual and then are recruited as part of a message-specific
`
`processing path after a first packet of a new message arrives. At that point, the system unwraps
`
`the different layers of the first packet (e.g., Ethernet, IP, TCP, etc.), examines those layers, and
`
`builds a data processing path by selecting components based on and guided by configuration
`
`information present before the first packet. As set forth in the preferred embodiment, the '163
`
`Patent technology uses configuration information expressed as a sequence of processing steps
`
`that are stored in a cache called "LabelMapGet" (do "a," then do "b," then do "c").
`
`As described in the '163 specification, the steps in Patent Owner's preferred embodiment
`
`are as follows for the example of a message with packets having three nested layers based on
`
`Ethernet/IP/TCP protocols:
`
`A packet arrives:
`
`The first packet of the message arrives at an Ethernet port. The Ethernet component
`
`inspects the header to determine the next layer, and then hands the packet off to the module
`
`responsible for processing that format.
`
`Ethernet determines it is carrying IP data:
`
`If the packet is carrying IP data, the system sends the packet to the IP component. IP is
`
`the "compatible format" here, which is explained in more detail below.
`
`IP determines it is carrying TCP data:
`
`The IP component then determines the type of payload in the next layer. IP can carry
`
`many types of data, including TCP. The IP component inspects the header, and if it sees TCP, it
`
`14069-v4/1048-0030
`
`6
`
`Juniper Ex. 1020-p. 9
`Juniper v Implicit
`
`

`

`hands the packet to the TCP component for subsequent processing. TCP is the "compatible
`
`format" here.
`
`TCP determines it is carrying application data:
`
`TCP can carry any number of application layer data types. This could be HTTP on port
`
`80 or many other types of data. As such, the format of data encapsulated by TCP can be inferred
`
`by the TCP port number. There is a mechanism in the system that dictates the mapping of TCP
`
`data types (e.g., the port number) to a subsequent component. That mechanism described in the
`
``163 Patent is a "policy" look-up. At this point, the specification describes methods to determine
`
`the next series of processing steps, e.g., a LabelMapGet ("LMG") cached list of steps. Once this
`
`is done, a message -specific path is built, and all subsequent packets in the same message
`
`shuttle through that path. The "dynamic identification" step of claim 1 is thus message-
`
`centric—something that IP routers by definition are not.
`
`C. (cid:9)
`
`Components Convert Data with Input Format to Data with Output Format
`
`Claim 1 also requires "providing a plurality of components, each component being a
`
`software routine for converting data with an input format into data with an output format." A
`
`component is a software routine that receives data and outputs data using certain formats.
`
`See,
`
`e.g., '163 1:23-36 (describing "TCP format," "IP format," and "ethernet format"); 4:43-50
`
`("Each edge has an input format and an output format."). The data that a component receives
`
`has a certain format, which is the "input format." Likewise, the data that it outputs has a certain
`
`format, which is the "output format." 3 Id. at 4:55-67 (describing converting various input
`
`formats to various output formats).
`
`3 (cid:9)
`
`In its Markman Order in the related litigation, the district court construed "input/output format"
`as the "structure or appearance of data to be processed" and the "structure or appearance of the data that
`7
`
`14069-v4/1048-0030
`
`Juniper Ex. 1020-p. 10
`Juniper v Implicit
`
`

`

`As with the other claim limitations specifically highlighted here, this limitation stems in
`
`part from the fact that the '163 Patent technology allows protocols above the IP layer at which IP
`
`routers operate, e.g., at the TCP level. As a result, the '163 invention can handle different
`
`formats at multiple layers in the protocol stack (e.g., Ethernet/IP/TCP), and the components that
`
`handle the packets can implement different input and output formats. In contrast and as
`
`described below, IP routers process packets only at one layer and use only the IP format. Every
`
`packet goes into a router as an IP packet, exits the router as an IP packet, and remains an IP
`
`packet throughout its time inside the router. Preserving the IP format is critical for such IP
`
`routers as it is for each of the processing steps within the routers.
`
`D. (cid:9)
`
`Format Matching/Compatibility
`
`Claim 1 requires that the dynamic identification step be performed "such that the output
`
`format of the components of the non-predefined sequence match the input format of the next
`
`component in the non-predefined sequence." In order to determine which software routines (or
`
`"components") to select and in what order they should be applied, the '163 preferred
`
`embodiment inspects and understands the format of a packet and maps that format to the one or
`
`more components that are compatible to that format. '163 Patent at 4:43-5:4.
`
`In fact, the '163 Patent states that "[w]hen a packet of a message is received, the
`
`conversion system ... identifies a sequence of conversion routines [i.e creates a path] for
`
`processing the packets of the message by comparing the input and output formats of the
`
`conversion routines." '163 Patent at 2:40-45; see also 1:66-2:2 ("it would be desirable to have a
`
`technique in which the output format of one conversion routine can be identified as being
`
`results from processing." Markman Order at 9, Implicit Networks, Inc. v. Juniper Networks, Inc., No. 10-
`CV-4234-S1 (N.D. Cal. Feb. 29, 2012).
`
`14069-v4/1048-0030
`
`8
`
`Juniper Ex. 1020-p. 11
`Juniper v Implicit
`
`

`

`compatible with the input format of another conversion routine"); 4:51-53 ("The label map get
`
`routine identifies a sequence of edges such that the output format of each edge is compatible with
`
`the input format of another edge in the sequence...."). This mapping process identifies the
`
`sequence of components (e.g., Ethernet, IP, TCP, HTTP, and so on) that should be associated
`
`with the message, and then it creates the message-specific sequence of processing components
`
`(i.e., the path). '163 Patent at 3:65-5:4.
`
`In the context of Figure 1 above, this type of format matching can only be performed by
`
`systems that operate at the message level (e.g., clients and servers). In particular, the only
`
`devices shown in the Figure 1 network that are capable of processing packets at a layer higher
`
`than IP are the client and the server, both of which see all packets of a message and thus handle
`
`multiple formats, such as Ethernet, IP and TCP. In contrast, routers 1-6 are IP routers and thus
`
`process packets only at a single layer and handle only a single format: Internet Protocol. Each
`
`router receives an IP packet and outputs an IP packet. Indeed, as a consequence of being IP
`
`routers, they have no ability to process packets higher in the stack than IP. To go deeper into the
`
`packet, routers would have to maintain state for the duration of a message, and determine what to
`
`do after processing at the TCP level (even if IP routers did process at the TCP level, which they
`
`do not).
`
`The router's lack of format matching ultimately stems from the fact that routers only
`
`process independent IP packets that take varying routes across the Internet. As such, routers are
`
`not guaranteed to receive all the packets of a message and thus are designed to process individual
`
`packets. Because a router is message-agnostic and often does not receive all packets of a
`
`message, it does not process packets at the TCP layer or any higher layer protocol. To illustrate,
`
`the TCP module is required to collect all the packets of a given message, make sure that all
`
`14069-v4/1048-0030
`
`9
`
`Juniper Ex. 1020-p. 12
`Juniper v Implicit
`
`

`

`packets are present, eliminate duplication, and ensure that the packets are in the right sequence.
`
`A TCP module can do this only if it is guaranteed to have all of the packets that make up a
`
`message. RFC 793. As a router is not guaranteed to receive all packets of a message, however,
`
`it simply has no ability to do TCP protocol layer processing.
`
`E. (cid:9)
`
`State Information
`
`Claim 1 further requires, "for each of a plurality of packets of the message in sequence"
`
`and "for each of a plurality of components in the identified non-predefined sequence":
`
`retrieving state information relating to performing the processing of the
`component with the previous packet of the message;
`
`performing the processing of the identified component with the packet and the
`retrieved state information; and
`
`storing state information relating to the processing of the component with the
`packet for use when processing the next packet of the message.
`
`Thus, the claim limitations require collecting and maintaining message-specific state information
`
`relating to the processing of one packet of a message, storing that state information, and
`
`retrieving it for use when processing the next packet of that message.
`
`Referring again to Figure 1 above, the fact that the client and server are the only devices
`
`that are guaranteed to see all the packets of a given message means that they are the only devices
`
`that are designed to perform the state limitations recited above, which require using state
`
`information across the packets of a message to "process[] [the] message." See '163 3:2-7 ("The
`
`conversion system routes all packets of a message through the same session of each conversion
`
`routine so that the same state or instance information can be used by all packets of the
`
`message."); 3:58-60 ("The sessions are identified so that each packet is associated with the
`
`appropriate state information.") (emphases added). Routers 1-6, in contrast, do not necessarily
`
`see all the packets of a message and thus are not designed to collect, retain and apply state
`10
`
`14069-v4/1048-0030
`
`Juniper Ex. 1020-p. 13
`Juniper v Implicit
`
`

`

`information from packet-to-packet for the entire message. In fact, as explained above, IP routers
`
`such as Decasper and Kerr are not designed to determine the actual start and end to a message
`
`because, for example, they are not designed to inspect the SYN and FIN bits in the TCP headers
`
`that are normally associated with setting up and tearing down a TCP connection.
`
`The message-specific claim limitations also highlight the type of state that the '163 Patent
`
`technology uses: hard state. Hard state is required for correct function and cannot be flushed
`
`randomly without regard to the processing of the entire message. In other words, it is
`
`inextricably intertwined with the message and must be maintained for the duration of the entire
`
`message. If it is discarded before the entire message is processed, all mid-message processing
`
`would fall apart, and the system would be useless. In contrast, IP routers do not use this kind of
`
`hard state, since hard state is tied to the processing of entire messages and routers are not
`
`guaranteed to see all packets of entire messages. In short, because routers do not process entire
`
`messages, they also cannot use the hard state that is used to process entire messages. Instead,
`
`routers use soft state—state that can be discarded, regenerated or replaced as needed, as further
`
`explained below.
`
`II. (cid:9)
`
`IP Routers in General
`
`A. (cid:9)
`
`Routers Versus End Points
`
`As explained above in connection with Figure 1, a message between a client and a server
`
`might be comprised of packets across a TCP connection, or higher layer applications such as e-
`
`mail, video streams, or HTTP requests. When the client sends the message, the message has a
`
`definitive start and end as determined by higher layer protocols such as TCP. Similarly, when
`
`the server receives the message, the message is also complete in the sense that the server has all
`
`of the packets that make up the message.
`
`14069-v4/1048-0030
`
`11
`
`Juniper Ex. 1020-p. 14
`Juniper v Implicit
`
`

`

`But in between—that is, when the message is being routed through routers 1-6—the
`
`message is fragmented into packets, each of which may take one of a variety of routes to the
`
`server. Thus, while the client and the server—i.e., the end-points—necessarily see the entire
`
`message, routers 1-6 are not guaranteed to see the entire message. This fundamental difference
`
`between routers and end-points is significant because Decasper and Kerr function at the router
`
`level and the '163 Patent technology functions at the end-point level.
`
`B. (cid:9)
`
`IP Routers Only Process IP Formats at One Layer
`
`One significant implication of this fundamental difference is the fact that because end-
`
`points see all the packets of a message, they can operate at layers in the protocol stack that are
`
`above IP. For instance, the end-points can operate with TCP, while the IP routers cannot
`
`because operating at higher layer protocols than IP would require seeing all the packets that
`
`make up the message. This means that routers only process packets having the IP format.
`
`Whether a packet is an IP format is determined by the structure of its header. To
`
`illustrate, Figure 2 shows the structure of an exemplary IP format header:
`
`0
`
`4
`
`8
`
`16 (cid:9)
`
`19
`
`24
`
`31
`
`I HI, (cid:9)
`
`Type of Service
`
`Total Leagth
`
`Identification
`
`Flags (cid:9)
`
`Fiagment Offset
`
`Time to Live (cid:9)
`
`Protocol
`
`Header Checksum
`
`Solace P Address
`
`Destination TP Address
`
`Options (cid:9)
`
`Padding
`
`Fig. 2
`
`RFC 791 at 10. As shown, in this IP header format, the first 4 bits always mean "version," and if
`
`the IP version equals "4," the next 4 bits always mean "Internet header length," the next 8 bits
`
`always mean "type of service," and so on. A packet that has a header with the structure shown in
`
`Figure 2 is, by definition, an IP packet. The bit values within the various fields of the header can
`
`14069-v4/1048-0030
`
`12
`
`Juniper Ex. 1020-p. 15
`Juniper v Implicit
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`

`

`vary, but regardless of the bit values in those fields, and regardless of any changes to those bit
`
`values that may be made by a router, the packet always remains an IP formatted packet when the
`
`header's structure is like that shown in Figure 2. That is, the structure or format of the header,
`
`not the bit values, determines whether the packet is an IP packet.
`
`The point here is that IP routers do not change the format of packets, nor would they need
`
`to do so, since routers are designed to handle only IP packets. Routers receive packets in the IP
`
`format, process them in the IP format, and output them in the IP format. In short, IP routers deal
`
`only with the IP format—nothing else.
`
`C. (cid:9)
`
`IP Routers Do Not Maintain Message-Specific State
`
`As explained above in the context of Figure 1, Routers 1-6 do not necessarily see all the
`
`packets of a message. Accordingly, they are not designed to collect, retain and apply state
`
`information from packet-to-packet for the entire message,
`
`i.e., they are not designed to use
`
`message-specific state information. This notwithstanding, routers sometimes use a type of state
`
`called soft state. In general, "soft state is state which is useful for efficiency, but not essential, as
`
`it can be regenerated or replaced if needed." Wikipedia—Soft State,
`
`http://en.v, 'Solt state; see also Such itra Raman & Steven McCanne, A Model,
`
`Analysis, and Protocol Framework for Soft State-based Communication, 29 ACM SIGCOMM
`
`Computer Communication Review 15, 15 (1999). In the context of IP routers, soft state
`
`information (if used) is periodically flushed and "replaced" for one or more reasons such as
`
`memory constraints. An IP router can still function using this flushing process because soft state
`
`information is "not essential" for processing individual IP packets.
`
`On the other hand, state information is essential for a message-centric system that
`
`depends on state information being available for the processing of each packet in the message.
`
`14069-v4/1048-0030
`
`13
`
`Juniper Ex. 1020-p. 16
`Juniper v Implicit
`
`

`

`See, e.g., '163 3:2-7 ("The conversion system routes all packets of a message through the same
`
`session of each conversion routine so that the same state or instance information can be used by
`
`all packets of the message.") (emphasis added). Importantly, because an IP router does not
`
`determine the start and stop of a message, the flushing process described above means that there
`
`is no guarantee that the soft state information will be present for the entire duration of the
`
`message (even assuming the IP router sees all of the message packets). As such, soft state is not
`
`a viable option for message-centric processing that requires the presence of state information.
`
`This would, for instance, render a router incapable of processing TCP packets since the state
`
`required for maintaining a TCP connection would be required for the entire duration of any such
`
`message.
`
`III. (cid:9)
`
`Decasper Fails to Anticipate or Render Obvious the '163 Patent Claims
`
`Decasper does not disclose multiple claim limitations, any one of which requires the
`
`withdrawal of the rejections based on Decasper. 4
`
`A. (cid:9)
`
`Background on Decasper as an IP Router
`
`Decasper teaches an IP router that implements gates and plugins. As such, the Decasper
`
`router shares the characteristics of general IP routers discussed in Sections I and II above.
`
`Accordingly, Decasper processes packets only at the IP layer, such as at routers 1-6 shown in
`
`Figure 1 above. Because it processes packets strictly at the IP layer, Decasper handles only the IP
`
`format, which it carefully preserves when processing packets.
`
`As an IP router, Decasper is not designed to process messages, in part, because it does
`
`not necessarily see all packets in a message and also because the IP protocol does not provide for
`
`4
`
`In support of several of these patentable distinctions with respect to both Descasper and Kerr, Patent Owner
`presents the declaration of Dr. Eugene Ng. (Ex. 1). The declaration should be considered for the reasons set forth in
`section V, infra.
`
`14069-v4/1048-0030
`
`14
`
`Juniper Ex. 1020-p. 17
`Juniper v Implicit
`
`

`

`any ability to define message boundaries. In fact, Decasper's router is not designed to recognize
`
`when a packet marks the start of a new message or when a packet marks the end of that message.
`
`Instead, Decasper is designed to route or forward IP packets on an individual basis, and the
`
`processing of each packet is done without regard to any other packets in the system. Put simply,
`
`the fact that two packets might belong to the same flow does not change the processing of either
`
`packet in Decasper. On the contrary, the processing of one packet in a message has a direct
`
`impact

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