(57)【特許請求の範囲】
【請求項１】
第１の種類のデータを取得し、
第１のパス形式で記述された第１のパスに対応付けて前記第１の種類のデータを格納し、前記第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第２の種類のデータを格納したアーカイブファイルを生成し、
生成した前記アーカイブファイルを出力する、
処理をコンピュータに実行させることを特徴とするファイル処理プログラム。
【請求項２】
前記プログラムおよび前記処理データそれぞれを対応付けた第２のパスは、前記プログラムを識別するための所定の識別子を含むことを特徴とする請求項１記載のファイル処理プログラム。
【請求項３】
前記第１の種類のデータと共に、前記第１の種類のデータの配布先アドレスと前記第２の種類のデータとして所定のメッセージとを受け付け、
前記配布先アドレスに対応付けて前記メッセージを処理するためのプログラムの配布の要否を定義した制御情報を記憶する制御情報記憶手段に記憶された前記制御情報を参照し、前記配布先アドレスに対して前記プログラムの配布が必要である場合、前記第２の種類のデータとして前記プログラムを前記アーカイブファイルに格納する、
処理を前記コンピュータに更に実行させることを特徴とする請求項１または２記載のファイル処理プログラム。
【請求項４】
前記第１の種類のデータと前記第２の種類のデータとを所定の鍵により暗号化する処理を前記コンピュータに更に実行させることを特徴とする請求項１乃至３の何れか一項に記載のファイル処理プログラム。
【請求項５】
第１のパス形式で記述された第１のパスに対応付けられた第１の種類のデータと、前記第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第２の種類のデータと、が格納されたアーカイブファイルを取得し、
前記第１のパス形式で使用しない文字を検出することで、前記アーカイブファイルから前記第２の種類のデータを抽出し、
抽出した前記第２の種類のデータに基づいて前記所定の処理を実行する、
処理をコンピュータに実行させることを特徴とするファイル処理プログラム。
【請求項６】
前記プログラムおよび前記処理データそれぞれが対応付けられた第２のパスには、前記プログラムを識別するための所定の識別子が含まれており、
前記識別子に基づいて、前記プログラムに対応する前記処理データを特定する、
処理を前記コンピュータに更に実行させることを特徴とする請求項５記載のファイル処理プログラム。
【請求項７】
前記アーカイブファイルを取得すると、前記プログラムを取得済であるか否かを管理する管理情報を記憶する管理情報記憶手段に記憶された前記管理情報を参照し、
前記プログラムを未取得である場合、前記アーカイブファイルから前記プログラムを抽出し、前記処理データを用いて、抽出したプログラムを実行し、
前記プログラムが取得済である場合、所定の記憶手段に記憶された前記プログラムを抽出し、前記処理データを用いて、抽出したプログラムを実行する、
処理を前記コンピュータに更に実行させることを特徴とする請求項６記載のファイル処理プログラム。
【請求項８】
前記第１の種類のデータおよび前記第２の種類のデータは、所定の鍵により暗号化されており、
前記第２の種類のデータに基づいて前記所定の処理を実行する際に、前記第２の種類のデータを前記鍵により復号する、
処理を更に前記コンピュータに実行させることを特徴とする請求項５乃至７の何れか一項に記載のファイル処理プログラム。
【請求項９】
第１の種類のデータを取得し、第１のパス形式で記述された第１のパスに対応付けて前記第１の種類のデータを格納し、前記第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第２の種類のデータを格納したアーカイブファイルを生成する生成手段と、
前記生成手段が生成した前記アーカイブファイルを出力する出力手段と、
を有することを特徴とするファイル処理装置。
【請求項１０】
第１のパス形式で記述された第１のパスに対応付けられた第１の種類のデータと、前記第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第２の種類のデータと、が格納されたアーカイブファイルを取得する取得手段と、
前記第１のパス形式で使用しない文字を検出することで、前記取得手段が取得した前記アーカイブファイルから前記第２の種類のデータを抽出し、抽出した前記第２の種類のデータに基づいて前記所定の処理を実行する処理手段と、
を有することを特徴とするファイル処理装置。
【請求項１１】
ファイル処理装置のファイル処理方法であって、
前記ファイル処理装置が、
第１の種類のデータを取得し、
第１のパス形式で記述された第１のパスに対応付けて前記第１の種類のデータを格納し、前記第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第２の種類のデータを格納したアーカイブファイルを生成し、
生成した前記アーカイブファイルを出力する、
ことを特徴とするファイル処理方法。
【請求項１２】
ファイル処理装置のファイル処理方法であって、
前記ファイル処理装置が、
第１のパス形式で記述された第１のパスに対応付けられた第１の種類のデータと、前記第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第２の種類のデータと、が格納されたアーカイブファイルを取得し、
前記第１のパス形式で使用しない文字を検出することで、前記アーカイブファイルから前記第２の種類のデータを抽出し、
抽出した前記第２の種類のデータに基づいて前記所定の処理を実行する、
ことを特徴とするファイル処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアーカイブファイルを処理するファイル処理プログラム、ファイル処理装置およびファイル処理方法に関する。
【背景技術】
【０００２】
従来、複数のファイルを一つのファイル（書庫）にまとめたアーカイブファイル（archive file）が利用されている。アーカイブファイル形式として、例えばＺｉｐ形式が知られている。Ｚｉｐ形式では、複数のファイルをそのパス構造を保持してアーカイブするとともに、データ量を圧縮することができる（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】PKWARE Inc.、“APPNOTE.TXT - .ZIP File Format Specification”、［online］、平成19年9月28日、［平成22年3月23日検索］インターネット  <URL：http://www.pkware.com/documents/casestudies/APPNOTE.TXT>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、アーカイブファイルを扱うプログラムの機能を拡張した場合、当該機能のために拡張用のプログラム（拡張プログラム）が配布先で事前に利用可能となっている必要がある。
【０００５】
そのために、例えば拡張プログラムをアーカイブファイルとは別個に事前配布することが考えられる。しかし、この方法では配布先が大量に存在するほど、配布先に対する配布有無の管理コストや配布を行うサーバやネットワークに対する負荷が問題となる。
【０００６】
一方、例えば拡張プログラムを含む自己解凍形式のプログラムファイルにアーカイブファイルを含めて配布することが考えられる。しかし、第三者の配布する自己解凍形式のプログラムファイルにはウィルスを含む危険なものも存在する。このため、セキュリティ対策として、自己解凍形式のプログラムファイルが通信路上で破棄される可能性があるという問題がある。
【０００７】
本発明はこのような点に鑑みてなされたものであり、アーカイブファイルに対する処理を行う拡張プログラムを容易に配布できるファイル処理プログラム、ファイル処理装置およびファイル処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、ファイル処理プログラムが提供される。このファイル処理プログラムは、第１の種類のデータを取得し、第１のパス形式で記述された第１のパスに対応付けて第１の種類のデータを格納し、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第２の種類のデータを格納したアーカイブファイルを生成し、生成したアーカイブファイルを出力する、処理をコンピュータに実行させる。
【０００９】
また、上記課題を解決するために、ファイル処理プログラムが提供される。このファイル処理プログラムは、第１のパス形式で記述された第１のパスに対応付けられた第１の種類のデータと、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第２の種類のデータと、が格納されたアーカイブファイルを取得し、第１のパス形式で使用しない文字を検出することで、アーカイブファイルから第２の種類のデータを抽出し、抽出した第２の種類のデータに基づいて所定の処理を実行する、処理をコンピュータに実行させる。
【００１０】
また、上記課題を解決するために、ファイル処理装置が提供される。このファイル処理装置は、生成手段および出力手段を有する。生成手段は、第１の種類のデータを取得し、第１のパス形式で記述された第１のパスに対応付けて第１の種類のデータを格納し、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第２の種類のデータを格納したアーカイブファイルを生成する。出力手段は、生成手段が生成したアーカイブファイルを出力する。
【００１１】
また、上記課題を解決するために、ファイル処理装置が提供される。このファイル処理装置は、取得手段および処理手段を有する。取得手段は、第１のパス形式で記述された第１のパスに対応付けられた第１の種類のデータと、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第２の種類のデータと、が格納されたアーカイブファイルを取得する。処理手段は、第１のパス形式で使用しない文字を検出することで、取得手段が取得したアーカイブファイルから第２の種類のデータを抽出し、抽出した第２の種類のデータに基づいて所定の処理を実行する。
【００１２】
また、上記課題を解決するためにファイル処理装置のファイル処理方法が提供される。このファイル処理方法では、ファイル処理装置が、第１の種類のデータを取得し、第１のパス形式で記述された第１のパスに対応付けて第１の種類のデータを格納し、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第２の種類のデータを格納したアーカイブファイルを生成し、生成したアーカイブファイルを出力する。
【００１３】
また、上記課題を解決するためにファイル処理装置のファイル処理方法が提供される。このファイル処理方法では、ファイル処理装置が、第１のパス形式で記述された第１のパスに対応付けられた第１の種類のデータと、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第２の種類のデータと、が格納されたアーカイブファイルを取得し、第１のパス形式で使用しない文字を検出することで、アーカイブファイルから第２の種類のデータを抽出し、抽出した第２の種類のデータに基づいて所定の処理を実行する。
【発明の効果】
【００１４】
上記ファイル処理プログラム、ファイル処理装置およびファイル処理方法によれば、アーカイブファイルに対する処理を行う拡張プログラムを容易に配布できる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態に係るファイル処理装置を示す図である。
【図２】第２の実施の形態に係る情報処理システムの構成を示す図である。
【図３】第２の実施の形態の端末装置のハードウェア構成を示す図である。
【図４】第２の実施の形態の端末装置の機能構成を示す第１の図である。
【図５】第２の実施の形態の端末装置の機能構成を示す第２の図である。
【図６】制御テーブルのデータ構造例を示す図である。
【図７】取得済プラグイン管理テーブルのデータ構造例を示す図である。
【図８】電子メールのデータ構造例を示す図である。
【図９】アーカイブファイルのデータ構造例を示す図である。
【図１０】フォルダツリーのツリー構造例を示す図である。
【図１１】電子メール入力画面の例を示す図である。
【図１２】第２の実施の形態の電子メール送信処理を示すフローチャートである。
【図１３】第２の実施の形態の電子メール受信処理を示すフローチャートである。
【図１４】プラグインの実行例を示す図である。
【図１５】通常パスに格納されたデータ一覧の表示例を示す図である。
【図１６】第３の実施の形態に係る情報処理システムの構成を示す図である。
【図１７】第３の実施の形態のメールサーバの機能構成を示す図である。
【図１８】第３の実施の形態の電子メール送信処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本実施の形態を図面を参照して詳細に説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係るファイル処理装置を示す図である。ファイル処理装置１は、複数のファイルを単一のファイルにアーカイブ（書庫化）したアーカイブファイル２を生成する。ファイル処理装置１は、生成手段１ａおよび出力手段１ｂを有する。
【００１７】
生成手段１ａは、アーカイブファイル２を生成する。生成手段１ａは、第１の種類のデータＤ１を取得し、第１のパス形式で記述された第１のパス２ａに対応付けて第１の種類のデータＤ１をアーカイブファイル２に格納する。生成手段１ａは、第１のパス２ａで使用しない文字を含む第２のパス形式で記述された第２のパス２ｂに対応付けて所定の処理に用いる第２の種類のデータＤ２をアーカイブファイル２に格納する。
【００１８】
出力手段１ｂは、生成手段１ａが生成したアーカイブファイル２を出力する。
ここで、第１の種類のデータＤ１は通常の配布目的でアーカイブされた複数のデータを示す。一方、第２の種類のデータＤ２は、例えば配布目的以外の所定の処理に用いるものである。所定の処理とは、例えば第２の種類のデータＤ２を用いた拡張機能を実現するための処理である。より具体的には、例えばアーカイブファイル２の配布者が第１の種類のデータの展開に先立って（あるいは、展開中や展開後に）通知すべきメッセージを表示させる機能が考えられる。第２の種類のデータＤ２には、そのような処理を配布先で実現させるための拡張プログラムおよび拡張プログラムが処理する処理データが含まれる。
【００１９】
第２の種類のデータＤ２は、ファイル処理装置１に予め格納されている。また、第２の種類のデータＤ２は、配布者がファイル処理装置１に入力したデータでもよい。
ファイル処理装置１によれば、生成手段１ａにより、第１の種類のデータＤ１が取得される。生成手段１ａにより、第１のパス形式で記述された第１のパス２ａに対応付けて第１の種類のデータＤ１を格納し、第１のパス形式で使用しない文字を含む第２のパス形式で記述された第２のパス２ｂに対応付けて所定の処理に用いる第２の種類のデータＤ２を格納したアーカイブファイル２が生成される。出力手段１ｂにより、生成手段１ａが生成したアーカイブファイル２が出力される。
【００２０】
このように、アーカイブファイル２内に、第１，第２のパス形式で記述された２つのパスを設ける。これにより、配布先では第１のパス２ａおよび第２のパス２ｂに格納された各データを別個に取り扱うことができる。よって、第２のパス２ｂに格納された第２の種類のデータＤ２を用いた拡張機能を配布先において容易に実現することが可能となる。
【００２１】
また、ファイル処理装置１は、第２の種類のデータＤ２として、拡張プログラムをアーカイブファイル２に含めることができる。このため、従来のように拡張プログラムを別個に再配布しなくてよい。よって、配布を行う際に配布先を管理する管理コストが軽減される。また、配布を行う際のサーバやネットワークに対する負荷が軽減される。
【００２２】
更に、拡張プログラムを送信するために自己解凍形式のプログラムファイルを用いなくてよい。このため、通信路上でセキュリティ対策を行うノードによって、意図せずに配信対象のファイルが破棄される可能性を低減できる。
【００２３】
このようにしてアーカイブファイル２に拡張プログラムを含めることで、当該拡張プログラムを容易に配布できるようになる。
以下、情報処理システムにファイル処理装置１を適用する場合を例に採り、更に詳細に説明する。
【００２４】
［第２の実施の形態］
図２は、第２の実施の形態に係る情報処理システムの構成を示す図である。この情報処理システムは、端末装置１００，２００がネットワーク１０を介して接続されている。ネットワーク１０は、例えばインターネットである。
【００２５】
端末装置１００，２００は、ネットワーク１０を介してアーカイブファイルを送受信する。
端末装置１００は、送信側ユーザによって入力された文字列や配布ファイル（あるいはフォルダ）により、アーカイブファイルを生成する。端末装置１００は、生成したアーカイブファイルを端末装置２００に送信する。
【００２６】
端末装置２００は、端末装置１００から受信したアーカイブファイルの内容を受信側ユーザに提示する。
ここで、端末装置１００が生成するアーカイブファイルは次のような拡張機能を備えている。
【００２７】
端末装置１００は、端末装置２００に対するアーカイブファイルの送信を電子メールによって行う。具体的には、端末装置１００はアーカイブファイルを電子メールに添付して端末装置２００に送信する。このとき、端末装置１００はアーカイブファイルに送信側ユーザが入力したメール本文を含める。メール本文をアーカイブファイルに含めて、他の配布ファイルと共に符号化することでメール本文の秘匿性を向上できる。
【００２８】
端末装置２００は、このアーカイブファイルを処理するために拡張機能に対応している必要がある。端末装置１００は、端末装置２００がその拡張機能に未対応であったとしても、そのための拡張プログラムを端末装置２００に対して容易に送信することができる。以下、端末装置１００，２００におけるそのための構成を説明する。
【００２９】
図３は、第２の実施の形態の端末装置のハードウェア構成を示す図である。端末装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＨＤＤ（Hard Disk Drive）１０４、グラフィック処理装置１０５、入力インタフェース１０６、記録媒体読取装置１０７および通信インタフェース１０８を有する。
【００３０】
ＣＰＵ１０１は、端末装置１００全体を制御する。
ＲＯＭ１０２は、端末装置１００上のＢＩＯＳ（Basic Input / Output System）のプログラムなどを記憶する。
【００３１】
ＲＡＭ１０３は、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションソフトウェア（以下、アプリケーションという）のプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０３は、ＣＰＵ１０１による処理に必要な各種データを記憶する。
【００３２】
ＨＤＤ１０４は、ＯＳのプログラム、アプリケーションのプログラムを記憶する。また、ＨＤＤ１０４はＣＰＵ１０１による処理に必要な各種データを記憶する。なお、ＨＤＤ１０４に代えて（または、ＨＤＤ１０４と併せて）、ＳＳＤ（Solid State Drive）など他の種類の記憶装置を用いてもよい。
【００３３】
グラフィック処理装置１０５は、モニタ１１と接続される。グラフィック処理装置１０５は、ＣＰＵ１０１からの命令に従って画像をモニタ１１の画面に表示させる。
入力インタフェース１０６は、キーボード１２とマウス１３と接続される。入力インタフェース１０６は、キーボード１２やマウス１３から送られてくる信号をＣＰＵ１０１に送信する。
【００３４】
記録媒体読取装置１０７は、記録媒体１４に記憶されたデータを読み取る読取装置である。例えば、端末装置１００が有すべき機能は、その機能の処理内容を記述したプログラムをコンピュータが実行することで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１４に記録して配布することができる。また、ネットワーク１０に接続されたプログラム配信サーバ（図示せず）にプログラムを格納してもよい。この場合、端末装置１００は、ネットワーク１０を介してプログラム配信サーバからプログラムをダウンロードすることができる。
【００３５】
記録媒体１４としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ：Flexible Disk）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−Ｒ／ＲＷ／ＲＡＭなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。半導体メモリには、ＵＳＢ（Universal Serial Bus）メモリなどのフラッシュメモリがある。
【００３６】
通信インタフェース１０８は、ネットワーク１０と接続される。通信インタフェース１０８は、ネットワーク１０を介して端末装置２００を含む他の情報処理装置とデータ通信する。
【００３７】
なお、端末装置２００も端末装置１００と同様のハードウェア構成により実現できる。
以下では、端末装置１００のユーザから端末装置２００のユーザに対して電子メールを送信する場合を想定して説明する。
【００３８】
図４は、第２の実施の形態の端末装置の機能構成を示す第１の図である。端末装置１００は、制御情報記憶部１１０、入力部１２０、アーカイブファイル生成部１３０、電子メール生成部１４０および送信部１５０を有する。これらの機能は、ＣＰＵ１０１によって所定のプログラムが実行されることにより実現される。また、これらの機能の全部または少なくとも一部が専用のハードウェアによって実現されてもよい。
【００３９】
制御情報記憶部１１０は、アーカイブ処理の制御情報（ポリシー）を記憶する。この制御情報には、例えば送信先に応じたアーカイブファイルの有効期限が設定される。また、例えば送信先でアーカイブファイルに対する更新を可能とするか不可とするかを示すフラグが設定される。また、例えば送信先でアーカイブファイルの展開に必要な鍵が設定される。
【００４０】
この鍵は、アーカイブファイルを暗号処理するための暗号鍵である。具体的には、端末装置１００，２００で利用可能な共通鍵である。端末装置１００，２００が共通に利用可能な鍵によって暗号処理することで、両端末装置間でのデータ送受信の際のセキュリティを向上できる。
【００４１】
また、制御情報記憶部１１０は、アーカイブファイル内のデータを用いた拡張機能を実行するための拡張プログラム（以下、プラグインという）を記憶する。
入力部１２０は、送信側ユーザによる電子メールの入力内容を受け付ける。入力内容には、受信側ユーザの電子メールアドレスや件名などの情報が含まれる。また、入力内容には、メール本文の情報および配布ファイルの情報が含まれる。ここで、配布ファイルの情報には、そのファイルの端末装置１００におけるパスを示す情報が含まれる。入力部１２０は、受け付けた入力内容をアーカイブファイル生成部１３０に出力する。
【００４２】
アーカイブファイル生成部１３０は、入力部１２０から受け付けた入力内容に基づいて、アーカイブファイルを生成する。アーカイブファイル生成部１３０は、アーカイブファイルにメール本文を含める。アーカイブファイルに含まれたメール本文は、送信先において当該アーカイブファイルを処理するプログラムの拡張機能によって処理される。アーカイブファイル生成部１３０は、制御情報記憶部１１０に記憶された制御情報に基づいて、アーカイブファイルのポリシー（有効期限や暗号処理用の鍵など）を決定する。また、拡張機能を実行するためのプラグインを含めるか否かを制御する。アーカイブファイル生成部１３０は、生成したアーカイブファイルを電子メール生成部１４０に出力する。
【００４３】
電子メール生成部１４０は、アーカイブファイル生成部１３０から受け付けたアーカイブファイルを添付ファイルとして添付した電子メール４００を生成する。送信部１５０は、電子メール４００の本文として、ダミー本文を追加する。電子メール４００の宛先および件名などのヘッダ情報として、入力部１２０が受け付けた受信側ユーザの宛先アドレスおよび件名などを設定する。電子メール生成部１４０は、生成した電子メール４００を送信部１５０に出力する。
【００４４】
送信部１５０は、電子メール生成部１４０から取得した電子メール４００を宛先アドレスへ向けて送信する。
図５は、第２の実施の形態の端末装置の機能構成を示す第２の図である。端末装置２００は、鍵記憶部２１０、プラグイン情報記憶部２２０、受信部２３０およびアーカイブファイル処理部２４０を有する。これらの機能は、端末装置２００のＣＰＵによって所定のプログラムが実行されることにより実現される。また、これらの機能の全部または少なくとも一部が専用のハードウェアによって実現されてもよい。
【００４５】
鍵記憶部２１０は、アーカイブファイルの暗号処理に用いる鍵を記憶する。ただし、受信側ユーザによる鍵の入力を受け付ける場合には、鍵記憶部２１０を設けなくてもよい。
プラグイン情報記憶部２２０は、端末装置２００に適用済のプラグインを管理するためのプラグイン情報を記憶する。
【００４６】
受信部２３０は、電子メール４００を受信する。受信部２３０は、電子メール４００に添付されたアーカイブファイルへの操作を受け付けると、当該アーカイブファイルに対する処理をアーカイブファイル処理部２４０に委譲する。
【００４７】
アーカイブファイル処理部２４０は、受信部２３０から取得したアーカイブファイルを処理する。アーカイブファイル処理部２４０は、アーカイブファイルに何れかの拡張機能によって処理されるべきデータが存在するか否かを特定する。本例では、アーカイブファイルに含まれるメール本文が拡張機能によって処理されるべきデータに該当する。アーカイブファイル処理部２４０は、プラグイン情報記憶部２２０に記憶されたプラグイン情報を参照して、対応する拡張機能を実行するためのプラグインを取得済であるかを判断する。プラグインを未取得である場合には、アーカイブファイルから対応するプラグインを取得する。
【００４８】
アーカイブファイル処理部２４０は、アーカイブファイルから取得したプラグインを実行して、メール本文の内容を拡張機能により受信側ユーザに提示することができる。
図６は、制御テーブルのデータ構造例を示す図である。制御テーブル１１１は、制御情報記憶部１１０に予め格納される。制御テーブル１１１には、項番、宛先アドレス、有効期限、ファイル更新、プラグインおよび鍵を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの制御ルールを示す。
【００４９】
項番には、レコードを識別するための番号が設定される。宛先アドレスには、電子メールの送信先（Ｔｏ，Ｃｃ，Ｂｃｃ）のメールアドレス（宛先アドレス）が設定される。有効期限には、アーカイブファイルの有効期限が設定される。ファイル更新には、アーカイブファイルに格納された本文ファイルや配布ファイルの内容を更新可能とするか否かを示す情報（更新可否フラグ）が設定される。プラグインには、アーカイブファイルに含まれた電子メール本文を処理するためのプラグインを、アーカイブファイルに含めるか否かを示す情報（プラグイン要否フラグ）が設定される。鍵には、宛先アドレスに対して用いるべき鍵が設定される。
【００５０】
制御テーブル１１１には、例えば、項番が“１”、宛先アドレスが“＊＠ａａａ．ｃｏｍ”、有効期限、ファイル更新、プラグインおよび鍵が何れも“−”（設定なし）という情報が設定される。これは、ドメイン“＊＠ａａａ．ｃｏｍ”に対して送信する電子メールについては、入力部１２０が受け付けた入力内容に対して何らの処理も行わずに通常の電子メールとして送信することを示している。より具体的には、メール本文として受け付けた内容が送信する電子メールの本文となる。また、配布ファイルとして受け付けたファイルが送信する電子メールにアーカイブされずに添付されることとなる。
【００５１】
なお、“＊”はワイルドカードであり、任意の文字列に対応する。
また、制御テーブル１１１には、例えば、項番が“２”、宛先アドレスが“＊＠ｂｂｂ．ｃｏｍ”、有効期限が“２０１０／５／３１”、ファイル更新が“不可”、プラグインが“要”、鍵が“鍵Ｋ１”という情報が設定される。これは、ドメイン“＊＠ｂｂｂ．ｃｏｍ”へ送信する電子メールについては、入力内容をアーカイブして“鍵Ｋ１”によって暗号化することを示している。また、アーカイブファイルに含まれるメール本文や配布ファイルに対する更新を“不可”とすることを示している。また、当該ドメインのユーザに対してアーカイブファイルにプラグインを含める必要があることを示している。
【００５２】
図７は、取得済プラグイン管理テーブルのデータ構造例を示す図である。取得済プラグイン管理テーブル２１１は、プラグイン情報記憶部２２０に格納されたプラグイン情報である。アーカイブファイル処理部２４０は、新たにプラグインを適用するたびに取得済プラグイン管理テーブル２１１に適用したプラグインの情報を登録する。
【００５３】
取得済プラグイン管理テーブル２１１には、項番、プラグイン識別子、関連ファイルＦ１および関連ファイルＦ２を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの取得済プラグインに関する情報を示す。
【００５４】
項番には、レコードを識別するための番号が設定される。プラグイン識別子には、プラグインを識別するためのプラグイン識別子が設定される。プラグイン識別子として、例えばＧＵＩＤ（Globally Unique IDentifier）を用いることができる。プラグイン識別子は、拡張機能を実現するプラグインごとに予め決定されている。関連ファイルＦ１，Ｆ２には、当該プラグインを実行するために使用するファイルのファイル名が設定される。
【００５５】
取得済プラグイン管理テーブル２１１には、例えば、項番が“１”、プラグイン識別子が“｛Ｅ３２ＦＦＡ２Ｅ−０Ｆ４０−４７４９−８Ａ８９−ＣＦ８７８０Ａ８８５６Ｆ｝”、関連ファイルＦ１が“．．．／ＢａｃｋｕｐＰｌｕｇｉｎ．ｄｌｌ”、関連ファイルＦ２が“．．．／Ｂ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”という情報が設定される。ここで、関連ファイルＦ１，Ｆ２における“．．．／”は各ファイルの端末装置２００におけるパスを略記したものである。パスは、絶対パスで表現してもよいし、相対パスで表現してもよい。
【００５６】
当該レコードは、このプラグイン識別子に対応する拡張機能を実行するためのプラグインモジュールとして“．．．／ＢａｃｋｕｐＰｌｕｇｉｎ．ｄｌｌ”を既に取得済であり、利用可能であることを示している。また、当該プラグインモジュールを実行する際の設定ファイルとして、“．．．／Ｂ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”を既に取得済であり、利用可能であることを示している。
【００５７】
なお、関連ファイルを２つ分管理する例を示したが３以上の関連ファイルを管理することもできる。
図８は、電子メールのデータ構造例を示す図である。電子メール４００は、ヘッダ部４１０、境界部４２０、本文格納部４３０、境界部４４０および添付ファイル格納部４５０を有する。
【００５８】
ヘッダ部４１０は、電子メール４００の送信元アドレス、宛先アドレスおよび件名などを示す情報が記載されたフィールドである。境界部４２０は、ヘッダ部４１０と本文格納部４３０との境界を示す情報が記載された（あるいは空白行が設定された）フィールドである。本文格納部４３０は、電子メールの本文が記載されたフィールドである。境界部４４０は、本文格納部４３０と添付ファイル格納部４５０との境界を示す情報が記載されたフィールドである。
【００５９】
電子メール４００では、入力部１２０が受け付けたメール本文はアーカイブファイルに含める。このため、送信部１５０は、本文格納部４３０にダミー本文を設定する。ダミー本文には、例えばアーカイブファイルに送信側ユーザの記したメッセージが含まれている旨を示すメッセージが設定される。また、送信部１５０は、添付ファイル格納部４５０にアーカイブファイルを設定する。
【００６０】
図９は、アーカイブファイルのデータ構造例を示す図である。アーカイブファイル５００は、管理情報格納部５１０、データ格納部５２０、データ定義情報格納部５３０およびファイル制御情報格納部５４０を有する。
【００６１】
管理情報格納部５１０は、ＯＳのファイルシステムで用いるファイル管理用の情報を格納するデータ領域である。なお、管理情報格納部５１０は、暗号化されないデータ領域である。
【００６２】
データ格納部５２０は、入力部１２０に配布ファイルとして入力されたファイルやメール本文を格納するためのデータ領域である。データ格納部５２０には、ファイルデータ群５２１、拡張データ５２２および拡張プラグイン５２３が含まれる。
【００６３】
ファイルデータ群５２１は、入力部１２０に配布ファイルとして入力された一以上のファイルである。拡張データ５２２は、拡張機能によって処理すべきデータである。具体的には、入力部１２０にメール本文として入力されたデータである。拡張プラグイン５２３は、拡張データ５２２を処理するためのプラグインである。
【００６４】
データ定義情報格納部５３０は、データ格納部５２０内の各データを識別するための情報を格納するためのデータ領域である。データ定義情報格納部５３０には、データ名５３１およびデータアドレス５３２が含まれる。データ名５３１は、ファイルデータ群５２１のうちの一のファイルのデータ名である。データ名にはパスが含まれる。データアドレス５３２は、当該ファイルのアーカイブファイル５００内の位置（アドレス）を示す情報である。データ名およびデータアドレスは、データ格納部５２０に格納されたファイルデータ、拡張データ５２２および拡張プラグイン５２３ごとに設定される。
【００６５】
ファイル制御情報格納部５４０は、アーカイブファイル５００のポリシーに関する情報を格納するためのデータ領域である。具体的には、アーカイブファイル５００の有効期限およびファイル更新の可否などを示す情報が格納される。端末装置２００は、ファイル制御情報格納部５４０を参照することで、当該情報で示されるポリシーに基づいてアーカイブファイル５００を取り扱うことができる。
【００６６】
なお、データ格納部５２０、データ定義情報格納部５３０およびファイル制御情報格納部５４０は暗号化されるデータ領域である。
次に、データ定義情報格納部５３０のデータ名によって表されるパス構造を説明する。
【００６７】
図１０は、フォルダツリーのツリー構造例を示す図である。フォルダツリー６０は、データ定義情報格納部５３０のデータ名によって表されるパス構造をツリー形式に表現したものの一例である。
【００６８】
フォルダツリー６０は、ルートフォルダ６００を最上位として、配下のフォルダおよびファイルの構造を示している。ルートフォルダの名称として“／ｒｏｏｔ”を例示している。
【００６９】
フォルダ６１０，６２０，６３０，６４０，６５０は、ルートフォルダ６００よりも一階層だけ下位のフォルダである。ここで、フォルダ６１０，６２０は、データ名に通常のパス（以下、通常パスという）が設定されたフォルダである。フォルダ６１０の名称として“ｆｏｌｄｅｒ１”、フォルダ６２０の名称として“ｆｏｌｄｅｒ２”を例示している。
【００７０】
フォルダ６１０よりも一階層だけ下位の階層にはファイル６１１（ファイル名“ｆｉｌｅ１”）、ファイル６１２（ファイル名“ｆｉｌｅ２”）が格納されている。ここで、図１０中、ファイル名とフォルダ名とを区別するために、ファイル名の“／”の記号を省略して表記している。また、フォルダ６２０よりも一階層だけ下位の階層には、フォルダ６２１（フォルダ名“ｆｏｌｄｅｒ３”）およびファイル６２２（ファイル名“ｆｉｌｅ４”）が格納されている。更に、フォルダ６２１よりも一階層だけ下位の階層にはファイル６２１ａ（ファイル名“ｆｉｌｅ３”）が格納されている。
【００７１】
ここで、ファイル６１１，６１２，６２１ａ，６２２は、配布ファイルとして入力部１２０により受け付けられたものである。アーカイブファイル生成部１３０は、ファイル６１１，６１２，６２１ａ，６２２を受け付けると、パスと共に、そのデータ名をデータ定義情報格納部５３０に設定する。
【００７２】
フォルダ６３０，６４０，６５０は、プラグインによって処理されるべきデータを設定するためのフォルダである。フォルダ６３０，６４０，６５０は、そのようなデータを格納するための所定のパス（以下、拡張パスという）によって表される。
【００７３】
拡張パスは、通常パスとしては使用できない形式で記述する。例えば、ファイルシステムによって通常パスとしては認識できない文字列によって記述する。
例えば、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を用いる端末装置に対して配布する場合、当該ＯＳで通常用いられているＮＴＦＳ（New Technology File System）では使用できない“？、＜、＞、＊、：”などの記号を用いてパスを記述する。
【００７４】
アーカイブファイル処理部２４０は、アーカイブファイル５００を受信すると、データ定義情報格納部５３０のデータ名を参照して、フォルダツリー６０を再現することができる。
【００７５】
図１０では、“？”を使用する場合を例示している。すなわち、フォルダ６３０の名称を“？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？”とする。フォルダ名の最初と最後とに記述された“？”記号は、フォルダ６３０が拡張パスで記述されていることを示している。“｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝”の部分は、フォルダ６３０の配下に格納されているデータを処理するためのプラグインを示すプラグイン識別子である。ここで、当該プラグインは、受信側でメール本文を処理するためのものである。以下に示す例では、拡張パスであることを示す文字として“？”を用いる場合を例示するが、それ以外の文字を用いてもよい。また、そのような文字は、配布先の端末装置で利用されているファイルシステムに応じて変更することができる。また、当該文字の数や挿入位置も任意に決定することができる。
【００７６】
フォルダ６３０よりも一階層だけ下位の階層にはフォルダ６３１（フォルダ名“ｆｏｌｄｅｒ５”）、ファイル６３２（ファイル名“ａｄｄｏｎ．ｃｏｎｆ”）が格納されている。更に、フォルダ６３１よりも一階層だけ下位の階層にはファイル６３１ａ（ファイル名“ｍａｉｌ−ｂｏｄｙ”）が格納されている。
【００７７】
ファイル６３１ａは、メール本文を示す文字列を格納したファイルである。ファイル６３２は、ファイル６３１ａをプラグインによって処理する際の設定（ファイル単位の個別設定）が記述されたファイルである。ファイル６３２は、必要に応じて付加される。例えば、メール本文の入力態様（フォント、文字の大きさ、色および行幅など）を受信側で再現させるために生成し、付加することが考えられる。また、他のプラグインとの間で処理を実行するための優先順位を決定するための情報を設定することが考えられる。
【００７８】
フォルダ６４０（フォルダ名“？｛Ｅ３２ＦＦＡ２Ｅ−０Ｆ４０−４７４９−８Ａ８９−ＣＦ８７８０Ａ８８５６Ｆ｝？”）に関しても同様である。ここで、当該プラグインは、受信側でアーカイブファイルに対する所定のバックアップ機能を実現するためのものである。フォルダ６４０よりも一階層だけ下位の階層にはファイル６４１（ファイル名“ａｄｄｏｎ．ｃｏｎｆ”）が格納されている。ファイル６４１の役割はファイル６３２と同様である。例えば、配布先に応じたバックアップ処理の内容をファイル６４１の記述によって設定可能とすることができる。
【００７９】
フォルダ６５０は、その名称を“？Ｐｌｕｇｉｎｓ？”としている。これは、フォルダ６５０のプラグイン本体が格納されているフォルダであることを示す。フォルダ６５０よりも一階層だけ下位の階層には、フォルダ６５１（フォルダ名“？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？”）、フォルダ６５２（フォルダ名“？｛Ｅ３２ＦＦＡ２Ｅ−０Ｆ４０−４７４９−８Ａ８９−ＣＦ８７８０Ａ８８５６Ｆ｝？”）が格納されている。
【００８０】
フォルダ６５１よりも一階層だけ下位の階層には、ファイル６５１ａ（ファイル名“ＭａｉｌＰｌｕｇｉｎ．ｄｌｌ”）、ファイル６５１ｂ（ファイル名“Ｍ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”）が格納されている。ファイル６５１ａ，６５１ｂはプラグイン識別子“｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝”に対応するプラグインの本体である。
【００８１】
また、フォルダ６５２よりも一階層だけ下位の階層には、ファイル６５２ａ（ファイル名“ＢａｃｋｕｐＰｌｕｇｉｎ．ｄｌｌ”）、ファイル６５２ｂ（ファイル名“Ｂ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”）が格納されている。ファイル６５２ａ，６５２ｂはプラグイン識別子“｛Ｅ３２ＦＦＡ２Ｅ−０Ｆ４０−４７４９−８Ａ８９−ＣＦ８７８０Ａ８８５６Ｆ｝”に対応するプラグインの本体である。
【００８２】
このように、受信側で通常パスとして認識されないパス形式を用いて、拡張機能に用いるデータを格納したパスを記述する。これにより、受信側では通常パスと拡張パスとを容易に区別して処理することができる。
【００８３】
また、拡張パスとして記述したフォルダ名にプラグイン識別子を含める。これにより、受信側では拡張機能により実行すべきデータとそのデータを処理すべきプラグインとを容易に対応付けることができる。
【００８４】
更に、配下にプラグイン本体が格納されていることを示す文字列（上記の例では“Ｐｌｕｇｉｎ”）を拡張パスに含める。これにより、受信側ではデータとプラグイン本体とが格納されたフォルダを容易に区別することができる。
【００８５】
なお、フォルダツリー６０では、通常パスの配下に拡張パスを設ける場合を例示したが、拡張パスを通常パスとは別個に設けてもよい。その場合、例えば通常パスの“／ｒｏｏｔ”とは別個に、拡張パスの最上位のフォルダを拡張パス形式で設けることが考えられる。
【００８６】
図１１は、電子メール入力画面の例を示す図である。電子メール入力画面７００は、入力部１２０によりモニタ１１に表示される。送信側ユーザは、電子メール入力画面７００に表示された入力フォームに従って、電子メールの内容を入力することができる。電子メール入力画面７００には、宛先入力部７１０、件名入力部７２０、本文入力部７３０、配布フォルダ入力部７４０および送信ボタン７５０を有する。
【００８７】
宛先入力部７１０は、宛先アドレスを入力するための入力フォームである。件名入力部７２０は、件名を入力するための入力フォームである。本文入力部７３０は、本文を入力するための入力フォームである。
【００８８】
配布フォルダ入力部７４０は、配布したいフォルダ（あるいはファイル）を入力するための入力フォームである。ユーザは、例えば配布したいフォルダを、配布フォルダ入力部７４０に、マウス１３を用いてドラッグアンドドロップ操作することで、対象フォルダを追加することができる。入力部１２０は、対象フォルダの追加を受け付けると、そのパス構造を配布フォルダ入力部７４０に表示する。図１１では、配布フォルダ入力部７４０にフォルダ名“／見積資料一式”のフォルダが入力された場合を例示している。
【００８９】
送信ボタン７５０は、各入力部に対する入力内容を確定するためのボタンである。送信側ユーザは、マウス１３によりポインタＰ１を操作して送信ボタン７５０を押下操作することができる。入力部１２０は、送信ボタン７５０に対する押下操作を受け付けると、電子メール入力画面７００に入力された内容をアーカイブファイル生成部１３０に出力する。
【００９０】
次に、以上のような構成の端末装置１００，２００による電子メールの送信処理および受信処理の手順を説明する。
図１２は、第２の実施の形態の電子メール送信処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
【００９１】
［ステップＳ１１］入力部１２０は、電子メール入力画面７００の送信ボタン７５０の押下操作を受け付けると当該画面に入力された入力内容を受け付ける。入力部１２０は、受け付けた入力内容をアーカイブファイル生成部１３０に出力する。なお、電子メール入力画面７００の宛先アドレスには、端末装置２００を利用する送信側ユーザのメールアドレスが含まれるとする。また、配布フォルダ入力部７４０には、配布するフォルダのルートとして“／見積資料一式”が入力されているとする。
【００９２】
［ステップＳ１２］アーカイブファイル生成部１３０は、本文入力部７３０に入力されたメール本文を取得する。また、アーカイブファイル生成部１３０は、配布フォルダ入力部７４０に入力された配布フォルダを取得する。
【００９３】
［ステップＳ１３］アーカイブファイル生成部１３０は、メール本文のパスを拡張パス形式により決定する。また、メール本文を処理するためのプラグインのパスを拡張パス形式により決定する。具体的には、メール本文（ファイル名“ｍａｉｌ−ｂｏｄｙ”）のパスを“／見積資料一式／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／ｆｏｌｄｅｒ／ｍａｉｌ−ｂｏｄｙ”とする。また、メール本文を処理する際の設定ファイル（ファイル名“ａｄｄｏｎ．ｃｏｎｆ”）のパスを“／見積資料一式／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／ａｄｄｏｎ．ｃｏｎｆ”とする。
【００９４】
［ステップＳ１４］アーカイブファイル生成部１３０は、宛先入力部７１０に入力された宛先アドレスを取得する。
［ステップＳ１５］アーカイブファイル生成部１３０は、制御情報記憶部１１０に記憶された制御テーブル１１１を参照して、当該宛先アドレスにつきプラグイン本体の送信が必要であるか否かを判定する。必要である場合、処理をステップＳ１６に進める。必要でない場合、処理をステップＳ１８に進める。
【００９５】
［ステップＳ１６］アーカイブファイル生成部１３０は、制御情報記憶部１１０を参照してメール本文を処理するためのプラグインを取得する。
［ステップＳ１７］アーカイブファイル生成部１３０は、プラグインのパスを拡張パス形式により決定する。具体的には、プラグイン本体（ファイル名“ＭａｉｌＰｌｕｇｉｎ．ｄｌｌ”）のパスを“／見積資料一式／？Ｐｌｕｇｉｎ？／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／ＭａｉｌＰｌｕｇｉｎ．ｄｌｌ”とする。また、プラグインを実行する際の設定ファイル（ファイル名“Ｍ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”）のパスを“／見積資料一式／？Ｐｌｕｇｉｎ？／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／Ｍ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”とする。
【００９６】
［ステップＳ１８］アーカイブファイル生成部１３０は、制御テーブル１１１を参照し、宛先アドレスに応じた鍵を取得する。アーカイブファイル生成部１３０は、配布フォルダおよびメール本文をアーカイブしてアーカイブファイル５００を生成する。このとき、アーカイブファイル生成部１３０は、取得した鍵によって各データを暗号化する。なお、プラグインも送付する場合には、ステップＳ１６で取得したプラグインや所定の設定ファイルもアーカイブファイル５００に含める。アーカイブファイル生成部１３０は、配布フォルダに含まれる各ファイル、メール本文データおよびプラグインデータをデータ格納部５２０に暗号化して格納する。そして、各データのパス（通常パスおよび拡張パス）を含むデータ名と、アーカイブファイル５００における各データのアドレスを示すデータ位置と、をデータ定義情報格納部５３０に設定する。
【００９７】
［ステップＳ１９］アーカイブファイル生成部１３０は、宛先アドレスに応じたポリシーをアーカイブファイル５００に設定する。アーカイブファイル生成部１３０は、制御テーブル１１１を参照して、宛先アドレスごとのポリシーを取得できる。例えば、宛先入力部７１０に入力された宛先アドレスに“＊＠ｂｂｂ．ｃｏｍ”に該当するものが存在する場合、当該宛先に対しては、有効期限“２０１０／５／３１”、ファイル更新“不可”をポリシーとして設定する。アーカイブファイル生成部１３０は、設定内容をファイル制御情報格納部５４０に格納する。なお、アーカイブファイル生成部１３０は、データ定義情報格納部５３０およびファイル制御情報格納部５４０も暗号化する。アーカイブファイル生成部１３０は、生成したアーカイブファイル５００を電子メール生成部１４０に出力する。
【００９８】
［ステップＳ２０］電子メール生成部１４０は、アーカイブファイル５００を添付ファイルとした電子メール４００を生成する。電子メール生成部１４０は、電子メール４００の本文としてダミー本文を設定する。また、電子メール生成部１４０は、宛先入力部７１０に入力された宛先アドレスを電子メール４００の宛先に設定する。電子メール生成部１４０は、電子メール４００を送信部１５０に出力する。
【００９９】
［ステップＳ２１］送信部１５０は、電子メール４００を宛先アドレスに向けて送信する。
このようにして、端末装置１００は、電子メールの本文として入力されたメッセージを含むアーカイブファイル５００を生成する。端末装置１００は、配布先において、当該メッセージを適切に処理できるよう、アーカイブファイル５００内の拡張パスにプラグインを含めることができる。
【０１００】
なお、ステップＳ１８において、所定の機能を実現するためのプラグインをアーカイブファイル５００に更に含めてもよい。例えば、アーカイブファイル５００に対する所定のバックアップ機能を受信側で実現するためのプラグイン“Ｂａｃｋｕｐ．ｄｌｌ”およびそのプラグインの実行に必要な設定ファイルを追加してもよい。
【０１０１】
図１３は、第２の実施の形態の電子メール受信処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ３１］受信部２３０は、端末装置１００が送信した電子メール４００を受信する。受信部２３０は、電子メール４００に添付された添付ファイル（すなわち、アーカイブファイル５００）のオープン指示の操作入力を受け付ける。すると、受信部２３０は、アーカイブファイル５００に対する処理をアーカイブファイル処理部２４０に委譲する。
【０１０２】
［ステップＳ３２］アーカイブファイル処理部２４０は、アーカイブファイル５００に対するファイルオープンを受け付ける。
［ステップＳ３３］アーカイブファイル処理部２４０は、鍵記憶部２１０に記憶された鍵を用いてアーカイブファイル５００に設けられたデータ定義情報格納部５３０およびファイル制御情報格納部５４０を復号する。アーカイブファイル処理部２４０は、データ定義情報格納部５３０に設定されたデータ名からパス構造を取得する。これにより、例えばフォルダツリー６０のようなパス構造を得る。
【０１０３】
［ステップＳ３４］アーカイブファイル処理部２４０は、パス構造に含まれる拡張パスを特定する。具体的には、“？”の文字を含むパスは拡張パスである。そして、その中からプラグイン本体を含む拡張パスでないものを特定する。具体的には、プラグイン本体の拡張パスは“？Ｐｌｕｇｉｎ？”の文字列を含む。よって、この文字列を含まない拡張パスを特定する。
【０１０４】
［ステップＳ３５］アーカイブファイル処理部２４０は、特定した拡張パスに含まれるデータのうち、未処理のデータがあるか否かを判定する。未処理のデータがある場合、当該データを選択して処理をステップＳ３６に進める。未処理のデータがない場合、処理をステップＳ４１に進める。
【０１０５】
［ステップＳ３６］アーカイブファイル処理部２４０は、選択したデータの拡張パスに含まれる文字列からプラグイン識別子を取得する。具体的には、拡張パスであることを示すフォルダ名“？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？”を特定し、“？”を除いた文字列をプラグイン識別子として取得する。
【０１０６】
［ステップＳ３７］アーカイブファイル処理部２４０は、プラグイン情報記憶部２２０に記憶された取得済プラグイン管理テーブル２１１を参照して、ステップＳ３６で取得したプラグイン識別子に対応するプラグインを既に取得済であるか否かを判定する。未取得である場合、処理をステップＳ３８に進める。取得済である場合、取得済プラグイン管理テーブル２１１の設定内容に基づきローカルディスク（例えば、ＨＤＤ）上のプラグインを取得して、処理をステップＳ４０に進める。
【０１０７】
［ステップＳ３８］アーカイブファイル処理部２４０は、プラグイン本体を格納した拡張パスからステップＳ３６で取得したプラグイン識別子を含むものを検索する。具体的には、拡張パスに“？Ｐｌｕｇｉｎ？”の文字列を含むもののうち、“｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝”を更に含むものを検索する。これにより、アーカイブファイル５００に含まれるファイルから、ステップＳ３５で選択したデータを処理するためのプラグイン本体を特定できる。
【０１０８】
［ステップＳ３９］アーカイブファイル処理部２４０は、特定したプラグイン本体およびその実行に必要な設定ファイルを取得する。具体的には、“ＭａｉｌＰｌｕｇｉｎ．ｄｌｌ”および“Ｍ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”をデータ格納部５２０から抽出し、鍵記憶部２１０に記憶された鍵により復号して、各ファイルを取得する。データ格納部５２０におけるプラグイン本体などの位置は、データ定義情報格納部５３０に設定された各データ名に対応するデータ位置によって特定できる。アーカイブファイル処理部２４０は、取得したプラグイン本体などをローカルディスクに格納する。このとき、アーカイブファイル処理部２４０は、新たに取得したプラグインのプラグイン識別子やローカルディスク上のパスを取得済プラグイン管理テーブル２１１に設定する。これにより、次回からはローカルディスク上からプラグインの実行が可能となる。
【０１０９】
［ステップＳ４０］アーカイブファイル処理部２４０は、プラグインを実行する。これにより、アーカイブファイル処理部２４０は、例えば拡張パスに格納されたメール本文のデータを適切に処理することができる。そして、処理をステップＳ３４に進める。
【０１１０】
［ステップＳ４１］アーカイブファイル処理部２４０は、アーカイブファイル５００において通常パスが設定されたデータの一覧を表示する。そして、処理を完了する。
このようにして、端末装置２００は、アーカイブファイル５００に含まれる拡張データを処理するためのプラグインを、アーカイブファイル５００から適切に取得することができる。そして、端末装置２００は、取得したプラグインによって拡張データを適切に処理することができる。
【０１１１】
なお、プラグインが複数存在する場合には、例えば予め定められた優先順位や、“．ｃｏｎｆ”ファイルなどで設定された優先順位に応じた順序で各プラグインを実行することが考えられる。
【０１１２】
また、上記の手順ではプラグインの実行後に通常パスのデータ一覧を表示するものとしたが、通常パスのデータ一覧を表示した後にプラグインを実行してもよい。例えば、ステップＳ４１をステップＳ３３の直後に実行してもよい。その場合、データ一覧に対する処理を完了したタイミング（例えば、当該一覧の表示のクローズを受け付けたタイミング）で、プラグインの実行を開始することもできる。
【０１１３】
また、上記ステップＳ３３においてアーカイブファイル５００のファイル制御情報格納部５４０に設定された有効期限が過ぎている場合には、アーカイブファイル５００を処理することはできないこととなる。すなわち、この場合、パス構造の取得など、当該ステップ以降の各処理が不可能となる。
【０１１４】
図１４は、プラグインの実行例を示す図である。アーカイブファイル処理部２４０は、電子メール４００に含まれる添付ファイル（アーカイブファイル５００）を取得し、アーカイブファイル５００のオープンを試みる。その際、アーカイブファイル処理部２４０は、アーカイブファイル５００から拡張パスで記述されたデータおよび当該データを処理するためのプラグインを取得する。具体的には、メール本文のデータであるファイル６３１ａ、プラグイン本体であるファイル６５１ａ、プラグイン本体を実行する際の設定ファイルであるファイル６５１ｂなどを取得する。
【０１１５】
アーカイブファイル処理部２４０は、ファイル６３１ａ，６５１ａ，６５１ｂなどに基づいて、端末装置２００に接続されたモニタにメール本文表示画面８００を表示させる。メール本文表示画面８００は、アーカイブファイル５００に含まれるファイル６３１ａの内容を受信側ユーザに提示するための画面である。メール本文表示画面８００は、アドレス表示部８１０、本文表示部８２０および確認ボタン８３０を有する。
【０１１６】
アドレス表示部８１０は、送信元のメールアドレス（Ｆｒｏｍアドレス）、受信アドレス（Ｔｏアドレスおよびｃｃアドレス）を表示するための領域である。アーカイブファイル処理部２４０は、各アドレスを受信部２３０から取得できる。受信部２３０は、電子メール４００のヘッダ部４１０から各アドレスを取得できる。
【０１１７】
本文表示部８２０は、メール本文のデータであるファイル６３１ａの内容を表示するための領域である。
確認ボタン８３０は、受信側ユーザによるメール本文の閲覧が完了した際に、その旨を受け付けるためのボタンである。アーカイブファイル処理部２４０は、確認ボタン８３０の押下操作を受け付けると、メール本文表示画面８００を閉じる。これにより、メール本文用のプラグインの処理が完了する。そして、アーカイブファイル処理部２４０は、未処理の拡張データが存在しない場合には、ファイル一覧画面をモニタに表示させる。
【０１１８】
図１５は、通常パスに格納されたデータ一覧の表示例を示す図である。ファイル一覧画面９００は、通常パスが設定されたデータの一覧を表示するための画面である。通常パスが設定されたデータの一覧は、電子メール入力画面７００の配布フォルダ入力部７４０に入力されたフォルダに入力された各ファイルの一覧に相当する。ファイル一覧画面９００は、ボタン表示部９１０、フォルダツリー表示部９２０およびファイル一覧表示部９３０を有する。
【０１１９】
ボタン表示部９１０は、各フォルダやファイルに対する操作の選択を受け付けるボタン群を表示する領域である。ユーザは、ポインタＰ１によって、ボタン表示部９１０に表示された何れかのボタンをクリック操作することで、現在選択中のファイルに対する所定の操作を行うことができる。
【０１２０】
フォルダツリー表示部９２０は、通常パスのパス構造をツリー状に表示したフォルダツリーを表示するための領域である。受信側ユーザは、ポインタＰ１によってフォルダツリー表示部９２０に表示されたフォルダを選択することができる。
【０１２１】
ファイル一覧表示部９３０は、フォルダツリー表示部９２０で選択されたフォルダの配下に存在するファイルの一覧を表示するための領域である。受信側ユーザは、ポインタＰ１によってファイル一覧表示部９３０に表示されたファイルを選択することができる。
【０１２２】
受信側ユーザは、ボタン表示部９１０に表示されたボタンをポインタＰ１によって押下操作することで、アーカイブファイル処理部２４０に対して、例えば次のような処理を実行させることができる。
【０１２３】
アーカイブファイル処理部２４０は、“上へ”ボタンの押下操作を受け付けると、フォルダツリー表示部９２０で選択中のフォルダよりも一階層だけ上のフォルダに含まれるファイルの一覧をファイル一覧表示部９３０に表示させる。
【０１２４】
また、“開く”ボタンの押下操作を受け付けると、ファイル一覧表示部９３０で選択中のファイルを鍵記憶部２１０に記憶された鍵によって復号して、当該ファイルをオープンすることができる。なお、復号後のファイルが所定のアプリケーションで実行可能な形式となっている場合には、そのアプリケーションに復号後のファイルに対する処理を委譲する。
【０１２５】
“追加”ボタンの押下操作を受け付けると、フォルダツリー表示部９２０で選択中のフォルダにファイルを追加するためのダイアログを表示させることができる。“削除”ボタンの押下操作を受け付けると、ファイル一覧表示部９３０で選択中のファイルを削除することができる。“復号”ボタンの押下操作を受け付けると、ファイル一覧表示部９３０で選択中のファイルを復号して、所定のディレクトリに格納するためのダイアログを表示させることができる。“すべて復号”ボタンの押下操作を受け付けると、フォルダツリー表示部９２０で選択中のフォルダの配下に存在する全てのファイルを復号して、所定のディレクトリに格納するためのダイアログを表示させることができる。
【０１２６】
なお、アーカイブファイル５００のファイル制御情報格納部５４０にポリシーとしてファイル更新“不可”が設定されている場合には、これらのボタンによる全ての処理、あるいは少なくとも一部の処理を制限することができる。これにより、アーカイブファイル５００に対する不正な操作を未然に防止することができる。
【０１２７】
以上で説明したように、端末装置１００はアーカイブファイル５００の拡張パスに拡張機能を実現するためのデータやプラグインを格納して、配布先である端末装置２００に送信する。
【０１２８】
本実施の形態では、メール本文を配布フォルダと共にアーカイブファイル５００に格納するという拡張機能を例示した。この機能によれば、アーカイブファイル５００を電子メール４００の添付ファイルとして暗号化して送信できるので、通信路上におけるメール本文の秘匿性を高めることができる。そして、このような拡張機能を利用してファイルの配布を行う場合、上述のようにアーカイブファイル５００の拡張パスにプラグインなどを格納して配布する。これにより、端末装置２００がプラグインを未取得であったとしても、端末装置２００にメール本文の処理を適正に実行させることができる。
【０１２９】
また、プラグインをアーカイブファイル５００とは別個に配布しておく必要がないので、配布を行う際に配布先に対する配布済・未配布を管理するためのコストや配布を行う際の配布サーバやネットワークに対する負荷を軽減することができる。
【０１３０】
更に、プラグインを送信するために自己解凍形式のプログラムファイルを用いなくてよいので、通信路上でセキュリティ対策を行うノードによって、意図せずに配信対象のファイルが破棄される可能性を低減することができる。
【０１３１】
これにより、端末装置１００はアーカイブファイル５００に対する処理を行うプラグインを容易に配布することができる。
また、端末装置２００は、拡張パスを参照すれば拡張機能を実現するプラグインやデータを容易に取得することができる。このため、拡張パスに格納されたデータと通常パスに格納されたデータとを区別した取扱を容易に行うことができる。
【０１３２】
更に、端末装置１００，２００の間で拡張パスの特定方法を予め合意しておくのみで、その拡張パスを用いた種々のプラグインの配布が可能である。例えば、本実施の形態では、データ名に含まれるパスに“？”の文字を含むものを拡張パスと特定することとした。これにより、アーカイブファイル５００のデータ構造（例えば、データ格納部５２０の構造）を変更することなく、容易にプラグインを配布することが可能となる。
【０１３３】
また、プラグインは、メール本文を表示させるものに限らず、例えばポップアップメッセージを表示させるものでもよい。また、送信側ユーザが指定する画像や音声を受信側の端末装置に出力させるものであってもよい。
【０１３４】
また、上記の例では、通常パスの配下に拡張パスのフォルダを設けるものとしたが、通常パスのルートフォルダとは異なるルートフォルダを拡張パスのルートフォルダとして設けてもよい。
【０１３５】
［第３の実施の形態］
以下、第３の実施の形態を図面を参照して詳細に説明する。前述の第２の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
【０１３６】
ここで、第２の実施の形態では端末装置１００，２００の間での電子メールの送受信を行う場合を例示した。第３の実施の形態では、電子メールをリレーするメールサーバが端末装置１００の機能を実現する場合を例示する。
【０１３７】
図１６は、第３の実施の形態に係る情報処理システムの構成を示す図である。この情報処理システムは、端末装置１００ａ，２００およびメールサーバ３００がネットワーク１０，２０を介して接続されている。
【０１３８】
メールサーバ３００は、端末装置１００ａ，２００が送受信する電子メールをリレーする機能を備えた情報処理装置である。
ここで、端末装置１００ａおよびメールサーバ３００のハードウェア構成は、図３で示した第２の実施の形態の端末装置１００の構成と同様であるため、その説明を省略する。
【０１３９】
なお、以下では端末装置１００ａを利用する送信側ユーザが送信した電子メールをメールサーバ３００が端末装置２００へ向けてリレーするものとする。
また、第２の実施の形態の端末装置１００と同様にメールサーバ３００は、端末装置２００に対するアーカイブファイルの送信を電子メールによって行う。具体的には、メールサーバ３００は、端末装置１００ａから受信した電子メールのメール本文および添付ファイルに基づいて、アーカイブファイルを生成する。そして、生成したアーカイブファイルを代わりの電子メールに添付して端末装置２００に送信する。このように、メール本文をアーカイブファイルに含めて、他の配布ファイルと共に符号化することでメール本文の秘匿性を向上する。
【０１４０】
図１７は、第３の実施の形態のメールサーバの機能構成を示す図である。メールサーバ３００は、制御情報記憶部３１０、受信部３２０、保留部３３０、アーカイブファイル生成部３４０、電子メール生成部３５０および送信部３６０を有する。これらの機能は、メールサーバ３００のＣＰＵによって所定のプログラムが実行されることにより実現される。また、これらの機能の全部または少なくとも一部が専用のハードウェアによって実現されてもよい。
【０１４１】
制御情報記憶部３１０は、図４で説明した第２の実施の形態の制御情報記憶部１１０に対応する。制御情報記憶部３１０は、制御テーブル１１１と同様の制御情報を記憶する。
また、制御情報記憶部３１０は、アーカイブファイル内のデータを用いた拡張機能を実行するためのプラグインを記憶する。
【０１４２】
受信部３２０は、電子メール４００ａを受信する。電子メール４００ａは、端末装置１００ａが端末装置２００を利用する受信側ユーザのメールアドレスに向けて送信したものである。受信部３２０は、電子メール４００ａを保留部３３０に出力する。なお、電子メール４００ａは、添付ファイルとして、データのパス構造を記録したアーカイブファイルを含むものとする。このようなアーカイブファイルとして、例えばＺｉｐ形式のアーカイブファイルが考えられる。なお、このアーカイブファイルをアーカイブファイル生成部３４０が生成するアーカイブファイルと区別するために、以下では圧縮ファイルと呼ぶこととする。
【０１４３】
保留部３３０は、電子メール４００ａの送信を保留する。保留部３３０は、電子メール４００ａをアーカイブファイル生成部３４０に出力する。
保留部３３０は、電子メール生成部３５０から電子メール４００を取得すると、電子メール４００ａに代えて電子メール４００を送信部３６０に出力する。
【０１４４】
アーカイブファイル生成部３４０は、電子メール４００ａに含まれるメール本文と添付された圧縮ファイルとを取得する。アーカイブファイル生成部３４０は、圧縮ファイルに含まれるデータのパス構造を取得する。そして、取得したパス構造に、拡張パスを追加し、その拡張パスにメール本文のデータを設定する。更に、アーカイブファイル生成部３４０は、宛先アドレスに応じて、更に拡張パスを追加し、その拡張パスにメール本文のデータを処理するためのプラグインを設定する。何れの宛先アドレスに対してプラグインの送信が必要であるかは、制御情報記憶部３１０を参照することで判定することができる。
【０１４５】
アーカイブファイル生成部３４０は、このようにして電子メール４００ａからアーカイブファイル５００を生成する。アーカイブファイル５００のデータ構造は、図９で説明した通りである。アーカイブファイル生成部３４０は、生成したアーカイブファイル５００を電子メール生成部３５０に出力する。
【０１４６】
電子メール生成部３５０は、アーカイブファイル生成部３４０から受け付けたアーカイブファイル５００を添付ファイルとして添付した電子メール４００を生成する。電子メール生成部３５０は、電子メール４００の本文としてダミー本文を追加する。電子メール生成部３５０は、電子メール４００のヘッダ情報として、電子メール４００ａのヘッダ情報に設定された宛先アドレスおよび件名などを設定する。電子メール生成部３５０は、生成した電子メール４００を保留部３３０に出力する。
【０１４７】
送信部３６０は、保留部３３０から取得した電子メール４００を宛先アドレスへ向けて送信する。
次に、以上のような構成のメールサーバ３００による電子メール送信処理の手順を説明する。
【０１４８】
図１８は、第３の実施の形態の電子メール送信処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ５１］受信部３２０は、電子メール４００ａを受信する。受信部３２０は、受信した電子メール４００ａを保留部３３０に出力する。保留部３３０は、電子メール４００ａの送信を保留し、電子メール４００ａをアーカイブファイル生成部３４０に出力する。
【０１４９】
［ステップＳ５２］アーカイブファイル生成部３４０は、電子メール４００ａに含まれるメール本文と添付ファイル（圧縮ファイル）とを取得する。
［ステップＳ５３］アーカイブファイル生成部３４０は、圧縮ファイルを展開して、そのパス構造を取得する。なお、以下の具体的な説明において、このパス構造は図１１の配布フォルダ入力部７４０で示した構造と同一であるとする。すなわち、配布するフォルダ（配布フォルダ）のルートとして“／見積資料一式”が入力されているとする。
【０１５０】
［ステップＳ５４］アーカイブファイル生成部３４０は、メール本文のパスを拡張パス形式により決定する。また、メール本文を処理するためのプラグインのパスを拡張パス形式により決定する。具体的には、メール本文（ファイル名“ｍａｉｌ−ｂｏｄｙ”）のパスを“／見積資料一式／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／ｆｏｌｄｅｒ／ｍａｉｌ−ｂｏｄｙ”とする。また、メール本文を処理する際の設定ファイル（ファイル名“ａｄｄｏｎ．ｃｏｎｆ”）のパスを“／見積資料一式／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／ａｄｄｏｎ．ｃｏｎｆ”とする。
【０１５１】
［ステップＳ５５］アーカイブファイル生成部３４０は、電子メール４００ａに含まれる宛先アドレスを取得する。
［ステップＳ５６］アーカイブファイル生成部３４０は、制御情報記憶部３１０に記憶された制御情報を参照して、当該宛先アドレスにつきプラグイン本体の送信が必要であるか否かを判定する。必要である場合、処理をステップＳ５７に進める。必要でない場合、処理をステップＳ５９に進める。
【０１５２】
［ステップＳ５７］アーカイブファイル生成部３４０は、制御情報記憶部３１０を参照してメール本文を処理するためのプラグインを取得する。
［ステップＳ５８］アーカイブファイル生成部３４０は、プラグインのパスを拡張パス形式により決定する。具体的には、プラグイン本体（ファイル名“ＭａｉｌＰｌｕｇｉｎ．ｄｌｌ”）のパスを“／見積資料一式／？Ｐｌｕｇｉｎ？／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／ＭａｉｌＰｌｕｇｉｎ．ｄｌｌ”とする。また、プラグインを実行する際の設定ファイル（ファイル名“Ｍ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”）のパスを“／見積資料一式／？Ｐｌｕｇｉｎ？／？｛Ｃ７８６ＣＡ６０−７３４Ｅ−４９１３−ＡＣ６７−Ｂ３ＢＤＣ４Ｄ８１Ａ０Ｆ｝？／Ｍ−ｐｌｕｇｉｎｃｏｎｆ．ｉｎｉ”とする。
【０１５３】
［ステップＳ５９］アーカイブファイル生成部３４０は、制御情報記憶部３１０に記憶された制御情報を参照し、宛先アドレスに応じた鍵を取得する。アーカイブファイル生成部３４０は、配布フォルダおよびメール本文をアーカイブしてアーカイブファイル５００を生成する。このとき、アーカイブファイル生成部３４０は、取得した鍵によって各データを暗号化する。なお、プラグインも送付する場合には、ステップＳ５７で取得したプラグインや所定の設定ファイルもアーカイブファイル５００に含める。アーカイブファイル生成部３４０は、配布フォルダに含まれる各ファイル、メール本文データおよびプラグインデータをデータ格納部５２０に格納する。そして、各データのパス（通常パスおよび拡張パス）を含むデータ名と、アーカイブファイル５００における各データのアドレスを示すデータ位置と、をデータ定義情報格納部５３０に設定する。
【０１５４】
［ステップＳ６０］アーカイブファイル生成部３４０は、宛先アドレスに応じたポリシーをアーカイブファイル５００に設定する。アーカイブファイル生成部１３０は、制御情報記憶部３１０に記憶された制御情報を参照して、宛先アドレスごとのポリシーを取得できる。例えば、電子メール４００ａの宛先アドレスに“＊＠ｂｂｂ．ｃｏｍ”に該当するものが存在する場合、当該宛先に対しては、有効期限“２０１０／５／３１”、ファイル更新“不可”をポリシーとして設定する。アーカイブファイル生成部３４０は、設定内容をファイル制御情報格納部５４０に格納する。なお、アーカイブファイル生成部３４０は、データ定義情報格納部５３０およびファイル制御情報格納部５４０も暗号化する。アーカイブファイル生成部３４０は、生成したアーカイブファイル５００を電子メール生成部３５０に出力する。
【０１５５】
［ステップＳ６１］電子メール生成部３５０は、アーカイブファイル５００を添付ファイルとした電子メール４００を生成する。電子メール生成部３５０は、電子メール４００の本文としてダミー本文を設定する。また、電子メール生成部３５０は、電子メール４００ａに入力された宛先アドレスを電子メール４００の宛先に設定する。電子メール生成部３５０は、電子メール４００を保留部３３０に出力する。保留部３３０は、電子メール生成部３５０から電子メール４００を取得すると、保留していた電子メール４００ａに代えて電子メール４００を送信部３６０に出力する。
【０１５６】
［ステップＳ６２］送信部３６０は、電子メール４００を宛先アドレスに向けて送信する。
このようにして、メールサーバ３００は、電子メール４００ａの本文として入力されたメッセージを含むアーカイブファイル５００を生成する。メールサーバ３００は、配布先において、当該メッセージを適切に処理できるよう、アーカイブファイル５００内の拡張パスにプラグインを含めることができる。
【０１５７】
なお、ステップＳ５９において、所定の機能を実現するためのプラグインをアーカイブファイル５００に更に含めてもよい。例えば、アーカイブファイル５００に対する所定のバックアップ機能を受信側で実現するためのプラグイン“Ｂａｃｋｕｐ．ｄｌｌ”およびそのプラグインの実行に必要な設定ファイルを追加してもよい。
【０１５８】
ここで、端末装置２００による受信処理の手順は図１３で示した手順と同一である。
このように、メールサーバ３００によっても第２の実施の形態の端末装置１００と同様の機能を実現することができる。これにより、第２の実施の形態と同様の効果を得ることができる。具体的には、以下の通りである。
【０１５９】
第３の実施の形態においても、メール本文を配布フォルダと共にアーカイブファイル５００に格納するという拡張機能を例示した。この機能によれば、アーカイブファイル５００を電子メール４００の添付ファイルとして暗号化して送信できるので、通信路上におけるメール本文の秘匿性を高めることができる。そして、このような拡張機能を利用してファイルの配布を行う場合、上述のようにアーカイブファイル５００の拡張パスにプラグインなどを格納して配布する。これにより、端末装置２００がプラグインを未取得であったとしても、端末装置２００にメール本文の処理を適正に実行させることができる。
【０１６０】
また、プラグインをアーカイブファイル５００とは別個に配布しておく必要がないので、配布を行う際に配布先に対する配布済・未配布を管理するためのコストや配布を行う際の配布サーバやネットワークに対する負荷を軽減することができる。
【０１６１】
更に、プラグインを送信するために自己解凍形式のプログラムファイルを用いなくてよいので、通信路上でセキュリティ対策を行うノードによって、意図せずに配信対象のファイルが破棄される可能性を低減することができる。
【０１６２】
これにより、メールサーバ３００はアーカイブファイル５００に対する処理を行うプラグインを容易に配布することができる。
また、端末装置２００は、拡張パスを参照すれば拡張機能を実現するプラグインやデータを容易に取得することができる。このため、拡張パスに格納されたデータと通常パスに格納されたデータとを区別した取扱を容易に行うことができる。
【０１６３】
更に、メールサーバ３００と端末装置２００との間で拡張パスの特定方法を予め合意しておくのみで、その拡張パスを用いた種々のプラグインの配布が可能である。例えば、本実施の形態では、データ名に含まれるパスに“？”の文字を含むものを拡張パスと特定することとした。これにより、アーカイブファイル５００のデータ構造（例えば、データ格納部５２０の構造）を変更することなく、容易にプラグインを配布することが可能となる。
【０１６４】
更に、メールサーバ３００に上記処理を実行させることで、端末装置１００ａを利用する送信側ユーザにおいて、アーカイブファイル５００を生成するための機能が不要となる。このため、送信側に多数の端末装置が存在する場合には導入に要するコストを低減することができる。また、メールサーバ３００を設けることで、ポリシーや鍵を効率的に管理することができる。
【０１６５】
以上、本発明のファイル処理プログラム、ファイル処理装置およびファイル処理方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１６６】
１  ファイル処理装置
１ａ  生成手段
１ｂ  出力手段
２  アーカイブファイル
２ａ  第１のパス
２ｂ  第２のパス
Ｄ１  第１の種類のデータ
Ｄ２  第２の種類のデータ
【図１】
0005538979.tif 000002
【図２】
0005538979.tif 000003
【図３】
0005538979.tif 000004
【図４】
0005538979.tif 000005
【図５】
0005538979.tif 000006
【図６】
0005538979.tif 000007
【図７】
0005538979.tif 000008
【図８】
0005538979.tif 000009
【図９】
0005538979.tif 000010
【図１０】
0005538979.tif 000011
【図１１】
0005538979.tif 000012
【図１２】
0005538979.tif 000013
【図１３】
0005538979.tif 000014
【図１４】
0005538979.tif 000015
【図１５】
0005538979.tif 000016
【図１６】
0005538979.tif 000017
【図１７】
0005538979.tif 000018
【図１８】
0005538979.tif 000019