throbber

`
`CORRECTED
`VERSION*
`
`PCT
`
`
`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`lntemauonal Bureau
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(51) International Patent Classification 6 1
`H04L 12/00
`
`(11) International Publication Number:
`
`WO 97/23076
`
`(43) International Publication Date:
`
`26 June 1997 (26.06.97)
`
`Los Angeles, CA 90071-2066 (US).
`
`(21) International Application Number:
`
`PCT/US96/20779
`
`-
`
`(22) International Filing Date:
`
`13 December 1996 (13.12.96)
`
`(81) Designated States: AU, CA, CN, IL, JP, MX, SG, European
`patent (AT, BE, CH, DE, DK, ES, FI, FR, GB. GR, IE, IT,
`LU, MC, NL, PT, SE).
`
`(30) Priority Data:
`08/575,506
`
`20 December 1995 (20.12.95)
`
`US
`
`(71) Applicant: N B NETWORKS [US/US]; 7 Argonaut, Aliso
`Viejo, CA 92656 (US).
`
`(72) lnventors: BAKER, Peter, D.; 36 Blackbird Lane, Aliso Viejo,
`CA 92656 (US). NEAL, Karen; 1326 Saltair Avenue #6,
`Los Angeles, CA 90025 (US).
`
`(74) Agents: BROGAN, James, P. et a1.; Lyon & Lyon L.L.P., First
`Interstate World Center, Suite 4600, 633 West Fifth Street,
`
`Published
`With international search report.
`Before the expiration of the time limit for amending the
`claims and to be republished in the event of the receipt of
`amendments.
`
`(54) Title: SYSTEM AND METHOD FOR GENERAL PURPOSE NETWORK ANALYSIS
`
`STORAGE
`
`’I\-/ 74
`
`
`
`
`
`
`PROTOCOL
`
`‘.
`'NPUT
`DESCRIPTION
`OUTPUT
`iDEVlCES
`FILES
`DEVICES
`
`
`
`78
`
`
`
`NETWORK DEVICE
`CONTROL
`LOGIC
`
`
`
`‘—‘—_—J\/
`
`I 6
`
`(57) Abstract
`
`.A network interface system and related methods. A single logic control module, which may be implemented in hardware or software,
`.
`‘
`15 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.
`
`. (Referred to in PCT Gazette No. 44/1997, Section II)
`
`NOAC EX. 1013 Page 1
`
`1
`
`1
`
`NOAC Ex. 1013 Page 1
`
`

`

`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international
`applications under the PCT.
`
`AM
`AT
`AU
`BB
`
`BF
`3G
`8.]
`BR
`BY
`CA
`CF
`CG
`
`CI
`CM
`CN
`CS
`CZ
`DE
`DK
`EE
`ES
`Fl
`FR
`GA
`
`Armenia
`Austria
`Australia
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`COte d'lvoire
`Cameroon
`China
`Czechoslovakia
`Czech Republic
`Germany
`Denmark
`Estonia
`Spain
`Finland
`France
`Gabon
`
`Viet Nam
`
`United Kingdom
`Georgia
`Guinea
`Greece
`Hungary
`lreland
`Italy
`Japan
`Kenya
`Kyrgystart
`Democratic People‘s Republic
`of Korea
`Republic of Korea
`Kazakhstan
`Liechtenstein
`Sri Lanka
`Liberia
`Lithuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`Mali
`Mongolia
`Mauritania
`
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`
`NOAC EX. 1013 Page 2
`
`2
`
`NOAC Ex. 1013 Page 2
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`l
`
`W
`
`m
`
`d
`
`Pur
`
`se
`
`rk
`
`Igghnigal Eield
`
`The
`
`present
`
`invention
`
`relates
`
`to
`
`network
`
`communications
`
`systems and,
`
`in particular,
`
`to improved
`
`systems and methods for parsing, filtering, generating and
`
`analyzing data composed of inter-related structures such
`
`as protocols found within network frames.
`
`W E
`
`xisting network interface devices provide systems
`
`for
`
`receiving,
`
`analyzing,
`
`filtering and
`
`transmitting
`
`network data or
`
`frames of data.
`
`Network Protocol
`
`Analyzers, Bridges, and Routers are among the most common
`
`network interface devices currently available.
`
`Conventional network protocol analyzers provide, for
`
`a predefined set of network frame structures or protocols,
`
`a system for monitoring the activity of a network and the
`
`stations on it by allowing network traffic to be captured
`
`and stored for
`
`later analysis.
`
`Common capture
`
`and
`
`analysis capabilities include the gathering of statistics,
`
`subsequent report generation,
`
`the ability to filter frames
`
`based on specific criteria, and the ability to generate
`network traffic.
`
`Bridges and routers are network devices that pass
`frames from one network interface to another.
`Bridges
`
`operate at the data—link layer and routers at the network
`
`Like protocol
`reference model.
`the OSI
`of
`layer
`analyzers, both bridges and routers may gather statistics
`
`and filter incoming network frames based on specific
`criteria, however incoming frames also may be forwarded to
`
`10
`
`15
`
`20
`
`25
`
`30
`
`other networks based on information collected by the
`bridge or
`router.
`Routers
`typically'
`support only a
`limited number of network protocols.
`
`NOAC EX. 1013 Page 3
`
`3
`
`3
`
`NOAC Ex. 1013 Page 3
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`2
`
`Each of these network devices requires an ability to
`
`separate network frames
`
`into individual protocols and
`
`their components
`
`(typically referred to as parsing),
`
`an
`
`ability to filter incoming frames based on a
`
`logical
`
`combination of one or more field values extracted during
`
`parsing, and an ability to gather statistics based in part
`
`on extracted field values. Typically, it is a requirement
`
`that network frames be received, analyzed and forwarded at
`
`full network speeds, sometimes on many different networks
`
`10
`
`at one time.
`
`A frame filter consists of one or more criteria which
`
`specify one or more valid values for a frame (or segments
`
`of
`
`a
`
`frame).
`
`Frame
`
`filtering criteria are typically
`
`implemented using an offset
`
`(from frame or protocol header
`
`15
`
`start),
`
`a length in bits which defines a field,
`
`a value
`
`for comparison, and mask values for identifying relevant
`
`and irrelevant bits within the field.
`
`For multiple value
`
`filter criteria,
`
`the result
`
`from each filter value is
`
`logically' OR'ed together
`
`to obtain an overall
`
`result.
`
`20
`
`Therefore, each additional result adds to the processing
`
`required,
`
`to filter a given field.
`
`For filtering on
`
`optional protocol fields that do not occur at
`
`the same
`
`relative offset
`
`in each protocol
`
`frame,
`
`this method is
`
`time-consuming.
`
`Thus,
`
`it would be desirable to perform
`
`25
`
`filtering on both fixed and optional variable offset
`
`fields for any number of
`
`'values or
`
`ranges of values
`
`without incurring any additional overhead.
`
`Parsing,
`
`the process wherein network frames are
`
`broken up into their individual protocols and fields,
`
`is
`
`3O
`
`necessary for filtering with offsets relative to protocol
`
`headers, gathering field based statistics, generating
`
`network traffic,
`
`routing data frames, verifying field
`
`values, and displaying network frames in human readable
`
`form.
`
`In conventional systems,
`
`the parsing process has an
`
`35
`
`overall structure which incorporates control
`logic for
`each supported protocol.
`Therefore, additional control
`logic must be developed when support for a new protocol is
`
`NOAC EX. 1013 Page 4
`
`4
`
`4
`
`NOAC Ex. 1013 Page 4
`
`

`

`WO 97/23076
`
`PCTIUS96/20779
`
`3
`
`added to a conventional system.
`
`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.
`
`Further, although microprocessors (or
`
`CPUs) avail-
`
`able today can execute tens or even hundreds of millions
`
`of
`
`instructions per second, vendors often must provide
`
`dedicated hardware assistance and/or front-end processors
`
`with hand-coded assembly language routines to achieve the
`
`necessary processing rates for more
`
`than. one pair of
`
`networks. Unfortunately,
`
`this solution requires hardware
`
`and/or software modifications whenever changes are made to
`
`the number of supported features or protocols.
`
`Finally, as networks become larger and more complex,
`
`the maintenance of a comprehensive statistics database by
`
`each network device becomes more important. Because these
`
`statistics databases
`
`typically are not utilized by a
`
`maintaining device, but instead are collected by a network
`
`management device,
`
`the collection process may affect
`
`performance adversely without any corresponding benefit to
`
`10
`
`15
`
`20
`
`25
`
`the collecting device.
`
`In light of the considerations discussed above, it is
`
`believed that a network interface system having a con—
`
`figurable protocol analysis capability with common control
`
`logic applicable to many different network devices would
`
`30
`
`be highly desirable.
`
`W T
`
`he present invention is directed to improved systems
`
`and methods
`
`for parsing,
`
`filtering,
`
`generating and
`
`analyzing data (or frames of data)
`
`transmitted over a data
`
`35
`
`communications network.
`
`In one particularly innovative
`
`aspect of the present
`
`invention, a single logic control
`
`NOAC EX. 1013 Page 5
`
`5
`
`5
`
`NOAC Ex. 1013 Page 5
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`4
`
`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.
`
`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 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 modifica-
`
`tions (for example,
`
`the use of different data transmission
`
`hardware,
`
`protocols
`
`or
`
`protocol
`
`suites)
`
`without
`
`necessitating substantial system changes.
`
`10
`
`15
`
`20
`
`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
`
`25
`
`selectively programmed parsing,
`
`filtering,
`
`statistics
`
`gathering, and display requests. 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
`
`3O
`
`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
`
`35
`
`storage devices.
`
`The protocol descriptions may take the
`
`form of one or more protocol description files for each
`
`supported network protocol and may include a protocol
`
`NOAC EX. 1013 Page 6
`
`6
`
`6
`
`NOAC Ex. 1013 Page 6
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`5
`
`header record and plurality of field sub—records having
`
`data corresponding to an associated protocol and fields
`
`defined therein.
`
`The system of the present
`
`invention also preferably
`
`includes logic for extracting field values from particular
`
`network frames, performing validation and error checking,
`
`and making parsing decisions based upon field values and
`
`information in the programmably configurable protocol
`
`descriptions.
`
`The system of the present
`
`invention also preferably
`
`includes logic for filtering a subset of network frames
`
`received from the input or storage devices which satisfy
`
`a filter criteria based upon information defined in the
`
`programmably configurable protocol descriptions.
`
`The system of the present
`
`invention also preferably
`
`includes logic for filtering network frames which satisfy
`
`a plurality of filter criteria which,
`
`if desired, may be
`
`joined together by Boolean operators.
`
`The system of the present
`
`invention also preferably
`
`includes logic for analyzing a filter request by breaking
`
`the request
`
`into its component criteria to determine
`
`whether
`
`the result
`
`from evaluating a particular filter
`
`request criteria when combined with results from earlier
`
`criteria can be used to filter (i.e. discard) a particular
`
`10
`
`15
`
`20
`
`25
`
`network frame.
`
`The system of the present
`
`invention also preferably
`
`includes
`
`logic
`
`for collecting statistics based upon
`
`extracted field values satisfying a statistics criteria
`
`based upon information defined in the programmably con-
`
`figurable protocol descriptions.
`
`The system of the present
`
`invention also preferably
`
`includes logic for determining a next protocol description
`
`structure required to continue analyzing a network frame.
`
`The system of the present
`
`invention also preferably
`
`includes
`
`logic
`
`for determining a
`
`frame
`
`length and
`
`individual protocol header lengths from extracted field
`
`values in a network frame.
`
`3O
`
`35
`
`NOAC EX. 1013 Page 7
`
`7
`
`7
`
`NOAC Ex. 1013 Page 7
`
`

`

`WO 97/23076
`
`PCT/US96/ZO779
`
`6
`
`The system of the present
`
`invention also preferably
`
`includes logic for making routing decisions based upon
`
`information contained le the programmably configurable
`
`protocol descriptions.
`
`The system of the present
`
`invention also preferably
`
`includes logic for determining display formats based on
`
`information contained le the programmably configurable
`
`protocol descriptions.
`
`The system of the present
`
`invention also preferably
`
`includes logic for verifying individual field values and
`
`making parsing decisions based on the validity of
`
`the
`
`value.
`
`The system of the present
`
`invention also preferably
`
`includes logic for constructing and transmitting network
`
`frames with varying field contents based on information
`
`contained
`
`in the
`
`programmably
`
`configurable protocol
`
`10
`
`15
`
`descriptions.
`
`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.
`
`Further,
`
`the
`
`system of
`
`the
`
`present
`
`invention
`
`is
`
`particularly efficient where operations must be performed
`
`25
`
`on a subset of included fields.
`
`Those skilled in the art will
`
`recognize that
`
`the
`
`system of the present invention gains a distinct advantage
`
`in size and maintainability over conventional network
`
`devices by implementing analysis capabilities for multiple
`
`30
`
`known and unknown protocols using common control
`
`logic.
`
`Furthermore,
`
`the systenl gains a (distinct advantage in
`
`speed and efficiency over conventional network devices
`
`when the control
`
`logic is implemented in hardware or a
`
`front-end processor, without
`
`incurring the penalty of
`
`35
`
`additional
`
`hardware
`
`and/or
`
`software
`
`development when
`
`protocol definitions change.
`
`NOAC EX. 1013 Page 8
`
`8
`
`8
`
`NOAC Ex. 1013 Page 8
`
`

`

`W0 9703076
`
`PCTlUS96/20779
`
`7
`
`Accordingly, it is an object of the present invention
`
`to provide an improved system for network analysis wherein
`
`the
`
`system may determine which protocols
`
`and which
`
`protocol fields exist
`
`in a network frame (also referred
`
`herein as parsing) using common control
`
`logic combined
`
`with configurable protocol descriptions.
`
`It is yet another object of the present invention to
`
`provide an improved system for network analysis wherein
`
`the control
`
`logic may be implemented in hardware as well
`
`10
`
`as software.
`
`It is yet another object of the present invention to
`
`provide an improved system for network analysis wherein
`
`each supported analysis capability is configurable even
`
`when the control logic is implemented in hardware.
`
`It
`
`is another object of
`
`the present
`
`invention to
`
`provide an improved system for network analysis wherein
`
`the systenl may' determine whethex‘
`
`a, particular network
`
`frame includes a field that satisfies a particular filter
`
`criteria based upon information stored in a programmably
`
`configurable protocol description.
`
`It is yet another object of the present invention to
`
`provide an improved system for network analysis wherein
`
`the system may determine if a particular network frame
`
`includes a protocol
`
`field that satisfies a. particular
`
`statistics gathering criteria defined in a programmably
`
`configurable protocol description.
`
`It is yet another object of the present invention to
`
`provide an improved system for network analysis wherein
`
`the system may generate network traffic in the form of
`
`frames constructed from selected protocol descriptions
`
`with the ability to specify a variety of methods
`
`for
`
`varying individual field values.
`
`It is still another object of the present
`
`invention
`
`to provide an improved system for network analysis wherein
`
`the
`
`system may
`
`route network
`
`frames
`
`(determine
`
`the
`
`appropriate
`
`destination
`
`interface)
`
`that
`
`satisfy
`
`a
`
`particular‘
`
`routing criteria defined in a programmably
`
`15
`
`20
`
`25
`
`3O
`
`35
`
`NOAC EX. 1013 Page 9
`
`9
`
`9
`
`NOAC Ex. 1013 Page 9
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`8
`
`configurable protocol description while providing
`
`a
`
`capability to specify a variety of methods for varying
`
`individual field values during the routing process.
`
`It is still another object of the present
`
`invention
`
`to provide an improved system for network analysis wherein
`
`the system may determine if a particular network frame
`
`includes a protocol field that contains a value related to
`
`either the overall
`
`length of
`
`the frame or the current
`
`protocol header length.
`
`10
`
`E'EI
`
`'I'
`
`:EIJL .
`
`Fig.
`
`l
`
`is a block diagram of a network interface
`
`system in accordance with one
`
`form of
`
`the present
`
`invention.
`
`Fig.
`
`2
`
`is a diagram representing a set of data
`
`15
`
`records of a typical network frame which may be contained
`
`in the data
`
`files of
`
`the network interface system
`
`illustrated in Fig. 1.
`
`Fig.
`
`3
`
`is a diagram representing a set of data
`
`records of a protocol description in accordance with one
`
`20
`
`form of the present invention.
`
`Fig. 4 is a diagram representing a control record of
`
`an Ethernet protocol description which may be utilized in
`
`a network interface system in accordance with one form of
`
`the present invention.
`
`25
`
`Fig. 4a is a diagram representing five defined field
`
`sub—records
`
`of
`
`the
`
`Ethernet
`
`protocol
`
`description
`
`illustrated in Fig. 4.
`
`Figs. 4b, 4c, and 4d are diagrams representing lockup
`
`structures referenced in Fig.
`
`4a
`
`fields 0,
`
`2
`
`and 4
`
`30
`
`respectively.
`
`Fig.
`
`5 is a diagram representing a control record of
`
`an imaginary Generic Protocol description which may be
`
`utilized in a network interface system in accordance with
`
`one form of the present invention.
`
`NOAC EX. 1013 Page 10
`
`10
`
`10
`
`NOAC Ex. 1013 Page 10
`
`

`

`WO 97/23076
`
`I
`
`PCT/US96/20779
`
`9
`
`Fig.
`
`5a
`
`is a diagranl representing eleven defined
`
`field sub-records of
`
`the GP description illustrated in
`
`Fig. 5.
`
`Figs. 5b, Sc, 5d, and Se are diagrams representing
`
`lookup structures referenced in Fig. 5(a) fields 1, 3,
`
`7
`
`and 8, respectively.
`
`Figs. 6, 6a,
`
`and 6b are diagrams representing the
`
`control
`
`record and
`
`field sub—record of
`
`a protocol
`
`description structure that allows parsing of optional
`
`fields of the GP description shown in Figs.
`
`5 - 5e.
`
`Figs. 7, 7a,
`
`and 7b are diagrams representing the
`
`control
`
`record and
`
`field sub—records of
`
`a protocol
`
`description structure that describes
`
`the End Of List
`
`option of the GP description shown in Figs.
`
`5 — Se.
`
`Figs. 8, 8a, and 8b are diagrams representing the
`
`control
`
`record and
`
`field sub—records of
`
`a protocol
`
`description structure that describes the No Operation
`
`option of the GP description shown in Figs.
`
`5 - Se.
`
`Figs. 9, 9a, and 9b are diagrams representing the
`
`control record and field records of a protocol description
`
`file that describes the Maximum Frame Size option of the
`
`GP description shown in Figs. 5 - 5e.
`
`Figs. 10, 10a, 10b, 10c, 10d and ice are diagrams
`
`representing data records of a filter expression control
`
`and associated field filter structures.
`
`Fig. 11 is a flow chart illustrating top level frame
`
`parsing control
`
`logic in accordance with one form of the
`
`present invention.
`
`Fig. 12 is a flow chart illustrating protocol parsing
`
`logic in accordance with one form of the present
`control
`invention.
`
`Fig. 13 is a flow chart of the field parsing control
`
`in accordance with one
`logic
`invention.
`
`form of
`
`the present
`
`Fig.
`
`14
`
`is
`
`a
`
`flow chart
`
`representing
`
`value
`
`verification, error checking, next protocol and branch
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`NOAC EX. 1013 Page 11
`
`11
`
`11
`
`NOAC Ex. 1013 Page 11
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`10
`
`determination control logic in accordance with one form of
`
`the present invention.
`
`Fig. 15 is a flow chart representing field filtering
`
`control
`
`logic in accordance with one form of the present
`
`invention.
`
`Fig.
`
`16
`
`is 21
`
`flow chart
`
`illustrating field value
`
`extraction and varying control
`
`logic in accordance with
`
`one form of the present invention.
`
`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
`
`>15
`
`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
`
`20
`
`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 sub-
`
`records, which together may describe a subset of a network
`
`25
`
`protocol and include rules for analyzing that protocol.
`
`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
`
`30
`
`criteria contained in one or more
`
`of
`
`the protocol
`
`The network device control logic 16
`description files 22.
`also includes logic for determining frame and protocol
`
`header
`
`lengths, gathering statistics, verification and
`
`error checking, determining routes, varying values, and
`
`35
`
`formatting output.
`
`NOAC EX. 1013 Page 12
`
`12
`
`12
`
`NOAC Ex. 1013 Page 12
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`11
`
`A personal computer or conventional network device,
`
`such as an IBM PC (or compatible), Apple Macintosh®, or
`
`any Unix®, or Zenix® workstation, protocol analyzer,
`
`bridge, router,
`
`traffic generator, or similar system may
`
`be utilized in accordance with the system of the present
`
`invention.
`
`The data input devices 12 may comprise any of
`
`a number of
`
`commercially available network interface
`
`devices and may include a conventional keyboard or mouse
`
`if required.
`
`The data storage devices 14 may take the
`
`form of any of a number of commercially available data
`
`storage options (such as RAM, ROM, EPROM, or various sized
`
`fixed disk drives), and the data output devices 18 may
`
`comprise any of a number of commercially available user
`
`interface devices, such as CRT displays, monitors, network
`
`interface devices and/or printers
`
`(if
`
`required).
`
`The
`
`analysis control logic 16 may be implemented as a computer
`
`program. written in any language suitable for
`
`systems
`
`programming or may be implemented in hardware if better
`
`performance is required.
`
`In one presently preferred form,
`
`the analysis control
`
`logic 16 may be implemented via the
`
`programming files set
`
`forth in the attached Appendix,
`
`which is herein incorporated by reference. However,
`
`those
`
`skilled in the art will appreciate that
`
`the analysis
`
`control
`
`logic 16 ndght equivalently be implemented in
`
`dedicated hardware using,
`
`for
`
`example,
`
`one or more
`
`application specific integrated circuits ("ASICS") or one
`
`or more field programmable gate arrays ("FPGAs").
`
`The network interface system 10 of
`
`the present
`
`invention is preferably implemented
`
`on
`
`a
`
`personal
`
`computer, workstation or
`
`conventional network device
`
`having a
`
`32—bit or
`
`larger bus
`
`and register set,
`
`an
`
`optional math co-processor, at
`
`least one megabyte of
`
`available RAM, and for personal computer and workstation
`
`applications, a fixed disk having at least 10 megabytes of
`
`available storage space.
`
`As
`
`shown
`
`in the attached
`
`Appendix,
`
`the analysis control logic 16 may be programmed
`
`in the C++ language, with abstract data types defined for
`
`NOAC EX. 1013 Page 13
`
`13
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`13
`
`NOAC Ex. 1013 Page 13
`
`

`

`wo 97123076
`
`'
`
`PCT/US96/20779
`
`12
`
`statistics gathering, value verification, next protocol
`
`determination, filtering, varying values, checksumming and
`
`route determination capabilities, and protocol control and
`
`field records.
`
`5
`
`Referring now to Fig. 2, a data file 20 in accordance
`
`with. one
`
`forn1 of
`
`the present
`
`invention. may include a
`
`plurality (n) of protocol header data records and optional
`
`Data and Pad records.
`
`Each protocol record contains data
`
`organized into a plurality of predefined fields.
`
`Each
`
`10
`
`field comprises a collection of 1 or more contiguous bits
`
`and includes a set of valid values for that field.
`
`For
`
`example, a particular protocol specification might include
`
`ea
`
`6 bit header
`
`length field that
`
`limits the protocol
`
`header
`
`length to values between 20
`
`and 60
`
`inclusive,
`
`15
`
`thereby excluding values less than 20 and values from 61
`
`to 64.
`
`The number of possible contiguous bit fields for a
`
`protocol header of length N bits where N is greater than
`
`1 can be expressed by the following formula:
`N
`21'
`1:1
`
`Number of Possible Fields =
`
`20
`
`It will be appreciated by those skilled in the art that
`
`any possible organization of
`
`fields for any possible
`
`protocol specification is contemplated for
`
`the network
`
`interface system 10 of the present invention.
`
`25
`
`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
`
`30 Table 1) may define the overall structure of a network
`
`protocol and reference other information relating to the
`
`network protocol.
`
`NOAC EX. 1013 Page 14
`
`14
`
`14
`
`NOAC Ex. 1013 Page 14
`
`

`

`WO 97/23076
`
`PCTfUS96/20779
`
`
`
`
`
`
`
`
`length of protocol name in bytes including NULL
`
`
`
`terminator
`
`5
`
`lo
`
`
`
`name of file control record is stored in
`
`total bit length of protocol header control record is
`
`describing
`
`
`
`
`-_‘
`--_|
`
`pointer to option control record to use if this
`
`
`
`
`
`
`15 Ml_ Wscificytin L ,
`
`
`
`
`
`protocol has optional fields
`
`
`
`
`The field records referenced at bytes 28-31 in the
`
`table above are preferably organized as shown in Table 2:
`
`TABLE 2
`
`F—V ’
`
`
`
`
`
`20
`
`
`
`
`flag indicating value is actual length of frame
`
`
`
`
`
`(multiplier)
`
`’ "W ' b” W’———rr—’ __,_.__.l______ "' “w ‘ "—‘——x—|
`
`
`
`-n byte offset from start of protocol header of 32—bit field
`
`
`
`containing value
`
`25
`
`
`
`NOAC EX. 1013 Page 15
`
`15
`
`
`
`
`15
`
`NOAC Ex. 1013 Page 15
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`l4
`
`
`number indicating a. display type (i.e., decimal, hex,
`
`.
`.
`. )
`
`
`flag indicating value is actual length of protocol header
`
`
`(multiplier)
`
`not used
`
`pad byte to align following fields
`
`multiplier to apply to value prior to display
`
`18
`
`{swap
`
`flag indicating the need to swap bytes and words in 32-
`
`
`
`bit field containing value
`
`
`
`
`}
`
`
`
`
`
`
`
`
`
`
`definition to use (O-none) I_
`m—_
`
`
`
`fsdspfield
`
`flag indicating that this field should be displayed
`
`pointer to configured statistics structure/class (Oxnone)
`
`28-31
`
`ptanp
`
`pointer to lockup structure/class . .. next protocol
`
`10
`
`
`
`The statistics records referenced in Table 2, above,
`
`15
`
`at bytes 24—27 are preferably organized as shown in Table
`
`3:
`
`
`
`STATISTICS STRUCTURE/CLASS RECORD
`
`
`
`
`
`-Jm
`
`
` 20
`pointer to user assigned name for statistic
`
`
`pointer to derived structure/class for accumulating
`
`configured statistic
`
`
`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:
`
`NOAC EX. 1013 Page 16
`
`16
`
`16
`
`NOAC Ex. 1013 Page 16
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`TABLE 4
`
`
`15
`
`
`
`LOOKUP STRUCTURE RECORD
`
`pointer to protocol description structure
`
`
`
`
`
`
`
`
`
`-_
`
`
`
`_
`
`4-7
`
`Next Index
`
`index of field in protocol description to parse next
`
`10
`
`15
`
`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.
`
`The vary field value records referenced in the field
`
`sub-record table (Table 2) at bytes 32—35 are preferably
`
`20
`
`organized as shown in Table 5:
`
`25
`
`minimum allowable value for field hits (relative to
`
`value to apply to field bits (relative to field)
`
`mask for isolating bits not in field
`
`NOAC EX. 1013 Page 17
`
`17
`
`17
`
`NOAC Ex. 1013 Page 17
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`16
`
`The checksum records referenced in the field sub-
`
`record table (Table 2) at bytes 36—39 are preferably
`
`organized as shown in Table 6:
`
`
`
`
`
`CHECKSUM RECORD
`L_M7
`Offse
`_-pointer to routine to verify protocol checksum
`
`-_ pointer to routine to compute protocol checksum
`
`
`
`
`
`
`
`
`
`
`The filter criteria records referenced in the field
`
`10
`
`sub—record table (Table 2) at bytes 40—43 are preferably
`
`organized as shown in Table 7:
`
`
`
`FILTER CRITERIA RECORD
`L
`1
`umindex of this filter criteria (zero--baaed)
`— ChPtr
`pointer to parent filter channel
`
`
`
`
`pointer to lookup structure containing all possible field
`
`values
`
`
`
`
`
`
`
`15
`
`
`
`-- pointer toassociatedprotocol definition for this
`
`
`criteria
`
`
`16- 19
`
`
`
`pointer to associated field definition for this criteria
`
`20
`
`The filter channel records referenced in the Filter
`
`Criteria record (Table 7)
`
`above at 4-7 are preferably
`
`organized as shown in Table 8:
`
`NOAC EX. 1013 Page 18
`
`18
`
`18
`
`NOAC Ex. 1013 Page 18
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`17
`
`TABLE 8
`
`FILTER CHANNEL RECORD
`
`
`
`extCriteriaI
` index of next criteria that should be applied to this
`ndex
`filter
`
` _ N
`
`i]
`
`
`
`
`
`
`
`
`
`TotalCriteria
`
`number of criteria required to implement this filter
`
`pointer to array of TotalCriteria criteria structures
`
`12-15
`
`
`
`
`ChannelName
`
`
`pointer to user supplied filter channel name
`
`
`
`Each configured filter consists of one or more filter
`
`criteria and the filter criteria may be organized into
`
`10
`
`Filter Criteria records.
`
`The Filter Criteria records may
`
`refer to lookup structures which allow the filter criteria
`
`to determine from a field value the current state of the
`
`filter expression at each criteria.
`
`These states may
`
`include:
`
`PASS_FRAME (accept this frame) and FILTER_FRAME
`
`15
`
`(discard this frame).
`
`The NextCriteriaIndex field referenced in Table 8
`
`above at bytes 0-3 is used to ensure that all filter
`
`expressions are applied in the required order.
`
`The Ptl
`
`and Fld fields at bytes 12-19 allow filter criteria to be
`
`associated with specific protocols and protocol fields.
`
`The
`
`lockup records
`
`referenced in the Filter Criteria
`
`record (Table 7) at bytes 8-11 are preferably organized as
`
`shown in Table 9:
`
`TABLE 9
`
`
`
`
`
`FILTER LOOKUP STRUCTURE RECORD
`
`20
`
`25
`
`
`
`
`Offset_
`
`
`
`
`Return
`
`Value
`
`PASS_FRAME, FILTER_FRAME value range result
`
`-“ index of field in Filter Expression structure
`
`12—15
`
`maximum accevtable value for this ran-e
`
`minimum acceptable value for this range
`
`NOAC EX. 1013 Page 19
`
`19
`
`
`
`
`
`
`
`
`30
`
`19
`
`NOAC Ex. 1013 Page 19
`
`

`

`WO 97/23076
`
`PCT/US96/20779
`
`18
`
`
`
`20—23
`
`
`
`
`pointer to associated human language equivalent
`
`selects EVEN, ODD or all values in range
`
`
`
`The Route Table records referenced in the Field Sub-
`
`Records table (Table 2) at bytes 44—47 are preferably
`
`5 organized as shown in Table 10:
`
`TABLE 10
`
`
`|ROUTE TABLE RECORD
`
`
`-Jm
`
`
`
`
`mask for extracting 1 to 96 bits from protocol header
`
`
`route field
`
`
`
`
`
`0-11
`
`NetMaak
`
`12-15
`
`
`16-19
`
`
`
`number of entries in Route Table
`
`
`pointer to

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket