JP5699473B2 - スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法 - Google Patents

スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法 Download PDF

Info

Publication number
JP5699473B2
JP5699473B2 JP2010169747A JP2010169747A JP5699473B2 JP 5699473 B2 JP5699473 B2 JP 5699473B2 JP 2010169747 A JP2010169747 A JP 2010169747A JP 2010169747 A JP2010169747 A JP 2010169747A JP 5699473 B2 JP5699473 B2 JP 5699473B2
Authority
JP
Japan
Prior art keywords
schedule
schedule information
information
mail
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010169747A
Other languages
English (en)
Other versions
JP2012032887A (ja
Inventor
和幸 茂原
和幸 茂原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010169747A priority Critical patent/JP5699473B2/ja
Publication of JP2012032887A publication Critical patent/JP2012032887A/ja
Application granted granted Critical
Publication of JP5699473B2 publication Critical patent/JP5699473B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、スケジュールを管理するスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法に関する。
近年、電子メールを利用して様々なスケジュール情報を通知する事例が多くなっている。この際、電子メールからスケジュール情報を自動抽出して利用者に提示することにより、利用者が逐一電子メールの記載内容を確認しなくても電子メールによる通知内容を把握することができる。そこで、電子メールの本文からスケジュール情報を自動抽出する技術の需要が高まっている。
従来、スケジュール情報を自動抽出する技術として、電子メールの本文の内容を解析し、スケジュール情報として書き込む内容か否かを判定し、書き込むべき内容であると判定された場合に利用者の端末にスケジュール情報を書き込むものがある(例えば、下記特許文献1参照。)。また、電子メールに複数のスケジュール情報が含まれている場合に、各スケジュール情報を項目に分けた一覧を作成し、利用者に登録すべきスケジュール情報を選択させる技術がある(例えば、下記特許文献2参照。)。
特開平11−259568号公報 特開2009−93503号公報
しかしながら、上述した従来技術によれば、電子メールから抽出されたスケジュール情報の登録後に、同一のスケジュールについての変更を通知する電子メールがあっても、変更内容を登録済みのスケジュール情報に反映することができない。このため、同一のスケジュールについて、複数のスケジュール情報が登録される場合がある。したがって、登録されたスケジュール情報を閲覧する際に、同じイベントを通知する複数のスケジュール情報が表示されてしまう場合があり、利用者にとってわかりにくい表示になってしまうという問題があった。
本発明は、上述した従来技術による問題点を解消するため、電子メールにより通知されたスケジュール情報の登録後に、他の電子メールにより登録済みのスケジュール情報の変更が通知された場合、登録済みのスケジュール情報に変更内容を反映させることができるスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示のスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法は、第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能であり、第二の電子メールを受信すると、前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定し、判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する。
本スケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法によれば、電子メールにより通知されたスケジュール情報の登録後に、他の電子メールにより登録済みのスケジュール情報の変更が通知された場合、登録済みのスケジュール情報に変更内容を反映させることができるという効果を奏する。
本実施の形態にかかるスケジュール管理処理の一例を示す説明図である。 スケジュール管理装置のハードウェア構成を示すブロック図である。 スケジュール管理装置の機能的構成を示すブロック図である。 スケジュール管理装置によるスケジュール登録・変更処理の手順を示すフローチャートである。 本実施例におけるシステム構成を示す説明図である。 ユーザ情報テーブルの記憶内容の一例を示す説明図である。 スケジュールテーブルの記憶内容の一例を示す説明図である。 メールフィルタリングサーバによるスケジュール登録・変更処理の手順を示すフローチャートである。 スケジュール−MessageID対応付けテーブルの記憶内容の一例を示す説明図である。 新規スケジュール登録処理の手順を示すフローチャートである。 スケジュール抽出処理の手順を示すフローチャートである。 日付前後の本文解析結果の一例を示す説明図である。 変更キーワードテーブルの記憶内容の一例を示す説明図である。 スケジュールキーワードテーブルの記憶内容の一例を示す説明図である。 表示タイプ登録処理の手順を示すフローチャートである。 スケジュール表示権限テーブルの記憶内容の一例を示す説明図である。 出欠情報検出処理の手順を示すフローチャートである。 出欠席キーワードテーブルの記憶内容の一例を示す説明図である。 スケジュール情報表示処理を示す説明図である。 スケジュール画面の表示例を示す説明図である。 電子メールによるスケジュール情報の通知例を示す説明図である。 スケジュール情報の変更例を示す説明図である。 閲覧権限の設定例を示す説明図である。 スケジュール情報の編集例を示す説明図である。
以下に添付図面を参照して、この発明にかかるスケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法の好適な実施の形態を詳細に説明する。
図1は、本実施の形態にかかるスケジュール管理処理の一例を示す説明図である。図1において、スケジュール管理装置100は、特定の利用者宛に送信された電子メール101を受信し、受信した電子メール101に含まれているスケジュール情報を抽出してデータベース110に登録する。
ここで、特定の利用者とは、スケジュール管理装置100の利用者として予め登録されている利用者群である。特定の利用者として、例えば、ある会社の全社員や同一部署の全社員などの利用者群が登録される。また、電子メール101は、電子メール101の送信に関する情報が記載されているヘッダフィールド102と、送信元によって作成されたメール本文103とを含む構成である。
スケジュール管理装置100は、電子メール101を受信すると、ヘッダフィールド102から所定のヘッダ情報を抽出し、メール本文103からスケジュール情報を抽出する。この際、スケジュール管理装置100は、ヘッダフィールド102から、ヘッダ情報として記載されているすべての情報を抽出してもよく、また、事前に設定しておいた情報を抽出してもよい。
図1に示した例では、スケジュール管理装置100は、例えば、ヘッダ情報として、宛先アドレス、Message−IDおよび日付情報を抽出する。また、スケジュール管理装置100は、例えば、スケジュール情報として、メール本文103から電子メール101によって通知されたイベントの日付、時間、場所、種別などを抽出する。
電子メール101から抽出されたスケジュール情報は、同時に抽出されたヘッダ情報と関連付けてデータベース110のスケジュールテーブル111に登録される。この際、スケジュールテーブル111に登録済みのスケジュール情報が存在する場合、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報が、新規のスケジュール情報であるか、登録済みのスケジュール情報の変更を通知するスケジュール情報であるかを判定する。
具体的には、例えば、スケジュールテーブル111に登録済みのスケジュール情報が存在する場合、スケジュール管理装置100は、電子メール101から抽出されたヘッダ情報と、スケジュールテーブル111に記憶されているヘッダ情報とを比較する。そして、スケジュール管理装置100は、電子メール101のヘッダ情報と対応するヘッダ情報と関連付けて登録されているスケジュール情報を特定する。
ここで、電子メール101のヘッダ情報と対応するヘッダ情報と関連付けて登録されているスケジュール情報(以下、「特定のスケジュール情報」という)は、電子メール101と関連性の高い電子メールによって通知されたスケジュール情報である。例えば、スケジュール管理装置100は、特定のスケジュール情報として、電子メール101からヘッダ情報として抽出された複数の情報の中の特定の情報が対応関係にあるスケジュール情報を特定することにしてもよい。
より具体的には、例えば、スケジュール管理装置100は、特定のスケジュール情報として、電子メール101から抽出されたMessage−IDと共通のMessage−IDを有するスケジュール情報を特定する。ここで、電子メール101と登録済みのスケジュール情報とのMessage−IDが共通する場合、電子メール101は、登録済みのスケジュール情報を通知した電子メールから派生した電子メールであることがわかる。したがって、電子メール101のMessage−IDを手掛かりに、特定のスケジュール情報を特定することで、電子メール101と関連性の高いスケジュール情報を特定することができる。
スケジュールテーブル111の中から特定のスケジュール情報が絞り込まれると、次に、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報が変更通知か否かを判定する。変更通知とは、スケジュールテーブル111の中から絞り込まれた特定のスケジュール情報を変更する通知を意味する。また、スケジュール管理装置100は、変更通知でないと判定された場合、電子メール101から抽出されたスケジュール情報が新規通知であると判定する。
具体的には、例えば、スケジュール管理装置100は、メール本文103に記載されている文字列に基づいて、電子メール101から抽出されたスケジュール情報が変更通知か否かを判定する。一例として、スケジュール管理装置100は、メール本文103に変更に関する文字列(「変更」、「変わりました」など)が含まれている場合に、電子メール101から抽出されたスケジュール情報が変更通知であると判定する。
また、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報と特定のスケジュール情報との関連性が高い場合に、電子メール101から抽出されたスケジュール情報が変更通知と判定することにしてもよい。一例として、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報に含まれる同一の日付、時間、場所などに関する情報が、特定のスケジュール情報に含まれる同一の日付、時間、場所などに関する情報に、一部分一致する場合に関連性が高いと判断してもよい。
そして、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報が変更通知であると判定された場合、スケジュールテーブル111の中の特定のスケジュール情報を、電子メール101から抽出されたスケジュール情報に変更する。
また、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報が変更通知でないと判定された場合、新規に通知されたスケジュール情報として新たにスケジュールテーブル111に登録する。このとき、スケジュール管理装置100は、電子メール101から抽出したスケジュール情報を、特定のスケジュール情報と関連する新規のスケジュール情報としてスケジュールテーブル111に登録してもよい。すなわち、スケジュール管理装置100は、単なる新規のスケジュール情報ではなく、登録済みの特定のスケジュール情報と関連する情報であるスケジュール情報であるというフラグをつけて登録する。
一方、電子メール101から抽出したヘッダ情報によっては、スケジュールテーブル111に登録済みのスケジュール情報の中から特定のスケジュール情報が特定されない場合もある。このような電子メール101から抽出されたスケジュール情報は、登録済みのスケジュール情報との関連性がないため、スケジュール管理装置100は、そのまま新規のスケジュール情報としてヘッダ情報と関連付けて登録する。
以上説明した、本実施の形態にかかるスケジュール管理装置100は、電子メール101からスケジュール情報を抽出し、抽出されたスケジュール情報が新規のスケジュール情報であるか、登録済みのスケジュール情報の変更を通知するスケジュール情報であるかを判定する。また、スケジュール管理装置100は、判定結果に応じて、データベース110のスケジュールテーブル111に新規のスケジュール情報の登録、もしくは、登録済みのスケジュール情報の変更を行う。これにより、電子メール101によって通知されたスケジュールの変更通知を登録済みのスケジュール情報に反映させることができる。
以下に、図1にて説明したスケジュール管理処理を実現するスケジュール管理装置100の具体的な構成および処理手順について説明する。
(スケジュール管理装置のハードウェア構成)
図2は、スケジュール管理装置のハードウェア構成を示すブロック図である。図2において、スケジュール管理装置100は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、スケジュール管理装置100の全体の制御を司る。ROM202は、ブートプログラムや、スケジュール管理に関する処理を実行させるスケジュール管理プログラムなどの各種プログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、例えばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、スケジュール管理装置100内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
なお、図2では、スケジュール管理装置100のハードウェア構成の一例を例示しているが、スケジュール管理装置100の構成は図2の構成に限定されない。例えば、スケジュール管理装置100はスケジュール管理プログラムが実行できる最小限の構成としてCPU201、ROM202、RAM203およびI/F209がバス200によって接続された構成でもよい。そして、その他のハードウェアは、I/F209を介して外部に用意しても図2に例示したスケジュール管理装置100と同様の機能を実現することができる。
(スケジュール管理装置の機能的構成)
図3は、スケジュール管理装置の機能的構成を示すブロック図である。スケジュール管理装置100は、受信部301と、判定部302と、変更部303と、登録部304と、特定部305と、検出部306と、判断部307と、抽出部308と、設定部309と、を含む構成である。各機能部(受信部301〜設定部309)は、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたスケジュール管理プログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
受信部301は、電子メール101を受信する機能を有する。具体的には、例えば、受信部301は、特定のアドレス宛の電子メール101を受信する。ここで、特定のアドレスとは、予めスケジュール管理装置100の利用者として登録した各利用者のメールアドレスである。特定のアドレスとして、例えば、同一の利用者が利用している複数種類のアドレスを登録してもよいし、メーリングリストのアドレスを登録してもよい。
また、受信部301は、特定のメールサーバが受信するすべての電子メールを受信し、受信した電子メールの中からスケジュール管理装置100の利用者宛の電子メール101を抽出するような構成であってもよい。なお、上述したいずれの構成であっても受信部301によって受信された電子メール101は、その後、宛先に応じて各利用者端末によって受信される。
したがって、各利用者は、通常時と変わらずにメーラなどを利用して電子メール101を受信することができる。受信部301によって受信された電子メール101のデータは、一時的にRAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
判定部302は、電子メール101が登録済みのスケジュール情報の変更を通知する電子メールか否かを判定する機能を有する。具体的には、例えば、判定部302は、受信部301が受信した電子メール101に含まれているスケジュール情報やメール本文103の記載内容に対応するヘッダ情報がデータベース110に存在する場合、該スケジュール情報がデータベース110に登録されている特定のスケジュール情報の変更を通知しているか否かを判定する。ここで、特定のスケジュール情報とは、電子メール101のヘッダ情報と対応するヘッダ情報と関連付けて登録されているスケジュール情報を意味する。
したがって、判定部302は、例えば、電子メール101にスケジュール情報の変更に関する文字列が含まれている場合に、電子メール101が特定のスケジュール情報の変更を通知していると判定する。他にも、判定部302は、例えば、電子メール101から抽出されたスケジュール情報と登録済みのスケジュール情報との比較結果に基づいて電子メール101が特定のスケジュール情報の変更を通知していると判定することもできる。
具体的には、例えば、判定部402は、予め設定したルールに基づいて電子メール101が特定のスケジュール情報の変更を通知しているかを判定する。ルールの設定例として、スケジュールテーブル111に記憶されているスケジュール情報と、電子メール101から抽出されたスケジュール情報とを比較して日付、時間、場所、種別の各情報のうち3つの情報が一致する場合、変更を通知していると判定する設定でもよい。すなわち、日付、時間、場所、種別のいずれか一つのみが不一致の場合は、電子メール101が、不一致となった情報についての変更を通知している可能性が高い。
また、判定部302は、電子メール101のメール本文103に特定のコードが含まれている場合に、電子メール101が登録済みのスケジュール情報の変更通知であると判定してもよい。特定のコードとは、スケジュール管理装置100の利用者間で予め設定した文字列である。具体的には、例えば、「*変更*」や「メールタイプXXX」といった文字列が特定のコードとして設定される。
そして、変更を通知する電子メール101を送信する場合には、利用者が件名やメール本文103に上述のような特定のコードを記載する。判定部302は、特定のコードが含まれている電子メール101については、即座に特定のスケジュール情報の変更と通知する電子メールであると判定することによって、確実に変更通知か否かの判定を行うことができる。判定部302による判定結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
変更部303は、判定部302によって判定された判定結果に基づいて、データベース110内の特定のスケジュール情報を変更する機能を有する。具体的には、例えば、判定部302によって、電子メール101が特定のスケジュール情報の変更を通知していると判定された場合、変更部303は、電子メール101に含まれているスケジュール情報によってデータベース110に登録済みの特定のスケジュール情報を変更する。なお、変更部303による変更履歴は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
登録部304は、新規のスケジュール情報をデータベース110に登録する機能を有する。スケジュール管理装置100では、例えば、電子メール101が特定のスケジュール情報の変更を通知していないと判定された場合、電子メール101に含まれているスケジュール情報は新規のスケジュール情報であると見なされる。
したがって、登録部304は、特定のスケジュール情報の変更を通知していないと判定された電子メール101に含まれているスケジュール情報を、新規のスケジュール情報としてヘッダ情報と関連付けてデータベース110に登録する。登録部304による登録履歴は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
特定部305は、スケジュール情報を共有する複数の利用者を特定する機能を有する。具体的には、例えば、特定部305は、電子メール101のヘッダ情報に含まれているアドレス情報に基づいて、電子メール101に含まれているスケジュール情報を共有する複数の利用者を特定することができる。
ここで、アドレス情報とは、例えば、電子メール101のヘッダフィールド102に含まれているTO,CC,BCCに設定されているアドレスである。例えば、電子メール101のTO欄に利用者Aさん、Bさん宛のアドレスが記載されている場合には、電子メール101に含まれているスケジュール情報をAさんとBさんが共有するスケジュール情報として特定する。
他にも、TO欄に利用者Cさん宛のアドレスが記載されており、CC欄にAさん、Bさん宛のアドレスが記載されている場合には、Cさんのみならず、AさんとBさんも電子メール101に含まれているスケジュール情報を共有する利用者と特定してもよい。どのような条件で共有の利用者と特定するかは利用者が適宜設定することができる。特定部305による特定結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
また、特定部305によって、スケジュール情報を共有する複数の利用者が特定された場合、登録部304は、電子メール101に含まれているスケジュール情報を、特定された複数の利用者と関連付けてデータベース110に登録する。したがって、データベース110に登録されたスケジュール情報は、共有する利用者として特定された複数の利用者のみが利用可能な情報となる。
検出部306は、データベース110の中から、電子メール101のヘッダ情報に対応するヘッダ情報と関連付けて記憶されている特定のスケジュール情報を検出する機能を有する。すなわち、検出部306は、電子メール101のヘッダ情報を参照して、データベース110に記憶されているスケジュール情報の中から電子メール101と関連する可能性の高い電子メールによって通知されたスケジュール情報を検出する。
具体例を挙げると、検出部306は、電子メール101のヘッダ情報に他の電子メールから派生して作成されたものであることを識別する識別情報が含まれている場合、該識別情報を含むヘッダ情報と関連付けて記憶されているスケジュール情報を検出する。なお、識別情報は、例えば、メッセージID(いわゆる、Message−ID)である。検出部306による検出結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
判定部302は、検出部306によって検出された特定のスケジュール情報と、電子メール101に含まれているスケジュール情報とを比較することにより、電子メール101が、特定のスケジュール情報の変更を通知しているか否かを判定することにしてもよい。
検出部306を利用しない場合、判定部302では、受信部301によって受信された電子メール101に含まれているスケジュール情報と、データベース110に登録されているすべてのスケジュール情報を対象とを比較して判定処理を行う。一方、検出部306を利用する場合、判定部302は、受信部301によって受信された電子メール101に含まれているスケジュール情報と、検出部306によって特定されたスケジュール情報を対象として判定処理を行う。
したがって、検出部306を利用せずに判定部302による判定処理を行った場合と比較して、判定部302による判定処理の対象となる特定のスケジュール情報が絞り込まれるため、判定処理にかかる負荷を低減させることができる。
判断部307は、電子メール101に特定の文字列が含まれているか否かを判断する機能を有する。具体的には、例えば、判断部307は、電子メール101に日程に関する文字列が含まれているか否かを判断する。ここで、判断部307によって日程に関する文字列が含まれていると判断された電子メール101とは、スケジュール情報を含んでいる可能性が高い電子メールを意味する。
受信部301では通知内容にかかわらず、特定の利用者宛の電子メール101を受信する。したがって、スケジュール情報が含まれていない電子メール101も多数存在する。そこで、判断部307を用意して、まず、受信部301が受信したすべての電子メール101について、スケジュール情報を含んでいる可能性があるか否かの判断を行う。
そして、判断部307によってスケジュール情報を含んでいる可能性が高いと判断された電子メール101を判定部302による判定処理の対象とする。これにより、スケジュール情報を含んでいない電子メール101が判定処理の対象から除外されるため、判定処理にかかる負荷を低減させることができる。なお、判断部307による判断結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
抽出部308は、電子メール101から所定の文字列を抽出する機能を有する。具体的には、例えば、抽出部308は、電子メール101から出欠席に関する文字列を抽出する。電子メール101の中には、スケジュール情報の通知に応答して、出欠席情報を記入した返信メールがある。したがって、抽出部308を用意することによって、スケジュール情報に応じた出欠席情報を抽出することができる。抽出部308による抽出結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
なお、抽出部308によって、電子メール101から出欠席に関する文字列が抽出された場合、登録部304は、抽出された出欠席に関する文字列を、電子メール101の送信者の出欠席情報として、スケジュール情報と関連付けてデータベース110に登録する。これにより、利用者は、スケジュール情報と共に、スケジュール情報が表すイベントについて、誰が出席するか欠席するかといった出欠席情報を合わせて把握することができる。
設定部309は、スケジュール情報に重要度や、表示タイプといった各種付加情報を設定する機能を有する。ここで、重要度とは、スケジュール情報が表すイベントの種別に応じて設定される情報である。すなわち、利用者が重要と判断している種別のイベントに重要度「高」、それ以外の種別のイベントに重要度「低」を設定することができる。例えば、種別が「会議」、「出張」などであれば、一意的に重要度「高」と設定される。
また、表示タイプとは、データベース110に登録されたスケジュール情報を利用者の要求に応じて表示させる場合の表示の手法に応じて設定される情報である。表示の手法として、例えば、カレンダー画面に常に表示させる手法や、利用者が表示指示をした場合にのみ表示する手法などがある。また、常に表示させる手法の場合には、さらに、強調表示や通常表示などがある。したがって、表示タイプ=1の場合には、常に強調表示(例えば、赤字で表示させる、マーカを施した文字で表示させるなど)を行い、表示タイプ=2の場合には、常に通常表示を行うなどの設定ができる。
設定部309によって設定された付加情報は、登録部304によって、スケジュール情報と関連付けてデータベース110に登録される。上述した付加情報は、スケジュール情報の種類や、ヘッダ情報に応じて予め規定されている。なお、設定部309によって設定された付加情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に一時的に記憶される。
(スケジュール登録・変更手順)
図4は、スケジュール管理装置によるスケジュール登録・変更処理の手順を示すフローチャートである。図4のフローチャートは、スケジュール管理装置100が新たな電子メール101を受信した場合に、電子メール101の通知内容に応じて、データベース110に対してスケジュール情報の登録もしくは変更を行う際の手順を表している。図4の各処理を実行することによって、スケジュール情報管理装置100は、電子メール101の受信者が処理することなく、データベース110に最新のスケジュール情報を反映することができる。
図4において、スケジュール管理装置100は、まず、受信部301によって、電子メール101を受信したか否かを判断する(ステップS401)。スケジュール管理装置100は、ステップS401において、電子メール101を受信するまで待機状態となり(ステップS401:Noのループ)、電子メール101を受信すると(ステップS401:Yes)、判断部307によって、受信した電子メール101に日程に関する文字列が含まれているか否かを判断する(ステップS402)。
ステップS402において、電子メール101に日程に関する文字列が含まれていると判断された場合(ステップS402:Yes)、スケジュール管理装置100は、受信した電子メール101をスケジュール情報の通知に関連する電子メールであると判断し、通知内容をスケジュール情報に反映するための処理に移行する。
一方、ステップS402において、電子メール101に日程に関する文字列が含まれていないと判断された場合(ステップS402:No)、スケジュール管理装置100は、電子メール101を、スケジュール情報を通知する電子メールではないと判断するため、そのまま一連の処理を終了する。
次に、スケジュール管理装置100は、データベース110に記憶されているスケジュール情報の中からステップS401において受信した電子メール101のヘッダ情報と対応するヘッダ情報と関連付いた特定のスケジュール情報を検出する(ステップS403)。そして、スケジュール管理装置100は、ステップS403において、特定のスケジュール情報が検出されたか否かを判断する(ステップS404)。
ステップS404は、ステップS401において受信した電子メール101が、特定のスケジュール情報の変更を通知する可能性のある電子メールか否かを判断する処理である。ステップS404において、特定のスケジュール情報が検出されれば、電子メール101について、さらに、特定のスケジュール情報の変更通知か否かを判定するための処理を行う。一方、特定のスケジュール情報が検出されなければ、電子メール101が特定のスケジュール情報の変更を通知している可能性はないため、電子メール101に含まれているスケジュール情報を新規のスケジュール情報として扱う。
したがって、ステップS404において、特定のスケジュール情報が検出されなかった場合(ステップS404:No)、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報を新規スケジュールとして登録する(ステップS405)。具体的には、スケジュール管理装置100は、登録部304によって、電子メール101から抽出されたスケジュール情報を電子メール101のヘッダ情報と共にデータベース110に登録する。
一方、ステップS404において、特定のスケジュール情報が検出された場合(ステップS404:Yes)、スケジュール管理装置100は、電子メール101に変更に関する文字列が含まれているか否かを判断する(ステップS406)。すなわち、ステップS406によって、スケジュール管理装置100は、電子メール101から抽出されたスケジュール情報が特定のスケジュール情報の変更を通知するか否かを判定する処理に移行する。
ステップS406において、電子メール101に変更に関する文字列が含まれていると判定された場合(ステップS406:Yes)、スケジュール管理装置100は、特定のスケジュール情報を変更する(ステップS407)。具体的には、スケジュール管理装置100は、変更部303によって、電子メール101から抽出されたスケジュール情報によってデータベース110に記憶されている特定のスケジュール情報を変更する。
一方、ステップS406において、電子メール101に変更に関する文字列が含まれていないと判定された場合(ステップS406:No)、スケジュール管理装置100は、特定のスケジュール情報と関連する新規のスケジュール情報を登録する(ステップS408)。具体的には、スケジュール管理装置100は、登録部304によって、電子メール101から抽出されたスケジュール情報を特定のスケジュール情報に関連したスケジュール情報としてデータベース110に登録する。特定のスケジュール情報と関連したスケジュール情報とは、特定のスケジュール情報の変更を通知してはいないが、特定のスケジュール情報に付随したイベントを通知するスケジュール情報である。
ステップS405,S407,S408のいずれかの処理によってスケジュール情報の変更や登録が行われると、スケジュール管理装置100は、抽出部308によって、電子メール101から出欠席に関する文字列を抽出する(ステップS409)。そして、ステップS409の処理が完了すると、スケジュール管理装置100は、特定部305によって、スケジュール情報を共有する複数の利用者を特定する(ステップS410)。
その後、スケジュール管理装置100は、ステップS409による抽出結果およびステップS410による特定結果をスケジュール情報と関連付けてデータベース110に登録して(ステップS411)、一連の処理を終了する。すなわち、ステップS411では、ステップS409およびS410の実行結果に応じて処理内容が異なる。
例えば、電子メール101に出欠席に関する文字列が含まれていない場合には、ステップS409では、なにも抽出されない。また、スケジュール情報によっては複数の利用者で共有するような設定にはなっていない場合もある。上述のようなスケジュール情報の場合、ステップS410では、共有する複数の利用者を設定しない。したがって、ステップS411では、ステップS409およびS410の実行結果に応じた処理が行われる。
以上説明したように、本実施の形態にかかるスケジュール管理装置100は、新たな電子メール101を受信すると、電子メール101に含まれているスケジュール情報について、まず、ヘッダ情報を参照して関連するスケジュール情報を絞り込む。そして、新たに受信した電子メール101に含まれているスケジュール情報と、ヘッダ情報から絞り込まれた特定のスケジュール情報とを比較することによって、今回受信した新たな電子メール101が登録済みの特定のスケジュール情報の変更を通知しているか否かを判定することができる。
さらに、スケジュール管理装置100は、変更の通知であると判定した場合には、新たな電子メール101に含まれているスケジュール情報によって登録済みの特定のスケジュール情報を変更する。したがって、電子メール101によって通知されたスケジュールの変更通知を登録済みのスケジュール情報に反映させることができる。
また、スケジュール管理装置100によれば、電子メール101によって通知されたスケジュール情報について、新規であっても、変更通知であっても、データベース110に登録される。このため、電子メール101に複数のスケジュール情報が含まれている場合であっても、スケジュール情報の登録漏れを防ぐことができる。
(実施例)
次に、上述したスケジュール管理装置100を一般的な電子メールの送受信が行われるインターネット環境に適用させた実施例について説明する。以下説明する実施例では、所定の会社に属する社員がそれぞれ利用者として想定される。また、各利用者が受信する電子メールは、スケジュール情報を通知するものあれば、その他の情報を通知するものもある。さらに、スケジュール情報として通知されるもの中には、複数の利用者に共通したスケジュール情報である場合もある。
<システム構成>
図5は、本実施例におけるシステム構成を示す説明図である。図5に例示したように、本実施例におけるシステム構成は、サーバ側とクライアント側とに大別されている。また、サーバ側とクライアント側とはインターネット回線540によって接続されている。
サーバ側は、メールフィルタリングサーバ500と、Webサー510と、スケジュールDB(データベース)サーバ520とが含まれている。メールフィルタリングサーバ500は、図1〜4にて説明したスケジュール管理装置100として機能する。具体的には、メールフィルタリングサーバ500では、電子メール101からのスケジュール情報の抽出や、ヘッダ情報を利用したユーザ情報の抽出や、スケジュールDBサーバ520へのスケジュール情報の登録や変更を行う。したがって、メールフィルタリングサーバ500は、図3に例示した各機能部(受信部301〜設定部309)相当の機能部を有している。
Webサーバ510は、利用者端末530とスケジュールDBサーバ520との窓口として機能する。したがって、Webサーバ510では、利用者端末530からの要求に応じてスケジュールDBサーバ520に記憶されているスケジュール情報を利用者端末530に提供する。
スケジュールDBサーバ520には、スケジュール情報に関する各種テーブルが格納されている。具体的には、例えば、下記の7種類のテーブルが格納されており、スケジュール情報の管理や、電子メール101からのスケジュール情報の抽出などに利用される。
・ユーザ情報テーブル(下記図6参照)
・スケジュールテーブル(下記図7参照)
・スケジュール−Message−ID対応付けテーブル(下記図9参照)
・変更キーワードテーブル(下記図13参照)
・スケジュールキーワードテーブル(下記図14参照)
・表示タイプ権限テーブル(下記図16参照)
・出欠席キーワードテーブル(下記図18参照)
まず、上述した各テーブルのうち、ユーザ情報テーブルおよびスケジュールテーブルについて説明する。ユーザ情報テーブルおよびスケジュールテーブル以外の各テーブルについては、テーブルを利用した処理と合わせて説明する。ユーザ情報テーブルには利用者を特定するための情報が記憶されている。また、スケジュールテーブルには実質的なスケジュール情報が記憶されている。
図6は、ユーザ情報テーブルの記憶内容の一例を示す説明図である。図6において、スケジュールDBサーバ520に記憶されているユーザ情報テーブル600は、ユーザID、ログインID、パスワード、名前およびメールアドレスのフィールドを有する。各フィールドに情報を設定することで、ユーザIDごとに、スケジュール管理処理の利用者を特定する情報がレコードとして記憶されている。
ここで、ユーザIDは、利用者を特定する識別情報である。ログインIDおよびパスワードは、各利用者が利用者端末530からWebサーバ510を介してスケジュールDBサーバ520に記憶されているスケジュール情報を取得する際に利用される認証用の情報である。名前およびメールアドレスは、利用者の固有情報である。
図7は、スケジュールテーブルの記憶内容の一例を示す説明図である。図7において、スケジュールDBサーバ520に記憶されているスケジュールテーブル700は、スケジュールID、スケジュール名、開始日時、終了日時、場所、親スケジュールおよび備考のフィールドを有する。各フィールドに情報を設定することで、スケジュールIDごとに具体的なスケジュール情報の内容がレコードとして記憶されている。
ここで、スケジュールIDは、スケジュールを特定する識別情報である。スケジュール名は、スケジュール情報が表すイベント名である。開始日時および終了日時は、スケジュールの開始および終了の日時である。場所は、スケジュール情報が表すイベントの会場である。親スケジュールは、対象となるスケジュール情報と関連する上位のスケジュール情報を表すスケジュールIDである。備考は、スケジュール情報の備考情報である。
<スケジュール登録・変更処理の手順>
図8は、メールフィルタリングサーバによるスケジュール登録・変更処理の手順を示すフローチャートである。図8のフローチャートは、メールフィルタリングサーバ500が新たな電子メール101を受信した場合の電子メール101の通知内容に応じたスケジュール情報の登録・変更の手順を表している。図8の各処理は、メールフィルタリングサーバ500に備えられた受信部301〜設定部309相当の機能部によって実行される。
図8において、メールフィルタリングサーバ500は、まず、電子メール101を読み込み(ステップS801)、読み込んだ電子メール101のMessage−IDを取得する(ステップS802)。そして、メールフィルタリングサーバ500は、ステップS802において取得したMessage−IDがスケジュールDBサーバ520に登録済みか否かを判断する(ステップS803)。ここで、図9を用いて、Message−IDが登録されているスケジュール−Message−ID対応付けテーブルについて説明する。
図9は、スケジュール−MessageID対応付けテーブルの記憶内容の一例を示す説明図である。図9において、スケジュール−MessageID対応付けテーブル900は、スケジュールIDと、Message−IDとのフィールドを有する。各フィールドに情報を設定することで、スケジュールIDとMessage−IDとが関連付けられたレコードとして記憶されている。
ここで、スケジュールIDは、スケジュールを特定する識別情報であり、スケジュールテーブル700(図7参照)に登録されているスケジュールIDと対応している。また、Message−IDは、スケジュールIDが示すスケジュール情報を通知した電子メール101に付与されているMessage−IDである。
図8のステップS803の処理では、ステップS802によって取得されたMessage−IDが、スケジュール−MessageID対応付けテーブル900に記憶されているいずれかのレコードと一致するかを判断する。ステップS803において、一致すると判断された場合は、ステップS802において取得したMessage−IDが登録済みであることを意味する。反対に、一致しないと判断されたん場合は、ステップS802において取得したMessage−IDが登録済みでないことを意味する。
図8の説明に戻り、ステップS803において、Message−IDが登録済みではないと判断された場合(ステップS803:No)、メールフィルタリングサーバ500は、新規スケジュール登録処理を行う(ステップS804)。ステップS804の新規スケジュール登録処理ではステップS801によって読み込まれた電子メール101に含まれているスケジュール情報を登録する。ステップS804の新規スケジュール登録処理についての詳細な説明は後述する。
その後、メールフィルタリングサーバ500は、新規スケジュールについて、表示タイプ登録処理を行って(ステップS805)、一連の処理を終了する。ステップS805の表示タイプ登録処理についての詳細な説明は後述する。
一方、ステップS803において、Message−IDが登録済みであると判断された場合(ステップS803:Yes)、メールフィルタリングサーバ500は、電子メール101の本文に新しい日付が含まれているか否かを判断する(ステップS806)。ステップS806において、電子メール101の本文に新しい日付が含まれている場合、電子メール101が変更を通知する電子メールであることを意味する。
ステップS806において、判断の基準となっている新しい日付とは、ステップS802によって取得されたMessage−IDと共に対応付けてスケジュールテーブル700に登録されているスケジュール情報の日付と異なる日付を意味する。
そして、ステップS806において、本文に新しい日付が含まれていると判断された場合(ステップS806:Yes)、メールフィルタリングサーバ500は、新しい日付が表すスケジュール情報を特定するため、スケジュール抽出処理を行う(ステップS807)。
その後、メールフィルタリングサーバ500は、スケジュール抽出処理の結果、スケジュール変更フラグ=1に設定されているか否かを判断する(ステップS808)。スケジュール変更フラグは抽出されたスケジュール情報が変更を通知しているか否かを表すフラグである。スケジュール変更フラグ=1が設定されていれば、スケジュール情報は、変更を通知していることを意味する。また、スケジュール変更フラグ=0が設定されていれば、スケジュール情報は、変更を通知していないことを意味する。
ステップS808において、スケジュール変更フラグ=1に設定されていると判断された場合(ステップS808:Yes)、メールフィルタリングサーバ500は、スケジュール情報を更新する(ステップS809)。具体的には、メールフィルタリングサーバ500は、ステップS807において抽出されたスケジュール情報によってスケジュールテーブル700を更新することによって特定のスケジュール情報を変更している。
ステップS808において、スケジュール変更フラグ=1に設定されていないと判断された場合(ステップS808:No)、メールフィルタリングサーバ500は、親スケジュールIDを特定する(ステップS810)。そして、メールフィルタリングサーバ500は、抽出されたスケジュールと、親スケジュールIDとをスケジュールテーブル700に登録する(ステップS811)。
ステップS806において、本文に新しい日付が含まれていないと判断された場合(ステップS806:No)、もしくはステップS809,S811のいずれかの処理が完了した場合、メールフィルタリングサーバ500は、出欠席情報検出処理を行って(ステップS812)、一連の処理を終了する。
以下には、ステップS804,S805,S807およびS812の詳細な処理内容について説明する。
<新規スケジュール登録処理の手順>
図10は、新規スケジュール登録処理の手順を示すフローチャートである。図10のフローチャートは、図8のステップS804によって行われる新規スケジュール登録処理の詳細な手順を表している。図10の各処理が登録部304相当の機能部に実行されることによって、電子メール101によって通知された新規スケジュールを自動的にスケジュールDBサーバ520に登録することができる。
図10において、メールフィルタリングサーバ500は、まず、電子メール101を読み込む(ステップS1001)。そして、メールフィルタリングサーバ500は、読み込んだ電子メール101に対して親スケジュールID=0を設定する(ステップS1002)。
続いて、メールフィルタリングサーバ500は、読み込んだ電子メール101の本文に日付に関する文字列が含まれているか否かを判断する(ステップS1003)。ステップS1003において、日付に関する文字列が含まれていると判断された場合(ステップS1003:Yes)、メールフィルタリングサーバ500は、電子メール101に対してスケジュール抽出処理を行う(ステップS1004)。
上述のステップS1004によって行われるスケジュール抽出処理の詳細(ステップS807と同様の処理)は後述する。また、ステップS1003において、電子メール101の本文に日付に関する文字列が含まれていないと判断された場合(ステップS1003:No)、メールフィルタリングサーバ500は、今回読み込んだ電子メール101はスケジュール情報を通知していないため、一連の処理を終了する。
ステップS1004において、電子メール101からスケジュール情報が抽出されると、メールフィルタリングサーバ500は、抽出されたスケジュール情報をスケジュールDBサーバ520のスケジュールテーブル700に登録する(ステップS1005)。ステップS1004の詳細については後述する。
その後、メールフィルタリングサーバ500は、親スケジュールID=0に設定されているか否かを判断する(ステップS1006)。ステップS1006において、親スケジュールID=0に設定されていると判断された場合(ステップS1006:Yes)、メールフィルタリングサーバ500は、親スケジュールIDを設定する(ステップS1007)。
一方、ステップS1006において、親スケジュールID=0に設定されていないと判断された場合(ステップS1006:No)、メールフィルタリングサーバ500は、ステップS1007の処理を行わずにステップS1008の処理に移行する。ステップS1002において、親スケジュールID=0に設定したため、はじめてステップS1006の判断を行う場合には、すべてYesと判断される。
そして、後述するステップS1008において、No判断が発生した場合に、同じ電子メール101に含まれている他の日付のスケジュールを抽出する処理に移行するため親スケジュールID=0以外になることがある。すなわち、ステップS1006では上述の場合、親スケジュールID=0に設定されていないと判断される。
ステップS1007の処理が完了すると、メールフィルタリングサーバ500は、電子メール101の本文に他の日付が存在するか否かを判断する(ステップS1008)。ステップS1008によって、電子メール101の本文に他の日付が存在すると判断された場合(ステップS1008:Yes)、メールフィルタリングサーバ500は、ステップS1004の処理に戻り、他の日付についてのスケジュール抽出に移行する。
その後、ステップS1008によって、電子メール101の本文に他の日付が存在しないと判断された場合(ステップS1008:No)、メールフィルタリングサーバ500は、そのまま一連の処理を終了する。
<スケジュール抽出処理の手順>
図11は、スケジュール抽出処理の手順を示すフローチャートである。図11は、図8のステップS807によって行われるスケジュール抽出処理の詳細な手順を表している。図11の各処理が判定部302、特定部305、検出部306および抽出部308相当の機能部に実行されることによって、電子メール101に含まれているスケジュール情報を抽出すると共に、変更通知であるか否かを表すフラグを設定することができる。
図11において、メールフィルタリングサーバ500は、まず、電子メール101を読み込み(ステップS1101)、読み込んだ電子メール101の本文中の日付前後の文字列を解析する(ステップS1102)。そして、メールフィルタリングサーバ500は、ステップS1102における解析の結果、文字列にスケジュール変更に関するキーワードテーブルが含まれているか否かを判断する(ステップS1103)。ここで、図12を用いてステップS1102における解析処理について説明する。
図12は、日付前後の本文解析結果の一例を示す説明図である。ここで、図12を用いて、電子メール101の本文解析結果について具体例を挙げて説明する。そして、電子メール101にて図12に例示したメール本文1200が含まれているとする。
メールフィルタリングサーバ500によって、図12に例示したメール本文1200に対して日付前後の文字列を解析すると、文字列1210,1220が抽出される。さらに、メールフィルタリングサーバ500は、抽出された各文字列1210,1220を解析すると解析結果1211,1221を得ることができる。
したがって、メールフィルタリングサーバ500は、図11のステップS1103では、解析結果1211,1221を参照して判断を行う。また、メール本文1200から下記の図13にて説明するような変更キーワードが含まれている場合に、メールフィルタリングサーバ500は、電子メールが変更通知であると判定する。
図13は、変更キーワードテーブルの記憶内容の一例を示す説明図である。図13において、スケジュールDBサーバ520に記憶されている変更キーワードテーブル1300は、キーワードIDおよびキーワードのフィールドを有する。各フィールドに情報を設定することで、キーワードIDごとのキーワードがレコードとして記憶されている。ここで、キーワードIDは、キーワードを特定する識別情報である。キーワードは、変更を意味する文字列である。
図11の説明に戻り、メールフィルタリングサーバ500は、ステップS1103において、スケジュール変更に関するキーワードが含まれていると判断された場合(ステップS1103:Yes)、スケジュール変更フラグ=1を設定する(ステップS1104)。すなわち、ステップS1104において、メールフィルタリングサーバ500は、電子メール101から抽出されたスケジュール情報に対して変更通知であるというフラグを設定している。
一方、ステップS1103において、スケジュール変更に関するキーワードが含まれていないと判断された場合(ステップS1103:No)、メールフィルタリングサーバ500は、スケジュール変更フラグ=0を設定する(ステップS1105)。すなわち、ステップS1105において、メールフィルタリングサーバ500は、電子メール101から抽出されたスケジュール情報に対して変更通知でないというフラグを設定している。
スケジュール変更フラグの設定が完了すると、メールフィルタリングサーバ500は、読み込んだ電子メールの文字列にキーワードテーブルの単語があるか否かを判断する(ステップS1106)。ステップS1106において判断の基準となっているキーワードテーブルとは、例えば、後述するスケジュールキーワードテーブル1400(図14参照)を意味する。したがって、ステップS1106では、電子メール101の文字列にスケジュールキーワードテーブル1400に記憶されている単語があるか否かを判断している。
図14は、スケジュールキーワードテーブルの記憶内容の一例を示す説明図である。図14において、スケジュールDBサーバ520に記憶されているスケジュールキーワードテーブル1400は、キーワードIDおよびキーワードのフィールドを有する。各フィールドに情報を設定することで、キーワードIDごとに1種類のスケジュールを表すキーワードが関連付いたレコードとして記憶されている。ここで、キーワードIDは、キーワードを特定する識別情報である。また、キーワードは、スケジュールが表すイベントを意味する文字列である。
スケジュールキーワードテーブル1400のキーワードは、利用者やメールフィルタリングサーバ500の管理者によって適宜追加もしくは削除することができる。したがって、利用者のスケジュール情報として通知されるイベントの傾向に応じたキーワードを設定することができる。
図11の説明に戻り、ステップS1106において、文字列の中にスケジュールキーワードテーブル1400の単語があると判断された場合(ステップS1106:Yes)、メールフィルタリングサーバ500は、スケジュール変更用の情報の抽出を行う。すなわち、メールフィルタリングサーバ500は、日付、時間とステップS1106によってスケジュールキーワードテーブル1400に含まれていたと判断されたキーワードと共にスケジュール変更フラグの値を返却して(ステップS1107)、一連の処理を終了する。
一方、ステップS1106において、文字列の中にスケジュールキーワードテーブル1400の単語がないと判断された場合(ステップS1106:No)、メールフィルタリングサーバ500は、スケジュール変更用の情報の抽出を行う。すなわち、メールフィルタリングサーバ500は、日付、時間と件名のスケジュール変更フラグの値を返却して(ステップS1108)、一連の処理を終了する。
<表示タイプ登録処理の手順>
図15は、表示タイプ登録処理の手順を示すフローチャートである。図15は、図8のステップS805によって行われる表示タイプ登録処理の詳細な手順を表している。図15の各処理が登録部304および設定部309相当の機能部に実行されることにより電子メール101から抽出されたスケジュール情報を、スケジュールDBサーバ520のスケジュール情報に表示タイプに関する情報を関連付けて登録することができる。
上述の表示タイプとは、スケジュール情報を利用者端末530などによって、利用者に可視的に提供する際の、表示手法の分類である。本実施例では表示タイプとして、例えば、1〜3が設定されている。表示タイプ1,2は、スケジュール情報を表示する、表示タイプ3は表示させない場合に設定する。さらに、表示タイプ1は、重要度が高いスケジュール情報を表示させる場合に設定する。そして、表示タイプ2は重要度が低いスケジュール情報を表示させる場合に設定する。しかしながら、上述の設定は一例であり、表示タイプの設定と表示手法との対応関係は利用者端末530の操作によって自由に変更することができる。
図15において、メールフィルタリングサーバ500は、まず、電子メール101を読み込み(ステップS1501)、読み込んだ電子メール101のヘッダフィールの設定されている各宛先に利用者が存在するか否かを判断する(ステップS1502)。
ステップS1502における各宛先とは、例えば、ヘッダフィールドに設定されているTO,CCおよびBCCを意味する。また、利用者とは、図6に例示したユーザ情報テーブル600に登録されたユーザ、すなわち、メールフィルタリングサーバ500によってスケジュール情報の登録・変更処理の実行対象として設定しているユーザを意味する。
ステップS1502において、各宛先に利用者が存在すると判断された場合(ステップS1502:Yes)、メールフィルタリングサーバ500は、利用者が存在する宛先はどの種別かを判断する(ステップS1503)。宛先の種別とは、例えば、TOによって設定される通常の宛先と、CCによって設定されるカーボンコピーの宛先と、BCCによって設定されるブラインドカーボンコピーの宛先との3種類が挙げられる。
したがって、ステップS1503において、宛先の種別がTOであると判断された場合(ステップS1503:TO)、メールフィルタリングサーバ500は、スケジュール情報を表示タイプ=1と設定する(ステップS1504)。また、ステップS1503において、宛先の種別がCCであると判断された場合(ステップS1503:CC)、メールフィルタリングサーバ500は、スケジュール情報を表示タイプ=2と設定する(ステップS1505)。
同様に、ステップS1503において、宛先の種別がBCCであると判断された場合(ステップS1503:BCC)、メールフィルタリングサーバ500は、スケジュール情報を表示タイプ=3と設定する(ステップS1506)。
ステップS1504〜S1506の処理によって表示タイプの設定が完了すると、メールフィルタリングサーバ500は、スケジュールDBサーバ520にスケジュール情報と共に表示タイプの設定を登録して(ステップS1511)、一連の処理を終了する。
一方、ステップS1502において、各宛先に利用者が存在しないと判断された場合(ステップS1502:No)、メールフィルタリングサーバ500は、さらに、利用者が該当メールを受信しているか否かを判断する(ステップS1507)。ステップS1507において、利用者が該当メールを受信していると判断されると(ステップS1507:Yes)、メールフィルタリングサーバ500は、利用者の名前が電子メール101の本文に存在するか否かを判断する(ステップS1508)。
ステップS1508において、利用者の名前が電子メール101の本文に含まれていると判断された場合(ステップS1508:Yes)、メールフィルタリングサーバ500は、スケジュール情報を表示タイプ=1と設定する(ステップS1509)。また、ステップS1508において、利用者の名前が電子メール101の本文に含まれていないと判断された場合(ステップS1508:No)、メールフィルタリングサーバ500は、スケジュール情報を表示タイプ=2と設定する(ステップS1510)。
ステップS1509もしくはS1510の処理によって表示タイプの設定が完了すると、メールフィルタリングサーバ500は、スケジュールDBサーバ520にスケジュール情報と共に表示タイプの設定を登録して(ステップS1511)、一連の処理を終了する。
また、ステップS1507において、利用者が該当メールを受信していないと判断されると(ステップS1507:No)、メールフィルタリングサーバ500は、読み込んだ電子メール101に利用者に関するスケジュール情報が含まれていないと判断して、そのまま一連の処理を終了する。上述のステップS1511では、図16にて説明するスケジュール表示権限テーブル1600に表示タイプの設定が登録される。
図16は、スケジュール表示権限テーブルの記憶内容の一例を示す説明図である。図16において、スケジュールDBサーバ520に記憶されているスケジュール表示権限テーブル1600は、スケジュールID、ユーザID、表示タイプおよび出欠席情報のフィールドを有する。各フィールドに情報を設定することで、スケジュールIDごとに閲覧権限のあるユーザIDや表示タイプや出欠席情報がレコードとして記憶されている。
ここで、スケジュールIDは、スケジュールを特定する識別情報である。ユーザIDは、利用者を特定する識別情報である。ユーザIDとして設定されている値は、ユーザ情報テーブル600と紐付いている。表示タイプは、スケジュール情報に設定された表示タイプ(1,2,3orNULL)である。そして、出欠席情報は、スケジュールIDに対応するスケジュール情報に関する出欠席を表す識別情報(1,2orNULL)である。本実施例では、一例として、出欠席情報=1は出席を表し、出欠席情報=2は欠席を表している。
<出欠情報検出処理の手順>
図17は、出欠情報検出処理の手順を示すフローチャートである。図17のフローチャートは、図8のステップS812によって行われる出欠席情報検出処理の詳細な手順を表している。図17の各処理が登録部304および抽出部308相当の機能部に実行されることによって、電子メール101によって通知された出欠席情報をスケジュール情報と対応付けて登録することができる。
図17において、メールフィルタリングサーバ500は、まず、電子メール101を読み込む(ステップS1701)と共に、出欠席キーワードテーブル1800(図18参照)に記憶されている各キーワードを読み込む(ステップS1702)。
図18は、出欠席キーワードテーブルの記憶内容の一例を示す説明図である。図18において、スケジュールDBサーバ520に記憶されている出欠席キーワードテーブル1800は、キーワードIDおよびキーワードのフィールドを有する。各フィールドに情報を設定することで、キーワードIDごとのキーワードがレコードとして記憶されている。ここで、キーワードIDは、キーワードを特定する識別情報である。キーワードは、出欠席を意味する文字列である。
図17の説明に戻り、メールフィルタリングサーバ500は、ステップS1701において読み込んだ電子メール101の本文に、出欠席についてのキーワードが含まれているか否かを判断する(ステップS1703)。ステップS1703では、例えば、ステップS1702によって読み込んだ各キーワードのいずれか1つが電子メール101の本文に含まれていれば、出欠席についてのキーワードが含まれていると判断する。
ステップS1703において、出欠席についてのキーワードが含まれていると判断された場合(ステップS1703:Yes)、メールフィルタリングサーバ500は、本文に含まれている出欠席についてのキーワードを、出欠席に関する情報として返却する(ステップS1704)。一方、ステップS1703において、出欠席についてのキーワードが含まれていないと判断された場合(ステップS1703:No)、メールフィルタリングサーバ500は、出欠席に関する情報が存在しないことを表すためNULLを返却する(ステップS1705)。
ステップS1704もしくはS1705によっていずれかの情報が返却されると、メールフィルタリングサーバ500は、返却結果をスケジュール表示権限テーブル1600(図16参照)に登録して(ステップS1706)、一連の処理を終了する。
<スケジュール情報の表示処理>
図19は、スケジュール情報表示処理を示す説明図である。図8にて説明したように、メールフィルタリングサーバ500の処理によって、スケジュールDBサーバ520にスケジュール情報が登録や変更される。一方、クライアント側の利用者端末530では、上述の処理によって登録・変更されたスケジュール情報を各利用者がカレンダー上に一覧表示させて、登録・変更内容を確認することができる。
利用者がスケジュール情報を表示させる場合には、まず、利用者端末530から、Webサーバ510への表示要求が行われる。したがって、サーバ側ではクライアント側からの表示要求の受信をトリガに処理を開始する。
具体的には、サーバ側のWebサーバ510は、スケジュール表示権限テーブル1600(図16参照)から、表示タイプが1または2のスケジュールIDを取得する(ステップS1901)。続いて、Webサーバ510は、スケジュールテーブル700(図7参照)から、ステップS1901によって取得されたスケジュールIDに基づいてスケジュール情報を取得する(ステップS1902)。
その後、Webサーバ510は、日毎に時間・表示権限に応じたスケジュール情報をソートし(ステップS1903)、ソート後のスケジュール情報をクライアント側に返却して(ステップS1904)、サーバ側の処理を終了する。
一方、クライアント側では、利用者端末530によって、サーバ側のWebサーバ510から受け取ったスケジュール情報をスケジュール画面1900に表示させて(ステップS1905)、一連の処理を終了する。
図20は、スケジュール画面の表示例を示す説明図である。図20の表示画面2000は、サーバ側から受け取ったスケジュール情報の表示例を表している。表示画面2000では、スケジュール情報の一例として、5/8,5/12,5/21では、同時刻に複数のイベントが予定されている。同時刻に複数のイベントが予定されている場合には、重要度に応じて表示手法を変えると共に、重要度に応じて降順(重要度が高ければ上位)に表示する。
以下には、本実施例において、パターン1〜4のような事例が発生した場合の運用内容について説明する。
<パターン1:複数の利用者へのスケジュール情報の通知>
図21は、電子メールによるスケジュール情報の通知例を示す説明図である。パターン1では、外部から複数の利用者に新規のスケジュール情報を通知する電子メール501が届いた場合の運用内容について説明する。
図21のように、例えば、A,B,Cさんは、それぞれウェブメーラやメールクライアントを利用して、外部から送信された電子メール101を受信する。メールフィルタリングサーバ500は、外部から各利用者に宛てて送信された電子メール101を各利用者端末530によって受信する前に受信することができる。そして、メールフィルタリングサーバ500は、受信した電子メール101によって通知されたスケジュール情報をスケジュールDBサーバ520に登録する。
また、A,B,Cさんがウェブメーラやメールクライアントを利用して電子メール101を送信する場合もある。A,B,Cさんが電子メール101を送信する場合も、メールフィルタリングサーバ500は、送信された電子メール101をインターネット回線540に出力される前に受信することができる。そして、メールフィルタリングサーバ500は、受信した電子メール101によって通知されたスケジュール情報をスケジュールDBサーバ520に登録する。
ここで、新規のスケジュール情報として、一例として、会議1と会議2とが通知されている。したがって、メールフィルタリングサーバ500は、スケジュールDBサーバ520に、各スケジュール情報に閲覧権限を付与して関連付けて登録する。閲覧権限の付与は予め設定した閲覧条件に基づいて付与することができる。例えば、TO、CC、BCCに入っている、本文に名前が入っている(参加者に含まれる)、過去に同様の打合せに参加している、該当するML(メーリングリスト)を受信している、などが挙げられる。
図21の例では、会議1にはAさん、Bさんの閲覧権限が付与されている。また、会議2には、Aさん、Cさんの閲覧権限が付与されている。したがって、A,B,Cさんは共通のスケジュールDBサーバ520を参照するが、各自が閲覧できるスケジュール情報はそれぞれ異なる。
具体的には、Aさんの利用者端末530の表示画面2000Aには、会議1,2の双方のスケジュール情報が表示される。ところが、Bさんの利用者端末530の表示画面2000Bには、会議1のスケジュール情報のみが表示され、Cさんの利用者端末530の表示画面2000Cには、会議2のスケジュール情報のみが表示される。以上説明したように、本実施例では、電子メール101から抽出されたスケジュール情報を共通のスケジュールDBサーバ520に登録するが、閲覧権限の設定によって、各自にとって関連するスケジュール情報のみを表示させることができる。
<パターン2:スケジュール情報の変更の発生>
図22は、スケジュール情報の変更例を示す説明図である。パターン2では、登録済みのスケジュール情報の変更が発生した場合の運用内容について説明する。図22のように、スケジュールDBサーバ520にマスタスケジュールとして会議1についてのスケジュール情報が登録された後、Aさん以外の他者によってマスタスケジュールが変更されることがある。Aさんは、当然マスタスケジュールが変更されたことは知らない。
そこで、マスタスケジュールが変更されると、Aさんの利用者端末の表示画面2000Aに変更内容が反映されると共に、変更を通知する表示を行う。したがって、Aさんは他者によって行われた変更であっても見逃すことなくスケジュール情報を把握することができる。
<パターン3:閲覧権限の設定>
図23は、閲覧権限の設定例を示す説明図である。パターン3では、閲覧権限を設定する場合の運用内容を表している。図23のように、メールフィルタリングサーバ500は、電子メール101のアドレス情報に設定されている宛先アドレスに応じて自動的に閲覧権限を設定することができる。電子メール2310のように通常のメールの場合、メールフィルタリングサーバ500は送信元アドレス(FROM)と、宛先アドレス(TO)および宛先アドレス以外の同報アドレス(CC)に基づいて、閲覧権限を設定する。
また、電子メール2320のようにメーリングリストのメールの場合、メールフィルタリングサーバ500は送信元アドレス(FROM)と、メーリングリストアドレス(TO)に基づいて閲覧権限を設定する。すなわち、メーリングリストアドレスとして設定されたすべての宛先アドレスに閲覧権限が設定される。
<パターン4:スケジュール情報の編集>
図24は、スケジュール情報の編集例を示す説明図である。パターン4では、スケジュール情報を編集する場合の運用内容を表している。図24のように、スケジュールDBサーバ520に登録済みのスケジュール情報を編集する場合には、利用者端末530からWebサーバ510を介してスケジュールDBサーバ520へ編集内容が反映される。編集対象となるスケジュール情報はマスタデータであるため、Aさんが行った編集作業は、Bさん、Cさんが閲覧するスケジュール情報にも漏れなく反映される。
以上説明したように、スケジュール管理プログラム、スケジュール管理装置およびスケジュール管理方法によれば、新たに受信した電子メールに含まれているスケジュール情報について、まず、ヘッダ情報を参照して関連するスケジュール情報を絞り込む。そして、新たに受信した電子メールに含まれているスケジュール情報と、ヘッダ情報から絞り込んだ特定のスケジュール情報とを比較する。
そして、比較結果から今回受信した新たな電子メールが登録済みの特定のスケジュール情報の変更を通知しているか否かを判定している。上述の判定処理によって、変更の通知であると判定された場合には、新たな電子メールに含まれているスケジュール情報によって登録済みの特定のスケジュール情報が更新される。したがって、電子メールによって通知されたスケジュールの変更通知を登録済みのスケジュール情報に反映させることができる。
また、上記技術では、新たに受信した電子メールに含まれているスケジュール情報が、登録済みの特定のスケジュール情報の変更を通知していないと判定された場合に、新規のスケジュール情報としてデータベース110に登録することもできる。したがって、新たに受信した電子メールに含まれているスケジュール情報の内容に応じて適切にデータベース110に反映され、スケジュール情報の登録漏れを防ぐことができる。
また上記技術では、データベース110にスケジュール情報と、共通のスケジュール情報を共有する複数の利用者とを関連付けて登録することができる。関連付けて登録された利用者であれば、データベース110に登録されているスケジュール情報を共有の情報として利用可能になる。したがって、各利用者が個別にスケジュール情報を登録する煩わしさを解消すると共に、複数の利用者宛に通知されたスケジュール情報であっても、漏れることなく対象となるすべての利用者に通知される。
また、上記技術では、電子メールのヘッダ情報を利用して、新たに受信した電子メールの中から、事前に登録済みの特定のスケジュール情報の変更を通知する可能性の高い電子メールを特定することもできる。新たに受信した電子メールが変更を通知する電子メールか否かを判定する前に、変更を通知する可能性の高い電子メールを特定しておくことによって、判定処理の対象となるスケジュール情報が絞り込まれ、処理効率を向上させることができる。
また、上記技術では、ヘッダ情報の中のメッセージIDを参照して、新たに受信した電子メールの派生元となった電子メールを特定することもできる。そして、新たに受信した電子メールは、派生元の電子メールと判定された電子メールによって通知されたスケジュール情報の変更を通知している可能性が高いため、優先的に判定を行うことで、効率的に変更を通知しているか否かを判定することができる。
また、上記技術では、新たに受信した電子メールが、ヘッダ情報から特定されたスケジュール情報の変更を通知していないと判定された場合であっても、登録済みの特定のスケジュール情報と関連性の高いスケジュール情報として登録することができる。すなわち、まったくの新規のスケジュール情報ではなく、登録済みのスケジュール情報に付随したイベントについてのスケジュール情報と関連付けて登録するため、利用者にスケジュール情報同士の関連性も合わせて把握させることができる。
また、上記技術では、新たに受信した電子メールに変更に関する文字列が含まれていた場合には、登録済みのスケジュール情報の変更を通知する電子メールであると判定することができる。すなわち、電子メールの記載の中に変更を通知する際に利用される文字列が含まれているかを判断基準とすることによって、容易かつ高精度に新たに受信した電子メールが変更の通知か否かを判定することができる。
また、上記技術では、新たに受信した電子メールがスケジュール情報の変更を通知しているか否かの判定に先だって、電子メールにスケジュール情報が含まれているか否かを判断することもできる。通常の運用時、各利用者には、スケジュール情報の通知以外にも様々な内容を通知する電子メールが送信される事態が想定される。したがって、上述のように事前に電子メールにスケジュール情報が含まれているか否かを判断した後に、変更を通知する電子メールか否かを判定することによって、スケジュール情報を含んでいない電子メールを処理対象から除外できるため、処理効率を向上させることができる。
また、上記技術では、新たに受信した電子メールの中から出欠席に関する文字列を抽出することもできる。電子メールの運用によっては、各利用者が返信メールや転送メールを利用して登録済みのスケジュール情報についての出欠席に関する情報を通知する場合がある。したがって、上述のような出欠席に関する情報が抽出された場合には、抽出された情報を対象となるスケジュール情報と関連付けて登録すれば、スケジュール情報を共有する各利用者に出欠席状況を把握させることができる。
また、上記技術では、スケジュール情報と共に該スケジュールを表示させる際の重要度や表示タイプなどの付加情報を設定して、スケジュール情報と関連付けて登録することもできる。重要度の設定を追加することによって、同日の同時刻に複数のスケジュール情報が登録されている場合に、重要度が高いスケジュール情報をより強調したり、表示タイプに基づいた表示を行ったりといった、利用者に把握し易い情報として提供が可能になる。
なお、本実施の形態で説明したスケジュール管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本スケジュール管理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本スケジュール管理プログラムは、インターネットなどのネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータに、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
を実行させることを特徴とするスケジュール管理プログラム。
(付記2)前記第二の電子メールが前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報を、前記第二のヘッダ情報と関連付けて前記データベースに登録する登録工程を前記コンピュータに実行させることを特徴とする付記1に記載のスケジュール管理プログラム。
(付記3)前記第二の電子メールの前記第二のヘッダ情報に含まれているアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程を前記コンピュータに実行させ、
前記登録工程は、
前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録することを特徴とする付記1または2に記載のスケジュール管理プログラム。
(付記4)前記データベースを参照し、前記第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出工程を前記コンピュータに実行させ、
前記判定工程は、
前記検出工程によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定することを特徴とする付記1〜3のいずれか一つに記載のスケジュール管理プログラム。
(付記5)前記第二のヘッダ情報は、前記第二の電子メールが他の電子メールから派生して作成されたものであることを識別する識別情報を含み、
前記検出工程において、前記データベースを参照し、前記第一のヘッダ情報が該識別情報を含む場合に、該第一のヘッダ情報と対応付いた前記第一のスケジュール情報を検出することを特徴とする付記4に記載のスケジュール管理プログラム。
(付記6)前記登録工程は、
前記第二のスケジュール情報が前記第一のスケジュール情報を変更する通知ではないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録することを特徴とする付記2〜5のいずれか一つに記載のスケジュール管理プログラム。
(付記7)前記判定工程は、
前記第二の電子メールに、スケジュールの変更を示す文字列が含まれている場合に、前記第二の電子メールが前記第一のスケジュール情報の変更を通知していると判定することを特徴とする付記1〜6のいずれか一つに記載のスケジュール管理プログラム。
(付記8)前記第二の電子メールに日程に関する文字列が含まれているか否かを判断する判断工程を前記コンピュータに実行させ、
前記判定工程は、
前記判断工程によって前記第二の電子メールに日程に関する文字列が含まれていると判断された場合に、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定することを特徴とする付記1〜7のいずれか一つに記載のスケジュール管理プログラム。
(付記9)前記第二の電子メールから出欠席に関する文字列を抽出する抽出工程を前記コンピュータに実行させ、
前記登録工程は、
前記抽出工程によって前記第二の電子メールから出欠席に関する文字列が抽出された場合、当該抽出された出欠席に関する文字列を、前記第二のスケジュール情報と関連付けて前記データベースに登録することを特徴とする付記4〜8のいずれか一つに記載のスケジュール管理プログラム。
(付記10)スケジュール情報の種類ごとに規定された重要度に基づいて、前記第二の電子メールに含まれているスケジュール情報に、当該スケジュール情報の種類に応じた重要度を設定する設定工程を前記コンピュータに実行させ、
前記登録工程は、
前記設定工程によって設定された重要度を、前記第二のスケジュール情報と関連付けて前記データベースに登録することを特徴とする付記1〜9のいずれか一つに記載のスケジュール管理プログラム。
(付記11)前記第二のスケジュール情報に、前記第二の電子メールの送信先のアドレスに基づいて、前記スケジュール情報の表示タイプを設定する設定工程を前記コンピュータに実行させ、
前記登録工程は、
前記設定工程によって設定された表示タイプを、前記第二のスケジュール情報と関連付けて前記データベースに登録することを特徴とする付記1〜9のいずれか一つに記載のスケジュール管理プログラム。
(付記12)第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースと、
第二の電子メールを受信する受信部と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定部と、
前記判定部によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更部と、
を備えることを特徴とするスケジュール管理装置。
(付記13)第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータが、
第二の電子メールを受信する受信工程と、
前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
を実行することを特徴とするスケジュール管理方法。
100 スケジュール管理装置
101 電子メール
102 ヘッダフィールド
103 メール本文
110 データベース
301 受信部
302 判定部
303 変更部
304 登録部
305 特定部
306 検出部
307 判断部
308 抽出部
309 設定部
500 メールフィルタリングサーバ
510 Webサーバ
520 スケジュールDB(データベース)サーバ
530 利用者端末
540 インターネット回線

Claims (10)

  1. 第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータに、
    第二の電子メールを受信する受信工程と、
    前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出工程と、
    前記検出工程によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二の電子メールに含まれる第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定する判定工程と、
    前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
    前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
    前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を、前記特定工程によって特定された前記複数の利用者と関連付けて前記データベースに登録し、前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録する登録工程と
    を実行させることを特徴とするスケジュール管理プログラム。
  2. 第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータに、
    第二の電子メールを受信する受信工程と、
    前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
    前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
    前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
    前記特定工程によって特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記第二のスケジュール情報の表示タイプを前記第二のスケジュール情報に設定する設定工程と、
    前記設定工程によって前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録する登録工程と、
    を実行させることを特徴とするスケジュール管理プログラム。
  3. 前記第二のヘッダ情報は、前記第二の電子メールが他の電子メールから派生して作成されたものであることを識別する識別情報を含み、
    前記検出工程において、前記データベースを参照し、前記第一のヘッダ情報が該識別情報を含む場合に、該第一のヘッダ情報と対応付いた前記第一のスケジュール情報を検出することを特徴とする請求項1に記載のスケジュール管理プログラム。
  4. 前記判定工程は、
    前記第二の電子メールに、スケジュールの変更を示す文字列が含まれている場合に、前記第二の電子メールが前記第一のスケジュール情報の変更を通知していると判定することを特徴とする請求項1〜3のいずれか一つに記載のスケジュール管理プログラム。
  5. 第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースと、
    第二の電子メールを受信する受信部と、
    前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出部と、
    前記検出部によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二の電子メールに含まれる第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定する判定部と、
    前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更部と、
    前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定部と、
    前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を、前記特定部によって特定された前記複数の利用者と関連付けて前記データベースに登録し、前記判定部によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録する登録部と、
    を備えることを特徴とするスケジュール管理装置。
  6. 第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースと、
    第二の電子メールを受信する受信部と、
    前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定部と、
    前記判定部によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更部と、
    前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定部と、
    前記特定部によって特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記第二のスケジュール情報の表示タイプを前記第二のスケジュール情報に設定する設定部と、
    前記設定部によって前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録する登録部と、
    を備えることを特徴とするスケジュール管理装置。
  7. 第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータが、
    第二の電子メールを受信する受信工程と、
    前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する前記第一のヘッダ情報と関連付けて記憶されている前記第一のスケジュール情報を検出する検出工程と、
    前記検出工程によって前記第一のスケジュール情報が検出された場合、前記第一のスケジュール情報と前記第二の電子メールに含まれる第二のスケジュール情報とを比較することにより、前記第二の電子メールが、前記第一のスケジュール情報の変更を通知しているか否かを判定する判定工程と、
    前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
    前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
    前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していると判定された場合、前記第二のスケジュール情報を、前記特定工程によって特定された前記複数の利用者と関連付けて前記データベースに登録し、前記判定工程によって、前記第二のスケジュール情報が前記第一のスケジュール情報の変更を通知していないと判定された場合、前記第二のスケジュール情報と前記第一のスケジュール情報とを関連付けて前記データベースに登録する登録工程と
    を実行することを特徴とするスケジュール管理方法。
  8. 第一の電子メールに含まれている第一のスケジュール情報を該第一の電子メールの第一のヘッダ情報と関連付けて記憶するデータベースにアクセス可能なコンピュータが、
    第二の電子メールを受信する受信工程と、
    前記データベースを参照し、前記第二の電子メールの第二のヘッダ情報に対応する第一のヘッダ情報が存在する場合は、該第二の電子メールが、前記第一のスケジュール情報の変更を通知していると判定する判定工程と、
    前記判定工程によって判定された判定結果に基づいて、前記第二の電子メールに含まれる第二のスケジュール情報を用いて、前記データベース内の前記第一のスケジュール情報を変更する変更工程と、
    前記第二の電子メールの前記第二のヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、該第二の電子メールに含まれる前記第二のスケジュール情報を共有する複数の利用者を特定する特定工程と、
    前記特定工程によって特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記第二のスケジュール情報の表示タイプを前記第二のスケジュール情報に設定する設定工程と、
    前記設定工程によって前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記第二のスケジュール情報を、前記特定された前記複数の利用者と関連付けて前記データベースに登録する登録工程と、
    を実行することを特徴とするスケジュール管理方法。
  9. 複数の端末間で送受信されるメールを取得し、
    取得した前記メールの宛先アドレスを特定し、
    前記複数の端末のそれぞれから参照可能な格納部に登録されているスケジュールのうち特定した前記宛先アドレスに対応するユーザのスケジュールと、取得した前記メールの内容を解析して得られたスケジュール内容とを比較することにより、取得した前記メールの内容を解析して得られたスケジュール内容が、特定した前記宛先アドレスに対応するユーザのスケジュールの変更を通知しているか否かを判定し、
    取得した前記メールの内容を解析して得られたスケジュール内容が、特定した前記宛先アドレスに対応するユーザのスケジュールの変更を通知していると判定された場合、特定した前記宛先アドレスに対応するユーザのスケジュールを、取得した前記メールの内容を解析して得られたスケジュール内容で更新し、取得した前記メールの内容を解析して得られたスケジュール内容が、特定した前記宛先アドレスに対応するユーザのスケジュールの変更を通知していないと判定された場合、特定した前記宛先アドレスに対応するユーザのスケジュールと取得した前記メールの内容を解析して得られたスケジュール内容とを関連付けて前記格納部に登録する
    処理をコンピュータが実行することを特徴とするスケジュール登録方法。
  10. 複数の端末間で送受信されるメールを取得し、
    取得した前記メールの宛先アドレスを特定し、
    前記複数の端末のそれぞれから参照可能な格納部に登録されているスケジュールのうち特定した前記宛先アドレスに対応するユーザのスケジュールを、取得した前記メールの内容を解析して得られたスケジュール内容で更新し、
    取得した前記メールのヘッダ情報に含まれている宛先を示すアドレス情報に基づいて、前記メールの内容を解析して得られたスケジュール内容を共有する複数の利用者を特定し、
    特定された前記複数の利用者の各々の利用者に対応する宛先の種別に応じた前記メールの内容を解析して得られたスケジュール内容の表示タイプを前記メールの内容を解析して得られたスケジュール内容に設定し、
    前記各々の利用者に対応する宛先の種別に応じた表示タイプが設定された前記メールの内容を解析して得られたスケジュール内容を、前記特定された前記複数の利用者と関連付けて前記格納部に登録する
    処理をコンピュータが実行することを特徴とするスケジュール登録方法。
JP2010169747A 2010-07-28 2010-07-28 スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法 Active JP5699473B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010169747A JP5699473B2 (ja) 2010-07-28 2010-07-28 スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010169747A JP5699473B2 (ja) 2010-07-28 2010-07-28 スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法

Publications (2)

Publication Number Publication Date
JP2012032887A JP2012032887A (ja) 2012-02-16
JP5699473B2 true JP5699473B2 (ja) 2015-04-08

Family

ID=45846250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010169747A Active JP5699473B2 (ja) 2010-07-28 2010-07-28 スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法

Country Status (1)

Country Link
JP (1) JP5699473B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6527099B2 (ja) * 2016-04-12 2019-06-05 株式会社沖データ 画像処理システム
CN113780980A (zh) * 2021-08-12 2021-12-10 荣耀终端有限公司 日程更新方法和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259568A (ja) * 1998-03-13 1999-09-24 Omron Corp 情報処理装置及び方法、並びに記録媒体
JP2003256623A (ja) * 2002-03-01 2003-09-12 Cybozu Inc スケジュール転送システム、スケジュール登録装置及びプログラム
JP2005196493A (ja) * 2004-01-07 2005-07-21 Mitsubishi Electric Corp スケジュール管理システム
JP2009093503A (ja) * 2007-10-10 2009-04-30 Nec Corp スケジュール登録支援システム、スケジュール登録支援方法及びプログラム
JP5211879B2 (ja) * 2008-06-17 2013-06-12 カシオ計算機株式会社 スケジュール管理システム及びスケジュール管理方法

Also Published As

Publication number Publication date
JP2012032887A (ja) 2012-02-16

Similar Documents

Publication Publication Date Title
US8423394B2 (en) Method for tracking the status of a workflow using weblogs
US7831676B1 (en) Method and system for handling email
US8417682B2 (en) Visualization of attributes of workflow weblogs
US8228821B2 (en) System and method for generating representations of message-related relationships
US8219920B2 (en) Methods and systems for managing to do items or notes or electronic messages
JP5003271B2 (ja) 電子通信文書のコピーが格納されている電子通信文書を関係者に示す方法及びプログラム、ならびに、電子通信文書が格納されていることを関係者と寄稿者とのうちの少なくとも一方に示す方法、システム、及び機器
US8140691B2 (en) Role-based views access to a workflow weblog
US7805683B2 (en) Action pad
US7412485B2 (en) Information processing system, information procesing method, a software program for executing such method, and information storage medium comprising such software program
CN101090373B (zh) 附加信息发布装置和附加信息发布系统
US20080189622A1 (en) Human Interaction With Application From Email Client
US8036926B2 (en) Techniques for selecting calendar events by examining content of user's recent e-mail activity
US20070300164A1 (en) Method and system for managing instant message logs from within a calendar application
JP2007011778A (ja) 情報検索表示方法およびコンピュータ読み取り可能な記録媒体
JP2007193685A (ja) 人脈情報表示プログラム、該プログラムを記録した記録媒体、人脈情報表示装置、および人脈情報表示方法
US11816096B2 (en) Systems and methods for managing designated content in collaboration systems
CN101221638A (zh) 管理回复电子邮件的收件人信息的方法和系统
JP5767962B2 (ja) アドレス情報登録更新装置、アドレス情報登録更新方法およびアドレス情報登録更新プログラム
US6618756B1 (en) Activity state viewing and recording system
JP5699473B2 (ja) スケジュール管理プログラム、スケジュール管理装置、スケジュール管理方法およびスケジュール登録方法
US10019493B2 (en) Related information presentation device, and related information presentation method
Van der Aalst et al. Emailanalyzer: an e-mail mining plug-in for the prom framework
US20230101151A1 (en) Systems and methods for providing aggregate group presence state identifier
KR101851602B1 (ko) 내부고객만족을 제공하기 위한 업무 전략맵 관리장치
JP2005222174A (ja) 活動変化背景情報抽出装置および活動変化背景情報抽出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141020

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R150 Certificate of patent or registration of utility model

Ref document number: 5699473

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150