(19)
(11)EP 2 772 059 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
25.03.2020 Bulletin 2020/13

(21)Application number: 12843071.7

(22)Date of filing:  19.10.2012
(51)International Patent Classification (IPC): 
H04N 21/23(2011.01)
H04L 12/70(2013.01)
(86)International application number:
PCT/KR2012/008610
(87)International publication number:
WO 2013/062270 (02.05.2013 Gazette  2013/18)

(54)

VIDEO ON DEMAND SERVICE METHOD USING SOLID STATE DRIVE

VERFAHREN FÜR VIDEO-ON-DEMAND-DIENST MIT SSD

PROCÉDÉ DE SERVICE DE VIDÉO À LA DEMANDE (VOD) UTILISANT UN DISQUE ÉLECTRONIQUE (SSD)


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 24.10.2011 KR 20110108552

(43)Date of publication of application:
03.09.2014 Bulletin 2014/36

(73)Proprietors:
  • LSD Tech Co., Ltd.
    Seoul 153-801 (KR)
  • Lee, Ki Taik
    Seoul 151-848 (KR)

(72)Inventor:
  • LEE, Ki Taik
    Seoul 151-848 (KR)

(74)Representative: Staeger & Sperling Partnerschaftsgesellschaft mbB 
Sonnenstraße 19
80331 München
80331 München (DE)


(56)References cited: : 
JP-A- 2003 244 676
US-A1- 2004 168 204
US-A1- 2010 235 542
US-A1- 2002 157 102
US-A1- 2009 271 832
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description

    Technical Field



    [0001] The present invention relates to a VOD service method using an SSD, and more particularly, to a VOD service method using an SSD, which can greatly reduce an occupancy rate of a CPU by loading packets to be transmitted on a plurality of packet arrays and allocating CPU sessions in the unit of loaded packet groups and thus enable a VOD service to be performed at a high speed.

    Background Art



    [0002] With developments of a digital technology, an image compression processing technology, and high-speed computer communication and optical communication technologies, image information transmission in a broadband becomes possible, and thus a free bidirectional service has been already implemented on an Internet. Further, unlike a conventional Pay Per View (PPV) service where a subscriber demands a program and waits, a bidirectional image service where the subscriber immediately selects and views a desired program at a desired time, that is, a Video On Demand (VOD) service is provided. Particularly, due to activations of an IPTV and UCC, the VOD service has been actively used after the 2000's.

    [0003] Meanwhile, a conventional VOD service adopts a Hard Disk Drive (HDD) for performing read/write in a mechanical manner as a storage device, so that a read/write speed is slow, and accordingly one HDD based server supports speeds only in a range substantially from 1 Gbps to 1.5 Gbps (giga bit per second).

    [0004] In order to solve such HDD problems, a Solid State Drive (SSD) including a semiconductor memory such as a DRAM or NAND memory to purely electronically perform read/write has been proposed, and the SSD can perform the read/write at a greatly faster speed in comparison with the HDD since the SDD operates in an electronic manner. Accordingly, various attempts to provide the VOD service using the SSD as the storage device are currently made.

    [0005] Meanwhile, substantially 1,500 bytes are transmitted per one packet on the network in the VOD service, and an operation system of the server manages the CPU to process one packet for each session, that is, to read one packet for each session from the storage device and transmit the read packet to a requester client through the network.

    [0006] Accordingly, although a conventional VOD server adopts an SSD storage capable of sufficiently supporting a read/write speed equal to or faster than 10 Gbps, the CPU should process substantially 800,000 (10,000,000/1,500) commands per second to provide the 10 Gbps service, so that an occupancy rate of the CPU increases to more than 90 % and thus the CPU cannot perform another task such as a system management or the like at all, which makes only a service at a maximum speed of 5 to 6 Gbps possible.

    Disclosure of Invention


    Technical Problem



    [0007] The present invention has been made to solve the above mentioned problems, and an object of the present invention is to provide a VOD service method using an SSD, which can greatly reduce an occupancy rate of a CPU by loading packets to be transmitted to a plurality of packet arrays and allocating CPU sessions in the unit of loaded packet groups and thus enable a VOD service at a high speed.

    Solution to Problem



    [0008] In accordance with an aspect of the present invention, there is provided a VOD service method using an SSD, the VOD service method including: by a VOD server using the SSD, (a) allocating a packet array according to a target transmission speed; (b) constructing a request index table containing an IP address of a requester client, and a file name and a file storage address of a request content when there is a VOD request from a client; (c) reading a predetermined number of packets of the request content from the SSD, matching the packets with information for identifying the requester client in the request index table, and loading the matched packets on the packet array; and (d) simultaneously transmitting packets stored in the packet array for one session of a CPU with reference to the request index table when a storage space of the packet array is full.

    [0009] In the above-described configuration, the packet array may be set to be a plurality of packet arrays for each picture quality level of an VOD content image.

    [0010] The VOD service method may further include (e) deleting a corresponding request item from the request index table when transmission of a requested VOD content is completed.

    [0011] In accordance with another aspect of the present invention, there is provided a computer-readable recording medium for storing a program executing the method as claimed in one of claims 1 to 3.

    Advantageous Effects of Invention



    [0012] According to a VOD service method using an SSD of the present invention, it is possible to greatly reduce an occupancy rate of a CPU by loading packets to be transmitted on a plurality of packet arrays and allocating CPU sessions in the unit of loaded packet groups, and accordingly to provide a VOD service at a high speed.

    Brief Description of Drawings



    [0013] 

    FIG. 1 is an external functional block diagram of a VOD server implementing a VOD service method using an SSD of the present invention.

    FIG. 2 is a flowchart for describing a VOD service method using an SSD of the present invention.

    FIG. 3 is a diagram illustrating an example of a request index table constructed in a control module of an SSD according to the present invention.

    FIG. 4 is a diagram illustratively showing a packet array arranged in a packet array area of an SSD according to the present invention.

    FIGs. 5 and 6 are diagrams illustrating examples of an actual monitoring screen of a VOD service according to the present invention, respectively.


    Mode for the Invention



    [0014] Hereinafter, exemplary embodiments of a VOD service method using an SSD according to the present invention will be described in detail with reference to the accompanying drawings.

    [0015] The present invention has been made based on the fact that only an IP address of a requester client and a type (picture quality) of requested contents are different in VOD contents and a pattern of data is the same.

    [0016] FIG. 1 is an external functional block diagram of a VOD server implementing a VOD service method using an SSD of the present invention. As illustrated in FIG. 1, a VOD server of the present invention is configured by an interworking between a control module 110 for supporting the VOD service method of the present invention and an Operation System (OS) 10 of a server for operating a CPU, a Direct Memory Access (DMA) 20 for performing data read/write in an SSD 100, a Peripheral Input/Output (PIO) 30 such as a Peripheral Component Interconnect-Express (PCI-e) for connecting the CPU with a peripheral device, and a network interface 40 such as a TCP/IP Offload Engine (TOE) for providing a high-speed network input/ouput processing.

    [0017] In the above-described configuration, the control module 110 may be formed by firmware installed within the SSD 100, and a request index table for requested contents which will be described below may be constructed in a temporary storage (TEMP) area managed by the control module 110. Meanwhile, a packet array area 120 which groups VOD packets to be transmitted in the unit of a predetermined number of packets, for example, in the unit of 1,000 packets and then temporarily stores the grouped VOD packets is included in the SSD 100.

    [0018] FIG. 2 is a flowchart for describing the VOD service method using the SSD of the present invention, and the VOD service method is performed by the control module 110 of the present invention as a subject not otherwise specified. As illustrated in FIG. 2, the packet array according to a picture quality of an image, for example, a ultra HD level, a full HD level, a HD level, an SD level or the like is first allocated to the packet array area 120 of the SSD 100 in step S10, and the packet array may be properly determined by a server manager, for example, in synthetical consideration of a target transmission rate, a request ratio for each picture quality level, the number of simultaneous accessers and the like.

    [0019] FIG. 4 is a diagram illustratively showing the packet array arranged in the packet array area 120 of the SSD 100 according to the present invention. As illustrated in FIG. 4, the packet array arranged in the packet array area 120 of the SSD 100 according to the present invention may be divided for each picture quality level of the image. When a relatively high ratio such as the full HD level or the ultra HD level is requested, many more storage areas may be allocated for the full HD level or the ultra HD level. Furthermore, the packet array may be constructed in such a mananer that one packet is allocated to the packet array in the SD level (2 Mbps level) per one requester client, two packets are allocated to the packet array in the HD level (4 Mbps level), and four packets are allocated to the packet array in the full HD level (8 Mbps level).

    [0020] The packet array for each picture quality level corresponds to information on the requester client to which a corresponding packet will be transmitted according to the loaded packet, for example, information on an index number of the request index table, an IP address of the requester client and the like.

    [0021] Referring back to FIG. 2, it is determined whether there is a VOD service request from a random requester client in step S20. As a result of the determination of step S20, when there is the VOD service transmission request, step S30 is performed, which updates the request index table according to the corresponding VOD service request.

    [0022] FIG. 3 is a diagram illustrating an example of the request index table constructed in the control module 110 of the SSD 100 according to the present invention. As illustrated in FIG. 3, the request index table according to the present invention may largely include an index number, an access IP address of the requester client, and identification information of the request contents, for example, a file name and a file storage address within the SSD 100 of the request contents.

    [0023] Next, corresponding amounts of packets are read from the file storage address within the SSD 100 designated by the request index table according to a picture quality level of the corresponding VOD requested by the requester client and then loaded on the corresponding packet arrays, for example, one packet is loaded on an SD packet array in the SD level and two packets are loaded on an HD packet array in the HD level in step S40, and such a read operation may be performed by controlling the DMA 20.

    [0024] Next, a random packet array determines whether the storage space is full in step S50, for example, in a case of the packet array of 1,000 packets, determines whether the 1,000 packets are all loaded. When not all the 1,000 packets are loaded, steps after step S20 are repeatedly performed. When all the 1,000 packets are loaded, a command for transmitting packets of the packet array fully packing into the CPU are transmitted at the same time by controlling the OS 10. Accordingly, the CPU sets one session and simultaneously transmits each packet loaded on the corresponding packet array to the network interface to instruct each requester client to transmit the packet. In this process, the transmission is performed after information on the requester client for the corresponding packet and an IP address of the requester client are identified with reference to the request index table. It may be known through FIG. 4 that the IP address of the corresponding requester client is identified by the index number of the request index.

    [0025] As described above, according to the VOD service method of the present invention, it is possible to significantly reduce an occupancy rate of the CPU by allocating a plurality of packets to one CPU and then transmitting the allocated packets, and accordingly to increase a maximum transmission speed up to a maximum read/write speed allowed by the SSD 100. For example, in transmission of 800,000 packets, the CPU should set a total of 800,000 sessions in the prior art, but it is required to set only a total of 800 sessions according to the present invention, and thus the occupancy rate of the CPU is reduced and the transmission speed is greatly increased.

    [0026] FIGs. 5 and 6 are diagrams illustrating examples of an actual monitoring screen of a VOD service according to the present invention, respectively. As shown in a right lower screen of FIG. 5, although the VOD server currently performs a VOD service at a transmission speed of 10 Gbps, an occupancy rate according to VOD contents transmission of the CPU is only 0.4 % as shown in a left upper side. Further, although the remaining operations are performed, the occupancy rate is only 2.8 % and 97.2 % is in an idle state.

    [0027] In FIG. 6, as shown in the right lower screen of FIG. 5, although the VOD server currently performs a VOD service at a transmission speed of 20 Gbps, an occupancy rate according to VOD contents transmission of the CPU is only 0.5 % as shown in a left upper side. Further, although the remaining operations are performed, the occupancy rate is only 10.4 %, and 89.6 % is in an idle state.

    [0028] Referring back to FIG. 2, it is determined whether transmission of the requested VOD contents is completed in step S80. When the transmission is not completed, steps after step S20 are repeatedly performed. When the transmission is completed, step S90 is performed, which deletes a corresponding request item from the request index table, and then the process returns to step S20.

    [0029] The VOD service method using the SSD is not limited to the above described embodiments, but may be variously modified and then implemented without departing from the scope allowed by the technical idea of the present invention.

    [Description of Reference Numerals]



    [0030] 

    10: OS, 20: DMA,

    30: PIO, 40: N/I

    100: SSD, 110: control module,

    120: SSD




    Claims

    1. A VOD service method for reducing an occupancy rate of the CPU using an SSD, the VOD service method comprising:

    (a) setting a packet array area in the SSD where VOD packets to be transmitted are grouped in a unit of a predetermined number of packets and then temporarily stored, allocating a packet array according to a picture quality level of an image, a target transmission speed, a request ratio for the picture quality level, and the number of simultaneous requesters;

    (b) constructing a request index table containing an IP address of a requester client, a file name and a file storage address of a requested content of a VOD when the VOD is requested by the requester client;

    (c) reading the predetermined number of packets of the requested content from the file storage address within the SSD designated by the request index table according to a picture quality level of the VOD requested by the requester client, and loading the predetermined number of packets on the packet array; and

    (d) determining whether the packet array is full:

    (e) simultaneously transmitting all packets in the packet array by the CPU to a network interface connected to the requester client during a single session of the CPU by referring to the request index table when a storage space of the packet array is full, wherein the step (e) is performed if the VOD is requested by the requester client, and is not performed if the VOD is not requested by the requester client; and

    (f) deleting a corresponding request item from the request index table when transmission of the requested content of the VOD is completed,

    wherein said reading, said loading, and said transmitting of the packets reduces an occupancy rate of the CPU.
     
    2. A computer-readable recording medium for storing a program executing the method as claimed in Claim 1.
     


    Ansprüche

    1. VOD-Dienst-Verfahren zum Reduzieren einer Auslastungsrate der CPU mittels einer SSD, wobei das VOD-Dienst-Verfahren umfasst:

    (a) Einstellen eines Paketarray-Bereichs in der SSD, in dem zu übertragende VOD-Pakete in einer Einheit aus einer vorbestimmten Anzahl von Paketen gruppiert und dann vorübergehend gespeichert werden, Zuweisen eines Paketarrays gemäß einem Bildqualitätsniveau eines Bildes, einer Zielübertragungsgeschwindigkeit, einem Anforderungsverhältnis für das Bildqualitätsniveau und der Anzahl gleichzeitiger Anforderer;

    (b) Erstellen einer Anforderungsindextabelle, die eine IP-Adresse eines Anforderer-Clients, einen Dateinamen und eine Dateispeicheradresse eines angeforderten Inhalts eines VODs enthält, wenn das VOD von dem Anforderer-Client angefordert wird;

    (c) Lesen der vorbestimmten Anzahl von Paketen des angeforderten Inhalts aus der Dateispeicheradresse innerhalb der SSD, die durch die Anforderungsindextabelle bestimmt ist, gemäß einem Bildqualitätsniveau des von dem Anforderer-Client angeforderten VODs, und Laden der vorbestimmten Anzahl von Paketen auf das Paketarray; und

    (d) Bestimmen, ob das Paketarray voll ist:

    (e) gleichzeitiges Übertragen aller Pakete in dem Paketarray durch den CPU zu einer Netzwerkschnittstelle, die mit dem Anforderer-Client verbunden ist, während einer einzelnen Sitzung des CPU durch Bezugnahme auf die Anforderungsindextabelle, wenn ein Speicherplatz des Paketarrays voll ist, wobei der Schritt (e) ausgeführt wird, wenn das VOD durch den Anforderer-Client angefordert wird, und nicht ausgeführt wird, wenn das VOD nicht durch den Anforderer-Client angefordert wird; und

    (f) Löschen eines entsprechenden Anforderungselements aus der Anforderungsindextabelle, wenn die Übertragung des angeforderten Inhalts des VOD abgeschlossen ist,

    wobei das Lesen, das Laden und das Übertragen der Pakete eine Auslastungsrate der CPU reduziert.
     
    2. Computerlesbares Aufzeichnungsmedium zum Speichern eines Programms, das das in Anspruch 1 beanspruchte Verfahren ausführt.
     


    Revendications

    1. Procédé de service VOD pour réduire un taux d'occupation du CPU à l'aide d'un SSD, le procédé de service VOD comprenant:

    (a) définir une zone de réseau de paquets dans le SSD où les paquets VOD à transmettre sont regroupés dans une unité d'un nombre prédéterminé de paquets puis stockés temporairement, allouant un réseau de paquets selon un niveau de qualité d'image d'une image, une transmission cible la vitesse, un taux de demande pour le niveau de qualité d'image et le nombre de demandeurs simultanés;

    (b) construire une table d'index de demande contenant une adresse IP d'un client demandeur, un nom de fichier et une adresse de stockage de fichier d'un contenu demandé d'un VOD lorsque la VOD est demandée par le client demandeur;

    (c) lire le nombre prédéterminé de paquets du contenu demandé à partir de l'adresse de stockage de fichiers dans le SSD désigné par la table d'indexation des demandes selon un niveau de qualité d'image de la VOD demandée par le client demandeur, et charger le nombre prédéterminé de paquets sur le tableau de paquets; et

    (d) déterminer si le réseau de paquets est plein:

    (e) transmettre simultanément tous les paquets de la matrice de paquets par la CPU à une interface réseau connectée au client demandeur pendant une seule session de la CPU en se référant à la table d'index des demandes lorsqu'un espace de stockage de la matrice de paquets est plein, dans lequel le l'étape (e) est exécutée si la VOD est demandée par le client demandeur, et n'est pas exécutée si la VOD n'est pas demandée par le client demandeur; et

    (f) supprimer un élément de demande correspondant de la table d'index de demande si la transmission du contenu demandé de la VOD est terminée,

    dans lequel ladite lecture, ledit chargement et ladite transmission des paquets réduisent un taux d'occupation de la CPU.
     
    2. Support d'enregistrement lisible par ordinateur pour stocker un programme exécutant le procédé selon la revendication 1.
     




    Drawing