(57)【特許請求の範囲】
【請求項１】
電子データの操作に関する命令を取得する命令取得部と、
前記命令取得部が前記命令を取得した場合に、前記電子データの操作を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、前記実行環境上で前記電子データの操作を実行させるための実行指示を、前記遠隔操作可能な通信経路を介して前記実行環境に送信する遠隔操作部と、
前記命令取得部が前記命令を取得した場合に、前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを前記実行環境に送信するデータ送信部と、
予め定められた期間、前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを記憶する実行履歴格納部と、
前記実行履歴格納部に保存された前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを走査して、マルウエアを検出するマルウエア検出部と、
前記予め定められた期間が満了するまで、前記電子データの操作を制限する制限部と、
を備え、
前記マルウエア検出部は、前記予め定められた期間の間に、マルウエアを検出するための処理を複数回実行することで、電子データがアクセスされたり又は実行されたりした時点においては検出することができなかったマルウエアを、前記予め定められた期間の間に検出可能とする、情報処理装置。
【請求項２】
前記データ送信部は、前記命令取得部が前記命令を取得した場合に、前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを、前記実行環境及び前記実行履歴格納部に送信する、
請求項１に記載の情報処理装置。
【請求項３】
前記実行環境は、前記電子データの操作を実行した後、実行後の前記電子データを前記実行履歴格納部に送信する、
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記電子データが他の情報処理装置に送信された場合、前記他の情報処理装置の識別情報を記憶する送信履歴格納部と、
前記マルウエア検出部がマルウエアを検出した場合、前記送信履歴格納部に格納された前記他の情報処理装置の識別情報を参照して、前記他の情報処理装置に、前記電子データがマルウエアに感染していたことを通知する通知部と、
をさらに備える、
請求項１から請求項３までの何れか一項に記載の情報処理装置。
【請求項５】
電子データにアクセスするための命令を取得する命令取得部と、
前記命令取得部が前記命令を取得した場合に、前記電子データにアクセスするための処理を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、前記実行環境上で前記電子データにアクセスするための処理を実行させるための実行指示を、前記遠隔操作可能な通信経路を介して前記実行環境に送信する遠隔操作部と、
予め定められた期間、前記電子データのアドレス、又は、前記電子データ若しくは予め定められたアルゴリズムに基づいて変換された前記電子データを記憶するアクセス履歴格納部と、
（ｉ）前記アクセス履歴保存部に保存された前記アドレスにアクセスしてマルウエアを検出する、又は、（ｉｉ）前記アクセス履歴保存部に保存された前記電子データ若しくは予め定められたアルゴリズムに基づいて変換された前記電子データを走査して、マルウエアを検出するマルウエア検出部と、
前記予め定められた期間が満了するまで、前記電子データの操作を制限する制限部と、
を備え、
前記マルウエア検出部は、前記予め定められた期間の間に、マルウエアを検出するための処理を複数回実行することで、電子データがアクセスされたり又は実行されたりした時点においては検出することができなかったマルウエアを、前記予め定められた期間の間に検出可能とする、情報処理装置。
【請求項６】
他の情報処理装置から、前記電子データにアクセスしたことを示す情報を取得するアクセス情報取得部と、
前記電子データにアクセスした前記他の情報処理装置の識別情報を記憶するアクセス情報格納部と、
前記マルウエア検出部がマルウエアを検出した場合、前記アクセス情報格納部に格納された前記他の情報処理装置の識別情報を参照して、前記他の情報処理装置に、前記電子データがマルウエアに感染していたことを通知する通知部と、
をさらに備える、
請求項５に記載の情報処理装置。
【請求項７】
前記マルウエア検出部によるマルウエアの検出状況に関するレポートを作成するレポート作成部をさらに備える、
請求項１から請求項６までの何れか一項に記載の情報処理装置。
【請求項８】
前記実行環境を削除する削除部をさらに備える、
請求項１から請求項７までの何れか一項に記載の情報処理装置。
【請求項９】
前記実行環境のスナップショットを準備するスタンバイ部と、
前記実行環境を、前記実行環境のスナップショットへと戻すクリーンナップ部と、
をさらに備える、
請求項１から請求項８までの何れか一項に記載の情報処理装置。
【請求項１０】
前記遠隔操作部と、前記実行環境とが、同一の物理マシン上で実現される、
請求項１から請求項９までの何れか一項に記載の情報処理装置。
【請求項１１】
コンピュータを、請求項１から請求項１０までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
不審な添付ファイルが含まれる電子メールを受信した場合に、当該電子メールをウイルス検査用のコンピュータに転送するウイルス検査システムが知られている（例えば、特許文献１〜１０を参照。）。
［先行技術文献］
［特許文献］
特許文献１  特開２００２−３２８８７４号公報
特許文献２  特開２００２−３６６４８７号公報
特許文献３  特開２００３−１６９０９６号公報
特許文献４  特開２００４−０３８２７３号公報
特許文献５  特開２００４−１３３５０３号公報
特許文献６  特開２００５−０３８３６１号公報
特許文献７  特開２００５−１５７５９８号公報
特許文献８  特開２００５−３５２８２３号公報
特許文献９  特開２００７−２９９１１０号公報
特許文献１０  特開２０１６−１８１１８５号公報
【解決しようとする課題】
【０００３】
コンピュータにウイルス検査ソフトが導入されていても、日々新たに生成される未知のウイルスを検出することは難しい。
【一般的開示】
【０００４】
本発明の第１の態様においては、情報処理装置が提供される。上記の情報処理装置は、例えば、電子データの操作に関する命令を取得する命令取得部を備える。上記の情報処理装置は、命令取得部が命令を取得した場合に、電子データの操作を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、実行環境上で電子データの操作を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する遠隔操作部を備えてよい。上記の情報処理装置は、命令取得部が命令を取得した場合に、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを実行環境に送信するデータ送信部を備えてよい。上記の情報処理装置は、予め定められた期間、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを記憶する実行履歴格納部を備えてよい。上記の情報処理装置は、実行履歴格納部に格納された電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを走査して、マルウエアを検出するマルウエア検出部を備えてよい。
【０００５】
上記の情報処理装置において、マルウエア検出部は、予め定められた期間の間に、マルウエアを検出するための処理を複数回実行してよい。上記の情報処理装置において、データ送信部は、命令取得部が命令を取得した場合に、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを、実行環境及び実行履歴格納部に送信してよい。上記の情報処理装置において、実行環境は、電子データの操作を実行した後、実行後の電子データを実行履歴格納部に送信してよい。
【０００６】
上記の情報処理装置は、予め定められた期間が満了するまで、電子データの操作を制限する制限部を備えてよい。上記の情報処理装置は、電子データが他の情報処理装置に送信された場合、他の情報処理装置の識別情報を記憶する送信履歴格納部を備えてよい。上記の情報処理装置は、マルウエア検出部がマルウエアを検出した場合、送信履歴格納部に格納された他の情報処理装置の識別情報を参照して、他の情報処理装置に、電子データがマルウエアに感染していたことを通知する通知部を備えてよい。
【０００７】
本発明の第２の態様においては、情報処理装置が提供される。上記の情報処理装置は、例えば、電子データにアクセスするための命令を取得する命令取得部を備える。上記の情報処理装置は、命令取得部が命令を取得した場合に、電子データにアクセスするための処理を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、実行環境上で電子データにアクセスするための処理を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する遠隔操作部を備えてよい。上記の情報処理装置は、予め定められた期間、電子データのアドレス、又は、電子データ若しくは予め定められたアルゴリズムに基づいて変換された電子データを記憶するアクセス履歴格納部を備えてよい。上記の情報処理装置は、（ｉ）アクセス履歴格納部に格納されたアドレスにアクセスしてマルウエアを検出する、又は、（ｉｉ）アクセス履歴格納部に格納された電子データ若しくは予め定められたアルゴリズムに基づいて変換された電子データを走査して、マルウエアを検出するマルウエア検出部を備えてよい。
【０００８】
上記の情報処理装置において、マルウエア検出部は、予め定められた期間の間に、マルウエアを検出するための処理を複数回実行してよい。上記の情報処理装置は、予め定められた期間が満了するまで、電子データへのアクセスを制限する制限部を備えてよい。上記の情報処理装置は、他の情報処理装置から、電子データにアクセスしたことを示す情報を取得するアクセス情報取得部を備えてよい。上記の情報処理装置は、電子データにアクセスした他の情報処理装置の識別情報を記憶するアクセス情報格納部を備えてよい。上記の情報処理装置は、マルウエア検出部がマルウエアを検出した場合、アクセス情報格納部に格納された他の情報処理装置の識別情報を参照して、他の情報処理装置に、電子データがマルウエアに感染していたことを通知する通知部を備えてよい。
【０００９】
第１の態様又は第２の態様に係る情報処理装置は、マルウエア検出部によるマルウエアの検出状況に関するレポートを作成するレポート作成部を備えてよい。第１の態様又は第２の態様に係る情報処理装置は、実行環境を削除する削除部を備えてよい。第１の態様又は第２の態様に係る情報処理装置は、実行環境のスナップショットを準備するスタンバイ部を備えてよい。第１の態様又は第２の態様に係る情報処理装置は、実行環境を、実行環境のスナップショットへと戻すクリーンナップ部を備えてよい。第１の態様又は第２の態様に係る情報処理装置において、遠隔操作部と、実行環境とが、同一の物理マシン上で実現されてよい。
【００１０】
本発明の第３の態様においては、プログラムが提供される。上記のプログラムは、コンピュータを、第１の態様又は第２の態様に係る情報処理装置として機能させるためのプログラムであってよい。上記のプログラムを格納した記憶媒体が提供されてもよい。
【００１１】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１２】
【図１】ファイル転送システム１００の一例を概略的に示す。
【図２】メールシステム１１０の一例を概略的に示す。
【図３】電子ファイル処理部２２８の一例を概略的に示す。
【図４】実行サーバ１２０の一例を概略的に示す。
【図５】ファイル転送システム１００における処理の一例を概略的に示す。
【図６】ファイル転送システム１００における処理の一例を概略的に示す。
【図７】電子ファイル処理部７２８の一例を概略的に示す。
【図８】ファイル転送システム１００における処理の一例を概略的に示す。
【図９】メールシステム９１０の一例を概略的に示す。
【図１０】ファイル転送システム１００における処理の一例を概略的に示す。
【図１１】ファイル転送システム１００における処理の一例を概略的に示す。
【図１２】ファイル転送システム１２００の一例を概略的に示す。
【図１３】ファイル転送システム１２００における処理の一例を概略的に示す。
【図１４】ファイル処理システム１４００の一例を概略的に示す。
【図１５Ａ】ファイル処理システム１４００における処理の一例を概略的に示す。
【図１５Ｂ】ファイル処理システム１４００における処理の他の一例を概略的に示す。
【図１６】ファイル処理システム１４００におけるファイルの保存処理の一例を概略的に示す。
【図１７】メールシステム１７００の一例を概略的に示す。
【図１８】メールシステム１７００における処理の一例を概略的に示す。
【図１９】メールシステム１７００のシステム構成の別の例を概略的に示す。
【図２０】物理マシン１９００のシステム構成の一例を概略的に示す。
【図２１】仮想マシン１９１０及び仮想マシン１９２０のシステム構成の一例を概略的に示す。
【図２２】データ管理ソフト２１３２の実行により実現されるシステムの他の例を概略的に示す。
【図２３】仮想マシン１９２６により実現されるシステムの一例を概略的に示す。
【図２４】物理マシン１９００のシステム構成の他の例を概略的に示す。
【図２５】物理マシン１９００のシステム構成のさらに他の例を概略的に示す。
【図２６】データ管理ソフト２１３２の実行により実現されるシステムの他の例を概略的に示す。
【発明を実施するための形態】
【００１３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。特定の実施形態において説明した技術事項は、技術的に矛盾を生じない限りにおいて、他の実施形態に適用することができる。
【００１４】
図１は、ファイル転送システム１００の一例を概略的に示す。本実施形態において、ファイル転送システム１００は、メールシステム１１０と、実行サーバ１２０とを備える。メールシステム１１０は、メールサーバ１１２と、クライアント端末１１４とを有する。本実施形態において、メールシステム１１０及び実行サーバ１２０は、ネットワーク１０を介して情報を送受する。ファイル転送システム１００、メールシステム１１０、メールサーバ１１２、クライアント端末１１４及び実行サーバ１２０は、情報処理装置の一例であってよい。実行サーバ１２０は、実行環境の一例であってよい。ネットワーク１０は、通信回線の一例であってよい。
【００１５】
ファイル転送システム１００の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータがファイル転送システム１００の少なくとも一部として機能してもよい。プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、ファイル転送システム１００の少なくとも一部を構成するコンピュータにインストールされてよい。
【００１６】
コンピュータをファイル転送システム１００の少なくとも一部として機能させるプログラムは、ファイル転送システム１００の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、プロセッサ、通信インターフェース、記憶装置等に働きかけて、コンピュータをファイル転送システム１００の各部として機能させたり、コンピュータにファイル転送システム１００における情報処理方法を実行させたりする。
【００１７】
上記のプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、ファイル転送システム１００の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じたファイル転送システム１００を構築することができる。
【００１８】
ファイル転送システム１００の各部は、仮想サーバ又はクラウドシステムによって実現されてもよい。ファイル転送システム１００の各部は、同一ネットワーク上に構築されてもよく、異なるネットワーク上に構築されてもよい。ファイル転送システム１００の各部は、同一の物理サーバ上に構築されてもよく、異なる物理サーバ上に構築されてもよい。
【００１９】
ファイル転送システム１００は、ネットワーク１０を介して、他の端末２０と情報を送受する。一実施形態において、ファイル転送システム１００は、他の端末２０から受信した電子データに電子ファイルが含まれる場合、メールシステム１１０において当該電子ファイルを抽出し、抽出された電子ファイルをメールシステム１１０から実行サーバ１２０に転送する。抽出された電子ファイルは、アクセス又は操作に関する命令の対象となる電子データの一例であってもよい。
【００２０】
本実施形態において、電子ファイルは実行サーバ１２０上で実行される。これにより、電子ファイルがウイルスに感染していた場合であっても、メールシステム１１０がウイルスに感染することを防止できる。また、例えば、メールシステム１１０側の端末で受信できる電子データのサイズが制限されており、当該端末において電子ファイルを受信できない場合、当該端末の記憶装置の容量が小さくて電子ファイルを受信できない場合、又は、当該端末に電子ファイルを実行可能なアプリケーションがインストールされておらず、電子ファイルを実行することができない場合であっても、電子データの受信者は、電子ファイルを閲覧することができる。
【００２１】
他の実施形態において、ファイル転送システム１００は、他の端末２０に送信する電子データに電子ファイルが含まれる場合、メールシステム１１０において当該電子ファイルを抽出し、抽出された電子ファイルをメールシステム１１０から実行サーバ１２０に転送する。また、メールシステム１１０は、転送された電子ファイルのＵＲＩを他の端末２０に通知する。これにより、他の端末２０のユーザが、実行サーバ１２０に転送された電子ファイルにアクセスすることができる。
【００２２】
本実施形態において、電子ファイルは実行サーバ１２０上で実行される。これにより、電子ファイルがウイルスに感染していた場合であっても、他の端末２０がウイルスに感染することを防止できる。また、他の端末２０に送信する電子データのサイズを小さくすることができる。その結果、例えば、他の端末２０で受信できる電子データのサイズが制限されており、他の端末２０において電子ファイルを受信できない場合、他の端末２０の記憶装置の容量が小さくて電子ファイルを受信できない場合、又は、他の端末２０に当該電子ファイルを実行可能なアプリケーションがインストールされておらず、電子ファイルを実行することができない場合であっても、他の端末２０のユーザは、電子ファイルを閲覧することができる。
【００２３】
上記のとおり、ファイル転送システム１００によれば、電子ファイルが、ウイルス検査ソフトの対応していない新種のウイルスに感染していた場合であっても、安全に電子ファイルを実行することができる。また、ファイル転送システム１００によれば、サポート期限の途過したＯＳを使用しているコンピュータが、電子ファイルを含む電子データを取得した場合であっても、安全に電子ファイルを実行することができる。
【００２４】
なお、電子ファイルとしては、実行ファイル、アプリケーションによって実行されるアプリケーションファイル、スクリプトなどを例示することができる。アプリケーションファイルとしては、テキストファイル、Ｗｏｒｄファイル、ＰＤＦファイル、ＪＰＥＧファイルなどを例示することができる。また、電子ファイルを実行するとは、実行形式のファイルを実行することだけでなく、電子ファイルの閲覧、印刷、編集、複製、移動、送信、保存、ファイル形式の変換、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャ、電子ファイルを所定のアプリケーションを用いて開くこと、電子ファイルに対して所定のアプリケーションを用いて処理を行うこと等、電子ファイルに対して行われるいかなる処理も含むことができる。
【００２５】
ネットワーク１０は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、それらの組み合わせであってもよい。ネットワーク１０は、インターネット、専用回線、無線通信網又はそれらの組み合わせであってもよい。
【００２６】
他の端末２０は、ファイル転送システム１００と情報を送受することができる装置であればよく、パーソナルコンピュータ、携帯端末、無線端末、家電などであってよい。携帯端末としては、携帯電話、スマートホン、ＰＤＡ、タブレット、ウェアラブルデバイス、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。
【００２７】
他の端末２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェース等を有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、ＨＤＤなどの記憶装置とを備えた一般的な構成の情報処理装置において、他の端末２０のそれぞれの各部の動作を規定したソフトウエアを起動することにより実現されてよい。他の端末２０は、仮想サーバ又はクラウドシステムによって実現されてもよい。
【００２８】
メールサーバ１１２は、ネットワーク１０を介して他の端末２０と電子メールを送受する。電子メールは添付ファイルを含んでよい。電子メールは、電子データの一例であってよい。添付ファイルは電子ファイルの一例であってよい。
【００２９】
メールサーバ１１２は、他の端末２０から、クライアント端末１１４を宛先とする電子メールを受信する。メールサーバ１１２は、受信した電子メールに添付ファイルが含まれている場合、電子メールから添付ファイルを抽出する。メールサーバ１１２は、抽出された添付ファイルを実行サーバ１２０に送信する。また、メールサーバ１１２は、他の端末２０から電子メールを受信したこと示す通知データを作成して、クライアント端末１１４に送信する。
【００３０】
メールサーバ１１２は、クライアント端末１１４から、他の端末２０を宛先とする電子メールを受信する。メールサーバ１１２は、受信した電子メールに添付ファイルが含まれている場合、電子メールから添付ファイルを抽出する。メールサーバ１１２は、抽出された添付ファイルを実行サーバ１２０に送信する。また、メールサーバ１１２は、クライアント端末１１４から電子メールを受信したこと示す通知データを作成して、他の端末２０に送信する。
【００３１】
メールサーバ１１２は、抽出した添付ファイルを実行サーバ１２０に送信する前に、添付ファイルを変換してよい。メールサーバ１１２は、変換後の添付ファイルを実行サーバ１２０に送信してよい。変換後の添付ファイルは、電子ファイルに関連するファイルの一例であってよい。
【００３２】
メールサーバ１１２は、変換前の添付ファイルと比較して、クライアント端末１１４上での実行が困難になるように、添付ファイルを変換してよい。添付ファイルの変換処理としては、添付ファイルの形式、拡張子若しくは名称を変更する処理、添付ファイルを暗号化する処理、添付ファイルの構造を変換する処理などを例示することができる。
【００３３】
通知データは、抽出された添付ファイルへのアクセス情報を含んでよい。添付ファイルへのアクセス情報は、添付ファイル又は変換後の添付ファイルのＵＲＩであってよい。添付ファイル又は変換後の添付ファイルのＵＲＩは、添付ファイル又は変換後の添付ファイルの実行サーバ１２０における格納場所を示すＵＲＬであってよい。添付ファイルへのアクセス情報は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。
【００３４】
添付ファイルへのアクセス情報は、コンピュータに、当該コンピュータと、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータとの間に通信経路を確立する手順を実行させるための遠隔操作プログラムであってもよい。遠隔操作プログラムは、実行ファイルであってもよく、コンピュータに予めインストールされた遠隔操作用のアプリケーションのアプリケーションファイルであってもよい。遠隔操作プログラムは、スクリプトであってもよい。上記の通信経路は、遠隔操作プログラムを実行するコンピュータから、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータを遠隔操作可能な通信経路であってよい。
【００３５】
遠隔操作プログラムは、コンピュータに、上記の他のコンピュータ上で添付ファイルを実行させるための実行指示を、遠隔操作可能な通信経路を介して当該他のコンピュータに送信する手順を更に実行させるためのプログラムであってよい。遠隔操作プログラムは、コンピュータに、上記の他のコンピュータ上で変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行させるための指示を、遠隔操作可能な通信経路を介して当該他のコンピュータに送信する手順を更に実行させるためのプログラムであってもよい。
【００３６】
一実施形態によれば、メールサーバ１１２は、添付ファイルのファイル形式を、添付ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換する。クライアント端末１１４は、例えば、電子ファイルのファイル形式又は拡張子と、当該ファイル形式又は拡張子に関連付けられた電子ファイルをクライアント端末１１４上で実行するか否かを示す情報とを対応付けて格納している。クライアント端末１１４は、例えば、ＯＳによる関連付け情報の変更の実施と、ユーザによる関連付け情報の変更を検出し、関連付け情報の再変更を行う。上記の関連付け情報は、例えば、電子ファイルのファイル形式又は拡張子と、当該電子ファイルを利用可能なアプリケーションとを関連付ける情報である。また、クライアント端末１１４は、ＯＳによる実行ファイルの起動を監視して、実行ファイルの起動を検出してもよい。ファイル形式の変換処理、又は、拡張子の変換処理は、予め定められたアルゴリズムの一例であってよい。ファイル形式又は拡張子が変換された電子ファイルは、予め定められたアルゴリズムに基づいて変換された電子データの一例であってよい。
【００３７】
これにより、例えば、クライアント端末１１４が、ファイル形式の変換された添付ファイルの実行指示を受け付けた場合に、クライアント端末１１４上でファイル形式の変換された添付ファイルを実行することができる。ファイル形式の変換された添付ファイルがクライアント端末１１４上で実行されると、クライアント端末１１４に予めインストールされていた遠隔操作用のアプリケーションが起動する。
【００３８】
ファイル形式の変換された添付ファイルのファイル形式又は拡張子が、クライアント端末１１４上で実行するか否かを示す情報と対応付けられていない場合、クライアント端末１１４は、当該ファイルをクライアント端末上で実行するか否かをユーザに選択させるための画面を表示装置に表示して、入力装置を介してユーザの選択結果を受け取ってよい。ファイル形式の変換された添付ファイルのファイル形式又は拡張子が、クライアント端末１１４上で実行するか否かを示す情報と対応付けられていない場合、クライアント端末１１４は、当該ファイルをクライアント端末上で実行しないことを決定してもよい。
【００３９】
遠隔操作用のアプリケーションが起動すると、クライアント端末１１４は、例えば、通知データから添付ファイルへのアクセス情報を読み出し、当該アクセス情報によって示されるコンピュータに当該添付ファイルを送信する。また、クライアント端末１１４は、クライアント端末１１４と、上記アクセス情報によって示されるコンピュータとの間で遠隔操作可能な通信経路を確立する。
【００４０】
添付ファイルの拡張子が変換された場合も、添付ファイルのファイル形式が変換された場合と同様の手順により、遠隔操作可能な通信経路が確立されてよい。ファイル形式又は拡張子の変換された添付ファイルは、遠隔操作プログラムの一例であってもよい。
【００４１】
クライアント端末１１４は、ファイル転送システム１００が提供するファイル転送サービスのユーザによって利用される。クライアント端末１１４は、メールサーバ１１２を介して、他の端末２０と電子メールを送受する。クライアント端末１１４は、メールサーバ１１２から、他の端末２０からの電子メールを受信したこと示す通知データを受信する。クライアント端末１１４は、通知データに含まれる添付ファイルへのアクセス情報に基づいて、実行サーバ１２０にアクセスする。
【００４２】
クライアント端末１１４は、他の端末２０、メールサーバ１１２及び実行サーバ１２０と情報を送受することができる装置であればよく、パーソナルコンピュータ、携帯端末、無線端末、家電などであってよい。携帯端末としては、携帯電話、スマートホン、ＰＤＡ、タブレット、ウェアラブルデバイス、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。
【００４３】
クライアント端末１１４は、実行サーバ１２０を遠隔操作してよい。例えば、通知データに含まれる遠隔操作プログラムを実行することにより、クライアント端末１１４及び実行サーバ１２０の間に遠隔操作可能な通信経路を確立する。クライアント端末１１４は、予めインストールされた遠隔操作プログラムを起動することにより、クライアント端末１１４及び実行サーバ１２０の間に遠隔操作可能な通信経路を確立してもよい。例えば、クライアント端末１１４及び実行サーバ１２０は、ＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ）、ＲＤＰ  ｏｖｅｒ  ＨＴＴＰＳ、ＩＣＡ、ＸＰｒｏｔｏｃｏｌ、ＰＣｏＩＰなどのプロトコルを利用して、ユーザからの入力をクライアント端末１１４から実行サーバ１２０に送信したり、実行サーバ１２０の画面情報を実行サーバ１２０からクライアント端末１１４に送信したりする。
【００４４】
クライアント端末１１４は、実行サーバ１２０上で添付ファイルを実行させるための実行指示を、遠隔操作可能な通信経路を介して実行サーバ１２０に送信する。クライアント端末１１４は、ユーザが電子メールを開封した場合に実行指示を送信してもよく、ユーザが添付ファイルを実行しようとした場合に実行指示を送信してもよい。実行サーバ１２０に変換後の添付ファイルが格納されている場合、クライアント端末１１４は、変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行させるための指示を、遠隔操作可能な通信経路を介して実行サーバ１２０に送信してよい。
【００４５】
クライアント端末１１４は、クリップボードに格納された情報の少なくとも一部を、実行サーバ１２０のクリップボードと共有してもよい。クライアント端末１１４は、クリップボードに格納された情報の少なくとも一部を、実行サーバ１２０のクリップボードと共有しなくてもよい。
【００４６】
実行サーバ１２０は、メールサーバ１１２、クライアント端末１１４及び他の端末２０との間で情報を送受する。実行サーバ１２０は、クライアント端末１１４又は他の端末２０からの遠隔操作によって電子ファイルを実行する仮想サーバを備える。実行サーバ１２０は、メールサーバ１１２から、抽出された添付ファイル又は変換後の添付ファイルを受信する。実行サーバ１２０は、受信した添付ファイル又は変換後の添付ファイルを格納する。
【００４７】
実行サーバ１２０は、クライアント端末１１４又は他の端末２０を介して、ユーザからの指示を受け付ける。実行サーバ１２０は、クライアント端末１１４又は他の端末２０との間で実行サーバ１２０を遠隔操作することができる通信経路を確立し、当該通信経路を介してユーザからの指示を受け付けてよい。ユーザは、例えば、クライアント端末１１４のマウス、キーボードなどを利用して、実行サーバ１２０への指示を入力する。例えば、実行サーバ１２０は、ユーザからの指示に応じて添付ファイルを実行する。実行サーバ１２０は、添付ファイルの実行指示又は当該実行指示とは別の指示に応じて、変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行してもよい。
【００４８】
実行サーバ１２０が遠隔操作されている場合、実行サーバ１２０からクライアント端末１１４又は他の端末２０には、実行サーバ１２０における画面情報が送信される。実行サーバ１２０が遠隔操作されている場合、実行サーバ１２０からクライアント端末１１４又は他の端末２０への通信は制限される。そのため、添付ファイルを実行することで、実行サーバ１２０がウイルスに感染した場合であっても、実行サーバ１２０からクライアント端末１１４又は他の端末２０へのウイルスの拡散を防止することができる。
【００４９】
実行サーバ１２０は、ユーザからのアクセスを制限してもよい。例えば、実行サーバ１２０は、ユーザの識別情報と、当該ユーザがアクセスを許可されたディレクトリの識別情報とを対応付けて格納する。これにより、特定のユーザが読み書きすることのできる特定のディレクトリを制限することができる。
【００５０】
本実施形態において、ファイル転送システム１００のメールシステム１１０がメールサーバ１１２を備え、当該メールサーバ１１２が、電子ファイルを処理する場合について説明した。しかし、ファイル転送システム１００及びメールシステム１１０は本実施形態に限定されない。他の実施形態において、ファイル転送システム１００及びメールシステム１１０が、メールサーバ１１２に代わって、又は、メールサーバ１１２とともにプロキシサーバを備え、メールサーバ１１２における情報処理の少なくとも一部が、当該プロキシサーバにより実行されてもよい。上記のプロキシサーバは、情報処理装置の一例であってよい。
【００５１】
図２は、メールシステム１１０の一例を概略的に示す。図２の説明においては、主に、メールシステム１１０が、他の端末２０からクライアント端末１１４を宛先とする電子メールを受信する場合を例として、メールシステム１１０の各部について説明する。
【００５２】
本実施形態において、メールサーバ１１２は、通信制御部２２２と、電子データ取得部２２４と、電子ファイル抽出部２２６と、電子ファイル処理部２２８とを備える。メールサーバ１１２の各部は、互いに情報を送受してよい。本実施形態において、クライアント端末１１４は、通信制御部２４２と、遠隔操作部２４４と、入力部２４６と、出力部２４８とを備える。クライアント端末１１４の各部は、互いに情報を送受してよい。入力部２４６は、命令取得部の一例であってよい。
【００５３】
通信制御部２２２は、メールサーバ１１２と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末２０、クライアント端末１１４、実行サーバ１２０などを例示することができる。通信制御部２２２は、通信インターフェースであってよい。通信制御部２２２は、複数の通信方式に対応してよい。
【００５４】
通信制御部２２２は、ファイアウォール機能を有してよい。通信制御部２２２は、クライアント端末１１４が、メールサーバ１１２に格納された情報に直接アクセスすることができないように、ファイアウォールを設定してよい。
【００５５】
電子データ取得部２２４は、電子データを取得する。例えば、電子データ取得部２２４は、メールシステム１１０に送信された電子メールを取得する。電子データ取得部２２４は、取得した電子メールを電子ファイル抽出部２２６に送信する。本実施形態において、電子データ取得部２２４は、他の端末２０から電子メールを取得する。しかし、電子データ取得部２２４は本実施形態に限定されない。電子データ取得部２２４は、ハードディスク、メモリ、ファイル共有サーバなどの記憶装置に格納された電子データを取得してもよく、他のアプリケーションから電子データを取得してもよい。
【００５６】
電子ファイル抽出部２２６は、電子データから電子ファイルを抽出する。例えば、電子ファイル抽出部２２６は、電子データ取得部２２４から、電子データ取得部２２４が取得した電子メールを受け取る。電子ファイル抽出部２２６は、受け取った電子メールに添付ファイルが含まれているか否かを判断する。電子ファイル抽出部２２６は、受け取った電子メールに添付ファイルが含まれていると判断した場合、当該電子メールから添付ファイルを抽出する。
【００５７】
電子ファイル抽出部２２６は、抽出された添付ファイルを電子ファイル処理部２２８に送信する。電子ファイル抽出部２２６は、添付ファイルと、電子メールの添付ファイル以外の部分とを区別して、電子ファイル処理部２２８に送信してもよい。これにより、電子ファイル処理部２２８は、電子メールに含まれるヘッダ情報、メール本文の情報などを利用して通知データを作成することができる。
【００５８】
電子ファイル処理部２２８は、抽出された電子ファイルに対する各種の処理を実行する。例えば、電子ファイル処理部２２８は、電子ファイル抽出部２２６から、添付ファイルと、電子メールの添付ファイル以外の部分とを受け取る。電子ファイル処理部２２８は、受け取った添付ファイルを実行すべき実行環境を決定する。実行環境は、仮想サーバ上に構築されてよい。これにより、実行環境がウイルスに感染された場合であっても、実行環境を容易に再構築することができる。
【００５９】
電子ファイル処理部２２８は、クライアント端末１１４のユーザを識別するユーザ識別情報に基づいて、上記の実行環境を決定してよい。例えば、電子ファイル処理部２２８は、まず、ユーザ識別情報に基づいて、添付ファイルを実行サーバ１２０において添付ファイルを実行することを決定する。次に、電子ファイル処理部２２８は、実行サーバ１２０における添付ファイルの格納場所を決定する。
【００６０】
電子ファイル処理部２２８は、実行サーバ１２０における添付ファイルの格納場所に関する情報を実行サーバ１２０から取得して、添付ファイルの格納場所を決定してもよい。例えば、電子ファイル処理部２２８は、ユーザ識別情報、添付ファイルの形式、サイズなどの情報を実行サーバ１２０に送信して、添付ファイルを実行サーバ１２０に送信した場合に当該添付ファイルが格納されることになる場所に関する情報を通知するように要求する。実行サーバ１２０は、電子ファイル処理部２２８からの要求に応じて、ユーザ識別情報、添付ファイルの形式、サイズなどの情報に基づいて、添付ファイルの格納場所を決定する。
【００６１】
電子ファイル処理部２２８は、受け取った添付ファイルの変換処理を実行してよい。添付ファイルの変換処理としては、添付ファイルの形式、拡張子若しくは名称を変更する処理、添付ファイルを暗号化する処理などを例示することができる。添付ファイルの暗号化は、暗号化処理を実行するアプリケーションプログラムにより実行されてよい。
【００６２】
電子ファイル処理部２２８は、実行サーバ１２０における添付ファイルの格納場所に関する情報に基づいて、添付ファイルへのアクセス情報を含む通知データを作成する。電子ファイル処理部２２８は、電子メールに含まれるヘッダ情報、メール本文の情報などを利用して通知データを作成してよい。
【００６３】
電子ファイル処理部２２８は、添付ファイル又は変換後の添付ファイルを転送する。電子ファイル処理部２２８は、添付ファイル又は変換後の添付ファイルを実行サーバ１２０に転送してよい。電子ファイル処理部２２８は、添付ファイル又は変換後の添付ファイルを、通知データとともに又は通知データに含めて、クライアント端末１１４に転送してもよい。
【００６４】
電子ファイル処理部２２８は、抽出された電子ファイルに対する各種の処理を実行する場合に、実行サーバ１２０上の当該電子ファイルの実行環境に関する情報を取得する。電子ファイル処理部２２８は、上記の実行環境に関する情報を、実行サーバ１２０から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム１００又はクライアント端末１１４のユーザの当該サーバにおけるユーザＩＤ、当該ユーザＩＤに対応付けられたパスワードなどを例示することができる。
【００６５】
通信制御部２４２は、クライアント端末１１４と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末２０、メールサーバ１１２、実行サーバ１２０などを例示することができる。通信制御部２４２は、通信インターフェースであってよい。通信制御部２４２は、複数の通信方式に対応してよい。
【００６６】
通信制御部２４２は、実行サーバ１２０との間で認証処理を実行してよい。通信制御部２４２は、クライアント端末１１４の認証情報を実行サーバ１２０に送信してよい。クライアント端末１１４の認証情報としては、ＬＤＡＰ認証又はＮＴＬＭ認証などの認証方式に利用される情報であってよい。
【００６７】
一実施形態において、通信制御部２４２は、実行サーバ１２０との間で認証処理を実行する間に、出力部２４８の表示装置に認証画面を表示させて、ユーザから認証情報を取得する。通信制御部２４２は、ユーザから取得した認証情報を利用して、認証処理を実行する。認証情報としては、ＩＰアドレスなどの実行サーバ１２０の識別情報、ユーザＩＤ及び当該ユーザＩＤの暗証情報などを例示することができる。
【００６８】
他の実施形態において、通信制御部２４２は、予め、実行サーバ１２０から認証情報を受信して、クライアント端末１１４の記憶装置に格納する。通信制御部２４２は、記憶装置に格納された認証情報を利用して、認証処理を実行する。これにより、実行サーバ１２０との間で認証処理を実行する間、認証画面を表示させてユーザから認証情報を取得することなく、認証処理を完了することができる。
【００６９】
通信制御部２４２は、実行サーバ１２０との接続時間を制御してよい。通信制御部２４２は、実行サーバ１２０との通信を開始して予め定められた時間が経過した場合、実行サーバ１２０との通信を制限してよい。通信の制限方法としては、通信の遮断、通信速度の制限などを例示することができる。
【００７０】
遠隔操作部２４４は、クライアント端末１１４と実行サーバ１２０との間に遠隔操作可能な通信経路を確立する。遠隔操作部２４４は、遠隔操作可能な通信経路を介して、クライアント端末１１４のユーザからの指示を実行サーバ１２０に送信する。
【００７１】
遠隔操作部２４４は、入力部２４６に入力されたユーザからの指示に基づいて、実行サーバ１２０を遠隔操作する。例えば、遠隔操作部２４４は、実行サーバ１２０上で添付ファイルを実行させるための実行指示を実行サーバ１２０に送信する。遠隔操作部２４４は、実行サーバ１２０から、実行サーバ１２０の画面情報を取得する。遠隔操作部２４４は、画面情報を出力部２４８に送信する。これにより、クライアント端末１１４のユーザは、実行サーバ１２０に格納されている添付ファイルを安全に閲覧することができる。
【００７２】
ユーザが添付ファイルをクライアント端末１１４にダウンロードすることを希望する場合、ユーザは、実行サーバ１２０に格納されている添付ファイルをクライアント端末１１４に転送させるための転送指示を、入力部２４６に入力する。遠隔操作部２４４は、入力部２４６からユーザの転送指示を受け取り、実行サーバ１２０に送信する。これにより、ユーザは、添付ファイルを安全に取得することができる。
【００７３】
遠隔操作部２４４は、クライアント端末１１４に予めインストールされているプログラムを実行することにより実現されてよい。遠隔操作部２４４は、電子ファイル処理部２２８から受け取った通知データに含まれる遠隔操作プログラムを、クライアント端末１１４上で実行することにより実現されてよい。
【００７４】
遠隔操作部２４４は、クライアント端末１１４と実行サーバ１２０との間に遠隔操作可能な通信経路を確立する場合、又は、遠隔操作可能な通信経路を介してクライアント端末１１４のユーザからの指示を実行サーバ１２０に送信する場合に、実行サーバ１２０上の実行環境に関する情報を取得してよい。遠隔操作部２４４は、上記の実行環境に関する情報を、実行サーバ１２０から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム１００又はクライアント端末１１４のユーザの当該サーバにおけるユーザＩＤ、当該ユーザＩＤに対応付けられたパスワードなどを例示することができる。
【００７５】
入力部２４６は、ユーザからの入力を受け付ける。入力部２４６は、電子データの操作に関する指示又は命令を取得してもよい。入力部２４６は、キーボード、マウス、タッチパネル、マイクなどを例示することができる。出力部２４８は、ユーザに情報を出力する。出力部２４８としては、表示装置、スピーカなどを例示することができる。
【００７６】
図３は、電子ファイル処理部２２８の一例を概略的に示す。図３の説明においては、主に、電子ファイル処理部２２８が、電子メールから抽出された添付ファイル３４０を実行サーバ１２０に転送する場合を例として、電子ファイル処理部２２８の各部について説明する。本実施形態において、電子ファイル処理部２２８は、実行環境決定部３１２と、電子ファイル送信部３１４と、通知データ生成部３１６と、通知データ送信部３１８とを備える。通知データ生成部３１６は、ファイル変換部の一例であってよい。
【００７７】
実行環境決定部３１２は、電子ファイル抽出部２２６により抽出された添付ファイル３４０を実行すべき実行環境を決定する。一実施形態において、実行環境決定部３１２は、１以上のユーザのそれぞれを識別するユーザ識別情報と、当該ユーザに割り当てられた仮想サーバを識別するサーバ識別情報とを対応付けて格納しており、クライアント端末１１４のユーザのユーザ識別情報に基づいて、添付ファイル３４０を実行すべき仮想サーバを決定する。
【００７８】
他の実施形態において、実行環境決定部３１２は、クライアント端末１１４の識別情報、接続先のＵＲＩのプロトコル（例えば、ＨＴＴＰ、ＦＴＰ等である。）、接続先のＵＲＩ、接続元のＩＰアドレス、接続元のＩＰアドレスのバージョン、添付ファイル３４０の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、添付ファイル３４０を実行すべき仮想サーバを決定する。他の実施形態において、実行環境決定部３１２は、１以上の仮想サーバの中から、添付ファイル３４０を実行すべき仮想サーバをランダムに決定する。
【００７９】
更に他の実施形態において、実行サーバ１２０が、添付ファイル３４０を実行すべき仮想サーバを決定する。一実施形態において、実行環境決定部３１２は、実行サーバ１２０に対して、添付ファイル３４０を実行すべき実行環境を決定するよう要求する。実行サーバ１２０は、例えば、クライアント端末１１４の識別情報、クライアント端末１１４のユーザの識別情報、接続先のＵＲＩのプロトコル（例えば、ＨＴＴＰ、ＦＴＰ等である。）、接続先のＵＲＩ、接続元のＩＰアドレス、接続元のＩＰアドレスのバージョン、添付ファイル３４０の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、添付ファイル３４０を実行すべき実行環境を決定する。実行サーバ１２０は、決定された実行環境を実行環境決定部３１２に通知する。これにより、実行環境決定部３１２は、添付ファイル３４０を実行すべき実行環境を決定することができる。
【００８０】
実行環境決定部３１２は、実行環境における添付ファイル３４０の格納場所を決定してもよい。添付ファイル３４０を実行すべき実行環境は、添付ファイル３４０の格納場所に基づいて決定されてよい。実行環境決定部３１２は、実行環境を識別する情報及び添付ファイルの格納場所を示す情報の少なくとも一方を、電子ファイル送信部３１４及び通知データ生成部３１６に送信してよい。
【００８１】
実行環境決定部３１２は、添付ファイルが実行された場合、遠隔操作プロトコルが実行された場合などに、実行環境に関する情報を取得してよい。遠隔操作部２４４は、上記の実行環境に関する情報を、実行サーバ１２０から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム１００又はクライアント端末１１４のユーザの当該サーバにおけるユーザＩＤ、当該ユーザＩＤに対応付けられたパスワードなどを例示することができる。
【００８２】
本実施形態において、実行環境決定部３１２が電子ファイル処理部２２８に配される場合について説明した。しかし、実行環境決定部３１２は本実施形態に限定されない。実行環境決定部３１２は、実行サーバ１２０に配されてもよい。
【００８３】
電子ファイル送信部３１４は、実行環境決定部３１２の決定に基づいて、例えば実行サーバ１２０に添付ファイル３４０を送信する。電子ファイル送信部３１４は、変換後の添付ファイル３４０を実行サーバ１２０に送信してもよい。
【００８４】
通知データ生成部３１６は、他の端末２０からの電子メールを受信した旨を示す通知データ３３０を生成する。本実施形態において、通知データ生成部３１６は、クライアント端末１１４に対する通知データ３３０を生成する。クライアント端末１１４に対する通知データ３３０は、ヘッダ情報３３２と、メール本文３３４とを備える。メール本文３３４は、添付ファイル３４０のＵＲＩ３３６を含む。ＵＲＩ３３６は、実行サーバ１２０における添付ファイル３４０又は変換後の添付ファイル３４０の格納場所を示すＵＲＬであってもよい。通知データ３３０は、データ構造の一例であってよい。ＵＲＩ３３６は、添付ファイル３４０へのアクセス情報の一例であってよい。ＵＲＩ３３６は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。
【００８５】
通知データ生成部３１６は、電子データ取得部２２４により取得された電子メールに含まれるヘッダ情報を利用して、ヘッダ情報３３２を生成してよい。通知データ生成部３１６は、電子データ取得部２２４により取得された電子メールに含まれるメール本文の情報と、実行環境決定部３１２により決定された実行サーバ１２０における添付ファイル３４０の格納場所の情報とに基づいて、メール本文３３４を生成してよい。
【００８６】
通知データ生成部３１６は、実行サーバ１２０に対する通知データを生成してもよい。実行サーバ１２０に対する通知データは、実行サーバ１２０上での添付ファイル３４０に対する操作を制限するための制限情報を含んでよい。
【００８７】
制限情報は、電子ファイルの正当なユーザを識別するユーザ識別情報と、当該ユーザに対して許可又は禁止される操作とが対応付けられた情報であってよい。制限情報は、電子ファイルを識別する電子ファイル識別情報と、当該電子ファイルに対して許可又は禁止する操作とが対応付けられた情報であってよい。電子ファイルが暗号化されている場合、制限情報は、更に、当該電子ファイルの復号に用いられるパスコードが、ユーザ識別情報又は電子ファイル識別情報に対応付けられた情報であってよい。
【００８８】
電子ファイルの正当なユーザを識別するユーザ識別情報としては、当該電子ファイルが添付されていた電子メールの宛先を示すメールアドレス、当該電子ファイルの作成者を示す情報などを例示することができる。電子ファイル識別情報としては、電子ファイルの名称などを例示することができる。許可又は禁止される操作としては、電子ファイルの閲覧、印刷、編集、複製、移動、送信、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャなどを例示することができる。
【００８９】
通知データ生成部３１６は、制限情報を作成する場合、制限情報に含まれるユーザ識別情報及び電子ファイル識別情報の少なくとも一方を含む通知データ３３０を生成してよい。これにより、例えば、通知データ３３０を受信したクライアント端末１１４が、添付ファイル３４０のＵＲＩ３３６に基づいて実行サーバ１２０にアクセスする場合に、ユーザ識別情報及び電子ファイル識別情報の少なくとも一方を実行サーバ１２０に送信することができる。クライアント端末１１４は、ユーザ識別情報及び電子ファイル識別情報の少なくとも一方を含むユーザ指示を、実行サーバ１２０に送信してよい。
【００９０】
他の実施形態によれば、通知データ生成部３１６は、制限情報を特定のプロキシサーバ、クラウドシステム、データベースシステム（図示していない。）に格納してよい。通知データ生成部３１６は、制限情報を格納する他のシステムから当該制限情報を受信して、制限処理を実行してもよい。通知データ生成部３１６は、当該特定のプロキシサーバのＵＲＩと、当該プロキシサーバにおけるユーザ認証に利用される情報とを含む通知データ３３０を作成してよい。
【００９１】
通知データ送信部３１８は、通知データ３３０をクライアント端末１１４に送信する。通知データ送信部３１８は、制限情報を実行サーバ１２０に送信してもよい。通知データ送信部３１８は、通知データ３３０をクライアント端末１１４に送信した後、メールサーバ１１２から添付ファイル３４０又は変換後の添付ファイル３４０を削除してよい。
【００９２】
本実施形態においては、通知データ送信部３１８が、ネットワーク１０を介して通知データ３３０を送信する場合について説明した。しかし、通知データ送信部３１８による通知データ３３０の送信処理は本実施形態に限定されない。通知データ３３０の送信先は、通知データ送信部３１８が配されているコンピュータ上の記憶装置、当該コンピュータ上で動作している他のアプリケーション、外部記憶装置であってもよい。外部記憶装置としては、ハードディスク、メモリ、ＣＤ−ＲＯＭなどを例示することができる。
【００９３】
本実施形態においては、添付ファイル３４０が実行サーバ１２０に転送される場合について説明した。しかし、転送される電子ファイルは添付ファイル３４０に限定されない。転送される電子ファイルは変換後の添付ファイル３４０であってよい。例えば、通知データ生成部３１６は、添付ファイル３４０の変換処理を実行する。添付ファイル３４０の変換処理としては、添付ファイル３４０の形式、拡張子若しくは名称を変更する処理、添付ファイル３４０を暗号化する処理などを例示することができる。電子ファイル送信部３１４は、変換後の添付ファイル３４０を実行サーバ１２０に送信する。これにより、変換後の添付ファイル３４０が実行サーバ１２０に転送される。
【００９４】
図４は、実行サーバ１２０の一例を概略的に示す。実行サーバ１２０は、仮想サーバ管理部４１０と、１以上の仮想サーバとを備える。本実施形態において、実行サーバ１２０は、１以上の仮想サーバとして、仮想サーバ４１２、仮想サーバ４１４及び仮想サーバ４１６を備える。仮想サーバ管理部４１０は、削除部、スタンバイ部、又は、クリーンナップ部の一例であってよい。実行サーバ１２０の各部を仮想化する手法は特に限定されない。実行サーバ１２０の各部は、公知の仮想化技術、又は、将来的に開発される仮想化技術を用いて仮想化されてよい。例えば、実行サーバ１２０の各部は、ホスト型仮想化技術、ハイパーバイザ型仮想化技術、コンテナ型仮想化技術、及び、これらを組み合わせた技術を用いて仮想化される。一実施形態において、実行サーバ１２０の少なくとも一部が、クライアント端末１１４の上に構築されてもよい。例えば、クライアント端末１１４の上の仮想マシン又はコンテナ内のプロセス空間を利用して、仮想サーバ４１２、仮想サーバ４１４及び仮想サーバ４１６の少なくとも１つが実現される。この場合、仮想サーバ管理部４１０は、クライアント端末１１４の上の仮想マシン又はコンテナ内のプロセス空間を利用して実現されてもよく、クライアント端末１１４のホストＯＳ上に構築されてもよい。
【００９５】
仮想サーバ４１２は、通信制御部４２２と、認証部４２４と、電子ファイル格納部４２６と、指示受付部４２８と、電子ファイル実行部４３０と、画面情報送信部４３２と、異常検出部４３４とを有する。仮想サーバ４１４及び仮想サーバ４１６は、仮想サーバ４１２と同様の構成を有してよい。仮想サーバ４１２、仮想サーバ４１４及び仮想サーバ４１６は、実行環境及び情報処理装置の少なくとも一方の一例であってよい。
【００９６】
仮想サーバ管理部４１０は、遠隔操作部２４４との間で、ｈｔｔｐ、ｈｔｔｐｓ、ｓｓｈ、ＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ）、ＲＤＰ  ｏｖｅｒ  ＨＴＴＰＳ、ＩＣＡ、ＸＰｒｏｔｏｃｏｌ、ＰＣｏＩＰなどのプロトコルを利用して情報を送受してよい。仮想サーバ４１２、仮想サーバ４１４及び仮想サーバ４１６の少なくとも１つは、遠隔操作部２４４との間で、ＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ）、ＲＤＰ  ｏｖｅｒ  ＨＴＴＰＳ、ＩＣＡ、ＸＰｒｏｔｏｃｏｌ、ＰＣｏＩＰなどのプロトコルを利用して情報を送受してよい。
【００９７】
仮想サーバ管理部４１０は、実行サーバ１２０に含まれる１以上の仮想サーバを管理する。仮想サーバ管理部４１０は、予め定められたイベントが発生した場合に、１以上の仮想サーバの少なくとも１つを再構築する。これにより、仮想サーバのうちの１つがウイルスに感染された場合であっても、ウイルスに汚染されていない仮想サーバを容易に立ち上げることができる。
【００９８】
上述のとおり、仮想サーバは、実行環境の一例である。実行環境を再構築（クリーンナップと称される場合がある。）するための処理としては、（ｉ）実行環境の切り離し処理（利用切り離しと称される場合がある。）、（ｉｉ）実行環境を、特定時点におけるスナップショット（ウイルスに感染していない状態のスナップショットであることが好ましい。）へ戻す処理、（ｉｉｉ）実行環境の切り戻し処理（利用切り戻しと称される場合がある。）などを例示することができる。一実施形態において、仮想サーバ管理部４１０は、実行環境がクリーンナップされる間、当該実行環境を、ユーザの利用から、一時的に切り離してもよい。
【００９９】
予め定められたイベントとしては、ユーザからの指示、予め定められた期間の経過、又は、異常検出部４３４が異常を検出したこと、特定のディレクトリにファイルが作成されたこと、特定のレジストリに値が書き込まれたこと、レジストリに特定の値が書き込まれたこと、クライアント端末１１４による当該仮想サーバの利用が終了したことなどを例示することができる。仮想サーバの再構築は、仮想サーバを、当該仮想サーバが実行サーバ１２０上に構築された後の特定の状態に戻すことであってもよく、仮想サーバ又は実行サーバ１２０のＯＳを特定の状態に復元することであってもよい。
【０１００】
仮想サーバの再構築は、クライアント端末１１４のユーザに特有の情報を、クライアント端末１１４による当該仮想サーバの利用が開始される前の状態に戻すことであってもよい。このとき、ユーザに特有の情報以外の設定などは変更しなくてもよい。ユーザに特有の情報としては、ユーザーディレクトリに格納された電子ファイル、ブラウザの利用履歴、レジストリの情報などを例示することができる。ユーザに特有の情報は、クライアント端末１１４による当該仮想サーバの利用が終了したときに、クライアント端末１１４による当該仮想サーバの利用が開始される前の状態に戻されてもよい。
【０１０１】
仮想サーバが実行サーバ１２０上に構築された後の特定の状態としては、仮想サーバが実行サーバ１２０上に構築された後、当該仮想サーバに特定のアプリケーションがインストールされる前の状態、当該仮想サーバに特定のアプリケーションがインストールされた直後の状態、再構築処理を実施する直前の状態などを例示することができる。ＯＳを特定の状態に復元する処理としては、ＯＳを初期化する処理を例示することができる。
【０１０２】
仮想サーバ管理部４１０は、仮想サーバの再構築を行う前に、当該仮想サーバにおけるユーザに関する設定を設定ファイルに格納しておいてよい。仮想サーバ管理部４１０は、ユーザごと又は仮想サーバごとに複数の設定ファイルを格納してよい。複数の設定ファイルのそれぞれは、異なる時刻における上記ユーザに関する設定を格納してよい。仮想サーバ管理部４１０は、仮想サーバを再構築した後、上記の設定ファイルを読み出す。これにより、実行サーバ１２０又は仮想サーバを特定の状態に戻すことができる。
【０１０３】
仮想サーバ管理部４１０は、上記の予め定められたイベントが発生した場合に、仮想サーバのＯＳ（ゲストＯＳと称される場合がある。）のメンテナンス処理を実行してもよい。ゲストＯＳのメンテナンス処理としては、ゲストＯＳが利用するユーザ情報を、特定の状態に戻す処理を例示することができる。仮想サーバ管理部４１０は、ゲストＯＳごとに、ゲストＯＳのメンテナンス処理を実行してよい。特定の状態としては、予め定められた状態、又は、ユーザにより指定された状態を例示することができる。
【０１０４】
仮想サーバ管理部４１０は、特定の仮想サーバを再構築する場合、又は、当該仮想サーバのゲストＯＳをメンテナンスする場合において、クライアント端末１１４又はファイル転送システム１００のユーザが、当該仮想サーバを参照することができないように、当該仮想サーバの参照情報を更新してよい。仮想サーバ管理部４１０は、特定の仮想サーバの再構築する処理、又は、当該仮想サーバのゲストＯＳをメンテナンスする処理が終了した場合に、クライアント端末１１４又はファイル転送システム１００のユーザが、当該仮想サーバを参照することができるように、当該仮想サーバの参照情報を更新してよい。
【０１０５】
仮想サーバ管理部４１０は、メールシステム１１０からの要求に応じて、添付ファイル３４０を実行すべき実行環境を決定してよい。仮想サーバ管理部４１０は、メールシステム１１０からの要求に応じて、添付ファイル３４０の格納場所を決定してよい。仮想サーバ管理部４１０は、決定された実行環境及び格納場所の少なくとも一方をメールシステム１１０に送信してよい。
【０１０６】
仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６の負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、電子データ又は電子ファイルの実行環境又は格納場所を決定してよい。仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６の負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、クライアント端末１１４を接続する仮想サーバを決定してよい。
【０１０７】
仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６の少なくともに負荷を集中させてもよく、仮想サーバ４１２〜仮想サーバ４１６の負荷が略均等になるように負荷を割り当ててもよい。これにより、仮想サーバ４１２〜仮想サーバ４１６を効率的に運用することができる。仮想サーバ管理部４１０は、１以上のサーバの負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、新たな仮想サーバの構築、既存の仮想サーバの再構築又は削除などの処理を実行してよい。
【０１０８】
仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６の環境を一括管理してよい。例えば、仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６のＯＳの設定を一括して編集する。仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６に、一括してアプリケーションをインストールしたり、電子データ又は電子ファイルを配信したりしてもよい。
【０１０９】
仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６のＯＳを管理する管理画面を生成してよい。上記の管理画面は、ＧＵＩであってもよく、ＣＵＩであってもよい。
【０１１０】
仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６のそれぞれの利用履歴を格納してよい。仮想サーバ管理部４１０は、クライアント端末１１４ごとに、又は、クライアント端末１１４のユーザごとに、仮想サーバ４１２〜仮想サーバ４１６のそれぞれの利用履歴を格納してよい。利用履歴は、仮想サーバにおいて、実行されたファイルに関する情報を含んでよい。仮想サーバが外部のサーバなどにアクセスすることができる場合、利用履歴は、仮想サーバがアクセスした外部のサーバなどのＩＰアドレスを含んでよい。
【０１１１】
仮想サーバ管理部４１０は、クライアント端末１１４による仮想サーバ４１２仮想サーバ４１６の少なくとも１つ（仮想サーバ４１２などと称する場合がある。）の利用を制限してよい。例えば、クライアント端末１１４が仮想サーバ４１２などの利用を開始して予め定められた時間が経過した場合、仮想サーバ管理部４１０は、仮想サーバ４１２などの利用を制限してよい。仮想サーバ管理部４１０は、仮想サーバ４１２など利用時間を延長するための処理を実行してもよく、即座に仮想サーバ４１２などの利用を停止する処理を実行してもよい。
【０１１２】
仮想サーバ管理部４１０は、クライアント端末１１４若しくは仮想サーバ４１２などにインストールされたＷｅｂブラウザのクッキーに格納された情報、Ｗｅｂブラウザに登録されたブックマーク（「お気に入り」と称される場合もある。）、Ｗｅｂブラウザで保存されたユーザＩＤ、Ｗｅｂサイトへのログインパスワードなどのサイト毎の暗証情報、各種Ｗｅｂサイトの設定情報、当該Ｗｅｂブラウザの設定情報、プラグインなどを、仮想サーバ４１２などから取得してよい。なお、Ｗｅｂブラウザには各種のプラグインがインストールされていてもよい。他の情報処理装置にインストールされたＷｅｂブラウザについても同様である。
【０１１３】
仮想サーバ管理部４１０は、クライアント端末１１４・仮想サーバ４１２などから取得した情報を、実行サーバ１２０の記憶装置、クライアント端末１１４の記憶装置、メールサーバ１１２の記憶装置などの任意の記憶装置に格納してよい。仮想サーバ管理部４１０は、仮想サーバ４１２などから取得した情報のうち、予め定められた情報を、上記の任意の記憶装置に格納してよい。
【０１１４】
仮想サーバ管理部４１０は、クライアント端末１１４にインストールされたＷｅｂブラウザのプロキシ情報を、仮想サーバ４１２などに送信してよい。仮想サーバ管理部４１０は、仮想サーバ４１２〜仮想サーバ４１６のそれぞれに応じたプロキシ情報を送信してよい。
【０１１５】
通信制御部４２２は、仮想サーバ４１２と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末２０、メールサーバ１１２、クライアント端末１１４、仮想サーバ管理部４１０、仮想サーバ４１４、仮想サーバ４１６などを例示することができる。通信制御部４２２は、通信インターフェースであってよい。通信制御部４２２は、複数の通信方式に対応してよい。
【０１１６】
通信制御部４２２は、クライアント端末１１４又は他の端末２０からの要求に応じて、クライアント端末１１４又は他の端末２０と、仮想サーバ４１２との間に遠隔操作可能な通信経路を確立してよい。通信制御部４２２は、仮想サーバ４１２が仮想サーバ４１２への要求に応じて応答する場合を除き、仮想サーバ４１２から外部への情報の送信を禁止してよい。
【０１１７】
通信制御部４２２は、クライアント端末１１４との接続時間を制御してよい。通信制御部４２２は、クライアント端末１１４との通信を開始して予め定められた時間が経過した場合、クライアント端末１１４との通信を制限してよい。通信の制限方法としては、通信の遮断、通信速度の制限などを例示することができる。
【０１１８】
仮想サーバ４１２は、クライアント端末１１４から転送された添付ファイル３４０を実行するので、ウイルスに感染する可能性がある。しかし、通信制御部４２２が外部との通信を制限することにより、仮想サーバ４１２がウイルスに感染した場合であっても、仮想サーバ４１２が外部のコンピュータにウイルスを送信したり、外部のコンピュータにＤｏＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）攻撃を仕掛けたりすることを防止することができる。
【０１１９】
認証部４２４は、外部のコンピュータ又はユーザを認証する。認証部４２４は、認証されたコンピュータ又はユーザからの遠隔操作を許可してもよい。
【０１２０】
電子ファイル格納部４２６は、クライアント端末１１４又は他の端末２０から、添付ファイル３４０又は変換後の添付ファイル３４０を受信する。電子ファイル格納部４２６は、受信した添付ファイル３４０又は変換後の添付ファイル３４０を格納する。
【０１２１】
指示受付部４２８は、クライアント端末１１４及びネットワーク１０を介してユーザからの指示（ユーザ指示と称する場合がある。）を受け付ける。指示受付部４２８は、他の端末２０及びネットワーク１０を介してユーザからの指示を受け付けてよい。
【０１２２】
電子ファイル実行部４３０は、ユーザ指示に基づいて、添付ファイル３４０又は変換後の添付ファイル３４０を実行する。例えば、電子ファイル実行部４３０は、指示受付部４２８が添付ファイル３４０を実行させるための実行指示を受信した場合に、電子ファイル格納部４２６に格納されている添付ファイル３４０を読み出し、添付ファイル３４０を実行する。電子ファイル実行部４３０は、電子ファイル格納部４２６に変換後の添付ファイル３４０が格納されている場合には、変換後の添付ファイル３４０を変換前の添付ファイル３４０に戻す処理を実行した後、添付ファイル３４０を実行してよい。
【０１２３】
実行サーバ１２０がメールサーバ１１２から制限情報を受信していた場合、電子ファイル実行部４３０は、当該制限情報に基づいて、ユーザ指示に応答するか否かを決定してよい。例えば、電子ファイル実行部４３０は、制限情報を参照して、ユーザ指示により示される操作が、当該ユーザ又は当該電子ファイルに対して許可されているか否か又は禁止されているか否かを判断する。これにより、電子ファイルに対する操作を制限することができる。
【０１２４】
一実施形態によれば、電子ファイル実行部４３０は、ユーザ指示に含まれるユーザ識別情報及び制限情報を参照して、当該ユーザ識別情報により識別されるユーザに対して許可又は禁止されている操作を抽出する。電子ファイル実行部４３０は、ユーザ指示により示される操作と、抽出された操作とを比較して、ユーザ指示により示される操作を実行するか否かを決定する。
【０１２５】
他の実施形態によれば、電子ファイル実行部４３０は、ユーザ指示により示される電子ファイルの名称及び制限情報を参照して、当該電子ファイルに対して許可又は禁止されている操作を抽出する。電子ファイル実行部４３０は、ユーザ指示により示される操作と、抽出された操作とを比較して、ユーザ指示により示される操作を実行するか否かを決定する。
【０１２６】
画面情報送信部４３２は、ユーザに表示されるべき画面情報を送信する。指示受付部４２８がクライアント端末１１４からユーザ指示を受信した場合、画面情報送信部４３２は、クライアント端末１１４に対して、ネットワーク１０を介して、クライアント端末１１４の表示装置に表示されるべき画面情報を送信する。指示受付部４２８が他の端末２０からユーザ指示を受信した場合、画面情報送信部４３２は、他の端末２０に対して、ネットワーク１０を介して、他の端末２０の表示装置に表示されるべき画面情報を送信する。
【０１２７】
異常検出部４３４は、仮想サーバ４１２の異常を検出する。異常検出部４３４は、異常検出部４３４は、仮想サーバ４１２がユーザからの指示に応じた動作以外の動作を実行した場合に、仮想サーバ４１２の異常を検出する。異常検出部４３４は、仮想サーバ４１２の異常を検出した場合、異常を検出した旨を仮想サーバ管理部４１０に通知してもよい。
【０１２８】
異常検出部４３４は、添付ファイル３４０のウイルス検査を実施してもよい。異常検出部４３４は、ウイルスを検出した場合、ウイルスを検出したことを示す画面情報を生成してよい。異常検出部４３４は、ウイルスを検出した場合、ウイルスを検出した旨を仮想サーバ管理部４１０に通知してもよい。
【０１２９】
本実施形態においては、図４を用いて、実行サーバ１２０の一実施形態について説明した。しかしながら、実行サーバ１２０は本実施形態に限定されない。例えば、仮想サーバ４１０と、仮想サーバ４１２、仮想サーバ４１４及び仮想サーバ４１６との役割分担は、上記の実施形態に限定されるものではない。
【０１３０】
一実施形態において、仮想サーバ管理部４１０が、通信制御部４２２の機能の少なくとも一部を有し、通信制御部４２２における情報処理の少なくとも一部が、仮想サーバ管理部４１０により実行されてもよい。他の実施形態において、通信制御部４２２が、仮想サーバ管理部４１０の機能の少なくとも一部を有し、仮想サーバ管理部４１０における情報処理の少なくとも一部が、通信制御部４２２により実行されてもよい。
【０１３１】
図５は、ファイル転送システム１００における処理の一例を概略的に示す。図５は、メールサーバ１１２が、他の端末２０からクライアント端末１１４を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
【０１３２】
本実施形態によれば、ステップ５０２（ステップをＳと省略する場合がある。）において、電子データ取得部２２４が、他の端末２０から、クライアント端末１１４を宛先とする電子メールを取得する。Ｓ５０４において、電子ファイル抽出部２２６が、電子メールに含まれる添付ファイル３４０を抽出する。Ｓ５０６において、通知データ生成部３１６が、通知データ３３０を作成する。Ｓ５０８において、電子ファイル送信部３１４が、添付ファイル３４０を仮想サーバ４１２に送信する。Ｓ５１０において、電子ファイル格納部４２６が添付ファイル３４０を格納する。Ｓ５１２において、通知データ送信部３１８が通知データ３３０をクライアント端末１１４に送信する。
【０１３３】
クライアント端末１１４のユーザは、クライアント端末１１４上で通知データ３３０を確認する。Ｓ５２０において、ユーザが添付ファイル３４０の閲覧又はダウンロードを希望する場合、ユーザは、クライアント端末１１４上で遠隔操作プログラムを実行する。Ｓ５３０において、遠隔操作部２４４が、クライアント端末１１４及び実行サーバ１２０の間に遠隔操作可能な通信経路を確立する。
【０１３４】
一実施形態によれば、ユーザは、クライアント端末１１４にインストールされている遠隔操作プログラムを起動させる。次に、ユーザは、遠隔操作プログラムに添付ファイル３４０のＵＲＩを入力する。これにより、遠隔操作部２４４が、クライアント端末１１４及び実行サーバ１２０の間に遠隔操作可能な通信経路を確立する。他の実施形態によれば、通知データ３３０において添付ファイル３４０のＵＲＩへのリンクが張られており、ユーザが当該リンクをクリックした場合に、クライアント端末１１４にインストールされている遠隔操作プログラムが起動する。これにより、遠隔操作部２４４が、クライアント端末１１４及び実行サーバ１２０の間に遠隔操作可能な通信経路を確立する。
【０１３５】
Ｓ５４０において、ユーザが添付ファイルの実行を希望する場合、ユーザは、仮想サーバ４１２上で添付ファイル３４０を実行させるための実行指示を入力部２４６に入力する。入力部２４６がユーザからの実行指示を受け付けると、遠隔操作部２４４が、実行指示を仮想サーバ４１２に送信する。Ｓ５４２において、指示受付部４２８がクライアント端末１１４からの実行指示を受け付けると、電子ファイル実行部４３０が、添付ファイル３４０を実行する。Ｓ５４４において、画面情報送信部４３２が画面情報をクライアント端末１１４に送信する。Ｓ５４６において、出力部２４８が画面情報を表示する。
【０１３６】
以上の処理により、ユーザは、添付ファイル３４０の実行結果を安全に閲覧することができる。ユーザが添付ファイル３４０ダウンロードを希望する場合、ユーザは、添付ファイル３４０をクライアント端末１１４に転送させるための転送指示を、入力部２４６に入力する。遠隔操作部２４４は、入力部２４６からユーザの転送指示を受け取り、仮想サーバ４１２に送信する。これにより、ユーザは、添付ファイル３４０を取得できる。
【０１３７】
図６は、ファイル転送システム１００における処理の一例を概略的に示す。図６は、メールサーバ１１２が、クライアント端末１１４から他の端末２０を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。図６における処理は、Ｓ５０２において、電子データ取得部２２４が、クライアント端末１１４から他の端末２０を宛先とする電子メールを受信する点と、Ｓ５２０以降の処理が、他の端末２０と仮想サーバ４１２との間で実行される点とにおいて、図５における処理と相違する。図６における処理は、上記相違点以外の構成については、図５における処理と同様の構成を有してよい。
【０１３８】
図７は、電子ファイル処理部７２８の一例を概略的に示す。電子ファイル処理部７２８は、電子ファイル送信部３１４を有しない点と、通知データ生成部３１６が、添付ファイル３４０及び遠隔操作プログラム７３６を含む通知データ７３０を生成する点とにおいて、電子ファイル処理部２２８と相違する。電子ファイル処理部７２８は、上記相違点以外の構成については、電子ファイル処理部２２８と同様の構成を有してよい。
【０１３９】
本実施形態において、通知データ生成部３１６は、実行環境決定部３１２により決定された実行環境を遠隔操作するための遠隔操作プログラム７３６を生成する。通知データ生成部３１６は、遠隔操作プログラム生成部の一例であってよい。一実施形態において、遠隔操作プログラム７３６は、添付ファイル３４０又は変換後の添付ファイル３４０の送信先を識別する送信先識別データと、添付ファイル３４０を実行すべき実行環境を識別する実行環境識別データとを含んでよい。遠隔操作プログラム７３６は、添付ファイル３４０へのアクセス情報の一例であってよい。遠隔操作プログラム７３６は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。他の実施形態において、メール本文３３４に送信先識別データ及び実行環境識別データが含まれており、遠隔操作プログラム７３６は、実行時に、メール本文３３４に含まれる送信先識別データ及び実行環境識別データを取得してもよい。
【０１４０】
遠隔操作プログラム７３６は、コンピュータに、当該コンピュータと、仮想サーバ４１２との間に通信経路を確立する手順を実行させるためのプログラムであってよい。上記の通信経路は、遠隔操作プログラムを実行するコンピュータから、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータを遠隔操作可能な通信経路であってよい。遠隔操作プログラム７３６は、コンピュータに、クライアント端末１１４上で添付ファイル３４０を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する手順を更に実行させるためのプログラムであってよい。
【０１４１】
遠隔操作プログラム７３６は、コンピュータに、当該コンピュータが仮想サーバ４１２に対して、ネットワーク１０を介して添付ファイル３４０又は変換後の添付ファイル３４０を送信する手順を更に実行させるためのプログラムであってよい。これにより、遠隔操作プログラム７３６がクライアント端末１１４上で実行された場合、クライアント端末１１４は、通知データ７３０に含まれる添付ファイル３４０を仮想サーバ４１２に転送することができる。
【０１４２】
通知データ生成部３１６は、通知データ７３０を生成する。本実施形態において、通知データ７３０は、ヘッダ情報３３２と、メール本文３３４と、添付ファイル３４０と、遠隔操作プログラム７３６とを含む。なお、メール本文３３４及び添付ファイル３４０は、遠隔操作プログラム７３６とは別個の電子ファイルであってもよく、遠隔操作プログラム７３６が、メール本文３３４及び添付ファイル３４０の少なくとも一方を含む電子ファイルであってもよい。
【０１４３】
通知データ７３０は、データ構造の一例であってよい。通知データ７３０は、クライアント端末１１４又は他の端末２０が記憶するデータ構造の一例であってよい。例えば、通知データ７３０は、添付ファイル３４０のデータと、添付ファイル３４０の送信先を識別する送信先識別データと、添付ファイル３４０を実行すべき仮想サーバ４１２を識別する実行環境識別データと、クライアント端末１１４又は他の端末２０に、送信先識別データにより識別される送信先に添付ファイル３４０又は変換後の添付ファイル３４０のデータを送信する手順と、クライアント端末１１４又は他の端末２０及び実行環境識別データにより識別される仮想サーバ４１２の間に遠隔操作可能な通信経路を確立する手順とを実行させるためのプログラムとを備えるデータ構造であってよい。クライアント端末１１４又は他の端末２０は、第１のコンピュータの一例であってよい。仮想サーバ４１２は、第２のコンピュータの一例であってよい。
【０１４４】
本実施形態においては、添付ファイル３４０が、クライアント端末１１４を介して実行サーバ１２０に転送される場合について説明した。しかし、転送される電子ファイルは添付ファイル３４０に限定されない。変換後の添付ファイル３４０が、クライアント端末１１４を介して実行サーバ１２０に転送されてもよい。
【０１４５】
図８は、電子ファイル処理部７２８を備えたファイル転送システム１００における処理の一例を概略的に示す。図８は、メールサーバ１１２が、他の端末２０からクライアント端末１１４を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。図８における処理は、Ｓ５０８及びＳ５１０の代わりに、Ｓ８０８及びＳ８１０を実施する点において、図５における処理と相違する。図８における処理は、上記相違点以外の構成については、図５における処理と同様の構成を有してよい。
【０１４６】
Ｓ８０８において、遠隔操作部２４４は、通知データ７３０に含まれる添付ファイル３４０を抽出する。また、遠隔操作部２４４は、添付ファイル３４０を実行サーバ１２０に送信する。Ｓ８１０において、電子ファイル格納部４２６が添付ファイル３４０を格納する。
【０１４７】
本実施形態においては、Ｓ８０８及びＳ８１０がＳ５３０の後に実行される場合について説明した。しかし、Ｓ８０８及びＳ８１０が実行されるタイミングは、本実施形態に限定されない。他の実施形態において、Ｓ８０８及びＳ８１０は、Ｓ５２０の後、Ｓ５３０の前に実行されてもよい。
【０１４８】
図９は、メールシステム９１０の一例を概略的に示す。メールシステム９１０は、メールサーバ９１２と、クライアント端末９１４とを備える。クライアント端末９１４は、電子メールを作成するメール作成部９０２を有してよい。メール作成部９０２は、命令取得部の一例であってよい。メールシステム９１０は、電子データ取得部２２４、電子ファイル抽出部２２６及び電子ファイル処理部２２８が、メールサーバ９１２ではなくクライアント端末９１４に配される点において、メールシステム１１０と相違する。メールシステム９１０は、上記相違点以外の構成については、メールシステム１１０と同様の構成を有してよい。
【０１４９】
本実施形態において、クライアント端末９１４が電子ファイル処理部２２８を備える場合について説明した。しかし、クライアント端末９１４は本実施形態に限定されない。クライアント端末９１４は、電子ファイル処理部２２８に代えて電子ファイル処理部７２８を備えてもよい。また、電子ファイル処理部２２８は通知データ送信部３１８を有しなくてもよく、通知データ送信部３１８が通知データ３３０又は通知データ７３０をメール作成部９０２に送信してもよい。
【０１５０】
一実施形態において、電子ファイル処理部２２８は、クライアント端末９１４上における電子ファイルの実行を検出してよい。電子ファイル処理部２２８は、クライアント端末９１４に格納された電子ファイルが、クライアント端末９１４上で実行されることを検出してもよく、クライアント端末９１４に接続された外部記憶装置に格納された電子ファイルが、クライアント端末９１４上で実行されることを検出してもよい。外部記憶装置としては、ＵＳＢメモリ、ＳＢメモリなどの半導体記憶装置、ＣＤ、ＤＶＤ、ＢＤなどの記憶媒体、ネットワークを介してクライアント端末９１４に接続された情報処理装置などを例示することができる。
【０１５１】
電子ファイル処理部２２８は、クライアント端末９１４における、予め定められた電子ファイルの実行を検出してよい。電子ファイル処理部２２８は、電子ファイルのファイル形式、拡張子などに基づいて、予め定められた電子ファイルの実行を検出してもよく、予め定められた電子ファイルのリストに基づいて、予め定められた電子ファイルの実行を検出してもよい。
【０１５２】
電子ファイル処理部２２８は、電子ファイルの実行が検出された場合、ＯＳの実行処理部に当該電子ファイルの実行を中止させる。また、電子ファイル処理部２２８は、実行が検出された電子ファイルを実行サーバ１２０に送信する。次に、電子ファイル処理部２２８は、遠隔操作部２４４を起動させて、実行サーバ１２０との間に遠隔操作可能な通信経路を確立させ、実行サーバ１２０上で電子ファイルを実行する。
【０１５３】
図１０は、メールシステム９１０を備えたファイル転送システム１００における処理の一例を概略的に示す。図１０は、メールサーバ１１２が、他の端末２０からクライアント端末１１４を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
【０１５４】
図１０における処理は、Ｓ５０２において、他の端末２０からの電子メールがメールサーバ１１２からクライアント端末１１４に送信される点と、Ｓ５０４、Ｓ５０６及びＳ５０８における処理がクライアント端末１１４において実行される点と、Ｓ５１２における処理が省略されている点とにおいて、図５における処理と相違する。図１０における処理は、上記相違点以外の構成については、図５における処理と同様の構成を有してよい。
【０１５５】
図１１は、メールシステム９１０を備えたファイル転送システム１００における処理の一例を概略的に示す。図１１は、メールサーバ１１２が、クライアント端末１１４から他の端末２０を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
【０１５６】
図１１における処理は、Ｓ５０２、Ｓ５０４、Ｓ５０６、Ｓ５０８及びＳ５１２における処理がクライアント端末１１４において実行される点と、Ｓ５０２において、クライアント端末１１４の電子データ取得部２２４が、メール作成部９０２から電子メールを取得する点とにおいて、図６における処理と相違する。図１１における処理は、上記相違点以外の構成については、図６における処理と同様の構成を有してよい。
【０１５７】
図１２は、ファイル転送システム１２００の一例を概略的に示す。ファイル転送システム１２００は、実行サーバ１２０と、ファイル共有サーバ１２１２とを備える。ファイル共有サーバ１２１２は、通信制御部２２２と、電子データ取得部２２４と、電子ファイル抽出部２２６と、電子ファイル処理部２２８とを有する。
【０１５８】
ファイル転送システム１２００は、メールシステム１１０の代わりにファイル共有サーバ１２１２を備える点と、ネットワーク１０を介して、クライアント端末２２及びクライアント端末２４と情報を送受する点とにおいて、ファイル転送システム１００と相違する。ファイル転送システム１２００は、上記相違点以外の構成については、ファイル転送システム１００と同様の構成を有してよい。クライアント端末２２及びクライアント端末２４は、クライアント端末１１４又は他の端末２０と同様の構成を有してよい。ファイル転送システム１２００によれば、クライアント端末２２及びクライアント端末２４の間で、安全に電子ファイルを共有することができる。
【０１５９】
ファイル転送システム１２００は、実行サーバ１２０上での添付ファイル３４０に対する操作を制限してよい。ファイル転送システム１２００は、電子ファイルの正当なユーザを識別するユーザ識別情報と、当該ユーザに対して許可又は禁止される操作とが対応付けられた制限情報を格納してよい。電子ファイルの正当なユーザを識別するユーザ識別情報は、当該電子ファイルがアップロードされたときに指定されたユーザを示す情報であってもよい。許可又は禁止される操作としては、電子ファイルの閲覧、印刷、編集、複製、移動、送信、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャなどを例示することができる。
【０１６０】
制限情報は、電子ファイルを識別する電子ファイル識別情報と、当該電子ファイルに対して許可又は禁止する操作とが対応付けられた情報であってもよい。制限情報は、ユーザ識別情報と、電子ファイル識別情報と、電子ファイル又はユーザに対して許可又は禁止する処理とが対応付けられた情報であってもよい。電子ファイルが暗号化されている場合、制限情報は、更に、当該電子ファイルの復号に用いられるパスコードが、ユーザ識別情報又は電子ファイル識別情報に対応付けられた情報であってよい。
【０１６１】
ファイル転送システム１２００は、制限情報に基づいて、ユーザ指示に応答するか否かを決定してよい。例えば、ファイル転送システム１２００がクライアント端末２２のユーザから、特定の電子ファイルに対するユーザ指示を受信した場合、制限情報を参照して、ユーザ指示により示される操作が、当該ユーザ又は当該電子ファイルに対して許可されているか否か又は禁止されているか否かを判断する。これにより、電子ファイルに対する操作を制限することができる。
【０１６２】
通信制御部２２２は、ファイアウォール機能を有してよい。通信制御部２２２は、ファイル転送システム１２００の外部が、ファイル共有サーバ１２１２に格納された情報に直接アクセスすることができないように、ファイアウォールを設定してよい。通信制御部２２２は、クライアント端末１１４ごと、又は、クライアント端末１１４のユーザごとに、アクセス権限を設定してよい。
【０１６３】
通信制御部２２２は、アプリケーションプログラムによりファイアウォール機能を実現してもよく、ＯＳによりファイアウォール機能を実現してもよい。通信制御部２２２は、ＯＳにより提供されるファイアウォール機能の設定を変更することで、適切なファイアウォールを設定してよい。
【０１６４】
通信制御部２２２は、ファイル共有サーバ１２１２の外部に電子データ又は電子ファイルを送信すること指示する要求を受信した場合、当該要求が実行サーバ１２０の仮想サーバ管理部４１０からの要求である場合には、当該要求を受け付けてよい。一方、当該要求が実行サーバ１２０の仮想サーバ管理部４１０からの要求でない場合には、当該要求を受け付けなくてよい。
【０１６５】
ファイル共有サーバ１２１２は、１台のサーバから構成されていてもよく、複数のサーバから構成されていてもよい。実行サーバ１２０は、ファイル共有サーバ１２１２が複数のサーバから構成されている場合であっても、希望するファイルを取り出すことができる。
【０１６６】
ファイル共有サーバ１２１２は、クライアント端末２２及びクライアント端末２４の間で共有される電子ファイルを格納する。ファイル共有サーバ１２１２は、電子ファイルと、ユーザ情報とを対応付けて、当該ユーザ情報及び当該電子ファイルと同じデータとして格納してもよく、当該ユーザ情報及び当該電子ファイルを別々に格納してもよい。ユーザ情報は、Ｗｉｎｄｏｗｓ（登録商標）で利用されるユニークなＳＩＤであってよい。ユニークなＳＩＤは、ログインＩＤであってもよく、ドメイン名及びユーザ名の組み合わせであってもよく、アプリケーションプログラムにより付与され、当該アプリケーションプログラムによるユーザの識別に利用されるユニークＩＤであってもよい。
【０１６７】
図１３は、ファイル転送システム１２００における処理の一例を概略的に示す。図１３は、クライアント端末２２がファイル共有サーバ１２１２にアップロードしたデータを、クライアント端末２４から閲覧する場合における処理の一例を概略的に示す。
【０１６８】
Ｓ１３０２において、電子データ取得部２２４が、クライアント端末２２からアップロードされた電子データを取得する。Ｓ１３０４において、電子ファイル抽出部２２６が、アップロードされた電子データから、電子ファイルを抽出する。Ｓ１３０６において、通知データ生成部３１６が、通知データを作成する。Ｓ１３０８において、電子ファイル送信部３１４が、電子ファイルを仮想サーバ４１２に送信する。Ｓ１３１０において、電子ファイル格納部４２６が電子ファイルを格納する。
【０１６９】
Ｓ１３２０において、クライアント端末２４が、ファイル共有サーバ１２１２に対して、電子ファイルの閲覧又はダウンロードを要求する。Ｓ１３２２において、通知データ送信部３１８が、通知データをクライアント端末２４に送信する。
【０１７０】
クライアント端末２４のユーザは、クライアント端末２４上で通知データを確認する。Ｓ１３３０において、ユーザが電子ファイルの閲覧又はダウンロードを希望する場合、ユーザは、クライアント端末２４上で遠隔操作プログラムを実行する。Ｓ１３３２において、遠隔操作部２４４が、クライアント端末２４及び実行サーバ１２０の間に遠隔操作可能な通信経路を確立する。その後の処理は、図５などにおける処理と同様である。
【０１７１】
本実施形態においては、ウイルス感染の防止を目的としてファイル転送システム１００及びファイル転送システム１２００を使用する場合について説明した。しかし、ファイル転送システム１００及びファイル転送システム１２００の目的はウイルス感染の防止に限定されない。
【０１７２】
他の実施形態によれば、電子ファイルの送信先の設定によらずに電子ファイルを送信する目的で、ファイル転送システム１００又はファイル転送システム１２００を利用してよい。さらに他の実施形態によれば、電子ファイルの送信先の環境によらずに電子ファイルの閲覧を可能にする目的で、ファイル転送システム１００又はファイル転送システム１２００を利用してよい。
【０１７３】
図１４は、ファイル処理システム１４００の一例を概略的に示す。ファイル処理システム１４００は、実行サーバ１２０と、ファイル共有サーバ１２１２と、クライアント端末１４０１を備える。本実施形態において、クライアント端末１４０１は、図９に示されたクライアント端末９１４が有している構成に加えて、電子ファイル格納部１４０２、電子ファイル操作部１４０４、電子ファイル格納制御部１４０６、及び電子ファイル実行部４３０を有する。実行サーバ１２０は、図４で説明した実行サーバと同一の構成を有する。
【０１７４】
図１、図９及び図１２に関連して説明した実施形態によれば、クライアント端末又はファイル転送システムが電子ファイルを実行させるための実行指示を受け付けて、実行サーバ上で電子ファイルを実行する場合について説明した。本実施形態によれば、ファイル処理システム１４００が電子ファイルの操作に関する指示を受け付けて、実行サーバ１２０上で上記の指示に応じた操作を実行する場合について説明する。電子ファイルの操作に関する指示は、電子データの操作に関する命令の一例であってよい。例えば、クライアント端末１４０１に格納された電子ファイルをユーザが閲覧、編集等の操作を行う場合に、クライアント端末１４０１と実行サーバ１２０との間で通信経路を確立した後で、操作の対象となった電子ファイルをクライアント端末１４０１から実行サーバ１２０へ転送し、電子ファイルの処理を仮想サーバ上で実行する。
【０１７５】
電子ファイル格納部１４０２には電子ファイルが格納される。本例において、電子ファイル格納部１４０２は、ファイル共有サーバ１２１２から受信した電子ファイルを格納する。電子ファイル操作部１４０４は、例えば、電子ファイルの操作に関するユーザからの指示を取得する。ここで、電子ファイルの操作とは、電子ファイルを所定のアプリケーションで開こうとする処理、電子ファイルの移動、複製、印刷、ファイル形式の変換、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャ等であってよい。
【０１７６】
電子ファイル処理部２２８は、実行環境決定部１４０８を有する。実行環境決定部１４０８は、電子ファイルの形式、拡張子若しくは名称、又は、クライアント端末１４０１のログインＩＤに基づいて、遠隔操作により電子ファイルの操作を実行すべき実行環境を決定してよい。実行サーバ１２０が有する仮想サーバ４１２〜仮想サーバ４１６は、実行環境の一例である。クライアント端末１４０１は、ユーザからの指示に応じて、電子ファイルを実行サーバ１２０へ転送し、実行サーバ１２０の仮想サーバ上で電子ファイルを遠隔操作する。上記のユーザからの指示は、実行環境上で電子ファイルの操作を実行させるための実行指示の一例であってよい。これにより、実行環境において、電子ファイルの操作に応じた処理が実行される。本実施形態において、ユーザからの指示により示される電子ファイルの操作は、クライアント端末１４０１上では実行されない。
【０１７７】
電子ファイル格納制御部１４０６は、遠隔操作された後の電子ファイルを、電子ファイル格納部１４０２に格納するか否かを制御する。電子ファイル格納制御部１４０６は、実行サーバ１２０において遠隔操作された後の電子ファイルを、実行サーバ１２０から自動的に取得して電子ファイル格納部１４０２に格納してもよく、或いは、ユーザの指示に基づいて電子ファイル格納部１４０２に格納してもよい。電子ファイル格納制御部１４０６は、遠隔操作された後の電子ファイルを、実行サーバ１２０上に格納してもよい。電子ファイル格納制御部１４０６は、実行サーバ１２０において遠隔操作された後の電子ファイルのファイル形式又は拡張子を変換してもよい。例えば、電子ファイル格納制御部１４０６は、実行サーバ１２０から取得した電子ファイルの拡張子に、予め定められた文字列を追加する。
【０１７８】
電子ファイル格納制御部１４０６は、電子ファイルを自動的に格納するのか、ユーザの指示に基づいて格納するのかをユーザに予め選択させてもよい。このようにして電子ファイル格納部１４０２に格納された電子ファイルに対して、ユーザが何らかの操作を再度行うと、実行環境決定部１４０８は、再び、この電子ファイルを実行すべき実行環境を決定する。
【０１７９】
上記構成によれば、ユーザが電子ファイルに対して閲覧等の処理を行う場合に、電子ファイルに対する実際の処理はクライアント端末１４０１ではなく実行サーバ１２０の仮想サーバ上で行われる。これにより、電子ファイルがウイルスに感染していた場合であっても、電子ファイルへの処理は実行しつつも、クライアント端末１４０１へウイルスが拡散すること防ぐことができる。
【０１８０】
本実施形態において、実行環境決定部１４０８は、遠隔操作により実行サーバ１２０上で電子ファイルを実行するのか、クライアント端末１４０１上で電子ファイルを実行するのかを、決定してよい。実行環境決定部１４０８は、電子ファイルの形式、拡張子、若しくは名称に基づいて、上記の決定を行ってよい。実行環境決定部１４０８は、電子ファイルの形式、拡張子、若しくは名称が、予め定められたものである場合には電子ファイルの実行を仮想サーバで行わせ、予め定められたものではない場合には電子ファイルの実行を電子ファイル実行部４３０で行わせてよい。
【０１８１】
実行環境決定部１４０８は、ユーザに実行環境を選択すべきかを選択させる手段を備えてもよい。例えば、実行環境決定部１４０８は、ユーザに実行サーバ１２０及びクライアント端末１４０１のいずれかを選択させるための画面を、出力部２４８の表示装置に表示させる。実行環境決定部１４０８は、ユーザの選択結果を受け取り、ユーザごとに、ユーザ設定として保存してよい。実行環境決定部１４０８は、ユーザ設定に基づいて、実行環境を選択してもよい。
【０１８２】
例えば、実行環境決定部１４０８が、特定の電子ファイルを、特定の電子ファイル実行部４３０で実行することを決定した場合、当該電子ファイル実行部４３０が、当該電子ファイルを実行する。このような構成によって、ユーザに対する利便性を高めることができる。
【０１８３】
実行環境決定部１４０８は、クライアント端末１４０１に格納された電子ファイルをユーザが操作した場合に、実行環境に関する情報を取得してよい。電子ファイルの操作に対応する処理を実行サーバ１２０上で実行する場合、実行環境に関する情報は、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム１００又はクライアント端末１１４のユーザの当該サーバにおけるユーザＩＤ、当該ユーザＩＤに対応付けられたパスワードなどを例示することができる。
【０１８４】
本実施形態においては、クライアント端末１４０１が、ファイル共有サーバ１２１２から取得された電子ファイルをクライアント端末１４０１の記憶装置に格納しておき、当該電子ファイルの操作に関するユーザからの指示に基づいて、実行サーバ１２０上で当該電子ファイルを操作する場合について説明した。しかし、ファイル処理システム１４００は本実施形態に限定されない。
【０１８５】
他の実施形態において、クライアント端末１４０１は、ファイル共有サーバ１２１２に格納されている電子ファイルの操作に関するユーザからの指示を受け付けた場合、ファイル共有サーバ１２１２に対して、当該電子ファイルを実行サーバ１２０に転送するよう要求してよい。ファイル共有サーバ１２１２は、クライアント端末１４０１の通信制御部２４２、遠隔操作部２４４、電子ファイル処理部２２８及び電子ファイル操作部１４０４の少なくとも１つを介して、電子ファイルを実行サーバ１２０に転送してもよい。また、クライアント端末１４０１は、ＲＤＰなどのプロトコルを利用してクライアント端末１４０１と実行サーバ１２０との間に遠隔操作可能な通信経路を確立し、ファイル共有サーバ１２１２から転送された電子ファイルに対して、ユーザからの指示に対応する操作を実行させるための指示を、実行サーバ１２０に送信してよい。
【０１８６】
本実施形態においては、電子ファイル格納制御部１４０６が、遠隔操作された後の電子ファイルを、クライアント端末１４０１の電子ファイル格納部１４０２に格納する場合について説明した。しかし、ファイル処理システム１４００は本実施形態に限定されない。他の実施形態によれば、電子ファイル格納制御部１４０６は、遠隔操作された後の電子ファイルを、ファイル共有サーバ１２１２に格納してもよい。また、本実施形態においては、クライアント端末１４０１が、電子ファイル格納制御部１４０６及び実行環境決定部１４０８を有する場合について説明した。しかし、ファイル処理システム１４００は本実施形態に限定されない。他の実施形態によれば、実行サーバ１２０が、電子ファイル格納制御部１４０６及び実行環境決定部１４０８の少なくとも一方を有してよい。さらに他の実施形態において、クライアント端末１４０１の機能が、ファイル共有サーバ１２１２により実現されてもよい。
【０１８７】
図１５Ａは、ファイル処理システム１４００における処理の一例を概略的に示す。本例では、クライアント端末２２がファイル共有サーバ１２１２にアップロードしたデータを、クライアント端末１４０１にダウンロードして格納した後、電子ファイルを閲覧する場合における処理の一例を概略的に示す。尚、図１３と同一の符号が記されたステップについては、図１３と同様の処理を行ってよい。
【０１８８】
Ｓ１３０４において、ファイル共有サーバ１２１２は、受信した電子データから電子ファイルを抽出し、クライアント端末１４０１からの要求に応じて（Ｓ１３２０）、抽出したファイルをクライアント端末へ転送する（Ｓ１３０８）。Ｓ１５１０において、電子ファイル格納部１４０２は、ファイル共有サーバ１２１２から転送された電子ファイルを格納する。Ｓ１５１２において、電子ファイル操作部１４０４は、ユーザの指示に基づいて、ファイルを閲覧すべくファイルを開く処理を行う。
【０１８９】
Ｓ１５１４において、実行環境決定部１４０８は、電子ファイルの形式、拡張子、若しくは名称が、予め定められたものであるかを確認する。予め定められたものではない場合には（Ｓ１５１４  ＮＯ）、電子ファイル実行部４３０が電子ファイルの実行を行う（Ｓ１５１６）。予め定められたものである場合には（Ｓ１５１４  Ｙｅｓ）、実行環境決定部１４０８は、この電子ファイルを実行サーバ１２０で実行させるべきか、クライアント端末１４０１で実行させるべきかを、例えばダイアログ表示を表示させることによって、ユーザに選択させる（Ｓ１５１８）。クライアント端末１４０１での実行が選択された場合には（Ｓ１５１８  ＮＯ）、電子ファイル実行部４３０が電子ファイルの実行を行い（Ｓ１５１６）、実行サーバ１２０での実行が選択された場合には（Ｓ１５１８  ＹＥＳ）、クライアント端末１４０１上で遠隔操作プログラムが実行される（Ｓ１３３０）。
【０１９０】
遠隔操作プログラムの実行により、通信経路が確立される（Ｓ１３３２）。具体的には、一例として、クライアント端末１４０１が、実行サーバ１２０の仮想ホストサーバに接続して、接続先の仮想ゲストサーバに関する情報を取得する。仮想ホストサーバは、仮想サーバ管理部４１０であってよい。仮想ゲストサーバは、仮想サーバ４１４又は仮想サーバ４１６であってよい。接続先の仮想ゲストサーバに関する情報は、上記の実行環境に関する情報の一例であってよい。
【０１９１】
実行サーバ１２０は、電子ファイルの種類、電子ファイルの拡張子、ＵＲＩ、ＵＲＬ、ＵＲＮ等に基づいて、によって利用されるべきＴＣＰやＵＤＰ等のプロトコルを決定する。実行サーバ１２０は、決定されたプロトコルに基づいて、特定のポートを開く（ポートをオープンすると称する場合がある。）。その後、クライアント端末１４０１は、上記の特定のポートを指定し、ＲＤＰなどのプロトコルを利用して、仮想ゲストサーバに接続する。
【０１９２】
上記のＲＤＰなどのプロトコルによる接続をトリガとして、電子ファイルを実行するためのアプリケーションを制御するための制御用モジュールが起動される（Ｓ１５１９）なお、制御用モジュールは、既に起動していてもよい。また、上記のポートを開く処理は、制御用モジュールにより実行されてもよい。その後、電子ファイル処理部２２８が有する電子ファイル送信部３１４が電子ファイルを送信すると（Ｓ１５２０）、制御用モジュールによって管理されたアプリケーションが電子ファイルの実行を行う（Ｓ１５２２）。
【０１９３】
この電子ファイルに対する処理が行われる様子を示す画面の画像データが、ＲＤＰなどの遠隔操作技術を利用して、クライアント端末１４０１に送信され、クライアント端末１４０１の出力部２４８に当該表示画面が表示される（Ｓ１５２４）。クライアント端末１４０１は、遠隔操作可能な通信経路を介して、実行サーバ１２０の実行環境上で電子データ又は電子ファイルの転送、命令の送受信を実行してよい。クライアント端末１４０１は、遠隔操作可能な通信経路を介して、電子データ又は電子ファイルの保存・上書き保存等を、実行サーバ１２０の実行環境上で実行してよい（Ｓ１５２２）。
【０１９４】
電子データの処理又は操作が終了すると、実行サーバ１２０の実行環境上で動作しているＷｅｂブラウザなどのアプリケーションも終了してよい。ユーザが、クライアント端末１４０１を操作して、実行サーバ１２０の実行環境上で動作しているＷｅｂブラウザなどのアプリケーションを終了させてもよい。実行サーバ１２０が、Ｗｅｂブラウザを終了させるための指示を受信すると、実行サーバ１２０は、オープンされているポートを閉じる。実行サーバ１２０は、クライアント端末１４０１からの指示を受信しなくても、電子データの処理又は操作の終了を検出した場合にポートを閉じてもよい。例えば、実行サーバ１２０は、クライアント端末１４０１又はネットワークとの疎通が一定時間できなかった場合に、電子データの処理又は操作の終了を検出する。制御用モジュールが、電子データの処理又は操作の終了の検出処理と、ポートを閉じる処理とを実行してもよい。
【０１９５】
遠隔操作が終了すると、実行環境での処理は終了する。その後、必要に応じて、クライアント端末１４０１の電子ファイル格納部１４０２は、電子ファイルを保存する（Ｓ１５２６）。
【０１９６】
尚、上記Ｓ１５１８は省略することもできる。或いは、実行環境決定部１４０８が、上記ダイアログ表示をさせるか否かをユーザに選択させてもよい。上記Ｓ１５２２において、電子ファイルを受信した場合に、受信した電子ファイルを実行環境において実行できるかどうかを、制御用モジュールが判断してもよい。
【０１９７】
電子ファイルを実行可能なアプリケーションが存在しない等の理由で、電子ファイルを実行することができないと制御用モジュールが判断した場合には、その旨を電子ファイル処理部２２８がファイル処理システム１４００の画面に表示させてよい。この場合、更に、クライアント端末１４０１は、電子ファイル実行部４３０において電子ファイルを実行すべきか否かをユーザに確認させる画面を表示させてもよい。また上記Ｓ１５１８においては、ＲＤＰなどプロトコルを利用した接続が行われるタイミングで、制御用モジュールが起動されたが、仮想サーバが起動された時点から制御用モジュールを起動させておいてもよい。
【０１９８】
図１５Ｂは、ファイル処理システム１４００における処理の他の一例を概略的に示す。本例では、クライアント端末２２がファイル共有サーバ１２１２にアップロードした電子データを、クライアント端末１４０１に格納せずに閲覧することができる。より具体的には、クライアント端末１４０１からの閲覧の要求（Ｓ１５１２）に応じて、遠隔操作プログラムが実行され（Ｓ１３３０）、通信経路が確立された後に、電子ファイルの要求がクライアント端末１４０１からファイル共有サーバ１２１２へなされる（Ｓ１３２０）。
【０１９９】
この要求に応じて、ファイル共有サーバ１２１２が電子ファイルを実行サーバ１２０へ転送し（Ｓ１３０８）、クライアント端末１４０１は、転送された電子ファイルを実行サーバ１２０へ送信する（Ｓ１５２０）。その後、実行サーバ１２０での電子ファイルへの処理が実行され（Ｓ１５２２）、クライアント端末１４０１において電子ファイルを閲覧することができる（Ｓ１５２４）。その後、必要に応じて、電子データをクライアント端末１４０１に保存する。
【０２００】
尚、図１５Ａと同一の符号が記されたステップについては、図１５Ａと同様の処理を行ってよい。また、図１５Ｂでは、電子ファイルをクライアント端末１４０１を介して実行サーバ１２０へ転送する様子が示されているが、ファイル共有サーバがクライアント端末１４０１を介さずに、電子ファイルを実行サーバ１２０へ転送してもよい。
【０２０１】
図１６は、Ｓ１５２６の処理の一例を概略的に示す。本例において電子ファイル格納制御部１４０６は、電子ファイルを自動的に保存するか否かを予めユーザに選択させる。また電子ファイル格納制御部１４０６は、電子ファイルを自動的には保存しないことが選択されている場合に、電子ファイルを保存すべきか否かをユーザに確認する処理を行うかどうかを、予めユーザに選択させる。
【０２０２】
自動的に保存することが選択されている場合に（Ｓ１６０２  Ｙｅｓ）、電子ファイル格納制御部１４０６は、実行サーバ１２０に対して電子ファイルを要求する（Ｓ１６０４）。そして、実行サーバ１２０から該当する電子ファイルを受信すると、予め定められたフォルダに電子ファイルを自動保存し（Ｓ１６０４）、仮想サーバへファイルの実行の終了を通知する（Ｓ１６０８）。
【０２０３】
自動的に保存することが選択されていない場合に、電子ファイルを保存すべきか否かをユーザに確認する処理を行うことが選択されている場合には（Ｓ１６０２  Ｎｏ、Ｓ１６１０  Ｙｅｓ）、電子ファイル格納制御部１４０６は、保存されるべきファイルの候補をユーザに表示させる（Ｓ１６１２）。電子ファイルを保存することが選択された場合には（Ｓ１６１４  Ｙｅｓ）、Ｓ１６０４以降の処理を行う。電子ファイルの保存が選択されなかった場合には（Ｓ１６１４  Ｎｏ）、電子ファイルを保存することなく処理を終了する。また、電子ファイルを保存すべきか否かをユーザに確認する処理を行うことが選択されていない場合にも（Ｓ１６１０  ＮＯ）、電子ファイルを保存することなく処理を終了する。
【０２０４】
尚、図４に関連して説明したように、仮想サーバは再構築される場合がある。従って、Ｓ１５２２において仮想サーバに保存された電子ファイルは、定期的に、又は、仮想サーバの再構築が行われる前に、電子ファイル格納部１４０２に保存するのが好ましい。この場合、電子ファイル操作部１４０４が仮想サーバの保存領域から電子ファイルを自動的に取得してもよいし、仮想サーバから自動的に電子ファイルを送信するように構成してもよい。
【０２０５】
本実施形態においては、一例として、電子ファイルがファイル共有サーバ１２１２から送信されて、クライアント端末１４０１に格納される構成を説明したが、電子ファイルは、例えばＵＳＢメモリやＤＶＤ等のコンピュータ読み取り可能な記録媒体がクライアント端末１４０１に挿入されることによって利用可能となった電子ファイルであってもよい。そのような電子ファイルがウイルスに感染していた場合であっても、電子ファイルの実行は、クライアント端末１４０１では行われず、実行サーバ１２０で行われるので、クライアント端末１４０１へウイルスが拡散することを防止できる。
【０２０６】
図１７は、メールシステム１７００の一例を概略的に示す。メールシステム１７００は、実行サーバ１２０と、メールサーバ９１２と、クライアント端末１７０２を備える。本実施形態において、実行サーバ１２０は、実行サーバ１２０に生成された仮想サーバ１７０４が、第１通信部１７０８及び第２通信部１７１０を有する通信制御部１７０６を備える点で、図４に関連して説明した実行サーバ１２０と相違する。実行サーバ１２０は、上記の相違点を除いて、図４に関連して説明した実行サーバ１２０と同様の構成を有してよい。
【０２０７】
本実施形態において、クライアント端末１７０２は、電子データ特定情報取得部１７１２を有する点、及び、電子ファイル処理部２２８が実行環境決定部１７１４を有する点において、図９に関連して説明したクライアント端末９１４と相違する。クライアント端末１７０２は、上記の相違点を除いて、図９に関連して説明したクライアント端末９１４と同様の構成を有してよい。実行環境決定部１７１４は遠隔操作プログラム生成部の一例であってもよい。
【０２０８】
本実施形態では、クライアント端末１７０２が、電子データを特定する電子データ特定情報を取得する。クライアント端末１７０２は、例えば、ユーザが電子メール、ＨＴＭＬファイル、ドキュメントファイル、ｔｅｘｔファイル、ＰＤＦファイルなどの電子ファイルに含まれるＵＲＬをクリックした場合に、当該ＵＲＬを電子データ特定情報として取得する。クライアント端末１７０２は、取得された電子データ特定情報を実行サーバに送信して、当該電子データ特定情報によって特定される電子データを実行サーバ１２０で実行させる。実行サーバ１２０は、通信経路１７３０を介して、上記の電子データを取得する。通信経路１７３０は、クライアント端末９１４と実行サーバ１２０との間の通信経路１７２０とは異なる通信経路であってよい。通信経路１７２０は、第１の通信経路の一例であってよい。通信経路１７３０は、第２の通信経路の一例であってよい。
【０２０９】
本実施形態においては、クライアント端末１７０２が受信した電子メールに、電子データ特定情報が含まれる。電子データ特定情報取得部１７１２は、ユーザの指示に応じて、電子データを特定する電子データ特定情報を取得する。ここで電子データ特定情報とは、電子データの所在を特定することができる情報、及び／または、電子データへのアクセスを可能とする情報である。
【０２１０】
電子データ特定情報は、電子データを特定することのできる情報であれば特に限定されない。電子データ特定情報は、ＵＲＩ、ＵＲＬ、ＵＲＮ等のように直接的に電子データを特定する情報であってもよく、間接的に電子データを特定できるような情報であってもよい。
【０２１１】
一実施形態において、電子データ特定情報は、電子ファイルの格納場所に関する情報又はリンク先に関する情報を有するが、電子ファイルの内容に関する情報を有しないファイルであってよい。このようなファイルとしては、ショートカットファイルを例示することができる。ショートカットファイルには、例えば、「．ｌｎｋ」という拡張子が付与される。
【０２１２】
ショートカットファイルのリンク先が、実行サーバ１２０上に格納されている電子ファイルである場合、例えば、クライアント端末１７０２上でユーザがショートカットファイルを起動すると、ＲＤＰなどのプロトコルを利用して、クライアント端末１７０２と実行サーバ１２０との間に遠隔操作可能な通信経路が確立される。その後、実行サーバ１２０上でショートカットファイルに対応する電子ファイルが起動する。
【０２１３】
実行サーバ１２０は、クライアント端末１７０２の出力部２４８に表示されるべき表示画面の画像データを、クライアント端末１７０２に送信する。また、ユーザが、クライアント端末１７０２の入力部２４６を介して、実行サーバ１２０上のＯＳ、アプリケーション、ファイルなどを操作すると、実行サーバ１２０は、ユーザの操作に応じた表示画面の画像データを、クライアント端末１７０２に送信する。
【０２１４】
他の実施形態において、電子データ特定情報は、任意のプロトコルを用いてクライアント端末と電子データとの関連付けを行った設定であってよい。上記のプロトコルは特に限定されるものではなく、ＦＴＰやＧｏｐｈｅｒ等の現存するプロトコル、又は、将来において規定されたプロトコルを利用することができる。
【０２１５】
本実施例における電子データには、図１〜図１６で説明した電子ファイルに加えて、ファイルの形式ではない電子データが含まれてよい。このような電子データとしては、シンボリックリンク、ジャンクション、ハードリンクなどを例示することができる。
【０２１６】
クライアント端末１７０２の電子ファイル処理部２２８は、実行環境決定部１７１４を有する。電子データ特定情報取得部１７１２によって電子データ特定情報が取得されると、実行環境決定部１７１４は、電子データを実行すべき実行環境を決定してよい。実行環境決定部１７１４は、例えば、クライアント端末１７０２の識別情報、クライアント端末１７０２のユーザの識別情報、接続先のＵＲＩのプロトコル（ＨＴＴＰ，ＦＴＰ等）、接続先のＵＲＩ、接続元のＩＰアドレス、接続元のＩＰアドレスのバージョン、電子データ特定情報、添付ファイル３４０の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、実行環境を決定する。
【０２１７】
実行環境は、実行サーバ１２０であってもよく、クライアント端末１７０２であってもよい。実行環境は、実行サーバ１２０に構築された１以上の仮想サーバの少なくとも１つであってもよく、クライアント端末１７０２からの命令又は要求によって構築される１以上の仮想サーバの少なくとも１つであってもよい。
【０２１８】
実行環境決定部１７１４は、電子データが置かれている外部の装置１７５０から電子データを取得するための遠隔操作プログラムを生成してよい。一実施形態において、遠隔操作プログラムは、クライアント端末１７０２の遠隔操作部２４４に、（ａ−１）クライアント端末１７０２及び実行環境決定部１７１４により決定された実行環境の間に、遠隔操作可能な通信経路１７２０を確立する手順と、（ｂ−１）仮想サーバ１７０４の電子ファイル実行部４３０に、Ｗｅｂブラウザを起動させるための指示を送信する手順と、（ｃ−１）仮想サーバ１７０４の電子ファイル実行部４３０に、Ｗｅｂブラウザを介して、電子データ特定情報取得部１７１２により取得されたＵＲＬで特定される電子データを取得させるための指示を送信する手順と、（ｄ−１）仮想サーバ１７０４の電子ファイル実行部４３０に、上記の電子データを実行させるための指示を送信する手順と、（ｅ−１）仮想サーバ１７０４の画面情報送信部４３２に、上記の電子データが実行された場合の表示画面の画像データをクライアント端末１７０２に送信させるための指示を送信する手順と、を実行させるためのプログラムであってもよい。
【０２１９】
他の実施形態において、実行環境決定部１７１４は、実行環境決定部１７１４により決定された実行環境を遠隔操作するための遠隔操作プログラムを生成してよい。遠隔操作プログラムは、（ｂ−２）仮想サーバ１７０４の電子ファイル実行部４３０に、Ｗｅｂブラウザを起動させる手順と、（ｃ−２）仮想サーバ１７０４の電子ファイル実行部４３０に、Ｗｅｂブラウザを介して、電子データ特定情報取得部１７１２により取得されたＵＲＬで特定される電子データを取得させる手順と、（ｄ−２）仮想サーバ１７０４の電子ファイル実行部４３０に、上記の電子データを実行させる手順と、（ｅ−２）仮想サーバ１７０４の画面情報送信部４３２に、上記の電子データが実行された場合の表示画面の画像データをクライアント端末１７０２に送信させる手順とを実行させるためのプログラムであってもよい。仮想サーバ１７０４の電子ファイル実行部４３０及び画面情報送信部４３２は、仮想サーバ１７０４のコンピュータの一例であってよい。
【０２２０】
外部の装置１７５０は、電子データを実行する実行環境が置かれる実行サーバ１２０とは異なる装置である。外部の装置１７５０は、物理的な装置として実現されてもよく、仮想サーバとして実現されてもよい。
【０２２１】
実行環境が電子データを外部の装置１７５０から取得する場合、実行環境は、クライアント端末１７０２と通信するだけでなく、外部の装置１７５０とも通信を行う必要がある。本実施形態では、実行サーバ１２０が有する仮想サーバ１７０４は、第１通信部１７０８及び第２通信部１７１０を有する通信制御部１７０６を備える。
【０２２２】
本実施形態において、通信制御部１７０６は、ファイアウォールを開放するＴＣＰポート又はＵＤＰポートを決定する。通信制御部１７０６は、クライアント端末１１４の識別情報、クライアント端末１１４のユーザの識別情報、接続先のＵＲＩのプロトコル（ＨＴＴＰ，ＦＴＰ等）、接続先のＵＲＩ、接続元のＩＰアドレス、接続元のＩＰアドレスのバージョン、添付ファイル３４０の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、ファイアウォールを開放するＴＣＰポート又はＵＤＰポートを決定してよい。なお、他の実施形態において、仮想サーバ管理部４１０が、ファイアウォールを開放するＴＣＰポート及びＵＤＰポートの少なくとも一方を決定してよい。
【０２２３】
本実施形態において、通信制御部１７０６は、電子データのＵＲＩと、当該ＵＲＩにより特定される電子データを取得することを指示する要求とを受信した場合において、当該要求が、予め定められたアプリケーションからの要求である場合、当該要求を受け付ける。一方、当該要求が、予め定められたアプリケーションからの要求でない場合、当該要求を受け付けない。
【０２２４】
遠隔操作プログラムは、クライアント端末１７０２と実行サーバ１２０が有する実行環境との間に遠隔操作可能な通信経路１７２０を確立する手順を実行させるためのプログラムであってよい。一実施形態において、遠隔操作プログラムがクライアント端末１７０２によって実行されることにより、第１通信部１７０８とクライアント端末１７０２との間に通信経路１７２０が確立される。通信経路１７２０は、ＲＤＰなどの遠隔操作用のプロトコルに基づく通信経路であってよい。
【０２２５】
遠隔操作プログラムは、実行サーバ１２０に、外部の装置１７５０と実行サーバ１２０が有する実行環境との間に通信経路１７３０を確立させる手順を実行させるためのプログラムであってよい。通信経路１７３０は、遠隔操作可能な通信経路であってもよく、ＨＴＴＰ、ＨＴＴＰＳなどのプロトコルに基づく通常の通信経路であってもよい。
【０２２６】
例えば、遠隔操作プログラムが実行サーバ１２０によって実行されることにより、第２通信部１７１０と外部の装置１７５０との間に第２の通信経路１７３０が確立される。遠隔操作プログラムがクライアント端末１７０２によって実行されることにより、第２通信部１７１０と外部の装置１７５０との間に第２の通信経路１７３０が確立されてもよい。例えば、クライアント端末１７０２が、第２通信部１７１０と外部の装置１７５０との間に通信経路１７３０を確立するための指示を実行サーバ１２０に送信することで、通信経路１７３０が確立されてもよい。
【０２２７】
実行環境決定部１７１４は、実行サーバ１２０に、通信経路１７３０を介して電子データを取得する手順を実行させるための遠隔操作プログラムを生成してもよい。遠隔操作プログラムは、実行サーバ１２０に、取得した電子データを実行環境で処理させる手順と、表示画面の画像データを、通信経路１７２０を介してクライアント端末１７０２に送信する手順を実行させるためのプログラムであってもよい。
【０２２８】
例えば、遠隔操作プログラムが実行サーバ１２０の実行環境で実行されることにより、ＵＲＬによって特定された電子データを実行環境で実行しつつ、その結果を、クライアント端末１７０２の画面に表示させることができる。このような構成により、ＵＲＬ先のデータがウイルスに感染しているような場合であっても、安全にデータの内容を閲覧することができる。
【０２２９】
実行環境決定部１７１４は、電子データ特定情報により特定されるデータにアクセスする場合に、実行環境に関する情報を取得してよい。実行環境決定部１７１４は、実行サーバ１２０若しくはクライアント端末１７０２の記憶装置、又は、その他の記憶装置から実行環境に関する情報を取得してよい。
【０２３０】
例えば、実行環境決定部１７１４は、電子データのＵＲＩ、ＵＲＬ、ＵＲＮ等を取得した場合、ユーザから、電子データのＵＲＩ、ＵＲＬ、ＵＲＮ等にアクセスすることを指示する命令を受信した場合、又は、ユーザが、電子データのショートカットファイルを実行した場合に、実行環境に関する情報を取得する。電子ファイルの操作に対応する処理を実行サーバ１２０上で実行する場合、実行環境に関する情報は、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム１００又はクライアント端末１１４のユーザの当該サーバにおけるユーザＩＤ、当該ユーザＩＤに対応付けられたパスワードなどを例示することができる。
【０２３１】
実行環境決定部１７１４は、予め定められたホワイトリスト及びブラックリストの少なくとも一方に基づいて、実行環境を決定してよい。ホワイトリスト及びブラックリストの少なくとも一方は、クライアント端末１７０２に格納されていてもよく、実行サーバ１２０に格納されていてもよく、図示されていない外部のサーバに格納されていてもよい。
【０２３２】
ホワイトリストは、アクセスを許可されたＵＲＩのリストであってもよく、クライアント端末１７０２上で実行することを許可されたファイル形式又は拡張子のリストであってもよい。ブラックリストは、アクセスを禁止されたＵＲＩのリストであってもよく、クライアント端末１７０２上で実行することを禁止されたファイル形式又は拡張子のリストであってもよい。ホワイトリスト及びブラックリストの両方に該当する項目が存在する場合、実行環境決定部１７１４は、予め定められたアルゴリズム又はユーザの指示に基づいて、ホワイトリスト及びブラックリストのいずれを優先するかを決定してよい。
【０２３３】
実行環境決定部１７１４は、クライアント端末１７０２の記憶装置に格納された情報を、仮想サーバ１７０４にインストールされたＷｅｂブラウザに関する各種の設定を保存する領域に読み込ませることを指示する命令を、実行サーバ１２０に送信してよい。上記の領域はクッキーであってもよい。上記の領域は、ブックマークに関する情報を格納する領域であってもよい。クライアント端末１７０２の記憶装置に格納された情報としては、クライアント端末１７０２にインストールされたＷｅｂブラウザのクッキーに格納された情報、Ｗｅｂブラウザに登録されたブックマークの情報、Ｗｅｂブラウザで保存されたユーザＩＤ、Ｗｅｂサイトのログインパスワードなどのサイト毎の暗証情報、各種Ｗｅｂサイトの設定情報、当該Ｗｅｂブラウザの設定情報などを例示することができる。
【０２３４】
本実施形態において、クライアント端末１７０２が受信した電子メールに、電子データ特定情報が含まれる場合を例として、クライアント端末１７０２及び実行サーバ１２０の詳細について説明した。しかし、クライアント端末１７０２及び実行サーバ１２０は本実施形態に限定されない。クライアント端末１７０２及び実行サーバ１２０は、クライアント端末１７０２にインストールされたＷｅｂブラウザを介して閲覧しているＷｅｂサイトに電子データ特定情報が含まれる場合であっても、本実施形態と同様の手順により、当該電子データ特定情報で特定される電子データを処理又は操作することができる。
【０２３５】
本実施形態において、電子データ特定情報取得部１７１２が電子データ特定情報を取得した場合に、実行環境決定部１７１４が遠隔操作プログラムを生成し、クライアント端末１７０２又は実行サーバ１２０が遠隔操作プログラムを実行して、通信経路の確立処理、電子データの取得処理及び電子データの実行処理が実行される場合について説明した。しかし、メールシステム１７００における情報処理は、本実施形態に限定されない。
【０２３６】
他の実施形態において、遠隔操作プログラムは、クライアント端末１７０２に、予めインストールされていてもよい。例えば、電子データ特定情報取得部１７１２が、電子データ特定情報を取得する。実行環境決定部１７１４が、電子データ特定情報取得部１７１２により取得された電子データ特定情報により特定される電子データを実行すべき実行環境を決定する。また、電子データ特定情報取得部１７１２が電子データ特定情報を取得すると、クライアント端末１７０２上で遠隔操作プログラムが実行され、例えば、下記の処理が実行される。
【０２３７】
まず、通信制御部２４２及び遠隔操作部２４４が、実行環境決定部１７１４により決定された実行環境との間で通信経路１７２０を確立する。その後、遠隔操作部２４４が、仮想サーバ１７０４の電子ファイル実行部４３０に、Ｗｅｂブラウザを起動させるための指示を、仮想サーバ１７０４の指示受付部４２８に送信する。また、遠隔操作部２４４は、仮想サーバ１７０４の電子ファイル実行部４３０に、電子データ特定情報により特定される電子データを取得及び実行させるための指示を、指示受付部４２８に送信する。
【０２３８】
仮想サーバ１７０４の電子ファイル実行部４３０は、遠隔操作部２４４からの指示に基づいて、Ｗｅｂブラウザを起動し、第２通信部１７１０を介して、電子データ特定情報により特定される電子データを格納する外部の装置１７５０との間で通信経路１７３０を確立する。また、仮想サーバ１７０４の電子ファイル実行部４３０は、遠隔操作部２４４からの指示に基づいて、外部の装置１７５０から電子データを取得し、当該電子データを電子ファイル実行部４３０上で実行する。画面情報送信部４３２が、電子データが実行された場合の表示画面の画像データを、通信経路１７２０を介して、クライアント端末１７０２に送信する。
【０２３９】
本実施形態においては、図１７を用いて、実行サーバ１２０の一実施形態について説明した。しかしながら、実行サーバ１２０は本実施形態に限定されない。例えば、仮想サーバ４１０と、仮想サーバ４１２、仮想サーバ４１４及び仮想サーバ４１６との役割分担は、上記の実施形態に限定されるものではない。
【０２４０】
一実施形態において、仮想サーバ管理部４１０が、通信制御部１７０２の機能の少なくとも一部を有し、通信制御部１７０２における情報処理の少なくとも一部が、仮想サーバ管理部４１０により実行されてもよい。他の実施形態において、通信制御部１７０２が、仮想サーバ管理部４１０の機能の少なくとも一部を有し、仮想サーバ管理部４１０における情報処理の少なくとも一部が、通信制御部１７０２により実行されてもよい。
【０２４１】
［メールシステム１７００における情報処理の一例］
図１８は、メールシステム１７００における処理の一例を概略的に示す。尚、図１０と同一の符号が記されたステップについては、図１０と同様の処理を行ってよい。
【０２４２】
本実施形態によれば、Ｓ５０２において、クライアント端末１７０２の電子データ取得部２２４が、他の端末２０からの電子メールを受信する。Ｓ１８０２において、電子データ特定情報取得部１７１２が、ユーザが電子メールに添付されているＵＲＬをクリックしたことを検出し、当該ＵＲＬを取得する。
【０２４３】
Ｓ１８０４において、実行環境決定部１７１４が、予め定められたプロセスを用いて電子データ特定情報取得部１７１２が電子データ特定情報を取得したかどうかを確認する。予め定められたプロセスとしては、ユーザが、Ｏｕｔｌｏｏｋ等の予め定められたメーラーを利用して電子メールを開いた場合、ユーザが、Ｗｏｒｄ、Ｅｘｃｅｌ等のドキュメントファイル、ｔｅｘｔファイル、ＰＤＦファイルなどの予め定められた電子ファイル中のＵＲＬをクリックした場合、ユーザが、Ｗｅｂブラウザなどの予め定められたアプリケーションの利用中にＵＲＬをクリックした場合などにおいて、電子データ特定情報を取得することを例示することができる。
【０２４４】
電子データ特定情報取得部１７１２が電子データ特定情報を取得したプロセスが、予め定められたプロセスではない場合には（Ｓ１８０４  ＮＯ）、クライアント端末１７０２の電子ファイル実行部４３０が、電子データを実行する（Ｓ１８０８）。尚、ここでの電子データの実行とは、クライアント端末１７０２に関連づけされたＷｅｂブラウザを用いて、電子データ特定情報取得部１７１２により取得されたＵＲＬで指定されたページを開くことであってよい。
【０２４５】
電子データ特定情報取得部１７１２が電子データ特定情報を取得したプロセスが、予め定められたプロセスである場合には（Ｓ１８０４  Ｙｅｓ）、実行環境決定部１７１４は、電子データ特定情報取得部１７１２により取得されたＵＲＬで特定された電子データを実行サーバ１２０で実行させるべきか、クライアント端末１７０２で実行させるべきかを、ユーザに確認させる（Ｓ１８０６）。この場合、実行環境決定部１７１４は、例えばダイアログ表示等の表示手段をユーザに表示させることによって、上記の確認をユーザに行わせることができる。
【０２４６】
クライアント端末１７０２での実行が選択された場合には（Ｓ１８０６  ＮＯ）、クライアント端末１７０２の電子ファイル実行部４３０が、電子データを実行する（Ｓ１８０８）。一方、実行サーバ１２０での実行が選択された場合には（Ｓ１８０６  ＹＥＳ）、クライアント端末１７０２上で遠隔操作プログラムが実行される（Ｓ１８１０）。
【０２４７】
遠隔操作プログラムが実行されると、通信経路１７２０及び通信経路１７３０が確立される（Ｓ１８１２）。具体的には、一例として、クライアント端末１７０２の実行環境決定部１７１４が、実行サーバ１２０の仮想ホストサーバに接続して、接続先の仮想ゲストサーバに関する情報を取得する。仮想ホストサーバは、仮想サーバ管理部４１０であってよい。仮想ゲストサーバは、仮想サーバ４１２〜仮想サーバ４１６の少なくとも１つであってよい。接続先の仮想ゲストサーバに関する情報は、上記の実行環境に関する情報の一例であってよい。
【０２４８】
実行サーバ１２０は、電子ファイルの種類、電子ファイルの拡張子、ＵＲＩ、ＵＲＬ、ＵＲＮ等に基づいて、実行サーバ１２０によって利用されるべきＴＣＰやＵＤＰ等のプロトコルを決定する。実行サーバ１２０は、決定されたプロトコルに基づいて、特定のポートを開く（ポートをオープンすると称する場合がある。）。その後、クライアント端末１４０１は、上記の特定のポートを指定し、ＲＤＰなどのプロトコルを利用して、仮想ゲストサーバに接続する。
【０２４９】
一実施形態によれば、実行サーバ１２０は、クライアント端末１７０２との通信にはＴＣＰ通信のみを許可し、ＴＣＰ（８０、５３）、ＵＰＤ（５３）のポートをオープンする。これにより、ＵＲＬ先のページを、実行環境上のＷｅｂブラウザ（例えば、実行サーバ１２０の仮想サーバ１７０４にインストールされたＷｅｂブラウザである。）で処理することができるようになる。これらのポートは、第１通信部及び第２通信部の一例であってよい。
【０２５０】
上記のＲＤＰなどのプロトコルによる接続をトリガとして、仮想サーバ１７０４の電子ファイル実行部４３０が、ＵＲＬで特定された電子データを実行するためのアプリケーションを制御する制御用モジュールを起動する。（Ｓ１８１６）。制御用モジュールは、アプリケーションを制御して電子データを実行させる。上記のアプリケーションとしては、Ｗｅｂブラウザ、ビューワ―、ワードプロセッサ・アプリケーション、表計算アプリケーション、プレゼンテーション・アプリケーションなどを例示することができる。なお、上記のポートを開く処理は、制御用モジュールにより実行されてもよい。
【０２５１】
一実施形態によれば、仮想サーバ１７０４上で制御モジュールが起動すると、クライアント端末１７０２の遠隔操作部２４４は、電子データ特定情報取得部１７１２がＳ１８０２において取得したＵＲＬを、第１の通信経路１７２０を介して、仮想サーバ１７０４の電子ファイル実行部４３０に送信する（Ｓ５４０）。遠隔操作部２４４は、第１通信部１７０８を指定して、上記のＵＲＬを仮想サーバ１７０４に送信してよい。ＵＲＬは、実行指示の一例であってよい。
【０２５２】
次に、仮想サーバ１７０４の電子ファイル実行部４３０において、制御用モジュールがＷｅｂブラウザを起動する。これにより、クライアント端末１７０２から受信したＵＲＬにより特定された電子データがＷｅｂブラウザにより処理される。例えば、Ｗｅｂブラウザは、外部の装置１７５０に対して、上記のＵＲＬにより特定される電子データを送信するように要求する。Ｗｅｂブラウザは、第２通信部１７１０及び通信経路１７３０を介して、外部の装置１７５０との間で情報を送受する。外部の装置１７５０は、Ｗｅｂブラウザからの要求に応答して、上記のＵＲＬにより特定される電子データをＷｅｂブラウザに送信する（Ｓ１８１８）。上記のＵＲＬにより特定される電子データは、ＨＴＭＬで記述されたＷｅｂページのデータであってよい。
【０２５３】
仮想サーバ１７０４のＷｅｂブラウザは、外部の装置１７５０から電子データを受信して、当該電子データを実行する。画面情報送信部４３２は、ＲＤＰなどの遠隔操作技術を利用して、Ｗｅｂブラウザの表示画面の画像データをクライアント端末１７０２に送信する、クライアント端末１７０２の出力部２４８に当該表示画面が表示される。（Ｓ１８２０）。
【０２５４】
電子データの処理又は操作が終了すると、ユーザは、クライアント端末１７０２を操作して、仮想サーバ１７０４上で動作しているＷｅｂブラウザを終了させるための指示を、仮想サーバ１７０４に送信する。仮想サーバ１７０４の指示受付部４２８が、上記のユーザ指示を受信すると、通信制御部１７０６が、オープンされているポートを閉じる。実行サーバ１２０は、ユーザ指示を受信しなくても、電子データの処理又は操作の終了を検出した場合にポートを閉じてもよい。例えば、実行サーバ１２０は、クライアント端末１７０２又はネットワークとの疎通が一定時間できなかった場合に、電子データの処理又は操作の終了を検出する。制御用モジュールが、電子データの処理又は操作の終了の検出処理と、ポートを閉じる処理とを実行してもよい。
【０２５５】
尚、上記の処理において、一部のステップが省略されてもよく、各ステップの順番が入れ替わってもよい。例えば、Ｓ１８０６は省略してもよい。また、Ｓ１８０６において、実行環境決定部１７１４が、上記ダイアログ表示をさせるか否かをユーザに選択させてもよい。
【０２５６】
本実施形態によれば、Ｓ１８１６において、ＲＤＰなどのプロトコルを利用した接続が行われるタイミングで、制御用モジュールが起動した。しかし、制御用モジュールを起動させるタイミングは本実施形態に限定されない。他の実施形態において、制御用モジュールは、仮想サーバが起動された時点で起動してもよい。
【０２５７】
図１８に示す実施形態において、電子データ特定情報取得部１７１２は、他の端末２０から受信した電子メールに添付されたＵＲＬをユーザがクリックすることで、電子データ特定情報を取得した。しかし、電子データ特定情報取得部１７１２は本実施形態に限定されない。電子データ特定情報取得部１７１２は、クライアント端末１７０２がアクセスすることが可能な電子データから、様々方法で電子データ特定情報を取得してよい。
【０２５８】
例えば、もともとクライアント端末１７０２に格納されている電子データ、またはＵＳＢメモリやＤＶＤ等の記録媒体に格納されている電子データにクライアント端末１７０２がアクセスすることによって、電子データ特定情報取得部１７１２が電子データ特定情報を取得してもよい。電子データとは、ワードやエクセル等のドキュメントファイル、ｔｅｘｔファイル、ＰＤＦファイル等であってよい。
【０２５９】
上述したように、ＵＲＬ先のウェブ画面を閲覧する場合には、実行環境（例えば、仮想サーバである。）は、クライアント端末と外部の装置の両者との通信を行うべく、２つの通信ポートが必要となる。そのような仮想サーバを、実行サーバ１２０が予め有している場合もあるし、そうでない場合もある。また、仮想サーバは、１つの通信ポートしか有していない場合もある。そこで、実行環境決定部１７１４は、電子データを実行すべき仮想環境を決定する場合において、電子データ特定情報を受信したときに、実行サーバ１２０が有する複数の仮想サーバの中から、外部の装置１７５０と第２の通信経路を有する実行環境を選択してもよい。
【０２６０】
一実施形態において、実行環境決定部１７１４は、第１通信部１７０８及び第２通信部１７１０の両者を予め有している仮想環境を選択して、その後、第１及び第２の通信経路を確立させる命令を含む遠隔操作プログラムが実行されてもよい。他の実施形態において、実行環境決定部１７１４は、第１通信部１７０８のみを有している仮想環境を選択し、選択した仮想環境に対して第２通信部１７１０に該当するポートを生成するように遠隔制御を行ってもよい。この場合、外部の装置１７５０と間に通信経路１７３０を確立させるための命令を含む遠隔操作プログラムを生成し、このプログラムを実行させることにより、通信経路１７３０を確立することができる。
【０２６１】
本実施形態は、他の実施形態と組み合わせることもできる。例えば、図１４ではクライアント端末１４０１に格納された電子ファイルをユーザが閲覧等の操作を行う場合に、電子ファイルをクライアント端末１４０１から実行サーバ１２０へ転送し、仮想サーバ上で処理を行なわせる実施例を説明したが、電子ファイルの中にＵＲＬ等の電子データ特定情報が含まれていた場合には、電子ファイルの閲覧等の操作に伴う処理を仮想サーバで実行させると共に、このＵＲＬ先のウェブ画面を閲覧する処理についても、上記で説明したように仮装サーバで行わせることができる。或いは、図１〜図１０に記載されたメールサーバ１１２または９１２からメールを受信した場合であっても、そのメールにＵＲＬが含まれていた場合には、同様の処理を行うことができる。
【０２６２】
尚、図１〜図１６に記載された実施形態においては、外部の装置との通信は必ずしも必要でない。むしろセキュリティを考慮すると、第２の通信経路１７３０を開くためのポート（第２通信部１７１０）は無い方が好ましい場合がある。このため、実行サーバ１２０は、予め２種類の仮想サーバ、即ち、クライアント端末とのみ通信が可能な仮想サーバと、クライアント端末及び外部の装置の両者と通信が可能な仮想サーバを生成してよい。
【０２６３】
実行環境決定部１７１４は、少なくとも、ユーザの操作に応じて取得される情報、ユーザの操作に用いられるアプリケーション、及びユーザの操作自体のいずれかに基づいて、いずれの実行環境（仮想サーバ）を選択すべきかを決定してよい。例えば、ユーザの操作によってＵＲＬが取得された場合には、外部の装置及びクライアント端末のそれぞれと通信可能な通信ポートを有する仮想サーバを選択する。或いは、ユーザの操作によりＷｏｒｄファイルが閲覧されようとすることを示す情報が取得された場合には、実行環境決定部１７１４は、クライアント端末１７０２とのみ通信可能な通信ポートを有する仮想サーバを選択してよい。
【０２６４】
これに代えて、または、これに加えて、ログインユーザ名等のユーザ固有の情報が取得されること、電子ファイルの拡張子が取得されること、クライアント端末において電子ファイルを処理するために用いられるアプリケーションを区別する識別子が取得されることの少なくとも１つに応じて、いずれの実行環境（仮想サーバ）を選択すべきかを決定してよい。更に、実行環境決定部１７１４は、電子ファイルのファイルサイズ、ファイル名、ファイル形式、ファイルが保存された場所、ファイルが保存・更新された日時といった電子ファイルの属性に基づいて、いずれの実行環境を選択すべきかを判断してもよい。この場合、実行環境決定部１７１４は、ユーザが操作する電子ファイルが予め定められた属性またはその組み合あわせを有する場合に、いずれの実行環境を選択すべきかを決定してもよい。
【０２６５】
実行サーバ１２０に予め仮想サーバが生成されていない場合には、電子データ特定情報取得部１７１２によってＵＲＬが取得された場合には、実行環境決定部１７１４が、外部の装置及びクライアント端末のそれぞれと通信可能な通信ポートを有する仮想サーバを生成するための遠隔操作プログラムを生成し、これを実行サーバ１２０に実行させることによって、所望の仮想サーバを生成してもよい。同様に、ユーザによりＷｏｒｄファイルが閲覧されようとしている情報が取得された場合には、実行環境決定部１７１４は、クライアント端末とのみ通信可能な通信ポートを有する仮想サーバを生成するための遠隔操作プログラムを生成し、これを実行サーバ１２０に実行させてよい。
【０２６６】
［メールシステム１７００が同一の物理マシン上で実現される実施形態］
上述のとおり、情報処理装置は、同一の物理サーバ上に構築されてもよく、異なる物理サーバ上に構築されてもよい。図１９〜図２１を用いて、メールシステム１７００のクライアント端末１７０２及び実行サーバ１２０が、同一の物理マシン上に構築される場合の一例について説明する。
【０２６７】
図１９は、メールシステム１７００のシステム構成の一例を概略的に示す。図２０は、物理マシン１９００のシステム構成の一例を概略的に示す。図２１は、仮想マシン１９１０及び仮想マシン１９２０のシステム構成の一例を概略的に示す。
【０２６８】
図１９に示されるとおり、本実施形態において、メールシステム１７００は、メールサーバ９１２と、物理マシン１９００とを備える。本実施形態において、同一の物理マシン１９００が、クライアント端末１７０２及び実行サーバ１２０として機能する。本実施形態によれば、図１７及び図１８に関連して説明されたクライアント端末１７０２の機能の少なくとも一部と、図１７及び図１８に関連して説明された実行サーバ１２０の機能の少なくとも一部とが、同一の物理マシン１９００により実現される。
【０２６９】
本実施形態によれば、単一の物理マシン１９００の上に、仮想マシン１９１０と、仮想マシン１９２０とが構築される。本実施形態において、仮想マシン１９２０は、仮想マシン１９２２と、仮想マシン１９２４と、仮想マシン１９２６とを含む。
【０２７０】
本実施形態において、物理マシン１９００の上には、仮想マシン１９１０と、仮想マシン１９２０との間で情報を伝達する仮想バス１９３０が構築される。仮想バス１９３０は、ホストＯＳとゲストＯＳとの間に構築されたブリッジインターフェイスを含んでもよい。仮想マシン１９１０及び仮想マシン１９２０が同一の物理マシン上に構築されている場合であっても、例えば、仮想マシン１９２０における情報処理の結果を示す表示画面の画像データが、ＲＤＰなどの遠隔操作技術を利用して、仮想マシン１９１０に送信されている場合、仮想バス１９３０は、遠隔操作可能な通信経路の一例であってよい。上記の遠隔操作技術としては、ＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ）、ＲＤＰ  ｏｖｅｒ  ＨＴＴＰＳ、ＩＣＡ、ＸＰｒｏｔｏｃｏｌ、ＰＣｏＩＰなどのプロトコルを利用して情報を送受する技術を例示することができる。
【０２７１】
本実施形態において、仮想マシン１９１０は、例えば、クライアント端末１７０２として機能する。仮想マシン１９２２は、例えば、仮想サーバ管理部４１０として機能する。仮想マシン１９２４は、例えば、仮想サーバ１７０４として機能する。仮想マシン１９２６は、例えば、仮想サーバ４１４として機能する。
【０２７２】
図２０に示されるとおり、本実施形態において、物理マシン１９００は、物理リソース２０１０と、物理マシン１９００を制御するためのホストＯＳ２０２０とを有する。仮想リソース２１１０としては、ＣＰＵ、メモリ、ストレージ、ＮＩＣなどを例示することができる。また、本実施形態によれば、ホストＯＳ２０２０の上で、仮想化ソフト２０２２が動作することにより、仮想マシン１９１０、仮想マシン１９２０及び仮想バス１９３０が実現されている。
【０２７３】
本実施形態において、ホストＯＳ及び仮想化ソフトを用いて、物理リソース及び仮想リソースの間に、ホストＯＳ及び仮想化ソフトという２つのレイヤーを介在させることにより、仮想マシンを構築する場合について説明した。しかしながら、仮想マシンの構築方法は本実施形態に限定されない。他の実施形態において、ハイパーバイザを用いて、仮想マシンを構築してもよい。この場合、物理リソースの上に、仮想化を実現するためのレイヤー（ハイパーバイザと称される場合がある。）が構築され、当該ハイバーバイザ上で仮想マシンが実現される。
【０２７４】
さらに他の実施形態において、コンテナ型仮想化技術により、単一のＯＳ環境に、１又は複数の分離されたプロセス空間（コンテナと称される場合がある。）が作成されてよい。各コンテナにおいては、システム内の他のプロセス空間に影響を与えたり、システムからの影響を受けたりすることなく、アプリケーションを実行することができる。
【０２７５】
例えば、物理マシン１９００のホストＯＳ上に構築された第１のコンテナにおいて、物理マシン１９００のコンピュータを、クライアント端末１７０２の少なくとも一部として機能させるためのプログラムが実行される。物理マシン１９００のホストＯＳ上に構築された第２のコンテナにおいて、物理マシン１９００のコンピュータを、実行サーバ１２０の少なくとも一部として機能させるためのプログラムが実行される。第１のコンテナと、第２のコンテナとの間では、遠隔操作技術を利用して情報が送受されてよい。
【０２７６】
（ｉ）電子ファイルを実行するための命令が受け付けられた後、当該電子ファイルを実行するためのコンテナが用意されてもよく、（ｉｉ）電子ファイルを実行するための命令が受け付けられる前に既に用意されていたコンテナを利用して、当該電子ファイルが事項されてもよい。コンテナは、電子ファイルが実行される度に用意されてもよい。コンテナは、電子ファイルの実行が終了した後、直ちに破棄されてもよく、電子ファイルの実行が終了してから、予め定められた期間が経過した後、破棄されてもよい。コンテナは、電子ファイルの実行が終了してから、ランダムに決定された期間が経過した後、破棄されてもよい。
【０２７７】
図２１に示されるとおり、仮想マシン１９１０は、仮想リソース２１１０と、仮想マシン１９１０を制御するためのゲストＯＳ２１２０とを有する。仮想マシン１９１０には、例えば、データ管理ソフト２１３２、Ｗｅｂブラウザ２１４２及び各種のアプリケーションソフト２１４４が導入されている。仮想リソース２１１０としては、仮想ＣＰＵ、仮想メモリ、仮想ストレージ、仮想ＮＩＣなどを例示することができる。
【０２７８】
データ管理ソフト２１３２は、仮想マシン１９１０上で実行されることにより、仮想マシン１９１０の仮想ＣＰＵを、クライアント端末１７０２の少なくとも一部として機能させるためのプログラムであってよい。データ管理ソフト２１３２が、仮想マシン１９１０上で実行されることにより、仮想リソース２１１０が、クライアント端末１７０２の各部として機能する。
【０２７９】
同様に、仮想マシン１９２０は、仮想リソース２１１０と、仮想マシン１９２０を制御するためのゲストＯＳ２１２０とを有する。仮想マシン１９２０には、例えば、実行代行ソフト２１３４、Ｗｅｂブラウザ２１４２及び各種のアプリケーションソフト２１４４が導入されている。
【０２８０】
実行代行ソフト２１３４は、仮想マシン１９２０上で実行されることにより、仮想マシン１９２０の仮想ＣＰＵ（仮想マシン１９２２、仮想マシン１９２４及び仮想マシン１９２６の少なくとも１つの仮想ＣＰＵであってもよい。）を、実行サーバ１２０の少なくとも一部として機能させるためのプログラムであってよい。実行代行ソフト２１３４が、仮想マシン１９２０上で実行されることにより、仮想マシン１９２０の仮想リソース２１１０（仮想マシン１９２２、仮想マシン１９２４及び仮想マシン１９２６の少なくとも１つの仮想リソース２１１０であってもよい。）が、実行サーバ１２０の各部として機能する。
【０２８１】
本実施形態によれば、クライアント端末１７０２として機能する仮想マシン１９１０が、電子データへのアクセス又は電子データの操作に関する命令を受け付けると、電子データにアクセスするための処理、又は、電子データを操作するための処理が、仮想マシン１７０４として機能する仮想マシン１９２４の上で実行される場合がある。そこで、仮想マシン１９１０と、仮想マシン１９２０との間で、任意の情報が共有又は同期されてよい。また、仮想マシン１９１０と、仮想マシン１９２０との間で、任意の情報のバックアップ処理又は復元処理が実行されてもよい。
【０２８２】
例えば、仮想マシン１９１０と、仮想マシン１９２０との間で、Ｗｅｂブラウザ２１４２及び各種のアプリケーションソフト２１４４の少なくとも一方の設定情報が共有又は同期される。また、上記の設置情報のバックアップ処理又は復元処理が実行されてもよい。上記の設定情報としては、（ｉ）Ｗｅｂブラウザのクッキーに格納された情報、（ｉｉ）Ｗｅｂブラウザで保存されたユーザＩＤ、Ｗｅｂサイトのログインパスワードなどのサイト毎の暗証情報、（ｉｉｉ）各種Ｗｅｂサイトの設定情報、（ｉｖ）ブックマーク情報、（ｖ）ブラウザプロキシの認証情報などを例示することができる。
【０２８３】
クライアント端末１７０２の機能と、実行サーバ１２０の機能とを有するシステムが、同一の物理マシンの上に構築されることにより、当該システムの導入費用が大幅に削減される場合がある。例えば、本システムの導入規模が比較的小さい場合、本システムを導入するために、新たにサーバシステムを構築することが経済的に合理的でない場合もあり得る。このような場合、本システムの導入を予定する各物理マシン上に、クライアント端末１７０２の機能と、実行サーバ１２０の機能とを有するシステムを構築することで、本システムの導入費用を抑制することができる。
【０２８４】
図１９〜図２１の実施形態においては、１台の物理マシン１９００の上に、クライアント端末１７０２として機能する仮想マシン１９１０と、仮想サーバ管理部４１０として機能する仮想マシン１９２２と、仮想サーバ１７０４として機能する仮想マシン１９２４と、仮想サーバ４１４として機能する仮想マシン１９２６とが構築される場合について説明した。しかしながら、メールシステム１７００は、本実施形態に限定されない。
【０２８５】
他の実施形態において、（ｉ）クライアント端末１７０２の一部と、実行サーバ１２０の一部とが、第１の物理マシン上に構築され、（ｉｉ）その他の部分が、第１の物理マシンとは異なる１又は複数の物理マシン上に構築される。例えば、クライアント端末１７０２として機能する仮想マシン１９１０と、仮想サーバ管理部４１０として機能する仮想マシン１９２２と、仮想サーバ１７０４として機能する仮想マシン１９２４とが、第１の物理マシンの上に構築される。一方、仮想サーバ４１４として機能する仮想マシン１９２６は、第１の物理マシンとは異なる第２の物理マシンの上に構築されてよい。
【０２８６】
［メールシステム１７００における情報処理の他の例］
図１９のメールシステム１７００は、図１７及び図１８に関連して説明された情報処理と同様の情報処理を実行してよい。図２２及び図２３を用いて、メールシステム１７００における情報処理の他の例について説明する。具体的には、図２２及び図２３を用いて、図１９のメールシステム１７００において、一定期間、電子データを保存する実施形態について説明する。図２２は、仮想マシン１９１０により実現されるクライアント端末１７０２の一例を概略的に示す。図２３は、仮想マシン１９２６により実現される仮想サーバ４１４の一例を概略的に示す。
【０２８７】
本実施形態においては、仮想マシン１９１０がクライアント端末１７０２として機能し、仮想マシン１９２０が実行サーバ１２０として機能する。また、仮想マシン１９２２が仮想サーバ管理部４１０として機能し、仮想マシン１９２４が仮想サーバ１７０４として機能し、仮想マシン１９２６が仮想サーバ４１４として機能する。
【０２８８】
［メールシステム１７００のシステム構成の概要］
本実施形態において、クライアント端末１７０２として機能する仮想マシン１９１０は、図１７に関連して説明したクライアント端末１７０２と比較して、履歴管理部２２１２と、データ処理制限部２２１４と、マルウエア情報共有部２２１６と、レポート作成部２２１８とを備える点で相違する。その他の構成に関して、仮想マシン１９１０は、クライアント端末１１４、クライアント端末９１４、クライアント端末１４０１、又は、クライアント端末１７０２と同様の構成を有してよい。
【０２８９】
本実施形態において、仮想サーバ管理部４１０として機能する仮想マシン１９２２は、仮想サーバ管理部４１０と同様の構成を有してよい。仮想サーバ１７０４として機能する仮想マシン１９２４は、仮想サーバ４１２又は仮想サーバ１７０４と同様の構成を有してよい。本実施形態において、仮想サーバ４１４として機能する仮想マシン１９２６は、例えば、通信制御部２３１２と、マルウエア検出部２３１４と、電子データ保存部２３１６とを備える。
【０２９０】
履歴管理部２２１２は、送信履歴格納部、アクセス履歴格納部、アクセス情報取得部、又は、アクセス情報格納部の一例であってよい。データ処理制限部２２１４は、制限部の一例であってよい。マルウエア情報共有部２２１６は、通知部の一例であってよい。電子データ保存部２３１６は、実行履歴格納部の一例であってよい。
【０２９１】
本実施形態において、履歴管理部２２１２は、電子データへのアクセス又は電子データの操作に関する履歴を管理する。一実施形態において、履歴管理部２２１２は、電子データが他の情報処理装置に送信された場合、他の情報処理装置の識別情報を記憶する。他の実施形態において、履歴管理部２２１２は、他の情報処理装置から、電子データにアクセスしたことを示す情報を取得する。電子データにアクセスした他の情報処理装置の識別情報を記憶してよい。履歴管理部２２１２は、予め定められた期間、電子データのアドレス、又は、電子データ若しくは予め定められたアルゴリズムに基づいて変換された電子データを記憶してもよい。
【０２９２】
本実施形態において、データ処理制限部２２１４は、例えば、電子データの保存期間が満了するまで、当該電子データの操作、当該電子データへのアクセス、及び、当該電子データの実行の少なくとも１つ（電子データの操作等と称する場合がある。）を制限する。制限としては、許可、条件つき許可、禁止、条件つき禁止などを例示することができる。データ処理制限部２２１４は、電子データの保存期間が満了するまで、実行サーバ１２０（特に、仮想サーバ１７０４である。）、又は、実行サーバ１２０として機能するマシンの上でのみ、当該電子データの操作等を許可してよい。
【０２９３】
データ処理制限部２２１４は、電子データの保存期間が満了するまで、当該電子データを他の情報処理装置に送信する操作を禁止してよい。データ処理制限部２２１４は、電子ファイルの保存期間が満了するまで、当該電子ファイルのファイル形式が、当該電子ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換されていることを条件として、当該電子ファイルを他の情報処理装置に送信する操作を許可してよい。電子ファイルのファイル形式が、当該電子ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換されている場合、データ処理制限部２２１４は、当該電子ファイルの保存期間が満了するまで、遠隔操作用のアプリケーションのファイル形式から、アプリケーションのファイル形式に戻すための処理を禁止してもよい。
【０２９４】
一実施形態において、データ処理制限部２２１４は、電子データの識別情報と、当該電子データの操作等が制限される期間に関する情報と、制限の内容を示す情報とが対応付けられたリストを生成する。例えば、電子ファイル処理部２２８及び電子ファイル実行部４３０の少なくとも一方は、上記のリストを参照して、電子データの操作の可否、電子データへのアクセスの可否、又は、電子データの実行の可否を判断する。
【０２９５】
本実施形態において、マルウエア情報共有部２２１６は、マルウエア検出部２３１４がマルウエアを検出した場合、履歴管理部２２１２に格納された他の情報処理装置の識別情報を参照して、他の情報処理装置に、電子データがマルウエアに感染していたことを通知する。
【０２９６】
本実施形態において、レポート作成部２２１８は、マルウエア検出部２３１４によるマルウエアの検出状況に関するレポートを作成する。これにより、本システムによる感染防止効果を見える化することができる。
【０２９７】
本実施形態によれば、過去にアクセスされた電子データのアドレス若しくは当該電子データ、又は、過去に実行された電子データが、予め定められた期間（保存期間と称する場合がある。）に渡って保存される。そして、マルウエア検出部２３１４は、当該保存期間中に、少なくとも一回、（ｉ）保存された電子データを走査して、マルウエア検出処理を実行する、及び／又は、（ｉｉ）保存されたアドレスにアクセスして、マルウエア検出処理を実行する。マルウエア検出処理においては、例えば、上記の電子データがマルウエアに感染しているか否か、又は、当該電子データがマルウエアを含んでいるか否かが判定される。マルウエア検出部２３１４は、過去にアクセスされた電子データ、又は、過去に実行された電子データを、予め定められた保存期間に渡って、複数回、走査してよい。
【０２９８】
電子データ又は電子データのアドレスの保存期間中に、マルウエア検出用のパターンファイルが更新される場合がある。これにより、上記電子データがアクセスされたり、実行されたりした時点においては検出されなかったマルウエアが、上記の保存期間中に検出され得る。そのため、上記のレポートによれば、例えば、マルウエア検出ソフトは導入されていたものの、本システムが導入されていなかった場合と比較して、本システムがマルウエアによる被害をどの程度抑制することができたかが明らかになる。
【０２９９】
本実施形態において、通信制御部２３１２は、例えば、仮想マシン１９２６と、仮想マシン１９１０、仮想マシン１９２２、仮想マシン１９２４及び仮想マシン１９２６の少なくとも１つとの間の通信を制御する。通信制御部２３１２は、例えば、通信制御部２２２、通信制御部２４２、通信制御部４２２、又は、通信制御部１７０６と同様の構成を有してよい。通信制御部２３１２は、例えば、通信制御部１７０６と同様の構成を有する。
【０３００】
本実施形態において、マルウエア検出部２３１４は、過去にアクセスされた電子データ又は過去に実行されたデータを走査して、マルウエアによる感染の有無を判定する。一実施形態において、マルウエア検出部２３１４は、電子データ保存部２３１６又は履歴管理部２２１２に保存された電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを走査して、マルウエアを検出する。他の実施形態において、マルウエア検出部２３１４は、履歴管理部２２１２に保存されたアドレスにアクセスしてマルウエアを検出する。
【０３０１】
本実施形態において、マルウエア検出部２３１４は、予め定められた期間の間に、マルウエアを検出するための処理を複数回実行する。例えば、マルウエア検出部２３１４は、上記の保存期間の間に、マルウエアを検出するための処理を複数回実行する。マルウエア検出部２３１４は、異常検出部４３４と同様の構成を有してもよい。
【０３０２】
本実施形態において、電子データ保存部２３１６は、過去にアクセスされた電子データ、又は、過去に実行された電子データを、予め定められた期間（保存期間と称する場合がある。）記憶する。例えば、電子データ保存部２３１６は、予め定められた期間、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを記憶する、電子データ保存部２３１６は、予め定められた期間、電子データのアドレスを記憶してもよい。
【０３０３】
［メールシステム１７００の各部の具体的な構成］
メールシステム１７００の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアにより実現されてもよい。メールシステム１７００の各部は、その少なくとも一部が、単一のサーバ又はマシンによって実現されてもよく、複数のサーバ又はマシンによって実現されてもよい。メールシステム１７００の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。メールシステム１７００の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。例えば、物理マシン１９００が、パーソナルコンピュータ又は携帯端末によって実現されてよい。携帯端末としては、携帯電話、スマートホン、ＰＤＡ、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。メールシステム１７００は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
【０３０４】
メールシステム１７００を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。上記の情報処理装置は、（ｉ）ＣＰＵ、ＧＰＵなどのプロセッサ、ＲＯＭ、ＲＡＭ、通信インターフェースなどを有するデータ処理装置と、（ｉｉ）キーボード、タッチパネル、カメラ、マイク、各種センサ、ＧＰＳ受信機などの入力装置と、（ｉｉｉ）表示装置、スピーカ、振動装置などの出力装置と、（ｉｖ）メモリ、ＨＤＤなどの記憶装置（外部記憶装置を含む。）とを備えてよい。上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。
【０３０５】
［メールシステム１７００における情報処理の概要］
上述のとおり、クライアント端末１７０２として機能する仮想マシン１９１０が、電子データへのアクセス又は電子データの操作に関する命令を受け付けると、電子データにアクセスするための処理、又は、電子データを操作するための処理が、仮想マシン１７０４として機能する仮想マシン１９２４の上で実行される場合がある。電子データの操作としては、（ｉ）電子データを実行、閲覧、編集、印刷、複製、移動又は送信するための操作、（ｉｉ）電子データのファイル形式を変換するための操作、（ｉｉｉ）画面データをキャプチャするための操作などを例示することができる。
【０３０６】
電子データを実行するための操作は、予め定められたアプリケーションソフトを用いて、電子ファイルを開くための操作を含んでよい。電子データを複製するための操作は、当該電子データの内容をクリップボードにコピーするための操作を含んでもよい。電子データは、各種アプリケーションソフト用の電子ファイルであってもよく、ＷｅｂサイトなどのＨＴＭＬデータであってもよく、Ｗｅｂサイトなどに埋め込まれた各種スクリプトであってもよい。
【０３０７】
メールシステム１７００において、仮想マシン１７０４として機能する仮想マシン１９２４から、クライアント端末１７０２として機能する仮想マシン１９１０に送信される情報は、制限されている。例えば、仮想マシン１９２４からクライアント端末１７０２には、仮想マシン１９２４上で実行された処理の結果を示す表示画面の画像データ以外のデータを送信することはできない。
【０３０８】
これにより、クライアント端末１７０２として機能する仮想マシン１９１０がマルウエアに感染するリスクが、大幅に低減する。また、クライアント端末１７０２として機能する仮想マシン１９１０から、他の情報処理装置（例えば、他の端末２０、ファイル共有サーバ１２１２などである。）に電子データを送信する場合に、当該他の情報処理装置にマルウエアに感染した電子ファイルを送信することを抑制することができる。
【０３０９】
例えば、上記の仮想マシン１９１０が電子データを送信する前に、（ｉ）仮想サーバ１７０４として機能する仮想マシン１９２４の電子ファイル実行４３０が当該電子データを実行し、（ｉｉ）仮想サーバ１７０４として機能する仮想マシン１９２４の異常検出部４３４が異常検出処理を実行する。そして、異常検出部４３４による異常検出処理において異常が検出されなかった場合に、仮想マシン１９１０が電子データを送信することで、当該他の情報処理装置がマルウエアに感染することを防止することができる。
【０３１０】
しかしながら、異常検出部４３４によるマルウエアの検出には限界がある。また、近年のマルウエアの中には、従前と比較して潜伏期間の長いマルウエアが存在する。そのため、マルウエアに感染した電子データが、本システムを導入している情報処理端末から、本システムを導入していない情報処理端末に送信されてしまう可能性は低いものの、当該可能性は０ではない。
【０３１１】
本実施形態の一実施形態によれば、（ｉ）クライアント端末１７０２として機能する仮想マシン１９１０が、電子データの操作に関する命令を受け付けた場合、又は、（ｉｉ）電子データを操作するための処理が、仮想マシン１７０４として機能する仮想マシン１９２４の上で実行された場合に、当該電子データが、予め定められた期間、保存される。上記の電子データは、予め定められたアルゴリズムに基づいて変換された後、予め定められた期間、保存されてもよい。上記の電子データは、例えば、クライアント端末１７０２として機能する仮想マシン１９１０、及び、仮想サーバ４１４として機能する仮想マシン１９２６の少なくとも一方に保存される。
【０３１２】
これに対して、図１９〜図２３に関連して説明された実施形態によれば、（ｉ）クライアント端末１７０２として機能する仮想マシン１９１０が、電子データにアクセスするための命令を受け付けた場合、又は、（ｉｉ）電子データにアクセスするための処理が、仮想マシン１７０４として機能する仮想マシン１９２４の上で実行された場合に、当該電子データのアドレス又は当該電子データが、予め定められた期間、保存される。上記の電子データのアドレス又は上記の電子データは、例えば、クライアント端末１７０２として機能する仮想マシン１９１０、及び、仮想サーバ４１４として機能する仮想マシン１９２６の少なくとも一方に保存される。
【０３１３】
本実施形態によれば、例えば、マルウエア検出部２３１４が、過去にアクセスされた電子データ、又は、過去に実行された電子データを、予め定められた保存期間に渡って、複数回、走査する。そのため、上記電子データがアクセスされたり、実行されたりした時点においては検出することができなかったマルウエアを、上記の保存期間中に検出することができる。例えば、マルウエア検出部２３１４による検出結果を、本システムを導入していない他の情報処理端末と共有することで、当該他の情報処理端末の被害を抑制することができる。
【０３１４】
［メールシステム１７００における情報処理の具体例］
メールシステム１７００が、Ｗｅｂサーバ１７６０が提供するＷｅｂサイトにアクセスするための命令を取得した場合を例として、メールシステム１７００における情報処理の一例について説明する。Ｗｅｂサイトを記述するＨＴＭＬデータは、電子データの一例であってよい。なお、メールシステム１７００が、電子ファイルなどの電子データを実行する場合についても、本実施形態と同様にして処理することができる。本実施形態によれば、まず、仮想マシン１９１０上の入力部２４６が、電子データの操作に関する命令を取得する。例えば、入力部２４６は、Ｗｅｂサーバ１７６０が提供するＷｅｂサイトにアクセスするための命令を取得する。仮想マシン１９１０上の実行環境決定部１７１４が、仮想マシン１９１０上のＷｅｂブラウザを利用して上記のＷｅｂサイトにアクセスするか、仮想マシン１９２４上のＷｅｂブラウザを利用して上記のＷｅｂサイトにアクセスするかを決定する。
【０３１５】
実行環境決定部１７１４が、仮想マシン１９２４上のＷｅｂブラウザを利用して上記のＷｅｂサイトにアクセスすることを決定した場合、仮想マシン１９１０上の遠隔操作部２４４が、仮想マシン１９１０と、仮想マシン１９２４との間に、遠隔操作可能な通信経路を確立する。遠隔操作部２４４は、仮想マシン１９２４上の電子ファイル実行部４３０に対して、Ｗｅｂブラウザを実行して、上記のＷｅｂサイトにアクセスするための命令を、上記の遠隔操作可能な通信経路を介して送信する。Ｗｅｂサイトにアクセスするための命令は、実行指示の一例であってよい。
【０３１６】
仮想マシン１９２４上の電子ファイル実行部４３０は、遠隔操作部２４４から受信した命令に基づいて、Ｗｅｂブラウザを起動し、上記のＷｅｂサイトにアクセスする。このとき、電子ファイル実行部４３０は、上記のＷｅｂサイトのアドレスを、仮想マシン１９２６上の電子データ保存部２３１６に格納してよい。電子ファイル実行部４３０は、上記のＷｅｂサイトのＨＴＭＬデータを、電子データ保存部２３１６に格納してもよい。電子ファイル実行部４３０は、上記のアドレス又は上記のＨＴＭＬデータを、予め定められたアルゴリズムに基づいて変換し、変換後のデータを、電子データ保存部２３１６に格納してもよい。電子データ保存部２３１６は、予め定められた保存期間に渡って、電子ファイル実行部４３０から受信した電子データを記憶する。
【０３１７】
本実施形態においては、電子ファイル実行部４３０が、上記のデータを電子データ保存部２３１６に格納する場合について説明した。しかしながら、上記のデータを電子データ保存部２３１６に格納するモジュール又はセクションは、電子ファイル実行部４３０に限定されない。他の実施形態によれば、例えば、遠隔操作部２４４が、上記のデータを電子データ保存部２３１６に格納する。
【０３１８】
仮想マシン１９１０上のデータ処理制限部２２１４は、上記の保存期間の間、上記の電子データの処理を制限してよい。例えば、上記のＷｅｂサイトにアクセスする場合には、仮想マシン１９２４上のＷｅｂブラウザを利用して上記のＷｅｂサイトにアクセスするかを決定すべきことを示す情報を、実行環境決定部１７１４に送信する。
【０３１９】
仮想マシン１９２６上のマルウエア検出部２３１４は、電子データ保存部２３１６に格納されたデータを走査して、マルウエアを検出する。電子データ保存部２３１６に電子データのアドレスが格納されている場合、マルウエア検出部２３１４は、例えば、下記の手順により、マルウエアを検出する。
【０３２０】
電子データ保存部２３１６に電子データのアドレスが格納されている場合、まず、仮想マシン１９１０上の通信制御部２３１２が、仮想マシン１９１０と、仮想マシン１９２４との間に、遠隔操作可能な通信経路を確立する。次に、マルウエア検出部２３１４が、仮想マシン１９２４上の電子ファイル実行部４３０に対して、Ｗｅｂブラウザを実行して、上記のＷｅｂサイトにアクセスするための命令を、上記の遠隔操作可能な通信経路を介して送信する。
【０３２１】
一実施形態において、マルウエア検出部２３１４は、電子ファイル実行部４３０から、仮想マシン１９２４上で実行された処理の結果を示す表示画面の画像データを受信する。マルウエア検出部２３１４は、上記の画像データを解析して、上記のＷｅｂサイトがマルウエアに感染しているか否かを判定してよい。
【０３２２】
他の実施形態において、マルウエア検出部２３１４は、電子ファイル実行部４３０から、コンテンツデータを受信する。コンテンツデータとしては、ＨＴＭＬデータ、ＣＳＳデザインデータ、ブラウザキャッシュデータ、動画データ、静止画データ、音声データなどを例示することができる。ブラウザキャッシュデータとしては、クッキー等を例示することができる。マルウエア検出部２３１４は、上記のコンテンツデータを解析して、上記のＷｅｂサイトがマルウエアに感染しているか否かを判定してもよい。
【０３２３】
マルウエアが検出された場合、マルウエア検出部２３１４は、マルウエアが検出されたことを示す情報を、仮想マシン１９１０上のレポート作成部２２１８に送信する。レポート作成部２２１８は、マルウエア検出部２３１４によるマルウエアの検出状況に関するレポートを作成する。
【０３２４】
マルウエアが検出された場合、マルウエア検出部２３１４は、マルウエアが検出されたことを示す情報を、仮想マシン１９１０上のマルウエア情報共有部２２１６に送信してもよい。マルウエア情報共有部２２１６は、例えば、電子データ保存部２３１６を参照して、過去に上記のＷｅｂサイトにアクセスしたことのある他の情報処理装置の識別情報を取得する。マルウエア情報共有部２２１６は、他の情報処理装置に、上記のＷｅｂサイトがマルウエアに感染していたことを示す情報を送信してよい。
【０３２５】
［物理マシン１９００の他の実施形態］
図２４は、物理マシン１９００のシステム構成の他の例を概略的に示す。本実施形態によれば、コンテナ型仮想化技術により、単一のホストＯＳ２０２０の上で、コンテナ２４２２、コンテナ２４２４、コンテナ２４２６、及び、コンテナ２４２８が作成される。複数のコンテナのそれぞれにおいては、異なるアプリケーションが実行される。これにより、図１９〜図２３に関連して説明されたメールシステム１７００と同様のシステムを実現することができる。
【０３２６】
例えば、コンテナ２４２２のプロセス空間２４３２では、物理マシン１９００の物理リソース２０１０（例えば、ＣＰＵなどのプロセッサである。）を、クライアント端末１７０２の各部として機能させるためのプログラムが実行される。同様に、コンテナ２４２４のプロセス空間２４３４では、物理マシン１９００の物理リソース２０１０を、仮想サーバ管理部４１０として機能させるためのプログラムが実行される。コンテナ２４２６のプロセス空間２４３６では、物理マシン１９００の物理リソース２０１０を、仮想サーバ１７０４の各部として機能させるためのプログラムが実行される。コンテナ２４２８のプロセス空間２４３８では、物理マシン１９００の物理リソース２０１０を、仮想サーバ４１４として機能させるためのプログラムが実行される。
【０３２７】
上述のとおり、（ｉ）電子ファイルを実行するための命令が受け付けられた後、当該電子ファイルを実行するためのコンテナが用意されてもよく、（ｉｉ）電子ファイルを実行するための命令が受け付けられる前に既に用意されていたコンテナを利用して、当該電子ファイルが事項されてもよい。コンテナは、電子ファイルが実行される度に用意されてもよい。コンテナは、電子ファイルの実行が終了した後、直ちに破棄されてもよく、電子ファイルの実行が終了してから、予め定められた期間が経過した後、破棄されてもよい。コンテナは、電子ファイルの実行が終了してから、ランダムに決定された期間が経過した後、破棄されてもよい。
【０３２８】
図２５及び図２６を用いて、物理マシン１９００のさらに他の例について説明する。図２５は、物理マシン１９００のシステム構成のさらに他の例を概略的に示す。図２６は、図２５に関連して説明された物理マシン１９００において、データ管理ソフト２１３２が実行された場合に実現されるシステムの一例を概略的に示す。本実施形態において、データ管理ソフト２１３２は、コンピュータを、クライアント端末１７０２の各部及び仮想サーバ管理部４１０として機能させるためのプログラムであってよい。
【０３２９】
本実施形態によれば、クライアント端末１７０２として動作する物理マシン１９００の上で、仮想マシン１９２０が動作する点で、図１９から図２４に関連して説明された実施形態と相違する。図２６に関連して説明される物理マシン１９００は、仮想サーバ管理部４１０と、仮想マシン１９２０と、仮想バス１９３０とを備える点で、図２２に関連して説明された仮想マシン１９１０と相違する。図２５及び図２６に関連して説明される仮想マシン１９２０は、仮想マシン１９２２を有しない点で、図１９〜図２１に関連して説明された仮想マシン１９２０と相違する。
【０３３０】
図２５に示されるとおり、本実施形態によれば、物理マシン１９００のホストＯＳ２０２０の上で、仮想化ソフト２０２２が動作することにより、仮想マシン１９２０と、仮想バス１９３０とが構築されている。この場合において、物理マシン１９００の上でデータ管理ソフト２１３２が実行されると、図２６に示されるとおり、物理マシン１９００を、クライアント端末１７０２の各部として機能させるためのモジュール又はセクションが構築される。また、物理マシン１９００を、仮想サーバ管理部４１０として機能させるためのモジュール又はセクションが構築される。
【０３３１】
これにより、図１９〜図２３に関連して説明されたメールシステム１７００と同様のシステムを実現することができる。なお、仮想化ソフト２０２２が実行される前に、データ管理ソフト２１３２が実行されてもよく、仮想化ソフト２０２２が実行された後で、データ管理ソフト２１３２が実行されてもよい。
【０３３２】
図１９〜図２３に関連して説明された実施形態においては、メールシステム１７００を用いて、情報処理装置の一例が説明された。しかしながら、情報処理装置は、メールシステム１７００に限定されない。他の実施形態において、情報処理装置は、メールサーバを備えなくてもよい。さらに他の実施形態において、情報処理装置は、Ｗｅｂサイトにアクセスするためのシステムであってもよく、電子ファイル又は電子データを共有するためのシステムであってもよい。
【０３３３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【０３３４】
また、上述のとおり、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。一実施形態において、図１〜３及び図７に関連して説明されたクライアント端末１１４が、図９に関連して説明されたクライアント端末９１２、又は、図１７に関連して説明されたクライアント端末１７０２の機能又は特徴の一部を有してもよい。同様に、クライアント端末９１２が、クライアント端末１１４又はクライアント端末１７０２の機能又は特徴の一部を有してもよく、クライアント端末１７０２が、クライアント端末１１４又はクライアント端末９１２の機能又は特徴の一部を有してもよい。
【０３３５】
他の実施形態において、図４に関連して説明された実行サーバ１２０が、図１７に関連して説明された実行サーバ１２０の機能又は特徴の一部を有してもよい。同様に、図１７に関連して説明された実行サーバ１２０が、図４に関連して説明された実行サーバ１２０の機能又は特徴の一部を有してもよい。
【０３３６】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【０３３７】
本願明細書には、下記の事項が記載されている。下記の事項に、多様な変更または改良を加え得ることは、当業者にとって明らかである。
［項目１］
電子データから、電子ファイルを抽出する電子ファイル抽出部と、
上記電子ファイル抽出部により抽出された上記電子ファイル又は上記電子ファイルに関連するファイルを、上記電子ファイルを実行すべき実行環境に送信する電子ファイル送信部と、
上記実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作部と、
を備える、
情報処理装置。
［項目２］
上記電子ファイル抽出部により抽出された上記電子ファイルの形式、拡張子若しくは名称を変更して、又は上記電子ファイル抽出部により抽出された上記電子ファイルを暗号化して、上記電子ファイルに関連するファイルを生成するファイル変換部を更に備える、
項目１に記載の情報処理装置。
［項目３］
電子データから、電子ファイルを抽出する電子ファイル抽出部と、
遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定部と、
上記実行環境決定部により決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成部と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定部により決定された上記実行環境との間に、遠隔操作可能な通信経路を確立する手順、
を実行させるためのプログラムである、
情報処理装置。
［項目４］
上記遠隔操作プログラムは、
上記コンピュータに、
上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する手順、
を更に実行させるためのプログラムである、
項目３に記載の情報処理装置。
［項目５］
上記遠隔操作プログラムは、
上記コンピュータに、
上記コンピュータから上記実行環境に対して、通信回線を介して、上記電子ファイル又は上記電子ファイルに関連するファイルを送信する手順、
を更に実行させるためのプログラムである、
項目３又は項目４に記載の情報処理装置。
［項目６］
上記実行環境に対して、通信回線を介して、上記電子ファイル又は上記電子ファイルに関連するファイルを送信する電子ファイル送信部を更に備える、
項目３又は項目４に記載の情報処理装置。
［項目７］
上記電子ファイル抽出部により抽出された上記電子ファイルの形式、拡張子若しくは名称を変更して、又は上記電子ファイル抽出部により抽出された上記電子ファイルを暗号化して、上記電子ファイルに関連するファイルを生成するファイル変換部を更に備える、
項目３から項目６までの何れか一項に記載の情報処理装置。
［項目８］
上記実行環境を更に備える、
項目１から項目７までの何れか一項に記載の情報処理装置。
［項目９］
上記実行環境は、仮想サーバ上に構築され、
上記仮想サーバは、
通信回線を介してユーザからの指示を受け付ける指示受付部と、
上記ユーザからの指示に基づいて、上記実行環境に送信された上記電子ファイル又は上記電子ファイルに関連するファイルを実行する電子ファイル実行部と、
上記通信回線を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
を有する、
項目８に記載の情報処理装置。
［項目１０］
上記仮想サーバは、
上記実行環境の異常を検出する異常検出部を更に備える、
項目９に記載の情報処理装置。
［項目１１］
上記異常検出部は、上記実行環境が上記ユーザからの指示に応じた動作以外の動作を実行した場合に、上記実行環境の異常を検出する、
項目１０に記載の情報処理装置。
［項目１２］
上記仮想サーバは、
外部との通信を制御する通信制御部を更に備える、
項目９から項目１１までの何れか一項に記載の情報処理装置。
［項目１３］
クライアント端末からの遠隔操作によって電子ファイルを実行する仮想サーバを備え、
上記仮想サーバは、
上記クライアント端末及び通信回線を介してユーザからの指示を受け付ける指示受付部と、
上記ユーザからの指示に基づいて、上記電子ファイルを実行する電子ファイル実行部と、
上記クライアント端末に対して、上記通信回線を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
上記仮想サーバの異常を検出する異常検出部と、
を有し、
上記異常検出部は、上記仮想サーバが上記ユーザからの指示に応じた動作以外の動作を実行した場合に、上記仮想サーバの異常を検出する、
情報処理装置。
［項目１４］
上記仮想サーバは、
外部との通信を制御する通信制御部を更に備える、
項目１３に記載の情報処理装置。
［項目１５］
コンピュータを、項目１から項目１４までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
［項目１６］
電子データから、電子ファイルを抽出する電子ファイル抽出段階と、
上記電子ファイル抽出段階において抽出された上記電子ファイル又は上記電子ファイルに関連するファイルを、上記電子ファイルを実行すべき実行環境に送信する電子ファイル送信段階と、
上記実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作段階と、
を備える、
情報処理方法。
［項目１７］
電子データから、電子ファイルを抽出する電子ファイル抽出段階と、
遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定段階と、
上記実行環境決定段階において決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成段階と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定段階において決定された上記実行環境との間に、遠隔操作可能な通信経路を確立する手順、
を実行させるためのプログラムである、
情報処理方法。
［項目１８］
記憶装置を有する第１のコンピュータが記憶するデータ構造であって、
上記データ構造は、
電子ファイルのデータと、
上記電子ファイルの送信先を識別する送信先識別データと、
上記電子ファイルを実行すべき第２のコンピュータを識別する実行環境識別データと、
上記第１のコンピュータに、上記送信先識別データにより識別される送信先に上記電子ファイルのデータを送信する手順と、上記第１のコンピュータ及び上記実行環境識別データにより識別される上記第２のコンピュータの間に遠隔操作可能な通信経路を確立する手順と、を実行させるためのプログラムと、
を備える、データ構造。
［項目２−１］
電子ファイルの操作に関する指示を取得する電子ファイル操作部と、
上記電子ファイルの操作を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルの操作を実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作部と、
上記指示に応じて、上記電子ファイルを上記実行環境に送信する電子ファイル送信部と、
を備える、
情報処理装置。
［項目２−２］
上記電子ファイルの形式、拡張子若しくは名称に基づいて、上記遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定部を更に備える、
項目２−１に記載の情報処理装置。
［項目２−３］
上記電子ファイルを格納する電子ファイル格納部と、
遠隔操作された後の上記電子ファイルを、上記電子ファイル格納部に格納するか否かを制御する電子ファイル格納制御部と、
を更に備える、
項目２−２に記載の情報処理装置。
［項目２−４］
ユーザの指示に応じて、電子データを特定する電子データ特定情報を取得する電子データ特定情報取得部と、
上記電子データを実行すべき実行環境を決定する実行環境決定部と、
上記実行環境決定部により決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成部と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定部により決定された上記実行環境との間に、遠隔操作可能な第１の通信経路を確立する手順、
を実行させるためのプログラムであり、
上記実行環境決定部により決定された上記実行環境は、当該コンピュータとは別のコンピュータとの間の第２の通信経路を有する、
情報処理装置。
［項目２−５］
上記遠隔操作プログラムは、上記コンピュータに、
上記実行環境と、上記別のコンピュータとの間に上記第２の通信経路を確立させる手順を更に実行させるためのプログラムである、
項目２−４に記載の情報処理装置。
［項目２−６］
上記実行環境決定部は、上記電子データ特定情報取得部が予め定められたプロセスを用いて上記電子データ特定情報を取得した場合に、上記コンピュータに、上記実行環境と上記別のコンピュータとの間に上記第２の通信経路を確立させる手順を実行させるための上記遠隔操作プログラムを生成する、
項目２−５に記載の情報処理装置。
［項目２−７］
上記遠隔操作プログラムは、上記コンピュータに、
上記電子データ特定情報により特定された上記電子データを上記第２の通信経路を介して取得し、取得した当該電子データを上記実行環境で処理させるための指示を、上記第１の通信経路を介して上記実行環境に送信する手順を更に実行させるためのプログラムである、
項目２−４から項目２−６までの何れか一項に記載の情報処理装置。
［項目２−８］
クライアント端末からの遠隔操作によって電子データを実行する仮想サーバを備え、
上記仮想サーバは、
上記クライアント端末におけるユーザの指示に応じて、当該クライアント端末との通信を、第１の通信経路を介して行う第１通信部と、
上記クライアント端末とは異なる端末から、上記ユーザの指示に応じた電子データを第２の通信経路を介して取得する第２通信部と、
取得した上記電子データを実行する電子ファイル実行部と、
上記クライアント端末に対して、上記第１の通信経路を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
を有する、
情報処理装置。
［項目２−９］
コンピュータを、項目２−１から項目２−８までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
【符号の説明】
【０３３８】
１０  ネットワーク、２０  端末、２２  クライアント端末、２４  クライアント端末、１００  ファイル転送システム、１１０  メールシステム、１１２  メールサーバ、１１４  クライアント端末、１２０  実行サーバ、２２２  通信制御部、２２４  電子データ取得部、２２６  電子ファイル抽出部、２２８  電子ファイル処理部、２４２  通信制御部、２４４  遠隔操作部、２４６  入力部、２４８  出力部、３１２  実行環境決定部、３１４  電子ファイル送信部、３１６  通知データ生成部、３１８  通知データ送信部、３３０  通知データ、３３２  ヘッダ情報、３３４  メール本文、３３６  ＵＲＩ、３４０  添付ファイル、４１０  仮想サーバ管理部、４１２  仮想サーバ、４１４  仮想サーバ、４１６  仮想サーバ、４２２  通信制御部、４２４  認証部、４２６  電子ファイル格納部、４２８  指示受付部、４３０  電子ファイル実行部、４３２  画面情報送信部、４３４  異常検出部、７２８  電子ファイル処理部、７３０  通知データ、７３６  遠隔操作プログラム、９０２  メール作成部、９１０  メールシステム、９１２  メールサーバ、９１４  クライアント端末、１２００  ファイル転送システム、１２１２  ファイル共有サーバ、１４００  ファイル処理システム、１４０１  クライアント端末、１４０２  電子ファイル格納部、１４０４  電子ファイル操作部、１４０６  電子ファイル格納制御部、１４０８  実行環境決定部、１７００  メールシステム、１７０２  クライアント端末、１７０４  仮想サーバ、１７０６  通信制御部、１７０８  第１通信部、１７１０  第２通信部、１７１２  電子データ特定情報取得部、１７１４  実行環境決定部、１７２０  通信経路、１７３０  通信経路、１７５０  外部の装置、１９００  物理マシン、１９１０  仮想マシン、１９２０  仮想マシン、１９２２  仮想マシン、１９２４  仮想マシン、１９２６  仮想マシン、１９３０  仮想バス、２０１０  物理リソース、２０２０  ホストＯＳ、２０２２  仮想化ソフト、２１１０  仮想リソース、２１２０  ゲストＯＳ、２１３２  データ管理ソフト、２１３４  実行代行ソフト、２１４２  Ｗｅｂブラウザ、２１４４  アプリケーションソフト、２２１２  履歴管理部、２２１４  データ処理制限部、２２１６  マルウエア情報共有部、２２１８  レポート作成部、２３１２  通信制御部、２３１４  マルウエア検出部、２３１６  電子データ保存部、２４２２  コンテナ、２４２４  コンテナ、２４２６  コンテナ、２４２８  コンテナ、２４３２  プロセス空間、２４３４  プロセス空間、２４３６  プロセス空間、２４３８  プロセス空間
【図１】
0006768530.tif 000002
【図２】
0006768530.tif 000003
【図３】
0006768530.tif 000004
【図４】
0006768530.tif 000005
【図５】
0006768530.tif 000006
【図６】
0006768530.tif 000007
【図７】
0006768530.tif 000008
【図８】
0006768530.tif 000009
【図９】
0006768530.tif 000010
【図１０】
0006768530.tif 000011
【図１１】
0006768530.tif 000012
【図１２】
0006768530.tif 000013
【図１３】
0006768530.tif 000014
【図１４】
0006768530.tif 000015
【図１５Ａ】
0006768530.tif 000016
【図１５Ｂ】
0006768530.tif 000017
【図１６】
0006768530.tif 000018
【図１７】
0006768530.tif 000019
【図１８】
0006768530.tif 000020
【図１９】
0006768530.tif 000021
【図２０】
0006768530.tif 000022
【図２１】
0006768530.tif 000023
【図２２】
0006768530.tif 000024
【図２３】
0006768530.tif 000025
【図２４】
0006768530.tif 000026
【図２５】
0006768530.tif 000027
【図２６】
0006768530.tif 000028