throbber
PROVISIONAL APPLICATION
`
`Vi
`
`Atty. Docket No. 17814-1000
`"Express Mail" Label No. EM 284 724 885US
`Date of Deposit November 24 1997
`
`I hereby certify that this is being deposited with the U.S.
`Postal Service "Express Mail Post Office to Addressee"
`service under 37 CFR 1.10 on the date indicated above,
`addressed to the Asst. Commissioner for Patents,
`Box Provisional Appln., Washington, DC 20231.
`By:
`P
`
`u
`
`AEISZ/lllllHlll"Illllflllllfllllfllllfllllllll
`
`(-
`
`Old'3'“V6”?
`
`Washington, D. C. 20231
`
`Sir:
`
`Transmitted herewith for filing is a provisional patent application under 37 CFR 1.53(b)(2) of:
`
`
`
`LAST NAME
`FIRST NAME
`MIDDLE INITIAL RESIDENCE (CITY/STATE/COUNTRY)
`
`——- LosGawS» CA, U-S-A.
`
`
`
`
`
`
`
`
`
`LosGatos, CA, U-S-A-
`
`_ Title: METHOD FOR AUTOMATICALLY CLASSIFYING TRAFFIC IN A POLICY BASED BANDWIDTH ALLOCATION
`SYSTEM
`
`Enclosed are:
`
`30
`
`pages of the specification, claims and abstract.
`[X]
`sheet(s) of informal drawing(s).
`8
`[X]
`[ ] A verified statement to establish small entity status under 37 CFR 1.9 and 37 CFR 1.27.
`- [] The invention was made by or under a contract with the following agency of the United States Government:
`
`under Government contract number:
`
`’[X] Declaration and Power of Attorney (not signed).
`[X] Appendix A — 31 pages.
`
`We are not paying the fee in this case at this time.
`
`2
`
`extra copies of this sheet are enclosed.
`
`Respectfully submitted,
`
`Correspondence Address:
`
`TOWNSEND and TOWNSEND and CREW LLP
`
`Two Embarcadero Center, 8th Floor San Francisco, CA 94111-3834
`
`TOWNSEND and TOWNSEND and CREW LLP
`
`Telephone: (650) 326-2400
`Fax:
`(650) 326-2422
`
`mm
`
`.
`A _,
`Paul A. Durdik
`Reg. No.: 37,819
`Attorneys for Applicant
`NOAC EX. 1037 Page 1
`
`NOAC Ex. 1037 Page 1
`
`

`

`Attorney Docket No. 17814-1000
`
`PROVISIONAL
`
`PATENT APPLICATION
`
`METHOD FOR AUTOMATICALLY CLASSIFYING TRAFFIC IN A
`
`POLICY BASED BANDWIDTH ALLOCATION SYSTEM
`
`
`
`Inventors:
`
`Assignee:
`
`Guy Riddle, a United States citizen,
`residing at 18243 Knuth Road,
`Los Gatos, CA 95033; and
`
`Robert L. Packer, a United States citizen,
`
`residing at 16095 Redwood Lodge Road,
`Los Gatos, CA 95036.
`
`Packeteer, Inc.
`
`(a corporation of Delaware)
`307 Orchard City Drive, Suite 305
`Campbell, CA 95008
`
`TOWNSEND and TOWNSEND and CREW LLP
`
`Two Embarcadero Center, 8th Floor
`San Francisco, California 94111-3834
`
`(650) 326-2400
`
`NOAC EX. 1037 Page 2
`
`NOAC Ex. 1037 Page 2
`
`

`

`PATENT
`
`Attorney Docket No. 17814-1000
`
`METHOD FOR AUTOMATICALLY CLASSIFYING TRAFFIC IN A
`
`POLICY BASED BANDWIDTH ALLOCATION SYSTEM
`
`COPYRIGHT NOTICE
`
`A portion of the disclosure of this patent document contains material which
`
`is subject to copyright protection. The copyright owner has no objection to the facsimile
`
`10
`
`reproduction by anyone of the patent document or the patent disclosure as it appears in
`
`the Patent and Trademark Office patent file or records, but otherwise reserves all
`
`copyright rights whatsoever.
`
`
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`The following related commonly—owned copending US. Provisional Patent
`
`Application is being filed concurrently and is hereby incorporated by reference in its
`
`entirety for all purposes: US. Provisional Patent Application Serial No.
`
`, in
`
`the name of Guy Riddle, entitled "Method for Automatically Determining a Traffic Policy
`
`in a Policy Based Bandwidth Allocation System," (attorney docket number 17814-900),
`
`which relates to a determining a default traffic policy.
`
`Further, this application makes reference to the following commonly
`
`owned US. Patent Applications, which are incorporated by reference herein in their
`
`entirety for all purposes:
`
`25
`
`30
`
`Copending US. Patent Application Serial No. 08/762,828, in the name of
`
`Robert L. Packer, entitled "Method for Rapid Data Rate Detection in a Packet
`
`Communication Environment Without Data Rate Supervision," relates to a technique for
`
`automatically determining the data rate of a TCP connection;
`
`Copending US. Patent Application Serial No.
`
`, in the name of
`
`Robert L. Packer, entitled "Method for Managing Flow Bandwidth Utilization at Network,
`
`Transport and Application Layers in Store and Forward Network," (attorney docket
`
`number 17814-5 .10) relates to a technique for automatically allocating bandwidth based
`
`upon data rates of TCP connections according to a hierarchical classification paradigm.
`
`NOAC EX. 1037 Page 3
`
`NOAC Ex. 1037 Page 3
`
`

`

`2
`
`Further, this application makes reference to the following US. Patent
`
`Application:
`
`Copending US. Patent Application Serial No. 08/742,994, in the name of
`
`Robert L. Packer, entitled "Method for Explicit Data Rate Control in a Packet
`
`Communication Environment Without a Data Rate Supervision," relates to a technique for
`
`automatically scheduling TCP packets for transmission.
`
`PAPER APPENDIX
`
`The following paper appendices are included herewith and incorporated by
`
`10
`
`reference in their entirety for all purposes:
`
`
`
`
`Appendix A: Source code listing of automatic classification processing in
`
`an embodiment of the invention comprising thirty-one (31) sheets.
`
`BACKGROUND OF THE INVENTION
`
`This invention relates to digital packet telecommunications, and particularly
`
`to management of network bandwidth based on information ascertainable from multiple
`
`layers of 081 network model.
`
`It is particularly useful in conjunction with bandwidth
`
`allocation mechanisms employing traffic classification in a digitally-switched packet
`
`telecommunications environment normally not subject to data flow rate control.
`
`The ubiquitous TCP/IP protocol suite, which implements the world-Wide
`
`data communication network environment called the Internet and is also used in private
`
`networks (Intranets), intentionally omits explicit supervisory function over the rate of data
`
`transport over the various media which comprise the network. While there are certain
`
`perceived advantages, this characteristic has the consequence of juxtaposing very high-
`
`25
`
`speed packet flows and very low-speed packet flows in potential conflict for network
`
`resources, which results in inefficiencies. Certain pathological loading conditions can
`
`result in instability, overloading and data transfer stoppage. Therefore, it is desirable to
`
`provide some mechanism to optimize efficiency of data transfer While minimizing the risk
`
`of data loss. Early indication of the rate of data flow which can or must be supported is
`
`30
`
`imperative.
`
`In fact, data flow rate capacity information is a key factor for use in resource
`
`allocation decisions. For example, if a particular path is inadequate to accommodate a
`
`high rate of data flow, an alternative route can be sought out.
`
`NOAC EX. 1037 Page 4
`
`NOAC Ex. 1037 Page 4
`
`

`

`3
`
`Internet/Intranet technology is based largely on the TCP/IP protocol suite,
`
`where IP, or Internet Protocol, is the network layer protocol and TCP, or Transmission
`
`Control Protocol, is the transport layer protocol. At the network level, IP provides a
`
`"datagram" delivery service. By contrast, TCP builds a transport level service over the
`
`datagram service to provide guaranteed, sequential delivery of a byte stream between two
`
`IP hosts.
`
`TCP flow control mechanisms operate exclusively at the end stations to
`
`limit the rate at which TCP endpoints emit data. However, TCP lacks explicit data rate
`
`control. The basic flow control mechanism is a sliding window, superimposed on a range
`
`10
`
`of bytes beyond the last explicitly-acknowledged byte.
`
`Its sliding operation limits the
`
`
`
`
`25
`
`30
`
`amount of unacknowledged transmissible data that a TCP endpoint can emit.
`
`Another flow control mechanism is a congestion window, which is a
`
`refinement of the sliding window scheme, which employs conservative expansion to fully
`
`utilize all of the allowable window. A component of this mechanism is sometimes
`
`referred to as "slow start".
`
`The sliding window flow control mechanism works in conjunction with the
`
`Retransmit Timeout Mechanism (RTO), which is a timeout to prompt a retransmission of
`
`unacknowledged data. The timeout length is based on a running average of the Round
`
`Trip Time (RTT) for acknowledgment receipt, i.e. if an acknowledgment is not received
`
`within (typically) the smoothed RTT + 4*mean deviation, then packet loss is inferred and
`
`the data pending acknowledgment is retransmitted.
`
`Data rate flow control mechanisms which are operative end-to-end without
`
`explicit data rate control draw a strong inference of congestion from packet loss (inferred,
`
`typically, by RTO). TCP end systems, for example, will ‘back—off’, i.e., inhibit
`
`transmission in increasing multiples of the base RTT average as a reaction to consecutive
`
`packet loss.
`
`Bandwidth Management in TCP/1P Networks
`
`Conventional bandwidth management in TCP/1P networks is accomplished
`
`by a combination of TCP end systems and routers which queue packets and discard
`
`packets when certain congestion thresholds are exceeded. The discarded, and therefore
`
`unacknowledged, packet serves as a feedback mechanism to the TCP transmitter. (TCP
`
`NOAC EX. 1037 Page 5
`
`NOAC Ex. 1037 Page 5
`
`

`

`4
`
`end systems are clients or servers running the TCP transport protocol, typically as part of
`
`their operating system.)
`
`The term "bandwidth management" is often used to refer to link level
`
`bandwidth management, e.g. multiple line support for Point to Point Protocol (PPP).
`
`Link level bandwidth management is essentially the process of keeping track of all traffic
`
`and deciding whether an additional dial line or ISDN channel should be opened or an
`
`extraneous one closed. The field of this invention is concerned with network level
`
`bandwidth management, i.e. policies to assign available bandwidth from a single logical
`
`link to network flows.
`
`In a copending U.S. Patent Application Serial No. 08/742,994, in the name
`
`of Robert L. Packer, entitled “Method for Explicit Data Rate Control in a Packet
`
`Communication Environment Without Data Rate Supervision," a technique for
`
`automatically scheduling TCP packets for transmission is disclosed. Furthermore, in a
`
`copending U.S. Patent Application Serial No. 08/762,828, in the name of Robert L.
`
`Packer, entitled "Method for Rapid Data Rate Detection in a Packet Communication
`
`Environment Without Data Rate Supervision," a technique for automatically determining
`
`the data rate of a TCP connection is disclosed. Furthermore, in a copending U.S. Patent
`
`Application Serial No.
`
`, in the name of Robert L. Packer, entitled "Method
`
`for Managing Flow Bandwidth Utilization at Network, Transport and Application Layers
`
`in Store and Forward Network," (attorney docket number 17814-5 .10) a technique for
`
`automatically allocating bandwidth based upon data rates of TCP connections according to
`
`a hierarchical classification paradigm is disclosed.
`
`Automated tools assist the network manager in configuring and managing
`
`10
`
`
`
`
`the network equipped with the rate control techniques described in these copending
`
`25
`
`applications.
`
`In a related copending application, a tool is described which enables a
`
`network manager to automatically produce policies for traffic being automatically
`
`detected in a network.
`
`It is described in a copending U.S. Provisional Patent Application
`
`Serial No.
`
`, in the name of Guy Riddle, entitled "Method for Automatically
`
`Determining a Traffic Policy in a Policy Based Bandwidth Allocation System," (attorney
`
`30
`
`docket number 17814-9.00). The subject of the present invention is also a tool designed
`
`to assist the network manager.
`
`NOAC EX. 1037 Page 6
`
`NOAC Ex. 1037 Page 6
`
`

`

