JP7448881B2 - Data linkage system and API platform - Google Patents

Data linkage system and API platform Download PDF

Info

Publication number
JP7448881B2
JP7448881B2 JP2020055178A JP2020055178A JP7448881B2 JP 7448881 B2 JP7448881 B2 JP 7448881B2 JP 2020055178 A JP2020055178 A JP 2020055178A JP 2020055178 A JP2020055178 A JP 2020055178A JP 7448881 B2 JP7448881 B2 JP 7448881B2
Authority
JP
Japan
Prior art keywords
data
api
predicted
processing
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.)
Active
Application number
JP2020055178A
Other languages
Japanese (ja)
Other versions
JP2021157341A (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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2020055178A priority Critical patent/JP7448881B2/en
Priority to US17/205,295 priority patent/US11366706B2/en
Publication of JP2021157341A publication Critical patent/JP2021157341A/en
Application granted granted Critical
Publication of JP7448881B2 publication Critical patent/JP7448881B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数の情報システムが保持しているデータを収集して蓄積するデータ連携システムおよびAPIプラットフォームに関する。 The present invention relates to a data collaboration system and an API platform that collect and accumulate data held by multiple information systems.

従来、SaaS(Software as a Service)間でのデータ連携処理に対応した所定アルゴリズムの実行結果を取得するAPI(Application Program Interface)を提供するシステムが知られている(例えば、特許文献1参照。)。 BACKGROUND ART Conventionally, a system is known that provides an API (Application Program Interface) that obtains the execution result of a predetermined algorithm corresponding to data linkage processing between SaaS (Software as a Service) (for example, see Patent Document 1). .

特開2016-224578号公報Japanese Patent Application Publication No. 2016-224578

しかしながら、特許文献1には、APIの利用の要求に応じて実行する処理の負担に応じた振る舞いについては記載されていない。 However, Patent Document 1 does not describe behavior depending on the load of processing executed in response to a request to use an API.

そこで、本発明は、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができるデータ連携システムおよびAPIプラットフォームを提供することを目的とする。 Therefore, an object of the present invention is to provide a data linkage system and an API platform that can behave according to the load of processing executed in response to a request for use of an API.

本発明のデータ連携システムは、情報システムが保持しているデータを収集するデータ収集システムと、前記データ収集システムによって収集されたデータを蓄積するデータ蓄積システムと、前記データ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームとを備え、前記APIプラットフォームは、前記APIの利用の要求に応じて前記データ蓄積システムからデータを取得する処理の未実行分の数が、前記処理の能力を増加させる特定の条件を満たす場合に、前記能力を増加させることを特徴とする。 The data linkage system of the present invention includes a data collection system that collects data held by an information system, a data storage system that stores data collected by the data collection system, and data stored by the data storage system. an API platform that provides an API (Application Program Interface) for acquiring data based on the data from the data accumulation system, and the API platform acquires data from the data accumulation system in response to a request for use of the API. The capacity is increased when the number of unexecuted processes for acquiring the process satisfies a specific condition for increasing the capacity of the process.

この構成により、本発明のデータ連携システムは、APIの利用の要求に応じてデータ蓄積システムからデータを取得する処理の未実行分の数が、この処理の能力を増加させる特定の条件を満たす場合に、この処理の能力を増加させるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 With this configuration, the data linkage system of the present invention can be used when the number of unexecuted processes for acquiring data from a data storage system in response to a request for using an API satisfies a specific condition for increasing the capacity of this process. In addition, since the processing capacity is increased, it is possible to behave according to the load of the processing executed in response to the request for using the API.

本発明のデータ連携システムにおいて、前記APIプラットフォームは、前記数が、前記能力を減少させる特定の条件を満たす場合に、前記能力を減少させても良い。 In the data linkage system of the present invention, the API platform may reduce the capacity when the number satisfies a specific condition for reducing the capacity.

この構成により、本発明のデータ連携システムは、APIの利用の要求に応じてデータ蓄積システムからデータを取得する処理の未実行分の数が、この処理の能力を減少させる特定の条件を満たす場合に、この処理の能力を減少させるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 With this configuration, the data linkage system of the present invention can be used when the number of unexecuted processes for acquiring data from a data storage system in response to a request for using an API satisfies a specific condition that reduces the capacity of this process. In addition, since the capacity of this processing is reduced, it is possible to behave according to the load of processing executed in response to a request for use of the API.

本発明のデータ連携システムにおいて、前記APIプラットフォームは、前記処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた前記処理の分類毎に前記能力を変更させても良い。 In the data linkage system of the present invention, the API platform includes a predicted processing time level indicating a degree of predicted processing time, which is the time predicted to take the process, and data predicted to respond to the request. The ability may be changed for each classification of the processing based on at least one of a predicted response data amount level indicating the extent of the predicted response data amount.

この構成により、本発明のデータ連携システムは、APIの利用の要求に応じてデータ蓄積システムからデータを取得する処理の、予測処理時間レベルおよび予測応答データ量レベルの少なくとも1つに基づいた分類毎に、この処理の能力を変更させるので、この処理を、この処理の予測処理時間レベルおよび予測応答データ量レベルの少なくとも1つに応じた適切なサーバーによって実行することができる。したがって、本発明のデータ連携システムは、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 With this configuration, the data linkage system of the present invention can classify data based on at least one of the predicted processing time level and the predicted response data amount level of the process of acquiring data from the data storage system in response to a request for the use of an API. Since the capability of this process is changed, this process can be executed by an appropriate server according to at least one of a predicted processing time level and a predicted response data amount level of this process. Therefore, the data linkage system of the present invention can behave according to the load of processing executed in response to a request for use of the API.

本発明のAPIプラットフォームは、情報システムが保持しているデータを収集するデータ収集システムによって収集されたデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームであって、前記APIの利用の要求に応じて前記データ蓄積システムからデータを取得する処理の未実行分の数が、前記処理の能力を増加させる特定の条件を満たす場合に、前記能力を増加させることを特徴とする。 The API platform of the present invention acquires data based on data accumulated by a data accumulation system that accumulates data collected by a data collection system that collects data held by an information system. An API platform that provides an API (Application Program Interface) for use of the API, wherein the number of unexecuted processes for acquiring data from the data storage system in response to a request for use of the API increases the capacity of the process. The feature is that the ability is increased when specific conditions for increasing the ability are met.

この構成により、本発明のAPIプラットフォームは、APIの利用の要求に応じてデータ蓄積システムからデータを取得する処理の未実行分の数が、この処理の能力を増加させる特定の条件を満たす場合に、この処理の能力を増加させるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 With this configuration, the API platform of the present invention can be used when the number of unexecuted processes for acquiring data from a data storage system in response to a request for using the API satisfies a specific condition for increasing the capacity of this process. , increases the capacity of this processing, so that it can behave according to the load of the processing executed in response to the request for the use of the API.

本発明のデータ連携システムおよびAPIプラットフォームは、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 The data linkage system and API platform of the present invention can behave according to the processing load to be executed in response to a request for using the API.

本発明の一実施の形態に係るシステムのブロック図である。FIG. 1 is a block diagram of a system according to an embodiment of the present invention. 図1に示すAPIプラットフォームのブロック図である。2 is a block diagram of the API platform shown in FIG. 1. FIG. 図2に示すAPIコントローラーによって取得される予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンの一例を示す図である。3 is a diagram showing an example of a pattern of combinations of a predicted processing time level and a predicted response data amount level acquired by the API controller shown in FIG. 2. FIG. 図2に示すキューの識別情報であるキューIDと、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンとの対応関係の一例を示す図である。3 is a diagram illustrating an example of the correspondence between a queue ID, which is the identification information of the queue illustrated in FIG. 2, and a pattern of combinations of a predicted processing time level and a predicted response data amount level. FIG. 外部システムからのAPIの利用の要求に対して応答する場合の図1に示すシステムの概略の動作のシーケンス図である。FIG. 2 is a sequence diagram schematically illustrating the operation of the system shown in FIG. 1 when responding to a request to use an API from an external system. 処理要求メッセージを格納するキューを特定する場合の図1に示すシステムの動作のシーケンス図である。FIG. 2 is a sequence diagram of the operation of the system shown in FIG. 1 when identifying a queue that stores a processing request message. 外部システムからAPIプラットフォームへのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合の図1に示すシステムの動作のシーケンス図である。FIG. 2 is a sequence diagram of the operation of the system shown in FIG. 1 when performing machine learning on the correlation between the contents of a request for API usage from an external system to an API platform, processing time, and response data amount. バックエンドの数を増加させる場合の図2に示すAPIコントローラーの動作のフローチャートである。3 is a flowchart of the operation of the API controller shown in FIG. 2 when increasing the number of back ends. バックエンドの数を減少させる場合の図2に示すAPIコントローラーの動作のフローチャートである。3 is a flowchart of the operation of the API controller shown in FIG. 2 when the number of backends is reduced.

以下、本発明の実施の形態について、図面を用いて説明する。 Embodiments of the present invention will be described below with reference to the drawings.

まず、本発明の一実施の形態に係るシステムの構成について説明する。 First, the configuration of a system according to an embodiment of the present invention will be described.

図1は、本実施の形態に係るシステム10のブロック図である。 FIG. 1 is a block diagram of a system 10 according to this embodiment.

図1に示すように、システム10は、データを生み出すデータソース部20と、データソース部20によって生み出されたデータを連携するデータ連携システム30とを備えている。 As shown in FIG. 1, the system 10 includes a data source unit 20 that generates data, and a data linkage system 30 that links the data generated by the data source unit 20.

データソース部20は、データを生み出す情報システム21を備えている。情報システム21は、情報システム21の構成や設定を保存する構成管理サーバー21aを備えている。データソース部20は、情報システム21以外にも、少なくとも1つの情報システムを備えていても良い。情報システムの例としては、MFP(Multifunction Peripheral)、プリンター専用機などの画像形成装置を遠隔で管理する遠隔管理システムなどのIoT(Internet of Things)システムと、ERP(Enterprise Resource Planning)、生産管理システムなどの社内システムとが存在する。情報システムのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。情報システムのそれぞれは、パブリック・クラウド上に構築されても良い。情報システムは、構造化データのファイルを保持しても良い。情報システムは、非構造化データのファイルを保持しても良い。情報システムは、構造化データのデータベースを保持しても良い。 The data source section 20 includes an information system 21 that generates data. The information system 21 includes a configuration management server 21a that stores the configuration and settings of the information system 21. The data source unit 20 may include at least one information system other than the information system 21. Examples of information systems include IoT (Internet of Things) systems such as remote management systems that remotely manage image forming devices such as MFPs (Multifunction Peripherals) and dedicated printers, ERP (Enterprise Resource Planning), and production management systems. There are internal systems such as Each of the information systems may be configured by one computer or multiple computers. Each of the information systems may be built on a public cloud. The information system may maintain files of structured data. An information system may maintain files of unstructured data. The information system may maintain a database of structured data.

データソース部20は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTコネクター22を備えている。データソース部20は、POSTコネクター22と同様の構成のPOSTコネクターをPOSTコネクター22以外に少なくとも1つ備えても良い。POSTコネクターは、POSTコネクター自身がファイルを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTコネクターは、データ連携システム30の構成でもある。 The data source unit 20 serves as a data collection system that acquires structured data or unstructured data files held by the information system and sends the acquired files to a pipeline described below of the data linkage system 30. It is equipped with a POST connector 22. The data source unit 20 may include at least one POST connector having the same configuration as the POST connector 22 in addition to the POST connector 22. The POST connector may be configured by a computer that constitutes an information system from which the POST connector itself retrieves files. Note that the POST connector is also a component of the data linkage system 30.

データソース部20は、情報システムが保持している構造化データのデータベースから構造化データを取得して、取得した構造化データをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTエージェント23を備えている。データソース部20は、POSTエージェント23と同様の構成のPOSTエージェントをPOSTエージェント23以外に少なくとも1つ備えても良い。POSTエージェントは、POSTエージェント自身が構造化データを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTエージェントは、データ連携システム30の構成でもある。 The data source unit 20 serves as a data collection system that acquires structured data from a database of structured data held by the information system and sends the acquired structured data to a pipeline described below of the data linkage system 30. It is equipped with a POST agent 23. The data source unit 20 may include at least one POST agent having the same configuration as the POST agent 23 in addition to the POST agent 23. The POST agent may be configured by a computer that configures an information system from which the POST agent itself acquires structured data. Note that the POST agent is also a component of the data coordination system 30.

データソース部20は、情報システムが保持しているデータに基づいて連携用の構造化データを生成するデータ収集システムとしてのGET用エージェント24を備えている。データソース部20は、GET用エージェント24と同様の構成のGET用エージェントをGET用エージェント24以外に少なくとも1つ備えても良い。GET用エージェントは、連携用の構造化データの生成の元になったデータを保持している情報システムを構成するコンピューターによって構成されても良い。なお、GET用エージェントは、データ連携システム30の構成でもある。 The data source unit 20 includes a GET agent 24 as a data collection system that generates structured data for collaboration based on data held by the information system. The data source unit 20 may include at least one GET agent having the same configuration as the GET agent 24 in addition to the GET agent 24 . The GET agent may be configured by a computer that configures an information system that holds data that is the source of generation of structured data for collaboration. Note that the GET agent is also a component of the data linkage system 30.

データ連携システム30は、データソース部20によって生み出されたデータを蓄積するデータ蓄積システム40と、データ蓄積システム40に蓄積されているデータを利用するアプリケーション部50と、データ蓄積システム40およびアプリケーション部50に対する各種の制御を実行する制御サービス部60とを備えている。 The data cooperation system 30 includes a data storage system 40 that stores data generated by the data source section 20, an application section 50 that uses data stored in the data storage system 40, and a data storage system 40 and an application section 50 that use the data stored in the data storage system 40. and a control service unit 60 that executes various types of control.

データ蓄積システム40は、データソース部20によって生み出されたデータを蓄積するパイプライン41を備えている。データ蓄積システム40は、パイプライン41以外にも、少なくとも1つのパイプラインを備えていても良い。情報システムにおけるデータの構成が情報システム毎に異なる可能性があるので、データ蓄積システム40は、基本的に、情報システム毎にパイプラインを備えている。パイプラインのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。 The data storage system 40 includes a pipeline 41 that stores data generated by the data source unit 20. The data storage system 40 may include at least one pipeline other than the pipeline 41. Since the configuration of data in an information system may differ from one information system to another, the data storage system 40 basically includes a pipeline for each information system. Each of the pipelines may be configured by one computer or multiple computers.

データ蓄積システム40は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをパイプラインに連携するデータ収集システムとしてのGETコネクター42を備えている。データ蓄積システム40は、GETコネクター42と同様の構成のGETコネクターをGETコネクター42以外に少なくとも1つ備えても良い。GETコネクターは、GETコネクター自身がファイルを連携するパイプラインを構成するコンピューターによって構成されても良い。 The data storage system 40 includes a GET connector 42 as a data collection system that acquires structured data or unstructured data files held by the information system and links the acquired files to the pipeline. . The data storage system 40 may include at least one GET connector having the same configuration as the GET connector 42 in addition to the GET connector 42. The GET connector may be configured by a computer that configures a pipeline in which the GET connector itself links files.

なお、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTコネクターを備える。一方、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データ蓄積システム40にGETコネクターを備える。 Note that the system 10 includes a POST connector in the data source unit 20 for information systems that do not support acquiring structured data or unstructured data files from the data storage system 40 side. On the other hand, the system 10 includes a GET connector in the data storage system 40 for information systems that support the acquisition of structured data or unstructured data files from the data storage system 40 side.

データ蓄積システム40は、GET用エージェントによって生成された構造化データを取得して、取得した構造化データをパイプラインに連携するデータ収集システムとしてのGETエージェント43を備えている。データ蓄積システム40は、GETエージェント43と同様の構成のGETエージェントをGETエージェント43以外に少なくとも1つ備えても良い。GETエージェントは、GETエージェント自身が構造化データを連携するパイプラインを構成するコンピューターによって構成されても良い。 The data storage system 40 includes a GET agent 43 as a data collection system that acquires structured data generated by the GET agent and links the acquired structured data to a pipeline. The data storage system 40 may include at least one GET agent having the same configuration as the GET agent 43 in addition to the GET agent 43. The GET agent may be configured by a computer that configures a pipeline in which the GET agent itself links structured data.

なお、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTエージェントを備える。一方、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データソース部20にGET用エージェントを備えるとともに、データ蓄積システム40にGETエージェントを備える。 Note that the system 10 includes a POST agent in the data source unit 20 for information systems that do not support structured data being acquired from the data storage system 40 side. On the other hand, for an information system that supports structured data being acquired from the data storage system 40 side, the system 10 includes a GET agent in the data source unit 20 and a GET agent in the data storage system 40. Equipped with an agent.

データ蓄積システム40は、複数のパイプラインによって蓄積されたデータを、例えばSQLなどのデータベース言語などのクエリー言語で検索や集計が可能な形態に変換するデータ変換処理として最終変換処理を実行するデータ変換システムとしてのビッグデータ解析部44を備えている。ビッグデータ解析部44は、最終変換処理を実行したデータに対して、アプリケーション部50側からの検索要求や集計要求に応じて検索や集計を実行することも可能である。ビッグデータ解析部44は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。 The data accumulation system 40 performs a final conversion process as a data conversion process to convert data accumulated by multiple pipelines into a form that can be searched and aggregated using a query language such as a database language such as SQL. It is equipped with a big data analysis section 44 as a system. The big data analysis unit 44 can also perform a search or aggregation on the data that has undergone the final conversion process in response to a search request or aggregation request from the application unit 50 side. The big data analysis unit 44 may be configured by one computer or multiple computers.

最終変換処理は、複数の情報システムのデータを統合するデータ統合処理をデータ変換処理として含んでいても良い。アジアに配置されている多数の画像形成装置を遠隔で管理するためにアジアに配置されている遠隔管理システムと、ヨーロッパに配置されている多数の画像形成装置を遠隔で管理するためにヨーロッパに配置されている遠隔管理システムと、アメリカに配置されている多数の画像形成装置を遠隔で管理するためにアメリカに配置されている遠隔管理システムとをシステム10が情報システムとして備えている場合、これら3つの遠隔管理システムは、それぞれ、遠隔管理システム自身が管理している画像形成装置を管理するデバイス管理テーブルを備えている。デバイス管理テーブルは、画像形成装置毎に付与したIDに対応付けて、画像形成装置の各種の情報を示す情報である。ここで、3つの遠隔管理システムがそれぞれ独自にデバイス管理テーブルを備えているので、3つの遠隔管理システムのデバイス管理テーブル間においては、別々の画像形成装置に同一のIDが付与されている可能性がある。そこで、ビッグデータ解析部44は、3つの遠隔管理システムのデバイス管理テーブルを統合して1つのデバイス管理テーブルを生成する場合に、画像形成装置のIDを重複が生じないように付与し直す。 The final conversion process may include a data integration process that integrates data from a plurality of information systems as a data conversion process. A remote management system is located in Asia to remotely manage a large number of image forming devices located in Asia, and a remote management system is located in Europe to remotely manage a large number of image forming devices located in Europe. If the system 10 includes, as an information system, a remote management system located in the United States and a remote management system located in the United States for remotely managing a large number of image forming apparatuses located in the United States, these three Each of the two remote management systems includes a device management table for managing the image forming apparatuses that the remote management system itself manages. The device management table is information indicating various types of information about the image forming apparatus in association with an ID assigned to each image forming apparatus. Here, since each of the three remote management systems has its own device management table, there is a possibility that the same ID is assigned to different image forming apparatuses in the device management tables of the three remote management systems. There is. Therefore, when the big data analysis unit 44 integrates the device management tables of three remote management systems to generate one device management table, the big data analysis unit 44 reassigns the IDs of the image forming apparatuses so that no duplication occurs.

アプリケーション部50は、ビッグデータ解析部44によって管理されているデータを利用して、例えばデータの表示や、データの分析など、利用者によって指示された特定の動作を実行するアプリケーションサービス51を備えている。アプリケーション部50は、アプリケーションサービス51以外にも、少なくとも1つのアプリケーションサービスを備えていても良い。アプリケーションサービスのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。アプリケーションサービスは、例えば、BI(Business Intelligence)ツール、SaaS(Software as a Service)サーバーなどである。 The application unit 50 includes an application service 51 that uses the data managed by the big data analysis unit 44 to perform specific operations instructed by the user, such as data display and data analysis. There is. The application unit 50 may include at least one application service other than the application service 51. Each of the application services may be configured by one computer or multiple computers. Application services include, for example, BI (Business Intelligence) tools, SaaS (Software as a Service) servers, and the like.

アプリケーション部50は、ビッグデータ解析部44によって管理されているデータを利用して特定の動作を実行するAPI(Application Program Interface)を提供するAPIプラットフォーム52を備えている。APIプラットフォーム52は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。APIプラットフォーム52によって提供されるAPIは、システム10の外部の、例えば、BIツール、SaaSサーバーなどのシステムから呼び出されても良いし、アプリケーション部50のアプリケーションサービスから呼び出されても良い。APIプラットフォーム52によって提供されるAPIは、データ蓄積システム40によって蓄積されているデータに基づいたデータをデータ蓄積システム40から取得するためのAPIである。例えば、APIプラットフォーム52によって提供されるAPIとしては、画像形成装置のトナーなどの消耗品の残量が特定の量以下である場合に消耗品を発注する、システム10の外部の消耗品発注システムに、遠隔管理システムによって画像形成装置から収集された消耗品の残量のデータを送信するAPIと、画像形成装置の故障を予測する、システム10の外部の故障予測システムに、遠隔管理システムによって画像形成装置から収集された各種のデータを送信するAPIと、遠隔管理システムによって画像形成装置から収集された、印刷枚数を示すカウンター情報を、システム10の外部のシステムに送信するAPIと、システム10の利用者の利用状況を示すデータをシステム10の外部のシステムに送信するAPIと、システム10が管理しているデータに基づいた任意のデータを取得するための検索クエリーを受け付けるためのAPIとが存在する。 The application unit 50 includes an API platform 52 that provides an API (Application Program Interface) that executes specific operations using data managed by the big data analysis unit 44. The API platform 52 may be configured by one computer or multiple computers. The API provided by the API platform 52 may be called from a system external to the system 10, such as a BI tool or a SaaS server, or may be called from an application service of the application unit 50. The API provided by the API platform 52 is an API for acquiring data from the data storage system 40 based on data stored by the data storage system 40. For example, the API provided by the API platform 52 is an API provided to a consumables ordering system external to the system 10 that orders consumables when the remaining amount of consumables such as toner in an image forming apparatus is below a certain amount. , an API that sends data on the remaining amount of consumables collected from the image forming apparatus by the remote management system, and a failure prediction system external to the system 10 that predicts failures of the image forming apparatus. An API for transmitting various data collected from the apparatus, an API for transmitting counter information indicating the number of printed sheets collected from the image forming apparatus by a remote management system to a system external to the system 10, and use of the system 10. There is an API that sends data indicating user usage status to a system outside the system 10, and an API that accepts a search query to obtain arbitrary data based on data managed by the system 10. .

以下、APIプラットフォーム52の外部のシステムを単に外部システムという。外部システムには、システム10の外部のシステムや、アプリケーション部50のアプリケーションサービスが含まれる。 Hereinafter, a system external to the API platform 52 will be simply referred to as an external system. The external system includes a system external to the system 10 and an application service of the application unit 50.

図2は、APIプラットフォーム52のブロック図である。 FIG. 2 is a block diagram of API platform 52.

図2に示すように、APIプラットフォーム52は、外部システムからのAPIの利用の要求を受け付けるフロントエンド部70と、フロントエンド部70が受け付けた要求に応じた応答データを作成するデータ作成部80とを備えている。 As shown in FIG. 2, the API platform 52 includes a front end unit 70 that receives requests for API usage from external systems, and a data creation unit 80 that creates response data in response to requests received by the front end unit 70. It is equipped with

フロントエンド部70は、外部システムに公開されるエンドポイントであるLB(Load Balancer)71と、外部システムとの接続を確立するフロントエンドProxy72とを備えている。フロントエンド部70は、フロントエンドProxy72以外にも、フロントエンドProxy72と同様の構成のフロントエンドProxyを少なくとも1つ備えていても良い。 The front end unit 70 includes an LB (Load Balancer) 71 that is an end point exposed to an external system, and a front end Proxy 72 that establishes a connection with the external system. In addition to the front end Proxy 72, the front end unit 70 may include at least one front end Proxy having the same configuration as the front end Proxy 72.

LB71は、外部システムからのAPIの利用の要求をラウンドロビン方式によっていずれかのフロントエンドProxyに通知する。 The LB 71 notifies one of the front end proxies of a request to use the API from an external system using a round robin method.

フロントエンドProxy72は、LB71から通知された、APIの利用の要求をラウンドロビン方式によって、後述の、いずれかのAPIサーバーに通知する。 The front end Proxy 72 notifies one of the API servers (described later) of the request to use the API notified from the LB 71 using a round robin method.

データ作成部80は、データ作成部インスタンス81を備えている。データ作成部80は、データ作成部インスタンス81以外にも、データ作成部インスタンス81と同様の構成のデータ作成部インスタンスを少なくとも1つ備えていても良い。 The data creation unit 80 includes a data creation unit instance 81. In addition to the data creation unit instance 81, the data creation unit 80 may include at least one data creation unit instance having the same configuration as the data creation unit instance 81.

データ作成部インスタンス81は、ビッグデータ解析部44(図1参照。)によって管理されているデータを利用して特定の動作を実行するAPIを提供するAPIサーバー82を備えている。データ作成部インスタンス81は、APIサーバー82以外にも、APIサーバー82と同様の構成のAPIサーバーを少なくとも1つ備えていても良い。 The data creation unit instance 81 includes an API server 82 that provides an API for executing specific operations using data managed by the big data analysis unit 44 (see FIG. 1). In addition to the API server 82, the data creation unit instance 81 may include at least one API server having the same configuration as the API server 82.

データ作成部インスタンス81は、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理にかかると予測される時間(以下「予測処理時間」という。)の程度を示す予測処理時間レベルと、外部システムからのAPIの利用の要求に対して応答することが予測されるデータの量(以下「予測応答データ量」という。)の程度を示す予測応答データ量レベルとを制御サービス部60(図1参照。)から取得するAPIコントローラー83を備えている。 The data creation unit instance 81 has a predicted processing time that indicates the amount of time (hereinafter referred to as "predicted processing time") that is predicted to take to process data acquisition in response to a request to use an API from an external system. control service unit, and a predicted response data volume level indicating the amount of data expected to respond to a request for API usage from an external system (hereinafter referred to as "predicted response data volume"). 60 (see FIG. 1).

図3は、APIコントローラー83によって取得される予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンの一例を示す図である。 FIG. 3 is a diagram showing an example of a pattern of combinations of the predicted processing time level and the predicted response data amount level acquired by the API controller 83.

図3に示す例において、予測処理時間レベルは、予測処理時間が特定の範囲内であることを示す「普通」と、予測処理時間が特定の範囲の上限より長いことを示す「長」と、予測処理時間が特定の範囲の下限より短いことを示す「短」とを含んでいる。予測応答データ量レベルは、予測応答データ量が特定の範囲内であることを示す「普通」と、予測応答データ量が特定の範囲の上限より多いことを示す「多」と、予測応答データ量が特定の範囲の下限より少ないことを示す「少」とを含んでいる。図3に示す例において、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンは、パターンA~パターンIの9パターンである。 In the example shown in FIG. 3, the predicted processing time levels are "normal" indicating that the predicted processing time is within a specific range, and "long" indicating that the predicted processing time is longer than the upper limit of the specific range. It includes "short" indicating that the predicted processing time is shorter than the lower limit of the specific range. The predicted response data amount level is "normal" indicating that the amount of predicted response data is within a specific range, "high" indicating that the amount of predicted response data is greater than the upper limit of the specific range, and the amount of predicted response data. contains the word "less" to indicate that it is less than the lower limit of a specific range. In the example shown in FIG. 3, there are nine combination patterns of the predicted processing time level and the predicted response data amount level, pattern A to pattern I.

図2に示すように、データ作成部インスタンス81は、外部システムから利用が要求されたAPIに応じた処理の要求を示す処理要求メッセージを格納するキュー84を備えている。データ作成部インスタンス81は、キュー84以外にも、キュー84と同様の構成のキューを少なくとも1つ備えていても良い。キューは、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎に設けられている。 As shown in FIG. 2, the data creation unit instance 81 includes a queue 84 that stores a processing request message indicating a request for processing according to an API requested to be used by an external system. In addition to the queue 84, the data creation unit instance 81 may include at least one queue having a similar configuration to the queue 84. A queue is provided for each classification based on a pattern of combinations of predicted processing time level and predicted response data amount level.

図4は、キューの識別情報であるキューIDと、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンとの対応関係の一例を示す図である。 FIG. 4 is a diagram showing an example of the correspondence between a queue ID, which is queue identification information, and a combination pattern of a predicted processing time level and a predicted response data amount level.

図4に示すように、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類は、例えば、パターンAおよびパターンDが同一の分類でも良いし、パターンHおよびパターンIが同一の分類でも良い。なお、図4は、一部のキューについての情報が省略されて描かれている。 As shown in FIG. 4, the classification based on the pattern of the combination of the predicted processing time level and the predicted response data amount level may be such that, for example, pattern A and pattern D are classified as the same, or pattern H and pattern I are classified as the same. It can also be classified. Note that FIG. 4 is drawn with information about some queues omitted.

図2に示すように、データ作成部インスタンス81は、キュー84に格納されている処理要求メッセージが示す、処理の要求をビッグデータ解析部44(図1参照。)に送信するサーバーインスタンスであるバックエンド85を備えている。データ作成部インスタンス81は、バックエンド85以外にも、バックエンド85と同様の構成のバックエンドを少なくとも1つ備えていても良い。バックエンドは、キュー毎に設けられている。バックエンドは、1つのキューに対して複数備えても良い。キューに格納された処理要求メッセージは、このキューに対応付けられているバックエンドのうち、処理要求メッセージを処理可能な状態のバックエンドによって、このキューから順番に取り出される。 As shown in FIG. 2, the data creation unit instance 81 is a server instance that sends a processing request indicated by a processing request message stored in the queue 84 to the big data analysis unit 44 (see FIG. 1). It is equipped with an end 85. In addition to the back end 85, the data creation unit instance 81 may include at least one back end having the same configuration as the back end 85. A backend is provided for each queue. A plurality of back ends may be provided for one queue. The processing request messages stored in the queue are taken out from this queue in order by back ends that are capable of processing processing request messages among the back ends associated with this queue.

図1に示すように、制御サービス部60は、データソース部20、データ蓄積システム40およびアプリケーション部50におけるデータに対する各段階の処理を監視する処理監視システムとしてのパイプライン・オーケストレーター61を備えている。パイプライン・オーケストレーター61は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。 As shown in FIG. 1, the control service unit 60 includes a pipeline orchestrator 61 as a process monitoring system that monitors each stage of data processing in the data source unit 20, data storage system 40, and application unit 50. There is. The pipeline orchestrator 61 may be configured by one computer or multiple computers.

パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求毎に、この要求に対して応答するデータの取得の処理にかかった時間(以下「処理時間」という。)と、この要求に対して応答したデータの量(以下「応答データ量」という。)とを履歴として記憶する。そして、パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習することによって、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定することが可能である。 For each API usage request from an external system to the API platform 52, the pipeline orchestrator 61 calculates the time required to obtain data in response to this request (hereinafter referred to as "processing time"). , and the amount of data in response to this request (hereinafter referred to as "response data amount") are stored as a history. Then, the pipeline orchestrator 61 performs machine learning on the correlation between the content of the request to use the API from the external system to the API platform 52, the processing time, and the amount of response data. It is possible to determine the predicted processing time level and predicted response data amount level with respect to the content of the request for API usage.

制御サービス部60は、データ蓄積システム40の構成や設定を保存し、必要に応じて自動的にデプロイを実行する構成管理サーバー62を備えている。構成管理サーバー62は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。構成管理サーバー62は、データ連携システム30の構成を変更する構成変更システムを構成している。 The control service unit 60 includes a configuration management server 62 that stores the configuration and settings of the data storage system 40 and automatically executes deployment as needed. The configuration management server 62 may be configured by one computer, or may be configured by multiple computers. The configuration management server 62 constitutes a configuration change system that changes the configuration of the data linkage system 30.

制御サービス部60は、情報システムの構成管理サーバーに接続し、情報システムにおけるデータベースや非構造化データに関する構成の変更、すなわち、情報システムにおけるデータの構成の変更を検出するための情報を収集する構成管理ゲートウェイ63を備えている。構成管理ゲートウェイ63は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。 The control service unit 60 is configured to connect to the configuration management server of the information system and collect information for detecting configuration changes related to databases and unstructured data in the information system, that is, changes in the data configuration in the information system. A management gateway 63 is provided. The configuration management gateway 63 may be configured by one computer, or may be configured by multiple computers.

制御サービス部60は、情報システムなどの各システム間を連携するために必要な鍵情報や接続文字列などのセキュリティー情報を暗号化して保管するKey管理サービス64を備えている。Key管理サービス64は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。 The control service unit 60 includes a key management service 64 that encrypts and stores security information such as key information and connection strings necessary for linking systems such as information systems. The Key management service 64 may be configured by one computer or multiple computers.

制御サービス部60は、データ蓄積システム40やアプリケーション部50からの要求を受け付ける管理API65を備えている。管理API65は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。 The control service unit 60 includes a management API 65 that accepts requests from the data storage system 40 and the application unit 50. The management API 65 may be configured by one computer or multiple computers.

制御サービス部60は、アプリケーション部50のアプリケーションサービスの認証認可を実行する認証認可サービス66を備えている。認証認可サービス66は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。認証認可サービス66は、例えば、データ蓄積システム40に蓄積されている情報システムのデータの最新化を要求することをアプリケーションサービスが許可されているか否かを確認することができる。 The control service unit 60 includes an authentication and authorization service 66 that performs authentication and authorization of application services of the application unit 50. The authentication and authorization service 66 may be configured by one computer or multiple computers. The authentication and authorization service 66 can, for example, check whether the application service is permitted to request an update of the information system data stored in the data storage system 40.

次に、外部システムからのAPIの利用の要求に対して応答する場合のシステム10の動作について説明する。 Next, the operation of the system 10 when responding to a request for API usage from an external system will be described.

図5は、外部システム90からのAPIの利用の要求に対して応答する場合のシステム10の概略の動作のシーケンス図である。 FIG. 5 is a sequence diagram schematically illustrating the operation of the system 10 when responding to a request for API usage from the external system 90.

図5に示すように、外部システム90は、特定のAPIの利用の要求を実行する場合、TCP(Transmission Control Protocol)/IP(Internet Protocol)接続の確立をフロントエンド部70のLB71に要求する(S101)。ここで、特定のAPIの利用の要求は、例えば、HTTPS(Hypertext Transfer Protocol Secure)で実行される。LB71は、S101における要求を受けると、S101における要求を通知するフロントエンドProxyをラウンドロビン方式によって特定し、特定したフロントエンドProxyにS101における要求を通知する。以下においては、説明を簡略化するために、S101における要求がLB71から通知されたフロントエンドProxyがフロントエンドProxy72であるものとする。 As shown in FIG. 5, when executing a request to use a specific API, the external system 90 requests the LB 71 of the front end unit 70 to establish a TCP (Transmission Control Protocol)/IP (Internet Protocol) connection ( S101). Here, the request to use a specific API is executed using, for example, HTTPS (Hypertext Transfer Protocol Secure). When the LB 71 receives the request in S101, it identifies the front end Proxy to which the request in S101 is to be notified using a round robin method, and notifies the identified front end Proxy of the request in S101. In the following, in order to simplify the explanation, it is assumed that the front end Proxy to which the request in S101 is notified from the LB 71 is the front end Proxy 72.

フロントエンドProxy72は、S101における要求がLB71から通知されると、外部システム90との間でTCP/IP接続を確立する(S102)。 When the front end Proxy 72 is notified of the request in S101 from the LB 71, it establishes a TCP/IP connection with the external system 90 (S102).

外部システム90は、システム10とのTCP/IP接続が確立されると、確立されたTCP/IP接続を介して特定のAPIの利用の要求をフロントエンドProxy72に通知する(S103)。 When the TCP/IP connection with the system 10 is established, the external system 90 notifies the front end Proxy 72 of a request to use a specific API via the established TCP/IP connection (S103).

フロントエンドProxy72は、S103においてLB71を介して外部システム90から通知された、APIの利用の要求をラウンドロビン方式によって、いずれかのAPIサーバーに通知する(S104)。以下においては、説明を簡略化するために、S104において要求がフロントエンドProxy72から通知されたAPIサーバーがAPIサーバー82であるものとする。 The front end Proxy 72 notifies one of the API servers of the request to use the API, which was notified from the external system 90 via the LB 71 in S103, using a round robin method (S104). In the following, in order to simplify the explanation, it is assumed that the API server to which the request is notified from the front end Proxy 72 in S104 is the API server 82.

APIサーバー82は、S104における通知を受けると、S104において通知された要求を解釈する(S105)。 Upon receiving the notification in S104, the API server 82 interprets the request notified in S104 (S105).

図6は、処理要求メッセージを格納するキューを特定する場合のシステム10の動作のシーケンス図である。 FIG. 6 is a sequence diagram of the operation of the system 10 when identifying a queue that stores a processing request message.

APIサーバー82は、S105における解釈を実行すると、図6に示すように、S105において解釈した要求の予測処理時間レベルおよび予測応答データ量レベルをAPIコントローラー83に問い合わせる(S121)。 After executing the interpretation in S105, the API server 82 inquires of the API controller 83 about the predicted processing time level and predicted response data amount level of the request interpreted in S105, as shown in FIG. 6 (S121).

APIコントローラー83は、S121における問い合わせを受けると、S121における問い合わせを制御サービス部60の管理API65に通知する(S122)。 Upon receiving the inquiry in S121, the API controller 83 notifies the management API 65 of the control service unit 60 of the inquiry in S121 (S122).

管理API65は、S122における通知を受けると、S122において通知された問い合わせをパイプライン・オーケストレーター61に通知する(S123)。 Upon receiving the notification in S122, the management API 65 notifies the pipeline orchestrator 61 of the inquiry notified in S122 (S123).

パイプライン・オーケストレーター61は、S123における通知を受けると、S123において通知された問い合わせの対象の要求、すなわち、S105においてAPIサーバー82によって解釈された要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定する(S124)。 When the pipeline orchestrator 61 receives the notification in S123, the pipeline orchestrator 61 determines the predicted processing time level and prediction for the request subject to the inquiry notified in S123, that is, the content of the request interpreted by the API server 82 in S105. The response data amount level is determined (S124).

次いで、パイプライン・オーケストレーター61は、S124における判定の結果、すなわち、S124において判定した予測処理時間レベルおよび予測応答データ量レベルを管理API65に通知する(S125)。 Next, the pipeline orchestrator 61 notifies the management API 65 of the results of the determination in S124, that is, the predicted processing time level and predicted response data amount level determined in S124 (S125).

次いで、管理API65は、S125においてパイプライン・オーケストレーター61から通知された、判定の結果をAPIコントローラー83に通知する(S126)。 Next, the management API 65 notifies the API controller 83 of the determination result notified from the pipeline orchestrator 61 in S125 (S126).

次いで、APIコントローラー83は、S126において管理API65から通知された、判定の結果、すなわち、予測処理時間レベルおよび予測応答データ量レベルをAPIサーバー82に返答する(S127)。 Next, the API controller 83 replies to the API server 82 with the determination results notified from the management API 65 in S126, that is, the predicted processing time level and the predicted response data amount level (S127).

APIサーバー82は、S127における返答を受けると、S127において返答された予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに対応付けられているキューを特定する(S128)。 Upon receiving the response in S127, the API server 82 identifies the queue associated with the combination pattern of the predicted processing time level and predicted response data amount level that was responded in S127 (S128).

以下、説明を簡略化するために、S128において特定されたキューがキュー84であるものとする。 Hereinafter, in order to simplify the explanation, it is assumed that the queue identified in S128 is the queue 84.

図5に示すように、APIサーバー82は、S105における解釈を実行した後、S105において解釈した要求を示す処理要求メッセージを、図6に示す動作によって特定したキュー84に格納する(S106)。ここで、APIサーバー82は、キュー84に格納する処理要求メッセージをキュー84に格納したAPIサーバーとして、APIサーバー82自身の識別情報を、キュー84に格納する処理要求メッセージに含める。 As shown in FIG. 5, after performing the interpretation in S105, the API server 82 stores a processing request message indicating the request interpreted in S105 in the queue 84 specified by the operation shown in FIG. 6 (S106). Here, the API server 82 , as the API server that stored the processing request message to be stored in the queue 84 , includes identification information of itself in the processing request message stored in the queue 84 .

S106においてキュー84に格納された処理要求メッセージは、キュー84に対応付けられている、いずれかのバックエンドによって、キュー84から取り出される(S107)。以下、説明を簡略化するために、S107においてキュー84から処理要求メッセージを取り出したバックエンドがバックエンド85であるものとする。 The processing request message stored in the queue 84 in S106 is taken out from the queue 84 by one of the back ends associated with the queue 84 (S107). Hereinafter, in order to simplify the explanation, it is assumed that the back end that took out the processing request message from the queue 84 in S107 is the back end 85.

バックエンド85は、S107においてキュー84から処理要求メッセージを取り出すと、この処理要求メッセージが示す、処理の要求をビッグデータ解析部44に送信する(S108)。 When the back end 85 retrieves the processing request message from the queue 84 in S107, it transmits the processing request indicated by this processing request message to the big data analysis unit 44 (S108).

ビッグデータ解析部44は、処理の要求がS108において送信されてくると、S108において送信されてきた要求に応じた処理を実行することによって、この処理に応じたデータを取得する(S109)。 When the processing request is sent in S108, the big data analysis unit 44 executes the processing corresponding to the request sent in S108, thereby acquiring data corresponding to this processing (S109).

次いで、ビッグデータ解析部44は、S109において取得したデータをバックエンド85に通知する(S110)。 Next, the big data analysis unit 44 notifies the back end 85 of the data acquired in S109 (S110).

バックエンド85は、S110においてデータが通知されると、S107においてキュー84から取り出した処理要求メッセージをキュー84に格納したAPIサーバー82に、S110において通知されたデータを通知する(S111)。なお、S107においてキュー84から取り出された処理要求メッセージには、この処理要求メッセージをキュー84に格納したAPIサーバー82の識別情報が含まれている。 When the backend 85 is notified of the data in S110, it notifies the API server 82, which stored the processing request message retrieved from the queue 84 in S107 in the queue 84, of the data notified in S110 (S111). Note that the processing request message taken out from the queue 84 in S107 includes identification information of the API server 82 that stored this processing request message in the queue 84.

APIサーバー82は、S111においてデータが通知されると、このデータをフロントエンドProxy72に通知する(S112)。 When the API server 82 is notified of the data in S111, it notifies the front end Proxy 72 of this data (S112).

したがって、フロントエンドProxy72は、S112において通知されたデータを、LB71経由で外部システム90に応答する(S113)。なお、フロントエンドProxy72は、S102において確立したTCP/IP接続を、S113における応答の終了後に終了する。 Therefore, the front end Proxy 72 responds to the external system 90 via the LB 71 with the data notified in S112 (S113). Note that the front end Proxy 72 terminates the TCP/IP connection established in S102 after completing the response in S113.

次に、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合のシステム10の動作について説明する。 Next, the operation of the system 10 when performing machine learning on the correlation between the contents of a request for API usage from an external system to the API platform 52, processing time, and response data amount will be described.

図7は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合のシステム10の動作のシーケンス図である。 FIG. 7 is a sequence diagram of the operation of the system 10 when performing machine learning on the correlation between the contents of a request for API usage from an external system to the API platform 52, processing time, and response data amount.

バックエンド85は、S108においてビッグデータ解析部44への処理の要求の送信を開始すると、図7に示すように、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理の開始をAPIコントローラー83に通知する(S141)。 When the back end 85 starts sending a processing request to the big data analysis unit 44 in S108, as shown in FIG. The API controller 83 is notified of the start (S141).

次いで、バックエンド85は、S110においてビッグデータ解析部44からのデータの通知が終了すると、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理の終了と、S110においてビッグデータ解析部44から通知されたデータの量とをAPIコントローラー83に通知する(S142)。 Next, when the notification of data from the big data analysis unit 44 is finished in S110, the back end 85 finishes the data acquisition process in response to the request for API usage from the external system, and in S110 The amount of data notified from the analysis unit 44 is notified to the API controller 83 (S142).

APIコントローラー83は、S142の通知を受けると、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、この要求に対する処理時間および応答データ量とをパイプライン・オーケストレーター61に通知する(S143)。ここで、APIコントローラー83は、S141において処理の開始が通知された時間から、S142において処理の終了が通知された時間までの時間を処理時間として算出する。また、APIコントローラー83は、S142において通知された、データの量を、応答データ量とする。 Upon receiving the notification in S142, the API controller 83 notifies the pipeline orchestrator 61 of the content of the request from the external system to the API platform 52 to use the API, as well as the processing time and response data amount for this request ( S143). Here, the API controller 83 calculates the time from the time when the start of the process is notified in S141 to the time when the end of the process is notified in S142 as the processing time. Further, the API controller 83 sets the amount of data notified in S142 as the response data amount.

パイプライン・オーケストレーター61は、S143の通知を受けると、APIコントローラー83からこれまでに通知された、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する(S144)。したがって、パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定することが可能になる。 When the pipeline orchestrator 61 receives the notification in S143, the pipeline orchestrator 61 checks the content of the request to use the API from the external system to the API platform 52, as well as the processing time and response data amount, which have been notified so far from the API controller 83. Machine learning is performed on the correlation (S144). Therefore, the pipeline orchestrator 61 can determine the predicted processing time level and predicted response data amount level for the content of the request for API usage from the external system to the API platform 52.

次に、バックエンドの数を増加させる場合のAPIコントローラー83の動作について説明する。 Next, the operation of the API controller 83 when increasing the number of backends will be described.

図8は、バックエンドの数を増加させる場合のAPIコントローラー83の動作のフローチャートである。 FIG. 8 is a flowchart of the operation of the API controller 83 when increasing the number of backends.

APIコントローラー83は、データ作成部インスタンス81に所属するキュー毎に図8に示す動作を実行する。以下、キュー84について代表して説明する。 The API controller 83 executes the operations shown in FIG. 8 for each queue belonging to the data creation unit instance 81. The queue 84 will be described below as a representative example.

図8に示すように、APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が、キュー84に対して備えられているバックエンドの数を増加させる処理における処理要求メッセージの数用の閾値である増加処理用数閾値超であると判断するまで、キュー84に格納されている処理要求メッセージの数が増加処理用数閾値超であるか否かを判断する(S161)。ここで、増加処理用数閾値は、例えば300個である。 As shown in FIG. 8, the API controller 83 is configured to increase the number of processing request messages stored in the queue 84 in a process that increases the number of backends provided for the queue 84. It is determined whether the number of processing request messages stored in the queue 84 exceeds the increased processing number threshold (S161). Here, the increase processing number threshold is, for example, 300.

APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が増加処理用数閾値超であるとS161において判断すると、キュー84に対して備えられているバックエンドの数を増加させる処理において計測した時間を示す増加処理用時間を0にして(S162)、増加処理用時間の計測を開始する(S163)。 When the API controller 83 determines in S161 that the number of processing request messages stored in the queue 84 exceeds the increase processing number threshold, the API controller 83 performs processing to increase the number of backends provided for the queue 84. The increased processing time indicating the measured time is set to 0 (S162), and measurement of the increased processing time is started (S163).

APIコントローラー83は、S163の処理の後、増加処理用時間が、キュー84に対して備えられているバックエンドの数を増加させる処理における増加処理用時間用の閾値である増加処理用時間閾値以上であるか否かを判断する(S164)。ここで、増加処理用時間閾値は、例えば5分である。 After the processing in S163, the API controller 83 determines that the increased processing time is equal to or greater than the increased processing time threshold, which is the increased processing time threshold in the process of increasing the number of backends provided for the queue 84. It is determined whether or not (S164). Here, the increase processing time threshold is, for example, 5 minutes.

APIコントローラー83は、増加処理用時間が増加処理用時間閾値以上ではないとS164において判断すると、キュー84に格納されている処理要求メッセージの数が増加処理用数閾値超であるか否かを判断する(S165)。 If the API controller 83 determines in S164 that the increased processing time is not equal to or greater than the increased processing time threshold, the API controller 83 determines whether the number of processing request messages stored in the queue 84 exceeds the increased processing number threshold. (S165).

APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が増加処理用数閾値超であるとS165において判断すると、S164の処理を実行する。 When the API controller 83 determines in S165 that the number of processing request messages stored in the queue 84 exceeds the increased processing number threshold, it executes the process in S164.

APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が増加処理用数閾値超ではないとS165において判断すると、S161の処理を実行する。 If the API controller 83 determines in S165 that the number of processing request messages stored in the queue 84 does not exceed the increased processing number threshold, it executes the process in S161.

APIコントローラー83は、増加処理用時間が増加処理用時間閾値以上であるとS164において判断すると、キュー84に対して備えられるバックエンドの数を特定の数だけ増加させて(S166)、S161の処理を実行する。 If the API controller 83 determines in S164 that the increased processing time is equal to or greater than the increased processing time threshold, the API controller 83 increases the number of backends provided for the queue 84 by a specific number (S166), and performs the processing in S161. Execute.

APIコントローラー83は、図8に示す動作によって、キュー84に格納されている処理要求メッセージの数が増加処理用数閾値超である状態(S161でYESおよびS165でYES)が増加処理用時間閾値以上の時間継続した場合(S164でYES)に、キュー84に対して備えられるバックエンドの数を特定の数だけ増加させる(S166)。例えば、APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が300個超である状態が5分以上の時間継続した場合に、キュー84に対して備えられるバックエンドの数を特定の数だけ増加させる。 By the operation shown in FIG. 8, the API controller 83 causes the state in which the number of processing request messages stored in the queue 84 exceeds the increased processing number threshold (YES in S161 and YES in S165) to exceed the increased processing time threshold. If the time continues (YES in S164), the number of backends provided for the queue 84 is increased by a specific number (S166). For example, if the number of processing request messages stored in the queue 84 continues for more than 5 minutes, the API controller 83 specifies the number of backends provided for the queue 84. Increase by the number of .

次に、バックエンドの数を減少させる場合のAPIコントローラー83の動作について説明する。 Next, the operation of the API controller 83 when reducing the number of backends will be described.

図9は、バックエンドの数を減少させる場合のAPIコントローラー83の動作のフローチャートである。 FIG. 9 is a flowchart of the operation of the API controller 83 when reducing the number of backends.

APIコントローラー83は、データ作成部インスタンス81に所属するキュー毎に図9に示す動作を実行する。以下、キュー84について代表して説明する。 The API controller 83 executes the operations shown in FIG. 9 for each queue belonging to the data creation unit instance 81. The queue 84 will be described below as a representative example.

図9に示すように、APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が、キュー84に対して備えられているバックエンドの数を減少させる処理における処理要求メッセージの数用の閾値である減少処理用数閾値以下であると判断するまで、キュー84に格納されている処理要求メッセージの数が減少処理用数閾値以下であるか否かを判断する(S181)。ここで、減少処理用数閾値は、例えば200個である。 As shown in FIG. 9, the API controller 83 controls the number of processing request messages stored in the queue 84 to reduce the number of processing request messages in a process that reduces the number of backends provided for the queue 84. It is determined whether the number of processing request messages stored in the queue 84 is less than or equal to the reduced processing number threshold (S181). Here, the number threshold for reduction processing is, for example, 200 pieces.

APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が減少処理用数閾値以下であるとS181において判断すると、キュー84に対して備えられているバックエンドの数を減少させる処理において計測した時間を示す減少処理用時間を0にして(S182)、減少処理用時間の計測を開始する(S183)。 If the API controller 83 determines in S181 that the number of processing request messages stored in the queue 84 is less than or equal to the reduction processing number threshold, the API controller 83 performs processing to reduce the number of backends provided for the queue 84. The time for reduction processing indicating the measured time is set to 0 (S182), and measurement of the time for reduction processing is started (S183).

APIコントローラー83は、S183の処理の後、減少処理用時間が、キュー84に対して備えられているバックエンドの数を減少させる処理における減少処理用時間用の閾値である減少処理用時間閾値以上であるか否かを判断する(S184)。ここで、減少処理用時間閾値は、例えば30分である。 After the processing in S183, the API controller 83 determines that the reduction processing time is equal to or greater than a reduction processing time threshold, which is a threshold for reduction processing time in processing for reducing the number of backends provided for the queue 84. It is determined whether or not (S184). Here, the time threshold for reduction processing is, for example, 30 minutes.

APIコントローラー83は、減少処理用時間が減少処理用時間閾値以上ではないとS184において判断すると、キュー84に格納されている処理要求メッセージの数が減少処理用数閾値以下であるか否かを判断する(S185)。 If the API controller 83 determines in S184 that the reduction processing time is not equal to or greater than the reduction processing time threshold, the API controller 83 determines whether the number of processing request messages stored in the queue 84 is less than or equal to the reduction processing number threshold. (S185).

APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が減少処理用数閾値以下であるとS185において判断すると、S184の処理を実行する。 If the API controller 83 determines in S185 that the number of processing request messages stored in the queue 84 is less than or equal to the reduced processing number threshold, it executes the process in S184.

APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が減少処理用数閾値以下ではないとS185において判断すると、S181の処理を実行する。 If the API controller 83 determines in S185 that the number of processing request messages stored in the queue 84 is not less than the reduced processing number threshold, it executes the process in S181.

APIコントローラー83は、減少処理用時間が減少処理用時間閾値以上であるとS184において判断すると、キュー84に対して備えられるバックエンドの数を特定の数だけ減少させて(S186)、S181の処理を実行する。 If the API controller 83 determines in S184 that the reduction processing time is equal to or greater than the reduction processing time threshold, the API controller 83 reduces the number of backends provided for the queue 84 by a specific number (S186), and performs the processing in S181. Execute.

APIコントローラー83は、図9に示す動作によって、キュー84に格納されている処理要求メッセージの数が減少処理用数閾値以下である状態(S181でYESおよびS185でYES)が減少処理用時間閾値以上の時間継続した場合(S184でYES)に、キュー84に対して備えられるバックエンドの数を特定の数だけ減少させる(S186)。例えば、APIコントローラー83は、キュー84に格納されている処理要求メッセージの数が200個以下である状態が30分以上の時間継続した場合に、キュー84に対して備えられるバックエンドの数を特定の数だけ減少させる。 By the operation shown in FIG. 9, the API controller 83 determines whether the number of processing request messages stored in the queue 84 is equal to or less than the reduction processing number threshold (YES in S181 and YES in S185) is equal to or greater than the reduction processing time threshold. If the time continues (YES in S184), the number of backends provided for the queue 84 is reduced by a specific number (S186). For example, if the number of processing request messages stored in the queue 84 continues to be 200 or less for 30 minutes or more, the API controller 83 specifies the number of backends provided for the queue 84. decrease by the number of .

以上に説明したように、データ連携システム30は、APIの利用の要求に応じてデータ蓄積システム40からデータを取得する処理(S108およびS110)の未実行分の数が、この処理の能力を増加させる特定の条件を満たす場合に(S161でYES、S164でYESおよびS165でYES)、この処理の能力を増加させる(S166)ので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 As explained above, in the data linkage system 30, the number of unexecuted processes (S108 and S110) for acquiring data from the data storage system 40 in response to a request for the use of an API increases the capacity of this process. If specific conditions are met (YES in S161, YES in S164, and YES in S165), the processing capacity is increased (S166), so the processing capacity is increased according to the processing load to be executed in response to the request for using the API. can behave.

データ連携システム30は、APIの利用の要求に応じてデータ蓄積システム40からデータを取得する処理の未実行分の数が、この処理の能力を減少させる特定の条件を満たす場合に(S181でYES、S184でYESおよびS185でYES)、この処理の能力を減少させる(S186)ので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 If the number of unexecuted processes for acquiring data from the data storage system 40 in response to a request for the use of an API satisfies a specific condition that reduces the capacity of this process (YES in S181), the data linkage system 30 , YES in S184 and YES in S185), the capacity of this processing is reduced (S186), so that it can behave according to the load of processing executed in response to a request for using the API.

データ連携システム30は、APIの利用の要求に応じてデータ蓄積システム40からデータを取得する処理の、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎に、この処理の能力を変更させるので、この処理を、この処理の予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに応じた適切なバックエンドによって実行することができる。したがって、データ連携システム30は、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 The data linkage system 30 classifies the processing of acquiring data from the data storage system 40 in response to a request for the use of an API based on the combination pattern of the predicted processing time level and the predicted response data amount level. Since the capacity is changed, this processing can be executed by an appropriate back end according to the combination pattern of the predicted processing time level and predicted response data amount level of this process. Therefore, the data linkage system 30 can behave according to the load of processing executed in response to a request for use of the API.

特定の予測処理時間レベルに基づいた分類のバックエンドとしての特定処理時間バックエンドと、特定の予測処理時間レベルより予測処理時間が長い予測処理時間レベルに基づいた分類のバックエンドとしての処理時間長バックエンドとをAPIプラットフォーム52が備える場合に、処理時間長バックエンドは、メモリーの容量と、ネットワークの帯域との少なくとも1つが特定処理時間バックエンドより多くても良い。この構成により、データ連携システム30は、データ蓄積システムからデータを取得する処理を、この処理の予測処理時間が長い場合に、この処理の予測処理時間が短い場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いバックエンドによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 A specific processing time backend as a backend for classification based on a specific predicted processing time level and a processing time length as a backend for classification based on a predicted processing time level that has a predicted processing time longer than a specific predicted processing time level. When the API platform 52 includes a back end, the processing time length back end may have a memory capacity and/or network bandwidth greater than the specific processing time back end. With this configuration, the data linkage system 30 performs a process of acquiring data from a data storage system using memory capacity and network capacity when the predicted processing time of this process is long, compared to when the predicted processing time of this process is short. Since at least one of the backends can be executed by many backends, it can behave according to the burden of the processing to be performed in response to the request for the use of the API.

特定の予測応答データ量レベルに基づいた分類のバックエンドとしての特定応答データ量バックエンドと、特定の予測応答データ量レベルより予測応答データ量が多い予測応答データ量レベルに基づいた分類のバックエンドとしての応答データ量多バックエンドとをAPIプラットフォーム52が備える場合に、応答データ量多バックエンドは、メモリーの容量と、ネットワークの帯域との少なくとも1つが特定応答データ量バックエンドより多くても良い。この構成により、データ連携システム30は、データ蓄積システムからデータを取得する処理を、この処理の予測応答データ量が多い場合に、この処理の予測応答データ量が少ない場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いバックエンドによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。 A specific response data volume backend as a backend for classification based on a specific predicted response data volume level, and a backend for classification based on a predicted response data volume level that is greater than a specific predicted response data volume level. When the API platform 52 includes a large response data volume back end as a specific response data volume back end, the large response data volume back end may have at least one of memory capacity and network bandwidth greater than the specific response data volume back end. . With this configuration, the data linkage system 30 allows the process of acquiring data from the data storage system to be performed with less memory capacity when the amount of predicted response data for this process is large than when the amount of predicted response data for this process is small. , and at least one of the network bandwidth can be executed by a large number of backends, so that it can behave according to the processing load to be executed in response to the request for the use of the API.

データ連携システム30は、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎にキューおよびバックエンドを備えている。しかしながら、データ連携システム30は、予測処理時間レベルおよび予測応答データ量レベルのいずれか1つに基づいた分類毎にキューおよびバックエンドを備えても良い。 The data linkage system 30 includes a queue and a back end for each classification based on a pattern of combinations of predicted processing time level and predicted response data amount level. However, the data cooperation system 30 may include a queue and a back end for each classification based on either the predicted processing time level or the predicted response data amount level.

21 情報システム
22 POSTコネクター(データ収集システム)
23 POSTエージェント(データ収集システム)
24 GET用エージェント(データ収集システム)
30 データ連携システム
40 データ蓄積システム
42 GETコネクター(データ収集システム)
43 GETエージェント(データ収集システム)
52 APIプラットフォーム
21 Information System 22 POST Connector (Data Collection System)
23 POST agent (data collection system)
24 GET agent (data collection system)
30 Data linkage system 40 Data storage system 42 GET connector (data collection system)
43 GET agent (data collection system)
52 API platform

Claims (3)

情報システムが保持しているデータを収集するデータ収集システムと、
前記データ収集システムによって収集されたデータを蓄積するデータ蓄積システムと、
前記データ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームと
を備え、
前記APIプラットフォームは、前記APIの利用の要求に応じて前記データ蓄積システムからデータを取得する処理の未実行分の数が、前記処理の能力を増加させる特定の条件を満たす場合に、前記能力を増加させ
前記APIプラットフォームは、前記処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた前記処理の分類毎に前記能力を変更させることを特徴とするデータ連携システム。
a data collection system that collects data held by the information system;
a data accumulation system that accumulates data collected by the data collection system;
an API platform that provides an API (Application Program Interface) for acquiring data based on data accumulated by the data accumulation system from the data accumulation system;
The API platform increases the capacity when the number of unexecuted processes for acquiring data from the data storage system in response to a request for use of the API satisfies a specific condition for increasing the capacity of the process. increase ,
The API platform includes a predicted processing time level indicating a predicted processing time, which is the amount of time that the process is predicted to take, and a predicted response data amount, which is the amount of data expected to respond to the request. A data linkage system characterized in that the ability is changed for each classification of the processing based on at least one of a predicted response data amount level indicating the degree of the processing .
前記APIプラットフォームは、前記数が、前記能力を減少させる特定の条件を満たす場合に、前記能力を減少させることを特徴とする請求項1に記載のデータ連携システム。 The data linkage system according to claim 1, wherein the API platform reduces the capacity when the number satisfies a specific condition for reducing the capacity. 情報システムが保持しているデータを収集するデータ収集システムによって収集されたデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームであって、
前記APIの利用の要求に応じて前記データ蓄積システムからデータを取得する処理の未実行分の数が、前記処理の能力を増加させる特定の条件を満たす場合に、前記能力を増加させ、
前記処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた前記処理の分類毎に前記能力を変更させることを特徴とするAPIプラットフォーム。
API (Application Program Interface) for acquiring data based on data accumulated by a data accumulation system that accumulates data collected by a data acquisition system that collects data held by an information system. ) is an API platform that provides
increasing the capacity when the number of unexecuted processes for acquiring data from the data storage system in response to a request for use of the API satisfies a specific condition for increasing the capacity of the process;
A predicted processing time level that indicates the predicted processing time, which is the time that the processing is predicted to take, and a prediction that indicates the predicted response data amount, which is the amount of data that is predicted to respond to the request. The API platform is characterized in that the capability is changed for each classification of the processing based on at least one of a response data amount level.
JP2020055178A 2020-03-25 2020-03-25 Data linkage system and API platform Active JP7448881B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020055178A JP7448881B2 (en) 2020-03-25 2020-03-25 Data linkage system and API platform
US17/205,295 US11366706B2 (en) 2020-03-25 2021-03-18 Data linkage system and API platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020055178A JP7448881B2 (en) 2020-03-25 2020-03-25 Data linkage system and API platform

Publications (2)

Publication Number Publication Date
JP2021157341A JP2021157341A (en) 2021-10-07
JP7448881B2 true JP7448881B2 (en) 2024-03-13

Family

ID=77918396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020055178A Active JP7448881B2 (en) 2020-03-25 2020-03-25 Data linkage system and API platform

Country Status (1)

Country Link
JP (1) JP7448881B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182596A (en) 2016-03-31 2017-10-05 株式会社フォーサイ Data collection and analysis system
US20190108068A1 (en) 2017-10-05 2019-04-11 Nfware, Inc. Method for distributing load in a multi-core system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182596A (en) 2016-03-31 2017-10-05 株式会社フォーサイ Data collection and analysis system
US20190108068A1 (en) 2017-10-05 2019-04-11 Nfware, Inc. Method for distributing load in a multi-core system

Also Published As

Publication number Publication date
JP2021157341A (en) 2021-10-07

Similar Documents

Publication Publication Date Title
KR101370888B1 (en) Printing system, cloud computing system, printing system control method, and storage medium
CN107947960B (en) Configuration information pushing method and system and configuration information receiving method and system
JP4440107B2 (en) Methods and configurations for using shared resources in a network
JP2006011888A (en) Remote management system
US20180167259A1 (en) Information processing apparatus and method
JP7421165B2 (en) Data linkage system and API platform
US10645185B2 (en) Processing management data among web server, application server, and storage system
JP2009151560A (en) Resource management method, information processing system, information processor and program
JP7448881B2 (en) Data linkage system and API platform
JP6354153B2 (en) Information processing system, image forming apparatus, information processing method, and information processing program
JP2018036730A (en) Network system, device management method, network device, control method thereof, and program
JP7473870B2 (en) Data integration system and API platform
US20210303376A1 (en) Data linkage system and api platform
JP2022038402A (en) Data federation system and control system
JP7457284B2 (en) Data linkage system
US20220067058A1 (en) Data coordination system and api platform
JP2022038405A (en) Data federation system and api platform
JP5163352B2 (en) Management device, device management system, device management method, program, and recording medium
JP2024043813A (en) device management system
JP2022038406A (en) Data federation system, control system, and system
JP7457282B2 (en) Data linkage system and configuration change system
JP2019040307A (en) Administrative system, information processing equipment and image formation device
CN111259208B (en) Information query device and system
US20210271632A1 (en) Data linkage system and data collection system
US20210303707A1 (en) Authentication control system, data association system, and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240213

R150 Certificate of patent or registration of utility model

Ref document number: 7448881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150