説明

情報処理システムおよび情報処理装置の割当て方法

【課題】リソース(ローカルマシン)を有効に活用できるシンクライアントタイプの情報処理システムを提供する。
【解決手段】認証デバイス6を初めて使用する際に、この認証デバイス6が接続されたリモートマシン2に本割当てられるローカルマシン1のアドレスを、リモートマシン2から管理サーバ7に問合せる。管理サーバ7が該問合せを受けて該リモートマシン2に本割当てするローカルマシン1を決定し、該ローカルマシン1のアドレスをリモートマシン2に通知する。リモートマシン2は、管理サーバ7から通知されたアドレスにより特定されるローカルマシン1を遠隔操作する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに接続された、複数の情報処理装置および遠隔操作端末を有する情報処理システムに関し、特に、遠隔操作端末に対する情報処理装置の割当て技術に関する。
【背景技術】
【0002】
特許文献1には、LANシステム内におけるウイルス感染源を検知する技術が開示されている。該技術では、ウイルスが進入したクライアントコンピュータが、サーバコンピュータにウイルス侵入をメール報告したとき、サーバコンピュータのアクセス履歴取得プログラムが、メール報告元のクライアントコンピュータのアクセス履歴データベースからアクセス履歴を収集して分析する。
【0003】
また、近年、いわゆるシンクライアントタイプの情報処理システムが注目されている。シンクライアントタイプの情報処理システムでは、手元にあるリモートマシンを用いて自宅や会社に置いてあるローカルマシンのデスクトップを遠隔操作することで、ローカルマシンに搭載されている各種アプリケーションプログラムおよびデータを利用できる。ローカルマシンには、PC(Personal Computer)の他に、ローカル接続された入出力装置(キーボード、マウスおよびディスプレイ)を持たないサーバ(例えばブレードサーバ)が用いられる。
【0004】
【特許文献1】特開2004−86241号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
コンピュータのウイルス感染を検知した場合に、当該コンピュータのネットワークへの接続を遮断して、他のコンピュータへの2次感染を防止するアンチウイルス技術が知られている。従来シンクライアントタイプの情報処理システムにおいて、ローカルマシンにこのアンチウイルス技術を適用すると、次の問題が生じる。すなわち、リモートマシンはローカルマシンにアクセスできなくなるため、リモートマシンからではローカルマシンの状態を知ることができない。ここで、ローカルマシンがPCの場合、当該ローカルマシンにローカル接続された入出力装置を用いて当該ローカルマシンの状態を直ちに確認できる。しかし、ローカルマシンがローカル接続された入出力装置を持たないサーバの場合、ネットワークの接続が遮断されると、当該ローカルマシンの状態を直ちには確認できない。
【0006】
また、従来のシンクライアントタイプの情報処理システムは、予めリモートマシンにローカルマシンのアドレスを割当てている。つまり、使用前からローカルマシンがリモートマシンに割当てられることとなり、ローカルマシンのリソースを有効に活用できない。
【0007】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、リソース(ローカルマシン)を有効に活用できるシンクライアントタイプの情報処理システムを提供することにある。また、リモートマシンからではローカルマシンの状態を知ることが可能なシンクライアントタイプの情報処理システムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の第一の態様は、端末(リモートマシン)が情報処理装置(ローカルマシン)を初めて使用する際に、管理サーバに自端末に割当てられる情報処理装置のアドレスを問合せる。そして、端末は、管理サーバから通知されたアドレスにより特定される情報処理装置を遠隔操作する。
【0009】
例えば、本発明の第一の態様は、ネットワークを介して互いに接続された、複数の情報処理装置、前記情報処理装置を管理する管理サーバ、および複数の端末を有する情報処理システムであって、
前記管理サーバは、
前記複数の情報処理装置各々の端末割当て状態を記憶する割当て状態記憶手段と、
割当て要求に対して、前記割当て状態記憶手段に記憶されている端末割当て状態が未割当て状態であることを示す情報処理装置のアドレスを、当該割当て要求送信元の端末に通知すると共に、前記割当て状態記憶手段に記憶されている当該情報処理装置の端末割当て状態を、未割当て状態から当該割当て要求送信元の端末に割当てられたことを示す状態に更新する割当て管理手段と、を有し、
前記端末は、
少なくとも前記管理サーバのアドレスが記憶されたアドレス記憶手段と、
前記アドレス記憶手段に自端末に割当てられた情報処理装置のアドレスが記憶されていない場合に、当該アドレス記憶手段に記憶されている前記管理サーバのアドレスに対して割当て要求を送信し、前記管理サーバから自端末に割当てられた情報処理装置のアドレスを受信して、前記アドレス記憶手段に記憶する割当て要求手段と、
前記アドレス記憶手段に自端末に割当てられた情報処理装置のアドレスが記憶されている場合に、当該情報処理装置のアドレスに対して当該端末の入力装置に入力された操作情報を送信し、当該情報処理装置から映像情報を受信して、当該端末の表示装置に表示する遠隔操作手段と、を有し、
前記情報処理装置は、
前記端末から操作情報を受信して、当該操作情報が示す操作内容に従って情報処理を行い、その結果を示す映像情報を当該端末に送信する遠隔操作受付手段を有する。
【0010】
また、本発明の第二の態様は、情報処理装置(ローカルマシン)がウイルス感染を検知した場合に、その旨を管理サーバに通知してからネットワークを遮断する。
【0011】
例えば、本発明の第二の態様は、上述の第一の態様の情報処理システムにおいて、
前記情報処理装置は、
コンピュータウイルスの感染を検知して、前記管理サーバに通知し、自情報処理装置の前記ネットワークへの接続を遮断するネットワーク遮断手段をさらに有する。
【発明の効果】
【0012】
本発明によれば、端末が情報処理装置を初めて使用する際に、自端末に割当てられる情報処理装置のアドレスを管理サーバに問合せ、管理サーバが該問合せを受けて当該端末に割り当てる情報処理装置を決定する。したがって、リソース(情報処理装置)を有効に活用することができる。また、本発明によれば、情報処理装置がウイルス感染を検知した場合に、その旨を管理サーバに通知してからネットワークへの接続を遮断する。したがって、端末から情報処理装置の状態を知ることができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の一実施形態を説明する。
【0014】
図1は本発明の一実施形態が適用されたリモートデスクトップシステム(シンクライアントタイプの情報処理システム)の概略図である。
【0015】
図示するように、本実施形態のリモートデスクトップシステムは、複数のローカルマシン1と、複数のリモートマシン2および認証デバイス6と、管理サーバ7と、ファイルサーバ8と、を有する。複数のローカルマシン1、管理サーバ7、およびファイルサーバ8は、会社等に構築された内部ネットワークであるLAN(Local Area Network)4Aに接続されている。LAN4Aは、ルータ3Aを介してWAN(Wide Area Network)5に接続される。認証デバイス6は、リモートマシン2に着脱可能である。リモートマシン2は、ホテル、駅等の出先に構築された外部ネットワークであるLAN4Bに接続されている。LAN4Bは、ルータ3Bを介してWAN5に接続される。
【0016】
ローカルマシン1は、リモートマシン2との間にVPN(Virtual Private Network)を構築し、該VPNを介して、リモートマシン2から送られてきた入力情報(入力装置の操作内容)を受信し処理すると共に、処理結果を示す映像情報(表示装置のデスクトップ画面)をリモートマシン2に送信する。ローカルマシン1は、ブレードサーバ等の通常は入出力装置をローカル接続しないで使用するコンピュータである。
【0017】
図2はローカルマシン1の概略図である。図示するように、ローカルマシン1は、CPU(Central Processing Unit)101と、CPU101のワークエリアとして機能するRAM(Random Access Memory)102と、LAN4Aに接続するためのNIC(Network Interface Card)103と、HDD(Hard Disk Drive)104と、フラッシュROM(Read Only Memory)105と、デスクトップの映像情報を生成するビデオカード107と、これらの各部101〜107と接続するバスBUSを中継するブリッジ108と、電源109と、を有する。
【0018】
フラッシュROM105には、BIOS(Basic Input/Output System)1050が記憶されている。CPU101は、電源109の投入後、先ずフラッシュROM105にアクセスしてBIOS1050を実行することにより、ローカルマシン1のシステム構成を認識する。
【0019】
HDD104には、OS(Operating System)1041、VPN通信プログラム1042、リモートサーバプログラム1043、ウイルス検知プログラム1044、および複数のアプリケーションプログラム1045が、少なくとも記憶されている。
【0020】
OS1041は、CPU101がローカルマシン1の各部102〜109を統括的に制御して、後述する各プログラム1042〜1044を実行するためのプログラムである。CPU101は、BIOS1050に従い、HDD104からOS1041をRAM102にロードして実行する。これにより、CPU101は、ローカルマシン1の各部102〜109を統括的に制御する。
【0021】
VPN通信プログラム1042は、リモートマシン2との間にVPNを構築するための通信プログラムであり、例えばIPsec(Security Architecture for the Internet Protocol)を用いた通信プログラムである。CPU101は、OS1041に従い、HDD104からVPN通信プログラム1042をRAM102にロードして実行する。これにより、CPU101は、NIC103を介してリモートマシン2から受付けた通信開始要求に従い、リモートマシン2との間にVPNを構築し、このVPNを介してリモートマシン2と通信を行なう。
【0022】
リモートサーバプログラム1043は、ローカルマシン1のデスクトップをリモートマシン2から遠隔操作可能とするためのプログラムであり、例えばAT&Tケンブリッジ研究所で開発されたVNC(Virtual Network Computing)のサーバプログラムである。CPU101は、OS1041に従い、HDD104からリモートサーバプログラム1043をRAM102にロードして実行する。これにより、CPU101は、VPNを介してリモートマシン2から送られてきた入力情報(キーボードおよびマウスの操作内容)を受信し処理すると共に、処理結果を示す映像情報(ディスプレイのデスクトップ画面)を、VPNを介してリモートマシン2に送信する。
【0023】
ウイルス検知プログラム1044は、RAM102およびHDD104に格納されているファイルからウイルスを駆除するためのプログラムである。ウイルス検知プログラム1044は、RAM102およびHDD104に格納されているファイル各々を予め用意されたウイルスパターンと比較して、ファイルのコンピュータウイルス感染を検知する。そして、検知したファイルからコンピュータウイルスを隔離または駆除する。検知したコンピュータウイルスを隔離または駆除できない場合は、ウイルス感染を管理サーバ7に通知し、それから、OS1041に対してNIC103のドライバ停止を要求し、LAN4Aとの接続を遮断する。
【0024】
アプリケーションプログラム1045には、汎用のWebブラウザ、ワープロ、表計算等のプログラムがある。CPU101は、OS1041に従い、I/Oコネクタ106を介してキーボードおよびマウスから受付けた指示、あるいは、リモートサーバプログラム1043を介してリモートマシン2から受付けた指示に応答して、HDD104から所望のアプリケーションプログラム1044をRAM102にロードし実行する。そして、この実行結果が反映されたデスクトップ画面の映像情報をビデオカード107に生成させ、リモートサーバプログラム1043を介してリモートマシン2へ送信する。
【0025】
NIC103には、ワンチップマイコン1031が搭載されている。ワンチップマイコン1031は、電源109のNIC103への電源供給状態を監視する。そして、電源109のNIC103への電源供給が断した場合、ローカルマシン1の電源109とは別に設けられた電源でNIC103を動作させる。また、管理サーバ7から受信した状態問合せに対して、電源109のNIC103への電源供給が断している場合は停止状態を管理サーバ7に通知し、断していない場合は稼動状態を管理サーバ7に通知する。
【0026】
図3はローカルマシン1の動作を説明するための図である。なお、このフローは、本来、CPU101もしくはワンチップマイコン1031がプログラムに従って実行する。しかし、ここでは、説明を簡単にするために、CPU101の処理に関してはプログラムを実行主体として、フローを説明する。
【0027】
アクティブとなっているアプリケーションプログラム1045は、NIC103を介してリモートマシン2から入力情報を受信すると(S100でYES)、該入力情報が示す操作内容(キーボード操作およびマウス操作)に応じた処理を実行する(S101)。そして、処理結果を反映させたデスクトップ画面を表す映像情報をビデオカード107に生成させ、該映像情報を、NIC103を介してリモートマシン2へ送信する(S102)。
【0028】
また、ウイルス検知プログラム1044は、RAM102およびHDD104からウイルス感染したファイルを検知すると(S110でYES)、該ファイルに対して隔離または駆除処理を実行する(S111)。そして、隔離または駆除に失敗した場合(S112でNO)、NIC103を介して管理サーバ7にウイルス感染通知を送信し(S113)、その後、OS1041が管理しているNIC103のドライバを停止して、LAN4Aとの接続を遮断する(S114)。
【0029】
また、ワンチップマイコン1031は、NIC103を介して管理サーバ7から状態問合せを受信すると(S120でYES)、電源109のNIC103への電源供給が断している場合は(S121でNO)、停止状態を管理サーバ7に通知する(S123)。一方、電源109のNIC103への電源供給が断していない場合は(S121でYES)、稼動状態を管理サーバ7に通知する(S122)。
【0030】
図1に戻って説明を続ける。管理サーバ7は、複数のローカルマシン1各々のリモートマシン2への割り当てを管理する。
【0031】
図4は管理サーバ7の概略図である。図示するように、管理サーバ7は、CPU701と、CPU701のワークエリアとして機能するRAM702と、LAN4Aに接続するためのNIC703と、HDD704と、フラッシュROM705と、キーボードおよびマウスを接続するためのI/Oコネクタ706と、ディスプレイを接続するためのビデオカード707と、これらの各部701〜707と接続するバスBUSを中継するブリッジ708と、電源709と、を有する。
【0032】
フラッシュROM705には、BIOS7050が記憶されている。CPU701は、電源709の投入後、先ずフラッシュROM705にアクセスしてBIOS7050を実行することにより、管理サーバ7のシステム構成を認識する。
【0033】
HDD704には、OS7041、割当て状態管理テーブル7042、動作状態管理テーブル7043、割当て状態管理プログラム7044、動作状態管理プログラム7045、および問合せ応答プログラム7046が、少なくとも記憶されている。
【0034】
OS7041は、CPU701が管理サーバ7の各部702〜709を統括的に制御して、後述する各プログラム7044〜7046を実行するためのプログラムである。CPU701は、BIOS7050に従い、HDD704からOS7041をRAM702にロードして実行する。これにより、CPU701は、管理サーバ7の各部702〜709を統括的に制御する。
【0035】
割当て状態管理テーブル7042には、ローカルマシン1毎に、当該ローカルマシン1が割当て情報が記憶される。図5は割当て状態管理テーブル7042を模式的に表した図である。図示するように、ローカルマシン1毎にレコード70420が登録されている。ローカルマシン1のIDを登録するフィールド70421と、ローカルマシン1のネットワークアドレスを登録するフィールド70422と、ローカルマシン1の割当て種別を登録するフィールド70423と、を有する。割当て種別には、「本割当て」と、「仮割当て」と、「未割当て」とがある。「本割当て」は、リモートマシン2が恒久的に割当てられた状態を示す。「仮割当て」は、リモートマシン2に「本割当て」されているローカルマシン1がメンテナンス等の理由により停止中の場合に、当該リモートマシン2が一時的に割当てられた状態を示す。そして、「未割当て」は、リモートマシン2が未だ割り当てられていない状態を示す。
【0036】
動作状態管理テーブル7043には、ローカルマシン1毎に、当該ローカルマシン1の動作状態が記憶される。図6は動作状態管理テーブル7043を模式的に表した図である。図示するように、ローカルマシン1毎にレコード70430が登録されている。レコード70430は、ローカルマシン1のIDを登録するフィールド70431と、ローカルマシン1のネットワークアドレスを登録するフィールド70432と、ローカルマシン1の動作状態(「稼動」、「停止」、および「ウイルス感染」のいずれか)を登録するフィールド70433と、を有する。
【0037】
割当て状態管理プログラム7044は、リモートマシン2に割当てるローカルマシン1を管理するためのプログラムである。割当て状態管理プログラム7044は、割当て状態管理テーブル7042および動作状態管理テーブル7043を用いて、リモートマシン2に割当てるローカルマシン1を決定すると共に、決定内容に従って割当て状態管理テーブル7042を更新する。
【0038】
動作状態管理プログラム7045は、ローカルマシン1の動作状態を管理するためのプログラムである。動作状態管理プログラム7045は、ローカルマシン1各々から動作状態を取得して、取得内容に従って動作状態管理テーブル7043を更新する。
【0039】
問合わせ応答プログラム7046は、リモートマシン2の問合せに応答するためのプログラムである。問合わせ応答プログラム7046は、リモートマシン2からの状態問合せおよび復旧問合せに対して、当該リモートマシン2に本割当てされているローカルマシン1の動作状態を取得し、応答する共に動作状態管理テーブル7043を更新する。
【0040】
図7は管理サーバ7の動作を説明するための図である。なお、このフローは、本来、CPU701がプログラムに従って実行する。しかし、ここでは、説明を簡単にするために、プログラムを実行主体として、フローを説明する。
【0041】
動作状態管理プログラム7045は、NIC703を介してローカルマシン1からウイルス感染通知を受信すると(S700でYES)、ウイルス感染通知元のネットワークアドレスを持つレコード70430を動作状態管理TL7043から検索する。そして、検索したレコード70430のフィールド70433に登録されている動作状態を「ウイルス感染」に変更する(S701)。
【0042】
また、割当て状態管理プログラム7044は、NIC703を介してリモートマシン2から割当て要求を受信すると(S710でYES)、該割当て要求が本割当て要求であるならば(S711でYES)、該割当て要求元のリモートマシン2に本割当てするローカルマシン1を決定する(S712)。具体的には、フィールド70423の割当て種別が「未割当て」のレコード70420を、割当て状態管理テーブル7042から検索する。次に、検索したレコード70420各々について、フィールド70421に登録されているIDがフィールド70431に登録されているレコード70430、またはサブフィールド70422に登録されているネットワークアドレスがフィールド70432に登録されているレコード70430を、動作状態管理テーブル7043から検索し、該レコード70430のフィールド70433に登録されている動作状態が「稼動」であるか否かを調べる。動作状態が「稼動」である場合、この対象レコード70420を本割当て候補のレコード70420に設定する。以上のようにして設定された本割当て候補のレコード70420の中から一つ選択し、これを本割当てのレコード70420に決定する。
【0043】
次に、割当て状態管理プログラム7044は、本割当てのレコード70420のフィールド70421およびフィールド70422に登録されているIDおよびネットワークアドレスを、該割当て要求元のリモートマシン2に送信する(S714)。また、割当て状態管理テーブル7042に登録されている本割当てのレコード70420のフィールド70423の割当て種別を「未割当て」から「本割当て」に更新する(S715)。
【0044】
一方、割当て状態管理プログラム7044は、NIC703を介してリモートマシン2から受信した割当て要求が仮割当て要求であるならば(S711でNO)、該割当て要求元のリモートマシン2に仮割当てするローカルマシン1を決定する(S713)。具体的には、サブフィールド70424の割当て種別が「未割当て」のレコード70420を、割当て状態管理テーブル7042から検索する。次に、検索したレコード7042各々について、フィールド70421に登録されているIDがフィールド70431に登録されているレコード70430、またはサブフィールド70422に登録されているネットワークアドレスがフィールド70432に登録されているレコード70430を、動作状態管理テーブル7043から検索し、該レコード70430のフィールド70433に登録されている動作状態が「稼動」であるか否かを調べる。動作状態が「稼動」である場合、この対象レコード70420を仮割当て候補のレコード70420に設定する。以上のようにして設定された仮割当て候補のレコード70420の中から一つ選択し、これを仮割当てのレコード70420に決定する。
【0045】
次に、割当て状態管理プログラム7044は、仮割当てのレコード70420のフィールド70421およびフィールド70422に登録されているIDおよびネットワークアドレスを、該割当て要求元のリモートマシン2に送信する(S714)。また、割当て状態管理テーブル7042に登録されている仮割当てのレコード70420のフィールド70423の割当て種別を「未割当て」から「仮割当て」に更新する(S715)。
【0046】
また、問合わせ応答プログラム7046は、NIC703を介してリモートマシン2から状態問合せの通知を受信すると(S720でYES)、該状態問合せ通知元に本割当てされたローカルマシン1の状態を調べる(S721)。具体的には、該状態問合せの通知に含まれているローカルマシン1のIDがフィールド70431に登録されているレコード70430、または、該状態問合せの通知に含まれているネットワークアドレスがフィールド70432に登録されているレコード70430を、動作状態管理テーブル7043から検索し、該レコード70430のフィールド70433に登録されている動作状態を取得する。
【0047】
次に、問合わせ応答プログラム7046は、S721で取得した動作状態が「ウイルス感染」であるか否かを調べる(S722)。動作状態が「ウイルス感染」である場合は(S722でYES)、動作状態が「ウイルス感染」であることを示す問合せ応答を生成し、これを、NIC703を介して該状態問合せ通知元のリモートマシン2に送信する(S725)。一方、動作状態が「ウイルス感染」でない場合(S722でNO)、問合わせ応答プログラム7046は、該状態問合せの通知に含まれているローカルマシン1のネットワークアドレスに対して、状態問合わせを、NIC703を介して送信する(S723)。そして、該ローカルマシン1から動作状態を取得し、S721で検索したレコード70430のフィールド70433をこの取得した動作状態で更新する(S724)。また、S724で取得した動作状態(「稼動」および「停止」のいずれか)を示す問合せ応答を生成し、これを、NIC703を介して該状態問合せ通知元のリモートマシン2に送信する(S725)。
【0048】
また、問合わせ応答プログラム7046は、NIC703を介してリモートマシン2から復旧問合せの通知を受信すると(S730でYES)、該復旧問合せ通知元に本割当てされたローカルマシン1が復旧したかを調べる。具体的には、該復旧問合せの通知に含まれている本割当てローカルマシン1のネットワークアドレスに対して、状態問合わせを、NIC703を介して送信する(S731)。そして、該ローカルマシン1から動作状態を取得すると、該復旧問合せの通知に含まれている本割当てローカルマシン1のIDがフィールド70431に登録されているレコード70430、または、該復旧問合せの通知に含まれている本割当てローカルマシン1のネットワークアドレスがフィールド70432に登録されているレコード70430を、動作状態管理テーブル7043から検索し、該レコード70430のフィールド70433をこの取得した動作状態で更新する(S732)。また、S732で取得した動作状態(「稼動」および「停止」のいずれか)を示す問合せ応答を生成し、これを、NIC703を介して該復旧問合せ通知元のリモートマシン2に送信する(S733)。
【0049】
次に、問合わせ応答プログラム7046は、該復旧問合せ通知元のリモートマシン2に送信した問合せ応答が示す動作状態が「稼動」である場合(S734でYES)、該復旧問合せ通知元のリモートマシン2に仮割当てされているローカルマシン2を解除する(S735)。具体的には、該復旧問合せの通知に含まれている仮割当てローカルマシン1のIDがフィールド70421に登録されているレコード70420、または、該復旧問合せの通知に含まれている仮割当てローカルマシン1のネットワークアドレスがフィールド70422に登録されているレコード70420を、割当て状態管理テーブル7042から検索する。そして、検索したレコード70420のフィールド70423に登録されている割当て種別を「仮割当て」から「未割当て」に更新する。
【0050】
図1に戻って説明を続ける。リモートマシン2は、ローカルマシン1との間にVPNを構築し、該VPNを介して、自リモートマシン2に入力された入力情報(入力装置の操作内容)を該ローカルマシン1へ送信すると共に、該ローカルマシン1から映像像情(表示装置のデスクトップ画面)を受信し、これを自リモートマシン2のディスプレイに表示する。また、リモートマシン2は、自リモートマシン2に本割当てされたローカルマシン1のネットワークアドレスを取得して認証デバイス6に登録する。また、自リモートマシン2に本割当てされたローカルマシン1とのネットワーク接続が遮断している場合に、必要に応じて、自リモートマシン2に仮割当てされたローカルマシン1のネットワークアドレスを取得して認証デバイス6に登録する。なお、リモートマシン2は、いわゆるHDDレスタイプのPCであり、プリンタ、外付けドライブ、外付けメモリ等をローカル接続およびネットワーク接続できないように構成されている。つまり、リモートマシン2は、ローカルマシン1にローカル接続あるいはネットワーク接続されているプリンタ、外付けドライブ、外付けメモリ等のみを使用できるように構成されている。このようにすることで、リモートマシン2の盗難等による情報漏えいの可能性を低減している。
【0051】
図8はリモートマシン2の概略図である。図示するように、リモートマシン2は、CPU201と、CPU201のワークエリアとして機能するRAM202と、LAN4Bに接続するためのNIC203と、認証デバイス(USBデバイス)6を接続するためのUSBポート204と、フラッシュROM205と、キーボードおよびマウスを接続するためのI/Oコネクタ206と、ディスプレイを接続するためのビデオカード207と、これらの各部201〜207と接続するバスBUSを中継するブリッジ208と、電源209と、を有する。
【0052】
フラッシュROM205には、BIOS2050、OS2051、VPN通信プログラム2052、リモートクライアントプログラム2053、割当て要求プログラム2054、および問合せプログラム2055が、少なくとも記憶されている。
【0053】
CPU201は、電源209の投入後、先ずフラッシュROM205にアクセスしてBIOS2050を実行することにより、リモートマシン2のシステム構成を認識する。
【0054】
OS2051は、CPU201がリモートマシン2の各部202〜209を統括的に制御して、後述する各プログラム2052〜2055を実行するためのプログラムである。CPU201は、BIOS2050に従い、フラッシュROM205からOS2051をRAM202にロードして実行する。これにより、CPU201は、リモートマシン2の各部2102〜209を統括的に制御する。なお、本実施形態のOS2051には、組み込み型OS等のフラッシュROM205に格納可能な比較的サイズの小さいものが利用される。
【0055】
VPN通信プログラム2052は、リモートクライアントプログラム2053より通知されたアドレスを持つローカルマシン1との間に、VPNを構築するための通信プログラムであり、例えばIPsecを用いた通信プログラムである。CPU201は、OS2051に従い、フラッシュROM205からVPN通信プログラム2052をRAM202にロードして実行する。これにより、CPU201は、NIC203を介して自リモートマシン2に本割当てまたは仮割り当てされたローカルマシン1へ通信開始要求を送信して、当該ローカルマシン1との間にVPNを構築し、このVPNを介して当該ローカルマシン1と通信する。
【0056】
リモートクライアントプログラム2053は、リモートマシン2が遠隔からローカルマシン1のデスクトップにアクセスするためのプログラムであり、例えばVNCのクライアント(ビューワ)プログラムである。CPU201は、OS2051に従い、フラッシュROM205からリモートクライアントプログラム2053をRAM202にロードして実行する。これにより、CPU201は、I/Oコネクタ206の入力情報(キーボードおよびマウスの操作内容)を、VPNを介してローカルマシン1に送信すると共に、VPNを介して当該ローカルマシン1から送られてきた映像情報(ディスプレイのデスクトップ画面)をビデオカード207に接続されたディスプレイ(不図示)に出力する。
【0057】
なお、リモートクライアントプログラム2053は、上述の処理の実行に先立ってCPU201に次の認証処理を行わせる。すなわち、CPU201は、ビデオカード207に接続されたディスプレイにユーザIDおよびパスワードの入力フォームを表示させ、I/Oコネクタ206に接続されたキーボードおよびマウスを介してユーザからユーザIDおよびパスワードの入力を受付ける。そして、受付けたユーザIDおよびパスワードをUSBポート204に接続されている認証デバイス6に送信してユーザ認証を依頼する。そして、ユーザ認証が成立した場合にのみ、認証デバイス6からローカルマシン1のアドレスを受け取って、これをVPN通信プログラム2052に通知する。
【0058】
割当て要求プログラム2054は、リモートクライアントプログラム2053の指示に従い、認証デバイス6に、自リモートマシン2に本割当てされたローカルマシン1のアドレスおよび仮割当てされたローカルマシン1のアドレスを登録したり、認証デバイス6に登録されている、自リモートマシン2に仮割当てされたローカルマシン1のアドレスを削除したりするためのプログラムである。 問合せプログラム2055は、リモートクライアントプログラム2053の指示に従い、管理サーバ7に、自リモートマシン2に本割当てされたローカルマシン1の動作状態を問い合わせるためのプログラムである。
【0059】
図9および図10はリモートマシン2の動作を説明するための図である。なお、このフローは、本来、CPU201がプログラムに従って実行する。しかし、ここでは、説明を簡単にするために、プログラムを実行主体として、フローを説明する。
【0060】
リモートクライアントプログラム2053は、ビデオカード207に接続されたディスプレイにユーザIDおよびパスワードの入力フォームを表示させ、I/Oコネクタ206に接続されたキーボードおよびマウスを介してユーザからユーザIDおよびパスワードの入力を受付ける(S901)。そして、受付けたユーザIDおよびパスワードをUSBポート204に接続されている認証デバイス6に送信して認証を依頼し(S902)、認証デバイス6から認証結果を受信する(S903)。
【0061】
認証結果が認証失敗を示している場合は(S903でNO)、このフローを終了する。一方、認証結果が認証成功を示している場合(S903でYES)、リモートクライアントプログラム2053は、認証デバイス6から認証結果と共に受信したアドレスが管理サーバ7のアドレスであるか否かを調べる(S905)。認証デバイス6から管理サーバ7のアドレスを受信した場合(S905でYES)、この認証デバイス6は、リモートマシン2へのローカルマシン1の本割当てに未だ利用されていない。つまり、リモートマシン2によるローカルマシン1の遠隔操作に用いられていない。この場合、リモートクライアントプログラム2053は、割当て要求プログラム2054に管理サーバ7のアドレスを通知してローカルマシン1の本割当てを指示する。
【0062】
これを受けて、割当て要求プログラム2054は、NIC203を介して管理サーバ7に本割当て要求を送信する(S906)。次に、割当て要求プログラム2054は、NIC203を介して管理サーバ7から自リモートマシン2に本割当てされたローカルマシン1のアドレスを受信したならば(S907)、この自リモートマシン2に本割当てされたローカルマシン1のアドレスを、USBポート204を介して認証デバイス6に送信して、認証デバイス6に登録すると共に、リモートクライアントプログラム2053に通知する(S908)。リモートクライアントプログラム2053は、割当て要求プログラム2054から通知された、自リモートマシン2に本割当てされたローカルマシン1のアドレスを、VPN通信プログラム2052に通知して、VPNの確立を指示する。
【0063】
これを受けて、VPN通信プログラム2052は、自リモートマシン2に本割当てされたローカルマシン1との間にVPNを確立する(S909)。リモートクライアントプログラム2053は、このVPNを介して、自リモートマシン2に本割当てされたローカルマシン1のリモートサーバプログラム1043と連携して、自リモートマシン2に本割当てされたローカルマシン1の遠隔操作を開始する(S910)。
【0064】
一方、認証デバイス6から認証結果と共に受信したアドレスが管理サーバ7のアドレスでない場合(S905でNO)、該アドレスはローカルマシン1のアドレスである。そこで、リモートクライアントプログラム2053は、該アドレスが自リモートマシン2に本割当てされたローカルマシン1のアドレスであるか、それとも、自リモートマシン2に仮割当てされたローカルマシン1のアドレスであるか否かを調べる(S921)。該アドレスが自リモートマシン2に本割当てされたローカルマシン1のアドレスである場合(S921でYES)、リモートクライアントプログラム2053は、この自リモートマシン2に本割当てされたローカルマシン1のアドレスを、VPN通信プログラム2052に通知して、VPNの確立を指示する。
【0065】
これを受けて、VPN通信プログラム2052は、自リモートマシン2に本割当てされたローカルマシン1との間にVPNを確立する(S922)。VPNの確立に成功したならば(S923でYES)、リモートクライアントプログラム2053は、このVPNを介して、自リモートマシン2に本割当てされたローカルマシン1のリモートサーバプログラム1043と連携して、自リモートマシン2に本割当てされたローカルマシン1の遠隔操作を開始する(S924)。
【0066】
S922において、VPN通信プログラム2052がVPNの確立に失敗した場合(S923)、リモートクライアントプログラム2053は、認証デバイス6から管理サーバ7のアドレスを取得する。そして、この管理サーバ7のアドレスと、本割当てされたローカルマシン1のネットワークアドレスとを問合せプログラム2055に通知して、状態問合わせを指示する。これを受けて、問合せプログラム2055は、本割当てされたローカルマシン1のネットワークアドレスを含む状態問合せを生成し、これを、NIC203を介して、管理サーバ7に送信する(S931)。
【0067】
次に、問合せプログラム2055は、管理サーバ7から問合せ応答を受信したならば(S932)、該問合せ応答に含まれている動作状態をリモートクライアントプログラム2053に通知する。これを受けて、リモートクライアントプログラム2053は、問合せプログラム2055から受け取った動作状態が「ウイルス感染」であるか、それとも「停止」であるかを調べ(S933)、「ウイルス感染」の場合は(S933でYES)、このフローを終了する。一方、「停止」の場合(S933でNO)、リモートクライアントプログラム2053は、ビデオカード207に接続されたディスプレイにローカルマシン1の仮割当てをするか否かの確認画面を表示させ、I/Oコネクタ206に接続されたキーボードおよびマウスを介してユーザから仮割当てするか否かの指示を受付ける(S934)。そして、仮割当てしない旨の指示を受付けた場合は(S935でNO)、このフローを終了する。一方、仮割当てする旨の指示を受付けた場合(S935でYES)、リモートクライアントプログラム2053は、認証デバイス6から管理サーバ7のアドレスを取得する。そして、この管理サーバ7のアドレスを割当て要求プログラム2054に通知して、ローカルマシン1の仮割当てを指示する。
【0068】
これを受けて、割当て要求プログラム2054は、NIC203を介して管理サーバ7に仮割当て要求を送信する(S936)。次に、割当て要求プログラム2054は、NIC203を介して管理サーバ7から自リモートマシン2に仮割当てされたローカルマシン1のアドレスを受信したならば(S937)、この自リモートマシン2に仮割当てされたローカルマシン1のアドレスを、USBポート204を介して認証デバイス6に送信して、認証デバイス6に登録すると共に、リモートクライアントプログラム2053に通知する(S938)。リモートクライアントプログラム2053は、割当て要求プログラム2054から通知された、自リモートマシン2に仮割当てされたローカルマシン1のアドレスを、VPN通信プログラム2052に通知して、VPNの確立を指示する。
【0069】
これを受けて、VPN通信プログラム2052は、自リモートマシン2に仮割当てされたローカルマシン1との間にVPNを確立する(S939)。リモートクライアントプログラム2053は、このVPNを介して、自リモートマシン2に仮割当てされたローカルマシン1のリモートサーバプログラム1043と連携して、自リモートマシン2に仮割当てされたローカルマシン1の遠隔操作を開始する(S940)。
【0070】
S921において、認証デバイス6から認証結果と共に受信したアドレスが自リモートマシン2に仮割当てされたローカルマシン1のアドレスである場合(S921でNO)、リモートクライアントプログラム2053は、認証デバイス6から管理サーバ7のアドレスと、本割当てされたローカルマシン1のネットワークアドレスとを取得する。そして、この管理サーバ7のアドレスと、本割当てされたローカルマシン1のネットワークアドレスとを問合せプログラム2055に通知して、復旧問合わせを指示する。これを受けて、問合せプログラム2055は、仮割当てされたローカルマシン1のアドレスと、本割当てされたローカルマシン1のネットワークアドレスとを含む復旧問合せを生成し、これを、NIC203を介して、管理サーバ7に送信する(S951)。
【0071】
次に、問合せプログラム2055は、管理サーバ7から問合せ応答を受信したならば(S952)、該問合せ応答に含まれている動作状態をリモートクライアントプログラム2053に通知する。これを受けて、リモートクライアントプログラム2053は、問合せプログラム2055から受け取った動作状態が「稼動」であるか、それとも「停止」であるかを調べる(S953)。「稼動」の場合は(S953でYES)、認証デバイス6から自リモートマシン2に仮割当てされたローカルマシン1のアドレスを削除する(S954)。そして、リモートクライアントプログラム2053は、自リモートマシン2に本割当てされたローカルマシン1のアドレスを、VPN通信プログラム2052に通知して、VPNの確立を指示する。
【0072】
これを受けて、VPN通信プログラム2052は、自リモートマシン2に本割当てされたローカルマシン1との間にVPNを確立する(S955)。リモートクライアントプログラム2053は、このVPNを介して、自リモートマシン2に本割当てされたローカルマシン1のリモートサーバプログラム1043と連携して、自リモートマシン2に本割当てされたローカルマシン1の遠隔操作を開始する(S956)。
【0073】
一方、S953において、問合せプログラム2055から受け取った動作状態が「停止」の場合は(S953でNO)、リモートクライアントプログラム2053は、自リモートマシン2に仮割当てされたローカルマシン1のアドレスを、VPN通信プログラム2052に通知して、VPNの確立を指示する。
【0074】
これを受けて、VPN通信プログラム2052は、自リモートマシン2に仮割当てされたローカルマシン1との間にVPNを確立する(S961)。リモートクライアントプログラム2053は、このVPNを介して、自リモートマシン2に仮割当てされたローカルマシン1のリモートサーバプログラム1043と連携して、自リモートマシン2に仮割当てされたローカルマシン1の遠隔操作を開始する(S962)。
【0075】
なお、図9および図10に示すフローにおいて、ローカルマシン1を特定する情報として、ネットワークアドレスに代えて、もしくは、ネットワークアドレスと共にローカルマシン1のIDを用いるようにしてもよい。
【0076】
図1に戻って説明を続ける。認証デバイス6は、リモートマシン2から受け取ったユーザIDおよびパスワードの認証を行い、その検証結果をリモートマシン2へ通知する。ここで、認証結果が認証成立の場合、認証デバイス6は、この認証結果と共に、認証デバイス6に登録されているアドレスを、それが管理サーバ7のアドレスか、本割当てされたローカルマシン1のアドレスか、それとも、仮割当てされたローカルアドレスかを識別するフラグと共に、リモートマシン2へ通知する。また、認証デバイス6は、認証成立したリモートマシン2からの指示に従い、ローカルマシン1のアドレスの登録・削除を行う。
【0077】
図11は認証デバイス6の概略図である。図示するように、認証デバイス6は、リモートマシン2のUSBポート204に接続するためのUSBアダプタ601と、ICチップ602と、を有する。
【0078】
ICチップ602には、認証情報6031と、認証プログラム6032と、アドレステーブル6033と、アドレス管理プログラム6034と、が記憶されている。なお、認証デバイス6に、フラッシュメモリを外付けできるように構成し、ICチップ602内の一部のデータをこのフラッシュメモリに記憶するようにしてもかまわない。
【0079】
認証情報6031は、ユーザのIDおよびパスワードを有する。
【0080】
認証プログラム6032は、自認証デバイス6が接続されたリモートマシン2に入力されたユーザのIDおよびパスワードと、認証情報6031とを用いてユーザ認証を行うプログラムである。
【0081】
アドレステーブル6033には、管理サーバ7のアドレスを登録する管理サーバエントリと、自認証デバイス6が接続されるリモートマシン2に本割当てされたローカルマシン1のアドレスを登録する本割当てエントリと、該リモートマシン2に仮割当てされたローカルマシン1のアドレスを登録する仮割当てエントリと、を有する。なお、初期状態では、管理サーバ7のアドレスのみが管理サーバエントリに登録され、他のエントリはヌルデータである。なお、本割当てエントリおよび仮割当てエントリには、それぞれ本割当ておよび仮割当てされたローカルマシン1のネットワークアドレスと共に、該ローカルマシン1のIDを登録するようにしてもよい。
【0082】
アドレス管理プログラム6034は、自認証デバイス6が接続されたリモートマシン2の指示に従い、アドレステーブル6033の本割当てエントリに、該リモートマシン2に本割当てされたローカルマシン1のアドレスを登録する。また、アドレステーブル6033の仮割当てエントリに、該リモートマシン2に仮割当てされたローカルマシン1のアドレスを登録したり、あるいは、該リモートマシン2への仮割当てが解除されたローカルマシン1のアドレスを仮割当てエントリから削除したりする。
【0083】
認証デバイス6のUSBアダプタ601がリモートマシン2のUSBポート204に接続され、これにより、リモートマシン2から認証デバイス6へ電源が供給されると、ICチップ602は、認証プログラム6032およびアドレス管理プログラム6034を実行する。図12は認証デバイス6の動作を説明するための図である。なお、このフローは、本来、ICチップ602がプログラムに従って実行する。しかし、ここでは、説明を簡単にするために、プログラムを実行主体として、フローを説明する。
【0084】
先ず、認証プログラム6032は、リモートマシン2から認証依頼を受信すると(S601)、該認証依頼に含まれているユーザIDおよびパスワードを、認証情報6031のユーザIDおよびパスワードとを比較する(S602)。両者が一致しない場合は(S603でNO)、認証不成立を示す認証結果をリモートマシン2に出力して、このフローを終了する。一方、両者が一致する場合(S603でYES)、アドレステーブル6033を参照し、仮割当てエントリにアドレスが登録されているか否かを調べる(S610)。仮割当てエントリにアドレスが登録されている場合(S610でYES)、認証プログラム6032は、認証成功を示す認証結果を、仮割当てエントリに登録されている仮割当てされたローカルマシン1のアドレスおよび仮割当てを示すフラグと共に、リモートマシン2に出力する(S611)。その後、所定時間内にリモートマシン2から仮割当てされたローカルマシン1のアドレスの削除指示を受信した場合(S612でYES)、認証プログラム6032は、その旨をアドレス管理プログラム6034に通知する。これを受けて、アドレス管理プログラム6034は、アドレステーブル6033の仮割当てエントリからアドレスを削除する(S613)。その後、このフローを終了する。所定時間内にリモートマシン2から仮割当てされたローカルマシン1のアドレスの削除指示を受信していない場合(S612でNO)、このフローを直ちに終了する。
【0085】
一方、S610において、仮割当てエントリにアドレスが登録されていない場合(S610でNO)、認証プログラム6032は、アドレステーブル6033を参照し、本割当てエントリにアドレスが登録されているか否かをさらに調べる(S620)。本割当てエントリにアドレスが登録されている場合(S620でYES)、認証プログラム6032は、認証成功を示す認証結果を、本割当てエントリに登録されている本割当てされたローカルマシン1のアドレスおよび本割当てを示すフラグと共に、リモートマシン2に出力する(S621)。その後、所定時間内にリモートマシン2から仮割当てされたローカルマシン1のアドレスを受信した場合(S622でYES)、認証プログラム6032は、このアドレスをアドレス管理プログラム6034に通知する。これを受けて、アドレス管理プログラム6034は、アドレステーブル6033の仮割当てエントリに、認証プログラム6032から受信したアドレスを登録する(S623)。その後、このフローを終了する。所定時間内にリモートマシン2から仮割当てされたローカルマシン1のアドレスを受信していない場合(S622でNO)、このフローを直ちに終了する。
【0086】
S620において、本割当てエントリにアドレスが登録されていない場合(S620でNO)、認証プログラム6032は、認証成功を示す認証結果を、アドレステーブル6033の管理サーバエントリに登録されているアドレスと共に、リモートマシン2に出力する(S630)。その後、認証プログラム6032は、リモートマシン2から本割当てされたローカルマシン1のアドレスを受信するのを待ち(S631)、このアドレスをアドレス管理プログラム6034に通知する。これを受けて、アドレス管理プログラム6034は、アドレステーブル6033の本割当てエントリに、認証プログラム6032から受信したアドレスを登録する(S632)。その後、このフローを終了する。
【0087】
なお、図12に示すフローは、認証プログラム6032およびアドレス管理プログラム6034を認証デバイス6に搭載する代わりにリモートマシン2に搭載し、これらのプログラムをリモートマシン2が実行することで、リモートマシン2が行うようにしてもよい。あるいは、認証プログラム6032およびアドレス管理プログラム6034の一部をリモートマシン2に搭載して実行させることで、リモートマシン2と認証デバイス6とが連携して行うようにしてもかまわない。
【0088】
次に、上記構成のリモートデスクトップシステムの概略動作を説明する。
【0089】
図13は、認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に本割当てされたローカルマシン1のアドレスが登録されていない場合の動作例を示す図である。
【0090】
リモートマシン2は、ユーザより認証情報(ユーザIDおよびパスワード)が入力されると(S301)、該認証情報を含む認証依頼を生成し、これを認証デバイス6に送信する(S302)。
【0091】
認証デバイス6は、リモートマシン2より認証依頼を受信すると、認証デバイス6に登録されている認証情報6031を用いてユーザ認証を行う(S303)。そして、認証成立したならば、その旨を示す認証結果を、アドレステーブル6033に登録されている管理サーバ7のアドレスと共に、リモートマシン2に送信する(S304)。
【0092】
リモートマシン2は、認証デバイス6から認証成功を示す認証結果を管理サーバ7のアドレスと共に受信すると、本割当て要求を管理サーバ7に送信する(S305)。
【0093】
管理サーバ7は、リモートマシン2から本割当て要求を受信すると、当該本割当て要求のリモートマシン2に本割当てするローカルマシン1を決定し、このローカルマシン1のアドレスを該本割当て要求元のローカルマシン1に送信する(S306)。
【0094】
リモートマシン2は、管理サーバ6から自リモートマシン2に本割当てされたローカルマシン1のアドレスを受信すると、これを認証デバイス6のアドレステーブル6033に登録する(S307)。また、リモートマシン2は、自リモートマシン2に本割当てされたローカルマシン1との間にVPNを確立する(S308)。そして、このVPNを用いて、自リモートマシン2に本割当てされたローカルマシン1の遠隔操作を開始する。これにより、リモートマシン2の入力装置にユーザ操作が入力されると(S309)、該操作内容を表す入力情報が、自リモートマシン2に本割当てされたローカルマシン1に送信され(S310)、ユーザの入力情報を反映させたデスクトップ画面の映像情報が自リモートマシン2に本割当てされたローカルマシン1から自リモートマシン2に送信される(S311)。
【0095】
図14は、認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に本割当てされたローカルマシン1のアドレスが登録され、該リモートマシン2に仮割当てされたローカルマシン1のアドレスが登録されていない場合において、該本割当てされたローカルマシン1がウイルス感染によりネットワーク切断されている場合の動作例を示す図である。
【0096】
リモートマシン2は、ユーザより認証情報(ユーザIDおよびパスワード)が入力されると(S321)、該認証情報を含む認証依頼を生成し、これを認証デバイス6に送信する(S322)。
【0097】
認証デバイス6は、リモートマシン2より認証依頼を受信すると、認証デバイス6に登録されている認証情報6031を用いてユーザ認証を行う(S323)。そして、認証成立したならば、その旨を示す認証結果を、アドレステーブル6033に登録されている、本割当てされたローカルマシン1のアドレスと共に、リモートマシン2に送信する(S324)。
【0098】
リモートマシン2は、認証デバイス6から認証成功を示す認証結果を自リモートマシン2に本割当てされたローカルマシン1のアドレスと共に受信すると、該本割当てされたローカルマシン1との間にVPNの確立を試みる。しかし、この場合、該本割当てされたローカルマシン1がネットワーク切断されているため、VPNの確立に失敗する(S325)。そこで、リモートマシン2は、認証デバイス6から管理サーバ7のアドレスを取得し、本割当てされたローカルマシンのアドレスを含む状態問合せを管理サーバ7に送信する(S326)。
【0099】
管理サーバ7は、リモートマシン2から状態問合せを受信すると、当該状態問合せに含まれているアドレスを持つ本割当てされたローカルマシン1の動作状態「ウイルス感染」を含む問合せ応答を生成する。そして、この問合せ応答を当該状態問合せ元のリモートマシン2に送信する(S327)。
【0100】
リモートマシン2は、管理サーバ7から受信した動作状態「ウイルス感染」を含む問合せ応答を表示する。
【0101】
図15は、認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に本割当てされたローカルマシン1のアドレスが登録され、該リモートマシン2に仮割当てされたローカルマシン1のアドレスが登録されていない場合において、該本割当てされたローカルマシン1が停止している場合の動作例を示す図である。
【0102】
リモートマシン2は、ユーザより認証情報(ユーザIDおよびパスワード)が入力されると(S341)、該認証情報を含む認証依頼を生成し、これを認証デバイス6に送信する(S342)。
【0103】
認証デバイス6は、リモートマシン2より認証依頼を受信すると、認証デバイス6に登録されている認証情報6031を用いてユーザ認証を行う(S343)。そして、認証成立したならば、その旨を示す認証結果を、アドレステーブル6033に登録されている、本割当てされたローカルマシン1のアドレスと共に、リモートマシン2に送信する(S344)。
【0104】
リモートマシン2は、認証デバイス6から認証成功を示す認証結果を自リモートマシン2に本割当てされたローカルマシン1のアドレスと共に受信すると、該本割当てされたローカルマシン1との間にVPNの確立を試みる。しかし、この場合、該本割当てされたローカルマシン1が停止しているため、VPNの確立に失敗する(S345)。そこで、リモートマシン2は、認証デバイス6から管理サーバ7のアドレスを取得し、S341で受付けたIDを含む状態問合せを管理サーバ7に送信する(S346)。
【0105】
管理サーバ7は、リモートマシン2から状態問合せを受信すると、当該問合せに含まれているアドレスを持つ本割当てされたローカルマシン1の動作状態「停止」を含む問合せ応答を生成する。そして、この問合せ応答を当該状態問合せ元に送信する(S347)。
【0106】
リモートマシン2は、管理サーバ7から受信した動作状態「停止」を含む問合せ応答を表示して、ローカルマシン1の仮割当てを行うか否かの確認をユーザに求める。そして、ローカルマシン1の仮割当てを行う場合、リモートマシン2は、S341で受付けたユーザIDを含む仮割当て要求を、管理サーバ7に送信する(S348)。
【0107】
管理サーバ7は、リモートマシン2から仮割当て要求を受信すると、仮割当てするローカルマシン1を決定する。そして、このローカルマシン1のアドレスを当該仮割当て要求元のリモートマシン2に送信する(S349)。
【0108】
リモートマシン2は、管理サーバ6から自リモートマシン2に仮割当てされたローカルマシン1のアドレスを受信すると、これを認証デバイス6のアドレステーブル6033に登録する(S350)。また、リモートマシン2は、自リモートマシン2に仮割当てされたローカルマシン1との間にVPNを確立する(S351)。そして、このVPNを用いて、自リモートマシン2に仮割当てされたローカルマシン1の遠隔操作を開始する。これにより、リモートマシン2の入力装置にユーザ操作が入力されると(S352)、該操作内容を表す入力情報が、自リモートマシン2に仮割当てされたローカルマシン1に送信され(S352)、ユーザの入力情報を反映させたデスクトップ画面の映像情報が自リモートマシン2に仮割当てされたローカルマシン1から自リモートマシン2に送信される(S354)。
【0109】
図16は、認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に仮割当てされたローカルマシン1のアドレスが登録されている場合において、該リモートマシン2に本割当てされたローカルマシン1が復旧した場合の動作例を示す図である。
【0110】
リモートマシン2は、ユーザより認証情報(IDおよびパスワード)が入力されると(S361)、該認証情報を含む認証依頼を生成し、これを認証デバイス6に送信する(S362)。
【0111】
認証デバイス6は、リモートマシン2より認証依頼を受信すると、認証デバイス6に登録されている認証情報6031を用いてユーザ認証を行う(S363)。そして、認証成立したならば、その旨を示す認証結果を、アドレステーブル6033に登録されている、仮割当てされたローカルマシン1のアドレスおよび本割当てされたローカルマシン1のアドレスと共に、リモートマシン2に送信する(S364)。
【0112】
リモートマシン2は、認証デバイス6から認証成功を示す認証結果を自リモートマシン2に仮割当てされたローカルマシン1のアドレスと共に受信すると、認証デバイス6から管理サーバ7のアドレスおよび本割当てされたローカルマシン1のアドレスを取得し、仮割当てされたローカルマシン1のアドレスおよび本割当てされたローカルマシン1のアドレスを含む復旧問合せを管理サーバ7に送信する(S365)。
【0113】
管理サーバ7は、リモートマシン2から復旧問合せを受信すると、当該問合せに含まれている本割当てされたローカルマシン1の動作状態「稼動」を含む問合せ応答を生成する。そして、この問合せ応答を当該復旧問合せ元のリモートマシン2に送信する(S366)。
【0114】
リモートマシン2は、管理サーバ7から受信した動作状態「稼動」を含む問合せ応答を表示すると共に、認証デバイス6から自リモートマシン2に仮割当てされているローカルマシン1のアドレスを削除する(S367)。また、認証デバイス6から自リモートマシン2に本割当てされているローカルマシン1のアドレスを取得して(S368)、自リモートマシン2に本割当てされたローカルマシン1との間にVPNを確立する(S369)。そして、このVPNを用いて、自リモートマシン2に本割当てされたローカルマシン1の遠隔操作を開始する。これにより、リモートマシン2の入力装置にユーザ操作が入力されると(S370)、該操作内容を表す入力情報が、自リモートマシン2に本割当てされたローカルマシン1に送信され(S371)、ユーザの入力情報を反映させたデスクトップ画面の映像情報が自リモートマシン2に本割当てされたローカルマシン1から自リモートマシン2に送信される(S372)。
【0115】
以上、本発明の一実施形態について説明した。
【0116】
本実施形態では、認証デバイス6を初めて使用する際に、この認証デバイス6が接続されたリモートマシン2に本割当てられるローカルマシン1のアドレスを管理サーバ7に問合せ、管理サーバ7が該問合せを受けて当該リモートマシン2に本割当てするローカルマシン1を決定する。したがって、リソース(ローカルマシン1)を有効に活用することができる。
【0117】
また、本実施形態では、ローカルマシン1がウイルス感染を検知した場合に、その旨を管理サーバ7に通知してからネットワーク接続を遮断する。したがって、リモートマシン2は、管理サーバ7にアクセスすることで、自リモートマシン2に本割当てされたローカルマシン1の状態を知ることができる。
【0118】
また、本実施形態では、リモートマシン2に本割当てされたローカルマシン1がウイルス感染以外の理由で停止している場合に、必要に応じて他のローカルマシン1を仮割当てすることができる。したがって、ウイルスの2次感染を効率よく防止しつつも、システムの可用性を向上させることができる。
【0119】
なお、本実施形態の上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記の実施形態において、認証デバイス6とリモートマシン2とのインターフェースはUSBに限定されるものではない。認証デバイス6は、リモートマシン2と通信可能に構成されたものであればよい。例えばPCカードのようにリモートマシン2と着脱自在に構成されたものでもよいし、あるいは、Bluetooth(登録商標)等の近距離無線通信を利用することで、リモートマシン2に装着することなく通信できるものでもよい。
【0120】
また、上記の実施形態では、ローカルマシン1およびリモートマシン2間にVPNを構築して通信を行なう場合を例にとり説明したが、本発明はこれに限定されない。例えば、ローカルマシン1およびリモートマシン2間が同じLAN内に存在するような場合は、VPNを構築することなく、ローカルマシン1およびリモートマシン2間で通信を行なえるようにしてもよい。
【図面の簡単な説明】
【0121】
【図1】図1は本発明の一実施形態が適用されたリモートデスクトップシステムの概略図である。
【図2】図2はローカルマシン1の概略図である。
【図3】図3はローカルマシン1の動作を説明するための図である。
【図4】図4は管理サーバ7の概略図である。
【図5】図5は割当て状態管理テーブル7042を模式的に表した図である。
【図6】図6は動作状態管理テーブル7043を模式的に表した図である。
【図7】図7は管理サーバ7の動作を説明するための図である。
【図8】図8はリモートマシン2の概略成図である。
【図9】図9はリモートマシン2の動作を説明するための図である。
【図10】図10はリモートマシン2の動作を説明するための図である。
【図11】図11は認証デバイス6の概略図である。
【図12】図12は認証デバイス6の動作を説明するための図である。
【図13】図13は認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に本割当てされたローカルマシン1のアドレスが登録されていない場合の動作例を示す図である。
【図14】図14は認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に本割当てされたローカルマシン1のアドレスが登録され、該リモートマシン2に仮割当てされたローカルマシン1のアドレスが登録されていない場合において、該本割当てされたローカルマシン1がウイルス感染によりネットワーク切断されている場合の動作例を示す図である。
【図15】図15は認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に本割当てされたローカルマシン1のアドレスが登録され、該リモートマシン2に仮割当てされたローカルマシン1のアドレスが登録されていない場合において、該本割当てされたローカルマシン1が停止している場合の動作例を示す図である。
【図16】図16は認証デバイス6に、当該認証デバイス6が接続されたリモートマシン2に仮割当てされたローカルマシン1のアドレスが登録されている場合において、該リモートマシン2に本割当てされたローカルマシン1が復旧した場合の動作例を示す図である。
【符号の説明】
【0122】
1…ローカルマシン、2…リモートマシン、3A、3B…ルータ、4A、4B…LAN、5…WAN、6…認証デバイス、7…管理サーバ、8…ファイルサーバ

【特許請求の範囲】
【請求項1】
ネットワークを介して互いに接続された、複数の情報処理装置、前記情報処理装置を管理する管理サーバ、および複数の端末を有する情報処理システムであって、
前記管理サーバは、
前記複数の情報処理装置各々の端末割当て状態を記憶する割当て状態記憶手段と、
割当て要求に対して、前記割当て状態記憶手段に記憶されている端末割当て状態が未割当て状態であることを示す情報処理装置のアドレスを、当該割当て要求送信元の端末に通知すると共に、前記割当て状態記憶手段に記憶されている当該情報処理装置の端末割当て状態を、未割当て状態から当該割当て要求送信元の端末に割当てるべきことを示す状態に更新する割当て管理手段と、を有し、
前記端末は、
少なくとも前記管理サーバのアドレスが記憶されたアドレス記憶手段と、
前記アドレス記憶手段に自端末に割当てるべき情報処理装置のアドレスが記憶されていない場合に、当該アドレス記憶手段に記憶されている前記管理サーバのアドレスに対して割当て要求を送信し、前記管理サーバから自端末に割当てるべき情報処理装置のアドレスを受信して、前記アドレス記憶手段に記憶する割当て要求手段と、
前記アドレス記憶手段に自端末に割当てるべき情報処理装置のアドレスが記憶されている場合に、当該情報処理装置のアドレスに対して当該端末の入力装置に入力された操作情報を送信し、当該情報処理装置から映像情報を受信して、当該端末の表示装置に表示する遠隔操作手段と、を有し、
前記情報処理装置は、
前記端末から操作情報を受信して、当該操作情報が示す操作内容に従って情報処理を行い、その結果を示す映像情報を当該端末に送信する遠隔操作受付手段を有すること
を特徴とする情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記情報処理装置は、
コンピュータウイルスの感染を検知して、前記管理サーバに通知し、自情報処理装置の前記ネットワークへの接続を遮断するネットワーク遮断手段をさらに有すること
を特徴とする情報処理システム。
【請求項3】
請求項2に記載の情報処理システムであって、
前記情報処理装置は、
前記情報処理装置本体の障害を検知して、前記管理サーバに通知する障害通知手段をさらに有し、
前記管理サーバは、
前記複数の情報処理装置各々の動作状態を記憶する動作状態記憶手段と、
ウイルス感染の通知に対して、前記動作状態記憶手段に記憶されている当該通知元の情報処理装置の動作状態をウイルス感染状態に変更すると共に、障害の通知に対して、前記動作状態記憶手段に記憶されている当該通知元の情報処理装置の動作状態を故障状態に変更する動作状態管理手段と、
状態問合せの通知に対して、前記割当て状態記憶手段を用いて当該通知元の端末に割当てるべき情報処理装置を特定し、前記動作状態記憶手段に記憶されている当該特定した情報処理装置の動作状態がウイルス感染状態である場合に、その旨を当該通知元の端末に通知し、前記特定した情報処理装置の動作状態が故障状態である場合に、その旨を当該通知元の端末に通知すると共に、前記割当て状態記憶手段に記憶されている端末割当て状態が未割当て状態であることを示す情報処理装置のアドレスを、当該通知元の端末に送信する問合せ応答手段と、をさらに有し、
前記端末は、
前記アドレス記憶手段に記憶されている、自端末に割当てられた情報処理装置のアドレスへのアクセスに対する応答がない場合に、当該アドレス記憶手段に記憶されている前記管理サーバのアドレスに対して状態問合せを通知し、前記管理サーバから自端末に仮割当てられた情報処理装置のアドレスを受信して、前記アドレス記憶手段に記憶する状態問合せ手段をさらに有し、
前記端末の遠隔操作手段は、
前記アドレス記憶手段に自端末に仮割当てられた情報処理装置のアドレスが記憶されている場合に、当該情報処理装置のアドレスに対して当該端末の入力装置に入力された操作情報を送信し、当該情報処理装置から映像情報を受信して、当該端末の表示装置に表示すること
を特徴とする情報処理システム。
【請求項4】
請求項3に記載の情報処理システムであって、
前記管理サーバの前記問合せ応答手段は、
状態問合せの通知に対して、前記特定した情報処理装置の動作状態が故障状態である場合に、その旨および情報処理装置の仮割当てを行うか否かの確認を当該通知元の端末に通知し、当該通知元の端末から情報処理装置の仮割当てを行う旨の通知を受信した場合にのみ、前記割当て状態記憶手段に記憶されている端末割当て状態が未割当て状態であることを示す情報処理装置のアドレスを、当該通知元の端末に送信し、
前記端末の状態問合せ手段は、
前記管理サーバから受信した情報処理装置の仮割当てを行うか否かの確認の通知を当該端末の表示装置に表示し、当該端末の入力装置に入力された仮割当ての有無を前記管理サーバに通知すること
を特徴とする情報処理システム。
【請求項5】
請求項3又は4に記載の情報処理システムであって、
前記情報処理装置の障害通知手段は、
前記情報処理装置本体が障害から復旧したことを前記管理サーバに通知し、
前記端末の状態問合せ手段は、
前記アドレス記憶手段に自端末に仮割当てるべき情報処理装置のアドレスが記憶されている場合に、自端末に割当てるべき情報処理装置の復旧の問合せを、当該アドレス記憶手段に記憶されている前記管理サーバのアドレスに対して通知し、前記管理サーバから復旧した旨の通知を受信した場合に、前記アドレス記憶手段から自端末に仮割当てるべき情報処理装置のアドレスを削除し、
前記管理サーバの状態管理手段は、
復旧の通知に対して、前記動作状態記憶手段に記憶されている当該通知元の情報処理装置の動作状態を正常状態に変更し、
前記管理サーバの前記問合せ応答手段は、
復旧問合せの通知に対して、前記特定した情報処理装置の動作状態が正常状態である場合に、その旨を当該通知元の端末に通知すること
を特徴とする情報処理システム。
【請求項6】
請求項1乃至5のいずれか一項に記載の情報処理システムであって、
前記アドレス記憶手段は、前記端末と通信可能に構成された、前記端末とは別個の装置であること
を特徴とする情報処理システム。
【請求項7】
端末に割当てられる情報処理装置を管理する管理サーバであって、
複数の情報処理装置各々の端末割当て状態を記憶する割当て状態記憶手段と、
割当て要求に対して、前記割当て状態記憶手段に記憶されている端末割当て状態が未割当て状態であることを示す情報処理装置のアドレスを、当該割当て要求送信元の端末に通知すると共に、前記割当て状態記憶手段に記憶されている当該情報処理装置の端末割当て状態を、未割当て状態から当該割当て要求送信元の端末に割当てるべきことを示す状態に更新する割当て管理手段と、を有すること
を特徴とする管理サーバ。
【請求項8】
端末に割当てられる情報処理装置を管理する管理サーバであって、
前記複数の情報処理装置各々の動作状態を記憶する動作状態記憶手段と、
ウイルス感染の通知に対して、前記動作状態記憶手段に記憶されている当該通知元の情報処理装置の動作状態をウイルス感染状態に変更すると共に、障害の通知に対して、前記動作状態記憶手段に記憶されている当該通知元の情報処理装置の動作状態を故障状態に変更する動作状態管理手段と、
状態問合せの通知に対して、前記割当て状態記憶手段を用いて当該通知元の端末に割当てるべき情報処理装置を特定し、前記動作状態記憶手段に記憶されている当該特定した情報処理装置の動作状態がウイルス感染状態である場合に、その旨を当該通知元の端末に通知し、前記特定した情報処理装置の動作状態が故障状態である場合に、その旨を当該通知元の端末に通知すると共に、前記割当て状態記憶手段に記憶されている端末割当て状態が未割当て状態であることを示す情報処理装置のアドレスを、当該通知元の端末に送信する問合せ応答手段と、を有すること
を特徴とする管理サーバ。
【請求項9】
管理サーバによって割当てられた情報処理装置を遠隔操作する端末であって、
少なくとも前記管理サーバのアドレスが記憶されたアドレス記憶手段に自端末に割当てるべき情報処理装置のアドレスが記憶されていない場合に、当該アドレス記憶手段に記憶されている前記管理サーバのアドレスに対して割当て要求を送信し、前記管理サーバから自端末に割当てるべき情報処理装置のアドレスを受信して、前記アドレス記憶手段に記憶する割当て要求手段と、
前記アドレス記憶手段に自端末に割当てるべき情報処理装置のアドレスが記憶されている場合に、当該情報処理装置のアドレスに対して当該端末の入力装置に入力された操作情報を送信し、当該情報処理装置から映像情報を受信して、当該端末の表示装置に表示する遠隔操作手段と、を有すること
を特徴とする端末。
【請求項10】
管理サーバによって端末に割当てられる情報処理装置であって、
前記端末から操作情報を受信して、当該操作情報が示す操作内容に従って情報処理を行い、その結果を示す映像情報を当該端末に送信する遠隔操作受付手段と、
コンピュータウイルスの感染を検知して、前記管理サーバに通知し、自情報処理装置の前記ネットワークへの接続を遮断するネットワーク遮断手段と、を有すること
を特徴とする情報処理装置。
【請求項11】
ネットワークを介して互いに接続された、複数の情報処理装置、前記情報処理装置を管理する管理サーバ、および複数の端末を有する情報処理システムにおける、端末への情報処理装置の割当て方法であって、
前記管理サーバが、
割当て要求に対して、前記複数の情報処理装置のうち、端末割当て状態が未割当て状態である情報処理装置のアドレスを、当該割当て要求送信元の端末に通知すると共に、当該情報処理装置の端末割当て状態を、未割当て状態から当該割当て要求送信元の端末に割当てられたことを示す状態に更新し、
前記端末が、
自端末に割当てるべき情報処理装置のアドレスを記憶していない場合に、前記管理サーバに対して割当て要求を送信し、前記管理サーバから自端末に割当てるべき情報処理装置のアドレスを受信して記憶し、
自端末に割当てるべき情報処理装置のアドレスが記憶されている場合に、当該情報処理装置のアドレスに対して当該端末の入力装置に入力された操作情報を送信し、当該情報処理装置から映像情報を受信して、当該端末の表示装置に表示し、
前記情報処理装置が、
前記端末から操作情報を受信して、当該操作情報が示す操作内容に従って情報処理を行い、その結果を示す映像情報を当該端末に送信すること
を特徴とする情報処理装置の割当て方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2007−133666(P2007−133666A)
【公開日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2005−326218(P2005−326218)
【出願日】平成17年11月10日(2005.11.10)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】