JP2017135459A - 通信方法、通信システム、及び、通信プログラム - Google Patents

通信方法、通信システム、及び、通信プログラム Download PDF

Info

Publication number
JP2017135459A
JP2017135459A JP2016011633A JP2016011633A JP2017135459A JP 2017135459 A JP2017135459 A JP 2017135459A JP 2016011633 A JP2016011633 A JP 2016011633A JP 2016011633 A JP2016011633 A JP 2016011633A JP 2017135459 A JP2017135459 A JP 2017135459A
Authority
JP
Japan
Prior art keywords
conference
conference client
client
virtual
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016011633A
Other languages
English (en)
Other versions
JP6387972B2 (ja
Inventor
康博 工藤
Yasuhiro Kudo
康博 工藤
誉志 松下
Kiyoshi Matsushita
誉志 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2016011633A priority Critical patent/JP6387972B2/ja
Priority to US15/415,304 priority patent/US20170214725A1/en
Publication of JP2017135459A publication Critical patent/JP2017135459A/ja
Application granted granted Critical
Publication of JP6387972B2 publication Critical patent/JP6387972B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

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

Abstract

【課題】既存のシステム構成を利用しつつ、通信方式の異なる通信装置間で通信を行うことによって遠隔会議を実現可能な通信方法、通信システム、及び、通信プログラムを提供する。
【解決手段】会議サーバ26が、第1会議クライアント21から第1方式の通信によってメディアデータを受信する(S11)。会議サーバ26が、メディアデータを第1方式の通信によって仮想会議クライアント28に送信する(S13)。仮想会議クライアント28が、メディアデータを第1方式の通信によって受信する(S15)。仮想会議クライアント28が、メディアデータをミキシングしてミキシングデータを生成し、ミキシングデータを第2会議クライアント22に第2方式の通信によって送信する(S17)。
【選択図】図1

Description

本発明は、ネットワークを介して通信を行うことによって遠隔会議を実現するための通信方法、通信システム、及び、通信プログラムに関する。
ネットワークに接続された複数の通信装置間で遠隔会議を行うためのシステムが知られている。特許文献1は、ユニバーサルブリッジ(UB)、複数のメディア中継エンドポイント(MRE)、及び、複数のレガシーエンドポイント(LEP)を備えたシステムを開示する。UBは、MREから送信された複数のストリームを受信してデコードし、結合する。以下、結合された複数のストリームを、「結合ストリーム」という。UBは、LEPにて使用されている圧縮規格に従って、結合ストリームをエンコードする。UBは、エンコードされた結合ストリームをLEPに対して送信する。
特開2014−68339号公報
通信方式の異なる通信装置間で通信を行うことによって遠隔会議を実現したいという要求がある。これに対し、特許文献1に記載された技術が適用される場合、デコード、結合、及び、エンコードを行うUBが必要となる。このため、UBを要せず、MREとLEPとの間の通信が既存の会議サーバ等を利用して実現されることが望ましい。
本発明の目的は、既存のシステム構成を利用しつつ、通信方式の異なる通信装置間で通信を行うことによって遠隔会議を実現可能な通信方法、通信システム、及び、通信プログラムを提供することである。
本発明の第1態様に係る通信方法は、会議サーバを介して第1方式の通信によって遠隔会議を実行可能な複数の第1会議クライアントと、前記第1方式と異なる第2方式の通信によって遠隔会議を実行可能な第2会議クライアントとの間で遠隔会議が実行される場合の通信方法であって、前記会議サーバが、前記複数の第1会議クライアントから前記第1方式の通信によって送信された複数の第1メディアデータを受信し、前記会議サーバが、受信された前記複数の第1メディアデータを前記第1方式の通信によって、前記会議サーバで実行される仮想会議クライアントに送信し、前記仮想会議クライアントが、前記会議サーバから送信された前記複数の第1メディアデータを前記第1方式の通信によって受信し、前記仮想会議クライアントが、受信された前記複数の第1メディアデータをミキシングしてミキシングデータを生成し、前記仮想会議クライアントが、生成された前記ミキシングデータを前記第2会議クライアントに前記第2方式の通信によって送信し、前記仮想会議クライアントが、前記第2会議クライアントから第2メディアデータを前記第2方式の通信によって受信し、前記仮想会議クライアントが、受信された前記第2メディアデータを前記会議サーバに前記第1方式の通信によって送信し、前記会議サーバが、前記仮想会議クライアントから送信された前記第2メディアデータを前記第1方式の通信によって受信し、前記会議サーバが、受信された前記第2メディアデータを前記複数の第1会議クライアントに前記第1方式の通信によって送信することを特徴とする。
第1態様によれば、会議サーバは、複数の第1会議クライアントから受信された複数の第1メディアデータを、仮想会議クライアントに送信する。仮想会議クライアントは、会議サーバから送信された複数の第1メディアデータを受信してミキシングし、ミキシングデータを生成する。仮想会議クライアントは、生成されたミキシングデータを、第2会議クライアントに送信する。又、仮想会議クライアントは、第2会議クライアントから受信された第2メディアデータを、会議サーバに送信する。会議サーバは、仮想会議クライアントから受信された第2メディアデータを、複数の第1会議クライアントに送信する。この場合、会議サーバは、実在する会議クライアントと通信を行う場合と同様の方法で仮想会議クライアントと通信を行うことによって、複数の第1会議クライアント及び第2会議クライアントとの間でメディアデータを転送し、遠隔会議を実現できる。なお、上記の通信方法において、仮想会議クライアントは実在しない。このため、上記の通信方法によれば、既存のシステム(例えば会議サーバ)を利用しつつ、通信方式の異なるシステム間で遠隔会議を実行させることができる。更に、上記の通信方法は、第2会議クライアントの数が増加した場合の拡張性において優れている。即ち、第2会議クライアントの数が増加した場合でも、会議サーバをそのまま維持しつつ、それぞれの第2会議クライアントと複数の第1会議クライアントとの間の通信を仲介する仮想会議クライアントを追加することで対応できる。このため、第2会議クライアントの増加に伴って会議サーバを増加する必要がない。
本発明の第2態様に係る通信システムは、第1サーバを介して第1方式の通信によって遠隔会議を実行可能な複数の第1会議クライアント、前記第1方式と異なる第2方式の通信を行う第2会議クライアント、前記第1サーバ、及び、第2サーバを備えた通信システムであって、前記第1サーバは、前記複数の第1会議クライアントから前記第1方式の通信によって送信された複数の第1メディアデータであって、第1コーデックによってエンコードされた複数の第1メディアデータを受信し、受信された前記複数の第1メディアデータを前記第1方式の通信によって、前記第2サーバに送信し、前記第2サーバは、前記第1サーバから送信された前記複数の第1メディアデータを前記第1方式の通信によって受信し、受信された前記複数の第1メディアデータを前記第1コーデックでデコードし、デコードされた前記複数の第1メディアデータをミキシングしてミキシングデータを生成し、生成された前記ミキシングデータを、第2コーデックでエンコードし、前記第2コーデックでエンコードされた前記ミキシングデータを、第2会議クライアントに前記第2方式の通信によって送信し、前記第2会議クライアントから、前記第2コーデックによってエンコードされた第2メディアデータを、前記第2方式の通信によって受信し、受信された前記第2メディアデータを前記第2コーデックでデコードし、デコードされた前記第2メディアデータを前記第1コーデックでエンコードし、前記第1コーデックでエンコードされた前記第2メディアデータを、前記第1サーバに前記第1方式の通信によって送信し、前記第1サーバは、前記第2サーバから送信された前記第2メディアデータを前記第1方式の通信によって受信し、受信された前記第2メディアデータを前記複数の第1会議クライアントに前記第1方式の通信によって送信することを特徴とする。
第2態様によれば、第1サーバは、複数の第1会議クライアントから受信された複数の第1メディアデータを、第2サーバに送信する。第2サーバは、第1サーバから送信された複数の第1メディアデータを受信してミキシングし、ミキシングデータを生成する。第2サーバは、生成されたミキシングデータを、第2会議クライアントに送信する。又、第2サーバは、第2会議クライアントから受信された第2メディアデータを、第1サーバに送信する。第1サーバは、第2サーバから受信された第2メディアデータを、複数の第1会議クライアントに送信する。この場合、第1サーバは、実在する会議クライアントと通信を行う場合と同様の方法で第2サーバと通信を行うことによって、複数の第1会議クライアント及び第2会議クライアントとの間でメディアデータを転送し、遠隔会値を実現できる。
本発明の第3態様に係る通信プログラムは、会議サーバを介して第1方式の通信によって遠隔会議を実行可能な複数の第1会議クライアントと、前記第1方式と異なる第2方式の通信を行う第2会議クライアントとの間で遠隔会議を実行するための通信プログラムであって、前記複数の第1会議クライアントから前記第1方式の通信によって送信された複数の第1メディアデータであって、第1コーデックによってエンコードされた複数の第1メディアデータが前記会議サーバによって前記第1方式の通信によって受信され、受信された前記複数の第1メディアデータが前記会議サーバから前記第1方式の通信によって送信された場合、前記複数の第1メディアデータを前記会議サーバから前記第1方式の通信によって受信するステップと、受信された前記複数の第1メディアデータを前記第1コーデックでデコードするステップと、デコードされた前記複数の第1メディアデータをミキシングしてミキシングデータを生成するステップと、生成された前記ミキシングデータを、第2コーデックでエンコードするステップと、前記第2コーデックでエンコードされた前記ミキシングデータを前記第2会議クライアントに前記第2方式の通信によって送信するステップと、前記第2会議クライアントから、前記第2コーデックによってエンコードされた第2メディアデータを、前記第2方式の通信によって受信するステップと、受信された前記第2メディアデータを前記第2コーデックでデコードするステップと、デコードされた前記第2メディアデータを前記第1コーデックでエンコードするステップと、前記第1コーデックでエンコードされた前記第2メディアデータを、前記会議サーバに前記第1方式の通信によって送信するステップと、を、コンピュータに実行させる。第3態様によれば、第1態様と同様の効果を奏することができる。
通信システム1の概要、及び、サーバ25の電気的構成を示す図である。 会議クライアント20の電気的構成を示すブロック図である。 会議クライアント20の機能ブロック図である。 仮想会議クライアント28の機能ブロック図である。 第1開始シーケンスを示す図である。 第2開始シーケンスを示す図である。 第1終了シーケンスを示す図である。 第2終了シーケンスを示す図である。 第3終了シーケンスを示す図である。 再接続シーケンスを示す図である。 通信システム1Aの概要を示す図である。
<通信システム1の概要>
図1を参照し、通信システム1について説明する。通信システム1には、互いに異なる複数の会議システム10が含まれる。又、各会議システム10には会議クライアント20が少なくとも含まれる。共通する会議システム10に含まれる会議クライアント20のそれぞれのユーザは、仮想会議室に参加することによって互いにWeb会議を実行可能である。各会議クライアント20は、周知のPersonal Computer(PC)に対してWeb会議アプリケーションのプログラムをインストールすることで構成される。以下、会議クライアント20のそれぞれのユーザ間でWeb会議が実行されることを、「会議クライアント20間でWeb会議が実行される。」と言い換える。
本実施形態では、3つの会議システム10(第1会議システム11、第2会議システム12、及び、第3会議システム13)が通信システム1に含まれる場合を例示する。第1会議システム11には、サーバ25、及び、第1会議クライアント211、212が含まれる。サーバ25は、第1会議クライアント211、212間でWeb会議を実行させる。サーバ25は、Multi-point Control Unit(MCU)又は公知のサーバに対して専用アプリケーションのプログラムをインストールすることで構成される。第2会議システム12には、第2会議クライアント22、及び、非図示の他の第2会議クライアントが含まれる。第3会議システム13には、第3会議クライアント23、及び、非図示の他の第3会議クライアントが含まれる。会議システム10間、及び、各会議システム10に含まれるサーバ25及び会議クライアント20は、非図示のネットワークを介してそれぞれ相互に接続される。
それぞれの会議システム10は、Web会議のためにシステム内で実行される通信の方式が、他の会議システム10と異なる。ここでの通信方式とは、アプリケーション層で動作する通信プロトコルのことを意味する。通信方式の具体例として、H323、SIP、H245、独自プロトコル等がある。具体的には次の通りである。第1会議システム11において、第1会議クライアント211、212(以下、総称して「第1会議クライアント21」ともいう。)は、サーバ25との間で第1方式の通信を行う。これによって第1会議クライアント21間でWeb会議が実行される。第2会議システム12において、第2会議クライアント22は、直接又はサーバを介して、他の第2会議クライアントとの間で第2方式の通信を行う。これによって、第2会議クライアント22及び他の第2会議クライアント間でWeb会議が実行される。第3会議システム13において、第3会議クライアント23は、直接又はサーバを介して、他の第3会議クライアントとの間で第3方式の通信を行う。これによって、第3会議クライアント23及び他の第3会議クライアント間でWeb会議が実行される。第1方式〜第3方式は、それぞれ異なる通信方式である。
通信方式の異なる会議クライアント20間でWeb会議を実行するために、サーバ25は、次の(1)から(3)の処理を実行する。なお以下、サーバ25にインストールされるプログラムのうち、次の各処理に対応するプログラムの実行単位を、「プロセス」という。
(1)第1会議クライアント21との間で第1方式の通信を行うことによって、第1会議クライアント21間でWeb会議を実行させる処理
(2)第2会議クライアント22と第2方式の通信を行うことによって、第1会議クライアント21と第2会議クライアント22との間でWeb会議を実行させる処理、又は、第3会議クライアント23と第3方式で通信を行うことによって、第1会議クライアント21と第3会議クライアント23との間でWeb会議を実行させる処理
(3)(2)に対応するプロセスを起動する処理
(1)に対応するプロセスは、第1会議システム11内において、第1会議クライアント21と第1方式の通信を行い、それぞれの間でWeb会議を実行させる。以下、このプロセスを「会議サーバ26」という。会議サーバ26は、Web会議における会議サーバの機能、即ち、複数の第1会議クライアント21がWeb会議を実行する場合に、複数の第1会議クライアント21間で送受信されるメディアデータを転送する機能を実現する。
(2)の処理を実行するためのプロセスとして、サーバ25では、仮想会議クライアント282、283が実行される。仮想会議クライアント282は、第2会議クライアント22と第2方式の通信を行うことによって、第1会議クライアント21と第2会議クライアント22との間で会議サーバ26を介したWeb会議を実行させる。仮想会議クライアント282は、第2会議クライアント22と同等の処理を実行する。このため、第2会議クライアント22は、第2会議システム12に含まれる他の第2会議クライアントと通信を行う場合と同じ通信方式で、仮想会議クライアント282と通信を行うことができる。仮想会議クライアント282が第2会議クライアント22と異なる点は、会議サーバ26と第1方式の通信を行うこともできるという点である。つまり、仮想会議クライアント282は、会議サーバ26と第1方式の通信ができると同時に、第2会議クライアント22と第2方式の通信ができる。その結果、第2会議クライアント22と会議サーバ26との間で、仮想会議クライアント282を介して通信が行われることになる。
仮想会議クライアント283は、第3会議クライアント23と第3方式の通信を行うことによって、第1会議クライアント21と第3会議クライアント23との間で会議サーバ26を介したWeb会議を実行させる。仮想会議クライアント283は、第3会議クライアント23と同等の処理を実行する。このため、第3会議クライアント23は、第3会議システム13に含まれる他の第3会議クライアントと通信を行う場合と同じ通信方式で、仮想会議クライアント283と通信を行うことができる。仮想会議クライアント283が第3会議クライアント23と異なる点は、会議サーバ26と第1方式の通信を行うこともできるという点である。つまり、仮想会議クライアント283は、会議サーバ26と第1方式の通信ができると同時に、第3会議クライアント23と第3方式の通信ができる。その結果、第3会議クライアント23と会議サーバ26との間で、仮想会議クライアント283を介して通信が行われることになる。
なお、会議サーバ26と仮想会議クライアント282、283との間のデータの通信は、プロセス間のデータの交換に対応し、ネットワークを介した実際の通信と異なる。以下、サーバ25の各プロセス間でデータが交換されることを、「データが送受信される。」という。仮想会議クライアント282、283を総称して「仮想会議クライアント28」という。なお、会議サーバ26と仮想会議クライアント28との間の通信に、ネットワークを介して行う通信と同じプロトコルが用いられてもよい。又、仮想会議クライアント28は、後述するハードウェアデバイス(キーボード/マウス32、モニタ33、カメラ34、スピーカ35、マイク36、図2参照)を有さないという点においても、会議クライアント20と異なる。
(3)の処理を実行するためのプロセスとして、サーバ25では、仮想会議クライアントマネージャ27が実行される。仮想会議クライアントマネージャ27は、会議サーバ26からの指示に応じて仮想会議クライアント28を起動する。
以上のように、サーバ25は、第1会議クライアント21、第2会議クライアント22、及び、第3会議クライアント23間の相互の通信を、上記の各プロセス(会議サーバ26、仮想会議クライアントマネージャ27、及び、仮想会議クライアント28)によって実行させることが可能となる。これによって、サーバ25は、第1会議クライアント21、第2会議クライアント22、及び、第3会議クライアント23間でWeb会議を実行させることが可能となる。
<会議クライアント20の電気的構成>
図2を参照し、会議クライアント20の電気的構成について説明する。会議クライアント20は制御部31を備える。制御部31は、会議クライアント20による制御全体を司る。制御部31は、非図示のCPU、ROM、RAMを含む。又、制御部31は、後述する各機能の一部(ビデオデコーダ314、ビデオエンコーダ315、オーディオデコーダ317、及び、オーディオエンコーダ318、図3参照)がハードウェアによって達成される場合、その機能を実現するための電子回路(ASIC等)を含んでもよい。制御部31は、キーボード/マウス32、モニタ33、カメラ34、スピーカ35、マイク36、インタフェース37、及び、記憶部38と電気的に接続する。
キーボード/マウス32は、操作内容に応じた操作信号を制御部31に出力する。カメラ34は、映像を撮影し、撮影された映像のデータ(「映像データ」という。)を制御部31に出力する。モニタ33は、制御部31から出力された映像データに応じた映像を表示させる。マイク36は、音を集音し、集音された音のデータ(「音データ」という。)を制御部31に出力する。スピーカ35は、制御部31から出力された音データに応じた音を出力させる。インタフェース37は、会議クライアント20がネットワークと接続するためのインタフェース素子(例えば、LANカードなど)である。制御部31は、インタフェース37を介して、サーバ25及び他の会議クライアント20とデータの送受信を行う。
記憶部38は、コンピュータが読み取り可能な非一時的な記憶媒体、たとえは、ハードディスク等で構成される。記憶部38には、プログラム、及びOSが記憶される。但し、記憶部38は、例えば、フラッシュメモリ及び/又はROM等、他の非一時的な記憶媒体で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体(例えば、伝送される信号)を含まなくてもよい。
図3は、制御部31によるソフトウェア処理によって実現される各機能、及び、データの流れを示す。制御部31は、コマンド制御部311、レイアウトマネージャ313、ビデオデコーダ314、ビデオエンコーダ315、オーディオミキサ316、オーディオデコーダ317、及び、オーディオエンコーダ318のそれぞれに対応する機能を実現可能である。なお、上記のように、ビデオデコーダ314、ビデオエンコーダ315、オーディオデコーダ317、及び、オーディオエンコーダ318は、制御部31に含まれる電子回路によるハードウェア処理によって実現されてもよい。
ビデオデコーダ314は、インタフェース37(図2参照)を介して受信された映像データをデコードする。ビデオエンコーダ315は、カメラ34(図2参照)から出力された映像データをエンコードする。オーディオデコーダ317は、インタフェース37(図2参照)を介して受信された音データをデコードする。オーディオエンコーダ318は、マイク36(図2参照)から出力された音データをエンコードする。
第1会議クライアント21の場合、映像データ及び音データは第1コーデックによってエンコード又はデコードされる。第2会議クライアント22の場合、映像データ及び音データは第2コーデックによってエンコード又はデコードされる。第3会議クライアント23の場合、映像データ及び音データは第3コーデックによってエンコード又はデコードされる。第1コーデック、第2コーデック、第3コーデックは、エンコード及びデコードを双方向に行うためのアルゴリズムを示す。第1コーデック、第2コーデック、第3コーデックはそれぞれ相違する。
レイアウトマネージャ313は、映像データに基づく映像をモニタ33(図2参照)に表示可能なように配列する。レイアウトマネージャ313によって配列された映像を含む映像データは、モニタ33に出力される。コマンド制御部311は、キーボード/マウス32(図2参照)から出力される操作信号に基づき、映像が配列されるときの規則をレイアウトマネージャ313に設定する。オーディオミキサ316は、音データに基づく音を混ぜ合わせて1つの音にまとめる。オーディオミキサ316によってまとめられた音の音データは、スピーカ35(図2参照)に出力される。
<サーバ25の電気的構成>
図1を参照し、サーバ25の電気的構成について説明する。サーバ25は制御部51を備える。制御部51は、サーバ25による制御全体を司る。制御部51は、非図示のCPU、ROM、RAMを含む。又、制御部51は、後述する各機能の一部(ビデオデコーダ514、522、ビデオエンコーダ515、521、オーディオデコーダ517、524、及び、オーディオエンコーダ518、523、図4参照)がハードウェアによって達成される場合、その機能を実現するための電子回路(ASIC等)を含んでもよい。制御部51は、インタフェース57、58、及び、記憶部59と電気的に接続する。
インタフェース57、58は、サーバ25がネットワークと接続するためのインタフェース素子(例えば、LANカードなど)である。制御部51は、インタフェース57、58を介して複数の会議クライアント20とデータの送受信を行う。図4では、第1会議クライアント21とネットワークを介して接続するためのインタフェース57と、第2会議クライアント22及び第3会議クライアント23とネットワークを介して接続するためのインタフェース58とが区別されている。なお、インタフェース57、58は共通であってもよい。
記憶部59は、コンピュータが読み取り可能な非一時的な記憶媒体、たとえは、ハードディスク等で構成される。記憶部59には、プログラム、及びOSが記憶される。なお、前述の各プロセス(会議サーバ26、仮想会議クライアントマネージャ27、仮想会議クライアント28)は、それぞれ、記憶部59に記憶されたプログラムの一部であって制御部51によって実行されるプログラムの一部に対応する。但し、記憶部59は、例えば、フラッシュメモリ及び/又はROM等、他の非一時的な記憶媒体で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体(例えば、伝送される信号)を含まなくてもよい。
図4は、制御部51によって仮想会議クライアント28が実行された場合にソフトウェア処理によって実現される各機能、及び、データの流れを示す。制御部51は、コマンド制御部511、ビデオミキサ512、レイアウトマネージャ513、ビデオデコーダ514、522、ビデオエンコーダ515、521、オーディオミキサ516、オーディオデコーダ517、524、及び、オーディオエンコーダ518、523のそれぞれに対応する機能を実現可能である。なお、上記のように、ビデオデコーダ514、522、ビデオエンコーダ515、521、オーディオデコーダ517、524、及び、オーディオエンコーダ518、523は、制御部51に含まれる電子回路によるハードウェア処理によって実現されてもよい。
コマンド制御部511、レイアウトマネージャ513、ビデオデコーダ514、ビデオエンコーダ515、オーディオミキサ516、オーディオデコーダ517、及び、オーディオエンコーダ518は、それぞれ、会議クライアント20の制御部31によって実現される複数の機能(図3参照)のうち、コマンド制御部311、レイアウトマネージャ313、ビデオデコーダ314、ビデオエンコーダ315、オーディオミキサ316、オーディオデコーダ317、及び、オーディオエンコーダ318に対応する。コーデックとして、第1コーデック、第2コーデック、第3コーデックの何れかが使用される。
制御部51によって実現される仮想会議クライアント28の各機能が、会議クライアント20の制御部31によって実現される各機能(図3参照)と異なる点は、ビデオエンコーダ521、ビデオミキサ512、ビデオデコーダ522、オーディオエンコーダ523、及び、オーディオデコーダ524が更に実現される点である。なお、ビデオエンコーダ521及びビデオミキサ512は、会議クライアント20におけるモニタ33の機能を仮想的に実現する。ビデオデコーダ522は、会議クライアント20におけるカメラ34の機能を仮想的に実現する。オーディオエンコーダ523は、会議クライアント20におけるスピーカ35の機能を仮想的に実現する。オーディオデコーダ524は、会議クライアント20におけるマイク36の機能を仮想的に実現する。つまり、仮想会議クライアント28において、会議クライアント20におけるハードウェアデバイス(キーボード/マウス32、モニタ33、カメラ34、スピーカ35、マイク36、図2参照)の機能は、ビデオエンコーダ521、ビデオミキサ512、ビデオデコーダ522、オーディオエンコーダ523、及び、オーディオデコーダ524によって実現される。
<Web会議時の通信/第1会議クライアント21間>
第1会議クライアント21間でWeb会議が実行される場合における通信の概要について説明する。第1会議クライアント211の制御部31は、カメラ34から出力された映像データを取得する。図3に示すように、制御部31は、取得された映像データをビデオエンコーダ315によってエンコードする。映像データは、第1コーデックによってエンコードされる。制御部31は、エンコードされた映像データを、インタフェース37を介して、サーバ25の制御部51によって実行される会議サーバ26(以下、単に「会議サーバ26」という。)に第1方式で送信する。
図1に示すように、会議サーバ26は、第1会議クライアント211から送信された映像データを、インタフェース57を介して受信する(S11)。会議サーバ26は、受信された映像データを、インタフェース57を介して第1会議クライアント212に第1方式で送信する(S35)。
図3に示すように、第1会議クライアント212の制御部31は、会議サーバ26から送信された映像データを、インタフェース37を介して受信する。制御部31は、受信された映像データをビデオデコーダ314によってデコードする。映像データは、第1コーデックによってデコードされる。制御部31は、デコードされた映像データに基づく映像と、カメラ34から出力された映像データに基づく映像とを、レイアウトマネージャ313によって配列する。具体的には、例えば、第1会議クライアント211のカメラ34によって撮影された映像と、第1会議クライアント212のカメラ34によって撮影された映像とが並んで配置される。制御部31は、配列された映像の映像データをモニタ33に出力する。モニタ33は、制御部31から出力された映像データに基づき、配列された映像を表示させる。
第1会議クライアント211の制御部31によって、マイク36から出力された音データが取得される。図3に示すように、制御部31は、取得された音データをオーディオエンコーダ318によってエンコードする。音データは、第1コーデックによってエンコードされる。制御部31は、エンコードされた音データを、インタフェース37を介して会議サーバ26に第1方式で送信する。図1に示すように、会議サーバ26は、第1会議クライアント211から送信された音データを、インタフェース57を介して受信する(S11)。会議サーバ26は、受信された音データを、インタフェース57を介して第1会議クライアント212に第1方式で送信する(S35)。
第1会議クライアント212の制御部31は、会議サーバ26から送信された音データを、インタフェース37を介して受信する。図3に示すように、制御部31は、受信された音データをオーディオデコーダ317によってデコードする。音データは、第1コーデックによってデコードされる。制御部31は、デコードされた音データに基づく音と、マイク36から出力された音データに基づく音とを、オーディオミキサ316によってミキシングする。この場合、第1会議クライアント211のマイク36によって集音された音と、第1会議クライアント212のマイク36によって集音された音とを両方含む音の音データが生成される。制御部31は、生成された音データをスピーカ35に出力する。スピーカ35は、制御部31から出力された音データに基づき、音を出力する。
なお、詳細な説明は省略するが、第1会議クライアント212から映像データ及び音データが送信されて第1会議クライアント211によって受信され、第1会議クライアント211において映像及び音が出力される場合についても、上記と同様の処理が実行される(S25、S31)。
<Web会議時の通信/第1会議クライアント21−第2会議クライアント22間>
第1会議クライアント21と第2会議クライアント22との間でWeb会議が実行される場合における通信の概要について説明する。第1会議クライアント21間でWeb会議が実行される場合における通信と同一の内容については、説明を省略又は簡略化する。
図1に示すように、会議サーバ26は、第1会議クライアント211から送信された映像データを、インタフェース57を介して第1方式で受信する(S11)。会議サーバ26は、受信された映像データを、インタフェース57を介して第1会議クライアント212に第1方式で送信する(S35)。同様に、会議サーバ26は、第1会議クライアント212から送信された映像データを、インタフェース57を介して第1方式で受信する(S31)。会議サーバ26は、受信された映像データを、インタフェース57を介して第1会議クライアント211に第1方式で送信する(S25)。
会議サーバ26は、第1会議クライアント211、212からそれぞれ受信された映像データを、制御部51によって実行される仮想会議クライアント282(以下、単に「仮想会議クライアント282」という。)に第1方式で送信する(S13)。このように、会議サーバ26は、映像データの送信先が第1会議クライアント21であるか仮想会議クライアント282であるかに関わらず、共通の通信方式(第1方式)で映像データを送信できる。仮想会議クライアント282は、映像データを第1方式で受信する(S15)。
図4に示すように、仮想会議クライアント282は、第1会議クライアント211から送信された映像データと、第1会議クライアント212から送信された映像データとをそれぞれ、ビデオデコーダ514によってデコードする。映像データは、第1コーデックによってデコードされる。仮想会議クライアント282は、デコードされた2つの映像データに基づく映像を、レイアウトマネージャ513によって配列する。仮想会議クライアント282は、配列された2つの映像を、ビデオミキサ512によってミキシングし、映像ミキシングデータを生成する。仮想会議クライアント282は、生成された映像ミキシングデータを、ビデオエンコーダ521によってエンコードする。映像ミキシングデータは、第2コーデックによってエンコードされる。図1に示すように、仮想会議クライアント282は、エンコードされた映像ミキシングデータを、インタフェース58を介して第2会議クライアント22に第2方式で送信する(S17)。
上記において、仮想会議クライアント282は、会議クライアント20におけるモニタ33の機能を、ビデオエンコーダ521及びビデオミキサ512によって仮想的に実現する。つまり、仮想会議クライアント282は、モニタ33に映像データを出力する場合と同じ方法で、ビデオエンコーダ521及びビデオミキサ512のモジュールに映像データを出力する。これによって、ビデオミキサ512によって映像ミキシングデータが生成され、且つ、ビデオエンコーダ521によって映像ミキシングデータがエンコードされる。
第2会議クライアント22の制御部31は、仮想会議クライアント282から送信された映像ミキシングデータを、インタフェース37を介して第2方式で受信する。このように、制御部31は、他の第2会議クライアントから映像データが受信される場合と同じ通信方式(第2方式)で、仮想会議クライアント282から映像ミキシングデータを受信できる。
図3に示すように、制御部31は、受信された映像ミキシングデータを、ビデオデコーダ314によってデコードする。映像ミキシングデータは、第2コーデックによってデコードされる。なお、映像ミキシングデータは、仮想会議クライアント282において第2コーデックによってエンコードされている。このため、制御部31は、第2コーデックによって映像ミキシングデータのデコードを適切に実行できる。
制御部31は、デコードされた映像ミキシングデータに基づく映像と、カメラ34から出力された映像データに基づく映像とを、レイアウトマネージャ313によって配列する。例えば、第1会議クライアント211、212のそれぞれのカメラ34によって撮影された2つの映像と、第2会議クライアント22のカメラ34によって撮影された映像とが並んで配置される。制御部31は、配列された映像の映像データを、モニタ33に出力する。モニタ33は、制御部31から出力された映像データに基づき、配列された映像を表示させる。
第2会議クライアント22の制御部31は、カメラ34から出力された映像データを取得する。制御部31は、取得された映像データを、ビデオエンコーダ315によってエンコードする。映像データは、第2コーデックによってエンコードされる。制御部31は、エンコードされた映像データを、インタフェース37を介して仮想会議クライアント282に第2方式で送信する。図1に示すように、仮想会議クライアント282は、第2会議クライアント22から送信された映像データを、インタフェース58を介して受信する(S19)。
図4に示すように、仮想会議クライアント282は、受信された映像データをビデオデコーダ522によってデコードする。映像データは、第2コーデックによってデコードされる。なお、仮想会議クライアント282は、会議クライアント20におけるカメラ34の機能を、ビデオデコーダ522によって仮想的に実現する。つまり、仮想会議クライアント282は、カメラ34から出力される映像データを取得する場合と同じ方法で、ビデオデコーダ522によってデコードされた映像データを取得する。
仮想会議クライアント282は、デコードされた映像データをビデオエンコーダ515によってエンコードする。映像データは、第1コーデックによってエンコードされる。図1に示すように、仮想会議クライアント282は、エンコードされた映像データを会議サーバ26に第1方式で送信する(S21)。
会議サーバ26は、仮想会議クライアント282から送信された映像データを第1方式で受信する(S23)。このように、会議サーバ26は、第1会議クライアント21から映像データが受信される場合と同じ通信方式(第1方式)で、仮想会議クライアント282から映像ミキシングデータを受信できる。会議サーバ26は、受信された映像データを、インタフェース57を介して第1会議クライアント211、212に第1方式で送信する(S25、S35)。
第1会議クライアント211の制御部31は、会議サーバ26及び第1会議クライアント212からそれぞれ送信された映像データを、インタフェース37を介して受信する。制御部31は、受信された映像データを、ビデオデコーダ314によってデコードする。映像データは、第1コーデックによってデコードされる。なお、映像データは、仮想会議クライアント282において第1コーデックによってエンコードされている。このため、制御部31は、第1コーデックによって映像データのデコードを適切に実行できる。
図3に示すように、制御部31は、デコードされた映像データに基づく映像と、カメラ34から出力された映像データに基づく映像とを、レイアウトマネージャ313によって配列する。例えば、第1会議クライアント211、212のそれぞれのカメラ34によって撮影された2つの映像と、第2会議クライアント22のカメラ34によって撮影された映像とが並んで配置される。制御部31は、配列された映像の映像データを、モニタ33に出力する。モニタ33は、制御部31から出力された映像データに基づき、配列された映像を表示させる。
なお、詳細な説明は省略するが、第1会議クライアント212において会議サーバ26から送信された映像データが受信された場合についても、上記と同様の処理が実行され、モニタ33に映像が表示される。
図4において、音データに対する処理を実行するオーディオミキサ516、オーディオデコーダ517、524、及び、オーディオエンコーダ518、523は、それぞれ、映像データに対する処理を実行するビデオミキサ512、ビデオデコーダ514、522、ビデオエンコーダ515、521に対応する。音データに対応する通信の処理の詳細な説明は省略する。以下、映像データ及び音データを総称して、「メディアデータ」という。映像ミキシングデータ、及び、オーディオミキサ516によってミキシングされた音データを総称し、「ミキシングデータ」という。
又、第1会議クライアント21と第3会議クライアント23との間でWeb会議が実行される場合、上記の仮想会議クライアント282による処理と略同一処理が、仮想会議クライアント283によって実行される。仮想会議クライアント283の処理が仮想会議クライアント282の処理と異なる点は、メディアデータをエンコード又はデコードする場合において、第2コーデックの代わりに第3コーデックが使用される点である。
<Web会議開始時の通信シーケンス>
図5、図6を参照し、第1会議クライアント211と第2会議クライアント22との間でWeb会議が開始される場合の通信手順(第1開始シーケンス(図5参照)、及び、第2開始シーケンス(図6参照))について説明する。第1会議システム11の第1会議クライアント21間でWeb会議が開始されていることを前提とする。又、サーバ25の制御部51において、会議サーバ26及び仮想会議クライアントマネージャ27が起動され、仮想会議クライアント28は起動されていない状態であることを前提とする。
第1会議クライアント21間でWeb会議が開始される場合の通信手順の概要は、次の通りである。第1会議クライアント211、212のそれぞれのユーザは、仮想会議室(以下、単に「会議室」という。)を利用するための所定の操作を行う。所定の操作は、周知のWeb会議システムにおいて会議室が利用される場合にユーザによって行われる操作と同一である。例えば、所定の操作は、サーバ25から第1会議クライアント21に対して予め通知されたURLを選択する操作である。このURLには、例えば、参加する会議室を識別する会議IDが含まれる。この場合、第1会議クライアント21とサーバ25との間でネットワークを介した通信が行われ、周知の会議接続の処理が実行される。会議接続の処理によって、第1会議クライアント21とサーバ25との間でセッションが確立され、会議室を利用したWeb会議が可能になる。以下、サーバ25と会議クライアント20との間でWeb会議の実行を可能とするための会議接続を、「第1会議接続」という。第1会議接続が完了した後、第1会議クライアント21間で、会議IDに対応する会議室を用いたWeb会議の実行が可能となる。
<第1開始シーケンス>
図5を参照し、第1開始シーケンスについて説明する。第1会議クライアント211のユーザは、第2会議システム12内の第2会議クライアント22と第1会議クライアント211との間の会議接続を要求する指示を、キーボード/マウス32を介して入力する。同時にユーザは、第2会議クライアント22のアドレス情報を、キーボード/マウス32を介して入力する。アドレス情報の具体例として、第2会議クライアント22のIPアドレスが挙げられる。
第1会議クライアント211の制御部31は、第1会議システム11外の会議クライアント20と第1会議クライアント211の会議接続を要求するデータ(「第1接続要求データ」という。)を、会議サーバ26に送信する(P11a)。第1接続要求データには、第2会議クライアント22のアドレス情報が含められる。会議サーバ26は、第1会議クライアント211から送信された第1接続要求データを第1方式で受信する(P11b)。
会議サーバ26は、受信された第1接続要求データを、制御部51によって実行される仮想会議クライアントマネージャ27(以下、単に「仮想会議クライアントマネージャ27」という。)に送信する(P13a)。仮想会議クライアントマネージャ27は、会議サーバ26から送信された第1接続要求データを第1方式で受信する(P13b)。仮想会議クライアントマネージャ27は、仮想会議クライアント282を起動する(P15)。
第1接続要求データが受信されたことに応じて仮想会議クライアント282が起動された場合、仮想会議クライアント282は、起動が完了したことを通知するデータ(「起動完了通知データ」という。)を仮想会議クライアントマネージャ27に送信する(P17a)。仮想会議クライアントマネージャ27は、仮想会議クライアント282から送信された起動完了通知データを第1方式で受信する(P17b)。
仮想会議クライアントマネージャ27は、会議サーバ26から受信された第1接続要求データを仮想会議クライアント282に送信する(P19a)。仮想会議クライアント282は、仮想会議クライアントマネージャ27から送信された第1接続要求データを第1方式で受信する(P19b)。
仮想会議クライアント282は、受信された第1接続要求データに含まれるアドレス情報を取得する。仮想会議クライアント282は、取得されたアドレス情報によって特定される第2会議クライアント22に対し、仮想会議クライアント282との会議接続を要求するデータ(以下、「第2接続要求データ」という。)を送信する(P21a)。第2会議クライアント22は、第2接続要求データを第2方式で受信する(P21b)。
なお、仮想会議クライアント282及び第2会議クライアント22が、複数の通信方式に対応している場合、第2方式は、第1会議クライアント211によって指定されてよい。例えば、P11aにおいて第1会議クライアント211が送信する第1接続要求データに、第2方式を特定する情報が含まれてよい。あるいは、仮想会議クライアント282は、複数の通信方式から、第2方式を自動的に選択してもよい。例えば、P21aにおいて、仮想会議クライアント282は、複数の通信方式のそれぞれを用いて、順次、第2接続要求データを第2会議クライアント22に送信する。第2会議クライアント22が対応している通信方式が用いられた場合、第2会議クライアント22は、第2接続要求データを受信し、第1接続完了データを仮想会議クライアント282に対して送信することができる(P23a)。仮想会議クライアント282は、P23bにおいて第1接続完了データを受信した際に用いた通信方式を、第2方式として決定してよい。
仮想会議クライアント282と第2会議クライアント22との間で、ネットワークを介した通信が行われ、周知の会議接続の処理が実行される。以下、仮想会議クライアント28と会議クライアント20との間でWeb会議の実行を可能とするための会議接続を、「第2会議接続」という。第2会議クライアント22は、第2会議接続の完了を通知するデータ(「第1接続完了データ」という。)を仮想会議クライアント282に送信する(P23a)。仮想会議クライアント282は、第2会議クライアント22から送信された第1接続完了データを第2方式で受信する(P23b)。以上によって、仮想会議クライアント282と第2会議クライアント22との間でセッションが確立され、会議室を利用したWeb会議が可能になる。実行可能となる会議室は、第1会議クライアント21間で実行中の会議室である。
会議サーバ26と仮想会議クライアント282との間で、会議接続の処理が実行される(P24)。以下、会議サーバ26と仮想会議クライアント28との間でWeb会議の実行を可能とするための会議接続を、「第3会議接続」という。なお、会議サーバ26及び仮想会議クライアント28は、何れも、サーバ25の制御部51によって実行されるプロセスである。このため、第3会議接続の処理は、ネットワークを介して実行される第1会議接続及び第2会議接続の処理と異なり、2つのプロセス(会議サーバ26及び仮想会議クライアント28)間で実行される。
第3会議接続が完了した後、仮想会議クライアント282は、第3会議接続の完了を通知するデータ(「第2接続完了データ」という。)を会議サーバ26に送信する(P25a)。会議サーバ26は、仮想会議クライアント282から送信された第2接続完了データを第1方式で受信する(P25b)。以上によって、会議サーバ26と仮想会議クライアント282との間でセッションが確立され、会議室を利用したWeb会議が可能となる。実行可能となる会議室は、第1会議クライアント21間で実行中の会議室である。
会議サーバ26と仮想会議クライアント282との間の第3会議接続が完了した後、第1会議クライアント21及び第2会議クライアント22は、会議サーバ26、及び、仮想会議クライアント282を介して、メディアデータの通信が可能となる(P27)。これによって、第1会議クライアント21と第2会議クライアント22との間で、共通の会議室を利用したWeb会議が実行される。
<第2開始シーケンス>
図6を参照し、第2開始シーケンスについて説明する。第2開始シーケンスは、第1会議クライアント211と第2会議クライアント22との間の会議接続が第2会議クライアント22側から要求されるという点で、第1開始シーケンスと異なる。第1会議クライアント21間のWeb会議が開始された場合、会議サーバ26は、仮想会議クライアント28の起動を要求するデータ(「起動要求データ」という。)を仮想会議クライアントマネージャ27に送信する(P33a)。仮想会議クライアントマネージャ27は、会議サーバ26から送信された起動要求データを第1方式で受信する(P33b)。
仮想会議クライアントマネージャ27は、仮想会議クライアント282を起動する(P35)。起動要求データが受信されたことに応じて仮想会議クライアント282が起動された場合、仮想会議クライアント282は、仮想会議クライアント282のアドレス情報を決定する。アドレス情報には、仮想会議クライアント282を識別可能なポート番号が含まれる。仮想会議クライアント282は、第1会議クライアント21間で実行中の会議室に対応して起動されるため、ポート番号は、会議室を識別する情報とも見なせる。なお、仮想会議クライアント282及び第2会議クライアント22が、複数の通信方式に対応している場合、仮想会議クライアント282は、複数の通信方式に対応して、複数起動されてもよい。この場合、複数起動された仮想会議クライアント282のそれぞれのポート番号は、互いに異なる。仮想会議クライアント282は、起動完了通知データを仮想会議クライアントマネージャ27に送信する(P37a)。起動完了通知データには、仮想会議クライアント282のアドレス情報が含められる。なお、仮想会議クライアント282が複数起動された場合、複数のアドレス情報が通知されてよい。仮想会議クライアントマネージャ27は、仮想会議クライアント282から送信された起動完了通知データを第1方式で受信する(P37b)。
仮想会議クライアントマネージャ27は、受信された起動完了通知データに含まれるアドレス情報を取得する。仮想会議クライアントマネージャ27は、取得されたアドレス情報を記憶部59に記憶する(P38)。なお、記憶部59に記憶されたアドレス情報は、後述する再接続シーケンス(図10参照)において、第1会議クライアント21と第2会議クライアント22との間で会議接続が再開される場合に使用される。詳細は後述する。仮想会議クライアントマネージャ27は、取得されたアドレス情報を通知するデータ(「アドレス通知データ」という。)を会議サーバ26に送信する(P39a)。会議サーバ26は、仮想会議クライアントマネージャ27から送信されたアドレス通知データを第1方式で受信する(P39b)。
第2会議クライアント22のユーザは、仮想会議クライアント282のアドレス情報を、所定の方法で取得する。所定の方法は特に限定されないが、例えば、会議サーバ26が、e‐mailや所定のWebを介して、仮想会議クライアント282のアドレス情報を第2会議クライアント22に通知してもよい。第2会議クライアント22のユーザは、第1会議システム11において実行されている会議室への参加を要求する指示を、キーボード/マウス32を介して入力する。同時にユーザは、会議サーバ26によって受信されたアドレス通知データ(P39b)に含まれるアドレス情報を、キーボード/マウス32を介して入力する。
第2会議クライアント22は、入力されたアドレス情報を有する仮想会議クライアント282との第2会議接続を要求するデータ(「第3接続要求データ」という。)を、会議サーバ26に送信する(P41a)。仮想会議クライアント282は、第2会議クライアント22によって送信された第3接続要求データを第2方式で受信する(P41b)。なお、複数の通信方式に対応して複数の仮想会議クライアント282が起動されている場合、第3接続要求データを受信したポート番号に対応する仮想会議クライアント282が、以降の処理で用いられる。換言すれば、第3接続要求データを受信したポート番号に対応する通信方式が、第2会議クライアント22と通信を行う場合の通信方式(第2方式)として選択される。
仮想会議クライアント282と第2会議クライアント22との間で、第2会議接続の処理が実行される。仮想会議クライアント282は、第2会議接続の完了を通知するデータ(「第3接続完了データ」という。)を第2会議クライアント22に送信する(P43a)。第2会議クライアント22は、仮想会議クライアント282から送信された第3接続完了データを第2方式で受信する(P43b)。以上によって、仮想会議クライアント282と第2会議クライアント22との間でセッションが確立され、会議室を利用したWeb会議が可能になる。実行可能となる会議室は、仮想会議クライアント282のアドレス情報に含まれるポート番号によって識別される会議室、言い換えれば、第1会議クライアント21間で実行中の会議室である。
会議サーバ26と仮想会議クライアント282との間で、第3会議接続の処理が実行される(P44)。第3会議接続が完了した後、仮想会議クライアント282は、第3会議接続の完了を通知するデータ(「第4接続完了データ」という。)を会議サーバ26に送信する(P45a)。会議サーバ26は、仮想会議クライアント282から送信された第4会議完了データを第1方式で受信する(P45b)。以上によって、会議サーバ26と仮想会議クライアント282との間でセッションが確立され、会議室を利用したWeb会議可能となる。実行可能となる会議室は、仮想会議クライアント282のアドレス情報に含まれるポート番号によって識別される会議室、言い換えれば、第1会議クライアント21間で実行中の会議室である。
会議サーバ26と仮想会議クライアント282との間の第3会議接続が完了した後、第1会議クライアント21及び第2会議クライアント22は、会議サーバ26、及び、仮想会議クライアント282を介して、メディアデータの通信が可能となる(P47)。これによって、第1会議クライアント21と第2会議クライアント22との間で、共通の会議室を利用したWeb会議が実行される。
<Web会議終了時の通信シーケンス>
図7から図9を参照し、終了シーケンス(第1終了シーケンス(図7参照)、第2終了シーケンス(図8参照)、第3終了シーケンス(図9参照))について説明する。終了シーケンスは、第1会議クライアント21と第2会議クライアント22との間でWeb会議が実行されている場合において、第2会議クライアント22によるWeb会議が終了される場合の通信手順である。
<第1終了シーケンス>
図7を参照し、第1終了シーケンスについて説明する。第1終了シーケンスは、第1開始シーケンス(図5参照)によって第1会議クライアント21と第2会議クライアント22との間でWeb会議が開始された後、第2会議クライアント22によるWeb会議が終了される場合に対応する。
第1会議クライアント211のユーザは、第1会議クライアント211と第2会議クライアント22との間の会議接続の切断を要求する指示を、キーボード/マウス32を介して入力する。第1会議クライアント211は、第2会議クライアント22との会議接続の切断を要求するデータ(「第1切断要求データ」という。)を会議サーバ26に送信する(P51a)。第1切断要求データには、第2会議クライアント22のアドレス情報が含められる。会議サーバ26は、第1会議クライアント211から送信された第1切断要求データを第1方式で受信する(P51b)。
会議サーバ26は、受信された第1切断要求データを仮想会議クライアントマネージャ27に送信する(P53a)。仮想会議クライアントマネージャ27は、会議サーバ26から送信された第1切断要求データを第1方式で受信する(P53b)。仮想会議クライアントマネージャ27は、受信された第1切断要求データを仮想会議クライアント282に送信する(P55a)。仮想会議クライアント282は、仮想会議クライアントマネージャ27から送信された第1切断要求データを第1方式で受信する(P55b)。
仮想会議クライアント282は、仮想会議クライアント282と第2会議クライアント22との間の第2会議接続の切断を要求するデータ(以下、「第2切断要求データ」という。)を第2会議クライアント22に送信する(P57a)。第2会議クライアント22は、仮想会議クライアント282から送信された第2切断要求データを第2方式で受信する(P57b)。
仮想会議クライアント282と第2会議クライアント22との間で、第2会議接続を切断するための周知の処理が実行される。第2会議クライアント22は、第2会議接続の切断の完了を通知するデータ(「第1切断完了データ」という。)を仮想会議クライアント282に送信する(P59a)。仮想会議クライアント282は、第2会議クライアント22から送信された第1切断完了データを第2方式で受信する(P59b)。以上によって、仮想会議クライアント282と第2会議クライアント22との間でセッションが終了され、第2会議接続が切断される。これによって、第2会議クライアント22は会議室から退室し、第1会議クライアント211とのWeb会議は終了される。
仮想会議クライアント282と第2会議クライアント22との間の第2会議接続が切断された後、仮想会議クライアント282は、第2会議接続の切断の完了を通知するデータ(「第2切断完了データ」という。)を仮想会議クライアントマネージャ27に送信する(P61a)。仮想会議クライアントマネージャ27は、仮想会議クライアント282から送信された第2切断完了データを第1方式で受信する(P61b)。
又、仮想会議クライアント282と第2会議クライアント22との間の第2会議接続が切断された後、仮想会議クライアント282は、会議サーバ26との間の第3会議接続の切断を要求するデータ(「第4接続要求データ」という。)を会議サーバ26に送信する(P63a)。会議サーバ26は、仮想会議クライアント282から送信された第4切断要求データを第1方式で受信する(P63b)。会議サーバ26と仮想会議クライアント282との間で、第3会議接続を切断するための周知の処理が実行される。これによって、会議サーバ26と仮想会議クライアント282との間のセッションが終了され、第3会議接続が切断される。
なお、仮想会議クライアントマネージャ27は、仮想会議クライアント282から送信された第2切断完了データが受信された場合(P61b)、仮想会議クライアント282を終了させる(P65)。
<第2終了シーケンス>
図8を参照し、第2終了シーケンスについて説明する。第2終了シーケンスは、第1開始シーケンス(図5参照)によってWeb会議が開始された後、第2会議クライアント22によるWeb会議が終了される場合に対応する。第2終了シーケンスは、第1会議クライアント211と第2会議クライアント22との間の会議接続の切断が第2会議クライアント22側から要求されるという点で、第1終了シーケンスと異なる。第1終了シーケンスと同一の通信手順については、同一符号を付し、説明を省略する。
第2会議クライアント22のユーザは、第1会議クライアント21と第2会議クライアント22との間の会議接続の切断を要求する指示を、キーボード/マウス32を介して入力する。第2会議クライアント22は、第1会議クライアント211との会議接続の切断を要求するデータ(「第3切断要求データ」という。)を仮想会議クライアント282に送信する(P73a)。サーバ25は、第2会議クライアント22から送信された第3切断要求データを第2方式で受信する(P73b)。
仮想会議クライアント282と第2会議クライアント22との間で、第2会議接続を切断するための周知の処理が実行される。仮想会議クライアント282は、第2会議接続の切断の完了を通知するデータ(「第3切断完了データ」という。)を第2会議クライアント22に送信する(P75a)。第2会議クライアント22は、仮想会議クライアント282から送信された第3切断完了データを第2方式で受信する(P75b)。以上によって、仮想会議クライアント282と第2会議クライアント22との間でセッションが終了され、第2会議接続が切断される。これによって、第2会議クライアント22は会議室から退室し、第1会議クライアント211とのWeb会議は終了される。以降の処理は、第1終了シーケンスと同一である。
<第3終了シーケンス>
図9を参照し、第3終了シーケンスについて説明する。第3終了シーケンスは、第2開始シーケンス(図6参照)によってWeb会議が開始された後、第2会議クライアント22によるWeb会議が終了される場合に対応する。第1終了シーケンス(図7参照)と同一の通信手順については、同一符号を付し、説明を省略する。
第1会議クライアント211は、第1切断要求データをサーバ25に送信した(P51a)後、サーバ25の記憶部59に記憶されたアドレス情報の削除を要求するデータ(「削除要求データ」という。)を会議サーバ26に対して送信する(P105a)。会議サーバ26は、第1会議クライアント211から送信された削除要求データを第1方式で受信する(P105b)。
会議サーバ26は、受信された削除要求データを仮想会議クライアントマネージャ27に送信する(P107a)。仮想会議クライアントマネージャ27は、会議サーバ26から送信された第1削除要求データを第1方式で受信する(P107b)。仮想会議クライアントマネージャ27は、記憶部59に記憶されたアドレス情報(P38、図6参照)を削除する(P108)。仮想会議クライアントマネージャ27は、削除要求データが受信されたことに応じてアドレス情報が削除された後、仮想会議クライアント282を終了させる(P65)。
<再接続時の通信シーケンス>
図10を参照し、第1会議クライアント21と第2会議クライアント22との間で会議接続が一旦切断された後、会議接続が再開される場合の通信手順(再接続シーケンス)にについて説明する。再接続シーケンスでは、第2開始シーケンス(図6参照)に基づいてWeb会議が開始された後の通信手順に対応する。このため、仮想会議クライアント282の起動時に決定されたアドレス情報が、記憶部59に記憶されている(P38、図6参照)。再接続シーケンスでは、第1終了シーケンス(図7参照)の一部の手順に基づいて第2会議接続及び第3会議接続が切断される。次いで、第2開始シーケンス(図6参照)の一部の手順に基づいて第2会議接続及び第3会議接続が再開される。第1終了シーケンス、及び、第2開始シーケンスと同一の通信手順については、同一符号を付し、説明を省略又は簡略化する。
図10において、第2会議接続及び第3会議接続が切断されるまでの通信手順が、第1終了シーケンス(図7参照)に基づいて実行される(P51a〜P63b)。第1終了シーケンスと異なる点は、仮想会議クライアントマネージャ27によって第2切断完了データが受信された場合(P61b)でも、仮想会議クライアント282が終了されない点である。つまり、起動された仮想会議クライアント282は、第2会議接続及び第3会議接続が切断された後も維持される。
上記の状態において、第2会議クライアント22のユーザは、一旦終了された会議室への再度の参加を要求する指示を、キーボード/マウス32を介して入力する。同時にユーザは、アドレス情報を、キーボード/マウス32を介して入力する。入力されるアドレス情報は、会議接続が一旦切断された仮想会議クライアント282のアドレス情報である。
第2会議クライアント22は、入力されたアドレス情報を有する仮想会議クライアント282との第2会議接続を要求するデータ(「第3接続要求データ」という。)を、会議サーバ26に送信する(P41a)。仮想会議クライアント282は、第2会議クライアント22によって送信された第3接続要求データを受信する(P41b)。
仮想会議クライアント282は、受信された第3接続要求データに含まれるアドレス情報と、記憶部59に記憶されたアドレス情報とが一致する場合、第2会議クライアント22との間で第2会議接続の処理を実行する。仮想会議クライアント282は第3接続完了データを第2会議クライアント22に送信する(P43a)。第2会議クライアント22は、仮想会議クライアント282から送信された第3接続完了データを受信する(P43b)。これによって、仮想会議クライアント282と第2会議クライアント22との間でセッションが確立され、第2会議接続が再開される。P45a以降の処理は、第2開始シーケンスと同一である。
<本実施形態の主たる作用、効果>
以上説明したように、会議サーバ26は、第1会議クライアント21からメディアデータを受信し(S11,S31)、仮想会議クライアント282に送信する(S13)。仮想会議クライアント282は、会議サーバ26から送信されたメディアデータを受信し(S15)、ミキシングすることによってミキシングデータを生成する。仮想会議クライアント282は、生成されたミキシングデータを、第2会議クライアント22に送信する(S17)。又、仮想会議クライアント282は、第2会議クライアント22から送信されたメディアデータを受信し(S19)、会議サーバ26に送信する(S21)。会議サーバ26は、仮想会議クライアント282から送信されたメディアデータを受信し(S23)、第1会議クライアント21に送信する(S25、S35)。
以上の場合、会議サーバ26は、実在する会議クライアント20と通信を行う場合と同様の方法で仮想会議クライアント282と通信を行うことによって、第1会議クライアント21及び第2会議クライアント22との間でメディアデータを転送し、第1会議クライアント21及び第2会議クライアント22間でWeb会議を実行させることができる。なお、仮想会議クライアント282は、仮想会議クライアントマネージャ27によって起動されるプロセスであり、実在しない。このため、上記の通信方法によれば、既存のサーバ25をそのまま利用しつつ、通信方式の異なる会議システム10間でWeb会議を実行させることができる。
通信システム1は、第2会議クライアント22の数が増加した場合の拡張性において優れている。即ち、第2会議クライアント22の数が増加した場合でも、会議サーバ26をそのまま維持しつつ、それぞれの第2会議クライアント22と複数の第1会議クライアント21との間の通信を仲介する仮想会議クライアント28を追加することで対応できる。このため、第2会議クライアント22の増加に伴って会議サーバ26を増加する必要がない。
会議サーバ26は、第1会議クライアント21からメディアデータを受信し、仮想会議クライアント282に送信する。仮想会議クライアント282は、受信されたメディアデータを第1コーデックでデコードし、デコードされたメディアデータをミキシングしてミキシングデータを生成し、ミキシングデータを第2コーデックでエンコードする。仮想会議クライアント282は、第2会議クライアント22にミキシングデータを送信する。又、仮想会議クライアント282は、第2会議クライアント22からメディアデータを受信し、受信されたメディアデータを第2コーデックでデコードし、デコードされたメディアデータを第1コーデックでエンコードし、エンコードされたメディアデータを会議サーバ26に送信する。会議サーバ26は、仮想会議クライアント282からメディアデータを受信し、第1会議クライアント21に送信する。
このように、メディアデータのデコード、ミキシング、及び、エンコードは、全て仮想会議クライアント282によって実行され、会議サーバ26では実行されない。従って、エンコード、デコード、及び、ミキシングの各処理によって処理負荷が増加したり、処理遅延が発生したりした場合でも、会議サーバ26によるWeb会議の制御自体に影響が及び難い。このため、上記の通信方法によれば、会議クライアント20間のWeb会議の制御を会議サーバ26によって適切に実行しつつ、仮想会議クライアント28によって、メディアデータのエンコード、デコード、及び、ミキシングの各処理を実行させることができる。更に、第2会議クライアント22の数の増加に応じて仮想会議クライアント28が追加された場合において、エンコード、デコード、及び、ミキシングの処理負荷が増大しても、会議サーバ26によるWeb会議の制御自体に影響が及び難い。従って、以上の通信方法によれば、会議サーバ26をそのまま維持しつつ仮想会議クライアント28を追加できるので、高い拡張性を確保できる。
第1開始シーケンス(図5参照)において、仮想会議クライアント282は、仮想会議クライアントマネージャ27から送信された第1接続要求データを受信する(P19b)。仮想会議クライアント282は、第1接続要求データを受信したことに応じて、第1接続要求データに含まれるアドレス情報によって特定される第2会議クライアント22に対して、第2接続要求データを送信する(P21a)。仮想会議クライアント282は、第2接続要求データに応じて第2会議クライアント22から送信された第1接続完了データを受信する(P23b)。仮想会議クライアント282は、第1接続完了データを受信したことに応じて、会議サーバ26と第3会議接続の処理を実行する(P24)。この場合、仮想会議クライアント282は、仮想会議クライアントマネージャ27から送信された第1接続要求データを受信したことに応じて(P19b)、第2会議クライアント22を特定し、第2会議クライアント22と第2会議接続できる。又、仮想会議クライアント282は、第2会議クライアント22と第2会議接続した後、会議サーバ26と第3会議接続することによって、第1会議クライアント21と第2会議クライアント22との間の通信を可能とし、Web会議を実行させることができる。
第1開始シーケンス(図5参照)において、仮想会議クライアントマネージャ27は、第1接続要求データを会議サーバ26から受信する(P13b)。仮想会議クライアントマネージャ27は、第1接続要求データを受信したことに応じて、仮想会議クライアント282を起動する(P15)。仮想会議クライアントマネージャ27は、受信された第1接続要求データを仮想会議クライアントに送信する(P19a)このように、仮想会議クライアントマネージャ27は、第1接続要求データを受信したことに応じて(P13b)仮想会議クライアント282を起動することができる(P15)ので、適切なタイミングで仮想会議クライアント282を起動できる。
第2開始シーケンス(図6参照)において、第2会議クライアント22は、仮想会議クライアント282のアドレス情報を含む第3接続要求データを送信する(P41a)。仮想会議クライアント282は、第3接続要求データを受信する(P41b)。仮想会議クライアント282は、第3接続要求データを受信したことに応じて、会議サーバ26と第3会議接続する(P45a、P45b)。この場合、仮想会議クライアント282は、第3接続要求データを受信することに応じて(P41b)、第2会議クライアント22と第2会議接続し且つ会議サーバ26と第3会議接続できる(P43a、P43b、P45a、P45b)。このため、第2開始シーケンスによれば、仮想会議クライアント282は、第2会議クライアント22と第2会議接続したタイミングで、第1会議クライアント21と第2会議クライアント22との間の通信を可能とし、Web会議を実行させることができる。
第1終了シーケンス(図7参照)において、第1会議クライアント211は、第2会議クライアント22との接続の切断を要求する第1切断要求データを、会議サーバ26に送信する(P51a)。会議サーバ26は、第1切断要求データを受信し(P51b)、仮想会議クライアントマネージャ27に第1切断要求データを送信する(P53a)。仮想会議クライアントマネージャ27は、第1切断要求データを受信し(P53b)、仮想会議クライアント282に第1切断要求データを送信する(P55a)。仮想会議クライアント282は、第1切断要求データを受信し(P55b)、第2会議クライアント22に第2切断要求データを送信する(P57a)。仮想会議クライアント282は、第2会議クライアント22から第1切断完了データを受信したことに応じて(P59b)、会議サーバ26との第3会議接続を切断する(P63a、P63b)。仮想会議クライアントマネージャ27は、仮想会議クライアント282と会議サーバ26との間の第3会議接続が切断された後、仮想会議クライアント282を終了させる(P65)。このように、仮想会議クライアント282は、第1会議クライアント21からの要求に応じて第2会議クライアント22との間の第2会議接続を切断し(P59a、P59b)、且つ、仮想会議クライアント282と会議サーバ26との間の第3会議接続を切断できる(P63a、P63b)。又、仮想会議クライアントマネージャ27は、第2会議接続及び第3会議接続が切断された仮想会議クライアント282を終了させることによって、Web会議に用いられていない仮想会議クライアント28が維持されることを抑制できる。
第1終了シーケンス(図7参照)において、仮想会議クライアント282は、第2会議クライアント22から第1切断完了データを受信したこと(P59b)に応じて、仮想会議クライアントマネージャ27に第2切断完了データを送信する(P61a)。仮想会議クライアントマネージャ27は、第2切断完了データを受信したことに応じて(P61b)、仮想会議クライアント282を終了させる(P65)。この場合、仮想会議クライアントマネージャ27は、第2会議クライアント22と仮想会議クライアント282との間の第2会議接続、及び、会議サーバ26と仮想会議クライアント282との間の第3会議接続が切断された場合に、仮想会議クライアント282を適切に終了させることができる。
第2終了シーケンス(図8参照)において、仮想会議クライアント282は、第1会議クライアント21との接続の切断を要求する第3切断要求データを第2会議クライアント22から受信する(P73b)。仮想会議クライアント282は、第3切断要求データを受信したことに応じて、仮想会議クライアントマネージャ27に第2切断完了データを送信する(P61a)。仮想会議クライアント282は、第2切断完了データを送信したこと(P61a)に応じて、会議サーバ26との第3会議接続を切断する(P63a、P63b)。仮想会議クライアントマネージャ27は、第2切断完了データを受信したことに応じて(P61b)、仮想会議クライアント282を終了させる(P65)。このように、仮想会議クライアント282は、第2会議クライアント22からの要求に応じて第2会議クライアント22との間の第2会議接続を切断し(P75a、P75b)、且つ、仮想会議クライアント282と会議サーバ26との間の第3会議接続を切断できる(P63a、P63b)。又、仮想会議クライアントマネージャ27は、第2会議接続及び第3会議接続が切断された仮想会議クライアント282を終了させることによって、Web会議に用いられていない仮想会議クライアント28が維持されることを抑制できる。
<変形例>
本発明は上記実施形態に限定されず、種々の変更が可能である。図11を参照し、本発明の変形例における通信システム1Aについて説明する。通信システム1Aが上記実施形態における通信システム1と異なる点は、第1会議システム11に第1サーバ25A及び第2サーバ25Bが含まれる点である。第1サーバ25Aは、Web会議における会議サーバの機能、即ち、複数の第1会議クライアント21がWeb会議を実行する場合に、複数の第1会議クライアント21間で送受信されるメディアデータを転送する機能を実現する。第2サーバ25Bは、例えば、第1会議システム11と第2会議システム12及び第3会議システム13との間に介在するプロキシサーバ等である。
第1サーバ25Aの制御部51Aによって、上記実施形態における複数のプロセスのうち会議サーバ26が実行される。一方、第2サーバ25Bの制御部51Bによって、上記実施形態における複数のプロセスのうち仮想会議クライアントマネージャ27及び仮想会議クライアント28が実行される。なお、図11において、図1のサーバ25におけるインタフェース57、58に対応する構成は省略されている。
通信システム1Aにおいて、第1会議クライアント21と第2会議クライアント22との間でWeb会議が実行される場合における通信の概要について説明する。第1会議クライアント211から送信されたメディアデータは、第1サーバ25Aの制御部51Aが実行する会議サーバ26(以下、「第1サーバ25Aの会議サーバ26」という。)によって受信される。第1サーバ25Aの会議サーバ26は、受信されたメディアデータを第1会議クライアント212に送信する。同様に、第1会議クライアント212から送信されたメディアデータは、第1サーバ2Aの会議サーバ26によって受信される。会議サーバ26は、受信されたメディアデータを第1会議クライアント211に第1方式で送信する。
第1サーバ2Aの会議サーバ26は、第1会議クライアント211、212からそれぞれ受信されたメディアデータを、第2サーバ25Bの制御部51によって実行される仮想会議クライアント282(以下、「第2サーバ25Bの仮想会議クライアント282」という。)に送信する。第2サーバ25Bの仮想会議クライアント282は、メディアデータを第1方式で受信する。
第2サーバ2Bの仮想会議クライアント282は、第1会議クライアント211、212から送信されたメディアデータをそれぞれ第1コーデックによってデコードする。第2サーバ25Bの仮想会議クライアント282は、デコードされたメディアデータをミキシングし、ミキシングデータを生成する。第2サーバ25Bの仮想会議クライアント282は、生成されたミキシングデータをエンコードする。ミキシングデータは、第2コーデックによってエンコードされる。第2サーバ25Bの仮想会議クライアント282は、エンコードされた映像ミキシングデータを、第2会議クライアント22に第2方式で送信する。
第2会議クライアント22の制御部31は、仮想会議クライアント282から送信されたミキシングデータを受信する。制御部31は、受信されたミキシングデータを第2コーデックによってデコードする。デコードされたミキシングデータに基づく映像は、モニタ33に表示される。デコードされたミキシングデータに基づく音は、スピーカ35から出力される。
第2会議クライアント22の制御部31は、カメラ34及びマイク36から取得されたメディアデータを、第2コーデックによってエンコードする。制御部31は、エンコードされたメディアデータを、第2サーバ25Bの仮想会議クライアント282に第2方式で送信する。
第2サーバ25Bの仮想会議クライアント282は、メディアデータを受信する。第2サーバ25Bの仮想会議クライアント282は、受信されたメディアデータを第2コーデックによってデコードする。第2サーバ25Bの仮想会議クライアント282は、デコードされたメディアデータを、第1コーデックによってエンコードする。第2サーバ25Bの仮想会議クライアント282は、エンコードされたメディアデータを、第1サーバ25Aの会議サーバ26に第1方式で送信する。
第1サーバ25Aの会議サーバ26は、メディアデータを受信する。第1サーバ25Aの会議サーバ26は、受信されたメディアデータを、第1会議クライアント21に第1方式で送信する。
第1会議クライアント21の制御部31は、第1サーバ25Aの会議サーバ26及び他の第1会議クライアント21からそれぞれ送信されたメディアデータを受信する。制御部31は、受信されたメディアデータを、第1コーデックによってデコードする。デコードされたミキシングデータに基づく映像は、モニタ33に表示される。デコードされたミキシングデータに基づく音は、スピーカ35から出力される。
以上のように、変形例において、会議サーバ26と、仮想会議クライアント28とは、それぞれ別々のサーバ(第1サーバ25A及び第2サーバ25B)の制御部によって実行される。従って、エンコード、デコード、及び、ミキシングの各処理によって第2サーバ25Bの仮想会議クライアント28の処理負荷が増加したり、処理遅延が発生したりした場合でも、第1サーバ25Aの会議サーバ26によるWeb会議の制御自体に影響が更に及び難い。このため、変形例における通信方法によれば、会議クライアント20間のWeb会議の制御を第1サーバ25Aによって適切に実行しつつ、第2サーバ25Bによって、メディアデータのエンコード、デコード、及び、ミキシングの各処理を実行させることができる。
又、通信システム1Aは、通信システム1と同様、第2会議クライアント22の数が増加した場合の拡張性において優れている。即ち、第2会議クライアント22の数が増加した場合でも、第2サーバ25Bの制御部51Bにおいて仮想会議クライアント28を追加することで対応できる。なお、第1サーバ25Aの制御部51Aは会議サーバ26をそのまま維持できる。このため、第2会議クライアント22の増加に伴って第1サーバ25Aを増加する必要がない。更に、第2会議クライアント22の数の増加に応じて仮想会議クライアント28が追加された場合において、エンコード、デコード、及び、ミキシングの処理負荷が増大しても、第1サーバ25Aの制御部51Aが会議サーバ26を実行することよる、Web会議の制御自体に影響が及び難い。従って、以上の通信方法によれば、第1サーバ25Aにおいて制御部51Aが会議サーバ26をそのまま維持しつつ、第2サーバ25Bの制御部51Bにおいて仮想会議クライアント28を追加できるので、高い拡張性を確保できる。
<その他の変形例>
第1開始シーケンス(図5参照)において、第1会議クライアント211のユーザによって、第2会議クライアント22、及び、第3会議クライアント23と第1会議クライアント211との間の会議接続を要求する指示が、キーボード/マウス32を介して入力されてもよい。この場合、第1会議クライアント211の制御部31は、第2会議クライアント22、及び、第3会議クライアント23のアドレス情報をそれぞれ含む2つの第1接続要求データを、会議サーバ26に送信してもよい(P11a)。会議サーバ26は、2つの第1接続要求データを受信した場合(P11b)、受信された2つの第1接続要求データを仮想会議クライアントマネージャ27に送信してもよい(P13a)。仮想会議クライアントマネージャ27は、2つの第1接続要求データを受信した場合(P13b)、それぞれの第1接続要求データに応じ、第2会議クライアント22に対応する仮想会議クライアント282と、第3会議クライアント23に対応する仮想会議クライアント283とを起動してもよい(P15)。これによって、第1会議クライアント21、第2会議クライアント22、及び、第3会議クライアント23間でWeb会議を実行させることが可能となる。
なお上記の変形例において、第1会議クライアント211のユーザによって複数の会議クライアント20との会議接続を要求する指示が入力された場合、各会議クライアント20のアドレス情報を全て含む1つの第1接続要求データが第1会議クライアント211から送信されてもよい。仮想会議クライアントマネージャ27は、複数のアドレス情報を含む第1接続要求データを受信した場合、各アドレス情報に対応する複数の仮想会議クライアント28を起動してもよい。
上記実施形態において、第1コーデック及び第2コーデックを共通としてもよい。この場合、仮想会議クライアント28におけるエンコード及びデコードの処理は不要となる。従って、仮想会議クライアント28は、会議サーバ26から送信されたメディアデータを受信した場合(S15)、受信されたメディアデータをそのままミキシングしてミキシングデータを生成し、そのまま第2会議クライアント22に送信してもよい。
又、仮想会議クライアント28は、第2会議クライアント22から送信されたメディアデータを受信した場合(S19)、受信されたメディアデータをそのまま会議サーバ26に送信してもよい。
第1開始シーケンス(図5参照)において、仮想会議クライアント282は、仮想会議クライアントマネージャ27から送信された第1接続要求データを受信した場合(P19b)、第1接続要求データに含まれるアドレス情報によって特定される第2会議クライアント22に第2接続要求データを送信した(P21a)。これによって、仮想会議クライアント282は、第2会議クライアント22との間で第2会議接続し、会議サーバ26との間で第3会議接続した(P21a、P21b、P25a、P25b)。これに対し、会議サーバ26は、仮想会議クライアント282に第1接続要求データを送信してもよい。仮想会議クライアント282は、仮想会議クライアントマネージャ27を介さず、会議サーバ26から第1接続要求データを直接受信してもよい。
第1開始シーケンス(図5参照)において、仮想会議クライアントマネージャ27は、第1接続要求データを会議サーバ26から受信した場合(P13b)、仮想会議クライアント282を起動した(P15)。これに対し、仮想会議クライアント282は常時起動されていてもよい。又、第1〜第3終了シーケンス(図7〜図9参照)において、仮想会議クライアントは終了されなくてもよい。これらの場合、サーバ25において仮想会議クライアントマネージャ27は実行されなくてもよい。
第2開始シーケンス(図6参照)において、第2会議クライアント22は、仮想会議クライアント28のアドレス情報を含む第3接続要求データを送信した(P41a)。仮想会議クライアント282は、第3接続要求データを受信し(P41b)、第2会議クライアント22との間で第2会議接続の処理を実行した(P45a、P45b)。これによって、アドレス情報に含まれるポート番号によって識別される会議室を利用したWeb会議が、第1会議クライアント21と第2会議クライアント22との間で実行可能となった。これに対し、例えば、アドレス情報に加えて会議IDが第3接続要求データに含まれていてもよい。仮想会議クライアント282は、第2会議クライアント22との間で第2会議接続の処理を実行することによって、会議IDよって識別される会議室を利用したWeb会議を実行可能としてもよい。
第1〜第3終了シーケンス(図7〜図9参照)において、仮想会議クライアントマネージャ27は、第2切断完了データを受信したことに応じて(P61b)、仮想会議クライアント282を終了させた(P65)。これに対し、例えば第1終了シーケンス(図7参照)及び第3終了シーケンス(図9参照)において、第1会議クライアント21は、仮想会議クライアント282の終了を要求する終了要求データを会議サーバ26に送信してもよい。会議サーバ26は、会議サーバ26から送信された終了要求データを、仮想会議クライアントマネージャ27に送信してもよい。又、例えば第2終了シーケンス(図8参照)において、第2会議クライアント22は、仮想会議クライアント282の終了要求データを仮想会議クライアント282に送信してもよい。仮想会議クライアント282は、第2会議クライアント22から送信された終了要求データを、仮想会議クライアントマネージャ27に送信してもよい。仮想会議クライアントマネージャ27は、終了要求データを受信したことに応じて、仮想会議クライアント282を終了させてもよい。これらの場合、会議クライアント20は、第2会議接続及び第3会議接続の切断時に仮想会議クライアント28を終了させると同時に、第2会議接続及び第3会議接続を再開させる場合に仮想会議クライアント28を維持させることができる。
1、1A :通信システム
20 :会議クライアント
10 :会議システム
11 :第1会議システム
12 :第2会議システム
13 :第3会議システム
20 :会議クライアント
21、211、212 :第1会議クライアント
22 :第2会議クライアント
23 :第3会議クライアント
25 :サーバ
25A :第1サーバ
25B :第2サーバ
26 :会議サーバ
27 :仮想会議クライアントマネージャ
28、282、283 :仮想会議クライアント
59 :記憶部

Claims (12)

  1. 会議サーバを介して第1方式の通信によって遠隔会議を実行可能な複数の第1会議クライアントと、前記第1方式と異なる第2方式の通信によって遠隔会議を実行可能な第2会議クライアントとの間で遠隔会議が実行される場合の通信方法であって、
    前記会議サーバが、前記複数の第1会議クライアントから前記第1方式の通信によって送信された複数の第1メディアデータを受信し、
    前記会議サーバが、受信された前記複数の第1メディアデータを前記第1方式の通信によって、前記会議サーバで実行される仮想会議クライアントに送信し、
    前記仮想会議クライアントが、前記会議サーバから送信された前記複数の第1メディアデータを前記第1方式の通信によって受信し、
    前記仮想会議クライアントが、受信された前記複数の第1メディアデータをミキシングしてミキシングデータを生成し、
    前記仮想会議クライアントが、生成された前記ミキシングデータを前記第2会議クライアントに前記第2方式の通信によって送信し、
    前記仮想会議クライアントが、前記第2会議クライアントから第2メディアデータを前記第2方式の通信によって受信し、
    前記仮想会議クライアントが、受信された前記第2メディアデータを前記会議サーバに前記第1方式の通信によって送信し、
    前記会議サーバが、前記仮想会議クライアントから送信された前記第2メディアデータを前記第1方式の通信によって受信し、
    前記会議サーバが、受信された前記第2メディアデータを前記複数の第1会議クライアントに前記第1方式の通信によって送信することを特徴とする通信方法。
  2. 前記会議サーバは、第1コーデックによってエンコードされた前記複数の第1メディアデータを、前記複数の第1会議クライアントから受信し、
    前記仮想会議クライアントは、
    受信された前記複数の第1メディアデータを前記第1コーデックでデコードし、
    デコードされた前記複数の第1メディアデータをミキシングして前記ミキシングデータを生成し、
    生成された前記ミキシングデータを、第2コーデックでエンコードし、
    前記仮想会議クライアントは、前記第2コーデックでエンコードされた前記ミキシングデータを、前記第2会議クライアントに送信することを特徴とする請求項1に記載の通信方法。
  3. 前記仮想会議クライアントは、第2コーデックによってエンコードされた前記第2メディアデータを、前記第2会議クライアントから受信し、
    前記仮想会議クライアントは、受信された前記第2メディアデータを前記第2コーデックでデコードし、
    前記仮想会議クライアントは、デコードされた前記第2メディアデータを第1コーデックでエンコードし、
    前記仮想会議クライアントは、前記第1コーデックでエンコードされた前記第2メディアデータを、前記会議サーバに送信し、
    前記会議サーバは、前記第1コーデックでエンコードされた前記第2メディアデータを、前記複数の第1会議クライアントに送信することを特徴とする請求項1又は2に記載の通信方法。
  4. 前記仮想会議クライアントを起動する仮想会議クライアントマネージャから送信されたデータであって、前記第2会議クライアントのアドレス情報を含む第1接続要求データを、前記仮想会議クライアントが受信し、
    前記仮想会議クライアントが、前記第1接続要求データを受信したことに応じて、前記アドレス情報によって識別される前記第2会議クライアントに対して、前記仮想会議クライアントと前記第2会議クライアントとの接続を要求する第2接続要求データを送信し、
    前記仮想会議クライアントが、送信された前記第2接続要求データに応じて前記第2会議クライアントから送信された第1接続完了データを受信し、
    前記仮想会議クライアントが、前記第1接続完了データを受信したことに応じて前記会議サーバと接続することを特徴とする請求項1から3の何れかに記載の通信方法。
  5. 前記仮想会議クライアントマネージャが、前記第1接続要求データを前記会議サーバから受信し、
    前記仮想会議クライアントマネージャが、前記第1接続要求データを受信したことに応じて前記仮想会議クライアントを起動し、
    前記仮想会議クライアントマネージャが、受信された前記第1接続要求データを前記仮想会議クライアントに送信することを特徴とする請求項4に記載の通信方法。
  6. 前記第2会議クライアントから送信されたデータであって、前記仮想会議クライアントのアドレス情報を含み、前記仮想会議クライアントとの接続を要求する第3接続要求データを、前記仮想会議クライアントが受信し、
    前記仮想会議クライアントが、前記第3接続要求データを受信したことに応じて、前記会議サーバと接続することを特徴とする請求項1から5の何れかに記載の通信方法。
  7. 前記第1会議クライアントが前記第2会議クライアントとの接続の切断を要求する第1切断要求データを、前記仮想会議クライアントが前記会議サーバから受信したことに応じ、前記仮想会議クライアントが前記第2会議クライアントに第2切断要求データを送信し、
    前記仮想会議クライアントが、前記第2切断要求データを送信したことに応じて、前記第2会議クライアントから第1切断完了データを受信し、
    前記仮想会議クライアントが、前記第1切断完了データを受信したことに応じて、前記会議サーバとの接続を切断し、
    前記仮想会議クライアントマネージャが、前記仮想会議クライアントと前記会議サーバとの間の接続が切断された後、前記仮想会議クライアントを終了させることを特徴とする請求項4又は5に記載の通信方法。
  8. 前記仮想会議クライアントが、前記第1切断完了データを受信したことに応じて、前記仮想会議クライアントマネージャに第2切断完了データを送信し、
    前記仮想会議クライアントマネージャは、前記第2切断完了データを受信したことに応じて、前記仮想会議クライアントを終了させることを特徴とする請求項7に記載の通信方法。
  9. 前記第2会議クライアントが前記第1会議クライアントとの接続の切断を要求する第3切断要求データを、前記仮想会議クライアントが前記第2会議クライアントから受信し、
    前記仮想会議クライアントが、前記第3切断要求データを受信したことに応じて、前記仮想会議クライアントマネージャに第2切断完了データを送信し、
    前記仮想会議クライアントが、前記第2切断完了データを送信したことに応じて、前記会議サーバとの接続を切断し、
    前記仮想会議クライアントマネージャが、前記第2切断完了データを受信したことに応じて、前記仮想会議クライアントを終了させることを特徴とする請求項4又は5に記載の通信方法。
  10. 前記仮想会議クライアントマネージャが、複数の前記第2会議クライアントのそれぞれのアドレス情報を含む複数の前記第1接続要求データを、前記会議サーバから受信し、
    前記仮想会議クライアントマネージャが、前記複数の第1接続要求データを受信したことに応じて、各第1接続要求データに対応する複数の前記仮想会議クライアントを起動することを特徴とする請求項5に記載の通信方法。
  11. 第1サーバを介して第1方式の通信によって遠隔会議を実行可能な複数の第1会議クライアント、前記第1方式と異なる第2方式の通信を行う第2会議クライアント、前記第1サーバ、及び、第2サーバを備えた通信システムであって、
    前記第1サーバは、
    前記複数の第1会議クライアントから前記第1方式の通信によって送信された複数の第1メディアデータであって、第1コーデックによってエンコードされた複数の第1メディアデータを受信し、
    受信された前記複数の第1メディアデータを前記第1方式の通信によって、前記第2サーバに送信し、
    前記第2サーバは、
    前記第1サーバから送信された前記複数の第1メディアデータを前記第1方式の通信によって受信し、
    受信された前記複数の第1メディアデータを前記第1コーデックでデコードし、
    デコードされた前記複数の第1メディアデータをミキシングしてミキシングデータを生成し、
    生成された前記ミキシングデータを、第2コーデックでエンコードし、
    前記第2コーデックでエンコードされた前記ミキシングデータを、前記第2会議クライアントに前記第2方式の通信によって送信し、
    前記第2会議クライアントから、前記第2コーデックによってエンコードされた第2メディアデータを、前記第2方式の通信によって受信し、
    受信された前記第2メディアデータを前記第2コーデックでデコードし、
    デコードされた前記第2メディアデータを前記第1コーデックでエンコードし、
    前記第1コーデックでエンコードされた前記第2メディアデータを、前記第1サーバに前記第1方式の通信によって送信し、
    前記第1サーバは、
    前記第2サーバから送信された前記第2メディアデータを前記第1方式の通信によって受信し、
    受信された前記第2メディアデータを前記複数の第1会議クライアントに前記第1方式の通信によって送信する
    ことを特徴とする通信システム。
  12. 会議サーバを介して第1方式の通信によって遠隔会議を実行可能な複数の第1会議クライアントと、前記第1方式と異なる第2方式の通信を行う第2会議クライアントとの間で遠隔会議を実行するための通信プログラムであって、
    前記複数の第1会議クライアントから前記第1方式の通信によって送信された複数の第1メディアデータであって、第1コーデックによってエンコードされた複数の第1メディアデータが前記会議サーバによって前記第1方式の通信によって受信され、受信された前記複数の第1メディアデータが前記会議サーバから前記第1方式の通信によって送信された場合、前記複数の第1メディアデータを前記会議サーバから前記第1方式の通信によって受信するステップと、
    受信された前記複数の第1メディアデータを前記第1コーデックでデコードするステップと、
    デコードされた前記複数の第1メディアデータをミキシングしてミキシングデータを生成するステップと、
    生成された前記ミキシングデータを、第2コーデックでエンコードするステップと、
    前記第2コーデックでエンコードされた前記ミキシングデータを前記第2会議クライアントに前記第2方式の通信によって送信するステップと、
    前記第2会議クライアントから、前記第2コーデックによってエンコードされた第2メディアデータを、前記第2方式の通信によって受信するステップと、
    受信された前記第2メディアデータを前記第2コーデックでデコードするステップと、
    デコードされた前記第2メディアデータを前記第1コーデックでエンコードするステップと、
    前記第1コーデックでエンコードされた前記第2メディアデータを、前記会議サーバに前記第1方式の通信によって送信するステップと、
    を、コンピュータに実行させるための通信プログラム。
JP2016011633A 2016-01-25 2016-01-25 通信方法、通信システム、及び、通信プログラム Expired - Fee Related JP6387972B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016011633A JP6387972B2 (ja) 2016-01-25 2016-01-25 通信方法、通信システム、及び、通信プログラム
US15/415,304 US20170214725A1 (en) 2016-01-25 2017-01-25 Communication Method, Communication System, and Storage Medium Storing Communication Program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016011633A JP6387972B2 (ja) 2016-01-25 2016-01-25 通信方法、通信システム、及び、通信プログラム

Publications (2)

Publication Number Publication Date
JP2017135459A true JP2017135459A (ja) 2017-08-03
JP6387972B2 JP6387972B2 (ja) 2018-09-12

Family

ID=59359441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016011633A Expired - Fee Related JP6387972B2 (ja) 2016-01-25 2016-01-25 通信方法、通信システム、及び、通信プログラム

Country Status (2)

Country Link
US (1) US20170214725A1 (ja)
JP (1) JP6387972B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017184069A (ja) * 2016-03-31 2017-10-05 ブラザー工業株式会社 通信システム、通信プログラム、及び、通信方法
JP2018120270A (ja) * 2017-01-23 2018-08-02 ブラザー工業株式会社 通信方法及び通信プログラム
JP7494311B2 (ja) 2020-03-27 2024-06-03 北京字節跳動網絡技術有限公司 インタラクション方法、装置及び電子機器

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785271B1 (en) * 2019-06-04 2020-09-22 Microsoft Technology Licensing, Llc Multipoint conferencing sessions multiplexed through port

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067124A (ja) * 2004-08-25 2006-03-09 Nec Corp 画像符号化データの切り替え方法および装置、システムならびにプログラム
WO2007088589A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 電子会議におけるコンテンツ配信方法及び装置
US20090160929A1 (en) * 2007-12-20 2009-06-25 Cisco Techonlogy, Inc. System and Method for Video Conferencing
JP2014068339A (ja) * 2012-07-30 2014-04-17 Polycom Inc 様々な参加装置からなるビデオ会議を管理するための方法及びシステム
JP2015156592A (ja) * 2014-02-21 2015-08-27 株式会社リコー ネットワークシステムおよびネットワーク管理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020075303A1 (en) * 2000-12-18 2002-06-20 Nortel Networks Limited And Bell Canada Method and system for creating a virtual team environment
US8775112B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US9402054B2 (en) * 2014-12-08 2016-07-26 Blue Jeans Network Provision of video conference services

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067124A (ja) * 2004-08-25 2006-03-09 Nec Corp 画像符号化データの切り替え方法および装置、システムならびにプログラム
WO2007088589A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 電子会議におけるコンテンツ配信方法及び装置
US20090160929A1 (en) * 2007-12-20 2009-06-25 Cisco Techonlogy, Inc. System and Method for Video Conferencing
JP2014068339A (ja) * 2012-07-30 2014-04-17 Polycom Inc 様々な参加装置からなるビデオ会議を管理するための方法及びシステム
JP2015156592A (ja) * 2014-02-21 2015-08-27 株式会社リコー ネットワークシステムおよびネットワーク管理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017184069A (ja) * 2016-03-31 2017-10-05 ブラザー工業株式会社 通信システム、通信プログラム、及び、通信方法
JP2018120270A (ja) * 2017-01-23 2018-08-02 ブラザー工業株式会社 通信方法及び通信プログラム
JP7494311B2 (ja) 2020-03-27 2024-06-03 北京字節跳動網絡技術有限公司 インタラクション方法、装置及び電子機器

Also Published As

Publication number Publication date
JP6387972B2 (ja) 2018-09-12
US20170214725A1 (en) 2017-07-27

Similar Documents

Publication Publication Date Title
JP6493236B2 (ja) 通信方法、通信プログラム、及び、サーバ
WO2019090902A1 (zh) 屏幕共享的方法、装置、电子设备及存储介质
US9035991B2 (en) Collaboration system and method
US9024995B2 (en) Video calling using a remote camera device to stream video to a local endpoint host acting as a proxy
US11489891B2 (en) Virtual video driver bridge system for multi-source collaboration within a web conferencing system
WO2015117513A1 (zh) 视频会议控制方法和系统
JP2009541901A (ja) ドキュメントを共有するためのオンライン会議システム
WO2016184001A1 (zh) 视频监控处理方法及装置
JP2021513768A (ja) ミーティングの参加者が機能デバイスを利用できるようにするための方法およびシステム
WO2015127799A1 (zh) 协商媒体能力的方法和设备
JP6387972B2 (ja) 通信方法、通信システム、及び、通信プログラム
US20160028996A1 (en) Teleconference System, Storage Medium Storing Program for Server Apparatus, and Storage Medium Storing Program for Terminal Apparatus
US9438857B2 (en) Video conferencing system and multi-way video conference switching method
JP2014507837A (ja) ローカルメディアレンダリング
CN103581607B (zh) 使用远程摄像机设备将视频流传递到本地端点主机的方法
WO2013175717A1 (ja) テレビ会議システム
US20220391452A1 (en) Method for conducting an audio and/or video conference
JP2007020062A (ja) コミュニケーションシステムにおけるネットワークカメラの接続方法
JP2007215016A (ja) 多地点会議システム及びその制御方法、並びにプログラム
JP2022038408A (ja) 処理装置、プログラム、処理方法、会議システム、及び会議方法
CN113726534A (zh) 会议控制方法、装置、电子设备及存储介质
JP6692922B2 (ja) 複数のビデオ会議用端末を用いてマルチスクリーンビデオ会議を提供できるビデオ会議サーバー及びその方法
TWI531244B (zh) 視訊會議資料處理方法及系統
TWI407363B (zh) 多分割畫面之集中顯示系統與方法
JP6365578B2 (ja) 通信システム、通信プログラム、及び、通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180730

R150 Certificate of patent or registration of utility model

Ref document number: 6387972

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees