(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信するメモリと、を含むオペレーティングシステム変換コンピューティング装置(OSCコンピューティング装置)であって、前記少なくとも1つのプロセッサが、
第1のオペレーティングシステム(第1のOS)を有するホストコンピューティング装置用のカスタムアーカイブファイルを生成することであって、前記カスタムアーカイブファイルは第2のOSに関連付けられたOSイメージファイルを含む、ことと、
前記ホストコンピューティング装置の第1のデータ記憶装置をフォーマットして、前記第1のOSに関連付けられた第1の領域(partition)と、前記第2のOSに関連付けられた第2の領域とを含ませる、ことと、
前記カスタムアーカイブファイルを前記ホストコンピューティング装置に送信することと、
前記カスタムアーカイブファイルを使用して、前記ホストコンピューティング装置にマウントされたループバックファイルシステムを生成して物理データ記憶装置をエミュレートすることであって、前記OSイメージファイルは、前記ループバックファイルシステムを介してアクセス可能である、ことと、
前記OSイメージファイルを前記第2の領域のインストールディレクトリに格納することであって、前記OSイメージファイルは前記インストールディレクトリから、前記ホストコンピューティング装置の第2のデータ記憶装置に前記第2のOSをインストールするように構成される、ことと、
前記ホストコンピューティング装置上で動作するOSを、前記第1のOSから前記第2のOSに変換することと、
を実行するようプログラムされる、OSCコンピューティング装置。
請求項2に記載のOSCコンピューティング装置において、前記キックスタートファイルは前記第2のOSを自動的にインストールするための一組の所定の命令を含み、前記一組の所定の命令は、前記環境情報によって設定(populate)される、OSCコンピューティング装置。
請求項3に記載のOSCコンピューティング装置において、前記キックスタートファイルは前記第2のOSのための前記第2のデータ記憶装置上に領域の配列を作成するように構成され、領域の前記配列は領域の第1のサブセットと領域の第2のサブセットとを含み、領域の前記第2のサブセットは失敗領域として識別される、OSCコンピューティング装置。
請求項1に記載のOSCコンピューティング装置において、前記少なくとも1つのプロセッサは、領域の冗長配列のために、前記第1の領域をフォーマットして、前記ホストコンピューティング装置の前記第2のデータ記憶装置上の第3の領域の大きさに一致させる、OSCコンピューティング装置。
請求項1に記載のOSCコンピューティング装置において、前記少なくとも1つのプロセッサが、前記第2の領域をパーソナルコンピュータファイルシステム(PCFS)にマウントして、前記第1のOSが前記第2の領域にアクセスできるように更にプログラムされている、OSCコンピューティング装置。
ホストコンピューティング装置を第1のオペレーティングシステム(第1のOS)から第2のOSに変換する方法であって、前記ホストコンピューティング装置は第1のデータ記憶装置を含み、前記方法は、
OS変換コンピューティング装置(OSCコンピューティング装置)によって、前記ホストコンピューティング装置のためのカスタムアーカイブファイルを生成することであって、前記カスタムアーカイブファイルは前記第2のOSに関連付けられたOSイメージファイルを含む、ことと、
前記第1のデータ記憶装置をフォーマットして、前記第1のOSに関連付けられた第1の領域と前記第2のOSに関連付けられた第2の領域とを含ませることと、
前記カスタムアーカイブファイルを前記ホストコンピューティング装置に送信することと、
前記カスタムアーカイブファイルを使用して、前記ホストコンピューティング装置にマウントされたループバックファイルシステムを生成して、物理データ記憶装置をエミュレートすることであって、前記OSイメージファイルは、前記ループバックファイルシステムを介してアクセス可能である、ことと、
前記OSCコンピューティング装置によって、前記第2の領域のインストールディレクトリ内に前記OSイメージファイルを格納することであって、前記OSイメージファイルは前記インストールディレクトリから、前記ホストコンピューティング装置の第2のデータ記憶装置に、前記第2のOSをインストールするように構成される、ことと、
前記ホストコンピューティング装置上で動作するOSを、前記第1のOSから前記第2のOSに変換することと、
を含む方法。
請求項10に記載の方法において、前記キックスタートファイルは前記第2のOSを自動的にインストールするための一組の所定の命令を含み、前記一組の所定の命令は、前記環境情報で設定される、請求項10に記載の方法。
請求項11に記載の方法において、前記キックスタートファイルは前記第2のOSの前記第2のデータ記憶装置に領域の配列を作成するように構成され、前記領域の配列は領域の第1のサブセットと領域の第2のサブセットとを含み、領域の前記第2のサブセットは失敗領域として識別される、方法。
請求項9に記載の方法において、前記第1のデータ記憶装置をフォーマットすることは、前記OSCコンピューティング装置によって、領域の冗長配列のために前記第1の領域をフォーマットして、前記ホストコンピューティング装置の前記第2のデータ記憶装置の第3の領域の大きさに一致させることをさらに含む、方法。
請求項9に記載の方法において、前記カスタムアーカイブファイルを前記ホストコンピューティング装置に送信することは、前記OSCコンピューティング装置によって前記第2の領域をパーソナルコンピュータファイルシステム(PCFS)にマウントして、前記第1のOSが前記第2の領域にアクセスすることを可能にすることを含む、方法。
コンピュータ実行可能命令が実装された少なくとも1つの非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、少なくとも1つのプロセッサによって実行されると、前記プロセッサに、
第1のオペレーティングシステム(第1のOS)を有するホストコンピューティング装置のためのカスタムアーカイブファイルを生成することであって、前記カスタムアーカイブファイルは、第2のOSに関連付けられたOSイメージファイルを含む、ことと、
前記ホストコンピューティング装置の第1のデータ記憶装置をフォーマットして、前記第1のOSに関連付けられた第1の領域と、前記第2のOSに関連付けられた第2の領域とを含ませる、ことと、
前記カスタムアーカイブファイルを前記ホストコンピューティング装置に送信することと、
前記カスタムアーカイブファイルを使用して、前記ホストコンピューティング装置にマウントされたループバックファイルシステムを生成して、物理データ記憶装置をエミュレートすることであって、前記OSイメージファイルは、前記ループバックファイルシステムを介してアクセス可能である、ことと、
前記OSイメージファイルを前記第2の領域のインストールディレクトリに記憶することであって、前記OSイメージファイルは前記インストールディレクトリから、前記ホストコンピューティング装置の第2のデータ記憶装置に前記第2のOSをインストールするように構成される、ことと、
前記ホストコンピューティング装置上で動作するOSを、前記第1のOSから前記第2のOSに変換することと、
を実行させる、コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0011】
本発明によるシステムは、オペレーティングシステム変換システムを用いて、ホストコンピューティング装置上のオペレーティングシステムを第1のオペレーティングシステムから第2のオペレーティングシステムに変換することを目的とする。より具体的には、本開示は、ホストコンピューティング装置上のオペレーティングシステムを第1のオペレーティングシステムから第2のオペレーティングシステムに遠隔で変換するように構成されたオペレーティングシステム変換システムを含む、ネットワークベースのシステムおよび方法を記載する。
【0012】
本明細書で説明されるオペレーティングシステム変換(OSC)システムはホストコンピューティング装置への物理的なアクセスを必要とせずに、ホストコンピューティング装置におけるオペレーティングシステム(OS)のインストールを促進する。例示的な実施形態では、OSCシステムは、1つまたは複数のサービスまたはプロセスを実行するように構成されたホストコンピューティング装置に通信可能に結合されたOSCコンピューティング装置を含む。一実施形態では、ホストコンピューティング装置は、支払ネットワークに関連付けられたデータを記憶し、生成し、受信し、送信するように構成される。支払いネットワークは支払いトランザクションに関与する様々な当事者が支払いアカウントおよび支払いカード(例えば、クレジットカードおよびデビットカード)を使用して支払いトランザクションを認証、許可、決済、および/または他の方法で処理することを可能にするように構成された特定のメッセージングプロトコルを有するクローズドネットワーク(例えば、プライベートまたはセキュア)である。他の実施形態では、ホストコンピューティング装置が様々な異なったサービスまたはプロセスを実行するように構成される。
【0013】
ホストコンピューティング装置は、少なくとも第1のデータ記憶装置と、第2のデータ記憶装置とを含む。他の実施形態では、ホストコンピューティング装置が追加のデータ記憶装置を含む。第1および第2のデータ記憶装置は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、および/または任意の他の好適なタイプのデータ記憶装置であってもよい。それぞれのデータ記憶装置は、1つまたは複数の領域(パーティション)を含む。少なくともいくつかの実施形態では、領域が複数のスライス(slice)を含むことができる。それぞれのスライスは、領域に関連付けられたOSによってサポートされる様々なファイルシステムアーキテクチャを含むように構成することができる。少なくともいくつかの実施形態では、第1および第2のデータ記憶装置がデータ冗長性、記憶容量の増加、および/または性能向上のために、多重ディスクアレイ内に構成される。例えば、第1および第2のデータ記憶装置は、RAID1またはRAID5などの独立ディスク(RAID)構成の冗長配列(アレイ)内にあってもよい。
【0014】
例示的な実施形態では、第1および第2のデータ記憶装置が第1のOS(本明細書では「インストールされたOS」または「以前のOS」とも呼ばれることがある)に関連する少なくとも1つの領域を含む。すなわち、第1のOSに関連する領域は第1のOSにOSデータを記憶し、および/または第1のOSによってサポートされる特定のファイルシステムアーキテクチャに従ってフォーマット(成形)され、それによって、第1のOSが領域からデータを読み書きすることを可能にする。
【0015】
少なくともいくつかの実施形態では、インストールされたOSが新しいOS(「第2のOS」)に置き換えられることができる。例えば、インストールされたOSが容量不足のために減価した場合、新たなOSがホストコンピューティング装置にインストールされることがある。ホストコンピューティング装置を第2のOSに変換するために、OSCコンピューティング装置は、ホストコンピューティング装置のためのOS変換処理を実行するように構成される。
すなわち、OSCコンピューティング装置は技術者がホストコンピューティング装置に物理的にアクセスする(例えば、携帯型物理データ記憶装置を使用して第2のOSをインストールする)ことを必要とせずに、第2のOSをホストコンピューティング装置にインストールすることを容易にするように構成される。また、OSCコンピューティング装置は、第1のOSを削除することなく第2のOSをインストールするように構成されているので、必要に応じて第1のOSを用いてホストコンピューティング装置を動作させることができる。
【0016】
例示的な実施形態ではOS変換プロセスを開始するために、OSCコンピューティング装置は第2のOSに関連付けられたアーカイブファイルを取り出すように構成される。少なくともいくつかの実施形態では、アーカイブファイルがOSCコンピューティング装置に通信可能に結合されたデータベースから取り出される。アーカイブファイルには、第2のOSをインストールするためのデータが圧縮フォーマットで格納されているため、検索時間の短縮や、データを格納するための記憶容量の削減が容易になる。アーカイブファイルは例えば、国際標準化機構によって設定された規格(例えば、ISO?9660)に従ってフォーマットされたISOファイルであってもよい。本実施形態では、アーカイブファイルが、物理データ記憶装置をエミュレートするOSイメージファイルを含む。OSイメージファイルには、インストールカーネルやソフトウェアパッケージ等のデータ記憶装置に第2のOSをインストールするためのデータが含まれる。
【0017】
いくつかの実施形態では、アーカイブファイルがOS変換プロセスで使用するには大きすぎることがある。一例では、本明細書で説明される少なくともいくつかのファイルシステムアーキテクチャが、4ギガバイト(GB)を超えるデータファイルに対する動作(読取り、書込みなど)を支援しないことがある。そのような実施形態では、OSCコンピューティング装置がアーカイブファイルからOSイメージファイルを抽出し、OSイメージファイルから1つまたは複数のソフトウェアパッケージを除去するように構成される。ソフトウェアパッケージは、第2のOSに1つまたは複数のアプリケーションを提供する1つまたは複数のデータファイルを含む。除去されるパッケージは、不必要な又は望ましくないソフトウェアアプリケーションを除去するために、OSイメージファイルから手動で除去されてもよい。代替的に、除去されるパッケージは、OSCコンピューティング装置が自動的にソフトウェアパッケージを除去するように予め定義されてもよい。例えば、OSCコンピューティング装置が多数のホストコンピューティング装置を第2のOSに変換している実施形態では、パッケージの除去を数回繰り返すことができ、したがって、必要なユーザ入力を低減するために自動化される。
【0018】
例示的な実施形態では、OSCコンピューティング装置が第2のOSに関連付けられたキックスタートファイルを生成するように構成される。キックスタートファイルは、実行されると、ユーザからの手動入力を必要とせずに、命令セットによって定義された設定に従って第2のOSを自動的にインストールすることを容易にする、事前定義された命令セットである。本明細書で説明する第2のOSのインストール中に、第2のOS(またはブートローダ)はキックスタートファイルを検出し、命令セットを自動的に実行することができる。本実施形態では、コンピューティング装置がキックスタートファイルを生成するためのキックスタートテンプレートを格納する。キックスタートテンプレートはホスト名、インターネットプロトコル(IP)アドレス、ネットマスク、デフォルトネットワークゲートウェイ、ネットワークスピード、および第1および第2のデータ記憶装置に関連付けられたハードディスクサイズなどであるが、これらに限定されない、ホストコンピューティング装置に特定の環境情報が入力される1つまたは複数の定義変数を含む。いくつかの実施形態では、OSCがホストコンピューティング装置から環境情報をコンピューティング装置要求し、キックスタートファイルを生成するために、受信した環境情報をキックスタートテンプレートに設定する。他の実施形態では、OSCコンピューティング装置がキックスタートテンプレートを含むスクリプトを生成して、ホストコンピューティング装置にテンプレートを設定させることができる。スクリプトは、コンピューティング装置によって実行されると、コンピューティング装置に1つまたは複数のタスクを自動的に実行させる1組のコンピュータ命令である。
【0019】
キックスタートファイルが生成された後、OSCコンピューティング装置は、第2のOSのためのカスタムアーカイブファイルを生成するように構成される。カスタムアーカイブファイルは、OSイメージファイルとキックスタートファイルとを圧縮フォーマットにて含む。いくつかの実施形態では、カスタムアーカイブファイルが第2のOS用に構成されたデータファイルまたは他のスクリプトなどの他のデータを含むこともできる。カスタムアーカイブファイルは、ホストコンピューティング装置におけるOSイメージファイルとキックスタートファイルの移動と記憶を容易にするために使用される。
【0020】
例示的な実施形態では、OSCコンピューティング装置がホストコンピューティング装置の操作を制御するように構成される。すなわち、ホストコンピューティング装置によってOSCコンピューティング装置から受信された命令(例えば、コマンドライン命令)は、ホストコンピューティング装置への物理的な接続を必要とせずに実行される。OSCコンピューティング装置はOS変換処理のステップを実行するものとして本明細書で説明される。OS変換処理のステップを実行することは、OSCコンピューティング装置が、ホストコンピューティング装置を制御するOSCコンピューティング装置を含んで、ステップを実行することを含むことができることを理解されたい。一実施形態では、OSCコンピューティング装置がOS変換処理のための命令を個別にホストコンピューティング装置に提供するように構成される。他の実施形態では、OSCコンピューティング装置がOS変換処理のためのスクリプトを生成し、そのスクリプトをホストコンピューティング装置に送信する。
【0021】
OSCコンピューティング装置は、第2のOSのためのホストコンピューティング装置内のデータ記憶装置のうちの1つに1つまたは複数の領域を作成するように構成される。例示的な実施形態では、OSCのコンピューティング装置は、データ記憶装置の状態をチェックして、データ記憶装置が劣化しているか、または故障しているかを判定することによって開始する。いずれかのデータ記憶装置が劣化している場合、OSCコンピューティング装置は劣化したデータ記憶装置の修理および/または交換を容易にするために、OS変換プロセスを終了することができる。データ記憶装置は、第1のOSによってサポートされるプロトコルに従って、領域の配列にて構成される。より具体的には、データ記憶装置が第1および第2のデータ記憶装置間の領域の配列を定義するメタデータを記憶する。他の実施形態では、データ記憶装置が配列ではなく、互いに独立してデータを記憶する。例示的な実施形態では、OSCコンピューティング装置が第1および第2のデータ記憶装置によって記憶されたメタデータを更新して、第1のデータ記憶装置の領域を除去することによって、領域の配列から第1のデータ記憶装置を切り離す。
【0022】
OSCコンピューティング装置は、第1のOSに関連付けられた第1の領域と、第2のOSに関連付けられた第2の領域とを含むように、第1のデータ記憶装置をフォーマットするように構成される。より具体的には、OSCコンピューティング装置が第1および第2のOSによってそれぞれサポートされる特定のファイルシステムアーキテクチャに第1および第2の領域を含めるように、第1のデータ記憶装置によって記憶された領域テーブルを更新する。ファイル割当表32-bit(FAT32)のように、いくつかのファイルシステムアーキテクチャは、両OSでサポートされている場合がある。領域テーブルは、データ記憶装置によって記憶されるメタデータ(これはそれぞれのデータ記憶装置内のそれぞれの領域の名前、大きさ、およびファイルシステムアーキテクチャを示す)である。
【0023】
OSCコンピューティング装置はカスタムアーカイブファイル内にデータを記憶し、第2のデータ記憶装置(またはホストシステムの別のデータ記憶装置)上に第2のOSをインストールすることを容易にするために、第1のデータ記憶装置の第2の領域上に第2のOSによってサポートされるファイルコンピューティング装置を作成する。本実施形態ではファイルシステムがFATファイルシステムであり、具体的にはFAT32ファイルシステムである。他の実施形態では、ファイルシステムは、少なくとも第2のOSによってサポートされる別のファイルシステムである。
【0024】
次に、OSCコンピューティング装置は、第2のデータ記憶装置上の第1のOSに関連する第3の領域の大きさに適合するように、第1の領域をフォーマットする。より具体的には、第1の領域の少なくとも1つのスライスが第3の領域の対応するスライスをミラーリングするように構成される。第1および第3の領域のスライスは、第1のOSに関連するデータを記憶する。次に、第1の領域は、第1および第2のデータ記憶装置によって記憶されたメタデータを、第1の領域への参照ポインタを含むように更新することによって、領域の配列に再結合される。第1の領域を第3の領域と一致させることによって、データ記憶装置は第1のOSのためにミラーリングされた状況(すなわち、冗長配列)で動作し続ける。
【0025】
例示的な実施形態では、OSCコンピューティング装置は、第1のOSによってサポートされるファイルシステムに第2の領域をマウント(すなわち、アクセスを提供)し、それによって、ホストコンピューティング装置が第2の領域にアクセス(すなわち、読み書き)することを可能にする。一実施形態では、第2の領域がパーソナルコンピュータファイルシステム(PCF)にマウントされる。PCFSは、第1のOSによってサポートされるプロトコルを使用して、第1のOSが第2の領域にアクセスすることを可能にするように構成される。PCFSは、第2のOSがインストールされるときに第2のOSによるアクセスを容易にするように構成されてもよい。例示的な実施形態では、OSCコンピューティング装置は、第2の領域に記憶するためにカスタムアーカイブファイルを送信する。いくつかの実施形態では、OSCコンピューティング装置が第2の領域のファイルシステムアーキテクチャをサポートし、カスタムアーカイブファイルを直接的に格納するように構成される。他の実施形態では、ホストコンピューティング装置がカスタムアーカイブファイルを受信し、PCFSを使用してカスタムアーカイブファイルを第2の領域に格納する。
【0026】
OSCコンピューティング装置は、カスタムアーカイブファイルを使用してループバックファイルシステムを生成するように構成される。ループバックファイルシステムはカスタムアーカイブファイルに物理データ記憶装置をエミュレートさせて、カスタムアーカイブファイル(すなわち、OSイメージファイルおよびキックスタートファイル)内のデータへのアクセスを提供させる。すなわち、カスタムアーカイブファイルは、第1のOSによってデータ記憶装置のように扱われる。ループバックファイルシステムはOSイメージファイルにデータ記憶装置をエミュレートさせ、それによってOSイメージファイル内のデータ(例えば、インストールカーネル、インストールリポジトリ、ソフトウェアパッケージなど)へのアクセスを提供することもできる。OSCコンピューティング装置は、ループバックファイルシステムをホストコンピューティング装置にマウントして、ループバックファイルシステムへのアクセスを提供する。例えば、OSCコンピューティング装置は、コンパクトディスク読み出し専用の記憶部(CD?ROM)として、ループバックファイルシステムをホストコンピューティング装置にマウントする。より具体的には、OSCコンピューティング装置がループバックファイルシステムをCD?ROMに関連付けられたディレクトリにマウントする。別の実施形態では、OSCコンピューティング装置がループバックファイルシステムをユニバーサルシリアルバス(USB)装置としてマウントする。
【0027】
ループバックファイルシステムがマウントされた後、OSCコンピューティング装置はOSイメージファイルからのデータを格納するために、第2の領域内にインストールディレクトリを作成する。インストールディレクトリは、ファイルおよび他のディレクトリを記憶するためのファイルシステム内の識別可能な位置である。本実施形態では、インストールディレクトリが、第1のOSがサポートするPCFを介して第2の領域上に作成される。そして、OSイメージファイルとキックスタートファイルとをインストールディレクトリに格納し、ループバックファイルシステムをホストコンピューティング装置からアンマウントする。少なくともいくつかの実施形態では、OSイメージファイル内のデータファイル(例えば、インストールカーネル、ソフトウェアパッケージなど)が抽出され、インストールディレクトリ内に格納される。
【0028】
インストールディレクトリが設定された後、OSコンピューティング装置は、ホストコンピューティング装置上で動作するOSを第1のOSから第2のOSに変換するように構成される。少なくともいくつかの実施形態では、OSCコンピューティング装置がインストールディレクトリを識別するために、ホストコンピューティング装置のブートローダをアップデートすることができる。ブートローダは、ホストコンピューティング装置上のOSをロードまたは開始するソフトウェアアプリケーションである。ブートローダは、起動可能な異なるOSを識別する関連ブートメニューを有する。例示的な実施形態では、ブートメニューがデータ記憶装置内に記憶されたOSを指し示すブートメニュー上の入力ごとのブート識別子を含む。OSCコンピューティング装置はインストールディレクトリに関連付けられたブート識別子を作成し、作成されたブート識別子を含むようにブートメニューを更新する。いくつかの実施形態では、作成された起動識別子がインストールディレクトリおよび/またはOSイメージファイルを参照する。他の実施形態では、作成された起動識別子が第2の領域または第1のデータ記憶装置を参照する。そのような実施形態では、ブートローダが領域またはデータ記憶装置をスキャンして、記憶されているOSイメージファイルを識別する。例示的な実施形態では、OSCコンピューティング装置がブートローダを更新して、作成されたブート識別子をデフォールトオプションとして設定する(すなわち、ホストコンピューティング装置が再ブートされると、第2のOSが自動的に開始される)。少なくともいくつかの実施形態では、OSCコンピューティング装置がキックスタートファイルに関連付けられた参照ポインタを第2のOSの起動識別子に追加するように構成される。このような実施形態では、インストールを開始するために第2のOSが初期化されると、ブートローダはブート識別子内の参照ポインタに基づいてキックスタートファイルを識別し、キックスタートファイルに格納された命令を自動的に実行させて第2のOSをインストールするように構成される。
【0029】
例示的な実施形態では、次に、第2のデータ記憶装置上の第2のOSのインストールプロセスを開始するために、ホストコンピューティング装置がリブートされる。第2のデータ記憶装置に記憶されたデータの少なくとも一部は、再起動前にバックアップされてもよい。キックスタートファイルは、ホストコンピューティング装置に、予め定義された構成設定に従って第2のOSを自動的にインストール及び構成させる。例えば、キックスタートファイルは、ホストコンピューティング装置のホスト名、インタフェース、及び/又はディスク配置を構成することができる。例示的な実施形態では、キックスタートファイルが第2のデータ記憶装置内のデータを除去させて、第2のデータ記憶装置上への第2のOSの設置を容易にする。キックスタートファイルは第1のOSをホストコンピューティング装置から完全に削除せず、第2のOSに何らかの問題が発生した場合に第1のOSで動作するためのフォールバックを可能にする。すなわち、第1のOSはデュアルブートを容易にするために(すなわち、ホストコンピューティング装置が起動または再始動されるたびに第1のOS又は第2のOSを選択するために)、第1のデータ記憶装置に記憶される。
【0030】
少なくともいくつかの実施形態では、ホストコンピューティング装置が試験用のある期間の間、第2のOSを使用して動作する。第2のOSに完全に切り替わることが決定された後、第1のOSはデータ記憶装置から除去され、データ記憶装置は、データ冗長性のために第2のOS内の多重ディスクアレイに構成される。具体的には、ホストコンピューティング装置によって実行されるサービスまたはプロセスに対するフォーマッティング(成形)の影響を制限しながら、第1および第2のデータ記憶装置を配列につき互いにミラーリングするようにフォーマット(成形)するために、(例えば、ホストコンピューティング装置によって)データ整列処理が実行される。
【0031】
キックスタートファイルはデータ整列処理を容易にするために、第2のOSのインストール中にデータ記憶装置をフォーマットするように構成されてもよい。一実施形態では、キックスタートファイルが第2のデータ記憶装置上に領域の配列を作成するように構成される。領域のアレイは領域の冗長アレイである(すなわち、アレイ内のそれぞれの領域は、少なくとも1つの一致領域を有する)。キックスタートファイルは、領域の一部を失敗した領域または装置として識別するように構成される。より具体的には、キックスタートファイルが領域の配列に関連付けられたメタデータを更新して、領域の一部を失敗した領域として識別する。領域の配列は「有効」である領域(すなわち、失敗していない領域)の第1のサブセットと、失敗領域である領域の第2のサブセットとを含む。失敗した領域を作成すると、冗長アレイの「ホットスワップ」機能を利用することが容易になる。ホットスワッピングは、置換領域またはデータ記憶装置が追加の構成なしに故障した装置を置換することを可能にする機能である。したがって、データ整列処理中に、失敗領域が領域のアレイから除去され、第1のデータ記憶装置はホストコンピューティング装置の複数リブートを必要とせずに、アレイ内の失敗した領域を置き換えるために領域の新しいサブセットを記憶するように構成される。次に、第2のデータ記憶装置上の領域の第1のサブセットと、第1のデータ記憶装置上の領域の新しいサブセットとは整列され、互いに一致し、データ整列処理を完了する。
【0032】
本明細書で説明する方法およびシステムはコンピュータソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せもしくはサブセットを含むコンピュータプログラミングまたはエンジニアリング技法を使用して実装することができる。技術的効果は、(i)第1の又はインストールされたOSを有するホストコンピューティング装置のキックスタートファイルを生成することであって、キックスタートファイルは、ホストコンピューティング装置に関連付けられた環境情報を含む、ことと、(ii)第2のOSのOSイメージファイルを含む第2の又は新たなOSに関連付けられたアーカイブファイルを検索することと、(iii)アーカイブファイルから前記OSイメージファイルを抽出することと、(iv)OSイメージファイルから少なくとも1つのソフトウェアパッケージを削除することと、(v)OSイメージファイルとキックスタートファイルとを含むカスタムアーカイブファイルを生成することと、(vi)ホストコンピューティング装置の第1のデータ記憶装置をフォーマットして、第1のOSに関連付けられた第1の領域と第2のOSに関連付けられた第2の領域とを含ませることと、(vii)カスタムアーカイブファイルをホストコンピューティング装置に送信することと、(viii)第2の領域をPCFSにマウントして、第1のOSが第2の領域にアクセスできるようにすることと、(ix)カスタムアーカイブファイルを使用して、ホストコンピューティング装置のマウントされたループバックファイルシステムを生成して、OSイメージファイルとキックスタートファイルとをカスタムアーカイブファイル内に提供することと、(x)ホストコンピューティング装置の第2のデータ記憶装置に第2のOSをインストールするために、OSイメージファイルとキックスタートファイルとを第2の領域のインストールディレクトリに記憶することと、(xi)OSイメージファイルとキックスタートファイルとに基づいて、ホストコンピューティング装置上で動作するOSを、第1のOSから第2のOSに変換することと、のうち1つによって達成されてよい。
【0033】
本明細書で説明されるシステムおよび方法は、(a)データ記憶装置に記憶されたデータを用いたサービスと処理とを新たなOSに変換することで、帯域幅と処理の干渉とを低減することと、(b)スクリプトを用いたOS変換処理を自動化することによって、専門的な概覧を低減することと、(c)ホストコンピューティング装置との物理的接触を使用せずにインストールを実現することによってインストールコストを低減して、それにより移動と労働と機器(例えばインストール用媒体)とについてのコストを低減することと、(d)OS変換処理の前にパッケージを削除することによってOSイメージファイルの移行及び処理の速度を改善することと、(e)新たなOSの試験中に初期のOSに戻る選択肢を提供することによってデータ安全性を改善することと、を支援するよう構成される。
【0034】
ここでは、ホストコンピューティング装置やOSCコンピューティング装置などのコンピュータシステムについて説明する。
本明細書で説明するように、そのようなコンピュータシステムはすべて、プロセッサおよびメモリを含む。
【0035】
さらに、本明細書で言及されるコンピュータ装置内の任意のプロセッサは1つまたは複数のプロセッサを指すこともでき、プロセッサは、並列に動作する1つのコンピューティング装置または複数のコンピューティング装置内にあることができる。
さらに、本明細書で言及されるコンピュータ装置内の任意のメモリは1つまたは複数のメモリを指すこともでき、記憶部は、並列に動作する1つのコンピューティング装置または複数のコンピューティング装置内にあることができる。
【0036】
本明細書で使用されるように、処理部は、マイクロコントローラ、縮小命令設定回路(RISC)、特定の用途向け集積回路(ASIC)、ロジック回路、および本明細書で説明される機能を実行することができる任意の他の回路またはプロセッサを使用するシステムを含む、任意のプログラマブルシステムを含むことができる。上記の例はあくまでも例示であり、従って「プロセッサ」という用語の定義および/または意味を制限することを意図したものではない。
【0037】
ここで用いられる「データベース」という用語は、データの体系、関係データベース管理システム(RDBMS)、またはその両方を指す場合がある。本明細書で使用されるように、データベースは、階層データベース、リレーショナルデータベース、フラットファイルデータベース、オブジェクトリレーショナルデータベース、オブジェクト指向データベース、およびコンピュータシステムに格納される記録またはデータの任意の他の構造化された集合を含む任意の集合のデータを含むことができる。上記の例は、例にすぎず、したがって、データベースという用語の定義および/または意味を限定することを意図するものでは決してない。RDBMSの例としてはOracle(登録商標)Database、MySQL、IBM(登録商標)DB2、Microsoft(登録商標)SQLサーバ、Sybase(登録商標)、およびPostgreSQLが挙げられるが、これらに限定されない。しかし、本明細書に記載のシステムおよび方法を可能にする任意のデータベースを使用することができる。(Oracleはカリフォルニア州レッドウッドショアーズ(Redwood Shores)のOracle Corporationの登録商標であり、IBMはニューヨーク州アーモンク(Armonk)のInternational Business Machines Corporationの登録商標であり、Microsoftはワシントン州レッドモンド(Redmond)のMicrosoft Corporationの登録商標であり、Sybaseはカリフォルニア州ダブリン(Dublin)のSybaseの登録商標である。
【0038】
一実施形態ではコンピュータプログラムが提供され、このプログラムはコンピュータ可読媒体上に実装される。例示的な実施形態では、システムがサーバコンピュータへの接続を必要とせずに、単一のコンピュータシステム上で実行される。さらなる実施形態では、システムがWindows(Windowsはワシントン州レドモンドのMicrosoft Corporationの登録商標)で実行されている。さらに別の実施形態では、システムがメインフレーム環境およびUNIX(登録商標)サーバ環境上で実行される(UNIXが英国バークシャー州リーディング(Reading)に所在するX/Open Company Limitedの登録商標)。アプリケーションは柔軟性があり、主要な機能性を損なうことなく、種々異なる環境で動作するように設計されている。いくつかの実施形態では、システムが複数のコンピューティング装置間に分散された多数のコンポーネントを含む。1つまたは複数の構成要素は、コンピュータ可読媒体内に実装されたコンピュータ実行可能命令の形態とすることができる。
【0039】
本明細書で使用されるように、単数形で列挙され、「1つの(a)」または「1つの(an)」という語で続く要素または工程は、それを排除することが明示的に列挙されない限り、複数の要素またはステップを排除しないものとして理解されるべきである。さらに、本開示の「例示的な実施形態」または「一実施形態」への言及は列挙された特徴も組み込む追加の実施形態の存在を排除するものとして解釈されることを意図していない。
【0040】
本明細書で使用されるように、用語「ソフトウェア」および「ファームウェア」は交換可能であり、RAMメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、および不揮発性RAM(NVRAM)メモリを含んだ、プロセッサによる実行のためにメモリに格納された任意のコンピュータプログラムを含む。上記のメモリのタイプは、例示にすぎず、したがって、コンピュータプログラムの記憶に使用可能なメモリのタイプに関して限定するものではない。
【0041】
本システムおよびプロセスは、本明細書に記載の特定の実施形態に限定されない。さらに、各システムおよび各処理の構成要素は、本明細書に記載される他の構成要素および処理とは独立して、かつ別個に実施することができる。それぞれの構成要素および処理は、他の組み立てパッケージおよび処理と組合せて使用することもできる。
【0042】
以下の詳細な説明は本開示の実施形態を例示するものであり、限定するものではない。本発明は、遠隔ホストコンピューティング装置のためのオペレーティングシステムを変換するための全般的なアプリケーションを有することが企図される。
【0043】
図1は、ホストコンピューティング装置102を第1のオペレーティングシステム(OS)から第2のOSに変換するための例示的なオペレーティングシステム変換(OSC)システム100の構成図である。例示的な実施形態では、システム100が、ホストコンピューティング装置102に通信可能に結合されたOSCコンピューティング装置104を含む。OSCコンピューティング装置104は、プロセッサ106と、プロセッサ106と通信するメモリ装置108とを含む。OSCコンピューティング装置104は本明細書で説明するように、スクリプト、キックスタートファイル、OSイメージなどを記憶し検索するために、データベース105と通信する。他の実施形態では、システム100が、本明細書の他の場所で説明されるものを含む、追加の、より少ない、または代替の構成要素を含むことができる。
【0044】
ホストコンピューティング装置102は、プロセッサ110と、プロセッサ110と通信するメモリ装置112と、第1のデータ記憶装置114と、第2のデータ記憶装置116とを含む。いくつかの実施形態では第1および/または第2のデータ記憶装置114、116はホストコンピューティング装置102から物理的に分離されている。例えば、第1および第2のデータ記憶装置114、116は、ホストコンピューティング装置102と通信するネットワークアタッチドストレージ(NAS)として構成されてもよい。いくつかの実施形態では、ホストコンピューティング装置102が3つ以上のデータ記憶装置を含むことができる。
【0045】
例示的な実施形態では第1および第2のデータ記憶装置114、116はデータ冗長性のために多重ディスクアレイで構成される。一実施形態ではデータ記憶装置114、116はRAID1構成である。データ記憶装置114、116は、アレイの構造を定義する配列メタデータ118を記憶する。装置を追加したり、装置を削除したり、さもなければ配列の形状を調整したりするために、ホストコンピューティング装置102は、配列に関連付けられたそれぞれのデータ記憶装置内の配列メタデータ118を修正する。
【0046】
ホストコンピューティング装置102は、第1および第2のデータ記憶装置114、116に記憶されたデータに関連する1つまたは複数のプロセスまたはサービスを提供するように構成される。例えば、ホストコンピューティング装置102は例えば、認証、承認、決済、及び/又は支払いネットワークにおける支払いトランザクションの処理に関するメッセージを送受信するために、様々な当事者間の支払いネットワークにおけるデータ通信を容易にするように構成されてもよい。他の実施形態では、ホストコンピューティング装置102がデータ記憶装置114、116に記憶されたデータを使用して、別のサービスまたはプロセスを提供するように構成される。
【0047】
第1のOSから第2のOSへのホストコンピューティング装置102の移行が決定されると、OSCコンピューティング装置104は、OS変換処理を実行するように構成される。OS変換処理は第2のOSへの完全な変換が実行されるまで、第1のOSを第1のデータ記憶装置114上に維持しながら、第2のデータ記憶装置116上に第2のOSをインストールする。OSCコンピューティング装置104は、ホストコンピューティング装置102へ物理的にアクセスしてホストコンピューティング装置に物理媒体(例えば、CD?ROM、USB装置など)を手動で挿入して第2のOSをインストールすることを必要とせずに、OS変換プロセスが実行されることを可能にするように構成される。
【0048】
図2は、
図1に示すシステム100によって実行される例示的なOS変換処理中のデータフローチャートである。他の実施形態では、OS変換処理が本明細書の他の場所で説明されるものを含む、追加の、より少ない、または代替のデータおよび/またはステップを含むことができる。
【0049】
例示的な実施形態ではOS変換プロセスを開始するために、OSCコンピューティング装置104は第2のOSに関連付けられたアーカイブファイル202を取り出すように構成される。少なくともいくつかの実施形態では、アーカイブファイル202がデータベース105から取り出される。アーカイブファイル202には、第2のOSを圧縮フォーマットでインストールするためのデータが格納されているため、検索時間の短縮や、データを格納するための記憶容量の削減が容易になる。アーカイブファイル202は例えば、国際標準化機構によって設定された規格(例えば、ISO?9660)に従ってフォーマットされたISOファイルであってもよい。例示的な実施形態では、アーカイブファイル202が物理的データ記憶装置をエミュレートするOSイメージファイル204を含む。OSイメージファイル204は、第2のOSをデータ記憶装置にインストールするデータを含む。例えば、OSイメージファイル204は、第2のOSに関連するインストールカーネル、インストールリポジトリ、および/またはソフトウェアパッケージを含むことができる。
【0050】
いくつかの実施形態では、アーカイブファイル202がOS変換プロセスで使用するには大きすぎる場合がある。一例では、少なくともいくつかのファイルシステムアーキテクチャが4ギガバイト(GB)を超えるデータファイルに対する動作(読取り、書込みなど)を支援しないことがある。そのような実施形態では、OSCコンピューティング装置104がアーカイブファイル202からOSイメージファイル204を抽出し、OSイメージファイル204から1つまたは複数のソフトウェアパッケージ206を削除するように構成される。ソフトウェアパッケージ206は、1つまたは複数のアプリケーションを第2のOSに提供する1つまたは複数のデータファイルを含む。除去されたパッケージ206は不必要な又は望ましくないソフトウェアアプリケーションを除去するために、OSイメージファイル204から手動で除去されてもよい。あるいは、除去するパッケージ206が、OSCコンピューティング装置104が自動的にソフトウェアパッケージ206を除去するように予め定義されてもよい。
【0051】
例えば、OSCコンピューティング装置104がマルチホストコンピューティング装置102を第2のOSに変換している実施形態ではパッケージ206の除去は数回繰り返され、したがって、必要とされるユーザ入力量を低減するように自動化され、例示的な実施形態ではOSCコンピューティング装置104が第2のOSに関連付けられたキックスタートファイル208を生成するように構成される。キックスタートファイル208は実行されると、ユーザからの手動入力を必要とせずに、命令セットによって定義された設定に従って第2のOSを自動的にインストールすることを容易にする、一組の事前定義された命令である。本明細書で説明する第2のOSの設置中に、第2のOS(またはブートローダ)はキックスタートファイル208を検出し、命令セットを自動的に実行することができる。例示的な実施形態では、OSCコンピューティング装置104がキックスタートファイル208を生成するためのキックスタートテンプレート210をデータベース105に格納する。キックスタートテンプレート210はホスト名、インターネットプロトコル(IP)アドレス、ネットマスク、デフォルトネットワークゲートウェイ、ネットワークスピード、および第1および第2のデータ記憶装置114、116に関連付けられたハードディスクサイズなどであるが、これらに限定されない、ホストコンピューティング装置102に特定の環境情報214で設定される1つまたは複数の定義変数212を含む。いくつかの実施形態では、OSCコンピューティング装置104がホストコンピューティング装置102から環境情報214を要求し、キックスタートファイル208を生成するために、受信した環境情報214をキックスタートテンプレート210に設定する。他の実施形態では、OSCコンピューティング装置104がキックスタートテンプレート210を含むスクリプト(図示せず)を生成して、ホストコンピューティング装置102にテンプレート210を設定させることができる。
【0052】
キックスタートファイル208が生成された後、OSCコンピューティング装置104は、第2のOSのためのカスタムアーカイブファイル216を生成するように構成される。カスタムアーカイブファイル216は、圧縮フォーマットのOSイメージファイル204およびキックスタートファイル208を含む。いくつかの実施形態では、カスタムアーカイブファイル216が第2のOSのためのデータファイルまたは他のスクリプトなどの他のデータをさらに含むことができる。カスタムアーカイブファイル216は、ホストコンピューティング装置102におけるOSイメージファイル204およびキックスタートファイル208の伝送および記憶を容易にするために使用される。
【0053】
例示的な実施形態では、OSCコンピューティング装置104がホストコンピューティング装置102の動作を制御するように構成される。すなわち、ホストコンピューティング装置102がOSCコンピューティング装置104から受け取った命令(例えば、コマンドライン命令)は、ホストコンピューティング装置102への物理的なアクセスを必要とせずに実行される。
OSCコンピューティング装置104はOS変換プロセスのステップを実行するものとして本明細書で説明されるが、OS変換プロセスのステップを実行することはステップを実行するようにホストコンピューティング装置102を制御することを含むことができることを理解されたい。一実施形態では、OSCコンピューティング装置104がOS変換処理のための命令をホストコンピューティング装置104に個別に提供するように構成される。他の実施形態では、OSCコンピューティング装置104がOS変換処理のためのスクリプトを生成し、そのスクリプトをホストコンピューティング装置102に送信する。
【0054】
OSCコンピューティング装置104は、第2のOSのための1つまたは複数の領域を第1のデータ記憶装置114上に作成するように構成される。例示的な実施形態では、OSCコンピューティング装置104がデータ記憶装置114、116の状態をチェックして、データ記憶装置114または116のいずれかが劣化または故障状態にあるかどうかを判定することによって開始する。データ記憶装置114、116のいずれかが劣化または故障した場合、劣化または故障したデータ記憶装置が修理されるまで、OSコンバージョンプロセスを終了することができる。例示的な実施形態では、OSCコンピューティング装置104が第1および第2のデータ記憶装置114、116によって記憶されたメタデータ118を更新して、第1のデータ記憶装置114の領域に関連するデータを除去することによって、第1のデータ記憶装置114を領域の配列から切り離す。
【0055】
OSCコンピューティング装置104は第1のOSに関連付けられた第1の領域218と、第2のOSに関連付けられた第2の領域220とを含むように、第1のデータ記憶装置114にフォーマットするように構成される。より具体的には、OSCコンピューティング装置104が第1および第2のOSによってそれぞれサポートされる特定のファイルシステムアーキテクチャに第1および第2の領域218、220を含めるように、第1のデータ記憶装置114によって記憶された領域テーブル222を更新する。例示的な実施形態では、第2の領域220に関連するファイルシステムアーキテクチャがファイル割当テーブル32ビット(FAT32)などの両方のOSによってサポートされる。特定の実施形態では、第1の領域218に関連するファイルシステムアーキテクチャもまた、両OSでサポートされることがある。領域テーブル222は、それぞれのデータ記憶装置内のそれぞれの領域の名前、大きさ、およびファイルシステムアーキテクチャを示す、データ記憶装置114、116によって記憶されたメタデータである。
【0056】
OSCコンピューティング装置104はカスタムアーカイブファイルの記憶および第2のOSのインストールを容易にするために、第1のデータ記憶装置114の第2の領域220上にファイルシステムを作成する。本実施形態ではファイルシステムがFATファイルシステムであり、具体的にはFAT32ファイルシステムである。他の実施形態では、ファイルシステムは、第1のOSおよび第2のOSによってサポートされる別のファイルシステムである。
【0057】
次に、OSCコンピューティング装置104は、第1の領域218をフォーマットして、第2のデータ記憶装置116上の第1のOSに関連する第3の領域224の大きさに適合させる。より具体的には、第1の領域218の少なくとも1つのスライスが第3の領域224の対応するスライスとミラーリングされるように構成される。ミラーリングされたスライスは、第1のOSに関連するデータを記憶するように構成される。次に、第1の領域218は、第1および第2のデータ記憶装置114、116によって記憶された配列メタデータ118を更新して、第1の領域218への参照ポインタを含めることによって、領域の配列に再結合される。第1の領域218を第3の領域224と一致させることによって、データ記憶装置114、116は第2のOSがインストールされるまで、第1のOSのミラーリングされた状態(すなわち、冗長配列)で動作し続ける。
【0058】
例示的な実施形態では、OSCコンピューティング装置104が第1のOSによってサポートされるファイルシステム226に第2の領域220をマウント(すなわち、アクセスを提供)し、それによって、ホストコンピューティング装置102が第2の領域220にアクセス(すなわち、読み取りおよび書き込み)することを可能にする。一実施形態では、第2の領域220がパーソナルコンピュータファイルシステム(PCF)226にマウントされる。PCFS226は、第1のOSによってサポートされるプロトコルを使用して、第1のOSが第2の領域220にアクセスすることを可能にするように構成される。いくつかの実施形態では、PCF226が第2のOSが第1および/または第2の領域218、220にアクセスすることを可能にするように構成されてもよい。例示的な実施形態では、OSCコンピューティング装置104は、第2の領域220に記憶するためにカスタムアーカイブファイル216を送信する。いくつかの実施形態では、OSCコンピューティング装置104が第2の領域220のファイルシステムアーキテクチャを支援し、カスタムアーカイブファイル216を直接的に記憶するように構成される。他の実施形態では、ホストコンピューティング装置102がカスタムアーカイブファイル216を受信し、PCF226を使用してカスタムアーカイブファイル216を第2の領域220に格納する。
【0059】
OSCコンピューティング装置104は、カスタムアーカイブファイル216を使用してループバックファイルシステム228を生成するように構成される。ループバックファイルシステム228はカスタムアーカイブファイル216に物理データ記憶装置をエミュレートさせて、カスタムアーカイブファイル216内のデータ(すなわち、OSイメージファイル204およびキックスタートファイル208)へのアクセスを提供させる。すなわち、カスタムアーカイブファイル216は、第1のOSによってデータ記憶装置のように扱われる。例示的な実施形態では、ループバックファイルシステム228がOSイメージファイル204にデータ記憶装置をエミュレートさせ、それによってOSイメージファイル204内のデータ(例えば、インストールカーネル、インストールリポジトリなど)へのアクセスを容易にするようにさらに構成される。OSCコンピューティング装置104は、ループバックファイルシステム228をホストコンピューティング装置102にマウントして、ループバックファイルシステム228へのアクセスを提供する。一実施形態では、OSCコンピューティング装置104がループバックファイルシステム228をCDROMとしてホストコンピューティング装置102にマウントする。別の実施形態では、OSCコンピューティング装置104がUSB装置としてループバックファイルシステム228をマウントする。
【0060】
ループバックファイルシステム228がマウントされた後、OSCコンピューティング装置104はOSイメージファイル204を記憶するために、第2の領域220内にインストールディレクトリ230を作成する。インストールディレクトリ230は、ファイルおよび他のディレクトリを記憶するためのファイルシステム内の識別可能な位置である。例示的な実施形態ではインストールディレクトリ230が第1のOSによってサポートされるPCFS226を介して第2の領域220上に作成され、OSイメージファイル204およびキックスタートファイル208は次に、インストールディレクトリ230に格納され、ループバックファイルシステム228はホストコンピューティング装置102からアンマウントされる。
【0061】
インストールディレクトリ230が設定(ポピュレート)された後、OSCコンピューティング装置104は、ホストコンピューティング装置102上で動作するOSを第1のOSから第2のOSに変換するように構成される。少なくともいくつかの実施形態では、OSCコンピューティング装置104がインストールディレクトリ230を識別するために、ホストコンピューティング装置102のブートローダ232を更新することができる。ブートローダ232は、ホストコンピューティング装置102上のOSをロードまたは開始するソフトウェアアプリケーションである。ブートローダ232は、起動可能な異なるOSを識別する関連ブートメニュー234を有する。例示的な実施形態では、ブートメニュー234がデータ記憶装置114及び116内に記憶されたOSを指すブートメニュー234上のエントリ毎にブート識別子236を含む。OSCコンピューティング装置104はインストールディレクトリ230に関連するブート識別子236を作成し、作成されたブート識別子236を含むようにブートメニュー234を更新する。いくつかの実施形態では、作成されたブート識別子236がインストールディレクトリ230および/またはOSイメージファイル204を参照する。他の実施形態では、作成されたブート識別子236が第2の領域220または第1のデータ記憶装置114を参照する。そのような実施形態では、ブートローダ232が参照された領域またはデータ記憶装置をスキャンして、記憶されたOSイメージファイルを識別する。例示的な実施形態では、OSCコンピューティング装置104がブートローダ232を更新して、作成されたブート識別子236をデフォルト(既定)オプションとして設定する(すなわち、ホストコンピューティング装置102が再ブートされると、第2のOSが自動的に開始される)。少なくともいくつかの実施形態では、ブート識別子236がキックスタートファイル208に関連するリファレンスポインタを含む。ブートローダ232がブート識別子236を選択して第2のOSを起動すると、キックスタートファイル208が検索されて実行され、第2のOSがインストールされる。
【0062】
例示的な実施形態では、次に、第2のデータ記憶装置116上の第2のOSのインストール処理を開始するために、ホストコンピューティング装置102がリブートされる。第2のデータ記憶装置116に記憶されたデータの少なくとも一部は、再起動前にバックアップされてもよい。キックスタートファイル208はホストコンピューティング装置102に、予め定義された構成設定に従って第2のOSを自動的にインストールさせ、構成させる。例えば、キックスタートファイル208は、第2のOS内のホストコンピューティング装置102のホスト名、インタフェース、および/またはディスク配置を構成することができる。第2のデータ記憶装置116に記憶されたデータの少なくとも一部は、第2のデータ記憶装置116に第2のOSをインストールするために除去される。キックスタートファイル208は第1のOSをホストコンピューティング装置102から完全に除去せず、第2のOSに何らかの問題が生じた場合に、第1のOSと共に動作するためのフォールバックを可能にする。例示的な実施形態では、第1のOSは第1のデータ記憶装置114にインストールされたままであり、第2のOSは第2のデータ記憶装置116にインストールされる。第2の領域220は第1及び第2のOSが互いにデータを送信するために使用することができる(例えば、バックアップデータ用)。なぜなら、第2の領域220は、OSの双方がアクセス可能なファイルシステムアーキテクチャを有しているからである。テストし、第2のOSで動作させた後、ホストコンピューティング装置102を第2のOSに完全に変換するとの判定を行うことができる。第2のOSへの完全な変換の間、第1のOSは第1のデータ記憶装置114から除去され、第2のOSに関連するデータをインストールする。データ記憶装置114、116は冗長配列にて構成され、ホストコンピューティング装置102によって実行されるサービスおよびプロセスのデータ安全性を改善することを容易にする。
【0063】
図3は、OSCコンピューティング装置104(
図1に示す)などの遠隔またはユーザコンピューティング装置302の例示的な構成を示す。コンピューティング装置302は、命令を実行するためのプロセッサ305を含むことができる。いくつかの実施形態では、実行可能命令がメモリ領域310に格納されてもよい。プロセッサ305は(例えば、マルチコア構成において)1つ以上のプロセッシングユニットを含み得る。メモリ領域310は、実行可能命令および/または他のデータなどの記憶および検索を可能にする任意の装置とすることができる。メモリ領域310は、1つまたは複数のコンピュータ可読媒体を含むことができる。
【0064】
コンピューティング装置302はまた、ユーザ301に情報を提示するために、少なくとも1つのメディア出力コンポーネント315を含んでもよい。メディア出力コンポーネント315は、ユーザ301に情報を伝達することができる任意のコンポーネントであってもよい。いくつかの実施形態では、メディア出力コンポーネント315が映像アダプタおよび/または音声アダプタなどの出力アダプタを含むことができる。出力アダプタはプロセッサ305に動作可能に結合され、表示装置(例えば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ,陰極管(CRT)、または「電子インク」ディスプレイ)または音声出力装置(例えば、スピーカまたはヘッドホン)のような出力装置に動作可能に結合され得る。いくつかの実施形態では、メディア出力コンポーネント315が対話型ユーザインタフェース(例えば、ウェブブラウザまたはクライアントアプリケーション)をユーザ301に提示するように構成されてもよい。
【0065】
いくつかの実施形態では、コンピューティング装置302がユーザ301から入力を受信するための入力装置320を含み得る。入力装置320は例えば、キーボード、ポインティング装置、マウス、スタイラス、タッチセンシティブパネル(例えば、タッチパッド又はタッチスクリーン)、カメラ、ジャイロスコープ、加速度センサ、位置検出部、及び/又は音声入力装置を含むことができる。タッチスクリーンのような単一の構成要素は、メディア出力コンポーネント315の出力装置及び入力装置320の両方として機能することができる。
【0066】
コンピューティング装置302はまた、遠隔装置に通信可能に結合可能であり得る通信ユニット325を含み得る。通信ユニット325は例えば、携帯電話機ネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)、3G、4GまたはBluetooth)または他のモバイルデータネットワーク(例えばWIMAX)と共に使用するための有線または無線のネットワークアダプタまたはワイヤレスデータ送受信機を含むことができる。
【0067】
メモリ領域310には、例えば、メディア出力コンポーネント315を介してユーザ301にユーザインタフェースを提供し、選択的に、入力装置320からの入力を受信し処理するためのコンピュータ可読命令が格納される。ユーザインタフェースは、他の可能性の中でもとりわけ、ウェブブラウザ及びクライアントアプリケーションを含むことができる。ウェブブラウザは、ユーザ301がウェブサーバからのウェブページまたはウェブサイトに典型的に埋め込まれたメディアおよび他の情報を表示し、それらと対話することを可能にする。
クライアントアプリケーションは、ユーザ301が例えば、ベンダまたは企業に関連付けられたサーバアプリケーションと対話することを可能にする。
【0068】
図4は、ホストコンピューティング装置102およびOSCコンピューティング装置104(両方とも
図1に示す)などのホストコンピューティング装置402の例示的な構成を示す。ホストコンピューティング装置402は、命令を実行するためのプロセッサ405を含むことができる。命令は例えば、メモリ領域410に格納することができる。プロセッサ405は(例えば、マルチコア構成において)1つ以上のプロセッシングユニットを含み得る。
【0069】
プロセッサ405は、ホストコンピューティング装置402が
図3に示すコンピューティング装置302または別のホストコンピューティング装置402などの遠隔装置と通信することができるように、通信ユニット415に動作可能に結合することができる。例えば、通信ユニット415は、インターネットを介してユーザコンピューティング装置302から要求を受信することができる。
【0070】
プロセッサ405はまた、記憶装置425(例えば、
図1に示される第1および第2のデータ記憶装置108、110)に動作可能に結合され得る。記憶装置425は、データを記憶および/または検索するのに適した任意のコンピュータ操作ハードウェアであってもよい。いくつかの実施形態では、記憶装置425がホストコンピューティング装置402に統合されてもよい。例えば、ホストコンピューティング装置402は、記憶装置425として1つ以上のハードディスクドライブを含んでもよい。他の実施形態では、記憶装置425がホストコンピューティング装置402の外部にあってもよく、複数のホストコンピューティング装置402によってアクセスされてもよい。例えば、記憶装置425は、ハードディスクドライブまたはソリッドステートディスクなどの多数の記憶ユニットを、RAID構成で含むことができる。記憶装置425は、ストレージエリアネットワーク(SAN)および/またはネットワーク接続ストレージ(NAS)システムを含むことができる。
【0071】
いくつかの実施形態では、プロセッサ405が記憶インタフェース420を介して記憶装置425に動作可能に結合され得る。記憶インタフェース420は、プロセッサ405に記憶装置425へのアクセスを提供することができる任意の構成要素とすることができる。記憶インタフェース420は例えば、アドバンストテクノロジアタッチメント(ATA)アダプタ、シリアルATA(SATA)アダプタ、スモールコンピュータシステムインタフェース(SCSI)アダプタ、RAIDコントローラ、SANアダプタ、ネットワークアダプタ、および/または記憶装置425へのアクセスをプロセッサ305に提供する任意のコンポーネントを含むことができる。
【0072】
メモリ領域310(
図3に示す)および410は動的RAM(DRAM)または静的RAM(SRAM)などのランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、および不揮発性RAM(NVRAM)を含むことができるが、これらに限定されない。上記のメモリタイプは、例示にすぎず、したがって、コンピュータプログラムの記憶に使用可能なメモリのタイプに関して限定するものではない。
【0073】
図5は、システム100(
図1に示す)などのOSCシステムを使用して、第1のOSから第2のOSにホストコンピューティング装置を変換するための例示的な方法500のフローチャートである。方法500はOSCコンピューティング装置(例えば、
図1に示すOSCコンピューティング装置104)によって少なくとも部分的に実行される。他の実施形態では、追加の、より少ない、または代替のステップ(方法500が本明細書の他の場所で説明されるものを含む)を含むことができる。
【0074】
方法500は、ホストコンピューティング装置のためのキックスタートファイルをOSCコンピューティング装置が生成することから始まる(502)。少なくともいくつかの実施形態では、OSCコンピューティング装置がキックスタートテンプレートを検索し、ホストコンピューティング装置から環境情報を収集する。キックスタートテンプレートはキックスタートファイルを生成する(502)ために、環境情報で自動的に設定される。OSCコンピューティング装置は、ホストコンピューティング装置のためのカスタムアーカイブファイルを生成する(504)。カスタムアーカイブファイルは、第2のOSのOSイメージファイルと、キックスタートファイルとを含む。いくつかの実施形態では、カスタムアーカイブファイルを生成する(504)前に、OSCコンピューティング装置はOSイメージファイルを記憶するアーカイブファイルを取り出し、OSイメージファイルを抽出し、OSイメージファイルから1つまたは複数のソフトウェアパッケージを除去して、OSイメージファイルの大きさを縮小する。次に、縮小されたOSイメージファイルがカスタムアーカイブファイルに追加される。
【0075】
OSCコンピューティング装置は、ホストコンピューティング装置の第1のデータ記憶装置をフォーマットし、第1のOSに関連する第1の領域と、第2のOSに関連する第2の領域とを含ませる(506)。OSCコンピューティング装置はまた、第2のOSのインストールを容易にするために、カスタムアーカイブファイルをホストコンピューティング装置に送信する(508)。少なくともいくつかの実施形態では、OSCコンピューティング装置が第2の領域を第1のOSのPCFにマウントして、第1のOSからの第2の領域へのアクセスを容易にする。次に、OSCコンピューティング装置は、カスタムアーカイブファイルを使用して、ホストコンピューティング装置のループバックファイルシステムを生成する(510)。ループバックファイルシステムは、OSイメージファイルおよびキックスタートファイルを記憶する物理データ記憶装置をエミュレートするためにホストコンピューティング装置にマウントされる。OSCコンピューティング装置は第2の領域内にインストールディレクトリを作成し、ホストコンピューティング装置の第2のデータ記憶装置上に第2のOSをインストールするためにインストールディレクトリ内にOSイメージファイルおよびキックスタートファイルを格納する(512)。次に、OSCコンピューティング装置は、OSイメージファイルおよびキックスタートファイルに少なくとも部分的に基づいて、第1のOSから第2のOSへのホストコンピューティング装置上で動作するOSを変換する(514)。いくつかの実施形態では、OSCコンピューティング装置がインストールディレクトリおよびキックスタートファイルを識別するためにホストコンピューティング装置のブートローダを更新し、インストールカーネルなどのOSイメージファイルのデータにアクセスすることによって、ブートローダが第2のOSおよびキックスタートファイルを開始することができるようにする。
【0076】
図6は、
図5に示されるメソッドで使用され得る1つまたは複数の例示的なコンピューティング装置のコンポーネントの
図600である。
図6はさらに、特定のタスクを実行する、OSCコンピューティング装置104(
図1に示す)内のいくつかの別個の構成要素に結合されたデータ記憶システム610の構成を示す。
【0077】
OSCコンピューティング装置104は、ホストコンピューティング装置のためのキックスタートファイルおよびカスタムアーカイブファイルを生成するように構成された生成コンポーネント602を含む。生成コンポーネント602は、カスタムアーカイブファイルを使用して、ホストコンピューティング装置にマウントされたループバックファイルシステムを生成するようにも構成される。OSCコンピューティング装置104はさらに、第1のOSに関連する第1の領域及び第2のOSに関連する第2の領域を含むようにホストコンピューティング装置の第1のデータ記憶装置をフォーマットするように構成された成形コンポーネント604を含む。さらに、OSCコンピューティング装置104は、ホストコンピューティング装置にカスタムアーカイブファイルを送信するように構成された送信コンポーネント606を含む。OSCコンピューティング装置104はまた、OSイメージファイルおよびキックスタートファイルを第2の領域のインストールディレクトリ内に記憶するように構成された記憶コンポーネント608を含む。OSCコンピューティング装置104は、ホストコンピューティング装置上で動作するOSを第1のOSから第2のOSに変換するように構成された変換コンポーネント610をさらに含む。
【0078】
例示的な実施形態ではデータ記憶システム612がOSデータセクション614、キックスタートデータセクション616、および装置メタデータセクション618を含むが、これらに限定されない複数のセクションに分割される。これらの各部は、OSCコンピューティング装置104を介して相互に接続され、必要に応じてアップデート及び検索される。
【0079】
前述の明細書に基づいて評価されるように、本開示の既述の実施形態は、コンピュータソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せまたは部分集合を含むコンピュータコンピュータプログラムまたはエンジニアリング技術を用いて実施することができる。コンピュータ可読および/またはコンピュータ実行可能命令を有する、そのような結果として得られる任意のコンピュータプログラムは、1つまたは複数のコンピュータ可読媒体内で実施または提供される。それによって、本開示で説明される実施形態によるコンピュータプログラム製品、すなわち製造品を作製することができる。これらのコンピュータプログラム(プログラム、ソフトウェア,ソフトウェアアプリケーション、またはコードとしても知られる)はプログラマブルプロセッサのための機械命令を含み、高いレベルの手続き型のおよび/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械語で実装することができる。本明細書で使用されるように、「機械可読媒体」、「コンピュータ可読媒体」、および「コンピュータ可読媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラムプロダクト、装置、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置(PLD))を指す。それは、機械可読信号として機械命令を受信する機械可読媒体を含む。「機械可読媒体」、「コンピュータ可読媒体」、および「コンピュータ可読媒体」は一時的信号を含まない(すなわち、「非一時的」である)。「機械可読信号」という用語は機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0080】
本明細書は最良の形態を含めて本発明を開示するための例を用いており、また、任意の装置またはシステムを作成および使用することと任意の組み込まれた方法を実行することとを含んで、任意の当業者が本発明を実施することを可能にするために例を用いている。
本発明の特許可能な範囲は、特許請求の範囲によって定義され、当業者に想起される他の例を含むことができる。そのような他の例は、それらが特許請求の範囲の文字通りの文言と異なる構造要素を有する場合、またはそれらが特許請求の範囲の文字通りの文言と実質的に異なる当量の構造要素を含む場合、特許請求の範囲内にあることが意図される。