(57)【要約】無線アプリケーションを保守し供給するためのコンピュータおよびネットワークベースの方法およびシステムが供給される。例示的実施形態は、モバイルアプリケーションシステム（ＭＡＳ）を供給し、このシステムは、無線デバイス等のモバイル加入者デバイスにアプリケーションおよびリソースを供給するように安全な態様で個々にかつ互いに働く組み込まれたサーバコンポーネントの収集である。本発明の実施形態はまた、無線加入者デバイスのためのアプリケーションおよびリソースを展開するために使用され得る。アプリケーション、リソース、および他のコンテンツが供給され、加入者による認証されたアクセスのためのＭＡＳ、リクエストしている加入者デバイスとの互換性、ＭＡＳの電気通信事業者およびシステムアドミニストレータのセキュリティおよび料金請求ポリシーによって供給かつ検証される。【選択図】図５
2004530958.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータベースの環境においてターゲット無線デバイス上で展開されるべきコンテンツを作成するための方法であって、
該ターゲットデバイスに該コンテンツを供給するステップと、
該デバイスの能力と該コンテンツ要求とを比較することによって、該デバイスが該コンテンツの実行を支援することを検証するステップと、
該検証され、供給されたコンテンツを供給するステップと
を含む、コンピュータベースの環境においてターゲット無線デバイス上で展開されるべきコンテンツを作成するための方法。
【請求項２】
無線転送媒体を介して、前記作成されたコンテンツを前記ターゲットデバイスにダウンロードさせるステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記コンテンツは、無線転送媒体を介して前記コンピュータベースの環境への電気通信事業者の加入者によってリクエストされる、請求項１に記載の方法。
【請求項４】
前記供給するステップは、
前記コンテンツを検査するステップと、
該コンテンツを最適化するステップと、
該コンテンツを備えるステップと
の内の少なくとも１つを含む、請求項１に記載の方法。
【請求項５】
前記検査するステップは、
前記コンテンツが不正なコードを含むかどうかを決定するステップと、
前記コンテンツが禁止されたコードを含むかどうかを決定するステップと、
前記コンテンツが指定されたＡＰＩを含むかどうかを決定するステップと
の内の少なくとも１つをさらに含む、請求項４に記載の方法。
【請求項６】
前記ＡＰＩは、パッケージ、クラス、メソッド、およびフィールドの内の少なくとも１つである、請求項５に記載の方法。
【請求項７】
前記検査するステップは、アプリケーションフィルタを用いて実行される、請求項４に記載の方法。
【請求項８】
前記アプリケーションフィルタは、フィルタリングされるべき基準のリストおよびターゲットを特定する、請求項７に記載の方法。
【請求項９】
前記基準はＡＰＩである、請求項８に記載の方法。
【請求項１０】
前記ターゲットは、特殊なクライアント、デバイスタイプ、コンテンツ識別子、およびグローバル定義の内の少なくとも１つである、請求項８に記載の方法。
【請求項１１】
前記最適化するステップは、
変数名の大きさを低減するステップと、
インストラクションをより効率的なインストラクションに変更するステップと、
未使用のコードを除去するステップと
の内の少なくとも１つをさらに含む、請求項４に記載の方法。
【請求項１２】
前記備えるステップは、料金請求ポリシー、使用ポリシー、通知、および自動コンテンツ更新機構の内の少なくとも１つをインプリメントする挿入コードをさらに含む、請求項４に記載の方法。
【請求項１３】
前記備えるステップは、コンテンツ調査のバイト−コードレベルにおいて達成される、請求項４に記載の方法。
【請求項１４】
前記供給するステップは、料金請求ポリシーを支援するためのコードを供給する、請求項１に記載の方法。
【請求項１５】
前記料金請求ポリシーは、加入ベースの料金請求、試験的使用、ダウンロードベースの料金請求、転送ベースの料金請求、および予め支払われた料金請求の内の少なくとも１つをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記料金請求ポリシーは無線電気通信事業者インフラストラクチャによって供給される、請求項１４に記載の方法。
【請求項１７】
前記コンテンツがリクエスタに供給され、前記検証するステップは、
該コンテンツによって使用された前記ＡＰＩを前記ターゲットデバイスによって支援された該ＡＰＩと比較するステップと、
該リクエスタが該コンテンツの使用が認定されるかどうかを決定するステップと、
該コンテンツが禁止されるかどうか決定するステップと
の内の少なくとも１つをさらに含む、請求項１に記載の方法。
【請求項１８】
前記リクエスタが認定されるかどうかを決定するステップは、該リクエスタが前記コンテンツを使用するために予め支払われた料金請求アカウントにおけて十分な資金を有するかどうかを決定する、請求項１７に記載の方法。
【請求項１９】
前記検証はプロファイル管理を用いて達成される、請求項１に記載の方法。
【請求項２０】
前記プロファイル管理は、加入者、デバイスタイプ、およびコンテンツの内の少なくとも１つのためのプロファイルを定義する、請求項１９に記載の方法。
【請求項２１】
前記コンテンツは、Ｊａｖａ（Ｒ）ベースである、請求項１に記載の方法。
【請求項２２】
前記環境は無線電気通信事業者インフラストラクチャを用いて統合される、請求項１に記載の方法。
【請求項２３】
前記コンテンツ作成は、ウォールドガーデン（ｗａｌｌｅｄ−ｇａｒｄｅｎ）供給を供給する、請求項１に記載の方法。
【請求項２４】
前記コンピュータベースの環境はネットワークを含み、前記供給するステップは、前記ネットワーク上の位置へのブラウジングを介して作成されるべき前記コンテンツの指定を支援する、請求項１に記載の方法。
【請求項２５】
前記ネットワークはインターネットである、請求項１に記載の方法。
【請求項２６】
前記作成プロセスは、前記コンテンツのリクエスタのアカウント好みを考慮する、請求項１に記載の方法。
【請求項２７】
前記供給を制御する属性は、ウェブサイト管理を介して特定される、請求項１に記載の方法。
【請求項２８】
前記検証を制御する属性は、ウェブサイト管理を介して特定される、請求項１に記載の方法。
【請求項２９】
前記コンテンツは、テキスト、グラフィックス、オーディオ、およびビデオの内の少なくとも１つを含む、請求項１に記載の方法。
【請求項３０】
ターゲット無線デバイスのために特別に供給され検証されたコンテンツを含む、ネットワークベースの転送媒体。
【請求項３１】
前記コンテンツは、前記ターゲット無線デバイスに転送される、請求項３０に記載の転送媒体。
【請求項３２】
前記供給されたコンテンツは、検査されるか、最適化されるか、測定されるかの少なくとも１つである、請求項３０に記載の転送媒体。
【請求項３３】
前記検査されたコンテンツは、特定のコード、ＡＰＩ、または他の基準を含まないことを決定するために検査される、請求項３２に記載の転送媒体。
【請求項３４】
前記検査されたコンテンツは、動的に特定可能なアプリケーションフィルタを用いて検査される、請求項３２に記載の転送媒体。
【請求項３５】
前記アプリケーションフィルタは、フィルタリングされる基準のリストおよびターゲットを特定する、請求項３４に記載の転送媒体。
【請求項３６】
前記測定されたコンテンツは、料金請求ポリシー、利用ポリシー、通知、および自動化されたコンテンツ更新機構の内の少なくとも１つをインプリメントするコードを含む、請求項３２に記載の転送媒体。
【請求項３７】
前記測定されたコンテンツは、バイト−コードレベルにおいて測定される、請求項３２に記載の転送媒体。
【請求項３８】
前記供給されたコンテンツは、該コンテンツのための料金請求ポリシーを自動的にインプリメントするコードを含む、請求項３０に記載の転送媒体。
【請求項３９】
前記コンテンツは、該コンテンツを受信するように認定された前記ターゲットデバイスの少なくとも１つのユーザを決定することによって検証され、該ターゲットデバイスは、該コンテンツによって使用された前記ＡＰＩを支援し、該コンテンツは禁止されていない、請求項３０に記載の転送媒体。
【請求項４０】
前記コンテンツは、該コンテンツの特徴と格納されたプロファイルとを比較することによって検証される、請求項３０に記載の転送媒体。
【請求項４１】
前記ネットワークは無線電気通信事業者インフラストラクチャに接続される、請求項３０に記載の転送媒体。
【請求項４２】
前記コンテンツは、Ｊａｖａ（Ｒ）ベースである、請求項３０に記載の転送媒体。
【請求項４３】
前記ネットワークは、インターネットである、請求項３０に記載の転送媒体。
【請求項４４】
前記コンテンツは、テキスト、グラフィックス、オーディオ、およびビデオの内の少なくとも１つを含む、請求項３０に記載の転送媒体。
【請求項４５】
ターゲットデバイス上で展開するためのコンテンツを作成するようにコンピュータプロセッサを制御するためのインストラクションを含む、コンピュータ読み出し可能記憶媒体であって、
該ターゲットデバイスのためのコンテンツを供給するステップと、
該ターゲットデバイスは、該デバイス上で供給されたコンテンツを実行することなく該供給されたコンテンツの実行を支援することを検証するステップと
を含む、コンピュータ読み出し可能記憶媒体。
【請求項４６】
前記ターゲットデバイスは、無線デバイスである、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項４７】
前記インストラクションは、前記作成されたコンテンツを、無線転送媒体を介して前記ターゲットデバイスにダウンロードさせることをさらに含む、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項４８】
前記供給するステップは、
前記コンテンツを検査するステップと、
該コンテンツを最適化するステップと、
該コンテンツを備えるステップと
の内の少なくとも１つをさらに含む、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項４９】
前記検査するステップは、
前記コンテンツが不正なコードを含むかどうかを決定するステップと、
前記コンテンツが禁止コードを含むかどうかを決定するステップと、
前記コンテンツが指定されたＡＰＩを含むかどうかを決定するステップと
の内の少なくとも１つをさらに含む、請求項４８に記載のコンピュータ読み出し可能記憶媒体。
【請求項５０】
前記検査するステップは、アプリケーションフィルタを用いて実行される、請求項４８に記載のコンピュータ読み出し可能記憶媒体。
【請求項５１】
前記測定されるステップは、料金請求ポリシー、利用ポリシー、通知、および自動コンテンツ更新メカニズムの少なくとも１つをインプリメントするコードを挿入するステップをさらに含む、請求項４８に記載のコンピュータ読み出し可能記憶媒体。
【請求項５２】
前記測定されるステップは、コンテンツ調査のバイトコードレベルにおいて達成される、請求項４８に記載のコンピュータ読み出し可能記憶媒体。
【請求項５３】
前記供給するステップは、料金請求ポリシーを支援するためのコードを供給する、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項５４】
前記料金請求ポリシーは、加入ベースの料金請求、試験使用、ダウンロードベースの料金請求、転送ベースの料金請求、および予め支払った料金請求の内の少なくとも１つをさらに含む、請求項５３に記載のコンピュータ読み出し可能記憶媒体。
【請求項５５】
前記コンテンツは、リクエスタのために供給され、前記検証するステップは、
該コンテンツによって使用された前記ＡＰＩを前記ターゲットデバイスによって支援された該ＡＰＩと比較するステップと、
該リクエスタが該コンテンツの使用が認定されるかどうかを決定するステップと、
該コンテンツが禁止されるかどうか決定するステップと
の内の少なくとも１つをさらに含む、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項５６】
前記リクエスタの認定を決定することは、該リクエスタが前記コンテンツを使用するために予め支払われた料金請求アカウントにおいて十分な資金を有するかどうかを決定する、請求項５５に記載のコンピュータ読み出し可能記憶媒体。
【請求項５７】
前記検証はプロファイル管理を用いて達成される、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項５８】
前記コンテンツは、Ｊａｖａ（Ｒ）ベースである、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項５９】
前記供給するステップは、前記ネットワーク上の位置へのブラウジングを介して作成されるべき前記コンテンツの指定を支援する、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項６０】
前記コンテンツは、テキスト、グラフィックス、オーディオ、およびビデオの内の少なくとも１つを含む、請求項４５に記載のコンピュータ読み出し可能記憶媒体。
【請求項６１】
ターゲットデバイスのためのコンテンツを供給するコンピュータベースのコンテンツ展開システムであって、
該コンテンツが認定され、該ターゲットデバイスが該コンテンツによって必要とされたリソースを支援することを検証する検証マネージャと、
該コンテンツを検査するか、該コンテンツを最適化するか、該コンテンツを備えるかの内の少なくとも１つによって該ターゲットデバイスに従って該コンテンツを供給する供給マネージャと
を含む、ターゲットデバイスのためのコンテンツを供給するコンピュータベースのコンテンツ展開システム。
【請求項６２】
前記供給マネージャは、
加入者検証器と、
デバイス検証器と、
アプリケーション検証器と
の内の少なくとも１つをさらに含む、請求項６１に記載の展開システム。
【請求項６３】
前記加入者検証器は、ワイヤレス電気通信事業者サービスの加入者が、前記コンテンツを使用するように認定される、請求項６２に記載の展開システム。
【請求項６４】
前記デバイス検証器は、前記ターゲットデバイスが前記コンテンツによって必要とされたＡＰＩを支援するかどうかを決定する、請求項６２に記載の展開システム。
【請求項６５】
前記アプリケーション検証器は、前記コンテンツが禁止されるかどうかを決定する、請求項６２に記載の展開システム。
【請求項６６】
前記ターゲットデバイスは無線デバイスである、請求項６１に記載の展開システム。
【請求項６７】
前記展開システムは、無線電気通信事業者コンピュータシステムと統合される、請求項６１に記載の展開システム。
【請求項６８】
前記コンテンツを備えることは、料金請求ポリシー、利用ポリシー、通知、および自動コンテンツ更新メカニズムの内の少なくとも１つのための支持を供給する、請求項６１に記載の展開システム。
【請求項６９】
料金請求ポリシーに従って、前記コンテンツを供給するための支援を供給する料金請求マネージャをさらに含む、請求項６１に記載の展開システム。
【請求項７０】
前記料金請求ポリシーは、加入ベースの料金請求、試験的使用、ダウンロードベースの料金請求、転送ベースの料金請求、および予め支払われた料金請求の内の少なくとも１つである、請求項６９に記載の展開システム。
【請求項７１】
前記供給されるべきコンテンツの指定は、ネットワーク上の位置へのブラウジングによって決定される、請求項６１に記載の展開システム。
【請求項７２】
前記コンテンツは、Ｊａｖａ（Ｒ）ベースである、請求項６１に記載の展開システム。
【請求項７３】
前記コンテンツは、テキスト、グラフィックス、オーディオ、およびビデオの内の少なくとも１つを含む、請求項６１に記載の展開システム。
【発明の詳細な説明】
【背景技術】
【０００１】
（発明の背景）
（発明の分野）
本発明は、無線アプリケーションの方法およびシステムに関し、特に、無線アプリケーションを保守して、無線ネットワークを介して無線デバイスに配信する方法およびシステムに関する。
【０００２】
（背景情報）
今日、無線デバイスは、世界の多くの地域において普及している。無線電話、ハンドセット、パーソナル情報マネージャ、電子オーガナイザ、パーソナルデジタルアシスタント、ポータブル電子メール機器、ゲーム機器といったデバイス、および他のデバイスが、生活を便利にするために電話事業者の加入者によって用いられる。しかしながら、このようなデバイスにて用いられるソフトウェアおよびこのようなソフトウェアをこれらのデバイスに配置するメカニズムは、あまり知られていない。通常、例えば、セルラー式電話サービスの顧客は、セルラー式電話をそのセルラー式電話サービスの販売業者に持ち込んで、新しい、または更新されたサービスソフトウェアあるいは機能をその電話にロードしてもらわなければならない。さらに、顧客の申し込みの変更さえ、顧客サービス代理業者のもとでか、または顧客サービス代理業者を呼び出すことによって処理される。さらに、各電気通信事業者は、サービスおよびアプリケーションの配布に対して物理的に応答可能であるので、各電気通信業者は、動作可能と指定するデバイス上で提供を所望するサービスおよびアプリケーションを試験しなければならない。従って、このような無線デバイスのためのアプリケーションを開発することを所望するコンテンツプロバイダは、支援することを所望するデバイスごとにアプリケーションを開発しなければならず、かつ場合によっては電気通信業者およびデバイスの製造業者と共に、このようなアプリケーションを試験しなければならない。さらに、特定のソフトウェアアプリケーションが正常に動作しない場合、その電気通信業者は、物理デバイスのすべてをリコールして、そのソフトウェアを更新しなければならない。従って、無線デバイスにソフトウェアの配置をより容易にすることが益々必要となる。
【発明の開示】
【課題を解決するための手段】
【０００３】
（発明の簡単な要旨）
本発明の実施形態は、コンピュータおよびネットワークベースの無線アプリケーションを保守および供給（ｐｒｏｖｉｓｉｏｎ）する方法およびシステムを提供する。例示の実施形態は、モバイルアプリケーションシステム（Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ（ＭＡＳ））を提供する。これは、個別および共同で安全な態様で動作して、アプリケーション、リソースおよび他のコンテンツを、無線デバイス等のモバイル加入者デバイスに提供する相互運用サーバコンポーネントの集合である。本発明の実施形態は、さらに、有線加入者デバイスのためのアプリケーションおよび他のコンテンツもまた配置するために用いられ得る。ＭＡＳによって、アプリケーション、リソースおよび他のコンテンツが供給され、かつ検証され、このＭＡＳは、加入者による認証されたアクセス、リクエストする加入者デバイスとの互換性ならびに／あるいは電気通信事業者およびＭＡＳの管理者のセキュリティおよび料金請求ポリシーへの順守のためのものである。このようにして、アプリケーション、リソースおよび他のコンテンツが無線デバイス等のデバイスにダウンロードされ得、デバイスがうまく実行する能力がかなりの程度保証される。
【０００４】
いくつかの実施形態において、ＭＡＳは、新しいコンテンツを送信し、コンテンツおよびアプリケーションディスカバリ（ａｐｐｌｉｃａｔｉｏｎ  ｄｉｓｃｏｖｅｒｙ）のダウンロードをリクエストする能力を提供する。いくつかの実施形態において、アプリケーションディスカバリは、加入者によって指定される基準と一致するダウンロード可能なコンテンツのリストを返す。別の実施形態において、ＭＡＳは、加入者の選好に基づくコンテンツのリストを返す。いくつかの実施形態において、加入者の選好は、個人アクセスリストによって管理される。
【０００５】
１実施形態において、コンテンツを送信し、コンテンツをダウンロードし、アプリケーションを発見するための検証プロセスは、加入者が加入者に関連する料金請求ポリシーのもとでコンテンツを用いることが認証されていることの検証、デバイスがＡＰＩおよびコンテンツのリソース要求を支援し得ることの検証、コンテンツが使用禁止でないことの検証のうちの１つ以上を含む。いくつかの実施形態において、検証は、システムを通じて管理され得るプロファイルによって実行される。１実施形態において、デバイスがコンテンツを支援し得ることの検証は、そのコンテンツに関連するアプリケーションプロファイルと、加入者のデバイスに関連するデバイスプロファイルとを比較することによって判定される。いくつかの実施形態において、アプリケーションの発見中に加入者デバイスに提供されるリストは、これらの手順により検証されたコンテンツのみを表示するようにフィルタリングされる。
【０００６】
ＭＡＳの１実施形態において、ウォールドガーデン（ｗａｌｌｅｄ−ｇａｒｄｅｎ）の供給が提供される。コンテンツは、ＭＡＳに送信され、ＭＡＳによって、不当な、または禁止されたコードについて、または特定のＡＰＩの存在について検査され、承認され、かつ発行される。従って、加入者は、コンテンツを発見し、かつリクエストし得る。いくつかの実施形態において、発行されたコンテンツは、予め供給される（静的供給）。他の実施形態において、発行されたコンテンツは、ダウンロードがリクエストされると動的に供給される。
【０００７】
別の実施形態において、オープン（ｏｐｅｎ）供給が提供される。オープン供給により、加入者は、インターネット等のネットワーク上のサイトを閲覧し、例えば、ＵＲＬ等の特定のアドレスでコンテンツをダウンロードするようにリクエストを指定する。ＭＡＳは、このリクエストを中断して、このアドレスからコンテンツをダウンロードし、ＡＰＩまたはコンテンツに現れるべきでない他の属性のためにコンテンツを検査する。この検査が成功した場合、ＭＡＳは加入者にコンテンツを供給する。１実施形態において、検査プロセスは、アプリケーションフィルタを用いて実行される。いくつかの実施形態において、リクエストされたコンテンツは、さらに、そのコンテンツがデバイス上で正常に実行される尤度を大きくするために加入者のデバイスについて検証される。
【０００８】
１実施形態において、コンテンツは、指定されたコードについてのコンテンツを検査する工程、そのコンテンツをより小さくかつより高速になるように最適化する工程、安全性、料金請求または電気通信事業者の他のポリシーを実現するコードを備える工程、目的の加入者デバイスについてのコードをパッケージ化する工程のうちの１つ以上によって供給される。１実施形態において、コンテンツは、不当な、または禁止されたコード、または指定されたＡＰＩの使用について検査される。別の実施形態において、コードは、不正挙動または禁止されたＡＰＩについて検査される。いくつかの実施形態において、コードの検査は、コンテンツと、パッケージ、クラス、メソッドまたはフィールド名のリストとを比較する。いくつかの実施形態において、この比較は、バイトコードレベルで実行される。他の実施形態において、この比較は、ソースコードレベル等の他のレベルで実行される。いくつかの実施形態において、アプリケーションフィルタは、コード検査プロセスを駆動するために用いられる。アプリケーションフィルタは、パラメータ、コード名、ＡＰＩ、または特定の対象のために用いることが禁止されたコンテンツの他の属性を指定し得る。１実施形態において、対象は、特定のアプリケーションまたは他のコンテンツ、特定のコンテンツプロバイダ、デバイスのタイプまたは加入者、あるいはそのようなすべてのアプリケーション、コンテンツプロバイダ、デバイスまたは加入者を含む。
【０００９】
供給プロセスの間、コンテンツには電気通信事業者、ＭＡＳおよび／またはシステム管理者のポリシーによって必要とされるさらなるコードが備えられる。いくつかの実施形態において、コードは、バイトコードレベルで備えられる。さらに別の実施形態において、コードは、バイトレベル以外のレベルで備えられる。いくつかの実施形態において、備えられたコードは、支払いまたは料金請求ポリシーを実現するコード、信用できないか、または場合によっては安全でないコンテンツについて加入者に通知するコード、ダウンロードされるコンテンツについて更新が利用可能であるとき、ユーザに自動的に通知を提供するコードのうちの１つ以上を提供する。
【００１０】
供給プロセスの間、検査、最適化または備えられたコンテンツは、リクエストするデバイスのために適切にパッケージ化され得る。いくつかの他の実施形態において、パッケージ化は、コンテンツを圧縮する。さらに別の実施形態において、パッケージ化は、供給されたコンテンツを、加入者デバイス上で再び組み立てられ得る、より小さいパッケージに分解する。
【００１１】
別の実施形態において、ＭＡＳは、種々の安全ポリシーおよびメカニズムを支援する。検査プロセスの間に用いられるアプリケーションフィルタは、作成および管理され得る。いくつかの実施形態において、これらのフィルタは、送信中、および供給中にコードを検査するために用いられる。さらに別の実施形態において、禁止されたアプリケーションのリストが提供される。これは、電気通信事業者によって動的に禁止されたコンテンツを加入者がダウンロードすることを防止する。いくつかの実施形態において、このリストは、検証プロセス中に用いられる。さらに別の実施形態において、安全コードがＭＡＳの種々のレベルで組み込まれて、暗号、安全メッセージ等の安全な通信メカニズムを提供する。
【００１２】
さらに別の実施形態において、ＭＡＳは、種々の料金請求方法およびポリシーを提供する。１実施形態において、方法は、アプリケーションのダウンロードに対する課金、周期的手数料に基づく加入者課金、指定された期間または時間の間の試用、およびネットワークパケットの伝送に基づくパケットベースの料金請求の課金といった料金請求の選択肢を含む。さらに、別の実施形態において、ＭＡＳは、挙げられた料金請求選択肢のうちの１つ以上により、アプリケーションをダウンロードするためのプリペイド料金請求を支援する。
【００１３】
１実施形態において、ＭＡＳは、プロトコルマネージャ（Ｐｒｏｔｏｃｏｌ  Ｍａｎａｇｅｒ）、プロビジョニングマネージャ（Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｍａｎａｇｅｒ）、キャッシュ（Ｃａｃｈｅ）、展開マネージャ（Ｄｅｐｌｏｙｍｅｎｔ  Ｍａｎａｇｅｒ）、料金請求マネージャ（Ｂｉｌｌｉｎｇ  Ｍａｎａｇｅｒ）、ロギングマネージャ（Ｌｏｇｇｉｎｇ  Ｍａｎａｇｅｒ）、アドミニストレータ（Ａｄｍｉｎｉｓｔｒａｔｏｒ）およびハートビートモニタ（Ｈｅａｒｔｂｅａｔ  Ｍｏｎｉｔｏｒ）を含む。プロトコルマネージャは、入来するデータリクエストメッセージをＭＡＳによって理解されるフォーマットに変換し、出て行くデータメッセージを種々の加入者デバイスおよびＭＡＳにアクセスするネットワークによって理解されるフォーマットに変換する。プロビジョニングマネージャは、加入者、そのデバイスおよびアプリケーションを検証して、ユーザがリクエストされたアプリケーションを使用するように認証され、デバイスがアプリケーションの要求を支援し得、アプリケーションが、例えば、リクエストされた使用が電気通信事業者によって禁止されていないことを確実にする。さらに、プロビジョニングマネージャは、例えば、さらなる電気通信事業者の料金請求ポリシーを実現すること、または他のＭＡＳコンポーネントと通信することのデータリクエストを事前処理または事後処理し得る。展開マネージャは、リクエストを満たすものが存在する場合、予め供給されたアプリケーションを取り出し、そうでない場合、指定されたアプリケーションコードを取り出し、これをリクエストする加入者およびデバイスに供給する。１実施形態において、供給は、アプリケーションコード検査、最適化、機器組込（ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ）およびパッケージ化を含む。料金請求マネージャは、料金請求レポートおよびこのようなレポートを生成するために用いられる料金請求パラメータデータを生成する。さらに、いくつかの実施形態において、料金請求マネージャは、プリペイド料金請求ポリシーについての会計業務を扱う。ロギングマネージャは、保留リクエストの状態を含むすべてのタイプのリクエストおよび伝送情報のログ記録をとる責任を負う。ハートビートモニタは、ＭＡＳコンポーネントの能力を追跡して、その意図された作業を実行する。１実施形態において、第２のハートビートモニタは、第１のハートビートモニタの状態を追跡するために提供される。アドミニストレータは、コンテンツプロバイダ、システムアドミニストレータ、顧客応対代理業者および加入者についてＭＡＳの管理を支援する。１実施形態において、アドミニストレータは、コンテンツプロバイダ、アドミニストレータ、顧客応対代理業者および加入者について、ユーザインターフェースに基づいたウェブサイトをインプリメントする。別の実施形態において、アドミニストレータは、アプリケーションプロファイル、加入者プロファイル、デバイスプロファイル、ｊａｖａ（Ｒ）プロファイルおよび料金請求プロファイルのうちの１つ以上のプロファイル管理についての支援を提供する。さらに別の実施形態において、アドミニストレータは、既存のＭＡＳコンポーネントの改変を、ＭＡＳコンポーネントの挙動を駆動するデータを改変することによって支援する。
【００１４】
いくつかの実施形態において、ＭＡＳは、アプリケーションディスカバリ、コンテンツダウンロードおよびコンテンツダウンロードの履歴を支援するコマンドインターフェースをシステムに提供する。ＭＡＳは、ＭＡＳコンポーネントの１つを、ハンドラを通じて直接呼び出す能力をさらに提供する。いくつかの実施形態において、ＭＡＳは、これらのコンポーネントの各々にアクセスし、かつＭＡＳの部分と統合させるためにＡＰＩをさらに提供する。
【００１５】
ＭＡＳは、それ自体、コマンドおよびパラメータのマッピングを動的に改変することによって、ＭＡＳの異なった局面に再構成する能力をさらに提供する。
【００１６】
（発明の詳細な説明）
本発明の実施形態は、無線アプリケーションを保守および供給するための、コンピュータおよびネットワークベースの方法およびシステムを提供する。本明細書中で議論される供給は、例えば、特定の顧客によって特定の種類の加入者デバイス上で使用されるといった、特定の使用のためのコンテンツのカスタマイズおよび配信である。例示的実施形態において、モバイルアプリケーションシステム（ＭＡＳ）が提供される。ＭＡＳは、安全な態様で個別および共同で動作して、アプリケーション、リソースおよび他のコンテンツをモバイル加入者デバイスに提供する相互運用サーバコンポーネントの集合である。ＭＡＳは、例えば、セルラー電話およびハンドセットデバイスといった無線デバイスがそのデバイス上で用いるための新しい、および更新されたアプリケーションをＭＡＳから動的にダウンロードすることを可能にする。動的ダウンロード能力は、無線アプリケーションの開発者（コンテンツプロバイダ）のために商品化までの時間対市場要求を著しく低減し、その結果、製品サポートおよびマーケティングにおける効率を高める。顧客は、無線デバイス上のオペレーティングソフトウェアを迅速かつ便利に更新し、人気のあるアプリケーション（ゲームを含む）をダウンロードすることができる。ＭＡＳを用いて、顧客は、ネットワークから無線ハンドセットデバイスを直接的に更新することができ、これにより、ソフトウェアを更新するために、顧客サービス代理業者と会話するか、または地域のサービスセンターに赴くという時間のかかる経験を回避する。ＭＡＳは、加入者料金請求を含むフレキシブルな料金請求シナリオをさらに支援し、これは、顧客が、特定のサービスに加入し、所望するリソースまたはアプリケーションのみを受信することを可能にする。
【００１７】
ＭＡＳの能力は、通常、任意のタイプの顧客の無線デバイスに適用可能であり、当業者は、このような加入者デバイス、クライアントのデバイス、電話、ハンドヘルド等の用語がＭＡＳと共に動作することができる任意のタイプの加入者デバイスを示すために交換可能に用いられることを理解する。さらに、本明細書中に記載される例示の実施形態は、１つ以上のネットワークを介して無線アプリケーションを保守および配信することをインプリメントするために、アプリケーション、ツール、データ構造および他の支援を提供する。当業者は、本発明の方法およびシステムの他の実施形態が、インターネット等の無線でないネットワークを介してソフトウェアおよび他のコンテンツを、パーソナルコンピュータ、ドッキング式（ｄｏｃｋｅｄ）無線ハンドセット、インターネットとの接続能力を有する電話、あるいは、例えば、空港またはショッピングセンター内の顧客キオスクといった無線でない加入者デバイスに保守および配信することを含む、他の多くの目的で用いられ得ることを理解する。さらに、この記載は、主に、アプリケーションおよびリソースの形態のコンテンツに関するが、当業者は、このコンテンツがテキスト、グラフィック、オーディオおよびビデオを含み得ることを理解する。さらに、以下の記載において、本発明の方法およびシステムの技術の詳細な理解を提供するために、データフォーマット、ユーザインターフェース画面ディスプレイ、コードフロー、メニューオプション等の多くの特定の詳細が示される。しかしながら、当業者は、本発明が、さらに、本明細書中の特定の詳細のいくつかを用いることなく、またはコードフローの整理の変更といった他の特定の詳細、あるいはユーザインターフェース画面ディスプレイ上に示される特定の特徴を用いて実行され得ることを理解する。
【００１８】
図１は、無線サービスの加入者がソフトウェアアプリケーションをリクエストおよび、モバイルアプリケーションシステムからこれをダウンロードする態様を図示する例示的ブロック図である。ＭＡＳが動作する無線環境は、加入者デバイス１０１および１０１ｂ、トランシーバ１０３を有する無線ネットワーク１０２、無線事業者サービス１０４、ＭＡＳ１０５および種々のコンテンツプロバイダ１０６を含む。コンテンツプロバイダ１０６は、電気通信事業者サービス１０４を介して、またはこの許可によってＭＡＳ１０５にアプリケーションを提供する。その後、アプリケーションは、リクエストに応じて、ＭＡＳ１０５によって加入者デバイス１０１に検証、発行および供給される。このタイプの供給は、本明細書中にて「ウォールドガーデン」供給と呼ばれる。なぜなら、この態様で供給および発行されるアプリケーションは、電気通信事業者および／またはＭＡＳインフラストラクチャに公知だからである。コンテンツプロバイダ１０６は、さらに、加入者デバイスによって閲覧され得る、ＭＡＳ１０５によって動的に供給され得るアプリケーションもまたホストとして処理し得る。このタイプの供給は、「オープン」供給と呼ばれる。なぜなら、これは、ＭＡＳまたは電気通信事業者のインフラストラクチャの範囲内で「公知」のアプリケーションに限定されないからである。これらは、異なったタイプの供給は複数の同様の機能を共有するので、議論に都合の良いように区別されるにすぎない。ＭＡＳ１０５は、さらに、電気通信事業者、コンテンツプロバイダ、顧客応対代理業者、および加入者の複数のツールを、アプリケーションのカスタマイズ、サービスおよび特定の加入者、または加入者のグループに可能な利用料金請求シナリオのために提供する。
【００１９】
図１において、加入者デバイス１０１は、現在、存在するか否かを問わず、無線ハンドセット、電話、電子オーガナイザ、パーソナルデジタルアシスタント、ポータブル電子メール機器、ゲーム機器、ページ、ナビゲーションデバイス等といった無線ネットワーク１０２を介して通信できる電子デバイスを含む。１つ以上の加入者デバイス１０１（クライアントデバイスとも呼ばれる）は、無線ネットワーク１０２を横断して、サービスを利用するために加入者が準備した無線事業者サービス１０４と通信する。無線ネットワーク１０２は、トランシーバ１０３を有する。これは、サービスを加入者デバイス１０１にリレーする（および加入者のリクエストを扱う）ために用いられる。当業者は、無線サービスの加入者が、代替的ネットワーク（例えば、インターネット）を用いて、およびパーソナルコンピュータ１０１ｂといった、アプリケーションをダウンロードするために、より容易に使用できるインターフェースを提供し得る、より大きいフォームファクタを有するデバイスを用いることによって、無線ネットワークを横断してアプリケーションをリクエストおよびダウンロードする工程に含まれる、任意またはすべての工程を補完し得る。トランシーバ１０３は、通常、無線通信をケーブルベースの通信に変換し、かつケーブルベースの通信を無線通信に変換するが、当業者は、種々の媒体およびプロトコルが用いられ得ることを理解する。トランシーバ１０３は、通常、電気通信業者専用通信プロトコルを用いてケーブルベースの媒体を横断して通信事業者のサービス１０４と通信する。通信事業者専用通信は、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）およびＷｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＷＡＰ）といったポイントツーポイント通信のために適切な任意のプロトコルを用い得る。事業者サービス１０４は、会計、ＰＯＴＳ（「ｐｌａｉｎ  ｏｌｄ  ｔｅｌｅｐｈｏｎｅ  ｓｅｒｖｉｃｅ」）および他の電話サービス（電話転送、発信者電話番号表示、ボイスメール等）を含む電話局の典型的なサービスならびにダウンロード可能なアプリケーションを提供する。モバイルアプリケーションシステム１０５は、例えば、広帯域通信チャネル１０８、またはインターネット１０７といった一般にアクセス可能なネットワークを横断するなどして事業者サービス１０４と通信して、供給されるアプリケーションを加入者デバイス１０１に提供する。当業者は、モバイルアプリケーションシステム１０５が、電気通信事業者サービス１０４と全体または部分的に統合され得ることを理解する。ウォールドガーデン供給を用いて、通常、コンテンツプロバイダ１０６によって生成されるダウンロード可能なアプリケーションは、モバイルアプリケーションシステム１０５、または事業者サービス１０４に直接的に、またはインターネット１０７等のネットワークを介して供給される（ｓｕｐｐｌｙ）。これらのダウンロード可能なアプリケーションは、その後、モバイルアプリケーションシステム１０５によって適切に検証およびカスタマイズされて、加入者デバイス１０１に供給される。オープン供給を支援する１実施形態において、通信事業者の加入者は、ロ���ーション（ネットワークアドレス、またはＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等）を指定することによってウェブサイトからアプリケーションをダウンロードし得る。ＭＡＳは、加入者からのダウンロードリクエストを中断して、顧客にアプリケーションを位置指定し、検証および供給する。
【００２０】
加入者デバイス１０１は、クライアント側のアプリケーション管理ユーティリティ（例えば、Ｈａｎｄｓｅｔ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｃｏｎｓｏｌｅまたはブラウザ）に依存して、アプリケーションをリクエストおよびダウンロードする。図２は、モバイルアプリケーションシステムと共に動作するＨａｎｄｓｅｔ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｃｏｎｓｏｌｅの例示的ブロック図である。Ｈａｎｄｓｅｔ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｃｏｎｓｏｌｅは、加入者の無線デバイス上へのアプリケーションの通知、インストール、アンインストールを扱う。加入者デバイス２０１は、加入者に、デバイスのために利用可能な機能メニューを提供する。加入者は、例えば、すでにデバイスにインストールされたアプリケーションを管理し、ダウンロードされ得る新しいアプリケーションを示すメニュールーチンから選択し得る。例えば、ルーチンは、加入者がインストールされるアプリケーションのバージョン情報を取得して、それらが利用可能になると、そのアプリケーションの更新をダウンロードして、ダウンロードされるべき新しいアプリケーションについて閲覧することを可能にし得る。メニュー２０２は、場合によっては加入者デバイス２０１にダウンロードされ得る新しいアプリケーション２０３のリストを示す例示的メニューである。例示的画面ディスプレイ２０４は、加入者がダウンロードするためのアプリケーションを選択した後に示される例示的ユーザインターフェースを示す。画面ディスプレイ２０４は、ダウンロードオペレーションを示すアイコン２０５、ダウンロードされるアプリケーションの名称２０６、およびダウンロードの進行中のプロセスを表示するステータスバー２０７を示す。画面２０４は、さらに、停止ボタン２０８を示す。これは、ダウンロードプロセスがキャンセルされることを可能にする。
【００２１】
図３は、無線加入者デバイスにアプリケーションを供給するために、例示的モバイルアプリケーションシステムによって実行される一般的工程の例示の概観的フローチャートである。これらの工程は、供給シナリオ（ウォールドガーデンを用いる）またはオープン供給のいずれかに適用可能である。これらの同じ工程が、さらに、図１におけるインターネット１０７を通じて接続されるもののように、有線デバイスに対してアプリケーションを供給するために用いられ得る。工程３０１〜４０８は、ＭＡＳが、アプリケーションをダウンロードするという加入者デバイスから入来するリクエストを扱い、リクエストされたアプリケーションを供給し、リクエストされたアプリケーションを加入者デバイスに送る態様を説明する。供給は、コードを取り出し、検査し、最適化し、備える工程、およびパッケージ化する工程のうちの１つ以上を含み、必要に応じて、目的のデバイスにダウンロードするためにアプリケーションの準備を整えるさらなる工程を含み得る。例えば、さらなる安全および料金請求方法がシステムに追加されると、供給は、情報を暗号化およびレポートする工程を含み得る。異なっている場合は、工程３０１〜４０８が、アプリケーションがＭＡＳから直接的にリクエストされ、逆に、ネットワーク上のロケーションを閲覧することによって間接的にリクエストされることを想定する。（オープン供給の場合、ＭＡＳは、リクエストを初めて受信するにもかかわらず、中断して、アプリケーションを供給およびダウンロードする）。
【００２２】
具体的には、ステップ３０１において、アプリケーションは、一般的に電気通信事業者から、または直接的にコンテンツプロバイダからダウンロード可能であるようにされる。アプリケーションは、多種の加入者のデバイスで実行可能な、Ｊａｖａ（登録商標）のようなコンピュータ言語を使用して書き込まれ得る。アプリケーションは、電気通信事業者の（ＭＡＳ内または電気通信事業者の施設に配置され得る）アプリケーションデータリポジトリ内に局在的に格納され、または、信頼される第三者サーバに随意的に格納され得る。（オープン供給ステップの場合において、第三者サーバは必ずしも信頼されない。）ＭＡＳにアプリケーションを送信する手続きは、さらに図９Ａ〜９Ｃにおいて参照される。ステップ３０２において、加入者は、アプリケーションをダウンロードするため、利用可能なアプリケーションのリストを検索するため、いくつかの管理クエリまたは他の命令を実行するためにリクエストを送信する。プロトコル変換は、多種多様の無線電気通信事業者にわたって加入者のデバイスと通信可能にするために、入来リクエスト（および出て行くメッセージ）において実行される。例えば、ダウンロードされたアプリケーションは、加入者デバイス用で走行する新しく人気のあるアプリケーションであり得、または、ソフトウェアのアップグレードまたはより最新のバージョンであり得る。例えば、リクエストは、これを指示するＨＴＴＰメッセージを使用するＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ（ＵＲＬ）を使用してなされる。ＭＡＳは、拡張コマンド処理エンジンをサポートし、ＨＴＴＰリクエストを介するか、またはアプリケーションプログラミングインターフェース（ＡＰＩ）を介するかのどちらかで、種々のハンドラ、モジュールおよびＭＡＳのコンポーネントの他の構造の直接呼出しをサポートする。アプリケーション供給リクエストの場合、特定のファイルをダウンロードするこのリクエストは、ダウンロードするためにファイル（アプリケーションまたはサービス）を識別するＵＲＬを指定することによって、なされる。管理クエリの場合において、例えば、リクエストは管理サーブレットまたはリクエストを処理するＭＡＳ内の他のコードに対して作られる。ステップ３０３において、ＭＡＳは、リクエストがダウンロードのためであるか任意の他の命令であるかを判定し、ダウンロードリクエストである場合ステップ３０５に進み、そうでなければステップ３０４において命令を処理する。ステップ３０５において、ＭＡＳは、指定されたＵＲＬが発行されたアプリケーションを特定するかどうかを決定し（それによって、ウォールドガーデン（ｗａｌｌｅｄ‐ｇａｒｄｅｎ）供給が実行されるべきであることを示す）、特定した場合、ステップ３０６に進み、そうでなければステップ３０８に進む。ステップ３０６において、加入者のリクエストは、認証、デバイス能力および、適切な場合、プリペイド請求（ｐｒｅ−ｐａｉｄ）認証について検証される。認証レベルは、一般的にクライアントが申し込んだサービスのレベルに依存する。例えば、一実施形態において、ＭＡＳは、プリペイド請求をサポートする。プリペイド請求は、アプリケーションの使用のために��入者が予め支払いをすることを可能にする。この場合において、ＭＡＳは、アプリケーションがダウンロードされる前にプリペイド請求アカウントがリクエストを満たし得ることを検証する。他のファクタは、促進的な申し出が提示されているかどうか、加入者がサービスにアクセスした回数、特別な申し出が存在するかどうか、サービスがアクセスされた日または週、ダウンロードされたバイト数、および他のこのようなファクタなどがあてはまり得る。デバイス能力はまた、リクエストされたアプリケーションが加入者デバイス上で満足に実行され得るかどうかを決定するために調べられる。例えば、これは、リクエストデバイスと既知のデバイスプロファイルおよびリクエストされたアプリケーションに対するアプリケーションプロファイルとを比較する事によって実行され得る。ステップ３０７において、ＭＡＳは、加入者のリクエストがうまく検証されたかどうかを判定し、検証された場合、ステップ３０８に進み、そうでない場合は、リクエストを断り他のリクエストを待つためにステップ３０２に戻る。
【００２３】
ステップ３０８において、ＭＡＳは、予め供給されたアプリケーションが加入者のリクエストに対応して既に存在するかどうか、および、加入者デバイスに適切かどうかを決定する。予め供給されたアプリケーションというのは、認証のレベルおよび加入者のデバイスの能力によって予めカスタマイズされたアプリケーションである。予め供給されたアプリケーションは、利用可能な際、システム待ち時間を最小限にし、対応するアプリケーションリクエストに対するシステム応答時間を向上させる。アプリケーションは、加入者の一般的な申し込みのレベルおよび一般的な加入者デバイス（例えば、予測された使用によって決定されるような）に従って予め供給され得、予め供給されたアプリケーションに対応するアプリケーションに対する加入者デバイスリクエストに応答するために、後のアクセスのために格納され得る。アプリケーションが予め供給されなかった場合、ＭＡＳは、動的にアプリケーションを供給し、したがって、ＭＡＳは、リクエストを処理するために必要な時間を増大させるが、配置のためのカスタマイズされかつ認証されたアプリケーションを生成する。
【００２４】
ステップ３０８において、適切な予め供給されたアプリケーションが加入者デバイスで見つかった場合、供給シナリオはステップ３１０に進み、そうでない場合、ステップ３０９に進む。ステップ３０９において、アプリケーションは、特定の加入者デバイスのために、およびアクセス認証に従って供給される。ステップ３１０において、ＭＡＳは、ダウンロードをするために、供給されたアプリケーションを加入者デバイスに送信する。
【００２５】
述べられたように、ＭＡＳによってサポートされたリクエストの一つは、加入者のデバイスにダウンロードされ得る利用可能なアプリケーションのリストを検索することである。この処理は、アプリケーションディスカバリとして参照される。図４は、無線加入者デバイスのためのアプリケーションディスカバリを実行するためのＭｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍの例によって、実行されるステップの概要フロー図の例である。一実施形態の例において、アプリケーションディスカバリの二つのタイプがサポートされる。第一は、システムによって動作され、システム派生リストによって発生する。第二は、リクエスト者によって駆動され、「適切な」アプリケーションのリストを発生するためにＭＡＳによって合致される検索項目を指定する。ステップ４０１において、ＭＡＳは、ユーザが任意の検索項目を供給（ｓｕｐｐｌｉｅｄ）したかどうかを決定し、供給した場合、ステップ４０２に進み、そうでない場合、ステップ４０３に進む。ステップ４０２において、ＭＡＳは、リクエスト内で指定された判定基準を満たす発行されたアプリケーションのデータリポジトリを検索し、ステップ４０４に進む。代わりに、ステップ４０３においてＭＡＳは、初期リストを決定する。一実施形態において、利用可能である場合、このリストは加入者のパーソナルリストから形成され、そうでない場合、デフォルトリストを供給する。ステップ４０４において、ＭＡＳは、加入者およびデバイス能力に基づくこのデフォルトリストをフィルタに掛ける。例えば、ＭＡＳは、加入者がアプリケーションを使用するために認証されるかどうか、および、アプリケーションプロファイルに反映されるようなアプリケーションのニーズが、デバイスプロファイルに反映されるようなデバイスによって満足されるかどうかを決定するために、種々のプロファイル、例えば、加入者プロファイル、デバイスプロファイル、およびアプリケーションプロファイルを分析し得る。ステップ４０５において、ＭＡＳは、（「スタートデッキ」と呼ばれる）リストに任意のシステム定義アプリケーションを加える。このようなアプリケーションは、電気通信事業者のカスタマイズ規則に従って、指定され得る。例えば、より多くの利益を発生するアプリケーションは、リストのトップにそれらを載せることにより「プレミアム」表示時間が与えられ得る。ステップ４０６において、ＭＡＳは、リクエストデバイス（例えば、サポートされたマークアップ言語）の描画能力に従って、リストをフォーマットし、終了処理をする。
【００２６】
図５は、Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍの実施形態の例におけるコンポーネントの概要ブロック図である。この実施形態において、Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ５００は、プロトコルマネージャ５０３、プロビジョニングマネージャ５０４、キャッシュ５０５、展開マネージャ５０６、請求マネージャ５０７、ロギングマネージャ５０８、アドミニストレータ５０９、および、ハートビートモニタ３１０を含む。これらのコンポーネントは、図１に示されたように、コンテンツプロバイダおよび電気通信事業者サービスからアプリケーションを受信するため、加入者デバイスへの配信のためにそれらを供給するため、そしてＭＡＳコマンドを処理するために、インターオペレート（ｉｎｔｅｒ‐ｏｐｅｒａｔｅ）する。当業者は、コンポーネントまたはＭＡＳの異なったコンポーネントの機能の多くの異なった構成および分割が可能であることを理解する。例えば、プロトコルマネージャ５０４および請求マネージャ５０７に割り当てられた機能は、一つのコンポーネントで結合され得る。他の構成もまた、可能であり、意図される。
【００２７】
ＭＡＳの種々のコンポーネントは、電気通信事業者によって提供されたサービスを管理する電気通信事業（またはシステム）アドミニストレータまたは消費者ケア代理人、アプリケーションまたはサービスを開発し電気通信事業者に分配するコンテンツプロバイダ、および、サービス、アプリケーションおよび他のコンテンツを消費する加入者に多数の機能を提供する。アドミニストレータ５０９は、ＭＡＳ、アプリケーション、請求および他のサービスを構成するため、および加入者のＭＡＳとの経験をカスタマイズするために、これらのタイプのユーザのそれぞれに種々のユーザインターフェースを提供する。これらのインターフェースの例は、以下に図８〜１１を参照して示され説明される。図３を参照して示されたように、供給することの局面を図示するために、ＭＡＳの機能性は、加入者がアプリケーションを加入者のデバイスにダウンロードするためにＭＡＳを呼び出す際、ＭＡＳコンポーネント内で起こる処理ステップの観点から説明される。当業者は、コンポーネントの他のデータフローおよび使用法が適切であり、かつ処理されたコマンドおよび／またはコンポーネント、またはそれらの内部のコードが呼び出される方法に依存することを理解する。
【００２８】
より具体的には、図５に示された実施形態の例において、Ｊ２ＭＥまたはＷＡＰハンドセットのような加入者デバイスからの通信は、入来リクエスト５０１および出て行くデータ５０２のようなＭｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ５００のそれぞれに与えられおよびそれぞれから受信される。一般的に、ＭＡＳは、アプリケーションのディスカバリおよびリクエストされたアプリケーションのダウンロードといった二つの異なったタイプの入力リクエストを処理するために（ウェブサイトベースのインターフェースに対向する）コマンドインターフェースを介して加入者によって呼び出される。ＭＡＳはまた、他のコマンドを処理するために呼び出され得る。また、例えば、ＭＡＳのコンポーネントは使用情報を得るための管理リクエストを処理するなどのために直接的に呼び出され得る。入力リクエスト５０１がアプリケーションディスカバリに対するリクエストである場合、ＭＡＳは、加入者、アプリケーションプロファイルおよびデバイスプロファイルに基づき、利用可能でかつ適切であるアプリケーションのリストを編集および返す。一般的に、アプリケーションディスカバリを成し遂げるためにＭＡＳによって実行されるステップは、図４を参照して記述される。または、入力リクエスト５０１が指定されたアプリケーションをダウンロードするためのリクエストである場合、ＭＡＳはアプリケーションを取り出し、それが適切であることおよび、デバイスおよびユーザがダウンロードするのを可能にすることを検証し、そのリクエストされたアプリケーションを準備かつパッケージ化し、そしてパッケージアプリケーションをリクエストしている加入者デバイスに送信する。一般的に、アプリケーションを供給するステップを成し遂げるためにＭＡＳによって実行されるステップは、図３に参照し記述されている。
【００２９】
プロトコルマネージャ５０３は、加入者デバイスおよびプロビジョニングマネージャ５０４との間のメッセージのプロトコル変換を実行する。プロトコル変換は、ネットワーク（例えば、図１における無線ネットワーク１０２）において使用される通信プロトコルに依存せず、ＭＡＳ５００が任意の加入者デバイス（有線または無線）と通信し得、および種々のプロトコル内に組み込まれ得る、入来リクエストが処理されることを可能にする。プロトコルマネージャ５０３の例は、ＷＡＰおよびＨＴＴＰプロトコルに対する内蔵のサポートを有し、付加的なフォーマットおよびプロトコルに対するサポートを提供するために周知の技術を使用して拡張され得る。ＷＡＰゲートウェイ（図示せず）などの一つ以上の分離したしたゲートウェイは、プロトコルマネージャ５０３、入来リクエスト５０１および出て行くデータ５０２の間に常駐し得る。これらのゲートウェイは、特定のプロトコルに対してターゲットにされるメッセージを処理するために使用され得る。プロトコルマネージャ５０３は、端と端を接続したセキュリティサポートに対する認証管理だけでなく、暗号化および復号化データを処理するためのプラグインセキュリティ層もまた含む。当業者は、プロトコルマネージャ５０３が所望される安全な通信に対するサポートの他のタイプを含むように拡張され得ることを理解する。
【００３０】
入来リクエストが適切に変換された後、プロビジョニングマネージャ５０４は、このリクエストを処理し、必要とされる他のコンポーネントの支援を連動させる。例えば、リクエストが管理クエリである場合、次いでプロビジョニングマネージャ５０４は、リクエストをＭＡＳ内の管理サーブレットに転送し得る。代わりに、このリクエストが加入者のデバイスにダウンロードされ得るアプリケーションのリストのためのものである場合、次いで、プロビジョニングマネージャ５０４は、加入者のデバイスおよび加入者に対応する正しいデバイスおよび加入者プロファイルを電気通信事業者から利用可能なそれぞれのアプリケーションの能力および要求条件とを比較することによってこのようなリストを発生するデータレポジトリ５１１およびプロファイルマネジメントコードに問い合わせ（ｉｎｔｅｒｒｏｇａｔｅ）得る。一方、リクエストが指定されたアプリケーションをダウンロードする加入者からである場合、次いで、プロビジョニングマネージャ５０４および展開マネージャ５０６は、リクエストされたアプリケーションを加入者に対する配信のために取得し準備するために相互にやりとりを行う。一実施形態において、プロビジョニングマネージャ５０４は、加入者リクエストによって参照されるユーザ、デバイス、請求およびアプリケーション情報を検証し、展開マネージャ５０６は、アプリケーションを取り出し供給する。展開マネージャ５０６によって実行されるアプリケーション供給処理は、一つ以上の次の処理ステップを含む。取り出すステップ、検査するステップ、最適化するステップ、コードを備えるステップ（ｉｎｓｔｒｕｍｅｎｔｉｎｇ）およびパッケージングするステップ。これらは図７を参照するとともに以下で説明される。
【００３１】
プロビジョニングマネージャ５０４は、プロトコルマネージャ５０３からの加入者リクエストを受け取り、ダウンロードリクエストまたは加入者リクエスト内に含まれる他のコマンドを処理する。ダウンロードリクエストはそれぞれのダウンロードリクエストおよびＭＡＳによってアクセス可能な他の情報とともに送信された情報に基づいて処理される（例えば、プロファイルがデータリポジトリ５１１内に格納する）。アプリケーションをダウンロードするためにリクエストを処理する際、プロビジョニングマネージャ５０４は、事前に作成されまた利用可能なプロファイルを調べ、このプロファイルは、加入者、加入者デバイス、およびリクエストされるアプリケーション（複数）および、特定の加入者デバイスを使用し、および加入者の請求方法に従って、加入者に対してリクエストされるアプリケーションの適合性を決定するための請求に関する情報のためのものである。プロファイルを検査した後、例えば、プロビジョニングマネージャ５０４は、リクエストされたアプリケーションが加入者デバイス上でうまく走行され得るかどうかを評価することを試みることによってリクエストを承認または否定のどちらかを行う。例えば、この評価は、アプリケーションの要求が特定の加入者デバイスの能力によって満足させられ得るかどうかを決定することによって実行される。プロビジョニングマネージャ５０４はまた、リクエストされたアプリケーションのためにセットアップされた請求方法および加入者が、ダウンロード処理のために互換性かつ十分であるかどうかを決定する。例えば、リクエストが、加入者がプリペイド請求プログラムの一部であることを示す場合、次いで、プロビジョニングマネージャ５０４は、加入者のプリペイド請求計算ファンドがアプリケーションダウンロードを可能にするために十分であることを検証する。
【００３２】
一旦、承認されれば、プロビジョニングマネージャ５０４はキャッシュ５０５または展開マネージャ５０６のどちらかからリクエストされたアプリケーションを取得し得る。一般的に、キャッシュ５０５は、予め供給されたフォーマットでたびたびダウンロードされるアプリケーションを格納するために使用されるが、展開マネージャ５０６は、リクエストされたように動的にアプリケーションを供給するために使用される。例えば、インターネットサイトを介して利用可能なアプリケーションは、電気通信事業者によって制御されるアプリケーションは、一般的に予め供給され、キャッシュ５０５に格納されるが、一般的にダウンロードをリクエストされた際のみで供給される。
【００３３】
キャッシュ５０５は、加入者のデバイスに対してリクエストされたアプリケーションのより速い伝送を提供するために使用される。キャッシュ５０５は、特定の加入者デバイスのためまたは認証されたアクセスに従うような特定のプロファイルに対してより早く処理される供給されるアプリケーションをキャッシュするために使用される。既に検査され、最適化され、インストルメントされたキャッシュ５０５に格納されるアプリケーションは、配置の準備のためのようにタグ付けされる。当業者は、システム性能がＭＡＳなどの他のコンポーネント間で同様のキャッシング機能をインプリメントすることによって向上され得ることを理解する。例えば、展開マネージャとインターネットとの間に存在するインターネットアプリケーションを保持するためのキャッシュは、インターネットアプリケーションでの通信のために必要なアクセス時間を短縮し得る。また、例えば、編集されないＪＡＲファイルを保持するためのキャッシュは、インストルメンテーション処理をスピードアップする。他の構成もまた可能である。特定の加入者および特定のデバイスのための承認かつリクエストされるアプリケーションがキャッシュ５０５内に見つからなかった場合、展開マネージャ５０６を介して取り出され得る。展開マネージャ５０６は、加入者デバイスへの伝送のためのアプリケーションを準備する。展開マネージャ５０６は、準備するステップ、維持するステップ、およびアプリケーションを供給するステップの多くの様相を管理する。例えば、悪意のあるアプリケーションの検出、制限されたＡＰＩ使用法、試験配信（回数のセットまたは時間の期間のセットのみに対して可能である使用）に対するサポートおよび他の請求方法、リクエストする加入者デバイスに対するアプリケーションサイズの最適化、および他の様相。展開マネージャ５０６は、アプリケーションのインスタンスがリクエストされる際、アプリケーションを取得し、その意図された（リクエストされた）使用に対するそれぞれのアプリケーションのインスタンスを供給する。それはまた、予めそれらのプロファイルに対するアプリケーションを準備することおよびキャッシュ５０５、または他のデータリポジトリにクイック（ｑｕｉｃｋ）アクセスの結果を格納することによって特定のデバイスおよび／または加入者プロファイルに対するアプリケーションを予め配置（「予め供給」）し得る。図７を参照して以下で説明するように、展開マネージャ５０６は、電気通信事業者のアプリケーションデータリポジトリから、または、リモートアプリケーションホスト（信頼されたまたは別）から、または任意の他のアプリケーションソースからアプリケーションを配置し得る。展開マネージャ５０６が適切に要求されたアプリケーションを供給した後、展開マネージャ５０６は、要求されたアプリケーションを外部の応答に対する任意の後処理のためにプロビジョニングマネージャ５０４に送り戻す。
【００３４】
供給されたアプリケーションが、ユーザに伝送される場合、このトランザクションについての詳細は、一般的に、ロギングマネージャ５０８に記録される。ロギングマネージャ５０８は、種々の請求方法を可能にするために料金請求マネージャ５０７にアクセス可能である。この記録されたデータは、入来リクエスト５０１および加入者ＩＤ、ダウンロードのサイズ、ダウンロードの時間および日付、ダウンロードされる特定のアプリケーションなどの配置されるアプリケーションに関連する情報を含む。ダウンロードについて記録された情報の広い範囲が原因で、電気通信事業者は、サービスおよび加入者の異なったカテゴリに従ったアプリケーションの供給に対する請求の方法に多大な柔軟性を有する。例えば、電気通信事業者は、使用される通信時間の量、ダウンロードの時間、ダウンロードされたデータの量、クライアントのデモグラフィックス（ｄｅｍｏｇｒａｐｈｉｃ）によって、または、ダウンロードされた特定のアプリケーションに基づいて請求し得る。
【００３５】
請求マネージャ５０７は、請求方法の実施を支援する責任がある。一実施形態の例において、いくつかの初期の請求オプション（ｂｉｌｌｉｎｇ  ｏｐｔｉｏｎ）が提供される。（１）アプリケーションをダウンロードすることに基づくダウンロード料金、（２）ネットワークパケットの伝送に基づくパケットベースの請求料金、（３）日毎、週毎、または月毎のなどの定期的な費用に基づく予約料、（４）お試し使用の任意の測定に基づくお試し使用料金、例えば、アプリケーションが実行され得る回数。（５）プリペイド請求。これらの請求オプションは、電気通信事業者のレベルおよびアプリケーションのレベルの両方で、カスタマイズ可能であり、そして、一つ以上が特定のアプリケーションに対して与えられる際、所望される請求オプションは加入者によって選択され得る。Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ５００の例において、アプリケーションプログラミングインターフェース（ＡＰＩ）は、電気通信事業者の既存の請求サブシステムとの一体化が容易に提供される。電気通信事業者がプリペイド料金をサポートする場合、加入者は、電気通信事業者によって保守されるアカウントを確立し得る。一実施形態において、加入者は、後でアプリケーションがダウンロードされるように予め支払う。加入者がプリペイドアプリケーションをダウンロードする際、請求マネージャ５０７は、電気通信事業者のプリペイド請求システムに請求記録を転送し、よって加入者のアカウントが課金され、更新され得る。代わりの実施形態において、プリペイド加入者アカウントは、請求マネージャ５０７によって格納され、保持される。請求方法の他のタイプに対するサポートと同様に他の構成もまた可能である。請求マネージャ５０７が情報に関する請求を発生した後、アプリケーションは、プロトコルマネージャ５０３に転送される。ここで、プロトコルマネージャ５０３は、出て行くデータ５０２として消費者に要求かつ送信される場合、異なるプロトコルに対してリフォーマットされる。
【００３６】
以下で図８〜１１を参照して説明されるアドミニストレータ５０９は、ＭＡＳ５００の種々の局面をカスタマイズするために、ＭＡＳの例の他のコンポーネントと相互にやりとりを行う。例えば、アドミニストレータ５０９は、電気通信事業者がカスタマイズ可能な供給に関するポリシー（ｐｏｌｉｃｙ）をインプリメントすることを可能にし、Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  それ自体の再プログラミング可能コンポーネントを介してＭＡＳとそれら自体のインフラストラクチャとを一体化し、それによって、加入者、電気通信事業者、システムアドミニストレータ、およびコンテンツプロバイダがプロファイルマネージメント、発生リクエスト、請求方法管理、およびサーバ管理の柔軟性を高めることを可能にする。
【００３７】
ハートビートモニタ５１０は、関連するシステムイベント起こる際、例えば、動作不能になるコンポーネントのようにシステム内の問題を検出する際、他のＭＡＳ５００コンポーネントでのレポートを観察し、提供し、そして妥当な通知を提供する。例えば、ハートビートモニタ５１０は、プロトコルマネージャ５０３が、所定の時間制限内で入来リクエストに応答するかどうかを判定するためにプロトコルマネージャ５０３を観察し得る。ハートビートモニタは、プロトコルマネージャ５０３が正確に応答しないと決定する場合、それは、そのイベントにフラグを立て得、システムアドミニストレータに通知し得る。一実施形態において、複数のハートビートモニタ５１０は供給され、第二のモニタが、第一のモニタが正確に機能しているかどうかをモニタし得、必要な場合、交換する事ができる。ハートビートモニタ５１０は、（ステータスリクエストとともに、デバイスをポーリングすることによる）能動的モニタリングおよび（特定なタイプの通信が適切な時間に起こることを識別することによる）受動的リスニングの両方をし得る。ハートビートモニタ５１０はまた、他の外部コードがＭＡＳを観察することを可能にさせるために、例えば、Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ（ＳＮＭＰ）業界標準プロコトルに対するインターフェースを供給する。
【００３８】
図５を参照して説明したように、ＭＡＳのプロビジョニングマネージャは、入来ダウンロードリクエストおよび他のコマンドを処理し、ダウンロードのためのアプリケーションの動的な供給の動作を駆動する。図６は、Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍのプロビジョニングマネージャの例のコンポーネントのブロック図の例である。一実施形態において、プロビジョニングマネージャ６００は、ＭＡＳコマンドおよび制御プロセッサ６２０（「ＭＣＣＰ」）、ベリファイア（ｖｅｒｉｆｉｅｄ）６０１、ＸＳＬＴプロセッサ６３０、リクエストプロセッサおよびポストプロセッサ６４０、およびＭＡＳデータクエリエンジン６５０を含む。ＭＣＣＰは、リクエストをデコード（ｄｅｃｏｄｅｄ）し、例えば、発行されたアプリケーションをダウンロードするために、または、アプリケーションディスカバリを実行するためにこれを正しいＭＡＳサブコンポーネントにリクエストを指示する責任を負う。加入者ベリファイア６０２、デバイスベリファイア６０３、プリペイド請求ベリファイア６０４、およびアプリケーションベリファイア６０５を含むベリファイア６０１は、加入者およびデバイスのためのアプリケーションを適切に決定するために検証を実行する。（例えば、業界標準Ｅｘｔｅｎｄｅｄ  Ｓｔｙｌｅｓｈｅｅｔ  Ｐｒｏｃｅｓｓｏｒとしてインプリメントされ得る）ＸＳＬＴプロセッサは、リクエストデバイスの翻訳能力に従って、データをフォーマットするために使用される。一実施形態に従って、ＸＳＬＴプロセッサは、ＸＭＬに対するスタイルシートをサポートするが、ＨＴＭＬ、Ｊａｖａ（Ｒ）、ＷＭＬ、ＸＨＴＭＬ  Ｂａｓｉｃ、およびテキストまたは、任意の他のマークアップまたはレンダリング言語に対する追加的なスタイルシートを提供するために容易に拡張され得る。リクエストプロセッサおよびポストプロセッサ６４０は、他のコンポーネント間で通信するためにリクエスト「パケット」内のパラメータを操作し、コンピュータのレベル内で「フックされ」得る任意の処理のタイプを実行するために拡張され得る。ＭＡＳ  Ｄａｔａ  Ｑｕｅｒｙ  Ｅｎｇｉｎｅ  ６５０は、種々のデータリポジトリとの通信を管理する。ＭＡＳ  Ｄａｔａ  Ｑｕｅｒｙ  Ｅｎｇｉｎｅ  ６５０は、供給するステップ６５１、プロファイル６５２およびコンフィグレーションデータ６５３に対するリーダを含む。見易くするためにこれらのコンポーネントに繋がる矢印は示されてないが、当業者は、コンポーネントが多くの方法で相互に結合され、インターオペレートすることを理解する。
【００３９】
第一に、プロビジョニングマネージャ６００は、プロトコルマネージャ（例えば、図５のプロトコルマネージャ５０４）からなどの入来リクエストを受け取る。プロビジョニングマネージャ６００は、入来リクエストを分析かつこれを動的に変更して、向上、変化、または、供給の制限、請求、後で行われるステップのロギングを可能にするためにリクエストを随意的に処理する。このような動的な変形は、電気通信事業者がそれら自体のインフラストラクチャを動的にシステムにフックするのを可能にする。例えば、プロビジョニングマネージャ６００は、入来ダウンロードリクエストと共に送られてくるリクエストヘッダを見て、システムの挙動を変更するためにヘッダを変更、付け加えまたは、取り除き得る。ＭＡＳにおける他のコンポーネントは、それらの機能を実行するためにヘッダを含む情報を使用するので、ヘッダ情報を更新または変更することは、特定のリクエストの機能性を拡張または制限する手段を提供し、またはＭＡＳの挙動を変更する。
【００４０】
リクエストは、（ウェブサイトまたはＡＰＩを介して直接的に呼び出されることに対向して）ＭＡＳ命令インターフェースから受け取られる際、ＭＣＣＰによって処理される。リクエストは、アプリケーションディスカバリのためまたはコンテンツをダウンロードするためである場合、種々のベリファイア６０１は、アプリケーションの互換性を決定するために使用される。リクエストがいくつかの他のコマンドのためである場合、次いでリクエストはこれに従って処理される。
【００４１】
アプリケーションベリファイア６０４は、リクエストされたアプリケーションが配置のために電気通信事業者によって禁止されているかどうかを決定する。具体的には、アプリケーションベリファイア６０４は、電気通信事業者が、リクエストされたアプリケーションを禁止したかどうかを決定するために、ダウンロードされ得ることを所望しないアプリケーションのリストを調査する。この状況は、例えば、アプリケーションが突然に、悪意のある挙動を提供することを見つけられた場合、および電気通信事業者がその配信を突然に中止することを所望する場合に、この状況が起こり得る。
【００４２】
加入者ベリファイア６０１は、リクエストを始めた加入者の正体を決定し、加入者に権利が与えられているサービスのレベルを決定し、このことにより加入者は、加入者が特定のアプリケーションを使用するために認証されるかどうかを決定する。加入者に権利を与える特定のサービスは、取り出すステップ、プロファイルリーダ６５２を使用するステップ、加入者プロファイルと対応するステップおよび種々のファクタを調査するステップの内の一つまたは組み合わせのどちらかによって決定される。例えば、ファクタは、任意の月内で許されるダウンロードの数、ダウンロードに必要な時間、リクエストが作成される日数および週の数、特別価格および支払猶予期間の利用可能性などを含む。加入者ベリファイア６０１はまた、加入者が、全体として加入者のグループに対して許可されるおよび許可されないサービスを決定することによって、属する加入者グループを決定しかつ加入者にアクセス可能なレベルを決定する。加入者ベリファイアによって実行される決定の実施形態の例は、図１７を参照して説明される。
【００４３】
デバイスベリファイア６０２は、リクエストが作成された加入者デバイスのタイプおよび能力を決定し、加入者デバイスから、このデバイス能力が特定のアプリケーションをサポートするために十分であるかどうかを決定する。加入者デバイスの能力は、リクエスト加入者デバイスに対応するデバイスプロファイルが存在する場合、プロファイルリーダ６５２を使用してデバイスプロファイルを取り出すことによって、決定される。デバイスプロファイルは、デバイスが、加入者デバイス上で正常に実行するためにリクエストされたアプリケーションによって必要とされる特性を有するかどうかを決定するために調査される。デバイスベリファイア５０２によって実行される決定の実施形態の例は、図１８を参照し説明される。
【００４４】
プリペイド請求方法がＭＡＳによってサポートされる際、プリペイド請求ベリファイア６０３は、どこに個々の加入者に対する請求記録が格納されても、電気通信事業者のプリペイド請求インフラストラクチャに問い合わせる。ダウンロードリクエストは、電気通信事業者によって示されるように、一般的に加入者のアカウントに十分な蓄えがある場合のみ、供給するステップに進み得る。
【００４５】
プロビジョニングマネージャ６００が、加入者デバイスがリクエストされたアプリケーションを走行させるために適していることが決定した後、加入者は、アプリケーションを使用する権利を与えられ、蓄えを有し（プリペイド請求スキームの一部の場合）、次いで、プロビジョニングマネージャ６００は、対応する供給されるアプリケーションを得るために展開マネージャの供給インターフェースを呼び出す。図７を参照して示したように、展開マネージャは、リクエストされたアプリケーションを検索し供給し、プロビジョニングマネージャ６００にそれを返す。
【００４６】
加入者デバイスにダウンロードするために適切な供給されたアプリケーションが展開マネージャから得られた後、プロビジョニングマネージャ６００は、随意的にリクエストを後処理する。前処理と同様に、後処理は検証されたリクエストに対して付加的な変形を実行することができその結果、変形がＭＡＳの機能性を拡張するために使用され得る。例えば、インストラクションは後にプロトコルマネージャ（例えば、図５のプロトコルマネージャ５０３）にカスタムプロトコルのリクエストをパッケージするように指示するリクエストと関連させられ得る。
【００４７】
述べられたように、展開マネージャ（例えば、図５の展開マネージャ５０６）は、プロビジョニングマネージャから加入者リクエストを受け取るかまたは、直接リクエスト（例えば、システムアドミニストレータから）を受け取ってこのリクエストに対応する供給されるアプリケーションを得る。このリクエストは、リクエストされたアプリケーションのＵＲＬを含む。ＵＲＬは、アプリケーションに対するソースロケーション（ｓｏｕｒｃｅ  ｌｏｃａｔｉｏｎ）を示す。一実施形態において、ＵＲＬはミラーサイトのリストを参照して、ＭＡＳから決定された最適な位置からこのアプリケーションを取り出す。別の実施形態において、このＵＲＬは代理的なものであり、展開マネージャは、ＵＲＬをその実際の位置に再指示する。このような方法は、システムに対して付加的で安全な層を提供し得る。当業者は、アプリケーションのロケーションを指示する任意の方法がこれらの技術とともに使用され得、これらの技術が、ＵＲＬ以外の指示で動作することを理解する。アプリケーションはまた、検査され、最適化され、アプリケーションが配置され加入者に送信される前に伝送のためにインストルメントされる。
【００４８】
図７は、Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  の展開マネージャのコンポーネントのブロック図の例である。展開マネージャ７００は、リトリーバ７０１、リモートフェッチャ（Ｒｅｍｏｔｅ  Ｆｅｔｃｈｅｒ）７０２、ローカルフェッチャ（Ｌｏｃａｌ  Ｆｅｔｃｈｅｒ）７０３、インスペクタ（Ｉｎｓｐｅｃｔｏｒ）７０４、オプティマイザ（Ｏｐｔｉｍｉｚｅｒ）７０５、インストルメンテーションインストーラ（Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ  Ｉｎｓｔａｌｌｅｒ）７０６およびアプリケーションパッケージャ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐａｃｋａｇｅｒ）７０７を含む。リトリーバ７０１は、リモートフェッチャ７０２またはローカルフェッチャ７０３のどちらかを使用して、適したホストサーバからアプリケーションコードを取得し、次いで、このアプリケーションコードを適切に供給するために、種々のコンポーネントを介してアプリケーションコードを送る。特に、インスペクタコンポーネント７０４は、悪意のあるコードおよび禁じられたＡＰＩに対するアプリケーションを検査し、オプティマイザコンポネント７０５は、可能な場合、コードのサイズを小さくし、インストルメンタルインストーラ７０６は、電気通信事業者の指定されたポリシーおよび管理の機能、例えば、請求および通知メッセージをコードに組み込む。
【００４９】
特に、リトリーバ７０１は、複数のユーザおよび複数の電気通信事業者が異なったプロトコルを使用して複数のネットワークにわたって通信をすることを可能にするよう設計されている。これは、それらが配信に対してホストするソフトウェアアプリケーション（コンテンツ）の位置において電気通信事業者の柔軟性を認めることによって部分的に成し遂げられる。例えば、電気通信事業者が、スタンダードＤＢＭＳのようなＦＴＰまたはＨＴＴＰサーバまたはデータリポジトリの指定ディレクトリにそのようなアプリケーションを格納することによってそれら自体のネットワークから全ての利用可能なアプリケーションをホストするために選択し得る。キャリアアプリケーションストア７０８は、このようなデータリポジトリであり、ＭＡＳそれ自体のサーバに存在し得る。リトリーバ７０１は、ローカル的に格納されたデータのコピーを取り出すためにローカルフェッチャ７０３を動作させる。電気通信事業者は、また信頼されるサードパーティアプリケーションプロバイダが、リモートアプリケーションホスト７０９からアプリケーションをホストすることを可能にするために選び得る。そのアプリケーションは、信頼されるサードパーティアプリケーションプロバイダの制御下である。さらに、オープン供給を実行するために使用される際、リトリーバ７０１は、必ずしも信頼されるソースからではないサードパーティホストからアプリケーションを取り出す。いずれにしても、電気通信事業者は、リモートアプリケーションホスト７０９の一つにホストされる特定のダウンロード可能なアプリケーションに対する入来リクエストを参照するためにサードパーティによって提供されるＵＲＬを使用する。リトリーバ７０１は、このようなホストが公共のプロトコルを介してアクセス可能である際、一般的に、リモートアプリケーションホスト７０９でホストされるこのようなアプリケーションを検索するためにリモートフェッチャ７０２を動作させる。一実施形態において、ローカルフェッチャ７０３は、ローカルに格納されたデータを素早く取り出すために最適化され得る。一方、リモートフェッチャ７０２は、公共ネットワークを介してアクセス可能なホストに存在するアプリケーションを取り出すために必要な公共プロコトルをインプリメントする。
【００５０】
信用されたサードパーティホストまたは電気通信事業者の選好に依存して、検索器（ｒｅｔｒｉｅｖｅｒ）７０１によって検索されたアプリケーションコードが既に供給されている可能性がある。検索器７０１が未供給のコードを取得する場合、コードは、さらなる処理のために、検査器（Ｉｎｓｐｅｃｔｏｒ）７０４、最適化器（Ｏｐｔｉｍｉｚｅｒ）７０５および装置組み込みインストーラ（Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ  Ｉｎｓｔａｌｌｅｒ）７０６に送信される。検査器７０４は、検索された未供給のアプリケーションコードを検査して不正なコードを検出する。Ｊａｖａ（Ｒ）コードでは、検査器７０４はまた、アプリケーションコードのクラス分析を実行し、アプリケーションのクラスが、ＡＰＩコールの、番号、タイプおよび頻度等の所望の標準に適合することを検証し得る。さらに、検査器７０４は、邪魔で、不正な挙動を有するように暗示され得るか、または、リクエストしている加入者、ターゲットデバイスまたはいくつかの他のターゲットによって使用について認可され得ないＡＰＩの、パッケージおよびメソッドの名前、クラス、フィールドまたは他のフォームを検出するためにアプリケーションフィルタを適用する。検査器７０４はまた、アプリケーションフィルタをＡＰＩ使用パターンを検出するために適用し得る。アプリケーションフィルタは、さらに図１０Ｆ〜図１０Ｊを参照して説明されるセキュリティ技術である。検査器７０４は、その使用に利用可能な、（図６を参照して説明された）供給マネージャによって検索された加入者およびデバイスプロファイルを有する。その結果、検査器７０４は、デバイスごとに、または加入者ベースごとに、制限を強制し得る。例示的な実施形態において、検査器７０４は、このようなパラメータの閾値、および、例えばロギングマネージャ（Ｌｏｇｇｉｎｇ  Ｍａｎａｇｅｒ）等の他のエンティティによるさらなる検査に対するフラグパラメータの閾値が調整されることを可能にする。検査器７０４は、不正な挙動を場合によって発見した場合、供給するステップ（および次のダウンロードするステップ）が妨げられ得（または加入者が警告され得）、犯罪者の識別とともに違反がロギングマネージャに報告され得る。
【００５１】
検査器７０４が検索された未供給のアプリケーションコードを首尾よく検査した後、このコードは、アプリケーションのサイズを低減するさらなる処理のために、最適化器７０５に転送される。最適化器７０５は、変数名を短縮し、不使用のコードをアプリケーションから除去する周知の方法を用い得る。このような最適化手順により、通常、結果的に、より速いダウンロードが行われる。最適化器７０５はまた、特定のインストラクションの使用をより効率的なインストラクションに変更する等の、アプリケーションが実行される場合にアプリケーションの速度を上げるための従来の周知の技術を用い得る。当業者は、ＭＡＳのコンポーネントが拡張され得るか、または変更され得るので、任意の最適化技術がシステムに援用され得ることを認める。
【００５２】
最適化後、検査かつ最適化されたアプリケーションコードは、さらなる処理のために、装置組み込みインストーラ７０６に転送される。ダウンロード可能なアプリケーションの供給者は、通常、個々の加入者のために、要求されたアプリケーションを変更する能力を有していない。このため、アプリケーションのコードを変更して加入者特定コードを追加することが所望され得る。例えば、「試験的使用」スキーム等の料金請求オプションは、コードをアプリケーションに挿入することによって実行され得る。上記コードは、例えば、アプリケーションに所定の回数、実行させるだけにするか、または特定の期間のみの間、実行させる。同様に、ログする目的で情報を報告するコード、または、（送信されるネットワークパケットの数に基づいて課金するパケットベース料金請求等の）他の料金請求オプションのために情報を収集するコードが備えられる。また、オープンプロビジョニングの場合、加入者に、加入者が不信なソースからコンテンツをダウンロードして実行しようとしていることを警告するコードが実行され得る。装置組み込みインストーラ７０６はまた、他のポリシーに従ってアプリケーションのコードを変更し得る。他のポリシー、例えば、プロモーションおよび広告キャンペーンを実行するポリシーが特定される。当業者は、コードが多くの他の目的のために備えられ得、同様に、ライブラリを操作すること等の周知の方法を用いて、または、クラスおよびメソッドをサブクラス化することにより、所定の位置に備えられ得ることを認める。
【００５３】
装置組み込みインストーラ７０６は、要求されたアプリケーションを備えた後、アプリケーションパッケージャ（Ａｐｐｌｉｃａｔｉｏｎ  ｐａｃｋａｇｅｒ）７０７が、検査され、最適化され、かつ備えられたアプリケーションをパッケージ化する。アプリケーションパッケージャ７０７は、アプリケーションファイルのコンテンツを加入者デバイスが読み出し得るようにフォーマット化することにより、要求されたアプリケーションをパッケージ化する。加入者デバイスは、図６を参照して説明されたように、プロビジョニングマネージャによって取得されたデバイスプロファイルから判定されている。例えば、多くの加入者デバイスは、圧縮された「ＪＡＲ」フォーマット（Ｊａｖａ（Ｒ）アーカイブフォーマット）で提示されるファイルを読み出すことができる。「ＪＡＲ」フォーマットは、要求されたＪａｖａ（Ｒ）アプリケーションを圧縮し、パッケージ化するために用いられるフォーマットである。デバイスには圧縮されたＪＡＲファイルを受け取り得ないものがあるので、アプリケーションパッケージャ８０７は、供給されるアプリケーションのカスタムパッケージ化を、圧縮されたＪＡＲフォーマットでファイルを受け取りことができない上記の加入者デバイスに提供する。当業者は、このようなパッケージ化コンバータおよびＪＡＲ以外のフォーマット用の他のコンバータがアプリケーションパッケージャ８０７に、パッケージ化ルーチンをサブクラス化することによる等の周知技術を用いて、インストールされ得ることを認める。さらに、いくつかの加入者デバイスは、加入者デバイスが受信し得るパケットのサイズを限定できる。検出された場合、アプリケーションパッケージャ８０７は、上記の加入者デバイスに供給されるアプリケーションを複数のデータファイルにパッケージ化でき、複数のデータファイルを、受け取ると、加入者デバイスは、一つのＪＡＲファイルに組み立て得る。一つのＪＡＲファイルは、アプリケーションをインストールするために加入者デバイスによって用いられ得る。
【００５４】
図５に関して述べられたように、アドミニストレータコンポーネント（例えばアドミニストレータ５０９）は、ユーザの異なるタイプにより、モバイルアプリケーションシステムの様々なコンポーネントを構成し、選好を特定するために、用いられ得る。図８は、モバイルアプリケーションシステムのアドミニストレータコンポーネントの例示的なブロック図である。１実施形態にて、アドミニストレータ８００は、複数のウェブベースのユーザインターフェースを好適に提供する。複数のウェブベースのユーザインターフェースは、コンテンツプロバイダ、システム（電気通信事業者またはＭＡＳ）アドミニストレータ、加入者および顧客サービス支援スタッフに、ＭＡＳのコンポーネントにアクセスさせるか、または、彼らの実績をカスタマイズさせることを可能にする。特に、例示のアドミニストレータは、コンテンツプロバイダウェブサイト８０１、アドミニストレーションウェブサイト８０２およびパーソナリゼーションウェブサイト（Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅ）８０３を提供する。上記のインターフェースの例示のスクリーン表示は、図８〜１１を参照して、以下で説明される。当業者は、それぞれ説明されたウェブサイトが複数のスクリーン表示を含み得ること、および、上記および／または他のスクリーン表示およびウェブサイトは、同一の結果を達成する様々な構成で組み立てられ得ることを認める。例えば、アドミニストレータウェブサイト８０２は、個別のカスタムケアウェブサイト８０４を任意に含み得る。カスタムケアウェブサイト８０４は、電気通信事業者の代わりで個々の加入者アカウントを管理するために、（通常、電気通信事業者の）カスタムケア代理によって用いられ得る。
【００５５】
アドミニストレータ８００は、コンテンツプロバイダウェブサイト８０１をコンテンツプロバイダに提供する。コンテンツプロバイダは、ダウンロード可能なアプリケーションをＭＡＳに提出し、提出されたダウンロード可能なアプリケーションがレビューされ（例えば検査され）、公開について認可されたか否かをモニタリングするために、コンテンツプロバイダウェブサイト８０１を使用する。コンテンツプロバイダはまた、アプリケーションプロファイルに変化を推奨するために、彼らのアプリケーションの人気をモニタリングするために、または、ＭＡＳアドミニストレータに情報を送信するために、コンテンツプロバイダウェブサイト８０１を用い得る。１実施形態において、コンテンツプロバイダは、コンテンツプロバイダウェブサイト８０１の（以前に、アドミニストレーションウェブサイト８０１を用いて構成された）アカウントにログインし、コンテンツプロバイダが提出することを望むファイルの位置に対する参照データ（例えばＵＲＬまたは他の位置参照データ）を入力する。図９Ａは、コンテンツプロバイダウェブサイトのアプリケーション提出スクリーンの例示のスクリーン表示である。コンテンツプロバイダは、アプリケーションを、電気通信事業者のアプリケーションストアまたはリモートサーバにホスティングするか否かを選ぶ。Ｊａｖａ（Ｒ）ベースの実施形態において、提出されたファイルは、好ましくＪＡＤまたはＪＡＲファイルである。しかし、当業者は他のフォーマットおよび他の言語が支援され得ることを認める。ファイルが提出された後、アドミニストレータ（例えば、図５のアドミニストレータ５０９）は、ファイルを検査し、この提出が認可されるべきか否かを判定する。１実施形態において、アドミニストレータは、（それぞれ図６および７を参照して説明された）プロビジョニングマネージャおよび展開マネージャによって実行された検証チェックおよび検査の多くを実行する。いくつかのシステムにおいては、アドミニストレータ、プロビジョニングマネージャおよび展開マネージャが、部分的または全体的に、組み合わされ得る。１実施形態において、アドミニストレータは、それが有効であり、別のアプリケーションプロファイルによって用いられていないことを確実にするために提出されたＵＲＬをチェックし、ＪＡＤにて参照されたアプリケーションをダウンロードする。次いで、アドミニストレータは、アプリケーションコードがＪＡＤファイルに適合し、アクティブアプリケーションフィルタおよび他の検証手順によって禁止された任意のＡＰＩを用いないことを確実にするために、アプリケーションコードを分析する。例えば、アドミニストレータは、詳細なクラス分析を実行でき、アプリケーションが使用するＡＰＩのリストを作成し得る。従って、アドミニストレータは、任意の関連するアプリケーションフィルタに記入されたＡＰＩを検査でき、コンテンツを拒否することを決定できる。さらに、アドミニストレータは、利用可能なデバイスプロファイルに記入されたＡＰＩを比較でき、これらＡＰＩを支援するデバイスのリストをコンテンツプロバイダに提供できる。コンテンツプロバイダは、アプリケーションが、提案されたターゲットデバイスの全てで走行することを確認できるか、または、ターゲットにされるべきデバイスを排除できる。署名されたアプリケーションの場合、アドミニストレータはまた、署名が有効であることを確実にするためにチェックする。当業者は、アドミニストレータによって提供された検査は、他の検証を含み、特別の有効化の必要性が生じる時にこの必要性を満たすように、プログラム的に拡張され得ることを認める。例えば、アドミニストレータはまた、特定化されたＪＡＲによって動的にロードされるクラスファイルを自動的に検証し得、所望の時にこのクラスファイルを置き換え得る。コンテンツの適用機能を特定のデバイスに限定する他のパラメータはまた、提出検証プロセスおよび／またはダウンロード時に実行される検証プロセスに容易に追加され得る。
【００５６】
一旦アプリケーションが提出のために配置され、検査されると、コンテンツプロバイダウェブサイト８０１は、好適に、提出されるべきアプリケーションについて、コンテンツプロバイダからの追加情報を要求する。追加情報は、アプリケーションが認可される場合にアプリケーションプロファイルの一部となる。例えば、コンテンツプロバイダは、アプリケーションの名前および短い説明、（アプリケーションを走行できるデバイス、アプリケーションが記述された言語、提案された販売価格等の料金請求情報および試験的使用パラメータを決定するために、デバイスプロファイルと比較される）支援されるＪａｖａ（Ｒ）プロファイルのリストを含み得る。図９Ｂおよび９Ｃは、コンテンツプロバイダウェブサイトの追加情報提出スクリーンの例示のスクリーン表示である。アプリケーションソース言語を含む、この情報を特定するステップは、ＭＡＳに、同一の名前を有する機能的に等価なプログラムを格納させ、支援させることを可能にする。この等価なプログラムは、デバイスの複数の種類で走行でき、異なる言語を用いて記述さえされ得る。コンテンツプロバイダはまた、提出されたアプリケーションが属する加入者カテゴリを選択し、価格を提案し、Ｊａｖａ（Ｒ）プロファイルを記入し、メモリ要件、特定の匹敵するデバイスを特定し得る。１実施形態において、コンテンツプロバイダ選択は、アドミニストレーションウェブサイト８０２を介して上書きされ得る推奨とみなされる。
【００５７】
コンテンツプロバイダが追加アプリケーション情報を提出した後、アドミニストレータは、提出されたアプリケーションの無線電気通信事業者システムアドミニストレータに通知し得、提出されたアプリケーションについて電気通信事業者からの認可を要求し得る。図９Ｄは、アドミニストレータによって生成された例示のアプリケーション提出通知である。アドミニストレータは、コンテンツプロバイダによって提出された（提出されたアプリケーションを含む）情報と、アプリケーションプロファイルを作成するために、検査プロセス間に生成されたデータとを用いる。アプリケーションプロファイルは、（例えば、図６を参照して説明されたように）プロビジョニングマネージャの検証プロセスでの使用のために、データリポジトリ（例えば図５のデータリポジトリ５１１）に格納され、保持される。コンテンツプロバイダはまた、公開された、ペンディングの（ｐｅｎｄｉｎｇ）アプリケーションのコンテンツプロバイダ自体のリストを見て、編集するために、他の日時に、コンテンツプロバイダウェブサイト８０１を用い得る。
【００５８】
アドミニストレータ８００はまた、アドミニストレーションウェブサイト８０２をＭＡＳシステムアドミニストレーションに提供して、例えば、コンテンツプロバイダによって公開された、ペンディングのアプリケーションを管理する。一つの例示の実施形態において、アドミニストレーションウェブサイト８０２インターフェースは、個別のノードを提供して、アカウント、アプリケーション、加入者、デバイス、サーバおよびレポートを確立し、構成および／または管理をする。これらのノードにユーザインターフェースを提供する様々な例示のスクリーン表示は、図１０Ａ〜１０Ｖに示されている。
【００５９】
システムアドミニストレータは、アドミニストレーションウェブサイト８０２のノードアカウントを用いて、アドミニストレータ、コンテンツプロバイダおよびカスタマケア代理用のアカウントを設定する。カスタムケア代理は、効率良く、ログオンし、特定の加入者のアカウントへのアクセスを得て、必要性に応じて、このアカウントを変更できる。例えば、カスタマケア代理は、特定のアプリケーションの試験期間を再び開始するために、加入者アカウントを変えることができる。
【００６０】
システムアドミニストレータは、アドミニストレーションウェブサイト８０２のアプリケーションノードを用いて、公開された、ペンディングのアプリケーションを管理し、アプリケーションカテゴリを管理し、アプリケーション（コンテンツ）検証プロセスに用いられるアプリケーションフィルタを定義し、全体的に料金請求方法を管理し、ペンディングのアプリケーションワークフロー通知を設定する。ＭＡＳにおいて、アプリケーションは、通常、システムアドミニストレータによって保持される、異なるコンテンツカテゴリで公開される。図１０Ａは、アドミニストレーションウェブサイトのカテゴリ保持スクリーンの例示のスクリーン表示である。コンテンツカテゴリは、異なる加入者グループに割り当てられ得、これにより、特定のグループに属する加入者は、アプリケーションを、そのグループに割り当てられるカテゴリにダウンロードすることができる。コンテンツプロバイダはまた、ＭＡＳへのアプリケーションの提出時に、アプリケーションカテゴリを提案し得る。
【００６１】
システムアドミニストレータはまた、アドミニストレイティブウェブサイト８０２のアプリケーションノードを用いて、「ペンディングの」アプリケーションとして知られる、提出されたアプリケーションを評価する。図１０Ｂは、アドミニストレーションウェブサイトのペンディングのアプリケーション保持スクリーンの例示のスクリーン表示である。システムアドミニストレータは、取り扱い時の、記入された任意のアプリケーションを、編集し、認可または拒否できる。アドミニストレータは、提出されたアプリケーションのアプリケーションプロファイルを、提出されたアプリケーションを供給についての無線電気通信事業者のポリシーに対して、評価し、そしてこのアプリケーションを拒否または認可するか否かを決定することについての責任がある。通常、システムアドミニストレータは、何時アプリケーションがコンテンツプロバイダによって提出されるかを通知され、その結果、アプリケーションが認可および公開のために評価され得る。システムアドミニストレータは、提出されたアプリケーションおよびこれに関連した情報を認可し、変化させ得るか、または認可せず、これに応じて、アプリケーションプロファイルを更新し得る。アプリケーションが認可される場合、アプリケーションが電気通信事業者のアプリケーションストアに書き込まれ（または、特定されて信用されたサードパーティサーバから利用可能になり）、その結果、アプリケーションは加入者がアクセスできるようにされる。メッセージはまた、コンテンツプロバイダに、提出されたアプリケーションが認可されたことを通知するために、送信される。変化が、提出されたアプリケーションおよび／またはこれに関連したアプリケーションプロファイルに対して要求される場合、メッセージは、通常、コンテンツプロバイダにコンテンツの変化を通知するために、送信される。アプリケーションが認可されない場合、アプリケーションプロファイルは、データリポジトリから削除され、コンテンツプロバイダは、提出されたアプリケーションが拒否されなかったことを通知される。
【００６２】
図１０Ｂに示されるように、システムアドミニストレータはまた、アドミニストレーションウェブサイト８０２のアプリケーションノードを用いて、（アプリケーションプロファイルに格納された）提出されたアプリケーションに関連する情報をレビューまたは編集をすることができる。図１０Ｃ〜図１０Ｅは、アドミニストレーションウェブサイトの編集取り扱いアプリケーションスクリーンの一部の例示的なスクリーン表示である。システムアドミニストレータは、例えばタイトル、説明およびカテゴリ等の情報を変更でき、ｊａｖａ（Ｒ）プロファイルおよびリソース要件等の選択、アプリケーション検証および検査のために用いられた詳細部を変化させ得る。さらに、アドミニストレータは、（電気通信事業者の全体的な料金請求メソッドと好適に適合する）特定のアプリケーション用の、料金請求メソッド関連情報を変更できる。例えば、システムアドミニストレータは、電気通信事業者への利益を増加させるために、アプリケーションの販売価格を、コンテンツプロバイダによって元々示された価格を越えて増加させ得る。システムアドミニストレータはまた、アプリケーションに対する追加的な料金請求オプションを特定できる。システムアドミニストレータは、例えば、コンテンツプロバイダが従来の購入オプションのみを特定する時でさえ、課金しない試験的使用を追加することにより、アプリケーション用のこの追加的な料金請求オプションを特定できる。いくつかの実施形態において、アドミニストレータは、提出プロセスの間に提出されたアプリケーションについて実行された詳細なクラス分析の結果をレビューし得る。
【００６３】
システムアドミニストレータはまた、アドミニストレーションウェブサイト８０２のアプリケーションノードを用いて、ＭＡＳについてのセキュリティ設定およびポリシーを特定化できる。例えば、アドミニストレータは、検査プロセスの間に展開マネージャ（例えば、図５の展開マネージャ５０６）によって用いられるアプリケーションフィルタを定義し得、特定のデバイスプロファイルを有する加入者デバイス、所定のコンテンツプロバイダ、または特定のＪａｖａ（Ｒ）プロファイルを用いるアプリケーション、または全体的なターゲットが、特定のＡＰＩまたはＡＰＩのパターン、例えば所定のＪａｖａ（Ｒ）ＡＰＩコールを使用することを防止できる。これらのＡＰＩは言語依存型に特定化され、Ｊａｖａ（Ｒ）ベースの実行について、少なくともパッケージ、クラス、メソッドおよびフィールド名を含む。特定のターゲット用のフィルタを特定化する能力は、例えば所定のＡＰＩまたはＡＰＩの組み合わせが特定のデバイスで作動しないと分かるか、または、特定のコンテンツプロバイダから見出される時、非常に有用である。このようなフィルタでＭＡＳをプログラミングすることにより、システムアドミニストレータは、動的に、単一の出来事が発生した後、または、例えば、電気通信事業者、コンテンツプロバイダ、加入者またはデバイス製造者からの通知の後、さらなる加入者デバイス「ダメージ」を防止できる。さらに、アプリケーションフィルタは、オープンプロビジョニングシナリオの、不信なまたは未知のサードパーティコンテンツに適用され得る。従って、セキュリティの度合いを、現存するアプリケーションに、変更することなく、提供できる。
【００６４】
図１０Ｆ〜１０Ｊは、アドミニストレーションウェブサイトのアプリケーションフィルタ管理インターフェースの部分の例示のスクリーン表示である。図１０Ｇに示されるように、アドミニストレータは、選択されるターゲットに禁止されるべき特定のＡＰＩを選択できる。図１０Ｈは、選択されるターゲットを、Ｊａｖａ（Ｒ）プロファイル、デバイスプロファイル、コンテンツプロバイダまたは全ての利用可能なターゲットの内の一つとなるように変化させるための、例示のスクリーン表示を示す。当業者は、アプリケーションフィルタ機構がフィルタの異なるタイプを支援し、異なるエンティティを対象とするように、ターゲットの異なるエンティティに拡張され得ることを認める。
【００６５】
上述されたように、システムアドミニストレータはまた、アドミニストレーションウェブサイト８０２のアプリケーションノードを用いて、電気通信事業者によって支援された全体的な料金請求メソッドを特定できる。図１０Ｋは、アド未にストレーションウェブサイトの料金請求メソッド管理インターフェースの例示的なスクリーン表示である。示された実施形態において、アドミニストレータは、ダウンロードごと、ネットワークの使用法（例えば送信ベース）ごと、加入ごとの複数の異なる料金請求オプションと、課金なしの試験的使用とを選択できる。
【００６６】
他の機能はまた、アドミニストレーションウェブサイト８０２を介してシステムアドミニストレータにアクセス可能である。例えば、システムアドミニストレータは、加入者ノードを用いて、加入者によるＭＡＳの使用を管理でき、それぞれの加入者に対して加入者プロファイルを確立できる。加入者プロファイルは、それぞれの加入者によってダウンロードされてきた、公開されたアプリケーションのリストを保持し、特定の加入者が起動させ得ない禁止されたアプリケーションのリストを保持し、特定のユーザが属する加入者グループを作成し、保持する。１実施形態において、上記のプロファイルは、（図５のデータリポジトリ等の）ＭＡＳのデータリポジトリに格納され、（図６のプロファイルリーダ６５２等の）プロビジョニングマネージャのプロファイルリーダによって読み出される。
【００６７】
図１０Ｍ〜１０Ｐは、アドミニストレーションウェブサイト内の加入者保持スクリーンの例示のスクリーン表示である。アドミニストレータは、加入者が割り当てられ得るか、または加入できる加入者グループを作成でき、コンテンツカテゴリをそれぞれのグループに関連させることによってそれぞれの加入者グループに利用可能であるコンテンツを定義できる（例えば図１０Ｐ）。加入者グループへの特定のコンテンツカテゴリの割り当ては、サービスプランと呼ばれる。（図１０Ｐ参照）。ＭＡＳは、この情報を用いて、加入者が要求されたアプリケーションをダウンロードするように認可されるか否かを決定する。加入者は、加入者のサービスプランへの変化を特定でき、これにより、自動的に、上記のプランに関連するコンテンツにアクセスするように認可される。デフォルトカテゴリはまた、（デフォルト加入者グループ等の）特定の加入者グループに提供され得、その加入者グループのユーザに、利用可能な公開されたアプリケーションのカテゴリを提示できる。
【００６８】
システムアドミニストレータはまた、更新されたバージョンが加入者によって既にダウンロードされたアプリケーションの一つに利用可能であることの通知等のメッセージを、加入者に送信し得る。この挙動は、時に、「プッシュ」能力と呼ばれる。加入者にコンタクトを取るための情報は、加入者の加入者プロファイルから通常、利用可能である。）図１０Ｑは、アドミニストレーションウェブサイトのメッセージインターフェースの例示のスクリーン表示である。システムアドミニストレータはまた、アドミニストレーションウェブサイト８０２のレポートノードで利用可能な、レポートテンプレートおよび／またはユーザ定義レポートを用いて、トレンドおよび人気のあるアプリケーションダウンロード等の、マーケティングデータを入手できる。図１０Ｒは、アドミニストレーションウェブサイトのレポートスクリーンの例示のスクリーン表示である。アプリケーションをダウンロードするリクエストがロギングマネージャ（例えば、図５のロギングマネージャ５０８）によってログされ、それぞれの取引の詳細部が（図５のデータリポジトリ５１１等の）トラッキングデータリポジトリに記録されるので、システムアドミニストレータは、レポートを生成するためにトラッキングデータリポジトリを照会できる。いくつかの実施形態において、このような照会に対する支援は、プロビジョニングマネージャの）ＭＡＳデータ照会エンジン（例えば、図６のＭＡＳデータ照会エンジン６５０を介して提供される。システムアドミニストレータは、例えば、予め定義されたレポートテンプレートまたはカスタマイズされたレポートテンプレートを用いて、上記のレポートを生成し得る。
【００６９】
さらに、システムアドミニストレータは、装置組み込みインストーラ７０６がダウンロードされたコンテンツを適切に備える場合、無線ネットワークを通じてダウロードされたアプリケーションを、遠隔的に、活性化または不活性化するように選ぶことができる。例えば、備えられたアプリケーションは、アプリケーションの新しいバージョンが利用可能であるかどうかを知るために、ホストサーバ（電気通信事業者またはサードパーティ）でチェックさせられ得、アプリケーションの新しいバージョンをダウンロードするか否かを判定することを加入者に促すことができる。備えられたアプリケーションはまた、時間制限期間が満期になるか、または、アプリケーションが起動され得る回数が（例えば、試験的期間料金請求オプションについての使用のために）越えられたかを判定するために、ホストサーバでチェックさせられ得る。装置組み込みアプリケーションはまた、日時制限を決め得る。この日時制限は、例えば、一日の設定期間内に所定の回数だけ使用されるようにアプリケーションを制限し得る。これらの制限は、システムアドミニストレータが、アプリケーションが加入者の無線デバイスにダウンロードされた後でさえアプリケーションを実行できる加入者の特権を無効にするか、または、制限することを効率良く可能にする。当業者は、他の制限および能力が同様に強制され得ることを認める。
【００７０】
システムアドミニストレータは、アドミニストレーションウェブサイト８０２のデバイスノードを用い得、アプリケーションの供給中の検証用に用いられる情報を提示かつ維持し得る。例えば、システムアドミニストレータは、特定のデバイスに対応するデバイスプロフィールのリストを作成かつ維持し得る。典型的に、システムアドミニストレータは、ＭＡＳによってサポートされる各デバイスに対するデバイスプロフィールを作成する。図１０Ｓ〜１０Ｔは、アドミニストレーションウェブサイト内におけるデバイスアドミニストレーションスクリーンのスクリーンディスプレイの例である。新規のデバイスプロフィール、および対応するデバイス指定は、必要に応じて加えられ得る。各デバイスプロフィールは、ハードウェアに特定の情報およびリソースの特性（例えば、ランタイムメモリおよびフラッシュメモリの量、チップの識別、最大ダウンロードサイズ、およびデバイスが「ＯＴＡ」に準拠しているかどうかを含む。（ＯＴＡは、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍの放送適応規格を参照するＯＴＡに適応するデバイスは、他の能力のうちで、デバイスへの首尾良いダウンロードの追跡をサポートする。）
また、各デバイスプロフィールは、デバイスによってサポートされる単一のＪａｖａ（登録商標）プロフィールを指定し得る。Ｊａｖａ（登録商標）は、デバイスによってサポートされるＪａｖａ（登録商標）ＡＰＩを特定する。例えば、ＭＩＤＰ１．０スタンダード（デバイスによってインプリメントされるＪａｖａ（登録商標）ＡＰＩのセットを規定する周知のスタンダード）に適応するデバイスは、典型的に、この適合を示すデバイスプロフィールを有する（例えば、図１０Ｔを参照）。デバイス（および関連するＪａｖａ（登録商標））プロフィールは、アプリケーションプロフィールとの比較用の検証プロセス中にプロビジョニングマネージャによって用いられ、特定のデバイスがリソースを有し、かつ、アプリケーションによって必要とされるＡＰＩのセットをサポートすることを確実にする。図１０Ｕ〜１０Ｖは、アドミニストレーションウェブサイトを用いてＪａｖａ（登録商標）プロフィールをアドミニストレーションするためのスクリーンディスプレイの例である。いくつかのＪａｖａ（登録商標）が複数のデバイスに関連し得るが、デバイスは、典型的に、１つのＪａｖａ（登録商標）プロフィールのみサポートし得る。システムアドミニストレータは、ＡＰＩのセットを特定かつ記述する文書ファイル（例えば、ＪＡＲファイルまたは．ｚｉｐファイル）の名前を特定することによってＪａｖａ（登録商標）プロフィールをロードする。ＭＡＳは、文書構造（パッケージ、クラス、メソッド、およびフィールド定義）のために特定されたアーカイブを試験し、この構造を含むプロフィールを生成する。これらのプロフィールは、また、アプリケーションフィルタを作成するように用いられ得る。このアプリケーションフィルタは、特定のＡＰＩを用いるアプリケーションの供給および／またはダウンロードを防ぐ。Ｊａｖａ（登録商標）が有効なデバイスおよびＪａｖａ（登録商標）ＡＰＩに関して主に記載したが、特別のＡＰＩ、オブジェクト、クラス、変数、および／または他のデータ構造がアプリケーションに存在し、デバイスによってサポートされるかどうかの判定を言語がサポートする限りにおいて、および、構造がバイトコードレベルで確認され得る限りにおいて、当業者は、ＭＡＳが他の言語規格および他の言語で有効なデバイスに対して適応され得ることを認識する。さらに、当業者は、受信するアプリケーションがソースをコンパイルまたはインタープリットし得、実行可能なファイルを生成し得る限りにおいて、これらの技術がソースコードレベルにおける使用に適応され得ることを認識する。
【００７１】
アドミニストレーションウェブサイト８０２によって、システムアドミニストレータが、プロビジョニングおよび展開マネージャ（Ｐｒｏｖｉｓｉｏｎｉｎｇ  ａｎｄ  Ｄｅｐｌｏｙｍｅｎｔ  Ｍａｎａｇｅｒ）によって提供された検証および検査プロセスを補充および補間する様々なセキュリティ技術および対策をインプリメント可能となる。このような技術の１つは、アプリケーションフィルタを規定する能力である。この能力は、上記されたように、特定のデバイスまたは他のターゲットを用いるアプリケーションによって呼び出されるべきではないＡＰＩを特定するために用いられる。このような制限されたコールおよび構造は、加入者のダウンロード要求に応答して、および、コンテンツの提供者によりアプリケーションを提出して、アプリケーション供給プロセス間に特定され得、加入者が特定のデバイスに対して不適切なコードをロードしないことを確実にすることを支援する。提供された別のセキリュティ技術は、ＵＲＬをリダイレクトする能力である。システムアドミニストレータは、アドミニストレーションウェブサイト８０２のサーバノードを用いるＵＲＬリダイレクトマッピングを特定することによってＭＡＳにおけるユーザの利便性およびセキュリティのためにＵＲＬをリダイレクトし得る。例えば、非公認のアドミニストレーションサイトを指し示すＵＲＬは、支払い広告者（ｐａｙｉｎｇ  ａｄｖｅｒｔｉｓｅｒ）からの広告を提供するＵＲＬにリダイレクトされ得る。同様に、コンテンツを移動させた後、システムアドミニストレータは、エラーメッセージの代わりにコンテンツを以前に参照したＵＲＬをリダイレクトすることを所望し得る。また、リダイレクトされたＵＲＬは、アプリケーションの実際の位置を隠す、または、アプリケーションがより容易に移動されることが可能となるように用いられ得る。入来データを受信すると、ＭＡＳは、アプリケーションを特定する任意のＵＲＬをアドミニストレーションウェブサイト８０２を用いて管理されたリダイレクトされたＵＲＬのリストとを比較し、そのように特定される場合、それらをリダイレクトする。また、当業者は、さらなるおよび他のセキュリティ技術が加えられ得、かつ、ＭＡＳによって利用され得ることを認識する。必要な場合、加入者、コンテンツプロバイダ、アドミニストレータおよび様々なＭＡＳコンポーネント間の様々なセキリュティメカニズムを提供し、および、ＭＡＳによって格納され、ＭＡＳを通してアクセス可能な、または、クライアントデバイスに格納されたデータを安全に伝送するようにアドミニストレーションウェブサイト８０２によって構成される。例えば、ＫＳＳＬ等の安全プロトコルをサポートするデバイスが製造されるので、様々なＭＡＳコンポーネントはこのプロトコルを用いるように構成され得る。さらに、適用可能なら、安全なインタフェースは、ウェブベースのインタフェースとそれらによって操作されたＭＡＳコンポーネントとの間のコンポーネントとしてインストールされ得る。
【００７２】
アドミニストレータ８００は、また、パーソナリゼーションウェブサイト８０３を提供する。このパーソナリゼーションウェブサイト８０３は、加入者に関連するサービスおよび情報を整理、保持、および表示するように、ならびに、アプリケーションを管理するように加入者によって用いられる。図１１Ａ〜１１Ｌは、パーソナリゼーションウェブサイトのスクリーンディスプレイの例である。図１１Ａは、パーソナリゼーションウェブサイト８０３の初期のスクリーンディスプレイである。加入者は、パーソナリゼーションウェブサイト８０３を用いて、サービスプラン（このサービスプランは、ユーザに請求された金額だけの変化させる可能性のある）を変化させることによってコンテンツのさらなるカテゴリーに加入する。図１１Ｂ〜１１Ｄは、パーソナリゼーションウェブサイトを用いてサービスプランをアドミニストレーションするスクリーンディスプレイの例である。新規のサービスプランが選択されると、加入者は、関連するコンテンツのカテゴリーを用いるように認証される。
【００７３】
加入者は、また、現在のアプリケーションの観察し、アプリケーションを加え、アプリケーションを取り除き、およびアプリケーションを体系化することによって加入者のアプリケーションを管理し得る。図１１Ｅ〜１１Ｌは、パーソナリゼーションウェブサイトを用いてアプリケーションを管理するためのスクリーンディスプレイの例である。アプリケーションを参照して記載してきたが、当業者は、これらの技術が任意のダウンロード可能なコンテンツに適用され得、そしてこのアプリケーションがアプリケーションベースの管理に加えて、カテゴリーまたは他の抽象概念によって管理され得ることを認識する。加入者は、パーソナリゼーションウェブサイト８０３を用い得て、加入者の「個人アクセスリスト（Ｐｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔ）（「ＰＡＬ」）」を作成かつ管理し得る。加入者のＰＡＬは、加入者が例えば、アプリケーションディスカバリ中に加入者のデバイス上にＭＡＳディスプレイを有することを所望するというアプリケーションのリストである。このリストは、デフォルトセットのアプリケーション、非アプリケーション、あるいは加入者がダウンロードしたアプリケーションか、または将来においてダウンロードすることを所望するアプリケーションまたは、他の組み合わせのリストを含み得る。一実施形態において、ＰＡＬは、加入者がダウンロードしたものを初期に含む。ＭＡＳが各無線デバイスおよび全ての無線デバイスに対するアプリケーションダウンロードの記録を維持するので、ＭＡＳは、特定の加入者のダウンロードされたアプリケーションを追跡可能である。
【００７４】
図１１Ｅ〜１１Ｈは、加入者の個人アクセスリストにアプリケーションを加えるためのスクリーンディスプレイの例である。一実施形態において、ＰＡＬは、アプリケーションの名前および解説、利用可能な請求オプション、各請求方法に対するコスト、任意の適用可能な試験期間の状態、購読状態、および加入者のデバイスとの適合性を一覧する。アプリケーションが（変化され得る）加入者サービスプランの下で利用可能である場合、および、アプリケーションが加入者のデバイスに適合している場合のみ、アプリケーションは、一般的に加えられ得る。あるいは、アプリケーションは、ＰＡＬに加えられ得るが、アプリケーションのディスカバリ中にプロビジョニングマネージャによって取り除かれ得る。これにより、加入者は、複数の加入者デバイスに対して働くＰＡＬを有することが可能となる。ＭＡＳのアドミニストレーションコンポーネント（例えば、図５におけるアドミニストレータ５０９）は、加入者デバイスに関連するデバイスプロフィールを、デバイス（このデバイス上でアプリケーションが走行する）を特定するアプリケーションプロフィールと比較することによって自動的にこの判定をし得る。いくつかの実施形態において、ＭＡＳは、全ての利用可能なアプリケーションを一覧し、加入者の現在のサービスプランがアプリケーションのダウンロードをサポートするかそうでないかを示す。他の実施形態において、ＭＡＳだけが、加入者のデバイスによってサポートされたこれらのアプリケーションを一覧する。これにより、加入者は、適合可能なアプリケーションをを正確に選択する必要のある問題を避けることを可能となる。他の組み合わせも考慮される。
【００７５】
アプリケーションはまた、個人アクセスリストから取り除かれ得る。図１１Ｊは、加入者の個人アクセスリストからのアプリケーションを取り除くためのスクリーンディスプレイの例である。さらに、加入者は、加入者が加入者デバイス上にリストを表すように意図する方法に従って個人アクセスリストを体系化し得る。図１１Ｋ〜１１Ｌは、加入者の個人アクセスリスト上のアプリケーションの順序を体系化するためのスクリーンディスプレイの例である。
【００７６】
ＰＡＬを維持することによって、加入者は、どのアプリケーションが加入者のデバイス上に位置付けられるかを容易に管理し得、そして、例えば、元々の無線デバイスが失われ、盗まれ、または破壊された場合に、同一のアプリケーションのセットを別の無線デバイスにダウンロードすらし得る。さらに、加入者は、個人的な接触情報および約束のカレンダー等の情報のコピーを維持し得、これは、加入者の無線デバイスまたは別のデバイスに容易にダウンロードされ得る。したがって、これらの機能は、新しい無線デバイスにアップグレードする際の不便さを維持する。
【００７７】
記載されたように、ＭＡＳは、特定の時間、例えば、アプリケーション発見の間に、ダウンロード可能なアプリケーションのリストを加入者のデバイス上に表示するためにＰＡＬを検証する。ＭＡＳは、加入者の無線デバイスが表現できるように知られている言語（例えば、ＸＭＬ、ＷＭＬ、ＸＨＴＭＬ、Ｂａｓｉｃ、ＨＴＭＬ、または任意の他のＸＭＬベースの言語）でこのリストを自動的に生成する。ＭＡＳは、初発性の情報（ＰＡＬ等）をＸＭＬフォーマットに格納し、ＸＳＬＴベースの機能性（例えば、図６において、ＸＳＬＴ  Ｐｒｏｃｅｓｓｏｒ  ６３０によって提供されるような、これは、スタイルシートを使用する）を使用することによって任意の言語をサポートするためのインストラクションを提供し、格納されたＸＭＬフォーマット化された情報を任意の要求されたフォーマット、例えば、ＷＭＬまたはＸＨＴＭＬ  Ｂａｓｉｃｗｏに変換する。特定のユーザの無線デバイスがサポートするように知られている表現言語は、要求デバイスによって使用されている要求デバイスおよびブラウザを検出することによってＭＡＳにより自動的に、および／またはデバイスプロファイルから決定され得る。
【００７８】
加入者は、さらに、アカウント情報およびダインロードまたはアカウント活性の履歴を取得および変更するために、Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅ  ８３０を用い得る。
【００７９】
Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅ  ８０３を介して、システムアドミニストレータは、更新されたまたは新しいアプリケーション、すなわち、「ｔｉｅ−ｉｎｓ」の利用可能性を加入者に通知し得る。このアプリケーションのシステムによって、システムアドミニストレータは、製品提供または広告を（「ｐｕｓｈ」メッセージを介して）表示し得る。加入者は、加入者の無線デバイスを用いて、または、無線デバイスを超えたより優れた表示特性を好適に有する無線化されたデバイス（パーソナルコンピュータ等）を用いてＰｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅ  ８０３にアクセスし得る。より優れた表示特性を有する無線化されたデバイスがＰｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅ  ８０３にアクセスするために用いられた場合、より優れた表示特性が、増大されたｔｉｅ−ｉｎｓをサポートするために用いられ得る。
【００８０】
種々のウェブサイトベースのユーザインタフェースを既存のＭＡＳコンポーネントに提供することに加え、ＭＡＳのアドミニストレータコンポーネント（例えば、図５のアドミニストレータ５０９）は、システムアドミニストレータが、ＭＡＳ自体の再プログラミングコンポーネントを通じて、および規定供給ルールを通じて、カスタマイズ可能な供給関連ポリシーをインプリメントすることを可能にする。一実施形態では、再プログラミングは、Ａｄｍｉｎｉｓｔｒａｔｏｒ  Ｗｅｂｓｉｔｅ  ８０２を通じて達成される。しかしながら、当業者は、この機能性は、他の機構を用いて、例えば、登録機構を通じて、アドミニストレータを有する異なるコンポーネントおよびプロファイルを登録することによって、または、ＭＡＳインタフェースの要素を下位分類することによって達成され得ることを認識する。この機能性は、提示されたアプリケーションをレビューし、プロファイル管理、レポート作成、およびサーバ管理を行う際に、加入者、電気通信事業者、およびシステムアドミニストレータが柔軟性を増大されることを可能にする。
【００８１】
例えば、システムアドミニストレータは、供給ルールをインプリメントするためにプロファイル管理を採用し得る。プロファイルは、本来的に動的なデータ分割技術を提供する。加入者および加入者のグループに対するサービスの種々のカテゴリーを特定することによって、単に種々のプロファイルを修正することにより、例えば、アドミニストレータコンポーネントのウェブサイトインタフェースを用いて、供給ルールは、個人または加入者のグループに適用され得る。さらに、供給ルールは、サービスのカテゴリーが個々の加入者および加入者のグループにどのように適用されるかを決定するために用いられるプロファイルに格納され得る。供給ルール自体は、修正され得る。
【００８２】
プロファイル管理は、提供に関連するおよび請求書関連のサービスプロファイルを規定する際に高い程度の柔軟性を可能にする。例えば、電気通信事業者は、基本的なサービスレベルおよびプレミアムサービスレベルを含む加入者サービスを提示し得る。基本的なサービスの加入者は、ダウンロードした各アプリケーションに対して個々に借方記入され得るのに対して、プレミアムサービスの加入者は、毎月のサービス料をより高く支払うが、余分な借方記入なしで無制限数のアプリケーションをダウンロードすることが可能にされる。別の例では、銀行等の企業は、企業の顧客が企業固有のアプリケーションを加入者デバイスの一つのタイプ上でダウンロードして、例えば、銀行の顧客がアカウント収支を調べ、ファンドを移すことを可能にすることができる特定タイプのサービスをセットアップすることを電気通信事業者と交渉し得る。この例では、電気通信事業者は、企業に対する加入者プロファイルをホスト管理し、企業がＬＤＡＰ等の工業基準データベースおよび当業者に既知の関連するデータベースを用いてこの情報にアクセスすることを可能にする。
【００８３】
アドミニストレータ８００は、さらに、ＭＡＳの他のコンポーネントを管理するために必要なユーザインタフェースを提供する。これらのインタフェースを通じて、システムアドミニストレータは、ＭＡＳの異なるモジュールを観察し、サーバ側のセキュリティを管理し、そして、任意の時間でのシステム状態およびサーバ性能をモニタし得る。システムアドミニストレータは、さらに、加入者のアカウントを管理し、そして、種々のレベルの管理特権を割り当て得る。サーバ管理は、さらに、ログ管理等の機能およびトラブルシューティング目的のための分析ツールを含む。
【００８４】
例の実施形態では、モバイルアプリケーションシステム（Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ）の方法およびシステムは、１以上の一般的な目的のコンピュータシステムおよび典型的なクライアント／サーバアークテクチャにしたがう無線ネットワーク上でインプリメントされ、分散された環境で動作するように設計および／または構成され得る。例示の実施形態は、１以上の無線ネットワークを通じてＭＡＳと通信する複数の加入者デバイスを有するもの等のグローバルネットワーク環境で動作するように示される。
【００８５】
図１２は、一般的な目的のコンピュータシステムおよびモバイルアプリケーションシステムの実施形態を実施するための加入者デバイスの例示のブロック図である。図１２のコンピュータ環境は、加入者デバイス１２０１および一般的な目的のコンピュータシステム１２００を含み、これらは、無線電気通信事業者１２０８を介して通信する。各ブロックは、得的の環境に適切なような１以上のブロックを表し得、それぞれは、分離した物理的位置に常駐し得る。
【００８６】
加入者デバイス１２０１は、コンピュータメモリ（「メモリ」）１２０２、ディスプレイ１２０３、入力／出力デバイス１２０４、および中央演算装置（「ＣＰＵ」）１２０５を含む。Ｈａｎｄｓｅｔ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｃｏｎｓｏｌｅ  １２０６は、ダウンロードされたアプリケーション１２０７を有するメモリ１２０２内に常駐して示される。Ｈａｎｄｓｅｔ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｃｏｎｓｏｌｅ１２０６は、好適には、メモリ１２０２において現在実行しているアプリケーション１２０７を実行するため、または以前の図を参照して記載されたような無線電気通信事業者１２０８を介してＭＡＳ１２０９からのアプリケーションをダウンロードするためにＣＰＵ１２０５上で実行する。
【００８７】
一般的な目的のコンピュータシステム１２００は、１以上のサーバおよび／またはクライアント演算システムを含み得、そして、分散された位置を橋渡し得る。一実施形態では、ＭＡＳは、Ｊａｖａ（Ｒ）２Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｏｎ（Ｊ２ＥＥ）を用いてインプリメントされ、そして、Ｊ２ＥＥ対応サーバを提供する一般目的のコンピュータシステム上で実行する。この実施形態によると、ＭＡＳは、Ｊ２ＥＥマルチティアーアプリケーションアーキテクチャを用いて設計およびコードされる。このＪ２ＥＥマルチティアーアプリケーションアーキテクチャは、サーバ側上のウェブティアー、ビジネスティアー、およびデータバースティアーをサポートする。このため、一般目的のコンピュータシステム１２００は、ＭＡＳの１以上のコンポーネントおよび／またはリポジトリを走行することができる１以上のサーバを表わす。
【００８８】
示されるように、一般的な目的のコンピュータシステム１２００は、ＣＰＵ１２１３、メモリ１２１０、および任意のディスプレイ１２１１および入力／出力デバイス１２１２を含む。ＭＡＳ１２０９のコンポーネントは、他のデータリポジトリ１２２０および他のプログラム１２３０とともに、メモリ１２１０に常駐して示され、好適には、１以上のＣＰＵ１２１３上で実行する。典型的な実施形態では、ＭＡＳ１２０９は、供給コンポーネント１２１４、プロファイルおよび構成データを格納するためのデータリポジトリ１２１５、およびアプリケーションストア１２１６を含む。前記に記載されたように、ＭＡＳは、電気通信事業者または他のホストシステムの必要性および電気通信事業者または他のホストシステムとの統合に応じて他のデータリポジトリおよびコンポーネントを含み得る。供給コンポーネント１２１４は、図５に示され、且つ参照されたＭＡＳのコンポーネントを含む。供給コンポーネント１２１４は、、ＭＡＳ１２０９がダウンロード可能なアプリケーションおよびアプリケーション発見に対する要求を受け取ること、特定の加入者および特定の加入者デバイスによる使用に対する要求の適切性を検証すること、要求されたアプリケーションをそれに合うようにカスタマイズすること、および供給されたアプリケーションを加入者デバイス１２０１に送ることを可能にする。アプリケーションストア１２１６は、加入者デバイス１２０２に対するデータリポジトリである。アプリケーションストア１２１６は、加入者デバイス１２０１にダウンロードするために適切なアプリケーションを格納するデータリポジトリである。アプリケーションは、加入者デバイス１２０１に迅速にダウンロードするために事前供給（「静的供給」され得るか、または、アプリケーションは、要求の際に供給（「動的供給」）され得る。データリポジトリ１２１５は、加入および（プロファイル管理に用いられたプロファイルをホスト管理するための）デバイス性能のレベルを確立するため、および各顧客デバイスに適したアプリケーションを決定するためにデータリポジトリおよび検索サービスを提供する。
【００８９】
当業者は、ＭＡＳ１２０９が、複数の、不均一でさえある、コンピュータシステムおよびネットワークからなる分散された環境においてインプリメントされ得ることを認識する。例えば、一実施形態では、供給コンポーネント１２１４およびアプリケーションストア１２１５が物理的に異なるコンピュータシステムに位置付けられる。別の実施形態では、供給コンポーネント１２１４の種々のコンポーネントが、分離したサーバ機構上でホスト管理され、データリポジトリ１２１５および１２１６から遠隔に位置付けられ得る。プログラムおよびデータの異なる構成および位置が、本発明の技術を用いた使用に対して企図される。
【００９０】
例示の実施形態では、供給コンポーネント１２１４が、Ｊａｖａ（登録商標）ＴＭ２Ｐｌａｔｆｏｒｍ  Ｅｄｉｔｉｏｎ  Ｓｐｅｃｆｉｃａｔｉｏｎ，Ｖｅｒｓｉｏｎ１．２，Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，１９９９（本明細書において、その全体を参考として援用する）に詳細に記載されるような、Ｊ２ＥＥマルチティアーアプリケーションプラットフォームを用いてインプリメントされる。供給コンポーネント１２１４は、プロトコルマネージャ、供給マネージャ、展開マネージャ、料金請求マネージャ、その他のコンポーネントを含む。図１３〜２８は、図３から１１を参照して記載された機能性を達成するためにこれらのコンポーネントのそれぞれによってインプリメントされた特定のルーチンの種々の例示の実施形態を記載する。例示の実施形態では、これらのコンポーネントは、同時にかつ非同期的に実行し得る。このため、コンポーネントは、周知のメッセージパッシング技術を用いて通信し得る。当業者は、等価な同期実施形態も、ＭＡＳインプリメンテーションによってサポート可能であることを認識する。また、当業者は、他のステップが各ルーチンのためにインプリメントされ、異なる順序で、そして、異なるルーチンで、それでも、ＭＡＳの機能を達成し得ることを認識する。
【００９１】
図１３は、異なるプロトコルを用いて変動する無線ネットワークを介して種々の加入者デバイスと通信するために、モバイルアプリケーションシステムのプロトコルマネージャによって行われる処理の例示のフロー図である。（例えば、図５のプロトコルマネージャ５０３参照）。ステップ１３０１では、プロトコルマネージャが、初期化される。ステップ１３０２では、プロトコルマネージャは、加入者デバイスからの入来データ要求があるかどうかを決定し、あれば、ステップ１３０３に進み、他の場合には、ステップ１３０６に連続する。ステップ１３０３では、Ｐｒｏｔｏｃｏｌ  Ｍｅｎａｇｅｒは、どの無線ネットワーク（または無線化されたネットワーク）を介してその要求が送られたかを決定することによって入来要求のために用いられたプロトコルを決定し、入来要求に関連付けられた記録における未決定の要求のために決定されたプロトコルを格納する。システムによって処理されたときのプロトコル記録と入来要求との間の関連が、例えば、要求メッセージヘッダ内のプロトコル記録への参照を格納することによって維持される。ステップ１３０４では、プロトコルマネージャは、入来要求を内部的に用いられるプロトコル（例えば、ＨＴＴＰ）に転送する。ステップ１３０５では、プロトコルマネージャは、転送された要求を供給マネージャ（例えば、図５の供給マネージャ５０４）に送り、ついで、要求の処理を終了する。ステップ１３０６では、プロトコルマネージャは、加入者デバイスへの出力データ要求あるかどうか決定し、あれば、ステップ１３０７に進み、他の場合には、要求の処理を終了する。ステップ１３０７では、プロトコルマネージャは、出力データに対応する入来要求に関連付けられる決定されたプロトコルを検索する。決定されたプロトコルは、要求を発行した加入者デバイスによって用いられたプロトコルである。ステップ１３０８では、プロトコルマネージャは、決定されたプロトコルにしたがって出力データメッセージを符号化／転送する。ステップ１３０９では、プロトコルマネージャは、符号化された出力データを、要求を示す加入者デバイスに転送し、処理を終了する。
【００９２】
図１４は、加入者デバイスに対して要求されたアプリケーションの適合性を決定するため、および加入者デバイスが復号化し得るフォーマットでデバイスへの要求されたアプリケーションを提示するためにモバイルアプリケーションシステムの供給マネージャによって行われる処理の例示のフロー図である。（例えば、図５の供給マネージャ５０４参照。）ステップ１４０１では、供給マネージャは、任意の必要な初期化を行う。ステップ１４０２〜１４１３では、供給マネージャは、ＭＡＳ「コマンド」を処理する。ステップ１４０２では、供給マネージャは、入来要求において特定されるコマンド（またはダウンロードへの要求）を決定する。ステップ１４０３では、供給マネージャは、図６を参照して記載されたように、入来要求を分析し、特定の供給ステップを後に利用するように増大し、変更し、または変更するために提供するように動的に要求を修正することによって、または、通信または構成理由のための他のパラメータ値を挿入することによって、要求を事前処理する。ステップ１４０４では、供給マネージャは、「コマンド」はダウンロードされる要求であるかどうかを決定し、そうであれば、ステップ１４０４に続き、他の場合には、ステップ１４０８に続く。コマンドの分離「タイプ」として現在インプリメントされるが、当業者は、ダウンロードされた要求がパラメータとして特定化された「ＵＲＬ」によって示されるとしても、必須のコマンドであること、および、コマンド処理を行うための多くの等価なプログラム技術があることを認識する。ステップ１４０５では、供給マネージャは、要求さｒたアプリケーション（コンテンツ）がＭＡＳに知られているかどうか決定し、そうであれば、ｗａｌｌｅｄ−ｇａｒｄｅｎ供給を行うためにステップ１４０６に続き、他の場合には、オープン提供を行うためにステップ１４０７に続く。例示の実施形態では、そのコンテンツがＭＡＳに知られ得るいくつかの方法がある。これは、提供および公表アプリケーションへのウェブサイトを用いるシステムアドミニストレータを通じて、最終的に承認および公表されたコンテンツを示すコンテンツプロバイダを通じて、および、提出プロセスを固有に発生させる電気通信事業者に知られた信託された第三者コンテンツプロバイダからさらに知られたアプリケーションへのダウンロードを要求する加入者を通じて行われる。Ｗａｌｌｅｄ−ｇａｒｄｅｎ提供は、図１５を参照してさらに議論され、オープン供給は、図１６を参照してさらに議論される。一旦提供がステップ１４０６または１４０７において発生すると、要求は、ステップ１４１３において後処理される。他方、ステップ１４０８において、指定されたコマンドがアプリケーションリストに対する要求である場合、供給マネージャは、アプリケーション発見を行うためにステップ１４０９に続くか、または、ステップ１４１０に続く。アプリケーション発見の後、供給マネージャは、その要求を後処理するためにステップ１４１０に進む。ステップ１４０９では、コマンドがダウンロード履歴に対する要求である場合、供給マネージャは、ダウンロードされたアプリケーションのリストを検索するためにステップ１４１１に続き、後処理のためにステップ１４１３に進む。ステップ１４０２では、コマンドがいくつかの他のＭＡＳコマンドである場合に、供給マネージャは、コマンドを適切に処理し、ステップ１４１３に進む。ステップ１４１３では、図６を参照して記載されたように、供給マネージャは、他のコンポーネントの機能性の拡大であるかまたは他のパラメータを修正する機能を行うことをＭＡＳの他のコンポーネントを指示するために、インストラクションへの参照を含むように要求を修正することによって、要求を後処理する。例えば、供給マネージャがダウンロードを要求する個人が高度に値が付けられた広告クライアントの従業者であることを決定する場合、供給マネージャは、料金請求マネージャに、この特定の取り引きのために借方記入しないことを指示し得る。要求の後処理後、供給マネージャは、要求が受け取られるまでに処理を終了する。
【００９３】
図１５は、供給マネージャの実施Ｗａｌｌ−Ｇａｒｄｅｎ供給ルーチンによって行われる処理の例示のフロー図である。（図１４のステップ１４０６を参照。）ｗａｌｌｅｄ−ｇａｒｄｅｎ供給では、要求されたアプリケーションは、加入者によって認可について、および加入者のデバイスによって能力について検証される。具体的には、ステップ１５０１において、供給マネージャは、要求されたアプリケーションに対応する加入者プロファイル、デバイスプロファイル、およびアプリケーションプロファイルを検索する。一実施形態では、これらのプロファイルは、図６のプロファイルリーダ６５２を呼び出すことによって検索される。ステップ１５０２では、供給マネージャは、要求されたアプリケーションが無線電気通信事業者によって、例えば、禁止されたＡＰＩの包含に起因して検索されていないことを検証するためにアプリケーション検証を行う。アプリケーション検証は、図１６を参照してさらに議論される。ステップ１５０３では、供給マネージャは、電気通信事業者請求書ポリシーまたは他の場合の要求されたアプリケーションを介して加入者が認可されるかどうか決定するために加入者検証を行う。加入者認可は、図１７を参照してさらに議論される。ステップ１５０４では、供給マネージャは、デバイスが要求されたアプリケーションに対応するアプリケーションプロファイルによって特定化されたリソースおよび他の能力を有するかどうか決定するためにデバイス検証を行う。デバイス認証は、図１８を参照してさらに議論される。ステップ１５０５では、供給マネージャは、図６を参照して記載されるように、加入者のアカウントがアプリケーションをダウンロードするために借方記入されるのに十分であることを検証するために、事前支払い請求がシステムに含まれる場合に事前支払いの請求書検証を行う。ステップ１５０６では、供給マネージャは、展開マネージャの供給インタフェースを呼び出し、そして、供給されたアプリケーションを戻す。
【００９４】
図１６は、供給マネーャのアプリケーションの検証ルーチンによって行われる処理の例示のフロー図である。（図１５のステップ１５０２参照。）要約すれば、アプリケーションの検証ルーチンは、電気通信事業者が要求されたアプリケーションがダウンロードすること（グローバルにまたはターゲット設定して、加入者アイデンティティ、デバイスタイプ等の他の基準に基づいて、）を禁止しているかどうか決定する。ステップ１６０１では、ルーチンは、電気通信事業者がダウンロードされることを可能にすることを減退するアプリケーションのリストを要求および取得する。このリストは、ローカルに検索され、、例えば、図６のＭＡＳ  Ｑｕｅｒｙ  Ｅｎｇｉｎｅ６５０を用いて、周期ベースで更新され得る。ステップ１６０２では、ルーチンは、アプリケーションが禁止されているかを決定するために要求されたアプリケーションに対する検索リストを検索する。これは、例えば、不当なコードを含むかまたは含むことが疑われるアプリケーションをダウンロードすることを禁止するために迅速で頑強な方法を提供する。この方法は、（各デバイスが「ウイルスチェッカー」および不当なアプリケーションデータファイルを取得する場合の分散されたアプローチに比較して）中心に基礎をおくアプローチを提供し、不当なアプリケーションの広がりを停止する。ステップ１６０３では、ルーチンは、要求は、禁止されたアプリケーションのためであるかを決定し、そうであれば、ステップ１６０５に進み、他の場合には、ステップ１６０４に進む。ステップ１６０４では、要求は、ログがとられ、ルーチンは、成功した状態で戻る。ステップ１６０５では、失敗した要求がログがとられ、通知が加入者に送られ、ルーチンは、失敗した状態に戻る。
【００９５】
図１７は、供給マネージャの加入者の検証ルーチンによって行われる処理の例示のフロー図である。（図１５のステップ１５０３参照。）要約すれば、加入者の検証ルーチンは、プロファイルにおけるアドミニストレータコンポーネント（例えば、図５のアドミニストレータ５０９）によって格納およびインプリメントされるように、加入者プロファイルをコンテンツカテゴリーおよびサービスプラン規定と比較し、加入者が要求されたアプリケーションをダウンロードすることが認可されているかどうかを決定する。具体的には、ステップ１７０１において、ルーチンは、どの電気通信事業者から要求メッセージが受け取られたかを決定する。ステップ１７０２では、ルーチンは、要求を送る加入者を識別する。これは、例えば、ルーチン情報のための要求メッセージを検証することによって、達成され得る。ステップ１７０３では、ルーチンは、加入者プロファイル情報が電気通信事業者上に格納されている場合に決定された電気通信事業者との接続を確立し、ステップ１７０４では、識別された加入者のプロファイルを電気通信事業者から検索する。当業者は、加入者のプロファイルも、例えば、図５のローカルデータリポジトリ５１１にアクセスするために図６のプロファイルリーダ（Ｐｒｏｆｉｌｅ  Ｒｅａｄｅｒ）６５２コンポーネントを用いて、ＭＡＳ上にローカルに格納され、かつ、ＭＡＳから検索され得ることを認識する。ステップ１７０５では、ルーチンは、どのアプリケーションが要求されたかを決定するために要求を検査する。ステップ１７０６では、ルーチンは、加入者のプロファイルは要求されたアプリケーションをダウンロードすることを認可するかを決定する。この決定は、例えば、アプリケーションがサービスプランに関連付けられるコンテンツカテゴリーに属するかどうかを決定するために加入者が属する加入者グループのサービスプランを検証することによって達成され得る。さらに、ルーチンは、加入者プロファイルにおける一致した禁止アプリケーションの存在をチェックし得、一致が見出された場合、引き続いて、その要求を拒絶する。ステップ１７０７では、要求が認可されることが決定される場合、ルーチンは、ステップ１７０８に進み、他の場合には、それは、ステップ１７０９に進む。ステップ１７０８では、要求は、ログがとられ、ルーチンは、成功した状態で戻る。ステップ１７０９では、失敗した要求がログがとられ、加入者に通知が送られ、ルーチンは、失敗した状態で戻る。
【００９６】
図１８は、供給マネージャのデバイスの検証ルーチンによって行われる処理の例示のフロー図である。（図１５のステップ１５０４参照。）要約すると、デバイスの検証ルーチンは、加入者のデバイスに関連付けられるデバイスプロファイルを、要求されたアプリケーションに対するアプリケーションプロファイルと比較し、アプリケーションによって要求されたリソースが、デバイスプロファイルにしたがって利用可能であること検証する。ステップ１８０１では、ルーチンは、要求が検索される加入者デバイスのタイプを識別する。当業者は、この情報がプロトコル交渉において決定され、要求メッセージに格納されたルーチン情報から抽出され得るることを認識する。ステップ１８０２では、ルーチンは、識別されたデバイスに関連付けられる以前に格納されたデバイスプロファイルにアクセスすることによって、加入者デバイスの能力を決定する。一実施形態では、デバイスプロファイルは、図６のプロファイルリーダ６５２を用いて検索される。デバイスプロファイルが識別されたデバイスに対して見出されない場合、イベントがログされ、システムアドミニストレータは、それに応じて通知される。（一実施形態では、電気通信事業者は、加入者が電気通信事業者を用いて電話番号を取得するために登録するときに各加入者によって用いられる特定種のデバイスを知らされる。電気通信事業者は、好適には、すべての登録されたデバイスタイプがデバイスプロファイルでサポートされることを保証する。）デバイスプロファイルは、メモリキャパシティ、プロセッサタイプ、処理速度、ダウンロード可能なアプリケーションの最大サイズ等の加入者デバイスの能力に関する情報を含む。ステップ１８０３では、ルーチンは、アドミニストレータコンポーネントによって以前に作成されたように、要求されたアプリケーションに対応するアプリケーションプロファイルを検索および検証することによって要求されたアプリケーションに対する要求を決定する。アプリケーションプロファイルは、例えば、要求されたメモリの量、作製されたＡＰＩコール、および最小のプロセッサ速度を含むアプリケーションを実行するための要求を含む。要求は、さらに、サポートされた加入者デバイスのタイプにしたがうアプリケーションプロファイルにおいて特定化され得る。ステップ１８０４では、デバイスの能力が、デバイスおよびアプリケーションプロファイルを比較することによって要求されたアプリケーションの要求と比較される。ステップ１８０５では、ルーチンは、デバイスが要求されたアプリケーションを走行することが可能であるかを決定し、そうである場合には、ステップ１８０６に進み、他の場合には、それは、ステップ１８０７に進む。ステップ１８０６では、要求はログされ、ルーチンは、成功した状態で戻る。ステップ１８０７では、失敗した要求がログされ、加入者に通知が送られ、ルーチンは、失敗した状態で戻る。
【００９７】
図１９は、供給マネージャのオープン供給の実施（Ｐｅｒｆｏｒｍ  Ｏｐｅｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）ルーチンによって行われる処理の例示のフロー図である。（図１４のステップ１４０７参照。）ステップ１９０１および１９０２では、供給マネージャは、すでに利用可能であるか、または、キャッシュされた供給されたアプリケーションがあるかかどうかを決定することを必要とし、そうである場合には、ステップ１９０３に続き、他の場合には、ステップ１９０４に続く。このシナリオは、例えば、アプリケーション（それが信頼されていないまたは未知のソースからであったとしても）が、以前に要求および供給された場合に、発生し得る。ステップ１９０３では、提供されたアプリケーションが戻される。あるいは、提供されたアプリケーションが見出されない場合、ステップ１９０４において、ルーチンは、要求されたメッセージにおいて提供された指定されたＵＲＬを用いてアプリケーションを検索する。このアプリケーションは、ＭＡＳによる前に進められ得、このため、対応するアプリケーションんプロファイルをすでに有し得る。したがって、ステップ１９０５において、ルーチンは、対応するアプリケーションプロファイルが存在するかどうかを決定し、そうであれば、ステップ１９０７に続き、他の場合には、ステップ１９０６において、新しいアプリケーションプロファイルを作成し、その後、ステップ１９０７に続く。ステップ１９０６では、ルーチンは、（検索されたまたは作成された）アプリケーションプロファイルを、加入者の要求のデバイスタイプに対応するデバイスプロファイルと比較することによってデバイス検証を行う。ステップ１９０８では、ルーチンは、信頼されていないアプリケーションを供給するために、展開マネージャの供給インタフェースを呼び出し、ステップ１９０９では、供給されたアプリケーションに戻る。
【００９８】
図２０は、供給マネージャのアプリケーション発見の実施（Ｐｅｒｆｏｒｍ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｉｓｃｏｖｅｒｙ）ルーチンによって行われる処理の例示のフロー図である。（図１４のステップ１４０９を参照。）２つの基本タイプのアプリケーション発見がある。加入者によって特定化された基準に一致するアプリケーションに対する検索および格納された加入者選好に基づくアプリケーションリストによって提供されたシステムである。具体的には、ステップ２００１において、ルーチンは、ユーザは検索基準を指定したどうかを決定し、そうであれば、ステップ２００２に続き、他の場合には、ステップ２００４に続く。ステップ２００２では、ルーチンは、アプリケーションストア（アプリケーションのデータリポジトリ）を検索し、指定された基準に一致するアプリケーション（コンテンツ）について問い合わせる。例示の基準は、カテゴリー、価格、性別、年齢等を含む。ステップ２００３では、リストは、これらの問い合わせ結果に最初に設定され、ルーチンは、ステップ２００７に続く。ステップ２００４では、ルーチンは、利用可能なＰｅｒｓｏｎａｌ  Ａｃｅｓｓ  Ｌｉｓｔ（「ＰＡＬ」）があるかどうかを決定し、そうであれば、決定されたＰＡＬへのリストを最初に設定するためにステップ２００５に続き、他の場合には、デフォルト値へのリストを設定するためにステップ２００６に続く。ステップ２００７では、ＭＡＳは、スタートデッキ（ｓｔａｒｔｄｅｃｋ）として知られるように、規定されたアプリケーションのセットを最初のリストに加える。スタートデッキは、本質的に、ＭＡＳがスロットをアプリケーション発見セッションに、例えば、高収益広告者のために保存することを可能にする。ステップ２００８では、ルーチンは、図１７に対して議論されるように、最初のリスト上の各アプリケーションに対してＶｅｒｆｙ  Ｓｕｂｓｃｒｉｂｅｒルーチンを呼び出す。ろ過ステップ２００８〜２００９のいずれをもパスしない任意のアプリケーションは、プロセスにおける次のステップの前にリストからフィルタリングされる。ステップ２００９では、図１８に対して議論されるように、最初のリスト上の各アプリケーションに対して、ルーチンは、検証  Ｄｅｖｉｃｅを呼び出す。ステップ２０１０では、ルーチンは、内部標準フォーマットに対してＸＭＬを生成し、そして、ステップ２０１１では、リストのコンテンツを、加入者デバイスに対応する適切な言語に変化させる。
【００９９】
図２１は、加入者およびシステムアドミニストレータによる要求に応答して供給されたアプリケーションを提供するためにモバイルアプリケーションシステムの展開マネージャによって行われる処理の例示のフロー図である。（例えば、図５の展開マネージャ５０６参照。）システムアドミニストレータは、人気のあるデバイスに対して人気のあるアプリケーションが事前に供給され（静的に供給され）、加入者の要求に応答するのに要求される時間を最小にする目的のためにキャッシュされることを要求し得る。あるいは、すべてのアプリケーションは、動的に供給され、任意的にキャッシュされ得る。ステップ２１０２では、展開  マネージャは、初期化される。ステップ２１０２では、展開マネージャは、要求されたアプリケーションのアイデンティティを決定するために要求を評価する。ステップ２１０３では、展開マネージャは、図２２を参照してさらに議論されるように、コンテンツの検索を制御し、供給を発生させるために供給アプリケーションの獲得（Ｐｒｏｃｕｒｅ  Ｐｒｏｖｉｓｉｏｎｄ  Ａｐｐｌｉｃａｔｉｏｎ）ルーチンを呼び出す。ステップ２１０４では、展開マネージャは、供給されたアプリケーションの格納を始めるためにシステムアドミニストレータによって要求がなされるかどうかを決定し、そうである場合には、ステップ２１０５に進み、他の場合には、ステップ２１０６に進む。ステップ２１０５では、展開マネージャは、システムアドミニストレータのポリシーに応じて、供給されたアプリケーションをキャッシュ、電気通信事業者のアプリケーションのストア、または遠隔アプリケーションホストのサーバに格納し、処理を終了する。ステップ２１０６では、展開マネージャは、供給されたアプリケーションを供給マネージャに送り、その後、処理を終了する。
【０１００】
図２２は、展開マネージャの供給アプリケーションの獲得ルーチンによって行われる処理の例示のフロー図である。（図２１のステップ２１０５参照。）要約すると、展開マネージャは、アプリケーションコードを検索し、ＭＡＳにおいてインプリメントされた現在のポリシーに従ってそれを点検、最適化、および備える（ｉｎｓｔｒｕｍｅｎｔ）。ステップ２２０１では、ルーチンは、アプリケーションの事前に供給されたバージョンがＭＡＳに知られた位置に存在するかどうかを決定するためにいくつかのタイプのインデックスを相談する。この情報が格納される方法は、どのようにキャッシュおよび／またはデータリポジトリがインプリメントされるかに関連する。局所的に速いデータストアおよびインデックスを用いてキャッシュをインプリメントするための周知技術が用いられ得る。アプリケーションは、大多数の要求が同一の供給要求を引き起こすアプリケーションに対してなされることが予想される場合に、事前に供給され、かつ格納され得る。これは、例えば、同一種の加入者デバイスを有する大多数のユーザが同一のアプリケーションを要求する場合に発生し得る。このような場合には、アプリケーションは、キャッシュに供給および格納され（および要求が、アプリケーションが供給される加入者デバイスを有するユーザによってなされる場合に検索され）、または、他のＭＡＳデータリポジトリに格納され得る。ステップ２２０２では、事前に供給されたバージョンのアプリケーションが存在する場合に、ルーチンは、ステップ２２０３に進み、他の場合には、それは、ステップ２２０７に進む。ステップ２２０３では、事前に供給されたアプリケーションの位置が決定される。ステップ２２０４では、ルーチンは、事前に供給されたアプリケーションがローカルに格納されているか決定し、そうであれば、ステップ２２９５に進み、他の場合には、それは、ステップ２２０６に進む。ステップ２２０５では、ルーチンは、アプリケーションをローカルにフェッチし（典型的には、電気通信事業者のアプリケーションストアから、これは、ＭＡＳまたは他の電気通信事業者のプレマス（ｐｒｅｍｉｓｅ）に位置付けられ得る）、そして、戻る。ステップ２２０６では、ルーチンは、遠隔アプリケーションホスト（例えば、第三者サーバ）からアプリケーションをフェッチし、そして、戻る。他方、ステップ２２０２において、ルーチンが事前に供給されたバージョンの要求されたアプリケーションが存在しないことを決定する場合、ステップ２２０７において、ルーチンは、未処理の、未供給のアプリケーションの位置を決定する。ステップ２２０８では、ルーチンは、アプリケーションコードがローカルに格納されているかを決定し、そうであれば、ステップ２２０９に進み、他の場合には、ステップ２２１０に進む。ステップ２２０９では、ルーチンは、電気通信事業者のアプリケーションストアまたは他のローカル格納からアプリケーションコードをフェッチする。ステップ２２１０では、ルーチンは、遠隔アプリケーションホストからアプリケーションコードをフェッチする。ステップ２２１１では、ルーチンは、図２３を参照してさらに記載されるように、フェッチされたアプリケーションを供給し、そして、戻る。
【０１０１】
図２３は、展開マネージャのアプリケーション取得（Ｐｒｏｖｉｓｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎ）ルーチンによって行われる処理の例示のフロー図である。ステップ２３０１では、アプリケーションの取得ルーチンは、図２４を参照してさらに記載されるように、アプリケーションを点検する。ステップ２３０２では、ルーチンは、図２５を参照してさらに記載されるように、アプリケーションを最適化する。ステップ２３０３では、ルーチンは、図２６を参照してさらに記載されるように、アプリケーションにおけるインストルメントをインストールする。ステップ２３０４では、ルーチンは、図２３を参照してさらに記載されるように、配信に適したフォーマットにアプリケーションをパッケージングし、そして、戻る。
【０１０２】
図２４は、展開マネージャの検査アプリケーションルーチンによって実行された処理の例示的なフローチャートである（例えば、図２３におけるステップ２３０１を参照）。ステップ２４０１では、ルーチンは、パッケージ、クラス、メソッド、およびフィールド、または適切な場合には、他の構造を含むＡＰＩを識別するようにリクエストされる場合、アプリケーションコードの構造を分解／復号化する。このアプリケーションがＪａｖａ（Ｒ）で符号化される場合、アプリケーション自体にソースコードレベルチェックを挿入する必要なしでバイナリプログラムに対して実行され、デバッグ／ログ情報を生成し得る。検査ステップのセットは、ステップ２４０１〜２４０５において例として説明されるが、当業者は、本明細書中で説明されたステップに加えて、またはこのステップの代わりの他のステップが、適切な場合に適用され得ることを理解する。ステップ２４０２では、ルーチンは、調査（リクエストされたアプリケーション、リクエストしている加入者、アプリケーションのコンテンツプロバイダ、およびグローバルフィルタ）の下で潜在的なターゲットに関連する任意のアプリケーションフィルタを検索する。一実施形態では、これらのフィルタは、ＭＡＳデータレポジトリに格納されるが、これらは、任意の公知の場所に格納され得る。ステップ２４０３では、ルーチンは、分解されたコードと禁止されたデータ構造および検索されたアプリケーションフィルタによって説明されたようなＡＰＩの格納された指標とを比較することによって、不当および禁止されたコードのための検索されたアプリケーションを検査する。ステップ２４０４では、ルーチンは、ＡＰＩ呼び出しの数、タイプ、およびＡＰＩの周波数を決定し、これらのＡＰＩがシステムアドミニストレータのリクエストを満たすかどうかをチェックする。これらのリクエストはアプリケーションフィルタに格納され得る。ステップ２４０５では、ルーチンは、分解されたアプリケーションのフロー解析を実行し、始動されたスレッドの数がシステムアドミニストレータのリクエストの範囲内にあるかどうかを決定する。このフロー解析は、コードの指向性のグラフを生成する等の技術を用い、周知のグラフ解析アルゴリズムを適用して達成され得る。当業者は、他のチェックはまた、検索されたアプリケーション上で実行され得ることを理解する。ステップ２４０６では、このルーチンは、検索されたアプリケーションが検査に合格したかどうかを決定する。この場合には成功状態に戻り、そうでなければ、ルーチンは故障条件にフラグを立て故障状態に戻る。
【０１０３】
図２５は、展開マネージャの最適アプリケーションルーチンによって実行された処理の例示的なフローチャートである（例えば、図２３におけるステップ２３０２を参照）。当業者は、任意の公知のコード最適化技術がこのルーチンに組み込まれ得、示されたものが例示的であることを理解する。ステップ２５０１では、ルーチンは、リクエストされたアプリケーションのファイルサイズを短くする目的のために、検索されたアプリケーションに含まれた変数名を短くする。ステップ２５０２では、このルーチンは検索されたアプリケーションの実行可能なパスをマッピングする。ステップ２５０３では、ルーチンは、ファイル長さを短くする目的のために任意の未使用のコードを除去し、同様の最適化ステップを続ける。最適化が終了すると、ルーチンは戻る。
【０１０４】
図２６は、展開マネージャのインストール測定ルーチンによって実行された処理の例示的なフローチャートである。（例えば、図２３におけるステップ２３０３を参照）ステップ２６０１では、ルーチンは、例えば、典型的には図６におけるプロファイルリーダー６５２を用いて、ローカルデータレポジトリからの識別された加入者のプロファイルを検索する。ステップ２６０２では、リクエストされたアプリケーションを使用する場合、識別された加入者のための電気通信事業者のポリシーを決定する。例えば、所定の加入者は、加入者ベースまたは試験ベース上でアプリケーションを使用することが許可され得るが、他の加入者は許可され得ない。図７を参照して上記で説明したように、測定は所定のポリシーをインプリメントする。例えば、その測定は、供給されたコードが制限された回数または所与の期間の間に遅れることなく実行されることを可能にするコードラッパーを供給し得る。ステップ２６０３では、ルーチンが戻る後で決定された電気通信事業者のポリシーに従ってリクエストされたアプリケーションにその測定をインストールする。例示的な実施形態では、インストール測定ルーチンは、新しいコードを挿入するか、またはバイナリレベルでアプリケーション内の既存のコードを変更するバイトコード測定技術を使用する。測定されるコードは、インストール測定ルーチンによって直接供給されてもよいし、例えば異なる電気通信事業者ポリシーに関連付けられたデータストレージ等の他のデータストレージから検索されてもよい。
【０１０５】
図２７は、展開マネージャのパッケージアプリケーションルーチンによって実行された処理の例示的なフローチャートである（例えば、図２３におけるステップ２３０４を参照）。ステップ２７０１では、ルーチンは、識別された加入者デバイスのための互換性ファイルフォーマットを決定するために検索された加入者デバイスプロファイルにアクセスする。ステップ２７０２では、ルーチンは、加入者デバイスが圧縮されたファイルルーチンを読み出すことが可能であるかどうかを決定する。その場合、ステップ２７０３に進み、他の場合、ステップ２７０４に進む。ステップ２７０３では、ルーチンは、転送時間および転送されるべきバイトの数を最小化する目的のために供給されたアプリケーションを圧縮する。ステップ２７０４では、ルーチンは、アプリケーションを抽出するための無線デバイス上で実行するハンドセット管理コンソール（例えば、図２のハンドセット管理コンソールを参照）を可能にするのに十分な情報を用いて供給されたアプリケーションをカプセル化することによって、決定されたファイルフォーマットを用いてパッケージングする。上述したように、多くのＪａｖａ（Ｒ）使用可能デバイスによって好まれた１つのフォーマットは、ＪＡＲファイルに圧縮される。しかし、いくつかの場合、アプリケーションは、より小さなパケットでデバイスに分散されることが必要である。これらのパケットは、インストールのために無線デバイス上で再び集められる。図２８を参照して以下に説明されたように料金請求マネージャはまた、目的を料金請求およびルーティングするための情報をカプセル化することに依存する。アプリケーションがパッケージングされた後、ルーチンが戻る。
【０１０６】
図２８は、モバイルアプリケーションシステムの料金請求マネージャによって実行された処理の例示的なフローチャートである（例えば、図５における料金請求マネージャ５０７を参照）。ステップ２８０１では、料金請求マネージャが初期化される。ステップ２８０２では、料金請求マネージャは、料金請求レポートを生成する時間であるかどうかを決定し、その場合、ステップ２８０３に進む。他の場合は、ステップ２８０４に進む。代替的実施形態では、料金請求マネージャは、例えば、管理コンポーネントからの管理クエリに応答して、料金請求レポートを生成し得る。ステップ２８０３では、料金請求マネージャは、システムアドミニストレータによって設定されたパラメータに基づいて料金請求レポートを生成する。ステップ２８０４では、料金請求マネージャは、供給情報を記録するリクエストが存在するかどうかを決定し（料金請求目的のために）、その場合、ステップ２８０５に進み、他の場合には戻る。ステップ２８０５では、料金請求マネージャは、料金請求に関係するリクエストのパラメータ（例えば、リクエストを行うユーザのアイデンティティ、リクエストのカテゴリ、リクエストされたダウンロードのサイズ等）および未来の料金請求のために使用されるシステム変数（例えば、日付、日時等）を記録する。例えば、アプリケーションの長さ、アプリケーションがリクエストされた時間、アプリケーションを処理するために必要な時間、および料金請求レポートを生成する場合に使用され得るアプリケーションの数である。さらに、予め支払われた料金請求が支援される場合、料金請求マネージャは、加入者の予め支払われたアカウントを適切に減少させるために電気通信事業者にアカウントリクエストを生成させ得る。料金請求レポートが生成され、適切なパラメータが記録された後に、料金請求マネージャは戻る。
【０１０７】
上述から、本発明の特定の実施形態が例示の目的のために本明細書中で説明されてきたが、種々の改変が本発明の趣旨および範囲を逸脱することなくなされ得ることが理解される。例えば、当業者は、本明細書中で説明された方法およびシステムは、任意のネットワーク（有線または無線、あるいは複数のこのようなネットワーク）を介してアプリケーションを供給するために利用可能であることを理解する。当業者は、本明細書中で説明された方法およびシステムは、異なるプロトコル、通信メディア（光、ワイヤレス、ケーブル等）、および加入者デバイス（無線ハンドセット、電気オーガナイザ、携帯情報端末、携帯型電子メール装置、ゲーム装置、ポケットベル、ＧＰＳ受信器等のナビゲーション装置等）に利用可能である。さらに、当業者は、この特定の要求または条件を満たすように説明された方法およびシステムへの変更および改変を行う方法を理解する。
【図面の簡単な説明】
【０１０８】
【図１】図１は、無線サービスの加入者がモバイルアプリケーションシステムからソフトウェアアプリケーションをリクエストおよびダウンロードする態様を図示する例示的ブロック図である。
【図２】図２は、モバイルアプリケーションシステムと共に動作するＨａｎｄｓｅｔ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｃｏｎｓｏｌｅの例示的ブロック図である。
【図３】図３は、無線加入者デバイスにアプリケーションを提供するために、例示的モバイルアプリケーションシステムによって実行される一般的工程の例示の概観的フローチャートである。
【図４】図４は、無線加入者デバイスのためにアプリケーションディスカバリを実行するための例示的モバイルアプリケーションシステムによって実行される工程の例示の概観的フローチャートである。
【図５】図５は、モバイルアプリケーションシステムの例示的実施形態のコンポーネントの概観的ブロック図である。
【図６】図６は、モバイルアプリケーションシステムの例示的プロビジョニングマネージャのコンポーネントの例示的ブロック図である。
【図７】図７は、モバイルアプリケーションシステムの展開マネージャのコンポーネントの例示的ブロック図である。
【図８】図８は、モバイルアプリケーションシステムのアドミニストレータコンポーネントの例示的ブロック図である。
【図９Ａ】図９Ａは、Ｃｏｎｔｅｎｔ  Ｐｒｏｖｉｄｅｒ  Ｗｅｂｓｉｔｅのアプリケーション送信画面の例示的画面ディスプレイである。
【図９Ｂ】図９Ｂは、Ｃｏｎｔｅｎｔ  Ｐｒｏｖｉｄｅｒ  Ｗｅｂｓｉｔｅのさらなる情報送信画面の例示的画面ディスプレイである。
【図９Ｃ】図９Ｃは、Ｃｏｎｔｅｎｔ  Ｐｒｏｖｉｄｅｒ  Ｗｅｂｓｉｔｅのさらなる情報送信画面の例示的画面ディスプレイである。
【図１０Ａ】図１０Ａは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅのカテゴリー保守画面の例示的画面ディスプレイである。
【図１０Ｂ】図１０Ｂは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅの保留アプリケーション保守画面の例示的画面ディスプレイである。
【図１０Ｃ】図１０Ｃは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅの保留アプリケーションの部分の例示的画面ディスプレイである。
【図１０Ｄ】図１０Ｄは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅの保留アプリケーションの部分の例示的画面ディスプレイである。
【図１０Ｅ】図１０Ｅは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅの保留アプリケーションの部分の例示的画面ディスプレイである。
【図１０Ｆ】図１０Ｆは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅのアプリケーションフィルタ管理インターフェースの部分の例示的画面ディスプレイである。
【図１０Ｇ】図１０Ｇは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅのアプリケーションフィルタ管理インターフェースの部分の例示的画面ディスプレイである。
【図１０Ｈ】図１０Ｈは、Ｊａｖａ（登録商標）プロファイル、デバイスプロファイル、コンテンツプロバイダ、またはすべての利用可能な対象の１つである選択された対象を変更するための例示的画面ディスプレイを示す。
【図１０Ｊ】図１０Ｊは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅのアプリケーションフィルタ管理インターフェースの部分の例示的画面ディスプレイである。
【図１０Ｋ】図１０Ｋは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅの料金請求方法管理インターフェースの例示的画面ディスプレイである。
【図１０Ｍ】図１０Ｍは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅ内の加入者管理画面の例示的画面ディスプレイである。
【図１０Ｎ】図１０Ｎは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅ内の加入者管理画面の例示的画面ディスプレイである。
【図１０Ｏ】図１０Ｏは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅ内の加入者管理画面の例示的画面ディスプレイである。
【図１０Ｐ】図１０Ｐは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅ内の加入者管理画面の例示的画面ディスプレイである。
【図１０Ｑ】図１０Ｑは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅのメッセージインターフェースの例示的画面ディスプレイである。
【図１０Ｒ】図１０Ｒは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅのレポート画面の例示的画面ディスプレイである。
【図１０Ｓ】図１０Ｓは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅ内のデバイス保守画面の例示的画面ディスプレイである。
【図１０Ｔ】図１０Ｔは、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｗｅｂｓｉｔｅ内のデバイス保守画面の例示的画面ディスプレイである。
【図１１Ａ】図１１Ａは、Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅの最初の画面ディスプレイである。
【図１１Ｂ】図１１Ｂは、Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅを用いるサービス計画を管理するための例示的画面ディスプレイである。
【図１１Ｃ】図１１Ｃは、Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅを用いるサービス計画を管理するための例示的画面ディスプレイである。
【図１１Ｄ】図１１Ｄは、Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ  Ｗｅｂｓｉｔｅを用いるサービス計画を管理するための例示的画面ディスプレイである。
【図１１Ｅ】図１１Ｅは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔにアプリケーションを追加するための例示的画面ディスプレイである。
【図１１Ｆ】図１１Ｆは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔにアプリケーションを追加するための例示的画面ディスプレイである。
【図１１Ｇ】図１１Ｇは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔにアプリケーションを追加するための例示的画面ディスプレイである。
【図１１Ｈ】図１１Ｈは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔにアプリケーションを追加するための例示的画面ディスプレイである。
【図１１Ｊ】図１１Ｊは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔからアプリケーションを除去するための例示的画面ディスプレイである。
【図１１Ｋ】図１１Ｋは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔ上のアプリケーションの順序を整理するための例示的画面ディスプレイである。
【図１１Ｌ】図１１Ｌは、加入者のＰｅｒｓｏｎａｌ  Ａｃｃｅｓｓ  Ｌｉｓｔ上のアプリケーションの順序を整理するための例示的画面ディスプレイである。
【図１２】図１２は、モバイルアプリケーションシステムの実施形態を実行するための汎用コンピュータシステムおよび加入者デバイスの例示的ブロック図である。
【図１３】図１３は、種々の加入者デバイスと通信するためのモバイルアプリケーションシステムのプロトコルマネージャによって実行される処理の例示的フローチャートである。
【図１４】図１４は、リクエストされたアプリケーションの適正を判定するためのモバイルアプリケーションシステムのプロビジョニングマネージャによって実行される処理の例示的フローチャートである。
【図１５】図１５は、プロビジョニングマネージャのＰｅｒｆｏｒｍ  Ｗａｌｌｅｄ−Ｇａｒｄｅｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇルーチンによって実行される処理の例示的フローチャートである。
【図１６】図１６は、プロビジョニングマネージャのＶｅｒｉｆｙ  Ａｐｐｌｉｃａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図１７】図１７は、プロビジョニングマネージャのＶｅｒｉｆｙ  Ｓｕｂｓｃｒｉｂｅｒルーチンによって実行される処理の例示的フローチャートである。
【図１８】図１８は、プロビジョニングマネージャのＶｅｒｉｆｙ  Ｄｅｖｉｃｅルーチンによって実行される処理の例示的フローチャートである。
【図１９】図１９は、プロビジョニングマネージャのＰｅｒｆｏｒｍ  Ｏｐｅｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇルーチンによって実行される処理の例示的フローチャートである。
【図２０】図２０は、プロビジョニングマネージャのＰｅｒｆｏｒｍ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｉｓｃｏｖｅｒｙルーチンによって実行される処理の例示的フローチャートである。
【図２１】図２１は、供給されたアプリケーションを提供するためのモバイルアプリケーションシステムの展開マネージャによって実行される処理の例示的フローチャートである。
【図２２】図２２は、展開マネージャのＰｒｏｃｕｒｅ  Ｐｒｏｖｉｓｉｏｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図２３】図２３は、展開マネージャのＰｒｏｖｉｓｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図２４】図２４は、展開マネージャのＩｎｓｐｅｃｔ  Ａｐｐｌｉｃａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図２５】図２５は、展開マネージャのＯｐｔｉｍｉｚｅ  Ａｐｐｌｉｃａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図２６】図２６は、展開マネージャのＩｎｓｔａｌｌ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図２７】図２７は、展開マネージャのＰａｃｋａｇｅ  Ａｐｐｌｉｃａｔｉｏｎルーチンによって実行される処理の例示的フローチャートである。
【図２８】図２８は、モバイルアプリケーションシステムの料金請求によって実行される処理の例示的フローチャートである。
【図１】
2004530958.tif 000003
【図３】
2004530958.tif 000004
【図４】
2004530958.tif 000005
【図５】
2004530958.tif 000006
【図６】
2004530958.tif 000007
【図７】
2004530958.tif 000008
【図８】
2004530958.tif 000009
【図１２】
2004530958.tif 000010
【図１３】
2004530958.tif 000011
【図１４】
2004530958.tif 000012
【図１５】
2004530958.tif 000013
【図１６】
2004530958.tif 000014
【図１７】
2004530958.tif 000015
【図１８】
2004530958.tif 000016
【図１９】
2004530958.tif 000017
【図２０】
2004530958.tif 000018
【図２１】
2004530958.tif 000019
【図２２】
2004530958.tif 000020
【図２３】
2004530958.tif 000021
【図２４】
2004530958.tif 000022
【図２５】
2004530958.tif 000023
【図２６】
2004530958.tif 000024
【図２７】
2004530958.tif 000025
【図２８】
2004530958.tif 000026
【国際公開パンフレット】
2004530958.tif 000027
2004530958.tif 000028
2004530958.tif 000029
2004530958.tif 000030
2004530958.tif 000031
2004530958.tif 000032
2004530958.tif 000033
2004530958.tif 000034
2004530958.tif 000035
2004530958.tif 000036
2004530958.tif 000037
2004530958.tif 000038
2004530958.tif 000039
2004530958.tif 000040
2004530958.tif 000041
2004530958.tif 000042
2004530958.tif 000043
2004530958.tif 000044
2004530958.tif 000045
2004530958.tif 000046
2004530958.tif 000047
2004530958.tif 000048
2004530958.tif 000049
2004530958.tif 000050
2004530958.tif 000051
2004530958.tif 000052
2004530958.tif 000053
2004530958.tif 000054
2004530958.tif 000055
2004530958.tif 000056
2004530958.tif 000057
2004530958.tif 000058
2004530958.tif 000059
2004530958.tif 000060
2004530958.tif 000061
2004530958.tif 000062
2004530958.tif 000063
2004530958.tif 000064
2004530958.tif 000065
2004530958.tif 000066
2004530958.tif 000067
2004530958.tif 000068
2004530958.tif 000069
2004530958.tif 000070
2004530958.tif 000071
2004530958.tif 000072
2004530958.tif 000073
2004530958.tif 000074
2004530958.tif 000075
2004530958.tif 000076
2004530958.tif 000077
2004530958.tif 000078
2004530958.tif 000079
2004530958.tif 000080
2004530958.tif 000081
2004530958.tif 000082
2004530958.tif 000083
2004530958.tif 000084
2004530958.tif 000085
2004530958.tif 000086
2004530958.tif 000087
2004530958.tif 000088
2004530958.tif 000089
2004530958.tif 000090
2004530958.tif 000091
2004530958.tif 000092
2004530958.tif 000093
2004530958.tif 000094
2004530958.tif 000095
2004530958.tif 000096
2004530958.tif 000097
2004530958.tif 000098
2004530958.tif 000099
2004530958.tif 000100
2004530958.tif 000101
2004530958.tif 000102
2004530958.tif 000103
2004530958.tif 000104
2004530958.tif 000105
2004530958.tif 000106
2004530958.tif 000107
2004530958.tif 000108
2004530958.tif 000109
2004530958.tif 000110
2004530958.tif 000111
2004530958.tif 000112
2004530958.tif 000113
2004530958.tif 000114
2004530958.tif 000115
2004530958.tif 000116
2004530958.tif 000117
2004530958.tif 000118
2004530958.tif 000119
2004530958.tif 000120
2004530958.tif 000121
2004530958.tif 000122
2004530958.tif 000123
2004530958.tif 000124
2004530958.tif 000125
2004530958.tif 000126
2004530958.tif 000127
2004530958.tif 000128
2004530958.tif 000129
2004530958.tif 000130
2004530958.tif 000131
2004530958.tif 000132
2004530958.tif 000133
2004530958.tif 000134
2004530958.tif 000135
2004530958.tif 000136
2004530958.tif 000137
2004530958.tif 000138
2004530958.tif 000139
2004530958.tif 000140
2004530958.tif 000141
2004530958.tif 000142
2004530958.tif 000143
2004530958.tif 000144
2004530958.tif 000145
2004530958.tif 000146
2004530958.tif 000147
2004530958.tif 000148
2004530958.tif 000149
2004530958.tif 000150
2004530958.tif 000151
2004530958.tif 000152
2004530958.tif 000153
2004530958.tif 000154
【国際公開パンフレット（コレクトバージョン）】
2004530958.tif 000155
2004530958.tif 000156
【国際調査報告】
2004530958.tif 000157
2004530958.tif 000158