JP5538979B2 - ファイル処理プログラム、ファイル処理装置およびファイル処理方法 - Google Patents

ファイル処理プログラム、ファイル処理装置およびファイル処理方法 Download PDF

Info

Publication number
JP5538979B2
JP5538979B2 JP2010080841A JP2010080841A JP5538979B2 JP 5538979 B2 JP5538979 B2 JP 5538979B2 JP 2010080841 A JP2010080841 A JP 2010080841A JP 2010080841 A JP2010080841 A JP 2010080841A JP 5538979 B2 JP5538979 B2 JP 5538979B2
Authority
JP
Japan
Prior art keywords
data
file
path
program
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010080841A
Other languages
English (en)
Other versions
JP2011215711A (ja
Inventor
晃歓 楾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Broad Solution and Consulting Inc
Original Assignee
Fujitsu Broad Solution and Consulting Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Broad Solution and Consulting Inc filed Critical Fujitsu Broad Solution and Consulting Inc
Priority to JP2010080841A priority Critical patent/JP5538979B2/ja
Publication of JP2011215711A publication Critical patent/JP2011215711A/ja
Application granted granted Critical
Publication of JP5538979B2 publication Critical patent/JP5538979B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はアーカイブファイルを処理するファイル処理プログラム、ファイル処理装置およびファイル処理方法に関する。
従来、複数のファイルを一つのファイル(書庫)にまとめたアーカイブファイル(archive file)が利用されている。アーカイブファイル形式として、例えばZip形式が知られている。Zip形式では、複数のファイルをそのパス構造を保持してアーカイブするとともに、データ量を圧縮することができる(例えば、非特許文献1参照)。
PKWARE Inc.、"APPNOTE.TXT - .ZIP File Format Specification"、[online]、平成19年9月28日、[平成22年3月23日検索]インターネット <URL:http://www.pkware.com/documents/casestudies/APPNOTE.TXT>
ところで、アーカイブファイルを扱うプログラムの機能を拡張した場合、当該機能のために拡張用のプログラム(拡張プログラム)が配布先で事前に利用可能となっている必要がある。
そのために、例えば拡張プログラムをアーカイブファイルとは別個に事前配布することが考えられる。しかし、この方法では配布先が大量に存在するほど、配布先に対する配布有無の管理コストや配布を行うサーバやネットワークに対する負荷が問題となる。
一方、例えば拡張プログラムを含む自己解凍形式のプログラムファイルにアーカイブファイルを含めて配布することが考えられる。しかし、第三者の配布する自己解凍形式のプログラムファイルにはウィルスを含む危険なものも存在する。このため、セキュリティ対策として、自己解凍形式のプログラムファイルが通信路上で破棄される可能性があるという問題がある。
本発明はこのような点に鑑みてなされたものであり、アーカイブファイルに対する処理を行う拡張プログラムを容易に配布できるファイル処理プログラム、ファイル処理装置およびファイル処理方法を提供することを目的とする。
本発明では上記課題を解決するために、ファイル処理プログラムが提供される。このファイル処理プログラムは、第1の種類のデータを取得し、第1のパス形式で記述された第1のパスに対応付けて第1の種類のデータを格納し、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第2の種類のデータを格納したアーカイブファイルを生成し、生成したアーカイブファイルを出力する、処理をコンピュータに実行させる。
また、上記課題を解決するために、ファイル処理プログラムが提供される。このファイル処理プログラムは、第1のパス形式で記述された第1のパスに対応付けられた第1の種類のデータと、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第2の種類のデータと、が格納されたアーカイブファイルを取得し、第1のパス形式で使用しない文字を検出することで、アーカイブファイルから第2の種類のデータを抽出し、抽出した第2の種類のデータに基づいて所定の処理を実行する、処理をコンピュータに実行させる。
また、上記課題を解決するために、ファイル処理装置が提供される。このファイル処理装置は、生成手段および出力手段を有する。生成手段は、第1の種類のデータを取得し、第1のパス形式で記述された第1のパスに対応付けて第1の種類のデータを格納し、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第2の種類のデータを格納したアーカイブファイルを生成する。出力手段は、生成手段が生成したアーカイブファイルを出力する。
また、上記課題を解決するために、ファイル処理装置が提供される。このファイル処理装置は、取得手段および処理手段を有する。取得手段は、第1のパス形式で記述された第1のパスに対応付けられた第1の種類のデータと、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第2の種類のデータと、が格納されたアーカイブファイルを取得する。処理手段は、第1のパス形式で使用しない文字を検出することで、取得手段が取得したアーカイブファイルから第2の種類のデータを抽出し、抽出した第2の種類のデータに基づいて所定の処理を実行する。
また、上記課題を解決するためにファイル処理装置のファイル処理方法が提供される。このファイル処理方法では、ファイル処理装置が、第1の種類のデータを取得し、第1のパス形式で記述された第1のパスに対応付けて第1の種類のデータを格納し、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第2の種類のデータを格納したアーカイブファイルを生成し、生成したアーカイブファイルを出力する。
また、上記課題を解決するためにファイル処理装置のファイル処理方法が提供される。このファイル処理方法では、ファイル処理装置が、第1のパス形式で記述された第1のパスに対応付けられた第1の種類のデータと、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第2の種類のデータと、が格納されたアーカイブファイルを取得し、第1のパス形式で使用しない文字を検出することで、アーカイブファイルから第2の種類のデータを抽出し、抽出した第2の種類のデータに基づいて所定の処理を実行する。
上記ファイル処理プログラム、ファイル処理装置およびファイル処理方法によれば、アーカイブファイルに対する処理を行う拡張プログラムを容易に配布できる。
第1の実施の形態に係るファイル処理装置を示す図である。 第2の実施の形態に係る情報処理システムの構成を示す図である。 第2の実施の形態の端末装置のハードウェア構成を示す図である。 第2の実施の形態の端末装置の機能構成を示す第1の図である。 第2の実施の形態の端末装置の機能構成を示す第2の図である。 制御テーブルのデータ構造例を示す図である。 取得済プラグイン管理テーブルのデータ構造例を示す図である。 電子メールのデータ構造例を示す図である。 アーカイブファイルのデータ構造例を示す図である。 フォルダツリーのツリー構造例を示す図である。 電子メール入力画面の例を示す図である。 第2の実施の形態の電子メール送信処理を示すフローチャートである。 第2の実施の形態の電子メール受信処理を示すフローチャートである。 プラグインの実行例を示す図である。 通常パスに格納されたデータ一覧の表示例を示す図である。 第3の実施の形態に係る情報処理システムの構成を示す図である。 第3の実施の形態のメールサーバの機能構成を示す図である。 第3の実施の形態の電子メール送信処理を示すフローチャートである。
以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るファイル処理装置を示す図である。ファイル処理装置1は、複数のファイルを単一のファイルにアーカイブ(書庫化)したアーカイブファイル2を生成する。ファイル処理装置1は、生成手段1aおよび出力手段1bを有する。
生成手段1aは、アーカイブファイル2を生成する。生成手段1aは、第1の種類のデータD1を取得し、第1のパス形式で記述された第1のパス2aに対応付けて第1の種類のデータD1をアーカイブファイル2に格納する。生成手段1aは、第1のパス2aで使用しない文字を含む第2のパス形式で記述された第2のパス2bに対応付けて所定の処理に用いる第2の種類のデータD2をアーカイブファイル2に格納する。
出力手段1bは、生成手段1aが生成したアーカイブファイル2を出力する。
ここで、第1の種類のデータD1は通常の配布目的でアーカイブされた複数のデータを示す。一方、第2の種類のデータD2は、例えば配布目的以外の所定の処理に用いるものである。所定の処理とは、例えば第2の種類のデータD2を用いた拡張機能を実現するための処理である。より具体的には、例えばアーカイブファイル2の配布者が第1の種類のデータの展開に先立って(あるいは、展開中や展開後に)通知すべきメッセージを表示させる機能が考えられる。第2の種類のデータD2には、そのような処理を配布先で実現させるための拡張プログラムおよび拡張プログラムが処理する処理データが含まれる。
第2の種類のデータD2は、ファイル処理装置1に予め格納されている。また、第2の種類のデータD2は、配布者がファイル処理装置1に入力したデータでもよい。
ファイル処理装置1によれば、生成手段1aにより、第1の種類のデータD1が取得される。生成手段1aにより、第1のパス形式で記述された第1のパス2aに対応付けて第1の種類のデータD1を格納し、第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパス2bに対応付けて所定の処理に用いる第2の種類のデータD2を格納したアーカイブファイル2が生成される。出力手段1bにより、生成手段1aが生成したアーカイブファイル2が出力される。
このように、アーカイブファイル2内に、第1,第2のパス形式で記述された2つのパスを設ける。これにより、配布先では第1のパス2aおよび第2のパス2bに格納された各データを別個に取り扱うことができる。よって、第2のパス2bに格納された第2の種類のデータD2を用いた拡張機能を配布先において容易に実現することが可能となる。
また、ファイル処理装置1は、第2の種類のデータD2として、拡張プログラムをアーカイブファイル2に含めることができる。このため、従来のように拡張プログラムを別個に再配布しなくてよい。よって、配布を行う際に配布先を管理する管理コストが軽減される。また、配布を行う際のサーバやネットワークに対する負荷が軽減される。
更に、拡張プログラムを送信するために自己解凍形式のプログラムファイルを用いなくてよい。このため、通信路上でセキュリティ対策を行うノードによって、意図せずに配信対象のファイルが破棄される可能性を低減できる。
このようにしてアーカイブファイル2に拡張プログラムを含めることで、当該拡張プログラムを容易に配布できるようになる。
以下、情報処理システムにファイル処理装置1を適用する場合を例に採り、更に詳細に説明する。
[第2の実施の形態]
図2は、第2の実施の形態に係る情報処理システムの構成を示す図である。この情報処理システムは、端末装置100,200がネットワーク10を介して接続されている。ネットワーク10は、例えばインターネットである。
端末装置100,200は、ネットワーク10を介してアーカイブファイルを送受信する。
端末装置100は、送信側ユーザによって入力された文字列や配布ファイル(あるいはフォルダ)により、アーカイブファイルを生成する。端末装置100は、生成したアーカイブファイルを端末装置200に送信する。
端末装置200は、端末装置100から受信したアーカイブファイルの内容を受信側ユーザに提示する。
ここで、端末装置100が生成するアーカイブファイルは次のような拡張機能を備えている。
端末装置100は、端末装置200に対するアーカイブファイルの送信を電子メールによって行う。具体的には、端末装置100はアーカイブファイルを電子メールに添付して端末装置200に送信する。このとき、端末装置100はアーカイブファイルに送信側ユーザが入力したメール本文を含める。メール本文をアーカイブファイルに含めて、他の配布ファイルと共に符号化することでメール本文の秘匿性を向上できる。
端末装置200は、このアーカイブファイルを処理するために拡張機能に対応している必要がある。端末装置100は、端末装置200がその拡張機能に未対応であったとしても、そのための拡張プログラムを端末装置200に対して容易に送信することができる。以下、端末装置100,200におけるそのための構成を説明する。
図3は、第2の実施の形態の端末装置のハードウェア構成を示す図である。端末装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、グラフィック処理装置105、入力インタフェース106、記録媒体読取装置107および通信インタフェース108を有する。
CPU101は、端末装置100全体を制御する。
ROM102は、端末装置100上のBIOS(Basic Input / Output System)のプログラムなどを記憶する。
RAM103は、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションソフトウェア(以下、アプリケーションという)のプログラムの少なくとも一部を一時的に記憶する。また、RAM103は、CPU101による処理に必要な各種データを記憶する。
HDD104は、OSのプログラム、アプリケーションのプログラムを記憶する。また、HDD104はCPU101による処理に必要な各種データを記憶する。なお、HDD104に代えて(または、HDD104と併せて)、SSD(Solid State Drive)など他の種類の記憶装置を用いてもよい。
グラフィック処理装置105は、モニタ11と接続される。グラフィック処理装置105は、CPU101からの命令に従って画像をモニタ11の画面に表示させる。
入力インタフェース106は、キーボード12とマウス13と接続される。入力インタフェース106は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。
記録媒体読取装置107は、記録媒体14に記憶されたデータを読み取る読取装置である。例えば、端末装置100が有すべき機能は、その機能の処理内容を記述したプログラムをコンピュータが実行することで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体14に記録して配布することができる。また、ネットワーク10に接続されたプログラム配信サーバ(図示せず)にプログラムを格納してもよい。この場合、端末装置100は、ネットワーク10を介してプログラム配信サーバからプログラムをダウンロードすることができる。
記録媒体14としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD:Flexible Disk)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。
通信インタフェース108は、ネットワーク10と接続される。通信インタフェース108は、ネットワーク10を介して端末装置200を含む他の情報処理装置とデータ通信する。
なお、端末装置200も端末装置100と同様のハードウェア構成により実現できる。
以下では、端末装置100のユーザから端末装置200のユーザに対して電子メールを送信する場合を想定して説明する。
図4は、第2の実施の形態の端末装置の機能構成を示す第1の図である。端末装置100は、制御情報記憶部110、入力部120、アーカイブファイル生成部130、電子メール生成部140および送信部150を有する。これらの機能は、CPU101によって所定のプログラムが実行されることにより実現される。また、これらの機能の全部または少なくとも一部が専用のハードウェアによって実現されてもよい。
制御情報記憶部110は、アーカイブ処理の制御情報(ポリシー)を記憶する。この制御情報には、例えば送信先に応じたアーカイブファイルの有効期限が設定される。また、例えば送信先でアーカイブファイルに対する更新を可能とするか不可とするかを示すフラグが設定される。また、例えば送信先でアーカイブファイルの展開に必要な鍵が設定される。
この鍵は、アーカイブファイルを暗号処理するための暗号鍵である。具体的には、端末装置100,200で利用可能な共通鍵である。端末装置100,200が共通に利用可能な鍵によって暗号処理することで、両端末装置間でのデータ送受信の際のセキュリティを向上できる。
また、制御情報記憶部110は、アーカイブファイル内のデータを用いた拡張機能を実行するための拡張プログラム(以下、プラグインという)を記憶する。
入力部120は、送信側ユーザによる電子メールの入力内容を受け付ける。入力内容には、受信側ユーザの電子メールアドレスや件名などの情報が含まれる。また、入力内容には、メール本文の情報および配布ファイルの情報が含まれる。ここで、配布ファイルの情報には、そのファイルの端末装置100におけるパスを示す情報が含まれる。入力部120は、受け付けた入力内容をアーカイブファイル生成部130に出力する。
アーカイブファイル生成部130は、入力部120から受け付けた入力内容に基づいて、アーカイブファイルを生成する。アーカイブファイル生成部130は、アーカイブファイルにメール本文を含める。アーカイブファイルに含まれたメール本文は、送信先において当該アーカイブファイルを処理するプログラムの拡張機能によって処理される。アーカイブファイル生成部130は、制御情報記憶部110に記憶された制御情報に基づいて、アーカイブファイルのポリシー(有効期限や暗号処理用の鍵など)を決定する。また、拡張機能を実行するためのプラグインを含めるか否かを制御する。アーカイブファイル生成部130は、生成したアーカイブファイルを電子メール生成部140に出力する。
電子メール生成部140は、アーカイブファイル生成部130から受け付けたアーカイブファイルを添付ファイルとして添付した電子メール400を生成する。送信部150は、電子メール400の本文として、ダミー本文を追加する。電子メール400の宛先および件名などのヘッダ情報として、入力部120が受け付けた受信側ユーザの宛先アドレスおよび件名などを設定する。電子メール生成部140は、生成した電子メール400を送信部150に出力する。
送信部150は、電子メール生成部140から取得した電子メール400を宛先アドレスへ向けて送信する。
図5は、第2の実施の形態の端末装置の機能構成を示す第2の図である。端末装置200は、鍵記憶部210、プラグイン情報記憶部220、受信部230およびアーカイブファイル処理部240を有する。これらの機能は、端末装置200のCPUによって所定のプログラムが実行されることにより実現される。また、これらの機能の全部または少なくとも一部が専用のハードウェアによって実現されてもよい。
鍵記憶部210は、アーカイブファイルの暗号処理に用いる鍵を記憶する。ただし、受信側ユーザによる鍵の入力を受け付ける場合には、鍵記憶部210を設けなくてもよい。
プラグイン情報記憶部220は、端末装置200に適用済のプラグインを管理するためのプラグイン情報を記憶する。
受信部230は、電子メール400を受信する。受信部230は、電子メール400に添付されたアーカイブファイルへの操作を受け付けると、当該アーカイブファイルに対する処理をアーカイブファイル処理部240に委譲する。
アーカイブファイル処理部240は、受信部230から取得したアーカイブファイルを処理する。アーカイブファイル処理部240は、アーカイブファイルに何れかの拡張機能によって処理されるべきデータが存在するか否かを特定する。本例では、アーカイブファイルに含まれるメール本文が拡張機能によって処理されるべきデータに該当する。アーカイブファイル処理部240は、プラグイン情報記憶部220に記憶されたプラグイン情報を参照して、対応する拡張機能を実行するためのプラグインを取得済であるかを判断する。プラグインを未取得である場合には、アーカイブファイルから対応するプラグインを取得する。
アーカイブファイル処理部240は、アーカイブファイルから取得したプラグインを実行して、メール本文の内容を拡張機能により受信側ユーザに提示することができる。
図6は、制御テーブルのデータ構造例を示す図である。制御テーブル111は、制御情報記憶部110に予め格納される。制御テーブル111には、項番、宛先アドレス、有効期限、ファイル更新、プラグインおよび鍵を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの制御ルールを示す。
項番には、レコードを識別するための番号が設定される。宛先アドレスには、電子メールの送信先(To,Cc,Bcc)のメールアドレス(宛先アドレス)が設定される。有効期限には、アーカイブファイルの有効期限が設定される。ファイル更新には、アーカイブファイルに格納された本文ファイルや配布ファイルの内容を更新可能とするか否かを示す情報(更新可否フラグ)が設定される。プラグインには、アーカイブファイルに含まれた電子メール本文を処理するためのプラグインを、アーカイブファイルに含めるか否かを示す情報(プラグイン要否フラグ)が設定される。鍵には、宛先アドレスに対して用いるべき鍵が設定される。
制御テーブル111には、例えば、項番が“1”、宛先アドレスが“*@aaa.com”、有効期限、ファイル更新、プラグインおよび鍵が何れも“−”(設定なし)という情報が設定される。これは、ドメイン“*@aaa.com”に対して送信する電子メールについては、入力部120が受け付けた入力内容に対して何らの処理も行わずに通常の電子メールとして送信することを示している。より具体的には、メール本文として受け付けた内容が送信する電子メールの本文となる。また、配布ファイルとして受け付けたファイルが送信する電子メールにアーカイブされずに添付されることとなる。
なお、“*”はワイルドカードであり、任意の文字列に対応する。
また、制御テーブル111には、例えば、項番が“2”、宛先アドレスが“*@bbb.com”、有効期限が“2010/5/31”、ファイル更新が“不可”、プラグインが“要”、鍵が“鍵K1”という情報が設定される。これは、ドメイン“*@bbb.com”へ送信する電子メールについては、入力内容をアーカイブして“鍵K1”によって暗号化することを示している。また、アーカイブファイルに含まれるメール本文や配布ファイルに対する更新を“不可”とすることを示している。また、当該ドメインのユーザに対してアーカイブファイルにプラグインを含める必要があることを示している。
図7は、取得済プラグイン管理テーブルのデータ構造例を示す図である。取得済プラグイン管理テーブル211は、プラグイン情報記憶部220に格納されたプラグイン情報である。アーカイブファイル処理部240は、新たにプラグインを適用するたびに取得済プラグイン管理テーブル211に適用したプラグインの情報を登録する。
取得済プラグイン管理テーブル211には、項番、プラグイン識別子、関連ファイルF1および関連ファイルF2を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの取得済プラグインに関する情報を示す。
項番には、レコードを識別するための番号が設定される。プラグイン識別子には、プラグインを識別するためのプラグイン識別子が設定される。プラグイン識別子として、例えばGUID(Globally Unique IDentifier)を用いることができる。プラグイン識別子は、拡張機能を実現するプラグインごとに予め決定されている。関連ファイルF1,F2には、当該プラグインを実行するために使用するファイルのファイル名が設定される。
取得済プラグイン管理テーブル211には、例えば、項番が“1”、プラグイン識別子が“{E32FFA2E−0F40−4749−8A89−CF8780A8856F}”、関連ファイルF1が“.../BackupPlugin.dll”、関連ファイルF2が“.../B−pluginconf.ini”という情報が設定される。ここで、関連ファイルF1,F2における“.../”は各ファイルの端末装置200におけるパスを略記したものである。パスは、絶対パスで表現してもよいし、相対パスで表現してもよい。
当該レコードは、このプラグイン識別子に対応する拡張機能を実行するためのプラグインモジュールとして“.../BackupPlugin.dll”を既に取得済であり、利用可能であることを示している。また、当該プラグインモジュールを実行する際の設定ファイルとして、“.../B−pluginconf.ini”を既に取得済であり、利用可能であることを示している。
なお、関連ファイルを2つ分管理する例を示したが3以上の関連ファイルを管理することもできる。
図8は、電子メールのデータ構造例を示す図である。電子メール400は、ヘッダ部410、境界部420、本文格納部430、境界部440および添付ファイル格納部450を有する。
ヘッダ部410は、電子メール400の送信元アドレス、宛先アドレスおよび件名などを示す情報が記載されたフィールドである。境界部420は、ヘッダ部410と本文格納部430との境界を示す情報が記載された(あるいは空白行が設定された)フィールドである。本文格納部430は、電子メールの本文が記載されたフィールドである。境界部440は、本文格納部430と添付ファイル格納部450との境界を示す情報が記載されたフィールドである。
電子メール400では、入力部120が受け付けたメール本文はアーカイブファイルに含める。このため、送信部150は、本文格納部430にダミー本文を設定する。ダミー本文には、例えばアーカイブファイルに送信側ユーザの記したメッセージが含まれている旨を示すメッセージが設定される。また、送信部150は、添付ファイル格納部450にアーカイブファイルを設定する。
図9は、アーカイブファイルのデータ構造例を示す図である。アーカイブファイル500は、管理情報格納部510、データ格納部520、データ定義情報格納部530およびファイル制御情報格納部540を有する。
管理情報格納部510は、OSのファイルシステムで用いるファイル管理用の情報を格納するデータ領域である。なお、管理情報格納部510は、暗号化されないデータ領域である。
データ格納部520は、入力部120に配布ファイルとして入力されたファイルやメール本文を格納するためのデータ領域である。データ格納部520には、ファイルデータ群521、拡張データ522および拡張プラグイン523が含まれる。
ファイルデータ群521は、入力部120に配布ファイルとして入力された一以上のファイルである。拡張データ522は、拡張機能によって処理すべきデータである。具体的には、入力部120にメール本文として入力されたデータである。拡張プラグイン523は、拡張データ522を処理するためのプラグインである。
データ定義情報格納部530は、データ格納部520内の各データを識別するための情報を格納するためのデータ領域である。データ定義情報格納部530には、データ名531およびデータアドレス532が含まれる。データ名531は、ファイルデータ群521のうちの一のファイルのデータ名である。データ名にはパスが含まれる。データアドレス532は、当該ファイルのアーカイブファイル500内の位置(アドレス)を示す情報である。データ名およびデータアドレスは、データ格納部520に格納されたファイルデータ、拡張データ522および拡張プラグイン523ごとに設定される。
ファイル制御情報格納部540は、アーカイブファイル500のポリシーに関する情報を格納するためのデータ領域である。具体的には、アーカイブファイル500の有効期限およびファイル更新の可否などを示す情報が格納される。端末装置200は、ファイル制御情報格納部540を参照することで、当該情報で示されるポリシーに基づいてアーカイブファイル500を取り扱うことができる。
なお、データ格納部520、データ定義情報格納部530およびファイル制御情報格納部540は暗号化されるデータ領域である。
次に、データ定義情報格納部530のデータ名によって表されるパス構造を説明する。
図10は、フォルダツリーのツリー構造例を示す図である。フォルダツリー60は、データ定義情報格納部530のデータ名によって表されるパス構造をツリー形式に表現したものの一例である。
フォルダツリー60は、ルートフォルダ600を最上位として、配下のフォルダおよびファイルの構造を示している。ルートフォルダの名称として“/root”を例示している。
フォルダ610,620,630,640,650は、ルートフォルダ600よりも一階層だけ下位のフォルダである。ここで、フォルダ610,620は、データ名に通常のパス(以下、通常パスという)が設定されたフォルダである。フォルダ610の名称として“folder1”、フォルダ620の名称として“folder2”を例示している。
フォルダ610よりも一階層だけ下位の階層にはファイル611(ファイル名“file1”)、ファイル612(ファイル名“file2”)が格納されている。ここで、図10中、ファイル名とフォルダ名とを区別するために、ファイル名の“/”の記号を省略して表記している。また、フォルダ620よりも一階層だけ下位の階層には、フォルダ621(フォルダ名“folder3”)およびファイル622(ファイル名“file4”)が格納されている。更に、フォルダ621よりも一階層だけ下位の階層にはファイル621a(ファイル名“file3”)が格納されている。
ここで、ファイル611,612,621a,622は、配布ファイルとして入力部120により受け付けられたものである。アーカイブファイル生成部130は、ファイル611,612,621a,622を受け付けると、パスと共に、そのデータ名をデータ定義情報格納部530に設定する。
フォルダ630,640,650は、プラグインによって処理されるべきデータを設定するためのフォルダである。フォルダ630,640,650は、そのようなデータを格納するための所定のパス(以下、拡張パスという)によって表される。
拡張パスは、通常パスとしては使用できない形式で記述する。例えば、ファイルシステムによって通常パスとしては認識できない文字列によって記述する。
例えば、OSとしてWindows(登録商標)を用いる端末装置に対して配布する場合、当該OSで通常用いられているNTFS(New Technology File System)では使用できない“?、<、>、*、:”などの記号を用いてパスを記述する。
アーカイブファイル処理部240は、アーカイブファイル500を受信すると、データ定義情報格納部530のデータ名を参照して、フォルダツリー60を再現することができる。
図10では、“?”を使用する場合を例示している。すなわち、フォルダ630の名称を“?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?”とする。フォルダ名の最初と最後とに記述された“?”記号は、フォルダ630が拡張パスで記述されていることを示している。“{C786CA60−734E−4913−AC67−B3BDC4D81A0F}”の部分は、フォルダ630の配下に格納されているデータを処理するためのプラグインを示すプラグイン識別子である。ここで、当該プラグインは、受信側でメール本文を処理するためのものである。以下に示す例では、拡張パスであることを示す文字として“?”を用いる場合を例示するが、それ以外の文字を用いてもよい。また、そのような文字は、配布先の端末装置で利用されているファイルシステムに応じて変更することができる。また、当該文字の数や挿入位置も任意に決定することができる。
フォルダ630よりも一階層だけ下位の階層にはフォルダ631(フォルダ名“folder5”)、ファイル632(ファイル名“addon.conf”)が格納されている。更に、フォルダ631よりも一階層だけ下位の階層にはファイル631a(ファイル名“mail−body”)が格納されている。
ファイル631aは、メール本文を示す文字列を格納したファイルである。ファイル632は、ファイル631aをプラグインによって処理する際の設定(ファイル単位の個別設定)が記述されたファイルである。ファイル632は、必要に応じて付加される。例えば、メール本文の入力態様(フォント、文字の大きさ、色および行幅など)を受信側で再現させるために生成し、付加することが考えられる。また、他のプラグインとの間で処理を実行するための優先順位を決定するための情報を設定することが考えられる。
フォルダ640(フォルダ名“?{E32FFA2E−0F40−4749−8A89−CF8780A8856F}?”)に関しても同様である。ここで、当該プラグインは、受信側でアーカイブファイルに対する所定のバックアップ機能を実現するためのものである。フォルダ640よりも一階層だけ下位の階層にはファイル641(ファイル名“addon.conf”)が格納されている。ファイル641の役割はファイル632と同様である。例えば、配布先に応じたバックアップ処理の内容をファイル641の記述によって設定可能とすることができる。
フォルダ650は、その名称を“?Plugins?”としている。これは、フォルダ650のプラグイン本体が格納されているフォルダであることを示す。フォルダ650よりも一階層だけ下位の階層には、フォルダ651(フォルダ名“?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?”)、フォルダ652(フォルダ名“?{E32FFA2E−0F40−4749−8A89−CF8780A8856F}?”)が格納されている。
フォルダ651よりも一階層だけ下位の階層には、ファイル651a(ファイル名“MailPlugin.dll”)、ファイル651b(ファイル名“M−pluginconf.ini”)が格納されている。ファイル651a,651bはプラグイン識別子“{C786CA60−734E−4913−AC67−B3BDC4D81A0F}”に対応するプラグインの本体である。
また、フォルダ652よりも一階層だけ下位の階層には、ファイル652a(ファイル名“BackupPlugin.dll”)、ファイル652b(ファイル名“B−pluginconf.ini”)が格納されている。ファイル652a,652bはプラグイン識別子“{E32FFA2E−0F40−4749−8A89−CF8780A8856F}”に対応するプラグインの本体である。
このように、受信側で通常パスとして認識されないパス形式を用いて、拡張機能に用いるデータを格納したパスを記述する。これにより、受信側では通常パスと拡張パスとを容易に区別して処理することができる。
また、拡張パスとして記述したフォルダ名にプラグイン識別子を含める。これにより、受信側では拡張機能により実行すべきデータとそのデータを処理すべきプラグインとを容易に対応付けることができる。
更に、配下にプラグイン本体が格納されていることを示す文字列(上記の例では“Plugin”)を拡張パスに含める。これにより、受信側ではデータとプラグイン本体とが格納されたフォルダを容易に区別することができる。
なお、フォルダツリー60では、通常パスの配下に拡張パスを設ける場合を例示したが、拡張パスを通常パスとは別個に設けてもよい。その場合、例えば通常パスの“/root”とは別個に、拡張パスの最上位のフォルダを拡張パス形式で設けることが考えられる。
図11は、電子メール入力画面の例を示す図である。電子メール入力画面700は、入力部120によりモニタ11に表示される。送信側ユーザは、電子メール入力画面700に表示された入力フォームに従って、電子メールの内容を入力することができる。電子メール入力画面700には、宛先入力部710、件名入力部720、本文入力部730、配布フォルダ入力部740および送信ボタン750を有する。
宛先入力部710は、宛先アドレスを入力するための入力フォームである。件名入力部720は、件名を入力するための入力フォームである。本文入力部730は、本文を入力するための入力フォームである。
配布フォルダ入力部740は、配布したいフォルダ(あるいはファイル)を入力するための入力フォームである。ユーザは、例えば配布したいフォルダを、配布フォルダ入力部740に、マウス13を用いてドラッグアンドドロップ操作することで、対象フォルダを追加することができる。入力部120は、対象フォルダの追加を受け付けると、そのパス構造を配布フォルダ入力部740に表示する。図11では、配布フォルダ入力部740にフォルダ名“/見積資料一式”のフォルダが入力された場合を例示している。
送信ボタン750は、各入力部に対する入力内容を確定するためのボタンである。送信側ユーザは、マウス13によりポインタP1を操作して送信ボタン750を押下操作することができる。入力部120は、送信ボタン750に対する押下操作を受け付けると、電子メール入力画面700に入力された内容をアーカイブファイル生成部130に出力する。
次に、以上のような構成の端末装置100,200による電子メールの送信処理および受信処理の手順を説明する。
図12は、第2の実施の形態の電子メール送信処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS11]入力部120は、電子メール入力画面700の送信ボタン750の押下操作を受け付けると当該画面に入力された入力内容を受け付ける。入力部120は、受け付けた入力内容をアーカイブファイル生成部130に出力する。なお、電子メール入力画面700の宛先アドレスには、端末装置200を利用する送信側ユーザのメールアドレスが含まれるとする。また、配布フォルダ入力部740には、配布するフォルダのルートとして“/見積資料一式”が入力されているとする。
[ステップS12]アーカイブファイル生成部130は、本文入力部730に入力されたメール本文を取得する。また、アーカイブファイル生成部130は、配布フォルダ入力部740に入力された配布フォルダを取得する。
[ステップS13]アーカイブファイル生成部130は、メール本文のパスを拡張パス形式により決定する。また、メール本文を処理するためのプラグインのパスを拡張パス形式により決定する。具体的には、メール本文(ファイル名“mail−body”)のパスを“/見積資料一式/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/folder/mail−body”とする。また、メール本文を処理する際の設定ファイル(ファイル名“addon.conf”)のパスを“/見積資料一式/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/addon.conf”とする。
[ステップS14]アーカイブファイル生成部130は、宛先入力部710に入力された宛先アドレスを取得する。
[ステップS15]アーカイブファイル生成部130は、制御情報記憶部110に記憶された制御テーブル111を参照して、当該宛先アドレスにつきプラグイン本体の送信が必要であるか否かを判定する。必要である場合、処理をステップS16に進める。必要でない場合、処理をステップS18に進める。
[ステップS16]アーカイブファイル生成部130は、制御情報記憶部110を参照してメール本文を処理するためのプラグインを取得する。
[ステップS17]アーカイブファイル生成部130は、プラグインのパスを拡張パス形式により決定する。具体的には、プラグイン本体(ファイル名“MailPlugin.dll”)のパスを“/見積資料一式/?Plugin?/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/MailPlugin.dll”とする。また、プラグインを実行する際の設定ファイル(ファイル名“M−pluginconf.ini”)のパスを“/見積資料一式/?Plugin?/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/M−pluginconf.ini”とする。
[ステップS18]アーカイブファイル生成部130は、制御テーブル111を参照し、宛先アドレスに応じた鍵を取得する。アーカイブファイル生成部130は、配布フォルダおよびメール本文をアーカイブしてアーカイブファイル500を生成する。このとき、アーカイブファイル生成部130は、取得した鍵によって各データを暗号化する。なお、プラグインも送付する場合には、ステップS16で取得したプラグインや所定の設定ファイルもアーカイブファイル500に含める。アーカイブファイル生成部130は、配布フォルダに含まれる各ファイル、メール本文データおよびプラグインデータをデータ格納部520に暗号化して格納する。そして、各データのパス(通常パスおよび拡張パス)を含むデータ名と、アーカイブファイル500における各データのアドレスを示すデータ位置と、をデータ定義情報格納部530に設定する。
[ステップS19]アーカイブファイル生成部130は、宛先アドレスに応じたポリシーをアーカイブファイル500に設定する。アーカイブファイル生成部130は、制御テーブル111を参照して、宛先アドレスごとのポリシーを取得できる。例えば、宛先入力部710に入力された宛先アドレスに“*@bbb.com”に該当するものが存在する場合、当該宛先に対しては、有効期限“2010/5/31”、ファイル更新“不可”をポリシーとして設定する。アーカイブファイル生成部130は、設定内容をファイル制御情報格納部540に格納する。なお、アーカイブファイル生成部130は、データ定義情報格納部530およびファイル制御情報格納部540も暗号化する。アーカイブファイル生成部130は、生成したアーカイブファイル500を電子メール生成部140に出力する。
[ステップS20]電子メール生成部140は、アーカイブファイル500を添付ファイルとした電子メール400を生成する。電子メール生成部140は、電子メール400の本文としてダミー本文を設定する。また、電子メール生成部140は、宛先入力部710に入力された宛先アドレスを電子メール400の宛先に設定する。電子メール生成部140は、電子メール400を送信部150に出力する。
[ステップS21]送信部150は、電子メール400を宛先アドレスに向けて送信する。
このようにして、端末装置100は、電子メールの本文として入力されたメッセージを含むアーカイブファイル500を生成する。端末装置100は、配布先において、当該メッセージを適切に処理できるよう、アーカイブファイル500内の拡張パスにプラグインを含めることができる。
なお、ステップS18において、所定の機能を実現するためのプラグインをアーカイブファイル500に更に含めてもよい。例えば、アーカイブファイル500に対する所定のバックアップ機能を受信側で実現するためのプラグイン“Backup.dll”およびそのプラグインの実行に必要な設定ファイルを追加してもよい。
図13は、第2の実施の形態の電子メール受信処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS31]受信部230は、端末装置100が送信した電子メール400を受信する。受信部230は、電子メール400に添付された添付ファイル(すなわち、アーカイブファイル500)のオープン指示の操作入力を受け付ける。すると、受信部230は、アーカイブファイル500に対する処理をアーカイブファイル処理部240に委譲する。
[ステップS32]アーカイブファイル処理部240は、アーカイブファイル500に対するファイルオープンを受け付ける。
[ステップS33]アーカイブファイル処理部240は、鍵記憶部210に記憶された鍵を用いてアーカイブファイル500に設けられたデータ定義情報格納部530およびファイル制御情報格納部540を復号する。アーカイブファイル処理部240は、データ定義情報格納部530に設定されたデータ名からパス構造を取得する。これにより、例えばフォルダツリー60のようなパス構造を得る。
[ステップS34]アーカイブファイル処理部240は、パス構造に含まれる拡張パスを特定する。具体的には、“?”の文字を含むパスは拡張パスである。そして、その中からプラグイン本体を含む拡張パスでないものを特定する。具体的には、プラグイン本体の拡張パスは“?Plugin?”の文字列を含む。よって、この文字列を含まない拡張パスを特定する。
[ステップS35]アーカイブファイル処理部240は、特定した拡張パスに含まれるデータのうち、未処理のデータがあるか否かを判定する。未処理のデータがある場合、当該データを選択して処理をステップS36に進める。未処理のデータがない場合、処理をステップS41に進める。
[ステップS36]アーカイブファイル処理部240は、選択したデータの拡張パスに含まれる文字列からプラグイン識別子を取得する。具体的には、拡張パスであることを示すフォルダ名“?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?”を特定し、“?”を除いた文字列をプラグイン識別子として取得する。
[ステップS37]アーカイブファイル処理部240は、プラグイン情報記憶部220に記憶された取得済プラグイン管理テーブル211を参照して、ステップS36で取得したプラグイン識別子に対応するプラグインを既に取得済であるか否かを判定する。未取得である場合、処理をステップS38に進める。取得済である場合、取得済プラグイン管理テーブル211の設定内容に基づきローカルディスク(例えば、HDD)上のプラグインを取得して、処理をステップS40に進める。
[ステップS38]アーカイブファイル処理部240は、プラグイン本体を格納した拡張パスからステップS36で取得したプラグイン識別子を含むものを検索する。具体的には、拡張パスに“?Plugin?”の文字列を含むもののうち、“{C786CA60−734E−4913−AC67−B3BDC4D81A0F}”を更に含むものを検索する。これにより、アーカイブファイル500に含まれるファイルから、ステップS35で選択したデータを処理するためのプラグイン本体を特定できる。
[ステップS39]アーカイブファイル処理部240は、特定したプラグイン本体およびその実行に必要な設定ファイルを取得する。具体的には、“MailPlugin.dll”および“M−pluginconf.ini”をデータ格納部520から抽出し、鍵記憶部210に記憶された鍵により復号して、各ファイルを取得する。データ格納部520におけるプラグイン本体などの位置は、データ定義情報格納部530に設定された各データ名に対応するデータ位置によって特定できる。アーカイブファイル処理部240は、取得したプラグイン本体などをローカルディスクに格納する。このとき、アーカイブファイル処理部240は、新たに取得したプラグインのプラグイン識別子やローカルディスク上のパスを取得済プラグイン管理テーブル211に設定する。これにより、次回からはローカルディスク上からプラグインの実行が可能となる。
[ステップS40]アーカイブファイル処理部240は、プラグインを実行する。これにより、アーカイブファイル処理部240は、例えば拡張パスに格納されたメール本文のデータを適切に処理することができる。そして、処理をステップS34に進める。
[ステップS41]アーカイブファイル処理部240は、アーカイブファイル500において通常パスが設定されたデータの一覧を表示する。そして、処理を完了する。
このようにして、端末装置200は、アーカイブファイル500に含まれる拡張データを処理するためのプラグインを、アーカイブファイル500から適切に取得することができる。そして、端末装置200は、取得したプラグインによって拡張データを適切に処理することができる。
なお、プラグインが複数存在する場合には、例えば予め定められた優先順位や、“.conf”ファイルなどで設定された優先順位に応じた順序で各プラグインを実行することが考えられる。
また、上記の手順ではプラグインの実行後に通常パスのデータ一覧を表示するものとしたが、通常パスのデータ一覧を表示した後にプラグインを実行してもよい。例えば、ステップS41をステップS33の直後に実行してもよい。その場合、データ一覧に対する処理を完了したタイミング(例えば、当該一覧の表示のクローズを受け付けたタイミング)で、プラグインの実行を開始することもできる。
また、上記ステップS33においてアーカイブファイル500のファイル制御情報格納部540に設定された有効期限が過ぎている場合には、アーカイブファイル500を処理することはできないこととなる。すなわち、この場合、パス構造の取得など、当該ステップ以降の各処理が不可能となる。
図14は、プラグインの実行例を示す図である。アーカイブファイル処理部240は、電子メール400に含まれる添付ファイル(アーカイブファイル500)を取得し、アーカイブファイル500のオープンを試みる。その際、アーカイブファイル処理部240は、アーカイブファイル500から拡張パスで記述されたデータおよび当該データを処理するためのプラグインを取得する。具体的には、メール本文のデータであるファイル631a、プラグイン本体であるファイル651a、プラグイン本体を実行する際の設定ファイルであるファイル651bなどを取得する。
アーカイブファイル処理部240は、ファイル631a,651a,651bなどに基づいて、端末装置200に接続されたモニタにメール本文表示画面800を表示させる。メール本文表示画面800は、アーカイブファイル500に含まれるファイル631aの内容を受信側ユーザに提示するための画面である。メール本文表示画面800は、アドレス表示部810、本文表示部820および確認ボタン830を有する。
アドレス表示部810は、送信元のメールアドレス(Fromアドレス)、受信アドレス(Toアドレスおよびccアドレス)を表示するための領域である。アーカイブファイル処理部240は、各アドレスを受信部230から取得できる。受信部230は、電子メール400のヘッダ部410から各アドレスを取得できる。
本文表示部820は、メール本文のデータであるファイル631aの内容を表示するための領域である。
確認ボタン830は、受信側ユーザによるメール本文の閲覧が完了した際に、その旨を受け付けるためのボタンである。アーカイブファイル処理部240は、確認ボタン830の押下操作を受け付けると、メール本文表示画面800を閉じる。これにより、メール本文用のプラグインの処理が完了する。そして、アーカイブファイル処理部240は、未処理の拡張データが存在しない場合には、ファイル一覧画面をモニタに表示させる。
図15は、通常パスに格納されたデータ一覧の表示例を示す図である。ファイル一覧画面900は、通常パスが設定されたデータの一覧を表示するための画面である。通常パスが設定されたデータの一覧は、電子メール入力画面700の配布フォルダ入力部740に入力されたフォルダに入力された各ファイルの一覧に相当する。ファイル一覧画面900は、ボタン表示部910、フォルダツリー表示部920およびファイル一覧表示部930を有する。
ボタン表示部910は、各フォルダやファイルに対する操作の選択を受け付けるボタン群を表示する領域である。ユーザは、ポインタP1によって、ボタン表示部910に表示された何れかのボタンをクリック操作することで、現在選択中のファイルに対する所定の操作を行うことができる。
フォルダツリー表示部920は、通常パスのパス構造をツリー状に表示したフォルダツリーを表示するための領域である。受信側ユーザは、ポインタP1によってフォルダツリー表示部920に表示されたフォルダを選択することができる。
ファイル一覧表示部930は、フォルダツリー表示部920で選択されたフォルダの配下に存在するファイルの一覧を表示するための領域である。受信側ユーザは、ポインタP1によってファイル一覧表示部930に表示されたファイルを選択することができる。
受信側ユーザは、ボタン表示部910に表示されたボタンをポインタP1によって押下操作することで、アーカイブファイル処理部240に対して、例えば次のような処理を実行させることができる。
アーカイブファイル処理部240は、“上へ”ボタンの押下操作を受け付けると、フォルダツリー表示部920で選択中のフォルダよりも一階層だけ上のフォルダに含まれるファイルの一覧をファイル一覧表示部930に表示させる。
また、“開く”ボタンの押下操作を受け付けると、ファイル一覧表示部930で選択中のファイルを鍵記憶部210に記憶された鍵によって復号して、当該ファイルをオープンすることができる。なお、復号後のファイルが所定のアプリケーションで実行可能な形式となっている場合には、そのアプリケーションに復号後のファイルに対する処理を委譲する。
“追加”ボタンの押下操作を受け付けると、フォルダツリー表示部920で選択中のフォルダにファイルを追加するためのダイアログを表示させることができる。“削除”ボタンの押下操作を受け付けると、ファイル一覧表示部930で選択中のファイルを削除することができる。“復号”ボタンの押下操作を受け付けると、ファイル一覧表示部930で選択中のファイルを復号して、所定のディレクトリに格納するためのダイアログを表示させることができる。“すべて復号”ボタンの押下操作を受け付けると、フォルダツリー表示部920で選択中のフォルダの配下に存在する全てのファイルを復号して、所定のディレクトリに格納するためのダイアログを表示させることができる。
なお、アーカイブファイル500のファイル制御情報格納部540にポリシーとしてファイル更新“不可”が設定されている場合には、これらのボタンによる全ての処理、あるいは少なくとも一部の処理を制限することができる。これにより、アーカイブファイル500に対する不正な操作を未然に防止することができる。
以上で説明したように、端末装置100はアーカイブファイル500の拡張パスに拡張機能を実現するためのデータやプラグインを格納して、配布先である端末装置200に送信する。
本実施の形態では、メール本文を配布フォルダと共にアーカイブファイル500に格納するという拡張機能を例示した。この機能によれば、アーカイブファイル500を電子メール400の添付ファイルとして暗号化して送信できるので、通信路上におけるメール本文の秘匿性を高めることができる。そして、このような拡張機能を利用してファイルの配布を行う場合、上述のようにアーカイブファイル500の拡張パスにプラグインなどを格納して配布する。これにより、端末装置200がプラグインを未取得であったとしても、端末装置200にメール本文の処理を適正に実行させることができる。
また、プラグインをアーカイブファイル500とは別個に配布しておく必要がないので、配布を行う際に配布先に対する配布済・未配布を管理するためのコストや配布を行う際の配布サーバやネットワークに対する負荷を軽減することができる。
更に、プラグインを送信するために自己解凍形式のプログラムファイルを用いなくてよいので、通信路上でセキュリティ対策を行うノードによって、意図せずに配信対象のファイルが破棄される可能性を低減することができる。
これにより、端末装置100はアーカイブファイル500に対する処理を行うプラグインを容易に配布することができる。
また、端末装置200は、拡張パスを参照すれば拡張機能を実現するプラグインやデータを容易に取得することができる。このため、拡張パスに格納されたデータと通常パスに格納されたデータとを区別した取扱を容易に行うことができる。
更に、端末装置100,200の間で拡張パスの特定方法を予め合意しておくのみで、その拡張パスを用いた種々のプラグインの配布が可能である。例えば、本実施の形態では、データ名に含まれるパスに“?”の文字を含むものを拡張パスと特定することとした。これにより、アーカイブファイル500のデータ構造(例えば、データ格納部520の構造)を変更することなく、容易にプラグインを配布することが可能となる。
また、プラグインは、メール本文を表示させるものに限らず、例えばポップアップメッセージを表示させるものでもよい。また、送信側ユーザが指定する画像や音声を受信側の端末装置に出力させるものであってもよい。
また、上記の例では、通常パスの配下に拡張パスのフォルダを設けるものとしたが、通常パスのルートフォルダとは異なるルートフォルダを拡張パスのルートフォルダとして設けてもよい。
[第3の実施の形態]
以下、第3の実施の形態を図面を参照して詳細に説明する。前述の第2の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
ここで、第2の実施の形態では端末装置100,200の間での電子メールの送受信を行う場合を例示した。第3の実施の形態では、電子メールをリレーするメールサーバが端末装置100の機能を実現する場合を例示する。
図16は、第3の実施の形態に係る情報処理システムの構成を示す図である。この情報処理システムは、端末装置100a,200およびメールサーバ300がネットワーク10,20を介して接続されている。
メールサーバ300は、端末装置100a,200が送受信する電子メールをリレーする機能を備えた情報処理装置である。
ここで、端末装置100aおよびメールサーバ300のハードウェア構成は、図3で示した第2の実施の形態の端末装置100の構成と同様であるため、その説明を省略する。
なお、以下では端末装置100aを利用する送信側ユーザが送信した電子メールをメールサーバ300が端末装置200へ向けてリレーするものとする。
また、第2の実施の形態の端末装置100と同様にメールサーバ300は、端末装置200に対するアーカイブファイルの送信を電子メールによって行う。具体的には、メールサーバ300は、端末装置100aから受信した電子メールのメール本文および添付ファイルに基づいて、アーカイブファイルを生成する。そして、生成したアーカイブファイルを代わりの電子メールに添付して端末装置200に送信する。このように、メール本文をアーカイブファイルに含めて、他の配布ファイルと共に符号化することでメール本文の秘匿性を向上する。
図17は、第3の実施の形態のメールサーバの機能構成を示す図である。メールサーバ300は、制御情報記憶部310、受信部320、保留部330、アーカイブファイル生成部340、電子メール生成部350および送信部360を有する。これらの機能は、メールサーバ300のCPUによって所定のプログラムが実行されることにより実現される。また、これらの機能の全部または少なくとも一部が専用のハードウェアによって実現されてもよい。
制御情報記憶部310は、図4で説明した第2の実施の形態の制御情報記憶部110に対応する。制御情報記憶部310は、制御テーブル111と同様の制御情報を記憶する。
また、制御情報記憶部310は、アーカイブファイル内のデータを用いた拡張機能を実行するためのプラグインを記憶する。
受信部320は、電子メール400aを受信する。電子メール400aは、端末装置100aが端末装置200を利用する受信側ユーザのメールアドレスに向けて送信したものである。受信部320は、電子メール400aを保留部330に出力する。なお、電子メール400aは、添付ファイルとして、データのパス構造を記録したアーカイブファイルを含むものとする。このようなアーカイブファイルとして、例えばZip形式のアーカイブファイルが考えられる。なお、このアーカイブファイルをアーカイブファイル生成部340が生成するアーカイブファイルと区別するために、以下では圧縮ファイルと呼ぶこととする。
保留部330は、電子メール400aの送信を保留する。保留部330は、電子メール400aをアーカイブファイル生成部340に出力する。
保留部330は、電子メール生成部350から電子メール400を取得すると、電子メール400aに代えて電子メール400を送信部360に出力する。
アーカイブファイル生成部340は、電子メール400aに含まれるメール本文と添付された圧縮ファイルとを取得する。アーカイブファイル生成部340は、圧縮ファイルに含まれるデータのパス構造を取得する。そして、取得したパス構造に、拡張パスを追加し、その拡張パスにメール本文のデータを設定する。更に、アーカイブファイル生成部340は、宛先アドレスに応じて、更に拡張パスを追加し、その拡張パスにメール本文のデータを処理するためのプラグインを設定する。何れの宛先アドレスに対してプラグインの送信が必要であるかは、制御情報記憶部310を参照することで判定することができる。
アーカイブファイル生成部340は、このようにして電子メール400aからアーカイブファイル500を生成する。アーカイブファイル500のデータ構造は、図9で説明した通りである。アーカイブファイル生成部340は、生成したアーカイブファイル500を電子メール生成部350に出力する。
電子メール生成部350は、アーカイブファイル生成部340から受け付けたアーカイブファイル500を添付ファイルとして添付した電子メール400を生成する。電子メール生成部350は、電子メール400の本文としてダミー本文を追加する。電子メール生成部350は、電子メール400のヘッダ情報として、電子メール400aのヘッダ情報に設定された宛先アドレスおよび件名などを設定する。電子メール生成部350は、生成した電子メール400を保留部330に出力する。
送信部360は、保留部330から取得した電子メール400を宛先アドレスへ向けて送信する。
次に、以上のような構成のメールサーバ300による電子メール送信処理の手順を説明する。
図18は、第3の実施の形態の電子メール送信処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS51]受信部320は、電子メール400aを受信する。受信部320は、受信した電子メール400aを保留部330に出力する。保留部330は、電子メール400aの送信を保留し、電子メール400aをアーカイブファイル生成部340に出力する。
[ステップS52]アーカイブファイル生成部340は、電子メール400aに含まれるメール本文と添付ファイル(圧縮ファイル)とを取得する。
[ステップS53]アーカイブファイル生成部340は、圧縮ファイルを展開して、そのパス構造を取得する。なお、以下の具体的な説明において、このパス構造は図11の配布フォルダ入力部740で示した構造と同一であるとする。すなわち、配布するフォルダ(配布フォルダ)のルートとして“/見積資料一式”が入力されているとする。
[ステップS54]アーカイブファイル生成部340は、メール本文のパスを拡張パス形式により決定する。また、メール本文を処理するためのプラグインのパスを拡張パス形式により決定する。具体的には、メール本文(ファイル名“mail−body”)のパスを“/見積資料一式/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/folder/mail−body”とする。また、メール本文を処理する際の設定ファイル(ファイル名“addon.conf”)のパスを“/見積資料一式/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/addon.conf”とする。
[ステップS55]アーカイブファイル生成部340は、電子メール400aに含まれる宛先アドレスを取得する。
[ステップS56]アーカイブファイル生成部340は、制御情報記憶部310に記憶された制御情報を参照して、当該宛先アドレスにつきプラグイン本体の送信が必要であるか否かを判定する。必要である場合、処理をステップS57に進める。必要でない場合、処理をステップS59に進める。
[ステップS57]アーカイブファイル生成部340は、制御情報記憶部310を参照してメール本文を処理するためのプラグインを取得する。
[ステップS58]アーカイブファイル生成部340は、プラグインのパスを拡張パス形式により決定する。具体的には、プラグイン本体(ファイル名“MailPlugin.dll”)のパスを“/見積資料一式/?Plugin?/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/MailPlugin.dll”とする。また、プラグインを実行する際の設定ファイル(ファイル名“M−pluginconf.ini”)のパスを“/見積資料一式/?Plugin?/?{C786CA60−734E−4913−AC67−B3BDC4D81A0F}?/M−pluginconf.ini”とする。
[ステップS59]アーカイブファイル生成部340は、制御情報記憶部310に記憶された制御情報を参照し、宛先アドレスに応じた鍵を取得する。アーカイブファイル生成部340は、配布フォルダおよびメール本文をアーカイブしてアーカイブファイル500を生成する。このとき、アーカイブファイル生成部340は、取得した鍵によって各データを暗号化する。なお、プラグインも送付する場合には、ステップS57で取得したプラグインや所定の設定ファイルもアーカイブファイル500に含める。アーカイブファイル生成部340は、配布フォルダに含まれる各ファイル、メール本文データおよびプラグインデータをデータ格納部520に格納する。そして、各データのパス(通常パスおよび拡張パス)を含むデータ名と、アーカイブファイル500における各データのアドレスを示すデータ位置と、をデータ定義情報格納部530に設定する。
[ステップS60]アーカイブファイル生成部340は、宛先アドレスに応じたポリシーをアーカイブファイル500に設定する。アーカイブファイル生成部130は、制御情報記憶部310に記憶された制御情報を参照して、宛先アドレスごとのポリシーを取得できる。例えば、電子メール400aの宛先アドレスに“*@bbb.com”に該当するものが存在する場合、当該宛先に対しては、有効期限“2010/5/31”、ファイル更新“不可”をポリシーとして設定する。アーカイブファイル生成部340は、設定内容をファイル制御情報格納部540に格納する。なお、アーカイブファイル生成部340は、データ定義情報格納部530およびファイル制御情報格納部540も暗号化する。アーカイブファイル生成部340は、生成したアーカイブファイル500を電子メール生成部350に出力する。
[ステップS61]電子メール生成部350は、アーカイブファイル500を添付ファイルとした電子メール400を生成する。電子メール生成部350は、電子メール400の本文としてダミー本文を設定する。また、電子メール生成部350は、電子メール400aに入力された宛先アドレスを電子メール400の宛先に設定する。電子メール生成部350は、電子メール400を保留部330に出力する。保留部330は、電子メール生成部350から電子メール400を取得すると、保留していた電子メール400aに代えて電子メール400を送信部360に出力する。
[ステップS62]送信部360は、電子メール400を宛先アドレスに向けて送信する。
このようにして、メールサーバ300は、電子メール400aの本文として入力されたメッセージを含むアーカイブファイル500を生成する。メールサーバ300は、配布先において、当該メッセージを適切に処理できるよう、アーカイブファイル500内の拡張パスにプラグインを含めることができる。
なお、ステップS59において、所定の機能を実現するためのプラグインをアーカイブファイル500に更に含めてもよい。例えば、アーカイブファイル500に対する所定のバックアップ機能を受信側で実現するためのプラグイン“Backup.dll”およびそのプラグインの実行に必要な設定ファイルを追加してもよい。
ここで、端末装置200による受信処理の手順は図13で示した手順と同一である。
このように、メールサーバ300によっても第2の実施の形態の端末装置100と同様の機能を実現することができる。これにより、第2の実施の形態と同様の効果を得ることができる。具体的には、以下の通りである。
第3の実施の形態においても、メール本文を配布フォルダと共にアーカイブファイル500に格納するという拡張機能を例示した。この機能によれば、アーカイブファイル500を電子メール400の添付ファイルとして暗号化して送信できるので、通信路上におけるメール本文の秘匿性を高めることができる。そして、このような拡張機能を利用してファイルの配布を行う場合、上述のようにアーカイブファイル500の拡張パスにプラグインなどを格納して配布する。これにより、端末装置200がプラグインを未取得であったとしても、端末装置200にメール本文の処理を適正に実行させることができる。
また、プラグインをアーカイブファイル500とは別個に配布しておく必要がないので、配布を行う際に配布先に対する配布済・未配布を管理するためのコストや配布を行う際の配布サーバやネットワークに対する負荷を軽減することができる。
更に、プラグインを送信するために自己解凍形式のプログラムファイルを用いなくてよいので、通信路上でセキュリティ対策を行うノードによって、意図せずに配信対象のファイルが破棄される可能性を低減することができる。
これにより、メールサーバ300はアーカイブファイル500に対する処理を行うプラグインを容易に配布することができる。
また、端末装置200は、拡張パスを参照すれば拡張機能を実現するプラグインやデータを容易に取得することができる。このため、拡張パスに格納されたデータと通常パスに格納されたデータとを区別した取扱を容易に行うことができる。
更に、メールサーバ300と端末装置200との間で拡張パスの特定方法を予め合意しておくのみで、その拡張パスを用いた種々のプラグインの配布が可能である。例えば、本実施の形態では、データ名に含まれるパスに“?”の文字を含むものを拡張パスと特定することとした。これにより、アーカイブファイル500のデータ構造(例えば、データ格納部520の構造)を変更することなく、容易にプラグインを配布することが可能となる。
更に、メールサーバ300に上記処理を実行させることで、端末装置100aを利用する送信側ユーザにおいて、アーカイブファイル500を生成するための機能が不要となる。このため、送信側に多数の端末装置が存在する場合には導入に要するコストを低減することができる。また、メールサーバ300を設けることで、ポリシーや鍵を効率的に管理することができる。
以上、本発明のファイル処理プログラム、ファイル処理装置およびファイル処理方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 ファイル処理装置
1a 生成手段
1b 出力手段
2 アーカイブファイル
2a 第1のパス
2b 第2のパス
D1 第1の種類のデータ
D2 第2の種類のデータ

Claims (12)

  1. 第1の種類のデータを取得し、
    第1のパス形式で記述された第1のパスに対応付けて前記第1の種類のデータを格納し、前記第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第2の種類のデータを格納したアーカイブファイルを生成し、
    生成した前記アーカイブファイルを出力する、
    処理をコンピュータに実行させることを特徴とするファイル処理プログラム。
  2. 前記プログラムおよび前記処理データそれぞれを対応付けた第2のパスは、前記プログラムを識別するための所定の識別子を含むことを特徴とする請求項記載のファイル処理プログラム。
  3. 前記第1の種類のデータと共に、前記第1の種類のデータの配布先アドレスと前記第2の種類のデータとして所定のメッセージとを受け付け、
    前記配布先アドレスに対応付けて前記メッセージを処理するためのプログラムの配布の要否を定義した制御情報を記憶する制御情報記憶手段に記憶された前記制御情報を参照し、前記配布先アドレスに対して前記プログラムの配布が必要である場合、前記第2の種類のデータとして前記プログラムを前記アーカイブファイルに格納する、
    処理を前記コンピュータに更に実行させることを特徴とする請求項1または2記載のファイル処理プログラム。
  4. 前記第1の種類のデータと前記第2の種類のデータとを所定の鍵により暗号化する処理を前記コンピュータに更に実行させることを特徴とする請求項1乃至の何れか一項に記載のファイル処理プログラム。
  5. 第1のパス形式で記述された第1のパスに対応付けられた第1の種類のデータと、前記第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第2の種類のデータと、が格納されたアーカイブファイルを取得し、
    前記第1のパス形式で使用しない文字を検出することで、前記アーカイブファイルから前記第2の種類のデータを抽出し、
    抽出した前記第2の種類のデータに基づいて前記所定の処理を実行する、
    処理をコンピュータに実行させることを特徴とするファイル処理プログラム。
  6. 記プログラムおよび前記処理データそれぞれが対応付けられた第2のパスには、前記プログラムを識別するための所定の識別子が含まれており、
    前記識別子に基づいて、前記プログラムに対応する前記処理データを特定する、
    処理を前記コンピュータに更に実行させることを特徴とする請求項記載のファイル処理プログラム。
  7. 前記アーカイブファイルを取得すると、前記プログラムを取得済であるか否かを管理する管理情報を記憶する管理情報記憶手段に記憶された前記管理情報を参照し、
    前記プログラムを未取得である場合、前記アーカイブファイルから前記プログラムを抽出し、前記処理データを用いて、抽出したプログラムを実行し、
    前記プログラムが取得済である場合、所定の記憶手段に記憶された前記プログラムを抽出し、前記処理データを用いて、抽出したプログラムを実行する、
    処理を前記コンピュータに更に実行させることを特徴とする請求項記載のファイル処理プログラム。
  8. 前記第1の種類のデータおよび前記第2の種類のデータは、所定の鍵により暗号化されており、
    前記第2の種類のデータに基づいて前記所定の処理を実行する際に、前記第2の種類のデータを前記鍵により復号する、
    処理を更に前記コンピュータに実行させることを特徴とする請求項乃至の何れか一項に記載のファイル処理プログラム。
  9. 第1の種類のデータを取得し、第1のパス形式で記述された第1のパスに対応付けて前記第1の種類のデータを格納し、前記第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第2の種類のデータを格納したアーカイブファイルを生成する生成手段と、
    前記生成手段が生成した前記アーカイブファイルを出力する出力手段と、
    を有することを特徴とするファイル処理装置。
  10. 第1のパス形式で記述された第1のパスに対応付けられた第1の種類のデータと、前記第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第2の種類のデータと、が格納されたアーカイブファイルを取得する取得手段と、
    前記第1のパス形式で使用しない文字を検出することで、前記取得手段が取得した前記アーカイブファイルから前記第2の種類のデータを抽出し、抽出した前記第2の種類のデータに基づいて前記所定の処理を実行する処理手段と、
    を有することを特徴とするファイル処理装置。
  11. ファイル処理装置のファイル処理方法であって、
    前記ファイル処理装置が、
    第1の種類のデータを取得し、
    第1のパス形式で記述された第1のパスに対応付けて前記第1の種類のデータを格納し、前記第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けて所定の処理を実行するためのプログラムと当該プログラムで処理する処理データとを含む第2の種類のデータを格納したアーカイブファイルを生成し、
    生成した前記アーカイブファイルを出力する、
    ことを特徴とするファイル処理方法。
  12. ファイル処理装置のファイル処理方法であって、
    前記ファイル処理装置が、
    第1のパス形式で記述された第1のパスに対応付けられた第1の種類のデータと、前記第1のパス形式で使用しない文字を含む第2のパス形式で記述された第2のパスに対応付けられており所定の処理を実行するためのプログラムおよび当該プログラムで処理する処理データを含む第2の種類のデータと、が格納されたアーカイブファイルを取得し、
    前記第1のパス形式で使用しない文字を検出することで、前記アーカイブファイルから前記第2の種類のデータを抽出し、
    抽出した前記第2の種類のデータに基づいて前記所定の処理を実行する、
    ことを特徴とするファイル処理方法。
JP2010080841A 2010-03-31 2010-03-31 ファイル処理プログラム、ファイル処理装置およびファイル処理方法 Active JP5538979B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010080841A JP5538979B2 (ja) 2010-03-31 2010-03-31 ファイル処理プログラム、ファイル処理装置およびファイル処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010080841A JP5538979B2 (ja) 2010-03-31 2010-03-31 ファイル処理プログラム、ファイル処理装置およびファイル処理方法

Publications (2)

Publication Number Publication Date
JP2011215711A JP2011215711A (ja) 2011-10-27
JP5538979B2 true JP5538979B2 (ja) 2014-07-02

Family

ID=44945397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010080841A Active JP5538979B2 (ja) 2010-03-31 2010-03-31 ファイル処理プログラム、ファイル処理装置およびファイル処理方法

Country Status (1)

Country Link
JP (1) JP5538979B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132434A (ja) * 1998-08-21 2000-05-12 Fuji Xerox Co Ltd 情報処理装置、情報処理方法、ホスト装置、その制御方法、サ―バ装置、その制御方法、および記憶媒体
JP4679804B2 (ja) * 2003-04-17 2011-05-11 シャープ株式会社 画像ファイル作成装置
US20050027756A1 (en) * 2003-07-28 2005-02-03 David Pettigrew System and a method for distinguishing between data and print files in an archived file
JP2005229291A (ja) * 2004-02-12 2005-08-25 Fuji Photo Film Co Ltd 画像記録装置及び撮像装置並びに画像ファイル保存方法
WO2008084738A1 (ja) * 2007-01-09 2008-07-17 Nippon Telegraph And Telephone Corporation 符号化復号化装置、方法、プログラム、記録媒体
JP2008257346A (ja) * 2007-04-02 2008-10-23 Fuji Xerox Co Ltd 電子ファイル処理装置、電子ファイル処理プログラム

Also Published As

Publication number Publication date
JP2011215711A (ja) 2011-10-27

Similar Documents

Publication Publication Date Title
EP3314825B1 (en) Method and system for sender-controlled messaging and content sharing
US9825925B2 (en) Method and apparatus for securing sensitive data in a cloud storage system
JP5397691B2 (ja) 情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法
US7950064B2 (en) System and method for controlling comments in a collaborative document
JP4800686B2 (ja) 電子名刺交換システム及び方法
US20190087432A1 (en) Secure searchable and shareable remote storage system and method
JPWO2009004732A1 (ja) 共有暗号ファイルの暗号化、復号処理方法
US9087207B2 (en) Obtaining complete forensic images of electronic storage media
US8311225B2 (en) Scalable key archival
US9665731B2 (en) Preventing content data leak on mobile devices
US20170011030A1 (en) Method for searching for multimedia file, terminal device, and server
US10116442B2 (en) Data storage apparatus, data updating system, data processing method, and computer readable medium
US11113241B1 (en) Computer application for blockchaining files through a graphical user interface
JP5530767B2 (ja) 認証管理装置
JP2006350850A (ja) ソフトウェア・パッケージを再構成する方法、装置、プログラム
US20210336796A1 (en) System and computer method including a blockchain-mediated agreement engine
JP2020027221A (ja) ファイルの秘匿分散システム及び秘匿分散方法
JP5618583B2 (ja) 電子メール処理プログラム、電子メール処理装置および電子メール処理方法
JP5538979B2 (ja) ファイル処理プログラム、ファイル処理装置およびファイル処理方法
JP2010020698A (ja) 情報処理システム、情報処理方法、情報処理プログラム及び記録媒体
JP6272546B2 (ja) データ保管装置及びデータ処理方法及びデータ処理プログラム
JP4879725B2 (ja) コンテンツ流通システムおよび制御プログラム及び記憶媒体
JP5483564B2 (ja) 認証管理装置
JP5483563B2 (ja) 認証管理装置
JP7124282B2 (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140415

R150 Certificate of patent or registration of utility model

Ref document number: 5538979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140430

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350