• No se han encontrado resultados

Fashion Exchange Tomasino

In document Universidad Santo Tomás (página 40-46)

6. Estado de la cuestión

7.1 Departamento de Comunicaciones de la USTA Sede Bogotá

7.1.2 Actividades desarrolladas

7.1.2.1 Fashion Exchange Tomasino

pTCP is an end‐to‐end protocol for striped connections. It provides mechanisms to use striped connec‐ tions with aggregate bandwidth along multiple paths. 

The key obstacles to achieving the aggregate bandwidth for striped connections are the following:  

• Each of the individual paths can have vastly differing characteristics in terms of bandwidth  and delay (round‐trip time). If data‐striping is done without taking into account these differ‐ ences, the bandwidth achieved by the striped connection can be significantly lower than the  maximum possible [34]. 

• Fluctuations of individual path characteristics may occur. 

The problems that arise due to bandwidth differences can be solved by making sure that the  data‐striping ratio is the same as the ratio of the bandwidths of the different paths. Solutions to the  above mentioned problems are provided by pTCP which are explained as below: 

i) Decoupling of Functionalities: pTCP decouples functionalities associated with per‐path characteristics  from those that pertain to the aggregate connection. The component in pTCP that handles per‐path  functionalities is called TCP‐v (TCP‐virtual). TCP‐v is a modified version of TCP that deals only with virtual  packets and virtual buffers. Each micro flow of a striped connection is controlled by an independent  TCP‐v (as shown in figure 14).  

  Figure 14: pTCP for striped connections 

 

iiCongestion control is handled by TCP‐v. SM is responsible for striping data across the different TCP‐ vs, it handles buffer management (including sequencing at the receiver), and consequently flow control.  iii) Delayed binding:   pTCP uses a delayed binding strategy that satisfies the requirement of striping  based on ratios of cwnd, rtt, and at the same time dynamically adapts to instantaneous fluctuations in  bandwidth and delay. 

iv) Packet re‐striping:  In steady state, pTCP will ensure that the number of outstanding packets in a mi‐ cro‐flow is proportional to the bandwidth along the corresponding path. Moreover, the delayed binding  strategy further ensures that all bound packets are already in transit in the network. However, during  congestion when packets are lost in the network, the reduction of the congestion window by a TCP‐v  can result in bound packets falling outside the congestion window. If such packets are lost during the  congestion, then they will remain un‐transmitted till the congestion window of that TCP‐v expands be‐ yond their sequence numbers. This can potentially result in an overflow of the receive buffer if the other  micro‐flows are active in the meantime, finally resulting in a connection stall. 

TCP‐virtual, responsi‐ ble for “per‐path func‐ tions” 

Striped connec‐ tion Manager 

  Figure 15: pTCP architecture 

 

pTCP handles the problem by unbinding packets that fall outside of the congestion window of TCP‐v  they were assigned to. Such unbinding results in making those packets available to the next TCP‐v that  can send more data (Figure 15). pTCP also uses the selective acknowledgements to further reduce pack‐ ets. 

3.6 BitTorrent Protocol [78] 

BitTorrent is a peer‐to‐peer file sharing protocol used to distribute large amounts of data. The initial dis‐ tributor of the complete file or collection acts as the first seed. Each peer who downloads the data also  uploads them to other peers. Relative to standard internet hosting, this provides a significant reduction  in the original distributor's hardware and bandwidth resource costs. It also provides redundancy against  system problems and reduces dependence on the original distributor. 

BitTorrent client is any program that implements the BitTorrent protocol. Each client is ca‐ pable of preparing, requesting, and transmitting any type of computer file over a network,  using the protocol.  

A peer is any computer running an instance of a client. 

Basic operation principle: To share a file or group of files, a peer first creates a small file called a "tor‐ rent" (e.g. MyFile.torrent). This file contains metadata about the files to be shared and about the  tracker, the computer that coordinates the file distribution. Peers that want to download the file must  first obtain a torrent file for it, and connect to the specified tracker, which tells them from which other  peers to download the pieces of the file. 

  Though both ultimately transfer files over a network, a BitTorrent download differs from a clas‐ sic full‐file HTTP request in several fundamental ways: 

• BitTorrent makes many small data requests over different TCP sockets, while web‐browsers  typically make a single HTTP GET request over a single TCP socket. 

• BitTorrent downloads in a random or in a "rarest‐first" approach that ensures high availabil‐ ity, while HTTP downloads in a sequential manner. 

  Taken together, these differences allow BitTorrent to achieve much lower cost to the content  provider, much higher redundancy, and much greater resistance to abuse or to "flash crowds" than a  regular HTTP server. However, this protection comes at a cost: downloads can take time to rise to full  speed because it may take time for enough peer connections to be established, and it takes time for a  node to receive sufficient data to become an effective uploader. As such, a typical BitTorrent download  will gradually rise to very high speeds, and then slowly fall back down toward the end of the download.  This contrasts with an HTTP server that, while more vulnerable to overload and abuse, rises to full speed  very quickly and maintains this speed throughout. 

  In general, BitTorrent's non‐contiguous download methods have prevented it from supporting  "progressive downloads" or "streaming playback". Various improvements are suggested for the bit‐ torrent clients for better performance (“BitCod Client”). Also, network topology improvements are also  suggested. For instance, use of a mesh instead of a tree topology is proposed to improve the perform‐ ance [76].  

 

In document Universidad Santo Tomás (página 40-46)

Documento similar