以下、図面に基づいて、本願の開示する提供プログラム、提供装置及び提供方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、メール管理システムの一例を示す説明図である。図1に示すメール管理システム1は、クライアント2と、メールサーバ3と、Webサーバ4と、共有サーバ5とを有し、クライアント2、メールサーバ3、Webサーバ4及び共有サーバ5相互間をインターネット6等で接続している。
クライアント2は、例えば、メールブラウザ機能やWebブラウザ機能等を備えた、利用者側のパーソナルコンピュータやスマートフォン等の情報端末である。クライアント2は、通信インタフェース11と、操作部12と、表示部13と、記憶部14と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、制御部17とを有する。通信インタフェース11は、インターネット6等との通信を司るインタフェースである。操作部12は、例えば、各種コマンドを入力する、マウスやタッチパネル等の入力インタフェースである。表示部13は、例えば、各種情報を画面表示する出力インタフェースである。記憶部14は、各種情報を記憶管理する記憶領域である。記憶部14には、動作環境テーブル14Aが記憶してある。動作環境テーブル14Aには、例えば、共有サーバ5のURLアドレスが格納されている。ROM15は、各種プログラム等の情報を格納した領域である。各種プログラムには、例えば、メールブラウザプログラム15A、Webブラウザプログラム15B及び要求プログラム15C等がある。RAM16は、各種情報を記憶した領域である。
制御部17は、クライアント2全体を制御する。制御部17は、ROM15内に格納された各種プログラム15A〜15Cを読み出し、これらプログラム15A〜15Cに基づき各種プロセスを機能として実行する。制御部17は、機能として、メールブラウザ処理部17Aと、Webブラウザ処理部17Bと、要求処理部17Cとを有する。
メールブラウザ処理部17Aは、例えば、メールサーバ3と通信するメールブラウザ機能を司る処理部である。Webブラウザ処理部17Bは、例えば、Webサーバ4と通信するWebブラウザ機能を司る処理部である。要求処理部17Cは、例えば、共有サーバ5に対して各種処理を要求すると共に、共有サーバ5で提供されたコンテンツ等の各種情報を表示部13に画面表示する処理部である。
メールサーバ3は、例えば、クライアント2からのメール送受信を管理するサーバである。メールサーバ3は、通信インタフェース21と、記憶部22と、ROM23と、RAM24と、制御部25とを有する。通信インタフェース21は、インターネット6等との通信を司るインタフェースである。記憶部22は、各種情報を記憶管理する記憶領域である。記憶部22には、動作環境テーブル22Aが記憶してある。ROM23は、各種プログラム等の情報を格納した領域である。各種プログラムには、例えば、メールサーバプログラム23A及び送信メールリンクプログラム23B等がある。RAM24は、各種情報を記憶した領域である。
制御部25は、メールサーバ3全体を制御する。制御部25は、ROM23内に格納された各種プログラム23A及び23Bを読み出し、これらプログラム23A及び23Bに基づき各種プロセスを機能として実行する。制御部25は、機能として、メールサーバ処理部25Aと、送信メールリンク処理部25Bとを有する。メールサーバ処理部25Aは、例えば、メールサーバ3のメールサーバ機能を司る処理部である。送信メールリンク処理部25Bは、後述する送信メールリンク処理を実行する。
Webサーバ4は、例えば、クライアント2等に対してURLリンク先に格納されたコンテンツ等のWebサービスを提供するサーバである。
共有サーバ5は、通信インタフェース31と、記憶部32と、ROM33と、RAM34と、制御部35とを有する。通信インタフェース31は、インターネット6等との通信を司るインタフェースである。記憶部32は、各種情報を記憶管理する記憶領域である。
ROM33は、各種プログラム等の情報を格納した領域である。各種プログラムには、例えば、Webサーバプログラム33A、ロックプログラム33B及び提供プログラム33C等がある。RAM34は、各種情報を記憶した領域である。制御部35は、共有サーバ5全体を制御する。
制御部35は、ROM33内に格納された各種プログラム33A〜33Cを読み出し、これらプログラム33A〜33Cに基づき各種プロセスを機能として実行する。制御部35は、機能として、Webサーバ処理部35Aと、ロック処理部35Bと、提供処理部35Cとを有する。Webサーバ処理部35Aは、例えば、クライアントに対してWebサービスを提供する処理部である。ロック処理部35Bは、メール本文内にコンテンツの格納先を示すURLがある場合に、メールに関わるクライアント2から、当該URLに関わるロック要求を検出すると、当該URLで示す格納先にアクセスしてコンテンツを取得する。更に、ロック処理部35Bは、取得したコンテンツのコピーを共有フォルダ34内の保存先フォルダ内に保存する。尚、ロックとは、ロック要求時点でメール本文に記載のURLの格納先にあるコンテンツのコピーを保存しておく処理である。更に、ロック処理部35Bは、当該メールに関わるURL及び、保存先フォルダを示す保存先URLを対応付けて記憶部32に記憶する。尚、ロック処理部35Bは、例えば、格納処理部及び管理処理部等である。
提供処理部35Cは、クライアント2からURLに関わる参照要求を検出すると、記憶部32を参照して、URLに対応した保存先URLを参照要求のクライアント2に提供する。
記憶部32には、コンテンツ管理テーブル41と、リンクテーブル42と、共有フォルダ43とを有する。図2は、コンテンツ管理テーブル41の一例を示す説明図である。図2に示すコンテンツ管理テーブル41は、コンテンツの管理情報を記憶しておき、コンテンツ管理キー41A、保存者41B、保存日時41C、元URL41D及び保存先URL41Eを対応付けて記憶している。コンテンツ管理キー41Aは、コンテンツを識別するIDである。保存者41Bは、コンテンツの保存を要求した保存者を識別する、例えば、メールアドレス等の識別情報である。保存日時41Cは、コンテンツのコピーを共有フォルダ43内の保存先フォルダに保存した日時である。元URL41Dは、コンテンツが格納された元の格納先を示すURLである。保存先URL41Eは、ロック要求に応じて、コンテンツのコピーを保存した共有フォルダ43内の保存先フォルダを示す保存先URLである。
図3は、リンクテーブル42の一例を示す説明図である。図3に示すリンクテーブル42は、コンテンツ管理キー及びメッセージIDのリンク情報を管理し、メッセージID42Aと、URL42Bと、コンテンツ管理キー42Cとを対応付けて管理している。メッセージID42Aは、コンテンツの格納先を示すURLを記載したメール原本を識別するIDである。URL42Bは、コンテンツを格納した元の格納先を示すURLである。コンテンツ管理キー42Cは、コンテンツを識別するIDである。尚、コンテンツ管理テーブル41及びリンクテーブル42は、例えば、管理記憶部等に相当する。共有フォルダ43は、ロック要求に応じてURLで示す格納先のコンテンツのコピーを保存する領域である。尚、共有フォルダ43は、例えば、記憶部等に相当する。
図4Aは、メール作成画面50の一例を示す説明図である。図4Aに示すメール作成画面50は、送信者側のクライアント2でメールを作成する際の画面である。メール作成画面50は、宛先50Aと、件名50Bと、メール本文50Cと、送信ボタン50Dとを有する。宛先50Aは、メールの送信宛先である。件名50Bは、メールの件名である。メール本文50Cは、メール本文の内容である。送信ボタン50Dは、本メールの送信を指示するボタンである。尚、メール本文50Cには、URL50E、例えば、オムライスのレシピを紹介したコンテンツの格納先を示すURLが記載してある。
図4Bは、メール作成画面50上のメニュー画面51の一例を示す説明図である。クライアント2側の制御部17は、例えば、メール本文50C内のURL50Eを範囲選択してクリックを検出すると、図4Bに示すメール作成画面50上にメニュー画面51を画面表示する。メニュー画面51は、ロックボタン51Aと、参照ボタン51Bとを有する。ロックボタン51Aは、URL50Eで示す格納先のコンテンツに対するロックを要求するボタンである。参照ボタン51Bは、ロック済みのコンテンツを参照するボタンである。尚、メール作成画面50は、メール本文50Cを新規作成する画面であるため、参照ボタン51Bの操作を無効化にした状態にある。
図4Cは、ロックボタン51A操作後のメール作成画面50の一例を示す説明図である。制御部17は、図4Cに示すメニュー画面51上のロックボタン51Aに対する操作を検出すると、メール本文50C内のURL50Eで示す格納先のコンテンツのロックを共有サーバ5に要求する。そして、制御部17は、ロック要求後、共有サーバ5からコンテンツ管理キーを取得し、メール本文50C内のURL50Eの先頭部分にコンテンツ管理キー50Fを付加する。
図5Aは、メール参照画面60の一例を示す説明図である。図5Aに示すメール参照画面60は、受信者側のクライアント2で受信メールを参照する画面である。メール参照画面60は、宛先50Aと、件名50Bと、メール本文50Cと、返信ボタン50Gと、転送ボタン50Hとを有する。返信ボタン50Gは、本メールの返信を指示するボタンである。転送ボタン50Hは、本メールの転送を指示するボタンである。
図5Bは、メール参照画面60上のメニュー画面51の一例を示す説明図である。制御部17は、例えば、メール本文50C内のURL50Eを範囲選択してクリックを検出すると、図5Bに示すメール参照画面60上にメニュー画面51を画面表示する。メール参照画面60上の参照ボタン51Bは、操作可能な状態である。
図5Cは、ロックボタン51A操作後のメール参照画面60の一例を示す説明図である。制御部17は、図5Cに示すメール参照画面60のメニュー画面51上のロックボタン51Aに対する操作を検出すると、メール本文50C内のURL50Eで示す格納先に対応したコンテンツのロックを共有サーバ5に要求する。
図6は、参照ボタン51B操作後のメール参照画面60及びコンテンツ画面53の一例を示す説明図である。制御部17は、メール参照画面60上のメニュー画面51上の参照ボタン51Bに対する操作を検出すると、後述するコンテンツ一覧リスト52を画面表示する。コンテンツ一覧リスト52は、メール本文51C内のURL51Eのロック済みのコンテンツ52Aを一覧表示するリストである。尚、コンテンツ一覧リスト52内のコンテンツ52Aは、同一URL51Eに関わるロック要求毎のコンテンツに関わる保存者及び保存日時等を示している。制御部17は、コンテンツ一覧リスト52上のコンテンツ52Aに対する選択操作を検出すると、選択したコンテンツ52Aに関わる保存先URLにアクセスしてコンテンツを取得してコンテンツ画面53を画面表示する。
図7は、参照ボタン51B操作後の転送メール参照画面61及びコンテンツ画面53の一例を示す説明図である。制御部17は、転送メール参照画面61のメニュー画面51上の参照ボタン51Bに対する操作を検出すると、コンテンツ一覧リスト52を画面表示する。コンテンツ一覧リスト52は、メール本文51C内のURL51Eのロック済みのコンテンツ52Aを一覧表示するリストである。制御部17は、コンテンツ一覧リスト52上のコンテンツ52Aに対する選択操作を検出すると、選択したコンテンツ52Aに関わる保存先URLにアクセスしてコンテンツを取得してコンテンツ画面53を画面表示する。
次に実施例のメール管理システム1の動作について説明する。図8は、メニュー画面表示処理に関わるクライアント2側の制御部17の処理動作の一例を示すフローチャートである。図8に示すメニュー画面表示処理は、画面上のURL50Eの選択又は入力操作に応じてメニュー画面51を画面表示する処理である。
図8においてクライアント2側の制御部17は、画面上のURL50Eに対する選択又は入力を検出したか否かを判定する(ステップS11)。尚、制御部17は、例えば、図4Aに示すURL50Eを範囲選択してクリックの操作等でURL50Eに対する選択を検出する。制御部17は、URL50Eの入力後の改行コード入力でURL50Eに対する入力を検出する。制御部17は、URL50Eの選択又は入力を検出した場合(ステップS11肯定)、現在の表示画面はメールエディタウインドウであるか否かを判定する(ステップS12)。尚、メールエディタウインドウは、メール編集画面である。
制御部17は、メールエディタウインドウである場合(ステップS12肯定)、メニュー画面をロードする(ステップS13)。尚、メニュー画面51は、図4B又は図5Bに示すロックボタン51A及び参照ボタン51Bを有する。
制御部17は、メールエディタウインドウがメール作成画面50であるか否かを判定する(ステップS14)。尚、制御部17は、例えば、メールエディタウインドウ上の送信ボタン50Dの有無でメール作成画面50であるか否かを判定する。制御部17は、図4Aに示すメール作成画面50の場合(ステップS14肯定)、図4Bに示すようにメニュー画面51上の参照ボタン51Bを無効化する(ステップS15)。尚、参照ボタン51Bの無効化は、操作不可の状態を示し、ボタン非表示の状態でも良い。
制御部17は、参照ボタン51Bを無効化したメニュー画面51を表示部13に画面表示し(ステップS16)、図8に示す処理動作を終了する。制御部17は、URL50Eに対する選択又は入力を検出しなかった場合(ステップS11否定)や、メールエディタウインドウでない場合(ステップS12否定)、図8に示す処理動作を終了する。
制御部17は、メールエディタウインドウがメール作成画面50でない場合(ステップS14否定)、メールエディタウインドウが、図5Aに示すメール参照画面60と判断し、図5Bに示すメニュー画面51を画面表示すべく、ステップS16に移行する。
図8に示すメニュー画面表示処理の制御部17は、URL50Eに対する選択又は入力の操作を検出すると、メール作成画面50の場合、参照ボタン51Bを無効化したメニュー画面51を画面表示する。その結果、クライアント2側の利用者は、メール作成画面50内のメニュー画面51上のロックボタン51Aが操作可能となる。
制御部17は、URL50Eに対する選択又は入力の操作を検出すると、メール参照画面60の場合、メニュー画面51を画面表示する。その結果、クライアント2側の利用者は、メール参照画面60内のメニュー画面51上のロックボタン51A及び参照ボタン51Bが操作可能となる。
図9は、ロック要求処理に関わるクライアント2側の制御部17の処理動作の一例を示すフローチャートである。図9に示すロック要求処理は、メニュー画面51上のロックボタン51Aの操作を検出した場合、選択中のURL50Eで示す格納先に格納されたコンテンツのロックを共有サーバ5に要求する処理である。
図9においてクライアント2側の制御部17内の要求処理部17Cは、メニュー画面51上のロックボタン51Aに対する操作を検出したか否かを判定する(ステップS21)。要求処理部17Cは、ロックボタン51Aに対する操作を検出した場合(ステップS21肯定)、現在の表示画面が図5Cに示すメール参照画面60であるか否かを判定する(ステップS22)。
要求処理部17Cは、メール参照画面60の場合(ステップS22肯定)、メール参照画面60上のメールヘッダを読み込む(ステップS23)。要求処理部17Cは、メール参照画面60上のメールヘッダ内にReference句が存在するか否かを判定する(ステップS24)。尚、Reference句は、メール内のメッセージ履歴を識別するメッセージIDが記録されている。
要求処理部17Cは、Reference句が存在する場合(ステップS24肯定)、Reference句内の最初の発信元メールを識別するメッセージID、すなわち元のメッセージIDを抽出する。そして、要求処理部17Cは、抽出したメッセージIDをパラメータαに設定する(ステップS25)。尚、パラメータαのメッセージIDは、URL50Eを最初に記載した発信元のメールを識別するIDである。
要求処理部17Cは、選択中のURL50Eをパラメータβ、自分のメールアドレスをパラメータγに設定する(ステップS26)。尚、パラメータβのURL50Eは、同クライアント2の利用者が選択中のURLである。パラメータγのメールアドレスは、ロックボタン51Aを操作した同クライアント2の利用者を識別するメールアドレスである。
要求処理部17Cは、共有サーバ5に対してコンテンツのロックを要求する(ステップS27)。尚、要求処理部17Cは、パラメータα、γ、βを含むロック要求を共有サーバ5に要求する。また、要求処理部17Cは、メール参照画面60内のURL50Eのコンテンツのロックを要求する場合、パラメータαとして元のメッセージIDをロック要求に含める。また、要求処理部17Cは、メール作成画面50内のURL50Eのコンテンツのロックを要求する場合、パラメータαとして「設定値なし」でロック要求に含める。
要求処理部17Cは、共有サーバ5からロック要求に対するコンテンツ管理キーを受信したか否かを判定する(ステップS28)。要求処理部17Cは、コンテンツ管理キーを受信した場合(ステップS28肯定)、現在の表示画面がメール作成画面50であるか否かを判定する(ステップS29)。
要求処理部17Cは、現在の表示画面がメール作成画面50の場合(ステップS29肯定)、図4Cに示すメール作成画面50内のメール本文50C内の選択中のURL50Eの先頭部分にコンテンツ管理キー50Fを付加する(ステップS30)。尚、利用者は、メール作成画面50内のメール本文50C内にコンテンツ管理キー50Fを表示するため、コンテンツロックのURL50Eを識別できる。要求処理部17Cは、メニュー画面51を閉じて(ステップS31)、図9に示す処理動作を終了する。
要求処理部17Cは、メニュー画面51上のロックボタンに対する操作を検出しなかった場合(ステップS21否定)、図9に示す処理動作を終了する。要求処理部17Cは、現在の表示画面がメール参照画面60でない場合(ステップS22否定)、選択中のURL50E及びメールアドレスをパラメータβ及びγに設定すべく、ステップS26に移行する。
要求処理部17Cは、Reference句が存在しない場合(ステップS24否定)、メッセージIDをパラメータαに設定し(ステップS32)、選択中のURL50E及びメールアドレスをパラメータβ及びγに設定すべく、ステップS26に移行する。
要求処理部17Cは、コンテンツ管理キーを受信しなかった場合(ステップS28否定)、コンテンツ管理キーを受信したか否かを判定すべく、ステップS28に移行する。要求処理部17Cは、現在の表示画面がメール作成画面50でない場合(ステップS29否定)、メニュー画面51を閉じるべく、ステップS31に移行する。つまり、要求処理部17Cは、現在の表示画面がメール参照画面60の場合、選択中のURL50Eにコンテンツ管理キー50Fを付加するステップS30の処理を実行せず、メニュー画面51を閉じる。
図9に示すロック要求処理の制御部17は、メール参照画面60上のロックボタン51Aに対する操作を検出すると、メール参照画面60内の元メッセージID、選択中のURL50E、メールアドレスを含むロック要求を共有サーバ5に対して要求する。その結果、クライアント2の利用者は、メール参照画面60上のメール本文50C内のURL50Eに関わるコンテンツのロックを共有サーバ5に要求できる。
制御部17は、メール作成画面50上のロックボタン51Aに対する操作を検出すると、メール作成画面50内の選択中のURL50E、メールアドレス及び元メッセージIDの設定値なしを含むロック要求を共有サーバ5に対して要求する。その結果、クライアント2側の利用者は、メール作成画面50上のメール本文50C内のURL50Eに関わるコンテンツのロックを共有サーバ5に要求できる。
更に、制御部17は、共有サーバ5からロック要求に対してコンテンツ管理キーを受信した場合、メール作成画面50上のメール本文50C内のURL50Eの先頭部分にコンテンツ管理キー50Fを付加して表示する。その結果、クライアント2側の利用者は、メール作成画面50上でコンテンツロックのURL50Eを識別できる。
図10は、ロック処理に関わる共有サーバ5側の制御部35の処理動作の一例を示すフローチャートである。図10に示すロック処理は、ロック要求のURL50Eで示す格納先にアクセスしてコンテンツのコピーを共有フォルダ43内の保存先フォルダに保存する処理である。
図10において共有サーバ5側の制御部35内のロック処理部35Bは、クライアント2からロック要求を受信したか否かを判定する(ステップS41)。尚、ロック要求には、パラメータαに元のメッセージID又は「設定値なし」、パラメータβにURL50E、パラメータγにメールアドレスを含む。
ロック処理部35Bは、ロック要求を受信した場合(ステップS41肯定)、URL50Eで示す格納先のコンテンツを保存する保存先フォルダを記憶部32内の共有フォルダ43内に生成する(ステップS42)。ロック処理部35Bは、ロック要求のURL50Eにアクセスしてコンテンツを取得する(ステップS43)。ロック処理部35Bは、取得したコンテンツを保存先フォルダに保存し(ステップS44)、当該コンテンツを識別するコンテンツ管理キー(@key)を生成する(ステップS45)。
ロック処理部35Bは、設定したレコードをコンテンツ管理テーブル31内に追加する(ステップS46)。尚、設定したレコードは、コンテンツ管理キー41Aに@key、保存者41Bにγ(メールアドレス)、保存日時41Cに現在時刻、元URL41Dにβ(URL文字列)、保存先URL41Eに保存先フォルダのURLを設定したレコードである。その結果、ロック処理部35Bは、コンテンツ管理テーブル41を参照し、保存先フォルダ内に保存したURL50Eのコンテンツ毎に、コンテンツ管理キー41A、保存者41B、保存日時41C、元URL41D及び保存先URL41Eを識別できる。
ロック処理部35Bは、コンテンツ管理テーブル41内に新規レコードを追加した後、パラメータαに設定値があるか否かを判定する(ステップS47)。ロック処理部35Bは、パラメータαに設定値がある場合(ステップS47肯定)、メッセージID42Aにパラメータα、URL42Bにパラメータβ、コンテンツ管理キー42Cに@keyを設定のレコードをリンクテーブル42に追加する(ステップS48)。
ロック処理部35Bは、クライアント2からのロック要求に応じてURL50Eのコンテンツを識別するコンテンツ管理キーをクライアント2に返信し(ステップS49)、図10に示す処理動作を終了する。
ロック処理部35Bは、ロック要求を受信しなかった場合(ステップS41否定)、図10に示す処理動作を終了する。ロック処理部35Bは、パラメータαに設定値がない場合(ステップS47否定)、ロック要求に対するコンテンツ管理キーをクライアント2に返信すべく、ステップS49に移行する。
図10に示すロック処理の制御部35は、クライアント2からロック要求を検出すると、ロック要求のURL50Eにアクセスしてコンテンツを取得し、取得したコンテンツを保存先フォルダ内に保存する。その結果、制御部35は、ロック要求のURL50Eで示す格納先のコンテンツを保存先フォルダ内に保存する。つまり、ロック要求時点のURL50Eのコンテンツ内容を保存先フォルダにロックできる。
制御部35は、ロック要求のコンテンツを保存先フォルダ内に保存した場合、コンテンツ毎に、コンテンツ管理キー41A、保存者41B、保存日時41C、元URL41D及び保存先URL41Eをコンテンツ管理テーブル41内に登録する。その結果、利用者は、コンテンツ管理テーブル41を参照して、コンテンツ毎にコンテンツ管理キー41A、保存者41B、保存日時41C、元URL41D及び保存先URL41Eを識別できる。
制御部35は、コンテンツをメッセージIDやコンテンツ管理キーで管理し、メールの転送及び返信等による二次的な受信者でも保存先フォルダ内に保存したコンテンツを参照できる。
図11は、参照要求処理に関わるクライアント2側の制御部17の処理動作の一例を示すフローチャートである。図11に示す参照要求処理は、メニュー画面51上の参照ボタン51Bの操作に応じて保存先フォルダ内に保存済みのコンテンツの参照を共有サーバ5に要求する処理である。
図11において要求処理部17Cは、メニュー画面51上の参照ボタン51Bに対する操作を検出したか否かを判定する(ステップS51)。要求処理部17Cは、参照ボタン51Bに対する操作を検出した場合(ステップS51肯定)、参照メール画面60のメールヘッダを読み込む(ステップS52)。要求処理部17Cは、メールヘッダ内にReference句が存在するか否かを判定する(ステップS53)。
要求処理部17Cは、メールヘッダ内にReference句が存在する場合(ステップS53肯定)、Reference内の元のメッセージIDを抽出し、抽出したメッセージIDをパラメータαに設定する(ステップS54)。要求処理部17Cは、選択中のURL文字列をパラメータβに設定する(ステップS55)。
要求処理部17Cは、共有サーバ5に対して共有コンテンツリストを要求する(ステップS56)。尚、共有コンテンツリスト要求には、パラメータα及びβを含む。要求処理部17Cは、共有サーバ5から共有コンテンツリストを受信したか否かを判定する(ステップS57)。尚、共有コンテンツリストは、パラメータαのメッセージID(設定値なし)及びパラメータβのURL50Eを含むコンテンツリストである。
要求処理部17Cは、共有サーバ5から共有コンテンツリストを受信した場合(ステップS57肯定)、コンテンツ一覧リストをロードする(ステップS58)。要求処理部17Cは、共有コンテンツリスト内に複数のコンテンツがあるか否かを判定する(ステップS59)。
要求処理部17Cは、共有コンテンツリスト内に複数のコンテンツがある場合(ステップS59肯定)、共有コンテンツリストを設定し(ステップS60)、図6又は図7に示すコンテンツ一覧リスト52を表示部13に出力する(ステップS61)。その結果、利用者は、URL50Eで示す格納先に格納されたコンテンツに関わる保存者、保存日時及び要求状況を認識できる。尚、要求状況は、共有サーバ5がロック要求時や参照要求時の状況を管理することで実現できる。
要求処理部17Cは、コンテンツ一覧リスト52上のコンテンツ52Aに対する選択操作を検出したか否かを判定する(ステップS62)。要求処理部17Cは、コンテンツ52Aに対する選択操作を検出した場合(ステップS62肯定)、選択操作のコンテンツ52Aの保存者41B等を含むレコード内の保存先URL41Eをコンテンツ管理テーブル41から取得する(ステップS63)。そして、要求処理部17Cは、保存先URL41Eで示す格納先にアクセスする(ステップS64)。要求処理部17Cは、保存先URL41Eで示す格納先にアクセスしてコンテンツを取得する。要求処理部17Cは、コンテンツ一覧リスト52を閉じ(ステップS65)、メニュー画面51を閉じ(ステップS66)、図11に示す処理動作を終了する。
要求処理部17Cは、メニュー画面51上の参照ボタン51Bに対する操作を検出しなかった場合(ステップS51否定)、図11に示す処理動作を終了する。要求処理部17Cは、Reference句が存在しない場合(ステップS53否定)、メッセージIDをパラメータαに設定し(ステップS67)、選択中のURL50Eをパラメータβに設定すべく、ステップS55に移行する。
要求処理部17Cは、共有サーバ5から共有コンテンツリストを受信しなかった場合(ステップS57否定)、共有コンテンツリストを受信したか否かを判定すべく、ステップS57に移行する。また、要求処理部17Cは、共有コンテンツリスト内に複数のコンテンツがない場合(ステップS59否定)、コンテンツ一覧リスト52を表示部13に出力すべく、ステップS61に移行する。要求処理部17Cは、コンテンツ52Aに対する選択操作を検出しなかった場合(ステップS62否定)、コンテンツ52Aに対する選択操作を検出したか否かを判定すべく、ステップS62に移行する。
図11に示す参照要求処理の制御部17は、参照ボタン51Bに対する操作を検出した場合、参照要求のコンテンツに関わる共有コンテンツリストを共有サーバ5に要求する。その結果、制御部17は、参照要求のコンテンツに関わる共有コンテンツリストを取得できる。
制御部17は、共有コンテンツリストを受信した場合、コンテンツ一覧リスト52を表示部13に画面表示する。その結果、利用者は、参照要求のコンテンツに関わるコンテンツ一覧リスト52で視認できる。
制御部17は、画面表示中のコンテンツ一覧リスト52の内、所望のコンテンツ52Aに対する選択操作を検出した場合、選択コンテンツ52Aに対応する保存先URL42Eにアクセスして各ロック時点のコンテンツを画面表示する。その結果、クライアント2側の利用者は、コンテンツ一覧リスト52から各ロック時点のコンテンツを参照できる。従って、受信者は、メール本文50Cに記載のURL50Eのコンテンツをロックした後であれば、そのロック後に同URL50Eのアクセス先であるコンテンツに変更が加えられたとしても、ロック時点の変更前のコンテンツ内容を確実に閲覧できる。
図12は、コンテンツ一覧送信処理に関わる共有サーバ5側の制御部35の処理動作の一例を示すフローチャートである。図12に示すコンテンツ一覧送信処理は、クライアント2から共有コンテンツリスト要求を検出すると、参照要求のコンテンツに関わる共有コンテンツリストをクライアント2に送信する処理である。
図12において制御部35内の提供処理部35Cは、クライアント2から共有コンテンツリスト要求を受信したか否かを判定する(ステップS71)。尚、共有コンテンツリスト要求は、クライアント2側の参照要求のコンテンツに関わる、パラメータαの元メッセージID及び、パラメータβの選択中のURLを含む要求である。
提供処理部35Cは、共有コンテンツリスト要求を受信した場合(ステップS71肯定)、コンテンツ管理キー42Cのレコード群@Aをリンクテーブル42から抽出する(ステップS72)。尚、コンテンツ管理キー42Cのレコード群@Aは、図3に示すメッセージID42Aにパラメータα、URL42Bにパラメータβを含むコンテンツ管理キー42Cのレコード群である。提供処理部35Cは、図2に示すコンテンツ管理キー41Aのレコード群@Aを含むレコード群@Bをコンテンツ管理テーブル41から抽出する(ステップS73)。
提供処理部35Cは、抽出したレコード群@Bを、保存日時41Cの早い順にソートする(ステップS74)。保存日時41Cの早い順にレコード群をソートする理由は、保存日時の早い方がコンテンツ内容に変更がない可能性が高いためである。提供処理部35Cは、レコード群@Bを含む共有コンテンツリストを生成し、共有コンテンツリストをクライアント3に返信し(ステップS75)、図12に示す処理動作を終了する。
提供処理部35Cは、共有コンテンツリスト要求を受信しなかった場合(ステップS71否定)、図12に示す処理動作を終了する。
図12に示すコンテンツ一覧送信処理の制御部35は、クライアント2から共有コンテンツリスト要求を検出すると、メッセージID42A及びURL42Bに対応するコンテンツ管理キー42Cをリンクテーブル42から抽出する。制御部35は、抽出したコンテンツ管理キーを含むレコード群をコンテンツ管理テーブル41から抽出し、抽出したレコード群を保存日時41Cでソートして共有コンテンツリストを生成し、共有コンテンツリストをクライアント2に返信する。その結果、クライアント2は、共有コンテンツリストを取得できる。
図13は、送信メールリンク処理に関わるメールサーバ3側の制御部25の処理動作の一例を示すフローチャートである。図13に示す送信メールリンク処理は、クライアント3からのメール送信依頼時に、図4Cに示すように、メール本文50C内にコンテンツ管理キー50Fを付加したURL50Eがある場合にメッセージIDを採番する処理である。
図13において制御部25は、メール送信依頼を受信したか否かを判定する(ステップS81)。制御部25は、メール送信依頼を受信した場合(ステップS81肯定)、図4Cに示す送信対象のメール本文50Cの新規部分(Reference範囲外部分)からコンテンツ管理キー50F付きのURL50Eを検索する(ステップS82)。
制御部25は、コンテンツ管理キー50F付きのURL50Eを検索した後、メール本文50C内にコンテンツ管理キー50Fの対象文字列があるか否かを判定する(ステップS83)。制御部25は、コンテンツ管理キー50Fの対象文字列がある場合(ステップS83肯定)、対象文字列を1個抽出する(ステップS84)。制御部25は、抽出した対象文字列を分解してコンテンツ管理キー50F(@key)及びURL50E(@URL)を抽出する(ステップS85)。
更に、制御部25は、コンテンツ管理キー50F及びURL50Eを抽出した後、メッセージIDを採番する(ステップS86)。更に、制御部25は、メッセージID42Aにパラメータα、URL42Bに@URL、コンテンツ管理キー42Cに@keyを設定したレコードをリンクテーブル42内に登録するように共有サーバ5に指示する(ステップS87)。
制御部25は、メール本文50C中の対象文字列部分を@URLで置換する(ステップS88)。その結果、メール本文50C上のコンテンツ管理キー50F付きのURL50Eは、URL50Eのみとなる。そして、制御部25は、全てのコンテンツ管理キー50F付きの対象文字列の処理が完了したか否かを判定する(ステップS89)。制御部25は、メール本文50C内の全てのコンテンツ管理キー50F付きの対象文字列の処理が完了した場合(ステップS89肯定)、当該メールを送信し(ステップS90)、図13に示す処理動作を終了する。
制御部25は、メール送信依頼を受信しなかった場合(ステップS81否定)、図13に示す処理動作を終了する。制御部25は、コンテンツ管理キー50Fの対象文字列がない場合(ステップS83否定)、当該メールを送信すべく、ステップS90に移行する。制御部25は、メール本文50C内の全てのコンテンツ管理キー50F付きの対象文字列の処理が完了しなかった場合(ステップS89否定)、未処理の1個の対象文字列を抽出すべく、ステップS84に移行する。
図13に示す送信メールリンク処理の制御部25は、メールの送信依頼時にメール本文50C内にコンテンツ管理キー50Fを付加したURL50Eがある場合にメッセージIDを採番する。更に、制御部25は、共有サーバ5内のリンクテーブル42内にURL及びコンテンツ管理キーは勿論のこと、メッセージIDの登録を共有サーバ5に指示する。その結果、共有サーバ5は、リンクテーブル42内にコンテンツ毎のメッセージID42A、URL42B及びコンテンツ管理キー42Cを登録できる。
更に、制御部25は、メッセージIDを採番した後、メール本文中のコンテンツ管理キー50F付きURL50Eを通常のURLにして同メールを送信する。
本実施例では、メール送信者がメールを作成した時点のコンテンツや、同報受信者がURL先にアクセスした時点のコンテンツが共有WEBサーバに保存され、メール受信者は保存された当時の情報を参照することができる。従ってリンク切れやコンテンツ変更などあっても情報を見逃すことがなくなる。共有コンテンツはメールをキーにして管理されるため、返信メールや転送メールによる二次的な受信者が元のメールの共有コンテンツを参照することが出来る。
実施例の共有サーバ5は、クライアント2から、メール本文内のURL50Eで示す格納先のコンテンツに対するロック要求を検出すると、当該URL50Eの格納先にアクセスしてコンテンツを保存先フォルダ内に保存する。更に、共有サーバ5は、URL50E及び、保存先フォルダの保存先URLを対応付けて記憶部32内の共有フォルダ43に記憶する。その結果、クライアント2側の利用者は、ロック要求時の当該URLで示す格納先に格納されたコンテンツ内容をロックして保存先フォルダに保存できる。
更に、共有サーバ5は、クライアント2からURL50Eに対する参照要求を検出すると、記憶部32を参照して、URLに対応した保存先URLを参照要求のクライアント2に提供する。その結果、クライアント2側の利用者は、ロック時点のURLに関わるコンテンツを参照できる。共有サーバ5は、ロック後に、元のURLで示す格納先のコンテンツに変更が生じた場合でも、ロック時点でのコンテンツを参照要求の利用者に提供できる。
共有サーバ5は、ロック要求に応じてコンテンツを保存先フォルダに保存すると、URLを記載したメール本文内にReference句がある場合に、Reference句内のメッセージIDから最古のメッセージIDを抽出する。更に、共有サーバ5は、抽出したメッセージIDをURL及び保存先URLに対応付けて記憶部32に記憶する。更に、共有サーバ5は、記憶部32を参照して、メッセージIDに関わるURLに対応した保存先URLを参照要求のクライアント2に提供する。その結果、共有サーバ5は、メッセージIDを用いてURL及び保存先URLの対応付けを管理できる。
共有サーバ5は、ロック要求に応じてコンテンツを保存先フォルダに保存すると、URLを記載したメール本文内にReference句がない場合に、メール本文に記載したURLのコンテンツを識別するコンテンツ管理キーを取得する。共有サーバ5は、コンテンツ管理キー50Fをメール本文内のURL50Eの先頭部分に付加する。その結果、クライアント2側の利用者は、メール作成画面50上のコンテンツ管理キー50Fを付加したURL50Eを見てロック済みのURLと認識できる。
更に、共有サーバ5は、取得したコンテンツ管理キーをURL及び保存先URLに対応付けて記憶部32に記憶する。更に、共有サーバ5は、記憶部32を参照して、コンテンツ管理キーに関わるURLに対応した保存先URLを参照要求のクライアント2に提供する。その結果、クライアント2側の利用者は、ロック時点のURLに関わるコンテンツを参照できる。
尚、上記実施例では、メールサーバ3及び共有サーバ5を分離した状態で説明したが、共有サーバ5がメールサーバ3の機能を内蔵しても良く、この場合、送信メールリンク処理は共有サーバ5内の制御部35で実行する。
本実施例の共有サーバ5は、ロック要求のURL文字列のコンテンツを記憶部32内の共有フォルダ43内の保存先フォルダ内に保存したが、保存先フォルダは共有サーバ内に限定されず、例えば、メールサーバ3や他のWebサーバ4内の記憶部でも良い。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置で実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図14は、提供プログラムを実行する情報処理装置100の一例を示す説明図である。
図14において提供プログラムを実行する情報処理装置100では、ROM110、RAM120、CPU130及び通信部140を有する。
そして、ROM110には、上記実施例と同様の機能を発揮する提供プログラムが予め記憶されている。尚、ROM110ではなく、図示せぬドライブで読取可能な記録媒体に提供プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ、SDカード等の可搬型記録媒体、HDD、フラッシュメモリ等の半導体メモリ等でも良い。提供プログラムとしては、格納プログラム110A、管理プログラム110B及び提供プログラム110Cである。尚、プログラム110A〜110Cについては、適宜統合又は分散しても良い。
そして、CPU130は、これらのプログラム110A〜110CをROM110から読み出し、これら読み出された各プログラムを実行する。そして、CPU130は、各プログラム110A〜110Cを、格納プロセス130A、管理プロセス130B及び提供プロセス130Cとして機能させる。
CPU130は、メールのメール本文内に情報の格納先を示す第1の格納先アドレスがある場合に、メールの送信元又は送信先の端末装置から、第1の格納先アドレスで示す格納先に格納された情報についてのRAM120内の第1の領域への格納要求を検出する。CPU130は、格納要求を検出すると、当該第1の格納先アドレスにアクセスして情報を取得して、取得した該情報を該RAM120内の第1の領域に格納する。CPU130は、第1の格納先アドレスと、情報を格納したRAM120内の格納先を示す第2の格納先アドレスとを対応付けてRAM120内の第2の領域に記憶する。CPU130は、メールの送信先の端末装置から第1の格納先アドレスで示す格納先に格納された情報の参照要求を検出すると、第2の領域を参照して、第1の格納先アドレスに対応した第2の格納先アドレスを、参照要求を要求した端末装置に提供する。その結果、メール本文に記載した格納先アドレスで示す格納先の情報を、送信先の端末装置である受信者に確実に提供できる。