JP2010176699A - 差異ファイルの生成において用いるためのソフトウェア画像の処理 - Google Patents
差異ファイルの生成において用いるためのソフトウェア画像の処理 Download PDFInfo
- Publication number
- JP2010176699A JP2010176699A JP2010086127A JP2010086127A JP2010176699A JP 2010176699 A JP2010176699 A JP 2010176699A JP 2010086127 A JP2010086127 A JP 2010086127A JP 2010086127 A JP2010086127 A JP 2010086127A JP 2010176699 A JP2010176699 A JP 2010176699A
- Authority
- JP
- Japan
- Prior art keywords
- version
- original
- instruction
- data
- new
- 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】ファイル・バージョン間のソフトウェア/実行可能変更は、ソース・コード変更であると定める、主変更/論理変更と、二次的変更とを含む。二次的変更は、一般に主変更から生じ、ソフトウェア・コンパイラ/リンカ・ユーティリティが発生する。二次的変更は、アドレス変更、ポインタ目標アドレス変更、およびアドレス・オフセットの変更を含む。提供する前処理システムおよび方法は、ファイル・バージョン間において近似規則を用いて二次的変更を除去/削減し、これらの変更の除去に関する情報を、対応する差異ファイル内にエンコードする。
【選択図】図1
Description
プロセッサ、マイクロプロセッサ、および/または演算装置上で実行し、一定の機能を提供するソフトウェアは、時と共に変化することが多い。この変化は、ソフトウェア・ファイルにおけるバグ、即ち、誤りを訂正する必要性、発展する技術に合わせる必要性、または新たな特徴を追加する必要性等、様々な必要性の結果生じる可能性がある。即ち、移動処理デバイス、例えば、移動ワイヤレス・デバイス上で動作する埋め込みソフトウェア・コンポーネントは、多数のソフトウェア・バグを含むことが多く、訂正が必要である。ソフトウェアは、人が読むことができる情報相互交換用アメリカ標準コード(ASCII:American Standard Code for Information Interchange)の平文ファイルまたは二進コードの形態の1つ以上のファイルを含む。ソフトウェア・ファイルは、更に小さな単位に分割することができ、これらは多くの場合モジュールまたはコンポーネントと呼ばれている。
共通関数ユニットにおける計算可能命令に対して、一実施形態のプリプロセッサは、元バージョンにおける命令値を元関数ユニットの開始アドレスおよび新関数ユニットの開始アドレスと共に用いて、共通関数ユニットの新バージョンにおける命令値を発生する。したがって、先に引用した表記を用いると、元バージョンにおける命令値(targetAddrV1-addrV1)、startAddrV1、targetStartAddrV1、startAddrV2、およびTargetStartAddrV2を用いて、新バージョン(targetAddrV2-addrV2)における命令値を発生または計算する。
ブロック612において、cal_insAの新命令値を用いて、プリプロセッサは、以下のようにcal_insAを修正する。
続いて、ブロック614において、プリプロセッサは、元関数ユニットjの計算可能命令の中でまだ前処理が済んでいないものが残っているか否か判定を行う。前処理が未だ済んでいない計算可能命令が残っている場合、プリプロセッサは、ブロック602に戻り、別の、あるいは次の未処理の計算可能命令を元関数ユニットjから読み出し、先に説明したように前処理を続ける。
ブロック910において、データ・ポインタ値dataPointerV2を用いて、プリプロセッサは、元バージョンにおける対応するアドレスにおいて、dataPointerV1をdataPointerV2と置換する。続いて、ブロック912において、プリプロセッサは、前処理が済んでいないデータ・ポインタが未だ元データ・ユニットに残っているか否か判定を行う。
次に、プリプロセッサは、共通関数ユニット2の元バージョンV1の終了アドレスが、以下のように、共通関数ユニット3の元バージョンV1の開始アドレスと同一か否か判定を行う。
また、一実施形態の前述の方法は、更に、共通データ・ブロックを形成するために共通データ・ユニットを併合するステップを含む。一実施形態の併合は、元バージョンの第1データ・ユニットのサイズが新バージョンの第1データ・ユニットと等しく、元バージョンの第1データ・ユニットの終了アドレスが元バージョンの第2データ・ユニットの開始アドレスと等しく、更に新バージョンの第1データ・ユニットの終了アドレスが新バージョンの第2データ・ユニットの開始アドレスに等しい場合、共通データ・ブロックを形成するために、元バージョンの第1および第2データ・ユニットを結合し、新バージョンの対応する第1および第2データ・ユニットを結合するステップと、別の併合可能なデータ・ユニットについて結合動作を繰り返すステップとを備えている。更に、併合は、共通関数ブロックを形成するために共通テキスト・セクションを併合するステップを備えている。また、併合は、元バージョンの第1テキスト・セクションのサイズが新バージョンの第1テキスト・セクションに等しく、元バージョンの第1テキスト・セクションの終了アドレスが元バージョンの第2テキスト・セクションの開始アドレスに等しく、更に新バージョンの第1テキスト・セクションの終了アドレスが新バージョンの第2テキスト・セクションの開始アドレスに等しい場合、共通関数ブロックを形成するために、元バージョンの第1および第2テキスト・セクションを結合し、新バージョンの対応する第1および第2テキスト・セクションを結合するステップと、別の併合可能テキスト・セクションについて結合動作を繰り返すステップとを備えている。
一実施形態の方法の下では、元および新バージョンに共通のコードのユニットは、共通データ・ユニットであり、第1命令は第1データ・ポイントを含み、第2命令は第2データ・ポインタを含み、第1命令値は第1データ・ポイント値を含み、第2命令値は第2データ・ポインタ値を含み、第2命令値を発生するステップは、第1および第2データ・ユニットの開始アドレス間の差異を用いて第1データ・ポインタ値を修正することによって、第2データ・ポインタ値を発生するステップを含む。
更に、一実施形態の前述の方法は、共通データ・ブロックを形成するために共通データ・ユニットを併合するステップを含む。
Claims (43)
- 電子ファイルを更新するためのシステムであって、
電子ファイルの元バージョンと新バージョンとの間のコード化した差異を含む差異ファイルを発生する第1デバイスであって、
コード・ラインの削除、コード・ラインの追加、およびコード・ラインの修正のうちの少なくとも1つによって生じたアドレスのずれに対応する前記元および新バージョン間の差異を特定し、
前記元バージョンのテキスト・セクションおよび前記新バージョンの対応するテキスト・セクションのアドレス間の少なくとも1つの関係を用いて、元バージョンの命令の目標アドレスを修正することによって、前記元および新バージョンに共通のテキスト・セクションにおいて前記特定した差異を除去し、
修正した目標アドレスを有する命令を含む前記元ファイルの修正バージョンを発生する、
ことによって前記差異ファイルのサイズを縮小する少なくとも1つのコンポーネントを含む、第1デバイスと、
第2デバイスであって、前記差異ファイルを受信し、該差異ファイルを用いて、該第2デバイスにおいて新ファイルの一バージョンを発生する第2デバイスと、
を備えている、システム。 - 請求項1記載のシステムにおいて、除去することは、更に、
前記元および新バージョン間に共通の第1および第2テキスト・セクションを特定し、前記元バージョンにおける第1テキスト・セクションは第1計算可能命令を含み、前記新バージョンにおける第2テキスト・セクションは第2計算可能命令を含み、
前記元および新バージョン間に共通の第3および第4テキスト・セクションを特定し、前記元バージョンにおける第3テキスト・セクションは、前記第1計算可能命令に対応する第1目標アドレスを含み、前記新バージョンにおける第4テキスト・セクションは、前記第2計算可能命令に対応する第2目標アドレスを含み、
前記第3および第4の関数ユニットの開始アドレス間の第1の差異を用い、更に前記第1および第2の関数ユニットの開始アドレス間の第2の差異を用いて、前記第1命令値を修正することによって、前記第2計算可能命令から第2命令値を発生し、
前記第1計算可能命令の第1命令値を、前記第2命令値と置換する、
ことを含む、システム。 - 請求項1記載のシステムであって、更に、前記元バージョンにおけるデータ・ポインタ値を修正することによって、前記元および新バージョンに共通のデータ・セクションを指し示すデータ・ポインタを含む命令において前記特定した差異を除去することを含み、データ・ポインタ値を修正することは、現データ・ポインタが指し示す前記元バージョンにおけるデータ・セクションの開始アドレスと、前記新バージョンにおける対応するデータ・セクションの開始アドレスとの間の差異を用いる、システム。
- 請求項3記載のシステムにおいて、データ・ポインタを含む命令において特定した差異を除去することは、更に、
前記元および新バージョン間に共通の第1および第2のコード・セグメントを特定し、前記元バージョンにおける第1コード・セグメントは第1データ・ポインタを含み、前記新バージョンにおける第2コード・セグメントは第2データ・ポインタを含み、
前記元および新バージョン間で共通な第1および第2のデータ・ユニットを特定し、前記元バージョンにおける第1データ・ユニットは、前記第1データ・ポインタに対応する第1目標アドレスを含み、前記新バージョンにおける第2データ・ユニットは、前記第2データ・ポインタに対応する第2目標アドレスを含み、
前記第1および第2データ・ユニットの開始アドレス間の差異を用いて、第1データ・ポインタ値を修正することによって、前記第2データ・ポインタから第2データ・ポインタ値を発生し、
前記第1データ・ポインタの第1データ・ポインタ値を前記第2データ・ポインタ値と置換する、
ことを含む、システム。 - 請求項1記載のシステムにおいて、前記第2デバイスは、パーソナル・コンピュータ、携帯計算デバイス、セルラ電話機、携帯通信デバイス、およびパーソナル・ディジタル・アシスタントの中から選択した、少なくとも1つのプロセッサに基づくデバイスである、システム。
- 請求項1記載のシステムにおいて、前記第1デバイスは、少なくとも1つの結合部を用いて、前記差異ファイルを前記第2デバイスに転送し、前記少なくとも1つの結合部は、ワイヤレス結合部、有線結合部、混成ワイヤレス/有線結合部のうち少なくとも1つである、システム。
- 差異ファイルの発生において用いる装置であって、
電子ファイルの元バージョンおよび新バージョンを受信する手段と、
前記元および新バージョンに共通のコードのユニットを特定する手段と、
前記コードのユニットに共通の命令を特定する手段であって、前記命令が、前記対応するファイルの別の部分に対する処理を指令する命令値を含む、手段と、
前記元バージョンの第1命令から第1命令値を発生する手段と、
前記新バージョンの第2命令から第2命令値を発生する手段であって、前記第2命令が前記第1命令に対応する、手段と、
前記第1命令の第1命令値を前記第2命令値と置換する手段と、
前記第2命令値をもつ前記第1命令を含む前記元ファイルの修正バージョンを発生する手段と、
を備えている、装置。 - 電子ファイルの元バージョンと新バージョンとの間のコード化した差異を含む差異ファイルのサイズを縮小する方法であって、
コード・ライン削除、コード・ライン追加、およびコード・ライン修正のうち少なくとも1つから生じたアドレスのずれに対応する前記元および新バージョン間の差異を特定するステップと、
前記元バージョンのテキスト・セクションと前記新バージョンの対応するテキスト・セクションのアドレス間の少なくとも1つの関係を用いて、前記元バージョンの命令の目標アドレスを修正することによって、前記元および新バージョンに共通なテキスト・セクションにおいて前記特定した差異を除去するステップと、
修正した目標アドレスを有する命令を含む前記元ファイルの修正バージョンを発生するステップと、
を備えている、方法。 - 請求項8記載の方法において、除去するステップは、更に、
前記元および新バージョン間で共通の第1および第2テキスト・セクションを特定するステップであって、前記元バージョンにおける第1テキスト・セクションは第1計算可能命令を含み、前記新バージョンにおける第2テキスト・セクションは第2計算可能命令を含む、ステップと、
前記元および新バージョン間で共通の第3および第4テキスト・セクションを特定するステップであって、前記元バージョンにおける第3テキスト・セクションは前記第1計算可能命令に対応する第1目標アドレスを含み、前記新バージョンにおける第4テキスト・セクションは前記第2計算可能命令に対応する第2目標アドレスを含む、ステップと、
前記第3および第4関数ユニットの開始アドレス間の第1の差異、ならびに前記第1および第2関数ユニットの開始アドレス間における第2の差異を用いて前記第1命令値を修正することによって、前記第2計算可能命令から第2命令値を発生するステップと、
前記第1計算可能命令の第1命令値を前記第2命令値と置換するステップと、
を備えている、方法。 - 請求項8記載の方法であって、更に、前記元バージョンにおけるデータ・ポインタを修正することによって、前記元および新バージョンに共通なデータ・セクションを指し示すデータ・ポインタを含む命令において特定した差異を除去するステップを備えており、データ・ポインタ値の修正には、現データ・ポインタが指し示す前記元バージョンにおけるデータ・セクションの開始アドレスと、前記新バージョンにおける対応するデータ・セクションの開始アドレスとの間の差異を用いる、方法。
- 請求項10記載の方法において、データ・ポインタを含む命令において特定した差異を除去するステップは、更に、
前記元および新バージョン間に共通の第1および第2コード・セグメントを特定するステップであって、前記元バージョンにおける第1コード・セグメントは第1データ・ポインタを含み、前記新バージョンにおける第2コード・セグメントは第2データ・ポインタを含む、ステップと、
前記元および新バージョン間で共通の第1および第2データ・ユニットを特定するステップであって、前記元バージョンにおける第1データ・ユニットは、前記第1データ・ポインタに対応する第1目標アドレスを含み、前記新バージョンにおける第2データ・ユニットは、前記第2データ・ポインタに対応する第2目標アドレスを含み、ステップと、
前記第2データ・ポインタから第2データ・ポインタ値を発生するステップと、
前記第1データ・ポインタの第1データ・ポインタ値を前記第2データ・ポインタ値と置換するステップと、
を備えている、方法。 - 請求項11記載の方法において、前記第2データ・ポインタ値を発生するステップは、前記第1および第2データ・ユニットの開始アドレス間の差異を用いて、第1データ・ポインタ値を修正するステップを含む、方法。
- 請求項10記載の方法であって、更に、修正データ・ポインタを有する前記命令を含む前記元ファイルの修正バージョンを発生するステップを備えている、方法。
- 請求項10記載の方法であって、更に、共通データ・ブロックを形成するために共通データ・ユニットを併合するステップを含む、方法。
- 請求項14記載の方法において、併合するステップは、
前記元バージョンの第1データ・ユニットが前記新バージョンの第1データ・ユニットに等しいサイズを有し、前記元バージョンの第1データ・ユニットの終了アドレスが前記元バージョンの第2データ・ユニットの開始アドレスに等しく、かつ前記新バージョンの第1データ・ユニットの終了アドレスが前記新バージョンの第2データ・ユニットの開始アドレスに等しい場合、共通データ・ブロックを形成するために、前記元バージョンの第1および第2データ・ユニットを結合し、前記新バージョンの対応する第1および第2データ・ユニットを結合するステップと、
追加の併合可能データ・ユニットについて前記結合動作を繰り返すステップと、
を備えている、方法。 - 請求項15記載の方法であって、更に、共通関数ブロックを形成するために、共通テキスト・セクションを併合するステップを含む、方法。
- 請求項16記載の方法において、併合するステップは、
前記元バージョンの第1テキスト・セクションが前記新バージョンの第1テキスト・セクションに等しいサイズを有し、前記元バージョンの第1テキスト・セクションの終了アドレスが、前記元バージョンの第2テキスト・セクションの開始アドレスに等しく、かつ前記新バージョンの第1テキスト・セクションの終了アドレスが前記新バージョンの第2テキスト・セクションの開始アドレスに等しい場合、共通関数ブロックを形成するために、前記元バージョンの第1および第2テキスト・セクションを結合し、前記新バージョンの対応する第1および第2テキスト・セクションを結合するステップと、
追加の併合可能データ・ユニットについて前記結合動作を繰り返すステップと、
を備えている、方法。 - ファイルの差別化を実行するための方法であって、
電子ファイルの元バージョンおよび新バージョンを受信するステップと、
前記元および新バージョンに共通のコードのユニットを特定するステップと、
前記コードのユニットに共通の命令を特定するステップであって、前記命令が前記対応するファイルの別の部分に関係する命令値を含む、ステップと、
前記元バージョンの第1命令から第1命令値をデコードするステップと、
前記新バージョンの第2命令から第2命令値を発生するステップであって、前記第2命令が前記第1命令に対応する、ステップと、
前記第1命令の第1命令値を前記第2命令値と置換するステップと、
前記第2命令値をもつ前記第1命令を含む元ファイルの修正バージョンを発生するステップと、
を備えている、方法。 - 請求項18記載の方法であって、更に、関連するマップ・ファイルから共通するコードのユニットを抽出するステップを備えており、前記共通するコードのユニットは、共通関数ユニットおよび共通データ・ユニットを含む、方法。
- 請求項18記載の方法であって、更に、共通関数ブロックを形成するために、前記コードのユニットの共通関数ユニットを併合するステップを含む、方法。
- 請求項20記載の方法において、併合するステップは、
前記元バージョンの第1関数ユニットが前記新バージョンの第1関数ユニットに等しいサイズを有し、前記元バージョンの第1関数ユニットの終了アドレスが前記元バージョンの第2関数ユニットの開始アドレスに等しく、かつ前記新バージョンの第1関数ユニットの終了アドレスが前記新バージョンの第2関数ユニットの開始アドレスに等しい場合、共通関数ブロックを形成するために、前記元バージョンの第1および第2関数ユニットを結合し、前記新バージョンの対応する第1および第2関数ユニットを結合するステップと、
追加の併合可能な関数ユニットについて前記結合動作を繰り返すステップと、
を備えている、方法。 - 請求項20記載の方法であって、更に、前記共通関数ブロックをエンコードするステップを含む、方法。
- 請求項18記載の方法であって、更に、共通データ・ブロックを形成するために、前記コードのユニットの共通データ・ユニットを併合するステップを含む、方法。
- 請求項23記載の方法において、併合するステップは、
前記元バージョンの第1データ・ユニットが前記新バージョンの第1データ・ユニットに等しいサイズを有し、前記元バージョンの第1データ・ユニットの終了アドレスが前記元バージョンの第2データ・ユニットの開始アドレスに等しく、かつ前記新バージョンの第1データ・ユニットの終了アドレスが、前記新バージョンの第2データ・ユニットの開始アドレスに等しい場合、共通データ・ブロックを形成するために、前記元バージョンの第1および第2データ・ユニットを結合し、前記新バージョンの対応する第1および第2データ・ユニットを結合するステップと、
追加の併合可能なデータ・ユニットについて前記結合動作を繰り返すステップと、
を備えている、方法。 - 請求項23記載の方法であって、更に、前記共通データ・ブロックを併合するステップを含む、方法。
- 請求項18記載の方法において、前記元および新バージョンに共通の前記コードのユニットは共通関数ユニットであり、前記第1命令は第1計算可能命令を含み、前記第2命令は第2計算可能命令を含み、前記第2命令値をの発生は、目標アドレスを含む前記元および新バージョンの共通関数ユニットの開始アドレス間の第1の差異を用い、更に第1および第2計算可能命令を含む前記共通関数ユニットの開始アドレス間の第2の差異を用いて、前記第1命令値を修正することを含む、方法。
- 請求項18記載の方法において、前記コードのユニットは、関数ユニットを含む、方法。
- 請求項27記載の方法において、前記第1命令値を発生するステップは、前記第1計算可能命令の現命令アドレスと、前記第1計算可能命令の目標アドレスとの間の差異を発生するステップを含む、方法。
- 請求項27記載の方法において、前記第2命令値を発生するステップは、
前記第1計算可能命令の現命令アドレスと、前記第1計算可能命令の目標アドレスとの間の差異を発生するステップと、
前記新バージョンの第1共通関数ユニットの開始アドレスと、前記元バージョンの対応する第1共通関数ユニットの開始アドレスとの間の差異を発生するステップと、
前記新バージョンの第2共通関数ユニットの開始アドレスと、前記元バージョンの対応する第2共通関数ユニットの開始アドレスとの間の差異を発生するステップと、
を含む、方法。 - 請求項18記載の方法において、前記コードのユニットは、データ・ユニットを含み、前記命令はデータ・ポインタを含む、方法。
- 請求項18記載の方法において、前記元および新バージョンに共通の前記コードのユニットは共通データ・ユニットであり、前記第1命令は第1データ・ポインタを含み、前記第2命令は第2データ・ポインタを含み、前記第1命令値は第1データ・ポインタ値を含み、前記第2命令値は第2データ・ポインタ値を含み、前記第2命令値の発生は、前記第1および第2データ・ユニットの開始アドレス間の差異を用いて前記第1データ・ポインタ値を修正することにより、第2データ・ポインタ値を発生することを含む、方法。
- 請求項18記載の方法であって、更に、前記元ファイルおよび前記新ファイルの修正バージョン間でファイルの差別化を行い、差異ファイルを発生するステップを含む、方法。
- 請求項32記載の方法であって、更に、
前記差異ファイルを携帯処理システムに転送するステップと、
前記携帯処理システムにおいて、前記差異ファイルを用いて前記新ファイルの一バージョンを発生するステップと、
を備えている、方法。 - 請求項33記載の方法であって、更に、
共通関数ブロックを形成するために、前記コードのユニットの共通関数ユニットを併合するステップと、
共通データ・ブロックを形成するために、前記コードのユニットの共通データ・ユニットを併合するステップと、
前記携帯処理システムにおいて前記新ファイルのバージョンの発生に用いるために、前記共通関数ブロックおよび前記共通データ・ブロックをエンコードするステップと、
を備えている、方法。 - 電子ファイル間の差異を判定するための方法であって、
電子ファイルの元バージョンおよび新バージョンを受信するステップと、
前記元および新バージョン間で共通の第1および第2の関数ユニットを特定するステップであって、前記元バージョンにおける第1関数ユニットは第1計算可能命令を含み、前記新バージョンにおける第2関数ユニットは第2計算可能命令を含む、ステップと、
前記元および新バージョン間で共通の第3および第4の関数ユニットを特定するステップであって、前記元バージョンにおける第3関数ユニットは前記第1計算可能命令に対応する第1目標アドレスを含み、前記新バージョンにおける第4関数ユニットは、前記第2計算可能命令に対応する第2目標アドレスを含む、ステップと、
前記第2計算可能命令から、第2命令値を発生するステップと、
前記第1計算可能命令の第1命令値を前記第2命令値と置換するステップと、
前記第2命令値をもつ前記第1命令を含む前記元ファイルの修正バージョンを発生するステップと、
を備えている、方法。 - 請求項35記載の方法において、前記第2命令値を発生するステップは、前記第3および第4関数ユニットの開始アドレス間の第1の差異を用い、更に前記第1および第2関数ユニットの開始アドレス間の第2の差異を用いて、前記第1命令値を修正するステップを含む、方法。
- 請求項35記載の方法であって、更に、
前記元および新バージョン間で共通の第1および第2コード・セグメントを特定するステップであって、前記元バージョンにおける第1コード・セグメントは第1データ・ポインタを含み、前記新バージョンにおける第2コード・セグメントは第2データ・ポインタを含む、ステップと、
前記元および新バージョン間で共通の第1および第2データ・ユニットを特定するステップであって、前記元バージョンにおける第1データ・ユニットは、前記第1データ・ポインタに対応する第1目標アドレスを含み、前記新バージョンにおける第2データ・ユニットは、前記第2データ・ポインタに対応する第2目標アドレスを含む、ステップと、
前記第2データ・ポインタから第2データ・ポインタ値を発生するステップと、
前記第1データ・ポインタの第1データ・ポインタ値を前記第2データ・ポインタ値と置換するステップと、
前記第2データ・ポインタ値をもつ前記第1データ・ポインタを含む前記元ファイルの修正バージョンを発生するステップと、
を備えている、方法。 - 請求項37記載の方法において、前記第2データ・ポインタ値を発生するステップは、現データ・ポインタが指し示す前記元バージョンにおけるデータ・セクションの開始アドレスと、前記新バージョンにおける対応するデータ・セクションの開始アドレスとの間の差異を発生するステップを備えている、方法。
- 請求項35記載の方法であって、更に、共通関数ブロックを形成するために共通関数ユニットを併合するステップを備えている、方法。
- 請求項35記載の方法であって、更に、共通データ・ブロックを形成するために共通データ・ユニットを併合するステップを備えている、方法。
- 請求項35記載の方法であって、更に、前記元ファイルおよび前記新ファイルの更新バージョンを用いて差異ファイルを発生するステップを備えている、方法。
- 請求項41記載の方法であって、更に、
前記差異ファイルを携帯処理システムに転送するステップと、
前記携帯処理システムにおいて、前記差異ファイルを用いて前記新ファイルの一バージョンを発生するステップと、
を備えている、方法。 - 実行可能命令を含むコンピュータ読み取り可能媒体であって、処理システムにおいて実行すると、
コード・ライン削除、コード・ライン追加、およびコード・ライン修正のうち少なくとも1つから生じたアドレスのずれに対応する前記元および新バージョン間の差異を特定し、
前記元バージョンのテキスト・セクションと前記新バージョンの対応するテキスト・セクションのアドレス間の少なくとも1つの関係を用いて、前記元バージョンの命令の目標アドレスを修正することによって、前記元および新バージョンに共通なテキスト・セクションにおいて前記特定した差異を除去し、
修正した目標アドレスを有する命令を含む前記元ファイルの修正バージョンを発生する、
ことによって、電子ファイルの元バージョンと新バージョンとの間のコード化差異を含む差異ファイルのサイズを縮小する、コンピュータ読み取り媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/600,978 | 2003-06-20 | ||
US10/600,978 US7089270B2 (en) | 2003-06-20 | 2003-06-20 | Processing software images for use in generating difference files |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517128A Division JP2007521566A (ja) | 2003-06-20 | 2004-05-19 | 差異ファイルの生成において用いるためのソフトウェア画像の処理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010176699A true JP2010176699A (ja) | 2010-08-12 |
JP5261433B2 JP5261433B2 (ja) | 2013-08-14 |
Family
ID=33517863
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517128A Withdrawn JP2007521566A (ja) | 2003-06-20 | 2004-05-19 | 差異ファイルの生成において用いるためのソフトウェア画像の処理 |
JP2010086127A Expired - Fee Related JP5261433B2 (ja) | 2003-06-20 | 2010-04-02 | 電子ファイルを更新するためのシステムおよび電子ファイルの差異ファイルのサイズを縮小する方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517128A Withdrawn JP2007521566A (ja) | 2003-06-20 | 2004-05-19 | 差異ファイルの生成において用いるためのソフトウェア画像の処理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7089270B2 (ja) |
EP (1) | EP1639472A4 (ja) |
JP (2) | JP2007521566A (ja) |
KR (1) | KR101132875B1 (ja) |
CN (1) | CN100472475C (ja) |
WO (1) | WO2005001696A1 (ja) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890464B2 (en) * | 2003-06-20 | 2011-02-15 | Innopath Software, Inc. | Processing software images and generating difference files |
EP2273361B1 (en) * | 2003-06-23 | 2012-09-19 | Red Bend Ltd. | Method and system for updating versions of content stored in a storage device |
EP1569102B1 (en) * | 2004-02-27 | 2010-04-28 | Telefonaktiebolaget LM Ericsson (publ) | Flash memory programming |
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 |
US7484051B2 (en) * | 2004-06-14 | 2009-01-27 | International Business Machines Corporation | Apparatus, system and method for reliably updating a data group in a read-before-write data replication environment using a comparison file |
US7580959B2 (en) * | 2004-06-14 | 2009-08-25 | International Business Machines Corporation | Apparatus, system, and method for providing efficient disaster recovery storage of data using differencing |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
KR100917064B1 (ko) * | 2004-11-08 | 2009-09-15 | 이노패스 소프트웨어, 아이엔시. | 정적 파일 시스템 디프런싱 및 업데이트 방법, 장치,시스템 |
US7792930B1 (en) * | 2004-11-10 | 2010-09-07 | Juniper Networks, Inc. | Network device configuration using separate logic and version-based configuration files |
US7523450B2 (en) * | 2004-11-15 | 2009-04-21 | International Business Machines Corporation | Apparatus, system, and method for identifying fixed memory address errors in source code at build time |
US20060117075A1 (en) * | 2004-12-01 | 2006-06-01 | International Business Machines Corporation | Prerequisite, dependent and atomic deltas |
US20060136520A1 (en) * | 2004-12-17 | 2006-06-22 | Nokia Corporation | Apparatus, method and computer program to provide metadata-based data transfer from one mobile terminal to another mobile terminal |
US7516206B2 (en) * | 2005-01-28 | 2009-04-07 | Cassatt Corporation | Management of software images for computing nodes of a distributed computing system |
US8387037B2 (en) * | 2005-01-28 | 2013-02-26 | Ca, Inc. | Updating software images associated with a distributed computing system |
US7454427B2 (en) * | 2005-01-31 | 2008-11-18 | Cassatt Corporation | Autonomic control of a distributed computing system using rule-based sensor definitions |
US7685148B2 (en) * | 2005-01-31 | 2010-03-23 | Computer Associates Think, Inc. | Automatically configuring a distributed computing system according to a hierarchical model |
US7680799B2 (en) * | 2005-01-31 | 2010-03-16 | Computer Associates Think, Inc. | Autonomic control of a distributed computing system in accordance with a hierarchical model |
US7478097B2 (en) | 2005-01-31 | 2009-01-13 | Cassatt Corporation | Application governor providing application-level autonomic control within a distributed computing system |
EP1691282A1 (en) * | 2005-02-11 | 2006-08-16 | Biftone Corporation | Build optimizer tool for efficient management of software builds for mobile devices |
US7590653B2 (en) * | 2005-03-02 | 2009-09-15 | Cassatt Corporation | Automated discovery and inventory of nodes within an autonomic distributed computing system |
US8719786B2 (en) * | 2005-03-30 | 2014-05-06 | Alcatel Lucent | Method for performing conditionalized N-way merging of source code |
EP1755034B1 (en) * | 2005-08-18 | 2017-01-18 | Telefonaktiebolaget LM Ericsson (publ) | Object code generation for increasing the performance of delta files |
US20070130232A1 (en) * | 2005-11-22 | 2007-06-07 | Therrien David G | Method and apparatus for efficiently storing and managing historical versions and replicas of computer data files |
US7735075B2 (en) * | 2005-12-01 | 2010-06-08 | Samsung Electronics Co., Ltd. | System and method for a pseudo dynamic link library (DLL) linker for a monolithic image in a wireless device |
EP1793311A3 (en) * | 2005-12-01 | 2007-08-29 | Samsung Electronics Co., Ltd. | System and method for a patch minimization tool |
US8140624B2 (en) * | 2005-12-01 | 2012-03-20 | Computer Associates Think, Inc. | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
US7634517B1 (en) * | 2006-02-10 | 2009-12-15 | Google Inc. | System and method for dynamically updating a document repository without interrupting concurrent querying |
US8572138B2 (en) * | 2006-03-30 | 2013-10-29 | Ca, Inc. | Distributed computing system having autonomic deployment of virtual machine disk images |
WO2007146710A2 (en) | 2006-06-08 | 2007-12-21 | Hewlett-Packard Development Company, L.P. | Device management in a network |
EP2047420A4 (en) | 2006-07-27 | 2009-11-18 | Hewlett Packard Development Co | USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE |
JP4262276B2 (ja) * | 2006-12-20 | 2009-05-13 | キヤノン株式会社 | 画像処理装置、その制御方法、プログラム、記憶媒体 |
JP2008226167A (ja) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | データ配布システム及びデータ配布プログラム |
US20080275895A1 (en) * | 2007-05-03 | 2008-11-06 | Leroux Daniel D | Method, system, and program product for aligning models |
US8301740B2 (en) * | 2007-06-27 | 2012-10-30 | Ca, Inc. | Autonomic control of a distributed computing system using dynamically assembled resource chains |
US7895317B2 (en) | 2007-06-27 | 2011-02-22 | Computer Associates Think, Inc. | Autonomic control of a distributed computing system using finite state machines |
KR101126797B1 (ko) * | 2008-12-15 | 2012-03-29 | 한국전자통신연구원 | 센서 노드의 업데이트를 수행하는 업데이트 서버 및 센서 노드, 센서 노드의 업데이트 방법 |
US8612961B2 (en) * | 2008-12-31 | 2013-12-17 | Motorola Mobility Llc | System and method for downloading software upgrades |
JP2011028321A (ja) * | 2009-07-21 | 2011-02-10 | Mitsubishi Electric Corp | 差分情報生成装置、差分情報生成方法および差分情報生成プログラム |
JP5478986B2 (ja) * | 2009-08-21 | 2014-04-23 | 株式会社日立ソリューションズ | 情報機器及びプログラム |
US8498965B1 (en) * | 2010-02-22 | 2013-07-30 | Trend Micro Incorporated | Methods and apparatus for generating difference files |
TWI416373B (zh) * | 2010-03-25 | 2013-11-21 | Wistron Corp | 鍵盤定義更新方法及電腦系統 |
WO2011136809A1 (en) * | 2010-04-30 | 2011-11-03 | Hewlett-Packard Development Company, L.P. | Preprocessor for file updating |
US9652440B2 (en) | 2010-05-27 | 2017-05-16 | Microsoft Technology Licensing, Llc | Concurrent utilization of a document by multiple threads |
US8555161B2 (en) * | 2010-05-27 | 2013-10-08 | Microsoft Corporation | Concurrent editing of a document by multiple clients |
CN101916194B (zh) * | 2010-06-01 | 2013-06-12 | 浙江大学 | 一种无线传感网节点程序的部署方法 |
US8719239B2 (en) | 2010-07-16 | 2014-05-06 | International Business Machines Corporation | Displaying changes to versioned files |
WO2012033498A1 (en) * | 2010-09-10 | 2012-03-15 | Hewlett-Packard Development Company, L.P. | Systems and methods for data compression |
CN102053855B (zh) * | 2010-12-13 | 2014-03-05 | 浪潮(北京)电子信息产业有限公司 | 一种软件的生成***及方法 |
US8473504B2 (en) * | 2011-05-12 | 2013-06-25 | Samsung Electronics Co., Ltd. | Stabilized binary differencing |
WO2012119407A1 (zh) * | 2011-08-23 | 2012-09-13 | 华为技术有限公司 | 文档更新方法和装置 |
CN103294658B (zh) * | 2012-03-02 | 2016-07-13 | 北大方正集团有限公司 | 一种文档保存方法及装置 |
US20140033188A1 (en) * | 2012-07-26 | 2014-01-30 | Microsoft Corporation | System updates from cloud blob storage using vhd differentials |
US9098513B1 (en) | 2012-08-27 | 2015-08-04 | Trend Micro Incorporated | Methods and systems for differencing orderly dependent files |
KR101992191B1 (ko) * | 2012-11-01 | 2019-06-24 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
CN103336703B (zh) * | 2013-07-08 | 2018-09-18 | 惠州Tcl移动通信有限公司 | 生成升级包的方法、服务器、软件升级方法、移动终端 |
KR102124803B1 (ko) * | 2013-07-23 | 2020-06-22 | 엘지전자 주식회사 | 델타 파일을 생성하는 장치 및 방법과, 그 델타 파일을 이용하여 펌웨어를 업그레이드하는 수신 단말 및 그 업그레이드 방법 |
CN103713928B (zh) * | 2013-12-31 | 2017-02-22 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN103942143B (zh) * | 2014-04-09 | 2017-03-15 | 烽火通信科技股份有限公司 | 一种基于版本库比较的PC‑Lint代码检查结果筛选方法 |
KR101599133B1 (ko) | 2014-06-09 | 2016-03-15 | 주식회사 엔지스테크널러지 | 네비게이션 장치의 지도 데이터 제공 방법 및 시스템 |
US10191477B2 (en) * | 2015-10-30 | 2019-01-29 | Yokogawa Electric Corporation | System and method for modification management of a configuration system |
EP3299956A1 (de) * | 2016-09-26 | 2018-03-28 | Siemens Aktiengesellschaft | Verfahren und anordnung zur aktualisierung eines computerprogramms |
CN106406918B (zh) * | 2016-11-25 | 2020-02-28 | 华胜信泰信息产业发展有限公司 | 源代码自动合并方法和源代码自动合并装置 |
CN106657361B (zh) * | 2016-12-30 | 2019-09-13 | 歌尔科技有限公司 | 一种代码添加混淆的安卓安装包ota升级方法 |
WO2018209705A1 (zh) * | 2017-05-19 | 2018-11-22 | 深圳配天智能技术研究院有限公司 | 嵌入式***中管理文件的方法、嵌入式设备及其存储介质 |
US20190095187A1 (en) * | 2017-09-28 | 2019-03-28 | Trillium Incorporated | Incremental updates in static libraries |
CN108572834B (zh) * | 2018-04-16 | 2023-12-12 | 深圳市雅阅科技有限公司 | 一种浏览器的升级方法和装置 |
US11579578B2 (en) * | 2020-03-26 | 2023-02-14 | Honeywell International Inc. | Hierarchal controller logic with incremental updates |
CN113625995A (zh) * | 2020-05-07 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种自适应获取数据的方法和装置 |
US11429360B1 (en) * | 2021-05-17 | 2022-08-30 | International Business Machines Corporation | Computer assisted programming with targeted visual feedback |
US11782687B1 (en) * | 2022-10-21 | 2023-10-10 | Aurora Labs Ltd. | Shrinking executable files based on function analysis |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274384A (ja) * | 1993-03-22 | 1994-09-30 | N T T Data Tsushin Kk | 実行ファイル差分抽出/更新装置及び実行ファイル差分抽出方法 |
US6401239B1 (en) * | 1999-03-22 | 2002-06-04 | B.I.S. Advanced Software Systems Ltd. | System and method for quick downloading of electronic files |
JP2002523825A (ja) * | 1998-08-19 | 2002-07-30 | レッド・ベンド・リミテツド | 内部レフアレンスを含むデータ表の2つのバージヨン間の差分抽出方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5479654A (en) * | 1990-04-26 | 1995-12-26 | Squibb Data Systems, Inc. | Apparatus and method for reconstructing a file from a difference signature and an original file |
US5742905A (en) * | 1994-09-19 | 1998-04-21 | Bell Communications Research, Inc. | Personal communications internetworking |
US5574906A (en) * | 1994-10-24 | 1996-11-12 | International Business Machines Corporation | System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing |
US5832520A (en) * | 1996-07-03 | 1998-11-03 | Miller, Call, Plauck And Miller | Automatic file differencing and updating system |
US6308061B1 (en) * | 1996-08-07 | 2001-10-23 | Telxon Corporation | Wireless software upgrades with version control |
US6374250B2 (en) * | 1997-02-03 | 2002-04-16 | International Business Machines Corporation | System and method for differential compression of data from a plurality of binary sources |
EP1005674A4 (en) * | 1997-07-15 | 2002-03-13 | Pocket Soft Inc | SYSTEM FOR DETECTING DIFFERENCES BETWEEN TWO COMPUTER FILES AND UPDATING OF COMPUTER FILES |
US6018747A (en) * | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US20010049263A1 (en) * | 1998-03-26 | 2001-12-06 | Xiang Zhang | Automatic station/system configuration monitoring and error tracking system and software upgrade tool kit |
US6088694A (en) * | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
US6233589B1 (en) * | 1998-07-31 | 2001-05-15 | Novell, Inc. | Method and system for reflecting differences between two files |
GB2343768A (en) * | 1998-08-17 | 2000-05-17 | Connected Place Limited | Merging a sequence of delta files |
US6167258A (en) * | 1998-10-09 | 2000-12-26 | Cleveland Medical Devices Inc. | Programmable wireless data acquisition system |
US6327671B1 (en) * | 1998-11-18 | 2001-12-04 | International Business Machines Corporation | Delta compressed asynchronous remote copy |
US6349311B1 (en) * | 1999-02-01 | 2002-02-19 | Symantec Corporation | Storage of reverse delta updates |
IL129947A (en) * | 1999-05-13 | 2003-06-24 | Tadiran Telecom Business Syste | Method and apparatus for downloading software into an embedded system |
US6694336B1 (en) * | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
US6651190B1 (en) * | 2000-03-14 | 2003-11-18 | A. Worley | Independent remote computer maintenance device |
US6535894B1 (en) * | 2000-06-01 | 2003-03-18 | Sun Microsystems, Inc. | Apparatus and method for incremental updating of archive files |
JP2004501451A (ja) * | 2000-06-22 | 2004-01-15 | シンクロロジック インコーポレイテッド | ファイル差分を使用するファイル送信システムおよび方法 |
US6470329B1 (en) * | 2000-07-11 | 2002-10-22 | Sun Microsystems, Inc. | One-way hash functions for distributed data synchronization |
US20020099726A1 (en) * | 2001-01-23 | 2002-07-25 | International Business Machines Corporation | Method and system for distribution of file updates |
US20020129107A1 (en) * | 2001-03-12 | 2002-09-12 | Loughran Stephen A. | Method and apparatus for automatic content handling |
US6925467B2 (en) * | 2002-05-13 | 2005-08-02 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms |
US7096311B2 (en) * | 2002-09-30 | 2006-08-22 | Innopath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms |
US6836657B2 (en) * | 2002-11-12 | 2004-12-28 | Innopath Software, Inc. | Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade |
US20040098421A1 (en) * | 2002-11-18 | 2004-05-20 | Luosheng Peng | Scheduling updates of electronic files |
US20040098361A1 (en) * | 2002-11-18 | 2004-05-20 | Luosheng Peng | Managing electronic file updates on client devices |
US7007049B2 (en) * | 2002-11-18 | 2006-02-28 | Innopath Software, Inc. | Device memory management during electronic file updating |
US7320010B2 (en) * | 2002-11-18 | 2008-01-15 | Innopath Software, Inc. | Controlling updates of electronic files |
US7003534B2 (en) * | 2002-11-18 | 2006-02-21 | Innopath Software, Inc. | Generating difference files using module information of embedded software components |
US7099884B2 (en) * | 2002-12-06 | 2006-08-29 | Innopath Software | System and method for data compression and decompression |
-
2003
- 2003-06-20 US US10/600,978 patent/US7089270B2/en not_active Expired - Lifetime
-
2004
- 2004-05-19 KR KR1020057024453A patent/KR101132875B1/ko active IP Right Grant
- 2004-05-19 EP EP04752794A patent/EP1639472A4/en not_active Withdrawn
- 2004-05-19 JP JP2006517128A patent/JP2007521566A/ja not_active Withdrawn
- 2004-05-19 WO PCT/US2004/015843 patent/WO2005001696A1/en active Application Filing
- 2004-05-19 CN CNB2004800173170A patent/CN100472475C/zh not_active Expired - Fee Related
-
2010
- 2010-04-02 JP JP2010086127A patent/JP5261433B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274384A (ja) * | 1993-03-22 | 1994-09-30 | N T T Data Tsushin Kk | 実行ファイル差分抽出/更新装置及び実行ファイル差分抽出方法 |
JP2002523825A (ja) * | 1998-08-19 | 2002-07-30 | レッド・ベンド・リミテツド | 内部レフアレンスを含むデータ表の2つのバージヨン間の差分抽出方法 |
US6401239B1 (en) * | 1999-03-22 | 2002-06-04 | B.I.S. Advanced Software Systems Ltd. | System and method for quick downloading of electronic files |
Non-Patent Citations (1)
Title |
---|
JPN6009050881; Benda S. Baker, Udi Manber, and Robert Muth.: 'Compressing differences of executable code' ACM SIGPLAN Workshop on Compiler Support for System Software , 199904, pp.1-10 * |
Also Published As
Publication number | Publication date |
---|---|
JP5261433B2 (ja) | 2013-08-14 |
JP2007521566A (ja) | 2007-08-02 |
US7089270B2 (en) | 2006-08-08 |
US20040260734A1 (en) | 2004-12-23 |
KR20060026880A (ko) | 2006-03-24 |
EP1639472A1 (en) | 2006-03-29 |
KR101132875B1 (ko) | 2012-04-03 |
WO2005001696A1 (en) | 2005-01-06 |
CN100472475C (zh) | 2009-03-25 |
EP1639472A4 (en) | 2009-01-07 |
CN1809818A (zh) | 2006-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5261433B2 (ja) | 電子ファイルを更新するためのシステムおよび電子ファイルの差異ファイルのサイズを縮小する方法 | |
US7890464B2 (en) | Processing software images and generating difference files | |
US20050010576A1 (en) | File differencing and updating engines | |
US7676506B2 (en) | Differential file compression of software image versions | |
US7031972B2 (en) | Algorithms for block-level code alignment of software binary files | |
US20050010870A1 (en) | Post-processing algorithm for byte-level file differencing | |
US8156071B2 (en) | Byte-level file differencing and updating algorithms | |
KR100949855B1 (ko) | 파일 시스템 이미지를 디퍼런싱하기 위한 장치, 시스템, 방법 및 컴퓨터 판독가능형 매체 | |
JP2004152136A (ja) | データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム | |
US20060200502A1 (en) | Differential data creating device and method, updated data recovery device and method, and program | |
CN111522574B (zh) | 差分包生成方法及相关设备 | |
US20080301654A1 (en) | Program processing apparatus, program processing method and computer readable information recording medium | |
Kiyohara et al. | A delta representation scheme for updating between versions of mobile phone software | |
CN101297275A (zh) | 处理软件镜像并产生差异文件 | |
CN117707652B (zh) | 数据编译、参数传递方法及装置 | |
JP2006166388A (ja) | 空白となるビット列の前方配置による境界相殺方法 | |
WO2007133559A9 (en) | Processing of compact functional differences | |
CN118153491A (zh) | 芯片设计代码处理方法、装置以及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100430 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120402 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120702 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121002 |
|
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: 20130329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130426 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5261433 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |