JP2005535949A - コンピューティング・サービス・グリッド - Google Patents

コンピューティング・サービス・グリッド Download PDF

Info

Publication number
JP2005535949A
JP2005535949A JP2004513952A JP2004513952A JP2005535949A JP 2005535949 A JP2005535949 A JP 2005535949A JP 2004513952 A JP2004513952 A JP 2004513952A JP 2004513952 A JP2004513952 A JP 2004513952A JP 2005535949 A JP2005535949 A JP 2005535949A
Authority
JP
Japan
Prior art keywords
service
grid
instance
instances
request
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
JP2004513952A
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005535949A publication Critical patent/JP2005535949A/ja
Pending 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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】コンピューティング・サービス・グリッドを提供すること。
【解決手段】グリッドは、1つまたは複数のコンピューティング・サービス・インスタンスと結合されるサービス・デスクを含む。各サービス・インスタンスは、グリッド内のすべてのサービス・インスタンスに共通のインターフェースに適合することができる。グリッド内には、ルーティング・コンポーネントを配置することができる。特に、ルーティング・コンポーネントはサービス要求の1つ1つをサービス・インスタンスの1つ1つにルーティングすることができる。インスタンス選択サービスは、サービスのリクエスタに関連付けられたQoS特性を満たすのに使用することができる。グリッドは、さらにサービス・インスタンス監視コンポーネントを含むことができる。監視コンポーネントは、サービス要求の1つ1つの処理を担当するサービス・インスタンスの1つ1つのパフォーマンスを監視することができる。フェイル・オーバー論理は、監視コンポーネントが選択されたサービス・インスタンスにおけるフェイル・オーバー状態を検出した場合に、選択されたサービス・インスタンスからのサービス要求をそれ以外のサービス・インスタンスへとルーティングし直すことができる。この点に関連して、フェイル・オーバー状態は、エラー状態および選択されたサービス・インスタンスのパフォーマンスが保証されたレベルのパフォーマンスに追いつけないパフォーマンス不全状態を含むことができる。

Description

本発明は、コンピューティング・サービス・グリッドに関する。
Webサービスは、分散コンピューティングで熱狂的に流行してきており、WWW(WorldWide Web)上のコンポーネント・ベースのアプリケーションの迅速な開発を支援するための真に普遍的なモデルを構築する基礎と見られている。Webサービスは、サービス指向でコンポーネント・ベースのアプリケーション・アーキテクチャを記述する、新たに出現した標準のスタックを含むものとして、当技術分野では知られている。具体的には、Webサービスは、離散的な機能を意味論的にカプセル化し、分散し、標準のインターネットのプロトコル群を介してプログラムに従ってアクセス可能な、緩やかに結合され、再利用の可能なソフトウェア・コンポーネントである。
概念としてみると、Webサービスは、eビジネスのプロセス内部の離散的なタスクが、バリュー・ネット(valuenet)の全体にわたって広く分散しているというモデルを表している。この業界の多くの専門家が、サービス指向のWebサービスのイニシアティブを、インターネットの次の革命的フェーズと考えていることは、注目すべきである。通常、WebサービスはWebサービス定義言語(WSDL、WebServices Definition Language)などのインターフェースによって定義可能であり、このインターフェースに従って実装可能であるが、実装がWebサービス・インターフェースに適合している限り、実装の詳細はほとんど重要ではない。あるWebサービスが対応するインターフェースに従って実装されると、その実装は、当技術分野によく知られているように、UDDI(UniversalDescription, Discover and Integration)などのWebサービス・レジストリに登録することができる。登録されると、たとえばSOAP(simpleobject access protocol)を含む、なんらかのサポート用メッセージング・プロトコルを使用することにより、そのWebサービスはサービス・リクエスタによってアクセスが可能である。
eユーティリティーズ(electronic utilities)は、このWebサービスの概念を、WSDL、SOAPおよびUDDIの基本的な分散コンピューティング・インフラストラクチャを越えて拡張するものである。eユーティリティーズとは、分散コンピューティング・インフラストラクチャの全体にわたる(across)コンピューティング・サービスへの、従量制で(metered)、連続的な、オン・デマンドのアクセスを提供することを指している。過去のコンピューティング・サービスとは異なり、eユーティリティーズの異なるユーザが、交渉して決めたサービス・レベル・アグリーメント(SLA、servicelevel agreement)という利用条件に従って、様々なレベルの顧客対応(responsiveness)を、選択したeユーティリティーズから受けることができ、eユーティリティーズは、その限りにおいて、基礎となるインフラストラクチャと密接に絡み合うことになる。具体的には、eユーティリティーズに対するSLAは、保証されるパフォーマンスを機能性、可用性、資源、および可用性によって記述できる。このように、サービス品質(QoS、qualityof service)は、eユーティリティーズの展開(deployment)および流通において、依然として最重要の問題となっている。
Webサービスとeユーティリティーズをともにサポートする、サービス指向のアプリケーション環境では、信頼できるサービスを見つけ出し、そうした信頼できるサービスを動的にリアル・タイムで統合してアプリケーションの目的を果たせるかどうかは、疑わしいことがはっきりしている。レジストリ、ディレクトリ、および発見(discovery)プロトコルはサービス検出およびサービス間相互接続の論理を実装するための基盤構造を提供するが、現在の構成では、見つけ出されたどのサービスをサービス・リクエスタにバインドする際にも、QoSおよびSLAの問題が顧慮されない。OGSA(OpenGrid Services Architecture)によるグリッド機構の生理機能(physiology)により、分散システムの全体にわたるWebサービスおよびeユーティリティーズの発見においても、またバインド(binding)においてもプロトコルが提供されることは注目すべきである。
それでもなお、知られているグリッド機構には、異種のビジネス・アプリケーション・システムを横断する自動的で動的な協働および統合を支援できる技術が欠けている。むしろ、イアン・フォスター(Ian Foster)、カール・ケッセルマン(Carl Kesselman)、ジェフリー・エム・ニック(JeffreyM. Nick)およびスティーブン・テュッキ(StevenTuecke)、「グリッドの生理学(ThePhysiology of the Grid)」<http;//globus.org/research/papers/ogsa.pdf>(2002年2月17日)に述べられているように、Webサービスおよびeユーティリティーズの協働および統合は、せいぜい手作業のプロセスとしか見ることができない。
現在のところ、様々なプロバイダおよび消費者がそれぞれ提供し消費する、同等であるが必ずしも同一ではないWebサービスおよびeユーティリティーズの共用が限られていることは注目すべきである。しかも、あるWebサービスまたはeユーティリティーズのパフォーマンスを利用するサービス指向のアプリケーションは、信頼できないWebサービスまたはeユーティリティーズがリアル・タイムで制御および管理できない状況では、パフォーマンスがSLAの条件に従って指定されている場合でさえ、好ましくないリスクにさらされる可能性がある。
イアン・フォスター(Ian Foster)、カール・ケッセルマン(CarlKesselman)、ジェフリー・エム・ニック(Jeffrey M. Nick)およびスティーブン・テュッキ(StevenTuecke)、「グリッドの生理学(ThePhysiologyof the Grid)」<http;//globus.org/research/papers/ogsa.pdf>(2002年2月17日)
本発明は、上記問題を解決することをその課題とする。
第1の態様によれば、本発明は、複数のサービス・インスタンスと結合されるサービス・デスクであって、前記サービス・インスタンスが共通のサービス・インターフェースに適合する、サービス・デスクと、サービス・グリッド内に配置され、1つ1つのサービス要求を前記サービス・インスタンスの1つ1つにルーティングする、ルーティング・コンポーネントとを含む、コンピューティング・サービス・グリッドを提供する。
好ましくは、グリッドは、サービス・インスタンス監視コンポーネントと、前記サービス・インスタンス監視コンポーネントが前記選択されたサービス・インスタンスにおけるフェイル・オーバー状態を検出した状況で、選択されたサービス・インスタンスからのサービス要求をそれ以外の前記サービス・インスタンスにルーティングし直すように構成される、フェイル・オーバー論理とを含む。好ましい一実施形態では、前記フェイル・オーバー状態がエラー状態および保証されたパフォーマンスのレベルに追いつけないパフォーマンス不全状態の1つを含む。
好ましい一実施形態では、グリッドは、サービス要求を受け取るのに応答して前記サービス・インスタンスの1つ1つをインスタンス化するように構成されるサービス・インスタンス・ファクトリをさらに含む。好ましくは、グリッドは、前記サービス・デスクが選択サービスを用いて、前記サービス・インスタンスの1つ1つを見つけ出しバインドしてサービス要求に応答するためのグリッド・サービス・インターフェースをさらに含む。
第2の態様によれば、本発明は、上に述べたサービス・グリッドにおいて、サービス要求およびサービス品質(QoS、quality of service)特性の指定を受け取るステップと、前記QoS特性の指定と両立するレベルで前記サービス要求を処理できる同等ないくつかのサービス・インスタンスのうちの特定の1つを選択するステップと、前記選択されたサービス・インスタンスをバインドして前記サービス要求を処理するステップとを含む、サービス要求処理方法を提供する。
好ましくは、この方法は、前記バインドされたサービスのパフォーマンスを監視するステップと、前記パフォーマンスにおけるフェイル・オーバー状態を検出するステップと、フェイル・オーバー状態が検出された状況で、前記QoS特性の指定と両立する前記レベルで前記サービス要求を処理できる前記同等ないくつかのサービス・インスタンスのうちの代わりとなる1つを選択し、前記代わりとなるサービス・インスタンスをバインドして前記サービス要求を処理するステップとを含む。好ましい一実施形態では、前記検出するステップが、前記選択されたサービスにおける例外を検出するステップを含む。好ましい他の一実施形態では、前記検出するステップが、前記選択されたサービスにおける前記QoS特性の指定が達成できていないパフォーマンスのレベルを検出するステップを含む。
第3の態様によれば、本発明は、上に述べたサービス・グリッドにおいて、サービス要求を処理するコンピュータ・プログラムを保存した機械可読ストレージであって、前記コンピュータ・プログラムが、サービス要求およびサービス品質(QoS)特性の指定を受け取るステップと、QoS特性の指定と両立するレベルでサービス要求を処理できる、同等ないくつかのサービス・インスタンスのうちの特定の1つを選択するステップと、選択されたサービス・インスタンスをバインドしてサービス要求を処理するステップとを機械に実行させる定型化された(routine)1組の命令とを含む、機械可読ストレージを提供する。
本発明はコンピューティング・サービス・グリッドである。本発明のコンピューティング・サービス・グリッドは、Webサービスやeユーティリティーズなどのコンピューティング・サービスを、自動的に編成しルーティングし回復し切り替えることができる。コンピューティング・サービス・グリッドは、共通サービス・エントリ・ポイントによって同等なコンピューティング・サービス・インスタンスの一群を代表することができる。続いて、コンピューティング・サービス・グリッドは、サービス要求の受け取りに応答して、コンピューティング・サービス・インスタンスのうちの適したものを選択して、受け取ったサービス要求を処理することができる。
コンピューティング・サービス・グリッドが、選択されたコンピューティング・サービス・インスタンスの可用性だけでなく機能にも従って、サービス要求を選択されたコンピューティング・サービス・インスタンスにルーティングして、そのサービスのリクエスタに関連付けられたQoS特性を満たすことができることは、注目すべきである。さらに、コンピューティング・サービス・グリッドは、選択されたコンピューティング・サービス・インスタンスのパフォーマンスを監視でき、必要な状況ではフェイル・オーバー処理を実行できる。したがって、コンピューティング・サービス・グリッドは、これまで、従来のWebサービスのバインド(binding)の状況では得られなかった高いレベルのコンピューティング・サービスの相互運用性を提供するために、異種のコンピューティング・サービスを動的にクラスタ化し処理することができる。
本発明の一態様によれば、コンピューティング・サービス・グリッドは、1つまたは複数のコンピューティング・サービス・インスタンスと結合されるサービス・デスクを含む。コンピューティング・サービス・インスタンスのそれぞれは、コンピューティング・サービス・グリッド内のすべてのコンピューティング・サービス・インスタンスに共通なサービス・インターフェースに適合することができる。コンピューティング・サービス・グリッドには、1つのルーティング・コンポーネントを配置することができる。特に、ルーティング・コンポーネントは、1つ1つのサービス要求をコンピューティング・サービス・インスタンスの1つ1つにルーティングすることができる。
コンピューティング・サービス・グリッドは、さらに、サービス・インスタンス監視コンポーネントを含む。監視コンポーネントは、1つ1つのサービス要求の処理を担当する1つ1つのコンピューティング・サービス・インスタンスのパフォーマンスを監視することができる。フェイル・オーバー論理は、サービス・インスタンス監視コンポーネントが選択されたサービス・インスタンスにおけるフェイル・オーバー状態を検出した状況で、選択されたサービス・インスタンスからのサービス要求をそれ以外のサービス・インスタンスにルーティングし直すように構成することができる。この点に関連して、フェイル・オーバー状態には、エラー状態、および選択されたコンピューティング・サービス・インスタンスのパフォーマンスが保証されたレベルのパフォーマンスに追いつけないパフォーマンス不全状態が含まれ得る。
サービス・グリッドでは、サービス要求処理方法は、サービス要求およびサービス品質特性の指定を受け取ることを含むことができる。QoS特性の指定と両立するレベルでサービス要求を処理できる、同等ないくつかのサービス・インスタンスのうちの特定の1つを選択することができる。続いて、選択されたサービス・インスタンスをバインドしてサービス要求を処理することができる。バインド後は、選択されたサービスのパフォーマンスを監視することができる。特に、フェイル・オーバー状態を、選択されたサービスのパフォーマンスにおいて検出することができる。フェイル・オーバー状態が検出された状況では、QoS特性の指定と両立するレベルでサービス要求を処理できる、同等ないくつかのサービス・インスタンスのうちの代わりとなる1つを選択することができる。続いて、代わりとなるサービス・インスタンスをバインドしてサービス要求を処理することができる。
次に本発明を、例としてのみ、以下の図面に示すその好ましい実施形態を参照して、説明することとする。
本発明は、Webサービスやeユーティリティーズなどの1組の同等なコンピューティング・サービスに1つの共通なサービスとしてアクセスするためのサービス・グリッドである。特に、サービス・グリッドは、共通サービス・エントリ・ポイントによって同等なコンピューティング・サービスの一群を代表するように設定(establish)することができる。サービス・グリッドは、サービス・リクエスタから受け取ったサービスに対する要求に応答して、それが代表する1つ1つのサービス・インスタンスをそのサービス要求に対応付けることができる。対応付けられたサービス・インスタンスは、ビジネス・サービス・グリッドによって呼び出し、サービス・リクエスタにバインドすることができ、このビジネス・サービス・グリッドはサービス・リクエスタとバインドされたサービス・インスタンスの間の代理人(proxy)として働く。
本発明によれば、サービス・グリッドは、同等なコンピューティング・サービスを、自動的に編成しルーティングし回復し切り替えることができる。特に、本発明のサービス・グリッドは、抽象化すれば同一または同等になるが、それぞれのサービスが実装、プロバイダ、ホストおよびネットワーク・ドメインの点で異なる可能性のある、Webサービスやeユーティリティーズなどの分散コンピューティング・サービスをグループ化するのに使用することができる。さらに、サービス・グリッドは、仮想eBusinessサービス・コンプレックス内のサービス・デスクを通じてサービスをブローカとして取り仕切る(broker)目的で、コンピューティング・サービスをグループ化することができる。
確立されたSLAに指定された保証されるサービス・レベルに従って信頼性確保を行うだけでなく、障害を起こしている同等なサービス・インスタンスに対して障害検出および自己回復を実行するために、サービス・グリッド内にフェイル・オーバー論理を含めることができることは、重要である。その場合、サービス・グリッドは、すでにバインドされているものの、利用可能でない、パフォーマンスが満足でない、または完全な障害が生じたという理由で、もはやサービス・リクエスタにサービスを提供できないサービス・インスタンスを、同等なサービス・インスタンスで透過的に置き換えることができる。このようにして、サービス・グリッドは、万一例外が発生した場合には、代わりとなる同等なサービスへのフェイル・ソフト処理を実行することができる。
図1は、本発明の好ましい態様に従って構成されるサービス・グリッドの構成図である。サービス・グリッドは、サービス・デスク100を含むことができる。サービス・デスク100は、共通エントリ・ポイント110と1組の操作120をともに含むことができる。特に、共通エントリ・ポイント110は、WSDL(Web Services Definition Language、Webサービス定義言語)などの形式定義言語を用いて1つ1つのサービス抽象化から集約した抽象的サービスを定義することができる。この点に関連して、共通エントリ・ポイントは、サービス・デスク100、利用可能な1組の操作120、1つまたは複数の有効なメッセージ・フォーマット、および1つまたは複数の有効なトランスポート・バインディング(transportbinding)に対する1つのURI(uniform resource identifier、統一資源識別子)を指定することができる。
操作120は、1つまたは複数のサービス・インスタンス150を登録項目に追加または削除するなどの保守型の操作、参照照会(referral inquiry)、およびSLAの条件またはSLA全体を設定または変更する操作を含むことができる。操作120はさらに、自由選択で、サービス要求をサービス・インスタンス150に提出する、サービス・インスタンス150からサービス要求に対する応答を取り出す、またサービス・インスタンス150のステータスを検査する操作を含むことができる。最後に、操作120は、イベント公開(eventpublishing)の操作も回復規則および例外ハンドラを設定する操作も含むことができる。要するに、共通エントリ・ポイント110は、サービス・グリッドの唯一の外部参照コンポーネントとして役立つことが可能である。
サービス・グリッド自体は、自由選択でOGSAに従って実装することができ、プライベートUDDIなどのプライベート・レジストリに由来するデータを項目とする、1つまたは複数の内部テーブル130を含むことができる。テーブル130は、サービス・グリッドに含まれる各サービス・インスタンス150ごとに、ハンドル、検索キー、および参照情報への対応するポインタを保持することが可能である。参照情報自体は、たとえば、WSDL、QoSマトリックス、補助QoSマトリックス、ステータスおよび例外記述子などの記述マーク・アップを含むことができる。いずれにせよ、テーブル130は、サービス・グリッドの操作をサポート可能なデータ構造を提供することができる。操作の点では、サービス・インスタンス150は、項目追加操作(add listing operation)を選択することによってサービス・グリッドに追加することができる。逆に、サービス・インスタンス150は、項目削除操作(removelisting operation)を選択することによってこのグリッドから削除することができる。サービス・インスタンス150をサービス・グリッドに追加する前に、サービス・デスク100は、サービス・インスタンス150の信頼性を確認することができ、内部テーブル130に補助QoSマトリックスを追加することができる。さらに、同等なもののない(disparate)サービス・インスタンス150は、グリッドと非グリッドの両方のサービス・インスタンス150に対するこのサービス・グリッドの相互運用性を支障のないものとするために、統一グリッド・サービス・ラッパー(uniformgrid service wrapper)160の内部にカプセル化することができる。
サービス・インスタンス150は、操作可能になると、単にこのサービス・インスタンス150に対するステータス記述子を変更するだけで、修復またはアップグレードが可能になる。サービス・グリッド内のサービス要求を受け取ると、サービス・デスク100は、グリッド・ルーティング・コンポーネント140を呼び出して、内部テーブルにリストされている適当なサービス・インスタンス150を識別する。具体的には、リアル・タイムのまたは予め選択されたSLAレベル指定に基づいて、グリッド・ルーティング・コンポーネント140は適当なサービス・インスタンス150を選択して、関連付けられたSLAの条件の要求する顧客対応および信頼性に従ってサービス要求を満たすことができる。サービス・インスタンス150があるトランザクションにバインドされると、サービス・インスタンス150の健康状態(the state of health)をグリッド・ルーティング・コンポーネント140が監視することができ、必要な場合には、操作120に一部として含まれる例外の処理および回復によってフェイル・オーバーを実行することができる。
図2は、図1のサービス・グリッドにおけるサービス・インスタンスをバインドするプロセスを示すタイミング図である。ステップ1で、サービス・リクエスタは、サービス・グリッドの共通サービス・エントリ・ポイントにサービス要求を転送することができる。たとえば、サービス要求は、サービス呼び出しメッセージを含むSOAPエンベロープにカプセル化することができる。ステップ2で、共通サービス・エントリ・ポイントは、OGSAなどのサービス・グリッドに対するインターフェースを通して、適当な操作を呼び出すことができる。特に、共通サービス・エントリ・ポイントは、実際のサービス・インスタンスを開始する操作を呼び出すことが可能である。具体的には、要求されるQoS特性がグリッド・サービス・インターフェースに提供され、これにより、グリッド・サービス・インターフェースは、要求されるQoSレベルを満たしながら、サービス要求に応答できる特定のサービス・インスタンスを選択するサービスを呼び出すことができるようになる。
ステップ3で、グリッド・サービス・インターフェースの発見サービスが内部テーブルを検索して、ファクトリ・サービスを見つけ出して、要求されたサービスのインスタンスを作成する。ファクトリ・サービスが見つかると、そのファクトリによってサービス・インスタンスを作成することができ、作成されたサービス・インスタンスへのハンドルを共通サービス・エントリ・ポイントに返すことができる。ステップ4で、共通サービス・エントリ・ポイントが、グリッド・サービス・インターフェースが共通サービス・エントリ・ポイントに提供したハンドルを用いて、作成されたサービス・インスタンスにサービス要求を転送することができる。サービス要求を作成されたサービス・インスタンスが受け取ると、作成されたサービス・インスタンスは、そのサービス要求を処理することができ、共通サービス・エントリ・ポイントに応答を返すことができる。最後に、ステップ5で、共通サービス・エントリ・ポイントはその応答をサービス・リクエスタに転送することができる。
コンピューティング・サービスをバインドしてサービス要求に応答する従来のプロセスとは異なり、本発明では、サービス・グリッドが、特定のサービス・インスタンスの顧客応答および信頼性、ならびにサービス・リクエスタに関連付けられたSLAおよびQoSの条件の要求する顧客応答および信頼性のレベルに従って、自動的に特定のサービス・インスタンスをバインドしてサービス要求に応答することができることは、重要である。この点に関連して、図3は、図1のサービス・グリッドにおける、同等なサービス・インスタンスをサービス要求に対応付けるプロセスを示す流れ図である。始めのブロック300では、サービス要求をサービス・リクエスタから受け取ることができる。ブロック310で、このリクエスタに対してSLAまたはSLA条件を識別することができる。SLAまたはSLA条件により、そのサービス・リクエスタに対して保証される顧客対応および信頼性の最小のレベルを指定することが可能である。
ブロック320で、識別されたSLAまたはSLA条件および要求されたサービスに基づいて、サービス・グリッドは内部テーブルを調べて、サービス要求に応答できる同等なサービス・インスタンスの集合のうちからサービス・インスタンスを1つ選択することができる。判断ブロック330で、選択されたサービス・インスタンスのステータスを検査して、選択されたサービス・インスタンスが利用可能かどうか(availability)を判定することができる。選択されたサービス・インスタンスが利用可能でない場合、ブロック340で、SLAまたはSLA条件およびサービス要求を満たすことのできる次善のサービス・インスタンスを選択することができ、プロセスは繰り返すことが可能である。そうでない場合、プロセスはブロック350に続く。
ブロック350で、選択されたサービス・インスタンスを、サービス要求に応答するようにバインドすることができる。続いて、ブロック360で、サービス要求が、バインドされたサービス・インスタンスに転送される。ブロック370で、バインドされたサービス・インスタンスから応答を受け取ったかどうかが判定される。そうでない場合、プロセスはバインドされたサービス・インスタンスからのサービス要求に対する応答を待つことができる。応答を受け取っている場合は、ブロック380で、受け取った応答をサービス・リクエスタに転送することができる。バインドされたサービス・インスタンスの顧客対応および信頼性を、本発明のサービス・グリッドのパフォーマンス監視およびフェイル・オーバーのコンポーネントによって保証できることは、重要である。

この点に関連して、図4は、図1のサービス・グリッドにおける、サービス・インスタンスのフェイル・オーバーを実行するフェイル・ソフト・プロセスを示す流れ図である。始めのブロック400で、バインドされたサービス・インスタンスと共通サービス・エントリ・ポイントの間の要求−応答セッションの進行を、パフォーマンスおよび信頼性に関して監視することが可能である。判断ブロック410で、バインドされたサービス・インスタンスをフェイル・オーバーに関してテストすることができる。特に、極端な場合として、バインドされたサービス・インスタンスがセッションを完了できないようなエラーがそのバインドされたサービス・インスタンス内で起きているかどうかを判定することができる。あるいは、セッションの品質を、QoS条件またはSLAの条件の保証する品質のレベルと比較することもできる。
セッションの品質が保証される品質のレベルを適切に満たすと判定された場合、ブロック420で、セッションが終了しているかどうかを判定することができる。そうである場合、ブロック470で、セッションは終了することができる。そうでない場合、セッションは続行することができ、ブロック400でセッションの品質を続けて監視することができる。しかし、ブロック410で、セッションの品質が、そのセッションに対して保証される品質のレベルを達成していない場合、ブロック430で、サービス・グリッドの内部テーブルを調べて、保証される品質のレベルを満たすように構成されている次善のサービス・インスタンスを識別することができる。判断ブロック440で、識別されたサービス・インスタンスが利用可能でない場合、ブロック430でプロセスを繰り返すことができる。そうでない場合、ブロック450で次善のサービス・インスタンスを、サービス要求を満たすようにバインドすることができ、ブロック460で、サービス要求を新しくバインドされたサービス・インスタンスに転送することができる。
本発明によれば、サービス・グリッドは、Webサービスやeユーティリティーズなどのコンピューティング・サービスを自動的に編成しルーティングし回復し切り替えることができる。特に、サービス・グリッドは、共通サービス・エントリ・ポイントを通して同等な一群のサービスを表すように設定することができる。続いて、そのサービス・グリッドは、入ってくるサービス要求の1つ1つを取り扱うために、サービス・インスタンスを自動的にバインドすることができる。さらに、そのサービス・グリッドは、例外またはパフォーマンス不全が検出された状況で、代わりとなる同等なサービス・インスタンスへのフェイル・オーバー処理を実行することができる。
ダイナミックなeビジネスでは、Webサービスやeユーティリティーズなど、出来合いで(ready-made)、すぐに使えて(off-the-shelf)、アトミックな、しかし異種の、多くのコンピューティング・サービスをリアル・タイムで共用し統合することが必要となる。従来のシステムでは、サービスを手作業でバインドすることが必要であり、サービス要求をコンピューティング・サービスに原始的なやり方でしかルーティングできなかった。本発明では、QoS条件および既存のSLAの条件の命じる最小のパフォーマンスおよび信頼性のレベルが保証されるように、従来のシステムの欠点が、条件プログラミング論理に従ってサービスを自動的にバインドおよびルーティングすることによって克服される。
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現可能である。本発明の方法およびシステムの実装は、1つのコンピュータ・システムにおいて集中方式で、または、いくつかの相互接続されたコンピュータ・システムにわたって異なる要素が広がる分散方式で実現可能である。どのような種類のコンピュータ・システム、または本明細書に記載された方法を実施するように適合された他の機器も、本明細書に記載された機能を実行するのに適している。
ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ実行されると、本明細書に記載された方法を実行するようにコンピュータ・システムを制御する、コンピュータ・プログラムを有する汎用コンピュータ・システムとすることができる。本発明は、また、コンピュータ・プログラム製品に組み込むことができ、これは本明細書に記載された方法の実装を可能とするすべての特徴を含み、コンピュータ・システムにロードされると、これらの方法を実行することが可能である。
この文脈におけるコンピュータ・プログラムまたはアプリケーションとは、直接に、あるいは以下の一方または両方の後で、情報処理機能を有するシステムに特定の機能を実行させるための1組の命令の、任意の言語、コードまたは記法による任意の表現を意味する:a)他の言語、コードまたは記法への変換、b)異なる素材形式による複製。本発明が、その本質的属性を逸脱することなく、他の特定の形式に組み込むことが可能であることは、非常に重要であり、したがって、本発明の範囲を知るには、上記の明細書よりもむしろ、以下の特許請求の範囲を参照されたい。
サービス・グリッドの構成図である。 図1のサービス・グリッドにおける、サービス・インスタンスをバインドするプロセスを示すタイミング図である。 図1のサービス・グリッドにおける、同等なサービス・インスタンスをサービス要求に対応付けるプロセスを示す流れ図である。 図1のサービス・グリッドにおける、サービス・インスタンスのフェイル・オーバーを実行するフェイル・ソフト・プロセスを示す流れ図である。

Claims (10)

  1. 共通のサービス・インターフェースに適合する複数のサービス・インスタンスと結合されるサービス・デスクと、
    サービス・グリッド内に配置され、1つ1つのサービス要求を前記サービス・インスタンスの1つ1つにルーティングする、ルーティング・コンポーネントと
    を含む、コンピューティング・サービス・グリッド。
  2. サービス・インスタンス監視コンポーネントと、
    前記サービス・インスタンス監視コンポーネントが前記選択されたサービス・インスタンスにおけるフェイル・オーバー状態を検出した場合に、選択されたサービス・インスタンスからのサービス要求をそれ以外の前記サービス・インスタンスにルーティングし直すように構成される、フェイル・オーバー論理と
    をさらに含む、請求項1に記載のコンピューティング・サービス・グリッド。
  3. 前記フェイル・オーバー状態がエラー状態および保証されたパフォーマンスのレベルに追いつけないパフォーマンス不全状態の1つを含む、請求項2に記載のコンピューティング・サービス・グリッド。
  4. サービス要求を受け取るのに応答して前記サービス・インスタンスの1つ1つをインスタンス化するように構成されるサービス・インスタンス・ファクトリをさらに含む、請求項1または請求項2に記載のコンピューティング・サービス・グリッド。
  5. 前記サービス・デスクが選択サービスを用いて、前記サービス・インスタンスの1つ1つを見つけ出しバインドしてサービス要求に応答するためのグリッド・サービス・インターフェースをさらに含む、請求項1ないし4のいずれかに記載のコンピューティング・サービス・グリッド。
  6. 請求項1ないし5のいずれかに記載のサービス・グリッドにおいて、
    サービス要求およびサービス品質(QoS、quality of service)特性の指定を受け取るステップと、
    前記QoS特性の指定と両立するレベルで前記サービス要求を処理できる同等ないくつかのサービス・インスタンスのうちの特定の1つを選択するステップと、
    前記サービス要求を処理するために前記選択されたサービス・インスタンスをバインドするステップと
    を含む、サービス要求処理方法。
  7. 前記バインドされたサービスのパフォーマンスを監視するステップと、
    前記パフォーマンスにおけるフェイル・オーバー状態を検出するステップと、
    フェイル・オーバー状態が検出された場合に、前記QoS特性の指定と両立する前記レベルで前記サービス要求を処理できる前記同等ないくつかのサービス・インスタンスのうちの代わりとなる1つを選択し、前記サービス要求を処理するために前記代わりとなるサービス・インスタンスをバインドするステップと
    を含む、請求項6に記載の方法。
  8. 前記検出するステップが、前記選択されたサービスにおける例外を検出するステップを含む、請求項7に記載の方法。
  9. 前記検出するステップが、前記選択されたサービスにおける前記QoS特性の指定が達成できていないパフォーマンスのレベルを検出するステップを含む、請求項7に記載の方法。
  10. 請求項1ないし5のいずれかに記載のサービス・グリッドにおいて、サービス要求を処理するためのコンピュータ・プログラムを記憶した機械可読ストレージであって、前記コンピュータ・プログラムが、
    サービス要求およびサービス品質(QoS)特性の指定を受け取るステップと、
    QoS特性の指定と両立するレベルでサービス要求を処理できる、同等ないくつかのサービス・インスタンスのうちの特定の1つを選択するステップと、
    前記サービス要求を処理するために前記選択されたサービス・インスタンスをバインドするステップとを機械に実行させる、定型化された(routine)1組の命令を含む、機械可読ストレージ。
