throbber
EXHIBIT B7
`
`Summary of Invalidity Analysis of U.S. Patent No. 6,665,725 (“’725 Patent”) in view of
`U.S. Patent No. 6,412,000 (“Riddle”), further in view of WO 97/23076 (“Baker”),
`and further in view of U.S. Patent No. 6,625,150 (“Yu”)
`
`U.S. Patent No. 6,412,000, issued on June 25, 2002, qualifies as prior art to the ’725 Patent under at least Pre-AIA 35 U.S.C. §
`102(e) because it was filed on November 23, 1998, before the June 30, 1999 filing date of the provisional application to which the
`’725 Patent claims priority. Riddle further qualifies as prior art to the ’725 Patent under at least Pre-AIA 35 U.S.C. § 102(e) since a
`U.S. patent has an effective prior art date under pre-AIA 35 U.S.C. §102(e) based on the filing date of an earlier-filed patent
`application if the patent’s relevant subject matter is described in the earlier-filed application, and at least one of the patent’s claims is
`supported by the earlier-filed application’s written description in compliance with pre-AIA 35 U.S.C. §112, first paragraph. The
`application that issued as Riddle was filed on November 23, 1998. Riddle claims priority to U.S. Provisional Patent Application No.
`60/066,864 (“’864 Provisional”), which was filed on November 25, 1997.
`Riddle and the related ’864 Provisional incorporate-by-reference the following patent applications in their entirety:
`•
`U.S. Patent Application No. 09/198,051 (“’051 Application”);
`•
`U.S. Patent Application No. 08/762,828, issued as U.S. Patent No. 5,802,106;
`•
`U.S. Patent Application No. 08/977,642 (“Packer Application”), having attorney docket number 17814-5.10, and issued
`as U.S. Patent No. 6,046,980 (“Packer”); and
`U.S. Patent Application No. 08/742,994, issued as U.S. Patent No. 6,038,216.
`
`•
`
`
`
`WO 97/23076 (“Baker”), published on June 26, 1997, qualifies as prior art to the ’725 Patent under at least Pre-AIA 35 U.S.C.
`§ 102(b) because it was published more than one year before the June 30, 1999 filing date of the provisional application to which the
`’725 Patent claims priority.
`
`
`U.S. Patent No. 6,625,150 (“Yu”), issued on September 23, 2003, qualifies as prior art to the ’725 Patent under at least Pre-
`AIA 35 U.S.C. § 102(e) since a U.S. patent has an effective prior art date under pre-AIA 35 U.S.C. §102(e) based on the filing date of
`an earlier-filed patent application if the patent’s relevant subject matter is described in the earlier-filed application, and at least one of
`the patent’s claims is supported by the earlier-filed application’s written description in compliance with pre-AIA 35 U.S.C. §112, first
`paragraph. The application that issued as Yu was filed on December 16, 1999. Yu claims priority to U.S. Provisional Patent
`Application No. 60/112,859 (“’859 Provisional”), which was filed on December 17, 1998.
`
`
`
`Packet Intelligence Ex. 2017 Page 1 of 142
`
`

`

`EXHIBIT B7
`
`Invalidity of U.S. PATENT NO. 6,665,725 in view of Riddle et al.
`CLAIM LANGUAGE
`Exemplary Citations to Riddle et al.
`INDEPENDENT CLAIM 10
`U.S. Patent No. 6,412,000 (“Riddle”) discloses a method of performing protocol
`specific operations on a packet passing through a connection point on a computer
`network.
`
`10
`
`A method of performing protocol specific
`operations on a packet passing through a
`connection point on a computer network, the
`method comprising:
`
`
`
`
`
`For example:
`
`“The method for automatically classifying heterogeneous packets in a packet
`telecommunications environment of the present invention is implemented in the C
`programming language and is operational on a computer system such as shown in FIG.
`1A. This invention may be implemented in a client-server environment, but a client-
`server environment is not essential. This figure shows a conventional client-server
`computer system which includes a server 20 and numerous clients, one of which is
`shown as client 25. The use of the term "server' is used in the context of the invention,
`wherein the server receives queries from (typically remote) clients, does substantially
`all the processing necessary to formulate responses to the queries, and provides these
`responses to the clients. However, server 20 may itself act in the capacity of a client
`when it accesses remote databases located at another node acting as a database server.
`The hardware configurations are in general standard and will be described only briefly.
`In accordance with known practice, server 20 includes one or more processors 30
`which communicate with a number of peripheral devices via a bus subsystem 32.
`These peripheral devices typically include a Storage Subsystem 35, comprised of a
`memory subsystem 35a and a file storage subsystem 35b holding computer programs
`(e.g., code or instructions) and data, a set of user interface input and output devices 37,
`and an interface to outside networks, which may employ Ethernet, Token Ring, ATM,
`IEEE 802.3, ITU X.25, Serial Link Internet Protocol (SLIP) or the public switched
`telephone network. This interface is shown schematically as a “Network Interface”
`block 40. It is coupled to corresponding interface devices in client computers via a
`network connection 45.” Riddle, 5:53-6:15.
`
`
`
`2
`
`Packet Intelligence Ex. 2017 Page 2 of 142
`
`

`

`EXHIBIT B7
`
`Riddle, Fig. 1A.
`
`
`
`
`
`
`3
`
`Packet Intelligence Ex. 2017 Page 3 of 142
`
`

`

`EXHIBIT B7
`
`
`
`Riddle, Fig. 1B.
`
`“FIG. 1C is illustrative of the internetworking of a plurality of clients such as client 25
`of FIGS. 1A and 1B and a plurality of servers such as server 20 of FIGS. 1A and 1B as
`described herein above. In FIG. 1C, network 60 is an example of a Token Ring or
`frame oriented network. Network 60 links host 61, such as an IBM RS6000 RISC
`WorkStation, which may be running the AIX operating System, to host 62, which is a
`
`
`
`4
`
`Packet Intelligence Ex. 2017 Page 4 of 142
`
`

`

`EXHIBIT B7
`
`personal computer, which may be running Windows 95, IBM OS/2 or a DOS operating
`system, and host 63, which may be an IBM AS/400 computer, which may be running
`the OS/400 operating system. Network 60 is internetworked to network 70 via a system
`gateway which is depicted here as router 75, but which may also be a gateway having a
`firewall or a network bridge. Network 70 is an example of an Ethernet network that
`interconnects host 71, which is a SPARC workstation, which may be running SUNOS
`operating system with host 72, which may be a Digital Equipment VAX6000 computer
`which may be running the VMS operating system.
`Router 75 is a network access point (NAP) of network 70 and network 60. Router 75
`employs a Token Ring adapter and Ethernet adapter. This enables router 75 to interface
`with the two heterogeneous networks. Router 75 is also aware of the Inter-network
`Protocols, such as ICMP and RIP, which are described herein below.” Riddle, 7:10-34.
`“8. A system for automatically classifying traffic in a packet telecommunications
`network, said network having any number of flows, including zero, comprising:
`a plurality of network links upon which said traffic is carried;
`a network routing means, and,
`a processor means operative to:
`parse a packet into a first flow specification, wherein said first flow specification
`contains at least one instance of any one of the following:
`a protocol family designation,
`a direction of packet flow designation,
`a protocol type designation,
`a pair of ports,
`in HTTP protocol packets, a pointer to a MIME type; thereupon,
`match the first flow specification of the parsing step to a plurality of classes
`represented by a plurality of said classification tree type nodes, each said
`classification tree type node having a traffic specification and a mask,
`according to the mask; thereupon,
`if a matching classification tree type node was not found in the matching step,
`associating said first flow specification with one or more newly-created
`classification tree type nodes, thereupon, incorporating said newly created
`classification tree type nodes into said plurality of said classification tree type
`nodes.” Riddle, Claim 8.
`
`
`
`5
`
`Packet Intelligence Ex. 2017 Page 5 of 142
`
`

`

`EXHIBIT B7
`
`10a
`
`(a) receiving the packet;
`
`
`
`Riddle, Fig. 1C.
`
`Riddle discloses this element, for example:
`
`“In a packet communication environment, a method is provided for automatically
`classifying packet flows for use in allocating bandwidth resources by a rule of
`assignment of a service level. The method comprises applying individual instances of
`traffic classification paradigms to packet network flows base on selectable information
`obtained from a plurality of layers of a multi-layered communication protocol in order
`to define a characteristic class, then mapping the flow to the defined traffic class. It is
`useful to note that the automatic classification is sufficiently robust to classify a
`complete enumeration of the possible traffic class.” Riddle, Abstract.
`
`
`“According to the invention, in a packet communication environment, a method is
`provided for automatically classifying packet flows for use in allocating bandwidth
`resources and the like by a rule of assignment of a service level. The method
`comprises applying individual instances of traffic classification paradigms to packet
`
`
`
`6
`
`Packet Intelligence Ex. 2017 Page 6 of 142
`
`

`

`EXHIBIT B7
`
`network flows based on selectable information obtained from a plurality of layers of a
`multi-layered communication protocol in order to define a characteristic class, then
`mapping the flow to the defined traffic class. It is useful to note that the automatic
`classification is sufficiently robust to classify a complete enumeration of the possible
`traffic.
`In the present invention network managers need not know the technical aspects of
`each kind of traffic in order to configure traffic classes and service aggregates bundle
`traffic to provide a convenience to the user, by clarifying processing and enables the
`user to obtain group counts of all parts comprising a service.” Riddle, 4:6-23.
`
`“1. A method for automatically classifying traffic in a packet communications network,
`said network having any number of flows, including zero, comprising the steps of:
`parsing a packet into a first flow specification, wherein said first flow specification
`contains at least one instance of any one of the following:
`a protocol family designation,
`a direction of packet flow designation,
`a protocol type designation,
`a pair of hosts,
`a pair of ports,
`in HTTP protocol packets, a pointer to a MIME type; thereupon,
`matching the first flow specification of the parsing step to a plurality of classes
`represented by a plurality nodes of a classification tree type, each said
`classification tree type node having a traffic specification; thereupon,
`if a matching classification tree type node was not found in the matching step,
`associating said first flow specification with one or more newly-created
`classification tree type nodes, thereupon,
`incorporating said newly-created classification tree type nodes into said plurality of
`classification tree type nodes.” Riddle, claim 1.
`“8. A system for automatically classifying traffic in a packet telecommunications
`network, said network having any number of flows, including zero, comprising:
`a plurality of network links upon which said traffic is carried;
`a network routing means, and,
`a processor means operative to:
`
`
`
`7
`
`Packet Intelligence Ex. 2017 Page 7 of 142
`
`

`

`EXHIBIT B7
`
`parse a packet into a first flow specification, wherein said first flow specification
`contains at least one instance of any one of the following:
`a protocol family designation,
`a direction of packet flow designation,
`a protocol type designation,
`a pair of ports,
`in HTTP protocol packets, a pointer to a MIME type; thereupon,
`match the first flow specification of the parsing step to a plurality of classes
`represented by a plurality of said classification tree type nodes, each said
`classification tree type node having a traffic specification and a mask,
`according to the mask; thereupon,
`if a matching classification tree type node was not found in the matching step,
`associating said first flow specification with one or more newly-created
`classification tree type nodes, thereupon, incorporating said newly created
`classification tree type nodes into said plurality of said classification tree type
`nodes.” Riddle, Claim 8.
`
`
`
`8
`
`Packet Intelligence Ex. 2017 Page 8 of 142
`
`

`

`EXHIBIT B7
`
`
`
`Riddle, Fig. 4A.
`
`“3.2 Automatic Traffic Classification Processing
`FIG. 3 depicts components of a system for automatically classifying traffic according
`to the invention. A traffic tree 302 in which new traffic will be classified under a
`particular member class node. A traffic classifier 304 detects services for incoming
`traffic. Alternatively, the classifier may start with a service and determine the hosts
`using it. A knowledge base 306 contains heuristics for determining traffic classes. The
`knowledge base may be embodied in a file or a relational database. In a particular
`embodiment, the knowledge is contained within a data structure resident in memory. A
`plurality of saved lists 308 stores classified traffic pending incorporation into traffic
`tree 302. In select embodiments, entries for each instance of traffic may be kept. In
`
`
`
`9
`
`Packet Intelligence Ex. 2017 Page 9 of 142
`
`

`

`EXHIBIT B7
`
`alternate embodiments, a copy of an entry and a count of duplicate copies for the entry
`is maintained.” Riddle, 12:27-41.
`
`
`
`
`Riddle, Fig. 3.
`
`To the extent Riddle does not disclose or render obvious, e.g., receiving network data,
`the combination of Riddle in further view of WO 97/23076 (“Baker”) renders obvious
`these claim elements.
`
`“In one preferred form, the system of the present invention may employ a CPU or other
`hardware implementable method for analyzing data from a network in response to
`selectively programmed parsing, filtering, statistics gathering, and display requests.
`
`
`
`10
`
`Packet Intelligence Ex. 2017 Page 10 of 142
`
`

`

`10b
`
`(b) receiving a set of protocol descriptions for a
`plurality of protocols that conform to a layered
`model, a protocol description for a particular
`protocol at a particular layer level including:
`
`EXHIBIT B7
`
`Moreover, the system of the present invention may be incorporated in a network
`device, such as a network analyzer, bridge, router, or traffic generator, including a CPU
`and a plurality of input devices, storage devices, and output devices, wherein frames of
`network data may be received from an associated network, stored in the storage
`devices, and processed by the CPU based upon one or more programmably
`configurable protocol descriptions also stored in the storage devices.” Baker, 4:22-35.
`Riddle discloses this element, for example:
`
`“This invention relates to digital packet telecommunications, and particularly to
`management of network bandwidth based on information ascertainable from multiple
`layers of OSI network model. It is particularly useful in conjunction with bandwidth
`allocation mechanisms employing traffic classification in a digitally-switched packet
`telecommunications environment, as well as in monitoring, security and routing.”
`Riddle, 1:54-61.
`
`“In a packet communication environment, a method is provided for automatically
`classifying packet flows for use in allocating bandwidth resources by a rule of
`assignment of a service level. The method comprises applying individual instances of
`traffic classification paradigms to packet network flows base on selectable information
`obtained from a plurality of layers of a multi-layered communication protocol in order
`to define a characteristic class, then mapping the flow to the defined traffic class. It is
`useful to note that the automatic classification is sufficiently robust to classify a
`complete enumeration of the possible traffic class.” Riddle, Abstract.
`
`
`“According to the invention, in a packet communication environment, a method is
`provided for automatically classifying packet flows for use in allocating bandwidth
`resources and the like by a rule of assignment of a service level. The method
`comprises applying individual instances of traffic classification paradigms to packet
`network flows based on selectable information obtained from a plurality of layers of
`a multi-layered communication protocol in order to define a characteristic class,
`then mapping the flow to the defined traffic class. It is useful to note that the
`automatic classification is sufficiently robust to classify a complete enumeration of
`the possible traffic.
`In the present invention network managers need not know the technical aspects of
`
`
`
`11
`
`Packet Intelligence Ex. 2017 Page 11 of 142
`
`

`

`EXHIBIT B7
`
`each kind of traffic in order to configure traffic classes and service aggregates bundle
`traffic to provide a convenience to the user, by clarifying processing and enables the
`user to obtain group counts of all parts comprising a service.” Riddle, 4:6-23.
`
`
`
`
`
`
`Riddle, Table 2.
`
`“Table 2 depicts components from which Traffic classes may be built.” Riddle, 9:64-
`65.
`“URI A Universal Resource Identifier is the name of the location field in a web
`reference address. It is also called a URL or Universal Resource Locator” Riddle,
`Table 1.
`
`“Network traffic is automatically classified under existing classes, beginning with the
`broadest classes, an inbound traffic class and an outbound traffic class, in protocol
`layer independent categories. For example, a particular instance of traffic may be
`classified according to its transport layer characteristics, e.g., Internet Protocol port
`
`
`
`12
`
`Packet Intelligence Ex. 2017 Page 12 of 142
`
`

`

