JP2019066970A - 制御プログラム及び制御方法 - Google Patents
制御プログラム及び制御方法 Download PDFInfo
- Publication number
- JP2019066970A JP2019066970A JP2017189289A JP2017189289A JP2019066970A JP 2019066970 A JP2019066970 A JP 2019066970A JP 2017189289 A JP2017189289 A JP 2017189289A JP 2017189289 A JP2017189289 A JP 2017189289A JP 2019066970 A JP2019066970 A JP 2019066970A
- Authority
- JP
- Japan
- Prior art keywords
- internal
- server
- client
- external
- conference
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Abstract
【課題】LANの内外に接続されたそれぞれのクライアントの間で遠隔会議を適切に実行するための制御プログラム、及び制御方法を提供する。【解決手段】通信システムは、第1ネットワークに接続する内部クライアント、外部の第2ネットワークに接続する外部クライアントの間で実行される遠隔会議を制御するプロセスを実行可能な会議サーバを制御する制御装置を有する。制御装置は、クライアント情報を取得する(S11)。制御装置は、取得されたクライアント情報に基づき、複数のクライアントに外部クライアントが含まれるか判定する(S13)。制御装置は、外部クライアントが含まれていると判定された場合(S13:YES)、第2ネットワークに接続された外部サーバを決定する(S17)。制御装置は、決定された外部サーバにプロセスを実行させ、複数のクライアントとプロセスとを接続させる(S21)。【選択図】図3
Description
本発明は、ネットワークを介して通信を行うことによって遠隔会議を実現するための制御プログラム及び制御方法に関する。
特許文献1は、マスタ・サーバ、外部クライアント、クラスタ・ノード・サーバ、及びローカル・クライアントを含むテレビ会議システムを開示する。クラスタ・ノード・サーバ及びローカル・クライアントは、LANの内部に配置され、マスタ・サーバ及び外部クライアントは、LANの外部に配置される。ローカル・クライアント間での音声及びビデオの情報の通信は、クラスタ・ノード・サーバを介して実行される。又、外部クライアントとローカル・クライアントとの間での音声及びビデオの情報の通信は、マスタ・サーバ及びローカル・ノード・サーバを介して実行される。これによって、LANの外部のクライアント(外部クライアント)と、LANの内部のクライアント(ローカル・クライアント)との間でテレビ会議が実行される。
LANのセキュリティを維持するために、LANにファイヤーウォールが設けられる場合がある。ファイヤーウォールは、通常、LANの内部から外部に向けて送信された情報を通過させ、LANの外部から内部に向けて送信された情報を遮断する。このため、例えば上記のテレビ会議システムの場合、LANの外部に設けられたマスタ・サーバから、LANの内部に設けられたクラスタ・ノード・サーバに対して、接続を要求する情報が送信された場合、この情報がファイヤーウォールによって遮断される可能性がある。この場合、マスタ・サーバとローカル・ノード・クライアント間での通信ができず、外部クライアントとローカル・クライアントとの間でテレビ会議を実行することができない場合があるという問題点がある。
本発明の目的は、LANの内外に接続されたそれぞれのクライアントの間で遠隔会議を適切に実行するための制御プログラム、及び制御方法を提供することである。
本発明の第1態様に係る制御プログラムは、特定の第1ネットワークに接続する内部クライアント、及び、前記第1ネットワークに対して外部の第2ネットワークに接続する外部クライアントの少なくとも何れかを含む複数のクライアントの間で実行される遠隔会議を制御するプロセスを実行可能な会議サーバを制御する制御装置のコンピュータに、前記複数のクライアントに関するクライアント情報を取得する取得ステップと、前記取得ステップによって取得された前記クライアント情報に基づき、前記複数のクライアントに前記外部クライアントが含まれるか判定する第1判定ステップと、前記第1判定ステップによって、前記外部クライアントが含まれていると判定された場合、前記第2ネットワークに接続された前記会議サーバである外部サーバを決定する決定ステップと、前記決定ステップによって決定された前記外部サーバに前記プロセスを実行させ、前記複数のクライアントと前記プロセスとを接続させる第1実行ステップとを実行させる。
制御装置は、クライアントに外部クライアントが含まれている場合、外部サーバを決定してプロセスを実行させる。外部サーバによって実行されたプロセス(外部プロセス)は、複数のクライアントの間で実行される遠隔会議を制御する。この場合、例えば複数のクライアントに内部クライアントと外部クライアントとが含まれている場合でも、第1ネットワークに接続された内部クライアントから第2ネットワークに接続された外部プロセスに向けて送信される接続要求は、第1ネットワークに設けられたファイヤーウォールによって遮断されない。従って、内部クライアントは外部プロセスと接続し、外部クライアントとの間で遠隔会議を実行できる。つまり、外部サーバに外部プロセスを実行させることによって、外部クライアント及び内部クライアントの何れも、外部プロセスと接続して通信を行うことができることになる。このように、制御装置は、第1ネットワークの内外に接続されたクライアント(内部クライアント及び外部クライアント)の間で遠隔会議を円滑に実行させることができる。
第1態様において、前記複数のクライアントに前記内部クライアントが含まれるか判定する第2判定ステップと、前記第2判定ステップによって、前記内部クライアントが含まれていると判定された場合、前記内部クライアントが接続する前記第1ネットワークに接続された前記会議サーバである内部サーバに前記プロセスを実行させる第2実行ステップと、前記第1実行ステップによって前記外部サーバに実行させた前記プロセスである外部プロセスと、前記第2実行ステップによって前記内部サーバに実行させた前記プロセスである内部プロセスとを接続させ、前記遠隔会議の制御を連携させる連携ステップと、前記第1実行ステップによって前記外部プロセスと接続された前記内部クライアントを、前記第2実行ステップによって実行された前記内部プロセスに接続させる第3実行ステップとを、前記コンピュータに更に実行させてもよい。制御装置は、複数のクライアントに内部クライアントが含まれている場合、内部サーバに内部プロセスを実行させる。この場合、更に、制御装置は、内部プロセスと外部プロセスとを接続させることによって、内部プロセスと外部プロセスとを連携させる。この場合、内部クライアントと外部クライアントとの間の通信は、内部プロセスと外部プロセスとの間の接続を介して実行されることになる。従って、制御装置は、内部クライアントと外部プロセスとの間で通信が直接実行される場合と比べて、通信のトラフィックを軽減できる。
第1態様において、前記連携ステップは、前記第1実行ステップによって前記外部サーバに実行させた前記外部プロセスと、前記第2実行ステップによって前記内部サーバに実行させた前記内部プロセスとを接続させ、前記内部サーバから前記外部サーバへ連携要求を送信して前記遠隔会議の制御を連携させてもよい。この場合、制御装置は、内部サーバと外部サーバとの連携を適切に実行できる。
第1態様において、前記第2実行ステップは、複数の前記内部サーバの何れかを選択して前記内部プロセスを実行させ、前記連携ステップにおいて、選択された前記内部サーバに実行させた前記内部プロセスと前記外部プロセスとが接続して連携が成功したか判定する第3判定ステップを更に実行し、前記第2実行ステップは、前記第3判定ステップによって連携に失敗したと判定された場合、前記複数の内部サーバのうち接続に失敗した前記内部サーバを除く前記内部サーバの何れかを選択して前記内部プロセスを実行させてもよい。この場合、制御装置は、複数の内部サーバの何れかに実行させた内部プロセスと外部プロセスとの連携に失敗しても、他の内部サーバに内部プロセスを実行させ、外部プロセスと接続させることができる。
第1態様において、前記第3実行ステップは、前記連携ステップによって、前記外部プロセスと前記内部プロセスとを接続させて前記遠隔会議の制御が連携された後、前記内部クライアントを前記内部プロセスに接続させてもよい。つまり、制御装置は、内部プロセスと外部プロセスとの連携が完了した後、内部クライアントを内部プロセスに接続させる。このため、制御装置は、遠隔会議を中断させることなく、内部クライアントの接続先を、外部プロセスから内部プロセスに移行できる。
第1態様において、前記第2実行ステップは、前記外部サーバの処理負荷、及び、前記外部サーバと前記複数のクライアントとの通信状態の少なくとも一方が所定の条件を満たす場合、前記内部サーバに前記プロセスを実行させてもよい。例えば制御装置は、外部サーバの処理負荷が所定基準以上の場合や、外部サーバと複数のクライアントとの間の通信状態が所定基準以下の場合、内部サーバに内部プロセスを実行させて内部クライアントと接続させることができる。この場合、外部サーバの処理負荷を軽減することができるので、外部プロセスによる遠隔会議の制御を円滑に実行できる。又、外部サーバと複数のクライアントとの間の通信状態を改善させることができる。
本発明の第2態様に係る制御方法は、特定の第1ネットワーク接続する内部クライアント、及び、前記第1ネットワークに対して外部の第2ネットワークに接続する外部クライアントの少なくとも何れかを含む複数のクライアントの間で実行される遠隔会議を制御するプロセスを実行可能な会議サーバを制御する制御方法であって、制御装置が、前記複数のクライアントに関するクライアント情報を取得する取得ステップと、前記制御装置が、前記取得ステップによって取得された前記クライアント情報に基づき、前記複数のクライアントに前記外部クライアントが含まれるか判定する第1判定ステップと、前記第1判定ステップによって、前記外部クライアントが含まれていると判定された場合、前記制御装置が、前記第2ネットワークに接続された前記会議サーバである外部サーバを決定する決定ステップと、前記制御装置が、前記決定ステップによって決定された前記外部サーバを前記複数のクライアントに通知する通知ステップと、前記複数のクライアントが、それぞれ、前記通知ステップによって通知された前記外部サーバに接続要求を送信する送信ステップと、前記外部サーバがプロセスを実行し、前記複数のクライアントから前記接続要求を受信し、前記複数のクライアントと前記プロセスとを接続させる第1実行ステップとを備えたことを特徴とする。第2態様によれば、第1態様と同様の効果を奏することができる。
<通信システム1の概要>
図1を参照し、通信システム1について説明する。通信システム1には、会議サーバ2A、2B、2C(総称して「会議サーバ2」という。)、クライアント3A、3B、3C(総称して「クライアント3」という。)、制御装置5、ファイヤーウォール(FW)8A、ウェブサーバ(WS)8B、及び、データベースサーバ(DB)7が含まれる。会議サーバ2A、2B、クライアント3A、3B、FW8A、WS8Bは、Local Area Network(LAN)1Aに接続される。会議サーバ2C、クライアント3C、制御装置5、及び、DB7は、Wide Area Network(WAN)1Bに接続される。会議サーバ2、クライアント3、FW8A、WS8B、制御装置5、及びDB7は、LAN1A及びWAN1Bを介してそれぞれ相互に通信可能である。
図1を参照し、通信システム1について説明する。通信システム1には、会議サーバ2A、2B、2C(総称して「会議サーバ2」という。)、クライアント3A、3B、3C(総称して「クライアント3」という。)、制御装置5、ファイヤーウォール(FW)8A、ウェブサーバ(WS)8B、及び、データベースサーバ(DB)7が含まれる。会議サーバ2A、2B、クライアント3A、3B、FW8A、WS8Bは、Local Area Network(LAN)1Aに接続される。会議サーバ2C、クライアント3C、制御装置5、及び、DB7は、Wide Area Network(WAN)1Bに接続される。会議サーバ2、クライアント3、FW8A、WS8B、制御装置5、及びDB7は、LAN1A及びWAN1Bを介してそれぞれ相互に通信可能である。
クライアント3は、会議サーバ2と通信を行うことによって、仮想会議室(単に「会議室」という。)に参加して遠隔会議を実行することが可能である。クライアント3は、周知のPersonal Computer(PC)、スマートフォン、タブレット端末等に対して遠隔会議アプリケーションのプログラムをインストールすることで構成される。クライアント3は、制御部31、記憶部32、及びユーザインタフェース(I/F)33を有する。制御部31は、クライアント3による制御全体を司る。記憶部32は、制御部31によって実行される各種プログラムを記憶する。ユーザI/F33は、ディスプレイ、スピーカ、マイク、カメラ等を含む。
会議サーバ2は、会議室7を開催してクライアント3に参加させることによって、クライアント3間で遠隔会議を実行させる。会議サーバ2は、Multi-point Control Unit(MCU)又は公知のサーバに対して専用アプリケーションのプログラムをインストールすることで構成される。会議サーバ2は、制御部21、及び記憶部22を有する。制御部21は、会議サーバ2による制御全体を司る。会議サーバ2A、2B、2Cのそれぞれの制御部21を、制御部21A、21B、21Cという。記憶部22は、制御部21によって実行される各種プログラムを記憶する。
以下、LAN1Aに接続する会議サーバ2A、2Bを、「内部サーバ」という。LAN1Aに接続するクライアント3A、3Bを、「内部クライアント」という。WAN1Bに接続する会議サーバ2Cを、「外部サーバ」という。WAN1Bに接続するクライアント3Cを、「外部クライアント」という。
FW8Aは、LAN1AからWAN1Bに向かう方向のデータを通過させ、WAN1BからLAN1Aに向かう方向のデータをフィルタリングする。なお、FW8によるデータのフィルタリングは、LAN1AからWAN1Bに向かう方向のデータが一旦送信された場合、この送信先からのデータに対して一定期間無効となる。WS8Bは、周知のウェブサーバである。WS8Bは、LAN1AからWAN1Bに向かう方向のデータ、及び、WAN1BからLAN1Aに向かう方向のデータの何れも通過させる。
制御装置5は、会議サーバ2A〜2Cと通信を行い、会議サーバ2A〜2Cのそれぞれにプロセス(後述)を実行させる。制御装置5は、DB7と通信を行い、DB7に記憶された各種情報90(図2参照)を取得する。制御装置5は、周知のPCに対して専用プログラムをインストールすることで構成される。制御装置5は、制御部51、記憶部52、及び読取部53を有する。制御部51は、制御装置5による制御全体を司る。記憶部52は、制御部51によって実行される各種プログラムを記憶する。読取部53は、半導体メモリや光ディスク等の記憶媒体53Aに記憶された情報を読み出すことができる。制御部51は、記憶媒体53Aに記憶されたプログラムを読取部53によって読み出し、記憶部52に記憶できる。プログラムは、例えば、非図示のネットワークに接続された別のサーバからダウンロードされて、記憶部52に記憶されてもよい。
DB7は、会議サーバテーブル91、クライアントテーブル92、第1会議室テーブル93、第2会議室テーブル94、及び許可設定情報95(図2参照、以下、総称して「各種情報90」という。)を記憶する。DB7は、制御装置5からの要求に応じ、各種情報90を制御装置5に送信する。DB7は、会議サーバ2及びクライアント3と通信を行い、各種情報90を生成する。各種情報90の詳細は後述する。
<会議サーバ2によって実行される実行ファイル(プロセス6)>
会議サーバ2の制御部21は、クライアント3間で遠隔会議を実行させるためにプロセス6を起動する。プロセス6とは、会議サーバ2にインストールされるプログラムの実行単位を示す。プロセス6は、記憶部22に記憶された実行ファイルが実行されることによって起動され、遠隔会議を制御する会議サーバとして機能する。プロセス6は、会議室7を開催してクライアント3を参加させ、クライアント3に遠隔会議を実行させることができる。複数の会議室が開催される場合、各会議室を開催するプロセス6が起動される。
会議サーバ2の制御部21は、クライアント3間で遠隔会議を実行させるためにプロセス6を起動する。プロセス6とは、会議サーバ2にインストールされるプログラムの実行単位を示す。プロセス6は、記憶部22に記憶された実行ファイルが実行されることによって起動され、遠隔会議を制御する会議サーバとして機能する。プロセス6は、会議室7を開催してクライアント3を参加させ、クライアント3に遠隔会議を実行させることができる。複数の会議室が開催される場合、各会議室を開催するプロセス6が起動される。
例えば図1では、会議サーバ2Aの制御部21Aによってプロセス6Aが実行されている。プロセス6Aは、クライアント3Aが参加する会議室7Aを開催する。会議サーバ2Bの制御部21Bによってプロセス6Bが実行されている。プロセス6Bは、クライアント3Bが参加する会議室7Bを開催する。会議サーバ2Cの制御部21Cによってプロセス6Cが実行されている。プロセス6Cは、クライアント3Cが参加する会議室7Cを開催する。
なお、図1では、内部クライアントが参加する会議室7のプロセス6は、内部サーバによって実行され、外部クライアントが参加する会議室7のプロセス6は、外部サーバによって実行されている。しかし実際には、例えば、内部クライアントが参加する会議室7のプロセス6が外部サーバによって実行される場合や、外部クライアントが参加する会議室7のプロセス6が内部サーバによって実行される場合がある。又、共通の会議室7を開催する為のプロセス6が、複数のサーバ(例えば、内部サーバと外部サーバ)によって実行される場合もある。
制御装置5の制御部51は、後述するメイン処理(図3参照)、周期処理(図6参照)、及び連携処理(図8参照)を実行することにより、各会議室7を開催するプロセス6の実行対象となる会議サーバ2を決定し、プロセス6を実行させる。会議サーバ2は、制御装置5からの指示に応じてプロセス6を実行して会議室7を開催し、クライアント3を参加させる。
以下、内部サーバ(図1における会議サーバ2A、2B)によって実行されるプロセス6を、「内部プロセス」という。外部サーバ(図1における会議サーバ2C)によって実行されるプロセス6を、「外部プロセス」という。
<各種情報90>
図2を参照し、DB7に記憶される各種情報90について説明する。会議サーバテーブル91には、サーバID、位置情報、利用率、及び、会議室数が対応付けて記憶される。サーバIDは、会議サーバ2を識別する識別情報である。位置情報は、対応するサーバIDの会議サーバ2に設定されたIPアドレスである。なお、IPアドレスには、会議サーバ2が接続されるネットワーク(LAN1A又はWAN1B)毎に設定されるネットワークアドレスが含まれる。このため、IPアドレスのネットワークアドレスに基づいて、対応する会議サーバ2がLAN1A及びWAN1Bの何れに接続されているかを特定可能である。利用率は、対応するサーバIDの会議サーバ2の制御を司る制御部21の利用率である。会議室数は、対応するサーバIDの会議サーバ2が開催する会議室7の数である。
図2を参照し、DB7に記憶される各種情報90について説明する。会議サーバテーブル91には、サーバID、位置情報、利用率、及び、会議室数が対応付けて記憶される。サーバIDは、会議サーバ2を識別する識別情報である。位置情報は、対応するサーバIDの会議サーバ2に設定されたIPアドレスである。なお、IPアドレスには、会議サーバ2が接続されるネットワーク(LAN1A又はWAN1B)毎に設定されるネットワークアドレスが含まれる。このため、IPアドレスのネットワークアドレスに基づいて、対応する会議サーバ2がLAN1A及びWAN1Bの何れに接続されているかを特定可能である。利用率は、対応するサーバIDの会議サーバ2の制御を司る制御部21の利用率である。会議室数は、対応するサーバIDの会議サーバ2が開催する会議室7の数である。
なお、会議サーバテーブル91において、会議サーバ2に設定されたIPアドレスがサーバIDとして使用されてもよい。この場合、会議サーバテーブル91の位置情報がサーバIDも示すこととなる為、会議サーバテーブル91にサーバIDは含まれていなくてもよい。
クライアントテーブル92には、クライアントID、位置情報、遅延、及びロス率が対応付けて記憶される。クライアントIDは、クライアント3を識別する識別情報である。位置情報は、対応するクライアントIDのクライアント3に設定されたIPアドレスである。なお、IPアドレスのネットワークアドレスに基づいて、対応するクライアント3がLAN1A及びWAN1Bの何れに接続されているかを特定可能である。遅延は、各会議サーバ2との通信時における遅延時間を示す。ロス率は、各会議サーバ2との通信時におけるパケットロスの比率を示す。
なお、クライアントテーブル92において、クライアント3に設定されたIPアドレスがクライアントIDとして使用されてもよい。この場合、クライアントテーブル92の位置情報がクライアントIDも示すこととなる為、クライアントテーブル92にクライアントIDは含まれていなくてもよい。
第1会議室テーブル93には、会議室ID、クライアントID、及びサーバIDが対応づけて記憶される。会議室IDは、開催中の会議室7を識別する識別情報である、クライアントIDは、対応する会議室IDの会議室7に参加するクライアント3を識別する識別情報である。サーバIDは、対応する会議室IDの会議室7のプロセス6を実行する会議サーバ2を識別する識別情報である。
第2会議室テーブル94には、会議室IDとクライアントIDとが対応付けて記憶される。会議室IDは、開催予定の会議室7を識別する識別情報である、クライアントIDは、対応する会議室IDの会議室7が開催されたときに参加予定のクライアント3を識別する識別情報である。
許可設定情報95として、会議室7に外部クライアントが参加することを許可するか否かを示す情報が記憶される。例えば、LAN1Aのセキュリティの関係上、通信システム1の管理者が会議室7に外部クライアントを参加させたくない場合、外部クライアントが参加することを拒否する情報が許可設定情報95として記憶される。
会議サーバテーブル91のサーバID及び位置情報、及び、クライアントテーブル92のクライアントID及び位置情報は、管理者による設定操作に応じて直接記憶される。DB7は、会議サーバテーブル91のサーバID及び位置情報に基づいて特定される会議サーバ2と定期的に通信を行い、利用率及び会議室数を取得して会議サーバテーブル91に記憶する。DB7は、クライアントテーブル92のクライアントID及び位置情報に基づいて特定されるクライアント3と定期的に通信を行い、遅延及びロス率を取得してクライアントテーブル92に記憶する。DB7は、会議室7を開催中の会議サーバ2から送信される情報に基づき、第1会議室テーブル93の情報を取得して記憶する。DB7は、会議室7の開催を予約する操作がされたクライアント3から送信される情報に基づき、第2会議室テーブル94の情報を取得して記憶する。許可設定情報95は、管理者等による設定操作に応じて直接記憶される。
<メイン処理>
図3を参照し、制御装置5の制御部51によって実行されるメイン処理について説明する。メイン処理は、開催予定の会議室7に関する情報が、DB7の第2会議室テーブル94(図2参照)に新たに記憶された場合、記憶部52に記憶されたプログラムを制御部51が実行することによって開始される。
図3を参照し、制御装置5の制御部51によって実行されるメイン処理について説明する。メイン処理は、開催予定の会議室7に関する情報が、DB7の第2会議室テーブル94(図2参照)に新たに記憶された場合、記憶部52に記憶されたプログラムを制御部51が実行することによって開始される。
制御部51は、DB7と通信を行うことによって、会議サーバテーブル91、クライアントテーブル92、第2会議室テーブル94、及び許可設定情報95(図2参照)をDB7から取得する(S11)。制御部51は、DB7から取得した第2会議室テーブル94に基づき、開催予定の会議室7に参加予定のクライアント3を特定する。制御部51は、DB7から取得したクライアントテーブル92に基づき、参加予定のクライアント3の位置情報を特定する。制御部51は、特定した位置情報に基づき、参加予定のクライアント3の中に、WAN1B(図1参照)に接続された外部クライアントが含まれているか判定する(S13)。制御部51は、外部クライアントが含まれていると判定された場合(S13:YES)、処理をS15に進める。一方、制御部51は、外部クライアントが含まれていないと判定された場合(S13:NO)、処理をS19に進める。
なお、制御部51は、S13の処理を実行する場合において、クライアントテーブル92の位置情報を用いた方法とは別の方法で、参加予定のクライアント3の中に外部クライアントが含まれているか判定してもよい。例えばクライアントテーブル92には、過去にクライアント3が接続した会議サーバ2のサーバIDの履歴情報が更に記憶されていてもよい。制御部51は、クライアントテーブル92におけるクライアント3が接続したサーバIDの履歴情報に基づいて、クライアント3が内部クライアントか外部クライアントかを判定してもよい。具体的には、制御部51は、クライアントテーブル92の履歴情報に基づき、外部サーバとの接続回数が内部サーバとの接続回数よりも大きいクライアント3を外部クライアントとして判定し、内部サーバとの接続回数が外部サーバとの接続回数よりも大きいクライアント3を内部クライアントとして判定してもよい。また、制御部51は、クライアントテーブル92の履歴情報に基づき、内部サーバとの接続履歴があるクライアントを内部クライアントと判断し、内部サーバと接続履歴が無いクライアントを外部クライアントと判定してもよい。その他、制御部51は、クライアントテーブル92におけるクライアント3が接続したサーバIDの履歴情報だけではなく、上述したクライアント3の位置情報も考慮して、クライアント3が内部クライアントか外部クライアントであるかを判定してもよい。その他、クライアント3が内部クライアントか外部クライアントであるかの判定方法は特に限定されず、適宜の手法が用いられてもよい。
又、例えば第2会議室テーブル94には、開催予定の会議室7の会議モードが、会議室IDに対応付けて記憶されていてもよい。会議モードとして、内部クライアント及び外部クライアントの参加が可能な会議室7であることを示すパブリックモード、又は、内部クライアントのみ参加可能な会議室7であることを示すオンプレミスモードが記憶されてもよい。制御部51は、開催予定の会議室7の会議モードがパブリックモードである場合、参加予定のクライアント3の中に、WAN1B(図1参照)に接続された外部クライアントが含まれていると判定してもよい(S13:YES)。一方、制御部51は、開催予定の会議室7の会議モードがオンプレミスモードである場合、参加予定のクライアント3の中に、WAN1B(図1参照)に接続された外部クライアントが含まれていないと判定してもよい(S13:NO)。
例えば図4(A)に示すように、開催予定の会議室71に、内部クライアント3Dと外部クライアント3Eが参加予定である場合、参加予定のクライアント3に外部クライアント3Eが含まれていると判定される(S13:YES)。一方、例えば図5(A)に示すように、開催予定の会議室72に、内部クライアント3D、3Fが参加予定である場合、参加予定のクライアント3に外部クライアントが含まれていないと判定される(S13:NO)。
図3に示すように、制御部51は、参加予定のクライアント3の中に外部クライアントが含まれていると判定された場合(S13:YES)、DB7から取得した許可設定情報95に基づき、外部クライアントの会議室7への参加が許可されているか判定する(S15)。制御部51は、外部クライアントの会議室7への参加が許可されていると判定された場合(S15:YES)、処理をS17に進める。一方、制御部51は、許可設定情報95によって外部クライアントの会議室7への参加が禁止されていると判定された場合(S15:NO)、処理をS19に進める。
制御部51は、S17の処理を実行する場合、DB7から取得した会議サーバテーブル91の位置情報に基づき、WAN1B(図1参照)に接続された外部サーバを決定する(S17)。なお、外部サーバが複数ある場合、制御部51は、複数の外部サーバのうち何れか1つを決定する(S17)。制御部51は、処理をS21に進める。
一方、制御部51は、S19の処理を実行する場合、DB7から取得した会議サーバテーブル91の位置情報に基づき、LAN1A(図1参照)に接続された内部サーバを決定する(S19)。なお、内部サーバが複数ある場合、制御部51は、複数の内部サーバのうち何れか1つを決定する(S19)。制御部51は、処理をS21に進める。
一方、制御部51は、S19の処理を実行する場合、DB7から取得した会議サーバテーブル91の位置情報に基づき、LAN1A(図1参照)に接続された内部サーバを決定する(S19)。なお、内部サーバが複数ある場合、制御部51は、複数の内部サーバのうち何れか1つを決定する(S19)。制御部51は、処理をS21に進める。
制御部51は、DB7から取得した第2会議室テーブル94に基づき、開催予定の会議室7の会議室IDを特定する。制御部51は、特定された会議室IDの会議室7を開催するプロセス6を実行させるためのプロセス実行指示を、S17の処理によって決定された外部サーバ又はS19の処理によって決定された内部サーバに送信する(S21)。プロセス実行指示には、DB7から取得した第2会議室テーブル94に基づき、開催予定の会議室7の会議室ID、及び、開催予定の会議室7に参加予定のクライアント3のクライアントIDが含められる。なお、制御部51は、内部サーバにプロセス実行指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部サーバにプロセス実行指示を送信する。
プロセス実行指示を受信した会議サーバ2の制御部21は、プロセス実行指示に含まれる会議室ID、及びクライアントIDを取得する。制御部21は、取得した会議室IDの会議室7を開催するプロセス6を実行する。更に、制御部21は、取得したクライアントIDのクライアント3と通信を行い、実行したプロセス6とのセッションの接続を要求する。プロセス6とクライアント3との間でセッションが接続された場合、クライアント3は、プロセス6が開催する会議室7に参加し、他のクライアント3との間で遠隔会議を実行する。
例えば図4(A)に示すように、開催予定の会議室71に参加予定のクライアント3に外部クライアント3Eが含まれている場合(S13:YES)、WAN1Bに接続された外部サーバ2Eが決定される(S17)。開催予定の会議室71の会議室ID、及び、開催予定の会議室71に参加予定の内部クライアント3D及び外部クライアント3EのクライアントIDを含むプロセス実行指示が、外部サーバ2Eに送信される(S21)。図4(B)に示すように、プロセス実行指示を受信した外部サーバ2Eの制御部21Eによって、会議室71を開催する外部プロセス6Eが実行される。
更に、図4(C)に示すように、外部サーバ2Eから内部クライアント3D及び外部クライアント3Eに対して、外部プロセス6Eとの接続指示が送信される(S101)。接続指示には、外部サーバ2EのサーバIDが含められる。なお、外部サーバ2Eは、内部クライアント3Dに対して接続指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部サーバに接続指示を送信する。図4(D)に示すように、接続指示を受信した内部クライアント3D及び外部クライアント3Eは、外部サーバ2Eに対して接続要求を送信する(S103)。これによって、図4(E)に示すように、内部クライアント3D及び外部クライアント3Eと外部プロセス6Eとの間のセッションが接続される(S105)。なお、このとき内部クライアント3Dから外部サーバ2Eに対して送信される接続要求は、LAN1AのFW8A(図1参照)によってフィルタリングされない。これによって、内部クライアント3D及び外部クライアント3Eは、外部プロセス6Eが開催する会議室71に参加し、遠隔会議を実行可能となる。
一方、例えば図5(A)に示すように、開催予定の会議室72に参加予定のクライアント3に外部クライアントが含まれていない場合(S13:NO)、LAN1Aに接続された内部サーバ2Dが決定される(S19)。開催予定の会議室72の会議室ID、及び、開催予定の会議室71に参加予定の内部クライアント3D、3FのクライアントIDを含むプロセス実行指示が、内部サーバ2Dに送信される(S21)。図5(B)に示すように、プロセス実行指示を受信した内部サーバ2Dの制御部21Dによって、会議室72を開催する内部プロセス6Dが実行される。更に、図5(C)に示すように、内部クライアント3D、3Fと内部プロセス6Dとのセッションが接続される。内部クライアント3D、3Fは、内部プロセス6Dが開催する会議室72に参加し、遠隔会議を実行可能となる。
図3に示すように、制御装置5の制御部51は、S21の処理によってプロセス実行指示を送信した後、開催中の会議室7の情報として、会議室ID、クライアントID、及び会議サーバIDをDB7に送信する。制御部51は、メイン処理を終了させる。なお、DB7は、受信した会議室ID、クライアントID、及び会議サーバIDを対応付けて、第1会議室テーブル93(図2参照)に記憶する。
<周期処理>
図6を参照し、周期処理について説明する。周期処理は、制御装置5の制御部51によって一定周期で起動され、実行される。制御部51は、DB7と通信を行うことによって、会議サーバテーブル91、クライアントテーブル92、第1会議室テーブル93、及び許可設定情報95(図2参照)をDB7から取得する(S31)。
図6を参照し、周期処理について説明する。周期処理は、制御装置5の制御部51によって一定周期で起動され、実行される。制御部51は、DB7と通信を行うことによって、会議サーバテーブル91、クライアントテーブル92、第1会議室テーブル93、及び許可設定情報95(図2参照)をDB7から取得する(S31)。
制御部51は、DB7から取得した第1会議室テーブル93に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2を特定する。なお、第1会議室テーブル93において共通する会議室IDに複数のサーバIDが対応づけられている場合、この会議室IDの会議室7は、複数の会議サーバ2のそれぞれが実行する複数のプロセス6によって開催されていることになる。この場合、開催中の会議室7のプロセス6を実行する会議サーバ2として、複数の会議サーバ2が特定される。
制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が1台のみであるか判定する(S33)。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が複数あると判定された場合(S33:NO)、処理をS39に進める。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2を、外部サーバから内部サーバに変更する為に、連携処理(図8参照)を実行する(S39)。連携処理の詳細は後述する。連携処理の終了後、制御部51は周期処理を終了させる。一方、制御部51は、会議室7のプロセス6を実行する会議サーバ2が1台のみであると判定された場合(S33:YES)、処理をS35に進める。
例えば、図7(A)に示すように、内部サーバ2Dによって実行される内部プロセス6Dと、外部サーバ2Eによって実行される外部プロセス6Eとの両方によって、会議室72が開催されている場合(S33:NO)、後述する連携処理(図8参照)が実行される(S39)。
図6に示すように、制御部51は、DB7から取得した会議サーバテーブル91に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2の利用率及び会議室数を特定する。制御部51は、特定した利用率及び会議室数に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2の負荷が第1所定レベルよりも低いか判定する(S35)。制御部51は、特定した利用率が第1閾値以上か、又は、特定した会議室数が第2閾値以上の場合、会議サーバ2の負荷が第1所定レベル以上と判定する(S35:NO)。この場合、制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2を、外部サーバから内部サーバに変更する為に、連携処理(図8参照)を実行する(S39)。連携処理の詳細は後述する。周期処理の終了後、制御部51は周期処理を終了させる。一方、制御部51は、特定した利用率が第1閾値よりも小さく、且つ、特定した会議室数が第2閾値よりも小さい場合、会議サーバ2の負荷が第1所定レベルよりも低いと判定する(S35:YES)。この場合、制御部51は処理をS37に進める。
例えば、図7(B)に示すように、外部サーバ2Eによって実行される外部プロセス6Eのみによって会議室71が開催されている場合(S33:YES)、外部サーバ2Eの制御部21Eの利用率、及び、外部プロセス6Eが開催する会議室数に基づき、外部サーバ2Eの負荷が第1所定レベル以上か判定される(S35)。例えば、外部サーバ2Eの利用率が第1閾値以上の場合、外部サーバ2Eの負荷が第1所定レベル以上と判定され(S35:NO)、後述する連携処理(図8参照)が実行される(S39)。
図6に示すように、制御部51は、DB7から取得した第1会議室テーブル93に基づき、開催中の会議室7に参加するクライアント3を特定する。制御部51は、DB7から取得したクライアントテーブル92に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2と、会議室7に参加するクライアント3との間の遅延及びロス率を特定する。制御部51は、特定した遅延及びロス率に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2と、会議室7に参加するクライアント3との間の通信品質が第2所定レベルよりも高いか判定する(S37)。制御部51は、特定した遅延が第3閾値以上、又は、特定したロス率が第4閾値以上の場合、会議サーバ2とクライアント3との間の通信品質が第2所定レベル以下と判定する(S37:NO)。この場合、制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2を、外部サーバから内部サーバに変更する為に、連携処理(図8参照)を実行する(S39)。連携処理の詳細は後述する。周期処理の終了後、制御部51は周期処理を終了させる。一方、制御部51は、特定した遅延が第3閾値よりも小さく、且つ、特定したロス率が第4閾値よりも小さい場合、外部サーバとクライアント3との間の通信品質が第2所定レベルよりも高いと判定する(S37:YES)。この場合、制御部51は周期処理を終了させる。
例えば、図7(C)に示すように、内部サーバ2Dによって実行される内部プロセス6Dのみによって会議室72が開催されている場合(S33:YES)、内部サーバ2Dと内部クライアント3D、3Fとの間のそれぞれの遅延及びロス率に基づいて、内部サーバ2Dと内部クライアント3D、3Fとの間のそれぞれの通信品質が第2所定レベルよりも高いか判定される(S37)。内部サーバ2Dと内部クライアント3D、3Fとの間のそれぞれの通信品質がいずれも第2所定レベル以下と判定された場合(S37:NO)、後述する連携処理(図8参照)が実行される(S39)。
<連携処理>
図8を参照し、連携処理について説明する。制御部51は、DB7から取得した第1会議室テーブル93に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2を特定する。制御部51は、DB7から取得した会議サーバテーブル91に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2の位置情報を特定する。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が外部サーバであるか判定する(S51)。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が内部サーバであると判定した場合(S51:NO)、連携処理を終了させ、処理を周期処理(図6参照)に戻す。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が外部サーバであると判定した場合(S51:YES)処理をS53に進める。
図8を参照し、連携処理について説明する。制御部51は、DB7から取得した第1会議室テーブル93に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2を特定する。制御部51は、DB7から取得した会議サーバテーブル91に基づき、開催中の会議室7のプロセス6を実行する会議サーバ2の位置情報を特定する。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が外部サーバであるか判定する(S51)。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が内部サーバであると判定した場合(S51:NO)、連携処理を終了させ、処理を周期処理(図6参照)に戻す。制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が外部サーバであると判定した場合(S51:YES)処理をS53に進める。
制御部51は、DB7から取得したクライアントテーブル92に基づき、開催中の会議室7に参加するクライアント3の位置情報を特定する。制御部51は、開催中の会議室7に参加するクライアント3に内部クライアントが含まれているかを、特定した位置情報に基づいて判定する(S53)。制御部51は、開催中の会議室7に参加するクライアント3が全て外部クライアントであると判定した場合(S53:NO)、連携処理を終了させ、処理を周期処理(図6参照)に戻す。制御部51は、開催中の会議室7に参加するクライアント3に内部クライアントが含まれていると判定した場合(S53:YES)、処理をS55に進める。
例えば、図9(A)に示すように、会議室71を開催する外部プロセス6Eが外部サーバ2Eによって実行され(S51:YES)、且つ、開催中の会議室71に内部クライアント3Dが含まれている場合(S53:YES)、連携処理は継続される。一方、例えば図10(A)に示すように、会議室72を開催中である内部プロセス6Dが内部サーバ2Dによって実行されている場合(S51:NO)、又は、例えば図10(B)に示すように、開催中の会議室73に外部クライアント3E、3Gのみ参加している(S53:NO)、連携処理は終了される。
図8に示すように、制御部51は、DB7から取得したクライアントテーブル92に基づき、開催中の会議室7に参加する内部クライアントが接続するLAN1Aを特定する。制御部51は、DB7から取得した会議サーバテーブル91に基づき、特定されたLAN1Aに接続する内部サーバのうち、後述するS61の処理に応じた連携処理に失敗した内部サーバを除く別の内部サーバ、即ち、特定されたLAN1Aに接続する内部クライアントとの接続が可能な内部サーバがあるか判定する(S55)。制御部51は、内部サーバがないと判定された場合(S55:NO)、連携処理を終了させ、処理を周期処理(図6参照)に戻す。制御部51は、内部サーバがあると判定した場合(S55:YES)、処理をS57に進める。
例えば、図9(A)に示すように、開催中の会議室71に参加する内部クライアント3Dが接続するLAN1Aが特定され、且つ、LAN1Aに接続する内部サーバ2Dと、LAN1Aに接続する内部クライアントとの接続が可能であると判定された場合(S55:YES)、連携処理は継続される。
図8に示すように、制御部51は、後述するS61の処理に応じた連携処理に失敗した内部サーバを除く別の内部サーバを選択する(S57)。なお、制御部51は、開催中の会議室7に参加する内部クライアントと同じLAN1Aに接続する内部サーバであって後述するS61の処理に応じた連携処理に失敗した内部サーバを除く別の内部サーバが複数ある場合、複数の内部サーバの何れかを選択する(S57)。制御部51は、DB7から取得した第1会議室テーブル93に基づき、開催中の会議室7の会議室IDを特定する。制御部51は、特定された会議室IDの会議室7を開催するプロセス6を実行させるためのプロセス実行指示を、S57の処理によって選択した内部サーバに送信する(S59)。プロセス実行指示には、DB7から取得した第1会議室テーブル93に基づき、外部サーバにより実行中のプロセス6によって開催されている会議室7の会議室IDが含められる。プロセス実行指示を受信した内部サーバの制御部21は、プロセス実行指示に含まれる会議室IDを取得する。制御部21は、取得した会議室IDの会議室7を開催するプロセス6を実行する。
例えば図9(A)に示す構成の場合、内部サーバ2Dが選択される(S57)。制御装置5は、開催中の会議室71の会議室IDを含むプロセス実行指示を、内部サーバ2Dに送信する(S59)。なお、制御装置5は、内部サーバ2Dにプロセス実行指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部サーバ2Dにプロセス実行指示を送信する。図9(B)に示すように、プロセス実行指示を受信した内部サーバ2Dの制御部21Dによって、会議室71を開催する内部プロセス6Dが実行される。
図8に示すように、制御部51は、S21(図3参照)の処理で外部サーバにプロセス実行指示を送信することによって実行させたプロセス6と、S59の処理で内部サーバにプロセス実行指示を送信することによって実行させたプロセス6の間でセッションを接続させるために、内部サーバ及び外部サーバに対して接続指示を送信する(S61)。接続指示には、内部サーバ及び外部サーバのサーバIDが含められる。なお、接続指示を受信した内部サーバの制御部21は、接続指示に含まれるサーバIDを取得し、接続先の外部サーバを特定する。接続指示を受信した外部サーバの制御部21は、接続指示に含まれるサーバIDを取得し、接続先の内部サーバを特定する。各制御部21は、内部プロセスと外部プロセスとの間でセッションを接続させる。
例えば図9(B)において、制御装置5は、内部サーバ2D及び外部サーバ2Eに対して接続指示を送信する。なお、制御装置5は、内部サーバ2Dに接続指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部サーバ2Dに接続指示を送信する。接続指示を受信した内部サーバ2Dによって外部サーバ2Eが特定され、接続指示を受信した外部サーバ2Eによって内部サーバ2Dが特定される。接続指示を受信した内部サーバ2Dは、外部サーバ2Eに対して接続要求を送信する。これによって、図9(C)に示すように、内部プロセス6Dと外部プロセス6Eとの間でセッションが接続される(S61)。なお、このとき内部サーバ2Dから外部サーバ2Eに対して送信される接続要求は、LAN1Aのファイヤーウォール8A(図1参照)によってフィルタリングされない。
図8に示すように、次に制御装置5の制御部51は、外部サーバと内部サーバとの間で会議室7による遠隔会議の制御を連携させる為に、外部サーバ及び内部サーバに連携指示を送信する(S61)。なお、連携指示を受信した内部サーバの制御部21は、外部サーバに対して連携要求を送信する。連携指示を受信した外部サーバは、内部サーバから連携要求を受信した場合、外部プロセスによって開催されている会議室7に参加するクライアント3のクライアントIDを、内部サーバに送信する。内部サーバはクライアントIDを受信する。内部サーバは、受信したクライアントIDの内部クライアントとの接続が可能か判定し、接続可能と判定された場合、クライアントIDを送信した外部サーバに対してACKを送信する。これによって、外部サーバの外部プロセスによって開催される会議室7と、内部サーバの内部プロセスによって開催される会議室7とのそれぞれの遠隔会議の制御が連携される。連携後、内部サーバ及び外部サーバは、連携が完了したことを示す完了通知を、制御装置5に送信する。
例えば、図9(C)に示すように内部プロセス6Dと外部プロセス6Eとの間でセッションが接続された後、制御装置5から内部サーバ2D及び外部サーバ2Eに連携指示が送信される(S61)。なお、制御装置5は、内部サーバ2Dに連携指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部サーバ2Dに連携指示を送信する。連携指示を受信した内部サーバ2Dは、外部サーバ2Eに連携要求を送信する。なお、このとき内部サーバ2Dから外部サーバ2Eに対して送信される連携要求は、LAN1Aのファイヤーウォール8A(図1参照)によってフィルタリングされない。連携要求を受信した外部サーバ2Eは、外部プロセス6Eによって開催されている会議室71に参加する内部クライアント3D及び外部クライアント3EのクライアントIDを、内部サーバ2Dに送信する。なお、このとき外部サーバ2Eから内部サーバ2Dに対して送信されるクライアントIDは、LAN1Aのファイヤーウォール8A(図1参照)によってフィルタリングされない。内部サーバ2DはクライアントIDを受信し、会議室71に参加する内部クライアント3D及び外部クライアント3Eを特定する。内部サーバ2Dは、特定した内部クライアント3Dとの接続が可能と判定した場合、外部サーバ2EにACKを送信する。これによって、外部サーバ2Eの外部プロセス6Eによって開催される会議室71と、内部サーバ2Dの内部プロセス6Dによって開催される会議室71とのそれぞれの遠隔会議の制御が連携される。内部サーバ2D及び外部サーバ2Eは、制御装置5に完了通知を送信する。
図8に示すように、制御部51は、内部サーバ及び外部サーバから送信された完了通知を受信したか否かによって、内部プロセスと外部プロセスとの間のセッションが接続し且つ連携が成功したか判定する(S63)。制御部51は、内部サーバ及び外部サーバから完了通知を受信した場合、内部プロセスと外部プロセスとの間のセッションが接続し且つ連携が成功したと判定する(S65:YES)。この場合、制御部51は、会議サーバテーブル91及び第1会議室テーブル93に基づき、内部プロセスを実行する内部サーバが接続するLAN1Aを特定する。制御部51は、クライアントテーブル92に基づき、特定されたLAN1Aに接続する内部クライアントを特定する。制御部51は、内部クライアントの接続先を外部プロセスから内部プロセスに移行させる為の移行指示を、内部サーバに送信する(S67)。移行指示には、特定された内部クライアントのクライアントIDが含められる。
なお、移動指示を受信した内部サーバの制御部21は、移動指示に含まれるクライアントIDを取得する。制御部21は、取得したクライアントIDと、外部サーバとの連携時において外部サーバから受信したクライアントIDとで一致するクライアントIDを特定する。特定されたクライアントIDは、プロセス実行指示に応じて実行された内部プロセスによって開催される会議室7に参加する内部クライアントを示す。制御部21は、特定したクライアントIDの内部クライアントと通信を行い、内部プロセスとのセッションの接続を要求する。これによって、内部クライアントは、内部プロセスとの間でセッションを接続し、外部プロセスとのセッションを切断する。
例えば、図9(C)に示すように、内部プロセス6Dと外部プロセス6Eとの間のセッションが接続し且つ連携が成功した場合、制御装置5から内部サーバ2Dに対して移行指示が送信される(S67)。移動指示を受信した内部サーバ2Dは、移動指示に含まれるクライアントID、即ち、LAN1Aに接続する内部クライアント3DのクライアントIDを取得する。内部サーバ2Dは、外部サーバ2Eとの連携時において外部サーバから受信したクライアントID、即ち、会議室71に参加する内部クライアント3D及び外部クライアント3EのクライアントIDとの関係から、プロセス実行指示に応じて実行された内部プロセス6Dによって開催される会議室71に参加する内部クライアントとして内部クライアント3Dを特定する。制御部21は、内部クライアント3Dと通信を行い、内部プロセス6Dとのセッションの接続を要求する。これによって、図9(D)に示すように、内部クライアント3Dと内部プロセス6Dとの間でセッションが接続され、内部クライアント3Dと外部プロセス6Eとの間でセッションが切断される。
一方、図8に示すように、制御装置5の制御部51は、内部サーバ及び外部サーバの少なくとも一方から完了通知を受信しなかった場合、内部プロセスと外部プロセスとの間のセッションが接続しないか、又は、内部サーバと内部クライアントとの間の接続が不可能であるかの何れかにより連携に失敗したと判定する(S65:NO)。この場合、制御部51は、処理をS55に戻す。制御部51は、DB7から取得したクライアントテーブル92に基づき、開催中の会議室7に参加する内部クライアントが接続するLAN1Aに、S57で選択された内部サーバ、即ち、連携に失敗した内部サーバを除く別の内部サーバが接続されているか判定する(S55)。制御部51は、LAN1Aに接続する別の内部サーバがないと判定された場合(S55:NO)、連携処理を終了させ、処理を周期処理(図6参照)に戻す。制御部51は、LAN1Aに接続する別の内部サーバがあると判定した場合(S55:YES)、処理をS57に進める。制御部51は、連携に失敗した内部サーバとは別の内部サーバの何れかを選択し(S57)、S59〜S67の処理を繰り返す。
<本実施形態の作用、効果>
制御装置5は、開催予定の会議室7に参加予定のクライアント3に外部クライアントが含まれている場合(S13:YES)、外部サーバを決定して外部プロセスを実行させる(S17、S21)。外部サーバによって実行される外部プロセスは、クライアント間で実行される遠隔会議を制御する。このため、例えば図4(A)に示すように、会議室71に参加予定のクライアント3として内部クライアント3Dと外部クライアント3Eとが含まれている場合、LAN1A内の内部クライアント3DからLAN1A外の外部サーバ2Eに向けて最初に送信されるデータ(例えば、接続要求等)は、LAN1Aに設けられたFW8Aによってフィルタリングされない。従って、図4(E)に示すように、内部クライアント3Dは外部プロセス6Eと接続し、外部プロセス6Eを介して外部クライアント3Eとの間で遠隔会議を実行できる。このように、制御装置5は、LAN1Aの内に接続された内部クライアント3Dと、LAN1A外に接続された外部クライアント3Eとの間で遠隔会議を円滑に実行できる。
制御装置5は、開催予定の会議室7に参加予定のクライアント3に外部クライアントが含まれている場合(S13:YES)、外部サーバを決定して外部プロセスを実行させる(S17、S21)。外部サーバによって実行される外部プロセスは、クライアント間で実行される遠隔会議を制御する。このため、例えば図4(A)に示すように、会議室71に参加予定のクライアント3として内部クライアント3Dと外部クライアント3Eとが含まれている場合、LAN1A内の内部クライアント3DからLAN1A外の外部サーバ2Eに向けて最初に送信されるデータ(例えば、接続要求等)は、LAN1Aに設けられたFW8Aによってフィルタリングされない。従って、図4(E)に示すように、内部クライアント3Dは外部プロセス6Eと接続し、外部プロセス6Eを介して外部クライアント3Eとの間で遠隔会議を実行できる。このように、制御装置5は、LAN1Aの内に接続された内部クライアント3Dと、LAN1A外に接続された外部クライアント3Eとの間で遠隔会議を円滑に実行できる。
制御装置5は、会議室7に参加するクライアント3に内部クライアントが含まれている場合(S53:YES)、内部サーバに内部プロセスを実行させる(S59)。更に、制御装置5は、内部プロセスと外部プロセスとを接続させ、内部プロセスと外部プロセスとを連携させる(S61)。この場合、例えば図9(D)に示すように、内部クライアント3Dと外部クライアント3Eとの間の通信は、内部プロセス6Dと外部プロセス6Eとの間の接続を介して実行される。従って、制御装置5は、内部クライアント3Dと外部プロセス6Eとの間で通信が直接実行される場合と比べて、通信のトラフィックを軽減できる。
制御装置5は、外部サーバに実行させた外部プロセス(S21)と、内部サーバに実行させた内部プロセス(S59)とを接続させ(S61)、内部サーバから外部サーバへ連携要求を送信して遠隔会議の制御を連携させる(S61)。例えば図9(B)において、制御装置5は、内部サーバ2D及び外部サーバ2Eに対して接続指示を送信する。接続指示を受信した内部サーバ2Dは、外部サーバ2Eに対して接続要求を送信する。これによって、図9(C)に示すように、内部プロセス6Dと外部プロセス6Eとの間でセッションが接続される(S61)。その後、制御装置5から内部サーバ2D及び外部サーバ2Eに連携指示が送信される(S61)。連携指示を受信した内部サーバ2Dは、外部サーバ2Eに連携要求を送信する。連携要求を受信した外部サーバ2Eは、会議室71に参加する内部クライアント3D及び外部クライアント3EのクライアントIDを内部サーバ2Dに送信する。内部サーバ2DはクライアントIDを受信する。これによって、外部サーバ2Eの外部プロセス6Eによって開催される会議室71と、内部サーバ2Dの内部プロセス6Dによって開催される会議室71とのそれぞれの遠隔会議の制御が連携される。このように、制御装置5は、内部サーバ2Dと外部サーバ2Eとの間のセッションが接続された後、内部サーバ2Dと外部サーバ2Eとを連携させる。これによって、制御装置5は、内部サーバ2Dと外部サーバ2Eとを適切に連携させることができる。
制御装置5は、内部サーバ及び外部サーバの少なくとも一方から連携の完了通知を受信せず、連携に失敗した場合(S65:NO)、開催中の会議室7に参加する内部クライアントが接続するLAN1Aに、連携に失敗した内部サーバを除く別の内部サーバが接続されているか判定する(S55)。制御装置5は、別の内部サーバがあると判定した場合(S55:YES)、連携に失敗した内部サーバとは別の内部サーバの何れかを選択し(S57)、S59〜S67の処理を実行し、別の内部サーバに実行させた外部プロセスと外部プロセスとの連携を試みる。この場合、制御装置5は、複数の内部サーバの何れかが実行する内部プロセスと外部プロセスとの連携に失敗しても、別の内部サーバに内部プロセスを実行させ、外部プロセスと接続させることができる。
制御装置5は、外部プロセスと内部プロセスとを接続させて遠隔会議の制御が連携された(S61)後、内部クライアントを内部プロセスに接続させる(S67)。例えば図9(C)に示すように、内部プロセス6Dと外部プロセス6Eとの間のセッションが接続し且つ連携が成功した場合、制御装置5から内部サーバ2Dに対して移行指示が送信される(S67)。移動指示を受信した内部サーバ2Dは、内部プロセス6Dによって開催される会議室71に参加する内部クライアントとして内部クライアント3Dを特定する。内部サーバ2Dは、内部クライアント3Dと通信を行い、図9(D)に示すように、内部クライアント3Dと内部プロセス6Dとの間でセッションが接続され、内部クライアント3Dと外部プロセス6Eとの間でセッションが切断される。つまり、制御装置5は、内部プロセス6Dと外部プロセス6Eとの連携が完了した後、内部クライアント3Dを内部プロセス6Dに接続させ、外部プロセス6Eから切断させる。このため、制御装置5は、会議室71の遠隔会議を中断させることなく、内部クライアント3Dの接続先を、外部プロセス6Eから内部プロセス6Dに移行できる。
制御装置5は、外部サーバの処理負荷が第1所定レベル以上の場合(S35:NO)、又は、外部サーバとクライアントとの間の通信品質(通信状態)が第2所定レベル以下の場合(S37:NO)、連携処理(図8参照)を実行し、内部サーバに内部プロセスを実行させて内部クライアントと接続させることができる。この場合、外部サーバの処理負荷を軽減することができるので、外部プロセスによる遠隔会議の制御を円滑に実行できる。又、外部サーバと外部クライアントとの間の通信状態を改善できる。
<変形例>
本発明は上記実施形態に限定されず、種々の変更が可能である。図1において、会議サーバ2A、2B、及びクライアント3A、3Bは、LAN以外のネットワーク(例えば、Personal Area Network(PAN)、Campus Area Network(CAN)、Metropolitan Area Network(MAN)等)に接続してもよい。会議サーバ2C、クライアント3C、制御装置5、及びDB7は、WAN以外のネットワーク(例えば、Global Area Network(GAN))に接続してもよい。制御装置5とDB7は、一体となった構成を有していてもよい。即ち、制御装置5の記憶部52に各種情報90が記憶されてもよい。
本発明は上記実施形態に限定されず、種々の変更が可能である。図1において、会議サーバ2A、2B、及びクライアント3A、3Bは、LAN以外のネットワーク(例えば、Personal Area Network(PAN)、Campus Area Network(CAN)、Metropolitan Area Network(MAN)等)に接続してもよい。会議サーバ2C、クライアント3C、制御装置5、及びDB7は、WAN以外のネットワーク(例えば、Global Area Network(GAN))に接続してもよい。制御装置5とDB7は、一体となった構成を有していてもよい。即ち、制御装置5の記憶部52に各種情報90が記憶されてもよい。
例えば図4(B)に示すように、プロセス実行指示を受信した外部サーバ2Eの制御部21Eによって、会議室71を開催する外部プロセス6Eが実行された場合、制御装置5は、内部クライアント3D及び外部クライアント3Eに対して、外部プロセス6Eとの接続指示を直接送信してもよい。なお制御装置5は、内部クライアント3Dに対して接続指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部クライアント3Dに接続指示を送信してもよい。図4(D)に示すように、接続指示を受信した内部クライアント3D及び外部クライアント3Eは、外部サーバ2Eに対して接続要求を送信し(S103)、内部クライアント3D及び外部クライアント3Eと外部プロセス6Eとの間のセッションが接続されてもよい(S105、図4(E)参照)。又、例えば図4(B)に示すように、外部サーバ2Eの制御部21Eによって外部プロセス6Eが実行された場合、制御装置5は、内部サーバ2Dを介して内部クライアント3Dに対して、外部プロセス6Eとの接続指示を送信してもよい。なお制御装置5は、内部サーバ2Dに対して接続指示を送信する場合、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して内部サーバに接続指示を送信してもよい。
制御装置5は、外部サーバの処理負荷が第1所定レベル以上の場合(S35:NO)、又は、外部サーバとクライアントとの間の通信品質(通信状態)が第2所定レベル以下の場合(S37:NO)、連携処理(図8参照)を実行し、内部サーバに内部プロセスを実行させて内部クライアントと接続させる。ここで、処理負荷は、会議サーバテーブル91に記憶された利用率及び会議室数以外の情報に基づいて特定されてもよい。例えば処理負荷は、会議サーバ2の制御部21の処理速度、記憶部22へのアクセス頻度等に基づいて特定されてもよい。通信品質は、クライアントテーブル92に記憶された遅延及びロス率以外の情報に基づいて特定されてもよい。例えば、通信品質は、会議サーバ2とクライアント3との間の通信のエラー率、クライアント3が接続するLAN1A又はWAN1Bの回線容量等に基づいて特定されてもよい。又、クライアント3が参加する遠隔会議における通信データの容量、通信頻度等(通信状態)に基づいて特定されてもよい。制御装置5の制御部51は、開催中の会議室7のプロセス6を実行する会議サーバ2が外部サーバ1台のみの場合(S51:YES)、処理負荷又は通信品質に関わらず、連携処理を実行しなくてもよい。
例えば図9(A)に示す状態で、制御装置5がプロセス実行指示を内部サーバ2Dに送信する(S59)場合、制御装置5は、外部プロセス6Eとのセッションが接続された状態の内部クライアント3Dを介して、内部サーバ2Dにプロセス実行指示を送信してもよい。この場合、制御装置5は、内部クライアント3Dに対してプロセス実行指示を直接送信してもよい。又は、制御装置5は、外部サーバ2Eに対してプロセス実行指示を送信してもよい。この場合、外部サーバ2Eは、受信したプロセス実行指示を内部クライアント3Dに転送してもよい。同様に、例えば図9(B)において、制御装置5が内部サーバ2Dに対して接続指示を送信する場合、外部プロセス6Eとのセッションが接続された状態の内部クライアント3Dを介して、内部サーバ2Dに接続指示を送信してもよい。
図9(B)において、接続指示を受信した外部サーバ2Eが、内部サーバ2Dに対して接続要求を送信してもよい。これによって、図9(C)に示すように、内部プロセス6Dと外部プロセス6Eとの間でセッションが接続されてもよい。なお、このとき外部サーバ2Eから内部サーバ2Dに対して送信される接続要求は、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して送信されてもよい。
例えば、図9(C)に示すように内部プロセス6Dと外部プロセス6Eとの間でセッションが接続された後、外部サーバ2Eは、連携指示を受信したことに応じて、内部サーバ2Dに連携要求を送信してもよい。連携要求には、外部プロセス6Eによって開催されている会議室71に参加する内部クライアント3D及び外部クライアント3EのクライアントIDが含まれてもよい。なお、このとき、FW8A(図1参照)によってフィルタリングされることを防止する為、WS8Bを介して連携要求が送信されてもよい。連携要求を受信した内部サーバ2Dは、連携要求に含まれるクライアントIDを取得し、会議室71に参加する内部クライアント3D及び外部クライアント3Eを特定してもよい。これによって、外部サーバ2Eの外部プロセス6Eによって開催される会議室71と、内部サーバ2Dの内部プロセス6Dによって開催される会議室71とのそれぞれの遠隔会議の制御が連携されてもよい。
制御装置5の制御部51は、内部サーバ及び外部サーバの少なくとも一方から完了通知を受信しなかった場合(S65:NO)連携に失敗した内部サーバ及び外部サーバに対して、連携指示を繰り返し送信してもよい。
図9(C)に示す状態で、制御装置5から内部サーバ2D及び外部サーバ2Eに連携指示が送信された場合、連携指示を受信した内部サーバ2Dと外部サーバ2Eとが連携された後、内部クライアント3Dと内部プロセス6Dとの間でセッションが接続され、内部クライアント3Dと外部プロセス6Eとの間でセッションが切断されてもよい。つまり、内部プロセス6Dと外部プロセス6Eとの連携のタイミグと、内部クライアント3Dを内部プロセス6Dに接続させ且つ外部プロセス6Eから切断させるタイミングとは、同一であってもよい。
第2会議室テーブル94には、開催予定の会議室7に関する情報だけでなく、クライアント3が参加しようとしている会議室7に関する情報が記憶されていてもよい。
<その他>
LAN1Aは、本発明の「第1ネットワーク」の一例である。WAN1Bは、本発明の「第2ネットワーク」の一例である。クライアントテーブル92に記憶された情報は、本発明の「クライアント情報」の一例である。S11の処理は、本発明の「取得ステップ」の一例である。S13の処理は、本発明の「第1判定ステップ」の一例である。S17の処理は、本発明の「決定ステップ」の一例である。S21、S103の処理は、本発明の「第1実行ステップ」の一例である。S53の処理は、本発明の「第2判定ステップ」の一例である。S59の処理は、本発明の「第2実行ステップ」の一例である。S61の処理は、本発明の「連携ステップ」の一例である。S67の処理は、本発明の「第3実行ステップ」の一例である。S101の処理は、本発明の「通知ステップ」の一例である。S103の処理は、本発明の「送信ステップ」の一例である。
LAN1Aは、本発明の「第1ネットワーク」の一例である。WAN1Bは、本発明の「第2ネットワーク」の一例である。クライアントテーブル92に記憶された情報は、本発明の「クライアント情報」の一例である。S11の処理は、本発明の「取得ステップ」の一例である。S13の処理は、本発明の「第1判定ステップ」の一例である。S17の処理は、本発明の「決定ステップ」の一例である。S21、S103の処理は、本発明の「第1実行ステップ」の一例である。S53の処理は、本発明の「第2判定ステップ」の一例である。S59の処理は、本発明の「第2実行ステップ」の一例である。S61の処理は、本発明の「連携ステップ」の一例である。S67の処理は、本発明の「第3実行ステップ」の一例である。S101の処理は、本発明の「通知ステップ」の一例である。S103の処理は、本発明の「送信ステップ」の一例である。
1 :通信システム
2 :会議サーバ
3 :クライアント
5 :制御装置
6 :プロセス
7 :会議室
91 :会議サーバテーブル
92 :クライアントテーブル
93 :第1会議室テーブル
94 :第2会議室テーブル
95 :許可設定情報
2 :会議サーバ
3 :クライアント
5 :制御装置
6 :プロセス
7 :会議室
91 :会議サーバテーブル
92 :クライアントテーブル
93 :第1会議室テーブル
94 :第2会議室テーブル
95 :許可設定情報
Claims (7)
- 特定の第1ネットワークに接続する内部クライアント、及び、前記第1ネットワークに対して外部の第2ネットワークに接続する外部クライアントの少なくとも何れかを含む複数のクライアントの間で実行される遠隔会議を制御するプロセスを実行可能な会議サーバを制御する制御装置のコンピュータに、
前記複数のクライアントに関するクライアント情報を取得する取得ステップと、
前記取得ステップによって取得された前記クライアント情報に基づき、前記複数のクライアントに前記外部クライアントが含まれるか判定する第1判定ステップと、
前記第1判定ステップによって、前記外部クライアントが含まれていると判定された場合、前記第2ネットワークに接続された前記会議サーバである外部サーバを決定する決定ステップと、
前記決定ステップによって決定された前記外部サーバに前記プロセスを実行させ、前記複数のクライアントと前記プロセスとを接続させる第1実行ステップと
を実行させるための制御プログラム。 - 前記複数のクライアントに前記内部クライアントが含まれるか判定する第2判定ステップと、
前記第2判定ステップによって、前記内部クライアントが含まれていると判定された場合、前記内部クライアントが接続する前記第1ネットワークに接続された前記会議サーバである内部サーバに前記プロセスを実行させる第2実行ステップと、
前記第1実行ステップによって前記外部サーバに実行させた前記プロセスである外部プロセスと、前記第2実行ステップによって前記内部サーバに実行させた前記プロセスである内部プロセスとを接続させ、前記遠隔会議の制御を連携させる連携ステップと、
前記第1実行ステップによって前記外部プロセスと接続された前記内部クライアントを、前記第2実行ステップによって実行された前記内部プロセスに接続させる第3実行ステップと
を、前記コンピュータに更に実行させることを特徴とする請求項1に記載の制御プログラム。 - 前記連携ステップは、
前記第1実行ステップによって前記外部サーバに実行させた前記外部プロセスと、前記第2実行ステップによって前記内部サーバに実行させた前記内部プロセスとを接続させ、前記内部サーバから前記外部サーバへ連携要求を送信して前記遠隔会議の制御を連携させることを特徴とする請求項2に記載の制御プログラム。 - 前記第2実行ステップは、
複数の前記内部サーバの何れかを選択して前記内部プロセスを実行させ、
前記連携ステップにおいて、選択された前記内部サーバに実行させた前記内部プロセスと前記外部プロセスとが接続して連携が成功したか判定する第3判定ステップを更に実行し、
前記第2実行ステップは、
前記第3判定ステップによって連携に失敗したと判定された場合、複数の前記内部サーバのうち接続に失敗した前記内部サーバを除く前記内部サーバの何れかを選択して前記内部プロセスを実行させることを特徴とする請求項2又は3に記載の制御プログラム。 - 前記第3実行ステップは、
前記連携ステップによって、前記外部プロセスと前記内部プロセスとを接続させて前記遠隔会議の制御が連携された後、前記内部クライアントを前記内部プロセスに接続させることを特徴とする請求項2から4の何れかに記載の制御プログラム。 - 前記第2実行ステップは、
前記外部サーバの処理負荷、及び、前記外部サーバと前記複数のクライアントとの通信状態の少なくとも一方が所定の条件を満たす場合、前記内部サーバに前記プロセスを実行させることを特徴とする請求項2から5の何れかに記載の制御プログラム。 - 特定の第1ネットワーク接続する内部クライアント、及び、前記第1ネットワークに対して外部の第2ネットワークに接続する外部クライアントの少なくとも何れかを含む複数のクライアントの間で実行される遠隔会議を制御するプロセスを実行可能な会議サーバを制御する制御方法であって、
制御装置が、前記複数のクライアントに関するクライアント情報を取得する取得ステップと、
前記制御装置が、前記取得ステップによって取得された前記クライアント情報に基づき、前記複数のクライアントに前記外部クライアントが含まれるか判定する第1判定ステップと、
前記第1判定ステップによって、前記外部クライアントが含まれていると判定された場合、前記制御装置が、前記第2ネットワークに接続された前記会議サーバである外部サーバを決定する決定ステップと、
前記制御装置が、前記決定ステップによって決定された前記外部サーバを前記複数のクライアントに通知する通知ステップと、
前記複数のクライアントが、それぞれ、前記通知ステップによって通知された前記外部サーバに接続要求を送信する送信ステップと、
前記外部サーバがプロセスを実行し、前記複数のクライアントから前記接続要求を受信し、前記複数のクライアントと前記プロセスとを接続させる第1実行ステップと
を備えたことを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017189289A JP2019066970A (ja) | 2017-09-29 | 2017-09-29 | 制御プログラム及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017189289A JP2019066970A (ja) | 2017-09-29 | 2017-09-29 | 制御プログラム及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019066970A true JP2019066970A (ja) | 2019-04-25 |
Family
ID=66339557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017189289A Pending JP2019066970A (ja) | 2017-09-29 | 2017-09-29 | 制御プログラム及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019066970A (ja) |
-
2017
- 2017-09-29 JP JP2017189289A patent/JP2019066970A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9565396B2 (en) | Methods, systems and program products for initiating a process on data network | |
US8144632B1 (en) | Methods, systems and program products for efficient communications during data sharing event | |
KR102127019B1 (ko) | 무선 네트워크 상에서의 멀티 모달 통신 우선순위 | |
EP3926917B1 (en) | Data transmission method, device and computer storage medium | |
KR20150027771A (ko) | 이동 장치 및 애플리케이션의 클러스터링을 위한 시스템 및 방법 | |
US11102254B2 (en) | Streamed communications | |
JP5969675B2 (ja) | セキュアなメディアベース・カンファレンシングにおける動的なカンファレンスセッションの再ルーティング | |
JP2008104112A (ja) | 送信経路設定装置、送信経路設定方法および送信経路設定プログラム | |
CN111083177B (zh) | 基于协同网关的跨域协同交互方法 | |
EP3095229B1 (en) | Method and nodes for configuring a communication path for a media service | |
EP3692482A1 (en) | Automatic remote communications session creation | |
EP3657780A1 (en) | Video conference multipoint control method, device, storage medium, and computer device | |
WO2012163076A1 (zh) | 一种预约会议的方法及系统 | |
JP2016033811A (ja) | セッション管理方法、セッション管理装置、セッション管理プログラム、および通話処理方法 | |
US8650309B2 (en) | Cascading architecture for audio and video streams | |
CN111884825A (zh) | 一种故障处理方法、装置、终端设备和存储介质 | |
CN111405229B (zh) | 视频会议处理方法、系统、客户端、电子设备及存储介质 | |
JP2016076926A (ja) | セキュアなメディアベース・カンファレンシングにおける動的シグナリングおよびリソース割り当て | |
JP2019066970A (ja) | 制御プログラム及び制御方法 | |
CN113612732B (zh) | 一种资源调用方法、装置和多方安全计算系统 | |
JP2007215016A (ja) | 多地点会議システム及びその制御方法、並びにプログラム | |
JP2014127948A (ja) | 通信プログラム、通信システム、及び通信装置 | |
JP6438378B2 (ja) | 制御システム、制御装置、制御方法及び制御プログラム | |
WO2016177135A1 (zh) | 资源管理方法、装置及控制终端 | |
CN115713317A (zh) | 一种会议实现方法、系统及存储介质和终端设备 |