KR20150141062A - Session management method and system for controlling data of multi-channel - Google Patents

Session management method and system for controlling data of multi-channel Download PDF

Info

Publication number
KR20150141062A
KR20150141062A KR1020140069579A KR20140069579A KR20150141062A KR 20150141062 A KR20150141062 A KR 20150141062A KR 1020140069579 A KR1020140069579 A KR 1020140069579A KR 20140069579 A KR20140069579 A KR 20140069579A KR 20150141062 A KR20150141062 A KR 20150141062A
Authority
KR
South Korea
Prior art keywords
session
data
command
client
control
Prior art date
Application number
KR1020140069579A
Other languages
Korean (ko)
Other versions
KR102199471B1 (en
Inventor
조성봉
이정훈
신재영
Original Assignee
한화테크윈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한화테크윈 주식회사 filed Critical 한화테크윈 주식회사
Priority to KR1020140069579A priority Critical patent/KR102199471B1/en
Publication of KR20150141062A publication Critical patent/KR20150141062A/en
Application granted granted Critical
Publication of KR102199471B1 publication Critical patent/KR102199471B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Disclosed are a session management method for controlling data of a plurality of channels, and a system thereof. To this end, each session transmitting data of each channel, is grouped, and a control session transceiving a data control command representing the grouped session, is set. Also, data, which is transmitted through each session in the session group, is disposed in a particular order to transmit the same to a client through one single session, thereby minimizing a time delay generated when the data of each channel is controlled at a time, and managing a bandwidth only through one single session.

Description

복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템 {Session management method and system for controlling data of multi-channel}[0001] Session management method and system for controlling data of a plurality of channels [0002]

복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템에 관한 것으로, 구체적으로는 복수 개의 세션을 통해 복수 개의 채널의 데이터를 송수신하는 서버와 클라이언트간에 생성된 복수 개의 세션을 제어 및 관리하는 방법에 관한 것이다.More particularly, the present invention relates to a method and system for controlling and managing a plurality of sessions created between a server for transmitting and receiving data of a plurality of channels through a plurality of sessions and a client .

스트리밍이란, 인터넷에서 영상이나 음향·애니메이션 등의 파일을 하드디스크 드라이브 등 저장장치에 다운로드를 완료하여 재생하던 종래 방식을 벗어나, 다운로드를 진행하면서 실시간으로 재생하는 기법이다.Streaming refers to a technique of playing back files in real time while downloading, out of the conventional method in which files such as video, sound, and animation are downloaded from the Internet to a storage device such as a hard disk drive and played back.

스트리밍 기법을 적용하여 영상, 음성 정보를 서비스해주는 장치들이 많아지고 있으며, 특히 보안기기나 감시장비에 있어서는 이를 더욱 개선하여 하나의 클라이언트가 하나의 서버로부터 여러 채널의 영상을 실시간으로 수신할 수 있게 되었다.Especially, in a security device or a surveillance device, a single client can receive images of a plurality of channels in real time from one server.

도 1은 16개의 채널의 영상을 저장하고 전송하는 DVR(Digital Video Recorder) 장치에 있어서, 클라이언트의 한 화면에 16개의 채널의 영상이 모두 출력되는 것을 개략적으로 나타낸 것이다.FIG. 1 is a schematic view illustrating a DVR (Digital Video Recorder) device for storing and transmitting images of 16 channels, in which images of 16 channels are output on one screen of a client.

이때 DVR 서버가 제공하는 영상이 외부 카메라 장치 등에 의해 실시간으로 기록되고 있는 것이라면 클라이언트에서는 FREEZE 기능을 이용하여 영상을 정지하거나, 영상을 계속 수신할 수 있는 2가지의 영상 스트림 제어를 사용할 수 있고, 서버가 제공하는 영상이 서버에 저장되어 있던 영상이라면 재생, 정지, 앞으로, 뒤로, 한 프레임씩 앞으로 또는 뒤로, 또는 빠르게 재생, 느리게 재생 등의 다양한 재생 제어 명령을 클라이언트에서 내릴 수 있다.At this time, if the video provided by the DVR server is being recorded in real time by an external camera device or the like, the client can use the FREEZE function to stop the video or use two video stream controls that can continuously receive the video, If the image provided by the server is an image stored in the server, various playback control commands such as playback, stop, forward, backward, forward or backward by one frame, or fast playback or slow playback can be issued from the client.

즉, 스트리밍 기법에서의 실시간이란, 전송되는 데이터가 실시간으로 기록되고 있는 것을 의미하는 것이 아니고, 전송되는 데이터의 일부만을 가지고도 클라이언트에서 이를 재생하고 제어하는 것이 가능하다는 것을 의미한다.That is, the real time in the streaming technique does not mean that the transmitted data is recorded in real time, but it means that it is possible for the client to reproduce and control it only with a part of the transmitted data.

서버와 클라이언트간에 한 개의 채널의 데이터가 전송되기 위해서는 서버와 클라이언트간의 논리적 연결로서, 세션(Session)이 생성되어 있어야 하며, 종래에는 채널마다 관리를 용이하게 하기 위해서 한 개의 세션에 통해 한 개의 채널의 데이터를 송수신하는 것이 일반적이었으나, 보안기기, 감시장비의 효율성을 극대화하기 위해 여러 개의 채널(Multi Channels)의 영상이 하나의 클라이언트에서 재생되어야 할 때에는 세션의 숫자와 채널의 숫자가 일치하지 않게 되므로, 이처럼 복수 개의 세션을 통해 복수 개의 채널의 데이터가 서버와 클라이언트간에 송수신될 때, 세션을 효율적으로 제어 및 관리하는 방법이 요구된다.In order to transfer data of one channel between a server and a client, a session must be created as a logical connection between the server and the client. Conventionally, in order to facilitate management for each channel, In order to maximize the efficiency of security devices and surveillance devices, when the images of multiple channels are to be played back in one client, the number of sessions and the number of channels do not match, When data of a plurality of channels is transmitted and received between a server and a client through a plurality of sessions, a method for efficiently controlling and managing sessions is required.

(특허문헌 0001) 국내등록특허 제0823904호(Patent Document 0001) Domestic Registration No. 0823904

본 발명이 해결하고자 하는 기술적 과제는 데이터 제어 명령이 세션마다 전달되면서 발생하는 시간지연을 방지하고, 서버와 클라이언트간의 생성된 복수 개의 세션의 대역폭 관리를 용이하게 하는, 복수 개의 채널의 데이터를 송수신하는 서버와 클라이언트간의 복수 개의 세션의 관리 방법 및 시스템을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention is directed to a system and method for transmitting and receiving data of a plurality of channels, And a method and system for managing a plurality of sessions between a server and a client.

상기의 기술적 과제를 해결하기 위한 본 발명의 제 1실시예는 서버와 클라이언트간에 복수 개의 세션이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법에 있어서, 상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 세션 그룹에 포함된 복수 개의 세션 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 통상 세션을 묶어서 세션 그룹으로 설정하는 세션 제어 단계; 및 상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹내의 각 세션을 통해 상기 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신하는 데이터 제어 단계;를 포함한다.According to a first aspect of the present invention, there is provided a method of managing a plurality of sessions between a server and a client, The method comprising the steps of: receiving a session group command including identification information of a control session and identification information of at least one normal session from the client, A session control step of setting a session corresponding to identification information of the control session among a plurality of included sessions as a control session and grouping the control session and the normal session into a session group; And receiving a data control command from the client through the control session and transmitting a response to the data control command via the control session, And a data control step of transmitting the data of the channel to the client.

상기의 기술적 과제를 해결하기 위한 본 발명의 제 2실시예는 서버와 클라이언트간에 복수 개의 세션이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템에 있어서, 상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 세션 그룹에 포함된 복수 개의 세션 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 통상 세션을 묶어서 세션 그룹으로 설정하는 세션 제어부; 및 상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹내의 각 세션을 통해 상기 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신하는 데이터 제어부;를 포함한다.According to a second aspect of the present invention, there is provided a method of managing a plurality of sessions between a server and a client, A session management system for controlling data of a plurality of channels, the system comprising: a receiving unit for receiving a session group command including identification information of a control session and identification information of at least one normal session from the client, A session control unit setting a session corresponding to identification information of the control session among a plurality of included sessions as a control session and grouping the control session and the normal session into a session group; And receiving a data control command from the client through the control session and transmitting a response to the data control command via the control session, And a data control unit for transmitting the data of the channel to the client.

본 발명의 세션 관리 방법에 의하면, 서버와 클라이언트간에 형성되어 있는 복수 개의 세션의 전부 또는 일부를 그룹화하고 그룹화된 세션 중 어느 하나의 세션을 제어 세션으로 설정하여 클라이언트로부터 제어 세션을 통해서 세션 그룹에 의해 송수신되는 데이터를 제어함으로써, 세션별 반복적인 명령 전달로 인해 발생하는 시간 지연을 방지할 수 있다.According to the session management method of the present invention, all or a part of a plurality of sessions formed between a server and a client are grouped, and any one of the grouped sessions is set as a control session, By controlling data to be transmitted and received, it is possible to prevent a time delay caused by repeated command transmission per session.

또한, 세션 그룹내 복수 개의 세션을 하나의 세션으로 통합함으로써, 대역폭의 관리를 하나의 세션에서 처리할 수 있다.In addition, by consolidating a plurality of sessions in a session group into one session, bandwidth management can be handled in one session.

도 1은 16개의 채널의 영상을 저장하고 전송하는 DVR(Digital Video Recorder) 장치에 있어서, 클라이언트의 한 화면에 16개의 채널의 영상이 모두 출력되는 것을 개략적으로 나타낸 것이다.
도 2는 본 발명의 실시 예 중 하나인 RTSP/RTP 를 이용하여 서버와 클라이언트간의 데이터를 전송하고 제어하는 과정을 개략적으로 나타낸 것이다.
도 3a는 본 발명의 따른 데이터를 송수신하는 복수 개의 서버와 한 개의 클라이언트를 나타낸 블록도이다.
도 3b는 본 발명의 일 실시 예에 따른 데이터를 송수신하는 한 개의 NVR(Network Video Recorder) 서버와 한 개의 네트워크 클라이언트를 나타낸 블록도이다.
도 4a, 4b, 및 4c는 기존의 RTSP의 표준 프로토콜을 이용하여 미디어 데이터를 전송하는 방식을 도식적으로 나타낸다.
도 5는 본 발명의 실시 예 중 하나인 세션 그룹(Session Group)명령에 따른 서버와 클라이언트간의 세션 상태의 변경을 도식적으로 나타낸다.
도 6은 복수 개의 채널(Multi Channels)의 데이터가 송수신될 때의 서버와 클라이언트간에 생성된 복수 개의 세션 그룹을 나타낸다.
도 7은 본 발명의 실시 예 중 하나인 세션 머지(Session Merge)명령에 따른 서버와 클라이언트간의 세션 상태의 변경을 도식적으로 나타낸다.
도 8a는 서버와 클라이언트 간의 4개의 세션에 세션 그룹 명령이 적용된 세션의 상태를 개략적으로 나타낸다.
도 8b는 도8a의 세션 상태에서, RTSP 명령어로 구성된 세션 머지 명령이 적용되어 세션 그룹 내의 4개의 세션이 하나의 세션으로 통합된 모습을 개략적으로 나타낸다.
도 9는 세션 그룹 명령, 세션 디그룹 명령, 세션 머지 명령 및 세션 디머지 명령이 내려지는 순서를 나타낸 순서도이다.
도 10은 본 발명의 실시 예 중 하나로서, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템의 개략적인 블록도이다.
FIG. 1 is a schematic view illustrating a DVR (Digital Video Recorder) device for storing and transmitting images of 16 channels, in which images of 16 channels are output on one screen of a client.
FIG. 2 is a schematic view illustrating a process of transmitting and controlling data between a server and a client using RTSP / RTP, which is one embodiment of the present invention.
FIG. 3A is a block diagram illustrating a plurality of servers and a client for transmitting and receiving data according to the present invention.
FIG. 3B is a block diagram illustrating one network video recorder (NVR) server and one network client for transmitting and receiving data according to an exemplary embodiment of the present invention.
4A, 4B, and 4C schematically illustrate a method of transmitting media data using a conventional RTSP standard protocol.
FIG. 5 schematically illustrates a change in session state between a server and a client according to a Session Group command, which is one embodiment of the present invention.
FIG. 6 shows a plurality of session groups generated between a server and a client when data of a plurality of channels (Multi Channels) is transmitted and received.
FIG. 7 schematically illustrates a change in session state between a server and a client in accordance with one of the embodiments of the present invention, a session merge command.
8A schematically shows the state of a session in which a session group command is applied to four sessions between a server and a client.
FIG. 8B schematically shows that, in the session state of FIG. 8A, a session merge command configured with an RTSP instruction is applied to integrate four sessions in a session group into one session.
FIG. 9 is a flowchart showing the order in which a session group command, a session D group command, a session merge command, and a session dimmer command are issued.
10 is a schematic block diagram of a session management system for controlling data of a plurality of channels as one embodiment of the present invention.

이하 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the same components of the drawings are denoted by the same reference numerals and signs as possible even if they are shown on different drawings.

본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대해 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하거나 간략하게 설명하는 것으로 한다. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

한편, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.On the other hand, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

후술하는 개념 중 데이터는 서버와 클라이언트간에 전송되는 객체를 총괄하는 개념이고, 미디어 데이터(Media Data)는 각종 데이터 중 비디오 또는 오디오 데이터로 한정하는 하위 개념이다. 또한, 미디어 스트리밍 데이터(Media Streaming Data)는 이를 수신하는 클라이언트측에서 수신을 완료하기 전이라도 수신된 데이터의 일부에 대해서도 재생이 가능한 것으로서, 미디어 데이터를 한정하는 하위 개념이다.Among the concepts to be described later, data refers to a concept of collecting objects transmitted between a server and a client, and media data is a sub-concept defining video or audio data among various data. In addition, the media streaming data is a sub-concept of limiting the media data, which is reproducible for a part of the received data even before completion of reception at the client side receiving the media streaming data (Media Streaming Data).

후술하는 서버는 비디오와 오디오를 포함하는 각종 미디어 데이터를 저장 및 전송할 수 있는 장치로서 DVR, NVR, IP Camera 시스템에서의 서버 또는 기지국으로 대체될 수 있고, 클라이언트는 비디오와 오디오를 포함하는 각종 미디어 데이터를 수신 및 재생할 수 있는 장치로서 DVR, NVR, IP Camera 시스템에서의 클라이언트 또는 단말기로 대체될 수 있다.The server described later can be replaced with a server or a base station in a DVR, an NVR, or an IP camera system as a device capable of storing and transmitting various media data including video and audio, and a client can store various media data including video and audio And can be replaced with a DVR, a NVR, a client or a terminal in the IP Camera system.

RTSP(Real Time Streaming Protocol)이란, 실시간으로 송수신되는 데이터에 관한 규약으로서, 재생, 일시정지, 빨리감기, 되감기, 재생 위치 변경 명령과 같은 데이터를 제어하기 위한 방법을 제공한다.RTSP (Real Time Streaming Protocol) is a protocol relating to data transmitted and received in real time, and provides a method for controlling data such as playback, pause, fast forward, rewind, and playback position change command.

RTP(Real time Transport Protocol)이란, 실시간으로 송수신되는 데이터의 전송 규약으로서, 특히 '비디오 또는 오디오 데이터를 포함하는 미디어 데이터(Media Data)'(이하, 미디어 데이터)를 전송하기 위한 규약이다.The RTP (Real Time Transport Protocol) is a protocol for transmitting and receiving real-time data, and is a protocol for transmitting media data (hereinafter, referred to as media data) including video or audio data.

RTCP(Real Time Transport Control Protocol)란, RTP 데이터 전송 상태를 감시하고, 세션 관련 정보 전송을 위한 프로토콜로서, 세션 내 모든 수신부에 주기적으로 제어 패킷을 전송하여 궤환되는 데이터로부터 QoS(Quality of Service) 모니터링을 수행하고 수신단측의 전송률을 계산하는 등, RTP에 대한 흐름 제어(Flow Control)를 위해 사용된다.The RTCP (Real Time Transport Control Protocol) is a protocol for monitoring the RTP data transmission state and transmitting session related information. The RTCP is a protocol for periodically transmitting control packets to all receivers in a session, And calculates the transmission rate at the receiving end, and is used for flow control for RTP.

RTSP 및 RTP의 데이터 전송 표준으로는 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 중 어느 하나를 사용할 수 있으며, 이에 대해서는 도 4a와 함께 후술한다. 이후부터는 명세서 내에서 중복 표기를 최소화하기 위해 RTSP/RTP/TCP, RTSP/RTP/UDP 라고 기재할 수 있고, 전자는 TCP 데이터 전송 표준으로서, 데이터 제어 규약은 RTSP, 데이터 전송 규약은 RTP를 따른다는 것이며, 후자는 데이터 전송 표준으로 UDP를 이용한다는 것 외에 나머지 부분은 전자와 같다. RTCP는 RTP를 그대로 따르므로, 특별히 추가로 설명하지 않는다면 RTP와 동일한 조건으로 본다.As the data transmission standard of RTSP and RTP, either Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) can be used, which will be described later with reference to FIG. 4A. RTSP / RTP / TCP, RTSP / RTP / UDP, and the former are TCP data transmission standards, the data control protocol is RTSP, and the data transmission protocol is RTP in order to minimize duplication in the specification. The latter uses UDP as the data transmission standard, and the remainder is the former. Since RTCP follows RTP as it is, it is regarded as the same condition as RTP unless otherwise explained.