`EXHIBIT B7
`
`number, as well as its application layer information, e.g., SMTP. Characteristics such
`as MIME types may also be automatically identified. Standard protocols, such as, IPX,
`SNA, and services, such as, SMTP and FTP are recognized for automatic
`classification. Classification is performed to the most specific level determinable. For
`example, in select embodiments, non-IP traffic, such as SNA, may be classified only
`by protocol, whereas Internet Protocol traffic may be classified to the /etc/services
`level. Classification beyond a terminal classification level is detected and prevented.
`For example, in a select embodiment, a class matching “ipx” or “nntp” will not be
`further automatically classified.” Riddle, 10:59-11:9.
`“8. A system for automatically classifying traffic in a packet telecommunications
`network, said network having any number of flows, including zero, comprising:
`a plurality of network links upon which said traffic is carried;
`a network routing means, and,
`a processor means operative to:
`parse a packet into a first flow specification, wherein said first flow specification
`contains at least one instance of any one of the following:
`a protocol family designation,
`a direction of packet flow designation,
`a protocol type designation,
`a pair of ports,
`in HTTP protocol packets, a pointer to a MIME type; thereupon,
`match the first flow specification of the parsing step to a plurality of classes
`represented by a plurality of said classification tree type nodes, each said
`classification tree type node having a traffic specification and a mask,
`according to the mask; thereupon,
`if a matching classification tree type node was not found in the matching step,
`associating said first flow specification with one or more newly-created
`classification tree type nodes, thereupon, incorporating said newly created
`classification tree type nodes into said plurality of said classification tree type
`nodes.” Riddle, Claim 8.
`“If this is so, then in a step 408, an entry is made in a list of identifying characteristics,
`such as protocol type (SAP), IP protocol number, server port, traffic type if known,
`MIME type, a time of occurrence of the traffic.” Riddle, 12:50-53.
`“The present invention provides techniques to automatically classify a plurality of
`heterogeneous packets in a packet telecommunications system for management of
`
`
`
`13
`
`Packet Intelligence Ex. 2017 Page 13 of 142
`
`

`

`EXHIBIT B7
`
`network bandwidth in systems. Such as a private area network, a wide area network or
`an internetwork. Systems according to the present invention enable network managers
`to: automatically define traffic classes, for which policies may then be created for
`specifying service levels for the traffic classes and isolating bandwidth resources
`associated with certain traffic classes.” Riddle, 4:56-65.
`
`To the extent Riddle does not disclose or render obvious, e.g., protocol descriptions for
`a plurality of protocols, the combination of Riddle in further view of Baker renders
`obvious these claim elements.
`
`For example:
`
`“A network interface system and related methods. A single logic control module,
`which may be implemented in hardware or software, is utilized to perform any of a
`number of data manipulation functions including, for example, parsing, filtering, data
`generation or analysis, based upon one or more programmably configurable protocol
`descriptions which may be stored in and retrieved from an associated memory.”
`Baker, Abstract.
`
`“Summary of Invention
`The present invention is directed to improved systems and methods for parsing,
`filtering, generating and analyzing data (or frames of data) transmitted over a data
`communications network. In one particularly innovative aspect of the present
`invention, a single logic control module, which may be implemented in hardware or
`software, is utilized to perform any of a number of data manipulation functions {for
`example, parsing, filtering, data generation or analysis functions) based upon one or
`more programmably configurable protocol descriptions which may be stored in and
`retrieved from an associated memory.” Baker, 3:32-4:6.
`
`“The use of common control logic (i.e. the use of a single logic control module) and
`programmably configurable protocol descriptions allows changes to existing protocols
`to be made and support for new protocols to be added to a system in accordance with
`the present invention through configuration only--without the need for hardware and/or
`software system modifications. Thus, those skilled in the art will appreciate that a
`
`
`
`14
`
`Packet Intelligence Ex. 2017 Page 14 of 142
`
`

