(57)【要約】【課題】  無線ＬＡＮや携帯電話経由などの通信の瞬断が発生しやすい環境にあっても、有線ＬＡＮで接続している環境により近い作業継続性を提供することを本発明の課題とする。【解決手段】  通信の瞬断が発生した場合において、プログラムを終了させることなく、自動的に再接続を行う。接続を受け付ける側では、新規セッションを生成するが、既存のセッションと接続要求元が同じであると判定した場合に、既存のセッションから通信切断前の状態を引き継ぎ、自動的に認証やログイン処理を実行する。【選択図】  図１
2006338227.tif 000002
【特許請求の範囲】
【請求項１】
無線通信を含むネットワークを介した計算機の認証方法であって、
第一の計算機から前記第一の計算機に関連する情報に前記第一の計算機で作成した乱数を付加した第一の認証情報と、
ユーザから受け付けた前記第一の計算機を使用しているユーザの情報を含む第二の認証情報とを第二の計算機へ送付し、
前記第一の認証情報に含まれる前記第一の計算機に関連する情報と前記第二の認証情報に含まれるユーザの情報を前記第二の計算機に記憶している前記第一の計算機に関連する情報、ユーザの情報と比較し、
前記第二の計算機で第一の計算機を認証することを特徴とする計算機の認証方法。
【請求項２】
請求項１の計算機の認証方法において、
第一の計算機は第一の認証情報と第二の認証情報を第二の計算機へ送付する前に第一の計算機に記憶することを特徴とする計算機の認証方法。
【請求項３】
請求項２の計算機の認証方法において、
前記第一の認証情報に含まれる前記第一の計算機に関連する情報と前記第二の計算機に記憶されている前記第一の計算機に関連する情報が一致し、
前記第二の認証情報に含まれるユーザの情報と前記第二の計算機に記憶されているユーザの情報が一致したときに、
前記第一の認証情報と前記第二の認証情報を第二の計算機に記憶することを特徴とする計算機の認証方法。
【請求項４】
請求項２の計算機の認証方法において、
第二の計算機により認証された第一の計算機との接続が接続終了要求によらず切断されたとき、
前記第一の計算機は記憶している前記第一の認証情報と前記第二の認証情報を前記第二の計算機へ送付し、
第二の計算機は受け取った前記第一の認証情報、第二の認証情報を第二の計算機が記憶する第一の認証情報、第二の認証情報と比較し、
前記第二の計算機で第一の計算機を認証することを特徴とする計算機の認証方法。
【請求項５】
無線通信を含むネットワークを介した計算機の認証システムであって、
当該計算機に関連する情報に作成した乱数を付加した第一の認証情報と
ユーザから受け付けた当該計算機を使用しているユーザの情報を含む第二の認証情報とを生成し認証依頼を送付する要求計算機と、
前記第一の認証情報と第二の認証情報を受け付け、前記第一の認証情報に含まれる要求元計算機に関連する情報と前記第二の認証情報に含まれるユーザの情報を記憶している要求元計算機に関連する情報、ユーザの情報と比較し、認証する認証計算機とを含むことを特徴とする計算機の認証システム。
【請求項６】
無線通信を含むネットワークを介した計算機でのアプリケーションへのログイン方法であって、
ユーザのアプリケーションを指定する指示を前記ネットワーク経由で受け付け、
前記計算機に格納されたアプリケーションと前記アプリケーションに対応付けられたログイン情報のテーブルを参照し、
前記ユーザが指定したアプリケーションに対応するログイン情報を用いて前記ユーザの指定したアプリケーションにログインすることを特徴とするアプリケーションへのログイン方法。
【請求項７】
請求項６のアプリケーションログイン方法において、
前記ユーザが指定したアプリケーションに対応する情報が前記テーブルに無いとき、
ユーザからのログイン情報の入力を受け付け、
前記入力されたログイン情報を前記テーブルに登録することを特徴とするアプリケーションへのログイン方法。
【請求項８】
無線通信を含むネットワークを介した計算機でのアプリケーションへのログインシステムであって、
前記アプリケーションへのログインを前記ネットワーク経由で要求するモバイル端末と、
前記モバイル端末から前記ログイン要求を受け付けるクライアント端末と、
前記アプリケーションに対応したログイン情報を前記モバイル端末から送られるデータから抽出し、ログイン情報テーブルに格納するログイン情報抽出処理部と、
前記ログイン情報テーブルから前記アプリケーションに対応したログイン情報を読み出し、前記アプリケーションへのログイン処理を行うログイン処理部とを備えることを特徴とするアプリケーションへのログインシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイル端末から、ネットワークと業務用クライアント端末を介して、業務サーバに接続し、リモートでの業務遂行を支援するためのシステムおよび方法に関する。
【背景技術】
【０００２】
近年企業活動の中で使用される端末でモバイル端末の占める割合は年々増加しており、無線ＬＡＮ（Local Area Network）や携帯電話などを利用したネットワークアクセスが増加している。これらのネットワークは、有線ＬＡＮと比較して障害物などによる瞬断が発生しやすい。特に移動中の車内などにおいては顕著である。
【０００３】
従来より、複数のコンピュータ間で通信を行うシステムは多く、通信障害を検知した場合の処理も多種多様であるが、一定間隔で幾度か通信リトライを行い、通信リトライも失敗すると、プログラムを終了するのが一般的なエラー処理の方法である。
【０００４】
また、複数のコンピュータをネットワークで接続し、一方のコンピュータからネットワークを経由して他方のコンピュータを操作するリモート操作システムが、一般に広く知られている。操作端末側で入力されたキーボード・マウスイベントは、ネットワークを経由して被操作端末側に送信され、被操作端末側で実際に実行される。多くのアプリケーションでは、ディスプレイ上に実行結果が表示されるが、このディスプレイ上の画面情報を被操作端末から操作端末側に送信し、操作端末側のディスプレイ上に表示することにより、実行結果を操作端末側で確認することができる。例えば特開２００２−９１９１４号公報。
【０００５】
【特許文献１】特開２００２−９１９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
無線ＬＡＮや携帯電話経由などの通信の瞬断が発生しやすい環境にあっても、有線ＬＡＮで接続している環境により近い作業継続性を提供することを本発明の課題とする。
【課題を解決するための手段】
【０００７】
通信の瞬断が発生した場合において、プログラムを終了させることなく、自動的に再接続を行う。接続を受け付ける側では、新規セッションを生成するが、既存のセッションと接続要求元が同じであると判定した場合に、既存のセッションから通信切断前の状態を引き継ぎ、自動的に認証やログイン処理を実行する。
【発明の効果】
【０００８】
遠隔地や移動中であっても、自席で作業するのと同一の作業をモバイル端末から実行することが可能であり、無線ＬＡＮや携帯電話経由などの通信の瞬断が発生しやすい環境にあっても、有線ＬＡＮで接続している環境により近い作業継続性を提供することが可能となる。また、通信の中断による利用者の手戻りがなくなり作業効率が向上する。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【００１０】
図１は、本発明における一実施事例であるリモート業務支援システムの外観を示す図である。モバイル端末１０１は、無線ＬＡＮカードあるいは携帯通信カード１０２などを接続して、通信回線１０３を介してクライアント端末１０４と通信を行う。クライアント端末１０４はネットワーク１０５を介して業務サーバ１０６と接続されている。
【００１１】
実施例では、通信回線１０３は無線、ネットワーク１０５は有線であることを想定しているが、実際のシステムにおいてはこの限りではない。
【００１２】
モバイル端末１０１のディスプレイには、クライアント端末１０４のディスプレイに表示される画面と同一画面の情報を表示し、キーボード・マウス入力を、モバイル端末１０１からクライアント端末１０４に送信し、クライアント端末１０４に対する入力として実行する。クライアント端末１０４は、モバイル端末１０１からのキーボード・マウス入力により、メールサーバ、Ｗｅｂサーバ、ＤＢサーバあるいは各種の業務アプリケーションサーバ１０６に接続し、業務サーバ１０６から受け取った情報を含む画面情報をモバイル端末１０１へ送信し、モバイル端末１０１で画面情報を基にクライアント端末の画面を表示する。上記の構成により、モバイル端末１０１からクライアント端末１０４で行う業務を代行するように構成することができる。
【００１３】
上記の構成においては、クライアント端末１０４のディスプレイ、キーボード、マウスはモバイル端末１０１で代行可能なため、クライアント端末１０４側にはディスプレイ、キーボード、マウスがないブレードマシンのような計算機を用いる場合はセキュリティを向上させることができる。
【００１４】
また、モバイル端末１０１には、業務アプリケーションや業務データなどを格納するハードディスク装置は必要ないため、紛失や盗難にあった場合でも、データの流出がなく、セキュリティの高いシステムを構築することが可能である。
【００１５】
さらには、モバイル端末１０１に対して、認証データ（ユーザＩＤ、パスワードあるいは証書データなど）を格納した外部装置（可搬メモリなど）を接続するように構成することも可能である。この場合、外部接続装置を接続することによりどのモバイル端末１０１からでも、外部装置をクライアント端末１０４へ接続して業務を遂行することが可能である。
【００１６】
図２は、リモート業務支援システムのおおまかなプログラム構成を示した図である。
【００１７】
モバイル端末１０１は、操作制御プログラム２０１が搭載されており、キーボードやマウス入力を制御してクライアント端末１０４へ送信し、画面情報を受信してディスプレイ上に表示する。
【００１８】
クライアント端末１０４には、被操作制御プログラム２０２と業務アプリケーションクライアント２０３が搭載されている。被操作制御プログラム２０２は、操作制御プログラム２０１から、キーボードやマウス入力を受取って実行し、画面情報をモバイル端末１０１へ送信する。業務アプリケーションクライアント２０３は、クライアント端末１０４上で実行されるアプリケーションであり、業務サーバ１０６に搭載されている業務アプリケーションサーバ２０４に接続して業務を実行するためのソフトウェアである。
【００１９】
図３は、本実施例のモバイル端末とクライアント端末のモジュール構成と、モバイル端末からキーボード・マウス入力を受け付けてクライアント端末のディスプレイに表示されるまでの制御の流れを示す図である。
【００２０】
モバイル端末１０１の操作制御プログラム２０１が起動されると、通信制御部２０１Ａからクライアント端末１０４の通信制御部２０２Ａへ接続要求を行う（３０１）。応答を受けて（３０２）、通信制御部２０１Ａは、マシン認証データを生成し、認証情報格納部２０１Ｃへ格納する（３０３）とともに、通信制御部２０１Ａからクライアント端末１０４の通信制御部２０２Ａへ送信する（３０１）。クライアント端末１０４の通信制御部２０２Ａは、許可マシン情報格納部からマシン情報を読み出し（３０４）、接続要求を行ったモバイル端末１０１が許可されているマシンであるか否かを判定する。許可されたマシンである場合に、セッション情報格納部２０２Ｄへマシン認証データを保存し（３０５）、応答を返す（３０２）。次にキーボードから入力されるユーザＩＤとパスワードあるいは、認証データを格納した外部装置の接続を受けて（３０６）、通信制御部２０１Ａは、ユーザＩＤとパスワードあるいは証書データを認証情報格納部２０１Ｃへ格納する（３０３）とともに、ユーザ認証データを生成し、通信制御部２０１Ａからクライアント端末１０４の通信制御部２０２Ａへ送信する（３０１）。クライアント端末１０４の通信制御部２０２Ａは、許可ユーザ情報格納部からユーザ情報を読み出し（３０４）、接続要求を行ったモバイル端末１０１の利用者が許可されているユーザであるか否かを判定する。許可されたユーザである場合に、セッション情報格納部２０２Ｄへユーザ認証データを保存し、（３０５）画面情報をモバイル端末１０１に送信する。この処理については、図４で説明する。
【００２１】
モバイル端末１０１のキーボード１０１Ｂから入力される情報は、キーボードフック制御部２０１Ｃで捕捉し、３０１の経路で基本制御部２０１Ｂから通信制御部２０１Ａを経由してクライアント端末１０３に送信する。同様に、マウス１０１Ｃから入力される情報は、マウスフック制御部２０１Eで捕捉し、３０２の経路で基本制御部２０１Ｂから通信制御部２０１Ａを経由してクライアント端末１０４に送信する。
【００２２】
クライアント端末１０４では、３０８の経路で通信制御部２０２Ａを介して基本制御部２０２Ｂで受信した制御情報をキーボード・マウスイベントとしてオペレーティングシステムに通知することで、最終的にアプリケーション２０３に入力される。アプリケーション２０３は、キーボード・マウスイベントを受け付けて、オペレーティングシステムに描画命令を出し（３０９）、オペレーティングシステムがディスプレイ（１０４Ａ）上に画面を表示する（３１０）。
【００２３】
このとき、表示された画面がログイン画面である場合は、３０８の経路で通信制御部２０２Ａを介して基本制御部２０２Ｂで受信した制御情報をログイン抽出処理部２０２Ｂ−２で捕捉し（３１１）、自動ログイン情報格納部２０２Ｅへ保存する（３１２）。
【００２４】
図４は、本実施例のモバイル端末とクライアント端末のモジュール構成と、クライアント端末のディスプレイに表示された画面情報をモバイル端末のディスプレイ上に表示されるまでの制御の流れを示す図である。
【００２５】
クライアント端末１０４のディスプレイ１０４Ａ上に表示される情報は、ディスプレイフック制御部２０２Ｆで捕捉し、４０２の経路で基本制御部２０２Ｂから通信制御部２０２Ａを経由してモバイル端末１０１に送信する。
【００２６】
このとき、表示された画面がログイン画面である場合は、ログイン処理部２０２Ｂ−１が、自動ログイン情報格納部２０２Ｅからログイン情報を読み出し（４０３）、キーボード・マウスイベントとしてオペレーティングシステムに通知し（４０４）、アプリケーション２０３に入力される（４０５）。アプリケーション２０３は、キーボード・マウスイベントを受け付けて、オペレーティングシステムにログイン処理後の画面を表示するための描画命令を出し（４０６）、オペレーティングシステムがディスプレイ（１０４Ａ）上に画面を表示し（４０１）、表示された情報を、ディスプレイフック制御部２０２Ｆで捕捉し、４０２の経路で基本制御部２０２Ｂから通信制御部２０２Ａを経由してモバイル端末１０１に送信する。
【００２７】
モバイル端末１０１では、４０７の経路で通信制御部２０１Ａを介して基本制御部２０１Ｂで受信した制御情報を表示制御部２０１Ｅを介して描画イベントとしてオペレーティングシステムに通知することで、最終的にディスプレイ１０１Ａ上に表示される。
【００２８】
図５は、モバイル端末で生成し、クライアント端末へ接続開始時に送信するマシン認証データを示す図である。マシン認証データは、プロセスＩＤ５０１、ＩＰアドレス５０２、接続日時５０３、コンピュータ名５０４、ログオンユーザ名５０５、乱数５０６から構成される。乱数５０６は時刻情報をもとにして乱数発生器によりランダムに生成される数値である。この乱数を付加することにより、ＩＰアドレスやコンピュータ名ログオンユーザ名が全く一致するモバイル端末が複数存在し、それらのモバイル端末が同時に接続を開始しても、区別することができるようになる。
【００２９】
マシン認証データ、ユーザ認証データは接続開始時にモバイル端末の認証情報格納部２０１Cに保存され、接続が途切れたときに再接続を行う処理の中で使用される。また、クライアント端末でもモバイル端末から受信したマシン認証データ、ユーザ認証データをセッション情報格納部に保存し、接続が途切れたときにモバイル端末から再接続要求があった場合に再接続処理の中で使用する。
【００３０】
図６は、モバイル端末で生成し、クライアント端末へ接続開始時に送信するユーザ認証データを示す図である。ユーザ認証データは、ユーザＩＤとパスワードによる認証の場合は、最初の接続時にユーザＩＤとパスワードを入力する画面を表示し、操作者が入力したデータから生成する。この時、ユーザ認証データは、ユーザＩＤ６０１とパスワード６０２で構成される。これらの情報は、操作制御プログラムの終了までメモリ内に保持し、被操作端末へのユーザ認証要求時にスクランブル後に暗号化した状態で送信する。このため、ユーザ認証データは接続毎に異なるデータとなり、成りすましを防止する。電子証書認証の場合は、認証デバイスなどから証書データを読み込み、署名する。この時、ユーザ認証データは、証書データ６０５と署名６０６で構成される。この場合、署名６０６により、ユーザ認証データは接続毎に異なるデータとなり、成りすましを防止する。
【００３１】
また、図５のマシン認証データと図６のユーザ認証データの組合せで認証を行うことにより、通信瞬断による再接続時に、それ以前に接続していたモバイル端末とユーザからの再接続要求であることを識別できる。
【００３２】
図７は、クライアント端末１０４の許可マシン許可ユーザ情報格納部２０２Cに格納されている許可マシン管理テーブルと許可ユーザ管理テーブルを示す図である。許可マシン管理テーブルは、ＩＰアドレス７０１から構成されている。クライアント端末側では、予めリモート操作を許可するマシンを定義しておくことができ、予めリモート操作を許可されたマシン情報が、許可マシン管理テーブルで管理される。本実施例ではＩＰアドレスとしているが、コンピュータ名やマシンを一意に識別可能なＩＤなどをキーとすることもできる。またこれらの識別情報の組合せとすることも可能である。
【００３３】
許可ユーザ管理テーブルは、ユーザＩＤ７０２とパスワード７０３から構成され、それぞれ登録内容は、スクランブル後暗号化された状態で管理されている。クライアント端末側では、予めリモート操作を許可するユーザを定義しておくことができ、予めリモート操作を許可されたユーザ情報が、許可ユーザ管理テーブルで管理される。本実施例ではユーザＩＤとパスワードの組合せとしているが、証書などの認証データとすることもできる。
【００３４】
モバイル端末からの認証時は、送信されたマシン認証データが許可マシン管理テーブルに登録されているマシン情報と一致し、送信されたユーザ認証データ許可ユーザ管理テーブルに登録されているユーザ情報と一致する場合にのみリモート操作が実行可能となる。
【００３５】
許可マシン管理テーブルに登録されているマシン情報が１件もない場合は、すべてのマシンからの接続が許可される。同様に、許可ユーザ管理テーブルに登録されているユーザ情報が１件もない場合は、すべてのユーザからの接続が許可される。
【００３６】
図８は、クライアント端末側で管理されるセッション管理テーブルを示す図である。セッション管理テーブルは、セッション生成時にセッション毎に作成され、プロセスＩＤ８０１、ＩＰアドレス８０２、接続日時８０３、コンピュータ名８０４、ログオンユーザ名８０５、乱数８０６、ユーザＩＤ８０７、パスワード８０８、自動ログイン情報テーブルポインタ８０９から構成される。
【００３７】
本実施例では、セッションが維持されている期間に限り、自動ログインを有効とするためセッション管理テーブルで自動ログイン情報テーブルポインタを管理するようにしているが、自動ログイン情報テーブルポインタをセッション管理テーブルに持たないようにし、セッションが破棄された後の再接続時も自動ログインを有効とするように設計することもできる。
【００３８】
図９は、クライアント端末側で管理される自動ログインウィンドウのサーチキーワード登録テーブルと、自動ログイン情報テーブルを示す図である。自動ログインウィンドウのサーチキーワード登録テーブルには、ログインウィンドウを判別するためのキーワードを登録する。アクティブウィンドウのタイトルの一部が、上記サーチキーワードと一致する場合に、そのアクティブウィンドウは、ログイン情報を入力するためのウィンドウ、あるいはユーザを認証するためのウィンドウであると判定し、自動ログイン情報テーブルに登録済みのウィンドウタイトルと一致すれば、登録済みの入力データをキーボードイベントあるいはマウスイベントとしてオペレーティングシステムに対して入力する。自動ログイン情報テーブルに未登録のウィンドウタイトルであった場合は、ウィンドウタイトルを登録し、そのウィンドウに対するモバイル端末側から送信されるキーボードやマウスイベントを保存する。
【００３９】
自動ログインデータテーブルは、ウィンドウタイトル９０１、参照カウンタ９０２、入力データへのポインタ９０３、入力データから構成される。入力データは、キーボード・マウス種別、入力データ、データポインタから構成される。本実施例ではウィンドウタイトルをアプリケーションを識別する情報として用いた例を示しているが、アプリケーションファイル名称やログインする業務サーバ名称を用いても良い。
【００４０】
実施例では、「Groupmax ログイン」画面に対しては、キーボードイベント９０４Ａである「ABCDEF[Tab]98765[Enter]」９０４Ｂが入力されていて、この段階では、２回自動ログイン処理が行われたことがわかる。「Asset Information Manager Login」画面に対しては、キーボードイベント９０５Ａである「ABCDEF」９０５Ｂ、マウスイベント９０５Ｄである、「（ｘ,ｙ）座標の左クリック」９０５Ｅ、キーボードイベント９０５Ｇである、「98765」９０５Ｈ、マウスイベント９０５Ｊである、「（ｘ,ｙ）座標の左クリック」９０５Ｋが入力されていて、この段階では、１回自動ログイン処理が行われたことがわかる。
【００４１】
クライアント端末で表示されるアクティブウィンドウの監視、ログイン画面に入力されるキーボード・マウスイベントの補足、および自動ログイン処理の流れについては、後述の図１２で説明する。
【００４２】
図１０−１から図１０−３を用いて、モバイル端末の操作制御プログラムとクライアント端末の被操作制御プログラム間で実行する処理および通信の流れについて説明する。
【００４３】
操作制御プログラムから被操作制御プログラムに対して接続要求を行う（１００１）。接続要求を受け付けた被操作制御プログラムは、セッションを生成（１００２）し、操作制御プログラムに対して応答を返し（１００４）、ディスプレイ上に黒画面を表示する（１００３）。黒画面は、クライアント端末側に表示した内容を第三者に見られることによる情報漏洩を防ぐ目的で自動的に切り替え表示するものである。これにより、クライアント端末の画面情報は、モバイル端末のディスプレイにのみ表示される。
【００４４】
操作制御プログラムは、マシン認証データを生成し（１００５）、生成したデータをモバイル端末内に保存し（１００６）、暗号化し（１００７）た後、被操作制御プログラムに送信する（１００８）。被操作制御プログラムは、マシン認証データを復号し（１００９）、許可マシンであるかどうか検証し（１０１０）、許可マシンであれば、マシン認証データをセッション管理テーブルに保存し（１０１１）、応答を返す（１０１２）。
【００４５】
次に、操作制御プログラムは、証書データがある場合は、証書データから、ない場合はユーザＩＤとパスワードの入力画面を表示して、入力された情報を受け付けて（１０１３）、受け付けたユーザ情報をモバイル端末内に保存し（１０１４）、ユーザ認証データを生成し（１０１５）、スクランブル後に暗号化し（１０１６）た後、被操作制御プログラムに送信する（１０１７）。被操作制御プログラムは、ユーザ認証データを復号し（１０１８）、許可ユーザであるかどうか検証し（１０１９）、許可ユーザであれば、ユーザ認証データをセッション管理テーブルに保存し（１０２０）、全画面の描画データを取得し（１０２１）、全画面の描画データを送信する（１０２２）。操作制御プログラムは、全画面の描画データをディスプレイ上に表示し（１０２３）、描画完了通知を送信する（１０２４）。
【００４６】
また、操作制御プログラムは、キーボード・マウスイベントを捕捉し（１０２５）、暗号化し（１０２６）た後、被操作制御プログラムに対して、操作制御情報を送信する（１０２７）。被操作制御プログラムは、受信した操作制御情報を複合化し（１０２８）、操作を実行する（１０２９）。実際には、キーボードイベント、マウスイベントとしてオペレーティングシステムにイベントを発行することで画面が表示される（１０３０）。被操作制御プログラムは、変更部分の描画データを取得し（１０３１）、変更部分の描画データを送信する（１０３２）。操作制御プログラムは、受信した変更部分の描画データをディスプレイ上に表示し（１０３３）、描画完了通知を送信する。以下、キーボード・マウスイベントの捕捉以降の処理は必要に応じて繰り返される。
【００４７】
ここから、通信障害が発生した場合の再接続処理について説明する。
【００４８】
操作制御プログラムでは、通信障害を検知し（１０３４）、再接続処理を開始し（１０３５）、接続要求を送信する（１０３６）。再接続処理では、一定時間経過後あるいは回線状態が良好となったことを調査するなどして通信を再開するタイミングを決定し、被操作制御プログラムに対し、接続要求するようにしてもよい。被操作制御プログラムでは、セッションを生成し（１０３７）、操作制御プログラムに応答を返し（１０３９）、ディスプレイに黒画面を表示する（１０３８）。操作制御プログラムは、保存しておいたマシン認証データを認証情報格納部２０２Cから読み出し（１０４０）、暗号化し（１０４１）た後、マシン認証データを送信する（１０４２）。被操作制御プログラムは、マシン認証データを複合化し（１０４３）、セッション情報格納部２０２Dに格納してあったマシン認証データを用いて受け取ったマシン認証データを検証する（１０４４）。このとき、同じマシン認証データを持つセッションが存在するため、既存のセッションの情報を新しいセッションに引き継ぎ（１０４５）、既存のセッションを破棄し（１０４６）、応答を返す（１０４７）。
【００４９】
続けて、操作制御プログラムは、保存しておいたユーザ認証データを認証情報格納部２０２Cから読み出し（１０４８）、スクランブルと暗号化し（１０４９）た後、ユーザ認証データを送信する（１０５０）。このとき、操作者は証書データの有無に関わらず、認証のための入力を行わなくても良い。被操作制御プログラムは、ユーザ認証データを複合化し（１０５１）、セッション情報格納部２０２Dのセッション管理テーブルに保存されているユーザ情報と一致するか検証する（１０５２）。このとき、ログイン画面が表示されていると判定した場合は、自動ログイン処理を行う（１０５３）。その後、全画面の描画データを取得し（１０５４）、全画面の描画データを送信する（１０５５）。操作制御プログラムは、受信した全画面の描画データをディスプレイ上に表示し（１０５６）、描画完了通知を送信する（１０５７）。被操作制御プログラムは、変更部分の描画データを取得し（１０５８）、変更部分の描画データを送信する（１０５９）。操作制御プログラムは、受信した変更部分の描画データをディスプレイ上に表示し（１０６０）、描画完了通知を送信する（１０６１）。
【００５０】
以降、変更画面が表示されれば、変更部分の画面情報を、キーボード・マウスイベントが捕捉されれば、操作制御情報を送受信する。また、ログイン画面が表示された場合は、自動ログイン処理を実行する。
【００５１】
これらの処理は、操作制御プログラムからの終了処理開始（１０６２）によって、終了処理に移行する。操作制御プログラムから被操作制御プログラムに対して接続終了通知を送信する（１０６３）。被操作制御プログラムは、接続終了通知を受取ると、応答を返し（１０６８）、終了処理を行う。ディスプレイを黒画面からロック画面に切り替え（１０６４）、自動ログイン情報をクリアし（１０６５）、セッション管理テーブルを削除して（１０６６）、セッションを破棄する（１０６７）。操作制御プログラムは、被操作制御プログラムからの応答を受け、保存していたマシン認証データとユーザ認証データをクリアし（１０６９）プログラムを終了する（１０７０）。
【００５２】
以上が、モバイル端末とクライアント端末間の送受信処理を含めたおおまかな流れである。
【００５３】
図１１−１から図１１−４は、クライアント端末の被操作制御プログラムの通信制御部で実行する処理の流れを示すフローチャートである。
【００５４】
通信制御部は、開始されると、操作端末からの要求待ちで待機する（１１０１）。
【００５５】
操作端末からの要求を受け付けて（１１０２）処理を開始する。要求が接続要求である場合（１１０３−ＹＥＳ）、セッションを生成（１１０４）し、ロック画面抑止フラグをＯＦＦにし（１１０５）、黒画面を表示し（１１０６）、応答を送信し（１１０７）、待機状態に戻る。要求が終了要求である場合（１１０８−ＹＥＳ）、応答を送信し（１１０９）、ロック画面抑止フラグをＯＦＦにし（１１１０）、後述するセッション破棄処理を行い（１１１１）、待機状態に戻る。
【００５６】
要求が操作制御情報である場合（１１１２−ＹＥＳ）、操作データを復号し（１１１３）、操作イベントを実行（実際には、キーボードイベント、マウスイベントとしてオペレーティングシステムにイベントを発行する）し（１１１４）、待機状態に戻る。要求が描画完了である場合（１１１５−ＹＥＳ）、描画データがあれば（１１１６−ＹＥＳ）、変更部分の描画データを取得し（１１１７）、変更部分の描画データを加工（一般的に、描画データはデータ量が大きくなるためデータ転送量を削減するため）し（１１１８）、変更部分の描画データを送信し（１１１９）、待機状態に戻る。要求がマシン認証の場合（１１２１−ＹＥＳ）、マシン認証データを復号化し（１１２３）、既存セッションがなく（１１２４−ＮＯ）、既存セッションがあってもマシン認証データが一致しなければ（１１２５−ＮＯ）、図７の許可マシン管理テーブルを参照し、許可マシンに登録済みのマシンか否かを判定し（１１２６）、許可マシンでなければ（１１２６−ＮＯ）、マシン認証エラーを送信し（１１２８）、待機状態に戻る。許可マシンであれば（１１２６−ＹＥＳ）、マシン認証データをセッション管理テーブルに保存し（１１２７）、待機状態に戻る。マシン認証データが既存セッションのマシン情報と一致した場合（１１２５−ＹＥＳ）、既存セッションの保持データを新規セッションの管理テーブルに保存し（１１２９）、ロック画面抑止フラグをＯＮにし（１１３０）、既存セッションを破棄セッションに指定して（１１３１）、セッション破棄処理を実行し（１１３２）、待機状態に戻る。
【００５７】
本実施例では、複数の操作端末からの操作を同時に実行するため、複数のセッションを保持するように設計としているが、リモート操作に排他をかけるため、同時に複数のセッションを保持しないように設計することも可能である。その場合は、セッション保持データが一致しない場合（１１２５−ＮＯ）においては、既存セッションを破棄する。
【００５８】
ロック画面とは、ユーザＩＤ・パスワード入力画面である。リモート操作の終了時は、ユーザＩＤ・パスワードを知らない第三者がクライアント端末を操作できないようにロック画面を表示する。セッション管理テーブルの保持データと操作端末から送られるマシン認証データとユーザ認証データの双方が一致する場合は、それまでに接続していた操作端末からの要求であるため、ロック画面は表示しない。
【００５９】
要求がユーザ認証でない場合（１１３３−ＮＯ）は、これまでの処理もあわせて、期待する要求内容ではないため、要求内容エラーを送信し（１１３４）、待機状態に戻る。
【００６０】
要求がユーザ認証の場合（１１３３−ＹＥＳ）は、ユーザ認証データを復号化し（１１３５）、ロック画面抑止フラグがＯＮであれば（１１３６−ＹＥＳ）、ユーザ認証データが、既存セッションからセッション管理テーブルに引き継いでいるユーザ情報と一致するか判定し（１１３７）、一致しない場合（１１３７−ＮＯ）は、ユーザ認証エラーを送信し（１１４２）、待機状態に戻る。一致する場合（１１３７−ＹＥＳ）と、ロック画面抑止フラグがＯＮでなく（１１３６−ＮＯ）、ユーザ認証データのユーザ情報が図７の許可ユーザ管理テーブルを参照し、許可ユーザとして登録されている場合（１１３８−ＹＥＳ）は、全画面の描画データを取得し（１１３９）、全画面の描画データを加工（一般的に、描画データはデータ量が大きくなるためデータ転送量を削減するため）し（１１４０）、全画面の描画データを送信し（１１４１）、待機状態に戻る。ユーザ認証データのユーザ情報が、許可ユーザでない（１１３８−ＮＯ）の場合は、ユーザ認証エラーを送信（１１４２）し、待機状態に戻る。
【００６１】
次に、セッション破棄処理について説明する。ロック画面抑止フラグがＯＮでなければ（１１４３−ＮＯ）、黒画面を解除し（１１４４）、ロック画面を表示し（１１４５）、自動ログイン情報をＮＵＬＬクリアして消去する。ロック画面抑止フラグがＯＮの場合（１１４３−ＹＥＳ）は、上記のステップを行わない。セッション管理テーブルなどの保持データをＮＵＬＬクリアして消去し（１１４７）、セッションを削除し（１１４８）、セッションの破棄処理を終了してコール元に戻る。
【００６２】
本実施例では、自動ログイン情報は、瞬断時の再接続の場合を除き、セキュリティの観点からリモート接続の終了時に削除するように設計しているが、リモート操作の利便性の観点から常に保持するように設計することもできる。
【００６３】
図１２は、クライアント端末の被操作制御プログラムの基本制御部で実行する処理の流れを示すフローチャートである。
【００６４】
基本制御部は、開始されると、イベントの受信待ちで待機する（１２０１）。
【００６５】
ディスプレイドライバフック制御部からの描画イベントと操作端末プログラムから通信制御部を介して受取るキーボードイベント、マウスイベントを受信して（１２０２）、処理を開始する。受信イベントがウィンドウ描画である場合（１２０３−ＹＥＳ）、キーボード・マウスイベントの監視フラグがＯＮであれば（１２０４−ＹＥＳ）、キーボード・マウスイベントの監視フラグをＯＦＦにする（１２０５）。続いて、ウィンドウタイトルを取得し（１２０６）、図９の自動ログインのサーチキーワード登録テーブルを参照し、ウィンドウタイトルが自動ログインのサーチキーワードを含む場合（１２０７−ＹＥＳ）、図９の自動ログインデータテーブルを参照し、一致するウィンドウタイトルが登録されていなければ（１２０８−ＮＯ）、ウィンドウタイトルを自動ログイン情報テーブルに登録し（１２０９）、キーボード・マウスイベント監視フラグをＯＮにし（１２１０）、待機状態に戻る。図９の自動ログイン情報テーブルを参照し、一致するウィンドウタイトルが登録されていれば（１２０８−ＹＥＳ）、登録されている自動ログインの参照カウンタを参照し、参照カウンタが１０であれば（１２１１−ＮＯ）、参照カウンタを初期値０に戻し（１２１２）、自動ログインの入力データを削除し（１２１３）、キーボード・マウスイベント監視フラグをＯＮにし（１２１４）、待機状態に戻る。参照カウンタが１０未満であれば（１２１１−ＹＥＳ）、参照カウンタをカウントアップ（＋１）し（１２１５）、自動ログイン入力データを読み出し、キーボードイベント、マウスイベントとしてオペレーティングシステムにイベントを発行し（１２１６）、待機状態に戻る。
【００６６】
本実施例では、自動ログインデータの参照カウンタを設け、１０回参照すると、自動ログイン入力データを削除するように設計している。これは、ある程度の頻度でユーザを認証するという目的と、仮に誤ってログイン情報を入力してしまった場合でも、同じ自動ログイン処理を１０回繰り返すと、初期状態に戻し、正しいログイン情報を入力することができるようにするという２つの目的を持つ。参照カウンタの上限値については、任意の数値を設定することも可能である。
【００６７】
さらに、前回の接続時刻、切断時刻を記憶し、記憶している時刻からの経過時間が一定時間内であれば自動ログインを行うこともセキュリティを向上させるのに有効である。
【００６８】
図１３は、キャッシュした自動ログインデータを保存するかどうか確認するためのダイヤログの一例である。本実施例では、同じウィンドウタイトルを持つログイン画面が表示されたときに、管理している入力データを自動入力することにより、利用者によるログインのための操作を省略することが可能となり、効率よく業務を行うことができるが、自動ログインデータを登録するか否かを利用者に確認する場合には、このようなダイヤログを表示してもよい。
【図面の簡単な説明】
【００６９】
【図１】リモート業務支援システムの外観を示す図である。
【図２】リモート業務支援システムのおおまかなプログラム構成を示した図である。
【図３】モバイル端末とクライアント端末のモジュール構成と、モバイル端末からの入力がクライアント端末のディスプレイに表示されるまでの制御の流れを示す図である。
【図４】モバイル端末とクライアント端末のモジュール構成と、クライアント端末のディスプレイに表示された画面情報をモバイル端末のディスプレイ上に表示されるまでの制御の流れを示す図である。
【図５】モバイル端末からクライアント端末へ接続開始時に送信するマシン認証データを示す図である。
【図６】モバイル端末からクライアント端末へ接続開始時に送信するユーザ認証データを示す図である。
【図７】クライアント端末側で管理されるユーザ管理テーブルを示す図である。
【図８】クライアント端末側で管理されるセッション管理テーブルを示す図である。
【図９】クライアント端末側で管理される自動ログインウィンドウのサーチキーワード登録テーブルと、自動ログインデータテーブルを示す図である。
【図１０−１】モバイル端末の操作制御プログラムとクライアント端末の被操作制御プログラム間で実行する処理および通信の流れを示すシーケンスである。
【図１０−２】モバイル端末の操作制御プログラムとクライアント端末の被操作制御プログラム間で実行する処理および通信の流れを示すシーケンスである。
【図１０−３】モバイル端末の操作制御プログラムとクライアント端末の被操作制御プログラム間で実行する処理および通信の流れを示すシーケンスである。
【図１１−１】クライアント端末の被操作制御プログラムの通信制御部で実行する処理の流れを示すフローチャートである。
【図１１−２】クライアント端末の被操作制御プログラムの通信制御部で実行する処理の流れを示すフローチャートである。
【図１１−３】クライアント端末の被操作制御プログラムの通信制御部で実行する処理の流れを示すフローチャートである。
【図１１−４】クライアント端末の被操作制御プログラムの通信制御部で実行する処理の流れを示すフローチャートである。
【図１２】クライアント端末の被操作制御プログラムの基本制御部で実行する処理の流れを示すフローチャートである。
【図１３】自動ログインデータを保存するかどうか確認するためのダイヤログの一例である。
【符号の説明】
【００７０】
１０１：モバイル端末
１０１Ａ，１０５Ａ：ディスプレイ
１０１Ｂ：キーボード
１０１Ｃ：マウス
１０２:無線ＬＡＮカードあるいは携帯通信カードなど
１０３，１０５：通信回線あるいはネットワーク
１０４：クライアント端末
１０６：業務サーバ
２０１：操作制御プログラム
２０１Ａ，２０２Ａ：通信制御部
２０１Ｂ，２０２Ｂ：基本制御部
２０１Ｃ：認証情報格納部
２０１Ｄ：キーボードフック制御部
２０１Ｅ：マウスフック制御部
２０２：被操作制御プログラム
２０２Ｂ−１：ログイン処理部
２０２Ｂ−２：ログイン抽出処理部
２０２Ｃ：許可マシン許可ユーザ情報格納部
２０２Ｄ：セッション情報格納部
２０２Ｅ：自動ログイン情報格納部
２０２Ｆ：ディスプレイドライバフック制御部
２０３：業務アプリケーションクライアント
２０４：業務アプリケーションサーバ
【図１】
2006338227.tif 000003
【図２】
2006338227.tif 000004
【図３】
2006338227.tif 000005
【図４】
2006338227.tif 000006
【図５】
2006338227.tif 000007
【図６】
2006338227.tif 000008
【図７】
2006338227.tif 000009
【図８】
2006338227.tif 000010
【図９】
2006338227.tif 000011
【図１０−１】
2006338227.tif 000012
【図１０−２】
2006338227.tif 000013
【図１０−３】
2006338227.tif 000014
【図１１−１】
2006338227.tif 000015
【図１１−２】
2006338227.tif 000016
【図１１−３】
2006338227.tif 000017
【図１１−４】
2006338227.tif 000018
【図１２】
2006338227.tif 000019
【図１３】
2006338227.tif 000020