JP2009510544A - ソフトウェアイメージを生成する解凍技術 - Google Patents

ソフトウェアイメージを生成する解凍技術 Download PDF

Info

Publication number
JP2009510544A
JP2009510544A JP2008519308A JP2008519308A JP2009510544A JP 2009510544 A JP2009510544 A JP 2009510544A JP 2008519308 A JP2008519308 A JP 2008519308A JP 2008519308 A JP2008519308 A JP 2008519308A JP 2009510544 A JP2009510544 A JP 2009510544A
Authority
JP
Japan
Prior art keywords
record
compressed
records
uncompressed data
file
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.)
Pending
Application number
JP2008519308A
Other languages
English (en)
Inventor
グッドリッチ スティーブン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2009510544A publication Critical patent/JP2009510544A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

低容量のデータストレージの利用を最大にしつつ、解凍時間を最小にする改良された圧縮および解凍技術である。一実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと、オリジナルの複数のレコードの圧縮イメージを含む1つのレコードとを生成するように、圧縮される。実行すると、レコードは解凍され、また、解凍部が所望の宛先に解凍したレコードを直接配置できるようにするために、宛先アドレスに対応する圧縮イメージの一部が解凍される。本発明の別の実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと複数の圧縮されたレコードとを生成するように、個別に圧縮される。実行すると、ファイルヘッダと宛先アドレスに対応する個々のレコードの一部は、解凍部が個々のレコードを所望の場所に直接配置できるようにするために、解凍される。本発明の様々な実施形態は、低容量の非揮発性ストレージデバイス(コンパクトフラッシュメモリカードおよび低容量のハードドライブを含むが、これに限定するものではない)に格納されるソフトウェアイメージを圧縮および解凍するために用いることができる。個々のレコードは所望のメモリ位置に直接解凍されることから、実行時間が減らされ、性能が向上する。

Description

本発明は、情報処理システム分野に関する。一形態においては、本発明は情報処理システムのソフトウェアイメージを圧縮および解凍する改良された方法および装置に関する。
コンピュータシステムは、今日の社会において、多くの分野に情報管理能力を与えるために広く用いられている。
パソコンシステムは通常、システムプロセッサを備えたシステムユニット、関連する揮発性および不揮発性メモリ、ディスプレイモニタ、キーボード、固定ディスク記録装置、任意の取り外し可能記録装置、および任意のプリンタを含むマイクロコンピュータとして定義することができる。
このようなパソコンシステムは、シングルユーザ(あるいは、コンピュータサーバシステムとして機能するパソコンの場合は、グループユーザ)に主に独立演算能力を与えるように設計された情報処理システムであり、個人や中小企業の購入用に低価格にされている。
近年は、インターネット上で情報交換を行うために、パソコンの使用が著しく増加している。このような情報交換は、クライアント/サーバモデルに基づくものであり、ユーザのパソコンがクライアントとして動作している状態で、複数のインターネットサーバに記録されているデータにアクセスす。インターネットサービスプロバイダのなかには、インターネットサービスを供給するための契約関係の一環として、ユーザにコンピュータを提供するところもある。このような契約関係の一環として、インターネットサービスプロバイダは一般に、特定のユーザグループに対して作られた、カストマイズされたソフトウェアパッケージを提供する。
インターネットの利用は低所得国で成長していることから、パーソナルインターネットコミュニケータ(PIC:Personal Internet Communicator)として使用する低価格のコンピュータデバイスを供給することが求められる。低価格のコンピュータデバイスのなかには、オペレーティングシステムとソフトウェアアプリケーションファイルとを格納するように、低容量の非揮発性メモリを使用しているものもある。したがって、メモリの利用を最大にするために、このようなファイルを圧縮することが望ましい。さらに、低価格で低容量のハードドライブ上のストレージを最大にするためにファイル圧縮が用いられる。
圧縮技術によりストレージ容量の利用効率は高まるが、現在の解凍技術は相対的に非効率的である。例えば、一般に、現在の解凍技術においては、全体のソフトウェアイメージをメモリ中に解凍し、次の処理ステップで、解凍したファイルを目的の宛先にコピーしなければならない。その結果、低価格のコンピューティングデバイスで使用される低容量のメモリデバイスに格納するために、ソフトウェアファイルを圧縮し解凍する改良された方法と装置とが求められる。
本発明の方法および装置は、低容量のデータストレージの利用を最大にしつつ、解凍時間を最小にする改良された圧縮および解凍技術を提供する。本発明の一実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと、オリジナルの複数のレコードの圧縮イメージを含む1つのレコードとを生成するように、圧縮される。実行すると、レコードは解凍され、また、解凍部が所望の宛先に解凍したレコードを直接配置できるようにするために、宛先アドレスに対応する圧縮イメージの一部が解凍される。
本発明の別の実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと複数の圧縮されたレコードとを生成するように、個別に圧縮される。実行すると、ファイルヘッダと宛先アドレスに対応する個々のレコードの一部は、解凍部が個々のレコードを所望の場所に直接配置できるようにするために、解凍される。
本発明の様々な実施形態は、低容量の非揮発性ストレージデバイス(コンパクトフラッシュメモリカードおよび低容量のハードドライブを含むが、これに限定するものではない)に格納されるソフトウェアイメージを圧縮し解凍するために用いられる。個々のレコードは所望のメモリ位置に直接解凍されることから、実行時間が減らされ、性能が向上する。
本発明の目的、利点、およびその他の新たな特徴は、添付の請求項および添付の図面を読めば、以下の既述から当業者には明らかになるであろう。
本発明の例示的実施形態を以下に記述しているが、本発明を特定の詳細がなくても実施できることは明らかであろう。また、開発者における特定の目標を達成するため、システム的制限やビジネス的制限との摺り合せなど、多くの特定の実施の決定がなされる。それらは各実施形態によって様々に変化するものである。そのような開発努力は複雑で時間を消費するものであるのは当然のことであるが、それでもなお、この開示の恩恵を有する当業者にとっては通常作業の範疇に入るものである。例えば、本発明を曖昧なものにしないように、あるいは、制限しすぎないように、選択された形態は詳細に示さずにブロック図形式で示している。このような記述および表現は、当業者が、自身の作業の内容を他の当業者に効率的に伝えるために用いられているものである。以下に本発明を図面を参照しながら記載する。
図1に、例示的ネットワーク100のブロック図を示す。ここでは、複数のコンピュータシステム110、111、112は、1以上の通信ネットワーク140上で通信する。例示のように、各コンピュータシステム(例えば、110)は、マルチメディアアクセスデバイスあるいはパーソナルインターネットコミュニケータ(PIC)とも呼ばれるものであるが、このようなコンピュータシステムは、1以上の通信リンク122を介してインターネットサービスプロバイダ(ISP)120に動作可能に結合されている。インターネットサービスプロバイダ120は、インターネット140に接続される。さらに、インターネット140は、複数のウェブホストサーバ150、151、152に接続される。インターネット上の情報へのアクセスを希望するユーザはPIC(例えば、110)を使用し、ウェブブラウザとして周知の、PIC上に記録されたアプリケーションプログラムを実行する。
PIC110は通信ハードウェアおよびソフトウェアを含む。これにより、PIC110がインターネットサービスプロバイダ120への通信を送受信できるようにする。通信ハードウェアおよびソフトウェアにより、PIC110はインターネットサービスプロバイダ120との通信リンクを確立できるようになる。この通信リンクは、任意の様々な接続形式であってよく、例えば、有線接続、デジタル加入者回線(DSL)、T1、総合デジタル通信網(ISDN)などの直接接続、あるいはケーブル接続、セルラーネットワークや衛星ネットワークを介した無線接続、電話モデムダイアルアップアクセス、あるいは、イーサネットなどのローカルデータ伝送やローカルエリアネットワーク上でのトークンリングが挙げられる。
顧客が、ウェブブラウザにおいて命令を入力することで情報要求を入力する場合、PIC110は、特定のトピックに関連する文書や特定のウェブページの検索といった情報要求をインターネットサービスプロバイダ120に送信し、次に、インターネットサービスプロバイダ120はこの要求をインターネット140を介して適切なウェブホストサーバ150へ送る。インターネットサービスプロバイダ120は、ブラウザから送信された要求を受信し、読み取るソフトウェアを実行する。インターネットサービスプロバイダ120は、要求をモニタリングし、その特定のウェブサーバについての情報要求を提供し、その情報をユーザのPIC110へと送信するウェブサーバアプリケーションプログラムを実行する。
インターネット上の各ウェブホストサーバ150、151、152は、適切なウェブホストサーバに接続するためにユーザーがウェブブラウザに提供する周知のアドレスを有する。
ユーザのウェブホストサーバ150上で情報が入手できなければ、インターネット140は、ウェブサーバ150、151、152を、要求した情報を供給するために相互通信可能とするセントラルリンクとして機能する。ウェブサーバ150、151、152は1ページより多くのウェブページを含み得ることから、ユーザはさらに、自分が見たい特定のウェブページをアドレスにおいて特定することになる。サーバー上のホームページアドレスは、URL(ユニバーサルリソースロケータ)としても周知であるが、このアドレスは、サーバーおよびサーバー上のページ位置を示す一連の数字であって、郵便番号に類似している。簡素化のために、数字ではなく名前を使用してユーザがサーバおよび文書を特定可能であるドメインネームシステムが構築された。さらに、URLは、ドメインネームの終わりに付加的情報を含めることで、コンテンツプロバイダに属するページグループにおいて特定のページを指定することができる。
図2に、PIC110のブロック図を示す。PIC110は、プロセッサ202、入出力(I/O)制御装置204、メモリ(揮発性ランダムアクセスメモリ(RAM)206および不揮発性メモリ207を含む)、通信装置211(モデムなど)、およびディスプレイ214を含む。プロセッサ202、I/O制御装置204、メモリ206、および通信装置211は、1つ以上のバス212を介して相互接続される。選択された実施形態では、プロセッサ202はAMD Geode GX 32-bit x86互換プロセッサとして、メモリ206は128MBのDDRメモリとして、また、ディスプレイ214はCRTモニタとして実装される。加えて、不揮発性メモリ207は、最小容量が例えば10GBの内蔵型3.5インチハードディスクとして実装されるハードディスクドライブ209を備えてもよい。メモリ206、207のいずれか、あるいは両方をPIC110に内蔵してもよいし、外付けしてもよい。
通信装置211に関しては、世界中の様々な電話システムをサポートするために、外部コネクタを備えた内蔵型56k ITU v.92モデムを使用してもよい。これに限らず、その他のモデム(例えば、ソフトモデム)を使用してもよい。当然、明らかなように、プロセッサ202、メモリ206、207、ディスプレイ214および通信装置211に対してその他の装置構成を用いることができる。
明瞭化のため、および理解を容易にするために、PIC110を構成している全ての要素を詳細に記述していない。そのような詳細は当業者にとっては周知であり、また、特定のコンピュータベンダーやマイクロプロセッサのタイプに基づいて変化し得る。さらに、PIC110は所望する実装品に応じて、その他のバス、装置、および/あるいはサブシステムを含んでもよい。例えば、PIC110は、キャッシュ、モデム、パラレルあるいはシリアルインターフェース、SCSIインターフェース、ネットワークインターフェースカードなどを含んでもよい。
図2に示しているように、I/O制御装置204は、I/O装置205、例えば1以上のUSBポート、キーボード、マウス、オーディオスピーカなどに結合される。I/O制御装置204はさらに、コンパクトフラッシュメモリやその他の読み取り専用メモリ(ROM)208、および/あるいはハードディスクドライブ209などの不揮発性ストレージ207に結合される。本発明の各種実施形態では、コンパクトフラッシュ208やハードディスク209などの不揮発性ストレージ207の様々な構成要素は、オペレーティングシステムとその他のソフトウェアファイルの圧縮イメージを格納することができる。BIOS210の解凍部240は、このようなソフトウェアイメージを解凍し、解凍したファイルを目的の宛先に直接格納するように使用することができる。これについては以下に詳細を説明する。
PIC110は、モデムなどの通信装置211によって、通信ネットワーク122およびインターネット140に接続された状態で図示されているが、このような接続は当業者には周知の任意の所望のネットワーク通信装置によって確立されてもよい。図面では、プロセッサ202はディスプレイ装置214に直結されているが、プロセッサはディスプレイあるいはI/O制御装置を介して間接結合されてもよい。同様に、図面では、プロセッサはI/Oコントローラ204を介して不揮発性メモリ207に結合されているが、直結も検討される。
PICメモリには様々なプログラミングコードとソフトウェアとが記録される。例えば、起動時にPIC110を起動させる基本入出力システム(BIOS)コードは、不揮発性ストレージ207のBIOS ROM装置210に記録され得る。BIOS ROM装置としては、ROM(読み取り専用メモリ)やPROM(プログラマブルROM)、例えば、EPROM(消去可能PROM)、EEPROM(電気的消去可能PROM)など、フラッシュRAM(ランダムアクセスメモリ)、あるいはBIOSの記録に適した任意のその他の形式のメモリが挙げられる。原則的に、BIOS/ブートローダー210はユーザには見えない。またBIOS/ブートローダー210は互換性のあるブートローダーを含み、これにより、PICオペレーティングシステムが組み込み式のクローズドオペレーティングシステム(例えば、Windows CEタイプのオペレーティングシステム)となることができる。しかしながら、BIOSコードは任意のオペレーシングシステム(Windowsベースの、あるいはLinuxベースのオペレーティングシステムを含むが、これらに限定するものではない)をサポートすることが可能であった。原則的にBIOS/ブートローダー210はユーザーには見えない。また、このBIOS/ブートローダーがオペレーティングシステムを起動する。
さらに、PICソフトウェア230およびユーザデータは不揮発性ストレージ207のハードドライブ209に記録され、プロセッサ202によって実行および/あるいは処理される。PICソフトウェア230は、マスターブートレコード(master boot record)(MBR)231、オペレーティングシステム232、アプリケーションプログラム233、ソフトウェアアップデートモジュール234、ユーザデータ235、および、隠されたイメージリカバリモジュール236(hidden image recovery module)を含んでもよい。
MBR231はハードドライブ209の第1領域(あるシステムにおいては512バイト長)である。この領域は、ブートストラップコードとパーティションテーブルとを含む。ブートストラップコードは、PIC110の起動時に実行される。オペレーティングシステムに関しては、システムの性能に影響を及ぼし得るいくつかの独自に設定可能なオペレーティングパラメータが、ソフトウェア130の一部として、ドライブ209にソフトウェア230が初期インストールされる際に事前設定される。さらに、ソフトウェア230は、指定されたように機能するようにPIC110に求められるアプリケーションプログラム233を含む。
例えば、アプリケーションプログラム233としては、ウェブブラウザ、フラッシュプレーヤー、パワーポイント用プレゼンテーションビューア、チャット、ゲーム、圧縮ツール、eメール、ワードプロセッサ、表計算ソフト、PDFビューア、メディアプレーヤ、および/あるいは描画アプリケーションが挙げられ得る。加えて、ユーザデータ235は、ユーザがユーザデータに直接アクセスできるように、ユーザのデータの全てを記録する。このユーザデータは、ウイルスやその他の手段によってデータが破損しないようにするために、他のオペレーションシステムから保護される。
選択された実施例では、PIC110は、アプリケーションが所定の許可やセキュリティキーを有するブートローダデバイスからのみ追加あるいはアップデートされるようにPICソフトウェア230を構成することで、不正インストールから守られる。このようなブートローダデバイスの例としては、USB接続されたフラッシュストレージデバイスが挙げられる。例示的な実装品では、インストール条件はソフトウェアアップデートモジュール234によって制限される。
このソフトウェアアップデートモジュールは、非揮発性メモリ207に格納される一意的セキュリティキー240などの、局所的に格納されるインストールキーに一致するキーを有するブート装置からのインストールだけを許可する。この一意的セキュリティキー240は、各PIC110、111、112に対して固有であってもよいし、あるいは、1つのソース(例えば、ISP120)からのインストールアクセスを集合的に制御するように、これらのPIC間で共有されてもよい。選択された実施形態では、この一意的セキュリティキー240は、ハードドライブ209のマスターブートレコード231に格納されるが、フラッシュメモリやその他のROM208に、あるいは組込み式の集積回路上に格納されてもよい。
したがって、オペレーティングシステムファイルやアプリケーションファイルがブート可能な(bootable)装置から転送される前に、アップデートモジュール234は、ブート装置が一致する署名やキーを有しているか、あるいは、一意的セキュリティキー240に対応しているかを判断する必要がある。このように、一意的セキュリティキー240は、一致するセキュリティキーを有するブータブル装置へのオペレーティングシステムコードあるいは他のソフトウェアのインストールを制限することで、PIC110上のオペレーティングシステムのインテグリティを保護するように使用される。
図3に、プロセッサ202のブロック図を示す。一実施形態では、プロセッサ202は、アドバンストマイクロデバイス(Advanced Micro Devices)社より入手可能なGeode GX2プロセッサである。プロセッサ202には、プロセッサコア310、バスあるいはインターフェースユニット312、グラフィックスプロセッサ314、ディスプレイコントローラ316、および、ビデオプロセッサ318が含まれる。さらに、プロセッサ202には、メモリコントローラ330、I/Oコントローラインターフェース332、ディスプレイ装置インターフェース334が含まれる。当然、これらのコントローラおよびインターフェースはプロセッサ202の外部に実装されてもよい。例示した実施形態では、プロセッサ202は、一意的セキュリティキー240に一致するかあるいは対応する認可された署名を含まないブート装置からオペレーティングシステムおよび他のソフトウェアのインストールを制限するように、メモリ206、207に格納されたソフトウェアを実行する。
図4に、本発明の第1の実施形態に従うソフトウェアイメージのファイル構造と、圧縮されたソフトウェアイメージに対する、対応のファイル構造とを示す。図4に示すソフトウェアイメージは、Windows CEオペレーションシステム(OS)などの多くのオペレーションシステムイメージに使用される構造を含む。このイメージファイルは、署名を含むファイルヘッダ(FH)、イメージの読込みが開始されるアドレス、および、イメージファイルの合計の長さを含むフォーマットを使用した所定の構造に従う、1つのモノリシックファイルに格納される。ファイル内の各レコード(レコード1、レコード2、...レコードn)はヘッダを含み、後にレコードのデータペイロードが続く。レコードヘッダ(RH)は、データの宛先アドレス、データの長さ、および、レコードのデータのコンテンツを検証するために使用される検証コードを含む。この検証コードはチェックサムであってもよい。
本発明では、OSイメージファイルの格納に必要なメディアスペースを減らし、さらに、1つの記録媒体(インターネットサーバ、ファイルサーバ、ハードドライブ、メモリ、など)から別の媒体にOSイメージファイルを転送するのに要する時間を減らすために、レコードベースのOSイメージファイルのフォーマットがレコードベースの圧縮メカニズムと組み合わせられる。
本発明は、OSイメージファイルを操作するツールによってさらに認識されるであろう圧縮されたOSイメージファイルを生成するように動作可能な2つの実施形態を含む。図4に示す第1の実施形態では、OSイメージはFHと1つのレコードとを含む新たなファイルを生成するように圧縮される。このレコードは、オリジナルのOSイメージの圧縮されたものである圧縮バージョンを含む。この、本発明の実施形態により、イメージのコンテンツに応じて、イメージサイズと転送時間とを約50%減らすことができる。
図5に、本発明の第2の実施形態に従うソフトウェアイメージの構造と、圧縮されたソフトウェアイメージに対する対応のファイル構造とを示す。この本発明の実施形態では、OSイメージはファイルヘッダと複数のレコードとを含む新たなファイルを生成するように圧縮される。各レコードは、オリジナルイメージからの、その対応するレコードを圧縮されたものを含むことになる。この、本発明の実施形態により、イメージのコンテンツに応じて、イメージサイズと転送時間とを約40%減らすことができる。加えて、個々のレコードを選択的に圧縮できるようにすることで、非常にフレキシブルになる。
オリジナルイメージがオペレーティングシステムビルダによって生成されると、圧縮されたOSイメージファイルを後処理ステップで生成することができる。圧縮イメージは図2に示すBIOS210の解凍部240によって解凍される。OSイメージファイルを圧縮するために用いられる本発明の実施形態に応じて、イメージを解凍するために2つの方法のうちの一方が用いられ、
1)全体のイメージをRAMにコピーし、この全体のイメージをすぐに解凍し、このインメモリ解凍イメージを目的の位置に配置する、あるいは、2)(解凍されるデータの配置場所が分かる程度の)ごく一部のイメージを解凍し、それを目的の位置に解凍する、
ように実行される。このステップは全レコードに対して繰返し行われる。
図6に、本発明の方法を実装する処理ステップを例示したフローチャートを示す。ステップ602では、システムはソフトウェアイメージの解凍を開始する。ステップ604では、現在の(最初の)レコードの一部は データペイロード用の宛先メモリアドレスに関連する情報を取得するために解凍される。ステップ606では、現在のレコードに対する残りのデータペイロードが解凍され、そのペイロードの宛先アドレスに直接格納される。ステップ608では、現在のレコードが圧縮イメージの最後のレコードであるかどうかを判断する試験が行われる。ステップ608で行われた試験結果が、現在のレコードが最後のレコードであることを示していれば、処理はステップ612へと進み、解凍されたソフトウェアイメージが実行される。
しかし、ステップ608で実行された試験結果が、現在のレコードが最後のレコードでないことを示していれば、処理はステップ610へと進む。ステップ610では、レコードカウンタが増加され、次のレコードに対してステップ604〜608が繰返し行われる。これらのステップは、圧縮されたソフトウェアイメージファイル中の全レコードが解凍され、それぞれ対応する宛先メモリアドレスに格納されるまで行われる。
本発明による利益を享受し得る当業者であれば、本発明に関して等価の範囲内で種々の変形及び実施が可能であることは明らかであることから、上述の個々の実施形態は、例示的なものに過ぎない。従って、これまでの記載は本発明を説明した特定の形態に限定するものではなく、むしろ、添付の請求項によって規定されている発明の範疇に属する全ての改良、等価物、及び変形例をカバーするものである。よって、当業者たちには、もっとも広い形態において本発明の精神及び範囲から逸脱することなく、様々な変更、置換、修正が可能であることが理解されるべきである。
1以上の通信ネットワーク上で通信する複数のコンピュータシステムのブロック図。 本発明の様々な実施形態に従うパーソナルインターネットコミュニケータなどのコンピュータシステムのシステムブロック図。 パーソナルインターネットコミュニケータで使用するプロセッサシステムのブロック図。 本発明の実施形態に従うソフトウェアイメージのファイル構造と、圧縮されたソフトウェアイメージの対応のファイル構造の説明図。 本発明の第2の実施形態に従う、ソフトウェアイメージのファイル構造と、圧縮されたソフトウェアイメージの対応のファイル構造の説明図。 本発明の方法の実施形態を実装するプロセスステップのフローチャート。