`5
`
`While these efforts teach methods for solving problems associated with
`
`scheduling transmissions, automatically determining data flow rate on a TCP connection,
`
`allocating bandwidth based upon a classification of network traffic and automatically
`
`determining a policy, respectively, there is no teaching in the prior art of methods for
`
`automatically classifying packet traffic based upon information gathered from a multiple
`
`layers in a multi—layer protocol network.
`
`Bandwidth has become the expensive commodity of the ’90s, as traffic
`
`expands faster than resources, the need to "prioritize" a scarce resource, becomes ever
`
`more critical. One way to solve this is by applying "policies" to control traffic classified
`
`10
`
`as to type of service required in order to more efficiently match resources with traffic.
`
`
`
`
`25
`
`30
`
`Traffic may be classified by type, e.g. E-mail, web surfing, file transfer, at
`
`various levels. For example, to classify by network paradigm, examining messages for an
`
`IEEE source/destination service access point (SAP) or a sub—layer access protocol (SNAP)
`
`yields a very broad indicator, i.e., SNA or IP. More specific types exist, such as whether
`
`an IP protocol field in an IP header indicates TCP or UDP. Well known connection ports
`
`provide indications at the application layer, i.e., SMTP or HTTP.
`
`Classification is not new. Firewall products like "CheckPoint FireWall-l,"
`
`a product of CheckPoint Software Technologies, Inc., a company with headquarters in
`
`Redwood City, CA., have rules for matching traffic. Bandwidth managers such as
`
`"Aponet,“ a product of Aponet, Inc., a company with headquarters in San Jose, CA.,
`
`classify by destination. The PacketShaper, a product of Packeteer, Inc., a company with
`
`headquarters in Campbell, CA., allows a user to manually enter rules to match various
`
`traffic types for statistical tracking, i.e., counting by transaction, byte count, rates, etc.
`
`However, manual rule entry requires a level of expertise that limits the appeal for such a
`
`system to network savvy customers. What is really needed is a method for analyzing real
`
`traffic in a customer’s network and automatically producing a list of the "found traffic."
`
`SUMMARY OF THE INVENTION
`
`According to the invention, 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
`
`based on selectable information obtained from a plurality of layers of a multi-layered
`
`NOAC EX. 1037 Page 7
`
`NOAC Ex. 1037 Page 7
`
`

`

`6
`
`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.
`
`An advantage of traffic classification techniques according to the present
`
`invention is that network managers need not know the technical aspects of each kind of
`
`traffic in order to configure traffic classes.
`
`A further advantage of the present invention is that traffic classes may
`
`include information such as a URI for web traffic.
`
`A yet further advantage of the present invention is that service aggregates
`
`10
`
`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.
`
`The invention will be better understood upon reference to the following
`
`detailed description in connection with the accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Fig. 1A depicts a representative client server relationship in accordance
`
`with a particular embodiment of the invention;
`
`Fig. 1B depicts a functional perspective of the representative client server
`
`relationship in accordance with a particular embodiment of the invention;
`
`Fig. 1C depicts a representative internetworking environment in accordance
`
`with a particular embodiment of the invention;
`
`Fig. 1D depicts a relationship diagram of the layers of the TCP/IP protocol
`
`suite;
`
`25
`
`Fig. 3 depicts a component diagram of processes and data structures in
`
`Figs. 2A-2B depict representative divisions of bandwidth;
`
`accordance with a particular embodiment of the invention; and
`
`Figs. 4A-4B depict flowcharts of process steps in automatically classifying
`
`traffic in accordance with a particular embodiment of the invention.
`
`NOAC EX. 1037 Page 8
`
`NOAC Ex. 1037 Page 8
`
`

`

`7
`
`DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
`
`A preferable embodiment of a flow bandwidth management system
`
`according to the invention has been reduced to practice and will be made available under
`
`the trade name "PacketShaperTM."
`
`1 .0
`
`Introduction
`
`The present invention provides techniques to automatically classify a
`
`plurality of heterogeneous packets in a packet telecommunications system for management
`
`of 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.
`
`Inbound as well as outbound traffic may be managed. Table 1
`
`provides a definitional list of terminology used herein.
`
`LIST OF DEFINITIONAL TERMS
`
`ADMISSIONS CONTROL A policy invoked whenever a system according to the
`
`invention detects that a guaranteed information rate cannot
`
`be maintained. An admissions control policy is analogous to
`
`a busy signal in the telephone world.
`
`CLASS SEARCH ORDER A search method based upon traversal of a N—ary tree data
`
`structure containing classes.
`
`COMMITTED INFORMATION
`RATE
`
`(CIR)
`
`A rate of data flow allocated to reserved service traffic for
`
`rate based bandwidth allocation for a committed bandwidth.
`
`Also called a guaranteed information rate (GIR).
`
`EXCEPTION
`
`A class of traffic provided by the user which supersedes an
`
`automatically determined classification order.
`
`NOAC EX. 1037 Page 9
`
`10
`
`
`
`
`25
`
`30
`
`NOAC Ex. 1037 Page 9
`
`

`

`EXCESS INFORMATION
`RATE
`
`(EIR)
`
`A rate of data flow allocated to reserved service traffic for
`
`rate based bandwidth allocation for uncommitted bandwidth
`
`resources .
`
`FLOW
`
`A flow is a single instance of a traffic class. For example,
`
`all packets in a TCP connection belong to the same flow.
`
`As do all packets in a UDP session.
`
`GUARANTEED
`INFORMATION RATE
`
`(GIR)
`
`A rate of data flow allocated to reserved service traffic for
`
`rate based bandwidth allocation for a committed bandwidth.
`
`Also called a committed information rate (CIR).
`
`HARD ISOLATION
`
`Hard isolation results from the creation of an entirely
`
`separate logical channel for a designated set of classes.
`
`INSIDE
`
`On the system side of an access link. Outside clients and
`
`servers are on the other side of the access link.
`
`ISOLATION
`
`Isolation is the degree that bandwidth resources are allocable
`
`to traffic classes.
`
`OUTSIDE
`
`On the opposite side of an access link as Viewed from the
`
`perspective of the system on which the software resides.
`
`PARTITION
`
`Partition is an arbitrary unit of network resources.
`
`POLICY
`
`A rule for the assignment of a service level to a flow.
`
`POLICY INHERITANCE
`
`A method for assigning policies to flows for which no
`
`policy exists in a hierarchical arrangement of policies. For
`
`NOAC EX. 1037 Page 10
`
`10
`
`
`
`25
`
`3O
`
`NOAC Ex. 1037 Page 10
`
`

`

`9
`
`example, if a flow is determined to be comprised of FTP
`
`packets for Host A, and no corresponding policy exists, a
`
`policy associated with a parent node, such as an FTP policy,
`
`may be located and used. See also POLICY SEARCH
`
`ORDER.
`
`POLICY BASED
`SCALING
`
`An adjustment of a requested data rate for a particular flow
`
`based upon the policy associated with the flow and
`
`information about the flow’s potential rate.
`
`RESERVED SERVICE
`
`Reserved service is a service level intended for traffic which
`
`"bursts" or sends chunks of data. Reserved service is
`
`defined in terms of a scaled rate.
`
`SCALED RATE
`
`Assignment of a data rate based upon detected speed.
`
`SERVICE LEVEL
`
`A service paradigm having a combination of characteristics
`
`defined by a network manager to handle a particular class of
`
`traffic. Service levels may be designated as either reserved
`
`or unreserved.
`
`10
`
`
`
`
`SOFT ISOLATION
`
`Restricting GIR allocated for traffic classes in a partition.
`
`25
`
`TARGET RATE
`
`A target rate is a combination of a guaranteed rate and an
`
`excess rate. Target rate is a policy-based paradigm. Excess
`
`rate is allocated by systems according to the invention from
`
`bandwidth that is not consumed by reserved service.
`
`Policies will demand excess rate at a given priority and
`
`30
`
`systems according to the invention satisfy this demand by a
`
`priority level.
`
`NOAC EX. 1037 Page 11
`
`NOAC Ex. 1037 Page 11
`
`

`

`TRAFFIC CLASS
`
`A11 traffic between a client and a server endpoints. A single
`
`10
`
`instance of a traffic class is called a flow. Traffic classes
`
`have properties or class attributes such as, directionality,
`
`which is the property of traffic to be flowing inbound or
`
`outbound.
`
`UNRESERVED SERVICE Unreserved service is a service level defined in terms of
`
`priority in which no reservation of bandwidth is made.
`
`1%
`
`1.1
`
`Hardware Overview
`
`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
`
`10
`
`
`
`25
`
`30
`
`NOAC EX. 1037 Page 12
`
`NOAC Ex. 1037 Page 12
`
`

`

`11
`
`Interface" block 40.
`
`It is coupled to corresponding interface devices in client computers
`
`Via a network connection 45.
`
`Client 25 has the same general configuration, although typically with less
`
`storage and processing capability. Thus, while the client computer could be a terminal or
`
`a low-end personal computer, the server computer is generally a high-end workstation or
`
`mainframe, such as a SUN SPARC server. Corresponding elements and subsystems in
`
`the client computer are shown with corresponding, but primed, reference numerals.
`
`Bus subsystem 32 is shown schematically as a single bus, but a typical
`
`system has a number of buses such as a local bus and one or more expansion buses (e.g.,
`
`10
`
`ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), as well as serial and parallel ports.
`
`Network connections are usually established through a device such as a network adapter
`
`on one of these expansion buses or a modem on a serial port. The client computer may
`
`
`
`25
`
`30
`
`be a desktop system or a portable system.
`
`The user interacts with the system using interface devices 37’ (or devices
`
`37 in a standalone system). For example, client queries are entered via a keyboard,
`
`communicated to client processor 30’, and thence to modem or network interface 40’ over
`
`bus subsystem 32’. The query is then communicated to server 20 via network connection
`
`45. Similarly, results of the query are communicated from the server to the client Via
`
`network connection 45 for output on one of devices 37’ (say a display or a printer), or
`
`may be stored on storage subsystem 35’.
`
`Fig. 1B is a functional diagram of a computer system such as that of Fig.
`
`1A. Fig. 1B depicts a server 20, and a representative client 25 of a plurality of clients
`
`which may interact With the server 20 via the Internet 45 or any other communications
`
`method. Blocks to the right of the server are indicative of the processing steps and
`
`functions which occur in the server’s program and data storage indicated by blocks 35a
`
`and 35b in Fig. 1A. A TCP/IP "stack" 44 works in conjunction with Operating System
`
`42 to communicate with processes over a network or serial connection attaching Server 20
`
`to Internet 45. Web server software 46 executes concurrently and cooperatively with
`
`other processes in server 20 to make data objects 50 and 51 available to requesting
`
`clients. A Common Gateway Interface (CGI) script 55 enables information from user
`
`clients to be acted upon by web server 46, or other processes within server 20. Responses
`
`to client queries may be returned to the clients in the form of a Hypertext Markup
`
`NOAC EX. 1037 Page 13
`
`NOAC Ex. 1037 Page 13
`
`

`

`12
`
`Language (HTML) document outputs which are then communicated Via Internet 45 back
`
`to the user.
`
`Client 25 in Fig. 1B possesses software implementing functional processes
`
`operatively disposed in its program and data storage as indicated by block 35a’ in Fig.
`
`1A. TCP/IP stack 44’, works in conjunction with Operating System 42’ to communicate
`
`with processes over a network or serial connection attaching Client 25 to Internet 45.
`
`Software implementing the filnction of a web browser 46’ executes concurrently and
`
`cooperatively with other processes in client 25 to make requests of server 20 for data
`
`objects 50 and 51. The user of the client may interact via the web browser 46’ to make
`
`such queries of the server 20 Via Internet 45 and to view responses from the server 20 via
`
`Internet 45 on the web browser 46’.
`
`Network Overview
`
`Fig. 1C is illustrative of the intemetworking 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 70 is an example of a Token Ring or
`
`frame oriented network. Network 70 links host 71, such as an IBM RS6000 RISC
`
`workstation, which may be running the AIX operating system, to host 72, which is a
`
`personal computer, which may be running Windows 95, IBM 0S/2 or a DOS operating
`
`system, and host 73, which may be an IBM AS/400 computer, which may be running the
`
`OS/400 operating system. Network 70 is intemetworked to network 60 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 60 is an example of an Ethernet network that
`
`interconnects host 61, which is a SPARC workstation, which may be running SUNOS
`
`operating system with host 62, 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 ARP and RIP, which are described herein below.
`
`Fig. 1D is illustrative of the constituents of the Transmission Control
`
`Protocol/Internet Protocol (TCP/IP) protocol suite. The base layer of the TCP/IP protocol
`
`suite is the physical layer 80, which defines the mechanical, electrical, functional and
`
`NOAC EX. 1037 Page 14
`
`10
`
`
`
`
`
`25
`
`30
`
`NOAC Ex. 1037 Page 14
`
`

`

`13
`
`procedural standards for the physical transmission of data over communications media,
`
`such as, for example, the network connection 45 of Fig. 1A. The physical layer may
`
`comprise electrical, mechanical or functional standards such as whether a network is
`
`packet switching or frame-switching; or whether a network is based on a Carrier Sense
`
`Multiple Access/Collision Detection (CSMA/CD) or a frame relay paradigm.
`
`Overlying the physical layer is the data link layer 82. The data link layer
`
`provides the function and protocols to transfer data between network resources and to
`
`detect errors that may occur at the physical layer. Operating modes at the datalink layer
`
`comprise such standardized network topologies as IEEE 802.3 Ethernet, IEEE 802.5
`
`10
`
`Token Ring, ITU X25, or serial (SLIP) protocols.
`
`
`
`
`25
`
`30
`
`
`
`Network layer protocols 84 overlay the datalink layer and provide the
`
`means for establishing connections between networks. The standards of network layer
`
`protocols provide operational control procedures for internetworking communications and
`
`routing information through multiple heterogenous networks. Examples of network layer
`
`protocols are the Internet Protocol (IP) and the Internet Control Message Protocol
`
`(ICMP). The Address Resolution Protocol (ARP) is used to correlate an Internet address
`
`and a Media Access Address (MAC) for a particular host. The Routing Information
`
`Protocol (RIP) is a dynamic routing protocol for passing routing information between
`
`hosts on networks. The Internet Control Message Protocol (ICMP) is an internal protocol
`
`for passing control messages between hosts on various networks.
`
`ICMP messages provide
`
`feedback about events in the network environment or can help determine if a path exists
`
`to a particular host in the network environment. The latter is called a "Ping". The
`
`Internet Protocol (IP) provides the basic mechanism for routing packets of information in
`
`the Internet.
`
`IP is a non—reliable communication protocol.
`
`It provides a "best efforts"
`
`delivery service and does not commit network resources to a particular transaction, nor
`
`does it perform retransmissions or give acknowledgments.
`
`The transport layer protocols 86 provide end-to—end transport services
`
`across multiple heterogenous networks. The User Datagram Protocol (UDP) provides a
`
`connectionless, datagram oriented service which provides a non-reliable delivery
`
`mechanism for streams of information. The Transmission Control Protocol (TCP)
`
`provides a reliable session-based service for delivery of sequenced packets of information
`
`across the Internet. TCP provides a connection oriented reliable mechanism for
`
`information delivery.
`
`NOAC EX. 1037 Page 15
`
`NOAC Ex. 1037 Page 15
`
`

`

`14
`
`The session, or application layer 88 provides a list of network applications
`
`and utilities, a few of which are illustrated here. For example, File Transfer Protocol
`
`(FTP) is a standard TCP/IP protocol for transferring files from one machine to another.
`
`FTP clients establish sessions through TCP connections with FTP servers in order to
`
`obtain files. Telnet is a standard TCP/IP protocol for remote terminal connection. A
`
`Telnet client acts as a terminal emulator and establishes a connection using TCP as the
`
`transport mechanism with a Telnet server. The Simple Network Management Protocol
`
`(SNMP) is a standard for managing TCP/IP networks. SNMP tasks, called "agents",
`
`monitor network status parameters and transmit these status parameters to SNMP tasks
`
`10
`
`called "managers." Managers track the status of associated networks. A Remote
`
`
`
`25
`
`30
`
`Procedure Call (RPC) is a programming interface which enables programs to invoke
`
`remote functions on server machines. The Hypertext Transfer Protocol (HTTP) facilitates
`
`the transfer of data objects across networks via a system of uniform resource indicators
`
`(URI).
`
`The Hypertext Transfer Protocol is a simple protocol built on top of
`
`Transmission Control Protocol (TCP).
`
`It is the mechanism which underlies the function
`
`of the World Wide Web. The HTTP provides a method for users to obtain data objects
`
`from various hosts acting as servers on the Internet. User requests for data objects are
`
`made by means of an HTTP request, such as a GET request. A GET request as depicted
`
`below is comprised of 1) the GET request keyword; followed by 2)
`
`the full path of the
`
`data object; followed by 3) the name of the data object; followed by 4) an HTTP protocol
`
`version, such as "HTTP/1.0".
`
`In the GET request shown below, a request is being made
`
`for the data object with a path name of "/pub/" and a name of "MyData.htrnl":
`
`GET /pub/MyData.html HTTP-Version
`
`(1)
`
`Processing of a GET request entails the establishing of an TCP/1P
`
`connection with the server named in the GET request and receipt from the server of the
`
`da

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