以下、本発明の好ましい実施例について、図1から図16までの添付図面を参照して説明する。図1は本発明のデータ管理プログラムを実行するコンピュータとして機能する実施例のネットワークシステム100を示すブロック図である。図1に示すように、ネットワークシステム100は、4台のパーソナルコンピュータ(以下「クライアントPC」と称す)10に1台のメールコンテンツ管理サーバ30が接続され、更に、1台のファイルサーバ50が接続されて構成されている。
図1に示すように、クライアントPC10にはローカルエリアネットワーク (LAN)70が接続されており、クライアントPC10には、このLAN70を介して1台のメールコンテンツ管理サーバ30と1台のファイルサーバ50と接続されている。LAN70の伝送方式には有線通信方式と無線通信方式とがあり、有線通信方式の伝送媒体としては、より対線(ツイストペアケーブル)、同軸ケーブル、または、光ファイバケーブルなどが用いられる。なお、ネットワークシステム100には、必ずしも、4台のクライアントPC10が接続される必要はなく、1台以上のクライアントPC10が接続されれば良い。
図2は、ネットワークシステム100のより詳細な構成を示すブロック図である。なお、ネットワークシステム100に接続される複数台のクライアントPC10は、ほぼ同様の構成を有するため、図2には1台のクライアントPC10のみを図示する。
クライアントPC10は、LAN70を介してメールを受信すると共に、メールを参照することにより、メールに関連づけられた関連データを特定する。そして、特定された関連データに対し所定の出力要求がされたことに基づいて、関連データの参照元メールの内容に相当するメールコンテンツを表示出力する。
なお、「関連データ」とは、文書データ作成ソフトや描画ソフトを用いて作成されたファイルまたは、それらファイルを格納するフォルダで構成され、メールに関連づけられたデータである。例えば、メールに添付されたファイルやフォルダ(図20(a)参照)、メールに記述されたLAN上のアドレスにより特定されるファイルやフォルダ(図20(c)参照)、メールに記述されたインターネット上のアドレスにより特定されるファイルやフォルダ(図20(b)参照)をあげることができる。
また、「関連データを特定する」とは、例えば、メールに記述されたLAN上のアドレスを取得することによりそのアドレスの関連データを特定すること、メールに添付された関連データをメールから移動またはコピーし、その移動先またはコピー先の関連データのアドレスを取得することにより関連データを特定すること、メールに記述されたインターネット上のアドレスに基づいてダウンロードされた関連データのダウンロード先のアドレスを取得することにより関連データを特定することを含む。
また、「メールコンテンツ」とは、参照元メール(関連データを特定するために参照されたメール)のメール本文に記述されたテキストデータや、参照元メールの送信者データ、または参照元メールの受信日時データなど、参照元メールに関する1または複数種類のデータの組み合わせから構成される。本実施例において、「メールコンテンツ」は、参照元メールのメール本文に記述されたテキストデータと参照元メールの送信者データとから構成されるものとして説明する。
クライアントPC10は、図2に示すように、CPU11と、ROM12と、RAM13と、HDD14と、入力部15と、表示部16と、LAN70に接続するネットワーク用インターフェース17(I/F17)とを備えている。
CPU11は、このプリンタサーバ10を総括的に制御する中央演算処理であり、図4、図5、図6(a)、図8(a)、図10、図11、図12(a)、図15(a)のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。
ROM12は、CPU11により実行される各種制御プログラムや、それらの制御プログラムをCPU11により実行する上で必要なデータなどを格納した書き換え不能なメモリである。RAM13は、CPU11により実行される各種処理に必要なデータやプログラムを一時的に記憶するためのメモリであり、ファイルリストメモリ13aを備えている。なおファイルリストメモリ13aの構成については、図15(c)を参照しつつ後述する。
HDD14は、データの読み書きが可能な記憶媒体であるハードディスクを含むハードディスク駆動装置であり、メール管理アプリケーション14aと、メールコンテンツ表示アプリケーション14bとを備えている。メール管理アプリケーション14aは、メールの作成や送受信、および受信したメールの保存・管理を行なうプログラムであって、図4、図5、図6(a)、図8(a)、図10、図11のフローチャートで示す処理を実行する。一方、メールコンテンツ表示アプリケーション14bは、図12(a)のフローチャートで示す処理を実行する。また、メールに添付された関連データをHDD14に移動またはコピーすることにより、HDD14に関連データを記憶させることができ、メールに記述されたインターネット上のアドレスに基づいてダウンロードされた関連データをHDD14に記憶させることができる。
入力部15は、クライアントPC10にデータ又はコマンドを入力するものであり、キーボード、マウスなどにより構成されている。表示部16は、クライアントPC10で実行される処理内容や、ファイルやフォルダなどのデータを視覚的に確認するために、文字や画像などを表示するものであり、例えば、CRTディスプレイや液晶ディスプレイなどにより構成されている。
I/F17(ネットワーク用インターフェイス17)は、クライアントPC10をLAN70に接続し、LAN70を経由したデータの入出力を制御するものである。なお、LAN70は、ルータを介してインターネットに接続されている(図示せず)。
図2に示すように、上述したCPU11と、ROM12と、RAM13と、HDD14と、入力部15と、表示部16と、I/F17とは、バスライン18を介して互いに接続されている。
メールコンテンツ管理サーバ30は、CPU31と、ROM32と、RAM33と、HDD34と、入力部35と、表示部36と、LAN70を介して上述したクライアントPC10に接続するネットワーク用インターフェース37(I/F37)とを備えている。
メールコンテンツ管理サーバ30における上記のような構成において、CPU31は、メールコンテンツ管理サーバ30の動作を制御するものであり、図6(b)、図8(b)、図12(b)、図15(b)、図16のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。ROM32は、クライアントPC30の動作を制御するためのプログラムなどが格納されたメモリであり、RAM33は、CPU31の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリである。
HDD34は、ハードディスクを含むハードディスク駆動装置であり、参照元メールデータデータベース34a(以下、参照元メールデータDB34aと記述する)と、データベース管理アプリケーション34b(以下、DB管理アプリケーション34bと記述する)とを備えている。なお、参照元メールデータDB34aの構成については、図3を参照しつつ後述する。また、DB管理アプリケーション34bが、図6(b)、図8(b)、図12(b)、図15(b)、図16のフローチャートで示す処理を実行する。
入力部35は、キーボードやマウスなどにより構成され、メールコンテンツ管理サーバ30にデータやコマンドを入力するためのものであり、表示部36は、CRTディスプレイや液晶ディスプレイなどにより構成され、各種処理内容や入力されたデータなどを視覚的に確認するものである。また、I/F37は、メールコンテンツ管理サーバ30をLAN70に接続し、LAN70を経由したデータの入出力を制御するものである。
図2に示すように、上述したCPU31と、ROM32と、RAM33と、HDD34と、入力部35と、表示部36と、I/F37とは、バスライン38を介して互いに接続されている。
上記のように構成されたメールコンテンツ管理サーバ30は、クライアントPC10から出力されるメールコンテンツなどを、参照元メールデータDB34aに登録(記憶)する。また、クライアントPC10からの出力要求に応じて、参照元メールデータDB34aに登録されたメールコンテンツをクライアントPC10へ出力する。
ファイルサーバ50は、CPU51と、ROM52と、RAM53と、HDD54と、入力部55と、表示部56と、LAN70を介して上述したクライアントPC10に接続するネットワーク用インターフェース57(I/F57)とを備えている。
ファイルサーバ50における上記のような構成において、CPU51は、ファイルサーバ50の動作を制御するものであり、図15(a)のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。ROM52は、ファイルサーバ50の動作を制御するためのプログラムなどが格納されたメモリであり、RAM53は、CPU51の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリであり、ファイルリストメモリ53aを備えている。なおファイルリストメモリ53aの構成については、図15(c)を参照しつつ後述する。
HDD54は、データの読み書きが可能な記憶媒体であるハードディスクを含むハードディスク駆動装置であり、共有フォルダ54aと、メールコンテンツ表示アプリケーション54bとを備えている。共有フォルダ54aは、ネットワークシステム100を構成する他のコンピュータ(装置)からも参照できるように設定されている。なお、クライアントPC10など他のコンピュータに同様の共有フォルダを設定しても良いが、ここでは説明の便宜のため、ファイルサーバ50の共有フォルダ54aのみが共有化設定されるものとする。ネットワークシステム100のユーザは、共有フォルダ54aにデータ(ファイルやファイルを格納したフォルダ)を格納することにより、そのデータを、ネットワークシステム100を構成する他のコンピュータからアクセス可能にすることができる。メールコンテンツ表示アプリケーション54bは、図15(a)のフローチャートで示す処理を実行する。
また、メールに添付された関連データをHDD54に移動またはコピーすることにより、HDD54に関連データを記憶させることができ、メールに記述されたインターネット上のアドレスに基づいてダウンロードされた関連データをHDD54に記憶させることができる。
入力部55は、キーボードやマウスなどにより構成され、ファイルサーバ50にデータやコマンドを入力するためのものであり、表示部56は、CRTディスプレイや液晶ディスプレイなどにより構成され、各種処理内容や入力されたデータなどを視覚的に確認するものである。また、I/F57は、ファイルサーバ50をLAN70に接続し、LAN70を経由したデータの入出力を制御するものである。
図2に示すように、上述したCPU51と、ROM52と、RAM53と、HDD54と、入力部55と、表示部56と、I/F57とは、バスライン58を介して互いに接続されている。
図3を参照して、参照元メールデータDB34aの構成について説明する。図3は、参照元メールデータDB34aに登録されるデータの構造を模式的に示す図である。図3に示すように、参照元メールデータDB34aには、参照元メールの受信者ユーザIDと、参照元メールのメールコンテンツMCとが、呼び出しキーKに対応付けて登録される。さらに詳細には、参照元メールデータDB34aに記憶されるデータは、管理番号Fと、受信者ユーザIDと、メールコンテンツMCと、呼び出しキーKと、初回登録時間FTと、呼び出し回数YTと、最終存在日時LTとで1レコードを構成する。
なお、呼び出しキーKは、後述するメールコンテンツデータ作成処理(図12(b)参照)において、目的とするメールコンテンツMCを参照元メールデータDB34aから検索するために、メールコンテンツMCに対応付けて登録される検索用文字列である。「呼び出しキーK」が請求項の「検索用文字列」および「メールコンテンツに対応するデータ」に相当し、参照元メールデータDB34aに記憶される1レコードのデータが請求項の「参照元メールデータ」に相当する。
クライアントPC10において、メールを参照することにより関連データが特定されると、クライアントPC10は、参照元メールの送信者データとメール本文のテキストデータとからなるメールコンテンツMCを作成し、そのメールコンテンツMCと参照元メールの受信者ユーザIDとをメールコンテンツ管理サーバ30へ出力する。メールコンテンツ管理サーバ30は、クライアントPC10から出力されるメールコンテンツMCと参照元メールの受信者ユーザIDとに基づいて、参照元メールデータDB34aにレコードを新規登録したり、または既に登録されているレコードに追加登録を行うことにより、参照元メールデータDB34aを随時更新する。図3は、ユーザ「inoue」から送信され、ユーザIDが「katou」であるユーザによって受信されたメールを参照することにより関連データが特定された場合に、参照元メールデータDB34aに登録されるレコードを示している。
ここでユーザIDとは、クライアントPC10のユーザを識別するための標識となる文字列である。ユーザはネットワークにログオンする際に自分のユーザIDを使って本人証明を行なうと、以後ログオフするまでそのユーザIDの持ち主としてネットワークを利用できるようになる。したがって、参照元メールの受信者ユーザIDは、その参照メールの受信時に用いられていたユーザIDにより特定される。なお、参照元メールの受信者ユーザIDが、請求項における「参照元メール受信者」に相当する。また、参照元メールデータDB34aに登録される初回登録時間FT、呼び出し回数YT、最終存在日時LTについては図6、図8、図15等を参照しつつ後述する。
図4は、クライアントPC10において実行されるメールコンテンツ登録処理のフローチャートである。このメールコンテンツ登録処理は、メール管理アプリケーション14a(図2参照)の起動により開始される。まず、新規メールを受信したかを確認する(S2)。新規メールを受信した場合(S2:Yes)、新規メール受信時登録処理が実行される(S4)。
一方、新規メールを受信しない場合(S2:No)、既に受信済みのメールのうち、関連データが添付されたメール(例えば、図20(a)参照)が参照され、そのメールに添付された関連データが、メール管理アプリケーション14aの管理外へ移動またはコピーされたかを確認する(S6)。受信済みのメールから関連データが移動またはコピーされた場合(S6:Yes)、関連データコピー時登録処理が実行される(S8)。
一方、受信済みのメールから関連データが移動またはコピーされない場合(S6:No)、既に受信済みのメールのうち、インターネット上のアドレスが記述されたメール(例えば、図20(b))が参照され、そのメールに記述されたインターネット上のアドレスに基づいて、関連データがダウンロードされたかを確認する(S10)。受信済みのメールに記述されたアドレスに基づいて、関連データがダウンロードされた場合(S10:Yes)、関連データダウンロード時登録処理が実行される(S12)。そして、クライアントPC10の入力部15からの所定の操作により、ユーザによってメール管理アプリケーション14aの終了指示がされるまで(S14:Yes)、S2からS14に示す処理が繰り返される。
図5は、クライアントPC10において実行される新規メール受信時登録処理(S4)のフローチャートである。新規メール受信時登録処理は、メール管理アプリケーション14aの起動時において、新規メールを受信した場合(図4、S2:Yes)、実行される処理である。まず、変数kを「0」とする(S42)。
次に、LAN上の関連データを特定するアドレスであって、受信したメールのメール本文に記述されたアドレスの総数Nを取得する(S44)。ここで、LAN上の関連データを特定するアドレス(以下、単にLAN上のアドレスと称す)は、ネットワークシステム100を構成する装置を特定する識別文字列とその装置における関連データの位置を示す文字列と関連データ名とを含んで構成されるものである(例えば、図20(c)参照)。本実施例では、「file://¥¥」または「¥¥」から開始される文字列を、LAN上の関連データのアドレスとして取得する。
次に、S44の処理において取得されたLAN上のアドレス総数Nが変数kよりも大きいかを確認する(S46)。変数kがNよりも小さい場合(S46:Yes)、新規メールにおいてk番目に記述されたLAN上のアドレスを取得する(S47)。なお、メールに記述されたLAN上のアドレスを取得する処理(S47)が、請求項の「関連データを特定する」に相当するものである。
次に、クライアントPC10が、その取得されたLAN上のアドレスの関連データにアクセスできるかを判断する(S48)。例えば、ネットワークシステム100を構成する他の装置からも参照できるように設定されているファイルサーバ50の共有フォルダ54a(図2参照)に関連データが所在する場合、クライアントPC10は、その関連データにアクセスすることができる。
一方、取得されたアドレスに誤記がある場合や、その関連データが他の装置からの参照の許可がされていない領域に所在する場合は、クライアントPC10からは、関連データにアクセスできないと判断し(S48:No)、クライアントPC10は、関連データにアクセスできない旨を表示部16に表示する(S58)。これにより、クライアントPC10のユーザは、アクセスできない関連データのアドレスが新規メールのメール本文に記述されていることを認識できるので、例えば、メール送信者に修正メールを再度送信するように促すなど、迅速な対応が可能である。
一方、取得されたLAN上のアドレスの関連データにアクセスできる場合(S48:Yes)、そのLAN上のアドレスの関連データにアクセスする(S49)。
そして、そのアクセス対象の関連データのコメント領域に、既に呼び出しキーKが付加されているかを判断する(S50)。ここで、説明の便宜上、本実施例においては、「関連データ」は、ファイル、またはファイルを格納したフォルダで構成されるものであり、「関連データのコメント領域」とは、関連データを構成するファイル自体に予め設けられた、テキストデータを記述可能な領域であるものとして説明する。
関連データのコメント領域に未だ呼び出しキーKが付加されていない場合(S50:No)、新規ファイル登録処理(図6参照)を実行し(S52)、関連データのコメント領域に既に呼び出しキーKが付加されている場合(S50:Yes)、新規メール登録処理を実行する(S54)。そして、変数kに「1」を加算し、S46の処理に戻る(S56)。
このようにして、新規メールに記述されたLAN上のアドレスの全てについて処理が終了すると、変数kが「k=N」となるので(S46:No)、新規メール受信時登録処理(S4)の処理が終了し、図4に示すメールコンテンツ登録処理に戻る。
図6(a)はクライアントPC10において実行される新規ファイル登録処理(S52)を示すフローチャートである。また、図6(b)はメールコンテンツ管理サーバ30において実行されるレコード新規登録処理を示すフローチャートである。図7は、図6に示す新規ファイル登録処理時およびレコード新規登録処理時における、クライアントPC10とメールコンテンツ管理サーバ30とのデータの送受信を模式的に示す図である。以下、適宜図7を参照しつつ、図6(a)に示す新規ファイル登録処理および図6(b)に示すレコード新規登録処理について説明する。
図6(a)に示す新規ファイル登録処理は、メールを参照することにより関連データが特定された場合であって、その関連データに未だ呼び出しキーKが付加されていない場合に開始される処理である。
まず、関連データの参照元メールの受信者ユーザIDを取得する(S522)。次に、参照元メールのメール本文に記述されたテキストデータと参照元メールの送信者データとから構成されるメールコンテンツMCを作成(取得)し(S523)、そのメールコンテンツMCをS522の処理において取得した受信者ユーザIDと共にメールコンテンツ管理サーバ30へ送信する(S524)。
図6(a)に示すS522からS524の処理を、図7(1),(2)に模式的に示す。図7(1)に示すように、クライアントPC10において、メールAが新規メールとして受信されると、そのメールAが参照され、そのメールAのメール本文に記載されたLAN上のアドレス(¥¥CommonServer¥共有フォルダ¥Report¥レポート.doc)が取得されることにより、そのアドレスの関連データが特定される。
なお、ここで「CommonServe」はファイルサーバ50を示す識別文字列に相当し、「共有フォルダ」はファイルサーバ50の共有フォルダ54aを示す識別文字列に相当するものである。したがって、このアドレスを取得することにより、ファイルサーバ50の共有フォルダ54a内のフォルダ(フォルダ名:Report)に格納されたファイル(ファイル名:レポート.doc)が、関連データとして特定される。
このアドレスにより特定された関連データに、未だ呼び出しキーKが付加されていない場合、クライアントPC10は、図7(2)に示すように、参照元メール受信者のユーザIDとメールコンテンツMCとをメールコンテンツ管理サーバ30へ送信する。
図6に戻り説明する。メールコンテンツ管理サーバ30は、クライアントPC10から受信者のユーザIDとメールコンテンツMCとを受信すると、図6(b)に示すレコード新規登録処理を開始する。図6(b)に示すように、クライアントPC10から受信者のユーザIDとメールコンテンツMCとを受信すると、まず、新規に呼び出しキーKを作成する(S324)。この時作成される呼び出しキーKは、参照元メールデータDB34aに既に登録されている呼び出しキーKと異なるものが作成される。
次に、受信者のユーザIDとメールコンテンツMCとの受信日時を取得する(S326)。そして、クライアントPC10から受信した受信者のユーザIDとメールコンテンツMCとがS324の処理において作成した呼び出しキーKに対応付けられた1件のレコードを作成し、参照元メールデータDB34aに新規登録する(S328)。そして、そのレコードの呼び出しキーKをクライアントPC10に送信する(S330)。
図6(b)に示すS324からS330の処理を、図7(3),(4)に模式的に示す。図7(3)に示すように、メールコンテンツ管理サーバ30は、受信者のユーザIDとメールコンテンツMCとを受信すると、管理番号Fと、クライアントPC10から受信した受信者のユーザIDとメールコンテンツMCと、S324の処理において作成した呼び出しキーKと、S328の処理において取得した受信日時である初回登録日時FTとを含む1件のレコードを作成し、そのレコードを参照元メールデータDB34aに新規登録する。なお、新規登録される1件のレコードは、さらに、呼び出し回数YTと、最終存在日時LTとを含むものであるが、新規登録時にはヌル(何も含まれない空の文字列)とされるため、図示を省略する。そして、1件のレコードが参照元メールデータDB34aに登録されると、その新規登録されたレコードに含まれる呼び出しキーK1が、メールコンテンツ管理サーバ30からクライアントPC10へ送信される。
図6に戻り説明する。クライアントPC10は、メールコンテンツ管理サーバ30から呼び出しキーKを受信すると(S526)、関連データのコメント領域に呼び出しキーKを付加し(S528)、新規ファイル登録処理(S52)を終了し、図5に示す新規メール受信時登録処理(S4)に戻る。
このように、図6(a)に示す新規ファイル登録処理(S52)と、図6(b)に示すレコード新規登録処理とにより、関連データの参照元メールの受信者ユーザIDとメールコンテンツMCとが読み出しキーKと対応付けて参照元メールデータDB34aに登録される。一方、関連データのコメント領域にはその呼び出しキーKが付加される。
図8(a)はクライアントPC10において実行される新規メール登録処理(S54)を示すフローチャートである。また、図8(b)はメールコンテンツ管理サーバ30において実行されるレコード追加登録処理を示すフローチャートである。図9は、クライアントPC10による新規メール登録処理時における、クライアントPC10とメールコンテンツ管理サーバ30とのデータの送受信を模式的に示す図である。以下、適宜図9を参照しつつ、図8(a)に示す新規メール登録処理および図8(b)に示すレコード追加登録処理について説明する。
図8(a)に示す新規メール登録処理は、メールを参照することにより特定された関連データのコメント領域に、既に呼び出しキーKが付加されている場合(図5,S50:Yes)、クライアントPC10において実行される処理である。まず関連データのコメント領域に付加されている呼び出しキーKを読み込む(S541)。次に、関連データの参照元メールの受信者ユーザIDを取得する(S542)。次に、参照元メールのメール本文に記述されたテキストデータと参照元メールの送信者データとから構成されるメールコンテンツMCを作成(取得)し(S543)、作成したそのメールコンテンツを、S541の処理により読み込まれた呼び出しキーKと、S542の処理により取得された受信者ユーザIDと共にメールコンテンツ管理サーバ30へ送信する(S544)。
図9を参照して説明する。まず、図9(5)に示すように、ユーザIDが「kamei」であるユーザによってメールBが受信されると、クライアントPC10は、そのメールBのメール本文に記述されたLAN上のアドレス(¥¥CommonServer¥Report¥レポート.doc)を参照し、そのアドレスの関連データにアクセスする。
ここで図9(5)に示すように、メールBのメールコンテンツMC(すなわち送信者データとメール本文に記述されたテキストデータ)は、異なるユーザによって先に受信されたメールA(図7参照)のメールコンテンツMCと同一である。よって、メールBのメール本文に記述されたLAN上のアドレスにより特定される関連データのコメント領域には、先にメールAが受信されたときに、前述した新規ファイル登録処理(図6参照)により既に呼び出しキーK1(AB2BB198HHBD)が付加されている。
この場合、クライアントPC10は、図9(6)に示すように、メールコンテンツMCおよび受信者ユーザIDと共に、関連データに既に付加されている呼び出しキーK1を送信する。
図8に戻り説明する。メールコンテンツ管理サーバ30は、クライアントPC10から受信者ユーザIDとメールコンテンツMCと呼び出しキーKとを受信すると)、図8(b)に示すレコード追加登録処理を開始する。図8(b)に示すように、受信者ユーザIDとメールコンテンツMCと呼び出しキーKとを受信すると、まず、その新規に受信したメールコンテンツMCと同一のメールコンテンツMCを含み、且つ新規に受信した呼び出しキーKと同一の呼び出しキーKが対応付けられたレコードが、既に参照元メールデータDB34aに登録されているかを判断する(S344)。
S344の判断が肯定される場合(S344:Yes)、すなわち、メールコンテンツMCと呼び出しキーKの両方が一致するレコードが既に参照元メールデータDB34aに登録されている場合には、その一致するレコードに、新規に受信した受信者ユーザIDのみを追加登録する(S346)。
図9を参照して説明する。図9(6)に示すように、クライアントPC10から新規に受信したメールコンテンツMCおよび呼び出しキーK1と、同一のメールコンテンツMCおよび呼び出しキーKを含むレコードが、既に、参照元メールデータDB34aに登録されている場合には、図9(7)に示すように、新規に受信した受信者ユーザID「kamei」のみを、その一致するレコードに追加登録する。
続いて、図9(8)に示すように、ユーザIDが「inoue」であるユーザによって、前述したメールA、メールBとメールコンテンツMCが同一のメールCが受信されると、図9(10)に示すように、受信者ユーザID「inoue」のみを、参照元メールデータDB34aに追加登録する。
このように、参照元メールデータDB34aに既に登録されているメールコンテンツMCおよび呼び出しキーKと同一のメールコンテンツMCおよび呼び出しキーKを含むレコードが既に登録されている場合は、その同一のメールコンテンツMCは、重複して登録されないので、参照元メールデータDB34aの容量を小さくすることができる。
図8に戻り説明する。S344の判断が否定される場合(S344:No)、すなわち、クライアントPC10から新規に受信したメールコンテンツMCおよび呼び出しキーKの両方が一致するレコードが、参照元メールデータDB34aに登録されていない場合、受信者ユーザIDとメールコンテンツMCと呼び出しキーKとをクライアントPC10から受信した受信日時を取得する(S348)。そして、クライアントPC10から受信した受信者ユーザIDとメールコンテンツMCと呼び出しキーK、及びS348の処理において取得された参照元メールデータの受信日時とに基づいて、1件のレコードを参照元メールデータDB34aに新規登録する(S350)。
図9を参照して説明する。図9(11)に示すように、ユーザIDが「inoue」であるユーザによってメールDが受信されると、クライアントPC10は、そのメールDのメール本文に記述されたLAN上のアドレス(¥¥CommonServer¥共有フォルダ¥Report¥レポート.doc)を参照し、そのアドレスの関連データにアクセスする。
ここで、図9(11)に示すように、メールDは、メールBの受信者(メール受信者のユーザID「kamei」)が、メールBに対する返信として作成したメールであって、メールBのメール本文の記述をそのまま含む。すなわち、メールDの本文に記述されたLAN上のアドレスは、先に受信されたメールA(図7参照)、メールB、メールCのメール本文に記述されたアドレスと同一である。したがって、メールDのメール本文に記述されたLAN上のアドレスにより特定される関連データのコメント領域には、先にメールAが受信されたときに、前述した新規ファイル登録処理(図6参照)により既に呼び出しキーK1が付加されている。
この場合、クライアントPC10は、図9(12)に示すように、受信者ユーザIDとメールコンテンツMCと共に、関連データに既に付加されている呼び出しキーK1を送信する。
メールコンテンツ管理サーバ30は、クライアントPC10から新規に受信したメールコンテンツMC及び呼び出しキーK1と一致するメールコンテンツMC及び呼び出しキーKを含むレコードが、既に参照元メールデータDB34aに登録されているかを判断する。ここで、一致するメールコンテンツMCおよび呼び出しキーKを含むレコードがない場合には、図9(13)に示すように、クライアントPC10から新規に受信した受信者ユーザIDとメールコンテンツMCと呼び出しキーK1と、S348の処理において取得された受信日時に相当する初回登録日時FTとを含む1件のレコードが作成され、参照元メールデータDB34aに新規登録される。なお、新規登録される1件のレコードには、さらに、呼び出し回数YTと、最終存在日時LTとが含まれるが、新規登録時にはヌル(何も含まれない空の文字列)とされるため、図示を省略する。
図4から図9を参照して説明したように、クライアントPC10において、新規メールが受信され(図4、S2:Yes)、その受信メールのメール本文にLAN上のアドレスが記述されている場合、そのアドレスが取得されることにより関連データが特定され(図5、S47)、その関連データに呼び出しキーKが付加される。一方、メールコンテンツ管理サーバ30の参照元メールデータDB34aには、関連データの参照元メールの内容に相当するメールコンテンツMCが、呼び出しキーKと対応付けて記憶される。
図10は、クライアントPC10において実行される関連データコピー時登録処理(S8)のフローチャートである。関連データコピー時登録処理は、メール管理アプリケーション14aの起動時において、関連データが添付されたメール(例えば、図20(a)参照)が参照され、そのメールに添付された関連データが、メール管理アプリケーション14aの管理外の記憶領域へ移動またはコピーされた場合(図4、S6:Yes)、実行される。
まず、変数kを0とする(S82)。次に、メール管理アプリケーション14aの管理外へ移動またはコピーされた関連データの総数Nを取得する(S84)。
次に、S84の処理において取得された関連データ総数Nが変数kよりも大きいかを確認する(S86)。変数kがNよりも小さい場合(S86:Yes)、移動先またはコピー先の関連データのアドレスを取得する(S88)。なお、移動先またはコピー先の関連データのアドレスを取得する処理(S88)が、請求項の「関連データを特定する」に相当するものである。
そして、前述した新規ファイル登録処理(図6(a)参照)を実行する(S52)。新規ファイル登録処理により、参照元メールの受信者ユーザIDとメールコンテンツMCとが参照元メールデータDB34aに登録され、且つ移動先またはコピー先の関連データのコメント領域に呼び出しキーKが付加される。
なお、メール管理アプリケーション14aの管理外へ移動またはコピーされた関連データには、未だ呼び出しキーKが付加されていないことがほとんどであるため、本実施例の関連データコピー時登録処理(S8)においては必ず新規ファイル登録処理(S52)を行なうこととしたが、図5に示す新規メール受信時登録処理(S4)と同様に、関連データのコメント領域に既に呼び出しキーKが付加されているかを判断し(S50)、新規ファイル登録処理(S52)または新規メール登録処理(S54)のいずれかを実行するように構成してもよい。
そして、変数kに「1」を加算し(S92)、S86の処理に戻る。このようにして、メール管理アプリケーション14aの管理外へ移動またはコピーされた関連データの全てについて処理が終了すると、変数kが「k=N」となるので(S86)、関連データコピー時登録処理(S8)の処理が終了し、図4に示すメールコンテンツ登録処理に戻る。
図10に示す関連データコピー時登録処理(S8)によれば、メールが参照され、そのメールから移動またはコピーされた関連データに呼び出しキーKが付加される。一方、メールコンテンツ管理サーバ30の参照元メールデータDB34aには、関連データの参照元メールの受信者ユーザIDとメールコンテンツMCとが呼び出しキーKと対応付けられて登録される。
図11は、クライアントPC10において実行される関連データダウンロード時登録処理(S12)のフローチャートである。関連データダウンロード時登録処理は、メール管理アプリケーション14aの起動時において、メールが参照され、そのメールに記述されたインターネット上のアドレスに基づいて関連データがダウンロードされた場合(図4、S10:Yes)、実行される。
まず、変数kを0とする(S122)。次に、メールに記述されたインターネット上のアドレスに基づいてダウンロードされた関連データの総数Nを取得する(S124)。
次に、S124の処理において取得された関連データ総数Nが変数kよりも大きいかを確認する(S126)。変数kがNよりも小さい場合(S126:Yes)、関連データのダウンロード先のアドレスを取得する(S128)。なお、関連データのダウンロード先のアドレスを取得する処理(S128)が、請求項の「関連データを特定する」に相当するものである。
そして、前述した新規ファイル登録処理(図6(a)参照)を実行する(S52)。新規ファイル登録処理により、参照元メールの受信者ユーザIDとメールコンテンツMCとが呼び出しキーKに対応付けられて参照元メールデータDB34aに登録され、且つダウンロード先の関連データのコメント領域に呼び出しキーKが付加される。
そして、変数kに「1」を加算し(S132)、S126の処理に戻る。このようにして、メールに記述されたインターネット上のアドレスに基づいてダウンロードされた関連データの全てについて処理が終了すると、変数kが「k=N」となるので(S126)、関連データダウンロード時登録処理(S12)の処理が終了し、図4に示すメールコンテンツ登録処理に戻る。
図11に示す関連データダウンロード時登録処理(S12)によれば、メールが参照され、そのメールに記述されたインターネット上のアドレスに基づいてダウンロードされたダウンロード先の関連データに呼び出しキーKが付加される。一方、メールコンテンツ管理サーバ30の参照元メールデータDB34aには、関連データの参照元メールの受信者ユーザIDとメールコンテンツMCとが呼び出しキーKと対応付けられて登録される。
図12(a)はクライアントPC10において実行されるメールコンテンツ表示処理を示すフローチャートである。また、図12(b)はメールコンテンツ管理サーバ30において実行されるメールコンテンツデータ作成処理を示すフローチャートである。図13、図14は、クライアントPC10によるメールコンテンツ表示処理時における、クライアントPC10とメールコンテンツ管理サーバ30とのデータの送受信を模式的に示す図である。以下、適宜図13、図14を参照しつつ、図12(a)に示すメールコンテンツ表示処理および図12(b)に示すメールコンテンツデータ作成処理について説明する。
図12(a)に示すメールコンテンツ表示処理は、メールコンテンツ表示アプリケーション14b(図2参照)の起動により開始される処理であり、ユーザからの表示要求に応じて、関連データの参照元メールの内容に相当するメールコンテンツMCを出力する処理である。
まず、表示部16に表示された所定のデータに対し、入力部15から所定の操作がなされることにより、メールコンテンツ表示要求がされたかを判断する(S202)。例えば、図13(1)に示すように、入力部15を構成するマウスを操作することにより、表示部16に表示されるポインタPで、表示部16に表示されるデータD1を指し示す。そして、ユーザがマウスを右クリックする操作に応じて、処理可能なメニューの一覧を表示する。そして、ユーザが、その一覧の中から例えば「メールコンテンツを表示する」メニューを選択して左クリックする操作により、入力部15からメールコンテンツ表示要求をすることができるように構成される。
図12(a)に戻り説明する。次に、メールコンテンツ表示要求をした表示要求者のユーザIDを取得する(S204)。ここでユーザIDとは、上述のように、クライアントPC10の利用者(ユーザ)を識別するための標識となる文字列であり、ユーザはネットワークにログオンする際に自分のユーザIDを使って本人証明を行なう。したがって、表示要求者のユーザIDは、メールコンテンツ表示要求時に用いられていたユーザIDにより特定される。なお、表示要求者のユーザIDが、請求項における「出力要求者」に相当する。
次に、メールコンテンツ表示要求がされたデータのコメント領域を読み込む(S205)。そして、その読み込まれたコメント領域に呼び出しキーKが付加されているかを判断する(S206)。
コメント領域に呼び出しキーKが付加されている場合(S206:Yes)、メールコンテンツ管理サーバ30に、S204の処理で取得された表示要求者のユーザIDと、コメント領域に付加された呼び出しキーKとからなる呼び出しデータYDをメールコンテンツ管理サーバ30へ送信する(S212)。図13(2)に、呼び出しデータYD1を模式的に示す。呼び出しキーK1が付加された関連データD1に対し、ユーザIDが「kamei」であるユーザがメールコンテンツ表示要求をした場合、その表示要求者ユーザID「kamei」と、呼び出しキーK1とからなる呼び出しデータYD1がメールコンテンツ管理サーバ30へ送信される。
図12に戻り説明する。図12(b)に示すメールコンテンツデータ作成処理は、メールコンテンツ管理サーバ30がクライアントPC10から呼び出しデータYDを受信することにより、メールコンテンツ管理サーバ30において開始される処理である。
図12(b)に示すように、呼び出しデータYDをクライアントPC10から受信すると、受信した呼び出しデータYDに基づいて、その呼び出しデータYDに含まれる呼び出しキーKと一致する呼び出しキーKが対応付けられ、且つその呼び出しデータYDに含まれる表示要求者のユーザIDと一致する受信者ユーザIDが対応付けられたレコードを検索する(S304)。
図13(2),(3)を参照して、S304に示す検索処理について説明する。S304に示す検索処理においては、図13(2)に示す呼び出しデータYD1に含まれる呼び出しキーK1「AB2BB198HHBD」と一致する呼び出しキーKが対応付けられ、且つその呼び出しデータYDに含まれる表示要求者のユーザID「kamei」と一致する受信者ユーザIDが対応付けられたレコードを、参照元メールデータDB34aから検索する。この検索により、図13(3)に示すように管理番号「1」により管理されるレコードが抽出される。
図12(b)に戻り説明する。次にS304の検索処理の結果、抽出されたレコードの総数Nを取得し(S306)、変数kを「0」とする(S308)。次に、変数kが抽出されたレコードの総数Nより小さいかを判断する(S310)。
変数kが抽出されたレコードの総数Nより小さい場合(S310:Yes)、S304の処理の結果、抽出されたレコードのうち、k番目のレコードのメールコンテンツMCを読み出す(S312)。そして、k番目のレコードから読み出したメールコンテンツMCをメールコンテンツデータに追加する(S314)。ここで、メールコンテンツデータとは、S304の検索処理の結果、抽出されたN個のレコードから読み出されたN個のメールコンテンツMCの集合で構成されるデータである。
次に、k番目のレコードの呼び出し回数YT(図3参照)をカウントアップし(S316)、変数kに「1」を加算して(S318)、S310の処理に戻る。このようにして、S304の処理の結果、抽出された全てのレコードからメールコンテンツMCを読み出すと、変数kが「k=N」となるので(S310:No)、読み出されたN個のメールコンテンツMCの集合から構成されるメールコンテンツデータを、クライアントPC10へ送信する(S320)。このように、レコードからメールコンテンツMCが読み出され、メールコンテンツデータに追加されると、S316の処理において、そのレコードの呼び出し回数YT(図3参照)がカウントアップされる。メールコンテンツデータに追加されたメールコンテンツMCは、後述するS218の処理において表示部16(図2参照)に表示出力されるので、S316の処理は、そのレコードのメールコンテンツMCが表示出力された出力回数を、レコード毎にカウントする処理に相当する。
図12(a)のメールコンテンツ表示処理に示すように、クライアントPC10は、メールコンテンツ管理サーバ30からメールコンテンツデータを受信すると(S214)、メールコンテンツデータを構成するメールコンテンツの数Nが「0」か否かを判断する(S216)。
メールコンテンツデータを構成するメールコンテンツの数Nが「0」である場合(S216:Yes)、表示部16に表示された関連データの近傍に「メールコンテンツなし」と示すダイアログを表示出力する(S208)。そして、そのダイアログに対して表示終了が指示されると(S210:Yes)、そのダイアログの表示を消去する(S222)。
一方、メールコンテンツデータを構成するメールコンテンツの数Nが「0」でない場合(S216:No)、表示部16に表示された関連データの近傍にN個のメールコンテンツを表示出力する(S218)。そして、表示されたN個のメールコンテンツに対して表示終了が指示されると(S220:Yes)、その表示を消去する(S222)。
図13(4),(5)を参照して、関連データの近傍に表示されるメールコンテンツを説明する。図13(4)に示すように、例えば、1個のメールコンテンツMCで構成されるメールコンテンツデータがメールコンテンツ管理サーバ30からクライアントPC10へ送信されると、図13(5)に示すように、クライアントPC10の表示部16において、関連データD1の近傍に、受信したメールコンテンツデータを構成する1個のメールコンテンツMCが表示出力される。
図12に戻り説明する。メールコンテンツ表示アプリケーション14bの終了指示があるまでS202からS224の処理を繰り返し、メールコンテンツ表示アプリケーション14bの終了指示があった場合(S224:Yes)、処理を終了する。なお、図12に示すメールコンテンツ表示処理はクライアントPC10で実行される処理として説明したが、同様の処理をファイルサーバ50においても行えるよう構成しても良い。
また、図13においては、メールコンテンツデータを構成するメールコンテンツMCが1個である例について説明したが、図14を参照し、メールコンテンツを構成するメールコンテンツMCが複数である例について説明する。図14(6)に示すように、関連データD1に対しユーザIDが「inoue」であるユーザによりメールコンテンツ表示要求がされた場合、図14(7)に示すように、表示要求者ユーザID「inoue」と関連データD1に付加された呼び出しキーK1「AB2BB198HHBD」とからなる呼び出しデータYD2がクライアントPC10からメールコンテンツ管理サーバ30へ送信される。
そしてメールコンテンツ管理サーバ30において、呼び出しデータYD2に含まれる呼び出しキーK1と一致する呼び出しキーKが対応付けられ、且つその呼び出しデータYD2に含まれる表示要求者ユーザID「inoue」と一致する受信者ユーザIDが対応付けられたレコードを、参照元メールデータDB34aから検索する。この検索により、図14(8)に示すように例えば、管理番号「1」により管理されるレコード、管理番号「2」により管理されるレコードを含む複数のレコードが抽出される。
すなわち、図5を参照して説明したように、メールを参照することにより関連データが特定されると、その関連データに呼び出しキーKが付加される。そして、ある関連データに対し、呼び出しキーKが付加された後は、同一の関連データが関連づけられた参照元メールの受信者ユーザIDおよびメールコンテンツMCは、その関連データに既に付加された呼び出しキーKに対応付けて、参照元メールデータDB34aに登録される。
よって、例えば、ユーザIDが「inoue」であるユーザが、関連データD1のLAN上のアドレスが記述されたメールを複数回送受信している場合、2回目以降に受信した参照元メールの受信者ユーザID「inoue」とメールコンテンツMCは、最初に関連データD1に付加された呼び出しキーK1と一致する呼び出しキーK1と対応付けられて参照元メールデータDB34aに登録される。すなわち、受信者ユーザIDが「inoue」であり且つ呼び出しキーK1が対応付けられたレコードが、参照元メールデータDB34aに複数存在することとなる。
したがって、呼び出しデータYD2と、ユーザIDおよび呼び出しキーKが一致するレコードが複数存在する場合は、その複数のレコードの全てが抽出され、図14(9)に示すように、その複数のメールコンテンツMCから構成されるメールコンテンツデータがメールコンテンツ管理サーバ30からクライアントPC10へ送信される。そして、図14(10)に示すように、メールコンテンツデータを構成する複数のメールコンテンツMCが関連データD1の近傍に表示出力される。
ここで、メールコンテンツの表示には、図14(10)に示すようにスレッド表示する(すなわち、所定のメールコンテンツに対する返信に相当するメールコンテンツを、前記所定のメールコンテンツに関連づけて表示出力する)ものであっても良いし、複数のメールコンテンツを管理番号Fの値の順に応じて並べたり、初回登録時間FT(図3参照)の順に応じて時系列に配置して表示出力するリスト表示としてもよい。このようにすれば、メールコンテンツMCが複数出力される場合であっても、ユーザがその複数のメールコンテンツの対応関係を視覚的に理解しやすい。
本実施例によれば、メールを参照することにより特定された関連データに対し所定の出力要求がされた場合には、例えば、関連データが画像データなどテキストデータを含まないものである場合であっても、その関連データに付加された呼び出しキーKに基づいて参照元メールの内容に相当するメールコンテンツMCを出力することができる。
したがって、メールを参照することにより特定された関連データについて、参照元メールの内容を容易に知ることができる。ユーザは参照元メールの内容を見ることにより、例えば、その関連データの特定経緯を思い出したり、参照元メールに記述されていたその関連データの使用方法、取扱方法などを知ることができる。
さらに、LAN70に接続された1台のクライアントPC10をメール送受信用とし、他のクライアントPC10ではメールの送受信を行わない場合がある。その場合、ユーザはメール送受信用のクライアントPC10を用いてメールを受信するが、そのメールを参照することにより特定した関連データを、自らが専ら使用する他のクライアントPC10に保存することがよくある。そのように参照元メールと関連データとが異なるクライアントPC10に保存されている場合であっても、本実施例によれば、関連データに付加された呼び出しキーKに基づいて、参照元メールが保存されたクライアントPC10と異なるクライアントPC10において、参照元メールの内容に相当するメールコンテンツMCを表示出力することができる。すなわち、メールコンテンツMCを表示出力するために参照元メールが保存されているクライアントPC10へわざわざ移動する必要がない。
なお、上述の実施例ではクライアントPC10が、メール管理アプリケーション14aとメールコンテンツ表示アプリケーション14bとを備えていたが、メールの送受信を行わないクライアントPC10は、少なくともメールコンテンツ表示アプリケーション14bを備えていればよい。このようにすれば、メールの送受信を行わないクライアントPC10においても関連データの参照元メールの内容に相当するメールコンテンツを表示出力することができる。
ここで、呼び出しキーKは、関連データのコメント領域に付加されるので、例えば、関連データに対し、保存位置の変更や名前の変更などの種々の変更がなされた後であっても、付加されたデータに基づいて、その関連データの参照元メールの内容に相当するメールコンテンツMCを出力することができる。
また本実施例によれば、参照元メール受信者と出力要求をした出力要求者とが不一致な場合には、メールコンテンツMCが表示出力されず、参照元メールの内容に相当するメールコンテンツMCの不用意な漏洩が抑制される。また、関連データに付加されるのは検索用文字列である呼び出しキーKなので、関連データのコメント領域を参照してもメールコンテンツは容易に確認されず、参照元メールの内容に相当するメールコンテンツの不用意な漏洩が抑制される。
また、関連データに付加されるのは検索用文字列である呼び出しキーKなので、メールコンテンツのデータサイズが大であっても、関連データに付加することができる。
図15を参照して、参照元メールデータDB34aを管理するための処理について説明する。図15(a)は、クライアントPC10またはファイルサーバ50により実行されるファイル存在通知処理を示すフローチャートであり、図15(b)は、メールコンテンツ管理サーバ30により実行される最終存在日時更新処理を示すフローチャートである。図15(a)に示すファイル存在通知処理、および図15(b)に示す最終存在日時更新処理は、参照元メールデータDB34aにおいて、関連データの最終存在日時LTを更新するための処理である(図3参照)。また、図15(c)は、図15(a)に示すファイル存在通知処理において用いられるファイルリストメモリ13a(53a)(図2参照)の構成を模式的に示す図である。
まず、図15(a)に示すファイル存在通知処理について説明する。ファイル存在通知処理は、定期的(例えば24時間毎)且つ自動的に起動される処理であって、クライアントPC10(またはファイルサーバ50)のHDD14(HDD54)に存在する全てのファイルをスキャンし、呼び出しキーKが付加されたファイルから、呼び出しキーKを抽出して呼び出しキーKのリスト(請求項のリストに相当)を作成し、メールコンテンツ管理サーバ30へ送信する処理である(請求項のリスト作成ステップに相当)。
なお、クライアントPC10とファイルサーバ50とでは、ほぼ同様の処理を行うため、以下、クライアントPC10で行うファイル存在通知処理について説明し、ファイルサーバ50において行われるファイル存在通知処理については説明を省略する。また、本実施例においては、呼び出しキーKは、関連データを構成するファイルのコメント領域に付加することとしたため、ファイルから呼び出しキーKを抽出するものとして説明するが、呼び出しキーKを、関連データを構成するフォルダのコメント領域に付加する場合には、フォルダから呼び出しキーKを抽出する。
図15(a)に示すように、まず変数kを「0」とする(S152)。次に、HDD14(ファイルサーバ50の場合は、HDD54)に存在するファイルの総数Nを取得する(S154)。次に、変数kがNより小さいかを判断する(S156)。
変数kがNより小さい場合(S156:Yes)、k番目のファイルを選択し、コメント領域を読み込み(S158)、そのコメント領域に呼び出しキーKが付加されているかを判断する(S160)。コメント領域に呼び出しキーKが付加されていない場合(S160:No)、変数kに「1」を加算して(S166)、S156の処理に戻る。
一方、コメント領域に呼び出しキーKが付加されている場合(S160:Yes)、その呼び出しキーKがファイルリストメモリ13aに既に記憶されているかを判断する(S162)。呼び出しキーKがファイルリストメモリ13aに既に記憶されている場合(S162:Yes)、変数kに「1」を加算して(S166)、S156の処理に戻る。
呼び出しキーKが未だファイルリストメモリ13aに記憶されていない場合(S162:No)、その呼び出しキーKをファイルリストメモリ13aに追加し(S164)変数kに「1」を加算して(S166)、S156の処理に戻る。
このようにして、HDD14に存在するすべてのファイルについて処理をすることにより、HDD14に記憶されたデータのうち、呼び出しキーKが付加された全ての関連データから呼び出しキーKが抽出され、その抽出された呼び出しキーKのリストがファイルリストメモリ13aに作成される(図15(c)参照)。
HDD14に存在する全てのファイルについて処理が終了すると、変数kが「k=N」となるので(S156:No)、ファイルリストメモリ13aに作成されたリストをメールコンテンツ管理サーバ30へ送信する(S168)。図15(a)に示すファイル存在通知処理の結果、図15(c)に示すように、ファイルリストメモリ13aには、Ne個(Ne≦N)の呼び出しキーKから構成されるリストが作成される。
図15(b)に示す最終存在日時更新処理は、メールコンテンツ管理サーバ30が、クライアントPC10またはファイルサーバ50のいずれかから、Ne個の呼び出しキーKから構成されるリストを受信すると開始する処理である。
図15(b)に示すように、リストを受信すると、まず、変数iを「0」とする(S354)。次に、変数iがNeより小さいかを判断する(S356)。ここで、Neは、リストを構成する呼び出しキーKの個数である。
変数iがNeより小さい場合(S356:Yes)、リストからi番目の呼び出しキーKを読み込む(S358)。次に、そのi番目の呼び出しキーKと一致する呼び出しキーKを含むレコードが参照元メールデータDB34aに登録されているかを判断する(S360)。そのi番目の呼び出しキーKと一致する呼び出しキーKを含むレコードが参照元メールデータDB34aに登録されていない場合、変数iに「1」を加算して(S366)、S356の処理に戻る。
一方、i番目の呼び出しキーKと一致する呼び出しキーKを含むレコードが参照元メールデータDB34aに登録されている場合、現在の日時を取得する(S362)。そして、その取得した現在の日時で、参照元メールデータDB34aにおいて呼び出しキーKが一致するレコードの最終存在日時LT(図3参照)を更新する(S364)。そして、変数iに「1」を加算し(S366)、S356の処理に戻る。
このようにして、クライアントPC10またはファイルサーバ50から受信したリストを構成する全ての呼び出しキーKについて処理が終了すると、変数iが「i=Ne」となるので(S356:No)、最終存在日時更新処理を終了する。
図15(b)に示す最終存在日時更新処理によれば、クライアントPC10またはファイルサーバ50により作成されたリストと、参照元メールデータDB34aに記憶された呼び出しキーKとを照合することにより関連データの存在確認が定期的に行われる。そして、存在が確認された場合、その関連データの参照元メールのメールコンテンツMCを含むレコードの最終存在日時LTが更新される(図3参照)。
一方、ある時点において、関連データが、クライアントPC10のHDD14またはファイルサーバ50のHDD54から削除されると、その削除された関連データに付加されていた呼び出しキーKは、ファイル存在通知処理(図15(a)参照)において作成される呼び出しキーKのリストに追加されない。よって、呼び出しキーKのリストと参照元メールデータDB34aに記憶された呼び出しキーKとの照合の結果、その関連データの存在確認がされない。すなわち、関連データが削除されると、参照元メールデータDB34aにおいて、その関連データの参照元メールのメールコンテンツMCを含むレコードの最終存在日時LTは、前回の更新時の値から変更されない。
図16は、メールコンテンツ管理サーバ30により実行されるレコード削除処理を示すフローチャートである。レコード削除処理は、最終存在日時LTから所定日時(例えば1週間)が経過したレコードを削除する処理である(請求項のメールデータ削除ステップに相当)。すなわち、ある関連データが削除されると、クライアントPC10およびファイルサーバ50からメールコンテンツ管理サーバ30へ送信される呼び出しキーKのリスト(図15(c)参照)には、その関連データに付加されていた呼び出しキーKが含まれない。よって、本実施例においては、呼び出しキーKが所定時間以上継続してリストに含まれない場合、その呼び出しキーKが付加された関連データは削除されたと判断し、参照元メールデータDB34aにおいてその呼び出しキーKに対応付けられたレコードを削除することとした。
レコード削除処理では、まず、現在日時を取得する(S380)。そして、参照元メールデータDB34aから、最終存在日時LTと現在日時との間が所定時間(本実施例では1週間)以上あるレコードを検索する(S382)。そして、検索の結果、抽出されたレコードを参照元メールデータDB34aから削除する(S384)。
図16に示すレコード削除処理により、所定時間以上、存在確認がされない関連データの参照元メールのメールコンテンツMCを含むレコードが削除されるので、参照元メールデータDB34aには既に不要となったレコードが蓄積されず、参照元メールデータ34aの容量を小さくすることができる。
以上、実施例に基づき本発明を説明したが、本発明は上述した実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、本実施例では、クライアントPC10と、メールコンテンツ管理サーバ30とファイルサーバ50とが独立したネットワークシステム100に本発明が適用されていたが、これに限らず、例えば一台のクライアントPC10に本発明を適用してもよい。
図17、図18、図19を参照して、本発明を一台のクライアントPC10に適用する変形例について説明する。なお、この変形例において、上記した実施例と同一の部分には同一の符号を付して、その説明を省略する。
図17は、変形例の新規メール受信時登録処理を示すフローチャートであり、図5に相当するフローチャートである。図17に示すように変形例の新規メール受信時登録処理は、図5に示す新規メール受信時登録処理のS50からS54の処理に代えて、メールコンテンツ暗号化処理(S60)を実行する点が異なり、他の処理は同一である。
図18(a)を参照してメールコンテンツ暗号化処理(S60)について説明する。図18(a)は、クライアントPC10において実行されるメールコンテンツ暗号化処理のフローチャートである。このメールコンテンツ暗号化処理は、関連データの参照元メールの受信者ユーザIDとメールコンテンツを暗号化して関連データのコメント領域に付加する処理である。
図18(a)に示すように、メールコンテンツ暗号化処理は、まず、関連データの参照元メールの受信者ユーザIDを取得する(S602)。次に、参照元メールのメール本文に記述されたテキストデータと参照元メールの送信者データとから構成されるメールコンテンツを作成(取得)し(S603)、そのメールコンテンツをS602において取得した受信者ユーザIDと共に暗号化した暗号化データを取得する(S604)。そしてその取得された暗号化データを関連データのコメント領域に付加する(S606)。
なお、本変形例のクライアントPC10は、図10に示す関連データコピー時登録処理(S8)を実行するが、関連データコピー時登録処理(S8)における新規ファイル登録処理(S52)に代えて、メールコンテンツ暗号化処理(S60)を実行する。また、図11に示す関連データダウンロード時登録処理(S12)を実行するが、関連データダウンロード時登録処理(S12)における新規ファイル登録処理(S52)に代えて、メールコンテンツ暗号化処理(S60)を実行する。しかし、他の処理は同一であるため、図示および説明を省略する。
すなわち、上述の実施例においては、メールを参照することにより特定された関連データの参照元メールの受信者ユーザIDとメールコンテンツMCとを、メールコンテンツ管理サーバ30の参照元メールデータDB34aに登録し、参照元メールデータDB34aにおいてメールコンテンツMCに対応付けられた呼び出しキーKを、関連データのコメント領域に付加していたが、本変形例では、参照元メールデータDB34aを用いない点が上述の実施例と異なる。すなわち、本変形例では、関連データの参照元メールの受信者ユーザIDとメールコンテンツMCとを暗号化して暗号化データとし、その暗号化データを関連データのコメント領域に付加する。
図19を参照して、本変形例において用いられる暗号化データについて説明する。図19には、受信者ユーザIDとメールコンテンツMCとからなるデータDA1と、そのデータDA1を暗号化して得られる暗号化データDA2を模式的に示す。図19に示すように、受信者ユーザIDとメールコンテンツMCとからなるデータDA1は、予め定められた規則に従って暗号化され、暗号化データDA2に変換される。
図18(b)に戻り、メールコンテンツMCの表示出力処理について説明する。図18(b)は、変形例のクライアントPC10において実行されるメールコンテンツ表示処理のフローチャートである。 図18(b)に示すメールコンテンツ表示処理は、図18(a)に示すメールコンテンツ暗号化処理により関連データのコメント領域に付加された暗号化データを解読して、表示出力する処理である。
まず、所定のデータに対し、入力部15から所定の操作がなされることにより、メールコンテンツ表示要求がされたかを判断する(S102)。例えば、入力部15を構成するマウスを操作することにより、表示部16に表示されるポインタPで、表示部16に表示されるデータが指し示される。そして、ユーザがマウスを右クリックする操作に応じて、処理可能なメニューの一覧を表示する。そして、ユーザが、その一覧の中から例えば「メールコンテンツを表示する」メニューを選択して左クリックする操作により、入力部15からメールコンテンツ表示要求をすることができるように構成される。
次に、メールコンテンツ表示要求をした表示要求者のユーザIDを取得する(S104)。次に、メールコンテンツ表示要求がされたデータのコメント領域を読み込む(S105)。そして、その読み込まれたコメント領域に暗号化データが付加されているかを判断する(S106)。コメント領域に暗号化データが付加されている場合(S106:Yes)、その暗号化データを解読し、解読データを取得する(S108)。なお、コメント領域に付加されている暗号化データが複数である場合、その複数の暗号化データの全てを解読する。
図19を参照して、解読データについて説明する。図19に、解読データDA3を示す。図19に示すように、解読データDA3には、受信者ユーザIDとメールコンテンツが含まれる。
図18に戻り説明する。解読データを取得すると(S108)、次に、S104の処理において取得された表示要求者のユーザIDと一致する受信者ユーザIDを含む解読データがあるかを判断する(S110)。
表示要求者のユーザIDと一致する受信者ユーザIDを含む解読データがない場合(S110:No)、表示部16に表示された関連データの近傍に「メールコンテンツなし」と示すダイアログを表示出力する(S113)。そして、そのダイアログに対して表示終了が指示されると(S114:Yes)、そのダイアログの表示を消去する(S115)。
一方、表示要求者のユーザIDと一致する受信者ユーザIDを含む解読データがある場合(S110:Yes)、その解読データに含まれるメールコンテンツMCを抽出して表示部16に表示出力する(S111)。なお、表示要求者のユーザIDと一致する受信者ユーザIDを含む解読データが複数ある場合は、その複数の解読データの全てからメールコンテンツMCを抽出して表示出力する。そして、表示されたメールコンテンツに対して表示終了が指示されると(S112:Yes)、その表示を消去する(S115)。
そして、メールコンテンツ表示アプリケーション14bの終了指示があるまでS102からS116の処理を繰り返し、メールコンテンツ表示アプリケーション14bの終了指示があった場合(S116:Yes)、処理を終了する。
図19に、表示部16に表示されるメールコンテンツMCを示す。図19に示すような参照元メールの内容に相当するメールコンテンツMCが表示部16に表示出力されるので、ユーザは、メールに添付された関連データを、そのメールから移動またはコピーした後であっても、関連データに付加された暗号化データに基づいて、その関連データの参照元メールの内容に相当するメールコンテンツを出力することができる。よって、関連データに対し種々の変更がなされた後においても、メールを参照することにより特定された関連データについて、その特定経緯を容易に知ることができる。
また関連データに付加される暗号化データは、関連データのコメント領域に付加されるが、解読されない限りは、メールコンテンツMCが確認されないので、参照元メールの内容に相当するメールコンテンツの不用意な漏洩が抑制される。特に、一台のクライアントPCを複数のユーザで共用する場合には、表示要求者のユーザIDと参照元メールの受信者ユーザIDとが一致する場合にのみ、メールコンテンツを表示出力することにより、その参照元メール受信者以外のユーザに対しては、メールコンテンツMCが表示出力されないためプライバシーが確保される。
また、本実施例のレコード削除処理(図16参照)では、最終存在日時LTと現在日時との差が1週間以上あるレコードが削除されていた。しかし、レコード削除処理(図16)に加えて、またはレコード削除処理(図16)に代えて、呼び出し回数YT(請求項の出力回数に相当)に基づいて、単位時間あたりの呼び出し回数を算出し(単位時間あたりの呼び出し回数=呼び出し回数/(現在日時−最終存在日時))、その単位時間あたりの呼び出し回数(請求項の出力回数に関する値に相当)が所定値以下のレコードを削除する処理(請求項の出力回数小削除ステップ)を設けてもよい。
このようにすれば、単位時間あたりの呼び出し回数が少ないレコードは削除されるので、参照元メールデータDB34aに登録されるレコード数を減少させることができ、参照元メールデータDB34aから、呼び出しキーKが一致するレコードを検索する処理のスピードが速くなる。
また、上述の実施例では、ユーザIDと呼び出しキーKとが一致するレコードが複数ある場合、その複数のレコードに含まれる複数のメールコンテンツMCが表示出力されていたが、検索条件に合致するレコードが1つ抽出された段階で検索処理を終了し、1つのメールコンテンツMCのみを表示出力するように構成してもよい。その場合、定期的(例えば1日毎)に、参照元メールデータDB34aのレコードの並べ替え処理を行う。具体的には、呼び出し回数YTが多い順に、管理番号を「1」から順に付し、参照元メールデータDB34aのレコードを並び替える。そして、検索処理においては、管理番号が小さい順から検索することにより、呼び出し回数YTの多いレコードから検索優先的に検索することができる。すなわち、頻繁に表示要求がされる関連データに対し表示要求がされた場合は特に、レスポンスを速くすることができる。
また、本実施例においては、図5に示す新規メール受信時登録処理において、メール本文に記述されたLAN上のアドレスの関連データにアクセスできないと判断された場合(S48:No)、クライアントPC10は、関連データにアクセスできない旨を表示部16に表示することにより(S58)、メール受信者に対してのみ、関連データにアクセスできない旨を通知していたが、これに加えて又はこれに代えて、メール送信者に対して、関連データにアクセスできない旨を通知してもよい。このようにすれば、メール送信者は修正メールを送信するなど、迅速な対応が可能である。
また、上述の実施例では、新規メールを受信した場合(図4、S2)、受信済みのメールから関連データが移動またはコピーされた場合(図4、S6)、受信済みのメールに記述されたアドレスに基づいて、関連データがダウンロードされた場合(図4、S10)、新規ファイル登録処理(S52)または新規メール登録処理(S54)により、参照元メールの受信者ユーザIDとメールコンテンツMCとを含むレコードが、参照元メールデータDB34aに新規登録または追加登録されていたが、参照元メールデータDB34aにおけるレコードの新規登録または追加登録のタイミングはこれに限られるものではない。例えば、新規メール受信時に、参照元メールのメールコンテンツMCを参照元メールデータDB34aに登録するか否かをユーザに問い合わせ、ユーザが参照元メールデータDB34aへの登録を選択した場合にのみ、その参照元メールの受信者ユーザIDとメールコンテンツMCとを参照元メールデータDB34aへ登録するようにしてもよい。
また、新規メール受信時に、メールの件名を抽出し、その件名に所定の単語が含まれている場合に、その参照元メールの受信者ユーザIDとメールコンテンツMCとを参照元メールデータDB34aへ登録するようにしてもよい。
また、上述の実施例では、表示部16において、ポインタPによりデータを右クリックしてメニュー一覧を表示させ、そのメニュー一覧の中から「メールコンテンツを表示する」メニューを選択して左クリックする操作により、入力部15からメールコンテンツ表示要求がされたと判断していたが、たとえばポインタPにより表示部16に表示されたデータの近傍を指し示すことで、表示要求がされたと判断するものであってもよい。