Claims (10)

  1. 圧縮されたソフトウェアファイルを実行する方法であって、
    前記圧縮されたソフトウェアファイルを実行する命令を受信するステップを含み、前記圧縮されたソフトウェアファイルは、ファイルヘッダと、複数の圧縮していないデータレコードに対応する圧縮されたデータを含むレコードと、を含むものであり、
    前記複数の圧縮していないデータレコード中の個々の圧縮されていないデータレコードに対する宛先メモリアドレスに関する情報を含む前記レコードの一部を解凍するステップと、
    前記複数の圧縮されていないデータレコードを生成するために、前記圧縮されたデータを解凍するステップと、
    それぞれ対応するメモリの宛先に前記個々の圧縮されていないデータレコードを格納するために、前記個々の圧縮されていないデータレコードに対する前記宛先アドレスを使用するステップと、を含む方法。
  2. 前記レコードは、前記個々の圧縮されていないデータレコードの前記宛先メモリアドレスに対応するデータを含む複数のレコードヘッダを含む、請求項1記載の方法。
  3. 前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコード中のデータの長さに対応するデータを含む、請求項2記載の方法。
  4. 前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコード中の前記データを検証する検証コードを含む、請求項3記載の方法。
  5. 前記圧縮されたソフトウェアファイルはオペレーティングシステムを含む、請求項4記載の方法。
  6. 実行可能な命令およびデータを含む始動ソフトが格納された少なくとも1つの記録可能媒体を備えたデバイスであって、前記実行可能な命令及びデータは、少なくとも1つの処理デバイスによって実行されると、
    ファイルヘッダと、複数の圧縮されていないデータレコードに対応する圧縮されたデータを含むレコードを備えた、圧縮されたソフトウェアファイルを実行させる処理、
    前記複数の圧縮されていないデータレコードに個々の圧縮されていないデータレコードに対する宛先メモリアドレスに関する情報を含む前記レコードの一部を解凍させる処理、
    前記複数の圧縮されていないデータレコードを生成するために前記圧縮されていないデータを解凍させる処理、及び、
    それぞれ対応するメモリの宛先に前記個々の圧縮されていないデータレコードを格納するために、前記個々の圧縮されていないデータレコードに対する前記宛先アドレスを使用させる処理を前記少なくとも1つの処理デバイスに行わせるものである、デバイス。
  7. 前記レコードは、前記個々の圧縮されていないデータレコードの前記宛先メモリアドレスに対応するデータを含む複数のレコードヘッダを含む、請求項6記載のデバイス。
  8. 前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコードに前記データの長さに対応するデータを含む、請求項7記載のデバイス。
  9. 前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコードを検証する検証コードを含む、請求項8記載のデバイス。
  10. 前記圧縮されたソフトウェアファイルはオペレーティングシステムを含む、請求項9記載のデバイス。
JP2008519308A 2005-06-30 2006-05-23 ソフトウェアイメージを生成する解凍技術 Pending JP2009510544A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/172,509 US20070016693A1 (en) 2005-06-30 2005-06-30 Decompression technique for generating software image
PCT/US2006/020060 WO2007005143A1 (en) 2005-06-30 2006-05-23 Decompression technique for generating software image

Publications (1)

Publication Number Publication Date
JP2009510544A true JP2009510544A (ja) 2009-03-12

Family

ID=36956022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519308A Pending JP2009510544A (ja) 2005-06-30 2006-05-23 ソフトウェアイメージを生成する解凍技術

Country Status (8)

Country Link
US (1) US20070016693A1 (ja)
JP (1) JP2009510544A (ja)
KR (1) KR20080040685A (ja)
CN (1) CN101213517A (ja)
DE (1) DE112006001743T5 (ja)
GB (1) GB2441729A (ja)
TW (1) TW200715720A (ja)
WO (1) WO2007005143A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060198208A1 (en) * 2005-03-07 2006-09-07 Lantronix, Inc. Publicasting systems and methods
DE602005005820T2 (de) * 2005-09-26 2009-05-20 Alcatel Lucent Datenverteilung zu Knoten eines Telekommunikationsnetzwerkes
US8931063B2 (en) * 2008-07-28 2015-01-06 Evan S. Huang Methods and apparatuses for securely operating shared host computers with portable apparatuses
US7917902B2 (en) * 2008-03-21 2011-03-29 Symantec Corporation Archive stream based install
CN101582067A (zh) * 2008-05-15 2009-11-18 国际商业机器公司 解压压缩文件时减小存储需求的方法和系统
US9483399B2 (en) * 2009-12-31 2016-11-01 Micron Technology, Inc. Sub-OS virtual memory management layer
EP2697906A1 (en) * 2011-04-11 2014-02-19 Marvell World Trade Ltd. Method for compression and real-time decompression of executable code
US9158550B2 (en) * 2011-06-16 2015-10-13 Vmware, Inc. Caching based operating system installation
KR20140028930A (ko) 2012-08-31 2014-03-10 삼성전자주식회사 데이터 처리 장치 및 이의 데이터 처리 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능 매체
US20140188949A1 (en) * 2013-01-03 2014-07-03 Dell Products L.P. Methods and systems for supply chain assurance of information handling system code
US10069632B2 (en) * 2013-09-09 2018-09-04 Arris Enterprises Llc Remote image signing
CN104636140B (zh) * 2015-01-29 2018-05-29 小米科技有限责任公司 固件压缩方法、固件解压方法和装置
KR200485194Y1 (ko) 2015-10-06 2017-12-07 주식회사 쵸이스 상사 헤어롤

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242487A (ja) * 1999-02-24 2000-09-08 Mitsubishi Electric Corp プログラム更新装置およびプログラム更新方法
JP2002123401A (ja) * 2000-08-01 2002-04-26 Fujitsu Ltd 処理装置、管理装置、記録媒体およびプログラム
EP1233522A1 (en) * 2001-02-14 2002-08-21 Siemens Aktiengesellschaft A data compression/decompression method and apparatus
US6694393B1 (en) * 2000-06-30 2004-02-17 Lucent Technologies Inc. Method and apparatus for compressing information for use in embedded systems
JP2005515534A (ja) * 2002-01-18 2005-05-26 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 移動端末にデータをロードする方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5836013A (en) * 1994-08-11 1998-11-10 Phoenix Technologies Ltd. Method and apparatus for compressing system read only memory in a computing system
US5768597A (en) * 1996-05-02 1998-06-16 Starfish Software, Inc. System and methods for improved installation of compressed software programs
US6041054A (en) * 1997-09-24 2000-03-21 Telefonaktiebolaget Lm Ericsson Efficient transport of internet protocol packets using asynchronous transfer mode adaptation layer two
US6092071A (en) * 1997-11-04 2000-07-18 International Business Machines Corporation Dedicated input/output processor method and apparatus for access and storage of compressed data
US6741978B1 (en) * 2000-04-12 2004-05-25 Intel Corporation Accessing file data stored in non-volatile re-programmable semiconductor memories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242487A (ja) * 1999-02-24 2000-09-08 Mitsubishi Electric Corp プログラム更新装置およびプログラム更新方法
US6694393B1 (en) * 2000-06-30 2004-02-17 Lucent Technologies Inc. Method and apparatus for compressing information for use in embedded systems
JP2002123401A (ja) * 2000-08-01 2002-04-26 Fujitsu Ltd 処理装置、管理装置、記録媒体およびプログラム
EP1233522A1 (en) * 2001-02-14 2002-08-21 Siemens Aktiengesellschaft A data compression/decompression method and apparatus
JP2005515534A (ja) * 2002-01-18 2005-05-26 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 移動端末にデータをロードする方法

Also Published As

Publication number Publication date
GB2441729A (en) 2008-03-12
KR20080040685A (ko) 2008-05-08
TW200715720A (en) 2007-04-16
CN101213517A (zh) 2008-07-02
WO2007005143A1 (en) 2007-01-11
DE112006001743T5 (de) 2008-05-08
GB0800921D0 (en) 2008-02-27
US20070016693A1 (en) 2007-01-18

Similar Documents

Publication Publication Date Title
JP2009510544A (ja) ソフトウェアイメージを生成する解凍技術
US7634689B2 (en) Boot performance optimization for hard drive for personal internet communicator
JP5276438B2 (ja) オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト
US7636780B2 (en) Verified computing environment for personal internet communicator
EP1634170B1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US20030225972A1 (en) Storage system
US20060253620A1 (en) Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area
CN103493011A (zh) 与库操作系统的应用兼容性
JP5414814B2 (ja) ネットワーク環境におけるスペースのカスタマイズ
TWI411916B (zh) 恢復於個人網際網路通訊器中記憶體儲存裝置之系統分割區之方法與裝置
WO2009033424A1 (fr) Procédé et système d'obtention d'information de commandes d'utilisateur et dispositif pour enregistrer les commandes d'utilisateur
US20060288019A1 (en) Flexible data file format
US9081936B2 (en) System and method for tracking a downloaded digital media file
US20070058643A1 (en) Dual purpose video adapter port
TWI384368B (zh) 提供存取埠予個人網際網路通訊器之方法及裝置
US20230105023A1 (en) Deployment migration tool with decoding capabilities
US20080141291A1 (en) Reserved write positions on install media
JP2002116886A (ja) データ修復システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090508

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20100902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120509