KR100794969B1 - A method for adaptively retrieving data for load shading in clustered video servers - Google Patents

A method for adaptively retrieving data for load shading in clustered video servers Download PDF

Info

Publication number
KR100794969B1
KR100794969B1 KR1020070014180A KR20070014180A KR100794969B1 KR 100794969 B1 KR100794969 B1 KR 100794969B1 KR 1020070014180 A KR1020070014180 A KR 1020070014180A KR 20070014180 A KR20070014180 A KR 20070014180A KR 100794969 B1 KR100794969 B1 KR 100794969B1
Authority
KR
South Korea
Prior art keywords
cluster
round
length
round length
equation
Prior art date
Application number
KR1020070014180A
Other languages
Korean (ko)
Inventor
송민석
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020070014180A priority Critical patent/KR100794969B1/en
Application granted granted Critical
Publication of KR100794969B1 publication Critical patent/KR100794969B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

A method for searching data adaptively to share a load in clustered video servers is provided to share the load among clusters without migrating or replicating the data by using adaptive data search changing length of rounds dynamically. A value of a disk bandwidth usage and a buffer usage is calculated from all clusters, and a set of the disk bandwidth usage and the buffer usage is stored. The set of the disk bandwidth usages is found when a selection parameter is the number of divisors of an available round length set. The disk bandwidth usage and the buffer usage for the predetermined cluster are calculated again when a customer requests a video stream stored in the cluster. It is checked whether the round length can be extended for the cluster. It is checked whether the round length can be extended without jitter. It is checked whether the buffer usage of which the round length is extended is smaller than one when the round length can be extended. The round length is extended when a buffer space is enough.

Description

클러스터링된 비디오 서버에서의 부하 공유를 위한 적응형 데이터 검색 방법{A METHOD FOR ADAPTIVELY RETRIEVING DATA FOR LOAD SHADING IN CLUSTERED VIDEO SERVERS}Adaptive Data Retrieval for Load Sharing in Clustered Video Servers {A METHOD FOR ADAPTIVELY RETRIEVING DATA FOR LOAD SHADING IN CLUSTERED VIDEO SERVERS}

도 1은 클러스터의 수가 2개이고, 각각의 클러스터가 4개의 동종 디스크를 포함하는 비디오 서버의 일예의 구성을 도시하는 도면.1 is a diagram showing an example of a configuration of a video server in which the number of clusters is two, and each cluster includes four homogeneous disks.

도 2는 Q = 1,

Figure 112007012567248-pat00001
이며, 시간 (m + 2) * frj에서 라운드 길이가 frj에서 frj +1로 변화하는 경우의 스트림들의 검색 및 재생을 도시하는 도면.2 is Q = 1,
Figure 112007012567248-pat00001
, And the time (m + 2) * a diagram showing a search and playback of a stream in the case of changes in the length of the round fr fr j from j to j +1 fr.

도 3은 Q = 1,

Figure 112007012567248-pat00002
이며, 시간 (m + 2) * frj에서 라운드 길이가 frj +1에서 frj로 감소하는 경우의 데이터 검색 및 재생을 예시하는 도면.3 is Q = 1,
Figure 112007012567248-pat00002
, And the time (m + 2) * a view illustrating a round length of data retrieval and reproduction in the case of reduced fr fr j from j +1 in fr j.

도 4는 본 발명에 따른 적응형 데이터 검색 방법을 구체적으로 구현한 알고리즘을 나타내는 도면.4 illustrates an algorithm specifically implementing an adaptive data retrieval method according to the present invention.

도 5는 GCP(인기도의 점진적인 변화) 시나리오 하에서 고객의 비율, 즉 인가 비(admission ratio)가 고객 요청들의 도착 속도에 따라 어떻게 달라지는지를 도시하는 도면.FIG. 5 shows how the proportion of customers under the GCP (Gradual Change of Popularity) scenario, i.e., the authorization ratio, depends on the arrival rate of the customer requests.

도 6 및 도 7은 도착 속도가 20 및 30 요청/분인 경우에 DCP(인기도의 급격 한 변화) 시나리오 하에서 인가 비가 α의 값에 따라 어떻게 달라지는지를 도시하는 도면.6 and 7 show how the authorization ratio depends on the value of α under the DCP (Rapid Change of Popularity) scenario when the arrival rate is 20 and 30 requests / minute.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

Figure 112007012567248-pat00003
: 클러스터 k의 i번째 디스크
Figure 112007012567248-pat00003
: I-th disk in cluster k

Si ,m : 비디오 Vi의 m번째 세그먼트S i , m : m-th segment of video V i

Figure 112007012567248-pat00004
: 서브-세그먼트
Figure 112007012567248-pat00004
Sub-segment

Data read : 데이터 판독Data read: read data

Sm : 세그먼트 mS m : segment m

Playback of Sm : 세그먼트 Sm에 대한 재생Playback of S m : Playback for segment S m

CV : 적응형 라운드 길이 조정을 허용하지 않는 기존의 데이터 검색 방법CV: traditional data retrieval method that does not allow adaptive round length adjustment

ADR : 본 발명에 따른 적응형 데이터 검색 방법ADR: Adaptive Data Retrieval Method According to the Present Invention

본 발명은 클러스터링된 비디오 서버에서의 부하 공유를 위한 적응형 데이터 검색 방법으로서, 보다 구체적으로는 라운드 길이를 동적으로 변화시킴으로써 데이터의 이동 또는 복사 없이도 클러스터들 간에 부하 공유를 달성할 수 있는 적응형 데이터 검색 방법에 관한 것이다.The present invention is an adaptive data retrieval method for load sharing in a clustered video server, and more specifically, adaptive data capable of achieving load sharing between clusters without moving or copying data by dynamically changing round length. It is about a search method.

멀티미디어 및 네트워크 기술에서의 최근의 진보로 인해, 주문형 비디오(video-on-demand 이하 "VOD"라고 함) 서비스를 고객들에게 제공하는 것이 가능하게 되었다. VOD 서비스가 가능하려면, 비디오 서버가 수천 명의 고객들에게 비디오를 전송할 수 있는 능력을 가져야 한다. 비디오 데이터는 높은 대역폭 및 큰 저장 공간을 필요로 하기 때문에, 비디오 서버는 일반적으로 수백 개의 디스크들로 구성될 수 있는 디스크 어레이들 상에 만들어진다. 서버의 디자인에 있어서 주된 관심사는, 동시 발생하는 스트림의 수를 최대화시킬 수 있도록 비디오 데이터를 어떻게 위치시키고 검색하느냐는 것이다.Recent advances in multimedia and network technologies have made it possible to provide customers with video-on-demand "VOD" services. To be able to service VOD, a video server must have the ability to deliver video to thousands of customers. Since video data requires high bandwidth and large storage space, video servers are typically built on disk arrays that can consist of hundreds of disks. A major concern in the design of the server is how to locate and retrieve video data to maximize the number of concurrent streams.

다수의 고객들을 지원하기 위한 데이터 검색 기법으로서는, 라운드 기반 스케줄링(round-based scheduling) 기법이 일반적으로 사용된다. 라운드 기반 스케줄링에서는, 시간이 라운드(rounds)라고 지칭되는 동일한 크기의 주기들로 분할되며, 각각의 인가된 고객은 각각의 라운드에서 한 번씩 서비스를 받게 된다. 연속적인 재생을 보장하기 위해, 현재 재생이 요구되는 데이터는 이전 라운드에서 디스크로부터 판독되는 반면에, 다음 라운드에서 재생되어야 할 데이터는 현재 라운드에서 판독된다. 그렇지 않으면, 재생이 왜곡되거나, 비디오 데이터의 시간제한 위반 때문에 일시 정지(pause)가 발생할 수 있는데, 이 현상을 지터(jitter)라고 지칭한다.As a data retrieval technique for supporting a large number of customers, a round-based scheduling technique is generally used. In round-based scheduling, time is divided into equally sized periods called rounds, with each authorized customer being served once in each round. To ensure continuous playback, the data that needs to be played back is read from the disc in the previous round, while the data to be played back in the next round is read out in the current round. Otherwise, playback may be distorted or pauses may occur due to a timeout violation of the video data, which is referred to as jitter.

디스크 대역폭을 효과적으로 사용하기 위하여, 비디오 오브젝트는 흔히 세그먼트로 분할되어 다수의 디스크에 걸쳐 분배된다. 이러한 스킴은 스트라이핑(striping)이라고 지칭되는데, 세그먼트는 하나의 디스크 상에 저장되는 연속적 인 데이터의 최대 양이다. 너무 많은 디스크에 걸친 스트라이핑은 추가적인 복잡도(complexity)를 수반하게 되며, 그 결과 신뢰도 문제를 초래할 수 있다. 따라서 하나의 디스크 어레이를 몇 개의 클러스터로 분할하여 스트라이핑의 범위를 제한한 후, 각각의 클러스터가 독립적으로 스트라이핑 그룹을 구성하게 하고 나서, 각각의 비디오가 하나의 클러스터 내에 스트라이핑 되도록 하는 것이 현실적이다.To effectively use disk bandwidth, video objects are often divided into segments and distributed over multiple disks. This scheme is called striping, where a segment is the maximum amount of consecutive data stored on one disk. Striping across too many disks involves additional complexity, which can lead to reliability problems. Therefore, it is realistic to divide one disk array into several clusters to limit the range of striping, to have each cluster independently form a striping group, and then to have each video stripe in one cluster.

일반적으로 고객들의 요청은 소수의 인기 비디오들로 지나치게 치우치는 경향이 있어서, 해당 인기 비디오들의 사본을 포함하고 있는 클러스터들은 다른 클러스터들보다 더 많은 요청을 수신하게 되어 과부하가 걸리기 쉽다. 미래의 고객들에 의해 요청될 비디오에 대한 접근 확률을 정확하게 예측하는 것은 어렵기 때문에, 비디오 데이터를 균형 잡힌 방식으로 배치하는 것은 불가능하다. 더욱 어려운 점은, 요청 패턴들이 시간 단위로 변할 수도 있다는 것이다. 예를 들어, 아동용 비디오는 흔히 초저녁에는 인기가 있으나, 늦은 밤에는 거의 요청되지 않는다.In general, customers' requests tend to be excessively skewed to a few popular videos, so clusters containing copies of those popular videos are more likely to receive overload than other clusters. Since it is difficult to accurately predict the probability of access to the video that will be requested by future customers, it is impossible to place the video data in a balanced manner. Even more difficult is that the request patterns may change over time. For example, children's videos are often popular in early evenings, but are rarely requested at late nights.

클러스터링된 비디오 서버에서 부하 밸런싱(load balancing)을 달성하기 위해서, 기존의 접근법들은 동적 데이터 이동(dynamic data migration) 또는 복사(replication) 기법을 사용한다. 이들 스킴의 주된 아이디어는, 클러스터들 사이에서 비디오 데이터를 이동시키거나 복사하여, 일정 정도의 부하 균형을 달성한다는 것이다. 그러나 이들 스킴은 이동 또는 복사를 위해 추가적인 디스크 대역폭 및 저장 공간과 같이 보다 많은 리소스를 필요로 하며, 이로 인해 중단(downtime)을 야기하거나 VOD 시스템을 액세스하는 애플리케이션들의 성능에 영향을 미칠 수 있다. 게다가, 이러한 이동은 고객들의 미래 수요의 평가에 기초할 필요가 있는 데, 부정확한 예측은 시스템 성능을 크게 떨어뜨릴 수도 있다. 그러므로 이들 접근법은 비디오 서버에 그다지 적합하지 않다.To achieve load balancing in a clustered video server, existing approaches use dynamic data migration or replication techniques. The main idea of these schemes is to move or copy video data between clusters to achieve some degree of load balancing. However, these schemes require more resources, such as additional disk bandwidth and storage space, to move or copy, which can cause downtime or affect the performance of applications accessing the VOD system. In addition, this shift needs to be based on an assessment of the future demands of customers, which inaccurate predictions may significantly degrade system performance. Therefore, these approaches are not very suitable for video servers.

본 발명은 상기와 같은 인식에서 비롯된 것으로서, 데이터의 이동 또는 복사 없이도 클러스터들 간에 부하 공유를 달성할 수 있는 적응형 데이터 검색 방법을 제안하는 것을 그 목적으로 한다.The present invention is derived from the above recognition, and aims to propose an adaptive data retrieval method capable of achieving load sharing between clusters without moving or copying data.

상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 클러스터링된 비디오 서버에서의 부하 공유를 위한 적응형 데이터 검색 방법은 다음과 같다.According to an aspect of the present invention for achieving the above object, an adaptive data retrieval method for load sharing in a clustered video server is as follows.

전송 속도(transfer rate)가 tr이고, 디스크 검색 시간(disk seek time)이 Ts로서 각각 상수이며, 버퍼 크기는 B이고,The transfer rate is tr, the disk seek time is T s , each constant, the buffer size is B,

시간이 라운드(rounds)라고 지칭되는 동일한 크기의 주기들로 분할되며, 각각의 인가된 고객은 각각의 라운드에서 한 번씩 서비스를 받게 되는 라운드-기반 스케줄링(round-based scheduling)이 사용되며,The time is divided into equally sized periods called rounds, and round-based scheduling is used where each authorized customer is served once in each round,

비디오 스트림 Vi가 유한 개수의 연속적인 세그먼트들로 나누어지고, 각각의 세그먼트들은 NS개의 서브-세그먼트들로 다시 나누어지며(여기서, 각각의 서브-세그먼트의 크기는 길이 BR인 기본 라운드 동안 검색되는 데이터 크기에 해당함), 각각의 세그먼트들은 라운드-로빈 방식으로 디스크들에 저장되며, 데이터 재생 속도는 dri로서 그 단위는 bits/sec이며,The video stream V i is divided into a finite number of consecutive segments, each segment being subdivided into NS sub-segments (where each sub-segment has a length BR of data retrieved during the basic round). Size), each segment is stored on disks in a round-robin fashion, and the data playback speed is dr i , the unit of which is bits / sec,

C개의 클러스터로 구성되고 각각의 클러스터는 Q개의 동종 디스크들로 구성되고, 고객들을 C개의 고객 그룹(CG1, …, CGC)으로 분할한 후, 그룹 CGk 내의 고객들이 대응하는 클러스터 k로부터 스트림을 수신 받도록 구성되며, 고객

Figure 112007012567248-pat00005
이 상기 비디오 스트림 Vi를 요청하고 있는 클러스터링된 비디오 서버에서,Consisting of C clusters, each cluster consisting of Q homogeneous disks, dividing the customers into C customer groups (CG 1 , ..., CG C ), and then the customers in group CG k from the corresponding cluster k Configured to receive streams, and
Figure 112007012567248-pat00005
In the clustered video server requesting this video stream V i ,

라운드 길이가 frj인 경우의 클러스터 k에 대한 디스크 대역폭 이용도 DSk(j)와 버퍼 이용도 BSk(j)가 각각 다음 수학식 1 및 2와 같이 주어지는 경우에,When the disk bandwidth utilization DS k (j) and the buffer utilization BS k (j) for the cluster k when the round length is fr j are given by Equations 1 and 2, respectively,

Figure 112007012567248-pat00006
Figure 112007012567248-pat00006

(여기서,

Figure 112007012567248-pat00007
)(here,
Figure 112007012567248-pat00007
)

Figure 112007012567248-pat00008
Figure 112007012567248-pat00008

클러스터링된 비디오 서버에서 부하 공유를 위해 데이터를 적응적으로 검색하는 방법으로서,A method of adaptively retrieving data for load sharing in a clustered video server,

(1) 모든 클러스터 k(k = 1, …, C)에 대하여 상기 DSk(j)와 BSk(j)의 값을 계산하여 그 집합들을 각각 유지하는 단계;(1) calculating the values of DS k (j) and BS k (j) for all clusters k (k = 1, ..., C) and maintaining their respective sets;

(2) 가능한 라운드 길이를 오름차순으로 포함하고 있는 집합(FS)의 SLm번째 원소, frSLm가 클러스터 m에 대한 라운드 길이로서 선택되는 것을 나타내는 선택 파라미터 SLm이 ND인 경우의 디스크 이용도 DSm(ND)(m = 1, …, C)들의 집합 SM을 구하는 단계;(2) Disk utilization DS m when the selection parameter SL m is ND indicating that the SL m th element of the set FS containing the possible round lengths in ascending order, fr SLm is selected as the round length for cluster m Obtaining a set SM of (ND) (m = 1, ..., C);

(3) 고객이 클러스터 p에 저장된 비디오 스트림을 요청하는 경우, 새로운 고객이 인가될 것이라고 가정하고 j = 1, …, ND에 대하여 상기 클러스터 p에 대한 이용도들 DSp(j)와 BSp(j)를 다시 계산하는 단계 - 여기서, ND는 상기 NS에 대한 약수의 개수임 - ;(3) If a customer requests a video stream stored in cluster p, assume that a new customer will be authorized j = 1,... Recalculating the utilizations DS p (j) and BS p (j) for the cluster p for ND, where ND is the number of divisors for the NS;

(4) 상기 클러스터 p에 대한 선택 파라미터 SLp가 SLp ≤ ND - 1인지를 확인하여, 상기 클러스터 p에 대하여 라운드 길이가 1만큼 확장될 수 있는지 여부를 판단하는 단계;(4) determining whether the selection parameter SL p for the cluster p is SL p ≤ ND-1 to determine whether the round length can be extended by 1 for the cluster p;

(5) 상기 클러스터 p에 대한 선택 파라미터를 증가시킬 경우의 디스크 대역폭 이용도 DSp(SLp + 1)이 다음 수학식 3을 만족하는지 여부를 확인하여 지터가 없이 라운드 길이의 확장이 가능한지를 판단하는 단계;(5) Checking whether the disk bandwidth utilization DS p (SL p + 1) satisfies the following Equation 3 when increasing the selection parameter for the cluster p to determine whether it is possible to extend the round length without jitter. Doing;

Figure 112007012567248-pat00009
Figure 112007012567248-pat00009

(여기서, ε는 고객그룹 CGp에 속하는 고객

Figure 112007012567248-pat00010
에 대한 최대 서비스 시간을 나타냄)Where ε is the customer belonging to customer group CG p
Figure 112007012567248-pat00010
Maximum service time for)

