throbber
US 20060072457Al
`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2006/0072457 A1
`(43) Pub. Date: Apr. 6, 2006
`
`Noble
`
`(54) PEER SIGNALING PROTOCOL AND
`SYSTEM FOR DECENTRALIZED TRAFFIC
`MANAGEMENT
`
`(75)
`
`Inventor: Alan Noble, South Australia (AU)
`
`Correspondence Address:
`AKERMAN SENTERFITT
`P.O. BOX 3188
`WEST PALM BEACH, FL 33402-3188 (US)
`
`(73) Assignee: Netpriva Pty Ltd., South Australia (AU)
`
`(21) Appl. No.:
`
`11/242,540
`
`(22)
`
`Filed:
`
`Oct. 3, 2005
`
`(30)
`
`Foreign Application Priority Data
`
`Oct. 6, 2004
`
`(AU) ...................................... 2004905742
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`H04L 12/26
`(52) U.S.Cl.
`.............................................................. 370/230
`
`(57)
`
`ABSTRACT
`
`A network communications protocol to allow and points In
`a computer to communicate their respective requirements
`for access to a network resource to each other, and to
`communicate a policy for access to the network resource by
`said endpoints, and to allow negotiation of access to the
`network resource for the respective endpoint in accordance
`with the policy and the requirements information commu-
`nicated by other endpoints. The network resource may be
`access to a WAN connection or an lntemet connection, or
`may be a device such as a network printer or network
`attached storage.
`
`10
`
`APPLICATIONS
`
`APPLICATIONS
`
`
`
`
`
`APPLICATIONS
`
`Microsoft
`
`Ex. 1026 - Page 1
`
`Microsoft
`Ex. 1026 - Page 1
`
`

`

`Patent Application Publication Apr. 6, 2006 Sheet 1 0f 4
`
`US 2006/0072457 A1
`
`13
`
`coed
`
`Microsoft
`
`Ex. 1026 - Page 2
`
`Microsoft
`Ex. 1026 - Page 2
`
`

`

`Patent Application Publication Apr. 6, 2006 Sheet 2 0f 4
`
`US 2006/0072457 A1
`
`APPLICA'HONS
`
`APPL!CA110NS
`
`2
`
`APPLICATIONS
`
`14
`
`‘7
`AL
`
`‘7'
`AL
`
`15
`
`13
`
`Fig 2
`
`Microsoft
`
`Ex. 1026 - Page 3
`
`Microsoft
`Ex. 1026 - Page 3
`
`

`

`Patent Application Publication Apr. 6, 2006 Sheet 3 of 4
`
`US 2006/0072457 A1
`
`Informational
`
`
`
`Indicates that an endpoint is transmitting.
`
`w- Optionally includespriority,requestedbandwidthandother
`
`
`
`I- Request to set a policy or other information, such as WAN
`
`m- Request to get information, such as network statistics or
`
`m Command
`Re uest to ause transmissions.
`
`
`
`
`
`
`information.
`
`as network statistics or the WAN data rate;
`
`
`
`data rate.
`
`cached data.
`
`Figure 3
`
`Microsoft
`
`Ex. 1026 - Page 4
`
`Microsoft
`Ex. 1026 - Page 4
`
`

`

`Patent Application Publication Apr. 6, 2006 Sheet 4 of 4
`
`US 2006/0072457 A1
`
`
`
`
`
`
`
`
`
`
`
`
`:
`
`8-bitunsi edinteer
`l
`
`
`
`
`
`Figure 4
`
`
`
`
`
`
`
`
`
`
`
`Signal time slots
`
`Endpoint 1 signals
`
`Endpoint 2 signals
`
`Endpoint N signals
`
`Figure 5
`
`Microsoft
`
`Ex. 1026 - Page 5
`
`Microsoft
`Ex. 1026 - Page 5
`
`

`

`US 2006/0072457 A1
`
`Apr. 6, 2006
`
`PEER SIGNALING PROTOCOL AND SYSTEM
`FOR DECENTRALIZED TRAFFIC MANAGEMENT
`
`[0001] The present invention relates to a method and a
`signalling protocol for decentralized ac management in a
`computer network.
`
`Small networks, comprising multiple endpoint
`[0002]
`devices, such as desktop computers, notebook computers
`and handheld computers, usually share a link to the external
`network, such as the Internet or Wide Area Network (WAN),
`Via a common access device, such as a DSL modem and/or
`router.
`
`[0003] A common problem is that one endpoint can often
`occupy more than its fair share of the available bandwidth.
`This is particularly true when one or more endpoint users are
`downloading large files, while another endpoint user is
`attempting to use delay-sensitive networked applications,
`such as voice over IP (VolP), Video streaming or online
`games.
`
`It is known to solve these problems by deploying a
`[0004]
`so-called traffic management appliance in series with the
`access device. These appliances are hardware devices that
`optimize network performance, through one or more of the
`following functions: traffic shaping, also known as band-
`width management or quality of service (QoS), compres-
`sion, caching and protocol optimization. Alternatively, traf-
`fic management functions may be integrated into an existing
`networking device, such as a router, obviating the need for
`a separate device. However, traffic management hardware
`devices are expensive. Routers that implement traffic man-
`agement functions are also expensive.
`
`[0005] Network access devices found in small networks,
`however, are relatively inexpensive products lacking quality
`of service (QoS) capabilities. The cost of installing the
`additional hardware or more sophisticated network access
`devices that can implement traffic management
`is often
`prohibitive and also introduces another point of failure into
`the network.
`
`It is an object of the present invention to provide a
`[0006]
`method and a signalling protocol for traffic management that
`overcomes or at least substantially amellorates the problems
`associated with the prior art
`
`[0007] Other objects and advantages of the present inven-
`tion will become apparent from the following description,
`taken in connection with the accompanying drawings,
`wherein, by way of illustration and example, embodiments
`of the present invention are disclosed.
`
`In one form of this invention there is proposed a
`[0008]
`network traffic management sylvan for managing traffic
`flows to a network resource including
`
`a plurality of endpoints adapted to send traffic to
`[0009]
`the network resource, means to set and communicate a
`policy for access to the network resource by said
`endpoints,
`
`a software agent associated with each of said
`[0010]
`endpoints adapted to communicate with each other said
`agent, and to negotiate access to the network resource
`for the respective endpoint
`in accordance with the
`policy and the information communicated by each
`other agent.
`
`In a further form the invention may be said to reside
`[0011]
`in a method of shaping traffic presented to a network
`resource in a local area network including the steps of
`
`providing are agents at each of a plurality of
`[0012]
`network endpoints on a local area network, said agents
`being adapted to communicate with each other agent by
`signals passed over the local area network;
`rov1 in at eac en
`omt means to re u atet e
`'d'g
`h dp'
`gl
`h
`p
`0013
`traffic presented to the network resource by that end-
`point;
`
`providing and communicating to each agent a
`[0014]
`policy for the allocation of use of the network resource
`among the plurality of endpoints;
`
`each agent communicating with each other agent
`[0015]
`to negotiate access to the network resource according to
`the policy and the communicated traffic requirements
`of each endpoint.
`
`In a yet further form, the invention may be said to
`[0016]
`reside in a network communications protocol adapted to
`allow endpoints in a local area network to communicate
`their respective requirements for access to a shared network
`resource to each other.
`
`includes means for
`the protocol
`In preference,
`[0017]
`endpoints to identify each others presence on the network.
`
`In preference, the protocol includes means to com-
`[0018]
`municate relative priority information between endpoints.
`
`In preference, the protocol includes means to com-
`[0019]
`municate a policy for access to the shared network resource
`among all endpoints.
`
`In preference, there resides on the local area net-
`[0020]
`work at least one endpoint adapted to set and communicate
`said policy for access. This endpoint is called a manager.
`
`In preference, the protocol includes means to com-
`[0021]
`municate any or all of an endpoint’s requested bandwidth,
`the data rate of the network resource, network statistics or
`network data.
`
`includes means to
`the protocol
`In preference,
`[0022]
`implement a distributed cache amongst a plurality of end-
`points.
`
`In preference, the network endpoints are comput-
`[0023]
`ing devices.
`
`the network endpoints are client
`In preference,
`[0024]
`devices such as desktop computers, laptop computers and
`handheld computers.
`
`[0025]
`
`In preference an endpoint is a computer server.
`
`In preference an endpoint is a computer peripheral,
`[0026]
`such as a printer or sca1mer.
`
`In preference the network resource is an access
`[0027]
`point to a wide area network.
`
`In preference, the network resource is an access
`[0028]
`point to the Internet.
`
`In preference, the policy for allocation of access to
`[0029]
`the network resource is a policy for allocation of a portion
`of bandwidth on a wide area network or Internet connection
`
`Microsoft
`
`Ex. 1026 - Page 6
`
`Microsoft
`Ex. 1026 - Page 6
`
`

`

`US 2006/0072457 A1
`
`Apr. 6, 2006
`
`to each endpoint calculated as total available bandwidth
`available on the link divided by the number of endpoints.
`
`In preference, the policy for allocation of access to
`[0030]
`the network resource is a policy for allocation of a portion
`of bandwidth on a wide area network or Internet connection
`
`to each endpoint, based on pre-set or communicated relative
`priority of each endpoint.
`
`In preference, each endpoint includes means to
`[0031]
`implement the requirements of the policy by rate limiting.
`
`In preference, the local area network may be a
`[0032]
`wireless network or a 3G network.
`
`[0033] For a better understanding of this invention it will
`now be described with respect to preferred embodiments
`which shall be described herein with the assistance of
`
`drawings wherein;
`
`[0034] FIG. 1 is diagram of a local area network upon
`which the method and a signalling protocol for decentralized
`traffic management of the invention is implemented; and
`
`[0035] FIG. 2 is a diagram of the network of FIG. 1,
`showing data flows when the invention is implemented; and
`
`[0043] Essentially, the fast LAN is used as a signalling
`channel to control access to the much slower WAN. Signal-
`ling is the exchange of information been peer endpoints on
`a fast LAN to control access to a slower WAN. The large
`disparity in speed means that the bandwidth used by the
`signalling does not have a detrimental effect on the data rate
`presented to the WAN.
`
`[0044]
`FIG. 1.
`
`FIG. 2 is a logical block diagram of the system of
`
`[0045] As illustrated in FIG. 2, each endpoint includes
`software modules 21 to implement a decentralized traffic
`management system. These software modules communicate
`by sending data signals 23 to each other across the LAN 14.
`This data comprises signals 23 which implement the Peer
`Signalling Protocol (PSP) of the invention. Each endpoint so
`equipped 10, 11, 12 is referred to as a PSP host, and all PSP
`hosts are peers. There is a distributed system in which
`endpoints emulate and perform the functions of a centralized
`traffic management appliance.
`
`[0046] Applications running on the endpoints communi-
`cate data 25 which is carried by the WAN and also data 26
`which is carried only by the LAN.
`
`[0036] FIG. 3 is a table showing a basic set of protocol
`signals for an embodiment of the Peer Signalling Protocol of
`the invention; and
`
`[0047] Endpoints signal their network traffic requirements
`to their peers, and each endpoint listens for the PSP signals
`from other peers.
`
`[0037] FIG. 4 is a table setting out the header fields of the
`Protocol a the invention; and
`
`In order to send and receive data over the WAN,
`[0048]
`each endpoint must gain access to the WAN bandwidth.
`
`[0038] FIG. 5 illustrates time slicing for a synchronous
`embodiment of the invention.
`
`[0039] Now referring to the illustrations, and in particular
`to FIG. 1, there is shown a desktop computer 10, a server
`computer 11 and a laptop computer 12 These are network
`endpoints, which share access to an external network 13 via
`a local area network (LAN) 14 and a common access device,
`being a DSL modem and router 15. In other embodiments
`(not shown) the endpoints may be any computing devices
`and the common access device may be a router, cable
`modem or network switch. The external network 13 shown
`
`as a corporate wide area network (WAN), may be the
`Internet.
`
`[0040] The network endpoints on the Local Area Network
`(LAN) signal each other so as negotiate access to the shared
`external network. The system thereby implements a virtual
`centralized traffic manager, by means of decentralized traffic
`management.
`
`[0041] This is possible because of the large disparity
`between LAN and WAN data rates, which is typically 2 or
`3 orders of magnitude. LAN data rates are between 100
`Mbps and 10 Gbps, whereas WAN data rates are typically
`under 45 Mbps (T3) for a corporate WAN, or 1 Mbps for a
`typical DSL Internet link. In the time it takes to transmit l
`Mbyte of data over a 1 Mbps WAN link, 100 Mbytes of data
`can be transmitted over a 100 Mbps LAN, which is equiva-
`lent to one million lOO-byte messages.
`
`[0049] Endpoints negotiate their use of WAN bandwidth
`according to a policy. In policy-based networking such as
`this, a policy is a formal set of statements that define how the
`network’s resources are to be allocated among network
`users, hosts, applications and other devices. The policy may
`be static and pre-configured, or dynamic and communicated
`via the signalling protocol or another mechanism.
`
`[0050] One or more of the endpoints may be designated
`managers. These determine and broadcast the policy in
`effect to their peers.
`
`In the absence of a manager, there may be a default
`[0051]
`(pre-defined) policy, such as, “highest priority host gets 50%
`of the bandwidth”. Note that while the use of a manager
`centralizes the policy control,
`the policy enforcement is
`decentralized. Each endpoint controls the rate at which it
`send data to the WAN itself, in response to the set policy.
`This control is performed by a rate limiter 28.
`
`[0052] The major signals of this protocol are shown in
`FIG. 3, but many more may be contemplated. As shown in
`the figure the signals are as follows:
`transmit
`
`[0053]
`
`[0054] There are two defined time periods, TransmitPeriod
`and TransmitWait All PSP hosts, while attempting to trans-
`mit traffic regularly broadcast a transmit messages every
`TransmitPeriod milliseconds, providing another host with
`higher priority has not transmitted during the last Transmit-
`Period milliseconds. A PSP host will refrain from broad-
`
`[0042] The high data rates of the LAN make it feasible to
`implement a signalling protocol between endpoints that
`enables endpoints to negotiate access to the WAN and adjust
`on the fly what they are transmitting over the WAN.
`
`casting transmit messages if another host with higher pri-
`ority is
`transmitting. A transmit message may not be
`broadcast less than TransmitWait milliseconds prior to the
`last message.
`
`Microsoft
`
`Ex. 1026 - Page 7
`
`Microsoft
`Ex. 1026 - Page 7
`
`

`

`US 2006/0072457 A1
`
`Apr. 6, 2006
`
`[0055] The body of to transmit message may specify
`parameters, such as the requested bandwidth, priority, and
`other information as required, or it may be empty.
`
`[0056]
`
`set
`
`[0057] The set operation is sent out by a PSP Manager to
`establish a policy. A PSP Manager is an endpoint configured
`to load and deploy policies. The body of the set message
`contains the policy to be established.
`
`In the illustrated embodiment, the default policy is
`[0058]
`for a lower priority host to simply back off in the presence
`of traffic from a higher priority host
`
`[0059]
`
`info
`
`[0060] The info operation indicates that an endpoint has
`new information to share, such as network statistics or the
`WAN data rate.
`
`get
`
`where there are N endpoints, Ri is the rate of endpoint l and
`RWAN is the WAN data rate. The system attempts to maintain
`the equality of the left and right sides of the rate equation in
`both send and receive directions at all times. Each endpoint
`enforces its rate, Ri, by means of a bidirectional rate limiter
`28 that controls the maximum rate of traffic sent and
`
`received. The rate limiter need only limit traffic 25 sent to or
`received from the WAN, not traffic 26 that is internal to the
`LAN.
`
`If the sum of the endpoint rates is less than the
`[0068]
`actual WAN data rate means that WAN bandwidth is under
`
`utilized. If the sum is greater than the actual WAN data rate
`that means that the WAN link is over utilized or congested.
`A congested WAN link means that endpoints are competing
`for bandwidth, rather than negotiating a guaranteed share of
`the bandwidth.
`
`[0069] For example, a fair, static partitioning across N
`endpoints simply limits each endpoint to precisely l/NLh of
`the WAN data rate, i.e.:
`
`[0061] This is sent as a request to get information, such as
`network statistics or cached data.
`
`R1=R2=R3 .
`
`.
`
`. =Rn=<RWANW>
`
`[0070] An unfair, static portioning allocates different rates
`to each endpoint, while nevertheless maintaining the equal-
`ity of the rate equation.
`
`[0071] Static partitioning can be implemented without any
`form of signalling but results in wasted bandwidth whenever
`one or more of the endpoints require less than their share.
`
`[0072] A dynamic partitioning scheme allocates band-
`width across the subset of endpoints that are actually trans-
`mitting at any given time.
`
`[0073] Endpoints can determine what other endpoints are
`transmitting either implicity by sniffing what
`is on the
`physical network or explicitly via signalling. In the inven-
`tion, endpoints broadcast or multicast PSP transmit signals
`periodically whenever they are transmitting. By counting the
`number of transmitters present during a given interval, the
`system can determine the total number of endpoints that are
`currently transmitting and partition bandwidth accordingly.
`
`[0074] Further, by including a host priority the transmit
`signal, lower-priority endpoints can be configured to back
`off transmitting either partially or completely in the presence
`ofhigh—priority traflic. This can be used to implement a form
`of priority queuing.
`
`[0075] A further embodiment includes an application pri-
`ority in the transmit signal to enable priority queuing by
`software application, either in combination with host prior-
`ity or independently.
`
`includes an endpoint’s
`[0076] A further embodiment
`requested bandwidth in the transmit message. The requested
`bandwidth can be pre-configured or can be computed
`dynamically by summing the minimum required bandwidth
`required for each networked application running on a given
`endpoint. The minimum required bandwidth for each appli-
`cation can be specified in the policy. Prior art techniques,
`such as windows-based traffic management, can be used to
`determine what networked application are running on a
`given endpoint at a given time. The system will then attempt
`to allocate each endpoint its requested bandwidth in order of
`priority. Each endpoint first sums the requested bandwidth
`from each transmit signal. If more bandwidth is requested
`
`Microsoft
`
`Ex. 1026 - Page 8
`
`pause
`
`[0062] This is sent to request an endpoint or endpoints to
`pause transmissions.
`
`In the illustrated embodiment, PSP is a UDP-based
`[0063]
`broadcast protocol. The PSP header is shown in FIG. 4.
`
`[0064] All integers are in standard network representation.
`
`the minimum PSP packet
`[0065] Over Ethernet,
`bytes (560 bits), broken down as follows:
`
`is 70
`
`OSI Layer
`
`Header
`
`Layer 5
`Layer 4
`Layer 3
`Layer 2
`
`PSP header
`UDP header
`IP header
`Ethernet frame
`
`Size
`
`30 bytes
`8 bytes
`20 bytes
`12 bytes
`
`It can be seen, for example, that 100 hosts broad-
`[0066]
`casting 10 times/second generate 560 kbps of LAN traflic,
`i.e., less than 1% of the capacity of a 100 Mbps LAN. The
`transmission time for each signal is 5.6 microseconds. The
`usage of LAN resources does not therefore impact on the
`capacity of the LAN to present data to the WAN at the full
`speed which the WAN can accept.
`
`[0067] The system flexibly partitions the WAN bandwidth
`among the endpoints. The exact partitioning of bandwidth
`depends on the installed policy, and may be fair or unfair,
`static or dynamic. The goal of the system is to ensure that the
`sum of the endpoint data rates is always equal to the overall
`WAN data rate, RWAN, as specified by the following rate
`equation.
`
`Ri = Rm
`
`N Z
`
`[:1
`
`Microsoft
`Ex. 1026 - Page 8
`
`

`

`US 2006/0072457 A1
`
`Apr. 6, 2006
`
`than is available, endpoints will renegotiate their bandwidth
`requirements according to the installed policy and re-trans-
`mit accordingly. For example, one policy could require
`endpoints to proportionally reduce their requested band-
`width,
`i.e.,
`in a pro rata fashion. Another, policy could
`require low-priority endpoints to temporarily stop transmit-
`ting.
`
`[0077] A further embodiment specifies a minimum guar-
`anteed bandwidth for each endpoint, but permits endpoints
`to burst above their minimum if not all of the WAN link is
`
`being utilized. Endpoints signal their intent to use additional
`bandwidth, to avoid multiple endpoints from attempting to
`overallocate bandwidth.
`
`[0078] An embodiment with improved efficiency can be
`implemented by synchronizing the system time of each
`endpoint and assigning each endpoint a unique signalling
`time slot, as described in FIG. 5. For example, if there are
`100 endpoints transmitting 10 times/second (i.e., every 100
`milliseconds) then signals can be spread out every millisec—
`ond. Synchronization can be performed via a standard
`synchronization protocol, such as Network Time Protocol
`(NTP).
`
`time. Endpoints receiving a pause interpret may elect to
`delay or ignore the pause request. Therefore the tester must
`wait until all other endpoints cease transmitting, or give up
`and try again later if transmissions continue unabated. Once
`the network is quiet the tester performs a speed test, possibly
`in both directions. Upon computing the WAN data rate,
`which typically takes no more than a couple of seconds, the
`tester communicates the results via the info or set signal.
`
`In a system with a designated manager, the man-
`[0086]
`ager listens for info signals and will set the new WAN data
`rate.
`
`is
`the speed test
`In the piggyback speed test,
`[0087]
`performed by clocking part of an exiting data transfer. Any
`endpoint can perform the test providing the following two
`conditions are met:
`
`1) no other endpoints transmit during the speed
`[0088]
`test (determined by absence of other transmit signals)
`
`[0089]
`
`2) the data transfer saturates the WAN data link
`
`[0090] Upon successfully completing the speed test, the
`results are communicated via the info or set signal.
`
`[0079] Endpoints periodically determine the WAN data
`rate, i.e., the speed of the WAN link. The WAN data rate may
`be dynamic (vary over time).
`
`[0091] For example, a piggyback speed test may be com-
`bined with downloading an operating system update or
`updating a local cache.
`
`it is first
`In order to share the WAN bandwidth,
`[0080]
`necessary for the system to know the WAN data rate (WAN
`link speed). Further, certain WAN technologies, such as
`Frame Relay, have variable data rates. In such cases the
`system must distinguish between the minimum guaranteed
`rate, sometimes called the Committed Information Rate
`(CIR), and the maximum access rate, sometimes called the
`Excess Information Rate (EIR).
`
`[0081] When the WAN data rate is static and known ahead
`of time, endpoints can be simply pre-configured with this
`information via the installed policy.
`
`[0082] When the WAN data rate is dynamic or static but
`unknown, it must be computed. The system computes the
`data rate by performing a speed test. Prior art describes
`speed testing for a single host. The method herein is for
`performing speed testing in a distributed system. The speed
`test involves transferring data to or from one or more known
`fast servers, herein known as speed test servers. (On the
`Internet, there are pubic speed test servers, such as DSLre-
`ports.com. It is also possible to set up and use a speed test
`server on a corporate network.)
`
`[0083] The data rate is computed by clocking the data
`transfer and dividing the data size in bits by the transfer time
`in seconds minus connection/disconnection time (If using
`TCP or another connection-oriented protocol. The key
`requirement
`is that there is sufficient data and both the
`sending and receiving hosts are sufficiently fast to com-
`pletely saturate the WAN link.
`
`Several methods may be used to compute the WAN
`[0084]
`data rate in a peer signalling system,
`two of which are
`described below.
`
`In the dedicated speed test, a designated endpoint,
`[0085]
`known as the tester, requests other endpoints to briefly pause
`transmitting,
`then performs a speed test. The tester first
`sends a pause signal to the other endpoints to request quiet
`
`[0092] There is a variety of prior-art techniques for deter-
`mining when a WAN link is saturated. For example, one
`active measurement technique involves injecting multiple
`Internet Control Message Protocol (ICMP) ‘ping’ packets
`into the WAN and measuring inner-packet delay, round trip
`times, and packet losses. The speed test server may also be
`utilized for performing active measurements.
`
`[0093] Endpoints that implement the peer signalling pro-
`tocol are referred to as signalling devices. In a fully managed
`LAN, all endpoints should be configured to be signalling, to
`ensure that the traffic contributed by all endpoints is taken
`into account. Traffic originating from signaling devices can
`be identified by signing packets, namely, adding a signature
`to each packet.
`
`[0094] One signing technique is packet colouring or
`packet marking, i.e., writing specific packet header fields,
`for example,
`the IP Layer 3 Type of Service (ToS) or
`Differentiated Services (Difi‘Serv)
`field. Marks may be
`altered dynamically to minimize the risk of spoofing by
`non-signaling devices.
`
`[0095] Another signing technique is encapsulation, which
`involves encapsulating the entire packet within another
`protocol, for example, by using Generic Routing Encapsu-
`lation (GRE). While the main use of GRE is to route IP
`packets between private IP networks across an internet, It is
`also feasible to encapsulate packets over a LAN. Further, the
`encapsulation may include a digital signature for strong
`security.
`
`[0096] Conversely, non-signalling endpoints will not sign
`packets, and can therefore be identified by the absence of a
`packet signature, i.e., the correct packet mark or encapsu-
`lation.
`
`[0097] Each endpoint in the system may be optionally
`configured to store data that is requested from a data source
`via the WAN, thereby creating a distributed cache. End-
`
`Microsoft
`
`Ex. 1026 - Page 9
`
`Microsoft
`Ex. 1026 - Page 9
`
`

`

`US 2006/0072457 A1
`
`Apr. 6, 2006
`
`points requesting data Via the WAN can first request if data
`is available from one of their peers Via a get signal. If a peer
`already has the data, the data can fetched quickly Via the
`LAN, thereby eliminating redundant data transfers Via the
`slower WAN.
`
`[0098] Each endpoint in the system may optionally store
`numerous network statistics, such as bandwidth, round—trip
`time, latency, etc. Statistics for the system as a whole can
`then be aggregated to one or more designated reporter,
`specified by the policy. The reporter may be local to the
`LAN or accessible Via the WAN. A possible aggregation
`method is Push-based aggregation wherein each endpoint
`will periodically push statistics to the reporter Via an info
`signal.
`
`[0099] AltematiVely Query-based aggregation may be
`used wherein The reporter will periodically query each
`endpoint with a get signal and request the latest statistics.
`
`[0100] Each endpoint in the system may be optionally
`configured Via the installed policy to detect and respond to
`anomalous network conditions. For example, so-called port
`scanning or Denial of Service (DOS) style attacks, resulting
`in hosts creating and destroying large numbers of c01mec-
`tions per second, are characteristic of network Viruses. Such
`conditions can be detected and trigger self-policing behaV-
`ior, for example, rate limiting some or all trafiic originating
`from the infected host.
`
`[0101] Although the inVention has been herein shown and
`described in what is conceiVed to be the most practical and
`preferred embodiment, it is recognised that departures can
`be made within the scope of the inVention, which is not to
`be limited to the details described herein but
`is to be
`
`accorded the full scope of the appended claims so as to
`embrace any and all equiValent deVices and apparatus.
`
`1. A network communications protocol for use in a
`computer network including a shared network resource and
`a plurality of endpoints adapted to send traffic to the network
`resource,
`
`said protocol adapted to allow endpoints in the network to
`communicate their respectiVe requirements for access
`to the network resource to each other;
`
`and to communicate a policy for access to the network
`resource by said endpoints,
`
`and to allow negotiation of access to the network resource
`for the respectiVe endpoint
`in accordance with the
`policy and the requirements information communicated
`by other endpoints.
`2. The protocol of claim 1 wherein the protocol includes
`means for endpoints to identify each other’s presence on the
`network.
`
`3. The protocol of claim 1 wherein the protocol includes
`means to communicate relatiVe priority information between
`endpoints.
`4. The protocol of claim 1 wherein the protocol includes
`means to communicate any or all of an endpoints requested
`bandwidth, the data rate of the network resource, network
`statistics and network data.
`
`5. The protocol of claim 1 wherein the protocol includes
`means to implement a distributed cache amongst a plurality
`of endpoints.
`
`6. The protocol of claim 1 wherein the network resource
`is an access point to a wide area network.
`7. The protocol of claim 1 wherein the network resource
`is an access point to the internet.
`8. The protocol of claim 1 wherein Om policy for allo-
`cation to the network resource is a policy for allocation of a
`portion of bandwidth on a wide area network or intemet
`connection to each endpoint, calculated as total aVailable
`bandwidth aVailable on the link diVided by the number of
`endpoints.
`9. The protocol of claim 1 wherein the policy for alloca-
`tion of access to the network resource is a policy for
`allocation of a portion of bandwidth on a wide area network
`or intemet connection to each endpoint, based on pre-set or
`communicated relatiVe priority of each endpoint.
`10. A network traffic management system for managing
`traffic flows to a network resource including
`
`a plurality of endpoints adapted to send traffic to the
`network resource, means to set and communicate a
`policy for access to the network resource by said
`endpoints,
`
`a software agent associated with each of said endpoints
`adapted to communicate with each other said agent,
`and to negotiate access to the network resource for the
`respectiVe endpoint in accordance with the policy and
`the information communicated by each other agent.
`11. The network traffic management system of claim 10
`whereii the network endpoints are computing deVices.
`12. The network traffic management system of claim 10
`whereii the network endpoints are client deVices such as
`desktop computers, laptop computers and handheld comput-
`ers
`
`
`
`13. The network traffic management system of claim 10
`whereii an endpoint is a computer server.
`14. The network traffic management system of claim 10
`whereii an endpoint is a computer peripheral, such as a
`printer or scanner.
`15. The network traffic management system of claim 10
`whereii each endpoint includes means to implement the
`requirements of the policy by rate limiting.
`16. The network traffic management system of claim 10
`whereii each endpoint includes means to implement the
`requirement of the policy by rate limiting.
`17. The network trafiic management system of claim 10
`wherei 1 the local area network is a wireless network or a 3G
`
`mobile telephony network.
`18. A method of shaping traffic presented to a network
`resource in a local area network including the steps of
`
`pr0Viding software agents at each of a plurality of net-
`work endpoints on a local area network, said agents
`being adapted to communicate with each other agent by
`signals passed 0Ver the local area network;
`
`pr0Viding at each endpoint means to regulate toe traffic
`presented to the network resource by that endpoint;
`
`pr0Viding and communicating to each agent a policy for
`the allocation of use of the network resource among the
`plurality of endpoints;
`
`to
`each agent communicating with each other agent
`negotiate access to the network resource according to
`the policy and the communicated traffic requirements
`of each endpoint.
`
`Microsoft
`
`Ex. 1026 - Page 10
`
`Microsoft
`Ex. 1026 - Page 10
`
`

`

`US 2006/0072457 A1
`
`Apr. 6, 2006
`
`19. The method of claim 18 wherein there resides on the
`local area network at least one endpoint adapted to set and
`communicate said policy for access.
`20. The method of claim 18 wherein each endpoint
`includes means to implement to requirements of the policy
`by rate limiting.
`
`21. The method of claim 18 wherein the local area
`network is a wireless network or a 3G mobile telephony
`network.
`
`Microsoft
`
`Ex. 1026 - Page 11
`
`Microsoft
`Ex. 1026 - Page 11
`
`

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