KR101871303B1 - 멀티캐스트 클라이언트로부터 스트림을 구독하는 방법 - Google Patents

멀티캐스트 클라이언트로부터 스트림을 구독하는 방법 Download PDF

Info

Publication number
KR101871303B1
KR101871303B1 KR1020167010859A KR20167010859A KR101871303B1 KR 101871303 B1 KR101871303 B1 KR 101871303B1 KR 1020167010859 A KR1020167010859 A KR 1020167010859A KR 20167010859 A KR20167010859 A KR 20167010859A KR 101871303 B1 KR101871303 B1 KR 101871303B1
Authority
KR
South Korea
Prior art keywords
client
server
address
stream
distribution group
Prior art date
Application number
KR1020167010859A
Other languages
English (en)
Other versions
KR20160065901A (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 오렌지
Publication of KR20160065901A publication Critical patent/KR20160065901A/ko
Application granted granted Critical
Publication of KR101871303B1 publication Critical patent/KR101871303B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • H04L61/2069
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • 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]
    • 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/80Responding to QoS

Abstract

본 발명은, 멀티캐스트 그룹(G)에서 분배되는 데이터 스트림의 구독을 요청하는 방법으로, 상기 그룹은 서버(101), 제1 클라이언트(201), 및 제2 클라이언트(202)를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크(301)를 통해 서로 연결되며, 멀티캐스트 그룹은 주소에 의해 식별되고, 제1 소스에 의해 멀티캐스트 그룹 주소로 송신되는 스트림은 제2 소스가 이미 제1 소스를 구독하면 제2 소스에 의해 수신되며, 제1 클라이언트는 서버를 구독하는 것인 방법에 관한 것이다. 방법은, 제1 클라이언트 의해 수행되는 하기 단계들로, 제2 클라이언트에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림에 관한 적어도 하나의 품질 파라미터를 포함하는 적어도 하나의 관리 메시지를 서버로부터 수신하는 단계; 수신되는 적어도 하나의 품질 파라미터에 따른 기준에 따라 제2 클라이언트를 구독하기로 결정하는 단계, 및 긍정적인 결정의 경우, 제2 클라이언트의 구독 요청 메시지를 송신하는 단계를 포함한다.

Description

멀티캐스트 클라이언트로부터 스트림을 구독하는 방법{METHOD FOR SUBSCRIBING TO STREAMS FROM MULTICAST CLIENTS}
본 발명을 위한 출원은 멀티캐스트 데이터 스트림 분배 그룹의 분야에 속한다.
보다 정확하게는, 본 발명을 위한 출원은 양방향 멀티캐스트 분배 그룹, 및 멀티캐스트 클라이언트로부터 유래되는 스트림의 구독에 관한 것이다.
인터넷 프로토콜(IP) 네트워크에서 멀티캐스트 전송을 실시하는 서비스들은 초기에 멀티캐스트 클라이언트들로 지향되는 멀티캐스트 서버로부터 유래되는 패킷들의 분배에 제한되었다. 따라서, 인터넷을 통한 TV의 분배의 경우, 네트워크 프론트-엔드 서버는 운영자에 의해 제어되거나, 또는 운영자가 협약을 맺은 컨텐츠 제공자에 의해 제어되고, 그로 인해 클라이언트에 이르기까지 서비스 품질이 제어될 수 있다.
멀티캐스트 전송 모드는 이제 서버로부터 멀티캐스트 클라이언트들로의 다운고잉 방향으로만 사용되는 것이 아니라, 각각의 멀티캐스트 클라이언트가 전송 네트워크를 통해 멀티캐스트 그룹으로 멀티캐스트 IP 패킷들을 송신하는 것을 허용함에 의해 사용된다.
하나의 클라이언트가 다른 클라이언트들이 구독자로 있는 멀티캐스트 그룹의 IP 주소로 상당한 비트레이트의 멀티캐스트 IP 트래픽을 송신하면, IP 네트워크 액세스를 위한 후자의 인터페이스는 전자의 멀티캐스트 IP 트래픽에 의해 포화될 위험을 무릅쓰게 된다.
멀티캐스트 클라이언트에 의해 수신되는 멀티캐스트 스트림들의 수를 제한하기 위해, 멀티캐스트 클라이언트는, 예컨대 표준 IETF RFC 3376(Internet Engineering Task Force, Request For Comments)에 정의된 IGMPv3 프로토콜(Internet Group Management Protocol) 또는 표준 IETF RFC 3810에 정의된 MLDv2 프로토콜(Multicast Listener Discovery)의 도움으로 승인되거나 배제되도록, 멀티캐스트 그룹의 IP 주소 외에도, 소스 IP 주소 또는 주소들을 명시함으로써 멀티캐스트 스트림들을 수신할 것을 네트워크에 요청할 수 있다.
이하의 문헌에서는, 멀티캐스트 클라이언트가 다른 클라이언트 또는 서버에 의해 송신되는 멀티캐스트 스트림을 구독할 때, 이는 이러한 다른 클라이언트 또는 서버의 IP 주소가 멀티캐스트 스트림 수신 요청에 명시된다는 것을 의미한다.
특허출원번호 WO 2011/067495에는, 보장된 다운고잉 비트레이트를 인증된 업고잉 비트레이트와 비교함으로써 클라이언트로 다시 송신될 멀티캐스트 스트림들의 수를 제한하는 것을 가능하게 하기 위해, IGMPv3 또는 MLDv2 요청의 수락을 제어하는 방법이 기재되어 있지만, 이 방법은 이러한 비트레이트들이 수락 제어 엔티티에 알려진 것으로 가정한다.
이러한 비트레이트들이 항상 알려져 있는 것은 아니다. 예컨대, 멀티캐스트 스트림들이 Wi-Fi 액세스 포인트를 통해 네트워크에 액세스하는 멀티캐스트 클라이언트들에 의해 송신되는 때가 그와 같은 경우이다. 이후, 모든 Wi-Fi 단말기들이 IEEE(Institute of Electrical and Electronics Engineers) 표준 802.11e를 실시하는 것은 아니기 때문에, 다양한 업고잉 IP 멀티캐스트 스트림들의 비트레이트를 미리 아는 것이 불가능하다.
본 발명의 하나의 목적은 종래 기술의 이러한 결점들을 제거하는 데에 있다.
본 발명은, 멀티캐스트 분배 그룹에서 분배되는 데이터 스트림의 구독을 요청하는 방법으로, 상기 그룹은 서버, 제1 클라이언트, 및 제2 클라이언트를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크를 통해 서로 연결되며, 멀티캐스트 분배 그룹은 주소에 의해 식별되고, 제1 소스에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림은 제2 소스가 이미 제1 소스의 구독자이면 제2 소스에 의해 수신되며, 제1 클라이언트는 서버의 구독자인 것인 방법에 있어서, 제1 클라이언트 의해 실시되는 하기 단계들로,
- 서버로부터 유래되는, 제2 클라이언트에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림에 관한 적어도 하나의 품질 파라미터를 포함하는 적어도 하나의 관리 메시지를 수신하는 단계,
- 수신되는 적어도 하나의 품질 파라미터에 따른 기준(criterion)의 함수로서 제2 클라이언트 구독을 결정하는 단계,
- 긍정적인 결정의 경우, 제2 클라이언트의 구독을 요청하는 메시지를 송신하는 단계를 포함하는 방법의 도움으로 상황을 개선한다.
본 발명에 의하면, 양방향 멀티캐스트 그룹의 제1 클라이언트는 제2 클라이언트를 구독하기 전에 제2 클라이언트에 의해 송신되는 스트림의 품질 파라미터들을 서버로부터 획득한다. 그러므로, 서버로부터 획득되는 하나 이상의 품질 파라미터가, 예컨대 큐 내의 너무 많은 메모리 또는 너무 많은 비트레이트를 요구하는 신호와 같이, 제1 클라이언트의 제2 클라이언트 구독을 조절하는 기준이 충족되지 않음을 나타내면, 제1 클라이언트는 제2 클라이언트를 구독하지 않기로 결정할 수 있다. 종래 기술에 따르면, 멀티캐스트 스트림을 수신하기 위해 다른 클라이언트를 구독하기 전에, 다른 클라이언트에 의해 송신되는 멀티캐스트 스트림의 품질에 관한 어떤 정보도 클라이언트에게 유효하지 않았다.
본 발명의 일 양태에 따르면, 결정 단계는 제2 클라이언트에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림을 수신하기 위해 필요한 평균 비트레이트의 값을 포함하는 기준을 고려하며, 적어도 하나의 품질 파라미터에 기초하여 이러한 값을 계산하는 단계 다음에 수행된다.
예컨대 RFC 3550에 따른 멀티캐스트 서버에 의해 송신되는 RTCP SR(Real-time Transfer Control Protocol, Sender Report) 타입의 관리 메시지에 포함되는 품질 파라미터들은: 수신되는 패킷들의 수, 수신되는 RTP(Real-time Transfer Protocol) 패킷들의 유용한 바이트들의 수, 및 RTP 세션의 시작 이후로 손실되는 RTP 패킷들의 수이다.
따라서, 유리하게는, 이러한 품질 파라미터들의 도움으로, 제1 클라이언트가 제2 클라이언트에 의해 송신되는 스트림의 평균 비트레이트를 계산하는 것이 가능한데, 이는 이러한 스트림을 수신하기 위해 필요한 평균 비트레이트와 동일하다.
본 발명의 일 양태에 따르면, 결정 단계는 제2 클라이언트에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림을 수신하기 위해 필요한 큐 크기의 값을 포함하는 기준을 고려하며, 적어도 하나의 품질 파라미터에 기초하여 이러한 값을 계산하는 단계 다음에 수행된다.
RFC 3611에 따른 멀티캐스트 서버에 의해 송신되는 RTCP XR(eXtended Report) 타입의 관리 메시지에 포함되는 품질 파라미터들은: 손실된 RTP 패킷들의 비율, 늦거나 이른 도착으로 인해 고려되지 않는 RTP 패킷들의 비율, 버스트(burst) 중에 손실되거나 고려되지 않는 RTP 패킷들의 비율, 두 버스트 사이에서 손실되거나 고려되지 않는 RTP 패킷들의 비율이다.
따라서, 유리하게는, 이러한 품질 파라미터들의 도움으로, 제1 클라이언트가 제2 클라이언트에 의해 송신되는 스트림과 연관된 큐 크기의 값을 계산하는 것이 가능하다.
본 발명의 일 양태에 따르면, 구독 요청 메시지는 계산된 값을 포함한다.
계산된 비트레이트는 제1 클라이언트가 제2 클라이언트 구독 전에 비트레이트의 관점에서 이미 수신한 것에 관한 추가 비트레이트를 나타낸다. 마찬가지로, 계산된 큐 크기는 제1 클라이언트가 제2 클라이언트 구독 전에 큐의 관점에서 이미 수신한 것에 관한 추가 크기를 나타낸다.
유리하게는, 스트림을 수신하기 위해 계산되는 평균 비트레이트 및/또는 계산되는 큐 크기를 구독 요청에 포함시킴으로써, 이러한 비트레이트 또는 이러한 추가 큐 크기가 처리 가능함을 알지 못한 채 제1 클라이언트가 구독 결정을 내리면, 이는 요청을 수신한 네트워크의 다른 엔티티로 하여금 이러한 추가 비트레이트가 제1 클라이언트를 향한 다운고잉 방향으로 정말로 유효함을 입증할 수 있게 한다.
이제까지 설명된 데이터 스트림의 구독을 요청하는 방법의 다양한 양태들은 서로 독립적으로 또는 서로 결합되어 실시될 수 있다.
본 발명은 추가로 모든 구현예들에서 이제까지 설명된 데이터 스트림의 구독을 요청하는 방법을 실시할 수 있는 데이터 스트림의 구독을 요청하는 장치에 관한 것이다.
본 발명은 또한, 멀티캐스트 분배 그룹에서 분배되는 데이터 스트림들을 관리하는 방법으로, 상기 그룹은 서버, 제1 클라이언트, 및 적어도 하나의 제2 클라이언트를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크를 통해 서로 연결되며, 멀티캐스트 분배 그룹은 주소에 의해 식별되고, 제1 소스에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림은 제2 소스가 이미 제1 소스의 구독자이면 제2 소스에 의해 수신되며, 제1 클라이언트는 서버의 구독자이고, 서버는 상기 적어도 하나의 제2 클라이언트의 구독자이며, 제2 클라이언트에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림을 수신할 수 있고, 그로부터 상기 스트림의 품질에 관한 적어도 하나의 파라미터를 추출할 수 있는 것인 방법에 있어서, 서버에 의해 실시되는 하기 단계들로,
- 추출되는 적어도 하나의 파라미터의 함수로서 적어도 하나의 제2 클라이언트 중에서 적어도 하나의 클라이언트를 선택하는 단계,
- 적어도 하나의 선택된 클라이언트에 대응하는 적어도 하나의 추출된 파라미터를 포함하는 적어도 하나의 관리 메시지를 멀티캐스트 그룹의 주소로 송신하는 단계를 포함하는 방법에 관한 것이다.
그러므로, 멀티캐스트 그룹의 모든 스트림들의 구독자인 서버는 특히 제1 및 제2 단말기에 의해 멀티캐스트 그룹의 주소로 송신되는 메시지들, 예컨대 송신자의 식별자뿐만 아니라 페이로드 데이터를 포함하는 RTP 타입의 메시지들을 비롯하여, 멀티캐스트 그룹의 모든 단말기들에 의해 송신되는 모든 스트림들을 수신한다.
따라서, 이는 서버가 단말기들로부터 수신되는 페이로드 데이터의 소정의 품질 파라미터들을 측정하여 이들을 단말기들과 연관시키는 것을 허용한다.
그러므로, 서버는 소정수의 파라미터들을 포함하는 관리 메시지들을 멀티캐스트 그룹의 주소로, 즉 그룹의 모든 단말기들로 스트림 내에 송신할 수 있게 되고, 이는 각각의 이러한 단말기들에 대해 그룹의 하나 이상의 다른 단말기의 스트림을 구독하기로 결정하는 것을 도울 것이다.
이러한 관리 메시지들은 예컨대 RTCP SR 또는 XR 타입의 메시지들로, 송신 소스의 식별자, 및 소정의 시간 간격으로 수신되는 패킷들 또는 바이트들의 수, 손실된 패킷들의 수, 지터 등과 같은 소정의 품질 파라미터들을 포함하되, 이러한 파라미터들은 업고잉 방향으로 네트워크의 노드와 소스, 즉 클라이언트 사이의 링크의 품질을 나타낸다.
소정의 단말기들은 열악한 업고잉 스트림 품질을 갖는데, 이는 이러한 단말기들을 서버 외의 멀티캐스트 그룹의 스트림을 구독하고자 하는 다른 단말기들의 열악한 후보로 만든다.
선택 단계로 인해, 서버는 업고잉 스트림이 열악한 품질을 갖는 단말기들에 관한 정보의 항목들을 관리 메시지들로부터 제거할 수 있고, 이는 다른 단말기들이 이들을 양호한 구독 후보들로 고려하는 것을 저지할 것이다.
따라서, 유리하게는, 본 발명에 따르면, 서버에 의해 송신되는 RTCP SR/XR 메시지들의 수는 RTP 스트림을 수신하자마자 이와 같은 메시지를 자동으로 발송하는 종래 기법에 비해 감소한다.
아울러, 열악한 품질의 스트림들에 관한 관리 메시지들은, 있다 해도, 이들을 수신하는 단말기들에 의해 단지 어렵게 사용될 수 있다. 송신 단계로 인해, 단말기들은 종래 기법과 달리 사용 가능한 메시지만을 수신한다.
본 발명은 추가로 모든 구현예들에서 이제까지 설명된 데이터 스트림들을 관리하는 방법을 실시할 수 있는 데이터 스트림들을 관리하는 장치에 관한 것이다.
본 발명은 또한, 전술한 바와 같은 데이터 스트림의 구독을 요청하는 장치를 포함하며 전자 통신 네트워크에 연결되는, 멀티캐스트 분배 그룹의 클라이언트 장비 아이템에 관한 것이다. 이러한 클라이언트 장비 아이템은 예컨대 스마트폰, 디지털 태블릿, 컴퓨터, 또는 센서와 같은 사용자 단말기일 수 있다.
본 발명은 또한, 전술한 바와 같은 데이터 스트림들을 관리하는 장치를 포함하며 전자 통신 네트워크에 연결되는, 멀티캐스트 분배 그룹의 서버 장비 아이템에 관한 것이다. 이러한 서버 장비 아이템은 예컨대 TV 서버, 게임 서버, 화상회의 서버, 또는 센서 네트워크 서버일 수 있다.
본 발명은 추가로, 전술한 바와 같은 하나의 서버 장비 아이템 및 적어도 2개의 클라이언트 장비 아이템을 포함하되, 장비 아이템들이 전자 통신 네트워크를 통해 서로 연결되는, 멀티캐스트 분배 그룹에 관한 것이다.
본 발명은 또한, 이제까지 설명된 데이터 스트림의 구독을 요청하는 방법이 프로세서에 의해 실행될 때, 상기 방법의 단계들의 실시를 위한 명령들을 포함하는, 컴퓨터 프로그램에 관한 것이다.
본 발명은 또한, 클라이언트 장비 아이템에 의해 판독 가능하며, 이제까지 설명된 프로그램이 기록되어 있고, 임의의 프로그래밍 언어를 사용할 수 있으며, 부분적으로 컴파일된 형태 또는 임의의 다른 바람직한 형태와 같은 소스 코드, 객체 코드, 또는 소스 코드와 객체 코드 사이의 중간 코드의 형태일 수 있는, 기록 매체에 관한 것이다.
본 발명은 또한, 이제까지 설명된 데이터 스트림들을 관리하는 방법이 프로세서에 의해 실행될 때, 상기 방법의 단계들의 실시를 위한 명령들을 포함하는 컴퓨터 프로그램에 관한 것이다.
본 발명은 최종적으로, 서버 장비 아이템에 의해 판독 가능하며, 이제까지 설명된 프로그램이 기록되어 있고, 임의의 프로그래밍 언어를 사용할 수 있으며, 부분적으로 컴파일된 형태 또는 임의의 다른 바람직한 형태와 같은 소스 코드, 객체 코드, 또는 소스 코드와 객체 코드 사이의 중간 코드의 형태일 수 있는, 기록 매체에 관한 것이다.
본 발명의 다른 이점들 및 특징들은 첨부 도면과, 간단한 예시적 및 비제한적 예로서 주어지는 본 발명의 특정 구현예의 후술하는 설명을 숙독 시에 더 분명하게 명확해질 것이다.
도 1은 본 발명의 양태에 따른 서버를 비롯한 여러 소스들을 포함하는 네트워크 내의 멀티캐스트 분배 그룹을 개략적인 방식으로 나타낸다.
도 2는 본 발명의 양태에 따른 데이터 스트림의 구독을 요청하는 방법 및 데이터 스트림들을 관리하는 방법의 단계들의 예시적인 배열 및 실시를 나타낸다.
도 3은 본 발명의 양태에 따른 데이터 스트림의 구독을 요청하는 방법의 단계들의 클라이언트에 의한 예시적인 실시를 나타낸다.
도 4는 본 발명의 양태에 따른 데이터 스트림들을 관리하는 방법의 단계들의 서버에 의한 예시적인 실시를 나타낸다.
도 5는 본 발명의 양태에 따른 데이터 스트림의 구독을 요청하는 장치의 예시적인 구조를 나타낸다.
도 6은 본 발명의 양태에 따른 데이터 스트림들을 관리하는 장치의 예시적인 구조를 나타낸다.
후술하는 설명에서, IETF의 멀티캐스트 분배 프로토콜에 기초하여 본 발명의 여러 구현예들을 예로서 나타내지만, 본 발명은 예컨대 ATM(Asynchronous Transfer Mode) 또는 이더넷과 같은 다른 프로토콜, 또는 ZigBee, Bluetooth, 또는 Wi-Fi와 같은 센서에 적합한 전송 프로토콜에도 적용된다.
도 1은 본 발명의 양태에 따른 서버를 비롯한 여러 소스들을 포함하는 네트워크 내의 멀티캐스트 분배 그룹을 개략적인 방식으로 나타낸다.
주소(aG)를 갖는 이와 같은 멀티캐스트 분배 그룹(G)에서, 각각의 소스는 전자 통신 네트워크(301), 일반적으로 IP 타입의 네트워크에 연결되고, 네트워크(301)를 향한 패킷들의 aG로 패킷들을 송신할 수 있다.
소스들은 클라이언트들(201 내지 20x)과 같은 클라이언트들, 또는 서버(101)와 같은 서버이다.
최소한, 각각의 클라이언트(201 내지 20x)는 서버(101)에 의해 송신되는 주소(aG)를 갖는 멀티캐스트 스트림을 구독한다. 그러므로, 모든 클라이언트들은 실선에 의해 나타낸 바와 같이 서버에 의해 aG로 송신되는 모든 것을 수신한다. 클라이언트는 다른 클라이언트에 의해 송신되는 주소(aG)를 갖는 멀티캐스트 스트림을 명백히 구독하지 않는 한 다른 클라이언트에 의해 송신되는 것을 수신하지 않는다.
자신의 측에서, 서버는 각각의 클라이언트(201 내지 20x)에 의해 송신되는 주소(aG)를 갖는 멀티캐스트 스트림을 구독한다. 따라서, 서버는 파선에 의해 나타낸 바와 같이 클라이언트들에 의해 aG로 송신되는 모든 것을 수신하고, 그로 인해 특히 각각의 RTP 트래픽을 수신할 수 있다.
멀티캐스트 그룹에서, 클라이언트는 RTP 트래픽으로도 지칭되는 실시간 데이터 및 RTCP 메시지로도 지칭되는 제어 메시지를 송신한다. RTP 패킷들은 예컨대 10 밀리세컨드마다 분배되지만, RTCP 제어 메시지들은 더 낮은 주파수로, 예컨대 매 초마다 분배된다.
클라이언트로부터 서버에 의해 수신되는 RTP 트래픽은, 서버로 하여금, 이러한 클라이언트에 의해 송신되는 스트림에 관한 정보의 항목들을 획득하는 것과, 서버에 의해 수신되는 이러한 클라이언트의 스트림의 품질에 관한 파라미터들을 포함하는 RTCP SR 또는 XR 타입의 메시지들을 송신하는 것을 허용한다.
본 발명에 따르면, 서버는 RTCP SR 또는 XR 메시지들을 송신할 클라이언트들을 선택한다. 이와 달리, RFC 3550에 의해 제한되는 종래 기법은 클라이언트와 서버를 구별하지 않으며, 서버가 멀티캐스트 그룹의 모든 클라이언트들을 위해 이와 같은 메시지들을 송신하거나 어느 것을 위해서도 송신하지 않도록 강제한다. 유리하게는, 본 발명에 따른 서버는 예컨대 품질 파라미터들이 불충분한 값들을 나타내는 클라이언트들을 선택하지 않을 것이다.
본 발명에 따르면, 다른 클라이언트를 구독하고자 하는 클라이언트는, 서버로부터 수신되는 RTCP SR 또는 XR 메시지들의 도움으로, 스트림을 수신하기 위해 필요한 평균 비트레이트를 계산할 수 있고, 그에 따라 이에 유효한 다운고잉 비트레이트의 함수로서 구독이 가능한지 판단할 수 있다.
그러나, 구독을 위해, 이러한 클라이언트는, 필요 평균 비트레이트를 계산한, 그리고 스트림을 수신하고자 하는, 클라이언트의 IP 주소를 알아야 한다. RTCP SR 또는 XR 메시지들은, RTP 메시지들처럼, 이들이 가리키는 스트림들의 임의의 소스 IP 주소를 포함하는 것이 아니라, IP 네트워크와 멀티캐스트 네트워크 사이의 독립성을 보장하기 위해, SSRC(Synchronization SouRCe) 식별자만을 포함한다.
그러나, 클라이언트로부터 서버에 의해 수신되는 SDES(Source DEScription) RTCP 메시지는 서버가 IP 주소를 클라이언트의 SSRC 식별자와 연관시키는 것을 허용한다. 실제로, SDES RTCP 타입의 메시지들은, 송신 소스의 SSRC 식별자 외에도, 이러한 소스의 IPv4 또는 IPv6 주소를 ASCII 형태로 포함하는 다른 식별자를 포함한다.
서버는 주소(aG)로 다양한 클라이언트들로부터 수신되는 SDES RTCP 메시지들을 재송신할 수 있거나, 이들을 종합하여 주소(aG)로 종합 SDES RTCP 메시지를 송신할 수 있다. 클라이언트가 종합 SDES RTCP 메시지를 수신할 때, 이는 클라이언트가 다른 클라이언트들의 IP 주소를 SSRC 식별자와 연관시키는 것을 허용한다. 이는 적어도 두 가지 이유로 필요하다:
1. 먼저, IGMPv3 또는 MLDv2 요청을 이용한 클라이언트 구독 요청은 이 클라이언트의 IP 주소를 명시해야 하는 반면, RFC 3550에 따른 RTCP SR 또는 XR 메시지들은 소스의 SSRC 식별자만을 명시한다.
2. 다음으로, SSRC 식별자는 멀티캐스트 그룹 내에서 유일해야 하고, 서버에 의해 송신되는 멀티캐스트 스트림만을 구독하는 클라이언트는 이미 사용된 SSRC 식별자들을 알지 못하고, 이미 채택된 식별자를 할당받을 수 있고, 그로 인해 충돌 시에 클라이언트들로의 멀티캐스트 분배의 품질의 감소를 초래한다.
도 2는 본 발명의 양태에 따른 데이터 스트림의 구독을 요청하는 방법 및 데이터 스트림들을 관리하는 방법의 단계들의 예시적인 배열 및 실시를 나타낸다.
설명의 용이함을 위해, 도면에서 클라이언트들의 수는 서버 외의 제2 소스를 구독하고자 하는 제1 클라이언트(201), 및 하나의 제2 클라이언트(202), 2개로 감소된다. 후술하는 설명은 여러 제2 클라이언트들(202, 203, 204 등)이 제1 클라이언트(201) 및 서버(101)와 함께 멀티캐스트 그룹의 일부를 형성하는 경우에도 적용된다.
단계(E400) 동안, 서버(101)는 네트워크(301)로 IGMPv3 또는 MLDv2 요청을 송신하며, 주소(aG)를 멀티캐스트 그룹 주소로 명시하고, 임의의 소스 주소를 배제하지 않음으로써, 멀티캐스트 주소(aG)를 향한 스트림들의 세트를 구독한다.
단계(E500) 동안, 서버(101)는 소스 주소(S)를 사용하여 멀티캐스트 주소(aG)로 RTP 트래픽을 송신하기 시작한다. 클라이언트들이 주소(S)에 의해 멀티캐스트 주소(aG)로 송신되는 스트림을 개별적으로 구독하지 않는 한, 클라이언트들(201 또는 202) 중 어느 것도 이러한 트래픽, 또는 주소(S)에 의해 송신되는 임의의 다른 트래픽을 수신하지 않는다.
단계(E401) 동안, 클라이언트(201)는 네트워크(301)로 IGMPv3 또는 MLDv2 요청을 송신하며, 주소(aG)를 멀티캐스트 그룹 주소로 명시하고, 주소(S)를 소스 주소로 명시함으로써, 주소(S)에 의해 멀티캐스트 주소(aG)로 송신되는 스트림을 구독한다. 클라이언트(201)는 주소(S)에 의해, 즉 서버에 의해 멀티캐스트 그룹을 위해 송신되는 RTP 트래픽을 수신하기 시작한다.
단계(E601) 동안, 클라이언트(201)는 자신의 주소(IP1) 및 자신의 식별자(SSRC1)를 포함하는 SDES RTCP 메시지를 송신한다.
단계(E501) 동안, 클라이언트(201)는 소스 주소(IP1)를 사용하여 멀티캐스트 주소(aG)로 RTP 트래픽을 송신한다.
단계(E402) 동안, 클라이언트(202)는 네트워크(301)로 IGMPv3 또는 MLDv2 요청을 송신하며, 주소(aG)를 멀티캐스트 그룹 주소로 명시하고, 주소(S)를 소스 주소로 명시함으로써, 주소(S)에 의해 멀티캐스트 주소(aG)로 송신되는 스트림을 구독한다. 클라이언트(202)는 주소(S)에 의해, 즉 서버에 의해 멀티캐스트 그룹을 위해 송신되는 RTP 트래픽을 수신하기 시작한다.
단계(E602) 동안, 클라이언트(202)는 자신의 주소(IP2) 및 자신의 식별자(SSRC2)를 포함하는 SDES RTCP 메시지를 송신한다.
단계(E502) 동안, 클라이언트(202)는 소스 주소(IP2)를 사용하여 멀티캐스트 주소(aG)로 RTP 트래픽을 송신한다.
단계(E503) 동안, 멀티캐스트 주소(aG)로 지향되는 RTP 트래픽을 이미 수신한 서버(101)는 각각의 RTP 트래픽에서 획득되는 파라미터들의 함수로서 소스들(201, 202) 중에서 적어도 하나의 클라이언트를 선택한다. 단계(503) 동안, 서버(101)는 RTP 패킷들의 헤더에 포함되는 시퀀스 번호들의 연속을 입증함으로써, 소스로부터 유래되는 수신된 RTP 트래픽이 패킷 손실을 나타내는지 판단할 수 있다. 서버(101)는 예컨대 패킷 손실이 없는 경우에만 소스 클라이언트를 선택하기로 결정할 수 있다. 과도한 도착간 지터와 같은 다른 선택 기준을 채택할 수 있는데, 도착간 지터는 RFC 3550에 정의되어 있다.
설명의 용이함을 위해, 이하에서, 클라이언트(202)는 이러한 단계(E503) 동안 선택되는 클라이언트들 중 하나인 것으로 가정한다.
단계(E600) 동안, 서버(101)는 단계(E503) 동안 선택되는 클라이언트들로부터 유래되는, 단계들(E601, E602) 직후에 수신되는 SDES RTCP 메시지들의 추출물들로 구성되는 종합 SDES RTCP 메시지를 생성하여 송신한다. 따라서, 종합 SDES RTCP 메시지를 수신한 클라이언트들은 다른 클라이언트들의 SSRC들과 연관된 IP 주소를 인식하며, SSRC들의 있을 수 있는 충돌을 검출한다.
단계(E603) 동안, 클라이언트(201)는 종합 SDES RTCP 메시지를 수신하며, 메시지에 포함된 쌍들({IP 주소, SSRC 식별자})을 저장한다. 특히, 이하에서는, 식별자(SSRC2)가 주소(IP2)에 대응한다는 것을 인지한다.
단계(E700) 동안, 서버(101)는 단계(E503) 동안 선택되는 클라이언트들에 의해 송신되는 RTP 트래픽에 관한 품질 파라미터들을 포함하는 RTCP SR 메시지를 송신하되, 이러한 클라이언트들은 메시지 내의 SSRC에 의해서만 식별된다. RTP 패킷들의 헤더에 포함되는 시간적 정보뿐만 아니라 시퀀스 번호들이 RFC 3550에 정의된 바와 같이 이러한 목적을 위해 사용된다.
단계(E701) 동안, 클라이언트(201)는 클라이언트(202)에 의해 송신되는 RTP 트래픽에 관한 품질 파라미터들을 포함하는 RTCP SR 메시지를 수신한다. RTCP SR 메시지는 식별자(SSRC2)를 나타내지만 주소(IP2)를 나타내진 않는다. 표준 IETF RFC 3550은 RTCP SR 메시지를 위한 정보의 하기 항목들을 정의하였다:
- 정보의 하기 항목들이 대응하는 수신된 RTP 스트림을 송신한 RTP 소스의 SSRC 식별자:
- RTP 소스로부터 유래되는 RTP 세션의 시작 이후로 수신되는 RTP 패킷들의 유용한 바이트들의 수(OC),
- RTP 소스로부터 유래되는 RTP 세션의 시작 이후로 수신되는 RTP 패킷들의 수(PC),
- RTP 소스로부터 유래되는 RTP 세션의 시작 이후로 손실되는 RTP 패킷들의 수(LPC),
- RFC 3550에 의해 정의된 알고리즘에 따라 계산되는 도착간 지터.
각각의 RTCP SR 메시지는 또한 송신의 순간에 관한 정보 NTP(Network Time Protocol)의 시간적 항목을 포함한다.
단계(E403) 동안, 클라이언트(201)는 단계(E701) 동안 수신되는 메시지에 포함되는 정보의 항목들의 도움으로, 클라이언트(202)에 의해 송신되는 스트림과 연관된 평균 비트레이트의 값을 계산한다.
이러한 유용한 평균 비트레이트 값은, 클라이언트(즉, 이 예에서는 클라이언트(201))에 의해 수신되는 RTCP SR 메시지, 및 소스(SSRC(i))(즉, 이 예에서는 클라이언트(202))에 관한 정보(OC(n,i), LPC(n,i))의 포함 항목들을 송신하는 순간(NTP(n))과 이 클라이언트(201)에 의해 수신되는 임의의 다음 RTCP SR 메시지, 및 동일한 소스(SSRC(i))에 관한 정보(OC(n+j,i), LPC(n+j,i))의 포함 항목들을 송신하는 순간(NTP(n+j)) 사이에 놓인 각각의 시간에 대해 계산될 수 있다.
값(LPC(n+j,i))이 값(LPC(n,i))에 상응하면, 소스(SSRC(i))에 의해 단위 시간마다 송신되는 패킷들의 평균 수(MPR)를 MPR = [PC(n+j,i) - PC(n,i)] / [NTP(n+j) - NTP(n)]에 상응하는 것으로 계산할 수 있다.
값(LPC(n+j,i))이 값(LPC(n,i))에 상응하지 않으면, 이는 서버가 이 시간 동안 소스(SSRC(i))로부터 유래되는 RTP 패킷들의 전체 세트를 수신하지 않았다는 것을 의미하고, 그에 따라 이러한 소스로부터 유래되는 멀티캐스트 스트림을 수신할 것을 네트워크에 요청하면 클라이언트(201)는 이러한 소스로부터 유래되는 RTP 패킷들의 전체 세트를 수신하지 않을 강력한 위험이 있다는 것을 주목한다. 실제로, IP 네트워크 코어가 일반적으로 양호한 치수를 가지므로, 패킷 손실의 가장 타당한 원인은 예컨대 소스(SSRC(i))와 소스가 소속된 Wi-Fi 액세스 포인트 사이의 Wi-Fi 세그먼트, 또는 이러한 Wi-Fi 액세스 포인트의 네트워크에 대한 어태치먼트 링크일 것이다.
대응하는 평균 비트레이트를 구하기 위해, RTP 스트림의 전송을 위해 소스(SSRC(i))에 의해 사용되는 IP 패킷들의 페이로드의 평균 크기(MPS)를 MPS = [OC(n,i) / PC(n,i)]에 상응하는 것으로 판단하는 것이 가능하다.
페이로드의 이러한 평균 크기가 정수이며 [OC(n+j,i) / PC(n+j,i)] = [OC(n,i) / PC(n,i)]를 변화시키지 않는 경우, 클라이언트는 소스(SSRC(i))에 의해 송신되는 RTP 스트림에 대응하는 평균 비트레이트를, 이를 전송하는 IP 패킷의 UDP 헤더(8 바이트) 및 IPv4 헤더(20 바이트) 또는 IPv6 헤더(40 바이트)의 크기(HS)만큼 증가하는 페이로드의 평균 크기와, 이러한 소스에 의해 단위 시간마다 송신되는 패킷들의 평균 수의 곱에 상응하는 것으로 구할 수 있을 것이다.
예컨대, 하기 수식에 따라 평균 비트레이트를 계산하는 것이 가능하다:
MPR × MPS = {[OC(n+j,i) - OC(n,i)] + HS × [PC(n+j,i) - PC(n,i)]} / [NTP(n+j) - NTP(n)]
단계(E404) 동안, 클라이언트(201)는 클라이언트(202)에 의해 멀티캐스트 주소(aG)로 송신되는 스트림을 구독하기로 결정하거나 달리 결정한다. 클라이언트(201)가 네트워크와 협상된 대역폭을 인식하면, 이는 다운고잉 대역폭이 단계(E403) 동안 계산되는 평균 비트레이트에 충분한 경우에만 구독하기로 결정할 수 있다.
단계(E405) 동안, 클라이언트(201)는 네트워크(301)로 IGMPv3 또는 MLDv2 요청을 송신하며, 주소(aG)를 멀티캐스트 그룹 주소로 명시하고, 주소(IP2)를 소스 주소로 명시함으로써, 클라이언트(202)의 주소(IP2)에 의해 멀티캐스트 주소(aG)로 지향되는 스트림을 구독한다. 클라이언트(201)는 단계(E603) 동안 저장되는 쌍들 중에서 클라이언트(202)의 식별자(SSRC2)에 대응하는 IP 주소를 검색함으로써 주소(IP2)를 획득한다.
이후, 클라이언트(201)는 클라이언트(202)에 의해 멀티캐스트 그룹을 위해 송신되는 RTP 트래픽을 수신하기 시작할 수 있다.
클라이언트(201)가 네트워크와 협상된 대역폭을 인식하지 않으면, 이는 단계(E403) 동안 계산되는 평균 비트레이트를 IGMPv3 또는 MLDv2 요청에 포함시킬 수 있고, 그에 따라 네트워크는 이른바 수락 제어를 수행함으로써 결정을 내릴 수 있다.
대안적인 구현예에서, 서버는 RTCP SR 메시지들 대신에 또는 이들에 추가하여 RTCP XR 메시지들을 송신한다.
이 모드에서, 상기의 단계(E700) 동안, 대안적으로 또는 보완적인 방식으로, 서버(101)는 단계(E503) 동안 선택되는 클라이언트들에 의해 송신되는 RTP 트래픽에 관한, RTCP SR 타입의 메시지에 포함된 것과는 상이한, 품질 파라미터들을 포함하는 RTCP XR 메시지를 송신하되, 이러한 클라이언트들은 메시지 내의 SSRC에 의해서만 식별된다.
이 모드에서, 상기의 단계(E701) 동안, 클라이언트(201)는 클라이언트(202)에 의해 송신되는 RTP 스트림에 관한 품질 파라미터들을 포함하는 RTCP XR 메시지를 수신한다. RTCP XR 메시지는 식별자(SSRC2)를 나타내지만 주소(IP2)를 나타내진 않는다. 표준 IETF RFC 3611은 RTCP XR 메시지를 위한 정보의 하기 항목들을 정의하였다:
- 정보의 하기 항목들이 대응하는 수신된 RTP 스트림을 송신한 RTP 소스의 SSRC(Synchronization Source) 식별자:
- RTP 소스로부터 유래되는 RTP 스트림의 수신의 시작 이후의 손실된 패킷들의 비율(손실율),
- 지터 억제 버퍼의 오버플로우 또는 드레이니지를 유도하는, 늦거나 이른 도착으로 인해 고려되지 않는, RTP 소스로부터 유래되는 RTP 스트림의 패킷들의 비율(폐기율),
- RTP 소스로부터 유래되는 RTP 스트림을 위한 버스트 중에 손실되거나 고려되지 않는 패킷들의 비율(버스트 밀도),
- RTP 소스로부터 유래되는 RTP 스트림을 위한 두 버스트 사이에서 손실되거나 고려되지 않는 패킷들의 비율(갭 밀도),
- RTP 소스로부터 유래되는 RTP 스트림을 위한 버스트의 평균 지속기간(버스트 지속기간),
- RTP 소스로부터 유래되는 RTP 스트림을 위한 두 버스트 사이의 평균 지속기간(갭 지속기간).
여전히 이 모드에서, 상기의 단계(E403) 동안, 클라이언트(201)는 단계(E701) 동안 수신되는 RTCP XR 메시지에 포함되는 정보의 항목들의 도움으로, 클라이언트(202)에 의해 송신되는 스트림을 수신하기 위해 필요한 큐 크기의 값을 계산한다.
RTCP XR 메시지에 포함되는 정보의 항목들은 클라이언트(201)로 하여금 소정의 RTP 소스에 의해 송신되는 RTP 스트림을 수신할 지터 억제 버퍼의 오버플로우 또는 드레이니지로 인해 손실되거나 고려되지 않는 패킷들의 비율뿐만 아니라, 버스트들의 평균 지속기간, 두 버스트 사이의 평균 지속기간을 확인할 수 있게 한다. 따라서, 지터 억제 버퍼의 크기가 알려진 것으로 가정할 때, 클라이언트는 소정의 RTP 소스에 의해 송신되는 RTP 스트림을 수신하기 위해 용량을 구할 수 있다.
지터 억제 버퍼의 크기가 버스트들의 평균 지속기간 및 두 버스트 사이의 평균 지속기간보다 클 때, 그리고 지터 억제 버퍼의 오버플로우 또는 드레이니지로 인해 손실되거나 고려되지 않는 패킷들의 비율이 낮을 때(예컨대, 1%), RTP 클라이언트는 예컨대 해당 RTP 소스에 의해 송신되는 RTP 스트림을 구독하기로 결정할 수 있다.
다른 클라이언트에 의해 송신되는 스트림을 수신하기로 결정하기 위해 클라이언트들에게 유용할 수 있는 정보의 다른 항목들을 포함하며 RTCP SR 또는 XR 메시지들에 보완적인 새로운 메시지들이 IETF에 의해 여전히 정의될 수 있다는 것을 주목한다. 이후, 본 메커니즘은 동일한 방식으로 적용될 수 있을 것이다.
도 3은 본 발명의 양태에 따른 데이터 스트림의 구독을 요청하는 방법의 단계들의 클라이언트에 의한 예시적인 실시를 나타낸다.
단계(F1) 동안, 클라이언트(201)는 서버(101)의 IP 주소를 소스로 명시하는 한편 주소(aG)를 갖는 멀티캐스트 그룹의 구독 요청을 네트워크(301)로 송신한다.
단계(F2) 동안, 클라이언트(201)는 주소(IP1) 및 할당 받은 식별자(SSRC1)를 포함하는 SDES RTCP 메시지를 송신한다.
단계(F3) 동안, 클라이언트(201)는 RTP 패킷들의 형태의 실시간 데이터를 주소(aG)로 송신한다.
단계(F4) 동안, 클라이언트(201)는 주소(aG)를 갖는 멀티캐스트 그룹의 다양한 소스들에 대응하는 쌍들({IP 주소; SSRC 식별자})을 포함하는, 서버(101)로부터 유래되는 종합 SDES RTCP 메시지를 수신한다.
단계(F5) 동안, 클라이언트(201)는 표(T)에 수신된 쌍들을 저장한다.
단계(F6) 동안, 클라이언트(201)는 주소(aG)를 갖는 멀티캐스트 그룹의 클라이언트 소스들의 RTP 트래픽에 관한 품질 파라미터들을 포함하는, 서버(101)로부터 유래되는 RTCP SR (및/또는 XR) 메시지를 수신한다.
단계(F7) 동안, 클라이언트(201)는 클라이언트(202)에 의해 송신되는 스트림을 수신하기 위해 필요한 평균 비트레이트 및/또는 큐 크기의 값을 계산한다.
단계(F8) 동안, 클라이언트(201)는 네트워크와의 연결 시에 유효한 비트레이트 및/또는 큐 크기의 함수로서, 클라이언트(202)의 스트림을 구독하기로 결정하거나 달리 결정한다.
단계(F9) 동안, 단계(F8) 직후의 긍정적인 결정의 경우, 클라이언트(201)는 식별자(SSRC2)를 알고 있는 클라이언트(202)에 대응하는 IP 주소를 획득하기 위해 표(T)를 참고하며, 클라이언트(202)의 주소인 주소(IP2)를 소스로 명시하는 한편 주소(aG)를 갖는 멀티캐스트 그룹의 구독 요청을 송신한다.
대안적으로, 결정 단계(F8)를 생략할 수 있고, 단계(F9) 동안 클라이언트(201)는 단계(F7) 동안 계산되는 값 또는 값들을 구독 요청에 포함시킬 수 있고, 네트워크의 엔티티로 하여금 구독 요청이 충족될 수 있는지 또는 충족되어야 하는지 결정하게 할 수 있다.
도 4는 본 발명의 양태에 따른 데이터 스트림들을 관리하는 방법의 단계들의 서버에 의한 예시적인 실시를 나타낸다.
단계(G1) 동안, 서버(101)는 임의의 소스를 배제시킴 없이, 멀티캐스트 그룹의 주소(aG)를 명시하는 구독 요청을 네트워크(301)로 송신함으로써 주소(aG)를 갖는 멀티캐스트 그룹을 구독한다.
단계(G2) 동안, 서버(101)는 RTP 패킷들의 형태의 실시간 데이터를 주소(aG)로 송신한다.
단계들(G3-1, G3-2, G3-x(G3-1 및 G3-2와 유사하므로 미도시)) 동안, 서버(101)는 클라이언트들(201, 202, 20x)로부터 각각 유래되는, 송신자 클라이언트의 IP 주소 및 할당 받은 SSRC 식별자를 포함하는 SDES RTCP 메시지를 수신한다.
단계들(G4-1, G4-2, G4-x(G4-1 및 G4-2와 유사하므로 미도시)) 동안, 서버(101)는 클라이언트들(201, 202, 20x)로부터 각각 유래되는, RTP 패킷들의 형태의 실시간 데이터의 스트림을 수신한다.
단계(G5) 동안, 서버(101)는 단계들(G4-1, G4-2, G4-x) 동안 수신되는 RTP 스트림들의 품질에 관한 파라미터들이 소정의 임계치 미만의 도착간 지터 및/또는 손실된 패킷들의 0수와 같은 만족스러운 값을 나타내는 클라이언트를 클라이언트들(201, 202, 20x) 중에서 선택한다.
단계(G6) 동안, 서버(101)는 단계(G5) 동안 선택되는 클라이언트들에 관한 쌍들({IP 주소; SSRC 식별자})을 포함하는 종합 SDES RTCP 메시지를 생성하여 송신한다.
단계(G7) 동안, 서버(101)는 단계(G5) 동안 선택되는 클라이언트 소스들의 RTP 트래픽에 관한 품질 파라미터들을 포함하는 RTCP SR (및/또는 XR) 메시지를 송신하되, 이러한 클라이언트들은 메시지 내의 SSRC에 의해서만 식별된다.
도 5와 함께, 본 발명의 양태에 따른 데이터 스트림의 구독을 요청하는 장치의 예시적인 구조를 이제 나타낸다.
데이터 스트림의 구독을 요청하는 장치(100)는 데이터 스트림의 구독을 요청하는 방법을 실시하는데, 그 다양한 구현예들이 이제까지 설명되었다.
이와 같은 장치(100)는 스마트폰, 디지털 태블릿, 컴퓨터, 또는 센서와 같은 사용자 단말기에서 실시될 수 있다.
예컨대, 장치(100)는, 예컨대 마이크로프로세서(μP)가 장착되며 컴퓨터 프로그램(110)에 의해 구동되는 프로세싱 유닛(130)을 포함하되, 컴퓨터 프로그램(110)은 메모리(120)에 저장되며, 본 발명에 따른 데이터 스트림의 구독을 요청하는 방법을 실시한다. 개시 시에, 컴퓨터 프로그램(110)의 코드 명령들이 예컨대 RAM 메모리로 로딩된 후, 프로세싱 유닛(130)의 프로세서에 의해 실행된다.
이와 같은 장치(100)는:
- 멀티캐스트 그룹의 클라이언트 단말기에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림에 관한 적어도 하나의 품질 파라미터를 포함하는 적어도 하나의 관리 메시지를 멀티캐스트 그룹의 서버로부터 수신할 수 있는 수신 모듈(140);
- 수신되는 적어도 하나의 품질 파라미터에 따른 기준의 함수로서 클라이언트 단말기의 스트림의 구독을 결정할 수 있는 결정 모듈(150),
- 긍정적인 결정의 경우, 클라이언트 단말기의 스트림의 구독을 요청하는 메시지를 송신할 수 있는 송신 모듈(160)을 포함한다.
유리하게는, 프로세싱 유닛(130)은:
- 적어도 하나의 품질 파라미터에 기초하여, 클라이언트 단말기에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림을 수신하기 위해 필요한 평균 비트레이트의 값을 계산할 수 있는 계산 모듈(170),
- 적어도 하나의 품질 파라미터에 기초하여, 클라이언트 단말기에 의해 멀티캐스트 그룹의 주소로 송신되는 스트림을 수신하기 위해 필요한 큐 크기의 값을 계산할 수 있는 계산 모듈(180)을 포함할 수 있다.
도 6과 함께, 본 발명의 양태에 따른 데이터 스트림들을 관리하는 장치의 예시적인 구조를 이제 나타낸다.
데이터 스트림들을 관리하는 장치(200)는 데이터 스트림들을 관리하는 방법을 실시하는데, 그 다양한 구현예들이 이제까지 설명되었다.
이와 같은 장치(200)는 TV 서버, 게임 서버, 화상회의 서버, 또는 센서 네트워크 서버와 같은 멀티캐스트 서버에서 실시될 수 있다.
예컨대, 장치(200)는, 예컨대 마이크로프로세서(μP)가 장착되며 컴퓨터 프로그램(210)에 의해 구동되는 프로세싱 유닛(230)을 포함하되, 컴퓨터 프로그램(210)은 메모리(220)에 저장되며, 본 발명에 따른 데이터 스트림들을 관리하는 방법을 실시한다. 개시 시에, 컴퓨터 프로그램(210)의 코드 명령들이 예컨대 RAM 메모리로 로딩된 후, 프로세싱 유닛(230)의 프로세서에 의해 실행된다.
이와 같은 장치(200)는:
- 적어도 하나의 클라이언트 단말기에 의해 멀티캐스트 그룹의 주소로 송신되는 적어도 하나의 스트림을 수신할 수 있는 수신 모듈(240);
- 그로부터 상기 스트림의 품질에 관한 적어도 하나의 파라미터를 추출하기에 적합한 추출 모듈(250);
- 추출되는 적어도 하나의 파라미터의 함수로서 상기 클라이언트 단말기들 중에서 적어도 하나를 선택할 수 있는 선택 모듈(260);
- 적어도 하나의 선택된 클라이언트에 대응하는 적어도 하나의 추출된 파라미터를 포함하는 적어도 하나의 관리 메시지를 멀티캐스트 그룹의 주소로 송신할 수 있는 송신 모듈(270)을 포함한다.
도 5 및 도 6과 함께 설명된 모듈들은 하드웨어 모듈들 또는 소프트웨어 모듈들일 수 있다.
이제까지 설명된 본 발명의 예시적인 구현예들은 고려할 수 있는 구현예들 중 단지 몇몇에 불과하다. 이러한 구현예들에 의하면, 스트림을 수신하는 다운고잉 방향으로 충분한 비트레이트를 가진다는 것이 보장되기만 하면, 심지어 중앙 서버가 전송 네트워크에 의해 보장 및 승인되는 업고잉 및 다운고잉 비트레이트를 인식하지 않을지라도, 본 발명은 멀티캐스트 분배 그룹의 클라이언트가 다른 클라이언트의 스트림을 구독할 수 있게 한다.

