JP4461262B2 - コンピュータ障害発生時に複数のコンピュータの配列を操作する方法 - Google Patents

コンピュータ障害発生時に複数のコンピュータの配列を操作する方法 Download PDF

Info

Publication number
JP4461262B2
JP4461262B2 JP2006549844A JP2006549844A JP4461262B2 JP 4461262 B2 JP4461262 B2 JP 4461262B2 JP 2006549844 A JP2006549844 A JP 2006549844A JP 2006549844 A JP2006549844 A JP 2006549844A JP 4461262 B2 JP4461262 B2 JP 4461262B2
Authority
JP
Japan
Prior art keywords
computer
computers
transfer
software
monitoring
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.)
Expired - Fee Related
Application number
JP2006549844A
Other languages
English (en)
Other versions
JP2007520003A (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 JP2007520003A publication Critical patent/JP2007520003A/ja
Application granted granted Critical
Publication of JP4461262B2 publication Critical patent/JP4461262B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/143Reconfiguring to eliminate the error with loss of software functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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
    • 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/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

本発明は、ソフトウェアユニットを実行するようセットアップされた、複数のコンピュータの配列を操作する方法と、コンピュータ群を監視しコンピュータ間を仲介するための付加的な監視用コンピュータの準備と、かつ、定期的に監視されるコンピュータの状態、に関する。
この型式のコンピュータ配列は既知のものであり、とりわけ、サーバファームの用語の下に知られる。サーバファームは、通常、以下にコンピュータとして参照し、その上において、同一の又は異なる、サービス又はアプリケーションの稼働する、同一の多数のサーバを包含する。すべてのサーバは、サービス及びアプリケーションを独立で実行するため、一つのサーバにおける処理の失敗は、サーバファームの残りの部分に直接の影響を及ぼさない。ユーザからの照会は、定義済のルールに則り、サーバファームすべてに分配される。これは、監視用コンピュータのタスクである。重み付けを実装する機構は、それぞれの処理容量に応じた個々のサーバの利用を確実なものにする。
一つのサーバの障害は、それによってサービスとアプリケーションはほとんど影響を受けないので、比較的問題とされないものである。
コンピュータの個々は比較的小さく安価な装置であるため、コスト的な見地より、コンピュータの障害発生後、影響を受けるソフトウェアユニット、すなわち、サービス群及びアプリケーション群を、例えば、正常なオペレーションを復旧する目的で、移転させるような、一又はそれ以上の待機系コンピュータを用意することは問題にはならない。
しかしながら、サーバファームは、しばしば何百ものコンピュータを包含することがある。このような、いわゆるブレードサーバの場合、コンピュータがプラグインカードの形で収容及び接続されているため、外部の複雑な配線の必要はない。しかしながら、このような設計についての問題は、例えば、電力供給ユニットの故障時、複数のコンピュータに影響を及ぼし、従って、複数のコンピュータが同時に障害を起こすことである。経済的な理由によって、すべての場合において、障害のために実際に必要とされるのと同数の待機系コンピュータを備えることは不可能である。従って、すべての場合に、コンピュータ配列の完全な操作を確実なものとすることはできない。
ソフトウェアユニットがコンピュータの障害に起因して障害を起こした場合、ソフトウェアユニットを待機系コンピュータに移転させる、すなわち、そこでソフトウェアユニットを再起動させる、ことが既知のものとして実践されている。もし、複数台のコンピュータが障害を起こせば、それに従い、複数のソフトウェアユニットが影響を受ける。その後、ソフトウェアユニットを再起動が可能なように、それぞれのソフトウェアユニットに対し、待機系コンピュータ又は待機系コンピュータ内の十分大きな自由領域を発見する試みが為される。これは、競合した状態を導く、すなわち、冗長性操作を危険にさらす。
上記現状に基づいて、本発明の課題は、コンピュータ配列において実行されるソフトウェアユニットの選択可能な中から最良の可用性を確保する、複数のコンピュータの配列の操作方法を特定することである。このような場合、個々のコンピュータ障害と複数台のコンピュータ障害の双方への考慮し、意図して行なうべきである。
この課題は、ソフトウェアユニットがその重要度に応じて重みを割り当てられ、コンピュータの障害時には以下の段階的な方法が実行される、ことを特徴とする最初に記載した型式の方法により解決される。
監視時点において障害の発生したすべてのコンピュータと、それにより影響を受けたすべてのソフトウェアユニットに関する情報を収集する。
障害により影響を受けたソフトウェアユニットを他のコンピュータに転送する転送シナリオが、ソフトウェアユニットの重みを利用して決定される。
本発明に従った方法により、ある状況の下で、十分な自由領域を有するコンピュータがすべてのソフトウェアユニットを見つけることができない、ことが導かれる。どのソフトウェアユニットがどのコンピュータに対して転送されたのか、特定する移行シナリオが、検索される。その重要度に応じたソフトウェアユニットの重みは、全体を考慮した際、最適解を構成するような移転シナリオが決定される、という利点をもたらし、そのため、重要度の低いソフトウェアユニットは再起動されないので、より重要なソフトウェアユニットを他のコンピュータに転送することが望ましい。
本発明の方法の決定的な利点は、他のコンピュータへのソフトウェアユニットの転送が、個別のソフトウェアユニットに関して決定されるのではなく、むしろ、全体の操作をなるべく小さく分割するために、そのソフトウェアユニットを有するサーバファームが全体として考慮されることである。また、個別のコンピュータ障害を考慮に入れることができるだけでなく、むしろ、同時に障害の発生した複数台のコンピュータと、それに伴って障害を発生したソフトウェアユニットが同時に決定された移転シナリオに含まれている、ということも利点である。
本発明による方法の一つの有益な改良は、選択可能な複数の移転シナリオが第一に決定され、その後、これらのシナリオが、ソフトウェアユニットの重みを利用して査定される、ことである。全体的なシナリオの評価は、どちらが全体的に最適化されたシナリオであるか見分けるのに利用することが可能である。
本発明の一つの発展形においては、移転シナリオを決定するプロセスが、障害の発生したコンピュータからソフトウェアユニットを転送するための自由容量を生成するために、能動的なソフトウェアユニットが、他のコンピュータ中で終了されている、という事実を含む。この場合、より重要度が高く、障害の起こった一つのコンピュータ内ではかつて能動的であった、ソフトウェアユニットを転送するための容量を生成するために、重要度の低い能動的なソフトウェアユニットは終了される、という利点がある。
望ましい一つの改良は、重みが、複数の属性、第一の属性は”強制終了ライセンス”で、利用可能容量を生成するために、他の能動的なソフトウェアユニットを終了させる権限の割合を特定するものであり、第二の属性は”終了期限”で、障害が発生したコンピュータから転送されるように、他のソフトウェアパッケージによる終了要求に対する抵抗の割合を特定するもの、を利用して、効果の発生をされることである。第一の属性は、どちらの障害発生したソフトウェアユニットが、待機系コンピュータに転送される、つまり、そこでリスタートされる、のが望ましいか、決定するのに利用される。第二の属性は、現在障害の発生しているコンピュータ上でかつて能動的であった、ソフトウェアパッケージを転送する領域を生成するために、どの能動的なソフトウェアパッケージが終了したか、を発見するために用いられる。
この場合、障害発生したソフトウェアユニット移転する際、コンピュータ配列の挙動が、属性を適正に割り当てた管理者により管理される、ことが好ましい。
本願の範囲内で、ソフトウェアユニットは、サービス、アプリケーション、又は、オペレーションシステム及びサービス及び/又はアプリケーションからのパッケージ、であることを想定している。最後に記載し、“イメージ“として参照するパッケージは、とりわけ、ブレードサーバを有する大規模なサーバファーム中で利用される。サーバファーム内でサーバを起動する際、中央メモリからイメージが搭載され、サーバ中で実行される。同一のアプリケーションを利用して開始するように二次サーバが構成されるような場合、イメージの写しは、単に二次サーバ中に搭載され、そこで実行される。このようにして、環境設定の複雑性は最低限なものとされる。
本発明の更に有益な改良は、従属的な請求項にて特定される。
本発明を、典型的な実施例を用いて、より詳細に以下説明する。
図1は、複数台のコンピュータ1,2,3,4と監視用コンピュータ5を有する配列を、図解したものである。コンピュータ1,2,3及び4は、データの相互交換用に設定される接続は持たない。しかしながら、それらは配線6によって監視用コンピュータ5に接続されている。所定の動作を行うよう実装され、配線6を利用するこれらの接続は、コンピュータ1,2,3及び4を監視し、必要があれば、これらのコンピュータの順番列を仲介するために用いられる。
図示した例において、オペレーションシステムOS1とアプリケーションA1は、コンピュータ1内で能動的である。能動的とは、オペレーションシステムとアプリケーションが、通常の操作状態にあることを意味する。オペレーションシステムOS2とアプリケーションA2は、コンピュータ2において、能動的である。加えて、二つのサービスD1とD2が、コンピュータ2上で動作中である。三つのサービスD3,D4,D5だけでなく、オペレーションシステムOS3と二つのアプリケーションA3とA4もまた、コンピュータ3中で能動的となっている。コンピュータ4は、操作状態に示すように、オペレーションシステム、アプリケーション、サービスのいずれも能動的ではない、待機系コンピュータである。
監視用コンピュータ5は、それらが通常の操作状態であるか、それとも障害の状態が存在するか、を決定するために(図2参照)、規則的な時間間隔Tで、コンピュータ1,2,3の状態を監視する。コンピュータ4は、監視用コンピュータ5が待機系コンピュータとしてその状態を検知可能であるため、監視する必要がない。監視は、監視用コンピュータ5が、コンピュータ1,2,3及び4に照会し、その後、反応が送り返されるかどうかを確認するため待機する、方法で環境設定されることを想定する。しかしながら、操作状態の自動監視を行い、もし通常操作状態からの逸脱があれば、障害メッセージを監視用コンピュータ5に伝達する検出器は、コンピュータ1,2,3及び4に備えることも想定される。両者の監視型式は、組み合わせる、すなわち、コンピュータ1,2,3及び4は障害レポートを自動的に伝達するが、同時に、監視用コンピュータ5からの参照に応答する、ことも想定される。
本発明の記載が、”コンピュータ”による要求又はレポートの、受領又は伝達を参照するならば、これは、能動的なオペレーションシステム、アプリケーション又はサービスそれぞれによる、ソフトウェアを用いた情報処理と、ハードウェアを用いた情報処理の両方を包含する。
コンピュータ1,2及び3は、異種のオペレーションシステムを用いた操作をすることも想定される。監視用コンピュータ5がすべてのコンピュータ1,2,3及び4と通信できるように、配線6によるメッセージ又は命令伝達は、同じ標準に従って機能させることは、確実にされなければならない。
ここで記載する実施形態においては、コンピュータ1,2及び3は、図4に図示されるように、規則的な時間間隔Tで確認される(ステップ11)。ステップ12において障害が確立されない場合には、処理は、新規の確認が実行される時点まで待機する。障害が検出された場合、影響を受けたソフトウェアユニットに関する情報が収集される(ステップ14)。シナリオ例では、コンピュータ1及び3が、障害を発生したと仮定している。この障害は、監視用コンピュータ5によって検出される。ステップ14において、その後、障害により影響を受けている、ソフトウェアユニットに関する情報が、収集される。この場合、サービスD3,D4及びD5だけでなく、アプリケーションA1,A3及びA4もまた障害による影響を受ける、ことが確立される。加えて、利用可能容量は、その後に又は並列に実施されるステップ15において決定される。当該の場合においては、コンピュータ4は、待機系コンピュータとして利用可能である。後者における利用可能容量が十分でない場合には、転送されるアプリケーションA1,A3及びA4とサービスD3,D4及びD5の重要性と比較して、コンピュータ2内で能動的なアプリケーションA2とサービスD1及びD2の重要度を確認する必要がある。
転送されるべきソフトウェアユニットと利用可能容量が決定された後、障害により影響を受けたソフトウェアユニットを他のコンピュータに転送するための選択可能なシナリオが実行される(ステップ16)。全体的に最適化されたシナリオは、多様に選択可能なシナリオの中から選択されるべきである。この場合、全体的に最適化とは、障害を起こしているソフトウェアユニットの他のコンピュータへの転送における利害が考慮されることと、いまだ能動的な状態にあるソフトウェアユニットの操作をできる限り完全に保持すること、の両方を意味する。
主に、二つの状況が生じる。第一の状況は、障害が発生したすべてのソフトウェアユニットを転送できるよう、十分な自由容量が、利用可能であることである。別の状況は、待機系コンピュータの数よりも障害の発生したコンピュータの数が多い場合である。故に、転送シナリオを決定する副次的方法において、障害を発生したどのソフトウェアユニットが待機系コンピュータに転送されるか決定することが、第一に必要となる。保持される障害の発生したソフトウェアユニットの重要度の調査が行われ、それらが別のコンピュータに転送されるか否かが決定され、ソフトウェアユニットとはこのコンピュータで現在動作中であり強制終了されるべきものである。障害の発生したすべてのソフトウェアユニットに対する、新しいコンピュータが見つけられない場合においては、障害の発生したソフトウェアユニットのうち最も重要度の低いソフトウェアユニットが決定され、転送シナリオを決定するプロセス全体が最初から開始される。
選択可能な転送シナリオを生成する際、ソフトウェアユニットがアプリケーション又はサービスを意味するものとして解されているかどうか、又は、ソフトウェアユニットがイメージと一致しているかどうか、を考慮することも必要になる。第一の場合については、アプリケーション又はサービスを、他のアプリケーション又はサービスがその内部で既に能動的であり、適切なオペレーションシステムを利用しているコンピュータに転送可能である。第二の場合においては、イメージがオペレーションシステムを有し、一台のコンピュータに対しては唯一のイメージのみ存在可能であるので、完全に自由なコンピュータが利用可能である。
アプリケーションとサービスを転送する一つの選択可能なシナリオは、図2中に示された表において図解される。二つの属性、”強制終了ライセンス”(L2K)と”終了期限”(SL)は、アプリケーションA1..A4とサービスD1..D5に対して割り当てられる。第一の属性L2Kは、自由容量を生成するために、監視用コンピュータ5により他の能動的なソフトウェアユニットを終了させる権限の割合である。第二の属性SLは、障害の発生したコンピュータから転送するために、他のソフトウェアパッケージによる終了要求に抵抗する割合である。したがって、アプリケーションが終了され、他のアプリケーションを転送するための十分な容量を備えたかどうかの事実は、転送されるアプリケーションの属性”終了ライセンス”と、いまだ動作中であるが終了される予定のアプリケーションの属性”終了期限”に依存している。同様のことが、サービスの場合にも当てはまる。記載した属性は、既に触れたサービスにも同様に割り当てられる。
図1に記載したシナリオに戻り、コンピュータ1及び3が障害を発生し、コンピュータ4は待機系コンピュータとして利用可能で、アプリケーションA2と二つのサービスD1及びD2はコンピュータ2において既に能動的であることに従い、図2における表に示された最適なシナリオを得る。表中に入力される値は、1が最低値であり5が最高値であるとして、解される。値が高ければ高いほど、各アプリケーション又は各サービスの重要度は高くなる。このシナリオ例によると、アプリケーションA4とA1は、待機系コンピュータ4中で再起動され、すなわち後者によって為されると推量される。アプリケーションA3に対する十分な自由容量は、もはやコンピュータ4には存在しない。しかしながら、属性L2Kは、アプリケーションA2の属性SLの値よりも大きな値4を持つ。これらの値を比較することにより、アプリケーションA3がコンピュータ2中で再起動できるよう、アプリケーションA2が終了されるべきことが導かれる。
サービスD1及びD2は、コンピュータ2上で動作を継続することができる。コンピュータ3中のサービスD3は、コンピュータ2中で再起動される。サービスD4及びD5は、もはやコンピュータ2及び4中にいかなる容量も持たない。それらは、属性”強制終了ライセンス”に関して非常に小さな値を有し、サービスD4及びD5に対する自由容量を生成するために、どのサービス又はアプリケーションも終了されないという結果を伴う。従って、これらのサービスは、他のコンピュータに転送することができない。
図3において、各アプリケーション又は各サービスに対する転送は考慮されず、むしろ、転送の場合について、イメージ全体のみを転送することができる。イメージI1は、障害発生前にコンピュータ1中で能動的であったと同様の、オペレーションシステムOS1とアプリケーションA1を包含する。イメージI2は、コンピュータ2上で動いているオペレーションシステムOS2、アプリケーションA2、及びサービスD1とD2、を包含する。イメージI3は、障害発生前にコンピュータ3中で能動的であったオペレーションシステムOS3、アプリケーションA3及びA4とサービスD4及びD5、を包含する。今度は、イメージに属性L2KとSKが割り当てられる。
図3に図示されたシナリオ例によると、イメージI1はコンピュータ4中で再起動され、イメージI2はコンピュータ2中で能動的なままとどまり、イメージI3に対しては自由なコンピュータは発見することができない。イメージI2は、コンピュータ2中でイメージI3を再起動するために、終了することが可能であるが、イメージI2の”終了期限”属性の値よりも、値2を有するイメージI3の”強制終了ライセンス”属性は小さい。従って、イメージI3は、自由容量を生成するために、イメージI2を終了させる権限を有しない。
従って、ステップ17において、シナリオは、選択可能なシナリオを伴って、すべての能動的なアプリケーションと、障害により影響を受けたすべてのソフトウェアユニットの属性を連結することにより査定される。ステップ18において、記載した状況における属性を利用した重みに基づき、最適なシナリオが選択される。ステップ19において、最適に決定された転送シナリオが実施され、ソフトウェアユニットは終了され、新たに決定されたコンピュータ中で障害を受けたソフトウェアユニットは再起動され、結果、転送の効果を奏する。この安定状態に達した後、コンピュータの状態を確認しながら、本方法が最初から開始される。
シナリオを生成するための境界条件が、定義済の規則を補完する。転送シナリオを形成する役割を果たす規則を、以下に記載する。
イメージは、一つのサーバ上のみでしか同時に動作せず、サーバは、唯一のイメージのみしか同時に受信しない。
遊休状態、又は消灯状態の、いずれかの待機系コンピュータは、障害を発生したソフトウェアユニットを転送することに、第一に利用される。
待機系コンピュータが十分に利用できない場合、それらの属性値に依存したイメージを受信するため、能動的なコンピュータが停止される。それに従い、障害の発生したサービス又はアプリケーションを転送するために、アプリケーション又はサービスも終了される。
転送シナリオを決定するための副次的方法は、選択された転送シナリオが、能動的なコンピュータに対し最小限の影響しか与えないように、同時に、選択された転送シナリオは、できるだけ多くの障害を受けたソフトウェアユニットを転送可能であるという条件を満たすような、方法で操作を行う。
すべての重要なソフトウェアユニットは、先ず第一に、記載の規則及び同様に記載した属性に従って、他のコンピュータに転送される。もし、要求をすべて満たす転送シナリオが選択できないのであれば、障害の発生したソフトウェアユニットは、転送シナリオの決定から除外される。
一つのソフトウェアユニットに対して、唯一の転送だけが存在する。終了されるソフトウェアユニットは、それらから他の能動的なソフトウェアユニットを終了させることはできない。それらは、しばしば転送の犠牲となるため、低位の優先権を有するコンピュータにはドミノ効果は存在しない。
転送シナリオが、引き続き計算可能であるように、定義時点でのコンピュータ状態の考慮が為される。これは、定義済の時間間隔によって繰り返し行われる。すべてのコンピュータ障害は、障害発生したコンピュータの数がある特定の時点で固定され、転送シナリオ決定の最中に変化を生じないよう、単一の決定要素中で同時に取り扱われる。もし、転送シナリオの計算中に、更なるコンピュータ障害が起こるのであれば、次の監視時点まで、これらの障害は考慮されることがない。
展開した方法において、高い能力を備えるコンピュータを、そのようなコンピュータに対し十分な重要性を持たないソフトウェアユニットで”浪費する”ことを避けるために、コンピュータとコンピュータのハードウェアの所有権を、考慮に入れることが可能である。コンピュータの所有権を考慮することは、サーバファームで操作される自身のサーバを所有することが、サーバファームにおいては消費者に対しての慣習であるため、重要である。これは必然的に、そのようなコンピュータが、異種のソフトウェアユニットを転送するためのコンピュータとして利用できないというだけでなく、むしろ、単にこの消費者によって利用され得るのみである、という結果に終わる。
コンピュータの所有権は、第三の属性”サーバグループ”を利用して考慮される。転送シナリオは、同一の”サーバグループ”に属するコンピュータを利用して、唯一に決定される。コンピュータのハードウェアの型式は、”サーバクラス”属性を利用して、考慮される。障害の発生したコンピュータが、転送で考慮されるコンピュータのハードウェアに一致すればするだけ、このコンピュータの親和性は大きくなる。”適切な”とは、以下に説明する通り、整数と文字列の比較を考慮して、定義される。
一つの実際上の実装においては、属性は、文字列又は整数の形で蓄えられる。個別の属性を比較した場合、演算子’<,<=,>,>=,==,/=’が用いられる。文字列に対しては、演算子’==’のみが許容される。これらの設定を基に、コンピュータとソフトウェアユニットのすべてが、上記に特定された演算子を利用して比較可能である。それにより、最適な転送シナリオが、決定可能となる。
この方法では、すべてのコンピュータとすべてのソフトウェアユニットが、それらが転送に対する潜在的な宛先であるかどうか決定するために、調査される。これは、勿論、必要な場合のみ、即ち、コンピュータの障害が発生し、他のコンピュータへの転送が可能である場合のみ実行される。
主要なタスクは、動作中のコンピュータ又はソフトウェアユニット内で見られる、停止している正しいコンピュータ又はソフトウェアユニットを発見することである。このシナリオの決定は、冗長なプロセスであると想定される。何百ものコンピュータSを有する巨大なサーバファームが待機系コンピュータを一切備えていない場合ならば、障害の発生したコンピュータ数が小さな数Fである場合、転送シナリオを決定するときに考慮されるべき変形の数は、以下の式で算出される。
Figure 0004461262
20台のコンピュータを有するサーバラックに対しては、5台のコンピュータが障害を起こしたときの順列の数は、3,000よりも大きい。もし更に20台のコンピュータを有する二次サーバラックが追加されれば、順列の数は50,000通りを超える。
この膨大な数の選択可能な転送シナリオの中から最適な転送シナリオを見つけるために、特別な計算方法を利用する必要がある。各転送シナリオの全体的な影響の考慮を、確実に行うものとする。その効果は、上記記載の属性に依存する。
選択可能な転送シナリオの計算を行う一方、同時に、システム全体への効果が継続的に有益に計算され、予測される。既に調査が行われた転送シナリオよりも、システム全体上に更に小さな影響をもたらすことが可能なシナリオのみが、詳細に決定される。これは、最も影響の小さい解を最初に取り扱うことを確実にするために、一種の順列の並び替えを必要とする。
これは、決定プロセスの高速化に対し、重要な意義をもたらす。決定プロセスは、もし能動的なソフトウェアユニット上でいかなる効果を及ぼす転送シナリオも見つからないのであれば、予め終了される。計算の最中は、いわゆるグリーディ(greedy)アルゴリズムが用いられることが、望ましい。
記載した概念は、できるだけ多くのソフトウェアユニットが転送されるにも関わらず、できる限りコンピュータとソフトウェアユニット(動作している)への影響が少ない、転送シナリオを見つけることができる。
本発明による方法は、仮想サーバにもまた利用可能である。仮想サーバは、あたかも複数の物理サーバであるかのように操作可能な配列と、”論理的な”サーバに細分化された、一又はそれ以上のサーバにより形成される。この目的に用いられるソフトウェアは、例えば、VmWareとして参照される。
本発明の対応する典型的な実施形態では、巨大なLINUXサーバは、VmWareにより多数のWINDOWS(登録商標)エミュレーションを稼働させる。個別のオペレーションシステムは、複数の物理サーバを伴う場合のように、全く同様の方法で監視されており、適当である場合には、他の仮想サーバに転送される。移行操作の前に、先ず最初にコンピュータを再起動するような方法で、システムを環境設定することもまた可能である。これは、とりわけ仮想コンピュータにおいて有益である。もし、VmWareサーバを十分利用できない場合には、”通常の”移動経路を補うか、又は、障害の発生した又は過負荷の仮想サーバを移動するために、重要性のより低いイメージが置換され、VmWareが代わりに起動される。
本発明による方法が適用される、複数台のコンピュータと監視用コンピュータを有する配列を示す図である。 第一の転送シナリオの対応表である。 第二の転送シナリオの対応表である。 本発明による方法の、一つの典型的な実施例のフローチャートである。
符号の説明
1,2,3,4 コンピュータ
5 監視用コンピュータ
6 配線
11..19 方法のステップ
OS1,OS2,OS3 オペレーションシステム
A1,A2,A3,A4 アプリケーション
D1,D2,D3,D4,D5 サービス

Claims (8)

  1. 多様なソフトウェアユニットを実行するよう設定された複数のコンピュータと、前記コンピュータのそれぞれの監視と前記複数のコンピュータ間の仲介を行う、追加された監視用コンピュータ、の配列と、前記コンピュータのそれぞれが定期的に監視される状態、を有するサーバファームの操作方法であって、
    前記ソフトウェアユニットには、その重要度に応じた重みが割り当てられ、
    前記複数のコンピュータのいずれかに障害が発生した際に、監視時点で、前記複数のコンピュータのうちどのコンピュータが故障し、それによりどのソフトウェアユニットが影響を受けたかの情報収集が前記監視用コンピュータにより行われ、
    前記障害により影響を受けたソフトウェアユニットを他のコンピュータに転送する、多様な、即ち、少なくとも二つの、選択可能な転送シナリオが前記監視用コンピュータにより決定され、当該決定された転送シナリオのそれぞれについて、どのコンピュータにどのソフトウェアユニットが転送されたかが前記監視用コンピュータにより表示され、
    前記転送シナリオのそれぞれは、前記ソフトウェアユニットの前記重みを利用して前記監視用コンピュータにより査定され、
    前記転送シナリオのうちのいずれか一つが、前記査定の結果に基づいて前記監視用コンピュータにより選択され、
    前記選択された転送シナリオが前記他のコンピュータにより実行され、
    前記重みには、複数の属性が含まれ、
    第一の属性(強制終了ライセンス)は、前記空き容量を生成するために、他の能動的なソフトウェアユニットを終了させる権限の割合を特定し、
    第二の属性(終了期限)は、障害の発生したコンピュータから転送を行うための他のソフトウェアの同意による終了要求に対する抵抗の大きさを特定する、
    ことを特徴とするサーバファームの操作方法。
  2. 前記障害により影響を受けたソフトウェアユニットは、前記影響を受けたソフトウェアユニットを引き継ぐために十分な空き容量を有する予備のコンピュータが利用可能である場合、当該予備のコンピュータに転送される、
    ことを特徴とする請求項1に記載の方法。
  3. 前記転送シナリオを決定するプロセスには、障害が発生したコンピュータからソフトウェアユニットを転送する空き容量を生成するために、能動的なソフトウェアユニットが終了されることが含まれる、
    ことを特徴とする請求項1に記載の方法。
  4. 前記コンピュータ配列において能動的であり、前記障害により影響を受けたソフトウェアユニットの前記属性が考慮されることにより、全体的に最適化された転送シナリオが前記監視用コンピュータにより決定される、
    ことを特徴とする請求項1乃至のいずれか一項に記載の方法。
  5. 選択可能な転送シナリオの中から最適な転送シナリオが決定される前に、前記選択可能な転送シナリオが、あらかじめ定められた判定基準に従って前記監視用コンピュータにより並び替えられる、
    ことを特徴とする請求項に記載の方法。
  6. 前記選択可能な転送シナリオから最適な転送シナリオを決定するために、グリーディ(greedy)アルゴリズムが利用される、
    ことを特徴とする請求項4又は5に記載の方法。
  7. 前記ソフトウェアユニットが、それぞれオペレーションシステムとアプリケーションを有する、
    ことを特徴とする請求項1乃至6のいずれか一項に記載の方法。
  8. 配列が、請求項1乃至7のいずれか一項に記載の方法を実行するように設定されている、ことを特徴とする、アプリケーションを実行する複数のコンピュータと、前記コンピュータの監視を行う監視用コンピュータの配列。
JP2006549844A 2004-02-02 2004-08-20 コンピュータ障害発生時に複数のコンピュータの配列を操作する方法 Expired - Fee Related JP4461262B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004005128A DE102004005128B3 (de) 2004-02-02 2004-02-02 Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall
PCT/DE2004/001862 WO2005073852A1 (de) 2004-02-02 2004-08-20 Verfahren zum betreiben einer anordnung mehrerer rechner bei einem rechnerausfall

Publications (2)

Publication Number Publication Date
JP2007520003A JP2007520003A (ja) 2007-07-19
JP4461262B2 true JP4461262B2 (ja) 2010-05-12

Family

ID=33495318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006549844A Expired - Fee Related JP4461262B2 (ja) 2004-02-02 2004-08-20 コンピュータ障害発生時に複数のコンピュータの配列を操作する方法

Country Status (6)

Country Link
US (1) US7574620B2 (ja)
EP (1) EP1711892B1 (ja)
JP (1) JP4461262B2 (ja)
AT (1) ATE423352T1 (ja)
DE (1) DE102004005128B3 (ja)
WO (1) WO2005073852A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1814027A4 (en) * 2004-10-18 2009-04-29 Fujitsu Ltd PROGRAM, METHOD AND INSTALLATION FOR OPERATIONAL MANAGEMENT
JP4734259B2 (ja) * 2004-10-18 2011-07-27 富士通株式会社 運用管理プログラム、運用管理方法および運用管理装置
DE602004027424D1 (de) * 2004-10-18 2010-07-08 Fujitsu Ltd Operationsverwaltungsprogramm, operationsverwaltun
JP4831599B2 (ja) 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
US7702966B2 (en) * 2005-09-07 2010-04-20 Intel Corporation Method and apparatus for managing software errors in a computer system
US7802128B2 (en) * 2007-03-26 2010-09-21 Oracle International Corporation Method to avoid continuous application failovers in a cluster
US9047190B2 (en) * 2007-04-10 2015-06-02 International Business Machines Corporation Intrusion protection for a client blade
JP4458119B2 (ja) * 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法
US8370679B1 (en) * 2008-06-30 2013-02-05 Symantec Corporation Method, apparatus and system for improving failover within a high availability disaster recovery environment
JP5140633B2 (ja) * 2008-09-04 2013-02-06 株式会社日立製作所 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
FR2936068B1 (fr) * 2008-09-15 2013-01-11 Airbus France Procede et dispositif d'encapsulation d'applications dans un systeme informatique pour aeronef.
US9846185B2 (en) 2013-02-27 2017-12-19 Texas Instruments Incorporated Capacitive sensing
US9354993B2 (en) * 2013-03-12 2016-05-31 Dell Products L.P. System and method to reduce service disruption in a shared infrastructure node environment
JP6273732B2 (ja) * 2013-09-20 2018-02-07 日本電気株式会社 情報処理引き継ぎ制御装置、情報処理引き継ぎ制御方法、及び、情報処理引き継ぎ制御プログラム
KR101944873B1 (ko) * 2013-12-24 2019-04-17 후아웨이 디바이스 컴퍼니 리미티드 지능형 단말기의 하드웨어가 비정상적으로 작동하는지 여부를 검사하는 방법 및 지능형 단말기
JP2015170242A (ja) * 2014-03-10 2015-09-28 富士通株式会社 中継プログラム、中継方法、および中継装置
KR101758558B1 (ko) * 2016-03-29 2017-07-26 엘에스산전 주식회사 에너지 관리 서버 및 그를 갖는 에너지 관리 시스템
JP7149313B2 (ja) 2020-09-28 2022-10-06 株式会社日立製作所 記憶システム及びその制御方法

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744413A (ja) 1993-07-29 1995-02-14 Toshiba Corp コンピュータバックアップシステム
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6442584B1 (en) * 1997-05-16 2002-08-27 Sybase, Inc. Methods for resource consolidation in a computing environment
US5991894A (en) * 1997-06-06 1999-11-23 The Chinese University Of Hong Kong Progressive redundancy transmission
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US6192401B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
US6460082B1 (en) * 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US6662219B1 (en) * 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US6769008B1 (en) * 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
AU2001261141A1 (en) * 2000-05-02 2001-11-12 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
JP2002007368A (ja) 2000-06-23 2002-01-11 Mitsubishi Electric Corp 分散処理システムの業務割当管理サーバ、業務割当管理方式及び業務割当管理方法
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
JP2002108839A (ja) 2000-09-28 2002-04-12 Mitsubishi Electric Corp 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US7444335B1 (en) * 2001-02-28 2008-10-28 Oracle International Corporation System and method for providing cooperative resource groups for high availability applications
GB0112781D0 (en) * 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US6954884B2 (en) * 2001-06-01 2005-10-11 Lucent Technologies Inc. System and method for effecting recovery of a network
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
JP2003203018A (ja) 2002-01-07 2003-07-18 Mitsubishi Electric Corp Sanを用いた擬似クラスタシステム
US7043619B1 (en) * 2002-01-14 2006-05-09 Veritas Operating Corporation Storage configurator for determining an optimal storage configuration for an application
US7392302B2 (en) * 2002-02-21 2008-06-24 Bea Systems, Inc. Systems and methods for automated service migration
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7152181B2 (en) * 2002-02-22 2006-12-19 Bea Systems, Inc. Method for highly available transaction recovery for transaction processing systems
US6944788B2 (en) * 2002-03-12 2005-09-13 Sun Microsystems, Inc. System and method for enabling failover for an application server cluster
US7392421B1 (en) * 2002-03-18 2008-06-24 Symantec Operating Corporation Framework for managing clustering and replication
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
CA2383825A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system
US20040078440A1 (en) * 2002-05-01 2004-04-22 Tim Potter High availability event topic
US7222148B2 (en) * 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
AU2003265954A1 (en) * 2002-09-09 2004-03-29 Evergreen Assurance, Inc. System and method for application monitoring and automatic disaster recovery for high-availability
WO2004027650A1 (en) * 2002-09-18 2004-04-01 Netezza Corporation Disk mirror architecture for database appliance
WO2004084083A1 (en) * 2003-03-19 2004-09-30 Unisys Corporation Server consolidation analysis
US20060173875A1 (en) * 2003-03-19 2006-08-03 Unisys Corporation Server Consolidation Data Mdel
US7613797B2 (en) * 2003-03-19 2009-11-03 Unisys Corporation Remote discovery and system architecture
US20060179431A1 (en) * 2003-03-19 2006-08-10 Unisys Corporation Rules-based deployment of computing components
JP4141875B2 (ja) * 2003-03-27 2008-08-27 株式会社日立製作所 リカバリ処理方法及びその実施システム並びにその処理プログラム
US7379996B2 (en) * 2003-04-07 2008-05-27 Microsoft Corporation System and method for web server migration
US7320083B2 (en) * 2003-04-23 2008-01-15 Dot Hill Systems Corporation Apparatus and method for storage controller to deterministically kill one of redundant servers integrated within the storage controller chassis
US7287179B2 (en) * 2003-05-15 2007-10-23 International Business Machines Corporation Autonomic failover of grid-based services
US20040249939A1 (en) * 2003-05-23 2004-12-09 International Business Machines Corporation Methods and apparatus for dynamic and optimal server set selection
US7284151B2 (en) * 2003-07-21 2007-10-16 Oracle International Corporation Conditional data access after database system failure
US7146353B2 (en) * 2003-07-22 2006-12-05 Hewlett-Packard Development Company, L.P. Resource allocation for multiple applications
JP2007508623A (ja) * 2003-10-08 2007-04-05 ユニシス コーポレーション 複数のノードにわたってシステムリソースを割り当てて管理する仮想データセンタ
US7523344B2 (en) * 2006-05-08 2009-04-21 Sun Microsystems, Inc. Method and apparatus for facilitating process migration

Also Published As

Publication number Publication date
US7574620B2 (en) 2009-08-11
JP2007520003A (ja) 2007-07-19
EP1711892B1 (de) 2009-02-18
US20070038885A1 (en) 2007-02-15
WO2005073852A1 (de) 2005-08-11
EP1711892A1 (de) 2006-10-18
ATE423352T1 (de) 2009-03-15
DE102004005128B3 (de) 2005-01-05
WO2005073852A8 (de) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4461262B2 (ja) コンピュータ障害発生時に複数のコンピュータの配列を操作する方法
US7318138B1 (en) Preventing undesired trespass in storage arrays
US6918051B2 (en) Node shutdown in clustered computer system
US8719624B2 (en) Redundant configuration management system and method
US6859889B2 (en) Backup system and method for distributed systems
CN109669762B (zh) 云计算资源管理方法、装置、设备及计算机可读存储介质
US7757120B2 (en) Ignoring redundant symptoms in modular self-healing systems
WO2021027481A1 (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
US9754032B2 (en) Distributed multi-system management
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
US11695856B2 (en) Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device
EP3167372B1 (en) Methods for facilitating high availability storage services and corresponding devices
EP3389222B1 (en) A method and a host for managing events in a network that adapts event-driven programming framework
CN115686368A (zh) 区块链网络的节点的存储扩容的方法、系统、装置和介质
WO2021043246A1 (zh) 数据读取方法及装置
JP3621634B2 (ja) 冗長構成切替システム
CN112612652A (zh) 分布式存储系统异常节点重启方法及系统
KR100763781B1 (ko) 서버 관리 시스템 및 마이그레이션 방법
US8645525B2 (en) Using prime numbers to manage partitioning in a cluster of nodes of computers
US11947431B1 (en) Replication data facility failure detection and failover automation
CN112100008B (zh) 一种跨节点的多链路冗余保护方法及系统
CN110601802B (zh) 一种降低集群回父带宽的方法及装置
US20030005358A1 (en) Decentralized, self-regulating system for automatically discovering optimal configurations in a failure-rich environment
CN117149517A (zh) 一种容器集群资源冗余管理系统和方法
CN116760695A (zh) 服务器切换方法、装置、设备、存储介质和程序产品

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091026

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091106

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: 20100112

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: 20100121

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140226

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

LAPS Cancellation because of no payment of annual fees