• 沒有找到結果。

Chapter 3  Proposed near-live P2P streaming system

3.2.  Proposed protocol

Under our system there are three phases for any peer: Join, Work, and Leave.

And there are several operations during the work phase.

3.2.1 Join phase

In the join phase, a peer v arrived and set connection with track server, and then track server provided super peer list consisting of the IP address of every super peer registered. The new peer issued to every super peer the join message including the offset chunk id, zero one sequence, and address of itself. And then Super peer will reply message if the offset chunk id is within the batch time interval. According to the response of super peers, there are three situations:

a If there is no super peer response, this new peer will be upgraded to a super peer.

b If the bandwidth of the suitable super peer is smaller than itself, it will be upgraded to a super peer and take over the jobs of the original super peer.

c Join a suitable group.

After either a or b situation, the new peer registered itself in track server by sending a report. And tracker server broadcast the address of new super peer for others. And then each super peer can also maintain the super peer list.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

14

Figure 12 New peer processes

3.2.2 Work phase

Group membership:

The peers in the same group periodically exchanged “Alive” message including live time, address, and buffer map. Especially there are additional elements, children list, batch time interval, and “Alive” message of a super peer.

Super peer partnership:

Since the track server broadcasted the addresses of new super peers, every super peer can choose those super peers which have a short distance between themselves as their partners.

Partnership:

A peer can find partners through a super peer service. Due to the variable network situation, a peer calculates a score for each partner to maintain a stable number of partners.

Score:

Tt=tCt

(

TT

)

2 ' / '

log

Ct The amount of chunks received from a partner during a time unit t.

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

(a) Query-chunk message

segment_id The media streaming is separated as many continuously segments by the track server, and every segment has a unique id.

count_rqst The segment at cache was requested in the last unit time that is defined a fix sliding time window.

time_lru The segment at cache was requested at the last time.

cache value The utilization of the segment.

(b) Cache value

Figure 13 Buffer map format of proposed protocol

The Offset_Cache is the first chunk id in the cache storage. And Sequence_Cache is a zero one string that specified existence of following chunks.

3.2.3 Leave phase

The peer can leave the system at any time without a notice. A peer that played a

15 T Now time.

'

t The latest time of calculating score.

Streaming:

Every peer maintains a buffer map as figure 13 (a) illustrated to specify clearly which available chunks it has.

A peer issued a query-chunk message that contains Offset_urgent , Sequence_urgent, Cache value, Offset_Cache and Sequence_Cache to either its super peer or partner.

The Cache_value, there are four columns as explained in figure 13 (b).

The Cache_value, there are four columns as explained in figure 13 (b).

相關文件