KR20070024183A - 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치 - Google Patents

데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치 Download PDF

Info

Publication number
KR20070024183A
KR20070024183A KR1020050078856A KR20050078856A KR20070024183A KR 20070024183 A KR20070024183 A KR 20070024183A KR 1020050078856 A KR1020050078856 A KR 1020050078856A KR 20050078856 A KR20050078856 A KR 20050078856A KR 20070024183 A KR20070024183 A KR 20070024183A
Authority
KR
South Korea
Prior art keywords
session
data
termination
client
tcp
Prior art date
Application number
KR1020050078856A
Other languages
English (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 KR1020050078856A priority Critical patent/KR20070024183A/ko
Priority to US11/472,318 priority patent/US20070061469A1/en
Priority to CNA2006101078386A priority patent/CN1921460A/zh
Publication of KR20070024183A publication Critical patent/KR20070024183A/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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를 전송하는 네트워크 장치에 관한 것으로서, 본 발명의 실시에 따른 데이터 전송 제어 방법은 제1 세션을 통하여 네트워크 장치 간에 데이터 통신이 수행되는 단계와, 상기 제1 세션이 종료되는 단계와, 상기 종료에 따라 상기 제1 세션이 해지되는 동안에 제2 세션이 생성되는 단계 및 상기 생성된 제2 세션을 통하여 상기 네트워크 장치 간에 데이터 통신이 이루어지는 단계를 포함한다.
TCP, 소켓(socket)

Description

데이터 전송 제어 방법 및 상기 방법에 의해 데이터를 전송하는 네트워크 장치{Method for controlling data transmission and network apparatus transmitting data by using the same}
도 1은 OSI(Open Systems Interconnection; 개방형 시스템간 상호 접속) 참조 모델을 나타내는 예시도이다.
도 2는 TCP/IP 프토토콜 구조를 나타내는 예시도이다.
도 3은 TCP 통신에 의해 전송되는 스트림 데이터의 경로를 나타내고 있는 예시도이다.
도 4는 본 발명의 일 실시예에 따른 통신 시스템을 나타내는 예시도이다.
도 5는 본 발명의 일 실시예에 따른 비디오 컨텐츠 서버의 구조를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 제어 방법을 나타내는 플로우차트이다.
< 도면의 주요 부분에 대한 설명 >
400: 통신 시스템
410: 비디오 컨텐츠 서버
412: 제어 모듈
414: 저장 모듈
416: 세션 관리 모듈
418: 인터페이스 모듈
420: 클라이언트
422: 버퍼
424: 디코더
426: 디스플레이 모듈
본 발명은 데이터 전송의 제어에 관한 것으로서, 보다 상세하게는 IP(Internet Protocol)을 기반으로 하여 데이터를 송수신함에 있어서, 데이터 전송의 대기 시간을 줄이는 방법 및 이러한 방법에 의해 동작하는 네트워크 장치에 관한 것이다.
일반적으로 네트워크 구조는 서로 다른 시스템의 각 계층에서 동작하는 통신 프로토콜(communication protocol)을 정의하고 있으며, 그 예를 도 1에서 나타내고 있다.
도 1은 OSI(Open Systems Interconnection; 개방형 시스템간 상호 접속) 참조 모델로서, 통신 네트워크로 구성된 컴퓨터가 어떻게 데이터를 전송할 것인가에 대한 표준 규약을 나타내고 있다.
이는 통신 제품을 만들 때 다른 제품과 모순됨이 없이 통신하도록 유도하기 위한 것으로서, 도 1에서는 기능별로 7개의 계층으로 나누어 정의하고 있다.
기존의 네트워크 제품이나 프로그램들은 이러한 계층적 구조 내에서 그것이 어울리는 곳에서 부분적으로 설명될 수 있다.
도 1을 참조하면, 응용 계층(Application Layer)은 최상위 계층으로서, 사용자의 프로세스들이 접속되는 계층이다. 응용 계층은 응용 프로그램이 정보 교환을 위해 시스템의 연결 기능에 액세스할 수 있는 수단을 제공한다. 응용 계층에 의해 제공되는 통신 서비스들은 통신 프로그램 하부 계층의 복잡함이 드러나지 않도록 한다.
표현 계층(Presentation Layer)은 네트워크를 통해 전송되는 데이터의 정보내용을 보존하는데 관여한다. 우선, 두 통신 시스템 내의 표현 계층은 두 통신 프로그램에 의해 교환되는 메시지를 전달하기 위한 공통의 전송 구문을 협상해야 한다. 또한, 표현 계층은 다른 시스템이 어떤 형태로 데이터를 표현하는지에 대해 신경 쓸 필요가 없도록 해준다. 표현 계층은 상대방이 이용하는 데이터 형식에 대하여 신경을 쓰지 않고, 프로그램이 그들 자신만의 데이터 형식으로 작업할 수 있도록 적절한 변환을 수행한다.
세션 계층(Session Layer)은 두 통신 프로그램 간의 다이얼로그(dialog)를 설정하고 그들간의 데이터 교환을 관리하는 역할을 한다. 다이얼로그의 형태는 양방향 동시 대화, 반 이중 대화, 단 방향 대화로 나눌 수 있다.
전달 계층(Transport Layer)은 양단의 컴퓨터 시스템 내에 존재하고 있는 프 로세스 간에서 고품질이며 높은 효율로 데이터 전송을 실현한다. 그러므로 하위 계층인 네트워크 계층의 서비스 품질이 충분하지 않을 경우에는 전달 계층이 보완함으로써 사용자가 통신망을 의식하지 않도록 하는 역할도 한다.
네트워크 계층(Network Layer)은 경로 배정과 네트워크를 통해 한 시스템에서 다른 시스템으로 가는 데이터를 중계하는 데에 관여한다.
데이터 링크 계층(Data Link Layer)은 단일 링크 내에 있는 시스템간의 데이터 전송을 책임지고, 물리 계층(Physical Layer)은 통신기기 사이의 전기신호, 광신호 또는 무선신호 등과 같은 신호를 실제적으로 전송하는 역할을 한다.
한편, TCP/IP 통신은 네트워크 통신 방식 중 가장 널리 알려진 통신 방식 중 하나이며, 도 1에서 도시한 것과 같은 계층적 프로토콜 구조를 갖는데, 이를 도 2에서 도시하고 있다.
도 2를 참조하면, TCP/IP의 응용 계층은 도 1에서 도시한 OSI 7 계층의 응용, 표현, 세션 계층에 대응한다. 또한, TCP/IP의 전달 계층은 OSI 7 계층의 전달 계층에 대응하고, TCP/IP의 인터넷 계층은 OSI 7 계층의 네트워크 계층에 대응한다. TCP/IP의 최하위 계층인 네트워크 인터페이스 계층은 OSI 7 계층모델의 데이터 링크 계층에 대응한다. 한편, 데이터 링크의 구현에 이용되고 OSI 7 계층의 물리 계층에 해당하는 물리적 장비는 TCP/IP 구조의 범위 밖에 있다. 따라서, 어떠한 형태의 물리적 통신 회선이라도 그것을 위한 네트워크 인터페이스 계층 기능이 구현될 수 있으면 TCP/IP 통신을 수행할 수 있다.
TCP/IP 통신은 연결형 프로토콜(connection-oriented protocol)에 따라 동작 하거나, 비연결형 프로토콜(connectionless protocol)에 따라 동작할 수 있는데, 전자의 경우에 있어서 대표적인 형태가 TCP 통신이다.
TCP 통신은 연결 설정, 데이터 전달 그리고 연결 해제의 과정을 통하여 통신을 수행하게 되는데, 도 3은 TCP 통신에 의해 전송되는 스트림 데이터의 경로를 나타내고 있는 예시도이다.
도 3을 참조하면, 비디오 컨텐츠를 제공하는 비디오 컨텐츠 서버(310)와 비디오 컨텐츠 서버(310)가 제공하는 컨텐츠를 재생하는 클라이언트(320) 사이에 TCP 세션(session)(330)이 형성되고, 형성된 TCP 세션(330)을 통하여 비디오 컨텐츠 서버(310)에 저장된 컨텐츠 데이터가 클라이언트(320)로 전달된다.
이 때, 클라이언트(320)은 비디오 컨텐츠 서버(310)에 의해 제공되는 컨텐츠 데이터를 저장하는 데이터 버퍼(322)와 버퍼링된 컨텐츠 데이터를 순차적으로 디코딩하는 디코더(324)를 포함할 수 있다.
이 때, 사용자가 TCP 통신을 사용하여 비디오 컨텐츠 서버(310)로터 비디오 스트림 데이터를 수신하여 재생하는 도중에 해당하는 비디오 컨텐츠의 재생을 멈추거나 일시 정지시키게 되면, 비디오 컨텐츠 서버(310)와 클라이언트(320) 사이의 TCP 세션(330)은 해지된다. 이 때, 클라이언트(320)의 데이터 버퍼(322)는 비워지게 되고, TCP 통신의 '3-way handshake' 방식에 의해 TCP 세션(330)은 종료하게 된다.
이러한 경우에, 만일 사용자가 다시 비디오 컨텐츠를 재생하기 위하여 비디오 컨텐츠 서버(310)에 대하여 이전에 중단된 부분에 대한 데이터 또는 이전에 중 단된 부분과는 다른 곳에 위치하는 데이터를 요청할 수 있다. 이 때, 비디오 컨텐츠 서버(310)와 클라이언트(320) 사이에는 새로운 TCP 세션이 다시 설정되고, 사용자에 의해 요청된 부분의 데이터가 버퍼(322)에 쌓이게 된 후 디코더(324)로 전달되어 다시 비디오 컨텐츠가 재생된다.
즉, 이와 같은 TCP 통신 환경에서는, 사용자가 재생되는 비디오 컨텐츠를 잠시 정지시킨 후 다시 재생하는 경우에, 기존의 세션 종료와 새로운 세션 생성 과정을 거치게 된다.
그런데, 일반적으로 세션이 종료하는 시간은 비디오 데이터의 프레임 레이트(frame rate)보다 훨씬 길기 때문에, 사용자는 한동안 화면이 정지되는 것을 느끼게 된다. 즉, 클라이언트(320)는 다시 비디오 컨텐츠를 재생하기 위하여 데이터 전송을 위한 소정의 시간동안 대기 상태에 놓이게 되는 문제점이 있다.
본 발명은 데이터를 송수신하는 네트워크 장치 간에 데이터 전송의 대기 시간을 줄이도록 하는 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를 전송하는 네트워크 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 데이터 전송 제어 방법은 제1 세션을 통하여 네트워크 장치 간에 데이터 통신이 수행되는 단계와, 상기 제1 세션이 종료되는 단계와, 상기 종료에 따라 상기 제1 세션이 해지되는 동안에 제2 세션이 생성되는 단계 및 상기 생성된 제2 세션을 통하여 상기 네트워크 장치 간에 데이터 통신이 이루어지는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 네트워크 장치는 소정의 컨텐츠를 저장하는 저장 모듈과, 상기 컨텐츠에 대한 데이터를 전송하기 위한 세션을 생성하거나 또는 해지하는 세션 관리 모듈 및 상기 저장 모듈로부터 상기 데이터를 추출하여 상기 세션 관리 모듈로 전달하고, 현재 데이터 통신이 수행되는 제1 세션이 종료되는 경우에는 상기 종료에 따라 상기 제1 세션이 해지되는 동안에 상기 세션 관리 모듈로 하여금 제2 세션을 생성하도록 하여 상기 생성된 제2 세션을 통하여 데이터 통신이 이루어지도록 제어하는 제어 모듈을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
이하, 본 발명의 실시예들에 의한 데이터 전송 제어 방법 및 상기 방법에 의 해 데이터를 전송하는 네트워크 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있 다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
한편, 본 발명에서는 TCP 통신을 예로 하여 설명하지만, 반드시 이에 한정되는 것은 아니며, TCP 통신과 같이 연결형 프로토콜(connection-oriented protocol)에 따라 동작하는 통신 시스템에 적용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 통신 시스템을 나타내는 예시도이다.
도 4를 참조하면, 본 발명의 실시에 따른 통신 시스템(400)은 정보를 요청하는 네트워크 장치와 상기 요청에 따라 정보를 제공하는 네트워크 장치를 포함할 수 있는데, 여기에서는 전자의 예로서 비디오 컨텐츠를 요청하고, 요청된 비디오 컨텐츠를 재생하는 클라이언트(420)와, 소정의 요청에 따라 비디오 컨텐츠를 제공하는 비디오 컨텐츠 서버(410)를 설명하도록 한다.
또한, 비디오 컨텐츠 서버(410)와 클라이언트(420) 사이에는 복수의 TCP 세션이 설정될 수 있는데, 여기에서는 설명의 편의상 2개의 TCP 세션이 설정되는 것으로 가정하고, 그 중 하나의 TCP 세션을 제1 TCP 세션(430), 다른 하나의 TCP 세션을 제2 TCP 세션(440)으로 칭하기로 한다.
클라이언트(420)는 버퍼(422), 디코더(424) 그리고 디스플레이 모듈(426)을 포함한다. 버퍼(422)는 제1 TCP 세션(430) 또는 제2 TCP 세션(440)을 통하여 수신된 비디오 스트림 데이터를 저장한다. 이 때, 상기 비디오 스트림 데이터는 비록 미도시되었으나 클라이언트(420) 내에 있는 소정의 네트워크 인터페이스 모듈을 통하여 수신되어 버퍼(422)로 전달된다.
디코더(424)는 버퍼(422)에 저장된 비디오 스트림 데이터를 디코딩하여 재생하고, 디스플레이 모듈(426)은 디코더(424)에 의해 재생되는 비디오 컨텐츠를 화면을 통하여 사용자에게 제공한다.
또한, 디코더(424)는 비디오 컨텐츠 서버(410)와의 연결 설정, 데이터 전송 그리고 연결 해제에 대한 제어를 담당할 수 있다.
비디오 컨텐츠 서버(410)와 클라이언트(420)는 서로 제1 TCP 세션(430)과 제2 TCP 세션(440)을 유지하고 있는데, 이 때, 데이터 통신은 양 세션에서 모두 일어나는 것이 아니라 어느 하나의 TCP 세션에서만 일어나게 된다.
예를 들어, 데이터 통신이 제1 TCP 세션(430)에서 이루어지는 경우, 즉, 비디오 컨텐츠 서버(410)가 비디오 스트림 데이터를 제1 TCP 세션(430)을 통하여 클라이언트(420)로 전송하는 경우에는 제2 TCP 세션(440)은 아이들 상태(idle state)로 유지된다.
만일, 데이터 통신이 제1 TCP 세션(430)에서 이루어지는 동안, 클라이언트(420)에 의해 비디오 컨텐츠의 재생이 중지되고, 비디오 컨텐츠 서버(410)가 중지된 시점부터 또는 비디오 컨텐츠의 다른 부분을 재생하라는 명령을 클라이언트(420)로부터 수신한 경우에는, 제1 TCP 세션(430)은 해지되는 반면에, 아이들 상태(idle state)에 놓여 있던 제2 TCP 세션(430)이 활성화되어 비디오 컨텐츠 서버(410)는 활성화된 제2 TCP 세션(430)을 통하여 요청된 비디오 스트림 데이터를 클 라이언트(420)로 전송한다. 이 때, 해지된 제1 TCP 세션(430)은 아이들 상태(idle state)로 된다.
또 다른 실시예로서, 비디오 컨텐츠 서버(410)와 클라이언트(420)가 제1 TCP 세션(430)을 통하여 통신을 수행하다가 클라이언트(420)에 의해 비디오 컨텐츠의 재생이 중지되고, 비디오 컨텐츠 서버(410)가 중지된 시점부터 또는 비디오 컨텐츠의 다른 부분을 재생하라는 명령을 클라이언트(420)로부터 수신한 경우에는, 제1 TCP 세션(430)은 연결 해제 과정을 시작하게 되는 반면에 제2 TCP 세션(440)은 연결 설정 과정을 시작하게 될 수도 있다.
이러한 실시예들을 통하여 클라이언트(420)를 이용하는 사용자는 세션의 연결 해제에 소요되는 시간 동안 대기 상태에 놓일 필요가 없게 되고, 클라이언트(420)로부터 발생되는 재생 중지 요청에 따라 즉시 다른 세션이 생성되기 때문에 사용자는 연속적으로 비디오 컨텐츠를 감상할 수 있게 된다.
도 5는 본 발명의 일 실시예에 따른 비디오 컨텐츠 서버의 구조를 나타내는 블록도이다.
도 5를 참조하면, 비디오 컨텐츠 서버(410)는 제어 모듈(412), 저장 모듈(414), 세션 관리 모듈(416) 그리고 인터페이스 모듈(418)을 포함한다.
이 때, 본 실시예에서 사용되는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로 세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
저장 모듈(414)은 다양한 형태의 비디오 컨텐츠를 저장하고, 제어 모듈(412)은 클라이언트(420)와의 연결 설정, 데이터 전송 그리고 연결 해제를 위한 제어를 수행한다.
세션 관리 모듈(416)은 제어 모듈(412)의 제어에 따라 세션을 관리한다. 보다 구체적으로, 제어 모듈(412)이 클라이언트(420)로부터 현재 재생되고 있는 비디오 컨텐츠의 중지를 요청하는 명령을 수신하면, 제어 모듈(412)은 세션 관리 모듈(416)로 하여금 데이터 전송을 수행하고 있는 세션을 해지하고 새로운 세션을 생성하도록 한다. 그리고, 세션 관리 모듈(416)은 새롭게 생성된 세션을 통하여 사용자가 다시 재생하고자 하는 비디오 컨텐츠에 해당하는 비디오 스트림 데이터를 인터페이스 모듈(418)을 경유하여 클라이언트(420)로 전송하게 된다.
한편, 비디오 컨텐츠 서버(410)와 클라이언트(420) 사이에 형성되는 TCP 세 션은 소켓(socket)에 의해 생성될 수 있다.
이 때, 소켓은 일반적으로 네트워크 상에서 클라이언트 프로그램과 서버 프로그램 사이의 통신 방법이며, '접속의 끝 부분'으로 정의될 수 있다. 또한, 소켓은 소켓 API라고 불리는, 일련의 프로그래밍 요청이나 함수 호출(function call)로 만들어지고 사용될 수 있다. 소켓들은 또한, 비디오 컨텐츠 서버(410) 또는 클라이언트(420) 내에서 프로세스들 간의 통신에도 사용될 수 있다.
한편, 하나의 소켓(socket)에 의해 하나의 TCP 세션이 생성될 수도 있고, 하나의 소켓(socket)에 의해 다수의 TCP 세션이 생성될 수도 있다.
인터페이스 모듈(418)은 세션 관리 모듈(416)에 의해 생성된 TCP 세션을 통하여 클라이언트(420)와의 데이터 통신을 수행하도록 한다.
TCP 세션이 형성되는 전송 매체는 유선 또는 무선일 수 있으며, TCP 통신이 가능한 전송 매체라면 본 발명의 적용이 가능하다.
한편, 클라이언트(420) 측에서는 전송 매체의 상태에 따라 데이터를 수신하는 대기 시간이 길어질 수도 있다.
이러한 경우에, 소정의 문턱값 이상 동안 대기 상태가 계속되는 경우에는 클라이언트(420)와 비디오 컨텐츠 서버(410)는 기존에 사용하고 있던 TCP 세션을 해지하고 새로운 TCP 세션을 생성하도록 함으로써 비디오 스트림 데이터의 흐름을 조절할 수도 있다.
즉, 본 발명의 실시에 따라 비디오 컨텐츠 서버(410)와 클라이언트(420) 사이에 형성된 복수의 TCP 세션들에 대한 해지 및 생성은 사용자에 의한 중지 및 재 생에 의해 수행될 수도 있고, 클라이언트의 데이터 수신 대기 상태에 따라 수행될 수도 있다.
또다른 실시예로서, 클라이언트(420)는 데이터의 전송 속도 및 이에 따른 전송 품질을 측정하는 기능을 포함하고, 이렇게 측정된 전송 품질의 상태가 소정의 품질 임계치(quality threshold)보다 낮게 될 경우에, 클라이언트(420)와 비디오 컨텐츠 서버(410)는 기존에 사용하고 있던 TCP 세션을 해지하고 새로운 TCP 세션을 생성하도록 함으로써 비디오 스트림 데이터의 흐름을 조절할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 제어 방법을 나타내는 플로우차트이다.
우선, 비디오 컨텐츠 서버(410)와 클라이언트(420) 사이에 제1 TCP 세션이 생성되고(S610), 생성된 제1 TCP 세션을 통하여 비디오 컨텐츠 서버(410)와 클라이언트(420) 사이에 데이터 전송이 이루어진다(S620).
만일, 비디오 컨텐츠 서버(410)가 클라이언트(420)로부터 현재 재생되고 있는 비디오 컨텐츠의 중지를 요청하는 명령을 수신하거나, 전송 매체의 상태에 따라 다른 TCP 세션을 생성할 필요가 발생하게 되어 제1 TCP 세션이 종료되는 경우에는(S630), 제1 TCP 세션이 해지되고 제2 TCP 세션이 생성된다(S640). 그리고 나서, 비디오 컨텐츠 서버(410)와 클라이언트(420) 사이에 제2 TCP 세션을 통하여 데이터 전송이 이루어지게 된다(S650).
한편, 데이터 전송이 이루어지고 있지 않은 TCP 세션은 아이들 상태(idle state)로 놓여질 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명을 따르게 되면, TCP 연결(connection)을 사용하여 데이터 전송을 하는 경우에 데이터 전송의 대기 시간을 줄일 수 있는 효과가 있다.

Claims (14)

  1. 제1 세션을 통하여 네트워크 장치 간에 데이터 통신이 수행되는 단계;
    상기 제1 세션이 종료되는 단계;
    상기 종료에 따라 상기 제1 세션이 해지되는 동안에 제2 세션이 생성되는 단계; 및
    상기 생성된 제2 세션을 통하여 상기 네트워크 장치 간에 데이터 통신이 이루어지는 단계를 포함하는 데이터 전송 제어 방법.
  2. 제1항에 있어서,
    상기 세션은 TCP 세션인 데이터 전송 제어 방법.
  3. 제1항에 있어서,
    상기 해지된 제1 세션은 아이들 상태(idle state)로 유지되는 단계를 더 포함하는 데이터 전송 제어 방법.
  4. 제1항에 있어서,
    상기 종료는 상기 데이터를 요청하는 네트워크 장치에 의한 데이터 전송 중지에 따른 종료를 포함하는 데이터 전송 제어 방법.
  5. 제1항에 있어서,
    상기 종료는 상기 데이터를 요청하는 네트워크 장치에 의한 데이터 전송 대기 시간에 따른 종료를 포함하는 데이터 전송 제어 방법.
  6. 제1항에 있어서,
    상기 종료는 상기 데이터의 전송 속도 및 이에 따른 전송 품질에 따른 종료를 포함하는 데이터 전송 제어 방법.
  7. 제1항에 있어서,
    상기 데이터는 비디오 스트림 데이터를 포함하는 데이터 전송 제어 방법.
  8. 소정의 컨텐츠를 저장하는 저장 모듈;
    상기 컨텐츠에 대한 데이터를 전송하기 위한 세션을 생성하거나 또는 해지하는 세션 관리 모듈; 및
    상기 저장 모듈로부터 상기 데이터를 추출하여 상기 세션 관리 모듈로 전달하고, 현재 데이터 통신이 수행되는 제1 세션이 종료되는 경우에는 상기 종료에 따라 상기 제1 세션이 해지되는 동안에 상기 세션 관리 모듈로 하여금 제2 세션을 생성하도록 하여 상기 생성된 제2 세션을 통하여 데이터 통신이 이루어지도록 제어하는 제어 모듈을 포함하는 네트워크 장치.
  9. 제8항에 있어서,
    상기 세션은 TCP 세션인 네트워크 장치.
  10. 제8항에 있어서,
    상기 제어 모듈은 상기 해지된 제1 세션을 아이들 상태(idle state)로 유지하도록 제어하는 네트워크 장치.
  11. 제8항에 있어서,
    상기 종료는 데이터 전송 중지에 따른 종료를 포함하는 네트워크 장치.
  12. 제8항에 있어서,
    상기 종료는 데이터 전송 대기 시간에 따른 종료를 포함하는 네트워크 장치.
  13. 제8항에 있어서,
    상기 종료는 상기 데이터의 전송 속도 및 이에 따른 전송 품질에 따른 종료를 포함하는 네트워크 장치.
  14. 제8항에 있어서,
    상기 데이터는 비디오 스트림 데이터를 포함하는 네트워크 장치.
KR1020050078856A 2005-08-26 2005-08-26 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치 KR20070024183A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050078856A KR20070024183A (ko) 2005-08-26 2005-08-26 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치
US11/472,318 US20070061469A1 (en) 2005-08-26 2006-06-22 Method of controlling data transmission and network apparatus for transmitting data using the same
CNA2006101078386A CN1921460A (zh) 2005-08-26 2006-07-26 控制数据传输的方法及使用该方法传输数据的网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050078856A KR20070024183A (ko) 2005-08-26 2005-08-26 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치

Publications (1)

Publication Number Publication Date
KR20070024183A true KR20070024183A (ko) 2007-03-02

Family

ID=37779035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050078856A KR20070024183A (ko) 2005-08-26 2005-08-26 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치

Country Status (3)

Country Link
US (1) US20070061469A1 (ko)
KR (1) KR20070024183A (ko)
CN (1) CN1921460A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493383B1 (en) * 2006-12-29 2009-02-17 F5 Networks, Inc. TCP-over-TCP using multiple TCP streams
US8127020B2 (en) * 2008-08-28 2012-02-28 Red Hat, Inc. HTTP standby connection
US9521439B1 (en) * 2011-10-04 2016-12-13 Cisco Technology, Inc. Systems and methods for correlating multiple TCP sessions for a video transfer
US8903955B2 (en) 2011-12-02 2014-12-02 Cisco Technology, Inc. Systems and methods for intelligent video delivery and cache management
US9106474B2 (en) * 2012-03-28 2015-08-11 National Instruments Corporation Lossless data streaming to multiple clients
WO2014067070A1 (zh) * 2012-10-30 2014-05-08 华为技术有限公司 数据传输方法、切换方法、数据传输装置、切换装置、用户设备、无线接入节点、数据传输系统、切换系统
US20190109889A1 (en) * 2016-03-22 2019-04-11 Novus4 Limited Method and system for controlling data transmission
KR20180028847A (ko) * 2016-09-09 2018-03-19 삼성전자주식회사 네트워크 선택 방법 및 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077730A (en) * 1990-08-02 1991-12-31 Arrowood Andrew H Method of auditing primary and secondary node communication sessions
US5754752A (en) * 1996-03-28 1998-05-19 Tandem Computers Incorporated End-to-end session recovery
US6263371B1 (en) * 1999-06-10 2001-07-17 Cacheflow, Inc. Method and apparatus for seaming of streaming content
US7076555B1 (en) * 2002-01-23 2006-07-11 Novell, Inc. System and method for transparent takeover of TCP connections between servers
SE524733C2 (sv) * 2002-02-25 2004-09-21 Ericsson Telefon Ab L M Förfarande och system för återutsända mobila IP-tjänster i ett telekommunikationssystem
JP3846344B2 (ja) * 2002-03-25 2006-11-15 ヤマハ株式会社 セッション装置およびその制御方法を実現するためのプログラム

Also Published As

Publication number Publication date
US20070061469A1 (en) 2007-03-15
CN1921460A (zh) 2007-02-28

Similar Documents

Publication Publication Date Title
CN106165368B (zh) 实时传输协议的流送控制
CN111479121B (zh) 一种基于流媒体服务器的直播方法及系统
CN107682657B (zh) 一种基于WebRTC的多人语音视频通话方法及系统
KR20070024183A (ko) 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치
KR101320908B1 (ko) 유니캐스트 세션들과 멀티캐스트 세션 간을 변환하기 위한방법
EP2640099B1 (en) Method, system and apparatus for providing stream media service
KR102387161B1 (ko) 비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체
CN105763832B (zh) 一种视频互动、控制方法及装置
CN110535871B (zh) 一种基于WebRTC的课堂实时视频投影方法及系统
US20020112244A1 (en) Collaborative video delivery over heterogeneous networks
CN106303674B (zh) 数据传输方法、装置和智能电视系统
US20220209878A1 (en) Method, system and device for pushing information, and storage medium thereof
CN110677831B (zh) 一种基于互联技术的视频投射方法
KR102203381B1 (ko) 애플리케이션을 스트리밍하고 재생하기 위한 방법 및 전자통신 네트워크
CN110943977B (zh) 多媒体业务数据传输方法、服务端、设备及存储介质
CN103179213A (zh) 基于点对点代理机制的家庭媒体资源传输方法及系统
JP2005537742A (ja) マルチメディアデータのストリーミング方法
KR20050043772A (ko) 사용자간 통신을 위한 모듈 및 방법
EP1962472B1 (en) Multimedia application interface
WO2022241990A1 (zh) 一种媒体传输链路管理方法、装置及存储介质
CN109361551B (zh) 一种局域网双通道设备发现方法
WO2016114967A1 (en) Systems and methods for adaptive context-aware control of multimedia communication sessions
WO2023169066A1 (zh) 监控回放控制方法、装置、存储介质及电子设备
CN114793225B (zh) 一种云手机与真机的数据通信方法及系统
CA3213247A1 (en) Method and system for integrating video content in a video conference session

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application