JP4199923B2 - モバイル・デバイスのアプリケーション・インストール方法 - Google Patents

モバイル・デバイスのアプリケーション・インストール方法 Download PDF

Info

Publication number
JP4199923B2
JP4199923B2 JP2000518350A JP2000518350A JP4199923B2 JP 4199923 B2 JP4199923 B2 JP 4199923B2 JP 2000518350 A JP2000518350 A JP 2000518350A JP 2000518350 A JP2000518350 A JP 2000518350A JP 4199923 B2 JP4199923 B2 JP 4199923B2
Authority
JP
Japan
Prior art keywords
mobile device
application
file
user
desktop computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000518350A
Other languages
English (en)
Other versions
JP2001521254A5 (ja
JP2001521254A (ja
Inventor
チェン,ジェームズ
シールズ,ケヴィン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2001521254A publication Critical patent/JP2001521254A/ja
Publication of JP2001521254A5 publication Critical patent/JP2001521254A5/ja
Application granted granted Critical
Publication of JP4199923B2 publication Critical patent/JP4199923B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • G06F15/0225User interface arrangements, e.g. keyboard, display; Interfaces to other computer systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Description

【0001】
(発明の背景)
本発明は、一般にハンドヘルド携帯コンピュータとして知られているパーソナル・モバイル計算機に関する。更に特定すれば、本発明は、このようなデバイス上にアプリケーション・プログラムをインストールし、デスクトップ・コンピュータからインストールしたアプリケーション・デバイス・プログラムを管理する、アプリケーション設定パッケージを作成するシステムおよび方法に関するものである。
【0002】
モバイル・デバイスとは、小型電子計算機であり、パーソナル・デスクトップ・コンピュータと呼ばれることも多い。このようなモバイル・デバイスの内2つが、ハンドヘルドPC(Handheld PC)(または「H/PC」)およびパームPC(Palm PC)という商品名で、ワシントン州RedmondのMicrosoft Corporation(マイクロソフト社)が販売している。このようなモバイル・デバイスは、小型ではあるが、ワード・プロセッシング、スプレッド・シート・プログラム、個人金銭管理およびゲーム等、更にこれ以外にも名前をあげることができる多種多様の計算機タスクおよびアプリケーションを実行することができる。多くの観点において、これらのプログラムは、個々のデスクトップ・コンピュータ上に常駐するプログラムと非常に似通っている。アプリケーションの中には、モバイル・デバイスでは、デスクトップ・コンピュータ上で使用可能な程多くの機能を有していない場合もあるが、しかしながら、ラップトップ・コンピュータであっても利用できなかったり、あるいは便利に使用できないような現場においてデータの更新や変更を行う手段として非常に価値がある。
【0003】
前述のように、モバイル・デバイスはデスクトップ・コンピュータと共に用いることが可能である。例えば、モバイル・デバイスのユーザは、仕事場または家庭において、デスクトップ・コンピュータにアクセスすることや、使用することもできる。ユーザは、通常、デスクトップ・コンピュータおよびモバイル・ユニット双方で同じ種類のアプリケーションを走らせることができる。したがって、モバイル・デバイスをデスクトップ・コンピュータと結合し、モバイル・デバイスと情報を交換したり、情報を共有するように設計することは非常に有利である。しかしながら、モバイル・デバイスの記憶容量に限度があることを考慮すると、ユーザはモバイル・デバイスのために有する全てのアプリケーションを同時にインストールすることはできない場合もある。このような場合、ユーザは、不要なアプリケーションを削除し、他の所望のアプリケーションのために余裕を作らなければならない。
【0004】
アプリケーションをモバイル・デバイスから削除したり、デスクトップ・コンピュータからモバイル・デバイスに転送する際には、多数の重大な問題が存在する。一般に、アプリケーションは多数のファイルを含み、モバイル・デバイス上の予め選択したディレクトリ内に正しくインストールしなければならず、このようなアプリケーションに対して適切なコンフィギュレーションをデバイスに設定するために、モバイル・デバイスに設定を行わなければならない。ワシントン州RedmondのMicrosoft Corporation(マイクロソフト社)が販売するプラットフォームのように、「レジストリ」を維持するプラットフォームがある。レジストリとは、公知のデータベースであり、計算機上にあるアプリケーションに関する情報源である。この情報は、(ユーザ設定値のような)永続的なデータ格納を必要とするアプリケーションが用いる。新たなアプリケーションをモバイル計算機上にインストールする方法の1つは、所望のアプリケーションのコピーを格納してあるデスクトップ・コンピュータにモバイル計算機を接続することを含む。次に、ユーザは、アプリケーションの各ファイルを計算機に転送し、予め選択したディレクトリにおいて要求される通りにこれを格納し、当該アプリケーションがアクセスできるようにする。次に、アプリケーションの要件に応じて、レジストリ値を変更する。あるシステムでは、デスクトップ・コンピュータは、アプリケーションに必要な各ファイルのリストを収容するスクリプト・ファイルを実行し、このファイルを順次モバイル・デバイスに転送する。
【0005】
デスクトップ・コンピュータおよびモバイル・デバイス間の接続がダウンロード手順中に途切れた場合、後者の方法に伴う重大な問題の1つが発生する。例えば、不用意なエラーまたは偶然的なエラーから、アプリケーションが必要とするファイルの一部のみを転送した後に、接続が落ちる場合がある。この場合、モバイル計算機は、そのアプリケーションに必要なファイルの一部のみを取り込んだに過ぎず、ダウンロード手順を繰り返さなければならない。2つ以上のアプリケーションをモバイル・デバイスに転送する場合、このために手順全体を繰り返さなければならない場合もある。
【0006】
別の重大な問題に、スクリプト・ファイル自体、特にエラー処理を伴うものがある。単純なスクリプト・ファイルを用いてアプリケーションをデスクトップ・コンピュータからモバイル・デバイスにインストールする場合、インストール・プログラムは、失われたファイル、およびスクリプト・ファイル内のエラーを用いてというように、「ランタイム」エラー処理を実行しなければならない。これらの問題に遭遇のはエンド・ユーザであろう。理想的には、これらの問題は「コンパイル時」に、アプリケーション設定プログラムがその最終生産状態に入る前に解決して当然である。エンド・ユーザは、アプリケーションを彼らのモバイル・デバイスにインストールする際に、これらのような問題に遭遇する必要がないのが当然である。
【0007】
モバイル・デバイス上にアプリケーションをインストールする現行の方法について、別の重大な欠点は、所望のアプリケーションを転送するためには、モバイル・デバイスをデスクトップ・コンピュータに接続しなければならないことである。このため、ユーザは最初にモバイル・デバイス用アプリケーションをデスクトップ・コンピュータにインストールし、次いで接続を行った後に、このアプリケーションをデスクトップ・コンピュータからモバイル・デバイスに転送しなければならない。
【0008】
アプリケーションをモバイル計算機上にインストールする現在の方法における欠点を克服することは、相変わらず必要とされている。即ち、アプリケーションをインストールするためにユーザが実行する必要がある操作数を減らす必要がある。加えて、実際のアプリケーション・インストール手順は、最終製品を出荷する前に解決可能なエラーを処理しなくてもよいようでなければならない。また、ユーザは、専用デスクトップ・コンピュータ以外のソースからアプリケーションをインストールすることができなければならない。
【0009】
更に、多くの場合、アプリケーションは特定のモバイル・デバイス上で走るように個別に書かなければならない。したがって、同じアプリケーションでも、異なる種類のCPU毎に設計するため、多くの変形があるという場合もある。アプリケーションの変形を容易に作成し、しかも異なるCPUプラットフォームを有する多数のモバイル・デバイス・ユーザが使用する同じデスクトップ・コンピュータ上にアプリケーションの変形全てを格納してある場合に、容易に正しい変形を確認しアクセスする必要がある。
(発明の概要)
ストレージ・ソースから複数のモバイル・デバイスにアプリケーションをインストールするシステムおよび方法において、各モバイル・デバイスが異なる種類である際に、ストレージ・ソース上に複数のアプリケーションを格納するステップを含む。各アプリケーションは、固有の種類のモバイル・デバイス用に設計してある。モバイル・デバイスをストレージ・ソースに接続し、モバイル・デバイスの種類を検出する。次に、選択したアプリケーションをモバイル・デバイスに転送する。
【0010】
一態様において、ストレージ・ソースからモバイル・デバイスにプログラム・アプリケーションをインストールするシステムおよび方法は必要なアプリケーション・ファイルおよびレジストリ情報を単一の設定パッケージに格納するステップを含む。設定パッケージは、アプリケーション特定情報から成る第1部分と、アプリケーション・ファイルから成る第2部分とを有する単一ファイルから成る。アプリケーション設定命令は、モバイル・デバイス上で行なう設定や、アプリケーション・ファイルをモバイル・デバイス上のどこに格納するかというような設定情報を含む。ユーザによる選択時に、設定パッケージ・ファイルをモバイル・デバイスに転送し、ここに格納する。次いで、設定パッケージ・ファイルをアンパックし、モバイル・デバイス上に実行可能なアプリケーション・プログラムをインストールする。更に、好ましくは、その後設定パッケージ・ファイルを自動的に削除する。
【0011】
本発明の別の広義の態様では、ストレージ・ソースからモバイル・デバイスにプログラム・アプリケーションをインストールするシステムおよび方法において、各設定パッケージ・ファイルは、1つ以上の種類のモバイル・デバイスに対応する。モバイル・デバイスのストレージ・ソースへの接続時に、システムは、複数の既知のモバイル・デバイスから当該モバイル・デバイスの種類を検出する。次に、システムは、検出したモバイル・デバイスに適用可能な設定パッケージ・ファイルを選択する。
【0012】
本発明の別の広義の態様では、プログラム・アプリケーションをモバイル・デバイス上にインストールする方法は、インストールするアプリケーションを示す情報をモバイル・デバイス上に格納するステップと、アプリケーションをモバイル・デバイス上にインストールしつつ、モバイル・デバイス上の情報を削除するステップとを含む。
【0013】
本発明の更に別の広義の態様では、ストレージ・ソースからモバイル・デバイスにプログラム・アプリケーションをインストールするデータ構造を格納してあるコンピュータ読み取り可能媒体を開示する。データ構造は、アプリケーション特定情報から成る第1部分と、アプリケーション・ファイルから成る第2部分とを含む。アプリケーション仕様情報は、モバイル・デバイス上で行なう設定や、モバイル・デバイス上のどこにアプリケーション・ファイルを格納するかというような設定情報を含む。
(好適な実施形態の詳細な説明)
図1は、本発明が動作する一環境2のブロック図である。環境2は、モバイル・デバイス3およびデスクトップ・コンピュータ4を含む。モバイル・デバイス3は、5A、5Bおよび5Cで示す1つ以上のアプリケーション・プログラム、ならびに記憶装置6を含む。デスクトップ・コンピュータ4も、7A、7B、7Cおよび7Dで示す1つ以上のアプリケーション・プログラム、ならびに記憶装置8を含む。モバイル・デバイス3およびデスクトップ・コンピュータ4は、シリアル接続、赤外線リンクまたはインターネットを経由するモデム接続、あるいは直接ダイアルというような、複数の公知の接続機構の1つによって接続可能である。接続機構9の形態は無関係であるが、本願と同時に出願した“INTEGRATED COMMUNICATIONS ARCHITECTURE ON A MOBILE DEVICE”(モバイル・デバイス上の統合化通信アーキテクチャ)と題する同時係属中の出願に、更に別の接続形態が記載されている。その内容は、この言及により本願にも含まれるものとする。
【0014】
本発明の一実施形態では、アプリケーション・プログラム7A〜7Dは、ワード・プロセッシング・プログラム、個人金銭管理、スプレッド・シート・プログラムのアプリケーションであり、更にこれ以外にも名前をあげることができる。記憶装置8は、プログラムを走らせるためのファイル、あるいはユーザが入力するレコードまたはオブジェクトのようなデータを維持するためのファイルを格納するように構成してある。デスクトップ・コンピュータ4は、アプリケーション・プログラム7A〜7Dを実行し、必要に応じて記憶装置8に格納してあるファイルおよびオブジェクトを用いる。
【0015】
アプリケーション・プログラム5A〜5Cは、デスクトップ・コンピュータ4上に常駐するアプリケーション・プログラム7A〜7Dと同様に、記憶装置6に格納してあるデータにアクセスするように設計してある。実施形態によっては、アプリケーション・プログラム5A〜5Cは、通常限られた記憶装置6上で利用可能なメモリを考慮して、モバイル・デバイス3上における実行の最適化または削減を何らかの方法で行っている。例えば、デスクトップ・コンピュータ4上のアプリケーション・プログラム7Aは、Microsoft Corporation(マイクロソフト社)が販売するWordブランドのワード・プロセッサのようなワード・プロセッサである場合もあり、一方モバイル・デバイス3上のアプリケーション・プログラム5AはMicrosoft Corporation(マイクロソフト社)が販売するPocket Wordブランドのワード・プロセッサである場合もある。しかしながら、モバイル・デバイス3の記憶装置6を構成するメモリは限られているので、ユーザはアプリケーション・プログラム7A〜7Dに対応する全てのプログラム、または他の所望のプログアムを一度にモバイル・デバイス3上にインストールすることは、およそ不可能であろう。図示の実施形態では、モバイル・デバイス3上には3つのアプリケーション・プログラム5A〜5Cが常駐し、一方デスクトップ・コンピュータ4上では4つのアプリケーション・プログラム7A〜7Dが常駐するというようにして、これを図示している。したがって、ユーザは、所望のアプリケーションをインストールし走らせるためには、場合によってはモバイル・デバイス3上にインストールしてあるアプリケーション・プログラム5A〜5Cの1つまたは全てを除去しなければならないこともあり得る。図示の実施形態では、モバイル・デバイス3上にアプリケーション・プログラム5A〜5Cをインストールするために必要な情報は全て、記憶装置8において10で示す複数の一意の設定パケージ・ファイルの1つに格納してある。即ち、設定パッケージ・ファイル10Aは、アプリケーション・プログラム5Aをモバイル・デバイス3にインストールするためのプログラム・ファイルおよびユーザ設定の全てを収容する、即ち、含んでいる。同様に、設定パッケージ・ファイル10Bは、アプリケーション・プログラム5Bをモバイル・デバイス3にインストールするためのプログラム・ファイルおよびユーザ設定の全てを含んでおり、一方設定パッケージ・ファイル10Cは、アプリケーション・プログラム5Cをモバイル・デバイス3にインストールするためのファイルおよびユーザ設定の全てを含んでいる。前述のように、アプリケーション・プログラム5A〜5Cは、デスクトップ・コンピュータ4上のアプリケーション・プログラム7A〜7Cと類似するが、必ずしも同一ではない。記憶装置8内に示すモバイル・デバイス3用の設定パッケージ・ファイル10Cは、プログラム5Cをモバイル・デバイス3上にインストールし走らせるためのファイルおよびユーザ設定の全てを収容する。
【0016】
設定パッケージ・ファイル10A〜10Dが各々、対応するアプリケーション・プログラムをモバイル・デバイス3上にインストールするために必要な全てのファイルおよび設定を含むことを考慮して、設定パッケージ・ファイルは、デスクトップ・コンピュータ4上で使用することに限定していない。例えば、図1を参照すると、モバイル・デバイス3は、通信リンク9を介して、ローカル・エリア・ネットワークまたはインターネットのようなワイド・エリア・ネットワークに接続することができる。設定パッケージ・ファイルの実際の作成は、適切なデスクトップ・コンピュータを必要とする個々のソフトウエア・ベンダ(ISV)が行うが、一旦設定パッケージ・ファイルをサーバ(図示せず)上に格納したならば、モバイル・デバイス3は、適切なブラウザを用いて、ローカルまたはワイド・エリア・ネットワーク4A上に格納してあるパッケージ・ファイルにアクセスすることができる。
【0017】
更に別の動作環境では、モバイル・デバイス3は、適当な通信リンク9を介して、第2のモバイル・デバイス4Bに接続することができる。このように、アプリケーション・プログラムは、モバイル・デバイス3および4B間で転送することができる。
【0018】
加えて、設定パッケージ・ファイル10A〜10Dは、モバイル・デバイス内に共通して設けられているリムーバブル・ストレージまたはメモリ・カード3Aを用いてモバイル・デバイス3Aに転送することも可能である。
【0019】
概して、本発明の広義な態様の1つでは、対応するプログラムをモバイル・デバイス3上にインストールするための設定パッケージ・ファイル10A〜10Dの作成を含む。別の広義な態様では、設定パッケージ・ファイル10A〜10Dの独特な構造を含む。本発明の更に別の広義な態様では、ユーザの要求に応じてモバイル・デバイス3上の設定パッケージ・ファイル10A〜10Dのアンインストール(uninstall)およびインストールを管理するためにデスクトップ・コンピュータ4上に設けるアプリケーション・マネージャ・モジュール12を含む。
【0020】
本発明の態様について説明する前に、デスクトップ・コンピュータ3およびモバイル・デバイス3Aのような典型的なモバイル・デバイスについて端的に説明しておくと、役立つであろう。
【0021】
図2、図3および図4ならびに関連する論述は、本発明を実現可能な適切な計算機環境の全体的な説明を手短に行うことを意図するものである。必須ではないが、本発明の説明は、少なくとも部分的に、デスクトップ・コンピュータ4またはモバイル・デバイス3が実行するプログラム・モジュールのようなコンピュータ実行可能命令に関して概略的に行うこととする。一般に、プログラム・モジュールは、特定のタスクを実行したり、あるいは特定の抽象的データ形式を使用する、ルーチン・プログラム、オブジェクト、コンポーネント、データ構造等を含む。更に、本発明は、パームトップ・コンピュータのようなその他のハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサを用いた消費者用電子機器またはプログラム可能な消費者用電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ等を含む、その他のコンピュータ・システム・コンフィギュレーションとでも実施可能であることを当業者は認めよう。また、本発明は、分散型計算機環境において、通信ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行するという実施も可能である。分散型計算機環境では、プログラム・モジュールは、ローカルおよびリモート・メモリ記憶装置双方に配置することができる。
【0022】
図2を参照すると、本発明を実現するためのシステム例は、従来のパーソナル・コンピュータ即ちデスクトップ・コンピュータ4の形態とした汎用計算機を含み、コンピュータ演算装置(CPU)21、システム・メモリ22、およびシステム・メモリ22から演算装置21までを含む種々のシステム・コンポーネントを結合するシステム・バス23を含む。システム・バス23は、種々のバス・アーキテクチャのいずれかを用いたメモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、数種類のバス構造のいずれでもよい。システム・メモリ22は、リード・オンリ・メモリ(ROM)24、およびランダム・アクセス・メモリ(RAM)25を含む。起動中等においてデスクトップ・コンピュータ4内のエレメント間の情報転送に供する基本ルーチンを収容する基本入出力システム(BIOS)26は、ROM24に格納してある。また、コンピュータ4は、ハード・ディスク(図示せず)の読み取りおよび書き込みを行うハード・ディスク・ドライブ27、リムーバブル磁気ディスク29の読み取りおよび書き込みを行う磁気ディスク・ドライブ28、ならびにCD−ROMまたはその他の光媒体のようなリムーバブル光ディスク31の読み取りおよび書き込みを行う光ディスク・ドライブ30も含むことができる。ハード・ディスク・ドライブ27、磁気ディスク・ドライブ28、および光ディスク・ドライブ30は、ハード・ディスク・ドライブ・インターフェース32、磁気ディスク・ドライブ・インターフェース33、および光ディスク・ドライブ・インターフェース34によって、それぞれシステム・バス23に接続してある。これらのドライブおよびそれに関連するコンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ4用のその他のデータの不揮発性格納を行う。
【0023】
ここに記載する環境の一例は、ハード・ディスク、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を採用するが、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)等のような、コンピュータによるアクセスが可能なデータを格納することができる、他の種類のコンピュータ読み取り可能媒体も、動作環境の一例において使用可能であることは、当業者には認められよう。
【0024】
多数のプログラム・モジュールを、ハード・ディスク、磁気ディクス29、光ディスク31、ROM24またはRAM25上に格納することができ、オペレーティング・システム35、1つ以上のアプリケーション・プログラム7A〜7D、その他のプログラム・モジュール37、およびプログラム・データ38を含む。ユーザは、キーボード40、ポインティング・デバイス42およびマイクロフォン43のような入力デバイスによって、コマンドおよび情報をデスクトップ・コンピュータ4に入力することができる。他の入力デバイス(図示せず)として、ジョイスティック、ゲーム・パッド、衛星ディッシュ(satellite dish)、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス23に結合してあるシリアル・ポート・インターフェース46を介して、演算装置21に接続しているが、サウンド・カード、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB:universal serial bus)のようなその他のインターフェースによって接続することも可能である。モニタ47または別の種類の表示装置も、ビデオ・アダプタ48のようなインターフェースを介して、システム・バス23に接続する。モニタ47に加えて、パーソナル・コンピュータは、通常、スピーカやプリンタのような、その他の周辺出力デバイス(図示せず)を含むこともできる。
【0025】
デスクトップ・コンピュータ4は、リモート・コンピュータ49のような1つ以上のリモート・コンピュータへの論理接続を用いて、有線またはワイヤレス・ネットワーク環境で動作することも可能である。リモート・コンピュータ49は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイス、またはその他のネットワーク・ノードとすることができ、通常、デスクトップ・コンピュータ4に関して先に記載したエレメントの多くまたは全てを含むが、メモリ記憶装置50だけを図2に示す。図2に示す論理接続は、ローカル・エリア・ネットワーク(LAN)51およびワイド・エリア・ネットワーク(WAN)52を含む。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク・イントラネットおよびインターネットでは一般的である。
【0026】
LANネットワーク環境で用いる場合、デスクトップ・コンピュータ4は、ネットワーク・インターフェースまたはアダプタ53を介して、ローカル・ネットワーク51に接続する。WANネットワーク環境で用いる場合、デスクトップ・コンピュータ4は通常モデム54またはインターネットのようなワイド・エリア・ネットワーク52上で通信を確立するその他の手段を含む。モデム54は、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース46を介してシステム・バス23に接続する。ネットワーク環境では、デスクトップ・コンピュータ4に関して図示したプログラム・モジュールまたはその一部を、図示しない、リモート・メモリ記憶装置に格納することも可能である。図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立するその他の手段も使用可能であることは認められよう。図示の実施形態では、モバイル・デバイス3も、シリアル・ポート・インターフェース46を介してデスクトップ・コンピュータ4に接続する。
【0027】
デスクトップ・コンピュータ4は、図2に示すメモリ記憶装置のいずれかに格納してあるオペレーティング・システムを走らせ、演算装置21上で実行する。適切なオペレーティング・システムの1つは、Windows95またはWindows NT、あるいはWindowsブランドのオペレーティング・システムの別の派生バージョンのような、Microsoft Corporation(マイクロソフト社)が販売するWindowsブランドのオペレーティング・システム、あるいはそれ以外の適切なオペレーティング・システムである。他の適切なオペレーティング・システムには、Apple Corporation(アップル社)が販売するMacintosh OSや、International Business Machines(IBM)が販売するOS/2プレゼンテーション・マネージャのようなシステムが含まれる。
【0028】
図3は、本発明にしたがって使用可能なモバイル・デバイス3の好適な一実施形態の外観図である。モバイル・デバイス3は、一実施形態では、Microsoft Corporation(マイクロソフト社)がH/PCという名称で販売しているデスクトップ・アシスタントである。モバイル・デバイス3は、デスクトップ・コンピュータ4と同様の構成部品をいくつか有している。例えば、一実施形態では、モバイル・デバイス3は、小型化キーボード82、ディスプレイ84およびスタイラス86を含む。ディスプレイ84は、スタイラス86と共に用いる接触感応画面を有するLCDディスプレイとすることができる。スタイラス86は、指定した座標においてディスプレイ84を押下または接触し、あるユーザ入力機能を実行するために用いる。勿論、他のコンフィギュレーションも同様に使用可能である。例えば、キーパッド、トラック・ボール、および種々の形式の小型化キーボード等のような、ユーザ入力機構を含ませることができる。加えて、モバイル・デバイス3は、デスクトップ・アシスタントのMicrosoftH/PCブランドとして具体化しなくてもよく、別の種類のパーソナル・ディジタル・アシスタントPDA、別のパーソナル・オーガナイザ、パームトップ・コンピュータ、同様のコンピュータ化したノートパッド・デバイス、電話機またはページャとして実現することも可能である。
【0029】
図4は、モバイル・デバイス3の更に詳細なブロック図である。モバイル・デバイス3Aは、マイクロプロセッサ88、メモリ90、入出力(I/O)構成部品92(キーボード82、ならびに接触感応ディスプレイ84およびシリアル・インターフェース94を含む)を含むことが好ましい。一実施形態では、これらの構成部品は、適切なバス96を通じて、互いの通信のために結合してある。メモリ90は、バッテリ・バックアップ・モジュール(図示せず)を備えたランダム・アクセス・メモリ(RAM)のような不揮発性電子メモリとして実現し、モバイル・デバイス3全体の電力が停止した場合に、メモリ90に格納してある情報を失わないようにすることができる。メモリ90の一部は、プログラム実行のためにアドレス可能なメモリとして割り当てることが好ましく、一方メモリ90の残りの部分は、ディスク・ドライブ上の格納をシミュレートするために用い、この場合、メモリ90は、勿論、図1における記憶装置6として機能することができることが好ましい。
【0030】
メモリ90は、オペレーティング・システム98およびアプリケーション・プログラム5A〜5Cを含む。オペレーティング・システム98は、動作中、マイクロプロセッサ88によって実行することが好ましい。オペレーティング・システム98は、一実施形態では、Microsoft Corporation(マイクロソフト社)から商業的に入手可能なWindows CEブランドのオペレーティング・システムである。オペレーティング・システム98は、モバイル・デバイス用に設計し、1組の外から見える(exposed)アプリケーション・プログラミング・インターフェース(API)およびメソッドを通じてアプリケーション・プログラム5A〜5Cが利用可能なデータベース機能を実装することが好ましい。記憶装置6内のオブジェクトは、少なくとも部分的に、前述の外から見えるアプリケーション・プログラム・インターフェースおよびメソッドへのコールに応答して、アプリケーション・プログラム5A〜5Cおよびオペレーティング・システム98によって維持することが好ましい。先に注記したように、アプリケーション・プログラム5A〜5Cは、必ずしも、デスクトップ・コンピュータ4上で実行する対応のアプリケーション・プログラム7A〜7Dと完全に互換性を有するように設計してある訳でもない。例えば、特定のオブジェクト形式のプロパティ間に、正確な1対1の一致がなくてもよい。アプリケーション・プログラム5A〜5Cの機能に対応するプロパティの一部は、デスクトップ・コンピュータ4上のアプリケーション・プログラム7A〜7C内の対応する機能を有さない場合もある。
【0031】
アプリケーション・プログラム5A〜5Cおよびオペレーティング・システム98に加えて、メモリ90は、更に、Windows CEブランドのオペレーティング・システムのようなオペレーティング・システムにおいて用いるレジストリ97も格納する。レジストリ97は公知のデータベースであり、モバイル・デバイス3に関する情報源である。この情報は、永続的なデータ格納(ユーザ設定のような)を必要とするアプリケーションが用いる。メモリ90は、更に、インストーラ・モジュール99(図1に示す)を格納する。以下で説明するが、これは、デスクトップ・コンピュータ4上に格納してある設定パッケージ・ファイル、例えば、ファイル10Aをモバイル・デバイス3に転送し終えた後、これをこのファイルを「アンパック」するものである。
【0032】
図5は、設定パッケージ・ファイル10A、ならびに好ましくは同様の設定・パッケージ・ファイル10A‘および10A“の生成を示す図である。概略的に、設定パッケージ・ファイル10Aを作成するには、生成モジュール102を用いる。これは、図2に示したデスクトップ・コンピュータ4のような、適当なデスクトップ・コンピュータ上で動作する。ISVは、生成モジュール102を用いて、アプリケーション・プログラム・バイナリ・ファイル104、104’および104”(各バイナリ・セットは、目標モバイル・デバイスに対する特定コード、および非特定的なファイルを含むことができる)を、目標モバイル・デバイスに特定した設定パッケージ・ファイル10A、10A‘および10A“に変換し、これらを一緒にして単一ファイルとしてパッケージし、モバイル・デバイス3に転送する。例えば、設定パッケージ・ファイル10A、10A’および10A”は、異なる入力デバイスまたは異なるCPUのような、異なるハードウエアの種類を有するモバイル・デバイスに作成することができる。言い換えると、設定パッケージ・ファイル10A、10‘および10A“は全て、同じ種類のCPU用とすることができるが、モバイル・デバイスの別の評価基準または特性に基づいて区別することができる。
【0033】
一実施形態では、設定パケージ・ファイル10A、10A‘および10A“は、「キャビネット・ファイル」(cabinet file)の変更形態である。キャビネット・ファイルは、Microsoft Corporation(マイクロソフト社)が過去においてその製品において用いていた、効率的な分散方法である。キャビネット・ファイルは、圧縮してまたは圧縮せずに作成することができる。キャビネット・ファイルを作成する際に圧縮を用いることの主な利点は、ダウンロードするファイルが小さくなるので、通信時間が短縮することであり、これは重要なファクタとなり得る。しかしながら、これは、モバイル・デバイス3上に伸長コードを実装するためにインストーラ・モジュール99が必要となることを意味し、インストーラ・モジュール99のファイルおよび実行サイズの増大を招くことになる。モバイル・デバイス3は典型的にメモリ容量が限られているので、モバイル・デバイス3上に常駐するインストーラ・モジュール99のサイズ増大は望ましいことではないであろう。加えて、設定パッケージ・ファイル10A〜10Dは、対応するアプリケーション5A〜5Dを走らせるために必要なファイルを全て含んでいるので、設定パッケージ・ファイル10A〜10Dのモバイル・デバイス3への未圧縮フォーマットでの完全な転送によって、一旦設定パッケージ・ファイルが「アンパック」されれば、モバイル・デバイス3がアプリケーション5A〜5Dのために利用可能なメモリを十分有することが保証される。更に、オペレーティング・システム98は、既に圧縮したファイルを用いたり、あるいはこれと共に動作するので、圧縮した設定パッケージ・ファイルを有することによるストレージの削減は極く少ないであろう。言い換えると、圧縮ファイルを圧縮しても通常極く少ない削減しか得られない。しかしながら、後に別のモバイル・デバイスまたは他のコンピュータに転送するためにモバイル・デバイス3が設定パッケージ・ファイルを携行することが望ましい場合、モバイル・デバイス3上に格納しておく間は圧縮しておけば、設定パッケージ・ファイルを小さくすることができる。
【0034】
アプリケーション・プログラム・バイナリ・ファイル104、104‘および104“に加えて、生成モジュール102は、作成すべき所望のCPU依存設定パッケージ・ファイルを示す情報を受け取る。パーソナル・アシスタント、パーソナル・オーガナイザ等には多くの異なる種類があり、その多くは異なる種類のCPU上で走るので、多数の設定パッケージ・ファイル10A、10A’および10A”を有し、各々が特定のCPUの種類に対応する必要がある。対応するCPU情報のリストを106に提示する。
【0035】
図示の実施形態では、生成モジュール102は、モバイル・デバイス3上でアプリケーション・プログラムを走らせるために用いる、別のアプリケーション特定情報も受け取る。アプリケーション特定情報は、設定情報スクリプト・ファイル110内に収容し、アプリケーション表示名、作成するアプリケーション・レジストリ・データ、作成するディレクトリ、コピーするファイル、デフォルト・インストール・ディレクトリ、ショートカット情報、その他の典型的な設定情報を含む。この情報は、Windowsブランドのオペレーティング・システムにおいて共通に用いる「INF」ファイルのような、適当なスクリプト・ファイル内に、ISVによって備えるようにする。一実施形態では、生成モジュール102は、設定情報スクリプト110を分析し、シンタックスおよび構造を検証し、例えば、設定パッケージ・ファイルを形成する前に、必要なファイルが全てあることを検証する。この手順は、「ソース」ファイル(設定情報スクリプト110)に類似しており、次に「コンパイル」して、「コンパイル化」設定情報ファイル120Aを作成する。これは、最終的な設定パッケージ・ファイル内に含まれる。このように、アプリケーション・インストールの間に実行するのは、最終的なマクロ交換およびエラー処理のみでよい。設定情報スクリプト110の生成モジュール102によるシンタックスおよび構造のチェックは、このようにしてエラーを最少化し、次いでISVによって設定パッケージ・ファイル10A、10A‘および10A“としてアプリケーションの最終的な分配が行われる。これは、他の場合では、モバイル・デバイス3上でのアプリケーションのインストール時、または恐らくランタイムにのみ見られるであろう。一実施形態では、設定情報スクリプト110のフォーマットは、32ビットのWindowsブランドのオペレーティング・システムの情報ファイルに用いているフォーマットと同様であり、当業者には公知である。補足資料Aは、Windowsブランドのオペレーティング・システムの設定情報スクリプト110について、種々のセクションのリストを提供する。「コンパイル化」設定情報ファイルの一実施形態のフォーマットを補足資料Bに提示する。
【0036】
前述のように、生成モジュール102は、典型的に、モバイル・デバイス3のCPUに依存する、設定パッケージ・ファイル10A、10A‘および10A“を生成する。尚、プログラム生成器102は、デバイスの種類には独立した設定パッケージ・ファイル、例えば、本来デバイスには特定しないテキスト・ファイルのみを含み対応するCPU106のリストが存在しない設定パッケージ・ファイルも生成可能であることを注記しておく。その際、この情報を設定情報スクリプト110内に与えておく。その結果デバイスに独立した単一の設定パッケージ・ファイルが得られる。
【0037】
図6は、設定パッケージ・ファイル10Aの好適な構造を図式的に示す。設定パッケージ・ファイル10Aの構造は、他の設定パッケージ・ファイル10A‘および10A“に対して標準的であり、第1ファイル内に、「コンパイル化」設定情報ファイル120Aを含む。第1部分には、オプションのISVが作成した「SETUP.DLL」ファイル105を備えており、残りの部分には、設定パッケージ・ファイル10Aの終端にアプリケーション・バイナリ・ファイル104全てを備えている。
【0038】
「コンパイル化」設定情報ファイル120Aは、設定パッケージ・ファイル10Aからアプリケーションを「アンパック」するアプリケーション・プログラムに関する情報全てを含む。好適な実施形態では、「コンパイル化」設定情報ファイル120Aは、アプリケーションを図6に示す構造に「再パック」するために必要な情報も含む。これは、設定パッケージ・ファイル10Aを次に1つのモバイル・デバイス3から別のモバイル・デバイスに転送したり、あるいはモバイル・デバイス3からデスクトップ・コンピュータ4に転送して格納する場合に、特に有用である。モバイル・デバイス3上での設定パッケージ・ファイル10Aの動的な作成は理想的ではない。何故なら、モバイル・デバイス3は、デスクトップ・コンピュータ4よりも少ないメモリで動作するからである。しかしながら、一旦モバイル・デバイスをデスクトップ・コンピュータに接続したなら、コンパイル化」設定情報ファイル120Aを用いて、現在モバイル・デバイス上にあり、現アプリケーションに属する全てのコンポーネント(アプリケーション・ファイルおよび設定)を判定することにより、デスクトップ・コンピュータ上のアプリケーションが、当該アプリケーションを、図6に示す構造に逆に「再パック」することができる。このように、設定パッケージ・ファイル10Aをモバイル・デバイスのメモリ90に格納し、後に「再パッケージ」することができる。好適な実施形態では、「コンパイル化」設定情報ファイル120Aは、隠れた/リード・オンリ・ファイルであり、対応するアプリケーションがモバイル・デバイス3上にある限り、モバイル・デバイス3のメモリ90内に留まる。対応するアプリケーションを削除すると、このファイルは除去することができる。
【0039】
一般に、ISV作成のSETUP.DLLファイル105は、アプリケーション・インストール・プロセスをカスタム化する柔軟性をISVに与える。ISV作成のSETUP.DLLファイル105は、「init」および「exit」関数をエクスポートする。これらは、設定パケージ・ファイル10Aをインストールする前後に、モバイル・デバイス3においてインストーラ・モジュール99がコールする。一実施形態では、「init」関数は、エンド・ユーザの使用許諾権同意(EULA)および/またはスプラッシュ画面の表示、継続する前にアプリケーション・プログラムの「メイン」コンポーネントが既にモバイル・デバイス3上にインストールされていることの検証、またはアプリケーション・プログラムをアップグレードする場合に必要なあらゆる動作の実行を含む、手順のいずれでも実行することができる。例えば、インストーラ・モジュール99は、アプリケーション・プログラムを実際にモバイル・デバイス3上にインストールする前に、これをインストールすべきか否かについて判定することができる。一例として、U.S.における種々のマップを図示するアプリケーション・プログラムのメイン・コンポーネントは、マップ・ビューアを含み、一方その他のサブ・コンポーネントは種々のU.S.マップを含む。一実施形態では、メイン・コンポーネントを第1設定パッケージ・ファイルとして格納することができ、一方米国内の様々な都市のようなその他のサブ・コンポーネントは、他の設定パッケージ・ファイルとして格納することができる。例えば、ユーザが最初にマップ・ビューアを関連する設定パケージ・ファイルからインストールし、次いで「シアトル」のような都市に対応する特定の設定パッケージ・ファイルをインストールする場合、この都市に対応する設定パケージ・ファイルにおける「init」関数は、それに関連するSETUP.DLLにおいて、マップ・ビューアが既にインストール済みであるか否かについて判定を行なう。マップ・ビューアが既にインストール済みである場合、都市シアトルに対する設定パッケージ・ファイルのアンパックが行われる。しかしながら、ユーザが、最初にマップ・ビューアをインストールせずに、都市シアトルに対する設定パッケージ・ファイルを最初にインストールしようとすると、「init」関数は、マップ・ビューアがインストールされていないと判断し、エラー・メッセージを表示し、ユーザがマップ・ビューアをどこで入手することができるかに関する情報を提供することができる。「init」関数は、モバイル・デバイス3内のインストーラ・モジュール99にエラー・メッセージを返す。すると、インストーラ・モジュール99は解決し、終了する。このように、インストーラ・モジュール99は、マップ・ビューアをインストールしていないことを発見する前に、都市シアトルに対する設定パケージ・ファイルをアンパックする必要がない。一実施形態では、「exit」関数は、情報メッセージをユーザに表示し、ユーザがモバイル・デバイス3上にインストールすることができる、より多くのU.S.マップを含むウェブサイトへのURLを提供する。また、マップ・ビューアの使用法をユーザに教える指導用プログラムを自動的に立ち上げることも可能である。
【0040】
別の実施形態では、SETUP.DLL105は、以下の関数集合を含むことができる。
【0041】
Install_init()−EULA表示およびバージョン・チェック。
【0042】
Install_exit()−エラー処理、デスクトップ・コンピュータ4からモバイル・デバイス3へのユーザ・データの復元、およびデスクトップ・コンピュータ4からモバイル・デバイス3へのユーザ・データベースの再入力(repopulate)。
【0043】
Uninstall_int()。モバイル・デバイス3からデスクトップ・コンピュータ4へのユーザ・データのセーブ、モバイル・デバイス3からデスクトップ・コンピュータ4へのユーザ・データベース・データのセーブ、およびモバイル・デバイス3からのユーザ・データベース・データの削除。
【0044】
Unintalled_exit()−アプリケーション・プログラムを再インストールするための最終的消去、および命令の用意。
【0045】
アンインストール中に「init」および「exit」関数を与えることにより、ISVは、アプリケーション・プログラムに関連するユーザ・データをファイルにセーブし、これをアプリケーション・マネージャ・モジュール12(図1)が保持するようにすることができる。また、これらの関数によって、ISVは削除の前にモバイル・デバイス3からユーザ・データベース・データをセーブすることも可能となる。
【0046】
図7は、モバイル・デバイス上において受信した設定パッケージ・ファイルをインストーラ・モジュール99が転送しアンパックする際のフロー図を示す。ステップ130において、モバイル・デバイス3は、インストールするアプリケーション・プログラムに対応する設定パッケージ・ファイルを受信する。設定パッケージ・ファイルは、メモリ90にインストールまたは格納する。尚、設定パッケージ・ファイルを受信モバイル・デバイス3に、例えば、接続機構9を用いたデスクトップ・コンピュータ4から受信した後、ステップ130以降のステップは全て、デスクトップ・コンピュータ4とのこれ以上の双方向処理を行なうことなく実行することができるので、接続9を解除可能であることを注記しておく。これによって、接続時間を極力抑え、モバイル・デバイス3が設定パッケージ・ファイルをアンパックし始めている間に、ユーザはデスクトップ・コンピュータ4またはその他の設定パケージ・ファイルのソースから離れることができる。勿論、他のアプリケーションには、アプリケーションが完全に機能できるようになる前に大量のユーザ・データを必要とする場合もあり、追加の接続時間が必要となることもあり得る。
【0047】
ステップ131において、望ましければ、インストーラ・モジュール99は、次に、設定パッケージ・ファイル内に含まれているアプリケーションがモバイル・デバイス3上で実行可能か否かについて判定することができる。この情報は、「コンパイル化」設定情報ファイル120A内の設定パッケージ・ファイルに収容してある。必要であれば、インストーラ・モジュール99は、設定パッケージ・ファイルが、現行のものと異なるモバイル・デバイスのためにコンパイルしたファイルを含むことの指示をユーザに与え、ユーザにインストールを継続させるかまたは取り消させることができる。
【0048】
ステップ132において、望ましければ、インストーラ・モジュール99は、次に、設定パッケージ・ファイルが、モバイル・デバイス3上に既にインストールしてあるアプリケーション・プログラムに関連するか否かについて検出することができる。設定パッケージ・ファイルが、既にインストール済みのアプリケーション・プログラムに対応する場合、インストーラ・モジュール99は、ステップ134において、インストールを継続するか(アプリケーションを「再インストールする」)否かについて、ユーザに問い合わせることができる。アプリケーションを再インストールすると、全てのユーザ・データ・ファイルはそのまま保持され、ISVはこれらが現ユーザ設定を保持するか、あるいはデフォルト設定とこれらを置換するかについて、設定情報スクリプト・ファイル110内にある情報を通じて判断することができる。
【0049】
ステップ138において、インストーラ・モジュール99は、設定パッケージ・ファイル内の「コンパイルした」シンタックス・エラーのない設定情報ファイル120Aを解析し、必要なディレクトリを作成し、必要な各ディレクトリにアプリケーション・ファイル104(図6)をコピーする。好適な実施形態では、図6に示す設定パッケージ・ファイルの構造は、インストーラ・モジュール99がアプリケーション・プログラム・バイナリ・ファイル104を「アンパック」するのとは逆の順序で、アプリケーション・プログラム・バイナリ・ファイル104を格納してある。これによって、ファイルを後ろから前に「アンパック」することができ、各ファイルのコピーが成功した後に、設定パッケージ・ファイル10Aを短縮(truncate)することができる(ファイル終端マーカをリロケートする)。このように、設定パッケージ・ファイル10Aをアンパックすることによって、対応するアプリケーション・プログラムを「インストール」する際、最少のメモリ空間で行なうことができる。実際、これは、アプリケーション・プログラムのインストール中に設定パッケージ・ファイル10Aを消去するが、消去した設定パッケージ・ファイル10Aを再生し別のモバイル・デバイスまたは別の記憶媒体に転送することが望ましい場合、インストーラ・モジュール99は、先に論じたように、「コンパイル化」設定情報ファイル120Aを保持し使用することができる。インストール中に設定パッケージ・ファイル10Aを「動的に短縮」させることは、メモリ90の容量を極力抑えているモバイル・デバイス3にとっては、強力な機能である。更に、設定パッケージ・ファイル10Aを「動的に短縮」することにより、また、設定パッケージ・ファイル10Aの好適な実施形態は圧縮されないという事実から、エンド・ユーザは、現在のメモリ90の容量で、最終アプリケーション・プログラムのモバイル・デバイス3上へのインストールがうまくいくと確信することができる。何故なら、結果的に得られるアプリケーション・プログラム・バイナリ・ファイル104は、設定パッケージ・ファイル10Aにおいてそれを「パック」したときと、同じ容量のメモリ90を占めるに過ぎないからである。モバイル・デバイス3上にアプリケーションをインストールした後に、設定パッケージ・ファイル10Aをモバイル・デバイス3上に保持しておきたいユーザのために、インストーラ・モジュール99は、ユーザに問い合わせを行い、設定パッケージ・ファイル10Aの「動的短縮」をディスエーブルする適当なユーザ・インターフェースを含むことができる。このように、モバイル・デバイス3は設定パッケージ・ファイル10Aを保持するので、ユーザは後に設定パッケージ・ファイル10A全体を別のモバイル・デバイス3またはデスクトップ・コンピュータ4に転送することができる。
【0050】
尚、ここに記載するのは、単一の設定パッケージ・ファイルが、モバイル・デバイス3上にアプリケーションをインストールするために必要な情報を全て含む場合であるが、本発明の別の態様では、モバイル・デバイス3上に格納してある情報に基づいてアプリケーションをインストールし、好ましくは、インストールの間にメモリ使用を大幅に増大させないようにすることも注記しておく。したがって、モバイル・デバイス3上に格納してありアプリケーションのインストールに必要な情報は、複数のファイルとして一時的に格納し、少なくともその一部は、インストール・プロセスの間に自動的に削除または短縮することができる。このように、モバイル・デバイス3がアプリケーションのインストールのための情報を受信するのに使用可能な十分な空間がある場合、ユーザは、アプリケーションをインストールするために使用可能な空間も十分あることを確信する。
【0051】
ステップ140において、インストール・モジュール99は、以前に保持していたあらゆるユーザ設定を復元し、あらゆるユーザ・データベースを再入力(repopulate)する。最後のステップとして示すが、このデータをモバイル・デバイス3に転送し、その転送直後にメモリ90内に格納することができ、これにより、ユーザがモバイル・デバイス3をデスクトップ・コンピュータ4から切断し、通信時間を極力短縮することを可能にする。
【0052】
再度図1を参照するが、好適な実施形態では、アプリケージョン・マネージャ・モジュール12は、デスクトップ・コンピュータ4からのアプリケーション追加/除去を含む2つの機能をモバイル・デバイス3上で実行し、アプリケーション・プログラム5A〜5Cのようなアプリケーション・プログラム毎に、ユーザ設定ならびにユーザ・ファイルおよびデータベースを保持する。これらの機能を実行するためには、アプリケーション・マネージャ・モジュール12は、モバイル・デバイス3上にインストールしてあるアプリケーション・プログラムまたはインストールするアプリケーションに関する具体的な情報を必要とする。一般に、アプリケーション・マネージャ・モジュール12は、アプリケーション・プログラムが現在インストールされている(または既に除去されている)場合には、当該アプリケーション・プログラムの名称、保持すべきモバイル・デバイス内のレジストリ値は何か、そしてモバイル・デバイス3内に保持すべきユーザ・データ・ファイルおよびユーザ・データベースは何かを必要とする。一実施形態では、インストーラ・モジュール99は、アプリケーションに対して、モバイル・デバイス3上に「ホーム」(home)キーを作成する。例えば、“HKEY_LOCAL_MACHINE/software/Apps/<app_name>”および“HKEY_CURRENT_USER/Software/Apps/<app_name>”を作成する。また、インストーラ・モジュール99は、アプリケーション・マネージャ・モジュール12に与えるレジストリ値を書き込む。好適な実施形態では、この「ホーム」キーの下にあるレジストリ・キー/値の全ては、アプリケーション・マネージャ・モジュール12がアプリケーションを除去するために用いる「アンインストール」ファイル内に記録しないので、アプリケーション・プログラムはこれらのレジストリ・キーに書き込み、これらがモバイル・デバイス3上でアプリケーション・プログラムよりも長く存続することを保証することができる。この実施形態では、アプリケーション・マネージャ・モジュール12は、アプリケーション・プログラムがもはやモバイル・デバイス3上にインストールされていないことを検出した後に、「ホーム」キーを削除する役割を担い、レジストリ・データをデスクトップ・コンピュータ4にセーブする。先に論じたように、モバイル・デバイス3上にアプリケーション・プログラムを次にインストールする際、アプリケーション・マネージャ・モジュール12は、設定パッケージ・ファイル内にあるデフォルトのレジストリ値を、既にセーブしてありデスクトップ・コンピュータ4上に保持してある値と置換する。
【0053】
好適な実施形態では、アプリケーション・マネージャ・モジュール12は、記憶装置8上に格納してある設定パッケージ・ファイル10A〜10D全てのリストを維持している(または、動的にリストを生成することができる)。好ましくは、設定パッケージ・ファイル10A〜10Dの各々には、アプリケーション・マネージャ・モジュール12を登録してある。記憶装置8上の設定パッケージ・ファイルの典型的な登録には、光ドライブ31を用いてCD−ROMからというように、図2に示したリムーバブル格納可能デバイスのいずれか1つからの設定パッケージ・ファイル(設定パッケージファイル10A、10A‘および10A“等)をコピーすることが含まれる。アプリケーション・マネージャ・モジュール10を立ち上げ、設定パッケージ・ファイルの位置のような情報を提供することにより、アプリケーション・プログラムにアプリケーション・マネージャ・モジュール12を登録する。この時点において、アプリケーション・マネージャ・モジュール12は、設定パッケージ・ファイル10A、10A’および10A”の各々に、「コンパイル化」設定情報ファイル120Aを読み込んで解釈し、設定パッケージ・ファイルのCPU情報を、永続的データ(デスクトップ・コンピュータ4のレジストリ等)に保持する。これによって、アプリケーション・マネージャ・モジュール4は、各設定パッケージ・ファイルのどれが個々の種類のモバイル・デバイス3に一致するのかについて、1組の設定パッケージ・ファイル10A、10A‘および10A“から判定することが可能となる。
【0054】
一実施形態では、アプリケーションにアプリケーション・マネージャ・モジュールを登録するには、Windowsブランドのオペレーティング・システムにおいて「INI」ファイルとして一般に知られている、初期化ファイルの使用が含まれる。初期化ファイルは、アプリケーション・ファイルをアンインストールする即ち除去するためのレジストリ・キー、設定パッケージ・ファイルを格納すべきディレクトリ、アプリケーションに関連するアイコンを表示するための情報、および各設定パッケージ・ファイル10A、10A‘および10A“の名称というような、アプリケーションに特定の情報を格納する。ISVは、初期化ファイルを作成し、これをアプリケーション・マネージャ・モジュール4に供給する。ゲーム・アプリケーションのための初期化ファイルの一例を以下に示し、それに続いてWindowsブランドのオペレーティング・システムのための公知のフォーマットを示す。
【0055】
【表1】
[CEAppManager]
バージョン=1.0
コンポーネント=ゲーム
[ゲーム]
記述=WindowsCEブランド・デバイス用ゲーム・パック
アンインストール=ゲーム パック(アンインストール・レジストリ・キー)
InstallDir=C:\program Files\CE Game Pack(設定パッケージ・ファイル10A〜10A“を格納する場所)
IconFile=gamepack.ico(InstallDirからの相対パス)
IconIndex=0
DeviceFile=gamepack.exe(アイコンを表示するプログラム)
CabFiles=CPU1\gamepack.cab,CPU2\gamepack.cab(InstallDirに対して)
一実施形態では、ユーザはデスクトップ4上で設定プログラムを実行し、設定プログラムは、初期化ファイルおよび設定パッケージ・ファイル10A、10A‘および10A“を記憶装置8にコピーする。好ましくは、デスクトップ4のレジストリ内に位置を格納してある記憶装置8にも、アプリケーション・マネージャ・モジュール12を格納する。設定プログラムは、レジストリにアクセスし、アプリケーション・マネージャ・モジュール12の場所を得る。次に、設定プログラムは、初期化ファイルへのパス名全てを用いて、アプリケーション・マネージャ・モジュール12を立ち上げる。次に、アプリケーションにアプリケーション・マネージャ・モジュールを登録する。何故なら、初期化ファイルは、対応する設定パッケージ・ファイル10A、10A’および10A”の場所を備えているからである。
【0056】
図8は、アプリケーション・マネージャ・モジュール12の動作を概略的に示す。ステップ160において、モバイル・デバイス3を接続機構9を介してデスクトップ・コンピュータ4に接続する。次に、ユーザはデスクトップ・コンピュータ4上でアプリケーション・マネージャ・モジュール12を立ち上げ、好ましくは、モバイル・デバイス3の特定の種類を判断する。具体的には、モバイル・デバイス3上にあるCPUがどの種類のものかについて判断する。この検出を行なうには、アプリケーション・マネージャ・モジュール12はエクスポーズ(exposed)モバイル・デバイス3のAPIおよびメソッドを用いる。登録手順の間に、デスクトップ・コンピュータ4上でアプリケーション・マネージャ・モジュール12によって(レジストリ等)、これらの手順によって得られた情報を、永続的データ内に格納してある情報と比較し、1組の設定パッケージ・ファイル10A、10A‘および10A“が現在デスクトップ・コンピュータ4上の記憶装置8に常駐しているとして、どの設定パッケージファイルを用いるかについて判定を行なう。
【0057】
図8のステップ164において、アプリケーション・マネージャ・モジュール12は、図9の163に示すような、ユーザ・インターフェースを表示する。ユーザ・インターフェース163は、記憶装置8内にアプリケーション設定パッケージ・ファイルとして格納してあり使用可能なアプリケーション・プログラム、およびモバイル・デバイス3に追加またはモバイル・デバイスから除去するようにユーザが指示するために選択可能な適当な識別子167のリスト165を含む。図示の実施形態では、ユーザは、各アプリケーション毎に関連する識別子167にチェックを入れるかまたはチェックを入れないことによって、当該アプリケーションのインストールまたはアンインストールを行なうことができる。
【0058】
ステップ166は、選択したパッケージ・ファイルの転送を表わし、モバイル・デバイス3からのアプリケーションの除去またはアンインストールを含む。好ましくは、新たに選択したアプリケーション・プログラムをインストールまたは転送するのに先立って、アプリケーション・プログラムをモバイル・デバイス3からアンインストールする。これによって、選択したアプリケーション・プログラムの新たなインストールの前に、メモリ90が使用可能となり、ユーザ設定を保持することが可能となる。アプリケーション・プログラムのインストール中に動的に作成しモバイル・デバイス3上に格納することができる「アンインストール」ファイルを用いて、アプリケーション・マネージャ・モジュール12は、「アンインストール」ファイルを解析し、モバイル・デバイス3から必要なファイルを除去即ち削除する。「ホーム」レジストリ・キーの下にある値、およびユーザ・データ・ファイルは削除しない。何故なら、これらは「アンインストール」ファイルに記録されていないからである。次に、アプリケーション・モジュール・マネージャ12は、「ホーム」レジストリ・キー内のデータを、モバイル・デバイス3からデスクトップ・コンピュータ4にコピーし、更にそれに応じてユーザ・データ・ファイルをコピーする。次いで、モバイル・デバイス3上の「ホーム」レジストリ・キーおよびユーザ・データ・ファイルを削除する。
【0059】
ユーザが、モバイル・デバイス3をデスクトップ・コンピュータから切断している間に、モバイル・デバイス3からアプリケーション・プログラムを除去した場合、アプリケーション・マネージャ・モジュール12を用いてユーザ設定やユーザ・データをセーブすることは未だ可能である。即ち、ユーザがモバイル・デバイス3をデスクトップ・コンピュータ4に接続すると、アプリケーション・マネージャ・モジュール12は、デスクトップ・コンピュータによってインストールされ現在はモバイル・デバイス3上にないアプリケーション・プログラムがあったと判断する。これに応じて、アプリケーション・マネージャ・モジュール12は、モバイル・デバイス3上にユーザ・データが残っていると判断する。すると、アプリケーション・マネージャ・モジュール12は、モバイル・デバイス3からデスクトップ・コンピュータ4に、「ホーム」レジストリ・キー内にあるデータをコピーし、ユーザ・データ・ファイルをコピーする。これに応じて、アプリケーション・マネージャ・モジュール12は次にモバイル・デバイス3上の「ホーム」レジストリ・キーおよびユーザ・データ・ファイルを削除する。後の時点において、ユーザが再度モバイル・デバイス3にアプリケーションを再インストールしたくなった場合、アプリケーション・マネージャ・モジュール12を再度立ち上げて、設定パケージ・ファイルをモバイル・デバイス3にコピーし、モバイル・デバイス3内でインストーラ・モジュール99を走らせることができる。一旦インストーラ・モジュール99がアプリケーションをインストールし終えたなら、アプリケーション・マネージャ・モジュール12は、「ホーム」レジストリ・キー内のデフォルト・レジストリ値および以前にセーブした値を上書きすると共に、デフォルト・ユーザ・データ・ファイルを、以前にセーブしたデータ・ファイルで上書きすることができる。したがって、ユーザがモバイル・デバイス3上でアプリケーション・プログラムを走らせると、ユーザ設定の全てはデスクトップ・コンピュータ4によって維持され再インストールされたので、あたかもアプリケーションはモバイル・デバイス3から除去されなかったかのように思われる。
【0060】
更に別の好適な実施形態では、アプリケーション・マネージャ・モジュール12は、デスクトップ・コンピュータ4上に対応するアプリケーションを有さない、モバイル・デバイス3上のアプリケーション、またはモバイル・デバイス3上にインストール可能なアプリケーションを識別し表示する。例えば、このようなアプリケーションは、リスト165上で網掛して、デスクトップ・コンピュータ4上に対応するアプリケーションを有する、モバイル・デバイス3上のアプリケーションまたはモバイル・デバイス3上にインストール可能なアプリケーションから区別することができる。このように、ユーザは、一実施形態では、いずれのアプリケーションでも、それをモバイル・デバイス3上で削除する前に、デスクトップ・コンピュータ4上に少なくともユーザ・データをセーブし、モバイル・デバイス3から当該アプリケーションをアンインストールすることができる。モバイル・デバイス3またはデスクトップ・コンピュータ4が、先に論じたように、設定パッケージ・ファイルを再生する適当なモジュールを含む場合、ユーザは、望ましければ自動的に、デスクトップ・コンピュータ4上に関連する設定パッケージ・ファイルも格納し、後にモバイル・デバイス3上にインストールし直すこともできる。これによって、ユーザは、設定パッケージ・ファイルが、リムーバル・メモリ・カード3Aまたはインターネット4A(図1)からというように、別の方法を用いて元々モバイル・デバイス3にインストールした可能性があっても、デスクトップ・コンピュータ4上に設定パケージ・ファイルをセーブすることができる。
【0061】
一実施形態では、アプリケーション・マネージャ・モジュール12は、使用可能な全てのアプリケーションをフィルタリングし、モバイル・デバイス3に特定して宛てられこれにインストール可能な設定パッケージ・ファイルを有するアプリケーション・プログラムのみを示すリストを表示する。次いで、ユーザは、表示した識別子167のリスト165からモバイル・デバイス3上にインストールする1つまたは複数のアプリケーション・プログラムを選択する。ユーザがモバイル・デバイス3およびデスクトップ・コンピュータ4からアプリケーションを除去したい場合、表示ボタン173を操作することができる。表示ボタン175は、アプリケーションをモバイル・デバイス3上にインストールする際、デフォルト・ディレクトリおよび設定を用いることを示すためにも備えてある。表示ボタン175が未チェックの場合、アプリケーション・マネージャ・モジュール12は、モバイル・デバイス上にインストールするアプリケーション毎に、インストール・ディレクトリをユーザに催促する。図示の実施形態では、ユーザ・インターフェース163は、169に選択したアプリケーションをインストールするために必要な空間、および171にモバイル・デバイス3上で利用可能な空間も表示する。インストールの前に、アプリケーション・マネージャ・モジュール12は、モバイル・デバイス3上で利用可能な空間をチェックし、インストールに十分な空間があることを確かめ(何を除去するかを考慮に入れる)、十分な空間が得られない場合にはエラー・メッセージを与えることができる。
【0062】
尚、識別子167によって識別したアプリケーションは、多数のコンポーネントを有することもできる点も注記しておく。例えば、「GAMES」アプリケーションは、ソリテール(solitare)、ブラックジャック(blackjack)等のように、個々に選択可能な複数のゲームを有することができる。多数のコンポーネントを有するアプリケーションの別の例は、先に論じたマップ・ビューであり、この場合、種々の都市に対するマップを別個の設定パッケージ・ファイルに格納することができる。表示ボタン172を活性化することにより、個々のコンポーネントを表示し選択することができる。
【0063】
図8に示す動作モードでは、モバイル・デバイス3上にインストールするアプリケーションは、モバイル・デバイス3をデスクトップ・コンピュータ4に接続している間に選択する。尚、第2動作モードでは、アプリケーション・マネージャ・モジュールは、デスクトップ・コンピュータ4にモバイル・デバイス3Aを接続していなくても、走らせることが可能であることは理解されよう。例えば、望ましければ、ユーザは、モバイル・デバイス3を次にデスクトップ・コンピュータ4に接続する際に、アンインストールするアプリケーションおよびインストールするアプリケーションを予め選択しておくことが望ましい場合がある。この動作モードは、複数のモバイルデバイスが同じアプリケーションを有するように構成するが、モバイル・デバイスを異なる時点においてデスクトップ・コンピュータ4に接続することが必要となる場合に、特に有利であろう。どのアプリケーションをアンインストールしそしてインストールするかに関する情報を予め選択し格納することによって、複数のモバイル・デバイスのマネージャは、一旦接続されれば、各モバイル・デバイスが同様に構成されることを確認することができる。更に別の実施形態では、アプリケーション・プログラムは、実行する群単位で集合化することができ、各群毎に識別子を選択することによって、複数のアプリケーション・プログラムを順次モバイル・デバイス3に転送することが可能となる。例えば、第1群は、スプレッド・シート、コンタクト・マネージャ、タスク・オーガナイザというような、作業関連アプリケーション・プログラムを含むことができる。第2アプリケーション・プログラム群は、家庭用または個人的な使用に向けることができ、例えば、金銭管理プログラムやゲーム・プログラムを含むことができる。第3アプリケーション・プログラム群は、旅行プランナーやマップ・ビューというような旅行を対象としたアプリケーションを含むことができる。
【0064】
図10は、ここでは「テーマ」(Theme)として示す1群を管理するユーザ・インターフェース181を示す。フィールド183は、全ての群のリストを与えるプルダウン・メニューによって、1群の選択を可能とする。フィールド185は、モバイル・デバイス3に利用可能なアプリケーション全てをリストに示し、識別子185は、当該1群にアプリケーションを追加したり、あるいはアプリケーションを除去するために用いる。図示の実施形態では、識別子185にチェックを入れると、当該アプリケーションがその1群の一部であることを示し、識別子185にチェックを入れないと、当該アプリケーションはその1群の一部ではないことを示し、チェックして網掛した識別子185は、アプリケーションの1コンポーネントだけをインストールすることを示す。表示ボタン193は、前述のようにアプリケーションのコンポーネントを表示するために操作することができる。表示ボタン189を活性化することによって、新たな1群を形成することができる。表示ボタン191を活性化することによって、1群をインストールすることができる。
【0065】
更に別の実施形態では、各群を個々のユーザ毎とすることができ、この場合、アプリケーション・プログラムは同一である。例えば、5人のユーザから成る営業部隊が別個のモバイル・デバイスを使用し、各ユーザが特定のまたは一意のユーザ・データ設定ならびにユーザ・ファイルおよびデータベースをデスクトップ・コンピュータ4上で用い、各モバイル・デバイスと共に使用することができる。対応する1群の選択時に、設定パッケージ・ファイルおよびユーザの特定の設定、ならびにデスクトップ・コンピュータ4上に格納してあるユーザ・データ・ファイルおよびデータベースを用いて、アプリケーション・プログラムを各モバイル・デバイス上にインストールする。
【0066】
図8のステップ166において、リストまたは予め形成した群のいずれかから選択したアプリケーション・プログラムの各々を、モバイル・デバイス3に転送する。対応する設定パッケージ・ファイルの転送時に、モバイル・デバイス3内のインストーラ・モジュール99は、前述のように、対応する設定パッケージ・ファイルをアンパックする。
【0067】
以上好適な実施形態を参照しながら本発明について説明したが、本発明の精神および範囲から逸脱することなく、形態および詳細において変更が可能であることを当業者は認めよう。
【0068】
【表2】
Figure 0004199923
【0069】
Figure 0004199923
【0070】
Figure 0004199923
【0071】
Figure 0004199923
【0072】
Figure 0004199923
【0073】
Figure 0004199923
【0074】
Figure 0004199923
【0075】
Figure 0004199923
【0076】
Figure 0004199923
【0077】
Figure 0004199923
【0078】
Figure 0004199923
【0079】
Figure 0004199923
【0080】
Figure 0004199923
【0081】
Figure 0004199923
【0082】
Figure 0004199923
【0083】
Figure 0004199923
【0084】
Figure 0004199923
【0085】
【表3】
Figure 0004199923
【0086】
Figure 0004199923
【0087】
Figure 0004199923
【0088】
Figure 0004199923
【0089】
Figure 0004199923

【図面の簡単な説明】
【図1】 本発明が動作する一環境を示すブロック図である。
【図2】 モバイル・デバイスと共に用いる従来のデスクトップ・コンピュータの一実施形態のブロック図である。
【図3】 本発明によるモバイル・デバイスの一実施形態を示す簡略図である。
【図4】 図3に示すモバイル・デバイスの簡略ブロック図の一実施形態である。。
【図5】 モバイル・デバイス上で使用するアプリケーションの作成を示す図である。
【図6】 図5の図にしたがって作成したファイルを示す図である。
【図7】 モバイル・デバイス上におけるインストーラ・モジュールを動作を示すフロー図である。
【図8】 アプリケーション・マネージャ・モジュールの動作を示すフロー図である。
【図9】 アプリケーション・マネージャ・モジュールが表示するユーザ・インターフェースを示す図である。
【図10】 アプリケーション・マネージャ・モジュールが表示するユーザ・インターフェースを示す図である。

Claims (4)

  1. トレージ・ソースから複数のモバイル・デバイスにアプリケーションをインストールする方法において、各モバイル・デバイスが異なる種類である場合に、
    記ストレージ・ソースが、前記ストレージ・ソースに複数のアプリケーションを格納するステップであって、各アプリケーションは固有の種類のモバイル・デバイス上で実行されるように設計してあり、前記モバイル・デバイスが前記ストレージ・ソースから接続を断たれているときに、前記ストレージ・ソースが前記格納をするステップであって、格納される各アプリケーションが、アプリケーション特定情報から成る第1部分と、アプリケーション・ファイルから成る第2部分とを有する単一ファイルから成る設定パッケージ・ファイルを備え、前記アプリケーション特定情報が前記モバイル・デバイスのコンフィギュレーションのための設定情報を含むものである、そのようなステップと、
    あるモバイル・デバイス記ストレージ・ソースに物理的に接続された後、前記ストレージ・ソースが、前記ストレージ・ソースに接続されたモバイル・デバイスの種類を検出するステップと、
    前記ストレージ・ソースが、前記ストレージ・ソース上で、検出された前記種類に応じた前記モバイル・デバイスに適用可能な複数の設定パッケージ・ファイルを示す複数の識別子であって、アプリケーションを前記モバイル・デバイスに追加または前記モバイル・デバイスから除去するようにユーザが指示するために選択可能な複数の識別子を表示するステップと、
    記ストレージ・ソースが、前記表示に対するユーザの指示に応じて、前記複数のアプリケーションの中から前記モバイル・デバイス上で実行されるように設計された設定パッケージ・ファイルを、前記モバイル・デバイスに転送するステップと、
    前記モバイル・デバイスが、前記モバイル・デバイス上で実行可能なアプリケーション・プログラムを生成するために、前記設定情報を用いて前記設定パッケージ・ファイル終端から前記モバイル・デバイス上に各アプリケーション・ファイルを格納し、格納が成功したアプリケーション・ファイルから順次除去を行うことにより、前記モバイル・デバイス上に格納された前記設定パッケージ・ファイルをアンパックするステップと
    を含むことを特徴とする方法。
  2. 請求項1記載の方法において、前記表示するステップが、前記モバイル・デバイスに適用可能な、前記モバイル・デバイスにおける用途に従ってグループ化された複数群の予め形成してある設定パッケージ・ファイルの各々に対して識別子を表示するステップを含むことを特徴とする方法。
  3. 請求項に記載の方法において、前記アプリケーション特定情報が、前記モバイル・デバイス上で行なう設定の少なくとも1つ、および前記アプリケーション・ファイルを前記モバイル・デバイス上のどこに格納するのかを含むことを特徴とする方法。
  4. 請求項1、2または3のいずれかに記載の方法において、前記モバイル・デバイスがアンパックするステップ、ファイル終端マーカをリロケートすることにより、前記アプリケーション・ファイルを除去することを特徴とする方法。
