KR20040076540A - Implementation Scheduler for Multicast Transmission - Google Patents
Implementation Scheduler for Multicast Transmission Download PDFInfo
- Publication number
- KR20040076540A KR20040076540A KR1020030012167A KR20030012167A KR20040076540A KR 20040076540 A KR20040076540 A KR 20040076540A KR 1020030012167 A KR1020030012167 A KR 1020030012167A KR 20030012167 A KR20030012167 A KR 20030012167A KR 20040076540 A KR20040076540 A KR 20040076540A
- Authority
- KR
- South Korea
- Prior art keywords
- service
- multicast
- user
- scheduler
- group
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1881—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명에서 구현하는 시스템은 자바 JSDK 버전 1.4와 Java FrameWork(JMF)로 제작되었다. System 관리와 프로그램의 편의를 위해 구성요소를 나눠보면, 사용자가 서버에 서비스를 요청하는 사용자(client), 클라이언트 요청을 받아서 이미 스케줄링이 진행되고 있는 아이템이 있는지 살펴보고 그 결과에 따른 새로운 스케줄링의 여부를 결정하는 스케줄러, 그리고 스케줄러에서 발생된 멀티캐스트 그룹 주소와 포트 번호를 사용하여 데이터 전송을 담당하는 미디어 서버를 포함해 3가지 부분으로 프로그래밍을 구조화한다.The system implemented in the present invention was produced with Java JSDK version 1.4 and Java FrameWork (JMF). When the components are divided for the convenience of system management and program, the user checks whether there is a client requesting service to the server, whether there is an item already scheduled by receiving the client's request, and whether or not there is a new scheduling according to the result. The programming structure is structured into three parts, including the scheduler that determines the network controller, and the media server responsible for data transfer using the multicast group address and port number generated by the scheduler.
사용자와 스케줄러는 서로 소켓을 만들어 통신을 할 준비를 하고 사용자가 보낸 요청을 처리하여 원하는 아이템의 번호와 사용자의 IP, 그리고 서비스를 위해필요한 멀티캐스트 IP를 스케줄러에 저장한다. 사용자와 스케줄러는 일대일 관계가 아니라 다대일(n-to-one) 관계이므로 사용자가 서비스 요청을 하게 되면 스케줄러의ServiceSocket은 하나의 요청 당 하나의 쓰레드(thread)를 발생시켜 각각의 연결 설정을 유지한다. 스케줄러에 의해 발생된 멀티캐스트 그룹 IP는 사용자들은 물론 미디어 서버에 전달되고, 미디어 서버는 멀티캐스트 그룹에게 서비스를 제공하게 되며 이때 클라이언트들은 스케줄러로부터 전송되어온 멀티캐스트 그룹 IP를 사용하여 자동적으로 멀티캐스트 그룹에 join하여 요청된 비디오를 시청하게 된다. 이때 사용자의 요청이 있을 경우 서비스를 지연 없이 제공하게 된다.The user and the scheduler make sockets with each other, prepare to communicate, process the request sent by the user, and store the desired item number, the user's IP, and the multicast IP needed for the service in the scheduler. Since the user and scheduler are not one-to-one but n-to-one, when the user makes a service request, the scheduler's ServiceSocket generates one thread per request to maintain each connection. . The multicast group IP generated by the scheduler is delivered to the media server as well as the users, and the media server provides services to the multicast group, where clients automatically multicast group using the multicast group IP sent from the scheduler. Join to watch the requested video. At this time, the service is provided without delay when requested by the user.
본 발명은 미디어 서버의 부하를 최소화하고 네크워크 자원을 보다 효율적으로 사용하여 보다 저렴한 가격의 서버로 사용자의 서비스 요청에 의해 즉각적으로 양질의 멀티미디어 서비스를 제공하기 위한 방법을 제공한다.The present invention provides a method for minimizing the load of a media server and using network resources more efficiently to provide a high quality multimedia service immediately by a user's service request to a server of a lower price.
기술이 발전함에 따라 이용자들에게 보다 좋은 서비스를 제공하려는 연구와 시도가 계속되어 왔고 데이터 전송에 필요한 소프트웨어뿐만 아니라, 하드웨어의 발전을 통해 초고속 인터넷 전송 서비스와 대용량 데이터 전송 서비스 등이 가능해져서 사용자는 보다 높은 품질의 서비스를 얻게 되었다. 반면, 기술이 발전함에 따라 사용자들은 동화상을 포함하는 대용량의 멀티미디어 데이터를 보다 고속의 서비스로 제공받기를 원하게 되었고, 다양한 요구를 만족시킬 수 있는 서비스가 필요하게 되었다. 특히 일반 방송 매체에서 지원하지 않던 사용자 요구 서비스에 대한 요청은 시간이 지남에 따라 눈에 띄게 증가하여 이를 위한 기술 개발이 요구되어 왔다.As technology has advanced, researches and attempts to provide better services to users have continued, and as well as software necessary for data transmission, hardware advancement has made it possible to provide high-speed Internet transmission service and large data transmission service. High quality service was obtained. On the other hand, with the development of technology, users want to be provided with a high-speed service of large-capacity multimedia data including moving pictures, and a service that can satisfy various needs is required. In particular, requests for user-requested services, which were not supported by general broadcasting media, have increased significantly over time, and technology development for them has been required.
사용자 요구 서비스는 사용자가 데이터 서비스를 제공받는 데에만 목적을 두는 것이 아니라 사용자가 원하는 시간에, 원하는 정보를, 원하는 품질로 서비스 받도록 하여 사용자 중심의 주문형 서비스로 변화되고 있으며 종류도 단순한 텍스트 데이터에서 벗어나 동영상, 음악, 이미지 등 다양한 미디어를 통합한 멀티미디어 데이터를 요구하기에 이르렀다. 따라서 네트워크망은 보다 대용량의 데이터를 고속으로 전송해야 할 필요가 있게 되었다.User-requested services are not only aimed at providing users with data services but are being transformed into user-oriented on-demand services by allowing them to receive the information they want at the time they want, at the desired quality. There is a demand for multimedia data that integrates various media such as video, music, and images. As a result, network networks need to transfer large amounts of data at high speed.
멀티미디어와 같은 대용량 데이터를 요구한 시점에서 실시간으로 서비스할 수 있는 주문형 시스템을 구현하기 위해서는 여러 가지 기술적인 문제와 비용문제들을 해결해야 한다. 특히, 사용자에게 원활한 서비스를 제공하기 위해서는 데이터를 저장하고 관리하는 서버의 강력한 처리 능력이 요구되며, 대용량의 데이터가 원활히 전송될 수 있는 고속의 광대역 전송망 구축등과 같은 문제점들을 해결하기 위해서 다양한 연구들이 이뤄지고 있다. 따라서, CDN(Contents Delivery Network)등에서 다뤄지고 있는 분산 저장 시스템을 이용하거나 동일한 데이터를 신청한 사용자들을 하나의 그룹으로 묶어서 동시에 한 개의 자원을 가지고 서비스를 하는 멀티캐스트를 이용한 방법 등이 연구되고 있다.To realize an on-demand system that can service in real time when a large amount of data such as multimedia is required, various technical and cost problems must be solved. In particular, in order to provide a smooth service to users, a powerful processing capacity of a server that stores and manages data is required, and various studies have been conducted to solve problems such as the construction of a high-speed broadband transmission network capable of transmitting large amounts of data smoothly. It's happening. Therefore, a method using a multicast service using a distributed storage system handled in a CDN (Contents Delivery Network) or the like and grouping users who apply for the same data into a group and having a single resource at the same time has been studied.
멀티캐스트를 사용하면, 기존의 유니캐스트(unicast) 전송 기법을 사요하였을 때 한 개의 자원을 가지고 오직 사용자 한 명에게 서비스를 제공하는 것과는 달리, 서버의 부하는 물론이고 동시에 데이터를 신청한 사용자 수만큼 자원이 절약된다. 그러나 기존의 멀티캐스트 전송 방식은 동일한 그룹아이디를 정해서 미리 E-mail등을 통해 서비스 개시 시간을 공지 한 후에 접속을 하여 서비스를 받는 방식이었던 반면, 본 발명에서 제안하는 시스템은 사용자가 원하는 아이템에 대한 서비스 요청을 하면 일정 시간동안 서비스를 잠시 지연하여 같은 아이템을 요구하는 사용자 그룹을 실시간으로 묶어서 서비스를 제공하므로 사용자 중심의 서비스를 하면서도 동시에, 멀티캐스트 전송을 제공할 수 있다.With multicast, unlike traditional unicast transmission schemes, a service is provided to only one user with one resource, as well as the number of users who have requested data at the same time as the server load. Resource savings However, in the conventional multicast transmission method, the same group ID is determined and the service start time is announced through e-mail and the like, and the service is accessed. However, the system proposed by the present invention provides a method for an item desired by a user. When a service request is made, a service is delayed for a predetermined time to provide a service by grouping user groups requiring the same item in real time, thereby providing multicast transmission while providing user-oriented service.
현재, 인터넷에서 주로 제공되는 서비스로는 정해진 시간에 데이터를 기다려야하는 브로드캐스트 전송 방식이나, 사용자 요구가 발생하였을 때 일대일 전송을 하는 유니캐스트 전송방식을 사용한다. 이처럼 멀티캐스트 전송 방식을 사용하여 서비스하기 어려운 이유는 아이템을 요청하는 주체인 사용자들의 서비스 요청 시간이 같지 않기 때문이다. 따라서 최근 개봉한 영화와 같이 수십 초의 시간 내에 같은 아이템을 요청하는 사용자들이 많은 경우에 단일 채널을 사용하여 한번에 맣은 사용자들에게 서비스를 제공할 수 있는 방법이 필요하다.Currently, a service mainly provided by the Internet uses a broadcast transmission method that waits for data at a predetermined time or a unicast transmission method that performs one-to-one transmission when a user request occurs. The reason why it is difficult to service using the multicast transmission method is that the service request time of the user requesting the item is not the same. Therefore, there is a need for a method that can provide services to black users at once using a single channel when many users request the same item within tens of seconds, such as a recently released movie.
1. 서비스 스케줄러1. Service Scheduler
유니캐스트 전송 방법과 멀티캐스트 전송 방법을 사용한 데이터 전송을 비교하면 동일한 아이템을 서비스할 때 필요한 채널의 효율이 사용자가 많을수록 확연해 진다. 유니캐스트 전송 방법을 사용하였을 경우, 서비스를 요구한 사용자의 수만큼 채널이 필요하지만, 멀티캐스트 전송 방법을 사용하였을 경우, 하나의 채널로 서비스를 할 수 있다. 따라서 동일한 아이템에 대한 욕구가 많을수록 자원을 보다 효율적으로 사용하게 된다. 그러나 기존의 멀티캐스트 전송을 사용한 서비스는 클라이언트들이 원하는 시간에 서비스를 받기보다는 서버에서 전송 시간을 사전에 결정하고 클라이언트들에게 E-mail이나 공지를 통해 정해진 시간에 접속하여 서비스를 받도록 하였다. 따라서 사용자가 원하는 시점이 아닌 서비스 제공자의 입장에서 데이터를 전송하므로 원천적으로 주문형 서비스를 제공할 수 없다는 단점을 갖고 있다.Comparing the data transmission using the unicast transmission method and the multicast transmission method, the efficiency of the channel required to service the same item becomes more pronounced with more users. When the unicast transmission method is used, as many channels as the number of users who request the service are needed. However, when the multicast transmission method is used, one channel can be used. Therefore, the more desire for the same item, the more efficient use of resources. However, the service using the existing multicast transmission has decided the transmission time in advance in the server rather than receiving the service at the desired time, and allows the clients to access the service at a fixed time through e-mail or notification. Therefore, since the data is transmitted from the service provider's point of view, the on-demand service cannot be provided.
그러나, 본 발명에서 제안한 시스템은 기존의 멀티캐스트의 단점을 제거하여 주문형 서비스 특성이 제공되는 시스템으로서, 스케줄러는 멀티캐스트전송 방식을 사용한 서비스에서 동일한 데이터를 동시에 요청한 사용자들에게 단일 채널을 사용하여 서비스를 제공할 수 있도록 하기 위해 [도 1]에서와 같이 사용자 요구를 스케줄링 한 결과로 발생된 각 그룹별 멀티캐스트 주소를 할당하게 된다.However, the proposed system is a system that provides on-demand service characteristics by eliminating the disadvantages of existing multicast, and the scheduler uses a single channel to service users who simultaneously request the same data in a service using a multicast transmission method. In order to be able to provide a multicast address for each group generated as a result of scheduling a user request, as shown in FIG.
사용자들의 서비스 요청이 스케줄러에 의해 동일한 그룹에 속하기 위한 조건은, 동일한 아이템을 신청한 사용자이어야 하고, 사용자들이 납득할 만한(약 20초에서 1분) 대기시간으로 설정된 멀티캐스트 그룹 설정 시간(Grouping Interval)의 범위 내에 서비스를 신청한 사용자들이어야 한다. 그룹 설정 시간은 서버에서 서비스하고 있는 아이템들의 인기도와 사용자들의 요구 패턴을 분석하여 결정한다. 그룹 설정 시간을 길게 설정한다면 하나의 그룹에서 단일 채널을 사용하여 보다 많은 사용자들에게 서비스가 가능하지만 그룹 설정 시간 초기에 서비스를 신청한 사용자들은 보다 오래 동안 기다려야 하는 단점이 생기게 된다.The condition for the service request of users belonging to the same group by the scheduler is that the user must apply for the same item, and the multicast group setting time set to the wait time that the users can understand (about 20 seconds to 1 minute). Users must apply for services within the scope of). The group setting time is determined by analyzing the popularity of the items being serviced by the server and the user's request pattern. If the group setting time is set longer, the service can be provided to more users by using a single channel in one group, but users who apply for the service at the beginning of the group setting time have to wait longer.
스케줄러는 사용자의 요청을 가장 먼저 받아들여 사용자가 서비스 받을 그룹을 정해야 하므로 먼저, 사용자의 요구를 서비스 할 수 있는지 시스템 자원을 확인한다. 시스템에서 사용 가능한 채널의 용량은 정해져 있으므로 서비스에 사용되는채널의 여유가 없을 경우에는 사용자의 요청을 거절하거나 대기시켜야 한다. 만약 시스템 자원에 여유가 있어서 서비스를 제공할 수 있는 경우, 요청한 데이터와 동일한 아이템을 선택한 다른 사용자가 이미 서비스 받기를 기다리는 사용자는 처음 서비스를 요구한 사용자의 서비스 요청 시간으로부터 그룹 설정 시간이 지나기 전에 요구한 사용자의 서비스 요청 시간으로부터 그룹 설정 시간이 지나기 전에 동일한 아이템에 대한 서비스를 요청한 사용자이며, 다른 사용자가 동일한 아이템을 요청할 경우 같은 멀티캐스트 그룹 주소와 포트를 가지고 서비스를 제공받는다.The scheduler first accepts the user's request and decides which group the user should be served with. First, check the system resources to see if the user's request can be served. Since the capacity of the channel available in the system is fixed, the user's request should be rejected or waited when there is no space available for the service. If the system resources are sufficient to provide the service, the user who waits for the service already received by another user who selects the same item as the requested data is requested before the group setup time has elapsed from the service request time of the user who first requested the service. A user who requests a service for the same item before a group setting time elapses from a service request time of one user, and when another user requests the same item, the service is provided with the same multicast group address and port.
[도 2]에 단일 아이템에 대해서 그룹 설정 시간동안 사용자들의 요구를 묶어 두었다가 멀티캐스트 주소를 사용하여 그룹 단위로 서비스하는 과정을 나타내었다.2 shows a process of grouping users' requests for a single item for a group setting time and serving a group unit using a multicast address.
[도 3]에서 나타낸 바와 같이 유니캐스트 전송 방법을 사용하여 서비스를 할 때, 서비스를 요청한 사용자부터 그룹 설정 시간이 종료하기 전 마지막으로 서비스를 요청한 사용자까지 n 명이 동일한 아이템을 요청하였다면, n명에게 n 개의 채널을 각각 할당하여야 하지만 멀티캐스트 그룹 주소를 할당하여 하나의 채널로 서비스가 가능하게 된다.As shown in FIG. 3, when performing services using the unicast transmission method, if n people request the same item from the user who requested the service to the user who requested the service before the end of the group setting time, Each of n channels should be allocated, but a single channel can be serviced by assigning a multicast group address.
그룹핑(Grouping)을 하는 데는 아이템을 신청한 사용자 정보와 아이템에 관련된 정보가 필요하다. 사용자 정보로는 인터넷 주소와 요청한 아이템의 고유 ID등이 있으며, 그룹핑에 필요한 아이템 정보로는 현재 스케줄링 중인 쓰레드가 사용할 멀티캐스트 주소 저장 배열, 함수가 발생시킨 멀티캐스트 주소가 사용 가능한지 판별할 정보를 저장하는 배열, 발생시킨 포트가 사용가능한지 판별할 정보를 저장하는 배열, 그룹 설정 시간동안 사용자들의 요구를 모아주는 작업을 실행하고 이 시간이 지나면 그룹핑을 중지시켜, 새로운 그룹 설정을 시작하게 하는 타이머 등이 있다.Grouping requires user information on an item and information related to the item. User information includes the Internet address and the unique ID of the requested item, and the item information required for grouping stores the multicast address storage array to be used by the currently scheduled thread and the information to determine whether the multicast address generated by the function is available. Array that stores information to determine whether the generated port is available, a timer that executes a task that gathers users' requests during group setting time, and stops grouping after this time to start setting up a new group. have.
우선, 사용자가 요구한 아이템이 현재 스케줄링 중인지, 혹은 새로 스케줄링이 필요한 아이템인지를 구별하기 위해, 아이템 ID를 인덱스로 가지는 그룹핑이 진행중인지 판별하는 정보를 저장하는 배열을 가진다. 이 배열은 스케줄러가 사용자 요구를 받게 되면, 가장 먼저 살펴보아 스케줄링 중이라면, 현재 스케줄링 중인 멀티캐스트 주소와 포트를 참조하기 위해 다음에 설명하는 배열을 참고한다. 아이템 고유 ID를 인덱스로 가지며, 값으로서 스케줄링 중인 아이템에 사용될 멀티캐스트 주소를 가지고 있는 배열은 이미 스케줄링 중인 아이템을 요청한 사용자에게는 이 배열을 참조해서 [신청 아이템 ID 1 ]번째 배열의 값인 멀티캐스트 주소를 전달하여 클라이언트는 이 주소로 미디어 서버와 연결을 설정한다. 이와는 반대로 신청한 아이템을 서비스하기 위해 그룹핑 중인 쓰레드가 없을 경우, 새로 발생시킨 멀티캐스트 주소는 이미 사용하고 있는 주소인지 확인해야 하므로, 발생 가능성이 있는 멀티캐스트 주소에 대한 사용 여부 플래그 배열이 필요하며, 마찬가지로 사용할 포트에 대한 관리도 필요하므로, 포트 사용 여부 플래그 배열을 가지고 있다. 또한 전체 그룹핑 시간을 관리하여 그룹 설정 시간 동안 사용자가 요구를 수집하면서 서비스 세션을 관리하는 타이머 등이 있다.First, in order to distinguish whether an item requested by a user is currently scheduled or an item that needs to be newly scheduled, it has an array for storing information for determining whether grouping with an item ID as an index is in progress. When this scheduler receives a user request, it looks first and if you are scheduling it, refer to the array described below to refer to the multicast address and port currently being scheduled. An array with an item unique ID as an index and having a multicast address to be used for the item being scheduled as a value is referred to the user who has already requested the item being scheduled by referring to the array. The client then establishes a connection with the media server at this address. On the contrary, if there are no threads grouping to service the requested item, the newly created multicast address must be checked to see if it is already in use. Therefore, an array of whether or not to use the multicast address that is likely to occur is required. Similarly, it also needs to manage the ports to use, so it has an array of port usage flags. In addition, there is a timer that manages the entire grouping time and manages the service session while collecting user requests during the group setting time.
따라서 스케줄러는 현재 제공되고 있는 아이템의 목록과 관리를 위한 정보와 서비스를 요구한 모든 사용자들의 정보, 아이템별 타이머, 영화별로 동일한 그룹에서 서비스 받고 있는 사용자들에 대한 목록 등을 항상 유지하며 관리하여야 한다.Therefore, the scheduler must maintain and manage the list of currently provided items, the information for management and the information of all users who requested the service, the timer for each item, and the list of users who are being served in the same group by movie. .
본 발명에서 제안하는 시스템은 멀티캐스트 전송방법을 사용하여 주문형 기능을 가진 서비스를 제공하므로, 하나의 멀티캐스트 그룹 주소로 보다 많은 사용자들에게 서비스를 전송하여 효율을 높이고 있다.The system proposed in the present invention provides a service having an on-demand function by using a multicast transmission method, thereby increasing efficiency by transmitting a service to more users with one multicast group address.
2. 주문형 미디어 서버2. Media server on demand
미디어 서버는 사용자가 요청할 대용량의 데이터를 저장하고 스케줄러의 요청이 있을 때, 사용자에게 멀티미디어 스트림 데이터를 실시간으로 전송하며, 클라이언트와 연결을 유지하고 서비스가 끝났을 경우 연결을 해제한다. 서버에는 사용자의 요구에 따라 다양한 아이템 중에서 적절한 데이터를 찾아서 전송하기 위해 대용량의 데이터 저장장치가 필요하며, 다수의 사용자 요구를 원활히 제공하기 위해서 강력한 처리능력이 요구된다.The media server stores a large amount of data requested by the user, transmits multimedia stream data to the user in real time when requested by the scheduler, maintains a connection with the client, and disconnects when the service is finished. The server needs a large data storage device to find and transmit appropriate data among various items according to the user's needs, and strong processing power is required to smoothly provide a large number of user requests.
서버에서 사용자와 연결을 설정하는 방법으로, 기존의 유니캐스트 전송을 사용하였을 때에는 하나의 리소스를 가지고 한 사람의 사용자에게 서비스를 제공하였기 때문에 인터넷 IP주소를 목적지 필드(field)에 할당하였지만, 멀티캐스트 전송을 사용하였을 때에는 하나의 리소스로 다수의 사용자에게 서비스를 제공하기 때문에 목적지 주소 필드에 멀티캐스트 전송을 위해 할당된 멀티캐스트 IP를 할당한다. 사용자 그룹을 위한 멀티캐스트 IP는 스케줄러에서 사용자의 요구를 받았을 때, 그룹 설정 시간 동안 동일한 데이터를 요청한 사용자들의 요구를 그룹으로 묶어서 서비스하기 위해 그룹 당 하나의 멀티캐스트 주소를 생성하므로 서버의 부하를 줄이는 효과를 가져온다.In the method of establishing a connection with a user in the server, when using a conventional unicast transmission, since the service was provided to a single user with one resource, the Internet IP address was assigned to the destination field. When the transmission is used, since the service is provided to a plurality of users with one resource, the multicast IP allocated for the multicast transmission is assigned to the destination address field. Multicast IP for a group of users reduces the load on the server by generating one multicast address per group to group and service the requests of users who have requested the same data during the group setup time when the user requests from the scheduler. Brings effect.
서버에서 사용자에게 서비스하기 위해 사용하는 멀티캐스트 그룹 주소는 스케줄러에서 발생된 그룹 주소를 사용한다. 사용자가 요구한 아이템을 전송하기 위한 서버에서 스케줄링은 하게 된다면, 이후에 다수 사용자들에게 서비스해야 하는 상황에서 한 대 이상의 서버를 사용해 시스템을 확장시켜야 할 경우에 모든 서버가 각기 다른 스케줄링을 수행하게 되므로, 시스템 통합에 어려움을 겪게 된다.The multicast group address used by the server to serve users uses the group address generated by the scheduler. If the scheduling is performed on the server to transmit the item requested by the user, all the servers perform different scheduling when the system needs to be expanded by using more than one server in the case of serving multiple users later. As a result, system integration will be difficult.
기존의 서비스는 클라이언트가 원하는 아이템에 대한 서비스 요구를 서버에게 요청할 때, 직접 요청을 하였다. 그러나 본 논문에서 제안한 시스템의 경우, 스케줄러를 통해 서비스 요청을 하게 되므로 서버는 자신이 서비스할 클라이언트들의 인터넷 주소를 알 필요가 없다. 그림 1에서 알 수 있듯이 클라이언트의 요구는 스케줄러에게 입력되어 요청한 아이템에 대해서 스케줄링 중인 쓰레드가 존재하는지 살피고, 새로운 그룹 주소를 생성하거나 이미 그룹핑 중인 멀티캐스트 그룹 주소를 전달 받는다. 따라서 기존 방식과 같이 클라이언트가 데이터그램 패킷에 요청하고자 하는 서버의 인터넷 주소를 입력한다든지, 서버가 서비스를 제공할 클라이언트의 인터넷 주소를 관리 할 필요가 없게 되었다.The existing service makes a direct request when the client requests a service request for an item desired by the client. However, in the case of the system proposed in this paper, the server does not need to know the internet address of the clients to service because the request is made through the scheduler. As you can see in Figure 1, the client's request is entered into the scheduler to see if a thread is being scheduled for the requested item, creating a new group address, or receiving a multicast group address already grouped. Therefore, as in the conventional method, there is no need for the client to enter the Internet address of the server that the client wants to request in the datagram packet or to manage the Internet address of the client to be provided by the server.
클라이언트는 자신이 가입해야 할 멀티캐스트 그룹 주소를 통보 받게 되면, 기존에 스케줄러와 연결됐던 데이터그램 소켓을 닫고, 서버와 연결하기 위해 새로운 멀티캐스트 소켓을 생성한다. 멀티캐스트 소켓을 통해 클라이언트가 접속하므로 서버는 사용자가 Join 할 것으로 가정하고 전송에만 전념하게 된다.When the client is notified of the multicast group address to which it should subscribe, it closes the datagram socket previously associated with the scheduler and creates a new multicast socket to connect to the server. Since the client connects through a multicast socket, the server assumes that the user will join and is dedicated to the transfer.
3. 클라이언트3. Client
클라이언트는 네트워크를 통하여 전송된 데이터 스트림을 수신하고 이를 디코딩하여 사용자에게 보여준다.The client receives the data stream sent over the network and decodes it to the user.
클라이언트가 서비스를 요청하기 위해서는 스케줄러에게 원하는 아이템을 요청해야 한다. 사용자가 요청한 데이터가 서버에 존재하면 스케줄러는 멀티캐스트 그룹 주소를 발생시켜서 클라이언트와 서버에게 알려준다. 클라이언트는 스케줄러로부터 멀티캐스트 그룹 주소를 얻게 되면 스케줄러와 연결되었던 소켓을 닫고, 서버와의 통신을 위하여 새로운 멀티캐스트 소켓을 생성한다. 또한 서버는 멀티캐스트 그룹 주소를 이용해서 클라이언트에게 데이터를 전송하기 위하여 데이터그램 소켓을 생성하고, 클라이언트는 멀티캐스트 소켓을 소스(source) 주소 필드에 전달 받은 멀티캐스트 그룹 주소를 입력하고 수신을 기다리게 되며, 서버는 전송을 시작한다.In order for the client to request a service, it must request the desired item from the scheduler. If the data requested by the user exists on the server, the scheduler generates a multicast group address and informs the client and server. When the client gets a multicast group address from the scheduler, it closes the socket that was connected to the scheduler and creates a new multicast socket for communication with the server. In addition, the server creates a datagram socket to send data to the client using the multicast group address, and the client enters the multicast group address received from the multicast socket in the source address field and waits for reception. , The server starts the transfer.
통신을 시작하게 되면 클라이언트와 서버는 서로에 대한 직접적인 정보를 유지할 필요 없이 하나의 공통적인 멀티캐스트 그룹 주소를 가지고 서비스가 이뤄지는데, 클라이언트가 서버에 서비스요청을 직접 하는 것이 아니라 스케줄러에서 만들어진 그룹에 멀티캐스트 소켓을 통하여 가입하였기 때문이다.When communication is initiated, the client and server are serviced with a single common multicast group address without having to maintain direct information about each other. This is because you subscribed through a cast socket.
새로운 스케줄링을 사용하여 구현한 시스템의 클라이언트 구성요소는 멀티캐스트 그룹 주소를 스케줄러에게서 받은 후에 서버에게서 데이터를 전송받는 동안에는 서버 메인 프로그램과 세션을 유지하지 않고, 각 그룹에 할당된 전송을 담당하는 서버 쓰레드와 세션을 유지한다. 각 연결을 쓰레드로 분리하고 채널 관리 효율을 높일 수 있기 때문에, 자신이 받고자 하는 서비스가 끝나면 자동적으로 지신의 소켓을 파괴하고, 아이템을 전송했던 서버 쓰레드도 종료된다.The client component of the system implemented using the new scheduling does not maintain a session with the server main program while receiving data from the server after receiving the multicast group address from the scheduler, and is responsible for the server threads that are assigned to each group. Maintain a session with. Because you can separate each connection into threads and improve channel management efficiency, when the service you want to receive ends, you automatically destroy the socket of the user and the server thread that sent the item is also terminated.
4. 단말 네트워크4. Terminal network
현재 멀티캐스트 전송을 원활히 사용할 수 있는 환경은 로컬 네트워크에 한정되어 있다. 최근에는 멀티캐스트 그룹 주소를 사용한 서비스를 제공하기 위한 다양한 프로토콜이 개발되었으며, 이러한 프로토콜들을 수행해야 하는 라우터들도 멀티캐스팅을 지원하도록 개발되고 있지만, 인터넷상에 존재하는 대다수의 라우터는 아직 멀티캐스팅을 지원하기 이전의 장비들이므로 전체적인 교체에 많은 시간이 필요할 것으로 보인다. 따라서, 멀티캐스트 그룹 주소를 사용하는 패킷은 LAN망을 벗어날 수 없도록 데이터 패킷의 TTL값을 1에서 3으로 제한하게 된다.Currently, the environment in which multicast transmissions can be used smoothly is limited to the local network. Recently, various protocols have been developed to provide services using multicast group addresses, and routers that need to perform these protocols have been developed to support multicasting, but most routers on the Internet still do not support multicasting. It's a pre-supported piece of equipment, so it's going to take a lot of time to replace it. Therefore, the packet using the multicast group address limits the TTL value of the data packet from 1 to 3 so as not to leave the LAN network.
멀티캐스트의 장점을 사용한 시스템이 가장 알맞게 동작을 할 수 있는 환경은 지역적으로 인접하면서, 다수의 클라이언트가 같은 라우터에 접속되어 있는 사용자 밀집형 구조이다. 예를 들어, 아파트 단지에서 비디오나 영화서비스를 한다든지, 학교 LAN망에서 교육용 컨텐츠를 지정해서 제공하는 경우, 또는 회사에서 사내 교육 자료를 제공하는 경우 등이 될 수 있다. 하지만 인터넷상에서 멀티캐스트 전송의 범위가 확대 될 수 있는 인프라가 구축될 경우, 기존의 방송국에서 많은 인기를 끌었던 지난 프로그램이나, 엄청난 관객을 모았던 개봉영화 등을 전국적으로 스트리밍 할 수 있는 대규모 서비스 네트워크로 확대될 것이다.The most optimal environment for a system using the benefits of multicast is a user-dense structure that is geographically contiguous and multiple clients are connected to the same router. For example, it may be a video or movie service in an apartment complex, a case where education contents are designated and provided in a school LAN network, or a company provides educational materials in-house. However, if the infrastructure to expand the range of multicast transmissions is established on the Internet, it will be expanded to a large service network capable of streaming nationally the last program which has been popular in the existing broadcasting stations, or the release movies which attracted huge audiences. Will be.
도 1은 Components of scheduling system1 shows Components of scheduling system
도 2은 Grouping interval of grouping session2 is a grouping interval of grouping session
도 3은 Required channel for unicast and multicast3 is a required channel for unicast and multicast
본 발명에서 제안하는 멀티캐스팅을 사용한 그룹 스케줄링 시스템은 서버의 부하를 크게 늘리지 않으면서도 사용자가 요구한 데이터를 다수의 사용자들에게 보다 좋은 품질의 서비스를 제공하기 위한 방법을 제시한다. 특히, 사용자들의 요구를 모아 두면서 데이터를 요구하는 사용자들을 하나의 서비스 그룹으로 묶은 후 서비스를 제공하는 전처리 과정이 필요하며, 관리를 용이하게 하기 위해 필요한 미디어 서버, 스케줄러, 클라이언트, 네트워크 부분으로 각 요소가 담당하는 기능에 따라 구분하였다.The group scheduling system using multicasting proposed in the present invention provides a method for providing a higher quality service to a plurality of users with data requested by a user without significantly increasing the load on the server. In particular, a pre-processing process is needed to group users who request data while gathering user requests into a service group and provide services. Each element includes a media server, a scheduler, a client, and a network that are needed to facilitate management. It is divided according to the function in charge of the.
제안한 멀티캐스트 주문형 멀티미디어 서버를 구현하기 위해서 새로운 멀티캐스트 스케줄러를 통하여 구현된 MOD 시스템은 사용자의 요구가 특정인기 있는 아이템에 집중되는 환경에서 근소한 시간 간격을 두고 서비스 요청을 한 사용자들에게 동일한 채널을 통해 서비스를 제공할 수 있도록, 정해진 대기 시간 동안 신청자 그룹을 정하고 스케줄링을 통해 멀티캐스트 그룹주소와 포트를 사용자 그룹이 공유함으로써 서버의 부하와 네트워크 채널 사용을 줄일 수 있다.In order to implement the proposed multicast on-demand multimedia server, the MOD system implemented through the new multicast scheduler provides users with service requests through the same channel at small intervals in the environment where the user's needs are concentrated on specific popular items. In order to provide a service, a group of subscribers can be defined for a predetermined waiting time, and scheduling can reduce the load of a server and the use of a network channel by sharing a multicast group address and a port with a group of users.
이를 통해 부족한 네트워크 자원을 보다 효율적으로 사용할 수 있으며, 이와 동시에 서버의 부하도 크게 감소시켜 클라이언트가 동일한 아이템을 주문할 경우 서비스 요청에 따른 채널수가 유니캐스트 전송 기법을 사용하였을 때의 54.26% 수준으로 감소할 수 있다. 따라서 시스템의 성능은 2배 이상으로 개선시킬 수 있으며 서버와 네트워크 상에 전송되는 트래픽이 줄어들기 때문에 시스템 구현에 필요한 비용을 크게 줄일 수 있다.This enables more efficient use of scarce network resources, and at the same time significantly reduces the load on the server, reducing the number of channels associated with service requests to 54.26% when using a unicast transmission scheme when clients order the same items. Can be. As a result, the performance of the system can be more than doubled and the cost of implementing the system can be significantly reduced because fewer traffic is sent over the server and the network.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030012167A KR20040076540A (en) | 2003-02-26 | 2003-02-26 | Implementation Scheduler for Multicast Transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030012167A KR20040076540A (en) | 2003-02-26 | 2003-02-26 | Implementation Scheduler for Multicast Transmission |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040076540A true KR20040076540A (en) | 2004-09-01 |
Family
ID=37362716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030012167A KR20040076540A (en) | 2003-02-26 | 2003-02-26 | Implementation Scheduler for Multicast Transmission |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040076540A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100738043B1 (en) * | 2006-07-04 | 2007-07-12 | 주식회사 케이티프리텔 | Media service method and apparatus using change of unicast/multicast based on channel information |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000183891A (en) * | 1998-12-11 | 2000-06-30 | Nec Corp | Method and system for automatically participating in multicast group |
KR20000062500A (en) * | 1999-01-29 | 2000-10-25 | 포만 제프리 엘 | Method and system for replication supported in a remote method invocation system |
KR20010001416A (en) * | 1999-06-04 | 2001-01-05 | 정선종 | Reliable multicast data communication method for continuous media data processing |
-
2003
- 2003-02-26 KR KR1020030012167A patent/KR20040076540A/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000183891A (en) * | 1998-12-11 | 2000-06-30 | Nec Corp | Method and system for automatically participating in multicast group |
KR20000062500A (en) * | 1999-01-29 | 2000-10-25 | 포만 제프리 엘 | Method and system for replication supported in a remote method invocation system |
KR20010001416A (en) * | 1999-06-04 | 2001-01-05 | 정선종 | Reliable multicast data communication method for continuous media data processing |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100738043B1 (en) * | 2006-07-04 | 2007-07-12 | 주식회사 케이티프리텔 | Media service method and apparatus using change of unicast/multicast based on channel information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9628527B2 (en) | System and method for delivering content in a unicast/multicast manner | |
US7133922B1 (en) | Method and apparatus for streaming of data | |
EP1142267B1 (en) | Announced session description | |
US9252963B2 (en) | Performing multicast communication in computer networks by using overlay routing | |
US7082142B1 (en) | System and method for delivering content in a unicast/multicast manner | |
US20110246608A1 (en) | System, method and device for delivering streaming media | |
JP5255654B2 (en) | Multi-directional peer-to-peer media streaming | |
US20200021859A1 (en) | Multicast implementation method and related network device | |
EP1131935B1 (en) | Announced session control | |
EP2744168B1 (en) | System, method and live streaming optimizer server for live content distribution optimization over a content delivery network | |
JP2012522457A (en) | Method and apparatus for a system for providing media through multicast distribution | |
CN111131759B (en) | Real-time multimedia transmission system and use method thereof | |
JPH10336176A (en) | Group communication method, its system and storage medium for storing group communication program | |
JP2005018293A (en) | Content delivery control device, content delivery control method and content delivery control program | |
KR20040076540A (en) | Implementation Scheduler for Multicast Transmission | |
TWI688238B (en) | Fiber access network system for optimizing live streaming transmission and operation method thereof | |
JP2012231478A (en) | Streaming data distribution | |
KR100643705B1 (en) | A method for multicast playout service in Internet broadcasting system, and an apparatus therefor | |
CN116886672A (en) | Conference capacity adaptive processing method, server and readable storage medium | |
KR100841593B1 (en) | Appratus and method for providing multimedia contents, and appratus and method for receiving multimedia contents | |
Hon | Design of a real-time broadcast system over the internet | |
WO2011102709A1 (en) | Automated cluster head mechanism in multicast communication over wireless networks | |
Dong et al. | Full-sharing: efficient bandwidth scheduling for video streaming over broadband cable networks (BCNs) | |
Erman | Replication Strategies for Streaming Media | |
KR20090053273A (en) | Acquisition method of broadcasting service providers information to personal broadcasting system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |