Di+1 = f * Di |
B f <= ---- MK |
(I keep using the work "choose" because I want to relate to the Pyramid Broadcast method.
Yet, I put the word "choose" is in quotes, because, we don't really have a choice - we always have: K = B/M)
|
|
(I.e., Skyscraper Broadcasting need to use more channels than Pyramid Broadcasting to broadcast the same set of videos
(you don't get something for nothing, also known as "The Law of Conservation of Misery" in Mathematics)
(I personally find this technique exceptionally beautiful...)
But the sizes do not increase exponentially, rather, "quasi" linearly:
Then:
|
|
where f(1) = 1 is defined as:
|
|
Result: 1, 2, 2, 5, 5, 12, 12, 25, 25, 52, 52, 105, 105, 212, 212, ...
the resulting structure that you get looks like a skyscraper... as shown in the following figure
(And will therefore transmit the video object in K channels, since one video object is partitioned into K fragments)
In other words:
The transmission rate on each (sub)channel in Skyscraper Broadcasting is equal to the consumption rate |
This is exactly the same as how cable/satelite channels likes to transmit the video !
for its own use.
In other words:
K = B/M |
fragments, and each fragment is sent on its own channel
 
|
 
D1 + 2 D1 + 2D1 + 5 D1 + 5 D1 + .... = D         |
Each of the variables Di can be expressed as some multiple of D1,
By substituing all Di as some multipl of D1, we can find D1 (because D is given - it is a parameter of the problem)
(For clarity, I have display a scale at top that has a unit the size of video fragment 1.)
 
|
are called odd sized fragments (because they are an odd multiple of D1).
 
|
are called even sized fragments (because they are an even multiple of D1).
The odd loader downloads odd sized fragments one after the other in sequence.
The even loader downloads even sized fragments one after the other in sequence.
(this component will not be discussed, the key to the operation of Skyscraper Broadcasting are the "odd" and "even" loaders)
The skyscraper receiver can simultaneously download from 2 channels (while at the same time playing out the video).
Can the receiver download and display the entire video object
uninterrupted ?
By that we mean: once the receiver start downloading fragment 1 of the video, can he download fragment 2 in time, and then fragment 3, and so on ? |
The viewing of the video is uninterrupted
The viewing of the video is again uninterrupted
(The pre-fetch technique is not new, we have seen that in Pyramid broadcasting...)
The viewing of the video is again uninterrupted
(The pre-fetch technique is not new, we have seen that in Pyramid broadcasting...)
OK, after seeing 3 scenarios, let us go back to
the $6,000,000 question is:
|
The start of fragment D2 (or any of the even sized fragments) ALWAYS begins in an EVEN slot index !!! |
Example:
Case 1: Request arrives after an even "time" point but before an odd "time" point
The even loader will not start yet.
Case 2: Request arrives after an odd "time" point but before an even "time" point
1, 2, 2, 5, 5, 12, 12, 25, 25, 52, 52, 105, 105, 212, 212, ....you see that:
(because the time of the end of the first fragment is also the start of the next fragment !!!)
So we have covered these fragments:
1, 2, 2, 5, 5, 12, 12, 25, 25, 52, 52, 105, 105, 212, 212, ....
^ ^ ^ ^ ^ ^ ^
| | | | | | |
These fragments can surely be displayed without break.
Current stream Next stream Example -------------- ----------- ------- even size odd size 2, 2, -> 5, 5, ..., 12, 12, -> 25, 25 odd size even size 5, 5, -> 12, 12, ..., 25, 25, -> 52, 52We will look at each of the cases separately...
Important observation:
|
Let us explore if (and how) the receiver in general that has finished playing an even size fragment pair will be able to obtain the next odd value size segment in time...
Let t denote the playout time of the first fragment of the even value size fragment pair.
I.e., the video from the first fragment of the even fragment pair will be displayed at time t
The following figure shows the possible broadcast times of the odd size fragment during the period when the even fragment pair are being displayed:
We can see that the start of fragment 2A+1 is encountered (exactly) once during the playout period of the two even (A) fragments:
In such case, the receiver would not be able to obtain the next fragment when it starts playing the current fragment.
The following figure depicts an example of a transition where:
Important observation:
|
Let us now explore if (and how) the receiver in general that has finished playing an odd sized fragment pair will be able to obtain the next even sized segment in time...
Again, let t be the starting display time of the first fragment of the odd sized fragment pair...
If you followed the last discussion on how we tried to start the next fragment on all possible times within the transmission time of the fragment pair, you would think that in this case (when the receiver is receiving an odd sized pair and looking for an even sized pair), the receiver may not be able to download the even sized fragment in time....
Since the size of the even sized fragment is equal to 2A + 2, the following would be a situation where this 2A + 2 fragment does not begin within the playout time of the previous fragment pair:
To show that the receiver can always obtain the even fragment after the odd fragment pair, we have to consider t = even and t = odd separately.
Case 1: t = even
|
Case 2: t = odd
Is our goose cooked in this case ?????
If not, how can be handle this particular situation.... ???
1, 2, 2, 5, 5, 12, 12, 25, 25, 52, 52, 105, 105, 212, 212, .... ^^^^ ^^^^^^ ^^^^^^^^
Why ? Well, the starting time to display the odd sized fragment A is t.
So, if the previous fragment did not complete downloading before time t (which would be the case if the ending time for downloading the "previous" even sized fragment is t + 1 or later), the video will surely not show up in time at time t !!!
If the answer is "yes", our goose is cooked and we can pack up and go home...
If the answer is "no", you better convince the buyer of your system that it is so...
In any case, the even loader has finished in time to download the 2A+1 fragment that starts at time t - 1 !!!