JP5025901B2 - インストールするのに有効な依存ソフトウェア更新の最大の群の判定 - Google Patents
インストールするのに有効な依存ソフトウェア更新の最大の群の判定 Download PDFInfo
- Publication number
- JP5025901B2 JP5025901B2 JP2004355667A JP2004355667A JP5025901B2 JP 5025901 B2 JP5025901 B2 JP 5025901B2 JP 2004355667 A JP2004355667 A JP 2004355667A JP 2004355667 A JP2004355667 A JP 2004355667A JP 5025901 B2 JP5025901 B2 JP 5025901B2
- Authority
- JP
- Japan
- Prior art keywords
- package
- node
- update
- graph
- version
- 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
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)
- Stored Programmes (AREA)
Description
図1に、そのようなハンドヘルドコンピューティング装置120の機能構成要素を示す。この構成要素には、プロセッサ122、メモリ124、ディスプレイ126、およびキーボード128(物理的なキーボード、仮想キーボード、あるいは両方)が含まれる。オーディオ入力を受信するマイクロフォン129がある場合がある。メモリ124には、一般に、揮発性メモリ(RAMなど)と不揮発性メモリ(例えばROM、PCMCIAカードなど)との両方が含まれる。マイクロソフト社のWindows(登録商標)オペレーティングシステムや他のオペレーティングシステムなどのオペレーティングシステム130がメモリ124に常駐し、プロセッサ122で実行される。
本発明は、一般に、初期のソフトウェアまたはソフトウェア更新が組み込み装置のフラッシュメモリなどの不揮発性メモリに書き込まれる装置を含む、Microsoft Windows(登録商標)CE.NETに基づく携帯装置などの小型のモバイルコンピューティング装置に記憶されたソフトウェアの更新を対象とする。それでも、本発明は、コンピューティング全般に利益を提供し、したがって、他のコンピューティング装置と、ハードディスクドライブなどの各種のメモリおよび/または他の種類の記憶媒体を含む他の種類のストレージに適用することが可能である。説明を分かりやすくするため、以降の「フラッシュ」という用語は、装置の更新可能なストレージに関するものとして用いるが、任意の記憶機構が装置の更新可能なストレージと同等であることを理解されたい。さらに、「イメージ」という用語は一般に、既存イメージの一部のみが更新される場合であっても、初期のソフトウェアインストールイメージと、その後行われるイメージへのソフトウェア更新との概念を含む。
・HPKGENUM−特定のパッケージ列挙群を識別するために使用される不透明データ型。
・HPKG−一意のパッケージを表すために使用される不透明データ型。
・HRESULT−標準的なCOMリターン型。
・REFGUID−GUID構造への参照。
・LPTSTR−TCHARストリングへのポインタ。
・HFILEENTRY−FILEENTRY情報を呼び出し元プログラムに渡すために用いられる不透明データ型。
HRESULT Pkg_FindFirstPackage(
/*[out]*/HPKGENUM *phPkgEnum,
/*[out]*/HPKG *phPkg);
HRESULT Pkg_FindNextPackage(
/*[in]*/ HPKGENUM hPkgEnum,
/*[out]*/HPKG *phPkg);
HRESULT Pkg_FindClose (/* [in] */ HPKGENUM hPkgEnum);
HRESULT Pkg_OpenPackageByGUID(
REFGUID guidPkg,,
/* [out]*/ HPKG *phPkg);
HRESULT Pkg_OpenPackageByName(
LPCTSTR szFileName,,
/* [out] */ HPKG *phPkg);
//(先にPkg_FindFirstPackage、Pkg_FindNext
//Package、またはPkg_OpenPackageByGUIDで開かれ
//た)パッケージを「閉じる」
HRESULT Pkg_Close (HPKG hPkg);
//シャドーパッケージを列挙する。S_FALSEは列挙の終了を意味する
HRESULT Pkg_GetNextShadowedPackage (HPKG hPkg, /*
[out] */ GUID *pguidShadowedPkg);
//指定されたパッケージのGUIDの依存性の列挙を開始する
HRESULT Pkg_GetFirstDependentPackage(
HPKG hPkg,
/* [out] */ GUID pguidDependentPkg,
/* [out] */ DWORD*
pdwDependentPackageVersion);
//所与のパッケージのGUID依存性の列挙を続ける。S_FALSEは列挙の終
//了を意味する。
HRESULT Pkg_GetNextDependentPackage (HPKG hPkg, /*
[out] */ GUID *pguidDependentPkg, /* [out] */ DWORD
*pdwDependentPackageVersion);
//パッケージにリストされるファイルの列挙を開始する。バッファの大きさが十分
//でない場合(またはNULLの場合)は、cbSizeを、最後のNUL文字も
//含めて必要とされるバッファサイズに設定する
HRESULT Pkg_GetFirstFile(
HPKG hPkg,
/* [out] */ LPTSTR pszFileName,
/* [in/out] */ DWORD *cbSize);
//パッケージ中のファイルを列挙する。S_FALSEは列挙の終了を意味する
HRESULT Pkg_GetNextFile (HPKG hPkg, /* [out] */
LPTSTR pszFilename, DWORD cbSize);
//パッケージの一回限り発生する情報を取得する
HRESULT Pkg_GetPkgInfo (HPKG hPkg, /* [out]*/
PPACKAGEINFO pPackageInfo);
//指定されたファイルをDSMファイルとしてマッピングする。ファイルがDSM
//ファイルでない場合はE_FAILを返す
HRESULT PkgInfo_OpenByName (LPCTSTR szFullName);
//指定されたパッケージに特定のファイルが含まれているかを判定する。名前付き
//ファイルがパッケージの一部分である場合は、HFILEENTRYが非NUL
//Lになる
HRESULT Pkg_ContainsFIle(
HPKG hPkg,
LPTSTR szFileName,
/* [out] */ HFILEENTRY ** pFileEntry);
//指定されたパッケージのヘッダを検証する
HRESULT Pkg_ValidateHeader(
HPKG hPkg,
DWORD dwFileSize);
//指定されたパッケージのCERTデータをバッファにコピーする。バッファの大
//きさが十分でない、またはNULLの場合は、pcbBufferSizeが必
//要とされるサイズに設定される
HRESULT Pkg_GetCERTData(
HPKG hPkg,
LPVOID lpBuffer,
DWORD* pcbBufferSize);
//CRC計算のAPI(このAPIを試験で使用して、例えば装置に記憶さ
//れたCRCに照らして検証する)
HRESULT Pkg_CalculateFileCRC (
LPCTSTR pszFilename,
/* [out] */ DWORD *pdwCRC);
HRESULT Pkg_CalculatePackageCRC(
LPCTSTR pszPackageName,
/* [out] */ DWORD *pdwCRC);
//CABを開き、DSMを抽出し、DSMをマッピングする。ファイルが存在しな
//い場合、またはDSMでない場合はE_FAILを返す
FRESULT PkgInfo_ExtractFrom (LPCTSTR szCABFile);
//CABAPIによって返されたHCABを得て、DSMを見つけ、抽出し、マッ
//ピングする。ファイルが存在しない場合、またはDSMでない場合にはE_FA
//ILを返す
HRESULT PkgInfo_ExtractFromHCAB (HCAB hCab);
202 マニフェストファイルのレイアウト
Claims (13)
- インストールされたオペレーティングシステムを有するコンピューティングシステムにおいて、前記オペレーティングシステムが複数の個別のパッケージに分割されており、複数のバージョン更新が前記インストールされたオペレーティングシステムの第1のパッケージを更新するために利用可能であり、パッケージの依存性の制約を受けながら、最小の更新ステップで可能な前記第1のパッケージの最大のバージョン更新を可能にする利用可能なバージョンの最適なセットを選択する方法であって、
モバイルコンピューティング装置にインストールされたオペレーティングシステムを更新する更新パッケージ群を前記モバイルコンピューティング装置にダウンロードするステップであって、前記オペレーティングシステムは、各々が他のパッケージから独立して更新できる複数の個別のパッケージに分割され、前記更新パッケージ群は、前記モバイルコンピューティング装置上のインストールされたオペレーティングシステムの第1のパッケージの異なるバージョンに対応する複数の更新パッケージを含み、各更新パッケージは、前記更新パッケージのバージョンを含む、前記更新パッケージの内容および依存性情報が記載されたマニフェストファイルを含み、
前記モバイルコンピューティング装置上のインストールされたオペレーティングシステムの各パッケージに関して、前記パッケージのインストールされたバージョンに関するノードを有するグラフを生成するステップであって、前記グラフは、前記パッケージのインストールされたバージョンに対応するマニフェストファイルから生成される、ステップと、
各更新パッケージに関して、関連付けられたマニフェストファイルにアクセスして前記更新パッケージがどのインストールされたパッケージに依存するか判定するステップであって、各更新パッケージは、前記インストールされたパッケージに直接依存することによって、又は、前記インストールされたパッケージに直接依存している若しくは他の更新パッケージに依存している他の更新パッケージに依存することによって、インストールされたパッケージに依存することができ、前記更新パッケージがどのインストールされたパッケージに依存するか判定し、前記更新パッケージの各バージョンに対応する新しいノードを前記グラフに追加し、前記グラフは、前記インストールされたバーションのノードをベースとするツリーとし、新しいノードを枝とするように形成され、各新しいノードは依存する他のノードとリンクしており、同じグラフの各新しいノードはグラフが表すインストールされたパッケージの異なるバージョンに対応する、ステップと、
前記グラフを作成するステップに続いて、前記オペレーティングシステムの第1のパッケージに対応するグラフが、前記第1のパッケージを更新できる最新バージョンに対応するノードを含む2つのパスを含むことを判定するステップと、
前記2つのパスを判定するステップに続いて、各パスを探索し、探索された各ノードを認証するステップであって、証明書チェーンが親ノードを介して所与のノードと関連付けられるか否かを判定し、前記証明書チェーンは前記所与のノードに関連付けられ、前記ノードに対応するパッケージが有効な署名を含むか否かを検証し、前記ノードに対応するパッケージが有効な署名を含んでいない場合、前記ノードを起点とする前記枝を前記グラフから切ることにより前記ノードを除去する、ステップと、
両方のパスの各ノードを認証すると、パス上の各バージョンの重みの和が最小になるパスを選択するステップと、
前記選択されたパスの各ノードに対応する前記更新パッケージをインストールして前記第1のパッケージを更新するステップと、
を有することを特徴とする方法。 - 前記更新パッケージ群が前記モバイルコンピューティング装置上の現在インストールされたパッケージに対して一貫性を有するように編成するステップをさらに有することを特徴とする請求項1に記載の方法。
- 最小数のノードを有する前記パスが選択されたことを特徴とする請求項1に記載の方法。
- 各ノードを認証するステップは、前記ノードに対応する前記更新パッケージに関連付けられたファイルにアクセスし、前記ファイルがパッケージファイルの適切な型であるか否かを判定することを特徴とする請求項1に記載の方法。
- 前記各ノードを認証するステップは、前記ノードに対応する更新パッケージが前記更新パッケージの内容を記述する関連付けられたマニフェストファイルを含むか否かを判定するステップを含むことを特徴とする請求項1に記載の方法。
- 前記更新パッケージに対応するグラフのノードが存在しないと判定した場合、新しいグラフを作成し、更新パッケージのバージョンに対応するノードを前記新しく作成したグラフに追加するステップをさらに有することを特徴とする請求項1に記載の方法。
- 前記署名は前記所与のノードに関して検証され、そのノードに基づきパスに重みデータを付加するステップをさらに有することを特徴とする請求項1に記載の方法。
- グラフを探索して最も低い重み付けされたパスを発見し、そのパスに対応する情報を更新リストに追加するステップをさらに有することを特徴とする請求項7に記載の方法。
- 少なくとも1つのノードがグラフ内に残り、少なくとも1つの前記残ったノードが重み付けられたパスにあり、グラフを探索して最も低い重み付けされたパスを発見し、そのパスに対応する情報を更新リストに追加するステップをさらに有することを特徴とする請求項1に記載の方法。
- 選択するステップは、各バージョンに対応するパーティションを判定し、そのバージョンに対する対応するパーティションに基づき各バージョンをそれぞれのリストに追加することによって各バージョンをソートするステップを含むことを特徴とする請求項1に記載の方法。
- コンピュータに請求項1に記載の方法を実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
- 各ノードを認証するステップは、前記ノードに対応する前記更新パッケージに関連付けられたファイルにアクセスし、前記ファイルがパッケージファイルの適切な型であるか否かを判定することを特徴とする請求項11に記載のコンピュータ読み取り可能な記録媒体。
- 前記各ノードを認証するステップは、前記ノードに対応する更新パッケージが前記更新パッケージの内容を記述する関連付けられたマニフェストファイルを含むか否かを判定するステップを含むことを特徴とする請求項11に記載のコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53013003P | 2003-12-16 | 2003-12-16 | |
US60/530,130 | 2003-12-16 | ||
US10/837,176 US7568195B2 (en) | 2003-12-16 | 2004-05-01 | Determining a maximal set of dependent software updates valid for installation |
US10/837,176 | 2004-05-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005182784A JP2005182784A (ja) | 2005-07-07 |
JP5025901B2 true JP5025901B2 (ja) | 2012-09-12 |
Family
ID=34556578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004355667A Expired - Fee Related JP5025901B2 (ja) | 2003-12-16 | 2004-12-08 | インストールするのに有効な依存ソフトウェア更新の最大の群の判定 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7568195B2 (ja) |
EP (1) | EP1548586B1 (ja) |
JP (1) | JP5025901B2 (ja) |
KR (1) | KR101137146B1 (ja) |
CN (1) | CN1645322B (ja) |
Families Citing this family (120)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080383B1 (en) * | 1999-01-29 | 2006-07-18 | Microsoft Corporation | System and method for extending functionality of a class object |
US8533702B2 (en) * | 2002-06-27 | 2013-09-10 | International Business Machines Corporation | Dynamically resolving fix groups for managing multiple releases of multiple products on multiple systems |
US7624393B2 (en) * | 2003-09-18 | 2009-11-24 | International Business Machines Corporation | Computer application and methods for autonomic upgrade maintenance of computer hardware, operating systems and application software |
US7779039B2 (en) | 2004-04-02 | 2010-08-17 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
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 |
US7614051B2 (en) * | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
US7549148B2 (en) | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Self-describing software image update components |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US8688803B2 (en) * | 2004-03-26 | 2014-04-01 | Microsoft Corporation | Method for efficient content distribution using a peer-to-peer networking infrastructure |
US7472377B2 (en) * | 2005-01-18 | 2008-12-30 | International Business Machines Corporation | Systems and methods for determining software package identity during a system build |
US20060168572A1 (en) * | 2005-01-24 | 2006-07-27 | Niklas Backlund | Generic software conversion engine |
US8387037B2 (en) * | 2005-01-28 | 2013-02-26 | Ca, Inc. | Updating software images associated with a distributed computing system |
US7716661B2 (en) * | 2005-03-16 | 2010-05-11 | Microsoft Corporation | Embedded device update service |
US7743373B2 (en) * | 2005-05-06 | 2010-06-22 | International Business Machines Corporation | Method and apparatus for managing software catalog and providing configuration for installation |
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 |
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 |
US20060294515A1 (en) * | 2005-06-23 | 2006-12-28 | International Business Machines Corporation | Common operating system install method |
US7949684B2 (en) * | 2005-09-09 | 2011-05-24 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US8122446B2 (en) * | 2005-11-03 | 2012-02-21 | International Business Machines Corporation | Method and apparatus for provisioning software on a network of computers |
US7831972B2 (en) * | 2005-11-03 | 2010-11-09 | International Business Machines Corporation | Method and apparatus for scheduling jobs on a network |
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 |
KR100746026B1 (ko) * | 2006-01-04 | 2007-08-06 | 삼성전자주식회사 | 소프트웨어 설치 장치 및 방법 |
US20070294364A1 (en) | 2006-06-15 | 2007-12-20 | International Business Machines Corporation | Management of composite software services |
US7496893B2 (en) | 2006-06-15 | 2009-02-24 | International Business Machines Corporation | Method for no-demand composition and teardown of service infrastructure |
US7950007B2 (en) * | 2006-06-15 | 2011-05-24 | International Business Machines Corporation | Method and apparatus for policy-based change management in a service delivery environment |
US7519711B2 (en) | 2006-06-15 | 2009-04-14 | International Business Machines Corporation | Method for middleware assisted system integration in a federated environment |
JP2009536395A (ja) * | 2006-06-19 | 2009-10-08 | サムスン エレクトロニクス カンパニー リミテッド | Otaが可能な端末の情報アップグレードシステム及び方法{informationupgradesystemandmethodforota−capabledevice} |
US7748000B2 (en) * | 2006-07-27 | 2010-06-29 | International Business Machines Corporation | Filtering a list of available install items for an install program based on a consumer's install policy |
US20130047145A1 (en) * | 2006-08-29 | 2013-02-21 | Quan-Jie Cui | Match analysis for encoding optimized update packages |
DE102006040395A1 (de) * | 2006-08-29 | 2007-03-15 | Siemens Ag | Verfahren zur Erzeugung eines größenoptimierten Delta-Files |
US7567984B1 (en) * | 2006-08-31 | 2009-07-28 | Symantec Operating Corporation | Operating system and application deployment based on stored user state and organizational policy |
US8112508B1 (en) * | 2006-09-08 | 2012-02-07 | Dell Products L.P. | Delivering data from device management services to devices using bulletin system |
EP2051181A1 (en) * | 2006-12-27 | 2009-04-22 | Panasonic Corporation | Information terminal, security device, data protection method, and data protection program |
US20080201705A1 (en) | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
US8307341B2 (en) * | 2007-04-25 | 2012-11-06 | International Business Machines Corporation | Generating customized documentation for a software product |
US7857222B2 (en) | 2007-08-16 | 2010-12-28 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US8775822B2 (en) * | 2007-08-31 | 2014-07-08 | Flexera Software, Llc | Computer-implemented method and system for protecting a software installation after certification |
US8141065B2 (en) * | 2007-09-27 | 2012-03-20 | Alcatel Lucent | Method and apparatus for performing non service affecting software upgrades in place |
US8146069B2 (en) * | 2007-09-27 | 2012-03-27 | Alcatel Lucent | Method and apparatus for performing non service affecting software upgrades in place |
US8291402B2 (en) * | 2007-11-29 | 2012-10-16 | Red Hat, Inc. | Using system fingerprints to accelerate package dependency resolution |
US8630981B1 (en) * | 2007-12-21 | 2014-01-14 | Symantec Corporation | Techniques for differencing binary installation packages |
US20090172637A1 (en) * | 2007-12-28 | 2009-07-02 | Microsoft Corporation | Markup-based language for manifests |
JP5136105B2 (ja) * | 2008-02-13 | 2013-02-06 | 富士通株式会社 | データ搭載装置、及びデータ搭載装置のアップグレード方法 |
US7860900B2 (en) * | 2008-02-25 | 2010-12-28 | Microsoft Corporation | Consistently signaling state changes |
EP2169545A1 (en) * | 2008-09-26 | 2010-03-31 | Moxa Inc. | Embedded system that automatically updates its software and the method thereof |
US8239856B2 (en) * | 2008-10-27 | 2012-08-07 | International Business Machines Corporation | Sharing unresolved information between software components |
US8473942B2 (en) * | 2008-11-28 | 2013-06-25 | Sap Ag | Changable deployment conditions |
JP5304360B2 (ja) * | 2009-03-17 | 2013-10-02 | 株式会社リコー | 情報処理装置、情報処理方法および情報処理プログラム |
US8959481B2 (en) * | 2009-04-30 | 2015-02-17 | International Business Machines Corporation | Determining system level dependencies |
US8108495B1 (en) * | 2009-04-30 | 2012-01-31 | Palo Alto Networks, Inc. | Managing network devices |
JP5471883B2 (ja) * | 2009-07-17 | 2014-04-16 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム |
CN102576344A (zh) | 2009-07-31 | 2012-07-11 | 惠普发展公司,有限责任合伙企业 | 识别和清点应用的方法和系统 |
US8645936B2 (en) | 2009-09-30 | 2014-02-04 | Zynga Inc. | Apparatuses, methods and systems for an a API call abstractor |
WO2011041175A1 (en) * | 2009-09-30 | 2011-04-07 | Zynga Game Network Inc. | Apparatuses, methods and systems for an api call abstractor |
US9176898B2 (en) * | 2009-11-09 | 2015-11-03 | Bank Of America Corporation | Software stack building using logically protected region of computer-readable medium |
US8397230B2 (en) | 2009-11-09 | 2013-03-12 | Bank Of America Corporation | Software updates using delta patching |
US9128799B2 (en) | 2009-11-09 | 2015-09-08 | Bank Of America Corporation | Programmatic creation of task sequences from manifests |
US9497092B2 (en) | 2009-12-08 | 2016-11-15 | Hand Held Products, Inc. | Remote device management interface |
AU2011205480B2 (en) * | 2010-01-12 | 2015-02-05 | Google Llc | Operating system auto-update procedure |
US8713525B2 (en) * | 2010-03-25 | 2014-04-29 | International Business Machines Corporation | Software management system for network data processing systems |
US8554797B2 (en) | 2010-12-17 | 2013-10-08 | Sap Ag | System and method for modular business applications |
FR2972821B1 (fr) | 2011-03-18 | 2013-04-26 | Airbus Operations Sas | Procede et dispositif d'installation/desinstallation de modules logiciels, avec resolution centralisee de contraintes, dans des equipements d'aeronef |
US20120254859A1 (en) * | 2011-03-31 | 2012-10-04 | Sony Corporation | Method and apparatus for downloading software updates to place user terminal into a desired configuration state |
US8997084B2 (en) * | 2011-04-20 | 2015-03-31 | Hewlett-Packard Development Company, L.P. | Method and apparatus for determining compatible versions of dependent entities in a computer system |
CN102356394B (zh) * | 2011-08-23 | 2013-09-11 | 华为技术有限公司 | 文档更新方法和装置 |
US20130055369A1 (en) * | 2011-08-24 | 2013-02-28 | Mcafee, Inc. | System and method for day-zero authentication of activex controls |
US9118686B2 (en) | 2011-09-06 | 2015-08-25 | Microsoft Technology Licensing, Llc | Per process networking capabilities |
US9773102B2 (en) | 2011-09-09 | 2017-09-26 | Microsoft Technology Licensing, Llc | Selective file access for applications |
US8990561B2 (en) | 2011-09-09 | 2015-03-24 | Microsoft Technology Licensing, Llc | Pervasive package identifiers |
US20130067459A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Order-Independent Deployment Collections with Dependency Package Identifiers |
US9800688B2 (en) | 2011-09-12 | 2017-10-24 | Microsoft Technology Licensing, Llc | Platform-enabled proximity service |
US8621123B2 (en) | 2011-10-06 | 2013-12-31 | Honeywell International Inc. | Device management using virtual interfaces |
US8539123B2 (en) | 2011-10-06 | 2013-09-17 | Honeywell International, Inc. | Device management using a dedicated management interface |
US8959504B2 (en) * | 2011-10-18 | 2015-02-17 | Microsoft Corporation | Update scanning |
EP2821918A4 (en) * | 2012-03-01 | 2015-12-16 | Nec Corp | SYSTEM CONSTRUCTION PROCEDURE CREATING DEVICE, SYSTEM CONSTRUCTION PROCEDURE CREATING METHOD, AND PROGRAM |
EP2648092B1 (en) * | 2012-04-04 | 2019-06-19 | Harman Becker Automotive Systems GmbH | Updating method and multi-domain embedded system |
US8966467B2 (en) * | 2012-04-30 | 2015-02-24 | Dell Products, L.P. | System and method for performing an in-service software upgrade in non-redundant systems |
US9244673B2 (en) * | 2012-06-08 | 2016-01-26 | Apple Inc. | System and method for updating application archive files |
US10356204B2 (en) | 2012-12-13 | 2019-07-16 | Microsoft Technology Licensing, Llc | Application based hardware identifiers |
EP2951978A4 (en) * | 2013-01-29 | 2016-08-31 | Hewlett Packard Entpr Dev Lp | METHOD AND SYSTEMS FOR STORING COMMONLY USED FILES |
US20140259004A1 (en) * | 2013-03-07 | 2014-09-11 | Go Daddy Operating Company, LLC | System for trusted application deployment |
US20140259003A1 (en) * | 2013-03-07 | 2014-09-11 | Go Daddy Operating Company, LLC | Method for trusted application deployment |
FR3003366B1 (fr) * | 2013-03-12 | 2015-04-10 | Airbus Operations Sas | Procede, dispositif et programme d'ordinateur pour l'installation ou la desinstallation automatique de modules logiciels dans des equipements embarques d'un aeronef |
JP6102378B2 (ja) * | 2013-03-15 | 2017-03-29 | 株式会社リコー | サーバ、情報処理システムおよびプログラム |
JP2013149271A (ja) * | 2013-03-29 | 2013-08-01 | Ricoh Co Ltd | 情報処理装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体 |
US9858247B2 (en) | 2013-05-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Runtime resolution of content references |
US20140359593A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Maintaining known dependencies for updates |
US10110594B2 (en) | 2013-09-04 | 2018-10-23 | Hewlett-Packard Development Company, L.P. | Header section download of package |
US9690564B2 (en) | 2013-09-10 | 2017-06-27 | International Business Machines Corporation | Runtime detection of software configurations and upgrades |
US9367299B2 (en) * | 2013-12-31 | 2016-06-14 | Google Inc. | Preventing application downgrade in an application store |
JP6379599B2 (ja) * | 2014-04-02 | 2018-08-29 | 富士通株式会社 | 適用判定プログラム、適用判定方法、及び適用判定装置 |
GB2524798A (en) * | 2014-04-03 | 2015-10-07 | Ibm | Method and test environment for automatic testing a software product comprising a plurality of software packages |
US9383989B1 (en) * | 2014-06-16 | 2016-07-05 | Symantec Corporation | Systems and methods for updating applications |
US20160048383A1 (en) * | 2014-08-13 | 2016-02-18 | Microsoft Technology Licensing, Llc | Isv update delivery |
CN105446757B (zh) * | 2014-08-21 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种数据包的处理方法和设备 |
CN104462352B (zh) * | 2014-12-04 | 2018-04-06 | 北京国双科技有限公司 | 数据打包方法及装置 |
US9684539B1 (en) * | 2014-12-17 | 2017-06-20 | VCE IP Holding Company LLC | Methods, systems, and computer readable mediums for logically remediating infrastructure resource components |
US10248403B2 (en) * | 2015-03-13 | 2019-04-02 | Kony, Inc. | Providing updates for natively rendered mobile applications |
US10402187B2 (en) * | 2016-08-10 | 2019-09-03 | Trilio Data Inc. | Efficient workload deployment using containers and unikernels |
US10409567B2 (en) * | 2016-09-14 | 2019-09-10 | Microsoft Technology Licensing, Llc | Trimming unused dependencies using package graph and module graph |
US10402229B2 (en) * | 2017-01-31 | 2019-09-03 | Sap Se | Platform for orchestrating custom processes across system landscapes |
US10831463B2 (en) * | 2017-03-08 | 2020-11-10 | International Business Machines Corporation | Intelligent software deployment on an IaaS platform |
US10977240B1 (en) | 2017-10-21 | 2021-04-13 | Palantir Technologies Inc. | Approaches for validating data |
US10705817B2 (en) * | 2018-03-19 | 2020-07-07 | Toyota Jidosha Kabushiki Kaisha | Conflict determination and mitigation for vehicular applications |
EP3764224B1 (en) * | 2018-03-27 | 2023-08-30 | Huawei Technologies Co., Ltd. | Resource permission processing method and apparatus, and storage medium and chip |
US10698677B2 (en) * | 2018-05-04 | 2020-06-30 | EMC IP Holding Company LLC | Method and system for lifecycle management optimization |
US11550593B2 (en) | 2019-01-08 | 2023-01-10 | Dell Products L.P. | Information handling system quick boot |
US11194589B2 (en) | 2019-01-08 | 2021-12-07 | Dell Products L.P. | Information handling system adaptive component reset |
US11010249B2 (en) | 2019-01-08 | 2021-05-18 | Dell Products L.P. | Kernel reset to recover from operating system errors |
US11126420B2 (en) | 2019-01-08 | 2021-09-21 | Dell Products L.P. | Component firmware update from baseboard management controller |
US11397570B2 (en) * | 2019-01-10 | 2022-07-26 | Hewlett Packard Enterprise Development Lp | Abort installation of firmware bundles |
US10817279B1 (en) * | 2019-04-16 | 2020-10-27 | EMC IP Holding Company LLC | Providing different upgrade paths for upgrading a server |
CN110531993B (zh) * | 2019-08-21 | 2022-11-25 | 苏州浪潮智能科技有限公司 | 软件安装方法、装置、设备及介质 |
CN111178829B (zh) * | 2019-12-19 | 2021-06-18 | 中国人民解放军国防科技大学 | 一种在软件项目管理中基于图算法的冲突消解方法 |
US11507541B2 (en) * | 2020-01-21 | 2022-11-22 | Microsoft Technology Licensing, Llc | Method to model server-client sync conflicts using version trees |
CN113495737B (zh) * | 2020-04-01 | 2024-05-03 | 腾讯科技(深圳)有限公司 | 一种软件更新方法及相关设备 |
US11200038B1 (en) | 2020-06-25 | 2021-12-14 | Paypal, Inc. | Fast compiling source code without dependencies |
US11314496B2 (en) | 2020-06-25 | 2022-04-26 | Paypal, Inc. | Ultra-fast install and update of an operating system |
CN114356447A (zh) * | 2021-12-28 | 2022-04-15 | 广东三维家信息科技有限公司 | 一种插件管理方法、装置、电子设备及存储介质 |
Family Cites Families (72)
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 |
US5214695A (en) * | 1990-07-23 | 1993-05-25 | International Business Machines Corporation | Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
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 |
JP3548529B2 (ja) * | 1997-08-20 | 2004-07-28 | パワークエスト・コーポレーション | イメージ形成中のコンピュータ・パーティション操作 |
EP0976042B1 (en) * | 1997-10-06 | 2001-08-08 | Powerquest Corporation | System and method for transferring one-to-many disk image among computers in a network |
JPH11134178A (ja) * | 1997-10-27 | 1999-05-21 | Nec Eng Ltd | ロードモジュールの版数情報による相互関連チェック方式およびプログラム記録媒体 |
US6351850B1 (en) * | 1997-11-14 | 2002-02-26 | Frank Van Gilluwe | Computer operating system installation |
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 |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | 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 |
US6725205B1 (en) * | 1999-12-02 | 2004-04-20 | Ulysses Esd, Inc. | System and method for secure software installation |
WO2001044934A1 (en) * | 1999-12-15 | 2001-06-21 | Sun Microsystems, Inc. | Preparation of a software configuration using an xml type programming language |
US6581159B1 (en) * | 1999-12-23 | 2003-06-17 | Intel Corporation | Secure method of updating bios by using a simply authenticated external module to further validate new firmware code |
US6591376B1 (en) * | 2000-03-02 | 2003-07-08 | Hewlett-Packard Development Company, L.P. | Method and system for failsafe recovery and upgrade of an embedded operating system |
US6871344B2 (en) * | 2000-04-24 | 2005-03-22 | Microsoft Corporation | Configurations for binding software assemblies to application programs |
JP2001331327A (ja) * | 2000-05-24 | 2001-11-30 | Matsushita Electric Ind Co Ltd | 電子機器 |
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 |
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 |
US20040003266A1 (en) * | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US6832373B2 (en) * | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
AU2002222461A1 (en) * | 2000-12-07 | 2002-06-18 | Aduva Inc. | Improved method for resolving dependency conflicts among multiple operative entities within a computing environment |
US6807665B2 (en) * | 2001-01-18 | 2004-10-19 | Hewlett-Packard Development Company, L. P. | Efficient data transfer during computing system manufacturing and installation |
JP2003005859A (ja) * | 2001-04-16 | 2003-01-08 | Yuichi Sumiya | プログラムやデータの管理方法とコンピュータ |
US20020157010A1 (en) * | 2001-04-24 | 2002-10-24 | International Business Machines Corporation | Secure system and method for updating a protected partition of a hard drive |
US6912591B2 (en) * | 2001-05-02 | 2005-06-28 | Science Application International Corporation | System and method for patch enabled data transmissions |
US20040015958A1 (en) * | 2001-05-15 | 2004-01-22 | Veil Leonard Scott | Method and system for conditional installation and execution of services in a secure computing environment |
US7155710B2 (en) * | 2001-06-08 | 2006-12-26 | Igt | Method and apparatus for gaming device software configuration |
FI114416B (fi) | 2001-06-15 | 2004-10-15 | Nokia Corp | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite |
US8200988B2 (en) * | 2001-08-03 | 2012-06-12 | Intel Corporation | Firmware security key upgrade algorithm |
US20030046482A1 (en) * | 2001-08-28 | 2003-03-06 | International Business Machines Corporation | Data management in flash memory |
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 |
US7237122B2 (en) * | 2001-10-19 | 2007-06-26 | Mcafee, Inc. | Method and apparatus to facilitate software installation using embedded user credentials |
US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
US20030182563A1 (en) * | 2002-03-22 | 2003-09-25 | Liu James C. | Method and apparatus for software license verification |
US7194738B2 (en) * | 2002-04-09 | 2007-03-20 | Synnex Technology International Corporation | Method of creating image files and installing software bundles on target computers |
US20030217358A1 (en) * | 2002-05-17 | 2003-11-20 | Sun Microsystems, Inc. | Method, system, and article of manufacture for firmware downloads |
US8447963B2 (en) * | 2002-06-12 | 2013-05-21 | Bladelogic Inc. | Method and system for simplifying distributed server 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 |
US7007049B2 (en) * | 2002-11-18 | 2006-02-28 | Innopath Software, Inc. | Device memory management during electronic file updating |
US7085957B2 (en) * | 2002-11-21 | 2006-08-01 | Texas Instruments Incorporated | Upgrading of firmware with tolerance to failures |
US7478385B2 (en) * | 2003-01-17 | 2009-01-13 | National Instruments Corporation | Installing software using programmatic component dependency analysis |
US7228541B2 (en) * | 2003-01-17 | 2007-06-05 | National Instruments Corporation | Creation of application system installer |
WO2004073332A1 (en) * | 2003-02-11 | 2004-08-26 | Unisys Corporation | Method and apparatus for updating a control file |
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 |
WO2004109510A2 (en) * | 2003-06-04 | 2004-12-16 | Bitfone Corporation | Network having customizable generators of software updates and mobile electronic devices having customizable updating software |
JP2005044011A (ja) * | 2003-07-24 | 2005-02-17 | Hitachi Ltd | ソフトウェアパッケージ管理方法 |
US7478381B2 (en) * | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
US7549148B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Self-describing software image update components |
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 |
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,176 patent/US7568195B2/en not_active Expired - Fee Related
- 2004-12-08 JP JP2004355667A patent/JP5025901B2/ja not_active Expired - Fee Related
- 2004-12-09 EP EP04029234A patent/EP1548586B1/en not_active Not-in-force
- 2004-12-16 KR KR1020040107180A patent/KR101137146B1/ko not_active IP Right Cessation
- 2004-12-16 CN CN2004101020140A patent/CN1645322B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1548586B1 (en) | 2013-04-03 |
CN1645322A (zh) | 2005-07-27 |
EP1548586A2 (en) | 2005-06-29 |
US7568195B2 (en) | 2009-07-28 |
JP2005182784A (ja) | 2005-07-07 |
US20050132350A1 (en) | 2005-06-16 |
CN1645322B (zh) | 2013-06-12 |
KR20050061376A (ko) | 2005-06-22 |
EP1548586A3 (en) | 2007-11-07 |
KR101137146B1 (ko) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5025901B2 (ja) | インストールするのに有効な依存ソフトウェア更新の最大の群の判定 | |
CN1641583B (zh) | 自描述软件映象更新组件 | |
US11385890B2 (en) | Shared software libraries for computing devices | |
US7684964B2 (en) | Model and system state synchronization | |
US8122106B2 (en) | Integrating design, deployment, and management phases for systems | |
US20180196665A1 (en) | Managing, using, and updating application resources | |
CN109614165B (zh) | 一种com组件的多版本并行运行方法和装置 | |
US20160026509A1 (en) | Method and system for improving startup performance and interoperability of a virtual application | |
US8126859B2 (en) | Updating a local version of a file based on a rule | |
US20100205604A1 (en) | Systems and methods for efficiently running multiple instances of multiple applications | |
US9460306B1 (en) | System and method for controlling access of machine code to operating system resources | |
US20050033767A1 (en) | Computer-implemented system and method for resource caching and execution | |
JP7119096B2 (ja) | ライセンス検証装置 | |
US10855818B2 (en) | Apparatus and methods for optimizing dirty memory pages in embedded devices | |
US9367686B1 (en) | System and method for antivirus checking of native images of software assemblies | |
US11392391B2 (en) | Selectively updating a bios image | |
US20210357419A1 (en) | Preventing dbms deadlock by eliminating shared locking | |
US20040216132A1 (en) | Runtime polymorphism | |
JP2011511987A (ja) | 反復コンポーネントのバインディング | |
US20030018962A1 (en) | System and method for accessing streaming data | |
US8453108B1 (en) | Static, configurable kernel interface | |
CN115794955A (zh) | 一种智能合约的升级方法、装置、设备及存储介质 | |
CN117170808A (zh) | 一种管控等级标记方法和系统 | |
CN115576570A (zh) | 一种软件包安装方法、装置、计算设备及可读存储介质 | |
Jahan et al. | VNE-Sim Tool User Guide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110815 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120528 |
|
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: 20120615 |
|
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: 20120620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150629 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 |