JP2000518350A 1997-10-24 1998-10-23 モバイル・デバイスのアプリケーション・インストール方法 Expired - Lifetime JP4199923B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US6316497P 1997-10-24 1997-10-24
US60/063,164 1997-10-24
US6498697P 1997-11-07 1997-11-07
US60/064,986 1997-11-07
US09/058,031 US6496979B1 (en) 1997-10-24 1998-04-10 System and method for managing application installation for a mobile device
US09/058,031 1998-04-10
PCT/US1998/022455 WO1999022325A1 (en) 1997-10-24 1998-10-23 System and method for managing application installation for a mobile device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008099739A Division JP2008234673A (ja) 1997-10-24 2008-04-07 モバイル・デバイスのアプリケーション・インストール管理システムおよび方法

Publications (3)

Publication Number Publication Date
JP2001521254A JP2001521254A (ja) 2001-11-06
JP2001521254A5 JP2001521254A5 (ja) 2006-01-05
JP4199923B2 true JP4199923B2 (ja) 2008-12-24

Family

ID=27369375

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000518350A Expired - Lifetime JP4199923B2 (ja) 1997-10-24 1998-10-23 モバイル・デバイスのアプリケーション・インストール方法
JP2008099739A Pending JP2008234673A (ja) 1997-10-24 2008-04-07 モバイル・デバイスのアプリケーション・インストール管理システムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008099739A Pending JP2008234673A (ja) 1997-10-24 2008-04-07 モバイル・デバイスのアプリケーション・インストール管理システムおよび方法

Country Status (5)

Country Link
US (1) US6496979B1 (ja)
EP (1) EP1023685A1 (ja)
JP (2) JP4199923B2 (ja)
CA (1) CA2305172C (ja)
WO (1) WO1999022325A1 (ja)

Families Citing this family (282)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6169789B1 (en) 1996-12-16 2001-01-02 Sanjay K. Rao Intelligent keyboard system
US7185332B1 (en) 1998-03-25 2007-02-27 Symantec Corporation Multi-tiered incremental software updating
US6931381B1 (en) * 1999-03-11 2005-08-16 American Express Travel Related Services Company, Inc. Methods and apparatus for authenticating the download of information onto a smart card
US6738806B1 (en) * 1999-06-14 2004-05-18 Wind River International, Ltd. Method and system of deploying an application between computers
US6529992B1 (en) * 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
JP2001051851A (ja) * 1999-08-17 2001-02-23 Nec Corp 携帯電子機器のプログラム変更システム及び方法
JP3669619B2 (ja) * 1999-09-06 2005-07-13 富士通株式会社 無線端末装置のソフトウェア更新方法及びその装置
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US20010047394A1 (en) 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
JP3847058B2 (ja) * 1999-10-04 2006-11-15 任天堂株式会社 ゲームシステム及びそれに用いられるゲーム情報記憶媒体
CN100348039C (zh) * 1999-11-17 2007-11-07 索尼公司 数字信号处理设备和方法
US6832230B1 (en) * 1999-12-22 2004-12-14 Nokia Corporation Apparatus and associated method for downloading an application with a variable lifetime to a mobile terminal
WO2001053938A1 (en) * 2000-01-23 2001-07-26 Altiris, Inc. Method and system for describing and extracting application information
US6934532B2 (en) * 2000-02-09 2005-08-23 Apriva, Inc. Communication systems, components, and methods operative with programmable wireless devices
KR100847596B1 (ko) * 2000-03-02 2008-07-21 소니 가부시끼 가이샤 통신망 시스템, 게이트웨이, 데이터 통신방법과 프로그램제공매체
US20060245741A1 (en) * 2000-03-09 2006-11-02 Cynthia Lakhansingh Digital enterainment recorder
GB0006055D0 (en) * 2000-03-14 2000-05-03 Ibm Managing pervasive devices
US6842861B1 (en) 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
US7391718B2 (en) * 2004-03-09 2008-06-24 Palm, Inc. Swapping a nonoperational networked electronic system for an operational networked electronic system
US6724720B1 (en) 2000-05-01 2004-04-20 Palmone, Inc. Swapping a nonoperational networked electronic system for an operational networked electronic system
US6701521B1 (en) * 2000-05-25 2004-03-02 Palm Source, Inc. Modular configuration and distribution of applications customized for a requestor device
JP4568963B2 (ja) * 2000-06-08 2010-10-27 ソニー株式会社 情報処理装置、情報通信システム
US6717762B1 (en) * 2000-06-09 2004-04-06 Iomega Corporation Method and apparatus for making a drive compatible with a removable cartridge
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7194557B1 (en) * 2004-11-08 2007-03-20 Palmsource, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization
US6941353B1 (en) * 2000-06-29 2005-09-06 Auran Holdings Pty Ltd E-commerce system and method relating to program objects
KR100359928B1 (ko) * 2000-07-03 2002-11-07 주식회사 모빌탑 휴대통신단말기용 콘텐츠 프로그램 전송방법 및 그 실행방법
US6981252B1 (en) * 2000-07-14 2005-12-27 Symantec Corporation Method and apparatus for automatically uninstalling software on a network
DE10141201A1 (de) * 2000-09-08 2002-03-28 Heidelberger Druckmasch Ag Bedienungseinrichtung für mit einem Netzwerk verbundene lokale und nicht-lokale Kommunikationseinrichtung
US6866587B1 (en) 2000-09-25 2005-03-15 Auran Holdings Pty Ltd. Wide area real-time software environment
US6907597B1 (en) * 2000-10-13 2005-06-14 Ati International Srl Method and apparatus for constructing an executable program in memory
US8087014B1 (en) * 2000-10-26 2011-12-27 Qualcomm Incorporated Method and apparatus for configuration management for a computing device
US7353289B2 (en) * 2000-11-06 2008-04-01 Telecommunication Systems, Inc. System for an open architecture development platform with centralized synchronization
US6781782B2 (en) 2000-12-21 2004-08-24 Iomega Corporation Method and apparatus for saving calibration parameters for a removable cartridge
US20020087593A1 (en) * 2001-01-02 2002-07-04 Rank Paul J. Method for dynamic function loading in spreadsheets on small devices
US7865528B2 (en) * 2001-01-09 2011-01-04 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US7546298B2 (en) * 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US20060269061A1 (en) * 2001-01-11 2006-11-30 Cardinalcommerce Corporation Mobile device and method for dispensing authentication codes
US20020124046A1 (en) * 2001-02-20 2002-09-05 Fischer William A. Peripheral devices which manage application upload to computing devices
KR100371189B1 (ko) * 2001-02-20 2003-02-06 엘지전자 주식회사 이동통신 단말기의 멀티-다운로드 구조 및 방법
WO2002071287A2 (en) * 2001-02-23 2002-09-12 Mobilitec Inc. System and method for charging for directed provisioning of user applications on limited-resource devices
US7283811B2 (en) * 2001-02-23 2007-10-16 Lucent Technologies Inc. System and method for aggregation of user applications for limited-resource devices
US7330717B2 (en) * 2001-02-23 2008-02-12 Lucent Technologies Inc. Rule-based system and method for managing the provisioning of user applications on limited-resource and/or wireless devices
US7647411B1 (en) 2001-02-26 2010-01-12 Symantec Corporation System and method for controlling distribution of network communications
WO2002069108A2 (en) 2001-02-26 2002-09-06 Eprivacy Group, Inc. System and method for controlling distribution of network communications
US6965928B1 (en) * 2001-03-09 2005-11-15 Networks Associates Technology, Inc. System and method for remote maintenance of handheld computers
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
TWI256001B (en) * 2001-05-14 2006-06-01 Ntt Docomo Inc System for managing program stored in storage block of mobile terminal
US6779067B2 (en) 2001-05-14 2004-08-17 Iomega Corporation Method and apparatus for providing extended functionality for a bus
US6901525B2 (en) * 2001-05-25 2005-05-31 Iomega Corporation Method and apparatus for managing power consumption on a bus
US7099663B2 (en) 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
US20030046448A1 (en) * 2001-06-06 2003-03-06 Claudius Fischer Application programming interface layer for a device
US7159214B2 (en) 2001-07-26 2007-01-02 Kyocera Wireless Corp. System and method for compacting field upgradeable wireless communication device software code sections
US7184759B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US7184793B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. System and method for over the air area code update
US7027806B2 (en) 2001-07-26 2006-04-11 Kyocera Wireless, Corp. System and method for field downloading a wireless communications device software code section
CN1275150C (zh) * 2001-07-26 2006-09-13 基奥赛拉无线公司 在无线通信设备中现场升级系统软件的设备及方法
US7386846B2 (en) 2001-07-26 2008-06-10 Kyocera Wireless Corp. System and method for the management of wireless communications device system software downloads in the field
US9554268B2 (en) 2001-07-26 2017-01-24 Kyocera Corporation System and method for updating persistent data in a wireless communications device
US7143407B2 (en) 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7328007B2 (en) 2001-07-26 2008-02-05 Kyocera Wireless Corp. System and method for organizing wireless communication device system software
US7254386B2 (en) 2001-08-10 2007-08-07 Kyocera Wireless Corp. System and method for improved security in handset reprovisioning and reprogramming
US6961537B2 (en) 2001-08-10 2005-11-01 Kyocera Wireless Corp. System and method for peer-to-peer handset communication
KR100864387B1 (ko) * 2001-08-13 2008-10-20 퀄컴 인코포레이티드 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
US6941135B2 (en) * 2001-08-13 2005-09-06 Qualcomm Inc. System and method for temporary application component deletion and reload on a wireless device
KR100865640B1 (ko) * 2001-08-13 2008-10-29 퀄컴 인코포레이티드 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
JP4165796B2 (ja) * 2001-08-15 2008-10-15 株式会社スクウェア・エニックス クライアント、データダウンロード方法、プログラム及び記録媒体
US7150025B2 (en) * 2001-08-31 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for providing hardware driver installation
US20030070160A1 (en) * 2001-10-04 2003-04-10 International Business Machines Corporation Embedding information in software
US7392517B2 (en) * 2001-10-04 2008-06-24 International Business Machines Corporation Extracting information from software
DE10160077B4 (de) * 2001-12-07 2004-04-01 Siemens Ag Mobiles Datenübertragungssystem
US20030135851A1 (en) * 2002-01-17 2003-07-17 Laura Dickey Method and system for concentration of applications during installation in target devices
US20030158917A1 (en) * 2002-02-04 2003-08-21 Andrew Felix G.T.I. Modifying system configuration based on parameters received from an infrastructure
US7203681B1 (en) * 2002-02-20 2007-04-10 Palm, Inc. Hand-held device filtering
US20030204711A1 (en) * 2002-04-29 2003-10-30 Guess Alan J. Method and system for restoring custom user configuration settings across a host application download
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US20030237021A1 (en) * 2002-06-20 2003-12-25 Ching Yee Fen Automatic restoration of software applications in a mobile computing device
US20040203681A1 (en) 2002-07-01 2004-10-14 Ross David J. Application catalog on an application server for wireless devices
US7650364B2 (en) * 2002-10-09 2010-01-19 Hewlett-Packard Development Company, L.P. Portable database system
WO2004043034A1 (en) * 2002-11-07 2004-05-21 Oplayo Oy Method and arrangement for installing an application in wireless environment
US7398534B2 (en) * 2002-12-18 2008-07-08 Palo Alto Research Center Incorporated System and method for assessing component capabilities
US7555538B2 (en) * 2002-12-26 2009-06-30 Research In Motion Limited System and method for building and execution of platform-neutral generic services' client applications
JP2004227080A (ja) * 2003-01-20 2004-08-12 Nec Corp 情報処理システム、携帯端末、及び、情報処理サーバ
US20040172526A1 (en) * 2003-02-27 2004-09-02 Tann Johnathan P. Universal loader for portable electronic devices
US7062260B2 (en) * 2003-03-27 2006-06-13 Nokia Corporation Fetching application and driver for extension device from network
US7373519B1 (en) 2003-04-09 2008-05-13 Symantec Corporation Distinguishing legitimate modifications from malicious modifications during executable computer file modification analysis
US7500198B2 (en) * 2003-04-25 2009-03-03 Motorola, Inc. Method and apparatus for modifying skin and theme screens on a communication product
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
US7395534B2 (en) * 2003-05-22 2008-07-01 Microsoft Corporation System and method for progressively installing a software application
US7305254B2 (en) * 2003-07-17 2007-12-04 Sony Ericsson Mobile Communications Ab System and method of software transfer between a mobile phone and a mobile phone accessory
US7886093B1 (en) * 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
US7359698B2 (en) 2003-09-08 2008-04-15 Kyocera Wireless Corp. Systems and methods for enhanced over-the-air programming
US7239877B2 (en) 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US7324473B2 (en) 2003-10-07 2008-01-29 Accenture Global Services Gmbh Connector gateway
JP4579914B2 (ja) * 2003-10-29 2010-11-10 パナソニック株式会社 ゲームシステム、ゲーム実行装置及びメモリカード
US8930944B2 (en) * 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
JP2005157657A (ja) * 2003-11-25 2005-06-16 Nec Corp 携帯端末におけるアプリケーションデータ管理方法及び携帯端末
JP4666906B2 (ja) * 2003-12-04 2011-04-06 株式会社ブロードリーフ クライアント装置のシステム環境規約違反検出方法
US7797693B1 (en) * 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
EP1710692B1 (en) * 2004-01-28 2018-09-12 Panasonic Intellectual Property Management Co., Ltd. Secure device, terminal device, gate device, and device
US7467378B1 (en) 2004-02-09 2008-12-16 Symantec Corporation System state rollback after modification failure
JP2007523571A (ja) * 2004-02-20 2007-08-16 スナップイン ソフトウェア インコーポレイテッド モバイルデバイス上での顧客セルフサポート、などを目的とするユーザインターフェース方法
EP1569101A1 (en) * 2004-02-25 2005-08-31 Research In Motion Limited Method and system for selecting a program for download
US8239858B2 (en) 2004-02-25 2012-08-07 Research In Motion Limited Method and system for selecting a program for download
US7865181B1 (en) * 2004-03-19 2011-01-04 Single Touch Interactive, Inc. Searching for mobile content
US20050215238A1 (en) * 2004-03-24 2005-09-29 Macaluso Anthony G Advertising on mobile devices
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
TWI238355B (en) * 2004-05-06 2005-08-21 Lite On It Corp Firmware updating method
US7624392B2 (en) * 2004-05-18 2009-11-24 Oki Semiconductor Co., Ltd. USB device set
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
JP2006065857A (ja) * 2004-08-24 2006-03-09 Lg Electronics Inc 移動通信端末機のプログラム強制ダウンロード方法及び装置
WO2006026402A2 (en) 2004-08-26 2006-03-09 Availigent, Inc. Method and system for providing high availability to computer applications
GB2435761B (en) * 2004-09-21 2009-07-08 Snapin Software Inc Secure software such as for use with a cell phone or mobile device
US20060080659A1 (en) * 2004-10-13 2006-04-13 Jp Mobile Operating, L.P. System and method of provisioning software to mobile devices
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
WO2006053260A2 (en) * 2004-11-12 2006-05-18 Freedom Scientific, Inc. Screen reader listview presentation method
US20060130054A1 (en) * 2004-11-12 2006-06-15 Research In Motion Limited System and method for downloading or enabling download of a program from a program store location
US7412232B2 (en) * 2004-12-22 2008-08-12 Research In Motion Limited Method and system for controlling software loads on a third-party mobile station
KR100616157B1 (ko) * 2005-01-11 2006-08-28 와이더댄 주식회사 애플리케이션 연동 방법 및 그 시스템
WO2006089385A1 (en) * 2005-02-22 2006-08-31 Nextair Corporation Wireless communication device use of application server applications
EP1851982A4 (en) 2005-02-22 2008-03-12 Nextair Corp MOBILE DEVICE WITH EXTENSIBLE SOFTWARE FOR PRESENTING SERVER-SIDED APPLICATIONS, SOFTWARE, AND PROCEDURES
US20060190569A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Facilitating mobile device awareness of the availability of new or updated server-side applications
US8224951B2 (en) * 2005-02-22 2012-07-17 Nextair Corporation Determining operational status of a mobile device capable of executing server-side applications
WO2007044972A2 (en) * 2005-10-12 2007-04-19 Snapin Software Inc. Message intercept methods, such as for customer self-support on a mobile device
US7539484B2 (en) * 2005-02-22 2009-05-26 Snapin Software Inc. Method and system for enhancing voice calls, such as enhancing voice calls with data services
JP4828842B2 (ja) * 2005-03-17 2011-11-30 富士通株式会社 再インストールソフト作成方法,再インストールソフト作成プログラム,インストール方法,インストールプログラムおよびコンピュータ装置
US20100146448A1 (en) * 2005-03-22 2010-06-10 Matsushita Electric Industrial Co., Ltd. Portable information processor and installation method
US8214754B2 (en) * 2005-04-15 2012-07-03 Microsoft Corporation Registration of applications and complimentary features for interactive user interfaces
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US8301123B2 (en) * 2005-06-24 2012-10-30 Nuance Communications, Inc. Local intercept methods, such as applications for providing customer assistance for training, information calls and diagnostics
US7907966B1 (en) 2005-07-19 2011-03-15 Aol Inc. System and method for cross-platform applications on a wireless phone
JP3924306B2 (ja) * 2005-07-20 2007-06-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ソフトウェア・パッケージを再構築する方法
US8078910B1 (en) 2008-12-15 2011-12-13 Open Invention Network, Llc Method and system for providing coordinated checkpointing to a group of independent computer applications
US8752049B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and computer readable medium for providing checkpointing to windows application groups
US8082468B1 (en) * 2008-12-15 2011-12-20 Open Invention Networks, Llc Method and system for providing coordinated checkpointing to a group of independent computer applications
US8195722B1 (en) 2008-12-15 2012-06-05 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US7899662B2 (en) * 2005-10-12 2011-03-01 Storage Appliance Corporation Data backup system including a data protection component
US7818160B2 (en) * 2005-10-12 2010-10-19 Storage Appliance Corporation Data backup devices and methods for backing up data
US8069271B2 (en) 2005-10-12 2011-11-29 Storage Appliance Corporation Systems and methods for converting a media player into a backup device
US7844445B2 (en) * 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
US8195444B2 (en) 2005-10-12 2012-06-05 Storage Appliance Corporation Systems and methods for automated diagnosis and repair of storage devices
JP4756994B2 (ja) * 2005-10-27 2011-08-24 キヤノン株式会社 ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP4865299B2 (ja) * 2005-11-02 2012-02-01 キヤノン株式会社 情報処理装置及び情報処理方法及びそのプログラム
US7613453B2 (en) 2005-11-04 2009-11-03 Research In Motion Limited System and method for provisioning a third party mobile device emulator
US9489187B2 (en) * 2005-11-07 2016-11-08 Yahoo, Inc. Adaptive deployment of applications for mobile devices
EP1969886B1 (en) 2005-12-13 2017-09-20 Nuance Communications, Inc. Method for performing interactive services on a mobile device, such as time or location initiated interactive services
US20070143446A1 (en) * 2005-12-21 2007-06-21 Morris Robert P Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data
US20070204125A1 (en) * 2006-02-24 2007-08-30 Michael Hardy System and method for managing applications on a computing device having limited storage space
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
KR100834622B1 (ko) * 2006-06-26 2008-06-02 삼성전자주식회사 가상의 메신저 서비스를 제공하는 방법 및 이를 위한시스템
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US7567984B1 (en) * 2006-08-31 2009-07-28 Symantec Operating Corporation Operating system and application deployment based on stored user state and organizational policy
US8280977B2 (en) * 2006-09-27 2012-10-02 International Business Machines Corporation Automatic data transfer using an intermediate device
WO2008042989A2 (en) * 2006-10-03 2008-04-10 Snapin Software Inc. Systems and methods for storing or performing functions within removable memory
US20080115152A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Server-controlled heartbeats
US20080126446A1 (en) * 2006-11-27 2008-05-29 Storage Appliance Corporation Systems and methods for backing up user settings
US8744414B2 (en) * 2007-01-05 2014-06-03 Nuance Communications, Inc. Methods of interacting between mobile devices and voice response systems
TW200830181A (en) * 2007-01-12 2008-07-16 An Chen Comp Co Ltd Mobile service device
KR101370895B1 (ko) * 2007-01-19 2014-03-10 엘지전자 주식회사 콘텐츠 표시 방법 및 이를 이용한 단말기
US20080182628A1 (en) * 2007-01-26 2008-07-31 Matthew Lee System and method for previewing themes
US8126506B2 (en) * 2007-02-14 2012-02-28 Nuance Communications, Inc. System and method for securely managing data stored on mobile devices, such as enterprise mobility data
US8495494B2 (en) * 2007-04-12 2013-07-23 Nuance Communications, Inc. Method and system for mapping a virtual human machine interface for a mobile device
US9100936B2 (en) * 2007-04-12 2015-08-04 Nuance Communications, Inc. System and method for detecting mutually supported capabilities between mobile devices
US7853669B2 (en) 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
US8230417B1 (en) * 2007-06-08 2012-07-24 Adobe Systems Incorporated Combined application and execution environment install
US20090030955A1 (en) * 2007-06-11 2009-01-29 Storage Appliance Corporation Automated data backup with graceful shutdown for vista-based system
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US7930273B1 (en) 2007-07-30 2011-04-19 Adobe Systems Incorporated Version management for application execution environment
US8375381B1 (en) 2007-07-30 2013-02-12 Adobe Systems Incorporated Management user interface for application execution environment
US8448161B2 (en) * 2007-07-30 2013-05-21 Adobe Systems Incorporated Application tracking for application execution environment
US20090113419A1 (en) * 2007-10-25 2009-04-30 Bea Systems, Inc. System and method for a light weight server installer
WO2009070688A1 (en) * 2007-11-26 2009-06-04 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for controlling access to applications on mobile devices
US8589955B2 (en) * 2008-02-12 2013-11-19 Nuance Communications, Inc. System and method for building applications, such as customized applications for mobile devices
US9298747B2 (en) 2008-03-20 2016-03-29 Microsoft Technology Licensing, Llc Deployable, consistent, and extensible computing environment platform
US8572033B2 (en) * 2008-03-20 2013-10-29 Microsoft Corporation Computing environment configuration
US8099332B2 (en) 2008-06-06 2012-01-17 Apple Inc. User interface for application management for a mobile device
US8589149B2 (en) 2008-08-05 2013-11-19 Nuance Communications, Inc. Probability-based approach to recognition of user-entered data
US8832681B1 (en) * 2008-08-29 2014-09-09 Adobe Systems Incorporated Bundled mobile/desktop application package
GB0817514D0 (en) * 2008-09-24 2008-10-29 Symbian Software Ltd Method and apparatus for updating a computing device
US8667512B2 (en) * 2008-10-29 2014-03-04 Qualcomm Incorporated Flexible hierarchical settings registry for operating systems
WO2010054505A1 (zh) * 2008-11-11 2010-05-20 网秦无限(北京)科技有限公司 基于中间件的手机与pc互操作的方法与系统
US8341631B2 (en) 2009-04-10 2012-12-25 Open Invention Network Llc System and method for application isolation
US9256496B1 (en) * 2008-12-15 2016-02-09 Open Invention Network, Llc System and method for hybrid kernel—and user-space incremental and full checkpointing
US8752048B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and system for providing checkpointing to windows application groups
US10019327B1 (en) 2008-12-15 2018-07-10 Open Invention Network Llc System and method for hybrid kernel- and user-space incremental and full checkpointing
US9354977B1 (en) * 2008-12-15 2016-05-31 Open Invention Network Llc System and method for hybrid kernel- and user-space incremental and full checkpointing
US8745442B1 (en) * 2011-04-28 2014-06-03 Open Invention Network, Llc System and method for hybrid kernel- and user-space checkpointing
US8826070B1 (en) 2008-12-15 2014-09-02 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US8880473B1 (en) 2008-12-15 2014-11-04 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US8281317B1 (en) 2008-12-15 2012-10-02 Open Invention Network Llc Method and computer readable medium for providing checkpointing to windows application groups
US8532714B2 (en) * 2009-01-29 2013-09-10 Qualcomm Incorporated Dynamically provisioning a device with audio processing capability
US8745153B2 (en) 2009-02-09 2014-06-03 Apple Inc. Intelligent download of application programs
US8707288B2 (en) * 2009-02-13 2014-04-22 Mobitv, Inc. System for automatic management of applications on remote devices
US8667483B2 (en) * 2009-03-25 2014-03-04 Microsoft Corporation Device dependent on-demand compiling and deployment of mobile applications
US9058599B1 (en) 2009-04-10 2015-06-16 Open Invention Network, Llc System and method for usage billing of hosted applications
US11538078B1 (en) 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
US8725745B2 (en) 2009-04-13 2014-05-13 Microsoft Corporation Provision of applications to mobile devices
US20100262953A1 (en) * 2009-04-14 2010-10-14 Barboni Michael P Systems and methods for automatically enabling and disabling applications and widgets with a computing device based on compatibility and/or user preference
CA2698066A1 (en) * 2009-07-31 2011-01-31 Nitobi Software Inc. System and method for remotely compiling multi-platform native applications for mobile devices
US8200626B1 (en) * 2009-09-18 2012-06-12 Sprint Communications Company L.P. Mobile device file management
KR20110064674A (ko) * 2009-12-08 2011-06-15 삼성전자주식회사 동적 로컬 기능 결합 장치 및 방법
US20110185354A1 (en) * 2010-01-26 2011-07-28 Emdigo Inc. Mobile Application Delivery Management System
US8413137B2 (en) 2010-02-04 2013-04-02 Storage Appliance Corporation Automated network backup peripheral device and method
US20110209128A1 (en) * 2010-02-24 2011-08-25 Nokia Corporation Systems, methods and apparatuses for facilitating targeted compilation of source code
US8505003B2 (en) * 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
EP2383645B1 (en) * 2010-04-30 2015-03-04 BlackBerry Limited Method and device for application installation to multiple memory components
US20110288932A1 (en) * 2010-05-21 2011-11-24 Inedible Software, LLC, a Wyoming Limited Liability Company Apparatuses, systems and methods for determining installed software applications on a computing device
US9462042B2 (en) * 2010-05-26 2016-10-04 Tethys Solutions LLC System and method for enabling application discovery by automation needs
US10430180B2 (en) 2010-05-26 2019-10-01 Automation Anywhere, Inc. System and method for resilient automation upgrade
US10733540B2 (en) 2010-05-26 2020-08-04 Automation Anywhere, Inc. Artificial intelligence and knowledge based automation enhancement
WO2011152822A1 (en) 2010-06-01 2011-12-08 Hewlett-Packard Development Company, L.P. Methods, apparatus, and articles of manufacture to deploy software applications
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US9026905B2 (en) * 2010-12-17 2015-05-05 Facebook, Inc. Customization of mobile applications using web-based technology
US8943554B2 (en) * 2011-03-18 2015-01-27 Smith Micro Software, Inc. Managing tethered data traffic over a hotspot network
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
US20120254768A1 (en) * 2011-03-31 2012-10-04 Google Inc. Customizing mobile applications
US11307941B1 (en) 2011-04-28 2022-04-19 Open Invention Network Llc System and method for hybrid kernel- and user-space incremental and full checkpointing
US11625307B1 (en) 2011-04-28 2023-04-11 International Business Machines Corporation System and method for hybrid kernel- and user-space incremental and full checkpointing
WO2012161707A1 (en) * 2011-05-25 2012-11-29 Hewlett-Packard Development Company, L.P. Implementation of network device components in network devices
JP5682467B2 (ja) * 2011-06-14 2015-03-11 富士通株式会社 設定情報管理プログラム、設定情報管理方法及び情報処理装置
US9171314B2 (en) * 2011-06-16 2015-10-27 Microsoft Technology Licensing, Llc Cloud based management of an in-store device experience
US9706006B2 (en) * 2011-07-19 2017-07-11 Infosys Limited System and method of context aware adaption of content for a mobile device
CN102521031B (zh) 2011-12-13 2014-11-05 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
KR101879251B1 (ko) * 2012-01-16 2018-07-17 삼성전자주식회사 인터페이스를 설정하는 장치 및 방법
CN102768628A (zh) * 2012-06-19 2012-11-07 Tcl集团股份有限公司 一种预安装第三方应用的方法及装置
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
CN102831035B (zh) * 2012-08-20 2015-11-18 腾讯科技(深圳)有限公司 备份信息的方法及装置
US9182976B2 (en) * 2012-11-15 2015-11-10 Location Labs, Inc. System and method for managing client application enablement
WO2014096937A1 (en) * 2012-12-21 2014-06-26 Orange Systems and methods for building a centralized app store
US9176726B2 (en) * 2013-01-28 2015-11-03 Paptap Ltd Method and apparatus for developing, distributing and executing applications
US9678745B2 (en) 2013-01-28 2017-06-13 Paptap Ltd Automatic submission of applications to applications stores
US11016637B2 (en) 2013-01-31 2021-05-25 Samsung Electronics Co., Ltd. Method of and device for managing applications
WO2014119867A1 (en) * 2013-01-31 2014-08-07 Samsung Electronics Co., Ltd. Method of and device for managing applications
US10545628B2 (en) 2013-01-31 2020-01-28 Samsung Electronics Co., Ltd. Method of and device for managing applications
US9848276B2 (en) * 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material
US9159086B1 (en) * 2013-04-26 2015-10-13 Adknowledge, Inc. System and method to install mobile applications from a desktop
US20140358256A1 (en) * 2013-05-31 2014-12-04 Rockwell Automation Technologies, Inc. Systems, methods, and software to present human machine interfaces on a mobile device
US9197501B2 (en) 2013-08-09 2015-11-24 Sap Se Zero-step auto-customization of mobile applications
US9875092B2 (en) * 2014-04-17 2018-01-23 Mistral Mobile Viral distribution of mobile application software
EP3138056A1 (en) 2014-04-30 2017-03-08 Twitter, Inc. Software development kit platform
GB2527753A (en) * 2014-06-27 2016-01-06 Ibm Installation of software applications on mobile devices based on positions thereof
CN104301893B (zh) * 2014-09-30 2019-08-20 华为技术有限公司 一种鉴权方法、移动通讯鉴权平台及设备
US9830307B1 (en) * 2014-12-11 2017-11-28 Amazon Technologies, Inc. Ahead of time compilation of content pages
US20170097817A1 (en) * 2015-01-27 2017-04-06 I/O Interconnect Inc. Method for automatically installing application into personal computer
EP3056989B1 (de) * 2015-02-12 2018-08-29 Deutsche Telekom AG Übertragung von applikationen
CN105183524A (zh) * 2015-09-29 2015-12-23 上海斐讯数据通信技术有限公司 一种可选择应用字体的Android安装方法和装置
KR102445719B1 (ko) * 2015-12-07 2022-09-21 삼성전자 주식회사 테마 패키지 설치 속도 개선 방법 및 전자장치
US10620931B2 (en) 2016-07-13 2020-04-14 At&T Mobility Ii Llc Automated device memory clean up mechanism
KR101802847B1 (ko) * 2016-10-14 2017-11-29 에스케이테크엑스 주식회사 숏컷 방식의 추천 아이템 제공 장치 및 이를 이용한 방법
US10505983B2 (en) * 2016-11-09 2019-12-10 Airwatch Llc Enforcing enterprise requirements for devices registered with a registration service
CN110419027B (zh) * 2017-03-22 2023-12-29 三星电子株式会社 管理应用的方法和使用该方法的计算设备
US10623389B2 (en) * 2017-05-11 2020-04-14 International Business Machines Corporation Authenticating a device based on communication patterns in a group of devices
US10887306B2 (en) 2017-05-11 2021-01-05 International Business Machines Corporation Authenticating an unknown device based on relationships with other devices in a group of devices
US10974139B2 (en) * 2017-11-09 2021-04-13 Disney Enterprises, Inc. Persistent progress over a connected device network and interactive and continuous storytelling via data input from connected devices
US11775814B1 (en) 2019-07-31 2023-10-03 Automation Anywhere, Inc. Automated detection of controls in computer applications with region based detectors
US10853097B1 (en) 2018-01-29 2020-12-01 Automation Anywhere, Inc. Robotic process automation with secure recording
US10769427B1 (en) 2018-04-19 2020-09-08 Automation Anywhere, Inc. Detection and definition of virtual objects in remote screens
US10908950B1 (en) 2018-04-20 2021-02-02 Automation Anywhere, Inc. Robotic process automation system with queue orchestration and task prioritization
US10733329B1 (en) * 2018-04-20 2020-08-04 Automation Anywhere, Inc. Robotic process automation system and method with secure credential vault
US11354164B1 (en) 2018-04-20 2022-06-07 Automation Anywhere, Inc. Robotic process automation system with quality of service based automation
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US11693923B1 (en) 2018-05-13 2023-07-04 Automation Anywhere, Inc. Robotic process automation system with hybrid workflows
US10552136B2 (en) 2018-06-29 2020-02-04 Alibaba Group Holding Limited One click application asset distribution
US11556362B2 (en) 2019-03-31 2023-01-17 Automation Anywhere, Inc. Robotic process automation system with device user impersonation
US11301224B1 (en) 2019-04-30 2022-04-12 Automation Anywhere, Inc. Robotic process automation system with a command action logic independent execution environment
US11113095B2 (en) 2019-04-30 2021-09-07 Automation Anywhere, Inc. Robotic process automation system with separate platform, bot and command class loaders
US11614731B2 (en) 2019-04-30 2023-03-28 Automation Anywhere, Inc. Zero footprint robotic process automation system
US11243803B2 (en) 2019-04-30 2022-02-08 Automation Anywhere, Inc. Platform agnostic robotic process automation
JP7418168B2 (ja) * 2019-08-09 2024-01-19 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US11481304B1 (en) 2019-12-22 2022-10-25 Automation Anywhere, Inc. User action generated process discovery
US10911546B1 (en) 2019-12-30 2021-02-02 Automation Anywhere, Inc. Robotic process automation with automated user login for multiple terminal server hosted user sessions
US11348353B2 (en) 2020-01-31 2022-05-31 Automation Anywhere, Inc. Document spatial layout feature extraction to simplify template classification
US11514154B1 (en) 2020-01-31 2022-11-29 Automation Anywhere, Inc. Automation of workloads involving applications employing multi-factor authentication
US11086614B1 (en) 2020-01-31 2021-08-10 Automation Anywhere, Inc. Robotic process automation system with distributed download
US11182178B1 (en) 2020-02-21 2021-11-23 Automation Anywhere, Inc. Detection of user interface controls via invariance guided sub-control learning
US11734061B2 (en) 2020-11-12 2023-08-22 Automation Anywhere, Inc. Automated software robot creation for robotic process automation
US11782734B2 (en) 2020-12-22 2023-10-10 Automation Anywhere, Inc. Method and system for text extraction from an application window for robotic process automation
US11820020B2 (en) 2021-07-29 2023-11-21 Automation Anywhere, Inc. Robotic process automation supporting hierarchical representation of recordings
US11968182B2 (en) 2021-07-29 2024-04-23 Automation Anywhere, Inc. Authentication of software robots with gateway proxy for access to cloud-based services

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01120623A (ja) * 1987-11-04 1989-05-12 Nec Corp 交換機システム版数を管理する方法
US5414844A (en) 1990-05-24 1995-05-09 International Business Machines Corporation Method and system for controlling public access to a plurality of data objects within a data processing system
EP0463251A1 (en) * 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
US5337044A (en) 1991-10-08 1994-08-09 Nomadic Systems, Inc. System for remote computer control using message broadcasting system
US5497464A (en) 1991-11-01 1996-03-05 Yeh; Keming W. Address mapping logic for transferring data between a peripheral device of a base function expander unit and a palmtop computer as if the peripheral was a peripheral of the computer
US5392390A (en) 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
JP2519390B2 (ja) 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ通信方法及び装置
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5666530A (en) 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
AU6015594A (en) 1992-12-23 1994-07-19 Surefind Corporation Interactive computer system with multi-protocol capability
US5522089A (en) 1993-05-07 1996-05-28 Cordata, Inc. Personal digital assistant module adapted for initiating telephone communications through DTMF dialing
US5564070A (en) 1993-07-30 1996-10-08 Xerox Corporation Method and system for maintaining processing continuity to mobile computers in a wireless network
FI98687C (fi) 1993-09-20 1997-07-25 Nokia Telecommunications Oy Matkaviestinjärjestelmä ja menetelmä etätyöaseman kytkemiseksi matkaviestinverkon kautta dataverkkoon
US5860012A (en) * 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
JPH07219885A (ja) 1994-02-04 1995-08-18 Canon Inc 情報処理システム及び電子機器及び制御方法
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5625829A (en) 1994-03-25 1997-04-29 Advanced Micro Devices, Inc. Dockable computer system capable of symmetric multi-processing operations
US5598536A (en) 1994-08-09 1997-01-28 Shiva Corporation Apparatus and method for providing remote users with the same unique IP address upon each network access
JPH08137794A (ja) * 1994-11-08 1996-05-31 Nippon Telegr & Teleph Corp <Ntt> コードレス手書き入力pdaシステム
AU4420096A (en) 1994-12-23 1996-07-19 New Media Corp. Method for start-up and binding of a computer to a network
US5684990A (en) 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5742829A (en) * 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5717737A (en) 1995-06-01 1998-02-10 Padcom, Inc. Apparatus and method for transparent wireless communication between a remote device and a host system
US5812819A (en) 1995-06-05 1998-09-22 Shiva Corporation Remote access apparatus and method which allow dynamic internet protocol (IP) address management
JPH09167098A (ja) 1995-07-28 1997-06-24 Hewlett Packard Co <Hp> 携帯装置用通信システム
US5664228A (en) 1995-08-09 1997-09-02 Microsoft Corporation Portable information device and system and method for downloading executable instructions from a computer to the portable information device
US5790800A (en) 1995-10-13 1998-08-04 Digital Equipment Corporation Client application program mobilizer
US5727202A (en) 1995-10-18 1998-03-10 Palm Computing, Inc. Method and apparatus for synchronizing information on two different computer systems
FI955188A (fi) * 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
US5958006A (en) 1995-11-13 1999-09-28 Motorola, Inc. Method and apparatus for communicating summarized data
EP0811216B1 (en) 1995-12-22 2002-09-04 Koninklijke Philips Electronics N.V. System for communicating between a group of apparatuses
US6405254B1 (en) 1996-01-03 2002-06-11 Sterling Commerce, Inc. System and method for protocol conversion using facilities and utilities
US5727159A (en) 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5721824A (en) * 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US5864708A (en) 1996-05-20 1999-01-26 Croft; Daniel I. Docking station for docking a portable computer with a wireless interface
US5983176A (en) 1996-05-24 1999-11-09 Magnifi, Inc. Evaluation of media content in media files
US5974238A (en) 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
US5918016A (en) 1997-06-10 1999-06-29 Texas Instruments Incorporated System with program for automating protocol assignments when newly connected to varing computer network configurations
US5974257A (en) * 1997-07-10 1999-10-26 National Instruments Corporation Data acquisition system with collection of hardware information for identifying hardware constraints during program development

Also Published As

Publication number Publication date
JP2008234673A (ja) 2008-10-02
CA2305172C (en) 2007-01-16
US6496979B1 (en) 2002-12-17
WO1999022325A1 (en) 1999-05-06
JP2001521254A (ja) 2001-11-06
CA2305172A1 (en) 1999-05-06
EP1023685A1 (en) 2000-08-02

Similar Documents

Publication Publication Date Title
JP4199923B2 (ja) モバイル・デバイスのアプリケーション・インストール方法
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
US6490723B1 (en) Method and system for installing files in a computing system
CN1315042C (zh) 创建和使用具有选定功能的操作系统的方法和系统
US6484309B2 (en) Enabling software designed for one operating system to operate on another operating system
JP5007046B2 (ja) コンポーネントベースのソフトウェア・プロダクトの保守
US6353926B1 (en) Software update notification
US9454387B2 (en) Method and system for installing portable executable applications
US6360364B1 (en) System and method for installing an application on a portable computer
US20070033322A1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US20040230963A1 (en) Method for updating firmware in an operating system agnostic manner
US8539213B2 (en) Manageability extension mechanism for system firmware
US7873960B2 (en) Generic packaging tool for packaging application and component therefor to be installed on computing device
US20060064576A1 (en) Boot systems and methods
US7716664B2 (en) Metadata-based application model for large applications
US6944620B2 (en) File system creator
KR20060063642A (ko) 서브시스템 간의 자원 공유를 가능하게 하는 방법 및시스템
Sally Pro Linux embedded systems
US10514940B2 (en) Virtual application package reconstruction
US7430661B2 (en) System and method of storing user data in a partition file or using a partition file containing user data
US8386761B2 (en) System for registering and initiating pre-boot environment for enabling partitions
US6681325B1 (en) Providing disk layout information to an operating system for booting after disk repartitioning
CA2517431C (en) System and method for managing application installation for a mobile device
JP2002099417A (ja) 情報処理装置再構築方法及びその実施装置並びにその処理プログラムを記録した記録媒体
US20040268110A1 (en) Setup support system, physical access driver, and setup support method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051012

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051021

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071207

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080905

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081006

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term