`
`Old‘SiNpépor
`
`26/S2/1|ATAA
`
`PROVISIONAL APPLICATION
`
`Atty. Docket No. _17814-10.00
`"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:
`Dp
`
`BOX PROVISIONAL PATENT APPLICATION
`ASST. COMMISSIONER FOR PATENTS
`Washington, D. C. 20231
`
`aIT:
`
`Transmitted herewith for filing is a provisional patent application under 37 CFR 1.53(b)(2) of:
`
`
`
`
`
`
`LAST NAME MIDDLEINITIAL}RESIDENCE (CITY/STATE/COUNTRY)FIRST NAME
`peugeot ton, a, S.A
`
`
`
`
`
`
`.Title: METHOD FOR AUTOMATICALLY CLASSIFYING TRAFFIC IN A POLICY BASED BANDWIDTH ALLOCATION
`_, SYSTEM
`
`Los Gatos, CA, U.S.A
`
`
`
`
`
`Enclosed are:
`
`pages of the specification, claims and abstract.
`sheet(s) of informal drawing(s).
`8
`
`[] A verified statement to establish small entity status under 37 CFR 1.9 and 37 CER 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.
`
`Weare 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
`Telephone: (650) 326-2400
`Fax:
`(650) 326-2422
`
`10-TRN
`
`TOWNSEND and TOWNSEND and CREW LLP
`
`
`
`At SL
`Paul A. Durdik
`Reg. No.: 37,819
`Attorneys for Applicant
`NOACEx. 1037 Page 1
`
`NOAC Ex. 1037 Page 1
`
`
`
`Attorney Docket No. 17814-10.00
`
`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
`
`TOWNSENDand TOWNSENDand CREW LLP
`Two Embarcadero Center, 8th Floor
`San Francisco, California 94111-3834
`(650) 326-2400
`
`NOACEx. 1037 Page 2
`
`NOAC Ex. 1037 Page 2
`
`
`
`PATENT
`
`Attorney Docket No. 17814-10.00
`
`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 reservesall
`
`copyright rights whatsoever.
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`The following related commonly-owned copending U.S. Provisional Patent
`
`Application is being filed concurrently and is hereby incorporated by reference in its
`
`entirety for all purposes: 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 docket number 17814-9.00),
`
`which relates to a determining a default traffic policy.
`
`Further, this application makes reference to the following commonly
`
`owned U.S. Patent Applications, which are incorporated by reference herein in their
`
`entirety for all purposes:
`
`Copending U.S. Patent Application Serial No. 08/762,828, in the name of
`
`25
`
`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 U.S. Patent Application Serial No.
`
`, in the name of
`
`Robert L. Packer, entitled "Method for Managing Flow Bandwidth Utilization at Network,
`
`30
`
`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.
`
`NOACEx. 1037 Page 3
`
`NOAC Ex. 1037 Page 3
`
`
`
`2
`
`Further, this application makes reference to the following U.S. Patent
`
`Application:
`
`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 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.
`
`BACKGROUNDOF THE INVENTION
`
`This invention relates to digital packet telecommunications, and particularly
`
`to management of network bandwidth based on information ascertainable from multiple
`layers of OSI network model.
`It is particularly useful in conjunction with bandwidth
`
`allocation mechanisms employingtraffic 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
`
`25
`
`perceived advantages, this characteristic has the consequence of juxtaposing very high-
`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
`
`In fact, data flow rate capacity information is a key factor for use in resource
`imperative.
`allocation decisions. For example, if a particular path is inadequate to accommodate a
`
`high rate of data flow, an alternative route can be soughtout.
`
`NOACEx. 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
`
`
`
`
`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 acknowledgmentreceipt, i.e. if an acknowledgmentis not received
`within (typically) the smoothed RTT + 4*mean deviation, then packet loss is inferred and
`
`the data pending acknowledgmentis 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
`
`25
`
`transmission in increasing multiples of the base RTT average as a reaction to consecutive
`
`packetloss.
`
`Bandwidth Management in TCP/IP Networks
`
`Conventional bandwidth management in TCP/IP networks is accomplished
`
`30
`
`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
`
`NOACEx. 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 managementis essentially the process of keeping track ofall 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.
`
`10
`
`
`
`
`Automated tools assist the network manager in configuring and managing
`
`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
`docket number 17814-9.00). The subject of the present invention is also a tool designed
`
`30
`
`to assist the network manager.
`
`NOACEx. 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 methodsfor
`
`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.
`
`
`
`
`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.c., 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-1,"
`
`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
`
`25
`
`system to network savvy customers. What is really needed is a method for analyzing real
`
`traffic in a customer’s network and automatically producinga list of the "foundtraffic."
`
`SUMMARYOF THE INVENTION
`
`According to the invention, in a packet communication environment, a
`
`30
`
`method is provided for automatically classifying packet flows for use in allocating
`
`bandwidth resources by a rule of assignmentof 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
`
`NOACEx. 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 oftraffic 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 webtraffic.
`
`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;
`
`Figs. 2A-2B depict representative divisions of bandwidth;
`
`25
`
`Fig. 3 depicts a component diagram of processes and data structures in
`
`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.
`
`NOACEx. 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 "PacketShaper™."
`
`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
`
`10
`
`an internetwork. Systems according to the present invention enable network managersto:
`
`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 CONTROLApolicy 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 ORDERAsearch method based upon traversal of a N-ary tree data
`
`structure containing classes.
`
`25
`
`30
`
`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 oftraffic provided by the user which supersedes an
`
`automatically determined classification order.
`
`NOACEx. 1037 Page 9
`
`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.
`
`Asdo all packets in a UDPsession.
`
`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 resourcesare 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 arrangementof policies. For
`
`NOACEx. 1037 Page 10
`
`10
`
`
`
`25
`
`30
`
`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 FTPpolicy,
`
`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 managerto 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 reservedservice.
`
`Policies will demand excessrate at a given priority and
`
`30
`
`systems according to the invention satisfy this demand by a
`
`priority level.
`
`NOACEx. 1037 Page 11
`
`NOAC Ex. 1037 Page 11
`
`
`
`TRAFFIC CLASS
`
`All traffic between a client and a server endpoints. A single
`instanceofa traffic class is called a flow. Traffic classes
`
`10
`
`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.
`
`Table 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 andis 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 environmentis not essential. This figure shows a conventional client-server
`
`computer system which includes a server 20 and numerousclients, 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
`
`10
`
`
`
`25
`
`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
`
`30
`
`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
`
`NOACEx. 1037 Page 12
`
`NOAC Ex. 1037 Page 12
`
`
`
`11
`
`It is coupled to corresponding interface devices in client computers
`Interface" block 40.
`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 SPARCserver. 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 PCD), 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 onaserial port. The client computer may
`
`
`
`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. Blocksto the right of the server are indicative of the processing steps and
`
`25
`
`functions which occur in the server’s program and data storage indicated by blocks 35a
`
`and 35b in Fig. LA. 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
`
`30
`
`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
`
`NOACEx. 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 function 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 internetworking of a plurality of clients such as
`
`client 25 of Figs. 1A and 1B and a plurality of servers such as server 20 of Figs. 1A and
`
`1B as described herein above.
`
`In Fig. 1C, network 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 DOSoperating
`
`system, and host 73, which may be an IBM AS/400 computer, which may be running the
`
`OS/400 operating system. Network 70 is internetworked to network 60 via a system
`
`gateway whichis 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
`
`10
`
`
`
`
`
`25
`
`operating system with host 62, which may be a Digital Equipment VAX6000 computer
`which may be running the VMSoperating 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-
`
`30
`
`network Protocols, such as [CMP 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
`
`NOACEx. 1037 Page 14
`
`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 X.25, or serial (SLIP) protocols.
`
`
`
`
`Network layer protocols 84 overlay the datalink layer and provide the
`
`meansfor 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 (CMP) 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"
`
`25
`
`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
`
`comnectionless, datagram oriented service which provides a non-reliable delivery
`
`30
`
`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.
`
`NOACEx. 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
`
`
`
`Procedure Call (RPC) is a programming interface which enables programsto 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
`
`(URD).
`
`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 HTTPprotocol
`
`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.html":
`
`25
`
`GET /pub/MyData.html HTTP-Version
`
`(1)
`
`Processing of a GET request entails the establishing of an TCP/IP
`
`connection with the server named in the GET request and receipt from the server of the
`
`data object specified. After receiving and interpreting a request messa