throbber
PCI‘
`
`International Bureau
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`
`
`
`(51) International Patent Classification 5 =
`(11) International Publication Number:
`W0 92/19054
`
`
`H04J 3/14, 3/24, H04L 12/56
`
`
`(43) International Publication Date:
`29 October 1992 (29.10.92)
`
`
`(21) International Application Number:
`PCT/US92/02995
`(74) Agent: PRAHL, Eric, L.; Fish & Richardson, 225 Franklin
`Street, Boston, MA 02110-2804 (US).
`
`10 April 1992 (10.04.92)
`(22) International Filing Date:
`
`
`
`
`(81) Designated States: AT (European patent), BE (European
`
`
`(30) Priority data:
`patent), CA, CH (European patent), DE (European pa~
`
`tent), DK (European patent), ES (European patent), FR
`12 April 1991 (12.04.91)
`US
`684,695
`
`
`
`
`(European patent), GB (European patent), GR (Euro-
`
`pean patent), IT (European patent), JP, LU (European
`
`
`
`patent), MC (European patent), NL (EurOpean patent),
`INC.
`(71) Applicant: CONCORD COMMUNICATIONS,
`
`[US/US]; 753 Forest Street, Marlboro, MA 01752 (US).
`SE (European patent).
`
`
`
`
`(72) Inventors: FERDINAND, Engel
`; 21 Joseph Road, Nor-
`
`Published
`
`thborough, MA 01532 (US). JONES, Kendall, S.
`; 90
`
`
`Boulder Road, Newton Center, MA 02159 (US). RO-
`With international search report.
`
`BERTSON, Kary ; 398 North Road, Bedford, MA 01739
`
`(US). THOMPSON, David, M.
`; 5127 243rd Road, Red-
`mond, WA 98053 (US). WHITE, Gerard ; 133 Massa-
`poag Road, Tyngsborough, MA 01879 (US).
`
`
`
`
`
`
`
`
`
` 2
`
`
`
`
`(54) Title: NETWORK MONITORING
`
`14
`
`2
`2
`1014
`_Ia ram-
`6_m- 2:
`2
`2
`2
`4
`
`10
`
`2
`
`2
`
`4
`
`I4
`
`2
`
`MONITOR m m BRIDGE
`
`s
`
`FILESERVER m ROUTER
`2
`2
`4
`
`2
`
`5
`
`2
`
`6
`
`2
`2
`m FILE SERVER
`
`14
`
`,
`
`1o
`MONITOR
`
`
`
`
`
`
`
`10
`
`2
`
`2
`
`MONITOR
`
`4
`
`4
`
`ROUTER
`
`m w W a“
`2
`2
`,
`2
`14
`
`m
`2
`
`2
`
`. a“
`
`2
`
`2
`
`
`
`
`
`
`
`
`
` (57) Abstract
`
`
`Monitoring is done of communications which occur in a network of nodes (2), each communication being effected by a
`transmission of one or more packets among two or more communicating nodes (2), each communication complying with a prede-
`
`
`fined communication protocol selected from among protocols available in the network. The contents of packets are detected pas-
`
`
`sively and in real time, communication information (130, 152, 178) associated with multiple protocols is derived from the packet
`contents.
`
`EX 1009 Page 1
`
`

`

`‘1
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCI‘ on the front pages of pamphlets publishing international
`applications under the PCl'.
`
`United Statea of America
`
`Spain
`l-inland
`France
`Gabon
`United Kingdom
`Guinea
`Greece
`Hungary
`Italy
`Japan
`Democratic People‘s Republic
`of Korea
`Republic of Korea
`l icchtenstein
`Sri lanka
`I unembourg
`Monaco
`
`AT
`AU
`BB
`BE
`BF
`86
`BJ
`BR
`CA
`CF
`CG
`CH
`Cl
`
`Aualria
`Australia
`Barltarlm
`Belgium
`Burktna Faun
`Bulgaria
`Benin
`Brazil
`Canada
`Central African Republic
`Congo
`Swit/erland
`(Tote d'lvoire
`('atneroon
`('Iecltnslovaltin
`(icnnany
`Denmark
`
`Madagascar
`Mali
`Mongolia
`Mauritania
`Malawi
`Netherlands
`Norway
`Poland
`Romania
`Russian Federation
`Sudan
`Sweden
`Senegal
`Soviet Union
`(‘ltad
`Togo
`
`EX 1009 Page 2
`
`EX 1009 Page 2
`
`

`

`W0 92/ 19054
`
`,
`
`PCI‘/US92/02995
`
`—1—
`
`NETWORK MONITORING
`
`Background of the Invention
`
`The invention relates to monitoring and managing
`communication networks for computers.
`
`5
`
`Todays computer networks are large complex systems
`
`with many components from a large variety of vendors.
`
`These networks often span large geographic areas ranging
`
`from a campus-like setting to world wide networks. While
`
`the network itself can be used by many different types of
`
`10 organizations,
`
`the purpose of these networks is to move
`
`information between computers. Typical applications are
`
`electronic mail,
`
`transaction processing, remote database,
`
`query, and simple file transfer. Usually,
`
`the
`
`organization that has installed and is running the
`
`15 network needs the network to be running properly in order
`
`to operate its business. Since these networks are
`
`complex systems,
`
`there are various controls provided by
`
`the different equipment to control and manage the
`
`network. Network management is the task of planning,
`
`20 engineering, securing and operating a network.
`
`To manage the network properly,
`
`the Network
`
`Manager has some obvious needs. First,
`
`the Network
`
`Manager must trouble shoot problems. As the errors
`
`develop in a running network,
`
`the Network Manager must
`
`25 have some tools that notify him of the errors and allow
`
`him to diagnose and repair these errors.
`
`Second,
`
`the
`
`Network Manager needs to configure the network in such a
`
`manner that the network loading characteristics provide
`
`the best service possible for the network users.
`
`To do
`
`30 this the Network Manager must have tools that allow him
`
`visibility into access patterns, bottlenecks and general
`
`loading. With such data,
`
`the Network Manager can
`
`reconfigure the network components for better service.
`
`There are many different components that need to
`
`35 be managed in the network. These elements can be, but
`
`EX 1009 Page 3
`
`EX 1009 Page 3
`
`

`

`W0 92/19054
`
`PCT/US92/02995
`
`_2-
`
`are not limited to: routers, bridges, PC's, workstations,
`minicomputers, supercomputers, printers, file servers,
`switches and pbx's. Each component provides a protocol
`for reading and writing the management variables in the
`5 machine. These variables are usually defined by the
`component vendor and are usually referred to as a
`Management Information Base (MIB). There are some
`standard MIB's, such as the IETF (Internet Engineering
`Task Force) MIB I and MIB II standard definitions.
`10 Through the reading and writing of MIB variables,
`software in other computers can manage or control the
`component. The software in the component that provides
`remote access to the MIB variables is usually called an
`agent. Thus, an individual charged with the
`15 responsibility of managing a large network often will use
`various tools to manipulate the MIB's of various agents
`
`on the network.
`Unfortunately, the standards for accessing MIBs
`
`are not yet uniformly provided nor are the M18
`20 definitions complete enough to manage an entire network.
`The Network Manager must therefore use several different
`types of computers to access the agents in the network.
`This poses a problem, since the errors occurring on the
`network will tend to show up in different computers and
`25 the Network Manager must therefore monitor several
`different screens to determine if the network is running
`properly.
`Even when the Network Manager is able to
`
`30
`
`sufficient for the Network Manager to function properly.
`Furthermore, there are many errors and loadings on
`the network that are not reported by agents.
`Flow
`control problems, retransmissions, on—off segment
`loading, network capacities and utilizations are some of
`the types of data that are not provided by the agents.
`
`EX 1009 Page 4
`
`EX 1009 Page 4
`
`

`

`W0 92/ l 9054
`
`PCT/US92/02995
`
`-3-
`
`Simple needs like charging each user for actual network
`
`usage are impossible.
`
`Summary of the Invention
`In general,
`in one aspect,
`the invention features
`
`5 monitoring communications which occur in a network of
`
`nodes, each communication being effected by a
`
`transmission of one or more packets among two or more
`
`communicating nodes, each communication complying with a
`
`predefined communication.protocol selected from among
`
`10 protocols available in the network.
`
`The contents of
`
`packets are detected passively and in real time,
`
`communication information associated with multiple
`
`protocols is derived from the packet contents.
`
`Preferred embodiments of the invention include the
`
`15
`
`following features. The communication information
`
`derived from the packet contents is associated with
`
`multiple layers of at least one of the protocols.
`
`In general,
`
`in another aspect,
`
`the invention
`
`features monitoring communication dialogs which occur in
`
`20 a network of nodes, each dialog being effected by a
`
`transmission of one or more packets among two or more
`
`communicating nodes, each dialog complying with a
`
`predefined communication protocol selected from among
`
`protocols available in the network.
`
`Information about
`
`25 the states of dialogs occurring in the‘network and which
`
`comply with different selected protocols available in the
`
`network is derived from the packet contents.
`
`Preferred embodiments of the invention include the
`
`following features.
`
`A current state is maintained for
`
`30 each dialog, and the current state is updated in response
`
`to the detected contents of transmitted packets.
`
`For
`
`each dialog, a history of events is maintained based on
`
`information derived from the contents of packets, and the
`
`history of events is analyzed to derive information about
`
`35 the dialog.
`
`The analysis of the history includes
`
`EX 1009 Page 5
`
`EX 1009 Page 5
`
`

`

`W0 92/19054
`
`PCT/US92/02995
`
`_4—
`
`counting events and gathering statistics about events;
`The history is monitored for dialogs which are inactive,
`and dialogs which have been inactive for a predetermined
`period of time are purged.h For example,
`the current
`5 state is updated to data state in response to observing
`the transmission of at least two data related packets
`from each node.
`Sequence numbers of data related packets
`
`stored in the history of events are analyzed and
`
`retransmissions are detected based on the sequence
`10 numbers.
`The the current state is updated based on each
`new packet associated with the dialog; if an updated
`current state cannot be determined,
`information about
`prior packets associated with the dialog is consulted as
`an aid in updating the state.
`The history of events may
`15 ‘be searched to identify the initiator of a dialog.
`The full set of packets associated with a dialog
`up to a point in time completely define a true state of
`the dialog at that point in time, and the step of
`updating the current state in response to the detected
`20 contents of transmitted packets includes generating a
`current state (e.g., "unknown") which may not conform to
`the true state.
`The current state may be updated to the
`
`true state based on information about prior packets
`transmitted in the dialog.
`'
`
`25
`
`Each communication may involve multiple dialogs
`corresponding to a specific protocol. Each protocol
`layer of the communication may be parsed and analyzed to
`isolate each dialog and statistics may be kept for each
`dialog.
`The protocols may include a connectionless-type
`30 protocol in which the state of a dialog is implicit in
`transmitted packets, and the step of deriving information
`about the states of dialogs includes inferring the states
`of the dialogs from the packets. Keeping statistics for
`protocol layers may be temporarily suspended when parsing
`
`EX 1009 Page 6
`
`EX 1009 Page 6
`
`

`

`W0 92/l 9054
`
`7
`
`PCT/US92/02995
`
`-5-
`
`and statistics gathering is not rapid enough to match the
`
`rate of packets to be parsed.
`
`In general,
`in another aspect,
`the invention
`features monitoring the operation of the network with
`
`5
`
`respect to specific items of performance during normal
`
`operation, generating a model of the network based on the
`
`monitoring, and setting acceptable threshold levels for
`
`the specific items of performance based on the model.
`
`In
`
`preferred embodiments,
`
`the operation of the network is
`
`10 monitored with respect to the specific items of
`
`performance during periods which may include abnormal
`
`operation.
`
`In general,
`
`in another aspect,
`
`the invention
`
`features the combination of a monitor connected to the
`
`15 network medium for passively, and in real time,
`
`monitoring transmitted packets and storing information
`
`about dialogs associated with the packets, and a
`
`workstation for receiving the information about dialogs
`
`from the monitor and providing an interface to a user. In
`
`20 preferred embodiments,
`
`the workstation includes means for
`
`enabling a user to observe events of active dialogs.
`
`In general,
`
`in another aspect,
`
`the invention
`
`features apparatus for monitoring packet communications
`
`in a network of nodes in which communications may be in
`
`25 accordance with multiple protocols.
`
`The apparatus
`
`includes a monitor connected to a communication medium of
`
`the network for passively, and in real time, monitoring
`
`transmitted packets of different protocols and storing
`
`information about communications associated with the
`
`30 packets,
`
`the communications being in accordance with
`
`different protocols, and a workstation for receiving the
`
`information about the communciations from the monitor and
`
`providing an interface to a user.
`
`The monitor and the
`
`workstation include means for relaying the information
`
`35 about multiple protocols with respect to communication in
`
`EX 1009 Page 7
`
`EX 1009 Page 7
`
`

`

`\N{)92/19054
`
`PCT/US92/02995
`
`-6—
`
`the different protocols from the monitor to the
`workstation in accordance with a single common network
`
`,
`management protocol.
`the invention
`in another aspect,
`In general,
`features diagnosing communication problems between two
`nodes in a network of nodes interconnected by links. The
`operation of the network is monitored with respect to
`specific items of performance during normal operation.
`model of normal operation of the network is generated
`based on the monitoring. Acceptable threshold levels are
`set for the specific items of performance based on the
`model. The operation of the network is monitored with
`respect to the specific items of performance during
`periods which may include abnormal operation. When
`abnormal operation of the network with respect to
`communication between the two nodes is detected,
`problem is diagnosed by separately analyzing the
`performance of each of the nodes and each of the links
`connecting the two nodes to isolate the abnormal
`
`the
`
`A
`
`operation.
`in another aspect, the invention
`In general,
`features a method of timing the duration of a transaction
`of interest occurring in the course of communication
`
`between nodes of a network, the beginning of the
`transaction being defined by the sending of a first
`packet of a particular kind from one node to the other,
`and the end of the transaction being defined by the
`
`sending of another packet of a particular kind between
`the nodes.
`In the method, packets transmitted in the
`
`network are monitored passively and in real time.
`The
`beginning time of the transaction is determined based on
`the appearance of the first packet.
`A determination is
`made of when the other packet has been transmitted.
`The
`
`timing of the duration of the transaction is ended upon
`
`"U
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`the appearance of the other packet.
`
`EX 1009 Page 8
`
`EX 1009 Page 8
`
`

`

`W0 92/ 19054
`
`PCT/US92/02995
`
`_7-
`
`In general,
`
`in another aspect,
`
`the invention
`
`features,
`
`tracking node address to node name mappings in
`
`a network of nodes of the kind in which each node has a
`possibly nonunique node name and a unique node address
`
`5 within the network and in which node addresses can be
`
`assigned and reassigned to node names dynamically using a
`
`name binding protocol message incorporated within a
`
`packet.
`
`In the method, packets transmitted in the
`
`network are monitored, and a table linking node names to
`
`10 node addresses is updated based on information contained
`
`in the name binding protocol messages in the packets.
`
`One advantage of the invention is that it enables
`
`a network manager to passively monitor multi-protocol
`
`networks at multiple layers of the communications.
`
`In
`
`15 addition, it organizes and presents network performance
`
`statistics in terms of dialogs which are occurring at any
`
`desired level of the communication. This technique of
`organizing and displaying network performance statistics
`
`provides an effective and useful view of network
`
`20 performance and facilitates a quick diagnosis of network
`
`problems.
`
`other advantages and features will become apparent
`
`from the following description of the preferred
`
`embodiment and from the claims.
`
`25
`
`'
`
`'
`
`t
`
`ed
`
`od'
`
`ts
`
`Fig. 1 is a block diagram of a network;
`
`Fig. 2 shows the layered structure of a network
`
`communication and a protocol tree within that layered
`
`environment;
`
`30
`
`Fig.
`
`3 illustrates the structure of an
`
`ethernet/IP/TCP packet;
`
`Fig. 4 illustrates the different layers of a
`
`communication between two nodes;
`
`Fig. 5 shows the software modules within the
`
`35 Monitor;
`
`EX 1009 Page 9
`
`EX 1009 Page 9
`
`

`

`W0 92/19054
`
`PCI'/US92/02995
`
`_8—
`
`Fig. 6 shows the structure of the Monitor software
`in terms of tasks and intertask communication mechanisms;
`Figs. 7a-c show the STATS data structures which
`store performance statistics relating to the the data
`
`link layer;
`Fig. 8 is a event/state table describing the
`operation of the state machine for a TCP connection;
`Fig. 9a is a history data structure that is
`identified by a pointer found in the appropriate dialog
`
`a»
`
`10
`
`statistics data within STATS;
`
`Fig. 9b is a record from the history table;
`
`Fig. 10 is a flow diagram of the
`
`15
`
`20
`
`Look_for_Data_State routine;
`Fig. 11 is a flow diagram of the
`Look_for_Initiator routine that is called by the
`Look_for_pata_state routine;
`Fig. 12 is a flow diagram of the
`Look_for_Retransmission routine which is called by the
`Look_at_fiistory routine;
`Fig. 13 is a diagram of the major steps in
`processing a frame through the Real Time Parser (RTP);
`Fig. 14 is a diagram of the major steps in the
`
`processing a statistics threshold event;
`Fig. 15 is a diagram of the major steps in the
`
`25
`
`processing of a database update;
`Fig. 16 is a diagram of the major steps in the
`
`processing of a monitor control request;
`Fig. 17 is a logical map of the network as
`
`30
`
`displayed by the Management Workstation;
`Fig. 18 is a basic summary tool display screen;
`Fig. 19 is a protocol selection menu that may be
`
`invoked through the summary tool display screen;
`
`Figs. 20a-g are examples of the statistical
`variables which are displayed for different protocols;
`
`EX 1009 Page 10
`
`EX 1009 Page 10
`
`

`

`W0 92/19054
`
`PCT/US92/02995
`
`-9—
`
`Fig. 21 is an example of information that is
`
`displayed in the dialogs panel of the summary tool
`
`display screen;
`
`.
`
`Fig. 22 is a basic data screen presenting a rate
`
`5 values panel, a count values panel and a protocols seen
`
`panel;
`
`Fig. 23 is a traffic matrix screen;
`
`Fig. 24 is a flow diagram of the algorithm for
`
`adaptively establishing network thresholds based upon
`
`10 actual network performance;
`
`Fig. 25 is a simple multi-segment network;
`
`Fig. 26 is a flow diagram of the operation of the
`
`diagnostic analyzer algorithm;
`
`Fig. 27 is a flow diagram of the source node
`
`15 analyzer algorithm;
`
`Fig. 28 is a flow diagram of the sink node
`
`analyzer algorithm;
`Fig. 29 is a flow diagram of the link analysis
`
`logic;
`
`20
`
`Fig. 30 is a flow diagram of the DLL problem
`
`checking routine;
`
`Fig. 31 is a flow diagram of the IP problem
`
`checking routine;
`
`Fig. 32 is a flow diagram of the IP link component
`
`25 problem checking routine;
`
`Fig. 33 is a flow diagram of the DLL link
`
`component problem checking routine;
`
`Fig. 34 shows the structure of the event timing
`
`database;
`
`30
`
`Fig. 35 is a flow diagram of the operation of the
`
`event timing module (ETM)
`
`in the Network Monitor;
`
`Fig. 36 is a network which includes an Appletalk®
`
`segment;
`
`Fig. 37 is a Name Table that is maintained by the
`
`35 Address Tracking Module (ATM);
`
`EX 1009 Page 11
`
`EX 1009 Page 11
`
`

`

`.
`
`.
`
`WO92/19054
`
`PCI'/US92/02995
`
`Fig. 38 is a flow diagram of the operation of the
`
`ATM; and
`Fig. 39 is a flow diagram of the operation of the
`
`ATM.
`
`5
`
`Also attached hereto before the claims are the
`
`following appendices:
`Appendix I identifies the SNMP MIB subset that is
`supported by the Monitor and the Management Workstation
`
`10
`
`(2 pages);
`Appendix II defines the extension to the standard
`MIB that are supported by the Monitor and the Management
`
`Workstation (25 pages);
`
`Appendix III is a summary of the protocol
`variables for which the Monitor gathers statistics and a
`
`15 brief description of the variables, where appropriate (17
`
`pages);
`
`Appendix IV is a list of the Summary Tool Values
`Display Fields with brief descriptions (2 pages); and
`Appendix V is a description of the actual screens
`
`20 for the Values Tool
`
`(34 pages).
`
`5
`
`T
`
`we
`
`:
`
`d
`
`t'on
`
`A typical network, such as the one shown in Fig.
`includes at least three major components, namely,
`1,
`25 network nodes 2, network elements 4 and communication
`
`lines 6. Network nodes 2 are the individual computers on
`
`exists.
`
`the network. They are the very reason the network
`They include but are not limited to workstations
`(WS), personal computers (PC), file servers (FS), compute
`3o servers (CS) and host computers (e.g., a VAX), to name
`but a few. The term server is often used as though it
`
`was different from a node, but it is,
`
`in fact, just a
`
`node providing special services.
`In general, network elements 4 are anything that
`35 participate in the service of providing data movement in
`
`EX 1009 Page 12
`
`EX 1009 Page 12
`
`

`

`W0 92/19054
`
`PCI‘/US92/02995
`
`_11—
`
`a network, i.e., providing the basic communications.
`
`They include, but are not limited to, LAN's, routers,
`
`bridges, gateways, multiplexers, switches and connectors.
`Bridges serve as connections between different network
`
`5
`
`segments. They keep track of the nodes which are
`
`connected to each of the segments to which they are
`
`connected. When they see a packet on one segment that is
`
`addressed to a node on another of their segments,
`
`they
`
`grab the packet from the one segment and transfer it to
`
`10 the proper segment. Gateways generally provide
`
`connections between different network segments that are
`
`operating under different protocols and serve to convert
`
`communications from one protocol to the other. Nodes
`
`send packets to routers so that they may be directed over
`
`15 the appropriate segments to the intended destination
`
`node.
`
`Finally, network or communication lines 6 are the
`
`components of the network which connect nodes 2 and
`
`elements 4 together so that communicatons between nodes 2
`
`20 may take place. They can be private lines, satellite
`
`lines or Public Carrier lines.
`
`They are expensive
`
`resources and are usually managed as separate entities.
`
`Often networks are organized into segments 8 that are
`
`connected by network elements 4.
`
`A segment 8 is a
`
`25 section of a LAN connected at a physical level (this may
`
`include repeaters). Within a segment, no protocols at
`
`layers above the physical layer are needed to enable
`
`signals from two stations on the same segment to reach
`
`each other (i.e., there are no routers, bridges,
`
`30 gateways...).
`
`The Network Monitor and the Management Workstation:
`
`In the described embodiment,
`
`there are two basic
`
`elements to the monitoring system which is to be
`
`described, namely, a Network Monitor 10 and a Management
`
`EX 1009 Page 13
`
`EX 1009 Page 13
`
`

`

`I.
`
`W0 92/ 19054
`
`PCT/US92/02995
`
`Workstation 12. Both elements interact with each other
`
`over the local area network (LAN).
`Network Monitor 10 (referred to hereinafter simply
`as Monitor 10)
`is the data collection module which is
`attached to the LAN.
`It is a high performance real time
`front end processor which collects packets on the network
`and performs some degree of analysis to search for actual
`or potential problems and to maintain statistical
`information for use in later analysis.
`In general, it
`performs the following functions.
`It operates in a
`promiscuous mode to capture and analyze all packets on
`the segment and it extracts all items of interest from
`the frames.
`It generates alarms to notify the Management
`Workstation of the occurence of significant events.
`It
`
`10
`
`15
`
`receives commands from the Management Workstation,
`
`20
`
`processes them appropriately and returns responses.
`Management Workstation 12 is the operator
`interface.
`It collects and presents troubleshooting and
`performance information to the user.
`It is based on the
`SunNet Manager
`(SNM) product and provides a graphical
`network-map-based interface and sophisticated data
`presentation and analysis tools.
`It receives information
`from Monitor 10, stores it and displays the information
`
`in various ways.
`
`It also instructs Monitor 10 to perform
`
`25
`
`certain actions. Monitor 10,
`
`in turn, sends responses
`
`and alarms to Management Workstation 12 over either the
`primary LAN or a backup serial link 14 using SNMP with
`
`the MIB extensions defined later.
`
`These devices can be connected to each other over
`
`30
`
`various types of networks and are not limited to
`connections over a local area network. As indicated in
`
`Fig. 1, there can be multiple Workstations 12 as well as
`
`multiple Monitors 10.
`Before describing these components in greater
`
`35
`
`detail, background information will first be reviewed
`
`EX 1009 Page 14
`
`EX 1009 Page 14
`
`

`

`W0 92/l 9054
`
`PCT/US92/02995
`
`regarding communication protocols which specify how
`
`communications are conducted over the network and
`
`regarding the structure of the packets.'
`
`The Protocol Tree:
`
`.
`
`5
`
`As shown in Fig. 2, communication over the network
`
`is organized as a series of layers or levels, each one
`
`built upon the next lower one, and each one specified by
`
`one or more protocols (represented by the boxes).
`
`Each
`
`layer is responsible for handling a different phase of
`
`10 the communication between nodes on the network.
`
`The
`
`protocols for each layer are defined so that the services
`
`offered by any layer are relatively independent of the
`
`services offered by the neighbors above and below.
`
`Although the identities and number of layers may differ
`
`15 depending on the network (i.e., the protocol set defining
`
`communication over the network),
`
`in general, most of them
`
`share a similar structure and have features in common.
`
`For purposes of the present description,
`
`the Open
`
`Systems Interconnection (081) model will be presented as
`
`20 representative of structured protocol architectures.
`
`The
`
`OSI model, developed by the International Organization
`for Standardization,
`includes seven layers. As indicated
`
`in Fig. 2,
`
`there is a physical layer, a data link layer
`
`(DLL), a network layer, a transport layer, a session
`
`25 layer, a presentation layer and an application layer,
`
`in
`
`that order. As background for what is to follow,
`
`the
`
`function of each of these layers will be briefly
`
`described.
`
`The physical layer provides the physical medium
`
`30 for the data transmission.
`
`It specifies the electrical
`
`and mechanical interfaces of the network and deals with
`
`bit level detail.
`
`The data link layer is responsible for
`
`ensuring an error-free physical link between the
`
`communicating nodes.
`
`It is responsible for creating and
`
`35 recognizing frame boundaries (i.e., the boundaries of the
`
`EX 1009 Page 15
`
`EX 1009 Page 15
`
`

`

`W0 92/19054
`
`PCT/US92/02995
`
`-14-
`
`The
`packets of data that are sent over the network.)
`network layer determines how packets are routed within
`the network.
`The transport layer accepts data from the
`layer above it (i.e., the session layer), breaks the
`5 packets up into smaller units, if required, and passes
`these to the network layer for transmission over the
`network.
`It may insure that the smaller pieces all
`arrive properly at the other end.
`The session layer is
`the user's interface into the network. The user must
`10 interface with the session layer in order to negotiate a
`connection with.a process in another machine. The
`presentation layer provides code conversion and data
`reformatting for the user's application. Finally,
`the
`application layer selects the overall network service for
`15 the user's application.
`Fig. 2 also shows the protocol tree which is
`implemented by the described embodiment.
`A protocol tree
`shows the protocols that apply to each layer and it
`identifies by the tree structure which protocols at each
`20 layer can run “on top of" the protocols of the next lower
`layer.
`Though standard abbreviations are used to
`identify the protocols, for the convenience of the
`reader, the meaning of the abbreviations are as follows:
`ARP
`Address Resolution Protocol
`
`25
`
`30
`
`35
`
`ETHERNET Ethernet Data Link Control
`
`FTP
`
`ICMP
`
`IP
`
`LLC
`
`MAC
`
`NFS
`
`NSP
`
`RARP
`
`SMTP
`SNMP
`
`File Transfer Protocol
`
`Internet Control Message Protocol
`
`Internet Protocol
`
`802.2 Logical Link Control
`
`802.3 CSMA/CD Media Access Control
`
`Network File System
`
`Name Server Protocol
`
`Reverse Address Resolution Protocol
`
`Simple Mail Transfer Protocol
`Simple Network Management Protocol
`
`EX 1009 Page 16
`
`EX 1009 Page 16
`
`

`

`W0 92/ 19054
`
`PCT/US92/02995
`
`-15-
`
`TCP
`
`TFTP
`
`UDP
`
`Transmission Control Protocol
`
`Trivial File Transfer Protocol
`
`User Datagram Protocol
`
`Two terms are commonly used to describe the protocol
`
`5
`
`tree, namely, a protocol stack and a protocol family (or
`
`suite).
`
`A protocol stack generally refers to the
`
`underlying protocols that are used when sending a message
`
`over a network.
`
`For example, FTP/TCP/IP/LLC is a
`
`protocol stack.
`
`A protocol family is a loose association
`
`31) of protocols which tend to be used on the same network
`
`(or derive from a common source). Thus, for example,
`
`the
`
`TCP/IP family includes IP, TCP, UDP, ARP, TELNET and FTP.
`
`The Decnet family includes the protocols from Digital
`
`Equipment Corporation. And the SNA family includes the
`
`15 protocols from IBM.
`
`W:
`
`The relevant protocol stack defines the structure
`
`of each packet that is sent over the network. Fig. 3,
`
`which shows an TCP/IP packet, illustrates the typical
`
`20 structure of a packet.
`
`In general, each level of the
`
`protocol stack takes the data from the next higher level
`
`and adds header information to form a protocol data unit
`
`(PDU) which it passes to the next lower level. That is,
`
`as the data from the application is passed down through
`
`25 the protocol layers in preparation for transmission over
`
`the network, each layer adds its own information to the
`
`data passed down from above until the complete packet is
`
`assembled. Thus,
`
`the structure of a packet ressembles
`
`that of an onion, with each PDU of a given layer wrapped
`
`30 within the PDU of the adjacent lower level.
`
`At the ethernet level,
`
`the PDU includes a
`
`destination address (DEST MAC ADDR), a source address
`
`(SRC MAC ADDR), a type (TYPE)
`
`identifying the protocol
`
`which is running on top of this layer, and a DATA field
`
`35 for the PDU from the IP layer.
`
`EX 1009 Page 17
`
`EX 1009 Page 17
`
`

`

`W0 92/19054
`
`PCT/US92/02995
`
`-16-'
`
`the PDU for the IP layer
`Like the ethernet packet,
`includes an IP header plus a DATA field.
`The IP header
`includes a type field (TYPE) for indicating the type of
`service, a length field (LGTH) for specifying the total
`length of the PDU, an identification field (ID), a
`protocol field (PROT) for identifying the protocol which
`is running on top of the IP layer (in this case, TCP), a
`source address field (SRC ADDR) for specifying the IP
`
`5
`
`address of the sender, a‘destination address field (DEST
`10 ADDR) for specifying the IP address of the destination
`
`node, and a DATA field.
`The PDU built by the TCP protocol also consists of
`
`a header and the data passed down from the next higher
`
`In this case the header includes a source port
`layer.
`15 field (SRC PORT) for specifying the port number of the
`sender, a destination port field (DEST PORT) for
`specifying the port number of the destination, a sequence
`number field (SEQ NO.) for specifying the sequence number
`of the data that is being sent in this packet, and an
`
`20 acknowledgment number field (ACK NO.) for specifying the
`number of the acknowledgment being returned.
`It also
`
`includes bits which identify the packet type, namely, an
`
`acknowledgment bit (ACK), a reset connection bit (RST), a
`synchronize bit (SYN), and a no more data from sender bit
`(FIN). There is also a window size field (WINDOW) for
`specifying the size of the window being used.
`
`25
`
`The Concept of a Dialog:
`The concept of a dialog is used throughout the
`following description. As will become apparent, it is a
`30 concept which provides a useful way of conceptualizing,
`organizing and displaying information about the
`performance of a network - for any protocol and for any
`layer of the multi-level protocol stack.
`As noted above,
`the basic unit of information in
`
`35 communication is a packet.
`
`A packet conveys meaning
`
`a
`
`EX 1009 Page 18
`
`EX 1009 Page 18
`
`

`

`W0 92/ 19054
`
`PCT/US92/02995
`
`-17-
`
`between the sender and the receiver and is part of a
`larger framework of packet exchanges.
`The larger
`
`exchange is called a dialog within the context of this
`document. That is, a dialog is a communication between a
`
`5 sender and a receiver, which is composed of one or more
`
`packets being transmitted between the two. There can be
`
`multiple senders and receivers which can change roles.
`
`In fact, most dialogs involve exchanges in both
`
`directions.
`
`10
`
`Stated another way, a dialog is the exchange of
`
`messages and the associated meaning and state that is
`
`inherent in any particular exchange at any lay

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