KR102199471B1 - 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템 - Google Patents

복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템 Download PDF

Info

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

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

본 발명은 복수 개의 채널의 데이터를 제어하기 위한 세션 관리 방법 및 시스템을 개시한다. 이를 위해 각 채널의 데이터를 송신하는 각 세션을 그룹화하고, 그룹화된 세션을 대표하여 데이터 제어 명령을 송수신하는 제어 세션을 설정한다. 또한, 세션 그룹 내의 각 세션을 통해 송신되는 데이터를 특정 순서로 배치하여 하나의 단일 세션을 통해 클라이언트로 송신함으로써, 각 채널의 데이터를 일시에 제어하는 데 있어서 발생하는 시간 지연을 최소화하고, 대역폭 관리를 하나의 단일 세션을 통해서만 처리할 수 있다.

Description

복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템 {Session management method and system for controlling data of multi-channel}
복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템에 관한 것으로, 구체적으로는 복수 개의 세션을 통해 복수 개의 채널의 데이터를 송수신하는 서버와 클라이언트간에 생성된 복수 개의 세션을 제어 및 관리하는 방법에 관한 것이다.
스트리밍이란, 인터넷에서 영상이나 음향·애니메이션 등의 파일을 하드디스크 드라이브 등 저장장치에 다운로드를 완료하여 재생하던 종래 방식을 벗어나, 다운로드를 진행하면서 실시간으로 재생하는 기법이다.
스트리밍 기법을 적용하여 영상, 음성 정보를 서비스해주는 장치들이 많아지고 있으며, 특히 보안기기나 감시장비에 있어서는 이를 더욱 개선하여 하나의 클라이언트가 하나의 서버로부터 여러 채널의 영상을 실시간으로 수신할 수 있게 되었다.
도 1은 16개의 채널의 영상을 저장하고 전송하는 DVR(Digital Video Recorder) 장치에 있어서, 클라이언트의 한 화면에 16개의 채널의 영상이 모두 출력되는 것을 개략적으로 나타낸 것이다.
이때 DVR 서버가 제공하는 영상이 외부 카메라 장치 등에 의해 실시간으로 기록되고 있는 것이라면 클라이언트에서는 FREEZE 기능을 이용하여 영상을 정지하거나, 영상을 계속 수신할 수 있는 2가지의 영상 스트림 제어를 사용할 수 있고, 서버가 제공하는 영상이 서버에 저장되어 있던 영상이라면 재생, 정지, 앞으로, 뒤로, 한 프레임씩 앞으로 또는 뒤로, 또는 빠르게 재생, 느리게 재생 등의 다양한 재생 제어 명령을 클라이언트에서 내릴 수 있다.
즉, 스트리밍 기법에서의 실시간이란, 전송되는 데이터가 실시간으로 기록되고 있는 것을 의미하는 것이 아니고, 전송되는 데이터의 일부만을 가지고도 클라이언트에서 이를 재생하고 제어하는 것이 가능하다는 것을 의미한다.
서버와 클라이언트간에 한 개의 채널의 데이터가 전송되기 위해서는 서버와 클라이언트간의 논리적 연결로서, 세션(Session)이 생성되어 있어야 하며, 종래에는 채널마다 관리를 용이하게 하기 위해서 한 개의 세션에 통해 한 개의 채널의 데이터를 송수신하는 것이 일반적이었으나, 보안기기, 감시장비의 효율성을 극대화하기 위해 여러 개의 채널(Multi Channels)의 영상이 하나의 클라이언트에서 재생되어야 할 때에는 세션의 숫자와 채널의 숫자가 일치하지 않게 되므로, 이처럼 복수 개의 세션을 통해 복수 개의 채널의 데이터가 서버와 클라이언트간에 송수신될 때, 세션을 효율적으로 제어 및 관리하는 방법이 요구된다.
(특허문헌 0001) 국내등록특허 제0823904호
본 발명이 해결하고자 하는 기술적 과제는 데이터 제어 명령이 세션마다 전달되면서 발생하는 시간지연을 방지하고, 서버와 클라이언트간의 생성된 복수 개의 세션의 대역폭 관리를 용이하게 하는, 복수 개의 채널의 데이터를 송수신하는 서버와 클라이언트간의 복수 개의 세션의 관리 방법 및 시스템을 제공하는 것이다.
상기의 기술적 과제를 해결하기 위한 본 발명의 제 1실시예는 서버와 클라이언트간에 복수 개의 세션이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법에 있어서, 상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 세션 그룹에 포함된 복수 개의 세션 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 통상 세션을 묶어서 세션 그룹으로 설정하는 세션 제어 단계; 및 상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹내의 각 세션을 통해 상기 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신하는 데이터 제어 단계;를 포함한다.
상기의 기술적 과제를 해결하기 위한 본 발명의 제 2실시예는 서버와 클라이언트간에 복수 개의 세션이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템에 있어서, 상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 세션 그룹에 포함된 복수 개의 세션 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 통상 세션을 묶어서 세션 그룹으로 설정하는 세션 제어부; 및 상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹내의 각 세션을 통해 상기 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신하는 데이터 제어부;를 포함한다.
본 발명의 세션 관리 방법에 의하면, 서버와 클라이언트간에 형성되어 있는 복수 개의 세션의 전부 또는 일부를 그룹화하고 그룹화된 세션 중 어느 하나의 세션을 제어 세션으로 설정하여 클라이언트로부터 제어 세션을 통해서 세션 그룹에 의해 송수신되는 데이터를 제어함으로써, 세션별 반복적인 명령 전달로 인해 발생하는 시간 지연을 방지할 수 있다.
또한, 세션 그룹내 복수 개의 세션을 하나의 세션으로 통합함으로써, 대역폭의 관리를 하나의 세션에서 처리할 수 있다.
도 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은 본 발명의 실시 예 중 하나로서, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템의 개략적인 블록도이다.
이하 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다.
본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대해 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하거나 간략하게 설명하는 것으로 한다.
한편, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
후술하는 개념 중 데이터는 서버와 클라이언트간에 전송되는 객체를 총괄하는 개념이고, 미디어 데이터(Media Data)는 각종 데이터 중 비디오 또는 오디오 데이터로 한정하는 하위 개념이다. 또한, 미디어 스트리밍 데이터(Media Streaming Data)는 이를 수신하는 클라이언트측에서 수신을 완료하기 전이라도 수신된 데이터의 일부에 대해서도 재생이 가능한 것으로서, 미디어 데이터를 한정하는 하위 개념이다.
후술하는 서버는 비디오와 오디오를 포함하는 각종 미디어 데이터를 저장 및 전송할 수 있는 장치로서 DVR, NVR, IP Camera 시스템에서의 서버 또는 기지국으로 대체될 수 있고, 클라이언트는 비디오와 오디오를 포함하는 각종 미디어 데이터를 수신 및 재생할 수 있는 장치로서 DVR, NVR, IP Camera 시스템에서의 클라이언트 또는 단말기로 대체될 수 있다.
RTSP(Real Time Streaming Protocol)이란, 실시간으로 송수신되는 데이터에 관한 규약으로서, 재생, 일시정지, 빨리감기, 되감기, 재생 위치 변경 명령과 같은 데이터를 제어하기 위한 방법을 제공한다.
RTP(Real time Transport Protocol)이란, 실시간으로 송수신되는 데이터의 전송 규약으로서, 특히 '비디오 또는 오디오 데이터를 포함하는 미디어 데이터(Media Data)'(이하, 미디어 데이터)를 전송하기 위한 규약이다.
RTCP(Real Time Transport Control Protocol)란, RTP 데이터 전송 상태를 감시하고, 세션 관련 정보 전송을 위한 프로토콜로서, 세션 내 모든 수신부에 주기적으로 제어 패킷을 전송하여 궤환되는 데이터로부터 QoS(Quality of Service) 모니터링을 수행하고 수신단측의 전송률을 계산하는 등, RTP에 대한 흐름 제어(Flow Control)를 위해 사용된다.
RTSP 및 RTP의 데이터 전송 표준으로는 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 중 어느 하나를 사용할 수 있으며, 이에 대해서는 도 4a와 함께 후술한다. 이후부터는 명세서 내에서 중복 표기를 최소화하기 위해 RTSP/RTP/TCP, RTSP/RTP/UDP 라고 기재할 수 있고, 전자는 TCP 데이터 전송 표준으로서, 데이터 제어 규약은 RTSP, 데이터 전송 규약은 RTP를 따른다는 것이며, 후자는 데이터 전송 표준으로 UDP를 이용한다는 것 외에 나머지 부분은 전자와 같다. RTCP는 RTP를 그대로 따르므로, 특별히 추가로 설명하지 않는다면 RTP와 동일한 조건으로 본다.
도 2는 본 발명의 실시 예 중 하나인 RTSP/RTP를 이용하여 서버와 클라이언트간의 미디어 데이터를 전송하고 제어하는 과정을 개략적으로 나타낸 것이다.
각 단계는 데이터 전송 상태 감시 단계(S205)를 제외하고, 클라이언트가 먼저 서버에게 명령을 내리면 그에 대해 서버가 응답하는 형태로 진행된다.
먼저, 클라이언트가 서버에서 제공하는 명령을 획득하기 위해 서버에 명령을 내리고 서버가 그에 대해 응답하는 명령어 획득 단계(S201)가 수행된다. 클라이언트가 서버로 전송하는 명령의 일 예로서, RTSP의 OPTION 명령이 사용될 수 있다.
그 다음에는, 클라이언트가 서버가 가지고 있는 데이터 정보를 획득하기 위해 서버에 명령을 내리고 서버가 그에 대해 응답하는 데이터 정보 획득 단계(S202)가 수행된다. 서버가 가지고 있는 데이터 정보의 예로서는, 미디어 파일의 해상도(resolution), 코덱(Codec), 프레임 레이트(frame rate), 비트 레이트(bit rate), 오디오 정보 등을 들 수 있으며, 클라이언트가 서버가 가지고 있는 데이터 정보를 획득하기 위해 내리는 명령의 일 예로서, RTSP의 DESCRIBE 명령이 사용될 수 있다.
그 후, 클라이언트는 데이터를 전송하는 서버와 수신하려는 클라이언트간에 세션(Session)을 생성하기 위한 명령을 서버에 전달하고 서버가 해당 명령을 승인하여 세션을 생성하는 세션 생성 단계(S203)가 수행된다. 클라이언트가 데이터를 전송하는 서버에 세션을 생성하기 위해 내리는 명령의 일 예로서, RTSP의 SETUP 명령이 사용될 수 있다.
세션이 생성된 후 클라이언트로부터 데이터 전송 명령을 전달받으면 서버가 이를 승인하는 데이터 전송 요청 단계(S204)가 수행되며 이는 RTSP의 PLAY 명령에 해당할 수 있다. 서버가 클라이언트의 데이터 전송 요청을 승인하고, 그 직후 RTP에 따라 클라이언트로 데이터를 전송하면, 서버측에서는 클라이언트측의 전송률을 계산하고, QoS(Quality of Service)를 모니터링하기 위해, 클라이언트로부터 RTCP에 의한 궤환(Feedback) 데이터를 수신하는 데이터 전송 상태 감시 단계(S205)를 순차적으로 진행한다.
클라이언트로부터 데이터 전송을 정지하거나, 세션을 종료하라는 명령을 전달받고, 서버가 응답하는 전송 정지 요청 단계(S206) 및 세션 종료 요청 단계(S207)가 수행될 수 있으며, 클라이언트로부터 데이터 전송을 정지를 요청하는 일 예로서, RTSP의 PAUSE명령이, 클라이언트로부터 세션을 종료하라는 명령을 전달받는 일 예로서, RTSP의 TEARDOWN 명령이 사용될 수 있다.
도 3a는 본 발명의 따른 데이터를 송수신하는 복수 개의 서버와 한 개의 클라이언트를 나타낸 블록도이다.
도 3a를 참조하면, 제1서버(310a)는 레코더(315a), 데이터 저장 장치(320a), 네트워크 클라이언트 관리부(325a), RTSP 송수신부(330a), RTP 송수신부(335a)를 포함하며, 클라이언트(350a)는 채널 제어 관리부(355a), RTSP/RTP 데이터 송수신부 2개(위로부터 각각 360a, 365a)를 포함한다.
레코더(315a)는 서버와 유선 또는 무선으로 연결된 카메라(미도시)로부터 데이터를 전송받고, 이를 저장시키기 위해 데이터 저장 장치(320a)로 전송한다.
데이터 저장 장치(320a)는 카메라로부터 실시간으로 입력되는 데이터를 영상파일 형태로 저장하거나, 외부 저장 장치로부터 데이터를 전송받아 저장한다.
네트워크 클라이언트 관리부(325a)는 불필요한 데이터 프레임의 전송을 막거나, 동일 데이터의 중복 처리를 방지하는 방식으로 서버와 클라이언트간의 생성되는 세션의 대역폭을 조정한다.
RTSP 송수신부(330a)는 클라이언트로부터 RTSP 명령을 수신하여 처리하며, RTP 송수신부(335a)는 클라이언트로 송수신할 RTP 데이터를 처리한다.
그 외 제2서버(3101a) 내지 제n번째(310na) 서버까지, 서버의 개수는 복수 개가 될 수 있으며, 각 서버는 제1서버(310a)와 같은 구성을 포함한다.
채널 제어 관리부(355a)는 네트워크 클라이언트 관리부(325a)와 연동하여 서버(310a)로부터 수신하는 각 채널의 데이터를 관리한다.
RTSP/RTP 데이터 송수신부(위로부터 각각 360a, 365a)는 RTSP 송수신부(330a)와 RTP 송수신부(335a)와 연결되어 RTSP 명령, RTP 데이터를 송수신한다. RTSP/RTP 송수신부의 개수는, 설명의 편의를 위해서 2개로 표시한 것일 뿐, 서버에서 송신하는 채널의 수에 따라 변동될 수 있다.
도 3b는 본 발명의 일 실시 예에 따른 데이터를 송수신하는 한 개의 NVR(Network Video Recorder) 서버와 한 개의 네트워크 클라이언트를 나타낸 블록도이다.
도 3b를 참조하면, NVR서버(310b)는 레코더(315b)와, 데이터 저장장치(320b)와 클라이언트 대역폭 관리부(325b)와 RTSP/RTP 관리부(330b)를 포함하며, 네트워크 클라이언트(350b)는 채널 제어 관리부(355b)와 다수의 RTSP/RTP 송수신부를 포함한다. 명세서의 간명화를 위해서 도 3a에서 설명했던 구성에 대해서는 설명을 생략한다.
클라이언트 대역폭 관리부(325b)는 채널 제어 관리부(355b)와 네트워크로 연결되어, 서버와 클라이언트간에 생성된 세션에 대한 정보를 받고, 대역폭을 관리한다.
RTSP/RTP 관리부(330b)는 데이터 저장 장치로부터 데이터를 전송받아서, 네트워크 클라이언트(350b)로 전송할 데이터의 종류를 나타내는 채널을 분류하고, 각 채널에 맵핑된 세션을 생성하고, 세션을 통해서 RTSP/RTP 에 따른 데이터를 송수신을 한다.
네트워크 클라이언트의 RTSP/RTP 송수신부는 채널 제어 관리부(355b)에 따라, 개수가 변동될 수 있으며, 그 개수는 RTSP/RTP 관리부(330b)로부터 전송되는 채널의 수에 의해 결정된다. RTSP/RTP 송수신부는 최종적으로 NVR 서버로부터 데이터를 전송받아 이를 재생 또는 출력할 수 있는 출력부(미도시)로 전송한다.
도 3a 및 도 3b의 클라이언트 및 네트워크 클라이언트는 각 서버로부터 수신하는 채널에 맵핑된 세션의 정보를 가지고 있다. 세션의 정보는 도 2에서 전술한 것과 같이 RTSP 연결 과정 중 세션 생성 단계(S203)에서 서버와 클라이언트간에 세션을 생성할 때, 결정되어 서버 및 클라이언트에 각각 저장되며, 복수 개의 세션을 각각 구별시켜주는 정보이므로 세션 식별정보(Session Identification Information)라고도 칭할 수 있다.
도 4a, 4b, 및 4c는 기존의 RTSP의 표준 프로토콜을 이용하여 데이터를 전송하는 방식을 도식적으로 나타내고 있다.
도 4a와 같이 RTSP와 RTP의 데이터 전송 표준을 UDP로 한 경우, UDP가 데이터를 송신 후 수신단의 데이터 수신여부를 확인하는 과정을 거치지 않는 단향성을 가지는 특성상, 제어 명령을 송수신하기 위한 RTSP에 따른 명령 세션(420a)과 데이터를 송수신하는 RTP에 따른 데이터 세션(425a)이 각각 필요하다. RTCP에 따른 명령은 RTP와 같은 세션을 통해 서버(410a)와 클라이언트(415a)간에 송수신된다.
도 4b는 서버(410b)와 클라이언트(415b)가 RTSP와 RTP의 데이터 전송 표준을 TCP로 한 경우로서, RTSP에 따른 명령 세션과 RTP에 따른 데이터 세션이 같다는 것을 나타내고 있다. 다시 말해, 하나의 세션에서 RTSP, RTP 각각의 데이터 송수신이 가능하다. RTCP에 따른 명령은 RTP와 같은 세션을 이용하여 송수신되므로, 이 경우에는 RTSP RTP 및 RTCP 에 따른 명령 및 데이터는 모두 하나의 세션(420b)을 통해 송수신된다.
도 4c는 도 4b에서 복수 개의 채널(Multi Channels)의 데이터가 각 채널에 맵핑된 각 세션을 통해 송수신될 때의 서버와 클라이언트간의 모습이다.
도 4c에서 세션은 서버(410c)와 클라이언트(415c)간에 4개 생성되어 있다. 예를 들어 420c, 425c, 430c, 435c, 이상 4개의 세션의 번호가 각각 4711234, 2345611, 2341566, 8721345번으로 매겨져 있다고 가정하고, 도 4c의 서버는 특정 방송국의 서버로서, A채널, C채널, F채널, Z채널의 방송 데이터를 송신하고, 각 채널의 식별정보가 순서대로 0, 2, 6, 12로 할당되어있다고 가정한다.
먼저, 4711234, 2345611, 2341566, 8721345으로 매겨진 세션의 번호는 각 세션을 식별하기 위한 정보이므로, 전술한대로 세션 식별정보(Session Identificat
ion Information)라고 할 수 있고, 같은 방식으로 0, 2, 6, 12은 채널 식별정보라고 할 수 있다. 각 식별정보는 숫자만으로 한정되지 않으며 문자도 될 수 있다, 세션 식별정보는 클라이언트로부터 세션을 생성하라는 명령을 받은 후에 서버가 그에 대한 응답으로 보내는 세션 생성 단계(S203)에서 생성된다. 채널 식별정보의 생성에 대해서는 표 10을 참고하여 후술한다.
표 1과 표 2는 본 발명의 실시 예 중 하나로서, 각각 세션 식별정보를 포함한 세션 생성 명령과 그 응답에 대해 나타낸다. 문자 C와 S는 각각 클라이언트와 서버를 의미한다.
C->S: SETUP rtsp://example.com/foo/bar/baz.rm RTSP/1.0
CSeq: 302
Transport: RTP/AVP;unicast;client_port=4588-4589
표 1은 클라이언트가 서버에게 세션 생성 요청을 하는 것을 나타낸다.
도 2에서 상술한 세션을 생성하는 세션 생성 단계(S203)의 일 예로서, 클라이언트는 서버에게 SETUP 명령을 전달한다.
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는 서버가 클라이언트로부터 세션 생성 요청을 받은 후 클라이언트로 응답하는 것을 나타낸다.
클라이언트의 세션 생성 요청이 유효한 경우, 서버는 식별정보 4711234를 갖는 세션을 생성하고, 세션 식별정보 및 포트번호를 포함한 응답을 클라이언트에 보냄으로써, 도 2에서 전술한 RTSP 연결과정에서 세션 생성 단계(S203)가 종료된다.
식별정보 2345611, 2341566, 8721345를 갖는 세션 또한, 위와 동일한 과정을 통해 생성되고, 채널 식별정보와 세션 식별정보가 1:1 맵핑이 된다. 예를 들어, 세션 식별정보가 4711234인 세션에는 채널 식별정보가 6인 채널이 맵핑되고, 식별정보가 2341566인 세션에는 채널 식별정보가 12인 채널이 맵핑된다. 세션과 채널간에 맵핑이 끝난 후에는 각 채널의 데이터는 각 채널에 맵핑된 세션을 통해 서버에서 클라이언트로 송신된다. 위에 예시를 이용하면, 세션 식별정보 4711234에 해당하는 세션을 통해서는 채널 식별정보 6을 갖는 F채널의 데이터가 송신되며, 세션 식별정보 2341566에 해당하는 세션을 통해서는 채널 식별정보 12를 갖는 Z채널의 데이터가 송신된다.
도 4c를 참조하면, RTSP에 따른 데이터 제어 명령은 각 세션을 통해 표현되고 있으며, 이는 각 세션을 통해 전송되는 각기 다른 채널의 데이터의 전송동작을 개별적으로 제어하게 된다. 예를 들어, 식별정보 4711234를 갖는 세션을 통해서 데이터 전송을 멈추라는 RTSP에 따른 데이터 제어 명령과, 식별정보 2341566을 갖는 세션을 통해서 데이터 전송을 빠르게 하라는 RTSP에 따른 데이터 제어 명령이 전달되는 경우, 서버는 식별정보 4711234를 갖는 세션을 통해 클라이언트로 전송하는 데이터를 전송을 중지하고, 식별정보 2341566을 갖는 세션을 통해 클라이언트로 전송하는 데이터의 전송속도는 늘릴 것이다.
RTSP 연결과정에서 생성한 세션 식별정보는 고유한 값을 가지므로, 서로 다른 두 개 이상의 세션이 같은 세션 식별정보를 가질 수 없으며, 주어진 세션 식별정보는 Teardown 명령 등으로 해당 연결이 종료되기 전까지는 유지된다.
도 5는 본 발명의 실시 예 중 하나인 세션 그룹(Session Group)명령에 따른 서버와 클라이언트간의 세션 상태의 변경을 도식적으로 나타낸다.
도 4c 세션 상태에서 사용자가 클라이언트(415c)를 통해 세션 그룹 명령을 내리는 경우, 그 명령은 서버(410c)에 전달되어 해당 명령 내에 포함되어 있는 정보에 따라 세션 상태를 도 5와 같이 변경시킨다. 사용자가 클라이언트(415c)를 통해 내리는 세션 그룹 명령은 제어 세션의 식별정보와 적어도 한 개 이상의 통상 세션의 식별정보를 포함한다.
제어 세션(550)은 세션 그룹 명령에 의해 서버(510)와 클라이언트(520) 간에 생성된 복수 개의 세션 중에 적어도 하나 이상 지정되는 세션을 의미한다. 세션 그룹 명령에 포함되어 있는 제어 세션의 식별정보에 해당하는 세션이 제어 세션(550)이 되며, 후술할 세션 디그룹 명령을 받기 전까지는 세션 그룹 내의 모든 세션을 통해 전송되는 데이터의 전송동작은 제어 세션(550)을 통해 전송되는 데이터 제어 명령에 의한다.
예를 들어, 도 4c의 각 세션 식별정보가 위로부터 4711234, 2345611, 2341566, 8721345으로 매겨져 있고, 세션 그룹 명령에 포함된 제어 세션의 식별정보는 4711234이며, 세션 그룹 명령에 포함된 통상 세션의 식별정보는 2345611, 2341566, 8721345라고 가정한다. 이 경우, 세션 그룹을 형성하는 세션은 세션 식별정보 4711234, 2345611, 2341566, 8721345에 해당하는 4개의 세션이 되며, 그 중 제어 세션은 세션 식별정보가 4711234인 세션이 된다.
도 5를 참조하여 상기 예시를 이해하면, 사용자가 클라이언트를 통해 세션 그룹을 통해 서버로부터 클라이언트로 전송되는 모든 데이터의 전송속도를 빠르게 하라는 데이터 제어 명령을 내린 경우, 사용자가 내린 명령은 제어 세션(550)을 통해서 서버에 전달된다. 그리고, 서버는 세션 그룹 내의 세션(550, 560, 570, 580)을 통해 전송되고 있던 모든 데이터의 전송속도를 데이터 제어 명령을 받기 전보다 빠르게 하여 클라이언트로 전송하게 된다. 이때, 데이터 제어 명령에 대한 서버의 응답은 제어 세션(550)을 통해서 전송된다.
예를 들어 사용자가 영상을 수신하고 있었다면, 사용자가 클라이언트를 통해 내리는 영상을 빠르게 재생하라는 명령과 그 명령에 대한 서버의 응답은 제어 세션(550)을 통해서 송수신되고, 제어 세션을 포함한 세션 그룹 내의 각 세션을 통해서 사용자가 수신하고 있던 영상의 데이터를 사용자의 명령을 받기 전보다 더 빠르게 서버에서 클라이언트로 송신하게 된다.
클라이언트로부터 내려지는 데이터 제어 명령은 전송 표준으로 TCP를 사용하므로, 특정 명령이 송신되면 그에 대한 수신확인이 필요하다. 세션이 복수 개가 있고, 각 세션을 통해 전송되는 데이터를 동시에 제어하려고 하는 경우, 각 세션마다 데이터 제어 명령을 내리게 되면, 1) 각 세션을 통해 데이터 제어 명령이 전달되고, 2) 데이터 제어 명령에 대한 수신확인을 하고, 3) 해당 명령이 모든 세션을 통해 전송되는 데이터의 전송상태에 적용되는 과정에서 각 세션 간에 시간 지연이 발생한다. 본 발명에 일 실시 예에 따른 세션 그룹 명령에 의하면 데이터 제어 명령을 전용으로 송수신하는 제어 세션을 두고, 제어 세션을 통해 수신한 데이터 제어 명령에 따라 세션 그룹 내의 모든 세션을 통해 서버로부터 클라이언트까지 송신되는 데이터를 제어할 수 있어서, 하나의 화면에서 여러 개의 영상을 수신하고 이를 한번에 제어할 필요가 있을 때, 각 영상 간의 시간 지연을 최소화할 수 있다.
도 6은 복수 개의 채널(Multi Channels)의 데이터가 송수신될 때의 서버와 클라이언트간에 생성된 2개의 세션 그룹을 나타낸다.
첫 번째 세션 그룹에서는 2번째 세션(625)이 제어 세션으로 지정되었고, 두 번째 세션 그룹에서는 6번째 세션(665)이 제어 세션으로 지정되었다. 첫 번째 세션 그룹의 4개의 세션을 통해 전송되는 복수 개의 채널의 데이터는 첫 번째 세션 그룹의 제어 세션(625)을 통해 전송되는 데이터 제어 명령에 의해 제어되고, 두 번째 세션 그룹의 6개의 세션을 통해 전송되는 복수 개의 채널의 미디어 데이터는 두 번째 세션 그룹의 제어 세션(665)을 통해 전송되는 데이터 제어 명령에 의해 제어된다. 나머지 5개의 세션(670 내지 690)은 별도의 세션 그룹을 형성하지 않았으며, 통상의 세션과 동일하게 RTSP에 따른 데이터 제어 명령과 RTP에 따른 데이터를 각 개별 세션을 통해 송수신하게 된다.
세션 그룹 명령이 서버와 클라이언트 간의 특정한 복수 개의 세션에 적용된 후, 더 이상 동일한 제어 명령을 통해 한번에 서버로부터 수신되는 복수 개의 채널의 데이터를 제어할 필요가 없는 경우, 사용자는 클라이언트에 세션 디그룹 (Session Degroup) 명령을 내려서 그룹화된 세션을 해제하고, 이미 설정되어 있는 제어 세션을 통상의 세션으로 변경할 수 있다. 즉, 세션 디그룹 명령에는 그룹화를 해제할 세션 그룹에 속한 모든 세션의 식별정보가 포함되며, 세션 그룹이 복수 개 존재한다면 그 중 일부의 세션 그룹만 그룹화를 해제하는 것이 가능하다.
도 5처럼 세션 그룹 명령이 적용된 서버와 클라이언트간의 세션 상태에서 세션 디그룹 명령을 사용자가 클라이언트를 통해 내린다면, 도 4c와 같이 세션 상태가 변경된다. 세션 디그룹 명령이 서버와 클라이언트 간의 특정 세션 그룹에 적용된 이후의 세션 그룹이 해제된 복수 개의 세션들은, 세션 그룹 명령이 적용되기 전과 같이 각 세션마다 개별적으로 RTSP에 따른 데이터 제어 명령과 RTP에 따른 데이터를 송수신하게 된다.
사용자가 클라이언트를 통해 세션 디그룹 명령을 내려서 기존 세션 그룹이 해제되기 전까지는 세션 그룹 내의 제어 세션을 통해서 전달되는 데이터 제어 명령이 유효하게 취급되므로, 제어 세션이 아닌 세션 그룹 내의 다른 세션에 데이터 제어 명령이 전달되었을 때에는 세션 그룹 내의 모든 세션을 통해 송수신되는 데이터의 전송 동작에 아무런 영향을 미치지 못한다.
도 7는 본 발명의 실시 예 중 하나인 세션 머지(Session Merge)명령에 따른 서버와 클라이언트간의 세션 상태의 변경을 도식적으로 나타낸다.
RTSP/RTP/TCP의 경우 인터리브드(Interleaved) 전송 방식으로 여러 채널의 미디어 데이터를 전송할 수 있기 때문에, 복수 개의 세션을 하나의 그룹으로 관리할 때, 인터리브드 전송 방식을 적용하여, 복수 개의 세션을 통해 전송되는 모든 채널의 데이터를 하나의 세션을 통해서 전송하도록 할 수 있다. 도 7은 도 5의 서버와 클라이언트간의 세션 상태에서 세션 머지 명령을 받은 후의 서버와 클라이언트간의 세션 상태를 나타내며, 변경되는 세션 상태에 대한 추가적인 설명은 표 9와 표 10와 함께 후술한다.
기존의 RTSP/RTP/TCP에서 인터리브드 전송 방식은 서버와 클라이언트간에 다음과 같은 통신과정을 거친 후에 서버와 클라이언트간에 적용된다.
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 연결과정에서, 클라이언트가 서버에게 인터리브드 전송 요청을 하는 것을 나타낸다.
인터리브드 명령구문에서 interleaved 뒤에 숫자는 채널 식별정보와 RTCP의 데이터의 식별정보를 의미한다.
[RFC2326] Real Time Streaming Protocol
RTSP RTSP End Mark Block Mark(1Byte) Ch.identifier(1Byte) Length(2Byte)
Command CRLF $ 0 MM
표 4는 RFC2326 상에 규정되어 있는 RTSP 명령어를 나타낸다.
표 4에 의해서 RTSP 연결에서, 인터리브드 대상이 되는 채널의 식별번호는 0부터 시작하게 되며, 각 식별번호 앞에는 식별자로서 기호 $를 사용하게 된다.
도 8a는 서버와 클라이언트 간의 4개의 세션에 세션 그룹 명령이 적용된 세션의 상태를 개략적으로 나타낸다.
제어 세션은 서버와 클라이언트 간의 생성된 4개의 세션 중 위로부터 첫 번째에 있는 세션이므로, 해당 제어 세션을 통해서 RTSP에 따른 명령이 전달되며, 나머지 세션 그룹 내의 3개의 세션을 통해서는 RTP에 따른 데이터와, RTCP 에 따른 데이터 전송 상태 감시 명령이 전송된다. 점선을 기준으로 왼쪽부분은 각 세션을 통해 전송되는 1단위 패킷을 의미하며, RTP에 따른 데이터와 RTCP에 따른 데이터 전송 상태 감시 명령은 1:1 비율로 함께 전송되는 것을 알 수 있다. 이때 제어 세션을 통해서 RTSP에 따른 명령 뿐만 아니라 RTP에 따른 데이터와 RTCP에 따른 데이터 전송 상태 감시 명령이 송수신되는 것은 도 4b를 참조하면 알 수 있다.
도 8b은 도8a의 세션 상태에서, RTSP 명령어로 구성된 세션 머지 명령이 적용되어 세션 그룹 내의 4개의 세션이 하나의 세션으로 통합된 모습을 개략적으로 나타낸다.
설명의 편의를 위해서, 세션 머지 명령에는 도 8a에서 서버와 클라이언트 간의 4개의 세션 중 위로부터 첫 번째 세션을 단일 세션으로 지정하는 명령이 포함되어 있다고 가정한다. 또한, 도 8a에서 위로부터 첫 번째와 세 번째 세션을 통해서는 각각 A채널, C채널의 비디오 데이터가 송신되고, 두 번째와 네 번째 세션을 통해서는 B 라디오 채널, D 라디오 채널의 오디오 데이터가 송신되고 있고, 인터리브드(교차배치) 되는 순서는 위로부터 첫 번째 세션부터 네 번째 세션 순이라고 가정한다. 즉, 첫 번째 세션에는 A채널이 맵핑되어있고, 두 번째 세션에는 B 라디오 채널이 맵핑되어 있으며, 나머지 세션과 채널의 관계도 마찬가지이다.
도 8a의 상태에서 세션 머지 명령을 수신하면, RTSP 명령어에 의해, 첫 번째 세션에 맵핑된 채널에 식별정보 0이 할당된다. 예를 들어, 첫 번째 세션에 맵핑된 채널은 A채널이고, 이는 RTP에 따라 전송되는 비디오 채널이므로, 해당 채널의 데이터 패킷의 최종 식별정보를 개략적으로 표현하면 'RTP 비디오 $0'(표 4 참조) 이라고 표현할 수 있다. 또한, 채널의 식별정보에 1을 더한 값이 자동으로 RTCP의 명령 패킷의 최종 식별정보가 되므로, 이를 개략적으로 표현하면 'RTCP 비디오 $1' (표 4 참조)이라고 표현할 수 있다. 채널 식별정보의 할당에 대해서는 표 5 및 표 6을 통해서 보다 더 상세히 후술한다.
도 8b는 위와 같은 방식을 다른 세션에 맵핑된 채널에 대해서도 적용하고, 각 데이터 패킷 및 명령 패킷들이 상술한 단일 세션을 통해 송신되는 것을 나타낸다. 구체적으로는 세션 머지 명령에 포함된 채널 식별정보 및 RTCP 식별정보에 따라, 세션 그룹 내의 각 채널의 데이터를 하나의 통합 데이터로 만들고, 이를 단일 세션을 통해 클라이언트로 송신하는 과정을 나타낸다. 채널 식별정보 및 RTCP 식별정보에 따른 통합 데이터 생성과정에 대해서는 본 발명의 실시 예 중 하나로서, 표9 및 표10을 통해서 후술한다.
도 8b에 있는 단일 세션 내의 블록들을, 용이한 설명을 위해 식별기호와 식별정보만으로 지칭하면, $0, $1 를 포함하는 것은 세션 머지 명령을 수신하기 전에 첫 번째 세션을 통해 송신되던 A채널의 비디오 데이터와 비디오 데이터 감시 명령이고, $2, $3 을 포함하는 것은 두 번째 세션을 통해 송신되던 B 라디오 채널의 오디오 데이터와 오디오 데이터 감시 명령을 의미한다는 것을 알 수 있고, 같은 원리로 다른 채널의 데이터와 데이터 감시 명령을 구분할 수 있다.
도 4c 및 도 5를 참조하면 RTP/RTCP에 따른 데이터의 전송은 RTSP의 명령에 종속적이 된다. 예를 들어 RTSP의 명령이 PLAY 명령이라면, 서버는 RTP/RTCP에 따른 데이터를 클라이언트로 전송시킬 것이며, RTSP의 명령이 PAUSE 라면, 서버는 RTP/RTCP에 따른 데이터를 클라이언트로 전송하는 것을 다른 RTSP의 명령이 있을 때까지 일시적으로 중지할 것이다.
상술한 RTSP의 명령은 클라이언트로부터 내려지는 데이터 제어 명령의 일 실시 예이고, 데이터 전송에 관여하는 명령에 있어서 RTSP의 명령만으로 한정하고자 하는 것은 아니므로, 다른 형태의 데이터 제어 명령으로 서버와 클라이언트간에 송수신되는 데이터를 제어하더라도, 본 발명의 범주를 벗어나지 않으며 이는 RTP, RTCP 에 따른 명령에 대한 것도 마찬가지이다.
사용자는 더 이상 세션을 단일화하여 이용할 필요가 없는 경우, 클라이언트를 통해 세션 디머지(Session Demerge) 명령을 통해서 단일 세션을 복수 개의 세션으로 분리할 수 있으며, 분리된 복수 개의 세션은 추가적으로 세션 디그룹(Session Degroup) 명령을 받기 전까지는 세션 그룹으로서 동작한다.
세션 머지 명령이 실행되면, 기존의 RTSP에 따른 제어 명령을 송신하는 명령 세션은 계속 유지하고, RTP/RTCP에 따른 데이터를 전송하는 세션이 하나로 변경된다. 이것은 차후 사용자가 클라이언트를 통해 세션 디머지 명령을 내리고, 그에 따라 단일화된 세션이 복수 개의 세션으로 분리되더라도, 기존의 RTSP에 따른 제어 명령을 송신하는 명령 세션으로 즉시 RTP/RTCP에 따른 데이터를 전송할 수 있도록 하기 위한 것이다.
다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 그룹 명령을 구현한 것이다.
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는 클라이언트가 서버로 세션 그룹 명령을 내리는 것을 나타낸다.
본 세션 그룹 명령은 세션을 그룹화하라는 COMMAND와 함께, 세션 그룹 내에서의 데이터 제어 명령을 송수신할 제어 세션(식별정보 4711234)과 세션 그룹을 구성하는 제어 세션 외의 3개의 세션(식별정보 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은 서버가 클라이언트로부터 세션 그룹 명령을 받고 그에 대해 송신하는 응답을 나타낸다.
서버는 클라이언트로부터 세션 그룹 명령을 수신하여 명령대로 동작할 수 있는 경우, SESSION GROUP OK를 회신하고, 명령대로 동작할 수 없는 경우 Invalid Parameter를 클라이언트로 회신한다. SESSION GROUP OK 를 회신한 경우, 이후 세션 그룹에 대한 RTSP 명령은 제어 세션을 통해 전달되고, 그에 따라 세션 그룹 내의 모든 세션을 통해 송신되는 채널의 데이터 및 데이터 감시 명령을 제어할 수 있게 되어 각 세션의 RTSP 명령 전달시간의 차이로 인해 발생하는 시간 지연을 방지할 수 있다.
다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 디그룹 명령을 구현한 것이다.
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는 클라이언트가 서버로 세션 디그룹 명령을 내리는 것을 나타낸다.
본 세션 그룹 명령은 세션을 그룹을 해제하라는 COMMAND와 함께, 현재 세션 그룹 내에서의 데이터 제어 명령을 송수신하고 제어 세션(식별정보 4711234)과 세션 그룹을 구성하는 제어 세션 외의 3개의 세션(식별정보 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은 서버가 클라이언트로부터 세션 디그룹 명령을 받고 그에 대해 송신하는 응답을 나타낸다.
서버는 클라이언트로부터 세션 그룹 명령을 수신하여 명령대로 동작할 수 있는 경우, SESSION DEGROUP OK를 회신하고, 명령대로 동작할 수 없는 경우 Invalid Parameter를 클라이언트로 회신한다. SESSION DEGROUP OK 를 회신한 경우, 이후 세션 식별정보 4711234, 2345611, 2341566, 8721345를 가진 총 4개의 세션으로 구성된 세션 그룹이 해제되어 각각 통상의 세션으로 동작하게 된다.
세션 디그룹 명령은 하나의 세션 그룹에서 일부 또는 전체 세션을 분리하기 위한 것이다. 세션 그룹을 완전히 해제하기 위해서는 세션 디그룹 명령의 파라미터로서 제어 세션의 식별정보나 세션 그룹을 구성하는 전체 세션의 식별정보를 포함시키면 되고, 일부 세션만을 세션 그룹에서 분리하려면 분리하려는 세션의 식별정보를 세션 디그룹 명령의 파라미터에 포함시키면 된다.
예를 들어, 표 8의 세션 디그룹 명령의 파라미터에는 제어 세션의 식별정보인 4711234가 포함되지 않으나, 세션 그룹을 구성하는 총 4개의 세션(식별정보 4711234, 2345611, 2341566, 8721345) 중 3개의 세션이 세션 디그룹 명령의 파라미터에 포함됨에 따라 세션 그룹은 해제되고, 4개의 세션은 각 세션을 통해 송수신되는 RTSP 명령을 따르는 통상의 세션이 된다. 이는 세션 디그룹 명령의 파라미터를 제어 세션의 식별정보인 4711234로 단독지정했을 때와 같은 결과이다.(세션 그룹 전부 해제)
만약 세션 디그룹 명령의 파라미터에 식별정보 2341566, 8721345를 가진 세션만을 포함하였다고 가정하면, 식별정보 2341566, 8721345를 가진 두 세션만이 세션 그룹으로부터 분리되어 통상의 세션으로 동작하게 되며, 기존의 세션 그룹에서 4711234, 2345611의 식별정보를 갖는 세션은 여전히 세션 그룹을 구성하는 세션으로서 남아있게 된다.(세션 그룹 일부 해제)
다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 머지 명령을 구현한 것이다.
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는 클라이언트가 서버로 세션 머지 명령을 내리는 것을 나타낸다.
세션 머지 명령은 세션을 단일화하라는 COMMAND와 함께, 단일 세션으로 이용할 제어 세션에 대한 식별정보(4711234)와 단일 세션을 구성하는 4개의 세션(식별정보 4711234, 2345611, 2341566, 8721345)의 식별정보 및 단일 세션에서 RTP/RTCP에 따른 데이터를 인터리브드(교차배치)할 순서에 대한 정보를 포함한다. 인터리브드 방식에 대해서는 도 8a와 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
표 10은 서버가 클라이언트로부터 세션 머지 명령을 받고 그에 대해 송신하는 응답을 나타낸다.
서버는 클라이언트로부터 세션 머지 명령을 수신하여 명령대로 동작할 수 있는 경우, SESSION MERGE OK를 회신하고, 명령대로 동작할 수 없는 경우 Invalid Parameter를 클라이언트로 회신한다. SESSION MERGE OK 를 회신한 경우, 세션 머지 명령의 파라미터로 지정된 복수 개의 세션은 하나의 세션으로 통합된다. 구체적으로는 복수 개의 세션들 중 하나의 세션을 단일 세션으로 지정한 후, 서버와 클라이언트간의 복수 개의 세션을 통해 송신되는 모든 채널의 데이터를 인터리브드 방식으로 통합하여 단일 세션을 통해서 클라이언트로 송신하게 된다.
표 10을 참조하면, 먼저 식별정보 4711234, 2345611, 2341566, 8721345에 해당하는 4개의 세션은 세션 머지 명령의 파라미터로 되어있다. 각 세션을 통해서 적어도 하나 이상의 채널의 데이터가 서버로부터 클라이언트로 송신되므로, 세션 식별정보가 주어지면 세션에 맵핑된 채널을 알 수 있다.
세션의 식별정보로부터 세션에 맵핑된 채널을 파악하고, 해당 세션을 통해 송신되는 채널의 데이터에 채널 식별정보를 할당한다. 표 10을 참조하면 식별정보 4711234에 해당하는 세션을 통해 송신되는 채널의 데이터에는 0이라는 채널 식별정보가 할당되었으며, 식별정보 2341566에 해당하는 세션을 통해 송신되는 채널의 데이터에는 채널 식별정보가 4가 할당되었다. RTP에 따른 데이터에는 0 또는 짝수가 채널 식별정보로 할당된다는 것은 표 4와 함께 이미 설명한 바 있다.
RTP에 따른 데이터 전송시, RTCP에 따른 데이터 전송 감시 명령도 필요하고, RTCP 에 따른 데이터 전송 감시 명령에 대해서는 채널 식별정보에 1을 부가한 식별정보가 할당된다는 것은 표 4와 함께 이미 설명한 바 있다. 예를 들면, 1과 5는 각각 0과 4를 채널 식별정보로 가지는 채널의, 데이터 전송 감시 명령에 대한 식별정보(이하, RTCP 식별정보)가 된다.
총 4개의 세션에 대해서 0내지 7까지의 채널의 식별정보 및 RTCP 식별정보가 할당된 후에는 식별정보의 순서에 따라, 교차배치하는 방식으로 데이터를 통합한 후, 그 통합 데이터를 단일 세션을 통해 클라이언트로 송신한다.(도 8b 참조) 단일 세션은 세션 머지 명령의 파라미터에서 가장 앞에 놓이는 세션으로 하며, RTSP 명령이 송수신되어야 하는 특성상 제어 세션이 단일 세션으로 결정된다. RTSP 세션은 TCP의 데이터 전송 표준에서는 RTP 세션과 공유되므로, RTP, RTCP처럼 구문상에 식별정보를 별도로 지정할 필요는 없으며, RTSP 명령은 하나로 통합된 단일 세션에 의해서 처리된다.
서버와 클라이언트 간에는 여러 번의 세션 머지 명령에 의한 복수 개의 단일 세션이 존재할 수 있으며 이 또한 본 발명의 실시 예 중 하나이다.
다중 채널을 송수신하는 서버와 클라이언트 간에 생성된 세션의 개수가 많을수록 더 넓은 대역폭이 필요하며, 그 대역폭을 효과적으로 관리하기 위해서 서버에서는 별도로 대역폭 관리부(도 3b 참고)를 두고 있음에도, 세션의 개수가 많을 경우에는 대역폭을 세션 별로 관리해야 해서 대역폭 관리에 있어서 용이하지 못한 기존의 문제점이 있었다.
본 발명의 세션 머지 명령에 의한 단일 세션은 대역폭은 세션 머지 명령을 수신하기 전의 개별 세션들의 대역폭의 합과 동일하나, 세션의 개수는 하나가 되어 서버에 포함된 대역폭 관리부가 불필요한 프레임의 전송을 막거나, 동일 데이터의 중복 처리를 방지하는 방식으로 대역폭을 일괄하여 효율적으로 관리할 수 있다.
다음은 본 발명의 실시 예 중 하나로서, RTSP의 표준 프로토콜에서 제공되는 Setparameter 명령을 이용하여 세션 디머지 명령을 구현한 것이다.
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은 클라이언트가 서버로 내리는 세션 디머지 명령을 나타낸다.
세션 디머지 명령은 단일화된 4개의 세션을 분리하라는 COMMAND와 함께, 단일 세션의 식별정보(4711234)와 단일 세션을 구성하는 4개의 세션(식별정보 4711234, 2345611, 2341566, 8721345)의 식별정보 및 단일 세션에서 RTP/RTCP에 따른 데이터를 인터리브드(교차배치)할 순서에 대한 정보를 포함한다.
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는 서버가 클라이언트로부터 세션 머지 명령을 받고 그에 대해 송신하는 응답을 나타낸다.
클라이언트로부터 세션 디머지 명령을 수신하고 그것이 유효한 명령으로서 서버측에서 SESSION DEMERGE OK 을 전달하는 경우, 서버는 통합된 단일 세션을 세션 머지 명령을 수신하기 전과 같이 복수 개의 세션으로 분리한다. 여기서 단일 세션을 복수 개의 세션으로 분리하는 것은, 단일 세션 자체를 복수 개의 세션으로 나누어 놓는 것을 의미하는 것이 아니고, 구체적으로는 단일 세션을 통해 송신되던 통합 데이터를 구성하기 위한 채널의 식별정보와 RTCP의 식별정보의 할당을 취소하고, 세션 머지 명령을 수신하기 전처럼 각 채널의 데이터를 그와 맵핑된 각 세션을 통해서 송신하도록 변경하는 것을 뜻한다.
예를 들어, 위의 명령구문을 참조하면, 세션 머지 명령을 수신하기 전까지 식별정보 2345611에 해당하는 세션을 통해 송신되던 채널의 데이터에 할당되었던 채널 식별정보 2를 취소하여, 단일 세션인 4711234 세션을 통해 송신하던 데이터를 원래대로 2345611 세션을 통해서 송신하게 된다. 이는 RTCP에 따른 명령도 마찬가지이므로, RTCP 식별정보 3도 취소되면서 원래대로 2345611 세션을 통해서 RTCP에 따른 데이터 전송 상태 감시 명령도 송수신된다.
분리된 복수 개의 세션은 세션 디그룹 명령을 추가로 수신하기 전까지는 세션 그룹의 상태를 유지하며, 유효한 세션 디그룹 명령까지 클라이언트로부터 수신하는 경우, 세션 디그룹 명령의 파라미터로 지정된 식별정보에 해당하는 모든 세션은 통상의 세션이 되어 개별적으로 RTSP, RTP 에 따른 데이터를 송수신하게 된다.
세션 머지 명령으로 인해 생성되는 단일 세션의 개수는 한정되어 있지 않으므로, 세션 머지 명령으로 통합된 단일 세션 여러 개를 하나의 RTSP 명령으로 제어할 수 있도록 여러 개의 단일 세션의 식별정보를 명령의 파라미터로 하여 세션 그룹 명령을 적용할 수도 있으며, 이 또한 본 발명의 실시 예 중 하나가 될 수 있다.
도 9은 세션 그룹 명령, 세션 디그룹 명령, 세션 머지 명령 및 세션 디머지 명령이 내려지는 순서를 나타낸 순서도이다.
단계 S910에서 서버는 클라이언트로부터 유효한 세션 그룹 명령을 수신하여 복수 개의 세션의 전부 또는 일부를 세션 그룹으로 설정하고, 각 세션 그룹마다 제어 세션을 설정한다.
단계 S920에서 서버는 유효한 세션 머지 명령이 수신되었는지 판단하여 유효하지 않다면 클라이언트로 Invalid Parameter를 회신한다.
단계 S930에서 서버는 클라이언트로 유효한 세션 머지 명령을 수신하였다는 응답을 하고, 세션 머지 명령에 포함된 세션 그룹의 식별정보를 갖는 세션 그룹내의 모든 세션을 인터리브드 방식을 이용하여 하나의 단일 세션으로 통합한다.
단계 S940에서 서버는 유효한 세션 디머지 명령이 수신되었는지 판단하여 유효하지 않다면 클라이언트로 Invalid Parameter를 회신한다.
단계 S950에서 서버는 클라이언트로 유효한 세션 디머지 명령을 수신하였다는 응답을 하고, 세션 디머지 명령에 포함된 단일 세션의 식별정보를 갖는 단일 세션을 복수 개의 세션을 포함하는 세션 그룹으로 해제한다.
단계 S960에서 서버는 유효한 세션 디그룹 명령이 수신되었는지 판단하여 유효하지 않다면 클라이언트로 Invalid Parameter를 회신한다.
딘계 S970에서 서버는 클라이언트로 유효한 세션 디그룹 명령을 수신하였다는 응답을 하고, 세션 디그룹 명령에 포함된 세션 그룹의 식별정보를 갖는 세션 그룹을 특정 그룹에 속하지 않는 복수 개의 통상 세션으로 분리한다.
도 10는 본 발명의 실시 예 중 하나로서, 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템의 개략적인 블록도이다.
도 10를 참조하면, 본 발명의 일 실시 예에 따른 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템은 도 5 내지 도 8에 도시된 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법에 따라 구현될 수 있다. 따라서, 도 5 내지 도 8에 도시된 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법과 동일한 사항에 대해서는 해당 내용을 참조하고, 이하에서는 자세한 설명이 생략될 수 있다.
복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템(1000)은 세션 제어부(1010)와 데이터 제어부(1020)를 포함한다.
세션 제어부(1010)는 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개이상의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 세션 그룹에 포함된 복수 개의 세션 중 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 제어 세션과 통상 세션을 묶어서 세션 그룹으로 설정한다.
본 발명에 따른 실시 예 중 하나로서, 세션 제어부(1010)는 머지 명령 수신부(미도시) 및 머지 명령 적용부(미도시)를 포함할 수 있다.
머지 명령 수신부(미도시)는 서버가 클라이언트로부터 특정 세션 그룹에 속한 모든 세션의 식별정보를 포함하는 세션 머지(Session Merge) 명령을 수신하고, 세션 머지 명령에 따라 특정 세션 그룹에 속한 복수 개의 세션 중 하나의 단일 세션을 지정한다.
머지 명령 적용부(미도시)는 특정 세션 그룹내의 각 세션에 맵핑된 각 채널의 데이터에 세션 머지 명령에 포함된 채널 식별정보를 할당하고, 채널 식별정보가 할당된 각 채널의 데이터를 특정 순서대로 교차배치시켜서 통합 데이터를 생성하고, 상기 통합 데이터를 단일 세션을 통해서 클라이언트로 송신한다.
데이터 제어부(1020)는 클라이언트로부터 데이터 제어 명령을 제어 세션을 통해서 수신한 후, 제어 세션을 통해 데이터 제어 명령에 대한 응답을 송신하면서, 세션 그룹내의 각 세션을 통해 데이터 제어 명령에 따라 조정된 각 채널의 데이터를 클라이언트로 송신한다.
본 발명에 따른 세션 관리 방법 및 시스템은, 복수 개의 채널의 데이터를 복수 개의 세션을 통해 송수신하는 서버와 클라이언트간의 세션을 관리하는 데에 있어서, 클라이언트로부터 수신하는 데이터의 제어 명령을 각 세션별로 시간지연 없이 전달하여 적용시킬 수 있으며, 복수 개의 세션을 하나의 단일 세션으로 통합하여 대역폭의 관리에 도움을 줄 수 있고, 특히 RTSP/RTP/TCP를 이용하며 다중 채널의 스트리밍 데이터를 송수신할 경우의 세션 관리에 있어서 우수성을 갖는다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되지 아니하고, 첨부된 청구범위에 의해 권리범위를 한정하고자 하며, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 형태의 치환, 변형 및 변경할 수 있다는 것은 당 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.
본 발명은 각종 미디어 데이터를 저장하거나 전송하는 장치에서 여러 채널의 데이터를 네트워크로 전송할 때, 하나의 명령으로 여려 채널의 데이터를 제어할 수 있는 기능을 제공하여, DVR, NVR, IP Camera, Video Server의 기술분야에서 산업상 이용이 가능하다.

Claims (6)

  1. 서버와 클라이언트간에 복수 개의 세션들이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널들의 데이터의 제어를 위한 세션 관리 방법에 있어서,
    상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 복수 개의 세션들 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 복수 개의 세션들 중 상기 통상 세션의 식별정보에 해당하는 세션을 묶어서 세션 그룹으로 설정하는 세션 제어 단계; 및
    상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹 내의 상기 제어 세션을 포함한 모든 세션들을 통해 전송되는 데이터의 전송동작을 상기 데이터 제어 명령에 따라 조정하는 데이터 제어 단계;를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법.
  2. 제1항에 있어서, 상기 세션 제어 단계는,
    상기 클라이언트로부터 상기 세션 그룹에 속한 세션들 중 단일 세션의 식별정보 및 상기 단일 세션으로 머지될 세션들의 식별정보를 포함하는 세션 머지(Session Merge) 명령을 수신하고, 상기 세션 머지 명령에 따라 상기 세션 그룹에 속한 세션들 중 상기 단일 세션의 식별정보에 해당하는 세션을 단일 세션으로 지정하는 머지 명령 수신 단계; 및
    상기 세션 그룹 내의 머지될 세션들 각각에 맵핑된 각 채널의 데이터에 상기 세션 머지 명령에 포함된 채널 식별정보를 할당하고, 상기 채널 식별정보가 할당된 각 채널의 데이터를 특정 순서대로 교차배치시켜서 통합 데이터를 생성하고, 상기 통합 데이터를 상기 단일 세션을 통해서 상기 클라이언트로 송신하는 머지 명령 적용 단계; 를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 채널의 데이터는 비디오 및 오디오를 포함하는 미디어 스트리밍 데이터(media streaming data)이고,
    상기 세션 그룹 명령 및 세션 머지 명령은 RTSP(Real Time Streaming Protocol)의 Setparameter 명령을 이용하는 것을 특징으로 하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법.
  4. 서버와 클라이언트간에 복수 개의 세션들이 생성되어 있고, 각 세션을 통해서 각 세션에 맵핑된 각 채널의 데이터가 송수신되는 서버와 클라이언트간의, 복수 개의 채널들의 데이터의 제어를 위한 세션 관리 시스템에 있어서,
    상기 클라이언트로부터 제어 세션의 식별정보와 적어도 한 개의 통상 세션의 식별정보를 포함하는 세션 그룹(Session Group) 명령을 수신하고, 상기 복수 개의 세션들 중 상기 제어 세션의 식별정보에 해당하는 세션을 제어 세션으로 설정하고, 상기 제어 세션과 상기 복수 개의 세션들 중 상기 통상 세션의 식별정보에 해당하는 세션을 묶어서 세션 그룹으로 설정하는 세션 제어부; 및
    상기 클라이언트로부터 데이터 제어 명령을 상기 제어 세션을 통해서 수신한 후, 상기 제어 세션을 통해 상기 데이터 제어 명령에 대한 응답을 송신하면서, 상기 세션 그룹 내의 상기 제어 세션을 포함한 모든 세션들을 통해 전송되는 데이터의 전송동작을 상기 데이터 제어 명령에 따라 조정하는 데이터 제어부;를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템.
  5. 제4항에 있어서, 상기 세션 제어부는,
    상기 클라이언트로부터 상기 세션 그룹에 속한 세션들 중 단일 세션의 식별정보 및 상기 단일 세션으로 머지될 세션들의 식별정보를 포함하는 세션 머지(Session Merge) 명령을 수신하고, 상기 세션 머지 명령에 따라 상기 세션 그룹에 속한 세션들 중 상기 단일 세션의 식별정보에 해당하는 세션을 단일 세션으로 지정하는 머지 명령 수신부; 및
    상기 세션 그룹 내의 머지될 세션들 각각에 맵핑된 각 채널의 데이터에 상기 세션 머지 명령에 포함된 채널 식별정보를 할당하고, 상기 채널 식별정보가 할당된 각 채널의 데이터를 특정 순서대로 교차배치시켜서 통합 데이터를 생성하고, 상기 통합 데이터를 상기 단일 세션을 통해서 상기 클라이언트로 송신하는 머지 명령 적용부; 를 포함하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템.
  6. 제4항 또는 제5항에 있어서,
    상기 채널의 데이터는 비디오 및 오디오를 포함하는 미디어 스트리밍 데이터(media streaming data)이고,
    상기 세션 그룹 명령 및 세션 머지 명령은 RTSP(Real Time Streaming Protocol)의 Setparameter명령을 이용하는 것을 특징으로 하는 복수 개의 채널의 데이터의 제어를 위한 세션 관리 시스템.
KR1020140069579A 2014-06-09 2014-06-09 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템 KR102199471B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140069579A KR102199471B1 (ko) 2014-06-09 2014-06-09 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140069579A KR102199471B1 (ko) 2014-06-09 2014-06-09 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템

Publications (2)

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

Family

ID=55080986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140069579A KR102199471B1 (ko) 2014-06-09 2014-06-09 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102199471B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265680A (ja) * 2000-03-15 2001-09-28 Fujitsu Ltd 複数メディアのセッションを管理する装置および方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103213A (ja) * 1992-09-18 1994-04-15 Hitachi Ltd 入出力装置
UA83256C2 (ru) 2003-10-02 2008-06-25 Квелкомм Инкорпорэйтед Система и способ мультиплексирования данных управления для множества каналов передачи данных в одном канале управления (варианты)
US8611428B1 (en) * 2008-05-08 2013-12-17 Velti USA, Inc. Transparent insertion of multimedia content in real-time streaming sessions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265680A (ja) * 2000-03-15 2001-09-28 Fujitsu Ltd 複数メディアのセッションを管理する装置および方法

Also Published As

Publication number Publication date
KR20150141062A (ko) 2015-12-17

Similar Documents

Publication Publication Date Title
US10958697B2 (en) Approach to live multi-camera streaming of events with hand-held cameras
JP6014870B2 (ja) ストリーミング・メディア・コンテンツのリアルタイム・トランスマックス変換の方法およびシステム
US20230254357A1 (en) Fast encoding of live 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
WO2012096372A1 (ja) コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造
EP3373588B1 (en) Fast channel switching method and server, and iptv system
DE112006002677T5 (de) Verfahren und Vorrichtung für RTP-Ausgabe-Streaming unter Verwendung von komplementären Richtungsdateien
US11252478B2 (en) Distribution device, distribution method, reception device, reception method, program, and content distribution system
WO2015064383A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
KR20120011969A (ko) Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치
US9338204B2 (en) Prioritized side channel delivery for download and store media
US11799709B2 (en) Systems and methods for inserting supplemental content into a quadrature amplitude modulation signal using existing bandwidth
CN105900446A (zh) 通信装置、通信数据生成方法和通信数据处理方法
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
JP6492006B2 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、および、コンテンツ供給システム
EP3371978B1 (en) Contiguous streaming of media stream
US20170195742A1 (en) Apparatus and method for providing broadcast service for hybrid service using broadcast and communication convergence networks
KR102199471B1 (ko) 복수 개의 채널의 데이터의 제어를 위한 세션 관리 방법 및 시스템
US11777871B2 (en) Delivery of multimedia components according to user activity
WO2014196393A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
JP2009171294A (ja) 映像配信システム、映像中継装置、及び映像中継方法
Potetsianakis et al. Buffer management for synchronous and low-latency playback of multi-stream user-generated content
JP2009118361A (ja) 通信制御装置ならびに通信制御方法
KR20210096389A (ko) 동영상 서비스 제공 방법 및 이를 위한 장치
IT201800003105A1 (it) Metodo, terminale ed entità fornitrice per usufruire di un contenuto audio e/o video

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