throbber
and TOWNSEND and CREW LLP
`i:ii'i;NSEND
`I ic3mbarcadero Center, 8th Floor
`_.
`,all
`-0>
`....
`.t<rancisco, CA 94111-3834
`--~.,,
`N
`;al>B26-240o
`.s:-,..-
`JI)
`..:a
`--
`...0-~
`i NT APPLICATION
`....J
`ASSISTANT COMMISSIONER FOR PATENTS
`- Washington, D. C. 20231
`
`"Express Mail" Label No. EM 284 724 908US
`
`Date of Deposit November 24, 1997
`
`I hereby certify that this is being deposited with the
`United States Postal Service "Express Mail Post Office
`to Addressee" service under 37 CPR 1.10 on the date
`indicated above and is addressed to:
`
`_\-
`
`i \
`
`Sir:
`Transmitted herewith for filing is the [x] patent application,
`( ] design patent application, [ ] continuation-in-part patent
`application of
`Inventor(s): Robert L..Packer
`By ---,4~~L-~~~-------
`For: SYSTEM FOR MANAGING FLOW BANDWIDTH
`UTILIZATI0N AT NETWORK, TRANSPORT AND APPLICATION LAYE
`[X] This application claims priority from each of the following Application Nos.
`60/032,485
`/12/09/96
`/ _____
`
`Assistant Commissioner for Patents
`Washington, D.C. 20231
`
`-----·-----·
`
`[X] Please amend this application by adding the following before the first sentence: --This application claims the benefit of U.S.
`Provisional Application No. 60/032,485, filed December 9, 1996, the disclosure of which is incorporated by reference.--
`
`Enclosed are:
`sheet(s) of [ ] formal [x) informal drawing(s).
`[X] 20
`
`[x] An assignment of the invention to ,,_P.::.,ac""k""et""ee~r.....,.,In""'c_,_. -----------------------(cid:173)
`[x] A [x] signed [] unsigned Declaration & Power of Attorney.
`[ ] A [ ] signed [ ] unsigned Declaration.
`[] A Power of Attorney by Assignee with Certificate Under 37 C.F.R. Section 3.73(b).
`[x] A verified statement to establish small entity status under 37 CPR 1.9 and 37 CPR 1.27 [] is enclosed [] was filed
`in the earliest of the above-identified patent application(s).
`[ ] A certified copy of a
`[x] Appendices A-D
`~ [ ] A petition to extend time to respond in the parent application of this continuation-in-part application.
`t~*" [ ] The filing fee has been calculated as shown below:
`
`application.
`
`(Col. 1)
`
`(Col. 2)
`
`FOR:
`
`BASIC FEE
`
`TOTAL CLAIMS
`
`INDEP CLAIMS
`
`26
`
`5
`
`-20=
`
`-3=
`
`6
`
`2
`
`[] MULTIPLE DEPENDENT CLAIM PRESENTED
`* If the difference in Col. 1 is less than zero,
`enter "0" in Col. 2
`
`SMALL ENTITY
`FEE OR
`$395 OR
`$ 66 OR
`OR
`
`2
`
`x41=
`
`$ 82
`
`6 xll=
`
`+135=
`
`$
`
`OR
`
`+270=
`
`TOTAL
`
`$543 OR
`
`TOTAL
`
`OTHER THAN A
`SMALL ENTITY
`
`x22=
`
`x82=
`
`FEE
`
`$790
`
`$
`
`$
`
`$
`
`$
`
`'j.-LP
`/
`
`Please charge Deposit Account No. 20-1430 as follows:
`[X] Filing fee
`[X] Any additional fees associated with this paper or
`during the pendency of this application
`[] The issue fee set in 37 CPR 1.18 at or before mailing of the Notice
`of Allowance, pursuant to 37 CPR 1.311(b).
`
`$480.00
`
`[ ] A check for $
`is enclosed.
`extra copies of this sheet are enclosed.
`2 __
`
`Telephone:
`
`(650) 326-2400
`
`Paul A. Durdik
`Reg. No.: 37,819
`Attorneys for Applicant
`
`EX 1027 Page 1
`
`

`

`Attorney Docket No. 17814-5.20
`
`PATENT APPLICATION
`
`SYSTEM FOR MANAGING FLOW BANDWIDTH UTILIZATION AT
`NETWORK, TRANSPORT AND APPLICATION LAYERS IN STORE
`AND FORWARD NETWORK
`
`Inventor:
`
`Assignee:
`
`Robert L. Packer (USA)
`16095 Redwood Lodge Rd.
`Los Gatos, CA 95036
`
`Packeteer, Inc.
`(a corporation of Delaware)
`307 Orchard City Drive, Suite 305
`Campbell, CA 95008
`
`Entity:
`
`Small
`
`TOWNSEND and TOWNSEND and CREW LLP
`Two Embarcadero Center, 8th Floor
`San Francisco, CA 94111-3834
`Telephone (650) 326-2400
`Fax (650) 326-2422
`
`EX 1027 Page 2
`
`

`

