JP5208350B2 - 自己記述型ソフトウェアイメージ更新コンポーネント - Google Patents
自己記述型ソフトウェアイメージ更新コンポーネント Download PDFInfo
- Publication number
- JP5208350B2 JP5208350B2 JP2004358961A JP2004358961A JP5208350B2 JP 5208350 B2 JP5208350 B2 JP 5208350B2 JP 2004358961 A JP2004358961 A JP 2004358961A JP 2004358961 A JP2004358961 A JP 2004358961A JP 5208350 B2 JP5208350 B2 JP 5208350B2
- Authority
- JP
- Japan
- Prior art keywords
- package
- file
- manifest file
- information
- files
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
図1は、プロセッサ122、メモリ124、ディスプレイ126、および(物理的キーボードまたは仮想的キーボードでもよく、またはその両方を表し得る)キーボード128を含む、かかるハンドヘルドコンピューティング装置120の機能コンポーネントを示すものである。マイクロフォン129が、オーディオ入力を受けるために存在することもある。メモリ124は、一般に揮発性メモリ(例えば、RAM)と不揮発性メモリ(例えば、ROM、PCMCIAカードなど)の両方を含んでいる。マイクロソフト(登録商標)コーポレーション製のWindows(登録商標)オペレーティングシステムまたは別のオペレーティングシステムなどのオペレーティングシステム130が、メモリ124中に存在し、プロセッサ122上で実行される。
本発明は一般に、初期ソフトウェアまたはソフトウェアの更新が埋込みデバイスの不揮発性メモリ、例えばフラッシュメモリに書き込まれるデバイスを含めて、マイクロソフト(登録商標) Windows(登録商標)CEベースの携帯機器など小型のモバイルコンピューティング装置上に記憶されるソフトウェアをインストールおよび/または更新することを対象としている。それにもかかわらず、本発明は一般にコンピューティングに対しても利点を提供するものであり、したがって様々な種類のメモリ、および/またはハードディスクドライブなど他の種類の記憶媒体を含めて、他のコンピューティング装置と他の種類のストレージに適用することもできる。簡潔に説明するために、どのような記憶メカニズムも等価であることが理解されようが、用語「フラッシュ」は、以降ではデバイスの更新可能なストレージに関して使用する場合がある。さらに、用語「イメージ」は一般に、たとえ既存のイメージの一部分しか更新されないときでさえ、初期ソフトウェアインストレーションイメージならびにその後のイメージに対するソフトウェアの更新の概念を含むことになる。
例えばパッケージの内容が、別のパッケージの内容に依存する場合、この関係は、その構築プロセス中に取り込まれ、後で解析するためにそのインストレーションプロセス中にパッケージの中に符号化される。本発明ではまた、パッケージがこの依存情報を獲得するための(機能レベルの依存仕様(dependency specifications)による)メカニズムが提供される。
<コンポーネント変数>,<パッケージ名>
または
<コンポーネントファイル名>,<パッケージ名>。
<コンポーネント変数> DEPENDSON <コンポーネント変数>
または
<コンポーネント変数> SHADOWS <コンポーネント変数>
この一例を以下に示す。
APPS_MODULES_OMADMCLIENT SHADOWS APPS_MODULES_MMS
<シャドウされたpkg GUID>,<シャドウされたpkg名>,<ルール>
(ここで、ルール=SHADOWSまたはDEPENDSON).
行の一例を以下に示す。
273ce4bf−d4ef−4771−b2ce−6fe2fa2b2666, SMARTFON, SHADOWS
・PackageDefinition( XipPackage pkg )−XipPackageオブジェクトに基づいてパッケージを作成するコンストラクタ(constructor)。
・SetDirectoryBase( string path )−指定されたディレクトリの下に新しいサブディレクトリを作成する。
・Validate( )−パッケージが、2つの必要なフィールド、すなわち名前およびGUIDを有するかどうかを判定する。
・ReadManifest( )−このパッケージに関連するBuildManifestに適切な構築マニフェストファイルを解析させる。
・MakePackage( )−このパッケージ定義についての実際のパッケージファイルを作成する。
122 プロセッサ
124 メモリ
126 タッチスクリーン付きディスプレイ
128 キーボード
129 マイクロフォン
130 OS
132 アプリケーションプログラム
134 通知マネージャ
136 ネットワークSW
138 ネットワークコンポーネント
140 電源
142 LED
144 オーディオジェネレータ
Claims (17)
- オペレーティングシステムファイルおよび他の関連ソフトウェアアプリケーションファイルを含むソフトウェアイメージを含むモバイルコンピューティングシステムにおいて、前記ソフトウェアイメージ内の前記ファイルの一部をアップデートする方法であって、
前記ソフトウェアイメージは、内蔵システムメモリに格納され、
前記方法は、
自己記述的パッケージを構築するステップであって、前記パッケージは、オペレーティングシステムイメージの一部に対応し、かつファイルおよびレジストリ設定を含み、前記パッケージに含まれるデバイスマニフェストファイルは、結果イメージに含まれるファイルのリストであるパッケージマニフェストファイルを入力として生成される構築マニフェストファイルから導き出され、前記パッケージは、任意の言語において処理するように構成される、言語依存データファイルから分離される少なくともいくつかの言語独立な実行可能コードファイルを含み、少なくともいくつかの実行可能コードが言語特有の処理から独立している、ステップと、
前記自己記述的パッケージのファイルコンテンツを指定する構築マニフェストファイルを生成するステップと、
前記モバイルコンピューティングシステムについての依存性情報およびパッケージ設定優先度情報を含む、前記パッケージについての一連の情報を記述するデバイスマニフェストファイルを生成するステップであって、前記デバイスマニフェストファイルは、前記自己記述的パッケージに格納され、かつ前記構築マニフェストファイルによって示されるファイルであって、所定の処理後の当該ファイルのファイル名を含むように構成される、ステップと、
1つまたは複数の機能ハンドルを前記生成されたデバイスマニフェストファイルに挿入するステップであって、前記機能ハンドルは、前記パッケージに含まれる1つまたは複数のソフトウェア機能を指定し、および前記デバイスマニフェストファイルに自動的に含まれる、ステップと、
インストレーションメカニズムが前記パッケージをデバイスにインストールするやり方を決定できるように、前記パッケージマニフェストファイル、構築マニフェストファイル、およびデバイスマニフェストファイル内の、前記挿入された機能ハンドルを含む情報を、前記パッケージのコンテンツを記述する前記自己記述的パッケージに関連づけるステップと、
対応するマニフェストファイルにしたがって前記自己記述的パッケージのファイルをインストールするステップであって、前記自己記述的パッケージにおいて識別されるファイルだけが前記ソフトウェアイメージに上書きされ、前記上書きされるソフトウェアイメージは、前記自己記述的パッケージにおいて識別されるレジストリ設定に従うイメージであり、前記デバイスマニフェストファイルに含まれる前記依存性情報およびパッケージ設定優先度情報は、それぞれ、前記自己記述的パッケージのコンテンツが他のパッケージのコンテンツに依存するかを識別するために解析され、および優先される設定を識別するために使用される、ステップと
を含むことを特徴とする方法。 - 前記パッケージに関連づけられる前記情報は、デバイスマニフェストファイルを含み、
前記デバイスマニフェストファイルを前記パッケージに追加するステップをさらに含むことを特徴とする請求項1に記載の方法。 - 前記デバイスマニフェストファイルに、他のパッケージに対する前記パッケージの少なくともいくつかのコンテンツの依存性を記述する依存情報を含むデータを書き込むステップをさらに含むことを特徴とする請求項2に記載の方法。
- 前記パッケージから前記デバイスマニフェストファイルを抽出するステップと、
前記他のパッケージから他のデバイスマニフェストファイルを抽出するステップと
をさらに含むことを特徴とする請求項3に記載の方法。 - 前記関連づけるステップは、他のパッケージに対する前記パッケージの少なくともいくつかのコンテンツの依存性を記述する依存情報を関連づけるステップを含むことを特徴とする請求項1に記載の方法。
- 前記パッケージを構築するステップは、既存のファイルを定義する、そのパッケージの定義にパッケージをマッピングするステップと、そのパッケージのファイルコンテンツを指定する構築マニフェストファイルを読み取るステップと、前記パッケージの定義および前記構築マニフェストファイルに基づいて前記パッケージを生成するステップとを含むことを特徴とする請求項1に記載の方法。
- 前記オペレーティングシステムイメージについてのバイナリイメージビルダファイルとコンポーネントツーパッケージマッピングファイルから前記構築マニフェストファイルを作成するステップをさらに含むことを特徴とする請求項6に記載の方法。
- 前記パッケージを構築するステップは、構築時に、前記パッケージ中に含めるべきファイルのリストを含むバイナリイメージビルダファイルを読み取るステップを含むことを特徴とする請求項1に記載の方法。
- 前記パッケージを構築するステップは、バイナリイメージビルダファイルに対応する構築マニフェストファイルを作成するステップと、前記構築マニフェストファイルを読み取るステップとを含むことを特徴とする請求項1に記載の方法。
- 前記パッケージを構築するステップは、構築時に、前記パッケージ中に含めるべき設定情報のリストを含む設定ファイルを読み取るステップを含むことを特徴とする請求項1に記載の方法。
- 前記パッケージを構築するステップは、コンポーネントを前記パッケージにマッピングする情報を含むコンポーネントマッピングファイルを読み取るステップを含むことを特徴とする請求項1に記載の方法。
- 前記パッケージを構築するステップは、コンポーネント間の依存関係を定義するコンポーネント関係ファイルを読み取るステップを含むことを特徴とする請求項1に記載の方法。
- 前記パッケージに関連する前記情報は、デバイスマニフェストファイルを含み、前記依存関係に基づいて前記デバイスマニフェストファイルに情報を書き込むステップと、前記デバイスマニフェストファイルを前記パッケージに追加するステップとをさらに含むことを特徴とする請求項12に記載の方法。
- 実行時に請求項1に記載の方法をモバイルコンピューティングシステムに実行させるコンピュータ実行可能命令を有することを特徴とする少なくとも1つのコンピュータ読み取り可能な記憶媒体。
- オペレーティングシステムファイルおよび他の関連ソフトウェアアプリケーションファイルを含むソフトウェアイメージを含むモバイルコンピューティングシステムにおける、前記ソフトウェアイメージ内の前記ファイルの一部をアップデートするシステムであって、
前記ソフトウェアイメージは、内蔵システムメモリに格納され、
前記システムは、
システムメモリと、
ファイルおよびレジストリ設定を含む自己記述的パッケージを構築するパッケージ生成プロセスであって、前記パッケージに含まれるデバイスマニフェストファイルは、結果イメージに含まれるファイルのリストであるパッケージマニフェストファイルを入力として生成される構築マニフェストファイルから導き出され、前記パッケージは、任意の言語において処理するように構成される、言語依存データファイルから分離される少なくともいくつかの言語独立な実行可能コードファイルを含み、少なくともいくつかの実行可能コードが言語特有の処理から独立している、パッケージ生成プロセスと、
前記自己記述的パッケージのファイルコンテンツを指定する構築マニフェストファイルを生成する構築マニフェストファイル生成プロセスと、
前記モバイルコンピューティングシステムについての依存性情報およびパッケージ設定優先度情報を含む、前記パッケージについての一連の情報を記述するデバイスマニフェストファイルを生成するデバイスマニフェストファイル生成プロセスであって、前記デバイスマニフェストファイルは、前記自己記述的パッケージに格納され、かつ前記構築マニフェストファイルによって示されるファイルであって、所定の処理後の当該ファイルのファイル名を含むように構成される、デバイスマニフェストファイル生成プロセスと、
1つまたは複数の機能ハンドルを前記生成されたデバイスマニフェストファイルに挿入する機能ハンドル挿入プロセスであって、前記機能ハンドルは、前記パッケージに含まれる1つまたは複数のソフトウェア機能を指定し、および前記デバイスマニフェストファイルに自動的に含まれる、機能ハンドル挿入プロセスと、
前記パッケージマニフェストファイル、構築マニフェストファイル、およびデバイスマニフェストファイル内の、前記挿入された機能ハンドルを含む情報を、前記パッケージのコンテンツを記述する前記自己記述的パッケージに関連づけるパッケージ関連付けプロセスであって、前記情報は、コンポーネント関係情報を含む、パッケージ関連付けプロセスと、
対応するマニフェストファイルにしたがって前記自己記述的パッケージのファイルをインストールするインストールプロセスであって、前記自己記述的パッケージにおいて識別されるファイルだけが前記ソフトウェアイメージに上書きされ、前記上書きされるソフトウェアイメージは、前記自己記述的パッケージにおいて識別されるレジストリ設定に従うイメージであり、前記デバイスマニフェストファイルに含まれる前記依存性情報およびパッケージ設定優先度情報は、それぞれ、前記自己記述的パッケージのコンテンツが他のパッケージのコンテンツに依存するかを識別するために解析され、および優先される設定を識別するために使用される、インストールプロセスと
を含むことを特徴とするシステム。 - 前記コンポーネント関係情報は、他のパッケージに対する依存性を記述することを特徴とする請求項15に記載のシステム。
- 前記パッケージ生成プロセスは、少なくとも一部の実行可能コードが任意の言語から独立であるように少なくとも一部の実行可能コードとデータの間で区別を可能とすることを特徴とする請求項15に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53012903P | 2003-12-16 | 2003-12-16 | |
US60/530,129 | 2003-12-16 | ||
US10/837,024 | 2004-05-01 | ||
US10/837,024 US7549148B2 (en) | 2003-12-16 | 2004-05-01 | Self-describing software image update components |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005182790A JP2005182790A (ja) | 2005-07-07 |
JP5208350B2 true JP5208350B2 (ja) | 2013-06-12 |
Family
ID=34556577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004358961A Expired - Fee Related JP5208350B2 (ja) | 2003-12-16 | 2004-12-10 | 自己記述型ソフトウェアイメージ更新コンポーネント |
Country Status (5)
Country | Link |
---|---|
US (1) | US7549148B2 (ja) |
EP (1) | EP1548587A3 (ja) |
JP (1) | JP5208350B2 (ja) |
KR (1) | KR101143027B1 (ja) |
CN (1) | CN1641583B (ja) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132357A1 (en) * | 2003-12-16 | 2005-06-16 | Microsoft Corporation | Ensuring that a software update may be installed or run only on a specific device or class of devices |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US7568195B2 (en) * | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
US7614051B2 (en) * | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
JP4479324B2 (ja) * | 2004-04-19 | 2010-06-09 | コニカミノルタビジネステクノロジーズ株式会社 | 情報処理装置 |
US7853742B2 (en) * | 2004-04-26 | 2010-12-14 | Intel Corporation | System and method to conditionally shrink an executable module |
US7661102B2 (en) * | 2004-08-20 | 2010-02-09 | Smith Micro Software, Inc. | Method for reducing binary image update package sizes |
US8255362B2 (en) * | 2005-06-08 | 2012-08-28 | rPath | Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system |
US20060288055A1 (en) * | 2005-06-08 | 2006-12-21 | Johnson Michael K | Methods, systems, and computer program products for provisioning software via a networked file repository in which a parent branch has a shadow associated therewith |
US8255363B2 (en) * | 2005-06-08 | 2012-08-28 | rPath | Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files |
US8490082B2 (en) * | 2005-11-03 | 2013-07-16 | International Business Machines Corporation | System and method for representing user processes as software packages in a software package management system |
US8869142B2 (en) * | 2006-01-27 | 2014-10-21 | Microsoft Corporation | Secure content publishing and distribution |
KR100772399B1 (ko) * | 2006-02-28 | 2007-11-01 | 삼성전자주식회사 | 패치 파일 생성 방법 및 그 방법을 수행하는 프로그램을기록한 컴퓨터 판독 가능한 기록매체 |
US8452981B1 (en) * | 2006-03-01 | 2013-05-28 | Nvidia Corporation | Method for author verification and software authorization |
US7971182B1 (en) * | 2006-05-09 | 2011-06-28 | Vmware, Inc. | Application environment specifications for provisioning application specific runtime environments using undefined symbols |
US7779401B2 (en) | 2006-06-26 | 2010-08-17 | Research In Motion Limited | Method and system for generating a reverse binary patch for undoing a software update |
US7567984B1 (en) * | 2006-08-31 | 2009-07-28 | Symantec Operating Corporation | Operating system and application deployment based on stored user state and organizational policy |
KR100810358B1 (ko) * | 2007-01-30 | 2008-03-04 | 삼성전자주식회사 | 컨테이너의 무결성을 확인하는 방법 및 그 dvb―h 단말 |
US11262996B2 (en) | 2007-05-09 | 2022-03-01 | Vmware, Inc. | Repository including exclusion list |
US8219987B1 (en) | 2007-08-24 | 2012-07-10 | Vmware, Inc. | Optimized virtual machine specification for provisioning application specific runtime environment |
US9015180B1 (en) | 2007-05-09 | 2015-04-21 | Vmware, Inc. | Repository including file identification |
US8347263B1 (en) * | 2007-05-09 | 2013-01-01 | Vmware, Inc. | Repository including installation metadata for executable applications |
US8577937B1 (en) | 2007-05-09 | 2013-11-05 | Vmware, Inc. | Repository including exclusion list |
US8146076B1 (en) * | 2007-09-17 | 2012-03-27 | Symantec Corporation | Systems and methods for customizing boot disk images using prioritization |
US20090106730A1 (en) * | 2007-10-23 | 2009-04-23 | Microsoft Corporation | Predictive cost based scheduling in a distributed software build |
US8335682B2 (en) * | 2007-10-30 | 2012-12-18 | Sercomm Corporation | Multi-language interfaces switch system and method therefor |
US8291402B2 (en) * | 2007-11-29 | 2012-10-16 | Red Hat, Inc. | Using system fingerprints to accelerate package dependency resolution |
US9424323B2 (en) * | 2008-01-31 | 2016-08-23 | Oracle International Corporation | Application tier data dictionary |
GB0820427D0 (en) * | 2008-11-07 | 2008-12-17 | Inq Entpr Ltd | Mobile communication device and method |
US8170706B2 (en) * | 2009-02-27 | 2012-05-01 | Xerox Corporation | Package generation system |
US20130167136A1 (en) * | 2009-03-18 | 2013-06-27 | Adobe Systems Incorporated | Component-based installation |
CA2806370C (en) * | 2009-07-29 | 2019-07-09 | Reversinglabs Corporation | Automated unpacking of portable executable files |
US9703550B1 (en) * | 2009-09-29 | 2017-07-11 | EMC IP Holding Company LLC | Techniques for building code entities |
US20110119570A1 (en) * | 2009-11-18 | 2011-05-19 | Xerox Corporation | Automated variable dimension digital document advisor |
CN101834885A (zh) * | 2010-03-10 | 2010-09-15 | 华为技术有限公司 | 一种软件下载方法和装置 |
US8533701B2 (en) * | 2010-03-15 | 2013-09-10 | Microsoft Corporation | Virtual machine image update service |
US8495614B2 (en) * | 2010-05-28 | 2013-07-23 | Red Hat, Inc. | Mechanism for dynamically generating spec files for software package managers |
US8732690B1 (en) * | 2011-10-27 | 2014-05-20 | Crimson Corporation | Computing device configured for installing an application |
US8984502B2 (en) * | 2011-10-28 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for composing or decomposing a composite image for firmware update images |
US8825722B2 (en) * | 2012-01-13 | 2014-09-02 | Microsoft Corporation | Calculation of properties of objects/shapes across versions of applications |
US8757479B2 (en) | 2012-07-31 | 2014-06-24 | Xerox Corporation | Method and system for creating personalized packaging |
US9645811B2 (en) | 2013-04-01 | 2017-05-09 | Oc Acquisition Llc | Fault tolerance for a distributed computing system |
US9760659B2 (en) | 2014-01-30 | 2017-09-12 | Xerox Corporation | Package definition system with non-symmetric functional elements as a function of package edge property |
US9892212B2 (en) | 2014-05-19 | 2018-02-13 | Xerox Corporation | Creation of variable cut files for package design |
US9996339B2 (en) * | 2014-06-04 | 2018-06-12 | Microsoft Technology Licensing, Llc | Enhanced updating for digital content |
DE102014216464A1 (de) * | 2014-08-19 | 2016-02-25 | Continental Automotive Gmbh | Vorrichtung und Verfahren zur Computerprogramminstallation für ein Kraftfahrzeug |
US20160139909A1 (en) * | 2014-11-13 | 2016-05-19 | Martin Pospischil | Delta patch process |
CN104657184B (zh) * | 2015-03-11 | 2018-09-28 | 成都广达新网科技股份有限公司 | 一种文件对应多嵌入式设备的升级方法 |
US9916402B2 (en) | 2015-05-18 | 2018-03-13 | Xerox Corporation | Creation of cut files to fit a large package flat on one or more substrates |
US9916401B2 (en) | 2015-05-18 | 2018-03-13 | Xerox Corporation | Creation of cut files for personalized package design using multiple substrates |
EP3179688A1 (en) * | 2015-12-11 | 2017-06-14 | Koninklijke KPN N.V. | Updating part of a manifest file on the basis of patches |
US10503486B2 (en) * | 2016-12-09 | 2019-12-10 | Vmware, Inc. | Methods and apparatus to reduce application deployments sizes |
US10402192B2 (en) | 2017-07-25 | 2019-09-03 | Aurora Labs Ltd. | Constructing software delta updates for vehicle ECU software and abnormality detection based on toolchain |
CN107608710B (zh) * | 2017-08-31 | 2021-08-31 | 华为技术有限公司 | 基于Jenkins工具的软件项目构建任务配置方法及装置 |
JP7102524B2 (ja) * | 2017-12-13 | 2022-07-19 | アブソリュート ソフトウェア コーポレイション | 複数のバイナリイメージのファームウェア公開 |
US10360017B1 (en) * | 2018-01-02 | 2019-07-23 | Microsoft Technology Licensing, Llc | Updating program packages at distribution endpoint |
US20190265959A1 (en) * | 2018-02-23 | 2019-08-29 | Microsoft Technology Licensing, Llc | Automatically synchronizing the install and build directories of a software application |
US20190384585A1 (en) * | 2018-06-14 | 2019-12-19 | Microsoft Technology Licensing, Llc | Modification package |
US20210349708A1 (en) * | 2020-05-05 | 2021-11-11 | Caterpillar Inc. | System and method involving multiple software targets packaged into one file |
US20240152340A1 (en) * | 2022-11-04 | 2024-05-09 | Google Llc | Structured Product Assembly |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4974149A (en) * | 1985-08-02 | 1990-11-27 | Wang Laboratories, Inc. | Data distribution apparatus and method having a data description including information for specifying a time that a data distribution is to occur |
US5303384A (en) | 1990-01-02 | 1994-04-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | High level language-based robotic control system |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US5625693A (en) | 1995-07-07 | 1997-04-29 | Thomson Consumer Electronics, Inc. | Apparatus and method for authenticating transmitting applications in an interactive TV system |
US5757914A (en) | 1995-10-26 | 1998-05-26 | Sun Microsystems, Inc. | System and method for protecting use of dynamically linked executable modules |
US5835777A (en) * | 1996-03-20 | 1998-11-10 | Hewlett-Packard Company | Method of automatically generating a software installation package |
US5721824A (en) | 1996-04-19 | 1998-02-24 | Sun Microsystems, Inc. | Multiple-package installation with package dependencies |
WO1999026123A1 (en) | 1997-11-18 | 1999-05-27 | Christopher Benjamin Wakely | Improvements relating to software protection systems |
US7503072B2 (en) | 1998-04-29 | 2009-03-10 | Microsoft Corporation | Hardware ID to prevent software piracy |
US6243468B1 (en) | 1998-04-29 | 2001-06-05 | Microsoft Corporation | Software anti-piracy system that adapts to hardware upgrades |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
KR20000041146A (ko) * | 1998-12-21 | 2000-07-15 | 구자홍 | 네트워크 컴퓨터의 소프트웨어 업데이트 방법 |
US6802006B1 (en) | 1999-01-15 | 2004-10-05 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US6697948B1 (en) | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
JP3852538B2 (ja) | 1999-05-14 | 2006-11-29 | 富士通株式会社 | コンピュータシステム、コンピュータネットワークシステム、コンピュータ及び記録媒体 |
US6675382B1 (en) | 1999-06-14 | 2004-01-06 | Sun Microsystems, Inc. | Software packaging and distribution system |
US6324692B1 (en) | 1999-07-28 | 2001-11-27 | Data General Corporation | Upgrade of a program |
JP2001142683A (ja) * | 1999-11-16 | 2001-05-25 | Oki Electric Ind Co Ltd | プログラム更新媒体の作成方法及び更新プログラムのインストール方法 |
EP1238334A1 (en) | 1999-12-15 | 2002-09-11 | Sun Microsystems, Inc. | Preparation of a software configuration using an xml type programming language |
US6871344B2 (en) * | 2000-04-24 | 2005-03-22 | Microsoft Corporation | Configurations for binding software assemblies to application programs |
US7140013B2 (en) | 2000-06-01 | 2006-11-21 | Aduva, Inc. | Component upgrading with dependency conflict resolution, knowledge based and rules |
DE10028500A1 (de) | 2000-06-08 | 2002-01-03 | Deutsche Telekom Ag | Verfahren zur Installation von Software in einer Hardware |
CN1326062C (zh) * | 2000-06-13 | 2007-07-11 | 微软公司 | 计算机系统和方法 |
US7000230B1 (en) * | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7117371B1 (en) | 2000-06-28 | 2006-10-03 | Microsoft Corporation | Shared names |
DE10037397A1 (de) | 2000-08-01 | 2002-02-14 | Daimler Chrysler Ag | Verfahren zum Laden von Software |
US6832373B2 (en) * | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
US6912591B2 (en) | 2001-05-02 | 2005-06-28 | Science Application International Corporation | System and method for patch enabled data transmissions |
FI114416B (fi) | 2001-06-15 | 2004-10-15 | Nokia Corp | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite |
US6947052B2 (en) * | 2001-07-13 | 2005-09-20 | Texas Instruments Incorporated | Visual program memory hierarchy optimization |
US8200988B2 (en) | 2001-08-03 | 2012-06-12 | Intel Corporation | Firmware security key upgrade algorithm |
US20030063896A1 (en) | 2001-09-28 | 2003-04-03 | Gonzalez Tovar Victor Manuel | System utility interface for software upgrades and system diagnostics in automotive or portable DVD players |
US20030217358A1 (en) | 2002-05-17 | 2003-11-20 | Sun Microsystems, Inc. | Method, system, and article of manufacture for firmware downloads |
US8549114B2 (en) | 2002-06-12 | 2013-10-01 | Bladelogic, Inc. | Method and system for model-based heterogeneous server configuration management |
US20040060035A1 (en) * | 2002-09-24 | 2004-03-25 | Eric Ustaris | Automated method and system for building, deploying and installing software resources across multiple computer systems |
US7085957B2 (en) | 2002-11-21 | 2006-08-01 | Texas Instruments Incorporated | Upgrading of firmware with tolerance to failures |
US7228541B2 (en) * | 2003-01-17 | 2007-06-05 | National Instruments Corporation | Creation of application system installer |
US7478385B2 (en) * | 2003-01-17 | 2009-01-13 | National Instruments Corporation | Installing software using programmatic component dependency analysis |
JP2006514467A (ja) | 2003-02-11 | 2006-04-27 | ユニシス コーポレイシヨン | コントロールファイルを更新するための方法および装置 |
US7072807B2 (en) * | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7117304B2 (en) | 2003-06-03 | 2006-10-03 | Sun Microsystems, Inc. | System and method for determining a file system layout |
EP1654640B1 (en) | 2003-06-04 | 2018-08-01 | Qualcomm Incorporated | Network having customizable generators of sofware updates and mobile electronic devices having customizable updating software |
US7478381B2 (en) * | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
US7549042B2 (en) | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US7614051B2 (en) | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
US7568195B2 (en) | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
US7765592B2 (en) * | 2004-01-10 | 2010-07-27 | Microsoft Corporation | Changed file identification, software conflict resolution and unwanted file removal |
US7853609B2 (en) * | 2004-03-12 | 2010-12-14 | Microsoft Corporation | Update distribution system architecture and method for distributing software |
-
2004
- 2004-05-01 US US10/837,024 patent/US7549148B2/en not_active Expired - Fee Related
- 2004-12-10 JP JP2004358961A patent/JP5208350B2/ja not_active Expired - Fee Related
- 2004-12-14 EP EP04029579A patent/EP1548587A3/en not_active Ceased
- 2004-12-16 KR KR1020040107318A patent/KR101143027B1/ko not_active IP Right Cessation
- 2004-12-16 CN CN2004101022860A patent/CN1641583B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1548587A3 (en) | 2007-11-07 |
KR101143027B1 (ko) | 2012-05-24 |
CN1641583A (zh) | 2005-07-20 |
US7549148B2 (en) | 2009-06-16 |
KR20050061380A (ko) | 2005-06-22 |
CN1641583B (zh) | 2010-09-29 |
JP2005182790A (ja) | 2005-07-07 |
EP1548587A2 (en) | 2005-06-29 |
US20050132356A1 (en) | 2005-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5208350B2 (ja) | 自己記述型ソフトウェアイメージ更新コンポーネント | |
US8954939B2 (en) | Extending a development environment | |
CN100559346C (zh) | 用于实例化抽象类的系统和方法 | |
US9569286B2 (en) | Method and system for improving startup performance and interoperability of a virtual application | |
US7454745B2 (en) | Automated semantic-based updates to modified code base | |
US8233893B2 (en) | Mobile handset update package generator that employs nodes technique | |
JP4901095B2 (ja) | 不揮発性ストレージにカスタム・ソフトウェア・イメージ・アップデートを適用するフェイルセーフな方法 | |
US7055146B1 (en) | Method and system for dynamically inserting modifications for identified programs | |
JP4878715B2 (ja) | オペレーティングシステムに適合しないアプリケーションにパッチを当てる方法、コンピュータシステム及びコンピュータ可読記録媒体 | |
US7757212B2 (en) | System and method for managing cross project dependencies at development time | |
US8438468B2 (en) | Annotation management | |
CN101002174B (zh) | 在便携式装置中加载具有面向对象的中间语言的软件的方法 | |
US20060064576A1 (en) | Boot systems and methods | |
US7765520B2 (en) | System and method for managing cross project dependencies at development time | |
JP2005182784A (ja) | インストールするのに有効な依存ソフトウェア更新の最大の群の判定 | |
US8001518B2 (en) | Configuring a shared library to accommodate relocatable data in a pervasive device | |
AU2008288798A2 (en) | Binary library | |
JP2005182809A (ja) | ストレージ技術抽象化方式におけるファイル内でのファイルシステムの生成 | |
WO2019005228A1 (en) | AUTOMATED ADAPTATION OF A SOURCE CODE IN ORDER TO INJECT FUNCTIONS BETWEEN VERSIONS OF A PLATFORM | |
CN112099880B (zh) | 场景驱动的应用程序约减方法和系统 | |
KR101615295B1 (ko) | 클래스 파일 내에 네이티브 코드를 임베드시킴으로써 가상 머신에서의 플랫폼 의존성 루틴의 적용 | |
Babynyuk | Efficient Data Structures with GraalVM Native Image | |
CN118672644A (zh) | 一种国产操作系统环境下动态库兼容方法及装置 | |
CN118012520A (zh) | 小程序加载和上传方法、装置、设备及存储介质 | |
CN114880204A (zh) | 一种应用程序更新评估方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120920 |
|
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: 20130201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130220 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |