KR100960772B1 - 메시징 시스템을 갖는 비디오 컨퍼런스 애플리케이션사용자 인터페이스 - Google Patents
메시징 시스템을 갖는 비디오 컨퍼런스 애플리케이션사용자 인터페이스 Download PDFInfo
- Publication number
- KR100960772B1 KR100960772B1 KR1020047009109A KR20047009109A KR100960772B1 KR 100960772 B1 KR100960772 B1 KR 100960772B1 KR 1020047009109 A KR1020047009109 A KR 1020047009109A KR 20047009109 A KR20047009109 A KR 20047009109A KR 100960772 B1 KR100960772 B1 KR 100960772B1
- Authority
- KR
- South Korea
- Prior art keywords
- video conference
- video
- client
- server
- participant
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1093—In-session procedures by adding participants; by removing participants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
- H04L65/4038—Arrangements for multi-party communication, e.g. for conferences with floor control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/56—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
- H04M3/567—Multimedia conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
Abstract
원거리 통신망(WAN)에 걸쳐 있는 비디오 컨퍼런스 시스템의 재생 제어 시스템이 제공된다. 이 재생 제어 시스템은 서로 다른 해상도 및 프레임 레이트를 허용하는 다수의 디스플레이 윈도우를 갖는 사용자 인터페이스와, 개별적인 디스플레이 요구 사항에 따라 정책 및 QoS 관리자(210)와 함께 디스플레이 및 전송 특성을 관리하는 메시징 시스템을 포함한다.
비디오 컨퍼런스, 메시징 시스템, 사용자 인터페이스,
Description
관련 출원의 상호 참조
본 출원은 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "VIDEOCONFERENCE APPLICATION USER INTERFACE"(비디오 컨퍼런스 애플리케이션 사용자 인터페이스)인 미국 가특허출원 제60/341,801호(대리인 문서 번호 PU010311)을 우선권으로서 주장한 출원이다. 본 출원은 또한 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "VIDEO CONFERENCING BANDWIDTH SELECTION MECHANISM"(비디오 컨퍼런싱 대역폭 선택 메카니즘)인 공동 양도된 미국 가특허출원 제60/341,720호와, 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "QUALITY OF SERVICE SETUP ON A TIME RESERVATION BASIS"(시간 예약 기반의 서비스 품질 설정)인 공동 양도된 미국 가특허출원 제60/341,671호와, 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "VIDEO CONFERENCING CALL SETUP METHOD"(비디오 컨퍼런싱 호 설정 방법)인 공동 양도된 미국 가특허출원 제60/341,797호와, 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "VIDEOCONFERENCE SESSION SWITCHING FROM UNICAST TO MULTICAST"(유니캐스트에서 멀티캐스트로의 비디오 컨퍼런스 세션 전환)인 공동 양도된 미국 가특허출원 제60/341,800호와, 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "METHOD AND SYSTEM FOR PROVIDING A PRIVATE CONVERSATION CHANNEL IN A VIDEOCONFERENCING SYSTEM"(비디오 컨퍼런싱 시스템에서 사적인 대화 채널을 제공하는 방법 및 시스템)인 공동 양도된 미국 가특허출원 제60/341,799호와, 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2001년 12월 15일자로 출원된 발명의 명칭이 "SERVER INVOKED TIME SCHEDULED VIDEO CONFERENCE"(서버 기동형 시간 예정된 비디오 컨퍼런스)인 공동 양도된 미국 가특허출원 제60/341,819호와, 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함되는 것으로서 2002년 3월 20일자로 출원된 발명의 명칭이 "VIDEOCONFERENCE SYSTEM ARCHITECTURE"(비디오 컨퍼런스 시스템 아키텍처)인 미국 가특허출원 제60/366,331호에도 관련되어 있다.
본 발명은 일반적으로 비디오 컨퍼런싱(videoconferencing)에 관한 것으로서, 보다 상세하게는 비디오 컨퍼런싱 애플리케이션 사용자 인터페이스 및 이 사용자 인터페이스 상에 디스플레이되는 비디오 데이터의 파라미터들을 제어하는 메시징 시스템에 관한 것이다.
비디오 컨퍼런싱에서는 컴퓨터 네트워크 상의 서로 다른 장소에 있는 몇명의 사용자들 사이에서의 생생한 양방향 대화형 비디오(live, two-way interactive video)의 전송을 필요로 한다. 실시간 대화형 비디오는 대량의 정보를 제약된 지연으로 전송하는 것을 요구한다. 비디오 컨퍼런싱의 한가지 단점은 실시간 비디오의 전송이 대역을 아주 많이 소모하고 또 어떤 상황에서는 가용 네트워크 자원을 쉽게 고갈시킬 수 있다는 것이다. 네트워크를 통해 전송되는 실시간 비디오의 비트 레이트는 주로 사용되는 비디오 해상도와 압축 알고리즘에 달려 있다. 기업 환경에서, 네트워크는 일반적으로 하나 이상의 WAN(Wide Area Network, 원거리 통신망)에 의해 연결되어 있는 다수의 LAN(Local Area Network, 근거리 통신망)을 포함한다. 일반적인 비디오 컨퍼런스 시스템의 제한 요인은 지리적 장소들 사이의 장거리 링크(long haul link)(예를 들면, WAN)이다.
따라서, 종래 기술의 단점들을 극복하는 비디오 컨퍼런스 애플리케이션 사용자 인터페이스를 갖는다면 바람직하면서도 아주 유리할 것이다.
종래 기술의 전술한 문제점들은 물론 기타 관련 문제점들도 본 발명, 즉 비디오 컨퍼런스 애플리케이션 사용자 인터페이스 및 이 사용자 인터페이스 상에 디스플레이되는 비디오 데이터의 파라미터들을 제어하는 메시징 시스템에 의해 해결된다.
본 발명의 한 측면에 따르면, 네트워크에 걸쳐 있는 비디오 컨퍼런스 시스템의 재생 제어 시스템이 제공된다. 이 재생 제어 시스템은 서로 다른 해상도 및 프레임 레이트를 허용하는 다수의 디스플레이 윈도우를 갖는 사용자 인터페이스 및 개별적인 디스플레이 요구 사항에 따라 디스플레이 및 전송 특성을 관리하는 메시징 시스템을 포함한다.
본 발명의 또다른 측면에 따르면, 비디오 컨퍼런싱 시스템의 사용자 인터페이스가 제공된다. 이 사용자 인터페이스는 동시에 디스플레이될 수 있고 또 서로 다른 해상도 및 프레임 레이트를 허용하는 다수의 디스플레이 윈도우를 갖는 비디오 재생 장치를 포함한다.
본 발명의 또다른 측면에 따르면, 네트워크에 걸쳐 있는 비디오 컨퍼런스 시스템의 서버가 제공된다. 이 서버는 개별적인 디스플레이 요구 사항에 따라 디스플레이 및 전송 특성을 관리하는 메시징 시스템을 포함한다.
본 발명의 또다른 측면에 따르면, 비디오 컨퍼런스 세션에 대응하는 콘텐츠를 디스플레이하는 방법이 제공된다. 이 방법은 동시에 디스플레이될 수 있고 또 서로 다른 해상도 및 프레임 레이트를 허용하는 다수의 디스플레이 윈도우를 제공하는 단계를 포함한다.
본 발명의 이들 측면, 특징 및 이점, 그리고 다른 측면, 특징 및 이점은 첨부 도면과 연계하여 기술되어 있는 양호한 실시예들에 대한 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1a는 본 발명의 예시적인 실시예에 따른, 본 발명이 적용될 수 있는 컴퓨터 시스템(100)을 나타낸 블록도.
도 1b는 본 발명의 예시적인 실시예에 따른, 유니캐스트 비디오 컨퍼런스 세 션을 나타낸 블록도.
도 1c는 본 발명의 예시적인 실시예에 따른, 멀티캐스트 비디오 컨퍼런스 세션을 나타낸 블록도.
도 2는 본 발명의 예시적인 실시예에 따른, 본 발명이 적용될 수 있는 네트워크(200)를 나타낸 블록도.
도 3은 본 발명의 예시적인 실시예에 따른, 도 2의 비디오 컨퍼런스 서버(205)를 나타낸 블록도.
도 4는 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티에 포함된 멤버 데이터베이스(314)의 멤버 데이터베이스 엔트리(400)를 나타낸 도면.
도 5는 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 활성 세션 데이터베이스(312)의 활성 세션 엔트리(500)를 나타낸 블록도.
도 6은 본 발명의 예시적인 실시예에 따른, SNMP(Simple Network Management Protocol, 간이 망 관리 프로토콜) 클라이언트-서버 아키텍처(600)를 나타낸 블록도.
도 7은 본 발명의 예시적인 실시예에 따른, SIP(Session Initiation Protocol, 접속 설정 프로토콜)를 사용하여 비디오 컨퍼런스 세션에 등록하는 방법을 나타낸 도면.
도 8a는 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 유니캐스트 비디오 컨퍼런스 세션을 설정하는 방법을 나타낸 도면.
도 8b는 본 발명의 예시적인 실시예에 따른, INVITE 요청이 클라이언트 #1(802)로부터 수신될 때(도 8a의 단계 810) 도 2의 비디오 컨퍼런스 서버(205)에 의해 수행되는 단계들을 나타낸 도면.
도 9는 본 발명의 예시적인 실시예에 따른, 도 8a의 방법을 더 구체적으로 나타낸 도면.
도 10은 본 발명의 또다른 예시적인 실시예에 따른, SIP를 사용하여 멀티캐스트 비디오 컨퍼런스 세션을 설정하는 방법을 나타낸 도면.
도 11은 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 비디오 컨퍼런스 세션을 취소(cancel)하는 방법을 나타낸 도면.
도 12는 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 2개의 클라이언트 사이의 비디오 컨퍼런스 세션을 종료(terminate)시키는 방법을 나타낸 도면.
도 13은 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 3개의 클라이언트 사이의 비디오 컨퍼런스 세션을 종료시키는 방법을 나타낸 도면.
도 14는 본 발명의 또다른 예시적인 실시예에 따른, SIP를 사용하여 3개의 클라이언트 사이의 비디오 컨퍼런스 세션을 종료시키는 방법을 나타낸 도면.
도 15는 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정을 위한 시그널링 방법을 나타낸 도면.
도 16은 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정(클라이언트 2와 클라이언트 3) 이전의 시그널링을 나타낸 도면.
도 17은 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정( 클라이언트 2와 클라이언트 3) 이후의 시그널링을 나타낸 도면.
도 18a는 본 발명의 예시적인 실시예에 따른, 비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 블록도.
도 18b는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스 계층(1802)에 포함되는 오디오 믹서(1899)를 더 구체적으로 나타낸 블록도.
도 18c는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스 계층(1802)에 포함되는 에코 소거 모듈(1898)을 더 구체적으로 나타낸 블록도.
도 19는 본 발명의 예시적인 실시예에 따른, 오디오 코덱(1804a) 또는 비디오 코덱(1804b) 중 어느 하나 및 그 양쪽 모두에 포함되어 있는 디코더(1890)에 의해 사용되는 방법을 나타낸 도면.
도 20은 본 발명의 예시적인 실시예에 따른 사용자 평면 프로토콜 스택(user plane protocol stack)(2000)을 나타낸 도면.
도 21은 본 발명의 예시적인 실시예에 따른 제어 평면 프로토콜 스택(control plane protocol stack)(2100)을 나타낸 도면.
도 22는 본 발명의 예시적인 실시예에 따른, 도 18a의 사용자 인터페이스(1808)에 대응하는 스크린 샷(2200)을 나타낸 블록도.
도 23은 본 발명의 예시적인 실시예에 따른 로그인 인터페이스(2300)을 나타낸 도면.
도 24는 본 발명의 예시적인 실시예에 따른, 접속 설정(session initiation)을 위한 사용자 선택 인터페이스(2400)를 나타낸 블록도.
도 25는 본 발명의 예시적인 실시예에 따른, 착신 호(incoming call)를 수락(accept) 또는 거부(reject)하는 초청 인터페이스(invitation interface)(2500)를 나타낸 블록도.
도 26은 본 발명의 예시적인 실시예에 따른 사용자 인터페이스(2600)를 나타낸 블록도.
도 27은 본 발명의 또다른 예시적인 실시예에 따른 사용자 인터페이스(2700)를 나타낸 블록도.
본 발명은 비디오 컨퍼런스 애플리케이션 사용자 인터페이스 및 이 사용자 인터페이스 상에 디스플레이되는 비디오 데이터의 파라미터들을 제어하는 메시징 시스템에 관한 것이다.
본 발명이 여러가지 형태의 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서, 또는 이들의 조합으로 구현될 수 있음을 잘 알 것이다. 양호하게는, 본 발명은 하드웨어와 소프트웨어의 조합으로서 구현된다. 게다가, 이 소프트웨어는 양호하게는 프로그램 저장 매체 상에 유형으로 구현되는 애플리케이션 프로그램으로서 구현된다. 이 애플리케이션 프로그램은 임의의 적합한 아키텍처를 포함하는 머신에 업로드(upload)되어 그에 의해 실행될 수 있다. 양호하게는, 이 머신은 하나 이상의 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM), 및 입/출력(I/O) 인터페이스(들) 등의 하드웨어를 갖는 컴퓨터 플랫폼 상에 구현된다. 이 컴퓨터 플랫폼은 또한 오퍼레이팅 시스템 및 마이크로명령어 코드를 포함한다. 본 명세서에 기술되 는 여러가지 프로세스들 및 기능들은 오퍼레이팅 시스템을 통해 실행되는 마이크로명령어 코드의 일부나 애플리케이션 프로그램의 일부(또는 이들의 조합) 중 어느 하나일 수 있다. 게다가, 부가의 데이터 저장 장치 및 인쇄 장치 등의 여러가지 다른 주변 장치들이 컴퓨터 플랫폼에 연결될 수 있다.
또한 첨부 도면에 도시된 시스템 구성 컴포넌트들 및 방법 단계들의 일부가 양호하게는 소프트웨어로 구현되기 때문에, 시스템 컴포넌트들(또는 프로세스 단계들) 사이의 실제 연결은 본 발명이 프로그램되는 방식에 따라 달라질 수 있음을 잘 알 것이다. 본 명세서의 개시 내용이 주어지면, 당업자라면 본 발명의 이들 구현 또는 구성 및 이와 유사한 구현 또는 구성을 안출할 수 있을 것이다.
도 1a는 본 발명의 예시적인 실시예에 따른, 본 발명이 적용될 수 있는 컴퓨터 시스템(100)을 나타낸 블록도이다. 컴퓨터 프로세싱 시스템(100)은 시스템 버스(104)를 통해 다른 컴포넌트들에 연결되어 동작하는 적어도 하나의 프로세서(CPU)(102)를 포함한다. 판독 전용 메모리(ROM)(106), 랜덤 액세스 메모리(RAM)(108), 디스플레이 어댑터(110), I/O 어댑터(112), 사용자 인터페이스 어댑터(114), 사운드 어댑터(199), 및 네트워크 어댑터(198)는 시스템 버스(104)에 연결되어 동작한다.
디스플레이 장치(116)는 디스플레이 어댑터(110)에 의해 시스템 버스(104)에 연결되어 동작한다. 디스크 저장 장치(예를 들어, 자기 또는 광학 디스크 저장 장치)(118)는 I/O 어댑터(112)에 의해 시스템 버스(104)에 연결되어 동작한다.
마우스(120) 및 키보드(122)는 사용자 인터페이스 어댑터(114)에 의해 시스 템 버스(104)에 연결되어 동작한다. 마우스(120) 및 키보드(122)는 정보를 시스템(100)에 입력하고 그로부터 출력하는 데 사용된다.
적어도 하나의 스피커(이후부터 "스피커"라고 함)(197)는 사운드 어댑터(199)에 의해 시스템 버스(104)에 연결되어 동작한다.
(디지털 및/또는 아날로그) 모뎀(196)은 네트워크 어댑터(198)에 의해 시스템 버스(104)에 연결되어 동작한다.
이제부터, 본 발명의 예시적인 실시예에 따른 정책 기반 네트워크 관리(policy based network management, PBNM)에 대해 설명한다. PBNM이란 네트워크(본 발명이 적용될 수 있는 네트워크 일례에 대해서는 도 2와 관련하여 이하에서 기술함)를 관리하는 정책을 정의 및 배포하는 기능을 제공하는 기술을 말한다. 이들 정책은 대역폭 및 보안 등의 중요한 네트워크 자원의 통합 제어를 허용한다. PBNM은 네트워크 상에서의 차별화된 대우를 요구하는 IP 기반 비디오 컨퍼런싱 등의 애플리케이션을 가능하게 해준다. PBNM은 서로 다른 유형의 애플리케이션들이 단일 네트워크 상에 공존할 수 있게 해주는 기초를 제공하고 또 이들 애플리케이션 각각에 요구된 자원을 제공한다.
보다 구체적으로 설명하면, PBNM은 네트워크 자원을 소모하는 애플리케이션 및 사용자에 대한 정책을 정의한다. 예를 들어, 업무에 중요한 애플리케이션(business critical application)에는 최고 우선순위와 네트워크 상의 대역폭의 일부가 주어질 수 있고, 비디오 컨퍼런싱 및 VoIP(voice over IP)에는 그 다음 최고 우선순위가 할당될 수 있으며, 마지막으로 엄격한 대역폭 또는 시간 임 계 요건을 갖지 않는 웹 트래픽 및 파일 전송에는 네트워크 상의 나머지 자원이 주어질 수 있다. 사용자 및 애플리케이션에 대한 이러한 차별화는 PBNM을 사용하여 달성될 수 있다.
비디오 컨퍼런스 시스템은 비디오 컨퍼런스 애플리케이션에 대응하는 정책을 얻기 위해 네트워크 정책 서버에 질의함으로써 PBNM 시스템과 결부되어 있다. 비디오 컨퍼런스 서버는 네트워크 정책 서버로부터 정책을 획득하고, 그 수신된 파라미터들에 기초하여 네트워크에서 비디오 컨퍼런싱에 이용가능한 자원을 결정한다. 그 정책은 일반적으로 예를 들어 특정 사용자만이 이용할 수 있거나 또는 하루 중 특정 시간대 동안 이 애플리케이션이 이용할 수 있는 대역폭에 대응하게 된다. 이 구성은 예를 들면 정책들 및/또는 그의 일부를 추가, 삭제, 대체, 수정 등을 함으로써 용이하게 수정된다. 그 결과, 비디오 컨퍼런스 서버는 그 정책 내에 제공되어 있는 정보를 사용하여 네트워크 상에서의 컨퍼런싱 세션들을 관리하게 된다.
도 2는 본 발명의 예시적인 실시예에 따른, 본 발명이 적용될 수 있는 네트워크(200)를 나타낸 블록도이다. 네트워크(200)는 비디오 컨퍼런스 서버(205), 정책 및 QoS 관리자(210), MADCAP 서버(215), 복수의 제1 컴퓨터(220a-f), 제1 근거리 통신망(225), 제1 라우터(240), 복수의 제2 컴퓨터(230a-e), 제2 근거리 통신망(235), 제2 라우터(245), 및 원거리 통신망(250)을 포함한다.
이제부터, 본 발명의 예시적인 실시예에 따른 서버 아키텍처에 대해 설명한다. 도 3은 본 발명의 예시적인 실시예에 따른, 도 2의 비디오 컨퍼런스 서버(205)를 나타낸 블록도이다. 비디오 컨퍼런스 서버(205)는 이하의 3가지 기본 적인 엔티티, 즉 데이터베이스 엔티티(302), 네트워크 통신 엔티티(304), 및 세션 관리 엔티티(306)를 포함하는 것으로 생각될 수 있다.
세션 관리 엔티티(306)는 비디오 컨퍼런스 세션의 설정(setup) 및 해제(teardown)를 관리하는 일을 맡고 있다. 세션 관리 엔티티(306)는 또한 비디오 컨퍼런스 서버(205)의 주요 제어의 대부분을 제공한다. 세션 관리 엔티티(306)는 세션 관리 엔티티(306)의 기능들을 구현하는 세션 관리자(320)를 포함한다.
네트워크 통신 엔티티(304)는 비디오 컨퍼런스 시스템에 사용되는 많은 서로 다른 프로토콜들을 캡슐화하는 일을 맡고 있다. 이 프로토콜들에는 원격 운영 및 관리를 위한 SNMP(Simple Network Management Protocol, 간이 망 관리 프로토콜), COPS(Common Open Policy Service, 공통 개방형 정책 서비스) 또는 정책 관리를 위한 LDAP(Lightweight Directory Access Protocol, 경량 디렉토리 액세스 프로토콜) 등의 다른 프로토콜, 멀티캐스트 주소 할당을 위한 MADCAP(Multicast Address Dynamic Client Allocation Protocol, 멀티캐스트 주소 동적 클라이언트 할당 프로토콜), 비디오 컨퍼런스 세션 관리를 위한 SIP(Session Initiation Protocol, 접속 설정 프로토콜), 및 분산 비디오 컨퍼런싱 서버 관리를 위한 서버 대 서버 메시징(Server to Server messaging)이 포함될 수 있다. 따라서, 네트워크 통신 엔티티(304)는 SNMP 모듈(304a), LDAP 클라이언트 모듈(304b), MADCAP 클라이언트 모듈(304c), SIP 모듈(304d), 및 서버 대 서버 관리 모듈(304e)를 포함한다. 게다가, 이상의 구성 요소들(304a-e)은 각각 이하의 구성 요소들, 즉 원격 관리 단말기(382), 네트워크 정책 서버(대역폭 브로커)(384), MADCAP 서버(215), 데스크 톱 컨퍼런싱 클라이언트(388), 및 기타 비디오 컨퍼런싱 서버(390)와 통신한다. 이러한 통신은 프로토콜 모듈(330)에 의해 총괄하여 표현되어 있는 TCP(Transmission Control Protocol, 전송 제어 프로토콜), UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜), IP(Internet Protocol, 인터넷 프로토콜)를 사용해서도 구현될 수 있다. 이상의 프로토콜 리스트 및 대응하는 구성 요소들은 단지 예시적인 것에 불과하며, 따라서 기타 프로토콜 및 대응하는 구성요소들이 본 발명의 사상 및 범위를 유지하면서 용이하게 사용될 수 있음을 잘 알 것이다.
또한, 비디오 컨퍼런스 서버(205)의 아키텍처는 휴대용 장치 상의 사용자가 비디오 컨퍼런스 세션으로부터의 콘텐츠를 전송 및 수신하기 위해 VPN(Virtual Private Network, 가상 사설망)을 통해 기업 인프라에 접속하는 데에도 적합함을 잘 알 것이다.
데이터베이스 엔티티(302)는 이하의 4가지 데이터베이스, 즉 스케쥴링 데이터베이스(310), 활성 세션 데이터베이스(312), 멤버 데이터베이스(member database)(314), 및 네트워크 아키텍처 데이터베이스(316)를 포함한다.
비디오 컨퍼런스 시스템 서버(205)는 회사 LDAP 서버(사용자 정보)(340) 및 선택적인 외부 데이터베이스(342)를 더 포함하거나 또는 적어도 이들과 인터페이스로 연결되어 있다. 선택적인 외부 데이터베이스(342)는 LDAP 클라이언트(304b)를 포함한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 멤버 데이터베이스(314)에 대해 설명한다. 멤버 데이터베이 스(314)는 비디오 컨퍼런스 시스템에 로그한 각 사용자에 관한 정보를 포함한다. 일례로서, 각각의 사용자에 대해 이하의 정보, 즉 사용자 이름, 패스워드(적용가능한 경우), 지원되는 비디오 코덱 및 캡처 해상도, 지원되는 오디오 코덱, 현재의 IP 주소, 현재의 호 번호(call number)[현재 활성 호(active call)의 멤버인 경우], 가용성(이용가능 여부), 비디오 카메라 유형 및 모델, 네트워크 상의 장소(각 장소는 제한된 대역폭의 원거리 통신망 링크에 의해 연결되어 있음), 및 CPU 유형과 처리 능력이 멤버 데이터베이스(314)에 유지될 수 있다. 이상의 항목들은 단지 예시적인 것에 불과하며, 따라서 각각의 사용자에 대해 이상의 항목들의 일부 또는 그 전부에 부가하여 또는 그를 대신하여 다른 항목들이 또한 본 발명의 사상 및 범위를 유지하면서 멤버 데이터베이스(314)에 유지될 수 있음을 잘 알 것이다.
도 4는 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 멤버 데이터베이스(314)의 멤버 데이터베이스 엔트리(400)를 나타낸 도면이다. 도 4의 예시적인 실시예에서, 멤버 데이터베이스(314)는 간단한 연결 리스트(linked list)를 사용하여 구현된다. 그렇지만, 본 발명의 다른 실시예들에서 멤버 데이터베이스(314)의 여러가지 구현들이 본 발명의 사상 및 범위를 유지하면서 이용될 수 있음을 잘 알 것이다. 일례로서, LDAP 유형의 데이터베이스는 멤버 정보를 저장하는 데 사용될 수 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함되어 있는 활성 세션 데이터베이스(312)에 대해 설명한다. 활성 세션 데이터베이스(312)는 현재 행해지고 있는 각각의 비디오 컨퍼런스 세션에 관한 정보를 포함한다. 일례로서, 각각의 호에 대해 이하의 정보, 즉 호 ID; 설명; 멀티캐스트(예/아니오); 멀티캐스트인 경우 멀티캐스트 IP 주소; 각 참가자에 대한 네트워크 위치, 현재의 전송 해상도, 현재의 전송 비트 레이트, 비디오 및 오디오 코덱; 공개적인/사적인 호(public/private call)(다른 사람이 참여할 수 있는가?); 예정된 세션 시간; 세션의 시작 시간; 및 임의의 추가 옵션이 활성 세션 데이터베이스(312)에 유지될 수 있다. 이상의 항목들이 단지 예시적인 것에 불과하며, 따라서 이상의 항목들의 일부 또는 그 전부에 부가하여 또는 그를 대신하여 다른 항목들도 본 발명의 사상 및 범위를 유지하면서 활성 세션 데이터베이스(312)에 유지될 수 있음을 잘 알 것이다.
도 5는 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 활성 세션 데이터베이스(312) 내의 활성 세션 엔트리(500)를 나타낸 블록도이다. 도 5의 예시적인 실시예에서, 활성 세션 데이터베이스(312)는 간단한 연결 리스트를 사용하여 구현된다. 그렇지만, 본 발명의 다른 실시예들에서 활성 세션 데이터베이스(312)의 여러가지 구현들이 본 발명의 사상 및 범위를 유지하면서 사용될 수 있음을 잘 알 것이다.
다시 도 3을 참조하여, 이제부터 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 네트워크 아키텍처 데이터베이스(316)에 대해 설명할 것이다. 네트워크 아키텍처 데이터베이스(316)는 전체 네트워크에 대한 풀 매핑(full mapping)을 포함한다. 네트워크 아키텍처 데이터베이스(316)는 각각의 활성 네트워크 요소(즉, IP 라우터, 이더넷 스위치 등)에 관한 정보 및 라우터와 스위치를 서로 연결시키는 링크에 관한 정보를 포함한다. 네트워크에서의 대역폭 및 서비스 품질을 효과적으로 관리하기 위해, 비디오 컨퍼런스 서버(205)는 이러한 정보를 알 필요가 있다.
동시에 수행될 수 있도록 허용된 비디오 컨퍼런스 세션의 수, 비디오 컨퍼런스 세션 비트 레이트, 및 대역폭 한계에 관한 정책 정보도 네트워크 아키텍처 데이터베이스(316)에 정의되어 있을 수 있다. 네트워크 아키텍처는 네트워크 아키텍처 데이터베이스(316) 내에 가중 그래프(weighted graph)로서 표현될 수 있다. 네트워크 아키텍처 데이터베이스(316)가 비디오 컨퍼런스 서버(205) 내의 선택적인 데이터베이스임을 잘 알 것이다. 네트워크 아키텍처 데이터베이스(316)는 정책 서버(210)에 요청한 정책을 캐싱하는 데 사용될 수 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함되어 있는 스케쥴링 데이터베이스(310)에 대해 설명할 것이다. 스케쥴링 데이터베이스(310)는 사용자가 비디오 컨퍼런스 시스템을 사용할 시간을 예약하는 예정표(schedule)를 포함하고 있다. 이것은 예를 들어 원거리 통신망(250)을 통해 특정의 링크 상에서 동시에 행해질 수 있는 비디오 컨퍼런스 세션의 수에 관하여 정보 시스템 부문(Information Systems department)이 가지고 있는 정책들에 달려 있다.
이제부터, 도 3의 네트워크 통신 엔티티(304)에 대해 설명할 것이다. 네트워크 통신 엔티티(304)는 SNMP 모듈(304a), LDAP 클라이언트 모듈(304b), MADCAP 클라이언트 모듈(304c), SIP 모듈(304d), 및 서버 대 서버 관리 모듈(304e)을 포함 한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티(304)에 포함되어 있는 SNMP 모듈(304a)에 대해 설명할 것이다. 도 6은 본 발명의 예시적인 실시예에 따른, SNMP(Simple Network Management Protocol, 간이 망 관리 프로토콜) 클라이언트-서버 아키텍처(600)를 나타낸 블록도이다. 아키텍처(600)는 SNMP 모듈(304a)의 한 구현을 나타낸 것이지만, 본 발명은 도 6에 도시된 아키텍처에 한정되지 않으며, 따라서 다른 SNMP 아키텍처들도 본 발명의 사상 및 범위를 유지하면서 이용될 수 있음을 잘 알 것이다. SNMP는 비디오 컨퍼런스 서버의 원격 관리 및 모니터링을 위해 사용되어진다.
SNMP 클라이언트-서버 아키텍처(600)는 SNMP 관리 스테이션(management station)(610) 및 SNMP 피관리 엔티티(managed entity)(620)를 포함한다. SNMP 관리 스테이션(610)은 관리 애플리케이션(610a) 및 SNMP 관리자(610b)를 포함한다. SNMP 피관리 엔티티(620)는 피관리 자원(mangaged resource)(620a), SNMP 피관리 객체(managed object)(620b), 및 SNMP 에이전트(620c)를 포함한다. 게다가, SNMP 관리 스테이션(610) 및 SNMP 피관리 엔티티(620) 각각은 UDP 계층(630), IP 계층(640), MAC(매체 접근 제어) 계층(650), 및 물리 계층(660)을 더 포함한다.
SNMP 에이전트(620c)는 SNMP 관리 스테이션(610)으로부터의 모니터링 및 관리를 가능하게 해준다. SNMP 에이전트(620c)는 SNMP 아키텍처(600)에서의 클라이언트이다. SNMP 에이전트(620c)는 기본적으로 SNMP 관리 스테이션(610)에 대한 정보 및 동작의 요청에 응답하는 역할을 한다. SNMP 관리 스테이션(610)은 SNMP 아 키텍쳐(600)에서의 서버이다. SNMP 관리 스테이션(610)은 네트워크 내의 에이전트들을 관리하는 중심 엔티티(central entity)이다. SNMP 관리 스테이션(610)은 관리자가 SNMP 에이전트(620c)로부터 통계를 수집하고 SNMP 에이전트(620c)의 구성 파라미터들을 변경할 수 있게 해주는 기능을 수행한다.
SNMP 모델을 사용하여, 비디오 컨퍼런스 서버(205) 내의 자원들은 이들 자원을 객체로서 표현함으로써 관리될 수 있다. 각각의 객체는 피관리 에이전트(managed agent)의 한 측면을 표현하는 데이터 변수이다. 이러한 객체들의 집합체는 통상 MIB(Management Information Base, 관리 정보 베이스)라고 불리운다. MIB는 SNMP 관리 스테이션(610)의 SNMP 에이전트(620c)에 있는 액세스 포인트들의 집합체로서 기능한다. SNMP 관리 스테이션(610)은 SNMP 에이전트(620c)에 있는 MIB 객체들의 값을 검색함으로써 모니터링을 수행할 수 있다. SNMP 관리 스테이션(610)은 또한 SNMP 에이전트(620c)에서 동작이 수행되도록 할 수 있거나 SNMP 에이전트(620c)에 있는 구성 설정(configuration setting)을 변경할 수 있다.
SNMP는 IP 계층(640) 상부에서 동작하며 그의 전송 프로토콜을 위해 UDP 계층(630)을 사용한다.
SNMP 관리 프로토콜에서 사용되는 기본적인 메시지로는 다음과 같이 GET, SET, 및 TRAP가 있다. GET 메시지를 사용하여 SNMP 관리 스테이션(610)은 SNMP 에이전트(620c)에 있는 객체들의 값을 검색할 수 있다. SET 메시지를 사용하여 SNMP 관리 스테이션(610)은 SNMP 에이전트(620c)에 있는 객체들의 값을 설정할 수 있다. TRAP 메시지를 사용하여 SNMP 에이전트(620c)는 SNMP 관리 스테이션(610)에 중요한 이벤트를 통지할 수 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, SNMP 피관리 엔티티(620)에 포함되어 있는 SNMP 피관리 자원(620a)에 대해 설명할 것이다. 원격 관리는 비디오 컨퍼런스 서버(205) 내의 이하의 자원, 즉 활성 세션 및 관련 통계, 세션 로그, 비디오 컨퍼런싱에 대한 네트워크 정책, SIP(접속 설정 프로토콜) 파라미터들 및 통계, 그리고 MADCAP 파라미터들 및 통계를 모니터링 및/또는 제어를 할 수 있다.
SNMP 관리 스테이션(610)으로부터, 이하의 3가지 유형의 SNMP 메시지, 즉 GetRequest, GetNextRequest, 및 SetRequest가 관리 애플리케이션을 대신하여 발행된다. 처음 2가지는 Get 함수의 변형이다. 3가지 메시지 모두는 SNMP 에이전트(620c)에 의해, 관리 애플리케이션(610a)에까지 전달되는 GetResponse 메시지의 형태로 긍정 응답(acknowledge)된다. SNMP 에이전트(620c)는 또한 피관리 자원에서 일어난 이벤트에 응답하여 트랩 메시지를 발행할 수도 있다.
다시 도 3을 참조하여, 이제부터 본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티(304)에 포함된 LDAP 클라이언트 모듈(304b)에 대해 설명할 것이다. LDAP 모듈(304b)은 공통 디렉토리 정보(common directory information)에 액세스하기 위한 표준 IP 기반 프로토콜인 LDAP를 이용한다. LDAP는 사용자별 기준을 충족시키는 엔트리를 검색하는 것, 엔트리를 추가하는 것, 엔트리를 삭제하는 것, 엔트리를 수정하는 것, 및 엔트리를 비교하는 것 등의 디렉토리 엔티티에 액세스하여 그를 수정하기 위한 동작들을 정의한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티 에 포함되어 있는 MADCAP 클라이언트 모듈(304c)에 대해 설명할 것이다. MADCAP 모듈(304c)은 호스트가 멀티캐스트 주소 할당 서버에 대해 멀티캐스트 주소 할당 서비스를 요청할 수 있게 해주는 프로토콜인 MADCAP를 이용한다. 비디오 컨퍼런싱 세션이 멀티캐스팅 서비스를 사용하도록 설정되어 있을 때, 비디오 컨퍼런스 서버(205)는 그 세션의 클라이언트들에 할당할 멀티캐스트 주소를 획득할 필요가 있다. 비디오 컨퍼런스 서버(205)는 MADCAP 프로토콜을 사용하여 멀티캐스트 주소 할당 서버로부터 멀티캐스트 주소를 동적으로 획득할 수 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티(304)에 포함되어 있는 SIP 모듈(304d)에 대해 설명한다. SIP 모듈(304d)은 IP 기반 네트워크를 통해 한명 이상의 참가자들과의 멀티미디어 세션을 생성, 수정 및 종료하기 위한 애플리케이션 계층 제어 프로토콜인 SIP를 이용한다. SIP는 텍스트 메시지 기반 프로토콜이다.
SIP 기반 비디오 컨퍼런스 시스템에서, 각각의 클라이언트 및 서버는 SIP URL에 의해 식별된다. SIP URL은 이메일 주소와 동일한 형식인 user@host의 형태를 취하며, 대부분의 경우 SIP URL은 사용자의 이메일 주소이다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티(304)에 포함되어 있는 서버 대 서버 관리 모듈(304e)에 대해 설명할 것이다. 서버 대 서버 관리 모듈(304e)은 비디오 컨퍼런스 서버들 간에 정보를 교환하기 위해 메시지를 이용한다. 서버 대 서버 관리 모듈(304e)은 양호하게는 독자적인 비디오 컨퍼런스 서버[예를 들어, 비디오 컨퍼런스 서버(205)]가 그 자신이 지 원하고 있는 네트워크[예를 들어 LAN(225)]에 로컬적으로 구축되어 있으며 따라서 몇개의 비디오 컨퍼런스 서버가 회사 광역 네트워크[예를 들면, 네트워크(200)]에 존재할 수 있는 것인 전형적인 배치에서 이용된다. 정보를 교환하기 위한 메시지의 주요 목적 중 어떤 것으로는 데이터베이스들을 동기화시키는 것 및 네트워크 자원들의 가용성을 검사하는 것이 있다.
이하의 메시지들이 정의되어 있다. 즉 QUERY - 원격 서버 내의 엔트리를 질의하는 것, ADD - 원격 서버에 엔트리를 추가하는 것, DELETE- 원격 서버로부터 엔트리를 삭제하는 것, 및 UPDATE - 원격 서버 상의 엔트리를 갱신하는 것이 있다.
서버 대 서버 메시징은 각 서버 사이의 TCP 기반 연결을 사용할 수 있다. 한 서버의 상태가 변동하면, 나머지 서버들은 동일한 정보를 사용하여 갱신된다.
이제부터, 본 발명의 예시적인 실시예에 따른, 비디오 컨퍼런스 서버(205)의 동작 시나리오에 대해 설명한다. 먼저, 비디오 컨퍼런스 세션의 설정에 대응하는 동작 시나리오에 대해 설명하고, 이어서 비디오 컨퍼런스 세션 동안의 해상도 및 프레임 레이트 조정에 대응하는 동작 시나리오에 대해 설명한다. 세션 동작 시나리오는 SIP 서버 발견(server discovery), 멤버 등록(member registration), 세션 설정(session setup), 세션 취소(session cancel), 및 세션 종료(session terminate)를 포함한다.
이제부터, 본 발명의 예시적인 실시예에 따른, SIP 서버 발견에 대응하는 세션 동작 시나리오에 대해 설명한다. 사용자(비디오 컨퍼런스 클라이언트 애플리케이션)는 사전 구성된 비디오 컨퍼런스 서버(수동으로 프로비저닝됨)에 등록하거나 시동 시에 REGISTER 요청을 알고 있는 "모든 SIP 서버" 멀티캐스트 주소 "sip.mcast.net"(224.0.1.75)로 전송함으로써 등록할 수 있다. 두번째 메카니즘(REGISTER 요청)이 양호한데 왜냐하면 각 사용자가 그의 비디오 컨퍼런스 클라이언트 애플리케이션에서 로컬 SIP 서버의 주소를 수동으로 설정할 필요가 없기 때문이다. 이 경우, 멀티캐스트 주소는 사용자가 비디오 컨퍼런스의 정확한 SIP 서버에 등록하고 있도록 하기 위해 네트워크에서 그 범위가 정확하게 지정될 필요가 있다. 이전의 방법들 이외에, 프로비저닝 프로세스(provisioning process)를 보다 간단하게 만드는 다른 방법에서, SIP 애플리케이션은 관리자가 sip.도메인이름 관례(예를 들어, sip.princeton.tce.com)를 사용하여 그의 SIP 서버를 지명할 것을 권장한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 멤버 등록에 대응하는 세션 동작 시나리오에 대해 설명할 것이다. 도 7은 본 발명의 예시적인 실시예에 따른, SIP(Session Initiation Protocol, 접속 설정 프로토콜)를 사용하여 비디오 컨퍼런스 세션에 등록하는 방법을 나타낸 도면이다. 도 7의 일례는 비디오 컨퍼런스 클라이언트 애플리케이션(클라이언트)(702) 및 비디오 컨퍼런스 서버(서버)(205)를 포함한다. "클라이언트 애플리케이션"과 "클라이언트"라는 구문은 본 명세서에서 서로 교환하여 사용될 수 있음을 잘 알 것이다.
멤버 등록 기능에서, 클라이언트(702)는 SIP REGISTER 요청을 서버(205)로 전송한다(단계 710). 서버(205)는 이 메시지를 수신하고 클라이언트(702)의 IP 주소 및 SIP URL을 멤버 데이터베이스(314)에 저장한다.
REGISTER 요청은 비록 그의 사용법이 표준에 정의되어 있지는 않지만 메시지 보디를 포함할 수 있다. 이 메시지 보디는 서버(205)에 등록하는 클라이언트(702)의 구성 옵션들에 관한 부가의 정보를 포함할 수 있다.
서버(205)는 200 OK 메시지를 다시 클라이언트(702)로 전송함으로써 그 등록을 긍정 응답한다(단계 720).
이제부터, 본 발명의 예시적인 실시예들에 따른, 유니캐스트 및 멀티캐스트 비디오 컨퍼런스 세션에 대해 설명할 것이다. 도 1b 및 도 1c는 본 발명의 2가지 예시적인 실시예에 따른, 유니캐스트 비디오 컨퍼런스 세션과 멀티캐스트 비디오 컨퍼런스 세션을 각각 나타내는 블록도이다. 도 1b 및 도 1c의 일례는 클라이언트 1(130), 클라이언트 2(132), 클라이언트 3(134), 이더넷 스위치(136), IP 라우터(138), IP 라우터(140), 및 WAN(142)을 포함한다.
유니캐스트 일례에서, 고유 스트림이 각 클라이언트로부터 각각의 상대방 클라이언트로 전송된다. 이러한 방식은 더 많은 참가자가 네트워크에 참여할 때 많은 대역폭을 소모할 수 있다. 이와 반대로, 멀티캐스트 방식에서는, 단 하나의 스트림만이 각 클라이언트로부터 전송된다. 따라서, 멀티캐스트 방식은 유니캐스트 방식에 비해 대역폭 등의 네트워크 자원을 덜 소모한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 유니캐스트 비디오 컨퍼런스 세션 설정에 대응하는 세션 동작 시나리오에 대해 설명할 것이다. 도 8a는 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 유니캐스트 비디오 컨퍼런스 세션을 설정하는 방법을 나타낸 도면이다. 도 8a의 일례는 비디오 컨퍼런스 클라이언트 애플리케이션 #1(클라이언트 #1)(802), 비디오 컨퍼런스 서버(서버)(205), 및 비디오 컨퍼런스 클라이언트 애플리케이션 #2(클라이언트 #2)(806)를 포함한다.
INVITE 요청은 클라이언트 #1(802)로부터 서버(205)로 전송된다(단계 810). 이 INVITE 요청은 서버(205)로부터 클라이언트 #2(806)로 포워딩된다(단계 815).
180 링잉(ringing) 메시지는 클라이언트 #2(806)로부터 서버(205)로 전송된다(단계 820). 이 180 링잉 메시지는 서버(205)로부터 클라이언트 #1(802)로 포워딩된다(단계 825).
200 OK 메시지는 클라이언트 #2(806)로부터 서버(205)로 전송된다(단계 830). 이 200 OK 메시지는 서버(205)로부터 클라이언트 #1(802)로 포워딩된다(단계 835).
긍정 응답 메시지 ACK는 클라이언트 #1(802)로부터 클라이언트 #2(806)으로 전송된다(단계 840). 비디오 컨퍼런스 세션(미디어 세션)은 이 2개의 노드[클라이언트 #1(802)과 클라이언트 #2(806)] 사이에서 행해진다(단계 845).
도 8b는 본 발명의 예시적인 실시예에 따른, INVITE 요청이 비디오 컨퍼런스 클라이언트 애플리케이션 #1(802)로부터 수신될 때(도 8a의 단계 810) 비디오 컨퍼런스 서버(205)에 의해 수행되는 단계들을 나타낸 도면이다.
처음에 서버(205)는 요청하는 사용자[클라이언트 #1(802)]가 서버(205)에 등록되어 있는지를 알아보기 위해 검사를 행하고, 또한 서버(205)는 호출되고 있는 사용자[클라이언트 #2(806)]가 서버(205)에 등록되어 있는지를 알아보기 위해 검사를 행한다(단계 850).
서버(205)는 네트워크 상에서의 각 사용자의 위치를 결정하고(단계 855), (서로 다른 경우) 그 사용자의 2개의 위치를 연결시키는 저대역폭 WAN 링크[예를 들면, WAN(250)]이 있는지를 결정한다.
2개의 위치를 서로 연결시키는 저대역폭 WAN 링크가 없는 경우, 서버(205)는 호출을 개시한다(단계 865). 그렇지만, 2명의 사용자 사이에 저대역폭 링크가 있는 경우, 본 방법은 단계 870으로 진행한다.
단계 870에서, 서버(205)는 WAN(250)을 통한 비디오 컨퍼런스 세션에 관한 정책을 검사한다. 이것은 기본적으로 "X개의 세션이 Y의 최대 비트 레이트로 행해질 수 있음"으로 해석된다. 서버(205)는 이 정책에 기초하여 가용성에 대해 검사한다(단계 875). 가용성이 없는 경우, 서버(205)는 이하의 메시지, 즉 "600 - Busy Everywhere", "486 - Busy Here", "503 - Service Unavailable", 또는 "603 - Decline" 중 어느 것을 전송함으로써 INVITE 요청을 거부하고(단계 880), 본 방법은 종료된다(도 8a의 방법의 단계 815로 계속되지 않음). 그렇지만, 가용성이 있는 경우, 서버(205)는 호출을 개시한다(단계 865). 단계 865에 뒤이어서 도 8a의 방법의 단계 815가 이어짐을 잘 알 것이다.
도 9는 본 발명의 예시적인 실시예에 따른, 도 8a의 방법을 더 구체적으로 나타낸 도면이다. 도 9의 일례는 클라이언트 애플리케이션 1(998), 클라이언트 애플리케이션 2(997), 비디오 컨퍼런스 서버(205), 및 기타 비디오 컨퍼런스 서버(986)를 포함한다. 도 9에도 도시되어 있는 비디오 컨퍼런스 서버(205)의 구성요소들에는 멤버 데이터베이스(314), 활성 세션 데이터베이스(312), 네트워크 아 키텍처 데이터베이스(316)에 포함되어 있는 정책 데이터베이스(999), 세션 관리자(320), SIP 모듈(304d), 및 서버 대 서버 관리 모듈(304e)이 있다.
도 9는 비디오 컨퍼런스 서버(205) 내에서의 내부 상호 작용을 나타내기 위해 제공된 것이며, 따라서 비디오 컨퍼런스 서버(205)의 엔티티들 사이의 시그널링 흐름의 일례를 제공하기 위해 기본적인 수준에서 도시한 것에 불과하다.
INVITE 요청은 클라이언트 애플리케이션 1(998)로부터 비디오 컨퍼런스 서버(205) 내의 SIP 모듈(304d)로 전송된다(단계 903). SIP 모듈(304d)은 그 메시지를 디코딩하고 INVITE 요청을 세션 관리자(320)로 포워딩한다(단계 906). 세션 관리자(320)는 세션이 정확하게 설정될 수 있도록 하기 위해 활성 세션 데이터베이스(312), 멤버 데이터베이스(314), 및 네트워크 아키텍처 데이터베이스(316) 내의 정책 데이터베이스(999)를 검사한다(각각 단계 909, 단계 912, 및 단계 915). 세션이 정확하게 설정될 수 있는 경우, 활성 세션 데이터베이스(312), 멤버 데이터베이스(314), 및 정책 데이터베이스(999)는 OK 메시지를 세션 관리자(320)로 전송한다(단계 918, 단계 921, 및 단계 924). 이 확인 프로세스가 완료되면, 비디오 컨퍼런스 서버(205)는 기타 비디오 컨퍼런싱 서버들에 시스템 상태의 변동을 통지한다(단계 927, 및 단계 930).
세션 관리자(320)는 INVITE 메시지를 SIP 모듈(304d)로 포워딩하고(단계 933), 이어서 SIP 모듈(304d)은 INVITE 메시지를 클라이언트 애플리케이션 2(997)로 포워딩한다(단계 936). 클라이언트 애플리케이션 2(997)는 INVITE 메시지를 수신하면 SIP 모듈(304d)이 INVITE 메시지를 수신하였음을 나타내는 180 링잉 메시지 로 SIP 모듈(304d)에 응답한다(단계 939). 180 링잉 메시지는 SIP 모듈(304d)에 의해 수신되어 디코딩된 다음에 세션 관리자(320)로 포워딩된다(단계 942). 비디오 컨퍼런스 서버(205) 내의 도 9에 도시한 데이터베이스들 각각에서 클라이언트의 상태가 갱신된다(단계 945, 단계 948, 단계 951, 단계 954, 단계 957, 및 단계 958).
180 링잉 메시지는 세션 관리자(320)로부터 클라이언트 애플리케이션 1(998)로 포워딩된다(단계 960 및 단계 963). 이어서, 200 OK 메시지가 클라이언트 애플리케이션 2(997)로부터 SIP 모듈(304d)로 전송되고(단계 966), SIP 모듈(304d)로부터 세션 관리자(320)로 포워딩된다(단계 969). 200 OK 메시지는 클라이언트 애플리케이션 2(997)가 비디오 컨퍼런스 세션에의 초청을 수락하고 있음을 나타낸다.
비디오 컨퍼런스 서버(205) 내의 도 9에 도시한 데이터베이스들 각각에서 클라이언트의 상태가 갱신된다(단계 972, 단계 975, 단계 978, 단계 981, 단계 984, 및 단계 987). OK 메시지는 세션 관리자(320)로부터 SIP 모듈(304d)로 전송되고, SIP 모듈(304d)로부터 클라이언트 애플리케이션 1(998)로 포워딩된다(단계 988 및 단계 991). ACK 메시지는 클라이언트 애플리케이션 1(998)로부터 클라이언트 애플리케이션 2(997)로 전송되어 세션 설정을 완료하게 된다(단계 994).
이제부터, 본 발명의 예시적인 실시예에 따른, 멀티캐스트 비디오 컨퍼런스 세션 설정에 대응하는 세션 동작 시나리오에 대해 설명할 것이다. 멀티캐스트 세션 설정을 제공하기 위해, SDP(Session Description Protocol, 세션 기술 프로토콜)이 사용된다. SDP 프로토콜은 멀티캐스트 주소 및 포트 번호를 전달할 수 있 다.
멀티캐스트 세션 설정은 멀티캐스트 주소가 요구되는 것을 제외하고는 유니캐스트 세션 설정과 유사하다. 멀티캐스트 주소는 네트워크 내의 MADCAP 서버(215)에 의해 할당된다.
도 10은 본 발명의 또다른 예시적인 실시예에 따른, SIP를 사용하여 멀티캐스트 비디오 컨퍼런스 세션을 설정하는 방법을 나타낸 도면이다. 도 10의 일례는 비디오 컨퍼런스 클라이언트 애플리케이션 #1(클라이언트 #1)(1002), 비디오 컨퍼런스 서버(서버)(205), 비디오 컨퍼런스 클라이언트 애플리케이션 #2(클라이언트 #2)(1006), 및 MADCAP 서버(215)를 포함한다.
INVITE 요청이 클라이언트 #1(1002)로부터 서버(205)로 전송된다(단계 1010). MADCAP 요청이 서버(205)로부터 MADCAP 서버(215)로 전송된다(단계 1015). 긍정 응답 메시지 ACK가 MADCAP 서버(215)로부터 서버(205)로 전송된다(단계 1020). 이 INVITE 요청이 서버(205)로부터 클라이언트 #2(1006)로 포워딩된다(단계 1025).
180 링잉 메시지는 클라이언트 #2(1006)로부터 서버(205)로 전송된다(단계 1030). 이 180 링잉 메시지는 서버(205)로부터 클라이언트 #1(1002)로 포워딩된다(단계 1035).
200 OK 메시지가 클라이언트 #2(1006)로부터 서버(205)로 전송된다(단계 1040). 이 200 OK 메시지가 서버(205)로부터 클라이언트 #1(1002)로 포워딩된다(단계 1045).
긍정 응답 메시지 ACK가 클라이언트 #1(1002)로부터 클라이언트 #2(1006)로 전송된다(단계 1050). 비디오 컨퍼런스 세션(미디어 세션)이 이 2개의 노드[클라이언트 #1(1002)과 클라이언트 #2(1006)] 사이에서 일어난다(단계 1055).
이제부터, 본 발명의 예시적인 실시예에 따른, 비디오 컨퍼런스 세션의 취소에 대응하는 세션 동작 시나리오에 대해 설명한다. CANCEL 메시지는 대기 중인 세션 설정 시도(pending session setup attempt)를 종료하는 데 사용된다. 클라이언트는 이 메시지를 사용하여 클라이언트가 앞서 개시하였던 대기 중인 비디오 컨퍼런스 세션 설정 시도를 취소할 수 있다. 서버는 INVITE가 전송되었던 곳인 대기 중인 요청들을 갖는 동일한 장소들로 CANCEL 메시지를 포워딩한다. 클라이언트는 CANCEL 메시지에 대해 "200 OK" 메시지로 응답해서는 안된다. CANCEL 메시지가 성공하지 못한 경우, 세션 종료 시퀀스(즉, BYE 메시지)가 사용될 수 있다.
도 11은 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 비디오 컨퍼런스 세션을 취소하는 방법을 나타낸 도면이다. 도 11의 일례는 비디오 컨퍼런스 클라이언트 애플리케이션 #1(클라이언트 #1)(1102), 비디오 컨퍼런스 서버(서버)(205), 및 비디오 컨퍼런스 클라이언트 애플리케이션 #2(클라이언트 #2)(1106)를 포함한다.
INVITE 요청은 클라이언트 #1(1102)로부터 서버(205)로 전송된다(단계 1110). 이 INVITE 요청은 서버(205)로부터 클라이언트 #2(1106)로 포워딩된다(단계 1115).
180 링잉 메시지는 클라이언트 #2(1106)로부터 서버(205)로 전송된다(단계 1120). 이 180 링잉 메시지는 서버(205)로부터 클라이언트 #1(1102)로 포워딩된다(단계 1125).
CANCEL 메시지는 클라이언트 #1(1102)로부터 서버(205)로 전송된다(단계 1130). 이 CANCEL 메시지는 서버(205)로부터 클라이언트 #2(1106)로 포워딩된다(단계 1135).
이제부터, 본 발명의 예시적인 실시예에 따른, 비디오 컨퍼런스 세션의 종료에 대응하는 세션 동작 시나리오에 대해 설명한다. 도 12는 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 2개의 클라이언트 사이의 비디오 컨퍼런스 세션을 종료시키는 방법을 나타낸 도면이다. 도 12의 일례는 제1 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #1)(1202), 비디오 컨퍼런스 서버(서버)(205), 및 제2 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #2)(1206)를 포함한다.
클라이언트 #1(1202)은 클라이언트 #2(1206)와의 호를 중단(discontinue)하기로 결정한다. 따라서, 클라이언트 #1(1202)은 BYE 메시지를 서버(205)로 전송한다(단계 1210). 서버(205)는 BYE 메시지를 클라이언트 #2(1206)로 포워딩한다(단계 1220).
클라이언트 #2(1206)는 200 OK 메시지를 다시 서버(205)로 전송하여 자신[클라이언트 #2(1206)]이 연결 해제(disconnect)되었음을 나타낸다(단계 1230). 서버(205)는 이 200 OK 메시지를 클라이언트 #1(1202)로 포워딩하여 성공적으로 연결 해제되었음을 나타낸다(단계 1240).
도 13은 본 발명의 예시적인 실시예에 따른, SIP를 사용하여 3개의 클라이언 트 사이의 비디오 컨퍼런스 세션을 종료시키는 방법을 나타낸 도면이다. 도 13의 일례는 제1 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #1)(1302), 비디오 컨퍼런스 서버(서버)(205), 제2 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #2)(1306), 및 제3 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #3)(1308)를 포함한다.
클라이언트 #1(1302)는 클라이언트 #2(1306) 및 클라이언트 #3(1308)과의 호를 중단하기로 결정하지만, 이것이 클라이언트 #2(1306)와 클라이언트 #3(1308) 사이의 세션을 해제(tear down)시키지는 않는다.
클라이언트 #1(1302)는 BYE 메시지를 서버(205)로 전송한다(단계 1310). 서버(205)는 이 BYE 메시지를 해석하고, 클라이언트 #2(1306) 및 클라이언트 #3(1308)가 클라이언트 #1(1302)와의 비디오 컨퍼런스 세션에 관여하고 있음을 알게 되며, 이 BYE 메시지를 클라이언트 #2(1306) 및 클라이언트 #3(1308) 양쪽 모두에게 포워딩한다(단계 1320 및 단계 1330).
클라이언트 #2(1306)는 200 OK 메시지를 서버(205)로 전송한다(단계 1340). 서버(205)는 이 200 OK 메시지를 클라이언트 #1(1302)로 포워딩한다(단계 1350). 클라이언트 #3(1308)은 200 OK 메시지를 서버(205)로 전송한다(단계 1360). 서버(205)는 이 200 OK 메시지를 클라이언트 #1(1302)로 포워딩한다(단계 1370).
도 14는 본 발명의 또다른 예시적인 실시예에 따른, SIP를 사용하여 3개의 클라이언트 사이의 비디오 컨퍼런스 세션을 종료시키는 방법을 나타낸 도면이다. 도 14의 일례는 제1 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #1)(1402), 비디오 컨퍼런스 서버(서버)(205), 제2 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #2)(1406), 및 제3 클라이언트(비디오 컨퍼런스 클라이언트 애플리케이션 #3)(1408)를 포함한다.
클라이언트 #1(1402)은 클라이언트 #2(1406) 및 클라이언트 #3(1408)과의 호를 중단하기로 결정하지만, 이것이 클라이언트 #2(1406)와 클라이언트 #3(1408) 사이의 세션을 해제(tear down)시키지는 않는다.
클라이언트 #1(1402)은 클라이언트 #2(1406)로 보내려고 하는 BYE 메시지를 서버(205)로 전송한다(단계 1410). 서버(205)는 이 BYE 메시지를 클라이언트 #2(1406)로 포워딩한다(단계 1420). 클라이언트 #1(1402)은 클라이언트 #3(1408)으로 보내려고 하는 BYE 메시지를 서버(205)로 전송한다(단계 1430). 서버(205)는 이 BYE 메시지를 클라이언트 #3(1408)으로 포워딩한다(단계 1440).
클라이언트 #2(1406)는 200 OK 메시지를 서버(205)로 전송한다(단계 1450). 서버(205)는 이 200 OK 메시지를 클라이언트 #1(1402)로 포워딩한다(단계 1460). 클라이언트 #3(1408)은 200 OK 메시지를 서버(205)로 전송한다(단계 1470). 서버(205)는 이 200 OK 메시지를 클라이언트 #1(1402)로 포워딩한다(단계 1480).
도 12 내지 도 14에 관하여 기술한 이상의 일례들 이외에도, BYE 메시지를 비디오 컨퍼런스 가입자들이 속해있는 멀티캐스트 그룹 주소로 전송함으로써 종료가 실시될 수 있다. 이 방법을 사용하여, 서버 및 기타 클라이언트 애플리케이션들이 그 메시지를 수신하게 된다. 이와 같이 하는 것이 그와 관련된 오버헤드가 더 적기 때문에 세션을 종료하기 위한 보다 보편적이고 효율적인 메카니즘이다.
이제부터, 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정에 대응하는 동작 시나리오에 대해 설명할 것이다. 비디오 컨퍼런싱은 컴퓨터 네트워크 상의 서로 다른 장소에 있는 몇명의 사용자들 간에 생생한 양방향 대화형 비디오를 전송하는 것을 필요로 한다. 실시간 대화형 비디오는 대량의 정보를 제약된 지연으로 전송하는 것을 요구한다. 이것은 비디오 컨퍼런스 시스템이 연결되어 있는 컴퓨터 네트워크가 세션에 관여된 각 사용자에게 적정량의 대역폭 및 서비스 품질을 제공할 수 있어야만 함을 요구한다. 대역폭은 때로는 제한된 자원일 수 있고 서비스 품질은 모든 네트워크에서 항상 보장될 수 있는 것은 아니며, 따라서 어떤 한계가 존재하게 된다. 사설 기업 네트워크에서, 서비스 품질을 보장하는 것이 가능하지만, 대량의 대역폭을 보장하는 것이 항상 가능한 것은 아니다.
기본적인 기업 컴퓨터 네트워크 인프라는 저속 링크들을 통해 서로 연결되어 있는 몇개의 고속 LAN(local area network, 근거리 통신망)을 포함한다(예를 들어, 도 2 참조). 고속 LAN들 각각은 보통 단일 지리적 장소에 있는 네트워크 인프라를 표현하고, 저속 링크들은 다수의 지리적 장소들을 서로 연결시키는 장거리 링크이다. 저속 링크들이 사용되는 이유는 장거리 링크의 비용이 비교적 고가이고 또한 네트워크 트래픽의 대부분이 보통은 근거리 통신망 내에 국한되어 있으며, 따라서 대량의 데이터가 보통은 이들 장거리 링크들을 거쳐 교환되지 않기 때문이다.
IP 기반 네트워크를 통한 서비스 품질의 최근의 향상은 이제 다른 유형의 정보가 이들 네트워크를 거쳐 전송될 수 있도록 해주는 수단을 제공한다. 이것은 비실시간 데이터 트래픽 이외에 그 인프라를 거쳐 실시간 정보(즉, 오디오 및 비디 오)를 전송하기 위한 문을 열어준다. 네트워크 서비스 품질을 이용하는 비디오 컨퍼런싱 서비스는 이 인프라 상으로 오버레이하기에 아주 적합하게 되어 있다. 이제는 2개의 서로 다른 지리적 장소에 있는 2명의 사용자가 실시간 비디오 컨퍼런스 세션에 참여할 수 있는 것이 가능하다. 비디오 컨퍼런스 세션의 한가지 단점은 실시간 비디오의 전송이 아주 대량의 대역폭을 소모하고 가용 네트워크 자원을 쉽게 소진시킬 수 있다는 것이다. 네트워크를 거쳐 전송되는 실시간 비디오의 비트 레이트는 주로 사용되는 비디오 해상도 및 압축 알고리즘에 달려 있다. 일반적으로, 서로 다른 지리적 장소에 있는 2명, 3명 또는 4명의 사용자 사이에서의 하나의 비디오 컨퍼런스 세션은 적정량의 대역폭을 갖는 네트워크를 통해 적절히 지원될 수 있다. 그렇지만, 일반적으로 비디오 컨퍼런스 세션에서 4명이 넘는 부가의 사용자들이 지원될 수 없었고 또 제2 비디오 컨퍼런스 세션이 대역폭 제약으로 인해 지원될 수 없었던 경우가 있었다. 비디오 컨퍼런스 시스템의 제한 요인은 지리적 장소들 사이의 저속 장거리 링크이다.
한가지 가능한 해결책은 그 시스템에서 더 많은 사용자를 지원하기 위해 2개의 지리적 장소 사이의 장거리 링크의 대역폭을 증가시키는 것이다. 이 방식의 결점은 대역폭이 아주 고가라는 것이다. 제2 해결책은 비디오 컨퍼런스 세션 내의 제한된 수의 사용자들(즉, 적극적 사용자)만이 고해상도 및 고속 비트 레이트로 전송할 수 있고 그 세션 내의 나머지 사용자들(즉, 소극적 사용자)은 제한된 비트 레이트 및 제한된 해상도로 전송할 수 있을 뿐인 시스템을 갖는 것이다. 비디오 컨퍼런스 세션 주최자(videoconference session organizer)는 어느 사용자가 고해상 도로 전송하게 되고 어느 사용자가 저해상도로 전송하게 되는지를 제어하게 된다. 사용자가 세션에서 적극적으로 발언하거나 대화하지 않는 경우, 그의 비디오를 고해상도로 전송할 필요가 없다. 이러한 방식은 엄청난 대역폭 절감을 제공할 수 있다.
미리 도 18a의 비디오 컨퍼런스 클라이언트 애플리케이션(1800)을 참조하면, 이 방식은 비디오 컨퍼런스 클라이언트 애플리케이션(1800)에 여러가지 윈도우 크기(즉, 고해상도 및 저해상도의 디코딩된 비디오 스트림을 표현하기 위한 서로 다른 크기의 디스플레이 윈도우)를 지원하는 사용자 인터페이스(1808), 및 서버(205)와 기타 클라이언트의 애플리케이션들 사이의 통신을 규정하는 메시징 시스템(1842)[네트워크 엔티티(1806)에 포함되어 있으며, 이 네트워크 엔티티(1806)는 이어서 도 18a의 비디오 컨퍼런스 클라이언트 애플리케이션(1800)에 포함되어 있음]을 구비할 필요가 있다. 메시징 시스템(1842)은 클라이언트의 애플리케이션들 각각의 인코딩 해상도 및 전송 비트 레이트를 제어하는 메시지를 포함하게 된다.
이제부터, 본 발명의 예시적인 실시예에 따른, 해상도 및 비트 레이트 조정에 대응하는 메시지에 대해 설명할 것이다. 특히, MSG_WINDOW_SWITCH 메시지 및 MSG_ADJUST_CODEC 메시지에 대해 설명할 것이다.
MSG_WINDOW_SWITCH 메시지는 클라이언트로부터 서버로 전송되는 것으로서 적극적 사용자와 소극적 사용자 사이의 전환을 나타낸다. 즉, 적극적 사용자는 소극적으로 되고, 소극적 사용자는 적극적으로 된다. 비디오 컨퍼런스 서버는 클라이 언트에서의 이러한 요청에 긍정 응답하게 된다.
MSG_ADJUST_CODEC 메시지는 서버로부터 각 클라이언트로 전송된다. MSG_ADJUST_CODEC 메시지는 클라이언트가 어떤 해상도(즉, CIF 또는 QCIF) 및 프레임 레이트를 전송하고 있어야만 하는지를 클라이언트에게 알려준다. MSG_ADJUST_CODEC 메시지는 각 클라이언트에 의해 긍정 응답된다.
도 15는 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정을 위한 시그널링 방법을 나타낸 도면이다. 도 15의 일례는 비디오 컨퍼런스 서버(서버)(205), 클라이언트 1(1504), 클라이언트 2(1506), 클라이언트 3(1508), 및 클라이언트 4(1510)를 포함한다.
MSG_WINDOW_SWITCH 메시지는 클라이언트 1(1504)로부터 서버(205)로 전송된다(단계 1520). 긍정 응답 메시지 ACK가 서버(205)로부터 클라이언트 1(1504)로 전송된다(단계 1525).
MSG_ADJUST_CODEC(로우) 메시지가 서버(205)로부터 클라이언트 1(1504)로 전송된다(단계 1530). 긍정 응답 메시지 ACK가 클라이언트 1(1504)로부터 서버(205)로 전송된다(단계 1535).
MSG_ADJUST_CODEC(하이) 메시지가 서버(205)로부터 클라이언트 2(1506)로 전송된다(단계 1540). 긍정 응답 메시지 ACK가 클라이언트 2(1506)로부터 서버(205)로 전송된다(단계 1545).
MSG_ADJUST_CODEC(로우) 메시지가 서버(205)로부터 클라이언트 3(1508)으로 전송된다(단계 1550). 긍정 응답 메시지 ACK가 클라이언트 3(1508)으로부터 서버(205)로 전송된다(단계 1555).
MSG_ADJUST_CODEC(로우) 메시지가 서버(205)로부터 클라이언트 4(1510)로 전송된다(단계 1560). 긍정 응답 메시지 ACK가 클라이언트 4(1510)로부터 서버(205)로 전송된다(단계 1565).
도 16은 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정(클라이언트 2와 클라이언트 3) 이전의 시그널링을 나타낸 도면이다. 도 17은 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 레이트 조정(클라이언트 2와 클라이언트 3) 이후의 시그널링을 나타낸 도면이다. 도 16 및 도 17의 일례들은 클라이언트 1(1602), 클라이언트 2(1604), 네트워크 라우터(1606), 클라이언트 3(1608), 및 클라이언트 4(1610)를 포함한다.
"send at low bit-rate/resolution(저속 비트 레이트/저해상도로 전송)" 메시지는 클라이언트 1(1602)로부터 네트워크 라우터(1606)로 전송된다(단계 1620). "send at high bit-rate/resolution(고속 비트 레이트/고해상도로 전송)" 메시지는 클라이언트 3(1608)로부터 네트워크 라우터(1606)로 전송된다(단계 1625). "send at low bit-rate/resolution(저속 비트 레이트/저해상도로 전송)" 메시지는 클라이언트 2(1604)로부터 네트워크 라우터(1606)로 전송된다(단계 1630). "send at high bit-rate/resolution(고속 비트 레이트/고해상도로 전송)" 메시지는 클라이언트 4(1610)로부터 네트워크 라우터(1606)로 전송된다(단계 1635).
데이터는 멀티캐스트 주소를 사용하여 네트워크 라우터(1606)로부터 클라이언트 2(1604), 클라이언트 3(1608), 클라이언트 1(1602), 및 클라이언트 4(1610)로 전송된다(각각 단계 1640, 단계 1645, 단계 1650, 및 단계 1655).
도 17로 가서, "send at low bit-rate/resolution(저속 비트 레이트/저해상도로 전송)" 메시지는 클라이언트 1(1602)로부터 네트워크 라우터(1606)로 전송된다(단계 1720). "send at high bit-rate/resolution(고속 비트 레이트/고해상도로 전송)" 메시지는 클라이언트 3(1608)으로부터 네트워크 라우터(1606)로 전송된다(단계 1725). "send at high bit-rate/resolution(고속 비트 레이트/고해상도로 전송)" 메시지는 클라이언트 2(1604)로부터 네트워크 라우터(1606)로 전송된다(단계 1730). "send at low bit-rate/resolution(저속 비트 레이트/저해상도로 전송)" 메시지는 클라이언트 4(1610)로부터 네트워크 라우터(1606)로 전송된다(단계 1735).
데이터는 멀티캐스트 주소를 사용하여 네트워크 라우터(1606)로부터 클라이언트 2(1604), 클라이언트 3(1608), 클라이언트 1(1602), 및 클라이언트 4(1610)로 전송된다(각각 단계 1740, 단계 1745, 단계 1750, 및 단계 1755).
이제부터, 본 발명의 예시적인 실시예에 따른, 클라이언트 애플리케이션 아키텍처에 대해 설명할 것이다. 클라이언트 애플리케이션은 사용자와 대화하는 일, 다른 클라이언트 애플리케이션들과 멀티미디어 콘텐츠를 교환하는 일, 및 서버 애플리케이션과의 호를 관리하는 일을 맡고 있다. 도 18a는 본 발명의 예시적인 실시예에 따른, 비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 블록도이다. 비디오 컨퍼런스 클라이언트 애플리케이션(1800)이 컴퓨터(220a-f) 중 어느 것 및/또는 컴퓨터(230a-e) 중 어느 것 등의 컴퓨터 상에 존재할 수 있음을 잘 알 것이다.
비디오 컨퍼런스 클라이언트 애플리케이션(1800)은 이하의 4개의 기본적인 기능 엔티티, 즉 멀티미디어 인터페이스 계층(1802), 코덱(1804)[오디오 코덱(1804a) 및 비디오 코덱(1804b)], 네트워크 엔티티(1806), 및 사용자 인터페이스(1808)를 포함한다.
멀티미디어 인터페이스 계층(1802)은 비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 주 제어 인스턴스(main controlling instance)이다. 모든 시스템내 통신(intra-system communication)은 멀티미디어 인터페이스 계층(1802)을 통해 라우팅되고 그에 의해 제어된다. 멀티미디어 인터페이스 계층(1802)의 주요 기반 특징들 중 하나는 서로 다른 오디오 및 비디오 코덱(1804)을 용이하게 교환하는 기능이다. 이것 이외에, 멀티미디어 인터페이스 계층(1802)은 오퍼레이팅 시스템(OS) 의존 사용자 입/출력 엔티티(OS dependent user input/output entity) 및 네트워크 서브시스템으로의 인터페이스를 제공한다. 멀티미디어 인터페이스 계층(1802)은 멤버 데이터베이스(1820), 주 제어 모듈(1822), 오디오 믹서(1899), 및 에코 소거 모듈(1898)을 포함한다.
사용자 인터페이스(1808)는 최종 사용자의 비디오 컨퍼런스 클라이언트 애플리케이션(1800)과의 대화점(point of interaction)을 제공한다. 사용자 인터페이스(1808)는 양호하게는 OS 의존 모듈로서 구현되지만 반드시 그럴 필요는 없다. 많은 그래픽 사용자 인터페이스는 이들이 사용하는 특정의 OS에 의존적이다. 사용자 인터페이스(1808)의 4가지 주요 기능으로는 비디오 캡처, 비디오 디스플레이, 오디오 캡처, 및 오디오 재생이 있다. 사용자 인터페이스(1808)는 오디오/비디오 캡처 인터페이스(1830), 오디오/비디오 재생 모듈(1832), 멤버 뷰(member view) 모듈(1834), 채팅 모듈(1836), 및 사용자 선택/메뉴(1838)를 포함한다. 오디오/비디오 캡처 인터페이스(1830)는 카메라 인터페이스(1830a), 마이크로폰 인터페이스(1830b), 및 파일 인터페이스(1830c)를 포함한다. 오디오/비디오 재생 모듈(1832)은 비디오 디스플레이(1832a), 오디오 재생 모듈(1832b), 및 파일 인터페이스(1832c)를 포함한다.
네트워크 엔티티(1806)는 비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 통신 서브시스템을 나타낸다. 네트워크 엔티티(1806)의 기능들은 SIP에 기반한 클라이언트 대 서버 메시징(client to server messaging)과, 오디오 및 비디오 스트림의 전송 및 수신이다. 네트워크 엔티티(1806)는 또한 클라이언트들 간의 미디어 스트림의 암호화 통신(cryptographic communication) 및 인증(authentication)을 위한 기본적인 보안 기능들을 포함한다. 네트워크 엔티티(1806)는 보안 모듈(1840), 메시징 시스템(1842), 비디오 스트림 모듈(1844), 오디오 스트림 모듈(1846), 및 IP 소켓(1848)을 포함한다.
오디오 코덱(1804a) 및 비디오 코덱(1804b)은 디지털 미디어의 압축(compression) 및 압축 해제(decompression)를 처리하는 서브시스템이다. 코덱으로의 인터페이스는 코덱의 교환이 용이하도록 하기 위해 단순하고 일반적이어야만 한다. 멀티미디어 인터페이스 계층(1802)과 코덱(1804) 사이의 간단한 관계가 구현을 위한 예시적인 템플릿 또는 가이드로서 이후에 정의되어 있다. 오디오 코덱(1804a) 및 비디오 코덱(1804b)은 각각 인코더(1880)와 디코더(1890)를 포함한 다. 인코더(1880)와 디코더(1890)는 각각 큐(1895)를 포함한다.
비디오 컨퍼런스 클라이언트 애플리케이션(1800)은 적어도 비디오 컨퍼런스 서버(205) 및 기타 클라이언트(1870)와 인터페이스로 연결되어 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스 계층(1802)에 포함되어 있는 멤버 데이터베이스(1820)에 대해 설명할 것이다. 멤버 데이터베이스(1820)는 세션 별로 참가중인 사용자 각각에 관한 정보를 저장한다. 멤버 데이터베이스(1820)는 송신측/수신측 IP 주소에 관한 정보, 클라이언트 성능, 특정의 코덱에 관한 정보, 및 서로 다른 사용자들의 상태에 관한 상세를 포함하고 있다. 이상의 항목들은 단지 예시적인 것에 불과하며, 따라서 이상의 항목들의 일부 또는 그 전부에 부가하여 또는 그를 대신하여 다른 항목들이 또한 본 발명의 사상 및 범위를 유지하면서 멤버 데이터베이스(1820)에 유지될 수 있음을 잘 알 것이다. 멤버 데이터베이스(1820)에 포함되어 있는 정보는 오디오 및 비디오 디코더(1890)로 보내려고 하는 착신 정보를 제어하기 위해 사용된다. 네트워크로부터 들어오는 미디어 정보는 정확한 오디오 및 비디오 디코더(1890)로 라우팅될 필요가 있다. 마찬가지로 중요한 점으로는, 오디오 및 비디오 인코더(1880)로부터 나오는 미디어 정보도 배포를 위해 정확한 유니캐스트 또는 멀티캐스트 주소로 라우팅될 필요가 있다는 것이다. 멤버 데이터베이스(1820)에 포함되어 있는 기초 정보도 또한 최종 사용자가 세션의 참가자들 및 그들의 성능을 알고 있도록 하기 위해 사용자 인터페이스(1808)로 라우팅된다. INVITE 요청이 비디오 컨퍼런스 서버(205)로부터 수신되자마자 사용자는 멤버 데이터베이스(1820)에 추가되며, BYE 요청이 비디오 컨퍼런스 서버(205)로부터 수신되자마자 사용자는 제거된다. 멤버 데이터베이스(1820)는 세션이 종료될 때 플러쉬(flush)된다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스 계층(1802)에 포함된 주 제어 모듈(1822)에 대해 설명할 것이다.
주 제어 모듈(1822)은 멀티미디어 인터페이스 계층(1802)의 아주 중요한 부분이다. 주 제어 모듈(1822)은 중앙 관리 서브시스템으로서 기능하며 이하의 주요 기능, 즉 오디오 및 비디오 디코더와 재생의 동기화 메카니즘, 디코더의 목적지를 기록을 위한 파일 또는 스크린에 연결, 및 애플리케이션 계층 서비스 품질을 제공한다.
오디오 및 비디오 재생의 동기화는 최적의 비디오 컨퍼런싱 사용자 경험에 아주 중요하다. 2개의 미디어 스트림을 정확하게 동기화시키기 위해, 타임스탬프(timestamp)가 사용되고 미디어 콘텐츠와 함께 전송될 필요가 있다. RTP(Real Time Protocol, 실시간 프로토콜)는 이를 위해 타임스탬프 및 순서 번호를 포함하기 위한 일반 헤더(generic header)를 제공한다. 제공되는 타임스탬프는 2개의 네트워크 노드 클록을 동기화시키기 위한 것이 아니라 일관된 재생을 위해 오디오 및 비디오 스트림을 동기화시키기 위한 것이다. 이들 타임스탬프는 캡처 시에 동일 노드 상의 공통 클록으로부터 도출될 필요가 있게 된다. 예를 들어, 비디오 프레임이 캡처될 때, 비디오 프레임이 캡처된 시간이 기록되어야만 한다. 오디오에 대해서도 마찬가지이다. RTP를 사용하는 것에 대한 부가의 상세 및 지침에 대해서는 본 명세서의 다른 곳에서 설명한다.
오디오와 비디오를 동기화시키는 데 있어서의 주 제어 모듈(1822)의 기능은메타데이터(타임스탬프와 순서 번호를 포함함)와 멀티미디어 데이터의 적절한 전달을 위해 네트워크 엔티티(1806)와 코덱(1804) 사이를 연결시켜주는 것이다. 패킷이 지연되면, 그 패킷은 시스템의 현재 상태에 따라 디코딩 이전에 또는 그 이후에 누락될 수 있다. RTP 타임스탬프는 이어서 프레젠테이션 및 재생 타임스탬프를 생성하기 위해 사용된다.
주 제어 모듈(1822)은 또한 오디오 및 비디오 디코더(1890)의 출력을 재생을 위해 스크린으로 보내는 일, 기록을 위해 파일로 보내는 일, 또는 둘다로 보내는 일을 맡고 있다. 각 디코더(1890)는 독립적으로 취급되며, 따라서 이렇게 함으로써 어떤 예시적인 상황에서 한 디코드의 출력은 스크린 상에 디스플레이될 수 있게 되고, 제2 디코더의 출력은 파일에 기록될 수 있게 되며, 또한 제3 디코더로부터의 출력은 동시에 파일과 스크린 둘다로 갈 수 있게 된다.
전술한 임무 이외에, 주 제어 모듈(1822)은 애플리케이션 계층 서비스 품질에도 관여하고 있다. 주 제어 모듈(1822)은 패킷 누락에 관한 정보, 즉 수신 및 전송된 바이트를 수집하고, 그에 따라 이 정보에 기초하여 동작한다. 이것은 네트워크에서 일어나는 상황을 개선시키는 데 도움을 주기 위해 또다른 클라이언트 또는 비디오 컨퍼런스 서버(205)에 메시지를 전송하는 것을 필요로 한다. RTCP(Real Time Control Protocol, 실시간 제어 프로토콜)이 통계 및 패킷 손실을 보고하기 위해 사용될 수 있으며, 또한 애플리케이션 고유 시그널링을 위해 사용될 수도 있다.
도 18b는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스 계층(1802)에 포함되는 오디오 믹서(1899)를 더 구체적으로 나타낸 블록도이다. 본 명세서에서 "이득 제어 모듈"(gain control module)이라고도 불리우는 오디오 믹서(1899)는 복수의 오디오 디코더(1890)에 연결되어 동작한다. 다수의 오디오 디코더(1890)는 압축된 오디오 스트림을 수신하고 압축 해제된 오디오 스트림을 출력한다. 압축 해제된 오디오 스트림은 오디오 믹서(1899)에 입력되고, 합성된 오디오 스트림으로서 출력된다.
도 18c는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스 계층(1802)에 포함되는 에코 소거 모듈(1898)을 더 구체적으로 나타낸 블록도이다. 에코 소거 모듈[본 명세서에서 "에코 소거기"(echo canceller)라고도 불리움](1898)은 스피커(1897)[예를 들어, 오디오 재생 모듈(1832b)]와 마이크로폰(1896)[예를 들어, 마이크로폰 인터페이스(1830b)]에 연결되어 동작한다. 스피커(1897)로부터의 사운드가 전이중(full duplex) 또는 양방향(two-way) 통신 시스템에서 재생될 때, 그 사운드는 근방의 청취자만이 듣도록 하기 위한 것이다. 그렇지만, 재생된 사운드는 또한 근방의 마이크로폰(1896)도 듣게 되며, 이에 따라 이어서 그 신호는 다시 먼 곳으로 전송될 수 있게 되어 에코(echo)로서 들리게 된다. 이러한 이유로, 비디오 컨퍼런스 클라이언트 애플리케이션(1800)은 이러한 효과를 완화시킴으로써 보다 나은 사용자 경험을 생성하기 위해 에코 소거 모듈(1898)을 필요로 한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 서브시스템이 이용할 수 있는 인터페이스들에 대해 설명할 것이다. 이들 인터페이스는 사용자 인터페이스(1808), 네트워크 엔티티(1806), 및 코덱(1804)과의 대화점을 포함한다. 사용자 인터페이스(1808)는 캡처된 오디오 및 비디오를 그의 대응하는 타임스탬프와 함께 수신하기 위한 기능들을 제공한다. 이것 이외에, 디스플레이 및 재생을 위해 오디오 및 비디오를 사용자 인터페이스(1808)로 전송하기 위한 기능들도 제공되어야만 한다. 네트워크 엔티티(1806) 인터페이스는 세션 제어 및 보안을 위해 착신 및 발신 메시지를 전달하기 위한 기능들을 제공한다. 오디오 및 비디오 코덱(1804a, 1804b)은 압축 또는 압축 해제하기 위해 패킷들을 전송 및 수신하는 것 뿐만 아니라 구성 제어를 위한 기본적인 인터페이스를 제공한다.
이제부터, 본 발명의 예시적인 실시예에 따른, 오디오 및 비디오 코덱(1804a, 1804b)에 대해 설명할 것이다.
비디오 컨퍼런싱에서 사용할 수 있는 몇가지 오디오 및 비디오 코덱이 있다. 양호하게는 본 발명에 따라 사용되는 코덱은 소프트웨어 기반이지만, 꼭 그럴 필요는 없다. 본 발명의 예시적인 한 실시예에 따르면, 일반적인 데스크톱 컴퓨터의 처리 능력 제약으로 인해 H.263이 비디오 압축 및 압축 해제에 사용된다. 데스크톱 컴퓨터가 장래에 보다 강력하게 됨에 따라, H.26L 등의 보다 성능이 좋은 코덱을 사용하는 기능도 실현되어 이용될 수 있다. 물론, 본 발명은 전술한 유형의 코덱들에 제한되지 않으며, 따라서 다른 유형의 코덱들도 본 발명의 사상 및 범위를 유지하면서 사용될 수 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, 코덱(1804a, 1804b)에 대한 인터페이스에 대해 설명할 것이다. 이 설명에서는 데이터입력(DataIn) 함수, 콜백(callback) 함수, 및 코덱 옵션을 포함하고 있다. 코덱(1804a, 1804b)으로의 인터페이스는 코덱의 상호 교환성이 있도록 또한 장래에 새로운 코덱을 추가하는 것이 가능하도록 충분히 유연성이 있고 일반적 의미로 정의되어야만 한다. 이러한 유연성있고 일반적인 인터페이스를 구현하기 위한 제안된 인터페이스는 사용자에게 제한된 수의 기능을 제공하는 아주 간단한 인터페이스이다.
데이터입력 함수는 단순히 인코더 또는 디코더 클래스의 프레임 또는 패킷을 저장하기 위해 사용된다.
멀티미디어 인터페이스 계층(1802)과 멀티미디어 코덱(1804) 사이의 간단한 연결을 제공하기 위해, 데이터 출력 함수가 콜백으로서 구현되어야만 한다. 멀티미디어 인터페이스 계층(1802)은 이 콜백 함수를 수신측 엔티티의 입력 함수로 설정한다. 예를 들어, 코덱이 프레임의 인코딩 또는 디코딩을 완료했을 때, 목적한 정보를 인코딩 또는 디코딩 프로세스로부터 전달하기 위해 이 함수가 코덱에 의해 호출될 것이다. 코덱이 이러한 콜백 동안 아무런 일도 할 수 없다는 제약으로 인해, 이 함수는 시스템에서의 대기 및 불필요한 지연을 방지하기 위해 가능한 한 신속히 복귀(return)해야만 한다. 공유 자원에 액세스할 때 이 함수에서 수행되어야만 하는 유일한 추가의 대기는 뮤텍스 록(mutex lock)이어야만 한다.
서로 다른 유형의 코덱들이 이용가능한 옵션들의 범위는 변하게 된다. 이들 옵션을 관리하기 위한 요구 사항을 만족시키기 위해, 간단한 인터페이스가 사용되 어야만 한다. 텍스트 기반 인터페이스가 양호한데(그렇지만 강제되는 것은 아님) 그 이유는 그것이 제공하는 유연성 때문이다. START 및 STOP 등의 공통 명령어 세트, 게다가 코덱 고유 명령어들이 있어야만 한다. 이 방법은 간단한 인터페이스를 제공하지만 간단한 인터프리터(interpreter)가 요구되기 때문에 코덱에 부가의 복잡성을 부가한다. 예로서, Options 함수는 옵션을 판독 및 기록하기에 충분히 일반성이 있을 수 있다.
예: Result = Options("start"), Result = Options("resolution = CIF"), 등
예를 들어, 코덱들 간의 공통 옵션 중 어떤 것들은 다음과 같이 표준화되어야만 한다. 즉, start, stop, pause, quality index(0 - 100), 및 resolution으로 표준화되어야만 한다.
quality index는 코덱의 전체 품질을 0% 내지 100% 사이의 값으로서 기술하는 인자이다. 값이 높을수록 비디오 품질이 더 좋다는 기본적인 가정을 따른다.
도 19는 본 발명의 예시적인 실시예에 따른, 오디오 코덱(1804a) 및/또는 비디오 코덱(1804b) 중 어느 하나에 포함되어 있는 디코더(1890)에서 사용되는 방법을 나타낸 도면이다. 이 방법은 디코더 콘텍스트(decoder context)(1901) 및 호출자 콘텍스트(caller context)(1902)와 관련하여 기술된다. 이 방법은 적어도 이하의 입력 및 출력, 즉 "data in"(데이터 입력)(1999), "signal in"(신호 입력)(1998), "signal out callback"(신호 출력 콜백)(1997), "set callback function"(콜백 설정 함수)(1996), 및 "data out callback"(데이터 출력 콜백)(1995)을 사용하여 동작한다. 입력 "data in"(데이터 입력)(1999)은 데이터 를 입력 큐에 저장하는 데 사용된다(단계 1905).
초기화 단계(초기화)는 디코더(1890)를 초기화하기 위해 수행된다(단계 1910). 시작(start) 또는 종료(exit) 명령을 기다리는 메인 루프가 실행된다(단계 1920). 종료 명령이 수신되면, 본 방법은 종료되고(단계 1922), 예를 들면 다른 동작으로 복귀가 이루어진다(단계 1924).
데이터가 입력 큐(1895)로부터 판독되거나, 입력 큐(1895)가 비어 있는 경우 대기 조건이 부과된다(단계 1930). 데이터는 단계 1930에서 판독된 경우 디코딩된다(단계 1940). "data out callback"(데이터 출력 콜백)(1995)이 단계 1920에 제공된다.
이제부터, 본 발명의 예시적인 실시예에 따른, 네트워크(200)에 의해 이용되는 통신에 대해 설명할 것이다. 이 설명은 네트워크 통신에 대해 전술한 것을 보충한다.
메시징 시스템(1842)[도 18a의 네트워크 엔티티(1806)에 포함되어 있음]은 비디오 컨퍼런스 클라이언트 애플리케이션(1800)과 비디오 컨퍼런스 서버(205) 사이의 인터페이스를 제공한다. 이 메시징 시스템(1842)은 세션 관리(즉, 세션의 설정 및 해제)에 사용하기 위한 것이다. 모든 시그널링 메시지는 비디오 컨퍼런스 서버(205)를 통해 전달되며 클라이언트에서 클라이언트로 직접 전달되지 않는다. 멀티미디어 콘텐츠 및 사적인 채팅 메시지 등의 데이터는 클라이언트들 사이에 직접 전송되는 유일한 정보를 구성한다. 메시징 시스템은 표준 기반 접속 설정 프로토콜(SIP)을 사용한다.
비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 기능을 통제하는 몇가지 서로 다른 프로토콜이 있다. 예를 들어, SIP(접속 설정 프로토콜), RTP(실시간 프로토콜), RTCP(실시간 제어 프로토콜), 및 SDP(세션 기술 프로토콜)가 이용될 수 있다.
SIP(접속 설정 프로토콜)의 목적은 세션 관리이다. SIP는 IP 기반 네트워크 상의 한명 이상의 참가자와의 멀티미디어 세션을 생성, 수정 및 종료하기 위한 텍스트 기반 애플리케이션 계층 제어 프로토콜이다. SIP는 이를 달성하기 위해 클라이언트와 서버 사이에서 사용된다. SIP에 대해서는 비디오 컨퍼런스 서버(205)와 관련하여 앞서 구체적으로 기술하였다.
RTP(실시간 프로토콜)는 실시간 멀티미디어(즉, 오디오 및 비디오)의 전송을 위해 사용된다. RTP는 그 자신이 전달하는 멀티미디어 정보의 유형에 관한 부가의 상세를 제공하기 위한 애플리케이션 계층 프로토콜이다. RTP는 전송 계층 상부에 존재하며 보통 UDP(사용자 데이터그램 프로토콜)의 최상단에서 전달된다. 클라이언트 애플리케이션에서의 RTP의 주요 기능은 RTP가 캡슐화하고 있는 페이로드의 유형(예를 들어, MPEG4, H.263, G.723 등)을 식별하는 것 뿐만 아니라 (오디오 및 비디오 동기화를 위한) 타임스탬프, 순서 번호를 전송하기 위한 것이다.
도 20은 본 발명의 예시적인 실시예에 따른 사용자 평면 프로토콜 스택(user plane protocol stack)(2000)을 나타낸 도면이다. 사용자 평면 프로토콜 스택(2000)은 한 계층 상의 비디오(2010)와 음성(2020), 다른 계층 상의 비디오(2010)와 음성(2020) 둘다를 위한 RTP(2030), 또다른 계층 상의 UDP 포트 #X(2040)와 UDP 포트 #Y(2050), IP 계층(2060), 링크 계층(2070), 및 물리 계층(2080)을 포함한다. 일반 RTP 헤더(generic RTP header)에 부가하여, 코덱 고유 RTP 헤더(codec specific RTP header)가 사용된다.
RTCP(실시간 제어 프로토콜)은 RTP 표준의 일부이다. RTCP는 송신자와 수신자 사이의 통계 보고 도구로서 사용된다. 각각의 비디오 컨퍼런스 클라이언트 애플리케이션(1800)은 그들의 통계를 수집하여 이를 서버(205)에게 뿐만 아니라 서로에게도 전송한다. 비디오 컨퍼런스 서버(205)는 이 데이터에 기초하여 세션 중에 일어날지도 모를 문제점들에 관한 정보를 기록한다.
도 21은 본 발명의 예시적인 실시예에 따른 제어 평면 프로토콜 스택(control plane protocol stack)(2100)을 나타낸 도면이다. 이 제어 평면 프로토콜 스택(2100)은 한 계층 상의 SIP(2110), UI 코덱 변경 메시징(2120) 및 RTCP(2130)와, TCP 계층(2140), IP 계층(2150), 링크 계층(2160), 및 물리 계층(2170)을 포함한다.
SDP의 주요 목적은 세션의 미디어 스트림에 관한 정보를 전달하는 것이다. SDP는 이하의 항목들, 즉 세션 이름 및 목적, 세션이 활성인 시간, 세션을 구성하는 미디어, 미디어를 수신하기 위한 정보(즉, 주소, 포트, 포맷 등), 미디어의 유형, 전송 프로토콜(RTP/UDP/IP), 미디어의 포맷(H.263 등), 멀티캐스트, 미디어의 멀티캐스트 주소, 미디어의 전송 포트, 유니캐스트, 및 미디어의 원격 주소를 포함하지만, 이에 한정되는 것은 아니다.
SDP 정보는 SIP 메시지의 메시지 보디이다. 이들은 함께 전송된다.
이제부터, 본 발명의 예시적인 실시예에 따른, 도 18a의 사용자 인터페이스(1808)에 대해 설명할 것이다. 사용자 인터페이스(1808)는 비디오 컨퍼런스 클라이언트 애플리케이션(1800)의 아주 중요한 요소이다. 사용자 인터페이스(1808)는 몇가지 뷰(디스플레이/버튼/메뉴/...)를 포함하며, 모든 입력 데이터(오디오/비디오 캡처, 버튼, 키 스트로크)를 처리할 수 있다.
도 22는 본 발명의 예시적인 실시예에 따른, 도 18a의 사용자 인터페이스(1808)에 대응하는 스크린 샷(2200)을 나타낸 블록도이다. 스크린 샷(2200)은 "대형 뷰"(big view)(2210), "소형 뷰"(small view)(2220), 채팅 뷰 부분(2230), 멤버 뷰 부분(2240), 및 채팅 편집 부분(2250)을 포함한다.
다시 도 18a를 참조하면, 비디오 캡처 인터페이스(1830)는 다음과 같은 웹 캠(web cam)(도시 생략), 캡처 카드 및 고품질 카메라(도시 생략), 카메라 인터페이스(1830a), 마이크로폰 인터페이스(1830b), 파일 인터페이스(1830c), 기타 중 임의의 것을 포함할 수 있다.
웹 캠은 윈도즈 오퍼레이팅 시스템에 의해 제공되는 VFW(Video For Windows) API(Application Programming Interface, 애플리케이션 프로그래밍 인터페이스)를 사용하여 USB 또는 파이어와이어(Firewire)(IEEE 1394) 인터페이스를 통해서나 또는 리눅스 등의 다른 오퍼레이팅 시스템 하에서 사용되는 대안의 캡처 드라이버를 통해 지원되어야만 한다. 물론, 본 발명은 상기의 인터페이스, 오퍼레이팅 시스템, 또는 드라이버에 한정되지 않으며, 따라서 다른 인터페이스, 오퍼레이팅 시스템 및 드라이버도 본 발명의 사상 및 범위를 유지하면서 사용될 수 있다.
멤버 뷰 모듈(1834)은 진행 중인 호에 참가하고 있는 멤버들을 보여주는 데 사용된다. 호의 개시자(즉, 마스터)는 원하지 않는 멤버를 누락시키거나 적극적인 멤버를 선택하거나 할 수 있다. 모든 멤버는 사적인 채팅 메시지 교환을 위한 하나 이상의 멤버를 선택할 수 있다. 게다가, 멤버의 상태는 멤버 뷰 모듈(1834)에 표시된다. 이어서, 멤버는 다른 멤버들에게 자기가 현재 자리에 없지만 곧 되돌아올 것임을 표시하기 위해 자기 자신의 상태를 예를 들면 "자리에 없음"(Unavailable)으로 설정할 수 있다.
비디오 스트림 이외에, 모든 멤버는 채팅 모듈(1836)을 사용하여 다른 멤버들 모두 또는 그의 일부에게만 채팅 메시지를 전송할 기회도 갖는다. 이 메시지는 채팅 뷰에 디스플레이되고 채팅 편집 뷰에서 편집된다. 스크롤바를 사용하여 오래된 메시지를 볼 수 있다.
이제부터, 본 발명의 예시적인 실시예에 따른, 클라이언트 애플리케이션(1800)의 동작 시나리오에 대해 설명할 것이다. 이하의 설명은 단지 클라이언트 애플리케이션(1800)의 특징들 중 일부에 대한 기본적인 지침에 불과하며 특성들의 전체 리스트를 나타내고자 한 것이 아니다. 이 설명은 로그인(login), 호의 개시(initiation), 호의 수락(acceptance), 및 로그오프(logoff)를 포괄하고 있다.
로그인은 클라이언트 애플리케이션(1800)이 처음으로 기동될 때 행해진다. 로그인은 시동시에 오퍼레이팅 시스템으로 제공된 로그인 이름에 기초하여 자동적으로 행해질 수 있거나, 로그인에 독립적인 다른 인터페이스가 사용될 수 있다. 그것은 현재 사용되고 있는 양호한 네트워크 인증 방법과, 정책들이 어떻게 운용되는지에 달려있다. 가장 간단한 방법은 명명의 일관성을 유지하고 또 (적용가능한 경우) 기존의 사용자 데이터베이스를 재사용할 수 있도록 윈도즈 오퍼레이팅 시스템에서 사용되는 것과 동일한 로그인 이름을 사용하는 것이다.
도 23은 본 발명의 예시적인 실시예에 따른 로그인 인터페이스(2300)을 나타낸 도면이다. 가입 기능(sign up feature)(2330)은 사용자가 현재 서버 상에 계정을 가지고 있지 않은 경우 사용된다. 이메일 주소는 용이한 접속을 위해 임의의 이메일 주소 입력 상자(2340)에 제공될 수 있다.
호를 개시하기 위해, 클라이언트 애플리케이션(1800)은 이용가능한 후보의 리스트를 얻기 위해 서버(205)에 질의를 한다. 클라이언트는 그 자신이 비디오 컨퍼런스 세션에 참여시키고자 하는 사용자들을 선택할 수 있다. 2명의 참가자가 참여하고 있는 경우 세션은 유니캐스트로서 설정되고, 그렇지 않고 2명을 넘는 참가자가 참여하고 있는 경우 세션은 멀티캐스트 세션으로서 설정된다.
도 24는 본 발명의 예시적인 실시예에 따른, 접속 설정(session initiation)을 위한 사용자 선택 인터페이스(2400)를 나타낸 블록도이다.
사용자가 호에 초대되면, 개시자의 이름을 보여주는 메시지가 사용자의 화면 상에 디스플레이된다. 이어서 사용자는 그 호를 수락하거나 거부할 수 있다. 사용자가 그 호를 수락하면, 클라이언트 애플리케이션(1800)은 수락 (또는 긍정 응답) 메시지를 서버(205)로 전송한다. 이어서, 서버(205)는 그 호에 현재 참가하고 있는 모든 멤버들에게 이 새로운 멤버에 관하여 알려준다. 사용자가 서버(205)로 취소 메시지를 전송함으로써 그 호를 거부하는 경우, 다른 모든 멤버들에게도 그러한 사실에 관하여 알려준다. 도 25는 본 발명의 예시적인 실시예에 따른, 착신 호(incoming call)를 수락(accept) 또는 거부(reject)하는 초청 인터페이스(invitation interface)(2500)를 나타낸 블록도이다.
로그오프는 비디오 컨퍼런스 서버(205)의 데이터베이스 엔티티(302)에 포함되어 있는 멤버 데이터베이스(314)로부터 사용자를 제거하게 된다. BYE 메시지가 그 세션에 참가 중인 클라이언트 각각에게로 전송된다. 이것은 멀티캐스트 또는 유니캐스트를 통해 행해질 수 있다. 멀티캐스트가 이 메시지를 전송하는 데 양호한 방법이다.
본 발명은 비디오 컨퍼런스 애플리케이션에 사용자 인터페이스를 제공하며, 이 사용자 인터페이스는 다수의 비디오 디스플레이 윈도우 크기(고해상도 및 저해상도 디코딩된 비디오 스트림을 표현하기 위한 서로 다른 크기의 디스플레이 윈도우)를 지원한다. 게다가, 본 발명은 서버가 비디오 컨퍼런스 세션 제어 클라이언트 또는 네트워크 장비로부터 전송된 메시지에 기초하여 각각의 개별 클라이언트의 비디오 인코딩 파라미터를 제어할 수 있게 해주는 메시징 시스템을 제공한다. 사용자 인터페이스 및 메시징 시스템은 비디오 컨퍼런스 세션에서의 제한된 인원의 사용자들(즉, 적극적 사용자들)만이 고해상도 및 고속 비트 레이트로 전송할 수 있는 환경을 구축하며, 나머지 사용자들(즉, 소극적 사용자들)은 제한된 비트 레이트 및 제한된 해상도로 전송할 수 있을 뿐이다. 비디오 컨퍼런스 세션에 적극적으로 참가하고 있지 않은 사용자에게 고해상도 및 고속 비트 레이트로 비디오를 전송하 지 않음으로써 네트워크에서 대역폭이 보다 효율적으로 사용될 수 있다. 사용자 인터페이스 및 메시징 시스템은 또한 본 명세서에서 총괄하여 "재생 제어 시스템"이라고도 불리운다. "적극적 사용자" 및 "적극적 참가자"라는 문구는 본 명세서에서 사용교환되어 사용될 수 있음을 잘 알 것이다. 게다가, "소극적 사용자" 및 "소극적 참가자"라는 문구는 본 명세서에서 사용교환되어 사용될 수 있음을 잘 알 것이다. 적극적 참가자는 비디오 컨퍼런스 세션에 적극적으로 참여하지 않고 있는 소극적 참가자와는 반대로 비디오 컨퍼런스 세션에 적극적으로 참여(예를 들면, 발언)하는 자이다.
본 발명의 예시적인 실시예에서, 비디오 컨퍼런스 세션 통제자(videoconference session controller)[이후 "세션 통제자"(session controller)라 함]는 어느 사용자가 고해상도로 전송하고 어느 사용자가 저해상도로 전송하는지를 제어한다. 예시적인 실시예에서, 세션 통제자는 비디오 컨퍼런스 세션의 (다른) 참가자들의 사용자 인터페이스보다 성능이 좋은 사용자 인터페이스를 가지며, 따라서 세션 통제자는 어느 참가자가 적극적 참가자이고 어느 참가자가 소극적 참가자인지를 선택할 수 있다. 세션 통제자는 비디오 컨퍼런스 세션의 개시자이거나 (비디오 컨퍼런스 세션의 다른 참가자 또는 심지어 비참가자를 포함하는) 어떤 다른 사람일 수 있다. 본 발명의 예시적인 실시예가 단 한명의 세션 통제자와 관련하여 기술되고 있지만 본 발명은 2명 이상의 세션 통제자를 사용하여 용이하게 구현될 수 있음을 잘 알 것이다. 또한, 적극적 사용자 및 소극적 사용자의 선택이 본 명세서에서는 2개의 서로 다른 사용자 인터페이스, 즉 세션 통제자용 의 (성능이 더 좋은) 한 사용자 인터페이스와 비디오 컨퍼런스의 (다른) 참가자용의 다른 사용자 인터페이스와 관련하여 기술되어 있지만 다른 개수의 사용자 인터페이스 및 그의 다른 구성 및 구현이 본 발명의 사상 및 범위를 유지하면서 당업자에 의해 용이하게 구현될 수 있음을 잘 알 것이다. 세션 통제자의 사용자 인터페이스는 이하에서 도 27을 참조하여 기술되고, (다른) 참가자들의 사용자 인터페이스는 이하에서 도 26을 참조하여 기술된다.
도 26은 본 발명의 예시적인 실시예에 따른 사용자 인터페이스(2600)를 나타낸 블록도이다. 본 발명의 예시적인 실시예에 따르면, 사용자 인터페이스(2600)는 비디오 컨퍼런스 시스템에서 서로 다른 해상도를 지원하기 위해 2개의 서로 다른 크기의 디스플레이 윈도우를 포함하고 있다. 설명의 목적상, 이 2개의 서로 다른 윈도우 크기는 다음과 같이 선택된다. 즉, 고해상도에는 352×288 윈도우(2630)가 선택되고 저해상도에는 88×72 윈도우(2640)가 선택된다. 본 발명이 상기 개수의 서로 다른 윈도우 크기에 한정되지 않고 또 상기 해상도에도 한정되지 않으며, 따라서 다른 개수의 서로 다른 윈도우 크기 및 해상도가 본 발명의 사상 및 범위를 유지하면서 이용될 수 있음을 잘 알 것이다. 즉, 본 명세서에 제공된 본 발명의 개시 내용을 보면, 당업자는 본 발명의 사상 및 범위를 유지하면서 본 발명의 이러한 구성 및 구현과 다른 여러가지 구성 및 구현을 용이하게 안출할 것이다.
예시적인 일례에서, 2명의 주요 참가자(즉, 적극적 참가자)가 고해상도로 인코딩 및 전송하고 있으며 이들은 대형 윈도우에 디스플레이된다. 나머지 참가자들(즉, 소극적 참가자들)은 저해상도로 인코딩 및 전송하고 있으며 이들은 소형 윈도우에 디스플레이된다.
도 27은 본 발명의 또다른 예시적인 실시예에 따른 사용자 인터페이스(2700)를 나타낸 블록도이다. 본 발명의 예시적인 실시예에 따르면, 비디오 컨퍼런스 세션의 세션 통제자는 다수의 참가자들 중 누가 비디오 컨퍼런스 세션에서 주요(즉, 적극적) 참가자인지를 그 자신이 선택할 수 있도록 해주는 보다 성능이 좋은 사용자 인터페이스를 가지게 된다. 본 발명의 예시적인 실시예에 따르면, 세션 통제자는 그 자신의 화면의 우측에 있는 윈도우(2640) 중 하나(저해상도 윈도우들 중 하나)를 선택함으로써 주요 참가자를 선택한다. 이 영상 위에서 더블클릭함으로써 또는 드래그-앤-드롭 프로세스를 통해, 선택된 참가자는 저해상도 모드에서 고해상도 모드로 전환되어진다. 현재 고해상도 모드에 있는 참가자들 중 한명이 이어서 저해상도 모드로 전환되어진다. 사용자 인터페이스(2700)는 고해상도의 352×288 윈도우(2630) 및 저해상도의 88×72 윈도우(2640)를 포함하는 것 이외에 텍스트 채팅 윈도우(2750) 및 상태 윈도우(2760)도 포함하고 있다.
비디오 컨퍼런스 세션의 참가자들이 세션 통제자에게 그 자신들이 적극적인 사용자가 되기를 원함을 통지할 수 있도록 페이징 버튼(2790) 등의 부가의 기능이 사용될 수 있다. 세션 통제자는 이어서 수동으로 이 참가자를 고해상도 모드로 전환시킬 수 있거나 그것은 자동화된 프로세스를 통해 행해질 수 있다.
도 15로 돌아가서, 메시지 "MSG_WINDOW_SWITCH"는 클라이언트(예를 들면, 세션 제어기)로부터 서버(205)로 전송된다. MSG_WINDOW_SWITCH 메시지는 2명의 참가자가 해상도를 전환하고 있음을 서버에 통지하는 데 사용된다. 즉, 한명의 참가자 는 고해상도에서 저해상도로 전환하고 있으며, 또한명의 참가자는 저해상도에서 고해상도로 전환하고 있다. 따라서, 2명의 참가자는 적극적 참가자와 소극적 참가자로서 역할을 전환한다. MSG_WINDOW_SWITCH 메시지는 세션 통제자가 새로운 적극적 참가자를 선택할 때 생성된다. 서버(205)가 MSG_WINDOW_SWITCH 메시지를 수신하면, 서버(205)는 그 메시지를 처리하고 그 세션에 참가하고 있는 각각의 클라이언트에게 메시지(MSG_ADJUST_CODEC)를 송출한다.
"MSG_ADJUST_CODEC" 메시지는 서버(205)로부터 비디오 컨퍼런스 세션 내의 각각의 클라이언트에게로 전송된다. MSG_ADJUST_CODEC 메시지는 각각의 클라이언트가 어느 비트 레이트로 전송하고 있는지(즉, 고속 비트 레이트인지 저속 비트 레이트인지)에 관하여 그들에게 통지한다. MSG_ADJUST_CODEC 메시지는 또한 고속 비트 레이트로 전송하고 있는 클라이언트의 IP 주소도 포함하고 있다. 이 정보는 각각의 착신 비디오 스트림마다 사용자 인터페이스 상에 어느 윈도우가 디스플레이되는지를 결정하는 데 사용된다.
이와 같이, 상기 도 16 및 도 17은 2명의 참가자(클라이언트 2와 클라이언트 3)를 각각 적극적 참가자에서 소극적 참가자로 전환하기 이전 및 그 이후의 네트워크에서의 데이터 전송을 나타낸 것이다. 도 15는 그 전환을 행하기 위해 이용되는 시그널링을 나타낸 것이다.
이상의 예시적인 실시예들이 본 명세서에서 첨부 도면을 참조하여 기술되어 있지만, 본 발명이 이들 구체적인 실시예들에 한정되지 않으며 여러가지 다른 변경 및 수정이 당업자에 의해 본 발명의 범위 또는 사상을 벗어나지 않고 그 안에서 시 행해질 수 있음을 잘 알 것이다. 이러한 변경 및 수정 모두는 첨부된 청구항들에 의해 정의되어 있는 본 발명의 범위 내에 포함되는 것으로 보아야 한다.
Claims (38)
- 네트워크에 걸쳐 있는 비디오 컨퍼런스 시스템의 재생 제어 시스템에 있어서,다수의 디스플레이 윈도우를 갖는 사용자 인터페이스 - 상기 다수의 디스플레이 윈도우는 서로 간에 서로 다른 해상도들 및 프레임 레이트들이 동시에 디스플레이되도록 허용함 -, 및개별적인 디스플레이 요구 사항에 따라 디스플레이 및 전송 특성을 관리하는 메시징 시스템을 포함하는 재생 제어 시스템.
- 제1항에 있어서,상기 디스플레이 및 전송 특성은 인코딩 해상도와 전송 비트 레이트를 포함하는 재생 제어 시스템.
- 제1항에 있어서,상기 메시징 시스템은, 현재의 비디오 컨퍼런스 세션과 관련하여 적극적 참가자에서 수동적 참가자로 변경하는 것과 수동적 참가자에서 적극적인 참가자로 변경하는 것 중 하나를 나타내는 메시지의 전송 및 수신 중 적어도 하나를 수행하는 기능을 포함하는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스 및 상기 메시징 시스템은, 비디오 컨퍼런스 세션의 적극적 참가자들이 비디오 컨퍼런스 세션의 소극적 참가자들보다 고해상도 및 고속 프레임 레이트 중 적어도 하나로 비디오 데이터를 전송하도록 구성되어 있는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스는, 현재의 비디오 컨퍼런스 세션과 관련하여 해당 참가자가 적극적 참가자인지 소극적 참가자인지에 기초하여 상기 다수의 디스플레이 윈도우 사이를 전환할 수 있는 재생 제어 시스템.
- 제1항에 있어서,상기 메시징 시스템은, 현재의 비디오 컨퍼런스 세션과 관련하여 비디오 데이터가 전송되어야만 하는 해상도 및 프레임 레이트를 나타내는 메시지의 전송 및 수신 중 적어도 하나를 수행하는 기능을 포함하는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스는 비디오 컨퍼런스 세션 동안 다수의 디코더를 생성하는 기능을 갖는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스는 각각의 수신된 비디오 데이터 스트림마다 하나의 디코더를 생성하는 기능을 갖는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스는 동일한 비디오 컨퍼런스 세션 동안 서로 다른 디코더를 생성, 교환 및 이용하는 기능을 갖는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스는 서로 다른 비디오 컨퍼런스 세션에 대해 서로 다른 디코더를 생성, 교환 및 이용하는 기능을 갖는 재생 제어 시스템.
- 제1항에 있어서,로컬 오디오 데이터 및 로컬 비디오 데이터 중 적어도 하나를 적어도 캡처하는 오디오/비디오 캡처 인터페이스를 더 포함하는 재생 제어 시스템.
- 제11항에 있어서,상기 오디오/비디오 캡처 인터페이스는 카메라 인터페이스, 마이크로폰 인터페이스, 및 파일 인터페이스 중 적어도 하나를 포함하는 재생 제어 시스템.
- 제1항에 있어서,상기 사용자 인터페이스는 현재의 비디오 컨퍼런스 세션과 관련하여 해당 참가자가 적극적 참가자에서 소극적 참가자로의 전환 및 소극적 참가자에서 적극적 참가자로의 전환 중 하나를 요청하고 있음을 알려주는 페이징 버튼(paging button)을 포함하는 재생 제어 시스템.
- 제1항에 있어서,상기 네트워크는 적어도 2개의 클라이언트 장치와 적어도 하나의 서버를 포함하고,상기 사용자 인터페이스는 상기 적어도 2개의 클라이언트 장치 중 어느 것에 의해서도 사용되도록 구성되어 있는 재생 제어 시스템.
- 제1항에 있어서,상기 네트워크는 적어도 2개의 클라이언트 장치와 적어도 하나의 서버를 포함하며,상기 메시징 시스템은 상기 서버 및 상기 적어도 2개의 클라이언트 장치 중 어느 것에 의해서도 사용되도록 구성되어 있는 재생 제어 시스템.
- 비디오 컨퍼런싱 시스템의 사용자 인터페이스에 있어서,동시에 디스플레이될 수 있는 다수의 디스플레이 윈도우를 갖는 비디오 재생 장치 - 상기 다수의 디스플레이 윈도우는 서로 간에 서로 다른 해상도들 및 프레임 레이트들이 디스플레이되도록 허용함 -를 포함하는 사용자 인터페이스.
- 제16항에 있어서,상기 비디오 재생 장치는, 비디오 컨퍼런스 세션의 적극적 참가자들이 비디오 데이터를 상기 비디오 컨퍼런스 세션의 소극적 참가자들보다 고해상도 및 고속 프레임 레이트 중 적어도 하나로 전송하도록 구성되어 있는 사용자 인터페이스.
- 제16항에 있어서,상기 비디오 재생 장치는 비디오 컨퍼런스 세션 동안 다수의 디코더를 생성하는 기능을 갖는 사용자 인터페이스.
- 제16항에 있어서,상기 비디오 재생 장치는 각각의 수신된 비디오 데이터 스트림마다 하나의 디코더를 생성하는 기능을 갖는 사용자 인터페이스.
- 제16항에 있어서,상기 비디오 재생 장치는 동일한 비디오 컨퍼런스 세션 동안 서로 다른 디코더를 생성, 교환 및 이용하는 기능을 갖는 사용자 인터페이스.
- 제16항에 있어서,상기 비디오 재생 장치는 서로 다른 비디오 컨퍼런스 세션에 대해 서로 다른 디코더를 생성, 교환 및 이용하는 기능을 갖는 사용자 인터페이스.
- 제16항에 있어서,상기 사용자 인터페이스는 로컬 오디오 데이터 및 로컬 비디오 데이터 중 적어도 하나를 적어도 캡처하는 오디오/비디오 캡처 인터페이스를 더 포함하는 사용자 인터페이스.
- 제22항에 있어서,상기 오디오/비디오 캡처 인터페이스는 카메라 인터페이스, 마이크로폰 인터페이스, 및 파일 인터페이스 중 적어도 하나를 포함하는 사용자 인터페이스.
- 제16항에 있어서,상기 사용자 인터페이스는 현재의 비디오 컨퍼런스 세션과 관련하여 해당 참가자가 적극적 참가자에서 소극적 참가자로의 전환 및 소극적 참가자에서 적극적 참가자로의 전환 중 하나를 요청하고 있음을 알려주기 위한 페이징 버튼을 포함하는 사용자 인터페이스.
- 네트워크에 걸쳐 있는 비디오 컨퍼런스 시스템의 서버에 있어서,개별적인 디스플레이 요구 사항에 따라 비디오 컨퍼런스 컨텐츠의 디스플레이 및 전송 특성을 관리하는 메시징 시스템을 포함하는 서버.
- 제25항에 있어서,상기 메시징 시스템은 현재의 비디오 컨퍼런스 세션과 관련하여 적극적 참가자에서 소극적 참가자로의 변경 및 소극적 참가자에서 적극적 참가자로의 변경 중 하나를 나타내는 메시지의 전송 및 수신 중 적어도 하나를 수행하는 기능을 포함하는 서버.
- 제25항에 있어서,상기 메시징 시스템은 현재의 비디오 컨퍼런스 세션과 관련하여 컨텐츠가 전송되어야만 하는 해상도 및 프레임 레이트를 나타내는 메시지의 전송 및 수신 중 적어도 하나를 수행하는 기능을 포함하는 서버.
- 비디오 컨퍼런스 세션에 대응하는 콘텐츠를 디스플레이하는 방법에 있어서,디스플레이 장치에서, 동시에 디스플레이될 수 있는 다수의 디스플레이 윈도우를 제공하는 단계 - 상기 다수의 디스플레이 윈도우는 서로 간에 서로 다른 해상도들 및 프레임 레이트들이 디스플레이되도록 허용함 -를 포함하는 방법.
- 제28항에 있어서,상기 제공 단계는 상기 비디오 컨퍼런스 세션과 관련하여 해당 참가자가 적극적 참가자인지 소극적 참가자인지에 기초하여 상기 다수의 디스플레이 윈도우 사이를 전환하는 기능을 제공하는 단계를 포함하는 방법.
- 제28항에 있어서,상기 비디오 컨퍼런스 세션 동안 다수의 디코더를 생성하는 기능을 제공하는 단계를 더 포함하는 방법.
- 제28항에 있어서,각각의 수신된 콘텐츠 스트림마다 하나의 디코더를 생성하는 기능을 제공하는 단계를 더 포함하는 방법.
- 제28항에 있어서,상기 비디오 컨퍼런스 세션 동안 서로 다른 디코더를 생성, 교환 및 이용하는 것 중 적어도 하나를 수행하는 기능을 제공하는 단계를 더 포함하는 방법.
- 제28항에 있어서,개별적인 디스플레이 요구 사항에 따라 디스플레이 및 전송 특성을 관리하는 기능을 제공하는 단계를 더 포함하는 방법.
- 제33항에 있어서,상기 디스플레이 및 전송 특성은 인코딩 해상도 및 전송 비트 레이트를 포함하는 방법.
- 제33항에 있어서,디스플레이 및 전송 특성을 관리하는 기능을 제공하는 상기 단계는, 상기 비디오 컨퍼런스 세션과 관련하여 적극적 참가자에서 소극적 참가자로의 변경 및 소극적 참가자에서 적극적 참가자로의 변경 중 하나를 나타내는 메시지의 전송 및 수신 중 적어도 하나를 수행하는 기능을 제공하는 단계를 포함하는 방법.
- 제28항에 있어서,상기 비디오 컨퍼런스 세션의 적극적 참가자들에게 상기 비디오 컨퍼런스 세션의 소극적 참가자들보다 고해상도로 콘텐츠를 인코딩 및 전송하는 기능을 제공하는 단계를 더 포함하는 방법.
- 제32항에 있어서,디스플레이 및 전송 특성을 관리하는 기능을 제공하는 상기 단계는, 상기 비디오 컨퍼런스에 대응하는 콘텐츠를 전송하기 위한 해상도 및 프레임 레이트를 나타내는 메시지의 전송 및 수신 중 적어도 하나를 수행하는 기능을 제공하는 단계를 포함하는 방법.
- 제28항에 있어서,해당 참가자가 적극적 참가자에서 소극적 참가자로의 전환 및 소극적 참가자에서 적극적 참가자로의 전환을 요청하고 있음을 알려주는 페이징 신호를 출력하는 기능을 제공하는 단계를 더 포함하는 방법.
Applications Claiming Priority (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34180101P | 2001-12-15 | 2001-12-15 | |
US34167101P | 2001-12-15 | 2001-12-15 | |
US34181901P | 2001-12-15 | 2001-12-15 | |
US34179701P | 2001-12-15 | 2001-12-15 | |
US34180001P | 2001-12-15 | 2001-12-15 | |
US34172001P | 2001-12-15 | 2001-12-15 | |
US34179901P | 2001-12-15 | 2001-12-15 | |
US60/341,800 | 2001-12-15 | ||
US60/341,671 | 2001-12-15 | ||
US60/341,799 | 2001-12-15 | ||
US60/341,797 | 2001-12-15 | ||
US60/341,720 | 2001-12-15 | ||
US60/341,801 | 2001-12-15 | ||
US60/341,819 | 2001-12-15 | ||
US36633102P | 2002-03-20 | 2002-03-20 | |
US60/366,331 | 2002-03-20 | ||
PCT/US2002/039984 WO2003052613A1 (en) | 2001-12-15 | 2002-12-13 | Videoconference application user interface with messaging system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040069328A KR20040069328A (ko) | 2004-08-05 |
KR100960772B1 true KR100960772B1 (ko) | 2010-06-01 |
Family
ID=27575409
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7009219A KR20040071200A (ko) | 2001-12-15 | 2002-12-11 | 화상회의 대역폭 선택 메커니즘 |
KR1020047009196A KR100948317B1 (ko) | 2001-12-15 | 2002-12-11 | 클라이언트 사이의 세션을 위한 QoS 계약의 설정 능력을 제공하는 방법 및 시스템 |
KR1020047009220A KR100971273B1 (ko) | 2001-12-15 | 2002-12-12 | 클라이언트 사이에 멀티캐스트 세션을 설정하기 위한 방법 및 시스템 |
KR10-2004-7009195A KR20040071199A (ko) | 2001-12-15 | 2002-12-12 | 유니캐스트에서 멀티캐스트로의 화상회의 세션 스위칭 |
KR10-2004-7009308A KR20040062994A (ko) | 2001-12-15 | 2002-12-13 | 비디오 회의 시스템에서 개인 대화 채널을 제공하는 방법및 시스템 |
KR1020047009109A KR100960772B1 (ko) | 2001-12-15 | 2002-12-13 | 메시징 시스템을 갖는 비디오 컨퍼런스 애플리케이션사용자 인터페이스 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7009219A KR20040071200A (ko) | 2001-12-15 | 2002-12-11 | 화상회의 대역폭 선택 메커니즘 |
KR1020047009196A KR100948317B1 (ko) | 2001-12-15 | 2002-12-11 | 클라이언트 사이의 세션을 위한 QoS 계약의 설정 능력을 제공하는 방법 및 시스템 |
KR1020047009220A KR100971273B1 (ko) | 2001-12-15 | 2002-12-12 | 클라이언트 사이에 멀티캐스트 세션을 설정하기 위한 방법 및 시스템 |
KR10-2004-7009195A KR20040071199A (ko) | 2001-12-15 | 2002-12-12 | 유니캐스트에서 멀티캐스트로의 화상회의 세션 스위칭 |
KR10-2004-7009308A KR20040062994A (ko) | 2001-12-15 | 2002-12-13 | 비디오 회의 시스템에서 개인 대화 채널을 제공하는 방법및 시스템 |
Country Status (8)
Country | Link |
---|---|
US (5) | US9014059B2 (ko) |
EP (6) | EP1454451A1 (ko) |
JP (7) | JP2005513865A (ko) |
KR (6) | KR20040071200A (ko) |
CN (6) | CN1618071B (ko) |
AU (6) | AU2002357813A1 (ko) |
MX (6) | MXPA04005816A (ko) |
WO (6) | WO2003052993A2 (ko) |
Families Citing this family (201)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003081449A1 (en) * | 2002-03-20 | 2003-10-02 | Thomson Licensing S.A. | Videoconference system architecture |
GB0230301D0 (en) * | 2002-12-30 | 2003-02-05 | Nokia Corp | Streaming media |
US7360164B2 (en) * | 2003-03-03 | 2008-04-15 | Sap Ag | Collaboration launchpad |
US20040228291A1 (en) * | 2003-05-15 | 2004-11-18 | Huslak Nicolas Steven | Videoconferencing using managed quality of service and/or bandwidth allocation in a regional/access network (RAN) |
EP1631917B1 (en) | 2003-06-12 | 2010-12-08 | Camiant, Inc. | Dynamic service delivery with topology discovery for communication networks |
AU2004247251B2 (en) * | 2003-06-12 | 2009-01-22 | Camiant, Inc. | PCMM application manager |
US7146185B2 (en) * | 2003-06-12 | 2006-12-05 | Richard Lane | Mobile station-centric method for managing bandwidth and QoS in error-prone system |
CN100337430C (zh) * | 2003-07-19 | 2007-09-12 | 华为技术有限公司 | 一种例外通配的实现方法 |
US7369493B2 (en) * | 2003-10-28 | 2008-05-06 | At&T Corp. | Congestion control in an IP network |
US7778326B1 (en) * | 2003-12-23 | 2010-08-17 | At&T Intellectual Property Ii, L.P. | System and method for dynamically determining multimedia transmission based on communication bandwidth |
US20050265318A1 (en) * | 2004-01-08 | 2005-12-01 | Nokia Corporation | Apparatus, system, and method for rejecting a session establishment request |
US20050154793A1 (en) * | 2004-01-08 | 2005-07-14 | Hisham Khartabil | Apparatus, system, and method for rejecting a session establishment request |
MXPA06007673A (es) * | 2004-01-22 | 2006-09-04 | Ericsson Telefon Ab L M | Control de acceso para peticion de canal de multidifusion. |
US20050188415A1 (en) * | 2004-01-23 | 2005-08-25 | Camiant, Inc. | Video policy server |
US7788357B2 (en) * | 2004-01-23 | 2010-08-31 | Camiant, Inc. | Policy-based admission control and bandwidth reservation for future sessions |
FR2866768A1 (fr) * | 2004-02-19 | 2005-08-26 | France Telecom | Procede d'acces a un service a travers un reseau d'acces multivoies |
JP4049115B2 (ja) * | 2004-03-15 | 2008-02-20 | セイコーエプソン株式会社 | プロジェクタ |
US7773581B2 (en) * | 2004-03-19 | 2010-08-10 | Ericsson Ab | Method and apparatus for conferencing with bandwidth control |
US7062286B2 (en) * | 2004-04-05 | 2006-06-13 | Motorola, Inc. | Conversion of calls from an ad hoc communication network |
KR20050099899A (ko) * | 2004-04-12 | 2005-10-17 | 엘지전자 주식회사 | UPnP 네트워크의 IP 멀티캐스트 할당 방법 |
JP4571437B2 (ja) * | 2004-05-31 | 2010-10-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 解像度が異なる複数のウィンドウを表示するためのシステム、方法およびプログラム |
US7756594B2 (en) * | 2004-06-14 | 2010-07-13 | Microsoft Corporation | Systems and methods for parsing flexible audio codec topologies |
KR100840365B1 (ko) | 2004-07-30 | 2008-06-20 | 삼성전자주식회사 | 다중 피.오.씨 세션의 세션 결합 방법 및 그 시스템 |
US7590065B2 (en) * | 2004-08-04 | 2009-09-15 | Microsoft Corporation | Equal-opportunity bandwidth regulation |
US20060031607A1 (en) * | 2004-08-05 | 2006-02-09 | Microsoft Corporation | Systems and methods for managing input ring buffer |
CN100409683C (zh) * | 2004-08-10 | 2008-08-06 | 中兴通讯股份有限公司 | 一种在视讯运营平台上召开视频会议的方法 |
CN100417220C (zh) * | 2004-09-28 | 2008-09-03 | 中兴通讯股份有限公司 | 一种通过终端拨号召开多点视频会议的方法 |
US7706901B2 (en) | 2004-10-01 | 2010-04-27 | Microsoft Corporation | Low latency real-time audio streaming |
US7256816B2 (en) | 2004-10-25 | 2007-08-14 | 3V Technologies Incorporated | Systems and processes for scheduling and conducting audio/video communications |
KR100739489B1 (ko) * | 2004-12-13 | 2007-07-13 | 한국전자통신연구원 | 서버와 클라이언트의 사이의 네트워크 경로에 속하는라우터에 접속하는 대역폭 브로커 및 차등화 서비스 제공방법 |
CN100403794C (zh) * | 2004-12-29 | 2008-07-16 | 华为技术有限公司 | 一种实现流媒体业务的视讯终端和方法 |
US20060168331A1 (en) * | 2005-01-06 | 2006-07-27 | Terevela, Inc. | Intelligent messaging application programming interface |
US7796603B1 (en) | 2005-01-14 | 2010-09-14 | Acme Packet, Inc. | Method and system for controlling media sessions in networks that use communication protocols with distinct signaling and media channels |
US8249076B1 (en) * | 2005-01-14 | 2012-08-21 | Acme Packet, Inc. | Method, system and architecture for validating media sessions in networks that use communication protocols with distinct signaling and media channels |
CN100505864C (zh) * | 2005-02-06 | 2009-06-24 | 中兴通讯股份有限公司 | 一种多点视频会议系统及其媒体处理方法 |
US7558267B2 (en) * | 2005-02-11 | 2009-07-07 | Microsoft Corporation | Method and system for placing restrictions on sessions |
JP4700977B2 (ja) * | 2005-02-16 | 2011-06-15 | 富士通株式会社 | 多地点会議システム |
US7716283B2 (en) * | 2005-02-16 | 2010-05-11 | Microsoft Corporation | Television system video conferencing |
US7830409B2 (en) * | 2005-03-25 | 2010-11-09 | Cherng-Daw Hwang | Split screen video in a multimedia communication system |
US8352853B2 (en) * | 2005-06-30 | 2013-01-08 | Motorola Mobility Llc | Composer circuit and method for encoding device independent multi-modal content |
AU2005334066A1 (en) * | 2005-06-30 | 2007-01-11 | Promim Pty Ltd | A system and method for controlling transmission and display of video |
CN100448228C (zh) * | 2005-09-02 | 2008-12-31 | 杭州华三通信技术有限公司 | 组播报文穿越非组播网络的方法及其应用的网络系统 |
JP2009507450A (ja) | 2005-09-07 | 2009-02-19 | ヴィドヨ,インコーポレーテッド | 高信頼性基本層トランクに関するシステムおよび方法 |
JP4722656B2 (ja) * | 2005-09-29 | 2011-07-13 | 京セラ株式会社 | 無線通信装置及び無線通信方法 |
KR100677497B1 (ko) * | 2005-11-02 | 2007-02-02 | 엘지전자 주식회사 | 단말기의 중복 통보 메시지 처리 방법 |
US7889732B2 (en) * | 2005-12-22 | 2011-02-15 | Alcatel-Lucent Usa, Inc. | Method for converting between unicast sessions and a multicast session |
US8436889B2 (en) * | 2005-12-22 | 2013-05-07 | Vidyo, Inc. | System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers |
EP1972108A4 (en) * | 2005-12-23 | 2015-08-26 | Netsocket Inc | OPERATING MANAGER FOR MEDIA DISTRIBUTION IN AN IP NETWORK |
CN100531381C (zh) * | 2006-01-27 | 2009-08-19 | 中国科学院声学研究所 | 基于rtp协议的iptv机顶盒组/单播无缝切换方法 |
CN101030918B (zh) * | 2006-03-03 | 2010-06-02 | 华为技术有限公司 | 一种基于ip网络提供组播业务的方法、设备和系统 |
CN100428796C (zh) * | 2006-03-13 | 2008-10-22 | 华为技术有限公司 | 视频点播方法、系统、服务器和终端 |
JP4977385B2 (ja) * | 2006-03-15 | 2012-07-18 | 日本電気株式会社 | テレビ会議システム及びテレビ会議方法 |
US8477662B2 (en) * | 2006-04-28 | 2013-07-02 | Vidcom Corporation | Court video teleconferencing system and method |
US7983201B2 (en) * | 2006-05-09 | 2011-07-19 | Avaya Inc. | Coordinated invitations to a conference call |
US8571012B2 (en) * | 2006-05-12 | 2013-10-29 | Oracle International Corporation | Customized sip routing to cross firewalls |
US8582555B2 (en) * | 2006-05-12 | 2013-11-12 | Oracle International Corporation | SIP routing customization |
CN101047748B (zh) * | 2006-05-16 | 2011-09-14 | 华为技术有限公司 | 会客厅业务的方法 |
US7565616B2 (en) * | 2006-06-02 | 2009-07-21 | Hewlett-Packard Development Company, L.P. | System for controlling display content for multiple electronic display units |
US7945620B2 (en) * | 2006-06-13 | 2011-05-17 | International Business Machines Corporation | Chat tool for concurrently chatting over more than one interrelated chat channels |
US20070291108A1 (en) * | 2006-06-16 | 2007-12-20 | Ericsson, Inc. | Conference layout control and control protocol |
US8284915B2 (en) * | 2006-06-30 | 2012-10-09 | At&T Intellectual Property Ii, L.P. | Method and apparatus for providing virtual closed circuit television |
WO2008042852A2 (en) * | 2006-09-29 | 2008-04-10 | Vidyo, Inc. | System and method for multipoint conferencing with scalable video coding servers and multicast |
TW200816707A (en) * | 2006-07-31 | 2008-04-01 | Ibm | System, method and computer program for transferring information on network |
EP1887751A1 (en) * | 2006-08-11 | 2008-02-13 | Nokia Siemens Networks Gmbh & Co. Kg | Method and system for synchronizing at least two media streams within one push-to-talk-over-cellular session |
US8817668B2 (en) * | 2006-09-15 | 2014-08-26 | Microsoft Corporation | Distributable, scalable, pluggable conferencing architecture |
US8235724B2 (en) | 2006-09-21 | 2012-08-07 | Apple Inc. | Dynamically adaptive scheduling system |
US8429223B2 (en) * | 2006-09-21 | 2013-04-23 | Apple Inc. | Systems and methods for facilitating group activities |
US8956290B2 (en) | 2006-09-21 | 2015-02-17 | Apple Inc. | Lifestyle companion system |
US8745496B2 (en) | 2006-09-21 | 2014-06-03 | Apple Inc. | Variable I/O interface for portable media device |
US8001472B2 (en) | 2006-09-21 | 2011-08-16 | Apple Inc. | Systems and methods for providing audio and visual cues via a portable electronic device |
US8576851B2 (en) * | 2006-09-22 | 2013-11-05 | Microsoft Corporation | Integrating data with conversations |
US8249068B2 (en) * | 2006-10-20 | 2012-08-21 | Alcatel Lucent | Method and apparatus for establishing multicast groups |
US8311197B2 (en) * | 2006-11-10 | 2012-11-13 | Cisco Technology, Inc. | Method and system for allocating, revoking and transferring resources in a conference system |
US20080120370A1 (en) * | 2006-11-22 | 2008-05-22 | Brian Chan | Virtual Meeting Server Discovery |
US10389762B2 (en) * | 2006-12-19 | 2019-08-20 | Bce Inc. | Method, system and apparatus for causing a communication client to join a media-over-packet communication session |
JPWO2008105429A1 (ja) * | 2007-02-27 | 2010-06-03 | 京セラ株式会社 | 通信端末およびその制御方法 |
CN101257395B (zh) * | 2007-02-27 | 2010-12-08 | 中国移动通信集团公司 | 支持多媒体会议预约的系统及方法 |
US8631069B2 (en) * | 2007-03-01 | 2014-01-14 | Oracle International Corporation | Web and multi-media conference |
US7701970B2 (en) * | 2007-04-10 | 2010-04-20 | International Business Machines Corporation | Protocol negotiation for a group communication system |
US8243119B2 (en) | 2007-09-30 | 2012-08-14 | Optical Fusion Inc. | Recording and videomail for video conferencing call systems |
WO2009063762A1 (ja) * | 2007-11-12 | 2009-05-22 | Nec Corporation | データ通信システムおよび方法およびプログラム |
WO2009074081A1 (fr) * | 2007-11-30 | 2009-06-18 | Huawei Technologies Co., Ltd. | Méthode, système et dispositif d'établissement d'une porteuse en diffusion broadcast ou en diffusion multicast |
EP2223538B1 (en) | 2007-12-17 | 2016-03-23 | Telefonaktiebolaget LM Ericsson (publ) | Method and arrangement for network qos |
JP4516594B2 (ja) * | 2007-12-27 | 2010-08-04 | 株式会社日立製作所 | メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム |
US8904031B2 (en) * | 2007-12-31 | 2014-12-02 | Genesys Telecommunications Laboratories, Inc. | Federated uptake throttling |
KR101499549B1 (ko) * | 2008-01-15 | 2015-03-06 | 삼성전자주식회사 | 원격 접속 서비스를 제공하는 UPnP 장치 및 그 방법 |
US8379533B2 (en) * | 2008-01-15 | 2013-02-19 | Samsung Electronics Co., Ltd. | Universal plug and play method and apparatus to provide remote access service |
US9113334B2 (en) * | 2008-02-01 | 2015-08-18 | Tekelec, Inc. | Methods, systems, and computer readable media for controlling access to voice resources in mobile networks using mobility management signaling messages |
US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
US8630192B2 (en) | 2009-01-28 | 2014-01-14 | Headwater Partners I Llc | Verifiable and accurate service usage monitoring for intermediate networking devices |
US8832777B2 (en) * | 2009-03-02 | 2014-09-09 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
US8589541B2 (en) | 2009-01-28 | 2013-11-19 | Headwater Partners I Llc | Device-assisted services for protecting network capacity |
US20150156455A1 (en) * | 2008-07-01 | 2015-06-04 | Michael J. Maresca, JR. | System and method for enabling realtime remote communication in the medical field |
US20100005497A1 (en) * | 2008-07-01 | 2010-01-07 | Michael Maresca | Duplex enhanced quality video transmission over internet |
US8346923B2 (en) * | 2008-11-12 | 2013-01-01 | Sophos Plc | Methods for identifying an application and controlling its network utilization |
NO332009B1 (no) * | 2008-12-12 | 2012-05-21 | Cisco Systems Int Sarl | Fremgangsmate for a igangsette kommunikasjonsforbindelser |
US8380790B2 (en) * | 2008-12-15 | 2013-02-19 | Microsoft Corporation | Video conference rate matching |
US20100149301A1 (en) * | 2008-12-15 | 2010-06-17 | Microsoft Corporation | Video Conferencing Subscription Using Multiple Bit Rate Streams |
US8149263B2 (en) * | 2009-01-21 | 2012-04-03 | Freeport Technologies | Distributed scheduling, call control, and resource management for dispersed dynamic video communications networks |
US9565707B2 (en) | 2009-01-28 | 2017-02-07 | Headwater Partners I Llc | Wireless end-user device with wireless data attribution to multiple personas |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US9300708B2 (en) | 2009-02-05 | 2016-03-29 | Google Technology Holdings LLC | Connecting to a multimedia broadcast/multicast service channel |
US9025927B2 (en) * | 2009-03-25 | 2015-05-05 | Cyberlink Corp. | Systems and methods of variable frame rate playback |
US8977684B2 (en) * | 2009-04-14 | 2015-03-10 | Citrix Systems, Inc. | Systems and methods for computer and voice conference audio transmission during conference call via VoIP device |
US8352600B2 (en) * | 2009-04-21 | 2013-01-08 | Alcatel Lucent | System and method for determining a maximum packet data unit (PDU) payload transmission size for communicating in a managed computer network system |
US8437282B2 (en) * | 2009-06-21 | 2013-05-07 | Clearone Communications Hong Kong Limited | System and method of multi-endpoint data conferencing |
JP5373969B2 (ja) * | 2009-07-08 | 2013-12-18 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ネットワークにおける進行中のデータ配信時のセッション切り換え |
CN101990083B (zh) * | 2009-07-29 | 2014-04-09 | 宏碁股份有限公司 | 视频会议信号处理系统 |
CN101640787B (zh) * | 2009-08-24 | 2011-10-26 | 中兴通讯股份有限公司 | 一种层次化控制访问组播组的方法和装置 |
US20110066745A1 (en) * | 2009-09-14 | 2011-03-17 | Sony Ericsson Mobile Communications Ab | Sharing video streams in commnication sessions |
CN102055949B (zh) * | 2009-11-02 | 2013-10-02 | 华为终端有限公司 | 多媒体会议的录播方法、装置及系统、回播方法及装置 |
US8411129B2 (en) * | 2009-12-14 | 2013-04-02 | At&T Intellectual Property I, L.P. | Video conference system and method using multicast and unicast transmissions |
US8471890B1 (en) | 2009-12-30 | 2013-06-25 | Insors Integrated Communications | Adaptive video communication channel |
US9205328B2 (en) | 2010-02-18 | 2015-12-08 | Activision Publishing, Inc. | Videogame system and method that enables characters to earn virtual fans by completing secondary objectives |
KR101422040B1 (ko) * | 2010-02-23 | 2014-07-30 | 엘지전자 주식회사 | 홈네트워크 시스템에서 세션 개시 방법 및 장치 |
CN101795388A (zh) * | 2010-04-07 | 2010-08-04 | 兴旺 | 楼宇可视对讲方法及系统 |
US9682324B2 (en) | 2010-05-12 | 2017-06-20 | Activision Publishing, Inc. | System and method for enabling players to participate in asynchronous, competitive challenges |
US8717409B2 (en) * | 2010-05-13 | 2014-05-06 | Lifesize Communications, Inc. | Conducting a direct private videoconference within a videoconference |
US8717408B2 (en) * | 2010-05-13 | 2014-05-06 | Lifesize Communications, Inc. | Conducting a private videoconference within a videoconference via an MCU |
JP5392185B2 (ja) * | 2010-05-28 | 2014-01-22 | コニカミノルタ株式会社 | 動画配信システム、そのためのサーバ、動画の配信方法、およびコンピュータプログラム |
US8947492B2 (en) | 2010-06-18 | 2015-02-03 | Microsoft Corporation | Combining multiple bit rate and scalable video coding |
US8576271B2 (en) * | 2010-06-25 | 2013-11-05 | Microsoft Corporation | Combining direct and routed communication in a video conference |
CN102316301B (zh) | 2010-06-29 | 2014-05-07 | 华为终端有限公司 | 会议切换的方法、系统及设备 |
CN101945245B (zh) * | 2010-09-06 | 2013-09-25 | 华为终端有限公司 | 视讯会议应用的实现方法、装置及系统 |
KR20120047621A (ko) * | 2010-11-04 | 2012-05-14 | 한국전자통신연구원 | 멀티 홉 다중 입출력 시스템 및 방법 |
KR20120083820A (ko) * | 2011-01-18 | 2012-07-26 | 삼성전자주식회사 | 컨텐츠 전송 시스템에서 컨텐츠 전송 방법 및 장치 |
US20120259924A1 (en) * | 2011-04-05 | 2012-10-11 | Cisco Technology, Inc. | Method and apparatus for providing summary information in a live media session |
NZ595638A (en) | 2011-10-07 | 2013-09-27 | Let S Powow Ltd | Collaboration Extension System |
CN102348168A (zh) * | 2011-10-14 | 2012-02-08 | 华为终端有限公司 | 一种群组通话的方法、终端及应用服务器 |
US9942580B2 (en) * | 2011-11-18 | 2018-04-10 | At&T Intellecutal Property I, L.P. | System and method for automatically selecting encoding/decoding for streaming media |
CN102387049B (zh) * | 2011-11-25 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种基于snmp协议的云服务质量评价方法 |
KR101696321B1 (ko) * | 2011-12-27 | 2017-01-13 | 한국전자통신연구원 | 화상 회의 제어 시스템 및 화상 회의 예약 방법 |
US9524491B2 (en) * | 2012-03-12 | 2016-12-20 | Unisys Corporation | Master navigation controller for a web-based conference collaboration tool |
US9369667B2 (en) * | 2012-04-11 | 2016-06-14 | Jie Diao | Conveying gaze information in virtual conference |
JP2013251630A (ja) * | 2012-05-30 | 2013-12-12 | Toshiba Corp | 情報端末およびプログラム |
JP5949272B2 (ja) * | 2012-07-25 | 2016-07-06 | 株式会社リコー | 通信システムおよびプログラム |
US8767031B2 (en) * | 2012-08-20 | 2014-07-01 | Wolzien Llc | Video call center |
CN102970091B (zh) * | 2012-11-14 | 2015-06-10 | 深圳市欧博科技有限公司 | 一种实现分组语音广播的装置及方法 |
GB2511721A (en) * | 2012-12-06 | 2014-09-17 | Nec Corp | Communication system |
NO336150B1 (no) * | 2012-12-19 | 2015-05-26 | Videxio As | Fremgangsmåte og enhet for å optimalisere storskala videokonferanser |
JP6111753B2 (ja) * | 2013-03-11 | 2017-04-12 | 株式会社リコー | 情報処理装置、伝送システム、プログラム |
GB201304803D0 (en) * | 2013-03-15 | 2013-05-01 | Mitel Networks Corp | Videoconferencing |
US9288435B2 (en) * | 2013-03-27 | 2016-03-15 | Google Inc. | Speaker switching delay for video conferencing |
US9232183B2 (en) | 2013-04-19 | 2016-01-05 | At&T Intellectual Property I, Lp | System and method for providing separate communication zones in a large format videoconference |
US9473363B2 (en) * | 2013-07-15 | 2016-10-18 | Globalfoundries Inc. | Managing quality of service for communication sessions |
JP6236962B2 (ja) * | 2013-07-26 | 2017-11-29 | 株式会社リコー | 通信システム、方法、通信装置およびプログラム |
CN103533315A (zh) * | 2013-09-11 | 2014-01-22 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频数据的处理方法和装置 |
US9118654B2 (en) | 2013-10-11 | 2015-08-25 | Edifire LLC | Methods and systems for compliance monitoring in secure media-based conferencing |
US8970659B1 (en) | 2013-10-11 | 2015-03-03 | Edifire LLC | Methods and systems for secure media-based conferencing |
US9118809B2 (en) | 2013-10-11 | 2015-08-25 | Edifire LLC | Methods and systems for multi-factor authentication in secure media-based conferencing |
JP6307746B2 (ja) * | 2014-03-18 | 2018-04-11 | 株式会社リコー | 宛先管理システム、通信システム、宛先管理方法、及びプログラム |
US10322351B2 (en) | 2014-07-03 | 2019-06-18 | Activision Publishing, Inc. | Matchmaking system and method for multiplayer video games |
CN105323536A (zh) * | 2014-07-30 | 2016-02-10 | 三亚中兴软件有限责任公司 | 一种电视会议中与会者私聊的方法及装置 |
US9167098B1 (en) | 2014-09-29 | 2015-10-20 | Edifire LLC | Dynamic conference session re-routing in secure media-based conferencing |
US9137187B1 (en) | 2014-09-29 | 2015-09-15 | Edifire LLC | Dynamic conference session state management in secure media-based conferencing |
US9282130B1 (en) | 2014-09-29 | 2016-03-08 | Edifire LLC | Dynamic media negotiation in secure media-based conferencing |
US9131112B1 (en) | 2014-09-29 | 2015-09-08 | Edifire LLC | Dynamic signaling and resource allocation in secure media-based conferencing |
US10776739B2 (en) | 2014-09-30 | 2020-09-15 | Apple Inc. | Fitness challenge E-awards |
US10118099B2 (en) | 2014-12-16 | 2018-11-06 | Activision Publishing, Inc. | System and method for transparently styling non-player characters in a multiplayer video game |
JP2016151824A (ja) * | 2015-02-16 | 2016-08-22 | 富士通コンポーネント株式会社 | Kvmスイッチ |
US10315113B2 (en) | 2015-05-14 | 2019-06-11 | Activision Publishing, Inc. | System and method for simulating gameplay of nonplayer characters distributed across networked end user devices |
US9894126B1 (en) * | 2015-05-28 | 2018-02-13 | Infocus Corporation | Systems and methods of smoothly transitioning between compressed video streams |
US9942180B2 (en) * | 2015-06-26 | 2018-04-10 | Blackberry Limited | Private text chatting sessions |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
US9872199B2 (en) | 2015-09-22 | 2018-01-16 | Qualcomm Incorporated | Assigning a variable QCI for a call among a plurality of user devices |
US10097608B2 (en) * | 2015-12-26 | 2018-10-09 | Intel Corporation | Technologies for wireless transmission of digital media |
US10243905B2 (en) | 2016-03-07 | 2019-03-26 | Facebook, Inc. | Location-based conversation engine for entities in a social networking system |
JP2017167879A (ja) * | 2016-03-17 | 2017-09-21 | 株式会社リコー | 会議システム、接続制御装置、接続制御方法及びプログラム |
US10652303B2 (en) * | 2016-04-28 | 2020-05-12 | Rabbit Asset Purchase Corp. | Screencast orchestration |
KR101716874B1 (ko) * | 2016-07-28 | 2017-03-17 | 주식회사 지앤톡 | 라이브 채팅 가능한 통신 단말 및 채팅 애플리케이션 |
KR101730115B1 (ko) * | 2016-10-04 | 2017-04-26 | 주식회사 삼십구도씨 | 영상 처리 장치 및 영상 처리 방법 |
US10500498B2 (en) | 2016-11-29 | 2019-12-10 | Activision Publishing, Inc. | System and method for optimizing virtual games |
CN108124158B (zh) * | 2016-11-29 | 2019-04-26 | 视联动力信息技术股份有限公司 | 多媒体终端及多媒体终端的数据处理方法 |
CN108121588B (zh) * | 2016-11-30 | 2019-02-05 | 视联动力信息技术股份有限公司 | 一种访问外部资源的方法及其视联网接入服务器 |
WO2018175989A1 (en) * | 2017-03-23 | 2018-09-27 | Krush Technologies, Llc | Video signal control and manipulation in public and private communication networks |
US10561945B2 (en) | 2017-09-27 | 2020-02-18 | Activision Publishing, Inc. | Methods and systems for incentivizing team cooperation in multiplayer gaming environments |
US10974150B2 (en) | 2017-09-27 | 2021-04-13 | Activision Publishing, Inc. | Methods and systems for improved content customization in multiplayer gaming environments |
US11040286B2 (en) | 2017-09-27 | 2021-06-22 | Activision Publishing, Inc. | Methods and systems for improved content generation in multiplayer gaming environments |
US10765948B2 (en) | 2017-12-22 | 2020-09-08 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
CN108449570B (zh) * | 2018-03-26 | 2020-06-23 | 苏州科达科技股份有限公司 | 跨用户域视频会议的实现方法、系统、设备及存储介质 |
KR102460538B1 (ko) * | 2018-05-28 | 2022-10-28 | 삼성에스디에스 주식회사 | 영상 품질 조정 방법과 이를 수행하기 위한 단말 및 중계 서버 |
CN108961165B (zh) * | 2018-07-06 | 2021-03-09 | 北京百度网讯科技有限公司 | 用于加载图像的方法和装置 |
JP2020052145A (ja) * | 2018-09-25 | 2020-04-02 | トヨタ自動車株式会社 | 音声認識装置、音声認識方法、及び音声認識プログラム |
US11679330B2 (en) | 2018-12-18 | 2023-06-20 | Activision Publishing, Inc. | Systems and methods for generating improved non-player characters |
US10757366B1 (en) | 2019-04-03 | 2020-08-25 | International Business Machines Corporation | Videoconferencing dynamic host controller |
US10791224B1 (en) | 2019-08-20 | 2020-09-29 | Motorola Solutions, Inc. | Chat call within group call |
US11097193B2 (en) | 2019-09-11 | 2021-08-24 | Activision Publishing, Inc. | Methods and systems for increasing player engagement in multiplayer gaming environments |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
JP6917115B2 (ja) * | 2019-12-04 | 2021-08-11 | 祐介 田嶋 | 移動店舗型商談支援システム |
US11524234B2 (en) | 2020-08-18 | 2022-12-13 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically modified fields of view |
US11351459B2 (en) | 2020-08-18 | 2022-06-07 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values |
US20220116265A1 (en) * | 2020-10-12 | 2022-04-14 | Ribbon Communications Operating Company, Inc. | Methods, apparatus and systems for efficient cross-layer network analytics |
US11539920B1 (en) | 2021-06-21 | 2022-12-27 | Soundhound, Inc. | Sidebar conversations |
CN113727056B (zh) * | 2021-08-30 | 2023-09-22 | 聚好看科技股份有限公司 | 一种数据传输连接的管理方法及服务器 |
JP7421134B2 (ja) * | 2021-12-28 | 2024-01-24 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、情報処理方法、プログラム |
Family Cites Families (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5382972A (en) * | 1988-09-22 | 1995-01-17 | Kannes; Deno | Video conferencing system for courtroom and other applications |
US5136581A (en) * | 1990-07-02 | 1992-08-04 | At&T Bell Laboratories | Arrangement for reserving and allocating a plurality of competing demands for an ordered bus communication network |
US5375068A (en) * | 1992-06-03 | 1994-12-20 | Digital Equipment Corporation | Video teleconferencing for networked workstations |
US5594859A (en) * | 1992-06-03 | 1997-01-14 | Digital Equipment Corporation | Graphical user interface for video teleconferencing |
US5444702A (en) * | 1992-09-14 | 1995-08-22 | Network Equipment Technologies, Inc. | Virtual network using asynchronous transfer mode |
JPH06189301A (ja) * | 1992-12-21 | 1994-07-08 | Hitachi Ltd | 映像伝送処理装置 |
JPH06209470A (ja) * | 1993-01-11 | 1994-07-26 | Hitachi Ltd | 映像伝送処理装置 |
EP0622930A3 (en) * | 1993-03-19 | 1996-06-05 | At & T Global Inf Solution | Division of applications for computer arrangement with collaboration. |
US5872923A (en) * | 1993-03-19 | 1999-02-16 | Ncr Corporation | Collaborative video conferencing system |
US5625410A (en) * | 1993-04-21 | 1997-04-29 | Kinywa Washino | Video monitoring and conferencing system |
US5689553A (en) * | 1993-04-22 | 1997-11-18 | At&T Corp. | Multimedia telecommunications network and service |
US5347511A (en) * | 1993-06-07 | 1994-09-13 | International Business Machines Corp. | Traffic management in packet communications networks |
US5394402A (en) * | 1993-06-17 | 1995-02-28 | Ascom Timeplex Trading Ag | Hub for segmented virtual local area network with shared media access |
JPH0746569A (ja) * | 1993-07-29 | 1995-02-14 | Fujitsu Ltd | テレビ会議多地点制御システム |
JPH0779424A (ja) * | 1993-09-06 | 1995-03-20 | Hitachi Ltd | 多地点映像通信装置 |
JPH0795552A (ja) * | 1993-09-20 | 1995-04-07 | Fujitsu Ltd | テレビ会議ネットワーク管理システム |
JPH07135594A (ja) * | 1993-11-11 | 1995-05-23 | Canon Inc | 撮像制御装置 |
US5574934A (en) * | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US5446491A (en) * | 1993-12-21 | 1995-08-29 | Hitachi, Ltd. | Multi-point video conference system wherein each terminal comprises a shared frame memory to store information from other terminals |
JPH07202887A (ja) | 1993-12-28 | 1995-08-04 | Toshiba Corp | 分散会議システム |
US5481297A (en) * | 1994-02-25 | 1996-01-02 | At&T Corp. | Multipoint digital video communication system |
US5548324A (en) * | 1994-05-16 | 1996-08-20 | Intel Corporation | Process, apparatus and system for displaying multiple video streams using linked control blocks |
JPH07322229A (ja) * | 1994-05-25 | 1995-12-08 | Canon Inc | ビデオ会議システム |
US5625407A (en) * | 1994-07-08 | 1997-04-29 | Lucent Technologies Inc. | Seamless multimedia conferencing system using an enhanced multipoint control unit and enhanced endpoint devices |
CA2159249C (en) * | 1994-11-21 | 1998-09-22 | Mark A. Fitser | Method for automatically establishing a conference call |
EP0717545A3 (en) * | 1994-12-13 | 1998-06-17 | AT&T Corp. | Interactive telephone networking service |
JP2738329B2 (ja) * | 1995-02-13 | 1998-04-08 | 日本電気株式会社 | 発信者指定メッセージ表示方法とその装置 |
US5572582A (en) * | 1995-02-24 | 1996-11-05 | Apple Computer, Inc. | Method and apparatus for establishing communication between two teleconferencing endpoints |
JPH08242435A (ja) | 1995-03-03 | 1996-09-17 | Takashi Ishida | 通信機器の使用予約管理システム |
US5600644A (en) * | 1995-03-10 | 1997-02-04 | At&T | Method and apparatus for interconnecting LANs |
JPH08251566A (ja) | 1995-03-15 | 1996-09-27 | Hitachi Ltd | テレビ会議装置 |
US5657096A (en) * | 1995-05-03 | 1997-08-12 | Lukacs; Michael Edward | Real time video conferencing system and method with multilayer keying of multiple video images |
JPH09101767A (ja) * | 1995-07-31 | 1997-04-15 | Canon Inc | 端末装置、端末の制御方法、会議システム、およびコンピュータ可読メモリ |
US6286034B1 (en) * | 1995-08-25 | 2001-09-04 | Canon Kabushiki Kaisha | Communication apparatus, a communication system and a communication method |
JPH09214618A (ja) | 1996-02-02 | 1997-08-15 | Canon Inc | 通信装置及び通信システム |
US5760823A (en) * | 1995-09-01 | 1998-06-02 | Lucent Technologies Inc. | Video messaging arrangement |
CA2230267C (en) * | 1995-09-04 | 2001-07-31 | British Telecommunications Public Limited Company | Transaction support apparatus |
US5808662A (en) * | 1995-11-08 | 1998-09-15 | Silicon Graphics, Inc. | Synchronized, interactive playback of digital movies across a network |
US5835723A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Dynamic assignment of multicast addresses |
US6101546A (en) * | 1996-03-11 | 2000-08-08 | Microsoft Corporation | Method and system for providing data files that are partitioned by delivery time and data type |
US5812552A (en) * | 1996-03-19 | 1998-09-22 | At & T Corp | Method and apparatus for dynamically forming multimedia emulated local area networks |
US6343313B1 (en) * | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US6002768A (en) * | 1996-05-07 | 1999-12-14 | International Computer Science Institute | Distributed registration and key distribution system and method |
GB2313251B (en) * | 1996-05-17 | 2000-06-07 | Motorola Ltd | Multimedia communications conferencing system and method of exchanging private communication |
JP3419627B2 (ja) * | 1996-06-11 | 2003-06-23 | 株式会社日立製作所 | ルータ装置 |
US5995503A (en) | 1996-06-12 | 1999-11-30 | Bay Networks, Inc. | Method and apparatus for providing quality of service routing in a network |
US6212182B1 (en) * | 1996-06-27 | 2001-04-03 | Cisco Technology, Inc. | Combined unicast and multicast scheduling |
JPH1032652A (ja) | 1996-07-12 | 1998-02-03 | Ricoh Co Ltd | マルチメディア通信システム |
US6332153B1 (en) * | 1996-07-31 | 2001-12-18 | Vocaltec Communications Ltd. | Apparatus and method for multi-station conferencing |
US5974446A (en) * | 1996-10-24 | 1999-10-26 | Academy Of Applied Science | Internet based distance learning system for communicating between server and clients wherein clients communicate with each other or with teacher using different communication techniques via common user interface |
US5995490A (en) | 1996-12-13 | 1999-11-30 | Siemens Information And Communication Networks, Inc. | Method and system for integrating video and data transfers in a multimedia session |
JP2828086B2 (ja) | 1997-01-14 | 1998-11-25 | 日本電気株式会社 | 多地点テレビ会議システム |
US6076166A (en) * | 1997-01-17 | 2000-06-13 | Philips Electronics North America Corporation | Personalizing hospital intranet web sites |
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 |
JP3733984B2 (ja) * | 1997-01-29 | 2006-01-11 | 富士ゼロックス株式会社 | 情報蓄積装置および情報蓄積方法 |
FR2761562B1 (fr) * | 1997-03-27 | 2004-08-27 | France Telecom | Systeme de visioconference |
WO1998044733A1 (en) * | 1997-03-31 | 1998-10-08 | Broadband Associates | Method and system for providing a presentation on a network |
JP3529621B2 (ja) * | 1997-05-12 | 2004-05-24 | 株式会社東芝 | ルータ装置、データグラム転送方法及び通信システム |
JPH10322392A (ja) | 1997-05-16 | 1998-12-04 | Hitachi Ltd | パケットネットワークシステム及び通信制御装置 |
JPH10336176A (ja) * | 1997-06-04 | 1998-12-18 | Nippon Telegr & Teleph Corp <Ntt> | グループ通信方法及びシステム及びグループ通信プログラムを格納した記憶媒体 |
US6134589A (en) | 1997-06-16 | 2000-10-17 | Telefonaktiebolaget Lm Ericsson | Dynamic quality control network routing |
US6446116B1 (en) * | 1997-06-30 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic loading of a transport mechanism in a multipoint data delivery system |
JPH1127283A (ja) | 1997-07-04 | 1999-01-29 | Hitachi Ltd | 通信網輻輳制御装置 |
US6288739B1 (en) * | 1997-09-05 | 2001-09-11 | Intelect Systems Corporation | Distributed video communications system |
US6259701B1 (en) * | 1997-09-11 | 2001-07-10 | At&T Corp. | Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session |
US6148068A (en) * | 1997-10-20 | 2000-11-14 | Nortel Networks Limited | System for managing an audio conference |
US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
US6272127B1 (en) * | 1997-11-10 | 2001-08-07 | Ehron Warpspeed Services, Inc. | Network for providing switched broadband multipoint/multimedia intercommunication |
JPH11191882A (ja) * | 1997-12-25 | 1999-07-13 | Nec Corp | テレビ会議予約システムおよびテレビ会議予約プログラムを記録した記録媒体 |
US6421706B1 (en) * | 1998-02-25 | 2002-07-16 | Worldcom, Inc. | Multicast and unicast internet protocol content distribution having a feedback mechanism for real-time and store and forward information transfer |
CN1073770C (zh) * | 1998-03-11 | 2001-10-24 | 沈楫 | 自动建立电话会议的方法及设备 |
US6188691B1 (en) * | 1998-03-16 | 2001-02-13 | 3Com Corporation | Multicast domain virtual local area network |
US6313822B1 (en) * | 1998-03-27 | 2001-11-06 | Sony Corporation | Method and apparatus for modifying screen resolution based on available memory |
US6275493B1 (en) * | 1998-04-02 | 2001-08-14 | Nortel Networks Limited | Method and apparatus for caching switched virtual circuits in an ATM network |
US6353616B1 (en) * | 1998-05-21 | 2002-03-05 | Lucent Technologies Inc. | Adaptive processor schedulor and method for reservation protocol message processing |
US6473088B1 (en) * | 1998-06-16 | 2002-10-29 | Canon Kabushiki Kaisha | System for displaying multiple images and display method therefor |
JP2000004244A (ja) | 1998-06-17 | 2000-01-07 | Matsushita Electric Ind Co Ltd | 資源予約管理装置 |
KR100285177B1 (ko) * | 1998-06-30 | 2001-03-15 | 황대준 | 인터넷 프로토콜 멀티캐스팅 환경에서의 신뢰성있는 다자간 정보 전송 방법 |
US6181300B1 (en) * | 1998-09-09 | 2001-01-30 | Ati Technologies | Display format conversion circuit with resynchronization of multiple display screens |
US6453336B1 (en) * | 1998-09-14 | 2002-09-17 | Siemens Information And Communication Networks, Inc. | Video conferencing with adaptive client-controlled resource utilization |
JP2000134213A (ja) | 1998-10-22 | 2000-05-12 | Sony Corp | 通信装置、通信方法、および提供媒体 |
US6434618B1 (en) | 1998-11-12 | 2002-08-13 | Lucent Technologies Inc. | Programmable network element for packet-switched computer network |
US6404873B1 (en) * | 1998-12-01 | 2002-06-11 | Siemens Information And Communication Networks, Inc. | Subconference calling in a telephony-over-LAN environment |
US6113822A (en) * | 1998-12-23 | 2000-09-05 | General Electric Company | Polyolefins as nucleating agent for foamed engineering polymers |
JP2000244487A (ja) | 1999-02-18 | 2000-09-08 | Nippon Telegr & Teleph Corp <Ntt> | 多人数参加型仮想空間コミュニケーションシステム |
JP2000253053A (ja) | 1999-02-25 | 2000-09-14 | Hitachi Ltd | ネットワークシステム |
JP2000253049A (ja) * | 1999-03-01 | 2000-09-14 | Fujitsu Ltd | ルーティング装置およびルーティング方法 |
JP2000253137A (ja) * | 1999-03-01 | 2000-09-14 | Toshiba Corp | 画像通信端末、画像通信システムおよび移動局 |
JP2000258748A (ja) * | 1999-03-10 | 2000-09-22 | Nec Corp | 液晶表示装置 |
US6711137B1 (en) * | 1999-03-12 | 2004-03-23 | International Business Machines Corporation | System and method for analyzing and tuning a communications network |
US6775247B1 (en) * | 1999-03-22 | 2004-08-10 | Siemens Information And Communication Networks, Inc. | Reducing multipoint conferencing bandwidth |
US6366950B1 (en) * | 1999-04-02 | 2002-04-02 | Smithmicro Software | System and method for verifying users' identity in a network using e-mail communication |
US7106374B1 (en) * | 1999-04-05 | 2006-09-12 | Amherst Systems, Inc. | Dynamically reconfigurable vision system |
JP2000299739A (ja) * | 1999-04-13 | 2000-10-24 | Nec Corp | テレビ会議システム、及びその予約サーバ、制御装置、テレビ会議端末及びプログラムを記憶した記憶媒体 |
US6473858B1 (en) * | 1999-04-16 | 2002-10-29 | Digeo, Inc. | Method and apparatus for broadcasting data with access control |
US6907243B1 (en) * | 1999-06-09 | 2005-06-14 | Cisco Technology, Inc. | Method and system for dynamic soft handoff resource allocation in a wireless network |
DE19929698A1 (de) * | 1999-06-29 | 2001-01-18 | Bba Friction Gmbh | Verfahren zum Herstellen von Reibbelägen |
US6771661B1 (en) * | 1999-07-21 | 2004-08-03 | Cisco Technology, Inc. | Apparatus and methods for providing event-based data communications device configuration |
US6757259B1 (en) * | 1999-08-12 | 2004-06-29 | Intel Corporation | Control of internet based video conferencing |
JP2001094579A (ja) * | 1999-09-27 | 2001-04-06 | Canon Inc | データ伝送システム及びデータ伝送方法 |
FR2799326B1 (fr) | 1999-10-04 | 2001-12-28 | France Telecom | Protocole de lancement d'une application logicielle a distance et de reservation de ressources reseau avec qualite de service |
JP2001128132A (ja) * | 1999-10-28 | 2001-05-11 | Nippon Telegr & Teleph Corp <Ntt> | ビデオ会議システム、方法、およびその方法を記録した記録媒体 |
JP2001156775A (ja) * | 1999-11-25 | 2001-06-08 | Nippon Telegr & Teleph Corp <Ntt> | グループ制御方法及びその装置並びにそのプログラムを記録した媒体 |
US7142512B1 (en) * | 1999-12-02 | 2006-11-28 | Hitachi, Ltd. | Network measurement controlling system apparatus and method |
JP2001177566A (ja) * | 1999-12-15 | 2001-06-29 | Nippon Telegr & Teleph Corp <Ntt> | 分配選択型光スイッチングネットワーク、分配選択型光送受信ノード及びその通信制御方法 |
JP2001184288A (ja) | 1999-12-24 | 2001-07-06 | Casio Comput Co Ltd | チャットシステム及びチャット方法 |
US20010049087A1 (en) * | 2000-01-03 | 2001-12-06 | Hale Janet B. | System and method of distance education |
JP3506092B2 (ja) * | 2000-02-28 | 2004-03-15 | 日本電気株式会社 | マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体 |
US20020023132A1 (en) | 2000-03-17 | 2002-02-21 | Catherine Tornabene | Shared groups rostering system |
TWI245997B (en) * | 2000-04-06 | 2005-12-21 | Distribution Systems Res Inst | IP communication system, IP transfer network, gateway device, server, network point device, medium router, terminal device and terminal communication method |
JP2001313915A (ja) | 2000-04-28 | 2001-11-09 | Matsushita Electric Ind Co Ltd | テレビ会議装置 |
JP4543496B2 (ja) | 2000-05-10 | 2010-09-15 | ソニー株式会社 | 通信システム |
US6760749B1 (en) * | 2000-05-10 | 2004-07-06 | Polycom, Inc. | Interactive conference content distribution device and methods of use thereof |
TW527833B (en) * | 2000-05-19 | 2003-04-11 | Sony Corp | Network conferencing system, participation authorization method and presenting method |
JP2001333403A (ja) | 2000-05-19 | 2001-11-30 | Sony Corp | ネットワーク会議システム及び参加認証方法、会議管理サーバ及び参加認証方法 |
ATE371321T1 (de) * | 2000-05-22 | 2007-09-15 | Ericsson Telefon Ab L M | Anwendungsbeeinflusste richtlinie |
US6798418B1 (en) * | 2000-05-24 | 2004-09-28 | Advanced Micro Devices, Inc. | Graphics subsystem including a RAMDAC IC with digital video storage interface for connection to a graphics bus |
US20020087699A1 (en) * | 2000-07-31 | 2002-07-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic QoS management in differentiated services using bandwidth brokers, RSVP aggregation and load control protocols |
US7065042B1 (en) * | 2000-08-15 | 2006-06-20 | Nortel Networks Limited | Aggregating filters |
US7007098B1 (en) * | 2000-08-17 | 2006-02-28 | Nortel Networks Limited | Methods of controlling video signals in a video conference |
EP1348165A4 (en) * | 2000-12-26 | 2009-01-28 | Polycom Inc | SYSTEM AND METHOD FOR COORDINATING A CONFERENCE USING A FIXED SERVER |
US7143433B1 (en) * | 2000-12-27 | 2006-11-28 | Infovalve Computing Inc. | Video distribution system using dynamic segmenting of video data files |
US6677979B1 (en) * | 2001-06-12 | 2004-01-13 | Cisco Technology, Inc. | Method and apparatus for dual image video teleconferencing |
US7225271B1 (en) * | 2001-06-29 | 2007-05-29 | Cisco Technology, Inc. | System and method for recognizing application-specific flows and assigning them to queues |
US7035230B1 (en) * | 2001-07-11 | 2006-04-25 | Cisco Technology, Inc. | System and method for bandwidth and conference resource reservation |
KR100426519B1 (ko) * | 2001-12-06 | 2004-04-08 | 에스케이텔레텍주식회사 | 이동통신 단말기를 이용한 멀티캐스트 패킷 통신방법 |
US7180535B2 (en) * | 2004-12-16 | 2007-02-20 | Nokia Corporation | Method, hub system and terminal equipment for videoconferencing |
US8014308B2 (en) * | 2006-09-28 | 2011-09-06 | Microsoft Corporation | Hardware architecture for cloud services |
US20080312820A1 (en) * | 2007-06-14 | 2008-12-18 | Ajesh Kapoor | Method of driver assignment and scheduling segmented long-haul routes |
US8756318B1 (en) * | 2007-10-09 | 2014-06-17 | Microsoft Corporation | Software deployment using client location |
-
2002
- 2002-12-11 KR KR10-2004-7009219A patent/KR20040071200A/ko not_active Application Discontinuation
- 2002-12-11 EP EP02792354A patent/EP1454451A1/en not_active Withdrawn
- 2002-12-11 US US10/499,923 patent/US9014059B2/en not_active Expired - Fee Related
- 2002-12-11 WO PCT/US2002/039528 patent/WO2003052993A2/en active Application Filing
- 2002-12-11 US US10/498,635 patent/US20080158337A1/en not_active Abandoned
- 2002-12-11 JP JP2003553771A patent/JP2005513865A/ja active Pending
- 2002-12-11 MX MXPA04005816A patent/MXPA04005816A/es active IP Right Grant
- 2002-12-11 EP EP02805099A patent/EP1454281B1/en not_active Expired - Fee Related
- 2002-12-11 AU AU2002357813A patent/AU2002357813A1/en not_active Abandoned
- 2002-12-11 MX MXPA04005817A patent/MXPA04005817A/es not_active Application Discontinuation
- 2002-12-11 JP JP2003553782A patent/JP2005513869A/ja active Pending
- 2002-12-11 CN CN028276035A patent/CN1618071B/zh not_active Expired - Fee Related
- 2002-12-11 KR KR1020047009196A patent/KR100948317B1/ko active IP Right Grant
- 2002-12-11 CN CNA028279883A patent/CN1618203A/zh active Pending
- 2002-12-11 WO PCT/US2002/039505 patent/WO2003053004A1/en active Application Filing
- 2002-12-11 AU AU2002357144A patent/AU2002357144A1/en not_active Abandoned
- 2002-12-12 AU AU2002357194A patent/AU2002357194A1/en not_active Abandoned
- 2002-12-12 KR KR1020047009220A patent/KR100971273B1/ko not_active IP Right Cessation
- 2002-12-12 JP JP2003553783A patent/JP2005513870A/ja active Pending
- 2002-12-12 EP EP02805125A patent/EP1454252A4/en not_active Withdrawn
- 2002-12-12 WO PCT/US2002/039868 patent/WO2003053005A1/en active Application Filing
- 2002-12-12 US US10/499,921 patent/US20050132000A1/en not_active Abandoned
- 2002-12-12 MX MXPA04005818A patent/MXPA04005818A/es active IP Right Grant
- 2002-12-12 EP EP02805124A patent/EP1461901A4/en not_active Withdrawn
- 2002-12-12 MX MXPA04005813A patent/MXPA04005813A/es active IP Right Grant
- 2002-12-12 KR KR10-2004-7009195A patent/KR20040071199A/ko not_active Application Discontinuation
- 2002-12-12 CN CNB02825113XA patent/CN1328683C/zh not_active Expired - Fee Related
- 2002-12-12 AU AU2002357192A patent/AU2002357192A1/en not_active Abandoned
- 2002-12-12 CN CNB028276310A patent/CN100344097C/zh not_active Expired - Fee Related
- 2002-12-12 WO PCT/US2002/039874 patent/WO2003052611A1/en active Application Filing
- 2002-12-12 JP JP2003553430A patent/JP4091546B2/ja not_active Expired - Fee Related
- 2002-12-13 KR KR10-2004-7009308A patent/KR20040062994A/ko not_active Application Discontinuation
- 2002-12-13 US US10/498,740 patent/US7656824B2/en not_active Expired - Fee Related
- 2002-12-13 EP EP02805138A patent/EP1468369A4/en not_active Withdrawn
- 2002-12-13 MX MXPA04005812A patent/MXPA04005812A/es active IP Right Grant
- 2002-12-13 AU AU2002361666A patent/AU2002361666A1/en not_active Abandoned
- 2002-12-13 WO PCT/US2002/039984 patent/WO2003052613A1/en active Application Filing
- 2002-12-13 CN CN028281055A patent/CN1633652B/zh not_active Expired - Fee Related
- 2002-12-13 JP JP2003553432A patent/JP2005534207A/ja active Pending
- 2002-12-13 EP EP02797306A patent/EP1454478A4/en not_active Withdrawn
- 2002-12-13 US US10/498,636 patent/US20050010638A1/en not_active Abandoned
- 2002-12-13 WO PCT/US2002/039920 patent/WO2003053034A1/en active Application Filing
- 2002-12-13 JP JP2003553808A patent/JP2005513875A/ja not_active Ceased
- 2002-12-13 KR KR1020047009109A patent/KR100960772B1/ko not_active IP Right Cessation
- 2002-12-13 CN CNB02828142XA patent/CN100477707C/zh not_active Expired - Fee Related
- 2002-12-13 AU AU2002357224A patent/AU2002357224A1/en not_active Abandoned
-
2004
- 2004-06-15 MX MXPA04005814 patent/MXPA04005814A/es active IP Right Grant
-
2009
- 2009-02-12 JP JP2009029310A patent/JP2009153172A/ja active Pending
Non-Patent Citations (1)
Title |
---|
1995 Proc. fo the 3rd ACM International Conference on Multimedia pp.511-522 Steven McCanne외 "vic: a flexible framework for packet video"(1995.12.05-09.)* |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100960772B1 (ko) | 메시징 시스템을 갖는 비디오 컨퍼런스 애플리케이션사용자 인터페이스 | |
KR100964983B1 (ko) | 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법 | |
US20050226172A1 (en) | Video conference call set up | |
US20050132412A1 (en) | Videoconference system architecture |
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 | ||
LAPS | Lapse due to unpaid annual fee |