IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・ソフトウェア株式会社の特許一覧

特開2023-159991接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム
<>
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図1
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図2
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図3
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図4
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図5
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図6
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図7
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図8
  • 特開-接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023159991
(43)【公開日】2023-11-02
(54)【発明の名称】接続先変更システム、接続先変更装置、接続先変更方法、及びプログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20231026BHJP
   G06F 15/00 20060101ALI20231026BHJP
【FI】
G06F9/50 150D
G06F15/00 410B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022069964
(22)【出願日】2022-04-21
(71)【出願人】
【識別番号】000102717
【氏名又は名称】NTTテクノクロス株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】安川 征求
(72)【発明者】
【氏名】鈴木 信隆
(72)【発明者】
【氏名】内海 弘貴
(57)【要約】
【課題】リモートデスクトップサービスにおける操作端末及び操作対象端末の接続先サーバを可変にする技術を提供すること。
【解決手段】一態様による接続先変更システムは、ユーザが操作する操作端末と、前記操作端末により遠隔操作される操作対象端末と、前記操作端末及び前記操作対象端末の接続先となる複数のサーバと、前記操作端末及び前記操作対象端末の接続先となるサーバを決定する機器とが含まれる接続先変更システムであって、前記複数のサーバのリソース使用状況に応じて、前記操作対象端末の接続先となるサーバを決定するように構成されている第1の決定部と、前記複数のサーバのリソース使用状況に応じて、前記操作端末の接続先となるサーバを決定するように構成されている第2の決定部と、前記操作端末により前記操作対象端末を遠隔操作する場合、前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更するように構成されている接続先変更部と、を有する。
【選択図】図7
【特許請求の範囲】
【請求項1】
ユーザが操作する操作端末と、前記操作端末により遠隔操作される操作対象端末と、前記操作端末及び前記操作対象端末の接続先となる複数のサーバと、前記操作端末及び前記操作対象端末の接続先となるサーバを決定する機器とが含まれる接続先変更システムであって、
前記複数のサーバのリソース使用状況に応じて、前記操作対象端末の接続先となるサーバを決定するように構成されている第1の決定部と、
前記複数のサーバのリソース使用状況に応じて、前記操作端末の接続先となるサーバを決定するように構成されている第2の決定部と、
前記操作端末により前記操作対象端末を遠隔操作する場合、前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更するように構成されている接続先変更部と、
を有する接続先変更システム。
【請求項2】
前記接続先変更部は、
前記操作対象端末の接続先を、前記操作端末が接続しているサーバに変更するように構成されている、請求項1に記載の接続先変更システム。
【請求項3】
前記接続先変更部は、
前記操作端末の接続先を、前記操作対象端末が接続しているサーバに変更するように構成されている、請求項1に記載の接続先変更システム。
【請求項4】
前記リソース使用状況は、前記サーバに接続されている操作端末及び操作対象端末の総数である、請求項1に記載の接続先変更システム。
【請求項5】
前記接続先変更部は、
前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更すると共に、前記一方と前記サーバとの間のセッションを識別するセッションIDを、前記他方と前記サーバとの間のセッションを識別するセッションIDとするように構成されている、請求項1乃至4の何れか一項に記載の接続先変更システム。
【請求項6】
ユーザが操作する操作端末、前記操作端末により遠隔操作される操作対象端末、並びに前記操作端末及び前記操作対象端末の接続先となる複数のサーバの各々と通信ネットワークを介して接続され、前記操作端末及び前記操作対象端末の接続先となるサーバを決定する接続先変更装置であって、
前記複数のサーバのリソース使用状況に応じて、前記操作対象端末の接続先となるサーバを決定するように構成されている第1の決定部と、
前記複数のサーバのリソース使用状況に応じて、前記操作端末の接続先となるサーバを決定するように構成されている第2の決定部と、
前記操作端末により前記操作対象端末を遠隔操作する場合、前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更するように構成されている接続先変更部と、
を有する接続先変更装置。
【請求項7】
ユーザが操作する操作端末、前記操作端末により遠隔操作される操作対象端末、並びに前記操作端末及び前記操作対象端末の接続先となる複数のサーバの各々と通信ネットワークを介して接続され、前記操作端末及び前記操作対象端末の接続先となるサーバを決定する接続先変更装置が、
前記複数のサーバのリソース使用状況に応じて、前記操作対象端末の接続先となるサーバを決定する第1の決定手順と、
前記複数のサーバのリソース使用状況に応じて、前記操作端末の接続先となるサーバを決定する第2の決定手順と、
前記操作端末により前記操作対象端末を遠隔操作する場合、前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更する接続先変更手順と、
を実行する接続先変更方法。
【請求項8】
ユーザが操作する操作端末、前記操作端末により遠隔操作される操作対象端末、並びに前記操作端末及び前記操作対象端末の接続先となる複数のサーバの各々と通信ネットワークを介して接続され、前記操作端末及び前記操作対象端末の接続先となるサーバを決定する接続先変更装置が、
前記複数のサーバのリソース使用状況に応じて、前記操作対象端末の接続先となるサーバを決定する第1の決定手順と、
前記複数のサーバのリソース使用状況に応じて、前記操作端末の接続先となるサーバを決定する第2の決定手順と、
前記操作端末により前記操作対象端末を遠隔操作する場合、前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更する接続先変更手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、接続先変更システム、接続先変更装置、接続先変更方法、及びプログラムに関する。
【背景技術】
【0002】
リモートデスクトップ(remote desktop)と呼ばれる技術が従来から知られている(例えば、非特許文献1等)。リモートデスクトップとは、ユーザの手元にある端末(以下、「操作端末」ともいう。)により、通信ネットワークを介して接続される他の端末(以下、「操作対象端末」ともいう。)のGUI(Graphical User Interface)やデスクトップ環境等を操作する技術のことである。なお、リモートデスクトップは、例えば、PC遠隔操作やリモートコントロール等と呼ばれることもある。
【0003】
リモートデスクトップサービスは、一般に、このリモートデスクトップを通信ネットワーク上の或る特定のサーバを介し、操作対象端末上で動作するエージェントと呼ばれるプログラムと、操作端末上で動作するビューワと呼ばれるプログラムとを接続するサービスである。これにより、エージェントとビューワとが当該サーバを介して通信可能となり、操作端末によって操作対象端末のGUIやデスクトップ環境等が操作可能となる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「MagicConnect(マジックコネクト)」,インターネット<URL:https://www.magicconnect.net/spec/s-mf.php>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のリモートデスクトップサービスでは、エージェントとビューワの接続先サーバが固定的であった。
【0006】
このため、例えば、或る特定の企業や組織のユーザを1つのグループとして、このグループのユーザが利用するビューワ及びエージェントの接続先サーバを或る特定のサーバとした場合、そのグループに属するユーザ数の増加等によって当該サーバのリソースが不足する恐れがある。これに対して、サーバのリソースを増やすという対策(スケールアップ)も考えられるが、一般にスケールアップはコストが大きいという問題がある。一方で、当該グループのユーザが利用するビューワ及びエージェントの接続先を複数台のサーバに分散するという対策(スケールアウト)も考えられるが、スケールアウトはスケールアップと比較してコストは小さいものの、どのユーザのビューワ及びエージェントをどのサーバに接続させるかを管理する必要がある。また、或るサーバのリソースに多くの余剰が発生した場合、全体としてリソースの利用が非効率となってしまう。
【0007】
本開示は、上記の点に鑑みてなされたもので、リモートデスクトップサービスにおける操作端末及び操作対象端末の接続先サーバを可変にする技術を提供する。
【課題を解決するための手段】
【0008】
本開示の一態様による接続先変更システムは、ユーザが操作する操作端末と、前記操作端末により遠隔操作される操作対象端末と、前記操作端末及び前記操作対象端末の接続先となる複数のサーバと、前記操作端末及び前記操作対象端末の接続先となるサーバを決定する機器とが含まれる接続先変更システムであって、前記複数のサーバのリソース使用状況に応じて、前記操作対象端末の接続先となるサーバを決定するように構成されている第1の決定部と、前記複数のサーバのリソース使用状況に応じて、前記操作端末の接続先となるサーバを決定するように構成されている第2の決定部と、前記操作端末により前記操作対象端末を遠隔操作する場合、前記操作端末又は前記操作対象端末の何れか一方の接続先を、他方が接続しているサーバに変更するように構成されている接続先変更部と、を有する。
【発明の効果】
【0009】
リモートデスクトップサービスにおける操作端末及び操作対象端末の接続先サーバを可変にする技術が提供される。
【図面の簡単な説明】
【0010】
図1】本実施形態に係るリモートデスクトップシステムの全体構成の一例を示す図である。
図2】本実施形態に係るサービス提供システムの機能構成の一例を示す図である。
図3】エージェント接続先情報の一例を示す図である。
図4】ビューワ接続先情報の一例を示す図である。
図5】本実施形態に係るエージェント接続処理の一例を示すシーケンス図である。
図6】本実施形態に係るビューワ接続処理の一例を示すシーケンス図である。
図7】本実施形態に係るエージェント選択及び接続処理(実施例1)の一例を示すシーケンス図である。
図8】本実施形態に係るエージェント選択及び接続処理(実施例2)の一例を示すシーケンス図である。
図9】本実施形態に係る動的接続先変更処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について説明する。以下では、リモートデスクトップサービスを提供するサービス提供システムが含まれるリモートデスクトップシステム1において、ユーザの操作端末の接続先サーバと操作対象端末の接続先サーバとを変更可能(可変)にする場合について説明する。なお、以下では、リモートデスクトップサービスを利用するユーザには、ユーザID及びそれに対応するパスワード等が含まれるアカウント情報が存在するものとする。
【0012】
<リモートデスクトップシステム1の全体構成例>
本実施形態に係るリモートデスクトップシステム1の全体構成例を図1に示す。図1に示すように、本実施形態に係るリモートデスクトップシステム1には、操作端末10と、操作対象端末20と、サービス提供システム30とが含まれる。操作端末10とサービス提供システム30は、例えば、インターネット等の通信ネットワークNを介して通信可能に接続される。同様に、操作対象端末20とサービス提供システム30は、例えば、インターネット等の通信ネットワークNを介して通信可能に接続される。
【0013】
操作端末10は、ユーザの手元にあり、当該ユーザが実際に物理的な操作を行う各種端末(例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末、ウェアラブルデバイス等)である。操作端末10は、例えば、ユーザの自宅や出張先等で利用されることが想定される。操作端末10には、操作対象端末20のGUIやデスクトップ環境等を操作するためのビューワ100と呼ばれるプログラムがインストールされている。ただし、ビューワ100は必ずしも操作端末10にインストールされている必要はなく、例えば、操作端末10に接続されたUSB(Universal Serial Bus)メモリ等の外部記録媒体に格納されていてもよい。
【0014】
操作対象端末20は、ユーザの遠隔地にあり、操作端末10によりGUIやデスクトップ環境等が操作される各種端末(例えば、PC、スマートフォン、タブレット端末等)である。操作対象端末20は、例えば、当該ユーザが勤務する会社の社内等に設置されていることが想定される。操作対象端末20には、ビューワ100によって当該操作対象端末20のGUIやデスクトップ環境等を操作するためのエージェント200と呼ばれるプログラムがインストールされている。
【0015】
サービス提供システム30は、リモートデスクトップサービスを提供するサーバ群である。サービス提供システム30には、APIサーバ40と、バランサ50と、DBサーバ60と、複数のゲートウェイサーバ70とが含まれている。
【0016】
APIサーバ40は、例えば、認証機能等といった各種機能をビューワ100やエージェント200が利用するためのAPI(Application Programming Interface)を提供するサーバである。
【0017】
バランサ50は、各ゲートウェイサーバ70のリソース使用状況を管理すると共に、それらのリソース使用状況に応じて、ビューワ100及びエージェント200をどのゲートウェイサーバ70に接続するかを振り分ける機器又はサーバである。これにより、ビューワ100及びエージェント200の各々は、自身がゲートウェイサーバ70と接続するときのリソース使用状況に応じて、適切なゲートウェイサーバ70に接続することが可能となる。なお、バランサ50は、例えば、負荷分散装置(ロードバランサ)等と呼ばれてもよい。
【0018】
なお、ビューワ100及びエージェント200は、バランサ50を介して、ゲートウェイサーバ70と接続される。このとき、バランサ50は、一般的なロードバランサと同様に、スティッキーセッション(sticky session)と呼ばれる技術により、ビューワ100又はエージェント200とのセッションが継続している間は、このビューワ100又はエージェント200を同一のゲートウェイサーバ70と接続する。ただし、スティッキーセッションを利用することは一例であって、これ以外の技術により同様の処理が実現されてもよい。
【0019】
DBサーバ60は、各種情報が格納される記憶装置又はデータベースサーバである。DBサーバ60に格納される情報としては、例えば、後述するエージェント接続先情報やビューワ接続先情報等が挙げられる。なお、これ以外にも、例えば、各ユーザのアカウント情報がDBサーバ60に格納されていてもよい。
【0020】
各ゲートウェイサーバ70は、ビューワ100及びエージェント200の接続先となるサーバである。ここで、操作端末10によって操作対象端末20を操作する際には、当該操作端末10のビューワ100と当該操作対象端末20のエージェント200とを同一のゲートウェイサーバ70に接続し、当該ビューワ100と当該エージェント200との間で接続を確立する必要がある。このため、操作端末10によって操作対象端末20を操作する際に、当該操作端末10のビューワ100が接続しているゲートウェイサーバ70と当該操作対象端末20のエージェント200が接続しているゲートウェイサーバ70とが異なる場合、各ゲートウェイサーバ70は、ビューワ100又はエージェント200のいずれか一方の接続先となっているゲートウェイサーバ70を、他方の接続先となっているゲートウェイサーバ70に変更する。これにより、ビューワ100とエージェント200とが同一のゲートウェイサーバ70を介して接続され、操作端末10で操作対象端末20のGUIやデスクトップ環境等を操作可能となり、その結果、リモートデスクトップサービスがユーザに提供される。なお、以下では、ゲートウェイサーバ70の総数をN(ただし、N≧2)として、N台のゲートウェイサーバ70の各々を区別する場合は、「ゲートウェイサーバ70-1」、「ゲートウェイサーバ70-2」、・・・、「ゲートウェイサーバ70-N」等と表すことにする。一方で、N台のゲートウェイサーバ70の各々を区別しない場合は単に「ゲートウェイサーバ70」と表すことにする。
【0021】
なお、図1に示すリモートデスクトップシステム1の全体構成は一例であって、これに限られるものではない。例えば、図1に示す例では、APIサーバ40とバランサ50とDBサーバ60と複数のゲートウェイサーバ70とでサービス提供システム30が構成されているが、例えば、APIサーバ40、バランサ50及びDBサーバ60のうちの少なくとも2つが同一の装置又は機器で実現されていてもよい。
【0022】
<サービス提供システム30の機能構成例>
本実施形態に係るサービス提供システム30に含まれるAPIサーバ40、バランサ50及びゲートウェイサーバ70の機能構成例を図2に示す。
【0023】
≪APIサーバ40≫
図2に示すように、本実施形態に係るAPIサーバ40は、認証処理部401と、エージェント一覧取得処理部402とを有する。これら各部は、例えば、APIサーバ40にインストールされた1以上のプログラムが、CPU(Central Processing Unit)等の演算装置に実行させる処理により実現される。
【0024】
認証処理部401は、ビューワ100に設定又は入力されたアカウント情報が含まれる認証要求を受信すると、そのアカウント情報が正当なものである否かを認証するための認証処理を実行する。同様に、認証処理部401は、エージェント200に設定されたアカウント情報が含まれる認証要求を受信すると、そのアカウント情報が正当なものである否かを認証するための認証処理を実行する。なお、ビューワ100及びエージェント200は、APIサーバ40が提供するAPI(例えば、REST API等)を用いて認証要求を行うことができる。
【0025】
エージェント一覧取得処理部402は、ビューワ100と接続可能なエージェント200の一覧(以下、エージェント一覧ともいう。)を取得するためのエージェント一覧取得要求を受信すると、エージェント一覧取得処理を実行する。なお、ビューワ100は、APIサーバ40が提供するAPI(例えば、REST API等)を用いてエージェント一覧取得要求を行うことができる。
【0026】
なお、認証処理部401は、認証処理を実行する際に、必要に応じて、DBサーバ60に格納されている情報を参照したり、DBサーバ60に情報を格納したりしてもよい。同様に、エージェント一覧取得処理部402は、エージェント一覧取得処理を実行する際に、必要に応じて、DBサーバ60に格納されている情報を参照したり、DBサーバ60に情報を格納したりしてもよい。
【0027】
≪バランサ50≫
図2に示すように、本実施形態に係るバランサ50は、振分処理部501と、接続要求部502と、接続先変更要否判定部503とを有する。これら各部は、例えば、バランサ50にインストールされた1以上のプログラムが、CPU等の演算装置に実行させる処理により実現される。また、本実施形態に係るバランサ50は、記憶部504を有する。記憶部504は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の各種記憶装置により実現される。
【0028】
振分処理部501は、各ゲートウェイサーバ70のリソース使用状況に応じて、ビューワ100及びエージェント200をどのゲートウェイサーバ70に接続するかを振り分ける処理を実行する。言い換えれば、振分処理部501は、各ゲートウェイサーバ70のリソース使用状況に応じて、ビューワ100の接続先となるゲートウェイサーバ70とエージェント200の接続先となるゲートウェイサーバ70とを決定する。
【0029】
接続要求部502は、振分処理部501によって接続先と決定したゲートウェイサーバ70に対して接続要求を送信する。
【0030】
接続先変更要否判定部503は、各ゲートウェイサーバ70のリソース使用状況に応じて、ビューワ100及びエージェント200の接続先のゲートウェイサーバ70を変更するか否かを判定する。すなわち、リモートデスクトップサービスがユーザに提供されている場合に、接続先変更要否判定部503は、同一のゲートウェイサーバ70に接続されているビューワ100及びエージェント200の接続先を他のゲートウェイサーバ70に変更するか否かを判定する。
【0031】
記憶部504は、各ゲートウェイサーバ70のリソース使用状況を表すリソース情報が記憶されている。リソース情報には、例えば、ゲートウェイサーバ70を識別する識別情報と、このゲートウェイサーバ70のリソース使用状況とが含まれる。以下、各ゲートウェイサーバ70のリソース使用状況は、当該ゲートウェイサーバ70に接続しているビューワ100及びエージェント200の総数であるものとする。これは、一般に、ゲートウェイサーバ70に接続しているビューワ100及びエージェント200の数とCPU等のリソースの使用率との間には正の相関があるためである。ただし、これに限られず、各ゲートウェイサーバ70のリソース使用状況は、例えば、当該ゲートウェイサーバ70のCPU使用率、メモリ使用量、ネットワークの利用帯域(スループット)等であってもよい。なお、リソース使用状況は、例えば、所定の時間間隔毎又はリアルタイムに更新される。
【0032】
≪ゲートウェイサーバ70≫
図2に示すように、本実施形態に係るゲートウェイサーバ70は、接続許可部701と、エージェント選択処理部702と、サービス提供部703と、情報管理部704とを有する。これら各部は、例えば、ゲートウェイサーバ70にインストールされた1以上のプログラムが、CPU等の演算装置に実行させる処理により実現される。
【0033】
接続許可部701は、バランサ50から接続要求を受信すると、この接続要求に対応するビューワ100又はエージェント200との接続を許可し、当該ビューワ100又はエージェント200との接続を確立する。
【0034】
エージェント選択処理部702は、エージェント一覧の中から選択されたエージェント200との接続を要求することを表すエージェント接続要求をビューワ100から受信すると、当該ビューワ100の接続対象として当該エージェント200を選択する処理を実行する。
【0035】
サービス提供部703は、ビューワ100とエージェント200の接続を確立した上で、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現するための各種処理を実行する。また、サービス提供部703は、ビューワ100又はエージェント200の接続先が変更される場合に、現在接続されているゲートウェイサーバ70との接続を切断して他のゲートウェイサーバ70に接続させるための接続先変更要求をビューワ100又はエージェント200に送信する。
【0036】
情報管理部704は、ビューワ100がどのゲートウェイサーバ70と接続されているかを表すビューワ接続先情報と、エージェント200がどのゲートウェイサーバ70と接続されているかを表すエージェント接続先情報とを管理する。すなわち、情報管理部704は、ビューワ接続先情報やエージェント接続先情報をDBサーバ60に格納したり、DBサーバ60に格納されているビューワ接続先情報やエージェント接続先情報を更新(編集又は削除等)したりする。
【0037】
ここで、エージェント接続先情報の一例を図3に示す。図3に示すように、エージェント接続先情報には、エージェントID、ユーザID、接続先ID、及びセッションID等が含まれる。エージェントIDは、エージェント200を識別する識別情報である。ユーザIDは、当該エージェント200の認証に用いられたアカウント情報のユーザIDである。接続先IDは、当該エージェント200が接続しているゲートウェイサーバ70を識別する識別情報(例えば、サーバID等)である。セッションIDは、当該エージェント200と当該ゲートウェイサーバ70との間のセッションを識別する識別情報である。
【0038】
図3に示すエージェント接続先情報には、エージェントID「agent001」、ユーザID「user001」、接続先ID「server001」、及びセッションID「session001」が含まれている。これは、エージェントID「agent001」を持つエージェント200はユーザID「user001」のアカウント情報で認証済みであり、セッションID「session001」のセッションにより、接続先ID「server001」のゲートウェイサーバ70-1と接続されていることを表している。
【0039】
なお、図3に示すエージェント接続先情報は一例であって、これに限られるものではない。例えば、エージェント接続先情報には、エージェントID、ユーザID、接続先ID、及びセッションID以外にも様々な情報が含まれていてもよい。
【0040】
また、ビューワ接続先情報の一例を図4に示す。図4に示すように、ビューワ接続先情報には、操作端末ID、ユーザID、接続先ID、及びセッションID等が含まれる。操作端末IDは、ビューワ100が動作している操作端末10を識別する識別情報(例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、シリアル番号、製造固有番号等)である。ユーザIDは、当該ビューワ100の認証に用いられたアカウント情報のユーザIDである。接続先IDは、当該ビューワ100が接続しているゲートウェイサーバ70を識別する識別情報(例えば、サーバID等)である。セッションIDは、当該ビューワ100と当該ゲートウェイサーバ70との間のセッションを識別する識別情報である。なお、一般に、複数の操作端末10上でそれぞれ動作する複数のビューワ100を同一のユーザIDで同時に利用することが可能である。このため、各ビューワ100は、操作端末IDにより他のビューワ100と識別することが可能である。
【0041】
図4に示すビューワ接続先情報には、操作端末ID「t001」、ユーザID「user001」、接続先ID「server002」、及びセッションID「session002」が含まれている。これは、操作端末ID「t001」を持つ操作端末10上で動作しているビューワ100はユーザID「user001」のアカウント情報で認証済みであり、セッションID「session002」のセッションにより、接続先ID「server002」のゲートウェイサーバ70-2と接続されていることを表している。
【0042】
なお、図4に示すビューワ接続先情報は一例であって、これに限られるものではない。例えば、ビューワ接続先情報には、操作端末ID、ユーザID、接続先ID、及びセッションID以外にも様々な情報が含まれていてもよい。
【0043】
<エージェント接続処理>
以下では、或るエージェント200がゲートウェイサーバ70と接続する場合の処理(エージェント接続処理)について、図5を参照しながら説明する。なお、エージェント接続処理は、例えば、当該エージェント200がインストールされている操作対象端末20の起動等により実行が開始される。
【0044】
エージェント200は、認証要求をAPIサーバ40に送信する(ステップS101)。当該認証要求には、例えば、当該エージェント200に設定されているユーザID及びパスワードが含まれる。
【0045】
APIサーバ40の認証処理部401は、認証要求を受信すると、この認証要求に含まれるユーザID及びパスワードが正当なものであるか否かを認証するための認証処理を実行する(ステップS102)。なお、認証処理部401は、APIサーバ40で当該認証を行ってもよいし、他のサーバ(例えば、認証サーバ等)に対して当該認証を要求してもよい。以下では、上記の認証に成功したものとして説明を続ける。
【0046】
APIサーバ40の認証処理部401は、認証成功を示す認証処理結果を当該エージェント200に返信する(ステップS103)。
【0047】
エージェント200は、認証成功を示す認証処理結果を受信すると、接続要求をバランサ50に送信する(ステップS104)。当該接続要求には、例えば、当該エージェント200のエージェントIDと、当該エージェント200に設定されているユーザIDとが含まれる。なお、以下では、接続要求にはセッションIDが指定されていないものとして説明するが、エージェント200は、当該接続要求にセッションIDを指定してもよい。接続要求にセッションIDが指定された場合、後述するステップS105において、バランサ50は、セッションIDを生成せずに、接続要求に指定されたセッションIDを使用する。
【0048】
バランサ50の振分処理部501は、接続要求を受信すると、記憶部504に記憶されているリソース情報を参照して、この接続要求の要求元のエージェント200をどのゲートウェイサーバ70に接続するかを振り分ける処理を実行する(ステップS105)。すなわち、振分処理部501は、記憶部504に記憶されているリソース情報を参照して、当該エージェント200の接続先となるゲートウェイサーバ70を決定する。また、振分処理部501は、当該エージェント200と、その接続先となるゲートウェイサーバ70との間のセッションを識別するセッションIDを生成する。
【0049】
ここで、接続先となるゲートウェイサーバ70を決定する方法は様々に考えられるが、振分処理部501は、例えば、リソース使用率が最も低いゲートウェイサーバ70(つまり、ビューワ100及びエージェント200の接続数が最も少ないゲートウェイサーバ70)を、接続先となるゲートウェイサーバ70として決定する。これにより、複数のゲートウェイサーバ70間でリソースの負荷分散を実現することができる。ただし、これは一例であって、振分処理部501は、これ以外の方法により接続先となるゲートウェイサーバ70を決定してもよい。
【0050】
例えば、振分処理部501は、接続要求の要求元のエージェント200と接続した場合であってもリソース使用率が上限を超えず、かつ、リソース使用率が最も高いゲートウェイサーバ70を、接続先となるゲートウェイサーバ70として決定してもよい。具体的には、例えば、各ゲートウェイサーバ70の接続数の上限をMとした場合、振分処理部501は、接続数がM未満であって、かつ、接続数が最も大きいゲートウェイサーバ70を、接続先となるゲートウェイサーバ70として決定する。これにより、各ゲートウェイサーバ70のリソース効率を高めることが可能となる。このため、例えば、外部の事業者が提供する仮想化技術等によりゲートウェイサーバ70が実現されている場合に、ゲートウェイサーバ70のリソースの利用状況に応じて構成変更してコストの削減を実現することができる。
【0051】
なお、例えば、或るゲートウェイサーバ70のメンテナンス等が行われている場合には、振分処理部501は、このゲートウェイサーバ70を除外した上で、上記の振り分けを行う。
【0052】
以下では、上記のステップS105において、当該エージェント200の接続先となるゲートウェイサーバ70が「ゲートウェイサーバ70-1」と決定されたものとして説明を続ける。
【0053】
ステップS105に続いて、バランサ50の接続要求部502は、当該エージェント200との接続要求をゲートウェイサーバ70-1に送信する(ステップS106)。当該接続要求には、例えば、当該エージェント200のエージェントIDと、当該エージェント200に設定されているユーザIDと、上記のステップS105で生成されたセッションIDとが含まれる。
【0054】
ゲートウェイサーバ70-1の接続許可部701は、接続要求を受信すると、この接続要求に含まれるエージェントIDを持つエージェント200との接続を許可する(ステップS107)。このとき、接続許可部701は、何等かの条件により接続を許可するか否かを判定してもよい。例えば、接続許可部701は、当該エージェント200の認証が成功しているか否かを判定し、認証が成功している場合にのみ接続を許可してもよい。
【0055】
次に、ゲートウェイサーバ70-1の情報管理部704は、上記のステップS107で受信した接続要求に含まれていたエージェントID、ユーザID及びセッションIDと、当該ゲートウェイサーバ70-1を識別する識別情報(例えば、サーバID等)とが含まれるエージェント接続先情報を作成した上で、このエージェント接続先情報をDBサーバ60に格納する(ステップS108)。
【0056】
そして、ゲートウェイサーバ70-1の接続許可部701は、当該エージェント200との接続(セッション)を確立する(ステップS109)。これにより、当該エージェント200がゲートウェイサーバ70-1に接続されたことになる。
【0057】
<ビューワ接続処理>
以下では、或るビューワ100がゲートウェイサーバ70と接続する場合の処理(ビューワ接続処理)について、図6を参照しながら説明する。なお、ビューワ接続処理は、例えば、ユーザが当該ビューワ100を起動した上で、ユーザIDとそれに対応するパスワード等を入力することにより実行が開始される。
【0058】
ビューワ100は、認証要求をAPIサーバ40に送信する(ステップS201)。当該認証要求には、例えば、当該ビューワ100に設定又は入力されたユーザID及びパスワードが含まれる。
【0059】
APIサーバ40の認証処理部401は、認証要求を受信すると、この認証要求に含まれるユーザID及びパスワードが正当なものであるか否かを認証するための認証処理を実行する(ステップS202)。なお、認証処理部401は、APIサーバ40で当該認証を行ってもよいし、他のサーバ(例えば、認証サーバ等)に対して当該認証を要求してもよい。以下では、上記の認証に成功したものとして説明を続ける。
【0060】
APIサーバ40の認証処理部401は、認証成功を示す認証処理結果を当該ビューワ100に返信する(ステップS203)。
【0061】
ビューワ100は、認証成功を示す認証処理結果を受信すると、接続要求をバランサ50に送信する(ステップS204)。当該接続要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、当該ビューワ100に設定又は入力されたユーザIDとが含まれる。なお、以下では、接続要求にはセッションIDが指定されていないものとして説明するが、ビューワ100は、当該接続要求にセッションIDを指定してもよい。接続要求にセッションIDが指定された場合、後述するステップS205において、バランサ50は、セッションIDを生成せずに、接続要求に指定されたセッションIDを使用する。
【0062】
バランサ50の振分処理部501は、接続要求を受信すると、記憶部504に記憶されているリソース情報を参照して、この接続要求の要求元のビューワ100をどのゲートウェイサーバ70に接続するかを振り分ける処理を実行する(ステップS205)。すなわち、振分処理部501は、記憶部504に記憶されているリソース情報を参照して、当該ビューワ100の接続先となるゲートウェイサーバ70を決定する。また、振分処理部501は、当該ビューワ100と、その接続先となるゲートウェイサーバ70との間のセッションを識別するセッションIDを生成する。
【0063】
ここで、接続先となるゲートウェイサーバ70は、図5のステップS105と同様の方法により決定すればよい。すなわち、振分処理部501は、例えば、リソース使用率が最も低いゲートウェイサーバ70を、接続先となるゲートウェイサーバ70として決定してもよいし、接続要求の要求元のビューワ100と接続した場合であってもリソース使用率が上限を超えず、かつ、リソース使用率が最も高いゲートウェイサーバ70を、接続先となるゲートウェイサーバ70として決定してもよい。
【0064】
なお、図5のステップS105と同様に、例えば、或るゲートウェイサーバ70のメンテナンス等が行われている場合には、振分処理部501は、このゲートウェイサーバ70を除外した上で、上記の振り分けを行う。
【0065】
以下では、上記のステップS205において、当該ビューワ100の接続先となるゲートウェイサーバ70が「ゲートウェイサーバ70-2」と決定されたものとして説明を続ける。
【0066】
ステップS205に続いて、バランサ50の接続要求部502は、当該ビューワ100との接続要求をゲートウェイサーバ70-2に送信する(ステップS206)。当該接続要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、当該ビューワ100に設定又は入力されたユーザIDと、上記のステップS205で生成されたセッションIDとが含まれる。
【0067】
ゲートウェイサーバ70-2の接続許可部701は、接続要求を受信すると、この接続要求に含まれる操作端末IDの操作端末10上で動作しているビューワ100との接続を許可する(ステップS207)。このとき、接続許可部701は、何等かの条件により接続を許可するか否かを判定してもよい。例えば、接続許可部701は、当該ビューワ100の認証が成功しているか否かを判定し、認証が成功している場合にのみ接続を許可してもよい。
【0068】
次に、ゲートウェイサーバ70-2の情報管理部704は、上記のステップS207で受信した接続要求に含まれていた操作端末ID、ユーザID及びセッションIDと、当該ゲートウェイサーバ70-2を識別する識別情報(例えば、サーバID等)とが含まれるビューワ接続先情報を作成した上で、ビューワ接続先情報をDBサーバ60に格納する(ステップS208)。
【0069】
そして、ゲートウェイサーバ70-2の接続許可部701は、当該ビューワ100との接続(セッション)を確立する(ステップS209)。これにより、当該ビューワ100がゲートウェイサーバ70-2と接続されたことになる。
【0070】
<エージェント選択及び接続処理>
以下では、図6のステップS209でゲートウェイサーバ70-2に接続されたビューワ100がエージェント200を選択した上でそのエージェント200と或るゲートウェイサーバ70を介して接続する場合の処理(エージェント選択及び接続処理)の実施例1及び2について説明する。
【0071】
≪エージェント選択及び接続処理(実施例1)≫
実施例1は、エージェント200の接続先を、ビューワ100が接続しているゲートウェイサーバ70に変更する場合である。エージェント選択及び接続処理(実施例1)について、図7を参照しながら説明する。なお、エージェント選択及び接続処理は、図6のステップS209でビューワ100とゲートウェイサーバ70との接続が確立された後に、
それに続いて実行が開始される。
【0072】
ビューワ100は、エージェント一覧取得要求をAPIサーバ40に送信する(ステップS301)。当該エージェント一覧取得要求には、例えば、当該ビューワ100に設定又は入力されたユーザIDが含まれる。
【0073】
APIサーバ40のエージェント一覧取得処理部402は、エージェント一覧取得要求を受信すると、エージェント一覧取得処理を実行する(ステップS302)。このエージェント一覧取得処理では、当該エージェント一覧取得要求に含まれるユーザIDが設定されているエージェント200の一覧(より正確には、これらのエージェント200を識別するエージェントIDの一覧)が取得される。
【0074】
APIサーバ40のエージェント一覧取得処理部402は、上記のステップS302で取得されたエージェント一覧を当該ビューワ100に返信する(ステップS303)。
【0075】
以下では、エージェント一覧の中から、ゲートウェイサーバ70-1に接続されている或るエージェント200がユーザによって選択されたものとして説明を続ける。
【0076】
ビューワ100は、エージェント接続要求をゲートウェイサーバ70-2に送信する(ステップS304)。当該エージェント接続要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、ユーザによって選択されたエージェント200のエージェントIDとが含まれる。
【0077】
ゲートウェイサーバ70-2のエージェント選択処理部702は、エージェント接続要求を受信すると、このエージェント接続要求に含まれるエージェントIDのエージェント200を、当該エージェント接続要求の要求元のビューワ100の接続先として選択する(ステップS305)。
【0078】
ゲートウェイサーバ70-2の情報管理部704は、当該エージェント接続要求に含まれる操作端末10のビューワ接続先情報をDBサーバ60から取得する(ステップS306)。
【0079】
ゲートウェイサーバ70-2のサービス提供部703は、接続先変更要求を当該エージェント200に送信する(ステップS307)。当該接続先変更要求には、例えば、上記のステップS306で取得したビューワ接続先情報の接続先ID(つまり、ゲートウェイサーバ70-2のサーバID等)及びセッションIDが含まれる。
【0080】
エージェント200は、接続先変更要求を受信すると、当該エージェント200が現在接続しているゲートウェイサーバ70-1との接続を切断する(ステップS308)。
【0081】
次に、エージェント200は、ビューワ100の接続先への接続要求をバランサ50に送信する(ステップS309)。当該接続要求には、例えば、当該エージェント200のエージェントIDと、上記のステップS306で取得したビューワ接続先情報の接続先ID及びセッションIDとが含まれる。
【0082】
バランサ50の接続要求部502は、ビューワ100の接続先への接続要求を受信すると、当該エージェント200との接続要求をゲートウェイサーバ70-2に送信する(ステップS310)。すなわち、接続要求部502は、ビューワ100の接続先への接続要求に含まれる接続先IDが示すゲートウェイサーバ70-2に対して、当該エージェント200との接続要求を送信する。当該エージェント200との接続要求には、例えば、当該エージェント200のエージェントIDと、上記のステップS306で取得したビューワ接続先情報のセッションIDとが含まれる。
【0083】
ゲートウェイサーバ70-2の情報管理部704は、DBサーバ60に格納されているエージェント接続先情報のうち、上記のステップS310で受信した接続要求に含まれていたエージェントIDのエージェント接続先情報を更新する(ステップS311)。すなわち、情報管理部704は、当該エージェントIDのエージェント接続先情報に含まれる接続先ID及びセッションIDを、上記のステップS310で受信した接続要求に含まれていた接続先ID及びセッションIDにそれぞれ更新する。
【0084】
そして、ゲートウェイサーバ70-2の接続許可部701は、当該エージェント200との接続(セッション)を確立する(ステップS312)。これにより、当該エージェント200とゲートウェイサーバ70-2とが、当該セッションIDのセッションで接続される。このように、実施例1では、エージェント200の接続先を、ビューワ100の接続先に変更する。
【0085】
最後に、ゲートウェイサーバ70-2のサービス提供部703は、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現するための接続を確立する(ステップS313)。これにより、このゲートウェイサーバ70-2を介して、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現することが可能となる。
【0086】
なお、図7に示すエージェント選択及び接続処理では、上記のステップS303で返信されたエージェント一覧の中から、ビューワ100が接続しているゲートウェイサーバ70と異なるゲートウェイサーバ70に接続されているエージェント200が選択された場合について説明した。ただし、これに限られず、エージェント一覧の中から、ビューワ100と同じゲートウェイサーバ70に接続されているエージェント200が選択されてもよい。この場合、エージェント200の接続先を変更する必要がないため、ステップS304~ステップS305を実行した後は、ステップS306~ステップS310を実行せずに、ステップS311でエージェント接続先情報に含まれるセッションIDのみを更新し、その後、ステップS312~ステップS313を実行すればよい。
【0087】
≪エージェント選択及び接続処理(実施例2)≫
実施例2は、ビューワ100の接続先を、エージェント200が接続しているゲートウェイサーバ70に変更する場合である。エージェント選択及び接続処理(実施例2)について、図8を参照しながら説明する。なお、エージェント選択及び接続処理は、図6のステップS209でビューワ100とゲートウェイサーバ70との接続が確立された後に、
それに続いて実行が開始される。
【0088】
ステップS401~ステップS405は、図7のステップS301~ステップS305とそれぞれ同様としてよいため、その説明を省略する。
【0089】
ゲートウェイサーバ70-2の情報管理部704は、当該エージェント接続要求に含まれるエージェントIDのエージェント接続先情報をDBサーバ60から取得する(ステップS406)。
【0090】
ゲートウェイサーバ70-2のサービス提供部703は、接続先変更要求を当該ビューワ100に送信する(ステップS407)。当該接続先変更要求には、例えば、上記のステップS406で取得したエージェント接続先情報の接続先ID(つまり、ゲートウェイサーバ70-1のサーバID等)及びセッションIDが含まれる。
【0091】
ビューワ100は、接続先変更要求を受信すると、当該ビューワ100が現在接続しているゲートウェイサーバ70-2との接続を切断する(ステップS408)。
【0092】
次に、ビューワ100は、当該エージェント200の接続先への接続要求をバランサ50に送信する(ステップS409)。当該接続要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、上記のステップS406で取得したエージェント接続先情報の接続先ID及びセッションIDとが含まれる。
【0093】
バランサ50の接続要求部502は、当該エージェント200の接続先への接続要求を受信すると、当該ビューワ100との接続要求をゲートウェイサーバ70-1に送信する(ステップS410)。すなわち、接続要求部502は、当該エージェント200の接続先への接続要求に含まれる接続先IDが示すゲートウェイサーバ70-1に対して、当該ビューワ100との接続要求を送信する。当該ビューワ100との接続要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、上記のステップS406で取得したエージェント接続先情報のセッションIDとが含まれる。
【0094】
ゲートウェイサーバ70-1の情報管理部704は、DBサーバ60に格納されているビューワ接続先情報のうち、上記のステップS410で受信した接続要求に含まれていた操作端末IDのビューワ接続先情報を更新する(ステップS411)。すなわち、情報管理部704は、当該操作端末IDのビューワ接続先情報に含まれる接続先ID及びセッションIDを、上記のステップS410で受信した接続要求に含まれていた接続先ID及びセッションIDにそれぞれ更新する。
【0095】
そして、ゲートウェイサーバ70-1の接続許可部701は、当該ビューワ100との接続(セッション)を確立する(ステップS412)。これにより、当該ビューワ100とゲートウェイサーバ70-1とが、当該セッションIDのセッションで接続される。このように、実施例2では、ビューワ100の接続先を、エージェント200の接続先に変更する。
【0096】
最後に、ゲートウェイサーバ70-1のサービス提供部703は、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現するための接続を確立する(ステップS413)。これにより、このゲートウェイサーバ70-1を介して、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現することが可能となる。
【0097】
なお、図8に示すエージェント選択及び接続処理では、上記のステップS403で返信されたエージェント一覧の中から、ビューワ100が接続しているゲートウェイサーバ70と異なるゲートウェイサーバ70に接続されているエージェント200が選択された場合について説明した。ただし、これに限られず、エージェント一覧の中から、ビューワ100と同じゲートウェイサーバ70に接続されているエージェント200が選択されてもよい。この場合、ビューワ100の接続先を変更する必要がないため、ステップS404~ステップS405を実行した後は、ステップS406~ステップS410を実行せずに、ステップS411でビューワ接続先情報に含まれるセッションIDのみを更新し、その後、ステップS412~ステップS413を実行すればよい。
【0098】
<動的接続先変更処理>
以下では、或るビューワ100と或るエージェント200とが或るゲートウェイサーバ70を介して接続されており、当該ビューワ100が動作している操作端末10のユーザに対してリモートデスクトップサービスが提供されていることを想定する。このとき、当該ビューワ100と当該エージェント200の接続先のゲートウェイサーバ70を動的に変更する場合の処理(動的接続先変更処理)について、図9を参照しながら説明する。なお、以下では、当該ビューワ100と当該エージェント200はゲートウェイサーバ70-1に接続しているものとする。
【0099】
バランサ50の接続先変更要否判定部503は、記憶部504に記憶されているリソース情報を参照して、当該ビューワ100と当該エージェント200が接続しているゲートウェイサーバ70-1を他のゲートウェイサーバ70に変更するか否かを判定する(ステップS501)。
【0100】
ここで、ビューワ100とエージェント200が接続しているゲートウェイサーバ70を他のゲートウェイサーバ70に変更するか否かを判定する方法は様々に考えられるが、例えば、当該ゲートウェイサーバ70のリソース使用率が所定の閾値を超えている場合(つまり、ビューワ100及びエージェント200の接続数が所定の閾値を超えている場合)に他のゲートウェイサーバ70に変更すると判定し、そうでない場合には変更しないと判定すればよい。ただし、これは一例であって、接続先変更要否判定部503は、これ以外の方法によりビューワ100とエージェント200が接続しているゲートウェイサーバ70を他のゲートウェイサーバ70に変更するか否かを判定してもよい。
【0101】
以下では、当該ビューワ100と当該エージェント200が接続しているゲートウェイサーバ70-1を他のゲートウェイサーバ70に変更すると判定されたものとして説明を続ける。
【0102】
バランサ500の接続要求部502は、接続先変更要求をゲートウェイサーバ70-1に送信する(ステップS502)。当該接続先変更要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、当該エージェント200のエージェントIDとが含まれる。
【0103】
ゲートウェイサーバ70-1のサービス提供部703は、接続先変更要求を当該エージェント200に送信する(ステップS503)。同様に、ゲートウェイサーバ70-1のサービス提供部703は、接続先変更要求を当該ビューワ100に送信する(ステップS504)。
【0104】
エージェント200は、接続先変更要求を受信すると、当該エージェント200が現在接続しているゲートウェイサーバ70-1との接続を切断する(ステップS505)。同様に、ビューワ100は、接続先変更要求を受信すると、当該ビューワ100が現在接続しているゲートウェイサーバ70-1との接続を切断する(ステップS506)。
【0105】
エージェント200は、接続要求をバランサ50に送信する(ステップS507)。同様に、ビューワ100は、接続要求をバランサ50に送信する(ステップS508)。
【0106】
バランサ50の振分処理部501は、ビューワ100及びエージェント200から接続要求を受信すると、記憶部504に記憶されているリソース情報を参照して、当該接続要求の要求元のビューワ100及びエージェント200をどのゲートウェイサーバ70に接続するかを振り分ける処理を実行する(ステップS509)。すなわち、振分処理部501は、記憶部504に記憶されているリソース情報を参照して、当該ビューワ100及び当該エージェント200の接続先となるゲートウェイサーバ70を決定する。また、振分処理部501は、当該ビューワ100及び当該エージェント200と、その接続先となるゲートウェイサーバ70との間のセッションを識別するセッションIDを生成する。
【0107】
ここで、接続先となるゲートウェイサーバ70は、図5のステップS105や図6のステップS205と同様の方法により決定すればよい。ただし、ビューワ100とエージェント200の接続先として同一のゲートウェイサーバ70を決定する。
【0108】
なお、図5のステップS105や図6のステップS205と同様に、例えば、或るゲートウェイサーバ70のメンテナンス等が行われている場合には、振分処理部501は、このゲートウェイサーバ70を除外した上で、上記の振り分けを行う。
【0109】
以下では、上記のステップS509において、当該ビューワ100及び当該エージェント200の接続先となるゲートウェイサーバ70が「ゲートウェイサーバ70-3」と決定されたものとして説明を続ける。
【0110】
バランサ50の接続要求部502は、当該エージェント200との接続要求をゲートウェイサーバ70-3に送信する(ステップS510)。当該接続要求には、例えば、当該エージェント200のエージェントIDと、当該エージェント200に設定されているユーザIDと、上記のステップS509で生成されたセッションIDとが含まれる。
【0111】
同様に、バランサ50の接続要求部502は、当該ビューワ100との接続要求をゲートウェイサーバ70-3に送信する(ステップS511)。当該接続要求には、例えば、当該ビューワ100が動作している操作端末10の操作端末IDと、当該ビューワ100に設定又は入力されたユーザIDと、上記のステップS509で生成されたセッションIDとが含まれる。
【0112】
ゲートウェイサーバ70-3の情報管理部704は、DBサーバ60に格納されているエージェント接続先情報のうち、当該エージェント200との接続要求に含まれているエージェントIDのエージェント接続先情報を更新する(ステップS512)。すなわち、情報管理部704は、当該エージェントIDのエージェント接続先情報に含まれる接続先IDを、当該ゲートウェイサーバ70-3を識別する識別情報(例えば、サーバID等)に更新すると共に、当該エージェント接続先情報に含まれるセッションIDを、当該エージェント200との接続要求に含まれているセッションIDに更新する。
【0113】
同様に、ゲートウェイサーバ70-3の情報管理部704は、DBサーバ60に格納されているビューワ接続先情報のうち、当該ビューワ100との接続要求に含まれている操作端末IDのビューワ接続先情報を更新する(ステップS513)。すなわち、情報管理部704は、当該操作端末IDのビューワ接続先情報に含まれる接続先IDを、当該ゲートウェイサーバ70-3を識別する識別情報(例えば、サーバID等)に更新すると共に、当該ビューワ接続先情報に含まれるセッションIDを、当該ビューワ100との接続要求に含まれているセッションIDに更新する。
【0114】
そして、ゲートウェイサーバ70-3の接続許可部701は、当該エージェント200との接続(セッション)を確立する(ステップS514)。これにより、当該エージェント200とゲートウェイサーバ70-3とが、当該セッションIDのセッションで接続される。
【0115】
同様に、ゲートウェイサーバ70-3の接続許可部701は、当該ビューワ100との接続(セッション)を確立する(ステップS515)。これにより、当該ビューワ100とゲートウェイサーバ70-3とが、当該セッションIDのセッションで接続される。
【0116】
最後に、ゲートウェイサーバ70-3のサービス提供部703は、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現するための接続を確立する(ステップS516)。これにより、このゲートウェイサーバ70-3を介して、当該ビューワ100と当該エージェント200との間でリモートデスクトップサービスを実現することが可能となる。このように、動的接続先変更処理では、リモートデスクトップサービスの提供中に、ビューワ100とエージェント200が接続しているゲートウェイサーバ70を、そのリソース使用状況に応じて他のゲートウェイサーバ70に動的に変更することができる。
【0117】
<変形例>
以下、本実施形態の変形例についていくつか説明する。
【0118】
≪変形例1≫
上記の実施形態では、ゲートウェイサーバ70のリソース使用状況はそのゲートウェイサーバ70に接続されているビューワ100とエージェント200の接続数であるものとしたが、このとき、例えば、ビューワ100とエージェント200の重み付き和を接続数としてもよい。例えば、ゲートウェイサーバ70に接続されているビューワ100の接続数をn、エージェント200の接続数をnとしたときに、αn+βn(ただし、αはビューワ100の重み、βはエージェント200の重みであり、予め設定された値である。)をそのゲートウェイサーバ70のリソース使用状況としてもよい。これにより、ビューワ100とエージェント200の通信特性の違い等に応じて適切なリソース使用状況を考えることが可能となる。
【0119】
≪変形例2≫
上記の変形例1では、ビューワ100又はエージェント200のいずれであるかに応じて重みを設定したが、例えば、実際にリモートデスクトップサービスの提供中であるか否かに応じて重みを設定してもよい。一般に、リモートデスクトップサービスを提供している場合の方が、ゲートウェイサーバ70のリソース使用量が多いと考えられるためである。
【0120】
ここで、一般に、ゲートウェイサーバ70に接続されているビューワ100はリモートデスクトップサービスを提供中である一方で、エージェント200はビューワ100と接続するまでは待機中であるため、必ずしもリモートデスクトップサービスを提供中とは限らない。そこで、例えば、ゲートウェイサーバ70に接続されているビューワ100の接続数をn、リモートデスクトップサービスを提供中のエージェント200の接続数をn21、リモートデスクトップサービスを提供中でないエージェント200の接続数をn22として、αn+β21+β22(ただし、αはビューワ100の重み、βはリモートデスクトップサービスを提供中のエージェント200の重み、βはリモートデスクトップサービスを提供中でないエージェント200(つまり、待機中のエージェント200)の重みであり、予め設定された値である。)をそのゲートウェイサーバ70のリソース使用状況としてもよい。これにより、変形例1に加えて、リモートデスクトップサービスを提供中であるか否かに応じて適切なリソース使用状況を考えることが可能となる。
【0121】
≪変形例3≫
上記の実施形態では、ビューワ100とエージェント200との間でリモートデスクトップサービスを実現するための接続を確立した後も、ビューワ100及びエージェント200は、バランサ50を介してゲートウェイサーバ70と接続しているが、例えば、リモートデスクトップサービスを実現するための接続を確立した後は、ビューワ100及びエージェント200は、バランサ50を介さずに、ゲートウェイサーバ70に接続してもよい。
【0122】
≪変形例4≫
上記の実施形態では、セッションIDを利用して、ビューワ100とバランサ50との間の接続、エージェント200とバランサ50との間の接続をそれぞれ特定しているが、例えば、セッションIDを利用せずに、他の情報によりビューワ100とバランサ50との間の接続、エージェント200とバランサ50との間の接続をそれぞれ特定してもよい。例えば、ビューワ100とバランサ50との間の接続は、操作端末IDとユーザIDの組により特定されてもよい。同様に、例えば、エージェント200とバランサ50との間の接続は、エージェントIDとユーザIDの組により特定されてもよい。これにより、セッションIDを不要とすることができる。
【0123】
≪変形例5≫
上記の実施形態において、例えば、バランサ50は、ビューワ100やエージェント200とのセッションが切れていないかを適宜確認し、その確認結果によりDBサーバ60を更新してもよい。これにより、例えば、何等かの理由によりビューワ100やエージェント200とのセッションが切れた場合にそれをビューワ接続先情報やエージェント接続先情報に反映することができる。
【0124】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0125】
1 リモートデスクトップシステム
10 操作端末
20 操作対象端末
30 サービス提供システム
40 APIサーバ
50 バランサ
60 DBサーバ
70 ゲートウェイサーバ
100 ビューワ
200 エージェント
401 認証処理部
402 エージェント一覧取得処理部
501 振分処理部
502 接続要求部
503 接続先変更要否判定部
504 記憶部
701 接続許可部
702 エージェント選択処理部
703 サービス提供部
704 情報管理部
図1
図2
図3
図4
図5
図6
図7
図8
図9