`

`EXHIBIT B7
`
`
`
`network interface in accordance with the present invention may be configured and
`reconfigured, if necessary, in a highly efficient and cost effective manner to implement
`numerous data manipulation functions and to accommodate substantial network
`modifications (for example, the use of different data transmission hardware, protocols
`or protocol suites) without necessitating substantial system changes.” Baker, 4:7-21.
`
`“Moreover, the system of the present invention may be incorporated in a network
`device, such as a network analyzer, bridge, router, or traffic generator, including a
`CPU and a plurality of input devices, storage devices, and output devices, wherein
`frames of network data may be received from an associated network, stored in the
`storage devices, and processed by the CPU based upon one or more programmably
`configurable protocol descriptions also stored in the storage devices.” Baker, 4:26-35.
`
`“The system of the present invention may be employed in any system where it is useful
`to be able to examine and 20 perform various operations on contiguous bit-fields in
`data structures, wherein each data structure is composed of predefined fields of one or
`more contiguous bits.” Baker, 6:18-22.
`
`“In the presently preferred embodiment, each of these protocol description records with
`its associated field, statistics, lookup, and filter record information is also written to a
`protocol specific protocol description file (PDF).” Baker, 19:6-10.
`
`
`“Referring now to Fig. 1, a network interface system in accordance with one form of
`the present invention, generally referred to as 10, may be implemented in a network
`device including input devices 12, data storage devices 14, analysis control logic 16 for
`facilitating the input, storage, retrieval, and analysis of network frames, and output
`devices 18 for forwarding frames or displaying or printing the results of analyses. A
`data storage device 14 may include a data file 20 of network frames having n protocol
`data records, wherein each data record contains data stored in a plurality of predefined
`fields. Protocol description files 22 also may be stored in the data storage device 14.
`The protocol description files 22 may include a protocol control record and n field
`subrecords, which together may describe a subset of a network 25 protocol and include
`rules for analyzing that protocol.
`
`
`
`
`15
`
`Packet Intelligence Ex. 2017 Page 15 of 142
`
`

`

`EXHIBIT B7
`
`The network device control logic 16 is capable of retrieving a subset of network frames
`from the input devices 12 or data files 20 which satisfy one or more criteria based upon
`extracted field values and filtering criteria contained in one or more of the protocol
`description files 22. The network device control logic 16 also includes logic for
`determining frame and protocol header lengths, gathering statistics, verification and
`error checking, determining routes, varying values, and formatting output.” Baker
`10:10-35.
`
`
`Baker, Fig. 1.
`
`
`
`
`
`
`16
`
`Packet Intelligence Ex. 2017 Page 16 of 142
`
`

`

`EXHIBIT B7
`
`
`
`Baker, Fig. 3.
`
`“Referring now to Fig. 3, a protocol description file 22 in accordance with one form of
`the present invention may include a protocol control record, and a plurality (n) of field
`data records. In a particularly preferred embodiment, the protocol control record
`(shown below in Table 1) may define the overall structure of a network protocol and
`reference other information relating to the network protocol.
`
`
`
`
`17
`
`Packet Intelligence Ex. 2017 Page 17 of 142
`
`

`

`EXHIBIT B7
`
`
`The field records referenced at bytes 28-31 in the table above are preferably organized
`as shown in Table 2:
`
`
`
`
`18
`
`Packet Intelligence Ex. 2017 Page 18 of 142
`
`

`

`EXHIBIT B7
`
`
`
`
`The statistics records referenced in Table 2, above, at bytes 24-27 are preferably
`organized as shown in Table 3:
`
`
`
`
`19
`
`Packet Intelligence Ex. 2017 Page 19 of 142
`
`

`

`EXHIBIT B7
`
`
`The next protocol lookup records referenced in the field sub-record table (Table 2) at
`bytes 28-31 are preferably organized as shown in Table 4:
`
`
`
`
`
`
`
`Lookup structures can be used for determining the next protocol control record to use,
`terminating protocol processing on illegal values, branching decisions for variable
`length headers or overlapping fields, and for translation of numeric values to
`mnemonic or written language equivalents. This ability to specify branches on field
`values allows protocols with multiple overlapping structures to be specified and parsed
`dynamically.” Baker, 12:25-15:17, Tables 1, 2, 3, and 4.
`
`“In the presently preferred embodiment, the initialization of the system includes a
`determination of the presence of PDF files and the extraction of the protocol and
`associated control record information from all of the PDF files found. The number of
`PDF files is determined, and a ProtocolList is constructed consisting of a sorted vector
`
`
`
`20
`
`Packet Intelligence Ex. 2017 Page 20 of 142
`
`

`

`EXHIBIT B7
`
`of protocol records at least the size of the number of PDF files found. The name of
`each protocol record found is inserted in the ProtocolList. The PDF files are then read
`to memory in the sequence described above for the PDF file writing. The lookup
`records that indicate a next protocol are associated with the appropriate entries in the
`ProtocolList.” Baker, 20:35-21:11.
`
`“The Ethernet protocol definition described above specifies only one possible upper
`level protocol, the Generic Protocol (GP) which is indicated by placing a hexadecimal
`0x8888 value in the protocol type field.” Baker, 21:32-22:1.
`
`
`
`Baker, Tables 12, 13.
`
`“As shown in the attached Appendix, the analysis control logic 16 may be programmed
`in the C++ language, with abstract data types defined for statistics gathering, value
`verification, next protocol determination, filtering, varying values, checksumming and
`
`
`
`
`
`21
`
`Packet Intelligence Ex. 2017 Page 21 of 142
`
`

`

`EXHIBIT B7
`
`route determination capabilities, and protocol control and field records.” Baker, 11:35-
`12:4.
`
`
`
`“
`
`
`
`
`
`22
`
`Packet Intelligence Ex. 2017 Page 22 of 142
`
`

`

`if (stremp(ProtocolName, ProtocolList- > operator{](i).prot()- > filename()) = = 0)
`return(ProtocolList- > operator{|(i).prot());
`return(0);
`
`}
`
`
`
`
`
`23
`
`EXHIBIT B7
`
`} v
`
`oid setup_protocols()
`
`{ U
`
`32 number = 0;
`find_t fileblock;
`
`I [
`
`} Determine numberof protocol definitions that exist by countingfiles
`
`I i
`
`f (_dos_findfirst("*.pdf", ANORMAL, &fileblock) = = 0)
`
`{ +
`
`+number;
`} while(_dos_findnext(&fileblock) = = 0);
`
`{ d
`
`o
`
`Packet Intelligence Ex. 2017 Page 23 of 142
`
`

`

`II
`!{ Open each protocol definitionfile; create a protocol definitionin memory;insertit into the vector
`Il
`if (_dos_findfirst("*pdf", ANORMAL, &fileblock) = = 0)
`
`32 tmp;
`
`
`
`{ F
`
`ILE *fp = fopenifileblock.name, “rb");
`if (fp != 0) && (fileblock.size > 56))
`
`{ U
`
`{ d
`
`o
`
`EXHIBIT B7
`
`II
`I Setup a vector twice the size of the current number with numberfor the grow size
`
`I P
`
`rotocolList = new WCValSortedVector < protocols > {(number*2, number);
`
`
`
`24
`
`Packet Intelligence Ex. 2017 Page 24 of 142
`
`

`

`EXHIBIT B7
`
`fread(&tmp,
`
`sizeof(tmp),
`
`1,
`
`fp); // Get length of protocol name
`
`protocols p(pname,proto);
`free(pname);
`ProtocolList- > insert(p);
`}
`} while(_dos_findnext(&fileblock) = = 0);
`
`}
`
`
`
`$8 “*pname = (S8 *)malloc(tmp);
`fread(pname,
`tmp,
`1,
`fp); /] Get file name
`fclose(fp);
`protocol “proto = new protocol(pname,fileblock.name);
`
`}
`
`
`
`| 2 Do we wantto do something about duplicate protocol names here?
`
`for (U32 ii=0, jj = 1; ii < ProtocolList- > entries(); ii+ +, jj+ +)
`
`{ i
`
`f ((ii != jj) && (stremp( ProtocolList- > operator|}{ii).prot()- > pname(),
`ProtocolList- > operator[]{jj).prot()- > pname()) = = 0))
`ProtocolList- > removeAt(ij);
`
`
`
`25
`
`Packet Intelligence Ex. 2017 Page 25 of 142
`
`

`

`}
`
`protocols data("DATA", 0), pad("PAD”, 0);
`ProtocolList- > find(data, DataPtl);
`ProtocolList- > find(pad, PadPtl);
`DataPtiPtr = DataPtl.prot();
`PadPtiPtr = PadPtl.prot();
`
`{| PUT THIS IN setup_protocols()
`I] PUT THIS IN setup_protocols()
`|| PUT THIS IN setup_protocols()
`I] PUT THIS IN setup_protocols()
`|! PUT THIS IN setup_protocols()
`
`Iisetup_criteria();
`
`/{ filter channels are setup - tie criteria to fields
`
`
`
`26
`
`
`
`
`
`EXHIBIT B7
`
`I I
`
`! Open each protocol definitionfile; create all required data structures
`II
`if (_dos_findfirst("*.pdf", ANORMAL, &fileblock) = = 0)
`
`{ F
`
`ILE *fp = fopent(fileblock.name, rb");
`if (fp != 0) && (fileblock.size > 56))
`
`{ p
`
`// Reads name_length and name
`rotocols p(fp), t;
`if (ProtocolList- > find(p, t) != FALSE)
`
`t.prot()- > get_from_file(fp);
`fclose(fp);
`}
`} while(_dos_findnext(&fileblock) = = 0);
`
`{ d
`
`o
`
`}
`
`Packet Intelligence Ex. 2017 Page 26 of 142
`
`

`

`Strcpy(strrchr(pname,'.'), "\0 ");
`strepy(pname,(strrchripname,'\\')+ 1));
`strcpy(szFileName, (strrchr(szFileName,‘\\")+ 1));
`
`} while(_dos_findnext(&fileblock) = = 0);
`
`
`
`
`
`27
`
`EXHIBIT B7
`
`protoco! “setup_newprotocol(S8* szFileName)
`
`{ U
`
`32 number =0;
`find_tfileblock;
`S8 “pname = (S8 *)malloc(50);
`
`I S
`
`trcpy(pname,szFileName);
`
`I I
`
`l See if there are any protocols
`
`I i
`
`f (_dos_findfirst("*.pdf", ANORMAL,&fileblock) = = 0)
`
`+number;
`
`{ +
`
`{ d
`
`o
`
`“””’
`
`Packet Intelligence Ex. 2017 Page 27 of 142
`
`

`

`EXHIBIT B7
`
`
`
`Baker, 126:20-132:24.
`
`28
`
`Packet Intelligence Ex. 2017 Page 28 of 142
`
`

`

`EXHIBIT B7
`
`
`“[E]ach of these protocol description records with its associated field, statistics,
`lookup, and filter record information is also written to a protocol specific protocol
`description file (PDF).” Baker, 19:7-10.
`
`“As the development of additional control logic, whether implemented in hardware or
`software, may be both time consuming and expensive, it would be highly desirable to
`be able to parse all protocols with a single configurable software (or hardware) module
`so that support for additional protocols could be added to a system without requiring
`substantial modification to the system or its control logic.” Baker, 3:1-8.
`
` A
`
` POSITA would have understood that Baker’s PDFs are protocol descriptions
`provided in a protocol description language. This is because, upon initialization, Baker
`teaches that the system is ab

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