JP2004513952A 2002-06-12 2003-06-09 コンピューティング・サービス・グリッド Pending JP2005535949A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/170,300 US7647523B2 (en) 2002-06-12 2002-06-12 Dynamic binding and fail-over of comparable web service instances in a services grid
PCT/GB2003/002489 WO2003107203A2 (en) 2002-06-12 2003-06-09 A computing services grid

Publications (1)

Publication Number Publication Date
JP2005535949A true JP2005535949A (ja) 2005-11-24

Family

ID=29732461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004513952A Pending JP2005535949A (ja) 2002-06-12 2003-06-09 コンピューティング・サービス・グリッド

Country Status (10)

Country Link
US (1) US7647523B2 (ja)
EP (1) EP1512265B1 (ja)
JP (1) JP2005535949A (ja)
KR (1) KR100734818B1 (ja)
CN (1) CN1656776A (ja)
AU (1) AU2003240078A1 (ja)
CA (1) CA2486434C (ja)
IL (1) IL165545A0 (ja)
TW (1) TWI224899B (ja)
WO (1) WO2003107203A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193806A (ja) * 2006-01-19 2007-08-02 Internatl Business Mach Corp <Ibm> マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム
JP2008502967A (ja) * 2004-06-17 2008-01-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 計算グリッド内でアプリケーション環境を動的に構築するためのシステムおよび方法
JP2011505613A (ja) * 2007-11-07 2011-02-24 ザ・ボーイング・カンパニー 複数のミドルウェア環境全体のメッセージフローのサービス品質(qos)管理
JP2011100448A (ja) * 2009-11-04 2011-05-19 Internatl Business Mach Corp <Ibm> マルチ・イベント処理環境においてサービス品質を提供するシステム、方法、及びコンピュータ・プログラム
JP2014506367A (ja) * 2011-01-10 2014-03-13 ストローン リミテッド 大規模記憶システム
JP2016504696A (ja) * 2013-01-29 2016-02-12 エスティージー インタラクティブ エス.エー.Stg Interactive S.A. 分散コンピューティングアーキテクチャ

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185046B2 (en) * 2002-08-28 2007-02-27 Sun Microsystems, Inc. Submitting jobs in a distributed computing environment
US7322031B2 (en) * 2002-10-07 2008-01-22 International Business Machines Corporation Remote Web service cloning and instantiation
US20040103185A1 (en) * 2002-11-21 2004-05-27 Combs Nathan Hideaki Adaptive self-repair and configuration in distributed systems
US20040123232A1 (en) * 2002-12-18 2004-06-24 Hodges Donna K. System and method for providing a service-oriented container
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
GB0306971D0 (en) * 2003-03-26 2003-04-30 British Telecomm Client server model
US7287179B2 (en) * 2003-05-15 2007-10-23 International Business Machines Corporation Autonomic failover of grid-based services
US7562254B2 (en) * 2003-07-01 2009-07-14 International Business Machines Corporation Checkpointing and restarting long running web services
US7584454B1 (en) * 2003-09-10 2009-09-01 Nextaxiom Technology, Inc. Semantic-based transactional support and recovery for nested composite software services
US7581205B1 (en) 2003-09-30 2009-08-25 Nextaxiom Technology, Inc. System and method of implementing a customizable software platform
US20050091174A1 (en) * 2003-10-22 2005-04-28 International Business Machines Corporation Searching for services in a UDDI registry
US8225282B1 (en) 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
TWI370979B (en) * 2004-05-14 2012-08-21 Ibm Grid computing system, information processing unit, job execution request generation unit, control method, program, and recording medium
US7340654B2 (en) 2004-06-17 2008-03-04 Platform Computing Corporation Autonomic monitoring in a grid environment
US7711812B2 (en) * 2004-06-18 2010-05-04 International Business Machines Corporation Definition system and method for web services that monitor other web services
US7475403B2 (en) * 2004-10-28 2009-01-06 International Business Machines Corporation Method for optimizing Web services binding
US8214461B1 (en) * 2004-11-23 2012-07-03 Hewlett-Packard Development Company, L.P. Method of processing request by server computer system
US7987225B2 (en) * 2004-12-22 2011-07-26 International Business Machines Corporation Method for remembering resource allocation in grids
US8676974B2 (en) * 2005-09-29 2014-03-18 International Business Machines Corporation Quality of service (QoS) based planning in web services aggregation
CN100438436C (zh) * 2005-12-14 2008-11-26 中国科学院计算技术研究所 面向网格计算机体系结构的外设部件系统及方法
CN100373883C (zh) * 2005-12-26 2008-03-05 北京航空航天大学 网格服务组的建立方法及网格服务的发现方法
CN100448231C (zh) * 2006-04-25 2008-12-31 阿德利亚科技(北京)有限责任公司 一种无线网状网中的服务质量保证方法
US7970856B2 (en) * 2006-06-02 2011-06-28 International Business Machines Corporation System and method for managing and distributing assets over a network
US9071506B2 (en) * 2006-07-31 2015-06-30 Hewlett-Packard Development Company, L.P. Accessing web services using network management information
US9178785B1 (en) 2008-01-24 2015-11-03 NextAxiom Technology, Inc Accounting for usage and usage-based pricing of runtime engine
CN101237457B (zh) * 2008-03-14 2010-09-29 华为技术有限公司 一种服务发现方法、系统及设备
US8621476B2 (en) * 2008-12-15 2013-12-31 Korea Advanced Institute Of Science And Technology Method and apparatus for resource management in grid computing systems
KR101125038B1 (ko) 2008-12-15 2012-04-13 한국과학기술원 그리드 컴퓨팅 미들웨어 시스템의 그리드 자원 관리 방법 및 장치
US8112659B2 (en) * 2009-06-19 2012-02-07 Oracle International Corporation Reducing recovery time for business organizations in case of disasters
WO2012069067A1 (de) 2010-11-26 2012-05-31 Vakzine Projekt Management Gmbh Verfahren zur herstellung eines immunotherapeutikums
CN102203730B (zh) 2011-05-20 2013-10-02 华为技术有限公司 开放应用程序编程接口选择方法及设备
US10334013B2 (en) * 2015-11-24 2019-06-25 International Business Machines Corporation Avoiding web request failures before they occur by component analysis
US10171493B2 (en) 2016-03-05 2019-01-01 Sears Brands, L.L.C. Method and system to dynamically obfuscate a web services interface
US11070646B1 (en) * 2020-01-21 2021-07-20 International Business Machines Corporation Methods and systems for selection of remote services
US11665087B2 (en) * 2021-09-15 2023-05-30 International Business Machines Corporation Transparent service-aware multi-path networking with a feature of multiplexing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US27484A (en) * 1860-03-13 Cigar-heading socket
JP3291931B2 (ja) 1994-08-31 2002-06-17 日本電信電話株式会社 サービス障害復旧方法
US5996001A (en) * 1994-09-27 1999-11-30 Quarles; Philip High availability on-line transaction processing system
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
GB2349715B (en) 1999-05-05 2003-10-01 Mitel Corp Quotation mechanism for service environments
US6516350B1 (en) * 1999-06-17 2003-02-04 International Business Machines Corporation Self-regulated resource management of distributed computer resources
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
WO2001027717A2 (en) 1999-10-11 2001-04-19 I2 Technologies, Inc. Distributed session services
JP3617406B2 (ja) 2000-03-30 2005-02-02 日本電気株式会社 マルチドメインに対応した品質保証型通信サービス提供方式およびサービス提供方法並びにサービス仲介装置
US6675217B1 (en) * 2000-07-06 2004-01-06 Microsoft Corporation Recovery of cluster consistency following failover
US20020069279A1 (en) 2000-12-29 2002-06-06 Romero Francisco J. Apparatus and method for routing a transaction based on a requested level of service
US7146432B2 (en) * 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
US8782254B2 (en) * 2001-06-28 2014-07-15 Oracle America, Inc. Differentiated quality of service context assignment and propagation
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US8275889B2 (en) * 2002-06-10 2012-09-25 International Business Machines Corporation Clone-managed session affinity
US7010596B2 (en) * 2002-06-28 2006-03-07 International Business Machines Corporation System and method for the allocation of grid computing to network workstations

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502967A (ja) * 2004-06-17 2008-01-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 計算グリッド内でアプリケーション環境を動的に構築するためのシステムおよび方法
JP2007193806A (ja) * 2006-01-19 2007-08-02 Internatl Business Mach Corp <Ibm> マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム
JP2011505613A (ja) * 2007-11-07 2011-02-24 ザ・ボーイング・カンパニー 複数のミドルウェア環境全体のメッセージフローのサービス品質(qos)管理
JP2011100448A (ja) * 2009-11-04 2011-05-19 Internatl Business Mach Corp <Ibm> マルチ・イベント処理環境においてサービス品質を提供するシステム、方法、及びコンピュータ・プログラム
US9047144B2 (en) 2009-11-04 2015-06-02 International Business Machines Corporation System and method for providing Quality-of-Services in a multi-event processing environment
JP2014506367A (ja) * 2011-01-10 2014-03-13 ストローン リミテッド 大規模記憶システム
JP2016504696A (ja) * 2013-01-29 2016-02-12 エスティージー インタラクティブ エス.エー.Stg Interactive S.A. 分散コンピューティングアーキテクチャ

Also Published As

Publication number Publication date
KR20050016546A (ko) 2005-02-21
TW200412736A (en) 2004-07-16
KR100734818B1 (ko) 2007-07-06
WO2003107203A3 (en) 2004-04-15
CA2486434A1 (en) 2003-12-24
EP1512265A2 (en) 2005-03-09
US7647523B2 (en) 2010-01-12
IL165545A0 (en) 2006-01-15
CN1656776A (zh) 2005-08-17
TWI224899B (en) 2004-12-01
CA2486434C (en) 2011-06-28
AU2003240078A1 (en) 2003-12-31
WO2003107203A2 (en) 2003-12-24
EP1512265B1 (en) 2012-09-19
US20030233602A1 (en) 2003-12-18

Similar Documents

Publication Publication Date Title
JP2005535949A (ja) コンピューティング・サービス・グリッド
US8424026B1 (en) Execution of applications distributed across a plurality of computing devices
US7912957B2 (en) Autonomic service routing using observed resource requirement for self-optimization
US7322031B2 (en) Remote Web service cloning and instantiation
US7287179B2 (en) Autonomic failover of grid-based services
US7475145B2 (en) Dynamic invocation of web services
US8307380B2 (en) Proxy object creation and use
US7624404B2 (en) Communication method selection for exchanging information between service requester and service provider
JPH11312153A (ja) オブジェクト・サ―バ間の作業負荷管理方法および装置
US20090327460A1 (en) Application Request Routing and Load Balancing
JP2003208365A (ja) 適応ディスパッチャを有する仮想ネットワーク
US7418709B2 (en) URL namespace to support multiple-protocol processing within worker processes
Erradi et al. A broker-based approach for improving Web services reliability
US8930935B2 (en) Composite service refactoring
US20070209042A1 (en) Grid computing architecture &amp; associated method of invoking/registering network services for subscription
Friese et al. Self-healing execution of business processes based on a peer-to-peer service architecture
Putrycz et al. Using aspect oriented programming to build a portable load balancing service
US7885995B2 (en) Processing service requests in a distributed environment
CN115516842A (zh) 编排代理服务
US7698362B2 (en) Web service connecting apparatus and web service connecting method
Sengupta Smartware–a Management Infrastructure for Web Services

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080729