近年、ネットワークコンピューティングモデルが、企業におけるコンピュータの需要管理に対して費用逓減効果のある方法として普及しつつある。ネットワーク管理されたPC、ネットワークコンピュータ、シン・クライアントから、サーバセントリックのクライアント、ネットワークコンピューティングまでの一連の技術は、ネットワークコンピューティング環境における、ITサービス(「Total Cost of Ownership(情報システム総合コスト、以下、TCOとする)」などで知られる)を提供するコストの削減の必要性によって大いに活発化されてきた。エンドユーザにコンピュータ資源を提供することにおいて最も高価なのは、コンピューティングハードウェア及びソフトウェアのコストではなく、運用時のメンテナンスおよび管理にかかるコストであることは、産業界では周知である。このことは、「Thin Client Benefits( Newburn Consulting 、2002年)」、「Total Cost of Application Ownership(The Tolly Group Whitepaper(1999年))」TCO Analyst: A White Paper on GartnerGroup's Next Generation Total Cost of Ownership Methodology(GartnerConsulting(1997年))などにも記載されている通りである。これらの周知の研究(studies)によれば、ネットワークコンピューティングモデルは、ITサービスの機能のメンテナンス(保守)及び管理を集中することによって、TCOを著しく減らすことができ、それにより、運用時のメンテナンスおよび管理の再発コストを減らすことができる。
新規技術は、パフォーマンスを損なうことなくより低いTCO及び信頼性を達成するための継続的な探求において開発されている。特別の関心事は、オペレーティングシステム(OS)配信及びアプリケーション配信であり、これは、PC又はクライアントコンピュータにオペレーティングシステム及びアプリケーションを展開するために配信(ストリーミング)技術を利用するものである。
配信技術は、まず、インターネットマルチメディアアプリケーションのために開発され、時間依存又は相互方向のデータを、ネットワークを介してタイムリに配信するための有益な方法を提供する。例えばビデオストリーミングでは、全てのビデオファイルが再生を開始する前にダウンロードされるまで待機する代わりに、ファイルの充分な部分がダウンロードされるとすぐに、ビデオ再生を開始する。また、「プリフェッチング(prefetching)」又は「バッファリング(buffering)」と呼ばれているプロセスにおいて、ダウンロード済みのフレームが再生されている間に、さらなるフレームがダウンロードされる。ビデオ再生はユーザにとって継ぎ目なく見え、そして、全てのビデオファイルをダウンロードするための、潜在的に非常に長い遅延は除去される。
同様に、OS配信及びアプリケーション配信システムは、配信技術を梃入れしてネットワークコンピューティングの性能を向上させている。ネットワークコンピュータ(例えば中央サーバからネットワークを経てブートするディスクレスコンピュータ)は、ネットワーク待ち時間が原因でパフォーマンスが悪いことが従来からの欠点である。従来のディスクレスネットワークコンピュータ技術は、単に「デマンドページングないし要求時ページング(demand paging)」ディスクアクセスを、ネットワークアクセスと取り替えるに過ぎない。即ち、コードやデータがクライアントコンピュータにおいて必要なときはいつでも、それらがローカルディスクからよりもむしろネットワークを通じて提供される。そして、ネットワーク待ち時間がローカルディスクのアクセス遅延より大きいことがしばしばあるため、コード及びデータのアクセス時間は非常に長くなり、ネットワークコンピュータの性能を低下させることになる。また、ネットワーク上の他のトラフィックは、これらのコンピュータの性能を更に悪化させる可能性がある。しかしながら、OS配信及びアプリケーション配信システムにおいては、OS又はアプリケーションがネットワークの限られた応答時間又はバンド幅が原因した遅延による影響を受けずに継ぎ目なく実行可能となるように、OS又はアプリケーションを実行するために必要なファイルが、ビデオストリーミングに似た方法で、クライアントコンピュータに「プリフェッチないし先取りされている(prefetched)」か「バッファリングされる(buffered)」かしていなければならない。同時に、OS又はアプリケーションのファイルが中央サーバからクライアントコンピュータまで配信されるため、オペレーティングシステムまたはアプリケーションの集中インストール(centralized installation)、配信及び管理が可能にされる。
現在のところ、OS配信システムが「Venturcom社」や 「Qualystem社」などのベンダーにより提供されている。リモートブート(Remote Boot)やネットワークブート(Network Boot)技術などによりさらに一般に知られているように、従来のOS配信ソリューションは、配信方法論により、クライアントコンピュータにオペレーティングシステムをブート又は初めにロードするために必要なコアOSファイル(core OS files)を提供する。従来のOS配信ソリューションが従来のネットワークコンピューティング上におけるOS配信のパフォーマンスを向上させるにもかかわらず、これらはそれでもやはり重大な欠点を持つ。
まず始めに、一旦最初のOSのロードが完了すると、システムはクライアントコンピュータを実行するのに必要なコード又はデータの更なるアクセスを行なうデマンドページングへ戻る。例えば、従来のOS配信システムで提供されるアプリケーション配信は、デマンドページングに依存する。一般的に、アプリケーションはオペレーティングシステムイメージに組み込まれ、そして、完全な、アプリケーションをプラスしたOSのイメージ(OS-plus-applications image)がクライアントコンピュータに配信される。しかしながら、初めのOSロード部分のみが配信され、そして、一旦オペレーティングシステムが起動ないしアップされ、実行されていれば、システムは従来のデマンドページングに依存する。このように、クライアントコンピュータでアプリケーションを実行しているとき(なお、ユーザのシステムとの大量の(bulk)対話処理を含むとき)、従来のOS配信システムのパフォーマンスは、従来のディスクレスワークステーション同然であり、様々なネットワークの待ち時間によって制限される。
加えて、従来のOS配信ソリューションは、基準合わせ(scalability)(一般的には拡張性)及び管理についての重大な問題に悩まされている。例えば、各々のエンドユーザが自身の必要とするアプリケーションを選択することを希望するため、完全な、アプリケーションをプラスしたオペレーティングシステムのイメージが、各々のエンドユーザのアカウントのために構成されなければならない。しかしながら、各々のクライアントマシンに対して複数のOSイメージを保持する理由がない。即ち、アプリケーションはユーザに固有ないし特定であるのに対して、オペレーティングシステムはクライアントマシンに固有ないし特定であるからである。このようなことから、「アプリケーションをプラスしたOS」の配信方法は、各々のユーザに対して相当な記憶空間の無駄使いを課することになり、普通は、1ユーザにつき数百メガバイトに及ぶ。そして、何千ものユーザを抱える企業システムでは、1ユーザにつき数百メガバイトの無駄な記憶空間が、結局、簡単にテラバイトもの不必要な記憶領域に達することとなる。
別の問題は、アプリケーションが加えられるか、削除されるか、アップグレードされるかさもなければ修正されるたびに、新たなOSイメージが構成されなければならないということである。新たな「アプリケーションをプラスしたOS」のイメージは、アプリケーションのうち、1つでも、それに「パッチ」(軽微な修正またはアップグレード)が適用されているときは必ず、再構成されなければならない。しかし、オペレーティングシステムイメージを構成することは、リソースに負荷のかかるタスクであり、パッチがアプリケーションに適用される(これは比較的よくあるイベントである)都度、このタスクを繰り返すことは、多数のユーザを有する環境において非実用的である。基本的に、これらの問題は、オペレーティングシステムがマシンに特定である一方、アプリケーションがユーザに特定であるという事実に原因がある。換言すれば、単一ユニットとしてOS及びアプリケーションを管理するシステムは、オペレーティングシステム管理及びアプリケーション管理の間の特定レベルの不一致により、十分には基準合わせされていないのである。この根本的な不一致について配慮して適切な解決策が取られなければならない。
また、一方で、アプリケーション配信技術は、その配信技術を利用してアプリケーションの配信と管理との問題に対処している。マルチメディア又はOSの配信に類似している方法で、アプリケーション配信システムにおけるアプリケーションは、複数のアプリケーションブロックがクライアントコンピュータでアプリケーションを実行するのに必要であるため、一度に1ブロックずつサーバからネットワークを介して提供される。しかしながら、アプリケーションのコード又はデータの「プリフェッチング」は、OS配信よりもさらに「インテリジェント(intelligent)」でなければならない。なぜならば、ユーザ駆動(user driven)のアプリケーション実行が対話形式の性質を持つため、ごく近いか予見できる将来において必要なコード又はデータが確定されないからである。然しながら、インテリジェント予測アルゴリズムにおいては、アプリケーション配信システムが、ネットワーク上におけるデマンドページングを最小限にする充分な予測精度で必要なコードとデータとをプリフェッチすることができ、アプリケーションのパフォーマンスを向上する。同時に、アプリケーションはサーバから提供されるので、アプリケーション分配、インストールおよび配信の管理はサーバで集中して行なうことができ、これにより更に、TCOの絶えず増大するアプリケーション管理コンポーネントを減らす。現在、アプリケーション配信技術の様々な実施例は、「AppStream社」や「Endeavors Technology社」などのベンダにより提供されている。
図1は、本発明におけるシステムの概念ブロック図を例示しており、同図1に示すように、本発明のシステムの実施例は、オペレーティングシステム配信サーバ110,オペレーティングシステムイメージ112,オペレーティングシステム配信サービス114,アプリケーション配信サーバ120,アプリケーションイメージ122,アプリケーション配信サービス124,クライアントコンピュータ130,OS配信エージェント132,アプリケーション配信エージェント134,統合ユーザインタフェース140,集中管理コンソール142、統合共通データベース150及びデータベースサーバ152を具備して構成することができる。
クライアントコンピュータ130は、本発明の範囲内において、シン・クライアントモジュール、PC又はワークステーションであることもできる。クライアントコンピュータ130はまた、本発明の範囲内において、携帯デバイスからサーバクラスのマシンに至るまで、いかなる配信クライアントデバイスでもあることができる。特に、クライアントコンピュータ130は、本発明の範囲内において、WEBサーバやEメールサーバのようなサーバマシンであることもできる。即ち、WEBやEメールサービス目的のサーバとして機能するマシンは、OS配信目的のクライアントであることができ、OSストリーミングサーバから配信されたオペレーティングシステムを有する。
オペレーティングシステム配信サーバ110、アプリケーション配信サーバ120及びデータベースサーバ152は、別々の物理サーバ上に配置することも同じ物理サーバマシン上に配置することもできるロジカルユニットである。
更に、オペレーティングシステムサーバ110,アプリケーション配信サーバ120又はデータベースサーバ152のいずれかは、サーバファームやサーバクラスタなどの多数個の物理サーバに配置することができる。オペレーティングシステムイメージ112は、例えばMicrosoft Windows 98,Windows 2000,Windows XP及びLinux(登録商標)などのオペレーティングシステムを実行するのに必要な全てのコンポーネント(カーネルイメージ,デバイスドライバ,実行ファイル,ダイナミック・リンク・ライブラリ(DLLs)など)を包含したファイルを具備して構成されている。これと類似して、アプリケーションイメージ112は、例えばMicrosoft Word,Excel(登録商標), Outlook(登録商標)及びPowerPoint(登録商標)などのアプリケーションを実行するのに必要な全てのコンポーネントを包含したファイルを具備して構成されている。なお、全てのアプリケーションがアプリケーション配信サーバ120から配信される必要がないことには注意すべきである。いくつかのアプリケーション、特に、デマンドページングを殆ど又は全く作動させることがない小さなユーティリティアプリケーションについては、本発明の範囲内において、アプリケーションファイルはオペレーティングシステムイメージ112中に包含させることができる。また、Microsoft Windowsのような一部のオペレーティングシステムについては、ノートパッドや電卓などのようないくつかのユーティリティプログラムが、既にオペレーティングシステムの一部であることに注意すべきである。
本発明の好ましい実施例において、オペレーティングシステム配信サーバ110の配信サービスは、オペレーティングシステム配信サービス114を通して提供され、このオペレーティングシステム配信サービス114は、本発明の範囲内で、サービスプロセス又はサービスデーモンとすることができる。同様に、アプリケーション配信サーバ120の配信サービスは、アプリケーション配信サービス124を介して提供するように構成できる。また、別の実施例においては、オペレーティングシステム配信サービス114又はアプリケーション配信サービス124は、本発明の範囲内において、サービスプロセス内のサービススレッドとして実行することが可能である。さらに別の実施例では、オペレーティングシステム配信サービス114及びアプリケーション配信サービス124の両方を、本発明の範囲内において、1つのサービスプロセス内のサービススレッドとして実行することができる。このような実施例では、オペレーティングシステムに1つのサービスプロセスだけが存在するように見えるが、オペレーティングシステム配信サービス114とアプリケーション配信サービス124とは、そのサービスプロセス内の別々のサービススレッドによって提供されるのである。
本発明の一実施例においては、クライアントコンピュータ130,オペレーティングシステム配信サーバ110,アプリケーション配信サーバ120及びデータベースサーバ152は、ネットワークを介して相互に通信する。しかしながら、オペレーティングシステム配信サーバ110,アプリケーション配信サーバ120又はデータベースサーバ152のいずれかを他のサーバのいずれかと同じ物理サーバに配置する実施例としたものでは、本発明の範囲内において、サーバ間の通信は、同じマシン内で行なわれることになる。
図2aは、本発明の統合システム管理機能のための統合ユーザインタフェース画面を示したものである。同図2aに示すように、統合ユーザインタフェース140は、本発明の統合システムの全ての機能的なサブコンポーネントを管理するための統合システム管理機能を含んでいる。一般に、統合ユーザインタフェース140は、例えば集中管理コンソール142等のシステム管理ワークステーションにおいて、システム管理者により実行されるが、それをネットワーク160上のどのコンピュータでも実行するように構成することが本発明の範囲内において可能である。システム管理者は、統合ユーザインタフェース140を利用して、クライアントコンピュータ,オペレーティングシステム及びユーザのセットアップと構成とを行なうことになる。
特に、図2aは、ユーザインタフェース構成要素である、オペレーティングシステムイメージを管理するためのオペレーティングシステム202,アプリケーションイメージを管理するためのアプリケーション204,クライアントデバイスを管理するためのクライアントデバイス206,ユーザを管理するためのユーザ208及びサーバを管理するためのサーバ210を表示している。図2aはまた、ユーザインタフェース構成要素である、イメージ構成ユーティリティファンクションにアクセスするためのユーティリティ212及びシステムのコントロールデバイスを管理するデバイス管理214を表示している。
図2aに図示のように、オペレーティングシステム202のユーザインタフェース構成要素が選択されると、右側のウィンドウ枠217に利用可能なオペレーティングシステムイメージが表示される。OSイメージ1(216)が右側のウィンドウ枠217で選択されると、オペレーティングシステムイメージ、つまりWindows2000(218)が表示され、同じくサポートハードウェア220とデバイスドライバ222とが表示される。
図2bは、本発明におけるアプリケーションイメージ管理機能のための統合ユーザインタフェース画面を図示する。図2bに示すように、アプリケーション204のユーザインタフェース構成要素が選択されると、右側のウィンドウ枠においてシステムの利用可能なアプリケーションイメージを表示する。特に、アプリケーションイメージ1(224)が選択されると、イメージがWord2000(226)(登録商標)アプリケーションのものであり、サポートされたオペレーティングシステムがWindows2000(228)及びWindowsXP(229)であることを表示する。
図2cは、本発明におけるクライアントデバイス管理機能のための統合ユーザインタフェース画面を示したものである。図2cは、クライアントデバイス206のユーザインタフェース構成要素が選択されると、右側のウィンドウ枠217が利用可能なクライアントデバイスを表示することを示している。同図2cはまた、特にデバイス1(230)が選択されると、その結果、ハードウェア232,対象OS履歴234及びデバイス236が表示されることを示している。
図2dは、本発明における利用者管理機能のための統合ユーザインタフェース画面を図示するものである。図2dに示すように、ユーザ208のユーザインタフェース構成要素が選択されると、右側のウィンドウ枠217に諸ユーザが表示される。また、ユーザ1(238)が選択されると、割当てられたオペレーティングシステム240及びアプリケーション242が表示される。
図2eは、本発明におけるサーバ管理機能のための統合ユーザインタフェースを示したものである。図2eに図示のように、サーバ210のユーザインタフェース構成要素が選択されると、右側のウィンドウ枠217に利用可能なサーバが表示される。サーバ1(244)の下には、サーバ1(244)に対し、OSイメージ245のツリーにおいて、イメージ1(246)及びイメージ2(247)など、利用可能なオペレーティングシステムイメージが表示される。しかしながら、アプリケーションイメージ248の下にはエントリがなく、これはサーバ1(244)がオペレーティングシステム配信のみに用いられていることを示している。それ故に、OS配信サービス250のみがサービス252のツリーの下に表示されている。クライアントデバイスのIPアドレス範囲254の構成要素は、クライアントデバイスのIPアドレスの表示及び管理機能にアクセスするのに用いられる。同図2eはまた、アプリケーションイメージ258に対するエントリを有するサーバ2(256)を示している。但し、OSイメージ259の下には何もなく、これは、サーバ2(256)がアプリケーション配信サーバとしてのみ作動することを示している。対照的に、サーバ3(260)は、OSイメージ、つまりイメージ2(262)を有し、同様に、アプリケーションイメージ、つまりアプリケーションイメージ5(264)及びアプリケーションイメージ6(265)を有しており、これは、サーバ3(260)がアプリケーション配信サーバと同様にOS配信サーバとしての役目を果たすことを示している。それ故に、サービス266のツリーは、サーバ3(260)で動作するOS配信サービス268及びアプリケーション配信サービス269の両方を表示している。
図2fは、本発明におけるイメージ構成ユーティリティファンクションのための統合ユーザインタフェース画面を図示するものである。図2fに示すように、OSイメージビルダ270のユーザインタフェース構成要素が選択されると、右側のウィンドウ枠217においてOS構成機能画面を表示する。システムファイルリストボックス272は、機能的なオペレーティングシステムイメージを構成するのに必要なオペレーティングシステムカーネルファイルを表示し、デバイスドライバリストボックス274は、システムデバイスドライバを表示する。加えて、OS構成ドロップダウンボックス276は、構成されるオペレーティングシステムがWindows2000であることを示す。また、イメージ名278及びイメージパス279が特定されることが示されている。
図2gは、本発明においてクライアントコンピュータ用のオペレーティングを選択するための統合ユーザインタフェース画面を図示するものである。この画面は、前述した統合システム管理ユーザインタフェースのクライアントデバイス管理機能画面からアクセスすることができる。同図2gに示すように、統合ユーザインタフェース140は、クライアントコンピュータ用のオペレーティングシステムを選択する機能を含む。例えば、この図2gは、クライアントコンピュータ1(280)を設定、構成するための選択が成されたユーザインタフェース画面を示している。オペレーティングシステムフィールド282について、Windows2000(284)が選択されると、クライアントコンピュータがブートしたときに、Windows2000オペレーティングシステムイメージがクライアントコンピュータ1(280)に配信されることを示す。このように、オペレーティングシステム管理は、クライアントコンピュータに特定のものである。
図2hは、本発明における、ユーザのためにオペレーティングシステムを選択するための統合ユーザインタフェース画面を図示している。同図2hに示すように、ユーザ1(286)が、オペレーティングシステム設定のために選択される。オペレーティングシステムフィールド288について、Windows2000(289)が選択されると、当業者にとって周知のプリブートログイン機能でユーザ1(286)がログインしているクライアントコンピュータに、Windows2000オペレーティングシステムイメージが配信されることを示す。それ故に、オペレーティングシステム管理は、ユーザ固有及び/又はクライアントコンピュータ固有とすることが可能となる。
図3aは、本発明における、提供済みのオペレーティングシステムのためにアプリケーションを選択するための統合ユーザインタフェース画面を図示するものである。図3aに示すように、Windows 2000オペレーティングシステム310が、アプリケーションの設定のために選択される。選択されたオペレーティングシステムにおいて利用可能なアプリケーションがアプリケーションフィールド312の下にリスト表示され、アクティブフィールド314を利用することにより、各々のアプリケーションには、アクティブ又は非アクティブステータスを設定することが可能である。
図3bは、本発明におけるユーザのためにアプリケーションを選択するための統合ユーザインタフェース画面を図示するものである。同図3bに示すように、ユーザ1(318)が、設定のために選択される。初期設定アプリケーションフィールド320として、Word2000フィールド322,Outlook2000(登録商標)フィールド324及びAcrobat Reader6(登録商標)フィールド326が選択されており、ユーザ1(318)が利用可能な初期設定アプリケーションを示している。また、同図3bには、更に、Excel2000(登録商標)フィールド332及びAutoCAD2004(登録商標)フィールド334が選択された、追加アプリケーションフィールド330が示されている。
このため、図3a及び図3bと同様に図2aから図2hに示されるように、本発明は、オペレーティングシステム配信及びアプリケーション配信の統合管理を提供するものであり、オペレーティングシステム配信管理がクライアントコンピュータ又はマシンに特定であり、且つ/又は、アプリケーション配信管理がユーザに特定のものである。このように、本発明は、適切に基準合わせ可能な(scalable)オペレーティングシステム及びアプリケーションの統合オンデマンド配信を提供するものである。更に、システムセキュリティおよびアクセス権を、適当なレベルで適切に管理することができる。
また、他の実施例においては、統合ユーザインタフェース140をWEBユーザインタフェースとすることができ、様々なハードウェアおよびネットワーク環境に亘ってシステムの柔軟性、互換性および可搬性を供するのである。
一旦オペレーティングシステム及びアプリケーションがシステム管理者によって設定されると、ユーザは、クライアントコンピュータのオペレーティングシステムをブートし、オペレーティングシステムインタフェースから利用可能なアプリケーションを起動することにより、提供されたコンピュータリソースにアクセスすることができる。更に、クライアントコンピュータのユーザもまた、管理者によって利用可能にされるアプリケーションへの加入、申込み(subscribe)することを選択することができる。
図4は、本発明におけるクライアントコンピュータのユーザのためのユーザインタフェース画面を図示するものである。同図4に示すように、クライアントコンピュータ1(210)のユーザ1(318)は、クライアントユーザインタフェース402において、利用可能なアプリケーションへの加入、申込み(subscription)の設定又はカスタマイズにアクセスできる。初期設定アプリケーションフィールド410について、Word2000フィールド412,Outlook2000フィールド414及びAcrobatReader6フィールド416が選択され、これは、クライアントコンピュータ1(210)のユーザ1(318)に対する初期設定アプリケーション申し込みを示している。また、同図4には、Excel2000フィールド422が選択された状態の追加アプリケーションフィールド420が示されており、これは、ユーザ1(318)がExcel2000の申込みを選択したことを示している。ここで、AutoCAD2004フィールド424は選択されておらず、これは、システム管理者によって、クライアントコンピュータ1(210)のユーザ1(318)が、AutoCAD2004アプリケーションが利用可能にされているものの、ユーザ1(318)がこのアプリケーションを申し込まないことを決定したことを示している。この加入、申込みされたアプリケーションは、クライアントコンピュータのローカルドライブにインストールされれば、クライアントコンピュータ1(210)のデスクトップ又はプログラムメニューに表示されることとなる。
図5aは、オペレーティングシステム配信プロセスの概要を図示するものである。同図5aに示すように、オペレーティングシステムは、オペレーティングシステム配信サーバ110からOS配信エージェント132に、1度に1ブロックずつ、オペレーティングシステムイメージ112を配信することにより、クライアントコンピュータ130にオンデマンド配信される。好ましい実施例においては、オペレーティングシステム配信サービスは、ネットワーク160上で通信されるオペレーティングシステム配信サービス114及びOS配信エージェント132により達成される。なお、オペレーティングシステム配信サービスは公知技術である。例えば、米国特許5,974,547号(「クライアントコンピュータに対するオペレーティングシステムの信頼性の高いネットワークブート技術」,Yevgeniy Klimenko,1998年3月20日出願)や、「Venturcom BXP 2.0 for Windows 2000 and Windows XP(ネットワーク上のディスクレスクライアントの集中管理),Patrick Waddell,2002年,Venturcom」などがある。また、従来技術において慣習的であるように、OS配信,ネットワークブート及びリモートブートの単語が、本願明細書において同じ意味で用いられることに留意して頂きたい。
ネットワークブート及びOS配信の動作について簡単に説明すると、クライアントコンピュータのブートプロセスは、ネットワークインタフェースカード(NIC)を、オペレーティングシステムをブート及びロードするIPLデバイス(Initial Program Load Device)として認識するコードを含む、クライアントコンピュータのROM BIOSにおいて開始する。このことは、「BIOS Boot Specification(Compaq Computer Corporation, Phoenix Technologies Ltd., Intel Corporation, 1996年1月)」にも記載されている。ネットワークカードはまた、換言すれば、PXE可能NIC(PXE-enabled NIC)など、ブート可能なデバイスでなければならない。PXE(Preboot Execution Environment)は、OSファイルがネットワークを介してダウンロードされ得るように、いかなるOSもロードされる前に、ネットワークカードによりサーバへのネットワーク接続を開始する方法を提供する。このことは、「Preboot Execution Environment (PXE) Specification Version 2.1(Intel Corporation,1999年9月)」にも記載されている。ネットワークカードはまた、本発明の範囲内において、例えばEBM RPL (Remote Program Load) のような、当業者に周知のいかなるプリブート接続プロトコルも使用することができる。クライアントコンピュータがブートするときに、BIOSブートコードはPXE-enabled NICに対し、初期OSブートコードを提供するように命令し、PXE可能NICは、初期OSブートコードをダウンロードするべく、例えばオペレーティングシステム配信サーバ110のようなブートサーバに接続する。初期ブートコードの一部として、OS配信エージェント132は、プレOSディスクアクセス要求(PCアーキテクチャのINT13)をトラップし、また、これらをPXE可能NICにリダイレクトして、OSファイルがクライアントコンピュータにダウンロードされ続けることができるようにする。
ネットワークスタック及びファイルシステムが使用可能になるのに十分なオペレーティングシステムが一旦ダウンロードされると、OS配信エージェント132は、ネットワーク160を介してオペレーティングシステム配信サーバに対する全ディスク要求をリダイレクトするディスクフィルタドライバとして作動するOS配信エージェントに変換される。そして、更なるOSがクライアントコンピュータ130において必要とされるときにはすぐに、オペレーティングシステムイメージ112の対応する部分を、オペレーティングシステム配信サーバ110からネットワーク160を介してOS配信エージェント132に配信することにより、必要なファイルがクライアントコンピュータ130に供給される。それ故に、全てのブートプロセスは、クライアントコンピュータ130のユーザに対して完全に透過的である。好ましい実施例では、オペレーティングシステム配信サービス114は、オペレーティングシステム配信サービスを提供するべく、オペレーティングシステムイメージ112を読み込み、OS配信エージェント132と通信する。
1つの実施例では、オペレーティングシステムイメージ112は、クライアントコンピュータにおけるディスクアクセス要求をネットワーク上の仮想システムにリダイレクトすることにより、透過的に配信される。好ましい実施例においては、本発明のOS配信システムのための仮想ディスクに対するディスクアクセスのリダイレクトは、現在のオペレーティングシステムにおける重構造のデバイスドライバアーキテクチャのディスクドライブデバイスドライバのレベルで作動する。なお、Microsoft Windows NT/2000/XPオペレーティングシステム用の重構造のデバイスドライバ・アーキテクチャの説明としては、「Inside Microsoft Windows 2000, Third Edition(David A. Solomon and Mark E. Russinovich著,Microsoft Press, 2000年)」及び 「Windows NT File System Internals(Rajeev Nagar著,O'Reilly & Associates,1997年)」がある。
アプリケーション配信は、OS配信と非常に類似した方法論及びプロセスにより達成される。まず最初に、アプリケーション配信エージェント134が、オペレーティングシステムの一部としてクライアントコンピュータ130にダウンロードされる。オペレーティングシステム配信及びアプリケーション配信の管理機能が統合されるため、オペレーティングシステムは、どのアプリケーションが、アプリケーションをオペレーティングシステムイメージに実際に組み込まずに利用可能であるか、について認識している。また、別の実施例では、本発明の範囲内において、アプリケーション設定を、アプリケーション配信エージェント134を介して、クライアントコンピュータ130において実行されているオペレーティングシステムに伝送することができる。更に、オペレーティングシステムは、デスクトップ又はプログラムスタートメニューのアプリケーションアイコン又はショートカットを表示することで、ユーザに対しアプリケーションを利用可能にする。
図5bは、アプリケーション配信プロセスの概要を図示するものである。ユーザがアプリケーションアイコンをクリックしてアプリケーションを起動するときに、アプリケーション配信エージェント134が、アプリケーションイメージ122をアプリケーション配信サーバ120からネットワークを介して配信することにより、必要なアプリケーションファイルをオンデマンド配信する。まず、アプリケーション起動を開始するときに、アプリケーションイメージ122のうちアプリケーションを最初に実行させるのに十分な部分がダウンロードされる。さらに、ユーザがアプリケーションプログラムを利用するのに伴い、アプリケーションイメージ122の更なる部分が、クライアントコンピュータ130に必要なファイルを配信することにより、オンデマンド配信される。好ましい実施例においては、アプリケーション配信サービス124は、アプリケーション配信サービスを提供するべく、アプリケーションイメージ122を読み込んでアプリケーション配信エージェント134に通信する。
1つの実施例においては、アプリケーション配信エージェント134は実行時のオブジェクトコードデバッガ(runtime object code debuggers)と同様の方法で作動することができる。即ち、必要なアプリケーションファイルがメモリに存在しないときに、アプリケーションの実行が中断され、アプリケーション配信エージェント134が、必要なファイルをダウンロードするべく、ネットワーク160を介してアプリケーション配信サーバ120と通信する。なお、通信メカニズムとしては、本発明の範囲内において、ソケット(Socket)やRPCなどを含む、当業者に周知のいかなるネットワーク通信方法を用いることもできる。そして、一旦必要なファイルがダウンロードされると、アプリケーションが引き続き実行される。
他の実施例においては、アプリケーション配信エージェント134はファイルシステムドライバとして動作し、必要なアプリケーションファイルをロードするためのディスクアクセス要求(「ページフォルト(page fault)」と呼ばれる)を、アプリケーション配信サーバ120にリダイレクトする。そして、アプリケーション配信サービスは、クライアントコンピュータ130に対して仮想ファイルシステムとして現れ、あたかもアプリケーションがローカルディスクドライブのファイルシステムからロードされているかのように作用する。アプリケーション配信技術の更に詳細な情報については、米国特許6,574,618, (「ネットワーク配信されたアプリケーションを実行する方法及びシステム」,Dan Eylon et al.,2000年12月28日出願)に記載されている。
本発明においては、OS配信サービスの仮想ディスク及びアプリケーション配信サービスの仮想ファイルシステムの区別がなされることが重要である。好ましい実施例においては、本発明のOS配信サービスの仮想ディスクリダイレクトが、ディスクドライブデバイスドライバのレベルで作動する一方、アプリケーション配信の仮想ファイルリダイレクトは、ファイルシステムデバイスドライバのレベルで作動する。このため、OS配信サービス及びアプリケーション配信サービスが、衝突することなく、最大限の自在性をもって相互に透過的に作動する。然しながら、OS配信サービス及びアプリケーション配信サービスの両方は、本発明の範囲内において、仮想ファイルシステムと同様に仮想ディスクを用いることができる。
さらに他の実施例においては、クライアントコンピュータ130に配信されたアプリケーションファイルは、クライアントコンピュータ130の仮想ディスクに書き込まれ、必要に応じて、クライアントコンピュータ130にオンデマンド配信される。
さらに他の実施例においては、クライアントコンピュータ130に既に配信されたファイル(オペレーティングシステム又はアプリケーションのファイル)を記憶するために、ローカル記憶装置キャッシュをクライアントコンピュータ130に加えることもできる。そして、クライアントコンピュータ130のオペレーティングシステムによりページフォルトがなされたときに、システムは、まず、ローカル記憶装置キャッシュからファイル要求を履行することを試みる。ここで、必要なファイルページがローカルキャッシュにおいて見つからない場合にのみ、ファイルページがサーバから配信され、それにより、応答速度が改善され、ネットワークトラフィックが低減される。ローカルキャッシュ記憶装置は、本発明の範囲内において、当業者に周知のいかなる持続性の記憶装置であっても良く、これには、ディスクドライブ、フラッシュメモリデバイス及びRAMディスクが含まれる。
図5a及び図5bに示されるように、本発明では、アプリケーションイメージとは分離、分別されたオペレーティングシステムイメージを提供する。オペレーティングシステム配信管理がクライアントコンピュータに特定のものであり、アプリケーション配信管理がユーザに特定のものである統合ユーザインタフェース140との組み合わせによって、分離、分別されたオペレーティングシステムイメージ及びアプリケーションイメージは、適切に基準合わせされたオペレーティングシステム及びアプリケーションの統合オンデマンド配信を行なう。そして、各々のユーザに対するアプリケーションイメージと結合されたオペレーティングシステムイメージを設定する(これは有用な記憶空間及びコンピュータ資源を浪費する)必要がない。
本発明の別の態様では、本発明はオペレーティングシステム配信及びアプリケーション配信管理に用いる統合共通データベースを含んで構成することができる。統合ユーザインタフェース140を統合共通データベース150と組み合わせることにより、統合管理機能は非常に単純化され、より強く信頼性の高いものとなる。また、全てのシステム情報が同じデータベースシステムの範囲内で管理されるため、エントリについて相互参照並びにエラー及び整合性のための相互チェックをすることができる。統合共通データベース150は、本発明の範囲内において、Microsoft Access(登録商標),SQL Server(登録商標)及びOracle(登録商標)を含む(但しこれらに限定されない)当業者に周知のいかなるデータベースシステムを用いても実現することができる。
本発明の統合共通データベース150はデータベースサーバ152に配置される。前述のように、データベースサーバ152は、単一の物理サーバハードウェア、又は、サーバファームやサーバクラスタなどのような複数の物理サーバに配置可能なロジカルユニットである。更に、オペレーティングシステム配信サーバ110,アプリケーション配信サーバ120及びデータベースサーバ152は全て、別々の物理サーバ又は同一の物理サーバマシンに配置可能なロジカルユニットである。
図6aから図6gは、本発明における統合共通データベース150において考え得る構成要素を図示するものである。図6aは、アカウントエンティティを示しており、アカウント名フィールド612及び部署フィールド614を有している。図6bはアプリケーションエンティティ620を示しており、イメージフィールド624,イメージサイズフィールド626,アクティブフィールド628及びOSフィールド630を有している。図6cはライセンス使用エンティティ630を示しており、アプリケーションフィールド632,最大ユーザフィールド634及び現在ユーザフィールド636を有している。図6dは、ログエンティティ640を示しており、タイムスタンプフィールド642,優先度フィールド644及びメッセージフィールド646を有している。図6eはクライアントマシンエンティティ650を示しており、マシン名フィールド652,MACアドレスフィールド654,IPアドレスフィールド656及び初期ユーザフィールド658を有している。当業者にとって周知であるように、MACアドレスは、イーサネット(登録商標)プロトコルをサポートするネットワークインタフェースカードに対するイーサネットアドレスなどのようなリンク層又は物理層においてネットワークデバイスを一意に識別し、そして、IPアドレスは、ネットワーク又はIP層において、ネットワークデバイスを一意に識別する。図6fは、サーバエンティティ670の具体例を示しており、サーバ名フィールド672,IPアドレスフィールド674及びポートフィールド676を有している。当業者にとって周知であるように、ポート番号はIPアドレスのサービス接続端点(service connection endpoint)を識別する。最後に、図6gはオペレーティングシステムエンティティ680を示しており、OS名フィールド682,イメージフィールド684,サイズフィールド686及びアクティブフィールド688を有している。
システム管理者は、操作において、集中管理コンソール142の統合ユーザインタフェース140を用いて、クライアントコンピュータ用のオペレーティングシステム及びユーザが用いるアプリケーションを設定する。ユーザ,クライアントコンピュータ,オペレーティングシステムイメージ及びアプリケーションイメージの情報は、データベースサーバ152で稼動している統合共通データベース150に格納され、アクセスされる。例えば、統合ユーザインタフェース140は、統合共通データベース150のアカウントエンティティ610からユーザ1(230)の情報に対し、また、クライアントマシンエンティティ650からクライアントコンピュータ1(210)の情報に対し、アクセスする。オペレーティングシステムが統合共通データベース150で選択されると、選択されたオペレーティングシステムに対するイメージファイルが、オペレーティングシステムエンティティ680のOS名フィールド682及びイメージフィールド684を参照することによって取得される。同様に、アプリケーションが選択されると、アプリケーションに対するイメージファイルが、統合共通データベース150におけるアプリケーションエンティティ620のアプリケーション名フィールド622及びイメージフィールド624を参照することによって取得される。
また、オペレーティングシステム及びアプリケーションのライセンスが、ライセンス使用エンティティ630により管理される。一旦システム管理者がクライアントコンピュータ及びユーザを設定し、これらに対してオペレーティングシステム及びアプリケーションを利用可能にすると、ユーザはさらに、統合共通データベース150のデータベースエンティティを経て情報へのアクセス及び情報の格納を行なうクライアントユーザインタフェース402を用い、彼ら自身が望むインストールの設定を行なうことができる。
一旦設定及びインストールが完了すると、オペレーティングシステム配信サーバ110は、オペレーティングシステムエンティティ680のOS名フィールド682及びイメージフィールド684を参照することにより、どのファイルを配信するかについて、また、クライアントマシンエンティティ650のマシン名フィールド652及びIPアドレスフィールド656を参照することにより、オペレーティングシステムイメージファイルをどのクライアントコンピュータに配信するかについて、確認をする。IPアドレスフィールド656は、ネットワーク層又はIP層において、ネットワーク上のコンピュータを一意に識別する。クライアントマシンエンティティ650のMACアドレスフィールド654は、リンク層又は物理層において、ネットワーク上のコンピュータを一意に識別する。さらに、オペレーティングシステム配信サーバ110は、オペレーティングシステムイメージファイルを配信するOS配信エージェント132を用いて、通信接続(一般的にはソケット接続)を開始する。アプリケーション配信エージェント134は、OSダウンロード又はOS配信の一部としてクライアントコンピュータにダウンロードされる。一旦アプリケーション配信エージェント134がクライアントコンピュータで実行されると、アプリケーションはOS配信に類似したプロセスを経て配信される。
本発明は、分離、分別されたOSイメージ及びアプリケーションイメージを提供することにより、また、クライアントマシンレベルに固有ないし特定のオペレーティング管理機能及びユーザレベルに固有ないし特定のアプリケーション管理機能を実行することにより、適切に基準合わせされ、適切なセキュリティ管理機能を提供する、本質的に標準的な技術を提供する。その結果、従来の製品よりもより低い所有トータルコストですむ、完全で、拡張性があり、強度があって信頼性の高いサーバ集中型アプリケーション及びオペレーティングシステム管理システムを実現する。
なお、本発明の好ましい実施例の前述の説明は、例証および説明のために提示されたものであり、網羅的な記述、又は、本発明を記述された厳密な表現に制限することを、意図していない。そして、上記説明の観点から多くの修正およびバリエーションが可能であり、本発明の範囲がこの詳細な説明によって制限されず、添付した請求項及びその請求項の均等物によるものとすることが意図されている。