説明

情報処理プログラム、情報処理装置及び情報処理方法

【課題】利便性の低下を防ぎつつ情報流出を防ぐこと。
【解決手段】本願の開示する情報処理プログラムは、一つの態様において、受付ける処理と、格納する処理と、判定する処理とをコンピュータに実行させる。受付ける処理は、データを複写する命令の入力を受付ける。格納する処理は、コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写されたデータを、そのデータを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納する。判定する処理は、記憶領域からデータを取り出す命令が発生した場合に、コンピュータ環境を示す情報に基づいて、取り出す命令を実行するか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
近年、仮想環境を利用したコンピュータ処理や、遠隔地にあるリモートコンピュータを操作するコンピュータ処理が広く行われている。つまり、物理的に操作されるローカルコンピュータとは異なる環境に存在する情報を、ローカルコンピュータのハードウェアを用いて処理することが行われている。
【0003】
ここで、コンピュータを動作させるオペレーティングシステムには、異なるアプリケーションの間で情報の受け渡しを可能にするクリップボードと呼ばれる機能が備わっており、上述した処理においても利用されている。例えば、リモートコンピュータ上のアプリケーションとローカルコンピュータ上のアプリケーションとの間でも情報の受け渡しが行われている。しかし、この場合、リモートコンピュータの情報がローカルコンピュータから漏洩する危険性が生じてしまう。そこで、この危険性を軽減するために、例えば、リモートコンピュータが起動した時点でクリップボードに関する機能の全てを禁止する技術が存在する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−217449号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、利便性が低下してしまうという問題があった。例えば、リモートコンピュータ上に存在するアプリケーションの間で情報の受け渡しが行われても、リモートコンピュータの情報がローカルコンピュータから漏洩する危険性は生じない。また、例えば、ローカルコンピュータ上に存在するアプリケーションの間で情報の受け渡しが行われても、リモートコンピュータの情報がローカルコンピュータから漏洩する危険性は生じない。このように、上記の従来技術は、情報漏洩の危険性が生じない場面があるにもかかわらず、情報の受け渡しを禁止してしまうため、利便性が低下していた。
【0006】
開示の技術は、上記に鑑みてなされたものであって、利便性の低下を防ぎつつ情報漏洩を防ぐことができる情報処理プログラム、情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願の開示する情報処理プログラムは、一つの態様において、受付ける処理と、格納する処理と、判定する処理とをコンピュータに実行させる。受付ける処理は、データを複写する命令の入力を受付ける。格納する処理は、コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写されたデータを、そのデータを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納する。判定する処理は、記憶領域からデータを取り出す命令が発生した場合に、コンピュータ環境を示す情報に基づいて、取り出す命令を実行するか否かを判定する。
【発明の効果】
【0008】
本願の開示する技術の一つの態様によれば、利便性の低下を防ぎつつ情報流出を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】図1は、実施例1に係る情報処理システムの構成の一例を示すブロック図である。
【図2】図2は、クライアント端末が表示する画面の一例を示す図である。
【図3】図3は、実施例1に係るクライアント端末の機能構成の一例を示すブロック図である。
【図4】図4は、クリップボードに格納されるクリップボード情報のデータ構造の一例を示す図である。
【図5】図5は、ログ情報の一例を示す図である。
【図6】図6は、実施例1に係るVMの機能構成の一例を示すブロック図である。
【図7】図7は、実施例1に係る監視アプリの処理手順を示すフローチャートである。
【図8】図8は、実施例1に係る監視アプリの処理手順を示すフローチャートである。
【図9】図9は、実施例1に係る情報処理システムの動作例について説明するための図である。
【図10】図10は、実施例2に係る情報処理システムの動作例について説明するための図である。
【図11】図11は、実施例3に係る情報処理システムの動作例について説明するための図である。
【図12】図12は、情報処理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する情報処理プログラム、情報処理装置及び情報処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0011】
実施例1に係る情報処理システムの構成について説明する。図1は、実施例1に係る情報処理システムの構成の一例を示すブロック図である。図1に示すように、情報処理システム1は、データセンタ10と、クライアント端末100とを有する。データセンタ10及びクライアント端末100は、ネットワーク5を介して相互に通信可能に接続される。かかるネットワーク5には、有線または無線を問わず、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。なお、ここでは、1つのデータセンタと、1つのクライアント端末とをそれぞれ図示したが、開示のシステムは図示の構成に限定されない。すなわち、情報処理システム1は、任意の数のデータセンタと、任意の数のクライアント端末とを収容できる。
【0012】
データセンタ10は、サーバ装置11a,11b・・・を有する。サーバ装置11aは、通信制御部12aと、ハイパーバイザ13aとを有する。通信制御部12aは、データセンタ10とクライアント端末100との間で送受信される各種情報に関する通信を制御する。例えば、通信制御部12aは、NIC(Network Interface Card)である。ハイパーバイザ13aは、仮想的なコンピュータである仮想マシン(VM:Virtual Machine)を実現するプログラムである。例えば、サーバ装置11aは、ハイパーバイザ13a上で独自のオペレーティングシステム(OS:Operating System)を動作させることで、VM200aのコンピュータ環境を実現させる。コンピュータ環境は、OS毎に実現される。つまり、OSが異なる場合には、異なるコンピュータ環境として認識される。なお、仮想マシンの実現は、ハイパーバイザを用いた方法に限定されるものではない。例えば、サーバ装置11aは、ホストOS上で仮想化ソフトを実行し、そこで仮想マシンを実現する方法を用いても良い。また、サーバ装置11bは、通信制御部12bと、ハイパーバイザ13bとを有する。通信制御部12b及びハイパーバイザ13bの説明は、通信制御部12a及びハイパーバイザ13aの説明とそれぞれ同様である。例えば、サーバ装置11bは、ハイパーバイザ13b上で2つのOSを動作させることで、VM200b及びVM200cのコンピュータ環境をそれぞれ実現させる。なお、ここでは、サーバ装置11a,11b・・・を区別なく述べる場合にサーバ装置11と総称する。また、VM200a,200b,200c・・・を区別なく述べる場合にVM200と総称する。
【0013】
例えば、データセンタ10のサーバ装置11は、後述するクライアント端末100から利用者により入力された入力情報を受信し、受信した入力情報に応じたVM200の処理を実行する。また、例えば、データセンタ10のサーバ装置11は、処理が実行されたVM200のデスクトップ画面の情報をクライアント端末100に送信する。
【0014】
クライアント端末100は、利用者により利用される端末装置であり、例えば、パーソナルコンピュータやPDA(Personal Digital Assistant)などのコンピュータシステムに対応する。例えば、クライアント端末100は、独立したOSを動作させることで、クライアント端末100のコンピュータ環境を実現させる。
【0015】
例えば、クライアント端末100は、データセンタ10のサーバ装置11からVM200のデスクトップ画面の情報を受信し、受信したVM200のデスクトップ画面を表示する。また、例えば、クライアント端末100は、表示したVM200のデスクトップ画面を介して利用者による入力を受け付けると、入力された入力情報をデータセンタ10のサーバ装置11に送信する。
【0016】
図2を用いて、クライアント端末100が表示する画面の一例について説明する。図2は、クライアント端末が表示する画面の一例を示す図である。図2に示すように、例えば、クライアント端末100は、画面2aを表示する。この画面2aは、領域2bと、領域2cとを含む。このうち、領域2bは、クライアント端末100のデスクトップ画面に対応する。例えば、クライアント端末100が領域2bを介して利用者による入力を受け付けると、入力に応じた処理がクライアント端末100のコンピュータ環境において実行される。また、領域2cは、VM200のデスクトップ画面に対応する。例えば、クライアント端末100が領域2cを介して利用者による入力を受け付けると、入力に応じた処理がVM200のコンピュータ環境において実行される。
【0017】
なお、実施例では、クライアント端末100のコンピュータ環境を「物理環境」とも称し、VM200のコンピュータ環境を「仮想環境」とも称する。つまり、物理環境と仮想環境とは、異なるコンピュータ環境である。また、具体的には、VM200aにより実現される仮想環境と、VM200bにより実現される仮想環境とについても、異なるコンピュータ環境であると言える。
【0018】
ここで、例えば、情報処理システム1において実現されるコンピュータ環境では、文書作成ソフトや表計算ソフトなどのアプリケーションが動作する。また、例えば、情報処理システム1において動作するOSは、異なるアプリケーションの間で情報の受け渡しを可能にするクリップボードに関する機能を備える。なお、以下では、アプリケーションを「アプリ」とも称する。
【0019】
次に、実施例1に係るクライアント端末の機能構成について説明する。図3は、実施例1に係るクライアント端末の機能構成の一例を示すブロック図である。図3に示すように、クライアント端末100は、入力部101と、出力部102と、通信制御部103と、記憶部110と、制御部120とを備える。
【0020】
入力部101は、各種情報の入力を受け付ける入力装置であり、例えば、キーボードやマウスなどに対応する。例えば、入力部101は、出力部102に表示されたクライアント端末100のデスクトップ画面、及びサーバ装置11から送信されたVM200が生成したデスクトップ画面を介して利用者による入力を受け付ける。例えば、入力部101は、データを複写する命令の入力を利用者から受け付ける。
【0021】
出力部102は、各種情報を表示する出力装置であり、例えば、ディスプレイやモニタなどに対応する。例えば、出力部102は、クライアント端末100及びVM200のデスクトップ画面を表示する。
【0022】
通信制御部103は、ネットワーク5を介して送受信される各種情報に関する通信を制御する装置であり、例えば、NICに対応する。例えば、通信制御部103は、VM200のデスクトップ画面を介して入力された入力情報を、データセンタ10のサーバ装置11に送信する。また、例えば、通信制御部103は、処理が実行されたVM200のデスクトップ画面の情報をデータセンタ10のサーバ装置11から受信する。
【0023】
記憶部110は、クリップボード情報111と、ログ情報112と、原本情報113と、VM情報114とを記憶する。例えば、記憶部110は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、ハードディスクや光ディスクなどの記憶装置に対応する。
【0024】
クリップボード情報111は、種々のアプリケーションで利用されるデータを記憶する。例えば、クリップボード情報111は、記憶部110において、後述する制御部120が利用可能な共有メモリの領域に記憶される。なお、以下、共有メモリの領域をクリップボードとも称する。図4は、クリップボードに格納されるクリップボード情報のデータ構造の一例を示す図である。図4に示すように、例えば、クリップボード情報111は、「データ形式」と、「データ」とを有する。このうち、データ形式は、クリップボード情報111のデータの形式を示す。例えば、データ形式は、「テキスト」や「RGB(Red Green Blue)」、「ビットマップ」などを含む。データは、各種データを示す。例えば、「100」や「(255,0,0)」などを含む。なお、クリップボードは、コンピュータが実行する複数のアプリケーションで共有される記憶領域の一例である。例えば、クライアント端末100のクリップボードは、記憶部110の記憶領域に存在する。
【0025】
図4に示すように、例えば、クリップボード情報111は、データ形式「テキスト」と、データ「100」とを含む。つまり、クリップボード情報111は、「100」というテキストデータを含む。また、クリップボード情報111は、他のデータについても同様である。
【0026】
ログ情報112は、利用者による操作の記録を示す情報である。例えば、ログ情報112は、利用者により行われたクリップボードに関する操作の記録である。図5は、ログ情報の一例を示す図である。図5に示すように、ログ情報112は、「名称」と、「発生日時」と、「区分」と、「付帯」と、「内容」と、「備考」とを対応付けた情報を含む。このうち、名称は、情報処理システム1において実現されるコンピュータ環境の名称を示す情報である。発生日時は、該当する操作が行われた日時を示す情報である。区分は、該当する操作の区分を示す情報である。付帯は、該当する操作に関する情報の原本を取得したか否かを示す情報である。例えば、付帯「取得」は、該当する操作に関する元の情報を取得したことを示し、付帯「null」は、取得していないことを示す。内容は、該当する操作の内容の概要である。備考は、該当する操作に関するその他の情報を含む。なお、「null」は、空欄であることを示す。
【0027】
図5に示すように、例えば、ログ情報112は、名称「PC001」と、発生日時「2011/1/19 18:25」と、区分「違反」と、付帯「null」と、内容「クリップボード操作を禁止しました・・・」と、備考「・・・」とを対応付けて記憶する。つまり、ログ情報112は、2011年1月19日18時25分に、PC001というコンピュータ環境において、クリップボードに関する操作が禁止され、備考には「・・・」が格納されていることを記憶する。また、ログ情報112は、他の操作に関する記録を含む。
【0028】
原本情報113は、クリップボードに関する操作の対象となる元の情報である。例えば、原本情報113は、利用者による操作の記録がログ情報112として記録される際に、その操作の対象としてクリップボードに記憶された情報を原本として保管したものである。
【0029】
VM情報114は、VM200のデスクトップ画面の情報である。例えば、VM情報114は、データセンタ10のサーバ装置11から受信された情報である。また、VM情報114は、例えば、後述する画面生成部123により出力部102に図2の領域2cとして表示される。例えば、VM情報114は、サーバ装置11で処理された結果である文書や表計算として表示される。
【0030】
図3の説明に戻る。制御部120は、画面生成部123と、監視部125とを有する。制御部120の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現することができる。また、制御部120の機能は、例えば、CPU(Central Processing Unit)が所定のプログラムを実行することで実現することができる。所定のプログラムとは、例えばOS、文書作成ソフトや表計算ソフトなどのアプリ、後述する監視アプリである。
【0031】
制御部120は、コンピュータシステム全体を管理する基本ソフトウェアであるOSの実行を制御する。例えば、制御部120は、画面生成部123のプロセスを管理する処理を実行する。
【0032】
また、制御部120は、例えば、クリップボードの利用に関する機能を有する。この機能は、例えば、命令や関数の集合であるAPI(Application Program Interface)として提供される。例えば、制御部120は、クリップボードにデータを格納する命令である「SetClipboard」や、クリップボードからデータを取り出す命令である「GetClipboard」というAPIを提供する。なお、以下では、「SetClipboard」を「Set」とも称し、「GetClipboard」を「Get」とも称する。
【0033】
制御部120は、例えば、文書作成ソフトや表計算ソフトなどのアプリの実行を制御する。例えば、制御部120は、クリップボードにデータを複製する命令の入力を利用者から受け付けた場合に、アプリがSetを呼び出すことで、クリップボードにデータを格納する。
【0034】
例えば、表計算ソフトにおいて、数式「=A+B」が設定され、その値としてテキスト「100」が赤い文字で表示されたセルに対して、「コピー」の指示を利用者から受け付けた場合を説明する。この場合、例えば、制御部120は、OSがSetを呼び出すことで、図4のように、クリップボードに、テキスト「100」と、RGB「(255,0,0)」と、数式「=A+B」とを格納する。また、例えば、表計算ソフトのセルに「ペースト」の指示を利用者から受け付けた場合を説明する。この場合、例えば、制御部120は、Getを呼び出すことで、図4のクリップボードから、テキスト「100」と、RGB「(255,0,0)」と、数式「=A+B」とを取り出し、セルに貼り付ける。なお、Getを1回呼び出すことでクリップボードから取り出されるデータの数は1つであるので、3つのデータを取り出すためにはGetを3回呼び出すこととなる。
【0035】
画面生成部123は、ネットワーク5を介して送受信される情報を閲覧するためのアプリの実行を制御する。例えば、画面生成部123は、図2の領域2cを介して利用者による入力を受け付けると、入力された入力情報をデータセンタ10のサーバ装置11に送信する。また、例えば、画面生成部123は、データセンタ10のサーバ装置11からVM情報114を受信し、受信したVM情報114を記憶部110に格納する。また、例えば、画面生成部123は、VM情報114を出力部102に表示する。例えば、画面生成部123は、VM情報114を図2に示した領域2cとして表示する。
【0036】
また、制御部120は、クリップボードに格納されたデータを、異なるコンピュータ環境の間で共有するアプリケーションプロセスを実行する。なお、当該アプリケーションプロセスを、クリップボードプロセスとも称する。例えば、制御部120は、クリップボードにデータを格納する命令が発生した場合に、その命令により格納されるデータが存在するコンピュータ環境が自身のコンピュータ環境であれば、そのデータを他のコンピュータ環境に転送する。例えば、制御部120は、OSがSetを呼び出した場合に、Setにより格納されるデータを、通信制御部103を介してVM200に転送する。
【0037】
また、例えば、制御部120は、他のコンピュータ環境のクリップボードプロセスからデータを受信すると、自身のコンピュータ環境のクリップボードプロセスがSetを呼び出し、受信したデータをクリップボードに格納する。例えば、制御部120は、後述する制御部220により実行されるクリップボードプロセスからデータを受信すると、制御部120により実行されるクリップボードプロセスがSetを呼び出し、受信したデータを記憶部110のクリップボードに格納する。
【0038】
監視部125は、監視アプリの実行を制御する処理部である。監視部125の機能は、例えば、情報処理プログラムがクライアント端末100にインストールされ、CPUにより実行されることにより実現される。図3に示すように、例えば、監視部125は、格納部125aと、判定部125bと、実行部125cとを有する。
【0039】
格納部125aは、クリップボードにデータを格納する命令が発生した場合に、該データが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境である旨を示す情報を所定の記憶領域に格納する。例えば、格納部125aは、制御部120がSetを呼び出した場合に、格納されるデータの転送元のPC名をクリップボードに格納する。例えば、図2の仮想環境において「コピー」の指示を利用者から受け付けた場合を説明する。この場合、格納部125aは、図4に示すように、仮想環境を実現するVM200のPC名である「VPC002」と、データ形式「PC名」とを対応付けて記憶部110のクリップボードに格納する。なお、ここでは、他のコンピュータ環境である旨を示す情報として転送元のPC名を用いる場合を説明したが、これに限定されるものではない。例えば、格納部125aは、クリップボードに他のコンピュータ環境である旨を示すフラグを設定することとしても良い。例えば、格納部125aは、制御部120がSetを呼び出した場合に、データ形式「フラグ」と、データ「1」とを対応付けてクリップボードに格納する。
【0040】
判定部125bは、クリップボードからデータを取り出す命令が発生した場合に、所定の記憶領域に他のコンピュータ環境である旨を示す情報が記憶されているか否かを判定する。例えば、判定部125bは、制御部120がGetを呼び出した場合に、記憶部110のクリップボードに転送元のPC名が記憶されているか否かを判定する。例えば、判定部125bは、制御部120がGetを呼び出した場合に、図4に示したクリップボードにPC名が記憶されているか否かを判定する。また、例えば、判定部125bは、判定結果を実行部125cに出力する。
【0041】
実行部125cは、判定部125bにより他のコンピュータ環境である旨を示す情報が記憶されていないと判定された場合に、データを取り出す命令を実行する。例えば、実行部125cは、記憶部110のクリップボードにPC名が記憶されていない場合に、そのクリップボードからデータを取り出す。
【0042】
また、実行部125cは、判定部125bにより他のコンピュータ環境である旨を示す情報が記憶されていると判定された場合に、データを取り出す命令を却下する。例えば、実行部125cは、記憶部110のクリップボードにPC名が記憶されている場合に、制御部120が呼び出したGetをリジェクトする。
【0043】
また、実行部125cは、データを取り出す命令を却下した場合に、その命令が却下された旨を記録する。例えば、実行部125cは、制御部120が呼び出したGetをリジェクトした場合に、その旨をログ情報112として記録する。例えば、2011年1月19日18時25分に、PC001というコンピュータ環境においてGetをリジェクトした場合を説明する。この場合、図5に示すように、例えば、実行部125cは、名称「PC001」と、発生日時「2011/1/19 18:25」と、区分「違反」と、内容「クリップボード操作を禁止しました・・・」と、備考「・・・」とを対応付けて記録する。
【0044】
また、実行部125cは、データを取り出す命令が却下された旨を記録した場合に、その命令に含まれるデータ形式と同一のデータ形式を含む命令の記録を所定時間抑止する。例えば、実行部125cは、データ形式「テキスト」を取り出す命令をリジェクトし、その旨をログ情報112として記録した場合には、データ形式「テキスト」を取り出す命令をリジェクトした旨の記録を3秒間抑止する。これは、所定の命令がリジェクトされた場合に、リトライを実行するアプリが存在する場合があるからである。つまり、リトライが実行されることにより、同一の記録がログ情報112として記録されることを抑止することを趣旨とする。なお、ここでは、所定時間として3秒を設定した場合を説明したが、これに限定されるものではない。例えば、所定時間は、クライアント端末100を利用する利用者が任意の値に設定して良い。
【0045】
また、実行部125cは、判定部125bにより他のコンピュータ環境である旨を示す情報が記憶されていると判定された場合に、データを取り出す命令を実行するとともに、その命令が実行された旨を記録する。例えば、実行部125cは、クリップボードにPC名が記憶されている場合に、記憶部110のクリップボードからデータを取り出すとともに、その旨をログ情報112として記録する。
【0046】
また、実行部125cは、判定部125bにより他のコンピュータ環境である旨を示す情報が記憶されていると判定された場合に、データを取り出す命令により取り出されるデータを記録する。例えば、実行部125cは、記憶部110のクリップボードにPC名が記憶されている場合に、そのクリップボードに格納されたデータを原本情報113として記録する。
【0047】
次に、実施例1に係るVMの機能構成について説明する。図6は、実施例1に係るVMの機能構成の一例を示すブロック図である。図6に示すように、VM200は、記憶部210と、制御部220とを備える。例えば、記憶部210は、サーバ装置11のメモリにおける所定領域を、ハイパーバイザ13がVM200のために割り当てることにより実現される仮想メモリである。また、例えば、制御部220は、サーバ装置11のプロセッサにおける所定処理能力を、ハイパーバイザ13がVM200のために割り当てることにより実現される仮想プロセッサである。
【0048】
記憶部210は、クリップボード情報211と、ログ情報212と、原本情報213とを有する。このうち、クリップボード情報211、ログ情報212及び原本情報213の説明は、図3に示したクリップボード情報111、ログ情報112及び原本情報113の説明とそれぞれ同様である。また、例えば、VM200のクリップボードは、記憶部210の記憶領域に存在する。
【0049】
制御部220は、監視部224を有する。また、例えば、制御部220は、制御部120と同様に、コンピュータシステム全体を管理する基本ソフトウェアであるOSの実行を制御する。また、例えば、制御部220は、制御部120と同様に、クリップボードの利用に関する機能を有する。また、例えば、制御部220は、制御部120と同様に、クリップボードに格納されたデータを、異なるコンピュータ環境の間で共有するアプリケーションプロセスを実行する。
【0050】
監視部224は、監視アプリの実行を制御する処理部である。監視部224は、格納部224aと、判定部224bと、実行部224cとを有する。このうち、格納部224aと、判定部224b及び実行部224cの説明は、格納部125a、判定部125b及び実行部125cの説明とそれぞれ同様である。
【0051】
次に、実施例1に係る監視部の処理手順について説明する。図7及び図8は、実施例1に係る監視部の処理手順を示すフローチャートである。図7及び図8に示す処理は、例えば、図示した各装置に電源から電力が供給される間、所定時間間隔で実行される。なお、以下の説明ではクライアント端末100における監視部125の処理手順について説明するが、VM200における監視部224の処理手順も同様の処理を実行する。
【0052】
図7に示すように、クリップボードプロセスによりSetが呼び出されると(ステップS101Yes)、格納部125aは、格納されるデータの転送元のPC名をクリップボードに格納する(ステップS102)。
【0053】
図8に示すように、クリップボードプロセスによりGetが呼び出されると(ステップS201Yes)、判定部125bは、クリップボードに転送元のPC名が記憶されているか否かを判定する(ステップS202)。
【0054】
クリップボードにPC名が記憶されている場合には(ステップS202Yes)、実行部125cは、クリップボードプロセスが呼び出したGetをリジェクトする(ステップS203)。一方、クリップボードにPC名が記憶されていない場合には(ステップS202No)、クリップボードプロセスが呼び出したGetが実行される。
【0055】
次に、実施例1に係る情報処理システムの動作例について説明する。図9は、実施例1に係る情報処理システムの動作例について説明するための図である。図9に示す例では、仮想環境において利用者から「コピー」の指示を受け付けた場合を説明する。なお、ここでは、一例として、仮想環境において利用者から「コピー」の指示を受け付けた場合を説明するが、これに限定されるものではない。例えば、物理環境において利用者から「コピー」の指示を受け付けた場合にも、情報処理システムは同様に動作する。なお、ここでは、仮想環境を実現するVM200のPC名を「VPC002」とし、物理環境を実現するクライアント端末100のPC名を「PC001」とする。
【0056】
図9に示すように、仮想環境において、データを複写する命令の入力を利用者から受け付けると(S11)、VPC002側のアプリは、Setを呼び出し、Setの対象となるデータをVPC002側のクリップボードに格納する(S12)。VPC002側のクリップボードプロセスは、自環境においてSetが呼び出されると、Setにより格納されるデータをクライアント端末100「PC001」に転送する(S13)。
【0057】
物理環境において、PC001側のクリップボードプロセスは、VPC002側のクリップボードプロセスからデータを受信すると、Setを呼び出し、Setの対象となるデータをPC001側のクリップボードに格納する(S14)。格納部125aは、PC001側のクリップボードプロセスがSetを呼び出すと、Setの対象となるデータの転送元のPC名「VPC002」をクリップボードに格納する(S15)。
【0058】
ここで、物理環境において、利用者から「ペースト」の指示を受け付けると(S16)、PC001側のアプリは、Getを呼び出す(S17)。判定部125bは、PC001側のクリップボードを参照し、クリップボードに転送元のPC名「VPC002」が記憶されていると判定する(S18)。
【0059】
PC001側のクリップボードにPC名「VPC002」が記憶されているので、実行部125cは、PC001側のアプリが呼び出したGetをリジェクトし、PC001側のクリップボードに格納されたデータを原本情報113として記録する(S19)。なお、利用者の設定に応じて、実行部125cは、S19の処理に代えてS20の処理を実行しても良い。つまり、実行部125cは、PC001側のアプリがクリップボードからデータを取り出して貼り付ける際に、その旨をログ情報112として記録しても良い。
【0060】
一方、仮想環境において、利用者から「ペースト」の指示を受け付けると(S21)、VPC002側のアプリは、Getを呼び出す(S22)。判定部224bは、VPC002側のクリップボードを参照し、クリップボードに他のPC名が記憶されていないと判定する(S23)。VPC002側のクリップボードに他のPC名が記憶されていないので、VPC002側のアプリは、クリップボードからデータを取り出し、ペーストを実行する(S24)。
【0061】
次に、実施例1に係るクライアント端末100の効果について説明する。クライアント端末100は、クリップボードにデータを格納する命令が発生した場合に、そのデータが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境である旨を示す情報を所定の記憶領域に格納する。クライアント端末100は、クリップボードからデータを取り出す命令が発生した場合に、所定の記憶領域に他のコンピュータ環境である旨を示す情報が記憶されているか否かを判定する。クライアント端末100は、他のコンピュータ環境である旨を示す情報が記憶されていないと判定された場合に、データを取り出す命令を実行する。このため、クライアント端末100は、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【0062】
例えば、クライアント端末100は、リモートコンピュータ上に存在するアプリケーションの間では、コピー及びペーストによる情報の受け渡しを実行する。また、例えば、クライアント端末100は、ローカルコンピュータ上に存在するアプリケーションの間では、コピー及びペーストによる情報の受け渡しを実行する。このように、リモートコンピュータとローカルコンピュータの間における情報の受け渡しによる情報漏洩の危険性が生じない場合には、クライアント端末100は、コピー及びペーストによる情報の受け渡しを実行する。このため、クライアント端末100は、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【0063】
例えば、クライアント端末100は、他のコンピュータ環境である旨を示す情報を自環境のクリップボードに格納する。クリップボードは、前回クリップボードに格納されていたデータを、Setを呼び出されるごとに削除するという特徴を有する。このため、クライアント端末100は、他のコンピュータ環境でSetが呼び出された場合にのみ、他のコンピュータ環境である旨を示す情報を自環境のクリップボードに格納することとなる。このようなことから、クライアント端末100は、他のコンピュータ環境である旨を示す情報が記憶されているか否かを判定することで、異なるコンピュータ環境における情報の受け渡しか否かを判定することができる。
【0064】
また、例えば、クライアント端末100は、他のコンピュータ環境である旨を示す情報が記憶されていると判定された場合に、データを取り出す命令を却下する。このように、リモートコンピュータとローカルコンピュータの間における情報の受け渡しによる情報漏洩の危険性が生じてしまう場合には、クライアント端末100は、コピー及びペーストによる情報の受け渡しを却下する。このため、クライアント端末100は、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【0065】
また、例えば、クライアント端末100は、データを取り出す命令を却下した場合に、その命令が却下された旨を記録するので、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【0066】
また、例えば、クライアント端末100は、データを取り出す命令が却下された旨を記録した場合に、その命令に含まれるデータ形式と同一のデータ形式を含む命令の記録を所定時間抑止する。このため、クライアント端末100は、リトライが実行されることにより、同一の記録がログ情報112として記録されることを抑止することができる。
【0067】
また、例えば、クライアント端末100は、他のコンピュータ環境である旨を示す情報が記憶されていると判定された場合に、データを取り出す命令を実行するとともに、その命令が実行された旨を記録する。このため、クライアント端末100は、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【0068】
また、例えば、クライアント端末100は、他のコンピュータ環境である旨を示す情報が記憶されていると判定された場合に、データを取り出す命令により取り出されるデータを記録する。このため、クライアント端末100は、情報漏洩の可能性のあるデータを後で参照することができる。
【実施例2】
【0069】
実施例1では、仮想環境と物理環境の双方に情報処理プログラムがインストールされる場合を説明したが、これに限定されるものではない。例えば、異なるコンピュータ環境においてコピーされたデータがペーストされる側のコンピュータ環境に情報処理プログラムがインストールされていれば良い。そこで、実施例2では、物理環境に情報処理プログラムがインストールされている場合に、仮想環境において利用者から「コピー」の指示を受け付ける場合を説明する。
【0070】
まず、実施例2に係るクライアント端末の機能構成について説明する。実施例2に係るクライアント端末100は、図3に示したクライアント端末100と同様に、入力部101と、出力部102と、通信制御部103と、記憶部110と、制御部120とを備える。ここで、入力部101、出力部102、通信制御部103、記憶部110及び制御部120の説明は、図3に示した入力部101、出力部102、通信制御部103、記憶部110及び制御部120の説明と同様である。
【0071】
次に、実施例2に係るVMの機能構成について説明する。実施例2に係るVM200は、図6に示したVM200と同様に、記憶部210と、制御部220とを有する。このうち、記憶部210の説明は、図6に示した記憶部210の説明と同様である。
【0072】
制御部220は、監視部224を有しない。なお、制御部220の説明は、制御部220が監視部224を有しないこと以外には、図6に示した制御部220の説明と同様である。すなわち、例えば、制御部220は、制御部120と同様に、コンピュータシステム全体を管理する基本ソフトウェアであるOSの実行を制御する。また、例えば、制御部220は、制御部120と同様に、クリップボードの利用に関する機能を有する。また、例えば、制御部220は、制御部120と同様に、クリップボードに格納されたデータを、異なるコンピュータ環境の間で共有するアプリケーションプロセスを実行する。
【0073】
次に、実施例2に係る情報処理システムの動作例について説明する。図10は、実施例1に係る情報処理システムの動作例について説明するための図である。なお、ここでは、仮想環境を実現するVM200のPC名を「VPC002」とし、物理環境を実現するクライアント端末100のPC名を「PC001」とする。
【0074】
図10に示すように、仮想環境において、データを複写する命令の入力を利用者から受け付けると(S11)、VPC002側のアプリは、Setを呼び出し、Setの対象となるデータをVPC002側のクリップボードに格納する(S12)。VPC002側のクリップボードプロセスは、自環境においてSetが呼び出されると、Setにより格納されるデータをクライアント端末100「PC001」に転送する(S13)。
【0075】
物理環境において、制御部120は、クリップボードプロセス223からデータを受信すると、Setを呼び出し、Setの対象となるデータをクリップボード情報111に格納する(S14)。格納部125aは、制御部120がSetを呼び出すと、Setの対象となるデータの転送元のPC名「VPC002」をクリップボード情報111に格納する(S15)。
【0076】
ここで、物理環境において、利用者から「ペースト」の指示を受け付けると(S16)、PC001側のアプリは、Getを呼び出す(S17)。判定部125bは、PC001側のクリップボードを参照し、クリップボードに転送元のPC名「VPC002」が記憶されていると判定する(S18)。
【0077】
PC001側のクリップボードにPC名「VPC002」が記憶されているので、実行部125cは、PC001側のアプリが呼び出したGetをリジェクトし、PC001側のクリップボードに格納されたデータを原本情報113として記録する(S19)。なお、利用者の設定に応じて、実行部125cは、S19の処理に代えてS20の処理を実行しても良い。つまり、実行部125cは、PC001側のアプリがクリップボードからデータを取り出して貼り付ける際に、その旨をログ情報112として記録しても良い。
【0078】
一方、仮想環境において、利用者から「ペースト」の指示を受け付けると(S21)、VPC002側のアプリは、Getを呼び出し(S22)、VPC002側のクリップボードからデータを取り出し、ペーストを実行する(S24)。
【0079】
次に、実施例2に係るクライアント端末100の効果について説明する。クライアント端末100は、クリップボードにデータを格納する命令が発生した場合に、そのデータが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境である旨を示す情報を所定の記憶領域に格納する。クライアント端末100は、クリップボードからデータを取り出す命令が発生した場合に、所定の記憶領域に他のコンピュータ環境である旨を示す情報が記憶されているか否かを判定する。クライアント端末100は、他のコンピュータ環境である旨を示す情報が記憶されていないと判定された場合に、データを取り出す命令を実行する。このため、クライアント端末100は、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【実施例3】
【0080】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
【0081】
例えば、実施例1及び2では、クリップボードに複写されたデータを、そのデータの複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納する場合を説明した。これは、データをクリップボードに格納するとともに、そのデータの複写する命令の入力を受付けたコンピュータ環境を示す情報を別の記憶領域に格納する場合を含む。例えば、クライアント端末100に共有フォルダを設け、他のコンピュータ環境である旨を示す情報を共有フォルダに格納することとしても良い。そこで、ここでは、他のコンピュータ環境である旨を示す情報を共有フォルダに格納する場合の動作例について説明する。
【0082】
図11は、実施例3に係る情報処理システムの動作例について説明するための図である。なお、ここでは、仮想環境を実現するVM200のPC名を「VPC002」とし、物理環境を実現するクライアント端末100のPC名を「PC001」とする。
【0083】
図11に示すように、仮想環境において、データを複写する命令の入力を利用者から受け付けると(S11)、VPC002側のアプリは、Setを呼び出し、Setの対象となるデータをVPC002側のクリップボードに格納する(S12)。VPC002側のクリップボードプロセスは、自環境においてSetが呼び出されると、Setにより格納されるデータをクライアント端末100「PC001」に転送する(S13)。
【0084】
物理環境において、PC001側のクリップボードプロセスは、VPC002側のクリップボードプロセスからデータを受信すると、Setを呼び出し、Setの対象となるデータをPC001側のクリップボードに格納する(S14)。格納部125aは、PC001側のクリップボードプロセスがSetを呼び出すと、Setの対象となるデータの転送元のPC名「VPC002」を共有フォルダに格納する(S30)。
【0085】
ここで、物理環境において、利用者から「ペースト」の指示を受け付けると(S16)、PC001側のアプリは、Getを呼び出す(S17)。判定部125bは、共有フォルダを参照し、共有フォルダに転送元のPC名「VPC002」が記憶されていると判定する(S31)。
【0086】
共有フォルダにPC名「VPC002」が記憶されているので、実行部125cは、PC001側のアプリが呼び出したGetをリジェクトし、PC001側のクリップボードに格納されたデータを原本情報113として記録する(S32)。なお、利用者の設定に応じて、実行部125cは、S32の処理に代えてS33の処理を実行しても良い。つまり、実行部125cは、PC001側のアプリがクリップボードからデータを取り出して貼り付ける際に、その旨をログ情報112として記録しても良い。
【0087】
一方、仮想環境において、利用者から「ペースト」の指示を受け付けると(S21)、VPC002側のアプリは、Getを呼び出す(S22)。判定部224bは、クライアント端末100の共有フォルダを参照し、共有フォルダに他のPC名が記憶されていないと判定する(S34)。共有フォルダに他のPC名が記憶されていないので、VPC002側のアプリは、VPC002側のクリップボードからデータを取り出し、ペーストを実行する(S35)。
【0088】
このように、クライアント端末100は、データを複写する命令の入力を受付ける。クライアント端末100は、コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写されたデータを、そのデータを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納する。クライアント端末100は、記憶領域からデータを取り出す命令が発生した場合に、コンピュータ環境を示す情報に基づいて、取り出す命令を実行するか否かを判定する。このため、クライアント端末100は、利便性の低下を防ぎつつ情報漏洩を防ぐことができる。
【0089】
また、例えば、実施例1及び2において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0090】
また、図3及び図6に示したクライアント端末100及びVM200の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、クライアント端末100及びVM200の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に示した実行部125cの機能のうち、ログ情報112を記録する機能を他の処理部に持たせるようにしても良い。
【0091】
また、クライアント端末100及びVM200は、クライアント端末100及びVM200の各機能を既知の情報処理装置に搭載することによって実現することもできる。既知の情報処理装置は、例えば、パーソナルコンピュータ、ワークステーション、携帯電話、PHS(Personal Handy-phone System)端末、移動体通信端末またはPDA(Personal Digital Assistant)などの装置に対応する。
【0092】
図12は、情報処理プログラムを実行するコンピュータの一例を示す図である。図12に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからデータの入力を受け付ける入力装置302と、モニタ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る媒体読み取り装置304と、他の装置と接続するためのインターフェース装置305と、他の装置と無線により接続するための無線通信装置306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM(Random Access Memory)307と、ハードディスク装置308とを有する。また、各装置301〜308は、バス309に接続される。
【0093】
ハードディスク装置308には、図3に示した監視部125と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置308には、情報処理プログラムを実現するための各種データが記憶される。
【0094】
CPU301は、ハードディスク装置308に記憶された各プログラムを読み出して、RAM307に展開し、各種の処理を行う。また、これらのプログラムは、コンピュータを図3に示した監視部125として機能させることができる。
【0095】
なお、上記の情報処理プログラムは、必ずしもハードディスク装置308に記憶されている必要はない。例えば、コンピュータが読み取り可能な記録媒体に記憶されたプログラムを、コンピュータ300が読み出して実行するようにしても良い。コンピュータが読み取り可能な記録媒体は、例えば、CD−ROMやDVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等に接続された装置にこのプログラムを記憶させておき、コンピュータ300がこれらからプログラムを読み出して実行するようにしても良い。
【0096】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0097】
(付記1)コンピュータに、
データを複写する命令の入力を受付け、
前記コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写された前記データを、該データを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納し、
前記記憶領域からデータを取り出す命令が発生した場合に、前記コンピュータ環境を示す情報に基づいて、前記取り出す命令を実行するか否かを判定する
処理を実行させることを特徴とする情報処理プログラム。
【0098】
(付記2)前記格納する処理は、前記記憶領域にデータを格納する命令が発生した場合に、該データが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境を示す情報を前記記憶領域に格納し、
前記判定する処理は、前記記憶領域からデータを取り出す命令が発生した場合に、前記記憶領域に前記情報が記憶されているか否かを判定し、
前記判定する処理により前記情報が記憶されていないと判定された場合に、前記データを取り出す命令を実行することを特徴とする付記1に記載の情報処理プログラム。
【0099】
(付記3)前記格納する処理は、前記記憶領域として、前記クリップボードに、前記データ及び前記コンピュータ環境を示す情報を格納することを特徴とする付記1又は2に記載の情報処理プログラム。
【0100】
(付記4)前記コンピュータに、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を却下する処理をさらに実行することを特徴とする付記1〜3のいずれか一つに記載の情報処理プログラム。
【0101】
(付記5)前記コンピュータに、前記データを取り出す命令を却下した場合に、該命令が却下された旨を記録する処理をさらに実行することを特徴とする付記4に記載の情報処理プログラム。
【0102】
(付記6)前記記録する処理は、前記命令が却下された旨を記録した場合に、該命令に含まれるデータ形式と同一のデータ形式を含む前記命令の記録を所定時間抑止することを特徴とする付記4又は5に記載の情報処理プログラム。
【0103】
(付記7)前記コンピュータに、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を実行するとともに、該命令が実行された旨を記録する処理をさらに実行することを特徴とする付記1〜3のいずれか一つに記載の情報処理プログラム。
【0104】
(付記8)前記コンピュータに、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令により取り出される該データを記録する処理をさらに実行することを特徴とする付記1〜7のいずれか一つに記載の情報処理プログラム。
【0105】
(付記9)データを複写する命令の入力を受付ける受付部と、
コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写された前記データを、該データを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納する格納部と、
前記記憶領域からデータを取り出す命令が発生した場合に、前記コンピュータ環境を示す情報に基づいて、前記取り出す命令を実行するか否かを判定する判定部と
を備えることを特徴とする情報処理装置。
【0106】
(付記10)前記格納部は、前記記憶領域にデータを格納する命令が発生した場合に、該データが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境を示す情報を前記記憶領域に格納し、
前記判定部は、前記記憶領域からデータを取り出す命令が発生した場合に、前記記憶領域に前記情報が記憶されているか否かを判定し、
前記判定部により前記情報が記憶されていないと判定された場合に、前記データを取り出す命令を実行する実行部をさらに備えることを特徴とする付記9に記載の情報処理装置。
【0107】
(付記11)前記格納部は、前記所定の記憶領域として、前記クリップボードに、前記データ及び前記コンピュータ環境を示す情報を格納することを特徴とする付記9又は10に記載の情報処理装置。
【0108】
(付記12)前記実行部は、前記判定部により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を却下する処理をさらに実行することを特徴とする付記9〜11のいずれか一つに記載の情報処理装置。
【0109】
(付記13)前記実行部は、前記データを取り出す命令を却下した場合に、該命令が却下された旨を記録する処理をさらに実行することを特徴とする付記12に記載の情報処理装置。
【0110】
(付記14)前記実行部は、前記命令が却下された旨を記録した場合に、該命令に含まれるデータ形式と同一のデータ形式を含む前記命令の記録を所定時間抑止することを特徴とする付記12又は13に記載の情報処理装置。
【0111】
(付記15)前記実行部は、前記判定部により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を実行するとともに、該命令が実行された旨を記録する処理をさらに実行することを特徴とする付記9〜11のいずれか一つに記載の情報処理装置。
【0112】
(付記16)前記実行部は、前記判定部により前記情報が記憶されていると判定された場合に、前記データを取り出す命令により取り出される該データを記録する処理をさらに実行することを特徴とする付記9〜15のいずれか一つに記載の情報処理装置。
【0113】
(付記17)コンピュータにより実行される情報処理方法であって、
データを複写する命令の入力を受付け、
前記コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写された前記データを、該データを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納し、
前記記憶領域からデータを取り出す命令が発生した場合に、前記コンピュータ環境を示す情報に基づいて、前記取り出す命令を実行するか否かを判定する
ことを特徴とする情報処理方法。
【0114】
(付記18)前記格納する処理は、前記記憶領域にデータを格納する命令が発生した場合に、該データが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境を示す情報を前記記憶領域に格納し、
前記判定する処理は、前記記憶領域からデータを取り出す命令が発生した場合に、前記記憶領域に前記情報が記憶されているか否かを判定し、
前記判定する処理により前記情報が記憶されていないと判定された場合に、前記データを取り出す命令を実行することを特徴とする付記17に記載の情報処理方法。
【0115】
(付記19)前記格納する処理は、前記所定の記憶領域として、前記クリップボードに、前記データ及び前記コンピュータ環境を示す情報を格納することを特徴とする付記17又は18に記載の情報処理方法。
【0116】
(付記20)前記実行する処理は、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を却下することを特徴とする付記17〜19のいずれか一つに記載の情報処理方法。
【0117】
(付記21)前記実行する処理は、前記データを取り出す命令を却下した場合に、該命令が却下された旨を記録することを特徴とする付記20に記載の情報処理方法。
【0118】
(付記22)前記記録する処理は、前記命令が却下された旨を記録した場合に、該命令に含まれるデータ形式と同一のデータ形式を含む前記命令の記録を所定時間抑止することを特徴とする付記20又は21に記載の情報処理方法。
【0119】
(付記23)前記実行する処理は、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を実行するとともに、該命令が実行された旨を記録することを特徴とする付記17〜19のいずれか一つに記載の情報処理方法。
【0120】
(付記24)前記実行する処理は、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令により取り出される該データを記録することを特徴とする付記17〜23のいずれか一つに記載の情報処理方法。
【符号の説明】
【0121】
1 情報処理システム
5 ネットワーク
10 データセンタ
11 サーバ装置
12 通信制御部
13 ハイパーバイザ
100 クライアント端末
101 入力部
102 出力部
103 通信制御部
110 記憶部
111 クリップボード
112 ログ情報
113 原本情報
114 VM情報
120 制御部
123 画面生成部
125 監視部
125a 格納部
125b 判定部
125c 実行部
210 記憶部
211 クリップボード
212 ログ情報
213 原本情報
220 制御部
224 監視部
224a 格納部
224b 判定部
224c 実行部
300 コンピュータ
301 CPU
302 入力装置
303 モニタ
304 媒体読み取り装置
305 インターフェース装置
306 無線通信装置
307 RAM
308 ハードディスク装置
309 バス

【特許請求の範囲】
【請求項1】
コンピュータに、
データを複写する命令の入力を受付け、
前記コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写された前記データを、該データを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納し、
前記記憶領域からデータを取り出す命令が発生した場合に、前記コンピュータ環境を示す情報に基づいて、前記取り出す命令を実行するか否かを判定する
処理を実行させることを特徴とする情報処理プログラム。
【請求項2】
前記格納する処理は、前記記憶領域にデータを格納する命令が発生した場合に、該データが存在するコンピュータ環境が他のコンピュータ環境であれば、他のコンピュータ環境を示す情報を前記記憶領域に格納し、
前記判定する処理は、前記記憶領域からデータを取り出す命令が発生した場合に、前記記憶領域に前記情報が記憶されているか否かを判定し、
前記判定する処理により前記情報が記憶されていないと判定された場合に、前記データを取り出す命令を実行することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記格納する処理は、前記記憶領域として、前記クリップボードに、前記データ及び前記コンピュータ環境を示す情報を格納することを特徴とする請求項1又は2に記載の情報処理プログラム。
【請求項4】
前記コンピュータに、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を却下する処理をさらに実行することを特徴とする請求項1〜3のいずれか一つに記載の情報処理プログラム。
【請求項5】
前記コンピュータに、前記データを取り出す命令を却下した場合に、該命令が却下された旨を記録する処理をさらに実行することを特徴とする請求項4に記載の情報処理プログラム。
【請求項6】
前記記録する処理は、前記命令が却下された旨を記録した場合に、該命令に含まれるデータ形式と同一のデータ形式を含む前記命令の記録を所定時間抑止することを特徴とする請求項4又は5に記載の情報処理プログラム。
【請求項7】
前記コンピュータに、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令を実行するとともに、該命令が実行された旨を記録する処理をさらに実行することを特徴とする請求項1〜3のいずれか一つに記載の情報処理プログラム。
【請求項8】
前記コンピュータに、前記判定する処理により前記情報が記憶されていると判定された場合に、前記データを取り出す命令により取り出される該データを記録する処理をさらに実行することを特徴とする請求項1〜7のいずれか一つに記載の情報処理プログラム。
【請求項9】
データを複写する命令の入力を受付ける受付部と、
コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写された前記データを、該データを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納する格納部と、
前記記憶領域からデータを取り出す命令が発生した場合に、前記コンピュータ環境を示す情報に基づいて、前記取り出す命令を実行するか否かを判定する判定部と
を備えることを特徴とする情報処理装置。
【請求項10】
コンピュータにより実行される情報処理方法であって、
データを複写する命令の入力を受付け、
前記コンピュータが実行する複数のアプリケーションで共有される記憶領域に、複写された前記データを、該データを複写する命令の入力を受付けたコンピュータ環境を示す情報とともに格納し、
前記記憶領域からデータを取り出す命令が発生した場合に、前記コンピュータ環境を示す情報に基づいて、前記取り出す命令を実行するか否かを判定する
ことを特徴とする情報処理方法。

【図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