(57)【要約】【課題】返信メールに元のメール本文を引用する環境下おいて、引用形式の設定が任意で変更される場合にも、設定の影響を受けることなく、返信メールから元のメールの引用部分の削除可能な電子メール管理装置を提供する。【解決手段】メールアーカイブ装置１００１では、引用範囲特定部１０３２は、関連メール検索部１０３１による検索で関連メールがヒットすると、関連メールと処理対象メールとの本文どうしを行単位で比較して処理対象メール本文における関連メール本文の引用範囲を特定する。引用範囲削除部１００６は引用範囲特定部１０３２により引用範囲が特定された場合に、処理対象メールの本文から引用範囲を削除する。メールデータ登録処理部１００７は、引用範囲削除部１００６によって引用範囲の削除された処理対象メール本文を処理対象メールのヘッダ情報と関連付けて、過去に送信された電子メールとしてメールデータ記憶装置１００８に格納する。【選択図】図１
2012203492.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダ情報と本文とを含む過去に送信された電子メールを格納するメール格納部と、
他の装置から送信されたヘッダ情報と本文とを含む電子メールであって処理対象となる前記電子メールを示す処理対象メールを記憶する処理対象メール記憶部と、
前記処理対象メール記憶部の記憶する前記処理対象メールに関連する前記電子メールを示す関連メールを、前記メール格納部を対象として所定の検索規則に基づいて検索する関連メール検索部と、
前記関連メール検索部による検索で前記関連メールがヒットした場合に、前記関連メールと前記処理対象メールとの本文どうしを行単位で比較することにより、前記処理対象メールの前記本文における前記関連メールの前記本文の引用範囲を特定する引用範囲特定部と、
前記引用範囲特定部によって前記引用範囲が特定された場合に、前記処理対象メールの前記本文から前記引用範囲を削除する引用範囲削除部と、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納する格納処理部と
を備えたことを特徴とする電子メール管理装置。
【請求項２】
前記メール格納部は、
送受信時における本文の行数を示す本文行数情報が対応付けられた前記電子メールを格納し、
前記電子メール管理装置は、さらに、
前記処理対象メールの前記本文行数情報を前記処理対象メールから抽出する抽出部を備え、
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と、前記処理対象メールの本文の最終行から前記関連メールに対応付けられた前記本文行数情報の示す行数だけ先頭行へ向かう位置に存在する行を示す行数対応行との比較を行い、前記比較結果に基づいて前記引用範囲を特定し、
前記格納処理部は、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報に加え、さらに、前記抽出部によって抽出された前記本文行数情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納することを特徴とする請求項１記載の電子メール管理装置。
【請求項３】
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と、前記処理対象メールの前記行数対応行との最大共通部分列の値を求め、求めた前記最大共通部分列の値と前記関連メールの本文の先頭行の長さとを比較し、比較結果に基づいて、前記引用範囲を特定することを特徴とする請求項２記載の電子メール管理装置。
【請求項４】
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と前記処理対象メールの前記行数対応行との比較と、前記関連メールの本文の先頭行と前記処理対象メールの前記行数対応行の直上の行と直下の行との少なくともいずれかの行との比較とに基づいて、前記引用範囲を特定することを特徴とする請求項２記載の電子メール管理装置。
【請求項５】
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と、前記処理対象メールの本文の最終行から前記関連メールの本文の行数だけ先頭行へ向かう位置に存在する行との最大共通部分列の値を求め、求めた前記最大共通部分列の値と前記関連メールの本文の先頭行の長さとを比較し、比較結果に基づいて前記引用範囲を特定することを特徴とする請求項１記載の電子メール管理装置。
【請求項６】
コンピュータを、
ヘッダ情報と本文とを含む過去に送信された電子メールを格納するメール格納部、
他の装置から送信されたヘッダ情報と本文とを含む電子メールであって処理対象となる前記電子メールを示す処理対象メールを記憶する処理対象メール記憶部、
前記処理対象メール記憶部の記憶する前記処理対象メールに関連する前記電子メールを示す関連メールを、前記メール格納部を対象として所定の検索規則に基づいて検索する関連メール検索部、
前記関連メール検索部による検索で前記関連メールがヒットした場合に、前記関連メールと前記処理対象メールとの本文どうしを行単位で比較することにより、前記処理対象メールの前記本文における前記関連メールの前記本文の引用範囲を特定する引用範囲特定部、
前記引用範囲特定部によって前記引用範囲が特定された場合に、前記処理対象メールの前記本文から前記引用範囲を削除する引用範囲削除部、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納する格納処理部、
として機能させるための電子メール管理プログラム。
【請求項７】
メール格納部と、処理対象メール記憶部と、関連メール検索部と、引用範囲特定部と、引用範囲削除部と、格納処理部とを備えた電子メール管理装置が行う電子メール管理方法であって、
前記メール格納部が、
ヘッダ情報と本文とを含む過去に送信された前記電子メールを格納し、
前記処理対象メール記憶部が、
端末装置から送信されたヘッダ情報と本文とを含む電子メールであって処理対象となる前記電子メールを示す処理対象メールを記憶し、
前記関連メール検索部が、
前記処理対象メール記憶部の記憶する前記処理対象メールに関連する前記電子メールを示す関連メールを、前記メール格納部を対象として所定の検索規則に基づいて検索し、
前記引用範囲特定部が、
前記関連メール検索部による検索で前記関連メールがヒットした場合に、前記関連メールと前記処理対象メールとの本文どうしを行単位で比較することにより、前記処理対象メールの前記本文における前記関連メールの前記本文の引用範囲を特定し、
前記引用範囲削除部が、
前記引用範囲特定部によって前記引用範囲が特定された場合に、前記処理対象メールの前記本文から前記引用範囲を削除し、
前記格納処理部が、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納することを特徴とする電子メール管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子メールを管理する電子メール管理装置、電子メール管理プログラム及び電子メール管理方法に関する。
【背景技術】
【０００２】
近年の日常業務において、電子メールは必要不可欠なツールとして浸透している。予定のすり合わせや任意の議題に関する確認事項など、メールをやり取りすることで進めることが一般的となっている。このメールのやり取りを複数回繰り返していく場合、返信メールの本文末尾に元のメール本文を含める環境下では、返信メール参照時にそれまでのメールのやり取りに関する履歴が全て含まれるため見難くなる、これらのメールを全て保存するシステムのストレージ容量を無駄に圧迫する、などの課題があった。このような状況を解決するものとして、以下の特許文献１、特許文献２、特許文献３が存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２７８８８７号公報
【特許文献２】特開平１０−２０７７９４号公報
【特許文献３】特開２００６−３３０８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１〜３に記載のいずれの方法においても、引用部分の各行頭に引用であることを表す引用子（‘＞’など）が存在することや、送受信される全てのメールで利用される引用子が１種類であることが、前提となるか、あるいは、それによる制約を受けている。しかし、この返信メールの本文に元のメール本文を含める設定や、元のメール本文を引用するに当たって、行頭に引用子’＞’を追加する設定は、現在、一般に広く普及しているメール編集ソフト（Ｍｉｃｒｏｓｏｆｔ社製のＯｕｔｌｏｏｋ  Ｅｘｐｒｅｓｓ（Ｏｕｔｌｏｏｋは登録商標）やＯｕｔｌｏｏｋ（Ｏｕｔｌｏｏｋは登録商標）、Ｍｏｚｉｌｌａ社製のＴｈｕｎｄｅｒｂｉｒｄ（Ｔｈｕｎｄｅｒｂｉｒｄは登録商標）などの初期設定に起因するものであり、利用に当たって制限があるわけではない。
【０００５】
つまり、ユーザはこれらの設定を個別に任意の形式へ変更可能であり、このような設定変更をしたユーザとメールをやり取りした場合、特許文献２に記載の電子メール表示装置では、期待通りの実行結果を得られない可能性がある。また、一社内で返信メールにおける元のメール本文の引用に関する設定について、特定の規定を設けることは可能であるが、顧客先など社外とのメールのやり取りに対しても同一の規定を適用することを考えると非現実的である。
【０００６】
本発明は、返信メールに元のメール本文を引用する環境下で、引用形式の設定が任意で変更される場合にも、設定の影響を受けることなく、返信メールから元のメールの引用部分の削除を行うことができる電子メール管理装置の提供を目的とする。
【０００７】
また、社員の送受信したメールを全件保存するシステムにおいて、返信メールに含まれる元のメール本文の引用部分を保存対象外として削除することで、メールアーカイブ機能が必要とするストレージ容量を削減することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の電子メール管理装置は、
ヘッダ情報と本文とを含む過去に送信された電子メールを格納するメール格納部と、
他の装置から送信されたヘッダ情報と本文とを含む電子メールであって処理対象となる前記電子メールを示す処理対象メールを記憶する処理対象メール記憶部と、
前記処理対象メール記憶部の記憶する前記処理対象メールに関連する前記電子メールを示す関連メールを、前記メール格納部を対象として所定の検索規則に基づいて検索する関連メール検索部と、
前記関連メール検索部による検索で前記関連メールがヒットした場合に、前記関連メールと前記処理対象メールとの本文どうしを行単位で比較することにより、前記処理対象メールの前記本文における前記関連メールの前記本文の引用範囲を特定する引用範囲特定部と、
前記引用範囲特定部によって前記引用範囲が特定された場合に、前記処理対象メールの前記本文から前記引用範囲を削除する引用範囲削除部と、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納する格納処理部と
を備えたことを特徴とする。
【０００９】
前記メール格納部は、
送受信時における本文の行数を示す本文行数情報が対応付けられた前記電子メールを格納し、
前記電子メール管理装置は、さらに、
前記処理対象メールの前記本文行数情報を前記処理対象メールから抽出する抽出部を備え、
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と、前記処理対象メールの本文の最終行から前記関連メールに対応付けられた前記本文行数情報の示す行数だけ先頭行へ向かう位置に存在する行を示す行数対応行との比較を行い、前記比較結果に基づいて前記引用範囲を特定し、
前記格納処理部は、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報に加え、さらに、前記抽出部によって抽出された前記本文行数情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納することを特徴とする。
【００１０】
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と、前記処理対象メールの前記行数対応行との最大共通部分列の値を求め、求めた前記最大共通部分列の値と前記関連メールの本文の先頭行の長さとを比較し、比較結果に基づいて、前記引用範囲を特定することを特徴とする。
【００１１】
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と前記処理対象メールの前記行数対応行との比較と、前記関連メールの本文の先頭行と前記処理対象メールの前記行数対応行の直上の行と直下の行との少なくともいずれかの行との比較とに基づいて、前記引用範囲を特定することを特徴とする。
【００１２】
前記引用範囲特定部は、
前記関連メールと前記処理対象メールとの本文どうしを行単位で比較する際に、前記関連メールの本文の先頭行と、前記処理対象メールの本文の最終行から前記関連メールの本文の行数だけ先頭行へ向かう位置に存在する行との最大共通部分列の値を求め、求めた前記最大共通部分列の値と前記関連メールの本文の先頭行の長さとを比較し、比較結果に基づいて前記引用範囲を特定することを特徴とする。
【００１３】
この発明の電子メール管理プログラムは、
コンピュータを、
ヘッダ情報と本文とを含む過去に送信された電子メールを格納するメール格納部、
他の装置から送信されたヘッダ情報と本文とを含む電子メールであって処理対象となる前記電子メールを示す処理対象メールを記憶する処理対象メール記憶部、
前記処理対象メール記憶部の記憶する前記処理対象メールに関連する前記電子メールを示す関連メールを、前記メール格納部を対象として所定の検索規則に基づいて検索する関連メール検索部、
前記関連メール検索部による検索で前記関連メールがヒットした場合に、前記関連メールと前記処理対象メールとの本文どうしを行単位で比較することにより、前記処理対象メールの前記本文における前記関連メールの前記本文の引用範囲を特定する引用範囲特定部、
前記引用範囲特定部によって前記引用範囲が特定された場合に、前記処理対象メールの前記本文から前記引用範囲を削除する引用範囲削除部、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納する格納処理部、
として機能させることを特徴とする。
【００１４】
この発明の電子メール管理方法は、
メール格納部と、処理対象メール記憶部と、関連メール検索部と、引用範囲特定部と、引用範囲削除部と、格納処理部とを備えた電子メール管理装置が行う電子メール管理方法であって、
前記メール格納部が、
ヘッダ情報と本文とを含む過去に送信された前記電子メールを格納し、
前記処理対象メール記憶部が、
端末装置から送信されたヘッダ情報と本文とを含む電子メールであって処理対象となる前記電子メールを示す処理対象メールを記憶し、
前記関連メール検索部が、
前記処理対象メール記憶部の記憶する前記処理対象メールに関連する前記電子メールを示す関連メールを、前記メール格納部を対象として所定の検索規則に基づいて検索し、
前記引用範囲特定部が、
前記関連メール検索部による検索で前記関連メールがヒットした場合に、前記関連メールと前記処理対象メールとの本文どうしを行単位で比較することにより、前記処理対象メールの前記本文における前記関連メールの前記本文の引用範囲を特定し、
前記引用範囲削除部が、
前記引用範囲特定部によって前記引用範囲が特定された場合に、前記処理対象メールの前記本文から前記引用範囲を削除し、
前記格納処理部が、
前記引用範囲削除部によって前記引用範囲の削除された前記処理対象メールの前記本文を前記処理対象メールの前記ヘッダ情報と関連付けて、前記過去に送信された前記電子メールとして前記メール格納部に格納することを特徴とする。
【発明の効果】
【００１５】
この発明によれば、返信メールに元のメール本文を引用する環境下おいて、引用形式の設定が任意で変更される場合にも、設定の影響を受けることなく、返信メールから元のメールの引用部分の削除可能な電子メール管理装置を提供できる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１のメールアーカイブ装置１００１の構成図。
【図２】実施の形態１のメールアーカイブ装置１００１を適用した電子メールシステム２０００の構成図。
【図３】実施の形態１のメールデータ記憶装置１００８のリレーショナルデータベースシステムを構成する各テーブル構成を示す図。
【図４】実施の形態１のメールアーカイブ装置１００１の適用可能なメール送受信の具体例を示す図。
【図５】実施の形態１の発信メールＭ０を示す図。
【図６】実施の形態１の返信メールＭ１を示す図。
【図７】実施の形態１の返信メールＭ２を示す図。
【図８】実施の形態１のメールアーカイブ装置１００１の動作を示すフローチャート。
【図９】図８を補足する図。
【図１０】図８を補足する別の図。
【図１１】実施の形態２のメールアーカイブ装置１００１の動作を示すフローチャート。
【図１２】図１１を補足する図。
【図１３】実施の形態３のメールアーカイブ装置１００１の動作を示すフローチャート。
【図１４】図１３を補足する図。
【図１５】図１３を補足する別の図。
【図１６】実施の形態４のメールアーカイブ装置１００１の外観を示す図。
【図１７】実施の形態４のメールアーカイブ装置１００１のハードウェア資源を示す図。
【発明を実施するための形態】
【００１７】
実施の形態１．
図１は、実施の形態１のメールアーカイブ装置１００１（電子メール管理装置）の構成を示すブロック図である。メールアーカイブ装置１００１は、メール取込処理部１００２（抽出部）と、関連メール検索部１０３１及び引用範囲特定部１０３２とを有する返信メール解析処理部１００３と、引用範囲削除部１００６と、メールデータ登録処理部１００７（格納処理部）と、メールデータ記憶装置１００８（メール格納部）と、処理対象メール記憶部１００９を備えている。これらの機能は、動作の説明で後述する。
【００１８】
図２は、実施の形態１のメールアーカイブ装置１００１を適用した電子メールシステム２０００の構成図である。メール端末装置２００５〜２００７（他の装置の一例）を操作するユーザが送受信する電子メール（以下、メールともいう）は、ＬＡＮ／ＷＡＮ２００４を通ってメールサーバ２００１を介し、社外インターネット２００２へと通信される。ここで、メール送受信の際に、メールサーバ２００１がメールアーカイブ装置１００１へ送受信されるメールのコピーを送るなどして、このメールサーバ２００１を介するメール全件のアーカイブを作成する。メールアーカイブ装置１００１はメールサーバ２００１から受信した電子メールを処理対象として、処理対象メール記憶部１００９に記憶する。なお、図２中のメール端末２００５等は１台以上の任意の台数でよい。
【００１９】
（各種テーブルの説明）
図３は、メールアーカイブ装置１００１のメールデータ記憶装置１００８に格納される各テーブルを示す図である。
（１）ユーザテーブル３００１は、電子メールシステム２０００を利用するユーザごとに割り当てられたメールアドレスを保存するテーブルである。
（２）発信メールテーブル３００２（”ｍａｉｌ＿ｔａｂｌｅ”３００２ともいう）は、電子メールシステム２０００を介して送受信されたメールの一部を、メールの各ヘッダ情報とあわせて保存するテーブルである。
（３）返信メールテーブル３００３（”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３ともいう）は、電子メールシステム２０００を介して送受信された返信メール（発信メールテーブル３００２に保存されているメールに対する返信メール）を、メールのヘッダ情報とあわせて保存するテーブルである。
【００２０】
図４は、メールアーカイブ装置１００１が処理対象とするメールの、送受信の様子を示した図である。本実施の形態１では、この図４で示す場合を例として説明する。なお、以降の説明では、図４に示すように、会社Ａのユーザから会社Ｂへ「最初に」送信されるメールを“発信メールＭ０”と呼ぶ。この発信メールＭ０に対する返信として会社Ｂから会社Ａへ送信（返信）されるメールを“返信メールＭ１”と呼び、さらにこの返信メールＭ１に対する返信として会社Ａから会社Ｂへ送信（返信）されるメールを“返信メールＭ２”と呼ぶこととする。さらに、返信メールＭ１および返信メールＭ２を含めた、返信に対する返信を総じて“返信メールＭｋ（以下ｋは１以上の整数）”と呼ぶこととする。Ｍ２、Ｍ４のようにｋが偶数の場合は会社Ａから会社Ｂへの返信メールである。また、Ｍ１、Ｍ３のようにｋが奇数の場合は会社Ｂから会社Ａへの返信メールである。
【００２１】
図５〜図７は、図４の発信メールＭ０、返信メールＭ１、返信メールＭ２のそれぞれの本文の具体例を示したものである。図５等の左側に示す数字は行番号である。図５、図６、図７等は、後述の動作説明で参照する。
【００２２】
図８は、メールアーカイブ装置１００１の動作を示したフローチャートである。
図９は、図８のフローチャートによる処理の概要を示す図である。図８は、図９に示すように、
（１）発信メールＭ０（本文Ｍ（０））は、”ｍａｉｌ＿ｔａｂｌｅ”３００２に登録される。
（２）返信メールＭ１（本文Ｍ（０）、Ｍ（１））は、発信メールＭ０の引用範囲Ｍ（０）が削除され、返信メールＭ１で新たに記載された本文Ｍ（１）のみが”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に登録される。
（３）返信メールＭ２（本文Ｍ（０）、Ｍ（１）、Ｍ（２））は、返信メールＭ１と同様に、引用範囲Ｍ（０）、Ｍ（１）が削除され、本文Ｍ（２）のみが”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に登録される。
（４）返信メールＭ３（本文Ｍ（０）、Ｍ（１）、Ｍ（２）、Ｍ（３））も同様に、引用範囲Ｍ（０）〜Ｍ（２）が削除され、本文Ｍ（３）のみが”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に登録される。これら発信メールＭ０あるいは返信メールＭｋがテーブルに登録される際には、そのヘッダ情報と共に登録される。これら登録はメールデータ登録処理部１００７により実行される。以下、図８をステップごとに順に説明する。
【００２３】
まず、ステップＳ６０１において、関連メール検索部１０３１は、処理対象メール記憶部１００９から処理対象メールを取り出す。関連メール検索部１０３１は、取り出した処理対象メールから、ヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔの各情報を含む。）を抽出する。関連メール検索部１０３１は、これらの組み合わせをキーとした検索を”ｍａｉｌ＿ｔａｂｌｅ”３００２に対して行う。この検索は、処理対象メールが”ｍａｉｌ＿ｔａｂｌｅ”３００２に登録されているかどうかのチェックである。この検索では、処理対処メールに対する発信メールＭ０を検索する。この検索は、処理対象メールのヘッダ情報及び”ｍａｉｌ＿ｔａｂｌｅ”３００２に記録されているヘッダ情報から検索することができる（所定の検索規則の一例）。登録されていなければ処理対象メールは発信メールＭ０であり、登録されていれば処理対象メールは返信メールＭｋである。なお、本実施の形態１では、この検索におけるキーを「ヘッダ情報」（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）の組み合わせとし、”ｍａｉｌ＿ｔａｂｌｅ”３００２および”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３のテーブル構成もこれに準じたものとしている。しかし、ここで挙げたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）以外のものを追加してもよい。
【００２４】
次に、ステップＳ６０２において、ステップＳ６０１でｍａｉｌ＿ｔａｂｌｅ”３００２に検索結果が存在しない場合（ヒットしない場合）、処理対象メールは発信メールＭ０に分類できる。したがって、この場合、処理はステップＳ６０３へ進む。
【００２５】
ステップＳ６０３では、メールデータ登録処理部１００７が、発信メールＭ０である処理対象メールを、”ｍａｉｌ＿ｔａｂｌｅ”３００２へ保存する処理を実行する。メールデータは、処理対象メールの本文のほか、Ｓ６０１の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ登録処理部１００７によるメールデータ記憶装置１００８への登録が完了すると、本フローチャートは終了する。
【００２６】
ステップＳ６０２におけるもう一方のケース、ステップＳ６０１の検索結果（関連メール）が存在する場合、処理対象メールは返信メールＭｋに分類できる。したがって、この場合、ステップＳ６０４へ進む。
【００２７】
ステップＳ６０４では、引用範囲特定部１０３２が、ステップＳ６０１の検索結果（ヒットした）となったメール（発信メールＭ０（関連メール））の本文Ｍ（０）を取得し、その行数をカウントしてステップＳ６０５へ進む。
【００２８】
図１０は、ステップＳ６０５の処理を説明する図である。ステップＳ６０５では、引用範囲特定部１０３２は、返信メールＭｋ（Ｍ（０）＋Ｍ（１）＋・・）である処理対象メールＭｋにおいて、ステップＳ６０４でカウントしたＭ（０）の行数分、処理対象メールＭｋ本文（Ｍ（０）＋Ｍ（１）＋・・＋Ｍ（ｋ））の最終行から前方（先頭行方向）へ移動する。図１０は、Ｍ（０）は３行とする。処理対象メールＭｋの移動先の行１１と、ステップＳ６０１の検索結果となった発信メールＭ０の本文の先頭行１２を対象に、引用範囲特定部１０３２は、最長共通部分文字列（ＬＣＳ：Ｌｏｎｇｅｓｔ  Ｃｏｍｍｏｎ  Ｓｕｂｓｅｑｕｅｎｃｅ）長を求める。例えば、移動先の行１１が「＞ａｂｃ」であり、先頭行１２が「ａｂｃ」であれば、ＬＣＳ値は「３」である。
【００２９】
次に、ステップＳ６０６において、引用範囲特定部１０３２は、ステップＳ６０５で求めたＬＣＳ値と、ステップＳ６０１の検索結果となった発信メールＭ０の本文の先頭行１２の長さを比較する。先頭行１２が「ａｂｃ」の例では、長さは同一になる。この比較結果が等しくない場合、引用範囲特定部１０３２の処理は、ステップＳ６０７へ進む。
【００３０】
ステップＳ６０７では、引用範囲特定部１０３２は、ステップＳ６０５でＬＣＳ対象とした処理対象メールの本文の行１１が、処理対象メールＭｋの本文の先頭行であるかどうかを調べる。行１１が、処理対象メール本文の先頭行でない場合、ステップＳ６０８へ進む。
【００３１】
ステップＳ６０８では、引用範囲特定部１０３２は、図１０に示すように、ステップＳ６０５でＬＣＳ対象とした処理対象メールＭｋの本文の行１１から１行分前方へ移動し、この移動先の行１３と、ステップＳ６０１の検索結果となったメールの本文の先頭行１２を対象に、再度ＬＣＳを求める。以降は、引用範囲特定部１０３２の処理はステップＳ６０６へ進み、これらの処理を繰り返して実行する。
【００３２】
ステップＳ６０７におけるもう一方のケース、すなわち、ステップＳ６０５でＬＣＳ対象とした処理対象メールＭｋの本文の行１１が、処理対象メールＭｋの本文の先頭行である場合、処理は、ステップＳ６０９へ進む。
【００３３】
ステップＳ６０９では、メールデータ登録処理部１００７が、処理対象メールＭｋを”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３へ保存する処理を実行する。すなわちＳ６０７のＹＥＳの場合は、処理対象メールＭｋに、ヒットした発信メールＭ０の引用がなかったことになるので、ステップＳ６１０の引用範囲の削除処理を経ることなく”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３へ保存する。保存されるメールデータは、処理対象メールＭｋの本文Ｍ（ｋ）のほか、ステップＳ６０１の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ記憶装置１００８への登録が完了したら、本フローチャートは終了する。
【００３４】
ステップＳ６０６におけるもう一方のケース、ステップＳ６０５で求めたＬＣＳ値と、ステップＳ６０１の検索結果となったメールの本文先頭行の長さの比較結果が等しい場合、処理は、ステップＳ６１０へ進む。
【００３５】
ステップＳ６１０では、引用範囲削除部１００６は、図１０で示すように、ステップＳ６０６の比較結果から、処理対象メールＭｋにおいて、ステップＳ６０１の検索結果となった発信メールＭ０の本文の引用は、ステップＳ６０５でＬＣＳ対象とした処理対象メールＭｋの本文の行１１から最終行までであると判断し、この引用範囲（図１０では３行）を重複部分として処理対象メールＭｋから削除する。
【００３６】
次に、ステップＳ６１１において、関連メール検索部１０３１が、ステップＳ６０１と同様の検索を”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に対して行う。関連メール検索部１０３１は、この検索において、処理対処メールに対する返信メールを検索するが、Ｓ６１１〜Ｓ６２０、Ｓ６１１のループでは、最も過去の返信メールから順に検索する。図９のＭ３の例でいえば、Ｍ１，Ｍ２の順に検索し、この検索は、処理対象メールのヘッダ情報及び”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に記録されているヘッダ情報から検索することができる（所定の検索規則の一例）。
【００３７】
ステップＳ６１２において、ステップＳ６１１の検索結果が存在しない場合、ステップＳ６１３へ進む。
【００３８】
ステップＳ６１３では、ステップＳ６１２の結果から、メールデータ登録処理部１００７は、処理対象メールＭｋに、これ以上の引用部分は存在しないと判断して、処理対象メールＭｋを”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３へ保存する処理を実行する。メールデータは、処理対象メールＭｋの本文のほか、Ｓ６１１の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ記憶装置１００８への登録が完了したら、本フローチャートは終了する。
【００３９】
ステップＳ６１２におけるもう一方のケース、ステップＳ６１１で実行する検索結果が存在する場合、ステップＳ６１４へ進む。
【００４０】
ステップＳ６１４では、引用範囲特定部１０３２は、ステップＳ６０４と同様に、ステップＳ６１１で検索結果となったメール（処理対象メールＭｋよりも以前の返信メールＭｉ（ｉ＜ｋ）、以下Ｍｉと記す）の本文を取得し、その行数をカウントしてステップＳ６１５へ進む。
【００４１】
ステップＳ６１５では、ステップＳ６０５と同様に、引用範囲特定部１０３２は、ステップＳ６１０で重複部分を削除後の処理対象メールＭｋにおいて、ステップＳ６１４でカウントした行数分、処理対象メールＭｋの本文最終行から前方へ移動する。この移動先の行と、ステップＳ６１１の検索結果となった返信メールＭｉの本文先頭行を対象に、再度ＬＣＳを求める。
【００４２】
次に、ステップＳ６１６において、引用範囲特定部１０３２は、ステップＳ６１５で求めたＬＣＳ値と、ステップＳ６１１の検索結果となった返信メールＭｉの本文先頭行の長さを比較する。この比較結果が等しくない場合、引用範囲特定部１０３２の処理は、ステップＳ６１７へ進む。
【００４３】
ステップＳ６１７では、ステップＳ６０７と同様に、引用範囲特定部１０３２は、ステップＳ６１５でＬＣＳ対象とした処理対象メールの本文の行が、処理対象メールの本文先頭行であるかどうかについて調べる。処理対象メールの本文先頭行でない場合、ステップＳ６１８へ進む。
【００４４】
ステップＳ６１８では、引用範囲特定部１０３２は、ステップＳ６１５でＬＣＳ対象とした処理対象メールの本文の行から１行分前方（先頭行方向）へ行を移動し、この移動先の行と、ステップＳ６１１の検索結果となった返信メールＭｉの本文先頭行とを対象に、再度ＬＣＳを求める。以降、引用範囲特定部１０３２の処理はステップＳ６１６へ進み、処理を繰り返して実行する。
【００４５】
ステップＳ６１７におけるもう一方のケース、すなわち、ステップＳ６１５でＬＣＳ対象とした処理対象メールの本文の行が、処理対象メールの本文先頭行である場合、処理はステップＳ６１９へ進む。
【００４６】
ステップＳ６１９では、メールデータ登録処理部１００７が、返信メールである処理対象メールＭｋを”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３へ保存する処理を実行する。メールデータは、処理対象メールＭｋの本文のほか、Ｓ６１１の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ記憶装置１００８への登録が完了したら、本フローチャートは終了する。
【００４７】
ステップＳ６１６におけるもう一方のケース、すなわちステップＳ６１５で求めたＬＣＳ値と、ステップＳ６１１の検索結果となったメールの本文先頭行の長さの比較結果とが等しい場合、処理はステップＳ６２０へ進む。
【００４８】
ステップＳ６２０では、引用範囲削除部１００６が、ステップＳ６１６の比較結果から、処理対象メールにおいて、ステップＳ６１１の検索結果となったメールの本文の引用は、ステップＳ６１５でＬＣＳ対象とした処理対象メールの本文の行から最終行までであると判断し、この引用範囲を重複部分として処理対象メールから削除する。
【００４９】
ステップＳ６２０の処理完了後は、ステップＳ６１１に再び進み、以降同様の処理を繰り返していく。
【００５０】
以上のように、実施の形態１のメールアーカイブ装置１００１によれば、例えばメール編集ソフトにおいて、返信メールに元のメール本文を引用している環境下で、設定が任意で変更されている送受信メールを管理する場合に、参照不要な過去のメールの引用部分を削除することができる。
【００５１】
また、実施の形態１のメールアーカイブ装置１００１を、例えば、社内のメールシステムにおいて、コンプライアンスの観点から社員が送受信したメールを全件保存しておき、素早く検索可能な状態とするシステムに適用することで、返信メールに含まれる元のメール本文の引用部分を保存対象外として削除するので、メールアーカイブ機能の必要とするストレージ容量を削減することができる。
【００５２】
実施の形態２．
実施の形態１では、処理対象のメールが返信メールに分類でき、かつ、その返信回数が複数回におよぶ場合、ステップＳ６１１における”ｒｅｐｌｙ−ｔａｂｌｅ”３００３に対する検索が返信回数分実行されることになり、効率が悪い。そこで、本実施の形態２では、前述のようなメールに対して、より効率よく処理できる方式を提案する。
【００５３】
はじめに、”ｍａｉｌ＿ｔａｂｌｅ”３００２および”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に”ｌｉｎｅ＿ｃｏｕｎｔ”（本文行数情報）というカラム（図示していない）を追加する。この”ｌｉｎｅ＿ｃｏｕｎｔ”には、メール送受信時の引用を含むメール本文全体の行数をカウントしておき、この行数を保存する。例えば、図５〜図７における、発信メールＭ０、返信メールＭ１、返信メールＭ２の”ｌｉｎｅ＿ｃｏｕｎｔ”は、それぞれ７、１６、２７である。すなわち”ｌｉｎｅ＿ｃｏｕｎｔ”は、送受信時（引用範囲の削除されていない状態）におけるメール本文の行数を示す情報である。”ｌｉｎｅ＿ｃｏｕｎｔ”は、メール取込処理部１００２（抽出部）が、メールから抽出し、”ｍａｉｌ＿ｔａｂｌｅ”３００２、”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に、ヘッダ情報に関連付けて登録する。
【００５４】
図１１は、実施の形態２における、メールアーカイブ装置１００１の詳細動作を示したフローチャートである。図１２は、図１１のフローチャートによる処理の概要を示す図である。図１２の返信メールＭ２に着目すると、返信メールＭ２では引用範囲であるＭ（０）、Ｍ（１）が削除されることになる。実施の形態１では、引用範囲特定部１０３２は、Ｍ（０）、Ｍ（１）に対して、都度、”ｒｅｐｌｙ−ｔａｂｌｅ”３００３を検索（図８のＳ６１１）していた。これに対して実施の形態２では、”ｌｉｎｅ＿ｃｏｕｎｔ”の情報（本文行数情報）を持たせることで、”ｒｅｐｌｙ−ｔａｂｌｅ”３００３の参照が１回で済むことになる。すなわち、返信メールＭ２については、すでに”ｒｅｐｌｙ−ｔａｂｌｅ”３００３に登録されている返信メールＭ１の”ｌｉｎｅ＿ｃｏｕｎｔ”から、図１２に示すように、Ｍ（０）、Ｍ（１）を一括に削除できる。返信メールＭ３についても、すでに”ｒｅｐｌｙ−ｔａｂｌｅ”３００３に登録されている返信メールＭ２の”ｌｉｎｅ＿ｃｏｕｎｔ”から、Ｍ（０）〜Ｍ（２）を一括に削除できる。以下では、図１１のフローチャートをステップごとに説明していく。
【００５５】
まず、ステップＳ７０１において、関連メール検索部１０３１は、処理対象メール記憶部１００９から処理対象メールを取り出す。関連メール検索部１０３１は、取り出した処理対象メールから、ヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）を抽出して、これらの組み合わせをキーとした検索を”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３に対して行う。関連メール検索部１０３１は、この検索において、直前の返信メールを検索する。なお、実施の形態２では、この検索におけるキーをヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）の組み合わせとし、”ｍａｉｌ＿ｔａｂｌｅ”３００２および”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３のテーブル構成もこれに準じたものとしているが、ここで挙げたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）以外のものを追加してもよい。
【００５６】
ステップＳ７０２において、ステップＳ７０１の検索結果が存在する場合、すなわち、処理対象メール直前の返信メールＭｉ（関連メール）が存在する場合、処理対象メールは返信メールＭｉ＋１（ｋ＞ｉ）に分類できる。したがって、この場合、ステップＳ７０３へ進む。
【００５７】
ステップＳ７０３では、引用範囲特定部１０３２は、ステップＳ７０１の検索結果（ヒットした）となった返信メールＭｉの”ｌｉｎｅ＿ｃｏｕｎｔ”を取得し、ステップＳ７０４へ進む。
【００５８】
ステップＳ７０４では、引用範囲特定部１０３２は、図１２で説明した返信メールＭ２、Ｍ３等のように、処理対象メールＭｉ＋１において、ステップＳ７０３で取得した”ｌｉｎｅ＿ｃｏｕｎｔ”値分、処理対象メールＭｉ＋１の本文の最終行から前方へ移動する。
引用範囲特定部１０３２は、この移動先の行（行数対応行）と、ステップＳ７０１の検索結果となったメールの本文先頭行を対象に、最長共通部分文字列（ＬＣＳ）長を求める。
【００５９】
次に、ステップＳ７０５において、引用範囲特定部１０３２は、ステップＳ７０４で求めたＬＣＳ値と、ステップＳ７０１の検索結果となった返信メールＭｉの本文先頭行の長さを比較する。この比較結果が等しくない場合、ステップＳ７０６へ進む。
【００６０】
ステップＳ７０６では、引用範囲特定部１０３２は、ステップＳ７０４でＬＣＳ対象とした処理対象メールの本文の行が、処理対象メールの本文の先頭行であるかどうかについて調べる。処理対象メール本文の先頭行でない場合、ステップＳ７０７へ進む。
【００６１】
ステップＳ７０７では、引用範囲特定部１０３２は、ステップＳ７０４でＬＣＳ対象とした処理対象メールの本文の行から１行分前方へ移動し、この移動先の行と、ステップＳ７０１の検索結果となったメールの本文先頭行を対象に、再度ＬＣＳを求める。以降は、ステップＳ７０５へ進み、処理を繰り返して実行する。
【００６２】
ステップＳ７０６におけるもう一方のケース、すなわちステップＳ７０４でＬＣＳ対象とした処理対象メールの本文の行が、処理対象メール本文の先頭行である場合、処理はステップＳ７０８へ進む。
【００６３】
ステップＳ７０８では、メールデータ登録処理部１００７が処理対象メールＭｉ＋１を”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３へ保存する処理を実行する。メールデータは、処理対象メールの本文のほか、ステップＳ７０１の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ記憶装置１００８への登録が完了したら、本フローチャートは終了する。
【００６４】
ステップＳ７０５におけるもう一方のケース、すなわち、ステップＳ７０４で求めたＬＣＳ値と、ステップＳ７０１の検索結果となったメールの本文先頭行の長さの比較結果が等しい場合、処理はステップＳ７０９へ進む。
【００６５】
ステップＳ７０９では、ステップＳ７０５の比較結果から、引用範囲削除部１００６は、処理対象メールＭｉ＋１において、ステップＳ７０１の検索結果となった返信メールＭｉの本文の引用は、ステップＳ７０４でＬＣＳ対象とした処理対象メールの本文の行から最終行までであると判断し、この引用範囲を重複部分として処理対象メールから削除する。
【００６６】
ステップＳ７０９の処理完了後は、ステップＳ７０８に進み、前述の処理を実行して本フローチャートは終了する。
【００６７】
次に、ステップＳ７０２において、ステップＳ７０１の検索結果が存在しない場合（処理対象メールの返信メールの登録がない場合）、処理はステップＳ７１０へ進む。
【００６８】
ステップＳ７１０では、関連メール検索部１０３１が、ステップＳ７０１と同様の検索を”ｍａｉｌ＿ｔａｂｌｅ”３００２に対して行う。
【００６９】
ステップＳ７１１において、ステップＳ７１０の検索結果が存在しない場合（テーブル３００２に未登録の場合）、ステップＳ７１１の結果から、処理対象メールは発信メールＭ０に分類できる。したがって、この場合、処理はステップＳ７１２へ進む。
【００７０】
ステップＳ７１２では、メールデータ登録処理部１００７が、処理対象メールＭ０を”ｍａｉｌ＿ｔａｂｌｅ”３００２へ保存する処理を実行する。メールデータは、処理対象メールの本文のほか、ステップＳ７１０の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ記憶装置１００８への登録が完了したら、本フローチャートは終了する。
【００７１】
ステップＳ７１１におけるもう一方のケース、ステップＳ７１０の検索結果が存在する場合、ステップＳ７１１の結果から、処理対象メールは返信メールに分類できる。この場合は、発信メールテーブル３００２に登録があり、かつ、返信メールテーブル３００３に登録がない（Ｓ７０２のＮＯ）状態であるので、処理対象メールは、最初の返信メールＭ１である。したがって、この場合、処理はステップＳ７１３へ進む。
【００７２】
ステップＳ７１３では、ステップＳ７０３と同様に、引用範囲特定部１０３２は、ステップＳ７１０で検索結果となった発信メールＭ０（関連メール）の”ｌｉｎｅ＿ｃｏｕｎｔ”を取得し、ステップＳ７１４へ進む。
【００７３】
ステップＳ７１４では、ステップＳ７０４と同様に、引用範囲特定部１０３２は、ステップＳ７１３で取得した”ｌｉｎｅ＿ｃｏｕｎｔ”値分、処理対象メールＭｉ＋１の本文最終行から前方へ移動する。この移動先の行と、ステップＳ７１０の検索結果となった発信メールＭ０の本文先頭行を対象に、再度ＬＣＳを求める。
【００７４】
次に、ステップＳ７１５において、引用範囲特定部１０３２は、ステップＳ７１４で求めたＬＣＳ値と、ステップＳ７１０の検索結果となった返信メールＭ０の本文先頭行の長さを比較する。この比較結果が等しくない場合、ステップＳ７１６へ進む。
【００７５】
ステップＳ７１６では、引用範囲特定部１０３２は、ステップＳ７１４でＬＣＳ対象とした処理対象メールＭｉ＋１の本文の行が、処理対象メールＭｉ＋１の本文先頭行であるかどうかについて調べる。処理対象メールＭｉ＋１の本文先頭行でない場合、ステップＳ７１７へ進む。
【００７６】
ステップＳ７１７では、引用範囲特定部１０３２は、ステップＳ７１４でＬＣＳ対象とした処理対象メールＭｉ＋１の本文の行から１行分前方へ移動し、この移動先の行と、ステップＳ７１０の検索結果となった発信メールＭ０の本文先頭行を対象に、再度ＬＣＳを求める。以降は、ステップＳ７１５へ進み、処理を繰り返して実行する。
【００７７】
ステップＳ７１６におけるもう一方のケース、すなわち引用範囲特定部１０３２は、ステップＳ７１４でＬＣＳ対象とした処理対象メールの本文の行が、処理対象メールの本文先頭行である場合、ステップＳ７１８へ進む。
【００７８】
ステップＳ７１８では、メールデータ登録処理部１００７が、処理対象メールＭｉ＋１を”ｒｅｐｌｙ＿ｔａｂｌｅ”３００３へ保存する処理を実行する。メールデータは、処理対象メールの本文のほか、ステップＳ７１０の検索でキーとしたヘッダ情報（ＭｅｓｓａｇｅＩｄ，Ｒｅｆｅｒｅｎｃｅ，Ｆｒｏｍ，Ｔｏ，Ｃｃ，Ｓｕｂｊｅｃｔ）も含まれる。メールデータ記憶装置１００８への登録が完了すると、本フローチャートは終了する。
【００７９】
ステップＳ７１５におけるもう一方のケース、すなわち、ステップＳ７１４で求めたＬＣＳ値と、ステップＳ７１０の検索結果となったメールの本文先頭行の長さの比較結果とが等しい場合、処理はステップＳ７１９へ進む。
【００８０】
ステップＳ７１９では、ステップＳ７１５の比較結果から、引用範囲削除部１００６は、処理対象メールＭｉ＋１において、ステップＳ７１０の検索結果となった発信メールＭ０の本文の引用は、ステップＳ７１４でＬＣＳ対象とした処理対象メールの本文の行から最終行までであると判断し、この引用範囲を重複部分として処理対象メールから削除する。この処理は、図１２のＭ１に対応する。
【００８１】
ステップＳ７１９の処理完了後は、処理はステップＳ７１８（メールデータ登録処理部１００７による登録処理）に進み、前述の処理を実行して本フローチャートは終了する。
【００８２】
以上の実施の形態２のメールアーカイブ装置１００１では、”ｌｉｎｅ＿ｃｏｕｎｔ”の情報に従って引用範囲を削除するので、発信メールテーブル３００３の参照回数が１回で済むので、処理の迅速化を図ることができる。
【００８３】
実施の形態３．
図１４は処理対象メールにおいて、引用行の行数が増えている例を示している。図１４では、引用元の行が「ａｂｃｄｅｆｇ」である場合に、引用先の処理対象メールで「＞ａｂｃｄｅ」と「＞ｆｇ」との２行にわたっている例を示した。前述の実施の形態２では、図１４のように、処理対象メールが返信メールに分類でき、かつ、引用範囲における各行頭に引用記号（‘＞’など）が付くことで改行コードが追加され、引用元のメールの本文よりも行数が増加している場合に、処理対象メールにおける引用範囲を正確に判別できなくなる。そこで、実施の形態３のメールアーカイブ装置１００１では、このような場合においても、引用範囲を正確に判別し、重複部分を削除できる方式を提案する。
【００８４】
本実施の形態３では、実施の形態２の図１１のフローチャートの、ステップＳ７０５〜Ｓ７０６、および、ステップＳ７１５〜Ｓ７１６の間に、図１３のフローチャートを挿入した処理方式を適用する。以下では、図１３に示すフローチャートをステップごとに説明いく。
【００８５】
まず、ステップＳ８０１において、引用範囲特定部１０３２の処理は、図１１のステップＳ７０５またはＳ７１５の判定結果がＮＯとなり、図１３のフローチャートに切り替わり、ステップＳ８０２へ進む。
【００８６】
次に、ステップＳ８０２において、引用範囲特定部１０３２は、ステップＳ７０４またはＳ７１４で求めたＬＣＳ値とＬＣＳ対象となった処理対象メールの本文行の長さとの差分をα、ステップＳ７０４またはＳ７１４で求めたＬＣＳ値とステップＳ７０１またはＳ７１０で検索結果となったメールの本文先頭行の長さとの差分をβとしてそれぞれ求め、ステップＳ８０３へ進む。ステップＳ７０４で求めたＬＣＳ値とは、処理対象メール本文の移動行と、検索結果のメール本文の先頭行とのＬＣＳ値である。図１４の例では、ステップＳ７０４におけるＬＣＳ値は、「２」である。また、図１４の例では「処理対象メールの本文行の長さ」は「＞ｆｇ」の「３」である。
よって、この例では、
差分α＝「１」
である。
また、「検索結果となったメールの本文先頭行の長さ」は図１４では、「ａｂｃｄｅｆｇ」の「７」である。よってこの例では、
差分β＝「５」
である。
【００８７】
次に、ステップＳ８０３において、引用範囲特定部１０３２は、処理対象メールの参照先を１行下方向へ移動する。
図１５は、図１４において、処理対象メールの参照先を１行下方向へ移動した状態を示す。
【００８８】
ステップＳ８０４において、引用範囲特定部１０３２は、処理対象メールの移動先行の長さと、ステップＳ８０２で求めた差分αと差分βの合計値とを比較する。
図１５の例では、
処理対象メールの移動先行の長さ＝「６」、
であり、
差分α＋差分β＝１＋５＝６、
である。
よって、図１５の例では等しくなる。この比較結果が等しくない場合、引用範囲特定部１０３２の処理は、ステップＳ８０５へ進む。
【００８９】
ステップＳ８０５では、引用範囲特定部１０３２は、ステップＳ８０３で下方向へ移動した処理対象メールの参照先を、反対の１行上方向へ移動する。
【００９０】
ステップＳ８０６では、ステップＳ８０４と同様に、引用範囲特定部１０３２は、処理対象メールの移動先行の長さと、ステップＳ８０２で求めた差分αと差分βの合計値とを比較する。この比較結果が等しくない場合、ステップＳ８０７へ進む。
【００９１】
ステップＳ８０７では、図１１のフローチャートに再度切り替わり、引用範囲特定部１０３２の処理は、ステップＳ７０６またはステップＳ７１６へそれぞれ進む。
【００９２】
ステップＳ８０６におけるもう一方のケース、すなわち処理対象メールの移動先行の長さと、ステップＳ８０２で求めた差分αと差分βの合計値の比較結果が等しい場合、引用範囲特定部１０３２は、ステップＳ８０８へ進む。
【００９３】
ステップＳ８０４におけるもう一方のケース、処理対象メールの移動先行の長さと、ステップＳ８０２で求めた差分αと差分βの合計値の比較結果が等しい場合、引用範囲特定部１０３２の処理はステップＳ８０８へ進む。
【００９４】
ステップＳ８０８では、引用範囲特定部１０３２は、処理対象メールにおけるステップＳ８０３またはＳ８０５での移動先行と、ステップＳ７０１またはＳ７１０の検索結果のメールの本文先頭行を対象に、ＬＣＳ値を求める。このＬＣＳ値と、ステップＳ７０４またはＳ７１４におけるＬＣＳ値との合計値を求める。
【００９５】
次に、ステップＳ８０９において、引用範囲特定部１０３２は、ステップＳ８０８で求めたＬＣＳ合計値と、ステップＳ７０１またはＳ７１０の検索結果のメールの先頭行の長さとを比較する。この比較結果が等しくない場合、引用範囲特定部１０３２の処理はステップＳ８０７へ進む。
【００９６】
ステップＳ８０７では、前述の通り図１１のフローチャートに再度切り替わる。
【００９７】
ステップＳ８０９におけるもう一方のケース、すなわち、ステップＳ８０８で求めたＬＣＳ合計値と、ステップＳ７０１またはＳ７１０の検索結果のメールの先頭行の長さの比較結果が等しい場合、ステップＳ８１０へ進む。
【００９８】
ステップＳ８１０では、図１１のフローチャートに再度切り替わり、ステップＳ７０９またはステップＳ７１９へそれぞれ進む。
【００９９】
このように実施の形態３のメールアーカイブ装置１００１では、引用範囲特定部１０３２が、関連メールと処理対象メールとの本文どうしを行単位で比較する際に、関連メールの本文の先頭行と処理対象メールの行数対応行との比較と、関連メールの本文の先頭行と処理対象メールの行数対応行の直上の行と直下の行との少なくともいずれかの行との比較とに基づいて、引用範囲を特定する。よって、実施の形態３のメールアーカイブ装置１００１では、引用元のメールの本文よりも返信メール本文での引用部分の行数が増加している場合にも、処理対象メールにおける引用範囲を正確に判別できる。
【０１００】
実施の形態４．
図１６、図１７を参照して実施の形態４を説明する。実施の形態４は、コンピュータであるメールアーカイブ装置１００１のハードウェア構成を説明する。
図１６は、メールアーカイブ装置１００１の外観の一例を示す図である。
図１７は、メールアーカイブ装置１００１のハードウェア資源の一例を示す図である。
【０１０１】
外観を示す図１６において、メールアーカイブ装置１００１は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット８３０は、メールサーバ２００１を介してネットワークに接続している。
【０１０２】
またハードウェア資源を示す図１７において、メールアーカイブ装置１００１は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＣＤＤ８１８、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【０１０３】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、「記憶装置」あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３などは、出力部、出力装置の一例である。通信ボード８１６は、メールサーバ２００１を介してネットワークに接続されている。
【０１０４】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【０１０５】
上記プログラム群８２３には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【０１０６】
ファイル群８２４には、以上の実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【０１０７】
また、以上に述べた実施の形態の説明において、データや信号値は、ＲＡＭ８１２のメモリ、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１０８】
また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ソフトウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。
【０１０９】
以上の実施の形態では、メールアーカイブ装置１００１を説明したが、メールアーカイブ装置１００１を、コンピュータをメールアーカイブ装置１００１として機能させるためのプログラム（電子メール管理プログラム）としても把握できることは以上の説明から明らかである。また、メールアーカイブ装置１００１の動作を、メールアーカイブ装置１００１が実行する方法（電子メール管理方法）として把握することがきることも以上の説明から明らかである。
【０１１０】
以上の実施の形態では以下を特徴とするメールアーカイブ装置を説明した。
メールサーバを介して送受信される任意のメールに対して、
メールヘッダに含まれる”ＭｅｓｓａｇｅＩｄ”，“Ｒｅｆｅｒｅｎｃｅ”，“Ｆｒｏｍ”，“Ｔｏ”，“Ｃｃ”，“Ｓｕｂｊｅｃｔ”等の各ヘッダ情報、および、本文や添付ファイル内容を示すテキスト情報を抽出する、メール取込処理部と、
メール取込処理部で抽出した各ヘッダ情報を利用して、処理対象メールより以前に送受信されたメールの中から関連性の高いメールを検索する関連メール検索部と、
前述の関連メール検索部による検索結果の関連メールと処理対象メールの本文を行単位で比較することで、処理対象メールにおける関連メールの引用範囲を特定する引用範囲特定部とから構成され、
処理対象メールが返信メールか否かを判断し、かつ、そのメール内の引用範囲まで特定することを特徴とする返信メール解析処理部と、
返信メール解析処理部で特定した関連メールの引用範囲を取り除く、引用範囲削除部と、
メール取込処理部で抽出した各ヘッダ情報と、引用範囲削除部による処理結果のテキスト情報を、メールデータとして記憶装置に保存する、メールデータ登録処理部と、
メールデータ登録処理部がメールデータの保存先とし、かつ、返信メール解析処理部の関連メール検索部が関連メールの検索をおこなう、メールデータ記憶装置と、
を構成要素とするメールアーカイブ装置。
【０１１１】
以上の実施の形態では以下を特徴とするメールアーカイブ装置を説明した。
引用範囲特定部は、関連メールの本文行数分、処理対象メールの本文最終行から前方へ移動し、この移動先の行と関連メールの本文開始行を対象に最大共通部分列（ＬＣＳ）長を求め、これと関連メールの本文開始行長を比較することで、処理対象メールにおける関連メールの引用範囲を特定するメールアーカイブ装置。
【０１１２】
以上の実施の形態では以下を特徴とするメールアーカイブ装置を説明した。
メール取込処理部が、
メールアーカイブ装置が処理対象とするメール全てに対し、メール送受信時の状態での本文の行数をカウントした結果を本文行数情報とし、
メールデータ登録処理部が、
本文行数情報をメールデータ記憶装置に追加で保存し、
引用範囲特定部が、
本文行数情報をメールデータ記憶装置から取得して、この数値分処理対象メールの本文最終行から前方へ移動し、この移動先の行と関連メールの本文開始行を対象に、最大共通部分列（ＬＣＳ）長を求め、これと関連メールの本文開始行長を比較することで、処理対象メールにおける関連メールの引用範囲を特定するメールアーカイブ装置。
【０１１３】
以上の実施の形態では以下を特徴とするメールアーカイブ装置を説明した。
引用範囲特定部が、
本文行数情報の数値分処理対象メールの本文最終行から前方へ移動し、この移動先の行とその前後１行まで含めた２行と、関連メールの本文開始行を対象に、最大共通部分列（ＬＣＳ）長またはその合計値を求め、これと関連メールの本文開始行長を比較することで、処理対象メールにおける関連メールの引用範囲を特定するメールアーカイブ装置。
【符号の説明】
【０１１４】
１００１  メールアーカイブ装置、１００２  メール取込処理部、１００３  返信メール解析処理部、１０３１  関連メール検索部、１０３２  引用範囲特定部、１００６  引用範囲削除部、１００７  メールデータ登録処理部、１００８  メールデータ記憶装置、１００９  処理対象メール記憶部、２０００  電子メールシステム、２００１  メールサーバ、２００４  ＬＡＮ／ＷＡＮ、２００５，２００６，２００７  メール端末装置、３００１  ユーザテーブル、３００２  発信メールテーブル、３００３  返信テーブル。
【図１】
2012203492.tif 000003
【図２】
2012203492.tif 000004
【図３】
2012203492.tif 000005
【図４】
2012203492.tif 000006
【図５】
2012203492.tif 000007
【図６】
2012203492.tif 000008
【図７】
2012203492.tif 000009
【図８】
2012203492.tif 000010
【図９】
2012203492.tif 000011
【図１０】
2012203492.tif 000012
【図１１】
2012203492.tif 000013
【図１２】
2012203492.tif 000014
【図１３】
2012203492.tif 000015
【図１４】
2012203492.tif 000016
【図１５】
2012203492.tif 000017
【図１６】
2012203492.tif 000018
【図１７】
2012203492.tif 000019