(57)【要約】【課題】リモートコンピュータとローカルコンピュータとの間におけるクリップボードへのコピーのためのデータの受け渡しを簡単かつ適切に制限する。【解決手段】ローカルコンピュータ２０が、アプリケーションで使用されるデータを保持可能なクリップボード２４と、リモート制御アプリケーションを用いてリモートコンピュータ１０の遠隔制御を行うリモートデスクトップ接続クライアント部２２と、リモート制御アプリケーション以外のアプリケーションによるクリップボード２４の使用の許可／不許可を設定するクリップボード使用制限モジュール２１ａとを備え、クリップボード使用制限モジュール２１ａが、リモート制御アプリケーションがフォアグラウンドであるときにクリップボード２４の使用の不許可を設定し、リモート制御アプリケーションがバックグラウンドであるときにクリップボード２４の使用の許可を設定する。【選択図】図５
2008217449.tif 000002
【特許請求の範囲】
【請求項１】
リモートコンピュータを通信ネットワークを介して遠隔制御する遠隔制御装置であって、
アプリケーションで使用されるデータを保持可能なクリップボードと、
リモート制御アプリケーションを用いて前記リモートコンピュータの遠隔制御を行うリモート制御部と、
前記リモート制御アプリケーション以外のアプリケーションによる前記クリップボードの使用の許可／不許可を設定するクリップボード使用制限部と、を備え、
前記クリップボード使用制限部は、前記リモート制御アプリケーションがフォアグラウンドであるときに前記クリップボードの使用の不許可を設定し、前記リモート制御アプリケーションがバックグラウンドであるときに前記クリップボードの使用の許可を設定する
ことを特徴とする遠隔制御装置。
【請求項２】
前記クリップボードの保持内容を消去するデータ消去部を備え、
該データ消去部は、前記リモート制御アプリケーションがフォアグラウンドからバックグラウンドに切り替わったときに前記クリップボードの保持内容を消去し、
前記クリップボード使用制限部は、前記消去部によって前記クリップボードの保持内容が消去されたあと、前記クリップボードの使用の許可を設定する
ことを特徴とする請求項１記載の遠隔制御装置。
【請求項３】
前記リモートコンピュータは、フォアグラウンドのアプリケーションを監視し、フォアグラウンドのアプリケーションが切り替わったときに、切り替わったアプリケーションを一意に特定可能なアプリケーション識別情報を送信するフォアグラウンド監視部を備えており、
前記クリップボード使用制限部は、該フォアグラウンド監視部からのアプリケーション識別情報が示すアプリケーションがクリップボードの使用を許容されていないアプリケーションであるときに前記クリップボードの使用の不許可を設定し、前記フォアグラウンド監視部からのアプリケーション識別情報が示すアプリケーションがクリップボードの使用を許容されているアプリケーションであるときに前記クリップボードの使用の許可を設定する
ことを特徴とする請求項１又は請求項２記載の遠隔制御装置。
【請求項４】
前記リモートコンピュータは、フォアグラウンドのアプリケーションを監視し、フォアグラウンドのアプリケーションで使用されているデータ形式が切り替わったときに、切り替わったデータ形式を一意に特定可能なデータ形式識別情報を送信するフォアグラウンド監視部を備えており、
前記クリップボード使用制限部は、該フォアグラウンド監視部からのデータ形式識別情報が示すデータ形式がクリップボードの使用を許容されていないデータ形式であるときに前記クリップボードの使用の不許可を設定し、前記フォアグラウンド監視部からのデータ形式識別情報が示すデータ形式がクリップボードの使用を許容されているデータ形式であるときに前記クリップボードの使用の許可を設定する
ことを特徴とする請求項１又は請求項２記載の遠隔制御装置。
【請求項５】
リモートコンピュータを通信ネットワークを介して遠隔制御する遠隔制御方法であって、
リモート制御アプリケーションを用いて前記リモートコンピュータの遠隔制御を行うリモート制御処理と、
アプリケーションで使用されるデータを保持可能なクリップボードの前記リモート制御アプリケーション以外のアプリケーションによる使用の許可／不許可を設定するクリップボード使用制限処理と、を含み、
前記クリップボード使用制限処理では、前記リモート制御アプリケーションがフォアグラウンドであるときに前記クリップボードの使用の不許可を設定し、前記リモート制御アプリケーションがバックグラウンドであるときに前記クリップボードの使用の許可を設定する
ことを特徴とする遠隔制御方法。
【請求項６】
リモートコンピュータを通信ネットワークを介して遠隔制御させる遠隔制御プログラムであって、
コンピュータに、
リモート制御アプリケーションを用いて前記リモートコンピュータの遠隔制御を行うリモート制御処理と、
アプリケーションで使用されるデータを保持可能なクリップボードの前記リモート制御アプリケーション以外のアプリケーションによる使用の許可／不許可を設定するクリップボード使用制限処理と、を実行させ、
前記クリップボード使用制限処理では、前記リモート制御アプリケーションがフォアグラウンドであるときに前記クリップボードの使用の不許可を設定し、前記リモート制御アプリケーションがバックグラウンドであるときに前記クリップボードの使用の許可を設定する処理を
実行させるための遠隔制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートコンピュータを通信ネットワークを介して遠隔制御する遠隔制御装置、遠隔制御方法、及び遠隔制御プログラムに関する。
【背景技術】
【０００２】
従来から、遠隔地に設置されたリモートコンピュータをインターネットなどの通信ネットワークを介して制御する遠隔制御システムが利用されている。この遠隔制御システムにおいては、リモートコンピュータとローカルコンピュータの間で自動的にコピーアンドペースト（以下、単に「コピー」という場合がある。）が実行される。
【０００３】
しかし、近年では、情報漏洩の問題が注目されつつあるため、遠隔制御システムにおいて、イントラネット内にあるリモートコンピュータと、ファイアウォールの外側からインターネットなどの通信ネットワークを経由してリモートアクセスするローカルコンピュータとの間で、クリップボードによるデータのコピーを自由に許可することが好ましくないケースがある。
【０００４】
すなわち、リモートコンピュータ上ではデータの閲覧や編集は可能であるが、リモート操作を行うローカルコンピュータ上にはそれらのデータをコピーおよび保存できないように制限すべき場合がある。このようなことから、従来から、データのコピーや保存を制限するようにした遠隔制御システムが提案されている（例えば、特許文献１−２参照）。
【特許文献１】特開２００６−１９６０２６号公報
【特許文献２】特開２００６−１５５１５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された発明では、ＯＳのイベントをフック（命令を横取りすること）するようにしているため、クリップボードへのコピーに繋がる複数の操作に対してフックを設定する必要がある。また、クリップボードの使用が抑制されている場合には、クリップボードのデータを常に消去することとしているため、コピーに失敗した原因をユーザが理解できない。
【０００６】
また、特許文献２に記載された発明では、機密データをクリップボードに保存する際に暗号化するようにしているため、ＯＳの機能を拡張するか、ＯＳが元から持っているクリップボードとはまた別の共有記憶領域を用意する必要がある。
【０００７】
本発明は、リモートコンピュータとローカルコンピュータとの間におけるクリップボードへのコピーのためのデータの受け渡しを簡単かつ適切に制限することができる遠隔制御装置、遠隔制御方法、及び遠隔制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る遠隔制御装置は、リモートコンピュータを通信ネットワークを介して遠隔制御する遠隔制御装置であって、アプリケーションで使用されるデータを保持可能なクリップボードと、リモート制御アプリケーションを用いて前記リモートコンピュータの遠隔制御を行うリモート制御部と、前記リモート制御アプリケーション以外のアプリケーションによる前記クリップボードの使用の許可／不許可を設定するクリップボード使用制限部と、を備え、前記クリップボード使用制限部は、前記リモート制御アプリケーションがフォアグラウンドであるときに前記クリップボードの使用の不許可を設定し、前記リモート制御アプリケーションがバックグラウンドであるときに前記クリップボードの使用の許可を設定することを特徴とする。
【０００９】
また、本発明に係る遠隔制御方法は、リモートコンピュータを通信ネットワークを介して遠隔制御する遠隔制御方法であって、リモート制御アプリケーションを用いて前記リモートコンピュータの遠隔制御を行うリモート制御処理と、アプリケーションで使用されるデータを保持可能なクリップボードの前記リモート制御アプリケーション以外のアプリケーションによる使用の許可／不許可を設定するクリップボード使用制限処理と、を含み、前記クリップボード使用制限処理では、前記リモート制御アプリケーションがフォアグラウンドであるときに前記クリップボードの使用の不許可を設定し、前記リモート制御アプリケーションがバックグラウンドであるときに前記クリップボードの使用の許可を設定することを特徴とする。
【００１０】
さらに、本発明に係る遠隔制御プログラムは、リモートコンピュータを通信ネットワークを介して遠隔制御させる遠隔制御プログラムであって、コンピュータに、リモート制御アプリケーションを用いて前記リモートコンピュータの遠隔制御を行うリモート制御処理と、アプリケーションで使用されるデータを保持可能なクリップボードの前記リモート制御アプリケーション以外のアプリケーションによる使用の許可／不許可を設定するクリップボード使用制限処理と、を実行させ、前記クリップボード使用制限処理では、前記リモート制御アプリケーションがフォアグラウンドであるときに前記クリップボードの使用の不許可を設定し、前記リモート制御アプリケーションがバックグラウンドであるときに前記クリップボードの使用の許可を設定する処理を実行させるためのものである。
【発明の効果】
【００１１】
本発明によれば、リモートコンピュータとローカルコンピュータとの間におけるクリップボードへのコピーのためのデータの受け渡しを簡単かつ適切に制限することが可能な遠隔制御装置、遠隔制御方法、及び遠隔制御プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の遠隔制御装置の実施形態に係るローカルコンピュータを含む遠隔制御システムについて説明する。
【００１３】
［第１実施形態］
図１は、本発明の第１実施形態に係るローカルコンピュータ２０を含む遠隔制御システムの例を示すブロック図である。図１に示すように、本例の遠隔制御システムは、リモートコンピュータ１０と、ローカルコンピュータ２０とを含む。リモートコンピュータ１０とローカルコンピュータ２０は、それぞれインターネットなどの通信ネットワークに接続され、ゲートウェイサーバ３０を介して各種の情報のやりとりを行う。
【００１４】
リモートコンピュータ１０は、例えばパーソナルコンピュータなどの情報処理装置によって構成され、サービスアプリケーション部１１と、ターミナルサービス部１２と、ユーザインタフェース情報ＤＢ１３と、クリップボード１４とを含む。
【００１５】
ローカルコンピュータ２０は、例えばパーソナルコンピュータなどの情報処理装置によって構成され、クライアントアプリケーション部２１と、リモートデスクトップ接続クライアント部２２と、ユーザインタフェース情報ＤＢ２３と、クリップボード２４とを含む。
【００１６】
本例の遠隔制御システムでは、ターミナルサービス部１２とリモートデスクトップ接続クライアント部２２の通信先を、それぞれ、サービスアプリケーション部１１とクライアントアプリケーション部２１としている。そして、リモートコンピュータ１０におけるサービスアプリケーション部１１とローカルコンピュータ２０におけるクライアントアプリケーション部２１とで、ゲートウェイサーバ３０を介してデータ通信を行う。
【００１７】
サービスアプリケーション部１１は、リモートコンピュータ１０上で稼働するサービスアプリケーションを制御する機能を有する。また、サービスアプリケーション部１１は、ターミナルサービス部１２がユーザインタフェース情報ＤＢ１３から収集したリモートコンピュータ１０上のユーザインタフェース情報、及びクリップボード１４における変更箇所を示す変更情報を受け取り、ローカルコンピュータ２０におけるクライアントアプリケーション部２１に送信する機能を有する。
【００１８】
クライアントアプリケーション部２１は、サービスアプリケーション部１１から受信した情報を、リモートデスクトップ接続クライアント部２２に送信する機能を有する。リモートデスクトップ接続クライアント部２２は、リモートコンピュータ１０上のユーザインタフェース情報における変更箇所を、ローカルコンピュータ２０上のユーザインタフェース情報、および、クリップボード２４に反映させる機能を有する。
【００１９】
なお、逆に、ローカルコンピュータ２０側でのユーザインタフェース情報、及びクリップボード２４の変更箇所も、同様の逆の経由でリモートコンピュータ１０に送られる。このような処理によって、ローカルコンピュータ２０が備えるキーボードやマウスの操作に基づく処理内容を、リモートコンピュータ１０におけるユーザインタフェース情報に反映することができ、クリップボード１４，２４の内容を同期する。
【００２０】
このように、クリップボード１４，２４の同期処理は、ターミナルサービス部１２とリモートデスクトップ接続クライアント部２２の機能に組み込まれている。このため、ターミナルサービス部１２とリモートデスクトップ接続クライアント部２２との間のプロトコルを把握することなく、データ送受信を単に中継しているだけのサービスアプリケーションとクライアントアプリケーションは、クリップボード１４，２４の同期処理を抑制することができない。
【００２１】
すなわち、単に、ターミナルサービス部１２とリモートデスクトップ接続クライアント部２２の機能を使用しているだけでは、リモートコンピュータ１０とローカルコンピュータ２０との間のコピーアンドペーストを抑制することができず、情報漏えいが発生してしまう。
【００２２】
図２は、ローカルコンピュータ２０におけるクライアントアプリケーション部２１とクリップボード２４との関係を説明するためのブロック図である。図２に示すように、クライアントアプリケーション部２１は、クライアントアプリケーションとして、クリップボード制御モジュール２１ａを有している。本例では、ローカルコンピュータ２０は、クライアントアプリケーション及びリモートデスクトップ接続クライアントとは独立に動作する、その他のアプリケーション２１ｂを有している。なお、「その他のアプリケーション２１ｂ」は、クリップボード制御モジュール２１ａ以外のクライアントアプリケーションを意味する。
【００２３】
例えば、ＯＳにおいては、一つのソフトウェアモジュールが、そのソフトウェアモジュールの持つウィンドウのウィンドウハンドルをキーにして、クリップボードを排他的に使用する機能を有しているものがある。
【００２４】
上記機能を利用して、クリップボード制御モジュール２１ａが、クリップボード２４を排他的に使用することにより、その他のアプリケーション２１ｂは、クリップボード２４を読み取ることができなくなる。このため、たとえクリップボード２４内にリモートコンピュータ１０のデータが存在していたとしても、そのデータをそのアプリケーション２１ｂのデータとして取得することができない。その結果、リモートコンピュータ１０からローカルコンピュータ２０への、クリップボード１４，２４を経由した情報漏洩を抑制することができる。また、その他のアプリケーション２１ｂから、クリップボード２４へデータを挿入することもできないので、逆方向の情報漏洩を抑制することもできる。
【００２５】
上記のように制御することで、ローカルコンピュータ２０上の他のアプリケーション２１ｂがクリップボード２４を読み出せなくなるため、情報漏洩が抑制できるようになる。ところが、ローカルコンピュータ２０上のアプリケーション同士のクリップボード２４経由のデータのコピーアンドペーストなど、情報漏えいに繋がらない操作を許可したいことがある。
【００２６】
図３（Ａ）は、アプリケーションＡ１０２からアプリケーションＢ１０３にコピーアンドペーストを行おうとしている時の、ローカルコンピュータ２０のデスクトップ画面の状態である。アプリケーションＡ１０２からクリップボード２４にデータをコピーするときには、先ず、図３（Ａ）に示すように、アプリケーションＡ１０２のウィンドウをフォアグラウンドウィンドウとし、リモートデスクトップ接続クライアント１０１およびアプリケーションＢ１０３をバックグラウンドとする。この状態で、アプリケーションＡ１０２からクリップボード２４にデータをコピーする。次いで、アプリケーションＢ１０３をフォアグラウンドウィンドウとし、クリップボード２４に保存されているデータをアプリケーションＢ１０３にコピーする。
【００２７】
このように、コピーの操作はフォアグラウンドウィンドウに対して行われるため、リモートデスクトップ接続クライアント部２２以外のアプリケーションがフォアグラウンドウィンドウである時のみコピー操作が行えることにすれば、リモートコンピュータ１０のデータがクリップボード２４に入ることはない。
【００２８】
これに対して、図３（Ｂ）は、フォアグラウンドアプリケーションを切り替えて、リモートデスクトップ接続クライアント部２２がフォアグラウンドウィンドウになった状態のデスクトップ画面である。この時にコピー操作を行うと、リモートコンピュータ１０のクリップボード１４の内容が、リモートデスクトップ接続クライアント部２２を通して、ローカルコンピュータ２０のクリップボード２４にコピーされてしまう。よって、リモートコンピュータ１０からの情報漏洩につながりかねない。そのため、この状態においては、クリップボード２４の使用を禁止する必要がある。
【００２９】
図４は、その他のアプリケーション２１ｂにおけるクリップボードの使用を制限するためのクリップボード使用制限モジュール２１ａの構成例を示すブロック図である。図４に示すように、クリップボード使用制限モジュール２１ａは、タイマ２０１と、フォアグラウンドウィンドウ取得部２０２と、ウィンドウハンドル比較部２０３と、ウィンドウハンドル保持部２０４と、リモートデスクトップ接続クライアントプロセスＩＤ保持部２０５と、プロセスＩＤ比較部２０６と、プロセスＩＤ取得部２０７と、クリップボードロック制御部２０８と、クリップボード状態保持部２０９とを含む。
【００３０】
タイマ２０１は、時間を計測し、フォアグラウンドウィンドウ取得部２０２に処理を実行させるためのトリガ信号を一定時間ごとに送出する。フォアグラウンドウィンドウ取得部２０２は、タイマ２０１からのトリガを受信すると、現在のフォアグラウンドウィンドウのウィンドウハンドルを取得するＡＰＩ（Application Program Interface）を実行し、取得したウィンドウハンドルをウィンドウハンドル比較部２０３に送信する。
【００３１】
ウィンドウハンドル比較部２０３は、フォアグラウンドウィンドウ取得部２０２から受信したウィンドウハンドルと、ウィンドウハンドル保持部２０４に保持されている前回受信したフォアグラウンドウィンドウのウィンドウハンドルとを比較する処理を実行する機能を有する。
【００３２】
ウィンドウハンドル比較部２０３によって２つのウィンドウハンドルが一致しないと判定された場合には、フォアグラウンドウィンドウが変更されたものとみなせる。よって、ウィンドウハンドル比較部２０３は、一致しないと判定した場合には、ウィンドウハンドル保持部２０４に今回受信したウィンドウハンドルを保持させた後、プロセスＩＤ取得部２０７に今回受信したウィンドウハンドルを送信する。
【００３３】
プロセスＩＤ取得部２０７は、受信したウィンドウハンドルの持ち主であるプロセスのプロセスＩＤを取得する。すなわち、ウィンドウハンドルを使用しているアプリケーションを実行しているプログラム（モジュール）に付与されているプロセスＩＤを取得する。その後、プロセスＩＤ取得部２０７は、取得したプロセスＩＤを、プロセスＩＤ比較部２０６に送信する。
【００３４】
プロセスＩＤ比較部２０６は、リモートデスクトップ接続クライアントプロセスＩＤ保持部２０５に保持されているプロセスＩＤと、プロセスＩＤ取得部２０７から受信したプロセスＩＤを比較する処理を実行する機能を有する。なお、リモートデスクトップ接続クライアントＩＤ保持部２０５は、リモートデスクトップ接続クライアント部２２のプロセスＩＤを保持している。
【００３５】
本例では、プロセスＩＤ比較部２０６が２つのプロセスＩＤが一致したと判定した場合には、リモートデスクトップ接続クライアント部２２のウィンドウがフォアグラウンドウィンドウであると判断できるので、クリップボード２４へのデータ保存を抑制し、リモートコンピュータ１０からのクリップボード１４経由のコピーを禁止する。
【００３６】
すなわち、クリップボードロック制御部２０８は、クリップボード状態保持部２０９に現在のクリップボード２４の使用状況を問い合わせ、クリップボードロック制御部２０８がクリップボードの排他的使用をしていないのであれば、クリップボード２４の排他的使用を開始する。
【００３７】
一方、プロセスＩＤ比較部２０６が２つのプロセスＩＤが一致しないと判定した場合には、フォアグラウンドウィンドウはリモートデスクトップ接続クライアント部２２以外のアプリケーションのウィンドウであるので、クリップボード２４の使用を許可しても構わない。
【００３８】
すなわち、クリップボードロック制御部２０８は、クリップボード状態保持部２０９に現在のクリップボード２４の使用状況を問い合わせ、クリップボード２４の排他的使用をしているのであれば、クリップボード２４の排他的使用をやめ、他のアプリケーションがクリップボード２４を使用できるようにする。
【００３９】
次に、本例の遠隔制御システムにおけるローカルコンピュータ２０（具体的にはクリップボード使用制限モジュール２１ａ）が実行するクリップボード制御処理について説明する。図５は、クリップボード制御処理の例を示すフローチャートである。
【００４０】
クリップボード制御処理において、ローカルコンピュータ２０は、どのウィンドウがフォアグラウンドウィンドウになっているかを確認するためにフォアグラウンドウィンドウのウィンドウハンドルを取得する（ステップＳ２０１）。取得したフォアグラウンドウィンドウのウィンドウハンドルが前回と異なっていれば（ステップＳ２０２のＮ）、ローカルコンピュータ２０は、フォアグラウンドウィンドウが変更されたといえるので、そのフォアグラウンドウィンドウの持ち主を知るために、ウィンドウハンドルにもとづいてプロセスＩＤを取得する（ステップＳ２０３）。
【００４１】
次に、ローカルコンピュータ２０は、取得したプロセスＩＤをリモートデスクトップ接続クライアントの物と比較し（ステップＳ２０４）、リモートデスクトップ接続クライアント部２２のプロセスＩＤと一致した場合（ステップＳ２０４のＹ）、リモートデスクトップ接続クライアント部２２がフォアグラウンドウィンドウになっていると判断する。また、それ以外の場合は（ステップＳ２０４のＮ）、リモートデスクトップ接続クライアント部２２以外のアプリケーションがフォアグラウンドウィンドウになっていると判断する。
【００４２】
リモートデスクトップ接続クライアント部２２がフォアグラウンドウィンドウになっている場合、ローカルコンピュータ２０は、まだクリップボード２４の排他的使用を開始していないのであれば（ステップＳ２０５のＮ）、クリップボード２４の排他的使用を開始し（ステップＳ２０６）、ローカルコンピュータ２０のデータが残存しているクリップボード２４のデータを消去する（ステップＳ２０７）。
【００４３】
一方、リモートデスクトップ接続クライアント部２２以外のアプリケーションがフォアグラウンドウィンドウのウィンドウになっている場合、ローカルコンピュータ２０は、現時点ですでにクリップボードの排他的使用をしているのであれば（ステップＳ２０９のＹ）、リモートコンピュータ１０のデータが残存しているおそれのあるクリップボード２４の内容を一旦消去し（ステップＳ２１０）、クリップボード２４の排他的使用を中止する（ステップＳ２１１）。これにより、その他のアプリケーション２１ｂがクリップボード２４を使用できるようになる。
【００４４】
その後、ローカルコンピュータ２０におけるクリップボード使用制限モジュール２１ａは、必要以上に頻繁にフォアグラウンドウィンドウを取得してローカルコンピュータ２０の使用効率が落ちるのを防ぐため、次のフォアグラウンドウィンドウの取得まで待機する（ステップＳ２０８）。
【００４５】
以上に説明したように、本発明の第１実施形態によれば、ローカルコンピュータ２０が、アプリケーションで使用されるデータを保持可能なクリップボード２４と、リモート制御アプリケーションを用いてリモートコンピュータ１０の遠隔制御を行うリモートデスクトップ接続クライアント部２２と、リモート制御アプリケーション以外のアプリケーションによるクリップボード２４の使用の許可／不許可を設定するクリップボード使用制限モジュール２１ａと、を備え、クリップボード使用制限モジュール２１ａが、リモート制御アプリケーションがフォアグラウンドであるときにクリップボード２４の使用の不許可を設定し、リモート制御アプリケーションがバックグラウンドであるときにクリップボード２４の使用の許可を設定する構成としたので、リモートコンピュータ１０とローカルコンピュータ２０との間におけるクリップボード２４へのコピーのためのデータの受け渡しを簡単かつ適切に制限することができる。
【００４６】
すなわち、ローカルコンピュータ２０のクリップボード２４に対する、フォアグラウンドウィンドウを監視し、フォアグラウンドとなっているアプリケーションがリモート制御アプリケーションであるときに、リモート制御アプリケーション以外のアプリケーションによる使用を制限する機能を有しているので、リモートコンピュータ１０からローカルコンピュータ２０へのコピーアンドペーストを適切に抑制することができる。また、リモートコンピュータ１０とローカルコンピュータ２０との間で、コピーアンドペーストによるデータの受け渡しができなくなるため、情報が漏洩してしまう危険性を低減することができる。
【００４７】
また、上述した第１実施形態では、ローカルコンピュータ２０が、リモート制御アプリケーションがフォアグラウンドからバックグラウンドに切り替わったときに、クリップボード２４の保持内容を消去し、そのあとにクリップボード２４の使用の許可を設定するように構成されているので、ローカルコンピュータ２０上で動作するアプリケーション同士のクリップボード２４を介したデータのコピーアンドペーストを実行可能にすることができ、許容すべき処理まで制限することなく適切に制限することができる。すなわち、ローカルコンピュータ２０におけるリモートデスクトップ接続クライアント以外のアプリケーション同士でのコピーアンドペーストが可能になるため、リモートデスクトップ接続クライアントの使用中における別のアプリケーションでの作業が容易になる。
【００４８】
［第２実施形態］
次に、本発明の第２実施形態に係るローカルコンピュータ２０Ａを含む遠隔制御システムの構成について説明する。図６に示すように、第２実施形態に係る遠隔制御システムは、リモートコンピュータ１０Ａが備えるサービスアプリケーション部１１がフォアグラウンド監視モジュール１１ａを有する点や、ローカルコンピュータ２０Ａに許可／不許可設定ＤＢ２５が備えられている点などにおいて、第１実施形態と異なる。第２実施形態に係る遠隔制御システムは、リモートコンピュータ１０Ａ上で動作しているアプリケーションの種類によって、ローカルコンピュータ２０Ａへのコピーアンドペーストの許可・不許可を切り替えるものである。なお、第２実施形態において、第１実施形態と同様の構成については、同一符号を付し、その説明を省略する。
【００４９】
リモートコンピュータ１０Ａが備えるフォアグラウンドウィンドウ監視モジュール１１ａは、クリックボード制御モジュール２１ａと同様にフォアグラウンドウィンドウの変化を監視し、変化を検知したら現在のフォアグラウンドウィンドウから得られる識別情報（アプリケーションＩＤ）を取得する処理などの各種の処理を実行する機能を有する。
【００５０】
ローカルコンピュータ２０Ａが備える許可／不許可設定ＤＢ２５は、ＲＡＭやＲＯＭなどの記憶媒体によって構成され、クリップボード２４の使用を許可するか否かの判定に用いられるクリップボード使用制限判定情報が格納される。
【００５１】
クリップボード使用制限判定情報は、例えば図７（Ａ）に示すアプリケーション登録リストテーブルに設定された情報と、図７（Ｂ）に示すクリップボード使用許可／不許可設定テーブルに設定された情報と、図７（Ｃ）に示すクリップボード使用可能アプリケーションソフト設定テーブルに設定された情報とを含む。
【００５２】
アプリケーション登録リストテーブルには、アプリケーションＩＤ、アプリケーション名、プログラム名などが対応付けされたアプリケーション登録情報が格納される。クリップボード使用許可／不許可設定テーブルには、ログインユーザＩＤ、クリップボード制限の要否などが対応付けされたクリップボード使用許可／不許可情報が格納される。クリップボード使用可能アプリケーションソフト設定テーブルには、ログインユーザＩＤと、クリップボード２４の使用を許可するアプリケーションのアプリケーションＩＤを示す許可アプリケーションＩＤとが対応付けされたクリップボード使用許可アプリケーション情報が格納される。
【００５３】
ここで、アプリケーションＩＤ（識別情報）としては、アプリケーションに対して唯一存在し、他のアプリケーションと混同する可能性がないものを定義して使用する。すなわち、アプリケーションＩＤは、アプリケーションを一意に特定可能な数字や記号などによって表現される。アプリケーションの数は多いため、全てのアプリケーションに対してＩＤを付与して使用許可／不許可を設定するのは困難であることが考えられる。このため、クリップボード使用許可／不許可設定テーブルにおいてユーザごとにクリップボードの使用に制限をかけるかどうかを設定し、制限をかけるとしたユーザに対しては、アプリケーション登録リストテーブルで定義したアプリケーションＩＤを使用して、ユーザ毎のクリップボード使用可能アプリケーションソフト設定テーブルでクリップボードの使用を許可するアプリケーションを設定する。なお、アプリケーションの数は多く、管理者が知らないアプリケーションをユーザが使用する可能性もあることからも、全てのアプリケーションに対してＩＤを付与することは現実的でない。この場合、明示的に使用許可／不許可を設定したいアプリケーションのみにＩＤを付与し、そのＩＤを用いてユーザ毎の個別設定を行うようにすればよい。使用許可／不許可を設定したいアプリケーション以外のアプリケーションについては、例えば、一律に不許可とするようにすればよい。
【００５４】
次に、本例の遠隔制御システムにおけるローカルコンピュータ２０Ａ（具体的にはクリップボード使用制限モジュール２１ａ）が実行するクリップボード制御処理について説明する。図８は、クリップボード制御処理の例を示すフローチャートである。
【００５５】
本例では、リモートコンピュータ１０Ａが備えるフォアグラウンドウィンドウ監視モジュール１１ａは、クリックボード制御モジュール２１ａと同様にリモートコンピュータ１０Ａにおけるフォアグラウンドウィンドウの変化を監視し、変化を検知したら現在のフォアグラウンドウィンドウから得られる識別情報（アプリケーションＩＤ）を取得する。サービスアプリケーション部１１は、フォアグラウンドウィンドウ監視モジュール１１ａが取得した識別情報を、ローカルコンピュータ２０Ａが備えるクライアントアプリケーション部２１に送信する。
【００５６】
クリップボード制御処理において、クライアントアプリケーション部２１のクリップボード使用制限モジュール２１ａは、リモートコンピュータ１０Ａからの識別情報（アプリケーションＩＤ）を受信すると（ステップＳ３０１）、受信した識別情報を許可／不許可設定ＤＢ２５に登録されている情報と照合する（ステップＳ３０２）。
【００５７】
ステップＳ３０２の照合処理では、先ず、クリップボード使用許可／不許可設定テーブルの設定情報に基づいて、ローカルコンピュータ２０Ａのユーザがクリップボード２４の使用制限を受けているか否か確認する。そして、制限を受けている場合には、クリップボード使用可能アプリケーションソフト設定テーブルを用いてそのユーザに対してクリップボード２４の使用を許可するアプリケーションを確認し、アプリケーションＩＤが示すアプリケーションと一致するか否か確認する。
【００５８】
照合の結果、不許可にすべきものであれば、クリップボード使用制限モジュール２１ａは、ステップＳ２０５に移行して、第１実施形態と同様にクリップボード２４への排他的使用を開始して、他のアプリケーションからの読み取りを抑制する。一方、許可すべきものであれば、クリップボード使用制限モジュール２１ａは、ステップＳ２０９に移行して、クリップボード２４への排他的使用を中止し、他のアプリケーションからの読み取りを可能にする。
【００５９】
以上に説明したように、本発明の第２実施形態によれば、リモートコンピュータ１０Ａが、フォアグラウンドのアプリケーションを監視し、フォアグラウンドのアプリケーションが切り替わったときに、切り替わったアプリケーションを一意に特定可能なアプリケーションＩＤを送信し、ローカルコンピュータ２０Ａが、リモートコンピュータ１０ＡからのアプリケーションＩＤが示すアプリケーションがクリップボード２４の使用を許容されていないアプリケーションであるときにクリップボード２４の使用の不許可を設定し、リモートコンピュータ１０ＡからのアプリケーションＩＤが示すアプリケーションがクリップボード２４の使用を許容されているアプリケーションであるときにクリップボード２４の使用の許可を設定する構成としているので、リモートコンピュータ１０Ａで動作しているアプリケーションの種類によって、クリップボード２４の使用の可否を決定することができ、リモートコンピュータ１０Ａとローカルコンピュータ２０Ａとの間におけるクリップボード２４へのコピーのためのデータの受け渡しを簡単かつ適切に制限することができる。
【００６０】
なお、図６に示す例では許可／不許可設定ＤＢ２５をローカルコンピュータ２０が備える構成としていたが、図９に示すように、識別情報管理サーバ４０を別途用意し、この識別情報管理サーバ４０に、識別情報の照合処理を実行する識別情報照合モジュール４１と、許可／不許可設定ＤＢ２５と同様の許可／不許可設定ＤＢ４２とを備える構成としてもよい。この場合、ローカルコンピュータ２０Ａが、識別情報管理サーバ４０に照合結果を問い合わせることで、クリップボード２４の使用の許可／不許可を決定するようにすればよい。このように構成すれば、複数のクライアント（ローカルコンピュータ）を統合して管理することができる。
【００６１】
図９に示す遠隔制御システムは、図６に示す遠隔制御システムと以下の点で異なる。識別情報照合モジュール４１が、フォアグラウンドウィンドウ監視モジュール１１ａが取得した識別情報と、許可／不許可設定ＤＢ４２とを照合し、照合結果に応じてクリップボード２４の使用許可／不許可命令を生成し、クライアントアプリケーション部２１に送信する。クライアントアプリケーション部２１が受け取った命令に従って、クリップボード使用制限モジュール２１ａが、クリップボード２４の排他的使用の開始／終了処理を実行する。なお、図１に示したように、本例の遠隔制御システムは一般的にゲートウェイサーバ３０を使用するので、識別情報管理サーバ４０はゲートウェイサーバ３０を同じコンピュータ上に置き、ゲートウェイサーバ３０を通して識別情報と命令を送受信することが効率的であると考えられる。
【００６２】
［第３実施形態］
次に、本発明の第３実施形態に係るローカルコンピュータ２０Ａを含む遠隔制御システムの構成について説明する。第３実施形態に係る遠隔制御システムは、クリップボード２４の中にあるデータの形式、すなわちテキストなのか画像なのかなどによって、コピーの許可／不許可を切り替える点が、第２実施形態と異なる。なお、第３実施形態において、第１及び第２実施形態と同様の構成については、同一符号を付し、その説明を省略する。
【００６３】
図１０は、第３実施形態に係るローカルコンピュータ２０Ａの構成例を示すブロック図である。ローカルコンピュータ２０Ａ上のクリップボード使用制限モジュール２１ａは、第２実施形態と同様に、クリップボード２４を監視し、クリップボード２４の内容に変化があった場合、クリップボード２４に入っているデータ形式をＯＳ（例えばウィンドウズ（登録商標））の機能であるＷｉｎ３２  ＡＰＩを利用して取得し、そのデータ形式と許可／不許可設定ＤＢ２５の格納データとを照合し、クリップボード２４を他のアプリケーションから使用できないようにする。
【００６４】
また、クリップボード２４に入っているデータ形式のいずれも不許可とされていない場合、クリップボード２４の排他的使用を中止し、クリップボード２４を他のアプリケーションから使用できるようにする。
【００６５】
図１０に示す例では、許可／不許可設定ＤＢ２５をローカルコンピュータ２０Ａが備える構成としていたが、図９に示した識別情報管理サーバ４０を設ける構成とし、識別情報管理サーバ４０に判断を任せるようにしてもよい。
【００６６】
図１１は、本例における許可／不許可設定ＤＢ２５の格納情報の例を示す説明図である。図１１に示すように、データ形式ごとのクリップボード２４の使用の許可あるいは不許可を決定可能なクリップボード使用制限判定情報が格納される。
【００６７】
本例のクリップボード使用制限判定情報は、例えば図１１（Ａ）に示すデータ形式登録リストテーブルに設定された情報と、図１１（Ｂ）に示すクリップボード使用許可／不許可設定テーブルに設定された情報と、図１１（Ｃ）に示すクリップボード使用可能データ形式設定テーブルに設定された情報とを含む。
【００６８】
データ形式登録リストテーブルには、データ形式毎に一意に付与されるデータ形式ＩＤ、テキストやビットマップ等のデータ形式などが対応付けされたデータ形式登録情報が格納される。クリップボード使用許可／不許可設定テーブルには、ログインユーザＩＤ、クリップボード制限の要否などが対応付けされたクリップボード使用許可／不許可情報が格納される。クリップボード使用可能データ形式設定テーブルには、ログインユーザＩＤと、クリップボード２４の使用を許可するデータ形式を示すデータ形式ＩＤとが対応付けされたクリップボード使用許可データ形式情報が格納される。
【００６９】
次に、本例の遠隔制御システムにおけるローカルコンピュータ２０Ａ（具体的にはクリップボード使用制限モジュール２１ａ）が実行するクリップボード制御処理について説明する。図１２は、クリップボード制御処理の例を示すフローチャートである。
【００７０】
本例では、リモートコンピュータ１０Ａが備えるフォアグラウンドウィンドウ監視モジュール１１ａは、リモートコンピュータ１０Ａにおけるフォアグラウンドウィンドウで使用されているデータのデータ形式の変化を監視し、変化を検知したら現在のフォアグラウンドウィンドウから得られる識別情報（データ形式ＩＤ）を取得する。サービスアプリケーション部１１は、フォアグラウンドウィンドウ監視モジュール１１ａが取得した識別情報を、ローカルコンピュータ２０Ａが備えるクライアントアプリケーション部２１に送信する。
【００７１】
クリップボード制御処理において、クライアントアプリケーション部２１のクリップボード使用制限モジュール２１ａは、リモートコンピュータ１０Ａからの識別情報（データ形式ＩＤ）を受信すると（ステップＳ４０１）、受信した識別情報を許可／不許可設定ＤＢ２５に登録されている情報と照合する（ステップＳ４０２）。
【００７２】
ステップＳ４０２の照合処理では、先ず、クリップボード使用許可／不許可設定テーブルの設定情報に基づいて、ローカルコンピュータ２０Ａのユーザがクリップボード２４の使用制限を受けているか否か確認する。そして、制限を受けている場合には、クリップボード使用可能データ形式設定テーブルを用いてそのユーザに対してクリップボード２４の使用を許可するデータ形式を確認し、データ形式ＩＤが示すデータ形式と一致するか否か確認する。
【００７３】
照合の結果、不許可にすべきものであれば、クリップボード使用制限モジュール２１ａは、ステップＳ２０５に移行して、第１実施形態と同様にクリップボード２４への排他的使用を開始して、他のアプリケーションからの読み取りを抑制する。一方、許可すべきものであれば、クリップボード使用制限モジュール２１ａは、ステップＳ２０９に移行して、クリップボード２４への排他的使用を中止し、他のアプリケーションからの読み取りを可能にする。
【００７４】
以上に説明したように、本発明の第３実施形態によれば、リモートコンピュータ１０Ａが、フォアグラウンドのアプリケーションで使用されているデータ形式を監視し、そのデータ形式が切り替わったときに、切り替わったデータ形式を一意に特定可能なデータ形式ＩＤを送信し、ローカルコンピュータ２０Ａが、リモートコンピュータ１０Ａからのデータ形式ＩＤが示すデータ形式がクリップボード２４の使用を許容されていないデータ形式であるときにクリップボード２４の使用の不許可を設定し、リモートコンピュータ１０Ａからのデータ形式ＩＤが示すデータ形式がクリップボード２４の使用を許容されているデータ形式であるときにクリップボード２４の使用の許可を設定する構成としているので、リモートコンピュータ１０Ａで動作しているデータ形式の種類によって、クリップボード２４の使用の可否を決定することができ、リモートコンピュータ１０Ａとローカルコンピュータ２０Ａとの間におけるクリップボード２４へのコピーのためのデータの受け渡しを簡単かつ適切に制限することができる。
【００７５】
なお、第３実施形態においても、図９に示すように、識別情報管理サーバ４０を別途用意し、この識別情報管理サーバ４０に、識別情報の照合処理を実行する識別情報照合モジュール４１と、許可／不許可設定ＤＢ２５と同様の許可／不許可設定ＤＢ４２とを備える構成としてもよい。
【００７６】
なお、本発明の第１〜第３実施形態を説明したが、本発明の構成は、上記の各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することもできる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００７７】
また、上述した第１〜第３実施形態においては特に言及していないが、上述したリモートコンピュータ、ローカルコンピュータ、識別情報管理サーバの各部は、それぞれ、自己が備える制御プログラム（遠隔制御プログラム）に従って、上述した各種の処理を実行する。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１実施形態に係る遠隔制御システムの構成例を示すブロック図である。
【図２】ローカルコンピュータにおけるクライアントアプリケーション部とクリップボードとの関係を説明するためのブロック図である。
【図３】ローカルコンピュータのウィンドウの状態を示す説明図である。
【図４】クリップボード使用制限モジュールの構成例を示すブロック図である。
【図５】第１実施形態におけるクリップボード制限処理の例を示すフローチャートである。
【図６】本発明の第２実施形態に係る遠隔制御システムの構成例を示すブロック図である。
【図７】第２実施形態における許可／不許可設定ＤＢの格納情報の例を示す説明図である。
【図８】第２実施形態におけるクリップボード制限処理の例を示すフローチャートである。
【図９】識別情報管理サーバを備えた遠隔制御システムの構成例を示すブロック図である。
【図１０】本発明の第３実施形態に係る遠隔制御システムの構成例を示すブロック図である。
【図１１】第３実施形態における許可／不許可設定ＤＢの格納情報の例を示す説明図である。
【図１２】第３実施形態におけるクリップボード制限処理の例を示すフローチャートである。
【符号の説明】
【００７９】
１０，１０Ａ…リモートコンピュータ、１１…サービスアプリケーション部、１２…ターミナルサービス部、１３…ユーザインタフェース情報ＤＢ、１４，２４…クリップボード、２０…ローカルコンピュータ、２１…クライアントアプリケーション部、２１ａ…クリップボード使用制限モジュール、２２…リモートデスクトップ接続クライアント部、２３…ユーザインタフェース情報ＤＢ、２４…ユーザインタフェース情報ＤＢ、２５…許可／不許可ＤＢ、３０…ゲートウェイサーバ。
【図１】
2008217449.tif 000003
【図２】
2008217449.tif 000004
【図３】
2008217449.tif 000005
【図４】
2008217449.tif 000006
【図５】
2008217449.tif 000007
【図６】
2008217449.tif 000008
【図７】
2008217449.tif 000009
【図８】
2008217449.tif 000010
【図９】
2008217449.tif 000011
【図１０】
2008217449.tif 000012
【図１１】
2008217449.tif 000013
【図１２】
2008217449.tif 000014