(6) 상기 단계 (4) 내지 (5)에서 라운드 길이가 지터가 없이 확장 가능한 것으로 판단되는 경우, 상기 클러스터 p에 대한 라운드 길이를 확장한 경우의 버퍼 이용도가 1보다 작은지를 다음 수학식 4에 의해 확인하여 충분한 버퍼 공간이 있는지를 판단하는 단계;(6) If it is determined in step (4) to (5) that the round length is expandable without jitter, whether the buffer utilization in the case of extending the round length for the cluster p is smaller than 1 Checking by to determine whether there is sufficient buffer space;

Figure 112007012567248-pat00011
Figure 112007012567248-pat00011

(7) 상기 단계 (6)에서 버퍼 공간이 충분한 것으로 판단되는 경우, SLp를 SLp + 1로 증가시켜 라운드 길이를 확장시키는 단계;(7) if it is determined in step (6) that the buffer space is sufficient, increasing SL p to SL p + 1 to expand the round length;

(8) SM에서 값이 가장 작은 원소 DSl(ND)을 선택하여 SM로부터 제거하는 단계;(8) selecting element DS l (ND) having the smallest value in SM and removing it from SM;

(9) 클러스터 l에 대하여 라운드 길이를 줄인 경우의 디스크 대역폭 이용도인 DSl(ND - 1)이 1이하인지를 확인하여 디스크 대역폭 이용도를 만족시키는지 확인하는 단계; 및(9) checking whether the disk bandwidth utilization DS l (ND-1), which is a case where the round length is reduced for the cluster l, is less than or equal to 1 to determine whether the disk bandwidth utilization is satisfied; And

(10) 상기 단계 (9)에서 DSl(ND - 1) ≤ 1 인 것으로 판단되면 SLl을 ND - 1로 하여 라운드 길이를 감소시키고, 그렇지 않으면 SM이 공집합이 아닌 동안 상기 단계 (8) 내지 (9)를 반복하는 단계(10) If it is determined in step (9) that DS l (ND-1) ≤ 1, SL l is set to ND-1 to reduce the round length, otherwise step (8) to (8) while SM is not empty Repeat step (9)

를 포함하는 것을 그 특징으로 한다.It characterized by including the.

또한, 본 발명의 또 다른 특징에 따른 클러스터링된 비디오 서버에서 부하 공유를 위해 데이터를 적응적으로 검색하는 방법은,In addition, a method for adaptively retrieving data for load sharing in a clustered video server according to another aspect of the present invention,

(11) 고객이 클러스터 k에 저장된 비디오 스트림을 닫는 경우, DSk(j)와 BSk(j)(j = 1, …, ND)를 다시 계산하는 단계;(11) if the customer closes the video stream stored in cluster k, recalculating DS k (j) and BS k (j) (j = 1, ..., ND);

(12) 다음 수학식 5를 만족하는지 판단하는 단계;(12) determining whether the following Equation 5 is satisfied;

Figure 112007012567248-pat00012
(SLk = 2, …, ND)
Figure 112007012567248-pat00012
(SL k = 2,…, ND)

(13) 상기 단계 (12)에서 상기 수학식 5가 만족되는 것으로 판단되면, 다음 수학식 6을 만족하는지 확인하여 라운드 길이를 감소시키는 것이 디스크 대역폭 제약을 위반시킬 것인지를 판단하는 단계; 및(13) if it is determined in Equation 12 that Equation 5 is satisfied, determining whether Equation 6 is satisfied to determine whether reducing the round length would violate the disk bandwidth constraint; And

Figure 112007012567248-pat00013
Figure 112007012567248-pat00013

(14) 상기 단계 (13)에서 디스크 대역폭 제약을 위반하지 않는 것으로 판단되면, SLk를 SLk - 1로 감소시켜 클러스터 k의 라운드 길이를 감소시키는 단계(14) if it is determined in step (13) that the disk bandwidth constraint is not violated, reducing SL k to SL k -1 to reduce the round length of cluster k;

를 더 포함하는 것을 그 특징으로 한다.Characterized in that it further comprises.

이하에서는 첨부된 도면들을 참조하여, 본 발명의 실시예에 대해 상세하게 설명하기로 한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail an embodiment of the present invention.

1. 시스템 모델1. System Model

본 발명에서 사용되는 비디오 서버는 하나의 디스크 어레이를 클러스터들로 분할하며, 각각의 클러스터는 독립적으로 스트라이핑 그룹을 형성한다. 비디오 서버는 C개의 클러스터들로 분할되며, 각각의 클러스터는 Q개의 동종 디스크로 구성될 수 있다. 클러스터 k의 i번째 디스크를 지칭하기 위해서

Figure 112007012567248-pat00014
라고 표시하기로 한다.The video server used in the present invention divides one disk array into clusters, and each cluster independently forms a striping group. The video server is divided into C clusters, and each cluster may be composed of Q homogeneous disks. To refer to the i th disk of cluster k
Figure 112007012567248-pat00014
Will be displayed.

도 1은 클러스터의 수가 2개이고, 각각의 클러스터가 4개의 동종 디스크를 포함하는 비디오 서버의 일예의 구성을 도시한다. 비디오 Vi는 유한 개수의 연속적인 세그먼트들(Si,1, Si,2, …)로 나누어지는데, 도 1에서는, V1은 클러스터 1에 저장되며, V2는 클러스터 2에 저장된다.1 shows an example configuration of a video server in which the number of clusters is two, and each cluster includes four homogeneous disks. The video V i is divided into a finite number of consecutive segments Si, 1 , Si, 2 ,... In FIG. 1, V 1 is stored in cluster 1 and V 2 is stored in cluster 2.

고객이 비디오 스트림을 요청하는 경우, 서버는 해당 비디오의 일부분을 저장하기 위하여 일정 양의 버퍼 공간을 할당한다. 또한, 서버는 디스크들로부터 비디오 데이터를 연속적으로 검색하기 위하여 각각의 스트림에 대하여 디스크 대역폭을 할당한다. 디스크 검색 시간의 불가피한 오버헤드를 줄이기 위하여, 디스크 헤드가 디스크의 표면을 따라 앞뒤로 스캔하면서 자신들이 지나치는 블록들을 검색하는 SCAN 스케줄링을 사용한다.When a customer requests a video stream, the server allocates a certain amount of buffer space to store a portion of the video. The server also allocates disk bandwidth for each stream to continuously retrieve video data from the disks. To reduce the inevitable overhead of disk seek time, SCAN scheduling is used, where the disk head scans back and forth along the surface of the disk and searches for blocks it passes by.

2. 라운드길이에 따른 2. According to the round length 리소스resource 이용도의 변화 Change in utilization

라운드 길이의 선택은 동시 발생하는 사용자의 최대 수를 실질적으로 결정하기 때문에 중요하다. 한 라운드 동안 많은 양의 데이터를 검색하는 것은 디스크 지연(disk latency)의 영향을 감소시키기 때문에, 길이가 긴 라운드는 디스크 이용도의 효율을 향상시킨다. 반면에, 검색된 데이터를 저장하기 위해 많은 버퍼 공간이 필요하기 때문에, 길이가 긴 라운드는 버퍼 요구조건을 증가시킨다.The choice of round length is important because it substantially determines the maximum number of concurrent users. Since retrieving large amounts of data in one round reduces the impact of disk latency, long rounds improve the efficiency of disk utilization. On the other hand, long rounds increase the buffer requirements because a lot of buffer space is required to store the retrieved data.

본 발명에서 제안하는 적응형 데이터 검색 방법에서는, 각각의 클러스터가 고유한 라운드 길이 및 버퍼 공간을 가진다. 과부하가 걸린 클러스터에 의해 야기되는 디스크 대역폭 상의 스트레스를 극복하기 위해, 본 발명에 따른 방법은 라운드 길이를 증가시킨다. 이것은 버퍼 공간에 대한 요구조건을 증가시키지만, 보다 적게 사용되는 클러스터들로부터 버퍼 공간을 뺏어올 수 있다. 그러나 전체 버퍼 공간은 제한된 리소스이며, 더욱이 라운드 길이를 변화시키는 프로세스는 지터를 발생시킬 수도 있다. 이러한 밸런싱 행위(balancing act)를 효과적으로 수행하기 위해, 먼저 리소스 이용도가 라운드 길이에 따라 얼마나 변화하는지를 알 필요가 있다.In the adaptive data retrieval method proposed in the present invention, each cluster has a unique round length and a buffer space. In order to overcome the stress on the disk bandwidth caused by the overloaded cluster, the method according to the invention increases the round length. This increases the requirement for buffer space, but can take up buffer space from less used clusters. However, the total buffer space is a limited resource, and furthermore, the process of changing the round length may introduce jitter. In order to effectively perform this balancing act, it is first necessary to know how resource utilization varies with round length.

새로운 라운드 동안 검색되는 데이터가 인접하여 저장되지 않을 수도 있기 때문에, 라운드 길이를 변화시키는 것은 추가적인 검색 오버헤드를 발생시킬 수 있다. 이것을 해결하기 위해, 각각의 데이터 세그먼트 Si,m을 NS개의 서브-세그먼트

Figure 112007083901046-pat00015
(n = 1, …, NS)로 분할하는데, 여기서 각각의 서브-세그먼트의 크기는 길이 BR의 기본 라운드 동안 검색되는 데이터 크기에 해당한다. NS개의 서브-세그먼트들은 인접하게 저장되어 하나의 세그먼트를 구성하며, 세그먼트들은 도 1에 도시된 바와 같이 라운드-로빈(round-robin) 방식으로 배치된다(여기서 라운드-로빈 방식이란 그룹 내에 있는 모든 요소들을 한 번씩 순서대로 돌아가면서 처리하는 방법을 의미함).Since the data retrieved during a new round may not be stored contiguously, changing the round length may incur additional search overhead. To solve this, each data segment Si, m is NS sub-segment
Figure 112007083901046-pat00015
(n = 1, ..., NS), where the size of each sub-segment corresponds to the data size retrieved during the basic round of length BR. The NS sub-segments are contiguously stored to form one segment, and the segments are arranged in a round-robin manner as shown in FIG. 1 (where all elements within the group are round-robin schemes). How to process them in turn once in a while).

NS의 j번째 약수를 나타내기 위해 dvj(j = 1, …, ND)라는 표기를 사용할 것인데, 여기서 ND는 NS의 약수의 개수이다. 가능한 라운드 길이들의 집합인 FS는 frj|frj = BR * dvj이다. FS의 원소들이 오름차순으로 정렬된다고 가정한다. 예를 들어, 만약 NS = 6이면, FS는 fr1 = BR, fr2 = 2BR, fr3 = 3BR, fr4 = 6BR이다. FS에 해당하지 않는 라운드 길이는, 한 번의 읽기를 수행하기 위해 2번의 검색을 요구할 수도 있기 때문에 허용되지 않는다. 예컨대, 4BR을 라운드 길이로 선택했다고 가정하면, 서버는 도 1에서의 배치를 사용하여 S1 ,3을 검색하기 위해

Figure 112007012567248-pat00016
을 액세스한다. 만약 NS = 6이고,
Figure 112007012567248-pat00017
부터
Figure 112007012567248-pat00018
까지 6개의 서브-세그먼트가 하나의 세그먼트 S1,3를 구성한다고 하면, 서버는 한 라운드 동안 4개의 인접한 서브-세그먼트
Figure 112007012567248-pat00019
,
Figure 112007012567248-pat00020
,
Figure 112007012567248-pat00021
,
Figure 112007012567248-pat00022
Figure 112007012567248-pat00023
로부터 검색할 것이다. 그러나
Figure 112007012567248-pat00024
Figure 112007012567248-pat00025
Figure 112007012567248-pat00026
상에 저장되어 있고,
Figure 112007012567248-pat00027
Figure 112007012567248-pat00028
Figure 112007012567248-pat00029
상에 저장되어 있기 때문에, 다음 라운드 동안, 서버는 2개의 디스크
Figure 112007012567248-pat00030
Figure 112007012567248-pat00031
에 액세스할 필요가 있을 것이다.We will use the notation dv j (j = 1,…, ND) to denote the jth divisor of NS, where ND is the number of divisors of NS. FS, the set of possible round lengths, is fr j | fr j = BR * dv j . Assume that the elements of FS are sorted in ascending order. For example, if NS = 6, FS is fr 1 = BR, fr 2 = 2BR, fr 3 = 3BR, fr 4 = 6BR. Round lengths that do not correspond to FS are not allowed because they may require two searches to perform one read. For example, suppose 4BR is selected as the round length, and the server uses the layout in FIG. 1 to retrieve S 1 , 3 .
Figure 112007012567248-pat00016
To access it. If NS = 6,
Figure 112007012567248-pat00017
from
Figure 112007012567248-pat00018
Up to six sub-segments up to one segment S 1,3 , the server has four contiguous sub-segments in one round.
Figure 112007012567248-pat00019
,
Figure 112007012567248-pat00020
,
Figure 112007012567248-pat00021
,
Figure 112007012567248-pat00022
To
Figure 112007012567248-pat00023
Will search from. But
Figure 112007012567248-pat00024
Wow
Figure 112007012567248-pat00025
Is
Figure 112007012567248-pat00026
Stored in the
Figure 112007012567248-pat00027
Wow
Figure 112007012567248-pat00028
Is
Figure 112007012567248-pat00029
Because it is stored on the server, during the next round, the server
Figure 112007012567248-pat00030
Wow
Figure 112007012567248-pat00031
You will need to access.

dri(bits/sec)의 데이터 재생 속도를 갖는 비디오 Vi에 대한 버퍼와 디스크 대역폭 요구조건이 라운드 길이 frj(j = 1, …, ND)에 어떻게 영향을 받는지 알아보자. 인접한 데이터에 대한 한 번의 판독에 대해 Ts의 일정한 검색 오버헤드(검색 시간 + 회전 지연(rotational delay))가 요구되는 전형적인 검색 시간 모델(typical seek time model)이 사용된다. 비디오 스트림 Vi를 검색하는 것은 Ts의 오버헤드와

Figure 112007083901046-pat00032
의 판독 시간을 발생시키는데, 여기서 tr은 디스크의 데이터 전송 속도이다. 결과적으로, 비디오 스트림 Vi를 서비스하는 것은
Figure 112007083901046-pat00033
의 서비스 타임을 증가시킨다. 고객
Figure 112007083901046-pat00034
이 비디오 스트림 Vi를 요청한다고 가정하자. 고객들은 C개의 클라이언트 그룹(CG1, …, CGC)으로 분할될 수 있는데, 여기서 그룹 CGk 내의 고객들은 클러스터 k로부터 스트림을 수신한다. 만약 라운드 길이가 frj이면, 클러스터 k에 대한 전체 서비스 타임 STk(j)를 다음 수학식 7과 같이 얻을 수 있다.Let's see how the buffer and disk bandwidth requirements for video V i with a data rate of dr i (bits / sec) are affected by the round length fr j (j = 1,…, ND). A typical seek time model is used, which requires a constant search overhead of T s (search time + rotational delay) for one read of adjacent data. Searching for the video stream V i is equivalent to the overhead of T s
Figure 112007083901046-pat00032
Generates a read time, where tr is the data transfer rate of the disk. As a result, servicing video stream V i
Figure 112007083901046-pat00033
To increase the service time. customer
Figure 112007083901046-pat00034
Suppose we request this video stream V i . Customers can be divided into C client groups CG 1 ,..., CG C , where customers in group CG k receive a stream from cluster k. If the round length is fr j , the total service time ST k (j) for the cluster k can be obtained as in Equation 7 below.

Figure 112007012567248-pat00035
Figure 112007012567248-pat00035

설명의 편이를 위해, 디스크 부하들이 동일한 클러스터 내의 디스크들 사이에 균등하게 분배된다고 가정한다. 이러한 부하 밸런싱은 고객들에 대한 인가를 지연시킴으로써 쉽게 달성될 수 있다. 디스크에 대한 대역폭 이용도는 흔히 라운드 길이에 대한 전체 서비스 타임의 비로서 정의된다. 한 클러스터 내에 Q개의 디스크가 존재하므로, 이제 클러스터 k에 대한 디스크 대역폭 이용도 DSk(j)를 앞서 언급한 다음 수학식 1과 같이 결정할 수 있다.For ease of explanation, assume that disk loads are distributed evenly among the disks in the same cluster. Such load balancing can be easily accomplished by delaying authorization for customers. Bandwidth utilization for a disk is often defined as the ratio of overall service time to round length. Since there are Q disks in one cluster, the disk bandwidth utilization for cluster k can now also be determined as shown in Equation 1 below with reference to DS k (j).

<수학식 1><Equation 1>

Figure 112007012567248-pat00036
Figure 112007012567248-pat00036

B를 전체 버퍼 크기라고 하자. 더블 버퍼링(double buffering)이 SCAN 스케줄링을 위해 사용되므로, 비디오 스트림 Vi를 서비스하는 것은 버퍼 이용도를

Figure 112007012567248-pat00037
만큼 증가시킨다. 이제 클러스터 k에 대한 버퍼 이용도 BSk(j)를 앞서 언급한 다음 수학식 2와 같이 얻을 수 있다.Let B be the total buffer size. Since double buffering is used for SCAN scheduling, servicing video stream V i reduces buffer utilization.
Figure 112007012567248-pat00037
Increase by. The buffer utilization for cluster k can now be obtained as shown in Equation 2 below, BS k (j).

<수학식 2><Equation 2>

Figure 112007012567248-pat00038
Figure 112007012567248-pat00038

3. 3. 지터가Jitter 없는 라운드 조정을 위한 조건 Condition for no round adjustment

라운드 길이를 증가시키면 데이터 블록이 정시에 도달할 수 없을 수도 있는데, 이에 의해 일부 비디오 스트림에서는 지터가 발생할 수 있다. 이러한 현상이 발생하는 것은, 너무 적은 데이터 블록들이 판독되어서 새로운 라운드 길이를 지원할 수 없었기 때문이다.Increasing the round length may prevent the data block from reaching on time, which may result in jitter in some video streams. This happens because too few data blocks could be read to support the new round length.

도 2는 Q = 1,

Figure 112007012567248-pat00039
이며, 시간 (m + 2) * frj에서 라운드 길이가 frj에서 frj +1로 변화하는 경우의 스트림들의 검색 및 재생을 도시한다. 지터가 없는 서비스를 유지하기 위해, 한 라운드 동안 검색된 데이터는 다음 라운드 동안 재생을 위해 사용될 수 있어야 한다. 예를 들어, 도 2(a)에서, 시간 m * frj 및 시간 (m + 1) * frj 사이에 소모된 데이터의 모든 아이템은 시간 m * frj에서 버퍼 내에서 사용 가능하게 될 필요가 있다. 도 2(a)는 라운드의 길이를 늘이는 것이 현재 진행 중인 스트림들에서 어떻게 지터를 발생시킬 수 있는지를 예시한다. 도면으로부터, 스트림들 S3 및 S4에 의해 요청되는 블록들이 시간 (m + 3) * frj에서 사용할 수 없기 때문에 현재 진행 중인 스트림들에 대하여 시간 (m + 3) * frj부터 시간 (m + 4) * frj까지 데이터가 없는 것을 관찰할 수 있다.2 is Q = 1,
Figure 112007012567248-pat00039
, And it illustrates the retrieval and playback of a stream in the case of a round length change in fr fr j +1 in j in the time (m + 2) fr * j. In order to maintain a jitter free service, the data retrieved during one round must be available for playback during the next round. For example, in FIG. 2 (a), all items of data consumed between time m * fr j and time (m + 1) * fr j need to be made available in the buffer at time m * fr j . have. 2 (a) illustrates how increasing the length of the round can cause jitter in currently ongoing streams. Since from the figure, streams S3 and the block requested by the S4 to time (m + 3) * not available on the fr j with respect to the stream that is currently proceeding time (m + 3) * fr j from the time (m + 4 ) * You can observe that there is no data up to fr j .

도 2(b)는 라운드 길이의 확장이 지터를 야기하지 않는 상황을 예시한다. 이것은 시간 (m + 3) * frj과 시간 (m + 5) * frj 사이에 재생될 필요가 있는 데이터의 모든 아이템이 시간 (m + 3) * frj에서 사용 가능하기 때문이다. 이러한 관찰결과로부터, 지터가 없는 동작을 보장하기 위해서는, 하나의 디스크로 구성된 클러스터에서 새로운 라운드 길이 frj+1에 대한 서비스 시간이 frj를 초과해서는 안 된다 는 것을 쉽게 알 수 있다. Q개의 디스크가 존재하고, 디스크 부하가 동일한 클러스터 내의 디스크들 사이에 균등하게 분배되기 때문에, frj로부터 frj+1로의 지터가 없는 라운드 확장에 대한 조건을 다음 수학식 8과 같이 얻는다(j = 1, …, ND-1).2 (b) illustrates a situation where expansion of the round length does not cause jitter. This is because all items of data that need to be played back between time (m + 3) * fr j and time (m + 5) * fr j are available at time (m + 3) * fr j . From these observations, it is easy to see that in order to ensure jitter-free operation, the service time for the new round length fr j + 1 in a single disk cluster should not exceed fr j . The Q of the disk exists, since the disc loading is uniformly distributed among the disks in the same cluster, the conditions for the round extension without a jitter to fr j + 1 from fr j is obtained as shown in Equation 8 (j = 1,…, ND-1).

Figure 112007012567248-pat00040
Figure 112007012567248-pat00040

수학식 1을 사용하면, 상기 부등식을 다음 수학식 9와 같이 다시 적을 수 있다.Using Equation 1, the inequality can be rewritten as Equation 9 below.

Figure 112007012567248-pat00041
Figure 112007012567248-pat00041

버퍼 공간을 얻기 위해 서버는 라운드 길이를 감소시킬 필요가 있을 수 있다. 버퍼 공간은 디스크 대역폭의 대가로 얻어지기 때문에, 서버는 디스크 대역폭 제약을 체크할 필요가 있다. 즉, 라운드 길이를 frj+1에서 frj로 감소시키는 것은 DSk(j) ≤ 1(j = 1, …, ND-1)을 만족시켜야 한다.The server may need to reduce the round length to get buffer space. Since buffer space is obtained at the expense of disk bandwidth, the server needs to check disk bandwidth constraints. That is, reducing the round length from fr j + 1 to fr j should satisfy DS k (j) ≦ 1 (j = 1,…, ND−1).

도 3은 Q = 1,