도 2는 본 발명의 실시 예 중 하나인 RTSP/RTP를 이용하여 서버와 클라이언트간의 미디어 데이터를 전송하고 제어하는 과정을 개략적으로 나타낸 것이다. FIG. 2 is a schematic view illustrating a process of transmitting and controlling media data between a server and a client using RTSP / RTP, which is one embodiment of the present invention.

각 단계는 데이터 전송 상태 감시 단계(S205)를 제외하고, 클라이언트가 먼저 서버에게 명령을 내리면 그에 대해 서버가 응답하는 형태로 진행된다.In each step, except for the data transmission state monitoring step (S205), if the client issues a command to the server first, the server responds to the command.

먼저, 클라이언트가 서버에서 제공하는 명령을 획득하기 위해 서버에 명령을 내리고 서버가 그에 대해 응답하는 명령어 획득 단계(S201)가 수행된다. 클라이언트가 서버로 전송하는 명령의 일 예로서, RTSP의 OPTION 명령이 사용될 수 있다.First, an instruction acquisition step (S201) is performed in which the client issues a command to the server to acquire the command provided by the server and the server responds to the command. As an example of the command that the client sends to the server, the OPTION command of RTSP may be used.

그 다음에는, 클라이언트가 서버가 가지고 있는 데이터 정보를 획득하기 위해 서버에 명령을 내리고 서버가 그에 대해 응답하는 데이터 정보 획득 단계(S202)가 수행된다. 서버가 가지고 있는 데이터 정보의 예로서는, 미디어 파일의 해상도(resolution), 코덱(Codec), 프레임 레이트(frame rate), 비트 레이트(bit rate), 오디오 정보 등을 들 수 있으며, 클라이언트가 서버가 가지고 있는 데이터 정보를 획득하기 위해 내리는 명령의 일 예로서, RTSP의 DESCRIBE 명령이 사용될 수 있다.Next, a data information acquisition step (S202) is performed in which the client issues a command to the server to acquire data information held by the server and the server responds thereto. Examples of the data information that the server has include resolution of a media file, codec, frame rate, bit rate, audio information, and the like. As an example of an instruction to obtain data information, the DESCRIBE command of RTSP may be used.

그 후, 클라이언트는 데이터를 전송하는 서버와 수신하려는 클라이언트간에 세션(Session)을 생성하기 위한 명령을 서버에 전달하고 서버가 해당 명령을 승인하여 세션을 생성하는 세션 생성 단계(S203)가 수행된다. 클라이언트가 데이터를 전송하는 서버에 세션을 생성하기 위해 내리는 명령의 일 예로서, RTSP의 SETUP 명령이 사용될 수 있다.Thereafter, the client transmits a command for creating a session between the server transmitting the data and the client to be received to the server, and a session creation step (S203) is performed in which the server accepts the command and creates a session. As an example of a command that a client sends to a server that sends data to create a session, the SETUP command of RTSP may be used.

세션이 생성된 후 클라이언트로부터 데이터 전송 명령을 전달받으면 서버가 이를 승인하는 데이터 전송 요청 단계(S204)가 수행되며 이는 RTSP의 PLAY 명령에 해당할 수 있다. 서버가 클라이언트의 데이터 전송 요청을 승인하고, 그 직후 RTP에 따라 클라이언트로 데이터를 전송하면, 서버측에서는 클라이언트측의 전송률을 계산하고, QoS(Quality of Service)를 모니터링하기 위해, 클라이언트로부터 RTCP에 의한 궤환(Feedback) 데이터를 수신하는 데이터 전송 상태 감시 단계(S205)를 순차적으로 진행한다.After receiving the data transmission command from the client after the session is created, a data transmission request step (S204) is performed in which the server approves the data transmission command, which corresponds to the PLAY command of the RTSP. When the server approves the data transmission request of the client and then transmits the data to the client according to the RTP, the server side calculates the transmission rate of the client side and monitors the quality of service (QoS) And a data transmission state monitoring step (S205) for receiving feedback data.

클라이언트로부터 데이터 전송을 정지하거나, 세션을 종료하라는 명령을 전달받고, 서버가 응답하는 전송 정지 요청 단계(S206) 및 세션 종료 요청 단계(S207)가 수행될 수 있으며, 클라이언트로부터 데이터 전송을 정지를 요청하는 일 예로서, RTSP의 PAUSE명령이, 클라이언트로부터 세션을 종료하라는 명령을 전달받는 일 예로서, RTSP의 TEARDOWN 명령이 사용될 수 있다.A transmission stop request step (S206) and a session end request step (S207) in which the server responds can be performed, and a request to stop the data transmission from the client As an example of the case, the TEARDOWN command of the RTSP may be used as an example in which the PAUSE command of the RTSP receives an instruction to terminate the session from the client.

도 3a는 본 발명의 따른 데이터를 송수신하는 복수 개의 서버와 한 개의 클라이언트를 나타낸 블록도이다.FIG. 3A is a block diagram illustrating a plurality of servers and a client for transmitting and receiving data according to the present invention.

도 3a를 참조하면, 제1서버(310a)는 레코더(315a), 데이터 저장 장치(320a), 네트워크 클라이언트 관리부(325a), RTSP 송수신부(330a), RTP 송수신부(335a)를 포함하며, 클라이언트(350a)는 채널 제어 관리부(355a), RTSP/RTP 데이터 송수신부 2개(위로부터 각각 360a, 365a)를 포함한다.3A, the first server 310a includes a recorder 315a, a data storage 320a, a network client management unit 325a, an RTSP transmission / reception unit 330a, and an RTP transmission / reception unit 335a. (350a) includes a channel control management unit 355a, and two RTSP / RTP data transmission / reception units (360a and 365a from the top).

레코더(315a)는 서버와 유선 또는 무선으로 연결된 카메라(미도시)로부터 데이터를 전송받고, 이를 저장시키기 위해 데이터 저장 장치(320a)로 전송한다.The recorder 315a receives data from a camera (not shown) connected to the server through a wired or wireless connection, and transmits the data to the data storage device 320a for storage.

데이터 저장 장치(320a)는 카메라로부터 실시간으로 입력되는 데이터를 영상파일 형태로 저장하거나, 외부 저장 장치로부터 데이터를 전송받아 저장한다.The data storage device 320a stores data inputted from a camera in real time in the form of an image file, or receives and stores data from an external storage device.

네트워크 클라이언트 관리부(325a)는 불필요한 데이터 프레임의 전송을 막거나, 동일 데이터의 중복 처리를 방지하는 방식으로 서버와 클라이언트간의 생성되는 세션의 대역폭을 조정한다.The network client management unit 325a adjusts the bandwidth of a session created between the server and the client in a manner to prevent transmission of unnecessary data frames or prevent duplication of the same data.

RTSP 송수신부(330a)는 클라이언트로부터 RTSP 명령을 수신하여 처리하며, RTP 송수신부(335a)는 클라이언트로 송수신할 RTP 데이터를 처리한다.The RTSP transmitting / receiving unit 330a receives and processes the RTSP command from the client, and the RTP transmitting / receiving unit 335a processes the RTP data to be transmitted / received to / from the client.

그 외 제2서버(3101a) 내지 제n번째(310na) 서버까지, 서버의 개수는 복수 개가 될 수 있으며, 각 서버는 제1서버(310a)와 같은 구성을 포함한다.In addition, the number of servers from the second server 3101a to the n-th (310na) server may be plural, and each server includes the same configuration as the first server 310a.

채널 제어 관리부(355a)는 네트워크 클라이언트 관리부(325a)와 연동하여 서버(310a)로부터 수신하는 각 채널의 데이터를 관리한다.The channel control management unit 355a manages data of each channel received from the server 310a in cooperation with the network client management unit 325a.

RTSP/RTP 데이터 송수신부(위로부터 각각 360a, 365a)는 RTSP 송수신부(330a)와 RTP 송수신부(335a)와 연결되어 RTSP 명령, RTP 데이터를 송수신한다. RTSP/RTP 송수신부의 개수는, 설명의 편의를 위해서 2개로 표시한 것일 뿐, 서버에서 송신하는 채널의 수에 따라 변동될 수 있다.The RTSP / RTP data transmission / reception units 360a and 365a are connected to the RTSP transmission / reception unit 330a and the RTP transmission / reception unit 335a to transmit and receive RTSP commands and RTP data. The number of RTSP / RTP transmission / reception units is indicated by two for convenience of explanation, and may be changed according to the number of channels transmitted from the server.

도 3b는 본 발명의 일 실시 예에 따른 데이터를 송수신하는 한 개의 NVR(Network Video Recorder) 서버와 한 개의 네트워크 클라이언트를 나타낸 블록도이다.FIG. 3B is a block diagram illustrating one network video recorder (NVR) server and one network client for transmitting and receiving data according to an exemplary embodiment of the present invention.

