throbber
a2) United States Patent
`US 8,655,838 B2
`(0) Patent No.:
`Wright
`Feb. 18, 2014
`(45) Date of Patent:
`
`US008655838B2
`
`(54) SELECTION OF PEERS TO CLUSTER
`WITHIN A PEER-TO-PEER NETWORK
`
`(75)
`
`Inventor:
`
`Steven Wright, Roswell, GA (US)
`
`(73) Assignee: AT&T Intellectual Property I, L.P.,
`Atlanta, GA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 760 days.
`
`(21) Appl. No.: 12/034,153
`
`(22)
`
`Filed:
`
`Feb. 20, 2008
`
`(65)
`
`Prior Publication Data
`
`US 2009/0210545 Al
`
`Aug. 20, 2009
`
`(51)
`
`(2006.01)
`
`Int. Cl.
`GO6F 17/00
`(52) U.S.CL.
`USPC iceecsetensseseseeeees 707/622; 707/227; 707/230
`(58) Field of Classification Search
`USPC iececeesectessseectenecenees 707/622; 709/227, 230
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`7/2002 Farber etal. ww. 707/698
`6,415,280 B1*
`2/2003 Stanforth et al
`.
`2003/0040316 Al*
`
`3/2004 Loachet al.
`2004/0044790 Al*
`
`3/2006 Dacosta ...........
`.
`2006/0056336 Al*
`1/2007 Leibovitzet al. on. 726/3
`2007/0016939 A1*
`7/2007 Shaheen
`2007/0174443 Al
`2007/0291715 A1* 12/2007 Laroiaetal. wo. 370/338
`2008/0040606 Al*
`2/2008 Narayanan etal.
`........... 713/169
`
`OTHER PUBLICATIONS
`Srivatsa, M; Liu, L, Large Scaling Unstructued Peer-to-Peer Net-
`works with Heterogeneity-Aware Topology and Routing,
`IEEE
`Trans. on Parallel and Distr. Sys., v17, Nov. 2006.
`Huang, Y; Chen, Y; Jana, R; Jiang, H; Rabinovich, M; Reibman, A,
`Wei, B; Xiao, Z; Capacity Analysis of MediaGrid: ..., IEEE Jnl on
`Selected Areas in Comm; v25, Jan. 2007.
`Ramaswamy, L; Gedik, B; Liu, L; A Distributed Approach to Node
`Clustering in Decentralized Peer-to-Peer Networks, IEEE Trans on
`Parallel and Distr. Sys, v16, Sep. 2005.
`Chen, Y; Huang, Y; Jana, R; Jiang, H, Rabinovich, M; Wei, B, Xiao,
`Z; When is P2P Technology Beneficial
`for
`IPTV Services?,
`NOSSDAV 2007.
`Technical White Paper Smart Card in IMS; Gemalto, Feb. 2007.
`http://en.wikipedia.org/wiki/IMSI,last updated Feb. 12, 2008.
`http://en.wikipedia.org/wiki/MEID,last updated Dec. 8, 2007.
`http://en.wikipedia.org/wiki/DOCSIS,last updated. Feb. 4, 2008.
`
`* cited by examiner
`
`Primary Examiner — Jude Jean Gilles
`Assistant Examiner — Jaren M Means
`
`(74) Attorney, Agent, or Firm — Parks IP Law LLC; Jennifer
`P. Medlin, Esq.
`
`(57)
`
`ABSTRACT
`
`Peer-to-peer networks may beestablished by considering
`various characteristics of the peers when clustering the peers
`within the network. The characteristics may include opera-
`tional criteria such as the costof data transfer by each peer,the
`type andstatus of powerbeing supplied to each peer, and the
`bandwidth available to each peer. The peer-to-peer networks
`maybeestablished by requiring credentials to gain access to
`the peer-to-peer network, where those credentials may be a
`network access identifier that has previously been used to
`gain access to an underlying data network ofthe peer-to-peer
`network. The operational criteria used to select peers for
`clustering may be stored and accessed through association to
`the credentials used to gain access to the peer-to-peer net-
`work.
`
`18 Claims, 6 Drawing Sheets
`
`110
`
`112Ww Data Co Exhibit 1043
`
`Data Co Exhibit 1043
`Data Co v. Bright Data
`
`Data Co v. Bright Data
`
`

`

`U.S. Patent
`
`Feb. 18, 2014
`
`Sheet 1 of 6
`
`US8,655,838 B2
`
`112
`
`FIG. 1A
`
`Ww
`
`
`ener
`
`PROCESSOR
`
`NETWORK
`
`MEMORY
`
`STORAGE
`
`INPUTS
`
`OUTPUTS
`
`FIG. 1B
`
`

`

`U.S. Patent
`
`Feb. 18, 2014
`
`Sheet 2 of 6
`
`US8,655,838 B2
`
`
`
`RECEIVE REQUEST FOR
`ACCESS INCLUDING A
`NETWORK ACCESS ID
`
`202
`
`
`
`
`
`
`
`CHECK NETWORK ACCESS ID
`
`DENY ACCESS
`
`204
`
`210
`
`PROVISION ACCESS AND
`RELATED DATA SERVICES
`
`FIG. 2
`
`

`

`U.S. Patent
`
`Feb. 18, 2014
`
`Sheet 3 of 6
`
`US8,655,838 B2
`
`RECEIVE REQUEST TO JOIN
`P2P OVER ESTABLISHED
`NETWORK ACCESS
`
`RECEIVE AND COMPARE
`NETWORK ACCESS ID
`PROVIDED DURING NETWORK
`AUTHENTICATION
`
`
`
`DENY ACCESS
`TO P2P
`
`NETWORK ACCESS
`
`
`
`LOOK-UP NETWORK ACCESS
`ID(S) TO FIND OPERATIONAL
`CRITERIA OF RELEVANT PEER(S)
`
`BUILD PEER QUERYLIST ON
`BASIS OF COST, POWER,
`BANDWIDTH, AND/OR OTHER
`OPERATIONAL CRITERIA
`
`SEND PEER QUERYLIST
`
`FIG. 3
`
`

`

`U.S. Patent
`
`Feb. 18, 2014
`
`Sheet 4 of 6
`
`US8,655,838 B2
`
`312
`
`312
`
`DETERMINE WHICH PEERS HAVE A
`COST/POWER/BANDWIDTH
`CLASSIFICATION DESIRABLE FOR
`QUERYLIST
`
`
`
`ADD THOSE PEERS
`
`FIG. 4
`
`DETERMINE WHETHER THE
`COST/POWER/BANDWIDTH
`CLASSIFICATION OF CURRENT PEER
`LIMITS CLASSIFICATIONS AVAILABLE
`FOR CURRENT PEER’S QUERYLIST
`
`CLASSIFICATIONS OF CURRENT PEER
`
`ADD THOSE PEERS NOTLIMITED BY
`
`FIG. 5
`
`

`

`U.S. Patent
`
`Feb. 18, 2014
`
`Sheet 5 of 6
`
`US8,655,838 B2
`
`312
`
`COMPUTE WEIGHTINGS FOR EACH
`PEER TO ADD ON BASIS OF
`COST/POWER/BANDWIDTH
`
`CLASSIFICATIONS ADD PEERS AND ASSOCIATED
`
`WEIGHTINGS
`
`FIG. 6
`
`DETECT TIME TO POLL A PEER
`
`CHOOSE PEER TO POLL FROM QUERYLIST
`BY SELECTION SCHEME
`(RANDOM, ORDERED, WEIGHTED RANDOM)
`
`
`
`POLL SELECTED PEER
`
`RECEIVE DATA
`
`FIG. 7
`
`

`

`ie/
`
`dnoOuod
`
`LA
`
`cA
`
`Ln
`
`607
`
`U.S. Patent
`
`Feb. 18, 2014
`
`Sheet 6 of 6
`
`US 8,655,838 B2
`
`
`
`G3LOIM1SSYLNSLNOO HLGIMANYE
`PFXCCUS
`FIGVMOTIV—q9_7
`SSVIO__‘|SEVIVAV
`
`8ls
`
`90g—7
`
`YaMOd
`
`SSV10
`
`vos—7
`
`zog—/
`
`
`
`SSV10LSOO
`
`QIYasd-AdAL
`
`
`
`GYOMSSVd/AWVN—ddd~—718
`
`os9ore—GISW~—818
`
`$9286-WIS~—918
`
`ECLOAV-OVIN~—718
`
`
`
`Svecl-WIS~—018
`
`

`

`US 8,655,838 B2
`
`1
`SELECTION OF PEERS TO CLUSTER
`WITHIN A PEER-TO-PEER NETWORK
`
`TECHNICAL FIELD
`
`
`
`Embodiments relate to peer-to-peer (P2P) networks. More
`particularly, embodimentsrelate to clustering ofpeers within
`a P2P network.
`
`BACKGROUND
`
`P2P networks are becoming commonplace as the demand
`for data transfer increases on underlying public and private
`data networks. P2P networks allow the data needed by one
`peer to be sourced from one ofpotentially many different
`peers, thereby preventing the original source from becoming
`overloaded with content requests. While P2P networks
`resolve some content delivery issues such as the overloading
`of the original source, P2P networks maysuffer from other
`content delivery issues.
`For example, a given peer may havea relatively low upload
`transfer rate. If that peer is called on to deliver content to too
`many other peers, the delivery of that content to those other
`peers may be delayed. As another example, a given peer may
`have a high costof data transfer or a data transfer limit. Ifthat
`peeris called on to deliver contentto or receive content from
`too many other peers or to deliver content too often, the
`content delivery may result in increased network access
`charges to the owner of that peer or may even result in this
`peer going offline. As yet another example, a given peer may
`have a timeoractivity limited powersource. If that peer is
`called on to deliver content to or receive content from too
`many otherpeers or to deliver content too often, the content
`delivery mayresult in this peer going offline or even shutting
`down altogether.
`Other issues present in P2P networks include controlling
`access to the networksand having access to information about
`peers joined to the P2P networks. As P2P networks may
`operate with virtually anonymouspeers, content control and
`peer selection is difficult. The virtually anonymousstatus of
`peers also makes any attempts to control and improve the
`operation of the P2P network difficult.
`
`SUMMARY
`
`Embodiments address issues such as these and others by
`considering characteristics such as operational criteria of
`peers during a query list peer selection process that defines a
`cluster for a given peer. Operational criteria such as cost of
`data transfer, power source type, and bandwidth availability
`of peers may be considered. The criteria may pertain to the
`peer being provided with a query list and/orto the peers being
`addedto the query list. Furthermore, embodiments mayuti-
`lize network access identifiers that are presented by peers
`when obtaining access to the underlying data networks to
`make determinations such as whetherthe peer has authoriza-
`tion to participate in the P2P network and/or to obtain the
`operationalcriteria for a given peer when building the query
`list.
`Embodiments provide methods, computer readable media,
`and devices involved in providing a peer-to-peer network. A
`data cost classification is determinedfor a plurality ofpeers.
`A query list of peers is built for a current peer by adding
`information about peers of the plurality to query to the query
`list based on the datacost classification of each ofthe peers of
`the plurality. Additionally, the query list is provided to the
`current peer.
`
`2
`Embodiments provide other methods, computer readable
`media, and devices involved in providing a peer-to-peer net-
`work. A powerclassification is determined for a plurality of
`peers. A query list ofpeersis built for a current peer by adding
`information about peers of the plurality to query to the query
`list based on a powerclassification of each of the peers of the
`plurality. The query list is provided to the currentpeer.
`Embodiments provide other methods, computer readable
`media, and devices involved in providing a peer-to-peer net-
`work. A network accessidentifier is received that was previ-
`ously submitted by the peer to obtain access to an underlying
`data network. A request is received from the current peer to
`join the peer-to-peer network. From a look-upofthe received
`network access identifier, it is determined whetherthe current
`peer is authorized to access the peer-to-peer network. Access
`is granted by providing a query list ofpeers to query when the
`current peer is authorized.
`Embodiments provide other methods, computer readable
`media, and devices involved in providing a peer-to-peer net-
`work. A network access identifier previously submitted by the
`peer to obtain access to an underlying data network is
`received. A request is received from the current peer to join
`the peer-to-peer network. A characteristic of the current peer
`is determined from a look-up of the received network access
`identifier. The characteristic is used to determine whether to
`include the current peer on a query list to provide to another
`peer.
`Embodiments provide still other methods, computer read-
`able media, and devices involved in providing a peer-to-peer
`network. An operational criteria is determined for a current
`peer. A query list of peers is built for the current peer by
`adding information about peersofthe plurality to query to the
`query list based on the operationalcriteria of the current peer.
`The query list is provided to the current peer.
`Other systems, methods, and/or computer program prod-
`ucts according to embodiments will be or becomeapparentto
`one withskill in the art upon review ofthe following drawings
`and detailed description.It is intended that all such additional
`systems, methods, and/or computer program products be
`included within this description, be within the scope of the
`present invention, and be protected by the accompanying
`claims.
`
`DESCRIPTION OF THE DRAWINGS
`
`FIG. 1A shows an example of a P2P network operating
`environment according to various embodiments.
`FIG. 1B shows an example of a node of the P2P network
`operating environment according to various embodiments.
`FIG. 2 shows an example of a set of logical operations
`performed by an access node when granting data network
`access according to various embodiments.
`FIG. 3 shows an example of a set of logical operations
`performed by a control node whengranting access to the P2P
`network according to various embodiments.
`FIG.4 showsa first example of a subset of logical opera-
`tions performed by a control node whenselecting peers fora
`query list according to various embodiments.
`FIG. 5 shows a second example of a subset of logical
`operations performed by a control node whenselecting peers
`for a query list according to various embodiments.
`FIG. 6 showsa third example of a subset of logical opera-
`tions performed by a control node whenselecting peers fora
`query list according to various embodiments.
`FIG. 7 shows an example of a set of local operations per-
`formed by a peer when attempting to poll other peers for
`content according to various embodiments.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`US 8,655,838 B2
`
`3
`FIG. 8 shows an exampleof a database storing associations
`of network access identifiers of authorized peers to opera-
`tionalcriteria.
`
`DETAILED DESCRIPTION
`
`Embodiments provide fora peer selection process that may
`accountfor characteristics ofone or more peers whencreating
`a peer query list to define a cluster for a peer. The character-
`istics may include operationalcriteria such as the cost of data
`transfer of a given peer, the powerstatus of a given peer, the
`available bandwidth of a given peer, and so forth. The char-
`acteristics to consider maybethose ofthe peer being added to
`a query list and/or those of the peer being provided with the
`query list. Embodiments further provide for access control to
`a P2P network based upon credentials such as network access
`identifiers (IDs) that are used to gain access to the underlying
`data network. Embodiments additionally provide for tracking
`of operational criteria of the peer devices by association to
`credentials of the peer such as the network access ID.
`FIG. 1A shows one example of an operating environment
`of a P2P network 100. Here, an underlying data network 101
`is present and provides for data transfer between individual
`network nodes. The data network 101 mayrepresent a private
`network or a public network such as the Internet. Further-
`more, the data network 101 may represent various network
`configurations. For instance, the data network 101 mayrep-
`resent a network established and maintained bya particular
`service provider or may represent a collection of individual
`networks, where each individual network is established and
`maintained bya particular service provider.
`Within the underlying data network 101, there may be
`nodes of various types. For purposes of the present discus-
`sion, the nodes include a P2P control node 102, an access
`node 103, and peer nodes or peers 106, 114, 116, and 118. A
`single control node 102, a single access node 103, and four
`peers 106, 114, 116, and 118 are shown for purposes of
`example, and it will be appreciated thatthe data network 101
`may contain any numberof such nodes. Furthermore,it will
`be appreciated that some nodes may function as multiple
`types of nodes, such as a single nodethat provides functions
`of the control node 102, functions of the access node 103,
`and/or functions of the peer node 106.
`The access node 103 may be a gateway or other similar
`computer device of the data network 101 that receives
`requests from the peers 106, 114, 116, 118 to gain access to
`the data network 101. The access node 103 may obtain cre-
`dentials from the peers 106, 114, 116, 118 referred to herein
`as network access IDs. The access node 103 checksthe net-
`
`work access ID against a database, such as a database 104,
`that stores the network access IDsthat are authorized to gain
`access to the data network 101 through the access node 103.
`Asan alternative, in some embodiments the access node 103
`may monitor ports into the data network 101 that the peers,
`such as peer 106, are physically connected to and are inher-
`ently authorizedports, e.g., particular ports ofthe access node
`103. Any communication over those ports may automatically
`be considered authorized.In that case, the network access ID
`provided by the peer, such as peer 106, may be any commu-
`nication attempt over such an inherently authorized port.
`The network access IDs may take one of many forms and
`may correspond to any of the protocol stack layers. For
`example, the network access ID may be an international
`mobile subscriber identity (MSI) numberfrom a subscriber
`identity module (SIM)or an international mobile equipment
`identity (MEJ) numberas in the case of a peer, such as the
`peer 106, that is a global system for mobile communications
`
`4
`telecommunication system
`(GSM) or universal global
`(UMTS) mobile device. The network access ID may be a
`mobile equipmentidentifier (MEID)suchasfor code division
`multiple access (CDMA) mobile phones. The network access
`ID may be a media access control (MAC) number for a
`wireline network device such as a digital subscriber line
`(DSL) modem or a cable modem thatthe peer 106 is using for
`access or for a network access device of the peer 106 itself.
`Other examples of network access IDs include Internet Pro-
`tocol (IP) addresses, physical and/or virtual port identifiers
`such asa virtuallocal area network number (VLAN#), device
`IDs including Common Language Equipment Identifier
`(CLEDcodes, point-to-point protocol (PPP) username and
`password combinations, and so forth.
`Uponbeing granted access to the underlying data network
`101, a given peer, suchas the peer 106, may attempt to join the
`P2P network which involves requesting eligibility to receive
`a query list 110 specifying peers to query for content as well
`as to be added to query lists for other peers and to respond to
`queries for content from thoseotherpeers. The given peer 106
`may request entry into the P2P network 100 by sending a
`request messageto the control node 102.
`The control node 102, which as discussed above may bea
`separate node from the access node 103 or may be the same
`nodeserving both functions, may also perform an authoriza-
`tion check prior to granting access to the P2P network 100.
`For example, the P2P network 100 may be a private network
`that excludes someusers whoare authorizedto use the under-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`lying data network 101. Restrictions on which peer 106 may
`gain access to the P2P network 100 allows for control of
`contentdistribution within the P2P environment.
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`The control node 102 receives the request message and
`then comparescredentials received in the request message to
`a database, such as the database 104, to determine if the
`requesting peer 106 is an authorized peer. The credentials
`may beof various forms, such as a username and password
`combination provided through a P2P application imple-
`mented by the peer 106. As another example, the credentials
`maybe the network access ID that has already been provided
`by the peer 106 when gaining access to the underlying data
`network 101. In that case, the network access ID may be
`obtained by the control node 102 through the request or in
`other ways such as by receiving the network access ID from
`the access node 103 as a result of the initial request to gain
`data network access.
`
`Upon determining that the peer 106 is authorized, the con-
`trol node 102 then introduces the peer into the P2P network
`100 by defining a clusterfor the peer 106 and by including the
`peer 106 in clusters defined for other peers, such as the peer
`114. These communications 108 between the control node
`
`102 and the peer 106 are control communications of the P2P
`network 100. Upon the peer 106 obtaining the query list 110
`that specifies the other peers 114, 116, 118 to poll, the peer
`106 then beginsparticipating in content communications 112
`amongthe other peers 114, 116, and 118.
`The query list 110, which has been created by the control
`node 102, specifies those peers that the peer 106 maypoll for
`content. As discussed below, the peer 106 may choose which
`peer 114, 116, 118to poll for content at any given time in one
`of various manners. This query list 110 is created by the
`control node 102 on thebasis ofcharacteristics ofthe peer 106
`receiving the query list 110 and/or the peers 114, 116, and 118
`being considered for inclusion on the query list 110. Those
`characteristics may include operational parameters such as
`cost of data transfer, power status, and available bandwidth.
`These characteristics may be obtained and stored to the
`database 104 by the control node 102. The characteristics
`
`

`

`US 8,655,838 B2
`
`10
`
`30
`
`35
`
`40
`
`45
`
`5
`may be obtained either during an initial P2P registration
`process and/or by a dynamic and ongoing exchangeofdata
`between the peers 106, 114, 116, and 118 and the control node
`102. For example, a cost of data transfer of the peer 106 may
`be specified at an initial registration and changedonlyif the
`data plan of the peer 106 changes. As another example, a
`current power status of the peer 106 may be specified at
`regular intervals so that the control node 102 knows whether
`the powerstatus ofthe peer 106 constrainsthe participation of
`the peer 106 in the P2P network 100.
`The characteristics may be specified as classifications. For
`operational criteria such as cost, one classification may be
`that the peer 106 maytransfer an unlimited amountof data for
`a set fee. Anotherclassification for cost may be that a set fee
`covers transfer up to a pre-defined amount, and additional
`data transfer costs additional amounts. Anotherclassification
`for cost may be that any data transfer is charged on a per unit
`transferred basis. For those peers 106 that have a pay by the
`unit cost of transfer, the classification may be moredetailed,
`such asto classify the peer 106 based on what the amount of
`expenditure for a period has been thusfar in a period, or to
`classify as underorover a transfer cap. According to various
`embodiments, the control node 102 may consider how much
`data has already been transferred by a given peer, such as the
`peer 106, in a current periodto assign the costclassificationat
`any point in time.
`For other operational criteria such as power status, one
`classification may be utility power while anotherclassifica-
`tion maybe battery power. Theclassification for power may
`be moredetailed as well, particularly for the peers 106 on
`battery powersuchas to specify a class for various ranges of
`power remaining. According to various embodiments, the
`control node 102 mayconsider how much poweris remaining
`at a given peer, such as the peer 106, to assign the power
`classification at any point in time.
`Available bandwidth is another example of operational
`criteria that may be classified. The classification for band-
`width maybe asbasicas classifying as fast or slow at a given
`point in time or more detailed such as to specify an available
`data transfer rate range for a given point in time. The band-
`width classification may be based on a maximum bandwidth
`available to the peer 106 or may be based onreal-time con-
`ditions where real-time measurementsare taken to reveal the
`amount of bandwidth available due to factors such as a fluc-
`tuating maximum bandwidth andfluctuating usage. Accord-
`ing to various embodiments, the control node 102 may con-
`sider how much bandwidthis available at a given peer, such as
`the peer 106, to assign the bandwidth classification at any
`point in time.
`The control node 102 may acquire the information neces-
`sary to assign classifications to the operational criteria or
`other characteristics of the peer 106 in one of various ways.
`For example, the P2P or other application being implemented
`by the peer 106 may monitor parameters such as powertype,
`powerlevel, amount of data transfer of a given period, and
`current bandwidth usage. The peer 106 may then report this
`information to the control node 102, such asat set intervals or
`in response to being polled by the control node 102. The
`control node 102 may monitor some parameters of the peer
`106, such as the amount of data transfer and the current
`bandwidth usage, particularly where the control node 102 is
`implemented within a gateway providing access to the under-
`lying data network 101 to the peer 106. The control node 102
`may also receive such information from one or more other
`nodes within the data network 101, such as the access node
`103, which serves as a gatewayfor the peer 106 and monitors
`the amountofdata transfer and the current bandwidth usage.
`
`6
`FIG. 1B showsan example of the components that may be
`present within embodiments of the control node 102, access
`node 103, or the peers 106, 114, 116, and 118. Each of these
`nodes may be a conventional computer system, a dedicated
`purpose device, and/or combinations thereof. The nodes 102,
`103, 106, 114, 116, and 118 include a processor 120 that
`implements instructionsto perform logical operations such as
`those discussed below in reference to FIGS. 2-7. The proces-
`sor 120 maybeofvarious forms including a general purpose
`programmable processor, a dedicated purpose processor,
`hardwireddigital logic, or various combinations thereof. The
`processor 120 may employ a memory 126, which may be
`volatile, involatile, or combinationsthereof, to store program-
`ming, reference values, dynamically generated data, and the
`like.
`The processor 120 and the memory 126 are examples of a
`computer readable media whichstore instructions that when
`performed implementvarious logical operations. Such com-
`puter readable media may include various storage media
`including electronic, magnetic, and optical storage. Com-
`puter readable media may also include communications
`media, such as wired and wireless connections usedto trans-
`fer the instructions or send and receive other data messages.
`The processor 120 communicates with various other com-
`ponents. For example, exemplary embodiments of the nodes
`102, 103, 106, 114, 116, and 118 mayinclude a network
`interface 122 that may provide a wiredor wireless connection
`to the data network 101; a mass storage device 128 such as a
`magnetic, optical, or electronic storage drive that may pro-
`vide additional data and programmingstorage; input devices
`124 such as a keyboard and mouse; and output devices 130
`such as a video display.
`FIG. 2 shows one example of logical operations that may
`be performed by an access node, such as the access node 103,
`to grant or deny access to the underlying data network 101 for
`the peer 106. Initially, the access node 103 receives a request
`for access to the data network 101 from the peer 106 at a
`request operation 202. The request may specify the network
`access ID of the peer 106. This request may involve various
`layers of the communication protocol stack, and the network
`access ID maybe provided as a function of the negotiation
`process between the peer 106 and the access node 103. For
`example, the MAC address, IMSI, IMEI, MEID,or other such
`identifier of the peer 106 may be provided and usedfor the
`subsequentoperations of FIG. 2. The network access ID may
`be a value from a higherlayer in the protocol stack such as a
`username and password combination for a PPP connection to
`a DSL or cable modem that provides connectivity from the
`peer 106 to the access node 103. Furthermore, multiple net-
`workaccess IDs may be involvedin the negotiation with the
`access node 103, such as a MAC address and a username and
`password combination.
`Uponreceiving the network access ID for the peer 106, the
`access node 103 checks the network access ID against a
`masterlist ofthose peers whoare authorized to access the data
`network 101 via the access node 103 at a look-up operation
`204. The master list may be created and maintained by service
`providers who operate the access nodes 103 where a network
`access ID is added to the master list upon a consumer pur-
`chasing data network access throughthe service provider and
`being assigned the network access ID.
`The access node 103 detects whether the network access ID
`received in the request matches an entry of the masterlist ata
`query operation 206. Ifthe network access ID does not match,
`this indicates that the peer 106 is not an authorized userofthe
`data network 101 and access is denied at a denial operation
`208 by rejecting the request. If the network access ID does
`
`

`

`US 8,655,838 B2
`
`7
`match, then the access node 103 provisions access and related
`data services of the data network 101 to the peer 106 that has
`submitted the request at an access operation 210.
`FIG. 3 shows an example of logical operations that may be
`performed by embodiments of the control node 102 or the
`access node 103 to grant or deny access to the P2P network
`100 after the peer 106 has gainedaccess to the underlying data
`network 101. The control node 102 or access node 103
`receives a requestto join the P2P network 100 from the peer
`106 over an established data network access at a request
`operation 302. The control node 102 or access node 103
`receives the request and comparescredentials for the peer 106
`to a master list maintained for the P2P network 100 at a
`look-up operation 304.
`Asdiscussed above, these credentials may be the network
`access ID that has been previously provided to the access
`node 103 when the peer 106 was requesting access to the
`underlying data network 101. According to one or more
`exemplary embodiments, the network access ID maybe pro-
`vided from the peer 106 again by the P2P application of the
`peer 106 collecting and submitting this information. Accord-
`ing to one or more other exemplary embodiments,the control
`node 102 may obtain the network access ID for the peer 106
`from elsewhere, such as from the access node 103 that has
`already received the network access ID forthe peer 106. As an
`alternative, the access node 103 may review the credentials
`that have already been received for purposes of data network
`101 access to also determine whetherthe peer has authoriza-
`tion to reach the contro] node 102 and hence the P2P network
`
`100. Ifthe peer, such as peer 106, is unauthorized to access the
`P2P network 100 then the access node 103 discards any
`attempts to reach the control node 102 by that peer.
`In either the instance where the control node 102 or the
`
`access node 103 acts as the gatekeeper to the P2P network
`100, the control node 102 may further utilize the network
`access ID for additional P2P network 100 gatekeeping. For
`example, the control node 102 mayutilize the network access
`ID to determine whether a particular peer, such as peer 106,
`has authorization to enter into sub-portions or other group-
`ings of the P2P network 100 that are restricted due to the
`content that is available within the sub-P2P portion or due to
`membership restriction.
`The control node 102 or access node 103 detects at a query
`operation 306 whetherthe received network access ID for the
`peer 106 matches the masterlist for the P2P network 100. If
`not, then the control node 102 denies access to the P2P net-
`work 100 at a denial operation 308 by rejecting the request, or
`in the case of the access node 103, attempts to reach the
`control node 102 are discarded. Ifthe network access ID does
`
`match, then the control node 102 grants access by proceeding
`to build the query list 110 for the current peer 106 and to
`include the current peer 106 on query lists for other peers if
`and when appropriate. Where the access node 103 is the
`gatekeeper to the P2P network 100, when the ID does match
`then the access node allows the requests to join the P2P
`network 100 to reach the control node 102 such that the
`
`control node 102 may then proceed with building the query
`list 110.
`The control node 102 begins the process of building the
`query list 110 for the current peer 106, as well as building
`query lists for other peers that may include the current peer
`106, by looking-up the network access IDs in the database
`104 at a look-up operation 310. In some embodiments, the
`control node 102 may look-up the network access ID ofpeers
`relevant to the current peer 106, such as those peers 114, 116,
`and 118 that contain content relevant to the current peer 106.
`The request to join the P2P network 100 may specify the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`content relevant to the current peer 106 orthe specification of
`content maybestored in association with the network access
`ID ofthe current peer 106.
`In some embodiments, the control node 102 may look-up
`the network access ID ofthe current peer 106 at this pointto
`find characteristics of the peer 106 including operational cri-
`teria. For instance, the characteristics including operational
`criteria of the current peer 106 may dictate which peers 114,
`116, 118 may be addedto the query list 110 being prepared for
`the current peer 106. This operational criteria of the current
`peer 106 mayalso be looked-up wherethe operationalcriteria
`dictates to which query lists of other peers the current peer
`106 will be added.
`
`Uponfinding the stored characteristics of the peers 106,
`114, 116, and 118 that may be relevant to building the query
`lists, the control node 102 then builds the query list 110 to be
`provided to the peer 106. The control node 102 builds the
`query list 110 by selecting other peers 114, 116, and 118 to
`add to the query list 110 on the basis ofthe operationalcriteria
`such as the cost of data transfer, the power status, and/or the
`available bandwidth at a list operation 312. These consider-
`ations ofoperational criteria may be madein addition to any
`conventional P2P considerations such as availability of con-
`tent amongthe peers 114, 116, and 118.
`After building the query list 110, the control node 102 then
`providesthat query list 110 to the peer 106 at a send operatio

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