`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