Figure 112007012567248-pat00042
이며, 시간 (m + 2) * frj에서 라운드 길이가 frj +1에서 frj로 감소하는 경우의 데이터 검색 및 재생을 예시한다. 도 3으로부터, 다음과 같은 점들을 관찰할 수 있다. (1) 감소된 라운드 길이 frj에 대한 데 이터 검색이 시간 (m + 3) * frj에서 시작한다는 점과 (2) 라운드 길이를 frj+1로부터 frj로 감소시키는 것은, 시간 (m + 4) * frj과 시간 (m + 5) * frj 사이에 재생되는 모든 데이터가 시간 (m + 4) * frj에서 사용 가능하기 때문에, 지터를 발생시키지 않는다는 점을 관찰할 수 있다.3 is Q = 1,
Figure 112007012567248-pat00042
, And it illustrates the data search and reproduction is performed when the round length reduced to fr fr j +1 j at the time (m + 2) * fr j . From FIG. 3, the following points can be observed. (1) the data search for reduced round length fr j starts at time (m + 3) * fr j and (2) reducing the round length from fr j + 1 to fr j is time (m It can be observed that since all data reproduced between + fr j and time (m + 5) * fr j are available at time (m + 4) * fr j , it does not cause jitter.

4. 적응형 데이터 검색 4. Adaptive Data Retrieval 스킴Scheme

SLk를, FS의 SLk번째 원소, frSLk가 클러스터 k에 대한 라운드 길이로서 선택되는 것을 나타내는 선택 파라미터라고 하자. 예를 들어, FS = BR, 2BR, 3BR, 6BR이고 SLk = 2인 경우, 2BR이 라운드 길이로서 선택된다. 수학식 1 및 2로부터, 더 높은 값의 frj는 DSk(j)를 감소시키나 BSk(j)는 증가시킨다는 것을 쉽게 알 수 있다. 이러한 관찰결과로부터, ADR 스킴은 라운드 길이를 다음과 같은 방식으로 조정한다.Let SL k be a selection parameter indicating that the SL k th element of the FS, fr SLk is selected as the round length for the cluster k. For example, if FS = BR, 2BR, 3BR, 6BR and SL k = 2, 2BR is selected as the round length. From Equations 1 and 2, it can be readily seen that higher values of fr j decrease DS k (j) but increase BS k (j). From this observation, the ADR scheme adjusts the round length in the following manner.

(1) 디스크 대역폭에 대하여 과부하가 걸린 클러스터들의 요구조건에 대처하기 위하여, 상대적으로 높은 값의 SLk가 이들 클러스터들에 할당되며,(1) In order to meet the requirements of clusters overloaded with disk bandwidth, a relatively high value of SL k is assigned to these clusters,

(2) 과부하가 걸린 클러스터들의 라운드 길이를 증가시키기 위한 버퍼 공간을 얻기 위하여, 상대적으로 낮은 값의 SLk가 가벼운 부하가 걸린 클러스터들에 할당된다.(2) To obtain buffer space to increase the round length of overloaded clusters, a relatively low value of SL k is allocated to lightly loaded clusters.

여기서 어려운 점은, 지터가 없는 방식으로 라운드 길이를 변화시킬 수 있는 경우를 정확하게 결정하는 것이다. 본 발명에서는 디스크 대역폭 이용도에서의 변화에 의해 라운드 길이의 변화가 야기되는 임계값-기반의 접근법을 사용한다. 실제로, 이것은 고객이 비디오 스트림을 요청하거나 닫는 경우에 라운드 길이가 변화될 수 있다는 것을 의미한다. 각각의 경우에 어떤 일이 발생하는지 설명한다.The difficulty here is to accurately determine when it is possible to change the round length in a jitter free manner. The present invention uses a threshold-based approach in which a change in round length is caused by a change in disk bandwidth utilization. In practice, this means that the round length can be changed if the customer requests or closes the video stream. Explain what happens in each case.

4.1 고객이 비디오 4.1 Customer Video 스트림을Stream 요청하는 경우 If requested

서버는 모든 클러스터 k(k = 1, …, C)에 대하여 이용도들 DSk(j)와 BSk(j)의 집합을 유지한다. 고객이 클러스터 p에 저장된 비디오 스트림을 요청하는 경우, 서버는 새로운 고객이 인가될 것이라고 가정하고 j = 1, …, ND에 대하여 클러스터 p에 대한 이용도들 DSp(j)와 BSp(j)를 다시 계산한다. 그 후, 서버는 필요하다면 라운드 길이를 확장하며, 이어서 새로운 고객에 대하여 충분한 디스크 대역폭 및 버퍼 공간이 존재하는지를 체크한다.The server maintains a set of utilizations DS k (j) and BS k (j) for all clusters k (k = 1,…, C). When a customer requests a video stream stored in cluster p, the server assumes that a new customer will be authorized and j = 1,... Recalculate the utilizations DS p (j) and BS p (j) for cluster p for ND. The server then extends the round length if necessary, then checks whether there is enough disk bandwidth and buffer space for the new customer.

도 4는 본 발명에 따른 적응형 데이터 검색 방법을 구체적으로 구현한 알고리즘을 나타내는 도면이다. 설명의 편이를 위하여, ND ≥ 2라고 가정한다. 먼저, 서버는 SLp가 ND보다 작다는 것, 즉 라운드 길이가 확대될 수 있다는 것을 확인하여야 한다. 특정 클러스터에 대한 디스크 대역폭 이용도가 임계값을 초과하는 경우, 서버는 라운드 길이를 확장하여 증가된 부하를 반영한다. 이를 위해, 서버는

Figure 112007012567248-pat00043
인지를 체크한다(여기서, ε는 고객 그룹 CGp에 속하는 고객
Figure 112007012567248-pat00044
에 대한 최대 서비스 시간, 즉
Figure 112007012567248-pat00045
을 나타냄)(제5행). 수학식 9로부터, 상기 조건이 지터가 없는 라운드 확장을 보장한다는 것을 알 수 있다. 상기 조건이 만족되는 경우, 서버는 충분한 버퍼 공간이 라운드 확장을 위해 사용 가능한지를 체크한다(제6행). 버퍼 공간이 충분한 경우, 서버는 SLp의 값을 1만큼 증가시킨다(제7행). 그렇지 않으면, SLp의 값은 변화하지 않는다.4 is a diagram illustrating an algorithm that specifically implements an adaptive data retrieval method according to the present invention. For ease of explanation, it is assumed that ND ≧ 2. First, the server must confirm that SL p is smaller than ND, ie the round length can be extended. If the disk bandwidth utilization for a particular cluster exceeds the threshold, the server extends the round length to reflect the increased load. For this purpose, the server
Figure 112007012567248-pat00043
Check whether the ε is a customer belonging to the customer group CGp
Figure 112007012567248-pat00044
Maximum service time for, i.e.
Figure 112007012567248-pat00045
(Line 5). From Equation 9, it can be seen that the condition ensures jitter-free round expansion. If the condition is met, the server checks whether enough buffer space is available for round expansion (line 6). If there is enough buffer space, the server increments the value of SL p by one (line 7). Otherwise, the value of SL p does not change.

다음으로, 서버는 새로운 고객이 인가될 수 있는지 여부를 검사하는데, 이것은 라운드 길이가 확장된 경우에는 인가 기준이

Figure 112007012567248-pat00046
Figure 112007012567248-pat00047
와 같이 이미 만족하기 때문에 불필요하다. 인가에 대해 결정하기 위하여, 서버는 먼저
Figure 112007012567248-pat00048
인지 여부를 검사한다(제10행). 제10행의 조건을 위반할 경우, 새로운 고객은 디스크 대역폭의 부족 때문에 거절된다. 아니라면, 서버는
Figure 112007012567248-pat00049
인지 여부를 검사한다(제11행). 이 조건을 만족하면, 새로운 고객이 인가된다. 그렇지 않으면, 서버는 한 클러스터의 라운드 길이를 감소시킴으로써 새로운 고객에 대한 버퍼 공간을 획득할 수 있다. 가장 큰 라운드들(즉, SLk = ND)이 가장 많은 버퍼 공간을 사용하기 때문에, 본 발명에 따른 방법은 이들을 가지고 클러스터들을 테스트한다. SM을 SLm이 ND인 디스크 이용도 DSm(ND)(m = 1, …, C)의 집합이라고 하자. SM이 공집합이라면, 새로운 고 객은 버퍼 공간의 부족 때문에 거절된다. 아니라면, SM 내에서 가장 가볍게 부하가 걸린 클러스터를 찾기 위하여, 서버는 SM 내에서 DSl(ND)의 가장 작은 값을 찾아서, SM으로부터 제거한다(제15-16행). 이것이 디스크 대역폭 제약을 위반하지 않는다면(제17행), 서버는SLl의 값을 ND로부터 ND-1로 감소시킨다(제18-19행). 라운드 길이에서의 이러한 감소로 인해 새로운 고객이 수용 가능하게 된다.Next, the server checks whether a new customer can be authorized, which means that if the round length is extended,
Figure 112007012567248-pat00046
And
Figure 112007012567248-pat00047
This is unnecessary because it is already satisfied. To determine authorization, the server first
Figure 112007012567248-pat00048
Check whether it is (line 10). If you violate the conditions in line 10, new customers will be rejected due to lack of disk bandwidth. If not, the server
Figure 112007012567248-pat00049
Check whether it is (line 11). If this condition is met, a new customer is authorized. Otherwise, the server can free up buffer space for new customers by reducing the round length of one cluster. Since the largest rounds (ie SL k = ND) use the most buffer space, the method according to the invention tests the clusters with them. Assume SM is a set of DS m (ND) (m = 1, ..., C) for which disk m is ND. If the SM is empty, new customers are rejected due to lack of buffer space. If not, to find the lightest loaded cluster in the SM, the server finds the smallest value of DS l (ND) in the SM and removes it from the SM (lines 15-16). If this does not violate the disk bandwidth constraint (line 17), the server decreases the value of SL l from ND to ND-1 (lines 18-19). This reduction in round length makes new customers acceptable.

4.2 고객이 비디오 4.2 Customer Video 스트림을Stream 닫는 경우 If closing

시기적절한 방식으로 라운드 길이를 감소시킴으로써 서버는 버퍼 공간을 얻을 수 있는데, 이는 이후 과부하가 걸린 클러스터들의 라운드 길이를 확장시키는 데 사용될 수 있다. 이를 위하여, 고객이 클러스터 k에 저장된 비디오 스트림을 닫는 경우, 서버는 DSk(j)와 BSk(j)(j = 1, …, ND)를 다시 계산한 후,

Figure 112007012567248-pat00050
(SLk = 2, …, ND) 여부를 체크한다. 이 조건이 만족되면, 서버는 라운드 길이를 감소시키는 것이 디스크 대역폭 제약을 위반시킬 것인지(즉,
Figure 112007012567248-pat00051
) 여부를 체크한다. 이 조건이 유지될 수 있다면, 서버는 SLk의 값을 SLk-1로 감소시킨다.By reducing the round length in a timely manner, the server can gain buffer space, which can then be used to extend the round length of overloaded clusters. To this end, when the customer closes the video stream stored in cluster k, the server recalculates DS k (j) and BS k (j) (j = 1,…, ND),
Figure 112007012567248-pat00050
(SL k = 2, ..., ND) is checked. If this condition is met, the server can determine if reducing the round length would violate disk bandwidth constraints (i.e.
Figure 112007012567248-pat00051
Check it. If this condition can be maintained, and the server reduces the value of SL k in SL k -1.

5. 실험 결과5. Experimental Results

본 발명의 유효성을 평가하기 위하여, tr과 Ts가 각각 55 MB/s와 11.2 ms인 40개의 IBM Ultrastar36Z15 디스크들을 가진 서버를 시뮬레이션하였다. 서버는 10개의 클러스터로 분할되며, 각각의 클러스터는 4개의 디스크로 구성된다. 고객 요청의 도착은 푸아송 분포(Poisson distribution)를 따르는 것으로 가정한다. 또한, 모든 비디오는 90분 길이이며, MPEG 1 재생에서 전형적인 1.5 Mbps의 동일한 비트-속도를 가진다고 가정한다. NS는 6으로 설정되며, FS는 BR=0.5, 2BR=1, 3BR=1.5, 6BR=3이다. 전체 버퍼 크기 B는 2GB이다. 각각의 영화의 클러스터 위치는 임의로 선택된다. pi(t)를 시간 t에서 비디오 Vi(i = 1, …, NV)의 액세스 확률이고, 여기서 NV는 영화들의 수이며,

Figure 112007012567248-pat00052
라고 하자. 다음과 같은 2가지 서비스 시나리오를 고려한다.To evaluate the effectiveness of the present invention, a server with 40 IBM Ultrastar36Z15 disks with tr and T s of 55 MB / s and 11.2 ms, respectively, was simulated. The server is divided into ten clusters, with each cluster consisting of four disks. The arrival of the customer request is assumed to follow the Poisson distribution. In addition, it is assumed that all video is 90 minutes long and has the same bit-rate of 1.5 Mbps typical for MPEG 1 playback. NS is set to 6, and FS is BR = 0.5, 2BR = 1, 3BR = 1.5, and 6BR = 3. The total buffer size B is 2 GB. The cluster position of each movie is chosen arbitrarily. p i (t) is the access probability of video V i (i = 1,…, NV) at time t, where NV is the number of movies,
Figure 112007012567248-pat00052
Let's say Consider two service scenarios:

(1) 인기도의 점진적인 변화(gradual change of popularities: GCP)(1) gradual change of popularities (GCP)

액세스 확률은 Zipf 분포를 따른다(

Figure 112007012567248-pat00053
). θ = 0.0으로 설정하는데, 이것은 실제 VOD 애플리케이션에 대한 실 측정값에 해당한다. 처음에, p1(0) > … > pNV(0)이며, 시간 τ에서,
Figure 112007012567248-pat00054
이다. 영화의 인기도는 τ의 주기로 시간에 대해 순환하는데, 예컨대
Figure 112007012567248-pat00055
이다. 이러한 패턴은 하루의 서로 다른 시간들에서 관객의 유형들을 변화시키는 것에 해당할 수 있다.Access probability follows the Zipf distribution
Figure 112007012567248-pat00053
). Set θ = 0.0, which corresponds to the actual measurement for the actual VOD application. Initially, p 1 (0)>... > p NV (0) and at time τ,
Figure 112007012567248-pat00054
to be. The popularity of a movie circulates over time in a period of τ, for example
Figure 112007012567248-pat00055
to be. This pattern may correspond to changing the types of audience at different times of the day.

(2) 인기도의 급격한 변화(drastic change of popularities: DCP)(2) dramatic change of popularities (DCP)

이 경우에, 특정 영화의 인기도가 τ의 모든 주기 동안 α까지 급격하게 증가한다. p1(0) = α로 설정한다. 그러면, 영화들의 인기도는 τ의 주기로 순환한다. 예를 들어, 시간 τ에서, p2(τ)는 α까지 증가한다. 이 시나리오는 새로운 영화 또는 드라마의 주기적인 배급에 해당한다.In this case, the popularity of a particular movie increases rapidly up to α for every period of τ. Set p 1 (0) = α. The popularity of the movies then circulates in a cycle of τ. For example, at time τ, p 2 (τ) increases to α. This scenario corresponds to the periodic distribution of a new movie or drama.

우리는 적응형 라운드 길이 조정을 허용하지 않는 CV1, CV2, CV3의 3가지 기존의 방법들과 본 발명에 따른 방법을 비교할 것이다. CV1, CV2, CV3의 라운드 길이는 각각 1, 1.5, 3초로 가정된다. 그 후, 우리는 GCP 및 DCP 시나리오 하에서 20시간 동안 인가된 고객들의 수를 조사했다. τ의 값은 30분으로 가정된다.We will compare the method according to the invention with three existing methods, CV1, CV2 and CV3, which do not allow for adaptive round length adjustment. The round lengths of CV1, CV2 and CV3 are assumed to be 1, 1.5 and 3 seconds, respectively. After that, we examined the number of authorized customers for 20 hours under the GCP and DCP scenarios. The value of τ is assumed to be 30 minutes.

도 5는 GCP(인기도의 점진적인 변화) 시나리오 하에서 고객의 비율, 즉 인가 비(admission ratio)가 고객 요청들의 도착 속도에 따라 어떻게 달라지는지를 도시한다. 이 경우에, 본 발명에 따른 방법(ADR)은, 1%와 28% 사이의 더 많은 고객들을 인가하면서, 모든 작업부하들 하에서 기존의 스킴들보다 더 나은 성능을 보였다.5 shows how the proportion of customers under the GCP (Gradual Change of Popularity) scenario, i.e., the authorization ratio, depends on the arrival rate of the customer requests. In this case, the method ADR according to the invention showed better performance than existing schemes under all workloads, authorizing more customers between 1% and 28%.

도 6 및 도 7은 도착 속도가 20 및 30 요청/분인 경우에 DCP(인기도의 급격한 변화) 시나리오 하에서 인가 비가 α의 값에 따라 어떻게 달라지는지를 도시한다. 도 6 및 도 7에 따르면, 본 발명에 따른 방법(ADR)이 모든 작업부하 하에서 가장 좋은 성능을 나타낸다. 본 발명에 따른 방법은 CV1보다는 21%와 33% 사이의 더 많은 고객들을 인가하였고, CV2보다는 10%와 21% 사이의 더 많은 고객들을 인가하였으며, CV3보다는 1%와 19% 사이의 더 많은 고객들을 인가하였다. 도면들로부터, 본 발명에 따른 방법과 CV2 사이의 성능 차이가 α의 값이 증가함에 따라 증가하는 것을 관찰할 수 있는데, 이것은 다음과 같이 설명될 수 있다. 즉, α의 값이 증가함에 따라, 요청들은 인기 클러스터들로 집중되어 디스크 대역폭이 더 짧은 시간 내에 포화되게 된다. 또한, CV3은 도착 속도가 20 요청/분인 경우에는 본 발명에 따른 방법보다 3%까지 더 나쁜 성능을 보이나, 도착 속도가 30 요청/분인 경우에는 21%까지 더 나쁜 성능을 보이는 것으로 관찰된다. 이것은 다음과 같이 설명될 수 있다. 즉, 도착 속도가 20 요청/분인 경우에, 버퍼 리소스는 대부분의 경우에 문제가 되지 않으며, 따라서 CV3은 본 발명에 따른 방법보다 단지 조금만 나쁜 성능을 보인다. 그러나 도착 속도가 증가함에 따라, 서버는 보다 많은 고객들을 수용하기 위해 보다 많은 버퍼 공간을 필요로 하나, 이 효과는 CV3 스킴에 대해 보다 뚜렷하며, 그 결과 증가된 성능 차이를 야기한다.6 and 7 show how the authorization ratio depends on the value of α under the DCP (Rapid Change of Popularity) scenario when the arrival rate is 20 and 30 requests / minute. 6 and 7, the method ADR according to the invention shows the best performance under all workloads. The method according to the invention authorizes more customers between 21% and 33% than CV1, authorizes more customers between 10% and 21% than CV2, and more customers between 1% and 19% than CV3. Was applied. From the figures it can be observed that the performance difference between the method according to the invention and CV2 increases as the value of α increases, which can be explained as follows. In other words, as the value of α increases, the requests are concentrated in popular clusters so that the disk bandwidth is saturated in a shorter time. It is also observed that CV3 shows up to 3% worse performance than the method according to the invention when the arrival rate is 20 requests / minute, but worse by 21% when the arrival rate is 30 requests / minute. This can be explained as follows. In other words, when the arrival rate is 20 requests / minute, the buffer resource is not a problem in most cases, and thus CV3 shows only slightly worse performance than the method according to the present invention. However, as arrival speed increases, the server needs more buffer space to accommodate more customers, but this effect is more pronounced for the CV3 scheme, resulting in increased performance differences.

본 발명에 따르면, 라운드 길이를 동적으로 변화시키는 적응형 데이터 검색 방법을 제안함으로써, 데이터의 이동 또는 복사 없이도 클러스터들 간에 부하 공유를 달성할 수 있다.According to the present invention, by proposing an adaptive data retrieval method that dynamically changes the round length, it is possible to achieve load sharing between clusters without moving or copying data.

Claims (2)

전송 속도(transfer rate)가 tr이고, 디스크 검색 시간(disk seek time)이 Ts로서 각각 상수이며, 버퍼 크기는 B이고,The transfer rate is tr, the disk seek time is T s , each constant, the buffer size is B, 시간이 라운드(rounds)라고 지칭되는 동일한 크기의 주기들로 분할되며, 각각의 인가된 고객은 각각의 라운드에서 한 번씩 서비스를 받게 되는 라운드-기반 스케줄링(round-based scheduling)이 사용되며,The time is divided into equally sized periods called rounds, and round-based scheduling is used where each authorized customer is served once in each round, 비디오 스트림 Vi가 유한 개수의 연속적인 세그먼트들로 나누어지고, 각각의 세그먼트들은 NS개의 서브-세그먼트들로 다시 나누어지며(여기서, 각각의 서브-세그먼트의 크기는 길이 BR인 기본 라운드 동안 검색되는 데이터 크기에 해당함), 각각의 세그먼트들은 라운드-로빈 방식으로 디스크들에 저장되며, 데이터 재생 속도는 dri로서 그 단위는 bits/sec이며,The video stream V i is divided into a finite number of consecutive segments, each segment being subdivided into NS sub-segments (where each sub-segment has a length BR of data retrieved during the basic round). Size), each segment is stored on disks in a round-robin fashion, and the data playback speed is dr i , the unit of which is bits / sec, C개의 클러스터로 구성되고 각각의 클러스터는 Q개의 동종 디스크들로 구성되고, 고객들을 C개의 고객 그룹(CG1, …, CGC)으로 분할한 후, 그룹 CGk 내의 고객들이 대응하는 클러스터 k로부터 스트림을 수신 받도록 구성되며, 고객
Figure 112007083901046-pat00056
이 상기 비디오 스트림 Vi를 요청하고 있는 클러스터링된 비디오 서버에서,
Consisting of C clusters, each cluster consisting of Q homogeneous disks, dividing the customers into C customer groups (CG 1 , ..., CG C ), and then the customers in group CG k from the corresponding cluster k Configured to receive streams, and
Figure 112007083901046-pat00056
In the clustered video server requesting this video stream V i ,
라운드 길이가 frj인 경우의 클러스터 k에 대한 디스크 대역폭 이용도 DSk(j)와 버퍼 이용도 BSk(j)가 각각 다음 수학식 1 및 2와 같이 주어지는 경우에,When the disk bandwidth utilization DS k (j) and the buffer utilization BS k (j) for the cluster k when the round length is fr j are given by Equations 1 and 2, respectively, <수학식 1><Equation 1>
Figure 112007083901046-pat00057
Figure 112007083901046-pat00057
(여기서,
Figure 112007083901046-pat00058
)
(here,
Figure 112007083901046-pat00058
)
<수학식 2><Equation 2>
Figure 112007083901046-pat00059
Figure 112007083901046-pat00059
클러스터링된 비디오 서버에서 부하 공유를 위해 데이터를 적응적으로 검색하는 방법으로서,A method of adaptively retrieving data for load sharing in a clustered video server, (1) 모든 클러스터 k(k = 1, …, C)에 대하여 상기 DSk(j)와 BSk(j)의 값을 계산하여 그 집합들을 각각 유지하는 단계;(1) calculating the values of DS k (j) and BS k (j) for all clusters k (k = 1, ..., C) and maintaining their respective sets; (2) 가능한 라운드 길이를 오름차순으로 포함하고 있는 집합(FS)의 SLm번째 원소, frSLm가 클러스터 m에 대한 라운드 길이로서 선택되는 것을 나타내는 선택 파라미터 SLm이 ND인 경우의 디스크 이용도 DSm(ND)(m = 1, …, C)들의 집합 SM을 구하는 단계;(2) Disk utilization DS m when the selection parameter SL m is ND indicating that the SL m th element of the set FS containing the possible round lengths in ascending order, fr SLm is selected as the round length for cluster m Obtaining a set SM of (ND) (m = 1, ..., C); (3) 고객이 클러스터 p에 저장된 비디오 스트림을 요청하는 경우, 새로운 고객이 인가될 것이라고 가정하고 j = 1, …, ND에 대하여 상기 클러스터 p에 대한 이용도들 DSp(j)와 BSp(j)를 다시 계산하는 단계 - 여기서, ND는 상기 NS에 대한 약수의 개수임 - ;(3) If a customer requests a video stream stored in cluster p, assume that a new customer will be authorized j = 1,... Recalculating the utilizations DS p (j) and BS p (j) for the cluster p for ND, where ND is the number of divisors for the NS; (4) 상기 클러스터 p에 대한 선택 파라미터 SLp가 SLp ≤ ND - 1인지를 확인하여, 상기 클러스터 p에 대하여 라운드 길이가 확장될 수 있는지 여부를 판단하는 단계;(4) determining whether the selection parameter SL p for the cluster p is SL p ≤ ND-1 to determine whether the round length can be extended for the cluster p; (5) 상기 클러스터 p에 대한 선택 파라미터를 증가시킬 경우의 디스크 대역폭 이용도 DSp(SLp + 1)이 다음 수학식 3을 만족하는지 여부를 확인하여 지터가 없이 라운드 길이의 확장이 가능한지를 판단하는 단계;(5) Checking whether the disk bandwidth utilization DS p (SL p + 1) satisfies the following Equation 3 when increasing the selection parameter for the cluster p to determine whether it is possible to extend the round length without jitter. Doing; <수학식 3><Equation 3>
Figure 112007083901046-pat00060
Figure 112007083901046-pat00060
(여기서, ε는 고객그룹 CGp에 속하는 고객
Figure 112007083901046-pat00061
에 대한 최대 서비스 시간을 나타냄)
Where ε is the customer belonging to customer group CG p
Figure 112007083901046-pat00061
Maximum service time for)
(6) 상기 단계 (4) 내지 (5)에서 라운드 길이가 지터가 없이 확장 가능한 것으로 판단되는 경우, 상기 클러스터 p에 대한 라운드 길이를 확장한 경우의 버퍼 이용도가 1보다 작은지를 다음 수학식 4에 의해 확인하여 충분한 버퍼 공간이 있는지를 판단하는 단계;(6) If it is determined in step (4) to (5) that the round length is expandable without jitter, whether the buffer utilization in the case of extending the round length for the cluster p is smaller than 1 Checking by to determine whether there is sufficient buffer space; <수학식 4><Equation 4>
Figure 112007083901046-pat00062
Figure 112007083901046-pat00062
(7) 상기 단계 (6)에서 버퍼 공간이 충분한 것으로 판단되는 경우, SLp를 SLp + 1로 증가시켜 라운드 길이를 확장시키는 단계;(7) if it is determined in step (6) that the buffer space is sufficient, increasing SL p to SL p + 1 to expand the round length; (8) SM에서 값이 가장 작은 원소 DSl(ND)을 선택하여 SM로부터 제거하는 단계;(8) selecting element DS l (ND) having the smallest value in SM and removing it from SM; (9) 클러스터 l에 대하여 라운드 길이를 줄인 경우의 디스크 대역폭 이용도인 DSl(ND - 1)이 1이하인지를 확인하여 디스크 대역폭 이용도를 만족시키는지 확인하는 단계; 및(9) checking whether the disk bandwidth utilization DS l (ND-1), which is a case where the round length is reduced for the cluster l, is less than or equal to 1 to determine whether the disk bandwidth utilization is satisfied; And (10) 상기 단계 (9)에서 DSl(ND - 1) ≤ 1 인 것으로 판단되면 SLl을 ND - 1로 하여 라운드 길이를 감소시키고, 그렇지 않으면 SM이 공집합이 아닌 동안 상기 단계 (8) 내지 (9)를 반복하는 단계(10) If it is determined in step (9) that DS l (ND-1) ≤ 1, SL l is set to ND-1 to reduce the round length, otherwise step (8) to (8) while SM is not empty Repeat step (9) 를 포함하는 방법.How to include.
제1항에 있어서,The method of claim 1, (11) 고객이 클러스터 k에 저장된 비디오 스트림을 닫는 경우, DSk(j)와 BSk(j)(j = 1, …, ND)를 다시 계산하는 단계;(11) if the customer closes the video stream stored in cluster k, recalculating DS k (j) and BS k (j) (j = 1, ..., ND); (12) 다음 수학식 5를 만족하는지 판단하는 단계;(12) determining whether the following Equation 5 is satisfied; <수학식 5><Equation 5>
Figure 112007012567248-pat00063
(SLk = 2, …, ND)
Figure 112007012567248-pat00063
(SL k = 2,…, ND)
(13) 상기 단계 (12)에서 상기 수학식 5를 만족하는 것으로 판단되면, 다음 수학식 6을 만족하는지 확인하여 라운드 길이를 감소시키는 것이 디스크 대역폭 제약을 위반시킬 것인지를 판단하는 단계; 및(13) if it is determined in the step (12) that the equation (5) is satisfied, determining whether the following equation (6) is satisfied to determine whether reducing the round length would violate the disk bandwidth constraint; And <수학식 6><Equation 6>
Figure 112007012567248-pat00064
Figure 112007012567248-pat00064
(14) 상기 단계 (13)에서 디스크 대역폭 제약을 위반하지 않는 것으로 판단되면, SLk를 SLk - 1로 감소시켜 클러스터 k의 라운드 길이를 감소시키는 단계(14) if it is determined in step (13) that the disk bandwidth constraint is not violated, reducing SL k to SL k -1 to reduce the round length of cluster k; 를 더 포함하는 방법.How to include more.
KR1020070014180A 2007-02-12 2007-02-12 A method for adaptively retrieving data for load shading in clustered video servers KR100794969B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070014180A KR100794969B1 (en) 2007-02-12 2007-02-12 A method for adaptively retrieving data for load shading in clustered video servers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070014180A KR100794969B1 (en) 2007-02-12 2007-02-12 A method for adaptively retrieving data for load shading in clustered video servers

