JP2019101541A - Api管理システムおよびapi管理方法 - Google Patents
Api管理システムおよびapi管理方法 Download PDFInfo
- Publication number
- JP2019101541A JP2019101541A JP2017228969A JP2017228969A JP2019101541A JP 2019101541 A JP2019101541 A JP 2019101541A JP 2017228969 A JP2017228969 A JP 2017228969A JP 2017228969 A JP2017228969 A JP 2017228969A JP 2019101541 A JP2019101541 A JP 2019101541A
- Authority
- JP
- Japan
- Prior art keywords
- api
- flow control
- information
- user
- time
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
また、複数個のAPIリクエストを1回のリクエストで処理可能とする、バッチ処理の技術(非特許文献1)も開示されている。
義と、前記ユーザの該当APIに関する前記流量制御状態の情報とを所定アルゴリズムに適用し、前記定義におけるAPI間の依存関係を制約条件とし、前記流量制御状態の情報における流量制御解除までの待機時間を最小化する、APIの処理スケジュールを生成する、ことを特徴とする。
このうちアプリケーションサーバ2は、API管理システム1が公開するAPIを利用
するクライアントアプリケーションを提供するサーバ装置である。
また、エンドユーザ端末3は、エンドユーザが上述のアプリケーションサーバ2におけるクライアントアプリケーションを利用するユーザの端末である。
また、APIサーバ4は、API管理システム1を介してアプリケーションサーバ2にAPIを提供するサーバ装置である。
また、管理者端末5は、API管理システム1の管理者がAPI管理システム1を利用する端末である。
上述のアプリケーションサーバ2は、インターネットなどの適宜なネットワーク10を通じてAPI管理システム1と通信可能に接続されている。
同様に、エンドユーザ端末3は、企業内ネットワークなど適宜なネットワーク11を介してアプリケーションサーバ2と通信可能に接続されている。
に応じた処理を行い、レスポンスを生成するAPIレスポンス生成部402とからなる。これらは一般的なWebアプリケーションサーバで構成する。
カウンタ値に1を加算し、当該リクエストをAPIリクエスト処理部1021に返送する機能、をそれぞれ実装するプログラムで構成されている。
また、記憶部103にて蓄積するデータは、電子ファイルの形態でもよいし、データベースシステムで管理してもよい。
する。定義中の()は、()内の依存関係を満たしたまま、()外の依存関係を満たす、ということを表現している。例えば、「(A,B)→C」は、「API−A」と「API−B」の実行順序は任意であるが、どちらも「API−C」よりは先に実行完了とすることを表現している。
続いて、図8は、マッシュアップに含まれているAPIを並列処理する場合のスケジュールテーブル1036のデータ構成例を示す図である。
次に、スケジュール部1023は、上述のS1007で作成した仮想流量制御状態テーブル1035Cを参照し、各APIの待機時間を取得する(S1102)
次に、スケジュール部1023は、上述のS1101で取得したマッシュアップ定義に対して、S1103〜S1106を行う。
スケジュールを生成する例を示したが、そうした仮想流量制御状態テーブルではなく、当初の流量制御状態テーブル1035(図6Aや図6B)に基づいて、APIの実行スケジュールを生成するとしてもよい。
−−−第2実施形態−−−
また、第2実施形態におけるアプリケーションサーバ2には、第1実施形態のアプリケーションサーバ2に対して、ユーザ条件蓄積部204が追加されている。
また、API管理システム1は、図2のAPI定義テーブル1031に示した条件登録APIと料金照会APIを公開する。
APIのリクエスト時に参照されたりする。
こうした本実施形態によれば、マッシュアップの含む各APIの属性やエンドユーザのニーズを踏まえ、マッシュアップ全体の処理効率を好適なものとできる。
おいて、前記マッシュアップの遂行に関してユーザが望む条件であるユーザ条件の情報を更に格納し、前記処理スケジュールの生成に際し、当該生成した処理スケジュールに沿って遂行した場合の前記マッシュアップの処理時間が、前記ユーザ条件で示す下限を上回るものであった場合、当該処理スケジュールに含まれる所定APIに関する待機時間を、当該ユーザへの所定の課金処理によって低減ないし解消し、前記処理スケジュールを更新する処理を更に実行する、としてもよい。
1 API管理システム
101 通信部
102 演算部
1021 APIリクエスト処理部
1022 流量制御部
1023 スケジュール部
1024 処理時間推定部
1025 API設定部
1026 マッシュアップ設定部
1027 画面生成部
1028 ユーザ条件設定部
103 記憶部
1031 API定義テーブル
1032 API流量制御設定テーブル
1033 マッシュアップ定義テーブル
1034 推定処理時間テーブル
1035 流量制御状態テーブル
1036 スケジュールテーブル
1037 ユーザ条件テーブル
2 アプリケーションサーバ
201 通信部
202 画面生成部
203 APIリクエスト生成部
3 エンドユーザ端末
301 通信部
302 表示部
303 入力部
4 APIサーバ
401 通信部
402 APIレスポンス生成部
5 管理者端末
501 通信部
502 表示部
503 入力部
Claims (10)
- APIの各ユーザに関する流量制御状態の情報を格納した記憶部と、
APIのマッシュアップに関するユーザからのリクエストを所定装置より受け付けて、前記リクエストが含む当該マッシュアップの定義と、前記ユーザの該当APIに関する前記流量制御状態の情報とを所定アルゴリズムに適用し、前記定義におけるAPI間の依存関係を制約条件とし、前記流量制御状態の情報における流量制御解除までの待機時間を最小化する、APIの処理スケジュールを生成する演算部と、
を備えることを特徴とするAPI管理システム。 - 前記演算部は、
所定の処理スケジュールに基づき進行中のマッシュアップに関して、当該処理スケジュールと、該当ユーザの該当APIに関する流量制御状態の情報とに基づき、当該マッシュアップにおける未実行のAPIによって以後生じる流量制御状態を、仮想流量制御状態として特定し、当該仮想流量制御状態の情報と前記進行中のマッシュアップの定義とを前記所定アルゴリズムに適用して、前記所定の処理スケジュールを更新する処理を更に実行するものである、
ことを特徴とする請求項1に記載のAPI管理システム。 - 前記記憶部は、
前記流量制御状態の情報として、各ユーザにおける各APIに関して、その1回目の実行から所定時間までに実行された実行回数、および、前記1回目の実行時刻、の各情報を格納するものであり、
前記演算部は、
前記仮想流量制御状態の情報を特定するに際し、前記所定の処理スケジュールに含まれる未実行のAPIの実行予定回数および実行予定時刻に基づいて、前記流量制御状態の情報に含まれる前記APIの実行回数と前記1回目の実行時刻を更新して、前記APIの仮想実行回数と前記1回目の仮想実行時刻を特定する処理と、前記未実行のAPIが最後に実行される予定時刻を特定する処理と、前記1回目の仮想実行時刻と、前記最後の実行時刻と、現在時刻とに基づいて該当APIの待機時間を算定する処理と、を実行するものである、
ことを特徴とする請求項2に記載のAPI管理システム。 - 前記記憶部は、
前記マッシュアップの遂行に関してユーザが望む条件であるユーザ条件の情報を更に格納するものであり、
前記演算部は、
前記処理スケジュールの生成に際し、当該生成した処理スケジュールに沿って遂行した場合の前記マッシュアップの処理時間が、前記ユーザ条件で示す下限を上回るものであった場合、当該処理スケジュールに含まれる所定APIに関する待機時間を、当該ユーザへの所定の課金処理によって低減ないし解消し、前記処理スケジュールを更新する処理を更に実行するものである、
ことを特徴とする請求項1に記載のAPI管理システム。 - 前記演算部は、
前記ユーザの端末に、前記ユーザ条件の入力画面を配信し、当該入力画面を介して入力された情報をユーザ条件の情報として格納する処理を更に実行するものである、
ことを特徴とする請求項4に記載のAPI管理システム。 - APIの各ユーザに関する流量制御状態の情報を格納した記憶部を備えた情報処理シス
テムが、
APIのマッシュアップに関するユーザからのリクエストを所定装置より受け付けて、前記リクエストが含む当該マッシュアップの定義と、前記ユーザの該当APIに関する前記流量制御状態の情報とを所定アルゴリズムに適用し、前記定義におけるAPI間の依存関係を制約条件とし、前記流量制御状態の情報における流量制御解除までの待機時間を最小化する、APIの処理スケジュールを生成する、
ことを特徴とするAPI管理方法。 - 前記情報処理システムが、
所定の処理スケジュールに基づき進行中のマッシュアップに関して、当該処理スケジュールと、該当ユーザの該当APIに関する流量制御状態の情報とに基づき、当該マッシュアップにおける未実行のAPIによって以後生じる流量制御状態を、仮想流量制御状態として特定し、当該仮想流量制御状態の情報と前記進行中のマッシュアップの定義とを前記所定アルゴリズムに適用して、前記所定の処理スケジュールを更新する処理を更に実行する、
ことを特徴とする請求項6に記載のAPI管理方法。 - 前記情報処理システムが、
前記記憶部において、前記流量制御状態の情報として、各ユーザにおける各APIに関して、その1回目の実行から所定時間までに実行された実行回数、および、前記1回目の実行時刻、の各情報を格納し、
前記仮想流量制御状態の情報を特定するに際し、前記所定の処理スケジュールに含まれる未実行のAPIの実行予定回数および実行予定時刻に基づいて、前記流量制御状態の情報に含まれる前記APIの実行回数と前記1回目の実行時刻を更新して、前記APIの仮想実行回数と前記1回目の仮想実行時刻を特定する処理と、前記未実行のAPIが最後に実行される予定時刻を特定する処理と、前記1回目の仮想実行時刻と、前記最後の実行時刻と、現在時刻とに基づいて該当APIの待機時間を算定する処理と、を実行する、
ことを特徴とする請求項7に記載のAPI管理方法。 - 前記情報処理システムが、
前記記憶部において、前記マッシュアップの遂行に関してユーザが望む条件であるユーザ条件の情報を更に格納し、
前記処理スケジュールの生成に際し、当該生成した処理スケジュールに沿って遂行した場合の前記マッシュアップの処理時間が、前記ユーザ条件で示す下限を上回るものであった場合、当該処理スケジュールに含まれる所定APIに関する待機時間を、当該ユーザへの所定の課金処理によって低減ないし解消し、前記処理スケジュールを更新する処理を更に実行する、
ことを特徴とする請求項6に記載のAPI管理方法。 - 前記情報処理システムが、
前記ユーザの端末に、前記ユーザ条件の入力画面を配信し、当該入力画面を介して入力された情報をユーザ条件の情報として格納する処理を更に実行する、
ことを特徴とする請求項9に記載のAPI管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017228969A JP6815975B2 (ja) | 2017-11-29 | 2017-11-29 | Api管理システムおよびapi管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017228969A JP6815975B2 (ja) | 2017-11-29 | 2017-11-29 | Api管理システムおよびapi管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019101541A true JP2019101541A (ja) | 2019-06-24 |
JP6815975B2 JP6815975B2 (ja) | 2021-01-20 |
Family
ID=66976901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017228969A Active JP6815975B2 (ja) | 2017-11-29 | 2017-11-29 | Api管理システムおよびapi管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6815975B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023073653A1 (en) * | 2021-10-30 | 2023-05-04 | Jio Platforms Limited | System and method of application programming interface scheduling |
-
2017
- 2017-11-29 JP JP2017228969A patent/JP6815975B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023073653A1 (en) * | 2021-10-30 | 2023-05-04 | Jio Platforms Limited | System and method of application programming interface scheduling |
Also Published As
Publication number | Publication date |
---|---|
JP6815975B2 (ja) | 2021-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110402431B (zh) | 使用有向无环图进行事件驱动的调度 | |
JP7202369B2 (ja) | マルチテナントapiゲートウェイにおいてテナント分離を提供するためのマイクロサービスコンテナの活用 | |
JP5627187B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US9268584B2 (en) | Methods and systems for dynamically managing requests for computing capacity | |
US8938510B2 (en) | On-demand mailbox synchronization and migration system | |
US9491313B2 (en) | Optimizing storage between mobile devices and cloud storage providers | |
US10616139B1 (en) | Reducing quota access | |
US9300759B1 (en) | API calls with dependencies | |
US9722886B2 (en) | Management of cloud provider selection | |
JP5449283B2 (ja) | クラウド共用型リソース提供システム | |
US8881182B1 (en) | Deferred API calls | |
US20200065870A1 (en) | Managing use of software components | |
US20130066828A1 (en) | Scale-out system to acquire event data | |
JP6815975B2 (ja) | Api管理システムおよびapi管理方法 | |
US8863133B2 (en) | License management in a cluster environment | |
US20180027049A1 (en) | Computing system and method of operating the computer system | |
US10394597B1 (en) | Flexible batch job scheduling in virtualization environments | |
GB2552357A (en) | Computing system and method of operating the computing system | |
JP6595419B2 (ja) | Api提供装置及びapiリクエスト制御方法 | |
JP7334260B2 (ja) | 複数のデータ構造を管理するための通信装置、通信方法、コンピュータプログラム、非一時的な記憶媒体および通信システム | |
JP2018081431A (ja) | プログラム部品管理装置および管理方法 | |
JP2015225436A (ja) | リソース提供支援装置、リソース提供支援システム、リソース提供支援方法 | |
WO2020118432A1 (en) | Data set access for updating machine learning models | |
Klein-Halmaghi | Cooperative Resource Management for Parallel and Distributed Systems | |
Susa et al. | Closing the Gap between Cloud Providers and Scientific Users |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200214 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6815975 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |