IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

特許7473870データ連携システムおよびAPIプラットフォーム
<>
  • 特許-データ連携システムおよびAPIプラットフォーム 図1
  • 特許-データ連携システムおよびAPIプラットフォーム 図2
  • 特許-データ連携システムおよびAPIプラットフォーム 図3
  • 特許-データ連携システムおよびAPIプラットフォーム 図4
  • 特許-データ連携システムおよびAPIプラットフォーム 図5
  • 特許-データ連携システムおよびAPIプラットフォーム 図6
  • 特許-データ連携システムおよびAPIプラットフォーム 図7
  • 特許-データ連携システムおよびAPIプラットフォーム 図8
  • 特許-データ連携システムおよびAPIプラットフォーム 図9
  • 特許-データ連携システムおよびAPIプラットフォーム 図10
  • 特許-データ連携システムおよびAPIプラットフォーム 図11
  • 特許-データ連携システムおよびAPIプラットフォーム 図12
  • 特許-データ連携システムおよびAPIプラットフォーム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-16
(45)【発行日】2024-04-24
(54)【発明の名称】データ連携システムおよびAPIプラットフォーム
(51)【国際特許分類】
   H04L 67/00 20220101AFI20240417BHJP
【FI】
H04L67/00
【請求項の数】 5
(21)【出願番号】P 2020055182
(22)【出願日】2020-03-25
(65)【公開番号】P2021157345
(43)【公開日】2021-10-07
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100140796
【弁理士】
【氏名又は名称】原口 貴志
(72)【発明者】
【氏名】中島 孝記
【審査官】木村 雅也
(56)【参考文献】
【文献】特表2015-531125(JP,A)
【文献】特開2006-189964(JP,A)
【文献】特開2010-257262(JP,A)
【文献】特開2006-115197(JP,A)
【文献】米国特許出願公開第2019/0108068(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
情報システムが保持しているデータを収集するデータ収集システムと、
前記データ収集システムによって収集されたデータを蓄積するデータ蓄積システムと、
前記データ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームと
を備え、
前記APIプラットフォームは、
前記APIの利用の要求に応じた、前記データ蓄積システムからデータを取得する処理の要求を保持する処理要求保持部と、
記処理要求保持部によって保持されている要求に応じて前記処理を実行する処理実行部と
を備え、
前記処理実行部は、前記データ蓄積システムに障害が発生している場合に、前記処理要求保持部によって保持されている要求に応じて実行する処理を停止することを特徴とするデータ連携システム。
【請求項2】
前記APIプラットフォームは、前記APIの利用の要求に応じた前記処理の要求を、前記処理要求保持部に保持させる保持処理部を備え、
前記保持処理部は、前記データ蓄積システムに障害が発生している場合に、前記データ蓄積システムに障害が発生しているという情報を、前記処理要求保持部に保持させる要求に含めて、この要求を前記処理要求保持部に保持させ、
前記処理実行部は、記処理要求保持部によって保持されている要求に応じて前記処理を実行する場合に、前記データ蓄積システムに障害が発生しているという情報が、この要求に含まれていないとき、前処理を実行し、
前記処理実行部は、記処理要求保持部によって保持されている要求に応じて前記処理を実行する場合に、前記データ蓄積システムに障害が発生しているという情報が、この要求に含まれるとき、前記データ蓄積システムに障害が発生しているか否かを問い合わせることを特徴とする請求項1に記載のデータ連携システム。
【請求項3】
前記APIプラットフォームは、前記APIの利用の要求を受け付ける要求受付部を備え、
前記要求受付部は、前記処理要求保持部によって保持されている要求の数が特定の数以上になった場合に、前記APIの利用の要求の受け付けを停止することを特徴とする請求項1または請求項2に記載のデータ連携システム。
【請求項4】
前記要求受付部は、前記APIの利用の要求の受け付けを停止している場合に、前記データ蓄積システムにおける障害が解消しているとき、前記APIの利用の要求の受け付けを開始することを特徴とする請求項3に記載のデータ連携システム。
【請求項5】
情報システムが保持しているデータを収集するデータ収集システムによって収集されたデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームであって、
前記APIの利用の要求に応じた、前記データ蓄積システムからデータを取得する処理の要求を保持する処理要求保持部と、
記処理要求保持部によって保持されている要求に応じて前記処理を実行する処理実行部と
を備え、
前記処理実行部は、前記データ蓄積システムに障害が発生している場合に、前記処理要求保持部によって保持されている要求に応じて実行する処理を停止することを特徴とするAPIプラットフォーム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の情報システムが保持しているデータを収集して蓄積するデータ連携システムおよびAPIプラットフォームに関する。
【背景技術】
【0002】
従来、SaaS(Software as a Service)間でのデータ連携処理に対応した所定アルゴリズムの実行結果を取得するAPI(Application Program Interface)を提供するシステムが知られている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-224578号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1には、障害が発生した場合の振る舞いについては記載されていない。
【0005】
そこで、本発明は、障害が発生した場合の振る舞いを実行することができるデータ連携システムおよびAPIプラットフォームを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のデータ連携システムは、情報システムが保持しているデータを収集するデータ収集システムと、前記データ収集システムによって収集されたデータを蓄積するデータ蓄積システムと、前記データ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームとを備え、前記APIプラットフォームは、前記APIの利用の要求に応じた、前記データ蓄積システムからデータを取得する処理の要求を保持する処理要求保持部と、前記データ蓄積システムからデータを取得する処理を、前記処理要求保持部によって保持されている要求に応じて実行する処理実行部とを備え、前記処理実行部は、前記データ蓄積システムに障害が発生している場合に、前記データ蓄積システムからデータを取得する処理を停止することを特徴とする。
【0007】
この構成により、本発明のデータ連携システムは、データ蓄積システムに障害が発生している場合に、データ蓄積システムからデータを取得する処理を停止するので、障害が発生した場合の振る舞いを実行することができる。
【0008】
本発明のデータ連携システムにおいて、前記APIプラットフォームは、前記APIの利用の要求に応じた、前記データ蓄積システムからデータを取得する処理の要求を、前記処理要求保持部に保持させる保持処理部を備え、前記保持処理部は、前記データ蓄積システムに障害が発生している場合に、前記データ蓄積システムに障害が発生しているという情報を、前記処理要求保持部に保持させる要求に含めて、この要求を前記処理要求保持部に保持させ、前記処理実行部は、前記データ蓄積システムからデータを取得する処理を、前記処理要求保持部によって保持されている要求に応じて実行する場合に、前記データ蓄積システムに障害が発生しているという情報が、この要求に含まれていないとき、前記データ蓄積システムからデータを取得する処理を実行し、前記処理実行部は、前記データ蓄積システムからデータを取得する処理を、前記処理要求保持部によって保持されている要求に応じて実行する場合に、前記データ蓄積システムに障害が発生しているという情報が、この要求に含まれるとき、前記データ蓄積システムに障害が発生しているか否かを問い合わせても良い。
【0009】
この構成により、本発明のデータ連携システムは、データ蓄積システムに障害が発生している場合に、データ蓄積システムに障害が発生しているという情報を、処理要求保持部に保持させる要求に含めて、この要求を保持処理部が処理要求保持部に保持させ、データ蓄積システムからデータを取得する処理を、処理要求保持部によって保持されている要求に応じて処理実行部が実行する場合に、データ蓄積システムに障害が発生しているという情報が、この要求に含まれていないとき、データ蓄積システムからデータを取得する処理を処理実行部が実行し、データ蓄積システムに障害が発生しているという情報が、この要求に含まれるとき、データ蓄積システムに障害が発生しているか否かを処理実行部が問い合わせるので、データ蓄積システムに障害が発生しているか否かを処理実行部が問い合わせる負担を軽減することができ、その結果、データ蓄積システムからデータを取得する処理を実行する処理実行部の負担を軽減することができる。
【0010】
本発明のデータ連携システムにおいて、前記APIプラットフォームは、前記APIの利用の要求を受け付ける要求受付部を備え、前記要求受付部は、前記処理要求保持部によって保持されている要求の数が特定の数以上になった場合に、前記APIの利用の要求の受け付けを停止しても良い。
【0011】
この構成により、本発明のデータ連携システムは、処理要求保持部によって保持されている要求の数が特定の数以上になった場合に、APIの利用の要求の受け付けを要求受付部が停止するので、データ連携システム全体がダウンする可能性を低減することができ、その結果、データ連携システム全体を安定稼働させることができる。
【0012】
本発明のデータ連携システムにおいて、前記要求受付部は、前記APIの利用の要求の受け付けを停止している場合に、前記データ蓄積システムにおける障害が解消しているとき、前記APIの利用の要求の受け付けを開始しても良い。
【0013】
この構成により、本発明のデータ連携システムは、APIの利用の要求の受け付けを停止している場合に、データ蓄積システムにおける障害が解消しているとき、APIの利用の要求の受け付けを要求受付部が開始するので、APIの利用の要求に応じた、データ蓄積システムからデータを取得する処理を効率的に実行することができる。
【0014】
本発明のAPIプラットフォームは、情報システムが保持しているデータを収集するデータ収集システムによって収集されたデータを蓄積するデータ蓄積システムによって蓄積されているデータに基づいたデータを前記データ蓄積システムから取得するためのAPI(Application Program Interface)を提供するAPIプラットフォームであって、前記APIの利用の要求に応じた、前記データ蓄積システムからデータを取得する処理の要求を保持する処理要求保持部と、前記データ蓄積システムからデータを取得する処理を、前記処理要求保持部によって保持されている要求に応じて実行する処理実行部とを備え、前記処理実行部は、前記データ蓄積システムに障害が発生している場合に、前記データ蓄積システムからデータを取得する処理を停止することを特徴とする。
【0015】
この構成により、本発明のAPIプラットフォームは、データ蓄積システムに障害が発生している場合に、データ蓄積システムからデータを取得する処理を停止するので、障害が発生した場合の振る舞いを実行することができる。
【発明の効果】
【0016】
本発明のデータ連携システムおよびAPIプラットフォームは、障害が発生した場合の振る舞いを実行することができる。
【図面の簡単な説明】
【0017】
図1】本発明の一実施の形態に係るシステムのブロック図である。
図2図1に示すAPIプラットフォームのブロック図である。
図3図2に示す処理困難性情報の一例を示す図である。
図4図2に示すAPIコントローラーによって取得される予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンの一例を示す図である。
図5図2に示すキューの識別情報であるキューIDと、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンとの対応関係の一例を示す図である。
図6】外部システムからのAPIの利用の要求を示す処理要求メッセージをキューに格納する場合の図1に示すシステムの概略の動作のシーケンス図である。
図7】処理要求メッセージを格納するキューを特定する場合の図1に示すシステムの動作のシーケンス図である。
図8】処理要求メッセージをキューから取り出す場合の図1に示すシステムの概略の動作のシーケンス図である。
図9図8に示す「応答」シーケンス図である。
図10】外部システムから利用が要求されたAPIに応じた処理の実行の困難性をフロントエンドコントローラーに通知する場合の図2に示すAPIコントローラーの動作のフローチャートである。
図11】外部システムから利用が要求されたAPIに応じた処理をデータ作成部インスタンスが実行することが困難であるか否かを、いずれかのAPIコントローラーから通知された場合の図2に示すフロントエンドコントローラーの動作のフローチャートである。
図12】フロントエンド部に備えられる全てのフロントエンドProxyに新規の接続の受け付けを停止させている場合の図2に示すフロントエンドコントローラーの動作のフローチャートである。
図13】外部システムからAPIプラットフォームへのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合の図1に示すシステムの動作のシーケンス図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を用いて説明する。
【0019】
まず、本発明の一実施の形態に係るシステムの構成について説明する。
【0020】
図1は、本実施の形態に係るシステム10のブロック図である。
【0021】
図1に示すように、システム10は、データを生み出すデータソース部20と、データソース部20によって生み出されたデータを連携するデータ連携システム30とを備えている。
【0022】
データソース部20は、データを生み出す情報システム21を備えている。情報システム21は、情報システム21の構成や設定を保存する構成管理サーバー21aを備えている。データソース部20は、情報システム21以外にも、少なくとも1つの情報システムを備えていても良い。情報システムの例としては、MFP(Multifunction Peripheral)、プリンター専用機などの画像形成装置を遠隔で管理する遠隔管理システムなどのIoT(Internet of Things)システムと、ERP(Enterprise Resource Planning)、生産管理システムなどの社内システムとが存在する。情報システムのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。情報システムのそれぞれは、パブリック・クラウド上に構築されても良い。情報システムは、構造化データのファイルを保持しても良い。情報システムは、非構造化データのファイルを保持しても良い。情報システムは、構造化データのデータベースを保持しても良い。
【0023】
データソース部20は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTコネクター22を備えている。データソース部20は、POSTコネクター22と同様の構成のPOSTコネクターをPOSTコネクター22以外に少なくとも1つ備えても良い。POSTコネクターは、POSTコネクター自身がファイルを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTコネクターは、データ連携システム30の構成でもある。
【0024】
データソース部20は、情報システムが保持している構造化データのデータベースから構造化データを取得して、取得した構造化データをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTエージェント23を備えている。データソース部20は、POSTエージェント23と同様の構成のPOSTエージェントをPOSTエージェント23以外に少なくとも1つ備えても良い。POSTエージェントは、POSTエージェント自身が構造化データを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTエージェントは、データ連携システム30の構成でもある。
【0025】
データソース部20は、情報システムが保持しているデータに基づいて連携用の構造化データを生成するデータ収集システムとしてのGET用エージェント24を備えている。データソース部20は、GET用エージェント24と同様の構成のGET用エージェントをGET用エージェント24以外に少なくとも1つ備えても良い。GET用エージェントは、連携用の構造化データの生成の元になったデータを保持している情報システムを構成するコンピューターによって構成されても良い。なお、GET用エージェントは、データ連携システム30の構成でもある。
【0026】
データ連携システム30は、データソース部20によって生み出されたデータを蓄積するデータ蓄積システム40と、データ蓄積システム40に蓄積されているデータを利用するアプリケーション部50と、データ蓄積システム40およびアプリケーション部50に対する各種の制御を実行する制御サービス部60とを備えている。
【0027】
データ蓄積システム40は、データソース部20によって生み出されたデータを蓄積するパイプライン41を備えている。データ蓄積システム40は、パイプライン41以外にも、少なくとも1つのパイプラインを備えていても良い。情報システムにおけるデータの構成が情報システム毎に異なる可能性があるので、データ蓄積システム40は、基本的に、情報システム毎にパイプラインを備えている。パイプラインのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0028】
データ蓄積システム40は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをパイプラインに連携するデータ収集システムとしてのGETコネクター42を備えている。データ蓄積システム40は、GETコネクター42と同様の構成のGETコネクターをGETコネクター42以外に少なくとも1つ備えても良い。GETコネクターは、GETコネクター自身がファイルを連携するパイプラインを構成するコンピューターによって構成されても良い。
【0029】
なお、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTコネクターを備える。一方、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データ蓄積システム40にGETコネクターを備える。
【0030】
データ蓄積システム40は、GET用エージェントによって生成された構造化データを取得して、取得した構造化データをパイプラインに連携するデータ収集システムとしてのGETエージェント43を備えている。データ蓄積システム40は、GETエージェント43と同様の構成のGETエージェントをGETエージェント43以外に少なくとも1つ備えても良い。GETエージェントは、GETエージェント自身が構造化データを連携するパイプラインを構成するコンピューターによって構成されても良い。
【0031】
なお、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTエージェントを備える。一方、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データソース部20にGET用エージェントを備えるとともに、データ蓄積システム40にGETエージェントを備える。
【0032】
データ蓄積システム40は、複数のパイプラインによって蓄積されたデータを、例えばSQLなどのデータベース言語などのクエリー言語で検索や集計が可能な形態に変換するデータ変換処理として最終変換処理を実行するデータ変換システムとしてのビッグデータ解析部44を備えている。ビッグデータ解析部44は、最終変換処理を実行したデータに対して、アプリケーション部50側からの検索要求や集計要求に応じて検索や集計を実行することも可能である。ビッグデータ解析部44は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0033】
最終変換処理は、複数の情報システムのデータを統合するデータ統合処理をデータ変換処理として含んでいても良い。アジアに配置されている多数の画像形成装置を遠隔で管理するためにアジアに配置されている遠隔管理システムと、ヨーロッパに配置されている多数の画像形成装置を遠隔で管理するためにヨーロッパに配置されている遠隔管理システムと、アメリカに配置されている多数の画像形成装置を遠隔で管理するためにアメリカに配置されている遠隔管理システムとをシステム10が情報システムとして備えている場合、これら3つの遠隔管理システムは、それぞれ、遠隔管理システム自身が管理している画像形成装置を管理するデバイス管理テーブルを備えている。デバイス管理テーブルは、画像形成装置毎に付与したIDに対応付けて、画像形成装置の各種の情報を示す情報である。ここで、3つの遠隔管理システムがそれぞれ独自にデバイス管理テーブルを備えているので、3つの遠隔管理システムのデバイス管理テーブル間においては、別々の画像形成装置に同一のIDが付与されている可能性がある。そこで、ビッグデータ解析部44は、3つの遠隔管理システムのデバイス管理テーブルを統合して1つのデバイス管理テーブルを生成する場合に、画像形成装置のIDを重複が生じないように付与し直す。
【0034】
アプリケーション部50は、ビッグデータ解析部44によって管理されているデータを利用して、例えばデータの表示や、データの分析など、利用者によって指示された特定の動作を実行するアプリケーションサービス51を備えている。アプリケーション部50は、アプリケーションサービス51以外にも、少なくとも1つのアプリケーションサービスを備えていても良い。アプリケーションサービスのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。アプリケーションサービスは、例えば、BI(Business Intelligence)ツール、SaaS(Software as a Service)サーバーなどである。
【0035】
アプリケーション部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とが存在する。
【0036】
以下、APIプラットフォーム52の外部のシステムを単に外部システムという。外部システムには、システム10の外部のシステムや、アプリケーション部50のアプリケーションサービスが含まれる。
【0037】
図2は、APIプラットフォーム52のブロック図である。
【0038】
図2に示すように、APIプラットフォーム52は、外部システムからのAPIの利用の要求を受け付けるフロントエンド部70と、フロントエンド部70が受け付けた要求に応じた応答データを作成するデータ作成部80とを備えている。
【0039】
フロントエンド部70は、外部システムに公開されるエンドポイントであるLB(Load Balancer)71と、外部システムとの接続を確立するフロントエンドProxy72とを備えている。フロントエンド部70は、フロントエンドProxy72以外にも、フロントエンドProxy72と同様の構成のフロントエンドProxyを少なくとも1つ備えていても良い。フロントエンド部70は、フロントエンドProxyの状態監視を行うフロントエンドコントローラー73を備えている。
【0040】
LB71は、外部システムからのAPIの利用の要求をラウンドロビン方式によっていずれかのフロントエンドProxyに通知する。フロントエンドProxyは、APIの利用の要求を受け付けるものであり、本発明の要求受付部を構成している。
【0041】
フロントエンドProxy72は、LB71から通知された、APIの利用の要求をラウンドロビン方式によって、後述の、いずれかのAPIサーバーに通知する。
【0042】
フロントエンドコントローラー73は、外部システムから利用が要求されたAPIに応じた処理の実行の困難性を示す処理困難性情報73a(図3参照。)を管理している。
【0043】
図3は、処理困難性情報73aの一例を示す図である。
【0044】
図3に示す処理困難性情報73aは、外部システムから利用が要求されたAPIに応じた処理の実行の困難性を、後述のデータ作成部インスタンスの識別情報であるデータ作成部インスタンスID毎に示す情報である。外部システムから利用が要求されたAPIに応じた処理の実行の困難性には、外部システムから利用が要求されたAPIに応じた処理の実行が困難である状態と、外部システムから利用が要求されたAPIに応じた処理の実行が困難ではない状態との2種類の状態が存在する。
【0045】
図2に示すように、データ作成部80は、データ作成部インスタンス81を備えている。データ作成部80は、データ作成部インスタンス81以外にも、データ作成部インスタンス81と同様の構成のデータ作成部インスタンスを少なくとも1つ備えていても良い。
【0046】
データ作成部インスタンス81は、ビッグデータ解析部44(図1参照。)によって管理されているデータを利用して特定の動作を実行するAPIを提供するAPIサーバー82を備えている。APIサーバー82は、APIの利用の要求に応じた、データ蓄積システム40からデータを取得する処理の要求を、後述のキューに保持させるものであり、本発明の保持処理部を構成している。データ作成部インスタンス81は、APIサーバー82以外にも、APIサーバー82と同様の構成のAPIサーバーを少なくとも1つ備えていても良い。
【0047】
データ作成部インスタンス81は、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理にかかると予測される時間(以下「予測処理時間」という。)の程度を示す予測処理時間レベルと、外部システムからのAPIの利用の要求に対して応答することが予測されるデータの量(以下「予測応答データ量」という。)の程度を示す予測応答データ量レベルとを制御サービス部60(図1参照。)から取得するAPIコントローラー83を備えている。
【0048】
図4は、APIコントローラー83によって取得される予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンの一例を示す図である。
【0049】
図4に示す例において、予測処理時間レベルは、予測処理時間が特定の範囲内であることを示す「普通」と、予測処理時間が特定の範囲の上限より長いことを示す「長」と、予測処理時間が特定の範囲の下限より短いことを示す「短」とを含んでいる。予測応答データ量レベルは、予測応答データ量が特定の範囲内であることを示す「普通」と、予測応答データ量が特定の範囲の上限より多いことを示す「多」と、予測応答データ量が特定の範囲の下限より少ないことを示す「少」とを含んでいる。図4に示す例において、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンは、パターンA~パターンIの9パターンである。
【0050】
図2に示すように、データ作成部インスタンス81は、外部システムから利用が要求されたAPIに応じた処理の要求を示す処理要求メッセージを格納する処理要求保持部としてのキュー84を備えている。データ作成部インスタンス81は、キュー84以外にも、キュー84と同様の構成のキューを少なくとも1つ備えていても良い。キューは、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎に設けられている。
【0051】
図5は、キューの識別情報であるキューIDと、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンとの対応関係の一例を示す図である。
【0052】
図5に示すように、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類は、例えば、パターンAおよびパターンDが同一の分類でも良いし、パターンHおよびパターンIが同一の分類でも良い。なお、図5は、一部のキューについての情報が省略されて描かれている。
【0053】
図2に示すように、データ作成部インスタンス81は、キュー84に格納されている処理要求メッセージが示す、処理の要求をビッグデータ解析部44(図1参照。)に送信するサーバーであるバックエンド85を備えている。バックエンド85は、データ蓄積システム40からデータを取得する処理を、キュー84によって保持されている処理要求メッセージに応じて実行するものであり、本発明の処理実行部を構成している。データ作成部インスタンス81は、バックエンド85以外にも、バックエンド85と同様の構成のバックエンドを少なくとも1つ備えていても良い。バックエンドは、キュー毎に設けられている。バックエンドは、1つのキューに対して複数備えても良い。キューに格納された処理要求メッセージは、このキューに対応付けられているバックエンドのうち、処理要求メッセージを処理可能な状態のバックエンドによって、このキューから順番に取り出される。
【0054】
図1に示すように、制御サービス部60は、データソース部20、データ蓄積システム40およびアプリケーション部50におけるデータに対する各段階の処理を監視する処理監視システムとしてのパイプライン・オーケストレーター61を備えている。パイプライン・オーケストレーター61は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0055】
パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求毎に、この要求に対して応答するデータの取得の処理にかかった時間(以下「処理時間」という。)と、この要求に対して応答したデータの量(以下「応答データ量」という。)とを履歴として記憶する。そして、パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習することによって、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定することが可能である。
【0056】
制御サービス部60は、データ蓄積システム40の構成や設定を保存し、必要に応じて自動的にデプロイを実行する構成管理サーバー62を備えている。構成管理サーバー62は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。構成管理サーバー62は、データ連携システム30の構成を変更する構成変更システムを構成している。
【0057】
制御サービス部60は、情報システムの構成管理サーバーに接続し、情報システムにおけるデータベースや非構造化データに関する構成の変更、すなわち、情報システムにおけるデータの構成の変更を検出するための情報を収集する構成管理ゲートウェイ63を備えている。構成管理ゲートウェイ63は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0058】
制御サービス部60は、情報システムなどの各システム間を連携するために必要な鍵情報や接続文字列などのセキュリティー情報を暗号化して保管するKey管理サービス64を備えている。Key管理サービス64は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0059】
制御サービス部60は、データ蓄積システム40やアプリケーション部50からの要求を受け付ける管理API65を備えている。管理API65は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0060】
制御サービス部60は、アプリケーション部50のアプリケーションサービスの認証認可を実行する認証認可サービス66を備えている。認証認可サービス66は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。認証認可サービス66は、例えば、データ蓄積システム40に蓄積されている情報システムのデータの最新化を要求することをアプリケーションサービスが許可されているか否かを確認することができる。
【0061】
次に、外部システムからのAPIの利用の要求を示す処理要求メッセージをキューに格納する場合のシステム10の動作について説明する。
【0062】
図6は、外部システム90からのAPIの利用の要求を示す処理要求メッセージをキューに格納する場合のシステム10の概略の動作のシーケンス図である。
【0063】
図6に示すように、外部システム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であるものとする。
【0064】
フロントエンドProxy72は、S101における要求がLB71から通知されると、外部システム90との間でTCP/IP接続を確立する(S102)。
【0065】
外部システム90は、システム10とのTCP/IP接続が確立されると、確立されたTCP/IP接続を介して特定のAPIの利用の要求をフロントエンドProxy72に通知する(S103)。
【0066】
フロントエンドProxy72は、S103においてLB71を介して外部システム90から通知された、APIの利用の要求をラウンドロビン方式によって、いずれかのAPIサーバーに通知する(S104)。以下においては、説明を簡略化するために、S104において要求がフロントエンドProxy72から通知されたAPIサーバーがAPIサーバー82であるものとする。
【0067】
APIサーバー82は、S104における通知を受けると、S104において通知された要求を解釈する(S105)。
【0068】
図7は、処理要求メッセージを格納するキューを特定する場合のシステム10の動作のシーケンス図である。
【0069】
APIサーバー82は、S105における解釈を実行すると、図7に示すように、S105において解釈した要求の予測処理時間レベルおよび予測応答データ量レベルと、この要求に関連するパイプラインの状況とをAPIコントローラー83に問い合わせる(S121)。
【0070】
APIコントローラー83は、S121における問い合わせを受けると、S121における問い合わせを制御サービス部60の管理API65に通知する(S122)。
【0071】
管理API65は、S122における通知を受けると、S122において通知された問い合わせをパイプライン・オーケストレーター61に通知する(S123)。
【0072】
パイプライン・オーケストレーター61は、S123における通知を受けると、S123において通知された問い合わせの対象の要求、すなわち、S105においてAPIサーバー82によって解釈された要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定する(S124)。
【0073】
次いで、パイプライン・オーケストレーター61は、S123において通知された問い合わせの対象の要求、すなわち、S105においてAPIサーバー82によって解釈された要求に関連するパイプラインの状況を判定する(S125)。ここで、パイプライン・オーケストレーター61は、パイプラインがメンテナンス中である場合に、メンテナンス中であることが、このパイプラインから通知されている。したがって、パイプライン・オーケストレーター61は、パイプラインがメンテナンス中である場合に、このパイプラインがメンテナンス中であるという状況を判定することができる。
【0074】
パイプライン・オーケストレーター61は、S125の処理の後、S124およびS125における判定の結果、すなわち、S124において判定した予測処理時間レベルおよび予測応答データ量レベルと、S125において判定したパイプラインの状況とを管理API65に通知する(S126)。
【0075】
次いで、管理API65は、S126においてパイプライン・オーケストレーター61から通知された、判定の結果をAPIコントローラー83に通知する(S127)。
【0076】
次いで、APIコントローラー83は、S127において管理API65から通知された、判定の結果、すなわち、予測処理時間レベルおよび予測応答データ量レベルと、パイプラインの状況とをAPIサーバー82に返答する(S128)。
【0077】
APIサーバー82は、S128における返答を受けると、S128において返答された予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに対応付けられているキューを特定する(S129)。
【0078】
以下、説明を簡略化するために、S129において特定されたキューがキュー84であるものとする。
【0079】
図6に示すように、APIサーバー82は、S105における解釈を実行した後、S128における返答に含まれるパイプラインの状況がメンテナンス中である場合、S105において解釈した要求を示す処理要求メッセージを、パイプラインがメンテナンス中であることを示す情報(以下「メンテナンス中情報」という。)をメッセージヘッダーに入れて生成する(S106)。
【0080】
一方、APIサーバー82は、S128における返答に含まれるパイプラインの状況がメンテナンス中ではない場合、S105において解釈した要求を示す処理要求メッセージを、メンテナンス中情報をメッセージヘッダーに入れずに生成する(S107)。
【0081】
APIサーバー82は、S106またはS107の処理の後、S106またはS107において生成した処理要求メッセージを、図7に示す動作によって特定したキュー84に格納する(S108)。ここで、APIサーバー82は、キュー84に格納する処理要求メッセージをキュー84に格納したAPIサーバーとして、APIサーバー82自身の識別情報を、キュー84に格納する処理要求メッセージに含める。
【0082】
次に、処理要求メッセージをキューから取り出す場合のシステム10の動作について説明する。
【0083】
以下、説明を簡略化するために、処理要求メッセージを取り出すキューがキュー84であり、キュー84から処理要求メッセージを取り出すバックエンドがバックエンド85であるものとする。
【0084】
図8は、処理要求メッセージをキューから取り出す場合のシステム10の概略の動作のシーケンス図である。図9は、図8に示す「応答」シーケンス図である。
【0085】
図8および図9に示すように、バックエンド85は、キュー84に格納された処理要求メッセージの1つを、キュー84から取り出す(S141)。
【0086】
バックエンド85は、S141においてキュー84から取り出した処理要求メッセージのメッセージヘッダーにメンテナンス中情報が含まれている場合、処理要求メッセージが示す処理に関連するパイプラインの状況をAPIコントローラー83に問い合わせる(S142)。
【0087】
APIコントローラー83は、S142における問い合わせを受けると、S142における問い合わせを制御サービス部60の管理API65に通知する(S143)。
【0088】
管理API65は、S143における通知を受けると、S143において通知された問い合わせをパイプライン・オーケストレーター61に通知する(S144)。
【0089】
パイプライン・オーケストレーター61は、S144における通知を受けると、S144において通知された問い合わせの対象のパイプラインの状況を判定する(S145)。
【0090】
パイプライン・オーケストレーター61は、S145の処理の後、S145における判定の結果、すなわち、S145において判定したパイプラインの状況を管理API65に通知する(S146)。
【0091】
次いで、管理API65は、S146においてパイプライン・オーケストレーター61から通知された、判定の結果をAPIコントローラー83に通知する(S147)。
【0092】
次いで、APIコントローラー83は、S147において管理API65から通知された、判定の結果、すなわち、パイプラインの状況をバックエンド85に返答する(S148)。
【0093】
バックエンド85は、S148の返答を受けると、S148における返答に含まれるパイプラインの状況がメンテナンス中である場合、S141においてキュー84から取り出した処理要求メッセージを、キュー84に戻す(S149)。
【0094】
一方、バックエンド85は、S148における返答に含まれるパイプラインの状況がメンテナンス中ではない場合、S141においてキュー84から取り出した処理要求メッセージが示す、処理の要求をビッグデータ解析部44に送信する(S161)。
【0095】
ビッグデータ解析部44は、処理の要求がS161において送信されてくると、S161において送信されてきた要求に応じた処理を実行することによって、この処理に応じたデータを取得する(S162)。
【0096】
次いで、ビッグデータ解析部44は、S162において取得したデータをバックエンド85に通知する(S163)。
【0097】
バックエンド85は、S163においてデータが通知されると、S141においてキュー84から取り出した処理要求メッセージをキュー84に格納したAPIサーバー82に、S163において通知されたデータを通知する(S164)。なお、S141においてキュー84から取り出された処理要求メッセージには、この処理要求メッセージをキュー84に格納したAPIサーバー82の識別情報が含まれている。
【0098】
APIサーバー82は、S164においてデータが通知されると、このデータをフロントエンドProxy72に通知する(S165)。
【0099】
したがって、フロントエンドProxy72は、S165において通知されたデータを、LB71経由で外部システム90に応答する(S166)。なお、フロントエンドProxy72は、S102において確立したTCP/IP接続を、S166における応答の終了後に終了する。
【0100】
システム10は、バックエンド85がS141においてキュー84から取り出した処理要求メッセージのメッセージヘッダーにメンテナンス中情報が含まれていない場合、S161~S166の処理を実行する。
【0101】
次に、外部システムから利用が要求されたAPIに応じた処理の実行の困難性をフロントエンドコントローラー73に通知する場合のAPIコントローラーの動作について説明する。
【0102】
以下においては、説明を簡略化するために、APIコントローラーを代表して、APIコントローラー83について説明する。
【0103】
図10は、外部システムから利用が要求されたAPIに応じた処理の実行の困難性をフロントエンドコントローラー73に通知する場合のAPIコントローラー83の動作のフローチャートである。
【0104】
図10に示すように、APIコントローラー83は、APIコントローラー83自身を備えるデータ作成部インスタンス81に備えられる全てのキューのそれぞれに格納されている処理要求メッセージの数が特定の個数以上になったと判断するまで、APIコントローラー83自身を備えるデータ作成部インスタンス81に備えられる全てのキューのそれぞれに格納されている処理要求メッセージの数が特定の個数以上になったか否かを判断する(S181)。
【0105】
APIコントローラー83は、APIコントローラー83自身を備えるデータ作成部インスタンス81に備えられる全てのキューのそれぞれに格納されている処理要求メッセージの数が特定の個数以上になったとS181において判断すると、外部システムから利用が要求されたAPIに応じた処理を、APIコントローラー83自身を備えるデータ作成部インスタンス81が実行することが困難であることをフロントエンドコントローラー73に通知する(S182)。
【0106】
APIコントローラー83は、S182の処理の後、APIコントローラー83自身を備えるデータ作成部インスタンス81に備えられるいずれかのキューに格納されている処理要求メッセージの数が特定の個数未満になったと判断するまで、APIコントローラー83自身を備えるデータ作成部インスタンス81に備えられるいずれかのキューに格納されている処理要求メッセージの数が特定の個数未満になったか否かを判断する(S183)。
【0107】
APIコントローラー83は、APIコントローラー83自身を備えるデータ作成部インスタンス81に備えられるいずれかのキューに格納されている処理要求メッセージの数が特定の個数未満になったとS183において判断すると、外部システムから利用が要求されたAPIに応じた処理を、APIコントローラー83自身を備えるデータ作成部インスタンス81が実行することが困難ではないことをフロントエンドコントローラー73に通知する(S184)。
【0108】
APIコントローラー83は、S184の処理の後、S181の処理を実行する。
【0109】
次に、外部システムから利用が要求されたAPIに応じた処理をデータ作成部インスタンスが実行することが困難であるか否かを、いずれかのAPIコントローラーから通知された場合のフロントエンドコントローラー73の動作について説明する。
【0110】
図11は、外部システムから利用が要求されたAPIに応じた処理をデータ作成部インスタンスが実行することが困難であるか否かを、いずれかのAPIコントローラーから通知された場合のフロントエンドコントローラー73の動作のフローチャートである。
【0111】
フロントエンドコントローラー73は、外部システムから利用が要求されたAPIに応じた処理をデータ作成部インスタンスが実行することが困難であるか否かを、いずれかのAPIコントローラーから通知される度に図11に示す動作を実行する。
【0112】
図11に示すように、フロントエンドコントローラー73は、APIコントローラーから通知された内容で処理困難性情報73aを更新する(S201)。
【0113】
次いで、フロントエンドコントローラー73は、データ作成部80に備えられる全てのデータ作成部インスタンスが、外部システムから利用が要求されたAPIに応じた処理の実行が困難であるか否かを処理困難性情報73aに基づいて判断する(S202)。
【0114】
フロントエンドコントローラー73は、データ作成部80に備えられるいずれかのデータ作成部インスタンスが、外部システムから利用が要求されたAPIに応じた処理の実行が困難ではないとS202において判断すると、図11に示す動作を終了する。
【0115】
フロントエンドコントローラー73は、データ作成部80に備えられる全てのデータ作成部インスタンスが、外部システムから利用が要求されたAPIに応じた処理の実行が困難であるとS202において判断すると、フロントエンド部70に備えられる全てのフロントエンドProxyに新規の接続の受け付けを停止させて(S203)、図11に示す動作を終了する。
【0116】
次に、フロントエンド部70に備えられる全てのフロントエンドProxyに新規の接続の受け付けを停止させている場合のフロントエンドコントローラー73の動作について説明する。
【0117】
図12は、フロントエンド部70に備えられる全てのフロントエンドProxyに新規の接続の受け付けを停止させている場合のフロントエンドコントローラー73の動作のフローチャートである。
【0118】
フロントエンドコントローラー73は、フロントエンド部70に備えられる全てのフロントエンドProxyに新規の接続の受け付けを停止させている場合に、図12に示す動作を実行する。
【0119】
図12に示すように、フロントエンドコントローラー73は、特定のタイミングになったと判断するまで、特定のタイミングになったか否かを判断する(S221)。ここで、特定のタイミングは、例えば、定期的なタイミングである。
【0120】
フロントエンドコントローラー73は、特定のタイミングになったとS221において判断すると、管理API65を介してパイプライン・オーケストレーター61にパイプラインの状況を問い合わせる(S222)。
【0121】
フロントエンドコントローラー73は、S222の処理の後、メンテナンス中のパイプラインが存在するか否かをS222における問い合わせの結果に基づいて判断する(S223)。
【0122】
フロントエンドコントローラー73は、メンテナンス中のパイプラインが存在するとS223において判断すると、S221の処理を実行する。
【0123】
フロントエンドコントローラー73は、メンテナンス中のパイプラインが存在しないとS223において判断すると、フロントエンド部70に備えられる全てのフロントエンドProxyに新規の接続の受け付けを開始させて(S224)、図12に示す動作を終了する。
【0124】
次に、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合のシステム10の動作について説明する。
【0125】
図13は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する場合のシステム10の動作のシーケンス図である。
【0126】
バックエンド85は、S161においてビッグデータ解析部44への処理の要求の送信を開始すると、図13に示すように、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理の開始をAPIコントローラー83に通知する(S241)。
【0127】
次いで、バックエンド85は、S163においてビッグデータ解析部44からのデータの通知が終了すると、外部システムからのAPIの利用の要求に対して応答するデータの取得の処理の終了と、S163においてビッグデータ解析部44から通知されたデータの量とをAPIコントローラー83に通知する(S242)。
【0128】
APIコントローラー83は、S242の通知を受けると、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、この要求に対する処理時間および応答データ量とをパイプライン・オーケストレーター61に通知する(S243)。ここで、APIコントローラー83は、S241において処理の開始が通知された時間から、S242において処理の終了が通知された時間までの時間を処理時間として算出する。また、APIコントローラー83は、S242において通知された、データの量を、応答データ量とする。
【0129】
パイプライン・オーケストレーター61は、S243の通知を受けると、APIコントローラー83からこれまでに通知された、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容と、処理時間および応答データ量との相関関係を機械学習する(S244)。したがって、パイプライン・オーケストレーター61は、外部システムからAPIプラットフォーム52へのAPIの利用の要求の内容に対して、予測処理時間レベルおよび予測応答データ量レベルを判定することが可能になる。
【0130】
以上に説明したように、データ連携システム30は、パイプラインがメンテナンス中である場合、すなわち、データ蓄積システム40に障害が発生している場合に、データ蓄積システム40からデータを取得する処理を停止する(S149)ので、障害が発生した場合の振る舞いを実行することができる。
【0131】
データ連携システム30は、データ蓄積システム40に障害が発生している場合に、データ蓄積システム40に障害が発生しているという情報、すなわち、メンテナンス中情報を、キューに保持させる要求に含めて(S106)、この要求をAPIサーバーがキューに保持させ(S108)、データ蓄積システム40からデータを取得する処理を、キューによって保持されている要求に応じてバックエンドが実行する(S161およびS163)場合に、メンテナンス中情報が、この要求に含まれていないとき、データ蓄積システム40からデータを取得する処理をバックエンドが実行し、メンテナンス中情報が、この要求に含まれるとき、データ蓄積システム40に障害が発生しているか否かをバックエンドが問い合わせる(S142)ので、データ蓄積システム40に障害が発生しているか否かをバックエンドが問い合わせる負担を軽減することができ、その結果、データ蓄積システム40からデータを取得する処理を実行するバックエンドの負担を軽減することができる。
【0132】
データ連携システム30は、キューによって保持されている要求の数が特定の数以上になった場合(S181でYES)に、APIの利用の要求の受け付けをフロントエンドProxyが停止する(S203)ので、データ連携システム30全体がダウンする可能性を低減することができ、その結果、データ連携システム30全体を安定稼働させることができる。
【0133】
データ連携システム30は、APIの利用の要求の受け付けを停止している場合に、データ蓄積システム40における障害が解消しているとき(S223でNO)、APIの利用の要求の受け付けをフロントエンドProxyが開始する(S224)ので、APIの利用の要求に応じた、データ蓄積システム40からデータを取得する処理を効率的に実行することができる。
【0134】
データ連携システム30は、データ蓄積システム40からデータを取得する処理(S161およびS163)をAPIの利用の要求に応じて実行するバックエンドを、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎に備えるので、データ蓄積システム40からデータを取得する処理を、この処理の予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに応じた適切なバックエンドによって実行することができる。したがって、データ連携システム30は、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
【0135】
特定の予測処理時間レベルに基づいた分類のバックエンドとしての特定処理時間バックエンドと、特定の予測処理時間レベルより予測処理時間が長い予測処理時間レベルに基づいた分類のバックエンドとしての処理時間長バックエンドとをAPIプラットフォーム52が備える場合に、処理時間長バックエンドは、メモリーの容量と、ネットワークの帯域との少なくとも1つが特定処理時間バックエンドより多くても良い。この構成により、データ連携システム30は、データ蓄積システムからデータを取得する処理を、この処理の予測処理時間が長い場合に、この処理の予測処理時間が短い場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いバックエンドによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
【0136】
特定の予測応答データ量レベルに基づいた分類のバックエンドとしての特定応答データ量バックエンドと、特定の予測応答データ量レベルより予測応答データ量が多い予測応答データ量レベルに基づいた分類のバックエンドとしての応答データ量多バックエンドとをAPIプラットフォーム52が備える場合に、応答データ量多バックエンドは、メモリーの容量と、ネットワークの帯域との少なくとも1つが特定応答データ量バックエンドより多くても良い。この構成により、データ連携システム30は、データ蓄積システムからデータを取得する処理を、この処理の予測応答データ量が多い場合に、この処理の予測応答データ量が少ない場合よりも、メモリーの容量と、ネットワークの帯域との少なくとも1つが多いバックエンドによって実行することができるので、APIの利用の要求に応じて実行する処理の負担に応じて振る舞うことができる。
【0137】
データ連携システム30は、予測処理時間レベルおよび予測応答データ量レベルの組み合わせのパターンに基づいた分類毎にキューおよびバックエンドを備えている。しかしながら、データ連携システム30は、予測処理時間レベルおよび予測応答データ量レベルのいずれか1つに基づいた分類毎にキューおよびバックエンドを備えても良い。
【符号の説明】
【0138】
21 情報システム
22 POSTコネクター(データ収集システム)
23 POSTエージェント(データ収集システム)
24 GET用エージェント(データ収集システム)
30 データ連携システム
40 データ蓄積システム
42 GETコネクター(データ収集システム)
43 GETエージェント(データ収集システム)
52 APIプラットフォーム
72 フロントエンドProxy(要求受付部)
82 APIサーバー(保持処理部)
84 キュー(処理要求保持部)
85 バックエンド(処理実行部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13