(57)【要約】  電池の寿命を延長するための、資源を利用するスケジュールの合体。スケジュールのそれぞれは、定義された許容範囲内にある再発性アクティブ化時刻に実行するように定義される。イベント通知を受信した後、スケジュールがアクセスされ、それらのアクティブ化時刻及び許容値に基づいて、早期に実行され得るスケジュールを識別する。識別されたスケジュールは、実行するために統合される。【選択図】  図１
2011515778.tif 000002
【特許請求の範囲】
【請求項１】
携帯機器（３０２）に対する電力を節約するための計算機実行可能コンポーネントを有する１つ以上の計算機可読媒体であって、前記コンポーネントが、
前記携帯機器（３０２）上の電力を消費する資源の利用可能性に関する通知を受信するためのインターフェースコンポーネント（２１４）と、
記憶領域にストアされている、実行中に前記資源を消費する複数のスケジュール（２０８）を識別するための条件コンポーネント（２１６）であって、前記複数のスケジュール（２０８）のそれぞれが、再発性アクティブ化時刻（４１０）及び許容係数（４１２）を有するものと、
前記再発性アクティブ化時刻（４１０）と前記インターフェースコンポーネント（２１４）による前記通知の受信時刻との間の差が、前記許容係数（４１２）の範囲内にある前記識別された複数のスケジュールのうち１つ以上を選択するための統合コンポーネント（２１８）と、
前記電力を消費する資源を使用するために前記統合コンポーネント（２１８）によって選択された前記スケジュールを実行する節約コンポーネント（２２０）と、を含むことを特徴とする計算機可読媒体。
【請求項２】
更に、前記節約コンポーネントによって実行されるスケジュールの数を所定の制限値に応じて制限するためのスロットルコンポーネントを含む請求項１記載の計算機可読媒体。
【請求項３】
前記電力を消費する資源が、携帯機器に関連付けられている、
無線周波数送信機、バックライト、プロセッサー、音声増幅器、全地球測位システム、デジタルメモリー待機、短距離無線ネットワークアダプター、補助プロセッサー、振動モーター、リンガー、カメラ、加速度計、及びアンビエントライトセンサーのうち１つ以上を含むこと特徴とする請求項１記載の計算機可読媒体。
【請求項４】
イベント通知を受信するステップと、
複数の再発性スケジュール（２０８）にアクセスするステップであって、前記複数の再発性スケジュール（２０８）のそれぞれが、定義されたアクティブ化時刻（４１０）及びそれに関連付けられている許容係数（４１２）を有するものと、
前記受信したイベント通知、現在時刻、前記定義されたアクティブ化時刻（４１０）、及び前記アクセスされたスケジュールのそれぞれの前記許容係数（４１２）に応じて前記アクセスされたスケジュールのうち１つ以上を識別するステップと、
前記識別されたスケジュールをアクティブ化するステップと、を含む方法。
【請求項５】
前記識別されたスケジュールをアクティブ化するステップが、前記識別されたスケジュールに関連付けられている１つ以上の動作を実行するステップを含むことを特徴とする請求項４記載の方法。
【請求項６】
前記複数のスケジュールのそれぞれが、アクティブ化時刻の間の間隔期間を有していて、更に、前記スケジュールに関する前記間隔期間に基づいて、前記アクティブ化されるスケジュールのそれぞれに対して次のアクティブ化時刻を定義するステップを含むことを特徴とする請求項４記載の方法。
【請求項７】
前記次のアクティブ化時刻を定義するステップが、前記スケジュールのそれぞれに対する前記次のアクティブ化時刻を定義するために、前記スケジュールのそれぞれに対する前記間隔期間を前記現在時刻に追加するステップを含むことを特徴とする請求項６記載の方法。
【請求項８】
前記現在時刻と定義された前記次のアクティブ化時刻との間の差が、前記間隔期間よりも小さいことを特徴とする請求項６記載の方法。
【請求項９】
前記アクセスされたスケジュールのうち１つ以上を識別するステップが、
前記現在時刻と前記スケジュールのそれぞれに対し定義された前記アクティブ化時刻との間の差を計算するステップと、
前記計算された差を前記スケジュールに対する前記許容係数と比較するステップと、
前記比較に基づいて前記スケジュールのうち１つ以上を識別するステップと、を含むことを特徴とする請求項４記載の方法。
【請求項１０】
前記イベント通知を受信するステップが、資源が利用可能であることの通知を受信するステップを含み、前記アクセスされたスケジュールのうち１つ以上を識別するステップが、前記利用可能な資源を使用する前記スケジュールのうち１つ以上を識別するステップを含むこと、を特徴とする請求項４記載の方法。
【請求項１１】
前記受信ステップ、前記アクセスステップ、前記識別ステップ、及び前記アクティブ化するステップが、携帯機器によって実行されることを特徴とする請求項４記載の方法。
【請求項１２】
前記複数のスケジュールのそれぞれが、それに関連付けられている少なくとも１つ動作を有していて、前記受信ステップ、前記アクセスステップ、前記識別ステップ、及び前記アクティブ化ステップが、計算装置によって実行されることと、前記識別されたスケジュールをアクティブ化するステップが、前記識別されたスケジュールのそれぞれに関連付けられている動作を実行するように携帯機器に命令するステップを含むこと、を特徴とする請求項４記載の方法。
【請求項１３】
更に、スロットル限界を定義するステップを含んでいて、前記識別されたスケジュールをアクティブ化するステップが、前記定義されたスロットル限界よりも小さい数の前記識別されたスケジュールをアクティブ化するステップを含むことを特徴とする請求項４記載の方法。
【請求項１４】
前記識別されたスケジュールが、携帯機器上でアクティブ化することと、前記スロットル限界を定義するステップが、前記携帯機器上の資源の消費状態に応じて前記スロットル限界を定義するステップを含むこと、を特徴とする請求項１３記載の方法。
【請求項１５】
複数の再発性スケジュール（２０８）をストアするための記憶領域であって、前記複数の再発性スケジュール（２０８）のそれぞれが、定義されたアクティブ化時刻（４１０）、許容係数（４１２）、及びアクティブ化時刻間の間隔期間（４０８）を有するものと、
プロセッサー（２０６）であって、
前記再発性スケジュール（２０８）のそれぞれに対し定義された前記アクティブ化時刻（４１０）、許容係数（４１２）、及び間隔期間（４０８）を受信するステップと、
前記受信されたアクティブ化時刻（４１０）、許容係数（４１２）、及び間隔期間（４０８）を前記記憶領域にストアするステップと、
イベント通知を通知時刻に受信するステップと、
前記受信された通知を適用する対象であって、かつ、前記定義されたアクティブ化時刻（４１０）と前記通知時刻との間の差が前記許容係数（４１２）の範囲内にある、前記再発性スケジュール（２０８）のうち１つ以上を識別するステップと、
前記識別されたスケジュールをアクティブ化するために統合するステップと、
前記統合されたスケジュールのそれぞれに関連付けられている１つ以上の動作（４０６）を実行するステップと、に関する計算機実行可能命令を実行するように構成されているものと、を含むシステム。
【請求項１６】
前記イベントが、携帯機器の起動を含んでいて、前記プロセッサーが更に、前記識別されたスケジュールのアクティブ化を共通のアクティブ化時刻に整列するように構成されていることを特徴とする請求項１５記載のシステム。
【請求項１７】
前記記憶領域及び前記プロセッサーが、携帯機器に関連付けられていることを特徴とする請求項１５記載のシステム。
【請求項１８】
前記記憶領域及び前記プロセッサーが、デバイス管理サーバーに関連付けられていて、前記プロセッサーが、前記統合されたスケジュールのそれぞれに関連付けられている動作の実行を実施するように携帯機器に命令することによって、前記１つ以上の動作を実行するように構成されていること、を特徴とする請求項１５記載のシステム。
【請求項１９】
更に、
前記受信した通知、前記通知時刻、前記定義されたアクティブ化時刻、及び前記複数のスケジュールのそれぞれの前記許容係数に応じて前記複数の再発性スケジュールのうち１つ以上を識別する手段と、
前記識別されたスケジュールをアクティブ化するために統合する手段と、を含む請求項１５記載のシステム。
【請求項２０】
更に、前記再発性スケジュールのアクティブ化を整列するための手段を含む請求項１５記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯装置の電力節約に関し、具体的には、計算機が消費する資源のスケジュール管理に関する。
【背景技術】
【０００２】
[0001]携帯電話及び携帯情報端末（ＰＤＡ）などの携帯計算装置が、最近、ますます普及している。装置がより小型化し続けるにつれて、メモリー、記憶装置、帯域幅、及び電池のような資源において制限が増大している。更に、より多くのアプリケーションが現在、そのような資源の水準を増やすことを要求している。例えば、アプリケーションの多くは、接続を持続するための頻繁な無線通信利用を必要とする、サーバーとの同期及びコンテンツのリアルタイム更新のような再発性タスクを実行する。無線通信がデータを送信するために電源投入後、無線通信は、電源を切るために数秒（例えば、２．５Ｇネットワーク上で約３秒、そして３Ｇネットワーク上で約２０秒）かかる。この無線通信の「後部（テール）」が電力を消費し、装置の電池の寿命を低下させる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、電池の寿命を延長するために、計算機が消費する資源の利用のスケジュールを統合化する方法及びシステムを提供することである。
【課題を解決するための手段】
【０００４】
[0002]本発明の実施形態は、機に従って制約ある資源などの資源を活用するために、再発性スケジュールのアクティブ化時刻を調整する。各スケジュールは、再発性アクティブ化時刻にアクティブ化するように定義されているが、許容係数の範囲内で早期に実行され得る。資源の利用可能性のようなイベント通知が受信された後、スケジュールは、受信した通知、アクティブ化時刻、及び許容係数に基づいて識別される。例えば、スケジュールの中には、利用可能な資源を使用するための許容係数に基づいて、早期にアクティブ化するように識別されるものもある。識別されたスケジュールは、統合され、アクティブ化される。
【０００５】
[0003]この「課題を解決するための手段」は、以下「発明を実施するための形態」に更に記載する概念のいくつかを簡易化した形式で紹介するために提供されている。この「課題を解決するための手段」は、請求対象項目の重要な機能又は本質的な特徴を特定するように意図されておらず、請求対象項目の範囲を決定する際の支援として使用されるようにも意図されていない。
【図面の簡単な説明】
【０００６】
【図１】[0004]スケジューラーサービスの動作を示す例示的な流れ図である。
【図２】[0005]計算装置上で実行するスケジューラーサービスを示す例示的なブロック図である。
【図３】[0006]デバイス管理サーバーによって携帯計算装置の制御を示す例示的なブロック図である。
【図４】[0007]スケジュールを表すデータ構造を示す例示的なブロック図である。
【発明を実施するための形態】
【０００７】
[0008]対応する参照文字は、図面を通して対応している部分を示す。
【０００８】
[0009]図面を参照すると、本発明の実施形態が、再発性スケジュール（２０８）のアクティブ化を制御する計算装置（２０４）上で実行するスケジューラーサービス（２０２）を提供している。スケジュール（２０８）は、ユーザー又はアプリケーションプログラム＃１からアプリケーションプログラム＃Ｍのような１つ以上のアプリケーションプログラム（２０７）によって、定期的に発生するように定義される。
【０００９】
[0010]スケジュール（２０８）のアクティブ化は、所定の許容範囲内で定義されたアクティブ化時刻（４１０）に、スケジュール（２０８）に関連付けられている１つ以上の動作（４０６）を実行又は達成することを含む。スケジューラーサービス（２０２）の例示的な動作が、図１に示されている。（１０２）において、イベント通知が受信される。例えば、通知は、制約ある資源が利用可能であることを示している。（１０４）において、複数のスケジュール（２０８）がアクセスされる。複数のスケジュール（２０８）のそれぞれは、その他（例えばスケジュール満了、スケジュール（２０８）が制約ある資源の使用を必要とするか否かなど、スケジュールの最大実行数などに対するルール）のプロパティの間に定義されたアクティブ化時刻（４１０）及び許容係数（４１２）を有する。許容係数（４１２）は、通常、制約ある資源が利用可能になったとき、早期に実行するためのスケジュール（２０８）の許容度を示している。許容係数（４１２）は、所定のアクティブ化時刻（４１０）と異なる時刻に実行すべきスケジュールの利用可能性を示すための任意の手段を含む。例えば、許容係数（４１２）は、（例えば分又は秒の）定数値、割合（間隔期間（４０８）の例えば１０％のような割合）、及び資源利用可能性の間の周期的な平均の分単位数を含むがこれらに限定しない。
【００１０】
[0011]（１０６）において、アクセスされたスケジュールのうち１つ以上が、イベント通知、現在時刻、アクセスされたスケジュールのそれぞれに関し定義されたアクティブ化時刻（４１０）、許容係数（４１２）、に応じて識別される。例えば、スケジューラーサービス（２０２）は、イベントが、スケジュール（２０８）のアクティブ化に対し定義されている条件対象のスケジュール（２０８）を識別するか、又はさもなければイベントが適用するスケジュール（２０８）を識別する。スケジューラーサービス（２０２）は更に、識別されたスケジュールからスケジュールのそれぞれに対する許容係数（４１２）に基づいて早期にアクティブ化され得るスケジュールを選択する。例えば、スケジューラーサービス（２０２）は、現在時刻とスケジュール（２０８）のそれぞれに対し、定義されたアクティブ化時刻（４１０）との間の差を計算し、スケジュール（２０８）に対する許容係数（４１２）と計算されたその差とを比較する。アクティブ化するために許容範囲内にあるすべての差に対し対応するスケジュールが選択される。
【００１１】
[0012]エレメント（１０６）の例において、制約ある資源を必要とするスケジュール（２０８）は、通知が、生成又は受信された時刻に実行すべき適格性に関して評価される。実施形態の中には、スケジュールされた時刻と、早期実行するための許容値を下回るスケジュール時刻と、の間に現在時刻が収まるか否かに基づいて適格性が決定されるものもある。
【００１２】
[0013]（１０８）において、識別されたスケジュールがアクティブ化される。識別されたスケジュールのアクティブ化は、スケジュールに関連付けられている動作（４０６）のうち１つ以上を実行することを含む。動作（４０６）は、例えば、ソフトウェアのインストール、構成の設定、及び／又は更新のようなソフトウェアコンフィギュレーション動作を含む。動作は、計算装置（２０４）上の実行可能ファイル又はライブラリーをアクセスすることも含み得る。動作は、その後、既に発生した任意の動作の結果である計算装置（２０４）上の同期イベントの修正も含み得る。
【００１３】
[0014]携帯計算装置（３０２）に関して、最も制約ある資源の１つは電池であって、セルラー方式の無線通利用が、携帯計算装置（３０２）上の最も大きな電力を消耗する活動である。
【００１４】
[0015]スケジューラーサービス（２０２）がモバイル計算装置（３０２）上で実行又はさもなければ制御している実施形態において、スケジューラーサービス（２０）の動作が、利用可能な資源の利用を最適化し、再発性スケジュール（２０８）を合体、結合、又はさもなければ統合することによって、電池の寿命を延長する。再発性スケジュール（２０８）は、イベントに基づいて選択される。イベントは、特定の時刻などの任意の条件又は装置の条件を含む。例えば、イベントが（例えば、ネットワーク又はネットワークタイプの）資源が利用可能なことを示している場合、スケジュール（２０８）を識別することは、資源を利用するスケジュール（２０８）を識別することを含む。別の例において、セルラー方式の無線通信を要求するスケジュール（２０８）は、それが別のタスクに対して既に起動されている間も許容係数（４１２）に基づいて無線通信を利用するために早期にアクティブ化するために識別される。付録Ａは、本発明の実施形態の範囲内にある更なる例示的スケジュール（２０８）を掲載している。
【００１５】
[0016] スケジューラーサービス（２０２）が作動し、スケジュールそれぞれのアクティブ化時刻（４１０）を許容範囲内で変更することによって、資源が利用可能である間、資源を活用し、付帯的コスト（オーバーヘッド）を最小にすることによって、電池の寿命を延長する。例えば、非同期セルラー、無線フェデリティ（ワイファイ）、又はその他の（例えば、サーバーがデバイスデータを送信するか又はユーザーがウェブ閲覧セッション開始する）無線通信送信機のイベント若しくは受信機のイベントが存在するとき、スケジューラーサービス（２０２）は、データベース（２１０）をスキャンし、無線通信を便乗利用（ビギーバック）し得るスケジュールか又は活用し得るスケジュールか決定する。このようにして、スケジュールの統合が、無線通信頻度の上昇（スピンアップ）を最小化する。別の実施形態において、スケジューラーサービス（２０２）が作動し、装置をアイドル状態から起動する頻度を最小にする。別の例において、スケジューラーサービス（２０２）が作動し、携帯計算装置（３０２）のコンポーネントである、バックライト、プロセッサー、音声増幅器、全地球測位システム、デジタルメモリーコマンド、（例えば、ブルートゥースブランドのネットワーク用）短距離無線ネットワークアダプター、補助プロセッサー、振動モーター、リンガー、カメラ、加速度計、及びアンビエントライトセンサーのような電力を消費する資源を節約する。
【００１６】
[0017]代替又は追加として、スケジュールを個別に実行する間、資源が大きな消費状態に分類されないことをスケジューラーサービス（２０２）が決定した場合、スケジューラーサービス（２０２）は、スケジュールを個別に実行する。
【００１７】
[0018]いくつかの実施形態において、携帯計算装置（３０２）を参照し説明しているが、本発明の態様は、別の装置に適用可能である。更に、いくつかの実施形態において、スケジューラーサービス（２０２）を参照し説明しているが、本発明の態様は、本明細書に例示され、記載された機能性を実行する任意のコンポーネントに適用可能である。
【００１８】
[0019]スケジュールＡ、Ｂ、及びＣすべてがネットワーク接続を必要とする例において、スケジュールＢ及びＣは、許容係数（４１２）に基づいてバッチ処理されるか又はスケジュールＡと統合され得る。スケジュールＡの実行が無線通信イベントをスピンアップした場合、そのイベントが発行され、その後、スケジュールＢ及びＣが実行され、無線通信イベントを活用する。スケジュールＡがネットワークを全く必要としないことが判明した場合、スケジュールＢ及びＣは、それらの元のスケジュール時刻に実行する。
【００１９】
[0020]スケジュール実行後、（１１０）において、スケジューラーサービス（２０２）は、スケジュールのそれぞれに対する次のアクティブ化時刻を定義する。スケジュール（２０８）のそれぞれは、スケジュール（２０８）のそれぞれの再発性アクティブ化間の時刻に対応する間隔期間（４０８）を有する。間隔期間（４０８）は、スケジュールの生成時、アプリケーションプログラム（２０７）又はユーザーによって、設定される。実施形態において、スケジュールのそれぞれに対する次のアクティブ化時刻は、最新のアクティブ化時刻に間隔期間（４０８）を追加することによって決定される。そうすると、スケジュール実行の間の実際の時刻は、間隔期間（４０８）よりも短いが、間隔期間（４０８）よりも決して長くならない。
【００２０】
[0021]代替として、スケジュールのそれぞれに対する次のアクティブ化時刻は、定義されている元のアクティブ化時刻に基づいて設定される。そうすると、スケジュール実行の間の実際の期間は、間隔期間（４０８）よりも短いか又は長いかどちらか一方であり得るが、長期間の平均隔期間は、指定された間隔に収束する。実施形態において、アプリケーションプログラム（２０７）又はスケジュール（２０８）の作成ユーザーは、使用されるべき次のアクティブ化時刻の設定方法を決定する。
【００２１】
[0022]実施形態の中には、多くのアプリケーションプログラム（２０７）が、小さなデータパケットをサーバーに定期的に送信し、接続をオープンに維持するためのスケジュール（２０８）を有するものもある。オープンコネクションは、サーバーが携帯計算装置（３０２）にデータをリアルタイムにプッシュ型配信可能にする。スケジューラーサービス（２０２）は、アプリケーションプログラム（２０７）が、アプリケーションプログラミングインターフェース（ＡＰＩ）の呼び出しを許可し、スケジュール（２０８）の実行をシミュレートする。その結果、スケジュールされる次の時刻が、シミュレートした実行に基づいて計算される。そのような例において、再発性スケジュール（２０８）は「ハートビート」として知られていて、ネットワークのタイムアウト下において計算装置（２０４）とサーバーとの間にデータが送信されることを確実にする。例えば、ネットワークのタイムアウトが１５分の場合、コネクションは、いくつかのデータが装置とサーバーとの間を１５分毎に交換されるように要求するか又はコネクションがクローズする。すなわち、装置（２０４）は、小さなデータパケットのいくつかを１５分毎にサーバーへ送信する必要がある。しかしながら、サーバーが、デバイスデータを（例えば８分基準で）送信した場合、アプリケーションプログラム（２０７）は、８分基準でＡＰＩコールを呼び出す。スケジュールに対する次のアクティブ化時刻は、１５分基準の代わりに（例えば８＋１５）２３分基準であるように計算される。
【００２２】
[0023]付録Ｂは、スケジューラーサービス（２０２）に関する例示的プロパティ及び状態一覧を含む。
【００２３】
[0024]図２を参照すると、例示的ブロック図が、計算装置（２０４）上で実行するスケジューラーサービス（２０２）を示している。計算装置（２０４）は、例えば、携帯情報端末（ＰＤＡ）又は携帯電話のような携帯機器を含む。プロセッサー（２０６）は、スケジュール（２０８）のそれぞれに対するアクティブ化時刻（４１０）、許容係数（４１２）、及び間隔期間（４０８）をユーザーから受信するための計算機実行可能命令、計算装置（２０４）上で実行するアプリケーションプログラム（２０７）、計算装置（２０４）、又は別のソースからリモート実行するアプリケーションプログラム（２０７）、を実行するように構成されている。受信されたスケジュールデータは、データベース（２１０）又はその他の記憶領域にストアされている。付録Ｃは、スケジュール（２０８）を定義する際に含まれる例示的プロパティ及び定義を掲載している。
【００２４】
[0025]間隔期間（４０８）は、スケジュール（２０８）の実行又はアクティブ化の間の時間期間を決定する。次に続く間隔期間は、同一であり得るか、又は線形、指数関数などに関係付けられ得る。例えば、スケジュール（２０８）の中には、次第に増加するアクティブ化間の間隔を有するものもある。実施形態において、アプリケーションプログラム（２０７）又はユーザーは、初期間隔値、（例えば直線又は指数）進行タイプ、及び最大間隔値、のうち１つ以上を指定する。スケジュールが実行するとき、間隔は、初期値から開始し、その後、それぞれの実行後、適切に増加する。間隔の最大値が指定されている場合、持続期間（４０８）は、決して最大の間隔値を超えて増えずに最大値に留まる。
【００２５】
[0026]１つ以上の計算機可読媒体は、スケジューラーサービス（２０２）の実施形態を実装するための計算機実行可能なコンポーネントを有する。例えば、コンポーネントは、記憶領域（２１２）上にストアされていて、インターフェースコンポーネント（２１４）、条件コンポーネント（２１６）、統合コンポーネント（２１８）、節約コンポーネント（２２０）、スロットルコンポーネント（２２２）、及びルールコンポーネント（２２３）を含む。インターフェースコンポーネント（２１４）が、イベント通知（例えば、計算装置（２０４）上の電力を消費する資源の利用可能性に関する通知）を受信する。例えば、イベントは、相対時間の間隔（例えば起動５分後）又は絶対時刻（例えば午前１２：００：００）の発生などの時間イベントである。イベントは、最初のネットワーク接続性喪失後のワイファイ接続起動、又はセルラー型接続のような所定の接続タイプの検出、及び／又はネットワーク接続の回復のような状態イベント、又は計算装置（２０４）の別の状態でもあり得る。更に、イベント通知は、通知ブローカー（２２４）、又はその他の任意のイベントシステム、通知システム、又は状態システムから受信される。図２の通知ブローカー（２２４）が計算装置（２０４）上で実行するように示されているが、通知ブローカー（２２４）は、追加又は代替として（例えば、ネットワークを介し計算装置（２０４）と通信する）別の計算装置上で実行する。
【００２６】
[0027]例において、セルラー型無線通信が携帯計算装置（３０２）上のデータ送信中の通知を受信するためのインターフェースコンポーネント（２１４）に関するいくつかの方法が存在する。一方法は、無線通信が、データ送信している情報を無線通信の上位ソフトウェアレイヤに知らせる無線通信製品を含む。別の方法は、送信又は受信されるデータに対するインターネットプロトコル（ＩＰ）スタックを監視することである。データが送信又は受信されたとき、時刻が記録され、イベントの状態が（例えば「真」に）設定される。定義された期間（例えば１０秒）後、別のデータが送信されていない場合、イベントの状態が（例えば「偽」に）変更される。スケジューラーサービス（２０２）は、無線通信がデータを送信していることを示すこの例において、「偽」から「真」に達するイベントの状態を検出したとき、スケジュール（２０８）を合体する。
【００２７】
[0028]インターフェースコンポーネント（２１４）によって受信されたイベント情報に基づいて、条件コンポーネント（２１６）が、データベース（２１０）にストアされているスケジュール（２０８）のうち少なくとも１つを識別する。受信されたイベントが資源の利用可能性を示す例において、条件コンポーネント（２１６）は、実行中、資源を消費するスケジュール（２０８）を識別する。統合コンポーネント（２１８）が、スケジュールに対するアクティブ化時刻（４１０）及び許容係数（４１２）に基づいて、条件コンポーネント（２１６）によって識別されるスケジュールのうち１つ以上を実行するために選択する。例えば、統合コンポーネント（２１８）は、次のアクティブ化時刻とインターフェースコンポーネント（２１４）による受信された通知時刻との差が、スケジュールに対する許容係数（４１２）範囲内にある対象スケジュールを選択する。実施形態において、通知受信の時刻が、現在時刻に相当する。節約コンポーネント（２２０）は、統合コンポーネント（２１８）によって選択されたスケジュールを実行する。例えば、節約コンポーネント（２２０）は、統合されたスケジュールのそれぞれに関連付けられている動作（４０６）を実行する。例として、統合コンポーネント（２１８）によって選択されるスケジュールの評価基準は、以下の論理式で示される。（現在時刻＞＝（ＮＥＸＴ＿ＲＵＮ＿ＴＩＭＥ−ＲＵＮ＿ＥＡＲＬＹ＿ＴＩＭＥ））かつ（現在時刻＜ＥＮＤ＿ＴＩＭＥ）。これらの評価基準を満たすスケジュールすべてが、統合コンポーネント（２１８）によって選択される。
【００２８】
[0029]スロットルコンポーネント（２２２）が、所定のスロットル限界値に応じて節約コンポーネント（２２０）によって実行されるスケジュールの数を制限する。実施形態において、スロットル限界は、計算装置（２０４）上の資源の消費状態に応じて定義されている。例えば、節約コンポーネント（２２０）が統合コンポーネント（２１８）によって選択されたスケジュールを実行する前に、節約コンポーネント（２２０）が、スロットルコンポーネント（２２２）を介しスロットル限界閾値が達しているか否か決定する。例えば、一時的な近接近で起動される数多くのスケジュール又は動作は、結果として深刻な資源の窮乏をまねく。この状況を軽減するために、スロットルコンポーネント（２２２）が、所与の時間窓の間、定義されたスケジュール又は動作（４０６）の数だけ起動する。スケジュール又は動作が首尾よく起動される度に、カウンターが値を増加させる。カウンター値がスロットル限界に達した場合、更に、スケジュール又は動作の起動は、カウンターが０リセットするか又はさもなければ減少するまで遅れる。例えば、カウンターが、所定の間隔を定期的に実行するスレッドによって、０にリセットする。代替又は追加として、資源を使用するスケジュール又は動作が資源を解放したとき、カウンターが減少する。
【００２９】
[0030]ルールコンポーネント（２２３）が、スケジュール（２０８）のそれぞれにスケジュール特有の性質を適用する。例えば、ルールコンポーネント（２２３）は、スケジュールされる次の時刻（例えば、最大又は平均）がどのように計算されるか、スケジュール（２０８）をいつ開始するか、スケジュール（２０８）をいつ終了するか、スケジュール（２０８）を何回繰り返すか、及びどのエンティティがスケジュール（２０８）を変更し得るか決定する。
【００３０】
[0031]スケジュール（２０８）の中には、計算装置（２０４）の起動時だけ実行するように定義されるものもある。これらのスケジュールが共通の資源（例えば無線通信）を共有している場合、スケジューラーサービス（２０２）は、資源の利用可能性を活用するために、これらのスケジュールのアクティブ化を共通のアクティブ化時刻に整列する。
【００３１】
[0032]同様に、スケジューラーサービス（２０２）は、同様の間隔又は倍数の間隔を有するスケジュールを基本時刻０（例えば人工の０時刻）に整列する。例として、２つのアプリケーションプログラム（２０７）は、（例えば、早期に実行する１分の許容値に対応している）２０％の許容係数（４１２）を有している５分のハートビート間隔それぞれを有する。第１のアプリケーションは、時刻Ｔ０（例えば始動）、Ｔ５（例えば始動５分後）、及びＴ１０（例えば始動１０分後）にハートビート動作を実行する。第２のアプリケーションが始動し、時刻Ｔ２（例えば、第１のアプリケーションの始動２分後）及びＴ７（例えば始動５分後）にハートビート動作を実行する。アプリケーションに対するハートビート動作間の差は、２分又は３分のどちらか一方であるのでハートビート動作は、スケジューラーサービス（２０２）によって合体されない。もっと正確に言えば、スケジューラーサービス（２０２）は、アプリケーション双方に対するハートビート動作が同時に発生するように第２のアプリケーション始動を時刻Ｔ５に整列する。
【００３２】
[0033]図３を参照すると、例示的ブロック図が、デバイス管理サーバー（３０４）による携帯計算装置（３０２）の制御を示している。図２のスケジューラーサービス（２０２）は、図３において、デバイス管理サーバー（３０４）又はその他の（例えば、ネットワーク（３１２）を介し接続されている）計算装置上で実行しているサーバースケジューラーモジュール（３１０）と通信する、デバイス管理クライアント（３０８）内部で実行するクライアントスケジューラーモジュール（３０６）として動作する。そのような実施形態において、サーバースケジューラーモジュール（３１０）は、スケジュール（２０８）をアクティブ化し、図２のように統合されたスケジュールのそれぞれに関連付けられている動作（４０６）の実行を実施するようにクライアントスケジューラーモジュール（３０６）に命令する。
【００３３】
[0034]図４を参照すると、例示的ブロック図が、スケジュール（２０８）を表すデータ構造を示している。スケジュール（２０８）は、拡張可能マークアップランゲージ（ＸＭＬ）形式で符号化され得るデータ構造でストアされている。スケジュール（２０８）のそれぞれは、所定のイベント（４０４）及び間隔期間（４０８）、アクティブ化時刻（４１０）、及び許容係数（４１２）に従って関連付けられている動作（４０６）の一覧を含む。所定のイベント（４０４）は、時間イベント及び状態イベントを含む。関連付けられている動作（４０６）は、所定のイベント（４０４）が生じたとき、実行される予定の動作を含む。動作（４０６）は、例えば、実行可能ファイルの経路及びコマンドラインパラメーター又は指名された同期イベントを指定する。
【実施例】
【００３４】
例示的動作環境
[0035]本明細書に記載されているような計算装置又は計算機は、１つ以上のプロセッサー又は処理ユニット、及びシステムメモリーを有する。計算機は、典型的には、計算機記憶媒体及び通信媒体を含む少なくともいくつかの形式の計算機読込可能媒体を有する。計算機記憶媒体は、計算機可読命令、データ構造、プログラムモジュール、又はその他のデータのような情報記憶に関する任意の方法又は技術で実装された揮発性媒体及び不揮発性媒体、取外し可能媒体及び取外し不可能媒体を含む。通信媒体は、典型的には、搬送波若しくはその他の移送機構のような変調データ信号で計算機可読命令、データ構造、プログラムモジュール、又はその他のデータを具体化する任意の情報送信媒体を含む。
【００３５】
[0036]例示的計算システム環境に関連し説明されているが、本発明の実施形態は、別の多くの汎用又は専用計算システム環境若しくは構成を用いて作動する。
【００３６】
[0037]本発明の実施形態は、１つ以上の計算機又はその他の装置によって実行されるプログラムモジュールのような一般的な計算機実行可能命令の文脈で説明され得る。本発明の態様は、そのようなあらゆるコンポーネント又はモジュール及び構成を用いて実装され得る。例えば、本発明の態様が、本明細書の図面に例示されていて、記載されている特定の計算機実行可能命令又は特定のコンポーネント若しくはモジュールに限定されない。本発明の別の実施形態が、本明細書に例示されていて、記載されているよりも多いか又は少ない機能性を有する、異なる計算機実行可能命令又はコンポーネントを含み得る。
【００３７】
[0038]本明細書に例示され、記載されている実施形態及び本明細書に特に記載されてないが、本発明の態様の範囲内の実施形態は、受信した通知、通知時刻、定義されたアクティブ化時刻、及び複数の再発性スケジュールのそれぞれの許容係数（４１２）に応じて、再発性スケジュール（２０８）をアクティブ化するために統合化する例示的手段、再発性スケジュール（２０８）のアクティブ化を整列する例示的手段、及び複数の再発性スケジュール（２０８）のうち１つ以上を識別する例示的手段を構成する。
【００３８】
[0039]本明細書に例示され、記載されている本発明の実施形態における動作の実行順序又は性能は、別の方法が特定されていない場合、本質的でない。すなわち、動作は、別の方法が特定されていない場合、順不同に実行され得、本発明の実施形態は、本明細書に開示したものよりも追加的動作か又はより少ない動作を含み得る。例えば、別の動作の前、別の動作と同時、又は別の動作の後に、特定の動作の実行又は実施が、本発明の態様の範囲内にあることが想定されている。
【００３９】
[0040]本発明の態様又はその実施形態のエレメントを紹介するとき、冠詞「ａ」、「ａｎ」、「前記（ｔｈｅ）」、及び「前記（ｓａｉｄ）」は、１つ以上のエレメントが存在していることを意味するように意図されている。用語「含んでいる」、「含む」、及び「有する」は、包括的であって、掲載されているエレメント以外の追加的なエレメントがあり得ることを意味するように意図されている。
【００４０】
[0041]本発明の態様を詳細に説明したけれども、修正及び変形が、添付した請求項に定義されているような本発明の態様の範囲から逸脱せずにあり得ることが明白であろう。様々な変更が、本発明の態様の範囲から逸脱せずに上記の構造、製品、及び方法で実行され得るものとして、上記の説明に含まれていて、添付図面に示されている事項すべてが例示的であって、限定した意味としてではなく解釈されるように意図されている。
【００４１】
付録Ａ
[0042]以下に記載したものは、本発明の実施形態の範囲内のスケジュールサンプルである。
【００４２】
[0043]別の例において、アプリケーションは、携帯機器において無線通信を正午に実行して利用するスケジュールを有している。別のアプリケーションは、５分の許容値に従って定義されている午後１２時５分のアクティブ化時刻（４１０）を有するスケジュールを有している。このスケジュールは、無線通信の利用も必要とする。スケジューラーサービスがその後、同時にアクティブ化するために２つのスケジュールを統合し、それによって無線通信を一度だけスピンアップできる。電力を切断するために無線通信に対し必要とされる電力消費を回避することによって、その結果、電池の節約（例えば２倍の代わりに１倍の無線通信電力）となる。この例の変形において、スケジュールの次の実行時刻は、早期に実行した後、間隔期間値を超えないか又は次の実行時刻が再計算されないように再計算される。
【００４３】
[0044]別の例において、アプリケーションは、オークションのように、オンラインでデータソースを監視していて、所定の終了時刻を有している。所望のスケジュールの更新レートは、変更可能であって、望ましくは、終了時刻が近づくにつれてより頻繁に更新することである。
【００４４】
[0045]別の例において、装置上のアプリケーションは、装置とサーバーとの間の接続をオープンに維持するために、データをｘ分ごとにサーバーに送信する必要がある。サーバーが、スケジュールされた次の時刻の前にデータを送信した場合、デバイスアプリケーションは、スケジュールされたその時刻にデータを送信する必要はなく、データがサーバーから受信される時刻＋ｘと等しくスケジュールされた次の時刻を再計算する必要があるに過ぎない。
【００４５】
付録Ｂ
[0046]以下に記載したものは、本発明の実施形態によるスケジューラーに関する例示的なプロパティ及び状態である。
【００４６】
【表１】
2011515778.tif 000003
【００４７】
【表２】
2011515778.tif 000004
【００４８】
【表３】
2011515778.tif 000005
【００４９】
【表４】
2011515778.tif 000006
【００５０】
【表５】
2011515778.tif 000007
【００５１】
付録Ｃ
[0047]以下、表Ｃ１に記載したものは、再発性スケジュール定義に含まれる例示的プロパティ及び定義である。
【００５２】
【表６】
2011515778.tif 000008
【符号の説明】
【００５３】
２０２  スケジューラーサービス
２０４  計算装置
２０６  プロセッサー
２０７  アプリケーションプログラム
２０８  スケジュール
２１０  データベース
２１２  記憶領域
２１４  インターフェースコンポーネント
２１６  条件コンポーネント
２１８  統合コンポーネント
２２０  節約コンポーネント
２２２  スロットルコンポーネント
２２３  ルールコンポーネント
２２４  通知ブローカー
３０２  携帯計算装置
３０４  デバイス管理サーバー
３０６  クライアントスケジューラーモジュール
３０８  デバイス管理クライアント
３１０  サーバースケジューラーモジュール
３１２  ネットワーク
４０４  所定のイベント
４０６  関連付けられている動作
４０８  間隔期間
４１０  アクティブ化時刻
４１２  許容係数
【図１】
2011515778.tif 000009
【図２】
2011515778.tif 000010
【図３】
2011515778.tif 000011
【図４】
2011515778.tif 000012
【国際調査報告】
2011515778.tif 000013
2011515778.tif 000014