KR101424301B1 - 분산형의 스케일러블 플러그형 컨퍼런싱 아키텍처를 위한 컴퓨터 구현 컨퍼런싱 시스템 및 방법, 및 컴퓨터 실행가능한 컨퍼런싱 시스템 - Google Patents
분산형의 스케일러블 플러그형 컨퍼런싱 아키텍처를 위한 컴퓨터 구현 컨퍼런싱 시스템 및 방법, 및 컴퓨터 실행가능한 컨퍼런싱 시스템 Download PDFInfo
- Publication number
- KR101424301B1 KR101424301B1 KR1020097005060A KR20097005060A KR101424301B1 KR 101424301 B1 KR101424301 B1 KR 101424301B1 KR 1020097005060 A KR1020097005060 A KR 1020097005060A KR 20097005060 A KR20097005060 A KR 20097005060A KR 101424301 B1 KR101424301 B1 KR 101424301B1
- Authority
- KR
- South Korea
- Prior art keywords
- conference
- mcu
- session
- client
- focus
- Prior art date
Links
- 239000012092 media component Substances 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 26
- 238000007726 management method Methods 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 18
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 230000005236 sound signal Effects 0.000 claims 1
- 238000013475 authorization Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 40
- 238000004891 communication Methods 0.000 description 25
- UGTJLJZQQFGTJD-UHFFFAOYSA-N Carbonylcyanide-3-chlorophenylhydrazone Chemical compound ClC1=CC=CC(NN=C(C#N)C#N)=C1 UGTJLJZQQFGTJD-UHFFFAOYSA-N 0.000 description 20
- 230000011664 signaling Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000006855 networking Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- 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
-
- 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/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- 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/1822—Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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
-
- 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/4046—Arrangements for multi-party communication, e.g. for conferences with distributed 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/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
스케일러블 플러그형 다자간 분산 멀티미디어 컨퍼런싱을 위한 아키텍처가 제공된다. 집중형 정책 및 제어 컨퍼런싱 구성요소는 서로 다른 분산 미디어 컴포넌트들 (예컨대, 데이터, 오디오/비디오, 메시징)의 이음매없는 플러그인이 컨퍼런스 세션에서 클라이언트 참가를 수용하도록 허용한다. 집중형 컨퍼런스 제어 컴포넌트는, 컨퍼런스 상태로의 신청을 수락하고 이 상태로의 변경에 대해 신청자에게 통지하는 컨퍼런스 통지 서비스, 컨퍼런스 정책 및 로스터를 저장하고 조작하는 컨퍼런스 정책 및 로스터 제어 서비스, 사용자 아이덴터티 정보에 기초한 사용자 권한부여/인증을 위한 보안 서비스, 컨퍼런스 스케줄링을 위한 스케줄링 서비스, 컨퍼런스 세션을 위해 가장 이용가능한 미디어 컴포넌트를 할당하는 할당 서비스, 및 분산 미디어 컴포넌트의 컨퍼런스 정책 및 로스터 관리를 위한 MCU 관리 서비스를 포함한다.
컨퍼런스 세션, 미디어, 로스터
Description
컴퓨팅 장치 및 네트워킹에서의 기술적 진보는 다양한 정보 및 서비스로의 보다 많은 액세스를 계속적으로 제공하여 가상적으로 세계 어디서나 액세스가능하게 되었다. 수행해야 할 작업이 대부분의 장소에서 이루어질 수 있으므로 가상 오피스는 더욱 보편화되고 있다.
네트워크 운영자 및 제공자 (셀룰라 및 비 셀룰라)는 현존하는 그리고 미래에 마케팅될 다양한 종류의 휴대용 장치 및 미디어를 지원할 인프라에 상당한 양의 자본과 자원을 소비한다. 예컨대, 셀룰라 운영자는 셀룰라 가입자가 IP 네트워크 (예컨대, 인터넷) 및 연관된 IP 서비스를 셀룰라 네트워크를 통해 액세스할 수 있게 하는 인프라를 제공하기 위해 경쟁하고 있다. 따라서, 셀룰라 가입자는 IP 기반 네트워크에서 이용가능한 정보를 액세스할 수 있다. 마찬가지로, 컴퓨팅 장치는 IP 네트워크를 통해 대화를 할 수 있고, 셀룰라 사용자에 연결할 수도 있다.
영업은 예컨대 효과적으로 더 많은 제품 개발 진전을 위해 여전히 회의의 중요성을 인식하고 있다. 그러나, 여러 원격지에 있을 수 있는 사용자들을 영업을 수행하기 위해 모두 불러 모으고 많은 이용가능한 통신 장치와 미디어 유형을 지원 하는 것은 여전히 힘든 과제이다.
컨퍼런싱은 예컨대 회사의 직원들이 회의를 수행할 수 있는 효과적인 수단일 수 있다. 그러나, 어느 때에나 장소와 연결 능력을 고려하면, 참가자들은 서로 다른 미디어 유형을 통해 참가하고 싶을 수 있다. 휴대용 무선 컴퓨팅 장치의 저장 및 컴퓨팅 능력의 진보로, 사용자들은 이제 예컨대 이미지, 비디오 클립, 오디오 데이터 및 텍스트 데이터와 같은 다양한 이종의 데이터 유형과 상호작용할 수 있다. 또한, 사용자는 일반적으로 세션에 연결할 몇가지 종류의 장치를 가질 수 있다. 예컨대, 한 사용자는 컨퍼런스 룸에서 오디오/비디오에 의해 참가하고, 다른 사용자는 데스크탑 컴퓨터를 통해 음성으로 참가하고 또 다른 사용자는 셀폰을 이용하여 텍스트 입력에 의해 참가할 수 있다.
이러한 이종의 미디어 성능은 종래에는 국부적으로 미디어 처리 능력을 강화함으로써 서버 레벨에서 해결되어 왔다. 그러나, 이것은 이러한 시스템을 관리하는 데 더 많은 자원을 필요로 하고 이 시스템들은 컨퍼런싱 요구를 충족시키기 위해 스케일링하기가 더 어렵다는 점에서 문제이다.
<요약>
이하, 본 발명의 일부 양태의 기본적인 이해를 제공하기 위해 간단한 요약을 제공한다. 이 요약은 광범위한 개관이 아니며, 핵심/중요 요소들을 식별하거나 그 범위를 서술하고자 함이 아니다. 이 요약의 유일한 목적은 이하 제시되는 보다 상세한 설명의 도입부로서 간단한 형태로 일부 개념을 제시하고자 함이다.
이하, 다자간 멀티미디어 컨퍼런싱(multiparty multimedia conferencing)을 위한 스케일러블 플러그형 아키텍처(scalable pluggable architecture)가 개시된다. 멀티포인트 제어 유닛 (MCU)과 같은 서로 다른 분산 미디어 컴포넌트들의 이음매없는(seamless) 플러그인을 허용하는 중앙집중형 정책 및 제어 구성요소에 대한 프레임워크가 제공된다. 컨퍼런스 아키텍처는 세션에서의 클라이어트 참가를 위해 이종의 미디어 유형 (예컨대, 데이터, 오디오/비디오, 인스턴트 메시징)에 대한 다수의 플러그형 분산 미디어 컴포넌트들을 지원한다.
예컨대, 컨퍼런스 필요를 충족시키기 위해, 클라이언트는 포커스라고도 하는 중앙집중형 제어 컴포넌트에 액세스하여 (예컨대, 인터넷 연결을 통해) 현재 세션에서의 참가를 위해 컨퍼런스 세션이 생성, 스케줄되어야 한다고 요청한다. 제어 컴포넌트는 클라이언트를 위해 적절한 미디어 인터페이스 (예컨대, 오디오, 비디오, 데이터)에 연결하여 할당하고, 요청된 클라이언트 미디어 유형을 충족시키도록 미디어 인터페이스를 구성하고, 컨퍼런스 세션의 세션 관리를 제공하고, 모든 연관된 클라이언트 및 시스템에 대한 세션의 완료(closeout) 및 정리(cleanup)를 관리하는 능력을 포함한다.
중앙집중형 컨퍼런스 제어 컴포넌트는 또한 세션 인스턴스의 생성 및 스케줄링 서비스를 제공한다 (포커스 팩토리를 통해). 컨퍼런스 제어기는 또한 컨퍼런스 세션을 위해 가장 이용가능한 분산 미디어 컴포넌트들 중 하나 이상을 할당 (미디어 팩토리를 통해)하는 기능을 포함한다. 컨퍼런스 제어 컴포넌트는 또한 컨퍼런스 정책 및 로스터(roster) 제어 서비스로서 역할한다. 컨퍼런스 정책 서버는 컨퍼런스 정책 및 로스터를 저장하고 조작할 수 있는 논리적 기능이다. 컨퍼런스 정책은 컨퍼런스의 동작을 제어하는 전체적인 규칙 집합이고, 회원 정책 및 미디어 정책으로 나뉠 수 있다.
컨퍼런스 제어 컴포넌트는 포커스가 통지기로서 동작할 수 있게 하는 논리적 기능인 컨퍼런스 통지 서비스를 포함하여, 컨퍼런스 상태에 대한 신청(subscription)을 수락하고, 그 상태로의 변경에 대해 신청자에게 통지한다. 상태는 예컨대 포커스 자신, 컨퍼런스 정책, 및 미디어 정책에 의해 유지되는 상태를 포함한다. 컨퍼런스 제어 컴포넌트는 또한 아이덴터티(identity) 정보 및/또는 PIN에 기초하여 사용자 권한부여 및/또는 인증 서비스를 통해 세션 보안을 제공하도록 기능한다. 중앙집중형 컨퍼런스 제어기는 또한 컨퍼런스 정책 및 로스터 관리 서비스를 위해 분산 미디어 컴포넌트들 (예컨대, MCUs)로 인터페이스한다. 컨퍼런싱 아키텍처는 컨퍼런스 참가자들에게 포커스로부터의 단일의 통합 로스터를 이용하여 그리고 이 포커스를 통해 컨퍼런스를 제어함으로써 단일의 컨퍼런스 픽처를 제공한다.
이를 위해, 여기 개시되고 청구된 아키텍처는 컨퍼런스 세션의 중앙 제어를 위한 컨퍼런스 제어 컴포넌트, 및 한 미디어 유형을 이용하여 컨퍼런스 세션으로 클라이언트를 인터페이싱하는 분산 미디어 컴포넌트를 포함하는 컴퓨터 구현 컨퍼런싱 시스템을 포함한다. 미디어 컴포넌트는 어디든지 (예컨대, 인터넷) 있을 수 있어서, 예컨대 HTTP를 통해 액세스가 허용된다. 중앙집중형 제어기는 분산 미디어 컴포넌트에 대해 아무 것도 알 필요가 없다.
상기 및 관련 목적을 달성하기 위해, 개시된 본 발명의 예시적인 양태들이 다음 설명과 첨부 도면을 참조하여 이하에 설명된다. 그러나, 이 양태들은 여기 개시된 원리들이 이용될 수 있는 다양한 방법 중 일부만을 나타내는 것이고 이러한 모든 양태들과 그 균등물을 포함하고자 한다. 다른 장점 및 신규한 특징은 도면과 함께 고려될 때 이하의 상세한 설명으로부터 명백해질 것이다.
도 1은 분산 미디어 액세스를 위한 컴퓨터 구현 컨퍼런싱 시스템을 도시한다.
도 2는 개시된 컨퍼런싱 아키텍처에 따라 분산 미디어 컴포넌트들을 이용하여 컨퍼런스 세션을 관리하는 방법을 도시한다.
도 3은 세션 관리의 보다 상세한 방법을 도시한다.
도 4는 웹기반 컨퍼런스 제어 컴포넌트 및 분산 미디어 컴포넌트들을 이용하여 컨퍼런스 세션의 생성을 용이하게 하는 시스템의 보다 상세한 블록도이다.
도 5는 인트라넷 클라이언트가 참가자들과 상호작용하여 컨퍼런스를 생성하여 참가하는 참가자들 사이의 데이터 흐름을 도시한다.
도 6은 컨퍼런싱 시스템의 일구현예를 위한 구성요소 아키텍처의 바람직한 도면이다.
도 7은 컨퍼런싱 및 분산 MCU에 대한 바람직한 서버 아키텍처 및 프로토콜의 도면이다.
도 8은 웹 인터페이스/서비스를 통해 컨퍼런스의 생성을 개시하는 바람직한 호 흐름도이다.
도 9는 SIP 인바이트(Invite) 메커니즘을 통해 컨퍼런스의 생성을 개시하는 바람직한 호 흐름도이다.
도 10은 SIP 서비스(Service) 메커니즘을 통해 컨퍼런스의 생성을 개시하는 바람직한 호 흐름도이다.
도 11은 컨퍼런스로의 클라이언트 다이얼-인에 대한 바람직한 호 흐름도이다.
도 12는 addUser 다이얼-인에 의한 데이터 협업 MCU를 통한 클라이언트 참가에 대한 바람직한 호 흐름도이다.
도 13은 addUser 다이얼-아웃에 의한 오디오/비디오 MCU를 통한 클라이언트 참가에 대한 바람직한 호 흐름도이다.
도 14는 MCU로의 직접적인 인바이트를 통한 클라이언트 참가에 대한 바람직한 호 흐름도이다.
도 15는 결과적으로 다이얼-인이 되는 다른 클라이언트 참가자로의 애드 혹 인비테이션 (ad hoc invitation) 에 대한 바람직한 호 흐름도이다.
도 16은 다른 클라이언트로의 애드 혹 다이얼-아웃 인바이트(INVITE)에 대한 바람직한 호 흐름도이다.
도 17은 리다이렉션(redirection)을 이용한 바람직한 호 흐름도이다.
도 18은 클라이언트의 컨퍼런스 참가로부터 분리된 컨퍼런스의 생성을 취급하는 바람직한 호 흐름도이다.
도 19는 풀(pool)에서 서로 다른 프론트엔드 기계에서 실행되는 포커스 애플리케이션의 다수의 인스턴스 중에서 상태를 공유하는 서버 풀 시스템을 도시한다.
도 20은 포커스 인스턴스와의 2개의 별개의 클라이언트 포커스 다이얼로그의 바람직한 호 흐름도이다.
도 21은 클라이언트가 컨퍼런스 상태를 수정하기 위한 C3P 명령을 내리는 바람직한 호 흐름도이다.
도 22는 분산 MCU 컨퍼런싱 아키텍처에 따라 사용될 수 있는 C3P 명령을 도시한다.
도 23은 프론트엔드 서버들이 동등한 기능을 갖는 멀티 서버 풀을 도시한다.
도 24는 실패 복구 및 높은 이용가능성 특성을 위한 멀티 서버 풀 구성을 도시한다.
도 25는 분산 미디어 컴포넌트 아키텍처의 엔터티들 사이에서 다양한 종류의 데이터 흐름에 대한 토폴로지도이다.
도 26은 플러그형 분산 미디어 컴포넌트들을 이용한 전체적인 컨퍼런싱 아키텍처를 도시한다.
도 27은 개시된 아키텍처에 따라 중앙집중 및 분산 컨퍼런싱을 실행하도록 동작가능한 컴퓨터의 블록도이다.
도 28은 분산 미디어 컨퍼런싱을 용이하게 하는 바람직한 컴퓨팅 환경의 블록도이다.
본 발명은 첨부 도면을 참조하여 설명되는데, 도면에서 동일한 참조 번호는 동일한 요소를 나타낸다. 다음 설명에서, 설명의 목적상, 다수의 특정한 세부 내용이 완전한 이해를 제공하기 위해 설명된다. 그러나, 본 발명은 이 특정 내용 없이 실시될 수 있음은 물론이다. 다른 경우에, 설명을 용이하게 하기 위해 공지의 구조 및 장치가 블록도 형태로 도시된다.
개시된 아키텍처는 다자간 멀티미디어 컨퍼런스 세션을 위한 스케일러블 플러그형 아키텍처이다. 중앙집중형 정책 및 제어 컨퍼런싱 컴포넌트는 서로 다른 분산 미디어 컴포넌트들 (예컨대, 데이터, 오디오/비디오, 메시징)의 이음매없는(seamless) 플러그인이 컨퍼런스 세션에서 클라이언트 참가를 수용할 수 있게 한다. 중앙집중형 컨퍼런스 제어 컴포넌트는, 컨퍼런스 상태로의 신청을 수락하고 신청자에게 그 상태로의 변경에 대해 통지하기 위한 컨퍼런스 통지 서비스, 컨퍼런스 정책 및 로스터를 저장 및 조작하기 위한 컨퍼런스 정책 및 로스터 제어 서비스, 사용자 아이덴터티 정보에 기초한 사용자 권한부여/인증을 위한 보안 서비스, 컨퍼런스 스케줄링을 위한 스케줄링 서비스; 컨퍼런스 세션을 위해 가장 이용가능한 미디어 컴포넌트(들)를 할당하기 위한 할당 서비스, 및 분산 미디어 컴포넌트들의 컨퍼런스 정책 및 로스터 관리를 위한 MCU 관리 서비스를 포함한다.
도면을 참조하면, 도 1은 분산 미디어 액세스를 위한 컴퓨터 구현 컨퍼런싱 시스템(100)을 도시한다. 이 시스템(100)은 다양한 서로 다른 장치들을 통해 세션 참가자들에 의한 액세스를 위해 다중의 플러그형 분산 미디어 시스템을 지원하는 플러그형 컨퍼런싱 아키텍처이다. 이를 위해, 이 시스템(100)은 컨퍼런스 세션의 중앙집중형 생성 및 제어를 위한 네트워크 기반 컨퍼런스 제어 컴포넌트(102)를 포함한다. 시스템(100)의 제어 컴포넌트(102)는 유사한 및/또는 이종의 미디어 모드 (예컨대, 오디오, 비디오)를 통해 클라이언트(106) (클라이언트, 및 클라이언트1,...,클라이언트M으로 표기하고 여기서 M은 양의 정수)에 의한 컨퍼런스 세션으로의 클라이언트 액세스를 더 제공하는 멀티포인트 제어 유닛 (MCUs)과 같은 하나 이상의 분산 미디어 컴포넌트(104) (미디어 컴포넌트1,...,미디어 컴포넌트N 으로 표기하고 여기서 N은 양의 정수)를 관리하도록 인터페이스한다.
MCU는 하나 이상의 클라이언트 미디어 유형의 연결 및 관리를 용이하게 하는 시스템이다. 이 미디어는 클라이언트와 MCU 사이에서 직접 교환된다. 종래의 시스템은 개시된 신규 아키텍처에 따라 제공된 분산 MCU의 능력을 적어도 포함하는 MCU를 사용하지 않는다.
즉, 컨퍼런싱 필요를 달성하기 위해, 클라이언트(108)는 컨퍼런스 세션이 생성될 것을 요청하면서 제어 컴포넌트(102)에 액세스한다 (예컨대, 인터넷 연결을 통해). 제어 컴포넌트(102)는 세션 참가자들 (예컨대, 클라이언트(108) 및 클라이언트1, 클라이언트2, 및 클라이언트3) 및 그들이 원하는 연결 유형 (예컨대, 오디오, 비디오,...)에 대한 적절한 미디어 컴포넌트(104) (예컨대, 미디어 컴포넌트(110 및 112))의 할당, 미디어 컴포넌트(104)의 인터페이스 관리, 요청된 컨퍼런싱 필요를 충족하기 위한 하나 이상의 미디어 컴포넌트(104)의 구성, 세션 동안 세션 관리, 및 모든 연관된 시스템에 대한 세션의 완료 및 정리를 용이하게 한다.
도 2는 개시된 컨퍼런싱 아키텍처에 따라 분산 미디어 컴포넌트들을 이용하여 컨퍼런스 세션을 관리하는 방법을 도시한다. 설명을 간단하게 하기 위해, 예컨대 흐름도의 형태로 여기 도시된 하나 이상의 방법이 일련의 동작으로서 도시되고 설명되었지만, 본 발명은 이 동작의 순서에 의해 한정되지 않고 이에 따라 일부 동작은 다른 순서로 및/또는 여기 도시되고 설명된 것과는 다른 동작과 동시에 발생할 수 있음은 물론이다. 예컨대, 당업자라면 임의의 방법이 이와 달리 상태도에서와 같이 일련의 상관된 상태 또는 이벤트로서 표시될 수 있음을 이해할 것이다. 또한, 도시된 동작이 모두 본 발명에 따른 방법을 구현하기 위해 필요한 것이 아닐 수도 있다.
200에서, 중앙 컨퍼런스 제어 컴포넌트는 컨퍼런스 세션 관리를 위해 제공된다. 202에서, 하나 이상의 미디어 컴포넌트 (예컨대, MCUs)는 동일 또는 이종의 미디어 유형 (예컨대, 인스턴트 메시징, 오디오)을 통해 세션 참가자들을 연결하기 위해, 제어 컴포넌트에 의해 분산 및 주소지정가능한 방식으로 제공된다. 204에서, 컨퍼런스 세션의 생성을 위해 클라이언트에 대해 요청이 수신된다. 206에서, 제어 컴포넌트는 컨퍼런스 인스턴스를 인스턴스화한다. 208에서, 액세스 정보가 세션에 액세스하기 위한 클라이언트에게 리턴된다. 210에서, 제어 컴포넌트는 참가자 및 요청된 참가자 미디어 유형을 지원하기 위한 미디어 컴포넌트의 이용가능성을 평가한다. 212에서, 제어 컴포넌트는 예상된 세션 미디어 유형에 대해 하나 이상의 미디어 컴포넌트를 할당한다. 214에서, 참가자들은 세션을 통지받는다. 216에서, 제어 컴포넌트는 세션으로의 참가자 액세스를 인증함으로써 보안 처리를 용이하게 한다.
도 3은 세션 관리의 보다 상세한 방법을 도시한다. 300에서, 클라이언트는 웹 어드레스를 이용하여 웹 기반 컨퍼런스 제어 컴포넌트에 연결한다. 302에서, 클라이언트는 컨퍼런스 정보를 제어 컴포넌트로 전송한다. 이 정보는 참가자 정보, 세션 시간 및 데이터, 및 참가자 액세스를 지원할 미디어 유형과 같은 세션을 위한 설정 및 구성 정보를 포함한다. 304에서, 제어 컴포넌트는 세션 인스턴스를 생성하고 세션을 위한 URI (uniform resource identifier), 및 하나 이상의 URI를 세션을 위해 할당된 미디어 컴포넌트로 리턴한다. 306에서, 클라이언트는 URI 정보를 참가자들에게 전달한다. 세션이 시작하고, 308에서 참가자들은 세션 상태의 변화를 통지받는다. 310에서, 제어 컴포넌트는 세션 동안 사이드바 컨퍼런스의 생성 및 종료를 용이하게 한다. 312에서, 세션 참가자들은 세션 드롭아웃 (떠나는 참가자들)을 통지받고, 세션이 종료되고, 시스템은 클린업 (예컨대, MCU, 세션 인스턴스 등을 완료)을 수행한다.
도 4를 참조하면, 웹 기반 컨퍼런스 제어 컴포넌트(402) 및 분산 미디어 컴포넌트(404)를 이용하여 컨퍼런스 세션의 생성을 용이하게 하는 시스템(400)의 상세한 블록도가 도시된다. 이 시스템(400)은 중앙집중형 컨퍼런스 제어기인 컨퍼런스 제어 컴포넌트(402) (포커스 컴포넌트라고도 함)를 포함한다. 포커스 컴포넌트(402)는 컨퍼런스 통지 서비스를 제공하는 통지 컴포넌트(406)를 포함한다. 컨퍼런스 통지 서비스는 포커스 컴포넌트(402)에 의해 제공되는 논리적 기능이다. 포커스 컴포넌트(402)는 컨퍼런스 상태로의 신청을 수락하고 그 상태로의 변경에 대해 신청자 (또는 참가자)에게 통지함으로써 통지기로서 동작할 수 있다.
포커스 컴포넌트(402)는 정책 및 로스터 제어 서비스를 제공하는 컨퍼런스 정책/로스터 컴포넌트(408)를 포함한다. 이 컴포넌트(408)의 일부로서, 컨퍼런스 정책 서버는 컨퍼런스 정책/로스터를 저장 및 조작할 수 있는 논리적 기능이다. 컨퍼런스 정책은 컨퍼런스의 동작을 제어하는 전체적인 규칙 집합이고, 회원 정책 및 미디어 정책으로 나뉜다. 통지 컴포넌트(406)에 의해 모니터되는 상태는 포커스 컴포넌트(402) 자체에 의해 유지되는 상태, 컨퍼런스 정책, 및 미디어 정책을 포함한다.
포커스 컴포넌트(402)는 컨퍼런스의 스케줄링을 가능하게 하는 스케줄링 컴포넌트/포커스 팩토리 컴포넌트(410)를 포함한다. 인증 컴포넌트(412)는 아이덴터티(ID) (예컨대, 액티브 디렉토리)에 기초하여 또는 PIN을 사용하여 사용자 권한부여 및 인증 처리를 제공한다. MCU 인터페이스 컴포넌트(414)는 컨퍼런스 로스터/정책 관리를 위해 복수의 분산 미디어 컴포넌트(404) (예컨대, MCUs(404)) (MCU1, MCU2,...,MCUT, 여기서 T는 양의 정수)로의 인터페이싱을 용이하게 한다. 포커스(402)는 MCU 할당 컴포넌트 (MCU 팩토리라고도 함)(416)를 포함하는데, 이것의 기능은 컨퍼런스 세션을 위해 네트워크(418) (예컨대, 인터넷)의 가장 이용가능한 네트워크 기반 MCU(404)를 할당하는 것이다. 이 시스템(400)은 주요 포커스로부터 단일의 통합 로스터와 함께 단일의 컨퍼런스 픽처를 얻고 이 포커스를 통해 컨퍼런스를 제어할 수 있는 플러그가능한 컨퍼런스 참가자 (클라이언트(420)로 표기)를 포함한다.
도 5는 인트라넷 클라이언트가 참가자들과 상호작용하여 컨퍼런스를 생성하고 참가하는 참가자들 사이의 데이터 흐름을 도시한다. 개시된 중앙집중형 컨퍼런싱 아키텍처에서, 모든 컨퍼런스 참가자들에게 보이는 단일 (또는 주요) 포커스가 있다. 이 포커스는 동일한 컨퍼런스에서 참가자들을 위한 단일의 중앙 시그널링 포인트이다. 각 컨퍼런스는 고유 SIP (session initiation protocol) 라우팅가능한 컨퍼런스 URI에 의해 식별된다. 일반적으로, 이 URI는 컨퍼런스를 호스트하는 MCU에 의해 구현되고 있는 포커스로 라우팅한다.
개선된 사용자 경험을 제공하기 위해, 이 시스템은 주요 포커스의 개념을 도입하고, 여기서 모든 컨퍼런스 URI는 주요 포커스로 라우팅한다. 클라이언트 사용자는 포커스에 의해 컨퍼런스에 참가하도록 권한부여되고, 이들은 포커스로부터 컨퍼런스의 상태 변화에 대한 통지를 받고, 모든 컨퍼런스 제어 동작은 주요 포커스로 클라이언트에 의해 발행된다.
아키텍처의 컴포넌트들은 클라이언트(500), 포커스 팩토리(502), 포커스(504), MCU 팩토리(506), 및 MCU(508)이다. 개시된 컨퍼런싱 아키텍처의 주요 특성 중 하나는 종래의 모노리딕 서버 아키텍처보다는 분산 방식으로 동작하는 다수의 컴포넌트들의 사용이다.
컨퍼런스 클라이언트(500)는 컨퍼런스에 가입하고 참가할 수 있는 엔드포인트이다. 클라이언트(500)는 먼저 컨퍼런스를 생성하기 위해 포커스 팩토리(502)와 상호작용한다.
포커스 팩토리(502)는 컨퍼런스를 위해 포커스(504)를 생성하는 엔터티이다. 포커스 팩토리(502)는 컨퍼런스가 이루어질 적절한 포커스 위치로 클라이언트(500)를 지시한다. 포커스 팩토리(502)는 SIP 엔드포인트로서 SIP 프론트엔드 기계에서 실행되며 SIP URI로 주소지정가능한 애플리케이션이다.
포커스 팩토리(502)는 SIP 주소지정가능할 뿐만 아니라 HTTP (hypertext transport protocol) 및 SOAP (simple object access protocol) URI를 이용하여 주소지정가능하다. 일 아키텍처 구현예에서, 포커스 팩토리(502)는 포커스(504)와 나란히 배치되고(collocated), 다른 구현예에서는, 나란히 배치되지 않는다. 각 컨퍼런싱 풀은 포커스 팩토리로서 고려될 수 있다.
포커스(504)는 컨퍼런스 세션에 대한 중앙집중형 정책 및 상태 관리자이다. 포커스(504)는 컨퍼런스를 나타내고 컨퍼런스의 모든 양태에 대해 중앙 조정자로서 동작하는 SIP 엔드포인트이다. 포커스(504)는 컨퍼런스 제어 정책을 시행하고, 컨퍼런스에 대해 전체적인 보안을 관리하고, 컨퍼런스 상태 업데이트를 클라이언트에게 통지하고, 제어 명령이 클라이언트(500)와 MCU(508) 사이에서 흐르게 하는 통로를 제공하는 역할을 한다.
포커스(504)는 모든 클라이언트 대신에 컨퍼런스의 일부인 각 미디어 유형에 대해 MCU와 상호작용한다. 포커스(504)는 컨퍼런스에 대한 질의에 응답할 필요가 있는 모든 상태 또는 프론트엔드 서버가 실패하면 회의를 회복하는 데 필요한 상태를 저장한다. 컨퍼런스 정보는 세션 클린업 때까지 미래 사용을 위해 SQL (structured query language) 서버 데이터베이스에서 지속될 수 있다. 포커스 인 스턴스는 컨퍼런싱 풀에서 실행된다. 이것은 클라이언트가 풀에서 임의의 프론트엔드 서버로 연결할 수 있게 하여, 더 나은 이용가능성, 부하의 분배, 및 더 나은 스케일링이 허용된다. 포커스(504)는 예컨대 MCU를 부트스트래핑하고 HTTP 인터페이스를 통해 MCU로의 연결을 유지하는 역할을 한다. 포커스(504)는 일부 경우에 프록시 대 프록시 (proxy to proxy) C3P (또는 CCCP - conference control channel protocol) 명령 및 통지로서 동작할 수 있다. 이것은 아래에서 설명된다.
포커스의 개념은 SIPPING-컴플라이언트 컨퍼런스에 대해 주요하다. SIPPING은 SIP으로의 컨퍼런싱 확장을 정의하는 것에 권한을 갖는 IETF (Internet Engineering Task Force) 워킹 그룹이다. SIPPING의 권한은 컨퍼런스 상태 이벤트 패키지 개요를 정의하는 것이다.
MCU 팩토리(506)는 SIPPING 개념이고, MCU(508)를 특정 미디어 유형에 대한 컨퍼런스 세션에 할당한다. MCU 팩토리(506)는 컨퍼런스를 생성하기 위한 로컬 정책을 이용하여 MCU(508)에서 특별 미디어 유형에 대한 컨퍼런스를 제공하는 역할을 한다. MCU 팩토리(506)는 MCU를 컨퍼런스에 할당하기 전에 MCU에서의 현재 부하를 고려할 수 있다. 일구현예에서, 미디어 유형당 하나의 MCU 팩토리(506)가 있을 수 있다.
MCU(508)는 하나 이상의 미디어 유형을 관리하는 역할을 한다. 개시된 아키텍처의 일 시나리오에서, 모든 컨퍼런스 제어 명령은 클라이언트(500)에 의해 포커스(504)로 전송되고, 이것은 요청을 전송한 클라이언트(500)가 그 동작을 수행할 권한이 있음을 확인한 후에 이 명령을 적절한 MCU(508)로 중계한다. 미디어는 클 라이언트(500)와 MCU(508) 사이에서 직접 교환된다.
MCU 유형은 데이터 협업(collaboration) MCU, 오디오/비디오 MCU, IM (instant messaging) MCU 및 ACP (audio conferencing provider) MCU를 포함할 수 있다. 적절히 설계된 제3자 MCU는 예컨대 오디오/비디오 향상을 위해 참가자 경험을 향상시키기 위해 이 아키텍처로 플러그인할 수 있다. 이 아키텍처는 미래에 원하는대로 다른 MCU를 용이하게 추가하는 것을 허용한다. 예를 들면, 적절히 디자인된 MCU는 애플리케이션 공유 또는 채팅을 위해 제공될 수 있다.
다음은 구성요소들 사이에서 교환되는 데이터의 유형, 통신 채널, 및 시맨틱스(semantics)를 포함하는 데이터 흐름의 보다 상세한 개요이다.
도 5의 클라이언트/포커스 팩토리 통신 (①로 표기)은 클라이언트(500)가 우선 포커스 팩토리(502)를 찾는 것에 의해 시작된다. 클라이언트 애플리케이션은 새로운 컨퍼런스를 시작하기 위해 포커스 팩토리(502)와 통신한다. 상술한 바와 같이, 클라이언트 애플리케이션은 사용자가 사인 온 (sign on)할 때 포커스 팩토리 URI를 획득하므로, 클라이언트 (500)는 새로운 애드혹(ad-hoc) 컨퍼런스를 시작하기 위해 언제든지 포커스 팩토리(502)와 통신하는 수단을 갖는다. 클라이언트(500)는 서버 풀의 어느 서버, 예컨대 포커스 팩토리(502)가 위치하는지에 대해 상관하지 않고, 오직 연결할 포커스 팩토리 SIP URI 만을 필요로 한다.
개시된 프레임워크에서, 컨퍼런스를 생성하는 것은 포커스 인스턴스를 생성 및 구성하는 것을 의미한다. 포커스 팩토리(502)의 일은 포커스(504)의 URI를 클라이언트(500)로 다시 리턴하는 것이다. 이것은 클라이언트(500)와 포커스 팩토 리(502) 사이의 대화가 오랫동안 지속될 필요가 없고, 포커스 URI가 클라이언트(500)로 리턴될 때까지 지속하면 충분하다. 포커스 팩토리(503)는 포커스 URI를 클라이언트(500)로 다시 리턴하기 전에 포커스(504)를 생성하고 (필요한 경우) 구성한다.
클라이언트(500)는 컨퍼런스 역할 정의, 미디어 유형, 권한, 참가자에 대해 필요한 모든 정보를 맨 앞의 포커스 팩토리(502)로 전달하여 포커스 팩토리(502)가 최종 데이터와 함께 성공 응답을 리턴할 수 있도록 한다.
도 5의 포커스 팩토리/포커스 통신에 대해 (②로 표기), 클라이언트(500)로부터 요청 수신시, 포커스 팩토리(502)는 포커스(504)를 생성하고 포커스 URI를 클라이언트(500)로 리턴한다 (③으로 표기). 포커스 팩토리(502) 처럼, 포커스(504)는 애플리케이션에 의해 표현된 SIP 엔드포인트이다. 포커스 팩토리(502)는 클라이언트(500)로부터 수신하는 요청을 포커스(504)로 리다이렉트하여, 포커스(504)가 클라이언트(500)와의 미디어 타협을 수행하는 엔드포인트가 될 수 있게 한다. 포커스 URI를 클라이언트(500)로 전달한 후, 포커스 팩토리(502)는 임의의 상태로 계속 유지하거나 임의의 작업을 할 필요가 없다.
MCU 팩토리(506)는 MCU(508)에 대해 액세스 정보를 제공하는 논리적 엔터티이다. MCU 팩토리(506)는 MCU 장치나 소프트웨어의 판매자(vendors)를 위한 판매자 특정 구현일 수 있다. 포커스(504)는 어떤 MCU 팩토리들이 이 시스템에 존재하고 어떤 미디어 유형을 이들이 제공하는지를 설정을 통해 알고 있다. 따라서, 포커스(504)는 MCU(508)에 컨택트하는 방법에 대한 정보를 MCU 팩토리(506)에 요청하 고 (④로 표기) MCU 팩토리(506)는 실행하고 있을 수 있는 어떠한 내부 논리에 기초하여 그 정보를 리턴한다 (④로 표기).
MCU 팩토리(506)가 MCU(508)를 포커스(504)에 제공하도록 요청받으면 (④로 표기), 어느 MCU(508)가 이 요청에 가장 적합한지 찾아서 그 MCU(508)에 대한 URL (universal resource locator)을 리턴한다. 각 MCU는 공개될 수 있어서 (예컨대, 액티브 디렉토리에서), 토폴로지에 있는 모든 MCU 팩토리(506)가 동일한 종류의 이용가능한 MCU를 찾을 수 있게 한다.
각 MCU(508)는 액티브 디렉토리에서 제어를 위한 자신의 HTTP 어드레스를 공개한다. 이 어드레스는 MCU 팩토리(506)가 MCU 자원(508)을 할당할 때 포커스(504)에 전달되는 것이다. 그러나 URL이 포커스(504)로 전달되기 전에, MCU 팩토리(506)는 MCU(508)에서 컨퍼런스를 제공하려고 한다 (⑤로 표기). MCU의 응답이 긍정적이면, URL은 포커스(504)로 리턴된다.
포커스(504)는 HTTP를 트랜스포트로 이용하여 MCU(508)와 통신할 수 있다(⑥으로 표기). 요청 및 응답에 대한 페이로드는 XML 문서일 수 있다. 클라이언트(500)는 시그널링 프로토콜 및 미디어 프로토콜을 통해 MCU(508)와 통신한다 (⑦로 표기). 오디오/비디오 MCU에 대해, 시그널링 프로토콜은 SIP 미디어이고, RTP/RTCP를 통해 전달될 수 있다. 회의 MCU에 대해, 시그널링 및 미디어는 PSOM 프로토콜을 이용하여 트랜스포트로서의 HTTP를 통해 전달될 수 있다.
도 6은 컨퍼런싱 시스템(600)의 일구현예에 대한 구성요소 아키텍처의 바람직한 상세도이다. 이 시스템(600)은 프론트엔드 컴퓨터(602), 저장 시스템(604), 및 분산 미디어 컴포넌트(606)를 포함한다. 프론트엔드 컴퓨터(602)는 SIP 프록시(610)로서 기능하는 서버 프로세스(608)를 포함한다. SIP 프록시 및 라우터로서 동작하는 것 이외에, 서버 프로세스(608)는 프레즌스(presence) (및 등록) 서버 (또는 모듈)(614), 아카이빙(archiving) 에이전트 모듈(616), 및 SIP API 모듈(618)에 의해 사용되는 내부 API (확장 모듈 API)(612)를 제공한다. 도시된 바와 같이, 모든 이 확장 모듈(612)은 동일한 프로세스로 실행될 수 있다. SIP 프록시 프로세스(610)에서 제3자 코드는 실행될 필요가 없다.
프레즌스/등록 모듈(614)은 등록 및 프레즌스 기능을 제공한다. 프레즌스 및 등록 모듈(614)은 SQL 서버 데이터베이스 (또는 MSDE)에 있는 모든 등록 정보 및 프레즌스 정보를 관리한다.
SIP 프록시 및 연관된 확장 모듈의 조합은 총칭하여 서버 프론트엔드라 한다. 표시된 바와 같이, 프론트엔드의 기능은 컨퍼런싱 모듈(618) (컨퍼런스 관리자라고도 함)을 통해 컨퍼런싱 특징을 포함하도록 강화된다. 컨퍼런스 관리자(618)는 시그널링 및 컨퍼런스 관리 기능을 제공하는 서버 컴포넌트이다. 컨퍼런스 관리자(618)의 주요 요소는 포커스 및 포커스 팩토리이다.
앞서 표시된 바와 같이, 포커스는 컨퍼런스를 나타내는 SIP 엔드포인트이다. 이것은 컨퍼런스의 상태를 관리하고, 보안을 실시하고, 역할 및 권한을 관리하고, 컨퍼런스 상태 업데이트를 클라이언트 (도시되지 않음)에게 제공하는 역할을 한다. 포커스는 또한 모든 클라이언트 대신 컨퍼런스의 일부인 각 미디어 유형에 대해 MCU와 상호작용한다.
컨퍼런스 데이터베이스(620)는 서버(602) 상에 제공된 각 컨퍼런스에 대한 정보를 포함한다. 이것은 컨퍼런스 ID, 컨퍼런스와 연관된 패스워드 및/또는 PIN, 시작 시각 및 종료 시각 (존재하는 경우), 역할 및 권한 등에 대한 정보를 포함한다. 데이터베이스(620)는 또한 포커스 실패로부터의 회복을 위해 실행하는 컨퍼런스에 대한 정보를 포함한다. 프레즌스/등록 정보 및 컨퍼런싱 정보는 동일한 물리적 데이터베이스 (예컨대, 컨퍼런스 데이터베이스)의 서로 다른 테이블일 수 있다.
각 MCU는 하나 이상의 미디어 유형을 관리하는 역할을 한다. 일구현예에서, 모든 컨퍼런스 제어 명령은 클라이언트에 의해 포커스로 전송되고, 이것은 이 요청을 전송한 클라이언트가 그 동작을 수행할 권한이 있음을 확인한 후에 이 명령을 적절한 MCU로 중계한다. 미디어는 그후 클라이언트와 MCU 사이에서 직접 교환된다.
MCU는 2개의 논리적 부분, 즉 미디어 제어기 (MC) 및 미디어 프로세서 (MP)로 구성된다. 미디어 제어기는 포커스와 MCU 사이의 제어 명령을 관리하는 역할을 한다. 미디어 프로세서는 예컨대 믹싱, 중계, 트랜스코딩과 같은 미디어 관리를 책임진다. MCU가 데이터 협업 MCU인 경우, 미디어 프로세서는 전체 데이터 협업 경험을 관리하는 역할을 하는 정교한 소프트웨어 컴포넌트이다. 각 MCU는 장애 및/또는 실패가 발생하면 검색을 위해 연관된 저장 유닛에 자신의 컨텐트 및 상태를 저장할 수 있다.
MCU가 오디오/비디오 MCU인 경우, 미디어 프로세서는 오디오 및 비디오 스트림을 믹싱하고, 비디오 스트림을 스티칭하고, 슬로우 링크상에 있는 클라이언트에 대해 미디어를 다운컨버팅하는 것 등에 대한 매우 전문적인 지식을 갖고 있다. 모든 컨퍼런싱 컴포넌트 중에서, 미디어 프로세서는 가장 CPU 및 네트워크 집약적인 구성요소일 수 있다. 따라서, MCU는 컨퍼런스 관리자와는 다른 물리적 컴퓨터 상에서 동작가능하고, 이것은 또한 스케일링을 제공한다. 일구현예에서, 미디어 제어기 및 미디어 프로세서는 전개를 단순화하기 위해 동일한 기계에서 배치된다. 다른 구현예에서, 미디어 제어기 및 미디어 프로세서는 서로 다른 기계(604)에 위치한다.
프론트엔드 컴퓨터(602)는 웹 서비스 및 웹 스케줄링 애플리케이션(624)을 포함하는 웹 서버(622), 및 MCU 팩토리(626)를 실행할 수 있다. 앞서 설명된 바와 같이, MCU 팩토리(626)는 컨퍼런스를 생성하기 위한 로컬 정책을 이용하여 MCU에서 특별한 미디어 유형에 대한 컨퍼런스를 제공하는 역할을 한다. MCU 팩토리(626)는 MCU를 컨퍼런스에 할당하기 전에 MCU에서 현재의 부하를 고려할 수 있다. 부하 균형 데이터는 부하 균형 데이터베이스(628)에서 저장될 수 있다. 이 특정 구현예에서, 미디어 유형당 하나의 MCU 팩토리가 있다. 그러나, 다른 구현예에서는, 하나의 MCU 팩토리가 다수의 서로 다른 미디어 유형을 처리할 만큼 적절히 강력하다.
웹 협업 특징은 데이터 협업 MCU에 의해 제공될 수 있다. 데이터 협업 MCU는 "PSOM" 기술에서 설계된다. 데이터 협업 MCU는 예컨대 프리젠테이션 소프트웨어 문서, 워드 프로세싱 및 스프레드시트 문서, 채팅, 투표, 화이트 보딩, 및 애플리케이션 공유와 같은 특징을 지원한다.
오디오/비디오 MCU는 산업 표준 RTP (realtime transport protocol) 및 RTCP (RTP control protocol)에 기초한 다자간 오디오 및 비디오 믹싱 및 중계 능력을 제공한다. 예컨대 인스턴트 메시징 (IM) MCU 및 ACP MCU와 같은 다른 MCU가 설계되고 제공될 수 있다.
웹 서버(624)는 온라인 컨퍼런스를 스케줄하기 위한 스케줄 애플리케이션 (예컨대, ASP.NET)을 제공한다. 이 애플리케이션은 컨퍼런스를 제공하고 컨퍼런스 정책을 관리하기 위해 웹 서비스 API를 이용한다. 웹 스케줄러 일람표작성을 위해 사용되는 데이터베이스는 포커스/컨퍼런싱 데이터베이스(620)일 수 있다. MCU에 대한 컨텐트 및 상태는 로컬 데이터 저장소(630)에 저장될 수 있다.
의사일정, 액션 아이템, 사후점검, 공유 작업 공간과 연관된 문서 등과 같은 회의 메타데이터를 이용하여 진행중인 회의를 관리하기 위한 풍부한 저장 및 시청을 위한 서비스가 제공될 수 있다.
인증은 컨퍼런싱 아키텍처의 통합된 일부로 될 수 있다. 일구현예에서, 사용자의 로그인 자격이 사용자를 자동적으로 인증하기 위해 사용될 수 있다 (예컨대, 싱글 사인-온 ). 사용자가 자신의 사용자명 및 패스워드를 명시적으로 입력하는 웹 스타일 양식을 위해 양식 인증이 제공될 수도 있다 (예컨대, 사용자명 및 패스워드). 초기 인증 핸드셰이크 후에 클라이언트에 의해 서버로 안전하게 전송되는 불투명성(opaque)에 기초하여 권한부여가 실시될 수 있다. 클라이언트로부터 서버로의 전송 채널의 강력한 암호화 (예컨대, 128비트 암호화)가 부과될 수도 있다.
웹 컨퍼런싱은 서비스 또는 회사에서 계정을 갖지 못하는 사용자와의 온라인 회의를 갖는 것을 포함할 수 있다. 이 일회성 회의는 상당히 보편적이다. 일회성 컨퍼런스 참가자의 인증은 이메일과 같은 대역외 수단을 통해 잠재적인 참가자에게 통신되는 각 세션에 대한 고유한 패스워드를 할당함으로써 지원될 수 있다.
권한부여가 컨퍼런싱 애플리케이션에서 요건으로 될 수 있는 몇가지 상황이 있다. 컨퍼런스는 서버/서비스에서 자원을 필요로 한다. 따라서, 강제된 권한부여는 사용자가 컨퍼런스를 생성하도록 허용되기 전에 부과될 수 있다. 다른 예에서, 주어진 컨퍼런스 내에서, 모든 사용자가 모든 권한을 갖는 것은 아니다. 예컨대, 임의의 사용자 부집합이 세션에서 참석하여 얘기하는 것이 허용되는 반면에 다른 사용자 부집합은 듣는 것만 허용된다. 다른 예에서, 한 컨퍼런스에 있는 모든 사용자가 다른 사용자가 참가하도록 청하는 것이 허용되는 것은 아니다. 컨퍼런스의 뮤트/언뮤트 (mute/unmute), 특정 사용자의 뮤트/언뮤트, 또는 컨퍼런스로부터 사용자의 배제와 같은 컨퍼런스 제어 동작이 있다. 각 동작은 우선 권한 또는 허가를 필요로 하도록 이루어질 수 있다.
이 권한을 가진 사용자 집합은 각 컨퍼런스에 대해 서로 다를 수 있다. 각 컨퍼런스는 잠재적으로 서로 다른 회원권을 갖고, 사용자가 다수의 컨퍼런스에 참가하도록 권한이 있는 때에도 이 사용자는 각 컨퍼런스에서 서로 다른 권한을 가질 수 있다. 이러한 이유로, "역할" 집합을 정의하고, "권한" 집합을 이 역할과 연관시키고, 컨퍼런스의 생성자가 각 역할에 사용자를 할당하게 하는 것이 더 간단하다. 예컨대, "조직자(organizer)" 역할, "제시자(presenter)" 역할 및 "청중(audience)" 역할이 있을 수 있다. 컨퍼런스를 생성하는 사용자는 각 역할이 어 떤 권한을 갖는지 특정할 필요가 없을 것이다. 역할에 대한 권한은 컨퍼런싱 서버 관리자에 의해 사전 구성될 수 있다. 이 역할의 명칭은 이들이 가질 것 같은 권한의 종류를 암시하도록 (또는 직관적이도록) 선택될 수 있다.
도 7은 컨퍼런싱 및 분산 MCU에 대한 바람직한 서버 아키텍처 및 프로토콜의 도면이다. 다수의 프로토콜은 각각 서로 다른 목적을 위해 클라이언트(700)와 서버(702) 사이에서 사용될 수 있다. 클라이언트(700)는 하부 컨퍼런스 제어 및 관리 컴포넌트(706) 및 컨퍼런스 미디어 컴포넌트(708)에 액세스할 수 있는 사용자 인터페이스(704)를 갖는 것이 도시된다. 관리 컴포넌트(706)는 세션 인비테이션 로스터 및/또는 제3자 컨퍼런스 로스터를 제공하는 로스터 컴포넌트(710)를 액세스할 수 있다. 컨퍼런스 미디어 컴포넌트(708)는 데이터 협업 및 애플리케이션 공유 컴포넌트(712) 및 오디오/비디오 컴포넌트(714)로의 액세스를 용이하게 한다.
서버(702)는 포커스 컴포넌트(716), 데이터 협업 및 애플리케이션 공유 MCU 컴포넌트(718), 및 오디오/비디오 (AV) MCU 컴포넌트(720)를 포함한다. 클라이언트(700) 및 서버(702)는 다양한 프로토콜을 사용하기 위해 프로토콜 인터페이스 컴포넌트 (예컨대, SIP, PSOM, RTP/RTCP)를 포함한다. 클라이언트/서버 SIP 컴포넌트는 세션 설정 및 컨퍼런스 관리를 위해 시그널링 및 제어 프로토콜을 이용한다. 이 특정 구현예에서, SIP (예컨대, RFC 3261에서 특정된 바와 같은)는 호 설정 및 종료를 위해 이용된다. 또한, 동일한 컨퍼런스 세션은 SIP-CX 확장을 이용하여 컨퍼런스 정책 제어 및 제3자 제어를 위해 사용될 수 있다. 일구현예에서, SIP-CX 명령은 SIP-INFO를 통해 터널링된다. 다른 구현예에서, C3P 제어 프로토콜 명령이 사용될 수 있다. 또다른 구현예에서, 컨퍼런스 정책 제어를 위한 표준화된 전송 및 프로토콜이 XCON, 즉 중앙집중형 컨퍼런싱을 위한 IETF 워킹 그룹으로부터 이용될 수 있다. SIP는 하부 전송 계층으로서 TCP (transmission control protocol) 또는 TLS (transport layer security)를 이용할 수 있다.
별개의 SUB-NOT 다이얼로그는 컨퍼런스 패키지에 대해 신청하고 상태가 변할 때 통지를 받기 위해 사용될 수 있다. 컨퍼런스를 위한 로스터는 이 SUB-NOT 다이얼로그에 기초하여 구동될 수 있다. PSOM은 데이터 협업을 위한 미디어 프로토콜일 수 있고 하부 전송으로서 TCP 또는 HTTP를 이용할 수 있다.
컨퍼런스에서 각 미디어에 대해, 미디어 전송이 이용될 것이다. RTP 및 RTCP는 오디오/비디오 기능을 제공하기 위해 사용될 수 있다. RTP/RTCP는 UDP (user datagram protocol)에서 실행될 수 있고 여기서 UDP 연결가능성은 클라이언트(700)와 서버(702) 사이에서 이용가능하다. UDP 연결가능성이 없으면, RTP/RTCP는 TCP 또는 HTTP를 통해 터널링될 수 있다. 다른 미디어 프로토콜은 다른 미디어 유형에 대해 사용될 수 있다. 예컨대, 채팅은 MSRP (message sessions relay protocol)에서 지원될 수 있고 애플리케이션 공유는 RDP (remote desktop protocol)에서 지원될 수 있다. 각각은 별개의 미디어 유형으로서 실행될 수 있다. 다른 구현예에서, 이 두개의 프로토콜은 PSOM의 정상에서 구현될 수 있다.
도 8 내지 도 18은 컨퍼런스를 생성하고, 컨퍼런스로 다이얼링-인하고, 다이얼링-인 및 다이얼링-아웃에 의해 AV MCU와 함께 미디어 세션에 참가하고, 참가자에 대한 애드 혹 인비테이션을 수행하고, 데이터 MCU를 통해 협업 세션에 참가하는 호 흐름도를 도시한다.
클라이언트 애플리케이션은 새로운 컨퍼런스를 시작하기 위해 포커스 팩토리와 통신한다. 컨퍼런스를 생성하는 것은 포커스 인스턴스를 생성 및 구성하는 것을 의미한다. 포커스 팩토리의 일은 URI를 포커스로 다시 클라이언트로 리턴하는 것이다. 클라이언트와 포커스 팩토리 사이의 이 통신은 오래 지속할 필요는 없다. 포커스 URI가 클라이언트로 리턴될 때까지 지속하기만 하면 된다. 포커스/컨퍼런스 URI는 고유 컨퍼런스 식별자, 고유 서버 식별자, 및 사용자 정보 부분에서 컨퍼러스를 호스트하는 도메인, 예컨대, organizer@domain.com;ms-app=conf;ms-conf-id=11을 포함하도록 구성된다.
클라이언트가 컨퍼런스를 생성할 수 있는 방법이 3가지가 있는데, 그것은 웹 서비스, SIP 인바이트(Invite) 메커니즘, 및 SIP 서비스 메커니즘을 통한 것이다. 도 8은 웹 인터페이스/서비스를 통해 컨퍼런스의 생성을 개시하는 바람직한 호 흐름도이다. 클라이언트는 알려진 포커스 팩토리 웹 URI에 연결하여 노출된 웹 인터페이스를 이용하여 포커스를 생성한다. 포커스를 성공적으로 생성한 후, 웹페이지는 컨퍼런스로 다이얼-인하도록 컨퍼런스 클라이언트를 시작하기 위해 필요한 정보로 클라이언트를 가리킬 것이다.
도 9는 SIP 인바이트 메커니즘을 통해 컨퍼런스의 생성을 개시하는 바람직한 호 흐름도이다. 클라이언트는 컨퍼런스, 미디어 유형, 권한, INVITE 요청의 일부로서의 참가자에 대해 필요한 모든 정보를 포커스 팩토리로 전달한다. 포커스 팩토리는 포터스 인스턴스를 생성하고 생성된 포커스 URI를 이용하여 클라이언트를 포커스로 리다이렉트한다.
더 구체적으로, 클라이언트는 INVITE 요청을 컨퍼런스를 생성하기 위한 정보와 함께 포커스 팩토리로 전송한다. 포커스 팩토리는 임시(provisional) 1xx 응답을 클라이언트에게 전송하여 포커스 팩토리가 포커스를 인스턴스화하는 동안에 클라이언트 트랜잭션이 타임아웃하지 않도록 한다. 포커스를 생성하는 데 필요한 시간이 SIP 트랜잭션 타임아웃 보다 더 적다고 판명되면, 이 응답을 전송하는 것이 무시될 수 있다. 포커스 팩토리는 INVITE로부터 모든 필요한 정보를 파싱하고(parse) 포커스 인스턴스를 생성한다. 포커스 팩토리와 포커스가 나란히 배치될 수 있다는 점에서, 포커스를 생성하는 이 호는 단순히 로컬 기능 호(local function call)일 수 있다. 포커스 팩토리는 포커스와 함께 새로운 인바이트 세션을 시작하도록 클라이언트를 리다이렉트하는 컨택트 헤더와 함께 302 응답을 전송한다. 클라이언트는 ACK를 포커스 팩토리로 다시 전송한다.
도 10은 SIP 서비스 메커니즘을 통해 컨퍼런스의 생성을 개시하는 바람직한 호 흐름도이다. 클라이언트는 컨퍼런스, 미디어 유형, 권한, SERVICE 요청의 일부로서의 참가자에 관해 필요한 모든 정보를 포커스 팩토리로 전달한다. 포커스 팩토리는 포커스 인스턴스를 생성하고 연결 정보를 200 OK 응답에서 클라이언트로 다시 전송한다.
더 구체적으로, 클라이언트는 컨퍼런스를 생성할 정보와 함께 포커스 팩토리로 SERVICE 요청을 전송한다. 포커스 팩토리는 SERVICE로부터 모든 필요한 정보를 파싱하고 포커스 인스턴스를 생성한다. 포커스 팩토리 및 포커스가 나란히 배치될 수 있다는 점에서, 포커스를 생성하는 이 호는 로컬 기능 호일 수 있다. 포커스 팩토리는 컨퍼런스 정보와 함께 200 OK 응답을 전송한다.
도 11은 컨퍼런스로 다이얼링-인하는 클라이언트에 대한 바람직한 호 흐름도이다. 클라이언트는 컨퍼런스로의 다이얼링-인하기 위한 포커스와 함께 INVITE 다이얼로그 및 SUBSCRIBE 다이얼로그를 확립한다. 클라이언트는 INVITE 다이얼로그를 이용하여 컨퍼런스에 참가하고 클라이언트로부터 포커스로의 명령 트래픽의 제3자 제어를 위해 이를 이용한다. 클라이언트로부터의 제어 명령은 INFO 메시지 내에서 전달된다. INFO 메시지의 본문은 C3P 제어 요청을 포함하고 포커스에 의해 처리된다.
클라이언트는 컨퍼런스 상태를 보기 위해 SUBSCRIBE/NOTIFY 다이얼로그를 이용한다. 포커스는 신청을 수락하고 신청자에게 임의의 컨퍼런스 상태를 통지한다. 이 상태는 포커스 자체, 컨퍼런스 정책, 및 미디어 정보에 의해 유지되는 상태를 포함한다. 예컨대, INFO 메시지를 이용하여 INVITE 다이얼로그 내에 클라이언트에 의해 전송된 명령이 컨퍼런스 상태를 변경하는 명령이면, 포커스는 변경된 컨퍼런스 상태의 NOTIFY를 전송함으로써 클라이언트에게 통지한다.
더 구체적으로, 클라이언트는 컨퍼런스에 참가하기 위해 INVITE 요청을 포커스 URI로 전송한다. 이 INVITE 다이얼로그는 두가지 목적을 갖는다. 즉, 이것은 클라이언트가 컨퍼런스에 참가하는 것을 의미하고 이 다이얼로그에서 INFO 요청을 이용하여 컨퍼런스의 제3자 제어를 위해 사용된다. INVITE의 본문에서 C3P addUser 요청은 특정 클라이언트 속성 (예컨대, 디스플레이 이름, 역할, 숨겨진 찬 가자)를 특정하기 위해 사용될 수 있다. 클라이언트는 컨퍼런스 상태 통지를 감시하기 위해 컨퍼런스 이벤트 패키지로 SUBSCRIBE를 전송한다. 초기 컨퍼런스 상태 문서는 클라이언트가 이 확장에 대한 지원을 표현하면 SUBSCRIBE의 200 OK에서 피기백(piggyback) 방식으로 전송될 수 있다.
도 12는 addUser 다이얼-인에 의한 데이터 협업 MCU를 통해 참가하는 클라이언트에 대한 바람직한 호 흐름도이다. 컨퍼런스에서 각 MCU에 대해, 포커스는 포커스 자체로 라우팅가능한 가상 SIP URI를 할당한다. 포커스로부터 클라이언트로의 초기 통지는 컨퍼런스에서 모든 MCU에 대해 URI를 포함한다. 클라이언트가 MCU와의 미디어 세션을 확립할 수 있는 방법으로, MCU URI로의 addUser 다이얼-인, MCU URI를 이용한 addUser 다이얼-아웃, 및 MCU URI로의 다이렉트 미디어 INVITE가 있다.
addUser 다이얼-인에 대해, 클라이언트는 addUser 다이얼-인 C3P 명령을 발하고, 포커스는 이 명령을 MCU로 포워딩한다. MCU는 이 명령을 허가하고 적절한 연결 정보를 리턴한다. 클라이언트는 MCU와 방향 미디어 세션을 확립한다. 이것은 SIP 기반이 아닌 MCU로의 다이얼-인의 기본 모드일 수 있다.
더 구체적으로, 클라이언트는 INFO addUser 다이얼-인 명령을 통지 문서에서 수신된 MCU URI와 함께 전송한다. 포커스는 MCU가 이 컨퍼런스에 대한 이 특별한 양식 (미디어)에 대해 할당되었는지 체크한다. MCU가 할당되지 않았으면, 포커스는 HTTP 요청을 MCU 팩토리로 전송하여 이것이 이 컨퍼런스를 위해 MCU를 할당하도록 요청한다. MCU가 이 컨퍼런스에 대해 할당되었다고 가정하면, 포커스는 HTTP 요청을 할당된 MCU에 전송하여 이것이 새로운 참가자 (addUser)를 예상하도록 요청한다. 그것이 포커스가 이 MCU와 통신한 최초인 경우라면, 다른 부트스트래핑 요청이 MCU에서 이 컨퍼런스를 초기화하기 위해 전송되어야 할 수도 있다. MCU는 예상된 참가자 (addUser) 호에 대해 성공 메시지와 함께 다시 응답한다. 이 응답은 참가자가 MCU에게 얘기하기를 원하는 실제 URL을 가질 것이다. 데이터 협업 MCU의 경우, URL은 PSOM URL일 수 있다. 존재한다면, 권한부여 정보도 리턴될 수 있다.
포커스는 PSOM 연결 정보를 클라이언트에게 전송한다. 클라이언트는 MCU와 함께 PSOM 채널을 직접 확립한다. 일단 클라이언트가 MCU를 성공적으로 참가하면, 그것은 참가자 참가 이벤트를 포커스로 전송한다. 포커스는 참가자 참가 MCU 상태 변화 통지를 (SIPPING BENOTIFY (또는 Best Effort NOTIFY)를 통해) 컨퍼런스에 대한 모든 시청자에게 전송한다.
도 13은 addUser 다이얼-아웃에 의해 오디오/비디오 MCU를 통해 참가하는 클라이언트에 대한 바람직한 호 흐름도를 도시한다. 클라이언트는 addUser 다이얼-아웃 C3P 명령을 발행하고 포커스는 이 명령을 MCU로 포워딩한다. MCU는 이 명령을 허가하고 addUser 명령에서 언급된 클라이언트에게 다이얼-아웃한다. 클라이언트는 MCU와 직접적인 미디어 세션을 확립한다. 이것은 SIP 기반 MCU (예컨대, A/V MCU 및 IM MCU)로의 클라이언트 연결에서 사용된다. 이 메커니즘은 또한 클라이언트가 MCU를 통해 다른 클라이언트에게 다이얼-아웃하기 위해 사용될 수 있다.
더 구체적으로, 클라이언트는 INFO addUser 다이얼-아웃 명령을 통지 문서에서 수신된 MCU URI와 함께 전송한다. 포커스는 MCU가 이 컨퍼런스에 대한 특별 양 식에 대해 할당되었는지 체크한다. MCU가 할당되지 않았으면, 포커스는 HTTP 요청을 MCU 팩토리로 전송하여 이 컨퍼런스에 대해 MCU를 할당하도록 요청한다. MCU가 컨퍼런스에 대해 할당되었다고 가정하면, 포커스는 HTTP 요청을 할당된 MCU에게 전송하여 사용자에게 다이얼-아웃하도록 요청한다. MCU는 보통 포커스 서버 자체인 아웃바운드 SIP 프록시를 이용하여 클라이언트에게 INVITE를 다이얼-아웃한다. 클라이언트는 직접 RTP 미디어 채널을 MCU와 함께 확립한다. 일단 클라이언트가 MCU에 성공적으로 참가하면, 참가자 참가 이벤트를 포커스로 전송한다. 포커스는 참가자 참가 MCU 상태 변경 통지를 컨퍼런스의 모든 시청자에게 전송한다.
도 14는 MCU로의 직접 인바이트를 통해 참가하는 클라이언트에 대한 바람직한 호 흐름도이다. MCU로의 직접적인 미디어 INVITE는 SIP를 사용하여 세션을 확립하는 MCU (예컨대, A/V MCU, IM MCU)와 함께 작업한다. 클라이언트는 임의의 사전 addUser 호 없이 직접 MCU URI로 미디어 세션 인바이트를 전송한다. INVITE는 포커스로 라우팅되고 포커스는 클라이언트 대신 MCU로 addUser를 개시한다. MCU는 연결 정보를 허가하고 응답한다. 포커스는 연결 정보가 라우팅가능한 SIP 어드레스인지 체크하고 INVITE를 직접 MCU로 포워딩한다. 이것은 기본적으로 컨퍼런스로 다이얼-인하도록 비(non) C3P 순수(pure) SIP 클라이언트를 지원하기 위한 것이다. C3P 클라이언트는 컨퍼런스 통지로부터 MCU URI를 가져올 수 있고 REFER 메시지를 MCU로 직접 다이얼-인을 시도할 수 있는 순수 SIP 클라이언트로 전송할 수 있다.
더 구체적으로, 클라이언트는 통지 문서에서 수신한 MCU URI로 INVITE를 전송한다. 이 INVITE는 포커스로 라우팅된다. 클라이언트는 미디어 타협을 위한 세 션 설명을 추가할 수 있다. INVITE가 특정 MCU로 어드레스되고 있다는 것을 포커스가 알고 있다는 점에서, 그것은 INVITE의 본문에서 임의의 세션 설명을 안전하게 무시한다. 포커스는 HTTP 요청을 할당된 MCU로 전송하여 새로운 참가자 (addUser 다이얼-인)를 예상하도록 요청한다. 이것이 포커스가 이 MCU와 통신한 최초인 경우, 그것은 MCU에서 컨퍼런스를 초기화하도록 다른 부트스트래핑 요청을 전송할 수 있다. MCU는 예상된 참가자 호에 대한 성공과 함께 다시 응답한다. 이 응답은 참가자가 MCU에 통신하기를 원하는 실제 URL을 가질 것이다.
A/V MCU의 경우, URL은 참가자가 SIP를 통해 MCU로 통신할 수 있음을 나타낸다. A/V MCU의 경우, 포커스는 INVITE를 MCU로 포워딩한다. 클라이언트는 MCU와 미디어 타협을 위해 사용되는 INVITE 다이얼로그를 완료하기 위해 ACK를 다시 전송한다. 클라이언트가 INVITE 다이얼로그를 MCU와 직접 확립하여도 SIP는 포커스를 통해 트래버스하도록 요청한다는 점을 유의한다. 일단 클라이언트가 MCU에 성공적으로 가입하면, 참가자 가입 이벤트를 포커스로 전송한다. 포커스는 참가자 가입 MCU 상태 변경 통지를 컨퍼런스의 모든 시청자에게 전송한다. 클라이언트와 MCU 사이의 직접적인 미디어 타협이 얻어진다. 오디오/비디오의 경우, 이것은 RTP/RTCP 스트림일 수 있다.
도 15는 결과적으로 다이얼-인으로 되는 다른 클라이언트 참가자로의 애드 혹 인비테이션에 대한 바람직한 호 흐름도이다. 클라이언트는 app INVITE를 참가자에게 전송할 것이다. 권한부여 PIN과 함께 삽입된 컨퍼런싱 URL을 갖는 p invite는 사용자의 클라이언트에서 메시지 프롬프트로서 나타날 것이다. 일단 참 가자가 메시지 프롬프트를 허용/클릭하면, 컨퍼런스로의 참가자에 다이얼-인할 컨퍼런싱 클라이언트를 시작할 것이다.
더 구체적으로, 클라이언트는, 존재한다면, 권한부여 정보를 포함하여 참가자가 컨퍼런스로 다이얼-인하기 위해 필요한 모든 정보를 포함하는 app invite를 참가자에게 전송한다. app invite는 컨솔에서 프롬프트로서 나타날 것이다. 일단 참가자가 프롬프트를 허용하면, 컨퍼런싱 클라이언트는 클라이언트가 컨퍼런스로 다이얼-인할 수 있게 시작할 것이다. 클라이언트가 성공적으로 컨퍼런스로 다이얼-인 한 후에, 포커스는 로스터 업데이트 통지를 컨퍼런스의 모든 시청자에게 전송한다.
도 16은 다른 클라이언트로의 애드 혹 다이얼-아웃 INVITE에 대한 바람직한 호 흐름도이다. 클라이언트 참가 시퀀스는 클라이언트1과 포커스 사이에서 개시되고 이후 클라이언트1로부터 포커스로의 INFO addUser 다이얼-아웃 메시지가 뒤따른다. 200 ACCEPT 메시지는 포커스로부터 리턴된다. 포커스는 addUser 다이얼-아웃 메시지를 MCU로 전송하고, MCU는 200 OK로 응답한다. MCU는 포커스를 통해 라우팅되는 INVITE 메시지를 제2의 클라이언트2로 전송한다. 클라이언트2는 200 OK 메시지로 응답하고 다음에 MCU로부터의 ACK가 뒤따른다. 미디어 스트림 (예컨대, RTP를 이용)은 MCU와 클라이언트2 사이에서 개시된다. MCU는 참가자 참가 이벤트를 포커스로 전송한다. 포커스는 업데이트 로스터 메시지를 클라이언트1로 전송하고, 클라이언트2가 컨퍼런스 세션에서 참가하였음을 나타낸다.
상기 app invite 메커니즘은 애플리케이션 인바이트 및 C3P 프로토콜 메커니 즘을 이해하는 새로운 클라이언트와 작업한다. 그러나, C3P를 이해하지 못하는 레거시(legacy) 클라이언트가 인바이트될 수 있다. 이 메커니즘은 또한 순수한 SIP 클라이언트를 컨퍼런스로 넣기 위해 사용될 수 있다. 클라이언트는 컨퍼런스를 떠나기 위해 BYE를 초기 INVITE 다이얼로그로 전송할 수 있다. 기능이 멈춰진 클라이언트를 검출하기 위해, 세션 킵-얼라이브 (session keep-alive) 메시지가 사용될 수 있다.
컨퍼런스 상태 통지는 MCU로부터 포커스로 발생할 수 있고, 포커스로부터 클라이언트로 발생할 수 있다. 상태 통지 데이터 모델은 다음 요소들, 즉 컨퍼런스 설명 (예컨대, 제목, 주제, 조정자 설명), 능력, 현재 상태, 설정 및 정책에 대한 정보를 포함하는 컨퍼런스 뷰 (예컨대, AV MCU, IM MCU와 같은 각 엔터티 포커스에 대한 컨퍼런스 레벨 정보), 사용자 (예컨대, 컨퍼런스, 사용자, 대응하는 엔드포인트 및 이들이 연결된 미디어 세션의 로스터), 및 서브 컨퍼런스의 표현인 사이드바를 포함한다.
다음 코드는 컨퍼런스 상태 계층구조의 일예를 나타낸다.
다음 코드는 두개의 MCU (예컨대, A/V, 데이터)를 갖고, 로그인한 사용자는 없는 상태에서 초기 컨퍼런스 상태의 일예를 나타낸다.
다음은 A/V MCU에 참가하려고 하고 부트스트래핑하는 사용자에 대한 코드의 일예를 나타낸다.
다음은 포커스에 참가하는 사용자 Bob에 대한 코드의 일예를 나타낸다.
다음은 AV MCU에 참가하는 사용자 Bob에 대한 코드의 일예를 나타낸다.
포커스 팩토리 URI의 발견은, 그룹 정책 사용, DNS (domain name server), 서버의 정해진 URI 및 사용자 프로파일 데이터와 같이 여러가지 방식으로 수행될 수 있다.
설정을 클라이언트에게 분배하기 위해 관리자에 의해 공통적으로 사용되는 방법은 그룹 정책 개체 (Group Policy Objects: GPO)를 사용하는 것이다. 어떤 애플리케이션 설정 및 특징은 GPO 설정을 통해 턴온 또는 턴오프될 수 있다. 예컨대, 관리자는 GPO를 통해 어떤 메뉴 옵션을 제거하거나 다른 것을 추가하도록 선택할 수 있다. GPO의 사용을 통해, 도메인 관리자는 임의의 사용자 집합을 임의의 포커스 팩토리로 지시할 수 있다. 이것은 수동 구성 요건을 제거한다.
다른 옵션은 클라이언트를 포커스 팩토리 URI로 지시하도록 DNS 레코드를 사 용하는 것이다. DNS SRV는 표준 DNS 서버로의 확장이고, 각각 자신의 우선권을 갖는 서버들의 하나 이상의 IP 어드레스를 얻기 위해 사용된다. SRV 레코드의 일예가 아래에 있다.
SRV 레코드 명칭 사용 규칙은, 레코드가 밑줄 다음에 서비스명, 마침표, 밑줄 다음에 프로토콜, 마침표, 및 도메인명을 순서대로 포함할 것을 요한다.
다른 옵션은 다음과 같이 포커스 팩토리에 대한 정해진 URI를 사용하는 것이다.
이 접근방식은 추측 및 발견 요건을 함께 제거한다. 풀의 프론트엔드 기계에서 실행되는 애플리케이션은 이것을 특별한 URI가 되도록 번역하거나 이것을 그런 식으로 취급할 것이다. 이것은 동일한 URI가 다수의 풀에서 실행되는 애플리케이션들에 의해 표시된다는 것을 의미한다.
다른 접근방법은 사용자 프로파일 데이터에 의한 것이다. 사용자는 로밍 컨택트 및 보안 정보를 얻기 위해 사인-온한다. 클라이언트는 로밍 컨택트, 로밍 ACL (access control lists), 사용자의 프레즌스 데이터에 관한 계류중인 신청 요청 등을 포함하는 다양한 종류의 데이터에 신청할 수 있다. 이 정보는 프레즌스 저장소에 저장된다. 데이터는 클라이언트가 인트라넷 내부 또는 외부에 있는지에 상관없이 클라이언트에게 전달된다. 클라이언트가 자신의 프레즌스 정보로 등록할 때, 이 데이터 유형들로 신청하고 서버는 이들을 SIP 프로토콜 (NOTIFY 메시지 이 용)을 이용하여 전송한다.
다른 데이터 유형 FocusFactoryURI 를 도입함으로써, 클라이언트는 또한 그 데이터에 대해 신청할 수 있고 이것을 원래 핸드셰이크의 일부로서 수신할 수 있다. 추가된 장점은, 클라이언트가 FocusFactoryURI 데이터 유형으로 신청되었으므로 이 정보가 변할 때 클라이언트는 SIP 시맨틱스를 이용하여 통지받는다는 것이다.
이 데이터가 저장될 수 있는 방법에 대해 2가지 옵션이 있다. 우선, 각 사용자는 별개의 FocusFactoryURI를 가질 수 있다. 이 접근방법 하에서, 프레즌스 저장소는 확장될 수 있고 컨퍼런싱을 위해 가능하게 된 모든 각 사용자에 대해 URI를 저장한다. 제2 접근방법 하에서, 포커스 팩토리 URI는 풀(pool)에 거주하는 모든 사용자가 공유하는 풀 레벨 설정이다. 이 접근방법의 이점은, 팩토리 URI가 각 사용자에 대해 관리될 것을 요하지 않고 전체 풀에 대해 단일의 URI를 저장한다는 점이다. 풀 설정이 그 풀에서 모든 프론트엔드 서버들 사이에서 공유되므로, 각 프론트엔드에서 실행되는 사용자 서비스 모듈은 이 설정으로 액세스한다. 이 설정은 이 시스템에 있는 다른 풀에 보인다.
포커스 팩토리 및 포커스 인스턴스는 사용자를 수용(homing)하지 않는 풀에서 호스트될 수 있다. 이것은 클라이언트로부터 포커스 팩토리 및 포커스 인스턴스를 호스트하는 풀로 들어오는 요청에 관한 라우팅 요건을 생성한다. 제1 요건이 없더라도, 요청은 서로 다른 풀에 연결된 클라이언트로부터 포커스 인스턴스를 호스트하는 풀로 라우팅된다.
사용자 서비스는 클라이언트에 의해 요청되는 다양한 종류의 데이터에 대해 데이터베이스에 질의할 수 있고, 이를 XML 포맷으로 포맷하고 NOTIFY 메시지로 응답한다. 이 특별한 데이터 유형에 대해, 이를 검색하기 위해 데이터베이스로 가는 대신, 이 요청을 수신하는 프로트엔드 기계는 풀 레벨 설정을 참조할 수 있고 NOTIFY와 함께 전송할 XML 문서를 준비할 수 있다. 이 설정이 업데이트되면, 사용자 서비스는 시간 윈도우 (예컨대, 5분) 내에서 그 변화를 통지받아, 이것이 그 설정에 대한 자신의 로컬 값을 업데이트하게 한다.
다수의 도메인으로부터의 사용자를 수용하는 풀에 대해, 설정은 수용된 서로 다른 도메인에 대해 서로 다른 팩토리 URI를 허용하도록 수용된 각 도메인에 대해 구성가능하다. 이것의 일예는 호스팅 솔루션으로, 여기서 사용자는 많은 가능한 도메인에 대해 분산된다. 이 능력은 풀마다 다수의 도메인 명을 저장하고 포커스 팩토리 URI를 이들에 할당하도록 제공된다. 이 설정은 모든 풀에 보인다.
클라이언트 애플리케이션은 새로운 컨퍼런스를 시작하기 위해 포커스 팩토리와 통신한다. 상술한 바와 같이, 클라이언트 애플리케이션은 사용자가 사인 온할 때 포커스 팩토리 URI를 획득하므로, 새로운 애드-혹 컨퍼런스를 시작하기 위해 언제든지 포커스 팩토리와 통신하는 수단을 갖는다. SIP 클라이언트가 다른 것과 통신하고 싶을 때, 클라이언트들 사이의 SIP 다이얼로그는 한 당사자에 의해 다른 당사자로 전송된 INVITE로 시작한다. SDP (session description protocol) 패키지는 INVITE 및 동일한 INVITE에 대한 200 OK 응답 내에서 페이로드로서 미디어 타협에 대해 전달된다.
개시된 프레임워크에서, 컨퍼런스를 생성하는 것은 포커스 인스턴스를 생성하고 구성하는 것을 의미한다. 포커스 팩토리 일은 URI를 포커스로 다시 클라이언트로 리턴하는 것이다. 이것은 클라이언트와 포커스 팩토리 사이의 대화가 오랫동안 지속될 필요가 없음을 의미한다. 포커스 URI가 클라이언트로 리턴될 때까지 지속되기만 하면 된다.
포커스 팩토리는 자신의 URI를 클라이언트로 다시 리턴하기 전에 포커스를 생성하고 구성한다. 이 구성은 이 컨퍼런스에 의해 사용될 미디어 유형, 예상된 참가자 수, 알려진 참가자들의 역할 및 권한, 역할 정의 등을 설정한다.
포커스 팩토리는 미리 회의의 스케줄링을 허용하는 웹 서비스 인터페이스를 갖는다. 이 시나리오에서, 컨퍼런싱 클라이언트는 포커스로 직접 얘기하고, 포커스 팩토리와의 다이얼로그를 결코 설정하지 않는다. 그러나, 애드-혹 컨퍼런스에 대해, 컨퍼런싱 클라이언트는 포커스 팩토리에 얘기하여 그것이 포커스 URI를 제공하게 한다.
도 17은 리다이렉션을 이용한 바람직한 호 흐름도이다. 처음에, 클라이언트는 INVITE를 포커스 팩토리 URI로 전송하는데, 여기서,
ㆍTo = 포커스 팩토리 URI
ㆍFrom = 사용자 URI
ㆍ컨텐트 유형 = 멀티파트 MIME
ㆍ컨텐트 = 초기 참가자 리스트, 역할 매핑 및 템플릿 식별 토큰을 포함하는 XML 컨텐트
풀에서 실행되는 포커스 팩토리 애플리케이션은 메시지를 수신하고 100 - 진행중 (In Progress) 또는 180 - 링잉(Ringing) 임시 응답을 리턴한다. 이것은 임의의 데이터 준비 및 룩업이 포커스 팩토리에 의해 수행되는 동안에 클라이언트가 대기하는 것을 허용한다. 포커스 팩토리는 포커스를 생성하고 302 - 리다이렉트 응답의 컨택트 헤더에서 포커스 URI를 리턴한다. 이것은 클라이언트가 컨퍼런스 URI로서 컨택트 헤더 값을 캐시(cache)할 수 있게 한다. 클라이언트가 동일한 INVITE를 자신이 수신한 포커스 URI로 전송한다. 유일한 차이는, To: 헤더가 이때에 컨퍼런스 ID인 GRUID 파라미터를 갖는다는 점이다.
도 18은 클라이언트의 컨퍼런스로의 참가와 별개인 컨퍼런스의 생성을 처리하는 바람직한 호 흐름도이다. 이것은 발생하는 동작의 스테이지를 더 잘 반영한다. 따라서, 컨퍼런스의 생성은 클라이언트로부터 포커스 팩토리로 INVITE를 전달하고, 선택적으로 180 진행중 (In progress) 응답을 다시 수신하고, 포커스 인스턴스를 생성하기 위해 포커스 팩토리로부터 포커스로 CreatFocus를 전송하고, 포커스 팩토리로 포커스 데이터를 리턴하고, 컨택트 포커스 URI를 클라이언트로 전송하고, 수신을 확인하는 것을 포함한다. 컨퍼런스에 참가하는 것과 연관된 메시지는 클라이언트에 대한 포커스 URI와 함께 INVITE를 포커스로 전송하고, 200 OK를 클라이언트로 다시 수신하고, 수신을 확인하는 것을 포함한다.
클라이언트로부터 INVITE 메시지 수신시, 포커스 팩토리는 포커스를 생성하고 포커스 정보를 클라이언트로 리턴한다. 포커스 팩토리 처럼, 포커스는 애플리케이션에 의해 표현된 SIP 엔드포인트이다. 포커스 팩토리는 자신이 수신하는 INVITE 요청을 포커스로 리다이렉트하여, 클라이언트와 미디어 타협을 하는 엔드포인트가 될 수 있게 한다.
상기한 바와 같이, 포커스는 컨퍼런스에 대한 "등록된" 핸들러이다. 포커스 URI는 컨퍼런스를 나타내고 컨퍼런스 URI라고도 한다. 한가지 결정적인 방법은 URI의 사용자 섹션에 대해 고정된 패턴을 이용하고 이것을 컨퍼런스 ID 정보로 주석을 단다. 이것은 라우팅 논리가 URI에 기초하여 더 쉬운 방법으로 기록되게 하고 포커스 URI가 회사 내에서 단일 애플리케이션으로 매핑되게 하여, 시스템의 관리를 용이하게 한다. 이 사용은, 잘 알려진 포커스 URI에 GRUU 파라미터를 첨부하는 것을 허용하는 SIP로의 "GRUU/GRID Extension"에 의해 요약된다. 예들은 다음과 같다.
포커스 팩토리 행동은 포커스 팩토리가 실행되는 동일 풀에서 포커스가 존속하는 것이다. 이것은 SIP 등록 서버와 완전히 별개로 컨퍼런싱 포커스 인스턴스를 스케일링하기 위한 구성가능한 설정일 수 있다.
포커스 인스턴스는 동시에 풀의 모든 프론트엔드 기계에서 실행된다. 이것은 클라이언트가 풀에서 임의의 프론트엔드에 연결하게 하여 부하의 분배 및 더 나은 스케일링을 가능하게 한다. 컨퍼런스에 대해 포커스 인스턴스들 사이에서 공유되어야 하는 포커스 상태는 데이터베이스에 보관된다. 이 데이터는 로스터, 역할 및 권한, 미디어 유형 및 MCU 아이덴터티 등을 포함한다. 각 포커스 인스턴스는 포커스 인스턴스가 실행되는 특정 프론트엔드에 연결된 클라이언트에 대해 연결 상태를 처리한다. 각 포커스 인스턴스는 SIP 엔드포인트이므로, 이 연결은 SIP 다이얼로그이다.
포커스 URI가 클라이언트로 넘겨질 때, 그 URI의 일부는 컨퍼런스 ID로서, 데이터베이스에서 컨퍼런스 레코드를 참조하는 데이터베이스 엔진에 의해 생성되는 번호이다. 데이터베이스 레코드는 레코드가 데이터베이스에서 얼마나 오래 저장되어야 하는지를 나타내는 데이터는 물론 컨퍼런스에 대한 다른 정보를 포함한다.
포커스 URI를 클라이언트로 넘긴 후, 포커스 팩토리는 임의의 상태로 계속 유지하거나 임의의 작업을 할 필요가 없다. 클라이언트가 자신이 연결된 홈 서버를 통해 포커스 URI로 INVITE를 전송할 때, INVITE는 컨퍼런스를 호스트할 풀로 라우팅된다. INVITE 수신시, 풀에 있는 프론트엔드 기계들 중 하나는 포커스를 생성하고 클라이언트에 응답한다.
상기한 바와 같이, 포커스 인스턴스는 한 풀의 모든 프론트엔드 기계에서 실행된다. 고려를 위한 이슈는 라우팅, 성능, 안정성, 및 신뢰성을 포함한다. 앞서 언급된 바와 같이, 컨퍼런스와 연관된 상태는 한 풀의 모든 프론트엔드 기계에 의해 액세스가능한 데이터베이스에 저장된다. 이것은 컨퍼런스와 연관된 상태가 풀에 있는 서로 다른 프론트엔드 기계에서 실행되는 포커스 애플리케이션들의 다수의 인스턴스 사이에서 공유될 수 있게 한다. 그 결과, 각 클라이언트는 그들의 풀 및/또는 홈 서버로 연결되고 이들이 도달하려고 하는 포커스는 그 상자에서 실행되어, 그들이 보낼 수 있는 모든 컨퍼런스 관련 요청에 답할 준비가 되어 있다.
도 19는 풀에서 서로 다른 프론트엔드 기계들에서 실행되는 포커스 애플리케이션들의 다수의 인스턴스 사이에서 상태를 공유하는 서버 풀 시스템(1900)을 도시한다. 이 시스템(1900)은 부하를 모든 프론트엔드 기계 (또는 프론트엔드)에 대해 분배하고, 라우팅 요건을 제거하고, 높은 이용가능성 특징을 이용함으로써 이슈 라우팅, 성능, 안정성 및 신뢰성을 처리한다. 연결 관리 부하는 풀의 모든 프론트엔드 기계들 사이에서 임의로 분산된다. 추가적인 프론트엔드 기계들은 풀과 연관되는 것이 아닌 다른 아이덴터티를 갖지 않으므로 쉽게 추가되고 제거될 수 있다. 안정성에 대해, 프론트엔드가 실패하는 경우, 그 프론트엔드에 연결된 모든 사용자는 컨퍼런스를 시도하여 재연결할 수 있다. 이 모든 사용자는 다시 부하 균형을 이루어 동일한 풀에서 다른 프론트엔드로 연결될 것이다. 어느 것도 필요없으므로, 라우팅 이슈는 제거된다. 컨퍼런스에 대한 공유된 상태는 데이터베이스에 저장되고 모든 프론트엔드는 이에 액세스할 수 있다. 어느 하나의 기계도 정보 브로커일 필요가 없다.
도 20은 포커스 인스턴스와의 두개의 별개의 클라이언트-포커스 다이얼로그의 바람직한 호 흐름도이다. INVITE 다이얼로그는 클라이언트가 컨퍼런스에 참가하게 하는 다이얼로그이고 이것은 클라이언트로부터 포커스로의 명령 트래픽을 위해 사용된다. 클라이언트로부터의 명령은 INFO 메시지 내부에서 전달된다. INFO 메시지의 본문은 SOAP 유사 XML 본문을 포함하고 포커스에 의해 처리된다. 도 20에 있는 단일 INFO 메시지는 컨퍼런스의 존속에 대한 모든 INFO 메시지를 나타냄을 유의한다. 클라이언트에 할당된 역할에 기초하여, 클라이언트는 컨퍼런스 제어, 컨퍼런스 정책 제어, 미디어 제어 또는 미디어 정책 제어에 대한 명령을 내릴 수 있다.
일단 클라이언트가 컨퍼런스에 참가하게 되면, 참가 및 제거되는 참가자, 추가 또는 제거되는 미디어와 같은 컨퍼런스에서 일어나는 이벤트가 통지되어야 한다. 컨퍼런스 상태의 변경 및 컨퍼런스 및 미디어에 대한 정책의 변경은 이 다이얼로그 내에서 클라이언트로 전송된 NOTIFY 메시지를 통해 전달된다. INFO 메시지를 이용하여 INVITE 다이얼로그 내에서 클라이언트에 의해 전송된 명령이 컨퍼런스 상태를 변경하는 명령이면, 포커스는 컨퍼런스 상태의 변경된 부분을 포함하는 NOTIFY를 전송함으로써 클라이언트에게 통지한다. 도 20에서 단일 NOTIFY 메시지는 컨퍼런스의 존속 동안 모든 NOTIFY 메시지를 나타냄을 유의한다.
컨퍼런스에서 한 유형의 미디어를 시작하는 옵션은 포커스가 생성되게 하고 포커스가 생성될 때 모든 MCU가 이 컨퍼런스에 대해 통지받게 하는 것이다. 이것은 미디어의 추후 실시가 신속하도록 한다. 또한, 미디어가 맨 앞에 실시되므로, MCU는 이들을 맨 앞에 접촉할 수 있는 로스터의 부분에 대해 알 것이고, 미디어에 대한 사용자 참가 동작이 지체없이 수행될 수 있게 한다. 이 모델에서, 포커스가 생성되자 마자, 이것은 MCU에게 명령을 전송하여 회의 상태를 할당하고 예상 참가자에 대해 컨퍼런스 로스터를 전달한다. 포커스는 그후 사용된 미디어 유형에 대한 MCU 정보와 함께 컨퍼런스 상태를 업데이트한다. 이와 같이, 참가자가 들어와 미디어에 참가할 때마다, 포커스는 연결 정보를 얻기 위해 MCU로 갈 필요가 없다. 이 경험은 회의에 참가하는 처음 및 마지막 참가자에 대해 동일할 것이다.
앞서 설명된 바와 같이, MCU 팩토리는 MCU에 대해 액세스 정보를 제공하는 논리적 엔터티이다. MCU 팩토리는 MCU 장치나 소프트웨어의 판매자에 대해 판매자 특정 구현일 수 있다. 포커스는 시스템에 어떤 MCU 팩토리가 존재하고 이들이 어떤 미디어 유형을 지원하는지를 설정을 통해 안다. 포커스는 MCU에 접촉하는 방법에 대한 정보를 MCU 팩토리에 요청하고, MCU 팩토리는 그것이 실행할 수 있는 어떠한 내부 논리에 기초하여 그 정보를 리턴한다.
예컨대, A/V 활동에 대해 제1자 및 제3자 MCU가 존재하는 전개를 고려한다. 이것은 MCU 팩토리 리스트가 이 미디어 유형에 대해 각 판매자에 대해 하나씩 두개의 엔트리를 포함할 것임을 의미한다. 설정의 표현예는 다음을 포함한다.
미디어 유형 | MCU 팩토리 URL |
A/V | http://MCUFactory.1stParty |
A/V | http://MCUFactory.3rdParty |
A/V 활동을 갖는 컨퍼런스가 생성될 때, 그 컨퍼런스를 나타내는 포커스는 그 컨퍼런스에서 사용될 MCU의 종류에 대한 MCU 팩토리를 접촉한다. 다수의 MCU 팩토리가 존재하는 이와 같은 시나리오에서, 포커스는 MCU 팩토리들 중 하나를 선택한다. 템플릿의 사용은 이것을 해결한다.
C3P는 컨퍼런스 상태를 수정하기 위해 사용되는 컨퍼런스 제어/조작 제어 프로토콜이다. 개시된 아키텍처에서, C3P 명령은 클라이언트에서 포커스로 그리고 포커스에서 MCU로 흐르고, 역 방향이 컨퍼런스 통지에 적용된다. C3P는 SIP와 유사한 요청/계류중인 응답/최종 응답 시맨틱스를 갖는다.
도 21은 클라이언트가 컨퍼런스 상태를 수정하는 C3P 명령을 내리는 바람직 한 호 흐름도이다. 클라이언트는 포커스로의 참가 시퀀스를 개시한다. INFO C3P 명령은 클라이언트로부터 포커스로 전달된다. 포커스는 202 ACCEPT로 응답한다. 포커스는 데이터 협업 MCU로 C3P 요청을 전송한 다음에 동일한 종류의 요청을 오디오/비디오 MCU로 전송한다. 포커스는 또한 INFO C3P 응답을 클라이언트로 전송한 다음 200 OK 메시지로 전송한다. 포커스는 그후 상태 변경 통지를 (BENOTIFY를 통해) 클라이언트로 전송한다. MCU (데이터 협업 및 AV)는 C3P 응답을 포커스로 전송한다. 데이터 협업 MCU 및 AV MCU 각각은 C3P 명령에 의한 상태 변경 통지를 포커스로 전송한다. 포커스는 그후 대응하는 상태 변경 통지를 (BENOTIFY를 통해) 클라이언트로 전송한다.
도 22는 분산 MCU 컨퍼런싱 아키텍처에 따라 사용될 수 있는 C3P 명령을 도시한다. 이 명령은 컨퍼런스 레벨, 사용자 레벨, 사이드바 레벨, 엔드포인트 레벨, 엔드포인트 미디어 레벨, 레코딩, 부하 균형 및 스케줄링 특정에 관한 것이다. 컨퍼런스 레벨에서, 컨퍼런스가 추가, 삭제, 수정될 수 있고, 잠금(lock)이 수정될 수 있고, 미디어 필터가 수정될 수 있고, 레코딩된 이름이 재생될 수 있고, 컨퍼런스가 입수될 수 있다. 사용자 레벨에서, 사용자가 추가, 삭제 및 수정될 수 있고, 사용자 역할이 수정될 수 있고, 사용자 액세스가 설정될 수 있다. 엔드포인트 레벨에서, 엔드포인트 역할이 수정될 수 있다. 엔드포인트 미디어 레벨에서, 미디어 엔드포인트가 추가, 삭제 및 수정될 수 있다. 사이드바 레벨에서, 사이드바가 추가, 삭제 및 수정될 수 있다. 사용자는 또한 사이드바로 이동될 수 있다. 레코딩에 대해, 레코딩이 시작, 정지, 중단 및 재개될 수 있다. 스케줄링에 대해, 이용 가능한 MCU 종류, 암호화 키, 및 컨퍼런스가 입수될 수 있다 (겟(get)을 통해). 부하 균형에 대해, MCU는 핑(ping) 값과 함께 얻어질 수 있다.
개시된 컨퍼런싱 아키텍처는, 중소규모 사업에 대한 간단한 단일 서버 설치로 시작하여 서로 다른 스케일링 특성을 갖는 각 컨퍼런싱 기능에 대한 서로 다른 갯수의 서버 및 멀티 서버 설치와 함께 호스트된 메가 서비스로의 부문 설치와 같은 몇개의 구성으로 설치될 수 있다. 이 구성 요건은 서버 아키텍처를 구동하고 기능적인 부분들이 분리된다.
단일 서버 구성에서, 프레즌스, 인스턴트 메시징, 다자간 웹 컨퍼런싱, 오디오-비디오 컨퍼런싱, 및 레코딩을 제공하기 위해 필요한 모든 서버 구성요소가 단일 기계에서 설치될 수 있다. 이 모드에서, 등록 및 프레즌스를 위한 "홈 서버", 컨퍼런스 관리자, 컨퍼런스 포커스, A/V MCU, 및 데이터 MCU 컴포넌트는 모두 동일 서버에서 실행될 것이다. 이 구성은 소수의 사용자 및 동시 회의를 지원한다. 예컨대, 단일 서버 설치는, 100인 이하의 사용자가 임의의 주어진 순간에 IM을 수행하고 50인 이하의 동시 멀티 미디어 컨퍼런스 참가자 (데이터/오디오-비디오)가 존재할 것이라고 가정하면, 프레즌스를 위해 최대 500인의 동시 사용자를 지원할 수 있다. 등록은 물론 컨퍼런스 데이터베이스는 단일 서버에서 실행될 수 있다. TCP 포트 및 URL 명칭공간은 공유 자원일 것이다.
도 23은 프론트엔드 서버들(2300)이 동등한 기능을 갖는 멀티 서버 풀을 도시한다. 이 모델에서, 다수의 서버는 IP 부하 균형기(2302) 뒤에서 구현된다. 다수의 서버는 높은 이용가능성 해답을 제공하고, 여기서 서버 프론트엔드 시스템 중 하나가 실패하면, 클라이언트는 프론트엔드 실패를 검출하고 자동적으로 다른 이용가능한 프론트엔드 서버들 중 하나에 재연결될 것이다.
각 프론트엔드(2300)는 등록, 프레즌스 및 라우팅 기능을 포함할 뿐 아니라 컨퍼런싱 기능을 포함한다. 각 프론트엔드는 포커스 팩토리, MCU 팩토리, 0 이상의 포커스 호스트 프로세스 및 미디어 MCU 프로세스 중 한 인스턴스를 실행한다. 실패 검출 및 인계 논리는 컨퍼런싱 세션을 포함하도록 확장될 수 있다. 컨퍼런스가 중간에 실패하면, 클라이언트는 포커스로 다시 연결할 수 있고, 이것은 실패가 일단 서버 풀(2300)에서 검출되면 다른 프론트엔드 서버에서 재인스턴스화된다. 새로운 포커스는 포커스의 이전 구체화로부터 갖는 많은 상태를 재인스턴스화하고 클라이언트가 컨퍼런스에서 떠난 곳으로부터 계속하도록 허용한다.
모든 서버(2300)는 기능이 동등하다. 포커스 팩토리, 포커스, MCU 팩토리, MCU, 웹 스케줄링 인터페이스 등과 같은 소프트웨어 구성요소는 모든 프론트엔드 서버에서 설치된다. 포커스 및 MCU가 서로 다른 스케일링 특성을 갖지만, 이 구성은 높은 이용가능성 및 실패 회복을 제공하는 한편 설정 및 관리의 단순성을 제공한다. 이 아키텍처는 또한 별개의 상자로의 MCU의 분리를 허용한다.
도 24는 실패 회복 및 높은 이용가능성 특성에 대한 멀티 서버 풀(2400) 구성을 도시한다. 또한, 서로 다른 스케일링 특성을 갖는 기능들을 분리하는 능력을 서로 다른 서버에 제공한다. 또한, MCU(2402)는 컨퍼런스를 스케일링하기 위해 그리고 회사간 또는 회사와 호스트 서비스간 연합을 허용하기 위해 함께 연결될 수 있다. MCU는 미디어를 중계, 혼합 및 처리한다. 미디어 전송 및 처리는 포커스를 통과하는 시그널링 및 컨퍼런스 제어 데이터에 비해 훨씬 더 CPU 및 네트워크 집약적이다. 따라서, MCU는 프레즌스, 시그널링 및 컨퍼런스 제어 요소에 상관없이 스케일링될 수 있다.
도 25는 분산 미디어 컴포넌트 아키텍처의 엔터티들 사이의 다양한 종류의 데이터의 토폴로지도이다. 예컨대 MCU (예컨대, IM MCU, A/V MCU)와 그리고 부하 균형기로의 클라이언트-투-서버 (C/S) 통신은 SIP를 통해서 이루어질 수 있다. 부하 균형기는 SIP를 사용하여 프론트엔드 서버로 인터페이스할 수 있다. 오디오/비디오 스트림에 대해, 클라이언트는 RTP/RTCP를 이용하여 인터페이스할 수 있다. 데이터 협업 MCU와 상호작용하기 위해, 클라이언트는 PSOM을 이용할 수 있다. 각 MCU는 HTTP를 이용하여 프론트엔드 서버로 인터페이스할 수 있고, 이것은 MCU 팩토리가 이용한다. 컨퍼런스 웹 서버는 브라우저 애플리케이션에 의해 액세스될 수 있다. 웹 서버는 ODB (object data base)/ADO (ActiveX data objects)를 이용하여 포커스 백엔드 서버 (예컨대, SQL 서버)에 액세스할 수 있다. 프론트엔드 서버 (예컨대, Frontend 1)는 ODB/ADO를 이용하여 백엔드 서버에 액세스할 수 있다. 서버-투-서버 (S/S) 통신 (예컨대, 서버 풀로의 IM MCU, 서버 풀로의 A/V MCU)은 SIP를 이용하여 이루어질 수 있다. 부하 균형기는 서버-투-서버 SIP를 이용하여 하나 이상의 프론트엔드 서버에 인터페이스할 수 있다.
도 26은 플러그형 분산 미디어 컴포넌트들을 이용한 전체적인 컨퍼런싱 아키텍처(2600)를 도시한다. 이 아키텍처(2600)는 또한 예컨대 IP 및 PSTN 참가자를 동일 컨퍼런스로 브리징하기 위해 음성 IP MCU와 PSTN MCU 사이의 캐스케이딩을 구 현하는 동일한 미디어 유형에 대해 사용되는 다수의 MCU의 엄폐를 허용한다. 컨퍼런스 및 컨퍼런스 URI가 일단 할당되고 (인터페이스 A 이용) 클라이언트가 컨퍼런스에 액세스할 포커스 허락을 수신하면 (인터페이스 B 이용), 클라이언트는 컨퍼런스 이벤트 상태 정보에 신청하고 (인터페이스 C를 통해) 포커스로부터 제1 이벤트에서 수신된 문서로부터 미디어 MCU 마다 실제 컨퍼런스 URI를 검색한다 (인터페이스 C를 통해). 클라이언트는 검색된 컨퍼런스 MCU URI를 이용하여 컨퍼런스로 다이얼 (또는 참가)하고 MCU와 직접 제1자 기본 SIP 호 시그널링 동작을 수행한다 (인터페이스 D를 통해).
SIP 시그널링 (인터페이스 D를 통해)은 SIP 라우팅 수단에 의해 포커스를 통해 자동적으로 프록시될 것이다. PSOM 시그널링 및 데이터 프로토콜 (인터페이스 L을 통해)은 클라이언트와 데이터 MCU 사이에서 직접 라우팅된다. 포커스를 통해 프록시되는 SIP 연결은 검사되는 기회를 갖고 인증, 권한부여, 회원 등에 대해 실시되는 로컬 정책을 갖는다. PSTN MCU 및 데이터 MCU의 경우에, 제1자 호 시그널링은 포커스를 통해 프록시되고 있지 않음에 유의한다. 이 MCU들에 대한 정책은 포커스에서 MCU로 명시적으로 업로드될 수 있다. 클라이언트는 C3P라고도 하는 CCCP를 이용하여 컨퍼런스 제어의 임의의 다른 종류를 수행하도록 원래 컨퍼런스 URI와 확립된 SIP 다이얼로그를 사용한다 (인터페이스 B를 통해).
포커스 관점에서, ACP MCU는, 트랜스포트가 HTTP 대신 SIP라는 점을 제외하고는 임의의 다른 IP MCU로서 취급되고 있다. 이 인터페이스는 B** 및 C**로서 그림 에 도시되고, 여기서 B**는 SIP를 통한 CCCP 터널링이고 C**는 SIP를 통해 터널링되는 XML 이벤트의 컨퍼런스 패키지이다. 일 구현예에서, ACP GW (게이트웨이) 논리적 모듈은 ACP를 허용하도록 구현되어, 이미 SIP-CX 프로토콜을 지원하여 이음매없이 인프라로 통합되게 한다.
제1자 시그널링 (예컨대, 이 경우에는 PSTN 시그널링)이 포커스에 보이지 않으므로, 추가적인 보안 핸드셰이크 (어드레싱 권한부여)는 포커스와 ACP MCU (및 ACP GW) 사이에서 구현된다.
데이터 MCU는 SIP를 구현할 필요가 없다. 결과적으로, 컨퍼런스로 다이얼-인을 시도하는 클라이언트는 결과적으로 데이터 MCU로 지시하는 HTTP URI로의 리다이렉션이 될 것이다. 모든 보안 문제 (권한부여 및 인증 포함)는 PSOM을 이용하여 데이터 클라이언트와 데이터 MCU 사이에 직접 처리될 수 있음에 유의한다.
컨퍼런스 상태 및 통지에 대해, 시스템내 각 MCU는 그것이 호스트하는 각 컨퍼런스에 대한 상태 정보를 유지한다. 이 정보는 컨퍼런스의 MCU 미디어 특정 관점을 나타낸다. MCU는 HTTP를 통해 XML 이벤트의 인터페이스 C* 컨퍼런스 패키지를 통해 주요 포커스로 컨퍼런스 상태의 변경을 푸시한다. 주요 포커스는 각 MCU로부터 개별 상태 정보를 동적으로 수신하고 (인터페이스 C*를 통해), 정보를 모으고, 각 클라이언트 신청 및 권한이 있으면 클라이언트로 완전한 컨퍼런스 뷰를 배포한다 (인터페이스 C를 통해). 각 관심있는 클라이언트와 잠재적인 참가자는 주요 포커스와 함께 관심있는 컨퍼런스로 (컨퍼런스 URI 이용) 신청할 수 있다 (인터페이 스 C를 통해).
각 가입자로의 제1 컨퍼런스 상태 통지에서, 포커스는 컨퍼런스에 대한 모든 정보를 포함한다. 컨퍼런스에 대한 혼합이 다수의 미디어 MCU에 의해 수행되면, 각 MCU로 라우팅하는 미디어 컨퍼런스 URI는 컨퍼런스의 conf-URI로서 리스트된다. 클라이언트는 XML 컨퍼런스 상태 문서를 파싱하고 적절한 제1자 시그널링 (예컨대 인터페이스 D를 통한 INVITE 또는 인터페이스 L을 통한 Data MCU)을 MCU를 향해 개시한다.
SIP 수단을 이용하는 것은 참가자가 컨퍼런스에 참가하고 떠날 수 있음을 의미한다. SIP를 사용하는 것은 또한 참가자가 re-INVITE를 MCU로 전송함으로써 자신의 미디어 스트림을 변경할 수 있음을 의미한다. 이런 종류의 동작은 "제1자 시그널링"이라 하고 인터페이스 D로 도시된다. 이 동작은 컨퍼런스에서 다른 참가자의 상태에 영향을 미치지 않는다.
SIP를 사용하여 포커스를 통해 다른 컨퍼런스 참가자를 제어 ("제3자 제어")하는 제한된 동작이 또한 얻어질 수 있다. 더 풍부한 컨퍼런스 제어를 수행하기 위해 사용자 클라이언트는 CCCP 클라이언트를 구현할 수 있다. 인터페이스 B를 통해 CCCP를 이용하여, 클라이언트는 자신의 상태, 다른 참가자들의 상태, 및 컨퍼런스 참가자들의 상태에 간접적으로 영향을 미칠 수 있는 포커스/MCU의 상태에 영향을 미칠 수 있다. CCCP를 이용한 컨퍼런스 제어는 컨퍼런스 상태에서 논리적으로 수행된다. CCCP 요청을 이용하여, 클라이언트는 어떻게 자신이 컨퍼런스 상태를 보고 싶은지 표현한다. CCCP 서버는 동작을 수행하고 변화를 반영하기 위해 자신 의 "마스터" 컨퍼런스 상태를 업데이트한다.
일예로 "특정 참가자의 특정 미디어를 대기상태 (on-hold)로 두기" 요청을 보자. 클라이언트가 이 동작을 요청하기 위해, 그것은 우선 자신의 활성 스트림과 함께 특별한 참가자에 대해 알 필요가 있고 그후 CCCP를 이용하여 이 참가자 및 특정 스트림으로 명시적으로 지시할 필요가 있다. 이 포커스는 그 통지에서 풍부한 상태 정보를 충분히 제공하여 클라이언트가 컨퍼런싱 시스템에 대한 명시적인 제어 명령을 발할 수 있도록 한다. 포커스 최종 응답은 동작의 상태를 포함하고 컨퍼런스 상태의 영향받은 일부를 포함할 수 있다. 설명된 CCCP 트랜잭션과 상관없이, 자신들의 권한을 조건으로하여, 컨퍼런스 상태 변화가 컨퍼런스 상태 패키지에 신청된 사용자들에게 보고될 수 있음에 유의한다.
포커스는 MCU 팩토리를 이용하여 새로운 컨퍼런스를 생성한다. 포커스는 각각에 대한 대응하는 URI, 지원된 미디어 유형, 및 제어 URI와 함께 시스템 또는 풀에서 이용가능한 MCU 팩토리의 리스트를 포함한다. 각 MCU 팩토리는 지원된 미디어 유형을 갖는 MCU들의 논리적 집합을 나타내고 여기서 새로운 컨퍼런스가 할당될 수 있다. 새로운 컨퍼런스를 할당하기 위해, 포커스는 테이블로부터 하나의 호환가능한 MCU 팩토리를 선택하고 "getMcu" CCCP 프리미티브 요청을 자신의 제어 URI로 발행한다 (인터페이스 F를 통해). MCU를 선택하라는 CCCP 요청은 바라는 컨퍼런스 설명 및 능력을 설명하는 컨퍼런스 오브젝트를 포함할 수 있다. 성공적인 응답은 CCCP 요청이 어드레스되는 MCU 제어 URI를 포함한다. 실패의 경우, 포커스는 다른 호환가능한 MCU 팩토리를 시도할 것이다. MCU 팩토리 제어 URI 및 MCU 제어 URI는 MCU 팩토리 구현을 조건으로 동일한 또는 서로 다른 URI일 수 있음에 유의한다. 설명된 분해는 아키텍처에 영향을 미치치 않은 채 자신의 MCU 팜(farm)을 위한 부하 균형 (또는 다른 종류의 논리)을 구현하는 각 MCU 판매자를 허용한다.
주요 포커스와 각 MCU 사이의 제어 인터페이스 (인터페이스 B*)는 포커스로부터의 요청을 발행하기 위한 것이고, CCCP를 이용하여 구현될 수 있다. 이 인터페이스를 통해, 포커스는 CCCP 클라이언트로서 작용하고 MCU는 CCCP 서버로서 작용한다.
인터페이스의 간단한 요약이 아래에 제공된다. 인터페이스 A는 애드-혹 컨퍼런스 생성을 위한 SIP 인터페이스이고, 인터페이스 B는 cc-컨퍼런싱 (제1자 및 제한된 제3자) 및 SIP를 통한 CCCP를 위한 것이고, 인터페이스 B*는 HTTP를 통한 CCCP를 위한 것이고, 인터페이스 B**는 SIP를 통한 CCCP 터널링을 위한 것이고, 인터페이스 B***는 SIP를 통한 SIP-CX를 위한 것이고, 인터페이스 C는 SIP를 통한 컨퍼런스 패키지의 SUBSCRIBE/NOTIFY를 위한 것이고, 인터페이스 C*는 HTTP를 통한 컨퍼런스 패키지 XML 이벤트를 위한 것이고, 인터페이스 C**는 SIP를 통해 터널링된 컨퍼런스 패키지 XML 이벤트를 위한 것이고, 인터페이스 C***는 SIP-CX에서 처럼 컨퍼런스 패키지 XML 이벤트를 위한 것이고, 인터페이스 D는 SIP-제1자 만을 위한 것이고, 인터페이스 F는 컨퍼런스 생성/할당 만을 위한 HTTP를 통한 CCCP를 위한 것 이고, 인터페이스 L은 데이터 프로토콜 (데이터 및 제1자 시그널링)을 위한 것이고, 인터페이스 M은 미디어 (예컨대, 음성 및 비디오를 위한 RTP/RTPC)를 위한 것이고, 인터페이스 P는 포커스 팩토리와 포커스 사이의 통신을 위한 것이다.
이 애플리케이션에서 사용된 바와 같이, "구성요소(component)" 및 "시스템"이라는 용어는 컴퓨터 관련 엔터티를 가리키려는 것으로, 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행 소프트웨어이다. 예컨대, 일 구성요소는 프로세서에서 실행되는 프로세스, 프로세서, 하드 디스크 드라이브, 다중 저장 장치 (광학 및/또는 자기 저장 매체의), 개체, 실행, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이에 한정되는 것은 아니다. 일예로, 서버에서 실행되는 애플리케이션 및 서버가 구성요소일 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 일 구성요소는 한 컴퓨터에 국부적으로 위치하거나 및/또는 둘 이상의 컴퓨터 사이에 분산될 수 있다.
도 27을 참조하면, 개시된 아키텍처에 따라 집중화되고 분산된 컨퍼런싱을 실행하도록 동작가능한 컴퓨터의 블록도이다. 다양한 양태에 대한 추가적인 컨텍스트를 제공하기 위해, 도 27 및 이하의 논의는 본 발명의 다양한 양태가 구현될 수 있는 적절한 컴퓨팅 환경(2700)의 간단하고 일반적인 설명을 제공하는 것이다. 상기 설명이 하나 이상의 컴퓨터에서 실행될 수 있는 컴퓨터 실행 명령의 일반적인 컨텍스트로 되어 있지만, 당업자라면 본 발명이 다른 프로그램 모듈과 조합하여 및/또는 하드웨어 및 소프트웨어의 조합으로서 구현될 수 있음을 인식할 것이다.
일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 구성요소, 데이터 구조 등을 포함한다. 또한, 당업자라면 본 발명의 방법은 싱글 프로세서 또는 멀티 프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 개인용 컴퓨터, 휴대용 컴퓨팅 장치, 마이크로프로세서 기반 또는 프로그래머블 컨수머 전자장치 등을 포함한 다른 컴퓨터 시스템 구성으로 실시될 수 있고, 이들 각각은 하나 이상의 연관된 장치에 연동될 수 있음을 인식할 것이다.
본 발명의 도시된 양태는 분산 컴퓨팅 환경에서 실시될 수 있고 여기서 임의의 태스크는 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 수행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
컴퓨터는 일반적으로 다양한 컴퓨터 판독 매체를 포함한다. 컴퓨터 판독 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고 휘발성 및 비휘발성 매체, 이동식 및 고정식 매체를 포함한다. 일예로, 이에 한정되는 것은 아니지만, 컴퓨터 판독 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 고정식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 비디오 디스크 (DVD) 또는 다른 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 미디어를 포함하지만 이에 한정되는 것은 아니다.
도 27을 참조하면, 다양한 양태를 구현하는 바람직한 환경(2700)은 컴퓨터(2702)를 포함하는데, 이 컴퓨터(2702)는 처리 유닛(2704), 시스템 메모리(2706), 및 시스템 버스(2708)를 포함한다. 시스템 버스(2708)는 시스템 메모리(2706)를 포함하지만 이에 한정되지 않는 시스템 구성요소들을 처리 유닛(2704)과 연결한다. 처리 유닛(2704)은 임의의 다양한 상용적으로 이용가능한 프로세서일 수 있다. 듀얼 마이크로프로세서 및 다른 멀티 프로세서 아키텍처는 처리 유닛(2704)으로서 사용될 수 있다.
시스템 버스(2708)는 메모리 버스 (메모리 제어기 포함 또는 비포함), 주변 버스, 및 임의의 다양한 상용적으로 이용가능한 버스 아키텍처를 이용한 로컬 버스에 더 상호연결할 수 있는 임의의 몇개의 버스 구조 종류일 수 있다. 시스템 메모리(2706)는 ROM(2710) 및 RAM(2712)을 포함한다. BIOS (basic input/output system)는 ROM, EPROM, EEPROM과 같은 비휘발성 메모리(2710)에 저장되고, BIOS는 예컨대 기동 동안에 컴퓨터(2702) 내의 요소들 사이에서 정보를 전송하는 것을 돕는 기본 루틴을 포함한다. RAM(2712)은 데이터를 캐싱하기 위한 스태틱 RAM과 같은 고속 RAM을 포함할 수 있다.
컴퓨터(2702)는 내부 하드 디스크 드라이브 (HDD)(2714) (예컨대, EIDE, SATA), 자기 플로피 디스크 드라이브 (FDD)(2716) (예컨대, 이동식 디스켓(2718)로부터 판독 또는 기입) 및 광 디스크 드라이브(2720) (예컨대, CD-ROM 디스크(2722) 판독 또는 DVD와 같은 다른 고용량 광 미디어로부터 판독 또는 기입)를 더 포함하고, 상기 내부 하드 디스크 드라이브(2714)는 적절한 섀시 (도시되지 않음)에 외부 사용을 위해 구성될 수도 있다. 하드 디스크 드라이브(2714), 자기 디스크 드라이브(2716), 및 광 디스크 드라이브(2720)는 각각 하드 디스크 드라이브 인터페이스(2724), 자기 디스크 드라이브 인터페이스(2726), 및 광 드라이브 인터페이스(2728)에 의해 시스템 버스(2708)에 연결될 수 있다. 외부 드라이브 구현을 위한 인터페이스(2724)는 USB 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 모두를 포함한다. 다른 외부 드라이브 연결 기술은 본 발명의 범위 내에 있다.
드라이브 및 이와 연관된 컴퓨터 판독 미디어는 데이터, 데이터 구조, 컴퓨터 실행 명령 등의 비휘발성 저장을 제공한다. 컴퓨터(2702)에 대해, 드라이브 및 미디어는 적절한 디지털 포맷으로 임의의 데이터의 저장을 수용한다. 상기 컴퓨터 판독 매체의 설명이 HDD, 이동식 자기 디스켓, 및 CD 또는 DVD와 같은 이동식 광 미디어를 가리키지만, 집(zip) 드라이브, 자기 카세트, 플래시 메모리 카드, 카트리지 등과 같은 컴퓨터에 의해 판독가능한 다른 종류의 매체가 바람직한 운영 환경에서 사용될 수 있고 또한 임의의 이러한 매체는 개시된 발명의 방법을 수행하는 컴퓨터 실행 명령을 포함할 수 있음을 당업자라면 이해할 것이다.
운영 시스템(2730), 하나 이상의 애플리케이션 프로그램(2732), 다른 프로그램 모듈(2734) 및 프로그램 데이터(2736)를 포함하는 다수의 프로그램 모듈은 드라이브 및 RAM(2712)에 저장될 수 있다. 운영 시스템, 애플리케이션, 모듈 및/또는 데이터의 모든 또는 일부가 RAM(2712)에 캐시될 수 있다. 본 발명은 다양한 상용 적으로 이용가능한 운영 시스템 또는 운영 시스템의 조합으로 구현될 수 있다.
사용자는 하나 이상의 유/무선 입력 장치, 예컨대 키보드(2738), 및 마우스(2740)와 같은 포인팅 장치를 통해 컴퓨터(2702)로 명령 및 정보를 입력할 수 있다. 다른 입력 장치 (도시되지 않음)는 마이크로폰, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린 등을 포함할 수 있다. 상기 및 다른 입력 장치는 흔히 시스템 버스(2708)에 연결된 입력 장치 인터페이스(2742)를 통해 처리 유닛(2704)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같은 다른 인터페이스에 의해 연결될 수 있다.
모니터(2744) 또는 다른 종류의 디스플레이 장치는 비디오 어댑터(2746)와 같은 인터페이스를 통해 시스템 버스(2708)에 연결된다. 모니터(2744) 외에, 컴퓨터는 일반적으로 스피커, 프린터 등과 같은 다른 주변 출력 장치 (도시되지 않음)를 포함한다.
컴퓨터(2702)는 원격 컴퓨터(2748)와 같은 하나 이상의 원격 컴퓨터로의 유선 및/또는 무선 통신을 통한 논리적 연결을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(2748)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서 기반 오락 기기, 피어(peer) 장치 또는 다른 공통 네트워크 노드일 수 있고, 간단히 하기 위해 메모리/저장 장치(2750)만이 도시되었지만 일반적으로 컴퓨터(2702)에 대해 설명된 많은 또는 모든 요소들을 포함한다. 도시된 논리적 연결은 LAN(2752) 및/또는 더 큰 네트워크, 예컨대 WAN(2754)으로의 유/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 흔한 것이고, 인트라넷과 같은 기업형 컴퓨터 네트워크를 용이하게 하여, 모든 것이 전세계 통신 네트워크, 예컨대 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(2702)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(2756)를 통해 로컬 네트워크(2752)에 연결된다. 어댑터(2756)는 LAN(2752)으로의 유선 또는 무선 연결을 용이하게 할 수 있고, 이것은 또한 무선 어댑터(2756)와 통신하기 위해 배치된 무선 액세스 포인트를 포함할 수 있다.
WAN 네트워킹 환경에서 사용될 때, 컴퓨터(2702)는 모뎀(2758)을 포함할 수 있고, 또는 WAN(2754) 상에서 통신 서버에 연결되고, 또는 예컨대 인터넷을 통해 WAN(2754)을 통해 통신을 확립하는 다른 수단을 갖는다. 내부 또는 외부용 및 유선 또는 무선 장치일 수 있는 모뎀(2758)은 직렬 포트 인터페이스(2742)를 통해 시스템 버스(2708)에 연결된다. 네트워크 환경에서, 컴퓨터(2702) 또는 그 일부와 관련하여 도시된 프로그램 모듈은 원격 메모리/저장 장치(2750)에 저장될 수 있다. 도시된 네트워크 연결은 예시적인 것이며 컴퓨터들 사이의 통신 링크를 확립하는 다른 수단이 사용될 수 있음은 물론이다.
컴퓨터(2702)는, 예컨대 프린터, 스캐너, 데스크탑 및/또는 휴대용 컴퓨터, 휴대용 데이터 보조수단, 통신 위성, 무선 탈착가능한 태그 (예컨대, 키오스크, 가판대, 화장실)와 연관된 임의의 장치나 위치, 및 전화와 같은, 무선 통신으로 동작가능하게 배치된 임의의 무선 장치 또는 엔터티와 통신하도록 동작가능하다. 이것 은 적어도 Wi-Fi 및 BluetoothTM 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크를 이용한 소정의 구조일 수 있고 또는 단순히 적어도 두개의 장치 사이의 애드 혹 통신일 수 있다.
도 28을 참조하면, 분산 미디어 컨퍼런싱을 용이하게 하는 바람직한 컴퓨팅 환경(2800)의 블록도를 도시한다. 이 시스템(2800)은 하나 이상의 클라이언트(2802)를 포함한다. 클라이언트(2802)는 하드웨어 및/또는 소프트웨어 (예컨대, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 클라이언트(2802)는 예컨대 본 발명을 사용함으로써 쿠키 및/또는 연관된 컨텍스트 정보를 수용할 수 있다.
이 시스템(2800)은 또한 하나 이상의 서버(2804)를 포함한다. 서버(2804)는 또한 하드웨어 및/또는 소프트웨어 (예컨대, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버(2804)는 예컨대 상기 아키텍처를 사용함으로써 변환을 수행할 스레드를 수용할 수 있다. 클라이언트(2802)와 서버(2804) 사이의 한가지 가능한 통신은 둘 이상의 컴퓨터 프로세스 사이에서 전송되도록 적용된 데이터 패킷의 형태로 이루어질 수 있다. 이 데이터 패킷은 예컨대 쿠키 및/또는 연관된 컨텍스트 정보를 포함할 수 있다. 이 시스템(2800)은 클라이언트(2802)와 서버(2804) 사이의 통신을 용이하게 하도록 사용될 수 있는 통신 프레임워크(2806) (예컨대, 인터넷과 같은 전세계적 통신 네트워크)를 포함한다.
통신은 유선 (광 화이버 포함) 및/또는 무선 기술을 통해 용이해질 수 있다. 클라이언트(2802)는 클라이언트(2802)에 국부적인 정보 (예컨대, 쿠키 및/또는 연 관된 컨텍스트 정보)를 저장하기 위해 사용될 수 있는 하나 이상의 클라이언트 데이터 저장소(2808)에 연동된다. 마찬가지로, 서버(2804)는 서버(2804)에 국부적인 정보를 저장하기 위해 사용될 수 있는 하나 이상의 서버 데이터 저장소(2810)에 연동된다.
앞서 설명된 내용은 개시된 발명의 예들을 포함한다. 물론, 구성요소들 및/또는 방법들의 모든 가능한 조합을 설명하는 것이 가능하지 않지만, 당업자라면 더 많은 조합 및 치환이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 첨부된 청구범위의 사상 및 범위에 속하는 이러한 모든 변경, 수정 및 변형을 포함하는 것이다. 또한, "포함한다(includes)"는 용어가 상세한 설명이나 청구범위에서 사용되는 한에서는, 이러한 용어는 "포함(comprising)"이 청구항의 전이구로서 사용될 때 해석되는 바와 같이 "포함(comprising)"이라는 용어와 유사한 방식으로 포괄적인 것이다.
Claims (21)
- 컴퓨터 구현 컨퍼런싱 시스템으로서,명령어를 저장하는 저장 장치와,상기 명령어를 액세스하고 실행하는 제어 유닛 - 상기 제어 유닛에 의한 상기 명령어의 실행은 상기 컨퍼런싱 시스템으로 하여금 클라이언트에 의해 전송된 컨퍼런스 설정 요청(conference set-up request)에 응답하여 컨퍼런스 제어 컴포넌트를 제공하도록 함 -을 포함하되,상기 컨퍼런스 제어 컴포넌트는상기 클라이언트로부터 상기 컨퍼런스 설정 요청을 수신하여 컨퍼런스 세션을 생성하고,상기 요청을 수신하여 상기 컨퍼런스 세션을 생성한 후, 상기 컨퍼런스 세션의 미디어를 상기 클라이언트로 제공하는 분산 미디어 컴포넌트를 상기 컨퍼런스 세션에 할당하며,상기 컨퍼런스 제어 컴포넌트가 상기 분산 미디어 컴포넌트를 상기 컨퍼런스 세션에 할당한 후, 상기 분산 미디어 컴포넌트의 URI(uniform resource identifier)를 상기 클라이언트에게 리턴하고,상기 컨퍼런스 세션에 할당된 분산 미디어 컴포넌트 집합으로부터의 각 분산 미디어 컴포넌트에 대한 개별 상태 정보를 수신하며,상기 컨퍼런스 세션에 할당된 상기 분산 미디어 컴포넌트 집합으로부터의 상기 각 분산 미디어 컴포넌트에 대한 상기 개별 상태 정보를 모아서, 모아진 상태 정보를 생성하고,상기 컨퍼런스 세션의 각 클라이언트에게 상기 모아진 상태 정보를 배포하도록 구성되는컨퍼런싱 시스템.
- 제1항에 있어서,상기 분산 미디어 컴포넌트는 데이터, 오디오 신호, 비디오 신호 및 인스턴트 메시징 신호 중 적어도 하나를 수용하는 멀티포인트 제어 유닛인컨퍼런싱 시스템.
- 제1항에 있어서,상기 세션으로의 신청(subscription)을 수락하고 상기 세션과 연관된 상태의 변화를 통지하기 위한 통지 컴포넌트를 더 포함하는 컨퍼런싱 시스템.
- 제1항에 있어서,상기 컨퍼런스 제어 컴포넌트는 상기 컨퍼런스 세션의 동작(operation)을 유지하는 정책 및 로스터 컴포넌트(policy and roster component)를 제공하고 참가자(participant)로 하여금 상기 컨퍼런스 세션에 참가(join)하도록 허용하는컨퍼런싱 시스템.
- 제1항에 있어서,상기 컨퍼런스 제어 컴포넌트는 참가자 아이덴터티 정보에 기초하여 상기 컨퍼런스 세션으로의 액세스를 제한함으로써 상기 컨퍼런스 세션에 보안을 부과하는 인증 컴포넌트를 제공하는컨퍼런싱 시스템.
- 제1항에 있어서,상기 컨퍼런스 제어 컴포넌트는 상기 분산 미디어 컴포넌트를 상기 컨퍼런스 세션에 할당하는 할당 컴포넌트를 제공하는컨퍼런싱 시스템.
- 제1항에 있어서,상기 컨퍼런스 제어 컴포넌트는 상기 컨퍼런스 세션을 스케줄링하는 스케줄링 컴포넌트를 제공하는컨퍼런싱 시스템.
- 제1항에 있어서,각각이 상기 컨퍼런스 세션의 인스턴스를 실행하는 프론트엔드 서버들의 컨퍼런싱 풀(conferencing pool)을 포함하고, 상기 프론트엔드 서버들의 풀은 상기 제어 유닛을 포함하며, 상기 클라이언트는 상기 컨퍼런스 세션에 액세스하기 위해 상기 프론트엔드 서버들 중 하나에 액세스하는컨퍼런싱 시스템.
- 제8항에 있어서,상기 프론트엔드 서버들의 컨퍼런싱 풀은 상기 프론트엔드 서버들 사이에서 세션 부하의 균형을 맞추는 부하 균형기(load balancer)를 포함하는컨퍼런싱 시스템.
- 다자간 컨퍼런스(multiparty conference)를 관리하는 방법으로서,컨퍼런스 세션을 생성하기 위해 세션 참가자로부터 요청을 수신하는 단계와,상기 요청에 응답하여 컨퍼런스 제어 컴포넌트를 제공하는 단계를 포함하되,상기 컨퍼런스 제어 컴포넌트는상기 요청에 응답하여 상기 컨퍼런스 세션을 생성 및 구성하고,상기 요청을 수신한 후, 상기 세션 참가자에 의한 미디어 액세스를 위해 분산 멀티포인트 제어 유닛(MCU)들의 이용가능성을 평가하며,상기 분산 MCU들의 이용가능성을 평가한 후, 상기 세션 참가자에 의한 세션 액세스를 위해 상기 분산 MCU들 중에서 이용가능한 MCU를 상기 컨퍼런스 세션에 할당하고,상기 이용가능한 MCU를 상기 컨퍼런스 세션에 할당한 후, 상기 이용가능한 MCU의 URI(uniform resource identifier)를 상기 세션 참가자에게 리턴하며,상기 컨퍼런스 세션으로의 참가자 액세스를 인증하고,상기 컨퍼런스 세션에 할당된 상기 분산 MCU들 중의 각 MCU에 대한 개별 상태 정보를 수신하며,상기 컨퍼런스 세션에 할당된 상기 MCU들에 대한 상기 개별 상태 정보를 모아서, 모아진 상태 정보를 생성하고,상기 컨퍼런스 세션의 각 클라이언트에게 상기 모아진 상태 정보를 배포하도록 구성되는다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,상기 컨퍼런스 세션의 상태 정보를 데이터베이스에서 유지하는 단계를 더 포함하는다자간 컨퍼런스 관리 방법.
- 삭제
- 제10항에 있어서,세션 참가자들의 변화에 기초하여 세션 로스터(roster)를 업데이트하는 단계를 더 포함하는 다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,URI 어드레스를 상기 각 MCU와 연관시키는 단계를 더 포함하되,상기 세션 참가자는 상기 MCU 중 하나를 통해 상기 컨퍼런스 세션에 액세스하는다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,상기 요청은 세션 개시 프로토콜(session initiation protocol: SIP) 요청인다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,상기 이용가능한 MCU를 상기 컨퍼런스 세션으로 부트스트래핑(bootstrapping)하는 단계를 더 포함하는 다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,MCU URI로의 다이얼-인, MCU URI를 이용한 다이얼-아웃, 또는 상기 이용가능한 MCU로부터 상기 MCU URI로의 직접적인 인바이트(invite)를 이용하여 상기 이용가능한 MCU에 참가하는 단계를 더 포함하는 다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,다른 참가자로의 애드 혹 인비테이션(ad hoc invitation)을 개시하는 단계를 더 포함하는 다자간 컨퍼런스 관리 방법.
- 제10항에 있어서,상기 컨퍼런스 제어 컴포넌트를 통해 상기 컨퍼런스 세션의 싱글 컨퍼런스 뷰(single conference view)를 제시하는 단계를 더 포함하는 다자간 컨퍼런스 관리 방법.
- 적어도 하나의 프로세서에 의해 실행될 때 방법을 수행하는 컴퓨터 실행가능한 명령어를 인코딩하는 저장 장치로서, 상기 방법은클라이언트에 의해 전송된 컨퍼런스 설정 요청(conference set-up request)에 응답하여 중앙집중형 컨퍼런스 제어 컴포넌트를 제공하는 단계를 제공하되,상기 컨퍼런스 제어 컴포넌트는컨퍼런스 세션을 개시하기 위한 상기 컨퍼런스 설정 요청을 상기 클라이언트로부터 수신하고,상기 요청을 수신하는 것에 응답하여 상기 컨퍼런스 세션에 대한 컨퍼런스 인스턴스를 생성하며,상기 요청에 대한 응답으로서 상기 클라이언트에게 상기 컨퍼런스 세션의 주소를 생성 및 전송하고,상기 요청을 수신한 후, 분산 MCU를 상기 컨퍼런스 세션으로 할당하며 - 상기 컨퍼런스 제어 컴포넌트는 상기 분산 MCU에 의해 제공되는 미디어 유형의 이용가능성에 기초하여 상기 분산 MCU를 상기 컨퍼런스 세션으로 할당함 -,상기 컨퍼런스 제어 컴포넌트가 상기 MCU를 상기 컨퍼런스 세션에 할당한 후, 상기 분산 MCU의 URI(uniform resource identifier)를 상기 클라이언트에게 리턴하고,상기 컨퍼런스 세션 동안 컨퍼런스 상태를 관리하며,상기 컨퍼런스 세션에 할당된 분산 MCU들 집합으로부터의 각 MCU에 대한 개별 상태 정보를 수신하고,상기 컨퍼런스 세션에 할당된 상기 분산 MCU들 집합으로부터의 각 MCU에 대한 개별 상태 정보를 모아서, 모아진 상태 정보를 생성하며,상기 컨퍼런스 세션의 각 신청된(subscribed) 클라이언트에게 상기 모아진 상태 정보를 배포하도록 구성되는저장 장치.
- 제10항에 있어서,클라이언트에 의한 상기 컨퍼런스 세션으로의 신청(subscription)을 수락하는 단계와,신청된 클라이언트에게 상기 컨퍼런스 세션과 연관된 상태의 변화를 통지하는 단계를 더 포함하는 다자간 컨퍼런스 관리 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/522,024 | 2006-09-15 | ||
US11/522,024 US8817668B2 (en) | 2006-09-15 | 2006-09-15 | Distributable, scalable, pluggable conferencing architecture |
PCT/US2007/077665 WO2008033706A1 (en) | 2006-09-15 | 2007-09-05 | Distributable, scalable, pluggable conferencing architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090052869A KR20090052869A (ko) | 2009-05-26 |
KR101424301B1 true KR101424301B1 (ko) | 2014-08-01 |
Family
ID=39184114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097005060A KR101424301B1 (ko) | 2006-09-15 | 2007-09-05 | 분산형의 스케일러블 플러그형 컨퍼런싱 아키텍처를 위한 컴퓨터 구현 컨퍼런싱 시스템 및 방법, 및 컴퓨터 실행가능한 컨퍼런싱 시스템 |
Country Status (11)
Country | Link |
---|---|
US (1) | US8817668B2 (ko) |
EP (1) | EP2067302B1 (ko) |
JP (1) | JP5337698B2 (ko) |
KR (1) | KR101424301B1 (ko) |
CN (2) | CN102904733B (ko) |
AU (1) | AU2007296792B2 (ko) |
BR (1) | BRPI0714703A2 (ko) |
CA (1) | CA2660874C (ko) |
MX (1) | MX2009002288A (ko) |
RU (2) | RU2459371C2 (ko) |
WO (1) | WO2008033706A1 (ko) |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1985093A1 (fr) * | 2006-02-15 | 2008-10-29 | France Télécom | Procédé et dispositif de gestion d'au moins un groupe d'utilisateurs, produit programme d'ordinateur correspondant |
US9094520B2 (en) * | 2007-01-08 | 2015-07-28 | Cisco Technology, Inc. | Reconferencing capability for networked phones |
US8682975B2 (en) * | 2007-03-02 | 2014-03-25 | Solacom Technologies Inc | System and method for identity managed collaboration |
US8103782B2 (en) * | 2007-03-30 | 2012-01-24 | Societe de Commercialisation des Produits de la Recherche Appliquee—SOCPRA, Sciences et Genie, S.E.C. | Session mobility in a full-mesh conference using session initiation protocol |
US8732236B2 (en) * | 2008-12-05 | 2014-05-20 | Social Communications Company | Managing network communications between network nodes and stream transport protocol |
US9369294B2 (en) * | 2007-12-14 | 2016-06-14 | Telecommunication Systems, Inc. | Reverse 911 using multicast session internet protocol (SIP) conferencing of voice over internet protocol (VoIP) users |
US20090168778A1 (en) * | 2007-12-28 | 2009-07-02 | Zulfiqar Ahmed | Extending communication protocols |
EP2272204B1 (en) * | 2008-04-21 | 2018-12-26 | Syngrafii Inc. | System, method and computer program for conducting transactions remotely |
US20110069141A1 (en) * | 2008-04-30 | 2011-03-24 | Mitchell April S | Communication Between Scheduled And In Progress Event Attendees |
KR101519935B1 (ko) * | 2008-04-30 | 2015-05-14 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 이벤트 관리 시스템 |
CN101610324A (zh) * | 2008-06-18 | 2009-12-23 | 深圳华为通信技术有限公司 | 提示呼叫进展状态的方法、会议控制设备以及会议系统 |
US8208000B1 (en) | 2008-09-09 | 2012-06-26 | Insors Integrated Communications | Methods, systems and program products for managing video conferences |
US8166184B2 (en) * | 2008-09-26 | 2012-04-24 | Microsoft Corporation | Integrating enterprise identity authorization in conferences |
US20110179157A1 (en) * | 2008-09-26 | 2011-07-21 | Ted Beers | Event Management System For Creating A Second Event |
US20100091687A1 (en) * | 2008-10-15 | 2010-04-15 | Ted Beers | Status of events |
US8849972B2 (en) | 2008-11-25 | 2014-09-30 | Polycom, Inc. | Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port |
KR20130010910A (ko) | 2008-12-05 | 2013-01-29 | 소우셜 커뮤니케이션즈 컴퍼니 | 실시간 커널 |
US9069851B2 (en) | 2009-01-15 | 2015-06-30 | Social Communications Company | Client application integrating web browsing and network data stream processing for realtime communications |
US8112480B2 (en) * | 2009-01-16 | 2012-02-07 | Microsoft Corporation | Signaling support for sharer switching in application sharing |
US8301879B2 (en) * | 2009-01-26 | 2012-10-30 | Microsoft Corporation | Conversation rights management |
US20100205540A1 (en) * | 2009-02-10 | 2010-08-12 | Microsoft Corporation | Techniques for providing one-click access to virtual conference events |
US7941551B2 (en) | 2009-02-25 | 2011-05-10 | Microsoft Corporation | Tunneling of remote desktop sessions through firewalls |
US20100220634A1 (en) * | 2009-02-27 | 2010-09-02 | Douglas Gisby | Systems and methods for facilitating conference calls using security tokens |
US8290135B2 (en) | 2009-02-27 | 2012-10-16 | Research In Motion Limited | Systems and methods for facilitating conference calls using security keys |
US20100235446A1 (en) * | 2009-03-16 | 2010-09-16 | Microsoft Corporation | Techniques to make meetings discoverable |
CN101594512B (zh) * | 2009-06-30 | 2012-01-18 | 中兴通讯股份有限公司 | 实现高清多画面的终端、多点控制单元、系统及方法 |
US8169936B2 (en) | 2009-12-22 | 2012-05-01 | Motorola Solutions, Inc. | Decoupled cascaded mixers architechture and related methods |
EP2339812B1 (en) * | 2009-12-23 | 2014-04-09 | BlackBerry Limited | Method for designating of hosting control for a conference call |
US8520822B2 (en) | 2009-12-23 | 2013-08-27 | Blackberry Limited | Method for designating of hosting control for a conference call |
US8275843B2 (en) | 2010-03-12 | 2012-09-25 | Microsoft Corporation | Collaborative conference experience improvement |
US8875031B2 (en) * | 2010-05-12 | 2014-10-28 | Blue Jeans Network, Inc. | Systems and methods for shared multimedia experiences in virtual videoconference rooms |
US8290128B2 (en) * | 2010-06-10 | 2012-10-16 | Microsoft Corporation | Unified communication based multi-screen video system |
EP2424237A1 (en) * | 2010-08-27 | 2012-02-29 | Televic Conference NV | Device for use in a digital conference system |
JP5899710B2 (ja) * | 2010-09-06 | 2016-04-06 | 株式会社リコー | 伝送システム |
US20120062687A1 (en) * | 2010-09-13 | 2012-03-15 | Polycom, Inc. | Systems and methods for scheduling shared program content videoconferencing |
US8705410B2 (en) * | 2010-09-30 | 2014-04-22 | Avaya Inc. | Global conference roster for distributed bridges |
WO2012060747A1 (en) * | 2010-11-03 | 2012-05-10 | Telefonaktiebolaget L M Ericsson (Publ) | Signalling gateway, method, computer program and computer program product for communication between http and sip |
US8712391B2 (en) * | 2010-12-08 | 2014-04-29 | Qualcomm Incorporated | Client-managed group communication sessions within a wireless communications system |
CN102025971A (zh) * | 2010-12-15 | 2011-04-20 | 广东威创视讯科技股份有限公司 | 一种视频会议媒体服务器资源的动态分配方法 |
US8300790B2 (en) | 2010-12-27 | 2012-10-30 | Avaya Inc. | Method and system for automatic conference call session migration |
CN102136920B (zh) * | 2010-12-28 | 2013-11-06 | 华为技术有限公司 | 网络会议的方法和装置 |
EP2487859B1 (en) * | 2011-02-10 | 2014-04-30 | BlackBerry Limited | Method for authenticating client devices for a conference call |
US8698872B2 (en) * | 2011-03-02 | 2014-04-15 | At&T Intellectual Property I, Lp | System and method for notification of events of interest during a video conference |
US9235826B1 (en) | 2011-06-16 | 2016-01-12 | Google Inc. | Managing delayed participation in a communication session |
US8711202B2 (en) | 2011-07-26 | 2014-04-29 | Lifesize Communications, Inc. | Performing failover for a plurality of different types of videoconferencing devices |
US20130061153A1 (en) * | 2011-09-07 | 2013-03-07 | Avaya Inc. | System and Method for Inserting a Control System Into a Conference |
WO2013067692A1 (zh) * | 2011-11-09 | 2013-05-16 | 华为技术有限公司 | 一种多会议系统互通的方法及系统 |
JP5327917B2 (ja) * | 2012-02-27 | 2013-10-30 | Necインフロンティア株式会社 | 電子会議システム、帯域管理方法および帯域管理プログラム |
US20140006977A1 (en) * | 2012-03-30 | 2014-01-02 | Karriem Lateff Adams | Integrated social network internet operating system and management interface |
US9083771B2 (en) * | 2012-06-21 | 2015-07-14 | Ibasis, Inc. | System and methods for multi-participant teleconferencing using preferred forms of telecommunication |
US10601880B2 (en) * | 2015-07-17 | 2020-03-24 | Avaya Inc. | Conference reconstruction in SIP networks |
US10742692B2 (en) | 2012-08-09 | 2020-08-11 | Avaya Inc. | Snap-in invocation for call reconstruction |
CN103634562B (zh) * | 2012-08-24 | 2017-08-29 | 中国电信股份有限公司 | 用于视频会议的数据传送方法和系统 |
WO2014062509A1 (en) | 2012-10-18 | 2014-04-24 | Dolby Laboratories Licensing Corporation | Systems and methods for initiating conferences using external devices |
US20140122600A1 (en) * | 2012-10-26 | 2014-05-01 | Foundation Of Soongsil University-Industry Cooperation | Conference server in a system for providing a conference service in rtcweb |
FR2998995A1 (fr) * | 2012-12-03 | 2014-06-06 | France Telecom | Procede de communication entre plusieurs utilisateurs munis de terminaux de communication, par l'intermediaire d'une espace virtuel de communication |
WO2014092441A1 (en) | 2012-12-13 | 2014-06-19 | Samsung Electronics Co., Ltd. | Device control method for registering device information of peripheral device, and device and system thereof |
KR101881926B1 (ko) * | 2012-12-13 | 2018-07-26 | 삼성전자주식회사 | 주변 기기의 디바이스 정보를 등록하기 위한 디바이스 제어 방법, 디바이스 및 그 시스템 |
US9559939B2 (en) * | 2013-03-15 | 2017-01-31 | Genesys Telecommunications Laboratories, Inc. | System and method for handling resource failure in a hybrid contact center operations environment |
US9591137B2 (en) | 2013-03-15 | 2017-03-07 | Genesys Telecommunications Laboratories, Inc. | System and method for providing contact center services in a hybrid operations environment |
US10277741B2 (en) | 2013-03-15 | 2019-04-30 | Genesys Telecommunications Laboratories, Inc. | System and method for transmitting signaling and media from a hybrid contact center operations environment |
US10154143B2 (en) | 2013-03-15 | 2018-12-11 | Genesys Telecommunications Laboratories, Inc. | System and method for dynamically selecting a dial plan |
US9948782B2 (en) | 2013-03-15 | 2018-04-17 | Genesys Telecommunications Laboratories, Inc. | Hybrid cloud architecture with optimized local delivery |
CN103281315A (zh) * | 2013-05-13 | 2013-09-04 | 南昊(北京)科技有限公司 | 电子白板及其交互方法 |
US9065969B2 (en) * | 2013-06-30 | 2015-06-23 | Avaya Inc. | Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media |
CN103369292B (zh) * | 2013-07-03 | 2016-09-14 | 华为技术有限公司 | 一种呼叫处理方法及网关 |
CN103532829A (zh) * | 2013-09-03 | 2014-01-22 | 国家电网公司 | 一种基于xmpp协议的即时通信系统电子白板接入方法 |
US20150092615A1 (en) * | 2013-10-02 | 2015-04-02 | David Paul Frankel | Teleconference system with overlay aufio method associate thereto |
US9118809B2 (en) | 2013-10-11 | 2015-08-25 | Edifire LLC | Methods and systems for multi-factor authentication in secure media-based conferencing |
US9118654B2 (en) | 2013-10-11 | 2015-08-25 | Edifire LLC | Methods and systems for compliance monitoring in secure media-based conferencing |
CN104601339B (zh) | 2013-10-30 | 2018-05-25 | 华为技术有限公司 | 网真会议的控制方法、装置、服务器和终端设备 |
US9049299B2 (en) | 2013-10-31 | 2015-06-02 | Citrix Systems, Inc. | Using audio signals to identify when client devices are co-located |
JP2015156176A (ja) * | 2014-02-21 | 2015-08-27 | 株式会社リコー | セッション制御システム、通信システム、プログラム、及びセッション制御方法 |
US9516268B2 (en) | 2014-03-28 | 2016-12-06 | International Business Machines Corporation | Maintaining audio video conference continuity |
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 |
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 |
US10425418B2 (en) * | 2014-10-07 | 2019-09-24 | Ricoh Company, Ltd. | Information processing apparatus, communications method, and system |
JP6593008B2 (ja) * | 2014-10-07 | 2019-10-23 | 株式会社リコー | 情報処理装置、通信方法、プログラム、システム |
EP3244600B1 (en) | 2015-01-30 | 2022-06-22 | Huawei Technologies Co., Ltd. | Method and apparatus for converting voice into text in multi-party call |
US20160247123A1 (en) * | 2015-02-24 | 2016-08-25 | Cisco Technology, Inc. | Converting Scheduling Information into Different Conferencing Domains |
US10616278B1 (en) * | 2015-03-30 | 2020-04-07 | Amazon Technologies, Inc. | Secure virtual meetings |
US20170034235A1 (en) * | 2015-07-27 | 2017-02-02 | Browan Communications Inc. | Electronic device, communication system and method for transmitting/receiving audio and video data |
CN105391969A (zh) * | 2015-12-14 | 2016-03-09 | 广东亿迅科技有限公司 | 一种分布式视频会议系统及终端入会的方法 |
CN105915355B (zh) * | 2016-04-13 | 2019-11-12 | 邦彦技术股份有限公司 | 会议控制方法和装置 |
US10148707B2 (en) | 2016-09-19 | 2018-12-04 | International Business Machines Corporation | System and method for maintaining a collaborative environment |
US10038876B2 (en) * | 2016-10-17 | 2018-07-31 | Microsoft Technology Licensing, Llc | Binding separate communication platform meetings |
US10778728B2 (en) | 2016-12-02 | 2020-09-15 | Microsoft Technology Licensing, Llc. | Cognitive resource selection |
RU2653231C1 (ru) * | 2016-12-16 | 2018-05-07 | Общество с ограниченной ответственностью "Иридиум" | Способ и система объединения компонентов для управления объектами автоматизации |
CN108347337B (zh) * | 2017-01-23 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 会议通信方法和装置 |
CN106941411B (zh) * | 2017-01-24 | 2021-01-19 | 北京元心科技有限公司 | 终端管控方法及系统 |
MX2019009228A (es) | 2017-02-02 | 2019-12-11 | Notarize Inc | Sistema y metodo para sincronizar interacciones de juntas notariales entre multiples clientes de software. |
DE102017108017A1 (de) | 2017-04-13 | 2018-10-18 | Unify Patente Gmbh & Co. Kg | Verfahren zum Führen einer Audio- und/oder Videokonferenz |
CN106878660B (zh) * | 2017-04-20 | 2023-05-23 | 北京蓝海华业科技股份有限公司 | 一种多媒体远程会议系统 |
US10917445B2 (en) * | 2017-04-20 | 2021-02-09 | Saysearch, Inc. | Communication sessions between computing devices using dynamically customizable interaction environments |
US10275367B2 (en) * | 2017-04-24 | 2019-04-30 | Hewlett-Packard Development Company, L.P. | Command source verification |
CN108965772A (zh) * | 2017-05-23 | 2018-12-07 | 中兴通讯股份有限公司 | 视讯会议实现方法及服务器、计算机可读存储介质 |
US10757155B2 (en) * | 2017-05-24 | 2020-08-25 | Nexmo, Inc. | Method and server for real-time data streaming in a media session |
KR102341022B1 (ko) * | 2017-09-18 | 2021-12-17 | 삼성에스디에스 주식회사 | 컨퍼런스 시스템 및 상기 시스템에서의 컨퍼런스 접속 처리 방법 |
WO2019095084A1 (es) * | 2017-11-17 | 2019-05-23 | Latin Telecomunicaciones S.A. | Interfaz de servicio del usuario y plataforma de gestión para videoconferencia y actividades de colaboración |
US11621994B2 (en) * | 2018-01-08 | 2023-04-04 | Hewlett-Packard Development Company, L.P. | Brokering servers based on remote access performance |
RU2703357C2 (ru) * | 2018-04-02 | 2019-10-16 | Общество с ограниченной ответственностью "НеоБИТ" | Способ защиты данных в системах конференцсвязи |
RU184009U1 (ru) * | 2018-05-31 | 2018-10-11 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Система удаления остаточной информации из памяти терминалов и серверов многоточечной конференцсвязи |
CN112867989B (zh) * | 2018-09-04 | 2024-07-02 | 阿韦瓦软件有限责任公司 | 基于流的组成以及监视服务器系统和方法 |
CN111131640A (zh) * | 2018-10-31 | 2020-05-08 | 苏州璨鸿光电有限公司 | 多方影音通话控制系统及方法 |
CN111524314A (zh) * | 2019-04-04 | 2020-08-11 | 重庆点控科技有限公司 | 会议应急系统 |
CN110086831A (zh) * | 2019-05-23 | 2019-08-02 | 智者四海(北京)技术有限公司 | 用于网关的鉴权方法 |
US10904025B2 (en) * | 2019-06-04 | 2021-01-26 | International Business Machines Corporation | Web meeting bookmarking system based on level of relevancy and importance |
WO2020252409A1 (en) * | 2019-06-13 | 2020-12-17 | Mersive Technologies, Inc. | Bridging video conference room system and associated methods |
CN113840112A (zh) * | 2020-06-24 | 2021-12-24 | 中兴通讯股份有限公司 | 会议级联方法及系统、终端、计算机可读存储介质 |
US11366583B1 (en) | 2021-02-02 | 2022-06-21 | Bank Of America Corporation | Computer-to-computer users# edit and event transfer and synchronization |
CN117319359A (zh) * | 2022-06-24 | 2023-12-29 | 华为云计算技术有限公司 | 一种资源管理方法及系统 |
US11882173B1 (en) * | 2022-09-12 | 2024-01-23 | Sap Se | Capture network communication via client extension |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343313B1 (en) | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US20030014488A1 (en) * | 2001-06-13 | 2003-01-16 | Siddhartha Dalal | System and method for enabling multimedia conferencing services on a real-time communications platform |
US7043528B2 (en) | 2001-03-08 | 2006-05-09 | Starbak Communications, Inc. | Systems and methods for connecting video conferencing to a distributed network |
US7107312B2 (en) | 2001-02-06 | 2006-09-12 | Lucent Technologies Inc. | Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263398A (ja) | 1995-03-22 | 1996-10-11 | Nippon Telegr & Teleph Corp <Ntt> | 通信サービス方法及びシステム |
US6430281B1 (en) | 1996-03-14 | 2002-08-06 | British Telecommunications Public Limited Company | Intelligent telecommunications network providing automated call booking, call reconnection and diary booking services |
US6310862B1 (en) | 1997-06-24 | 2001-10-30 | At&T Corp. | Real-time multimedia conferencing over an ATM network using an intelligent ATM cable modem and hybrid fiber-coax access |
US6272214B1 (en) | 1997-11-24 | 2001-08-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic control of participation in telemeetings |
US6438111B1 (en) | 1998-05-22 | 2002-08-20 | Avaya Technology Corp. | Dynamically scaleable conference system |
US6907449B2 (en) | 1998-09-22 | 2005-06-14 | Qwest Communications International, Inc. | Conferencing system for simultaneous broadcast of audio and transmission of documents via push technology |
US6408327B1 (en) | 1998-12-22 | 2002-06-18 | Nortel Networks Limited | Synthetic stereo conferencing over LAN/WAN |
WO2000052886A1 (en) | 1999-03-02 | 2000-09-08 | Microsoft Corporation | Scalable multiparty conferencing and collaboration system and method of dynamically allocating system resources |
US6584493B1 (en) | 1999-03-02 | 2003-06-24 | Microsoft Corporation | Multiparty conferencing and collaboration system utilizing a per-host model command, control and communication structure |
US6604129B2 (en) | 1999-03-25 | 2003-08-05 | At&T Corp. | Method and apparatus for a conference call mediation service |
US6564261B1 (en) | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
US7174365B1 (en) * | 2000-11-08 | 2007-02-06 | Polycom Israel Ltd. | System and method for controlling one or more multipoint control units as one multipoint control unit |
US7353251B1 (en) * | 1999-12-23 | 2008-04-01 | Polycom, Inc. | Automated call launching |
US6876734B1 (en) * | 2000-02-29 | 2005-04-05 | Emeeting.Net, Inc. | Internet-enabled conferencing system and method accommodating PSTN and IP traffic |
US7830824B2 (en) | 2000-03-01 | 2010-11-09 | Polycom, Inc. | System and method for providing reservationless third party meeting rooms |
US6704769B1 (en) * | 2000-04-24 | 2004-03-09 | Polycom, Inc. | Media role management in a video conferencing network |
WO2002019620A2 (en) | 2000-08-28 | 2002-03-07 | Nice Systems Ltd. | Digital recording of ip based distributed switching platform |
AU2002231282A1 (en) * | 2000-11-02 | 2002-05-15 | Polycom, Inc. | Conferencing network resource management for call connectivity |
US6810260B1 (en) | 2000-11-21 | 2004-10-26 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for automated call-back subscriber service |
US6901448B2 (en) | 2000-12-29 | 2005-05-31 | Webex Communications, Inc. | Secure communications system for collaborative computing |
US6925645B2 (en) | 2000-12-29 | 2005-08-02 | Webex Communications, Inc. | Fault tolerant server architecture for collaborative computing |
WO2002054264A1 (en) | 2000-12-29 | 2002-07-11 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
US6567813B1 (en) | 2000-12-29 | 2003-05-20 | Webex Communications, Inc. | Quality of service maintenance for distributed collaborative computing |
US20030167302A1 (en) | 2000-12-29 | 2003-09-04 | Min Zhu | Scalable distributed network system for collaborative computing |
US20020091769A1 (en) * | 2001-01-11 | 2002-07-11 | Drozdzewicz Piotr Jozef | Conferencing method |
US20020136382A1 (en) | 2001-03-22 | 2002-09-26 | Alon Cohen | System and method for providing simplified conferencing |
EP1391105A4 (en) * | 2001-04-30 | 2005-07-06 | Polycom Inc | AUDIO CONFERENCE SYSTEM AND METHOD |
JP2003018303A (ja) | 2001-06-28 | 2003-01-17 | Hitachi Ltd | 電子会議システム及び電子会議方法 |
US20030023690A1 (en) * | 2001-07-26 | 2003-01-30 | Sunit Lohtia | Method and apparatus for providing selective delivery of notifications to users of multiple devices over a network |
US6870916B2 (en) | 2001-09-14 | 2005-03-22 | Lucent Technologies Inc. | Targeted and intelligent multimedia conference establishment services |
US7636750B2 (en) * | 2001-10-24 | 2009-12-22 | Sprint Spectrum L.P. | Method and system for controlling scope of user participation in a communication session |
US20050226172A1 (en) | 2001-12-15 | 2005-10-13 | Richardson John W | Video conference call set up |
EP1454281B1 (en) * | 2001-12-15 | 2012-02-08 | Thomson Licensing | Quality of service setup on a time reservation basis |
RU2279767C2 (ru) | 2002-01-23 | 2006-07-10 | Хювэй Текнолоджиз Ко., Лтд. | Система организации услуги видеоконференции, способ предоставления услуги видеоконференции и центр услуг |
US6839417B2 (en) | 2002-09-10 | 2005-01-04 | Myriad Entertainment, Inc. | Method and apparatus for improved conference call management |
JP3867655B2 (ja) | 2002-10-29 | 2007-01-10 | 株式会社日立製作所 | マルチメディアコミュニケーションシステム |
US7298834B1 (en) * | 2002-11-22 | 2007-11-20 | 3Com Corporation | System and method for large capacity conference calls |
US7701882B2 (en) | 2003-02-10 | 2010-04-20 | Intercall, Inc. | Systems and methods for collaborative communication |
US6944136B2 (en) | 2003-02-28 | 2005-09-13 | On-Demand Technologies, Inc. | Two-way audio/video conferencing system |
US7184531B2 (en) * | 2003-06-05 | 2007-02-27 | Siemens Communications, Inc. | System and method for authorizing a party to join a conference |
US20050018826A1 (en) | 2003-07-21 | 2005-01-27 | Benco David S. | Conference call scheduling |
US7987233B1 (en) * | 2003-08-15 | 2011-07-26 | Microsoft Corporation | System and methods for facilitating a multiparty communications session with a dynamically designated session manager |
US8321506B2 (en) * | 2003-10-23 | 2012-11-27 | Microsoft Corporation | Architecture for an extensible real-time collaboration system |
US7353255B2 (en) | 2003-10-30 | 2008-04-01 | International Business Machines Corporation | System and apparatus for geographically distributed VoIP conference service with enhanced QoS |
US8036358B2 (en) | 2004-03-09 | 2011-10-11 | Siemens Enterprise Communications, Inc. | Distributed voice conferencing |
US7552175B2 (en) | 2004-04-30 | 2009-06-23 | Microsoft Corporation | Mechanism for controlling communication paths between conference members |
US8767032B2 (en) * | 2004-07-21 | 2014-07-01 | Polycom, Inc. | Conference unit controlling room functions |
DE102004041882B4 (de) | 2004-08-30 | 2006-05-18 | Infineon Technologies Ag | Kommunikationssystem, Verfahren zum Durchführen einer Umfrage, Konferenz-Medienmischeinrichtung und Verfahren zum Auswerten von Antwort-Kommunikationsdaten |
US7532713B2 (en) | 2004-09-23 | 2009-05-12 | Vapps Llc | System and method for voice over internet protocol audio conferencing |
US8270320B2 (en) | 2004-09-30 | 2012-09-18 | Avaya Inc. | Method and apparatus for launching a conference based on presence of invitees |
JP4081068B2 (ja) | 2004-11-18 | 2008-04-23 | エヌ・ティ・ティ・コムウェア株式会社 | 通信会議システム |
KR100703474B1 (ko) | 2004-11-25 | 2007-04-03 | 삼성전자주식회사 | 밀착결합 멀티컨퍼런스를 이용한 단말에서의 경매 서비스방법 및 장치 |
US7870192B2 (en) | 2004-12-16 | 2011-01-11 | International Business Machines Corporation | Integrated voice and video conferencing management |
JP4700977B2 (ja) | 2005-02-16 | 2011-06-15 | 富士通株式会社 | 多地点会議システム |
US7668912B2 (en) | 2005-03-03 | 2010-02-23 | Seiko Epson Corporation | Real-time one-button integrated support for networked devices |
US7492730B2 (en) * | 2005-04-19 | 2009-02-17 | Polycom, Inc. | Multi-site conferencing system and method |
US20070002779A1 (en) | 2005-06-15 | 2007-01-04 | Samsung Electronics Co., Ltd. | Method and system for providing PTT to conference |
US20070050448A1 (en) | 2005-08-25 | 2007-03-01 | Polycom, Inc. | Method and system for information collaboration over an IP network via handheld wireless communication devices |
US20070133438A1 (en) | 2005-12-14 | 2007-06-14 | Cisco Technology, Inc. | Method and system for reserving resources in a conferencing system |
US7720091B2 (en) | 2006-01-10 | 2010-05-18 | Utbk, Inc. | Systems and methods to arrange call back |
US20070162553A1 (en) | 2006-01-10 | 2007-07-12 | Dewing Shane R | Interactive moderated voice chat system |
US7716284B2 (en) | 2006-02-28 | 2010-05-11 | Microsoft Corporation | Subsystem-scoping architecture for breakout rooms in a virtual space |
US8412773B1 (en) * | 2006-06-28 | 2013-04-02 | Insors Integrated Communications | Methods, systems and program products for initiating a process on data network |
US7961667B2 (en) * | 2006-07-21 | 2011-06-14 | International Business Machines Corporation | Ad-hoc groups in SIP/SIMPLE |
US8045489B2 (en) | 2007-03-30 | 2011-10-25 | Cisco Technology, Inc. | Method and system for the automatic configuration of conference resources |
US8300789B2 (en) | 2007-04-30 | 2012-10-30 | Cisco Technology, Inc. | Method and system for identifying a multipoint control unit for hosting a conference |
US8368738B2 (en) | 2008-01-14 | 2013-02-05 | Microsoft Corporation | Joining users to a conferencing session |
US20110271197A1 (en) | 2010-04-30 | 2011-11-03 | American Teleconferncing Services Ltd. | Distributing Information Between Participants in a Conference via a Conference User Interface |
US20110271210A1 (en) | 2010-04-30 | 2011-11-03 | American Teleconferncing Services Ltd. | Conferencing Application Store |
US20110271209A1 (en) | 2010-04-30 | 2011-11-03 | American Teleconferncing Services Ltd. | Systems, Methods, and Computer Programs for Providing a Conference User Interface |
US9106794B2 (en) | 2010-04-30 | 2015-08-11 | American Teleconferencing Services, Ltd | Record and playback in a conference |
US9189143B2 (en) | 2010-04-30 | 2015-11-17 | American Teleconferencing Services, Ltd. | Sharing social networking content in a conference user interface |
US20120246229A1 (en) | 2011-03-21 | 2012-09-27 | Microsoft Corporation | Notifying Participants that a Conference is Starting |
-
2006
- 2006-09-15 US US11/522,024 patent/US8817668B2/en active Active
-
2007
- 2007-09-05 CN CN201210342503.8A patent/CN102904733B/zh active Active
- 2007-09-05 CN CN2007800339697A patent/CN101517963B/zh active Active
- 2007-09-05 RU RU2009109214/07A patent/RU2459371C2/ru not_active IP Right Cessation
- 2007-09-05 MX MX2009002288A patent/MX2009002288A/es active IP Right Grant
- 2007-09-05 WO PCT/US2007/077665 patent/WO2008033706A1/en active Application Filing
- 2007-09-05 EP EP07841904.1A patent/EP2067302B1/en active Active
- 2007-09-05 AU AU2007296792A patent/AU2007296792B2/en not_active Ceased
- 2007-09-05 CA CA2660874A patent/CA2660874C/en not_active Expired - Fee Related
- 2007-09-05 KR KR1020097005060A patent/KR101424301B1/ko active IP Right Grant
- 2007-09-05 BR BRPI0714703-1A2A patent/BRPI0714703A2/pt not_active Application Discontinuation
- 2007-09-05 JP JP2009528397A patent/JP5337698B2/ja active Active
-
2012
- 2012-04-24 RU RU2012116580/08A patent/RU2012116580A/ru not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343313B1 (en) | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US7107312B2 (en) | 2001-02-06 | 2006-09-12 | Lucent Technologies Inc. | Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services |
US7043528B2 (en) | 2001-03-08 | 2006-05-09 | Starbak Communications, Inc. | Systems and methods for connecting video conferencing to a distributed network |
US20030014488A1 (en) * | 2001-06-13 | 2003-01-16 | Siddhartha Dalal | System and method for enabling multimedia conferencing services on a real-time communications platform |
Also Published As
Publication number | Publication date |
---|---|
CN101517963B (zh) | 2012-11-07 |
JP5337698B2 (ja) | 2013-11-06 |
BRPI0714703A2 (pt) | 2013-09-17 |
CA2660874A1 (en) | 2008-03-20 |
WO2008033706A1 (en) | 2008-03-20 |
MX2009002288A (es) | 2009-03-20 |
EP2067302A4 (en) | 2013-06-19 |
RU2009109214A (ru) | 2010-09-20 |
EP2067302A1 (en) | 2009-06-10 |
US8817668B2 (en) | 2014-08-26 |
US20080069011A1 (en) | 2008-03-20 |
CN101517963A (zh) | 2009-08-26 |
JP2010504041A (ja) | 2010-02-04 |
EP2067302B1 (en) | 2017-02-08 |
AU2007296792B2 (en) | 2011-08-18 |
CN102904733B (zh) | 2015-09-16 |
AU2007296792A1 (en) | 2008-03-20 |
CA2660874C (en) | 2016-11-01 |
CN102904733A (zh) | 2013-01-30 |
RU2459371C2 (ru) | 2012-08-20 |
KR20090052869A (ko) | 2009-05-26 |
RU2012116580A (ru) | 2013-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101424301B1 (ko) | 분산형의 스케일러블 플러그형 컨퍼런싱 아키텍처를 위한 컴퓨터 구현 컨퍼런싱 시스템 및 방법, 및 컴퓨터 실행가능한 컨퍼런싱 시스템 | |
US20030014488A1 (en) | System and method for enabling multimedia conferencing services on a real-time communications platform | |
US8300557B2 (en) | Breakout rooms in a distributed conferencing environment | |
US8250141B2 (en) | Real-time event notification for collaborative computing sessions | |
US10999089B1 (en) | Communication bridging in a remote office environment | |
EP2150927B1 (en) | Emulation of room lock and lobby feature in distributed conferencing system | |
CN106605386B (zh) | 用于分享内容的方法和设备 | |
JP5655854B2 (ja) | 情報処理装置、端末装置及び情報処理方法 | |
JP2013522773A (ja) | 複数のウェブサービスにわたって認証を実施するプラグ可能なトークンプロバイダモデル | |
US20100223320A1 (en) | Data distribution efficiency for online collaborative computing sessions | |
US20060182130A1 (en) | Method and system for establishing an audio/video communication session across zones | |
JP2013523017A (ja) | 集中管理された通知を介するマルチモーダルカンバセーションの状態および転送 | |
Wu et al. | Design and Implementation of A Collaboration Web-services system | |
AU2011253547B2 (en) | Distributable, scalable, pluggable conferencing architecture | |
Tulu et al. | Design and development of a SIP-based video conferencing application | |
US10412124B2 (en) | Initiating a server-directed communication session | |
JP2011517175A (ja) | 通信フロー混合ポリシーによる会議の確立 | |
Carvill et al. | Developing and evaluating writing assignments for technical courses |
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: 20170616 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190617 Year of fee payment: 6 |