JP2016524879A - 統合プロトコルの動的管理のためのコンピュータ実装プロセス、コンピュータ・プログラム製品、および装置(統合プロトコルの動的管理) - Google Patents

統合プロトコルの動的管理のためのコンピュータ実装プロセス、コンピュータ・プログラム製品、および装置(統合プロトコルの動的管理) Download PDF

Info

Publication number
JP2016524879A
JP2016524879A JP2016520203A JP2016520203A JP2016524879A JP 2016524879 A JP2016524879 A JP 2016524879A JP 2016520203 A JP2016520203 A JP 2016520203A JP 2016520203 A JP2016520203 A JP 2016520203A JP 2016524879 A JP2016524879 A JP 2016524879A
Authority
JP
Japan
Prior art keywords
applications
computer
paths
connections
rules
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
JP2016520203A
Other languages
English (en)
Other versions
JP6529488B2 (ja
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 JP2016524879A publication Critical patent/JP2016524879A/ja
Application granted granted Critical
Publication of JP6529488B2 publication Critical patent/JP6529488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】統合プロトコルの動的管理を提供する。【解決手段】統合プロトコルの動的管理のためのコンピュータ実装プロセスの例証的な一実施形態は、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成し、接続のセットは監視されて、性能メトリックのセットが収集される。所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にないと判定されるのに応答して、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスが調整される。【選択図】図1

Description

本開示は、一般に、データ処理システムにおけるアプリケーション統合に関し、より詳細には、データ処理システムにおける統合プロトコルの動的管理に関する。
アプリケーションまたはアプリケーション・コンポーネントは、しばしば、他のアプリケーションまたはコンポーネントと通信して、関連データを取り出して処理する。例えば、電子商取引に使用されるアプリケーションは、検索アプライアンスと通信してカタログ検索データを取り出し、また、注文管理システムと通信して注文を記憶する。ソフトウェア・アズ・ア・サービス(SaaS)の使用の増加と、クラウドベースのコンピューティング技法を使用したアプリケーション展開とに伴い、細分性のある相互接続されたサービスのパターンが進化し、より普及してきている。
このパターンの使用に関して明白である典型的な問題は、特定のタイプの統合システムの全体的な性能が、通常、システム中の最も弱いリンクに依存することである。したがって、1つのコンポーネントが負荷を受けすぎるか、障害を起こすか、またはうまく機能しないとき、統合システム全体が損害を受ける。
一実施形態によれば、統合プロトコルの動的管理のためのコンピュータ実装プロセスは、1つまたは複数のプロセッサに接続されたメモリ内に記憶されたコンピュータ実行可能プログラム・コードを実行する1つまたは複数のプロセッサによって、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成すること、および、1つまたは複数のプロセッサによって接続のセットを監視して、接続のセットに関連する性能メトリックのセットを収集することを含む。
コンピュータ実装プロセスはさらに、1つまたは複数のプロセッサによって、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定する。所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にないと判定されるのに応答して、1つまたは複数のプロセッサによって、規則のセットをプログラム的に使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスを調整し、規則のセット中の各規則は、性能指向型(performance driven)規則である。
別の実施形態によれば、統合プロトコルの動的管理のためのコンピュータ・プログラム製品は、コンピュータ実行可能プログラム・コードが記憶されたコンピュータ記録可能データ・ストレージ・デバイスを備える。コンピュータ実行可能プログラム・コードは、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成するためのコンピュータ実行可能プログラム・コードと、接続のセットを監視して、接続のセットに関連する性能メトリックのセットを収集するためのコンピュータ実行可能プログラム・コードとを含む。コンピュータ・プログラム製品はさらに、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にあるかどうかを、1つまたは複数のプロセッサによって判定するためのコンピュータ実行可能プログラム・コードと、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にないと判定されるのに応答して、規則のセットをプログラム的に使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスを調整するためのコンピュータ実行可能プログラム・コードとを含み、規則のセット中の各規則は、性能指向型規則(performance driven rule)である。
別の実施形態によれば、統合プロトコルの動的管理のための装置は、通信ファブリックと、通信ファブリックに接続されたメモリであって、コンピュータ実行可能プログラム・コードを含むメモリと、通信ファブリックに接続された通信ユニットと、通信ファブリックに接続された入出力ユニットと、通信ファブリックに接続された表示装置と、通信ファブリックに接続されたプロセッサ・ユニットとを備える。プロセッサ・ユニットは、コンピュータ実行可能プログラム・コードを実行して、装置に、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成すること、および、接続のセットを監視して、接続のセットに関連する性能メトリックのセットを収集すること、を指示する。
プロセッサ・ユニットはさらに、コンピュータ実行可能プログラム・コードを実行して、装置に、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定すること、および、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にないと判定されるのに応答して、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスを調整すること、を指示する。
本開示のより完全な理解のために、次に、添付の図面および詳細な説明と共に、以下の簡単な説明を参照する。添付の図面および詳細な説明では、同じ参照番号は同じ部分を表す。
本開示の様々な実施形態で動作可能な例示的なネットワーク・データ処理システムのブロック図である。 本開示の様々な実施形態で動作可能な例示的なデータ処理システムのブロック図である。 本開示の様々な実施形態で動作可能な統合制御システムのブロック図表現である。 本開示の一実施形態による、図3の統合制御システムを使用する一実施形態のブロック図である。 本開示の一実施形態による、図3の統合制御システムを使用する一実施形態のブロック図である。 本開示の一実施形態による、図3の統合制御システムを使用するプロセスのフローチャートである。 本開示の一実施形態による、図6の統合制御システムを使用するプロセス内の調整サブプロセスのフローチャートである。
1つまたは複数の実施形態の例証的な一実装形態を以下に提供するが、開示するシステムまたは方法あるいはその両方は、任意の数の技法を使用して実現することができる。本開示は、本明細書で例証および説明する例示的な設計および実装形態を含めた、以下に示す例証的な実装形態、図面、および技法に限定されるべきでは決してなく、添付の請求項の均等物の全範囲と共に、添付の請求項の範囲内で変更されてもよい。
当業者には理解されるであろうが、本開示の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化することができる。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形をとることができ、本明細書ではこれらは全て「回路」、「モジュール」、または「システム」と一般に呼ばれる場合がある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み入れられた1つまたは複数のコンピュータ可読媒体において具現化されるコンピュータ・プログラム製品の形をとることもできる。
1つまたは複数のコンピュータ可読データ・ストレージ・デバイスの任意の組合せを利用することができる。コンピュータ可読データ・ストレージ・デバイスは、例えば、以下のものに限定されないが、電子、磁気、光学、もしくは半導体の、システム、装置、もしくはデバイス、またはこれらの任意の適切な組合せであってよく、ただし伝搬媒体は包含しない。コンピュータ可読データ・ストレージ・デバイスのより具体的な例(非網羅的なリスト)は、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能な読取専用メモリ(EPROMもしくはフラッシュ・メモリ)、ポータブル・コンパクト・ディスク読取専用メモリ(CD−ROM)、光学ストレージ・デバイス、もしくは磁気ストレージ・デバイス、またはこれらの任意の適切な組合せを含むことになるが、伝搬媒体は包含しない。この文書のコンテキストでは、コンピュータ可読データ・ストレージ・デバイスは、命令実行システム、装置、またはデバイスによって使用されるプログラムまたはそれらに関連して使用されるプログラムを記憶できる、任意の有形デバイスとすることができる。
本開示の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。Java(R)および全てのJava(R)ベースの商標およびロゴは、Oracle Corporationまたはその系列会社あるいはその両方の、米国、その他の国、またはその両方における商標である。プログラム・コードは、完全にユーザのコンピュータ上で実行されるか、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行され部分的にリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行される場合がある。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続は、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)行われてもよい。
本開示の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明またはブロック図あるいはその両方に関して以下に述べる。フローチャート説明またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実現できることは理解されるであろう。
これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現するための手段をもたらすように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されて、マシンを生み出すことができる。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読データ・ストレージ・デバイスに記憶された命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現する命令を含む製品を生み出すように、コンピュータ可読データ・ストレージ・デバイスに記憶され、コンピュータまたは他のプログラム可能データ処理装置に、特定の方式で機能するよう指示することができる。
コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実現するためのプロセスを提供するように、コンピュータ実装プロセスを生み出すべく、コンピュータまたは他のプログラム可能データ処理装置にロードされ、コンピュータまたは他のプログラム可能装置上で一連の動作ステップを実施させることができる。
次に、図、特に図1〜2を参照しながら、例証的な実施形態を実現できるデータ処理環境の例示的な図を提供する。図1〜2は、例示に過ぎず、種々の実施形態を実現できる環境に関するどのような限定も主張または含意するものとしないことを理解されたい。示される実施形態に対して多くの変更を加えることができる。
図1は、例証的な実施形態を実現できるデータ処理システムのネットワークの、絵による表現を示している。ネットワーク・データ処理システム100は、例証的な実施形態を実現できる、コンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、ネットワーク102は、ネットワーク・データ処理システム100内で共に接続される様々なデバイスおよびコンピュータの間の通信リンクを提供するのに使用される媒体である。ネットワーク102は、ワイヤ、ワイヤレス通信リンク、または光ファイバケーブルなどの接続を含み得る。
示される例では、サーバ104およびサーバ106は、ストレージ・ユニット108と共に、ネットワーク102に接続する。加えて、クライアント110、112、および114もネットワーク102に接続する。クライアント110、112、および114は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。示される例では、サーバ104は、ブート・ファイルなどのデータ、オペレーティング・システム・イメージ、統合制御システム116の一実施形態、およびアプリケーションを、クライアント110、112、および114に提供する。クライアント110、112、および114は、この例では、サーバ104に対するクライアントである。ネットワーク・データ処理システム100は、図示されていない追加のサーバ、クライアント、および他のデバイスを含んでもよい。
示される例では、ネットワーク・データ処理システム100はインターネットであり、ネットワーク102は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)プロトコル・スイートを使用して相互に通信するネットワークおよびゲートウェイの世界的な集まりを表す。インターネットの中心には、データおよびメッセージをルーティングする何千もの商用、行政用、教育用、および他のコンピュータ・システムからなる主要なノードまたはホスト・コンピュータの間の、高速データ通信回線のバックボーンがある。当然、ネットワーク・データ処理システム100はまた、いくつかの異なるタイプのネットワークとして、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、またはワイド・エリア・ネットワーク(WAN)などとして実現されてもよい。図1は、例とするものであり、種々の例証的な実施形態に対するアーキテクチャ上の限定とするものではない。
図2を参照すると、本開示の様々な実施形態で動作可能な例示的なデータ処理システムのブロック図が提示されている。この例証的な例では、データ処理システム200は通信ファブリック202を含み、通信ファブリック202は、プロセッサ・ユニット204、メモリ206、永続ストレージ208、通信ユニット210、入出力(I/O)ユニット212、および表示装置214の間の通信を提供する。
プロセッサ・ユニット204は、メモリ206にロードされ得るソフトウェアに関する命令を実行する役割を果たす。プロセッサ・ユニット204は、特定の実装形態に応じて、1つまたは複数のプロセッサのセットである場合もあり、またはマルチプロセッサ・コアである場合もある。さらに、プロセッサ・ユニット204は、主プロセッサが2次プロセッサと共に単一のチップ上に存在する、1つまたは複数の異種プロセッサ・システムを使用して実現されてもよい。別の例証的な例として、プロセッサ・ユニット204は、同じタイプの複数のプロセッサを含む対称型マルチプロセッサ・システムとすることもできる。
メモリ206および永続ストレージ208は、ストレージ・デバイス216の例である。ストレージ・デバイスは、情報(例えば、限定ではないが、データ、機能的形式のプログラム・コード、または他の適切な情報、あるいはそれらの全てなど)を、一時的にまたは永続的にあるいはその両方で記憶することのできる任意のハードウェアである。メモリ206は、これらの例では、例えば、ランダム・アクセス・メモリ、または他の任意の適切な揮発性もしくは不揮発性ストレージ・デバイスとすることができる。永続ストレージ208は、特定の実装形態に応じて様々な形をとる場合がある。例えば、永続ストレージ208は、1つまたは複数のコンポーネントまたはデバイスを含むことがある。例えば、永続ストレージ208は、ハード・ドライブ、フラッシュ・メモリ、書換え可能な光学ディスク、書換え可能な磁気テープ、またはこれらの何らかの組合せとすることができる。永続ストレージ208によって使用される媒体はまた、取外し可能とすることができる。例えば、取外し可能なハード・ドライブを永続ストレージ208に使用することができる。
通信ユニット210は、これらの例では、他のデータ処理システムまたはデバイスとの通信を可能にする。これらの例では、通信ユニット210は、ネットワーク・インタフェース・カードである。通信ユニット210は、物理通信リンクとワイヤレス通信リンクとのいずれかまたは両方の使用を介した通信を提供することができる。
入出力ユニット212は、データ処理システム200に接続され得る他のデバイスとの間の、データの入力および出力を可能にする。例えば、入出力ユニット212は、キーボード、マウス、または他の何らかの適切な入力デバイス、あるいはこれら全てを介したユーザ入力のための接続を提供することができる。さらに、入出力ユニット212は、出力をプリンタに送ることができる。表示装置214は、情報をユーザに対して表示するためのメカニズムを提供する。
オペレーティング・システム、図1の統合制御システム116、アプリケーション、またはプログラム、あるいはそれらの全てに関する命令が、ストレージ・デバイス216中に位置してよく、ストレージ・デバイス216は、通信ファブリック202を介してプロセッサ・ユニット204と通信する。これらの例証的な例では、命令は、永続ストレージ208上では機能的形式である。これらの命令は、プロセッサ・ユニット204によって実行されるために、メモリ206にロードされてよい。種々の実施形態のプロセスは、プロセッサ・ユニット204によって、コンピュータ実装命令を使用して実施されてよく、これらのコンピュータ実装命令は、メモリ206などのメモリ中に位置してよい。
これらの命令は、プロセッサ・ユニット204中のプロセッサによって読み取られ実行され得る、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。異なる実施形態におけるプログラム・コードは、メモリ206または永続ストレージ208など、異なる物理的または有形のコンピュータ可読記憶媒体上で具現化される場合がある。
図1の統合制御システム116を一実施形態で含むプログラム・コード218が、選択的に取外し可能なコンピュータ可読ストレージ・デバイス220などのコンピュータ可読記憶媒体上に機能的形式で位置し、プロセッサ・ユニット204によって実行されるためにデータ処理システム200にロードまたは転送されてよい。プログラム・コード218およびコンピュータ可読ストレージ・デバイス220は、これらの例では、コンピュータ・プログラム製品222を形成する。一例では、コンピュータ可読ストレージ・デバイス220は、有形の形とすることができ、例えば、永続ストレージ208の一部であるハード・ドライブなどのストレージ・デバイス上に転送されるように、永続ストレージ208の一部であるドライブまたは他のデバイスに挿入または配置される、光学ディスクまたは磁気ディスクなどとすることができる。有形の形では、コンピュータ可読ストレージ・デバイス220はまた、データ処理システム200に接続されたハード・ドライブ、サム・ドライブ、またはフラッシュ・メモリなど、永続ストレージの形をとることもできる。有形の形のコンピュータ可読ストレージ・デバイス220は、コンピュータ記録可能記憶媒体またはコンピュータ可読データ・ストレージ・デバイスとも呼ばれる。場合によっては、コンピュータ可読ストレージ・デバイス220は、取外し可能でないこともある。
別法として、プログラム・コード218は、通信ユニット210への通信リンクを介して、または入出力ユニット212への接続を介して、あるいはその両方を介して、コンピュータ可読ストレージ・デバイス220からデータ処理システム200に転送されてもよい。通信リンクまたは接続あるいはその両方は、例証的な例では、物理的またはワイヤレスとすることができる。
いくつかの例証的な実施形態では、プログラム・コード218は、データ処理システム200内で使用されるために、別のデバイスまたはデータ処理システムからネットワークを介して永続ストレージ208にダウンロードされてよい。例えば、サーバ・データ処理システム中のコンピュータ可読データ・ストレージ・デバイスに記憶されたプログラム・コードが、サーバからネットワークを介してデータ処理システム200にダウンロードされてよい。プログラム・コード218を提供するデータ処理システムは、プログラム・コード218を記憶および送信できるサーバ・コンピュータ、クライアント・コンピュータ、または他の何らかのデバイスとすることができる。
図2のデータ処理システム200を例として使用して、統合プロトコルの動的管理のためのコンピュータ実装プロセスを提示する。プロセッサ・ユニット204は、プロセッサ・ユニット204の1つまたは複数のプロセッサに接続されたメモリ206内に記憶された、図1の統合制御システム116を含むコンピュータ実行可能プログラム・コードを実行し、それにより、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成すると共に、接続のセットを監視して、接続のセットに関連する性能メトリックのセットを収集する。
プロセッサ・ユニット204はさらに、プロセッサ・ユニット204の1つまたは複数のプロセッサに接続されたメモリ206内に記憶されたコンピュータ実行可能プログラム・コードを実行し、それにより、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定する。所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にないと判定されるのに応答して、プロセッサ・ユニット204は、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスを調整する。
図3を参照すると、本開示の様々な実施形態で動作可能な統合制御システムのブロック図表現が提示されている。統合制御システム300は、性能特性と統合内容の実際の特性とを使用して統合プロトコルおよびチャネルの選択をランタイム中にリアルタイムで制御する、システム統合プロトコルおよびチャネルの自動管理のための、システムまたは装置の例である。リアルタイムとは、本開示のコンテキストでは、時間、日、週、または月で測定される時間期間とは対照的に、比較的短い時間期間の近似である。
統合制御システム300は、アプリケーション(例えばアプリケーションA302またはアプリケーションB304)が処理する必要のある要求306について、サービスおよびサービス品質を定義し、通信プロトコルのセット320中の特定の通信プロトコルおよび統合チャネル(アプリケーションをデータ処理システムの他の部分と統合するのに使用される)に性能メトリック312をリンクする能力を提供する。特定の通信プロトコルおよび統合チャネルは、パスまたはルートと呼ばれることもある。アプリケーションは、この例では、会話型の交換の形の、要求306と応答308との対応を使用して相互に通信する。
この例におけるアプリケーションA302およびアプリケーションB304など、種々のアプリケーション(またはアプリケーションのコンポーネント)は、統合バス318を介して相互に接続する。統合バス318は、多様なアプリケーション(またはアプリケーションのコンポーネント)の間の通信を可能にする、通信ファブリックの一形式を提供する。個々の接続ごとに、通信プロトコルのセット320からの統合パスの事前定義済みのセットが、統合バス318内で定義される。各接続は、デフォルト統合パスを有する。統合コントローラ314が、事前定義済みの規則のセット316のうちの1つまたは複数を使用して、利用可能な所定の統合パスのうちのどれがとられるべきかを命令する。
規則は通常、満たされたときに特定のアクションをトリガする1つまたは複数の条件として定義される。例えば、1つまたは複数の条件と1つまたは複数のアクションとを含む規則が、「コンポーネントAに対する要求の数が10万個を超えた場合は、2時間にわたりコンポーネントAとの通信に「バッチ送信」統合パスをとる」として定義される場合がある。指定された条件が発生したとき、指定された統合パスを統合バス318中でとるという対応するアクションがとられる。コンポーネントAを同時要求で溢れさせるのではなく、通信プロトコルが特定の時間量にわたってバッチ・モードに選択されて、コンポーネントに対するストレスが緩和される。1つまたは複数の規則が組合せで実行されて特定の結果が達成される場合もある。
統合コントローラ314は、いくつかの機能を集約する能力を提供し、これらの機能は、性能メトリック指向型規則(例えば規則のセット316)のためのプラガブル(pluggable)リポジトリ、統合パス選択のためのコントローラ、および、本開示の一実施形態の実装形態によれば元々追加設定なしではサポートされない性能メトリック312をモニタ310によって測定するための測定プラグインのためのプラガブル・リポジトリ、としての働きをすることを含む。
統合制御システム300を利用して、ルーティングされているデータに関するいくつかの追加のプロパティに基づいて、異なる複数の統合パスを同時に使用することができる。例えば、電子商取引サイトが、時間の影響を非常に受ける商品と、時間の影響をあまり受けない商品との両方を販売し、所定の規則を使用してほとんどの要求を待機バッチ・キューにルーティングするが、また、関連データの時間感度をトリガ特性として使用して、いくつかの要求は通過させる。
図4を参照すると、本開示の一実施形態による、図3の統合制御システムを使用する一実施形態のブロック図が提示されている。統合制御システム400は、図3の統合制御システム300の異形であり、スイッチ404の単純化されたビューを使用して、統合コントローラ314および統合バス318の機能的な能力が表されている。
ソース402は、1つもしくは複数のアプリケーションのセット、または、アプリケーションの1つもしくは複数のコンポーネントのセットを表し、これらは、1つもしくは複数のアプリケーションの別のセット、または、アプリケーションの1つもしくは複数のコンポーネントの別のセットと通信する必要がある。場合によっては、1つもしくは複数のアプリケーションのセット、または、アプリケーションの1つもしくは複数のコンポーネントのセットは、1つもしくは複数のアプリケーションの同じセット、または、アプリケーションの1つもしくは複数のコンポーネントの同じセットと通信する必要があることもある。
統合制御システム400(および統合制御システム300)は、以前に試みられた解決法とは異なる。というのは、性能ベースのメトリックを使用して、リアルタイムの測定データおよび可用性パラメータに応じて種々の利用可能な通信フレームワーク(プロトコルおよびチャネル)間で選択されるからである。開示するサービス・タイプは、後で使用されるために性能メトリックのセット422として保存された性能メトリック420を使用して通信フレームワークおよび宛先(プロトコルおよびチャネル)を動的に選択する、という形のプログラム的な管理という理由で、特定のサービス・レベル合意によって支配されるサービスベースのモデル/クラウド・モデルに適合する。性能メトリックのセット422をキャッシュして、プロトコル選択アクティビティの間に、向上した性能を提供することができる。
動的選択はまた、性能メトリックのセット422の形の性能メトリック420に基づいて、通信プロトコルをスイッチ404によって実際に切り替えることも含意する。スイッチ404は、メッセージ/データ408、メッセージ/データ410、メッセージ/データ412、およびメッセージ/データ414のそれぞれを使用して、ソース402との通信、およびターゲット406とターゲット416のいずれかとの通信を行う。
図3の例を使用すると、電子商取引サイトが、時間の影響を非常に受ける商品と、時間の影響をあまり受けない商品との両方を販売する。特定の所定規則を使用して、スイッチ404は、ソース402からの要求のほとんどを、メッセージ/データ410のルートまたはパスを用いて待機バッチ・キューにルーティングする。待機バッチ・キューは、さらに他の処理のために、ある時間に到達するまで要求を取り込むためのバッファとして働く。同時に、スイッチ404はまた、関連データの時間感度をトリガ特性として使用して、要求のいくつかを、メッセージ/データ412のルートまたはパスを用いて通過させる。特定の所定規則を使用する別の変形では、スイッチ404はまた、ソース402からの要求の一部を、メッセージ/データ410のルートまたはパスを用いて待機バッチ・キューにルーティングする。しかしこの場合、スイッチ404は同時にまた、関連データの時間感度をトリガ特性として使用して、要求のいくつかを、メッセージ/データ418のルートまたはパスを用いてターゲット416の形の第2のターゲットに通過させる。
述べたばかりの例では、ターゲット406の過負荷および潜在的な障害を回避する能力が提供されるが、これは、ある事例では、ターゲット406が負荷を扱えるようになるまで要求を待機バッチ・キュー中に保持するキュー管理技法を使用して行われる。別の事例では、負荷の一部が、ターゲット416のように別のターゲットに移される。どのルートまたはパスを使用するかの選択は、スイッチ404によって、性能メトリックのセット422を使用して動的に管理される。
図5を参照すると、本開示の一実施形態による、図3の統合制御システムを使用する一実施形態のブロック図が提示されている。統合制御システム500中には、統合バス508と統合コントローラ510とを含む相互作用が示されているが、この統合制御システム500は、図3の統合制御システム300の異形である。
アプリケーションA502、アプリケーションB504、およびアプリケーションC506として示されるアプリケーション(またはアプリケーションのコンポーネント)の各々は、統合バス508を使用して、相互に(および他のコンポーネントまたはアプリケーションと)通信する。通信パスは、メッセージ/データ512のラベルに関連付けられた実線として表されている。通信パスは同じ識別子でラベル付けされているが、パスは、必要に応じて、種々のメッセージ(コマンド、要求、応答)およびデータを、統合バス508とアプリケーション(またはアプリケーションのコンポーネント)の1つまたは複数との間で搬送することができる。メッセージ/データ512の通信パスによって表されるパスの各々は、統合バス508と、アプリケーションA502、アプリケーションB504、およびアプリケーションC506のそれぞれとの間の、1つまたは複数の可能なパスを表す。例えば、統合バス508とアプリケーションA502との間のメッセージ/データ512は、統合バス508内で定義され相応にサポートされるプロトコルのセットのうちの、統合バス508とアプリケーションA502との間をリンクするプロトコルによって定義される、単一のパスまたは複数のパスとすることができる。
統合コントローラ510はまた、アプリケーションA502、アプリケーションB504、およびアプリケーションC506の各々と通信して、統合コントローラ510の監視コンポーネントを介して性能メトリック514をリアルタイムで受け取る。統合コントローラ510は性能メトリック514を維持するが、維持することは、合体、集約、縮小、または性能メトリックをキャッシュして生データのままにすること、を含めた処理オプションを含む。
統合コントローラ510は、性能指向型規則のセット中の1つまたは複数の規則を使用して性能メトリック514の現在のセットをリアルタイムで処理した結果を統合バス508に知らせて、統合バス508に引き渡すアクションを得る。特定のアプリケーションに関連する性能メトリック514の現在のセットが、1つまたは複数の特定の性能メトリックについての所定の許容度内にないと決定されるのに応答して、統合バス508は、性能指向型規則のセット中の1つまたは複数の規則を使用する結果として、統合コントローラ510によって指定されるアクションを実施するように、特定のアプリケーションに知らせる。
性能メトリック514の現在のセットが、1つまたは複数の特定の性能メトリックについての所定の許容度内にあると判定された場合は、統合コントローラ510はどのようなアクションも指定しない。統合コントローラ510は、アプリケーションを監視して性能メトリック514をリアルタイムで収集することに戻る。
例証的な実際の例では、電子商取引ウェブ・サイトとバック・オフィス履行アプリケーションとを含む電子商取引システムが、ウェブ・サイトを介してサブミットされた注文を受け取り、これらの注文は履行アプリケーションに転送される。ウェブ・サイトは、花を含めた生鮮品を販売し、そのため注文は非常に迅速に履行されなければならず、したがって、ウェブ・サイトから履行アプリケーションへの転送はリアルタイムで実施される。
ウェブ・サイトにおける処理は通常はうまく機能するが、特定の祝日、例えばバレンタイン・デーの間は、履行アプリケーションが継続できないほどの非常に多くの注文が受け取られる。バック・エンド・マシン上のプロセッサ利用は100%に達し、メモリ消費もまたピークに達し、すぐに履行アプリケーションはクラッシュする。ウェブ・サイトは動作していても、ウェブ・サイトは、注文を履行アプリケーションに転送することができず、したがって機能することができず、よってウェブ・サイトもまた障害を起こす。結果として、企業は潜在的な収入を失う。
次の特定の祝日について、本開示の一実施形態が実施される。本開示の一実施形態を使用して、ウェブ・サイトと履行アプリケーションは、統合バス508を介して相互に通信する。図3の規則のセット316など、統合コントローラ510によって維持される性能指向型規則のセット中の、特定の規則を使用して、履行アプリケーション・マシン上のプロセッサ利用が70%を超えるときは注文が統合バス508においてキューに入れられ、プロセッサ利用が70%未満に下がったときにのみキューからの注文が処理され始める。
この例のこの異形では、前年の祝日よりもさらに多い注文が受け取られるが、履行アプリケーション・マシンの負荷は今や統合バス508を使用して制御されるので、履行アプリケーション・マシンは障害を起こさない。結果として、システム全体は、予期されるように動作し続ける。至急の注文を履行するのは遅延される(キューにおける遅延のせいで)が、システム全体の機能は維持される。
次の年についてのこの例の別の異形では、ウェブ・サイトは、いくつかの商品を、例えば4時間以内の配達を必要とする超特急として提供するように、強化される。新しい超特急注文を管理するために、対応する規則が策定されるが、この規則は、前と同様、履行アプリケーション・マシン上のプロセッサ利用が70%を超えるとき、統合バス508に、要求をキューにルーティングさせる。しかし、超特急商品に対する注文は、この規則から除外され、依然として履行アプリケーションに直行する。新たに定義された規則と共に本開示の一実施形態を使用することで、超特急注文を失うことまたは不必要に遅延させることなく、履行アプリケーションに対する負荷を低減する能力がもたらされる。
図6を参照すると、本開示の一実施形態による、図3の統合制御システムを使用するプロセスのフローチャートが提示されている。プロセス600は、図3の統合制御システムを使用するプロセスの高レベルの例である。
プロセス600は、開始し(ステップ602)、アプリケーション(またはアプリケーションのコンポーネント)のセットを通信ファブリックに接続して接続のセットを形成する。接続は、種々のアプリケーション、および種々のアプリケーションのコンポーネントの間の通信を可能にする。図3の統合制御システム300のように、通信ファブリックは、統合バス318の形の制御メカニズムをさらに備え、統合バス318は通信プロトコルのセット320をさらに備える。
プロセス600は、アプリケーション(またはアプリケーションのコンポーネント)のセットに関連する性能メトリックと、規則のセット中の1つまたは複数の性能指向型規則とを使用して、接続のセットを監視する(ステップ606)。アプリケーション(またはアプリケーションのコンポーネント)のセットに関連する性能メトリックは、アプリケーション(またはアプリケーションのコンポーネント)のセットに関連する処理アクティビティに関する利用情報を含む。例えば、性能メトリックは、アプリケーション(またはアプリケーションのコンポーネント)のセットのうちの1つまたは複数をホストするサーバなどのリソースについてのプロセッサ利用およびメモリ利用に関して、収集され処理されてよい。別の例では、性能メトリックは、統合バスとアプリケーションとの間の特定の通信パスについての通信パス利用に関して、収集され処理されてよい。
モニタは、本開示の一実施形態では、統合コントローラのコンポーネントとして機能する。統合コントローラは、性能メトリック610を使用する性能指向型である規則608のセットから、1つまたは複数の性能指向型規則を識別する。性能メトリック610は、アプリケーション(またはアプリケーションのコンポーネント)のセットの各々に関連する監視アクティビティの間に、統合コントローラの監視コンポーネントによって得られる。
プロセス600は、所定の性能メトリックが、特定のアプリケーション、アプリケーションのコンポーネント、またはパスについての、所定の許容度内にあるかどうか判定する(ステップ612)。所定の性能メトリックが、特定のアプリケーション、アプリケーションのコンポーネント、またはパスについての、所定の許容度内にあると判定されるのに応答して、プロセス600は、ループバックしてステップ606を前と同様に実施する。この場合、統合コントローラは、特定のアプリケーション、アプリケーションのコンポーネント、またはパスについて得られたそれぞれの性能メトリックとの組合せで、性能指向型規則のセットのうちの1つまたは複数を使用して、これ以上のアクションは必要とされないと決定していた。これ以上のアクションが必要とされないことの指示が、統合バスに渡される。
所定の性能メトリックが、特定のアプリケーション、アプリケーションのコンポーネント、またはパスについての、所定の許容度内にないと判定されるのに応答して、プロセス600は、特定のアプリケーション、アプリケーションのコンポーネント、またはパスについて得られたそれぞれの性能メトリックとの組合せで、性能指向型規則のセットのうちの1つまたは複数を使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスを調整する(ステップ614)。その後、プロセス600は終了する(ステップ616)。
したがって、図3の統合制御システム300と同様に、プロセス600の一実施形態を使用することにより、性能トリガが、統合をあるルートから別のルートに動的に方向転換させることができ、これは、アプリケーションおよびアプリケーションのコンポーネントが会話する際に経由する通信ファブリックを提供する統合バスに関連して、統合コントローラによって収集された(規則のセットで処理された)情報(性能メトリック)を使用して、行うことができる。
図7を参照すると、本開示の一実施形態による、図3の統合制御システムを使用するプロセス内の調整サブプロセスのフローチャートが提示されている。プロセス700は、図3の統合制御システム300を使用する図6のプロセス600の調整部分(ステップ614)内の調整サブプロセスの一例である。
プロセス700は開始し(ステップ702)、1つまたは複数のパスの選択を改変することを調整アクションが含むかどうか判定する(ステップ704)。調整アクションは、規則のセット中の1つまたは複数の性能指向型規則を使用して、特定のアプリケーション、アプリケーションのコンポーネント、またはパスに関連する性能メトリックを、統合コントローラによって処理した結果である。1つまたは複数のパスの選択を改変することを調整アクションが含まないと判定されるのに応答して、プロセス700は、前にスキップしてステップ710を実施する。1つまたは複数のパスの選択を改変することを調整アクションが含むと判定されるのに応答して、プロセス700は、1つまたは複数のパスをアクティブ化することを改変アクションが含むかどうか判定する(ステップ706)。
1つまたは複数のパスをアクティブ化することを改変アクションが含むと判定されるのに応答して、プロセス700は、1つまたは複数のパスをアクティブ化し(ステップ708)、その後終了する(ステップ714)。1つまたは複数のパスをアクティブ化することを改変アクションが含まないと判定されるのに応答して、プロセス700は、1つまたは複数のパス上のトラフィック・ミックスを調整することを改変アクションが含むかどうか判定する(ステップ710)。
1つまたは複数のパス上のトラフィック・ミックスを調整することを改変アクションが含むと判定されるのに応答して、プロセス700は、1つまたは複数のパス上のトラフィック・ミックスを調整し(ステップ712)、その後終了する(ステップ714)。1つまたは複数のパス上のトラフィック・ミックスを調整することを改変アクションが含まないと判定されるのに応答して、プロセス700は、その後終了する(ステップ714)。
したがって、全体として見たとき、図6のプロセス600、およびプロセス700は、統合プロトコルの動的管理のためのプロセスを定義する。したがって、結合されたプロセスは、データ処理システムの1つまたは複数のプロセッサによって実行されたとき、性能メトリック(アプリケーションが処理する必要のある要求についてのサービス定義およびサービス品質を含む)を、アプリケーションをシステムの他のコンポーネントと統合するのに使用される特定のプロトコルおよび統合チャネルにリンクすることを含むプロセスの一実施形態を定義する。プロセスはさらに、1つまたは複数のプロセッサによって実行されたとき、アプリケーションおよびアプリケーション・コンポーネントを通信相互接続ファブリックに接続して接続のセットを形成し、この場合、アプリケーションおよびアプリケーション・コンポーネントの各々は相互接続され、個々の接続は、デフォルト・パスを含むように定義された統合パスのセットを有する。
プロセスは、1つまたは複数のプロセッサによってさらに実行されたとき、統合コントローラを使用して接続のセットを監視し、この場合、統合コントローラは規則のセットを使用し、これらの規則は、選択可能であり、統合コントローラに関連する性能メトリック指向型規則および測定プラグインのリポジトリ中で維持される。プロセスはさらに、特定のアプリケーションについての性能メトリックが所定の許容度内にあるかどうか判定し、特定のアプリケーションについての性能メトリックが所定の許容度内にないと判定されるのに応答して、統合コントローラは、統合パスの変更を命令し、この場合、変更は、1つまたは複数のパスの選択を改変することを含み、この改変は、特定のアプリケーションについての1つまたは複数のパスをアクティブ化すること、および選択されたパス上のトラフィック・ミックスを調整することを含む。
よって、例証的な一実施形態で、統合プロトコルの動的管理のためのコンピュータ実装プロセスが提示され、このコンピュータ実装プロセスは、1つまたは複数のプロセッサに接続されたメモリ内に記憶されたコンピュータ実行可能プログラム・コードを実行する1つまたは複数のプロセッサによって、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成すること、および、1つまたは複数のプロセッサによって接続のセットを監視して、接続のセットに関連する性能メトリックのセットを収集することを含む。コンピュータ実装プロセスはさらに、1つまたは複数のプロセッサによって、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定し、所定の性能メトリックが、アプリケーションのセット中の特定のアプリケーションに関連する所定の許容度内にないと判定されるのに応答して、1つまたは複数のプロセッサによって、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションのセット中の特定のアプリケーションについての、接続のセット中の統合パスを調整することを含む。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、またはコードの一部を表すことができ、これは、指定される論理機能を実現するための1つまたは複数の実行可能命令を含む。また、いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。例えば、関連する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムによって、または、専用ハードウェアとコンピュータ命令との組合せによって、実現できることにも気付くであろう。
添付の特許請求の範囲における全てのミーンズまたはステップ・プラス・ファンクション要素の、対応する構造、材料、行為、および均等物は、具体的に請求される他の特許請求要素との組合せで機能を実施するための任意の構造、材料、または行為を含むものとする。本発明の記述は、例証および説明の目的で提示したものであり、網羅的なもの、または開示した形の発明に限定するものとはしない。本発明の範囲および主旨を逸脱することなく、多くの変更および変形が当業者には明らかとなるであろう。実施形態は、本発明の原理および実際の適用例を最もうまく説明するために、かつ、企図される特定の用途に合わせた様々な変更を伴う様々な実施形態について他の当業者が本発明を理解できるようにするために、選択し記述したものである。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、または、ハードウェアとソフトウェアの両方の要素を含む実施形態の形をとることができる。好ましい一実施形態では、本発明はソフトウェアにおいて実現され、ソフトウェアは、以下のものに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード、および、当業者によって認識され得る他のソフトウェア媒体を含む。
本発明を、完全に機能するデータ処理システムのコンテキストで述べたが、本発明のプロセスは、コンピュータ実行可能プログラム・コードを構成するコンピュータ実行可能命令が様々な形で記憶された、コンピュータ記録可能データ・ストレージ・デバイスの形で配布できることを、当業者なら理解するであろうことに留意するのは重要である。コンピュータ記録可能データ・ストレージ・デバイスの例としては、フロッピー(R)・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなど、記録可能タイプの媒体が挙げられる。コンピュータ実行可能命令は、特定のデータ処理システム中で実際に使用されるために復号される、符号化済みフォーマットの形をとることができる。
プログラム・コードを構成するコンピュータ実行可能命令を記憶するかまたは実行するかあるいはその両方を行うのに適したデータ処理システムは、システム・バスを介してメモリ素子に直接的または間接的に結合された、1つまたは複数のプロセッサを備えることになる。メモリ素子は、プログラム・コードの実際の実行中に利用されるローカル・メモリと、バルク・ストレージと、キャッシュ・メモリとを含んでよく、キャッシュ・メモリは、実行中にコードがバルク・ストレージから取り出されなければならない回数を削減するために、少なくともいくらかのプログラム・コードの一時記憶域を提供する。
入出力デバイスまたはI/Oデバイス(以下のものに限定されないが、キーボード、表示装置、ポインティング・デバイスなどを含む)が、直接に、または介在するI/Oコントローラを介して、システムに結合されてよい。
ネットワーク・アダプタをシステムに結合して、介在する私設ネットワークまたは公衆ネットワークを介してデータ処理システムが他のデータ処理システムまたはリモート・プリンタもしくはストレージ・デバイスに結合されるのを可能にすることもできる。モデム、ケーブル・モデム、およびイーサネット(R)・カードは、現在利用可能なタイプのネットワーク・アダプタのうちのほんの少数である。

Claims (20)

  1. 統合プロトコルの動的管理のためのコンピュータ実装プロセスであって、
    1つまたは複数のプロセッサに接続されたメモリ内に記憶されたコンピュータ実行可能プログラム・コードを実行する前記1つまたは複数のプロセッサによって、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成すること、
    前記1つまたは複数のプロセッサによって接続の前記セットを監視して、接続の前記セットに関連する性能メトリックのセットを収集すること、
    前記1つまたは複数のプロセッサによって、所定の性能メトリックが、アプリケーションの前記セット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定すること、および、
    前記所定の性能メトリックが、アプリケーションの前記セット中の前記特定のアプリケーションに関連する前記所定の許容度内にないと判定されるのに応答して、前記1つまたは複数のプロセッサによって、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションの前記セット中の前記特定のアプリケーションについての、接続の前記セット中の統合パスを調整することを含む、コンピュータ実装プロセス。
  2. 各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションの前記セット中の前記特定のアプリケーションについての、接続の前記セット中の統合パスを調整することが、
    1つまたは複数のパスの選択を改変することを調整アクションが含むかどうか判定すること、
    1つまたは複数のパスの選択を改変することを前記調整アクションが含むと判定されるのに応答して、前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含むかどうか判定すること、および、
    前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含むと判定されるのに応答して、前記1つまたは複数のパスをアクティブ化することをさらに含む、請求項1に記載のコンピュータ実装プロセス。
  3. 前記1つまたは複数のパス上のトラフィック・ミックスを調整することを前記改変アクションが含むかどうか判定することが、
    前記1つまたは複数のパス上のトラフィック・ミックスを調整することを前記改変アクションが含むと判定されるのに応答して、前記1つまたは複数のパス上の前記トラフィック・ミックスを調整することをさらに含む、請求項2に記載のコンピュータ実装プロセス。
  4. 前記通信ファブリックが統合バスを含み、前記統合バスが、アプリケーションの前記セット中のアプリケーションによって使用される通信プロトコルのセットをさらに含む、請求項1に記載のコンピュータ実装プロセス。
  5. 前記1つまたは複数のプロセッサによって、所定の性能メトリックが、アプリケーションの前記セット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定することが、
    規則のセットを使用することをさらに含み、規則の前記セット中の各規則が性能指向型規則であり、統合コントローラが規則の前記セットを維持し、規則の前記セットが、アプリケーションの前記セット中の前記特定のアプリケーションについて得られた前記性能メトリックのうちの1つまたは複数との組合せで使用される、請求項1に記載のコンピュータ実装プロセス。
  6. 前記1つまたは複数のプロセッサによって接続の前記セットを監視して、接続の前記セットに関連する性能メトリックのセットを収集することが、
    後で規則の前記セットと共に使用するために、性能メトリックの前記セットをキャッシュすることをさらに含む、請求項1に記載のコンピュータ実装プロセス。
  7. 1つまたは複数のプロセッサに接続されたメモリ内に記憶されたコンピュータ実行可能プログラム・コードを実行する前記1つまたは複数のプロセッサによって、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成することが、
    アプリケーションの前記セット中のアプリケーションに関連する要求についてのサービス定義およびサービス品質を含めた、性能メトリックの前記セット中の性能メトリックを、前記アプリケーションをシステムの他のコンポーネントと統合するのに使用される特定のプロトコルおよび統合チャネルにリンクすることをさらに含み、前記アプリケーションおよびアプリケーション・コンポーネントの各々が相互接続され、各接続が、デフォルト・パスを含むように定義された統合パスのセットを有する、請求項1に記載のコンピュータ実装プロセス。
  8. 統合プロトコルの動的管理のためのコンピュータ・プログラム製品であって、
    コンピュータ実行可能プログラム・コードが記憶されたコンピュータ記録可能データ・ストレージ・デバイスを備え、前記コンピュータ実行可能プログラム・コードが、
    アプリケーションのセットを通信ファブリックに接続して接続のセットを形成するためのコンピュータ実行可能プログラム・コードと、
    接続の前記セットを監視して、接続の前記セットに関連する性能メトリックのセットを収集するためのコンピュータ実行可能プログラム・コードと、
    所定の性能メトリックが、アプリケーションの前記セット中の特定のアプリケーションに関連する所定の許容度内にあるかどうかを、1つまたは複数のプロセッサによって判定するためのコンピュータ実行可能プログラム・コードと、
    前記所定の性能メトリックが、アプリケーションの前記セット中の前記特定のアプリケーションに関連する前記所定の許容度内にないと判定されるのに応答して、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションの前記セット中の前記特定のアプリケーションについての、接続の前記セット中の統合パスを調整するためのコンピュータ実行可能プログラム・コードとを含む、コンピュータ・プログラム製品。
  9. 各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションの前記セット中の前記特定のアプリケーションについての、接続の前記セット中の統合パスを調整するための前記コンピュータ実行可能プログラム・コードが、
    1つまたは複数のパスの選択を改変することを調整アクションが含むかどうか判定するためのコンピュータ実行可能プログラム・コードと、
    1つまたは複数のパスの選択を改変することを前記調整アクションが含むと判定されるのに応答して、前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含むかどうか判定するためのコンピュータ実行可能プログラム・コードと、
    前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含むと判定されるのに応答して、前記1つまたは複数のパスをアクティブ化するためのコンピュータ実行可能プログラム・コードとをさらに含む、請求項8に記載のコンピュータ・プログラム製品。
  10. 前記1つまたは複数のパス上のトラフィック・ミックスを調整することを前記改変アクションが含むかどうか判定することが、
    前記1つまたは複数のパス上のトラフィック・ミックスを調整することを前記改変アクションが含むと判定されるのに応答して、前記1つまたは複数のパス上の前記トラフィック・ミックスを調整することをさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  11. 前記通信ファブリックが統合バスを含み、前記統合バスが、アプリケーションの前記セット中のアプリケーションによって使用される通信プロトコルのセットをさらに含む、請求項8に記載のコンピュータ・プログラム製品。
  12. 所定の性能メトリックが、アプリケーションの前記セット中の特定のアプリケーションに関連する所定の許容度内にあるかどうかを、前記1つまたは複数のプロセッサによって判定するためのコンピュータ実行可能プログラム・コードが、
    規則のセットを使用するためのコンピュータ実行可能プログラム・コードをさらに含み、規則の前記セット中の各規則が性能指向型規則であり、統合コントローラが規則の前記セットを維持し、規則の前記セットが、アプリケーションの前記セット中の前記特定のアプリケーションについて得られた前記性能メトリックのうちの1つまたは複数との組合せで使用される、請求項8に記載のコンピュータ・プログラム製品。
  13. 前記1つまたは複数のプロセッサによって接続の前記セットを監視して、接続の前記セットに関連する性能メトリックのセットを収集するための前記コンピュータ実行可能プログラム・コードが、
    後で規則の前記セットと共に使用するために、性能メトリックの前記セットをキャッシュするためのコンピュータ実行可能プログラム・コードをさらに含む、請求項8に記載のコンピュータ・プログラム製品。
  14. 1つまたは複数のプロセッサに接続されたメモリ内に記憶されたコンピュータ実行可能命令を実行する前記1つまたは複数のプロセッサによって、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成するための前記コンピュータ実行可能プログラム・コードが、
    アプリケーションの前記セット中のアプリケーションに関連する要求についてのサービス定義およびサービス品質を含めた、性能メトリックの前記セット中の性能メトリックを、前記アプリケーションをシステムの他のコンポーネントと統合するのに使用される特定のプロトコルおよび統合チャネルにリンクするためのコンピュータ実行可能プログラム・コードをさらに含み、前記アプリケーションおよびアプリケーション・コンポーネントの各々が相互接続され、各接続が、デフォルト・パスを含むように定義された統合パスのセットを有する、請求項8に記載のコンピュータ・プログラム製品。
  15. 統合プロトコルの動的管理のための装置であって、
    通信ファブリックと、
    前記通信ファブリックに接続されたメモリであって、コンピュータ実行可能プログラム・コードを含む、前記メモリと、
    前記通信ファブリックに接続された通信ユニットと、
    前記通信ファブリックに接続された入出力ユニットと、
    前記通信ファブリックに接続された表示装置と、
    前記通信ファブリックに接続されたプロセッサ・ユニットとを備え、前記プロセッサ・ユニットが、前記コンピュータ実行可能プログラム・コードを実行して、前記装置に、
    アプリケーションのセットを前記通信ファブリックに接続して接続のセットを形成すること、
    接続の前記セットを監視して接続の前記セットに関連する性能メトリックのセットを収集すること、
    所定の性能メトリックが、アプリケーションの前記セット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定すること、および、
    前記所定の性能メトリックが、アプリケーションの前記セット中の前記特定のアプリケーションに関連する前記所定の許容度内にないと判定されるのに応答して、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションの前記セット中の前記特定のアプリケーションについての、接続の前記セット中の統合パスを調整すること、を行うように指示する、装置。
  16. 前記プロセッサ・ユニットが、前記コンピュータ実行可能プログラム・コードを実行して、前記装置に、各規則が性能指向型規則である規則のセットをプログラム的に使用して、アプリケーションの前記セット中の前記特定のアプリケーションについての、接続の前記セット中の統合パスを調整すること、を行うように指示する際、前記プロセッサ・ユニットが、前記装置に、
    1つまたは複数のパスの選択を改変することを調整アクションが含むかどうか判定すること、
    1つまたは複数のパスの選択を改変することを前記調整アクションが含むと判定されるのに応答して、前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含むかどうか判定すること、および、
    前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含むと判定されるのに応答して、前記1つまたは複数のパスをアクティブ化すること、を行うようにさらに指示する、請求項15に記載の装置。
  17. 前記プロセッサ・ユニットが、前記コンピュータ実行可能プログラム・コードを実行して、前記装置に、
    前記1つまたは複数のパスをアクティブ化することを前記改変アクションが含まないと判定されるのに応答して、前記1つまたは複数のパス上のトラフィック・ミックスを調整することを前記改変アクションが含むかどうか判定すること、および、
    前記1つまたは複数のパス上のトラフィック・ミックスを調整することを前記改変アクションが含むと判定されるのに応答して、前記1つまたは複数のパス上の前記トラフィック・ミックスを調整すること、を行うようにさらに指示する、請求項16に記載の装置。
  18. 前記通信ファブリックが統合バスを含み、前記統合バスが、アプリケーションの前記セット中のアプリケーションによって使用される通信プロトコルのセットをさらに含む、請求項15に記載の装置。
  19. 前記プロセッサ・ユニットが、前記コンピュータ実行可能プログラム・コードを実行して、前記装置に、所定の性能メトリックが、アプリケーションの前記セット中の特定のアプリケーションに関連する所定の許容度内にあるかどうか判定するように指示する際、前記プロセッサ・ユニットが、前記装置に、
    規則のセットを使用するようにさらに指示し、規則の前記セット中の各規則が性能指向型規則であり、統合コントローラが規則の前記セットを維持し、規則の前記セットが、アプリケーションの前記セット中の前記特定のアプリケーションについて得られた前記性能メトリックのうちの1つまたは複数との組合せで使用される、請求項15に記載の装置。
  20. 前記プロセッサ・ユニットが、前記コンピュータ実行可能プログラム・コードを実行して、前記装置に、アプリケーションのセットを通信ファブリックに接続して接続のセットを形成するように指示する際、前記プロセッサ・ユニットが、前記装置に、
    アプリケーションの前記セット中のアプリケーションに関連する要求についてのサービス定義およびサービス品質を含めた、性能メトリックの前記セット中の性能メトリックを、前記アプリケーションをシステムの他のコンポーネントと統合するのに使用される特定のプロトコルおよび統合チャネルにリンクするようにさらに指示し、前記アプリケーションおよびアプリケーション・コンポーネントの各々が相互接続され、各接続が、デフォルト・パスを含むように定義された統合パスのセットを有する、請求項15に記載の装置。
JP2016520203A 2013-06-21 2014-05-15 統合プロトコルの動的管理のためのコンピュータ実装プロセス、コンピュータ・プログラム製品、および装置(統合プロトコルの動的管理) Active JP6529488B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA2819539A CA2819539C (en) 2013-06-21 2013-06-21 Dynamic management of integration protocols
CA2819539 2013-06-21
PCT/CA2014/050458 WO2014201553A1 (en) 2013-06-21 2014-05-15 Dynamic management of integration protocols

Publications (2)

Publication Number Publication Date
JP2016524879A true JP2016524879A (ja) 2016-08-18
JP6529488B2 JP6529488B2 (ja) 2019-06-12

Family

ID=52103738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016520203A Active JP6529488B2 (ja) 2013-06-21 2014-05-15 統合プロトコルの動的管理のためのコンピュータ実装プロセス、コンピュータ・プログラム製品、および装置(統合プロトコルの動的管理)

Country Status (6)

Country Link
US (1) US10348588B2 (ja)
JP (1) JP6529488B2 (ja)
CN (1) CN105340219B (ja)
CA (1) CA2819539C (ja)
GB (1) GB2529601B (ja)
WO (1) WO2014201553A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348588B2 (en) 2013-06-21 2019-07-09 International Business Machines Corporation Dynamic management of integration protocols

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9848223B2 (en) * 2016-03-15 2017-12-19 Adobe Systems Incorporated Automatically determining restored availability of multi-channel media distributors for authentication or authorization

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09289531A (ja) * 1996-04-24 1997-11-04 Hitachi Ltd ネットワークにおける通信プロトコル自動選択装置及びその方法
JP2005027304A (ja) * 2003-06-30 2005-01-27 Microsoft Corp 接続操作を用いるネットワーク負荷分散
US7275103B1 (en) * 2002-12-18 2007-09-25 Veritas Operating Corporation Storage path optimization for SANs
JP2009075718A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd 仮想i/oパスの管理方法、情報処理システム及びプログラム
US20090248917A1 (en) * 2008-03-31 2009-10-01 International Business Machines Corporation Using priority to determine whether to queue an input/output (i/o) request directed to storage
US7773622B2 (en) * 2001-12-19 2010-08-10 Mcdata Services Corporation Deferred queuing in a buffered switch

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738975B1 (en) 1998-11-18 2004-05-18 Software Ag, Inc. Extensible distributed enterprise application integration system
US6618378B1 (en) * 1999-07-21 2003-09-09 Alcatel Canada Inc. Method and apparatus for supporting multiple class of service connections in a communications network
US7269580B2 (en) 2000-10-03 2007-09-11 Celcorp, Inc. Application integration system and method using intelligent agents for integrating information access over extended networks
AU2001226208A1 (en) 2000-11-01 2002-05-21 Seebeyond Technology Corporation Sytems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects
US7373349B2 (en) 2001-04-18 2008-05-13 International Business Machines Corporation Process for data driven application integration for B2B
US7227841B2 (en) * 2001-07-31 2007-06-05 Nishan Systems, Inc. Packet input thresholding for resource distribution in a network switch
US7546462B2 (en) 2001-10-18 2009-06-09 Bea Systems, Inc. Systems and methods for integration adapter security
US20030204593A1 (en) 2002-04-25 2003-10-30 International Business Machines Corporation System and method for dynamically altering connections in a data processing network
WO2003096669A2 (en) 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
US7404185B2 (en) 2003-12-02 2008-07-22 International Business Machines Corporation Method and apparatus of adaptive integration activity management for business application integration
US7843843B1 (en) * 2004-03-29 2010-11-30 Packeteer, Inc. Adaptive, application-aware selection of differntiated network services
US7496661B1 (en) * 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US7644184B2 (en) 2004-12-08 2010-01-05 International Business Machines Corporation Universal adapter
US9654383B2 (en) * 2005-08-17 2017-05-16 Avaya Inc. Route optimization using measured congestion
US7606159B2 (en) * 2005-08-30 2009-10-20 Cisco Technology, Inc. Method and apparatus for updating best path based on real-time congestion feedback
GB0702603D0 (en) * 2006-05-05 2007-03-21 Omnifone Ltd Pc client
EP1936907A1 (en) * 2006-12-12 2008-06-25 The Sporting Exchange Ltd. Transaction processing system
US7584394B2 (en) * 2007-07-18 2009-09-01 International Business Machines Corporation System and method for pseudo-random test pattern memory allocation for processor design verification and validation
US8645960B2 (en) * 2007-07-23 2014-02-04 Redknee Inc. Method and apparatus for data processing using queuing
WO2010127266A1 (en) 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for providing a virtual appliance in an application delivery fabric
US9009709B2 (en) * 2010-03-16 2015-04-14 Salesforce.Com, Inc. Asynchronous rollup numbers forecasting methods and systems
US8856364B2 (en) * 2011-03-11 2014-10-07 Google Inc. Conducting opportunistic network updates on a mobile device
JP2013258525A (ja) * 2012-06-12 2013-12-26 Hitachi Ltd 無線通信システム、ゲートウェイ装置、及びデータ配信方法
US8891357B2 (en) * 2012-08-31 2014-11-18 Cisco Technology, Inc. Switching to a protection path without causing packet reordering
CA2791771C (en) * 2012-10-05 2019-09-10 Ibm Canada Limited - Ibm Canada Limitee Dynamic and selective management of integration points using performance metrics
US8736629B1 (en) * 2012-11-21 2014-05-27 Ncomputing Inc. System and method for an efficient display data transfer algorithm over network
US9077758B1 (en) * 2013-03-14 2015-07-07 Mobile System 7 Test mode authorization logging
CA2819539C (en) 2013-06-21 2021-01-12 Ibm Canada Limited - Ibm Canada Limitee Dynamic management of integration protocols

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09289531A (ja) * 1996-04-24 1997-11-04 Hitachi Ltd ネットワークにおける通信プロトコル自動選択装置及びその方法
US7773622B2 (en) * 2001-12-19 2010-08-10 Mcdata Services Corporation Deferred queuing in a buffered switch
US7275103B1 (en) * 2002-12-18 2007-09-25 Veritas Operating Corporation Storage path optimization for SANs
JP2005027304A (ja) * 2003-06-30 2005-01-27 Microsoft Corp 接続操作を用いるネットワーク負荷分散
JP2009075718A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd 仮想i/oパスの管理方法、情報処理システム及びプログラム
US20090248917A1 (en) * 2008-03-31 2009-10-01 International Business Machines Corporation Using priority to determine whether to queue an input/output (i/o) request directed to storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348588B2 (en) 2013-06-21 2019-07-09 International Business Machines Corporation Dynamic management of integration protocols

Also Published As

Publication number Publication date
WO2014201553A1 (en) 2014-12-24
CN105340219A (zh) 2016-02-17
CA2819539C (en) 2021-01-12
US10348588B2 (en) 2019-07-09
CA2819539A1 (en) 2014-12-21
GB2529601B (en) 2016-08-10
GB2529601A (en) 2016-02-24
GB201522214D0 (en) 2016-01-27
JP6529488B2 (ja) 2019-06-12
US20160127212A1 (en) 2016-05-05
CN105340219B (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
US10255052B2 (en) Dynamic deployment of an application based on micro-services
US10187461B2 (en) Configuring a system to collect and aggregate datasets
US8838830B2 (en) Optimizing distributed computer networks
EP2974174B1 (en) Supporting arbitrary routing criteria in software defined networks
US8276140B1 (en) Adjustable virtual network performance
US9473550B2 (en) Multifusion of a stream operator in a streaming application
US7921195B2 (en) Optimizing service processing based on business information, operational intelligence, and self-learning
US9253058B2 (en) Deploying an executable with historical performance data
US20150263979A1 (en) Method and apparatus for a highly scalable, multi-cloud service deployment, orchestration and delivery
US20150263906A1 (en) Method and apparatus for ensuring application and network service performance in an automated manner
KR20170015314A (ko) 네트워크 업데이트의 동적 스케줄링 기법
US10419553B2 (en) Dynamic docker pool recycling
CN103430150A (zh) 在云计算系统中创建资源的技术
US11165707B2 (en) Dynamic policy implementation for application-aware routing based on granular business insights
US10536505B2 (en) Intelligent data transmission by network device agent
US9191330B2 (en) Path selection for network service requests
US10713591B2 (en) Adaptive metric pruning
Giunta et al. Providing QoS strategies and cloud‐integration to web servers by means of aspects
US20190342189A1 (en) Real-time ranking of monitored entities
EP3616061A1 (en) Hyper dynamic java management extension
JP6529488B2 (ja) 統合プロトコルの動的管理のためのコンピュータ実装プロセス、コンピュータ・プログラム製品、および装置(統合プロトコルの動的管理)
US10644971B2 (en) Graph search in structured query language style query
CN116529719A (zh) 流应用程序中退化处理元素的动态更换
US9674060B2 (en) Dynamic and selective management of integration points using performance metrics
Shailesh et al. An analysis of techniques and quality assessment for Web performance optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190514

R150 Certificate of patent or registration of utility model

Ref document number: 6529488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150