Claims (14)

  1. 멀티캐스트 분배 그룹(G)에서 분배되는 데이터 스트림의 구독을 요청하는 방법으로, 상기 그룹은 서버(101), 제1 클라이언트(201), 및 제2 클라이언트(202)를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크(301)를 통해 서로 연결되며, 상기 멀티캐스트 분배 그룹은 주소에 의해 식별되고, 제1 소스에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 스트림은 제2 소스가 이미 상기 제1 소스의 구독자이면 상기 제2 소스에 의해 수신되며, 상기 제1 클라이언트는 상기 서버의 구독자인 것인 방법에 있어서, 상기 제1 클라이언트에 의해 실시되는 하기 단계들로,
    - 상기 서버로부터 유래되는, 상기 제2 클라이언트에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 상기 스트림에 관한 적어도 하나의 품질 파라미터를 포함하는 적어도 하나의 관리 메시지를 수신하는 단계(E701, F6),
    - 수신되는 상기 적어도 하나의 품질 파라미터에 따른 기준의 함수로서 상기 제2 클라이언트 구독을 결정하는 단계(E404, F8),
    - 구독을 결정하는 경우, 상기 제2 클라이언트의 구독을 요청하는 메시지를 송신하는 단계(E405, F9)를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 결정 단계는 상기 제2 클라이언트에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 상기 스트림을 수신하기 위해 필요한 평균 비트레이트의 값을 포함하는 기준을 고려하며, 상기 적어도 하나의 품질 파라미터에 기초하여 이러한 값을 계산하는 단계(E403, F7) 다음에 수행되는, 방법.
  3. 제1항에 있어서,
    상기 결정 단계는 상기 제2 클라이언트에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 상기 스트림을 수신하기 위해 필요한 큐 크기의 값을 포함하는 기준을 고려하며, 상기 적어도 하나의 품질 파라미터에 기초하여 이러한 값을 계산하는 단계 다음에 수행되는, 방법.
  4. 제1항 내지 제3항 중 한 항에 있어서,
    상기 구독 요청 메시지는 계산된 값을 포함하는, 방법.
  5. 멀티캐스트 분배 그룹(G)에서 분배되는 데이터 스트림들을 관리하는 방법으로, 상기 그룹은 서버(101), 제1 클라이언트(201), 및 적어도 하나의 제2 클라이언트(202, 20x)를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크(301)를 통해 서로 연결되며, 상기 멀티캐스트 분배 그룹은 주소에 의해 식별되고, 제1 소스에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 스트림은 제2 소스가 이미 상기 제1 소스의 구독자이면 상기 제2 소스에 의해 수신되며, 상기 제1 클라이언트는 상기 서버의 구독자이고, 상기 서버는 상기 적어도 하나의 제2 클라이언트의 구독자이며, 상기 제2 클라이언트에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 스트림을 수신할 수 있고, 그로부터 상기 스트림의 품질에 관한 적어도 하나의 파라미터를 추출할 수 있는 것인 방법에 있어서, 상기 서버에 의해 실시되는 하기 단계들로,
    - 추출되는 상기 적어도 하나의 파라미터의 함수로서 상기 적어도 하나의 제2 클라이언트 중에서 적어도 하나의 클라이언트를 선택하는 단계(E503, G5),
    - 상기 적어도 하나의 선택된 클라이언트에 대응하는 상기 적어도 하나의 추출된 파라미터를 포함하는 적어도 하나의 관리 메시지를 상기 멀티캐스트 분배 그룹의 주소로 송신하는 단계(E700, G7)를 포함하는, 방법.
  6. 멀티캐스트 분배 그룹(G)에서 분배되는 데이터 스트림의 구독을 요청하는 장치로, 상기 그룹은 서버(101), 제1 클라이언트(201), 및 제2 클라이언트(202)를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크(301)를 통해 서로 연결되며, 상기 멀티캐스트 분배 그룹은 주소에 의해 식별되고, 제1 소스에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 스트림은 제2 소스가 이미 상기 제1 소스의 구독자이면 상기 제2 소스에 의해 수신되며, 상기 제1 클라이언트는 상기 서버의 구독자인 것인 장치에 있어서,
    - 상기 서버로부터 유래되는, 상기 제2 클라이언트에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 상기 스트림에 관한 적어도 하나의 품질 파라미터를 포함하는 적어도 하나의 관리 메시지를 수신하는 모듈(140),
    - 수신되는 상기 적어도 하나의 품질 파라미터에 따른 기준의 함수로서 상기 제2 클라이언트 구독을 결정하는 모듈(150),
    - 구독을 결정하는 경우, 상기 제2 클라이언트의 구독을 요청하는 메시지를 송신하는 모듈(160)을 포함하는, 장치(100).
  7. 멀티캐스트 분배 그룹(G)에서 분배되는 데이터 스트림들을 관리하는 장치로, 상기 그룹은 서버(101), 제1 클라이언트(201), 및 적어도 하나의 제2 클라이언트(202, 20x)를 비롯한 소스들을 포함하고, 상기 소스들은 전자 통신 네트워크(301)를 통해 서로 연결되며, 상기 멀티캐스트 분배 그룹은 주소에 의해 식별되고, 제1 소스에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 스트림은 제2 소스가 이미 상기 제1 소스의 구독자이면 상기 제2 소스에 의해 수신되며, 상기 제1 클라이언트는 상기 서버의 구독자이고, 상기 서버는 상기 적어도 하나의 제2 클라이언트의 구독자이며, 상기 제2 클라이언트에 의해 상기 멀티캐스트 분배 그룹의 주소로 송신되는 스트림을 수신할 수 있고, 그로부터 상기 스트림의 품질에 관한 적어도 하나의 파라미터를 추출할 수 있는 것인 장치에 있어서,
    - 추출되는 상기 적어도 하나의 파라미터의 함수로서 상기 적어도 하나의 제2 클라이언트 중에서 적어도 하나의 클라이언트를 선택하는 모듈(260),
    - 상기 적어도 하나의 선택된 클라이언트에 대응하는 상기 적어도 하나의 추출된 파라미터를 포함하는 적어도 하나의 관리 메시지를 상기 멀티캐스트 분배 그룹의 주소로 송신하는 모듈(270)을 포함하는, 장치(200).
  8. 제6항에 따른 데이터 스트림의 구독을 요청하는 장치를 포함하며 전자 통신 네트워크에 연결되는, 멀티캐스트 분배 그룹의 클라이언트 장비 아이템.
  9. 제7항에 따른 데이터 스트림들을 관리하는 장치를 포함하며 전자 통신 네트워크에 연결되는, 멀티캐스트 분배 그룹의 서버 장비 아이템.
  10. 제9항에 따른 하나의 서버 장비 아이템 및 제8항에 따른 적어도 2개의 클라이언트 장비 아이템을 포함하되, 상기 서버 장비 아이템 및 클라이언트 장비 아이템들이 전자 통신 네트워크를 통해 서로 연결되는, 멀티캐스트 분배 그룹.
  11. 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 프로그램으로서,
    제1항에 따른 데이터 스트림의 구독을 요청하는 방법이 프로세서에 의해 실행될 때, 상기 방법의 단계들의 실시를 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  12. 클라이언트 장비 아이템에 의해 판독 가능하며, 제11항에 따른 프로그램이 기록되어 있는, 기록 매체.
  13. 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 프로그램으로서,
    제5항에 따른 데이터 스트림들을 관리하는 방법이 프로세서에 의해 실행될 때, 상기 방법의 단계들의 실시를 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  14. 서버 장비 아이템에 의해 판독 가능하며, 제13항에 따른 프로그램이 기록되어 있는, 기록 매체.
KR1020167010859A 2013-10-01 2014-09-11 멀티캐스트 클라이언트로부터 스트림을 구독하는 방법 KR101871303B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1359507A FR3011414A1 (fr) 2013-10-01 2013-10-01 Procede d'abonnement a des flux en provenance de clients multicast
FR1359507 2013-10-01
PCT/FR2014/052260 WO2015049431A1 (fr) 2013-10-01 2014-09-11 Procede d'abonnement a des flux en provenance de clients multicast

Publications (2)

Publication Number Publication Date
KR20160065901A KR20160065901A (ko) 2016-06-09
KR101871303B1 true KR101871303B1 (ko) 2018-06-27

Family

ID=50489150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010859A KR101871303B1 (ko) 2013-10-01 2014-09-11 멀티캐스트 클라이언트로부터 스트림을 구독하는 방법

Country Status (7)

Country Link
US (1) US9838209B2 (ko)
EP (1) EP3053303B1 (ko)
JP (1) JP6523260B2 (ko)
KR (1) KR101871303B1 (ko)
CN (1) CN105745864B (ko)
FR (1) FR3011414A1 (ko)
WO (1) WO2015049431A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10523455B2 (en) 2017-07-17 2019-12-31 Nicira, Inc. Distributed multicast logical router
US10218523B2 (en) 2017-07-17 2019-02-26 Nicira, Inc. Using a central controller cluster to configure a distributed multicast logical router
US10873473B2 (en) 2017-07-17 2020-12-22 Nicira, Inc. Distributed multicast logical router
US10931725B2 (en) * 2017-09-29 2021-02-23 Apple Inc. Multiway audio-video conferencing
US11652722B2 (en) * 2020-06-19 2023-05-16 Apple Inc. High frequency probing for network bandwidth estimation using video data in real-time video conference
US11895010B2 (en) 2021-06-29 2024-02-06 VMware LLC Active-active support of multicast streams in virtualized environment
US11595296B2 (en) 2021-06-29 2023-02-28 Vmware, Inc. Active-active support of multicast streams in virtualized environment
US11784926B2 (en) 2021-11-22 2023-10-10 Vmware, Inc. Optimized processing of multicast data messages in a host
CN117354199A (zh) * 2022-06-29 2024-01-05 中兴通讯股份有限公司 消息处理方法、发布端、订阅端及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612674B1 (ko) 2004-02-27 2006-08-14 에스케이 텔레콤주식회사 이동통신 시스템에서 양방향 멀티미디어 콘텐츠 서비스제공 방법
WO2011067495A2 (fr) 2009-11-24 2011-06-09 France Telecom Controle d'admission pour abonnement de service

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996097B1 (en) * 1999-05-21 2006-02-07 Microsoft Corporation Receiver-driven layered error correction multicast over heterogeneous packet networks
SE520129C2 (sv) * 2000-10-27 2003-05-27 Terraplay Systems Ab Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer
US6996104B2 (en) * 2002-02-20 2006-02-07 Nokia Corporation Rate allocation and control for multicast services in wireless networks
US8161158B2 (en) * 2002-09-25 2012-04-17 Nokia Corporation Method in a communication system, a communication system and a communication device
CN100571193C (zh) * 2004-01-22 2009-12-16 艾利森电话股份有限公司 多播信道请求的接入控制
JP4342966B2 (ja) * 2004-01-26 2009-10-14 株式会社日立コミュニケーションテクノロジー パケット転送装置
KR100684178B1 (ko) * 2004-11-06 2007-02-20 한국전자통신연구원 강건한 오버레이 멀티캐스트 트리 관리 방법 및 장치
EP1691507B1 (en) * 2005-02-14 2010-08-18 Irdeto Access B.V. Method of controlling communication between a head-end system and a plurality of client systems
US20070280232A1 (en) * 2006-05-31 2007-12-06 Wojciech Dec Dynamic delivery of multicast service notification messages
JP4296191B2 (ja) * 2006-07-26 2009-07-15 株式会社東芝 サーバ装置、端末装置、通信方法、通信プログラムおよび通信システム
US20080186962A1 (en) * 2007-02-01 2008-08-07 Cisco Technology, Inc. Policy-Based Tunneling of Multicast Streams
US8447340B2 (en) * 2007-04-04 2013-05-21 Telefonaktiebolaget L M Ericsson (Publ) Multicast push to talk groups, apparatus, and methods
JP5157351B2 (ja) * 2007-09-28 2013-03-06 日本電気株式会社 動画配信システム、加入者回線終端装置、動画配信方法、動画配信プログラム、及び記憶媒体
US8078665B2 (en) * 2009-05-04 2011-12-13 Comcast Cable Holdings, Llc Sharing media content based on a media server
US8462695B2 (en) * 2009-05-18 2013-06-11 Intel Corporation Apparatus and methods for multi-radio coordination of heterogeneous wireless networks
US8375132B2 (en) * 2010-03-01 2013-02-12 Cisco Technology, Inc. Schedulable transport for contribution services
JP2011182212A (ja) * 2010-03-02 2011-09-15 Hitachi Ltd 通信制御装置および通信品質測定方法
US8522292B2 (en) * 2011-06-15 2013-08-27 Microsoft Corporation Streaming media bandwidth reduction
US8831000B2 (en) * 2012-10-10 2014-09-09 Telefonaktiebolaget L M Ericsson (Publ) IP multicast service join process for MPLS-based virtual private cloud networking

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612674B1 (ko) 2004-02-27 2006-08-14 에스케이 텔레콤주식회사 이동통신 시스템에서 양방향 멀티미디어 콘텐츠 서비스제공 방법
WO2011067495A2 (fr) 2009-11-24 2011-06-09 France Telecom Controle d'admission pour abonnement de service

Also Published As

Publication number Publication date
US9838209B2 (en) 2017-12-05
KR20160065901A (ko) 2016-06-09
WO2015049431A1 (fr) 2015-04-09
EP3053303A1 (fr) 2016-08-10
EP3053303B1 (fr) 2018-10-31
JP6523260B2 (ja) 2019-05-29
CN105745864B (zh) 2019-06-11
CN105745864A (zh) 2016-07-06
FR3011414A1 (fr) 2015-04-03
JP2017501597A (ja) 2017-01-12
US20160241410A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
KR101871303B1 (ko) 멀티캐스트 클라이언트로부터 스트림을 구독하는 방법
KR102544991B1 (ko) 사용자 장비 및 미디어 스트리밍 네트워크 보조 노드
US8737387B2 (en) Gateway unit, communication system and communication method
US8159941B2 (en) In-band DPI media reservation modifications to RFC 3313
KR101528389B1 (ko) 적절한 서비스 레벨을 제공하는 방법 및 장치
US10027496B2 (en) Method for distributing identifiers of multicast sources
CN103944834B (zh) 一种音视频转发控制方法及系统
KR102077883B1 (ko) 데이터 통신 시스템 및 방법
WO2005099188A9 (ja) 通信品質管理方法および装置
EP1499079B1 (en) Device and method for data transmission and reception in mobile ad hoc network
JP4772053B2 (ja) 送信装置および送信レート制御方法
US8880684B2 (en) Method and system for measuring individual network round-trip delays in IP gateways
KR100737678B1 (ko) 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법
KR102491033B1 (ko) 왕복 시간 추정
KR101384125B1 (ko) 통신 시스템에서 맥 계층의 서비스 품질 파라미터 생성장치 및 방법
JP2009105952A (ja) パケット中継装置及びパケット中継方法
CN114584520A (zh) 用于多路复用数据的方法和设备
JP2009088755A (ja) 受付制御方法、無線lan基地局装置およびプログラム
KR101107325B1 (ko) 실시간 멀티미디어 서비스에 대한 네트워크 구간별 품질측정 방법 및 시스템
CN116668358A (zh) 一种基于优化蚂蚁算法的路由寻找方法及分布式会议系统
KR20140080849A (ko) 모바일 보이스 오버 인터넷 프로토콜(mVoIP) 서비스에서의 품질 정보 제공 및 관리 방법
WO2017074811A1 (en) Multiplexing data

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