JP6424906B2 - 通信方法及び通信プログラム - Google Patents
通信方法及び通信プログラム Download PDFInfo
- Publication number
- JP6424906B2 JP6424906B2 JP2017009292A JP2017009292A JP6424906B2 JP 6424906 B2 JP6424906 B2 JP 6424906B2 JP 2017009292 A JP2017009292 A JP 2017009292A JP 2017009292 A JP2017009292 A JP 2017009292A JP 6424906 B2 JP6424906 B2 JP 6424906B2
- Authority
- JP
- Japan
- Prior art keywords
- conference
- server
- client
- session
- port number
- 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.)
- Active
Links
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
- 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
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1093—In-session procedures by adding participants; by removing participants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、ネットワークを介して通信を行うことによって遠隔会議を実現するための通信方法及び通信プログラムに関する。
ネットワークに接続された複数の通信端末間で遠隔会議を開催するためのシステムにおいて、1台のMCU(Multi-point Control Unit)が複数の遠隔会議を同時期に開催する技術が提案されている。MCUにおいて、複数の遠隔会議を管理するプログラム等に障害が発生した場合、複数の遠隔会議の全てに影響を及ぼす可能性があり好ましくない。特許文献1は、複数の主催機、複数の通信端末、及び、仲介サーバを備えた電子会議システムを開示する。仲介サーバは、異なる2つの主催機を仮想サーバによって論理的に接続する。これによって、各主催機に接続される複数の通信端末によって構成される電子会議システムが、仮想サーバによって仲介される。
特許文献1に記載されたシステムに基づき、複数の仮想サーバがそれぞれ異なる遠隔会議を開催した場合を例示する。この場合、1つの仮想サーバに障害が発生した場合も、他の仮想サーバに障害が発生しない限り、他の仮想サーバによって開催される遠隔会議に影響は及ばないとも思われる。しかし、特許文献1に記載されたシステムでは、MCUの他に仲介サーバが別途必要となる。従って、複数の遠隔会議をそれぞれ安定的に開催するためのシステムを、簡易に構成できない場合があるという問題点がある。
本発明の目的は、複数の遠隔会議がそれぞれ安定的に開催されるシステムを簡易に実現できる通信方法及び通信プログラムを提供することである。
本発明の第1態様に係る通信方法は、クライアント間でサーバを介して遠隔会議を実行するための通信方法であって、前記サーバと前記クライアントとが接続する第1接続ステップと、前記サーバが、前記第1接続ステップによって接続された前記クライアントから送信された参加要求であって前記遠隔会議の会議IDを少なくとも含む参加要求を受信する第1受信ステップと、前記サーバが、前記遠隔会議を実行するための会議プロセスを実行する実行ステップと、前記サーバが、前記会議IDに対応するポート番号を決定する決定ステップと、前記サーバが、前記決定ステップによって決定された前記ポート番号を前記会議プロセスに送信する第1送信ステップと、前記会議プロセスが前記ポート番号を受信したことに応じ、前記サーバが、前記ポート番号を使用して前記遠隔会議を実行する会議サーバとして前記会議プロセスを起動する起動ステップと、前記サーバ及び前記会議プロセスが、前記決定ステップによって決定された前記ポート番号を使用して接続する第2接続ステップと、前記サーバが、前記第2接続ステップによって接続された前記会議プロセスに前記参加要求を送信する第2送信ステップと、前記第2送信ステップによって送信された前記参加要求を前記会議プロセスが受信し、参加許可を前記サーバに送信した場合、前記サーバが前記参加許可を受信する第2受信ステップと、前記サーバが、前記第2受信ステップによって受信された前記参加許可及び前記決定ステップによって決定された前記ポート番号を、前記クライアントに送信する第3送信ステップと、前記クライアントが前記参加許可を受信したことに応じ、前記参加許可に含まれる前記ポート番号を使用して前記クライアント及び前記会議プロセスが接続する第3接続ステップと、前記クライアント及び前記会議プロセスが、前記会議IDに対応する前記遠隔会議を行なうための通信を行なう通信ステップとを備えたことを特徴とする。
第1態様において、サーバは、会議IDの異なる遠隔会議毎に会議プロセスを起動する。起動された会議プロセスはクライアントと接続し、遠隔会議を行なうための通信を行なう。このため、特定の遠隔会議に対応する会議プロセスで障害が発生した場合でも、他の遠隔会議に障害の影響が及ぶことを防止できる。従って、特定の遠隔会議に対応する会議プロセスで障害が発生した後も、他の遠隔会議を継続できる。なお、会議プロセスは1つのサーバによって起動される。従って、上記方法によれば、複数の遠隔会議がそれぞれ安定的に開催されるシステムを簡易に実現できる。
本発明の第2態様に係る通信プログラムは、クライアント間で遠隔会議を実行させるサーバのコンピュータに、前記クライアントと接続する第1接続ステップと、前記第1接続ステップによって接続された前記クライアントから送信された参加要求であって前記遠隔会議の会議IDを少なくとも含む参加要求を受信する第1受信ステップと、前記遠隔会議を実行するための会議プロセスを実行する実行ステップと、前記会議IDに対応するポート番号を決定する決定ステップと、前記決定ステップによって決定された前記ポート番号を前記会議プロセスに送信する第1送信ステップと、前記第1送信ステップによって送信された前記ポート番号を使用して前記遠隔会議を実行する会議サーバとして、前記会議プロセスを起動する起動ステップと、前記決定ステップによって決定された前記ポート番号を使用して前記会議プロセスと接続する第2接続ステップと、前記第2接続ステップによって接続された前記会議プロセスに前記参加要求を送信する第2送信ステップと、前記第2送信ステップによって送信された前記参加要求に応じて前記会議プロセスから送信される参加許可を受信する第2受信ステップと、前記第2受信ステップによって受信された前記参加許可及び前記決定ステップによって決定された前記ポート番号を、前記クライアントに送信する第3送信ステップとを実行させる。第2態様によれば、第1態様と同様の効果を奏することができる。
本発明の第3態様に係る通信プログラムは、クライアント間で遠隔会議を実行させるサーバのコンピュータに、前記遠隔会議を実行するための会議プロセスを実行する実行ステップと、前記実行ステップによって実行された前記会議プロセスから送信されたポート要求に応じてポート番号を決定する決定ステップと、前記決定ステップによって決定された前記ポート番号を前記会議プロセスに送信する第1送信ステップと、前記第1送信ステップによって送信された前記ポート番号を使用して前記遠隔会議を実行する会議サーバとして、前記会議プロセスを起動する起動ステップと、前記クライアントと接続する第1接続ステップと、前記第1接続ステップによって接続された前記クライアントから送信された参加要求であって前記遠隔会議の会議IDを少なくとも含む参加要求を受信する第1受信ステップと、前記起動ステップによって起動された前記会議プロセスのうち未使用の会議プロセスを選択する選択ステップと、前記決定ステップによって決定された前記ポート番号を使用して、選択された前記会議プロセスと接続する第2接続ステップと、前記第2接続ステップによって接続された前記会議プロセスに前記参加要求を送信する第2送信ステップと、前記参加要求を送信したことに応じて前記会議プロセスから送信される参加許可を受信する第2受信ステップと、前記第2受信ステップによって受信された前記参加許可及び前記決定ステップによって決定された前記ポート番号を、前記クライアントに送信する第3送信ステップとを実行させる。
第3態様によれば、第2態様と同様の効果を奏することができる。又、サーバの処理負荷が大きい場合、会議プロセスの起動に時間を要する場合がある。これに対し、サーバは、クライアントから参加要求を受信する前に予め会議プロセスを起動しておく。これによって、クライアントから参加要求を受信してから遠隔会議への参加が可能となるまでの時間を短縮できる。
<通信システム1の概要>
図1を参照し、通信システム1について説明する。通信システム1には、サーバ2、及び、複数のクライアント3が含まれる。サーバ2及び複数のクライアント3は、非図示のネットワーク(LAN、インターネット等)を介してそれぞれ相互に接続される。
図1を参照し、通信システム1について説明する。通信システム1には、サーバ2、及び、複数のクライアント3が含まれる。サーバ2及び複数のクライアント3は、非図示のネットワーク(LAN、インターネット等)を介してそれぞれ相互に接続される。
各クライアント3は、サーバ2と通信を行なうことによって、仮想会議室(以下、単に「会議室」という。)に参加して遠隔会議を実行することが可能である。各クライアント3は、周知のPersonal Computer(PC)に対して遠隔会議アプリケーションのプログラムをインストールすることで構成される。各クライアント3は、それぞれ、制御部36、記憶部37、入力部38、及び、出力部39を有する。制御部36は、クライアント3による制御全体を司る。記憶部37は、制御部36によって実行される各種プログラムを記憶する。入力部38は、カメラ、マイク、キーボード、マウス等を含む。出力部39は、LCD、スピーカ等を含む。
サーバ2は、複数のクライアント3間で遠隔会議を実行させるために、会議室を開催できる。サーバ2は、Multi-point Control Unit(MCU)又は公知のサーバに対して専用アプリケーションのプログラムをインストールすることで構成される。サーバ2は、制御部21、記憶部22、及び、読取部23を有する。制御部21は、サーバ2による制御全体を司る。記憶部22は、制御部21によって実行される各種プログラムを記憶する。読取部23は、半導体メモリや光ディスク等の記憶媒体23Aに記憶された情報を読み出すことができる。制御部21は、記憶媒体23Aに記憶されたプログラムを読取部23によって読み出し、記憶部22に記憶できる。なお、プログラムは、例えば、非図示のネットワークに接続された別のサーバからダウンロードされて、記憶部22に記憶されてもよい。
<サーバ2によって実行される実行ファイル>
サーバ2の制御部21は、複数のクライアント3間で遠隔会議を実行させるために、次の(1)(2)のプロセスを実行する。プロセスとは、サーバ2にインストールされるプログラムの実行単位を示す。それぞれのプロセスは、記憶部22に記憶された実行ファイルが実行されることによって起動される。
サーバ2の制御部21は、複数のクライアント3間で遠隔会議を実行させるために、次の(1)(2)のプロセスを実行する。プロセスとは、サーバ2にインストールされるプログラムの実行単位を示す。それぞれのプロセスは、記憶部22に記憶された実行ファイルが実行されることによって起動される。
(1)サーバプロセス25
サーバプロセス25は、制御部21によって常時実行される。サーバプロセス25は、複数のクライアント3が遠隔会議を実行する場合に送受信されるメディアデータ(以下、「会議データ」という。)を転送する機能を実現する。サーバプロセス25は、必要に応じて後述する会議プロセス26を実行する。サーバプロセス25は、複数のクライアント3、及び、会議プロセス26と通信を行なうことができる。
サーバプロセス25は、制御部21によって常時実行される。サーバプロセス25は、複数のクライアント3が遠隔会議を実行する場合に送受信されるメディアデータ(以下、「会議データ」という。)を転送する機能を実現する。サーバプロセス25は、必要に応じて後述する会議プロセス26を実行する。サーバプロセス25は、複数のクライアント3、及び、会議プロセス26と通信を行なうことができる。
(2)会議プロセス26
会議プロセス26はサーバプロセス25によって実行される。会議プロセス26は、複数のクライアント3、及び、サーバプロセス25と通信を行うことができる。会議プロセス26は、遠隔会議における会議サーバの機能を実現する。会議サーバの機能の一つとして、会議室を開催する機能がある。この機能を実現する為に、会議プロセス26は、会議室に参加する各クライアント3とのセッションを示す識別情報(「セッションID」という。)、及び、会議室を示す識別情報(「会議ID」という。)を管理する。なお、サーバ2によって複数の会議室が開催される場合、各会議室に対応する会議プロセス26がサーバプロセス25によって実行される。
会議プロセス26はサーバプロセス25によって実行される。会議プロセス26は、複数のクライアント3、及び、サーバプロセス25と通信を行うことができる。会議プロセス26は、遠隔会議における会議サーバの機能を実現する。会議サーバの機能の一つとして、会議室を開催する機能がある。この機能を実現する為に、会議プロセス26は、会議室に参加する各クライアント3とのセッションを示す識別情報(「セッションID」という。)、及び、会議室を示す識別情報(「会議ID」という。)を管理する。なお、サーバ2によって複数の会議室が開催される場合、各会議室に対応する会議プロセス26がサーバプロセス25によって実行される。
例えば、図1に示すように、会議プロセス26Aは、クライアント31A、31B、31C、31Dを会議室3Aに参加させる場合、クライアント31A〜31Dとの間で接続されたそれぞれのセッションのセッションID(総称して「T1」という。)に、会議室の会議ID「3A」を関連付けて、記憶部22に記憶する。これによって、会議プロセス26Aは、会議室に対応する会議データの通信を、クライアント31A〜31Dとの間のセッションを介して実行できる。会議プロセス26B、26Cについても同様である。つまり、サーバ2は、クライアント31A〜31D間で実行される会議室3A、クライアント32A〜32D間で実行される会議室3B、クライアント33A〜33D間で実行される会議室3Cを、それぞれ、別々の会議プロセス26A、26B、26Cによって実行できる。
なお、以下で説明するサーバ2の各プロセス間の通信とは、プロセス間のデータの交換に対応し、ネットワークを介した実際の通信と異なる。以下、サーバ2の各プロセス間でデータが交換されることを、「データが送受信される。」という。
<第1通信シーケンスの概要>
図2から図6を参照し、第1通信シーケンス(図2参照)、及び、各種フローチャート(クライアント処理(図3参照)、第1サーバ処理(図4、図5参照)、第1会議処理(図6参照))を説明する。第1通信シーケンスと各フローチャートとで同一処理を示す場合、それぞれに同一ステップ番号を付す。
図2から図6を参照し、第1通信シーケンス(図2参照)、及び、各種フローチャート(クライアント処理(図3参照)、第1サーバ処理(図4、図5参照)、第1会議処理(図6参照))を説明する。第1通信シーケンスと各フローチャートとで同一処理を示す場合、それぞれに同一ステップ番号を付す。
クライアント処理(図3参照)は、クライアント3の制御部36によって実行される。クライアント処理は、遠隔会議を開始させるための指示が入力部38(キーボード)を介して入力された場合、記憶部37に記憶されたプログラムを制御部36が実行することによって開始される。以下では、会議ID「3A」の会議室3Aにクライアント31A〜31Dが(以下、総称して「クライアント31」という。)が参加する場合を例に挙げて具体的に説明する。クライアント31には、サーバ2と通信を行なうためのポート番号「P1」が予め割り当てられる。クライアント31とサーバ2との間で接続されるセッションのセッションIDを、「T11」と表記する。
第1サーバ処理(図4、図5参照)は、サーバ2の制御部21によって実行されるサーバプロセス25によって実行される。第1サーバ処理は、クライアント31から送信されたセッション接続要求(後述)が受信された場合、記憶部22に記憶されたプログラムをサーバプロセス25が実行することによって開始される。以下、サーバ2の制御部21によって実行されるサーバプロセス25が処理を実行することを、「サーバプロセス25が処理を実行する」という。サーバプロセス25には、クライアント3及び会議プロセス26と通信を行なうためのポート番号として、標準的に定められたポート番号(Well-Knownポート)が予め割り当てられる。以下、このポート番号を「標準ポート」といい、「Ps」と表記する。
第1会議処理(図6参照)は、サーバ2の制御部21によって実行される会議プロセス26によって実行される。第1会議処理は、サーバプロセス25によって会議プロセス26が実行された場合、記憶部22に記憶されたプログラムを会議プロセス26が実行することによって開始される。以下、サーバ2の制御部21によって実行される会議プロセス26が処理を実行することを、「会議プロセス26が処理を実行する」という。
図3に示すように、クライアント31の使用者は、会議ID「3A」の会議室3Aへの参加を要求するために、クライアント31の入力部38(キーボード)を介して会議ID「3A」及びユーザIDを入力する。クライアント31の制御部36は、会議ID「3A」及びユーザIDを取得する(S101)。図2、図3に示すように、制御部36は、セッションの接続を要求するデータ(「セッション接続要求」という。)を、標準ポート「Ps」宛に送信する(S103)。セッション接続要求には、接続が要求されるセッションのセッションID「T11」が含められる。図2、図4に示すように、サーバプロセス25は、標準ポート「Ps」宛に送信されたセッション接続要求を受信する(S201)。サーバプロセス25は、セッション接続要求に含まれるセッションID「T11」を取得する。サーバプロセス25は、セッションの接続を許可するデータ(「セッション接続許可」という。)を、セッション接続要求の送信元のポート番号「P1」宛に送信する(S203)。セッション接続許可には、許可されるセッションのセッションID「T11」が含められる。S201、S203の処理によって、サーバプロセス25は、クライアント31との間で、セッションID「T11」のセッションを接続する。以下、セッションID「X」のセッションを、「セッションX」という。
図3に示すように、クライアント31の制御部36は、ポート番号「P1」宛に送信されたセッション接続許可を受信したか判定する(S105)。制御部36は、セッション接続許可を受信しないと判定された場合(S105:NO)、セッションT11を切断するための処理を実行する(S131)。制御部36は、セッションT11の接続に失敗したことを通知する為の画面を、出力部39(LCD)に出力する(S133)。制御部36はクライアント処理を終了させる。
制御部36は、セッション接続許可を受信したと判定された場合(S105:YES)、セッション接続許可に含まれるセッションID「T11」を取得する。制御部36は、サーバプロセス25との間でセッションT11を接続する。制御部36は、会議室への参加を要求するデータ(「会議参加要求」という。)を、セッションT11を介して標準ポート「Ps」宛に送信する(S107)。会議参加要求には、参加を要求する会議室3Aの会議ID「3A」が含められる。図2、図4に示すように、サーバプロセス25は、標準ポート「Ps」宛に送信された会議参加要求を、セッションT11を介して受信する(S205)。サーバプロセス25は、会議参加要求に含まれる会議ID「3A」を取得する。
図4に示すように、サーバプロセス25は、会議室3Aを開催するための会議サーバとして、会議プロセス26Aが既に実行されているか判定ずる(S207)。サーバプロセス25は、会議室3Aを開催するための会議プロセス26Aが既に実行されていると判定された場合(S207:YES)、処理をS221に進める。この場合、詳細は後述するが、サーバプロセス25は、既に実行されている会議プロセス26Aとの間で、会議プロセス26Aに割り当てられたポート番号を使用してセッションを接続する(S221,S223)。一方、サーバプロセス25は、会議室3Aを開催するための会議プロセス26Aが実行されていないと判定された場合(S207:NO)、処理をS209に進める。
図2、図4に示すように、サーバプロセス25は、会議室3Aを開催するための会議プロセス26Aを実行する(S209)。図2、図6に示すように、実行された会議プロセス26Aは、はじめに、会議室を開催するために必要となるポート番号の取得を要求するデータ(「会議情報要求」という。)を標準ポート「Ps」宛に送信する(S301)。会議情報要求には、会議プロセス26Aが開催する会議室3Aの会議ID「3A」が含められる。図2、図4に示すように、サーバプロセス25は、標準ポート「Ps」宛の会議情報要求を受信する(S211)。サーバプロセス25は、会議情報要求に含まれる会議ID「3A」を取得する。サーバプロセス25は、会議室3Aを開催する会議プロセス26Aに割り当てるポート番号「P2」を決定する(S213)。
サーバプロセス25は、決定されたポート番号を通知するデータ(「会議情報応答」という。)を会議プロセス26Aに送信する(S215)。会議情報応答には、決定されたポート番号「P2」が含められる。図2、図6に示すように、会議プロセス26Aは会議情報応答を受信する(S303)。会議プロセス26Aは、会議情報応答に含まれるポート番号「P2」を取得する。
図2、図4、図6に示すように、サーバプロセス25及び会議プロセス26Aは、ポート番号「P2」を使用して通信を行ない且つ会議室3Aを開催する会議サーバとして、会議プロセス26Aを初期化し、起動する(S217、S305)。図2、図6に示すように、会議プロセス26Aは、会議室の開催準備が完了したことを通知するデータ(「会議準備完了」という。)を、標準ポート「Ps」宛に送信する(S307)。会議準備完了には、開催準備が完了した会議室3Aの会議ID「3A」が含められる。図2、図4に示すように、サーバプロセス25は、標準ポート「Ps」宛に送信された会議準備完了を受信する(S219)。サーバプロセス25は、会議準備完了に含まれる会議ID「3A」を取得する。
サーバプロセス25は、セッションT2の接続を要求するセッション接続要求を、ポート番号「P2」宛に送信する(S221)。セッション接続要求には、接続を要求するセッションT2のセッションID「T2」が含められる。なお、サーバプロセス25は、S207の処理において会議プロセス26Aが既に起動されていると判定された場合(S207:YES)、既に起動されている会議プロセス26Aに割り当てたられたポート番号「P2」宛に、セッション接続要求を送信する。
図6に示すように、会議プロセス26Aは、ポート番号「P2」宛に送信されたセッション接続要求を受信したか判定する(S309)。会議プロセス26Aは、セッション接続要求を受信したと判定された場合(S309:YES)、受信されたセッション接続要求に含まれるセッションID「T2」を取得する。会議プロセス26Aは、セッションT2の接続を許可するセッション接続許可を、標準ポート「Ps」宛に送信する(S311)。セッション接続許可には、セッションID「T2」が含められる。S311、S313の処理によって、会議プロセス26Aは、ポート番号「P2」を使用して、サーバプロセス25との間でセッションT2を接続する。会議プロセス26は処理をS309に戻す。会議プロセス26Aは、セッション接続要求を受信しないと判定された場合(S309:NO)、処理をS313に進める。
図2、図4に示すように、サーバプロセス25は、会議プロセス26Aから送信された標準ポート「Ps」宛のセッション接続許可を受信する(S223)。サーバプロセス25は、セッション接続許可に含まれるセッションID「T2」を取得する。S221、S223の処理によって、サーバプロセス25は、会議プロセス26Aのポート番号「P2」を使用して、会議プロセス26との間でセッションT2を接続する。
図2、図5に示すように、サーバプロセス25は、S205の処理によって受信された会議参加要求を、セッションT2を介してポート番号「P2」宛に送信する(S225)。会議参加要求には会議ID「3A」が含められる。図6に示すように、会議プロセス26Aは、通信ポート「P2」宛に送信された会議参加要求を、セッションT2を介して受信したか判定する(S313)。会議プロセス26Aは、会議参加要求を受信したと判定された場合(S313:YES)、会議参加要求に含まれる会議ID「3A」を取得する。会議プロセス26Aは、サーバプロセス25との間で接続されたセッションT2のセッションID「T2」に、会議参加要求に含まれる会議ID「3A」を対応付け、登録情報として記憶部22に記憶する。これによって、セッションT2に会議室3Aが登録される(S315)。
図6に示すように、会議プロセス26Aは、会議室に対する参加を許可するデータ(「会議参加許可」という。)を、セッションT2を介して標準ポート「Ps」宛に送信する(S317)。会議参加許可には、参加が許可された会議室3Aの会議ID「3A」が含められる。S313、S315、S317の処理によって、会議プロセス26Aは、会議室3Aに対応する会議データの通信を、サーバプロセス25との間でセッションT2を介して実行可能な状態になる。つまり、会議プロセス26Aは、会議室3Aに参加する。会議プロセス26Aは、処理をS309に戻す。
図2、図5に示すように、サーバプロセス25は、標準ポート「Ps」宛に送信された会議参加許可を、セッションT2を介して受信する(S227)。サーバプロセス25は、クライアント31との間で接続されたセッションT11のセッションID「T11」と、会議プロセス26Aとの間で接続されたセッションT2のセッションID「T2」とを関連付け、関連情報として記憶部22に記憶する(S229)。S225、S227、S229の処理によって、サーバプロセス25は、セッションT11を介した会議データと、セッションT2を介した会議データの仲介を行うことによって、会議室3Aに対応する会議データの通信を行なうことが可能となる。つまり、サーバプロセス25は会議室3Aに参加する。
サーバプロセス25は、受信された会議参加許可に、S213の処理によって決定されたポート番号「P2」を付加し、セッションT11を介してポート番号「P1」宛に送信する(S231)。
図3に示すように、クライアント31の制御部36は、ポート番号「P1」宛の会議参加許可を、セッションT11を介して受信したか判定する(S109)。制御部36は、会議参加許可を受信しないと判定された場合(S109:NO)、処理をS131に進める。制御部36は、セッションT11を切断するための処理を実行し(S131)、次いで、セッションT11の接続に失敗したことを通知する為の画面を出力部34(LCD)に出力する(S133)。一方、制御部36は、会議参加許可を受信したと判定された場合(S109:YES)、会議参加許可に含まれるポート番号「P2」を取得する。S107、S109の処理によって、制御部36は、会議室3Aに対応する会議データの通信を、サーバプロセス25との間でセッションT11を介して行なうことが可能となる。つまり、クライアント31は会議室3Aに参加する。
なお、制御部36は、会議参加許可を受信した後(S109:YES)、会議プロセス26Aとの間でセッションT3(後述)を接続するまでの間、セッションT11を介して会議室3Aに参加し、遠隔会議を実行できる。詳細は次の通りである。
制御部36は、会議室3Aに参加する全てのクライアント31に対する会議データを、セッションT11を介して標準ポート「Ps」宛に送信する。図5に示すように、サーバプロセス25は、クライアント31から標準ポート「Ps」宛に送信された会議データを、セッションT11を介して受信する(S235:YES)。サーバプロセス25は、S229の処理によって記憶部22に記憶された関連情報を参照し、セッションID「T11」に関連付けられたセッションID「T2」を特定する。サーバプロセス25は、受信された会議データを、セッションT2を介してポート番号「P2」宛に転送する(S237)。
図6に示すように、会議プロセス26Aは、ポート番号「P2」宛に送信された会議データを、セッションT2を介して受信する(S313:NO、S319:NO、S327:YES)。会議プロセス26Aは、S315の処理によって記憶部22に記憶された登録情報を参照し、セッションID「T2」に関連付けられた会議ID「3A」を特定する。会議プロセス26Aは、会議ID「3A」に関連付けられたセッションIDを特定する。なお、他のクライアント31が会議室3Aに参加している場合、他のクライアント31に対応するセッションIDも会議ID「3A」に関連付けられ、登録情報として記憶されている。会議プロセス26Aは、受信された会議データを、特定されたセッションIDのセッションを介して標準ポート「Ps」宛に転送する(S329)。
図5に示すように、サーバプロセス25は、標準ポート「Ps」宛に送信された会議データを、セッションT2を介して受信する(S235:YES)。サーバプロセス25は、S229の処理によって記憶部22に記憶された関連情報を参照し、セッションID「T2」に関連付けられたセッションIDを特定する。なお、他のクライアント31が会議室3Aに参加している場合、他のクライアント31に対応するセッションIDもセッションID「T2」に関連付けられ、関連情報として記憶されている。サーバプロセス25は、受信された会議データを、特定されたセッションIDのセッションを介して転送する(S237)。会議室3Aに参加するクライアント31の制御部36は、会議データを受信する。以上によって、会議室3Aに参加するクライアント31は、セッションT11を介してサーバプロセス25と会議データの通信を行なうことによって、遠隔会議を実行できる。
図2、図3に示すように、制御部36は、会議参加許可を受信した後(S109:YES)、セッションID「T3」のセッションT3の接続を要求するセッション接続要求を、S109の処理によって受信された会議参加許可に含まれる通信ポート「P2」宛に送信する(S111)。セッション接続要求には、セッションID「T3」が含められる。
図2、図6に示すように、会議プロセス26Aは、ポート番号「P2」宛に送信されたセッション接続要求を受信したと判定された場合(S309:YES)、セッション接続要求に含まれるセッションID「T3」を取得する。会議プロセス26Aは、セッション接続要求の送信元のポート番号「P1」宛に、セッション接続許可を送信する(S311)。S309、S311の処理によって、会議プロセス26Aは、ポート番号「P2」を使用して、クライアント31との間でセッションT3を接続する。
図2、図3に示すように、クライアント3の制御部36は、ポート番号「P1」宛に送信されたセッション接続許可を受信したか判定する(S113)。制御部36は、会議参加許可データを受信しないと判定された場合(S113:NO)、処理をS135に進める。制御部36は、セッションT3を切断するための処理を実行する(S135)。制御部36は、セッションT11を介してサーバプロセス25と会議データの通信を行なうことによって、会議室3Aに参加し遠隔会議を実行する(S137)。制御部36は処理をS127に進める。
制御部36は、セッション接続許可を受信したと判定された場合(S113:YES)、会議プロセス26Aのポート番号「P2」を使用して、会議プロセス26Aとの間でセッションT3を接続する。図2、図3に示すように、制御部36は、会議プロセス26Aにおいて会議室3Aを実行するためのセッションの切り替えを要求するデータ(「セッション切替要求」という。)を、セッションT3を介して通信ポート「P2」宛に送信する(S115)。セッション切替要求には、会議ID「3A」、及び、切替後のセッションのセッションID「T3」が含められる。
図6に示すように、会議プロセス26Aは、ポート番号「P2」宛に送信されたセッション切替要求を受信したと判定された場合(S319:YES)。処理をS321に進める。会議プロセス26Aは、セッション切替要求に含まれる会議ID「3A」及びセッションID「T3」を取得する。会議プロセス26Aは、S315の処理によって記憶部22に記憶された登録情報を参照する。会議プロセス26Aは、登録情報のうち会議ID「3A」に関連付けられたセッションIDを、「T2」から「T3」に切り替える(S321)。会議プロセス26Aは、セッションの切り替えを許可するデータ(「セッション切替許可」という。)を、セッションT3を介してポート番号「P1」宛に送信する(S323)。セッション切替許可には、切り替えられたセッションID「T3」が含められる。
図3に示すように、クライアント31の制御部36は、ポート番号「P1」宛のセッション切替許可を、セッションT3を介して受信したか判定する(S117)。制御部36は、セッション切替許可を受信しないと判定された場合(S117:NO)、処理をS135に進める。制御部36は、セッションT3を切断し(S135)、セッションT11を介してサーバプロセス25と通信を行なうことによって会議室3Aに参加し遠隔会議を実行する(S137)。
制御部36は、ポート番号「P1」宛のセッション切替許可を、セッションT3を介して受信したと判定された場合(S117:YES)、処理をS119に進める。制御部36は、セッションの切断を要求するデータ(「切断要求」という。)を、セッションT11を介して標準ポート「Ps」宛に送信する(S119)。切断要求には、切断を要求するセッションT11のセッションID「T11」が含められる。図2、図6に示すように、会議プロセス26Aは、S323の処理によってセッション切替許可を送信した後、セッションT2を介して標準ポート「Ps」宛に切断要求を送信する(325)。切断要求には、切断を要求するセッションT2のセッションID「T2」が含められる。図2、図5に示すように、サーバプロセス25は、標準ポート「Ps」宛の切断要求を受信した場合(S235:NO、S239:YES)、切断要求に含まれるセッションID「T11」「T2」を取得する。サーバプロセス25は、取得されたセッションIDのセッションT11、T2を切断する(S241)。S119、S241、S325の各処理によって、クライアント31とサーバプロセス25との間のセッションT11、及び、サーバプロセス25と会議プロセス26Aとの間のセッションT2は切断される。
図3に示すように、クライアント31の制御部36は、サーバプロセス25との間のセッションT11の切断後、セッションT2を介して会議室3Aに参加し、遠隔会議を実行する(S121)。詳細は次の通りである。制御部36は、会議室3Aに参加するクライアント31に対する会議データを、セッションT3を介して標準ポート「P2」宛に送信する。図6に示すように、会議プロセス26Aは、ポート番号「P2」宛に送信された会議データを、セッションT3を介して受信する(S327:YES)。会議プロセス26Aは、S321の処理によって記憶部22に記憶された登録情報を参照し、セッションID「T3」に関連付けられた会議ID「3A」を特定する。会議プロセス26Aは更に、特定された会議ID「3A」に関連付けられたセッションIDを特定する。会議プロセス26Aは、受信された会議データを、特定されたセッションIDのセッションを介して転送する(S237)。クライアント31の制御部36は、会議データを受信する。以上によって、会議室3Aに参加するクライアント31は、セッションT3を介して会議プロセス26Aと会議データの通信を行なうことによって、遠隔会議を実行できる。
図3に示すように、クライアント3の制御部36は、遠隔会議を終了させるための指示が入力部38(キーボード)を介して入力されるまでの間(S123:NO)、会議室3Aに参加して会議データの通信を行ない、遠隔会議を実行する。制御部36は、遠隔会議を終了させるための指示が入力部38を介して入力されたと判定された場合(S123:YES)、サーバプロセス25及び会議プロセス26Aに対し、遠隔会議を終了させるためのデータ(「終了指示」という。)を送信する。制御部36は、クライアント処理を終了させる。図5に示すように、サーバプロセス25は、終了指示が受信されるまでの間(S243:NO)、会議データの転送処理を継続する。サーバプロセス25は、終了指示を受信したと判定された場合(S243:YES)、第1サーバ処理を終了させる。図6に示すように、会議プロセス26Aは、終了指示が受信されるまでの間(S331:NO)、会議室3Aに参加して会議データの通信を行ない、遠隔会議を実行する。会議プロセス26Aは、終了指示を受信したと判定された場合(S331:YES)、第1会議処理を終了させる。
<第2通信シーケンスの概要>
図7から図11を参照し、第2通信シーケンス(図7参照)、及び、各種フローチャート(第2サーバ処理(図8参照)、起動処理(図9参照)、第2会議処理(図10、図11参照)について説明する。クライアント処理については、第1通信シーケンス(図2参照)と同一である為、図示及び説明を省略する。第1通信シーケンスと第2通信シーケンス、及び、第2通信シーケンスと各フローチャートとで同一処理を示す場合、それぞれに同一ステップ番号を付す。起動処理は、サーバプロセス25によって実行される。第2サーバ処理及び起動処理は、サーバプロセス25によって並列して実行される。
図7から図11を参照し、第2通信シーケンス(図7参照)、及び、各種フローチャート(第2サーバ処理(図8参照)、起動処理(図9参照)、第2会議処理(図10、図11参照)について説明する。クライアント処理については、第1通信シーケンス(図2参照)と同一である為、図示及び説明を省略する。第1通信シーケンスと第2通信シーケンス、及び、第2通信シーケンスと各フローチャートとで同一処理を示す場合、それぞれに同一ステップ番号を付す。起動処理は、サーバプロセス25によって実行される。第2サーバ処理及び起動処理は、サーバプロセス25によって並列して実行される。
第2通信シーケンスが第1通信シーケンスと相違する点は、サーバプロセス25がクライアント3から会議参加要求を受信する(S205参照)前に、会議プロセス26が予め実行される点である。会議プロセス26は、開催する会議室が特定されない状態(以下、「未使用の状態」という。)で保持される。サーバプロセス25は、クライアント3から会議参加要求を受信した場合、予め実行された未使用の会議プロセス26を選択し、特定の会議IDの会議室を実行させる会議プロセス26として起動する。
第2サーバ処理は、サーバ2の電源が投入された場合、記憶部22に記憶されたプログラムをサーバプロセス25が実行することによって開始される。図8に示すように、サーバプロセス25は、はじめに起動処理(図9参照)を実行する(S251)。
図9を参照し、起動処理について説明する。サーバプロセス25は、未使用の会議プロセス26があるか判定する(S281)。サーバプロセス25は、未使用の会議プロセスがあると判定された場合(S281:YES)、起動処理を終了させる。サーバプロセス25は、未使用の会議プロセス26がないと判定された場合(S281:NO)、処理をS283に進める。
図7、図9に示すように、サーバプロセス25は会議プロセス26を実行する(S283)。第1通信シーケンスと異なり、実行される会議プロセス26において開催される会議室は特定されない。図7、図10に示すように、起動された会議プロセス26は、ポート番号の取得を要求する会議情報要求を標準ポート「Ps」宛に送信する(S301)。第1通信シーケンスと異なり、会議情報要求に会議ID「3A」は含められない。図7、図9に示すように、サーバプロセス25は会議情報要求を受信する(S285)。サーバプロセス25は、会議プロセス26に割り当てるポート番号「P2」を決定する(S287)。サーバプロセス25は、会議情報応答を会議プロセス26に送信する(S289)。会議情報応答には、決定されたポート番号「P2」が含められる。図7、図10に示すように、会議プロセス26は会議情報応答を受信する(S303)。会議プロセス26は、会議情報応答に含まれるポート番号「P2」を取得する。
図7、図9、図10に示すように、サーバプロセス25及び会議プロセス26は、ポート番号「P2」を使用して通信を行ない且つ会議室を開催する会議サーバとして、会議プロセス26を初期化し、起動する(S291、S305)。図7、図10に示すように、会議プロセス26は、会議準備完了を標準ポート「Ps」宛に送信する(S307)。第1通信シーケンスと異なり、会議準備完了に会議IDは含められない。図7、図9に示すように、サーバプロセス25は会議準備完了を受信する(S293)。サーバプロセス25は起動処理を終了させる。
図7に示すように、クライアント31の制御部36は、セッションT11の接続を要求するセッション接続要求を標準ポート「Ps」宛に送信する(S103)。図7、図8に示すように、サーバプロセス25はセッション接続要求を受信する(S201)。サーバプロセス25は、セッション接続許可をポート番号「P1」宛に送信する(S203)。これによって、サーバプロセス25は、クライアント31との間でセッションT11を接続する。
制御部36はセッション接続許可を受信した(S105)後、会議ID「3A」の会議室への参加を要求する会議参加要求を、セッションT11を介して送信する(S107)。図7、図8に示すように、サーバプロセス25は、セッションT11を介して会議参加要求を受信する(S205)。サーバプロセス25は、会議室3Aを開催する会議サーバとして会議プロセス26Aが既に起動されているか判定ずる(S261)。サーバプロセス25は、会議プロセス26Aが実行されていないと判定された場合(S261:NO)、処理をS265に進める。
図8に示すように、サーバプロセス25は、起動処理(図9参照)によって実行された会議プロセス26のうち未使用の会議プロセス26を選択する(S265)。サーバプロセス25は、選択された会議プロセス26に割り当てられたポート番号「P2」を取得する。サーバプロセス25は、セッションT2の接続を要求するセッション接続要求を、ポート番号「P2」宛に送信する(S221)。図10に示すように、会議プロセス26Aは、セッション接続要求を受信したと判定された場合(S309:YES)、セッション接続許可を標準ポート「Ps」宛に送信する(S311)。会議プロセス26Aは、ポート番号「P2」を使用して、サーバプロセス25との間でセッションT2を接続する。図7、図8に示すように、サーバプロセス25は、会議プロセス26Aから送信された標準ポート「Ps」宛のセッション接続許可を受信する(S223)。サーバプロセス25は、会議プロセス26Aのポート番号「P2」を使用して、会議プロセス26との間でセッションT2を接続する。
サーバプロセス25は、会議室の開催開始を要求するデータ(「会議開始要求」という。)を、セッションT2を介して送信する(S267)。会議開始要求には、開催を要求する会議室3Aの会議ID「3A」が含められる。図10に示すように、会議プロセス26は、セッションT2を介して会議開始要求を受信したか判定する(S309:NO、S313:NO、S361)。会議プロセス26は、会議開始要求を受信したと判定された場合(S361:YES)、処理をS363に進める。会議プロセス26は、受信された会議開始要求に含まれる会議ID「3A」を取得する。会議プロセス26は、会議室3Aを開催することが可能な会議サーバとして起動する(S363)。以下、会議室3Aを開催する会議サーバとして起動した会議プロセス26を、会議プロセス26Aという。
会議プロセス26Aは、会議開始を許可するデータ(「会議開始許可」という。)を、セッションT2を介して標準ポート「Ps」宛に送信する(S365)。会議プロセス26Aは処理をS309に戻す。図7、図8に示すように、サーバプロセス25は、セッションT2を介して会議開始許可を受信する(S269)。サーバプロセス25は、未使用の会議プロセス26を確保するため、起動処理(図9参照)を実行する(S271)。サーバプロセス25は、処理をS225(図5参照)に進める。S225〜S243の処理は、第1サーバ処理(図5参照)と同一であるため、説明を省略する。
図8に示すように、サーバプロセス25は、会議室3Aを開催する会議サーバとして会議プロセス26Aが既に起動されていると判定された場合(S261:YES)、処理をS263に進める。サーバプロセス25は、既に起動されている会議プロセス26Aを選択する(S263)。サーバプロセス25は、選択された会議プロセス26Aに割り当てられたポート番号「P2」を取得する。サーバプロセス25は、セッションT2の接続を要求するセッション接続要求を、ポート番号「P2」宛に送信する(S221)。サーバプロセス25は、セッション接続要求に応じて会議プロセス26Aから送信されたセッション接続許可を受信する(S223)。これにより、サーバプロセス25は、会議プロセス26Aのポート番号「P2」を使用して、会議プロセス26との間でセッションT2を接続する。サーバプロセス25は、処理をS225(図5参照)に進める。S225〜S243の処理は、第1サーバ処理(図5参照)と同一であるため、説明を省略する。又、会議プロセス26Aは、ポート番号「P2」を使用して、サーバプロセス25との間でセッションT2を接続する。図10のS319〜S325、及び、図11のS327〜S331の処理は、第1会議処理(図6参照)と同一であるため、説明を省略する。
<本実施形態の主たる作用、効果>
サーバプロセス25は、会議IDの異なる会議室毎に会議プロセス26を起動する。起動された会議プロセス26はクライアント3との間でセッションを接続し、遠隔会議を行なうために会議データの通信を行なう。このため、特定の遠隔会議に対応する会議プロセス26で障害が発生した場合でも、障害の影響が他の会議プロセス26に及び難い。このため、他の会議プロセス26は、特定の遠隔会議に対応する会議プロセス26で障害が発生した後も、他の会議室を継続して開催することで、遠隔会議を安定的に継続できる。なお、会議プロセス26はサーバプロセス25によって起動される。従って、サーバ2は、複数の会議室がそれぞれ安定的に開催される遠隔会議システムを、簡易に実現できる。
サーバプロセス25は、会議IDの異なる会議室毎に会議プロセス26を起動する。起動された会議プロセス26はクライアント3との間でセッションを接続し、遠隔会議を行なうために会議データの通信を行なう。このため、特定の遠隔会議に対応する会議プロセス26で障害が発生した場合でも、障害の影響が他の会議プロセス26に及び難い。このため、他の会議プロセス26は、特定の遠隔会議に対応する会議プロセス26で障害が発生した後も、他の会議室を継続して開催することで、遠隔会議を安定的に継続できる。なお、会議プロセス26はサーバプロセス25によって起動される。従って、サーバ2は、複数の会議室がそれぞれ安定的に開催される遠隔会議システムを、簡易に実現できる。
クライアント31は、会議プロセス26AとセッションT3を直接的に接続し、セッションT3を介して遠隔会議のための通信を行なうことができる。この時、サーバプロセス25は、クライアント3と会議プロセス26Aとの間の通信に介在しない。つまり、それぞれの会議プロセス26は、対応する遠隔会議のための通信を均等に処理できる。従って、複数の遠隔会議が同時期に開催された場合において、サーバプロセス25に処理負荷が集中することを回避できる。このため、サーバプロセス25がボトルネックとなって複数の遠隔会議全体の処理が遅くなることを回避できる。
第1通信シーケンスにおいて、サーバプロセス25は、会議室3Aに参加するための会議参加要求をクライアント3から受信した場合(S205)、会議室3Aを開催するための会議サーバとして、会議プロセス26Aが既に実行されているか判定ずる。サーバプロセス25は、会議室3Aを開催するための会議プロセス26Aが既に実行されていると判定された場合(S207:YES)、既に実行されている会議プロセス26Aとの間で、会議プロセス26Aに割り当てられたポート番号「P2」を使用してセッションを接続する(S221,S223)。つまり、サーバプロセス25は、開催中の会議室3Aに途中から参加するクライアント3がある場合、既に起動されている会議プロセス26Aのポート番号「P2」を用いて、会議プロセス26Aとの間のセッション(T2)を接続できる。この場合、サーバプロセス25は、実行される会議プロセス26の数が増加することによって制御部21の負荷が増大することを抑制できる。
第1通信シーケンス及び第2通信シーケンスでは、はじめにサーバプロセス25とクライアント3との間でセッション(T1)が接続し、次に、サーバプロセス25と会議プロセス26Aとの間でセッションT2が接続し、最後に、クライアント3と会議プロセス26Aとの間でセッションT3が接続する。クライアント3は、会議プロセス26との間のセッションT3が接続するまでの間、サーバプロセス25の標準ポート「Ps」を使用し、セッション(T1)を介してサーバプロセス25と通信を行なうことによって遠隔会議を実行できる。この場合、例えば通信システム1内のセキュリティ機能(ファイヤーウォール等)の影響で、クライアント3と会議プロセス26Aとの間のセッションT3の接続が不可能な場合でも、クライアント3は、サーバプロセス25を介して会議プロセス26Aと通信を行ない、遠隔各会議を実行できる。又、クライアント3と会議プロセス26Aとの間のセッションT3の接続に成功した場合、サーバプロセス25とクライアント3との間のセッション(T1)、及び、サーバプロセス25と会議プロセス26との間のセッションT2は切断される。その後、クライアント3と会議プロセス26Aとの間で、セッションT3を介して通信が直接行われる。この場合、サーバプロセス25は通信に介在しないので、サーバプロセス25に通信負荷が集中することを防止できる。
サーバ2の制御部21の処理負荷が大きい場合、会議プロセス26の起動に時間を要する可能性がある。これに対して、第2通信シーケンスにおいて、サーバプロセス25は、会議室3Aに参加するための会議参加要求をクライアント3から受信する前に、会議プロセス26を実行しておく(S251)。サーバプロセス25は、会議参加要求をクライアント3から受信した場合、既に実行されている会議プロセス26のうち未使用の会議プロセス26を選択し(S265)、この会議プロセス26によって会議室3Aを開催させ、遠隔会議を実行させる。これによって、サーバプロセス25は、クライアント3から会議参加要求を受信してから遠隔会議への参加が可能となるまでの時間を短縮できる。
<変形例>
本発明は上記実施形態に限定されず、種々の変更が可能である。サーバプロセス25とクライアント31との間のセッションT11の接続方法は、上記の方法に限定されない。例えば、サーバプロセス25からクライアント31に対してセッション接続要求が送信され、クライアント31からサーバプロセス25に対してセッション接続許可が送信されることによって、セッションT11が接続されてもよい。
本発明は上記実施形態に限定されず、種々の変更が可能である。サーバプロセス25とクライアント31との間のセッションT11の接続方法は、上記の方法に限定されない。例えば、サーバプロセス25からクライアント31に対してセッション接続要求が送信され、クライアント31からサーバプロセス25に対してセッション接続許可が送信されることによって、セッションT11が接続されてもよい。
サーバプロセス25は、会議プロセス26のポート番号をランダムに決定してもよいし、あらかじめ記憶部22に記憶されたポート番号の候補リストから選択することによって、会議プロセス26のポート番号を決定してもよい。候補リストには、クライアント31が会議プロセス26との間でセッションT3を接続可能なポート番号、即ち、クライアント31が会議プロセス26と通信を行うことが可能なポート番号が、予め設定されてもよい。
サーバプロセス25は、クライアント31から会議室3Aの会議参加要求を受信した場合、会議室3Aを開催するための会議サーバとして既に会議プロセス26が起動しているか否かに関わらず、会議プロセス26Aを新たに起動してもよい。つまり、同じ会議室3Aを開催する会議プロセス26が複数実行されてもよい。この場合、例えば、同じ会議室3Aを開催する複数の会議プロセス26間で通信が行われることによって、遠隔会議が実行されてもよい。
第1通信シーケンス及び第2通信シーケンスにおいて、クライアント31と会議プロセス26Aとの間のセッションT3が接続した後、セッションT11、T2は切断された。セッションT11、T2の切断方法は、上記方法に限定されない。例えば、クライアント31及び会議プロセス26Aは、セッションT3の接続完了通知をサーバプロセス25に送信してもよい。サーバプロセス25は、接続完了通知を受信した場合、セッションT11、T2を切断してもよい。又、セッションT3の接続後も、セッションT11、T2は維持されてもよい。クライアント31及び会議プロセス26は、ネットワークの通信状態に応じて、セッション11、T2を使用してサーバプロセス25を介して遠隔会議を実行するか、又は、セッションT3を使用して遠隔会議を直接実行するかを切り替え可能としてもよい。
第2通信シーケンスにおいて、サーバプロセス25によって会議参加要求が受信される前に予め実行される会議プロセス26の数は、1に限定されず2以上であってもよい。又、起動処理は、未使用の会議プロセス26の数が所定数以下となった場合に起動され、会議プロセス26を実行してもよい。
サーバプロセス25は常時実行されなくてもよい。例えばサーバプロセス25は、クライアント31からセッション接続要求を受信した場合に起動され、第1サーバ処理又は第2サーバ処理を実行してもよい。サーバプロセス25は、クライアント31と会議プロセス26との間でセッションT3が接続し、セッションT11、T2が切断された後、終了してもよい。
<その他>
S201、S203は本発明の「第1接続ステップ」の一例である。S205は本発明の「第1受信ステップ」の一例である。S209、S283は本発明の「実行ステップ」の一例である。S213、S287は本発明の「決定ステップ」の一例である。S215は本発明の「第1送信ステップ」の一例である。S217は本発明の「起動ステップ」の一例である。S221、S223は本発明の「第2接続ステップ」の一例である。S225は本発明の「第2送信ステップ」の一例である。S227は本発明の「第2受信ステップ」の一例である。S231は本発明の「第3送信ステップ」の一例である。S111、S113、S309、S311は本発明の「第3接続ステップ」の一例である。S121、S137、S329は本発明の「通信ステップ」の一例である。S207は本発明の「判定ステップ」の一例である。S237の処理は本発明の「仲介ステップ」の一例である。S241の処理は本発明の「終了ステップ」の一例である。S263、S265の処理は本発明の「選択ステップ」の一例である。
S201、S203は本発明の「第1接続ステップ」の一例である。S205は本発明の「第1受信ステップ」の一例である。S209、S283は本発明の「実行ステップ」の一例である。S213、S287は本発明の「決定ステップ」の一例である。S215は本発明の「第1送信ステップ」の一例である。S217は本発明の「起動ステップ」の一例である。S221、S223は本発明の「第2接続ステップ」の一例である。S225は本発明の「第2送信ステップ」の一例である。S227は本発明の「第2受信ステップ」の一例である。S231は本発明の「第3送信ステップ」の一例である。S111、S113、S309、S311は本発明の「第3接続ステップ」の一例である。S121、S137、S329は本発明の「通信ステップ」の一例である。S207は本発明の「判定ステップ」の一例である。S237の処理は本発明の「仲介ステップ」の一例である。S241の処理は本発明の「終了ステップ」の一例である。S263、S265の処理は本発明の「選択ステップ」の一例である。
1 :通信システム
2 :サーバ
3 :クライアント
21 :制御部
25 :サーバプロセス
26、26A、26B、26C :会議プロセス
33 :入力部
2 :サーバ
3 :クライアント
21 :制御部
25 :サーバプロセス
26、26A、26B、26C :会議プロセス
33 :入力部
Claims (6)
- クライアント間でサーバを介して遠隔会議を実行するための通信方法であって、
前記サーバと前記クライアントとが接続する第1接続ステップと、
前記サーバが、前記第1接続ステップによって接続された前記クライアントから送信された参加要求であって前記遠隔会議の会議IDを少なくとも含む参加要求を受信する第1受信ステップと、
前記サーバが、前記遠隔会議を実行するための会議プロセスを実行する実行ステップと、
前記サーバが、前記会議IDに対応するポート番号を決定する決定ステップと、
前記サーバが、前記決定ステップによって決定された前記ポート番号を前記会議プロセスに送信する第1送信ステップと、
前記会議プロセスが前記ポート番号を受信したことに応じ、前記サーバが、前記ポート番号を使用して前記遠隔会議を実行する会議サーバとして前記会議プロセスを起動する起動ステップと、
前記サーバ及び前記会議プロセスが、前記決定ステップによって決定された前記ポート番号を使用して接続する第2接続ステップと、
前記サーバが、前記第2接続ステップによって接続された前記会議プロセスに前記参加要求を送信する第2送信ステップと、
前記第2送信ステップによって送信された前記参加要求を前記会議プロセスが受信し、参加許可を前記サーバに送信した場合、前記サーバが前記参加許可を受信する第2受信ステップと、
前記サーバが、前記第2受信ステップによって受信された前記参加許可及び前記決定ステップによって決定された前記ポート番号を、前記クライアントに送信する第3送信ステップと、
前記クライアントが前記参加許可を受信したことに応じ、前記参加許可に含まれる前記ポート番号を使用して前記クライアント及び前記会議プロセスが接続する第3接続ステップと、
前記クライアント及び前記会議プロセスが、前記会議IDに対応する前記遠隔会議を行なうための通信を行なう通信ステップと
を備えたことを特徴とする通信方法。 - クライアント間で遠隔会議を実行させるサーバのコンピュータに、
前記クライアントと接続する第1接続ステップと、
前記第1接続ステップによって接続された前記クライアントから送信された参加要求であって前記遠隔会議の会議IDを少なくとも含む参加要求を受信する第1受信ステップと、
前記遠隔会議を実行するための会議プロセスを実行する実行ステップと、
前記会議IDに対応するポート番号を決定する決定ステップと、
前記決定ステップによって決定された前記ポート番号を前記会議プロセスに送信する第1送信ステップと、
前記第1送信ステップによって送信された前記ポート番号を使用して前記遠隔会議を実行する会議サーバとして、前記会議プロセスを起動する起動ステップと、
前記決定ステップによって決定された前記ポート番号を使用して前記会議プロセスと接続する第2接続ステップと、
前記第2接続ステップによって接続された前記会議プロセスに前記参加要求を送信する第2送信ステップと、
前記第2送信ステップによって送信された前記参加要求に応じて前記会議プロセスから送信される参加許可を受信する第2受信ステップと、
前記第2受信ステップによって受信された前記参加許可及び前記決定ステップによって決定された前記ポート番号を、前記クライアントに送信する第3送信ステップと
を実行させるための通信プログラム。 - 前記第1受信ステップによって受信された前記参加要求に含まれる前記会議IDに対応する前記会議サーバとして前記会議プロセスが既に起動されているか判定する判定ステップを前記コンピュータに更に実行させ、
前記第2接続ステップは、前記会議プロセスが既に起動されていると判定された場合、既に起動されている前記会議プロセスが前記遠隔会議を実行するときに使用する前記ポート番号を使用して、既に起動されている前記会議プロセスと接続することを特徴とする請求項2に記載の通信プログラム。 - 前記第2接続ステップによって前記会議プロセスと接続してから、前記クライアント及び前記会議プロセスが接続するまでの間、前記クライアント及び前記会議プロセスの間で前記遠隔会議を行なうための通信を仲介する仲介ステップと、
前記クライアント及び前記会議プロセスが接続した後、前記クライアントとの間の接続、及び、前記会議プロセスとの間の接続を終了する終了ステップと
を、前記コンピュータに更に実行させることを特徴とする請求項2又は3に記載の通信プログラム。 - クライアント間で遠隔会議を実行させるサーバのコンピュータに、
前記遠隔会議を実行するための会議プロセスを実行する実行ステップと、
前記実行ステップによって実行された前記会議プロセスから送信されたポート要求に応じてポート番号を決定する決定ステップと、
前記決定ステップによって決定された前記ポート番号を前記会議プロセスに送信する第1送信ステップと、
前記第1送信ステップによって送信された前記ポート番号を使用して前記遠隔会議を実行する会議サーバとして、前記会議プロセスを起動する起動ステップと、
前記クライアントと接続する第1接続ステップと、
前記第1接続ステップによって接続された前記クライアントから送信された参加要求であって前記遠隔会議の会議IDを少なくとも含む参加要求を受信する第1受信ステップと、
前記起動ステップによって起動された前記会議プロセスのうち未使用の会議プロセスを選択する選択ステップと、
前記決定ステップによって決定された前記ポート番号を使用して、選択された前記会議プロセスと接続する第2接続ステップと、
前記第2接続ステップによって接続された前記会議プロセスに前記参加要求を送信する第2送信ステップと、
前記参加要求を送信したことに応じて前記会議プロセスから送信される参加許可を受信する第2受信ステップと、
前記第2受信ステップによって受信された前記参加許可及び前記決定ステップによって決定された前記ポート番号を、前記クライアントに送信する第3送信ステップと
を実行させるための通信プログラム。 - 前記第1受信ステップによって受信された前記参加要求に含まれる前記会議IDの前記遠隔会議に対応する前記会議プロセスがあるか判定する判定ステップを前記コンピュータに更に実行させ、
前記第2接続ステップは、前記会議IDの前記遠隔会議に対応する前記会議プロセスがあると判定された場合、前記選択ステップは、前記会議IDの前記遠隔会議に対応する前記会議プロセスを選択することを特徴とする請求項5に記載の通信プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017009292A JP6424906B2 (ja) | 2017-01-23 | 2017-01-23 | 通信方法及び通信プログラム |
US15/806,891 US20180212789A1 (en) | 2017-01-23 | 2017-11-08 | Communication Method and Storage Medium Storing Communication Program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017009292A JP6424906B2 (ja) | 2017-01-23 | 2017-01-23 | 通信方法及び通信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018120270A JP2018120270A (ja) | 2018-08-02 |
JP6424906B2 true JP6424906B2 (ja) | 2018-11-21 |
Family
ID=62906680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017009292A Active JP6424906B2 (ja) | 2017-01-23 | 2017-01-23 | 通信方法及び通信プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180212789A1 (ja) |
JP (1) | JP6424906B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6493435B2 (ja) * | 2017-03-03 | 2019-04-03 | ブラザー工業株式会社 | 通信方法及び通信プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014488A1 (en) * | 2001-06-13 | 2003-01-16 | Siddhartha Dalal | System and method for enabling multimedia conferencing services on a real-time communications platform |
US20110182415A1 (en) * | 2010-01-28 | 2011-07-28 | Jacobstein Mark Williams | Methods and apparatus for providing call conferencing services |
JP5700700B2 (ja) * | 2012-05-18 | 2015-04-15 | 日本電信電話株式会社 | 会議サーバ装置、およびプログラム |
JP6493236B2 (ja) * | 2016-01-25 | 2019-04-03 | ブラザー工業株式会社 | 通信方法、通信プログラム、及び、サーバ |
JP6387972B2 (ja) * | 2016-01-25 | 2018-09-12 | ブラザー工業株式会社 | 通信方法、通信システム、及び、通信プログラム |
-
2017
- 2017-01-23 JP JP2017009292A patent/JP6424906B2/ja active Active
- 2017-11-08 US US15/806,891 patent/US20180212789A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2018120270A (ja) | 2018-08-02 |
US20180212789A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3058699B1 (en) | Communication system architecture | |
TWI330476B (en) | Dynamic wan port detection | |
EP3469768B1 (en) | Streamed communications | |
US20170289069A1 (en) | Selecting an Autonomous Software Agent | |
WO2017172654A1 (en) | Making a dialogue available to an autonomous software agent | |
US7543034B2 (en) | Instant messenger reflector | |
JP2005216313A (ja) | クライアント端末装置とサーバーとの間のセッション再設定のためのシステム及び方法 | |
WO2017172652A1 (en) | Supplying context data to a servicing entity | |
WO2015075271A1 (en) | Communication system achitecture | |
CN102821143A (zh) | 终端协同操作方法、设备及系统 | |
WO2015075273A1 (en) | Communication system architecture | |
KR20160131066A (ko) | 시커 디바이스와 목표 디바이스 간의 접속을 설정하는 방법 및 시스템 | |
WO2015075274A1 (en) | Communication system architecture | |
JP6493236B2 (ja) | 通信方法、通信プログラム、及び、サーバ | |
JP6424906B2 (ja) | 通信方法及び通信プログラム | |
TWI585699B (zh) | 建立通訊事件 | |
JP6387972B2 (ja) | 通信方法、通信システム、及び、通信プログラム | |
US9432420B2 (en) | Communication system, non-transitory computer-readable medium storing communication program and communication device | |
JP6493435B2 (ja) | 通信方法及び通信プログラム | |
JP2012119884A (ja) | 通信端末、通信システム、及び通信プログラム | |
JP2018160720A (ja) | 通信方法及び通信プログラム | |
JP5154325B2 (ja) | ライセンスキー管理システム | |
JP2005032187A (ja) | 端末間連携システムおよび端末間連携方法 | |
US9081748B2 (en) | Dynamic redundancy management | |
US10630741B2 (en) | Communication method, storage medium storing communication program, and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180914 |
|
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: 20180925 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181008 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6424906 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |