(57)【要約】  携帯機器管理システムが提供される。携帯機器管理システムは、携帯計算装置上で実行されるように構成される機器管理クライアントを含む。機器管理クライアントは、計算機ネットワークを介し機器管理サーバーと接続し、携帯計算装置上のストレージに対し機器管理スケジュールをダウンロードするように構成されるクライアントスケジューラーモジュールを含む。機器管理スケジュールは、機器管理サーバーで生成され、１つ以上のスケジュール項目を含む。スケジュール項目それぞれは、定義済イベント及び関連動作を含む。クライアントスケジューラーモジュールは、機器管理スケジュールを監視し、スケジュール項目に定義された定義済イベントを検出し、イベントに関連付けられた関連動作を実行し、それによって携帯計算装置上でソフトウェアを設定するように構成され得る。【選択図】  図１
2011509635.tif 000002
【特許請求の範囲】
【請求項１】
携帯計算装置上で実行されるように構成される機器管理クライアントを含み、前記機器管理クライアントが、計算機ネットワークを介し機器管理サーバーと接続し、前記携帯計算装置上のストレージに対する機器管理スケジュールをダウンロードするように構成されるスケジューラーモジュールを含んでいて、前記機器管理スケジュールが、前記機器管理サーバーで生成されていて１つ以上のスケジュール項目を含んでいて、スケジュール項目それぞれが、定義済イベント及び関連付けられた動作を含み、
前記クライアントスケジューラーモジュールが、前記スケジュールを監視し、スケジュール項目に定義されているイベントを検出し、前記イベントに関連したソフトウェア設定動作を実行し、それによって前記携帯計算装置上でソフトウェアを設定することを特徴とする携帯機器管理システム。
【請求項２】
前記イベントが、時間イベント又は状況イベントであることを特徴とする請求項１記載の携帯機器管理システム。
【請求項３】
前記状況イベントが、起動であることを特徴とする請求項２記載の携帯機器管理システム。
【請求項４】
前記ソフトウェア設定動作が、前記携帯計算装置上の実行可能ファイル又はダイナミックリンクライブラリーへのアクセスを含むことを特徴とする請求項１記載の携帯機器管理システム。
【請求項５】
前記スケジュールが、ＸＭＬファイルにストアされた構造化データで表現されていることを特徴とする請求項１記載の携帯機器管理システム。
【請求項６】
前記スケジュールが更に、前記携帯計算装置のユーザーによる前記スケジュールへのアクセスを制御するためのアクセスコントロールデータを含むことを特徴とする請求項１記載の携帯機器管理システム。
【請求項７】
前記イベントが、ネットワーク接続喪失後のネットワーク接続再確立を含むことと、前記ソフトウェア設定動作が、前記機器管理サーバーとの接続始動を含むことと、を特徴とする請求項１記載の携帯機器管理システム。
【請求項８】
前記クライアントスケジューラーモジュールが、前記携帯計算装置の休止期間にスケジュール項目中のイベントが発生することを決定し、前記携帯計算装置の動作再開時に前記イベントに関連した動作を実行するように構成されることを特徴とする請求項１記載の携帯機器管理システム。
【請求項９】
機器管理スケジュールを生成するように構成される機器管理サーバーを含み、前記機器管理スケジュールが、１つ以上のスケジュール項目を含んでいて、スケジュール項目それぞれが、定義済イベント及び関連動作を含んでいて、前記サーバーが更に、前記機器管理スケジュールを携帯計算装置上で実行されるクライアントスケジューラーモジュールへダウンロードするように構成されるものと、
前記機器管理サーバーが更に、前記イベントが検出されたか否か、及び検出された前記イベントに応じて前記動作が実行されたか否か、を示す確認メッセージを前記クライアントスケジュールモジュールから受信するように構成されていて、
前記機器管理サーバーが更に、１つ以上の更新済スケジュール項目を含む更新されたスケジュールを前記クライアントスケジューラーモジュールにダウンロードするように構成されること、を特徴とする携帯機器管理システム。
【請求項１０】
携帯計算装置を機器管理サーバーから管理する方法であって、
前記携帯計算装置で、計算機ネットワークを介し機器管理サーバーから機器管理スケジュールをダウンロードするステップと、
前記機器管理スケジュール中の識別されたイベントを検出するステップと、
前記機器管理スケジュール中の前記イベントに関連付けられたソフトウェア設定動作を実行するステップであって、それによって前記携帯計算装置上にソフトウェアを設定するものと、を含む方法。
【請求項１１】
前記機器管理スケジュールが、前記機器管理サーバーで生成されることを特徴とする請求項１０記載の方法。
【請求項１２】
前記イベントが、時間イベント又は状況イベントであることを特徴とする請求項１０記載の方法。
【請求項１３】
前記ソフトウェア設定動作を実行するステップが、前記携帯計算装置上の設定又はソフトウェアの更新をするステップを含む請求項１２記載の方法。
【請求項１４】
前記ソフトウェア設定動作を実行するステップが更に、前記設定又はソフトウェアが更新された確認メッセージを、前記携帯計算装置から前記機器管理サーバーに送信するステップを含むことを特徴とする請求項１３記載の方法。
【請求項１５】
前記ソフトウェア設定動作を実行するステップが、前記携帯計算装置上の実行可能ファイルを実行するステップ又はダイナミックリンクライブラリーにアクセスするステップを含む特徴とする請求項１４記載の方法。
【請求項１６】
前記イベントを検出するステップが、起動を介した前記ソフトウェアの設定動作実行中のネットワーク接続喪失又はネットワーク通信中断を検出する第１のステップ、及びネットワーク接続再確立を検出する第２のステップ、を含んでいて、
前記ソフトウェア設定動作を実行するステップが、前記スケジュールに従った機器管理サーバーとの接続を前記携帯計算装置から開始するステップを含む請求項１３の方法。
【請求項１７】
更に、前記機器管理スケジュールのダウンロード前に、前記携帯計算装置においてリモート機器管理スケジューリングに登録するために登録コマンドのユーザー入力を受信し、前記携帯計算装置をリモート機器管理スケジューリングに登録するために、前記登録コマンドを前記携帯計算装置から前記機器管理サーバーに送信することを含む請求項１０記載の方法。
【請求項１８】
前記イベントが第１のイベントであって、更に、前記第１のイベントを用いて第２のイベントを分類し、前記第１及び前記第２のイベント双方の発生を検出するステップ、を含むことを特徴とする請求項１０記載の方法。
【請求項１９】
前記ソフトウェア設定動作が、第１のソフトウェア設定動作であって、更に、前記第１のソフトウェア設定動作を用いて前記第２のソフトウェア設定動作を分類するステップと、前記イベントの発生を検出したとき、前記第１のソフトウェア設定動作及び前記第２のソフトウェア設定動作双方を実行するステップと、を含むことを特徴とする請求項１０記載の方法。
【請求項２０】
更に、
前記スケジュールを見て変更し得るユーザー及び／又はグループを定義している、前記携帯計算装置上の前記スケジュールに対するアクセスコントロールパラメーターを設定するステップを含む請求項１０記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯計算装置に関し、具体的には、携帯機器管理システムに関する。
【背景技術】
【０００２】
携帯電話及び携帯情報端末（ＰＤＡ）など携帯計算装置が近年、ますます普及している。これらの携帯計算装置上で実行されるソフトウェアは、多くの場合、中央の機器管理サーバーによってリモートで設定される。最新の機器管理技術が直面している一問題は、携帯計算装置とサーバーとの間のネットワーク接続の中断など予期していない出来事が、サーバーのリモート管理機能を妨げ得ることである。例えば、サーバーは、携帯計算装置上の設定動作が完了されたか否か決定不能になる。結果としてこれが不適切に設定されたソフトウェアとなり得、潜在的に携帯計算装置上のソフトウェアの障害又は最適状態に及ばない性能をもたらし得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、携帯計算装置上で実行されるように構成される機器管理クライアントを含む携帯機器管理システムを提供することである。
【課題を解決するための手段】
【０００４】
携帯機器管理システムが提供される。携帯機器管理システムは、携帯計算装置上で実行されるように構成される機器管理クライアントを含む。機器管理クライアントは、計算機ネットワークを介し機器管理サーバーと接続し、携帯計算装置上のストレージに対し機器管理スケジュールをダウンロードするように構成されるクライアントスケジューラーモジュールを含む。機器管理スケジュールは、機器管理サーバーで生成され、１つ以上のスケジュール項目を含む。スケジュール項目それぞれが、定義済イベント及び関連動作を含む。クライアントスケジューラーモジュールは、機器管理スケジュールを監視し、スケジュール項目に定義された定義済イベントを検出し、イベントに関連付けられた関連動作を実行し、それによって携帯計算装置上のソフトウェアを設定するように構成され得る。
【０００５】
この「課題を解決するための手段」は、以下「発明を実施するための形態」において更に記載されるいくつかの概念を簡易化した形式で紹介するために提供される。この「課題を解決するための手段」は、請求対象項目の重要な機能又は本質的な特徴を特定するように意図されておらず、請求対象項目の範囲を限定するように使用されることも意図されていない。更に、請求対象項目は、この開示の任意の一部に記述した不都合な点のいくつか又はすべてを解決する実装に限定されない。
【図面の簡単な説明】
【０００６】
【図１】機器管理サーバーで生成され、そこからダウンロードされる機器管理スケジュールを含んでいる携帯計算装置を含む携帯機器管理システムの実施形態を例示する概略図である。
【図２】図１の携帯機器管理システムの携帯計算装置と機器管理サーバーとの間の通信例を示す図である。
【図３】図１の携帯機器管理システムによって利用される機器管理スケジュールに関するデータ構造の図である。
【図４】携帯計算装置をリモートで管理するための方法の実施形態の流れ図である。
【発明を実施するための形態】
【０００７】
図１は、機器管理サーバー（１８）から携帯計算装置（１２）をリモートで管理するための携帯機器管理システム（１０）の概略図である。携帯機器管理システム（１０）は、携帯計算装置（１２）上で実行されるように構成され、クライアントスケジューラーモジュール（１６）を含む機器管理クライアント（１４）を含む。機器管理クライアント（１４）は、計算機ネットワーク（２２）を介し機器管理サーバー（１８）と接続し、携帯計算装置（１２）上のストレージに対する機器管理スケジュール（２４）を、例えば携帯計算装置（１２）のクライアントスケジューラーモジュール（１６）に関連付けられたデータストアにダウンロードするように構成される。計算機ネットワーク（２２）は、無線計算機ネットワークであり得、携帯計算装置（１２）と機器管理サーバー（１８）との間の通信が無線アクセスプロトコル（ＷＡＰ）のような通信プロトコル（３２）に従って実行され得ることが十分理解されよう。一実施形態において、機器管理サーバー（１８）は、オープン・モバイル・アライアンス（ＯＭＡ）機器管理サーバーであり得る。
【０００８】
ダウンロード前に機器管理スケジュール（２４）が、サーバースケジューラーモジュール（２０）で生成され得、及び／又は機器管理サーバー（１８）上にストアされ得る。このようにポリシーは、適切な機器管理スケジュール（２４）を機器管理サーバー（１８）から１つ以上の携帯計算装置（１２）に公表することによって中央で決定され実行される。
【０００９】
機器管理スケジュール（２４）は、１つ以上のスケジュール項目（２６）を含み、各スケジュール項目（２６）は１つ以上の定義済イベント（２８）、及び関連したソフトウェア設定動作のような１つ以上の関連動作（３０）を含んでいる。機器管理スケジュール（２４）は更に、携帯計算装置（１２）のユーザーによる機器管理スケジュール（２４）へのアクセスを制御するためのアクセスコントロールデータ（３１）を含む。機器管理スケジュール（２４）は、図３に例示したＸＭＬデータ構造のようなデータ構造でストアされる構造化データで表現され得る。
【００１０】
クライアントスケジューラーモジュール（１６）は、機器管理スケジュール（２４）を監視し、機器管理スケジュール（２４）のスケジュール項目（２６）に定義されている定義済イベント（２８）を検出し、イベント（２８）に関連付けられた関連動作（３０）を実行するように構成され、それによって携帯計算装置（１２）上のソフトウェアを設定する。クライアントスケジューラーモジュール（１６）は更に、スケジュール項目（２４）中のイベント（２８）が、装置が電源停止時のような携帯計算装置の休止期間中に発生したことを決定し、装置が電源入力時のような携帯計算装置の動作再開時にイベントに関連した動作を実行するように構成され得ることが十分理解されよう。
【００１１】
携帯計算装置（１２）に対し機器管理機能性を達成するための様々なイベント（２８）及び関連動作（３０）が定義されている。例えば、定義済イベント（２８）は相対時間インターバル（例えば起動後５分）又は絶対時間（例えば午前１２：００：００）の発生のような時間イベントであり得る。定義済イベント（２８）は、起動や無線ＬＡＮ接続又は携帯電話接続などの所定の接続タイプの検出、及び／又は最初のネットワーク接続損失の後のネットワーク接続の再確立若しくはその他の携帯計算装置（１２）の状況のような状況イベントでもあり得る。ネットワーク接続損失が、携帯計算装置（１２）の電源停止及び／又は携帯計算装置（１２）が無線サービスの無い場所に入るなど様々な原因を有し得ることが十分理解されよう。
【００１２】
関連動作（３０）は、ソフトウェアのインストール、構成、及び／又は更新のようなソフトウェア設定動作を含む。関連動作（３０）が、携帯計算装置（１２）上の実行可能ファイル（３６）若しくはダイナミックリンクライブラリー（ＤＬＬ）（３４）に対するアクセス及び／又は機器管理サーバー（１８）との接続開始を含むことも十分理解されよう。クライアントスケジューラーモジュール（１６）はＤＬＬのロードに対し、信頼できるプロセス及び信頼できないプロセス、２つのホストプロセスを提供し得る。ＤＬＬ（複数）のロードは、スケジューリングコンポーネントを処理限界が存在するいくつかのオペレーティングシステムと共に柔軟に使用するための動作であることが十分理解されよう。その他様々な動作（３０）が所望したソフトウェア設定の機能性を達成するために定義され得ることも十分理解されよう。
【００１３】
図２は、機器管理クライアント（１４）と機器管理サーバー（１８）との間の通信例を示す図である。（１０１）において、機器管理スケジュールが、例えば、携帯機器（１２）を管理するためのサーバーサイドポリシーに従って機器管理サーバー（１８）で生成され得る。（１０２）において、機器管理クライアント（１４）は、例えば、携帯計算装置（１２）上に提示されるグラフィカルユーザーインターフェースを介し、リモート機器管理に登録する登録コマンドをユーザーから受信し得る。（１０４）において、登録コマンドを受信したとき、機器管理クライアント（１４）は、機器管理サーバー（１８）に登録コマンドを送信し得、それによって携帯機器（１２）をリモート機器管理スケジューリングに登録する。かくして、機器管理システム（１０）は、機器管理クライアント（１４）が機器管理サーバー（１８）との接続を開始するので「プッシュ」モードよりも「プル」モードで作動することが十分理解されよう。
【００１４】
（１０６）において、携帯計算装置（１２）上の機器管理クライアント（１４）が、機器管理サーバー（１８）から機器管理スケジュール（２４）をダウンロードし得る。（１０８）において、機器管理スケジュール（２４）が、機器管理クライアント（１４）によって携帯計算装置（１２）上に供給又はインストールされ得る。機器管理クライアント（１４）は、機器管理スケジュール（２４）のイベントが検出されたか否か監視する。
【００１５】
（１１０）において、時間イベント、又は起動、接続再確立等の状況イベントなどの定義済イベント（２８）が発生する。（１１２）において、機器管理クライアント（１４）が、定義済イベント（２８）の発生を検出し得る。応答として、（１１４）において、機器管理クライアント（１４）が、イベント（２８）に関連付けられたソフトウェア設定動作（３０）を実行し、それによって携帯計算装置（１２）上にソフトウェアを設定する。
【００１６】
（１１６）において、機器管理クライアント（１４）が、機器管理サーバー（１８）と接続し、例えば、イベント（２８）の成功した検出及び動作（３０）完了を報告する確認を送信する。かくして、機器管理サーバー（１８）は、イベント（２８）が検出されたか否か、及び動作（３０）が検出されたイベント（２８）に応じて実行されたか否か、を示す確認メッセージをクライアントスケジュールモジュール（１６）から受信するように構成される。
【００１７】
（１１７）において、機器管理サーバー（１８）は更に、１つ以上の更新したスケジュール項目（２６）を含む更新した機器管理スケジュール（２４）を携帯計算装置（１２）上で実行されるクライアントスケジューラーモジュール（１６）にダウンロードするように構成される。（１１６）において、機器の更新したスケジュールが、サーバーサイドポリシー及びクライアントスケジューラーモジュール（１６）から受信した情報に基づいて、機器管理サーバー（１８）によって生成され得る。
【００１８】
前述したシステムが利用され得る一シナリオの例は、携帯計算装置上のソフトウェアの更新であって、該更新が装置の電源を停止し起動を必要とすることが十分理解されよう。そのようなシナリオにおいて、機器管理スケジュールは、起動イベント及びインストールの完了を報告するためのサーバー接続の関連動作を含むスケジュール項目を用いて定義され得る。このようにして機器管理スケジュールが、携帯計算装置（１２）の電源停止及び起動後でもソフトウェアの成功した設定を報告するために使用され得る。
【００１９】
図３に示したように、機器管理スケジュール（２４）は、拡張可能マークアップランゲージ（ＸＭＬ）形式で符号化され得るデータ構造（２００）でストアされ得る。データ構造（２００）は、クライアントスケジューラーモジュール（１６）によって読み出され得るスケジューラーオブジェクトに関するルートノード（２０２）を含む。ルートノード（２０２）は、グローバルユーザー識別子（ＧＵＩＤ）によって識別される１つ以上のアプリケーションに関するプレースホルダーノード（２０４）を含む。そのような設定が、アプリケーション特有の集まりの中へ機器管理スケジュール（２４）を論理的に組分け可能にすることが十分理解されよう。例えば、携帯計算装置上のソフトウェア更新に利用される機器管理スケジュール（２４）のグループが生成される。
【００２０】
アプリケーションに対する人間が読み取り可能な名前を識別するために、わかりやすい名前ノード（２０６）が任意に提供される。信頼できるノード（２０８）は、機器管理スケジュール（２４）に対する信頼レベルを示すデータをストアする。信頼できるノード（２０８）において真の値は、アプリケーションに対するスケジュールデータが、セキュアデータベースにストアされ、信頼できるコードによってのみアクセスされ得ることを示し得る。偽の値は、アプリケーションに対するスケジュールデータが、非セキュアデータベースにストアされていて、信頼できるコード又は信頼できないコードによってアクセスされ得ることを示し得る。改善したセキュリティのために、デフォルトは偽に設定され得る。機器管理サーバー（１８）がスケジュールを介して、機器管理サーバー（１８）と接続し、機器管理サーバー（１８）が、グループポリシー、セキュリティポリシーなど様々なポリシーにアクセスし適用するように機器管理クライアント（１４）に命令することが十分理解されよう。スケジュールを変更し、そのようなポリシー適用の回避を所望しているユーザーは、スケジュールが保護され、スケジュールにアクセスしようとするコードは信頼できないと見なされ得るので、高いセキュリティの制約に直面し得る。
【００２１】
データ構造（２００）は更に、スケジュールデータ（２１０）を含んでいて、該スケジュールデータ（２１０）はスケジュール項目（２６）のリストを含むスケジュールリストノード（２１２）及び１つ以上のスケジュール項目（２６）に対するプレースホルダーとして機能するスケジュールプレースホルダーノード（２１４）を含む。プレースホルダーノード（２１４）の兄弟ノードそれぞれは、アプリケーション特有のスケジュール項目（２６）を含む情報を保持する。
【００２２】
データ構造（２００）は更に、イベントデータ（２２３）を含んでいて、該イベントデータ（２２３）はスケジュール項目（２６）に対する定義済イベント（２８）に関連するデータを含む。イベントデータ（２２３）は、イベントタイプノード（２２４）を含んでいて、該イベントタイプノード（２２４）は機器管理スケジュール（２４）の動作（３０）を始動するイベント（２８）のタイプを定義している。イベントタイプの例は、前述したようなインターバルイベントのような時間イベント、起動、接続再確立のような状況イベントを含む。かくして、一実施形態において「インターバル」の値は、スケジュール項目（２６）の動作（３０）が、ＳｔａｒｔＡｎｄＥｎｄＴｉｍｅｓノード（２３０）によって示されている絶対開始時刻又は相対開始時刻に始動され、（例えば、スケジュールイベント間を分で表現され得る）ＩｎｔｅｒｖａｌＤｕｒａｔｉｏｎノード（２３６）の値及びＭａｘｉｍｕｍＲｅｐｅａｔＣｏｕｎｔノード（２３８）の値に従って繰り返すことを示している。「ＯｎＢｏｏｔＵｐ」の値は、スケジュール項目（２６）の動作（３０）が、携帯計算装置（１２）の起動時に始動されることを示す。
【００２３】
ＩｎｔｅｖａｌＤｕｒａｔｉｏｎノード（２３６）は通常、スケジュールイベント間の基本の分（時間）数を表すデータを含む。ＭａｘｉｍｕｍＲｅｐｅａｔＣｏｕｎｔノード（２３８）は、存在している場合、一般にスケジュールに対し定義済の終了日及び終了時間を超えない、スケジュールイベントを繰り返す回数を含む。存在しない場合、スケジュール項目（２６）は、スケジュール項目（２６）に対し定義済の終了日及び終了時間を超えないで無制限に繰り返すように構成され得る。
【００２４】
ＳｔａｒｔＡｎｄＥｎｄＴｉｍｅｓノード（２４０）は、スケジュール項目（２６）中のイベント（２８）が開始し終了するときに関するデータを含む。このデータは、絶対開始時間及び終了時間、又は相対開始時間及び終了時間として表現され得、絶対開始ノード（２３４）、絶対終了ノード（２３６）、相対開始終了ノード（２３８）、及び相対終了ノード（２４０）にそれぞれストアされ得る。絶対開始及び終了時間は、万国標準時（ＵＴＣ）で表現され得るが、相対開始及び終了時間は、機器管理スケジュール（２４）が、開始し終了することになっている機器管理スケジュール供給時間それぞれに対する相対的な分（時間）数を含み得る。供給時、クライアントスケジューラーモジュール（１６）は、それらが存在している場合、ＡｂｓｏｌｕｔｅＳｔａｒｔ時間及びＡｂｓｏｌｕｔｅＥｎｄ時間を動的に生成又は上書きし、それらに現在時間にＲｅｌａｔｉｖｅＳｔａｒｔ及びＲｅｌａｔｉｖｅＥｎｄの値を足し、それぞれ設定する。ＲｅｌａｔｉｖｅＳｔａｒｔが使用される場合、ＡｂｓｏｌｕｔｅＳｔａｒｔは通常省略され、ＲｅｌａｔｉｖｅＥｎｄが使用される場合、ＡｂｓｏｌｕｔｅＥｎｄは通常省略される。
【００２５】
イベントデータ（２２３）は更に、ＤｅｌｅｔｅＷｈｅｎＥｘｐｉｒｅｄノード（２３２）を含む。真に設定された場合、スケジュール項目（２６）は、期限切れ後、例えば、現在時刻がＡｂｓｏｌｕｔｅＥｎｄ時間よりも大きい場合、削除される。偽に設定された場合、このスケジュール項目（２６）は、期限切れ後も削除されない。デフォルト値は偽に設定され得る。
【００２６】
データ構造（２００）は更に、イベント（２８）に関連付けられた動作（３０）を定義している動作データ（２１５）を含む。動作データ（２１５）は、動作リストを含んでいる動作ノード（２１６）を含む。このノード上の実行関数が呼び出された時、スケジュール項目（２６）の動作を実行する。動作データ（２１５）は更に、プレースホルダーノード（２１８）を含んでいて、その兄弟ノードそれぞれは、動作（３０）を定義しているデータを保持するように構成される。
【００２７】
動作データ（２１５）は更に、ファイルノード（２２１）にストアされている実行可能ファイルパス及びコマンドラインノード（２２２）にストアされるコマンドラインパラメーターのような携帯計算装置（１２）上の実行可能ファイルを呼び出すために使用される情報を含んでいる実行可能ノード（２２０）を含む。
【００２８】
動作データ（２１５）は更に、ＤＬＬファイルノード（２４４）にストアされるＤＬＬファイルへのファイルパス、ＤＬＬ関数名ノード（２４６）にストアされるＤＬＬ関数名、及びＤＬＬのＩｎＰａｒａｍｅｔｅｒノード（２４８）にストアされるＤＬＬ関数に渡される（例えば左から右への順序付きリストの）パラメーターのようなＤＬＬを呼び出すための情報を含んでいるＤＬＬノード（２４２）を含む。ＩｎＰａｒａｍｅｔｅｒノード（２４８）は更に、１つ以上の引数を保持するプレースホルダーノード（２５０）を含んでいる子供ノードを含む。プレースホルダーノード（２５０）の兄弟ノードそれぞれは、識別名を有していて、引数のタイプ及び値を保持している。引数値ノード（２５２）は、関連した引数に関するＤＬＬ関数に渡すための値を保持している。
【００２９】
機器管理スケジュール（２４）が、前述したようなデータ構造（２００）を使用し符号化され得、機器管理サーバー（１８）上のサーバースケジュールモジュール（２０）から携帯計算装置（１２）上の機器管理クライアント（１４）に通信され得ることが十分理解されよう。
【００３０】
図４は、携帯計算装置をリモートで管理するための方法（３００）の実施形態の流れ図であって、前述した計算装置又はその他の適切な装置を使用し、実装され得る。（３０２）において、本方法は、携帯計算装置において、リモート機器管理スケジュールに登録するための登録コマンドのユーザー入力を受信することを含む。（３０４）において、本方法は更に、無線計算機ネットワークのような計算機ネットワークを介して無線アクセスプロトコルのような通信プロトコルを使用し、携帯計算装置から機器管理サーバーに登録コマンドを送信することを含む。
【００３１】
（３０６）において、本方法は、携帯計算装置において、計算機ネットワークを介し機器管理サーバーから機器管理スケジュールをダウンロードすることを含む。前述したように機器管理スケジュールは、ダウンロード前に機器管理サーバーで生成され、及び／又はその上にストアされ得、１つ以上のスケジュール項目を含んでいて、スケジュール項目それぞれは定義済イベント及び関連動作を含む。定義済イベントは、前述したように、定義済時間インターバル若しくは絶対時間のような時間イベント、又はネットワーク接続損失後の起動若しくはネットワーク接続再確立のような状況イベントであり得る。機器管理スケジュールは、ＸＭＬデータ構造のようなデータ構造にストアされる構造化データとして表現され得る。
【００３２】
場合によってはスケジュール項目において複数のイベントが、利用され得ることもある。例えば、検出されたイベントが第１のイベントであって、本方法は、第１のイベントを用いて第２のイベントを分類し、第１イベント及び第２イベントの発生を検出することを含む。このように複数のイベントが、関連付けられた動作を始動するように定義され得る。関連動作は、ソフトウェアのインストール、設定、及び／又は更新のようなソフトウェア設定動作を含む。
【００３３】
（３０８）において、本方法は、携帯計算装置において、機器管理スケジュールにおいて識別した事前定義済のイベント発生の検出を含み得る。（３１０）において、本方法は更に、イベント発生の検出に応じたソフトウェア設定動作のような機器管理スケジュールにおけるイベントに関連付けられた関連動作を実行することを含んでいて、それによって携帯計算装置上にソフトウェアを設定する。
【００３４】
ソフトウェア設定動作の実行は、例えば、携帯計算装置上の実行可能ファイルの実行、又は携帯計算装置上のダイナミックリンクライブラリーへのアクセスによる携帯計算装置上の設定の更新又はソフトウェアの更新を含む。ソフトウェア設定動作の実行は更に、設定又はソフトウェアが更新されたことの確認メッセージを携帯計算装置から機器管理サーバーに送信することを含む。
【００３５】
場合によっては、複数のソフトウェア設定動作がスケジュール項目において利用され得る。例えば、実行されるソフトウェア設定動作が第１のソフトウェア設定動作であって、本方法は更に、第１のソフトウェア設定動作を用いて第２のソフトウェア設定動作を分類し、機器管理スケジュールにおいて識別されるイベントの発生を検出した時、第１のソフトウェア設定動作及び第２のソフトウェア設定動作の双方を実行することを含む。
【００３６】
一つのシナリオでは、（３１０）においてイベントを検出することは、例えば、起動又はネットワーク通信中断を通したソフトウェア設定動作の実行中、第１のネットワーク接続損失の検出及び第２のネットワーク接続再確立の検出を含んでいて、（３１２）において、ソフトウェア設定を実行することは、機器管理スケジュールに従って、携帯計算装置から機器管理サーバーとの接続を開始することを含む。
【００３７】
別のシナリオでは、ソフトウェア設定動作を実行することは、携帯計算装置上にストアされている機器管理スケジュールに従って、携帯計算装置から機器管理サーバーへの接続を開始することを含む。例えば、ソフトウェア設定動作は、ソフトウェアのインストール及び携帯計算装置の起動に続くサーバーとの接続であり得、ソフトウェアインストールが首尾よく完了されたことを報告する。
【００３８】
実施形態の中には、本方法が追加として、携帯計算装置上の機器管理スケジュールに対するアクセスコントロールパラメーターを設定する携帯計算装置において、機器管理スケジュールを見て変更するユーザー及び／又はグループを定義することを含むものある。アクセスコントロールパラメーターを適切に設定することによって、管理者は、スケジュールにアクセス可能なユーザー及びグループを制限し得る。
【００３９】
前述したシステム及び方法は、機器管理サーバーから携帯計算装置上の機器管理スケジュールを効率的に供給し、機器管理スケジュールに従って携帯計算装置上のソフトウェアを設定するように利用され得る。
【００４０】
本明細書に記載した計算装置は通常、プロセッサー並びに関連揮発性メモリー及び不揮発性メモリーを含んでいて、揮発性メモリーの一部及びプロセッサーを使用し、不揮発性メモリーにストアされているプログラムを実行するように構成されることが十分理解されよう。本明細書に使用されている用語「プログラム」は、本明細書に記載した１つ以上の計算装置によって、実行又はそれによって利用されるソフトウェア又はファームウェアのコンポーネントを参照していて、個人又はグループの実行可能ファイル、データファイル、ライブラリー、ドライバー、スクリプト、データベースレコードなどを包含するように意味されている。プログラム命令を有する計算機可読媒体が提供され得、その上にストアされているプログラム命令が、計算装置による実行時、計算装置に前述した方法を実行させて前述したシステム動作をもたらし得ることが十分理解されよう。
【００４１】
本発明の範囲がそれらに先行する説明によるよりもむしろ、添付した請求項によって定義されているので、本明細書の実施形態が例示的であって限定しておらず、請求項の範囲及びその境界内に収まる変更すべて又はそのような範囲及びその境界の等価なものが請求項によって包括的に捉えられるように意図されていることを理解されたい。
【符号の説明】
【００４２】
１０  携帯機器管理システム
１２  携帯計算装置
１４  機器管理クライアント
１６  クライアントスケジューラーモジュール
１８  機器管理サーバー
２０  サーバースケジューラーモジュール
２２  計算機ネットワーク
２４  機器管理スケジュール
２６  スケジュール項目
２８  イベント
３０  関連動作
３１  アクセスコントロールデータ
３２  通信プロトコル
３４  ダイナミックリンクライブラリー（ＤＬＬ）
３６  実行可能ファイル
２００  データ構造
２０２  スケジューラーオブジェクト用ルートノード
２０４  プレースホルダーノード
２０６  わかりやすい名前ノード
２０８  信頼できるノード
２１０  スケジュールデータノード
２１２  スケジュールリストノード
２１４  スケジュールプレースホルダーノード
２１５  動作データノード
２１６  動作ノード
２１８  プレースホルダーノード
２２０  実行可能ファイルノード
２２１  ファイルノード
２２２  コマンドラインノード
２２３  イベントデータノード
２２４  イベントタイプノード
２２６  インターバル期間ノード
２２８  最大反復回数ノード
２３０  開始終了時間ノード
２３２  期限切れ時削除ノード
２３４  絶対開始ノード
２３６  絶対終了ノード
２３８  相対開始ノード
２４０  相対終了ノード
２４２  ＤＬＬノード
２４４  ＤＬＬファイルノード
２４６  ＤＬＬ関数名ノード
２４８  属するパラメーターノード
２５０  プレースホルダーノード
２５２  引数値ノード
【図１】
2011509635.tif 000003
【図２】
2011509635.tif 000004
【図３】
2011509635.tif 000005
【図４】
2011509635.tif 000006
【国際調査報告】
2011509635.tif 000007
2011509635.tif 000008