KR102272335B1 - Method and server for providing contents through udp based multicast and user device - Google Patents
Method and server for providing contents through udp based multicast and user device Download PDFInfo
- Publication number
- KR102272335B1 KR102272335B1 KR1020150019320A KR20150019320A KR102272335B1 KR 102272335 B1 KR102272335 B1 KR 102272335B1 KR 1020150019320 A KR1020150019320 A KR 1020150019320A KR 20150019320 A KR20150019320 A KR 20150019320A KR 102272335 B1 KR102272335 B1 KR 102272335B1
- Authority
- KR
- South Korea
- Prior art keywords
- stream
- channel
- content
- multicast
- server
- Prior art date
Links
Images
Classifications
-
- H04L65/4076—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
서버에서 UDP 기반의 멀티캐스트로 컨텐츠를 제공하는 방법은 제 1 단말로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신하는 단계, 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성하는 단계, 제 2 스트림 ID를 멀티캐스트 네트워크로 전송하는 단계, 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성하는 단계 및 제 3 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 단계를 포함한다. A method for providing content by UDP-based multicast from a server includes receiving a first stream ID including a first channel ID from a first terminal, combining the first channel ID and the first content ID to provide a second stream ID generating a second stream ID, transmitting the second stream ID to the multicast network, generating a third stream ID by combining the first channel ID and the second content ID, and transmitting the third stream ID to the multicast network including the steps of
Description
본 발명은 UDP기반의 멀티캐스트로 컨텐츠를 제공하는 방법, 서버 그리고 사용자 단말에 관한 것이다. The present invention relates to a method for providing content through UDP-based multicast, a server, and a user terminal.
웹 서비스(Web Service)란, 서로 다른 기종의 정보시스템을 통합 및 연계하여 인터넷을 통해 다른 시스템에 존재하는 응용 소프트웨어도 자신의 것처럼 쉽게 호출해 이용할 수 있는 기술을 말한다. 웹 서비스 환경이 구축되면 단말기별로 필요한 소프트웨어를 설치할 필요없이 언제, 어디서나, 어떤 장비에서도 일관된 내용의 웹 서비스를 받을 수 있게 되며, 이러한 웹 서비스와 관련하여, 선행기술인 한국공개특허 제 2013-0015085호에는 웹서비스 관리시스템을 개시하고 있다. Web service refers to a technology that integrates and connects different types of information systems to easily call and use application software existing in other systems through the Internet as if it were one's own. When a web service environment is established, it is possible to receive web services with consistent content anytime, anywhere, on any device without the need to install necessary software for each terminal. Disclosed is a web service management system.
최근에는 HTTP2라는 새로운 프로토콜이 표준화로 지정되며, 서버 푸시를 통한 웹 페이지 로딩 시간 단축 효과가 기대되고 있다. 다만, HTTP2 프로토콜에서는 클라이언트가 요청한 각각의 웹 리소스(예를 들어, HTML 파일, 이미지 등)마다 유니크(Unique)한 스트림 ID를 할당하여 관리하기 때문에 동일한 패킷을 복수의 클라이언트에게 동시에 전송하는 멀티캐스트 응용이 어렵다는 단점이 존재한다. 예를 들어, HTTP 스트리밍의 경우, 동일한 웹 리소스(비디오 청크)도 클라이언트 별로 요청한 스트림 ID가 달라 멀티캐스트로 동시에 보낼 수가 없다.Recently, a new protocol called HTTP2 has been designated as standard, and the effect of reducing web page loading time through server push is expected. However, since the HTTP2 protocol allocates and manages a unique stream ID for each web resource (eg, HTML file, image, etc.) requested by the client, it is a multicast application that transmits the same packet to multiple clients at the same time. There is a drawback to this difficulty. For example, in the case of HTTP streaming, even the same web resource (video chunk) cannot be sent simultaneously through multicast because the stream ID requested by each client is different.
또한, 최근 TCP 수준의 신뢰성과 보안성을 제공하는 UDP 기반의 새로운 전송 프로토콜인 QUIC (Quick UDP Internet Connection) 이 개발되고 있어, 보다 빠른 웹 서비스의 제공에 활용될 전망이다. 기존 웹 서비스는 TCP를 전송 프로토콜로 사용해 왔지만, TCP는 신뢰성 있는 전송을 제공하는 반면, 웹 응답속도와 멀티미디어 서비스의 성능 향상에 걸림돌이 되어 왔다. 하지만 QUIC과 같은 UDP 기반의 전송 프로토콜이 웹 서비스에 활용될 수 있게 됨에 따라 향후 멀티캐스트 기반의 새로운 웹 서비스가 출현할 것으로 예상된다.In addition, QUIC (Quick UDP Internet Connection), a new UDP-based transport protocol that provides TCP-level reliability and security, has recently been developed, and is expected to be utilized to provide faster web services. Existing web services have used TCP as a transport protocol, but while TCP provides reliable transmission, it has become an obstacle to improving web response speed and performance of multimedia services. However, as UDP-based transport protocols such as QUIC can be used for web services, it is expected that new web services based on multicast will appear in the future.
멀티캐스트를 이용한 웹 미디어 서비스 전송으로 기존 HTTP 라이브 스트리밍과 같이 대규모 트래픽을 발생시키는 미디어 서비스들로 인한 네트워크 혼잡을 감소시키고 투자비를 절감하여 무선망 전송 효율을 향상시키고자 한다. 웹 미디어 서비스의 UDP 기반의 멀티캐스트 전송으로 응답 시간 단축, 클라이언트 간 동기화 등과 같은 미디어 서비스 품질을 향상시키고자 한다. HTTP2, SPDY 기반의 웹 서비스 환경에서 서버 푸시 등과 같은 신규 서비스에 적용하여 비즈니스 모델을 확장시키고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.Web media service transmission using multicast reduces network congestion due to media services that generate large-scale traffic, such as existing HTTP live streaming, and reduces investment costs to improve wireless network transmission efficiency. We aim to improve the quality of media services such as shortening of response time and synchronization between clients by using UDP-based multicast transmission of web media services. We want to extend the business model by applying it to new services such as server push in the HTTP2 and SPDY-based web service environment. However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는 제 1 단말로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신하는 단계, 상기 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성하는 단계, 상기 제 2 스트림 ID를 멀티캐스트 네트워크로 전송하는 단계, 상기 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성하는 단계 및 상기 제 3 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 단계를 포함하는 멀티캐스트로 컨텐츠를 제공하는 방법을 제공할 수 있다. As a technical means for achieving the above-described technical problem, an embodiment of the present invention includes the steps of receiving a first stream ID including a first channel ID from a first terminal, the first channel ID and the first content ID combining to generate a second stream ID; transmitting the second stream ID to a multicast network; generating a third stream ID by combining the first channel ID and a second content ID; It is possible to provide a method for providing content by multicast, including transmitting a stream ID to the multicast network.
또한, 본 발명의 다른 실시예는, 제 1 단말로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신하는 수신부, 상기 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성하는 스트림 ID 생성부 및 상기 제 2 스트림 ID를 멀티캐스트 네트워크로 전송하는 전송부를 포함하되, 상기 스트림 ID 생성부에서, 상기 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성하면, 상기 전송부는, 상기 제 3 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 것인 멀티캐스트로 컨텐츠를 제공하는 서버를 제공할 수 있다. In addition, another embodiment of the present invention is a receiver for receiving a first stream ID including a first channel ID from a first terminal, combining the first channel ID and the first content ID to generate a second stream ID A stream ID generating unit and a transmitting unit transmitting the second stream ID to a multicast network, wherein the stream ID generating unit generates a third stream ID by combining the first channel ID and the second content ID, The transmitting unit may provide a server that provides content through multicast that transmits the third stream ID to the multicast network.
또한, 본 발명의 또 다른 실시예는, 제 1 채널 ID를 포함하는 제 1 스트림 ID를 서버로 전송하는 스트림 ID 전송부, 상기 제 1 채널 ID의 세션을 오픈하는 세션 관리부, 멀티캐스트 네트워크로 IGMP 메시지를 전송하는 메시지 전송부, 멀티캐스트 네트워크로부터 상기 제 1 채널 ID와 제 1 컨텐츠 ID가 결합된 제 2 스트림 ID를 수신하는 스트림 ID 수신부, 상기 제 2 스트림 ID의 상기 제 1 채널 ID를 추출하는 추출부, 상기 제 2 스트림 ID에서 추출한 제 1 채널 ID가 상기 제 1 스트림 ID에 포함된 제 1 채널 ID와 동일한지 확인하는 확인부, 확인 결과, 상기 제 1 채널 ID가 동일한 경우, 상기 제 2 스트림 ID에 포함된 제 1 컨텐츠 ID를 통해 데이터를 수신하는 데이터 수신부를 포함하는 사용자 단말을 제공할 수 있다. In addition, another embodiment of the present invention provides a stream ID transmitter for transmitting a first stream ID including a first channel ID to a server, a session manager for opening a session of the first channel ID, and IGMP to a multicast network A message transmitting unit for transmitting a message, a stream ID receiving unit receiving a second stream ID in which the first channel ID and the first content ID are combined from a multicast network, and extracting the first channel ID of the second stream ID an extraction unit, a verification unit confirming whether the first channel ID extracted from the second stream ID is the same as the first channel ID included in the first stream ID; It is possible to provide a user terminal including a data receiver for receiving data through the first content ID included in the stream ID.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 멀티캐스트를 이용한 웹 미디어 서비스 전송으로 기존 HTTP 라이브 스트리밍과 같이 대규모 트래픽을 발생시키는 미디어 서비스들로 인한 네트워크 혼잡을 감소시키고 투자비를 절감하여 무선망 전송 효율을 향상시킬 수 있다. 웹 미디어 서비스의 UDP 기반의 멀티캐스트 전송으로 응답 시간 단축, 클라이언트 간 동기화 등과 같은 미디어 서비스 품질을 향상시킬 수 있다. HTTP2, SPDY 기반의 웹 서비스 환경에서 서버 푸시 등과 같은 신규 서비스에 적용하여 비즈니스 모델을 확장시킬 수 있다.According to any one of the above-described problem solving means of the present invention, network congestion due to media services that generate large-scale traffic such as existing HTTP live streaming by transmitting web media services using multicast is reduced and investment costs are reduced to reduce the wireless network Transmission efficiency can be improved. With UDP-based multicast transmission of web media service, it is possible to improve media service quality such as shortening of response time and synchronization between clients. In a web service environment based on HTTP2 and SPDY, the business model can be extended by applying it to new services such as server push.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 서버에서 UDP 기반의 멀티캐스트로 컨텐츠를 제공하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 사용자 단말에서 멀티캐스트로 데이터를 수신하는 과정을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 제공 방법을 나타낸 순서도이다. 1 is a block diagram of a content providing system according to an embodiment of the present invention.
2 is a configuration diagram of a server according to an embodiment of the present invention.
3 is a diagram for explaining a process of providing content through UDP-based multicast in a server according to an embodiment of the present invention.
4 is a block diagram of a user terminal according to an embodiment of the present invention.
5 is a flowchart illustrating a process of receiving data through multicast in a user terminal according to an embodiment of the present invention.
6 is a flowchart illustrating a content providing method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal or device in the present specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the server.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템의 구성도이다. 도 1을 참조하면, 컨텐츠 제공 시스템(1)은 서버(110) 및 복수의 사용자 단말(120)을 포함할 수 있다. 도 1에 도시된 서버(110) 및 복수의 사용자 단말(120)은 컨텐츠 제공 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다. 1 is a block diagram of a content providing system according to an embodiment of the present invention. Referring to FIG. 1 , the
도 1의 컨텐츠 제공 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 복수의 사용자 단말(120)은 네트워크를 통해 서버(110)와 연결될 수 있다. Each component of the
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예는, Wi-Fi, 블루투스(Bluetooth), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE 등이 포함되나 이에 한정되지는 않는다. The network refers to a connection structure in which information exchange is possible between each node, such as terminals and servers, and an example of such a network is Wi-Fi, Bluetooth, Internet, and Local Area (LAN). Network), Wireless Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), 3G, 4G, LTE, and the like.
일 실시예에서, 서버(110)는 사용자 단말(120)로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신할 수 있다. 제 1 스트림 ID는, 예를 들어, 31bit의 스트림 ID 중 기설정된 비트(예를 들어, 10bit)에 제 1 채널 ID를 포함하는 것일 수 있다. 그 후, 서버(110)는 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성하고, 생성한 제 2 스트림 ID와 제 1 채널에 해당하는 웹 리소스(비디오 청크)를 멀티캐스트 네트워크로 전송할 수 있다. 그 후, 서버(110)는 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성하고, 생성한 제 3 스트림 ID와 제 1 채널에 해당하는 다음 웹 리소스(비디오 청크)를 멀티캐스트 네트워크로 전송할 수 있다. 제 2 스트림 ID 및 제 3 스트림 ID는 총 31bit의 스트림 ID 중 기설정된 비트(예를 들어, 10bit)에 제 1 채널 ID를 포함하고, 기설정된 비트와 다른 비트(예를 들어, 21bit)에 제 1 컨텐츠 ID 또는 제 2 컨텐츠 ID를 포함하는 것일 수 있다. 예를 들어, 컨텐츠 ID는 홀수 또는 짝수만 사용될 수 있으며, 제 2 컨텐츠 ID는 제 1 컨텐츠 ID가 홀수로 증가된 값일 수 있다. In an embodiment, the
다른 실시예에서, 서버(110)는 사용자 단말(120)로부터 제 2 채널 ID를 포함하는 제 4 스트림 ID를 수신할 수 있다. 예를 들어, 서버(110)는 제 2 채널 ID와 제 3 컨텐츠 ID를 결합하여 제 5 스트림 ID를 생성하고, 생성한 제 5 스트림 ID와 제 2 채널에 해당하는 웹 리소스(비디오 청크)를 멀티캐스트 네트워크로 전송할 수 있다. 또한, 서버(110)는 제 2 채널 ID와 제 4 컨텐츠 ID를 결합하여 제 6 스트림 ID를 생성하고, 생성한 제 6 스트림 ID와 제 2 채널에 해당하는 다음 웹 리소스(비디오 청크)를 멀티캐스트 네트워크로 전송할 수 있다. 제 5 스트림 ID 및 제 6 스트림 ID는 총 31bit의 스트림 ID 중 기설정된 비트(예를 들어, 10bit)에 제 2 채널 ID를 포함하고, 기설정된 비트와 다른 비트(예를 들어, 21bit)에 제 3 컨텐츠 ID 또는 제 4 컨텐츠 ID를 포함하는 것일 수 있다. 예를 들어, 컨텐츠 ID는 홀수 또는 짝수만 사용될 수 있으며, 제 4 컨텐츠 ID는 제 3 컨텐츠 ID가 홀수로 증가된 값일 수 있다. In another embodiment, the
이 때, 서버(110)는 생성한 스트림 ID와 해당 채널의 웹 리소스(비디오 청크)를 5001과 같은 특정 UDP 포트를 통해 멀티캐스트 네트워크로 전송할 수 있다. In this case, the
사용자 단말(120)은 제 1 채널 ID를 포함하는 제 1 스트림 ID를 서버(110)로 전송(요청)할 수 있다. 예를 들어, 사용자 단말(120)은 제 1 채널의 시청을 요청할 경우에, 총 31bit 제 1 스트림 ID 중 10bit로 기설정된 제 1 채널 ID와 21bit의 0을 포함하는 제 1 스트림 ID를 서버(110)로 전송할 수 있다. The
그 후, 사용자 단말(120)은 제 1 채널 ID의 세션을 오픈하여 멀티캐스트 네트워크로 조인(join)하는 명령을 포함하는 IGMP 메시지를 전송할 수 있다. Thereafter, the
일 실시예(제 1 채널을 요청한 경우)에서, 사용자 단말(120)은 멀티캐스트 네트워크로부터 제 1 채널 ID와 제 1 컨텐츠 ID가 결합된 제 2 스트림 ID와 제 1 채널에 해당하는 웹 리소스(비디오 청크)를 수신할 수 있다. 사용자 단말(120)은 제 2 스트림 ID의 제 1 채널 ID를 추출하여 자신이 요청했던 제 1 스트림 ID에 포함된 제 1 채널 ID와 동일한지를 확인하고, 확인 결과, 제 1 채널 ID가 동일한 경우, 제 2 스트림 ID에 해당하는 웹 리소스(비디오 청크)를 수신할 수 있다. 그 후, 사용자 단말(120)은 멀티캐스트 네트워크로부터 제 1 채널 ID와 제 2 컨텐츠 ID가 결합한 제 3 스트림 ID를 수신할 수도 있다. 사용자 단말(120)은 제 3 스트림 ID의 제 1 채널 ID를 추출하여 자신이 요청했던 제 1 스트림 ID에 포함된 제 1 채널 ID와 동일한지를 확인하고, 확인 결과, 제 1 채널 ID가 동일한 경우, 제 3 스트림 ID에 해당하는 웹 리소스(비디오 청크)를 수신할 수 있다. 여기서, 제 2 컨텐츠 ID는 제 1 컨텐츠 ID 보다 홀수로 증가된 값일 수 있다. In an embodiment (when the first channel is requested), the
다른 실시예(제 2 채널을 요청한 경우)에서, 사용자 단말(120)이 제 2 채널 ID를 포함하는 제 4 스트림 ID를 서버로 전송(요청)한 경우, 사용자 단말(120)은 멀티캐스트 네트워크로부터 제 2 채널 ID와 제 3 컨텐츠 ID가 결합된 제 5 스트림 ID와 제 2 채널에 해당하는 웹 리소스(비디오 청크)를 수신할 수 있다. 사용자 단말(120)은 제 5 스트림 ID의 제 2 채널 ID를 추출하여 자신이 요청했던 제 4 스트림 ID에 포함된 제 2 채널 ID와 동일한지를 확인하고, 확인 결과, 제 2 채널 ID가 동일한 경우, 제 5 스트림 ID에 해당하는 웹 리소스(비디오 청크)를 수신할 수 있다. 그 후, 사용자 단말(120)은 멀티캐스트 네트워크로부터 제 2 채널 ID와 제 4 컨텐츠 ID가 결합된 제 6 스트림 ID를 수신할 수도 있다. 사용자 단말(120)은 제 6 스트림 ID의 제 2 채널 ID를 추출하여 자신이 요청했던 제 4 스트림 ID에 포함된 제 2 채널 ID와 동일한지를 확인하고, 확인 결과, 제 2 채널 ID가 동일한 경우, 제 6 스트림 ID에 해당하는 웹 리소스(비디오 청크)를 수신할 수 있다. 여기서, 제 4 컨텐츠 ID는 제 3 컨텐츠 ID 보다 홀수로 증가된 값일 수 있다. In another embodiment (when the second channel is requested), when the
도 2는 본 발명의 일 실시예에 따른 서버의 구성도이다. 도 2를 참조하면, 서버(110)는 수신부(210), 스트림 ID 생성부(220) 및 전송부(230)를 포함할 수 있다. 여기서, 사용자 단말(120)을 제 1 단말(120)로 칭하도록 하겠다. 2 is a configuration diagram of a server according to an embodiment of the present invention. Referring to FIG. 2 , the
수신부(210)는 제 1 단말(120)로부터 채널 ID를 포함하는 스트림 ID를 수신할 수 있다. 예를 들어, 수신부(210)는 제 1 단말(120)로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신할 수 있다. 또한, 수신부(210)는 제 1 단말(120)로부터 제 2 채널 ID를 포함하는 제 4 스트림 ID를 수신할 수도 있다. 이 때, 제 1 스트림 ID는 기설정된 비트(예를 들어, 10bit)에 제 1 채널 ID를 포함하고, 제 4 스트림 ID는 기설정된 비트에 제 2 채널 ID를 포함할 수 있다. The
스트림 ID 생성부(220)는 채널 ID와 컨텐츠 ID를 결합하여 스트림 ID를 생성할 수 있다. 예를 들어, 스트림 ID 생성부(220)는 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성할 수 있다. 제 2 스트림 ID는 기설정된 비트에 제 1 채널 ID를 포함하고, 기설정된 비트와 다른 비트에 제 1 컨텐츠 ID를 포함하는 것일 수 있다. 예를 들어, 스트림 ID 생성부(220)는 총 31bit의 스트림 ID에서 10bit의 기설정된 제 1 채널 ID와 21bit의 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성할 수 있다. The
또한, 스트림 ID 생성부(220)는 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성할 수 있다. 제 2 컨텐츠 ID는 제 1 컨텐츠 ID가 홀수로 증가된 값일 수 있다. 예를 들어, 10 bit의 제 1 채널 ID가 이진수로 "110101011"인 경우, 생성된 31bit의 스트림 ID 값은 10진수로 "1790967809~1795162111"사이의 값을 포함할 수 있다. Also, the
또는, 스트림 ID 생성부(220)는 제 2 채널 ID와 컨텐츠 ID를 결합하여 스트림 ID를 생성할 수 있다. 예를 들어, 스트림 ID 생성부(220)는 제 2 채널 ID와 제 3 컨텐츠 ID를 결합하여 제 5 스트림 ID를 생성할 수 있다. 예를 들어, 스트림 ID 생성부(220)는 총 31bit의 스트림 ID에서 10bit의 기설정된 제 2 채널 ID와 21bit의 제 3 컨텐츠 ID를 결합하여 제 5 스트림 ID를 생성할 수 있다. 또한, 스트림 ID 생성부(220)는 제 2 채널 ID와 제 4 컨텐츠 ID를 결합하여 제 6 스트림 ID를 생성할 수 있다. 여기서, 제 4 컨텐츠 ID는 제 3 컨텐츠 ID가 홀수로 증가된 값일 수 있다. Alternatively, the
전송부(230)는 서버(110)에서 생성된 스트림 ID와 해당 채널의 웹 리소스(비디오 청크)를 멀티캐스트 네트워크로 전송할 수 있다. 예를 들어, 전송부(230)는 5001과 같은 특정 UDP 포트를 통해 스트림 ID 생성부(220)에서 생성된 제 2 스트림 ID, 제 3 스트림 ID, 제 5 스트림 ID, 제 6 스트림 ID과 각각의 스트림 ID에 해당하는 웹 리소스(비디오 청크)를 멀티캐스트 네트워크로 전송할 수 있다. 이 때, HTTP의 경우, 신뢰성 있는 전송을 위해 QUIC(Quick UDP Internet Connection) 프로토콜을 이용할 수도 있다. The
도 3은 본 발명의 일 실시예에 따른 서버에서 HTTP 기반의 웹 리소스를 UDP 기반의 멀티캐스트로 제공하는 과정을 설명하기 위한 도면이다. 도 3을 참조하면, 복수의 사용자 단말(310 및 311)은 제 1 채널(301) 또는 제 2 채널(302)를 서버(320)로 요청할 수 있다. 예를 들어, 제 1 채널(301)의 경우, URL이 "XXX.com/playback?live_ch_1_1790967808"인 경우, 제 1 채널 ID는 "1790967808"를 이진수화한 "1101010110000000000000000000000"의 앞 10 bit에 해당하는 "1101010110"일 수 있다. 다른 예를 들어, 제 2 채널(302)의 경우, URL이 "XXX.com/playbkac?live_ch_2_2055208960"인 경우, 제 2 채널 ID는 "2055208960"를 이진수화한 "1111010100000000000000000000000"의 앞 10 bit에 해당하는 "1111010100"일 수 있다. 이와 같이, 사용자 단말(310 및 311)은 서버로부터 받은, 예를 들어, ".m3u8" 파일 내에 기재된 멀티캐스트 서비스 URL 정보를 이용해 서버로 해당 채널의 컨텐츠를 요청할 수 있다. 3 is a diagram for explaining a process of providing an HTTP-based web resource through UDP-based multicast in a server according to an embodiment of the present invention. Referring to FIG. 3 , the plurality of
예를 들어, 복수의 사용자 단말(310 및 311)은 서버(320)로 제 1 채널 ID(1101010110)를 포함하는 스트림 ID를 전송할 수 있다. 또한, 복수의 사용자 단말(310 및 311)은 서버(320)로 제 2 채널 ID(1111010100)를 포함하는 스트림 ID를 전송할 수 있다. 이 때, 복수의 사용자 단말(310 및 311)은 조인(join)하는 명령을 포함하는 IGMP 메시지를 멀티캐스트 네트워크로 전송할 수 있다. For example, the plurality of
서버(320)는 복수의 사용자 단말(310 및 311)로부터 채널 ID를 포함하는 스트림 ID를 수신하면, 해당 채널 ID와 컨텐츠 ID를 포함하는 스트림 ID를 생성하여 해당 웹 리소스를 멀티캐스트 네트워크로 전송할 수 있다. 예를 들어, 서버(320)는 제 1 채널 ID(330)인 1101010110와 첫번째 컨텐츠 ID를 결합한 제 1 스트림 ID(331, 1790967819), 제 1 채널 ID(330)인 1101010110와 두번째 컨텐츠 ID를 결합한 제 2 스트림 ID(332, 1790967821), 제 1 채널 ID(330)인 1101010110와 세번째 컨텐츠 ID를 결합한 제 3 스트림 ID(333, 1790967823)를 멀티캐스트 네트워크로 전송할 수 있다. 다른 예를 들어, 서버(320)는 제 2 채널 ID(340)인 1111010100과 첫번째 컨텐츠 ID를 결합한 제 4 스트림 ID(341, 2055209435), 제 2 채널 ID(340)인 1111010100과 두번째 컨텐츠 ID를 결합한 제 5 스트림 ID(342, 2055209437)를 멀티캐스트 네트워크로 전송할 수 있다. 여기서, 서버(320)에서 생성한 컨텐츠 ID는 홀수로 증가된 값일 수 있다. When the
도 4는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다. 도 4를 참조하면, 스트림 ID 전송부(410), 세션 관리부(420), 메시지 전송부(430), 스트림 ID 수신부(440), 추출부(450), 확인부(460) 및 데이터 수신부(470)를 포함할 수 있다. 4 is a block diagram of a user terminal according to an embodiment of the present invention. Referring to FIG. 4 , a
스트림 ID 전송부(410)는 채널 ID를 포함하는 스트림 ID를 서버(110)로 전송할 수 있다. 예를 들어, 스트림 ID 전송부(410)는 제 1 채널 ID를 포함하는 제 1 스트림 ID를 서버(110)로 전송할 수 있다. 또한, 스트림 ID 전송부(410)는 제 2 채널 ID를 포함하는 제 4 스트림 ID를 서버(110)로 전송할 수도 있다. 제 1 스트림 ID는 기설정된 비트에 제 1 채널 ID를 포함하며, 제 4 스트림 ID는 기설정된 비트에 제 2 채널 ID를 포함하는 것일 수 있다. 예를 들어, 제 1 스트림 ID 또는 제 4 스트림 ID는 총 31bit 중 채널 ID가 10bit로 기설정된 경우, 나머지 21bit 는 0으로 설정되어 서버(110)로 전송될 수 있다. The
세션 관리부(420)는 제 1 채널 ID의 세션을 오픈할 수 있다. 또한, 시청을 원하는 채널이 바뀐 경우, 세션 관리부(420)는 제 2 채널 ID의 세션을 오픈할 수도 있다. The
메시지 전송부(430)는 멀티캐스트 네트워크로 IGMP 메시지를 전송할 수 있다. 예를 들어, 메시지 전송부(430)는 조인(join) 명령을 포함하는 IGMP 메시지를 멀티캐스트 네트워크로 전송할 수 있다. The
스트림 ID 수신부(440)는 멀티캐스트 네트워크로부터 서버(110)에서 생성된 스트림 ID와 해당 채널의 웹 리소스를 수신할 수 있다. 예를 들어, 스트림 ID 수신부(440)는 제 1 채널 ID와 제 1 컨텐츠 ID가 결합된 제 2 스트림 ID와 해당 채널의 웹 리소스를 수신할 수 있다. 또한, 스트림 ID 수신부(440)는 멀티캐스트 네트워크로부터 제 1 채널 ID와 제 2 컨텐츠 ID가 결합된 제 3 스트림 ID와 해당 채널의 웹 리소스를 수신할 수 있다. 제 2 스트림 ID는 기설정된 비트에 제 1 채널 ID를 포함하고, 기설정된 비트와 다른 비트에 제 1 컨텐츠 ID를 포함하며, 제 3 스트림 ID는 기설정된 비트에 제 1 채널 ID를 포함하고, 기설정된 비트와 다른 비트에 제 2 컨텐츠 ID를 포함할 수 있다. The
시청을 원하는 채널이 제 2 채널로 바뀐 경우, 스트림 ID 수신부(440)는 제 2 채널 ID와 제 제 3 컨텐츠 ID가 결합된 제 5 스트림 ID와 해당 채널의 웹 리소스를 수신할 수 있다. 또한, 스트림 ID 수신부(440)는 제 2 채널 ID와 제 4 컨텐츠 ID가 결합된 제 6 스트림 ID와 해당 채널의 웹 리소스를 수신할 수 있다. 제 5 스트림 ID는 기설정된 비트에 제 2 채널 ID를 포함하고, 기설정된 비트와 다른 비트에 제 3 컨텐츠 ID를 포함하며, 제 6 스트림 ID는 기설정된 비트에 제 2 채널 ID를 포함하고, 기설정된 비트와 다른 비트에 제 4 컨텐츠 ID를 포함할 수 있다.When the desired channel is changed to the second channel, the
추출부(450)는 멀티캐스트 네트워크로부터 수신한 스트림 ID에 포함된 채널 ID를 추출할 수 있다. 예를 들어, 추출부(450)는 마스킹(Masking) 연산을 통해 제 2 스트림 ID의 제 1 채널 ID를 추출할 수 있으며, 또는 제 5 스트림 ID의 제 2 채널 ID를 추출할 수 있다. The
확인부(460)는 추출한 채널 ID가 사용자 단말(120)에서 서버(110)로 전송(요청)한 채널 ID와 동일한지를 확인할 수 있다. 예를 들어, 확인부(460)는 제 2 스트림 ID에서 추출한 제 1 채널 ID가 자신이 요청한 제 1 스트림 ID에 포함된 제 1 채널 ID와 동일한지를 확인할 수 있다. 또한, 확인부(460)는 제 5 스트림 ID에서 추출한 제 2 채널 ID가 자신이 요청한 제 4 스트림 ID에 포함된 제 2 채널 ID와 동일한지를 확인할 수 있다. The
데이터 수신부(470)는 확인결과, 채널 ID가 동일한 경우, 멀티캐스트 네트워크로부터 수신한 스트림 ID에 해당하는 웹 리소스를 수신할 수 있다. 예를 들어, 데이터 수신부(470)는 확인 결과, 제 1 채널 ID가 동일한 경우, 제 2 스트림 ID에 해당하는 웹 리소스를 수신할 수 있다. 또한, 데이터 수신부(470)는 제 5 스트림 ID에 해당하는 웹 리소스를 수신할 수 있다. As a result of checking, when the channel IDs are the same, the
즉, 확인부(460)는 스트림 ID 전송부(410)에서 전송한 채널 ID와 스트림 ID 수신부(440)에서 수신한 채널 ID가 동일한지 만을 확인하여 데이터를 수신할 수 있다. That is, the
도 5는 본 발명의 일 실시예에 따른 사용자 단말에서 멀티캐스트로 데이터를 수신하는 과정을 설명하기 위한 순서도이다. 도 5를 참조하면, 사용자 단말(120)에서 서버(110)로부터 스트림 ID를 수신하면(S510), 사용자 단말(120)은 스트림 ID를 비트 마스킹(Bit Masking) 연산할 수 있다(S520). 사용자 단말(120)은 수신한 스트림 ID가 자신이 요청한 멀티캐스트 스트림 ID인지를 확인할 수 있다(S530). 예를 들어, 사용자 단말(120)에서 수신한 스트림 ID가 멀티캐스트 스트림 ID가 아닌 것으로 확인된 경우(S531), 사용자 단말(120)은 해당 스트림 ID가 Open 상태 또는 Reserved 상태인지를 판단할 수 있다(S540). 이 때, 사용자 단말(120)은 해당 스트림 ID가 Open 상태 또는 Reserved 상태가 아닌 경우(S541), 해당 스트림 ID를 폐기하고(S550), 해당 스트림 ID가 Open 상태 또는 Reserved 상태인 경우(S542), 일반 스트림(푸시)을 수신할 수 있다(S560). 서버는 서버 푸시 서비스의 제공을 위해 멀티캐스트 주소로 주기적으로 푸시 프로미스(Push Promise) 프레임을 전송할 수 있다. 이 때, 서버는 이미 제공중인 멀티캐스트용 스트림 ID를 Reference ID로 사용할 수 있다. 서버는 푸시 프로미스 프레임 사이에 해당 스크린 ID로 푸시 컨텐츠들을 전송할 수 있다. 멀티캐스트 서비스를 제공받던 단말은 푸시 프로미스 프레임을 수신한 뒤, 이어서 푸시 컨텐츠를 수신할 수 있다. 5 is a flowchart illustrating a process of receiving data through multicast in a user terminal according to an embodiment of the present invention. Referring to FIG. 5 , when the
다른 예를 들어, 사용자 단말(120)에서 수신한 스트림 ID가 멀티캐스트 스트림 ID인 것으로 확인된 경우(S532), 사용자 단말(120)은 해당 멀티 캐스트 스트림 ID가 Open 상태 또는 Reserved 상태인지를 판단할 수 있다(S570). 이 때, 사용자 단말(120)은 해당 멀티캐스트 스트림 ID가 Open 상태 또는 Reserved 상태가 아닌 경우(S571), 해당 멀티캐스트 스트림 ID를 폐기하고(S550), 해당 멀티캐스트 스트림 ID가 Open 상태 또는 Reserved 상태인 경우(S572), 멀티캐스트 스트림을 수신할 수 있다(S580). For another example, if it is confirmed that the stream ID received from the
상술한 설명에서, 단계 S510 내지 S580은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S510 to S580 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed.
도 6은 본 발명의 일 실시예에 따른 컨텐츠 제공 방법을 나타낸 순서도이다. 도 6에 도시된 실시예에 따른 서버(110)에 의해 수행되는 UDP 기반의 멀티캐스트로 컨텐츠를 제공하는 방법은 도 1에 도시된 실시예에 따른 컨텐츠 제공 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1에 도시된 실시예에 따른 컨텐츠 제공 시스템(1)에 관하여 이미 기술된 내용은 도 6에 도시된 실시예에 따른 서버(110)에 의해 수행되는 UDP 기반의 멀티캐스트로 컨텐츠를 제공하는 방법에도 적용된다. 6 is a flowchart illustrating a content providing method according to an embodiment of the present invention. The method of providing content by UDP-based multicast performed by the
단계 S610에서 서버(110)는 제 1 단말로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신할 수 있다. 제 1 스트림 ID는 기설정된 비트에 제 1 채널 ID를 포함하는 것일 수 있다. 단계 S620에서 서버(110)는 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성할 수 있다. 제 2 스트림 ID는 기설정된 비트에 제 1 채널 ID를 포함하고, 기설정된 비트와 다른 비트에 제 1 컨텐츠 ID를 포함하는 것일 수 있다. 단계 S630에서 서버(110)는 제 2 스트림 ID와 해당하는 웹 리소스를 멀티캐스트 네트워크로 전송할 수 있다. 단계 S640에서 서버(110)는 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성할 수 있다. 제 2 컨텐츠 ID는 제 1 컨텐츠 ID가 증가된 값일 수 있다. 단계 S650에서 서버(110)는 제 3 스트림 ID와 해당하는 웹 리소스를 멀티캐스트 네트워크로 전송할 수 있다. In step S610, the
도 6에는 도시되지 않았으나, 서버(110)는 제 1 단말로부터 제 2 채널 ID를 포함하는 제 4 스트림 ID를 수신하는 단계, 제 2 채널 ID와 제 3 컨텐츠 ID를 결합하여 제 5 스트림 ID를 생성하는 단계, 제 5 스트림 ID와 해당하는 웹 리소스를 멀티캐스트 네트워크로 전송하는 단계, 제 2 채널 ID와 제 4 컨텐츠 ID를 결합하여 제 6 스트림 ID를 생성하는 단계 및 제 6 스트림 ID와 해당하는 웹 리소스를 멀티캐스트 네트워크로 전송하는 단계를 포함할 수 있다. 제 4 컨텐츠 ID는 제 3 컨텐츠 ID가 증가된 값일 수 있다. Although not shown in FIG. 6 , the
상술한 설명에서, 단계 S610 내지 S650은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S610 to S650 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed.
도 6을 통해 설명된 서버(110)에 의해 수행되는 HTTP 기반의 웹 리소스를 UDP 기반의 멀티캐스트로 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The method of providing an HTTP-based web resource in a UDP-based multicast manner performed by the
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.
110: 서버
120: 사용자 단말
210: 수신부
220: 스트림 ID 생성부
230: 전송부
410: 스트림 ID 전송부
420: 세션 관리부
430: 메시지 전송부
440: 스트림 ID 수신부
450: 추출부
460: 확인부
470: 데이터 수신부110: server
120: user terminal
210: receiver
220: Stream ID generator
230: transmission unit
410: stream ID transmitter
420: session management unit
430: message transmission unit
440: Stream ID receiver
450: extraction unit
460: confirmation unit
470: data receiving unit
Claims (17)
제 1 단말로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신하는 단계;
상기 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성하는 단계;
상기 제 2 스트림 ID를 멀티캐스트 네트워크로 전송하는 단계;
상기 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성하는 단계; 및
상기 제 3 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 단계
를 포함하는, 멀티캐스트로 컨텐츠를 제공하는 방법.
A method for providing content by UDP-based multicast from a server, the method comprising:
receiving a first stream ID including a first channel ID from a first terminal;
generating a second stream ID by combining the first channel ID and the first content ID;
transmitting the second stream ID to a multicast network;
generating a third stream ID by combining the first channel ID and the second content ID; and
transmitting the third stream ID to the multicast network;
A method of providing content in multicast, comprising a.
상기 제 2 컨텐츠 ID는 상기 제 1 컨텐츠 ID가 증가된 값인, 멀티캐스트로 컨텐츠를 제공하는 방법.
The method of claim 1,
wherein the second content ID is an increased value of the first content ID.
상기 제 1 단말로부터 제 2 채널 ID를 포함하는 제 4 스트림 ID를 수신하는 단계;
상기 제 2 채널 ID와 제 3 컨텐츠 ID를 결합하여 제 5 스트림 ID를 생성하는 단계;
상기 제 5 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 단계;
상기 제 2 채널 ID와 제 4 컨텐츠 ID를 결합하여 제 6 스트림 ID를 생성하는 단계; 및
상기 제 6 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 단계
를 더 포함하는, 멀티캐스트로 컨텐츠를 제공하는 방법.
The method of claim 1,
receiving a fourth stream ID including a second channel ID from the first terminal;
generating a fifth stream ID by combining the second channel ID and the third content ID;
transmitting the fifth stream ID to the multicast network;
generating a sixth stream ID by combining the second channel ID and the fourth content ID; and
transmitting the sixth stream ID to the multicast network;
A method of providing content by multicast further comprising a.
상기 제 4 컨텐츠 ID는 상기 제 3 컨텐츠 ID가 증가된 값인, 멀티캐스트로 컨텐츠를 제공하는 방법.
4. The method of claim 3,
wherein the fourth content ID is a value obtained by increasing the third content ID.
상기 제 1 스트림 ID는 기설정된 비트에 상기 제 1 채널 ID를 포함하는 것인, 멀티캐스트로 컨텐츠를 제공하는 방법.
The method of claim 1,
The method for providing content by multicast, wherein the first stream ID includes the first channel ID in a predetermined bit.
상기 제 2 스트림 ID는 기설정된 비트에 상기 제 1 채널 ID를 포함하고, 상기 기설정된 비트와 다른 비트에 상기 제 1 컨텐츠 ID를 포함하는 것인, 멀티캐스트로 컨텐츠를 제공하는 방법.
The method of claim 1,
The method for providing content by multicast, wherein the second stream ID includes the first channel ID in a preset bit and the first content ID in a bit different from the preset bit.
제 1 단말로부터 제 1 채널 ID를 포함하는 제 1 스트림 ID를 수신하는 수신부;
상기 제 1 채널 ID와 제 1 컨텐츠 ID를 결합하여 제 2 스트림 ID를 생성하는 스트림 ID 생성부; 및
상기 제 2 스트림 ID를 멀티캐스트 네트워크로 전송하는 전송부를 포함하되,
상기 스트림 ID 생성부에서, 상기 제 1 채널 ID와 제 2 컨텐츠 ID를 결합하여 제 3 스트림 ID를 생성하면,
상기 전송부는, 상기 제 3 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 것인, 멀티캐스트로 컨텐츠를 제공하는 서버.
A server that provides content through UDP-based multicast,
a receiver for receiving a first stream ID including a first channel ID from a first terminal;
a stream ID generator generating a second stream ID by combining the first channel ID and the first content ID; and
A transmitter for transmitting the second stream ID to a multicast network,
When the stream ID generating unit generates a third stream ID by combining the first channel ID and the second content ID,
The transmitting unit transmits the third stream ID to the multicast network.
상기 제 2 컨텐츠 ID는 상기 제 1 컨텐츠 ID가 증가된 값인, 멀티캐스트로 컨텐츠를 제공하는 서버.
8. The method of claim 7,
The second content ID is a value obtained by increasing the first content ID, the server providing content by multicast.
상기 수신부에서,
상기 제 1 단말로부터 제 2 채널 ID를 포함하는 제 4 스트림 ID를 수신하는 경우,
상기 스트림 ID 생성부는,
상기 제 2 채널 ID와 제 3 컨텐츠 ID를 결합하여 제 5 스트림 ID를 생성하고,
상기 전송부는,
상기 제 5 스트림 ID를 상기 멀티캐스트 네트워크로 전송하되,
상기 스트림 ID 생성부는,
상기 제 2 채널 ID와 제 4 컨텐츠 ID를 결합하여 제 6 스트림 ID를 생성하고,
상기 전송부는,
상기 제 6 스트림 ID를 상기 멀티캐스트 네트워크로 전송하는 것인, 멀티캐스트로 컨텐츠를 제공하는 서버.
8. The method of claim 7,
In the receiver,
When receiving the fourth stream ID including the second channel ID from the first terminal,
The stream ID generation unit,
generating a fifth stream ID by combining the second channel ID and the third content ID;
The transmission unit,
Transmitting the fifth stream ID to the multicast network,
The stream ID generation unit,
generating a sixth stream ID by combining the second channel ID and the fourth content ID;
The transmission unit,
The server for providing content by multicast, which transmits the sixth stream ID to the multicast network.
상기 제 4 컨텐츠 ID는 상기 제 3 컨텐츠 ID가 증가된 값인, 멀티캐스트로 컨텐츠를 제공하는 서버.
10. The method of claim 9,
The fourth content ID is a value obtained by increasing the third content ID, the server providing content through multicast.
상기 제 1 스트림 ID는 기설정된 비트에 상기 제 1 채널 ID를 포함하는 것인, 멀티캐스트로 컨텐츠를 제공하는 서버.
8. The method of claim 7,
The first stream ID includes the first channel ID in a predetermined bit, the server for providing content in multicast.
상기 제 2 스트림 ID는 기설정된 비트에 상기 제 1 채널 ID를 포함하고, 상기 기설정된 비트와 다른 비트에 상기 제 1 컨텐츠 ID를 포함하는 것인, 멀티캐스트로 컨텐츠를 제공하는 서버.
8. The method of claim 7,
The second stream ID includes the first channel ID in a preset bit, and includes the first content ID in a bit different from the preset bit, a server for providing content by multicast.
제 1 채널 ID를 포함하는 제 1 스트림 ID를 서버로 전송하는 스트림 ID 전송부;
상기 제 1 채널 ID의 세션을 오픈하는 세션 관리부;
멀티캐스트 네트워크로 IGMP 메시지를 전송하는 메시지 전송부;
멀티캐스트 네트워크로부터 상기 제 1 채널 ID와 제 1 컨텐츠 ID가 결합된 제 2 스트림 ID를 수신하는 스트림 ID 수신부;
상기 제 2 스트림 ID의 상기 제 1 채널 ID를 추출하는 추출부;
상기 제 2 스트림 ID에서 추출한 제 1 채널 ID가 상기 제 1 스트림 ID에 포함된 제 1 채널 ID와 동일한지 확인하는 확인부;
확인 결과, 상기 제 1 채널 ID가 동일한 경우, 상기 제 2 스트림 ID에 포함된 제 1 컨텐츠 ID를 통해 데이터를 수신하는 데이터 수신부를 포함하는, 사용자 단말.
A user terminal for receiving content through UDP-based multicast, comprising:
a stream ID transmitter for transmitting a first stream ID including a first channel ID to a server;
a session manager for opening a session of the first channel ID;
a message transmitter for transmitting an IGMP message to a multicast network;
a stream ID receiver configured to receive a second stream ID in which the first channel ID and the first content ID are combined from a multicast network;
an extraction unit for extracting the first channel ID of the second stream ID;
a checking unit that checks whether the first channel ID extracted from the second stream ID is the same as the first channel ID included in the first stream ID;
and a data receiver configured to receive data through a first content ID included in the second stream ID when the first channel ID is the same as a result of checking.
상기 스트림 ID 수신부는,
상기 멀티캐스트 네트워크로부터 상기 제 1 채널 ID와 제 2 컨텐츠 ID가 결합된 제 3 스트림 ID를 수신하는 것인, 사용자 단말.
14. The method of claim 13,
The stream ID receiving unit,
receiving a third stream ID in which the first channel ID and the second content ID are combined from the multicast network.
상기 스트림 ID 전송부는,
제 2 채널 ID를 포함하는 제 4 스트림 ID를 서버로 전송하면,
상기 세션 관리부는, 상기 제 2 채널 ID의 세션을 오픈하고,
상기 스트림 ID 수신부는, 상기 멀티캐스트 네트워크로부터 상기 제 2 채널 ID와 제 3 컨텐츠 ID가 결합된 제 5 스트림 ID를 수신하고,
상기 추출부는, 상기 제 5 스트림 ID의 상기 제 2 채널 ID를 추출하고,
상기 데이터 수신부는, 상기 제 5 스트림 ID에서 추출한 제 2 채널 ID가 상기 제 4 스트림 ID에 포함된 제 2 채널 ID와 대응하는 경우, 상기 제 5 스트림 ID에 포함된 제 3 컨텐츠 ID를 통해 데이터를 수신하되,
상기 스트림 ID 수신부는, 상기 멀티캐스트 네트워크로부터 상기 제 2 채널 ID와 제 4 컨텐츠 ID가 결합된 제 6 스트림 ID를 수신하는 것인, 사용자 단말.
14. The method of claim 13,
The stream ID transmission unit,
When the fourth stream ID including the second channel ID is transmitted to the server,
The session management unit opens a session of the second channel ID,
The stream ID receiver receives a fifth stream ID in which the second channel ID and the third content ID are combined from the multicast network,
The extraction unit extracts the second channel ID of the fifth stream ID,
The data receiver may be configured to receive data through a third content ID included in the fifth stream ID when the second channel ID extracted from the fifth stream ID corresponds to the second channel ID included in the fourth stream ID. receive,
The stream ID receiver may receive, from the multicast network, a sixth stream ID in which the second channel ID and the fourth content ID are combined.
상기 제 1 스트림 ID는 기설정된 비트에 상기 제 1 채널 ID를 포함하는 것인, 사용자 단말.
14. The method of claim 13,
The first stream ID includes the first channel ID in a predetermined bit, the user terminal.
상기 제 2 스트림 ID는 기설정된 비트에 상기 제 1 채널 ID를 포함하고, 상기 기설정된 비트와 다른 비트에 상기 제 1 컨텐츠 ID를 포함하는 것인, 사용자 단말.14. The method of claim 13,
The second stream ID includes the first channel ID in a preset bit, and includes the first content ID in a bit different from the preset bit, the user terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150019320A KR102272335B1 (en) | 2015-02-09 | 2015-02-09 | Method and server for providing contents through udp based multicast and user device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150019320A KR102272335B1 (en) | 2015-02-09 | 2015-02-09 | Method and server for providing contents through udp based multicast and user device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160097538A KR20160097538A (en) | 2016-08-18 |
KR102272335B1 true KR102272335B1 (en) | 2021-07-02 |
Family
ID=56874067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150019320A KR102272335B1 (en) | 2015-02-09 | 2015-02-09 | Method and server for providing contents through udp based multicast and user device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102272335B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102542430B1 (en) * | 2021-11-15 | 2023-06-13 | 국방과학연구소 | Apparatus for collecting event and method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130090103A (en) * | 2012-02-03 | 2013-08-13 | 사단법인한국디지털케이블연구원 | Digital cable broadcast settop box for mobile terminal, the system and transport method thereof |
KR101439329B1 (en) * | 2012-10-30 | 2014-09-11 | 주식회사 케이티 | Wireless gateway and method for watching iptv broadcast |
KR101451396B1 (en) * | 2013-02-07 | 2014-10-16 | 주식회사 케이티 | Home gateway device and method for providing iptv contents to mobile device |
-
2015
- 2015-02-09 KR KR1020150019320A patent/KR102272335B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160097538A (en) | 2016-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10034058B2 (en) | Method and apparatus for distributing video | |
EP2890133B1 (en) | System and method for distributing live broadcast content | |
CN101317404B (en) | Method and system for transmitting and negotiating band width economization ability by IP packet, and method and system for economizing network band width | |
CN110121059B (en) | Monitoring video processing method, device and storage medium | |
CN107948762B (en) | Live video transmission method, device and system | |
US20120140645A1 (en) | Method and apparatus for distributing video | |
CN101964785A (en) | Method, terminal and system for transmitting file between SIP (Session Initiation Protocol) terminals in NAT (Network Address Translation) network | |
US20100106962A1 (en) | Method, apparatus, and system for managing multimedia services | |
US8976716B2 (en) | Method, device, and conference system for processing media data packet | |
MXPA06000670A (en) | Method and system for providing a transmission link for streaming traffic. | |
US9686334B2 (en) | Transmission method for media data stream and thin client | |
CN110213334B (en) | Method and device for transmitting shared file | |
CN113475084A (en) | Multicast assisted delivery | |
CN111245733A (en) | Data transmission method and device | |
KR102272335B1 (en) | Method and server for providing contents through udp based multicast and user device | |
EP2890081A2 (en) | Aggregated adaptive bit rate streaming | |
CN112422395A (en) | Data transmission method, device, terminal equipment and storage medium | |
CN110391922B (en) | Version prompting method and device for service platform | |
CN109698859B (en) | Data storage method and device based on video network | |
CN109586851B (en) | Data transmission method and device based on video network | |
US10334086B2 (en) | Header redundancy removal for tunneled media traffic | |
CN110086772B (en) | Method and system for acquiring monitoring video | |
CN112165416A (en) | Networking and communication method and device | |
CN113098864B (en) | Data transmission system | |
KR20210131030A (en) | Apparatus, method and computer program for establishing connection between peer clients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |