(57)【要約】低容量のデータストレージの利用を最大にしつつ、解凍時間を最小にする改良された圧縮および解凍技術である。一実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと、オリジナルの複数のレコードの圧縮イメージを含む１つのレコードとを生成するように、圧縮される。実行すると、レコードは解凍され、また、解凍部が所望の宛先に解凍したレコードを直接配置できるようにするために、宛先アドレスに対応する圧縮イメージの一部が解凍される。本発明の別の実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと複数の圧縮されたレコードとを生成するように、個別に圧縮される。実行すると、ファイルヘッダと宛先アドレスに対応する個々のレコードの一部は、解凍部が個々のレコードを所望の場所に直接配置できるようにするために、解凍される。本発明の様々な実施形態は、低容量の非揮発性ストレージデバイス（コンパクトフラッシュメモリカードおよび低容量のハードドライブを含むが、これに限定するものではない）に格納されるソフトウェアイメージを圧縮および解凍するために用いることができる。個々のレコードは所望のメモリ位置に直接解凍されることから、実行時間が減らされ、性能が向上する。
2009510544.tif 000002
【特許請求の範囲】
【請求項１】
圧縮されたソフトウェアファイルを実行する方法であって、
前記圧縮されたソフトウェアファイルを実行する命令を受信するステップを含み、前記圧縮されたソフトウェアファイルは、ファイルヘッダと、複数の圧縮していないデータレコードに対応する圧縮されたデータを含むレコードと、を含むものであり、
前記複数の圧縮していないデータレコード中の個々の圧縮されていないデータレコードに対する宛先メモリアドレスに関する情報を含む前記レコードの一部を解凍するステップと、
前記複数の圧縮されていないデータレコードを生成するために、前記圧縮されたデータを解凍するステップと、
それぞれ対応するメモリの宛先に前記個々の圧縮されていないデータレコードを格納するために、前記個々の圧縮されていないデータレコードに対する前記宛先アドレスを使用するステップと、を含む方法。
【請求項２】
前記レコードは、前記個々の圧縮されていないデータレコードの前記宛先メモリアドレスに対応するデータを含む複数のレコードヘッダを含む、請求項１記載の方法。
【請求項３】
前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコード中のデータの長さに対応するデータを含む、請求項２記載の方法。
【請求項４】
前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコード中の前記データを検証する検証コードを含む、請求項３記載の方法。
【請求項５】
前記圧縮されたソフトウェアファイルはオペレーティングシステムを含む、請求項４記載の方法。
【請求項６】
実行可能な命令およびデータを含む始動ソフトが格納された少なくとも１つの記録可能媒体を備えたデバイスであって、前記実行可能な命令及びデータは、少なくとも１つの処理デバイスによって実行されると、
ファイルヘッダと、複数の圧縮されていないデータレコードに対応する圧縮されたデータを含むレコードを備えた、圧縮されたソフトウェアファイルを実行させる処理、
前記複数の圧縮されていないデータレコードに個々の圧縮されていないデータレコードに対する宛先メモリアドレスに関する情報を含む前記レコードの一部を解凍させる処理、
前記複数の圧縮されていないデータレコードを生成するために前記圧縮されていないデータを解凍させる処理、及び、
それぞれ対応するメモリの宛先に前記個々の圧縮されていないデータレコードを格納するために、前記個々の圧縮されていないデータレコードに対する前記宛先アドレスを使用させる処理を前記少なくとも１つの処理デバイスに行わせるものである、デバイス。
【請求項７】
前記レコードは、前記個々の圧縮されていないデータレコードの前記宛先メモリアドレスに対応するデータを含む複数のレコードヘッダを含む、請求項６記載のデバイス。
【請求項８】
前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコードに前記データの長さに対応するデータを含む、請求項７記載のデバイス。
【請求項９】
前記複数のレコードヘッダはさらに、前記個々の圧縮されていないデータレコードを検証する検証コードを含む、請求項８記載のデバイス。
【請求項１０】
前記圧縮されたソフトウェアファイルはオペレーティングシステムを含む、請求項９記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム分野に関する。一形態においては、本発明は情報処理システムのソフトウェアイメージを圧縮および解凍する改良された方法および装置に関する。
【背景技術】
【０００２】
コンピュータシステムは、今日の社会において、多くの分野に情報管理能力を与えるために広く用いられている。
パソコンシステムは通常、システムプロセッサを備えたシステムユニット、関連する揮発性および不揮発性メモリ、ディスプレイモニタ、キーボード、固定ディスク記録装置、任意の取り外し可能記録装置、および任意のプリンタを含むマイクロコンピュータとして定義することができる。
このようなパソコンシステムは、シングルユーザ（あるいは、コンピュータサーバシステムとして機能するパソコンの場合は、グループユーザ）に主に独立演算能力を与えるように設計された情報処理システムであり、個人や中小企業の購入用に低価格にされている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年は、インターネット上で情報交換を行うために、パソコンの使用が著しく増加している。このような情報交換は、クライアント／サーバモデルに基づくものであり、ユーザのパソコンがクライアントとして動作している状態で、複数のインターネットサーバに記録されているデータにアクセスす。インターネットサービスプロバイダのなかには、インターネットサービスを供給するための契約関係の一環として、ユーザにコンピュータを提供するところもある。このような契約関係の一環として、インターネットサービスプロバイダは一般に、特定のユーザグループに対して作られた、カストマイズされたソフトウェアパッケージを提供する。
【０００４】
インターネットの利用は低所得国で成長していることから、パーソナルインターネットコミュニケータ（ＰＩＣ:Personal Internet Communicator)として使用する低価格のコンピュータデバイスを供給することが求められる。低価格のコンピュータデバイスのなかには、オペレーティングシステムとソフトウェアアプリケーションファイルとを格納するように、低容量の非揮発性メモリを使用しているものもある。したがって、メモリの利用を最大にするために、このようなファイルを圧縮することが望ましい。さらに、低価格で低容量のハードドライブ上のストレージを最大にするためにファイル圧縮が用いられる。
【０００５】
圧縮技術によりストレージ容量の利用効率は高まるが、現在の解凍技術は相対的に非効率的である。例えば、一般に、現在の解凍技術においては、全体のソフトウェアイメージをメモリ中に解凍し、次の処理ステップで、解凍したファイルを目的の宛先にコピーしなければならない。その結果、低価格のコンピューティングデバイスで使用される低容量のメモリデバイスに格納するために、ソフトウェアファイルを圧縮し解凍する改良された方法と装置とが求められる。
【課題を解決するための手段】
【０００６】
本発明の方法および装置は、低容量のデータストレージの利用を最大にしつつ、解凍時間を最小にする改良された圧縮および解凍技術を提供する。本発明の一実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと、オリジナルの複数のレコードの圧縮イメージを含む１つのレコードとを生成するように、圧縮される。実行すると、レコードは解凍され、また、解凍部が所望の宛先に解凍したレコードを直接配置できるようにするために、宛先アドレスに対応する圧縮イメージの一部が解凍される。
【０００７】
本発明の別の実施形態では、ファイルヘッダと複数のレコードとを含むソフトウェアファイルは、圧縮されたファイルヘッダと複数の圧縮されたレコードとを生成するように、個別に圧縮される。実行すると、ファイルヘッダと宛先アドレスに対応する個々のレコードの一部は、解凍部が個々のレコードを所望の場所に直接配置できるようにするために、解凍される。
【０００８】
本発明の様々な実施形態は、低容量の非揮発性ストレージデバイス（コンパクトフラッシュメモリカードおよび低容量のハードドライブを含むが、これに限定するものではない）に格納されるソフトウェアイメージを圧縮し解凍するために用いられる。個々のレコードは所望のメモリ位置に直接解凍されることから、実行時間が減らされ、性能が向上する。
【０００９】
本発明の目的、利点、およびその他の新たな特徴は、添付の請求項および添付の図面を読めば、以下の既述から当業者には明らかになるであろう。
【発明を実施するための最良の形態】
【００１０】
本発明の例示的実施形態を以下に記述しているが、本発明を特定の詳細がなくても実施できることは明らかであろう。また、開発者における特定の目標を達成するため、システム的制限やビジネス的制限との摺り合せなど、多くの特定の実施の決定がなされる。それらは各実施形態によって様々に変化するものである。そのような開発努力は複雑で時間を消費するものであるのは当然のことであるが、それでもなお、この開示の恩恵を有する当業者にとっては通常作業の範疇に入るものである。例えば、本発明を曖昧なものにしないように、あるいは、制限しすぎないように、選択された形態は詳細に示さずにブロック図形式で示している。このような記述および表現は、当業者が、自身の作業の内容を他の当業者に効率的に伝えるために用いられているものである。以下に本発明を図面を参照しながら記載する。
【００１１】
図１に、例示的ネットワーク１００のブロック図を示す。ここでは、複数のコンピュータシステム１１０、１１１、１１２は、１以上の通信ネットワーク１４０上で通信する。例示のように、各コンピュータシステム（例えば、１１０）は、マルチメディアアクセスデバイスあるいはパーソナルインターネットコミュニケータ（ＰＩＣ）とも呼ばれるものであるが、このようなコンピュータシステムは、１以上の通信リンク１２２を介してインターネットサービスプロバイダ（ＩＳＰ）１２０に動作可能に結合されている。インターネットサービスプロバイダ１２０は、インターネット１４０に接続される。さらに、インターネット１４０は、複数のウェブホストサーバ１５０、１５１、１５２に接続される。インターネット上の情報へのアクセスを希望するユーザはＰＩＣ（例えば、１１０）を使用し、ウェブブラウザとして周知の、ＰＩＣ上に記録されたアプリケーションプログラムを実行する。
【００１２】
ＰＩＣ１１０は通信ハードウェアおよびソフトウェアを含む。これにより、ＰＩＣ１１０がインターネットサービスプロバイダ１２０への通信を送受信できるようにする。通信ハードウェアおよびソフトウェアにより、ＰＩＣ１１０はインターネットサービスプロバイダ１２０との通信リンクを確立できるようになる。この通信リンクは、任意の様々な接続形式であってよく、例えば、有線接続、デジタル加入者回線（ＤＳＬ）、Ｔ１、総合デジタル通信網（ＩＳＤＮ）などの直接接続、あるいはケーブル接続、セルラーネットワークや衛星ネットワークを介した無線接続、電話モデムダイアルアップアクセス、あるいは、イーサネットなどのローカルデータ伝送やローカルエリアネットワーク上でのトークンリングが挙げられる。
【００１３】
顧客が、ウェブブラウザにおいて命令を入力することで情報要求を入力する場合、ＰＩＣ１１０は、特定のトピックに関連する文書や特定のウェブページの検索といった情報要求をインターネットサービスプロバイダ１２０に送信し、次に、インターネットサービスプロバイダ１２０はこの要求をインターネット１４０を介して適切なウェブホストサーバ１５０へ送る。インターネットサービスプロバイダ１２０は、ブラウザから送信された要求を受信し、読み取るソフトウェアを実行する。インターネットサービスプロバイダ１２０は、要求をモニタリングし、その特定のウェブサーバについての情報要求を提供し、その情報をユーザのＰＩＣ１１０へと送信するウェブサーバアプリケーションプログラムを実行する。
【００１４】
インターネット上の各ウェブホストサーバ１５０、１５１、１５２は、適切なウェブホストサーバに接続するためにユーザーがウェブブラウザに提供する周知のアドレスを有する。
ユーザのウェブホストサーバ１５０上で情報が入手できなければ、インターネット１４０は、ウェブサーバ１５０、１５１、１５２を、要求した情報を供給するために相互通信可能とするセントラルリンクとして機能する。ウェブサーバ１５０、１５１、１５２は１ページより多くのウェブページを含み得ることから、ユーザはさらに、自分が見たい特定のウェブページをアドレスにおいて特定することになる。サーバー上のホームページアドレスは、ＵＲＬ（ユニバーサルリソースロケータ）としても周知であるが、このアドレスは、サーバーおよびサーバー上のページ位置を示す一連の数字であって、郵便番号に類似している。簡素化のために、数字ではなく名前を使用してユーザがサーバおよび文書を特定可能であるドメインネームシステムが構築された。さらに、ＵＲＬは、ドメインネームの終わりに付加的情報を含めることで、コンテンツプロバイダに属するページグループにおいて特定のページを指定することができる。
【００１５】
図２に、ＰＩＣ１１０のブロック図を示す。ＰＩＣ１１０は、プロセッサ２０２、入出力（Ｉ／Ｏ）制御装置２０４、メモリ（揮発性ランダムアクセスメモリ（ＲＡＭ）２０６および不揮発性メモリ２０７を含む）、通信装置２１１（モデムなど）、およびディスプレイ２１４を含む。プロセッサ２０２、Ｉ／Ｏ制御装置２０４、メモリ２０６、および通信装置２１１は、１つ以上のバス２１２を介して相互接続される。選択された実施形態では、プロセッサ２０２はAMD Geode GX 32-bit x86互換プロセッサとして、メモリ２０６は１２８ＭＢのＤＤＲメモリとして、また、ディスプレイ２１４はＣＲＴモニタとして実装される。加えて、不揮発性メモリ２０７は、最小容量が例えば１０ＧＢの内蔵型３．５インチハードディスクとして実装されるハードディスクドライブ２０９を備えてもよい。メモリ２０６、２０７のいずれか、あるいは両方をＰＩＣ１１０に内蔵してもよいし、外付けしてもよい。
通信装置２１１に関しては、世界中の様々な電話システムをサポートするために、外部コネクタを備えた内蔵型56k ITU v.92モデムを使用してもよい。これに限らず、その他のモデム（例えば、ソフトモデム）を使用してもよい。当然、明らかなように、プロセッサ２０２、メモリ２０６、２０７、ディスプレイ２１４および通信装置２１１に対してその他の装置構成を用いることができる。
明瞭化のため、および理解を容易にするために、ＰＩＣ１１０を構成している全ての要素を詳細に記述していない。そのような詳細は当業者にとっては周知であり、また、特定のコンピュータベンダーやマイクロプロセッサのタイプに基づいて変化し得る。さらに、ＰＩＣ１１０は所望する実装品に応じて、その他のバス、装置、および／あるいはサブシステムを含んでもよい。例えば、ＰＩＣ１１０は、キャッシュ、モデム、パラレルあるいはシリアルインターフェース、ＳＣＳＩインターフェース、ネットワークインターフェースカードなどを含んでもよい。
【００１６】
図２に示しているように、Ｉ／Ｏ制御装置２０４は、Ｉ／Ｏ装置２０５、例えば１以上のＵＳＢポート、キーボード、マウス、オーディオスピーカなどに結合される。Ｉ／Ｏ制御装置２０４はさらに、コンパクトフラッシュメモリやその他の読み取り専用メモリ（ＲＯＭ）２０８、および／あるいはハードディスクドライブ２０９などの不揮発性ストレージ２０７に結合される。本発明の各種実施形態では、コンパクトフラッシュ２０８やハードディスク２０９などの不揮発性ストレージ２０７の様々な構成要素は、オペレーティングシステムとその他のソフトウェアファイルの圧縮イメージを格納することができる。ＢＩＯＳ２１０の解凍部２４０は、このようなソフトウェアイメージを解凍し、解凍したファイルを目的の宛先に直接格納するように使用することができる。これについては以下に詳細を説明する。
【００１７】
ＰＩＣ１１０は、モデムなどの通信装置２１１によって、通信ネットワーク１２２およびインターネット１４０に接続された状態で図示されているが、このような接続は当業者には周知の任意の所望のネットワーク通信装置によって確立されてもよい。図面では、プロセッサ２０２はディスプレイ装置２１４に直結されているが、プロセッサはディスプレイあるいはＩ／Ｏ制御装置を介して間接結合されてもよい。同様に、図面では、プロセッサはＩ／Ｏコントローラ２０４を介して不揮発性メモリ２０７に結合されているが、直結も検討される。
【００１８】
ＰＩＣメモリには様々なプログラミングコードとソフトウェアとが記録される。例えば、起動時にＰＩＣ１１０を起動させる基本入出力システム（ＢＩＯＳ）コードは、不揮発性ストレージ２０７のＢＩＯＳ  ＲＯＭ装置２１０に記録され得る。ＢＩＯＳ  ＲＯＭ装置としては、ＲＯＭ（読み取り専用メモリ）やＰＲＯＭ（プログラマブルＲＯＭ）、例えば、ＥＰＲＯＭ（消去可能ＰＲＯＭ）、ＥＥＰＲＯＭ（電気的消去可能ＰＲＯＭ）など、フラッシュＲＡＭ（ランダムアクセスメモリ）、あるいはＢＩＯＳの記録に適した任意のその他の形式のメモリが挙げられる。原則的に、ＢＩＯＳ／ブートローダー２１０はユーザには見えない。またＢＩＯＳ／ブートローダー２１０は互換性のあるブートローダーを含み、これにより、ＰＩＣオペレーティングシステムが組み込み式のクローズドオペレーティングシステム（例えば、Windows CEタイプのオペレーティングシステム）となることができる。しかしながら、ＢＩＯＳコードは任意のオペレーシングシステム（Windowsベースの、あるいはLinuxベースのオペレーティングシステムを含むが、これらに限定するものではない）をサポートすることが可能であった。原則的にＢＩＯＳ／ブートローダー２１０はユーザーには見えない。また、このＢＩＯＳ／ブートローダーがオペレーティングシステムを起動する。
【００１９】
さらに、ＰＩＣソフトウェア２３０およびユーザデータは不揮発性ストレージ２０７のハードドライブ２０９に記録され、プロセッサ２０２によって実行および／あるいは処理される。ＰＩＣソフトウェア２３０は、マスターブートレコード(master boot record)（ＭＢＲ）２３１、オペレーティングシステム２３２、アプリケーションプログラム２３３、ソフトウェアアップデートモジュール２３４、ユーザデータ２３５、および、隠されたイメージリカバリモジュール２３６(hidden image recovery module)を含んでもよい。
【００２０】
ＭＢＲ２３１はハードドライブ２０９の第１領域（あるシステムにおいては５１２バイト長）である。この領域は、ブートストラップコードとパーティションテーブルとを含む。ブートストラップコードは、ＰＩＣ１１０の起動時に実行される。オペレーティングシステムに関しては、システムの性能に影響を及ぼし得るいくつかの独自に設定可能なオペレーティングパラメータが、ソフトウェア１３０の一部として、ドライブ２０９にソフトウェア２３０が初期インストールされる際に事前設定される。さらに、ソフトウェア２３０は、指定されたように機能するようにＰＩＣ１１０に求められるアプリケーションプログラム２３３を含む。
【００２１】
例えば、アプリケーションプログラム２３３としては、ウェブブラウザ、フラッシュプレーヤー、パワーポイント用プレゼンテーションビューア、チャット、ゲーム、圧縮ツール、ｅメール、ワードプロセッサ、表計算ソフト、ＰＤＦビューア、メディアプレーヤ、および／あるいは描画アプリケーションが挙げられ得る。加えて、ユーザデータ２３５は、ユーザがユーザデータに直接アクセスできるように、ユーザのデータの全てを記録する。このユーザデータは、ウイルスやその他の手段によってデータが破損しないようにするために、他のオペレーションシステムから保護される。
【００２２】
選択された実施例では、ＰＩＣ１１０は、アプリケーションが所定の許可やセキュリティキーを有するブートローダデバイスからのみ追加あるいはアップデートされるようにＰＩＣソフトウェア２３０を構成することで、不正インストールから守られる。このようなブートローダデバイスの例としては、ＵＳＢ接続されたフラッシュストレージデバイスが挙げられる。例示的な実装品では、インストール条件はソフトウェアアップデートモジュール２３４によって制限される。
【００２３】
このソフトウェアアップデートモジュールは、非揮発性メモリ２０７に格納される一意的セキュリティキー２４０などの、局所的に格納されるインストールキーに一致するキーを有するブート装置からのインストールだけを許可する。この一意的セキュリティキー２４０は、各ＰＩＣ１１０、１１１、１１２に対して固有であってもよいし、あるいは、１つのソース（例えば、ＩＳＰ１２０）からのインストールアクセスを集合的に制御するように、これらのＰＩＣ間で共有されてもよい。選択された実施形態では、この一意的セキュリティキー２４０は、ハードドライブ２０９のマスターブートレコード２３１に格納されるが、フラッシュメモリやその他のＲＯＭ２０８に、あるいは組込み式の集積回路上に格納されてもよい。
【００２４】
したがって、オペレーティングシステムファイルやアプリケーションファイルがブート可能な(bootable)装置から転送される前に、アップデートモジュール２３４は、ブート装置が一致する署名やキーを有しているか、あるいは、一意的セキュリティキー２４０に対応しているかを判断する必要がある。このように、一意的セキュリティキー２４０は、一致するセキュリティキーを有するブータブル装置へのオペレーティングシステムコードあるいは他のソフトウェアのインストールを制限することで、ＰＩＣ１１０上のオペレーティングシステムのインテグリティを保護するように使用される。
【００２５】
図３に、プロセッサ２０２のブロック図を示す。一実施形態では、プロセッサ２０２は、アドバンストマイクロデバイス（Advanced Micro Devices）社より入手可能なGeode GX2プロセッサである。プロセッサ２０２には、プロセッサコア３１０、バスあるいはインターフェースユニット３１２、グラフィックスプロセッサ３１４、ディスプレイコントローラ３１６、および、ビデオプロセッサ３１８が含まれる。さらに、プロセッサ２０２には、メモリコントローラ３３０、Ｉ／Ｏコントローラインターフェース３３２、ディスプレイ装置インターフェース３３４が含まれる。当然、これらのコントローラおよびインターフェースはプロセッサ２０２の外部に実装されてもよい。例示した実施形態では、プロセッサ２０２は、一意的セキュリティキー２４０に一致するかあるいは対応する認可された署名を含まないブート装置からオペレーティングシステムおよび他のソフトウェアのインストールを制限するように、メモリ２０６、２０７に格納されたソフトウェアを実行する。
【００２６】
図４に、本発明の第１の実施形態に従うソフトウェアイメージのファイル構造と、圧縮されたソフトウェアイメージに対する、対応のファイル構造とを示す。図４に示すソフトウェアイメージは、Windows CEオペレーションシステム（ＯＳ）などの多くのオペレーションシステムイメージに使用される構造を含む。このイメージファイルは、署名を含むファイルヘッダ（ＦＨ）、イメージの読込みが開始されるアドレス、および、イメージファイルの合計の長さを含むフォーマットを使用した所定の構造に従う、１つのモノリシックファイルに格納される。ファイル内の各レコード（レコード１、レコード２、．．．レコードｎ）はヘッダを含み、後にレコードのデータペイロードが続く。レコードヘッダ（ＲＨ）は、データの宛先アドレス、データの長さ、および、レコードのデータのコンテンツを検証するために使用される検証コードを含む。この検証コードはチェックサムであってもよい。
【００２７】
本発明では、ＯＳイメージファイルの格納に必要なメディアスペースを減らし、さらに、１つの記録媒体（インターネットサーバ、ファイルサーバ、ハードドライブ、メモリ、など）から別の媒体にＯＳイメージファイルを転送するのに要する時間を減らすために、レコードベースのＯＳイメージファイルのフォーマットがレコードベースの圧縮メカニズムと組み合わせられる。
【００２８】
本発明は、ＯＳイメージファイルを操作するツールによってさらに認識されるであろう圧縮されたＯＳイメージファイルを生成するように動作可能な２つの実施形態を含む。図４に示す第１の実施形態では、ＯＳイメージはＦＨと１つのレコードとを含む新たなファイルを生成するように圧縮される。このレコードは、オリジナルのＯＳイメージの圧縮されたものである圧縮バージョンを含む。この、本発明の実施形態により、イメージのコンテンツに応じて、イメージサイズと転送時間とを約５０％減らすことができる。
【００２９】
図５に、本発明の第２の実施形態に従うソフトウェアイメージの構造と、圧縮されたソフトウェアイメージに対する対応のファイル構造とを示す。この本発明の実施形態では、ＯＳイメージはファイルヘッダと複数のレコードとを含む新たなファイルを生成するように圧縮される。各レコードは、オリジナルイメージからの、その対応するレコードを圧縮されたものを含むことになる。この、本発明の実施形態により、イメージのコンテンツに応じて、イメージサイズと転送時間とを約４０％減らすことができる。加えて、個々のレコードを選択的に圧縮できるようにすることで、非常にフレキシブルになる。
【００３０】
オリジナルイメージがオペレーティングシステムビルダによって生成されると、圧縮されたＯＳイメージファイルを後処理ステップで生成することができる。圧縮イメージは図２に示すＢＩＯＳ２１０の解凍部２４０によって解凍される。ＯＳイメージファイルを圧縮するために用いられる本発明の実施形態に応じて、イメージを解凍するために２つの方法のうちの一方が用いられ、
１）全体のイメージをＲＡＭにコピーし、この全体のイメージをすぐに解凍し、このインメモリ解凍イメージを目的の位置に配置する、あるいは、２）（解凍されるデータの配置場所が分かる程度の）ごく一部のイメージを解凍し、それを目的の位置に解凍する、
ように実行される。このステップは全レコードに対して繰返し行われる。
【００３１】
図６に、本発明の方法を実装する処理ステップを例示したフローチャートを示す。ステップ６０２では、システムはソフトウェアイメージの解凍を開始する。ステップ６０４では、現在の（最初の）レコードの一部は  データペイロード用の宛先メモリアドレスに関連する情報を取得するために解凍される。ステップ６０６では、現在のレコードに対する残りのデータペイロードが解凍され、そのペイロードの宛先アドレスに直接格納される。ステップ６０８では、現在のレコードが圧縮イメージの最後のレコードであるかどうかを判断する試験が行われる。ステップ６０８で行われた試験結果が、現在のレコードが最後のレコードであることを示していれば、処理はステップ６１２へと進み、解凍されたソフトウェアイメージが実行される。
【００３２】
しかし、ステップ６０８で実行された試験結果が、現在のレコードが最後のレコードでないことを示していれば、処理はステップ６１０へと進む。ステップ６１０では、レコードカウンタが増加され、次のレコードに対してステップ６０４〜６０８が繰返し行われる。これらのステップは、圧縮されたソフトウェアイメージファイル中の全レコードが解凍され、それぞれ対応する宛先メモリアドレスに格納されるまで行われる。
【００３３】
本発明による利益を享受し得る当業者であれば、本発明に関して等価の範囲内で種々の変形及び実施が可能であることは明らかであることから、上述の個々の実施形態は、例示的なものに過ぎない。従って、これまでの記載は本発明を説明した特定の形態に限定するものではなく、むしろ、添付の請求項によって規定されている発明の範疇に属する全ての改良、等価物、及び変形例をカバーするものである。よって、当業者たちには、もっとも広い形態において本発明の精神及び範囲から逸脱することなく、様々な変更、置換、修正が可能であることが理解されるべきである。
【図面の簡単な説明】
【００３４】
【図１】１以上の通信ネットワーク上で通信する複数のコンピュータシステムのブロック図。
【図２】本発明の様々な実施形態に従うパーソナルインターネットコミュニケータなどのコンピュータシステムのシステムブロック図。
【図３】パーソナルインターネットコミュニケータで使用するプロセッサシステムのブロック図。
【図４】本発明の実施形態に従うソフトウェアイメージのファイル構造と、圧縮されたソフトウェアイメージの対応のファイル構造の説明図。
【図５】本発明の第２の実施形態に従う、ソフトウェアイメージのファイル構造と、圧縮されたソフトウェアイメージの対応のファイル構造の説明図。
【図６】本発明の方法の実施形態を実装するプロセスステップのフローチャート。
【図１】
2009510544.tif 000003
【図２】
2009510544.tif 000004
【図３】
2009510544.tif 000005
【図４】
2009510544.tif 000006
【図５】
2009510544.tif 000007
【図６】
2009510544.tif 000008
【国際調査報告】
2009510544.tif 000009
2009510544.tif 000010