JP2005514699A - 複数の専用サーバをホスティングする方法およびシステム - Google Patents

複数の専用サーバをホスティングする方法およびシステム Download PDF

Info

Publication number
JP2005514699A
JP2005514699A JP2003558681A JP2003558681A JP2005514699A JP 2005514699 A JP2005514699 A JP 2005514699A JP 2003558681 A JP2003558681 A JP 2003558681A JP 2003558681 A JP2003558681 A JP 2003558681A JP 2005514699 A JP2005514699 A JP 2005514699A
Authority
JP
Japan
Prior art keywords
virtual dedicated
computer
vds
service
dedicated server
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
JP2003558681A
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.)
Sphera Corp
Original Assignee
Sphera Corp
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 Sphera Corp filed Critical Sphera Corp
Publication of JP2005514699A publication Critical patent/JP2005514699A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

仮想専用サーバをホスティングする方法およびシステムでは、システムユーティリティおよびアプリケーションプログラムへのアクセスは、データネットワークを介してリモートに行われる。ホスティングコンピュータファイルシステムのルートディレクトリから得られたサブディレクトリツリーをそのルートディレクトリツリーとして割り当て、オペレーティングシステムユーティリティ、上記仮想専用サーバによって実行されるべきプログラムおよび/または上記サブディレクトリツリー上のプログラムへのハードリンクを配置することにより各仮想専用サーバを作成した後、上記コンピュータシステムの通信ポートを通じて入来するデータがインターセプトされる。サービスに関する要求が識別されると、上記データが処理され、上記要求の送信先となっている仮想専用サーバが識別可能となり、上記要求はサービス提供プログラムへと回送される。

Description

本発明は、専用サーバの分野に関する。より詳細には、本発明は、単一のコンピュータシステム上に複数の専用サーバをホスティングする方法およびシステムに関する。
従来技術においては、ウェブホスティングプロバイダ(WHP)の特定の要求に応じて、すぐに利用可能な既製の解決法(オフザシェルフソリューション)はなかった。そのため、「WHP」は、時間のかかる日々の仕事である日常業務を自動化するためのソフトウェアを自身で開発しなければならなかった。これらのシステムには欠陥が多数あるため、WHPにおける新規サービスの取りかかりに支障が出る。サービスプロバイダは様々な種類のサービス提供に主に焦点を当てており、これらの部分的解決法は、サービスプロバイダによって作られたのにもかかわらず、管理上「ボトムアップ」アプローチをとっていた。このため、管理者は、顧客サービスを構成するため、末端のサーバ(低レベルサーバ)の詳細を理解しなければならない。例えば、管理者は、IPアドレスの分配、DNS登録、ローカルサーバの設定、新規サーバへのユーザアカウントの追加といった作業を手作業で行った後でないと、サービス提供プロセスに進むことができない。このように、既存の管理システムに関連する欠陥としては、ホスティング対象サービスを提供する際に、多くの複雑かつ反復的作業を行うために、高技能、高コスト、そして発見および保持が困難な技術者(エンジニアリングリソース)が必要とされる事実がある。
企業にとっては、自社ウェブサイトの全施設を自社スタッフで管理できると好適な面もある反面、ウェブサイト維持にはコストがかかり過ぎる面もある。そのため、合理的解決法として、WHPのウェブサービスをアウトソーシングする方法がある。ウェブサイトをローカルに設置(ホスティング)するのも、高コストである。その理由としては、サイトへのインターネットトラヒックに十分な帯域を分配しなければならない点、当該サイトを(ソフトウェアおよびハードウェア両方の観点において)常時利用可能にするためのリソースを分配しなければならない点、およびセキュリティ面(例えば、ファイヤウォール)を考慮しなければならない点が挙げられる。
WHPは、求められるサービスレベルに応じて様々なサービスモデルを用いて、多種多様な顧客に対応している。小規模ビジネスおよび中規模ビジネスによるウェブサイトは、通常専用サーバによって提供されるリソースを先取りしないため、共有型サーバモデルによって管理されることの方が多い。しかし、このような小規模ビジネスおよび中規模ビジネスによるウェブサイトによる要求が変化し、サイト内活動が増加するにつれ、当該サイトはより多くのリソースを消費するようになり、また、管理対象の専用ホスティングの機能を高めるために、適切なアップグレード手段(経路)を必要とする。
従来技術では、「仮想ホスティング」という用語は、単一のコンピュータシステム上に複数のウェブドメインを維持することを指す。
仮想ホスティングを行う方法には、ネームベース法およびIPベース法の2種類がある。IPベースの仮想ホスティングの場合、1つのホストコンピュータが複数のIPアドレス(各IPアドレスは各ドメインに対応する)を取り扱う。ネームベースの仮想ホスティングの場合、1つのIPアドレスを複数のドメインが共有する。
HTTP/1.1プロトコルおよびHTTP/1.0への共通エクステンションはネームベースの仮想ホスティングをサポートしているため、ウェブサーバはこのプロトコルに対応する。しかし、従来技術では、FTPおよびEメールサービスを提供する複数のドメイン間で1つのIPアドレスを共有する問題に対する解決法は提示されなかった。
従来技術における唯一の解決法は、Unix(登録商標)ベースの(または類似の)オペレーティングシステムの複製物を複数実行することにより、複数の仮想コンピュータ(本明細書中、仮想専用サーバ−(VDS)と呼ぶ)を作成する方法である。各仮想コンピュータがオペレーティングシステム全体をサポートするため、この解決法は一般的である。しかし、この利点は同時に欠陥ともなる。その理由は、この方法の場合、コンピュータリソースを大量に消費するからである。例えば、Pentium(登録商標)800プロセッサおよび256の物理メモリを備えた典型的なUnix(登録商標)ベースのシステムの場合、Unix(登録商標)ベースのオペレーティングシステムの複製物を10個までホスティングすることができる。
この方法の別の欠陥としては、仮想コンピュータの間でホスティングコンピュータのリソースが静的に分割される点がある。その結果、例えば、実際のコンピュータが10個の同じ仮想コンピュータに分割され、実行中の仮想コンピュータが1つだけであっても、システムリソースの10%が各仮想コンピュータに分配されることとなる。動的リソース分配を用いた場合、仮想コンピュータごとのパフォーマンスは良くなるため、ユーザ側から見たパフォーマンスは良くなる。
本明細書中、リモートクライアントが自身のシステムユーティリティおよびプログラムにアクセスすることが可能なコンピュータシステムのエミュレーションを仮想専用サーバ(VDS)と呼ぶ。1つのホスティングコンピュータシステム上で、複数のVDSインスタンスを同時実行することが可能である。
本発明の目的は、従来技術と比較してより多くの仮想専用サーバをコンピュータ上で実行することができる、複数の仮想専用サーバをホスティングする方法およびシステムを提供することである。
本発明の別の目的は、ある仮想専用サーバのファイルシステムが別の仮想専用サーバによってアクセスされるのを防ぐことができる、複数の仮想専用サーバをホスティングする方法およびシステムを提供することである。
本発明のさらなる目的は、従来技術と比較してホスティングされる仮想専用サーバのパフォーマンスが改善されている、複数の仮想専用サーバをホスティングする方法およびシステムを提供することである。
本発明のさらなる目的は、従来技術と比較してコンピュータリソース(例えば、CPU、常駐メモリおよびディスクストレージ)の消費が低減されている、複数の仮想専用サーバをホスティングする方法およびシステムを提供することである。
本発明の他の目的および利点は、以下の説明からより明らかとなる。
一つの態様において、本発明は、ホスティングコンピュータシステム上に1つ以上の仮想専用サーバをホスティングする方法に関する。上記仮想専用サーバはそれぞれ、上記ホスティングコンピュータシステムのエミュレーションであり、上記ホスティングコンピュータシステム上において、システムユーティリティおよびアプリケーションプログラムへのアクセスは、データネットワークを介してリモートに行われ、
上記方法は、
a)各仮想専用サーバを作成するステップであって、
(i)上記ホスティングコンピュータのファイルシステムのルートディレクトリから得られたサブディレクトリツリーを、上記仮想専用サーバのルートディレクトリツリーとして割り当てるステップと、
(ii)上記仮想専用サーバによって提供されるサービスによって要求される、又は正規動作モードにおいて本質的な動作をするため上記ホスティングコンピュータのオペレーティングシステムによって要求される、上記オペレーティングシステムユーティリティのサブセットを上記サブディレクトリツリー上に配置するステップと、
(iii)上記仮想専用サーバによって実行されるプログラムおよび/または上記プログラムへのハードリンクを上記サブディレクトリツリー上に配置するステップと、
b)上記コンピュータシステムの通信ポートを通じて入来するデータをインターセプトするステップと、
c)上記仮想専用サーバの1つと関連付けられたサービス提供プログラムへのサービスに関する要求が上記データ中で識別された場合、
(i)上記データを処理することにより、上記要求の送信先となっている上記仮想専用サーバを識別するステップと、
(ii)上記サービス提供プログラムが上記仮想専用サーバ上で未だ呼び出されていない場合、対応するサブディレクトリツリー中に格納されている上記サービス提供プログラムを呼び出すステップと、
(iii)上記要求を上記サービス提供プログラムに回送し、上記サービスを上記サービス提供プログラムにより提供するステップと、
(iv)上記サービスに関する要求物を提供するステップが終了すると、上記サービス提供プログラムのプロセスを必要に応じて終了するステップと、
とを含む。
必要に応じて、上記オペレーティングシステムユーティリティの一部または全部は、対応するハードリンクと取り替えてもよい。
必要に応じて、上記サブディレクトリツリーは、上記ホスティングコンピュータのアカウントによって限定されてもよい。
上記仮想専用サーバのうち1つ以上は、その一意に定まるIPアドレスによって識別されてもよい。一方、他のものは、1つの共有IPアドレスおよびその名前によって識別されてもよい。
必要に応じて、本発明は、Unix(登録商標)ベースのシステム上で実装されてもよい。
本発明をUnix(登録商標)ベースのシステム上で実装する場合、Chrootシステムコールまたはそれに相当する手段により、仮想専用サーバ上にて実行中のプロセスをそのサブディレクトリツリーに限定することができる。
セキュリティを改善するため、setuidシステムコール(またはそれに相当するもの)を用いて、関連ユーザについてのアクセス権限がある場合のみに当該プロセスを許可するべきである。「setuid」の使用により、以下の目的が達成される。
1.当該プロセスはルート権限で実行されないため、「chroot」により、その制約付きサブツリーの範囲から別のディレクトリへ出ていくことはできない。
2.当該プロセスは、制約付きシステムリソースへアクセスすることはできない。
3.当該プロセスは、他のVDSの情報(ファイルおよびプロセス)にアクセスすることはできず、上記オペレーティングシステムのアクセス権限(パーミッション)システムに基づく。関連ユーザIDを持つユーザだけが、他のVDSの情報にアクセスすることができる。
4.システムマネージャは、当該プロセスのユーザIDについてフィルタリングを行うことにより、特定のVDSのプロセスを発見し、管理することができる。
ホスティングコンピュータシステムによってホスティングされるVDSの一部または全てを、1人のシステム管理者によって管理することが可能である。
Unix(登録商標)ベースのシステムにおいて実装が行われる場合、上記システムのカーネルを変更する必要はない。
本発明の一実施形態によれば、上記ホスティングコンピュータのリソースを利用するオペレーティングシステムコールは、上記コンピュータのリソース消費をモニタリングするためにインターセプトされる。必要に応じて、上記モニタリングは、上記仮想専用サーバの利用率を得る目的および/または少なくとも所定のサービスレベルを上記仮想専用サーバに提供する目的および/または最低限のサービス品質を上記仮想専用サーバに提供する目的のために用いられる。
上記サービス提供プログラムは、オペレーティングシステムのサービスであってもよいし、上記仮想専用サーバ上にて実行中のプログラムであってもよい。
上記データネットワークは、TCP/IPまたは他の任意のプロトコルを用いてよい。
別の態様において、本発明は、1つ以上の仮想専用サーバをホスティングするコンピュータシステムに関する。上記仮想専用サーバはそれぞれ、上記コンピュータシステムのエミュレーションであり、上記コンピュータシステム上において、システムユーティリティおよびアプリケーションプログラムへのアクセスは、データネットワークを介してリモートに行われ、上記仮想専用サーバはそれぞれ、
−上記コンピュータのファイルシステムのルートディレクトリから得られ、かつ、上記仮想専用サーバのルートディレクトリツリーとして用いられるサブディレクトリツリーと、
−上記仮想専用サーバによって提供されるサービスによって要求される、又は正規動作モードにおいて本質的な動作をするため上記ホスティングコンピュータのオペレーティングシステムによって要求される、上記サブディレクトリツリー上のオペレーティングシステムユーティリティのサブセットと、
−ポートを通過するデータをインターセプトし、上記データを上記適切な仮想専用サーバへと方向付けるソフトウェア手段と、
−上記データを解析し、上記データの送信先となっている上記仮想専用サーバを識別し、上記データを上記仮想専用サーバへと回送するソフトウェア手段と、
を含む。
本発明の上記および他の特徴および利点は、以下の例示的かつ非限定的で好適な実施形態の詳細な説明を添付の図面と共に参照すれば、より良く理解される。
以下の説明の理解をより容易にするために、いくつかの用語および頭字語の意味を以下のように定めておく。
TCP/IP(伝送制御プロトコル/インターネットプロトコル)は、インターネットの基本的プロトコルである。TCPはデータ転送を制御し、IPはそのルーティングを制御する。TCP/IPネットワークは、TCP/IPをサポートするネットワークである。
ドメイン名はURL(ユニフォームリソースロケータ)の一部であり、ドメイン名システム(DNS)を用いたドメイン名サーバに対し、ウェブページまたはウェブサービスに関する要求の回送可否および回送先について通知する。ドメイン名は、インターネット上の物理的ポイントを表すIPアドレスに対してマッピングされる。1つのドメイン名は1つのIPアドレスを指すが、複数のドメイン名が単一のIPアドレスを指すこともできる。
ドメインとは、企業によってまたは当該企業の代理人によって提供される一群のウェブサービスを指す。ドメインは通常、一組のネットワークアドレスを含む。これらのネットワークアドレスはそれぞれ、1つ以上のウェブサービス(例えば、HTTP、テルネット、FTP、Eメール)、または企業内の一組の部門(例えば、財務、R&D)を提供する。
クライアント/サーバは、2つのコンピュータプログラム間の関係を記述するものであり、1つのプログラム(クライアント)は別のプログラム(サーバ)に対してサービス要求を作成し、別のプログラム(サーバ)はその要求を実行する。クライアント/サーバという概念は、単一のコンピュータ内における複数のプログラムの場合も用いることができるが、この概念はネットワークの場合により重要となる。ネットワークの場合、クライアント/サーバモデルを用いれば、異なる位置に効率的に分散されたプログラムを簡便に相互接続する方法が得られる。クライアント/サーバモデルは今や、ネットワークコンピューティング分野における中心的概念の1つとなっている。今日記述されているほとんどのビジネスアプリケーションでは、クライアント/サーバモデルが用いられており、インターネットの主要プログラム(例えば、ウェブブラウザおよびサーバ)も例外ではない。
ウェブについて言えば、ウェブサーバとは、要求されたHTMLページまたはファイルを提供するコンピュータプログラムを指す。ウェブクライアントとは、ユーザと関連付けられた要求元プログラムを指す。ユーザのコンピュータ中のウェブブラウザとは、(HTTPプロトコルを用いて)ウェブサーバに対してHTMLファイルを要求するクライアントを指す。
通常のクライアント/サーバモデルの場合、1つのサーバ(デーモンと呼ばれることもある)が活性化され、クライアント要求を待機する。典型的には、複数のクライアントプログラムは、共通サーバプログラムのサービスを共有する。クライアントプログラムおよびサーバプログラムはどちらも、より大型のプログラムまたはアプリケーションの一部であることが多い。インターネットに関連して、ユーザのウェブブラウザとは、インターネット上のどこかにある別のコンピュータ中のウェブサーバ(技術的には、ハイパーテキスト転送プロトコルまたはハイパーテキスト転送プロトコルサーバと呼ばれる)に対してサービス(ウェブページまたはファイルの送信)を要求するクライアントプログラムを指す。同様に、TCP/IPがインストールされているユーザのコンピュータは、インターネット上の他のコンピュータ中におけるFTP(ファイル転送プロトコル)サーバに対してファイルについてクライアント要求を作成することができる。
HTML(ハイパーテキストマークアップ言語)とは、ワールドワイドウェブブラウザページ上に表示されるファイルに挿入される一組のマークアップ記号またはコードを指す。マークアップにより、ウェブページ上の単語および画像をユーザ向けに表示する様式をウェブブラウザに指示する。各個々のマークアップコードは、エレメントと呼ばれる(しかし、タグとも呼ばれることが多い)。対で表されるエレメントもあり、その場合、当該エレメント対は、表示効果が開始および終了する時期を示す。
CLI(コマンドラインインターフェース)とは、コンピュータのオペレーティングシステム又はアプリケーションに対するユーザインターフェースであって、ユーザが(指定行にコマンドをタイピングすることにより)視覚的なプロンプトに反応し、システムからそれに対する反応を受け取り、別のコマンドを入力するインターフェースである。Windows(登録商標)オペレーティングシステム中のMS−DOSプロンプトアプリケーションは、コマンドラインインターフェースの提供の一例である。典型的には、今日のほとんどのUnix(登録商標)ベースシステムでは、コマンドラインインターフェースおよびグラフィカルユーザインターフェース双方の提供が可能である。
スクリプトとは、一連のCLIコマンドを指し、通常は、タスク実行のためのものである。スクリプトは、タスク実行のためのパラメータを受け取り得る。例えば、Windows(登録商標)及びDOS(ディスクオペレーティングシステム)のBATファイルはスクリプトである。
ウェブサイトは、関連するウェブファイルの集合であり、ホームページと呼ばれる最初のファイルを含む。ウェブブラウザ(インターネット上のファイルへのアクセスおよびユーザへのファイル表示の際に用いられるソフトウェア)は、このホームページから、当該ウェブサイト上の残り全てのページを入手することができる。実際は、ホームページ以外のファイルへのアクセスを、全ユーザのうち一部のユーザに限定することも可能である。
IPアドレスを参照するクライアントプロセスは実際、ウェブサーバと通信する。ウェブサーバは、クライアント/サーバモデルを用いて、そのサービスに関する要求物を「提供する」プログラムである。インターネット上の各コンピュータのうち、ウェブサイトを含むものは、ウェブサーバプログラムを持っていなければならない。一方、非常に大型のウェブサイトの場合、そのようなウェブサイトは、異なる地理的位置にある複数のサーバに分散して設けられる場合もある。一方、1つのウェブサーバによって複数のウェブサイトをホスティングすることも可能である。
インターネット上では、多くの異なるサーバが用いられている。そのうち有名なものを挙げると、アパッチ、インターネット情報サーバ(IIS)、およびネットスケープエンタープライズサーバがある。これらの有名サーバは、NTオペレーティングシステムおよびUnix(登録商標)オペレーティングシステム上で動作する。
従来技術においては、専用サーバと言えば専用レンタルコンピュータを意味し、このようなコンピュータは、ウェブサーバ、関連ソフトウェア、インターネット接続を含み、ウェブホスティング担当会社の建物内に収容されていた。専用サーバは通常、かなりの量のトラヒック(例えば、1日のヒット数が3500万)を生じ得るウェブサイト(または一組の関連会社サイト)に必要とされる。専用サーバは通常、クライアント会社からの遠隔構成および操作が可能である。典型的には、専用サーバは、当該専用サーバが規定量のメモリ、ハードディスクスペース、帯域などを提供するためにレンタルされる。
本明細書中、「ウェブサービス」という用語は、ドメインからウェブ経由でクライアントへと提供されるサービスを指す(例えば、HTTP、FTP、およびEメールサービス)。
HTTP(ハイパーテキスト転送プロトコル)は、ワールドワイドウェブ上の複数のサーバに接続するために用いられる通信プロトコルであり、その主な機能は、ウェブサーバとの接続を確立し、HTMLページをクライアントブラウザに伝送することである。ウェブサイトのアドレスは、「http://」プレフィックス、または安全なHTTP接続のための「https://」から始まる。
ファイル転送プロトコル(FTP)は、インターネット上の複数のコンピュータ間でファイルをやり取りするためのインターネットプロトコルである。表示可能なウェブページおよび関連ファイルを転送するハイパーテキスト転送プロトコル(HTTP)と同様に、FTPも、インターネットのTCP/IPプロトコルを用いるアプリケーションプロトコルである。
SMTP(シンプルメール転送プロトコル)は、インターネット上の標準的Eメールプロトコルである。TCP/IPプロトコルによってメッセージフォーマットが規定され、メッセージ配達エージェント(MTA)により当該メールの収容および回送が行われる。
SMTPサーバは、インターネット全体に渡ってSMTPメッセージをメールサーバ(例えば、POP3またはIMAP4)へとルーティングし、メールサーバは、入来メール用のメッセージ収容部を提供する。
POP3(ポストオフィスプロトコル3)およびIMAP(インターネットメッセージアクセスプロトコル)は、クライアントをメールサーバへと接続するためのクライアント/サーバプロトコルである。
Inetd(インターネットデーモン)は、多数の共通TCP/IPサービスを管理するUnix(登録商標)のプロセスである。Inetdはスタートアップ時に活性化され、様々な接続要求(例えば、FTP、テルネット)を待機し、適切なサーバコンポーネントを起動させる。ポートの一覧およびその関連サーバコンポーネント(すなわち、呼び出されるプロセス)は、設定が可能である。
オペレーティングシステムは、コンピュータを動作させるマスター制御プログラムである。コンピュータ起動時にロードされる第1のプログラム(すなわち、その主要部分であるカーネル)は、常時メモリに常駐する。本明細書中、オペレーティングシステムによってアプリケーションプログラムおよびユーザへと提供されるサービス(例えば、ファイルサービス(例えば、「開く」、「閉じる」、「読み出す」)、通信サービス、タスク管理)をシステムユーティリティと呼ぶ。
カーネルとは、オペレーティングシステムの残り部分全てについての基本的サービスを提供する核となる部分のことを意味し、カーネルの同義語としては、ニュークリアスがある。カーネルと対照的な部分としては、シェル(ユーザコマンドとの交信を行うオペレーティングシステムの最外部)がある。
典型的には、カーネル(または類似する任意のオペレーティングシステムの中心)は、カーネルのサービスに対して競合する全ての要求または完了済みI/O動作を取り扱う割込みハンドラ、カーネルの処理時間をどのプログラムがどの順序で共有するかを決定するスケジューラ、プロセスがスケジュールに組み込まれている場合に使用権を実際に各プロセスに与えるスーパバイザを含む。また、カーネルは、メモリまたはストレージ中のオペレーティングシステムのアドレス空間(アドレススペース)のマネージャを含む場合もあり、その場合、これらのアドレススペースは、カーネルのサービス範囲の全コンポーネントおよび他のユーザ間で共有される。カーネルによるサービスは、オペレーティングシステムの他の部分又はアプリケーションによって、所定の一組のプログラムインターフェース(システムコールとしても知られる)を通じて要求される。
セキュアソケットレイヤ(SSL)とは、インターネット上でのメッセージ伝送のセキュリティを管理するために共通使用されるプロトコルである。SSLでは、インターネットのハイパーテキスト転送プロトコル(HTTP)及び通信制御プロトコル(TCP)のレイヤ間に配置されたプログラムレイヤを用いる。
〔ウェブホスティング〕
本明細書中、「ウェブホスティング」という用語は、1つ以上のウェブサイトに関するファイルの収容、提供および維持を指すものとする。
典型的には、ウェブホスティングは以下のサービスを提供する。
−ウェブサーバ(HTTPサービス)によるアクセスが可能なウェブファイルを収容するためのファイルストレージ;
−EメールアドレスおよびEメールサービス;
−FTP;
−ドメインの所有者用コンピュータの維持(例えば、ユーザアカウントの維持、新規ソフトウェアのインストール、およびウェブサイトを動作させるのに必要なソフトウェアの更新);
これらのサービスは、ドメインを所有する企業のドメイン名に対応するIPアドレスを通じて提供される。
企業は、自社用ウェブサーバを維持することにより、自社ドメインのホスティングおよび自社特有のウェブホスティング要件の管理を行うことができる。別のやり方としては、ISP(インターネットサービスプロバイダ)によるサービスを利用する方法がある。どちらの場合においても、このような管理については、システム管理者またはシステムアドミニストレータと通常呼ばれている専門知識を持った人員が担当することが多い。
(例えば、自社ウェブサイトへの新規サービス追加または自社ウェブサイト上のトラヒック量増加などの理由で)或る企業のウェブ要件が一定のポイントを超えた場合、その企業は、専用サーバを使用してもよい。しかし、この解決法には大きな欠陥があり、特に、HTTPサービス以外のサービスを提供するための専用サーバの能力が制限される。このため、当該専用サーバのメンテナンス(例えば、新規Eメールアカウントの追加)において、当該企業はインターネットサービスプロバイダに依存してしまう。
ISP側から見ると、同一コンピュータシステムをできるだけ多数のクライアントで共有すると利益が出る。このように、コンピュータシステムの維持管理費用を複数のクライアント(企業)で負担することができる一方、ISPは自社の専用サーバの価格を低減しつつ利益を確保できるため、顧客によりアピールできるようになる。
〔仮想専用サーバ〕
本発明によれば、上記の問題および要件は、VDSという概念によって解決することができる。
本明細書中、仮想専用サーバ(VDS)とは、主にウェブホスティングに用いられるコンピュータシステムのエミュレーションを指す。VDSにおいて、オペレータは、エミュレート対象コンピュータのシステムユーティリティおよびプログラムに対し、(データネットワークを通じて)リモートにアクセスすることができる。1つのホスティングコンピュータシステム上で、複数のVDSインスタンスを同時実行することが可能である。
典型的には、VDSにより、インターネットサーバ(例えば、ウェブサーバ、FTPサーバ、Eメールサーバ)、アプリケーションプログラム(例えば、会計)、eコマースアプリケーションなどのホスティングが可能である。
VDSによって提供可能なサービスを以下に挙げる。
・ウェブサイトのホスティング。
・仮想Eメールサーバであって、各仮想Eメールサーバが自身のユーザを持つもの。例えば、「aaa.com」および「bbb.com」というドメインが同一コンピュータによってホスティングされる場合、「myname@aaa.com」というユーザと、「myname@bbb.com」というユーザは違うユーザであり、このようなユーザを生成することが可能となる。
・Eメール発行に類似する仮想FTPサーバ。
・オペレーティングシステムユーティリティへのテルネットによるアクセス。テルネットを用いることで、ドメインの所有者(またはそのシステム管理者)は、ホストコンピュータ全体が当該所有者のものであるかのように全ての動作(例えば、ファイル閲覧、スクリプト実行、ユーザの追加および削除)を行うことができる。
〔従来技術〕
複数の仮想専用サーバのホスティングを行う際に単一のコンピュータシステムを用いる概念は、従来技術において既に取り扱われている。従来技術において導入されたこの課題に対する解決法は、各専用サーバ用のオペレーティングシステムのインスタンスの使用である。この解決法は一般的であるため多くのアプリケーションに適している一方、オペレーティングシステムおよびコンピュータの全てのリソースがウェブホスティングに必要な訳ではないため、ホスティングコンピュータシステムのリソースに無駄が出る。
〔VDS実装の際の問題〕
1つのコンピュータシステム上で複数の仮想専用サーバをエミュレートすると、いくつかの問題が発生する。すなわち、管理レベル、実行レベル、およびセキュリティレベルにおいて問題が発生する。新規ウェブサイトを追加するには、複雑な手続(プロシージャ)が必要となる。ウェブサイトの維持管理にも、複雑なプロセスが必要となる。セキュリティの観点から見ると、ドメイン/ウェブサイトの所有者がホスティングコンピュータのストレージメディアへのアクセス権を有するという事実は、上記ウェブサーバによってホスティングされている他のウェブサイトコンテンツにアクセスして損害を与えるための開口部となる。
〔VDSのファイルシステム〕
一般性を全く失うことなく、本明細書中の例は、Unix(登録商標)ベースのオペレーティングシステム(例えば、Linux(登録商標)、Solaris(登録商標))、又はUnix(登録商標)指向のオペレーティングシステム(例えば、AIX(登録商標)、Irix(登録商標)、Tru64(登録商標)、HP(登録商標)/UX)に言及する。
Unix(登録商標)ファイルシステム中の全ファイルは、複数のレベルに分けられた階層(ディレクトリツリーと呼ばれる)に整理される。このファイルシステムの最頂部にあるのは、ルートと呼ばれる単一のディレクトリであり、/(スラッシュ)で表される。残りのファイルは全て、ルートの「子孫」となる。
この課題に関する別の要素として、アカウントがある。ユーザは、Unix(登録商標)システムを利用できるようになるためには、有効ユーザ名およびパスワードを持っていなければならない。ユーザ名および初期パスワードの割当ては典型的には、システム管理者または「コンピュータアカウント」事務局によって取り扱われることが多い。ユーザ名(ユーザIdとも呼ばれる)は、一意に定まるものでなくてはならず、かつ、変更されるべきではない。
ファイルシステム中のファイルおよびディレクトリは、そのアクセス権限を変更することにより、他のユーザからの保護または他のユーザへのアクセス許可を行うことができる。ユーザは、自身のファイルへのアクセスを制御する責任を負う。ファイルまたはディレクトリに関する許可は、r−読み出し;w−書き込み;x−プログラムの実行のいずれかまたは全てであり得る。許可は、u−ユーザ;g−グループ;o−その他(システム上の全員)の3レベルで制御することが可能である。Unix(登録商標)バージョンの中には、特定のユーザレベルでの許可設定が可能であるものもあるが、このようなバージョンは標準的Unix(登録商標)の一部ではない。
Unix(登録商標)オペレーティングシステムによって実行されるプログラムをプロセスと呼ぶ。Unix(登録商標)は多重タスク処理オペレーティングシステムであるため、任意のユーザは複数のプロセス(例えば、複数のログインセッション)を同時実行させることができる。ログインシェル内において、各コマンドは、処理を実行している間少なくとも1つの新規プロセスを作成する。
アクセス権限とは、各ファイル又は各ディレクトリと関連付けられた一組のアクセス権限であって、当該ファイル又はディレクトリに対する読み出し、書き込みまたは実行を行う権利を有する者を決定する。これらのアクセス権限を変更できるのはファイルの所有者(またはスーパーユーザ)だけであり、しかも、このような変更を行うには、当該アクセス権限はあらかじめ書き込みおよび実行ができるように設定されていなければならない。
スーパーユーザアカウントとは、全てのファイルおよびコマンドへの無制限なアクセス権を持った特権的アカウントを指す。多くの管理的タスクを行うことができるのは、スーパーユーザアカウントだけである。ある種類のUnix(登録商標)では、この能力を複数のアカウントで分割することで、各1つのアカウントがオペレーティングシステムの特定の面のみについて特権を持つようにしている。
本発明の一実施形態によれば、当該VDS固有のアカウント(またはアカウントのグループ)およびディレクトリツリーが当該VDSに提供される。さらに、VDSのセキュリティを得るために、VDSのディレクトリツリーは、このVDSによる使用のみに限定されるべきである。このようにして、ある特定のVDSのユーザは、別のVDSのディレクトリツリーへアクセスすることはできず、その結果、ハッカーは、自身のディレクトリツリー以外のディレクトリツリーへ物理的にアクセスできなくなる。VDSのアカウントはもちろん、スーパーユーザアカウントであるべきではない。
このアプローチは、Unix(登録商標)のChrootシステムコールによって実行することができる。Unix(登録商標)のChrootシステムコールは、Unix(登録商標)における技術であり、プロセスがファイルシステムのサブセットに隔離されて永久に限定される。このChrootシステムコールにより、上述のプロセスのルートディレクトリは、現在のプロセスおよび作成される任意のプロセスが継続する間、デフォルト以外のものになる。Chrootによる保護下にあるプロセスは、自身のルートディレクトリという概念を超えたファイルシステムにアクセスすることはできない。
Chrootシステムコールの使用を通じて、各VDSのルートディレクトリは、(当該VDS専用でありかつ当該VDSによって所有される)一意に定まるサブディレクトリに変更(リダイレクト)される。そのため、サイト内にて動作するアプリケーションは、自身のディスクスペースが全て自分のものであると認知しつつ、同一コンピュータ上で動作する任意の他のサイトには気付かない。最高のセキュリティを達成するために、特定のVDSディレクトリを別のVDSディレクトリに含ませるべきではない。
代替的解決法として、ファイルシステムのパーミッション機構に依存し、各VDSファイルについてのアクセス権限をこのユーザ/グループのみに変更する方法がある。しかし、このアプローチの場合、下記の理由からVDS解決法と比較して効果が弱い。
−システムファイルは全VDSに共通するため、各VDSは、自身のものではないファイルにアクセスし(かつ修正さえも)することができる。
−VDSユーザが正しいアクセス権限について注意を払わずにファイルを作成した場合、他のVDSユーザがそのファイルにアクセスする可能性が出てくる。
−コンピュータシステムによってホスティングされるVDSのリストは、上記コンピュータシステム上でホスティングされる任意のVDSから得ることができる。このような状況は望ましくない。
VDSがコンピュータに追加されると、当該VDSの所有者は、当該VDSを別個のコンピュータとして動作させることができる。すなわち、VDSの所有者は、新規アカウントを自身のVDSに追加することができ、新規ソフトウェアおよびPowerAppなどをインストールすることができる。
PowerAppは、VDS上のユニットとしてインストールされるソフトウェアモジュールである。PowerAppはLinux(登録商標)中のRPMに類似しているが、PowerAppをインストールするメカニズムはVDSの実装に合わせて作られており、一般的なオペレーティングシステムに合わせては作られていない。このメカニズムは、いくつかの問題を解消すること(例えば、インストールプロセスを自動化することでユーザが間違いを起こす可能性を低減すること;インストール時間を短縮すること;およびユーザの正規の特権では許可されない特権的動作の実行をできるようにすること)を目的としている。
図1は、本発明の好適な実施形態による、複数のVDSをホスティングするコンピュータのファイルシステムの構成図である。ルートディレクトリ60はいずれのVDSによっても所有されておらず、コンピュータの一般的オペレーティングシステムの一部であるファイルを含む。このルートディレクトリは、サブディレクトリ61および62ならびに複数のファイル71を含む。ファイル71およびディレクトリ62はコンピュータの一般的ファイルシステムの一部であり、OSの動作に不可欠なファイルを含む。サブディレクトリ61は、サブディレクトリ66およびファイル64を含む。サブディレクトリ61、63、および65はそれぞれ、プロセスのルートディレクトリツリーとして用いることができる。VDSの各サービスはプロセスによって行われるため、各VDSは1つのサブディレクトリに限定される。サブディレクトリ61がVDSプロセスのルートディレクトリである場合、サブディレクトリ61を所有するVDSはサブディレクトリ66にアクセスすることができるため、低レベルのサブディレクトリツリー61(すなわち、サブディレクトリ66)はVDSのため用いられるべきではない点に留意されたい。
各ディレクトリは、自身のアクセス権限および制約情報を有する。1つのサブディレクトリと関連付けられるVDSは、このサブディレクトリのこの分岐に制限される(すなわち、このVDSは、高レベルのディレクトリツリーまたはこのサブディレクトリの子孫ではないディレクトリツリーの他の分岐へのアクセス権を持たない)。
ディレクトリ61および65を異なるVDSに対して専用ディレクトリとすることは技術的には可能であるが、そのようなことは推奨されない点に留意されたい。その理由としては、ディレクトリ61からディレクトリ65へアクセスすることができるため、ルートディレクトリがディレクトリ61であるVDSの所有者は、ルートディレクトリが65であるVDSのファイルへのアクセスを得ることになるからである。
〔ハードリンクの使用によるVDSの機能性の改良〕
ハードリンクとは本質的には、或るファイルに割り当てられたラベルまたは名前である。従来、1つのファイルには単一の名前が付けられるが、Unix(登録商標)下では、複数の異なる名前によって1つのファイルの同一コンテンツを参照することが可能である。これらの異なる名前のうちいずれかについてコマンドが実行されると、そのコマンドは、同一ファイルのコンテンツについて動作する。当該ファイルへの任意の変更は、当該ファイルを参照する際に用いられる名前(もともとの名前またはリンク名)に関係なく有効となる。ハードリンクは、ファイルシステムまたはドライブをまたがって用いることはできない。
Unix(登録商標)ベースのオペレーティングシステムにおいて、特定のファイル(例えば、ユーザのファイルである/etc/passwd)、システムコマンド(例えば、「/bin/rm」)は、特定のディレクトリ中にあるべきである。ホスティングコンピュータの「派生物」としてのVDSは、上記ファイルが自身のサブディレクトリツリーにおいて、自身のルートに関連する正しい場所に存在することを要求する。VDSのサブディレクトリにこれらのファイルのコピーを保持することも可能ではあるが、特に、数十または場合によっては数百のVDSをコンピュータによってホスティングする場合は、ハードリンクを使用するのが最も効率的である。このようにすることで、かなりの量のディスクスペースが節約される。
VDS間には相当の類似性があるため、本発明の一実施形態によれば、各VDSについて用いられる特定のファイルを複製する代わりに、ハードリンクを用いることができる。このようにして、ディスクスペース量が節約される。
ハードリンクを使用すると、VDSのメモリ消費も改良される。VDSの動作に関連する各プログラムのインスタンスをメモリ(RAM)中に保持する代わりに、ハードリンクを用いることで、プログラムの1つのコピーだけをコンピュータのメモリにロードし、このプログラムの全インスタンスはこのコピーを参照する。このようにして、より多くのメモリが利用可能になるため、RAMとディスクメディアとの間のメモリチャンクのスワップ量が低減し、その結果、プログラム実行が高速化される。
この見積りは、同一プログラムが1つ以上のVDSによって実行されることを前提としている。これは、いくつかのプロセス(例えば、アパッチ)が各VDSによって実行されているウェブホスティングの場合と同様である。
〔新規VDSのシステムへの追加〕
本発明の一実施形態による、新規VDSのインストールは以下のように行われる。
−新規ユーザを適切なアクセス権限と共にオペレーティングシステムに追加する。
−サブディレクトリツリー(本明細書中、VDSファイルシステムと呼ぶ)を作成する。サブディレクトリツリーは、VDSを動作させるのに必要なファイルおよびディレクトリ全てからなる。VDS間には類似性があるため、テンプレートディレクトリツリーを作成し、新規VDSをシステムに追加する際にそのテンプレートディレクトリツリーを複製することにより、手続を簡略化する。
−必要に応じて、VDSの動作に関連し得るUnix(登録商標)ユーティリティのサブセット(またはハードリンク)をVDSファイルシステムに追加する。
−システム管理者は、自身のVDSへのアクセスが安全になるインターフェース、好適にはGUI(グラフィカルユーザインターフェース)、を含むJava(登録商標)アプレットを自身のVDSにダウンロードする。例えば、ユーザとVDS間のエンコード/デコードを、鍵の1つがユーザID(通常はUIDと呼ばれる)となるように行う。
−あるいは、システム管理者は、正規ウェブブラウザを用いて、HTMLページとのインターフェースをとることにより、好適にはSSLを用いたセキュアな接続を介して、VDSへのアクセスを行ってもよい。
当業者に公知のように、クライアント/サーバ間のセキュアな通信チャンネルを保持する様々な方法が業界において存在する。
この段階は典型的には、VDSをインストールする段階において各VDS上で一回行われる。典型的なウェブアプリケーション上で、VDSの所有者は、自身のウェブサイトのファイルをVDSのディレクトリツリーにアップロードし、必要な場合、自身のVDSにユーザを追加することができる。これは、GUIによって行われる。
〔セキュリティ問題〕
Chrootシステムコールの使用を通じて、各VDSのルートディレクトリが、VDS専用でありかつVDSによって所有される一意に定まるサブディレクトリにリダイレクトされる。そのため、VDS内において動作するアプリケーションは、自身のディスクスペースが全て自身のものであることを認知しつつ、同一コンピュータ上で動作する他の全てのサイトの存在には気が付かない。さらに、Chrootシステムコールの使用に起因して、1つのVDS上で実行中のアプリケーションは、同じコンピュータによってホスティングされている別のVDSのファイルシステムにアクセスすることはできない。これにより、VDSセキュリティのレベルが全体的に改善される。
〔VDS内でのプログラムの実行〕
VDS上で実行されている各プログラムは、VDSファイルシステムと、当該VDSのアカウントとに限定されるべきである。これは、以下の方法で行うことができる。
−VDSのインターネットデーモン(Inetd)と、TCP/IPポートを「リッスン」する別のデーモンとを交換する。「リッスンされている」ポートと関連付けられたサービスに関するアプリケーションが検出されると、以下の動作が行われる。
−Chrootシステムコールを呼び出して、VDSファイルシステムを上記プロセスのルートディレクトリとして設定する;
−Setuidシステムコールを呼び出して、当該プロセスをVDSのアカウントに限定する;
−(ディレクトリツリーおよびホスティングコンピュータシステム上のVDSのアカウントの制約のもとで)上記プログラムを実行する。
本発明の一実施形態によれば、サービスについての要求を取り扱うモードには以下の2種類がある:
−Inetdモード:クライアントが、Inetd(インターネットデーモン)に接続すると、Inetdのプロセスは要求を受け入れて、この要求を取り扱う新規プロセスが(関連付けられたポートに従って)作成される。そのポートに別の要求が到着するたび、インターネットデーモンInetdはその要求を(再び)受け入れて、プロセスを作成するなどする。
−スタンドアロンモード:関連プロセス(例えばHTTPD)は、関連ポートの制御を行い、サービスに関する要求を受信すると、その要求に応答し、その要求を取り扱うものとなる。そのため、スタンドアロンプロセスによって取り扱われるポートは、Inetdによって取り扱われるポートリスト中には絶対現れない。
HTTPDがスタンドアロンモードで動作し、(従来はInetdによる管理が可能であったものの)Inetdによって管理されない理由は、プロセス作成の際のオーバーヘッドである。このように、HTTPサービスに関する要求を毎秒何百と受け取るウェブサイトは、各呼出し(コール)毎にプロセスを初期化する必要が無いため、スタンドアロンモードの方がパフォーマンスが良くなる。
〔特権的ポートの問題〕
本明細書中、周知のポートとは、ネットワーク上の特定の種類のデータに対して幅広く用いられるプロトコルポートを指す。例えば、HTTPには典型的にはポート80が割り当てられ、FTP転送にはポート20が割り当てられ、POP3には、ポート番号110およびX−Windowには、ポート番号6000が割り当てられる。本明細書中、特権的ポートとは、プロトコルポート番号0〜1023を指す。
ほとんどのシステムの場合、特権的ポートを用いることができるのは、システム(ルート)プロセスだけである。しかし、セキュリティを考慮すると、VDSアカウントをルートアカウントにするべきではなく、そのため、VDSアカウントは特権的ポートを用いることはできない。
本発明の好適な実施形態によれば、Inetdモードにおいて、ルート権限と共に動作しかつ束縛を実行する別のプロセスを呼び出すことにより、この矛盾を解消する。
本発明の別の好適な実施形態によれば、スタンドアロンモードにおいては、ポートを自力で開く必要があるため、異なるアプローチを実装しなければならない。これを実装する1つの方法として、関連するシステムコールの呼出しと、特権的モードでポートを開く別の機能とを取り替えて、非特権的プロセスに渡す方法がある。
〔IPベースのVDSおよびネームベースのVDS〕
IPベースのアプローチにおいて、各VDSは、自身の一意に定まるIPアドレスを用いる。ネームベースのアプローチにおいて、コンピュータシステムによってホスティングされるVDSのうちいくつかは、単一のIPアドレスを用いる。1つのコンピュータシステムによってホスティングされるVDSのうちいくつかをIPベースにし、残りをネームベースにしてもよい。
〔IPベースのVDSの具現化〕
Unix(登録商標) Socketは、Unix(登録商標)ベースのシステムが外部との接続をTCP/IPネットワーク経由で作成する際に用いられるメカニズムである。ソケットは、IPアドレスおよびポート番号と関連付けられる。
本発明の一実施形態によれば、HTTPサービス(例えば、アパッチプロセス)は、VDSに関する制約のもとで(すなわち、非ルート権限において)実行される。HTTPサービスは、そのIPのポート80に入来する要求(これは、HTTPの周知のポート番号である)を取り出す場合、ライブラリコールを用いて、この要求されたポートに「リッスン」することが可能か確認する。HTTPサービスは、可能であれば、(特権的モードにおいて)ポートを作成し、当該プロセスに関するソケットを返送する。
特権の確認はソケットを開く際のみに行われ、各動作のたびに行われるのではないため、非特権的アパッチがこれを用いることが可能である点に留意されたい。特権の確認はソケットを開く際のみに行われ、読み出しおよび書き込みが行われるたびに行われるのではないため、このメカニズムによってシステムパフォーマンス全体が劣化することはない。
FTPサービスについては、全ての関連ポート番号への接続を待機する単一のプロセス(Inetd)がある。接続に関する要求が到着すると、Inetdは、このフォーマットの要求を(ポートに応じて)処理する方法を「知って」いる別のプロセスを作成し、このプロセスに当該要求を取り扱わせる。このプロセスはルート権限と共に実行されるため、このプロセスは、特権的ソケットを開くことができる。もちろん、このプロセスはChrootおよびSetuidによって制限され、その結果、プロセスは特定のVDSに限定される。
より詳細には、全ポートを「リッスンする」特権的プロセスは1つあり、これは通常はInetdである。この場合、Inetdは、別のプロセスと取り替えられる。接続が確立すると、このプロセスはソケットを開き、関連ポートのプロトコルを取り扱うプロセスに対してそれを引渡す。最新のプロセスは特権的ではないため、VDSディレクトリツリーに限定される。
〔ネームベースのVDSの具現化〕
このアプローチは、同時係属中の国際出願番号第PCT/IL02/00695に記載されている。
〔システムコールのインターセプト〕
プログラムのローディングと並行して、Unix(登録商標)オペレーティングシステムは、バックグラウンンドで特定のライブラリをローディングすることができる。このライブラリは、(Windows(登録商標)におけるDLLと同様に)Unix(登録商標)におけるシェアードオブジェクトと呼ばれる。シェアードオブジェクトもまた、システムコールをオーバーライドすることができ、当該システムコールは、シェアードオブジェクト中の同一名の関数へとリダイレクトされる。そのため、シェアードオブジェクトを用いることにより、システムコールのインターセプトが可能となる。
システムコールおよびライブラリ関数が1つのVDSによって呼び出されたことを、同一コンピュータ上の他のVDSにおいて実行中のアプリケーションに知られないようにするため、このようなシステムコールおよび関数をシステムによってインターセプトする。呼び出し側と呼び出された関数との間を取り持つことにより、入力および出力両方をモニタリングし、修正することができる。このようにすれば、VDSのセキュリティレベルがさらに上昇する。
ライブラリ(例えば、Libcまたはそれと互換性のあるもの)へのコールに対するインターセプトは、各「Chroot」された環境内で「プロキシ」ライブラリを追加することにより行われる。「プロキシ」ライブラリの各関数は、指定パラメータを受け取り、実際の関数を実行すべきか否かを評価する。実際の関数を実行すべき場合、「プロキシ」関数はこの実行すべき関数を実行し、場合によっては与えられたパラメータを修正し、当該関数の結果を呼び出し側アプリケーションへと返送し、場合によっては結果を修正する。実際の関数が呼び出されるべきではない場合、プロキシは、その関数を本質的に解釈することにより、結果を呼び出し側アプリケーションへと返送する。
バインド(ポートをソケットにバインドするシステムユーティリティ)の呼出しをインターセプトすることにより、バインドの呼出しを別のプロセスにリダイレクトすることができる。
〔ホスティング担当オペレーティングシステムのカーネル〕
VDS技術は、通常はオペレーティングシステム環境の一部であるいくつかのプロセスの機能を向上させ、焦点をあてるべき特定のシステムコールを向上させる。しかし、この技術は、必ずしもカーネルに干渉する必要はなく、WHPまたは製品の担当会社のいずれかによって、カーネルのコードに対する任意の変更またはカーネルの再コンパイルも必要としない。
Linux(登録商標)カーネルは様々な方法(いくつかのモジュールをそのプロセスの一部として用いるか否か)で構築が可能であるため、特定のバージョンのカーネルのみの使用をWHPに強要することは受け入れられない場合がある。
〔VDSの管理〕
ドメインの管理を簡単にするため、VDSを遠隔ステーションから管理するためのインターフェースをドメインのシステム管理者(または所有者)に提供する。このインターフェースにより、システム管理者は、Eメールアカウントの追加、既存Eメールアカウントの修正、ユーザへのディスク割り当ての限定などを行うことができる。このインターフェースを用いることで、(何か要求があるたびにホスティング担当会社に連絡する必要がないので)ドメインの所有者にとって時間(および費用)の節約となり、自社のシステム管理者が大量の些細な要求に圧倒されないので、ホスティング担当会社にとって時間(および金銭)の節約となる。
本発明の一実施形態によれば、システム管理者は、インターフェース(図2において符号10および符号20として図示)、好適にはGUI(グラフィカルユーザインターフェース)、を含むJava(登録商標)アプレットを自身のVDSへとダウンロードする。その結果、当該VDSへの安全なアクセスが提供される。例えば、ユーザ/VDS間のエンコード/デコードを、鍵の1つがユーザID(通常UIDと呼ばれる)となるように行う。
本発明の他の実施形態によれば、GUIは標準的HTMLインターフェースであり、ユーザ名およびパスワードが(SSLを用いた)安全な方法で送られ、サーバ上で確認される。
実際には、GUIは管理モジュールに対するフロントエンドである。このGUIの利点は、エンドユーザが自分のドメインを管理できる点である。このフロントエンドはJava(登録商標)アプレットまたはHTMLであり得る。
VDSの所有者は、VDSを実行するマシンに接続することにより、自身のVDSを管理することができる。クラスタマネージャは、任意のコンピュータから接続し、VDSを管理することができる。
本発明の一実施形態によれば、管理機能は、以下のような管理レベルに分割される。
−VDS管理レベル(システム管理者が単一のVDSを管理)。
−グループ管理レベル(システム管理者がVDSのグループを管理)。
−ホスティングコンピュータ管理レベル(システム管理者が、コンピュータシステム上でホスティングされる全VDSを管理)。
同時係属中の国際出願番号第PCT/IL02/00696号に記載のように、上記レベルよりも高い管理レベルとしてクラスタがあり、この管理レベルでは、複数のVDSをホスティングするコンピュータのグループがシステム管理者によって管理される。
図2は、本発明の好適な実施形態による管理図を示す。「a.com」および「b.com」というドメインは、コンピュータシステム50によってホスティングされる。システム管理者の端末19は、ドメインa.comの符号11(Eメール)、符号12(テルネット)、および符号13(FTP)に対応する各サービスをインターフェース10によって管理する。システム管理者の端末29は、ドメインb.comの符号21(Eメール)および符号22(テルネット)に対応する各サービスをインターフェース20によって管理する。
このようなインターフェースにより、システム管理者は、VDS管理を遠隔地から行うことができる。このインターフェースにより、システム管理者は、Eメールアカウントの追加、既存Eメールアカウントの修正、ユーザへのディスク割り当ての限定などを行うことができる。このインターフェースを用いることで、(何か要求があるたびにホスティング担当会社に連絡する必要がないので)ドメインの所有者にとって時間(および費用)の節約となり、自社のシステム管理者が大量の些細な要求に圧倒されないので、ホスティング担当会社にとって時間(および費用)の節約となる。
グループ管理レベルおよびコンピュータ管理レベルは複数のVDSに影響を与えるため、これらのモードのサーバはルート権限で動作する。一方、VDS管理レベルでは、サーバは非ルート権限で動作する。
本発明の一実施形態によれば、システム管理者は、サーバ側の特定のコンポーネント(本明細書中、これをmanager.cgiと呼ぶ)と交信する。このmanager.cgiは、プラグインを用いて、同一コンピュータ上の別のプロセスへ情報を転送する能力を有する。後者のプロセスは特権的プロセスであり、コンピュータの実際のマネージャである。そのため、ユーザは、ある動作要求をウェブサーバコンポーネント(CGI)に対して発行すると、当該ウェブサーバコンポーネントは、管理プロセスが所定の動作を行って、さらにユーザ名及びパスワードを送る。すると、管理プロセスは、そのユーザが本人であることを認証し、この要求が当該ユーザ対して正当であることを(すなわち、このユーザが別のVDSを修正しようとしているのではないことを)確認し、その後、コマンドが実際に実行される。
以下のステップが実行される。
−管理機能を用いる際、システム管理者は、ユーザ名およびパスワードの入力を要求するウェブページを閲覧する。このウェブページは、ウェブサイトまたはシステム管理者のコンピュータに常駐する。
−このウェブページは、manager.cgi(これは、ウェブサーバ上で実行し、要求を受け取り、プラグインを用いて管理プロセスを呼び出すコンポーネントである)を実行する。典型的には、manager.cgiおよび管理プロセスは、VDSのホスティングコンピュータ上に常駐する。
〔QoS、モニタリングおよびSLA〕
サービスの質(QoS)は、データ通信システムにおけるパフォーマンスまたはシステムのパフォーマンスのレベルを定義することができるものである。音声信号および映像信号の連続表示が求められているため、QoSは、インターネットネットワークおよび電話ネットワークにおける大きな課題となっている。音声アプリケーションおよび/または映像アプリケーションの場合、クライアントに到着するパケットは連続的に流れなければならない(すなわち、寸断されてはならない)。
この障害を解消する1つの方法として、映像および/または音声信号を時間差表示する方法がある。このようにして、クライアントに到着したデータは累積され、後で表示される。時間差が短い場合、表示を見ている者は時間差表示に気づかない。
一方が送信(ブロードキャスト)を行い、他方が視聴(リッスン)する音声アプリケーションおよび映像アプリケーションの場合、双方向において信号の送受信を行うアプリケーションよりも時間差に強い。
サービスの複数のインスタンスについて一定レベルのQoSを提供するために、このサービス提供プログラムをホスティングするコンピュータシステムは、これらインスタンス全てのQoSに必要な強さの合計よりも強固であるべきである。1つのコンピュータシステムによって複数のVDSがホスティングされる場合、これらホスティング対象VDSの間でそのコンピュータリソースを不平等に共有して、より多くのコンピュータリソースを必要とするVDSは、他のVDSよりも多くのリソースを得られるようにする。
サービスライセンス契約(SLA)は、ホスティングコンピュータの所有者とVDSの所有者との間で締結される、一定量のコンピュータリソース(例えば、ディスクスペース、伝送帯域、メモリ)をVDSに提供する契約である。
実際的見地から見ると、このようなクライアント間でのコンピュータリソースの差別的共有は、リソースとそのクライアントとを仲介するエンティティを追加し、当該要求を一時保存し、保存された要求を到着順と異なる順序で送信することにより、行うことが可能である。
CPU使用量およびメモリ使用量は、ウェブサイトにとって重要な問題である。その理由は、ウェブサイトがサイト訪問者に対して適切なタイミングでサイトを提供するためには、特定の処理能力が当該サイトに必要になるからであり、特に、SLAによって特定のパフォーマンスがウェブサイトの所有者に約束されている場合、その傾向が顕著であるからである。
本明細書中、「モニタリング」という用語は、所与の時間におけるコンピュータリソースの使用量(例えば、メモリ量、ディスクスペース、CPU、帯域(内および外)、作成されたプロセスの数、データベースへの接続数等)の測定を指す。
モニタリングおよびSLAのアプローチについては、弁理士ドケット下で出願された同時係属中の特許出願中に記載がある。
〔他のオペレーティングシステム上でのVDS概念の実装〕
本明細書中にて提示した例はUnix(登録商標)ベースのオペレーティングシステムについてのものであるが、VDS概念は、他のオペレーティングシステム、例えば、Microsoft(登録商標) Windows(登録商標) NT上でも同様に実装可能である。
VDS技術の実装には、以下の特徴を有するオペレーティングシステムが必要となる。
−階層ディレクトリツリー(VDSは、ディレクトリツリーと関連付けられるからである。)。
−ディレクトリツリーへの特権的アクセス(Chroot)。
−特定のファイルへの特権的アクセス。
−特定のプロセスへの特権的アクセス。
−アカウントのサポートおよびユーザを当該ユーザのアカウントに限定する能力。
−ポートをリッスンすることができるデーモン。
−システムユーティリティおよび/またはサーバに対するハードリンク。
−システムコールのインターセプト。
これらの特徴をサポートしないオペレーティングシステムの場合、クライアントとオペレーティングシステムとの間に仮想レイヤを追加することが可能である。仮想レイヤは、不足している特徴のうち一部またはその全てをシミュレートするものである。当業者であれば、仮想レイヤの作成は、典型的にはシステムコールのインターセプトによって実行可能であることを理解するだろう。
オペレーティングシステム下のインプレメンテーションの品質は、もちろん、当該オペレーティングシステムによってサポートされる上記特徴の数に依存する。
〔概要〕
VDSの利点を以下に挙げる。
−同一コンピュータ上でホスティングされる異なるサイト間の分離により達成される、改善されたセキュリティ。
−複数のウェブサイトが同時にアクセスされる場合において、各VDS向けのサービスプロセスの分離されたインスタンスを実行することにより達成される、改善されたパフォーマンス。
−同一ディスクパーティション上に配置された異なる仮想コンピュータ間においてサービスプロセスのコードセグメントを共有することにより達成される、改善されたリソース利用。
−従来技術では熟練者しかできなかった機能を、非熟練者でも実行し得る点を通じて達成される、改善された管理。
これらの利点は、以下によって達成される。
−固有の仮想ディスクシステム(これは、Unix(登録商標) Chrootシステムコールによって実行される)を各VDSに提供すること。
−選択されたシステムコールおよびライブラリコールをインターセプトすること。
−ディスクスペースを節約するために、テンプレートディレクトリツリーと特定の仮想コンピュータのディレクトリツリーとの間においてハードリンクを用いること。
−ルートと異なるアクセス権限下で全ての仮想コンピュータのプロセスを実行し、全ての管理コマンドをルート権限のプロセスに回送すること。
−認証情報確認を行うこと。
VDS技術は、共有型サーバによるホスティングと専用サーバによるホスティングとの間の溝を埋め、複数の仮想専用サーバを単一のコンピュータシステム上に作成する。顧客にとっては、このような仮想専用サーバは、コンピュータシステムと区別がつかない。どちらのシステムも、同一のアプリケーションをサポートし、同一の管理の自由を顧客に与える。実用的には、VDSアカウントと専用サーバとの間の差は、処理されるリソース量(ディスクスペース、入出力の帯域、CPUパワー)においてだけである。
上記例および説明は、例示目的だけのために示したものであり、本発明をいかなる様式においても限定するものではない。当業者であれば理解するように、本発明は、本発明の範囲を決して逸脱することなく、上述した技術のうち1つ以上の技術を用いて、広範かつ多様な様式で実施され得る。
図1は、本発明の好適な実施形態による、複数のVDSをホスティングするコンピュータのファイルシステムの構成図である。 図2は、本発明の好適な実施形態による管理図を示す。
符号の説明
10 ドメインa.comの管理インターフェース
11 Eメールのサービスを提供するホスティングコンピュータ
12 テルネットのサービスを提供するホスティングコンピュータ
13 FTPのサービスを提供するホスティングコンピュータ
19 システム管理者の端末
20 ドメインb.comの管理インターフェース
21 Eメールのサービスを提供するホスティングコンピュータ
22 テルネットのサービスを提供するホスティングコンピュータ
29 システム管理者の端末

Claims (15)

  1. ホスティングコンピュータシステム上に1つ以上の仮想専用サーバをホスティングする方法であって、前記仮想専用サーバはそれぞれ、前記ホスティングコンピュータシステムのエミュレーションであり、前記ホスティングコンピュータシステム上において、システムユーティリティおよびアプリケーションプログラムへのアクセスは、データネットワークを介してリモートに行われ、
    前記方法は、
    a)各仮想専用サーバを作成するステップであって、
    (i)前記ホスティングコンピュータのファイルシステムのルートディレクトリから得られたサブディレクトリツリーを、前記仮想専用サーバのルートディレクトリツリーとして割り当てるステップと、
    (ii)前記仮想専用サーバによって提供されるサービスによって要求される、又は正規動作モードにおいて本質的な動作をするため前記ホスティングコンピュータのオペレーティングシステムによって要求される、前記オペレーティングシステムユーティリティのサブセットを前記サブディレクトリツリー上に配置するステップと、
    (iii)前記仮想専用サーバによって実行されるプログラムおよび/または前記プログラムへのハードリンクを前記サブディレクトリツリー上に配置するステップと、
    b)前記コンピュータシステムの通信ポートを通じて入来するデータをインターセプトするステップと、
    c)前記仮想専用サーバの1つと関連付けられたサービス提供プログラムへのサービスに対する要求が前記データ中で識別された場合、
    (i)前記データを処理することにより、前記要求の送信先となっている前記仮想専用サーバを識別するステップと、
    (ii)前記サービス提供プログラムが前記仮想専用サーバ上で未だ呼び出されていない場合、対応するサブディレクトリツリー中に格納されている前記サービス提供プログラムを呼び出すステップと、
    (iii)前記要求を前記サービス提供プログラムに回送し、前記サービスを前記サービス提供プログラムにより提供するステップと、
    (iv)前記サービスに関する要求物を提供するステップが終了すると、前記サービス提供プログラムのプロセスを必要に応じて終了するステップと、
    を含むことを特徴とした方法。
  2. 前記オペレーティングシステムユーティリティの一部または全部が、対応するハードリンクと取り替えられたことを特徴とした請求項1記載の方法。
  3. 前記サブディレクトリツリーが、前記ホスティングコンピュータのアカウントによって限定されることを特徴とした請求項1記載の方法。
  4. 前記仮想専用サーバのうち1つ以上は、その一意に定まるIPアドレスによって識別されることを特徴とした請求項1記載の方法。
  5. 前記仮想専用サーバのうち1つ以上は、1つの共有IPアドレスおよびその名前によって識別されることを特徴とした請求項1記載の方法。
  6. Unix(登録商標)ベースのオペレーティングシステムにおいて、Chrootシステムコールまたはそれに相当する手段によって仮想専用サーバ上で実行中のプロセスを前記サブディレクトリツリーに限定することを特徴とした請求項1記載の方法。
  7. Unix(登録商標)ベースのオペレーティングシステムにおいて、Setuidシステムコマンドまたはそれに相当する手段によって仮想専用サーバ上で実行中のプロセスをそのアカウントに限定することを特徴とした請求項3記載の方法。
  8. 前記ホスティングコンピュータシステムによってホスティングされる前記仮想専用サーバのうち1つ、いくつか、または全ては、一人のシステム管理者によって管理されることを特徴とした請求項1記載の方法。
  9. Unix(登録商標)ベースのシステムにおいて実装が行われる場合、前記システムのカーネルの変更は行われないことを特徴とした請求項1記載の方法。
  10. 前記ホスティングコンピュータのリソースを利用するオペレーティングシステムコールが、前記コンピュータのリソース消費をモニタリングするためにインターセプトされることを特徴とした請求項1記載の方法。
  11. 前記モニタリングは、前記仮想専用サーバの利用率を得る目的および/または少なくとも所定のサービスレベルを前記仮想専用サーバに提供する目的および/または最低限のサービス品質を前記仮想専用サーバに提供する目的のために用いられることを特徴とした請求項10記載の方法。
  12. 前記ホスティングコンピュータがUnix(登録商標)ベースのシステムであることを特徴とした請求項1記載の方法。
  13. 前記サービス提供プログラムは、オペレーティングシステムのサービスまたは前記仮想専用サーバ上で実行中のプログラムであることを特徴とした請求項1記載の方法。
  14. 前記データネットワークがTCP/IPネットワークであることを特徴とした請求項1記載の方法。
  15. 1つ以上の仮想専用サーバをホスティングするコンピュータシステムであって、前記仮想専用サーバはそれぞれ、前記コンピュータシステムのエミュレーションであり、前記コンピュータシステム上において、システムユーティリティおよびアプリケーションプログラムへのアクセスは、データネットワークを介してリモートに行われ、前記仮想専用サーバはそれぞれ、
    前記コンピュータのファイルシステムのルートディレクトリから得られ、かつ、前記仮想専用サーバのルートディレクトリツリーとして用いられるサブディレクトリツリーと、
    前記仮想専用サーバによって提供されるサービスによって要求される、又は正規動作モードにおいて本質的な動作をするため前記ホスティングコンピュータのオペレーティングシステムによって要求される、前記サブディレクトリツリー上のオペレーティングシステムユーティリティのサブセットと、
    ポートを通過するデータをインターセプトし、前記データを前記適切な仮想専用サーバへと方向付けるソフトウェア手段と、
    前記データを解析し、前記データの送信先となっている前記仮想専用サーバを識別し、前記データを前記仮想専用サーバへと回送するソフトウェア手段と、
    を含むことを特徴としたコンピュータシステム。
JP2003558681A 2002-01-10 2003-01-02 複数の専用サーバをホスティングする方法およびシステム Pending JP2005514699A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL14756002A IL147560A0 (en) 2002-01-10 2002-01-10 A method and system for hosting a plurality of dedicated servers
PCT/IL2003/000003 WO2003058437A2 (en) 2002-01-10 2003-01-02 A method and system for hosting a plurality of dedicated servers

Publications (1)

Publication Number Publication Date
JP2005514699A true JP2005514699A (ja) 2005-05-19

Family

ID=11075934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003558681A Pending JP2005514699A (ja) 2002-01-10 2003-01-02 複数の専用サーバをホスティングする方法およびシステム

Country Status (6)

Country Link
US (1) US20050091310A1 (ja)
EP (1) EP1463993A2 (ja)
JP (1) JP2005514699A (ja)
AU (1) AU2003207939A1 (ja)
IL (1) IL147560A0 (ja)
WO (1) WO2003058437A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501846A (ja) * 2007-10-16 2011-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション サード・パーティのコードを含む仮想マシンを生成するための方法、システム、およびコンピュータ・プログラム(サード・パーティのコードを含む仮想マシンの生成)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1525522A2 (en) * 2002-06-06 2005-04-27 Green Border Technologies Method and system for implementing a secure application execution environment using derived user accounts for internet content
US7971255B1 (en) 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution
US8417825B2 (en) * 2005-03-09 2013-04-09 Apple Inc. Communications handles and proxy agents
US8621078B1 (en) 2005-08-15 2013-12-31 F5 Networks, Inc. Certificate selection for virtual host servers
US8117554B1 (en) 2006-04-25 2012-02-14 Parallels Holdings, Ltd. Seamless integration of non-native widgets and windows with dynamically scalable resolution into native operating system
US8387048B1 (en) 2006-04-25 2013-02-26 Parallels IP Holdings GmbH Seamless integration, migration and installation of non-native application into native operating system
US20080019376A1 (en) * 2006-07-21 2008-01-24 Sbc Knowledge Ventures, L.P. Inline network element which shares addresses of neighboring network elements
US10013268B2 (en) * 2006-08-29 2018-07-03 Prometric Inc. Performance-based testing system and method employing emulation and virtualization
US8539480B2 (en) * 2007-04-09 2013-09-17 Sugarcrm Inc. Multi-instance “shadow” system and method for automated resource redundancy reduction across dynamic language applications utilizing application of dynamically generated templates
US8566835B2 (en) * 2007-12-13 2013-10-22 Hewlett-Packard Development Company, L.P. Dynamically resizing a virtual machine container
JP5430164B2 (ja) * 2009-01-30 2014-02-26 キヤノン株式会社 データ管理方法及び装置
GB2473194A (en) * 2009-09-02 2011-03-09 1E Ltd Monitoring the performance of a computer based on the value of a net useful activity metric
US8996610B1 (en) * 2010-03-15 2015-03-31 Salesforce.Com, Inc. Proxy system, method and computer program product for utilizing an identifier of a request to route the request to a networked device
US8521808B2 (en) * 2010-07-27 2013-08-27 International Business Machines Corporation Uploading and executing command line scripts
US9152293B2 (en) * 2010-12-09 2015-10-06 Verizon Patent And Licensing Inc. Server IP addressing in a computing-on-demand system
US9137104B2 (en) * 2011-05-26 2015-09-15 Kaseya Limited Method and apparatus of performing remote management of a managed machine
CN103377402A (zh) * 2012-04-18 2013-10-30 国际商业机器公司 一种多用户分析系统以及相应的装置和方法
CN104636375B (zh) * 2013-11-12 2019-05-07 中兴通讯股份有限公司 一种自动备份应用数据且按需恢复的方法及装置
US9936001B2 (en) * 2014-02-14 2018-04-03 Red Hat, Inc. Geographic placement of application components by a multi-tenant platform-as-a-service (PaaS) system
CN104796345B (zh) * 2015-03-19 2018-01-09 新华三技术有限公司 一种消息的发送控制方法和设备
US10484339B2 (en) * 2015-03-24 2019-11-19 Global Data Sentinel, Inc. Pervasive data security

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6584581B1 (en) * 1999-12-06 2003-06-24 Ab Initio Software Corporation Continuous flow checkpointing data processing
US7174379B2 (en) * 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7328225B1 (en) * 2002-03-27 2008-02-05 Swsoft Holdings, Ltd. System, method and computer program product for multi-level file-sharing by concurrent users

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501846A (ja) * 2007-10-16 2011-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション サード・パーティのコードを含む仮想マシンを生成するための方法、システム、およびコンピュータ・プログラム(サード・パーティのコードを含む仮想マシンの生成)
US11157296B2 (en) 2007-10-16 2021-10-26 International Business Machines Corporation Creating a virtual machine containing third party code

Also Published As

Publication number Publication date
AU2003207939A8 (en) 2003-07-24
US20050091310A1 (en) 2005-04-28
WO2003058437A3 (en) 2004-01-15
EP1463993A2 (en) 2004-10-06
WO2003058437A2 (en) 2003-07-17
AU2003207939A1 (en) 2003-07-24
IL147560A0 (en) 2002-08-14

Similar Documents

Publication Publication Date Title
JP2005514699A (ja) 複数の専用サーバをホスティングする方法およびシステム
US11388200B2 (en) Scalable network security detection and prevention platform
US11044236B2 (en) Protecting sensitive information in single sign-on (SSO) to the cloud
US10367753B2 (en) Virtual network interface records
US9985953B2 (en) Desktop application fulfillment platform with multiple authentication mechanisms
JP5998248B2 (ja) 遠隔サービスへのローカル安全なネットワークアクセスを提供する方法
US9391801B2 (en) Virtual private networks distributed across multiple cloud-computing facilities
US9489227B2 (en) Apparatus and method for virtual desktop service
US9110725B1 (en) User interface for dynamic environment using allocateable resources
US20170279767A1 (en) Securing applications on public facing systems
US7463648B1 (en) Approach for allocating resources to an apparatus based on optional resource requirements
US8234650B1 (en) Approach for allocating resources to an apparatus
US7703102B1 (en) Approach for allocating resources to an apparatus based on preemptable resource requirements
US7461144B1 (en) Virtual private server with enhanced security
US8179809B1 (en) Approach for allocating resources to an apparatus based on suspendable resource requirements
US20170060558A1 (en) Dynamic reconstruction of application state upon application re-launch
US20170293501A1 (en) Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility
US20130318242A1 (en) Remote Management Of Distributed Datacenters
US20070300297A1 (en) System and Method for Tracking the Security Enforcement in a Grid System
US7523317B2 (en) Computer grid access management system
US20200412824A1 (en) Provider network connectivity management for provider network substrate extensions
EP4066459A1 (en) Security service
Annapureddy Security challenges in hybrid cloud infrastructures
Basu et al. Interactive Grid Architecture for Application Service Providers.
US20040103320A1 (en) Multiple network access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090305