JP2021157340A - データ連携システムおよびapiプラットフォーム - Google Patents

データ連携システムおよびapiプラットフォーム Download PDF

Info

Publication number
JP2021157340A
JP2021157340A JP2020055177A JP2020055177A JP2021157340A JP 2021157340 A JP2021157340 A JP 2021157340A JP 2020055177 A JP2020055177 A JP 2020055177A JP 2020055177 A JP2020055177 A JP 2020055177A JP 2021157340 A JP2021157340 A JP 2021157340A
Authority
JP
Japan
Prior art keywords
data
api
response
server
predicted
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
JP2020055177A
Other languages
English (en)
Other versions
JP7421165B2 (ja
Inventor
孝記 中島
Takanori Nakajima
孝記 中島
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 JP2020055177A priority Critical patent/JP7421165B2/ja
Priority to US17/205,309 priority patent/US11740939B2/en
Publication of JP2021157340A publication Critical patent/JP2021157340A/ja
Application granted granted Critical
Publication of JP7421165B2 publication Critical patent/JP7421165B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができるデータ連携システムおよびAPIプラットフォームを提供する。【解決手段】 データ連携システムは、データ収集システムによって収集された、情報システムが保持しているデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータをデータ蓄積システムから取得するためのAPIを提供するAPIプラットフォームを備え、APIプラットフォームは、データ蓄積システムからデータを取得する処理(S108およびS110)をAPIの利用の要求に応じて実行するバックエンドを、APIの利用の要求に対して応答するデータの取得の処理にかかると予測される時間の程度を示す予測処理時間レベルと、要求に対して応答することが予測されるデータの量の程度を示す予測応答データ量レベルとの組み合わせのパターンに基づいた分類毎に備える。【選択図】 図5

Description

本発明は、複数の情報システムが保持しているデータを収集して蓄積するデータ連携システムおよびAPIプラットフォームに関する。
従来、SaaS(Software as a Service)間でのデータ連携処理に対応した所定アルゴリズムの実行結果を取得するAPI(Application Program Interface)を提供するシステムが知られている(例えば、特許文献1参照。)。
特開2016−224578号公報
しかしながら、特許文献1には、APIの利用の要求に応じて実行する処理の負担に応じた振る舞いについては記載されていない。
そこで、本発明は、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができるデータ連携システムおよびAPIプラットフォームを提供することを目的とする。
本発明のデータ連携システムは、情報システムが保持しているデータを収集するデータ収集システムと、前記データ収集システムによって収集されたデータを蓄積するデータ蓄積システムと、前記データ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームとを備え、前記APIプラットフォームは、前記データ蓄積システムからデータを取得する処理を前記APIの利用の要求に応じて実行するサーバーを、前記要求に対して応答するデータの取得の処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた分類毎に備えることを特徴とする。
この構成により、本発明のデータ連携システムは、データ蓄積システムからデータを取得する処理をAPIの利用の要求に応じて実行するサーバーを、予測処理時間レベルおよび予測応答データ量レベルの少なくとも1つに基づいた分類毎に備えるので、データ蓄積システムからデータを取得する処理を、この処理の予測処理時間レベルおよび予測応答データ量レベルの少なくとも1つに応じた適切なサーバーによって実行することができる。したがって、本発明のデータ連携システムは、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
本発明のデータ連携システムにおいて、前記APIプラットフォームは、特定の前記予測処理時間レベルに基づいた前記分類の前記サーバーとしての特定処理時間サーバーと、前記特定の予測処理時間レベルより前記予測処理時間が長い前記予測処理時間レベルに基づいた前記分類の前記サーバーとしての処理時間長サーバーとを備え、前記処理時間長サーバーは、メモリーの容量と、ネットワークの帯域との少なくとも1つが前記特定処理時間サーバーより多くても良い。
この構成により、本発明のデータ連携システムは、データ蓄積システムからデータを取得する処理を、この処理の予測処理時間が長い場合に、この処理の予測処理時間が短い場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いサーバーによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
本発明のデータ連携システムにおいて、前記APIプラットフォームは、特定の前記予測応答データ量レベルに基づいた前記分類の前記サーバーとしての特定応答データ量サーバーと、前記特定の予測応答データ量レベルより前記予測応答データ量が多い前記予測応答データ量レベルに基づいた前記分類の前記サーバーとしての応答データ量多サーバーとを備え、前記応答データ量多サーバーは、メモリーの容量と、ネットワークの帯域との少なくとも1つが前記特定応答データ量サーバーより多くても良い。
この構成により、本発明のデータ連携システムは、データ蓄積システムからデータを取得する処理を、この処理の予測応答データ量が多い場合に、この処理の予測応答データ量が少ない場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いサーバーによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
本発明のAPIプラットフォームは、情報システムが保持しているデータを収集するデータ収集システムによって収集されたデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームであって、前記データ蓄積システムからデータを取得する処理を前記APIの利用の要求に応じて実行するサーバーを、前記要求に対して応答するデータの取得の処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた分類毎に備えることを特徴とする。
この構成により、本発明のAPIプラットフォームは、データ蓄積システムからデータを取得する処理をAPIの利用の要求に応じて実行するサーバーを、予測処理時間レベルおよび予測応答データ量レベルの少なくとも1つに基づいた分類毎に備えるので、データ蓄積システムからデータを取得する処理を、この処理の予測処理時間レベルおよび予測応答データ量レベルの少なくとも1つに応じた適切なサーバーによって実行することができる。したがって、本発明のAPIプラットフォームは、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
本発明のデータ連携システムおよびAPIプラットフォームは、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
本発明の一実施の形態に係るシステムのブロック図である。 図1に示すAPIプラットフォームのブロック図である。 図2に示すAPIコントローラーによって取得される予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンの一例を示す図である。 図2に示すキューの識別情報であるキューIDと、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンとの対応関係の一例を示す図である。 外部システムからのAPIの利用の要求に対して応答する場合の図1に示すシステムの概略の動作のシーケンス図である。 処理要求メッセージを格納するキューを特定する場合の図1に示すシステムの動作のシーケンス図である。 外部システムからAPIプラットフォームへのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合の図1に示すシステムの動作のシーケンス図である。
以下、本発明の実施の形態について、図面を用いて説明する。
まず、本発明の一実施の形態に係るシステムの構成について説明する。
図1は、本実施の形態に係るシステム10のブロック図である。
図1に示すように、システム10は、データを生み出すデータソース部20と、データソース部20によって生み出されたデータを連携するデータ連携システム30とを備えている。
データソース部20は、データを生み出す情報システム21を備えている。情報システム21は、情報システム21の構成や設定を保存する構成管理サーバー21aを備えている。データソース部20は、情報システム21以外にも、少なくとも1つの情報システムを備えていても良い。情報システムの例としては、MFP(Multifunction Peripheral)、プリンター専用機などの画像形成装置を遠隔で管理する遠隔管理システムなどのIoT(Internet of Things)システムと、ERP(Enterprise Resource Planning)、生産管理システムなどの社内システムとが存在する。情報システムのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。情報システムのそれぞれは、パブリック・クラウド上に構築されても良い。情報システムは、構造化データのファイルを保持しても良い。情報システムは、非構造化データのファイルを保持しても良い。情報システムは、構造化データのデータベースを保持しても良い。
データソース部20は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTコネクター22を備えている。データソース部20は、POSTコネクター22と同様の構成のPOSTコネクターをPOSTコネクター22以外に少なくとも1つ備えても良い。POSTコネクターは、POSTコネクター自身がファイルを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTコネクターは、データ連携システム30の構成でもある。
データソース部20は、情報システムが保持している構造化データのデータベースから構造化データを取得して、取得した構造化データをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTエージェント23を備えている。データソース部20は、POSTエージェント23と同様の構成のPOSTエージェントをPOSTエージェント23以外に少なくとも1つ備えても良い。POSTエージェントは、POSTエージェント自身が構造化データを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTエージェントは、データ連携システム30の構成でもある。
データソース部20は、情報システムが保持しているデータに基づいて連携用の構造化データを生成するデータ収集システムとしてのGET用エージェント24を備えている。データソース部20は、GET用エージェント24と同様の構成のGET用エージェントをGET用エージェント24以外に少なくとも1つ備えても良い。GET用エージェントは、連携用の構造化データの生成の元になったデータを保持している情報システムを構成するコンピューターによって構成されても良い。なお、GET用エージェントは、データ連携システム30の構成でもある。
データ連携システム30は、データソース部20によって生み出されたデータを蓄積するデータ蓄積システム40と、データ蓄積システム40に蓄積されているデータを利用するアプリケーション部50と、データ蓄積システム40およびアプリケーション部50に対する各種の制御を実行する制御サービス部60とを備えている。
データ蓄積システム40は、データソース部20によって生み出されたデータを蓄積するパイプライン41を備えている。データ蓄積システム40は、パイプライン41以外にも、少なくとも1つのパイプラインを備えていても良い。情報システムにおけるデータの構成が情報システム毎に異なる可能性があるので、データ蓄積システム40は、基本的に、情報システム毎にパイプラインを備えている。パイプラインのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
データ蓄積システム40は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをパイプラインに連携するデータ収集システムとしてのGETコネクター42を備えている。データ蓄積システム40は、GETコネクター42と同様の構成のGETコネクターをGETコネクター42以外に少なくとも1つ備えても良い。GETコネクターは、GETコネクター自身がファイルを連携するパイプラインを構成するコンピューターによって構成されても良い。
なお、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTコネクターを備える。一方、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データ蓄積システム40にGETコネクターを備える。
データ蓄積システム40は、GET用エージェントによって生成された構造化データを取得して、取得した構造化データをパイプラインに連携するデータ収集システムとしてのGETエージェント43を備えている。データ蓄積システム40は、GETエージェント43と同様の構成のGETエージェントをGETエージェント43以外に少なくとも1つ備えても良い。GETエージェントは、GETエージェント自身が構造化データを連携するパイプラインを構成するコンピューターによって構成されても良い。
なお、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTエージェントを備える。一方、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データソース部20にGET用エージェントを備えるとともに、データ蓄積システム40にGETエージェントを備える。
データ蓄積システム40は、複数のパイプラインによって蓄積されたデータを、例えばSQLなどのデータベース言語などのクエリー言語で検索や集計が可能な形態に変換するデータ変換処理として最終変換処理を実行するデータ変換システムとしてのビッグデータ解析部44を備えている。ビッグデータ解析部44は、最終変換処理を実行したデータに対して、アプリケーション部50側からの検索要求や集計要求に応じて検索や集計を実行することも可能である。ビッグデータ解析部44は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
最終変換処理は、複数の情報システムのデータを統合するデータ統合処理をデータ変換処理として含んでいても良い。アジアに配置されている多数の画像形成装置を遠隔で管理するためにアジアに配置されている遠隔管理システムと、ヨーロッパに配置されている多数の画像形成装置を遠隔で管理するためにヨーロッパに配置されている遠隔管理システムと、アメリカに配置されている多数の画像形成装置を遠隔で管理するためにアメリカに配置されている遠隔管理システムとをシステム10が情報システムとして備えている場合、これら3つの遠隔管理システムは、それぞれ、遠隔管理システム自身が管理している画像形成装置を管理するデバイス管理テーブルを備えている。デバイス管理テーブルは、画像形成装置毎に付与したIDに対応付けて、画像形成装置の各種の情報を示す情報である。ここで、3つの遠隔管理システムがそれぞれ独自にデバイス管理テーブルを備えているので、3つの遠隔管理システムのデバイス管理テーブル間においては、別々の画像形成装置に同一のIDが付与されている可能性がある。そこで、ビッグデータ解析部44は、3つの遠隔管理システムのデバイス管理テーブルを統合して1つのデバイス管理テーブルを生成する場合に、画像形成装置のIDを重複が生じないように付与し直す。
アプリケーション部50は、ビッグデータ解析部44によって管理されているデータを利用して、例えばデータの表示や、データの分析など、利用者によって指示された特定の動作を実行するアプリケーションサービス51を備えている。アプリケーション部50は、アプリケーションサービス51以外にも、少なくとも1つのアプリケーションサービスを備えていても良い。アプリケーションサービスのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。アプリケーションサービスは、例えば、BI(Business Intelligence)ツール、SaaS(Software as a Service)サーバーなどである。
アプリケーション部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とが存在する。
以下、APIプラットフォーム52の外部のシステムを単に外部システムという。外部システムには、システム10の外部のシステムや、アプリケーション部50のアプリケーションサービスが含まれる。
図2は、APIプラットフォーム52のブロック図である。
図2に示すように、APIプラットフォーム52は、外部システムからのAPIの利用の要求を受け付けるフロントエンド部70と、フロントエンド部70が受け付けた要求に応じた応答データを作成するデータ作成部80とを備えている。
フロントエンド部70は、外部システムに公開されるエンドポイントであるLB(Load Balancer)71と、外部システムとの接続を確立するフロントエンドProxy72とを備えている。フロントエンド部70は、フロントエンドProxy72以外にも、フロントエンドProxy72と同様の構成のフロントエンドProxyを少なくとも1つ備えていても良い。
LB71は、外部システムからのAPIの利用の要求をラウンドロビン方式によっていずれかのフロントエンドProxyに通知する。
フロントエンドProxy72は、LB71から通知された、APIの利用の要求をラウンドロビン方式によって、後述の、いずれかのAPIサーバーに通知する。
データ作成部80は、データ作成部インスタンス81を備えている。データ作成部80は、データ作成部インスタンス81以外にも、データ作成部インスタンス81と同様の構成のデータ作成部インスタンスを少なくとも1つ備えていても良い。
データ作成部インスタンス81は、ビッグデータ解析部44(図1参照。)によって管理されているデータを利用して特定の動作を実行するAPIを提供するAPIサーバー82を備えている。データ作成部インスタンス81は、APIサーバー82以外にも、APIサーバー82と同様の構成のAPIサーバーを少なくとも1つ備えていても良い。
データ作成部インスタンス81は、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理にかかると予測される時間(以下「予測処理時間」という。)の程度を示す予測処理時間レベルと、外部システムからのAPIの利用の要求に対して応答することが予測されるデータの量(以下「予測応答データ量」という。)の程度を示す予測応答データ量レベルとを制御サービス部60(図1参照。)から取得するAPIコントローラー83を備えている。
図3は、APIコントローラー83によって取得される予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンの一例を示す図である。
図3に示す例において、予測処理時間レベルは、予測処理時間が特定の範囲内であることを示す「普通」と、予測処理時間が特定の範囲の上限より長いことを示す「長」と、予測処理時間が特定の範囲の下限より短いことを示す「短」とを含んでいる。予測応答データ量レベルは、予測応答データ量が特定の範囲内であることを示す「普通」と、予測応答データ量が特定の範囲の上限より多いことを示す「多」と、予測応答データ量が特定の範囲の下限より少ないことを示す「少」とを含んでいる。図3に示す例において、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンは、パターンA〜パターンIの9パターンである。
図2に示すように、データ作成部インスタンス81は、外部システムから利用が要求されたAPIに応じた処理の要求を示す処理要求メッセージを格納するキュー84を備えている。データ作成部インスタンス81は、キュー84以外にも、キュー84と同様の構成のキューを少なくとも1つ備えていても良い。キューは、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎に設けられている。
図4は、キューの識別情報であるキューIDと、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンとの対応関係の一例を示す図である。
図4に示すように、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類は、例えば、パターンAおよびパターンDが同一の分類でも良いし、パターンHおよびパターンIが同一の分類でも良い。なお、図4は、一部のキューについての情報が省略されて描かれている。
図2に示すように、データ作成部インスタンス81は、キュー84に格納されている処理要求メッセージが示す、処理の要求をビッグデータ解析部44(図1参照。)に送信するサーバーであるバックエンド85を備えている。データ作成部インスタンス81は、バックエンド85以外にも、バックエンド85と同様の構成のバックエンドを少なくとも1つ備えていても良い。バックエンドは、キュー毎に設けられている。バックエンドは、1つのキューに対して複数備えても良い。キューに格納された処理要求メッセージは、このキューに対応付けられているバックエンドのうち、処理要求メッセージを処理可能な状態のバックエンドによって、このキューから順番に取り出される。
図1に示すように、制御サービス部60は、データソース部20、データ蓄積システム40およびアプリケーション部50におけるデータに対する各段階の処理を監視する処理監視システムとしてのパイプライン・オーケストレーター61を備えている。パイプライン・オーケストレーター61は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求毎に、この要求に対して応答するデータの取得の処理にかかった時間(以下「処理時間」という。)と、この要求に対して応答したデータの量(以下「応答データ量」という。)とを履歴として記憶する。そして、パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習することによって、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定することが可能である。
制御サービス部60は、データ蓄積システム40の構成や設定を保存し、必要に応じて自動的にデプロイを実行する構成管理サーバー62を備えている。構成管理サーバー62は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。構成管理サーバー62は、データ連携システム30の構成を変更する構成変更システムを構成している。
制御サービス部60は、情報システムの構成管理サーバーに接続し、情報システムにおけるデータベースや非構造化データに関する構成の変更、すなわち、情報システムにおけるデータの構成の変更を検出するための情報を収集する構成管理ゲートウェイ63を備えている。構成管理ゲートウェイ63は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
制御サービス部60は、情報システムなどの各システム間を連携するために必要な鍵情報や接続文字列などのセキュリティー情報を暗号化して保管するKey管理サービス64を備えている。Key管理サービス64は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
制御サービス部60は、データ蓄積システム40やアプリケーション部50からの要求を受け付ける管理API65を備えている。管理API65は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
制御サービス部60は、アプリケーション部50のアプリケーションサービスの認証認可を実行する認証認可サービス66を備えている。認証認可サービス66は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。認証認可サービス66は、例えば、データ蓄積システム40に蓄積されている情報システムのデータの最新化を要求することをアプリケーションサービスが許可されているか否かを確認することができる。
次に、外部システムからのAPIの利用の要求に対して応答する場合のシステム10の動作について説明する。
図5は、外部システム90からのAPIの利用の要求に対して応答する場合のシステム10の概略の動作のシーケンス図である。
図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であるものとする。
フロントエンドProxy72は、S101における要求がLB71から通知されると、外部システム90との間でTCP/IP接続を確立する(S102)。
外部システム90は、システム10とのTCP/IP接続が確立されると、確立されたTCP/IP接続を介して特定のAPIの利用の要求をフロントエンドProxy72に通知する(S103)。
フロントエンドProxy72は、S103においてLB71を介して外部システム90から通知された、APIの利用の要求をラウンドロビン方式によって、いずれかのAPIサーバーに通知する(S104)。以下においては、説明を簡略化するために、S104において要求がフロントエンドProxy72から通知されたAPIサーバーがAPIサーバー82であるものとする。
APIサーバー82は、S104における通知を受けると、S104において通知された要求を解釈する(S105)。
図6は、処理要求メッセージを格納するキューを特定する場合のシステム10の動作のシーケンス図である。
APIサーバー82は、S105における解釈を実行すると、図6に示すように、S105において解釈した要求の予測処理時間レベルおよび予測応答データ量レベルをAPIコントローラー83に問い合わせる(S121)。
APIコントローラー83は、S121における問い合わせを受けると、S121における問い合わせを制御サービス部60の管理API65に通知する(S122)。
管理API65は、S122における通知を受けると、S122において通知された問い合わせをパイプライン・オーケストレーター61に通知する(S123)。
パイプライン・オーケストレーター61は、S123における通知を受けると、S123において通知された問い合わせの対象の要求、すなわち、S105においてAPIサーバー82によって解釈された要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定する(S124)。
次いで、パイプライン・オーケストレーター61は、S124における判定の結果、すなわち、S124において判定した予測処理時間レベルおよび予測応答データ量レベルを管理API65に通知する(S125)。
次いで、管理API65は、S125においてパイプライン・オーケストレーター61から通知された、判定の結果をAPIコントローラー83に通知する(S126)。
次いで、APIコントローラー83は、S126において管理API65から通知された、判定の結果、すなわち、予測処理時間レベルおよび予測応答データ量レベルをAPIサーバー82に返答する(S127)。
APIサーバー82は、S127における返答を受けると、S127において返答された予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに対応付けられているキューを特定する(S128)。
以下、説明を簡略化するために、S128において特定されたキューがキュー84であるものとする。
図5に示すように、APIサーバー82は、S105における解釈を実行した後、S105において解釈した要求を示す処理要求メッセージを、図6に示す動作によって特定したキュー84に格納する(S106)。ここで、APIサーバー82は、キュー84に格納する処理要求メッセージをキュー84に格納したAPIサーバーとして、APIサーバー82自身の識別情報を、キュー84に格納する処理要求メッセージに含める。
S106においてキュー84に格納された処理要求メッセージは、キュー84に対応付けられている、いずれかのバックエンドによって、キュー84から取り出される(S107)。以下、説明を簡略化するために、S107においてキュー84から処理要求メッセージを取り出したバックエンドがバックエンド85であるものとする。
バックエンド85は、S107においてキュー84から処理要求メッセージを取り出すと、この処理要求メッセージが示す、処理の要求をビッグデータ解析部44に送信する(S108)。
ビッグデータ解析部44は、処理の要求がS108において送信されてくると、S108において送信されてきた要求に応じた処理を実行することによって、この処理に応じたデータを取得する(S109)。
次いで、ビッグデータ解析部44は、S109において取得したデータをバックエンド85に通知する(S110)。
バックエンド85は、S110においてデータが通知されると、S107においてキュー84から取り出した処理要求メッセージをキュー84に格納したAPIサーバー82に、S110において通知されたデータを通知する(S111)。なお、S107においてキュー84から取り出された処理要求メッセージには、この処理要求メッセージをキュー84に格納したAPIサーバー82の識別情報が含まれている。
APIサーバー82は、S111においてデータが通知されると、このデータをフロントエンドProxy72に通知する(S112)。
したがって、フロントエンドProxy72は、S112において通知されたデータを、LB71経由で外部システム90に応答する(S113)。なお、フロントエンドProxy72は、S102において確立したTCP/IP接続を、S113における応答の終了後に終了する。
次に、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合のシステム10の動作について説明する。
図7は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合のシステム10の動作のシーケンス図である。
バックエンド85は、S108においてビッグデータ解析部44への処理の要求の送信を開始すると、図7に示すように、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理の開始をAPIコントローラー83に通知する(S141)。
次いで、バックエンド85は、S110においてビッグデータ解析部44からのデータの通知が終了すると、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理の終了と、S110においてビッグデータ解析部44から通知されたデータの量とをAPIコントローラー83に通知する(S142)。
APIコントローラー83は、S142の通知を受けると、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、この要求に対する処理時間および応答データ量とをパイプライン・オーケストレーター61に通知する(S143)。ここで、APIコントローラー83は、S141において処理の開始が通知された時間から、S142において処理の終了が通知された時間までの時間を処理時間として算出する。また、APIコントローラー83は、S142において通知された、データの量を、応答データ量とする。
パイプライン・オーケストレーター61は、S143の通知を受けると、APIコントローラー83からこれまでに通知された、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する(S144)。したがって、パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定することが可能になる。
以上に説明したように、データ連携システム30は、データ蓄積システム40からデータを取得する処理(S108およびS110)をAPIの利用の要求に応じて実行するバックエンドを、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎に備えるので、データ蓄積システム40からデータを取得する処理を、この処理の予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに応じた適切なバックエンドによって実行することができる。したがって、データ連携システム30は、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
特定の予測処理時間レベルに基づいた分類のバックエンドとしての特定処理時間バックエンドと、特定の予測処理時間レベルより予測処理時間が長い予測処理時間レベルに基づいた分類のバックエンドとしての処理時間長バックエンドとをAPIプラットフォーム52が備える場合に、処理時間長バックエンドは、メモリーの容量と、ネットワークの帯域との少なくとも1つが特定処理時間バックエンドより多くても良い。この構成により、データ連携システム30は、データ蓄積システムからデータを取得する処理を、この処理の予測処理時間が長い場合に、この処理の予測処理時間が短い場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いバックエンドによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
特定の予測応答データ量レベルに基づいた分類のバックエンドとしての特定応答データ量バックエンドと、特定の予測応答データ量レベルより予測応答データ量が多い予測応答データ量レベルに基づいた分類のバックエンドとしての応答データ量多バックエンドとをAPIプラットフォーム52が備える場合に、応答データ量多バックエンドは、メモリーの容量と、ネットワークの帯域との少なくとも1つが特定応答データ量バックエンドより多くても良い。この構成により、データ連携システム30は、データ蓄積システムからデータを取得する処理を、この処理の予測応答データ量が多い場合に、この処理の予測応答データ量が少ない場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いバックエンドによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
データ連携システム30は、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎にキューおよびバックエンドを備えている。しかしながら、データ連携システム30は、予測処理時間レベルおよび予測応答データ量レベルのいずれか1つに基づいた分類毎にキューおよびバックエンドを備えても良い。
21 情報システム
22 POSTコネクター(データ収集システム)
23 POSTエージェント(データ収集システム)
24 GET用エージェント(データ収集システム)
30 データ連携システム
40 データ蓄積システム
42 GETコネクター(データ収集システム)
43 GETエージェント(データ収集システム)
52 APIプラットフォーム
85 バックエンド(サーバー)

Claims (4)

  1. 情報システムが保持しているデータを収集するデータ収集システムと、
    前記データ収集システムによって収集されたデータを蓄積するデータ蓄積システムと、
    前記データ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームと
    を備え、
    前記APIプラットフォームは、前記データ蓄積システムからデータを取得する処理を前記APIの利用の要求に応じて実行するサーバーを、前記要求に対して応答するデータの取得の処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた分類毎に備えることを特徴とするデータ連携システム。
  2. 前記APIプラットフォームは、
    特定の前記予測処理時間レベルに基づいた前記分類の前記サーバーとしての特定処理時間サーバーと、
    前記特定の予測処理時間レベルより前記予測処理時間が長い前記予測処理時間レベルに基づいた前記分類の前記サーバーとしての処理時間長サーバーと
    を備え、
    前記処理時間長サーバーは、メモリーの容量と、ネットワークの帯域との少なくとも1つが前記特定処理時間サーバーより多いことを特徴とする請求項1に記載のデータ連携システム。
  3. 前記APIプラットフォームは、
    特定の前記予測応答データ量レベルに基づいた前記分類の前記サーバーとしての特定応答データ量サーバーと、
    前記特定の予測応答データ量レベルより前記予測応答データ量が多い前記予測応答データ量レベルに基づいた前記分類の前記サーバーとしての応答データ量多サーバーと
    を備え、
    前記応答データ量多サーバーは、メモリーの容量と、ネットワークの帯域との少なくとも1つが前記特定応答データ量サーバーより多いことを特徴とする請求項1に記載のデータ連携システム。
  4. 情報システムが保持しているデータを収集するデータ収集システムによって収集されたデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームであって、
    前記データ蓄積システムからデータを取得する処理を前記APIの利用の要求に応じて実行するサーバーを、前記要求に対して応答するデータの取得の処理にかかると予測される時間である予測処理時間の程度を示す予測処理時間レベルと、前記要求に対して応答することが予測されるデータの量である予測応答データ量の程度を示す予測応答データ量レベルとの少なくとも1つに基づいた分類毎に備えることを特徴とするAPIプラットフォーム。
JP2020055177A 2020-03-25 2020-03-25 データ連携システムおよびapiプラットフォーム Active JP7421165B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020055177A JP7421165B2 (ja) 2020-03-25 2020-03-25 データ連携システムおよびapiプラットフォーム
US17/205,309 US11740939B2 (en) 2020-03-25 2021-03-18 Data linkage system and API platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020055177A JP7421165B2 (ja) 2020-03-25 2020-03-25 データ連携システムおよびapiプラットフォーム

Publications (2)

Publication Number Publication Date
JP2021157340A true JP2021157340A (ja) 2021-10-07
JP7421165B2 JP7421165B2 (ja) 2024-01-24

Family

ID=77857216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020055177A Active JP7421165B2 (ja) 2020-03-25 2020-03-25 データ連携システムおよびapiプラットフォーム

Country Status (2)

Country Link
US (1) US11740939B2 (ja)
JP (1) JP7421165B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366706B2 (en) * 2020-03-25 2022-06-21 Kyocera Document Solutions Inc. Data linkage system and API platform

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4004329B2 (ja) 2002-05-14 2007-11-07 富士通株式会社 Xslt負荷割当装置、xslt負荷割当方法およびその方法をコンピュータに実行させるプログラム
US7207043B2 (en) 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
JP2006178663A (ja) 2004-12-21 2006-07-06 Canon Inc 情報処理装置、情報処理方法、検証装置、検証方法
JP6010975B2 (ja) 2012-03-30 2016-10-19 日本電気株式会社 ジョブ管理装置、ジョブ管理方法、及びプログラム
US20140081710A1 (en) * 2012-09-17 2014-03-20 Adam Rabie System And Method For Presenting Big Data Through A Web-Based Browser Enabed User Interface
GB2533116A (en) * 2014-12-10 2016-06-15 Ibm Query dispatching system and method
JP2016212498A (ja) 2015-04-30 2016-12-15 シャープ株式会社 データを収集するシステム、サーバ装置、通信機器、データを収集する方法およびプログラム
JP6440571B2 (ja) 2015-05-28 2018-12-19 株式会社日立製作所 SaaS間データ連携支援システムおよびSaaS間データ連携支援方法

Also Published As

Publication number Publication date
US11740939B2 (en) 2023-08-29
US20210303353A1 (en) 2021-09-30
JP7421165B2 (ja) 2024-01-24

Similar Documents

Publication Publication Date Title
CN107947960B (zh) 配置信息的推送方法及系统、配置信息的接收方法及系统
JP3896111B2 (ja) リソース割り当てシステム、方法及びプログラム
US20150067019A1 (en) Method and system for using arbitrary computing devices for distributed data processing
JP3916652B2 (ja) リソース割り当てシステム、方法及びプログラム
JP6150453B2 (ja) サーバ装置、システム、およびログ収集支援方法
JP2005174201A6 (ja) リソース割り当てシステム、方法及びプログラム
JP2012053853A (ja) 情報処理装置、情報処理システム、サービス提供機器決定方法、プログラム
JP2006011888A (ja) 遠隔管理システム
CN107819825A (zh) 一种服务调度方法、装置和电子设备
EP2808792B1 (en) Method and system for using arbitrary computing devices for distributed data processing
CN112804362B (zh) 分散数据微服务自动化运维体系
WO2015182281A1 (ja) 車載情報システム及びその情報処理方法
US20090165011A1 (en) Resource management method, information processing system, information processing apparatus, and program
JP7421165B2 (ja) データ連携システムおよびapiプラットフォーム
JP2017010227A (ja) ウェブサーバ、管理システム、およびその制御方法
JP7448881B2 (ja) データ連携システムおよびapiプラットフォーム
Grigoras et al. MonALISA-based Grid monitoring and control
CN100438402C (zh) 用于请求网络设备所提供的服务的装置和方法
KR101720316B1 (ko) 센서 네트워크 정보 제공 방법 및 그 장치
JP2021157345A (ja) データ連携システムおよびapiプラットフォーム
US20220067019A1 (en) Data cooperation system and control system
US20210303376A1 (en) Data linkage system and api platform
JP2011138202A (ja) サーバ装置、サーバ負荷分散装置、サーバ負荷分散方法、及びプログラム
JP7457284B2 (ja) データ連携システム
JP2022038404A (ja) データ連携システムおよびapiプラットフォーム

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231226

R150 Certificate of patent or registration of utility model

Ref document number: 7421165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150