(57)【要約】【課題】モバイル・デバイスのアプリケーション・インストール管理システムおよび方法を提供する。【解決手段】ストレージ・ソース（４，４Ａ，４Ｂ）から複数のモバイル・デバイスにアプリケーション（１０Ａ，１０Ａ’，１０Ａ”）をインストールする方法およびシステムにおいて、各モバイル・デバイス（３）が異なる種類である際に、ストレージ・ソース（４，４Ａ，４Ｂ）上に複数のアプリケーションを格納するステップを含む。各アプリケーション（１０Ａ，１０Ａ’，１０Ａ”）は、固有の種類のモバイル・デバイス用に設計してある。モバイル・デバイス（３）をストレージ・ソース（４，４Ａ，４Ｂ）に接続し、モバイル・デバイスの種類を検出する。次に、選択したアプリケーション（１０Ａ，１０Ａ’，１０Ａ”）をモバイル・デバイスに転送する。【選択図】図１
2008234673.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・ストレージ・ソースから複数のモバイル・デバイスにアプリケーションをインストールする方法において、各モバイル・デバイスが異なる種類である場合に、
前記コンピュータ・ストレージを使用して、前記コンピュータ・ストレージ・ソースに複数のアプリケーションを格納するステップであって、各アプリケーションは固有の種類のモバイル・デバイス上で実行されるように設計してあり、前記モバイル・デバイスが前記コンピュータ・ストレージ・ソースから接続を断たれているときに、前記格納をするステップと、
ユーザが前記モバイル・デバイスを前記コンピュータ・ストレージ・ソースに物理的に接続するステップと、
前記コンピュータ・ストレージ・ソースを使用して、前記コンピュータ・ストレージ・ソースに接続されたモバイル・デバイスの種類を検出するステップと、
前記モバイル・デバイスおよび／または前記コンピュータ・ストレージ・ソースにおいて前記モバイル・デバイス用に設計された各アプリケーションの識別子を表示するステップと、
前記コンピュータ・ストレージ・ソースを使用して、検出されたモバイル・デバイスの前記種類に応じて、前記複数のアプリケーションの中から前記モバイル・デバイス上で実行されるように設計されたアプリケーションを、前記モバイル・デバイスに転送するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記表示するステップが、前記モバイル・デバイスに適用可能な、前記モバイル・デバイスにおける用途に従ってグループ化された複数群の予め形成してあるアプリケーションの各々に対して識別子を表示するステップを含むことを特徴とする方法。
【請求項３】
請求項１または請求項２に記載の方法において、格納してある各アプリケーションが、アプリケーション特定情報から成る第１部分と、アプリケーション・ファイルから成る第２部分とを有する単一ファイルから成る設定パッケージ・ファイルを備え、前記アプリケーション特定情報が前記モバイル・デバイスのコンフィギュレーションのための設定情報を含み、
前記コンピュータ・ストレージ・ソースを使用して転送するステップが、前記モバイル・デバイスを使用して、前記モバイル・デバイス上で実行可能なアプリケーション・プログラムを生成するために前記モバイル・デバイスにおいて格納された前記設定パッケージ・ファイルをアンパックするステップをさらに含むことを特徴とする方法。
【請求項４】
請求項３記載の方法において、前記モバイル・デバイスおよび／または前記コンピュータ・ストレージ・ソースにおいて、前記モバイル・デバイスに適用可能な設定パッケージ・ファイルを示す識別子を表示するステップをさらに含むことを特徴とする方法。
【請求項５】
請求項４記載の方法において、前記表示するステップが、前記モバイル・デバイスに適用可能な、前記モバイル・デバイスにおける用途に従ってグループ化された複数群の予め形成してある設定パッケージ・ファイルの各々に対して識別子を表示するステップを含むことを特徴とする方法。
【請求項６】
請求項３から請求項５のいずれかに記載の方法において、前記コンピュータ・ストレージ・ソースを使用して転送するステップは、前記モバイル・デバイスを使用してアンパックの間に前記設定パッケージ・ファイルを動的に短縮（ｔｒｕｎｃａｔｅ）するステップをさらに含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法において、前記コンピュータ・ストレージ・ソースを使用して転送するステップの間、前記モバイル・デバイス上におけるメモリ使用が増大しないことを特徴とする方法。
【請求項８】
請求項３から請求項７のいずれかに記載の方法において、前記情報が、前記モバイル・デバイス上で行なう設定の少なくとも１つ、および前記アプリケーション・ファイルを前記モバイル・デバイス上のどこに格納するのかを含むことを特徴とする方法。
【請求項９】
請求項１から請求項８のいずれかに記載の方法において、
前記モバイル・デバイスを使用して、前記モバイル・デバイスに、インストールすべき前記アプリケーションを示す情報を格納するステップと、
前記モバイル・デバイスを使用して、前記情報に基づき前記アプリケーションを前記モバイル・デバイスにインストールしている間に、前記モバイル・デバイス上にある前記情報を削除するステップと、をさらに含むことを特徴とする方法。
【請求項１０】
請求項９記載の方法において、前記削除するステップは、前記モバイル・デバイスが、削除の間に前記情報を動的に短縮するステップを含むことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法において、前記モバイル・デバイスは、アンパックの間ファイル終端マーカをリロケートすることにより、前記設定パッケージ・ファイルを動的に短縮することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
本発明は、一般にハンドヘルド携帯コンピュータとして知られているパーソナル・モバイル計算機に関する。更に特定すれば、本発明は、このようなデバイス上にアプリケーション・プログラムをインストールし、デスクトップ・コンピュータからインストールしたアプリケーション・デバイス・プログラムを管理する、アプリケーション設定パッケージを作成するシステムおよび方法に関するものである。
【背景技術】
【０００２】
モバイル・デバイスとは、小型電子計算機であり、パーソナル・デスクトップ・コンピュータと呼ばれることも多い。このようなモバイル・デバイスの内２つが、ハンドヘルドＰＣ（Ｈａｎｄｈｅｌｄ  ＰＣ）（または「Ｈ／ＰＣ」）およびパームＰＣ（Ｐａｌｍ  ＰＣ）という商品名で、ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）が販売している。このようなモバイル・デバイスは、小型ではあるが、ワード・プロセッシング、スプレッド・シート・プログラム、個人金銭管理およびゲーム等、更にこれ以外にも名前をあげることができる多種多様の計算機タスクおよびアプリケーションを実行することができる。多くの観点において、これらのプログラムは、個々のデスクトップ・コンピュータ上に常駐するプログラムと非常に似通っている。アプリケーションの中には、モバイル・デバイスでは、デスクトップ・コンピュータ上で使用可能な程多くの機能を有していない場合もあるが、しかしながら、ラップトップ・コンピュータであっても利用できなかったり、あるいは便利に使用できないような現場においてデータの更新や変更を行う手段として非常に価値がある。
【０００３】
前述のように、モバイル・デバイスはデスクトップ・コンピュータと共に用いることが可能である。例えば、モバイル・デバイスのユーザは、仕事場または家庭において、デスクトップ・コンピュータにアクセスすることや、使用することもできる。ユーザは、通常、デスクトップ・コンピュータおよびモバイル・ユニット双方で同じ種類のアプリケーションを走らせることができる。したがって、モバイル・デバイスをデスクトップ・コンピュータと結合し、モバイル・デバイスと情報を交換したり、情報を共有するように設計することは非常に有利である。しかしながら、モバイル・デバイスの記憶容量に限度があることを考慮すると、ユーザはモバイル・デバイスのために有する全てのアプリケーションを同時にインストールすることはできない場合もある。このような場合、ユーザは、不要なアプリケーションを削除し、他の所望のアプリケーションのために余裕を作らなければならない。
【０００４】
アプリケーションをモバイル・デバイスから削除したり、デスクトップ・コンピュータからモバイル・デバイスに転送する際には、多数の重大な問題が存在する。一般に、アプリケーションは多数のファイルを含み、モバイル・デバイス上の予め選択したディレクトリ内に正しくインストールしなければならず、このようなアプリケーションに対して適切なコンフィギュレーションをデバイスに設定するために、モバイル・デバイスに設定を行わなければならない。ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）が販売するプラットフォームのように、「レジストリ」を維持するプラットフォームがある。レジストリとは、公知のデータベースであり、計算機上にあるアプリケーションに関する情報源である。この情報は、（ユーザ設定値のような）永続的なデータ格納を必要とするアプリケーションが用いる。新たなアプリケーションをモバイル計算機上にインストールする方法の１つは、所望のアプリケーションのコピーを格納してあるデスクトップ・コンピュータにモバイル計算機を接続することを含む。次に、ユーザは、アプリケーションの各ファイルを計算機に転送し、予め選択したディレクトリにおいて要求される通りにこれを格納し、当該アプリケーションがアクセスできるようにする。次に、アプリケーションの要件に応じて、レジストリ値を変更する。あるシステムでは、デスクトップ・コンピュータは、アプリケーションに必要な各ファイルのリストを収容するスクリプト・ファイルを実行し、このファイルを順次モバイル・デバイスに転送する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
デスクトップ・コンピュータおよびモバイル・デバイス間の接続がダウンロード手順中に途切れた場合、後者の方法に伴う重大な問題の１つが発生する。例えば、不用意なエラーまたは偶然的なエラーから、アプリケーションが必要とするファイルの一部のみを転送した後に、接続が落ちる場合がある。この場合、モバイル計算機は、そのアプリケーションに必要なファイルの一部のみを取り込んだに過ぎず、ダウンロード手順を繰り返さなければならない。２つ以上のアプリケーションをモバイル・デバイスに転送する場合、このために手順全体を繰り返さなければならない場合もある。
【０００６】
別の重大な問題に、スクリプト・ファイル自体、特にエラー処理を伴うものがある。単純なスクリプト・ファイルを用いてアプリケーションをデスクトップ・コンピュータからモバイル・デバイスにインストールする場合、インストール・プログラムは、失われたファイル、およびスクリプト・ファイル内のエラーを用いてというように、「ランタイム」エラー処理を実行しなければならない。これらの問題に遭遇するのはエンド・ユーザであろう。理想的には、これらの問題は「コンパイル時」に、アプリケーション設定プログラムがその最終生産状態に入る前に解決して当然である。エンド・ユーザは、アプリケーションを彼らのモバイル・デバイスにインストールする際に、これらのような問題に遭遇する必要がないのが当然である。
【０００７】
モバイル・デバイス上にアプリケーションをインストールする現行の方法について、別の重大な欠点は、所望のアプリケーションを転送するためには、モバイル・デバイスをデスクトップ・コンピュータに接続しなければならないことである。このため、ユーザは最初にモバイル・デバイス用アプリケーションをデスクトップ・コンピュータにインストールし、次いで接続を行った後に、このアプリケーションをデスクトップ・コンピュータからモバイル・デバイスに転送しなければならない。
【０００８】
アプリケーションをモバイル計算機上にインストールする現在の方法における欠点を克服することは、相変わらず必要とされている。即ち、アプリケーションをインストールするためにユーザが実行する必要がある操作数を減らす必要がある。加えて、実際のアプリケーション・インストール手順は、最終製品を出荷する前に解決可能なエラーを処理しなくてもよいようでなければならない。また、ユーザは、専用デスクトップ・コンピュータ以外のソースからアプリケーションをインストールすることができなければならない。
【０００９】
更に、多くの場合、アプリケーションは特定のモバイル・デバイス上で走るように個別に書かなければならない。したがって、同じアプリケーションでも、異なる種類のＣＰＵ毎に設計するため、多くの変形があるという場合もある。アプリケーションの変形を容易に作成し、しかも異なるＣＰＵプラットフォームを有する多数のモバイル・デバイス・ユーザが使用する同じデスクトップ・コンピュータ上にアプリケーションの変形全てを格納してある場合に、容易に正しい変形を確認しアクセスする必要がある。
【課題を解決するための手段】
【００１０】
（発明の概要）
ストレージ・ソースから複数のモバイル・デバイスにアプリケーションをインストールするシステムおよび方法において、各モバイル・デバイスが異なる種類である際に、ストレージ・ソース上に複数のアプリケーションを格納するステップを含む。各アプリケーションは、固有の種類のモバイル・デバイス用に設計してある。モバイル・デバイスをストレージ・ソースに接続し、モバイル・デバイスの種類を検出する。次に、選択したアプリケーションをモバイル・デバイスに転送する。
【００１１】
一態様において、ストレージ・ソースからモバイル・デバイスにプログラム・アプリケーションをインストールするシステムおよび方法は必要なアプリケーション・ファイルおよびレジストリ情報を単一の設定パッケージに格納するステップを含む。設定パッケージは、アプリケーション特定情報から成る第１部分と、アプリケーション・ファイルから成る第２部分とを有する単一ファイルから成る。アプリケーション設定命令は、モバイル・デバイス上で行なう設定や、アプリケーション・ファイルをモバイル・デバイス上のどこに格納するかというような設定情報を含む。ユーザによる選択時に、設定パッケージ・ファイルをモバイル・デバイスに転送し、ここに格納する。次いで、設定パッケージ・ファイルをアンパックし、モバイル・デバイス上に実行可能なアプリケーション・プログラムをインストールする。更に、好ましくは、その後設定パッケージ・ファイルを自動的に削除する。
【００１２】
本発明の別の広義の態様では、ストレージ・ソースからモバイル・デバイスにプログラム・アプリケーションをインストールするシステムおよび方法において、各設定パッケージ・ファイルは、１つ以上の種類のモバイル・デバイスに対応する。モバイル・デバイスのストレージ・ソースへの接続時に、システムは、複数の既知のモバイル・デバイスから当該モバイル・デバイスの種類を検出する。次に、システムは、検出したモバイル・デバイスに適用可能な設定パッケージ・ファイルを選択する。
【００１３】
本発明の別の広義の態様では、プログラム・アプリケーションをモバイル・デバイス上にインストールする方法は、インストールするアプリケーションを示す情報をモバイル・デバイス上に格納するステップと、アプリケーションをモバイル・デバイス上にインストールしつつ、モバイル・デバイス上の情報を削除するステップとを含む。
【００１４】
本発明の更に別の広義の態様では、ストレージ・ソースからモバイル・デバイスにプログラム・アプリケーションをインストールするデータ構造を格納してあるコンピュータ読み取り可能媒体を開示する。データ構造は、アプリケーション特定情報から成る第１部分と、アプリケーション・ファイルから成る第２部分とを含む。アプリケーション仕様情報は、モバイル・デバイス上で行なう設定や、モバイル・デバイス上のどこにアプリケーション・ファイルを格納するかというような設定情報を含む。
【発明を実施するための最良の形態】
【００１５】
（好適な実施形態の詳細な説明）
図１は、本発明が動作する一環境２のブロック図である。環境２は、モバイル・デバイス３およびデスクトップ・コンピュータ４を含む。モバイル・デバイス３は、５Ａ、５Ｂおよび５Ｃで示す１つ以上のアプリケーション・プログラム、ならびに記憶装置６を含む。デスクトップ・コンピュータ４も、７Ａ、７Ｂ、７Ｃおよび７Ｄで示す１つ以上のアプリケーション・プログラム、ならびに記憶装置８を含む。モバイル・デバイス３およびデスクトップ・コンピュータ４は、シリアル接続、赤外線リンクまたはインターネットを経由するモデム接続、あるいは直接ダイアルというような、複数の公知の接続機構の１つによって接続可能である。接続機構９の形態は無関係であるが、本願と同時に出願した“ＩＮＴＥＧＲＡＴＥＤ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＡＲＣＨＩＴＥＣＴＵＲＥ  ＯＮ  Ａ  ＭＯＢＩＬＥ  ＤＥＶＩＣＥ”（モバイル・デバイス上の統合化通信アーキテクチャ）と題する同時係属中の出願に、更に別の接続形態が記載されている。その内容は、この言及により本願にも含まれるものとする。
【００１６】
本発明の一実施形態では、アプリケーション・プログラム７Ａ〜７Ｄは、ワード・プロセッシング・プログラム、個人金銭管理、スプレッド・シート・プログラムのアプリケーションであり、更にこれ以外にも名前をあげることができる。記憶装置８は、プログラムを走らせるためのファイル、あるいはユーザが入力するレコードまたはオブジェクトのようなデータを維持するためのファイルを格納するように構成してある。デスクトップ・コンピュータ４は、アプリケーション・プログラム７Ａ〜７Ｄを実行し、必要に応じて記憶装置８に格納してあるファイルおよびオブジェクトを用いる。
【００１７】
アプリケーション・プログラム５Ａ〜５Ｃは、デスクトップ・コンピュータ４上に常駐するアプリケーション・プログラム７Ａ〜７Ｄと同様に、記憶装置６に格納してあるデータにアクセスするように設計してある。実施形態によっては、アプリケーション・プログラム５Ａ〜５Ｃは、通常限られた記憶装置６上で利用可能なメモリを考慮して、モバイル・デバイス３上における実行の最適化または削減を何らかの方法で行っている。例えば、デスクトップ・コンピュータ４上のアプリケーション・プログラム７Ａは、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）が販売するＷｏｒｄブランドのワード・プロセッサのようなワード・プロセッサである場合もあり、一方モバイル・デバイス３上のアプリケーション・プログラム５ＡはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）が販売するＰｏｃｋｅｔ  Ｗｏｒｄブランドのワード・プロセッサである場合もある。しかしながら、モバイル・デバイス３の記憶装置６を構成するメモリは限られているので、ユーザはアプリケーション・プログラム７Ａ〜７Ｄに対応する全てのプログラム、または他の所望のプログアムを一度にモバイル・デバイス３上にインストールすることは、およそ不可能であろう。図示の実施形態では、モバイル・デバイス３上には３つのアプリケーション・プログラム５Ａ〜５Ｃが常駐し、一方デスクトップ・コンピュータ４上では４つのアプリケーション・プログラム７Ａ〜７Ｄが常駐するというようにして、これを図示している。したがって、ユーザは、所望のアプリケーションをインストールし走らせるためには、場合によってはモバイル・デバイス３上にインストールしてあるアプリケーション・プログラム５Ａ〜５Ｃの１つまたは全てを除去しなければならないこともあり得る。図示の実施形態では、モバイル・デバイス３上にアプリケーション・プログラム５Ａ〜５Ｃをインストールするために必要な情報は全て、記憶装置８において１０で示す複数の一意の設定パケージ・ファイルの１つに格納してある。即ち、設定パッケージ・ファイル１０Ａは、アプリケーション・プログラム５Ａをモバイル・デバイス３にインストールするためのプログラム・ファイルおよびユーザ設定の全てを収容する、即ち、含んでいる。同様に、設定パッケージ・ファイル１０Ｂは、アプリケーション・プログラム５Ｂをモバイル・デバイス３にインストールするためのプログラム・ファイルおよびユーザ設定の全てを含んでおり、一方設定パッケージ・ファイル１０Ｃは、アプリケーション・プログラム５Ｃをモバイル・デバイス３にインストールするためのファイルおよびユーザ設定の全てを含んでいる。前述のように、アプリケーション・プログラム５Ａ〜５Ｃは、デスクトップ・コンピュータ４上のアプリケーション・プログラム７Ａ〜７Ｃと類似するが、必ずしも同一ではない。記憶装置８内に示すモバイル・デバイス３用の設定パッケージ・ファイル１０Ｃは、プログラム５Ｃをモバイル・デバイス３上にインストールし走らせるためのファイルおよびユーザ設定の全てを収容する。
【００１８】
設定パッケージ・ファイル１０Ａ〜１０Ｄが各々、対応するアプリケーション・プログラムをモバイル・デバイス３上にインストールするために必要な全てのファイルおよび設定を含むことを考慮して、設定パッケージ・ファイルは、デスクトップ・コンピュータ４上で使用することに限定していない。例えば、図１を参照すると、モバイル・デバイス３は、通信リンク９を介して、ローカル・エリア・ネットワークまたはインターネットのようなワイド・エリア・ネットワークに接続することができる。設定パッケージ・ファイルの実際の作成は、適切なデスクトップ・コンピュータを必要とする個々のソフトウエア・ベンダ（ＩＳＶ）が行うが、一旦設定パッケージ・ファイルをサーバ（図示せず）上に格納したならば、モバイル・デバイス３は、適切なブラウザを用いて、ローカルまたはワイド・エリア・ネットワーク４Ａ上に格納してあるパッケージ・ファイルにアクセスすることができる。
【００１９】
更に別の動作環境では、モバイル・デバイス３は、適当な通信リンク９を介して、第２のモバイル・デバイス４Ｂに接続することができる。このように、アプリケーション・プログラムは、モバイル・デバイス３および４Ｂ間で転送することができる。
【００２０】
加えて、設定パッケージ・ファイル１０Ａ〜１０Ｄは、モバイル・デバイス内に共通して設けられているリムーバブル・ストレージまたはメモリ・カード３Ａを用いてモバイル・デバイス３Ａに転送することも可能である。
【００２１】
概して、本発明の広義な態様の１つでは、対応するプログラムをモバイル・デバイス３上にインストールするための設定パッケージ・ファイル１０Ａ〜１０Ｄの作成を含む。別の広義な態様では、設定パッケージ・ファイル１０Ａ〜１０Ｄの独特な構造を含む。本発明の更に別の広義な態様では、ユーザの要求に応じてモバイル・デバイス３上の設定パッケージ・ファイル１０Ａ〜１０Ｄのアンインストール（ｕｎｉｎｓｔａｌｌ）およびインストールを管理するためにデスクトップ・コンピュータ４上に設けるアプリケーション・マネージャ・モジュール１２を含む。
【００２２】
本発明の態様について説明する前に、デスクトップ・コンピュータ３およびモバイル・デバイス３Ａのような典型的なモバイル・デバイスについて端的に説明しておくと、役立つであろう。
【００２３】
図２、図３および図４ならびに関連する論述は、本発明を実現可能な適切な計算機環境の全体的な説明を手短に行うことを意図するものである。必須ではないが、本発明の説明は、少なくとも部分的に、デスクトップ・コンピュータ４またはモバイル・デバイス３が実行するプログラム・モジュールのようなコンピュータ実行可能命令に関して概略的に行うこととする。一般に、プログラム・モジュールは、特定のタスクを実行したり、あるいは特定の抽象的データ形式を使用する、ルーチン・プログラム、オブジェクト、コンポーネント、データ構造等を含む。更に、本発明は、パームトップ・コンピュータのようなその他のハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサを用いた消費者用電子機器またはプログラム可能な消費者用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ等を含む、その他のコンピュータ・システム・コンフィギュレーションとでも実施可能であることを当業者は認めよう。また、本発明は、分散型計算機環境において、通信ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行するという実施も可能である。分散型計算機環境では、プログラム・モジュールは、ローカルおよびリモート・メモリ記憶装置双方に配置することができる。
【００２４】
図２を参照すると、本発明を実現するためのシステム例は、従来のパーソナル・コンピュータ即ちデスクトップ・コンピュータ４の形態とした汎用計算機を含み、コンピュータ演算装置（ＣＰＵ）２１、システム・メモリ２２、およびシステム・メモリ２２から演算装置２１までを含む種々のシステム・コンポーネントを結合するシステム・バス２３を含む。システム・バス２３は、種々のバス・アーキテクチャのいずれかを用いたメモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、数種類のバス構造のいずれでもよい。システム・メモリ２２は、リード・オンリ・メモリ（ＲＯＭ）２４、およびランダム・アクセス・メモリ（ＲＡＭ）２５を含む。起動中等においてデスクトップ・コンピュータ４内のエレメント間の情報転送に供する基本ルーチンを収容する基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４に格納してある。また、コンピュータ４は、ハード・ディスク（図示せず）の読み取りおよび書き込みを行うハード・ディスク・ドライブ２７、リムーバブル磁気ディスク２９の読み取りおよび書き込みを行う磁気ディスク・ドライブ２８、ならびにＣＤ−ＲＯＭまたはその他の光媒体のようなリムーバブル光ディスク３１の読み取りおよび書き込みを行う光ディスク・ドライブ３０も含むことができる。ハード・ディスク・ドライブ２７、磁気ディスク・ドライブ２８、および光ディスク・ドライブ３０は、ハード・ディスク・ドライブ・インターフェース３２、磁気ディスク・ドライブ・インターフェース３３、および光ディスク・ドライブ・インターフェース３４によって、それぞれシステム・バス２３に接続してある。これらのドライブおよびそれに関連するコンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ４用のその他のデータの不揮発性格納を行う。
【００２５】
ここに記載する環境の一例は、ハード・ディスク、リムーバブル磁気ディスク２９およびリムーバブル光ディスク３１を採用するが、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）等のような、コンピュータによるアクセスが可能なデータを格納することができる、他の種類のコンピュータ読み取り可能媒体も、動作環境の一例において使用可能であることは、当業者には認められよう。
【００２６】
多数のプログラム・モジュールを、ハード・ディスク、磁気ディクス２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５上に格納することができ、オペレーティング・システム３５、１つ以上のアプリケーション・プログラム７Ａ〜７Ｄ、その他のプログラム・モジュール３７、およびプログラム・データ３８を含む。ユーザは、キーボード４０、ポインティング・デバイス４２およびマイクロフォン４３のような入力デバイスによって、コマンドおよび情報をデスクトップ・コンピュータ４に入力することができる。他の入力デバイス（図示せず）として、ジョイスティック、ゲーム・パッド、衛星ディッシュ（ｓａｔｅｌｌｉｔｅ  ｄｉｓｈ）、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス２３に結合してあるシリアル・ポート・インターフェース４６を介して、演算装置２１に接続しているが、サウンド・カード、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のようなその他のインターフェースによって接続することも可能である。モニタ４７または別の種類の表示装置も、ビデオ・アダプタ４８のようなインターフェースを介して、システム・バス２３に接続する。モニタ４７に加えて、パーソナル・コンピュータは、通常、スピーカやプリンタのような、その他の周辺出力デバイス（図示せず）を含むこともできる。
【００２７】
デスクトップ・コンピュータ４は、リモート・コンピュータ４９のような１つ以上のリモート・コンピュータへの論理接続を用いて、有線またはワイヤレス・ネットワーク環境で動作することも可能である。リモート・コンピュータ４９は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他のネットワーク・ノードとすることができ、通常、デスクトップ・コンピュータ４に関して先に記載したエレメントの多くまたは全てを含むが、メモリ記憶装置５０だけを図２に示す。図２に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）５１およびワイド・エリア・ネットワーク（ＷＡＮ）５２を含む。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク・イントラネットおよびインターネットでは一般的である。
【００２８】
ＬＡＮネットワーク環境で用いる場合、デスクトップ・コンピュータ４は、ネットワーク・インターフェースまたはアダプタ５３を介して、ローカル・ネットワーク５１に接続する。ＷＡＮネットワーク環境で用いる場合、デスクトップ・コンピュータ４は通常モデム５４またはインターネットのようなワイド・エリア・ネットワーク５２上で通信を確立するその他の手段を含む。モデム５４は、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース４６を介してシステム・バス２３に接続する。ネットワーク環境では、デスクトップ・コンピュータ４に関して図示したプログラム・モジュールまたはその一部を、図示しない、リモート・メモリ記憶装置に格納することも可能である。図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立するその他の手段も使用可能であることは認められよう。図示の実施形態では、モバイル・デバイス３も、シリアル・ポート・インターフェース４６を介してデスクトップ・コンピュータ４に接続する。
【００２９】
デスクトップ・コンピュータ４は、図２に示すメモリ記憶装置のいずれかに格納してあるオペレーティング・システムを走らせ、演算装置２１上で実行する。適切なオペレーティング・システムの１つは、Ｗｉｎｄｏｗｓ９５またはＷｉｎｄｏｗｓ  ＮＴ、あるいはＷｉｎｄｏｗｓブランドのオペレーティング・システムの別の派生バージョンのような、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）が販売するＷｉｎｄｏｗｓブランドのオペレーティング・システム、あるいはそれ以外の適切なオペレーティング・システムである。他の適切なオペレーティング・システムには、Ａｐｐｌｅ  Ｃｏｒｐｏｒａｔｉｏｎ（アップル社）が販売するＭａｃｉｎｔｏｓｈ  ＯＳや、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（ＩＢＭ）が販売するＯＳ／２プレゼンテーション・マネージャのようなシステムが含まれる。
【００３０】
図３は、本発明にしたがって使用可能なモバイル・デバイス３の好適な一実施形態の外観図である。モバイル・デバイス３は、一実施形態では、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）がＨ／ＰＣという名称で販売しているデスクトップ・アシスタントである。モバイル・デバイス３は、デスクトップ・コンピュータ４と同様の構成部品をいくつか有している。例えば、一実施形態では、モバイル・デバイス３は、小型化キーボード８２、ディスプレイ８４およびスタイラス８６を含む。ディスプレイ８４は、スタイラス８６と共に用いる接触感応画面を有するＬＣＤディスプレイとすることができる。スタイラス８６は、指定した座標においてディスプレイ８４を押下または接触し、あるユーザ入力機能を実行するために用いる。勿論、他のコンフィギュレーションも同様に使用可能である。例えば、キーパッド、トラック・ボール、および種々の形式の小型化キーボード等のような、ユーザ入力機構を含ませることができる。加えて、モバイル・デバイス３は、デスクトップ・アシスタントのＭｉｃｒｏｓｏｆｔＨ／ＰＣブランドとして具体化しなくてもよく、別の種類のパーソナル・ディジタル・アシスタントＰＤＡ、別のパーソナル・オーガナイザ、パームトップ・コンピュータ、同様のコンピュータ化したノートパッド・デバイス、電話機またはページャとして実現することも可能である。
【００３１】
図４は、モバイル・デバイス３の更に詳細なブロック図である。モバイル・デバイス３Ａは、マイクロプロセッサ８８、メモリ９０、入出力（Ｉ／Ｏ）構成部品９２（キーボード８２、ならびに接触感応ディスプレイ８４およびシリアル・インターフェース９４を含む）を含むことが好ましい。一実施形態では、これらの構成部品は、適切なバス９６を通じて、互いの通信のために結合してある。メモリ９０は、バッテリ・バックアップ・モジュール（図示せず）を備えたランダム・アクセス・メモリ（ＲＡＭ）のような不揮発性電子メモリとして実現し、モバイル・デバイス３全体の電力が停止した場合に、メモリ９０に格納してある情報を失わないようにすることができる。メモリ９０の一部は、プログラム実行のためにアドレス可能なメモリとして割り当てることが好ましく、一方メモリ９０の残りの部分は、ディスク・ドライブ上の格納をシミュレートするために用い、この場合、メモリ９０は、勿論、図１における記憶装置６として機能することができることが好ましい。
【００３２】
メモリ９０は、オペレーティング・システム９８およびアプリケーション・プログラム５Ａ〜５Ｃを含む。オペレーティング・システム９８は、動作中、マイクロプロセッサ８８によって実行することが好ましい。オペレーティング・システム９８は、一実施形態では、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）から商業的に入手可能なＷｉｎｄｏｗｓ  ＣＥブランドのオペレーティング・システムである。オペレーティング・システム９８は、モバイル・デバイス用に設計し、１組の外から見える（ｅｘｐｏｓｅｄ）アプリケーション・プログラミング・インターフェース（ＡＰＩ）およびメソッドを通じてアプリケーション・プログラム５Ａ〜５Ｃが利用可能なデータベース機能を実装することが好ましい。記憶装置６内のオブジェクトは、少なくとも部分的に、前述の外から見えるアプリケーション・プログラム・インターフェースおよびメソッドへのコールに応答して、アプリケーション・プログラム５Ａ〜５Ｃおよびオペレーティング・システム９８によって維持することが好ましい。先に注記したように、アプリケーション・プログラム５Ａ〜５Ｃは、必ずしも、デスクトップ・コンピュータ４上で実行する対応のアプリケーション・プログラム７Ａ〜７Ｄと完全に互換性を有するように設計してある訳でもない。例えば、特定のオブジェクト形式のプロパティ間に、正確な１対１の一致がなくてもよい。アプリケーション・プログラム５Ａ〜５Ｃの機能に対応するプロパティの一部は、デスクトップ・コンピュータ４上のアプリケーション・プログラム７Ａ〜７Ｃ内の対応する機能を有さない場合もある。
【００３３】
アプリケーション・プログラム５Ａ〜５Ｃおよびオペレーティング・システム９８に加えて、メモリ９０は、更に、Ｗｉｎｄｏｗｓ  ＣＥブランドのオペレーティング・システムのようなオペレーティング・システムにおいて用いるレジストリ９７も格納する。レジストリ９７は公知のデータベースであり、モバイル・デバイス３に関する情報源である。この情報は、永続的なデータ格納（ユーザ設定のような）を必要とするアプリケーションが用いる。メモリ９０は、更に、インストーラ・モジュール９９（図１に示す）を格納する。以下で説明するが、これは、デスクトップ・コンピュータ４上に格納してある設定パッケージ・ファイル、例えば、ファイル１０Ａをモバイル・デバイス３に転送し終えた後、これをこのファイルを「アンパック」するものである。
【００３４】
図５は、設定パッケージ・ファイル１０Ａ、ならびに好ましくは同様の設定・パッケージ・ファイル１０Ａ’および１０Ａ”の生成を示す図である。概略的に、設定パッケージ・ファイル１０Ａを作成するには、生成モジュール１０２を用いる。これは、図２に示したデスクトップ・コンピュータ４のような、適当なデスクトップ・コンピュータ上で動作する。ＩＳＶは、生成モジュール１０２を用いて、アプリケーション・プログラム・バイナリ・ファイル１０４、１０４’および１０４”（各バイナリ・セットは、目標モバイル・デバイスに対する特定コード、および非特定的なファイルを含むことができる）を、目標モバイル・デバイスに特定した設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”に変換し、これらを一緒にして単一ファイルとしてパッケージし、モバイル・デバイス３に転送する。例えば、設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”は、異なる入力デバイスまたは異なるＣＰＵのような、異なるハードウエアの種類を有するモバイル・デバイスに作成することができる。言い換えると、設定パッケージ・ファイル１０Ａ、１０’および１０Ａ”は全て、同じ種類のＣＰＵ用とすることができるが、モバイル・デバイスの別の評価基準または特性に基づいて区別することができる。
【００３５】
一実施形態では、設定パケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”は、「キャビネット・ファイル」（ｃａｂｉｎｅｔ  ｆｉｌｅ）の変更形態である。キャビネット・ファイルは、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）が過去においてその製品において用いていた、効率的な分散方法である。キャビネット・ファイルは、圧縮してまたは圧縮せずに作成することができる。キャビネット・ファイルを作成する際に圧縮を用いることの主な利点は、ダウンロードするファイルが小さくなるので、通信時間が短縮することであり、これは重要なファクタとなり得る。しかしながら、これは、モバイル・デバイス３上に伸長コードを実装するためにインストーラ・モジュール９９が必要となることを意味し、インストーラ・モジュール９９のファイルおよび実行サイズの増大を招くことになる。モバイル・デバイス３は典型的にメモリ容量が限られているので、モバイル・デバイス３上に常駐するインストーラ・モジュール９９のサイズ増大は望ましいことではないであろう。加えて、設定パッケージ・ファイル１０Ａ〜１０Ｄは、対応するアプリケーション５Ａ〜５Ｄを走らせるために必要なファイルを全て含んでいるので、設定パッケージ・ファイル１０Ａ〜１０Ｄのモバイル・デバイス３への未圧縮フォーマットでの完全な転送によって、一旦設定パッケージ・ファイルが「アンパック」されれば、モバイル・デバイス３がアプリケーション５Ａ〜５Ｄのために利用可能なメモリを十分有することが保証される。更に、オペレーティング・システム９８は、既に圧縮したファイルを用いたり、あるいはこれと共に動作するので、圧縮した設定パッケージ・ファイルを有することによるストレージの削減は極く少ないであろう。言い換えると、圧縮ファイルを圧縮しても通常極く少ない削減しか得られない。しかしながら、後に別のモバイル・デバイスまたは他のコンピュータに転送するためにモバイル・デバイス３が設定パッケージ・ファイルを携行することが望ましい場合、モバイル・デバイス３上に格納しておく間は圧縮しておけば、設定パッケージ・ファイルを小さくすることができる。
【００３６】
アプリケーション・プログラム・バイナリ・ファイル１０４、１０４’および１０４”に加えて、生成モジュール１０２は、作成すべき所望のＣＰＵ依存設定パッケージ・ファイルを示す情報を受け取る。パーソナル・アシスタント、パーソナル・オーガナイザ等には多くの異なる種類があり、その多くは異なる種類のＣＰＵ上で走るので、多数の設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”を有し、各々が特定のＣＰＵの種類に対応する必要がある。対応するＣＰＵ情報のリストを１０６に提示する。
【００３７】
図示の実施形態では、生成モジュール１０２は、モバイル・デバイス３上でアプリケーション・プログラムを走らせるために用いる、別のアプリケーション特定情報も受け取る。アプリケーション特定情報は、設定情報スクリプト・ファイル１１０内に収容し、アプリケーション表示名、作成するアプリケーション・レジストリ・データ、作成するディレクトリ、コピーするファイル、デフォルト・インストール・ディレクトリ、ショートカット情報、その他の典型的な設定情報を含む。この情報は、Ｗｉｎｄｏｗｓブランドのオペレーティング・システムにおいて共通に用いる「ＩＮＦ」ファイルのような、適当なスクリプト・ファイル内に、ＩＳＶによって備えるようにする。一実施形態では、生成モジュール１０２は、設定情報スクリプト１１０を分析し、シンタックスおよび構造を検証し、例えば、設定パッケージ・ファイルを形成する前に、必要なファイルが全てあることを検証する。この手順は、「ソース」ファイル（設定情報スクリプト１１０）に類似しており、次に「コンパイル」して、「コンパイル化」設定情報ファイル１２０Ａを作成する。これは、最終的な設定パッケージ・ファイル内に含まれる。このように、アプリケーション・インストールの間に実行するのは、最終的なマクロ交換およびエラー処理のみでよい。設定情報スクリプト１１０の生成モジュール１０２によるシンタックスおよび構造のチェックは、このようにしてエラーを最少化し、次いでＩＳＶによって設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”としてアプリケーションの最終的な分配が行われる。これは、他の場合では、モバイル・デバイス３上でのアプリケーションのインストール時、または恐らくランタイムにのみ見られるであろう。一実施形態では、設定情報スクリプト１１０のフォーマットは、３２ビットのＷｉｎｄｏｗｓブランドのオペレーティング・システムの情報ファイルに用いているフォーマットと同様であり、当業者には公知である。補足資料Ａは、Ｗｉｎｄｏｗｓブランドのオペレーティング・システムの設定情報スクリプト１１０について、種々のセクションのリストを提供する。「コンパイル化」設定情報ファイルの一実施形態のフォーマットを補足資料Ｂに提示する。
【００３８】
前述のように、生成モジュール１０２は、典型的に、モバイル・デバイス３のＣＰＵに依存する、設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”を生成する。尚、プログラム生成器１０２は、デバイスの種類には独立した設定パッケージ・ファイル、例えば、本来デバイスには特定しないテキスト・ファイルのみを含み対応するＣＰＵ１０６のリストが存在しない設定パッケージ・ファイルも生成可能であることを注記しておく。その際、この情報を設定情報スクリプト１１０内に与えておく。その結果デバイスに独立した単一の設定パッケージ・ファイルが得られる。
【００３９】
図６は、設定パッケージ・ファイル１０Ａの好適な構造を図式的に示す。設定パッケージ・ファイル１０Ａの構造は、他の設定パッケージ・ファイル１０Ａ’および１０Ａ”に対して標準的であり、第１ファイル内に、「コンパイル化」設定情報ファイル１２０Ａを含む。第１部分には、オプションのＩＳＶが作成した「ＳＥＴＵＰ．ＤＬＬ」ファイル１０５を備えており、残りの部分には、設定パッケージ・ファイル１０Ａの終端にアプリケーション・バイナリ・ファイル１０４全てを備えている。
【００４０】
「コンパイル化」設定情報ファイル１２０Ａは、設定パッケージ・ファイル１０Ａからアプリケーションを「アンパック」するアプリケーション・プログラムに関する情報全てを含む。好適な実施形態では、「コンパイル化」設定情報ファイル１２０Ａは、アプリケーションを図６に示す構造に「再パック」するために必要な情報も含む。これは、設定パッケージ・ファイル１０Ａを次に１つのモバイル・デバイス３から別のモバイル・デバイスに転送したり、あるいはモバイル・デバイス３からデスクトップ・コンピュータ４に転送して格納する場合に、特に有用である。モバイル・デバイス３上での設定パッケージ・ファイル１０Ａの動的な作成は理想的ではない。何故なら、モバイル・デバイス３は、デスクトップ・コンピュータ４よりも少ないメモリで動作するからである。しかしながら、一旦モバイル・デバイスをデスクトップ・コンピュータに接続したなら、コンパイル化」設定情報ファイル１２０Ａを用いて、現在モバイル・デバイス上にあり、現アプリケーションに属する全てのコンポーネント（アプリケーション・ファイルおよび設定）を判定することにより、デスクトップ・コンピュータ上のアプリケーションが、当該アプリケーションを、図６に示す構造に逆に「再パック」することができる。このように、設定パッケージ・ファイル１０Ａをモバイル・デバイスのメモリ９０に格納し、後に「再パッケージ」することができる。好適な実施形態では、「コンパイル化」設定情報ファイル１２０Ａは、隠れた／リード・オンリ・ファイルであり、対応するアプリケーションがモバイル・デバイス３上にある限り、モバイル・デバイス３のメモリ９０内に留まる。対応するアプリケーションを削除すると、このファイルは除去することができる。
【００４１】
一般に、ＩＳＶ作成のＳＥＴＵＰ．ＤＬＬファイル１０５は、アプリケーション・インストール・プロセスをカスタム化する柔軟性をＩＳＶに与える。ＩＳＶ作成のＳＥＴＵＰ．ＤＬＬファイル１０５は、「ｉｎｉｔ」および「ｅｘｉｔ」関数をエクスポートする。これらは、設定パケージ・ファイル１０Ａをインストールする前後に、モバイル・デバイス３においてインストーラ・モジュール９９がコールする。一実施形態では、「ｉｎｉｔ」関数は、エンド・ユーザの使用許諾権同意（ＥＵＬＡ）および／またはスプラッシュ画面の表示、継続する前にアプリケーション・プログラムの「メイン」コンポーネントが既にモバイル・デバイス３上にインストールされていることの検証、またはアプリケーション・プログラムをアップグレードする場合に必要なあらゆる動作の実行を含む、手順のいずれでも実行することができる。例えば、インストーラ・モジュール９９は、アプリケーション・プログラムを実際にモバイル・デバイス３上にインストールする前に、これをインストールすべきか否かについて判定することができる。一例として、Ｕ．Ｓ．における種々のマップを図示するアプリケーション・プログラムのメイン・コンポーネントは、マップ・ビューアを含み、一方その他のサブ・コンポーネントは種々のＵ．Ｓ．マップを含む。一実施形態では、メイン・コンポーネントを第１設定パッケージ・ファイルとして格納することができ、一方米国内の様々な都市のようなその他のサブ・コンポーネントは、他の設定パッケージ・ファイルとして格納することができる。例えば、ユーザが最初にマップ・ビューアを関連する設定パケージ・ファイルからインストールし、次いで「シアトル」のような都市に対応する特定の設定パッケージ・ファイルをインストールする場合、この都市に対応する設定パケージ・ファイルにおける「ｉｎｉｔ」関数は、それに関連するＳＥＴＵＰ．ＤＬＬにおいて、マップ・ビューアが既にインストール済みであるか否かについて判定を行なう。マップ・ビューアが既にインストール済みである場合、都市シアトルに対する設定パッケージ・ファイルのアンパックが行われる。しかしながら、ユーザが、最初にマップ・ビューアをインストールせずに、都市シアトルに対する設定パッケージ・ファイルを最初にインストールしようとすると、「ｉｎｉｔ」関数は、マップ・ビューアがインストールされていないと判断し、エラー・メッセージを表示し、ユーザがマップ・ビューアをどこで入手することができるかに関する情報を提供することができる。「ｉｎｉｔ」関数は、モバイル・デバイス３内のインストーラ・モジュール９９にエラー・メッセージを返す。すると、インストーラ・モジュール９９は解決し、終了する。このように、インストーラ・モジュール９９は、マップ・ビューアをインストールしていないことを発見する前に、都市シアトルに対する設定パケージ・ファイルをアンパックする必要がない。一実施形態では、「ｅｘｉｔ」関数は、情報メッセージをユーザに表示し、ユーザがモバイル・デバイス３上にインストールすることができる、より多くのＵ．Ｓ．マップを含むウェブサイトへのＵＲＬを提供する。また、マップ・ビューアの使用法をユーザに教える指導用プログラムを自動的に立ち上げることも可能である。
【００４２】
別の実施形態では、ＳＥＴＵＰ．ＤＬＬ１０５は、以下の関数集合を含むことができる。
【００４３】
Ｉｎｓｔａｌｌ＿ｉｎｉｔ（）−ＥＵＬＡ表示およびバージョン・チェック。
【００４４】
Ｉｎｓｔａｌｌ＿ｅｘｉｔ（）−エラー処理、デスクトップ・コンピュータ４からモバイル・デバイス３へのユーザ・データの復元、およびデスクトップ・コンピュータ４からモバイル・デバイス３へのユーザ・データベースの再入力（ｒｅｐｏｐｕｌａｔｅ）。
【００４５】
Ｕｎｉｎｓｔａｌｌ＿ｉｎｔ（）。モバイル・デバイス３からデスクトップ・コンピュータ４へのユーザ・データのセーブ、モバイル・デバイス３からデスクトップ・コンピュータ４へのユーザ・データベース・データのセーブ、およびモバイル・デバイス３からのユーザ・データベース・データの削除。
【００４６】
Ｕｎｉｎｔａｌｌｅｄ＿ｅｘｉｔ（）−アプリケーション・プログラムを再インストールするための最終的消去、および命令の用意。
【００４７】
アンインストール中に「ｉｎｉｔ」および「ｅｘｉｔ」関数を与えることにより、ＩＳＶは、アプリケーション・プログラムに関連するユーザ・データをファイルにセーブし、これをアプリケーション・マネージャ・モジュール１２（図１）が保持するようにすることができる。また、これらの関数によって、ＩＳＶは削除の前にモバイル・デバイス３からユーザ・データベース・データをセーブすることも可能となる。
【００４８】
図７は、モバイル・デバイス上において受信した設定パッケージ・ファイルをインストーラ・モジュール９９が転送しアンパックする際のフロー図を示す。ステップ１３０において、モバイル・デバイス３は、インストールするアプリケーション・プログラムに対応する設定パッケージ・ファイルを受信する。設定パッケージ・ファイルは、メモリ９０にインストールまたは格納する。尚、設定パッケージ・ファイルを受信モバイル・デバイス３に、例えば、接続機構９を用いたデスクトップ・コンピュータ４から受信した後、ステップ１３０以降のステップは全て、デスクトップ・コンピュータ４とのこれ以上の双方向処理を行なうことなく実行することができるので、接続９を解除可能であることを注記しておく。これによって、接続時間を極力抑え、モバイル・デバイス３が設定パッケージ・ファイルをアンパックし始めている間に、ユーザはデスクトップ・コンピュータ４またはその他の設定パケージ・ファイルのソースから離れることができる。勿論、他のアプリケーションには、アプリケーションが完全に機能できるようになる前に大量のユーザ・データを必要とする場合もあり、追加の接続時間が必要となることもあり得る。
【００４９】
ステップ１３１において、望ましければ、インストーラ・モジュール９９は、次に、設定パッケージ・ファイル内に含まれているアプリケーションがモバイル・デバイス３上で実行可能か否かについて判定することができる。この情報は、「コンパイル化」設定情報ファイル１２０Ａ内の設定パッケージ・ファイルに収容してある。必要であれば、インストーラ・モジュール９９は、設定パッケージ・ファイルが、現行のものと異なるモバイル・デバイスのためにコンパイルしたファイルを含むことの指示をユーザに与え、ユーザにインストールを継続させるかまたは取り消させることができる。
【００５０】
ステップ１３２において、望ましければ、インストーラ・モジュール９９は、次に、設定パッケージ・ファイルが、モバイル・デバイス３上に既にインストールしてあるアプリケーション・プログラムに関連するか否かについて検出することができる。設定パッケージ・ファイルが、既にインストール済みのアプリケーション・プログラムに対応する場合、インストーラ・モジュール９９は、ステップ１３４において、インストールを継続するか（アプリケーションを「再インストールする」）否かについて、ユーザに問い合わせることができる。アプリケーションを再インストールすると、全てのユーザ・データ・ファイルはそのまま保持され、ＩＳＶはこれらが現ユーザ設定を保持するか、あるいはデフォルト設定とこれらを置換するかについて、設定情報スクリプト・ファイル１１０内にある情報を通じて判断することができる。
【００５１】
ステップ１３８において、インストーラ・モジュール９９は、設定パッケージ・ファイル内の「コンパイルした」シンタックス・エラーのない設定情報ファイル１２０Ａを解析し、必要なディレクトリを作成し、必要な各ディレクトリにアプリケーション・ファイル１０４（図６）をコピーする。好適な実施形態では、図６に示す設定パッケージ・ファイルの構造は、インストーラ・モジュール９９がアプリケーション・プログラム・バイナリ・ファイル１０４を「アンパック」するのとは逆の順序で、アプリケーション・プログラム・バイナリ・ファイル１０４を格納してある。これによって、ファイルを後ろから前に「アンパック」することができ、各ファイルのコピーが成功した後に、設定パッケージ・ファイル１０Ａを短縮（ｔｒｕｎｃａｔｅ）することができる（ファイル終端マーカをリロケートする）。このように、設定パッケージ・ファイル１０Ａをアンパックすることによって、対応するアプリケーション・プログラムを「インストール」する際、最少のメモリ空間で行なうことができる。実際、これは、アプリケーション・プログラムのインストール中に設定パッケージ・ファイル１０Ａを消去するが、消去した設定パッケージ・ファイル１０Ａを再生し別のモバイル・デバイスまたは別の記憶媒体に転送することが望ましい場合、インストーラ・モジュール９９は、先に論じたように、「コンパイル化」設定情報ファイル１２０Ａを保持し使用することができる。インストール中に設定パッケージ・ファイル１０Ａを「動的に短縮」させることは、メモリ９０の容量を極力抑えているモバイル・デバイス３にとっては、強力な機能である。更に、設定パッケージ・ファイル１０Ａを「動的に短縮」することにより、また、設定パッケージ・ファイル１０Ａの好適な実施形態は圧縮されないという事実から、エンド・ユーザは、現在のメモリ９０の容量で、最終アプリケーション・プログラムのモバイル・デバイス３上へのインストールがうまくいくと確信することができる。何故なら、結果的に得られるアプリケーション・プログラム・バイナリ・ファイル１０４は、設定パッケージ・ファイル１０Ａにおいてそれを「パック」したときと、同じ容量のメモリ９０を占めるに過ぎないからである。モバイル・デバイス３上にアプリケーションをインストールした後に、設定パッケージ・ファイル１０Ａをモバイル・デバイス３上に保持しておきたいユーザのために、インストーラ・モジュール９９は、ユーザに問い合わせを行い、設定パッケージ・ファイル１０Ａの「動的短縮」をディスエーブルする適当なユーザ・インターフェースを含むことができる。このように、モバイル・デバイス３は設定パッケージ・ファイル１０Ａを保持するので、ユーザは後に設定パッケージ・ファイル１０Ａ全体を別のモバイル・デバイス３またはデスクトップ・コンピュータ４に転送することができる。
【００５２】
尚、ここに記載するのは、単一の設定パッケージ・ファイルが、モバイル・デバイス３上にアプリケーションをインストールするために必要な情報を全て含む場合であるが、本発明の別の態様では、モバイル・デバイス３上に格納してある情報に基づいてアプリケーションをインストールし、好ましくは、インストールの間にメモリ使用を大幅に増大させないようにすることも注記しておく。したがって、モバイル・デバイス３上に格納してありアプリケーションのインストールに必要な情報は、複数のファイルとして一時的に格納し、少なくともその一部は、インストール・プロセスの間に自動的に削除または短縮することができる。このように、モバイル・デバイス３がアプリケーションのインストールのための情報を受信するのに使用可能な十分な空間がある場合、ユーザは、アプリケーションをインストールするために使用可能な空間も十分あることを確信する。
【００５３】
ステップ１４０において、インストール・モジュール９９は、以前に保持していたあらゆるユーザ設定を復元し、あらゆるユーザ・データベースを再入力（ｒｅｐｏｐｕｌａｔｅ）する。最後のステップとして示すが、このデータをモバイル・デバイス３に転送し、その転送直後にメモリ９０内に格納することができ、これにより、ユーザがモバイル・デバイス３をデスクトップ・コンピュータ４から切断し、通信時間を極力短縮することを可能にする。
【００５４】
再度図１を参照するが、好適な実施形態では、アプリケージョン・マネージャ・モジュール１２は、デスクトップ・コンピュータ４からのアプリケーション追加／除去を含む２つの機能をモバイル・デバイス３上で実行し、アプリケーション・プログラム５Ａ〜５Ｃのようなアプリケーション・プログラム毎に、ユーザ設定ならびにユーザ・ファイルおよびデータベースを保持する。これらの機能を実行するためには、アプリケーション・マネージャ・モジュール１２は、モバイル・デバイス３上にインストールしてあるアプリケーション・プログラムまたはインストールするアプリケーションに関する具体的な情報を必要とする。一般に、アプリケーション・マネージャ・モジュール１２は、アプリケーション・プログラムが現在インストールされている（または既に除去されている）場合には、当該アプリケーション・プログラムの名称、保持すべきモバイル・デバイス内のレジストリ値は何か、そしてモバイル・デバイス３内に保持すべきユーザ・データ・ファイルおよびユーザ・データベースは何かを必要とする。一実施形態では、インストーラ・モジュール９９は、アプリケーションに対して、モバイル・デバイス３上に「ホーム」（ｈｏｍｅ）キーを作成する。例えば、“ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ／ｓｏｆｔｗａｒｅ／Ａｐｐｓ／＜ａｐｐ＿ｎａｍｅ＞”および“ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ／Ｓｏｆｔｗａｒｅ／Ａｐｐｓ／＜ａｐｐ＿ｎａｍｅ＞”を作成する。また、インストーラ・モジュール９９は、アプリケーション・マネージャ・モジュール１２に与えるレジストリ値を書き込む。好適な実施形態では、この「ホーム」キーの下にあるレジストリ・キー／値の全ては、アプリケーション・マネージャ・モジュール１２がアプリケーションを除去するために用いる「アンインストール」ファイル内に記録しないので、アプリケーション・プログラムはこれらのレジストリ・キーに書き込み、これらがモバイル・デバイス３上でアプリケーション・プログラムよりも長く存続することを保証することができる。この実施形態では、アプリケーション・マネージャ・モジュール１２は、アプリケーション・プログラムがもはやモバイル・デバイス３上にインストールされていないことを検出した後に、「ホーム」キーを削除する役割を担い、レジストリ・データをデスクトップ・コンピュータ４にセーブする。先に論じたように、モバイル・デバイス３上にアプリケーション・プログラムを次にインストールする際、アプリケーション・マネージャ・モジュール１２は、設定パッケージ・ファイル内にあるデフォルトのレジストリ値を、既にセーブしてありデスクトップ・コンピュータ４上に保持してある値と置換する。
【００５５】
好適な実施形態では、アプリケーション・マネージャ・モジュール１２は、記憶装置８上に格納してある設定パッケージ・ファイル１０Ａ〜１０Ｄ全てのリストを維持している（または、動的にリストを生成することができる）。好ましくは、設定パッケージ・ファイル１０Ａ〜１０Ｄの各々には、アプリケーション・マネージャ・モジュール１２を登録してある。記憶装置８上の設定パッケージ・ファイルの典型的な登録には、光ドライブ３１を用いてＣＤ−ＲＯＭからというように、図２に示したリムーバブル格納可能デバイスのいずれか１つからの設定パッケージ・ファイル（設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”等）をコピーすることが含まれる。アプリケーション・マネージャ・モジュール１０を立ち上げ、設定パッケージ・ファイルの位置のような情報を提供することにより、アプリケーション・プログラムにアプリケーション・マネージャ・モジュール１２を登録する。この時点において、アプリケーション・マネージャ・モジュール１２は、設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”の各々に、「コンパイル化」設定情報ファイル１２０Ａを読み込んで解釈し、設定パッケージ・ファイルのＣＰＵ情報を、永続的データ（デスクトップ・コンピュータ４のレジストリ等）に保持する。これによって、アプリケーション・マネージャ・モジュール４は、各設定パッケージ・ファイルのどれが個々の種類のモバイル・デバイス３に一致するのかについて、１組の設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”から判定することが可能となる。
【００５６】
一実施形態では、アプリケーションにアプリケーション・マネージャ・モジュールを登録するには、Ｗｉｎｄｏｗｓブランドのオペレーティング・システムにおいて「ＩＮＩ」ファイルとして一般に知られている、初期化ファイルの使用が含まれる。初期化ファイルは、アプリケーション・ファイルをアンインストールする即ち除去するためのレジストリ・キー、設定パッケージ・ファイルを格納すべきディレクトリ、アプリケーションに関連するアイコンを表示するための情報、および各設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”の名称というような、アプリケーションに特定の情報を格納する。ＩＳＶは、初期化ファイルを作成し、これをアプリケーション・マネージャ・モジュール４に供給する。ゲーム・アプリケーションのための初期化ファイルの一例を以下に示し、それに続いてＷｉｎｄｏｗｓブランドのオペレーティング・システムのための公知のフォーマットを示す。
【００５７】
【表１】
2008234673.tif 000003
一実施形態では、ユーザはデスクトップ４上で設定プログラムを実行し、設定プログラムは、初期化ファイルおよび設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”を記憶装置８にコピーする。好ましくは、デスクトップ４のレジストリ内に位置を格納してある記憶装置８にも、アプリケーション・マネージャ・モジュール１２を格納する。設定プログラムは、レジストリにアクセスし、アプリケーション・マネージャ・モジュール１２の場所を得る。次に、設定プログラムは、初期化ファイルへのパス名全てを用いて、アプリケーション・マネージャ・モジュール１２を立ち上げる。次に、アプリケーションにアプリケーション・マネージャ・モジュールを登録する。何故なら、初期化ファイルは、対応する設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”の場所を備えているからである。
【００５８】
図８は、アプリケーション・マネージャ・モジュール１２の動作を概略的に示す。ステップ１６０において、モバイル・デバイス３を接続機構９を介してデスクトップ・コンピュータ４に接続する。次に、ユーザはデスクトップ・コンピュータ４上でアプリケーション・マネージャ・モジュール１２を立ち上げ、好ましくは、モバイル・デバイス３の特定の種類を判断する。具体的には、モバイル・デバイス３上にあるＣＰＵがどの種類のものかについて判断する。この検出を行なうには、アプリケーション・マネージャ・モジュール１２はエクスポーズ（ｅｘｐｏｓｅｄ）モバイル・デバイス３のＡＰＩおよびメソッドを用いる。登録手順の間に、デスクトップ・コンピュータ４上でアプリケーション・マネージャ・モジュール１２によって（レジストリ等）、これらの手順によって得られた情報を、永続的データ内に格納してある情報と比較し、１組の設定パッケージ・ファイル１０Ａ、１０Ａ’および１０Ａ”が現在デスクトップ・コンピュータ４上の記憶装置８に常駐しているとして、どの設定パッケージ・ファイルを用いるかについて判定を行なう。
【００５９】
図８のステップ１６４において、アプリケーション・マネージャ・モジュール１２は、図９の１６３に示すような、ユーザ・インターフェースを表示する。ユーザ・インターフェース１６３は、記憶装置８内にアプリケーション設定パッケージ・ファイルとして格納してあり使用可能なアプリケーション・プログラム、およびモバイル・デバイス３に追加またはモバイル・デバイスから除去するようにユーザが指示するために選択可能な適当な識別子１６７のリスト１６５を含む。図示の実施形態では、ユーザは、各アプリケーション毎に関連する識別子１６７にチェックを入れるかまたはチェックを入れないことによって、当該アプリケーションのインストールまたはアンインストールを行なうことができる。
【００６０】
ステップ１６６は、選択したパッケージ・ファイルの転送を表わし、モバイル・デバイス３からのアプリケーションの除去またはアンインストールを含む。好ましくは、新たに選択したアプリケーション・プログラムをインストールまたは転送するのに先立って、アプリケーション・プログラムをモバイル・デバイス３からアンインストールする。これによって、選択したアプリケーション・プログラムの新たなインストールの前に、メモリ９０が使用可能となり、ユーザ設定を保持することが可能となる。アプリケーション・プログラムのインストール中に動的に作成しモバイル・デバイス３上に格納することができる「アンインストール」ファイルを用いて、アプリケーション・マネージャ・モジュール１２は、「アンインストール」ファイルを解析し、モバイル・デバイス３から必要なファイルを除去即ち削除する。「ホーム」レジストリ・キーの下にある値、およびユーザ・データ・ファイルは削除しない。何故なら、これらは「アンインストール」ファイルに記録されていないからである。次に、アプリケーション・モジュール・マネージャ１２は、「ホーム」レジストリ・キー内のデータを、モバイル・デバイス３からデスクトップ・コンピュータ４にコピーし、更にそれに応じてユーザ・データ・ファイルをコピーする。次いで、モバイル・デバイス３上の「ホーム」レジストリ・キーおよびユーザ・データ・ファイルを削除する。
【００６１】
ユーザが、モバイル・デバイス３をデスクトップ・コンピュータから切断している間に、モバイル・デバイス３からアプリケーション・プログラムを除去した場合、アプリケーション・マネージャ・モジュール１２を用いてユーザ設定やユーザ・データをセーブすることは未だ可能である。即ち、ユーザがモバイル・デバイス３をデスクトップ・コンピュータ４に接続すると、アプリケーション・マネージャ・モジュール１２は、デスクトップ・コンピュータによってインストールされ現在はモバイル・デバイス３上にないアプリケーション・プログラムがあったと判断する。これに応じて、アプリケーション・マネージャ・モジュール１２は、モバイル・デバイス３上にユーザ・データが残っていると判断する。すると、アプリケーション・マネージャ・モジュール１２は、モバイル・デバイス３からデスクトップ・コンピュータ４に、「ホーム」レジストリ・キー内にあるデータをコピーし、ユーザ・データ・ファイルをコピーする。これに応じて、アプリケーション・マネージャ・モジュール１２は次にモバイル・デバイス３上の「ホーム」レジストリ・キーおよびユーザ・データ・ファイルを削除する。後の時点において、ユーザが再度モバイル・デバイス３にアプリケーションを再インストールしたくなった場合、アプリケーション・マネージャ・モジュール１２を再度立ち上げて、設定パケージ・ファイルをモバイル・デバイス３にコピーし、モバイル・デバイス３内でインストーラ・モジュール９９を走らせることができる。一旦インストーラ・モジュール９９がアプリケーションをインストールし終えたなら、アプリケーション・マネージャ・モジュール１２は、「ホーム」レジストリ・キー内のデフォルト・レジストリ値および以前にセーブした値を上書きすると共に、デフォルト・ユーザ・データ・ファイルを、以前にセーブしたデータ・ファイルで上書きすることができる。したがって、ユーザがモバイル・デバイス３上でアプリケーション・プログラムを走らせると、ユーザ設定の全てはデスクトップ・コンピュータ４によって維持され再インストールされたので、あたかもアプリケーションはモバイル・デバイス３から除去されなかったかのように思われる。
【００６２】
更に別の好適な実施形態では、アプリケーション・マネージャ・モジュール１２は、デスクトップ・コンピュータ４上に対応するアプリケーションを有さない、モバイル・デバイス３上のアプリケーション、またはモバイル・デバイス３上にインストール可能なアプリケーションを識別し表示する。例えば、このようなアプリケーションは、リスト１６５上で網掛して、デスクトップ・コンピュータ４上に対応するアプリケーションを有する、モバイル・デバイス３上のアプリケーションまたはモバイル・デバイス３上にインストール可能なアプリケーションから区別することができる。このように、ユーザは、一実施形態では、いずれのアプリケーションでも、それをモバイル・デバイス３上で削除する前に、デスクトップ・コンピュータ４上に少なくともユーザ・データをセーブし、モバイル・デバイス３から当該アプリケーションをアンインストールすることができる。モバイル・デバイス３またはデスクトップ・コンピュータ４が、先に論じたように、設定パッケージ・ファイルを再生する適当なモジュールを含む場合、ユーザは、望ましければ自動的に、デスクトップ・コンピュータ４上に関連する設定パッケージ・ファイルも格納し、後にモバイル・デバイス３上にインストールし直すこともできる。これによって、ユーザは、設定パッケージ・ファイルが、リムーバル・メモリ・カード３Ａまたはインターネット４Ａ（図１）からというように、別の方法を用いて元々モバイル・デバイス３にインストールした可能性があっても、デスクトップ・コンピュータ４上に設定パケージ・ファイルをセーブすることができる。
【００６３】
一実施形態では、アプリケーション・マネージャ・モジュール１２は、使用可能な全てのアプリケーションをフィルタリングし、モバイル・デバイス３に特定して宛てられこれにインストール可能な設定パッケージ・ファイルを有するアプリケーション・プログラムのみを示すリストを表示する。次いで、ユーザは、表示した識別子１６７のリスト１６５からモバイル・デバイス３上にインストールする１つまたは複数のアプリケーション・プログラムを選択する。ユーザがモバイル・デバイス３およびデスクトップ・コンピュータ４からアプリケーションを除去したい場合、表示ボタン１７３を操作することができる。表示ボタン１７５は、アプリケーションをモバイル・デバイス３上にインストールする際、デフォルト・ディレクトリおよび設定を用いることを示すためにも備えてある。表示ボタン１７５が未チェックの場合、アプリケーション・マネージャ・モジュール１２は、モバイル・デバイス上にインストールするアプリケーション毎に、インストール・ディレクトリをユーザに催促する。図示の実施形態では、ユーザ・インターフェース１６３は、１６９に選択したアプリケーションをインストールするために必要な空間、および１７１にモバイル・デバイス３上で利用可能な空間も表示する。インストールの前に、アプリケーション・マネージャ・モジュール１２は、モバイル・デバイス３上で利用可能な空間をチェックし、インストールに十分な空間があることを確かめ（何を除去するかを考慮に入れる）、十分な空間が得られない場合にはエラー・メッセージを与えることができる。
【００６４】
尚、識別子１６７によって識別したアプリケーションは、多数のコンポーネントを有することもできる点も注記しておく。例えば、「ＧＡＭＥＳ」アプリケーションは、ソリテール（ｓｏｌｉｔａｒｅ）、ブラックジャック（ｂｌａｃｋｊａｃｋ）等のように、個々に選択可能な複数のゲームを有することができる。多数のコンポーネントを有するアプリケーションの別の例は、先に論じたマップ・ビューであり、この場合、種々の都市に対するマップを別個の設定パッケージ・ファイルに格納することができる。表示ボタン１７２を活性化することにより、個々のコンポーネントを表示し選択することができる。
【００６５】
図８に示す動作モードでは、モバイル・デバイス３上にインストールするアプリケーションは、モバイル・デバイス３をデスクトップ・コンピュータ４に接続している間に選択する。尚、第２動作モードでは、アプリケーション・マネージャ・モジュールは、デスクトップ・コンピュータ４にモバイル・デバイス３Ａを接続していなくても、走らせることが可能であることは理解されよう。例えば、望ましければ、ユーザは、モバイル・デバイス３を次にデスクトップ・コンピュータ４に接続する際に、アンインストールするアプリケーションおよびインストールするアプリケーションを予め選択しておくことが望ましい場合がある。この動作モードは、複数のモバイル・デバイスが同じアプリケーションを有するように構成するが、モバイル・デバイスを異なる時点においてデスクトップ・コンピュータ４に接続することが必要となる場合に、特に有利であろう。どのアプリケーションをアンインストールしそしてインストールするかに関する情報を予め選択し格納することによって、複数のモバイル・デバイスのマネージャは、一旦接続されれば、各モバイル・デバイスが同様に構成されることを確認することができる。更に別の実施形態では、アプリケーション・プログラムは、実行する群単位で集合化することができ、各群毎に識別子を選択することによって、複数のアプリケーション・プログラムを順次モバイル・デバイス３に転送することが可能となる。例えば、第１群は、スプレッド・シート、コンタクト・マネージャ、タスク・オーガナイザというような、作業関連アプリケーション・プログラムを含むことができる。第２アプリケーション・プログラム群は、家庭用または個人的な使用に向けることができ、例えば、金銭管理プログラムやゲーム・プログラムを含むことができる。第３アプリケーション・プログラム群は、旅行プランナーやマップ・ビューというような旅行を対象としたアプリケーションを含むことができる。
【００６６】
図１０は、ここでは「テーマ」（Ｔｈｅｍｅ）として示す１群を管理するユーザ・インターフェース１８１を示す。フィールド１８３は、全ての群のリストを与えるプルダウン・メニューによって、１群の選択を可能とする。フィールド１８５は、モバイル・デバイス３に利用可能なアプリケーション全てをリストに示し、識別子１８５は、当該１群にアプリケーションを追加したり、あるいはアプリケーションを除去するために用いる。図示の実施形態では、識別子１８５にチェックを入れると、当該アプリケーションがその１群の一部であることを示し、識別子１８５にチェックを入れないと、当該アプリケーションはその１群の一部ではないことを示し、チェックして網掛した識別子１８５は、アプリケーションの１コンポーネントだけをインストールすることを示す。表示ボタン１９３は、前述のようにアプリケーションのコンポーネントを表示するために操作することができる。表示ボタン１８９を活性化することによって、新たな１群を形成することができる。表示ボタン１９１を活性化することによって、１群をインストールすることができる。
【００６７】
更に別の実施形態では、各群を個々のユーザ毎とすることができ、この場合、アプリケーション・プログラムは同一である。例えば、５人のユーザから成る営業部隊が別個のモバイル・デバイスを使用し、各ユーザが特定のまたは一意のユーザ・データ設定ならびにユーザ・ファイルおよびデータベースをデスクトップ・コンピュータ４上で用い、各モバイル・デバイスと共に使用することができる。対応する１群の選択時に、設定パッケージ・ファイルおよびユーザの特定の設定、ならびにデスクトップ・コンピュータ４上に格納してあるユーザ・データ・ファイルおよびデータベースを用いて、アプリケーション・プログラムを各モバイル・デバイス上にインストールする。
【００６８】
図８のステップ１６６において、リストまたは予め形成した群のいずれかから選択したアプリケーション・プログラムの各々を、モバイル・デバイス３に転送する。対応する設定パッケージ・ファイルの転送時に、モバイル・デバイス３内のインストーラ・モジュール９９は、前述のように、対応する設定パッケージ・ファイルをアンパックする。
【００６９】
以上好適な実施形態を参照しながら本発明について説明したが、本発明の精神および範囲から逸脱することなく、形態および詳細において変更が可能であることを当業者は認めよう。
【００７０】
【表２】
2008234673.tif 000004
【００７１】
2008234673.tif 000005
【００７２】
2008234673.tif 000006
【００７３】
2008234673.tif 000007
【００７４】
2008234673.tif 000008
【００７５】
2008234673.tif 000009
【００７６】
2008234673.tif 000010
【００７７】
2008234673.tif 000011
【００７８】
2008234673.tif 000012
【００７９】
2008234673.tif 000013
【００８０】
2008234673.tif 000014
【００８１】
2008234673.tif 000015
【００８２】
2008234673.tif 000016
【００８３】
2008234673.tif 000017
【００８４】
2008234673.tif 000018
【００８５】
2008234673.tif 000019
【００８６】
2008234673.tif 000020
【００８７】
【表３】
2008234673.tif 000021
【００８８】
2008234673.tif 000022
【００８９】
2008234673.tif 000023
【００９０】
2008234673.tif 000024
【００９１】
2008234673.tif 000025
【図面の簡単な説明】
【００９２】
【図１】本発明が動作する一環境を示すブロック図である。
【図２】モバイル・デバイスと共に用いる従来のデスクトップ・コンピュータの一実施形態のブロック図である。
【図３】本発明によるモバイル・デバイスの一実施形態を示す簡略図である。
【図４】図３に示すモバイル・デバイスの簡略ブロック図の一実施形態である。
【図５】モバイル・デバイス上で使用するアプリケーションの作成を示す図である。
【図６】図５の図にしたがって作成したファイルを示す図である。
【図７】モバイル・デバイス上におけるインストーラ・モジュールの動作を示すフロー図である。
【図８】アプリケーション・マネージャ・モジュールの動作を示すフロー図である。
【図９】アプリケーション・マネージャ・モジュールが表示するユーザ・インターフェースを示す図である。
【図１０】アプリケーション・マネージャ・モジュールが表示するユーザ・インターフェースを示す図である。
【図１】
2008234673.tif 000026
【図２】
2008234673.tif 000027
【図３】
2008234673.tif 000028
【図４】
2008234673.tif 000029
【図５】
2008234673.tif 000030
【図６】
2008234673.tif 000031
【図７】
2008234673.tif 000032
【図８】
2008234673.tif 000033
【図９】
2008234673.tif 000034
【図１０】
2008234673.tif 000035