Publications (1)

Publication Number Publication Date
KR100794969B1 true KR100794969B1 (en) 2008-01-15

Family

ID=39217844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070014180A KR100794969B1 (en) 2007-02-12 2007-02-12 A method for adaptively retrieving data for load shading in clustered video servers

Country Status (1)

Country Link
KR (1) KR100794969B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100231220B1 (en) * 1994-12-06 1999-11-15 포만 제프리 엘 A disk access method for delivering multimedia and viedo information on demand over wide area networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100231220B1 (en) * 1994-12-06 1999-11-15 포만 제프리 엘 A disk access method for delivering multimedia and viedo information on demand over wide area networks

Similar Documents

Publication Publication Date Title
Vin et al. A statistical admission control algorithm for multimedia servers
Yu et al. Grouped sweeping scheduling for DASD-based multimedia storage management
US6871011B1 (en) Providing quality of service for disks I/O sub-system with simultaneous deadlines and priority
EP0634034B1 (en) Method of operating a disk storage system
Ozden et al. Disk striping in video server environments
Sarhan et al. Caching and scheduling in NAD-based multimedia servers
CA2335540A1 (en) Server based smoothing of variable bit rate streams
Ghandeharizadeh et al. Design and implementation of scalable continuous media servers
KR100794969B1 (en) A method for adaptively retrieving data for load shading in clustered video servers
Venkatasubramanian et al. E ective load management for scalable video servers
US6742019B1 (en) Sieved caching for increasing data rate capacity of a heterogeneous striping group
Lee et al. Dynamic buffer allocation in video-on-demand systems
Sarhan et al. An integrated resource sharing policy for multimedia storage servers based on network-attached disks
Anastasiadis et al. Disk-striping scalability in the exedra media server
Lau et al. Scheduling and replacement policies for a hierarchical multimedia storage server
Song Adaptive data retrieval for load sharing in clustered video servers
JP2005508114A (en) Acceptance control system for home video server
Song et al. Replication and retrieval strategies for resource-effective admission control in multi-resolution video servers
Seo et al. Allocation strategies of multimedia data on disk arrays
Lee Buffer management and dimensioning for a pull-based parallel video server
Wong et al. Video on demand service policies
Shenoy et al. Multimedia storage servers
Philip et al. Look-ahead scheduling to support pause-resume for video-on-demand applications
Lee et al. The effect of disk scheduling schemes on a video server for supporting quality MPEG video accesses
Tsao A low cost optical storage server for near video-on-demand systems

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee