KR100964983B1 - 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법 - Google Patents

네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법 Download PDF

Info

Publication number
KR100964983B1
KR100964983B1 KR1020047009197A KR20047009197A KR100964983B1 KR 100964983 B1 KR100964983 B1 KR 100964983B1 KR 1020047009197 A KR1020047009197 A KR 1020047009197A KR 20047009197 A KR20047009197 A KR 20047009197A KR 100964983 B1 KR100964983 B1 KR 100964983B1
Authority
KR
South Korea
Prior art keywords
session
client
message
multicast
network
Prior art date
Application number
KR1020047009197A
Other languages
English (en)
Other versions
KR20040062991A (ko
Inventor
존 윌리엄 리챠드슨
엔스 찬블리
쿠마르 라마스와미
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20040062991A publication Critical patent/KR20040062991A/ko
Application granted granted Critical
Publication of KR100964983B1 publication Critical patent/KR100964983B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법이 제공된다. 상기 방법은 상기 화상회의 세션에 대해 시간 및 클라이언트들을 명시하는 사전-선택 신호를 수신하는 단계(2610)와, 상기 화상회의 세션에 관한 초대 메시지를 상기 클라이언트들 중 적어도 하나에게 명시된 시간에 전송하는 단계(2640)를 포함한다.

Description

네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법{METHOD AND SYSTEM FOR AUTOMATICALLY INITIATING A VIDEOCONFERENCE SESSION OVER A NETWORK, AND METHOD FOR JOINING A VIDEOCONFERENCE SESSION AND A MULTICAST SESSION OVER A NETWORK}
본 발명은 본 명세서에서 참조로 병합되어 있고 공동양도된 대리인 명부 PU010309호인, 2001년 12월 15일자로 출원된 "SERVER INVOKED TIME SCHEDULED VIDEO CONFERENCE"라는 명칭의 가출원 일련번호 제60/341,819호의 이익을 35 U.S.C 119항하에서 청구하는 비-가출원이다. 본 발명은 본 명세서에서 참조로 병합되어 있는 2002년 3월 20일자로 출원된 "VIDEOCONFERENCE SYSTEM ARCHITECTURE"라는 명칭의 공동양도된 가출원 일련번호 제60/366,331호에 관련된다. 본 발명은 또한 본 명세서에서 참조로 병합되어 있는 2001년 12월 15일자로 출원된 "VIDEOCONFERENCING 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 SET UP 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일자로 출원된 "VIDEOCONFERENCE APPLICATION USER INTERFACE"라는 명칭의 공동 양도된 가출원 일련번호 제60/341,801호와 관련된다.
본 발명은 일반적으로 화상회의에 관한 것으로, 더 상세하게는 시간 스케줄링된 화상회의 세션을 네트워크 내의 서버에 의해 자동으로 개시하는 방법에 관한 것이다.
서로 다른 화상회의 시스템 사이의 화상회의 세션에서, 공통 오디오 및 비디오 포맷이 세션 설정 시에 결정된다. 그에 따라, 시간 지연이 세션 설정 시에 부과되어 앞선 결정이 이뤄질 수 있게 된다.
그에 따라, 시간 스케줄링된 화상회의 세션을 종래기술의 단점들을 극복하는 네트워크 내의 서버에 의해 자동으로 개시하기 위한 방법을 갖는 것이 바람직하고 매우 유리하다.
전술한 문제점뿐만 아니라 다른 관련된 종래 기술의 문제점은 본 발명, 즉 시간 스케줄링된 화상회의 세션을 네트워크 내의 서버에 의해 자동으로 개시하기 위한 방법에 의해 해결된다.
유리하게, 본 발명은 유니캐스트 또는 멀티캐스트일 수 있는 시간 스케줄링 된 화상회의 세션의 서버에 의한 자동 개시를 허용한다. 게다가, 본 발명은 멀티캐스트를 사용하여 네트워크에 걸쳐서 컨텐트(오디오 및/또는 비디오)의 시간 스케줄링된 분배의 서버에 의한 자동 개시를 허용한다.
본 발명의 일 양상에 따라, 화상회의 세션을 네트워크에 걸쳐서 자동으로 개시하기 위한 방법이 제공된다. 이 방법은 화상회의 세션에 대한 시간 및 클라이언트들을 명시하는 사전-선택 신호를 수신하는 단계와, 화상회의 세션에 관한 초대 메시지를 상기 클라이언트들 중 적어도 하나에 명시된 시간에 전송하는 단계를 포함한다.
본 발명의 또 다른 양상에 따라, 멀티캐스트 세션을 네트워크에 걸쳐서 자동으로 개시하기 위한 방법이 제공된다. 이 방법은 멀티캐스트 세션에 대해 공통 멀티캐스트 IP(Internet Protocol) 어드레스를 할당하는 단계와, 멀티캐스트 세션에 관한 초대 메시지를 적어도 한 클라이언트에 사전-선택된 시간에 전송하는 단계를 포함한다. 초대 메시지는 공통 멀티캐스트 IP 어드레스를 명시한다.
본 발명의 또 다른 양상에 따라, 화상회의 세션을 네트워크에 걸쳐서 자동으로 개시하기 위한 시스템이 제공된다. 이 시스템은 화상회의 세션에 대해 시간 및 클라이언트들을 명시하는 사전-선택 신호를 수신하기 위한 수단과, 화상회의 세션에 관한 초대 메시지를 클라이언트들 중 적어도 하나에 명시된 시간에 전송하기 위한 수단을 포함한다.
본 발명의 또 다른 양상에 따라, 멀티캐스트 세션을 네트워크에 걸쳐서 자동으로 개시하기 위한 시스템이 제공된다. 이 시스템은 멀티캐스트 세션에 대해 공통 멀티캐스트 IP 어드레스를 할당하기 위한 수단과, 멀티캐스트 세션에 관한 초대 메시지를 적어도 하나의 클라이언트에 사전-선택된 시간에 전송하기 위한 수단을 포함한다. 초대 메시지는 공통 멀티캐스트 IP 어드레스를 명시한다.
본 발명의 추가적인 양상에 따라, 화상회의 세션에 네트워크에 결쳐서 연결하기 위한 방법이 제공된다. 이 방법은 화상회의 세션에 관한 초대 메시지를 진행될 화상회의 세션을 위해 사전-선택된 시간에 수신하는 능력을 제공하는 단계와, 초대 메시지에 응답하여 승낙 메시지를 전송하는 능력을 제공하는 단계와, 승낙 메시지의 전송에 응답하여, 화상회의 세션에 해당하는 컨텐트를 자동으로 수신하는 능력을 제공하는 단계를 포함한다.
본 발명의 추가적인 양상에 따라, 멀티캐스트 세션에 네트워크에 걸쳐서 연결하기 위한 방법이 제공된다. 이 방법은 멀티캐스트 세션에 관한 초대 메시지를 사전-선택된 시간에 수신하는 능력을 제공하는 단계와, 초대 메시지에 응답하여 승낙 메시지를 전송하는 능력을 제공하는 단계와, 승낙 메시지의 전송에 응답하여 멀티캐스트 세션에 대응하는 컨텐트를 자동으로 수신하는 능력을 제공하는 단계를 포함한다. 초대 메시지는 멀티캐스트 세션에 대한 공통 멀티캐스트 IP 어드레스를 명시한다.
본 발명의 상기 및 다른 양상, 특징 및 이점은 첨부된 도면과 관련하여 읽게될 다음의 바람직한 실시예의 상세한 설명으로부터 명백해질 것이다.
도 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를 이용하여 화상회의 세션을 취소하는 방법을 예시하는 도면.
도 12는 본 발명의 예시적인 실시예에 따른, SIP를 이용하여 2명의 클라이언트 사이의 화상회의 세션을 종료하는 방법을 예시하는 도면.
도 13은 본 발명의 예시적인 실시예에 따른, SIP를 이용하여 3명의 클라이언트 사이의 화상회의 세션을 종료하는 방법을 예시하는 도면.
도 14는 본 발명의 다른 예시적인 실시예에 따른, SIP를 이용하여 3명의 클라이언트 사이의 화상회의 세션을 종료하는 방법을 예시하는 도면.
도 15는 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 전송율 조정을 위한 시그널링(signaling) 방법을 예시하는 도면.
도 16은 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 전송율 조정(클라이언트 2와 3) 이전의 시그널링을 예시하는 도면.
도 17은 본 발명의 예시적인 실시예에 따른, 해상도 및 프레임 전송율 조정(클라이언트 2와 3) 이후의 시그널링을 예시하는 도면.
도 18a는 본 발명의 예시적인 실시예에 따른, 화상회의 클라이언트 애플리케이션(1800)의 블록도.
도 18b는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스층(1802)에 포함된 오디오 믹서(1899)를 추가로 예시하는 블록도.
도 18c는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스층(1802)에 포함된 에코 취소 모듈(1898)을 추가로 예시하는 블록도.
도 19는 본 발명의 예시적인 실시예에 따른, 오디오 코덱(1804a) 및/또는 비디오 코덱(1804b) 중 하나에 포함된 디코더(1890)에 의해 사용되는 방법을 예시하는 도면.
도 20은 본 발명의 예시적인 실시예에 따른, 사용자 수준 프로토콜 스택(2000)을 예시하는 도면.
도 21은 본 발명의 예시적인 실시예에 따른, 제어 수준 프로토콜 스택(2100)을 예시하는 도면.
도 22는 본 발명의 예시적인 실시예에 따른, 도 18a의 사용자 인터페이스(1808)에 대응하는 스크린 샷(2200)을 예시하는 블록도.
도 23은 본 발명의 예시적인 실시예에 따른, 로그인 인터페이스(2300)를 예 시하는 도면.
도 24는 본 발명의 예시적인 실시예에 따른, 세션 초기화를 위한 사용자 선택 인터페이스(2400)를 예시하는 블록도.
도 25는 본 발명의 예시적인 실시예에 따른, 인입 호출을 승낙하거나 거부하기 위한 초대 인터페이스(2500)를 예시하는 블록도.
도 26은 본 발명의 예시적인 실시예에 따른, 다수의 참여자들과의 화상회의 세션을 자동으로 개시하는 방법을 예시하는 흐름도.
도 27은 본 발명의 예시적인 실시예에 따른, 다수의 참여자들 사이의 멀티캐스트 세션을 자동으로 개시하기 위한 방법을 예시하는 흐름도.
본 발명은 시간 스케줄링된 화상회의 세션을 네트워크 내의 서버에 의해 자동으로 개시하기 위한 방법에 관한 것이다. 여기서 사용된 바와 같이, 어구 "개시하는 참여자"는 화상회의 세션을 개시하는 사람을 지칭하며, 어구 "다른 참여자"는 개시하는 참여자가 화상회의 세션에 포함시키고자 하는 다른 사람들을 지칭한다.
본 발명이 다양한 형태의 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서 또는 그 조합으로 구현될 수 있다는 점이 이해될 것이다. 바람직하게, 본 발명은 하드웨어와 소프트웨어의 조합으로서 구현된다. 또한, 상기 소프트웨어는 바람직하게 프로그램 저장 디바이스상에 실제로 내장된 애플리케이션 프로그램으로서 구현된다. 상기 애플리케이션 프로그램은 임의의 적절한 아키텍처를 포함하는 기기로 업로드되고 상기 기기에 의해 실행될 수 있다. 바람직하게, 상기 기기는 하나 이상의 중앙처리장치(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)에 실시가능하게 연결된다.
본 발명의 예시적인 실시예에 따른, 정책 기반 네트워크 관리(PBNM: policy based network management)의 설명이 이제 제공될 것이다. PBNM은 네트워크를 관리하기 위해 정책을 정의하고 분산시키는 능력을 제공하는 기술이다(본 발명이 적용될 수 있는 예시적인 네트워크가 도 2와 관련하여 후술된다). 이러한 정책은 대역폭 및 보안과 같은 중요한 네트워크 자원의 조정된 제어를 허용한다. PBNM은 네트워크상에서 차별화된 취급을 필요로 하는, IP 기반 화상회의와 같은 애플리케이션을 가능하게 한다. PBNM은 다른 유형의 애플리케이션이 단일 네트워크상에서 같이 존재하고 필요한 자원을 각각의 상기 애플리케이션에 제공하도록 허용하기 위한 기반을 제공한다.
더 상세하게, PBNM은 네트워크 자원을 소비하는 사용자 및 애플리케이션에 대한 정책을 정의한다. 예를 들어, 비즈니스 중대 애플리케이션에 네트워크상에서 가장 높은 대역폭 우선순위 및 퍼센트가 제공될 수 있고, 화상회의 및 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)는 화상회의 세션 설정 및 해제를 관리할 책임이 있다. 세션 관리 엔티티(306)는 또한 화상회의 서버(205)에 대한 대부분의 주 제어를 제공한다. 세션 관리 엔티티(306)는 세션 관리 엔티티(306)의 기능을 구현하기 위해 세션 관리자(320)를 포함한다.
네트워크 통신 엔티티(304)는 화상회의 시스템에서 사용되는 많은 다른 프로토콜을 캡슐화할 책임이 있다. 상기 프로토콜은 원격 운영 및 관리를 위한 간이 네트워크 관리 프로토콜(SNMP: Simple Network Management Protocol), 정책 관리를 위한 공통 개방 정책 서비스(COPS: Common Open Policy Services) 또는 라이트웨이트 디렉토리 액세스 프로토콜(LDAP: Lightweight Directory Access Protocol)과 같은 다른 프로토콜, 멀티캐스트 어드레스 할당을 위한 멀티캐스트 어드레스 동적 클라이언트 할당 프로토콜(MADCAP: Multicast Address Dynamic Client Allocation Protocol), 화상회의 세션 관리를 위한 SIP, 및 분산 화상회의 서버 관리를 위한 서버간 메시징(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)을 이용하여 구현될 수 있다. 전술한 프로토콜 리스트 및 대응하는 요소는 단지 예시적인 것이고, 따라서 본 발명의 정신 및 범주를 유지하면서 다른 프로토콜 및 대응 요소가 용이하게 사용될 수 있다는 점이 인식된다.
추가로, 화상회의 서버(205)의 아키텍처는 또한 사용자가 휴대용 디바이스상에서 화상회의 세션으로부터 컨텐트를 전송 및 수신하기 위해 가상 개인 네트워크(VPN: Virtual Private Network)를 통해 기업 하부구조에 연결하기에 적절하다는 점이 인식된다.
데이터베이스 엔티티(302)는 다음의 4가지 데이터베이스, 즉 스케줄링 데이터베이스(310), 능동 세션 데이터베이스(312), 멤버 데이터베이스(314), 및 네트워크 아키텍처 데이터베이스(316)를 포함한다.
화상회의 시스템 서버(205)는 회사 LDAP 서버(사용자 정보)(340) 및 선택적 외부 데이터베이스(342)를 추가로 포함하거나 또는 적어도 상기 서버 및 데이터베이스와 인터페이스한다. 선택적 외부 데이터베이스(342)는 LDAP 클라이언트(304b)를 포함한다.
본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포 함된 멤버 데이터베이스(314)의 설명이 이제 제공될 것이다. 멤버 데이터베이스(314)는 화상회의 시스템으로 로그인한 각각의 사용자에 대한 정보를 포함한다. 예를 들어, 다음의 정보, 즉, 사용자명, 패스워드(적용가능하다면), 지원된 비디오 코덱 및 캡처 해상도, 지원된 오디오 코덱, 현재 IP 어드레스, 현재 호출번호(만일 현재 능동 호출의 멤버라면), 이용가능성(이용가능 또는 이용불가능), 비디오 카메라 유형 및 모델, 네트워크상의 위치(각각의 위치는 제한된 대역폭의 광역 네트워크 링크에 의해 연결된다), 및 CPU 유형 및 처리력은 각각의 사용자를 위한 멤버 데이터베이스(314)내에 유지될 수 있다. 전술한 아이템들은 단지 예시적인 것이고, 따라서 본 발명의 정신 및 범주를 유지하면서, 전술한 아이템에 추가로, 또는 전술한 아이템의 전부 또는 일부를 대신하여 다른 아이템이 각각의 사용자를 위한 멤버 데이터베이스(314)내에 또한 유지될 수 있다는 점이 인식된다.
도 4는 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 멤버 데이터베이스(314)를 위한 멤버 데이터베이스 엔트리(400)를 예시하는 도면이다. 도 4의 예시적인 실시예에서, 멤버 데이터베이스(314)는 단순한 링크 리스트를 이용하여 구현된다. 그러나, 본 발명의 다른 실시예에서, 본 발명의 정신 및 범주를 유지하면서 멤버 데이터베이스(314)의 다른 구현이 이용될 수 있다는 점이 인식된다. 일예로서, LDAP 유형의 데이터베이스는 멤버 정보를 저장하는데 사용될 수 있다.
본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 능동 세션 데이터베이스(312)의 설명이 이제 제공될 것이다. 능동 세션 데이 터베이스(312)는 현재 진행중인 각각의 화상회의 세션에 대한 정보를 포함한다. 예를 들어, 다음의 정보, 즉 호출 ID; 설명; 멀티캐스트(예/아니오); 멀티캐스트라면, 멀티캐스트 IP 어드레스; 각각의 참여자에 대해서 네트워크 위치, 현재 전송 해상도, 현재 전송 비트전송율, 비디오 및 오디오 코덱; 공공/개인 호출(다른 사람이 참여할 수 있나?); 세션의 스케줄링된 시간; 세션의 시작 시간; 및 임의의 추가적인 선택권이 능동 세션 데이터베이스(312)내에 각각의 호출을 위해 유지될 수 있다. 전술한 아이템들은 단지 예시적인 것이고, 따라서 본 발명의 정신 및 범주를 유지하면서, 전술한 아이템에 추가로, 또는 전술한 아이템의 전부 또는 일부를 대신하여 다른 아이템이 능동 세션 데이터베이스(312)내에 또한 유지될 수 있다는 점이 인식된다.
도 5는 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 능동 세션 데이터베이스(312)내의 능동 세션 엔트리(500)를 예시하는 블록도이다. 도 5의 예시적인 실시예에서, 능동 세션 데이터베이스(312)는 간단한 링크 리스트를 이용하여 구현된다. 그러나, 본 발명의 다른 실시예에서, 본 발명의 정신 및 범주를 유지하면서 능동 세션 데이터베이스(312)의 다른 구현이 사용될 수 있다는 점이 인식된다.
도 3을 다시 참조하면, 본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 네트워크 아키텍처 데이터베이스(316)의 설명이 이제 제공될 것이다. 네트워크 아키텍처 데이터베이스(316)는 전체 네트워크의 전체 매핑을 포함한다. 네트워크 아키텍처 데이터베이스(316)는 각각의 능동 네트워크 요 소(즉, IP 라우터, 이더넷 스위치 등)에 대한 정보, 및 상기 라우터와 스위치를 함께 연결하는 링크에 대한 정보를 포함한다. 상기 네트워크에서의 서비스의 품질 및 대역폭을 효율적으로 관리하기 위해서, 화상회의 서버(205)는 이러한 정보를 알 필요가 있다.
동시에 진행되도록 허용되는 화상회의 세션의 수, 화상회의 세션 비트전송율, 및 대역폭 제한에 관한 정책 정보는 네트워크 아키텍처 데이터베이스(316)내에서 또한 정의될 수 있다. 네트워크 아키텍처는 네트워크 아키텍처 데이터베이스(316)내에서 부가 그래프(weighted graph)로서 표현될 수 있다. 네트워크 아키텍처 데이터베이스(316)는 화상회의 서버(205)내의 선택적인 데이터베이스라는 점이 인식된다. 네트워크 아키텍처 데이터베이스(316)는 정책 및 QoS 관리자(210)로부터 요청되는 정책을 캐시하는데 사용될 수 있다.
본 발명의 예시적인 실시예에 따른, 도 3의 데이터베이스 엔티티(302)에 포함된 스케줄링 데이터베이스(310)의 설명이 이제 제공될 것이다. 스케줄링 데이터베이스(310)는 사용자가 화상회의 시스템을 이용하기 위한 시간을 보유할 스케줄을 포함한다. 이것은 예를 들어, 정보 시스템부가 광역 네트워크(250)에 걸쳐서 특정 링크상에서 동시에 일어날 수 있는 화상회의 세션의 수에 관해 적소에 가지고 있는 정책에 종속적이다.
도 3의 네트워크 통신 엔티티(304)의 설명이 이제 제공될 것이다. 네트워크 통신 엔티티(304)는 SNMP 모듈(304a), LDAP 클라이언트 모듈(304b), MADCAP 클라이언트 모듈(304c), SIP 모듈(304d), 및 서버간 관리 모듈(304e)을 포함한다.
본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티(304)에 포함된 SNMP 모듈(304a)의 설명이 이제 제공될 것이다. 도 6은 본 발명의 예시적인 실시예에 따른, SNMP 클라이언트-서버 아키텍처(600)를 예시하는 블록도이다. 상기 아키텍처(600)는 SNMP 모듈(304a)의 한 구현을 나타낸다. 그러나, 본 발명은 도 6에 도시된 아키텍처에 제한되지 않고, 따라서 본 발명의 정신 및 범주를 유지하면서 다른 SNMP 아키텍처가 또한 사용될 수 있다는 점이 인식된다. SNMP는 화상회의 서버의 원격 운영 및 모니터링을 위해 사용될 것이다.
SNMP 클라이언트-서버 아키텍처(600)는 SNMP 관리국(610) 및 SNMP 관리 엔티티(620)를 포함한다. SNMP 관리국(610)은 관리 애플리케이션(610a) 및 SNMP 관리자(610b)를 포함한다. SNMP 관리 엔티티(620)는 관리된 자원(620a), SNMP 관리 객체(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)은 네트워크내의 에이전트를 관리하는 중앙 엔티티이다. SNMP 관리국(610)은 운영자가 SNMP 에이전트(620c)로부터 통계를 수집하고 SNMP 에이전트(620c)의 구성 파라미터를 변경하도록 허용하는 기능을 지원한다.
SNMP 모델을 이용하여, 화상회의 서버(205)내의 자원은 이러한 자원을 객체로 표현함으로써 관리될 수 있다. 각각의 객체는 관리된 에이전트의 한 양상을 나타내는 데이터 변수이다. 이러한 객체의 수집은 공통적으로 관리 정보 베이스(MIB: Management Information Base)로 언급된다. MIB는 SNMP 관리국(610)에 대한 SNMP 에이전트(620c)에서의 액세스 포인트의 수집 기능을 한다. SNMP 관리국(610)은 SNMP 에이전트(620c)내에서 MIB 객체의 값을 검색함으로써 모니터링을 수행할 수 있다. SNMP 관리국(610)은 또한 SNMP 에이전트(620c)에서 작용이 발생하도록 야기시킬 수 있거나 또는 SNMP 에이전트(620c)에서의 구성 세팅을 변경할 수 있다.
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)에 의해 GetResponse 메시지의 형태로 응답되며, Get Response 메시지는 관리 애플리케이션(610a)으로 전달된다. SNMP 에이전트(620c)는 또한 관리된 자원 내에서 발생한 이벤트에 응답하여 트랩 메시지를 발행할 수 있다.
도 3을 다시 참조하면, 본 발명의 예시적인 실시예에 따른, 도 3의 네트워크 통신 엔티티(304)에 포함된 LDAP 클라이언트 모듈(304b)의 설명이 이제 제공될 것이다. LDAP 모듈(304b)은 공통 디렉토리 정보를 액세스하기 위한 표준 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 서버 발견, 멤버 등록, 세션 설정, 세션 취소 및 세션 종료를 포함한다.
본 발명의 예시적인 실시예에 따른, SIP 서버 발견에 대응하는 세션 작동 시나리오의 설명이 이제 제공될 것이다. 사용자(화상회의 클라이언트 애플리케이션)는 REGISTER 요청을 잘 알려진 "모든 SIP 서버" 멀티캐스트 어드레스 "sip.mcast.net"(224.0.1.75)로 전송함으로써 (수동으로 준비된 또는 개시중인) 미리 구성된 화상회의 서버에 등록할 수 있다. 각각의 사용자가 수동으로 그 화상회의 클라이언트 애플리케이션내의 로컬 SIP 서버의 어드레스를 구성할 필요가 없기 때문에 제 2 메커니즘(REGISTER 요청)이 바람직할 수 있다. 이러한 경우에, 멀티캐스트 어드레스는 사용자가 화상회의를 위해 정확한 SIP 서버에 등록하고 있다는 것을 보장하기 위해 네트워크 내에서 정확하게 스코핑(scope)될 필요가 있다. 전술한 방법에 추가로, 준비 프로세스를 더 간단하게 하기 위한 다른 방법에서, SIP 명세는 운영자가 sip.domainname 방식(예를 들어, sip.princeton.tce.com)을 이용하여 그 SIP 서버를 명명하는 것을 제안한다.
본 발명의 예시적인 실시예에 따른, 멤버 등록에 대응하는 세션 작동 시나리 오의 설명이 이제 제공될 것이다. 도 7은 본 발명의 예시적인 실시예에 따른, SIP를 이용하여 화상회의 세션에 등록하는 방법을 예시하는 도면이다. 도 7의 예시는 화상회의 클라이언트 애플리케이션(클라이언트)(702) 및 화상회의 서버(서버)(205)를 포함한다. 어구 "클라이언트 애플리케이션"과 "클라이언트"는 본 명세서에서 교환가능하게 사용된다는 점이 인식된다.
멤버 등록 기능에서, 클라이언트(702)는 SIP REGISTER 요청을 서버(205)로 전송한다{단계(710)}. 서버(205)는 이 메시지를 수신하고 클라이언트(702)의 SIP URL 및 IP 어드레스를 멤버 데이터베이스(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 링잉 메시지는 클라이언트 #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)에 등록되었는지를 알기 위해 점검하고, 또한 호출되고 있는 사용자{클라이언트 #2(806)}가 서버(205)에 등록되었는지를 알기 위해 점검한다{단계(850)}.
서버(205)는 네트워크상의 각각의 사용자의 위치를 결정하고{단계(855)}, 그 2개의 위치(만일 다르다면)를 연결하는 저대역폭 WAN 링크{예를 들어, WAN(250)}가 있는지를 결정한다{단계(860)}.
2개 위치를 함께 연결하는 저대역폭 WAN 링크가 없다면, 서버(205)는 상기 호출을 진행한다{단계(865)}. 그러나, 만일 2명의 사용자 사이에 저대역폭 링크가 있다면, 상기 방법은 단계(870)로 진행한다.
단계(870)에서, 서버(205)는 WAN(250)상에서의 화상회의 세션에 대한 정책을 점검한다. 이것은 기본적으로 "X 세션은 최대 Y 비트전송율로 발생할 수 있다"로 해석된다. 서버(205)는 상기 정책에 기초하여 이용가능성을 점검한다{단계(875)}. 만일 이용가능성이 없다면, 서버(205)는 다음의 메시지, 즉 "600-모든 위치가 사용중", "486-여기서 사용중", "503-서비스 이용불가능", 또는 "603-거부" 중 하나를 전송함으로써 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 모듈은 INVITE 메시지를 클라이언트 애플리케이션 2(997)로 전송할 것이다{단계(936)}. INVITE 메시지를 수신하면, 클라이언트 애플리케이션 2(997)는, 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 메시지는 진행중인 세션 설정 시도를 종료하는데 사용된다. 클라이언트는 클라이언트가 먼저 개시한 진행중인 화상회의 세션 설정을 취소하기 위해 상기 메시지를 이용할 수 있다. 서버는 INVITE가 전송된 진행중인 요청을 갖는 동일한 위치로 CANCEL 메시지를 전송한다. 클라이언트는 "200 OK" 메시지를 이용하여 CANCEL 메시지에 응답하지 않아야 한다. 만일 CANCEL 메시지가 성공적이지 않으면, 세션 종료 시퀀스(즉, BYE 메시지)가 사용될 수 있다.
도 11은 본 발명의 예시적인 실시예에 따른, SIP를 이용하여 화상회의 세션을 취소하는 방법을 예시하는 도면이다. 도 11의 예시는 화상회의 클라이언트 애플리케이션 #1(클라이언트 #1)(1102), 화상회의 서버(서버)(205), 및 화상회의 클라이언트 애플리케이션 #2(클라이언트 #2)(1106)를 포함한다.
INVITE 요청은 클라이언트 #1(1102)로부터 서버(2O5)로 전송된다{단계(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)와의 호출을 끊기로 결정한다. 따라서, 클라이언트 #1(1202)은 BYE 메시지를 서버(205)로 전송한다{단계(1210)}. 서버(205)는 BYE 메시지를 클라이언트 #2(1206)로 전송한다{단계(1220)}.
클라이언트 #2(1206)는 200 OK 메시지를 다시 서버(205)로 전송하여, 그것{클라이언트 #2(1206)}이 연결을 끊었다는 것을 나타낸다{단계(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) 사이의 세션을 해제하지 않는다.
클라이언트 #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) 사이의 세션을 해제하지 않는다.
클라이언트 #1(1402)은 BYE 메시지를 클라이언트 #2(1406)를 위해 사용되는 서버(205)로 전송한다{단계(1410)}. 서버(205)는 BYE 메시지를 클라이언트 #2(1406)로 전송한다{단계(1420)}. 클라이언트 #1(1402)은 BYE 메시지를 클라이언트 #3(1408)을 위해 사용되는 서버(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을 포함한다(예를 들어 도 2 참조). 각각의 고속 LAN은 대개 단일 지리적 위치에서의 네트워크 하부구조를 나타내고, 저속 링크는 복수의 지리적 위치를 함께 연결하는 비교적 긴 링크이다. 저속 링크가 사용되는 이유는, 비교적 긴 링크의 비용이 상대적으로 높고 또한 대부분의 네트워크 트래픽이 대개 LAN내에서 국부적으로 존재하여서, 많은 양의 데이터가 대개 이러한 비교적 긴 링크를 통해 교환되지 않기 때문이다.
IP 기반 네트워크를 통한 서비스 품질에 있어서의 최근의 진보는 이제 다른 유형의 정보가 이러한 네트워크상에서 전송되도록 허용하는 수단을 제공하고 있다. 이것은 비-실시간 데이터 트래픽에 추가로 하부구조상에서 실시간 정보(즉, 오디오 및 비디오)를 전송하기 위한 문을 열어준다. 네트워크 서비스 품질을 이용하는 화상회의 서비스는 이러한 하부구조상에 놓이기에 매우 적절하다. 이제 2개의 다른 지리적 위치에 있는 2명의 사용자가 실시간 화상회의 세션을 진행할 수 있다는 것이 가능하다. 화상회의 세션의 한가지 단점은, 실시간 비디오의 전송이 지극히 많은 양의 대역폭을 소비할 수 있고 이용가능한 네트워크 자원을 쉽게 고갈시킬 수 있다는 것이다. 네트워크상에서 전송된 실시간 비디오의 비트전송율은 주로 비디오 해상도 및 사용되는 압축 알고리즘에 따라 달라진다. 일반적으로, 서로 다른 지리적 위치에 있는 2명, 3명 또는 4명의 사용자 사이의 하나의 화상회의 세션은 적절한 양의 대역폭을 이용하여 네트워크상에서 적절하게 지원될 수 있다. 그러나, 일반적으로, 화상회의 세션에서 4명을 초과하는 추가 사용자가 지원될 수 없거나 또는 제 2 화상회의 세션이 대역폭 구속으로 인해 지원될 수 없는 것이 사실이었다. 화상회의 시스템의 제한 요소는 지리적 위치 사이의 저속의 비교적 긴 링크이다.
한가지 가능한 해결책은 시스템 내에서 더 많은 사용자를 지원하기 위해서 2개 지리적 위치 사이에 비교적 긴 링크의 대역폭을 증가시키는 것이다. 이러한 방식의 단점은 대역폭이 매우 비싸다는 것이다. 두 번째 해결책은 화상회의 세션에서 제한된 수의 사용자(즉, 능동 사용자)만이 고해상도 및 높은 비트 전송율로 전송하도록 허용되고, 세션의 나머지 사용자(즉, 수동 사용자)는 단지 제한된 비트전송율 및 제한된 해상도로 전송할 수 있는 시스템을 구비하는 것이다. 화상회의 세션 오거나이저(organizer)는 어떤 사용자가 고해상도로 전송하고 어떤 사용자가 저해상도로 전송할 것인지를 제어할 것이다. 만일 사용자가 세션 내에서 능동적으로 대화하거나 상호작용하지 않는다면, 그 비디오를 고해상도로 전송할 필요가 없다. 이러한 방식은 대역폭에 있어서 상당한 양의 절약을 제공할 수 있다.
도 18a의 화상회의 클라이언트 애플리케이션(1800)을 미리 참조하면, 이러한 방식은 다양한 윈도우 크기(즉, 고해상도 및 저해상도로 디코딩된 비디오 스트림을 나타내기 위한 서로 다른 크기의 디스플레이 윈도우)를 지원하는 화상회의 클라이언트 애플리케이션(1800)내의 사용자 인터페이스(1808), 및 서버(205)와 다른 클라이언트의 애플리케이션 사이의 통신을 지정하는 {도 18a의 화상회의 클라이언트 애플리케이션(1800)에 차례로 포함되는 네트워크 엔티티(1806)에 포함되는) 메시징 시스템(1842)을 구비하는 것을 수반한다. 메시징 시스템(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)를 포함한다.
"낮은 비트전송율/해상도로 전송" 메시지는 클라이언트 1(1602)로부터 네트워크 라우터(1606)로 전송된다{단계(1620)}. "높은 비트전송율/해상도로 전송" 메시지는 클라이언트 3(1608)으로부터 네트워크 라우터(1606)로 전송된다{단계(1625)}. "낮은 비트전송율/해상도로 전송" 메시지는 클라이언트 2(1604)로부터 네트워크 라우터(1606)로 전송된다{단계(1630)}. "높은 비트전송율/해상도로 전송" 메시지는 클라이언트 4(1610)로부터 네트워크 라우터(1606)로 전송된다{단계(1635)}.
데이터는 멀티캐스트 어드레스를 이용하여 네트워크 라우터(1606)로부터 클라이언트 2(1604), 클라이언트 3(1608), 클라이언트 1(1602), 및 클라이언트 4(1610)로 전송된다{각각 단계(1640,1645,1650,1655)}.
도 17로 진행하면, "낮은 비트전송율/해상도로 전송" 메시지는 클라이언트 1(1602)로부터 네트워크 라우터(1606)로 전송된다{단계(1720)}. "높은 비트전송율/해상도로 전송" 메시지는 클라이언트 3(1608)으로부터 네트워크 라우터(1606)로 전송된다{단계(1725)}. "높은 비트전송율/해상도로 전송" 메시지는 클라이언트 2(1604)로부터 네트워크 라우터(1606)로 전송된다{단계(1730)}. "낮은 비트전송율/해상도로 전송" 메시지는 클라이언트 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)의 주 제어 예시이다. 모든 시스템 내부 통신은 멀티미디어 인터페이스층(1802)을 통해 라우팅되고 상기 층에 의해 제어된다. 멀티미디어 인터페이스층(1802)의 주요 기초적인 특징 중의 하나는 다른 오디오 및 비디오 코덱(1804)을 용이하게 교환하는 능력이다. 이에 추가로, 멀티미디어 인터페이스층(1802)은 운영 시스템(OS) 종속 사용자 입력/출력 엔티티 및 네트워크 서브시스템으로의 인터페이스를 제공하는 것이다. 멀티미디어 인터페이스층(1802)은 멤버 데이터베이스(1820), 주 제어 모듈(1822), 오디오 믹서(1899), 및 에코 취소 모듈(1898)을 포함한다.
사용자 인터페이스(1808)는 말단 사용자의 화상회의 클라이언트 애플리케이션(1800)과의 상호작용의 포인트를 제공한다. 사용자 인터페이스(1808)는 바람직하게 OS 종속 모듈로서 구현되지만 반드시 그럴 필요는 없다. 많은 그래픽 사용자 인터페이스는 그들이 사용하고 있는 특정 OS에 종속적이다. 사용자 인터페이스(1808)의 4가지 주요 기능은 비디오 캡처, 비디오 디스플레이, 오디오 캡처, 및 오디오 재생이다. 사용자 인터페이스(1808)는 오디오/비디오 캡처 인터페이스(1830), 오디오/비디오 재생 모듈(1832), 멤버 뷰 모듈(1834), 채팅 모듈(1836), 및 사용자 선택/메뉴(1838)를 포함한다. 오디오/비디오 캡처 인터페이스(1830)는 카메라 인터페이스(1830a), 마이크로폰 인터페이스(1830b), 및 파일 인터페이스(1830c)를 포함한다. 오디오/비디오 재생 모듈(1832)은 비디오 디스플레이(1832a), 오디오 재생 모듈(1832b), 및 파일 인터페이스(1832c)를 포함한다.
네트워크 엔티티(1806)는 화상회의 클라이언트 애플리케이션(1800)의 통신 서브시스템을 나타낸다. 네트워크 엔티티(1806)의 기능은 SIP 기반의 클라이언트-서버 메시징 및 오디오 및 비디오 스트림의 전송 및 수신이다. 네트워크 엔티티(1806)는 또한 클라이언트들 사이에서의 매체 스트림의 인증 및 암호화 통신을 위한 기본적인 보안 기능을 포함한다. 네트워크 엔티티(1806)는 보안 모듈(1840), 메시징 시스템(1842), 비디오 스트림 모듈(1844), 오디오 스트림 모듈(1846), 및 IP 소켓(1848a-c)을 포함한다.
오디오 코덱(1804a) 및 비디오 코덱(1804b)은 디지털 매체의 압축 및 압축해제를 처리하는 서브시스템이다. 코덱으로의 인터페이스는 그들을 용이하게 교환하기 위해서 단순하고 일반적이어야 한다. 멀티미디어 인터페이스층(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)는 세션이 종료될 때 플러시된다.
본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스층(1802)에 포함되는 주 제어 모듈(1822)의 설명이 이제 제공될 것이다.
주 제어 모듈(1822)은 멀티미디어 인터페이스층(1802)의 매우 중요한 부분이다. 주 제어 모듈(1822)은 중앙 관리 서브시스템으로서 기능하고, 다음의 키 기능, 즉 오디오 및 비디오 디코딩 및 재생을 위한 동기화 메커니즘, 레코딩 목적으로 디 코더의 착신지를 스크린 또는 파일로 연결, 및 애플리케이션층 서비스 품질을 제공한다.
오디오 및 비디오 재생의 동기화는 최적의 화상회의 사용자 경험에 있어서 결정적이다. 2개의 매체 스트림을 정확하게 동기화하기 위해서, 타임스탬프가 사용되고 매체 컨텐트와 함께 전송될 필요가 있을 것이다. 실시간 프로토콜(RTP: Real Time Protocol)은 이러한 목적으로 타임스탬프 및 시퀀스 번호를 포함하기 위해 범용 헤더를 제공한다. 제공되는 타임스탬프는 2개의 네트워크 노드 클록을 동기화하는데 사용되지 않지만, 일관된 재생을 위해 오디오 및 비디오 스트림을 동기화하는데 사용된다. 이러한 타임스탬프는 캡처 시간에 동일한 노드상에서 공통 클록으로부터 유도될 필요가 있을 것이다. 예를 들어, 비디오 프레임이 캡처되면, 비디오 프레임이 캡처된 시간이 레코딩되어야 한다. 오디오에도 동일하게 적용된다. RTP를 사용하기 위한 추가적인 세부사항 및 안내는 본 명세서의 다른 곳에서 설명된다.
오디오 및 비디오를 동기화하는데 있어서 주 제어 모듈(1822)의 기능은, 멀티미디어 데이터 및 (타임스탬프 및 시퀀스 번호를 포함하는) 메타데이터의 적절한 전달을 위해서 네트워크 엔티티(1806)와 코덱(1804) 사이를 연결하는 것이다. 패킷이 늦어지면, 현재의 시스템 상태에 따라서 디코딩 이전 또는 이후에 드롭될 수 있다. RTP 타임스탬프는 이어서 프레젠테이션 및 재생 타임스탬프를 형성하기 위해 사용된다.
주 제어 모듈(1822)은 또한 재생용 스크린, 레코딩용 파일 또는 양쪽 모두로 오디오 및 비디오 디코더(1890)의 출력을 전달할 책임이 있다. 각각의 디코더(1890)는 독립적으로 취급되고, 따라서 이것은 예시적인 상황에서 하나의 디코더의 출력이 스크린 상에 디스플레이되게 하고 제 2 디코더의 출력이 파일 내에 레코딩되게 하고, 제 3 디코더로부터의 출력이 파일 및 스크린 모두로 동시에 전달되도록 허용한다.
전술한 책임에 추가로, 주 제어 모듈(1822)은 또한 애플리케이션 층 서비스 품질과 관련된다. 주 제어 모듈(1822)은 패킷 드롭에 관한 정보, 수신 및 전송된 바이트를 수집하고, 상기 정보에 기초하여 그에 따라서 작용한다. 이것은 네트워크 내에서 발생하고 있는 상황을 개선하는 것을 돕기 위해 메시지를 다른 클라이언트 또는 화상회의 서버(205)로 전송하는 것을 수반할 수 있다. 실시간 제어 프로토콜(RTCP: Real Time Control Protocol)은 통계 및 패킷 손실을 보고하기 위해 사용될 수 있고, 또한 애플리케이션 특정 시그널링을 위해 사용될 수 있다.
도 18b는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스층(1802)에 포함되는 오디오 믹서(1899)를 추가로 예시하는 블록도이다. 본 명세서에서 "이득 제어 모듈"로도 언급되는 오디오 믹서(1899)는 복수의 오디오 디코더(1890)와 실시가능하게 연결된다. 복수의 오디오 디코더(1890)는 압축된 오디오 스트림을 수신하고 압축되지 않은(uncompressed) 오디오 스트림을 출력한다. 압축되지 않은 오디오 스트림은 오디오 믹서(1899)로 입력되고 결합된 오디오 스트림으로서 출력된다.
도 18c는 본 발명의 예시적인 실시예에 따른, 도 18a의 멀티미디어 인터페이스층(1802)에 포함되는 에코 취소 모듈(1898)을 추가로 예시하는 블록도이다. (본 명세서에서 "에코 취소기"로도 언급되는) 에코 취소 모듈(1898)은 스피커(1897){예를 들어, 오디오 재생 모듈(1832b)} 및 마이크로폰(1896){예를 들어, 마이크로폰 인터페이스(1830b)}에 실시가능하게 연결된다. 스피커(1897)로부터의 사운드가 풀 듀플렉스(full duplex) 즉 양방향 통신시스템에서 재생될 때, 오직 로컬 수화자로부터 들리도록 예정된다. 그러나, 재생된 사운드는 또한 로컬 마이크로폰(1896)에 의해 들리고, 이후 상기 마이크로폰(1896)은 상기 신호가 다시 원격 단말로 전송되도록 허용하고 에코로서 들린다. 이러한 이유로, 화상회의 클라이언트 애플리케이션(1800)은 이러한 효과를 완화시켜서 더 우수한 사용자 경험을 형성하기 위해 에코 취소 모듈(1898)을 필요로 한다.
본 발명의 예시적인 실시예에 따른, 화상회의 클라이언트 애플리케이션(1800)의 서브시스템에 이용가능한 인터페이스의 설명이 이제 제공될 것이다. 상기 인터페이스는 사용자 인터페이스(1808), 네트워크 엔티티(1806), 및 코덱(1804)과의 상호작용 포인트를 포함한다. 사용자 인터페이스(1808)는 그 대응하는 타임스탬프와 함께 캡처된 오디오 및 비디오를 수신하기 위한 기능을 제공한다. 이에 추가로, 디스플레이 및 재생을 위해 오디오 및 비디오를 사용자 인터페이스(1808)로 전송하기 위한 기능이 제공되어야 한다. 네트워크 엔티티(1806) 인터페이스는 세션 제어 및 보안을 위해 인입 및 인출 메시지를 시그널링하기 위한 기능을 제공한다. 오디오 및 비디오 코덱(1804a,b)은 구성 제어를 위한 기본 인터페이스뿐만 아니라 압축 또는 압축해제를 위해 패킷을 송신 및 수신하기 위한 기본 인터페이스를 제공한다.
본 발명의 예시적인 실시예에 따른, 오디오 및 비디오 코덱(1804a,b)의 설명이 이제 제공될 것이다.
화상회의에서의 사용을 위해 이용가능한 여러 오디오 및 비디오 코덱이 있다. 바람직하게, 본 발명에 따라 사용되는 코덱은 소프트웨어 기반이지만 반드시 그럴 필요는 없다. 본 발명의 한가지 예시적인 실시예에 따르면, H.263은 일반적인 데스크탑 컴퓨터의 처리력 구속으로 인해 비디오 압축 및 압축해제를 위해 사용된다. 데스크탑 컴퓨터가 미래에 더 강력해짐에 따라서, H.26L과 같은 더 개선된 코덱을 이용할 능력이 실현되고 이용될 수 있다. 물론, 본 발명은 전술한 유형의 코덱에 제한되지 않고, 따라서, 본 발명의 정신 및 범주를 유지하면서 다른 유형의 코덱이 사용될 수 있다.
본 발명의 예시적인 실시예에 따른, 코덱(1804a,b)으로의 인터페이스의 설명이 이제 제공될 것이다. 상기 설명은 데이터인(DataIn) 기능, 콜백(callback) 기능, 및 코덱 선택권을 포함할 것이다. 코덱(1804a,b)으로의 인터페이스는 코덱의 교환가능성을 허용할 뿐만 아니라 미래의 새로운 코덱의 추가를 허용하기 위한 일반적인 견지에서 정의되고 충분히 유동적이어야 한다. 이러한 유동적이고 일반적인 인터페이스를 구현하기 위해 제안된 인터페이스는 사용자에게 제공되는 제한된 수의 기능을 갖는 매우 단순한 인터페이스이다.
데이터인 기능은 단순하게 인코더 또는 디코더 등급의 패킷 또는 프레임을 저장하는데 사용된다.
멀티미디어 인터페이스층(1802)과 멀티미디어 코덱(1804) 사이의 간단한 연 결을 제공하기 위해서, 데이터 출력 기능이 콜백으로서 구현되어야 한다. 멀티미디어 인터페이스층(1802)은 이러한 콜백 기능을 수신하는 엔티티의 입력 기능으로서 설정한다. 예를 들어, 코덱이 프레임의 인코딩 또는 디코딩을 완료하면, 이러한 기능은 인코드 또는 디코드 프로세스로부터 예정된 정보를 전달하기 위해서 코덱에 의해 호출될 것이다. 상기 코덱이 이러한 콜백동안 아무것도 할 수 없다는 구속으로 인해서, 이러한 기능은 상기 시스템에서의 대기 및 불필요한 지연을 방지하기 위해 가능한한 빨리 복귀되어야 한다. 이러한 기능에서 수행되어야 하는 유일한 추가 대기는 공유된 자원을 액세스하는 경우에 뮤텍스 로크(mutex lock)되어야 한다는 것이다.
서로 다른 유형의 코덱에서 이용가능한 선택권의 범위는 변화할 것이다. 이러한 선택권을 관리하기 위한 필요조건을 만족시키기 위해서, 간단한 인터페이스가 사용되어야 한다. 텍스트 기반 인터페이스는 그것이 제공하는 유동성 때문에 바람직하다(그러나 요구되지 않는다). START 및 STOP과 같은 명령과, 그 다음 코덱 특정 명령의 공통 세트가 있어야 한다. 이러한 방법은 단순한 인터페이스를 제공하지만, 단순한 인터프리터가 요구되기 때문에 코덱에 추가적인 복잡성을 부가한다. 예를 들어, 선택권 기능은 선택권을 판독 및 기록하기에 충분히 포괄적일 수 있다.
예시: Result = Options("start"); Result = Options("resolution=CIF"); 등.
예를 들어, 코덱 사이의 공통적인 선택권의 일부는 시작, 정지, 일시중지, 품질 인덱스(0-100), 및 해상도와 같이 표준화되어야 한다.
품질 인덱스는 코덱의 전체 품질을 0%와 100% 사이의 값으로 설명하는 인수이다. 그것은 값이 더 높을수록 비디오 품질이 더 우수해진다는 기본 가정을 따른다.
도 19는 본 발명의 예시적인 실시예에 따른, 오디오 코덱(1804a) 및/또는 비디오 코덱(1804b) 중 하나에 포함되는 디코더(1890)에 의해 사용되는 방법을 예시하는 도면이다. 상기 방법은 디코더 환경(1901) 및 호출자 환경(1902)과 관련하여 설명된다. 상기 방법은 적어도 다음의 입력 및 출력, 즉 "데이터 입력"(1999), "신호 입력"(1998), "신호 출력 콜백"(1997), "설정 콜백 기능"(1996), 및 "데이터 출력 콜백"(1995)을 이용하여 작동한다. 상기 입력 "데이터 입력"(1999)은 데이터를 입력 큐에 저장하는데 사용된다{단계(1905)}.
개시 단계(Init)는 디코더(1890)를 초기화하기 위해 수행된다{단계(1910)}. 주 루프가 실행되어, 시작 또는 종료 명령을 기다린다{단계(1920)}. 만일 종료 명령이 수신되면, 상기 방법은 종료되고{단계(1922)}, 예를 들어 다른 동작(1924)으로 복귀된다.
데이터는 입력 큐(1895) 밖으로 판독되거나 또는 만일 입력 큐(1895)가 비었다면 대기 상태가 강제된다{단계(1930)}. 상기 데이터는, 만일 단계(1930)에서 판독된다면, 디코딩된다{단계(1940)}. "데이터 출력 콜백"(1995)은 단계(1920)로 제공된다.
본 발명의 예시적인 실시예에 따른, 네트워크(200)에 의해 사용되는 통신의 설명이 이제 제공될 것이다. 상기 설명은 네트워크 통신과 관련하여 전술한 설명을 보충한다.
{도 18a의 네트워크 엔티티(1806)에 포함되는} 메시징 시스템(1842)은 화상회의 클라이언트 애플리케이션(1800)과 화상회의 서버(205) 사이의 인터페이스를 제공한다. 그것은 세션 관리(즉, 세션 설정 및 해제)를 위해 사용되는 것으로 예정된다. 모든 시그널링 메시지는 화상회의 서버(205)를 통해 전달되고, 직접 클라이언트로부터 클라이언트로 전달되지 않는다. 멀티미디어 컨텐트 및 개인적인 채팅 메시지와 같은 데이터는 클라이언트 사이에서 직접적으로 전송된 정보만을 포함한다. 메시징 시스템은 SIP 기반 표준을 이용할 것이다.
화상회의 클라이언트 애플리케이션(1800)의 기능을 통제하는 여러 다른 프로토콜이 있다. 예를 들어, SIP, RTP, RTCP, 및 SDP가 사용될 수 있다.
SIP의 목적은 세션 관리이다. SIP는 IP 기반 네트워크상의 하나 이상의 참여자와의 멀티미디어 세션을 형성, 수정 및 종료하기 위한 텍스트 기반 애플리케이션층 제어 프로토콜이다. SIP는 이것을 실현하기 위해서 클라이언트와 서버 사이에서 이용된다. SIP는 화상회의 서버(205)와 관련하여 추가로 전술되어 있다.
RTP는 실시간 멀티미디어(즉, 오디오 및 비디오)의 전송을 위해 사용된다. RTP는 전달하고 있는 멀티미디어 정보 유형에 관계되는 추가적인 세부사항을 제공하기 위한 애플리케이션층 프로토콜이다. RTP는 전송층 위에 존재하고, 대개 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol)의 상부 상에 전달된다. 클라이언트 애플리케이션에서 RTP의 주요 기능은 (오디오 및 비디오 동기화를 위한) 타임스탬프, 시퀀스 번호를 전송하는 것뿐만 아니라 캡슐화하고 있는 페이로드의 유형(예를 들어, MPEG4, H.263, G.723 등)을 식별하는 것이다.
도 20은 본 발명의 예시적인 실시예에 따른, 사용자 수준 프로토콜 스택(2000)을 예시하는 도면이다. 상기 스택(2000)은 한 층상의 비디오(2010) 및 보이스(2020), 다른 층상의 비디오(2010) 및 보이스(2020) 양쪽을 위한 RTP(2030), 다른 층상의 UDP 포트 #X(2040) 및 UDP 포트 #Y(2050), IP층(2060), 링크층(2070), 및 물리층(2080)을 포함한다. 코덱 특정 RTP 헤더는 범용 RTP 헤더에 추가로 사용된다.
RTCP는 RTP 표준의 일부이다. RTCP는 전송자와 수신자 사이의 통계 보고 도구로서 사용된다. 각각의 화상회의 클라이언트 애플리케이션(1800)은 그 통계를 수집하고, 그것을 다른 하나의 애플리케이션 뿐만 아니라 서버(205)로 전송할 것이다. 화상회의 서버(205)는 이러한 데이터에 기초하여 세션에서 발생할 수 있는 문제점에 관한 정보를 레코딩할 것이다.
도 21은 본 발명의 예시적인 실시예에 따른, 제어 수준 프로토콜 스택(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)은 "큰 뷰"(2210), "작은 뷰"(2220), 채팅 뷰 부분(2230), 멤버 뷰 부분(2240), 및 채팅 편집 부분(2250)을 포함한다.
도 18a를 다시 참조하면, 비디오 캡처 인터페이스(1830)는 웹 캠(미도시), 캡처 카드 및 고화질 카메라(미도시), 카메라 인터페이스(1830a), 마이크로폰 인터페이스(1830b), 파일 인터페이스(1830c) 등 중의 임의의 것을 포함할 수 있다.
웹 캠은 윈도우 OS에 의해 제공되는 VFW(Video For Windows) API(Application Programming Interface)를 이용하는 USB 또는 Firewire(IEEE 1394) 인터페이스, 또는 리눅스와 같은 다른 OS하에서 사용되는 대안적인 캡처 드라이버를 통해 지원되어야 한다. 물론, 본 발명은 전술한 인터페이스, OS 또는 드라이버에 제한되지 않고, 따라서 본 발명의 정신 및 범주를 유지하면서 다른 인터 페이스, OS, 및 드라이버가 또한 사용될 수 있다.
멤버 뷰 모듈(1834)은 진행중인 호출에 참여하는 멤버를 나타내는데 사용된다. 호출의 개시자(즉, 마스터)는 원치않는 멤버를 드롭시키거나 또는 능동 멤버를 선택할 수 있다. 모든 멤버는 개인 채팅 메시지 교환을 위해 하나 이상의 멤버를 선택할 수 있다. 또한, 멤버의 상태는 멤버 뷰 모듈(1834)내에 시그널링된다. 멤버는 이후 그들이 현재 이용가능하지 않지만 곧 돌아올 것이라는 것을 다른 멤버에게 시그널링하기 위해서 그 자신의 상태를 예를 들어 "사용불가능"으로 설정할 수 있다.
비디오 스트림에 추가로, 모든 멤버는 채팅 모듈(1836)을 이용하여 채팅 메시지를 다른 멤버 전체 또는 단지 일부에게 전송할 기회를 갖는다. 메시지는 채팅 뷰에서 디스플레이되고, 채팅 편집 뷰에서 편집된다. 스크롤바는 더 오래된 메시지의 시청을 허용한다.
본 발명의 예시적인 실시예에 따른, 클라이언트 애플리케이션(1800)을 위한 작동 시나리오의 설명이 이제 제공될 것이다. 다음의 설명은 단지 클라이언트 애플리케이션(1800) 특징의 일부의 기본 안내이고, 특징의 전체 리스트를 나타내고자 하는 것이 아니다. 상기 설명은, 로그인, 호출의 개시, 호출의 승낙 및 로그오프를 포함할 것이다.
로그인은 클라이언트 애플리케이션(1800)이 처음 시작될 때 수행된다. 로그인은 개시시에 OS에 제공되는 로그인 명에 기초하여 자동으로 수행될 수 있거나, 또는 로그인에 상관없이 다른 인터페이스가 사용될 수 있다. 그것은 현재 사용되는 네트워크에 대한 적절한 인증 방법, 및 정책이 운영되는 방법에 따라서 달라진다. 가장 간단한 방법은 명명 일관성을 유지하기 위해 윈도우 OS에서 사용되는 것과 동일한 로그인명을 이용하고 또한 (적용가능하다면) 기존의 사용자 데이터베이스를 재사용할 능력을 갖는 것이다.
도 23은 본 발명의 예시적인 실시예에 따른, 로그인 인터페이스(2300)를 예시하는 도면이다. 서명 특징(2330)은 사용자가 현재 서버에 대해 계정을 가지고 있지 않은 경우에 사용된다. 이메일 어드레스는 용이한 액세스를 위해 임의의 이메일 어드레스 입력 박스(2340)내에 제공될 수 있다.
호출을 개시하기 위해서, 클라이언트 애플리케이션(1800)은 이용가능한 후보 리스트를 서버(205)에 질의할 것이다. 클라이언트는 자신이 화상회의 세션에 참가시키고 싶은 사용자를 선택할 수 있다. 세션은 2명의 참여자가 관련되는 경우에 유니캐스트로서 설정될 것이다. 그렇지 않으면, 2명보다 많은 참여자가 관련되는 경우에 세션은 멀티캐스트 세션으로 설정된다.
도 24는 본 발명의 예시적인 실시예에 따른, 세션 개시를 위한 사용자 선택 인터페이스(2400)를 예시하는 블록도이다.
사용자가 일단 호출에 초대되면, 개시자의 이름을 나타내는 메시지가 그 스크린상에 디스플레이된다. 사용자는 이때 상기 호출을 승낙 또는 거부할 수 있다. 만일 사용자가 호출을 승낙하면, 클라이언트 애플리케이션(1800)은 승낙(또는 응답) 메시지를 서버(205)로 전송한다. 서버(205)는 이때 현재 호출에 참여하고 있는 모든 멤버에게 새로운 멤버에 관해 알린다. 만일 사용자가 취소 메시지를 서버(205)에게 전송함으로써 호출을 거부하면, 모든 다른 멤버는 또한 그 상황에 대해 알게 된다. 도 25는 본 발명의 예시적인 실시예에 따른, 인입 호출을 승낙 또는 거부하기 위한 초대 인터페이스(2500)를 예시하는 블록도이다.
로그오프는 화상회의 서버(205)의 데이터베이스 엔티티(302)에 포함되는 멤버 데이터베이스(314)로부터 사용자를 제거할 것이다. BYE 메시지가 세션의 각각의 참여 클라이언트에게 전송된다. 이것은 멀티캐스트 또는 유니캐스트를 통해 수행될 수 있다. 멀티캐스트는 이러한 메시지를 전송하기에 적절한 방법이다.
도 26은 본 발명의 예시적인 실시예에 따른, 복수의 참여자들과의 화상회의 세션을 자동으로 개시하기 위한 방법을 예시한 흐름도이다. 복수의 참여자들은 개시하는 참여자와 다른 참여자들을 포함한다. 화상회의 세션은 유니캐스트 화상회의 세션 또는 멀티캐스트 화상회의 세션일 수 있다.
화상회의 세션에 대한 시간과 날짜 및 화상회의 세션에 대한 다른 참여자들이 개시하는 참여자에 의해 선택된다{단계(2610)}. 다른 참여자들은 예컨대 참여자 선택 메커니즘을 사용하여 선택될 수 있다.
그런 다음, 다른 참여자들이 화상회의를 선택된 시간 및 날짜에 이용할 수 있는지의 여부가 결정된다{단계(2620)}. 단계(2620)는 다른 참여자들이 선택된 시간과 날짜에 이용할 수 있는지를 보증하기 위해 예컨대 선택된 시간과 날짜를 다른 참여자들의 스케줄에 대비하여 검증함으로써 수행된다.
선택된 시간, 날짜 및 참여자들 목록(즉, 개시하는 참여자 및 다른 참여자들)은 개시하는 참여자로부터 서버로 송신되고, 서버에 의해 저장된다{단계(2630)}. 본 발명의 또 다른 실시예에서, 참여자들의 목록은 개시하는 참여자를 생략할 수 있으며; 그러나, 이러한 경우에, 개시하는 참여자는 서버에 의해 확인되고(예컨대 개시하는 참여자의 IP 어드레스로부터), 자동으로 서버 말단에서 목록에 포함되거나, 적어도 서버 말단에서 목록과 관련될 수 있음을 인식해야 한다. 물론, 본 발명의 사상과 범주를 유지하면서, 다른 배열이 가능하다.
초대 메시지가 서버로부터 다른 참여자들에게 선택된 시간과 날짜에 전송되며{단계(2640)}, 이것은 개시하는 참여자가 다른 참여자들과의 화상화의를 요청하였음을 나타낸다.
다른 참여자들은 초대 메시지를 승낙 또는 거부할 수 있다. 초대 메시지의 승낙 또는 거부를 나타내는 메시지가 다른 참여자들 각각으로부터 개시하는 참여자로 전송된다{단계(2650)}. 메시지가 초대를 거부하는 경우에, 이러한 메시지는 거부 이유를 포함할 수 있다. 화상회의 세션은 개시하는 참여자와 초대를 승낙한 임의의 다른 참여자들로 진행된다{단계(2660)}.
도 27은 본 발명의 예시적인 실시예에 따라, 복수의 참여자들 사이에 멀티캐스트 세션을 자동으로 개시하기 위한 방법을 예시한 흐름도이다. 복수의 참여자들은 개시하는 참여자와 다른 참여자들을 포함한다. 개시하는 참여자는 컨텐트를 네트워크에 걸쳐서 다른 참여자들에게 분배하기 위해 스케줄링된 멀티캐스트 세션을 설정하고자 한다. 멀티캐스트 세션은 라이브(live) 또는 사전-레코딩된 소스로부터 개시될 수 있다.
멀티캐스트 세션에 대한 시간과 날짜 및 멀티캐스트 세션으로의 다른 참여자 들은 개시하는 참여자에 의해 선택된다{단계(2710)}. 시간, 날짜, 참여자들의 목록(즉, 개시하는 참여자와 다른 참여자들) 및 컨텐트를 분산시키기 위한 멀티캐스트 어드레스에 대한 요청이 개시하는 참여자로부터 서버로 송신된다{단계(2720)}. 본 발명의 또 다른 실시예에서, 참여자들의 목록은 개시하는 참여자를 생략할 수 있지만, 그러나, 그러한 경우에, 개시하는 참여자는 서버에 의해 (예컨대 개시하는 참여자의 IP 어드레스로부터) 확인되어 자동으로 서버 말단에서 목록에 포함되거나, 또는 적어도 서버 말단에서 목록과 관련될 수 있음을 인식해야 한다. 물론, 본 발명의 사상과 범주를 유지하면서, 다른 배열이 가능하다.
시간, 날짜 및 참여자들 목록은 서버에 의해 저장되며{단계(2730)}, 멀티캐스트 어드레스는 서버에 의해 할당되고, 멀티캐스트 소스로 전송된다{단계(2740)}.
참여자들(즉, 개시하는 참여자와 다른 참여자들) 목록 내의 각 사람은 멀티캐스트 세션이 (선택된) 시간과 날짜에 일어나고 있을 것임을 통보받고(예컨대, 자신들의 달력, E-메일 프로그램 등에서), 그 로컬 클라이언트 디바이스 상에 멀티캐스트 세션을 레코딩하는 옵션이 제공된다{단계(2570)}. 이러한 옵션의 제공은, 예정된 참여자가 멀티캐스트 세션에 참여할 수 없는 경우 또는, 실제 참여자가 멀티캐스트 세션에 참여했음에도 불구하고 멀티캐스트 세션을 레코딩하고자 하는 경우에 바람직하다.
(선택된) 시간과 날짜에, 초대 메시지가 서버로부터 참여자들 목록 내의 각 사람에게 전송되며; 이때 초대 메시지는 멀티캐스트 세션의 멀티캐스트 어드레스를 포함한다(또는 이러한 멀티캐스트 세션과 별도로 관련될 수 있다){단계(2760)}.
참여자들은 초대를 승낙하거나 거부할 수 있다. 만약 초대가 거부된다면, 거부한 참여자들은 나중에 연결을 선택할 수 있다. 그러나, 초대가 승낙된다면, 승낙한 참여자들 각각의 화상회의 클라이언트 애플리케이션은 IGMP를 네트워크에 송신한다{단계(2770)}. 그러면, 멀티캐스트 세션이 개시하는 참여자와 승낙하는 참여자들 사이에 실행되며, 컨텐트는 멀티캐스트 소스로부터 멀티캐스트 어드레스로 전송된다{단계(2780)}. 특히, 컨텐트는 멀티캐스트 어드레스 상의 멀티캐스트 소스로부터 네트워크에 전송되며, 예컨대 네트워크 라우터에서 복제된다.
예시적인 실시예가 첨부 도면을 참조하여 본 명세서에서 설명되었지만, 본 발명은 상기한 구체적인 실시예에 제한되지 않고, 본 발명의 정신 또는 범주에서 벗어나지 않고서 당업자에 의해 다양한 다른 변경 및 수정이 그 안에서 작용될 수 있다는 점이 이해될 것이다. 그러한 모든 변경 및 수정은 첨부된 청구의 범위에 의해 한정되는 바와 같은 본 발명의 범주 내에 포함되도록 예정된다.
전술한 바와 같이, 화상회의, 특히 시간 스케줄링된 화상회의 세션을 네트워크 내의 서버에 의해 자동으로 개시하는 방법에 관한 것이다.

