KR20060046064A - 실시간 멀티미디어 정보를 효율적으로 라우팅하는 방법 및시스템 - Google Patents

실시간 멀티미디어 정보를 효율적으로 라우팅하는 방법 및시스템 Download PDF

Info

Publication number
KR20060046064A
KR20060046064A KR1020050041010A KR20050041010A KR20060046064A KR 20060046064 A KR20060046064 A KR 20060046064A KR 1020050041010 A KR1020050041010 A KR 1020050041010A KR 20050041010 A KR20050041010 A KR 20050041010A KR 20060046064 A KR20060046064 A KR 20060046064A
Authority
KR
South Korea
Prior art keywords
connector
data
information
audio
received
Prior art date
Application number
KR1020050041010A
Other languages
English (en)
Other versions
KR101149987B1 (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 KR20060046064A publication Critical patent/KR20060046064A/ko
Application granted granted Critical
Publication of KR101149987B1 publication Critical patent/KR101149987B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/148Interfacing a video terminal to a particular transmission medium, e.g. ISDN
    • 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
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

실시간 멀티미디어 정보를 효율적으로 라우팅하는 시스템이 제공된다. 이 시스템은 다중-제어 유닛 커넥터(multi-control unit connectors)("커넥터")(메시지를 라우팅하도록 최적화된 특수 목적의 컴포넌트)를 구성하고 사용함으로써 실시간 멀티미디어 정보를 포함하는 메시지들을 효율적으로 라우팅한다. 컴퓨팅 장치는 다수의 커넥터를 사용하여 동시에 컴퓨팅 장치 또는 기타 컴퓨팅 장치들의 자원과의 접속을 동적으로 생성한다. 애플리케이션은 커넥터가 클라이언트, 서버 또는 클라이언트-서버로 동작하도록 동적으로 구성한다. 커넥터는 혼합기, 반사기, 또는 선택기와 같이 동작하도록 하는 모드를 또한 지닐 수 있다. 이러한 모드는 커넥터가 수신된 메시지를 전달하기 전에 그것을 어떻게 처리할 것인가를 정의해 준다. 각종 모드 및 역할을 사용함으로써, 시스템은 본질적으로 다른 컴퓨팅 장치의 사용자들에게 의미 있게 제공하기 위해 멀티미디어 정보를 조합하고 효율적으로 라우팅하는 데에 사용된다.
데이터 통신, 다중-제어 유닛 커넥터, 커넥터, 멀티미디어 정보

Description

실시간 멀티미디어 정보를 효율적으로 라우팅하는 방법 및 시스템{EFFICIENT ROUTING OF REAL―TIME MULTIMEDIA INFORMATION}
도 1은 실시간 멀티미디어 정보를 효율적으로 라우팅하는 시스템의 실시예를 도시하는 블록도.
도 2는 도 1의 컴퓨팅 장치의 실시예를 도시하는 블록도.
도 3은 도 2의 커넥터의 실시예를 도시하는 블록도.
도 4는 다수의 커넥터를 사용하는 시스템의 실시예를 도시하는 블록도.
도 5는 make_connections의 실시예를 도시하는 흐름도.
도 6은 혼합기 모드에서 동작하는 커넥터에 의해 수행되는 루트 루틴의 실시예를 도시하는 흐름도.
도 7은 반사기 모드에서 동작하는 커넥터에 의해 수행되는 루트 루틴의 실시예를 도시하는 흐름도.
도 8은 선택기 모드에서 동작하는 커넥터에 의해 수행되는 루트 루틴의 실시예를 도시하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102 : 컴퓨팅 장치
104 : 네트워크
109 : 게이트웨이
110 : 장치
본 발명은 일반적으로 데이터 통신 네트워크에 관한 것이며, 보다 구체적으로는 데이터 통신 네트워크에서 실시간 멀티미디어 정보를 효율적으로 라우팅하는 일체화된 아키텍처(a unified architecture)를 제공하고 사용하는 것에 관한 것이다.
컴퓨팅 장치는 점점 실시간 통신에서 사용되고 있다. 예제로서, 사용자는 컴퓨팅 장치를 사용하여 하나 이상의 다른 사용자들과의 대화에 참가할 수 있다. 대화에 참가한다는 것은 오디오, 비디오 또는 둘 다와 같은 전자 정보를 전송하고 수신하는 것을 포함한다. 이러한 대화의 참가자는 또한 문서, 프레젠테이션 슬라이드, 또는 임의의 기타 형태의 전자 정보와 같은 다른 형태의 매체를 전송 또는 수신할 수 있다. 이러한 멀티미디어 전자 정보, 특히 오디오 및 비디오 정보는 실시간 전송 프로토콜(Real-time Transport Protocol:RTP)과 같은 프로토콜을 사용하여 전송될 수 있다. RTP는 인터넷 제안 표준 프로토콜로서, 그 사양(RFC 3550)은 <www.ietf.org/rfc/rfc3550.txt>에서 볼 수 있다. 다수 참가자 회의와 관련된 인터넷 제안 표준에 대한 사양(RFC 3551)은 <www.ietf.org/rfc/rfc3551.txt>에서 볼 수 있다. 이들 사양은 참조함으로써 그 전체의 내용이 본 명세서에 포함된다. RTP는 SIP(Session Initiation Protocol) 및 RTSP(Real-Time Streaming Protocol)와 같은 다른 프로토콜과도 사용될 수 있다. SIP는 컴퓨팅 장치간의 세션을 관리하는 데에 필수적인 신호방식 및 기타 기능들을 제공하는 데에 사용될 수 있다. RTP 및 RTSP는 오디오 및 비디오 정보와 같은 정보를 전송하는 데에 사용될 수 있다.
오디오 및 비디오 정보는 유니캐스트(unicast), 멀티캐스트(multicast), 브로드캐스트(broadcast) 및 플러딩(flooding) 통신 모델들을 포함하는 각종 네트워크 통신 모델에서 이들 (및 기타) 프로토콜을 사용하여 한 컴퓨팅 장치에서 다른 컴퓨팅 장치로 전송될 수 있다.
포인트-대-포인트 통신으로 또한 알려져 있는 유니캐스트 통신 모델은 한 컴퓨팅 장치에서 다른 컴퓨팅 장치로 메시지를 전송하는 데에 사용된다. 유니캐스트 통신 모델에서, 전송자와 수신자간에 1-대-1 연결(association)이 있을 수 있다. 종래의 유니캐스트 통신 모델에서, 다수의 참가자가 동시에 대화에 참가하는 것이 불가능했는데, 그것은 정의에 의하여 두 개의 컴퓨팅 장치만이 메시지를 교환할 수 있기 때문이었다. 그러나, 컴퓨팅 장치를 링크하는 것이 가능하여 유니캐스트 통신 모델에서 두 개의 접속된 컴퓨팅 장치들 중 하나가 제3 컴퓨팅 장치로 메시지를 전달하여 두 개의 별도의 유니캐스트 접속을 확립하는 것이 가능했다. 이러한 경우, 대화의 두 참가자가 동시에 말하는 것은 제3 참가자에게는 다른 시간대에 말하는 것처럼 들릴 수 있는데, 이는 제3 참가자의 컴퓨팅 장치가 다른 두 참가자들의 컴퓨팅 장치들로부터 별도로 오디오 정보를 수신하기 때문이다. 예제로서, A와 B 가 대화에 참가하고 있고, A의 컴퓨팅 장치와 B의 컴퓨팅 장치가 서로 접속되어 있다고 가정해 보자. B의 컴퓨팅 장치와 C의 컴퓨팅 장치간에 제2의 접속이 추가되어 C 또한 대화에 참가할 수 있다. 유니캐스트 통신 모델에서, C는 A와 B가 동시에 말하고 있을 때 B의 목소리에 이어 A의 목소리를 들을 수 있다. 이것은 A로부터의 오디오 정보를 포함하는 메시지가 B의 컴퓨팅 장치로 전송되고, 이 메시지가 처리되지 않고 C의 컴퓨팅 장치로 전달되기 때문이다. 그러나, 컴퓨팅 자원은 하나의 컴퓨팅 장치가 동시에 접속될 수 있는 다른 컴퓨팅 장치의 수를 제한할 수 있다. 또한, 컴퓨팅 장치가 긴 체인(chain)을 형성하도록 접속되는 경우, 네트워크 지연으로 인해 정보는 체인의 한 끝에서부터 다른 끝으로 때에 맞지 않게 이동하게 된다.
하나의 컴퓨팅 장치로부터 다수의 기타 컴퓨팅 장치들로 동시에 메시지를 전송하는 데에 멀티캐스트 통신 모델이 사용될 수 있다. 이 통신 모델은 전달 컴퓨팅 장치(a forwarding computing device)를 포함하는데 이 장치는 전송 컴퓨팅 장치들로부터 메시지를 수신하고 접속되어 있는 모든 수신 컴퓨팅 장치들로 그 메시지를 전달한다. 따라서, 전달 컴퓨팅 장치와 다수의 수신 컴퓨팅 장치들간에 1-대-다 연결(association)이 된다. 전달 컴퓨팅 장치는 메시지를 수신하고 그 메시지를 수신 컴퓨팅 장치들로 전송하기 때문에, 유니캐스트 통신 모델에 대해 상술된 바와 유사한 이유로 멀티캐스트 통신 모델은 많은 수의 사용자들에게 동시에 서비스할 수 없다. 특히, 전달 컴퓨팅 장치는 다수의 메시지를 유지하기에 충분하지 않은 처리 능력 또는 충분하지 않은 기타 컴퓨팅 자원을 지닐 수도 있다.
브로드캐스트 컴퓨팅 장치에서 수신 컴퓨팅 장치로 동시에 정보를 전송하는 데에 브로드캐스트 통신 모델이 또한 사용될 수 있다. 브로드캐스트 통신 모델에서, 브로드캐스트 컴퓨팅 장치는 수신 컴퓨팅 장치들을 인식할 필요가 없을 수도 있다. 사실, 브로드캐스트 통신 모델을 사용하는 전송 컴퓨팅 장치에 의해 전송된 메시지는 수신 컴퓨팅 장치들의 목적지 주소를 포함하지 않을 수도 있는데, 이는 전송 컴퓨팅 장치가 수신 컴퓨팅 장치를 인식하지 못하거나 또는 어느 컴퓨팅 장치가 그 메시지를 수신하고 처리할 것인지에 관해 상관하지 않기 때문이다. 메시지를 브로드캐스트하기 위해, 브로드캐스트 컴퓨팅 장치는 자신이 접속되어 있는 네트워크상에서 궁극적으로 메시지가 수신되는지 여부에 상관없이 메시지를 전송하기만 한다. 그 네트워크에 접속되어 있는 기타 컴퓨팅 장치들은 브로드캐스트 컴퓨팅 장치로부터 전송된 메시지를 처리할 것인지 또는 무시할 것인지를 선택할 수 있다. 예제로서, 컴퓨팅 장치(A)가 자신이 접속되어 있는 네트워크에서 메시지를 브로드캐스트할 경우, 또한 그 네트워크에 접속되어 있는 컴퓨팅 장치(B)는 그 메시지 처리를 선택할 수 있다. 이와의 대조적으로, 동일한 네트워크에 접속되어 있는 컴퓨팅 장치(C)는 컴퓨팅 장치(A)에 의해 브로드캐스트된 메시지를 무시할 수 있다. 브로드캐스트 통신 모델에서, 한 컴퓨팅 장치로부터 전송된 메시지들은 그 네트워크에 접속된 모든 장치들을 모두 통과하지 않을 수 있다. 예제로서, 프록시 서버, 네트워크 번지지정 번역기(network addressed translator), 라우터, 게이트웨이 및 네트워크 전송량을 라우팅할 수 있거나 네트워크를 상호 접속시키는 기타 장치들은 목적지 주소를 포함하지 않는 메시지들을 처리하지 않을 수 있다. 그 결 과, 브로드캐스트 컴퓨팅 장치로부터 전송된 메시지들은 의도한 모든 수신자들에 도달하지 않을 수 있다.
전송 컴퓨팅 장치로부터 이 전송 컴퓨팅 장치에 알려진 모든 기타 컴퓨팅 장치로 정보를 전송하기 위해 플러딩 통신 모델이 사용될 수 있다. 이러한 각각의 접속된 컴퓨팅 장치는 다른 장치와의 메시지 교환을 위해 유니캐스트 통신 모델을 사용할 수 있다. 플러딩 모델에서의 한 가지 문제점은 동일한 정보가 다수의 장치로부터 한 컴퓨팅 장치에 도착할 수 있고, 사전 대책이 취해지지 않을 경우 그 동일한 정보는 여러 번, 심지어는 무한히 시스템을 통해 이동할 수 있다는 것이다. 예제로서, 컴퓨팅 장치(A)는 컴퓨팅 장치(B 및 C)로 메시지를 전달하고 컴퓨팅 장치(B)는 컴퓨팅 장치(C 및 A)로 메시지를 전달하고 컴퓨팅 장치(C)는 컴퓨팅 장치(A 및 B)로 메시지를 전달하는 경우, 컴퓨팅 장치(A)로부터 전송된 메시지는 컴퓨팅 장치(B)에 두 번 도착할 것이다. 즉, 컴퓨팅 장치(A)로부터 직접, 컴퓨팅 장치(A)로부터 수신된 메시지를 전달하는 컴퓨팅 장치(C)로부터 한 번 더 도착할 것이다. 이것은 네트워크 자원을 사용하는 데에 있어 비효율적이다.
상술된 통신 모델은 통상적으로 일체화된 아키텍처를 지니지 않는다. 일체화된 아키텍처에서는 컴퓨팅 장치의 역할이 클라이언트 또는 서버로 미리 정해진다. 일체화되지 않은 아키텍처를 사용하는 컴퓨팅 장치는 일반적으로 효율적으로 메시지를 라우팅하기 위해 자신의 역할을 동적으로 변경할 수 없다.
상술된 통신 모델들은 많은 수의 참가자들이 접속되어 있는 경우 비효율적으로 메시지를 라우팅할 수 있고 또는 컴퓨팅 자원의 제한으로 인해 많은 수의 참가 자들을 지원할 수 없을 수도 있다. 따라서, 본질적으로 다른 컴퓨팅 장치의 사용자들에게 의미 있게 제공하기 위해 멀티미디어 정보를 조작하고 라우팅하는 네트워크 자원을 효율적으로 사용하는 효과적인 어프로치는 상당히 유용할 것이다.
실시간 멀티미디어 정보를 효율적으로 라우팅하는 시스템이 제공된다. 이 시스템은 다중-제어 유닛 커넥터(multi-control unit(MCU) connectors)(멀티미디어 정보를 포함하는 메시지를 라우팅하도록 최적화된 컴퓨팅 시스템의 특수 목적의 컴포넌트)를 구성하고 사용함으로써 실시간 멀티미디어 정보를 포함하는 메시지들을 효율적으로 라우팅한다. 컴퓨팅 장치는 다수의 MCU 커넥터들을 사용하여 동시에 컴퓨팅 장치의 자원들(예를 들어, 카메라, 마이크, 스피커 등) 또는 기타 컴퓨팅 장치들과의 접속을 동적으로 생성한다. VoIP(Voice over Internet Protocol), 스트리밍 멀티미디어 플레이어, 또는 메시지를 라우팅할 필요가 있는 임의의 애플리케이션과 같은 컴퓨팅 장치의 MCU 커넥터를 사용하는 애플리케이션은 MCU 커넥터에 대한 역할을 구성할 수 있다. 애플리케이션은 MCU 커넥터의 애플리케이션 프로그램 인터페이스를 사용하여 클라이언트, 서버 또는 클라이언트-서버로 동작하도록 MCU 커넥터의 역할을 구성할 수 있다. 역할을 지정함으로써, 컴퓨팅 장치는 효율적으로 메시지를 라우팅할 수 있고, 그 결과, 예를 들어 단일 컴퓨팅 장치는 많은 수의 접속을 동시에 처리할 필요가 없다. MCU 커넥터는 또한 혼합기, 반사기 또는 선택기와 같이 동작하는 모드를 가질 수 있다. 이들 모드는 커넥터가 메시지를 전달하기 전 수신된 메시지를 어떻게 처리할 것인가를 정의한다. 각종 모드 및 역할 을 사용함으로써, 본 시스템은 본질적으로 다른 컴퓨팅 장치의 사용자들에게 의미 있게 제공하기 위해 멀티미디어 정보를 조합하고 효율적으로 라우팅하는 데에 사용된다.
한 실시예에서, 실시간 멀티미디어 정보의 효율적인 라우팅을 위한 시스템이 제공된다. 이 시스템은 다중-제어 유닛(MCU) 커넥터들(멀티미디어 정보를 포함하는 메시지와 같은 메시지들을 라우팅하도록 최적화된, 컴퓨팅 시스템의 특수-목적 컴포넌트임)을 구성하고 그것을 사용함으로써 실시간 멀티미디어 정보를 포함하는 메시지들을 효율적으로 라우팅한다. 컴퓨팅 장치는 다수의 MCU 커넥터를 사용하여 컴퓨팅 장치의 자원들(예를 들어, 카메라, 마이크, 스피커 등) 또는 기타 컴퓨팅 장치와의 접속을 동시에 생성한다. MCU 커넥터는 빗장(crossbar)을 닮은 방식으로 논리 접속의 동적 생성을 가능하게 한다. VoIP, 스트리밍 멀티미디어 플레이어, 또는 메시지를 라우팅해야 하는 임의의 애플리케이션과 같은 컴퓨팅 장치의 MCU 커넥터를 사용하는 애플리케이션은 MCU 커넥터의 역할을 구성할 수 있다. MCU 커넥터의 역할은 MCU 커넥터가 어떻게 동작하는지를 정의할 수 있다. 애플리케이션은 MCU 커넥터의 API를 사용하여 클라이언트, 서버 또는 클라이언트-서버로 MCU 커넥터의 역할을 구성할 수 있다.
메시지를 생성하거나 소모하는 애플리케이션은 MCU 커넥터의 역할을 클라이언트로 구성할 수 있다. 메시지를 생성하거나 소모하는 애플리케이션의 예제로는 일반적으로 MICROSOFT MESSENGER, VoIP 클라이언트 및 SIP 클라이언트가 있다. 서 버 애플리케이션으로 종래에 지칭되어 온 일부 애플리케이션들 또한 이들 애플리케이션이 메시지를 생성하거나 소모하고자 할 때 MCU 커넥터를 클라이언트로 동작하도록 구성할 수 있다. 예제로서, 게이트웨이 또는 프록시 서버는 그들이 클라이언트로부터 메시지를 소모하고 서버로 전송할 메시지를 생성해야 하기 때문에 MCU 커넥터를 클라이언트로 동작하도록 구성할 수 있다. 게이트웨이는 한 네트워크에서 다른 네트워크로 정보를 중개하고(bridge) 번역하므로 한 네트워크에서는 클라이언트가 되고 다른 네트워크에서는 서버가 된다. 동일하게, 프록시 서버는 일반적으로 서버에 대해서는 클라이언트로, 클라이언트에 대해서는 서버로 작용한다. 클라이언트로 동작하는 MCU 커넥터는 자신의 활성 입력 모두를 각각의 활성 출력으로 라우팅할 수 있다. 활성 입력 또는 출력은 메시지를 생성하거나 소모하는 다른 커넥터 또는 컴퓨팅 장치에 접속된 것이다. 예제로서, VoIP 애플리케이션은 활성 입력상에 수신된 모든 도착 메시지를 스피커 또는 헤드셋상에서 다시 플레이할 수 있고, 예를 들어 마이크 또는 오디오 파일로부터의 모든 오디오 입력을 포함하는 메시지들을 활성 출력으로 전송할 수 있다. 또 다른 예제는 종래의 전화 시스템과 VoIP 시스템간에 오디오를 번역하는 게이트웨이이다. 게이트웨이는 MCU 커넥터가 전화 시스템 또는 VoIP 시스템으로부터 오디오 정보를 수신하고 그것을 기타 시스템에 의해 수용가능한 메시지(또는 신호)로 번역하기 때문에 MCU 커넥터를 클라이언트로 동작하도록 구성할 수 있다. MCU 커넥터가 클라이언트로 동작할 때, 인입 메시지의 내용과 관련하여 그 어떠한 처리도 수행되지 않을 수 있다.
메시지 내용을 처리하거나 또는 메시지 내용을 다른 컴퓨팅 장치로 라우팅하 는 경우 MCU 커넥터의 역할은 서버로 구성될 수 있다. 예제로서, 애플리케이션이 대화의 다수의 참가자로부터 오디오 및 비디오 정보를 수신한 경우, 애플리케이션은 수신된 오디오를 처리하고, 적절한 비디오 소스를 선택하고 이 수신된 오디오 및 비디오를 다른 컴퓨팅 장치로 라우팅할 필요가 있다. 오디오 처리로는 오디오를 "혼합(mixing)"하는 것이 있는데, 그렇게 함으로써 동시에 참가자들이 말하는 것으로부터의 오디오는 순차적이라기보다는 동시에 말하는 것처럼 들린다. 따라서, 두 개의 컴퓨팅 장치상에서 실행중인 애플리케이션들은 그들의 오디오 및 비주얼 정보를 3자 대화의 두 참가자로부터 MCU 커넥터가 서버로 동작하고 있는 제3의 컴퓨팅 장치로 전송할 수 있다. 이 MCU 커넥터는 자신과 관련된 컴퓨팅 장치를 사용하여 제3 참가자로 혼합된 오디오를 플레이하기 이전에 또는 오디오 정보를 다른 컴퓨팅 장치로 전달하기 전에 이 오디오 정보를 혼합할 수 있고, 마지막 화자에 관련된 비디오 정보를 또한 선택할 수 있다. 예제로서, A, B 및 C가 대화에 참가하고 있고, A가 먼저 말하고 이어서 B와 C가 동시에 말하는 경우, A는 B 및 C로부터 혼합된 오디오를 들을 것이고, B는 A의 오디오에 이어 C의 오디오를 듣고, C는 A의 오디오에 이어 B의 오디오를 들을 것이다. 또한, A는 B 또는 C 둘 중 하나의 비디오 정보(또는 둘 다)를 수신할 것이고, B는 A의 비디오 정보에 이어 C를, C는 A의 비디오 정보에 이어 B의 것을 수신할 것이다. 따라서, 서버로 동작할 때, MCU 커넥터는 메시지를 라우팅할 때 멀티미디어 정보를 처리하거나 또는 선택한다.
애플리케이션은 메시지를 생성하거나 소모할 뿐만 아니라 클라이언트로 동작하는 기타 MCU 커넥터로 메시지를 라우팅해야 하는 경우 MCU 커넥터의 역할을 클라 이언트-서버로 구성할 수 있다. 예제로서, VoIP-기반 전화를 대화로 초대하는 VoIP 애플리케이션은 VoIP 애플리케이션에 대해 클라이언트로 동작하고 VoIP-기반 전화에 대해 서버로 동작할 수 있다. 따라서, 클라이언트-서버로 동작하는 MCU 커넥터는 클라이언트 및 서버 같은 동작을 둘 다 수행한다.
MCU 커넥터는 또한 혼합기(mixer), 반사기(reflector), 또는 선택기(selector) 모드로 동작할 수 있다. 혼합기 모드에서, MCU 커넥터는 그것이 서버로 동작하는 예제와 관련하여 상술된 것처럼, 오디오를 혼합하고 비디오를 선택함으로써 오디오 정보를 처리할 수 있다. 예를 들어 큰 윈도우상에 작은 윈도우를 두어 이미지들을 서로 나란히 배치하거나, 이미지를 포장하고, 또는 이미지들을 포개놓음으로써 비디오를 혼합할 수 있다. 반사기 모드에서, MCU 커넥터는 오디오를 혼합하지 않고 수신된 메시지를 곧장 전달할 수 있다. 예제로서, A, B 및 C가 대화에 참가하고 있고, 그 대화에서 A가 먼저 말하고 이어서 B 및 C가 동시에 말하는 경우, MCU 커넥터가 그 메시지를 어떻게 배열했는지에 상관없이 A는 B의 오디오 및 C의 오디오를 수신한다. 선택기 모드에서, MCU 커넥터는 입력 중 하나를 선택하고 나머지는 무시한다. 예제로서, A, B 및 C가 대화에 참가하고 있고, 그 대화에서 A가 먼저 말하고 이어서 B 및 C가 동시에 말하는 경우, A는 B 또는 C로부터의 메시지만을 수신하고, 다른 것으로부터의 메시지는 수신하지 않는다. 선택기 모드는 비디오의 경우에 좀 더 일반적으로 채용된다.
한 실시예에서, 선택기는 정보의 특성에 기초하여 오디오 또는 비디오 정보를 선택하도록 구성된다. 예제로서, 가장 크게 말하는 참가자의 오디오 및 비디오 가 선택될 수 있다.
한 실시예에서, 혼합 및 선택이 같이 수행될 수 있다. 예제로서, 큰 대화 또는 전자 교실 문맥(electronic classroom context)에서, MCU 커넥터는 발표자(예를 들어 선생님) 및 질문하는 참가자(예를 들어 학생)의 오디오 및 비디오 정보를 혼합하도록 구성될 수 있다.
메시지를 라우팅하기 위해 MCU 커넥터 컴포넌트를 사용함으로써, 애플리케이션은 컴퓨팅 장치가 클라이언트, 서버 또는 둘 다가 될 수 있도록 구성함으로써 멀티미디어 메시지에 대한 루트를 동적으로 선택할 수 있고, 따라서 단일 컴퓨팅 장치 또는 소정의 컴퓨팅 장치는 메시지를 라우팅할 필요가 없다. 따라서, 다수의 컴퓨팅 장치가 클라이언트, 서버, 또는 그 둘 다로 사용될 수 있고 그 역할 및 모드가 대화 또는 기타 애플리케이션 세션 동안 동적으로 선택될 수 있기 때문에 멀티미디어 메시지가 효율적으로 라우팅될 수 있다.
도면에서, 도 1은 실시간 멀티미디어 정보를 효율적으로 라우팅하는 시스템의 실시예를 도시하는 블록도이다. 이 시스템은 다수의 컴퓨팅 장치(102) 및 네트워크(104)를 포함한다. 네트워크(104)는 예를 들어 인트라넷, 인터넷 또는 임의의 기타 형태의 네트워크일 수 있다. 컴퓨팅 장치는 네트워크에 접속될 수 있다. 컴퓨팅 장치들은 전용 접속(108)을 통해서와 같이 별도로 상호접속될 수 있다. 시스템은 또한 게이트웨이(109) 및 접속(112)을 통해 게이트웨이에 접속된 장치(110)를 포함한다. 게이트웨이는 예를 들어 VoIP 전화 장치와 네트워크에 접속된 컴퓨팅 장치간에 메시지 또는 신호를 중개하고 번역하는 장치일 수 있다. 게이트웨이는 접속(111)을 통해 네트워크로 접속될 수 있다. 시스템의 각종 네트워크 접속은 유선, 무선 또는 그 조합일 수 있다. 각종 네트워크 접속은 TCP/IP(Transport Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)와 같은 각종 프로토콜을 사용할 수 있다.
도 2는 도 1의 컴퓨팅 장치의 실시예를 도시하는 블록도이다. 컴퓨팅 장치(202)는 오디오 컴포넌트(204), 비디오 컴포넌트(206), 문서 컴포넌트(208) 및 MCU 커넥터(커넥터) 컴포넌트(210)를 포함한다. 오디오 컴포넌트는 오디오 정보를 처리할 수 있다. 예제로서, 오디오 컴포넌트는 마이크로부터 오디오 신호를 수신하거나 스피커에서 오디오 신호를 플레이할 수 있다. 오디오 컴포넌트는 또한 커넥터 컴포넌트에 의해 지시되는 대로 오디오 신호를 혼합할 수 있다. 예제로서, 오디오 컴포넌트는 마이크로부터 수신된 오디오 신호와 커넥터가 접속된 다른 컴퓨팅 장치로부터 수신된 메시지에 포함된 오디오 정보를 혼합할 수 있다.
비디오 컴포넌트는 비디오 신호를 처리할 수 있다. 예제로서, 비디오 컴포넌트는 비디오 카메라로부터 비디오를 수신하거나 스크린상에 비디오를 플레이할 수 있다. 비디오 컴포넌트는 또한 다수의 소스로부터 비디오 이미지들을 오버래이(overlay)하거나 끼워놓음(inlay)으로써 비디오를 혼합하는 것과 같이 다른 특징들을 수행할 수 있다.
문서 컴포넌트는 다른 형태의 전자 정보를 처리할 수 있다. 예제로서, 문서 컴포넌트는 참가자가 워드 프로세싱 문서를 조작하는 것을 등록할 수 있고, 이러한 조작을 네트워크를 통해 다른 참가자들에게 전달한다. 동일하게, 문서 컴포넌트는 문서를 수행하기 위해 다른 사용자들의 조작을 수신할 수 있고, 컴퓨팅 장치에 접속된 스크린상에 이 조작들을 디스플레이할 수 있다.
커넥터 컴포넌트는 오디오 및 비디오 접속과 같이 각종 형태의 접속을 생성하고 구성한다. 컴퓨팅 장치는 다수의 커넥터 컴포넌트(도시 생략)를 포함할 수 있다. 커넥터 컴포넌트는 오디오 또는 비디오 정보를 혼합하기 위해 기타 컴포넌트들을 사용할 수 있다. 커넥터 컴포넌트는 도 3과 관련하여 이하에 더 상세히 설명된다.
도 3은 도 2의 커넥터 컴포넌트의 실시예를 도시하는 블록도이다. 커넥터 컴포넌트는 입력(304,305,306 및 307)과 같이 다수의 입력을 포함한다. 커넥터는 또한 출력(308,309,310 및 311)과 같이 다수의 출력을 포함한다. 입력 및 출력은 정보를 수신 또는 전송하기 위해 컴퓨팅 장치들을 포함하는 기타 장치들로 접속되는 데에 사용된다. 커넥터 컴포넌트는 여러 방법으로 구성될 수 있다. 예제로서, 입력(304)은 모든 인입 신호를 출력(308,309,310 및 311)으로 전달하도록 구성될 수 있다. 입력(307) 또한 유사한 방식으로 구성될 수 있다. 입력(305)은 그 어느 입력도 전달하지 않도록 구성될 수 있다. 입력(306)은 동적으로 구성될 수 있는데, 예를 들어 입력 처리 동안 적절한 방식(도시 생략)으로 입력을 전달하도록 구성될 수 있다. 예제로서, 입력(306)은 수신된 비디오 정보의 소스가 또한 현재 말하고 있는 사람일 경우에만 커넥터 컴포넌트의 출력에 접속된 장치로 수신된 비디오 정보를 전달하도록 구성될 수 있다.
커넥터 컴포넌트는 다수의 메소드 및 속성을 드러내는 API를 가지고 있으며, 이 API를 통해 애플리케이션은 자기 자신을 등록하여 커넥터 컴포넌트가 생성하는 이벤트 통지를 수신할 수 있다. "플랫폼" 함수들의 세트(예를 들어, 메소드, 속성 및 이벤트)는 장치의 미디어 스택(media stack)의 사용과 관련된다. 미디어 스택은 오디오 및 비디오의 입력 및 출력을 제공한다. 예제로서, 스택은 마이크 또는 카메라로부터의 입력 및 스피커 및 비디오 스크린으로의 출력을 제공할 수 있다. 서버 및 클라이언트 및 참가자에 의해 사용되는 임의의 컴퓨팅 장치는 유사하고 호환가능한 미디어 스택을 사용할 수 있다. 플랫폼 함수를 이용하여 애플리케이션은 어떤 입력 또는 출력이 장치상에서 사용가능한지를 판정하기 위해 커넥터로 질의할 수 있다. 플랫폼 함수를 사용함으로써, 애플리케이션은 장치를 사용하는 참가자로부터 오디오 및 비디오 입력을 수신하고, 장치상의 기타 참가자들로부터 수신된 오디오 및 비디오를 플레이할 수 있다. 커넥터가 이러한 특징들에 대해 API를 지니고 있기 때문에, 애플리케이션 개발자는 다수의 벤더(vendor)에 의해 제조되는 이들 입력 또는 출력 장치들을 제어하는 방법을 배울 필요가 없다.
애플리케이션은 커넥터 컴포넌트의 API를 사용하여 접속을 동적으로 추가하거나 제거할 수 있다. 예제로서, 애플리케이션 프로그램은 추가의 참가자가 대화에 합류할 때 접속을 추가할 수 있고 또는 참가자가 대화를 떠날 때 접속을 제거할 수 있다.
커넥터 컴포넌트의 API는 또한 메시지 라우팅 및 모드 선택과 관련된 함수를 지니고 있다. 애플리케이션은 커넥터에 대해 지정된 역할(예를 들어 클라이언트, 서버 또는 클라이언트-서버) 또는 지정된 루트 둘 중의 하나에 기초하여 오디오 및 비디오에 대한 루트를 구성할 수 있다. API는 혼합기, 반사기 또는 선택기 모드같이 커넥터 컴포넌트의 모드를 선택하는 데에 사용될 수 있다.
도 4는 다수의 커넥터를 사용하는 시스템의 실시예를 도시하는 블록도이다. 시스템은 3개의 컴퓨팅 장치, 컴퓨팅 장치 A(402), 컴퓨팅 장치 B(404), 컴퓨팅 장치 C(406)를 포함한다. 컴퓨팅 장치들은 통신 링크(410)를 통해 인터넷(408)과 같은 네트워크로 접속될 수 있다. 각 컴퓨팅 장치는 하나 이상의 커넥터를 포함한다. 도시된 실시예에서, 컴퓨팅 장치들(A, B 및 C)은 각각 커넥터(416,418,420)를 가진다. 도시된 실시예에서, 컴퓨팅 장치(A 및 B)는 클라이언트로, 컴퓨팅 장치(C)는 서버로 구성되어 있다. 서버의 커넥터는 혼합기 모드에서 동작하도록 구성되어 있다. 클라이언트로 동작하는 커넥터(416 및 418) 각각은 두 개의 입력 및 출력을 가지는 것으로 도시되어 있다. 이들 두 커넥터 각각으로의 입력은 커넥터의 컴퓨팅 장치에 결합된 마이크로부터이다. 오디오 입력의 다른 소스들이 또한 가능한데, 예를 들어 CD 플레이어, 쥬크 박스, MP3 플레이어 및 임의의 오디오 소스들이다. 이들 두 커넥터 각각으로의 제2 입력은 다른 컴퓨팅 장치로부터, 즉 네트워크를 통해 수신된 것("네트워크 입력")이다. 이들 두 커넥터 각각의 출력은 커넥터의 컴퓨팅 장치의 스피커로 결합된다. 수신기, 증폭기, 헤드폰, 오디오 녹음기 등을 포함하는 임의의 오디오 출력이 스피커 대신 사용될 수 있다. 이들 커넥터 각각의 제2 출력은 커넥터로부터 커넥터의 컴퓨팅 장치가 접속되어 있는 다른 컴퓨터 장치("네트워크 출력")로 출력을 전송한다. 컴퓨팅 장치(C)의 커넥터는 혼합기 모드에서 서버로 동작하도록 구성되어 있고, 3개의 입력 및 3개의 출력을 지 니고 있다. 이 커넥터의 3개의 입력은 각각 마이크, 컴퓨팅 장치(A)("네트워크 입력 A") 및 컴퓨팅 장치(B)("네트워크 입력 B")로부터 정보를 수신한다. 이 커넥터의 3개의 출력은 각각 스피커, 컴퓨팅 장치(A)("네트워크 출력 A") 및 컴퓨팅 장치(B)("네트워크 출력 B")로 정보를 전송한다. 컴퓨팅 장치(C)의 도시된 커넥터는 또한 다른 입력 및 출력(도시 생략)을 가질 수 있다. 컴퓨팅 장치는 추가의 커넥터(또한 도시 생략)를 가질 수 있다.
도시된 구성은 3개의 도시된 컴퓨팅 장치들 각각을 사용하는 참가자 간의 3자 대화에서 사용될 수 있다. 참가자 A, B 및 C가 컴퓨팅 장치 A, B 및 C 각각을 사용하여 함께 온라인 대화에 참가하고 있다고 가정해보자. 커넥터 A는 참가자 A로부터 들은 정보를 자신의 네트워크 출력으로 라우팅하고, 자신의 네트워크 입력을 통해 다른 컴퓨팅 장치로부터 수신한 정보를 자신의 스피커로 라우팅한다. 동일하게, 커넥터 B는 자신의 마이크 입력을 통해 참가자 B로부터 수신한 정보를 자신의 네트워크 출력으로 라우팅하고, 자신의 네트워크 입력을 통해 다른 컴퓨팅 장치로부터 수신한 정보를 자신의 스피커 출력으로 라우팅한다. 혼합기 모드에서 서버로 동작하고 있는 커넥터 C는 혼합된 정보를 네트워크 출력으로 전달하기 전에 자신의 마이크 입력으로부터 및 자신의 두 개의 네트워크 입력 각각으로부터 수신한 정보를 혼합한다. 예제로서, 커넥터는 자신의 마이크 입력을 통해 참가자 C로부터 수신한 정보 및 자신의 네트워크 입력 A를 통해 참가자 A로부터 수신한 정보를 혼합하여 그 혼합된 정보를 자신의 네트워크 출력 B를 통해 참가자 B의 컴퓨팅 장치로 전달한다. 동일하게, 커넥터는 참가자 C로부터 수신한 정보 및 자신의 네 트워크 입력 B를 통해 참가자 B로부터 수신한 정보를 혼합하여 그 혼합된 정보를 자신의 네트워크 출력 A를 통해 참가자 A로 전달한다. 커넥터 C는 또한 네트워크 입력 A 및 B를 통해 참가자 A 및 B로부터 수신한 정보를 혼합하고, 그것을 자신의 스피커 출력으로 전달한다. 이렇게 함으로써, 이들 세 참가자들은 다른 두 참가자들로부터 혼합된 오디오 정보를 수신한다.
시스템은 또한 유사하게 구성되는 비디오 커넥터를 가질 수 있다(도시 생략). 이러한 경우, 컴퓨팅 장치 C의 비디오 커넥터는 선택기 모드에서 구성될 수 있고, 다른 두 참가자 각각에 대해 현재 말하고 있는 참가자의 비디오 정보를 선택할 수 있고, 현재 말하고 있는 참가자에 대해 최종 화자(talker)의 비디오 정보를 선택할 수 있다. 비디오 커넥터는 마이크 입력보다는 (또는 마이크 입력 외에) 카메라 입력을 가질 수 있고, 또한 스피커 출력보다는 모니터 출력을 가질 수 있다. 시스템은 또한 혼합기 모드와 같이 다른 비디오 모드에서도 구성될 수 있다.
적절히 구성된 비디오 및 오디오 커넥터를 사용함으로써, 시스템은 효과적으로 실시간 멀티미디어 정보를 라우팅하고자 하는 참가자들의 요구사항에 적응할 수 있다. 예제로서, 컴퓨팅 장치 A를 사용하는 참가자 A가 컴퓨팅 장치 C를 사용하는 참가자 C와 대화하고 있는 경우, 컴퓨팅 장치 A 및 C의 커넥터는 클라이언트 모드로 동작할 수 있다. 참가자 C가 참가자 B를 대화에 초청할 경우, 컴퓨팅 장치 C의 커넥터는 혼합기 모드에서 서버로 동작할 수 있도록 자신의 역할과 모드를 동적으로 변경할 수 있다. 따라서, 컴퓨팅 장치 A, B 또는 C는 이들 세 사용자에 대해 정보를 라우팅할 수 있는 제4의 컴퓨팅 장치를 접속할 필요가 없다.
도 5는 make_connections 루틴의 실시예를 도시하는 흐름도이다. 루틴은 커넥터 컴포넌트에 의해 수행되고 루트를 구성한다. 커넥터의 루트는 어떤 입력이 어느 출력으로 접속되어 있는지를 나타내고 따라서 커넥터의 입력과 출력간의 접속을 형성한다. 블록(502)에서 루틴이 시작되고, 여기서 루틴은 역할, 오디오 루트 및 비디오 루트의 표시를 매개변수로 수신한다. 루트는 루틴의 매개변수에서 지정된 역할 및 루트에 기초하여 구성될 수 있다. 블록(504)에서, 루틴은 표시된 역할에 기초하여 커넥터를 구성한다. 예제로서, 표시된 역할이 클라이언트라면, 루틴은 모든 수신된 입력을 모든 출력으로 전달하도록 커넥터를 구성할 수 있다. 블록(506)에서, 루틴은 수신된 매개변수에 표시된 대로 모든 오디오 접속을 생성한다. 블록(508)에서, 루틴은 수신된 매개변수에 표시된 대로 모든 비디오 접속을 생성한다. 루틴은 예를 들어 루트가 루틴의 매개변수에 지정되어 있는 경우 오디오 및 비디오 접속을 생성할 필요가 있다. 커넥터를 사용하는 애플리케이션은 멀티미디어 정보의 전문화된 처리가 요망되는 경우 오디오 및 비디오 루트를 지정할 수 있다. 예제로서, 다수의 참가자를 지니는 원격지간 회의(teleconference) 애플리케이션은 더 작은 수의 참가자들을 지니는 VoIP 애플리케이션과는 다르게 정보를 라우팅하기를 원할 수 있다. 또 다른 예제로서, 이들 애플리케이션은 다른 일부에게는 불가능하지만(예를 들어 참가자의 컴퓨팅 장치의 성능에 기초하므로) 일부 참가자들에 대해 텔레비전 회의(videoconference)를 가능하게 하도록 하고자 할 수도 있다. 오디오 루트는 (컴퓨팅 장치에 관련된 마이크가 직접 사용되기보다는) 부착된 비디오 카메라와 관련된 마이크가 사용되도록 및 커넥터의 네트워크 출력으로 접속되도록 지정할 수 있다. 비디오 루트는 비디오 카메라의 출력이 또한 커넥터의 출력에 접속되도록 지정할 수 있다. 블록(510)에서, 루틴은 자신의 호출자로 리턴한다.
도 6은 오디오 혼합기 및 비디오 선택기 모드에서 동작하는 커넥터에 의해 수행되는 루트 루틴의 실시예를 도시하는 흐름도이다. 루틴은 커넥터가 오디오 혼합기 모드 및 비디오 선택기 모드로 동작할 때 오디오 및 비디오 메시지를 어떻게 라우팅할 것인가를 판정한다. 블록(602)에서 루틴이 시작된다. 블록(604)에서, 루틴은 대화의 제1 참가자를 선택한다. 블록(606)에서, 루틴은 선택된 참가자 외 모든 참가자들로부터의 오디오 입력을 혼합한다. 예제로서, A가 B 및 C와의 대화에 있고 A가 선택된 참가자일 경우, 루틴은 B 및 C로부터의 오디오 입력들을 혼합한다. A가 A의 오디오 입력을 인식하기 때문에 A의 오디오는 혼합될 필요가 없다. 또한, A의 오디오가 혼합되어 A로 리턴될 경우, 네트워크의 지연으로 인해 A는 오디오 정보 A를 전송한 후 잠시 후에 전송된 그 정보를 수신할 수 있고, 이것은 A의 일부에 혼란을 가져올 수 있다. 블록(608)에서, 루틴은 블록(506)에서 혼합된 오디오를 선택된 참가자로 전송한다. 위에서 제공된 예제에서 계속하여, 루틴은 B 및 C의 혼합된 오디오를 A로 전송한다.
블록(610)에서, 루틴은 선택된 참가자가 아닌 가장 최근에 말한 참가자의 비디오 신호를 선택된 참가자로 전송한다. 예제로서, A가 B 및 C와 함께 대화하고 있고 B가 가장 최근 화자이고 A가 현재의 화자라면, A는 (현재 말하고 있으므로) 오디오 신호는 수신하지 않고 (B가 가장 최근의 화자이므로) B의 비디오 신호를 수 신할 것이다. 반대로, A가 현재의 화자이므로 B 및 C는 A의 오디오 및 비디오 신호를 수신할 것이다. 실시예에서, 블록(610)에서, 참가자의 비디오 정보는 혼합될 수 있다. 예제에서, 모든 화자의 비디오 정보는 타일 형태로 스크린에 나타내어질 수 있다(tiled). 비디오 정보의 타일링(tiling)으로는 인접 윈도우들에서 참가자들로부터의 비디오 정보를 위치시키는 것이 있다.
블록(612)에서, 루틴은 화자가 아닌 다른 참가자를 선택한다. 블록(614)에서, 루틴은 더 이상 참가자가 없는지 여부를 판정한다. 그런 경우, 루틴은 블록(616)으로 계속된다. 그렇지 않을 경우, 루틴은 블록(606)으로 계속된다. 블록(616)에서, 루틴은 자신의 호출자로 리턴한다.
도 7은 반사기 모드에서 동작하는 커넥터에 의해 수행되는 루트 루틴의 실시예를 도시하는 흐름도이다. 루틴은 커넥터가 반사기 모드로 동작할 때 오디오 및 비디오 메시지를 어떻게 라우팅할 것인가를 판정한다. 블록(702)에서 루틴이 시작된다. 블록(704)에서, 루틴은 현재 말하는 참가자가 아닌 대화의 제1 참가자를 선택한다. 블록(706)에서, 루틴은 화자의 오디오 메시지를 선택된 참가자로 전송한다. 블록(708)에서, 루틴은 화자의 비디오 메시지를 선택된 참가자로 전송한다. 여러 화자가 있을 경우, 여러 화자들의 오디오 및 비디오는 순차적으로 전송될 수 있다. 예제로서, 참가자 A, B 및 C가 대화에 있고 B와 C가 동시에 말하고 있다면, A는 C의 오디오 및 비디오 이전에 B의 오디오 및 비디오를 수신할 수 있다. 블록(710)에서, 루틴은 화자가 아닌 다음 참가자를 선택한다. 블록(712)에서, 루틴은 선택될 참가자가 더 이상 없는지를 판정한다. 그럴 경우, 루틴은 블록(714)으로 진행된다. 그렇지 않을 경우, 루틴은 블록(706)으로 계속된다. 블록(714)에서, 루틴은 그 호출자로 리턴한다.
도 8은 선택기 모드에서 동작하는 커넥터에 의해 수행되는 루트 루틴의 실시예를 도시하는 흐름도이다. 루틴은 커넥터가 선택기 모드로 동작할 때 오디오 및 비디오 메시지를 어떻게 라우팅할 것인가를 판정한다. 블록(802)에서 루틴이 시작된다. 블록(804)에서, 루틴은 현재 말하는 참가자가 아닌 제1 참가자를 선택한다. 블록(806)에서, 루틴은 화자로부터 선택된 참가자로 오디오 메시지를 전송한다. 블록(808)에서, 루틴은 화자로부터 선택된 참가자로 비디오 메시지를 전송한다. 선택기 모드에서는, 한 참가자로부터의 오디오 정보 또는 비디오 정보만이 전송되고 수신될 수 있다. 예제로서, 참가자 A, B 및 C가 대화에 참가하고 있고 B 및 C가 동시에 말하는 경우, A는 B의 오디오 및 비디오 정보만을 수신할 수 있다. 블록(810)에서, 루틴은 화자가 아닌 다음 참가자를 선택한다. 블록(812)에서, 루틴은 더 이상 참가자가 없는지를 판정한다. 그럴 경우, 루틴은 블록(814)으로 진행된다. 그렇지 않을 경우, 루틴은 블록(806)으로 계속된다. 블록(814)에서, 루틴은 자신의 호출자로 리턴한다.
실시예에서, 비디오 정보를 선택하는 데에 선택기 모드가 사용될 수 있다. 그러한 경우, 비디오 정보가 선택될 수 있고, 오디오 정보는 혼합될 수 있다. 따라서, 블록(806)에서, 모든 참가자들로부터의 오디오가 혼합되고 전달될 수 있다.
대화의 참가자들은 각종 형태의 컴퓨팅 장치를 사용할 수 있다. 예제로서, 텔레비전 회의의 참가자는 퍼스널 컴퓨터를 사용할 수 있고, 제2 참가자는 휴대 전 화를 사용할 수 있고, 제3 참가자는 오디오 및 비디오 정보를 수신 및 전송할 수 있는 일부 다른 형태의 컴퓨팅 장치를 사용할 수 있다. 퍼스널 컴퓨터를 사용하는 참가자는 대화 동안 비디오 및 오디오 정보를 수신하고 전송하기를 원할 수 있다. 이와는 반대로, 휴대 전화를 사용하는 참가자는 오디오 정보 수신만을 원할 수 있다. 마지막으로, 비디오 및 오디오 정보를 전송하고 수신할 수 있는 컴퓨팅 장치(예를 들어 비디오폰)를 사용하는 참가자 또한 오디오 및 비디오 정보를 수신 및 전송하기를 원할 수 있다.
실시간 멀티미디어 정보를 효율적으로 라우팅하는 컴퓨팅 장치는 중앙 처리 장치, 메모리, 입력 장치(예를 들어, 키보드 및 포인팅 장치), 출력 장치(예를 들어, 디스플레이 장치), 및 저장 장치(예를 들어, 디스크 드라이브)를 포함한다. 메모리 및 저장 장치는 보안 시스템을 구현하는 명령어를 포함하는 컴퓨터 판독가능 매체이다. 또한, 데이터 구조 및 메시지 구조는 예를 들어 통신 링크상의 신호와 같이 데이터 전송 매체를 통해 저장되거나 전송될 수 있다. 인터넷, LAN, WAN 또는 포인트-대-포인트 다이얼 업 접속과 같은 각종 통신 링크가 사용될 수 있다.
도 1은 실시간 멀티미디어 정보를 효율적으로 라우팅하는 시스템이 구현되는 데에 적합한 운영 환경의 예제를 도시한다. 운영 환경은 적합한 운영 환경의 한 예제일 뿐 사용 범위 또는 시스템의 기능에 관해 어떤 제한을 하고자 하는 것이 아니다. 사용하기에 적합하고 기타 잘 알려진 컴퓨팅 시스템, 환경 및 구성으로는 퍼스널 컴퓨터, 서버 컴퓨터, "스마트" 휴대 전화, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램가능한 소비 가전, 네트워크 PC, 미니 컴퓨터, 메 인프레임 컴퓨터, 상술된 임의의 시스템 또는 장치들을 포함하는 분산 컴퓨팅 환경을 포함하는 핸드-헬드 또는 랩톱 컴퓨터가 있다.
실시간 멀티미디어 정보를 효율적으로 라우팅하는 시스템은 하나 이상의 컴퓨터 또는 기타 장치에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 컨텍스트로 기술될 수 있다. 일반적으로, 프로그램 모듈로는 특정 태스크를 수행하고 또는 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등이 있다. 통상적으로, 프로그램 모듈의 기능은 각종 실시예에서 원하는 대로 결합되거나 또는 분산될 수 있다.
전술된 내용으로부터, 본 명세서에 기술된 본 발명의 특정 실시예는 도시를 위한 것이고, 본 발명의 정신과 범위를 벗어나지 않고 각종 수정이 일어날 수 있다는 것을 이해할 것이다. 따라서, 본 발명은 첨부된 청구항에 의한 것 이외에 제한되지 않는다.
메시지를 라우팅하는 데에 MCU 커넥터 컴포넌트를 사용하여, 애플리케이션은 컴퓨팅 장치가 클라이언트, 서버 또는 둘 다가 될 수 있도록 구성함으로써 멀티미디어 메시지에 대한 루트를 동적으로 선택할 수 있고, 따라서 단일 컴퓨팅 장치 또는 소정의 컴퓨팅 장치는 메시지를 라우팅할 필요가 없다. 따라서, 다수의 컴퓨팅 장치가 클라이언트, 서버, 또는 그 둘 다로 사용될 수 있고 그 역할 및 모드가 대화 또는 기타 애플리케이션 세션 동안 동적으로 선택될 수 있기 때문에 멀티미디어 메시지가 효율적으로 라우팅될 수 있다.

Claims (33)

  1. 실시간 멀티미디어 정보를 라우팅하는 것에 관한 애플리케이션 프로그램 인터페이스를 구현하는 명령어를 포함하는 컴퓨터 판독가능 매체에 있어서,
    상기 명령어는,
    접속을 생성하기 위해 기타 소프트웨어 컴포넌트들로 접속가능한 소프트웨어 컴포넌트- 상기 접속은 입력들과 출력들간의 루트들을 표시함 -;
    모드를 설정하는 컴포넌트;
    입력상에서 데이터를 수신하는 컴포넌트;
    상기 설정된 모드에 기초하여 상기 수신된 데이터를 처리하는 컴포넌트; 및
    상기 데이터가 수신된 상기 입력에 대해 표시된 출력으로 상기 처리된 데이터를 전달하는 컴포넌트
    를 포함하는 매체.
  2. 제1항에 있어서, 상기 모드가 혼합기(mixer)로 설정되는 경우, 상기 처리는 상기 표시된 출력으로 전달하기 위해 다수의 입력들을 혼합하는 것을 포함하는 매체.
  3. 제2항에 있어서, 상기 출력에 대해 다수의 입력들이 표시되는 매체.
  4. 제2항에 있어서, 상기 수신된 데이터는 오디오이고, 상기 혼합은 오디오 정보를 결합하는 것을 포함하는 매체.
  5. 제4항에 있어서, 상기 결합은 상기 데이터가 생성되었을 때의 시간 표시를 분석하는 단계를 포함하는 매체.
  6. 제2항에 있어서, 상기 수신된 데이터는 비디오이고, 상기 혼합은 비디오 정보를 결합하는 것을 포함하는 매체.
  7. 제6항에 있어서, 상기 결합은 하나의 입력에서 데이터로서 수신된 비디오 정보를 또 다른 입력에서 데이터로서 수신된 비디오 정보 내에 나타난 윈도우 내부에 두는 것을 포함하는 매체.
  8. 제6항에 있어서, 상기 결합은 하나의 입력에서 데이터로서 수신된 비디오 정보를 또 다른 입력에서 데이터로서 수신된 비디오 정보에 인접하게 두는 것을 포함하는 매체.
  9. 제1항에 있어서, 상기 모드가 반사기(reflector)로 설정되는 경우, 상기 처리는 상기 수신된 데이터를 상기 표시된 출력으로 전달하는 것을 포함하는 매체.
  10. 제1항에 있어서, 상기 모드가 선택기(selector)로 설정되는 경우, 상기 처리는 한 입력상에 수신된 데이터를 전달하고 기타 입력들상에 수신된 데이터는 무시하는 것을 포함하는 매체.
  11. 실시간 멀티미디어 정보를 라우팅하는 컴퓨터 시스템에 의해 수행되는 방법에 있어서, 상기 컴퓨터 시스템은 소프트웨어 컴포넌트들에 접속가능하고 소프트웨어로 구현되는 커넥터를 포함하며,
    상기 방법은,
    입력 및 출력을 지정하는 라우팅 정보를 수신하는 단계;
    모드의 표시를 수신하는 단계;
    상기 라우팅 정보 및 상기 모드에 기초하여 상기 커넥터를 구성하는 단계; 및
    상기 구성에 기초하여 상기 커넥터의 입력상에서 수신된 데이터를 상기 커넥터의 출력으로 전달하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서, 상기 표시된 모드에 기초하여 상기 수신된 데이터를 처리하는 단계를 포함하는 방법.
  13. 제12항에 있어서, 상기 모드가 혼합기일 경우, 상기 처리는 상기 수신된 데 이터를 혼합하는 단계를 포함하는 방법.
  14. 제13항에 있어서, 오디오 정보를 혼합하는 단계를 포함하는 방법.
  15. 제14항에 있어서, 동시에 말하는 다수의 참가자의 오디오 정보를 포함하는 데이터가 수신된 경우, 화자의 컴퓨팅 장치로 전달되는 데이터는 상기 화자를 제외한 모든 참가자들의 오디오 정보를 포함하는 방법.
  16. 제14항에 있어서, 동시에 말하는 다수의 참가자의 오디오 정보를 포함하는 데이터가 수신된 경우, 한 참가자의 컴퓨팅 장치로 전달되는 데이터는 모든 화자들의 오디오 정보를 포함하는 방법.
  17. 제16항에 있어서, 상기 참석자는 말하고 있지 않은 방법.
  18. 제13항에 있어서, 비디오 정보를 혼합하는 단계를 포함하는 방법.
  19. 제18항에 있어서, 화자의 컴퓨팅 장치로 전달되는 비디오 정보는 이전 화자의 컴퓨팅 장치로부터 수신된 비디오 정보를 포함하는 방법.
  20. 제11항에 있어서, 상기 모드는 표시되지 않는 방법.
  21. 제11항에 있어서, 역할 표시를 수신하는 단계를 포함하는 방법.
  22. 제21항에 있어서, 디폴트 라우팅 정보는 상기 표시된 역할에 기초하여 구성되는 방법.
  23. 제11항에 있어서, 침묵(silence)을 포함하는 데이터는 전달되지 않는 방법.
  24. 실시간 멀티미디어 정보를 라우팅하는 시스템에 있어서, 상기 시스템은 소프트웨어 컴포넌트들로 접속가능하고 소프트웨어로 구현되는 커넥터를 포함하며,
    입력 및 출력을 지정하는 라우팅 정보를 수신하는 컴포넌트;
    모드의 표시를 수신하는 컴포넌트;
    상기 라우팅 정보 및 상기 모드에 기초하여 상기 커넥터를 구성하는 컴포넌트; 및
    상기 구성에 기초하여 상기 커넥터의 입력상에서 수신된 데이터를 상기 커넥터의 출력으로 전달하는 컴포넌트
    를 포함하는 시스템.
  25. 제24항에 있어서, 비디오 커넥터 및 오디오 커넥터를 포함하는 시스템.
  26. 제25항에 있어서, 상기 비디오 커넥터 및 오디오 커넥터에 대해 다른 모드 표시가 수신되는 시스템.
  27. 제26항에 있어서, 상기 오디오 커넥터에 대해 표시된 상기 모드는 혼합기이며 상기 비디오 커넥터에 대해 표시된 상기 모드는 선택기인 시스템.
  28. 제27항에 있어서, 참가자들의 오디오 정보를 혼합하는 단계를 포함하는 시스템.
  29. 제28항에 있어서, 화자의 컴퓨팅 장치로 전달되는 오디오 정보를 포함하는 데이터는 상기 화자를 제외한 모든 참가자들의 오디오 정보를 포함하는 데이터를 포함하는 시스템.
  30. 제27항에 있어서, 상기 화자를 제외한 모든 참가자들에 대해 상기 화자의 비디오 정보를 선택하고 전달하는 단계를 포함하는 시스템.
  31. 제30항에 있어서, 최종 화자의 비디오 정보가 상기 화자에게 전달되기 위해 선택되는 시스템.
  32. 제24항에 있어서, 데이터를 수신하고 전달하기 위해 TCP/IP 프로토콜이 채용 되는 시스템.
  33. 제24항에 있어서, 데이터를 수신하고 전달하기 위해 사용자 데이터그램 프로토콜(user datagram protocol)이 채용되는 시스템.
KR1020050041010A 2004-05-27 2005-05-17 실시간 멀티미디어 정보를 효율적으로 라우팅하는 방법 및시스템 KR101149987B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/856,262 2004-05-27
US10/856,262 US8296366B2 (en) 2004-05-27 2004-05-27 Efficient routing of real-time multimedia information

Publications (2)

Publication Number Publication Date
KR20060046064A true KR20060046064A (ko) 2006-05-17
KR101149987B1 KR101149987B1 (ko) 2012-06-01

Family

ID=34939778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050041010A KR101149987B1 (ko) 2004-05-27 2005-05-17 실시간 멀티미디어 정보를 효율적으로 라우팅하는 방법 및시스템

Country Status (5)

Country Link
US (1) US8296366B2 (ko)
EP (1) EP1601160A3 (ko)
JP (1) JP4738058B2 (ko)
KR (1) KR101149987B1 (ko)
CN (1) CN1703021B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257641B1 (en) * 2000-03-30 2007-08-14 Microsoft Corporation Multipoint processing unit
US8296366B2 (en) 2004-05-27 2012-10-23 Microsoft Corporation Efficient routing of real-time multimedia information
US7986954B1 (en) 2004-06-25 2011-07-26 Nortel Networks Limited Wireless communication network having a broadcast system for information distribution
US20080301561A1 (en) * 2005-08-30 2008-12-04 David Bain Apparatus and method for automation of multimedia-enabled correspondence management systems (MCMS)
CN101179480B (zh) * 2006-11-07 2010-05-12 中兴通讯股份有限公司 一种转发流媒体的方法
AU2008202703B2 (en) * 2007-06-20 2012-03-08 Mcomms Design Pty Ltd Apparatus and method for providing multimedia content
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US9178916B2 (en) 2007-06-28 2015-11-03 Voxer Ip Llc Real-time messaging method and apparatus
US20110019662A1 (en) 2007-06-28 2011-01-27 Rebelvox Llc Method for downloading and using a communication application through a web browser
US11095583B2 (en) 2007-06-28 2021-08-17 Voxer Ip Llc Real-time messaging method and apparatus
US20090251441A1 (en) * 2008-04-03 2009-10-08 Livescribe, Inc. Multi-Modal Controller
US10142124B2 (en) * 2012-05-24 2018-11-27 Infineon Technologies Ag System and method to transmit data over a bus system
EP3029569A1 (en) 2014-11-07 2016-06-08 AstraZeneca UK Limited Systems for allowing annotation in real time
CN109845230B (zh) * 2016-10-10 2021-12-21 Gn 奥迪欧有限公司 实时通信系统
US11968268B2 (en) 2019-07-30 2024-04-23 Dolby Laboratories Licensing Corporation Coordination of audio devices

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003532A (en) * 1989-06-02 1991-03-26 Fujitsu Limited Multi-point conference system
US5206721A (en) * 1990-03-08 1993-04-27 Fujitsu Limited Television conference system
US5999173A (en) * 1992-04-03 1999-12-07 Adobe Systems Incorporated Method and apparatus for video editing with video clip representations displayed along a time line
JPH0654322A (ja) 1992-07-28 1994-02-25 Fujitsu Ltd 多地点制御装置を用いたtv会議の画像データ適応制御方式
US6675386B1 (en) 1996-09-04 2004-01-06 Discovery Communications, Inc. Apparatus for video access and control over computer network, including image correction
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US6519540B1 (en) * 1994-10-04 2003-02-11 Iris Technologies, Inc. Signal router with cross-point view graphical interface
KR0138862B1 (ko) 1994-12-14 1998-05-15 양승택 다자간 음성 및 영상회의를 위한 선택적 음성 합성모듈의 구현장치
DE69623712T2 (de) * 1995-04-08 2003-05-28 Sony Corp Schnittsystem
GB2301747A (en) * 1995-06-02 1996-12-11 Dsc Communications Remotely programmable subscriber terminal in a wireless telecommunications system
US5760767A (en) * 1995-10-26 1998-06-02 Sony Corporation Method and apparatus for displaying in and out points during video editing
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5867653A (en) * 1996-04-18 1999-02-02 International Business Machines Corporation Method and apparatus for multi-cast based video conferencing
US5781188A (en) * 1996-06-27 1998-07-14 Softimage Indicating activeness of clips and applying effects to clips and tracks in a timeline of a multimedia work
US5886734A (en) * 1997-01-28 1999-03-23 Videoserver, Inc. Apparatus and method for storage and playback of video images and audio messages in multipoint videoconferencing
US5930797A (en) * 1997-04-15 1999-07-27 Avid Technology, Inc. Method and system for representing hierarchical time-based data structures and to extract information therefrom
US6400378B1 (en) * 1997-09-26 2002-06-04 Sony Corporation Home movie maker
US5999966A (en) * 1997-10-07 1999-12-07 Mcdougall; Floyd Control network-directed video conferencing switching system and method
JPH11175761A (ja) * 1997-12-05 1999-07-02 Sony Corp 情報処理装置および方法、並びに提供媒体
DE69913592T2 (de) * 1998-03-31 2004-06-24 Fuji Photo Film Co. Ltd. Bildaufzeichnungsgerät
US6038425A (en) * 1998-08-03 2000-03-14 Jeffrey; Ross A. Audio/video signal redistribution system
JP4207099B2 (ja) * 1998-09-29 2009-01-14 ソニー株式会社 画像編集装置及びその方法
US6600725B1 (en) * 1998-12-16 2003-07-29 At&T Corp. Apparatus and method for providing multimedia conferencing services with selective information services
US6571255B1 (en) * 1999-04-16 2003-05-27 Robert Gonsalves Modification of media with common attributes on a digital nonlinear editing system
US6650745B1 (en) * 1999-06-10 2003-11-18 Avaya Technologies Corp. Method and apparatus for dynamically exchanging data among participants to a conference call
US6657975B1 (en) * 1999-10-25 2003-12-02 Voyant Technologies, Inc. Large-scale, fault-tolerant audio conferencing over a hybrid network
US6657983B1 (en) * 1999-10-29 2003-12-02 Nortel Networks Limited Scheduling of upstream traffic in a TDMA wireless communications system
US6594773B1 (en) * 1999-11-12 2003-07-15 Microsoft Corporation Adaptive control of streaming data in a graph
US6891798B1 (en) * 2000-02-02 2005-05-10 Cisco Technology, Inc. Estimating equivalent bandwidth capacity for a network transport device using on-line measurements
US6606112B1 (en) * 2000-03-16 2003-08-12 Tandberg Telecom As Composite-video generation from different-rate constituents
US7257641B1 (en) * 2000-03-30 2007-08-14 Microsoft Corporation Multipoint processing unit
US7032005B2 (en) * 2000-04-14 2006-04-18 Slam Dunk Networks, Inc. System for handling information and information transfers in a computer network
US6501739B1 (en) * 2000-05-25 2002-12-31 Remoteability, Inc. Participant-controlled conference calling system
US7007098B1 (en) * 2000-08-17 2006-02-28 Nortel Networks Limited Methods of controlling video signals in a video conference
US8977683B2 (en) * 2000-12-26 2015-03-10 Polycom, Inc. Speakerphone transmitting password information to a remote device
US7864938B2 (en) * 2000-12-26 2011-01-04 Polycom, Inc. Speakerphone transmitting URL information to a remote device
US7032020B2 (en) * 2001-03-30 2006-04-18 Intel Corporation System and method for determining segment and link bandwidth capacities
US8976712B2 (en) * 2001-05-10 2015-03-10 Polycom, Inc. Speakerphone and conference bridge which request and perform polling operations
US8934382B2 (en) * 2001-05-10 2015-01-13 Polycom, Inc. Conference endpoint controlling functions of a remote device
US7161939B2 (en) * 2001-06-29 2007-01-09 Ip Unity Method and system for switching among independent packetized audio streams
CN1422078A (zh) * 2001-11-22 2003-06-04 丽台科技股份有限公司 视频会议系统
US8885523B2 (en) * 2001-12-31 2014-11-11 Polycom, Inc. Speakerphone transmitting control information embedded in audio information through a conference bridge
US7742588B2 (en) * 2001-12-31 2010-06-22 Polycom, Inc. Speakerphone establishing and using a second connection of graphics information
US8223942B2 (en) * 2001-12-31 2012-07-17 Polycom, Inc. Conference endpoint requesting and receiving billing information from a conference bridge
US7787605B2 (en) * 2001-12-31 2010-08-31 Polycom, Inc. Conference bridge which decodes and responds to control information embedded in audio information
US8102984B2 (en) * 2001-12-31 2012-01-24 Polycom Inc. Speakerphone and conference bridge which receive and provide participant monitoring information
US8144854B2 (en) * 2001-12-31 2012-03-27 Polycom Inc. Conference bridge which detects control information embedded in audio information to prioritize operations
US20050213726A1 (en) * 2001-12-31 2005-09-29 Polycom, Inc. Conference bridge which transfers control information embedded in audio information between endpoints
US7404001B2 (en) * 2002-03-27 2008-07-22 Ericsson Ab Videophone and method for a video call
US7362349B2 (en) * 2002-07-10 2008-04-22 Seiko Epson Corporation Multi-participant conference system with controllable content delivery using a client monitor back-channel
US7310355B1 (en) * 2002-08-23 2007-12-18 Digeo, Inc. Apparatus and method for powering a network device
US7533403B1 (en) * 2002-08-23 2009-05-12 Vulcan Ventures, Inc. Apparatus and method for distributing audio and video content using existing network wiring
FI114245B (fi) * 2002-11-13 2004-09-15 Nokia Corp Synkronointi-istunnon järjestäminen
JP2004336258A (ja) * 2003-05-02 2004-11-25 Sony Corp データ処理装置およびその方法
US20050062843A1 (en) * 2003-09-22 2005-03-24 Bowers Richard D. Client-side audio mixing for conferencing
US7558221B2 (en) * 2004-02-13 2009-07-07 Seiko Epson Corporation Method and system for recording videoconference data
US8296366B2 (en) 2004-05-27 2012-10-23 Microsoft Corporation Efficient routing of real-time multimedia information
US7554998B2 (en) * 2005-01-11 2009-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Interference-based routing in a wireless mesh network

Also Published As

Publication number Publication date
US20050278763A1 (en) 2005-12-15
CN1703021B (zh) 2011-01-26
CN1703021A (zh) 2005-11-30
KR101149987B1 (ko) 2012-06-01
JP4738058B2 (ja) 2011-08-03
US8296366B2 (en) 2012-10-23
JP2006018809A (ja) 2006-01-19
EP1601160A3 (en) 2007-10-10
EP1601160A2 (en) 2005-11-30

Similar Documents

Publication Publication Date Title
KR101149987B1 (ko) 실시간 멀티미디어 정보를 효율적으로 라우팅하는 방법 및시스템
US7477282B2 (en) System and method for performing distributed video conferencing
US8659636B2 (en) System and method for performing distributed video conferencing
US8319816B1 (en) Methods, systems and program products for efficient communication of data between conference servers
US8081205B2 (en) Dynamically switched and static multiple video streams for a multimedia conference
US8149261B2 (en) Integration of audio conference bridge with video multipoint control unit
US20070133436A1 (en) Audio bridge for network conferencing
US20070041366A1 (en) Distributed conference bridge
US7801134B2 (en) VoIP system, VoIP server and client, and multicast packet communication method
US9210200B1 (en) Methods, systems and program products for connecting users to operating nodes
US20090019112A1 (en) Audio and video conferencing using multicasting
JP2009541901A (ja) ドキュメントを共有するためのオンライン会議システム
US8385234B2 (en) Media stream setup in a group communication system
KR20080065236A (ko) 멀티미디어 회의 방법 및 신호
KR20050039596A (ko) 확장형 실시간 공동작업 시스템을 위한 구조
WO2011149359A1 (en) System and method for scalable media switching conferencing
US20050122389A1 (en) Multi-conference stream mixing
Kausar et al. General conference control protocol
JP2006238258A (ja) 多地点会議システム及び多地点会議方法
Dutta et al. A group synchronization algorithm for VoIP conferencing
Karsten et al. MBone: The Multicasting Backbone
HUSMAN Monitoring and Debugging of Collaborative Simulation Environment

Legal Events

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

Payment date: 20160419

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 8