(57)【特許請求の範囲】
【請求項１】
サーバ端末が、会合主催者の端末から収集した会合参加者、会合場所、会合時間、議題を含む会合の条件に基づいてイベント・プランを生成し、複数の招待者の端末に送信して、前記イベント・プランを招待者に提案するステップと、
前記サーバ端末が、前記イベント・プランに応答して複数の招待者の端末から送信された、１以上の日付と時間帯に対応付けられた会合の参加可能性優先度と、前記会合の条件に関するコメントとを収集するステップと、
前記サーバ端末が、前記複数の招待者の端末から収集した前記参加可能性優先度と前記コメントとに基づいて、前記複数の招待者の個別の前記参加可能性優先度と前記複数の招待者の前記参加可能性優先度の総計とを前記１以上の日付と時間帯に対応付けて反映させて、前記コメントを加えた、前記会合の条件に関するイベント・プラン応答を生成し、前記会合主催者の端末に送信して、会合主催者に前記イベント・プランに対して応答するステップと、
前記会合主催者の端末からの会合の最終確定条件を含む最終確定指示を受けた場合に、前記サーバ端末が、前記会合主催者の端末からの最終確定指示と前記会合の最終確定条件を反映した、完結イベント・プランを生成して、前記会合主催者の端末及び前記複数の招待者の端末に送信して招待者に取決めの可決を完結するステップと、を含む、会合主催者と複数の招待者間でスケジュールを取り決める方法。
【請求項２】
前記イベント・プランが、前記参加可能性優先度として、前記１以上の日付と時間帯に対応付けられた３段階以上の受入れ可能性の度合いを前記会合主催者の端末及び前記複数の招待者の端末に１画面に表示するように構成されている、請求項１に記載の方法。
【請求項３】
前記サーバ端末が、前記会合参加者のカレンダにアクセスするステップを更に有する、請求項１に記載の方法。
【請求項４】
会合主催者の端末及び招待者の端末が前記参加可能性優先度として、前記１以上の日付と時間帯に対応付けられた３段階以上の受入れ可能性の度合いを１画面に前記イベント・プランにグラフィカルに表示するステップを更に有する、請求項１に記載の方法。
【請求項５】
複数の招待者が、招待者、許容可能な交代要員、および委任された代理人のうちの少なくとも１人を含む、請求項１に記載の方法。
【請求項６】
前記サーバ端末が提案する代替のイベント・プランが含む会合の条件の少なくとも一つが招待者の端末によって指定できる、請求項１に記載の方法。
【請求項７】
前記サーバ端末が提案する代替のイベント・プランが含む会合の条件の少なくとも一つの条件の制約が招待者の端末によって指定できる、請求項１に記載の方法。
【請求項８】
前記サーバ端末が、過去のイベント・プランの履歴に従ってイベント・プランのパターンを検出し、会合時間の開始及び終了時間の限界を自動的に選択するステップを更に有する、請求項１に記載の方法。
【請求項９】
前記提案するステップ及び前記応答するステップが、複数の参加者間での制限範囲付き取決めを生成し、会合が取決め可能とする制限範囲を指定して会合を提案するステップを有する、請求項１に記載の方法。
【請求項１０】
コンピュータによって実行され、
会合主催者の端末から収集した会合参加者、会合場所、会合時間、議題を含む会合の条件に基づいてイベント・プランを生成し、複数の招待者の端末に送信して、前記イベント・プランを招待者に提案するステップと、
前記イベント・プランに応答して複数の招待者の端末から送信された、１以上の日付と時間帯に対応付けられた会合の参加可能性優先度と、前記会合の条件に関するコメントとを収集するステップと、
前記複数の招待者の端末から収集した前記参加可能性優先度と前記コメントとに基づいて、前記複数の招待者の個別の前記参加可能性優先度と前記複数の招待者の前記参加可能性優先度の総計とを前記１以上の日付と時間帯に対応付けて反映させて、前記コメントを加えた、前記会合の条件に関するイベント・プラン応答を生成し、前記会合主催者の端末に送信して、会合主催者に前記イベント・プランに対して応答するステップと、
前記会合主催者の端末からの会合の最終確定条件を含む最終確定指示を受けた場合に、前記会合主催者の端末からの最終確定指示と前記会合の最終確定条件を反映した、完結イベント・プランを生成して、前記会合主催者の端末及び前記複数の招待者の端末に送信して招待者に取決めの可決を完結するステップと、を実行させ、会合主催者と複数の招待者間でスケジュールを取り決めるようにコンピュータを機能させる、コンピュータ・プログラム。
【請求項１１】
サーバ端末と、会合主催者の端末と、複数の招待者の端末とを含むシステムであって、
前記サーバ端末が、前記会合主催者の端末から収集した会合参加者、会合場所、会合時間、議題を含む会合の条件に基づいてイベント・プランを生成し、前記複数の招待者の端末に送信して、前記イベント・プランを招待者に提案するステップと、
前記サーバ端末が、前記イベント・プランに応答して前記複数の招待者の端末から送信された、１以上の日付と時間帯に対応付けられた会合の参加可能性優先度と、前記会合の条件に関するコメントとを収集するステップと、
前記サーバ端末が、前記複数の招待者の端末から収集した前記参加可能性優先度と前記コメントとに基づいて、前記複数の招待者の個別の前記参加可能性優先度と前記複数の招待者の前記参加可能性優先度の総計とを前記１以上の日付と時間帯に対応付けて反映させて、前記コメントを加えた、前記会合の条件に関するイベント・プラン応答を生成し、前記会合主催者の端末に送信して、会合主催者に前記イベント・プランに対して応答するステップと、
前記会合主催者の端末からの会合の最終確定条件を含む最終確定指示を受けた場合に、前記サーバ端末が、前記会合主催者の端末からの最終確定指示と前記会合の最終確定条件を反映した、完結イベント・プランを生成して、前記会合主催者の端末及び前記複数の招待者の端末に送信して招待者に取決めの可決を完結するステップと、を実行する、会合主催者と複数の招待者間でスケジュールを取り決めるシステム。
【請求項１２】
前記会合主催者の端末及び招待者の端末が前記参加可能性優先度として、前記１以上の日付と時間帯に対応付けられた、３以上の受入れ可能性の度合いと、前記前記会合の条件に関するコメントと、を１画面にグラフィカルに表示するステップを更に有する、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、電子カレンダリングに関する。より具体的に言えば、本発明は、参加者が自分のカレンダまたは自分のカレンダに関する情報の管理を会合主催者に譲り渡す必要なしに、時間などの会合の詳細を取り決めるための方法に関する。
【背景技術】
【０００２】
会合のスケジューリングは、通常、プロセスが煩雑であり関係者全員の活動を阻害するものである、という問題をはらんでいる。これは、会合のスケジュール作成者が、誰の出席が望ましいかまたは必要であるかを管理またはその他制御する手段を持たない場合に、特に問題である。会合のスケジューリングの典型的な方法は、会合のスケジュール作成者が、特定の議題、特定の場所、特定の時間での出席を望むすべての人に招待状を発行することである。したがって、招待状は、作業流れの構造および雰囲気において非常に形式的なイメージを示し、会合、議題などに関して必要な議論の妨げになる。会合のスケジュール作成者は、ささいな変更を一斉送信するために、招待状が発行された後で、招待状を改訂して再発行しなければならないことが多い。
【０００３】
会合のスケジューリング問題に対する従来の解決策の１つは、会合への出席が望まれる各従業員または人物に、他の従業員または人物がネットワーク上で見ることのできる電子カレンダへの記入（ｐｏｓｔ）を実行させることである。その後、会合をスケジューリングしようとする人物は、会合に出席したい人物たちの電子カレンダを表示して、出席者の可能な時間と一致するように会合時間を設定することができる。しかしながら、電子カレンダは通常、様々な理由からユーザの時間を正確に反映するものではない。ユーザの多くは電子カレンダを維持していない。ほとんどのユーザは、すべての活動、具体的には毎日のイベント（たとえば、仕事場への行き帰り、昼食、ジョギングなど）を記録するわけではない。多くのユーザは、会合への出席可能性に影響を与える可能性のある病院の予約などのデリケートな情報を、電子カレンダに入力しない。
【０００４】
たとえカレンダがユーザの時間を正確に反映しているとしても、ある人物が忙しいかまたは会合に出席可能であるか（ビジー・タイム対フリー・タイム）という情報および時間をめぐる、個人のプライバシおよび管理に関連する多くの問題がある。従業員によって、自分自身の個人情報に関する望ましいプライバシのレベルは様々である。情報がプライベートなものであるかどうかは、それが誰の情報であるかに関する。たとえば、自分の病院の予約をプライベートなものであると考える人もいれば、あたりさわりのないものであると考える人もいる。
【０００５】
たとえある個人にとってはプライベートでない情報であっても、社会的に微妙な場合もある。たとえば、応募者への社内就職面接の内容は、その応募者が自分のグループの同僚や上司に知られたくない情報である場合がある。他の従業員が使用可能な電子カレンダに記入される情報は、会社の機密保護を損なう場合がある。たとえば、電子カレンダ上での会合の論題や出席者リストが、権限のない人に機密情報を露呈させるか、または未開示の業務戦略を漏らしてしまう可能性がある。さらに、従業員の電子カレンダの普及によって、従業員の時間の使い方の意図せぬ記述が表され、それが時間の管理および割振りに関する同僚の評価につながる可能性もある。さらに、人によっては、自分のスケジュールの管理、または自分のスケジュールによって反映される自分自身の管理を、譲り渡したくない人もいる。
【０００６】
会合のスケジューリングを容易にするための従来の方法には、幅広いカテゴリのオープン・カレンダおよびカレンダ委任（フリータイム・アクセス）が含まれる。オープン・カレンダは、会合のスケジュール作成者が同僚の時間割振りを見ることができる場合、ならびに、同僚のカレンダ上で割り振られた時間の質または性質に関して推測できる場合に、より適切な調整が可能となり、すべての招待者が出席できる会合時間を会合のスケジュール作成者が選択できるようになる。
【０００７】
しかしながら、オープン・カレンダ方式には、多数のプライバシ上および社会的な問題が存在する。これらの問題は、様々な方法、たとえばアクセス権の設定によって他人が見られるものを規制すること、暗号を使ったコンテキスト依存エントリを作成してエントリの意味を隠すこと、プライベートなエントリを省略すること、ならびに、潜在的なスケジューリングのフリー・タイムを制限するためにカレンダに作業時間または偽の予定をスケジューリングすることなどによって、管理することができる。
【０００８】
スケジューリングの問題を解決するためのあまりオープンではない方法は、個人のカレンダをフリー・タイムまたはビジー・タイムに変えることである。たとえば従業員は、会合をスケジューリングするために、１日の一部をビジー、残りをフリーであるものと指定する。この方法は、従業員のカレンダ上で特定の論題が露呈することはなくなるが、カレンダの管理は依然として他人に委任される。従業員は特定の時間フリーであることが可能である一方で、単なるフリー対ビジーの指定では伝えられない会合時間のプリファレンスを持つことができる。さらに、従業員のカレンダ上にフリー・タイムまたはビジー・タイムを指定することにより、同僚または上司がその従業員の時間管理を推測できるようになる。ここでも従業員は、プライベートにしておきたい情報を露呈することになる。
【０００９】
ｉＣａｌｅｎｄａｒ（商標）は、インターネットを横切ってカレンダリングおよびスケジューリング情報をオープンに交換するための共通フォーマットを定義する、オブジェクト・モデルである。ｉＣａｌｅｎｄａｒはフリー／ビジーの時間タイプを定義するものであり、デフォルトの値はビジーである。このモデルでは、従業員のカレンダ上で、時間に関する可能なカテゴリがフリー、ビジー、ビジー／利用不可、またはビジー／暫定的と定義される。フリー・タイムとは、他人が自由にスケジューリングできる時間間隔のことである。ビジーとは、１つまたは複数のイベントがすでにスケジューリングされている時間間隔のことである。ビジー／利用不可とは、ビジーでスケジュールできない時間間隔のことである。ビジー／暫定的とは、１つまたは複数のイベントが暫定的にスケジューリングされているためにビジーである時間間隔のことである。
【００１０】
フリー／ビジー・タイムに基づいたカレンダ・システムは有用なモデルであるが、参加者または主催者がアクセス可能であり、個々の参加者のカレンダが正確である場合にのみ、有効である。カレンダリング・システムの参加者は、自分のカレンダを最新版にしておくのを怠る場合が多いため、こうしたシステムを実施する際に多くの問題が発生する。
【００１１】
この技術は有用であることが証明されているが、追加の改善策を提示することが望ましい。
【非特許文献１】アンマリー・ケルマレック等による「拡散レプリカを調整するためのアイス・キューブ法」、分散コンピューティングの原理に関する第２０回ＡＣＭシンポジウム（ＰＯＤＣ２００１）、２００１年８月２６〜２９日、ロードアイランド州ニューポート（アメリカ合衆国）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、ユーザが個人情報を明らかにせずに会合の詳細を取り決められるようなシステム、コンピュータ・プログラム記録媒体、および関連する方法が求められている。こうした方法により、会合のスケジュール作成者が招待状を発行する前に会合の詳細を取り決めることが可能になり、会合のささいな変更の一斉送信は不要となる。こうした解決策の必要性は、これまで満たされないままであった。
【課題を解決するための手段】
【００１３】
本発明はこの必要性を満たし、共有表現を介してプライバシを保護しながら、スケジューリング、スケジュールの取り決めを行う新しい手法のための、システム、コンピュータ・プログラム記録媒体、サービス、および関連する方法（本明細書では、まとめて「システム」または「本システム」と呼ぶ）を提示するものである。本システムは、ユーザが会うことのできる時間、場所などの、すべてのスケジューリング関連情報を統合する。
【００１４】
さらに、本システムは、潜在的な会合参加者によるフリー・タイムまたはビジー・タイムの指定への依存度を低くするものである。したがって、本システムは、フリーまたはビジーのみよりも豊富な時間のプリファレンスを可能にし、それによって、潜在的な会合参加者が出席可能な時間に加えてプリファレンスを指定できるようにするものである。本システムは、考察メカニズムとして注釈およびコメントをサポートしており、会合の招待状が発行される前に会合のスケジュール作成者にフィードバックを与えるものである。さらに本システムは、通常、電子メール、インスタント・メッセージング、電話などを介して発生する、会合の詳細の取り決めを補足するものでもある。
【００１５】
本システムは、前もって会合時間を指定するのではなく、可能な会合時間を参加者に提供する機能を提供するものである。さらに、会合のために提供される可能な時間は、制限範囲付き取り決めの形で提供され、たとえば参加者は、木曜日または金曜日の午後２時から午後５時という制限範囲のある取決めから、自分達にとって会合に出席するのに最適な時間を選択することができる。さらに本システムは、会合主催者および参加者と対話して会合に最適な時間を識別する、動的な取決めオブジェクトである。
【００１６】
さらに本システムは、時間に加えて、場所、論題、議題などの会合のすべての面に関する多種多様な取決めを可能にするものである。本システムは、参加者または他者の事前の入力から利益を得ることができる、参加者の出席を必要とする任意のイベントの任意の面を取り決める際に使用することができる。たとえば、本システムを使用して、週末の友人とのスキー、釣り旅行、ポーカー・ナイト、または参加者が持ち寄る料理も指定する持ち寄りパーティを計画することもできる。
【００１７】
本システムは、招待状と取決めを分けるものである。さらに本システムは、取決めを分散させて、会合主催者から取決めの負担を取り除く。代わりに会合主催者は、そのプロセスを取決めオブジェクトに委任する。各参加者は、相互に満足のいく時間が決まるまで取決めオブジェクトと対話する。本システムの取決めプロセスは、会合主催者が取決めの詳細を管理しなくてもすむようにするものである。さらに本システムは、会合主催者が参加者の時間を予約しておくのではなく、会合主催者の時間を予約しておく権限を会合参加者に与えるものであり、これによって、より首尾よく時間を節約する方法で会合をスケジューリングすることができる。
【００１８】
本システムが主宰（ｍｏｄｅｒａｔｅ）する取決めには、２つまたはそれ以上の関係者が関与する。典型的なケースでは、取決めには会合主催者および何人かの参加者が関与する。会合主催者はｎ人の参加者と取決めを開始し、参加者は自分達の入力を取決めに提供する。取決め内の統合されたスケジューリング情報をすべて検討した後に、本システムは取決めを完結させる。取決めの完結により、そのイベントへの招待状が開始される。
【００１９】
本システムによる典型的な会合のスケジューリングにおける時間の取決めプロセスは、以下のステップに要約されている。主催者は、知られた会合属性（たとえば会合の議題、場所、期間、参加者など）を指定することによって、取決めを開始する。さらに主催者は、自分が会合を開きたいと望む時間間隔を「提案」して、その時間に会合を開くことの自分の望ましさ（ｄｅｓｉｒａｂｉｌｉｔｙ）のレベル（たとえば、好ましい、受入れ可能、好ましくないなど）を各間隔に関連付ける。たとえば、月曜日の午後が好ましく、金曜日の午前９〜１１時は受入れ可能である。主催者は自分の時間間隔を提案する場合に、自分専用のカレンダと入手可能であれば参加者全員のフリー・タイムの総計表示とを表示して、考慮の対象とするように選択することができる。
【００２０】
未決定の取決めが通知されると、参加者はその取決めにアクセスする。主催者が従うプロセスと同様のプロセスで、参加者は、自分が会合を開きたいと望む時間間隔を提案して、その時間に会合を開くことの自分自身の望ましさのレベルを各間隔に関連付ける。取決めオプションに応じて、参加者は、主催者が提案したオリジナルの時間間隔により制限範囲が付けられる場合、または付けられない場合がある。制限範囲画付けられない場合、参加者は、主催者が最初に提案した以外の時間間隔を自由に提案することができる。どちらの場合も、参加者は時間間隔に関する自分のプリファレンスを示す。参加者は自分の時間間隔を提案する場合、自分専用のカレンダと、すでに他者が提案した時間間隔およびその望ましさの総計表示とを表示して、考慮の対象とするように選択することができる。
【００２１】
すべての参加者が取決めに応答した後で、会合の時間を決定するために、主催者は取決めに含まれる統合スケジューリング情報を表示する。これには、提案されたすべての時間間隔およびその望ましさの総計表示が含まれる。次に主催者は、実際の会合開始時間と、すでに定義されている期間を選択する。参加者が提供した情報と最初の会合の制約に基づいて、主催者は取決めを完結させる。取決めの完結により、会合の日付／時刻、場所、議題、参加者などを含む、そのイベントへの招待状が開始される。
【００２２】
本システムは、会合を主催する従来の方法を介して以下の利点を表すものである。本システムの取決めは、電子カレンダを使用してカレンダ上で正確なスケジュールを維持している職員または参加者に依存していないため、より大きなユーザ・ベースをサポートする。さらに、本システムの取決めオブジェクトはプライバシを保護する。ユーザは、他者に自分のカレンダへのアクセスを許可したり、自分の情報および時間の管理を譲り渡したりする必要がない。取決めオブジェクトには、そのイベントについてユーザが入力した情報のみが含まれる。カレンダの委任またはフリー・タイム、ビジー・タイムのアクセスは不要である。しかしながら、フリー・タイム、ビジー・タイムのアクセスが使用可能な場合、本システムはその情報を取決めプロセスで使用することができる。
【００２３】
さらに、主催者と参加者のとの間では、それぞれの当事者が取決めオブジェクトに直接対処するため、この間の更新のための通信が削減される。さらに、本システムの取決めオブジェクトは、取決めを実行中のイベントに関して常に最新の状態を反映する。取決めオブジェクトは、取決めに影響を与える外部アクション（たとえば、時間間隔がもはや利用できない、など）も反映することができる。さらに、通常は公的なスケジュール済みイベントに関連付けられていない、非公式のレベル（たとえば、会う時間の提案）も提供し、主催者と参加者との間の対話を奨励して、より効果的な会合のための雰囲気を作る。また、本システムの取決めオブジェクト内での取決めは時間に限定されるものではなく、たとえば会合の参加者、場所、議題なども取り決めることができる。
【００２４】
本システムの特徴は、提案時間と呼ばれる時間の指定である。提案時間とは、受諾または拒否用に表された時間間隔、すなわちユーザが利用可能であるとして提案した日付／時刻のことである。正確なカレンダの場合、提案された日付／時刻は、フリー・タイムと同じかまたはこれのサブセットである可能性が最も高い。不正確なカレンダの場合、提案された日付／時刻はフリー・タイムのスーパーセットである可能性が最も高い。しかし、提案時間はフリー・タイムとはまったく無関係である場合もある。たとえば、ユーザにはすでにスケジューリングされた会合があるが、依然としてその時間が使用可能であるものとして提案されている場合がある。その後、主催者および参加者によって会合を開くように提案された時間の中で、取決めが発生する。
【００２５】
提案されたイベントには、事前に定義された時間がない場合があり、この場合、本システムは制限範囲付き取決め時間間隔を表す。たとえば主催者は、自分の同僚に、次の水曜日または金曜日の午後のいつでもよい１時間のイベントを提案することができる。これらの提案時間は、制限範囲付き取決め間隔によって制限されている。主催者の同僚は、自分専用の制限範囲付き取決め間隔を提案することによって、「取決め」を行うことができる。これらの間隔は、主催者の間隔を制限する（たとえば、水曜日の午後２〜４時）か、または主催者の間隔を拡大する（たとえば、水曜日終日）ことができる。制限範囲付き取決め間隔が柔軟性を与えるため、提案されたイベントの当事者は、事業の詳細の計画（ｌｏｇｉｓｔｉｃｓ）ではなく、そのイベントに焦点を当てることができるようになる。制限範囲付き取決め時間間隔の制限範囲が広ければ、相互に合意可能な時間を見つけるためのより良い機会も与えられる。
【００２６】
提案されたイベントが、特定の参加者を必要としない場合がある。場合によっては、特定の役割などを持つグループまたはある人物の代表者がいれば、イベントの要件を満たすことができる。たとえば、コンピュータ・ソフトウェア会社では、開発中の製品の状況を考察するためのイベントでは、サーバ・チーム、クライアント・チーム、およびセキュリティ・チームからの代表者を希望することができる。主催者がイベントを提案する場合、具体的に参加者を指名すること、受入れ可能な交代要員のある参加者を指名すること、指名されたグループから参加者を出席させるように指定すること、および特定の役割を持つ参加者（たとえば弁護士、会計士、ＶＰ）を出席させるように指定することを含む、多くの方法で参加者を指定することができる。
【００２７】
取決めオブジェクトは、すべてのスケジューリング関連情報を統合する。１つの集合体としての過去および現在のイベントに関する取決めオブジェクトは、パターンを検出することのできる履歴を提供する。これらの活動パターンを使用して自動処理を可能にすることにより、現在または将来の取決めを容易にすることができる。自動処理には、該当する場合は、ユーザのスケジュール済みイベントに基づく取決めの限界を予め選択すること、最も早い開始および終了ポイント（たとえば、ユーザが午前８時以前または午後５時以降に会うことはめったにない）を予め選択すること、イベントの議題に基づいて参加者を予め選択すること、イベントの完結を最適化すること、およびイベントを受諾すること、などといったことが包含される。
【００２８】
本システムの取決めオブジェクトは、ユーザが会える時間、場所などの、すべてのスケジューリング関連情報を統合する。本システムは、取決め中のイベントの最新状態を常時反映するものである。また、たとえば時間間隔がもはや利用不可能であるなどの、取決めに影響を与える外部アクションも反映することができる。
【００２９】
取決めオブジェクトは、主催者および参加者によって提案された時間間隔を有する。時間間隔の中には考慮の末に撤回されるものもあれば、追加されるものもある。提案時間を撤回する理由の１つは、たとえば提案された時間に何らかの他のイベントがスケジューリングされている場合など、その時間がもはや利用不可能なことである。ある時間間隔が多くの人に対して潜在的な会合時間として提案されている場合、ユーザは提案時間を撤回する必要が生じる可能性がある。また、提案時間中に完全に独立したイベントがスケジューリングされている場合も、この時間が撤回される可能性がある。提案時間が今利用可能になった場合、たとえば、前のスケジュール・イベントがキャンセルされた場合、その時間が追加される可能性がある。ユーザは、以前に提案された時間内に新しいイベントがスケジューリングされると、必ず取決めオブジェクトに自動的に反映されるものとするオプションを有する。ユーザは、常に自分の提案時間を手動で更新することができる。
【００３０】
動的取決めオブジェクトの利点は、ユーザが動的取決めオブジェクトをオープンまたは表示したときに、アクセス時点で最新の情報を反映していることであり、これによって、典型的なスケジューリングおよび再スケジューリングの操作に含まれる継続的な更新が不要となる。
【００３１】
取決めの典型的なシナリオは、主催者が参加者との会合をスケジューリングする「グループ・イベント」である。他の一般的なシナリオには、同僚たちが共同で１つのイベント（たとえば週末のスキー）をスケジューリングすることが含まれる。これらのケースでは、１つの取決めオブジェクトを使用して、この１つのイベントの取決めを表すことができる。あまり一般的でないシナリオには、一連の個々の会合をスケジューリングすることが含まれる。たとえばマネージャは、自分のチームの各メンバと個々に、１週間に１回会いたいと考える場合がある。あるいは、１人の応募者がチームの各メンバと面接する。この場合、１つの取決めオブジェクトを使用して、「主催者」および各参加者につき１つの、多くのイベントの取決めを表すことができる。たとえば、１人のマネージャが５人の従業員と会う必要がある場合がある。この一連の会合を設定するために必要な取決めオブジェクトは、５つではなく１つだけである。その後の取決めは、各参加者について１つずつ、５つのイベントにわたる。
【００３２】
本発明の様々な特徴およびそれらを達成する方法について、以下の記述、特許請求の範囲、および図面を参照しながらより詳細に説明するが、適切であれば、参照項目間の対応関係を示すために参照番号は再使用される。
【発明を実施するための最良の形態】
【００３３】
以下の定義および説明は、本発明の技術分野に属する背景情報を提供するものであり、その範囲を限定することなしに本発明を容易に理解できるようにすることを意図するものである。
【００３４】
ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ／アプリケーション・プログラム・インターフェース）：コンピュータ・オペレーティング・システムまたは他のアプリケーション・プログラムによって規定された特定の方法であって、これにより、アプリケーション・プログラムを作成するプログラマはオペレーティング・システムまたは他のアプリケーションに要求を出すことができる。
【００３５】
ＥＪＢ（Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ(R)  Ｂｅａｎ／エンタプライズＪａｖａ(R)ビーン）：多層のクライアント／サーバ・システム用のコンポーネント・アーキテクチャを定義する、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓによって開発されたＪａｖａ(R)  ＡＰＩ。ＥＪＢのタイプには、処理を実行するためのセッション・ビーン、データベース内の行またはテーブルなどのデータを表すためのエンティティ・ビーン、およびＪａｖａ(R)メッセージング・サービス（ＪＭＳ）のメッセージを処理するためのメッセージ駆動型ビーンが含まれる。
【００３６】
ＩＩＯＰ（Ｉｎｔｅｒｎｅｔ  Ｉｎｔｅｒ−Ｏｒｂ  Ｐｒｏｔｏｃｏｌ／インターネットｏｒｂ間プロトコル）：分散オブジェクトの通信方法を定義し、多くのプラットフォーム上にあるクライアント・ソフトウェアがサーバ上の同じオブジェクトにアクセスし使用できるようにする、Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＣＯＲＢＡ）に基づくプロトコル。
【００３７】
インターネット： グローバルな分散ネットワークを形成するために、標準プロトコルのセットによってルータを使用して共にリンクされた、相互接続された公衆および専用コンピュータ・ネットワークの集合。
【００３８】
Ｊａｖａ(R)： 小、中、および大規模なすべてのハードウェア・プラットフォーム上で修正なしに実行可能なアプリケーションを生成するように設計された、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓによって開発されたオブジェクト指向プログラミング言語。
【００３９】
ＪＤＢＣ（Ｊａｖａ(R)  Ｄａｔａｂａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ／Ｊａｖａ(R)データベース接続性）：ＪａｖａアプリケーションにＳＱＬ言語を介してデータベースにアクセスさせる、プログラミング・インターフェース。
【００４０】
ＮＰ完全性：多項式時間帰着（ｒｅｄｕｃｔｉｏｎ）により、１つの問題が少なくとも他の問題と同様に難しいことを示すために、多項式時間係数内で形式的な手段が与えられる。ＮＰ問題は、任意の他のＮＰ問題が多項式時間内にその問題まで帰着可能であれば、ＮＰ完全である。
【００４１】
ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）： インターネット上で使用される標準プロトコルである、電子メールを送達するためのサーバ対サーバ・プロトコルであって、ＳＭＴＰは他のＴＣＰ／ＩＰネットワーク上でも使用される。
【００４２】
ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ／構造化照会言語）：リレーショナル・データベース内のデータに問い合わせて処理するために使用される言語。
【００４３】
図１は、本発明に従った共有表現を介してプライバシを保護しながら、スケジュールを取り決めるためのシステムおよび関連する方法が使用可能な、例示的環境全体を示す図である。システム１０は、典型的には取決めサーバ１５内に埋め込まれるかまたはその上にインストールされた、ソフトウェア・プログラミング・コードまたはコンピュータ・プログラム記録媒体を有する。別の方法では、システム１０を、ディスケット、ＣＤ、ハード・ドライブ、または同様のデバイスなどの好適な記憶媒体上に保存することができる。
【００４４】
リモート・インターネット・ユーザなどのユーザは、コンピュータ２０、２５、３０などの様々なコンピュータによって表され、ネットワーク３５を介して取決めサーバ１５にアクセスすることができる。コンピュータ２０、２５、３０はそれぞれ、ユーザが取決めサーバ１５とセキュアにインターフェースできるようにするソフトウェアを有する。取決めサーバ１５は、電話、ケーブル、または衛星リンクなどの通信リンク４０を介してネットワーク３５に接続される。コンピュータ２０、２５、３０は、それぞれ通信リンク４５、５０、５５を介してネットワーク３５に接続することができる。システム１０はネットワーク３５で表して記載されているが、コンピュータ２０、２５、３０はシステム１０にリモートではなくローカルにアクセスすることもできる。コンピュータ２０、２５、３０は、アプリケーションを使用して手動または自動のいずれかでシステム１０にアクセスすることができる。
【００４５】
図２の高水準アーキテクチャは、システム１０の概要を有する。会合主催者は、参加者に出席するよう要求する会合取決めを作成する。会合主催者および出席者は、コンピュータ２０、２５、３０を操作しているシステム１０のユーザである。取決めサーバ１５は、取決めクライアント２０５からの要求を受け入れる。可能な要求には、「新規取決めの作成」、「既存の取決めの更新」、または「既存の取決めの完結」が含まれる。
【００４６】
取決めサーバ１５は取決め持続プログラム（ｐｅｒｓｉｓｔｅｒ）２１０と対話して、取決めデータベース２１５内の取決めの格納、検索、または更新を実行する。さらに取決めサーバ１５は、通知プログラム（ｎｏｔｉｆｉｅｒ）２２０と対話して、新しい取決めが作成されると通知を発行する。さらに通知サーバ１５は、取決め完結プログラム（ｆｉｎａｌｉｚｅｒ）２２５と対話して取決めを完結させる。さらに取決めサーバ１５は、カレンダ検索プログラム２３０を使用して、外部カレンダリング・システムからフリー・タイム情報にアクセスする。
【００４７】
取決めクライアント２０５は、取決めを作成、修正、または完結させるために、取決めサーバ１５上にユーザ・インターフェースを提供する。取決めクライアント２０５は、スケジュール総計プログラム（ａｇｇｒｅｇａｔｏｒ）２３５を使用して、取決めオブジェクトとその関連するユーザ・フィードバックを連結する。取決めクライアント２０５は、認証プログラム２４０と通信して、取決めサーバ１５へのアクセスに必要な必須信用証明を検索する。
【００４８】
参加者からのプリファレンスを伴うフィードバックを有する取決めがあるとすれば、スケジュール総計プログラム２３５は、イベントに最適なタイムスロットの選択をサポートするために、そのフィードバックを総計された表現と連結する。このプリファレンスには、少なくとも１つのプリファレンス・インジケータが含まれる。プリファレンス・インジケータは、たとえば、提案されたプリファレンス、好ましいプリファレンス、受入れ可能なプリファレンス、問題のあるプリファレンス、好ましくないプリファレンス、受入れ不可能なプリファレンス、賛否ベース（ｔｈｕｍｂ−ｂａｓｅ）のインジケータ（たとえば、賛成２、賛成１、賛否なし、反対１、および反対２）とすることができるが、限定されるものではない。
【００４９】
多くのアルゴリズムを使用して、スケジュール、たとえば単純なタイムスロットの平均化およびそれらに関連するプリファレンス設定（好ましい、受入れ可能、好ましくない、または受入れ不可能）を、タイム・スケール上で総計することができる。システム１０の実施形態では、取決めサーバ１５は、取決めが更新されたときにスケジュール総計プログラム２３５を直接呼び出し、最適化されたスケジュールを取決めオブジェクトに組み込む。
【００５０】
取決め持続プログラム２１０は、永続的な記憶である取決めＤＢ２１５への取決めを持続させる責務を負う。取決め持続プログラム２１０は、取決めＤＢ２１５上での取決めの作成、削除、または更新を行う。
【００５１】
取決めＤＢ２１５には取決めが含まれる。取決め状態は、完結されるかまたは完結されない場合がある。システム１０の実施形態では、取決めＤＢ２１５はリレーショナル・データベースとして実施される。
【００５２】
取決めが完結されている場合、取決め完結プログラム２２５は招待プログラム２４５と対話し、その結果すべての参加者に招待状が送信される。取決め完結プログラム２２５は取決め持続プログラム２１０とも対話し、取決め状態を完結済みとしてデータベースにマーク付けする。オプションとして、取決め完結プログラム２２５は完結済みの取決めをデータベースから除去するが、この機能はデータベースが圧縮される場合に後の段階でも実行することができる。
【００５３】
取決めサーバ１５は、通知プログラム２２０を使用して、参加者の注意が必要な取決めが作成された旨の通知を参加者宛に発行する。通知は、たとえば電子メールを使用して送信することができる。
【００５４】
招待プログラム２４５は、取決めが完結されたときに参加者に招待状を送信する責務を負う。招待状は、たとえば外部カレンダからのデータが埋め込まれた電子メールを使用して送信することができる。
【００５５】
グローバル最適化プログラム２５０は、サーバ上でのオープンな取決めのグローバルな最適化を提供するオプションのコンポーネントである。グローバル最適化プログラム２５０は、定期的にまたは手動でトリガされる。グローバル最適化プログラム２５０は、サーバ上のすべての取決めを入力として受け取り、各取決めについてすべての既存の制約の中で最適なスケジュールを計算する。この問題はＮＰ完全であるが、適切な近似アルゴリズム、たとえばアンマリー・ケルマレック等による「拡散レプリカを調整するためのアイス・キューブ法」、分散コンピューティングの原理に関する第２０回ＡＣＭシンポジウム（ＰＯＤＣ２００１）、２００１年８月２６〜２９日、ロードアイランド州ニューポート（アメリカ合衆国）で例として記載されているような、ＩｃｅＣｕｂｅアルゴリズムが存在する。最適化された結果は、取り決められたイベントに最適な時間を決定する際に、会合主催者をサポートする。
【００５６】
クライアントは認証プログラム２４０と対話して、取決めサーバ１５にアクセスするための適切な信用証明を取得する。認証が成功した場合、戻された信用証明には取決めサーバ１５に対する各要求が含まれる。
【００５７】
カレンダ検索プログラム２３０は、使用可能であれば外部カレンダリングおよびスケジューリング・システムにアクセスして、スケジュールおよびフリー・タイム情報を取決めオブジェクトに組み込む。こうした情報は、イベントに最適なタイムスロットの選択をサポートするため、および外部スケジュールが更新された場合に提案時間を自動的に更新するために使用される。
【００５８】
会合の主催者および参加者の立場から見た会合を取り決めるための方法３００が、図３の高水準プロセス流れ図に示されている。ステップ３０５では、会合主催者が取決めを開始する。図４のスクリーン・ショット例は、取決めを開始するときに会合主催者が使用できるオプションおよび機能を示すものである。参加者は、ステップ３１０で会合プリファレンスを示す。参加者が使用できるオプションおよび機能は、図５のスクリーン・ショット例に示されている。会合主催者は、ブロック３１５で、図６のスクリーン・ショット例に示されるように取決めを完結させる。
【００５９】
図４は、会合主催者がシステム１０を使用して取決めを開始する場合の例示的ユーザ・インターフェース４００を、スクリーン・ショットの形で示す図である。会合主催者は、複数日付ピッカー４０２を使用して、所望の会合が開催可能な日を単数または複数選択することができる。取決め可能時間を有するイベントは複数日にわたって発生する可能性があるため、標準の日付ピッカー・コンポーネントの拡張を作成して複数日付の選択をサポートする。会合主催者はこれらの日付を選択し、提案時間４０４を使用して、それぞれの日付について時間範囲を設定する。参加者は選択された日付をクリックすることによって、様々な日付を１回に１日ずつ表示することができる。
【００６０】
選択日４０６を囲む線で示されるように、会合主催者によって選択された日付がハイライト表示される。異なるハイライトで各日付について異なる状況を示すことができる。たとえば、赤でマーク付けされた日付は、主催者が別に時間を設定したが、参加者はその日付のすべての使用可能なタイムスロットを削除していることを示すことができる。
【００６１】
選択日４０６は、会合主催者が、システム１０の機能である制限範囲付き取決めを使用できるようにするものである。制限範囲付き取決めは、会合主催者が、会合時間を取り決めることができる指定された制限範囲内であれば、どの時間でも会合を提案できるようにするものである。これに対して従来の会合主催方法では、先に会合時間を設定し、その後出席を取り決める。
【００６２】
ユーザ・インターフェース４００によって示されるシステム１０の他のオプションおよび機能は、議題（ＳＵＢＪＥＣＴ）４０８、場所（ＬＯＣＡＴＩＯＮ）４１０、および柔軟性のある期間（ＤＵＲＡＴＩＯＮ）４１２である。会合主催者は、議題４０８で会合の論題を入力する。イベント場所４１０は、場所４１０で入力される。イベントの期間ならびに開始時間が、取決め可能である。会合主催者は、期間４１２で会合の時間間隔を指定することができる。
【００６３】
会合主催者はイベントおよび取決めのオプションの入力を完了すると、提出（ＳＵＢＭＩＴ）４１４を選択してその取決めを「提出」することができる。次にシステム１０は、未決定の取決めを参加者に通知する。キャンセル（ＣＡＮＣＥＬ）４１６が選択されると取決めプロセスは終了し、どのような変更も保存されない。
【００６４】
システム１０は、メモ（ＮＯＴＥＳ）４１８を介して会合取決めプロセスに注釈をつけることができる。参加者および会合主催者は、メモ追加（ＡＤＤ  ＮＯＴＥ）４２０を選択することで、イベントの側面についてコメントをつける機能を有する。注釈がつけられるコメントには、たとえば参加者の出席可能性、特別な状況、会合に持参する可能性のある品物などが含まれる場合がある。注釈がつけられたコメントは、メモ表示（ＶＩＥＷ  ＮＯＴＥ）４２２を選択して表示することができる。
【００６５】
ログイン・ユーザ４２４には現在のユーザ名が表示される。入手可能であればログイン・ユーザ４２４のピクチャ４２６が表示される。ユーザ・インターフェース４００に示されているように、現在のログイン・ユーザ４２４は会合主催者である。
【００６６】
ナビゲート日（ＮＡＶＩＧＡＴＥＤ  ＤＡＴＥ）４２８には、ログイン・ユーザ４２４が現在ナビゲートされている日付が表示される。ナビゲート日４２８に可能な日付は、会合主催者が選択日４０６を使用して選択する。ナビゲート日４２８について、会合主催者のタイムライン（ＭＥＥＴＩＮＧ  ＯＲＧＡＮＩＺＥＲ’Ｓ  ＴＩＭＥＬＩＮＥ）４３０に時間範囲および主催者の時間プリファレンスが表示される。例示的なユーザ・インターフェース４００では、タイムライン４３０は典型的な営業日の構成になっているが、タイムライン４３０の終点は調整可能である。
【００６７】
会合主催者はタイムライン４３０内で、時間間隔を指定し、提案時間４０４を介してそれらの時間間隔にプリファレンス４３２を関連付けることができる。例示的なプリファレンスには、好ましい（ＰＲＥＦＥＲＲＥＤ）４３４、受入れ可能（ＡＣＣＥＰＴＡＢＬＥ）４３６、好ましくない（ＵＮＦＡＶＯＲＥＤ）４３８、および受入れ不可能（ＵＮＡＣＣＥＰＴＡＢＬＥ）４４０が含まれる。会合主催者は好ましい４３２を使用して、単なるフリー／ビジーよりも詳細なレベルの細分性を指定することができる。
【００６８】
システム１０は会合主催者のカレンダにアクセスする必要はない。しかしながらこれが利用できる場合は、会合主催者のカレンダ（ＭＥＥＴＩＮＧ  ＯＲＧＡＮＩＺＥＲ’Ｓ  ＣＡＬＥＮＤＡＲ）４４２が示すように、システム１０は会合主催者が維持する電子カレンダの情報を利用して、潜在的な競合を呈している概要を会合主催者に提示することができる。すでにスケジューリングされた時間は、たとえばブロック４４４などのブロックによって示される。
【００６９】
会合主催者は、１人の参加者に関するスケジュール情報か、または総計としてすべての参加者に関するスケジュール情報を、再検討することができる。ユーザ・インターフェース４００は、会合主催者が参加者表示４４６内に、個人または総計のいずれのカレンダリング情報を表示しているかを示す。ユーザ・インターフェース４００の例では、会合主催者は参加者の総計を再検討しており、その結果、参加者表示４４６内に「全参加者（ＡＬＬ  ＰＡＲＴＩＣＩＰＡＮＴＳ）」とラベル付けされたアイコンが表示されている。
【００７０】
したがってシステム１０は、参加者からの応答の総計を参加者の総計済みタイムライン（ＰＡＲＴＩＣＩＰＡＮＴ’Ｓ  ＡＧＧＲＥＧＡＴＥＤ  ＴＩＭＥＬＩＮＥ）４４８内に表示する。ユーザ・インターフェース４００は、取決め作成段階での会合主催者との例示的インターフェースを示すものであり、したがって、参加者の総計済みタイムライン４４８には時間が何も表示されていない。参加者のカレンダの総計は、参加者の総計済みカレンダ（ＰＡＲＴＩＣＩＰＡＮＴ’Ｓ  ＡＧＧＲＥＧＡＴＥＤ  ＣＡＬＥＮＤＥＲ）４５０に表示される。参加者のカレンダへのアクセスは不要であるが、利用できる場合、システム１０は参加者によって維持されている電子カレンダ内の情報を利用して、潜在的な競合を呈している概要を会合主催者に提示することができる。すでにスケジューリングされた時間は、たとえばブロック４５２などのブロックによって示される。
【００７１】
会合主催者がその中から参加者を選択できるユーザが、見込みのある参加者（ＰＯＳＳＩＢＬＥ  ＰＡＲＴＩＣＩＰＡＮＴＳ）４５４に表示される。これらのユーザは、会合主催者のアドレス・ブックなどから選択することができる。会合主催者によってイベント用に選択された参加者が、参加者（ＰＡＲＴＩＣＩＰＡＮＴＳ）４５６にリスト表示される。会合主催者は、参加者追加（ＡＤＤ  ＰＡＲＴＩＣＩＰＡＮＴ）４５８または参加者削除（ＲＥＭＯＶＥ  ＰＡＲＴＩＣＩＰＡＮＴ）４６０を選択することによって、イベントから参加者を追加または削除することができる。会合主催者が会合取決めの作成時にエラーした場合は、消去（ＥＲＡＳＥ）４６２を選択することができる。消去４６２は、時間間隔を修復する際に使用される。たとえば、ある参加者が時間間隔午後２時〜午後５時が好ましいと示したが、その後その参加者が午後４時３０分に退席する必要があると気付いた場合、その参加者は好ましいインジケータ午後４時３０分〜午後５時を消去することができる。
【００７２】
図５は、参加者がシステム１０を使用して取決めに応答する場合の例示的ユーザ・インターフェース５００を、スクリーン・ショットの形で示す図である。ログイン・ユーザ５０２は、現在のユーザ名である参加者１を表示している。入手可能であれば、会合主催者５０６のピクチャのままでログイン・ユーザ５０２のピクチャ５０４が表示される。
【００７３】
ナビゲート日５０８は、ログイン・ユーザが現在ナビゲートされている日付が表示される。ナビゲート日５０８の場合、タイムライン５１０は、会合主催者によって指定された時間範囲および時間プリファレンスを表示する。会合主催者によって時間が提案されたとすれば、参加者はタイムライン５１２を使用して自分自身のプリファレンスを関連付けることができる。参加者はタイムライン５１２内で時間間隔を指定し、プリファレンス４３２を関連付ける。例示的なプリファレンスには、好ましい４３４、受入れ可能４３６、好ましくない４３８、および受入れ不可能４４０が含まれる。参加者はプリファレンス４３２を使用して、単なるフリー／ビジーよりも詳細なレベルの細分性を指定することができる。システム１０が参加者のカレンダにアクセス可能である場合、システム１０はブロック５１６などのブロックを使用して、参加者のカレンダ５１４にスケジュール済みイベントを表示する。
【００７４】
参加者のカレンダ５１４と提案された会合時間５１８とを比較して、参加者１は午後１時３０分から２時３０分が競合していることに注目する。したがって参加者１は、ブロック５２０で示されるように、午後１時３０分から２時３０分が受入れ不可能であることを参加者のタイムライン５１２に指示する。参加者１は、ブロック５２２で示されるように、残りの可能な会合時間、すなわち午後２時３０分から５時が好ましいことを指示する。すべての提案時間とすべての参加者のプリファレンスの総計が、参加者の総計済みカレンダ５２４に表示される。
【００７５】
参加者は、メモ追加５２６を選択することによって、会合取決めに自分の応答を注釈としてつけることができる。他の参加者が提供した注釈は、メモ表示を選択することによって表示することができる。
【００７６】
図６は、会合主催者がシステム１０を使用して取決めを完結させる場合の例示的ユーザ・インターフェース６００を、スクリーン・ショットの形で示す図である。取決めの完結により、すべての会合参加者への招待状が開始される。会合時間を選択するために、会合主催者は、参加者の総計済みタイムライン６０２および参加者によって提供された注釈を再検討する。会合主催者は、メモ表示６０４を選択することによって注釈を表示する。次にシステム１０は、たとえば参加者が会合または自分達の出席可能性に関して提供することのできる追加の情報を示す、メモ６０６を表示する。会合主催者は、閉じる（ＣＬＯＳＥ）６０８を選択することによって、メモ６０６の表示を縮小することができる。
【００７７】
参加者の総計済みタイムライン６０２は、すべての参加者からのタイムライン入力を表示する。ユーザ・インターフェース６００の例では、ブロック６１２によって示されるように、参加者はナビゲート日６１０に関して時間午後１時３０分から２時３０分は受入れ不可能であることを示している。会合参加者の受入れ可能時間は、ブロック６１４によって示される。受入れ可能な会合時間の概要は、まとめ（ＳＵＭＭＡＲＹ）６１６によって提供される。
【００７８】
会合主催者は、会合主催者のタイムライン６１８に示された主催者による最初に提案された時間間隔、参加者の総計済みタイムライン６０２、およびメモ６０６に示された参加者のコメントが与えられると、実際の時間間隔を指定して会合をスケジューリングする。会合主催者は、会合主催者のタイムライン６１８上で会合のための実際の時間間隔６２０を選択して、会合時間を設定する。
【００７９】
ログインする場合のシステム１０による制御流れの方法７００が、図７のプロセス流れ図によって示されている。システム１０のクライアント側のユーザは、ステップ７０５でシステム１０にログインする。ステップ７１０ではシステムがユーザの信用証明を要求し、ステップ７１５ではユーザがユーザＩＤおよびパスワードの形で自分の信用証明を入力する。システム１０はステップ７１５で、ユーザの信用証明を取決めサーバ１５に渡す。システム１０はステップ７２０で、認証プログラム２４０を使用して信用証明の真正性を検証する。意思決定ステップ７２５で認証に失敗した場合、システム１０はステップ７１０に進み、再度そのユーザの真正性を調べる。そうでない場合、システム１０はオプションで、システム１０のキャッシュにあるユーザに関する既存のカレンダ・データをリフレッシュすることができる。
【００８０】
取決めを作成する場合のシステム１０による制御流れの方法８００が、図８のプロセス流れ図によって示されている。会合主催者であるユーザは、ステップ８０５で新しい取決めを開始または構築する。取決めの構築には、たとえば、参加者およびその役割の選択、イベントの議題の識別、ならびに提案された日付および時刻の提出が含まれる。Ｊａｖａ(R)で構築されたようなデータ・オブジェクトは、取決めに関する情報を伝えるものであり、このデータ・オブジェクトは取決め値オブジェクトである。取決め値オブジェクトは、ステップ８１０で取決めサーバ１５に送信される。取決めオブジェクトはステップ８１５で、取決め持続プログラム２１０によってデータベースなどのデータ・ストアで持続される。ステップ８２０では、会合主催者によって選択されたすべての参加者に固有の取決め識別子を有する通知が送られ、未決定の取決めについて通知される。
【００８１】
参加者が取決めを検索する場合のシステム１０による制御流れの方法９００が、図９のプロセス流れ図によって示されている。参加者は、方法７００のログイン手順を使用してシステム１０にログインする。次に取決めの参加者は、ステップ９０５で、通知で提供されるような取決め用の取決め識別子を選択する。参加者は一度にいくつかの取決めを処理することができる。
【００８２】
システム１０は、選択された取決め識別子をステップ９１０で通知サーバ１５に渡す。システム１０はステップ９１５で、持続されている取決め情報をデータ・ストアから検索する。システム１０はステップ９２０で、システム１０がカレンダ・データを入手できる場合は、自分の出席可能またはコミット済みの時間の最新のスナップショットを提示するために、カレンダ・データ・キャッシュをオプションで更新する。
【００８３】
システム１０はステップ９２５で、取決め識別子に関して検索したデータおよび任意の入手可能なカレンダ・データから、取決め値オブジェクトを再構築する。ステップ９３０では、取決め値オブジェクトが参加者に戻される。参加者はステップ９３５で、自分専用のカレンダを使用して取決めを表示および調整し、会合に関するプリファレンス、注釈などを提供する。
【００８４】
システム１０における永続性をサポートするために必要なエンティティ・ビーン／データベース・テーブルには、イベント・テーブル、参加者テーブル、ユーザ・テーブル、タイムスロット・テーブル、プロパティ・テーブル、および注釈テーブルが含まれる。イベント・テーブルには、イベントの説明、場所、期間などのイベント情報が含まれる。参加者テーブルには、参加者識別、必須またはオプションなどの参加者識別の役割が含まれる。ユーザ・テーブルには、ユーザＩＤ、電子メール・アドレス、時間帯などが含まれる。タイムスロット・テーブルには、開始および終了時刻、時間帯、プリファレンス・レベルなどが含まれる。注釈テーブルには、ユーザＩＤ、ユーザのコメントなどが含まれる。
【００８５】
これまでに説明してきた本発明特有の実施形態は、本発明の原理の一定の適用範囲を単に例示したものに過ぎないことを理解されよう。スケジュールの取決めには、本発明の趣旨および範囲を逸脱することなく、本明細書に記載された発明の共有表現を介してプライバシを保護しながら、数多くの修正が可能である。さらに本発明については、インターネットとの関連において例示の目的でのみ説明しているが、本発明は、たとえばローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはコンピュータが相互に通信可能な任意の適用範囲に対しても、同様に適用可能であることは明白であるものとする。
【図面の簡単な説明】
【００８６】
【図１】本発明の会合取決めシステムが使用可能な、例示的オペレーティング環境を示す概略図である。
【図２】図１の会合取決めシステムの高水準アーキテクチャを示すブロック図である。
【図３】図１および２の会合取決めシステムのオペレーションの一方法の概要を示すプロセス流れ図である。
【図４】会合主催者が会合の取決めを開始する場合の、図１および２の会合取決めシステムのユーザ・インターフェースを示す図である。
【図５】参加者が会合取決めに応答する場合の、図１および２の会合取決めシステムのユーザ・インターフェースを示す図である。
【図６】会合主催者が会合取決めを完結させる場合の、図１および２の会合取決めシステムのユーザ・インターフェースを示す図である。
【図７】ユーザ・ログインの場合の、図１および２の会合取決めシステムのオペレーションの一方法を示すプロセス流れ図である。
【図８】取決めを開始する場合の、図１および２の会合取決めシステムのオペレーションの一方法を示すプロセス流れ図である。
【図９】取決めに応答する場合の、図１および２の会合取決めシステムのオペレーションの一方法を示すプロセス流れ図である。
【符号の説明】
【００８７】
１５    取決めサーバ
２０５    取決めクライアント
２１０    取決め持続プログラム
２１５    取決めＤＢ
２２０    通知プログラム
２２５    取決め完結プログラム
２３０    カレンダ検索プログラム
２３５    スケジュール総計プログラム
２４０    認証プログラム
２４５    招待プログラム
２５０    グローバル最適化プログラム
【図１】
0004841132.tif 000002
【図２】
0004841132.tif 000003
【図３】
0004841132.tif 000004
【図４】
0004841132.tif 000005
【図５】
0004841132.tif 000006
【図６】
0004841132.tif 000007
【図７】
0004841132.tif 000008
【図８】
0004841132.tif 000009
【図９】
0004841132.tif 000010