(57)【特許請求の範囲】
【請求項１】
複数の実行環境の各々に個別に割り当てられるクリップボードであって各々が対応する実行環境毎に排他的にアクセスされるクリップボードをデータの読み書きに用いる複数の実行環境のいずれか１つをアクティブな実行環境として実行する実行部と、
前記アクティブな実行環境を切り替える切替部と、
前記切替部により前記アクティブな実行環境が切り替えられる場合に、切替前の実行環境の前記クリップボードに書き込まれているデータを切替後の実行環境の前記クリップボードにコピーするか否かを、当該切替前の実行環境又は当該切替後の実行環境が前記複数の実行環境のいずれであるかを参照して判定する判定部と、
前記判定に基づいて前記クリップボード間のデータのコピーを管理する管理部と
を備えることを特徴とするデータ制御装置。
【請求項２】
前記判定部が、前記判定において、前記切替前の実行環境の前記クリップボードに前記データを書き込んだアプリケーションを、前記切替前の実行環境に代えて、又は前記切替前の実行環境とともに参照する
請求項１に記載のデータ制御装置。
【請求項３】
前記判定部が、前記切替前の実行環境と前記切替後の実行環境の組み合わせを参照して判定を行う
請求項１又は２に記載のデータ制御装置。
【請求項４】
前記管理部が、
第１の実行環境の第１のクリップボードに書き込まれている所定データを第２の実行環境の第２のクリップボードにコピーした場合に、当該所定データが前記第２のクリップボードにコピーされていることを記録し、
前記所定データのコピー後に前記アクティブな実行環境が切り替えられる場合において、前記切替前の実行環境が前記第２の実行環境であり、前記切替後の実行環境が前記第１の実行環境であるとき、当該所定データのコピーを行わない
請求項１ないし３のいずれかに記載のデータ制御装置。
【請求項５】
前記管理部が、
前記判定部による判定の前に、切替前の実行環境の前記クリップボードに書き込まれているデータを、前記クリップボードとは異なるメモリ領域に書き込み、
前記判定部による判定の後に、前記メモリ領域に書き込まれているデータを切替後の実行環境の前記クリップボードに書き込む
請求項１ないし４のいずれかに記載のデータ制御装置。
【請求項６】
前記切替部は、前記アクティブな実行環境の切り替えの態様に、ユーザの操作に応じた切り替えとその他の切り替えとを含み、
前記管理部は、前記アクティブな実行環境が前記操作に応じて切り替えられる場合に、前記判定の結果によらず前記コピーを行う
請求項１ないし５のいずれかに記載のデータ制御装置。
【請求項７】
前記管理部が、前記コピーを行う前に、当該コピーの可否をユーザに確認する
請求項１ないし５のいずれかに記載のデータ制御装置。
【請求項８】
前記管理部が、前記コピーの可否をユーザに確認するか否かを前記切替前の実行環境と前記切替後の実行環境の組み合わせに応じて決定する
請求項７に記載のデータ制御装置。
【請求項９】
前記実行部は、前記アクティブな実行環境と非アクティブな実行環境とを実行し、
前記管理部は、前記管理を行うとともに、前記非アクティブな実行環境と他の実行環境とにおける前記クリップボード間のデータのコピーを許可しない
請求項１ないし８のいずれかに記載のデータ制御装置。
【請求項１０】
コンピュータに、
複数の実行環境の各々に個別に割り当てられるクリップボードであって各々が対応する実行環境毎に排他的にアクセスされるクリップボードにデータの読み書きを行う複数の実行環境のいずれか１つをアクティブな実行環境として実行するステップと、
前記アクティブな実行環境を切り替えるステップと、
前記アクティブな実行環境が切り替えられる場合に、切替前の実行環境の前記クリップボードに書き込まれているデータを切替後の実行環境の前記クリップボードにコピーするか否かを、当該切替前の実行環境又は当該切替後の実行環境が前記複数の実行環境のいずれであるかを参照して判定するステップと、
前記判定に基づいて前記クリップボード間のデータのコピーを管理するステップと
を実行させるためのプログラム。
【請求項１１】
前記管理部が、前記管理を行うとともに、一のクリップボードに書き込まれているデータが他のクリップボードにコピーされているか否かを示すコピー状態情報を記録及び管理する
請求項１ないし９のいずれかに記載のデータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クリップボードのデータの管理に関する。
【背景技術】
【０００２】
クリップボードを経由した情報漏えいを防止するための技術が知られている。例えば、特許文献１には、リモートコンピュータからの遠隔制御を行うアプリケーションがフォアグラウンドで動作する場合には、クリップボードの使用が不許可に設定される遠隔制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１７４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複数の実行環境を切り替えて利用可能な場合において、実行環境毎に個別のクリップボードを設けるとき、ある実行環境のクリップボードに書き込まれたデータを他の実行環境でも利用したいことが想定され得る。かかる場合において、クリップボード間でのデータのコピーを一律に許可すると、情報漏えいのおそれが増大する一方で、これを一律に禁止すると、ユーザの利便性が損なわれる。また、利用するか否かが不明な時点ですべてのデータをコピーした場合、クリップボード間で授受されるデータ量が不必要に増加する。
そこで、本発明は、複数の実行環境を切り替えて利用可能な場合に、ユーザの利便性を損なわずに情報漏えいを抑制することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様に係るデータ制御装置は、複数の実行環境の各々に個別に割り当てられるクリップボードであって各々が対応する実行環境毎に排他的にアクセスされるクリップボードをデータの読み書きに用いる複数の実行環境のいずれか１つをアクティブな実行環境として実行する実行部と、前記アクティブな実行環境を切り替える切替部と、前記切替部により前記アクティブな実行環境が切り替えられる場合に、切替前の実行環境の前記クリップボードに書き込まれているデータを切替後の実行環境の前記クリップボードにコピーするか否かを、当該切替前の実行環境又は当該切替後の実行環境が前記複数の実行環境のいずれであるかを参照して判定する判定部と、前記判定に基づいて前記クリップボード間のデータのコピーを管理する管理部とを備える構成を有する。
【０００６】
本発明は、好ましい態様において、前記判定部が、前記判定において、前記切替前の実行環境の前記クリップボードに前記データを書き込んだアプリケーションを、前記切替前の実行環境に代えて、又は前記切替前の実行環境とともに参照する構成を有する。
本発明は、別の好ましい態様において、前記判定部が、前記切替前の実行環境と前記切替後の実行環境の組み合わせを参照して判定を行う構成を有する。
本発明は、さらに別の好ましい態様において、前記管理部が、第１の実行環境の第１のクリップボードに書き込まれている所定データを第２の実行環境の第２のクリップボードにコピーした場合に、当該所定データが前記第２のクリップボードにコピーされていることを記録し、前記所定データのコピー後に前記アクティブな実行環境が切り替えられる場合において、前記切替前の実行環境が前記第２の実行環境であり、前記切替後の実行環境が前記第１の実行環境であるとき、当該所定データのコピーを行わない構成を有する。
本発明は、さらに別の好ましい態様において、前記管理部が、前記判定部による判定の前に、切替前の実行環境の前記クリップボードに書き込まれているデータを、前記クリップボードとは異なるメモリ領域に書き込み、前記判定部による判定の後に、前記メモリ領域に書き込まれているデータを切替後の実行環境の前記クリップボードに書き込む構成を有する。
本発明は、さらに別の好ましい態様において、前記切替部は、前記アクティブな実行環境の切り替えの態様に、ユーザの操作に応じた切り替えとその他の切り替えとを含み、前記管理部は、前記アクティブな実行環境が前記操作に応じて切り替えられる場合に、前記判定の結果によらず前記コピーを行う構成を有する。
本発明は、さらに別の好ましい態様において、前記管理部が、前記コピーを行う前に、当該コピーの可否をユーザに確認する構成を有する。この場合において、前記管理部は、前記コピーの可否をユーザに確認するか否かを前記切替前の実行環境と前記切替後の実行環境の組み合わせに応じて決定してもよい。
本発明は、さらに別の好ましい態様において、前記実行部は、前記アクティブな実行環境と非アクティブな実行環境とを実行し、前記管理部は、前記管理を行うとともに、前記非アクティブな実行環境と他の実行環境とにおける前記クリップボード間のデータのコピーを許可しない構成を有する。
本発明は、さらに別の好ましい態様において、前記管理部が、前記管理を行うとともに、一のクリップボードに書き込まれているデータが他のクリップボードにコピーされているか否かを示すコピー状態情報を記録及び管理する構成を有する。
【０００７】
本発明の別の態様に係るプログラムは、コンピュータに、複数の実行環境の各々に個別に割り当てられるクリップボードであって各々が対応する実行環境毎に排他的にアクセスされるクリップボードにデータの読み書きを行う複数の実行環境のいずれか１つをアクティブな実行環境として実行するステップと、前記アクティブな実行環境を切り替えるステップと、前記アクティブな実行環境が切り替えられる場合に、切替前の実行環境の前記クリップボードに書き込まれているデータを切替後の実行環境の前記クリップボードにコピーするか否かを、当該切替前の実行環境又は当該切替後の実行環境が前記複数の実行環境のいずれであるかを参照して判定するステップと、前記判定に基づいて前記クリップボード間のデータのコピーを管理するステップとを実行させるものである。
【発明の効果】
【０００８】
本発明によれば、複数の実行環境を切り替えて利用可能な場合に、ユーザの利便性を損なわずに情報漏えいを抑制することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置のハードウェア構成を示すブロック図
【図２】制御部が実現する機能的構成を示す機能ブロック図
【図３】判定部が参照する判定基準の一例を示す図
【図４】状態情報の一例を示す図
【図５】状態情報の他の例を示す図
【図６】アクティブな実行環境を切り替える処理を示すフローチャート
【図７】判定部が参照する判定基準の一例を示す図
【図８】アクティブな実行環境を切り替える処理を示すフローチャート
【発明を実施するための形態】
【００１０】
［実施形態］
図１は、本発明の一実施形態である情報処理装置のハードウェア構成を示すブロック図である。情報処理装置１００は、ユーザの操作に応じて情報を表示する装置であり、例えば、スマートフォン（又はこれに類する携帯電話機）である。また、情報処理装置１００は、複数の実行環境を利用可能である。
【００１１】
ここにおいて、「実行環境」とは、アプリケーションを実行するために必要な所定のまとまりを有するプログラム群をいい、個別に割り当てられる専用のクリップボードを用いてデータの読み書きを行うものとする。実行環境は、例えば、ＯＳ（Operating System）単位で区別されるものであるが、ＯＳであるとは限らない。また、実行環境は、仮想化によってホストＯＳ（別の実行環境）に対するゲストＯＳとして実現されてもよい。
【００１２】
また、「クリップボード」とは、データの一時的な記憶に用いられるメモリ領域であって、各々が、対応する実行環境毎に排他的にアクセスされるメモリ領域をいう。すなわち、ある実行環境に割り当てられたクリップボードは、他の実行環境からは直接的には読み書きが行えないようになっている。クリップボードには、例えば、ユーザによるカット＆ペースト（又はコピー＆ペースト）の操作によってデータが読み書きされるが、ユーザの操作によらずに、実行環境自体がデータを書き込む場合があってもよい。
【００１３】
情報処理装置１００は、図１に示すように、制御部１１０と、記憶部１２０と、表示部１３０と、操作部１４０と、通信部１５０とを備える。制御部１１０は、ＣＰＵ（Central Processing Unit）等の演算処理装置と主記憶装置に相当するメモリとを有し、情報処理装置１００が動作するための各種のプログラムを実行し、情報処理装置１００の各部の動作を制御する。制御部１１０は、本発明に係るデータ制御装置の一例に相当するものである。記憶部１２０は、補助記憶装置に相当する記憶手段（ハードディスク、フラッシュメモリ等）を有し、制御部１１０が制御に用いるデータを記憶する。記憶部１２０は、制御部１１０のメモリが不足の場合には、その一部が仮想メモリとして用いられ得る。また、記憶部１２０は、いわゆるメモリカードのように、情報処理装置１００に対して着脱可能な記憶手段を含んでもよい。
【００１４】
表示部１３０は、液晶ディスプレイ等の表示手段を有し、制御部１１０による制御に応じた画像を表示する。操作部１４０は、キー、スイッチ等の入力手段を有し、ユーザの操作を受け付けて制御部１１０に供給する。なお、操作部１４０は、タッチスクリーンのように、表示部１３０に重ねて一体に設けられた入力手段を含み得る。ユーザが行う操作には、実行環境を切り替える操作が含まれる。通信部１５０は、外部の通信手段（ネットワーク、周辺機器）とデータの送受信を行うインターフェースを有する。例えば、情報処理装置１００がスマートフォンである場合、通信部１５０は、インターネット、移動体通信網、無線ＬＡＮ（Local Area Network）などとデータの送受信を行い得る。
【００１５】
本実施形態においては、実行環境Ｅ１、Ｅ２及びＥ３の３種類の実行環境が情報処理装置１００で利用可能であるとする。ここにおいて、実行環境Ｅ１は、他の２つの実行環境よりもセキュア（安全）であるとし、実行環境Ｅ２は、実行環境Ｅ３よりもセキュアであるとする。ただし、この実行環境Ｅ１、Ｅ２及びＥ３に関する定義は、説明の便宜上のものにすぎず、情報処理装置１００における発明の実施がこの態様に限定されることを意図するものではない。
【００１６】
図２は、制御部１１０が実現する機能的構成を示す機能ブロック図である。制御部１１０は、プログラムを実行することにより、同図に示す実行部１１１、切替部１１２、判定部１１３及び管理部１１４に相当する各機能を実現する。実行部１１１は、ユーザの操作に応じて実行環境Ｅ１、Ｅ２及びＥ３を実行する。実行環境Ｅ１、Ｅ２、Ｅ３のそれぞれには、対応するクリップボードＣ１、Ｃ２、Ｃ３が割り当てられる。実行部１１１は、これらの実行環境のうちのいずれか１つをアクティブな実行環境として実行する。
【００１７】
ここにおいて、「アクティブな実行環境」とは、操作部１４０からのユーザの操作を受け付ける実行環境をいう。本実施形態においては、アクティブな実行環境は、対応する画面が表示部１３０に表示される実行環境でもある。すなわち、本実施形態においては、表示部１３０にはアクティブな１つの実行環境に対応する画面が表示され、それ以外の２つの実行環境に対応する画面が表示されない。ただし、このように非表示となっている実行環境であっても、制御部１１０によりバックグラウンドで実行されていることがあり得る。なお、以下においては、実行環境がアクティブでない状態のことを、「非アクティブ」という。
【００１８】
切替部１１２は、アクティブな実行環境を切り替える。すなわち、切替部１１２により切り替えが行われると、切替前にアクティブであった実行環境が非アクティブとなり、切替前に非アクティブであった別の実行環境がアクティブとなる。切替部１１２による実行環境の切り替えは、ユーザの操作に応じて行われる場合と、ユーザの操作に依存しないその他の場合とがある。ここでいう「その他」の場合には、非アクティブな実行環境が切り替えを要求する場合が含まれる。例えば、情報処理装置１００がスマートフォンである場合において、通話を司るアプリケーションを実行する実行環境が非アクティブであるときには、当該実行環境がアクティブへの切り替えを要求する。
【００１９】
判定部１１３は、切替部１１２によりアクティブな実行環境が切り替えられる場合に、クリップボード間のデータのコピーの可否を判定する。すなわち、判定部１１３は、アクティブな実行環境が切り替えられる場合に、切替前の実行環境のクリップボードに書き込まれたデータを切替後の実行環境のクリップボードにコピーするか否かを判定する。判定部１１３によるこの判定は、あらかじめ決められた判定基準を参照することで行われる。この判定基準は、記憶部１２０にあらかじめ記憶されていてもよいし、実行環境の切り替えの前に制御部１１０が各実行環境を調べ、必要な情報を生成してメモリに記憶させてもよい。また、判定基準は、ユーザの操作に応じてあらかじめ設定されたものであってもよい。
【００２０】
図３は、本実施形態において判定部１１３が参照する判定基準の一例を示す図である。ここにおいて、「コピー元」は、切替前の実行環境に相当し、「コピー先」は、切替後の実行環境に相当する。図３の例は、要するに、“コピー元の実行環境よりもセキュアでない実行環境のクリップボードへのコピーは許可せず（不可）、コピー元の実行環境よりもセキュアな実行環境のクリップボードへのコピーは許可する（可）”という判断基準を適用したものである。なお、判定部１１３は、これらの可及び不可の双方の判断基準を適用するのではなく、可又は不可のいずれか一方の判断基準を適用してもよい。
【００２１】
図３の例の場合、実行環境Ｅ１又はＥ３をコピー元とするコピーの態様は、コピー先の実行環境がいずれであるかによらずに、コピー元の実行環境がいずれであるかのみによって一意的に定まる。例えば、実行環境Ｅ１がコピー元の場合、コピー先の実行環境が実行環境Ｅ２又はＥ３のいずれであっても、クリップボード間のデータのコピーが許可されない。また、実行環境Ｅ１がコピー先となる場合には、コピー元の実行環境が実行環境Ｅ２又はＥ３のいずれであっても、クリップボード間のデータのコピーが許可される。このように、上述した判断基準を適用した場合には、コピー元又はコピー先の一方の実行環境の安全性が最高（又は最低）である場合には、他方の実行環境がいずれであるかを参照せずにコピーの態様が特定可能である。
【００２２】
一方、実行環境Ｅ２をコピー元とするコピーの態様は、コピー元の実行環境のみによっては一意的に定まらず、コピー元の実行環境とコピー先の実行環境の組み合わせによって定まる。実行環境Ｅ２がコピー元の場合、コピー先の実行環境が実行環境Ｅ１であれば、クリップボード間のデータのコピーが許可されず、コピー先の実行環境が実行環境Ｅ３であれば、クリップボード間のデータのコピーが許可される。なお、実行環境Ｅ２をコピー先とする場合についても、同様のことがいえる。
【００２３】
なお、判定基準は、実行環境の安全性によらず、他の観点に基づいて定められたり、安全性と他の観点の双方を考慮して定められたりすることも可能である。例えば、判定基準は、コピー元の実行環境がどのようなデータを取り扱うかによって定められてもよいし、コピー元の実行環境とコピー先の実行環境とでのデータ等の互換性によって定められても良い。
【００２４】
管理部１１４は、クリップボード間のデータのコピーを管理する。管理部１１４による管理は、原則的には判定部１１３の判定結果に基づいて行われるが、一部の例外がある。管理部１１４は、より詳細には、データ管理部１１４ａと状態管理部１１４ｂとを有する。データ管理部１１４ａは、データのコピーを実際に行う部分に相当し、データのコピーが許可されている場合に、コピー元の実行環境のクリップボードからデータを読み出し、当該データをコピー先の実行環境のクリップボードに書き込む。データ管理部１１４ａは、望ましくは、複数のクリップボードのいずれとも異なるメモリ領域（以下「共有領域」という。）を用いて、この読み出し及び書き込みを行う。共有領域は、いずれの実行環境からもアクセス可能なメモリ領域である。この場合、データ管理部１１４ａは、コピー元の実行環境のクリップボードに書き込まれているデータを読み出したら、これを共有領域にいったん書き込み、共有領域に書き込まれたデータをコピー先の実行環境のクリップボードに書き込む。
【００２５】
状態管理部１１４ｂは、データのコピー状態を表す状態情報を記録及び管理する。ここにおいて、「コピー状態」とは、あるクリップボードに書き込まれているデータが他のクリップボードにコピーされているか否かを表すものをいう。管理部１１４は、データをコピーする前に状態情報を参照し、その状態情報の内容によっては、判定部１１３による判定結果に従わない場合がある。つまり、状態情報は、上述した例外の原因となる情報である。
【００２６】
図４は、状態情報の一例を示す図である。図４に示す状態情報は、クリップボードへのデータの書き込みが最新に行われた実行環境と、その書き込まれているデータが他のクリップボードからコピーされたデータであるか否かを示すフラグとを表している。このフラグは、書き込まれているデータが他のクリップボードからコピーされたデータである場合に「０」となり、書き込まれているデータが他のクリップボードからコピーされたデータ以外のデータである場合に「１」となる。また、クリップボードへのデータの書き込みが最新に行われた実行環境は、実行環境Ｅ１を「１」、実行環境Ｅ２を「２」、実行環境Ｅ３を「３」で表記するものとする。
【００２７】
図４（ａ）の例は、クリップボードへのデータの書き込みが最新に行われた実行環境が実行環境Ｅ１であり、当該データが実行環境Ｅ２のクリップボードからコピーされた場合を示している。一方、図４（ｂ）の例は、クリップボードへのデータの書き込みが最新に行われた実行環境が実行環境Ｅ３であり、当該データが実行環境Ｅ１又はＥ２のクリップボードからコピーされたものでない場合を示している。図４（ｂ）の例のようになるのは、例えば、実行環境Ｅ３がアクティブである状況下で、ユーザが実行環境の切り替え以外の操作によってクリップボードにデータを書き込ませた場合（すなわち、クリップボードを一般的な方法で利用した場合）である。図４の例の場合、状態管理部１１４ｂは、複数のクリップボードのいずれかにデータが書き込まれる度に、状態情報を書き換える。
【００２８】
図５は、状態情報の他の例を示す図である。図５の例は、図４の例と異なり、状態情報が実行環境毎に記録されているものである。この例は、実行環境Ｅ１のクリップボードには、実行環境Ｅ２のクリップボードからコピーされたデータが書き込まれ、実行環境Ｅ２のクリップボードには、実行環境Ｅ３のクリップボードからコピーされたデータが書き込まれていることを意味するものである。図５の例の場合、状態管理部１１４ｂは、複数の実行環境のいずれかのクリップボードにデータが書き込まれると、該当する実行環境の状態情報を書き換え、該当しない実行環境の状態情報を書き換えない。
【００２９】
上述した図４の例は、クリップボードへのデータの書き込みが最新に行われた実行環境についてのみフラグを記録しておくものである。図４の例は、状態情報のデータ容量を少なくすることが可能であるが、最新のコピー状態に関する記録しか残しておくことができないものである。一方、図５の例のように、状態情報を実行環境毎に記録しておくことにより、アクティブな実行環境のクリップボードに書き込まれているデータが非アクティブになった後も保持されるような場合であっても、状態情報を利用することが可能となる。本実施形態は、クリップボードに書き込まれているデータを非アクティブになったタイミングで消去する態様と、当該データを非アクティブになった後も保持する態様のいずれでも実施可能なものである。状態情報は、本発明がこれらの態様のいずれで実施されるかに応じた適当なデータ形式が採用されればよい。
【００３０】
情報処理装置１００の構成は、以上のとおりである。情報処理装置１００は、かかる構成のもと、複数の実行環境のいずれかを選択的にアクティブにしながら、アクティブな実行環境に対応したアプリケーションを実行する。このとき、制御部１１０は、複数の実行環境のそれぞれに応じたクリップボードと、上述した共有領域とにメモリ領域を論理的に区別し、ある実行環境のクリップボードには他の実行環境からは直接的にアクセスできないように制御を行う。また、情報処理装置１００は、ユーザの操作を受け付け、必要に応じてアクティブな実行環境の切り替えを行う。この切り替えに際し、制御部１１０は、切替前の実行環境のクリップボードに書き込まれたデータを切替後の実行環境のクリップボードにコピーするか否かを判定し、かかる判定に基づいてデータのコピーを管理する。
【００３１】
図６は、アクティブな実行環境を切り替えるときに制御部１１０が実行する処理を示すフローチャートである。このとき、制御部１１０は、実行環境を切り替える要求（以下「切替要求」という。）を取得したか否かを判断し（ステップＳ１）、切り替え要求を取得すると、以降の処理を実行する。次に、制御部１１０は、この時点でアクティブな実行環境（すなわち切替前の実行環境）のクリップボードにデータが書き込まれているか否かを判断し（ステップＳ２）、データが何も書き込まれていない場合には、データのコピーを行わずに、実行環境の切り替えのみを行う（ステップＳ１０）。なぜならば、かかる場合には、コピーの対象となるデータが存在しないからである。ステップＳ１０において、制御部１１０は、表示部１３０に表示される画像の切り替えなどを実行させる。
【００３２】
切替前の実行環境のクリップボードにデータが書き込まれている場合、制御部１１０は、切替要求の主体を判断する。具体的には、制御部１１０は、切替要求がユーザの操作によらないものであるか否かを判断し（ステップＳ３）、切替要求がユーザの操作によらないものであれば、切替要求が実行環境のいずれによるものであるかを続いて判断する（ステップＳ４）。ステップＳ４において、制御部１１０は、アクティブな実行環境が切り替えを要求したか判断し、非アクティブな実行環境が切り替えを要求した場合には、データのコピーを行わずに、実行環境の切り替えのみを行う（ステップＳ１０）。なぜならば、かかる場合には、実行環境の切り替えにユーザの明示的な要求がなく、ユーザが切替後の実行環境で操作を行う可能性が低いからである。この場合、クリップボードのデータのコピーを省略することで、ユーザの利便性よりも情報漏えいの抑制を優先することができ、また、データのコピーの回数も減らすことができる。
【００３３】
アクティブな実行環境が切り替えを要求した場合、制御部１１０は、所定の判定基準に基づき、クリップボードのデータのコピーの可否を判定する（ステップＳ５）。この判定において、制御部１１０は、コピー元又はコピー先の実行環境がいずれであるかを少なくとも参照し、必要に応じて、コピー元の実行環境とコピー先の実行環境の組み合わせを参照する。
【００３４】
制御部１１０は、ステップＳ５の判定においてコピーが許可されたか否かを判断し（ステップＳ６）、コピーが許可された場合には、状態情報を参照し、コピー先のクリップボードにコピー元のクリップボードに書き込まれているデータが既にコピーされているか否かを判断する（ステップＳ７）。制御部１１０は、コピー元の実行環境とコピー先の実行環境との間で設定されたフラグが「１」、すなわちデータがコピーされていない場合には、コピー先のクリップボードにコピー元のクリップボードに書き込まれているデータを書き込み、クリップボード間のデータのコピーを行う（ステップＳ８）。続いて、制御部１１０は、このとき行った処理の内容に応じて状態情報を更新する（ステップＳ９）。ここでいう「更新」は、状態情報の書き換えに相当するものであり、状態情報の記録の一態様である。制御部１１０は、データのコピー及び状態情報の更新が終了したら、実行環境を切り替え（ステップＳ１０）、表示部１３０に表示される画像の切り替えなどを実行させる。
【００３５】
一方、ステップＳ６においてコピーが許可されていないと判断された場合や、ステップＳ７においてフラグが「０」、すなわちデータが既にコピーされていると判断された場合には、制御部１１０は、データのコピーを行わずに、実行環境の切り替えのみを行う（ステップＳ１０）。ステップＳ７の判断を行うことで、クリップボード間で不要なコピー（同じデータのコピー）が行われる回数を減らすことが可能になる。
【００３６】
なお、ステップＳ３において、切替要求がユーザの操作によるものであると判断された場合、制御部１１０は、ステップＳ４〜Ｓ７の処理をスキップし、データのコピー（ステップＳ８）以降の処理を実行する。すなわち、この場合の制御部１１０は、ステップＳ５の判定の結果によらずに、データのコピーを実行する。かかる場合には、ユーザの明示的な要求によって実行環境が切り替わる場合には、その後にユーザが続けて操作する可能性も高く、クリップボードが利用される可能性も高いため、このような処理が実行される。
【００３７】
以上のとおり、情報処理装置１００によれば、切替前後の実行環境やその組み合わせに応じて、クリップボード間のデータのコピーの可否を管理することが可能である。つまり、情報処理装置１００によれば、セキュアな実行環境で利用されるデータ（例えば、個人情報など）がクリップボードを介して他の実行環境に流出することを妨げる一方で、セキュアな実行環境で利用する範囲においては、他の実行環境のクリップボードを介したデータの取得を妨げないようにすることが可能である。また、情報処理装置１００によれば、よく組み合わせて利用する実行環境間ではクリップボードのデータのコピーを可能にし、そうでない実行環境間ではコピーを制限する、といった制御も可能である。
【００３８】
なお、本実施形態において、データのコピー（ステップＳ８）、状態情報の更新（ステップＳ９）及び実行環境の切り替え（ステップＳ１０）の各ステップは、それぞれのタイミングが入れ替わってもよいものである。情報処理装置１００は、例えば、実行環境の切り替えを行ってからデータのコピーを行ったり、状態情報の更新を行ってからデータのコピーを行ったりしても、図６に示した順序で処理を行った場合と同等の作用効果を奏することができる。
【００３９】
［変形例］
上述した実施形態は、本発明の実施の一例にすぎない。本発明は、上述した実施形態に対して、以下の変形を適用することが可能である。なお、以下に示す変形例は、必要に応じて、各々を適当に組み合わせて実施されてもよいものである。
【００４０】
（変形例１）
図６に示したフローチャートは、その一部のステップが省略可能である。例えば、状態情報を用いない場合であれば、ステップＳ７及びＳ９の処理が省略可能である。また、切替要求の主体によらずコピーの可否を判定するのであれば、ステップＳ３及びＳ４の処理が省略可能である。なお、ステップＳ２の処理も、必須の処理ではない。
【００４１】
（変形例２）
本発明における判定は、切替前の実行環境がいずれであるかでなく、当該実行環境のクリップボードに書き込まれているデータを書き込んだアプリケーション（以下「書き込み元のアプリケーション」という。）がいずれであるかを参照することで行われてもよい。ここにおいて、「書き込み元のアプリケーション」とは、クリップボードに書き込まれているデータを発生させる元となったアプリケーションをいう。例えば、ユーザがテキストエディタを用いて文字を入力し、その文字をコピーしてクリップボードに書き込んだ場合であれば、このテキストエディタが書き込み元のアプリケーションに相当する。このようにすれば、例えば、個人情報を比較的多く扱うアプリケーション（例えば、電子メールクライアント）が書き込み元である場合には、クリップボードのデータを他の実行環境のクリップボードにコピーせず、そうでないアプリケーションが書き込み元である場合には、クリップボードのデータを他の実行環境のクリップボードにコピーする、といったことが可能になる。
【００４２】
なお、書き込み元のアプリケーションを参照した判定は、書き込み元のアプリケーションがいずれであるかだけでなく、当該アプリケーションを実行する実行環境がいずれであるかをあわせて参照したものとすることも可能である。例えば、同じスプレッドシート（いわゆる表計算ソフト）が書き込み元のアプリケーションとして実行されている場合であっても、これを特定の実行環境が実行している場合にはクリップボード間のコピーを許可せず、他の実行環境が実行している場合にはクリップボード間のコピーを許可する、というような判定基準が設けられてもよい。
【００４３】
（変形例３）
本発明におけるコピーの管理は、所定の判定基準による判定結果の後であって、実際にコピーを行う前に、コピーの可否をユーザに確認する確認ステップを設け、ユーザの指示に応じてデータをコピーするか否かが決まるものであってもよい。かかる確認ステップは、例えば、表示部１３０に「クリップボードのデータをコピーしてもよいですか？」といった内容のダイアログボックスを表示させ、ユーザにその可否を選択させることで実現される。かかる確認ステップでユーザがコピーを許可しなかった場合には、図６のステップＳ５の判定においてコピーが許可されても、クリップボード間のデータのコピーを行うことなく実行環境が切り替わるようになる。つまり、確認ステップを設けた場合には、判定結果に従わない動作が行われる可能性がある。
【００４４】
なお、このような確認を行う手段が設けられる場合の判定基準には、コピーを許可する・許可しない、という二者択一の選択肢だけでなく、「ユーザに確認する」という第３の選択肢が設けられてもよい。この場合には、「ユーザに確認する」という判定結果が得られた場合に限り、上述した確認ステップが実行される。
【００４５】
図７は、かかる判定基準の一例を示す図である。図７に示す判定基準は、実行環境Ｅ２のクリップボードＣ２から実行環境Ｅ３のクリップボードＣ３へのコピーが条件付きで許可されるように定められている点が図３に示す判定基準と異なるものである。この判定基準を用いた場合、制御部１１０は、実行環境Ｅ２をコピー元とし、実行環境Ｅ３をコピー先とする場合には、上述した確認ステップを実行する一方、実行環境Ｅ３をコピー元とし、実行環境Ｅ２をコピー先とする場合には、上述した確認ステップを実行することなくコピーを許可する。このようにすれば、制御部１１０は、データのコピーの可否をユーザに確認するか否かを切替前の実行環境と切替後の実行環境の組み合わせ（すなわちコピー元とコピー先の組み合わせ）に応じて決定することが可能である。
【００４６】
（変形例４）
本発明におけるクリップボードのデータのコピーは、これを共有領域を用いて行う場合にあっては、コピー元のクリップボードのデータを事前に（判定が行われる前、切替要求が取得される前など）共有領域に書き込んでおくようにしてもよい。このようにすれば、コピー元のクリップボードから共有領域へのデータのコピーと共有領域からコピー先のクリップボードへのデータのコピーとが連続的に行われる場合に比べ、コピー先のクリップボードへのデータのコピーを早く終わらせることが可能となる。
【００４７】
図８は、本例に従って制御部１１０が実行する処理を示すフローチャートである。このフローチャートは、ステップＳａが追加されている点において、図６に示したフローチャートと異なる。制御部１１０は、このステップＳａ（すわなち、ステップＳ５の判定の前）において、コピー元のクリップボードのデータを共有領域に書き込み、コピーを行う。この場合、制御部１１０は、ステップＳ８（すわなち、ステップＳ５の判定の後）において、共有領域に書き込まれたデータをコピー先のクリップボードに書き込み、コピーを行う。
【００４８】
（変形例５）
本発明におけるコピーの管理は、アクティブな実行環境と非アクティブな実行環境とが実行されている場合には、アクティブな実行環境に関する管理に加え、非アクティブな実行環境に関する管理をあわせて実行するものであってもよい。ここにおいて、非アクティブな実行環境に関する管理とは、非アクティブな実行環境が他の実行環境のクリップボードにアクセスすることを許可しないようにする制御である。
【００４９】
例えば、非アクティブな実行環境は、ユーザの操作によらずに（すなわち、ユーザに気付かれることなく）処理を実行可能である。かかる実行環境が比較的セキュアでない実行環境である場合には、当該実行環境が他の実行環境のクリップボードからデータを読み出したり、あるいはデータを書き込んだりすることが、ユーザが気付かないうちに実行されるおそれがある。そこで、制御部１１０は、このような場合に備え、非アクティブな実行環境がデータの読み書きを要求する場合であって、当該実行環境がコピー元又はコピー先のいずれかに相当するような場合には、データのコピーを許可しないように制御する。これを実現するためには、制御部１１０は、非アクティブな実行環境が実行されているか否かを監視するとともに、非アクティブな実行環境が他の実行環境のクリップボードに対してデータの読み書きを行おうとしていないかを監視することが望ましい。
【００５０】
なお、本例において、共有領域を用いてデータのコピーを行う場合にあっては、制御部１１０は、他の実行環境のクリップボードに記憶されたデータが共有領域に書き込まれることや、非アクティブな実行環境のクリップボードに記憶されたデータが供給領域に書き込まれることまでは許可してもよい。要するに、制御部１１０は、非アクティブな実行環境のクリップボードと他の実行環境のクリップボードのいずれか一方に記憶されているデータが他方に書き込まれることがないように制御すれば、データの不正なコピーを防ぐことが可能である。
【００５１】
（変形例６）
本発明において実行され得る実行環境は、複数であれば足り、その数が限定されない。したがって、本発明は、２つの実行環境が実行される場合や、４以上の実行環境が実行される場合であっても、上述した実施形態と同等の作用効果を奏し得るものである。
【００５２】
また、本発明に係るデータ制御装置は、スマートフォン以外の情報処理装置にも適用可能なものである。本発明は、個別にクリップボードを有する複数の実行環境が実行可能な構成であれば、ＰＤＡ（Personal Digital Assistance）等の通信端末装置や、ノート型のパーソナルコンピュータなどにも適用することができる。また、本発明に係る情報処理装置は、上述した通信部１５０に相当する構成を備えないものであってもよい。
【００５３】
さらに、本発明は、情報処理装置のコンピュータ（ＣＰＵ等）に本発明を実現させるためのプログラムや、かかるプログラムを記憶させた光ディスク等の記録媒体としても特定され得る。本発明に係るプログラムは、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態でも提供され得る。
【００５４】
（変形例７）
本発明は、次の態様でも特定され得るものである。すなわち、本発明は、「各々に個別に割り当てられるクリップボードをデータの読み書きに用いる複数の実行環境のいずれか１つをアクティブな実行環境として実行する実行部と、前記アクティブな実行環境を切り替える切替部と、前記切替部により前記アクティブな実行環境が切り替えられる場合に、切替前の実行環境の第１のクリップボードに書き込まれているデータの切替後の実行環境の第２のクリップボードへのコピーを管理する管理部とを備え、前記管理部が、前記切替部による切り替えがユーザの操作によるものである場合に、前記第１のクリップボードに書き込まれているデータを前記第２のクリップボードにコピーし、前記切替部による切り替えがユーザの操作によるものでない場合に、前記第１のクリップボードに書き込まれているデータを前記第２のクリップボードにコピーしないことを特徴とするデータ制御装置」や、かかるデータ制御装置に対応するプログラムや方法の発明としても特定され得る。
【符号の説明】
【００５５】
１００…情報処理装置、１１０…制御部、１１１…実行部、１１２…切替部、１１３…判定部、１１４…管理部、１１４ａ…データ管理部、１１４ｂ…状態管理部、１２０…記憶部、１３０…表示部、１４０…操作部、１５０…通信部
【図１】
0005481308.tif 000002
【図２】
0005481308.tif 000003
【図３】
0005481308.tif 000004
【図４】
0005481308.tif 000005
【図５】
0005481308.tif 000006
【図６】
0005481308.tif 000007
【図７】
0005481308.tif 000008
【図８】
0005481308.tif 000009