JP2006519424A - 分散オブジェクトを単一表現として管理するシステムおよび方法 - Google Patents

分散オブジェクトを単一表現として管理するシステムおよび方法 Download PDF

Info

Publication number
JP2006519424A
JP2006519424A JP2005518882A JP2005518882A JP2006519424A JP 2006519424 A JP2006519424 A JP 2006519424A JP 2005518882 A JP2005518882 A JP 2005518882A JP 2005518882 A JP2005518882 A JP 2005518882A JP 2006519424 A JP2006519424 A JP 2006519424A
Authority
JP
Japan
Prior art keywords
machine
commands
clustered
agent
persistent connection
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.)
Granted
Application number
JP2005518882A
Other languages
English (en)
Other versions
JP4307448B2 (ja
Inventor
トーラント,マーク
バレーム,ポール
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006519424A publication Critical patent/JP2006519424A/ja
Application granted granted Critical
Publication of JP4307448B2 publication Critical patent/JP4307448B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

エージェント・ベースのシステムにおいてリソースが単一の実体(すなわちオブジェクト)として共有されているような少なくとも二つの異なるマシン(すなわちオブジェクト)を管理するためのアーキテクチャおよび方法。前記エージェント・ベースのシステムはコントローラ、該コントローラに結合したローカル・エージェント、少なくとも一つのクラスタ化マシンを有している。前記少なくとも一つのクラスタ化マシンは少なくとも二つの個別エージェントを含み、該少なくとも二つの個別エージェントは少なくとも一つの共有リソース/サービスを共有している。本システムはまた、前記少なくとも二つの個別エージェントを前記ローカル・エージェントに結合させるための仮想非持続接続を含んでいる。前記少なくとも一つの共有リソース/サービスは前記ローカル・エージェントによって前記仮想非持続接続を通じてアクセスされ、その際、仮想IPアドレスを使うことによって前記少なくとも一つのクラスタ化マシンの前記少なくとも二つの個別エージェントが単一のオブジェクトとして表現されることができるようにしている。

Description

本出願は本発明の譲受人に共通に譲渡された2001年6月30日に出願された“System and Method for Integrating Network Services(ネットワーク・サービス統合のためのシステムおよび方法)”と題する同時係属出願第09/895,999号に関連する。
本発明には一般にはネットワーク管理の分野に関するものである。より詳細には、本発明はエージェント・ベースのシステムにおいて分散オブジェクトを単一表現として管理するアーキテクチャおよび方法に関するものである。
伝統的なインターネット・データセンターは企業のデータセンターにウェブ・サーバーや電子商取引サーバー用のハードウェアを加えた拡張として特徴づけられる。伝統的なインターネット・データセンターの管理は、制約条件を適用してハードウェアおよびその動作の前提条件を単純化することからなる。たとえば、データセンター内のサービスは、該データセンターによってサポートされるプロトコルおよび知的処理を単純化するためにクライアント・サーバー・オブジェクトおよびトランスポート・モデルを使用するなどである。
インターネット経済への企業の投資拡大が続くなか、かつてインターネット・データセンターの鍵であった制約条件はもはや十分ではない。たとえば、従来型の管理ツールはインターネット・データセンター中の制限された数のコンポーネントを管理・監視し、それによりイベント相関および解決の選択の責任を運営者またはアドミニストレータが扱うものとして残している。
今日、インターネット・サービスの展開、運営、維持がますます複雑化することで、インターネット・データセンターの管理と規模拡大は非常に難しくなっている。インターネット・サービスが成長を続けるにつれ、運営者またはアドミニストレータによって実行されるべきタスクはますます荷の重いものとなっている。運営者に求められる重荷の一部を軽減するために、インターネット・データセンターのコンポーネントの多くの管理が自動化されている。
管理プロセスを自動化するそのようなアーキテクチャの一つがオープン・コントロール・テクノロジーである。オープン・コントロール・テクノロジーはネットワークやサービスの制御技術で、企業レベルのサービス管理を目標にしている。オープン・コントロール・テクノロジー・アーキテクチャはデータセンター・サービスのコンポーネントをサービス・ライフサイクルを通じて管理するための構造を記述する。このアーキテクチャはオープン・コントロール・テクノロジー・ポッドとして展開される。そのオープン・コントロール・テクノロジー・ポッドはコントローラおよびカスタマー・ポッドからなる。このアーキテクチャはデータセンターを仮想化するオブジェクト・モデルを規定する。仮想化は抽象化およびカプセル化によって行われる。
オープン・コントロール・テクノロジー・アーキテクチャに関しては、前記カスタマー・ポッドがクラスタ化リソース/サービスを含むときに問題が生じる。ソフトウェアであれハードウェアであれ、オブジェクトとして表現される少なくとも二つの異なるマシンが共通のリソース/サービスを共有しているような場合である。前記異なるマシンはやはり管理・監視される必要のある非クラスタ化リソース/サービスをも含んでいてもよい。クラスタ化リソース/サービスが管理・監視される際には、前記異なるマシンまたはオブジェクトは単一のオブジェクトとして表現されている必要がある。非クラスタ化リソース/サービスが管理・監視される際には、前記異なるマシンまたはオブジェクトは別個のオブジェクトとして表現されている必要がある。伝統的なオープン・コントロール・テクノロジー・アーキテクチャには、一つ以上の共通リソース/サービスを共有するために少なくとも二つの異なるマシンまたはオブジェクトが単一のオブジェクトとして表現される必要があるクラスタ化リソースを管理・監視する機能は備わっていない。
よって、必要とされているのは、前記異なるマシンが一つ以上の共通のリソースまたはサービスを共有できるようにするために、異なるマシンを単一の実体またはオブジェクトとして表現するアーキテクチャおよび方法論である。
付属の図面はここに組み入れられ、本明細書の一部をなすものであるが、本発明の実施形態を図解し、さらに本文とともに本発明の原理を説明し、当業者が本発明を作成・使用できるようにする役に立つものである。図面において、同様の参照番号は一般に同一の、機能的に似通った、あるいは構造的に似通った、あるいはそのすべてである要素を示す。ある要素に対応する参照番号の左端の桁の数字がその要素が最初に現れる図面番号を示している。
本発明はここでは特定の応用について解説のための実施例を参照して記述されるが、本発明がそれに限定されるものでないことは理解しておく必要がある。当業者はここに提供される思想に接することで本発明の範囲内の追加的な変更、応用および実装ならびに本発明の実施が著しく有用である追加的な分野を思いつくことであろう。
明細書において本発明の「一つの実施形態」「ある実施形態」という言い方は、当該実施形態に関連して記述されている特定の機能、構造または特徴が本発明の少なくとも一つの実施形態に含まれていることを意味する。よって、「ある実施形態では」という語句が本明細書を通じて随所に現れるのはそれらが必ずしも同じ実施形態のことを言っているものとは限らない。
本発明の実施形態は、エージェント・ベースのシステムにおいてリソースが単一の実体(すなわちオブジェクト)として共有されているような少なくとも二つの異なるマシン(すなわちオブジェクト)を管理するためのアーキテクチャおよび方法に向けられている。本発明の実施形態はエージェント・ベースの枠組みにおけるオープン・コントロール・テクノロジーに関連して記述されるが、本発明の実施形態は複数の管理されているマシンまたはオブジェクトがリソースを共有するようないかなるエージェント・ベースのシステムに対しても適用しうる。
本発明の実施形態を記述する前に、本発明の実施形態を実装しうる環境の例について説明しておく。
図1は典型的なインターネット・データセンター100の例となるブロック図を示している。図1に見られるように、典型的なインターネット・データセンターは複数のコンピュータ、ネットワーク装置および機器を含んでいる。インターネット・データセンター100は、インターネット106、負荷分散装置108、フロントエンド110、バックエンド114、ファイアウォール122を有している。インターネット・データセンター100と通信または管理・監視するためにインターネット・ブラウザ(図示せず)を通じてそれぞれクライアント102およびアドミニストレータ104がインターネット106に結合されている。負荷分散装置108はインターネット106、フロントエンド110に、そしてファイアウォール122を通じてバックエンド114に結合している。ファイアウォール122は負荷分散装置108、フロントエンド110、バックエンド114に結合している。
フロントエンド110は複数のウェブ・サーバー112−1…112−5を有する。ウェブ・サーバー112−1…112−5は、クライアント102もしくはアドミニストレータ104またはその両方のようなユーザーが閲覧するためにブラウザにウェブ・ページを届ける、あるいはサービスするコンピュータ・システムである。ウェブ・サーバー112−1…112−5はHTML(hypertext markup language[ハイパーテキスト・マークアップ言語])文書を、ユーザーがウェブ上で該文書にアクセスできるために、保存している。
バックエンド114は二つのアプリケーション・サーバー116−1および116−2、二つの記憶装置118−1および118−2、そして二つのデータベース・サーバー120−1および120−2を有している。アプリケーション・サーバー116−1および116−2は、ユーザーと企業のバックエンドのビジネス・アプリケーションまたはデータベースとの間のあらゆるアプリケーション操作を扱うコンピュータ・システムである。アプリケーション・サーバー116−1および116−2は典型的には、組み込みの冗長化システム、高性能分散アプリケーション・サービス、複雑なデータベース・アクセスのサポートを有することを特徴としている。記憶装置118−1および118−2は情報を保存するのに使われ、当業者にはよく知られたものである。データベース・サーバー120−1および120−2は問い合わせを処理するコンピュータ・システムである。データベース・サーバー120−1および120−2はデータベース・アプリケーションを有している。データベース・アプリケーションは二つの部分に分けられる。第一の部分は、データを表示し、ユーザー(すなわち、アドミニストレータ104もしくはクライアント102またはその両方)とやりとりをする。第二の部分は、データの完全性を保全し、データの保存や操作といったプロセッサ集約的な仕事の多くを扱う。
インターネット106を通じて送受信されるデータは負荷分散装置108を通過する。負荷分散装置108はクライアント102およびアドミニストレータ104からはいってくるあらゆるデータ要求を解析し、フロントエンド110中の適切なウェブ・サーバー112−1…112−5にその要求を転送する。クライアントまたはアドミニストレータの要求は、ウェブ・サーバー112−1…112−5の一つに保存されている特定のウェブ・ページの要求などである。ウェブ・ページは、一つまたは複数のアプリケーション・サーバー116−1および116−2、一つまたは複数の記憶装置118−1および118−2、あるいは一つまたは複数のデータベース・サーバー120−1および120−2によって提供される埋め込みオブジェクトを含んでいることがある。セキュリティ目的のため、ファイアウォール122がフロントエンドのウェブ・サーバー112−1…112−5とバックエンドのアプリケーション・サーバー(116−1および116−2)、記憶装置(118−1および118−2)、データベース・サーバー(120−1および120−2)との間のデータ・トラフィックを監視し、制御する。
図2は、インターネット・データセンター200内でのオープン・コントロール・テクノロジー・コントローラを図解するブロック図である。オープン・コントロール・テクノロジー・コントローラ202は負荷分散装置108、フロントエンドのウェブ・サーバー112−1…112−5、バックエンドのアプリケーション・サーバー(116−1および116−2)、記憶装置(118−1および118−2)、データベース・サーバー(120−1および120−2)に結合されている。オープン・コントロール・テクノロジー・コントローラ202はフロントエンド110およびバックエンド114の各コンポーネントからの情報を管理し、監視し、収集する。
先述したように、オープン・コントロール・テクノロジー・アーキテクチャはインターネット・データセンター200の下部構造を仮想化するオブジェクト・モデルを規定する。仮想化は抽象化およびカプセル化を使って行われる。抽象化は個々のサービス実装の複雑さを隠す。カプセル化はモデル中のさまざまなオブジェクトの間の関係を表現する。
図3は、オープン・コントロール・テクノロジー・アーキテクチャのためのオブジェクト・モデル300の図解である。本発明の実施形態においては、アーキテクチャ上のコンポーネントはハードウェア、ソフトウェア、あるいは両者の組み合わせにおいて実装することができる。オブジェクト・モデル300は、クライアント・インターフェース302、オブジェクト・マネージャ304、プロバイダ・フレームワーク306、プロバイダ・インターフェース308、ドライバ・インターフェース310、プロバイダ312、ドライバ314を有している。
オブジェクト・マネージャ304はオープン・コントロール・テクノロジー・アーキテクチャをサポートするオブジェクト・モデルを具体化するのに使われるものである。オブジェクト・マネージャ304はインスタンスを発生させ、オブジェクトのインスタンスに対して操作を実行する機構を提供する。そのような操作を容易にするために三つのインターフェースが設けられている。インターフェースには、クライアント・インターフェース302、プロバイダ・インターフェース308、ドライバ・インターフェース310がある。
クライアント・インターフェース302は、クライアント・アプリケーション316がオブジェクト・マネージャ304によって提供されるオブジェクトを構成し、問い合わせし、また操作するために使われうるアプリケーション・プログラミング・インターフェース(API)を提供する。クライアント・アプリケーション316の例としては、グラフィカル・ユーザー・インターフェース(GUI)がある。GUIはオブジェクトのインスタンスを表示し、図式的な方法で操作することができるようにするオブジェクト・モデルの図式的な外面的表現を提供しうるものである。その他のクライアント・アプリケーション316としては、オブジェクト・マネージャ304内でイベントや状態変化、またはオブジェクトに関連付けられたメソッドの呼び出しに反応するためのルールをあらかじめ規定するルール・エンジン、その他の自動化されたアプリケーションが含まれるがそれに限定されるものではない。
ドライバ・インターフェース310はプロバイダ・フレームワーク306をドライバ314に相互接続する。ドライバ314は、要求された動作が管理されているサービスまたはリソースに対して実行されることを可能にする。サービスとしては、これに限るものではないが、ウェブ・サービス、ウィンドウ・サービス、データベース・サービス、電子メール・サービスなどがありうる。リソースとしては、これに限るものではないが、記憶装置、データベース、ログなどのようなシステムのハードウェアおよびソフトウェア・コンポーネントがありうる。ドライバ・インターフェース310は操作の集合(API)であり、これを通じてオブジェクト・マネージャ304はデバイスに対して管理操作を実行する。管理操作としては、これに限るものではないが、開始、終了、状態要求がある。管理操作要求はプロバイダ・フレームワーク306を通じて送信される。
プロバイダ・インターフェース308はドライバ314をプロバイダ・フレームワーク306と相互接続する。管理されているサービスまたはリソースの状態が変化すると、ドライバ314、プロバイダ312、プロバイダ・フレームワーク306の間のプロバイダ・インターフェース308を通じた相互作用によって、オブジェクト・マネージャ304によって管理されているオブジェクトの関連する属性が信頼できる形で効率的に更新される。
プロバイダ・フレームワーク306によって、オブジェクト・マネージャ304に新しい、あるいは違った種類のプロバイダ312を追加できるようになる。新しい、あるいは違った種類のプロバイダ312のそれぞれは、追加的なオブジェクト・クラスもしくはオブジェクト・マネージャ304の機能を向上させる操作またはその両方を含みうる。先述したように、プロバイダ・フレームワーク306は、オブジェクト・マネージャ304によって管理されているオブジェクト中に表現されている属性の変化がドライバ314に伝搬することを可能にする。クライアント・アプリケーション316の一つがクライアント・インターフェース302を通じてあるオブジェクトのメソッドを呼び出した場合、プロバイダ・フレームワーク306によってドライバ314に信頼できる形で効率的に動作が引き起こされ、最終的に管理されているサービスまたはリソースに対する要求された動作が実現されるようになる。
先述したように、従来型のオープン・コントロール・テクノロジー・アーキテクチャは、エージェント・ベースの枠組みにおいてクラスタ化リソース/サービスが単一のオブジェクトとして管理・監視されているような状況を扱うことができない。図4は、少なくとも二つの異なるマシンが共通のリソースもしくはサービスまたはその両方を共有しようとしたときに問題が生じるような、典型的なオープン・コントロール・テクノロジー・アーキテクチャの単純化した図を示している。そのようなアーキテクチャがどうしてはたらかないかの説明は、これから図4を参照して説明される。
アーキテクチャ400は、コントローラ402およびデータセンターの例を表す複数のマシンM1、M2、M3を有している。マシンM1、M2、M3は、各マシンM1、M2、M3のためにコントローラ402からのコマンドを解釈したり、コントローラ402に情報を送ったりするエージェント(エージェント1、エージェント2、エージェント3)を含んでいる。エージェント1、2、3はソフトウェア、ハードウェア、あるいは両者の組み合わせにおいて実装することができる。各マシンM1、M2、M3は、上で図3を参照しつつ説明したオブジェクト・モデルに従うオブジェクトとして表現されている。マシンM1、M2、M3のそれぞれは管理・監視する必要のある非クラスタ化リソース/サービスを含んでいる。それはプロセッサもしくはサービス/デーモンまたはその両方などだが、これに限るものではない。
マシンM1およびM2は、フェイルオーバー・クラスタ化マシンとして知られるクラスタ化マシン408の一つの種類を表現している。換言すると、クラスタ化マシン408は、マシンM1およびM2ならびにクラスタ化されたリソース/サービス(図4では「共有リソース/サービス」と示す)からなっている。クラスタ化されたリソース/サービスはマシンM1およびM2によって共有され、ウィンドウ・サービス、データベース・サービス、アプリケーション・サービス、ウェブ・サービス、ディスク、ログなどといったものを含みうるが、これに限るものではない。クラスタ化マシン408の目的は、クラスタ化されたリソース/サービスにアクセスするためのフェイルセーフなシステムとしてはたらくことである。クラスタ化リソース/サービスがコントローラ402によってアクセスされているとき、同一時点にはマシンM1またはM2のうちの一方だけが要求された共有リソース/サービスにアクセスすることができる。このため、もしマシンM1が要求された共有リソース/サービスにアクセスするのに利用可能である場合には、マシンM2は無効または非アクティブであると考えられる。また、もしマシンM2が要求された共有リソース/サービスにアクセスするのに利用可能である場合には、マシンM1は無効または非アクティブであると考えられる。したがって、もしマシンM1が非アクティブであれば、マシンM1はフェイルオーバーし、マシンM2がアクティブになる。逆の場合も同様である。
コントローラ402は、マシンM1、M2、M3によって提供されるリソースおよびサービスを統合し、管理する管理ゲートウェイとしてはたらく。コントローラ402は、特にプロバイダ・インターフェース(I/F)404および406を有している。プロバイダ・インターフェース404はそれぞれマシンM1およびM2のエージェント1および2に、それぞれ持続標準接続410および412を使って結合されている。プロバイダ・インターフェース406はマシンM3のエージェント3に持続標準接続414を使って結合されている。標準接続410、412、414はそれぞれのエージェント(1、2、3)とコントローラ402との間の管理接続を提供する。
コントローラ402はまた、アドミニストレータ104およびクライアント102とインターネット・ブラウザ(図示せず)を使ってインターネット106および負荷分散装置108を通じて通信している。コントローラ402は、アドミニストレータ104やクライアント102からの情報要求を収集することができる。要求された情報が非クラスタ化リソース/サービスから得られるものならば、コントローラ402はその要求からコマンドを生成し、そのコマンドを適切な標準持続接続(410、412または414)を通じて、情報を検索すべきマシン(M1、M2またはM3)上の適切なエージェント(エージェント1、2または3)に送信する。非クラスタ化リソース/サービスについては、各マシンM1、M2、M3は別個のオブジェクトとして独立に動作し、したがってみなが同時にアクティブであることもできる。
コントローラ402はTCP/IP(Transmission Control Protocol/Internet Protocol)を使ってマシンM1、M2、M3と通信する。TCP/IPは当業者にはよく知られたもので、ネットワークまたはデータセンター中の各コンポーネントに一意的なIPアドレスを与える。
コントローラ402からコマンドを受け取ったのち、前記適切なエージェントはそのコマンドを解釈し、前記要求によって求められている必要な機能を実行する。リソースまたはサービスの状態を決定する、リソースまたはサービスから情報を取得する、などである。そのエージェントは、前記要求によって求められている必要な機能を実行したのち、要求された情報をコントローラ402に送信する。コントローラ402は今度はその情報を要求元の実体(すなわち、アドミニストレータ104またはクライアント102)に送信する。
マシンM1、M2、M3上のリソースおよびサービスを管理し、監視するためには、コントローラ402はマシンM1、M2、M3のうちの一つに位置する特定の非クラスタ化サービスまたはリソースから情報を得る必要があることがある。この場合、コントローラ402は情報を検索すべきマシン上の適切なエージェントにコマンドを適切な持続標準接続を通じて送信する。すると、前記適切なエージェントが前記コマンドを解釈して、その情報を取得するのに求められる必要な機能を実行する。その情報はリソースまたはサービスの状態、リソースまたはサービスからの情報などでありうる。前記エージェントはその情報を取得したのち、その情報をコントローラ402に対応する持続標準接続を通じて送信する。
先述したように、従来型のオープン・コントロール・テクノロジー・アーキテクチャについての問題は、フェイルオーバー・クラスタ化されたマシンにおけるクラスタ化リソース/サービスがコントローラ402によって管理、監視されている場合に生じる。図4で説明したエージェント・ベースの管理、監視ソリューションにおいては、各マシン(M1、M2、M3)は、非クラスタ化リソース/サービスが利用されるときには、コントローラ402によって操作され、監視される独立した管理オブジェクトとして表現されていた。マシンM1およびM2によって共有されるクラスタ化されたリソース/サービスの場合、同一の共有リソース/サービスを代表するのに二つのオブジェクトが求められる。コントローラ402がクラスタ化マシン408の共有リソース/サービスにアクセスする際、アクティブなマシンはM1およびM2のうちの一方のみとなる。よって、たとえば、コントローラ402がマシンM1に共有リソース/サービスからの情報を要求するコマンドを持続標準接続410を通じて送り、マシンM1が非アクティブなマシンであった場合、コントローラ402に返ってくる応答はマシンM1が非アクティブである、あるいはリソース/サービスがダウンしているといったことを示すものでありうる。その場合、コントローラ402はその情報が取得できないものだと判断するであろう。しかしながら、要求されたリソース/サービスはマシンM2からもアクセスできるものであり、マシンM2はアクティブなのであるから、要求された情報はマシンM2から取得できたかもしれない。ところが、図4で提示されたアーキテクチャは、要求が持続標準接続410を通じて送信された以上、マシンM2にフェイルオーバーしてマシンM2による情報の取得を可能にするようなことは認めていない。同じことは、コントローラが持続接続412を通じてマシンM2へのコマンドを送信し、マシンM2が非アクティブであり、それでもマシンM1からなら要求された情報が取得しえるような場合にも言える。
本発明の実施形態は、エージェント・ベースのシステムにおいてリソースが単一の実体(すなわちオブジェクト)として共有されているような少なくとも二つの異なるマシン(すなわちオブジェクト)を管理するためのアーキテクチャおよび方法に向けられている。このことは、クラスタ化マシン408のようなフェイルオーバー・クラスタ化マシンへの非持続仮想接続を提供するローカル・エージェントを用いることによって実現される。当該クラスタ化マシンを二つの異なるオブジェクトとして表現するためのフェイルオーバー・クラスタ化マシンへの持続標準接続と、当該クラスタ化マシンを単一のオブジェクトとして表現するための該フェイルオーバー・クラスタ化マシンへの非持続仮想接続とを両方持つことによって、コントローラ402は、個々の非共有リソース/サービスからも、単体として表現された共有リソース/サービスからも情報を取得することができるのである。
図5は、本発明の実施形態に従って少なくとも二つの異なるマシンが共通のリソースを共有できるようにする、エージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャ500の単純化した例としての図である。アーキテクチャ500はアーキテクチャ400と同様だが、ローカル・エージェント502が追加されている。ある実施形態では、ローカル・エージェント502はコントローラ402内に存在する。別の実施形態では、ローカル・エージェント502はコントローラ402に結合されている。ローカル・エージェント502はソフトウェア、ハードウェア、あるいは両者の組み合わせにおいて実装することができる。ローカル・エージェント502は別のマシンによって実行するのが不都合なたぐいのタスクを実行するのに使うことができる。たとえば、マシンM1が非アクティブかどうかを決定するのにマシンM1に問い合わせをするのは、マシンM1が実際に非アクティブであった場合に不都合であろう。
本発明のある実施形態では、ローカル・エージェント502は、クラスタ化マシン408への仮想非持続接続504(破線で示してある)を提供するのに用いられる。仮想非持続接続504によって、ローカル・エージェント502はクラスタ化マシン408を単一の実体またはオブジェクトとして見ることができるようになる。仮想非持続接続504によって、ローカル・エージェント502は単一の一意的な仮想IPアドレスを使ってマシンM1およびマシンM2の両方に接続できるようになる。たとえば、マシンM1にはIPアドレス1.2.3.1が、マシンM2にはIPアドレス1.2.3.2が、クラスタ化マシン408には仮想IPアドレス1.2.3.3が割り当てられているなどである。これによりマシンM1、M2ならびにマシンM1およびM2の組み合わせ(クラスタ化マシン408)がそれぞれ一意的なIPアドレスを持つことができる。マシンM3にもまた、たとえば1.2.3.4といったような一意的なIPアドレスが割り当てられているであろう。
ある実施形態では、ローカル・エージェント502はクラスタ化マシン408の共有リソース/サービスにアクセスするために使われる。先述したように、共有リソース/サービスにアクセスする際には、同一時点にはマシンM1またはM2の一方だけしかアクティブとはなれない。よって、コントローラ402が共有リソース/サービスに向けられたコマンドをローカル・エージェント502に送った場合、ローカル・エージェント502は仮想接続504を開き、コマンドを両方のマシンM1およびM2に送信する。両方のマシンM1およびM2がコマンドを受信するが、アクティブなマシンのみが応答することになる。このため、ローカル・エージェント502はどちらのマシン(M1またはM2)がアクティブでありコマンドに応答するかを知る必要はなくなる。
アーキテクチャ500を用いる際、非クラスタ化リソース/サービスについては、図4を参照しつつ上で説明したのと同様に、410、412、414のような持続標準接続を使ってアクセスされる。
図6は、エージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャが本発明の実施形態に従って共通リソースが共有されている少なくとも二つの異なるマシンを扱うことができるようにする方法を記述する流れ図600である。本発明は、流れ図600に関連してここで説明される実施形態に限定されるものではない。むしろ、当業者には、ここに与えられる思想を読んだのちには、他の機能流れ図が本発明の範囲内にあることが明らかとなろう。本発明の実施形態はまた、リソース/サービスを共有している少なくとも二つの異なるマシンに限定されるものではない。当業者には、本発明の実施形態の範囲から離れることなく、三つ以上の異なるマシンがリソースを共有することも可能であることがわかるであろう。プロセスはブロック602において開始され、プロセスはすぐブロック604へと進む。
ブロック604では、コントローラ402は共有リソースもしくは共有サービスまたはその両方の一つまたは複数を扱う要求を受け取る。ある実施例では、前記要求は、ネットワーク上のマシンやサービスが適正に動作していることを確認しようとしているアドミニストレータ104から来ることができる。別の実施例では、前記要求は、インターネット106から情報を得ようとしているユーザーまたはクライアント102から来ることができる。次にプロセスはブロック606へと進む。
ブロック606では、コントローラ402は、共有リソース/サービスを含むクラスタ化マシンへの図5の接続504のような仮想非持続接続を開く。これはローカル・エージェント502を使って達成される。次にプロセスはブロック608に進む。
ブロック608では、コントローラ402は前記要求からコマンドを生成し、該コマンドを仮想接続を通じてローカル・エージェント502を経由して共有リソースを含んでいる前記クラスタ化マシンに送信する。次にプロセスはブロック610へと進む。
ブロック610では、アクティブなほうのマシンが前記コマンドを処理するようトリガーされる。当該クラスタ化マシンの前記アクティブなマシン内にあるエージェントが前記コマンドを解釈し、該コマンドによって求められている必要な機能を実行し、要求された情報をコントローラ402に送信する。次にプロセスはブロック612へと進む。
ブロック612では、コントローラ402は要求された情報を仮想非持続接続504を通じてローカル・エージェント502を経由して受け取る。するとコントローラ402がこの要求された情報を要求元の実体(すなわち、アドミニストレータ104またはクライアント102)に送信する。次にプロセスはブロック614へと進み、そこで仮想接続504が閉じられる。これに代わる実施形態では、仮想接続504は、要求された情報を要求元の実体に送信する前に閉じてもよい。
コントローラ402はまた、自らの現状把握のために共有リソースもしくは共有サービスまたはその両方の情報に対する要求を発することもできる。そのような情報としては、これに限るものではないが、共有リソースやサービスの状態チェックが含まれる。図7は、エージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャにおけるコントローラが、本発明の実施形態に基づいて共有のリソースもしくはサービスまたはその両方への情報要求を発することができるようにする方法を記述する流れ図700である。本発明はここで流れ図700との関連で説明される実施形態に限定されるものではない。むしろ、当業者には、ここに与えられる思想を読んだのちには、他の機能流れ図が本発明の範囲内にあることが明らかとなろう。
方法700のプロセスは図6のブロック606から610で記述した方法600のプロセスと同様である。本プロセスはブロック702で開始され、すぐブロック704へと進む。コントローラ402が共有リソースやサービスを操作する要求を受け取る図6のプロセス604とは異なり、ブロック704ではコントローラ402は自分自身の要求を生成する。すなわち、コントローラ402は、コントローラ402が共有リソースやサービスから必要とする情報に対する要求を(コマンドの形で)発するのである。次にプロセスは上で図6を参照しつつ説明したブロック606から610を続ける。クラスタ化マシン408のアクティブなマシンからエージェントが仮想非持続接続504を通じて要求された情報をコントローラ402に送信したのち、プロセスはブロック706へと進む。
ブロック706では、コントローラ402はクラスタ化マシン408のアクティブなマシンからの情報を受け取る。ある実施形態では、コントローラ402は必要であればアドミニストレータ104に情報が取得された共有リソース/サービスの状態に関する通知を行ってもよい。次にプロセスはブロック614へと進む。ブロック614では仮想接続504がコントローラ402を通じてローカル・エージェント502によって閉じられる。
本発明の実施形態では、非持続仮想接続504のような非持続仮想接続は絶えず生成されては破棄される。本発明のある実施形態では、非持続仮想接続のセキュリティを保証するためにセキュリティ対策が存在する。該セキュリティ対策は、フェイルオーバー・クラスタ化マシンをだましてハッカーからの接続なのにコントローラまたはローカル・エージェントからの信頼された接続であると思い込ませようとするハッカーから、当該エージェント・ベース・システムを守る。前記セキュリティ対策は持続接続を使って達成される。該持続接続(信頼された接続ともいう)は、それに限るものではないが、トークン、ユーザー名、パスワードなどといった「秘密」情報をフェイルオーバー・クラスタ化マシンに渡すのに使われる。その「秘密」情報が非持続仮想接続を生成するのに使われる。すなわち、「秘密」情報が非持続仮想接続によって与えられない場合には、フェイルオーバー・クラスタ化マシンは接続を受け入れないのである。
ある実施形態では、前記秘密情報は公開暗号鍵交換を含む。ひとたびフェイルオーバー・クラスタ化マシンに持続接続を通じて秘密情報が与えられれば、非持続接続を介するコントローラおよびローカル・エージェントはその公開鍵を使ってフェイルオーバー・クラスタ化マシンに送信されるメッセージを暗号化しなければならない。そしてフェイルオーバー・クラスタ化マシンはそのメッセージを復号・検証するためには秘密鍵を使わなければならない。この備えにより、コントローラからのメッセージが本物であることが保証される。
本発明の実施形態は、ハードウェア、ソフトウェア、あるいは両者の組み合わせを用いて実装することができ、一つまたは複数のコンピュータ・システムその他の処理システムにおいて実装することができる。実際、ある実施形態では、本発明は、ここに記載される機能を実行することのできる一つまたは複数のコンピュータ・システムに向けられている。図8に、コンピュータ・システム800の実装例が示してある。さまざまな実施形態について、この代表例としてのコンピュータ・システム800によって説明する。この記載を読めば、当業者には、他のコンピュータ・システムやコンピュータ・アーキテクチャを使っていかにして本発明を実装するかは明らかであろう。
コンピュータ・システム800は、プロセッサ803のような一つまたは複数のプロセッサを含んでいる。プロセッサ803は通信バス802に接続されている。コンピュータ・システム800はまた、好ましくはランダム・アクセス・メモリ(RAM)である主記憶805を含んでおり、また補助記憶810をも含んでいてもよい。補助記憶810にはたとえば、ハードディスク・ドライブ812ならびに、フロッピー(登録商標)・ディスク・ドライブ、磁気テープ・ドライブおよび光ディスク・ドライブを表すリムーバブル・ストーレジ・ドライブ814が含まれうる。リムーバブル・ストーレジ・ドライブ814がリムーバブル・ストーレジ・ユニット818の情報を読み書きするのはよく知られている仕方の通りである。リムーバブル・ストーレジ・ユニット818はフロッピー(登録商標)・ディスク、磁気テープ、光ディスクなどを表し、これがリムーバブル・ストーレジ・ドライブ814によって読み書きされる。理解されることであろうが、リムーバブル・ストーレジ・ユニット818は、コンピュータ用ソフトウェアもしくはデータまたはその両方を記録したコンピュータ使用可能記憶媒体を含む。
これに代わる実施形態では、補助記憶810はコンピュータ・プログラムその他の命令をコンピュータ・システム800に読み込ませる他の同様な手段を含むものでありうる。そのような手段は、たとえば、リムーバブル・ストーレジ・ユニット822およびインターフェース820を含みうる。そのようなものの例としては、プログラム・カートリッジとカートリッジ・インターフェース(ビデオゲームに見られるような)、リムーバブル・メモリ・チップ(EPROM[erasable programmable read-only memory]またはPROM[programmable read-only memory]のような)と付随するソケット、リムーバブル・ストーレジ・ユニット822からコンピュータ・システム800にソフトウェアやデータを転送させることのできるその他のリムーバブル・ストーレジ・ユニット822とインターフェース820が含まれうる。
コンピュータ・システム800はまた、通信インターフェース824を含んでいることもある。通信インターフェース824によって、ソフトウェアやデータがコンピュータ・システム800と外部デバイスとの間で転送できるようになる。通信インターフェース824の例としては、モデム、ネットワーク・インターフェース(イーサーネット・カードのような)、通信ポート、PCMCIA(personal computer memory card international association)スロットおよびカード、無線LAN(local area network)インターフェースなどが含まれうる。通信インターフェース824を通じて転送されるソフトウェアおよびデータは信号828の形をとるが、これは電子的、電磁的、光学的その他通信インターフェース824によって受信することのできるその他の信号であってよい。これらの信号828は通信路(すなわち、回線)826を通じて通信インターフェース824に与えられる。信号828を伝える回線826は、導線やケーブル、光ファイバー、電話線、携帯電話リンク、無線リンクその他の通信回線を使って実装されうる。
この文書において、「コンピュータ・プログラム・プロダクト」の用語はリムーバブル・ストーレジ・ユニット818、822および信号828のことをいうものである。これらのコンピュータ・プログラム・プロダクトはコンピュータ・システム800にソフトウェアを与える手段である。本発明のいくつかの実施形態は、そのようなコンピュータ・プログラム・プロダクトに向けられるものである。
コンピュータ・プログラム(コンピュータ制御ロジックともいう)は主記憶805、補助記憶810、コンピュータ・プログラム・プロダクトのうちの一部または全部に保存される。コンピュータ・プログラムはまた通信インターフェース824を通じて受信されることもできる。そのようなコンピュータ・プログラムは実行されると、ここで議論したような本発明の特徴をコンピュータ・システム800が実行できるようにする。具体的には、前記コンピュータ・プログラムは実行されると、本発明の実施形態の特徴をプロセッサ803が実行できるようにする。したがって、そのようなコンピュータ・プログラムはコンピュータ・システムのコントローラを表している。
本発明がソフトウェアを使って実装される実施形態では、そのソフトウェアはコンピュータ・プログラム・プロダクトに保存されていて、リムーバブル・ストーレジ・ドライブ814、ハードディスク・ドライブ812または通信インターフェース824を使ってコンピュータ・システム800に読み込まれることができる。その制御ロジック(ソフトウェア)は、プロセッサ803によって実行されると、ここで記載した本発明の機能をプロセッサ803に実行させる。
別の実施形態では、本発明は主としてハードウェアにおいて、たとえばカスタムチップ(ASIC:application specific integrated circuit)を使って実装される。ここに記載された機能を実行するようなハードウェア状態機械の実装は、当業者には明らかであろう。さらに別の実施形態では、本発明はハードウェアおよびソフトウェア両者の組み合わせを使って実装される。
上記において本発明のさまざまな実施形態が記載されてきたが、それらは単に例として提示されたのであって限定ではないということを理解しておく必要がある。付属の特許請求の範囲において定義されるような本発明の精神と範囲から離れることなく、形や細部においてさまざまな変更を加えうることは当業者には理解されるであろう。こうして、本発明の幅と範囲は上述したいかなる例示のための実施形態によっても限定されることはなく、請求項およびその等価物に従ってのみ定義されるものである。
インターネット・データセンターの例を図解するブロック図である。 インターネット・データセンター内でのオープン・コントロール・テクノロジー・コントローラを図解するブロック図である。 オープン・コントロール・テクノロジー・アーキテクチャのためのオブジェクト・モデルの図解である。 少なくとも二つの異なるマシンが共通のリソースを共有しようとしたときに問題が生じるような、典型的なエージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャの単純化した図である。 本発明の実施形態に従って少なくとも二つの異なるマシンが共通のリソースを共有できるようにする、エージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャの単純化した図である。 エージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャが本発明の実施形態に従って共通リソースが共有されている少なくとも二つの異なるマシンを扱うことができるようにする方法を記述する流れ図である。 エージェント・ベースのオープン・コントロール・テクノロジー・アーキテクチャにおけるコントローラが、本発明の実施形態に基づいて共有のリソースもしくはサービスまたはその両方への情報要求を発することができるようにする方法を記述する流れ図である。 本発明の実施形態のある側面を実装しうる例としてのコンピュータ・システムを図解するブロック図である。
符号の説明
102 クライアント
104 アドミニストレータ
106 インターネット
108 負荷分散装置
110 フロントエンド
112 ウェブ・サーバー
114 バックエンド
116 アプリケーション・サーバー
120 データベース・サーバー
122 ファイアウォール
202 コントローラ
302 クライアント・インターフェース
304 オブジェクト・マネージャ
306 プロバイダ・フレームワーク
308 プロバイダ・インターフェース
310 ドライバ・インターフェース
312 プロバイダ
314 ドライバ(サービス、リソース)
316 クライアント・アプリケーション
402 コントローラ
404 プロバイダ・インターフェース
406 プロバイダ・インターフェース
502 ローカル・エージェント
602 開始
604 共有リソース/サービスを扱う要求を受信
606 仮想接続を開く
608 クラスタ化マシンへコマンド送信
610 アクティブなマシンの要求処理をトリガー
612 受け入れ、結果を要求元に送信
614 仮想接続を閉じる
702 開始
704 要求を発する
706 結果を受け入れ
802 通信バス
803 プロセッサ
805 主記憶
810 補助記憶
812 ハードディスク・ドライブ
814 リムーバブル・ストーレジ・ドライブ
818 リムーバブル・ストーレジ・ユニット
822 リムーバブル・ストーレジ・ユニット
820 インターフェース
824 通信インターフェース
826 通信路

Claims (37)

  1. 仮想非持続接続を開き、
    前記仮想非持続接続を通じて第一のコマンドの組を共有リソース/サービスを含んでいるクラスタ化マシンに送信し、
    前記クラスタ化マシン内のアクティブなマシンが前記第一のコマンドの組を処理するようトリガーし、
    前記アクティブなマシンから前記第一のコマンドの組を処理した結果としての情報を受信し、
    前記仮想接続を閉じる、
    ことを含むことを特徴とする、エージェント・ベースのシステムを管理する方法。
  2. 請求項1記載の方法であって、仮想非持続接続を開くのに先立って:
    ユーザーから一つまたは複数の共有リソース/サービスを操作する要求を受け取り、
    該要求対象を得るために前記第一のコマンドの組を生成する、
    ことをさらに含むことを特徴とする方法。
  3. ユーザーが、アドミニストレータおよびクライアントのうちの一方であることを特徴とする、請求項2記載の方法。
  4. 請求項1記載の方法であって、仮想非持続接続を開くのに先立って:
    情報に対する要求を発し、
    該要求対象を得るために前記第一のコマンドの組を生成する、
    ことをさらに含むことを特徴とする方法。
  5. 請求項1記載の方法であって、前記第一のコマンドの組を前記仮想非持続接続を通じて共有リソース/サービスを含んでいるクラスタ化マシンに送信することがさらに、前記第一のコマンドの組を前記クラスタ化マシンに仮想IP(Internet Protocol)アドレスを使って送ることであり、リソース/サービスが共有される少なくとも二つの異なるマシンを有する前記クラスタ化マシンが単一の実体として表現されることが前記仮想非持続接続および前記仮想IPアドレスによって可能になっている、ことを特徴とする方法。
  6. 請求項1記載の方法であって、前記第一のコマンドの組を前記仮想非持続接続を通じて共有リソース/サービスを含んでいるクラスタ化マシンに送信することがさらに、前記第一のコマンドの組を前記クラスタ化マシンに仮想IP(Internet Protocol)アドレスを使って送ることであり、リソース/サービスが共有される少なくとも二つの異なるオブジェクトを有する前記クラスタ化マシンが単一のオブジェクトとして表現されることが前記仮想非持続接続および前記仮想IPアドレスによって可能になっている、ことを特徴とする方法。
  7. 請求項1記載の方法であって、仮想非持続接続を開くことがローカル・エージェントを使って前記仮想非持続接続を開くことであることを特徴とする方法。
  8. 請求項1記載の方法であって、前記クラスタ化マシン内のアクティブなマシンが前記第一のコマンドの組を処理するようトリガーすることがさらに、前記アクティブなマシン上のエージェントをして:
    前記第一のコマンドの組を解釈し、
    前記第一のコマンドの組によって要求される機能を実行し、
    前記仮想非持続接続を通じて前記第一のコマンドの組に関係する情報を送り返せしめることを含むことを特徴とする方法。
  9. 請求項1記載の方法であって、前記アクティブなマシンから前記第一のコマンドの組を処理した結果としての情報を受信することがさらに、該情報を要求を発した実体に送信することを含むことを特徴とする方法。
  10. 請求項1記載の方法であって、さらに:
    ユーザーから非クラスタ化リソース/サービスに対する要求を受信し、
    非クラスタ化リソース/サービスに対する該要求対象を獲得するための第二のコマンドの組を生成し、
    持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信し、
    前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにし、
    前記エージェントから前記第二のコマンドの組を処理した結果としての情報を受信することを含むことを特徴とする方法。
  11. 請求項10記載の方法であって、前記非クラスタ化リソース/サービスが存在するマシンが、一つのオブジェクトとして表現されている非クラスタ化マシンおよび少なくとも二つの別個のマシンを有するクラスタ化マシンのうちの一方であり、該少なくとも二つの別個のマシンは二つの別個のオブジェクトとして表現されており、前記持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信することが前記持続接続を通じて前記第二のコマンドの組を前記少なくとも二つの別個のマシンのうちの一つに送信することを含んでおり、前記クラスタ化マシン中の前記少なくとも二つの別個のマシンのそれぞれが別個の持続接続を有することを特徴とする方法。
  12. 請求項10記載の方法であって、前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにすることが、さらに:
    前記エージェントが前記第二のコマンドの組を解釈できるようにし、
    前記エージェントが前記第二のコマンドの組によって要求される機能を実行できるようにし、
    前記エージェントが前記持続接続を通じて前記第二のコマンドの組に関係する情報を送り返せるようにすることを含むことを特徴とする方法。
  13. 請求項10記載の方法であって、前記受信した情報をユーザーに送信することをさらに含むことを特徴とする方法。
  14. 請求項1記載の方法であって、さらに:
    非クラスタ化リソース/サービスに対する要求を発し、
    非クラスタ化リソース/サービスに対する該要求対象を獲得するための第二のコマンドの組を生成し、
    持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信し、
    前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにし、
    前記エージェントから前記第二のコマンドの組を処理した結果としての情報を受信することを含むことを特徴とする方法。
  15. 請求項14記載の方法であって、前記非クラスタ化リソース/サービスが存在するマシンが、一つのオブジェクトとして表現されている非クラスタ化マシンおよび少なくとも二つの別個のマシンを有するクラスタ化マシンのうちの一方であり、該少なくとも二つの別個のマシンは二つの別個のオブジェクトとして表現されており、前記持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信することが前記持続接続を通じて前記第二のコマンドの組を前記少なくとも二つの別個のマシンのうちの一つに送信することを含んでおり、前記クラスタ化マシン中の前記少なくとも二つの別個のマシンのそれぞれが別個の持続接続を有することを特徴とする方法。
  16. 請求項14記載の方法であって、前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにすることが、さらに:
    前記エージェントが前記第二のコマンドの組を解釈できるようにし、
    前記エージェントが前記第二のコマンドの組によって要求される必要な機能を実行できるようにし、
    前記エージェントが前記持続接続を通じて前記第二のコマンドの組に関係する情報を送り返せるようにすることを含むことを特徴とする方法。
  17. 仮想非持続接続を開き、
    前記仮想非持続接続を通じて第一のコマンドの組を共有リソース/サービスを含んでいるクラスタ化マシンに送信し、
    前記クラスタ化マシン内のアクティブなマシンが前記第一のコマンドの組を処理するようトリガーし、
    前記アクティブなマシンから前記第一のコマンドの組を処理した結果としての情報を受信し、
    前記仮想接続を閉じる、
    ことを、プロセッサによって実行されたときに実現するような機械アクセス可能命令を複数有する記憶媒体を有することを特徴とする物品。
  18. 請求項17記載の物品であって:
    ユーザーから一つまたは複数の共有リソース/サービスを操作する要求を受け取り、
    該要求対象を得るために前記第一のコマンドの組を生成する、
    命令をさらに含むことを特徴とする物品。
  19. ユーザーが、アドミニストレータおよびクライアントのうちの一方であることを特徴とする、請求項18記載の物品。
  20. 請求項17記載の物品であって:
    情報に対する要求を発し、
    該要求対象を得るために前記第一のコマンドの組を生成する、
    命令をさらに含むことを特徴とする物品。
  21. 請求項17記載の物品であって、前記第一のコマンドの組を前記仮想非持続接続を通じて共有リソース/サービスを含んでいるクラスタ化マシンに送信する命令がさらに、前記第一のコマンドの組を前記クラスタ化マシンに仮想IP(Internet Protocol)アドレスを使って送る命令であり、リソース/サービスが共有される少なくとも二つの異なるマシンを有する前記クラスタ化マシンが単一の実体として表現されることが前記仮想非持続接続および前記仮想IPアドレスによって可能になっている、ことを特徴とする物品。
  22. 請求項17記載の物品であって、前記第一のコマンドの組を前記仮想非持続接続を通じて共有リソース/サービスを含んでいるクラスタ化マシンに送信する命令がさらに、前記第一のコマンドの組を前記クラスタ化マシンに仮想IP(Internet Protocol)アドレスを使って送る命令であり、リソース/サービスが共有される少なくとも二つの異なるオブジェクトを有する前記クラスタ化マシンが単一のオブジェクトとして表現されることが前記仮想非持続接続および前記仮想IPアドレスによって可能になっている、ことを特徴とする物品。
  23. 請求項17記載の物品であって、仮想非持続接続を開く命令がローカル・エージェントを使って前記仮想非持続接続を開く命令であることを特徴とする物品。
  24. 請求項17記載の物品であって、前記クラスタ化マシン内のアクティブなマシンが前記第一のコマンドの組を処理するようトリガーする命令がさらに、前記アクティブなマシン上のエージェントをして:
    前記第一のコマンドの組を解釈し、
    前記第一のコマンドの組によって要求される機能を実行し、
    前記仮想非持続接続を通じて前記第一のコマンドの組に関係する情報を送り返せしめる命令を含むことを特徴とする物品。
  25. 請求項17記載の物品であって、前記アクティブなマシンから前記第一のコマンドの組を処理した結果としての情報を受信する命令がさらに、該情報を要求を発した実体に送信する命令を含むことを特徴とする物品。
  26. 請求項17記載の物品であって、さらに:
    ユーザーから非クラスタ化リソース/サービスに対する要求を受信し、
    非クラスタ化リソース/サービスに対する該要求対象を獲得するための第二のコマンドの組を生成し、
    持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信し、
    前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにし、
    前記エージェントから前記第二のコマンドの組を処理した結果としての情報を受信する命令を含むことを特徴とする物品。
  27. 請求項26記載の物品であって、前記非クラスタ化リソース/サービスが存在するマシンが、一つのオブジェクトとして表現されている非クラスタ化マシンおよび少なくとも二つの別個のマシンを有するクラスタ化マシンのうちの一方であり、該少なくとも二つの別個のマシンは二つの別個のオブジェクトとして表現されており、前記持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信する命令が前記持続接続を通じて前記第二のコマンドの組を前記少なくとも二つの別個のマシンのうちの一つに送信する命令を含んでおり、前記クラスタ化マシン中の前記少なくとも二つの別個のマシンのそれぞれが別個の持続接続を有することを特徴とする物品。
  28. 請求項27記載の物品であって、前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにする命令が、さらに:
    前記エージェントが前記第二のコマンドの組を解釈できるようにし、
    前記エージェントが前記第二のコマンドの組によって要求される機能を実行できるようにし、
    前記エージェントが前記持続接続を通じて前記第二のコマンドの組に関係する情報を送り返せるようにする命令を含むことを特徴とする物品。
  29. 請求項27記載の物品であって、前記受信した情報をユーザーに送信する命令をさらに含むことを特徴とする物品。
  30. 請求項17記載の物品であって、さらに:
    非クラスタ化リソース/サービスに対する要求を発し、
    非クラスタ化リソース/サービスに対する該要求対象を獲得するための第二のコマンドの組を生成し、
    持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信し、
    前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにし、
    前記エージェントから前記第二のコマンドの組を処理した結果としての情報を受信する命令を含むことを特徴とする物品。
  31. 請求項30記載の物品であって、前記非クラスタ化リソース/サービスが存在するマシンが、一つのオブジェクトとして表現されている非クラスタ化マシンおよび少なくとも二つの別個のマシンを有するクラスタ化マシンのうちの一方であり、該少なくとも二つの別個のマシンは二つの別個のオブジェクトとして表現されており、前記持続接続を通じて前記第二のコマンドの組を前記非クラスタ化リソース/サービスが存在するマシンに送信する命令が前記持続接続を通じて前記第二のコマンドの組を前記少なくとも二つの別個のマシンのうちの一つに送信する命令を含んでおり、前記クラスタ化マシン中の前記少なくとも二つの別個のマシンのそれぞれが別個の持続接続を有することを特徴とする物品。
  32. 請求項30記載の物品であって、前記マシン上のエージェントが前記第二のコマンドの組を処理できるようにする命令が、さらに:
    前記エージェントが前記第二のコマンドの組を解釈できるようにし、
    前記エージェントが前記第二のコマンドの組によって要求される必要な機能を実行できるようにし、
    前記エージェントが前記持続接続を通じて前記第二のコマンドの組に関係する情報を送り返せるようにする命令を含むことを特徴とする物品。
  33. コントローラと、
    前記コントローラに結合したローカル・エージェントと、
    少なくとも一つの共有リソース/サービスを共有する少なくとも二つの個別エージェントを有する少なくとも一つのクラスタ化マシンと、
    前記少なくとも二つの個別エージェントを前記ローカル・エージェントに結合させる仮想非持続接続であって、該仮想非持続接続を通じて、前記少なくとも一つのクラスタ化マシンの前記少なくとも二つの個別エージェントを単一のオブジェクトとして表現できるようにするために仮想IPアドレスを使って、前記少なくとも一つの共有リソース/サービスが前記ローカル・エージェントによってアクセスされるような仮想非持続接続とを有することを特徴とする、エージェント・ベースの管理システム。
  34. 前記少なくとも二つの個別エージェントが少なくとも一つの非クラスタ化リソース/サービスを有する請求項1記載のシステムであって、さらに少なくとも二つの持続接続を有し、前記少なくとも二つの持続接続のそれぞれが前記コントローラに、そして前記少なくとも二つの個別エージェントのうちの一方に結合されており、前記少なくとも二つの持続接続が前記コントローラをして前記少なくとも二つの個別エージェントのそれぞれの上の前記少なくとも一つの非クラスタ化リソース/サービスに別個にアクセスできるようにするためであり、前記少なくとも一つのクラスタ化マシンの前記少なくとも二つの個別エージェントが少なくとも二つのオブジェクトとして表現されうるようにするためである、ことを特徴とするシステム。
  35. 請求項33記載のシステムであって、エージェントおよび少なくとも一つの非クラスタ化リソース/サービスを有する少なくとも一つの非クラスタ化マシンをさらに有しており、前記コントローラが前記少なくとも一つの非クラスタ化リソース/サービスの情報にアクセスできるようにするために、前記少なくとも一つの非クラスタ化マシンが持続接続を使って前記コントローラに結合されていることを特徴とするシステム。
  36. 前記共有リソース/サービスへのアクセスが前記少なくとも二つの個別エージェントの一方からのみアクセス可能であることを特徴とする、請求項33記載のシステム。
  37. アドミニストレータおよびクライアントが前記コントローラと通信できるようにするために前記コントローラがインターネットに結合されていることを特徴とする、請求項33記載のシステム。
JP2005518882A 2003-03-21 2004-02-25 分散オブジェクトを単一表現として管理するシステムおよび方法 Expired - Fee Related JP4307448B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/393,622 US7313619B2 (en) 2003-03-21 2003-03-21 System and method for managing distributed objects as a single representation
PCT/US2004/005665 WO2004095269A2 (en) 2003-03-21 2004-02-25 System and method for managing distributed objects as a single representation

Publications (2)

Publication Number Publication Date
JP2006519424A true JP2006519424A (ja) 2006-08-24
JP4307448B2 JP4307448B2 (ja) 2009-08-05

Family

ID=32988189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005518882A Expired - Fee Related JP4307448B2 (ja) 2003-03-21 2004-02-25 分散オブジェクトを単一表現として管理するシステムおよび方法

Country Status (8)

Country Link
US (5) US7313619B2 (ja)
JP (1) JP4307448B2 (ja)
KR (1) KR100859611B1 (ja)
CN (1) CN100367214C (ja)
DE (1) DE112004000460T5 (ja)
GB (1) GB2415814B (ja)
TW (1) TWI242141B (ja)
WO (1) WO2004095269A2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313619B2 (en) * 2003-03-21 2007-12-25 Intel Corporation System and method for managing distributed objects as a single representation
WO2004091137A2 (en) * 2003-04-04 2004-10-21 Computer Associates Think, Inc. Method and system for management and configuration of remote agents
US7715934B2 (en) 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
US7877810B2 (en) * 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service
US20060031520A1 (en) * 2004-05-06 2006-02-09 Motorola, Inc. Allocation of common persistent connections through proxies
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
US20050283531A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation Method and apparatus for combining resource properties and device operations using stateful Web services
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US20060248283A1 (en) * 2005-04-29 2006-11-02 Galin Galchev System and method for monitoring threads in a clustered server architecture
US7761435B2 (en) * 2005-04-29 2010-07-20 Sap Ag External persistence of session state information
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
US7853698B2 (en) * 2005-04-29 2010-12-14 Sap Ag Internal persistence of session state information
US20060248199A1 (en) * 2005-04-29 2006-11-02 Georgi Stanev Shared closure persistence of session state information
US8762547B2 (en) * 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
US7809943B2 (en) * 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
US8086722B2 (en) * 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
US8707323B2 (en) 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
US8103698B2 (en) * 2007-02-28 2012-01-24 Jianwen Yin Methods, apparatus and media for system management of object oriented information models
CN101256510B (zh) * 2008-04-11 2010-06-16 中兴通讯股份有限公司 一种集群系统及实现其集中管理的方法
US9639331B2 (en) 2008-07-09 2017-05-02 International Business Machines Corporation Service interface creation and modification for object-oriented services
US9442810B2 (en) * 2009-07-31 2016-09-13 Paypal, Inc. Cloud computing: unified management console for services and resources in a data center
US9172766B2 (en) * 2011-01-10 2015-10-27 Fiberlink Communications Corporation System and method for extending cloud services into the customer premise
US9015304B2 (en) 2012-06-15 2015-04-21 Citrix Systems, Inc. Systems and methods for supporting a SNMP request over a cluster
TWI461907B (zh) * 2012-10-11 2014-11-21 Mstar Semiconductor Inc 配合多個應用程式之整合系統和測試系統
CN103810019B (zh) * 2014-02-08 2017-03-01 南开大学 一种支持进程粒度网络计算的虚拟计算环境系统
US10437720B2 (en) * 2014-03-12 2019-10-08 Optumsoft, Inc. Deferred destruction for efficient resource reclamation
US9128779B1 (en) * 2014-07-31 2015-09-08 Splunk Inc. Distributed tasks for retrieving supplemental job information
US20160147852A1 (en) * 2014-11-21 2016-05-26 Arndt Effern System and method for rounding computer system monitoring data history
US10642594B2 (en) * 2014-11-21 2020-05-05 Sap Se System and method for updating monitoring software using content model with validity attributes
US10101993B2 (en) * 2014-11-21 2018-10-16 Sap Se System and method for updating content without downtime
CN104378449B (zh) * 2014-12-09 2017-07-14 飞天诚信科技股份有限公司 一种虚拟ip的实现方法
US11575534B2 (en) 2015-02-10 2023-02-07 Universal Electronics Inc. System and method for aggregating and analyzing the status of a system
US10084657B2 (en) 2015-06-29 2018-09-25 Ca, Inc. Normalized software-defined networking interface
US10003498B2 (en) * 2015-06-29 2018-06-19 Ca, Inc. Efficient management of network configuration-dependent network functionality
US10924473B2 (en) * 2015-11-10 2021-02-16 T Stamp Inc. Trust stamp
CN107135242B (zh) * 2016-02-29 2020-06-05 阿里巴巴集团控股有限公司 Mongodb集群访问方法、装置及系统
KR101648568B1 (ko) * 2016-03-09 2016-08-16 주식회사 티맥스 소프트 분산된 객체를 클러스터링하여 하나의 객체처럼 활용하는 방법 및 이를 사용한 분산 시스템
CN106095526A (zh) * 2016-06-06 2016-11-09 腾讯科技(深圳)有限公司 虚拟服务器集群及其服务器的部署方法、装置以及系统
US11025436B2 (en) * 2017-03-01 2021-06-01 Banco Bilbao Vizcaya Argentaria, S.A. Self-authenticating digital identity
US11093771B1 (en) 2018-05-04 2021-08-17 T Stamp Inc. Systems and methods for liveness-verified, biometric-based encryption
US11496315B1 (en) 2018-05-08 2022-11-08 T Stamp Inc. Systems and methods for enhanced hash transforms
US11301586B1 (en) 2019-04-05 2022-04-12 T Stamp Inc. Systems and processes for lossy biometric representations
US11343329B1 (en) * 2019-05-20 2022-05-24 Amazon Technologies, Inc. Techniques for increasing persistent connection scalability
CN110764742B (zh) * 2019-10-18 2023-05-23 成都信息工程大学 一种气候观测数据线性相关度高速计算方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396590A (en) * 1992-09-17 1995-03-07 Apple Computer, Inc. Non-modal method and apparatus for manipulating graphical objects
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US6553428B1 (en) * 1996-11-18 2003-04-22 International Business Machines Corporation Distributed object instantiation of native objects in java
US6628965B1 (en) * 1997-10-22 2003-09-30 Dynamic Mobile Data Systems, Inc. Computer method and system for management and control of wireless devices
US6434532B2 (en) * 1998-03-12 2002-08-13 Aladdin Knowledge Systems, Ltd. Interactive customer support for computer programs using network connection of user machine
US6243753B1 (en) * 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
US6731627B1 (en) * 1998-11-17 2004-05-04 Cisco Technology, Inc. Virtual loop carrier system
AU1728900A (en) 1998-11-18 2000-06-05 Johns Hopkins University, The Enhanced virtual executor
JP4015770B2 (ja) 1998-12-22 2007-11-28 株式会社東芝 クラスタシステム、サーバ計算機及び負荷分散方法
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6308163B1 (en) * 1999-03-16 2001-10-23 Hewlett-Packard Company System and method for enterprise workflow resource management
US6615166B1 (en) * 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US6981267B1 (en) * 2000-06-16 2005-12-27 Microsoft Corporation System and method for parallel asynchronous execution of commands
US7171441B2 (en) * 2000-09-07 2007-01-30 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US7533333B2 (en) * 2001-02-14 2009-05-12 Ricoh Co., Ltd. Object-oriented method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols
US6854121B2 (en) * 2001-02-16 2005-02-08 Canon U.S.A., Inc. Command interface to object-based architecture of software components for extending functional and communicational capabilities of network devices
US20020152262A1 (en) * 2001-04-17 2002-10-17 Jed Arkin Method and system for preventing the infringement of intellectual property rights
US7831731B2 (en) * 2001-06-12 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for a modular transmission control protocol (TCP) rare-handoff design in a streams based transmission control protocol/internet protocol (TCP/IP) implementation
US20030005090A1 (en) 2001-06-30 2003-01-02 Sullivan Robert R. System and method for integrating network services
US7480705B2 (en) 2001-07-24 2009-01-20 International Business Machines Corporation Dynamic HTTP load balancing method and apparatus
US7051341B2 (en) * 2001-12-14 2006-05-23 International Business Machines Corporation Method, system, and program for implementing a remote method call
US7069413B1 (en) * 2003-01-29 2006-06-27 Vmware, Inc. Method and system for performing virtual to physical address translations in a virtual machine monitor
US7313619B2 (en) 2003-03-21 2007-12-25 Intel Corporation System and method for managing distributed objects as a single representation

Also Published As

Publication number Publication date
CN1777869A (zh) 2006-05-24
KR100859611B1 (ko) 2008-09-23
TW200424872A (en) 2004-11-16
GB2415814B (en) 2006-09-20
TWI242141B (en) 2005-10-21
JP4307448B2 (ja) 2009-08-05
GB0513764D0 (en) 2005-08-10
US7313619B2 (en) 2007-12-25
US8271605B2 (en) 2012-09-18
WO2004095269A3 (en) 2005-10-06
GB2415814A (en) 2006-01-04
US20080098407A1 (en) 2008-04-24
US20130254399A1 (en) 2013-09-26
KR20050122213A (ko) 2005-12-28
US10313260B2 (en) 2019-06-04
US7831713B2 (en) 2010-11-09
US20040186906A1 (en) 2004-09-23
US20080091769A1 (en) 2008-04-17
DE112004000460T5 (de) 2008-07-17
WO2004095269A2 (en) 2004-11-04
CN100367214C (zh) 2008-02-06
US20200007458A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
JP4307448B2 (ja) 分散オブジェクトを単一表現として管理するシステムおよび方法
EP2158546B1 (en) Providing enhanced data retrieval from remote locations
US10447676B2 (en) Securing application programming interfaces (APIS) through infrastructure virtualization
CN103873486B (zh) 用于负载平衡实时流传输协议的系统和方法
US6134591A (en) Network security and integration method and system
US10187458B2 (en) Providing enhanced access to remote services
US20020162024A1 (en) Secure multiapplication proxy
US7523492B2 (en) Secure gateway with proxy service capability servers for service level agreement checking
JPH11338798A (ja) ネットワークシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
US8024563B1 (en) Programming interface for a kernel level SSL proxy
US7900038B2 (en) Method and apparatus for a broker entity
US20040093607A1 (en) System providing operating system independent access to data storage devices
US8312154B1 (en) Providing enhanced access to remote services
CN115516842A (zh) 编排代理服务
Sehgal et al. Foundations of cloud computing and information security
Sehgal et al. Foundations of Cloud Computing and Information Security
KR19980044525A (ko) 정보 검색 시스템에서의 보안 유지 방법
Sehgal et al. Foundations of Cloud Computing
KR100399719B1 (ko) 버클리 소프트웨어 디자인 환경의 웹기반 서버 및 보안관리 시스템
KR20010001717A (ko) 안전한 분산 객체 기반의 응용 개발 플랫폼 및 그 서비스 방법
Lu et al. JdWeb: A Proxy Server for Intranet/Internet Database Application Development
EA006541B1 (ru) Высокоскоростная серверная система

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090428

R150 Certificate of patent or registration of utility model

Ref document number: 4307448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees