図1は、本発明の情報処理方法の一実施例である計算機システムの構成図である。このシステムは、インターネット等から成るネットワーク3にパーソナルコンピュータ等の計算機を複数接続してリモート操作を行うように構成したものである。
図1では、説明の便宜上、操作者が直接操作を入力する操作機であるユーザ計算機1と、リモート操作による処理を実行する被操作機であるホスト計算機2を一台ずつ図示している。
ユーザ計算機1は、内部にメモリ10、中央演算処理部14、通信制御部15、画像表示処理部16、外部インタフェース(I/F)処理部17等を備え、外部接続機器としてディスプレイなどの出力装置(以下、ディスプレイと総称する)18とキーボードやマウスなどの入力装置(キーボードマウスと総称する)19、及びICカード機能付記憶媒体4を備えている。これらは図示していないバス等の内部接続を介して相互に情報を伝達する仕組みになっており、ここでは説明を省略するが、通常の計算機として動作するものである。
メモリ10上には、中央演算処理部14により実行される、オペレーティングシステム(OS)13と、そのアプリケーションプログラムである、リモート操作プログラム11と一時記録処理プログラム12とを備えている。
記憶媒体(以下、記憶媒体という)4は、USB(Universal Serial Bus)コネクタ等の接続端子で外部I/F処理部17に接続してあり、ユーザ計算機1の使用状況に応じて着脱可能なものである。記憶媒体4の内部には、ICカード機能部41と記憶部40を備えており、記憶部40の中に不揮発性の一時記録保管部42を備えている。
これらは図には明示していない内部接続とコントローラとを介して相互に情報を伝達する仕組みになっており、外部I/F処理部17との入出力をコントローラが制御して、認証などのセキュリティに関する処理はICカード機能部41で、電子ファイルなどのデータの読み書きは記憶部40で、各々行うように動作する。ICカード機能部41は、公開鍵認証基盤(PKI)方式の証明書や秘密鍵を格納しており、認証処理の際にはこれらの証明書や秘密鍵を用いて処理を行う。
記憶媒体4は、USBコネクタ等の接続端子が付いた専用の読み書き装置(リーダーライタ)に挿入して使用するほか、携帯型の計算機や情報処理機器、携帯電話等が対応するカードスロットを備えている場合には、そのカードスロットに挿入して使用することができる。コネクタと一体型になっている場合は、計算機等の接続端子に直接結合して使用することができる。これらは、カード形状やメモリスティック形状など、外形を変えることができる。
ホスト計算機2は、内部にメモリ20、中央演算処理部24、通信制御部25、画像表示処理部26、外部I/F処理部27、ハードディスクなどのデータ記憶部28等を備えている。外部接続機器として、図示していないディスプレイやキーボードマウス等を備えてもよい。これらがバス等の内部接続を介して相互に情報を伝達する仕組みになっていることは、ユーザ計算機1と同様である。
メモリ20上には、中央演算処理部24により実行される、OS23と、そのアプリケーションプログラムである、被リモート操作プログラム21と一時記録支援プログラム22、さらに文書処理プログラム29aや図形処理プログラム29z等を備えている。
各計算機のメモリ10、20は電源が供給されなくなると記憶内容が失われる揮発性メモリから成り、計算機の電源を入れると図示していない不揮発性メモリやデータ記憶部28からOSやプログラムがロードされる。特別な例では不揮発性メモリを備え、その上でOSやプログラムが動作する専用端末等の計算機も存在する。
以下の各実施例は計算機の種類や用途に依存せず、メモリも揮発性、不揮発性のどちらでも実施可能である。
ネットワーク3は、通常のLAN(Local Area Network)やインターネット等から成るもので、論理的な構成は様々であり、物理的にも多様な通信媒体で構成可能である。
本実施例においてネットワーク3は、ユーザ計算機1とホスト計算機2とがリモート操作を行うための通信を実現できるものであればよい。ただし、インターネット等を経由する際に通信の秘匿性を高めるため、ユーザ計算機1とホスト計算機2とは通信データを暗号化するか、仮想私設網(VPN)を利用することが望ましい。
また、ユーザ計算機1の通信制御部15は、ネットワーク3との接続に、有線ネットワーク31と無線ネットワーク32の少なくとも2種類の接続方法を用いることができるように構成する。さらに無線ネットワーク32が、携帯電話や無線LAN等の複数の通信媒体から成り、使用条件等によって最適なネットワーク接続を選択できるとなおよい。ホスト計算機2とネットワーク3との接続は特に限定する必要はなく、通常のLANでよい。
また、上記各プログラムは、図示していない不揮発性メモリやデータ記憶部28に予め格納されていても良いし、必要に応じて他の記憶媒体から、または通信媒体を介した他の装置から、導入されても良い。通信媒体とは、上記ネットワーク3,31,32やこれらネットワーク上の搬送波やディジタル信号を指す。
ユーザ計算機1からホスト計算機2のリモート操作を行う際には、まず、記憶媒体4の認証機能を利用して、ユーザ計算機1の認証を行う。さらに、必要に応じて無線ネットワーク32の接続時の認証やVPN接続時のユーザ認証等を行い、最後にユーザ計算機1からホスト計算機2に対するリモート操作の接続認証を行う。
認証処理において、記憶媒体4は、外部I/F処理部17から証明書要求を受信した場合はICカード機能部41に格納した証明書を読み出して返信し、署名要求を受信した場合はICカード機能部41に格納した秘密鍵を用いてデータ作成のための暗号化処理を実行し、得られた結果を署名データとして返信する。その際、内部に格納した秘密鍵のデータは外部の計算機等には送出しないので、秘密鍵の秘匿性を保つことができる。また、秘密鍵を用いた暗号化処理に先立って、操作者がその秘密鍵の正当な所有者かどうかを確認するため、PIN(Personal Identification Number)等の暗証番号を入力させ、内部で照合すれば、本人以外の不正利用を防止することができる。以下、認証処理の詳細手順の説明はここでは省略する。
ユーザ計算機1からホスト計算機2への接続が完了すると、各々の計算機が備える複数のプログラムが実行され、連携した処理を実現する。すなわち、リモート操作プログラム11と被リモート操作プログラム21が連携して通常のリモート操作処理を実現し、一時記録処理プログラム12と一時記録支援プログラム22が連携に加わってネットワーク接続の中断に備えた情報処理と接続再開時に中断時の処理内容を反映するリカバリ処理(反映処理ともいう)を実現する。
リモート操作プログラム11は、従来技術によるリモート操作機能と、本発明の情報処理方法の一実施例の機能を備えたもので、OS13と中央演算処理部14の制御により実行され以下の処理を実現する。
通常のリモート操作の際には、操作者が行ったキーボードマウス19による入力や操作(以下、操作という)を外部I/F処理部17を介して捕捉し、その操作内容を所定の形式のデータに変換して、通信制御部15からネットワーク3を経由してホスト計算機2に転送する。
ホスト計算機2におけるリモート操作の処理結果は、所定の形式の画面表示データとして通信制御部15を介して受信し、画像表示部16との連携により表示画像を生成して、ディスプレイ18の画面に表示する。表示画像はディスプレイ18の全画面に表示されても良いし、一つのウインドウとして表示されてもよい。
これにより操作者は、ディスプレイ18に表示されたリモート操作の画面またはウインドウ(以下、リモート操作画面という)を見ながら、マウス操作やキーボード入力を行い、ホスト計算機2上のアプリケーションプログラムを操作して、所望の情報処理を遠隔実行することができる。
被リモート操作プログラム21は、リモート操作プログラム11に対応する機能を備えたもので、OS23と中央演算処理部24の制御により実行され以下の処理を実現する。
通常のリモート操作の際には、ユーザ計算機1から転送された操作データを通信制御部25で受信し、外部I/F処理部27に接続したキーボードマウスの操作データに対するのと同様の制御情報に変換して、OS23に制御を渡す。
これによりホスト計算機2は、操作者からの遠隔操作に従って、例えば文書処理プログラム29aの実行や図形処理プログラム29zの実行などの情報処理を行う。
これらのアプリケーションプログラムの処理結果は、画像表示処理部26に対する描画データやデータ記憶部28に対する記録データとして出力されるので、その中から描画データの出力は、被リモート操作プログラム21の制御により、捕捉され、所定の形式の画面出力データに圧縮符号化されて、通信制御部25からネットワーク3を経由してユーザ計算機1に送信される。
本実施例では、リモート操作の実行中はホスト計算機2のディスプレイ表示は必須では無いので、画像表示処理部26での実際の処理は簡略化できる。そのため、ホスト計算機2に表示装置等を接続した場合は、変化の無い画面が表示されるが、これには、中央演算処理部24の画像処理に関する負荷を軽減する効果がある。
なお、リモート操作プログラム11と被リモート操作プログラム21の実行により送信するデータを所定の形式に変換する際に暗号化処理が行われ、通信相手の暗号化データを受信して内容を取り出す際に復号化処理が行われるように本実施例を構成してもよい。
暗号通信に用いるプロトコルはPPTP(Point to Point Tunneling Protocol)等の標準的なものであってもよいし、記憶媒体4のセキュリティ機能を利用して独自形式の鍵交換手順や通信プロトコルによるものであってもよい。特に、ユーザ計算機1とホスト計算機2との間でVPNを用いない場合には、リモート操作プログラム間でデータを暗号化することにより、通信の秘匿性を高めることができる。
一時記録支援プログラム22は、本実施例の機能を備えたもので、OS23と中央演算処理部24の制御により実行され、被リモート操作プログラム21と連携して概ね以下の処理を実現する。
通常のリモート操作の際には、被リモート操作プログラム21の上位アプリケーションプログラムの実行状態を監視し、その状態変化に応じてプログラムの画面表示データを取得する。例えば、リモート操作により文書処理プログラム29aや図形処理プログラム29zを実行している場合は、入力や操作に応じてプログラムの画面表示が変化するので、その差分を計算し変化分として取得する。
取得した画面表示データを所定の形式の画像ファイルに圧縮符号化して、通信制御部25からネットワーク3を経由して、ユーザ計算機1の一時記録処理プログラム12に送信する。
ユーザ計算機1との間のネットワーク接続が中断すると、キーボードマウス19による操作内容が伝わらないので、処理を行わない、操作待ち状態となる。以下に述べるように、ネットワーク接続が復旧して、一時記録処理プログラム12から覚書データに関する情報を受信すると、その情報を上位アプリケーションプログラムに反映するリカバリ処理の実現を可能にする。
一時記録処理プログラム12は、一時記録支援プログラム22に対応する機能を備えたもので、OS13と中央演算処理部14の制御により実行され、リモート操作プログラム11と連携して概ね以下の処理を実現する。
通常のリモート操作の際には、ホスト計算機2上でリモート操作を実行しているアプリケーションプログラムの画面表示データが圧縮符号化された画像ファイルを一時記録支援プログラム22から受信し、一時記録保管部42に記録する。
並行して通信制御部15の通信状態を監視し、ホスト計算機2との間のネットワーク接続の中断を検出すると、一時記録保管部42から、記録している画像ファイルを読出して、所定の復号化処理により画面表示データを復元し、画像表示処理部16を介してディスプレイ18の画面上に再生表示する。
これにより、操作者は、ネットワークの接続が再開するまで、再生した画面表示データを画面上で確認し、必要に応じてコメント等の覚書を作成することが可能になる。
操作者による再生表示に対する覚書の作成操作が行われると、これを受け付けて、画面上に重畳して表示し、その入力データを、画面表示データに対応する画像ファイルと関連付けて一時記録保管部42に格納する。
ネットワーク接続の再開を検出すると、画面表示データの再生表示とそれに対する覚書作成用領域の表示を終了し、一時記録保管部42に格納した入力操作データを所定の形式の覚書情報に変換して一時記録支援プログラム22に向けて送信する。
再生画像の表示を終了すると通常のリモート操作画面に戻り、通信状態の監視と一時記録処理を継続する。
なお、覚書データをホスト計算機2上のアプリケーションプログラムに反映するリカバリ処理を実行する際には、覚書データを取捨選択して、逐次転送しながらリカバリ処理を行うようにしてもよい。これにより、大量の覚書データがある場合には、一度に全データを転送するより、ネットワーク負荷を下げられるという効果が得られる。
リカバリ処理によって上位アプリケーションプログラムの画面表示データに変化画面表示データがあると、一時記録支援プログラム22がその変化を捕捉し、一時記録処理プログラム12がその結果を再び一時記録保管部42に記録する。
本実施例によれば、画面表示データネットワークの接続が中断又は切断してリモート操作を実行できなくなると画面表示を切り替えて、それまで実行していたリモート操作の情報処理結果が画面表示データ画面に再生表示されるので、少なくとも、それまでの作業内容を画面上で確認することが可能である。
また、再生した画面表示データを確認した結果、誤記修正や備忘のために、必要に応じてコメント等覚書を記入することができるので、リモート操作の作業に準じて、それまでに行っていた作業を継続可能になる。
記憶媒体4はユーザ計算機1の外部接続機器であるので、一時記録処理プログラム12が受信したリモート操作の画面表示データをユーザ計算機1の内部に残さないように処理することが可能である。これにより、ユーザ計算機1にはデータは保存しないといったセキュリティポリシーに基づく運用が可能になる。
また、記憶媒体4は着脱可能なので、操作者がこれを持ち運び、図には明示しない別の計算機に接続して使用することもできる。
さらに、記憶媒体4内の記憶領域40に一時記録処理プログラム12相当のプログラムを格納しておけば、接続した別の計算機が一時記録処理プログラム12を備えていない場合でも、本実施例の実現が可能になり、別の計算機の利用可能性が広がるというメリットを享受できる。
図2は、実施例1における一時記録処理プログラム12と一時記録支援処理プログラム22による処理を示すフローチャートである。
本実施例の情報処理方法では、ユーザ計算機1上のリモート操作プログラム11を起動すると一時記録処理プログラム12が処理を開始し、図2のユーザ計算機側に示すS11〜S25の処理を実現する。また、ホスト計算機2上の被リモート操作プログラム21がリモート操作プログラム11の接続要求に応答して処理を開始すると、一時記録支援プログラム22が処理を開始し、図2のホスト計算機側に示すS01〜S10の処理を実現する。
ステップS01で一時記録支援処理を開始すると、ステップS02でホスト計算機2上の上位プログラムの画面表示データを取得する。
画面表示データの取得方法については、いくつか方法があるので、ここでは次の2通りを例示する。
(1)実行中の上位プログラムに対し、OS23を介して印刷コマンドを発行し、印刷データを取得し、ステップS03で画像ファイルに変換する。この方法によれば、リモート操作の実行中に、バックグラウンド処理で画面表示データを取得できるので、操作者の操作を妨げることなく処理を実行できるという利点がある。
この処理では、被リモート操作プログラム21が、ユーザ計算機1から受信したリモート操作の制御情報をOS23に渡した後に、OS23の動作反応や上位アプリケーションプログラムの実行応答等の中から、リモート操作を実行している上位プログラムを特定する。特定した上位プログラムが、例えば、文書処理プログラム29aであれば、その文書処理プログラム29aで処理中のデータファイルについて印刷コマンドを発行し、その処理結果の画面表示データを取得する。
(2)実行中の上位プログラムの画面表示をキャプチャー(画面コピー)し、ステップS03で取得結果を画像ファイルに変換する。この方法では、リモート操作によって画面が変わる毎に画面表示データを取得することができるので、操作履歴を記録保存する方法と同様に、きめ細かな情報取得が可能である。
ステップS03では、上記の通り、取得した画面表示データを所定の形式のデータに符号化して、ユーザ計算機1に送信する。ここで、送信するデータ量を削減するために、既に送付済みの画面表示データがある場合には、前に送信した画面表示データとの差分を抽出して、差分データだけを送信する。また、データの符号化に際しては、一般的な画像データ圧縮方法を適用してもよい。送信したデータは、ステップS13でユーザ計算機側が受信する。
この方法のように全画面コピーを取れば、その中に実行中の上位プログラムのウインドウが必ず含まれ、さらに、対象ウインドウ以外の表示データもコピーされるので、複数のウインドウに跨る操作を実行した場合に効果的である。
次のステップS04では、ユーザ計算機1から送信された覚書データをホスト計算機2が受信したかどうかを判定し、覚書データを受信している場合は、次のステップS05で覚書データに基づく上位プログラムへの反映処理を行い、覚書データを受信していない場合は、ステップS06にジャンプする。
ステップS06では、上位プログラムの出力状態の変化をチェックし、変化がある場合は、ステップS02へ戻って上位プログラムの画面表示データ取得を繰り返す。ここで、変化がない場合は、ステップS07で処理を終了するか継続するかのイベント待ち状態になる。
なお、本実施例の説明では、上述の一連の流れを順に説明したが、例えば、ステップS02で処理中のデータファイルが複数ある場合には、その各々について画面表示データを取得し、取得データを符号化送信する。また、実行中の上位プログラムが複数ある場合には、その各々について画面表示データを取得して符号化送信する。そのため、上記のように複数ある場合は、図2に示すフローではなく、一連の処理を並行して実行するようにしてもよい。
ステップS11で一時記録処理を開始すると、次のステップS12でユーザ計算機1とホスト計算機2との通信による接続状態を確認する。ここで、接続が正常の場合はOKと判定して次のステップS13へ進み、接続が不良の場合は代替通信路を確認するステップS21へジャンプする。
通信の接続状態の良・不良を判定する方法の詳細はここでは省略するが、要は、ユーザ計算機1からホスト計算機2へのリモート操作が間断なく継続しているか、入力操作に対する応答画面が適切に返っているかを監視すればよい。
通信状態が正常の場合は、ステップS13でホスト計算機2の上位アプリケーションプログラムの画面表示データを受信し、ステップS14で、一時記録保管部42の記録領域を割当て、ステップS15で有効期限付き符号データとして一時記録保管部42に保管する。保管処理の終了後は、ステップS16で状態遷移待ち状態となり、通常は処理を継続して、ステップS12から通信状態の確認とホスト計算機2から送られる画面表示データの受信と保管を繰り返す。
ステップS12で通信状態が不良の場合は、ステップS21で代替通信路を確認し、次のステップS22で無通信状態の再判定を実行する。ここで、代替通信路が使用可能な場合は無通信では無いと判定して、ステップS13に戻り、ホスト計算機2から送られる画面表示データの受信処理から処理を再開する。
一方、代替通信路も通信困難な場合は、S22で無通信状態と判定し、ステップS23で一時記録の再生と覚書作成処理を実行する。ステップS24では、通信が復帰したかどうかを確認し、復帰しない間はステップS23の処理を繰り返す。通信が復帰した場合は、次のステップS25で、覚書データをホスト計算機2へ送信する処理を実行し、ステップS16の状態遷移待ち状態に戻る。
ステップS07の処理終了/継続イベント待ちと、ステップS16の状態遷移待ち状態では、リモート操作プログラム11および被リモート操作プログラム21による反映処理の後、一時記録に関する処理の継続か終了かを判定し、リモート操作の実行終了を契機として、それぞれステップS10、S20の処理終了状態へ遷移する。
図3は、実施例1における一時記録保管データの管理方法を示す図である。本実施例の情報処理方法では、一時記録保管部42に保管するホストプログラムの画面表示データは、図3に示す一時記録保管データ管理表5に従って管理する。一時記録保管データ管理表5は、記録インデックス51、画面表示データの属性52、有効期限53、画面表示データ名54、画面表示データの更新日時55、覚書データ名56、覚書領域の座標57、及び覚書作成日時58を少なくとも備える。
記録インデックス51は、一時記録保管データの一つのまとまりを識別するためのもので、本実施例では記録順に1番から番号を付与する。番号以外にも、例えば、プログラムやファイルの名称と更新日時等を組み合わせた識別符号を付与してもよい。
画面表示データの属性52には、イメージデータを出力したホスト計算機2上のプログラム名とファイル名等を記録する。これにより、画面表示データ名54で指定したデータが、どのプログラムのどのファイルの処理結果かを識別する。本実施例では、画面表示データ名54には、出力ページの番号とデータ形式を示すファイル識別子を付与する。ここで、ファイル識別子には、例えば、JPEG(Joint Photographic coding Experts Group)形式の画像ファイルなら「.jpg」、ビットマップ形式の画像ファイルなら「.bmp」等を用いる。なお、画面表示データ名54に、出力元のプログラム名やファイル名等を組み合わせてもよい。
有効期限53は、一時記録保管データの有効期限を示すものである。本実施例では、一時記録保管データを最初に作成した時刻を基準にして、有効期限は24時間としている。これは、記録されたデータが一時的なものであるということと、あまり長時間保持しているとデータ鮮度が劣化すること、また、情報漏洩防止の観点からも好ましくないことのためである。もちろん、有効期限は一律に定めず、ネットワーク接続の安定性やプログラムの使用条件等によって個別に設定できるようにしてもよい。
画面表示データの更新日時55には、画面表示データ名54で指定したデータの更新日時を記録する。
覚書データ名56は、再生した画面表示データに対して操作者が作成したコメント等覚書のデータ名称である。本実施例では、記録インデックス51で指定したデータに対して覚書作成操作を行った順に修正番号を付与し、併せて、テキストの覚書にはファイル識別子「.txt」、図形の覚書にはファイル識別子「.bmp」を付与する。なお、覚書データ名56は、操作者の便宜を考慮して、操作者が適宜命名できるようにしてもよい。覚書データ領域の座標57には、画面上の覚書領域の位置と大きさを記録する。覚書作成日時58は、覚書の作成日時である。
図4は、実施例1における一時記録再生表示画面を示す図である。本実施例では、リモート操作の実行中にネットワーク接続の不良等により操作が中断すると、一時記録保管部42から記録している画像ファイルを読出して、図4に示すユーザ計算機1のディスプレイ18の画面60に再生画像を表示する。一時記録保管部42から読出した画像ファイルデータ61は、所定の方式の復号化処理により画面表示データに再生され、再生した画像がディスプレイ画面60上のイメージ表示ウインドウ62に表示される。
操作者は、マウス等の操作により、このイメージ表示ウインドウ62を画面内で移動したり、最大化や最小化等、表示サイズを変更したりすることができる。操作者が、再生した画面表示データを画面上で確認し、コメント等覚書の作成が必要になった場合は、マウス等の操作によりコメント覚書領域63を表示し、必要に応じて覚書作成操作を行う。コメント覚書領域63には、文章や図形等を入力し、記録保存操作により、その操作入力データを、表示した画像データと関連付けて一時記録保管部42に保存することができる。
コメント覚書領域63を表示する際には、イメージ表示ウインドウ62上で覚書が必要になった箇所を操作者がマウス等を操作して指示することにより、画面表示データに対する覚書領域座標を特定する。その座標の値は、ディスプレイ画面60上の座標値をそのまま用いるのではなく、画面表示データに対する相対座標として記録することが望ましい。
この相対座標の値は、イメージ表示ウインドウ62の表示領域の座標との差分計算により得ることができ、得られた結果は図3に示した一時記録保管データ管理表5の覚書領域の座標57に記録する。覚書領域の大きさは、操作者の覚書作成操作に応じて決まるので、その結果を覚書領域の座標57に反映する。覚書領域63は、ディスプレイ画面60の一つのウインドウとして表示されるので、操作者がマウス等の操作により、覚書領域63を画面内で移動させることも可能である。
イメージ表示ウインドウ62の初期表示位置は、一時記録処理プログラム12が任意に定めても良いが、リモート操作の実行中に当該プログラムがウインドウを表示していた場合には、該ウインドウの座標を記録しておき、その座標に基づいてイメージ表示ウインドウ62の初期表示位置を定めてもよい。後者によれば、リモート操作の中断前後で画面表示の変化が少なくなり、操作者が違和感を覚えずに作業を継続することが可能になる。
図5は、実施例1における再生と覚書作成の処理の流れを示すフローチャートである。図2のステップS22で無通信状態と判定すると、次のステップS23で一時記録の再生と覚書作成の処理を図5に示す流れで実行する。
処理を開始(S31)すると、ステップS32で一時記録保管部42の記録内容一覧を表示する。ここで表示するのは、図3の一時記録保管データ管理表5の一部又は全部である。覚書データに関する情報は、最初は無くてもよい。
ステップS33で操作者による画面情報の選択を待ち、選択の結果、ステップS34で、選択した画面表示データの再生表示処理を実行する。続いて、操作者による覚書作成作業を実行し(S35)、作業終了の判定ステップS36で、覚書データの保存操作や操作者による終了操作、及びネットワークの復帰等による終了を監視する。
作業を継続する場合は、ステップS32に戻って再生と覚書作成処理を繰り返し、作業を終了する場合は、ステップS37で覚書データの送信準備処理を実行して、再生と覚書作成の処理を終了する(S38)。
本実施例では、複数の画面表示データを保存している場合、操作者の選択によって順番に再生と覚書作成処理(S34,S35)を行うフローを示したが、保存している画面表示データの量が少ない場合、あるいは複数の画面表示データを見比べながら作業を行う場合には、一度に一括表示して、覚書作成作業を並行して行うようにすればよい。再生と覚書作成の処理の終了後は、図2のステップS25の処理により覚書データをホスト計算機2へ送信し、対応する上位アプリケーションプログラムに対するリカバリ処理を可能にする。図2のステップS04で、ホスト計算機2がユーザ計算機1から覚書データを受信すると、次のステップS05で上位プログラムへの反映処理を実行する。
図6は、ステップS05によって、ユーザ計算機1へ送信される、リモート操作のリカバリ処理に関する覚書データ選択画面70を示す図であり、ユーザ計算機1のディスプレイ18に表示されたリモート操作画面の上に、ウインドウ形式で重畳表示されるものである。画面内には、ファイル名、有効期限、覚書日時等が明示された覚書データの一覧表71と、操作ボタン72、73、74などがある。操作者は、覚書データの一覧表71の中から、リカバリ処理を行いたい覚書データ名を選択し、「開く」ボタン72を選択して作業を始める。リカバリ処理が不要な場合は、同様に覚書データの一覧表71の中から、リカバリ処理が不要な覚書データ名を選択し、「削除」ボタン73を選択してデータの削除を指示する。リカバリ処理を終了する場合は、「画面を閉じる」ボタンを選択する。
ここで、リカバリ処理を終了した覚書データと、削除指示した覚書データに関する情報は、一時記録支援プログラム22から一時記録処理プログラム12へ伝達され、一時記録保管部42に記録保管したデータも消去する。リカバリ処理に使われずに残ったデータは、有効期限が切れるまで一時記録保管部42に保管される。
図7は、実施例1における一時記録反映処理の流れを示すフローチャートである。図2のステップS05で行う上位プログラムへの反映処理は、図7に示す流れで実行される。
一時記録反映処理を開始(S41)すると、ステップS42で一時記録保管部42の記録内容一覧が、図6に示した一時記録覚書データ選択画面70に表示される。ステップS43で操作者による覚書データの選択を待ち、選択した覚書データの属性に基づいて、次のステップS44で対応する元プログラムの実行画面と、覚書データと関連する画面表示データとを、画面に表示する。
続いて、操作者による覚書に基づく作業を監視し(S45)、作業終了の判定ステップS46で、覚書データの削除操作や操作者による終了操作等による作業の終了を判定する。ステップS46で作業を継続する場合は、ステップS43に戻って、一連の処理を覚書データの選択から繰り返し、ここで作業を終了する場合は、一時記録反映処理を終了(S48)し、通常のリモート操作画面に復帰する。
通信が不良になる前に、リモート操作ウインドウを表示しており、上述したように、覚書作成時のイメージ表示ウインドウ62をリモート操作ウインドウと同じ位置に表示し、さらに、覚書領域の位置を相対座標として記録していれば、実施例1におけるリモート操作のリカバリ処理に関する反映処理画面は、図4に示す一時記録再生表示画面と同じようになる。
すなわち、図7のステップS43で操作者が覚書データを選択した後、ステップS44で、図4と同様の画面を表示する。ユーザ計算機1のディスプレイ18の画面(図4ではディスプレイ画面60)には、操作者が選択した覚書データに対応するホスト計算機2の上位アプリケーションプログラムの実行画面がイメージ表示ウインドウ62と同様に表示され、覚書内容表示領域が覚書領域63と同様に表示される。
操作者は、画面を見ながら覚書内容表示領域に表示された覚書内容とプログラムの実行画面とを対応させ、キーボードマウス19で入力または操作して、覚書したデータを元のプログラムの情報処理に反映する。この反映処理の方法には、例えば、キーボードマウス19を操作して新たに入力する方法、マウス操作により覚書内容表示領域の表示データを選択してコピーしてプログラムの実行画面の対応する位置へ貼り付ける方法や、リモート操作の中断中に操作者が行った操作入力を自動的に元のアプリケーションプログラムの操作に反映させる方法などがある。本実施例の情報処理方法では、操作者のリモート操作入力をトラップしてアプリケーションプログラムを遠隔操作できるので、同様の機能を用いて、上述の反映処理の自動的な実行が可能である。
図8は、実施例1の一時記録処理プログラム12による処理において、一時記録保管部42に保管した画面表示データの有効期限の管理に用いられる、一時記録データ削除管理表50を示す図である。一時記録データ削除管理表50は、記録インデックス51、画面表示データの属性52、有効期限53、画面表示データ名54、及び削除可否フラグ59を少なくとも備える。リカバリ処理を終了した覚書データやリカバリ処理時に削除した覚書データについては削除可否フラグ59を可とし、リカバリ処理が未終了のデータは削除可否フラグ59を否として状態を管理する。一時記録データの削除は、次のような手順で実行する。
(1)ユーザ計算機1の起動時に、一時記録データ削除管理表50を確認し、起動時の時刻と対照して有効期限を過ぎている画面表示データと、削除可否フラグが可の画面表示データがあれば、削除処理を実行する。削除処理を実行した画面表示データについては、削除可否フラグ59を「削除済み」とし、記録インデックス51が同一のすべての画面データが削除済みとなれば、その記録インデックスのデータを全部消去する。
起動は、定期的にユーザの操作なしに行い、期限切れをチェックして、チェック処理が終われば電源オフにする実装形態であってもよい。
(2)削除可否フラグ59が否の画面表示データについては、例えば、有効期限に対応したタイマーをセットし、ユーザ計算機1の稼働中にタイムアウトした場合は当該データを削除する。タイマーを用いる代わりに、一定時間ごとに一時記録データ削除管理表50を確認して、その都度削除処理を実行するような方法を用いてもよい。
本実施例では、一時記録保管部42を備えた記憶媒体4が、ユーザ計算機1に接続された状態で上述の削除処理を実行するので、接続しない状態では有効期限を過ぎてもデータは存在することになる。しかし、ユーザ計算機1を起動してログオン認証を行うためには必ず記憶媒体4を接続して使用するので、上述の処理(1)により、有効期限切れのデータを必ず削除することができる。
実施例1では、リモート操作を行うユーザ計算機1とホスト計算機2が連携して、リモート操作を実行中の情報処理プログラムの画面表示データをユーザ計算機1側に一時的に記録しておき、ネットワークの接続状態が変化して接続が中断又は切断した場合に、記録したデータを操作画面に再生表示するので、直前まで操作実行していた情報処理の結果を確認することができる。
さらに、再生表示画面を参照しながら情報処理の暫定的な操作や入力を継続し、再生表示画面と関連付けて保存することができるので、リモート操作自体が中断しても継続的な作業の遂行が可能になる。ネットワークの接続が再開した場合には、覚書として保存した操作や入力に基づいて、被操作機上の情報処理を実行することができるので、リモート操作の中断前の情報処理結果に中断中の処理内容を容易に反映できるという特長がある。
また、実施例1では、ユーザ計算機1に対して着脱可能な記憶媒体4に一時記録保管部42を備えているので、リモート操作によるホスト側計算機の処理結果である画面表示データをユーザ計算機1内部に保存することがない。記憶媒体4を取り外せば、ユーザ計算機1内部には関連する情報が残らないので、情報漏洩の心配が無く、セキュリティ上も安全である。
記憶媒体4内部に保存した情報については、別途、暗号化処理を施すことにより秘匿性を向上でき、ICカード機能を利用して正当性を確認できなければアクセスを抑止することもできるので、安全性を保つことができる。
さらに、一時記録保管部42に記録した情報は、有効期限を過ぎると消去されるので、人為的ミスによるデータ流出事故も防止できる。
図9は、本発明の情報処理方法の他の実施例である計算機システムの構成図である。このシステムは、インターネット等から成るネットワーク3にパーソナルコンピュータ等の計算機を複数接続してリモート操作を行うように構成したものである。
図9では、説明の便宜上、操作者が直接操作を入力する操作機であるユーザ計算機81と、リモート操作による処理を実行する被操作機であるホスト計算機92を一台ずつ図示している。
ユーザ計算機81は、内部にメモリ10、中央演算処理部14、通信制御部15、画像表示処理部16、外部I/F処理部17、不揮発性メモリ84等を備え、外部接続機器としてディスプレイ18とキーボードマウス19を備えている。これらは図示していないバス等の内部接続を介して相互に情報を伝達する仕組みになっており、ここでは説明を省略するが、通常の計算機として動作するものである。
メモリ10上には、中央演算処理部14により実行される、オペレーティングシステム(OS)13と、そのアプリケーションプログラムである、本実施例による一時記録処理機能83を備えたリモート操作プログラム82を備えている。また、不揮発性メモリ84上には、一時記録保管部85を備えている。
なお、一時記録処理プログラム(又は機能)は、図1に示すようにリモート/被リモート操作プログラムとは独立したものであってもよいし、図9に示すように、含まれていてもよい。
ホスト計算機92は、内部にメモリ20、中央演算処理部24、通信制御部25、画像表示処理部26、外部I/F処理部27、ハードディスクなどのデータ記憶部28等を備えている。外部接続機器として、図示していないディスプレイやキーボードマウス等を備えてもよい。これらがバス等の内部接続を介して相互に情報を伝達する仕組みになっていることは、ユーザ計算機81と同様である。
メモリ20上には、中央演算処理部14により実行される、OS23と、そのアプリケーションプログラムである、本実施例による一時記録支援機能94を備えた被リモート操作プログラム93と、文書処理プログラム29aや動画再生プログラム88等を備えている。
各計算機のメモリ81、92は電源を切ると記憶内容が失われる揮発性メモリから成り、計算機の電源を入れると、それぞれ不揮発性メモリ84やデータ記憶部28からOSやプログラムがロードされる。特別な例では不揮発性メモリを備え、その上でOSやプログラムが動作する専用端末等の計算機も存在する。本実施例は計算機の種類や用途に依存せず、メモリも揮発性、不揮発性のどちらでも実施可能である。
ネットワーク3、有線ネットワーク31、及び無線ネットワーク32は実施例1と同様のものである。
また、上記各プログラムは、不揮発性メモリ84やデータ記憶部28に予め格納されていても良いし、必要に応じて他の記憶媒体から、または通信媒体を介した他の装置から、導入されても良い。通信媒体とは、上記ネットワーク3,31,32やこれらネットワーク上の搬送波やディジタル信号を指す。
ユーザ計算機81からホスト計算機92のリモート操作を行う際には、リモート操作プログラム82と被リモート操作プログラム93が連携して通常のリモート操作処理を実行し、一時記録処理機能83と一時記録支援機能94が連携に加わってネットワーク接続の中断に備えた情報処理と接続再開時のリカバリ処理を実行する。リモート操作プログラム82と被リモート操作プログラム93の処理の概要は、実施例1のリモート操作プログラム11と被リモート操作プログラム21の処理とほぼ同様である。
操作者は、ディスプレイ18に表示されたリモート操作画面を見ながら、キーボードマウス19による操作や入力を行い、ホスト計算機82上のアプリケーションプログラム、例えば文書処理プログラム29aの遠隔操作を行う。アプリケーションプログラムによる画面表示データは、実施例1と同様に、所定の形式の画像ファイルに圧縮符号化されてユーザ計算機81に返送され、リモート操作画面としてディスプレイ18に表示される。
一時記録支援機能94は、本実施例の機能を備えたもので、OS23と中央演算処理部24の制御により実行され、被リモート操作プログラム93と連携して概ね以下の処理を実現する。
通常のリモート操作の際には、被リモート操作プログラム93の上位アプリケーションプログラムの実行状態を監視し、その状態変化に応じてプログラムの画面表示データを取得する。例えば、リモート操作により文書処理プログラム29aや図形処理プログラム29zを実行している場合は、入力操作に応じてプログラムの画面表示が変化するので、その変化分を取得する。
取得した画面表示データを所定の形式の画像ファイルに圧縮符号化して、通信制御部25からネットワーク3を経由して、ユーザ計算機81に送信する。
ユーザ計算機81との間のネットワーク接続が中断すると、キーボードマウス19による操作内容が伝わらないので、処理を行わない、操作待ち状態となり、ネットワーク接続が復旧して、ユーザ計算機1から覚書データに関する情報を受信すると、その情報に基づいて上位アプリケーションプログラムに対するリカバリ処理を実現する。
一時記録処理機能83は、一時記録支援機能94に対応する機能を備えたもので、OS13と中央演算処理部14の制御により実行され、リモート操作プログラム82と連携して概ね以下の処理を実現する。
通常のリモート操作の際には、ホスト計算機92上でリモート操作を実行しているアプリケーションプログラムの画面表示データが圧縮符号化された画像ファイルをホスト計算機92から受信し、一時記録保管部85に記録する。
並行して通信制御部15の通信状態を監視し、ホスト計算機92との間のネットワーク接続の中断を検出すると、一時記録保管部85から、記録している画像ファイルを読出して、所定の復号化処理により画面表示データを復元し、画像表示処理部16を介してディスプレイ18の画面上に再生表示する。
これにより、操作者は、ネットワークの接続が再開するまで、再生した画面表示データを画面上で確認し、必要に応じてコメント等の覚書を作成することが可能になる。
操作者による再生表示に対する覚書の作成が行われると、これを受け付けて、画面上に重畳して表示し、その入力データを、画面表示データに対応する画像ファイルと関連付けて一時記録保管部85に格納する。
ネットワーク接続の再開を検出すると、画面表示データの再生表示とそれに対する覚書作成用領域の表示を終了し、一時記録保管部85に格納した入力操作データを所定の形式の覚書情報に変換してホスト計算機92に向けて送信する。再生画像の表示を終了すると通常のリモート操作画面に戻り、一時記録処理を継続する。
以下、実施例2における一時記録処理と一時記録支援処理に関する機能、動作、効果の詳細は、図2乃至図8により説明した実施例1の場合と同様である。
実施例2では、リモート操作を行うユーザ計算機81とホスト計算機92が連携して、リモート操作を実行中の情報処理プログラムの画面表示データをユーザ計算機81内に一時的に記録しておき、ネットワークの接続状態が変化して接続が中断又は切断した場合に、記録したデータを操作画面に再生表示して一時的な操作入力を覚書するので、実施例1と同様の効果が得られる。
さらに実施例2では、ユーザ計算機81の内部に不揮発性メモリ84を備え、それを利用する一時記録保管部85を備えているので、一時的に記録した情報をユーザ計算機81の内部に保つことができる。その際、OS13と一時記録処理機能83により、他のアプリケーションプログラムから一時記録保管部85へのアクセスを禁止することができるので、情報の秘匿性を一層向上できる。
1、81:ユーザ計算機、2、92:ホスト計算機、10、20:メモリ、11:リモート操作プログラム、12:一時記録処理プログラム、21:被リモート操作プログラム、22:一時記録支援プログラム、14、24:中央演算処理部、15、25:通信制御部、16、26:画像表示処理部、17、27:外部インタフェース処理部、18:ディスプレイ、19:キーボードマウス、29a:文書処理プログラム、29z:図形処理プログラム、4:記憶媒体、41:ICカード機能部、42、85:一時記録保管部。