(57)【特許請求の範囲】
【請求項１】
第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータに、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出工程と、
前記検出工程によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二の電子メールに含まれる第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定する判定工程と、
前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を、前記特定工程によって特定された前記複数の利用者と関連付けて前記データベースに登録し、前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録する登録工程と、
を実行させることを特徴とするスケジュール管理プログラム。
【請求項２】
第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータに、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
前記特定工程によって特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記第二のスケジュール情報の表示タイプを前記第二のスケジュール情報に設定する設定工程と、
前記設定工程によって前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録する登録工程と、
を実行させることを特徴とするスケジュール管理プログラム。
【請求項３】
前記第二のヘッダ情報は、前記第二の電子メールが他の電子メールから派生して作成されたものであることを識別する識別情報を含み、
前記検出工程において、前記データベースを参照し、前記第一のヘッダ情報が該識別情報を含む場合に、該第一のヘッダ情報と対応付いた前記第一のスケジュール情報を検出することを特徴とする請求項１に記載のスケジュール管理プログラム。
【請求項４】
前記判定工程は、
前記第二の電子メールに、スケジュールの変更を示す文字列が含まれている場合に、前記第二の電子メールが前記第一のスケジュール情報の変更を通知していると判定することを特徴とする請求項１〜３のいずれか一つに記載のスケジュール管理プログラム。
【請求項５】
第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースと、
第二の電子メールを受信する受信部と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出部と、
前記検出部によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二の電子メールに含まれる第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定する判定部と、
前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更部と、
前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定部と、
前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を、前記特定部によって特定された前記複数の利用者と関連付けて前記データベースに登録し、前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録する登録部と、
を備えることを特徴とするスケジュール管理装置。
【請求項６】
第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースと、
第二の電子メールを受信する受信部と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定部と、
前記判定部によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更部と、
前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定部と、
前記特定部によって特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記第二のスケジュール情報の表示タイプを前記第二のスケジュール情報に設定する設定部と、
前記設定部によって前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録する登録部と、
を備えることを特徴とするスケジュール管理装置。
【請求項７】
第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータが、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出工程と、
前記検出工程によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二の電子メールに含まれる第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定する判定工程と、
前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を、前記特定工程によって特定された前記複数の利用者と関連付けて前記データベースに登録し、前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録する登録工程と、
を実行することを特徴とするスケジュール管理方法。
【請求項８】
第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータが、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
前記特定工程によって特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記第二のスケジュール情報の表示タイプを前記第二のスケジュール情報に設定する設定工程と、
前記設定工程によって前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録する登録工程と、
を実行することを特徴とするスケジュール管理方法。
【請求項９】
複数の端末間で送受信されるメールを取得し、
取得した前記メールの宛先アドレスを特定し、
前記複数の端末のそれぞれから参照可能な格納部に登録されているスケジュールのうち特定した前記宛先アドレスに対応するユーザのスケジュールと、取得した前記メールの内容を解析して得られたスケジュール内容とを比較することにより、取得した前記メールの内容を解析して得られたスケジュール内容が、特定した前記宛先アドレスに対応するユーザのスケジュールの変更を通知しているか否かを判定し、
取得した前記メールの内容を解析して得られたスケジュール内容が、特定した前記宛先アドレスに対応するユーザのスケジュールの変更を通知していると判定された場合、特定した前記宛先アドレスに対応するユーザのスケジュールを、取得した前記メールの内容を解析して得られたスケジュール内容で更新し、取得した前記メールの内容を解析して得られたスケジュール内容が、特定した前記宛先アドレスに対応するユーザのスケジュールの変更を通知していないと判定された場合、特定した前記宛先アドレスに対応するユーザのスケジュールと取得した前記メールの内容を解析して得られたスケジュール内容とを関連付けて前記格納部に登録する
処理をコンピュータが実行することを特徴とするスケジュール登録方法。
【請求項１０】
複数の端末間で送受信されるメールを取得し、
取得した前記メールの宛先アドレスを特定し、
前記複数の端末のそれぞれから参照可能な格納部に登録されているスケジュールのうち特定した前記宛先アドレスに対応するユーザのスケジュールを、取得した前記メールの内容を解析して得られたスケジュール内容で更新し、
取得した前記メールのヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、前記メールの内容を解析して得られたスケジュール内容を共有する複数の利用者を特定し、
特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記メールの内容を解析して得られたスケジュール内容の表示タイプを前記メールの内容を解析して得られたスケジュール内容に設定し、
前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記メールの内容を解析して得られたスケジュール内容を、前記特定された前記複数の利用者と関連付けて前記格納部に登録する
処理をコンピュータが実行することを特徴とするスケジュール登録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スケジュールを管理するスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法に関する。
【背景技術】
【０００２】
近年、電子メールを利用して様々なスケジュール情報を通知する事例が多くなっている。この際、電子メールからスケジュール情報を自動抽出して利用者に提示することにより、利用者が逐一電子メールの記載内容を確認しなくても電子メールによる通知内容を把握することができる。そこで、電子メールの本文からスケジュール情報を自動抽出する技術の需要が高まっている。
【０００３】
従来、スケジュール情報を自動抽出する技術として、電子メールの本文の内容を解析し、スケジュール情報として書き込む内容か否かを判定し、書き込むべき内容であると判定された場合に利用者の端末にスケジュール情報を書き込むものがある（例えば、下記特許文献１参照。）。また、電子メールに複数のスケジュール情報が含まれている場合に、各スケジュール情報を項目に分けた一覧を作成し、利用者に登録すべきスケジュール情報を選択させる技術がある（例えば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２５９５６８号公報
【特許文献２】特開２００９−９３５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術によれば、電子メールから抽出されたスケジュール情報の登録後に、同一のスケジュールについての変更を通知する電子メールがあっても、変更内容を登録済みのスケジュール情報に反映することができない。このため、同一のスケジュールについて、複数のスケジュール情報が登録される場合がある。したがって、登録されたスケジュール情報を閲覧する際に、同じイベントを通知する複数のスケジュール情報が表示されてしまう場合があり、利用者にとってわかりにくい表示になってしまうという問題があった。
【０００６】
本発明は、上述した従来技術による問題点を解消するため、電子メールにより通知されたスケジュール情報の登録後に、他の電子メールにより登録済みのスケジュール情報の変更が通知された場合、登録済みのスケジュール情報に変更内容を反映させることができるスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、開示のスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法は、第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能であり、第二の電子メールを受信すると、前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定し、判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する。
【発明の効果】
【０００８】
本スケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法によれば、電子メールにより通知されたスケジュール情報の登録後に、他の電子メールにより登録済みのスケジュール情報の変更が通知された場合、登録済みのスケジュール情報に変更内容を反映させることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態にかかるスケジュール管理処理の一例を示す説明図である。
【図２】スケジュール管理装置のハードウェア構成を示すブロック図である。
【図３】スケジュール管理装置の機能的構成を示すブロック図である。
【図４】スケジュール管理装置によるスケジュール登録・変更処理の手順を示すフローチャートである。
【図５】本実施例におけるシステム構成を示す説明図である。
【図６】ユーザ情報テーブルの記憶内容の一例を示す説明図である。
【図７】スケジュールテーブルの記憶内容の一例を示す説明図である。
【図８】メールフィルタリングサーバによるスケジュール登録・変更処理の手順を示すフローチャートである。
【図９】スケジュール−ＭｅｓｓａｇｅＩＤ対応付けテーブルの記憶内容の一例を示す説明図である。
【図１０】新規スケジュール登録処理の手順を示すフローチャートである。
【図１１】スケジュール抽出処理の手順を示すフローチャートである。
【図１２】日付前後の本文解析結果の一例を示す説明図である。
【図１３】変更キーワードテーブルの記憶内容の一例を示す説明図である。
【図１４】スケジュールキーワードテーブルの記憶内容の一例を示す説明図である。
【図１５】表示タイプ登録処理の手順を示すフローチャートである。
【図１６】スケジュール表示権限テーブルの記憶内容の一例を示す説明図である。
【図１７】出欠情報検出処理の手順を示すフローチャートである。
【図１８】出欠席キーワードテーブルの記憶内容の一例を示す説明図である。
【図１９】スケジュール情報表示処理を示す説明図である。
【図２０】スケジュール画面の表示例を示す説明図である。
【図２１】電子メールによるスケジュール情報の通知例を示す説明図である。
【図２２】スケジュール情報の変更例を示す説明図である。
【図２３】閲覧権限の設定例を示す説明図である。
【図２４】スケジュール情報の編集例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかるスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法の好適な実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態にかかるスケジュール管理処理の一例を示す説明図である。図１において、スケジュール管理装置１００は、特定の利用者宛に送信された電子メール１０１を受信し、受信した電子メール１０１に含まれているスケジュール情報を抽出してデータベース１１０に登録する。
【００１２】
ここで、特定の利用者とは、スケジュール管理装置１００の利用者として予め登録されている利用者群である。特定の利用者として、例えば、ある会社の全社員や同一部署の全社員などの利用者群が登録される。また、電子メール１０１は、電子メール１０１の送信に関する情報が記載されているヘッダフィールド１０２と、送信元によって作成されたメール本文１０３とを含む構成である。
【００１３】
スケジュール管理装置１００は、電子メール１０１を受信すると、ヘッダフィールド１０２から所定のヘッダ情報を抽出し、メール本文１０３からスケジュール情報を抽出する。この際、スケジュール管理装置１００は、ヘッダフィールド１０２から、ヘッダ情報として記載されているすべての情報を抽出してもよく、また、事前に設定しておいた情報を抽出してもよい。
【００１４】
図１に示した例では、スケジュール管理装置１００は、例えば、ヘッダ情報として、宛先アドレス、Ｍｅｓｓａｇｅ−ＩＤおよび日付情報を抽出する。また、スケジュール管理装置１００は、例えば、スケジュール情報として、メール本文１０３から電子メール１０１によって通知されたイベントの日付、時間、場所、種別などを抽出する。
【００１５】
電子メール１０１から抽出されたスケジュール情報は、同時に抽出されたヘッダ情報と関連付けてデータベース１１０のスケジュールテーブル１１１に登録される。この際、スケジュールテーブル１１１に登録済みのスケジュール情報が存在する場合、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報が、新規のスケジュール情報であるか、登録済みのスケジュール情報の変更を通知するスケジュール情報であるかを判定する。
【００１６】
具体的には、例えば、スケジュールテーブル１１１に登録済みのスケジュール情報が存在する場合、スケジュール管理装置１００は、電子メール１０１から抽出されたヘッダ情報と、スケジュールテーブル１１１に記憶されているヘッダ情報とを比較する。そして、スケジュール管理装置１００は、電子メール１０１のヘッダ情報と対応するヘッダ情報と関連付けて登録されているスケジュール情報を特定する。
【００１７】
ここで、電子メール１０１のヘッダ情報と対応するヘッダ情報と関連付けて登録されているスケジュール情報（以下、「特定のスケジュール情報」という）は、電子メール１０１と関連性の高い電子メールによって通知されたスケジュール情報である。例えば、スケジュール管理装置１００は、特定のスケジュール情報として、電子メール１０１からヘッダ情報として抽出された複数の情報の中の特定の情報が対応関係にあるスケジュール情報を特定することにしてもよい。
【００１８】
より具体的には、例えば、スケジュール管理装置１００は、特定のスケジュール情報として、電子メール１０１から抽出されたＭｅｓｓａｇｅ−ＩＤと共通のＭｅｓｓａｇｅ−ＩＤを有するスケジュール情報を特定する。ここで、電子メール１０１と登録済みのスケジュール情報とのＭｅｓｓａｇｅ−ＩＤが共通する場合、電子メール１０１は、登録済みのスケジュール情報を通知した電子メールから派生した電子メールであることがわかる。したがって、電子メール１０１のＭｅｓｓａｇｅ−ＩＤを手掛かりに、特定のスケジュール情報を特定することで、電子メール１０１と関連性の高いスケジュール情報を特定することができる。
【００１９】
スケジュールテーブル１１１の中から特定のスケジュール情報が絞り込まれると、次に、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報が変更通知か否かを判定する。変更通知とは、スケジュールテーブル１１１の中から絞り込まれた特定のスケジュール情報を変更する通知を意味する。また、スケジュール管理装置１００は、変更通知でないと判定された場合、電子メール１０１から抽出されたスケジュール情報が新規通知であると判定する。
【００２０】
具体的には、例えば、スケジュール管理装置１００は、メール本文１０３に記載されている文字列に基づいて、電子メール１０１から抽出されたスケジュール情報が変更通知か否かを判定する。一例として、スケジュール管理装置１００は、メール本文１０３に変更に関する文字列（「変更」、「変わりました」など）が含まれている場合に、電子メール１０１から抽出されたスケジュール情報が変更通知であると判定する。
【００２１】
また、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報と特定のスケジュール情報との関連性が高い場合に、電子メール１０１から抽出されたスケジュール情報が変更通知と判定することにしてもよい。一例として、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報に含まれる同一の日付、時間、場所などに関する情報が、特定のスケジュール情報に含まれる同一の日付、時間、場所などに関する情報に、一部分一致する場合に関連性が高いと判断してもよい。
【００２２】
そして、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報が変更通知であると判定された場合、スケジュールテーブル１１１の中の特定のスケジュール情報を、電子メール１０１から抽出されたスケジュール情報に変更する。
【００２３】
また、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報が変更通知でないと判定された場合、新規に通知されたスケジュール情報として新たにスケジュールテーブル１１１に登録する。このとき、スケジュール管理装置１００は、電子メール１０１から抽出したスケジュール情報を、特定のスケジュール情報と関連する新規のスケジュール情報としてスケジュールテーブル１１１に登録してもよい。すなわち、スケジュール管理装置１００は、単なる新規のスケジュール情報ではなく、登録済みの特定のスケジュール情報と関連する情報であるスケジュール情報であるというフラグをつけて登録する。
【００２４】
一方、電子メール１０１から抽出したヘッダ情報によっては、スケジュールテーブル１１１に登録済みのスケジュール情報の中から特定のスケジュール情報が特定されない場合もある。このような電子メール１０１から抽出されたスケジュール情報は、登録済みのスケジュール情報との関連性がないため、スケジュール管理装置１００は、そのまま新規のスケジュール情報としてヘッダ情報と関連付けて登録する。
【００２５】
以上説明した、本実施の形態にかかるスケジュール管理装置１００は、電子メール１０１からスケジュール情報を抽出し、抽出されたスケジュール情報が新規のスケジュール情報であるか、登録済みのスケジュール情報の変更を通知するスケジュール情報であるかを判定する。また、スケジュール管理装置１００は、判定結果に応じて、データベース１１０のスケジュールテーブル１１１に新規のスケジュール情報の登録、もしくは、登録済みのスケジュール情報の変更を行う。これにより、電子メール１０１によって通知されたスケジュールの変更通知を登録済みのスケジュール情報に反映させることができる。
【００２６】
以下に、図１にて説明したスケジュール管理処理を実現するスケジュール管理装置１００の具体的な構成および処理手順について説明する。
【００２７】
（スケジュール管理装置のハードウェア構成）
図２は、スケジュール管理装置のハードウェア構成を示すブロック図である。図２において、スケジュール管理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２８】
ここで、ＣＰＵ２０１は、スケジュール管理装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムや、スケジュール管理に関する処理を実行させるスケジュール管理プログラムなどの各種プログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２９】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３０】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３１】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３２】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３３】
スキャナ２１２は、画像を光学的に読み取り、スケジュール管理装置１００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３４】
なお、図２では、スケジュール管理装置１００のハードウェア構成の一例を例示しているが、スケジュール管理装置１００の構成は図２の構成に限定されない。例えば、スケジュール管理装置１００はスケジュール管理プログラムが実行できる最小限の構成としてＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３およびＩ／Ｆ２０９がバス２００によって接続された構成でもよい。そして、その他のハードウェアは、Ｉ／Ｆ２０９を介して外部に用意しても図２に例示したスケジュール管理装置１００と同様の機能を実現することができる。
【００３５】
（スケジュール管理装置の機能的構成）
図３は、スケジュール管理装置の機能的構成を示すブロック図である。スケジュール管理装置１００は、受信部３０１と、判定部３０２と、変更部３０３と、登録部３０４と、特定部３０５と、検出部３０６と、判断部３０７と、抽出部３０８と、設定部３０９と、を含む構成である。各機能部（受信部３０１〜設定部３０９）は、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたスケジュール管理プログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００３６】
受信部３０１は、電子メール１０１を受信する機能を有する。具体的には、例えば、受信部３０１は、特定のアドレス宛の電子メール１０１を受信する。ここで、特定のアドレスとは、予めスケジュール管理装置１００の利用者として登録した各利用者のメールアドレスである。特定のアドレスとして、例えば、同一の利用者が利用している複数種類のアドレスを登録してもよいし、メーリングリストのアドレスを登録してもよい。
【００３７】
また、受信部３０１は、特定のメールサーバが受信するすべての電子メールを受信し、受信した電子メールの中からスケジュール管理装置１００の利用者宛の電子メール１０１を抽出するような構成であってもよい。なお、上述したいずれの構成であっても受信部３０１によって受信された電子メール１０１は、その後、宛先に応じて各利用者端末によって受信される。
【００３８】
したがって、各利用者は、通常時と変わらずにメーラなどを利用して電子メール１０１を受信することができる。受信部３０１によって受信された電子メール１０１のデータは、一時的にＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３９】
判定部３０２は、電子メール１０１が登録済みのスケジュール情報の変更を通知する電子メールか否かを判定する機能を有する。具体的には、例えば、判定部３０２は、受信部３０１が受信した電子メール１０１に含まれているスケジュール情報やメール本文１０３の記載内容に対応するヘッダ情報がデータベース１１０に存在する場合、該スケジュール情報がデータベース１１０に登録されている特定のスケジュール情報の変更を通知しているか否かを判定する。ここで、特定のスケジュール情報とは、電子メール１０１のヘッダ情報と対応するヘッダ情報と関連付けて登録されているスケジュール情報を意味する。
【００４０】
したがって、判定部３０２は、例えば、電子メール１０１にスケジュール情報の変更に関する文字列が含まれている場合に、電子メール１０１が特定のスケジュール情報の変更を通知していると判定する。他にも、判定部３０２は、例えば、電子メール１０１から抽出されたスケジュール情報と登録済みのスケジュール情報との比較結果に基づいて電子メール１０１が特定のスケジュール情報の変更を通知していると判定することもできる。
【００４１】
具体的には、例えば、判定部４０２は、予め設定したルールに基づいて電子メール１０１が特定のスケジュール情報の変更を通知しているかを判定する。ルールの設定例として、スケジュールテーブル１１１に記憶されているスケジュール情報と、電子メール１０１から抽出されたスケジュール情報とを比較して日付、時間、場所、種別の各情報のうち３つの情報が一致する場合、変更を通知していると判定する設定でもよい。すなわち、日付、時間、場所、種別のいずれか一つのみが不一致の場合は、電子メール１０１が、不一致となった情報についての変更を通知している可能性が高い。
【００４２】
また、判定部３０２は、電子メール１０１のメール本文１０３に特定のコードが含まれている場合に、電子メール１０１が登録済みのスケジュール情報の変更通知であると判定してもよい。特定のコードとは、スケジュール管理装置１００の利用者間で予め設定した文字列である。具体的には、例えば、「＊変更＊」や「メールタイプＸＸＸ」といった文字列が特定のコードとして設定される。
【００４３】
そして、変更を通知する電子メール１０１を送信する場合には、利用者が件名やメール本文１０３に上述のような特定のコードを記載する。判定部３０２は、特定のコードが含まれている電子メール１０１については、即座に特定のスケジュール情報の変更と通知する電子メールであると判定することによって、確実に変更通知か否かの判定を行うことができる。判定部３０２による判定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００４４】
変更部３０３は、判定部３０２によって判定された判定結果に基づいて、データベース１１０内の特定のスケジュール情報を変更する機能を有する。具体的には、例えば、判定部３０２によって、電子メール１０１が特定のスケジュール情報の変更を通知していると判定された場合、変更部３０３は、電子メール１０１に含まれているスケジュール情報によってデータベース１１０に登録済みの特定のスケジュール情報を変更する。なお、変更部３０３による変更履歴は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００４５】
登録部３０４は、新規のスケジュール情報をデータベース１１０に登録する機能を有する。スケジュール管理装置１００では、例えば、電子メール１０１が特定のスケジュール情報の変更を通知していないと判定された場合、電子メール１０１に含まれているスケジュール情報は新規のスケジュール情報であると見なされる。
【００４６】
したがって、登録部３０４は、特定のスケジュール情報の変更を通知していないと判定された電子メール１０１に含まれているスケジュール情報を、新規のスケジュール情報としてヘッダ情報と関連付けてデータベース１１０に登録する。登録部３０４による登録履歴は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００４７】
特定部３０５は、スケジュール情報を共有する複数の利用者を特定する機能を有する。具体的には、例えば、特定部３０５は、電子メール１０１のヘッダ情報に含まれているアドレス情報に基づいて、電子メール１０１に含まれているスケジュール情報を共有する複数の利用者を特定することができる。
【００４８】
ここで、アドレス情報とは、例えば、電子メール１０１のヘッダフィールド１０２に含まれているＴＯ，ＣＣ，ＢＣＣに設定されているアドレスである。例えば、電子メール１０１のＴＯ欄に利用者Ａさん、Ｂさん宛のアドレスが記載されている場合には、電子メール１０１に含まれているスケジュール情報をＡさんとＢさんが共有するスケジュール情報として特定する。
【００４９】
他にも、ＴＯ欄に利用者Ｃさん宛のアドレスが記載されており、ＣＣ欄にＡさん、Ｂさん宛のアドレスが記載されている場合には、Ｃさんのみならず、ＡさんとＢさんも電子メール１０１に含まれているスケジュール情報を共有する利用者と特定してもよい。どのような条件で共有の利用者と特定するかは利用者が適宜設定することができる。特定部３０５による特定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００５０】
また、特定部３０５によって、スケジュール情報を共有する複数の利用者が特定された場合、登録部３０４は、電子メール１０１に含まれているスケジュール情報を、特定された複数の利用者と関連付けてデータベース１１０に登録する。したがって、データベース１１０に登録されたスケジュール情報は、共有する利用者として特定された複数の利用者のみが利用可能な情報となる。
【００５１】
検出部３０６は、データベース１１０の中から、電子メール１０１のヘッダ情報に対応するヘッダ情報と関連付けて記憶されている特定のスケジュール情報を検出する機能を有する。すなわち、検出部３０６は、電子メール１０１のヘッダ情報を参照して、データベース１１０に記憶されているスケジュール情報の中から電子メール１０１と関連する可能性の高い電子メールによって通知されたスケジュール情報を検出する。
【００５２】
具体例を挙げると、検出部３０６は、電子メール１０１のヘッダ情報に他の電子メールから派生して作成されたものであることを識別する識別情報が含まれている場合、該識別情報を含むヘッダ情報と関連付けて記憶されているスケジュール情報を検出する。なお、識別情報は、例えば、メッセージＩＤ（いわゆる、Ｍｅｓｓａｇｅ−ＩＤ）である。検出部３０６による検出結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００５３】
判定部３０２は、検出部３０６によって検出された特定のスケジュール情報と、電子メール１０１に含まれているスケジュール情報とを比較することにより、電子メール１０１が、特定のスケジュール情報の変更を通知しているか否かを判定することにしてもよい。
【００５４】
検出部３０６を利用しない場合、判定部３０２では、受信部３０１によって受信された電子メール１０１に含まれているスケジュール情報と、データベース１１０に登録されているすべてのスケジュール情報を対象とを比較して判定処理を行う。一方、検出部３０６を利用する場合、判定部３０２は、受信部３０１によって受信された電子メール１０１に含まれているスケジュール情報と、検出部３０６によって特定されたスケジュール情報を対象として判定処理を行う。
【００５５】
したがって、検出部３０６を利用せずに判定部３０２による判定処理を行った場合と比較して、判定部３０２による判定処理の対象となる特定のスケジュール情報が絞り込まれるため、判定処理にかかる負荷を低減させることができる。
【００５６】
判断部３０７は、電子メール１０１に特定の文字列が含まれているか否かを判断する機能を有する。具体的には、例えば、判断部３０７は、電子メール１０１に日程に関する文字列が含まれているか否かを判断する。ここで、判断部３０７によって日程に関する文字列が含まれていると判断された電子メール１０１とは、スケジュール情報を含んでいる可能性が高い電子メールを意味する。
【００５７】
受信部３０１では通知内容にかかわらず、特定の利用者宛の電子メール１０１を受信する。したがって、スケジュール情報が含まれていない電子メール１０１も多数存在する。そこで、判断部３０７を用意して、まず、受信部３０１が受信したすべての電子メール１０１について、スケジュール情報を含んでいる可能性があるか否かの判断を行う。
【００５８】
そして、判断部３０７によってスケジュール情報を含んでいる可能性が高いと判断された電子メール１０１を判定部３０２による判定処理の対象とする。これにより、スケジュール情報を含んでいない電子メール１０１が判定処理の対象から除外されるため、判定処理にかかる負荷を低減させることができる。なお、判断部３０７による判断結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００５９】
抽出部３０８は、電子メール１０１から所定の文字列を抽出する機能を有する。具体的には、例えば、抽出部３０８は、電子メール１０１から出欠席に関する文字列を抽出する。電子メール１０１の中には、スケジュール情報の通知に応答して、出欠席情報を記入した返信メールがある。したがって、抽出部３０８を用意することによって、スケジュール情報に応じた出欠席情報を抽出することができる。抽出部３０８による抽出結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００６０】
なお、抽出部３０８によって、電子メール１０１から出欠席に関する文字列が抽出された場合、登録部３０４は、抽出された出欠席に関する文字列を、電子メール１０１の送信者の出欠席情報として、スケジュール情報と関連付けてデータベース１１０に登録する。これにより、利用者は、スケジュール情報と共に、スケジュール情報が表すイベントについて、誰が出席するか欠席するかといった出欠席情報を合わせて把握することができる。
【００６１】
設定部３０９は、スケジュール情報に重要度や、表示タイプといった各種付加情報を設定する機能を有する。ここで、重要度とは、スケジュール情報が表すイベントの種別に応じて設定される情報である。すなわち、利用者が重要と判断している種別のイベントに重要度「高」、それ以外の種別のイベントに重要度「低」を設定することができる。例えば、種別が「会議」、「出張」などであれば、一意的に重要度「高」と設定される。
【００６２】
また、表示タイプとは、データベース１１０に登録されたスケジュール情報を利用者の要求に応じて表示させる場合の表示の手法に応じて設定される情報である。表示の手法として、例えば、カレンダー画面に常に表示させる手法や、利用者が表示指示をした場合にのみ表示する手法などがある。また、常に表示させる手法の場合には、さらに、強調表示や通常表示などがある。したがって、表示タイプ＝１の場合には、常に強調表示（例えば、赤字で表示させる、マーカを施した文字で表示させるなど）を行い、表示タイプ＝２の場合には、常に通常表示を行うなどの設定ができる。
【００６３】
設定部３０９によって設定された付加情報は、登録部３０４によって、スケジュール情報と関連付けてデータベース１１０に登録される。上述した付加情報は、スケジュール情報の種類や、ヘッダ情報に応じて予め規定されている。なお、設定部３０９によって設定された付加情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に一時的に記憶される。
【００６４】
（スケジュール登録・変更手順）
図４は、スケジュール管理装置によるスケジュール登録・変更処理の手順を示すフローチャートである。図４のフローチャートは、スケジュール管理装置１００が新たな電子メール１０１を受信した場合に、電子メール１０１の通知内容に応じて、データベース１１０に対してスケジュール情報の登録もしくは変更を行う際の手順を表している。図４の各処理を実行することによって、スケジュール情報管理装置１００は、電子メール１０１の受信者が処理することなく、データベース１１０に最新のスケジュール情報を反映することができる。
【００６５】
図４において、スケジュール管理装置１００は、まず、受信部３０１によって、電子メール１０１を受信したか否かを判断する（ステップＳ４０１）。スケジュール管理装置１００は、ステップＳ４０１において、電子メール１０１を受信するまで待機状態となり（ステップＳ４０１：Ｎｏのループ）、電子メール１０１を受信すると（ステップＳ４０１：Ｙｅｓ）、判断部３０７によって、受信した電子メール１０１に日程に関する文字列が含まれているか否かを判断する（ステップＳ４０２）。
【００６６】
ステップＳ４０２において、電子メール１０１に日程に関する文字列が含まれていると判断された場合（ステップＳ４０２：Ｙｅｓ）、スケジュール管理装置１００は、受信した電子メール１０１をスケジュール情報の通知に関連する電子メールであると判断し、通知内容をスケジュール情報に反映するための処理に移行する。
【００６７】
一方、ステップＳ４０２において、電子メール１０１に日程に関する文字列が含まれていないと判断された場合（ステップＳ４０２：Ｎｏ）、スケジュール管理装置１００は、電子メール１０１を、スケジュール情報を通知する電子メールではないと判断するため、そのまま一連の処理を終了する。
【００６８】
次に、スケジュール管理装置１００は、データベース１１０に記憶されているスケジュール情報の中からステップＳ４０１において受信した電子メール１０１のヘッダ情報と対応するヘッダ情報と関連付いた特定のスケジュール情報を検出する（ステップＳ４０３）。そして、スケジュール管理装置１００は、ステップＳ４０３において、特定のスケジュール情報が検出されたか否かを判断する（ステップＳ４０４）。
【００６９】
ステップＳ４０４は、ステップＳ４０１において受信した電子メール１０１が、特定のスケジュール情報の変更を通知する可能性のある電子メールか否かを判断する処理である。ステップＳ４０４において、特定のスケジュール情報が検出されれば、電子メール１０１について、さらに、特定のスケジュール情報の変更通知か否かを判定するための処理を行う。一方、特定のスケジュール情報が検出されなければ、電子メール１０１が特定のスケジュール情報の変更を通知している可能性はないため、電子メール１０１に含まれているスケジュール情報を新規のスケジュール情報として扱う。
【００７０】
したがって、ステップＳ４０４において、特定のスケジュール情報が検出されなかった場合（ステップＳ４０４：Ｎｏ）、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報を新規スケジュールとして登録する（ステップＳ４０５）。具体的には、スケジュール管理装置１００は、登録部３０４によって、電子メール１０１から抽出されたスケジュール情報を電子メール１０１のヘッダ情報と共にデータベース１１０に登録する。
【００７１】
一方、ステップＳ４０４において、特定のスケジュール情報が検出された場合（ステップＳ４０４：Ｙｅｓ）、スケジュール管理装置１００は、電子メール１０１に変更に関する文字列が含まれているか否かを判断する（ステップＳ４０６）。すなわち、ステップＳ４０６によって、スケジュール管理装置１００は、電子メール１０１から抽出されたスケジュール情報が特定のスケジュール情報の変更を通知するか否かを判定する処理に移行する。
【００７２】
ステップＳ４０６において、電子メール１０１に変更に関する文字列が含まれていると判定された場合（ステップＳ４０６：Ｙｅｓ）、スケジュール管理装置１００は、特定のスケジュール情報を変更する（ステップＳ４０７）。具体的には、スケジュール管理装置１００は、変更部３０３によって、電子メール１０１から抽出されたスケジュール情報によってデータベース１１０に記憶されている特定のスケジュール情報を変更する。
【００７３】
一方、ステップＳ４０６において、電子メール１０１に変更に関する文字列が含まれていないと判定された場合（ステップＳ４０６：Ｎｏ）、スケジュール管理装置１００は、特定のスケジュール情報と関連する新規のスケジュール情報を登録する（ステップＳ４０８）。具体的には、スケジュール管理装置１００は、登録部３０４によって、電子メール１０１から抽出されたスケジュール情報を特定のスケジュール情報に関連したスケジュール情報としてデータベース１１０に登録する。特定のスケジュール情報と関連したスケジュール情報とは、特定のスケジュール情報の変更を通知してはいないが、特定のスケジュール情報に付随したイベントを通知するスケジュール情報である。
【００７４】
ステップＳ４０５，Ｓ４０７，Ｓ４０８のいずれかの処理によってスケジュール情報の変更や登録が行われると、スケジュール管理装置１００は、抽出部３０８によって、電子メール１０１から出欠席に関する文字列を抽出する（ステップＳ４０９）。そして、ステップＳ４０９の処理が完了すると、スケジュール管理装置１００は、特定部３０５によって、スケジュール情報を共有する複数の利用者を特定する（ステップＳ４１０）。
【００７５】
その後、スケジュール管理装置１００は、ステップＳ４０９による抽出結果およびステップＳ４１０による特定結果をスケジュール情報と関連付けてデータベース１１０に登録して（ステップＳ４１１）、一連の処理を終了する。すなわち、ステップＳ４１１では、ステップＳ４０９およびＳ４１０の実行結果に応じて処理内容が異なる。
【００７６】
例えば、電子メール１０１に出欠席に関する文字列が含まれていない場合には、ステップＳ４０９では、なにも抽出されない。また、スケジュール情報によっては複数の利用者で共有するような設定にはなっていない場合もある。上述のようなスケジュール情報の場合、ステップＳ４１０では、共有する複数の利用者を設定しない。したがって、ステップＳ４１１では、ステップＳ４０９およびＳ４１０の実行結果に応じた処理が行われる。
【００７７】
以上説明したように、本実施の形態にかかるスケジュール管理装置１００は、新たな電子メール１０１を受信すると、電子メール１０１に含まれているスケジュール情報について、まず、ヘッダ情報を参照して関連するスケジュール情報を絞り込む。そして、新たに受信した電子メール１０１に含まれているスケジュール情報と、ヘッダ情報から絞り込まれた特定のスケジュール情報とを比較することによって、今回受信した新たな電子メール１０１が登録済みの特定のスケジュール情報の変更を通知しているか否かを判定することができる。
【００７８】
さらに、スケジュール管理装置１００は、変更の通知であると判定した場合には、新たな電子メール１０１に含まれているスケジュール情報によって登録済みの特定のスケジュール情報を変更する。したがって、電子メール１０１によって通知されたスケジュールの変更通知を登録済みのスケジュール情報に反映させることができる。
【００７９】
また、スケジュール管理装置１００によれば、電子メール１０１によって通知されたスケジュール情報について、新規であっても、変更通知であっても、データベース１１０に登録される。このため、電子メール１０１に複数のスケジュール情報が含まれている場合であっても、スケジュール情報の登録漏れを防ぐことができる。
【００８０】
（実施例）
次に、上述したスケジュール管理装置１００を一般的な電子メールの送受信が行われるインターネット環境に適用させた実施例について説明する。以下説明する実施例では、所定の会社に属する社員がそれぞれ利用者として想定される。また、各利用者が受信する電子メールは、スケジュール情報を通知するものあれば、その他の情報を通知するものもある。さらに、スケジュール情報として通知されるもの中には、複数の利用者に共通したスケジュール情報である場合もある。
【００８１】
＜システム構成＞
図５は、本実施例におけるシステム構成を示す説明図である。図５に例示したように、本実施例におけるシステム構成は、サーバ側とクライアント側とに大別されている。また、サーバ側とクライアント側とはインターネット回線５４０によって接続されている。
【００８２】
サーバ側は、メールフィルタリングサーバ５００と、Ｗｅｂサー５１０と、スケジュールＤＢ（データベース）サーバ５２０とが含まれている。メールフィルタリングサーバ５００は、図１〜４にて説明したスケジュール管理装置１００として機能する。具体的には、メールフィルタリングサーバ５００では、電子メール１０１からのスケジュール情報の抽出や、ヘッダ情報を利用したユーザ情報の抽出や、スケジュールＤＢサーバ５２０へのスケジュール情報の登録や変更を行う。したがって、メールフィルタリングサーバ５００は、図３に例示した各機能部（受信部３０１〜設定部３０９）相当の機能部を有している。
【００８３】
Ｗｅｂサーバ５１０は、利用者端末５３０とスケジュールＤＢサーバ５２０との窓口として機能する。したがって、Ｗｅｂサーバ５１０では、利用者端末５３０からの要求に応じてスケジュールＤＢサーバ５２０に記憶されているスケジュール情報を利用者端末５３０に提供する。
【００８４】
スケジュールＤＢサーバ５２０には、スケジュール情報に関する各種テーブルが格納されている。具体的には、例えば、下記の７種類のテーブルが格納されており、スケジュール情報の管理や、電子メール１０１からのスケジュール情報の抽出などに利用される。
【００８５】
・ユーザ情報テーブル（下記図６参照）
・スケジュールテーブル（下記図７参照）
・スケジュール−Ｍｅｓｓａｇｅ−ＩＤ対応付けテーブル（下記図９参照）
・変更キーワードテーブル（下記図１３参照）
・スケジュールキーワードテーブル（下記図１４参照）
・表示タイプ権限テーブル（下記図１６参照）
・出欠席キーワードテーブル（下記図１８参照）
【００８６】
まず、上述した各テーブルのうち、ユーザ情報テーブルおよびスケジュールテーブルについて説明する。ユーザ情報テーブルおよびスケジュールテーブル以外の各テーブルについては、テーブルを利用した処理と合わせて説明する。ユーザ情報テーブルには利用者を特定するための情報が記憶されている。また、スケジュールテーブルには実質的なスケジュール情報が記憶されている。
【００８７】
図６は、ユーザ情報テーブルの記憶内容の一例を示す説明図である。図６において、スケジュールＤＢサーバ５２０に記憶されているユーザ情報テーブル６００は、ユーザＩＤ、ログインＩＤ、パスワード、名前およびメールアドレスのフィールドを有する。各フィールドに情報を設定することで、ユーザＩＤごとに、スケジュール管理処理の利用者を特定する情報がレコードとして記憶されている。
【００８８】
ここで、ユーザＩＤは、利用者を特定する識別情報である。ログインＩＤおよびパスワードは、各利用者が利用者端末５３０からＷｅｂサーバ５１０を介してスケジュールＤＢサーバ５２０に記憶されているスケジュール情報を取得する際に利用される認証用の情報である。名前およびメールアドレスは、利用者の固有情報である。
【００８９】
図７は、スケジュールテーブルの記憶内容の一例を示す説明図である。図７において、スケジュールＤＢサーバ５２０に記憶されているスケジュールテーブル７００は、スケジュールＩＤ、スケジュール名、開始日時、終了日時、場所、親スケジュールおよび備考のフィールドを有する。各フィールドに情報を設定することで、スケジュールＩＤごとに具体的なスケジュール情報の内容がレコードとして記憶されている。
【００９０】
ここで、スケジュールＩＤは、スケジュールを特定する識別情報である。スケジュール名は、スケジュール情報が表すイベント名である。開始日時および終了日時は、スケジュールの開始および終了の日時である。場所は、スケジュール情報が表すイベントの会場である。親スケジュールは、対象となるスケジュール情報と関連する上位のスケジュール情報を表すスケジュールＩＤである。備考は、スケジュール情報の備考情報である。
【００９１】
＜スケジュール登録・変更処理の手順＞
図８は、メールフィルタリングサーバによるスケジュール登録・変更処理の手順を示すフローチャートである。図８のフローチャートは、メールフィルタリングサーバ５００が新たな電子メール１０１を受信した場合の電子メール１０１の通知内容に応じたスケジュール情報の登録・変更の手順を表している。図８の各処理は、メールフィルタリングサーバ５００に備えられた受信部３０１〜設定部３０９相当の機能部によって実行される。
【００９２】
図８において、メールフィルタリングサーバ５００は、まず、電子メール１０１を読み込み（ステップＳ８０１）、読み込んだ電子メール１０１のＭｅｓｓａｇｅ−ＩＤを取得する（ステップＳ８０２）。そして、メールフィルタリングサーバ５００は、ステップＳ８０２において取得したＭｅｓｓａｇｅ−ＩＤがスケジュールＤＢサーバ５２０に登録済みか否かを判断する（ステップＳ８０３）。ここで、図９を用いて、Ｍｅｓｓａｇｅ−ＩＤが登録されているスケジュール−Ｍｅｓｓａｇｅ−ＩＤ対応付けテーブルについて説明する。
【００９３】
図９は、スケジュール−ＭｅｓｓａｇｅＩＤ対応付けテーブルの記憶内容の一例を示す説明図である。図９において、スケジュール−ＭｅｓｓａｇｅＩＤ対応付けテーブル９００は、スケジュールＩＤと、Ｍｅｓｓａｇｅ−ＩＤとのフィールドを有する。各フィールドに情報を設定することで、スケジュールＩＤとＭｅｓｓａｇｅ−ＩＤとが関連付けられたレコードとして記憶されている。
【００９４】
ここで、スケジュールＩＤは、スケジュールを特定する識別情報であり、スケジュールテーブル７００（図７参照）に登録されているスケジュールＩＤと対応している。また、Ｍｅｓｓａｇｅ−ＩＤは、スケジュールＩＤが示すスケジュール情報を通知した電子メール１０１に付与されているＭｅｓｓａｇｅ−ＩＤである。
【００９５】
図８のステップＳ８０３の処理では、ステップＳ８０２によって取得されたＭｅｓｓａｇｅ−ＩＤが、スケジュール−ＭｅｓｓａｇｅＩＤ対応付けテーブル９００に記憶されているいずれかのレコードと一致するかを判断する。ステップＳ８０３において、一致すると判断された場合は、ステップＳ８０２において取得したＭｅｓｓａｇｅ−ＩＤが登録済みであることを意味する。反対に、一致しないと判断されたん場合は、ステップＳ８０２において取得したＭｅｓｓａｇｅ−ＩＤが登録済みでないことを意味する。
【００９６】
図８の説明に戻り、ステップＳ８０３において、Ｍｅｓｓａｇｅ−ＩＤが登録済みではないと判断された場合（ステップＳ８０３：Ｎｏ）、メールフィルタリングサーバ５００は、新規スケジュール登録処理を行う（ステップＳ８０４）。ステップＳ８０４の新規スケジュール登録処理ではステップＳ８０１によって読み込まれた電子メール１０１に含まれているスケジュール情報を登録する。ステップＳ８０４の新規スケジュール登録処理についての詳細な説明は後述する。
【００９７】
その後、メールフィルタリングサーバ５００は、新規スケジュールについて、表示タイプ登録処理を行って（ステップＳ８０５）、一連の処理を終了する。ステップＳ８０５の表示タイプ登録処理についての詳細な説明は後述する。
【００９８】
一方、ステップＳ８０３において、Ｍｅｓｓａｇｅ−ＩＤが登録済みであると判断された場合（ステップＳ８０３：Ｙｅｓ）、メールフィルタリングサーバ５００は、電子メール１０１の本文に新しい日付が含まれているか否かを判断する（ステップＳ８０６）。ステップＳ８０６において、電子メール１０１の本文に新しい日付が含まれている場合、電子メール１０１が変更を通知する電子メールであることを意味する。
【００９９】
ステップＳ８０６において、判断の基準となっている新しい日付とは、ステップＳ８０２によって取得されたＭｅｓｓａｇｅ−ＩＤと共に対応付けてスケジュールテーブル７００に登録されているスケジュール情報の日付と異なる日付を意味する。
【０１００】
そして、ステップＳ８０６において、本文に新しい日付が含まれていると判断された場合（ステップＳ８０６：Ｙｅｓ）、メールフィルタリングサーバ５００は、新しい日付が表すスケジュール情報を特定するため、スケジュール抽出処理を行う（ステップＳ８０７）。
【０１０１】
その後、メールフィルタリングサーバ５００は、スケジュール抽出処理の結果、スケジュール変更フラグ＝１に設定されているか否かを判断する（ステップＳ８０８）。スケジュール変更フラグは抽出されたスケジュール情報が変更を通知しているか否かを表すフラグである。スケジュール変更フラグ＝１が設定されていれば、スケジュール情報は、変更を通知していることを意味する。また、スケジュール変更フラグ＝０が設定されていれば、スケジュール情報は、変更を通知していないことを意味する。
【０１０２】
ステップＳ８０８において、スケジュール変更フラグ＝１に設定されていると判断された場合（ステップＳ８０８：Ｙｅｓ）、メールフィルタリングサーバ５００は、スケジュール情報を更新する（ステップＳ８０９）。具体的には、メールフィルタリングサーバ５００は、ステップＳ８０７において抽出されたスケジュール情報によってスケジュールテーブル７００を更新することによって特定のスケジュール情報を変更している。
【０１０３】
ステップＳ８０８において、スケジュール変更フラグ＝１に設定されていないと判断された場合（ステップＳ８０８：Ｎｏ）、メールフィルタリングサーバ５００は、親スケジュールＩＤを特定する（ステップＳ８１０）。そして、メールフィルタリングサーバ５００は、抽出されたスケジュールと、親スケジュールＩＤとをスケジュールテーブル７００に登録する（ステップＳ８１１）。
【０１０４】
ステップＳ８０６において、本文に新しい日付が含まれていないと判断された場合（ステップＳ８０６：Ｎｏ）、もしくはステップＳ８０９，Ｓ８１１のいずれかの処理が完了した場合、メールフィルタリングサーバ５００は、出欠席情報検出処理を行って（ステップＳ８１２）、一連の処理を終了する。
【０１０５】
以下には、ステップＳ８０４，Ｓ８０５，Ｓ８０７およびＳ８１２の詳細な処理内容について説明する。
【０１０６】
＜新規スケジュール登録処理の手順＞
図１０は、新規スケジュール登録処理の手順を示すフローチャートである。図１０のフローチャートは、図８のステップＳ８０４によって行われる新規スケジュール登録処理の詳細な手順を表している。図１０の各処理が登録部３０４相当の機能部に実行されることによって、電子メール１０１によって通知された新規スケジュールを自動的にスケジュールＤＢサーバ５２０に登録することができる。
【０１０７】
図１０において、メールフィルタリングサーバ５００は、まず、電子メール１０１を読み込む（ステップＳ１００１）。そして、メールフィルタリングサーバ５００は、読み込んだ電子メール１０１に対して親スケジュールＩＤ＝０を設定する（ステップＳ１００２）。
【０１０８】
続いて、メールフィルタリングサーバ５００は、読み込んだ電子メール１０１の本文に日付に関する文字列が含まれているか否かを判断する（ステップＳ１００３）。ステップＳ１００３において、日付に関する文字列が含まれていると判断された場合（ステップＳ１００３：Ｙｅｓ）、メールフィルタリングサーバ５００は、電子メール１０１に対してスケジュール抽出処理を行う（ステップＳ１００４）。
【０１０９】
上述のステップＳ１００４によって行われるスケジュール抽出処理の詳細（ステップＳ８０７と同様の処理）は後述する。また、ステップＳ１００３において、電子メール１０１の本文に日付に関する文字列が含まれていないと判断された場合（ステップＳ１００３：Ｎｏ）、メールフィルタリングサーバ５００は、今回読み込んだ電子メール１０１はスケジュール情報を通知していないため、一連の処理を終了する。
【０１１０】
ステップＳ１００４において、電子メール１０１からスケジュール情報が抽出されると、メールフィルタリングサーバ５００は、抽出されたスケジュール情報をスケジュールＤＢサーバ５２０のスケジュールテーブル７００に登録する（ステップＳ１００５）。ステップＳ１００４の詳細については後述する。
【０１１１】
その後、メールフィルタリングサーバ５００は、親スケジュールＩＤ＝０に設定されているか否かを判断する（ステップＳ１００６）。ステップＳ１００６において、親スケジュールＩＤ＝０に設定されていると判断された場合（ステップＳ１００６：Ｙｅｓ）、メールフィルタリングサーバ５００は、親スケジュールＩＤを設定する（ステップＳ１００７）。
【０１１２】
一方、ステップＳ１００６において、親スケジュールＩＤ＝０に設定されていないと判断された場合（ステップＳ１００６：Ｎｏ）、メールフィルタリングサーバ５００は、ステップＳ１００７の処理を行わずにステップＳ１００８の処理に移行する。ステップＳ１００２において、親スケジュールＩＤ＝０に設定したため、はじめてステップＳ１００６の判断を行う場合には、すべてＹｅｓと判断される。
【０１１３】
そして、後述するステップＳ１００８において、Ｎｏ判断が発生した場合に、同じ電子メール１０１に含まれている他の日付のスケジュールを抽出する処理に移行するため親スケジュールＩＤ＝０以外になることがある。すなわち、ステップＳ１００６では上述の場合、親スケジュールＩＤ＝０に設定されていないと判断される。
【０１１４】
ステップＳ１００７の処理が完了すると、メールフィルタリングサーバ５００は、電子メール１０１の本文に他の日付が存在するか否かを判断する（ステップＳ１００８）。ステップＳ１００８によって、電子メール１０１の本文に他の日付が存在すると判断された場合（ステップＳ１００８：Ｙｅｓ）、メールフィルタリングサーバ５００は、ステップＳ１００４の処理に戻り、他の日付についてのスケジュール抽出に移行する。
【０１１５】
その後、ステップＳ１００８によって、電子メール１０１の本文に他の日付が存在しないと判断された場合（ステップＳ１００８：Ｎｏ）、メールフィルタリングサーバ５００は、そのまま一連の処理を終了する。
【０１１６】
＜スケジュール抽出処理の手順＞
図１１は、スケジュール抽出処理の手順を示すフローチャートである。図１１は、図８のステップＳ８０７によって行われるスケジュール抽出処理の詳細な手順を表している。図１１の各処理が判定部３０２、特定部３０５、検出部３０６および抽出部３０８相当の機能部に実行されることによって、電子メール１０１に含まれているスケジュール情報を抽出すると共に、変更通知であるか否かを表すフラグを設定することができる。
【０１１７】
図１１において、メールフィルタリングサーバ５００は、まず、電子メール１０１を読み込み（ステップＳ１１０１）、読み込んだ電子メール１０１の本文中の日付前後の文字列を解析する（ステップＳ１１０２）。そして、メールフィルタリングサーバ５００は、ステップＳ１１０２における解析の結果、文字列にスケジュール変更に関するキーワードテーブルが含まれているか否かを判断する（ステップＳ１１０３）。ここで、図１２を用いてステップＳ１１０２における解析処理について説明する。
【０１１８】
図１２は、日付前後の本文解析結果の一例を示す説明図である。ここで、図１２を用いて、電子メール１０１の本文解析結果について具体例を挙げて説明する。そして、電子メール１０１にて図１２に例示したメール本文１２００が含まれているとする。
【０１１９】
メールフィルタリングサーバ５００によって、図１２に例示したメール本文１２００に対して日付前後の文字列を解析すると、文字列１２１０，１２２０が抽出される。さらに、メールフィルタリングサーバ５００は、抽出された各文字列１２１０，１２２０を解析すると解析結果１２１１，１２２１を得ることができる。
【０１２０】
したがって、メールフィルタリングサーバ５００は、図１１のステップＳ１１０３では、解析結果１２１１，１２２１を参照して判断を行う。また、メール本文１２００から下記の図１３にて説明するような変更キーワードが含まれている場合に、メールフィルタリングサーバ５００は、電子メールが変更通知であると判定する。
【０１２１】
図１３は、変更キーワードテーブルの記憶内容の一例を示す説明図である。図１３において、スケジュールＤＢサーバ５２０に記憶されている変更キーワードテーブル１３００は、キーワードＩＤおよびキーワードのフィールドを有する。各フィールドに情報を設定することで、キーワードＩＤごとのキーワードがレコードとして記憶されている。ここで、キーワードＩＤは、キーワードを特定する識別情報である。キーワードは、変更を意味する文字列である。
【０１２２】
図１１の説明に戻り、メールフィルタリングサーバ５００は、ステップＳ１１０３において、スケジュール変更に関するキーワードが含まれていると判断された場合（ステップＳ１１０３：Ｙｅｓ）、スケジュール変更フラグ＝１を設定する（ステップＳ１１０４）。すなわち、ステップＳ１１０４において、メールフィルタリングサーバ５００は、電子メール１０１から抽出されたスケジュール情報に対して変更通知であるというフラグを設定している。
【０１２３】
一方、ステップＳ１１０３において、スケジュール変更に関するキーワードが含まれていないと判断された場合（ステップＳ１１０３：Ｎｏ）、メールフィルタリングサーバ５００は、スケジュール変更フラグ＝０を設定する（ステップＳ１１０５）。すなわち、ステップＳ１１０５において、メールフィルタリングサーバ５００は、電子メール１０１から抽出されたスケジュール情報に対して変更通知でないというフラグを設定している。
【０１２４】
スケジュール変更フラグの設定が完了すると、メールフィルタリングサーバ５００は、読み込んだ電子メールの文字列にキーワードテーブルの単語があるか否かを判断する（ステップＳ１１０６）。ステップＳ１１０６において判断の基準となっているキーワードテーブルとは、例えば、後述するスケジュールキーワードテーブル１４００（図１４参照）を意味する。したがって、ステップＳ１１０６では、電子メール１０１の文字列にスケジュールキーワードテーブル１４００に記憶されている単語があるか否かを判断している。
【０１２５】
図１４は、スケジュールキーワードテーブルの記憶内容の一例を示す説明図である。図１４において、スケジュールＤＢサーバ５２０に記憶されているスケジュールキーワードテーブル１４００は、キーワードＩＤおよびキーワードのフィールドを有する。各フィールドに情報を設定することで、キーワードＩＤごとに１種類のスケジュールを表すキーワードが関連付いたレコードとして記憶されている。ここで、キーワードＩＤは、キーワードを特定する識別情報である。また、キーワードは、スケジュールが表すイベントを意味する文字列である。
【０１２６】
スケジュールキーワードテーブル１４００のキーワードは、利用者やメールフィルタリングサーバ５００の管理者によって適宜追加もしくは削除することができる。したがって、利用者のスケジュール情報として通知されるイベントの傾向に応じたキーワードを設定することができる。
【０１２７】
図１１の説明に戻り、ステップＳ１１０６において、文字列の中にスケジュールキーワードテーブル１４００の単語があると判断された場合（ステップＳ１１０６：Ｙｅｓ）、メールフィルタリングサーバ５００は、スケジュール変更用の情報の抽出を行う。すなわち、メールフィルタリングサーバ５００は、日付、時間とステップＳ１１０６によってスケジュールキーワードテーブル１４００に含まれていたと判断されたキーワードと共にスケジュール変更フラグの値を返却して（ステップＳ１１０７）、一連の処理を終了する。
【０１２８】
一方、ステップＳ１１０６において、文字列の中にスケジュールキーワードテーブル１４００の単語がないと判断された場合（ステップＳ１１０６：Ｎｏ）、メールフィルタリングサーバ５００は、スケジュール変更用の情報の抽出を行う。すなわち、メールフィルタリングサーバ５００は、日付、時間と件名のスケジュール変更フラグの値を返却して（ステップＳ１１０８）、一連の処理を終了する。
【０１２９】
＜表示タイプ登録処理の手順＞
図１５は、表示タイプ登録処理の手順を示すフローチャートである。図１５は、図８のステップＳ８０５によって行われる表示タイプ登録処理の詳細な手順を表している。図１５の各処理が登録部３０４および設定部３０９相当の機能部に実行されることにより電子メール１０１から抽出されたスケジュール情報を、スケジュールＤＢサーバ５２０のスケジュール情報に表示タイプに関する情報を関連付けて登録することができる。
【０１３０】
上述の表示タイプとは、スケジュール情報を利用者端末５３０などによって、利用者に可視的に提供する際の、表示手法の分類である。本実施例では表示タイプとして、例えば、１〜３が設定されている。表示タイプ１，２は、スケジュール情報を表示する、表示タイプ３は表示させない場合に設定する。さらに、表示タイプ１は、重要度が高いスケジュール情報を表示させる場合に設定する。そして、表示タイプ２は重要度が低いスケジュール情報を表示させる場合に設定する。しかしながら、上述の設定は一例であり、表示タイプの設定と表示手法との対応関係は利用者端末５３０の操作によって自由に変更することができる。
【０１３１】
図１５において、メールフィルタリングサーバ５００は、まず、電子メール１０１を読み込み（ステップＳ１５０１）、読み込んだ電子メール１０１のヘッダフィールの設定されている各宛先に利用者が存在するか否かを判断する（ステップＳ１５０２）。
【０１３２】
ステップＳ１５０２における各宛先とは、例えば、ヘッダフィールドに設定されているＴＯ，ＣＣおよびＢＣＣを意味する。また、利用者とは、図６に例示したユーザ情報テーブル６００に登録されたユーザ、すなわち、メールフィルタリングサーバ５００によってスケジュール情報の登録・変更処理の実行対象として設定しているユーザを意味する。
【０１３３】
ステップＳ１５０２において、各宛先に利用者が存在すると判断された場合（ステップＳ１５０２：Ｙｅｓ）、メールフィルタリングサーバ５００は、利用者が存在する宛先はどの種別かを判断する（ステップＳ１５０３）。宛先の種別とは、例えば、ＴＯによって設定される通常の宛先と、ＣＣによって設定されるカーボンコピーの宛先と、ＢＣＣによって設定されるブラインドカーボンコピーの宛先との３種類が挙げられる。
【０１３４】
したがって、ステップＳ１５０３において、宛先の種別がＴＯであると判断された場合（ステップＳ１５０３：ＴＯ）、メールフィルタリングサーバ５００は、スケジュール情報を表示タイプ＝１と設定する（ステップＳ１５０４）。また、ステップＳ１５０３において、宛先の種別がＣＣであると判断された場合（ステップＳ１５０３：ＣＣ）、メールフィルタリングサーバ５００は、スケジュール情報を表示タイプ＝２と設定する（ステップＳ１５０５）。
【０１３５】
同様に、ステップＳ１５０３において、宛先の種別がＢＣＣであると判断された場合（ステップＳ１５０３：ＢＣＣ）、メールフィルタリングサーバ５００は、スケジュール情報を表示タイプ＝３と設定する（ステップＳ１５０６）。
【０１３６】
ステップＳ１５０４〜Ｓ１５０６の処理によって表示タイプの設定が完了すると、メールフィルタリングサーバ５００は、スケジュールＤＢサーバ５２０にスケジュール情報と共に表示タイプの設定を登録して（ステップＳ１５１１）、一連の処理を終了する。
【０１３７】
一方、ステップＳ１５０２において、各宛先に利用者が存在しないと判断された場合（ステップＳ１５０２：Ｎｏ）、メールフィルタリングサーバ５００は、さらに、利用者が該当メールを受信しているか否かを判断する（ステップＳ１５０７）。ステップＳ１５０７において、利用者が該当メールを受信していると判断されると（ステップＳ１５０７：Ｙｅｓ）、メールフィルタリングサーバ５００は、利用者の名前が電子メール１０１の本文に存在するか否かを判断する（ステップＳ１５０８）。
【０１３８】
ステップＳ１５０８において、利用者の名前が電子メール１０１の本文に含まれていると判断された場合（ステップＳ１５０８：Ｙｅｓ）、メールフィルタリングサーバ５００は、スケジュール情報を表示タイプ＝１と設定する（ステップＳ１５０９）。また、ステップＳ１５０８において、利用者の名前が電子メール１０１の本文に含まれていないと判断された場合（ステップＳ１５０８：Ｎｏ）、メールフィルタリングサーバ５００は、スケジュール情報を表示タイプ＝２と設定する（ステップＳ１５１０）。
【０１３９】
ステップＳ１５０９もしくはＳ１５１０の処理によって表示タイプの設定が完了すると、メールフィルタリングサーバ５００は、スケジュールＤＢサーバ５２０にスケジュール情報と共に表示タイプの設定を登録して（ステップＳ１５１１）、一連の処理を終了する。
【０１４０】
また、ステップＳ１５０７において、利用者が該当メールを受信していないと判断されると（ステップＳ１５０７：Ｎｏ）、メールフィルタリングサーバ５００は、読み込んだ電子メール１０１に利用者に関するスケジュール情報が含まれていないと判断して、そのまま一連の処理を終了する。上述のステップＳ１５１１では、図１６にて説明するスケジュール表示権限テーブル１６００に表示タイプの設定が登録される。
【０１４１】
図１６は、スケジュール表示権限テーブルの記憶内容の一例を示す説明図である。図１６において、スケジュールＤＢサーバ５２０に記憶されているスケジュール表示権限テーブル１６００は、スケジュールＩＤ、ユーザＩＤ、表示タイプおよび出欠席情報のフィールドを有する。各フィールドに情報を設定することで、スケジュールＩＤごとに閲覧権限のあるユーザＩＤや表示タイプや出欠席情報がレコードとして記憶されている。
【０１４２】
ここで、スケジュールＩＤは、スケジュールを特定する識別情報である。ユーザＩＤは、利用者を特定する識別情報である。ユーザＩＤとして設定されている値は、ユーザ情報テーブル６００と紐付いている。表示タイプは、スケジュール情報に設定された表示タイプ（１，２，３ｏｒＮＵＬＬ）である。そして、出欠席情報は、スケジュールＩＤに対応するスケジュール情報に関する出欠席を表す識別情報（１，２ｏｒＮＵＬＬ）である。本実施例では、一例として、出欠席情報＝１は出席を表し、出欠席情報＝２は欠席を表している。
【０１４３】
＜出欠情報検出処理の手順＞
図１７は、出欠情報検出処理の手順を示すフローチャートである。図１７のフローチャートは、図８のステップＳ８１２によって行われる出欠席情報検出処理の詳細な手順を表している。図１７の各処理が登録部３０４および抽出部３０８相当の機能部に実行されることによって、電子メール１０１によって通知された出欠席情報をスケジュール情報と対応付けて登録することができる。
【０１４４】
図１７において、メールフィルタリングサーバ５００は、まず、電子メール１０１を読み込む（ステップＳ１７０１）と共に、出欠席キーワードテーブル１８００（図１８参照）に記憶されている各キーワードを読み込む（ステップＳ１７０２）。
【０１４５】
図１８は、出欠席キーワードテーブルの記憶内容の一例を示す説明図である。図１８において、スケジュールＤＢサーバ５２０に記憶されている出欠席キーワードテーブル１８００は、キーワードＩＤおよびキーワードのフィールドを有する。各フィールドに情報を設定することで、キーワードＩＤごとのキーワードがレコードとして記憶されている。ここで、キーワードＩＤは、キーワードを特定する識別情報である。キーワードは、出欠席を意味する文字列である。
【０１４６】
図１７の説明に戻り、メールフィルタリングサーバ５００は、ステップＳ１７０１において読み込んだ電子メール１０１の本文に、出欠席についてのキーワードが含まれているか否かを判断する（ステップＳ１７０３）。ステップＳ１７０３では、例えば、ステップＳ１７０２によって読み込んだ各キーワードのいずれか１つが電子メール１０１の本文に含まれていれば、出欠席についてのキーワードが含まれていると判断する。
【０１４７】
ステップＳ１７０３において、出欠席についてのキーワードが含まれていると判断された場合（ステップＳ１７０３：Ｙｅｓ）、メールフィルタリングサーバ５００は、本文に含まれている出欠席についてのキーワードを、出欠席に関する情報として返却する（ステップＳ１７０４）。一方、ステップＳ１７０３において、出欠席についてのキーワードが含まれていないと判断された場合（ステップＳ１７０３：Ｎｏ）、メールフィルタリングサーバ５００は、出欠席に関する情報が存在しないことを表すためＮＵＬＬを返却する（ステップＳ１７０５）。
【０１４８】
ステップＳ１７０４もしくはＳ１７０５によっていずれかの情報が返却されると、メールフィルタリングサーバ５００は、返却結果をスケジュール表示権限テーブル１６００（図１６参照）に登録して（ステップＳ１７０６）、一連の処理を終了する。
【０１４９】
＜スケジュール情報の表示処理＞
図１９は、スケジュール情報表示処理を示す説明図である。図８にて説明したように、メールフィルタリングサーバ５００の処理によって、スケジュールＤＢサーバ５２０にスケジュール情報が登録や変更される。一方、クライアント側の利用者端末５３０では、上述の処理によって登録・変更されたスケジュール情報を各利用者がカレンダー上に一覧表示させて、登録・変更内容を確認することができる。
【０１５０】
利用者がスケジュール情報を表示させる場合には、まず、利用者端末５３０から、Ｗｅｂサーバ５１０への表示要求が行われる。したがって、サーバ側ではクライアント側からの表示要求の受信をトリガに処理を開始する。
【０１５１】
具体的には、サーバ側のＷｅｂサーバ５１０は、スケジュール表示権限テーブル１６００（図１６参照）から、表示タイプが１または２のスケジュールＩＤを取得する（ステップＳ１９０１）。続いて、Ｗｅｂサーバ５１０は、スケジュールテーブル７００（図７参照）から、ステップＳ１９０１によって取得されたスケジュールＩＤに基づいてスケジュール情報を取得する（ステップＳ１９０２）。
【０１５２】
その後、Ｗｅｂサーバ５１０は、日毎に時間・表示権限に応じたスケジュール情報をソートし（ステップＳ１９０３）、ソート後のスケジュール情報をクライアント側に返却して（ステップＳ１９０４）、サーバ側の処理を終了する。
【０１５３】
一方、クライアント側では、利用者端末５３０によって、サーバ側のＷｅｂサーバ５１０から受け取ったスケジュール情報をスケジュール画面１９００に表示させて（ステップＳ１９０５）、一連の処理を終了する。
【０１５４】
図２０は、スケジュール画面の表示例を示す説明図である。図２０の表示画面２０００は、サーバ側から受け取ったスケジュール情報の表示例を表している。表示画面２０００では、スケジュール情報の一例として、５／８，５／１２，５／２１では、同時刻に複数のイベントが予定されている。同時刻に複数のイベントが予定されている場合には、重要度に応じて表示手法を変えると共に、重要度に応じて降順（重要度が高ければ上位）に表示する。
【０１５５】
以下には、本実施例において、パターン１〜４のような事例が発生した場合の運用内容について説明する。
【０１５６】
＜パターン１：複数の利用者へのスケジュール情報の通知＞
図２１は、電子メールによるスケジュール情報の通知例を示す説明図である。パターン１では、外部から複数の利用者に新規のスケジュール情報を通知する電子メール５０１が届いた場合の運用内容について説明する。
【０１５７】
図２１のように、例えば、Ａ，Ｂ，Ｃさんは、それぞれウェブメーラやメールクライアントを利用して、外部から送信された電子メール１０１を受信する。メールフィルタリングサーバ５００は、外部から各利用者に宛てて送信された電子メール１０１を各利用者端末５３０によって受信する前に受信することができる。そして、メールフィルタリングサーバ５００は、受信した電子メール１０１によって通知されたスケジュール情報をスケジュールＤＢサーバ５２０に登録する。
【０１５８】
また、Ａ，Ｂ，Ｃさんがウェブメーラやメールクライアントを利用して電子メール１０１を送信する場合もある。Ａ，Ｂ，Ｃさんが電子メール１０１を送信する場合も、メールフィルタリングサーバ５００は、送信された電子メール１０１をインターネット回線５４０に出力される前に受信することができる。そして、メールフィルタリングサーバ５００は、受信した電子メール１０１によって通知されたスケジュール情報をスケジュールＤＢサーバ５２０に登録する。
【０１５９】
ここで、新規のスケジュール情報として、一例として、会議１と会議２とが通知されている。したがって、メールフィルタリングサーバ５００は、スケジュールＤＢサーバ５２０に、各スケジュール情報に閲覧権限を付与して関連付けて登録する。閲覧権限の付与は予め設定した閲覧条件に基づいて付与することができる。例えば、ＴＯ、ＣＣ、ＢＣＣに入っている、本文に名前が入っている（参加者に含まれる）、過去に同様の打合せに参加している、該当するＭＬ（メーリングリスト）を受信している、などが挙げられる。
【０１６０】
図２１の例では、会議１にはＡさん、Ｂさんの閲覧権限が付与されている。また、会議２には、Ａさん、Ｃさんの閲覧権限が付与されている。したがって、Ａ，Ｂ，Ｃさんは共通のスケジュールＤＢサーバ５２０を参照するが、各自が閲覧できるスケジュール情報はそれぞれ異なる。
【０１６１】
具体的には、Ａさんの利用者端末５３０の表示画面２０００Ａには、会議１，２の双方のスケジュール情報が表示される。ところが、Ｂさんの利用者端末５３０の表示画面２０００Ｂには、会議１のスケジュール情報のみが表示され、Ｃさんの利用者端末５３０の表示画面２０００Ｃには、会議２のスケジュール情報のみが表示される。以上説明したように、本実施例では、電子メール１０１から抽出されたスケジュール情報を共通のスケジュールＤＢサーバ５２０に登録するが、閲覧権限の設定によって、各自にとって関連するスケジュール情報のみを表示させることができる。
【０１６２】
＜パターン２：スケジュール情報の変更の発生＞
図２２は、スケジュール情報の変更例を示す説明図である。パターン２では、登録済みのスケジュール情報の変更が発生した場合の運用内容について説明する。図２２のように、スケジュールＤＢサーバ５２０にマスタスケジュールとして会議１についてのスケジュール情報が登録された後、Ａさん以外の他者によってマスタスケジュールが変更されることがある。Ａさんは、当然マスタスケジュールが変更されたことは知らない。
【０１６３】
そこで、マスタスケジュールが変更されると、Ａさんの利用者端末の表示画面２０００Ａに変更内容が反映されると共に、変更を通知する表示を行う。したがって、Ａさんは他者によって行われた変更であっても見逃すことなくスケジュール情報を把握することができる。
【０１６４】
＜パターン３：閲覧権限の設定＞
図２３は、閲覧権限の設定例を示す説明図である。パターン３では、閲覧権限を設定する場合の運用内容を表している。図２３のように、メールフィルタリングサーバ５００は、電子メール１０１のアドレス情報に設定されている宛先アドレスに応じて自動的に閲覧権限を設定することができる。電子メール２３１０のように通常のメールの場合、メールフィルタリングサーバ５００は送信元アドレス（ＦＲＯＭ）と、宛先アドレス（ＴＯ）および宛先アドレス以外の同報アドレス（ＣＣ）に基づいて、閲覧権限を設定する。
【０１６５】
また、電子メール２３２０のようにメーリングリストのメールの場合、メールフィルタリングサーバ５００は送信元アドレス（ＦＲＯＭ）と、メーリングリストアドレス（ＴＯ）に基づいて閲覧権限を設定する。すなわち、メーリングリストアドレスとして設定されたすべての宛先アドレスに閲覧権限が設定される。
【０１６６】
＜パターン４：スケジュール情報の編集＞
図２４は、スケジュール情報の編集例を示す説明図である。パターン４では、スケジュール情報を編集する場合の運用内容を表している。図２４のように、スケジュールＤＢサーバ５２０に登録済みのスケジュール情報を編集する場合には、利用者端末５３０からＷｅｂサーバ５１０を介してスケジュールＤＢサーバ５２０へ編集内容が反映される。編集対象となるスケジュール情報はマスタデータであるため、Ａさんが行った編集作業は、Ｂさん、Ｃさんが閲覧するスケジュール情報にも漏れなく反映される。
【０１６７】
以上説明したように、スケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法によれば、新たに受信した電子メールに含まれているスケジュール情報について、まず、ヘッダ情報を参照して関連するスケジュール情報を絞り込む。そして、新たに受信した電子メールに含まれているスケジュール情報と、ヘッダ情報から絞り込んだ特定のスケジュール情報とを比較する。
【０１６８】
そして、比較結果から今回受信した新たな電子メールが登録済みの特定のスケジュール情報の変更を通知しているか否かを判定している。上述の判定処理によって、変更の通知であると判定された場合には、新たな電子メールに含まれているスケジュール情報によって登録済みの特定のスケジュール情報が更新される。したがって、電子メールによって通知されたスケジュールの変更通知を登録済みのスケジュール情報に反映させることができる。
【０１６９】
また、上記技術では、新たに受信した電子メールに含まれているスケジュール情報が、登録済みの特定のスケジュール情報の変更を通知していないと判定された場合に、新規のスケジュール情報としてデータベース１１０に登録することもできる。したがって、新たに受信した電子メールに含まれているスケジュール情報の内容に応じて適切にデータベース１１０に反映され、スケジュール情報の登録漏れを防ぐことができる。
【０１７０】
また上記技術では、データベース１１０にスケジュール情報と、共通のスケジュール情報を共有する複数の利用者とを関連付けて登録することができる。関連付けて登録された利用者であれば、データベース１１０に登録されているスケジュール情報を共有の情報として利用可能になる。したがって、各利用者が個別にスケジュール情報を登録する煩わしさを解消すると共に、複数の利用者宛に通知されたスケジュール情報であっても、漏れることなく対象となるすべての利用者に通知される。
【０１７１】
また、上記技術では、電子メールのヘッダ情報を利用して、新たに受信した電子メールの中から、事前に登録済みの特定のスケジュール情報の変更を通知する可能性の高い電子メールを特定することもできる。新たに受信した電子メールが変更を通知する電子メールか否かを判定する前に、変更を通知する可能性の高い電子メールを特定しておくことによって、判定処理の対象となるスケジュール情報が絞り込まれ、処理効率を向上させることができる。
【０１７２】
また、上記技術では、ヘッダ情報の中のメッセージＩＤを参照して、新たに受信した電子メールの派生元となった電子メールを特定することもできる。そして、新たに受信した電子メールは、派生元の電子メールと判定された電子メールによって通知されたスケジュール情報の変更を通知している可能性が高いため、優先的に判定を行うことで、効率的に変更を通知しているか否かを判定することができる。
【０１７３】
また、上記技術では、新たに受信した電子メールが、ヘッダ情報から特定されたスケジュール情報の変更を通知していないと判定された場合であっても、登録済みの特定のスケジュール情報と関連性の高いスケジュール情報として登録することができる。すなわち、まったくの新規のスケジュール情報ではなく、登録済みのスケジュール情報に付随したイベントについてのスケジュール情報と関連付けて登録するため、利用者にスケジュール情報同士の関連性も合わせて把握させることができる。
【０１７４】
また、上記技術では、新たに受信した電子メールに変更に関する文字列が含まれていた場合には、登録済みのスケジュール情報の変更を通知する電子メールであると判定することができる。すなわち、電子メールの記載の中に変更を通知する際に利用される文字列が含まれているかを判断基準とすることによって、容易かつ高精度に新たに受信した電子メールが変更の通知か否かを判定することができる。
【０１７５】
また、上記技術では、新たに受信した電子メールがスケジュール情報の変更を通知しているか否かの判定に先だって、電子メールにスケジュール情報が含まれているか否かを判断することもできる。通常の運用時、各利用者には、スケジュール情報の通知以外にも様々な内容を通知する電子メールが送信される事態が想定される。したがって、上述のように事前に電子メールにスケジュール情報が含まれているか否かを判断した後に、変更を通知する電子メールか否かを判定することによって、スケジュール情報を含んでいない電子メールを処理対象から除外できるため、処理効率を向上させることができる。
【０１７６】
また、上記技術では、新たに受信した電子メールの中から出欠席に関する文字列を抽出することもできる。電子メールの運用によっては、各利用者が返信メールや転送メールを利用して登録済みのスケジュール情報についての出欠席に関する情報を通知する場合がある。したがって、上述のような出欠席に関する情報が抽出された場合には、抽出された情報を対象となるスケジュール情報と関連付けて登録すれば、スケジュール情報を共有する各利用者に出欠席状況を把握させることができる。
【０１７７】
また、上記技術では、スケジュール情報と共に該スケジュールを表示させる際の重要度や表示タイプなどの付加情報を設定して、スケジュール情報と関連付けて登録することもできる。重要度の設定を追加することによって、同日の同時刻に複数のスケジュール情報が登録されている場合に、重要度が高いスケジュール情報をより強調したり、表示タイプに基づいた表示を行ったりといった、利用者に把握し易い情報として提供が可能になる。
【０１７８】
なお、本実施の形態で説明したスケジュール管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本スケジュール管理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本スケジュール管理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【０１７９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１８０】
（付記１）第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータに、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
を実行させることを特徴とするスケジュール管理プログラム。
【０１８１】
（付記２）前記第二の電子メールが前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報を、前記第二のヘッダ情報と関連付けて前記データベースに登録する登録工程を前記コンピュータに実行させることを特徴とする付記１に記載のスケジュール管理プログラム。
【０１８２】
（付記３）前記第二の電子メールの前記第二のヘッダ情報に含まれているアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程を前記コンピュータに実行させ、
前記登録工程は、
前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録することを特徴とする付記１または２に記載のスケジュール管理プログラム。
【０１８３】
（付記４）前記データベースを参照し、前記第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出工程を前記コンピュータに実行させ、
前記判定工程は、
前記検出工程によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定することを特徴とする付記１〜３のいずれか一つに記載のスケジュール管理プログラム。
【０１８４】
（付記５）前記第二のヘッダ情報は、前記第二の電子メールが他の電子メールから派生して作成されたものであることを識別する識別情報を含み、
前記検出工程において、前記データベースを参照し、前記第一のヘッダ情報が該識別情報を含む場合に、該第一のヘッダ情報と対応付いた前記第一のスケジュール情報を検出することを特徴とする付記４に記載のスケジュール管理プログラム。
【０１８５】
（付記６）前記登録工程は、
前記第二のスケジュール情報が前記第一のスケジュール情報を変更する通知ではないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録することを特徴とする付記２〜５のいずれか一つに記載のスケジュール管理プログラム。
【０１８６】
（付記７）前記判定工程は、
前記第二の電子メールに、スケジュールの変更を示す文字列が含まれている場合に、前記第二の電子メールが前記第一のスケジュール情報の変更を通知していると判定することを特徴とする付記１〜６のいずれか一つに記載のスケジュール管理プログラム。
【０１８７】
（付記８）前記第二の電子メールに日程に関する文字列が含まれているか否かを判断する判断工程を前記コンピュータに実行させ、
前記判定工程は、
前記判断工程によって前記第二の電子メールに日程に関する文字列が含まれていると判断された場合に、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定することを特徴とする付記１〜７のいずれか一つに記載のスケジュール管理プログラム。
【０１８８】
（付記９）前記第二の電子メールから出欠席に関する文字列を抽出する抽出工程を前記コンピュータに実行させ、
前記登録工程は、
前記抽出工程によって前記第二の電子メールから出欠席に関する文字列が抽出された場合、当該抽出された出欠席に関する文字列を、前記第二のスケジュール情報と関連付けて前記データベースに登録することを特徴とする付記４〜８のいずれか一つに記載のスケジュール管理プログラム。
【０１８９】
（付記１０）スケジュール情報の種類ごとに規定された重要度に基づいて、前記第二の電子メールに含まれているスケジュール情報に、当該スケジュール情報の種類に応じた重要度を設定する設定工程を前記コンピュータに実行させ、
前記登録工程は、
前記設定工程によって設定された重要度を、前記第二のスケジュール情報と関連付けて前記データベースに登録することを特徴とする付記１〜９のいずれか一つに記載のスケジュール管理プログラム。
【０１９０】
（付記１１）前記第二のスケジュール情報に、前記第二の電子メールの送信先のアドレスに基づいて、前記スケジュール情報の表示タイプを設定する設定工程を前記コンピュータに実行させ、
前記登録工程は、
前記設定工程によって設定された表示タイプを、前記第二のスケジュール情報と関連付けて前記データベースに登録することを特徴とする付記１〜９のいずれか一つに記載のスケジュール管理プログラム。
【０１９１】
（付記１２）第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースと、
第二の電子メールを受信する受信部と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定部と、
前記判定部によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更部と、
を備えることを特徴とするスケジュール管理装置。
【０１９２】
（付記１３）第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータが、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
を実行することを特徴とするスケジュール管理方法。
【符号の説明】
【０１９３】
１００  スケジュール管理装置
１０１  電子メール
１０２  ヘッダフィールド
１０３  メール本文
１１０  データベース
３０１  受信部
３０２  判定部
３０３  変更部
３０４  登録部
３０５  特定部
３０６  検出部
３０７  判断部
３０８  抽出部
３０９  設定部
５００  メールフィルタリングサーバ
５１０  Ｗｅｂサーバ
５２０  スケジュールＤＢ（データベース）サーバ
５３０  利用者端末
５４０  インターネット回線
【図１】
0005699473.tif 000002
【図２】
0005699473.tif 000003
【図３】
0005699473.tif 000004
【図４】
0005699473.tif 000005
【図５】
0005699473.tif 000006
【図６】
0005699473.tif 000007
【図７】
0005699473.tif 000008
【図８】
0005699473.tif 000009
【図９】
0005699473.tif 000010
【図１０】
0005699473.tif 000011
【図１１】
0005699473.tif 000012
【図１２】
0005699473.tif 000013
【図１３】
0005699473.tif 000014
【図１４】
0005699473.tif 000015
【図１５】
0005699473.tif 000016
【図１６】
0005699473.tif 000017
【図１７】
0005699473.tif 000018
【図１８】
0005699473.tif 000019
【図１９】
0005699473.tif 000020
【図２０】
0005699473.tif 000021
【図２１】
0005699473.tif 000022
【図２２】
0005699473.tif 000023
【図２３】
0005699473.tif 000024
【図２４】
0005699473.tif 000025