Claims (38)

  1. 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법으로서,
    상기 화상회의 세션에 대해 시간 및 클라이언트들을 명시하는 사전-선택 신호를 수신하는 단계;
    상기 화상회의 세션에 관한 초대 메시지를 상기 클라이언트들 중 적어도 한 클라이언트에게 상기 명시된 시간에 전송하는 단계로서, 초대 메시지는 화상회의 세션을 위한 사전-레코딩된 콘텐츠 소스의 공통 멀티캐스트 IP 어드레스를 명시하는, 전송 단계; 및
    비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩하기 위한 능력을 화상회의 세션에 참가할 수 없는 의도된 클라이언트에 제공하는 단계
    를 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  2. 제 1항에 있어서, 상기 명시된 시간과 상기 클라이언트들을 나타내는 정보를 수신하는 단계를 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  3. 제 2항에 있어서, 상기 정보를 저장하는 단계를 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  4. 제 1항에 있어서, 상기 클라이언트들이 상기 명시된 시간에 상기 화상회의 세션을 이용할 수 있는지를 검증하는 단계를 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  5. 제 4항에 있어서, 상기 검증 단계는 상기 명시된 시간을 상기 클라이언트들의 스케줄에 대비해 점검하는 단계를 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  6. 삭제
  7. 제 1항에 있어서, 전용 거부 메시지를 클라이언트 중 거부 클라이언트로부터 수신하는 단계를 더 포함하며, 상기 전용 거부 메시지는 상기 화상회의 세션을 거부하는 이유를 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  8. 제 1항에 있어서, 상기 초대 메시지에 응답하여 전용 승낙 메시지를 수신하는 단계를 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
  9. 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하는 방법으로서,
    상기 멀티캐스트 세션에 대해 공통 멀티캐스트 IP(Internet Protocol) 어드레스를 지정하는 단계;
    상기 멀티캐스트 세션에 관한 초대 메시지를 적어도 하나의 클라이언트에게 사전-선택된 시간에 전송하는 단계로서, 상기 초대 메시지는 상기 공통 멀티캐스트 IP 어드레스를 명시하는, 초대 메시지 전송 단계;
    멀티캐스트 세션을 위한 사전-레코딩된 콘텐츠 소스의 공통 멀티캐스트 IP 어드레스를 송신하는 단계; 및
    비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩하기 위한 능력을 멀티캐스트 세션에 참가할 수 없는 의도된 클라이언트에 제공하는 단계
    포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하는 방법.
  10. 삭제
  11. 삭제
  12. 제 9항에 있어서, 상기 적어도 하나의 클라이언트에게 상기 멀티캐스트 세션이 상기 사전-선택된 시간에 진행될 것임을 상기 사전-선택된 시간에 실제 도달하기 이전에 통지하는 단계를 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하는 방법.
  13. 제 9항에 있어서, 상기 초대 메시지에 응답하여 상기 적어도 하나의 클라이언트 중 승낙한 클라이언트들로부터 IGMP(Internet Group Multicast Protocol) 메시지를 수신하는 단계를 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하는 방법.
  14. 제 9항에 있어서, 상기 사전-선택된 시간 및 상기 클라이언트들을 나타내는 정보를 수신하는 단계를 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하는 방법.
  15. 제 14항에 있어서, 상기 정보를 저장하는 단계를 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하는 방법.
  16. 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템으로서,
    상기 화상회의 세션에 대해 시간 및 클라이언트들을 명시한 사전-선택 신호를 수신하기 위한 수단;
    상기 화상회의 세션에 관한 초대 메시지를 상기 클라이언트들 중 적어도 하나에게 상기 명시된 시간에 전송하기 위한 수단으로서, 초대 메시지는 화상회의 세션을 위한 사전-레코딩된 콘텐츠 소스의 공통 멀티캐스트 IP 어드레스를 명시하는, 전송 수단; 및
    비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩하기 위한 능력을 화상회의 세션에 참가할 수 없는 의도된 클라이언트에 제공하는 수단
    을 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  17. 제 16항에 있어서, 상기 명시된 시간 및 상기 클라이언트들을 나타내는 정보를 수신하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  18. 제 17항에 있어서, 상기 정보를 저장하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  19. 제 16항에 있어서, 상기 클라이언트들이 상기 화상회의 세션을 상기 명시된 시간에 이용할 수 있는지를 검증하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  20. 제 19항에 있어서, 상기 검증 수단은 상기 명시된 시간을 상기 클라이언트들의 스케줄에 대비하여 점검하기 위한 수단을 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  21. 삭제
  22. 제 16항에 있어서, 전용 거부 메시지를 클라이언트 중 거부 클라이언트로부터 수신하는 수단을 더 포함하며, 상기 전용 거부 메시지는 상기 화상회의 세션을 거부하는 이유를 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  23. 제 16항에 있어서, 상기 초대 메시지에 응답하여 전용 승낙 메시지를 수신하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 시스템.
  24. 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템으로서,
    상기 멀티캐스트 세션에 대해 공통 멀티캐스트 IP 어드레스를 지정하기 위한 수단;
    상기 멀티캐스트 세션에 관한 초대 메시지를 적어도 한 클라이언트에게 사전-선택된 시간에 전송하기 위한 수단으로서, 상기 초대 메시지는 상기 공통 멀티캐스트 IP 어드레스를 명시하는, 초대 메시지 전송 수단;
    멀티캐스트 세션을 위한 사전-레코딩된 콘텐츠 소스의 공통 멀티캐스트 IP 어드레스를 송신하는 수단; 및
    비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩하기 위한 능력을 멀티캐스트 세션에 참가할 수 없는 의도된 클라이언트에 제공하는 수단을,
    포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템.
  25. 삭제
  26. 제 24항에 있어서, 상기 적어도 하나의 클라이언트의 해당 클라이언트 디바이스 상에 멀티캐스트 세션 컨텐트를 레코딩하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템.
  27. 제 24항에 있어서, 상기 적어도 하나의 클라이언트에게 상기 멀티캐스트 세션이 상기 사전-선택된 시간에 진행될 것임을 상기 사전-선택된 시간에 실제 도달 하기 이전에 통지하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템.
  28. 제 24항에 있어서, 상기 초대 메시지에 응답하여 상기 적어도 하나의 클라이언트 중 승낙한 클라이언트로부터 IGMP 메시지를 수신하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템.
  29. 제 24항에 있어서, 상기 사전-선택된 시간 및 상기 클라이언트들을 나타내는 정보를 수신하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템.
  30. 제 29항에 있어서, 상기 정보를 저장하기 위한 수단을 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션을 자동으로 개시하기 위한 시스템.
  31. 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법으로서,
    상기 화상회의 세션에 관한 초대 메시지를 상기 화상회의 세션이 진행될 사전-선택된 시간에 수신하는 능력을 제공하는 단계로서, 초대 메시지는 화상회의 세션을 위한 사전-레코딩된 콘텐츠 소스의 공통 멀티캐스트 IP 어드레스를 명시하는, 수신 능력 제공 단계와;
    상기 초대 메시지에 응답하여 전용 승낙 메시지를 전송하는 능력을 제공하는 단계와;
    상기 승낙 메시지 전송에 응답하여, 상기 화상회의 세션에 해당하는 컨텐트를 자동으로 수신하는 능력을 제공하는 단계와;
    비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩하기 위한 능력을 화상회의 세션에 참가할 수 없는 의도된 클라이언트에 제공하는 단계
    를 포함하는, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법.
  32. 제 31항에 있어서, 상기 방법이 상기 컨텐트의 수신 이전에 종료되도록 전용 거부 메시지를 전송하는 능력을 제공하는 단계를 더 포함하는, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법.
  33. 제 32항에 있어서, 상기 전용 거부 메시지는 상기 화상회의 세션을 거부하는 이유를 포함하는, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법.
  34. 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법으로서,
    상기 멀티캐스트 세션에 관한 초대 메시지를 사전-선택된 시간에 수신하는 능력을 제공하는 단계로서, 상기 초대 메시지는 상기 멀티캐스트 세션에 대한 사전-레코딩된 콘텐츠 소스의 공통 멀티캐스트 IP 어드레스를 명시하는, 초대 메시지 수신 능력의 제공 단계와;
    상기 초대 메시지에 응답하여 전용 승낙 메시지를 전송하는 능력을 제공하는 단계와;
    상기 승낙 메시지 전송에 응답하여, 상기 멀티캐스트 세션에 해당하는 컨텐트를 자동으로 수신하는 능력을 제공하는 단계와;
    비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩하기 위한 능력을 멀티캐스트 세션에 참가할 수 없는 의도된 클라이언트에 제공하는 단계를,
    포함하는, 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법.
  35. 제 34항에 있어서, 상기 컨텐트를 레코딩하는 능력을 제공하는 단계를 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법.
  36. 제 34항에 있어서, 해당하는 클라이언트에게 상기 멀티캐스트 세션이 상기 사전-선택된 시간에 진행될 것임을 상기 사전-선택된 시간에 실제 도달하기 이전에 통지하는 능력을 제공하는 단계를 더 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법.
  37. 제 34항에 있어서, 상기 전용 승낙 메시지를 전송하는 능력을 제공하는 단계는 IGMP 메시지를 상기 네트워크에 전송하는 능력을 제공하는 단계를 포함하는, 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법.
  38. 제1 항에 있어서, 비-동시적인 시간에 후속 재생을 위한 사전-레코딩된 콘텐츠 소스를 레코딩할 능력은 대응하는 클라이언트 디바이스에 대해 제공되는, 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법.
KR1020047009197A 2001-12-15 2002-11-15 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법 KR100964983B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US34179701P 2001-12-15 2001-12-15
US34172001P 2001-12-15 2001-12-15
US34180101P 2001-12-15 2001-12-15
US34181901P 2001-12-15 2001-12-15
US34179901P 2001-12-15 2001-12-15
US34167101P 2001-12-15 2001-12-15
US34180001P 2001-12-15 2001-12-15
US60/341,819 2001-12-15
US60/341,671 2001-12-15
US60/341,801 2001-12-15
US60/341,797 2001-12-15
US60/341,720 2001-12-15
US60/341,800 2001-12-15
US60/341,799 2001-12-15
PCT/US2002/036773 WO2003052570A1 (en) 2001-12-15 2002-11-15 Server invoked time scheduled videoconference

Publications (2)

Publication Number Publication Date
KR20040062991A KR20040062991A (ko) 2004-07-09
KR100964983B1 true KR100964983B1 (ko) 2010-06-21

Family

ID=27569700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047009197A KR100964983B1 (ko) 2001-12-15 2002-11-15 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법

Country Status (8)

Country Link
US (1) US20050044503A1 (ko)
EP (1) EP1454220A4 (ko)
JP (2) JP2005513606A (ko)
KR (1) KR100964983B1 (ko)
CN (1) CN100351745C (ko)
AU (1) AU2002366494A1 (ko)
MX (1) MXPA04005815A (ko)
WO (1) WO2003052570A1 (ko)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111044B2 (en) * 2002-07-17 2006-09-19 Fastmobile, Inc. Method and system for displaying group chat sessions on wireless mobile terminals
US8150922B2 (en) 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US20040228531A1 (en) * 2003-05-14 2004-11-18 Microsoft Corporation Instant messaging user interfaces
US20040255308A1 (en) * 2003-06-16 2004-12-16 Microsoft Corporation Method and system for activity-based user interfaces
US20050041646A1 (en) * 2003-06-27 2005-02-24 Marconi Communications, Inc. Audio mixer and method
US20100299736A1 (en) * 2004-09-01 2010-11-25 Nortel Networks Limited Automated session admission
US7636340B2 (en) * 2004-09-24 2009-12-22 Simple Works, Inc. System and method for communicating over an 802.15.4 network
US8976767B2 (en) * 2004-09-24 2015-03-10 Simple Works, Inc. System and method for communicating over an 802.15.4 network
KR100603576B1 (ko) * 2004-12-06 2006-07-24 삼성전자주식회사 이종 단말간 영상 신호 전송 시스템 및 그 방법
JP2006345361A (ja) * 2005-06-10 2006-12-21 Ricoh Co Ltd 遠隔会議システムおよび遠隔会議システムの制御方法およびサーバ装置およびサーバ装置の制御方法および遠隔会議参加端末装置および遠隔会議参加端末装置の制御方法
CN1852125A (zh) * 2005-08-17 2006-10-25 华为技术有限公司 一对一会话扩展为多对多会话的实现方法
US20070120969A1 (en) * 2005-09-15 2007-05-31 Alpha Omega International Audio visual communication system and method
US7610554B2 (en) * 2005-11-01 2009-10-27 Microsoft Corporation Template-based multimedia capturing
US8332760B2 (en) * 2006-01-18 2012-12-11 International Business Machines Corporation Dynamically mapping chat session invitation history
GB0602296D0 (en) * 2006-02-04 2006-03-15 Ibm Method and system for accessing declined event invitations
US20070195158A1 (en) * 2006-02-23 2007-08-23 Kies Jonathan K Apparatus and methods for managing video calls on a wireless device
KR100791297B1 (ko) * 2006-04-06 2008-01-04 삼성전자주식회사 이벤트 정보를 관리하는 장치, 방법 및 시스템
CN101079823B (zh) * 2006-06-09 2010-04-07 腾讯科技(深圳)有限公司 一种发起与组建虚拟讨论组的方法及系统
US8395652B1 (en) 2006-06-28 2013-03-12 Insors Integrated Communications Data network collaboration systems having a shared file
US8412773B1 (en) * 2006-06-28 2013-04-02 Insors Integrated Communications Methods, systems and program products for initiating a process on data network
US8516050B1 (en) 2006-06-28 2013-08-20 Insors Integrated Communications Methods and program products for communicating file modifications during a collaboration event
US8023437B1 (en) 2006-06-28 2011-09-20 Insors Integrated Communications Methods, systems and program products for a distributed communications configuration
US8458283B1 (en) 2006-06-28 2013-06-04 Insors Integrated Communications Methods and program products for efficient communication of shared file modifications during a collaboration event
US8144632B1 (en) 2006-06-28 2012-03-27 Insors Integrated Communications Methods, systems and program products for efficient communications during data sharing event
US8121990B1 (en) 2006-06-28 2012-02-21 Insors Integrated Communications Methods, systems and program products for communicating file modification information
US8745496B2 (en) 2006-09-21 2014-06-03 Apple Inc. Variable I/O interface for portable media device
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
US8001472B2 (en) 2006-09-21 2011-08-16 Apple Inc. Systems and methods for providing audio and visual cues via a portable electronic device
US8956290B2 (en) 2006-09-21 2015-02-17 Apple Inc. Lifestyle companion system
US7889226B2 (en) * 2006-11-20 2011-02-15 Codian Ltd Hardware architecture for video conferencing
US20080120370A1 (en) * 2006-11-22 2008-05-22 Brian Chan Virtual Meeting Server Discovery
CN101242588B (zh) * 2007-02-09 2012-12-12 华为技术有限公司 会话邀请的控制方法与多方通信系统及其服务器、发起端
US20080226050A1 (en) * 2007-03-16 2008-09-18 Nokia Corporation System and method for establishing conference events
US20090037826A1 (en) * 2007-07-31 2009-02-05 Christopher Lee Bennetts Video conferencing system
US20090037827A1 (en) * 2007-07-31 2009-02-05 Christopher Lee Bennetts Video conferencing system and method
KR101519935B1 (ko) * 2008-04-30 2015-05-14 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 이벤트 관리 시스템
CN102016816A (zh) * 2008-04-30 2011-04-13 惠普开发有限公司 事件之间的消息传送
BRPI0822788A2 (pt) * 2008-09-26 2015-06-30 Hewlett Packard Development Co Método executado por um sistema de gerenciamento de evento,sistema de evento de colaboração e produto de programa
US20100091687A1 (en) * 2008-10-15 2010-04-15 Ted Beers Status of events
US8693660B2 (en) * 2008-10-16 2014-04-08 Plantronics, Inc. Auto-dial and connection into conference calls
JP5239756B2 (ja) * 2008-11-06 2013-07-17 富士通株式会社 映像共有時のメディア同期方法
US8498725B2 (en) 2008-11-14 2013-07-30 8X8, Inc. Systems and methods for distributed conferencing
US8301879B2 (en) * 2009-01-26 2012-10-30 Microsoft Corporation Conversation rights management
US8494141B2 (en) * 2009-01-27 2013-07-23 International Business Machines Corporation Rules-based teleconferencing
JP5826829B2 (ja) * 2010-04-30 2015-12-02 アメリカン テレカンファレンシング サービシーズ リミテッド 会議における記録および再生
US9082106B2 (en) * 2010-04-30 2015-07-14 American Teleconferencing Services, Ltd. Conferencing system with graphical interface for participant survey
US10372315B2 (en) * 2010-04-30 2019-08-06 American Teleconferencing Services, Ltd Location-aware conferencing with calendar functions
US20110268262A1 (en) * 2010-04-30 2011-11-03 American Teleconferncing Services Ltd. Location-Aware Conferencing With Graphical Interface for Communicating Information
JP5392185B2 (ja) * 2010-05-28 2014-01-22 コニカミノルタ株式会社 動画配信システム、そのためのサーバ、動画の配信方法、およびコンピュータプログラム
US8532100B2 (en) 2010-10-19 2013-09-10 Cisco Technology, Inc. System and method for data exchange in a heterogeneous multiprocessor system
US8612443B2 (en) * 2012-05-15 2013-12-17 Sap Ag Explanatory animation generation
US9325667B2 (en) * 2012-09-28 2016-04-26 Cisco Technology, Inc. Instant messaging virtual private networks
WO2014127787A1 (de) * 2013-02-22 2014-08-28 Unify Gmbh & Co. Kg Verfahren zur steuerung von datenströmen einer virtuellen sitzung mit mehreren teilnehmern, kollaborationsserver, computerprogramm, computerprogrammprodukt und digitales speichermedium
US10528918B1 (en) 2013-05-13 2020-01-07 Google Llc Communication distribution based on calendar information
US9978043B2 (en) * 2014-05-30 2018-05-22 Apple Inc. Automatic event scheduling
US10776739B2 (en) 2014-09-30 2020-09-15 Apple Inc. Fitness challenge E-awards
JP6531372B2 (ja) 2014-10-30 2019-06-19 株式会社リコー 情報処理システム
US9959416B1 (en) 2015-03-27 2018-05-01 Google Llc Systems and methods for joining online meetings
US10171536B2 (en) * 2016-09-30 2019-01-01 Atlassian Pty Ltd Rapid optimization of media stream bitrate
US10594502B1 (en) 2017-09-08 2020-03-17 8X8, Inc. Communication bridging among disparate platforms
CN110062190B (zh) * 2018-01-18 2021-04-20 视联动力信息技术股份有限公司 一种视联网会议数据的同步方法和系统
JP6773173B2 (ja) * 2019-05-23 2020-10-21 株式会社リコー 情報処理システム、情報処理装置、アカウント登録方法及びプログラム
US11019498B2 (en) * 2019-07-11 2021-05-25 International Business Machines Corporation Conference parameter setting based on locational attributes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907324A (en) * 1995-06-07 1999-05-25 Intel Corporation Method for saving and accessing desktop conference characteristics with a persistent conference object
KR19990050375A (ko) * 1997-12-17 1999-07-05 이계철 다지점 접속 제어장치의 회의제어부의 자체 회의 생성방법
KR20000037590A (ko) * 1998-12-01 2000-07-05 정선종 인터넷 멀티캐스트 응용에서의 세션 멤버쉽 관리 방법
KR20010039241A (ko) * 1999-10-29 2001-05-15 정선종 멀티캐스트 응용 서비스의 데이터 전송 신뢰성 제공을 위한 수송계층에서의 트리 구성 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187567B2 (ja) * 1992-12-01 2001-07-11 富士通アイ・ネットワークシステムズ株式会社 電話会議システム
EP0657833A2 (en) * 1993-12-13 1995-06-14 International Business Machines Corporation Workstation conference pointer-user association mechanism
JPH07264316A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd 移動端末を用いた電子ボード装置
US6453438B1 (en) * 1995-01-19 2002-09-17 The Fantastic Corporation System and method for automatically rescheduling a data transmission to members of a group
US6219044B1 (en) * 1995-02-13 2001-04-17 International Business Machines Corporation Method for managing top-level windows within a conferencing network system
JPH08263398A (ja) * 1995-03-22 1996-10-11 Nippon Telegr & Teleph Corp <Ntt> 通信サービス方法及びシステム
US6016478A (en) * 1996-08-13 2000-01-18 Starfish Software, Inc. Scheduling system with methods for peer-to-peer scheduling of remote users
JP3679526B2 (ja) * 1996-10-31 2005-08-03 キヤノン株式会社 画像共有装置、画面制御方法及びコンピュータ可読メモリ
JP2982728B2 (ja) * 1996-12-06 1999-11-29 日本電気株式会社 アプリケーション共有システム
JP3819097B2 (ja) * 1997-02-28 2006-09-06 株式会社日立製作所 テレビ会議制御装置
JPH10336176A (ja) * 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> グループ通信方法及びシステム及びグループ通信プログラムを格納した記憶媒体
JPH1115874A (ja) * 1997-06-20 1999-01-22 Nec Corp スケジュール調整方法およびその装置
CA2240878A1 (en) * 1997-06-27 1998-12-27 Vikram R. Saksena Internet based ip multicast conferencing and reservation system
JP3676048B2 (ja) * 1997-09-03 2005-07-27 株式会社エヌ・ティ・ティ・データ 放送システム、放送方法及び記録媒体
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
US6272127B1 (en) * 1997-11-10 2001-08-07 Ehron Warpspeed Services, Inc. Network for providing switched broadband multipoint/multimedia intercommunication
JPH11175470A (ja) * 1997-12-09 1999-07-02 Hitachi Ltd 多地点端末接続方法
EP0969687A1 (en) * 1998-07-02 2000-01-05 AT&T Corp. Internet based IP multicast conferencing and reservation system
JP3644009B2 (ja) * 1999-02-19 2005-04-27 富士通株式会社 マルチキャストセッション管理装置
AU5879800A (en) * 1999-06-18 2001-01-09 Trustees Of Columbia University In The City Of New York, The System and method for receiving over a network a broadcast from a broadcast source
US6288753B1 (en) * 1999-07-07 2001-09-11 Corrugated Services Corp. System and method for live interactive distance learning
US6496851B1 (en) * 1999-08-04 2002-12-17 America Online, Inc. Managing negotiations between users of a computer network by automatically engaging in proposed activity using parameters of counterproposal of other user
US6961416B1 (en) * 2000-02-29 2005-11-01 Emeeting.Net, Inc. Internet-enabled conferencing system and method accommodating PSTN and IP traffic
US6751747B2 (en) * 2000-05-02 2004-06-15 Nortel Networks Limited System, device, and method for detecting and recovering from failures in a multicast communication system
JP3588309B2 (ja) * 2000-05-09 2004-11-10 日本電信電話株式会社 マルチキャスト限定配信方法及びその装置並びにそのプログラムを記録した媒体
US6870916B2 (en) * 2001-09-14 2005-03-22 Lucent Technologies Inc. Targeted and intelligent multimedia conference establishment services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907324A (en) * 1995-06-07 1999-05-25 Intel Corporation Method for saving and accessing desktop conference characteristics with a persistent conference object
KR19990050375A (ko) * 1997-12-17 1999-07-05 이계철 다지점 접속 제어장치의 회의제어부의 자체 회의 생성방법
KR20000037590A (ko) * 1998-12-01 2000-07-05 정선종 인터넷 멀티캐스트 응용에서의 세션 멤버쉽 관리 방법
KR20010039241A (ko) * 1999-10-29 2001-05-15 정선종 멀티캐스트 응용 서비스의 데이터 전송 신뢰성 제공을 위한 수송계층에서의 트리 구성 방법

Also Published As

Publication number Publication date
US20050044503A1 (en) 2005-02-24
JP2005513606A (ja) 2005-05-12
EP1454220A1 (en) 2004-09-08
MXPA04005815A (es) 2004-09-10
CN1618055A (zh) 2005-05-18
KR20040062991A (ko) 2004-07-09
AU2002366494A1 (en) 2003-06-30
CN100351745C (zh) 2007-11-28
EP1454220A4 (en) 2010-11-03
JP2008210381A (ja) 2008-09-11
WO2003052570A1 (en) 2003-06-26

Similar Documents

Publication Publication Date Title
KR100964983B1 (ko) 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법
KR100971273B1 (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
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee