(57)【要約】【課題】端末グループごとに同じ情報処理装置への接続を実現できる接続先決定プログラム、接続先決定方法および情報処理装置を提供する。【解決手段】接続先決定プログラムは、接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を記憶する記憶部と、情報処理装置に接続された端末の識別情報を記憶する記憶部を参照して、受信した接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定する処理を実行させる。接続先決定プログラムは、他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき選択された情報処理装置の識別情報を接続要求元の端末に送信し、他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を接続要求元の端末に送信する処理を実行させる。【選択図】図１
2018005741.tif 000002
【特許請求の範囲】
【請求項１】
接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部とを参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定し、
前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する、
処理をコンピュータに実行させることを特徴とする接続先決定プログラム。
【請求項２】
前記送信する処理は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記他の端末の数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする請求項１に記載の接続先決定プログラム。
【請求項３】
前記負荷情報は、他の端末グループに含まれる端末が情報処理装置と接続されている場合における、該情報処理装置での他の端末グループのデータ通信量、および、接続中の端末の数に関する情報である、
ことを特徴とする請求項１または２に記載の接続先決定プログラム。
【請求項４】
前記送信する処理は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記接続要求元の端末が含まれる端末グループの数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする請求項１〜３のいずれか１つに記載の接続先決定プログラム。
【請求項５】
接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部とを参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定し、
前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する、
処理をコンピュータが実行することを特徴とする接続先決定方法。
【請求項６】
接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部とを参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定する判定部と、
前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する送信制御部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続先決定プログラム、接続先決定方法および情報処理装置に関する。
【背景技術】
【０００２】
支援者端末と被支援者端末とを接続して、支援者端末のユーザが被支援者端末を遠隔支援することが行われている。支援者端末と被支援者端末とを多対多で接続するためには、支援者端末と被支援者端末との接続を中継するサーバが用いられる。遠隔支援に参加する支援者端末および被支援者端末が増加すると、１つのサーバでコネクション管理を行うことが困難となる。この様な場合には、サーバの性能を向上させるスケールアップや、サーバ数を増加させるスケールアウトといった手法が採られる。サーバのスケールアウトを実施する場合、各サーバの負荷状況により接続するサーバを決定する等の負荷分散をロードバランサが実施する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１０／１１０１５５号
【特許文献２】特開２００３−１８３０２号公報
【特許文献３】特開２０１２−３８１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、同じ作業現場の複数の被支援者端末に対して、複数の支援者端末から遠隔支援を実施するために、各端末を含む端末グループを構成すると、同じ端末グループに属する支援者端末と被支援者端末とが異なるサーバに接続される場合がある。例えば、ある端末グループに属する端末間がサーバを介して既に接続されていて、当該サーバの負荷が高い場合に、同じ端末グループに属する被支援者端末が新たに支援者端末と接続しようとすると、他のサーバに接続されてしまうことがある。このため、例えば、同じ端末グループに属するにも関わらず、異なるサーバ、つまり情報処理装置に接続されてしまい、支援者端末と接続できない被支援者端末が発生する場合がある。
【０００５】
一つの側面では、本発明は、端末グループごとに同じ情報処理装置への接続を実現できる接続先決定プログラム、接続先決定方法および情報処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、接続先決定プログラムは、接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部を参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定する処理をコンピュータに実行させる。接続先決定プログラムは、前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
端末グループごとに同じ情報処理装置への接続を実現できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の遠隔支援システムの構成の一例を示す図である。
【図２】図２は、実施例のロードバランサの構成の一例を示すブロック図である。
【図３】図３は、端末グループ記憶部の一例を示す図である。
【図４】図４は、接続サーバ記憶部の一例を示す図である。
【図５】図５は、負荷情報記憶部の一例を示す図である。
【図６】図６は、端末とサーバとの接続の一例を示す図である。
【図７】図７は、実施例の接続先決定処理の一例を示すフローチャートである。
【図８】図８は、接続先決定プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する接続先決定プログラム、接続先決定方法および情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１０】
図１は、実施例の遠隔支援システムの構成の一例を示す図である。図１に示す遠隔支援システム１は、支援者端末と被支援者端末とを多対多で接続する遠隔支援システムであり、被支援者端末１０ａ〜１０ｅと、支援者端末１０ｆ〜１０ｈと、ロードバランサ１００と、サーバ２００ａ〜２００ｃとを有する。被支援者端末１０ａ〜１０ｅと、支援者端末１０ｆ〜１０ｈと、ロードバランサ１００と、サーバ２００ａ〜２００ｃとの間は、図示しないネットワークを介して、相互に通信可能に接続される。また、被支援者端末１０ａ〜１０ｅと、支援者端末１０ｆ〜１０ｈとは、同一の端末グループＡに所属している。
【００１１】
なお、以下の説明では、被支援者端末１０ａ〜１０ｅと、支援者端末１０ｆ〜１０ｈとを区別しない場合には、端末１０と表現する場合がある。また、支援者および被支援者を区別しない場合には、ユーザと表現する場合がある。さらに、サーバ２００ａ〜２００ｃを区別しない場合には、サーバ２００と表現する場合がある。
【００１２】
被支援者端末１０ａ〜１０ｅは、例えば、作業現場の作業者が用いる端末である。被支援者端末１０ａ〜１０ｅは、作業者が装着して操作する情報処理装置であり、例えば、タブレット端末やスマートフォン等の移動体通信端末等を用いることができる。また、被支援者端末１０ａ〜１０ｅは、ＨＭＤ（Head  Mounted  Display）を接続するようにしてもよい。なお、被支援者端末１０ａ〜１０ｅは、それぞれ、作業者である被支援者ａ〜ｅが用いるものとする。
【００１３】
支援者端末１０ｆ〜１０ｈは、例えば、作業現場の作業者に対して指示を出したり、被支援者端末１０ａ〜１０ｅを遠隔操作したりする支援者が用いる端末である。支援者端末１０ｆ〜１０ｈの一例としては、据置型のパーソナルコンピュータを採用できる。支援者端末１０ｆ〜１０ｈは、上記の据置型のパーソナルコンピュータの他にも、例えば、可搬型のパーソナルコンピュータや、スマートフォン、携帯電話機等の移動体通信端末等を採用することもできる。なお、支援者端末１０ｆ〜１０ｈは、それぞれ、支援者ｆ〜ｈが用いるものとする。
【００１４】
ロードバランサ１００は、被支援者端末１０ａ〜１０ｅと、支援者端末１０ｆ〜１０ｈとの間の通信を中継するサーバ２００ａ〜２００ｃに対して、負荷分散を行う。ロードバランサ１００は、端末１０からの接続要求に基づいて、通信を中継するサーバ２００を決定する。なお、ロードバランサ１００は、接続先決定プログラムを実行する情報処理装置、つまりコンピュータの一例である。
【００１５】
サーバ２００は、被支援者端末１０ａ〜１０ｅと、支援者端末１０ｆ〜１０ｈとの間の通信を中継する。サーバ２００は、どの端末１０からの通信を中継するかについて、ロードバランサ１００からの指示を受け付ける。ロードバランサ１００によって中継を行うことが決定されたサーバ２００は、接続要求元の端末１０からの接続要求に基づいて、接続要求元の端末１０と、接続要求先の端末１０との間の通信を中継する。また、サーバ２００は、端末１０の接続状況およびサーバ２００の負荷情報の取得要求をロードバランサ１００から受信すると、端末１０の接続状況およびサーバ２００の負荷情報をロードバランサ１００に送信する。なお、サーバ２００は、端末１０が接続される情報処理装置の一例である。
【００１６】
次に、図１を用いて、端末グループＡに所属する被支援者端末１０ｂ〜１０ｅと、支援者端末１０ｆ〜１０ｈがサーバ２００ａを介して接続されている場合に、端末グループＡに所属する被支援者端末１０ａが新たに接続要求を行う場合について説明する。図１の例では、被支援者端末１０ｂ〜１０ｅと、サーバ２００ａとの間は、それぞれコネクション３１によって接続されている。また、サーバ２００ａと、支援者端末１０ｆ〜１０ｈとの間は、それぞれコネクション３２によって接続されている。さらに、サーバ２００ａは、被支援者端末１０ｂ〜１０ｅと、支援者端末１０ｆ〜１０ｈとの間の通信を中継しているため、高負荷になっているものとする。また、サーバ２００ｂ、２００ｃは、低負荷であるとする。
【００１７】
まず、被支援者端末１０ａは、ロードバランサ１００に対して、接続先サーバへの接続要求３３を送信する。ロードバランサ１００は、サーバ２００ａ〜２００ｃから端末１０の接続状況およびサーバの負荷情報を取得する。ロードバランサ１００は、サーバ２００ａが高負荷であるので、従来の負荷分散であれば、例えば、低負荷であるサーバ２００ｂへのコネクション３４ａを接続する。しかしながら、被支援者端末１０ａは、サーバ２００ａに接続されている被支援者端末１０ｂ〜１０ｅおよび支援者端末１０ｆ〜１０ｈと同一の端末グループＡに所属しているので、サーバ２００ａとのコネクション３４ｂを接続する。
【００１８】
すなわち、ロードバランサ１００は、端末グループに含まれる複数の端末１０の識別情報を該端末グループに対応付けて記憶する端末グループ記憶部を有する。また、ロードバランサ１００は、サーバ２００である情報処理装置に接続された端末１０の識別情報を該情報処理装置に対応付けて記憶する接続サーバ記憶部を有する。ロードバランサ１００は、接続要求元の端末の識別情報を受信すると、端末グループ記憶部と接続サーバ記憶部とを参照して、受信した接続要求元の端末１０と同じ端末グループに含まれる他の端末１０がいずれかの情報処理装置に接続されているか否かを判定する。ロードバランサ１００は、他の端末１０がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、複数の情報処理装置から選択された情報処理装置の識別情報を接続要求元の端末１０に送信する。また、ロードバランサ１００は、他の端末１０がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を接続要求元の端末１０に送信する。これにより、ロードバランサ１００は、端末グループごとに同じ情報処理装置への接続を実現できる。
【００１９】
次に、図２を用いてロードバランサ１００の構成について説明する。図２は、実施例のロードバランサの構成の一例を示す図である。図２に示すように、ロードバランサ１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、ロードバランサ１００は、図２に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００２０】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して各端末１０および各サーバ２００と有線または無線で接続され、各端末１０および各サーバ２００との間で情報の通信を司る通信インタフェースである。通信部１１０は、各端末１０から接続要求を受信する。また、通信部１１０は、各サーバ２００から端末１０の接続状況およびサーバ２００の負荷情報を受信する。通信部１１０は、受信した接続要求と、端末１０の接続状況およびサーバ２００の負荷情報とを制御部１３０に出力する。また、通信部１１０は、制御部１３０から入力された接続先を示すサーバ２００の識別情報を、接続要求元の端末１０に送信する。さらに、通信部１１０は、制御部１３０から入力された端末１０の接続状況およびサーバ２００の負荷情報の取得要求を各サーバ２００に送信する。
【００２１】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００２２】
操作部１１２は、遠隔支援システム１の管理者から各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、管理者によって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００２３】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、端末グループ記憶部１２１と、接続サーバ記憶部１２２と、負荷情報記憶部１２３とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００２４】
端末グループ記憶部１２１は、端末グループに含まれる複数の端末１０の識別情報を、当該端末グループに対応付けて記憶する。図３は、端末グループ記憶部の一例を示す図である。図３に示すように、端末グループ記憶部１２１は、「端末グループ」、「端末」といった項目を有する。端末グループ記憶部１２１は、例えば、端末グループごとに１レコードとして記憶する。
【００２５】
「端末グループ」は、端末グループを識別する識別子である。「端末」は、端末グループに所属する端末の識別情報である。図３の１行目の例では、端末グループ「Ａ」には、端末「１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈ」が所属していることを示す。
【００２６】
図２の説明に戻って、接続サーバ記憶部１２２は、各サーバ２００に接続された端末１０の識別情報を各サーバ２００に対応付けて記憶する。図４は、接続サーバ記憶部の一例を示す図である。図４に示すように、接続サーバ記憶部１２２は、「サーバ」、「端末」といった項目を有する。接続サーバ記憶部１２２は、例えば、サーバ２００ごとに１レコードとして記憶する。
【００２７】
「サーバ」は、サーバ２００を識別する識別子である。「端末」は、端末グループに所属する端末のうち、対応するサーバ２００に接続している端末の識別情報である。図４の１行目の例では、サーバ「２００ａ」には、端末「１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈ」が接続されていることを示す。すなわち、サーバ「２００ａ」には、図３を参照すると、端末グループ「Ａ」に所属する端末１０が接続されていることがわかる。同様に、図４の２行目の例では、サーバ「２００ｂ」には、図３を参照すると、端末グループ「Ｄ」に所属する端末「１０ｐ，１０ｑ」が接続されていることがわかる。
【００２８】
図２の説明に戻って、負荷情報記憶部１２３は、各サーバ２００の負荷情報を記憶する。図５は、負荷情報記憶部の一例を示す図である。図５に示すように、負荷情報記憶部１２３は、「サーバ」、「負荷」といった項目を有する。負荷情報記憶部１２３は、例えば、サーバ２００ごとに１レコードとして記憶する。
【００２９】
「サーバ」は、サーバ２００を識別する識別子である。「負荷」は、各サーバ２００から取得したサーバの負荷情報に基づく負荷量である。「負荷」は、例えば、サーバ２００に接続されている端末グループのデータ通信量や接続中の端末１０の数などに基づいて算出される。
【００３０】
図２の説明に戻って、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、取得部１３１と、判定部１３２と、送信制御部１３３とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００３１】
取得部１３１は、通信部１１０を介して、接続要求元の端末１０から接続要求を受信したか否かを判定する。すなわち、取得部１３１は、接続要求元の端末１０から接続要求があったか否かを判定する。取得部１３１は、接続要求があった場合には、端末１０の接続状況およびサーバ２００の負荷情報の取得要求を、通信部１１０を介して、各サーバ２００に送信する。
【００３２】
取得部１３１は、通信部１１０を介して、各サーバ２００から取得要求に対応する端末１０の接続状況およびサーバ２００の負荷情報を受信して取得する。取得部１３１は、取得した端末１０の接続状況およびサーバ２００の負荷情報を、それぞれ、接続サーバ記憶部１２２および負荷情報記憶部１２３に記憶する。取得部１３１は、接続サーバ記憶部１２２および負荷情報記憶部１２３に、それぞれ、端末１０の接続状況およびサーバ２００の負荷情報を記憶すると、判定部１３２に判定指示を出力する。
【００３３】
判定部１３２は、取得部１３１から判定指示が入力されると、端末グループ記憶部１２１および接続サーバ記憶部１２２を参照して、接続要求元の端末１０が所属する端末グループの他の端末１０が、いずれかのサーバ２００に接続されているか否かを判定する。判定部１３２は、他の端末１０がいずれかのサーバ２００に接続されている場合には、接続されている旨の判定結果を送信制御部１３３に出力する。判定部１３２は、他の端末１０がいずれかのサーバ２００に接続されていない場合には、接続されていない旨の判定結果を送信制御部１３３に出力する。
【００３４】
送信制御部１３３は、判定部１３２から接続されている旨の判定結果が入力されると、接続されているサーバ２００の識別情報を接続サーバ記憶部１２２から取得する。送信制御部１３３は、取得した接続されているサーバ２００の識別情報を、接続先を示すサーバ２００の識別情報として、通信部１１０を介して、接続要求元の端末１０に送信する。
【００３５】
送信制御部１３３は、判定部１３２から接続されていない旨の判定結果が入力されると、負荷情報記憶部１２３を参照して、接続候補のサーバ２００の負荷情報に基づいて、接続させるサーバ２００を選択する。送信制御部１３３は、選択したサーバ２００の識別情報を、接続先を示すサーバ２００の識別情報として、通信部１１０を介して、接続要求元の端末１０に送信する。
【００３６】
なお、送信制御部１３３は、負荷情報として、接続要求元の端末１０と同一の端末グループに所属する他の端末１０の数に基づいて、接続するサーバ２００を選択するようにしてもよい。すなわち、送信制御部１３３は、ある端末１０が複数の端末グループに所属している場合、各端末グループの他の端末１０も将来的にある端末１０と同一のサーバ２００に接続させる必要があるため、他の端末１０の数を負荷情報として用いる。
【００３７】
また、負荷情報は、他の端末グループに含まれる端末１０がサーバ２００と接続されている場合における、該サーバ２００での他の端末グループのデータ通信量、および、接続中の端末１０の数に関する情報であってもよい。すなわち、遠隔支援システム１では、音声通信、映像共有等のデータ通信処理に関する機能を利用すると、端末１０とサーバ２００との間で負荷が生じる。このため、送信制御部１３３は、各端末グループにおける音声通信、映像共有等の機能の利用状況、および、各端末グループに参加している、つまり接続中の端末１０の数に基づいて、負荷情報を算出する。
【００３８】
さらに、送信制御部１３３は、負荷情報として、接続要求元の端末１０が複数の端末グループに所属する場合に、接続要求元の端末１０が含まれる端末グループの数に基づいて、接続するサーバ２００を選択するようにしてもよい。すなわち、送信制御部１３３は、ある端末１０が参加している端末グループの数が多い場合、サーバ２００に接続する現在の端末１０の数が少ない場合でも、将来的に多数の端末グループに所属する端末１０がサーバ２００に接続し、各種機能を利用する可能性がある。従って、送信制御部１３３は、ある端末１０が参加している端末グループの数に基づいて、将来的なサーバ２００の負荷増加量を予測する。
【００３９】
また、送信制御部１３３は、例えば、遠隔支援システム１の管理者から、遠隔支援システム１を終了する旨の終了指示が入力されたか否かを判定する。すなわち、送信制御部１３３は、遠隔支援システム１を終了するか否かを判定する。送信制御部１３３は、遠隔支援システム１を終了しない場合には、端末１０からの接続要求の受信を待機する。送信制御部１３３は、遠隔支援システム１を終了する場合には、各部に対して接続先決定処理の終了を指示する。
【００４０】
ここで、図６を用いて端末１０とサーバ２００との接続について説明する。図６は、端末とサーバとの接続の一例を示す図である。なお、図６の例では、被支援者ａの被支援者端末１０ａが所属する端末グループの他の端末１０は、サーバ２００ａに接続されており、サーバ２００ａは、高負荷状態となっているものとする。
【００４１】
図６に示すように、まず、新たに接続しようとしている被支援者ａの被支援者端末１０ａは、ロードバランサ１００に対して接続要求５１を送信する。ロードバランサ１００は、被支援者端末１０ａが所属する端末グループの他の端末１０の接続状況および負荷情報の取得要求５２ａ，５２ｂ，５２ｃを、それぞれサーバ２００ａ，２００ｂ，２００ｃに送信する。
【００４２】
ロードバランサ１００は、サーバ２００ａ，２００ｂ，２００ｃから、それぞれ、端末１０の接続状況および負荷情報５３ａ，５３ｂ，５３ｃを受信する。ロードバランサ１００は、受信した端末１０の接続状況および負荷情報５３ａ，５３ｂ，５３ｃを、それぞれ、接続サーバ記憶部１２２および負荷情報記憶部１２３に記憶する。
【００４３】
ロードバランサ１００は、端末グループ記憶部１２１および接続サーバ記憶部１２２を参照し、被支援者端末１０ａが所属する端末グループの他の端末１０が、いずれかのサーバ２００に接続されているか否かを判定する。ロードバランサ１００は、上述の条件に従って、他の端末１０がサーバ２００ａに接続されていると判定する。ロードバランサ１００は、被支援者端末１０ａの接続先として、サーバ２００ａの識別情報５４を被支援者端末１０ａに送信する。また、ロードバランサ１００は、サーバ２００ａに対して、被支援者端末１０ａからの接続を受け付けるように指示５５を送信する。
【００４４】
被支援者端末１０ａは、ロードバランサ１００からサーバ２００ａの識別情報５４を受信すると、サーバ２００ａに対して接続を要求し、コネクション５６を張ることでサーバ２００ａとの間で通信を開始する。このように、ロードバランサ１００は、サーバ２００ａが高負荷の状態であっても、被支援者端末１０ａと同一の端末グループに所属する端末１０が既に接続しているので、被支援者端末１０ａについても、サーバ２００ａと接続する。これにより、被支援者端末１０ａを使用する被支援者ａは、同一の端末グループに所属する支援者と通信することができる。
【００４５】
すなわち、ロードバランサ１００は、各サーバ２００の端末グループおよび端末１０（ユーザ）の管理機能を集約することにより、端末１０が接続するサーバ２００の振り分けを行う。つまり、ロードバランサ１００は、従来のロードバランサと同様のサーバの単純な負荷状態、コネクション数および処理性能による接続先の決定に加え、端末グループおよび端末１０の管理状態を負荷分散処理の要素に追加している。なお、端末グループおよび端末１０の管理情報は、ロードバランサ１００で一括管理し、端末１０が接続要求を行ったタイミングで、逐次ロードバランサ１００からサーバ２００へ情報が送信される。
【００４６】
次に、実施例の遠隔支援システム１の動作について説明する。図７は、実施例の接続先決定処理の一例を示すフローチャートである。
【００４７】
遠隔支援システム１の管理者によって、ロードバランサ１００が起動される（ステップＳ１）。続いて、ロードバランサ１００は、各サーバ２００とともに遠隔支援システム１を開始する（ステップＳ２）。
【００４８】
ロードバランサ１００の取得部１３１は、接続要求元の端末１０から接続要求があったか否かを判定する（ステップＳ３）。取得部１３１は、端末１０から接続要求がない場合には（ステップＳ３：否定）、ステップＳ９に進む。取得部１３１は、端末１０から接続要求があった場合には（ステップＳ３：肯定）、端末１０の接続状況およびサーバ２００の負荷情報の取得要求を、各サーバ２００に送信する。
【００４９】
各サーバ２００は、ロードバランサ１００から端末１０の接続状況およびサーバ２００の負荷情報の取得要求を受信すると、端末１０の接続状況およびサーバ２００の負荷情報をロードバランサ１００に送信する。
【００５０】
ロードバランサ１００の取得部１３１は、各サーバ２００から取得要求に対応する端末１０の接続状況およびサーバ２００の負荷情報を受信して取得する（ステップＳ４）。取得部１３１は、取得した端末１０の接続状況およびサーバ２００の負荷情報を、それぞれ、接続サーバ記憶部１２２および負荷情報記憶部１２３に記憶して、判定部１３２に判定指示を出力する。
【００５１】
判定部１３２は、取得部１３１から判定指示が入力されると、接続要求元の端末１０が所属する端末グループの他の端末１０がいずれかのサーバ２００に接続されているか否かを判定する（ステップＳ５）。判定部１３２は、他の端末１０がいずれかのサーバ２００に接続されている場合には（ステップＳ５：肯定）、接続されている旨の判定結果を送信制御部１３３に出力する。送信制御部１３３は、判定部１３２から接続されている旨の判定結果が入力されると、接続されているサーバ２００の識別情報を接続要求元の端末１０に送信する（ステップＳ６）。接続要求元の端末１０は、受信したサーバ２００の識別情報に基づいて、当該サーバ２００と接続して通信を開始する。
【００５２】
判定部１３２は、他の端末１０がいずれかのサーバ２００に接続されていない場合には（ステップＳ５：否定）、接続されていない旨の判定結果を送信制御部１３３に出力する。送信制御部１３３は、判定部１３２から接続されていない旨の判定結果が入力されると、接続候補のサーバ２００の負荷情報に基づいて、接続させるサーバ２００を選択する（ステップＳ７）。送信制御部１３３は、選択したサーバ２００の識別情報を接続要求元の端末１０に送信する（ステップＳ８）。接続要求元の端末１０は、受信したサーバ２００の識別情報に基づいて、当該サーバ２００と接続して通信を開始する。
【００５３】
ロードバランサ１００の送信制御部１３３は、遠隔支援システム１を終了するか否かを判定する（ステップＳ９）。送信制御部１３３は、遠隔支援システム１を終了しない場合には（ステップＳ９：否定）、ステップＳ３に戻る。送信制御部１３３は、遠隔支援システム１を終了する場合には（ステップＳ９：肯定）、各部に対して接続先決定処理の終了を指示する。ロードバランサ１００は、遠隔支援システム１の管理者によって終了される（ステップＳ１０）。これにより、ロードバランサ１００は、端末グループごとに同じサーバ２００への接続を実現できる。
【００５４】
このように、ロードバランサ１００は、端末グループに含まれる複数の端末１０の識別情報を該端末グループに対応付けて記憶する端末グループ記憶部１２１を有する。また、ロードバランサ１００は、サーバ２００である情報処理装置に接続された端末１０の識別情報を該情報処理装置に対応付けて記憶する接続サーバ記憶部１２２を有する。また、ロードバランサ１００は、接続要求元の端末１０の識別情報を受信すると、端末グループ記憶部１２１と接続サーバ記憶部１２２とを参照して、受信した接続要求元の端末１０と同じ端末グループに含まれる他の端末１０がいずれかの情報処理装置に接続されているか否かを判定する。また、ロードバランサ１００は、他の端末１０がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、複数の情報処理装置から選択された情報処理装置の識別情報を接続要求元の端末１０に送信する。また、ロードバランサ１００は、他の端末１０がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を接続要求元の端末１０に送信する。その結果、端末グループごとに同じ情報処理装置への接続を実現できる。
【００５５】
また、ロードバランサ１００は、他の端末１０がいずれの情報処理装置にも接続されていない場合、他の端末１０の数に基づき、複数の情報処理装置から選択された情報処理装置の識別情報を接続要求元の端末１０に送信する。その結果、将来的に接続する可能性のある端末１０の負荷を考慮して、端末グループごとに同じ情報処理装置への接続を実現できる。
【００５６】
また、ロードバランサ１００では、負荷情報は、他の端末グループに含まれる端末が情報処理装置と接続されている場合における、該情報処理装置での他の端末グループのデータ通信量、および、接続中の端末１０の数に関する情報である。その結果、各端末グループにおけるデータ通信量および接続中の端末１０の数に基づいて、負荷情報を算出できる。
【００５７】
また、ロードバランサ１００は、他の端末１０がいずれの情報処理装置にも接続されていない場合、接続要求元の端末１０が含まれる端末グループの数に基づき、複数の情報処理装置から選択された情報処理装置の識別情報を接続要求元の端末１０に送信する。その結果、端末１０が参加している端末グループの数に基づいて、将来的な情報処理装置の負荷増加量を予測して端末１０の接続先を決定できる。
【００５８】
なお、上記実施例では、サーバ２００ａに端末グループＡの各端末１０が接続される場合を説明したが、これに限定されない。例えば、サーバ２００ａが端末グループＡの各端末１０を接続しても低負荷であれば、サーバ２００ａに他の端末グループを含む、複数の端末グループが接続されるようにしてもよい。
【００５９】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部１３１と判定部１３２とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００６０】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００６１】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図８は、接続先決定プログラムを実行するコンピュータの一例を示す図である。
【００６２】
図８に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、データ入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読取装置３０４と、各種装置と接続するためのインタフェース装置３０５と、他の情報処理装置等と有線または無線により接続するための通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【００６３】
ハードディスク装置３０８には、図２に示した取得部１３１、判定部１３２および送信制御部１３３の各処理部と同様の機能を有する接続先決定プログラムが記憶される。また、ハードディスク装置３０８には、端末グループ記憶部１２１、接続サーバ記憶部１２２、負荷情報記憶部１２３、および、接続先決定プログラムを実現するための各種データが記憶される。入力装置３０２は、例えば、図２に示した操作部１１２と同様の機能を有し、コンピュータ３００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ３０３は、例えば、コンピュータ３００の管理者に対して表示画面等の各種画面を表示する。インタフェース装置３０５は、例えば印刷装置等が接続される。通信装置３０６は、例えば、図２に示した通信部１１０と同様の機能を有し端末１０およびサーバ２００と接続され、端末１０およびサーバ２００と各種情報をやりとりする。
【００６４】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ３００を図２に示した取得部１３１、判定部１３２および送信制御部１３３として機能させることができる。
【００６５】
なお、上記の接続先決定プログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータ３００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしてもよい。コンピュータ３００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの接続先決定プログラムを記憶させておき、コンピュータ３００がこれらから接続先決定プログラムを読み出して実行するようにしてもよい。
【００６６】
以上、本実施例を含む実施の形態に関し、さらに以下の付記を開示する。
【００６７】
（付記１）接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部とを参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定し、
前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する、
処理をコンピュータに実行させることを特徴とする接続先決定プログラム。
【００６８】
（付記２）前記送信する処理は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記他の端末の数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする付記１に記載の接続先決定プログラム。
【００６９】
（付記３）前記負荷情報は、他の端末グループに含まれる端末が情報処理装置と接続されている場合における、該情報処理装置での他の端末グループのデータ通信量、および、接続中の端末の数に関する情報である、
ことを特徴とする付記１または２に記載の接続先決定プログラム。
【００７０】
（付記４）前記送信する処理は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記接続要求元の端末が含まれる端末グループの数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする付記１〜３のいずれか１つに記載の接続先決定プログラム。
【００７１】
（付記５）接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部とを参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定し、
前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する、
処理をコンピュータが実行することを特徴とする接続先決定方法。
【００７２】
（付記６）前記送信する処理は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記他の端末の数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする付記５に記載の接続先決定方法。
【００７３】
（付記７）前記負荷情報は、他の端末グループに含まれる端末が情報処理装置と接続されている場合における、該情報処理装置での他の端末グループのデータ通信量、および、接続中の端末の数に関する情報である、
ことを特徴とする付記５または６に記載の接続先決定方法。
【００７４】
（付記８）前記送信する処理は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記接続要求元の端末が含まれる端末グループの数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする付記５〜７のいずれか１つに記載の接続先決定方法。
【００７５】
（付記９）接続要求元の端末の識別情報を受信すると、端末グループに含まれる複数の端末の識別情報を該端末グループに対応付けて記憶する記憶部と、情報処理装置に接続された端末の識別情報を該情報処理装置に対応付けて記憶する記憶部とを参照して、受信した前記接続要求元の端末と同じ端末グループに含まれる他の端末がいずれかの情報処理装置に接続されているか否かを判定する判定部と、
前記他の端末がいずれの情報処理装置にも接続されていない場合、接続候補である複数の情報処理装置の負荷情報に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信し、前記他の端末がいずれかの情報処理装置に接続されている場合、該いずれかの情報処理装置の識別情報を前記接続要求元の端末に送信する送信制御部と、
を有することを特徴とする情報処理装置。
【００７６】
（付記１０）前記送信制御部は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記他の端末の数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする付記９に記載の情報処理装置。
【００７７】
（付記１１）前記負荷情報は、他の端末グループに含まれる端末が情報処理装置と接続されている場合における、該情報処理装置での他の端末グループのデータ通信量、および、接続中の端末の数に関する情報である、
ことを特徴とする付記９または１０に記載の情報処理装置。
【００７８】
（付記１２）前記送信制御部は、前記他の端末がいずれの情報処理装置にも接続されていない場合、前記接続要求元の端末が含まれる端末グループの数に基づき、前記複数の情報処理装置から選択された情報処理装置の識別情報を前記接続要求元の端末に送信する、
ことを特徴とする付記９〜１１のいずれか１つに記載の情報処理装置。
【符号の説明】
【００７９】
１  遠隔支援システム
１０  端末
１００  ロードバランサ
１１０  通信部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  端末グループ記憶部
１２２  接続サーバ記憶部
１２３  負荷情報記憶部
１３０  制御部
１３１  取得部
１３２  判定部
１３３  送信制御部
２００  サーバ
【図１】
2018005741.tif 000003
【図２】
2018005741.tif 000004
【図３】
2018005741.tif 000005
【図４】
2018005741.tif 000006
【図５】
2018005741.tif 000007
【図６】
2018005741.tif 000008
【図７】
2018005741.tif 000009
【図８】
2018005741.tif 000010