throbber
(12) United States Patent
`Bauer et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,600,033 B2
`Oct. 6, 2009
`
`USOO76.00033B2
`
`(54) NETWORK TRAFFIC CONTROL IN
`PEER-TO-PEER ENVIRONMENTS
`
`(75) Inventors: Daniel N. Bauer, Birmensdorf (CH):
`John G. Rooney, Zurich (CH); Paolo
`Scotton, Horgen (CH); Marcel
`Waldvogel, Stein am Rhein (CH)
`
`(*) Notice:
`
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`-
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 843 days.
`10/535,123
`
`(21) Appl. No.:
`
`(22) PCT Filed:
`
`Oct. 28, 2003
`
`(86). PCT No.:
`
`PCT/B03/048OO
`
`S371 (c)(1),
`(2), (4) Date:
`
`Nov. 28, 2005
`
`(65)
`
`(87) PCT Pub. No.: WO2004/047408
`PCT Pub. Date: Jun. 3, 2004
`Prior Publication Data
`US 2006/O1683O4 A1
`Jul. 27, 2006
`O
`O
`Foreign Application Priority Data
`(30)
`Nov. 15, 2002
`(EP) .................................. 02025751
`s
`(51) Int. Cl.
`G06F 5/16
`
`(2006.01)
`
`56
`(56)
`
`(52) U.S. Cl. ....................... 709/232; 370/469; 370/254;
`370/230.1; 370/252; 379/70; 379/49; 379/88.24
`(58) Field of Classification Search ................. 709/227,
`709/228, 229, 230, 231, 232
`See application file for complete search history.
`Ref
`Cited
`eeees e
`U.S. PATENT DOCUMENTS
`7,120,792 B1 * 10/2006 Jacobson et al. ............ T13,153
`7,428,590 B2 * 9/2008 Miller et al. ......
`... 709,225
`2002fO199012 A1* 12/2002 Cable et al. .......
`... 709,233
`2003/0004822 A1
`1/2003 Shorter et al. ................. 705/26
`2007/0064702 A1
`3/2007 Bates et al. ................. 370,392
`OTHER PUBLICATIONS
`http://www.mikrotik.com/testdocs/ros?2.8/ip/peer2peer.pdf Sep. 16,
`2004 vol. 2.8 “Peer to Peer Traffic control.
`http://www.cisco.com/en/US/prod/collateral/vpndevc/ps6032/
`psé094/ps6120 at a glance c45-530437.pdf "Cisco ASA Bonet
`Traffic Filter’.
`* cited by examiner
`Primary Examiner Thuha T. Nguyen
`Assistant Examiner—Randy Scott
`(74) Attorney, Agent, or Firm Vazken Alexanian
`(57)
`ABSTRACT
`A method and an electronic unit are disclosed for controlling
`traffic on a network, especially for controlling peer-to-peer
`related traffic. A filter unit is intercepting messages related to
`peer-to-peer application from a network line, irrespective of
`the messages destination, A control logic then manages a
`request represented by an intercepted message subject to its
`content and Subject to peering specific information.
`
`1 Claim, 9 Drawing Sheets
`
`
`
`
`
`
`
`
`
`Peer Request (C)
`
`Peer Request (A)
`
`a (a)
`
`(b)
`
`Cloudflare - Exhibit 1088, page 1
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 1 of 9
`
`US 7.600,033 B2
`
`Peer Request (C)
`
`Peer Request (A)
`
`(a)
`
`(b)
`
`
`
`
`
`
`
`Fig. 1
`
`Cloudflare - Exhibit 1088, page 2
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 2 of 9
`
`
`
`Cloudflare - Exhibit 1088, page 3
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 3 of 9
`
`US 7,600,033 B2
`
`A
`
`Looking for
`"vivaldi:mp3"
`N C
`
`1
`
`3
`
`
`
`
`
`
`
`Looking for
`"vivaldi:mp3"
`
`Looking for
`"vivaldi:mp3"
`
`E has
`"vivaldi:mp3" 2
`
`
`
`E has
`"vivaldi:mp3"
`
`
`
`
`
`
`
`
`
`
`
`Fig. 3
`
`
`
`ga Looking for
`
`
`
`"vivaldi:mp3"
`
`
`
`
`
`(b)
`
`E has
`"vivaldi:mp3"
`
`Cloudflare - Exhibit 1088, page 4
`
`

`

`U.S. Patent
`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 4 of 9
`
`US 7,600,033 B2
`US 7,600,033 B2
`
`(9)
`
`p6i4
`
`
`uoneujsepseA=¢uOHeUSEpeuopApeaije
`YUM188d0}pesu|0qOU}UUM188d
`
`au}<—a9)YMseed<«——jou}!soyeulBUO
`
`pienso=<———————-__9}0}BulBuojaq<——_
`
`ou
`
`yeyoeddoiq
`
`
`
`
`
`
`
`ouyeyoeday}S|
`
`Soh
`
`éuojeoydde
`
`Cloudflare - Exhibit 1088, page 5
`
`Cloudflare - Exhibit 1088, page 5
`
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 5 of 9
`
`US 7.600,033 B2
`
`Client A
`
`Booster 5
`
`Client B
`
`Request (A, B)
`
`interception
`Originator's address extraction
`
`Connection Request (B, A)
`
`Connection Accept (A, B)
`
`Request discarded
`
`Fig. 5
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 8
`
`
`
`E
`
`Cloudflare - Exhibit 1088, page 6
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 6 of 9
`
`US 7,600,033 B2
`
`
`
`3
`
`Request dropped
`
`Peer Request(G)
`
`Request dropped
`There is no need for A to peer with D
`so G does not send the request further
`
`Cloudflare - Exhibit 1088, page 7
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 7 Of 9
`
`US 7,600,033 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`(O)
`
`paddoucí
`?deoovy
`
`Cloudflare - Exhibit 1088, page 8
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 8 of 9
`
`US 7,600,033 B2
`
`
`
`Advanced Search and
`Location Protocol
`
`Filename
`
`Fig. 9
`
`
`
`
`
`Fig. 10
`
`Cloudflare - Exhibit 1088, page 9
`
`

`

`U.S. Patent
`
`Oct. 6, 2009
`
`Sheet 9 Of 9
`
`US 7,600,033 B2
`
`100
`
`Consists of several WOrds
`
`101
`
`Stop-word filter
`
`Removes useless Words
`
`
`
`102
`
`
`
`Translates into chunkS
`
`Hash-code - 103
`
`
`
`
`
`Retrieve from distributed hash table
`
`
`
`Matching
`Filenames
`
`Matching
`Filenames
`
`Matching
`Filenames
`
`-- 105
`
`Report to gnutella Peer
`
`-- 106
`
`Fig.11
`
`200
`
`
`
`Consists of Several Words
`
`
`
`
`
`201
`
`Stop-word filter
`
`Removes uSeleSS WOrds
`
`202
`
`
`
`
`
`
`
`
`
`
`
`Translates into chunks
`
`Hash-COce
`
`Store in distributed hash table
`
`Fig. 12
`
`Cloudflare - Exhibit 1088, page 10
`
`

`

`US 7,600,033 B2
`
`1.
`NETWORK TRAFFIC CONTROL IN
`PEER-TO-PEER ENVIRONMENTS
`
`CROSS REFERENCE AND PRIORITY
`
`This application filed under 35 USC 371, is cross-refer
`enced with, and claims priority from, International Patent
`Application PCT/IB2003/004800 filed on Oct. 28, 2003, and
`published in English with Publication No. WO2004/047408
`published on Jun. 3, 2004, under PCT article 21(2), which in
`turn claims priority of EP02025751.5, filed on Nov. 15, 2002.
`
`10
`
`TECHNICAL FIELD
`
`The present invention relates to a network traffic control
`unit, a network comprising such a network traffic control unit,
`a method for controlling traffic on a network, and to a corre
`sponding computer program product.
`
`15
`
`BACKGROUND OF THE INVENTION
`
`2
`peer nodes A, B, C, respectively D and E. Reference 3 indi
`cates some physical interconnection (wire-bound, wireless)
`between peer groups 1 and 2. Arrows indicate an already
`established peering connection which is rather a logical inter
`connection than a physical interconnection. Such connection
`is established by having one of the peers send a connect
`request message to the other peer and the other peer having
`accepted this connect request message with an accept mes
`sage according to the protocol of the peer-to-peer application.
`In FIG.1a), node C is peered with nodes A and B, as well
`as node D is peered with node E. Nodes C and Dare prone to
`peering as C gets to know about D. Therefore C sends a
`connect request to D and D accepts by sending an accept
`message back to C.
`According FIG.1b), C and Dare now peered and C relays
`messages to D, the messages issued by A and B, whereas D
`relays messages to C, the messages issued by E. In the fol
`lowing, A and D would like to peeras Agets to know about D.
`Therefore A sends a connect request to D and D accepts by
`sending an accept message back to A.
`According to FIG.1c), A and Dare now peered in addition
`to the already existing peering connections. However, there
`are now two logical peering connections existing on the
`physical interconnecting link 3. These two logical connec
`tions were established by means of at least four messages
`crossing the interconnection 3.
`This overlay network that is a term for the network of
`logical connections—is an ad-hoc network that does not rely
`on an infrastructure. One well-known problem is how to
`bootstrap the peering mechanism, that is how a peer can find
`addresses of other peers to peer with. Usually two types of
`techniques are used to solve this problem. One solution con
`sists of the peer connecting to a server located at a well-known
`address. This server maintains a list of peers addresses that
`are communicated to the peer. Another Solution is for the peer
`to maintain itself a list of other peer it peered with and use
`addresses from this list.
`In account of the technique, peering is done based on a list
`of addresses without taking into the actual network infra
`structure or the affinity between peers. Therefore the resulting
`overlay network is typically totally de-correlated from the
`physical network. This can lead to a very inefficient use of the
`network resources and poor performances of the file search
`protocol using this network.
`Another example shown in FIG. 2 demonstrates an
`example how a physical network is flooded with peer-to-peer
`application messages in order to establish adjacencies
`between peer nodes. Three clusters 1, 2, 4 are shown. Big
`circles represent physical network nodes (e.g. routers, gate
`ways), whereas Small circles represent peer nodes. Dotted
`lines represent physical interconnections between physical
`network nodes, whereas straight lines represent logical inter
`connections between peer nodes. As can be derived from FIG.
`2. peer node A is communicating with peer node F only via
`peer nodes B to E, while they are adjacent in the physical
`network. Note that in this example links joining cluster 1 to
`cluster 2 and cluster 1 to cluster 3 will easily get congested.
`Structure of peer-to-peer applications thus result in a lim
`ited scalability due to brute-force flooding and a clear misfit
`of the overlay network topology with the underlying Internet
`topology representing the physical connections.
`Flooding the underlying physical network with messages
`is not only a problem when looking for other peers to peer
`with but also when querying for information, Such as data
`files, once an overlay network is established.
`FIG.3 introduces such exemplary query process according
`to the protocol of a peer-to-peer application: FIG. 3a) is
`
`Peer-to-peer applications become more and more popular
`since a wide range of data stored on computers on the edge of
`the Internet can now be accessed. Computers that stored and
`provided data only for local access and in addition provided
`means for retrieving data from Internet servers may serve
`today as a database for other computers and simultaneously
`may receive data not only from Internet servers but also from
`other remote computers when executing peer-to-peer appli
`cations. This widens the pool of accessible data tremen
`dously.
`Below, the term peer or node or peer node is used for an
`electronic device—for example a computer, a workstation or
`a PDA (personal digital assistant) but not limited to that can
`run a peer-to-peer application. Therefore, such node should
`be able to access a network in order to exchange information
`with other nodes.
`Gnutella is currently one of the most prominent represen
`tative of unstructured peer-to-peer applications, see "The
`Gnutella Protocol Specification v0.4 Document Revision
`1.2, retrieved on the Internet http://www9.limewire.com/
`developer/gutella protocol 0.4.pdf and accessed Nov. 15,
`2002. These applications are called unstructured as nodes
`peer with other nodes in a random fashion. Searching in
`unstructured peer-to-peer network essentially is a random
`probing as resources Such as files or other services are made
`available on arbitrary nodes in the network, see "Search and
`Replication in Unstructured Peer-to-Peer Networks'. Qin LV
`et al., in 16th ACM International Conference on Supercom
`puting, June 2002. The main advantages of these systems are
`their simplicity, for example the protocols used are very
`simple, and their dynamics in a sense that nodes can appear
`and disappear at a high rate. Another advantage is that search
`queries can be almost arbitrary complex and includes key
`word-searching, Substring-matching etc.
`Peer-to-peer applications that include file exchange proto
`cols—like Gnutella Gnu V0.4 dynamically establish an
`“overlay' network to exchange information. When a peer is
`started, it tries to peer with other peers using a request/accept
`protocol. The requesting peer sends a “connect request to
`another peer node. If this other peer authorizes the connection
`it answers with a “connect accept and the two parties estab
`lisha adjacency. Then they can start exchanging information
`that get passed on to other peers.
`FIG. 1 illustrates the way connectivity is achieved within
`an exemplary network comprising at least two peer groups 1
`and 2 also called clusters. Each peer group 1 or 2 comprises
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Cloudflare - Exhibit 1088, page 11
`
`

`

`3
`similar to FIG. 1a) and shows the establishment of a peering
`connection between nodes C and D.
`According to FIG. 3b), node A now issues a query request
`“Looking for vivaldi.mp3. C forwards this query request to
`B and D, D forwards this request to D. Arrows between two
`peer nodes pointing only in one direction indicate the trans
`mitted query requests.
`E is Supposed to have what A is looking for, so E sends a
`confirmation message to D, see FIG. 3c). D knows that the
`confirmation is related to a request coming from C so sends
`the confirmation message to C.C knows that the confirmation
`message is related to a request coming from A So sends the
`confirmation message to A. Then, A contacts E using other
`means, e.g. HTTP to get the file.
`EP 1 229 442 A2 discloses a peer-to-peer protocol that is
`meant to be uniform fro many different peer-to-peer applica
`tions. There are different layers defined, such as a platform
`core layer, a platform services layer, and a platform applica
`tion layer. Socalled rendezvous peers can maintain dynamic
`indexes for entities in the peer-to-peer platform including
`peers or peer groups. Rendezvous peers are considered to be
`peers executing additional functions.
`“Idebtifying and Controlling P2P/File-Saring Applica
`tions”, retrieved from the Internet http://www.allot.com/
`html/solutions notes kazaa.shtm and accessed Oct. 17, 2002,
`“Packeteer: Another take on limiting P2P traffic', by Ann
`30
`Harrison, retrieved from the Internet http://www.nwfusion
`.com/newsletters/fileshare/2002/01297785.html
`and
`accessed Oct. 17, 2002, “Four Steps to Application Perfor
`mance across the Network', by Packeteer/TM Inc., retrieved
`from the Internet http://www.packeteerde and accessed Oct.
`17, 2002, each disclose a device that detects and identifies
`different types of traffic. In a second step, network and appli
`cation behaviour—especially bandwidth consumption is
`analyzed. According to the analysis, bandwidth is allocated to
`different applications.
`EP 1 075 112 A1 describes a PNNI hierarchical network,
`whereby one of the peers represents a peer group as a peer
`group leader. The peer group leader has a memory for storing
`peer group topology data.
`Several approaches to limit peer-to-peer traffic were intro
`duced that are highly structured: 'A scalable Content-Ad
`dressable Network', by S. Ratnasamy et al., in ACM SIG
`COMM, pages 161-172, August 2001; “Pastry: Scalable,
`50
`decentralized object location and routing for large-scale peer
`to-peer systems', by A. Rowstron and P. Druschel, in IFIP/
`ACM International Conference on Distributed Systems Plat
`forms (Middleware), pages 329-350, November 2001;
`“Chord: A scalable Peer-to-peer Lookup Service for Internet
`Applications', by I. Stoica et al., in Proceedings of the 2001
`ACM SIGCOMM Conference, pages 149-160, August 2001.
`These approaches tightly control how and on which nodes
`information is stored. Also, peering of nodes is not random
`and the resulting overlay networks are often congruent to the
`underlying Internet topology. The disadvantage is that these
`approaches do not cope well with very high dynamics, i.e. a
`rapidly changing user population makes these systems
`unstable. Furthermore, these systems excel in exact-match
`queries but have some weaknesses in key-word based queries
`and Substring queries.
`
`4
`Therefore, it is desired to have network traffic controlling
`means provided while having peers causing Such traffic
`remaining unchanged.
`
`SUMMARY OF THE INVENTION
`
`According to one aspect of the invention, there is provided
`a network traffic control unit, comprising a filter unit for
`intercepting messages from a network line. Messages are
`intercepted relating to peer-to-peer application irrespective of
`the destination of a message. There is further provided a
`control logic that is configured for managing a request repre
`sented by an intercepted message. Subject to its content and
`Subject to peering specific knowledge the network traffic
`control unit provides.
`According to another aspect of the invention there is pro
`vided a method for controlling traffic on a network, compris
`ing receiving messages relating to peer-to-peer application,
`intercepted by a filter unit from a network line, irrespective of
`the messages destination, and managing a request repre
`sented by an intercepted message. Subject to its content and
`Subject to peering specific information.
`The filter unit filters messages that indicate in one way or
`another that they are peer-to-peer application related. Peer
`to-peer applications typically enable user computers to act as
`both client and server for data files or services to other user
`computers. In a preferred embodiment, the filter unit is check
`ing port fields of TCP messages with regard to appearance of
`defined port numbers in designated port fields that indicate
`peer-to-peer application. A peer-to-peer application might
`use a port number to be identified that is different to the port
`number of other peer-to-peer applications, and different to
`port numbers of other non peer-to-peer applications. How
`ever, other significant information of a message might be used
`to filter peer-to-peer application related messages. The net
`work traffic control unit and its filter unit might be prepared to
`filter and then to control only messages related to a certain
`peer-to-peer application or might be prepared to filter and
`then to control messages of different known peer-to-peer
`applications. Messages not relating to a peer-to-peer applica
`tion are typically not affected and can pass the filter unit
`unhamperedly.
`The filter unit thus intercepts peer-to-peer application traf
`fic on a network line irrespective of the destination of the
`messages. The traffic that is filtered is thus not directed to the
`IP or whatever address of the network traffic control unit but
`typically addressed to peer destinations. Nevertheless, the
`network traffic control unit is intercepting this kind of traffic
`in order to get control on it.
`In order to achieve extended control on peer-to-peer traffic
`on a network, it is considered to be preferred to give the
`network traffic control unit access to a network line that is
`carrying large amounts of Such traffic. A preferred network
`line to be accessed by the filter unit is an ingress/egress line to
`a group or cluster of peers, such that all or most of network
`traffic to or from peers of this clusters has to pass this network
`line and can be monitored.
`On a lower level of a hierarchical communication layer, a
`message is represented by one or more data packets as indi
`cated above when talking about TCP protocol. Other proto
`cols of course may be used instead. The filter unit might be
`embodied as packet filtering logic implemented on a network
`processor. Since the network traffic control unit and the asso
`ciated proposed method have to primarily manage requests
`from peers, it is in particular appreciated to detect Such
`requests. This detection can be implemented by the filter unit:
`For example, a request might be expressed in the correspond
`
`US 7,600,033 B2
`
`10
`
`15
`
`25
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`Cloudflare - Exhibit 1088, page 12
`
`

`

`15
`
`5
`ing data packet with a defined code in a designated field of the
`data packet. Then, the filter unit can be prepared to check this
`field for a given number of codes representing a request.
`Other peer-to-peer application messages may also be filtered
`but treated differently from a management point of view than
`requests. Alternatively, messages comprising peer-to-peer
`application requests might be detected by intercepting peer
`to-peer application messages by means of the filter unit and
`having a command field of Such messages analyzed by the
`control logic.
`The control logic may be implemented in hardware or
`software or a combination thereof, or any other suitable
`implementation. A task that is assigned to the control logic is
`to manage requests that are intercepted. Managing comprises,
`that Such requests are now handled by the control logic in a
`way that might be different to the way the request pertaining
`peer-to-peer application envisages, but also satisfies the
`requesting peer, thereby preferably causing less traffic on the
`network than the peer-to-peer application would cause. The
`network traffic control unit therefore might preferably set up
`new messages, redirect requests, interact with the requesting
`peer or peers intercepted messages are addressed to or even
`other network traffic control units. These are only some
`actions a network traffic control unit could provide, but not
`necessarily has to provide all of them. The opportunities for
`managing requests are on the other hand not limited to the
`enumerated actions.
`Basically the control logic discovers the content of such
`intercepted message and coordinates measures to satisfy the
`needs expressed by Such message dependent on the content of
`the message and dependent on knowledge the network con
`trol unit has, either stored in a memory or by way of accessing
`other sources of knowledge. This knowledge is peering spe
`cific knowledge that helps in taking measures to satisfy que
`ries, connect requests or other requests more efficiently. Typi
`cally, peers by themselves do not have this knowledge
`available.
`Thus, the invention allows the dramatic reduction of net
`work traffic caused by peer-to-peer applications by installing
`a network traffic control unit that takes the lead in managing
`requests intercepted from a network line. Adding Such Smart
`control creates benefits in controlling and limiting peer-to
`peer application initiated traffic. This can beachieved without
`changing or amending neither participating peers nor the
`network structure and even without making the introduction
`of such a network traffic control unit public with the peers or
`other entities within the network. The topology of the peer
`to-peer overlay network is enhanced. Network control units
`can be added or removed without any requiring any changes
`to the peers.
`The network traffic control unit cana standalone electronic
`device in one preferred embodiment. In another preferred
`embodiment, the functions of the network traffic control are
`added to the functions of a router, such that only one device is
`responsible for both, router and traffic control functions.
`According to many of the preferred embodiments intro
`duced below, the control logic is sending messages in order to
`manage requests. This has to be interpreted Such that the
`control logic primarily decides on sending messages, while
`the physical transmission of messages is initiated by an inter
`face that is controlled by the control logic.
`In a preferred embodiment, the intercepted message is
`dropped. This step is performed after having the content of the
`message evaluated. Dropping the intercepted message
`expresses that the control logic takes control for further man
`65
`aging and thinking about new ways to handle the request. This
`is a first traffic limiting effort.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`US 7,600,033 B2
`
`5
`
`10
`
`25
`
`30
`
`35
`
`6
`Preferably, a request to be managed is a connect request
`issued from a peer node and directed to another peer node.
`Such connect request is sent in order to establish a connection
`to another peer, that may provide the contacting peer with the
`information or service the contacting peer looks for after it
`accepted Such connect request. It is important to have connect
`requests handled by the control logic of the network traffic
`control unit, since such connect requests might cause many
`other Succeeding connect requests between other peers, for
`example when the peer-to-peer application determines to
`have a connected peer send connect requests to other peers he
`is aware of. By managing Such connect requests and thus
`controlling actions for satisfying these requests, the flood of
`peer-to-peer traffic can be contained dramatically.
`A preferred way to manage a connect request is to handle
`further actions with regard to already existing connections the
`network traffic control unit is involved in. Whenever a peer is
`requesting connectivity to a another peer, and the requesting
`peer is already connected to a third peer, preferably of the
`same remote cluster, the network traffic control unit might
`desist from sending a new request to this cluster, especially
`when it is aware that the other peer is already connected to the
`requesting peer via the third peer.
`In a preferred embodiment, the network traffic control unit
`therefore provides peering specific knowledge information
`on peer-to-peer connections the network traffic control unit is
`currently aware of
`As indicated above, preferably no message might be sent to
`the addressee of the intercepted connect request when a con
`nection is already established that can serve the requesting
`peer node.
`In another preferred embodiment, the control logic ini
`tiates sending a connect request to the originator of the inter
`cepted connect request in response to the intercepted connect
`request. This is to fully get control on the handling of the
`intercepted connect request. The network traffic control unit
`sends this connect request with its ownID as originator. In the
`following, the requesting peer exclusively communicates to
`the network traffic control unit. Traffic can be controlled and
`limited effectively.
`Where appropriate, the network traffic control unit sends a
`connect request with its own ID as originator to the addressee
`of the intercepted connect request. This might be reasonable
`in order to satisfy the needs of the requesting peer as long as
`there is no other connection established in particular to this
`peer or in general to this cluster. When there is a connection to
`another peer of this remote cluster, the network traffic control
`unit might prefer using the existing connection to reach the
`requested peer instead of fulfilling the original request to
`COnnect.
`In another preferred embodiment, the network traffic con
`trol unit sends a connect request to the addressee of the
`intercepted connect request, thereby pretending the origina
`tor of the intercepted connect request is sending the connect
`request. This is an alternative method of controlling the estab
`lishment of connections, when the network traffic control unit
`is not appearing under its own identity.
`It may be preferred, sending a connect request to a peer
`node other than the addressee of the intercepted connect
`request in response to the intercepted connect request. This
`other peer node might Support establishing a connection to
`the requesting peer node. There might be different reasons
`and strategies, when a connect request is redirected by the
`network traffic control unit. Typically, the network traffic
`control unit acts under its own identity when redirecting a
`connect request.
`
`Cloudflare - Exhibit 1088, page 13
`
`

`

`US 7,600,033 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`8
`its control logic is configured for implementing Such rules for
`deriving keys from query requests.
`When such key or keys are derived from a query string by
`means of the control logic, and when a network traffic control
`unit that administers the keys is found by Screening the cor
`responding index, a request is directed to one or more remote
`network traffic control units that are allocated to the derived
`keys in order to obtain information which peers have the files
`represented by the keys available. The requested network
`traffic control unit or units preferably send such information
`back to the requesting network traffic control unit. A hit
`message from the network traffic control unit to the querying
`peer node might then be preferred for having the peer node
`select any number of data files offered. Many preferred varia
`tions of this process are introduced later on.
`Some network traffic control units therefore provide pref
`erably a key peer node index for Some keys. These network
`traffic control units provide other network traffic control units
`with the knowledge which peer nodes are allocated to a
`requested key according to the key peer node index. Admin
`istration tasks of such a network traffic control unit preferably
`include updating the index by adding and removing entries.
`In another preferred embodiment, a way of updating
`indexes of peering specific knowledge is introduced: Hit mes
`sages sent from a peer node associated to the network traffic
`control unit are monitored. One or more keys are derived from
`the content of a hit message. The sending peer node is allo
`cated to the derived keys, and the key peer node relation is
`stored in the key peer node index at the network traffic
`control unit that administers the index the key is part of. This
`method helps to keep peering specific knowledge up-to-date.
`Preferably, such advanced search including underlying
`communication between network traffic control unit as well
`as administering indexes, tables or other peering specific
`knowledge is accomplished using a protocol different to the
`peer-to-peer application protocol.
`Such protocol is more efficient and addresses the above
`mentioned purposes. This protocol is specifically used for
`managing query requests.
`For many purposes, it is preferred to have peering specific
`knowledge available that comprises information on peer
`nodes associated to the network traffic control unit. This helps
`optimizing managing efforts as peer nodes of a joint cluster
`are typically located close to each other. Such distance infor
`mation might affect managing requests by the network traffic
`control unit.
`According to another aspect of the invention, there is pro
`vided a network comprising at least one group of peer nodes,
`a network line serving as ingress/egress line for this peer
`group, and a network traffic control unit according to any one
`of claims referring to Such unit.
`According to another aspect of the invention, there is pro
`vided a computer program element comprising computer pro
`gram code which, when loaded in a processor unit of a net
`work traffic control unit, configures the processor unit for
`performing a method as claimed in any one of the method
`claims.
`Advantages of the different aspects of the invention and
`their embodiments go along with the advantages of the inven
`tive network traffic control unit and method described above.
`
`7
`Especially when a connect request is directed to a peer of
`another remote cluster and another network traffic control
`unit is allocated to this cluster, it is preferred that the local
`network traffic control unit exclusively “talks to peers of the
`other clusters via the remote network traffic control unit. This
`limits traffic drastically. Such a connect request to another
`network traffic control unit might also be advantageous in
`order to receive peering specific information the other net
`work traffic control unit provides in preparation of connecting
`peers of the remote cluster.
`When the network traffic control unit is intercepting a
`connect request and acting in the following under its own
`identity, further actions might be preferably initiated only
`after the originator of the intercepted connect request accepts
`the connect request that is sent to him from the network traffic
`control unit. This prevents generating traffic, when the origi
`nator is not prepared to communicate with the network traffic
`control unit.
`Especially for managing connect requests described above,
`the network traffic control logic is preferably prepared to
`communicate according to a protocol of the peer-to-peer
`application.
`Other requests that are preferably handled by the network
`traffic control unit are data file queries issued by a peer node
`and brought to the attention of the network traffic control unit
`by way of filtering. These query requests cause lots of Suc
`ceeding traffic either, Such that effective management of han
`dling Such requests is vital for reducing overall peer-to-peer
`induced traffic on the network. Typically, a query request is
`sent after peers are connected in order to figure out which of
`these online peers can

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