×

Efficient one-to-many content distribution in a peer-to-peer computer network

  • US 7,593,333 B2
  • Filed: 07/07/2004
  • Issued: 09/22/2009
  • Est. Priority Date: 07/07/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for distributing content to a plurality of nodes on a computer network, comprising:

  • dividing the content into a plurality of blocks;

    assigning each block of the plurality of blocks to a single node of the plurality of nodes for redelivery only by the single assigned node in proportion to a capacity of the node such that a node having a larger capacity is assigned more blocks and a node having a smaller capacity is assigned fewer blocks;

    sending each of the plurality of blocks from a source node to an assigned node of the source node for redelivery, if the assigned node is not the source node;

    redelivering the block by the assigned node to remaining content requesting nodes; and

    adjusting a content sending rate, θ

    , in a dynamic manner based on a maximum throughput under prevailing conditions by using the equation;

    θ

    = { B s if









    B s


    B s



    1
    + B s



    2
    ,
    ( B s



    1
    + B s



    2
    )
    + B s - ( B s



    1
    + B s



    2
    )
    N 1
    if









    B s


    B s



    1
    + B s



    2
    ,




    with



    B s



    1
    = N 1 N 1 - 1



    B 1



    and



    B s



    2
    = N 2 N 1



    B 2
    ,
    where BS is a bandwidth of the source node, N1 is a number of content-requesting peer nodes, B1 is an average bandwidth of the N1 content-requesting peer nodes, N2 is a number of non-content requesting peer nodes, B2 is an average bandwidth of the N2 non-content requesting peer nodes, Bs1 is an equivalent source node bandwidth when each of the content requesting peer nodes are forwarding data, and Bs2 is an equivalent source node bandwidth when each of the non-content requesting peer nodes are forwarding data.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×