`PATENT
`Attorney Docket No. 17814-5.20
`
`s
`
`SYSTEM FOR MANAGING FLOW BANDWIDTH UTILIZATION AT
`NETWORK, TRANSPORT AND APPLICATION LAYERS IN STORE
`AND FORWARD NETWORK
`
`COPYRIGHT NOTICE
`A portion of the disclosure of this patent document contains material which
`
`10
`
`is subject to copyright protection. The copyright owner has no objection to the facsimile
`
`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.
`
`15
`
`20
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`The following related commonly-owned copending application is being
`
`filed concurrently and is hereby incorporated by reference in its entirety for all purposes:
`
`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," (attorney docket number 017814-000510).
`This application claims priority from the following U.S. Provisional
`
`Application, the disclosure of which, including all appendices and all attached
`documents, is incorporated by reference in its entirety for all purposes:
`
`U.S. Provisional Patent Application Serial No. 60/032,485, Robert L.
`
`25
`
`Packer, entitled, "Method for Managing Flow Bandwidth Utilization at Network,
`
`Transport and Application Layers in Store and Forward Network", filed December 9,
`
`1996.
`
`Further, this application makes reference to the following commonly
`
`owned U.S. Patent Application, which is incorporated herein in its entirety for all
`purposes:
`
`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, 11 relates to a technique for
`automatically determining the data rate of a TCP connection.
`Further, this application makes reference to the following U.S. Patent
`
`30
`
`35
`
`Application:
`
`EX 1027 Page 3
`
`

`

`2
`
`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.
`
`5
`
`PAPER APPENDIX
`
`The following paper appendices are included herewith and incorporated by
`
`reference in their entirety for all purposes:
`
`Appendix A: Source code listing of bandwidth allocation processing an
`
`10
`
`embodiment of the invention comprising ten (10) sheets;
`
`Appendix B: Source code listing of URL classification processing an
`
`embodiment of the invention comprising twenty-four (24) sheets;
`
`Appendix C: Source code listing of classification processing an
`
`embodiment of the invention comprising nine (9) sheets; and
`
`15
`
`Appendix D: Source code listing of speed scaling processing an
`
`embodiment of the invention comprising ten (10) sheets.
`
`BACKGROUND OF THE INVENTION
`
`This invention relates to digital packet telecommunications, and particularly
`
`20
`
`to management of network bandwidth based on information ascertainable from multiple
`
`layers of OSI network model. It is particularly useful in conjunction with data flow rate
`
`detection and control of a digitally-switched packet telecommunications environment
`
`normally not subject to data flow rate control.
`
`25
`
`data communication network environment called the Internet and is also used in private
`
`The ubiquitous TCP/IP protocol suite, which implements the world-wide
`
`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(cid:173)
`
`speed packet flows and very low-speed packet flows in potential conflict for network
`
`30
`
`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
`
`EX 1027 Page 4
`
`

`

`3
`
`very useful. In fact, data flow rate capacity information is a key factor for use in
`
`resource allocation decisions.
`
`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
`
`5
`
`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.
`
`10
`
`limit the rate at which TCP endpoints emit data. However, TCP lacks explicit data rate
`
`TCP flow control mechanisms operate exclusively at the end stations to
`
`15
`
`20
`
`25
`
`control. In fact, there is heretofore no concept of coordination of data rates among
`
`multiple flows. The basic TCP flow control mechanism is a sliding window,
`
`superimposed on a range 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 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
`
`30
`
`packet loss.
`
`Bandwidth Management in TCP/IP Networks
`
`Conventional bandwidth management in TCP/IP networks is accomplished
`
`EX 1027 Page 5
`
`

`

`4
`
`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
`
`end systems are clients or servers running the TCP transport protocol, typically as part of
`
`5
`
`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
`
`10
`
`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.
`
`Routers support various queuing options. These options are generally
`
`intended to promote fairness and to provide a rough ability to partition and prioritize
`
`15
`
`separate classes of traffic. Configuring these queuing options with any precision or
`
`without side effects is in fact very difficult, and in some cases, not possible. Seemingly
`
`simple things, such as the length of the queue, have a profound effect on traffic
`
`characteristics. Discarding packets as a feedback mechanism to TCP end systems may
`
`cause large, uneven delays perceptible to interactive users.
`
`20
`
`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.
`
`25
`
`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. While these patent applications teach
`
`methods for solving problems associated with scheduling transmissions and for
`
`automatically determining a data flow rate on a TCP connection, respectively, there is no
`
`30
`
`teaching in the prior art of methods for explicitly managing TCP packet traffic based
`
`upon information about the flow's characteristics at multiple OSI protocol layers.
`
`Bandwidth management is heretofore not known to employ information
`
`contained in the packets corresponding to higher OSI protocol layers, even though such
`
`EX 1027 Page 6
`
`

`

`information may be extremely useful in making bandwidth allocation and management
`
`decisions.
`
`5
`
`5
`
`According to the invention, in a packet communication environment, a
`
`SUMMARY OF THE INVENTION
`
`method is provided for classifying packet network flows for use in determining a policy,
`
`or rule of assignment of a service level, and enforcing that policy by direct rate control.
`
`The method comprises applying individual instances of traffic objects, i.e., packet network
`
`flows to a classification model based on selectable information obtained from a plurality
`
`10
`
`of layers of a multi-layered communication protocol, then mapping the flow to the
`
`defined traffic classes, which are arbitrarily assignable by an offline manager which
`
`creates the classification. It is useful to note that the classification need not be a complete
`
`enumeration of the possible traffic.
`
`In one aspect of the invention, bandwidth may be divided into arbitrary
`
`15
`
`units, partitions, facilitating isolation and allocation. A partition is allocated for a class or
`
`set of traffic classes, carving the bandwidth of the associated link into multiple,
`
`independent pieces.
`
`In another aspect of the invention, available bandwidth may be allocated
`
`among flows according to a policy, which may include any combination of guaranteed
`
`20
`
`information rate, excess information rate, the later allocated according to a priority.
`
`In another aspect of the invention, bandwidth resource needs of multiple
`
`heterogeneous requesting flows are reconciled with available bandwidth resources in
`
`accordance with policy of each flow based upon the flow's class. Flows requiring
`
`reserved service with guaranteed information rates, excess information rates or unreserved
`
`25
`
`service are reconciled with the available bandwidth resources continuously and
`
`automatically.
`
`In another aspect of the invention, providing an admissions policy which is
`
`invoked whenever a request for a bandwidth cannot be met consistently with other users
`
`of bandwidth.
`
`30
`
`An advantage of network management techniques according to the present
`
`invention is that network managers need only define traffic classes which are of interest.
`
`A further advantage of the present invention is that traffic classes may
`
`include information such as a URI for web traffic.
`
`EX 1027 Page 7
`
`

`

`6
`
`A yet further advantage of the present invention is that service levels may
`
`be defined in terms of explicit rates and may be scaled to a remote client or server's
`
`network access rate. Different service levels may be specified for high speed and low
`
`speed users.
`
`A yet further advantage of the present invention is that service levels may
`
`be defined in terms of a guaranteed minimum service level.
`
`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. IA depicts a representative client server relationship in accordance
`with a particular embodiment of the invention;
`Fig. lB depicts a functional perspective of the representative client server
`
`relationship in accordance with a particular embodiment of the invention;
`
`Fig. 1 C depicts a representative intemetworking environment in accordance
`
`with a particular embodiment of the invention;
`Fig. ID depicts a relationship diagram of the layers of the TCP/IP protocol
`
`suite;
`
`5
`
`10
`
`15
`
`20
`
`the exchange of packets between hosts using the TCP protocol;
`
`Fig. lE depicts a two dimensional representation of timing relationships in
`
`Figs. 2A-2B depict representative divisions of bandwidth according to a
`
`particular embodiment of the invention;
`
`Figs. 2C-2E are flow charts depicting process steps according to a
`
`particular embodiment of the invention;
`Fig. 3 is a block diagram of a particular embodiment according to the
`
`invention;
`
`Fig. 4A is a block diagram of a data structure according to a particular
`
`embodiment of the invention;
`
`Fig. 4B is a block diagram of data structure according to a particular
`
`embodiment of the invention; and
`Figs. 5A-5H are flow charts depicting process steps according to a
`
`particular embodiment of the invention.
`
`25
`
`30
`
`EX 1027 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™."
`
`5
`
`1. 0
`
`Introduction
`
`The present invention provides techniques to manage network bandwidth
`
`such as on a network access link between a local area network and a wide area network.
`
`Systems according to the present invention enable network managers to: define traffic
`
`1 O
`
`classes; create policies which define service levels for traffic classes; and isolate
`
`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.
`
`15
`
`20
`
`25
`
`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).
`
`30
`
`EXCEPTION
`
`A class of traffic provided by the user which supersedes an
`
`automatically determined classification order.
`
`EXCESS INFORMATION
`RATE
`
`EX 1027 Page 9
`
`

`

`8
`
`(EIR)
`
`A rate of data flow allocated to reserved service traffic for
`
`rate based bandwidth allocation for uncommitted bandwidth
`
`resources.
`
`5
`
`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.
`
`10
`
`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).
`
`15
`
`HARD ISOLATION
`
`Hard isolation results from the creation of an entirely
`
`separate logical channel for a designated set of classes.
`
`20
`
`25
`
`30
`
`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
`
`example, if a flow is determined to be comprised of FTP
`
`packets for Host A, and no corresponding policy exists, a
`
`EX 1027 Page 10
`
`

`

`5
`
`POLICY BASED
`SCALING
`
`9
`
`policy associated with a parent node, such as an FTP policy,
`
`may be located and used. See also POUCY SEARCH
`
`ORDER.
`
`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.
`
`10
`
`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.
`
`15
`
`20
`
`25
`
`30
`
`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.
`
`SOFT ISOLATION
`
`Restricting GIR allocated for traffic classes in a partition.
`
`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
`
`systems according to the invention satisfy this demand by a
`
`priority level.
`
`TRAFFIC CLASS
`
`All traffic between a client and a server endpoints. A single
`
`instance of a traffic class is called a flow. Traffic classes
`
`have properties or class attributes such as, directionality,
`
`EX 1027 Page 11
`
`

`

`10
`
`which is the property of traffic to be flowing inbound or
`
`outbound.
`
`UNRESERVED SERVICE Umeserved service is a service level defined in terms of
`
`5
`
`priority in which no reservation of bandwidth is made.
`
`1.1
`
`Hardware Overview
`
`Table 1
`
`The method for flow bandwidth management in a packet oriented
`
`10
`
`telecommunications network environment of the present invention is implemented in the
`
`C programming language and is operational on a computer system such as shown in Fig.
`
`lA. This invention may be implemented in a client-server environment, but a client(cid:173)
`
`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
`
`15
`
`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.
`
`20
`
`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
`
`25
`
`computer programs (e.g., code or instructions) and data, a set of user interface input and
`
`output devices 37, and an interface to outside networks, which may employ Ethernet,
`
`Token Ring, ATM, IEEE 802.3, ITU X.25, Serial Link Internet Protocol (SLIP) or the
`
`public switched telephone network. This interface is shown schematically as a "Network
`Interface" block 40. It is coupled to corresponding interface devices in client computers
`
`30
`
`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
`
`EX 1027 Page 12
`
`

`

`11
`
`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.,
`
`5
`
`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
`
`be a desktop system or a portable system.
`The user interacts with the system using interface devices 37' (or devices
`
`10
`
`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
`
`15
`
`printer), or may be stored on storage subsystem 35'.
`
`Fig. lB is a functional diagram of a computer system such as that of Fig.
`lA. Fig. lB 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
`
`20
`
`functions which occur in the server's program and data storage indicated by blocks 35a
`
`and 35b in Fig. lA. A TCP/IP 0 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 Language (HTML) document outputs which are then communicated via Internet
`45 back to the user.
`Client 25 in Fig. lB possesses software implementing functional processes
`
`operatively disposed in its program and data storage as indicated by block 35a' in Fig.
`
`lA. 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.
`
`25
`
`30
`
`EX 1027 Page 13
`
`

`

`12
`
`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
`
`5
`
`via Internet 45 on the web browser 46'.
`
`1.2
`
`Network Overview
`
`Fig. lC is illustrative of the internetworking of a plurality of clients such
`
`as client 25 of Figs. lA and lB and a plurality of servers such as server 20 of Figs. lA
`
`10
`
`and lB as described herein above. In Fig. lC, 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 OS/2 or a DOS operating
`
`system, and host 73, which may be an IBM AS/400 computer, which may be running the
`
`15
`
`OS/400 operating system. Network 70 is internetworked 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 SP ARC workstation, which may be running SUN OS
`
`operating system with host 62, which may be a Digital Equipment V AX6000 computer
`
`20
`
`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(cid:173)
`
`network Protocols, such as ICMP ARP and RIP, which are described herein below.
`
`25
`
`Fig. lD 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 procedural standards for the physical transmission of data over
`
`communications media, such as, for example, the network connection 45 of Fig. lA.
`
`30
`
`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.
`
`EX 1027 Page 14
`
`

`

`13
`
`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
`
`Token Ring, ITU X.25, or serial (SLIP) protocols.
`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
`
`5
`
`10
`
`15
`
`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
`
`20
`
`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
`
`25
`
`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.
`The session, or application layer 88 provides a list of network applications
`
`30
`
`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
`
`EX 1027 Page 15
`
`

`

`14
`
`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
`
`5
`
`called "managers." Managers track the status of associated networks. A Remote
`
`Procedure Call (RPC) is a programming interface which enables p

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