도 3b를 참조하면, NVR서버(310b)는 레코더(315b)와, 데이터 저장장치(320b)와 클라이언트 대역폭 관리부(325b)와 RTSP/RTP 관리부(330b)를 포함하며, 네트워크 클라이언트(350b)는 채널 제어 관리부(355b)와 다수의 RTSP/RTP 송수신부를 포함한다. 명세서의 간명화를 위해서 도 3a에서 설명했던 구성에 대해서는 설명을 생략한다.3B, the NVR server 310b includes a recorder 315b, a data storage device 320b, a client bandwidth manager 325b, and an RTSP / RTP manager 330b. The network client 350b includes a channel Control management unit 355b and a plurality of RTSP / RTP transceivers. The description of the configuration described in FIG. 3A is omitted for the sake of simplification of the description.

클라이언트 대역폭 관리부(325b)는 채널 제어 관리부(355b)와 네트워크로 연결되어, 서버와 클라이언트간에 생성된 세션에 대한 정보를 받고, 대역폭을 관리한다.The client bandwidth management unit 325b is connected to the channel control management unit 355b through a network, receives information on a session created between the server and the client, and manages the bandwidth.

RTSP/RTP 관리부(330b)는 데이터 저장 장치로부터 데이터를 전송받아서, 네트워크 클라이언트(350b)로 전송할 데이터의 종류를 나타내는 채널을 분류하고, 각 채널에 맵핑된 세션을 생성하고, 세션을 통해서 RTSP/RTP 에 따른 데이터를 송수신을 한다.The RTSP / RTP management unit 330b receives data from the data storage device, classifies channels indicating the types of data to be transmitted to the network client 350b, creates a session mapped to each channel, and transmits RTSP / RTP And transmits and receives data according to the received data.

네트워크 클라이언트의 RTSP/RTP 송수신부는 채널 제어 관리부(355b)에 따라, 개수가 변동될 수 있으며, 그 개수는 RTSP/RTP 관리부(330b)로부터 전송되는 채널의 수에 의해 결정된다. RTSP/RTP 송수신부는 최종적으로 NVR 서버로부터 데이터를 전송받아 이를 재생 또는 출력할 수 있는 출력부(미도시)로 전송한다.The number of RTSP / RTP transmission / reception units of the network client may be changed according to the channel control management unit 355b, and the number thereof is determined by the number of channels transmitted from the RTSP / RTP management unit 330b. The RTSP / RTP transceiver unit finally transmits data from the NVR server to an output unit (not shown) capable of reproducing or outputting the data.

도 3a 및 도 3b의 클라이언트 및 네트워크 클라이언트는 각 서버로부터 수신하는 채널에 맵핑된 세션의 정보를 가지고 있다. 세션의 정보는 도 2에서 전술한 것과 같이 RTSP 연결 과정 중 세션 생성 단계(S203)에서 서버와 클라이언트간에 세션을 생성할 때, 결정되어 서버 및 클라이언트에 각각 저장되며, 복수 개의 세션을 각각 구별시켜주는 정보이므로 세션 식별정보(Session Identification Information)라고도 칭할 수 있다.The client and network client of FIG. 3A and FIG. 3B have information of a session mapped to a channel received from each server. As described above with reference to FIG. 2, when the session is created between the server and the client in the session creation step (S203) during the RTSP connection process, the session information is determined and stored in the server and the client, respectively. It can also be referred to as session identification information.

도 4a, 4b, 및 4c는 기존의 RTSP의 표준 프로토콜을 이용하여 데이터를 전송하는 방식을 도식적으로 나타내고 있다.4A, 4B, and 4C schematically show a method of transmitting data using a conventional RTSP standard protocol.

도 4a와 같이 RTSP와 RTP의 데이터 전송 표준을 UDP로 한 경우, UDP가 데이터를 송신 후 수신단의 데이터 수신여부를 확인하는 과정을 거치지 않는 단향성을 가지는 특성상, 제어 명령을 송수신하기 위한 RTSP에 따른 명령 세션(420a)과 데이터를 송수신하는 RTP에 따른 데이터 세션(425a)이 각각 필요하다. RTCP에 따른 명령은 RTP와 같은 세션을 통해 서버(410a)와 클라이언트(415a)간에 송수신된다.As shown in FIG. 4A, when UDP is used as the data transmission standard of RTSP and RTP, according to RTSP for transmitting / receiving a control command due to the unidirectional nature of not receiving a process of confirming whether data is received by a receiving end after UDP transmits data A command session 420a and a data session 425a according to RTP to send and receive data, respectively. The command according to the RTCP is transmitted and received between the server 410a and the client 415a through a session such as RTP.

도 4b는 서버(410b)와 클라이언트(415b)가 RTSP와 RTP의 데이터 전송 표준을 TCP로 한 경우로서, RTSP에 따른 명령 세션과 RTP에 따른 데이터 세션이 같다는 것을 나타내고 있다. 다시 말해, 하나의 세션에서 RTSP, RTP 각각의 데이터 송수신이 가능하다. RTCP에 따른 명령은 RTP와 같은 세션을 이용하여 송수신되므로, 이 경우에는 RTSP RTP 및 RTCP 에 따른 명령 및 데이터는 모두 하나의 세션(420b)을 통해 송수신된다.4B shows that the server 410b and the client 415b use TCP as the data transmission standard for RTSP and RTP, and that the command session according to the RTSP and the data session according to the RTP are the same. In other words, it is possible to transmit and receive data of RTSP and RTP in one session. Since commands according to the RTCP are transmitted and received using the same session as the RTP, in this case, commands and data according to the RTSP RTP and the RTCP are all transmitted and received through one session 420b.

도 4c는 도 4b에서 복수 개의 채널(Multi Channels)의 데이터가 각 채널에 맵핑된 각 세션을 통해 송수신될 때의 서버와 클라이언트간의 모습이다.FIG. 4C is a view between the server and the client when data of a plurality of channels (Multi Channels) is transmitted / received through each session mapped to each channel in FIG. 4B.

도 4c에서 세션은 서버(410c)와 클라이언트(415c)간에 4개 생성되어 있다. 예를 들어 420c, 425c, 430c, 435c, 이상 4개의 세션의 번호가 각각 4711234, 2345611, 2341566, 8721345번으로 매겨져 있다고 가정하고, 도 4c의 서버는 특정 방송국의 서버로서, A채널, C채널, F채널, Z채널의 방송 데이터를 송신하고, 각 채널의 식별정보가 순서대로 0, 2, 6, 12로 할당되어있다고 가정한다.In FIG. 4C, four sessions are created between the server 410c and the client 415c. For example, suppose that the numbers of the four sessions 420c, 425c, 430c, and 435c are 4711234, 2345611, 2341566 and 8721345, respectively. The server of FIG. 4c is a server of a specific broadcasting station, F channel, and Z channel, and that the identification information of each channel is allocated in order of 0, 2, 6, and 12, respectively.

먼저, 4711234, 2345611, 2341566, 8721345으로 매겨진 세션의 번호는 각 세션을 식별하기 위한 정보이므로, 전술한대로 세션 식별정보(Session IdentificatFirst, since the number of the session numbered as 4711234, 2345611, 2341566, and 8721345 is information for identifying each session, session identification information

ion Information)라고 할 수 있고, 같은 방식으로 0, 2, 6, 12은 채널 식별정보라고 할 수 있다. 각 식별정보는 숫자만으로 한정되지 않으며 문자도 될 수 있다, 세션 식별정보는 클라이언트로부터 세션을 생성하라는 명령을 받은 후에 서버가 그에 대한 응답으로 보내는 세션 생성 단계(S203)에서 생성된다. 채널 식별정보의 생성에 대해서는 표 10을 참고하여 후술한다.ion Information). In the same way, 0, 2, 6, and 12 are channel identification information. Each piece of identification information is not limited to a number but can be a character. The session identification information is generated in a session creation step (S203) in which the server sends a response to the command after receiving an instruction to create a session from the client. The generation of the channel identification information will be described later with reference to Table 10.

표 1과 표 2는 본 발명의 실시 예 중 하나로서, 각각 세션 식별정보를 포함한 세션 생성 명령과 그 응답에 대해 나타낸다. 문자 C와 S는 각각 클라이언트와 서버를 의미한다.Tables 1 and 2 are one embodiment of the present invention, each showing a session creation command including session identification information and a response thereof. Letters C and S represent clients and servers, respectively.

C->S: SETUP rtsp://example.com/foo/bar/baz.rm RTSP/1.0
CSeq: 302
Transport: RTP/AVP;unicast;client_port=4588-4589
C-> S: SETUP rtsp: //example.com/foo/bar/baz.rm RTSP / 1.0
CSeq: 302
Transport: RTP / AVP; unicast; client_port = 4588-4589

표 1은 클라이언트가 서버에게 세션 생성 요청을 하는 것을 나타낸다. Table 1 shows that the client makes a session creation request to the server.

도 2에서 상술한 세션을 생성하는 세션 생성 단계(S203)의 일 예로서, 클라이언트는 서버에게 SETUP 명령을 전달한다.As an example of a session creation step (S203) for creating a session described above with reference to FIG. 2, the client transmits a SETUP command to the server.

S->C: RTSP/1.0 200 OK
CSeq: 302
Date: 23 Jan 1997 15:35:06 GMT
Session: 4711234
Transport: RTP/AVP;unicast;
client_port=4588-4589;server_port=6256-6257
S-> C: RTSP / 1.0 200 OK
CSeq: 302
Date: 23 Jan 1997 15:35:06 GMT
Session: 4711234
Transport: RTP / AVP; unicast;
client_port = 4588-4589; server_port = 6256-6257

표 2는 서버가 클라이언트로부터 세션 생성 요청을 받은 후 클라이언트로 응답하는 것을 나타낸다. Table 2 shows that the server responds to the client after receiving the session creation request from the client.

클라이언트의 세션 생성 요청이 유효한 경우, 서버는 식별정보 4711234를 갖는 세션을 생성하고, 세션 식별정보 및 포트번호를 포함한 응답을 클라이언트에 보냄으로써, 도 2에서 전술한 RTSP 연결과정에서 세션 생성 단계(S203)가 종료된다.If the client's session creation request is valid, the server creates a session with the identification information 4711234, and sends a response including the session identification information and the port number to the client, thereby creating a session in the RTSP connection step S203 ) Is terminated.

식별정보 2345611, 2341566, 8721345를 갖는 세션 또한, 위와 동일한 과정을 통해 생성되고, 채널 식별정보와 세션 식별정보가 1:1 맵핑이 된다. 예를 들어, 세션 식별정보가 4711234인 세션에는 채널 식별정보가 6인 채널이 맵핑되고, 식별정보가 2341566인 세션에는 채널 식별정보가 12인 채널이 맵핑된다. 세션과 채널간에 맵핑이 끝난 후에는 각 채널의 데이터는 각 채널에 맵핑된 세션을 통해 서버에서 클라이언트로 송신된다. 위에 예시를 이용하면, 세션 식별정보 4711234에 해당하는 세션을 통해서는 채널 식별정보 6을 갖는 F채널의 데이터가 송신되며, 세션 식별정보 2341566에 해당하는 세션을 통해서는 채널 식별정보 12를 갖는 Z채널의 데이터가 송신된다.A session having the identification information 2345611, 2341566, and 8721345 is also generated through the same process as above, and the channel identification information and session identification information are 1: 1 mapped. For example, a channel having channel identification information of 6 is mapped to a session having session identification information of 4711234, and a channel having channel identification information of 12 is mapped to a session having identification information of 2341566. After the mapping between the session and the channel is completed, the data of each channel is transmitted from the server to the client through the session mapped to each channel. Using the above example, F-channel data having channel identification information 6 is transmitted through a session corresponding to the session identification information 4711234, and a Z channel having channel identification information 12 through a session corresponding to the session identification information 2341566 Is transmitted.

도 4c를 참조하면, RTSP에 따른 데이터 제어 명령은 각 세션을 통해 표현되고 있으며, 이는 각 세션을 통해 전송되는 각기 다른 채널의 데이터의 전송동작을 개별적으로 제어하게 된다. 예를 들어, 식별정보 4711234를 갖는 세션을 통해서 데이터 전송을 멈추라는 RTSP에 따른 데이터 제어 명령과, 식별정보 2341566을 갖는 세션을 통해서 데이터 전송을 빠르게 하라는 RTSP에 따른 데이터 제어 명령이 전달되는 경우, 서버는 식별정보 4711234를 갖는 세션을 통해 클라이언트로 전송하는 데이터를 전송을 중지하고, 식별정보 2341566을 갖는 세션을 통해 클라이언트로 전송하는 데이터의 전송속도는 늘릴 것이다.Referring to FIG. 4C, a data control command according to the RTSP is expressed through each session, which individually controls the transmission operation of data of different channels transmitted through each session. For example, when a data control command according to RTSP to stop data transmission through a session having identification information 4711234 and a data control command according to RTSP to speed up data transmission through a session having identification information 2341566 are transmitted, The transmission of data to be transmitted to the client through the session with the identification information 4711234 is stopped and the transmission rate of data transmitted to the client through the session with the identification information 2341566 is increased.

RTSP 연결과정에서 생성한 세션 식별정보는 고유한 값을 가지므로, 서로 다른 두 개 이상의 세션이 같은 세션 식별정보를 가질 수 없으며, 주어진 세션 식별정보는 Teardown 명령 등으로 해당 연결이 종료되기 전까지는 유지된다.Since the session identification information generated in the RTSP connection process has a unique value, two or more different sessions can not have the same session identification information, and the given session identification information is retained until a corresponding connection is terminated by a teardown command or the like do.

도 5는 본 발명의 실시 예 중 하나인 세션 그룹(Session Group)명령에 따른 서버와 클라이언트간의 세션 상태의 변경을 도식적으로 나타낸다.FIG. 5 schematically illustrates a change in session state between a server and a client according to a Session Group command, which is one embodiment of the present invention.

도 4c 세션 상태에서 사용자가 클라이언트(415c)를 통해 세션 그룹 명령을 내리는 경우, 그 명령은 서버(410c)에 전달되어 해당 명령 내에 포함되어 있는 정보에 따라 세션 상태를 도 5와 같이 변경시킨다. 사용자가 클라이언트(415c)를 통해 내리는 세션 그룹 명령은 제어 세션의 식별정보와 적어도 한 개 이상의 통상 세션의 식별정보를 포함한다.When the user issues a session group command through the client 415c in the session state of FIG. 4c, the command is transmitted to the server 410c and changes the session state according to the information included in the command, as shown in FIG. The session group command that the user makes via the client 415c includes identification information of the control session and identification information of at least one normal session.

제어 세션(550)은 세션 그룹 명령에 의해 서버(510)와 클라이언트(520) 간에 생성된 복수 개의 세션 중에 적어도 하나 이상 지정되는 세션을 의미한다. 세션 그룹 명령에 포함되어 있는 제어 세션의 식별정보에 해당하는 세션이 제어 세션(550)이 되며, 후술할 세션 디그룹 명령을 받기 전까지는 세션 그룹 내의 모든 세션을 통해 전송되는 데이터의 전송동작은 제어 세션(550)을 통해 전송되는 데이터 제어 명령에 의한다.The control session 550 means a session designated by at least one of a plurality of sessions created between the server 510 and the client 520 by a session group command. The session corresponding to the identification information of the control session included in the session group command becomes the control session 550 and the transmission operation of the data transmitted through all the sessions in the session group is controlled (550). ≪ / RTI >

예를 들어, 도 4c의 각 세션 식별정보가 위로부터 4711234, 2345611, 2341566, 8721345으로 매겨져 있고, 세션 그룹 명령에 포함된 제어 세션의 식별정보는 4711234이며, 세션 그룹 명령에 포함된 통상 세션의 식별정보는 2345611, 2341566, 8721345라고 가정한다. 이 경우, 세션 그룹을 형성하는 세션은 세션 식별정보 4711234, 2345611, 2341566, 8721345에 해당하는 4개의 세션이 되며, 그 중 제어 세션은 세션 식별정보가 4711234인 세션이 된다. For example, each session identification information in FIG. 4C is assigned 4711234, 2345611, 2341566 and 8721345 from the top, identification information of the control session included in the session group command is 4711234, identification of the normal session included in the session group command The information is assumed to be 2345611, 2341566, 8721345. In this case, the session forming the session group is four sessions corresponding to the session identification information 4711234, 2345611, 2341566, and 8721345, and the control session becomes the session with the session identification information 4711234.

도 5를 참조하여 상기 예시를 이해하면, 사용자가 클라이언트를 통해 세션 그룹을 통해 서버로부터 클라이언트로 전송되는 모든 데이터의 전송속도를 빠르게 하라는 데이터 제어 명령을 내린 경우, 사용자가 내린 명령은 제어 세션(550)을 통해서 서버에 전달된다. 그리고, 서버는 세션 그룹 내의 세션(550, 560, 570, 580)을 통해 전송되고 있던 모든 데이터의 전송속도를 데이터 제어 명령을 받기 전보다 빠르게 하여 클라이언트로 전송하게 된다. 이때, 데이터 제어 명령에 대한 서버의 응답은 제어 세션(550)을 통해서 전송된다.5, when a user issues a data control command to increase the transmission rate of all data transmitted from the server to the client through the session group through the client, the command issued by the user is transmitted to the control session 550 ) To the server. Then, the server transmits the data transmission speeds of all the data transmitted through the sessions 550, 560, 570 and 580 in the session group to the client faster than before the data control command is received. At this time, the response of the server to the data control command is transmitted through the control session 550.

예를 들어 사용자가 영상을 수신하고 있었다면, 사용자가 클라이언트를 통해 내리는 영상을 빠르게 재생하라는 명령과 그 명령에 대한 서버의 응답은 제어 세션(550)을 통해서 송수신되고, 제어 세션을 포함한 세션 그룹 내의 각 세션을 통해서 사용자가 수신하고 있던 영상의 데이터를 사용자의 명령을 받기 전보다 더 빠르게 서버에서 클라이언트로 송신하게 된다.For example, if the user has been receiving an image, the command to prompt the user to play back the image coming through the client and the server's response to the command are sent and received via the control session 550, Through the session, the data of the image that the user was receiving is transmitted from the server to the client faster than before the user receives the command.

클라이언트로부터 내려지는 데이터 제어 명령은 전송 표준으로 TCP를 사용하므로, 특정 명령이 송신되면 그에 대한 수신확인이 필요하다. 세션이 복수 개가 있고, 각 세션을 통해 전송되는 데이터를 동시에 제어하려고 하는 경우, 각 세션마다 데이터 제어 명령을 내리게 되면, 1) 각 세션을 통해 데이터 제어 명령이 전달되고, 2) 데이터 제어 명령에 대한 수신확인을 하고, 3) 해당 명령이 모든 세션을 통해 전송되는 데이터의 전송상태에 적용되는 과정에서 각 세션 간에 시간 지연이 발생한다. 본 발명에 일 실시 예에 따른 세션 그룹 명령에 의하면 데이터 제어 명령을 전용으로 송수신하는 제어 세션을 두고, 제어 세션을 통해 수신한 데이터 제어 명령에 따라 세션 그룹 내의 모든 세션을 통해 서버로부터 클라이언트까지 송신되는 데이터를 제어할 수 있어서, 하나의 화면에서 여러 개의 영상을 수신하고 이를 한번에 제어할 필요가 있을 때, 각 영상 간의 시간 지연을 최소화할 수 있다.Since the data control command issued from the client uses TCP as a transmission standard, acknowledgment is required when a specific command is transmitted. When there are a plurality of sessions and data to be transmitted through each session is to be controlled at the same time, if a data control command is issued for each session, 1) data control command is transmitted through each session, 2) And 3) a time delay occurs between each session in a process in which the command is applied to the transmission state of data transmitted through all sessions. According to the session group command according to an embodiment of the present invention, a control session for exclusive transmission / reception of a data control command is transmitted, and data is transmitted from the server to the client through all sessions in the session group according to the data control command received through the control session Data can be controlled, so that it is possible to minimize the time delay between each image when it is necessary to receive and control several images on one screen at a time.

도 6은 복수 개의 채널(Multi Channels)의 데이터가 송수신될 때의 서버와 클라이언트간에 생성된 2개의 세션 그룹을 나타낸다.FIG. 6 shows two session groups created between a server and a client when data of a plurality of channels (Multi Channels) are transmitted and received.

첫 번째 세션 그룹에서는 2번째 세션(625)이 제어 세션으로 지정되었고, 두 번째 세션 그룹에서는 6번째 세션(665)이 제어 세션으로 지정되었다. 첫 번째 세션 그룹의 4개의 세션을 통해 전송되는 복수 개의 채널의 데이터는 첫 번째 세션 그룹의 제어 세션(625)을 통해 전송되는 데이터 제어 명령에 의해 제어되고, 두 번째 세션 그룹의 6개의 세션을 통해 전송되는 복수 개의 채널의 미디어 데이터는 두 번째 세션 그룹의 제어 세션(665)을 통해 전송되는 데이터 제어 명령에 의해 제어된다. 나머지 5개의 세션(670 내지 690)은 별도의 세션 그룹을 형성하지 않았으며, 통상의 세션과 동일하게 RTSP에 따른 데이터 제어 명령과 RTP에 따른 데이터를 각 개별 세션을 통해 송수신하게 된다.In the first session group, the second session (625) was designated as the control session, and in the second session group, the sixth session (665) was designated as the control session. The data of the plurality of channels transmitted through the four sessions of the first session group is controlled by the data control command transmitted through the control session 625 of the first session group and is transmitted through the six sessions of the second session group The media data of the plurality of transmitted channels is controlled by a data control command transmitted through the control session 665 of the second session group. The remaining five sessions 670 to 690 do not form a separate session group, and data control commands according to RTSP and data according to RTP are transmitted / received through each individual session in the same manner as a normal session.

세션 그룹 명령이 서버와 클라이언트 간의 특정한 복수 개의 세션에 적용된 후, 더 이상 동일한 제어 명령을 통해 한번에 서버로부터 수신되는 복수 개의 채널의 데이터를 제어할 필요가 없는 경우, 사용자는 클라이언트에 세션 디그룹 (Session Degroup) 명령을 내려서 그룹화된 세션을 해제하고, 이미 설정되어 있는 제어 세션을 통상의 세션으로 변경할 수 있다. 즉, 세션 디그룹 명령에는 그룹화를 해제할 세션 그룹에 속한 모든 세션의 식별정보가 포함되며, 세션 그룹이 복수 개 존재한다면 그 중 일부의 세션 그룹만 그룹화를 해제하는 것이 가능하다.If the session group command is applied to a plurality of specific sessions between the server and the client and there is no need to control data of a plurality of channels received from the server at a time through the same control command, Degroup) command to release the grouped session, and change the control session already set to the normal session. That is, the session de-grouping command includes identification information of all the sessions belonging to the session group to be ungrouped. If there are a plurality of session groups, it is possible to ungroup only some of the session groups.

도 5처럼 세션 그룹 명령이 적용된 서버와 클라이언트간의 세션 상태에서 세션 디그룹 명령을 사용자가 클라이언트를 통해 내린다면, 도 4c와 같이 세션 상태가 변경된다. 세션 디그룹 명령이 서버와 클라이언트 간의 특정 세션 그룹에 적용된 이후의 세션 그룹이 해제된 복수 개의 세션들은, 세션 그룹 명령이 적용되기 전과 같이 각 세션마다 개별적으로 RTSP에 따른 데이터 제어 명령과 RTP에 따른 데이터를 송수신하게 된다.As shown in FIG. 5, if a user drops a session de-group command through a client in a session state between a server and a client to which a session group command is applied, the session state is changed as shown in FIG. A plurality of sessions in which the session group is released after the session D group command is applied to the specific session group between the server and the client are separately issued for each session as before the session group command is applied and the data according to the RTP .

사용자가 클라이언트를 통해 세션 디그룹 명령을 내려서 기존 세션 그룹이 해제되기 전까지는 세션 그룹 내의 제어 세션을 통해서 전달되는 데이터 제어 명령이 유효하게 취급되므로, 제어 세션이 아닌 세션 그룹 내의 다른 세션에 데이터 제어 명령이 전달되었을 때에는 세션 그룹 내의 모든 세션을 통해 송수신되는 데이터의 전송 동작에 아무런 영향을 미치지 못한다.The data control command transmitted through the control session in the session group is effectively handled until the user releases the session group command through the client and the existing session group is released. Therefore, the data control command It has no effect on the transmission operation of data transmitted and received through all the sessions in the session group.

도 7는 본 발명의 실시 예 중 하나인 세션 머지(Session Merge)명령에 따른 서버와 클라이언트간의 세션 상태의 변경을 도식적으로 나타낸다.FIG. 7 schematically illustrates a change in session state between a server and a client according to a session merge command, which is one embodiment of the present invention.

RTSP/RTP/TCP의 경우 인터리브드(Interleaved) 전송 방식으로 여러 채널의 미디어 데이터를 전송할 수 있기 때문에, 복수 개의 세션을 하나의 그룹으로 관리할 때, 인터리브드 전송 방식을 적용하여, 복수 개의 세션을 통해 전송되는 모든 채널의 데이터를 하나의 세션을 통해서 전송하도록 할 수 있다. 도 7은 도 5의 서버와 클라이언트간의 세션 상태에서 세션 머지 명령을 받은 후의 서버와 클라이언트간의 세션 상태를 나타내며, 변경되는 세션 상태에 대한 추가적인 설명은 표 9와 표 10와 함께 후술한다.In case of RTSP / RTP / TCP, since media data of multiple channels can be transmitted through an interleaved transmission method, when a plurality of sessions are managed as one group, an interleaved transmission method is applied, The data of all the channels transmitted through one session can be transmitted through one session. FIG. 7 shows a session state between a server and a client after receiving a session merge command in the session state between the server and the client in FIG. 5, and further description of the changed session state will be described with reference to Table 9 and Table 10.

기존의 RTSP/RTP/TCP에서 인터리브드 전송 방식은 서버와 클라이언트간에 다음과 같은 통신과정을 거친 후에 서버와 클라이언트간에 적용된다.In the conventional RTSP / RTP / TCP, the interleaved transmission method is applied between the server and the client after the following communication process between the server and the client.

C->S : SETUP rtsp://foo.com/bar.file RTSP/1.0
CSeq : 2
Trasport : RTP/AVP/TCP;interleaved=0-1

S->C : RTSP/1.0 200 OK
CSeq : 2
Date : 05 Jun 1997 18:57:17 GMT
Trasport : RTP/AVP/TCP;interleaved=0-1
C-> S: SETUP rtsp: //foo.com/bar.file RTSP / 1.0
CSeq: 2
Trasport: RTP / AVP / TCP; interleaved = 0-1

S-> C: RTSP / 1.0 200 OK
CSeq: 2
Date: 05 Jun 1997 18:57:17 GMT
Trasport: RTP / AVP / TCP; interleaved = 0-1

표 3은 RTSP 연결과정에서, 클라이언트가 서버에게 인터리브드 전송 요청을 하는 것을 나타낸다. Table 3 shows that in the RTSP connection process, the client makes an interleaved transmission request to the server.

인터리브드 명령구문에서 interleaved 뒤에 숫자는 채널 식별정보와 RTCP의 데이터의 식별정보를 의미한다.The number after interleaved in the interleaved instruction syntax means the identification information of the channel identification information and the data of the RTCP.

[RFC2326] Real Time Streaming Protocol[RFC2326] Real Time Streaming Protocol RTSPRTSP RTSP End MarkRTSP End Mark Block Mark(1Byte)Block Mark (1 byte) Ch.identifier(1Byte)Ch.identifier (1 byte) Length(2Byte)Length (2 bytes) CommandCommand CRLFCRLF $$ 00 MMMM

표 4는 RFC2326 상에 규정되어 있는 RTSP 명령어를 나타낸다.Table 4 shows the RTSP commands defined on RFC2326.

표 4에 의해서 RTSP 연결에서, 인터리브드 대상이 되는 채널의 식별번호는 0부터 시작하게 되며, 각 식별번호 앞에는 식별자로서 기호 $를 사용하게 된다.In the RTSP connection according to Table 4, the identification number of the channel to be interleaved starts from 0, and the symbol $ is used as an identifier before each identification number.

도 8a는 서버와 클라이언트 간의 4개의 세션에 세션 그룹 명령이 적용된 세션의 상태를 개략적으로 나타낸다.8A schematically shows the state of a session in which a session group command is applied to four sessions between a server and a client.

제어 세션은 서버와 클라이언트 간의 생성된 4개의 세션 중 위로부터 첫 번째에 있는 세션이므로, 해당 제어 세션을 통해서 RTSP에 따른 명령이 전달되며, 나머지 세션 그룹 내의 3개의 세션을 통해서는 RTP에 따른 데이터와, RTCP 에 따른 데이터 전송 상태 감시 명령이 전송된다. 점선을 기준으로 왼쪽부분은 각 세션을 통해 전송되는 1단위 패킷을 의미하며, RTP에 따른 데이터와 RTCP에 따른 데이터 전송 상태 감시 명령은 1:1 비율로 함께 전송되는 것을 알 수 있다. 이때 제어 세션을 통해서 RTSP에 따른 명령 뿐만 아니라 RTP에 따른 데이터와 RTCP에 따른 데이터 전송 상태 감시 명령이 송수신되는 것은 도 4b를 참조하면 알 수 있다.Since the control session is the first session from the top of the four generated sessions between the server and the client, the command according to the RTSP is delivered through the corresponding control session, and data corresponding to the RTP through the three sessions in the remaining session group , A data transmission status monitoring command according to the RTCP is transmitted. The left part refers to one unit packet transmitted through each session based on the dotted line, and the data according to RTP and the data transmission status monitoring command according to RTCP are transmitted together at a ratio of 1: 1. Herein, not only the commands according to the RTSP but also the data according to the RTP and the data transmission status monitoring commands according to the RTCP are transmitted and received through the control session with reference to FIG. 4B.

도 8b은 도8a의 세션 상태에서, RTSP 명령어로 구성된 세션 머지 명령이 적용되어 세션 그룹 내의 4개의 세션이 하나의 세션으로 통합된 모습을 개략적으로 나타낸다.FIG. 8B schematically shows that, in the session state of FIG. 8A, a session merge command composed of RTSP instructions is applied to integrate four sessions in a session group into one session.

설명의 편의를 위해서, 세션 머지 명령에는 도 8a에서 서버와 클라이언트 간의 4개의 세션 중 위로부터 첫 번째 세션을 단일 세션으로 지정하는 명령이 포함되어 있다고 가정한다. 또한, 도 8a에서 위로부터 첫 번째와 세 번째 세션을 통해서는 각각 A채널, C채널의 비디오 데이터가 송신되고, 두 번째와 네 번째 세션을 통해서는 B 라디오 채널, D 라디오 채널의 오디오 데이터가 송신되고 있고, 인터리브드(교차배치) 되는 순서는 위로부터 첫 번째 세션부터 네 번째 세션 순이라고 가정한다. 즉, 첫 번째 세션에는 A채널이 맵핑되어있고, 두 번째 세션에는 B 라디오 채널이 맵핑되어 있으며, 나머지 세션과 채널의 관계도 마찬가지이다.For convenience of explanation, it is assumed that the session merge command includes an instruction to designate the first session from the top of the four sessions between the server and the client as a single session in FIG. 8A. 8A, video data of channel A and channel C are transmitted through the first and third sessions, respectively. Audio data of the B radio channel and D radio channel are transmitted through the second and fourth sessions, And the interleaved sequence is assumed to be from the first session to the fourth session from the top. That is, the A channel is mapped in the first session, the B radio channel is mapped in the second session, and the relationship between the remaining sessions and the channel is the same.

도 8a의 상태에서 세션 머지 명령을 수신하면, RTSP 명령어에 의해, 첫 번째 세션에 맵핑된 채널에 식별정보 0이 할당된다. 예를 들어, 첫 번째 세션에 맵핑된 채널은 A채널이고, 이는 RTP에 따라 전송되는 비디오 채널이므로, 해당 채널의 데이터 패킷의 최종 식별정보를 개략적으로 표현하면 'RTP 비디오 $0'(표 4 참조) 이라고 표현할 수 있다. 또한, 채널의 식별정보에 1을 더한 값이 자동으로 RTCP의 명령 패킷의 최종 식별정보가 되므로, 이를 개략적으로 표현하면 'RTCP 비디오 $1' (표 4 참조)이라고 표현할 수 있다. 채널 식별정보의 할당에 대해서는 표 5 및 표 6을 통해서 보다 더 상세히 후술한다.Upon receiving the session merge command in the state of FIG. 8A, the identification information 0 is assigned to the channel mapped to the first session by the RTSP command. For example, since the channel mapped to the first session is the A channel, which is a video channel transmitted according to the RTP, 'RTP video $ 0' (see Table 4) can be obtained by roughly expressing the final identification information of the data packet of the corresponding channel. . In addition, the value obtained by adding 1 to the identification information of the channel is automatically the final identification information of the command packet of the RTCP. Therefore, it can be expressed as 'RTCP video $ 1' (see Table 4). The allocation of the channel identification information will be described later in more detail with reference to Table 5 and Table 6.

도 8b는 위와 같은 방식을 다른 세션에 맵핑된 채널에 대해서도 적용하고, 각 데이터 패킷 및 명령 패킷들이 상술한 단일 세션을 통해 송신되는 것을 나타낸다. 구체적으로는 세션 머지 명령에 포함된 채널 식별정보 및 RTCP 식별정보에 따라, 세션 그룹 내의 각 채널의 데이터를 하나의 통합 데이터로 만들고, 이를 단일 세션을 통해 클라이언트로 송신하는 과정을 나타낸다. 채널 식별정보 및 RTCP 식별정보에 따른 통합 데이터 생성과정에 대해서는 본 발명의 실시 예 중 하나로서, 표9 및 표10을 통해서 후술한다.FIG. 8B also applies the above scheme to channels mapped to different sessions, and indicates that each data packet and command packet are transmitted through the single session described above. More specifically, it shows the process of making the data of each channel in the session group into one integrated data according to the channel identification information and the RTCP identification information included in the session merge command, and transmitting it to the client through a single session. The process of generating integrated data according to the channel identification information and the RTCP identification information will be described later with reference to Tables 9 and 10 as one embodiment of the present invention.

도 8b에 있는 단일 세션 내의 블록들을, 용이한 설명을 위해 식별기호와 식별정보만으로 지칭하면, $0, $1 를 포함하는 것은 세션 머지 명령을 수신하기 전에 첫 번째 세션을 통해 송신되던 A채널의 비디오 데이터와 비디오 데이터 감시 명령이고, $2, $3 을 포함하는 것은 두 번째 세션을 통해 송신되던 B 라디오 채널의 오디오 데이터와 오디오 데이터 감시 명령을 의미한다는 것을 알 수 있고, 같은 원리로 다른 채널의 데이터와 데이터 감시 명령을 구분할 수 있다.When blocks in a single session shown in FIG. 8B are referred to only as an identifier and identification information for ease of explanation, the inclusion of $ 0 and $ 1 means that video data of channel A transmitted through the first session before receiving the session merge command And $ 2 and $ 3 are the audio data and the audio data monitoring command of the B radio channel transmitted through the second session, You can distinguish between commands.

도 4c 및 도 5를 참조하면 RTP/RTCP에 따른 데이터의 전송은 RTSP의 명령에 종속적이 된다. 예를 들어 RTSP의 명령이 PLAY 명령이라면, 서버는 RTP/RTCP에 따른 데이터를 클라이언트로 전송시킬 것이며, RTSP의 명령이 PAUSE 라면, 서버는 RTP/RTCP에 따른 데이터를 클라이언트로 전송하는 것을 다른 RTSP의 명령이 있을 때까지 일시적으로 중지할 것이다.Referring to FIG. 4C and FIG. 5, the transmission of data according to RTP / RTCP is dependent on the command of RTSP. For example, if the RTSP command is the PLAY command, the server will send RTP / RTCP data to the client. If the RTSP command is PAUSE, the server sends RTP / RTCP data to the client. It will temporarily stop until an instruction is given.

상술한 RTSP의 명령은 클라이언트로부터 내려지는 데이터 제어 명령의 일 실시 예이고, 데이터 전송에 관여하는 명령에 있어서 RTSP의 명령만으로 한정하고자 하는 것은 아니므로, 다른 형태의 데이터 제어 명령으로 서버와 클라이언트간에 송수신되는 데이터를 제어하더라도, 본 발명의 범주를 벗어나지 않으며 이는 RTP, RTCP 에 따른 명령에 대한 것도 마찬가지이다.Since the RTSP command is one embodiment of the data control command issued from the client and is not intended to be limited to only the RTSP command in the command related to the data transmission, Even if data is controlled, it does not fall outside the scope of the present invention, and this is also true for commands according to RTP and RTCP.

사용자는 더 이상 세션을 단일화하여 이용할 필요가 없는 경우, 클라이언트를 통해 세션 디머지(Session Demerge) 명령을 통해서 단일 세션을 복수 개의 세션으로 분리할 수 있으며, 분리된 복수 개의 세션은 추가적으로 세션 디그룹(Session Degroup) 명령을 받기 전까지는 세션 그룹으로서 동작한다.If the user no longer needs to use a single session, a single session can be divided into a plurality of sessions through a session demerge command through the client, Session Degroup) command until it receives the command.

세션 머지 명령이 실행되면, 기존의 RTSP에 따른 제어 명령을 송신하는 명령 세션은 계속 유지하고, RTP/RTCP에 따른 데이터를 전송하는 세션이 하나로 변경된다. 이것은 차후 사용자가 클라이언트를 통해 세션 디머지 명령을 내리고, 그에 따라 단일화된 세션이 복수 개의 세션으로 분리되더라도, 기존의 RTSP에 따른 제어 명령을 송신하는 명령 세션으로 즉시 RTP/RTCP에 따른 데이터를 전송할 수 있도록 하기 위한 것이다.When the session merge command is executed, the session for transmitting the control command according to the existing RTSP is maintained, and the session for transmitting data according to the RTP / RTCP is changed to one session. This allows the RTP / RTCP data to be transmitted immediately to the command session in which a control command according to the existing RTSP is transmitted, even if the user subsequently issues a session de-merge command through the client and thus the unified session is divided into a plurality of sessions .

다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 그룹 명령을 구현한 것이다.As one embodiment of the present invention, a session group command is implemented using a Setparameter command provided in a standard protocol of RTSP.

C->S: SET_PARAMETER rtsp://example.com/media.mp4 RTSP/1.0
CSeq: 10
Content-length: 86
Content-type: text/parameters

COMMAND: SESSION GROUP
CONTROL SESSION: 4711234
GROUP: 2345611, 2341566, 8721345
C-> S: SET_PARAMETER rtsp: //example.com/media.mp4 RTSP / 1.0
CSeq: 10
Content-length: 86
Content-type: text / parameters

COMMAND: SESSION GROUP
CONTROL SESSION: 4711234
GROUP: 2345611, 2341566, 8721345

표 5는 클라이언트가 서버로 세션 그룹 명령을 내리는 것을 나타낸다. Table 5 shows that the client issues a session group command to the server.

본 세션 그룹 명령은 세션을 그룹화하라는 COMMAND와 함께, 세션 그룹 내에서의 데이터 제어 명령을 송수신할 제어 세션(식별정보 4711234)과 세션 그룹을 구성하는 제어 세션 외의 3개의 세션(식별정보 2345611, 2341566, 8721345)을 지정하는 명령을 포함한다.This session group command includes a control session (identification information 4711234) for sending and receiving a data control command in a session group and three sessions (identification information 2345611, 2341566, 8721345).

S->C: RTSP/1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text/parameters

S->C: RTSP/1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text/parameters

COMMAND: SESSION GROUP OK
CONTROL SESSION: 4711234
GROUP: 2345611, 2341566, 8721345
S-> C: RTSP / 1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text / parameters

S-> C: RTSP / 1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text / parameters

COMMAND: SESSION GROUP OK
CONTROL SESSION: 4711234
GROUP: 2345611, 2341566, 8721345

표 6은 서버가 클라이언트로부터 세션 그룹 명령을 받고 그에 대해 송신하는 응답을 나타낸다. Table 6 shows the responses that the server receives and receives for the session group command from the client.

서버는 클라이언트로부터 세션 그룹 명령을 수신하여 명령대로 동작할 수 있는 경우, SESSION GROUP OK를 회신하고, 명령대로 동작할 수 없는 경우 Invalid Parameter를 클라이언트로 회신한다. SESSION GROUP OK 를 회신한 경우, 이후 세션 그룹에 대한 RTSP 명령은 제어 세션을 통해 전달되고, 그에 따라 세션 그룹 내의 모든 세션을 통해 송신되는 채널의 데이터 및 데이터 감시 명령을 제어할 수 있게 되어 각 세션의 RTSP 명령 전달시간의 차이로 인해 발생하는 시간 지연을 방지할 수 있다.The server receives the session group command from the client and returns SESSION GROUP OK if it can operate according to the command, and returns the Invalid Parameter to the client when it can not operate according to the command. When the SESSION GROUP OK is returned, the RTSP command for the next session group is delivered through the control session, thereby controlling the data and data monitoring commands of the channel transmitted through all the sessions in the session group, It is possible to prevent the time delay caused by the difference in the RTSP command transmission time.

다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 디그룹 명령을 구현한 것이다.As one embodiment of the present invention, a session de-group command is implemented using a Setparameter command provided in a standard protocol of RTSP.

C->S: SET_PARAMETER rtsp://example.com/media.mp4 RTSP/1.0
CSeq: 10
Content-length: 86
Content-type: text/parameters

COMMAND: SESSION DEGROUP
CONTROL SESSION: 4711234
DEGROUP: 2345611, 2341566, 8721345
C-> S: SET_PARAMETER rtsp: //example.com/media.mp4 RTSP / 1.0
CSeq: 10
Content-length: 86
Content-type: text / parameters

COMMAND: SESSION DEGROUP
CONTROL SESSION: 4711234
DEGROUP: 2345611, 2341566, 8721345

표 7는 클라이언트가 서버로 세션 디그룹 명령을 내리는 것을 나타낸다. Table 7 shows that the client issues a session de-group command to the server.

본 세션 그룹 명령은 세션을 그룹을 해제하라는 COMMAND와 함께, 현재 세션 그룹 내에서의 데이터 제어 명령을 송수신하고 제어 세션(식별정보 4711234)과 세션 그룹을 구성하는 제어 세션 외의 3개의 세션(식별정보 2345611, 2341566, 8721345)을 지정하는 명령을 포함한다.This session group command sends and receives a data control command in the current session group together with a COMMAND to ungroup the session, and three sessions other than the control session (identification information 4711234) and the control session constituting the session group (identification information 2345611 , 2341566, 8721345).

S->C: RTSP/1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text/parameters

S->C: RTSP/1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text/parameters

COMMAND: SESSION DEGROUP OK
CONTROL SESSION:4711234
DEGROUP: 2345611, 2341566, 8721345
S-> C: RTSP / 1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text / parameters

S-> C: RTSP / 1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text / parameters

COMMAND: SESSION DEGROUP OK
CONTROL SESSION: 4711234
DEGROUP: 2345611, 2341566, 8721345

표 8은 서버가 클라이언트로부터 세션 디그룹 명령을 받고 그에 대해 송신하는 응답을 나타낸다.Table 8 shows the responses that the server receives and sends to the client the session de-group command from the client.

서버는 클라이언트로부터 세션 그룹 명령을 수신하여 명령대로 동작할 수 있는 경우, SESSION DEGROUP OK를 회신하고, 명령대로 동작할 수 없는 경우 Invalid Parameter를 클라이언트로 회신한다. SESSION DEGROUP OK 를 회신한 경우, 이후 세션 식별정보 4711234, 2345611, 2341566, 8721345를 가진 총 4개의 세션으로 구성된 세션 그룹이 해제되어 각각 통상의 세션으로 동작하게 된다.The server receives the session group command from the client and returns SESSION DEGROUP OK if it can operate according to the command, and returns the Invalid Parameter to the client when it can not operate according to the command. When SESSION DEGROUP OK is returned, a session group consisting of a total of four sessions with the subsequent session identification information 4711234, 2345611, 2341566 and 8721345 is released and each operates as a normal session.

세션 디그룹 명령은 하나의 세션 그룹에서 일부 또는 전체 세션을 분리하기 위한 것이다. 세션 그룹을 완전히 해제하기 위해서는 세션 디그룹 명령의 파라미터로서 제어 세션의 식별정보나 세션 그룹을 구성하는 전체 세션의 식별정보를 포함시키면 되고, 일부 세션만을 세션 그룹에서 분리하려면 분리하려는 세션의 식별정보를 세션 디그룹 명령의 파라미터에 포함시키면 된다.The session di group command is intended to separate some or all sessions from one session group. In order to completely release the session group, identification information of the control session or identification information of the entire session constituting the session group may be included as parameters of the session di group command. To separate only some sessions from the session group, It can be included in the parameters of the session D group command.

예를 들어, 표 8의 세션 디그룹 명령의 파라미터에는 제어 세션의 식별정보인 4711234가 포함되지 않으나, 세션 그룹을 구성하는 총 4개의 세션(식별정보 4711234, 2345611, 2341566, 8721345) 중 3개의 세션이 세션 디그룹 명령의 파라미터에 포함됨에 따라 세션 그룹은 해제되고, 4개의 세션은 각 세션을 통해 송수신되는 RTSP 명령을 따르는 통상의 세션이 된다. 이는 세션 디그룹 명령의 파라미터를 제어 세션의 식별정보인 4711234로 단독지정했을 때와 같은 결과이다.(세션 그룹 전부 해제)For example, although the identification information of the control session (4711234) is not included in the parameters of the session D group command in Table 8, three sessions (identification information 4711234, 2345611, 2341566 and 8721345) Is included in the parameters of the session D group command, the session group is released and the four sessions become a normal session following the RTSP command transmitted / received through each session. This is the same result as when the parameter of the session di group command is specified as the identification information of the control session, that is, 4711234 (all the session groups are released).

만약 세션 디그룹 명령의 파라미터에 식별정보 2341566, 8721345를 가진 세션만을 포함하였다고 가정하면, 식별정보 2341566, 8721345를 가진 두 세션만이 세션 그룹으로부터 분리되어 통상의 세션으로 동작하게 되며, 기존의 세션 그룹에서 4711234, 2345611의 식별정보를 갖는 세션은 여전히 세션 그룹을 구성하는 세션으로서 남아있게 된다.(세션 그룹 일부 해제)Assuming that only the session with the identification information 2341566, 8721345 is included in the parameter of the session di group command, only two sessions having the identification information 2341566 and 8721345 are separated from the session group and operate as a normal session, The session with the identification information of 4711234 and 2345611 still remains as the session constituting the session group.

다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 머지 명령을 구현한 것이다.As one embodiment of the present invention, a session merge command is implemented using a Setparameter command provided in the standard protocol of RTSP.

C->S: SET_PARAMETER rtsp://example.com/media.mp4 RTSP/1.0
CSeq: 10
Content-length: 86
Content-type: text/parameters

COMMAND: SESSION MERGE
CONTROL SESSION: 4711234
MERGE: 4711234;interleaved=0-1, 2345611;interleaved=2-3,
2341566;interleaved=4-5, 8721345;interleaved=6-7
C-> S: SET_PARAMETER rtsp: //example.com/media.mp4 RTSP / 1.0
CSeq: 10
Content-length: 86
Content-type: text / parameters

COMMAND: SESSION MERGE
CONTROL SESSION: 4711234
MERGE: 4711234; interleaved = 0-1, 2345611; interleaved = 2-3,
2341566; interleaved = 4-5, 8721345; interleaved = 6-7

표 9는 클라이언트가 서버로 세션 머지 명령을 내리는 것을 나타낸다. Table 9 shows that the client issues a session merge command to the server.

세션 머지 명령은 세션을 단일화하라는 COMMAND와 함께, 단일 세션으로 이용할 제어 세션에 대한 식별정보(4711234)와 단일 세션을 구성하는 4개의 세션(식별정보 4711234, 2345611, 2341566, 8721345)의 식별정보 및 단일 세션에서 RTP/RTCP에 따른 데이터를 인터리브드(교차배치)할 순서에 대한 정보를 포함한다. 인터리브드 방식에 대해서는 도 8a와 8b에서 설명한 바 있다.The session merge command includes an identification information (4711234) for a control session to be used as a single session, identification information of four sessions (identification information 4711234, 2345611, 2341566, 8721345) And information on the order of interleaving data according to RTP / RTCP in the session. The interleaved method has been described in FIGS. 8A and 8B.

S->C: RTSP/1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text/parameters

S->C: RTSP/1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text/parameters

COMMAND: SESSION MERGE OK
CONTROL SESSION: 4711234
MERGE: 4711234;interleaved=0-1, 2345611;interleaved=2-3,
2341566;interleaved=4-5, 8721345;interleaved=6-7
S-> C: RTSP / 1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text / parameters

S-> C: RTSP / 1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text / parameters

COMMAND: SESSION MERGE OK
CONTROL SESSION: 4711234
MERGE: 4711234; interleaved = 0-1, 2345611; interleaved = 2-3,
2341566; interleaved = 4-5, 8721345; interleaved = 6-7

표 10은 서버가 클라이언트로부터 세션 머지 명령을 받고 그에 대해 송신하는 응답을 나타낸다.Table 10 shows the responses that the server receives from the client and receives a session merge command.

서버는 클라이언트로부터 세션 머지 명령을 수신하여 명령대로 동작할 수 있는 경우, SESSION MERGE OK를 회신하고, 명령대로 동작할 수 없는 경우 Invalid Parameter를 클라이언트로 회신한다. SESSION MERGE OK 를 회신한 경우, 세션 머지 명령의 파라미터로 지정된 복수 개의 세션은 하나의 세션으로 통합된다. 구체적으로는 복수 개의 세션들 중 하나의 세션을 단일 세션으로 지정한 후, 서버와 클라이언트간의 복수 개의 세션을 통해 송신되는 모든 채널의 데이터를 인터리브드 방식으로 통합하여 단일 세션을 통해서 클라이언트로 송신하게 된다.The server receives the session merge command from the client and returns SESSION MERGE OK when it can operate according to the command, and returns the Invalid Parameter to the client when it can not operate according to the command. When SESSION MERGE OK is returned, the multiple sessions specified as parameters of the session merge command are merged into one session. Specifically, after designating one session of a plurality of sessions as a single session, data of all channels transmitted through a plurality of sessions between the server and the client are integrated in an interleaved manner and transmitted to the client through a single session.

표 10을 참조하면, 먼저 식별정보 4711234, 2345611, 2341566, 8721345에 해당하는 4개의 세션은 세션 머지 명령의 파라미터로 되어있다. 각 세션을 통해서 적어도 하나 이상의 채널의 데이터가 서버로부터 클라이언트로 송신되므로, 세션 식별정보가 주어지면 세션에 맵핑된 채널을 알 수 있다. Referring to Table 10, first, the four sessions corresponding to the identification information 4711234, 2345611, 2341566, and 8721345 are parameters of the session merge command. Since data of at least one channel is transmitted from the server to the client through each session, when the session identification information is given, the channel mapped to the session can be known.

세션의 식별정보로부터 세션에 맵핑된 채널을 파악하고, 해당 세션을 통해 송신되는 채널의 데이터에 채널 식별정보를 할당한다. 표 10을 참조하면 식별정보 4711234에 해당하는 세션을 통해 송신되는 채널의 데이터에는 0이라는 채널 식별정보가 할당되었으며, 식별정보 2341566에 해당하는 세션을 통해 송신되는 채널의 데이터에는 채널 식별정보가 4가 할당되었다. RTP에 따른 데이터에는 0 또는 짝수가 채널 식별정보로 할당된다는 것은 표 4와 함께 이미 설명한 바 있다.From the session identification information, the channel mapped to the session, and assigns the channel identification information to the data of the channel transmitted through the session. Referring to Table 10, channel identification information of 0 is assigned to the data of the channel transmitted through the session corresponding to the identification information 4711234, and channel identification information of the channel transmitted through the session corresponding to the identification information 2341566 is 4 . The fact that 0 or even numbers are assigned to the channel identification information in the data according to the RTP has already been described with reference to Table 4. [

RTP에 따른 데이터 전송시, RTCP에 따른 데이터 전송 감시 명령도 필요하고, RTCP 에 따른 데이터 전송 감시 명령에 대해서는 채널 식별정보에 1을 부가한 식별정보가 할당된다는 것은 표 4와 함께 이미 설명한 바 있다. 예를 들면, 1과 5는 각각 0과 4를 채널 식별정보로 가지는 채널의, 데이터 전송 감시 명령에 대한 식별정보(이하, RTCP 식별정보)가 된다.Table 4 shows that a data transmission monitoring command according to the RTCP is also required for data transmission according to the RTP and identification information added with 1 to the channel identification information for the data transmission monitoring command according to the RTCP has already been described. For example, 1 and 5 are identification information (hereinafter referred to as RTCP identification information) for a data transmission supervision command of a channel having 0 and 4 as channel identification information, respectively.

총 4개의 세션에 대해서 0내지 7까지의 채널의 식별정보 및 RTCP 식별정보가 할당된 후에는 식별정보의 순서에 따라, 교차배치하는 방식으로 데이터를 통합한 후, 그 통합 데이터를 단일 세션을 통해 클라이언트로 송신한다.(도 8b 참조) 단일 세션은 세션 머지 명령의 파라미터에서 가장 앞에 놓이는 세션으로 하며, RTSP 명령이 송수신되어야 하는 특성상 제어 세션이 단일 세션으로 결정된다. RTSP 세션은 TCP의 데이터 전송 표준에서는 RTP 세션과 공유되므로, RTP, RTCP처럼 구문상에 식별정보를 별도로 지정할 필요는 없으며, RTSP 명령은 하나로 통합된 단일 세션에 의해서 처리된다.After the identification information and the RTCP identification information of channels 0 to 7 are assigned to the four sessions in total, the data is integrated by a method of cross-disposition according to the order of identification information, and then the integrated data is transmitted through a single session (See FIG. 8B). A single session is the most preceding session in the parameter of the session merge command, and the control session is determined as a single session due to the fact that the RTSP command should be transmitted and received. Since the RTSP session is shared with the RTP session in the TCP data transmission standard, it is not necessary to specify the identification information separately in the syntax like RTP and RTCP, and the RTSP instruction is processed by a single unified session.

서버와 클라이언트 간에는 여러 번의 세션 머지 명령에 의한 복수 개의 단일 세션이 존재할 수 있으며 이 또한 본 발명의 실시 예 중 하나이다.There may be a plurality of single sessions between the server and the client by a plurality of session merge commands, which is also one embodiment of the present invention.

다중 채널을 송수신하는 서버와 클라이언트 간에 생성된 세션의 개수가 많을수록 더 넓은 대역폭이 필요하며, 그 대역폭을 효과적으로 관리하기 위해서 서버에서는 별도로 대역폭 관리부(도 3b 참고)를 두고 있음에도, 세션의 개수가 많을 경우에는 대역폭을 세션 별로 관리해야 해서 대역폭 관리에 있어서 용이하지 못한 기존의 문제점이 있었다. In order to effectively manage the bandwidth, a bandwidth manager (see FIG. 3B) is separately provided in the server. However, when the number of sessions is large The bandwidth has to be managed on a session-by-session basis.

본 발명의 세션 머지 명령에 의한 단일 세션은 대역폭은 세션 머지 명령을 수신하기 전의 개별 세션들의 대역폭의 합과 동일하나, 세션의 개수는 하나가 되어 서버에 포함된 대역폭 관리부가 불필요한 프레임의 전송을 막거나, 동일 데이터의 중복 처리를 방지하는 방식으로 대역폭을 일괄하여 효율적으로 관리할 수 있다.The bandwidth of the single session by the session merge command of the present invention is equal to the sum of the bandwidths of the individual sessions before receiving the session merge command but the number of sessions becomes one so that the bandwidth manager included in the server can not transmit unnecessary frames Or the bandwidth can be collectively and efficiently managed in such a manner as to prevent duplication of the same data.

다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 디머지 명령을 구현한 것이다.As one embodiment of the present invention, a session demarcation instruction is implemented using a Setparameter command provided in a standard protocol of RTSP.

C->S: SET_PARAMETER rtsp://example.com/media.mp4 RTSP/1.0
CSeq: 10
Content-length: 86
Content-type: text/parameters

COMMAND: SESSION DEMERGE
CONTROL SESSION: 4711234
MERGE: 4711234;interleaved=0-1, 2345611;interleaved=2-3,
2341566;interleaved=4-5, 8721345;interleaved=6-7
C-> S: SET_PARAMETER rtsp: //example.com/media.mp4 RTSP / 1.0
CSeq: 10
Content-length: 86
Content-type: text / parameters

COMMAND: SESSION DEMERGE
CONTROL SESSION: 4711234
MERGE: 4711234; interleaved = 0-1, 2345611; interleaved = 2-3,
2341566; interleaved = 4-5, 8721345; interleaved = 6-7

표 11은 클라이언트가 서버로 내리는 세션 디머지 명령을 나타낸다. Table 11 shows the session demarcation commands that the client sends to the server.

세션 디머지 명령은 단일화된 4개의 세션을 분리하라는 COMMAND와 함께, 단일 세션의 식별정보(4711234)와 단일 세션을 구성하는 4개의 세션(식별정보 4711234, 2345611, 2341566, 8721345)의 식별정보 및 단일 세션에서 RTP/RTCP에 따른 데이터를 인터리브드(교차배치)할 순서에 대한 정보를 포함한다.The session demarcation command includes an identification of the single session (4711234) and identification of the four sessions (identification information 4711234, 2345611, 2341566, 8721345) constituting a single session and a single And information on the order of interleaving data according to RTP / RTCP in the session.

S->C: RTSP/1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text/parameters

S->C: RTSP/1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text/parameters

COMMAND: SESSION DEMERGE OK
CONTROL SESSION: 4711234
MERGE: 4711234;interleaved=0-1, 2345611;interleaved=2-3,
2341566;interleaved=4-5, 8721345;interleaved=6-7
S-> C: RTSP / 1.0 451 Invalid Parameter
CSeq: 10
Content-length: 10
Content-type: text / parameters

S-> C: RTSP / 1.0 200 SET_PARAMETER
CSeq: 10
Content-length: 10
Content-type: text / parameters

COMMAND: SESSION DEMERGE OK
CONTROL SESSION: 4711234
MERGE: 4711234; interleaved = 0-1, 2345611; interleaved = 2-3,
2341566; interleaved = 4-5, 8721345; interleaved = 6-7

표 12는 서버가 클라이언트로부터 세션 머지 명령을 받고 그에 대해 송신하는 응답을 나타낸다.Table 12 shows the responses that the server receives from the client and receives a session merge command.

클라이언트로부터 세션 디머지 명령을 수신하고 그것이 유효한 명령으로서 서버측에서 SESSION DEMERGE OK 을 전달하는 경우, 서버는 통합된 단일 세션을 세션 머지 명령을 수신하기 전과 같이 복수 개의 세션으로 분리한다. 여기서 단일 세션을 복수 개의 세션으로 분리하는 것은, 단일 세션 자체를 복수 개의 세션으로 나누어 놓는 것을 의미하는 것이 아니고, 구체적으로는 단일 세션을 통해 송신되던 통합 데이터를 구성하기 위한 채널의 식별정보와 RTCP의 식별정보의 할당을 취소하고, 세션 머지 명령을 수신하기 전처럼 각 채널의 데이터를 그와 맵핑된 각 세션을 통해서 송신하도록 변경하는 것을 뜻한다. When receiving a session dimmer command from a client and sending a SESSION DEMERGE OK on the server side as a valid command, the server separates the unified single session into a plurality of sessions as before receiving the session merge command. Here, the separation of a single session into a plurality of sessions does not mean that a single session itself is divided into a plurality of sessions. More specifically, identification information of a channel for composing integrated data transmitted through a single session, It means to cancel the allocation of the identification information and change the data of each channel to be transmitted through each session mapped with it before receiving the session merge command.

예를 들어, 위의 명령구문을 참조하면, 세션 머지 명령을 수신하기 전까지 식별정보 2345611에 해당하는 세션을 통해 송신되던 채널의 데이터에 할당되었던 채널 식별정보 2를 취소하여, 단일 세션인 4711234 세션을 통해 송신하던 데이터를 원래대로 2345611 세션을 통해서 송신하게 된다. 이는 RTCP에 따른 명령도 마찬가지이므로, RTCP 식별정보 3도 취소되면서 원래대로 2345611 세션을 통해서 RTCP에 따른 데이터 전송 상태 감시 명령도 송수신된다.For example, referring to the above command syntax, the channel identification information 2 allocated to the data of the channel transmitted through the session corresponding to the identification information 2345611 is canceled until the session merge command is received, and the single session 4711234 session The data transmitted through the 2345611 session will be transmitted through the session as it is. Since the command according to the RTCP is also the same, the RTCP identification information 3 is also canceled, and the data transmission status monitoring command according to the RTCP is also transmitted / received through the 2345611 session.

분리된 복수 개의 세션은 세션 디그룹 명령을 추가로 수신하기 전까지는 세션 그룹의 상태를 유지하며, 유효한 세션 디그룹 명령까지 클라이언트로부터 수신하는 경우, 세션 디그룹 명령의 파라미터로 지정된 식별정보에 해당하는 모든 세션은 통상의 세션이 되어 개별적으로 RTSP, RTP 에 따른 데이터를 송수신하게 된다.The plurality of separated sessions maintain the state of the session group until further receiving the session de-group command. When receiving a valid session de-group command from the client, the session de-group command corresponding to the identification information specified as the parameter of the session de- All sessions become regular sessions and send and receive data according to RTSP and RTP individually.

세션 머지 명령으로 인해 생성되는 단일 세션의 개수는 한정되어 있지 않으므로, 세션 머지 명령으로 통합된 단일 세션 여러 개를 하나의 RTSP 명령으로 제어할 수 있도록 여러 개의 단일 세션의 식별정보를 명령의 파라미터로 하여 세션 그룹 명령을 적용할 수도 있으며, 이 또한 본 발명의 실시 예 중 하나가 될 수 있다.Since the number of single sessions generated by the session merge command is not limited, it is also possible to use multiple single session identification information as parameters of an instruction so that a single session integrated with the session merge command can be controlled by one RTSP instruction A session group command may be applied, which may also be one of the embodiments of the present invention.

도 9은 세션 그룹 명령, 세션 디그룹 명령, 세션 머지 명령 및 세션 디머지 명령이 내려지는 순서를 나타낸 순서도이다.FIG. 9 is a flowchart showing the order in which a session group command, a session D group command, a session merge command, and a session dimmer command are issued.

단계 S910에서 서버는 클라이언트로부터 유효한 세션 그룹 명령을 수신하여 복수 개의 세션의 전부 또는 일부를 세션 그룹으로 설정하고, 각 세션 그룹마다 제어 세션을 설정한다.In step S910, the server receives a valid session group command from the client, sets all or a part of a plurality of sessions as a session group, and establishes a control session for each session group.

단계 S920에서 서버는 유효한 세션 머지 명령이 수신되었는지 판단하여 유효하지 않다면 클라이언트로 Invalid Parameter를 회신한다.In step S920, the server determines whether a valid session merge command has been received and returns an invalid parameter to the client if not valid.

단계 S930에서 서버는 클라이언트로 유효한 세션 머지 명령을 수신하였다는 응답을 하고, 세션 머지 명령에 포함된 세션 그룹의 식별정보를 갖는 세션 그룹내의 모든 세션을 인터리브드 방식을 이용하여 하나의 단일 세션으로 통합한다.In step S930, the server responds to the client that it has received a valid session merge command, and merges all sessions in the session group having the session group identification information included in the session merge command into one single session using the interleaved method do.

단계 S940에서 서버는 유효한 세션 디머지 명령이 수신되었는지 판단하여 유효하지 않다면 클라이언트로 Invalid Parameter를 회신한다.In step S940, the server determines whether a valid session demarcation instruction has been received, and if not, returns an invalid parameter to the client.

단계 S950에서 서버는 클라이언트로 유효한 세션 디머지 명령을 수신하였다는 응답을 하고, 세션 디머지 명령에 포함된 단일 세션의 식별정보를 갖는 단일 세션을 복수 개의 세션을 포함하는 세션 그룹으로 해제한다.In step S950, the server responds to the client that a valid session demarcation command has been received, and releases the single session having the identification information of the single session included in the session demarcation command into a session group including a plurality of sessions.

단계 S960에서 서버는 유효한 세션 디그룹 명령이 수신되었는지 판단하여 유효하지 않다면 클라이언트로 Invalid Parameter를 회신한다.In step S960, the server determines whether a valid session de-group command has been received, and if not, returns an invalid parameter to the client.

딘계 S970에서 서버는 클라이언트로 유효한 세션 디그룹 명령을 수신하였다는 응답을 하고, 세션 디그룹 명령에 포함된 세션 그룹의 식별정보를 갖는 세션 그룹을 특정 그룹에 속하지 않는 복수 개의 통상 세션으로 분리한다.In step S970, the server responds to the client that it has received a valid session de-grouping command, and separates the session group having the session group identification information included in the session de-group command into a plurality of normal sessions not belonging to the specific group.

도 10는 본 발명의 실시 예 중 하나로서, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템의 개략적인 블록도이다.10 is a schematic block diagram of a session management system for controlling data of a plurality of channels as one embodiment of the present invention.

도 10를 참조하면, 본 발명의 일 실시 예에 따른 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템은 도 5 내지 도 8에 도시된 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법에 따라 구현될 수 있다. 따라서, 도 5 내지 도 8에 도시된 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법과 동일한 사항에 대해서는 해당 내용을 참조하고, 이하에서는 자세한 설명이 생략될 수 있다.Referring to FIG. 10, a session management system for controlling data of a plurality of channels according to an embodiment of the present invention is implemented according to a session management method for controlling data of a plurality of channels shown in FIGS. 5 to 8 . Therefore, the same contents as those of the session management method for controlling data of a plurality of channels shown in FIGS. 5 to 8 will be referred to, and a detailed description may be omitted below.

복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템(1000)은 세션 제어부(1010)와 데이터 제어부(1020)를 포함한다.The session management system 1000 for controlling data of a plurality of channels includes a session control unit 1010 and a data control unit 1020.

세션 제어부(1010)는 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 세션 그룹에 포함된 복수 개의 세션 중 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 제어 세션과 통상 세션을 묶어서 세션 그룹으로 설정한다.The session control unit 1010 receives a session group command including identification information of a control session and identification information of at least one normal session from a client, identifies a control session among a plurality of sessions included in the session group, The session corresponding to the information is set as the control session, and the control session and the normal session are set as the session group.

본 발명에 따른 실시 예 중 하나로서, 세션 제어부(1010)는 머지 명령 수신부(미도시) 및 머지 명령 적용부(미도시)를 포함할 수 있다.As one embodiment of the present invention, the session control unit 1010 may include a merge command receiving unit (not shown) and a merge command applying unit (not shown).

머지 명령 수신부(미도시)는 서버가 클라이언트로부터 특정 세션 그룹에 속한 모든 세션의 식별정보를 포함하는 세션 머지(Session Merge) 명령을 수신하고, 세션 머지 명령에 따라 특정 세션 그룹에 속한 복수 개의 세션 중 하나의 단일 세션을 지정한다.A merge command receiver (not shown) receives a session merge command including identification information of all sessions belonging to a specific session group from a client, and receives a session merge command Specifies a single session.

머지 명령 적용부(미도시)는 특정 세션 그룹내의 각 세션에 맵핑된 각 채널의 데이터에 세션 머지 명령에 포함된 채널 식별정보를 할당하고, 채널 식별정보가 할당된 각 채널의 데이터를 특정 순서대로 교차배치시켜서 통합 데이터를 생성하고, 상기 통합 데이터를 단일 세션을 통해서 클라이언트로 송신한다.The merge command application unit (not shown) allocates the channel identification information included in the session merge command to the data of each channel mapped to each session in the specific session group, and stores the data of each channel assigned channel identification information in a specific order And the integrated data is transmitted to the client through a single session.

데이터 제어부(1020)는 클라이언트로부터 데이터 제어 명령을 제어 세션을 통해서 수신한 후, 제어 세션을 통해 데이터 제어 명령에 대한 응답을 송신하면서, 세션 그룹내의 각 세션을 통해 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신한다.The data control unit 1020 receives a data control command from a client through a control session and transmits a response to the data control command through the control session, To the client.

본 발명에 따른 세션 관리 방법 및 시스템은, 복수 개의 채널의 데이터를 복수 개의 세션을 통해 송수신하는 서버와 클라이언트간의 세션을 관리하는 데에 있어서, 클라이언트로부터 수신하는 데이터의 제어 명령을 각 세션별로 시간지연 없이 전달하여 적용시킬 수 있으며, 복수 개의 세션을 하나의 단일 세션으로 통합하여 대역폭의 관리에 도움을 줄 수 있고, 특히 RTSP/RTP/TCP를 이용하며 다중 채널의 스트리밍 데이터를 송수신할 경우의 세션 관리에 있어서 우수성을 갖는다.A session management method and system according to the present invention is a session management method and system for managing a session between a client and a server that transmits and receives data of a plurality of channels through a plurality of sessions, In addition, it is possible to integrate a plurality of sessions into a single session, thereby helping to manage the bandwidth. In particular, the session management when transmitting / receiving multi-channel streaming data using RTSP / RTP / TCP .

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.

본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되지 아니하고, 첨부된 청구범위에 의해 권리범위를 한정하고자 하며, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 형태의 치환, 변형 및 변경할 수 있다는 것은 당 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.It is to be understood that the present invention is not limited to the above-described embodiments and the accompanying drawings, and that the scope of the present invention is defined by the appended claims, and that various changes, substitutions and alterations can be made hereto without departing from the spirit of the invention, It will be apparent to those skilled in the art that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention.

본 발명은 각종 미디어 데이터를 저장하거나 전송하는 장치에서 여러 채널의 데이터를 네트워크로 전송할 때, 하나의 명령으로 여려 채널의 데이터를 제어할 수 있는 기능을 제공하여, DVR, NVR, IP Camera, Video Server의 기술분야에서 산업상 이용이 가능하다.The present invention provides a function of controlling data of a different channel by a single command when transmitting data of a plurality of channels to a network in an apparatus for storing or transmitting various media data. The DVR, the NVR, the IP camera, and the Video Server Which is industrially applicable in the technical field of

Claims (6)

서버와 클라이언트간에 복수 개의 세션이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법에 있어서,
상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 세션 그룹에 포함된 복수 개의 세션 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 통상 세션을 묶어서 세션 그룹으로 설정하는 세션 제어 단계; 및
상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹내의 각 세션을 통해 상기 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신하는 데이터 제어 단계; 를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법.
A session management method for controlling data of a plurality of channels between a server and a client in which a plurality of sessions are created between a server and a client and data of each channel mapped to each session is transmitted and received through each session,
Receiving a session group command including identification information of a control session and identification information of at least one or more normal sessions from the client, and receiving a session group command corresponding to identification information of the control session among a plurality of sessions included in the session group A session control step of setting a session to be a control session and grouping the control session and the normal session into a session group; And
Receiving a data control command from the client through the control session and transmitting a response to the data control command through the control session; To the client; The method of claim 1,
제1항에 있어서, 상기 세션 제어 단계는,
상기 클라이언트로부터 특정 세션 그룹에 속한 모든 세션의 식별정보를 포함하는 세션 머지(Session Merge) 명령을 수신하고, 상기 세션 머지 명령에 따라 상기 특정 세션 그룹에 속한 복수 개의 세션 중 하나의 단일 세션을 지정하는 머지 명령 수신 단계; 및
상기 특정 세션 그룹내의 각 세션에 맵핑된 각 채널의 데이터에 상기 세션 머지 명령에 포함된 채널 식별정보를 할당하고, 상기 채널 식별정보가 할당된 각 채널의 데이터를 특정 순서대로 교차배치시켜서 통합 데이터를 생성하고, 상기 통합 데이터를 단일 세션을 통해서 클라이언트로 송신하는 머지 명령 적용 단계; 를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법.
2. The method according to claim 1,
Receiving a session merge command including identification information of all sessions belonging to a specific session group from the client, and designating a single session of one of a plurality of sessions belonging to the specific session group according to the session merge command A merge command receiving step; And
Assigning channel identification information included in the session merge command to data of each channel mapped to each session in the specific session group and cross-arranging data of each channel allocated with the channel identification information in a specific order, And transmitting the merged data to a client through a single session; The method of claim 1,
제1항 또는 제2항에 있어서,
상기 채널의 데이터는 비디오 및 오디오를 포함하는 미디어 스트리밍 데이터(media streaming data)이고,
상기 세션 그룹 명령 및 세션 머지 명령은 RTSP(Real Time Streaming Protocol)의 Setparameter 명령을 이용하는 것을 특징으로 하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법.
3. The method according to claim 1 or 2,
The data of the channel is media streaming data including video and audio,
Wherein the session group command and the session merge command use a setparameter command of RTSP (Real Time Streaming Protocol).
서버와 클라이언트간에 복수 개의 세션이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템에 있어서,
상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 세션 그룹에 포함된 복수 개의 세션 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 통상 세션을 묶어서 세션 그룹으로 설정하는 세션 제어부; 및
상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹내의 각 세션을 통해 상기 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신하는 데이터 제어부; 를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템.
A session management system for controlling data of a plurality of channels between a server and a client in which a plurality of sessions are created between a server and a client and data of each channel mapped to each session is transmitted and received through each session,
Receiving a session group command including identification information of a control session and identification information of at least one or more normal sessions from the client, and receiving a session group command corresponding to identification information of the control session among a plurality of sessions included in the session group A session control unit configured to set a session as a control session, and to set the control session and the normal session as a session group; And
Receiving a data control command from the client through the control session and transmitting a response to the data control command through the control session; To the client; And a control unit for controlling the data of the plurality of channels.
제4항에 있어서, 상기 세션 제어부는,
상기 클라이언트로부터 특정 세션 그룹에 속한 모든 세션의 식별정보를 포함하는 세션 머지(Session Merge) 명령을 수신하고, 상기 세션 머지 명령에 따라 상기 특정 세션 그룹에 속한 복수 개의 세션 중 하나의 단일 세션을 지정하는 머지 명령 수신부; 및
상기 특정 세션 그룹내의 각 세션에 맵핑된 각 채널의 데이터에 상기 세션 머지 명령에 포함된 채널 식별정보를 할당하고, 상기 채널 식별정보가 할당된 각 채널의 데이터를 특정 순서대로 교차배치시켜서 통합 데이터를 생성하고, 상기 통합 데이터를 단일 세션을 통해서 클라이언트로 송신하는 머지 명령 적용부; 를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템.
5. The apparatus of claim 4,
Receiving a session merge command including identification information of all sessions belonging to a specific session group from the client and designating a single session of one of a plurality of sessions belonging to the specific session group according to the session merge command A merge command receiving unit; And
Assigning channel identification information included in the session merge command to data of each channel mapped to each session in the specific session group and cross-arranging data of each channel allocated with the channel identification information in a specific order, A merge command application unit for transmitting the merged data to the client through a single session; And a control unit for controlling the data of the plurality of channels.
제4항 또는 제5항에 있어서,
상기 채널의 데이터는 비디오 및 오디오를 포함하는 미디어 스트리밍 데이터(media streaming data)이고,
상기 세션 그룹 명령 및 세션 머지 명령은 RTSP(Real Time Streaming Protocol)의 Setparameter명령을 이용하는 것을 특징으로 하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템.
The method according to claim 4 or 5,
The data of the channel is media streaming data including video and audio,
Wherein the session group command and the session merge command use a setparameter command of an RTSP (Real Time Streaming Protocol).
KR1020140069579A 2014-06-09 2014-06-09 Session management method and system for controlling data of multi-channel KR102199471B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140069579A KR102199471B1 (en) 2014-06-09 2014-06-09 Session management method and system for controlling data of multi-channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140069579A KR102199471B1 (en) 2014-06-09 2014-06-09 Session management method and system for controlling data of multi-channel

Publications (2)

Publication Number Publication Date
KR20150141062A true KR20150141062A (en) 2015-12-17
KR102199471B1 KR102199471B1 (en) 2021-01-06

Family

ID=55080986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140069579A KR102199471B1 (en) 2014-06-09 2014-06-09 Session management method and system for controlling data of multi-channel

Country Status (1)

Country Link
KR (1) KR102199471B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103213A (en) * 1992-09-18 1994-04-15 Hitachi Ltd Input/output device
JP2001265680A (en) * 2000-03-15 2001-09-28 Fujitsu Ltd Device and method for managing session of plural media
KR100823904B1 (en) 2003-10-02 2008-04-21 퀄컴 인코포레이티드 Systems and methods for multiplexing control data for multiple data channels onto a single control channel
US8611428B1 (en) * 2008-05-08 2013-12-17 Velti USA, Inc. Transparent insertion of multimedia content in real-time streaming sessions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103213A (en) * 1992-09-18 1994-04-15 Hitachi Ltd Input/output device
JP2001265680A (en) * 2000-03-15 2001-09-28 Fujitsu Ltd Device and method for managing session of plural media
KR100823904B1 (en) 2003-10-02 2008-04-21 퀄컴 인코포레이티드 Systems and methods for multiplexing control data for multiple data channels onto a single control channel
US8611428B1 (en) * 2008-05-08 2013-12-17 Velti USA, Inc. Transparent insertion of multimedia content in real-time streaming sessions

Also Published As

Publication number Publication date
KR102199471B1 (en) 2021-01-06

Similar Documents

Publication Publication Date Title
JP6014870B2 (en) Method and system for real-time transmax conversion of streaming media content
US10116971B2 (en) Method and system for fetching a portion of a live media stream before a first ad finishes playing to detect the subsequent ad indicator for live consecutive ad replacement
US10659502B2 (en) Multicast streaming
US9681197B2 (en) Methods of implementing multi mode trickplay
CN105376613B (en) A kind of fast channel switching method, server and IPTV system
KR101978738B1 (en) Streaming media data transmission method, client and server
US9838455B2 (en) Fast encoding of live streaming media content
US20170127147A1 (en) Multicast streaming
WO2015134297A1 (en) Bandwidth aware digital video recording (dvr) scheduling
CN104254014B (en) Wall collocation method and system on a kind of video of simulated television wall
US20170099524A1 (en) Method and System for Monitoring Video With Single Path of Video and Multiple Paths of Audio
US11799709B2 (en) Systems and methods for inserting supplemental content into a quadrature amplitude modulation signal using existing bandwidth
EP3099069B1 (en) Method for processing video, terminal and server
KR102137858B1 (en) Transmission device, transmission method, reception device, reception method, and program
KR20170000312A (en) Method and apparatus for digital broadcast services
US20180338170A1 (en) Contiguous Streaming Of Media Stream
CN110022286B (en) Method and device for requesting multimedia program
US20120017245A1 (en) Method and system for providing programming guide and recording information via an ip multimedia gateway
CN105594220B (en) Receiving apparatus, receiving method, transmitting apparatus and transmitting method
KR102199471B1 (en) Session management method and system for controlling data of multi-channel
KR102349451B1 (en) The method for transmitting or receiving multimedia and apparatus thereof
CN110113565B (en) Data processing method and intelligent analysis equipment based on video network
DE102005052207A1 (en) Multimedia data source to sink transmission procedure can change buffer forwarding to use ID for trick mode operation
WO2017071524A1 (en) Multimedia resource publishing method and apparatus
US20230246946A1 (en) Methods and systems for multicast communication session management

Legal Events

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