(57)【要約】【課題】会議等のイベントのスケジューリングを行う際に、開催者がスケジューリング対象者を指定する必要のないスケジュール登録を実現する。【解決手段】入力された予定名を元にスケジュールデータベースを検索し、その予定名に類似する予定名を含むスケジュールデータに含まれるユーザ名をスケジューリング対象者名として検出する。そして、指定された候補日時の範囲４０１内で、スケジューリング対象者に共通する空き時間帯６０１〜６０３を検索し、空き時間帯６０１〜６０３のいずれか１つと、スケジューリング対象者名、及び入力された予定名を含むスケジュールデータをスケジュールデータベースに登録する。【選択図】図６
2010191808.tif 000002
【特許請求の範囲】
【請求項１】
入力された予定名を元に、スケジュールデータを記憶したスケジュールデータベースを検索し、該予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出する第１の検索ステップと、
入力された期間であって、かつ、前記スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、前記スケジュールデータベースを参照して検索する第２の検索ステップと、
前記空き期間、前記スケジューリング対象者名、及び前記予定名を含むスケジュールデータを前記スケジュールデータベースに登録する登録ステップと
をコンピュータに実行させることを特徴とするスケジューリングプログラム。
【請求項２】
前記第１の検索ステップは、前記入力された予定名に類似する予定名を含むスケジュールデータに含まれる対象者名毎に前記スケジュールデータベースを検索して、該スケジュールデータに含まれる期間に重複する他のスケジュールデータが存在するか否かを確認し、該他のスケジュールデータが存在しない対象者名を前記スケジューリング対象者名として検出することを特徴とする請求項１記載のスケジューリングプログラム。
【請求項３】
前記第１の検索ステップは、さらに、前記他のスケジュールデータが存在する対象者名をスケジューリングサブ対象者名として検出し、
前記登録ステップは、前記スケジューリングサブ対象者をさらに含むスケジュールデータを前記スケジュールデータベースに登録する
ことを特徴とする請求項２記載のスケジューリングプログラム。
【請求項４】
前記第１の検索ステップは、前記入力された予定名に類似する予定名を含む複数のスケジュールデータの少なくとも１つ以上に含まれる対象者名のうち、該入力された予定名に対応する予定への参加率が閾値より高い対象者名を、前記スケジューリング対象者名として検出することを特徴とする請求項１又は２記載のスケジューリングプログラム。
【請求項５】
前記第１の検索ステップは、さらに、前記参加率が前記閾値以下である対象者名をスケジュールサブ対象者名として検出し、
前記登録ステップは、前記スケジュールサブ対象者をさらに含むスケジュールデータを前記スケジュールデータベースに登録する
ことを特徴とする請求項４記載のスケジューリングプログラム。
【請求項６】
コンピュータが、入力された予定名を元に、スケジュールデータを記憶したスケジュールデータベースを検索し、該予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出する第１の検索ステップと、
前記コンピュータが、入力された期間であって、かつ、前記スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、前記スケジュールデータベースを参照して検索する第２の検索ステップと、
前記コンピュータが、前記空き期間、前記スケジューリング対象者名、及び前記予定名を含むスケジュールデータを前記スケジュールデータベースに登録する登録ステップと
を備えることを特徴とするスケジューリング方法。
【請求項７】
スケジュールデータを記憶したスケジュールデータベースと、
入力された予定名を元に前記スケジュールデータベースを検索し、該予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出し、入力された期間であって、かつ、該スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、該スケジュールデータベースを参照して検索する検索手段と、
前記空き期間、前記スケジューリング対象者名、及び前記予定名を含むスケジュールデータを前記スケジュールデータベースに登録する登録手段と
を備えることを特徴とするスケジューリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリング対象者を検索して登録するスケジューリングプログラム、スケジューリング方法、及びスケジューリング装置に関する。
【背景技術】
【０００２】
従来のスケジューリング方法としては、出席予定者に出席者確定パラメータを入力させることでその出席予定者がミーティングに出席する条件を特定する方法が知られている。
会議開催希望日時の範囲において、出席が要請される全利用者の空き時間情報を取得し、全員の空き時間情報に基づいて最適な会議スケジュールを決定する方法も知られている。
【０００３】
複数の会議出席者の出席可能時間等に基づいて開催可能な会議を自動的に決定する方法も知られている。
会議の重要度、関係者の出席必要度、他メンバの出席可否の回答状況等を考慮して会議日程を調整する方法も知られている。
【０００４】
会議開催の予定表を参加予定者に回覧して全員の空き時間を検出し、複数の候補日時に対する各参加予定者の承諾結果から最適な会議日時を決定する方法も知られている。
入力ペンをタブレット上でドラッグすることで、スケジュール表示画面の所望の時間帯を選択する方法も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２８３６１号公報
【特許文献２】特開平９−９１３４１号公報
【特許文献３】特開２００４−５６５２号公報
【特許文献４】特開２００７−６５８２７号公報
【特許文献５】特開平６−３３２９０６号公報
【特許文献６】特開平１１−６６０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来のスケジューリング方法では、開催者が会議の予定を作成する際、あらかじめスケジューリング対象者を指定する必要がある。このため、会議参加者の人数が増えるにつれて、開催者の作業負荷が増大する。
【０００７】
本発明の課題は、開催者がスケジューリング対象者を指定する必要のないスケジュール登録を実現することである。
【課題を解決するための手段】
【０００８】
開示のスケジューリング装置は、スケジュールデータを記憶したスケジュールデータベース、検索手段、及び登録手段を備える。
検索手段は、入力された予定名を元にスケジュールデータベースを検索し、その予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出する。そして、入力された期間であって、かつ、スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、スケジュールデータベースを参照して検索する。
【０００９】
登録手段は、検索された空き期間、スケジューリング対象者名、及び入力された予定名を含むスケジュールデータをスケジュールデータベースに登録する。
検索手段によりスケジュールデータベースからスケジューリング対象者名が検出されるため、あらかじめスケジューリング対象者を指定する必要がない。
【発明の効果】
【００１０】
開示のスケジューリング装置によれば、あらかじめスケジューリング対象者を指定する必要がなく、スケジュール登録に伴う開催者の作業負荷が軽減される。
【図面の簡単な説明】
【００１１】
【図１】第１のスケジューリングシステムの構成図である。
【図２】スケジュールテーブルを示す図である。
【図３】ユーザテーブルを示す図である。
【図４】スケジュール画面上の候補日時の範囲を示す図である。
【図５】予定名及び所要時間の入力ダイアログを示す図である。
【図６】スケジュール画面上の候補日時を示す図である。
【図７】スケジューリング処理のフローチャートである。
【図８】スケジューリング対象者分類処理のフローチャートである。
【図９】第２のスケジューリングシステムの構成図である。
【図１０】候補日時の範囲を生成する処理のフローチャートである。
【図１１】情報処理装置の構成図である。
【図１２】プログラム及びデータを提供する方法を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、実施形態を詳細に説明する。
実施形態の説明では、日付や時間の範囲である期間を表す用語として、日時、日時の範囲、時間帯等を用いている。
【００１３】
図１は、実施形態のスケジューリングシステムの構成例を示している。図１のスケジューリングシステムは、端末装置１０１及びサーバ装置１０２を備え、端末装置１０１とサーバ装置１０２は通信ネットワーク１０３により接続されている。通信ネットワーク１０３は有線ネットワークであってもよく、無線ネットワークであってもよい。また、端末装置１０１は１台だけではなく、ユーザの数だけの端末装置１０１が通信ネットワーク１０３に接続されていてもよい。
【００１４】
端末装置１０１は、表示部１１１及び入力部１１２を備え、サーバ装置１０２は、処理部１２１、メモリ１２２、及びスケジュールデータベース（スケジュールＤＢ）１２３を備える。処理部１２１は、メモリ検索部１３１、検索部１３２、及び登録部１３３を含む。メモリ検索部１３１は、メモリ１２２に格納された情報を検索し、検索部１３２は、スケジュールＤＢ１２３に格納された情報を検索し、登録部１３３は、スケジュールＤＢ１２３に情報を登録する。
【００１５】
ユーザ１０４は、端末装置１０１の入力部１１２からサーバ装置１０２に対する要求を入力し、サーバ装置１０２の処理部１２１は、要求に応じてスケジュールＤＢ１２３を検索し、取得した情報を端末装置１０１に送信する。端末装置１０１の表示部１１１は、サーバ装置１０２から受信した情報を画面表示する。
【００１６】
図２及び図３は、スケジュールＤＢ１２３に格納されたスケジュールデータの例を示している。図２のスケジュールテーブルには、予定毎に予定ＩＤ、ユーザＩＤ、予定名、予定名単語、日時、及び場所が登録されており、図３のユーザテーブルには、ユーザ毎にユーザＩＤ及び名前が登録されている。
【００１７】
予定には、会議、打ち合わせ、外出、出張等のように、ユーザが時間的、場所的に拘束される様々なイベントが含まれる。予定名単語は、予定名を１つ以上の単語又は形態素に分解した結果を表し、日時は、イベントが開催される日付及び時間を表し、場所は、イベントが開催される場所を表している。
【００１８】
例えば、予定ＩＤ“ｓｃｈ００１”のデータと予定ＩＤ“ｓｃｈ０１３”のデータは予定名、日時、及び場所が一致しているため、同じ予定のデータに対応する。“ｓｃｈ００１”と“ｓｃｈ０１３”の違いは、ユーザＡのデータであるかユーザＣのデータであるかという点である。
【００１９】
なお、スケジュールデータの項目は図２及び図３に示すものに限られるわけではなく、必要に応じて項目を増減することが可能である。
図４は、ユーザＡが新たにスケジュールデータを登録する場合のスケジュール画面の表示例を示している。
【００２０】
まず、端末装置１０１の表示部１１１は、２００８年９月２１日〜２００８年９月２７日の一週間のスケジュール画面を表示する。初期画面では、登録者であるユーザＡの予定ＩＤ“ｓｃｈ００１”〜“ｓｃｈ００６”に対応する６個の予定が表示される。
【００２１】
次に、ユーザＡがスケジュール画面上で、新たな予定を登録する候補日時の範囲４０１を矩形ドラッグにより指定する。ただし、範囲４０１を矩形ドラッグ以外の方法で指定しても構わない。
【００２２】
範囲４０１の指定が完了すると図５のようなダイアログ画面が表示され、ユーザＡは、予定名５０１と所要時間５０２を入力してＯＫボタン５０３をクリックする。これにより、端末装置１０１からサーバ装置１０２にスケジューリング要求が送信される。なお、既存のスケジュールデータから所要時間を取得可能な場合は、所要時間５０２の入力を省略してもよい。
【００２３】
サーバ装置１０２は、スケジュールＤＢ１２３に格納されたスケジュールデータから、入力された予定名に対応するスケジューリング対象者を特定する。スケジューリング対象者は、例えば、必須メンバとサブメンバ（スケジューリングサブ対象者）に分類して特定することができる。
【００２４】
サーバ装置１０２は、必須メンバが全員参加可能な１つ以上の候補日時を求め、端末装置１０１に送信する。そして、表示部１１１は、受信した候補日時をスケジュール画面に表示する。
【００２５】
図４に示す例では、９月２１日〜９月２６日の９：００〜１５：００の範囲４０１が指定されており、図５に示すように、予定名５０１として“特許発掘会”、所要時間５０２として“１２０分”が入力されている。この場合、“特許発掘会”から形態素解析により予定名単語“特許”、“発掘”、及び“会”が生成される。
【００２６】
次に、図２のスケジュールテーブルから“特許”、“発掘”、及び“会”を含むデータとして、予定ＩＤ“ｓｃｈ００７”、“ｓｃｈ００８”、“ｓｃｈ０１１”、“ｓｃｈ０１２”、“ｓｃｈ０１５”、及び“ｓｃｈ０１６”のデータが取得される。
【００２７】
そして、“ｓｃｈ００７”及び“ｓｃｈ００８”に対応するユーザＩＤと図３のユーザテーブルから、ユーザＡがスケジューリング対象者として特定される。さらに、“ｓｃｈ０１１”及び“ｓｃｈ０１２”に対応するユーザＩＤからユーザＢがスケジューリング対象者として特定され、“ｓｃｈ０１５”及び“ｓｃｈ０１６”に対応するユーザＩＤからユーザＣがスケジューリング対象者として特定される。ユーザＤは、予定名“特許発掘会”を含むデータを持たないため、スケジューリング対象者として特定されない。
【００２８】
ユーザＣは、“ｓｃｈ０１６”及び“ｓｃｈ０１７”のデータが示すように、“特許発掘会”と同じ時間帯に別の予定である“Ａ社打ち合わせ”を登録しているため、“特許発掘会”の必須メンバではなく、サブメンバとして扱われる。
【００２９】
次に、指定された候補日時の範囲４０１内で、必須メンバであるユーザＡ及びＢに共通の空き時間帯であって、かつ、所要時間１２０分以上の時間帯が抽出される。必須メンバに共通の空き時間帯は、候補日時の範囲４０１内で必須メンバのユーザ名を含むスケジュールデータが存在しない時間帯として求めることができる。
【００３０】
なお、所要時間５０２の入力が省略された場合は、“特許”、“発掘”、及び“会”を含むデータから平均時間が求められ、所要時間として使用される。図２の例では、予定ＩＤ“ｓｃｈ００７”、“ｓｃｈ００８”、“ｓｃｈ０１１”、“ｓｃｈ０１２”、“ｓｃｈ０１５”、及び“ｓｃｈ０１６”に対応する時間を平均すると２時間になる。
【００３１】
こうして、図６に示すように、３つの時間帯６０１〜６０３が候補日時としてスケジュール画面に表示される。併せて、スケジューリング対象者であるユーザＡ、Ｂ、及びＣの予定ＩＤ“ｓｃｈ００１”〜“ｓｃｈ００６”、“ｓｃｈ００９”、“ｓｃｈ０１０”、“ｓｃｈ０１３”、及び“ｓｃｈ０１４”に対応する１０個の予定も表示される。また、ユーザ一覧６０４には、ユーザＡ、Ｂ、及びＣがスケジューリング対象者として表示される。
時間帯６０１〜６０３は、それぞれ下記の候補日時を表している。
時間帯６０１：９月２２日の１１：００〜１５：００
時間帯６０２：９月２３日の１２：００〜１５：００
時間帯６０３：９月２５日の１１：００〜１３：００
【００３２】
ユーザＡは、表示された候補日時の中から所望の日時をクリック操作等により選択する。これにより、選択された候補日時の情報を含むスケジュール登録要求が端末装置１０１からサーバ装置１０２に送信される。サーバ装置１０２は、その候補日時を必須メンバ及びサブメンバ全員の予定としてスケジュールテーブルに登録する。これにより、ユーザＡ、Ｂ、及びＣの各々のスケジュールデータがスケジュールＤＢ１２３に登録される。
【００３３】
候補日時と重複する時間帯にサブメンバの予定が既に登録されている場合も考えられるが、重複を許して新たな予定が登録される。その結果、必須メンバの予定は重複がなく、サブメンバの予定は重複を許して登録することができる。
【００３４】
複数の候補日時が存在する場合、サーバ装置１０２が次のような順番で候補日時をソートし、第１順位の候補日時のみを端末装置１０１に送信することもできる。
（１）空いているサブメンバの数が多い順
（２）既存のスケジュールデータに含まれる時間帯に近い順
（３）日時が早い順
この場合、第１順位の候補日時のみがスケジュール画面に表示される。ユーザＡが表示された候補日時を承諾する操作を行うと、端末装置１０１からサーバ装置１０２にスケジュール登録要求が送信される。サーバ装置１０２は、第１順位の候補日時を必須メンバ及びサブメンバ全員の予定としてスケジュールテーブルに登録する。
【００３５】
ただし、第１順位の候補日時のみを表示する場合、表示された候補日時がユーザＡにとって必ずしも最適な日時であるとは限らない。これに対して、図６のように複数の候補日時を表示すれば、ユーザＡは候補日時の範囲４０１内の他の予定も参照しながら最適な日時を指定することができる。
【００３６】
次に、登録者が入力した予定名からスケジューリング対象者のスケジュールデータを抽出する方法について、より詳細に説明する。
サーバ装置１０２は、既存のスケジュールデータの登録時に、形態素解析により予定名を予定名単語（形態素）に分解し、予定名とともに予定名単語をスケジュールテーブルに登録している。新たなスケジュールデータの登録時には、新たな予定名を予定名単語に分解し、既存のスケジュールデータの予定名単語とそれぞれ比較する。そして、予定名同士の類似度が閾値より高いスケジュールデータを抽出する。
【００３７】
例えば、予定名が“朝会”である場合、予定名単語は“朝”及び“会”となり、予定名が“特許発掘会”である場合、予定名単語は“特許”、“発掘”、及び“会”となる。また、予定名が“特許アイディア発掘会”である場合、予定名単語は“特許”、“アイディア”、“発掘”、及び“会”となる。
【００３８】
予定名の類似度としては、例えば、それぞれの予定名に含まれる予定名単語の数に対する一致する予定名単語の数の割合が用いられる。例えば、１０単語中８単語が一致する場合は、類似度は８０％となる。
【００３９】
類似度の閾値を適切に設定することで、入力された予定名を一部に含むスケジュールデータを抽出することもでき、入力された予定名と完全に一致するスケジュールデータを抽出することもできる。また、事前にスケジュールデータ同士の類似度を計算し、一方のスケジュールデータの予定ＩＤと類似度を他方のスケジュールデータに含めて保存しておいてもよい。
【００４０】
次に、抽出されたスケジュールデータから必須メンバ及びサブメンバを特定する方法について、より詳細に説明する。特定方法としては、例えば、以下の２つが考えられる。
（１）抽出されたスケジュールデータの日時と重複する別のスケジュールデータを持つユーザはサブメンバとし、重複する別のスケジュールデータを持たないユーザを必須メンバとする。
例えば、“特許発掘会”の重要メンバであれば、同じ日の同じ時間帯に重複する予定を登録することは考えづらい。また、重複する別のスケジュールデータを持つユーザは“特許発掘会”に参加しない可能性がある。そこで、このようなユーザを必須メンバから除外することで、重要メンバの空き時間を優先してより早い時期に“特許発掘会”を開催することができる。
【００４１】
（２）参加率が高いユーザは必須メンバとし、参加率が低いユーザはサブメンバとする。ユーザの参加率は、抽出されたスケジュールデータに含まれる同じ予定名の予定の総数に対する、そのユーザ名を含む同じ予定名の予定の数の割合として定義することができる。参加率が閾値より高いユーザは必須メンバとし、参加率が閾値以下のユーザはサブメンバとする。
例えば、“特許発掘会”が第１回〜第７回まで開催されているとき、そのうち２回しか予定に登録していないユーザは重要ではないといえる。他の５回は、そのユーザがいなくても開催できるからである。この場合、次式により参加率を算出することが可能である。
参加率＝ユーザ名を含む“特許発掘会”の数／“特許発掘会”の総数
【００４２】
図２のスケジュールテーブルでは、予定ＩＤ“ｓｃｈ００７”、“ｓｃｈ００８”、“ｓｃｈ０１１”、“ｓｃｈ０１２”、及び“ｓｃｈ０１６”のデータが“特許発掘会”の予定名を含んでいる。これらのデータの日時から、“特許発掘会”が６月１日と７月１日の２回開催されていることが分かる。
【００４３】
ユーザＡ及びＢは両方の“特許発掘会”のスケジュールデータを持っているため、参加率は１００％である。一方、ユーザＣは７月１日のスケジュールデータしか持っていないため、参加率は５０％である。仮に閾値を８０％とすると、ユーザＡ及びＢは必須メンバとなり、ユーザＣはサブメンバとなる。
【００４４】
上記（１）又は（２）のいずれか一方の方法を用いてもよく、（１）及び（２）の両方を用いてもよい。両方を用いる場合は、例えば、（１）及び（２）の条件を満たすユーザを必須メンバとし、それ以外のユーザをサブメンバとすることができる。
【００４５】
図１のスケジューリングシステムによれば、新たな予定の登録時にスケジューリング対象者が自動的に特定されるため、あらかじめスケジューリング対象者を指定する必要がなく、スケジュール登録に伴う開催者の作業負荷が軽減される。
【００４６】
図７は、図１のスケジューリングシステムによるスケジューリング処理の例を示すフローチャートである。
まず、新たな予定の登録者は、端末装置１０１の表示部１１１により表示されたスケジュール画面上で、入力部１１２により候補日時の範囲を指定し、端末装置１０１は、指定範囲の情報をサーバ装置１０２に送信する（ステップ７０１）。サーバ装置１０２の処理部１２１は、受信した候補日時の範囲をメモリ１２２に格納する。
【００４７】
次に、表示部１１１は、予定名及び所要時間の入力ダイアログを表示し、登録者は、入力部１１２により予定名及び所要時間を入力する（ステップ７０２）。そして、端末装置１０１は、予定名及び所要時間の情報をサーバ装置１０２に送信する。
【００４８】
次に、処理部１２１の検索部１３２は、受信した予定名に類似する予定名を持つスケジュールデータをスケジュールＤＢ１２３から検索する（ステップ７０３及び７０４）。
このとき、処理部１２１は、受信した予定名を形態素解析により予定名単語に分解し、既存のスケジュールデータの予定名単語とそれぞれ比較して、予定名同士の類似度を求めることができる。そして、閾値より高い類似度を持つスケジュールデータを、類似する予定名を持つスケジュールデータとして抽出することができる。
【００４９】
類似する予定名を持つスケジュールデータが存在しなければ（ステップ７０４，ＮＯ）、処理を終了する。一方、そのようなスケジュールデータが存在すれば（ステップ７０４，ＹＥＳ）、検索部１３２は、そのスケジュールデータとユーザテーブルをメモリ１２２に格納する。
【００５０】
次に、処理部１２１のメモリ検索部１３１は、類似する予定名を持つスケジュールデータからユーザＩＤを取得する（ステップ７０５）。そして、処理部１２１は、取得したユーザＩＤに対応するスケジューリング対象者を必須メンバとサブメンバに分類し、ユーザテーブルを参照して必須メンバとサブメンバのユーザ名を特定する（ステップ７０６）。
【００５１】
次に、メモリ検索部１３１は、類似する予定名を持つスケジュールデータの日時を参照して、指定された候補日時の範囲内で必須メンバ全員に共通の空き時間帯であって、かつ、所要時間以上の時間帯を検索する（ステップ７０７及び７０８）。そのような空き時間帯が存在しなければ（ステップ７０８，ＮＯ）、処理を終了する。
【００５２】
一方、必須メンバ全員に共通の所要時間以上の空き時間帯が存在すれば（ステップ７０８，ＹＥＳ）、サーバ装置１０２は、その空き時間帯の情報を候補日時として端末装置１０１に送信する。表示部１１１は、スケジュール画面上に候補日時及びスケジューリング対象者名を表示し（ステップ７０９）、続いて確認メッセージを表示する（ステップ７１０）。
【００５３】
候補日時が１つだけ表示された場合、登録者は、入力部１１２により、表示結果である候補日時及びスケジューリング対象者名を承諾するか否かの操作を行う。一方、複数の候補日時が表示された場合、登録者は、入力部１１２によりいずれかの候補日時を選択して表示結果を承諾する操作、又は表示結果を承諾しない旨の操作を行う。登録者が表示結果を承諾しなければ（ステップ７１０，ＮＯ）、処理を終了する。
【００５４】
一方、登録者が表示結果を承諾すると（ステップ７１０，ＹＥＳ）、端末装置１０１からサーバ装置１０２にスケジュール登録要求が送信される。そして、登録部１３３は、その候補日時を必須メンバ及びサブメンバ全員の予定としてスケジュールＤＢ１２３に登録する（ステップ７１１）。
【００５５】
このとき、各メンバのユーザＩＤ、登録者により入力された予定名とその予定名単語、及び登録者により承諾された候補日時を含むデータが、メンバの数だけスケジュールテーブルに登録される。
【００５６】
ここで、候補日時の時間帯が所要時間より長い場合は、所要時間の長さに短縮される。例えば、図６の時間帯６０１の長さは４時間であるため、所要時間が１２０分の場合は、時間帯６０１の先頭から２時間の部分が日時として登録される。あるいは、ステップ７１０において登録者が時間帯を指定するようにしてもよい。
【００５７】
また、場所の項目には、同じ予定名を持つスケジュールデータの場所の情報を格納することができる。例えば、図２の予定ＩＤ“ｓｃｈ００７”、“ｓｃｈ００８”、“ｓｃｈ０１１”、“ｓｃｈ０１２”、及び“ｓｃｈ０１６”のデータはいずれも、“３Ｆ会議室”を含んでいる。そこで、“３Ｆ会議室”が場所の項目に格納される。あるいは、ステップ７０２において登録者が場所を入力するようにしてもよい。
【００５８】
図８は、図７のステップ７０６においてスケジューリング対象者を分類する処理の例を示すフローチャートである。
処理部１２１は、メモリ１２２に格納された類似する予定名を持つスケジュールデータの中から入力された予定名を含むものを抽出し、その日時を参照して同じ予定名の予定の総数を求める（ステップ８０１）。そして、ステップ７０５で取得した異なるユーザＩＤ毎にステップ８０２〜８０５の処理を繰り返す。
【００５９】
まず、メモリ検索部１３１は、ユーザＩＤの１つを対象ユーザＩＤに設定する。そして、検索部１３２は、対象ユーザＩＤを含むスケジュールデータの日時と重複する日時を持つ別のスケジュールデータをスケジュールＤＢ１２３から検索する（ステップ８０２）。
【００６０】
そのような重複スケジュールデータが存在すれば（ステップ８０２，ＹＥＳ）、処理部１２１は、対象ユーザＩＤのユーザをサブメンバとして記録する（ステップ８０５）。
一方、重複スケジュールデータが存在しなければ（ステップ８０２，ＮＯ）、処理部１２１は、入力された予定名を含むスケジュールデータの中から対象ユーザＩＤを含むものを抽出し、抽出されたスケジュールデータの数（予定の数）を求める。そして、ステップ８０１で求めた予定の総数に対する対象ユーザＩＤを含む予定の数の割合を参加率として求め、所定の閾値と比較する（ステップ８０３）。
【００６１】
参加率が閾値以下であれば（ステップ８０３，ＹＥＳ）、対象ユーザＩＤをサブメンバとして記録し（ステップ８０５）、参加率が閾値より高ければ（ステップ８０３，ＮＯ）、対象ユーザＩＤを必須メンバとして記録する（ステップ８０４）。
【００６２】
そして、次のユーザＩＤを対象ユーザＩＤに設定して、ステップ８０２〜８０５の処理を繰り返す。
このような分類処理により、類似する予定名を持つスケジュールデータに含まれるすべてのユーザが必須メンバ又はサブメンバに分類される。各メンバのユーザ名は、ユーザテーブルにより特定することができる。
【００６３】
なお、ステップ８０２又は８０３のいずれかの処理を省略することも可能である。ステップ８０２の処理を省略した場合は、参加率のみに基づいてスケジューリング対象者が分類され、ステップ８０３の処理を省略した場合は、重複スケジュールデータの有無のみに基づいてスケジューリング対象者が分類される。
【００６４】
図７のステップ７０６においてスケジューリング対象者を分類する代わりに、すべてのスケジューリング対象者を必須メンバとして扱うことも可能である。この場合、図８の分類処理は省略され、ステップ７０５で取得されたユーザＩＤに対応するユーザをすべて必須メンバとみなして、ステップ７０７以降の処理が行われる。
【００６５】
ところで、図４の例ではユーザがスケジュール画面上で候補日時の範囲を指定しているが、新たな予定に関する電子メールを受信したときに、候補日時の範囲を自動的に生成することも可能である。
【００６６】
例えば、メール本文に「今週中」、「９／２２〜９／２６」、「９：００〜１５：００」等の日時を示すテキストが含まれていれば、メールのテキストを解析して候補日時の範囲を抽出することができる。そして、抽出された候補日時の範囲に基づいてスケジューリング処理を行うことが可能である。
【００６７】
利用場面としては、例えば、会議の開催者が前回の議事録として「次回の会議は１０月１日の週に開催」等のテキストを含むメールを受信した場合や、秘書に「今週中に予定を入れて欲しい」等のテキストを含むメールを送信する場合が考えられる。
【００６８】
図９は、このような機能を有するスケジューリングシステムの構成例を示している。図９のスケジューリングシステムは、図１のスケジューリングシステムにおいてサーバ装置１０２をサーバ装置９０１に置き換えた構成を有する。
【００６９】
サーバ装置９０１は、図１のサーバ装置１０２にメール処理部９１１及びメールデータベース（メールＤＢ）９１２を追加した構成を有する。メール処理部９１１は、メール解析部９２１、メール表示処理部９２２、及びメール受信部９２３を含む。
【００７０】
図１０は、図９のサーバ装置９０１が候補日時の範囲を生成する処理の例を示すフローチャートである。
まず、メール受信部９２３は、通信ネットワーク１０３からユーザ宛の電子メールを受信し、そのメールのデータをメールＤＢ９１２に格納する（ステップ１００１）。
【００７１】
次に、メール表示処理部９２２は、メールＤＢ９１２からデータを取り出して端末装置１０１に送信し、表示部１１１は、そのメールを画面表示する（ステップ１００２）。このとき、候補日時の範囲の自動生成を指示するための候補日時表示ボタンも併せて表示される。
【００７２】
次に、メール解析部９２１は、メールＤＢ９１２からデータを取り出して本文を解析し、日時の範囲を表す文字列を抽出する（ステップ１００３）。ここでは、例えば、正規表現等を用いて日時の範囲を表す文字列を抽出することができる。そして、メール解析部９２１は、抽出した文字列から候補日時の範囲を指定する情報を生成する（ステップ１００４）。
【００７３】
次に、端末装置１０１は、入力部１１２により候補日時表示ボタンがクリックされたか否かをチェックする（ステップ１００５）。そして、候補日時表示ボタンがクリックされない場合は、処理を終了する。
【００７４】
一方、ユーザ１０４が候補日時表示ボタンをクリックした場合、端末装置１０１及びサーバ装置９０１は、図７のステップ７０２以降の処理を行う。この場合、メール解析部９２１が生成した候補日時の範囲の情報が処理部１２１に転送され、メモリ１２２に格納される。
【００７５】
図９のスケジューリングシステムによれば、ユーザ１０４が受信した電子メールの内容に応じて新たな予定の候補日時を自動的にそのユーザに提示し、スケジュールデータをスケジュールＤＢ１２３に登録することが可能になる。受信メールの代わりに送信メールのテキストから候補日時の範囲を生成してもよい。
【００７６】
図１及び図９の端末装置１０１及びサーバ装置１０２、９０１は、例えば、図１１に示すような情報処理装置（コンピュータ）を用いて実現することが可能である。図１１の情報処理装置は、Central Processing Unit（ＣＰＵ）１１０１、メモリ１１０２、入力装置１１０３、出力装置１１０４、外部記憶装置１１０５、媒体駆動装置１１０６、及びネットワーク接続装置１１０７を備える。これらはバス１１０８により互いに接続されている。
【００７７】
メモリ１１０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）等を含み、端末装置１０１又はサーバ装置１０２、９０１の処理に用いられるプログラム（スケジューリングプログラム）及びデータを格納する。例えば、ＣＰＵ１１０１は、メモリ１１０２を利用してプログラムを実行することにより、図７のスケジューリング処理及び／又は図１０の候補日時の範囲を生成する処理を行う。
【００７８】
入力装置１１０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に用いられる。出力装置１１０４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。
【００７９】
外部記憶装置１１０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置１１０５にプログラム及びデータを格納しておき、それらをメモリ１１０２にロードして使用することができる。外部記憶装置１１０５は、スケジュールＤＢ１２３及びメールＤＢ９１２としても使用される。
【００８０】
媒体駆動装置１１０６は、可搬記録媒体１１０９を駆動し、その記録内容にアクセスする。可搬記録媒体１１０９は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体１１０９にプログラム及びデータを格納しておき、それらをメモリ１１０２にロードして使用することができる。
【００８１】
ネットワーク接続装置１１０７は、通信ネットワーク１０３に接続され、通信に伴うデータ変換を行う。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１１０７を介して受け取り、それらをメモリ１１０２にロードして使用することができる。
【００８２】
図１２は、図１１の情報処理装置にプログラム及びデータを提供する方法を示している。可搬記録媒体１１０９や外部装置１２０１のデータベース１２１１に格納されたプログラム及びデータは、情報処理装置１２０２のメモリ１１０２にロードされる。外部装置１２０１は、そのプログラム及びデータを搬送する搬送信号を生成し、通信ネットワーク上の伝送媒体を介して情報処理装置１２０２に送信する。ＣＰＵ１１０１は、そのデータを用いてそのプログラムを実行し、上述した処理を行う。
【００８３】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【００８４】
以上、図１から図１２までを参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）入力された予定名を元に、スケジュールデータを記憶したスケジュールデータベースを検索し、該予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出する第１の検索ステップと、
入力された期間であって、かつ、前記スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、前記スケジュールデータベースを参照して検索する第２の検索ステップと、
前記空き期間、前記スケジューリング対象者名、及び前記予定名を含むスケジュールデータを前記スケジュールデータベースに登録する登録ステップと
をコンピュータに実行させることを特徴とするスケジューリングプログラム。
（付記２）前記第１の検索ステップは、前記入力された予定名に類似する予定名を含むスケジュールデータに含まれる対象者名毎に前記スケジュールデータベースを検索して、該スケジュールデータに含まれる期間に重複する他のスケジュールデータが存在するか否かを確認し、該他のスケジュールデータが存在しない対象者名を前記スケジューリング対象者名として検出することを特徴とする付記１記載のスケジューリングプログラム。
（付記３）前記第１の検索ステップは、さらに、前記他のスケジュールデータが存在する対象者名をスケジューリングサブ対象者名として検出し、
前記登録ステップは、前記スケジューリングサブ対象者をさらに含むスケジュールデータを前記スケジュールデータベースに登録する
ことを特徴とする付記２記載のスケジューリングプログラム。
（付記４）前記第１の検索ステップは、前記入力された予定名に類似する予定名を含む複数のスケジュールデータの少なくとも１つ以上に含まれる対象者名のうち、該入力された予定名に対応する予定への参加率が閾値より高い対象者名を、前記スケジューリング対象者名として検出することを特徴とする付記１又は２記載のスケジューリングプログラム。
（付記５）前記第１の検索ステップは、さらに、前記参加率が前記閾値以下である対象者名をスケジュールサブ対象者名として検出し、
前記登録ステップは、前記スケジュールサブ対象者をさらに含むスケジュールデータを前記スケジュールデータベースに登録する
ことを特徴とする付記４記載のスケジューリングプログラム。
（付記６）前記入力された期間は、電子メールのテキストから抽出された期間であることを特徴とする付記１乃至５のいずれかに記載のスケジューリングプログラム。
（付記７）コンピュータが、入力された予定名を元に、スケジュールデータを記憶したスケジュールデータベースを検索し、該予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出する第１の検索ステップと、
前記コンピュータが、入力された期間であって、かつ、前記スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、前記スケジュールデータベースを参照して検索する第２の検索ステップと、
前記コンピュータが、前記空き期間、前記スケジューリング対象者名、及び前記予定名を含むスケジュールデータを前記スケジュールデータベースに登録する登録ステップと
を備えることを特徴とするスケジューリング方法。
（付記８）スケジュールデータを記憶したスケジュールデータベースと、
入力された予定名を元に前記スケジュールデータベースを検索し、該予定名に類似する予定名を含むスケジュールデータに含まれる対象者名をスケジューリング対象者名として検出し、入力された期間であって、かつ、該スケジューリング対象者名を含むスケジュールデータが存在しない空き期間を、該スケジュールデータベースを参照して検索する検索手段と、
前記空き期間、前記スケジューリング対象者名、及び前記予定名を含むスケジュールデータを前記スケジュールデータベースに登録する登録手段と
を備えることを特徴とするスケジューリング装置。
【符号の説明】
【００８５】
１０１  端末装置
１０２、９０１  サーバ装置
１０３  通信ネットワーク
１０４  ユーザ
１１１  表示部
１１２  入力部
１２１  処理部
１２２  メモリ
１２３  スケジュールＤＢ
１３１  メモリ検索部
１３２  検索部
１３３  登録部
４０１  候補日時の範囲
５０１  予定名
５０２  所要時間
５０３  ＯＫボタン
６０１、６０２、６０３  時間帯
９１１  メール処理部
９１２  メールＤＢ
９２１  メール解析部
９２２  メール表示処理部
９２３  メール受信部
１１０１  ＣＰＵ
１１０２  メモリ
１１０３  入力装置
１１０４  出力装置
１１０５  外部記憶装置
１１０６  媒体駆動装置
１１０７  ネットワーク接続装置
１１０８  バス
１１０９  可搬記録媒体
１２０１  外部装置
１２０２  情報処理装置
１２１１  データベース
【図２】
2010191808.tif 000003
【図３】
2010191808.tif 000004
【図５】
2010191808.tif 000005
【図７】
2010191808.tif 000006
【図８】
2010191808.tif 000007
【図１０】
2010191808.tif 000008
【図１１】
2010191808.tif 000009
【図１２】
2010191808.tif 000010
【図１】
2010191808.tif 000011
【図４】
2010191808.tif 000012
【図６】
2010191808.tif 000013
【図９】
2010191808.tif 000014