以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。特定の実施形態において説明した技術事項は、技術的に矛盾を生じない限りにおいて、他の実施形態に適用することができる。
図1は、ファイル転送システム100の一例を概略的に示す。本実施形態において、ファイル転送システム100は、メールシステム110と、実行サーバ120とを備える。メールシステム110は、メールサーバ112と、クライアント端末114とを有する。本実施形態において、メールシステム110及び実行サーバ120は、ネットワーク10を介して情報を送受する。ファイル転送システム100、メールシステム110、メールサーバ112、クライアント端末114及び実行サーバ120は、情報処理装置の一例であってよい。実行サーバ120は、実行環境の一例であってよい。ネットワーク10は、通信回線の一例であってよい。
ファイル転送システム100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータがファイル転送システム100の少なくとも一部として機能してもよい。プログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、ファイル転送システム100の少なくとも一部を構成するコンピュータにインストールされてよい。
コンピュータをファイル転送システム100の少なくとも一部として機能させるプログラムは、ファイル転送システム100の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、プロセッサ、通信インターフェース、記憶装置等に働きかけて、コンピュータをファイル転送システム100の各部として機能させたり、コンピュータにファイル転送システム100における情報処理方法を実行させたりする。
上記のプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、ファイル転送システム100の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じたファイル転送システム100を構築することができる。
ファイル転送システム100の各部は、仮想サーバ又はクラウドシステムによって実現されてもよい。ファイル転送システム100の各部は、同一ネットワーク上に構築されてもよく、異なるネットワーク上に構築されてもよい。ファイル転送システム100の各部は、同一の物理サーバ上に構築されてもよく、異なる物理サーバ上に構築されてもよい。
ファイル転送システム100は、ネットワーク10を介して、他の端末20と情報を送受する。一実施形態において、ファイル転送システム100は、他の端末20から受信した電子データに電子ファイルが含まれる場合、メールシステム110において当該電子ファイルを抽出し、抽出された電子ファイルをメールシステム110から実行サーバ120に転送する。
本実施形態において、電子ファイルは実行サーバ120上で実行される。これにより、電子ファイルがウイルスに感染していた場合であっても、メールシステム110がウイルスに感染することを防止できる。また、例えば、メールシステム110側の端末で受信できる電子データのサイズが制限されており、当該端末において電子ファイルを受信できない場合、当該端末の記憶装置の容量が小さくて電子ファイルを受信できない場合、又は、当該端末に電子ファイルを実行可能なアプリケーションがインストールされておらず、電子ファイルを実行することができない場合であっても、電子データの受信者は、電子ファイルを閲覧することができる。
他の実施形態において、ファイル転送システム100は、他の端末20に送信する電子データに電子ファイルが含まれる場合、メールシステム110において当該電子ファイルを抽出し、抽出された電子ファイルをメールシステム110から実行サーバ120に転送する。また、メールシステム110は、転送された電子ファイルのURIを他の端末20に通知する。これにより、他の端末20のユーザが、実行サーバ120に転送された電子ファイルにアクセスすることができる。
本実施形態において、電子ファイルは実行サーバ120上で実行される。これにより、電子ファイルがウイルスに感染していた場合であっても、他の端末20がウイルスに感染することを防止できる。また、他の端末20に送信する電子データのサイズを小さくすることができる。その結果、例えば、他の端末20で受信できる電子データのサイズが制限されており、他の端末20において電子ファイルを受信できない場合、他の端末20の記憶装置の容量が小さくて電子ファイルを受信できない場合、又は、他の端末20に当該電子ファイルを実行可能なアプリケーションがインストールされておらず、電子ファイルを実行することができない場合であっても、他の端末20のユーザは、電子ファイルを閲覧することができる。
上記のとおり、ファイル転送システム100によれば、電子ファイルが、ウイルス検査ソフトの対応していない新種のウイルスに感染していた場合であっても、安全に電子ファイルを実行することができる。また、ファイル転送システム100によれば、サポート期限の途過したOSを使用しているコンピュータが、電子ファイルを含む電子データを取得した場合であっても、安全に電子ファイルを実行することができる。
なお、電子ファイルとしては、実行ファイル、アプリケーションによって実行されるアプリケーションファイル、スクリプトなどを例示することができる。アプリケーションファイルとしては、テキストファイル、Wordファイル、PDFファイル、JPEGファイルなどを例示することができる。また、電子ファイルを実行するとは、実行形式のファイルを実行することだけでなく、電子ファイルの閲覧、印刷、編集、複製、移動、送信、保存、ファイル形式の変換、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャ、電子ファイルを所定のアプリケーションを用いて開くこと、電子ファイルに対して所定のアプリケーションを用いて処理を行うこと等、電子ファイルに対して行われるいかなる処理も含むことができる。
ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、それらの組み合わせであってもよい。ネットワーク10は、インターネット、専用回線、無線通信網又はそれらの組み合わせであってもよい。
他の端末20は、ファイル転送システム100と情報を送受することができる装置であればよく、パーソナルコンピュータ、携帯端末、無線端末、家電などであってよい。携帯端末としては、携帯電話、スマートホン、PDA、タブレット、ウェアラブルデバイス、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。
他の端末20は、CPU、ROM、RAM、通信インターフェース等を有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、HDDなどの記憶装置とを備えた一般的な構成の情報処理装置において、他の端末20のそれぞれの各部の動作を規定したソフトウエアを起動することにより実現されてよい。他の端末20は、仮想サーバ又はクラウドシステムによって実現されてもよい。
メールサーバ112は、ネットワーク10を介して他の端末20と電子メールを送受する。電子メールは添付ファイルを含んでよい。電子メールは、電子データの一例であってよい。添付ファイルは電子ファイルの一例であってよい。
メールサーバ112は、他の端末20から、クライアント端末114を宛先とする電子メールを受信する。メールサーバ112は、受信した電子メールに添付ファイルが含まれている場合、電子メールから添付ファイルを抽出する。メールサーバ112は、抽出された添付ファイルを実行サーバ120に送信する。また、メールサーバ112は、他の端末20から電子メールを受信したこと示す通知データを作成して、クライアント端末114に送信する。
メールサーバ112は、クライアント端末114から、他の端末20を宛先とする電子メールを受信する。メールサーバ112は、受信した電子メールに添付ファイルが含まれている場合、電子メールから添付ファイルを抽出する。メールサーバ112は、抽出された添付ファイルを実行サーバ120に送信する。また、メールサーバ112は、クライアント端末114から電子メールを受信したこと示す通知データを作成して、他の端末20に送信する。
メールサーバ112は、抽出した添付ファイルを実行サーバ120に送信する前に、添付ファイルを変換してよい。メールサーバ112は、変換後の添付ファイルを実行サーバ120に送信してよい。変換後の添付ファイルは、電子ファイルに関連するファイルの一例であってよい。
メールサーバ112は、変換前の添付ファイルと比較して、クライアント端末114上での実行が困難になるように、添付ファイルを変換してよい。添付ファイルの変換処理としては、添付ファイルの形式、拡張子若しくは名称を変更する処理、添付ファイルを暗号化する処理、添付ファイルの構造を変換する処理などを例示することができる。
通知データは、抽出された添付ファイルへのアクセス情報を含んでよい。添付ファイルへのアクセス情報は、添付ファイル又は変換後の添付ファイルのURIであってよい。添付ファイル又は変換後の添付ファイルのURIは、添付ファイル又は変換後の添付ファイルの実行サーバ120における格納場所を示すURLであってよい。添付ファイルへのアクセス情報は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。
添付ファイルへのアクセス情報は、コンピュータに、当該コンピュータと、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータとの間に通信経路を確立する手順を実行させるための遠隔操作プログラムであってもよい。遠隔操作プログラムは、実行ファイルであってもよく、コンピュータに予めインストールされた遠隔操作用のアプリケーションのアプリケーションファイルであってもよい。遠隔操作プログラムは、スクリプトであってもよい。上記の通信経路は、遠隔操作プログラムを実行するコンピュータから、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータを遠隔操作可能な通信経路であってよい。
遠隔操作プログラムは、コンピュータに、上記の他のコンピュータ上で添付ファイルを実行させるための実行指示を、遠隔操作可能な通信経路を介して当該他のコンピュータに送信する手順を更に実行させるためのプログラムであってよい。遠隔操作プログラムは、コンピュータに、上記の他のコンピュータ上で変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行させるための指示を、遠隔操作可能な通信経路を介して当該他のコンピュータに送信する手順を更に実行させるためのプログラムであってもよい。
一実施形態によれば、メールサーバ112は、添付ファイルのファイル形式を、添付ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換する。クライアント端末114は、例えば、電子ファイルのファイル形式又は拡張子と、当該ファイル形式又は拡張子に関連付けられた電子ファイルをクライアント端末114上で実行するか否かを示す情報とを対応付けて格納している。クライアント端末114は、例えば、OSによる関連付け情報の変更の実施と、ユーザによる関連付け情報の変更を検出し、関連付け情報の再変更を行う。上記の関連付け情報は、例えば、電子ファイルのファイル形式又は拡張子と、当該電子ファイルを利用可能なアプリケーションとを関連付ける情報である。また、クライアント端末114は、OSによる実行ファイルの起動を監視して、実行ファイルの起動を検出してもよい。
これにより、例えば、クライアント端末114が、ファイル形式の変換された添付ファイルの実行指示を受け付けた場合に、クライアント端末114上でファイル形式の変換された添付ファイルを実行することができる。ファイル形式の変換された添付ファイルがクライアント端末114上で実行されると、クライアント端末114に予めインストールされていた遠隔操作用のアプリケーションが起動する。
ファイル形式の変換された添付ファイルのファイル形式又は拡張子が、クライアント端末114上で実行するか否かを示す情報と対応付けられていない場合、クライアント端末114は、当該ファイルをクライアント端末上で実行するか否かをユーザに選択させるための画面を表示装置に表示して、入力装置を介してユーザの選択結果を受け取ってよい。ファイル形式の変換された添付ファイルのファイル形式又は拡張子が、クライアント端末114上で実行するか否かを示す情報と対応付けられていない場合、クライアント端末114は、当該ファイルをクライアント端末上で実行しないことを決定してもよい。
遠隔操作用のアプリケーションが起動すると、クライアント端末114は、例えば、通知データから添付ファイルへのアクセス情報を読み出し、当該アクセス情報によって示されるコンピュータに当該添付ファイルを送信する。また、クライアント端末114は、クライアント端末114と、上記アクセス情報によって示されるコンピュータとの間で遠隔操作可能な通信経路を確立する。
添付ファイルの拡張子が変換された場合も、添付ファイルのファイル形式が変換された場合と同様の手順により、遠隔操作可能な通信経路が確立されてよい。ファイル形式又は拡張子の変換された添付ファイルは、遠隔操作プログラムの一例であってもよい。
クライアント端末114は、ファイル転送システム100が提供するファイル転送サービスのユーザによって利用される。クライアント端末114は、メールサーバ112を介して、他の端末20と電子メールを送受する。クライアント端末114は、メールサーバ112から、他の端末20からの電子メールを受信したこと示す通知データを受信する。クライアント端末114は、通知データに含まれる添付ファイルへのアクセス情報に基づいて、実行サーバ120にアクセスする。
クライアント端末114は、他の端末20、メールサーバ112及び実行サーバ120と情報を送受することができる装置であればよく、パーソナルコンピュータ、携帯端末、無線端末、家電などであってよい。携帯端末としては、携帯電話、スマートホン、PDA、タブレット、ウェアラブルデバイス、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。
クライアント端末114は、実行サーバ120を遠隔操作してよい。例えば、通知データに含まれる遠隔操作プログラムを実行することにより、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。クライアント端末114は、予めインストールされた遠隔操作プログラムを起動することにより、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立してもよい。例えば、クライアント端末114及び実行サーバ120は、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して、ユーザからの入力をクライアント端末114から実行サーバ120に送信したり、実行サーバ120の画面情報を実行サーバ120からクライアント端末114に送信したりする。
クライアント端末114は、実行サーバ120上で添付ファイルを実行させるための実行指示を、遠隔操作可能な通信経路を介して実行サーバ120に送信する。クライアント端末114は、ユーザが電子メールを開封した場合に実行指示を送信してもよく、ユーザが添付ファイルを実行しようとした場合に実行指示を送信してもよい。実行サーバ120に変換後の添付ファイルが格納されている場合、クライアント端末114は、変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行させるための指示を、遠隔操作可能な通信経路を介して実行サーバ120に送信してよい。
クライアント端末114は、クリップボードに格納された情報の少なくとも一部を、実行サーバ120のクリップボードと共有してもよい。クライアント端末114は、クリップボードに格納された情報の少なくとも一部を、実行サーバ120のクリップボードと共有しなくてもよい。
実行サーバ120は、メールサーバ112、クライアント端末114及び他の端末20との間で情報を送受する。実行サーバ120は、クライアント端末114又は他の端末20からの遠隔操作によって電子ファイルを実行する仮想サーバを備える。実行サーバ120は、メールサーバ112から、抽出された添付ファイル又は変換後の添付ファイルを受信する。実行サーバ120は、受信した添付ファイル又は変換後の添付ファイルを格納する。
実行サーバ120は、クライアント端末114又は他の端末20を介して、ユーザからの指示を受け付ける。実行サーバ120は、クライアント端末114又は他の端末20との間で実行サーバ120を遠隔操作することができる通信経路を確立し、当該通信経路を介してユーザからの指示を受け付けてよい。ユーザは、例えば、クライアント端末114のマウス、キーボードなどを利用して、実行サーバ120への指示を入力する。例えば、実行サーバ120は、ユーザからの指示に応じて添付ファイルを実行する。実行サーバ120は、添付ファイルの実行指示又は当該実行指示とは別の指示に応じて、変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行してもよい。
実行サーバ120が遠隔操作されている場合、実行サーバ120からクライアント端末114又は他の端末20には、実行サーバ120における画面情報が送信される。実行サーバ120が遠隔操作されている場合、実行サーバ120からクライアント端末114又は他の端末20への通信は制限される。そのため、添付ファイルを実行することで、実行サーバ120がウイルスに感染した場合であっても、実行サーバ120からクライアント端末114又は他の端末20へのウイルスの拡散を防止することができる。
実行サーバ120は、ユーザからのアクセスを制限してもよい。例えば、実行サーバ120は、ユーザの識別情報と、当該ユーザがアクセスを許可されたディレクトリの識別情報とを対応付けて格納する。これにより、特定のユーザが読み書きすることのできる特定のディレクトリを制限することができる。
本実施形態において、ファイル転送システム100のメールシステム110がメールサーバ112を備え、当該メールサーバ112が、電子ファイルを処理する場合について説明した。しかし、ファイル転送システム100及びメールシステム110は本実施形態に限定されない。他の実施形態において、ファイル転送システム100及びメールシステム110が、メールサーバ112に代わって、又は、メールサーバ112とともにプロキシサーバを備え、メールサーバ112における情報処理の少なくとも一部が、当該プロキシサーバにより実行されてもよい。上記のプロキシサーバは、情報処理装置の一例であってよい。
図2は、メールシステム110の一例を概略的に示す。図2の説明においては、主に、メールシステム110が、他の端末20からクライアント端末114を宛先とする電子メールを受信する場合を例として、メールシステム110の各部について説明する。
本実施形態において、メールサーバ112は、通信制御部222と、電子データ取得部224と、電子ファイル抽出部226と、電子ファイル処理部228とを備える。メールサーバ112の各部は、互いに情報を送受してよい。本実施形態において、クライアント端末114は、通信制御部242と、遠隔操作部244と、入力部246と、出力部248とを備える。クライアント端末114の各部は、互いに情報を送受してよい。
通信制御部222は、メールサーバ112と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末20、クライアント端末114、実行サーバ120などを例示することができる。通信制御部222は、通信インターフェースであってよい。通信制御部222は、複数の通信方式に対応してよい。
通信制御部222は、ファイアウォール機能を有してよい。通信制御部222は、クライアント端末114が、メールサーバ112に格納された情報に直接アクセスすることができないように、ファイアウォールを設定してよい。
電子データ取得部224は、電子データを取得する。例えば、電子データ取得部224は、メールシステム110に送信された電子メールを取得する。電子データ取得部224は、取得した電子メールを電子ファイル抽出部226に送信する。本実施形態において、電子データ取得部224は、他の端末20から電子メールを取得する。しかし、電子データ取得部224は本実施形態に限定されない。電子データ取得部224は、ハードディスク、メモリ、ファイル共有サーバなどの記憶装置に格納された電子データを取得してもよく、他のアプリケーションから電子データを取得してもよい。
電子ファイル抽出部226は、電子データから電子ファイルを抽出する。例えば、電子ファイル抽出部226は、電子データ取得部224から、電子データ取得部224が取得した電子メールを受け取る。電子ファイル抽出部226は、受け取った電子メールに添付ファイルが含まれているか否かを判断する。電子ファイル抽出部226は、受け取った電子メールに添付ファイルが含まれていると判断した場合、当該電子メールから添付ファイルを抽出する。
電子ファイル抽出部226は、抽出された添付ファイルを電子ファイル処理部228に送信する。電子ファイル抽出部226は、添付ファイルと、電子メールの添付ファイル以外の部分とを区別して、電子ファイル処理部228に送信してもよい。これにより、電子ファイル処理部228は、電子メールに含まれるヘッダ情報、メール本文の情報などを利用して通知データを作成することができる。
電子ファイル処理部228は、抽出された電子ファイルに対する各種の処理を実行する。例えば、電子ファイル処理部228は、電子ファイル抽出部226から、添付ファイルと、電子メールの添付ファイル以外の部分とを受け取る。電子ファイル処理部228は、受け取った添付ファイルを実行すべき実行環境を決定する。実行環境は、仮想サーバ上に構築されてよい。これにより、実行環境がウイルスに感染された場合であっても、実行環境を容易に再構築することができる。
電子ファイル処理部228は、クライアント端末114のユーザを識別するユーザ識別情報に基づいて、上記の実行環境を決定してよい。例えば、電子ファイル処理部228は、まず、ユーザ識別情報に基づいて、添付ファイルを実行サーバ120において添付ファイルを実行することを決定する。次に、電子ファイル処理部228は、実行サーバ120における添付ファイルの格納場所を決定する。
電子ファイル処理部228は、実行サーバ120における添付ファイルの格納場所に関する情報を実行サーバ120から取得して、添付ファイルの格納場所を決定してもよい。例えば、電子ファイル処理部228は、ユーザ識別情報、添付ファイルの形式、サイズなどの情報を実行サーバ120に送信して、添付ファイルを実行サーバ120に送信した場合に当該添付ファイルが格納されることになる場所に関する情報を通知するように要求する。実行サーバ120は、電子ファイル処理部228からの要求に応じて、ユーザ識別情報、添付ファイルの形式、サイズなどの情報に基づいて、添付ファイルの格納場所を決定する。
電子ファイル処理部228は、受け取った添付ファイルの変換処理を実行してよい。添付ファイルの変換処理としては、添付ファイルの形式、拡張子若しくは名称を変更する処理、添付ファイルを暗号化する処理などを例示することができる。添付ファイルの暗号化は、暗号化処理を実行するアプリケーションプログラムにより実行されてよい。
電子ファイル処理部228は、実行サーバ120における添付ファイルの格納場所に関する情報に基づいて、添付ファイルへのアクセス情報を含む通知データを作成する。電子ファイル処理部228は、電子メールに含まれるヘッダ情報、メール本文の情報などを利用して通知データを作成してよい。
電子ファイル処理部228は、添付ファイル又は変換後の添付ファイルを転送する。電子ファイル処理部228は、添付ファイル又は変換後の添付ファイルを実行サーバ120に転送してよい。電子ファイル処理部228は、添付ファイル又は変換後の添付ファイルを、通知データとともに又は通知データに含めて、クライアント端末114に転送してもよい。
電子ファイル処理部228は、抽出された電子ファイルに対する各種の処理を実行する場合に、実行サーバ120上の当該電子ファイルの実行環境に関する情報を取得する。電子ファイル処理部228は、上記の実行環境に関する情報を、実行サーバ120から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該パスワードに対応付けられたパスワードなどを例示することができる。
通信制御部242は、クライアント端末114と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末20、メールサーバ112、実行サーバ120などを例示することができる。通信制御部242は、通信インターフェースであってよい。通信制御部242は、複数の通信方式に対応してよい。
通信制御部242は、実行サーバ120との間で認証処理を実行してよい。通信制御部242は、クライアント端末114の認証情報を実行サーバ120に送信してよい。クライアント端末114の認証情報としては、LDAP認証又はNTLM認証などの認証方式に利用される情報であってよい。
一実施形態において、通信制御部242は、実行サーバ120との間で認証処理を実行する間に、出力部248の表示装置に認証画面を表示させて、ユーザから認証情報を取得する。通信制御部242は、ユーザから取得した認証情報を利用して、認証処理を実行する。認証情報としては、IPアドレスなどの実行サーバ120の識別情報、ユーザID及び当該ユーザIDの暗証情報などを例示することができる。
他の実施形態において、通信制御部242は、予め、実行サーバ120から認証情報を受信して、クライアント端末114の記憶装置に格納する。通信制御部242は、記憶装置に格納された認証情報を利用して、認証処理を実行する。これにより、実行サーバ120との間で認証処理を実行する間、認証画面を表示させてユーザから認証情報を取得することなく、認証処理を完了することができる。
通信制御部242は、実行サーバ120との接続時間を制御してよい。通信制御部242は、実行サーバ120との通信を開始して予め定められた時間が経過した場合、実行サーバ120との通信を制限してよい。通信の制限方法としては、通信の遮断、通信速度の制限などを例示することができる。
遠隔操作部244は、クライアント端末114と実行サーバ120との間に遠隔操作可能な通信経路を確立する。遠隔操作部244は、遠隔操作可能な通信経路を介して、クライアント端末114のユーザからの指示を実行サーバ120に送信する。
遠隔操作部244は、入力部246に入力されたユーザからの指示に基づいて、実行サーバ120を遠隔操作する。例えば、遠隔操作部244は、実行サーバ120上で添付ファイルを実行させるための実行指示を実行サーバ120に送信する。遠隔操作部244は、実行サーバ120から、実行サーバ120の画面情報を取得する。遠隔操作部244は、画面情報を出力部248に送信する。これにより、クライアント端末114のユーザは、実行サーバ120に格納されている添付ファイルを安全に閲覧することができる。
ユーザが添付ファイルをクライアント端末114にダウンロードすることを希望する場合、ユーザは、実行サーバ120に格納されている添付ファイルをクライアント端末114に転送させるための転送指示を、入力部246に入力する。遠隔操作部244は、入力部246からユーザの転送指示を受け取り、実行サーバ120に送信する。これにより、ユーザは、添付ファイルを安全に取得することができる。
遠隔操作部244は、クライアント端末114に予めインストールされているプログラムを実行することにより実現されてよい。遠隔操作部244は、電子ファイル処理部228から受け取った通知データに含まれる遠隔操作プログラムを、クライアント端末114上で実行することにより実現されてよい。
遠隔操作部244は、クライアント端末114と実行サーバ120との間に遠隔操作可能な通信経路を確立する場合、又は、遠隔操作可能な通信経路を介してクライアント端末114のユーザからの指示を実行サーバ120に送信する場合に、実行サーバ120上の実行環境に関する情報を取得してよい。遠隔操作部244は、上記の実行環境に関する情報を、実行サーバ120から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該パスワードに対応付けられたパスワードなどを例示することができる。
入力部246は、ユーザからの入力を受け付ける。入力部246は、キーボード、マウス、タッチパネル、マイクなどを例示することができる。出力部248は、ユーザに情報を出力する。出力部248としては、表示装置、スピーカなどを例示することができる。
図3は、電子ファイル処理部228の一例を概略的に示す。図3の説明においては、主に、電子ファイル処理部228が、電子メールから抽出された添付ファイル340を実行サーバ120に転送する場合を例として、電子ファイル処理部228の各部について説明する。本実施形態において、電子ファイル処理部228は、実行環境決定部312と、電子ファイル送信部314と、通知データ生成部316と、通知データ送信部318とを備える。通知データ生成部316は、ファイル変換部の一例であってよい。
実行環境決定部312は、電子ファイル抽出部226により抽出された添付ファイル340を実行すべき実行環境を決定する。一実施形態において、実行環境決定部312は、1以上のユーザのそれぞれを識別するユーザ識別情報と、当該ユーザに割り当てられた仮想サーバを識別するサーバ識別情報とを対応付けて格納しており、クライアント端末114のユーザのユーザ識別情報に基づいて、添付ファイル340を実行すべき仮想サーバを決定する。
他の実施形態において、実行環境決定部312は、クライアント端末114の識別情報、接続先のURIのプロトコル(例えば、HTTP、FTP等である。)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、添付ファイル340を実行すべき仮想サーバを決定する。他の実施形態において、実行環境決定部312は、1以上の仮想サーバの中から、添付ファイル340を実行すべき仮想サーバをランダムに決定する。
更に他の実施形態において、実行サーバ120が、添付ファイル340を実行すべき仮想サーバを決定する。一実施形態において、実行環境決定部312は、実行サーバ120に対して、添付ファイル340を実行すべき実行環境を決定するよう要求する。実行サーバ120は、例えば、クライアント端末114の識別情報、クライアント端末114のユーザの識別情報、接続先のURIのプロトコル(例えば、HTTP、FTP等である。)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、添付ファイル340を実行すべき実行環境を決定する。実行サーバ120は、決定された実行環境を実行環境決定部312に通知する。これにより、実行環境決定部312は、添付ファイル340を実行すべき実行環境を決定することができる。
実行環境決定部312は、実行環境における添付ファイル340の格納場所を決定してもよい。添付ファイル340を実行すべき実行環境は、添付ファイル340の格納場所に基づいて決定されてよい。実行環境決定部312は、実行環境を識別する情報及び添付ファイルの格納場所を示す情報の少なくとも一方を、電子ファイル送信部314及び通知データ生成部316に送信してよい。
実行環境決定部312は、添付ファイルが実行された場合、遠隔操作プロトコルが実行された場合などに、実行環境に関する情報を取得してよい。遠隔操作部244は、上記の実行環境に関する情報を、実行サーバ120から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該パスワードに対応付けられたパスワードなどを例示することができる。
本実施形態において、実行環境決定部312が電子ファイル処理部228に配される場合について説明した。しかし、実行環境決定部312は本実施形態に限定されない。実行環境決定部312は、実行サーバ120に配されてもよい。
電子ファイル送信部314は、実行環境決定部312の決定に基づいて、例えば実行サーバ120に添付ファイル340を送信する。電子ファイル送信部314は、変換後の添付ファイル340を実行サーバ120に送信してもよい。
通知データ生成部316は、他の端末20からの電子メールを受信した旨を示す通知データ330を生成する。本実施形態において、通知データ生成部316は、クライアント端末114に対する通知データ330を生成する。クライアント端末114に対する通知データ330は、ヘッダ情報332と、メール本文334とを備える。メール本文334は、添付ファイル340のURI336を含む。URI336は、実行サーバ120における添付ファイル340又は変換後の添付ファイル340の格納場所を示すURLであってもよい。通知データ330は、データ構造の一例であってよい。URI336は、添付ファイル340へのアクセス情報の一例であってよい。URI336は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。
通知データ生成部316は、電子データ取得部224により取得された電子メールに含まれるヘッダ情報を利用して、ヘッダ情報332を生成してよい。通知データ生成部316は、電子データ取得部224により取得された電子メールに含まれるメール本文の情報と、実行環境決定部312により決定された実行サーバ120における添付ファイル340の格納場所の情報とに基づいて、メール本文334を生成してよい。
通知データ生成部316は、実行サーバ120に対する通知データを生成してもよい。実行サーバ120に対する通知データは、実行サーバ120上での添付ファイル340に対する操作を制限するための制限情報を含んでよい。
制限情報は、電子ファイルの正当なユーザを識別するユーザ識別情報と、当該ユーザに対して許可又は禁止される操作とが対応付けられた情報であってよい。制限情報は、電子ファイルを識別する電子ファイル識別情報と、当該電子ファイルに対して許可又は禁止する操作とが対応付けられた情報であってよい。電子ファイルが暗号化されている場合、制限情報は、更に、当該電子ファイルの復号に用いられるパスコードが、ユーザ識別情報又は電子ファイル識別情報に対応付けられた情報であってよい。
電子ファイルの正当なユーザを識別するユーザ識別情報としては、当該電子ファイルが添付されていた電子メールの宛先を示すメールアドレス、当該電子ファイルの作成者を示す情報などを例示することができる。電子ファイル識別情報としては、電子ファイルの名称などを例示することができる。許可又は禁止される操作としては、電子ファイルの閲覧、印刷、編集、複製、移動、送信、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャなどを例示することができる。
通知データ生成部316は、制限情報を作成する場合、制限情報に含まれるユーザ識別情報及び電子ファイル識別情報の少なくとも一方を含む通知データ330を生成してよい。これにより、例えば、通知データ330を受信したクライアント端末114が、添付ファイル340のURI336に基づいて実行サーバ120にアクセスする場合に、ユーザ識別情報及び電子ファイル識別情報の少なくとも一方を実行サーバ120に送信することができる。クライアント端末114は、ユーザ識別情報及び電子ファイル識別情報の少なくとも一方を含むユーザ指示を、実行サーバ120に送信してよい。
他の実施形態によれば、通知データ生成部316は、制限情報を特定のプロキシサーバ、クラウドシステム、データベースシステム(図示していない。)に格納してよい。通知データ生成部316は、制限情報を格納する他のシステムから当該制限情報を受信して、制限処理を実行してもよい。通知データ生成部316は、当該特定のプロキシサーバのURIと、当該プロキシサーバにおけるユーザ認証に利用される情報とを含む通知データ330を作成してよい。
通知データ送信部318は、通知データ330をクライアント端末114に送信する。通知データ送信部318は、制限情報を実行サーバ120に送信してもよい。通知データ送信部318は、通知データ330をクライアント端末114に送信した後、メールサーバ112から添付ファイル340又は変換後の添付ファイル340を削除してよい。
本実施形態においては、通知データ送信部318が、ネットワーク10を介して通知データ330を送信する場合について説明した。しかし、通知データ送信部318による通知データ330の送信処理は本実施形態に限定されない。通知データ330の送信先は、通知データ送信部318が配されているコンピュータ上の記憶装置、当該コンピュータ上で動作している他のアプリケーション、外部記憶装置であってもよい。外部記憶装置としては、ハードディスク、メモリ、CD−ROMなどを例示することができる。
本実施形態においては、添付ファイル340が実行サーバ120に転送される場合について説明した。しかし、転送される電子ファイルは添付ファイル340に限定されない。転送される電子ファイルは変換後の添付ファイル340であってよい。例えば、通知データ生成部316は、添付ファイル340の変換処理を実行する。添付ファイル340の変換処理としては、添付ファイル340の形式、拡張子若しくは名称を変更する処理、添付ファイル340を暗号化する処理などを例示することができる。電子ファイル送信部314は、変換後の添付ファイル340を実行サーバ120に送信する。これにより、変換後の添付ファイル340が実行サーバ120に転送される。
図4は、実行サーバ120の一例を概略的に示す。実行サーバ120は、仮想サーバ管理部410と、1以上の仮想サーバとを備える。本実施形態において、実行サーバ120は、1以上の仮想サーバとして、仮想サーバ412、仮想サーバ414及び仮想サーバ416を備える。
仮想サーバ412は、通信制御部422と、認証部424と、電子ファイル格納部426と、指示受付部428と、電子ファイル実行部430と、画面情報送信部432と、異常検出部434とを有する。仮想サーバ414及び仮想サーバ416は、仮想サーバ412と同様の構成を有してよい。仮想サーバ412、仮想サーバ414及び仮想サーバ416は、実行環境及び情報処理装置の少なくとも一方の一例であってよい。
仮想サーバ管理部410は、遠隔操作部244との間で、http、https、ssh、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して情報を送受してよい。仮想サーバ412、仮想サーバ414及び仮想サーバ416の少なくとも1つは、遠隔操作部244との間で、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して情報を送受してよい。
仮想サーバ管理部410は、実行サーバ120に含まれる1以上の仮想サーバを管理する。仮想サーバ管理部410は、予め定められたイベントが発生した場合に、1以上の仮想サーバの少なくとも1つを再構築する。これにより、仮想サーバのうちの1つがウイルスに感染された場合であっても、ウイルスに汚染されていない仮想サーバを容易に立ち上げることができる。
予め定められたイベントとしては、ユーザからの指示、予め定められた期間の経過、又は、異常検出部434が異常を検出したこと、特定のディレクトリにファイルが作成されたこと、特定のレジストリに値が書き込まれたこと、レジストリに特定の値が書き込まれたこと、クライアント端末114による当該仮想サーバの利用が終了したことなどを例示することができる。仮想サーバの再構築は、仮想サーバを、当該仮想サーバが実行サーバ120上に構築された後の特定の状態に戻すことであってもよく、仮想サーバ又は実行サーバ120のOSを特定の状態に復元することであってもよい。
仮想サーバの再構築は、クライアント端末114のユーザに特有の情報を、クライアント端末114による当該仮想サーバの利用が開始される前の状態に戻すことであってもよい。このとき、ユーザに特有の情報以外の設定などは変更しなくてもよい。ユーザに特有の情報としては、ユーザーディレクトリに格納された電子ファイル、ブラウザの利用履歴、レジストリの情報などを例示することができる。ユーザに特有の情報は、クライアント端末114による当該仮想サーバの利用が終了したときに、クライアント端末114による当該仮想サーバの利用が開始される前の状態に戻されてもよい。
仮想サーバが実行サーバ120上に構築された後の特定の状態としては、仮想サーバが実行サーバ120上に構築された後、当該仮想サーバに特定のアプリケーションがインストールされる前の状態、当該仮想サーバに特定のアプリケーションがインストールされた直後の状態、再構築処理を実施する直前の状態などを例示することができる。OSを特定の状態に復元する処理としては、OSを初期化する処理を例示することができる。
仮想サーバ管理部410は、仮想サーバの再構築を行う前に、当該仮想サーバにおけるユーザに関する設定を設定ファイルに格納しておいてよい。仮想サーバ管理部410は、ユーザごと又は仮想サーバごとに複数の設定ファイルを格納してよい。複数の設定ファイルのそれぞれは、異なる時刻における上記ユーザに関する設定を格納してよい。仮想サーバ管理部410は、仮想サーバを再構築した後、上記の設定ファイルを読み出す。これにより、実行サーバ120又は仮想サーバを特定の状態に戻すことができる。
仮想サーバ管理部410は、上記の予め定められたイベントが発生した場合に、仮想サーバのOS(ゲストOSと称される場合がある。)のメンテナンス処理を実行してもよい。ゲストOSのメンテナンス処理としては、ゲストOSが利用するユーザ情報を、特定の状態に戻す処理を例示することができる。仮想サーバ管理部410は、ゲストOSごとに、ゲストOSのメンテナンス処理を実行してよい。特定の状態としては、予め定められた状態、又は、ユーザにより指定された状態を例示することができる。
仮想サーバ管理部410は、特定の仮想サーバを再構築する場合、又は、当該仮想サーバのゲストOSをメンテナンスする場合において、クライアント端末114又はファイル転送システム100のユーザが、当該仮想サーバを参照することができないように、当該仮想サーバの参照情報を更新してよい。仮想サーバ管理部410は、特定の仮想サーバの再構築する処理、又は、当該仮想サーバのゲストOSをメンテナンスする処理が終了した場合に、クライアント端末114又はファイル転送システム100のユーザが、当該仮想サーバを参照することができるように、当該仮想サーバの参照情報を更新してよい。
仮想サーバ管理部410は、メールシステム110からの要求に応じて、添付ファイル340を実行すべき実行環境を決定してよい。仮想サーバ管理部410は、メールシステム110からの要求に応じて、添付ファイル340の格納場所を決定してよい。仮想サーバ管理部410は、決定された実行環境及び格納場所の少なくとも一方をメールシステム110に送信してよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、電子データ又は電子ファイルの実行環境又は格納場所を決定してよい。仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、クライアント端末114を接続する仮想サーバを決定してよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の少なくともに負荷を集中させてもよく、仮想サーバ412〜仮想サーバ416の負荷が略均等になるように負荷を割り当ててもよい。これにより、仮想サーバ412〜仮想サーバ416を効率的に運用することができる。仮想サーバ管理部410は、1以上のサーバの負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、新たな仮想サーバの構築、既存の仮想サーバの再構築又は削除などの処理を実行してよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の環境を一括管理してよい。例えば、仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のOSの設定を一括して編集する。仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416に、一括してアプリケーションをインストールしたり、電子データ又は電子ファイルを配信したりしてもよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のOSを管理する管理画面を生成してよい。上記の管理画面は、GUIであってもよく、CUIであってもよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のそれぞれの利用履歴を格納してよい。仮想サーバ管理部410は、クライアント端末114ごとに、又は、クライアント端末114のユーザごとに、仮想サーバ412〜仮想サーバ416のそれぞれの利用履歴を格納してよい。利用履歴は、仮想サーバにおいて、実行されたファイルに関する情報を含んでよい。仮想サーバが外部のサーバなどにアクセスすることができる場合、利用履歴は、仮想サーバがアクセスした外部のサーバなどのIPアドレスを含んでよい。
仮想サーバ管理部410は、クライアント端末114による仮想サーバ412仮想サーバ416の少なくとも1つ(仮想サーバ412などと称する場合がある。)の利用を制限してよい。例えば、クライアント端末114が仮想サーバ412などの利用を開始して予め定められた時間が経過した場合、仮想サーバ管理部410は、仮想サーバ412などの利用を制限してよい。仮想サーバ管理部410は、仮想サーバ412など利用時間を延長するための処理を実行してもよく、即座に仮想サーバ412などの利用を停止する処理を実行してもよい。
仮想サーバ管理部410は、クライアント端末114若しくは仮想サーバ412などにインストールされたWebブラウザのクッキーに格納された情報、Webブラウザで保存されたユーザID、Webサイトへのログインパスワードなどのサイト毎の暗証情報、各種Webサイトの設定情報、当該Webブラウザの設定情報、プラグインなどを、仮想サーバ412などから取得してよい。なお、Webブラウザには各種のプラグインがインストールされていてもよい。他の情報処理装置にインストールされたWebブラウザについても同様である。
仮想サーバ管理部410は、クライアント端末114・仮想サーバ412などから取得した情報を、実行サーバ120の記憶装置、クライアント端末114の記憶装置、メールサーバ112の記憶装置などの任意の記憶装置に格納してよい。仮想サーバ管理部410は、仮想サーバ412などから取得した情報のうち、予め定められた情報を、上記の任意の記憶装置に格納してよい。
仮想サーバ管理部410は、クライアント端末114にインストールされたWebブラウザのプロキシ情報を、仮想サーバ412などに送信してよい。仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のそれぞれに応じたプロキシ情報を送信してよい。
通信制御部422は、仮想サーバ412と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末20、メールサーバ112、クライアント端末114、仮想サーバ管理部410、仮想サーバ414、仮想サーバ416などを例示することができる。通信制御部422は、通信インターフェースであってよい。通信制御部422は、複数の通信方式に対応してよい。
通信制御部422は、クライアント端末114又は他の端末20からの要求に応じて、クライアント端末114又は他の端末20と、仮想サーバ412との間に遠隔操作可能な通信経路を確立してよい。通信制御部422は、仮想サーバ412が仮想サーバ412への要求に応じて応答する場合を除き、仮想サーバ412から外部への情報の送信を禁止してよい。
通信制御部422は、クライアント端末114との接続時間を制御してよい。通信制御部422は、クライアント端末114との通信を開始して予め定められた時間が経過した場合、クライアント端末114との通信を制限してよい。通信の制限方法としては、通信の遮断、通信速度の制限などを例示することができる。
仮想サーバ412は、クライアント端末114から転送された添付ファイル340を実行するので、ウイルスに感染する可能性がある。しかし、通信制御部422が外部との通信を制限することにより、仮想サーバ412がウイルスに感染した場合であっても、仮想サーバ412が外部のコンピュータにウイルスを送信したり、外部のコンピュータにDoS(Denial of Service attack)攻撃を仕掛けたりすることを防止することができる。
認証部424は、外部のコンピュータ又はユーザを認証する。認証部424は、認証されたコンピュータ又はユーザからの遠隔操作を許可してもよい。
電子ファイル格納部426は、クライアント端末114又は他の端末20から、添付ファイル340又は変換後の添付ファイル340を受信する。電子ファイル格納部426は、受信した添付ファイル340又は変換後の添付ファイル340を格納する。
指示受付部428は、クライアント端末114及びネットワーク10を介してユーザからの指示(ユーザ指示と称する場合がある。)を受け付ける。指示受付部428は、他の端末20及びネットワーク10を介してユーザからの指示を受け付けてよい。
電子ファイル実行部430は、ユーザ指示に基づいて、添付ファイル340又は変換後の添付ファイル340を実行する。例えば、電子ファイル実行部430は、指示受付部428が添付ファイル340を実行させるための実行指示を受信した場合に、電子ファイル格納部426に格納されている添付ファイル340を読み出し、添付ファイル340を実行する。電子ファイル実行部430は、電子ファイル格納部426に変換後の添付ファイル340が格納されている場合には、変換後の添付ファイル340を変換前の添付ファイル340に戻す処理を実行した後、添付ファイル340を実行してよい。
実行サーバ120がメールサーバ112から制限情報を受信していた場合、電子ファイル実行部430は、当該制限情報に基づいて、ユーザ指示に応答するか否かを決定してよい。例えば、電子ファイル実行部430は、制限情報を参照して、ユーザ指示により示される操作が、当該ユーザ又は当該電子ファイルに対して許可されているか否か又は禁止されているか否かを判断する。これにより、電子ファイルに対する操作を制限することができる。
一実施形態によれば、電子ファイル実行部430は、ユーザ指示に含まれるユーザ識別情報及び制限情報を参照して、当該ユーザ識別情報により識別されるユーザに対して許可又は禁止されている操作を抽出する。電子ファイル実行部430は、ユーザ指示により示される操作と、抽出された操作とを比較して、ユーザ指示により示される操作を実行するか否かを決定する。
他の実施形態によれば、電子ファイル実行部430は、ユーザ指示により示される電子ファイルの名称及び制限情報を参照して、当該電子ファイルに対して許可又は禁止されている操作を抽出する。電子ファイル実行部430は、ユーザ指示により示される操作と、抽出された操作とを比較して、ユーザ指示により示される操作を実行するか否かを決定する。
画面情報送信部432は、ユーザに表示されるべき画面情報を送信する。指示受付部428がクライアント端末114からユーザ指示を受信した場合、画面情報送信部432は、クライアント端末114に対して、ネットワーク10を介して、クライアント端末114の表示装置に表示されるべき画面情報を送信する。指示受付部428が他の端末20からユーザ指示を受信した場合、画面情報送信部432は、他の端末20に対して、ネットワーク10を介して、他の端末20の表示装置に表示されるべき画面情報を送信する。
異常検出部434は、仮想サーバ412の異常を検出する。異常検出部434は、異常検出部434は、仮想サーバ412がユーザからの指示に応じた動作以外の動作を実行した場合に、仮想サーバ412の異常を検出する。異常検出部434は、仮想サーバ412の異常を検出した場合、異常を検出した旨を仮想サーバ管理部410に通知してもよい。
異常検出部434は、添付ファイル340のウイルス検査を実施してもよい。異常検出部434は、ウイルスを検出した場合、ウイルスを検出したことを示す画面情報を生成してよい。異常検出部434は、ウイルスを検出した場合、ウイルスを検出した旨を仮想サーバ管理部410に通知してもよい。
図5は、ファイル転送システム100における処理の一例を概略的に示す。図5は、メールサーバ112が、他の端末20からクライアント端末114を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
本実施形態によれば、ステップ502(ステップをSと省略する場合がある。)において、電子データ取得部224が、他の端末20から、クライアント端末114を宛先とする電子メールを取得する。S504において、電子ファイル抽出部226が、電子メールに含まれる添付ファイル340を抽出する。S506において、通知データ生成部316が、通知データ330を作成する。S508において、電子ファイル送信部314が、添付ファイル340を仮想サーバ412に送信する。S510において、電子ファイル格納部426が添付ファイル340を格納する。S512において、通知データ送信部318が通知データ330をクライアント端末114に送信する。
クライアント端末114のユーザは、クライアント端末114上で通知データ330を確認する。S520において、ユーザが添付ファイル340の閲覧又はダウンロードを希望する場合、ユーザは、クライアント端末114上で遠隔操作プログラムを実行する。S530において、遠隔操作部244が、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。
一実施形態によれば、ユーザは、クライアント端末114にインストールされている遠隔操作プログラムを起動させる。次に、ユーザは、遠隔操作プログラムに添付ファイル340のURIを入力する。これにより、遠隔操作部244が、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。他の実施形態によれば、通知データ330において添付ファイル340のURIへのリンクが張られており、ユーザが当該リンクをクリックした場合に、クライアント端末114にインストールされている遠隔操作プログラムが起動する。これにより、遠隔操作部244が、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。
S540において、ユーザが添付ファイルの実行を希望する場合、ユーザは、仮想サーバ412上で添付ファイル340を実行させるための実行指示を入力部246に入力する。入力部246がユーザからの実行指示を受け付けると、遠隔操作部244が、実行指示を仮想サーバ412に送信する。S542において、指示受付部428がクライアント端末114からの実行指示を受け付けると、電子ファイル実行部430が、添付ファイル340を実行する。S544において、画面情報送信部432が画面情報をクライアント端末114に送信する。S546において、出力部248が画面情報を表示する。
以上の処理により、ユーザは、添付ファイル340の実行結果を安全に閲覧することができる。ユーザが添付ファイル340ダウンロードを希望する場合、ユーザは、添付ファイル340をクライアント端末114に転送させるための転送指示を、入力部246に入力する。遠隔操作部244は、入力部246からユーザの転送指示を受け取り、仮想サーバ412に送信する。これにより、ユーザは、添付ファイル340を取得できる。
図6は、ファイル転送システム100における処理の一例を概略的に示す。図6は、メールサーバ112が、クライアント端末114から他の端末20を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。図6における処理は、S502において、電子データ取得部224が、クライアント端末114から他の端末20を宛先とする電子メールを受信する点と、S520以降の処理が、他の端末20と仮想サーバ412との間で実行される点とにおいて、図5における処理と相違する。図6における処理は、上記相違点以外の構成については、図5における処理と同様の構成を有してよい。
図7は、電子ファイル処理部728の一例を概略的に示す。電子ファイル処理部728は、電子ファイル送信部314を有しない点と、通知データ生成部316が、添付ファイル340及び遠隔操作プログラム736を含む通知データ730を生成する点とにおいて、電子ファイル処理部228と相違する。電子ファイル処理部728は、上記相違点以外の構成については、電子ファイル処理部228と同様の構成を有してよい。
本実施形態において、通知データ生成部316は、実行環境決定部312により決定された実行環境を遠隔操作するための遠隔操作プログラム736を生成する。通知データ生成部316は、遠隔操作プログラム生成部の一例であってよい。一実施形態において、遠隔操作プログラム736は、添付ファイル340又は変換後の添付ファイル340の送信先を識別する送信先識別データと、添付ファイル340を実行すべき実行環境を識別する実行環境識別データとを含んでよい。遠隔操作プログラム736は、添付ファイル340へのアクセス情報の一例であってよい。遠隔操作プログラム736は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。他の実施形態において、メール本文334に送信先識別データ及び実行環境識別データが含まれており、遠隔操作プログラム736は、実行時に、メール本文334に含まれる送信先識別データ及び実行環境識別データを取得してもよい。
遠隔操作プログラム736は、コンピュータに、当該コンピュータと、仮想サーバ412との間に通信経路を確立する手順を実行させるためのプログラムであってよい。上記の通信経路は、遠隔操作プログラムを実行するコンピュータから、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータを遠隔操作可能な通信経路であってよい。遠隔操作プログラム736は、コンピュータに、クライアント端末114上で添付ファイル340を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する手順を更に実行させるためのプログラムであってよい。
遠隔操作プログラム736は、コンピュータに、当該コンピュータが仮想サーバ412に対して、ネットワーク10を介して添付ファイル340又は変換後の添付ファイル340を送信する手順を更に実行させるためのプログラムであってよい。これにより、遠隔操作プログラム736がクライアント端末114上で実行された場合、クライアント端末114は、通知データ730に含まれる添付ファイル340を仮想サーバ412に転送することができる。
通知データ生成部316は、通知データ730を生成する。本実施形態において、通知データ730は、ヘッダ情報332と、メール本文334と、添付ファイル340と、遠隔操作プログラム736とを含む。なお、メール本文334及び添付ファイル340は、遠隔操作プログラム736とは別個の電子ファイルであってもよく、遠隔操作プログラム736が、メール本文334及び添付ファイル340の少なくとも一方を含む電子ファイルであってもよい。
通知データ730は、データ構造の一例であってよい。通知データ730は、クライアント端末114又は他の端末20が記憶するデータ構造の一例であってよい。例えば、通知データ730は、添付ファイル340のデータと、添付ファイル340の送信先を識別する送信先識別データと、添付ファイル340を実行すべき仮想サーバ412を識別する実行環境識別データと、クライアント端末114又は他の端末20に、送信先識別データにより識別される送信先に添付ファイル340又は変換後の添付ファイル340のデータを送信する手順と、クライアント端末114又は他の端末20及び実行環境識別データにより識別される仮想サーバ412の間に遠隔操作可能な通信経路を確立する手順とを実行させるためのプログラムとを備えるデータ構造であってよい。クライアント端末114又は他の端末20は、第1のコンピュータの一例であってよい。仮想サーバ412は、第2のコンピュータの一例であってよい。
本実施形態においては、添付ファイル340が、クライアント端末114を介して実行サーバ120に転送される場合について説明した。しかし、転送される電子ファイルは添付ファイル340に限定されない。変換後の添付ファイル340が、クライアント端末114を介して実行サーバ120に転送されてもよい。
図8は、電子ファイル処理部728を備えたファイル転送システム100における処理の一例を概略的に示す。図8は、メールサーバ112が、他の端末20からクライアント端末114を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。図8における処理は、S508及びS510の代わりに、S808及びS810を実施する点において、図5における処理と相違する。図8における処理は、上記相違点以外の構成については、図5における処理と同様の構成を有してよい。
S808において、遠隔操作部244は、通知データ730に含まれる添付ファイル340を抽出する。また、遠隔操作部244は、添付ファイル340を実行サーバ120に送信する。S810において、電子ファイル格納部426が添付ファイル340を格納する。
本実施形態においては、S808及びS810がS530の後に実行される場合について説明した。しかし、S808及びS810が実行されるタイミングは、本実施形態に限定されない。他の実施形態において、S808及びS810は、S520の後、S530の前に実行されてもよい。
図9は、メールシステム910の一例を概略的に示す。メールシステム910は、メールサーバ912と、クライアント端末914とを備える。クライアント端末914は、電子メールを作成するメール作成部902を有してよい。メールシステム910は、電子データ取得部224、電子ファイル抽出部226及び電子ファイル処理部228が、メールサーバ912ではなくクライアント端末914に配される点において、メールシステム110と相違する。メールシステム910は、上記相違点以外の構成については、メールシステム110と同様の構成を有してよい。
本実施形態において、クライアント端末914が電子ファイル処理部228を備える場合について説明した。しかし、クライアント端末914は本実施形態に限定されない。クライアント端末914は、電子ファイル処理部228に代えて電子ファイル処理部728を備えてもよい。また、電子ファイル処理部228は通知データ送信部318を有しなくてもよく、通知データ送信部318が通知データ330又は通知データ730をメール作成部902に送信してもよい。
一実施形態において、電子ファイル処理部228は、クライアント端末914上における電子ファイルの実行を検出してよい。電子ファイル処理部228は、クライアント端末914に格納された電子ファイルが、クライアント端末914上で実行されることを検出してもよく、クライアント端末914に接続された外部記憶装置に格納された電子ファイルが、クライアント端末914上で実行されることを検出してもよい。外部記憶装置としては、USBメモリ、SBメモリなどの半導体記憶装置、CD、DVD、BDなどの記憶媒体、ネットワークを介してクライアント端末914に接続された情報処理装置などを例示することができる。
電子ファイル処理部228は、クライアント端末914における、予め定められた電子ファイルの実行を検出してよい。電子ファイル処理部228は、電子ファイルのファイル形式、拡張子などに基づいて、予め定められた電子ファイルの実行を検出してもよく、予め定められた電子ファイルのリストに基づいて、予め定められた電子ファイルの実行を検出してもよい。
電子ファイル処理部228は、電子ファイルの実行が検出された場合、OSの実行処理部に当該電子ファイルの実行を中止させる。また、電子ファイル処理部228は、実行が検出された電子ファイルを実行サーバ120に送信する。次に、電子ファイル処理部228は、遠隔操作部244を起動させて、実行サーバ120との間に遠隔操作可能な通信経路を確立させ、実行サーバ120上で電子ファイルを実行する。
図10は、メールシステム910を備えたファイル転送システム100における処理の一例を概略的に示す。図10は、メールサーバ112が、他の端末20からクライアント端末114を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
図10における処理は、S502において、他の端末20からの電子メールがメールサーバ112からクライアント端末114に送信される点と、S504、S506及びS508における処理がクライアント端末114において実行される点と、S512における処理が省略されている点とにおいて、図5における処理と相違する。図10における処理は、上記相違点以外の構成については、図5における処理と同様の構成を有してよい。
図11は、メールシステム910を備えたファイル転送システム100における処理の一例を概略的に示す。図11は、メールサーバ112が、クライアント端末114から他の端末20を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
図11における処理は、S502、S504、S506、S508及びS512における処理がクライアント端末114において実行される点と、S502において、クライアント端末114の電子データ取得部224が、メール作成部902から電子メールを取得する点とにおいて、図6における処理と相違する。図11における処理は、上記相違点以外の構成については、図6における処理と同様の構成を有してよい。
図12は、ファイル転送システム1200の一例を概略的に示す。ファイル転送システム1200は、実行サーバ120と、ファイル共有サーバ1212とを備える。ファイル共有サーバ1212は、通信制御部222と、電子データ取得部224と、電子ファイル抽出部226と、電子ファイル処理部228とを有する。
ファイル転送システム1200は、メールシステム110の代わりにファイル共有サーバ1212を備える点と、ネットワーク10を介して、クライアント端末22及びクライアント端末24と情報を送受する点とにおいて、ファイル転送システム100と相違する。ファイル転送システム1200は、上記相違点以外の構成については、ファイル転送システム100と同様の構成を有してよい。クライアント端末22及びクライアント端末24は、クライアント端末114又は他の端末20と同様の構成を有してよい。ファイル転送システム1200によれば、クライアント端末22及びクライアント端末24の間で、安全に電子ファイルを共有することができる。
ファイル転送システム1200は、実行サーバ120上での添付ファイル340に対する操作を制限してよい。ファイル転送システム1200は、電子ファイルの正当なユーザを識別するユーザ識別情報と、当該ユーザに対して許可又は禁止される操作とが対応付けられた制限情報を格納してよい。電子ファイルの正当なユーザを識別するユーザ識別情報は、当該電子ファイルがアップロードされたときに指定されたユーザを示す情報であってもよい。許可又は禁止される操作としては、電子ファイルの閲覧、印刷、編集、複製、移動、送信、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャなどを例示することができる。
制限情報は、電子ファイルを識別する電子ファイル識別情報と、当該電子ファイルに対して許可又は禁止する操作とが対応付けられた情報であってもよい。制限情報は、ユーザ識別情報と、電子ファイル識別情報と、電子ファイル又はユーザに対して許可又は禁止する処理とが対応付けられた情報であってもよい。電子ファイルが暗号化されている場合、制限情報は、更に、当該電子ファイルの復号に用いられるパスコードが、ユーザ識別情報又は電子ファイル識別情報に対応付けられた情報であってよい。
ファイル転送システム1200は、制限情報に基づいて、ユーザ指示に応答するか否かを決定してよい。例えば、ファイル転送システム1200がクライアント端末22のユーザから、特定の電子ファイルに対するユーザ指示を受信した場合、制限情報を参照して、ユーザ指示により示される操作が、当該ユーザ又は当該電子ファイルに対して許可されているか否か又は禁止されているか否かを判断する。これにより、電子ファイルに対する操作を制限することができる。
通信制御部222は、ファイアウォール機能を有してよい。通信制御部222は、ファイル転送システム1200の外部が、ファイル共有サーバ1212に格納された情報に直接アクセスすることができないように、ファイアウォールを設定してよい。通信制御部222は、クライアント端末114ごと、又は、クライアント端末114のユーザごとに、アクセス権限を設定してよい。
通信制御部222は、アプリケーションプログラムによりファイアウォール機能を実現してもよく、OSによりファイアウォール機能を実現してもよい。通信制御部222は、OSにより提供されるファイアウォール機能の設定を変更することで、適切なファイアウォールを設定してよい。
通信制御部222は、ファイル共有サーバ1212の外部に電子データ又は電子ファイルを送信すること指示する要求を受信した場合、当該要求が実行サーバ120の仮想サーバ管理部410からの要求である場合には、当該要求を受け付けてよい。一方、当該要求が実行サーバ120の仮想サーバ管理部410からの要求でない場合には、当該要求を受け付けなくてよい。
ファイル共有サーバ1212は、1台のサーバから構成されていてもよく、複数のサーバから構成されていてもよい。実行サーバ120は、ファイル共有サーバ1212が複数のサーバから構成されている場合であっても、希望するファイルを取り出すことができる。
ファイル共有サーバ1212は、クライアント端末22及びクライアント端末24の間で共有される電子ファイルを格納する。ファイル共有サーバ1212は、電子ファイルと、ユーザ情報とを対応付けて、当該ユーザ情報及び当該電子ファイルと同じデータとして格納してもよく、当該ユーザ情報及び当該電子ファイルを別々に格納してもよい。ユーザ情報は、Windows(登録商標)で利用されるユニークなSIDであってよい。ユニークなSIDは、ログインIDであってもよく、ドメイン名及びユーザ名の組み合わせであってもよく、アプリケーションプログラムにより付与され、当該アプリケーションプログラムによるユーザの識別に利用されるユニークIDであってもよい。
図13は、ファイル転送システム1200における処理の一例を概略的に示す。図13は、クライアント端末22がファイル共有サーバ1212にアップロードしたデータを、クライアント端末24から閲覧する場合における処理の一例を概略的に示す。
S1302において、電子データ取得部224が、クライアント端末22からアップロードされた電子データを取得する。S1304において、電子ファイル抽出部226が、アップロードされた電子データから、電子ファイルを抽出する。S1306において、通知データ生成部316が、通知データを作成する。S1308において、電子ファイル送信部314が、電子ファイルを仮想サーバ412に送信する。S1310において、電子ファイル格納部426が電子ファイルを格納する。
S1320において、クライアント端末24が、ファイル共有サーバ1212に対して、電子ファイルの閲覧又はダウンロードを要求する。S1322において、通知データ送信部318が、通知データをクライアント端末24に送信する。
クライアント端末24のユーザは、クライアント端末24上で通知データを確認する。S1330において、ユーザが電子ファイルの閲覧又はダウンロードを希望する場合、ユーザは、クライアント端末24上で遠隔操作プログラムを実行する。S1332において、遠隔操作部244が、クライアント端末24及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。その後の処理は、図5などにおける処理と同様である。
本実施形態においては、ウイルス感染の防止を目的としてファイル転送システム100及びファイル転送システム1200を使用する場合について説明した。しかし、ファイル転送システム100及びファイル転送システム1200の目的はウイルス感染の防止に限定されない。
他の実施形態によれば、電子ファイルの送信先の設定によらずに電子ファイルを送信する目的で、ファイル転送システム100又はファイル転送システム1200を利用してよい。さらに他の実施形態によれば、電子ファイルの送信先の環境によらずに電子ファイルの閲覧を可能にする目的で、ファイル転送システム100又はファイル転送システム1200を利用してよい。
図14は、ファイル処理システム1400の一例を概略的に示す。ファイル処理システム1400は、実行サーバ120と、ファイル共有サーバ1212と、クライアント端末1401を備える。本実施形態において、クライアント端末1401は、図9に示されたクライアント端末914が有している構成に加えて、電子ファイル格納部1402、電子ファイル操作部1404、電子ファイル格納制御部1406、及び電子ファイル実行部430を有する。実行サーバ120は、図4で説明した実行サーバと同一の構成を有する。
図1、図9及び図12に関連して説明した実施形態によれば、クライアント端末又はファイル転送システムが電子ファイルを実行させるための実行指示を受け付けて、実行サーバ上で電子ファイルを実行する場合について説明した。本実施形態によれば、ファイル処理システム1400が電子ファイルの操作に関する指示を受け付けて、実行サーバ120上で上記の指示に応じた操作を実行する場合について説明する。例えば、クライアント端末1401に格納された電子ファイルをユーザが閲覧、編集等の操作を行う場合に、クライアント端末1401と実行サーバ120との間で通信経路を確立した後で、操作の対象となった電子ファイルをクライアント端末1401から実行サーバ120へ転送し、電子ファイルの処理を仮想サーバ上で実行する。
電子ファイル格納部1402には電子ファイルが格納される。本例において、電子ファイル格納部1402は、ファイル共有サーバ1212から受信した電子ファイルを格納する。電子ファイル操作部1404は、例えば、電子ファイルの操作に関するユーザからの指示を取得する。ここで、電子ファイルの操作とは、電子ファイルを所定のアプリケーションで開こうとする処理、電子ファイルの移動、複製、印刷、ファイル形式の変換、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャ等であってよい。
電子ファイル処理部228は、実行環境決定部1408を有する。実行環境決定部1408は、電子ファイルの形式、拡張子若しくは名称、又は、クライアント端末1401のログインIDに基づいて、遠隔操作により電子ファイルの操作を実行すべき実行環境を決定してよい。実行サーバ120が有する仮想サーバ412〜仮想サーバ416は、実行環境の一例である。クライアント端末1401は、ユーザからの指示に応じて、電子ファイルを実行サーバ120へ転送し、実行サーバ120の仮想サーバ上で電子ファイルを遠隔操作する。上記のユーザからの指示は、実行環境上で電子ファイルの操作を実行させるための実行指示の一例であってよい。これにより、実行環境において、電子ファイルの操作に応じた処理が実行される。本実施形態において、ユーザからの指示により示される電子ファイルの操作は、クライアント端末1401上では実行されない。
電子ファイル格納制御部1406は、遠隔操作された後の電子ファイルを、電子ファイル格納部1402に格納するか否かを制御する。電子ファイル格納制御部1406は、実行サーバ120において遠隔操作された後の電子ファイルを、実行サーバ120から自動的に取得して電子ファイル格納部1402に格納してもよく、或いは、ユーザの指示に基づいて電子ファイル格納部1402に格納してもよい。電子ファイル格納制御部1406は、遠隔操作された後の電子ファイルを、実行サーバ120上に格納してもよい。電子ファイル格納制御部1406は、実行サーバ120において遠隔操作された後の電子ファイルのファイル形式又は拡張子を変換してもよい。例えば、電子ファイル格納制御部1406は、実行サーバ120から取得した電子ファイルの拡張子に、予め定められた文字列を追加する。
電子ファイル格納制御部1406は、電子ファイルを自動的に格納するのか、ユーザの指示に基づいて格納するのかをユーザに予め選択させてもよい。このようにして電子ファイル格納部1402に格納された電子ファイルに対して、ユーザが何らかの操作を再度行うと、実行環境決定部1408は、再び、この電子ファイルを実行すべき実行環境を決定する。
上記構成によれば、ユーザが電子ファイルに対して閲覧等の処理を行う場合に、電子ファイルに対する実際の処理はクライアント端末1401ではなく実行サーバ120の仮想サーバ上で行われる。これにより、電子ファイルがウイルスに感染していた場合であっても、電子ファイルへの処理は実行しつつも、クライアント端末1401へウイルスが拡散すること防ぐことができる。
本実施形態において、実行環境決定部1408は、遠隔操作により実行サーバ120上で電子ファイルを実行するのか、クライアント端末1401上で電子ファイルを実行するのかを、決定してよい。実行環境決定部1408は、電子ファイルの形式、拡張子、若しくは名称に基づいて、上記の決定を行ってよい。実行環境決定部1408は、電子ファイルの形式、拡張子、若しくは名称が、予め定められたものである場合には電子ファイルの実行を仮想サーバで行わせ、予め定められたものではない場合には電子ファイルの実行を電子ファイル実行部430で行わせてよい。
実行環境決定部1408は、ユーザに実行環境を選択すべきかを選択させる手段を備えてもよい。例えば、実行環境決定部1408は、ユーザに実行サーバ120及びクライアント端末1401のいずれかを選択させるための画面を、出力部248の表示装置に表示させる。実行環境決定部1408は、ユーザの選択結果を受け取り、ユーザごとに、ユーザ設定として保存してよい。実行環境決定部1408は、ユーザ設定に基づいて、実行環境を選択してもよい。
例えば、実行環境決定部1408が電子ファイルを電子ファイル実行部430で実行することを決定した場合、電子ファイル実行部430が電子ファイルを実行する。このような構成によって、ユーザに対する利便性を高めることができる。
実行環境決定部1408は、クライアント端末1401に格納された電子ファイルをユーザが操作した場合に、実行環境に関する情報を取得してよい。電子ファイルの操作に対応する処理を実行サーバ120上で実行する場合、実行環境に関する情報は、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該パスワードに対応付けられたパスワードなどを例示することができる。
本実施形態においては、クライアント端末1401が、ファイル共有サーバ1212から取得された電子ファイルをクライアント端末1401の記憶装置に格納しておき、当該電子ファイルの操作に関するユーザからの指示に基づいて、実行サーバ120上で当該電子ファイルを操作する場合について説明した。しかし、ファイル処理システム1400は本実施形態に限定されない。
他の実施形態において、クライアント端末1401は、ファイル共有サーバ1212に格納されている電子ファイルの操作に関するユーザからの指示を受け付けた場合、ファイル共有サーバ1212に対して、当該電子ファイルを実行サーバ120に転送するよう要求してよい。ファイル共有サーバ1212は、クライアント端末1401の通信制御部242、遠隔操作部244、電子ファイル処理部228及び電子ファイル操作部1404の少なくとも1つを介して、電子ファイルを実行サーバ120に転送してもよい。また、クライアント端末1401は、RDPなどのプロトコルを利用してクライアント端末1401と実行サーバ120との間に遠隔操作可能な通信経路を確立し、ファイル共有サーバ1212から転送された電子ファイルに対して、ユーザからの指示に対応する操作を実行させるための指示を、実行サーバ120に送信してよい。
本実施形態においては、電子ファイル格納制御部1406が、遠隔操作された後の電子ファイルを、クライアント端末1401の電子ファイル格納部1402に格納する場合について説明した。しかし、ファイル処理システム1400は本実施形態に限定されない。他の実施形態によれば、電子ファイル格納制御部1406は、遠隔操作された後の電子ファイルを、ファイル共有サーバ1212に格納してもよい。また、本実施形態においては、クライアント端末1401が、電子ファイル格納制御部1406及び実行環境決定部1408を有する場合について説明した。しかし、しかし、ファイル処理システム1400は本実施形態に限定されない。他の実施形態によれば、実行サーバ120が、電子ファイル格納制御部1406及び実行環境決定部1408の少なくとも一方を有してよい。さらに他の実施形態において、クライアント端末1401の機能が、ファイル共有サーバ1212により実現されてもよい。
図15Aは、ファイル処理システム1400における処理の一例を概略的に示す。本例では、クライアント端末22がファイル共有サーバ1212にアップロードしたデータを、クライアント端末1401にダウンロードして格納した後、電子ファイルを閲覧する場合における処理の一例を概略的に示す。尚、図13と同一の符号が記されたステップについては、図13と同様の処理を行ってよい。
S1304において、ファイル共有サーバ1212は、受信した電子データから電子ファイルを抽出し、クライアント端末1401からの要求に応じて(S1320)、抽出したファイルをクライアント端末へ転送する(S1308)。S1510において、電子ファイル格納部1402は、ファイル共有サーバ1212から転送された電子ファイルを格納する。S1512において、電子ファイル操作部1404は、ユーザの指示に基づいて、ファイルを閲覧すべくファイルを開く処理を行う。
S1514において、実行環境決定部1408は、電子ファイルの形式、拡張子、若しくは名称が、予め定められたものであるかを確認する。予め定められたものではない場合には(S1514 NO)、電子ファイル実行部430が電子ファイルの実行を行う(S1516)。予め定められたものである場合には(S1514 Yes)、実行環境決定部1408は、この電子ファイルを実行サーバ120で実行させるべきか、クライアント端末1401で実行させるべきかを、例えばダイアログ表示を表示させることによって、ユーザに選択させる(S1518)。クライアント端末1401での実行が選択された場合には(S1518 NO)、電子ファイル実行部430が電子ファイルの実行を行い(S1516)、実行サーバ120での実行が選択された場合には(S1518 YES)、クライアント端末1401上で遠隔操作プログラムが実行される(S1330)。
遠隔操作プログラムの実行により、通信経路が確立される(S1332)。具体的には、一例として、クライアント端末1401が、実行サーバ120の仮想ホストサーバに接続して、接続先の仮想ゲストサーバに関する情報を取得する。仮想ホストサーバは、仮想サーバ管理部410であってよい。仮想ゲストサーバは、仮想サーバ414又は仮想サーバ416であってよい。接続先の仮想ゲストサーバに関する情報は、上記の実行環境に関する情報の一例であってよい。
実行サーバ120は、電子ファイルの種類、電子ファイルの拡張子、URI、URL、URN等に基づいて、によって利用されるべきTCPやUDP等のプロトコルを決定する。実行サーバ120は、決定されたプロトコルに基づいて、特定のポートを開く(ポートをオープンすると称する場合がある。)。その後、クライアント端末1401は、上記の特定のポートを指定し、RDPなどのプロトコルを利用して、仮想ゲストサーバに接続する。
上記のRDPなどのプロトコルによる接続をトリガとして、電子ファイルを実行するためのアプリケーションを制御するための制御用モジュールが起動される(S1519)なお、制御用モジュールは、既に起動していてもよい。また、上記のポートを開く処理は、制御用モジュールにより実行されてもよい。その後、電子ファイル処理部228が有する電子ファイル送信部314が電子ファイルを送信すると(S1520)、制御用モジュールによって管理されたアプリケーションが電子ファイルの実行を行う(S1522)。
この電子ファイルに対する処理が行われる様子を示す画面の画像データが、RDPなどの遠隔操作技術を利用して、クライアント端末1401に送信され、クライアント端末1702の出力部248に当該表示画面が表示される(S1524)。クライアント端末1401は、遠隔操作可能な通信経路を介して、実行サーバ120の実行環境上で電子データ又は電子ファイルの転送、命令の送受信を実行してよい。クライアント端末1401は、遠隔操作可能な通信経路を介して、電子データ又は電子ファイルの保存・上書き保存等を、実行サーバ120の実行環境上で実行してよい(S1522)。
電子データの処理又は操作が終了若しくは、ユーザが、クライアント端末1702を操作して、実行サーバ120の実行環境上で動作しているWebブラウザなどのアプリケーションを終了させる。実行サーバ120が、Webブラウザを終了させるための指示を受信すると、通信制御部1706は、オープンされているポートを閉じる。実行サーバ120は、クライアント端末1702からの指示を受信しなくても、電子データの処理又は操作の終了を検出した場合にポートを閉じてもよい。例えば、実行サーバ120は、クライアント端末1702又はネットワークとの疎通が一定時間できなかった場合に、電子データの処理又は操作の終了を検出する。制御用モジュールが、電子データの処理又は操作の終了の検出処理と、ポートを閉じる処理とを実行してもよい。
遠隔操作が終了すると、実行環境での処理は終了する。その後、必要に応じて、クライアント端末1401の電子ファイル格納部1402は、電子ファイルを保存する(S1526)。
尚、上記S1518は省略することもできる。或いは、実行環境決定部1408が、上記ダイアログ表示をさせるか否かをユーザに選択させてもよい。上記S1522において、電子ファイルを受信した場合に、受信した電子ファイルを実行環境において実行できるかどうかを、制御用モジュールが判断してもよい。
電子ファイルを実行可能なアプリケーションが存在しない等の理由で、電子ファイルを実行することができないと制御用モジュールが判断した場合には、その旨を電子ファイル処理部228がファイル処理システム1400の画面に表示させてよい。この場合、更に、クライアント端末1401は、電子ファイル実行部430において電子ファイルを実行すべきか否かをユーザに確認させる画面を表示させてもよい。また上記S1518においては、RDPなどプロトコルを利用した接続が行われるタイミングで、制御用モジュールが起動されたが、仮想サーバが起動された時点から制御用モジュールを起動させておいてもよい。
図15Bは、ファイル処理システム1400における処理の他の一例を概略的に示す。本例では、クライアント端末22がファイル共有サーバ1212にアップロードした電子データを、クライアント端末1401に格納せずに閲覧することができる。より具体的には、クライアント端末1401からの閲覧の要求(S1512)に応じて、遠隔操作プログラムが実行され(S1330)、通信経路が確立された後に、電子ファイルの要求がクライアント端末1401からファイル共有サーバ1212へなされる(S1320)。
この要求に応じて、ファイル共有サーバ1212が電子ファイルを実行サーバ120へ転送し(S1308)、クライアント端末1401は、転送された電子ファイルを実行サーバ120へ送信する(S1520)。その後、実行サーバ120での電子ファイルへの処理が実行され(S1522)、クライアント端末1401において電子ファイルを閲覧することができる(S1524)。その後、必要に応じて、電子データをクライアント端末1401に保存する。
尚、図15Aと同一の符号が記されたステップについては、図15Aと同様の処理を行ってよい。また、図15Bでは、電子ファイルをクライアント端末1401を介して実行サーバ120へ転送する様子が示されているが、ファイル共有サーバがクライアント端末1401を介さずに、電子ファイルを実行サーバ120へ転送してもよい。
図16は、S1526の処理の一例を概略的に示す。本例において電子ファイル格納制御部1406は、電子ファイルを自動的に保存するか否かを予めユーザに選択させる。また電子ファイル格納制御部1406は、電子ファイルを自動的には保存しないことが選択されている場合に、電子ファイルを保存すべきか否かをユーザに確認する処理を行うかどうかを、予めユーザに選択させる。
自動的に保存することが選択されている場合に(S1602 Yes)、電子ファイル格納制御部1406は、実行サーバ120に対して電子ファイルを要求する(S1604)。そして、実行サーバ120から該当する電子ファイルを受信すると、予め定められたフォルダに電子ファイルを自動保存し(S1604)、仮想サーバへファイルの実行の終了を通知する(S1608)。
自動的に保存することが選択されていない場合に、電子ファイルを保存すべきか否かをユーザに確認する処理を行うことが選択されている場合には(S1602 No、S1610 Yes)、電子ファイル格納制御部1406は、保存されるべきファイルの候補をユーザに表示させる(S1612)。電子ファイルを保存することが選択された場合には(S1614 Yes)、S1604以降の処理を行う。電子ファイルの保存が選択されなかった場合には(S1614 No)、電子ファイルを保存することなく処理を終了する。また、電子ファイルを保存すべきか否かをユーザに確認する処理を行うことが選択されていない場合にも(S1610 NO)、電子ファイルを保存することなく処理を終了する。
尚、図4に関連して説明したように、仮想サーバは再構築される場合がある。従って、S1522において仮想サーバに保存された電子ファイルは、定期的に、又は、仮想サーバの再構築が行われる前に、電子ファイル格納部1402に保存するのが好ましい。この場合、電子ファイル操作部1404が仮想サーバの保存領域から電子ファイルを自動的に取得してもよいし、仮想サーバから自動的に電子ファイルを送信するように構成してもよい。
本実施形態においては、一例として、電子ファイルがファイル共有サーバ1212から送信されて、クライアント端末1401に格納される構成を説明したが、電子ファイルは、例えばUSBメモリやDVD等のコンピュータ読み取り可能な記録媒体がクライアント端末1401に挿入されることによって利用可能となった電子ファイルであってもよい。そのような電子ファイルがウイルスに感染していた場合であっても、電子ファイルの実行は、クライアント端末1401では行われず、実行サーバ120で行われるので、クライアント端末1401へウイルスが拡散することを防止できる。
図17は、メールシステム1700の一例を概略的に示す。メールシステム1700は、実行サーバ120と、メールサーバ912と、クライアント端末1702を備える。本実施形態において、実行サーバ120は、実行サーバ120に生成された仮想サーバ1704が、第1通信部1708及び第2通信部1710を有する通信制御部1706を備える点で、図4に関連して説明した実行サーバ120と相違する。実行サーバ120は、上記の相違点を除いて、図4に関連して説明した実行サーバ120と同様の構成を有してよい。
本実施形態において、クライアント端末1702は、電子データ特定情報取得部1712を有する点、及び、電子ファイル処理部228が実行環境決定部1714を有する点において、図9に関連して説明したクライアント端末914と相違する。クライアント端末1702は、上記の相違点を除いて、図9に関連して説明したクライアント端末914と同様の構成を有してよい。実行環境決定部1714は遠隔操作プログラム生成部の一例であってもよい。
本実施形態では、クライアント端末1702が、電子データを特定する電子データ特定情報を取得する。クライアント端末1702は、例えば、ユーザが電子メール、HTMLファイル、ドキュメントファイル、textファイル、PDFファイルなどの電子ファイルに含まれるURLをクリックした場合に、当該URLを電子データ特定情報として取得する。クライアント端末1702は、取得された電子データ特定情報を実行サーバに送信して、当該電子データ特定情報によって特定される電子データを実行サーバ120で実行させる。実行サーバ120は、通信経路1730を介して、上記の電子データを取得する。通信経路1730は、クライアント端末914と実行サーバ120との間の通信経路1720とは異なる通信経路であってよい。通信経路1720は、第1の通信経路の一例であってよい。通信経路1730は、第2の通信経路の一例であってよい。
本実施形態においては、クライアント端末1702が受信した電子メールに、電子データ特定情報が含まれる。電子データ特定情報取得部1712は、ユーザの指示に応じて、電子データを特定する電子データ特定情報を取得する。ここで電子データ特定情報とは、電子データの所在を特定することができる情報、及び/または、電子データへのアクセスを可能とする情報である。
電子データ特定情報は、電子データを特定することのできる情報であれば特に限定されない。電子データ特定情報は、URI、URL、URN等のように直接的に電子データを特定する情報であってもよく、間接的に電子データを特定できるような情報であってもよい。
一実施形態において、電子データ特定情報は、電子ファイルの格納場所に関する情報又はリンク先に関する情報を有するが、電子ファイルの内容に関する情報を有しないファイルであってよい。このようなファイルとしては、ショートカットファイルを例示することができる。ショートカットファイルには、例えば、「.lnk」という拡張子が付与される。
ショートカットファイルのリンク先が、実行サーバ120上に格納されている電子ファイルである場合、例えば、クライアント端末1702上でユーザがショートカットファイルを起動すると、RDPなどのプロトコルを利用して、クライアント端末1702と実行サーバ120との間に遠隔操作可能な通信経路が確立される。その後、実行サーバ120上でショートカットファイルに対応する電子ファイルが起動する。
実行サーバ120は、クライアント端末1702の出力部248に表示されるべき表示画面の画像データを、クライアント端末1702に送信する。また、ユーザが、クライアント端末1702の入力部246を介して、実行サーバ120上のOS、アプリケーション、ファイルなどを操作すると、実行サーバ120は、ユーザの操作に応じた表示画面の画像データを、クライアント端末1702に送信する。
他の実施形態において、電子データ特定情報は、任意のプロトコルを用いてクライアント端末と電子データとの関連付けを行った設定であってよい。上記のプロトコルは特に限定されるものではなく、FTPやGopher等の現存するプロトコル、又は、将来において規定されたプロトコルを利用することができる。
本実施例における電子データには、図1〜図16で説明した電子ファイルに加えて、ファイルの形式ではない電子データが含まれてよい。このような電子データとしては、シンボリックリンク、ジャンクション、ハードリンクなどを例示することができる。
クライアント端末1702の電子ファイル処理部228は、実行環境決定部1714を有する。電子データ特定情報取得部1712によって電子データ特定情報が取得されると、実行環境決定部1714は、電子データを実行すべき実行環境を決定してよい。実行環境決定部1714は、例えば、クライアント端末1702の識別情報、クライアント端末1702のユーザの識別情報、接続先のURIのプロトコル(HTTP,FTP等)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、電子データ特定情報、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、実行環境を決定する。
実行環境は、実行サーバ120であってもよく、クライアント端末1702であってもよい。実行環境は、実行サーバ120に構築された1以上の仮想サーバの少なくとも1つであってもよく、クライアント端末1702からの命令又は要求によって構築される1以上の仮想サーバの少なくとも1つであってもよい。
実行環境決定部1714は、電子データが置かれている外部の装置1750から電子データを取得するための遠隔操作プログラムを生成してよい。一実施形態において、遠隔操作プログラムは、クライアント端末1702の遠隔操作部244に、(a−1)クライアント端末1702及び実行環境決定部1714により決定された実行環境の間に、遠隔操作可能な通信経路1720を確立する手順と、(b−1)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを起動させるための指示を送信する手順と、(c−1)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを介して、電子データ特定情報取得部1712により取得されたURLで特定される電子データを取得させるための指示を送信する手順と、(d−1)仮想サーバ1704の電子ファイル実行部430に、上記の電子データを実行させるための指示を送信する手順と、(e−1)仮想サーバ1704の画面情報送信部432に、上記の電子データが実行された場合の表示画面の画像データをクライアント端末1702に送信させるための指示を送信する手順と、を実行させるためのプログラムであってもよい。
他の実施形態において、実行環境決定部1714は、実行環境決定部1714により決定された実行環境を遠隔操作するための遠隔操作プログラムを生成してよい。遠隔操作プログラムは、(b−2)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを起動させる手順と、(c−2)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを介して、電子データ特定情報取得部1712により取得されたURLで特定される電子データを取得させる手順と、(d−2)仮想サーバ1704の電子ファイル実行部430に、上記の電子データを実行させる手順と、(e−2)仮想サーバ1704の画面情報送信部432に、上記の電子データが実行された場合の表示画面の画像データをクライアント端末1702に送信させる手順とを実行させるためのプログラムであってもよい。仮想サーバ1704の電子ファイル実行部430及び画面情報送信部432は、仮想サーバ1704のコンピュータの一例であってよい。
外部の装置1750は、電子データを実行する実行環境が置かれる実行サーバ120とは異なる装置である。外部の装置1750は、物理的な装置として実現されてもよく、仮想サーバとして実現されてもよい。
実行環境が電子データを外部の装置1750から取得する場合、実行環境は、クライアント端末1702と通信するだけでなく、外部の装置1750とも通信を行う必要がある。本実施形態では、実行サーバ120が有する仮想サーバ1704は、第1通信部1708及び第2通信部1710を有する通信制御部1706を備える。
本実施形態において、通信制御部1706は、ファイアウォールを開放するTCPポート又はUDPポートを決定する。通信制御部1706は、クライアント端末114の識別情報、クライアント端末114のユーザの識別情報、接続先のURIのプロトコル(HTTP,FTP等)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、ファイアウォールを開放するTCPポート又はUDPポートを決定してよい。なお、他の実施形態において、仮想サーバ管理部410が、ファイアウォールを開放するTCPポート及びUDPポートの少なくとも一方を決定してよい。
本実施形態において、通信制御部1706は、電子データのURIと、当該URIにより特定される電子データを取得することを指示する要求とを受信した場合において、当該要求が、予め定められたアプリケーションからの要求である場合、当該要求を受け付ける。一方、当該要求が、予め定められたアプリケーションからの要求でない場合、当該要求を受け付けない。
遠隔操作プログラムは、クライアント端末1702と実行サーバ120が有する実行環境との間に遠隔操作可能な通信経路1720を確立する手順を実行させるためのプログラムであってよい。一実施形態において、遠隔操作プログラムがクライアント端末1702によって実行されることにより、第1通信部1708とクライアント端末1702との間に通信経路1720が確立される。通信経路1720は、RDPなどの遠隔操作用のプロトコルに基づく通信経路であってよい。
遠隔操作プログラムは、実行サーバ120に、外部の装置1750と実行サーバ120が有する実行環境との間に通信経路1730を確立させる手順を実行させるためのプログラムであってよい。通信経路1730は、遠隔操作可能な通信経路であってもよく、HTTP、HTTPSなどのプロトコルに基づく通常の通信経路であってもよい。
例えば、遠隔操作プログラムが実行サーバ120によって実行されることにより、第2通信部1710と外部の装置1750との間に第2の通信経路1730が確立される。遠隔操作プログラムがクライアント端末1702によって実行されることにより、第2通信部1710と外部の装置1750との間に第2の通信経路1730が確立されてもよい。例えば、クライアント端末1702が、第2通信部1710と外部の装置1750との間に通信経路1730を確立するための指示を実行サーバ120に送信することで、通信経路1730が確立されてもよい。
実行環境決定部1714は、実行サーバ120に、通信経路1730を介して電子データを取得する手順を実行させるための遠隔操作プログラムを生成してもよい。遠隔操作プログラムは、実行サーバ120に、取得した電子データを実行環境で処理させる手順と、表示画面の画像データを、通信経路1720を介してクライアント端末1702に送信する手順を実行させるためのプログラムであってもよい。
例えば、遠隔操作プログラムが実行サーバ120の実行環境で実行されることにより、URLによって特定された電子データを実行環境で実行しつつ、その結果を、クライアント端末1702の画面に表示させることができる。このような構成により、URL先のデータがウイルスに感染しているような場合であっても、安全にデータの内容を閲覧することができる。
実行環境決定部1714は、電子データ特定情報により特定されるデータにアクセスする場合に、実行環境に関する情報を取得してよい。実行環境決定部1714は、実行サーバ120若しくはクライアント端末1702の記憶装置、又は、その他の記憶装置から実行環境に関する情報を取得してよい。
例えば、実行環境決定部1714は、電子データのURI、URL、URN等を取得した場合、ユーザから、電子データのURI、URL、URN等にアクセスすることを指示する命令を受信した場合、又は、ユーザが、電子データのショートカットファイルを実行した場合に、実行環境に関する情報を取得する。電子ファイルの操作に対応する処理を実行サーバ120上で実行する場合、実行環境に関する情報は、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該パスワードに対応付けられたパスワードなどを例示することができる。
実行環境決定部1714は、予め定められたホワイトリスト及びブラックリストの少なくとも一方に基づいて、実行環境を決定してよい。ホワイトリスト及びブラックリストの少なくとも一方は、クライアント端末1702に格納されていてもよく、実行サーバ120に格納されていてもよく、図示されていない外部のサーバに格納されていてもよい。
ホワイトリストは、アクセスを許可されたURIのリストであってもよく、クライアント端末1702上で実行することを許可されたファイル形式又は拡張子のリストであってもよい。ブラックリストは、アクセスを禁止されたURIのリストであってもよく、クライアント端末1702上で実行することを禁止されたファイル形式又は拡張子のリストであってもよい。ホワイトリスト及びブラックリストの両方に該当する項目が存在する場合、実行環境決定部1714は、予め定められたアルゴリズム又はユーザの指示に基づいて、ホワイトリスト及びブラックリストのいずれを優先するかを決定してよい。
実行環境決定部1714は、クライアント端末1702の記憶装置に格納された情報を、仮想サーバ1704にインストールされたWebブラウザのクッキーに読み込ませることを指示する命令を、実行サーバ120に送信してよい。クライアント端末1702の記憶装置に格納された情報としては、クライアント端末1702にインストールされたWebブラウザのクッキーに格納された情報、Webブラウザで保存されたユーザID、Webサイトのログインパスワードなどのサイト毎の暗証情報、各種Webサイトの設定情報、当該Webブラウザの設定情報などを例示することができる。
本実施形態において、クライアント端末1702が受信した電子メールに、電子データ特定情報が含まれる場合を例として、クライアント端末1702及び実行サーバ120の詳細について説明した。しかし、クライアント端末1702及び実行サーバ120は本実施形態に限定されない。クライアント端末1702及び実行サーバ120は、クライアント端末1702にインストールされたWebブラウザを介して閲覧しているWebサイトに電子データ特定情報が含まれる場合であっても、本実施形態と同様の手順により、当該電子データ特定情報で特定される電子データを処理又は操作することができる。
本実施形態において、電子データ特定情報取得部1712が電子データ特定情報を取得した場合に、実行環境決定部1714が遠隔操作プログラムを生成し、クライアント端末1702又は実行サーバ120が遠隔操作プログラムを実行して、通信経路の確立処理、電子データの取得処理及び電子データの実行処理が実行される場合について説明した。しかし、メールシステム1700における情報処理は、本実施形態に限定されない。
他の実施形態において、遠隔操作プログラムは、クライアント端末1702に、予めインストールされていてもよい。例えば、電子データ特定情報取得部1712が、電子データ特定情報を取得する。実行環境決定部1714が、電子データ特定情報取得部1712により取得された電子データ特定情報により特定される電子データを実行すべき実行環境を決定する。また、電子データ特定情報取得部1712が電子データ特定情報を取得すると、クライアント端末1702上で遠隔操作プログラムが実行され、例えば、下記の処理が実行される。
まず、通信制御部242及び遠隔操作部244が、実行環境決定部1714により決定された実行環境との間で通信経路1720を確立する。その後、遠隔操作部244が、仮想サーバ1704の電子ファイル実行部430に、Webブラウザを起動させるための指示を、仮想サーバ1704の指示受付部428に送信する。また、遠隔操作部244は、仮想サーバ1704の電子ファイル実行部430に、電子データ特定情報により特定される電子データを取得及び実行させるための指示を、指示受付部428に送信する。
仮想サーバ1704の電子ファイル実行部430は、遠隔操作部244からの指示に基づいて、Webブラウザを起動し、第2通信部1710を介して、電子データ特定情報により特定される電子データを格納する外部の装置1750との間で通信経路1730を確立する。また、仮想サーバ1704の電子ファイル実行部430は、遠隔操作部244からの指示に基づいて、外部の装置1750から電子データを取得し、当該電子データを電子ファイル実行部430上で実行する。画面情報送信部432が、電子データが実行された場合の表示画面の画像データを、通信経路1720を介して、クライアント端末1702に送信する。
図18は、メールシステム1700における処理の一例を概略的に示す。尚、図10と同一の符号が記されたステップについては、図10と同様の処理を行ってよい。
本実施形態によれば、S502において、クライアント端末1702の電子データ取得部224が、他の端末20からの電子メールを受信する。S1802において、電子データ特定情報取得部1712が、ユーザが電子メールに添付されているURLをクリックしたことを検出し、当該URLを取得する。
S1804において、実行環境決定部1714が、予め定められたプロセスを用いて電子データ特定情報取得部1712が電子データ特定情報を取得したかどうかを確認する。予め定められたプロセスとしては、ユーザが、Outlook等の予め定められたメーラーを利用して電子メールを開いた場合、ユーザが、Word、Excel等のドキュメントファイル、textファイル、PDFファイルなどの予め定められた電子ファイル中のURLをクリックした場合、ユーザが、Webブラウザなどの予め定められたアプリケーションの利用中にURLをクリックした場合などにおいて、電子データ特定情報を取得することを例示することができる。
電子データ特定情報取得部1712が電子データ特定情報を取得したプロセスが、予め定められたプロセスではない場合には(S1804 NO)、クライアント端末1702の電子ファイル実行部430が、電子データを実行する(S1808)。尚、ここでの電子データの実行とは、クライアント端末1702に関連づけされたWebブラウザを用いて、電子データ特定情報取得部1712により取得されたURLで指定されたページを開くことであってよい。
電子データ特定情報取得部1712が電子データ特定情報を取得したプロセスが、予め定められたプロセスである場合には(S1804 Yes)、実行環境決定部1714は、電子データ特定情報取得部1712により取得されたURLで特定された電子データを実行サーバ120で実行させるべきか、クライアント端末1702で実行させるべきかを、ユーザに確認させる(S1806)。この場合、実行環境決定部1714は、例えばダイアログ表示等の表示手段をユーザに表示させることによって、上記の確認をユーザに行わせることができる。
クライアント端末1702での実行が選択された場合には(S1806 NO)、クライアント端末1702の電子ファイル実行部430が、電子データを実行する(S1808)。一方、実行サーバ120での実行が選択された場合には(S1806 YES)、クライアント端末1702上で遠隔操作プログラムが実行される(S1810)。
遠隔操作プログラムが実行されると、通信経路1720及び通信経路1730が確立される(S1812)。具体的には、一例として、クライアント端末1702の実行環境決定部1714が、実行サーバ120の仮想ホストサーバに接続して、接続先の仮想ゲストサーバに関する情報を取得する。仮想ホストサーバは、仮想サーバ管理部410であってよい。仮想ゲストサーバは、仮想サーバ412〜仮想サーバ416の少なくとも1つであってよい。接続先の仮想ゲストサーバに関する情報は、上記の実行環境に関する情報の一例であってよい。
実行サーバ120は、電子ファイルの種類、電子ファイルの拡張子、URI、URL、URN等に基づいて、実行サーバ120によって利用されるべきTCPやUDP等のプロトコルを決定する。実行サーバ120は、決定されたプロトコルに基づいて、特定のポートを開く(ポートをオープンすると称する場合がある。)。その後、クライアント端末1401は、上記の特定のポートを指定し、RDPなどのプロトコルを利用して、仮想ゲストサーバに接続する。
一実施形態によれば、実行サーバ120は、クライアント端末1702との通信にはTCP通信のみを許可し、TCP(80、53)、UPD(53)のポートをオープンする。これにより、URL先のページを、実行環境上のWebブラウザ(例えば、実行サーバ120の仮想サーバ1704にインストールされたWebブラウザである。)で処理することができるようになる。これらのポートは、第1通信部及び第2通信部の一例であってよい。
上記のRDPなどのプロトコルによる接続をトリガとして、仮想サーバ1704の電子ファイル実行部430が、URLで特定された電子データを実行するためのアプリケーションを制御する制御用モジュールを起動する。(S1816)。制御用モジュールは、アプリケーションを制御して電子データを実行させる。上記のアプリケーションとしては、Webブラウザ、ビューワ―、ワードプロセッサ・アプリケーション、表計算アプリケーション、プレゼンテーション・アプリケーションなどを例示することができる。なお、上記のポートを開く処理は、制御用モジュールにより実行されてもよい。
一実施形態によれば、仮想サーバ1704上で制御モジュールが起動すると、クライアント端末1702の遠隔操作部244は、電子データ特定情報取得部1712がS1802において取得したURLを、第1の通信経路1720を介して、仮想サーバ1704の電子ファイル実行部430に送信する(S540)。遠隔操作部244は、第1通信部1708を指定して、上記のURLを仮想サーバ1704に送信してよい。URLは、実行指示の一例であってよい。
次に、仮想サーバ1704の電子ファイル実行部430において、制御用モジュールがWebブラウザを起動する。これにより、クライアント端末1702から受信したURLにより特定された電子データがWebブラウザにより処理される。例えば、Webブラウザは、外部の装置1750に対して、上記のURLにより特定される電子データを送信するように要求する。Webブラウザは、第2通信部1710及び通信経路1730を介して、外部の装置1750との間で情報を送受する。外部の装置1750は、Webブラウザからの要求に応答して、上記のURLにより特定される電子データをWebブラウザに送信する(S1818)。上記のURLにより特定される電子データは、HTMLで記述されたWebページのデータであってよい。
仮想サーバ1704のWebブラウザは、外部の装置1750から電子データを受信して、当該電子データを実行する。画面情報送信部432は、RDPなどの遠隔操作技術を利用して、Webブラウザの表示画面の画像データをクライアント端末1702に送信する、クライアント端末1702の出力部248に当該表示画面が表示される。(S1820)。
電子データの処理又は操作が終了すると、ユーザは、クライアント端末1702を操作して、仮想サーバ1704上で動作しているWebブラウザを終了させるための指示を、仮想サーバ1704に送信する。仮想サーバ1704の指示受付部428が、上記のユーザ指示を受信すると、通信制御部1706が、オープンされているポートを閉じる。実行サーバ120は、ユーザ指示を受信しなくても、電子データの処理又は操作の終了を検出した場合にポートを閉じてもよい。例えば、実行サーバ120は、クライアント端末1702又はネットワークとの疎通が一定時間できなかった場合に、電子データの処理又は操作の終了を検出する。制御用モジュールが、電子データの処理又は操作の終了の検出処理と、ポートを閉じる処理とを実行してもよい。
尚、上記の処理において、一部のステップが省略されてもよく、各ステップの順番が入れ替わってもよい。例えば、S1806は省略してもよい。また、S1806において、実行環境決定部1714が、上記ダイアログ表示をさせるか否かをユーザに選択させてもよい。
本実施形態によれば、S1816において、RDPなどのプロトコルを利用した接続が行われるタイミングで、制御用モジュールが起動した。しかし、制御用モジュールを起動させるタイミングは本実施形態に限定されない。他の実施形態において、制御用モジュールは、仮想サーバが起動された時点で起動してもよい。
図18に示す実施形態において、電子データ特定情報取得部1712は、他の端末20から受信した電子メールに添付されたURLをユーザがクリックすることで、電子データ特定情報を取得した。しかし、電子データ特定情報取得部1712は本実施形態に限定されない。電子データ特定情報取得部1712は、クライアント端末1702がアクセスすることが可能な電子データから、様々方法で電子データ特定情報を取得してよい。
例えば、もともとクライアント端末1702に格納されている電子データ、またはUSBメモリやDVD等の記録媒体に格納されている電子データにクライアント端末1702がアクセスすることによって、電子データ特定情報取得部1712が電子データ特定情報を取得してもよい。電子データとは、ワードやエクセル等のドキュメントファイル、textファイル、PDFファイル等であってよい。
上述したように、URL先のウェブ画面を閲覧する場合には、実行環境(例えば、仮想サーバである。)は、クライアント端末と外部の装置の両者との通信を行うべく、2つの通信ポートが必要となる。そのような仮想サーバを、実行サーバ120が予め有している場合もあるし、そうでない場合もある。また、仮想サーバは、1つの通信ポートしか有していない場合もある。そこで、実行環境決定部1714は、電子データを実行すべき仮想環境を決定する場合において、電子データ特定情報を受信したときに、実行サーバ120が有する複数の仮想サーバの中から、外部の装置1750と第2の通信経路を有する実行環境を選択してもよい。
一実施形態において、実行環境決定部1714は、第1通信部1708及び第2通信部1710の両者を予め有している仮想環境を選択して、その後、第1及び第2の通信経路を確立させる命令を含む遠隔操作プログラムが実行されてもよい。他の実施形態において、実行環境決定部1714は、第1通信部1708のみを有している仮想環境を選択し、選択した仮想環境に対して第2通信部1710に該当するポートを生成するように遠隔制御を行ってもよい。この場合、外部の装置1750と間に通信経路1730を確立させるための命令を含む遠隔操作プログラムを生成し、このプログラムを実行させることにより、通信経路1730を確立することができる。
本実施形態は、他の実施形態と組み合わせることもできる。例えば、図14ではクライアント端末1401に格納された電子ファイルをユーザが閲覧等の操作を行う場合に、電子ファイルをクライアント端末1401から実行サーバ120へ転送し、仮想サーバ上で処理を行なわせる実施例を説明したが、電子ファイルの中にURL等の電子データ特定情報が含まれていた場合には、電子ファイルの閲覧等の操作に伴う処理を仮想サーバで実行させると共に、このURL先のウェブ画面を閲覧する処理についても、上記で説明したように仮装サーバで行わせることができる。或いは、図1〜図10に記載されたメールサーバ112または912からメールを受信した場合であっても、そのメールにURLが含まれていた場合には、同様の処理を行うことができる。
尚、図1〜図16に記載された実施形態においては、外部の装置との通信は必ずしも必要でない。むしろセキュリティを考慮すると、第2の通信経路1730を開くためのポート(第2通信部1710)は無い方が好ましい場合がある。このため、実行サーバ120は、予め2種類の仮想サーバ、即ち、クライアント端末とのみ通信が可能な仮想サーバと、クライアント端末及び外部の装置の両者と通信が可能な仮想サーバを生成してよい。
実行環境決定部1714は、少なくとも、ユーザの操作に応じて取得される情報、ユーザの操作に用いられるアプリケーション、及びユーザの操作自体のいずれかに基づいて、いずれの実行環境(仮想サーバ)を選択すべきかを決定してよい。例えば、ユーザの操作によってURLが取得された場合には、外部の装置及びクライアント端末のそれぞれと通信可能な通信ポートを有する仮想サーバを選択する。或いは、ユーザの操作によりWordファイルが閲覧されようとすることを示す情報が取得された場合には、実行環境決定部1714は、クライアント端末1702とのみ通信可能な通信ポートを有する仮想サーバを選択してよい。
これに代えて、または、これに加えて、ログインユーザ名等のユーザ固有の情報が取得されること、電子ファイルの拡張子が取得されること、クライアント端末において電子ファイルを処理するために用いられるアプリケーションを区別する識別子が取得されることの少なくとも1つに応じて、いずれの実行環境(仮想サーバ)を選択すべきかを決定してよい。更に、実行環境決定部1714は、電子ファイルのファイルサイズ、ファイル名、ファイル形式、ファイルが保存された場所、ファイルが保存・更新された日時といった電子ファイルの属性に基づいて、いずれの実行環境を選択すべきかを判断してもよい。この場合、実行環境決定部1714は、ユーザが操作する電子ファイルが予め定められた属性またはその組み合あわせを有する場合に、いずれの実行環境を選択すべきかを決定してもよい。
実行サーバ120に予め仮想サーバが生成されていない場合には、電子データ特定情報取得部1712によってURLが取得された場合には、実行環境決定部1714が、外部の装置及びクライアント端末のそれぞれと通信可能な通信ポートを有する仮想サーバを生成するための遠隔操作プログラムを生成し、これを実行サーバ120に実行させることによって、所望の仮想サーバを生成してもよい。同様に、ユーザによりWordファイルが閲覧されようとしている情報が取得された場合には、実行環境決定部1714は、クライアント端末とのみ通信可能な通信ポートを有する仮想サーバを生成するための遠隔操作プログラムを生成し、これを実行サーバ120に実行させてよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
本願明細書には、下記の事項が記載されている。下記の事項に、多様な変更または改良を加えることが可能であることが当業者に明らかである。
[項目1]
電子データから、電子ファイルを抽出する電子ファイル抽出部と、
上記電子ファイル抽出部により抽出された上記電子ファイル又は上記電子ファイルに関連するファイルを、上記電子ファイルを実行すべき実行環境に送信する電子ファイル送信部と、
上記実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作部と、
を備える、
情報処理装置。
[項目2]
上記電子ファイル抽出部により抽出された上記電子ファイルの形式、拡張子若しくは名称を変更して、又は上記電子ファイル抽出部により抽出された上記電子ファイルを暗号化して、上記電子ファイルに関連するファイルを生成するファイル変換部を更に備える、
項目1に記載の情報処理装置。
[項目3]
電子データから、電子ファイルを抽出する電子ファイル抽出部と、
遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定部と、
上記実行環境決定部により決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成部と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定部により決定された上記実行環境との間に、遠隔操作可能な通信経路を確立する手順、
を実行させるためのプログラムである、
情報処理装置。
[項目4]
上記遠隔操作プログラムは、
上記コンピュータに、
上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する手順、
を更に実行させるためのプログラムである、
項目3に記載の情報処理装置。
[項目5]
上記遠隔操作プログラムは、
上記コンピュータに、
上記コンピュータから上記実行環境に対して、通信回線を介して、上記電子ファイル又は上記電子ファイルに関連するファイルを送信する手順、
を更に実行させるためのプログラムである、
項目3又は項目4に記載の情報処理装置。
[項目6]
上記実行環境に対して、通信回線を介して、上記電子ファイル又は上記電子ファイルに関連するファイルを送信する電子ファイル送信部を更に備える、
項目3又は項目4に記載の情報処理装置。
[項目7]
上記電子ファイル抽出部により抽出された上記電子ファイルの形式、拡張子若しくは名称を変更して、又は上記電子ファイル抽出部により抽出された上記電子ファイルを暗号化して、上記電子ファイルに関連するファイルを生成するファイル変換部を更に備える、
項目3から項目6までの何れか一項に記載の情報処理装置。
[項目8]
上記実行環境を更に備える、
項目1から項目7までの何れか一項に記載の情報処理装置。
[項目9]
上記実行環境は、仮想サーバ上に構築され、
上記仮想サーバは、
通信回線を介してユーザからの指示を受け付ける指示受付部と、
上記ユーザからの指示に基づいて、上記実行環境に送信された上記電子ファイル又は上記電子ファイルに関連するファイルを実行する電子ファイル実行部と、
上記通信回線を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
を有する、
項目8に記載の情報処理装置。
[項目10]
上記仮想サーバは、
上記実行環境の異常を検出する異常検出部を更に備える、
項目9に記載の情報処理装置。
[項目11]
上記異常検出部は、上記実行環境が上記ユーザからの指示に応じた動作以外の動作を実行した場合に、上記実行環境の異常を検出する、
項目10に記載の情報処理装置。
[項目12]
上記仮想サーバは、
外部との通信を制御する通信制御部を更に備える、
項目9から項目11までの何れか一項に記載の情報処理装置。
[項目13]
クライアント端末からの遠隔操作によって電子ファイルを実行する仮想サーバを備え、
上記仮想サーバは、
上記クライアント端末及び通信回線を介してユーザからの指示を受け付ける指示受付部と、
上記ユーザからの指示に基づいて、上記電子ファイルを実行する電子ファイル実行部と、
上記クライアント端末に対して、上記通信回線を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
上記仮想サーバの異常を検出する異常検出部と、
を有し、
上記異常検出部は、上記仮想サーバが上記ユーザからの指示に応じた動作以外の動作を実行した場合に、上記仮想サーバの異常を検出する、
情報処理装置。
[項目14]
上記仮想サーバは、
外部との通信を制御する通信制御部を更に備える、
項目13に記載の情報処理装置。
[項目15]
コンピュータを、項目1から項目14までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
[項目16]
電子データから、電子ファイルを抽出する電子ファイル抽出段階と、
上記電子ファイル抽出段階において抽出された上記電子ファイル又は上記電子ファイルに関連するファイルを、上記電子ファイルを実行すべき実行環境に送信する電子ファイル送信段階と、
上記実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作段階と、
を備える、
情報処理方法。
[項目17]
電子データから、電子ファイルを抽出する電子ファイル抽出段階と、
遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定段階と、
上記実行環境決定段階において決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成段階と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定段階において決定された上記実行環境との間に、遠隔操作可能な通信経路を確立する手順、
を実行させるためのプログラムである、
情報処理方法。
[項目18]
記憶装置を有する第1のコンピュータが記憶するデータ構造であって、
上記データ構造は、
電子ファイルのデータと、
上記電子ファイルの送信先を識別する送信先識別データと、
上記電子ファイルを実行すべき第2のコンピュータを識別する実行環境識別データと、
上記第1のコンピュータに、上記送信先識別データにより識別される送信先に上記電子ファイルのデータを送信する手順と、上記第1のコンピュータ及び上記実行環境識別データにより識別される上記第2のコンピュータの間に遠隔操作可能な通信経路を確立する手順と、を実行させるためのプログラムと、
を備える、データ構造。