(57)【要約】【課題】カレンダ規則の定義、ランク付け、および展開を提供する。【解決手段】方法は、少なくとも１つの１次カレンダを提供すること、ならびに、ランクと規則範囲とをそれぞれが含む、複数のカレンダ規則を提供することを含むことが可能である。また、方法は、１次カレンダおよび複数のカレンダ規則の表示を提供すること、および複数のカレンダ規則の表示の展開を可能にすることも含むことが可能である。【選択図】図３
2006190266.tif 000002
【特許請求の範囲】
【請求項１】
カレンダリングのための方法であって、
少なくとも１つの１次カレンダを提供するステップと、
ランクと規則範囲とをそれぞれが含む、複数のカレンダ規則を提供するステップと、
前記１次カレンダおよび前記複数のカレンダ規則の表示を提供するステップと、
前記複数のカレンダ規則の前記表示の展開を可能にするステップと
を備えることを特徴とする方法。
【請求項２】
前記複数のカレンダの少なくとも１つは、少なくとも１つの入れ子のカレンダを定義することを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも１つの入れ子のカレンダは、カレンダ規則を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記少なくとも１つの入れ子のカレンダは、カレンダ規則を全く含まず、カレンダ規則を有さない前記少なくとも１つの入れ子のカレンダは、時間のブロックを戻すことを特徴とする請求項２に記載の方法。
【請求項５】
前記複数のカレンダ規則の前記少なくとも１つは、前記少なくとも１つの入れ子のカレンダの前記カレンダ規則の前記規則範囲を変更することを特徴とする請求項３に記載の方法。
【請求項６】
第１の透明性プロパティが、ランタイム範囲を変更するカレンダ規則を示し、第２の透明性プロパティが、前記ランタイム範囲を変更しないカレンダを示す、透明性プロパティを前記複数のカレンダ規則に与えるステップをさらに備えることを特徴とする請求項２に記載の方法。
【請求項７】
前記複数のカレンダ規則の１つのカレンダ規則の前記表示は、一連の時間ブロックを戻すことを特徴とする請求項１に記載の方法。
【請求項８】
前記複数のカレンダ規則の前記展開は、ランクの順序で行われることを特徴とする請求項１に記載の方法。
【請求項９】
前記複数のカレンダ規則の前記表示を展開するステップは、該カレンダ規則の規則範囲と、ユーザによって定義された規則範囲の少なくともどちらかの範囲内における前記カレンダ規則の展開をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
少なくとも１つの１次カレンダを提供するためのコンピュータ実行可能命令と、
ランクと規則範囲とを含む複数のカレンダ規則を提供するためのコンピュータ実行可能命令と、
前記１次カレンダおよび前記複数のカレンダ規則の表示を提供するためのコンピュータ実行可能命令と、
前記複数のカレンダ規則の前記表示の展開を可能にするためのコンピュータ実行可能命令とを含む
カレンダリングのための実行可能命令を備えたことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記複数のカレンダ規則の少なくとも１つは、少なくとも１つの入れ子のカレンダを定義することを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記少なくとも１つの入れ子のカレンダは、カレンダ規則を含むことを特徴とする請求項１１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記少なくとも１つの入れ子のカレンダは、カレンダ規則を全く含まず、カレンダ規則を有さない前記少なくとも１つの入れ子のカレンダは、時間のブロックを戻すことを特徴とする請求項１１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記複数のカレンダ規則の前記少なくとも１つは、前記少なくとも１つの入れ子のカレンダの前記カレンダ規則の前記規則範囲を変更することを特徴とする請求項１２に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
第１の透明性プロパティが、ランタイム範囲を変更するカレンダ規則を示し、第２の透明性プロパティが、前記ランタイム範囲を変更しないカレンダ規則を示す、透明性プロパティを前記複数のカレンダ規則に与えることをさらに備えたことを特徴とする請求項１１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
ビデオイメージを生成することができるディスプレイユニットと、
入力デバイスと、
前記ディスプレイユニットおよび前記入力デバイスに動作上、結合され、プロセッサと、前記プロセッサに動作上、結合されたメモリとを含む処理装置と、
ネットワークおよび前記処理装置に接続されたネットワークインタフェースとを備え、
前記処理装置は、少なくとも１つの１次カレンダを提供するようにプログラミングされ、
前記処理装置は、ランクと規則範囲とをそれぞれが含む、複数のカレンダ規則を提供するようにプログラミングされ、
前記処理装置は、前記１次カレンダおよび前記複数のカレンダ規則の表示を提供するようにプログラミングされ、
前記処理装置は、前記複数のカレンダ規則の前記表示の展開を可能にするようにプログラミングされる
ことを特徴とするコンピューティング装置。
【請求項１７】
前記複数のカレンダ規則の少なくとも１つは、少なくとも１つの入れ子のカレンダを定義することを特徴とする請求項１６に記載のコンピューティング装置。
【請求項１８】
前記少なくとも１つの入れ子のカレンダは、カレンダ規則を含むことを特徴とする請求項１７に記載のコンピューティング装置。
【請求項１９】
前記少なくとも１つの入れ子のカレンダは、カレンダ規則を全く含まず、カレンダ規則を有さない前記少なくとも１つの入れ子のカレンダは、時間のブロックを戻すことを特徴とする請求項１７に記載のコンピューティング装置。
【請求項２０】
前記複数のカレンダ規則の前記少なくとも１つは、前記少なくとも１つの入れ子のカレンダの前記カレンダ規則の前記規則範囲を変更することを特徴とする請求項１８に記載のコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カレンダリングのための方法および装置に関する。
【背景技術】
【０００２】
カレンダリング（ｃａｌｅｎｄｅｒｉｎｇ）システムは、ユーザが、従業員、サービス、および資本設備を含むリソースを常に把握しておくのを支援しようと試みる。各リソースが、独自のカレンダを有することも、リソースが、グループカレンダの一部であることも可能である。好ましくは、そのようなカレンダリングシステムは、いくつかを挙げると、スケジューラが、複数のリソースを最適に割り当てること、会議オーガナイザが、正しい出席者および部屋を見つけること、ディスパッチャ（ｄｉｓｐａｔｃｈｅｒ）が、競合を見つけて、評価すること、およびマネージャが、最適なリソース利用のためにシステムを微調整することを可能にする。例えば、配送運転手の交替制勤務（ｗｏｒｋ  ｓｈｉｆｔ）に関するカレンダを配送トラックリソースに関するカレンダと比較して、運転手が運転するのに応じられる日付と時間帯、ならびに運転するのに利用できるトラックを特定することができる。正確な結果は、好ましくは、運転手および配送トラックに関連する、他のあらゆるカレンダの考慮を含む。そのような追加のカレンダには、いくつかを挙げると、昼食のための繰り返される休み時間、トラックに関する繰り返される予防整備スケジュール、および休日カレンダが含まれる。特定の従業員または資本設備リソースの利用可能性は、いくつかのカレンダの対話によって記述されることが可能である。このため、運転手カレンダおよびトラックカレンダだけに対するクエリは、特に、休日カレンダ、共有グループカレンダ、季節カレンダ、またはその他のタイプのカレンダがリソースに影響を与える可能性がある場合、様々な入れ子の繰り返されるイベントに関するスケジュール情報を提供しない、またはそのような情報を所望の範囲に展開しない可能性がある。
【０００３】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている（例えば、特許文献１、２参照）。
【０００４】
【特許文献１】米国特許第６，４６３，４６３号明細書
【特許文献２】米国特許第６，６３６，８８８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【０００６】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、カレンダ規則の定義、ランク付け、および展開等を可能とするカレンダリングのための方法および装置を提供することにある。
【課題を解決するための手段】
【０００７】
カレンダリングのための方法および装置を開示する。方法は、少なくとも１つの１次カレンダを提供すること、ランクと規則範囲とをそれぞれが含む、複数のカレンダ規則を提供すること、１次カレンダおよび複数のカレンダ規則の表示を提供すること、および複数のカレンダ規則の表示の展開を可能にすることを含むことが可能である。複数のカレンダ規則は、少なくとも１つの入れ子のカレンダを定義することが可能であり、カレンダ規則を含むことも可能である。その少なくとも１つの入れ子のカレンダは、全くカレンダ規則を含まず、時間のブロックを戻すことも可能である。代替として、その複数のカレンダ規則のその少なくとも１つは、その少なくとも１つの入れ子のカレンダのカレンダ規則の規則範囲を変更することができる。また、方法は、第１の透明性（ｔｒａｎｓｐａｒｅｎｃｙ）プロパティが、ランタイム範囲を変更するカレンダ規則を示し、第２の透明性プロパティが、ランタイム範囲を変更しないカレンダ規則を示す透明性プロパティを、その複数のカレンダ規則に与えることも可能である。さらに、その複数のカレンダ規則の１つのカレンダ規則の表示は、一連の時間ブロックを戻し、その複数のカレンダ規則の展開は、ランクの順序で行われ、その複数のカレンダ規則の表示を展開することは、規則範囲全体と、ユーザによって定義された規則範囲の少なくともどちらかの範囲内におけるカレンダ規則の展開をさらに含む。命令を実行するプロセッサ、およびコンピュータ命令を有するコンピュータ可読媒体を備えたコンピュータシステムが開示されて、方法が実行される。
【発明の効果】
【０００８】
本発明によれば、カレンダ規則の定義、ランク付け、および展開等を可能とすることができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【００１０】
以下の文面は、多数の異なる実施形態の詳細な説明を提示するが、この説明の法的範囲は、本特許に記載する特許請求の範囲の言葉によって定義されることを理解されたい。この詳細な説明は、単に典型的であり、可能なすべての実施形態を説明することは、不可能ではないにしても、非現実的であるため、可能なすべての実施形態を説明するのではないものと解釈されたい。現行の技術、または本特許の出願日より後に開発される技術を使用して、多数の代替の実施形態を実施することも可能であり、それらの実施形態も、やはり、特許請求の範囲に含まれる。
【００１１】
また、「本明細書で使用する、「  」という用語は、〜を意味するものと定義される」という文、または同様の文を使用して、本特許において用語が明確に定義されない限り、その用語の意味を、その用語の平明な意味、または通常の意味を超えて、明確にも、含意によっても、限定する意図は全くなく、そのような用語は、（特許請求の範囲の言い回し以外）本特許のいずれのセクションにおけるいずれの言明に基づいても、範囲が限定されるものと解釈してはならないことも理解されたい。本特許の特許請求の範囲に記載する、いずれの用語も、単一の意味と整合する形で本特許において述べられる限り、これは、読者を混乱させないように明瞭にするためだけに行われ、そのような請求項の用語が、その単一の意味に、含意によっても、それ以外でも、限定されることを意図するものではない。最後に、請求項の要素が、「手段」という語を記述することによって定義されない限り、全く構造の記載のない機能、いずれの請求項の要素の範囲も、３５Ｕ．Ｓ．Ｃ．§１１２、第６項の適用に基づいて解釈されることを意図していない。
【００１２】
図１は、特許請求する方法および装置のステップのためのシステムを実施することができる、適切なコンピューティングシステム環境１００の実施例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一実施例に過ぎず、特許請求の範囲の装置の方法の用法または機能について、何ら限定を示唆するものではない。また、コンピューティング環境１００が、典型的な動作環境１００に示したコンポーネントのいずれの１つ、または組み合わせに関連する依存関係または要件も有すると解釈してはならない。
【００１３】
特許請求する方法および装置のステップは、他の多数の汎用または専用のコンピューティングシステム環境またはコンピューティングシステム構成で機能する。特許請求の範囲の方法または装置で使用するのに適する可能性がある、周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【００１４】
請求される方法および装置のステップは、コンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。また、方法および装置は、通信ネットワークを介してリンクされたリモート処理装置群によってタスクが実行される、分散コンピューティング環境において実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができる。
【００１５】
図１を参照すると、特許請求する方法および装置のステップを実施するための典型的なシステムが、コンピュータ１１０の形態で汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、プロセッサ１２０、システムメモリ１３０、ならびにシステムメモリからプロセッサ１２０までを含む様々なシステムコンポーネントを結合するシステムバス１２１が含まれることが可能であるが、以上には限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含め、いくつかのタイプのバス構造のいずれであってもよい。例として、限定としてではなく、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれることが可能である。
【００１６】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセスすることができる任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブル媒体とノンリムーバブル媒体がともに含まれる。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するために、任意の方法または技術で実装された揮発性媒体と不揮発性媒体、リムーバブル媒体とノンリムーバブル媒体がともに含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ（compact disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ１１０がアクセスすることができる他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構でコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実現し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような形で特性の１つまたは複数が設定または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、ＲＦ（radio frequency）媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。また、前述した媒体のいずれの媒体の組み合わせも、コンピュータ可読媒体の範囲に含められなければならない。
【００１７】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性メモリおよび／または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。起動中などに、コンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System）１３３が、通常、ＲＯＭ１３１の中に格納される。ＲＡＭ１３２は、通常、プロセッサ１２０が即時にアクセス可能であり、かつ／または現在、処理しているデータおよび／またはプログラムモジュール群を含む。例として、限定としてではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム群１３５、その他のプログラムモジュール群１３６、およびプログラムデータ１３７を示す。
【００１８】
また、コンピュータ１１０は、他のリムーバブル／ノンリムーバブル、揮発性／不揮発性のコンピュータ記憶媒体も含むことが可能である。単に例として、図１は、ノンリムーバブル不揮発性の磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ１４０、リムーバブル不揮発性の磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスクドライブ１５１、およびＣＤ  ＲＯＭまたは他の光媒体などの、リムーバブル不揮発性の光ディスク１５６に対して読み取りまたは書き込みを行う光ディスクドライブ１５５を示す。典型的な動作環境において使用することができる、他のリムーバブル／ノンリムーバブル、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、以上には限定されない。ハードディスクドライブ１４１は、通常、インタフェース１４０のような、ノンリムーバブルメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インタフェース１５０のような、リムーバブルメモリインタフェースを介してシステムバス１２１に接続される。
【００１９】
前述し、図１に示したドライブ群、および関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータのストレージが、コンピュータ１１０に提供される。図１では、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム群１４５、その他のプログラムモジュール群１４６、およびプログラムデータ１４７を格納しているのが示されている。以上のコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム群１３５、その他のプログラムモジュール群１３６、およびプログラムデータ１３７と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム群１４５、その他のプログラムモジュール群１４６、およびプログラムデータ１４７に、ここでは、少なくともそれらが異なるコピーであることを示すために、異なる符号を与えている。ユーザは、キーボード１６２や、マウス、トラックボール、またはタッチパッドなどと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ２０に入力することができる。他の入力デバイス群（図示せず）には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイス群は、しばしば、システムバスに結合されたユーザ入力インタフェース１６０を介してプロセッサ１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの、他のインタフェースおよびバス構造で接続してもよい。モニタ１９１、または他のタイプのディスプレイデバイスも、ビデオインタフェース１９０のようなインタフェースを介して、システムバス１２１に接続される。モニタに加え、コンピュータは、出力周辺インタフェース１９０を介して接続することができる、スピーカ１９７やプリンタ１９６などの、他の周辺出力デバイス群も含むことが可能である。
【００２０】
コンピュータ１１０は、リモートコンピュータ１８０のような、１つまたは複数のリモートコンピュータに対する論理接続を使用する、ネットワーク化された環境において動作することもできる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、コンピュータ１１０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置１８１だけを図１に示している。図１に示した論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークも含まれることが可能である。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００２１】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２、または他の手段を含む。内部にあることも、外部にあることも可能なモデム１７２は、ユーザ入力インタフェース１６０、または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関連して示したプログラムモジュール群、またはプログラムモジュール群の諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、限定としてではなく、図１は、リモートアプリケーションプログラム群１８５が、メモリデバイス１８１上に存在するのを示す。図示したネットワーク接続は、典型的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることが理解されよう。
【００２２】
カレンダは、特定の期間に関するカレンダ規則の集合であることが可能であり、その期間は、規則範囲とも呼ばれる。カレンダおよびカレンダ規則を使用して、従業員および資本設備に関する運用（ｗｏｒｋｉｎｇ）カレンダの中で見られる可能性が高い、複雑な繰り返される時間間隔を表すことができる。カレンダは、時間のブロックについての情報を有する１つまたは複数の時間ブロックを戻すことができる。さらに、カレンダが、カレンダ規則を含む場合、カレンダ規則は、カレンダ規則の規則範囲に鑑みて処理されることが可能である。処理されたカレンダ規則は、他のカレンダ、および他のカレンダ規則に伝えられる（ｐａｓｓｅｄ  ｏｎ）ことが可能なランタイム範囲を出力することが可能である。カレンダ規則は、追加のカレンダをさらに入れ子にして、入れ子にされたカレンダが、前のカレンダのランタイム範囲を受け取るようにすることができる。
【００２３】
また、カレンダ規則は、透明性プロパティも含むことが可能である。カレンダ規則に関する透明性プロパティが真である、すなわち、カレンダ規則が透明である場合、その規則は、処理されることが可能であり、規則は、ランタイム範囲を変更してから、他のカレンダ、および他のカレンダ規則にランタイム範囲を伝える。反対に、カレンダ規則は、ときとして不透明と呼ばれる、透明ではない場合、処理されることが可能であるが、ランタイム範囲を他のカレンダに伝える前に、ランタイム範囲を変更することはしない。透明性は、少なくとも３つの形で、ランタイム範囲に影響を与える可能性がある。第１に、カレンダ規則は、その規則が透明である場合、カレンダ規則の規則範囲を処理し、ランタイム範囲を変更することが可能である。第２に、カレンダ規則は、カレンダ規則の規則範囲を処理するが、ランタイム範囲を変更しないことが可能である。第３に、カレンダ規則は、カレンダ規則の規則範囲の一部分を処理し、部分的に変更されたランタイム範囲を伝えることが可能である。
【００２４】
他方、カレンダ規則のないカレンダは、リーフ（ｌｅａｆ）であることが可能であり、開始時刻、継続時間、および繰り返しパターンに応じて、一連の時間ブロックを戻すことができる。したがって、リーフカレンダは、その下に入れ子のカレンダを全く有さない。一連の時間ブロックは、ｉＣａｌ  Ｇｌｏｂａｌ標準などの、業界標準のカレンダプロトコルによって指定されることが可能である。
【００２５】
カレンダ規則は、カレンダ規則が繰り返し処理される、または展開されることが可能であるランクを含む。つまり、より高いランクのカレンダは、より低いランクのカレンダ規則が処理される、または展開されるよりも前に処理される、または展開されることが可能である。カレンダ規則の処理および展開は、最後の入れ子のカレンダに達するまで、つまり、リーフカレンダに達するまで、ランク順に続けられることが可能である。また、より高いランクのカレンダ規則は、同様の規則範囲に関して処理される、または展開される場合、より低いランクのカレンダ規則に勝る、より高い優先順位を有することも可能である。
【００２６】
カレンダ規則は、任意の規則範囲重複に対する演算も実行することが可能である。カレンダ規則が透明である場合、その演算は、その規則に対して実行されることが可能であり、その規則の後に続く、あらゆる規則に対しても、それらの後続のカレンダ規則の透明性に関わらず、実行されることが可能である。演算には、論理積（ｉｎｔｅｒｓｅｃｔｉｎｇ）、減算、および合併（ｕｎｉｏｎ）が含まれることが可能であるが、以上には限定されない。後に説明するとおり、論理積演算は、複数のカレンダが重複するカレンダ規則を含む場合、リソース利用不能を示すことが可能である。減算演算は、複数のカレンダが重複するカレンダ規則を含む場合、利用可能性を示すことが可能であり、合併演算は、複数のカレンダが重複するカレンダ規則を含む場合、生じる可能性がある、利用可能か、または利用不能の、あらゆるイベントを示すことが可能である。また、ユーザは、重複するカレンダ規則を扱うのに必要とされる、特定の演算を定義することもできる。
【００２７】
図２は、特許請求の範囲による方法の例示であることが可能である。カレンダ２００は、高レベルの表示セクション２０５と、低レベルの表示セクション２１０とを含むことが可能である。高レベルの表示セクション２０５は、選択されると、低レベルの表示セクション２１０上の詳細の抽象化をもたらす、高レベルの詳細からの、カレンダ規則によって定義されたカレンダの図表をユーザに提示することができる。例えば、選択矢印２２０で示されるとおり、「年間生産物配送カレンダ」２１５という題名のカレンダが選択されると、そのカレンダに関する低いレベルの詳細が、低レベル表示セクション２１０内で表示されることが可能である。低レベル表示セクション２１０は、「年間生産物配送カレンダ」２１５内に、４つの入れ子のカレンダが存在することを示すことが可能であり、それらの入れ子のカレンダのそれぞれは、より高いランクのカレンダの１つからのカレンダ規則によって定義される。図２に示すとおり、「年間生産物配送カレンダ」２１５は、休日カレンダ２２５、春季カレンダ２３０、夏季カレンダ２３５、および秋季カレンダ２４０を含む。それらの入れ子のカレンダのそれぞれ自体も、さらなるカレンダ規則を含むことが可能である。
【００２８】
低レベル表示セクション２１０は、相対的な水平の近さ２４５によって表される、入れ子のカレンダの階層、およびカレンダのそれぞれに関する関連するランクを、ある程度、示すことが可能である。カレンダのランクは、カレンダの中のカレンダ規則のランクの関数であることが可能であることに留意されたい。低レベル表示セクション２１０内の最高レベルのカレンダ、すなわち、休日カレンダ２２５は、高いランクを表すように、左端揃え２５０で表示されることが可能である。カレンダは、右側２５５に位置付けられるほど、ランクが低くなることが可能であり、同一の水平の位置揃えを有するカレンダ群は、同一のランクを有することが可能である。休日カレンダ２２５は、年間生産物配送カレンダ２１５の最も高くランク付けされた入れ子のカレンダとして、カレンダ２２５のカレンダ規則を、より低いランクのカレンダに課すことができる。このため、図２の典型的な諸実施形態は、春季カレンダ２３０、夏季カレンダ２３５、および秋季カレンダ２４０が、より高いランクの休日カレンダ２２５から、いくつかのカレンダ規則を導出する可能性があることを示すことが可能である。
【００２９】
図３は、特許請求の範囲によるカレンダ対話の例示であることが可能である。休日カレンダ規則が、１ワークウイーク（ｗｏｒｋ−ｗｅｅｋ）、月曜日から金曜日までの特定の規則範囲３０５を有することが可能である。休日規則範囲３０５は、そのワークウイークの水曜日を休日３１０として示すことが可能である。例えば、春季カレンダ規則の規則範囲３１５も、月曜日から金曜日までにわたることが可能である。しかし、その週の火曜日から木曜日までが、リソース３２０を要求することが可能である。同様な規則範囲のこれら２つのカレンダ規則は、重複する可能性があり、それぞれのカレンダ規則に基づく演算を実行して、結果をもたらすことができる。詳細には、休日規則が、春季カレンダ規則より高いランクである場合、休日規則は、その休日３１０を含むようにランタイム範囲を変更する。より低いランクの春季カレンダは、そのランタイム範囲を受け取り、春季カレンダの規則範囲３１５のためにそのランタイム範囲を処理する。このため、重複する規則範囲３０５と規則範囲３１５に対して実行される演算は、最高ランクの規則、すなわち、休日規則を優先させる。
【００３０】
例えば、休日規則と春季カレンダ規則がともに透明である場合、減算演算３２５が、運用リソース３３０に関する利用可能時間の結果を示すことができる。この実施例では、火曜日と木曜日はともに、そのリソースに関する競合を全くもたらさないが、水曜日は、休日３１０のために、リソースが利用されるのを妨げる。図２に少し戻ると、休日カレンダ２２５は、入れ子のカレンダの最高ランクを示すことが可能であり、このため、より低いランク付けの春季カレンダ２３０より優先されることが可能である。
【００３１】
同様に、論理積演算３３５が、休日規則と春季カレンダ規則の間の論理積を示すことが可能である。カレンダのカレンダ規則が透明であるものと想定すると、同様な規則範囲のそれら２つの規則間における唯一の論理積は、水曜日であり、リソース利用不能３４０が示される。
【００３２】
加算、つまり合併の演算３４５は、利用、または重複する規則間の競合を示すことが可能である。この場合も、規則が透明であるものと想定すると、合併の結果は、火曜日から木曜日までがふさがっている、または利用されていることを示すことが可能である。様々な演算が実行されて、例外処理、グループカレンダリング、およびスケジューリングを助けることが可能である。さらに、演算をカスタマイズし、後の時点で規則に対して実行して、論理積、減算、および合併の混成の置換（ｈｙｂｒｉｄ  ｐｅｒｍｕｔａｔｉｏｎ）を実行してもよい。また、カレンダ規則は、入れ子のカレンダ内に存在することが可能なより低いランクの規則に関する規則範囲を定義し、変更することもできる。
【００３３】
反対に、それらのカレンダのいずれか、または両方のカレンダ規則により、カレンダが透明でない（例えば、透明性プロパティまたは透明性フラグ＝ＦＡＬＳＥ）と規定される場合、２つ以上のカレンダ間の演算は、行われない。
【００３４】
図４は、カレンダの展開および解決の、つまり、規則範囲内でカレンダ規則を展開することの例示であることが可能である。図２と同様に、高レベルの表示セクション４０５が、左側にあり、低レベルの表示セクション４１０が、右側にある。しかし、図２とは異なり、年間生産物配送カレンダ４１５は、「−」シンボルで示されるように、図４において展開されて、入れ子のカレンダが下に示される。ランク４２０は、年間生産物配送カレンダ４１５が、左端揃え４２５を占めて示され、最高ランクを確立する可能性がある。休日カレンダ４３０は、２番目に高いランク４３５を占める。最後に、春季カレンダ４４０、夏季カレンダ４４５、および秋季カレンダ４５０が、右端揃え４５５を占め、したがって、最低ランクを有する。この場合も、カレンダのランクは、カレンダのカレンダ規則のランクの関数であることが可能である。
【００３５】
選択矢印４６０で示される、春季カレンダ４４０の選択は、低レベルの表示セクション４１０上でカレンダ規則を解決することを示す。例えば、春季カレンダ４４０のカレンダ規則は、その年の３ヶ月、４月、５月、および６月の規則範囲を定義する。図４は、月の解決で規則範囲４６３を示すが、代替の規則範囲選択は、任意の数の月、週、日、時間、分、季節、および惑星年（例えば、火星年）を含むが、以上には限定されない、任意のレベルの詳細を含むことが可能である。例えば、ユーザは、より詳細な表示のために、代替の規則範囲を指定することもできる。低レベルの表示セクション４１０の典型的な表示は、春季カレンダ４４０内のさらなる入れ子の規則およびカレンダに関する詳細も示すことができる。例えば、４月、５月、および６月のそれぞれが、リソースに関する整備の繰り返される規則を示すことが可能な文字「Ｍ」４６５を、第１火曜日および第３火曜日に含む。同様に、文字「Ｖ」４７０が、１つまたは複数のリソースに関する休暇日に関連する様々なカレンダ規則を示すことが可能であり、「Ｈ」４７５が、様々な休日に関連するカレンダ規則を示すことが可能である。
【００３６】
図５は、カレンダを展開し、カレンダを最低レベルの詳細にまで解決することの例示であることが可能である。この場合も、カレンダ表示は、高レベルの表示セクション５０５と低レベルの表示セクション５１０の間で分割されることが可能である。年間生産物配送カレンダ５１５が、「−」シンボル５２０で示されるように、展開されて、入れ子のカレンダが下に示される。休日カレンダ５２５が展開されて、様々な休日のいずれが、同一のランク、またはより低いランクを有する他のカレンダと重複する潜在的に重複する可能性があるかが示される。春季カレンダ５３０も展開されて、休暇カレンダ５３５、休みカレンダ５４０、整備カレンダ５４５、および繰り返されるワークウイークカレンダ５５０を含む、入れ子のカレンダも、カレンダ５３０内に示される。さらに、ワークウイークカレンダ５５０内には、毎週、月曜日から金曜日まで働く、運転手Ａ５５５および運転手Ｂ５６０という２つのリソースが存在する。運転手Ａ５５５および運転手Ｂ５６０は、リーフカレンダであり、規則を含まない。このため、運転手Ａ５５５および運転手Ｂ５６０は、ランタイム範囲を伝える、または変更することはなく、単に時間のブロックを戻す。
【００３７】
カレンダ規則に加えて、カレンダは、メタデータも含むことが可能である。例えば、運転手Ａリソース５５５は、特定の専門、または特定の配送ルートの知識を示す情報を含むことが可能である。そのような追加の情報は、様々なリソースをスケジュールする際、判断をさらに向上させることができる。
【００３８】
選択矢印５６５で示されるとおり、運転手Ｂ５６０が選択されると、特定の規則範囲５７０が示されることが可能である。運転手Ｂ５６０は、カレンダ規則を全く含まないので、その結果、規則範囲を全く含まない。それゆえ、規則範囲５７０は、より高いランク付けのカレンダ規則の規則範囲、例えば、ワークウイーク規則、または春季カレンダ規則の規則範囲であることが可能である。例えば、低レベルの表示５１０上で示される範囲５７０は、春季カレンダ５３０の規則からの特定の１週を含むことが可能である。運転手Ｂに関するカレンダは、より高いランクのすべての規則を継承し、したがって、休暇カレンダ５３５は、水曜日から金曜日までに休暇日５７５を消費するのが示されることが可能であり、休みカレンダ５４０は、毎勤務日、正午から午後１：００までを消費する、繰り返されるイベント５８０であることが可能であり、整備カレンダ５４５は、各月の第１火曜日および第３火曜日を消費する、繰り返されるイベント５８５であることが可能である。規則は、図５に示す規則範囲５７０をもたらすように展開される際、ランクの順序で出現することが可能である。このため、休日に関連するカレンダ規則がまず、実行されて、ランタイム範囲における利用不能のインスタンスが戻されることが可能である。ランクを下ると、より低いランクのカレンダ規則が、ランタイム範囲を受け取り、昼休み時間５４０、休暇日５３５、および整備日５４５に関連するカレンダ規則を処理する。最後に、最低ランクのレベルで、ワークウイークカレンダ５５０の対応するカレンダ規則が展開され、他の重複する規則範囲に対して演算を実行することが可能である。整備カレンダ規則の例には、予防整備手続きに起因して、運転手Ａまたは運転手Ｂに関する配送トラックが利用できない、繰り返される日付が含まれることが可能である。
【００３９】
結果の規則範囲５７０は、運転手Ｂの利用可能性または利用不能を示す、いくつかのカレンダ規則からの規則範囲の集積であることが可能である。ワークウイークカレンダ５５０と休みカレンダ５４０の間の論理積演算の結果、午後１２：００から午後１：００までの時間の間の利用不能を示すように、月曜日から金曜日までに陰影が付けられることが可能である。同様に、ワークウイークカレンダ５５０と整備カレンダ５４５の間の減算演算の結果、利用不能を示すように、火曜日にも陰影が付けられることが可能である。ワークウイークカレンダ５５０と休暇カレンダ５３５の間の減算演算の結果、リソース利用不能を示すように、水曜日から金曜日までに陰影が付けられることが可能である。図５には示していないが、夏季カレンダ５９０および秋季カレンダ５９５も、重複する場合、繰り返されるイベントのカレンダ規則、透明性設定、ならびに論理積演算、合併演算、および減算演算を含むことが可能な、同様に入れ子にされたカレンダを含むことが可能である。そのような演算は、リソース利用可能性の計算を可能にする。
【００４０】
以上の文面は、多数の異なる実施形態の詳細な説明を提示するが、本特許の範囲は、本特許に記載する特許請求の範囲の言葉によって定義されることを理解されたい。詳細な説明は、単に典型的であり、可能なすべての実施形態を説明することは、不可能ではないにしても、非現実的であるため、可能なすべての実施形態を説明するのではないものと解釈されたい。現行の技術、または本特許の出願日より後に開発される技術を使用して、多数の代替の実施形態を実施することも可能であり、それらの実施形態も、やはり、特許請求の範囲に含まれる。
【００４１】
このため、本特許請求の範囲の趣旨および範囲を逸脱することなく、本明細書で説明し、図示した技術および構造において、多くの変更形態および変形形態を実施することができる。したがって、本明細書で説明する方法および装置は、単に例示的であり、特許請求の範囲を限定するものではないことを理解されたい。
【図面の簡単な説明】
【００４２】
【図１】本発明を適用できる実施形態のコンピューティングシステムを示すブロック図である。
【図２】本発明を適用できる実施形態のカレンダの展開されていない表示を示す図である。
【図３】本発明を適用できる実施形態の動作を示す図である。
【図４】本発明を適用できる実施形態のカレンダの高レベルの表示を示す図である。
【図５】本発明を適用できる実施形態のカレンダの低レベルの表示を示す図である。
【符号の説明】
【００４３】
３１０  休日
３２０  必要とされるリソース
３３０  利用可能
３４０  利用不能
３５０  ふさがった／利用されている
【図１】
2006190266.tif 000003
【図２】
2006190266.tif 000004
【図３】
2006190266.tif 000005
【図４】
2006190266.tif 000006
【図５】
2006190266.tif 000007