JP7310043B2 - Program, device and method for using API - Google Patents

Program, device and method for using API Download PDF

Info

Publication number
JP7310043B2
JP7310043B2 JP2023502001A JP2023502001A JP7310043B2 JP 7310043 B2 JP7310043 B2 JP 7310043B2 JP 2023502001 A JP2023502001 A JP 2023502001A JP 2023502001 A JP2023502001 A JP 2023502001A JP 7310043 B2 JP7310043 B2 JP 7310043B2
Authority
JP
Japan
Prior art keywords
api
apis
processing request
processing
confidentiality
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
JP2023502001A
Other languages
Japanese (ja)
Other versions
JPWO2022180841A1 (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.)
KPMG Ignition Tokyo Inc
Original Assignee
KPMG Ignition Tokyo 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 KPMG Ignition Tokyo Inc filed Critical KPMG Ignition Tokyo Inc
Publication of JPWO2022180841A1 publication Critical patent/JPWO2022180841A1/ja
Application granted granted Critical
Publication of JP7310043B2 publication Critical patent/JP7310043B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本明細書の開示は、APIを利用するためのプログラム、装置、及び方法に関する。本明細書の開示は、より具体的には、処理対象データセットの秘密度に応じたAPIを利用するためのプログラム、装置、及び方法に関する。 The present disclosure relates to programs, devices, and methods for utilizing APIs. More specifically, the disclosure of this specification relates to a program, apparatus, and method for using an API according to the confidentiality of a data set to be processed.

アプリケーションソフトウェアの構築を効率良く行うために、API(Application Programming Interface)が広く利用されている。例えば、複数のWebAPIをマッシュアップすることでアプリケーションソフトウェアを構築することができる。開発者は、公開されているAPIの仕様に基づいて、所望の機能を提供するAPIを呼び出し、そのAPIからのレスポンスを処理するようにアプリケーションソフトウェアを設計することができる。既に開発され公開されているAPIを利用することにより、APIと同等の機能を実行するためのプログラムを自らコーディングする場合と比べて、アプリケーションソフトウェアの開発を効率化することができる。 APIs (Application Programming Interfaces) are widely used to build application software efficiently. For example, application software can be built by mashing up multiple WebAPIs. Developers can design application software to call APIs that provide desired functionality and to process responses from the APIs based on published API specifications. By using an API that has already been developed and made public, application software development can be made more efficient than in the case of coding a program for executing functions equivalent to the API.

APIは、リバースプロキシとして機能するAPIゲートウェイを介してデプロイされることがある。従来のAPIゲートウェイは、例えば、特開2018-029241号公報(特許文献1)に記載されている。APIゲートウェイは、クライアントアプリケーションからのAPIリクエストをバックエンドのAPIに渡し、APIからのレスポンスをリクエスト元のクライアントアプリケーションに返すことができる。つまり、アプリケーションソフトウェアは、APIゲートウェイを介してAPIを呼び出し、APIからのレスポンスを受け取ることができる。 APIs may be deployed through API gateways that act as reverse proxies. A conventional API gateway is described, for example, in Japanese Unexamined Patent Application Publication No. 2018-029241 (Patent Document 1). The API gateway can pass API requests from client applications to back-end APIs and return responses from APIs to the requesting client applications. That is, the application software can call the API via the API gateway and receive a response from the API.

特開2018-029241号公報JP 2018-029241 A

クライアントアプリケーションがAPI又はそのAPIを提供するベンダーに要求する情報セキュリティのレベルは、処理対象のデータによって変わり得る。例えば、クライアントアプリケーションが秘密度の高いデータを処理させるためにAPIを呼び出す場合には、その呼び出されるAPIは、高いレベルの情報セキュリティを確保していることが必要である。このため、クライアントアプリケーションの開発者は、APIに受け渡す処理データの秘密度に応じたセキュリティレベルを確保しているAPIを選定し、その選定されたAPIが呼び出されるように当該クライアントアプリケーションを設計する。そのためには、クライアントアプリケーションの開発者は、公開されているAPIの仕様を検討した上で、要求する情報セキュリティの要件に適合するAPIを選定しなければならず、この工程に多大な労力が必要とされる。 The level of information security that a client application requires of an API or a vendor that provides that API may vary depending on the data to be processed. For example, when a client application calls an API to process highly confidential data, the called API must ensure a high level of information security. For this reason, the developer of the client application selects an API that ensures a security level corresponding to the confidentiality of the processing data to be passed to the API, and designs the client application so that the selected API is called. . For this purpose, the client application developer must examine the published API specifications and select an API that meets the required information security requirements, and this process requires a great deal of effort. It is said that

また、APIの仕様は随時変更され得るから、クライアントアプリケーションの開発時に秘密度の高い処理データを処理させるAPIを選定し、秘密度の高い処理データの処理時にそのAPIを呼び出すようにクライアントアプリケーションが構築されたとしても、その選択されたAPIについてセキュリティレベルを低下させる改変がなされる可能性がある。この場合、秘密度の高いデータを別のAPIによって処理させるようにクライアントアプリケーションを改変する必要がある。しかしながら、クライアントアプリケーションの開発者や管理者が、クライアントアプリケーションによって利用されているAPIの全てについてセキュリティレベルを常時監視し、適時に必要な改変を行うことは困難を伴う。 Also, since API specifications can change at any time, the client application is constructed so that an API for processing highly confidential processing data is selected when the client application is developed, and that API is called when processing highly confidential processing data. Even if it does, there is a possibility that the selected API will be modified to lower the security level. In this case, it is necessary to modify the client application so that the sensitive data is processed by another API. However, it is difficult for developers and administrators of client applications to constantly monitor the security levels of all APIs used by client applications and to make necessary changes in a timely manner.

従来のAPIゲートウェイは、APIキー認証やトラフィック制御などのクライアントアプリケーションにとって有用な様々な機能を提供している。しかしながら、これまでのところAPIの選択を支援する機能を提供するAPIゲートウェイ、特に処理データの秘密度に応じたAPIの選択を支援するAPIゲートウェイは知られていない。 Conventional API gateways provide various functions useful to client applications, such as API key authentication and traffic control. However, an API gateway that provides a function for supporting API selection, particularly an API gateway that supports API selection according to the degree of confidentiality of processing data has not been known so far.

本明細書に開示される発明の目的は、クライアントアプリケーションによるAPIの利用における上記の問題の少なくとも一部を解決又な緩和することである。本明細書に開示される発明のより具体的な目的の一つは、処理データセットの秘密度に応じてAPIを選択することができるプログラム、装置、及び方法を提供することである。 It is an object of the invention disclosed herein to solve or alleviate at least some of the above problems in the use of APIs by client applications. One of the more specific objects of the invention disclosed in this specification is to provide a program, apparatus, and method capable of selecting an API according to the confidentiality of the processing data set.

本明細書に開示される発明の前記以外の目的は、本明細書全体を参照することにより明らかになる。本明細書に開示される発明は、前記の課題に代えて又は前記の課題に加えて、本明細書の記載から把握される課題を解決するものであってもよい。 Other objects of the invention disclosed herein will become apparent upon reference to the specification as a whole. The invention disclosed in this specification may solve the problems understood from the description of this specification instead of or in addition to the above problems.

本発明の一又は複数の実施形態は、会計データを分析するための分析プログラムに関する。本発明の一又は複数の実施形態における分析プログラムは、一又は複数のプロセッサに、処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報を含む処理リクエストを受信する機能と、前記秘密区分情報に応じて外部の複数のAPIの中から前記処理リクエストを処理させる実行APIを選択する機能と、を実行させる。 One or more embodiments of the present invention relate to an analysis program for analyzing accounting data. An analysis program according to one or more embodiments of the present invention has a function of receiving a processing request containing at least one degree of secrecy set in a data set to be processed, and receiving a processing request including the secrecy classification information, to one or more processors; and a function of selecting an execution API for processing the processing request from among a plurality of external APIs according to the security classification information.

本発明の一実施形態におけるプログラムは、一又は複数のプロセッサに、前記実行APIを呼び出し、前記実行APIからのレスポンスを受信する機能をさらに実行させる。 The program in one embodiment of the present invention causes one or more processors to further perform the function of calling the execution API and receiving a response from the execution API.

本発明の一実施形態において、前記実行APIは、前記秘密区分情報、及び、前記複数のAPIの各々について設定されたセキュリティレベルに基づいて、前記複数のAPIの中から選択される。 In one embodiment of the present invention, the execution API is selected from among the plurality of APIs based on the security classification information and a security level set for each of the plurality of APIs.

本発明の一実施形態におけるプログラムは、一又は複数のプロセッサに、前記秘密区分情報、及び、前記複数のAPIの各々について設定されたセキュリティレベルに基づいて、前記複数のAPIの中から前記秘密度に適合するセキュリティレベルを有する複数の候補APIを選択する機能をさらに実行させる。本発明の一実施形態において、前記実行APIは、前記複数の候補APIの中から選択される。 In one embodiment of the present invention, a program is provided in one or a plurality of processors, based on the security classification information and a security level set for each of the plurality of APIs, the degree of secrecy from among the plurality of APIs. It further performs the function of selecting a plurality of candidate APIs having security levels that match the . In one embodiment of the invention, the execution API is selected from among the plurality of candidate APIs.

本発明の一実施形態において、前記処理リクエストはクライアントアプリケーションによって生成され、前記実行APIは、前記クライアントアプリケーションについて定められた希望条件に応じて前記複数の候補APIの中から選択される。 In one embodiment of the invention, the processing request is generated by a client application, and the execution API is selected from among the plurality of candidate APIs according to desired conditions defined for the client application.

本発明の一実施形態において、前記処理対象データセットに複数の秘密度が設定されている場合、前記複数の候補APIの各々は、前記複数の秘密度のうち最も高い秘密度に適合するセキュリティレベルを有するように前記複数のAPIの中から選択される。 In one embodiment of the present invention, when a plurality of confidentialities are set for the data set to be processed, each of the plurality of candidate APIs has a security level that matches the highest confidentiality among the plurality of confidentialities. is selected from among the plurality of APIs to have

本発明の一実施形態において、前記一又は複数のプロセッサの各々は、オンプレミス環境に配置されている。本発明の一実施形態において、前記選択する機能は、前記処理リクエストに含まれるフラグが処理対象データセットを前記オンプレミス環境において処理すべきことを示す場合に、前記オンプレミス環境にある一又は複数のオンプレミスAPIの中から前記実行APIを選択する機能を含む。 In one embodiment of the invention, each of the one or more processors is located in an on-premises environment. In one embodiment of the present invention, the function to select is one or more on-premises environments in the on-premises environment when a flag included in the processing request indicates that the data set to be processed should be processed in the on-premises environment. It includes a function of selecting the execution API from among the APIs.

本発明の一実施形態においては、前記複数のAPIの各々について、提供機能及びセキュリティレベルが設定されている。本発明の一態様において、前記選択する機能は、前記処理リクエストで要求される機能および前記秘密区分情報に応じて前記実行APIを選択する機能を含む。 In one embodiment of the present invention, provided functions and security levels are set for each of the plurality of APIs. In one aspect of the present invention, the function of selecting includes a function of selecting the execution API according to the function requested by the processing request and the classified information.

本発明の一実施形態における装置は、処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報を含む処理リクエストを受信する受信部と、前記秘密区分情報に応じて外部の複数のAPIの中から前記処理リクエストを処理させる実行APIを選択するAPI選択部と、を備える。 An apparatus according to an embodiment of the present invention comprises a receiving unit for receiving a processing request containing at least one degree of confidentiality set in a data set to be processed, and a plurality of external devices according to the confidentiality information. an API selection unit that selects an execution API for processing the processing request from among the APIs.

本発明の一実施形態は、一又は複数のプロセッサがコンピュータ読み取り可能な命令を実行することによりAPIを選択する方法に関する。本発明の一実施形態における方法は、処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報を含む処理リクエストを受信する工程と、前記秘密区分情報に応じて外部の複数のAPIの中から前記処理リクエストを処理させる実行APIを選択する工程と、を備える。 One embodiment of the invention relates to a method of selecting an API by executing computer readable instructions by one or more processors. A method according to an embodiment of the present invention comprises the steps of: receiving a processing request including classification information representing at least one degree of sensitivity set in a data set to be processed; and selecting an execution API to process the processing request from among.

本発明の実施形態によれば、クライアントアプリケーションから処理データの秘密度に応じたAPIを簡便に利用できるようにするためのプログラム、装置、及び方法が提供される。 According to the embodiments of the present invention, there are provided a program, an apparatus, and a method for allowing client applications to easily use APIs according to the degree of confidentiality of processing data.

本発明が適用可能なAPI提供システムの一実施形態を概略的に示すブロック図である。1 is a block diagram schematically showing one embodiment of an API providing system to which the present invention can be applied; FIG. 図1のAPI提供システムに含まれるAPIプラットフォーム装置を示すブロック図である。2 is a block diagram showing an API platform device included in the API providing system of FIG. 1; FIG. 図1のAPI提供システムにおいて用いられるAPI管理データの一例を示す図である。2 is a diagram showing an example of API management data used in the API providing system of FIG. 1; FIG. クライアントアプリケーションから送信される処理リクエストを説明する模式図である。FIG. 4 is a schematic diagram for explaining a processing request transmitted from a client application; FIG. 一実施形態において、クライアントアプリケーションがAPIプラットフォーム装置を介してAPIを呼び出し、APIからレスポンスを受け取る処理の流れを示すフロー図である。FIG. 4 is a flow diagram showing the flow of processing in which a client application calls an API via an API platform device and receives a response from the API in one embodiment. 一実施形態において、実行APIを選択する処理の流れを示すフロー図である。FIG. 4 is a flow diagram illustrating a process flow for selecting an execution API in one embodiment; 本発明が適用可能なAPI提供システムの別の実施形態を概略的に示すブロック図である。FIG. 4 is a block diagram schematically showing another embodiment of an API providing system to which the present invention is applicable; 図7のAPI提供システムに含まれるAPIプラットフォーム装置を示すブロック図である。8 is a block diagram showing an API platform device included in the API providing system of FIG. 7; FIG. 処理リクエストにクリアランスフラグが含まれる実施形態において、実行APIを選択する処理の流れを示すフロー図である。FIG. 10 is a flow diagram showing the flow of processing for selecting an execution API in an embodiment in which a clearance flag is included in the processing request;

以下、適宜図面を参照し、本明細書に開示される発明が適用されるAPI提供システムの実施形態について説明する。以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。まず、図1~図6を参照して、本発明の一実施形態によるAPI提供システム1について説明する。API提供システム1では、クライアントと複数の外部ベンダーが提供する複数の外部APIとの間にAPIプラットフォーム装置が設けられ、APIプラットフォーム装置はクライアントのデータの秘密度に応じた外部APIを選択し、選択した外部APIを呼び出すことができる。この仕組みにより、APIプラットフォーム装置を介してエコシステムを外部ベンダーにまで広げつつ、クライアントのセキュリティ・プライバシー要求に対応可能となる。 Hereinafter, embodiments of an API providing system to which the invention disclosed in this specification is applied will be described with reference to the drawings as appropriate. Hereinafter, the same or equivalent constituent elements, members, and processes shown in each drawing are denoted by the same reference numerals, and duplication of description will be omitted as appropriate. First, an API providing system 1 according to an embodiment of the present invention will be described with reference to FIGS. 1 to 6. FIG. In the API providing system 1, an API platform device is provided between a client and a plurality of external APIs provided by a plurality of external vendors, and the API platform device selects an external API according to the confidentiality of data of the client, can call external APIs. This mechanism makes it possible to respond to client security and privacy requirements while expanding the ecosystem to external vendors via the API platform device.

図1は、API提供システム1の概略を示すブロック図である。図1に示されているとおり、API提供システム1は、クライアントアプリケーション10aを実行するユーザ端末10が配置されているオンプレミス環境5と、オンプレミス環境5の所有者(または管理者)とは異なるベンダーA、ベンダーB、ベンダーC、及びベンダーDの各々の情報機器が配置されているベンダー環境A、ベンダー環境B、ベンダー環境C、及びベンダー環境Dを含む。オンプレミス環境5に配置されている情報機器の各々は、ベンダー環境A~Dに配置されている情報機器の各々とネットワーク40を介して互いに通信可能に接続されている。ネットワーク40は、単一のネットワークであってもよく、複数のネットワークが接続されて構成されていてもよい。ネットワーク40は、例えば、インターネット、移動通信網、及びこれらの組み合わせである。ネットワーク40として、情報機器間の通信を可能とする任意のネットワークが適用され得る。 FIG. 1 is a block diagram showing an outline of an API providing system 1. As shown in FIG. As shown in FIG. 1, the API providing system 1 includes an on-premises environment 5 in which a user terminal 10 executing a client application 10a is located, and a vendor A different from the owner (or administrator) of the on-premises environment 5. , vendor environment A, vendor environment B, vendor environment C, and vendor environment D in which information devices of vendor B, vendor C, and vendor D are arranged. Each of the information devices placed in the on-premises environment 5 is connected to each of the information devices placed in the vendor environments A to D via a network 40 so as to be able to communicate with each other. The network 40 may be a single network, or may be configured by connecting a plurality of networks. Network 40 is, for example, the Internet, a mobile communication network, or a combination thereof. Any network that enables communication between information devices can be applied as the network 40 .

APIは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するためのインタフェースである。本明細書における「API」は、リクエストにより呼び出された機能を実行するイネーブラを含むことができる。 API is an interface for calling and using the functions of a certain computer program (software) and data managed by another external program. An "API" herein can include an enabler that performs a function invoked by a request.

オンプレミス環境5は、ユーザ端末10と、APIプラットフォーム装置20と、を含む。ユーザ端末10は、パーソナルコンピュータ(PC)、タブレット端末、スマートフォン、またはこれら以外の各種情報処理装置である。ユーザ端末10は、不図示のプロセッサを備え、当該プロセッサにより所定の命令セットを実行することにより、クライアントアプリケーション10aの機能を実現する。クライアントアプリケーション10aは、例えば、会計監査業務を支援する監査アプリケーションソフトウェアである。監査アプリケーションソフトウェアは、監査調書の作成を支援する機能、会計データのサンプリングや統計分析を行う機能、及び前記以外の監査業務を支援する機能を備えることができる。API提供システム1において使用可能なクライアントアプリケーション10aは、監査アプリケーションソフトウェアには限られず、例えば税務を支援する税務アプリケーションソフトウェアであってもよい。APIプラットフォーム装置20は、オンプレミス環境5の外部に設けられてもよい。 The on-premises environment 5 includes user terminals 10 and API platform devices 20 . The user terminal 10 is a personal computer (PC), a tablet terminal, a smart phone, or various other information processing devices. The user terminal 10 has a processor (not shown), and implements the functions of the client application 10a by executing a predetermined set of instructions with the processor. The client application 10a is, for example, audit application software that supports accounting audit work. The audit application software can include functions to support the preparation of audit documentation, functions to perform sampling and statistical analysis of accounting data, and functions to support other audit tasks. The client application 10a that can be used in the API providing system 1 is not limited to audit application software, and may be tax application software that supports taxation, for example. The API platform device 20 may be provided outside the on-premises environment 5 .

クライアントアプリケーション10aは、必要に応じて外部の(またはオフプレミス環境の)APIを呼び出しそのAPIから受け取ったレスポンスを処理することで所定の機能を実現するように設計及び開発される。図示の実施形態では、クライアントアプリケーション10aは、API31~36のうちの少なくとも一つを呼び出し、その呼び出したAPIからのレスポンスを受け取ることができる。クライアントアプリケーション10aは、例えば複数のWeb APIをマッシュアップすることで構築されてもよい。後述するように、クライアントアプリケーション10aは、APIを直接呼び出すのではなく、APIによる処理対象データセットの処理を要求する処理リクエストをAPIプラットフォーム装置20に送信し、APIプラットフォーム装置20を介してAPI(つまり、当該APIのイネーブラ)からのレスポンスを受け取る。つまり、クライアントアプリケーション10aは、APIプラットフォーム装置20を介してAPIを呼び出し、APIからのリクエストを受け取る。 The client application 10a is designed and developed to implement predetermined functions by calling external (or off-premises) APIs and processing responses received from the APIs as needed. In the illustrated embodiment, client application 10a can call at least one of APIs 31-36 and receive a response from the called API. The client application 10a may be built by mashing up multiple web APIs, for example. As will be described later, the client application 10a does not call the API directly, but rather sends a processing request requesting processing of the processing target data set by the API to the API platform device 20, and then calls the API (that is, , the enabler of the API). That is, the client application 10a calls the API via the API platform device 20 and receives a request from the API.

クライアントアプリケーション10aは、APIプラットフォーム装置20をバイパスしてAPI31~36のうちの少なくとも一つを呼び出すことができてもよい。言い換えると、クライアントアプリケーション10aは、APIプラットフォーム装置20を介さずにAPI31~36を直接呼び出すことができてもよい。例えば、Web APIが直接呼び出される場合には、クライアントアプリケーション10aは、利用するWeb APIのエンドポイントを指定してAPIリクエストを送信することができる。クライアントアプリケーション10aは、APIプラットフォーム装置20を介してAPIを呼び出す機能と、APIを直接呼び出す機能と、を両方とも備えてもよい。 The client application 10a may be able to bypass the API platform device 20 and call at least one of the APIs 31-36. In other words, the client application 10a may be able to directly call the APIs 31-36 without going through the API platform device 20. FIG. For example, when a Web API is directly called, the client application 10a can specify the endpoint of the Web API to be used and send an API request. The client application 10a may have both the function of calling the API via the API platform device 20 and the function of directly calling the API.

クライアントアプリケーション10aからAPIプラットフォーム装置20を介して呼び出し可能なAPI31~36の各々は、クライアントアプリケーション10aに対して所定の機能またはサービスを提供する。例えば、API31~36は、監査アプリケーションソフトウェアに対して、一致するはずの2つの数値が一致するかを検証する突合(バウチング)、画像データのテキスト部分を認識しデジタルの文字データに変換するOCR(Optical Character Recognition)、会計データの機械学習による分析、及びこれら以外の機能を提供してもよい。本明細書においては、API31,33、35がOCR機能を提供し、API32、34、36が突合機能を提供するものとしてAPI提供システム1の説明を行う。 Each of the APIs 31-36 that can be called from the client application 10a via the API platform device 20 provides a predetermined function or service to the client application 10a. For example, APIs 31 to 36 provide audit application software with matching (bouching) to verify whether two numbers that should match match, OCR ( Optical Character Recognition), machine learning analysis of accounting data, and other functions. In this specification, the API providing system 1 will be described assuming that the APIs 31, 33 and 35 provide OCR functions and the APIs 32, 34 and 36 provide matching functions.

図示の実施形態において、API31~36は、オフプレミス環境、すなわちオンプレミス環境5の外に配置されている。具体的には、API31、32はベンダー環境Aに配置され、API33はベンダー環境Bに配置され、API34はベンダー環境Cに配置され、API35、36はベンダー環境Dに配置されている。ベンダー環境A~Dの各々には、ベンダーA~Dによってそれぞれ管理されている情報機器が配置されている。各ベンダー環境から公開されているAPIは、当該ベンダー環境に配置されている情報機器によって実行される。例えば、API31は、ベンダー環境A内にあるため、ベンダー環境Aに配置された不図示のプロセッサによって実行される。API31~36によって処理されるデータ及び/又は処理されたデータは、各ベンダー環境に配置されているストレージに記憶されてもよいし、外部ストレージ41、42等の外部ストレージに記憶されてもよい。各ベンダーは、自らの情報セキュリティポリシーに基づいて、外部ストレージ41、42等の外部ストレージを利用するか否かを決めることができる。図示の実施形態では、ベンダー環境Aが外部ストレージ41を利用し、ベンダー環境Dが外部ストレージ42を利用している。他方、ベンダー環境B、ベンダー環境Cは、外部ストレージを利用していない。よって、ベンダー環境Bで実行されるAPI33で処理されるデータ及びAPI33が処理したデータは、ベンダー環境B内のストレージに保存され、ベンダー環境Cで実行されるAPI34で処理されるデータ及びAPI34が処理したデータは、ベンダー環境C内のストレージに保存される。 In the illustrated embodiment, the APIs 31 - 36 are located outside the off-premises environment, ie the on-premises environment 5 . Specifically, APIs 31 and 32 are deployed in vendor environment A, API 33 is deployed in vendor environment B, API 34 is deployed in vendor environment C, and APIs 35 and 36 are deployed in vendor environment D. Information devices managed by vendors A to D are placed in each of vendor environments A to D. FIG. APIs published by each vendor environment are executed by the information devices installed in the vendor environment. For example, API 31 is in vendor environment A, so it is executed by a processor (not shown) arranged in vendor environment A. The data processed and/or the processed data by the APIs 31-36 may be stored in storage located in each vendor's environment, or may be stored in external storage such as the external storages 41 and 42. Each vendor can decide whether or not to use an external storage such as the external storages 41 and 42 based on its own information security policy. In the illustrated embodiment, vendor environment A uses external storage 41 and vendor environment D uses external storage 42 . On the other hand, vendor environment B and vendor environment C do not use external storage. Therefore, the data processed by the API 33 executed in the vendor environment B and the data processed by the API 33 are stored in the storage in the vendor environment B, and the data processed by the API 34 executed in the vendor environment C and the data processed by the API 34 are stored in the storage in the vendor environment B. The data obtained is stored in the storage within the vendor environment C.

ベンダー環境A~Dの各々は、APIゲートウェイを備えてもよい。APIゲートウェイは、クライアントアプリケーション10a及びその他のクライアントアプリケーションに対してエンドポイントを提供する。また、APIゲートウェイは、API提供システム1においてリバースプロキシとして機能する。よって、APIゲートウェイは、クライアントアプリケーションからの処理リクエストをバックエンドのAPIに渡し、APIからのレスポンスをリクエスト元のクライアントアプリケーションに返すことができる。さらに、APIゲートウェイは、自らを通じて公開されるAPIの各々に対して、APIキー認証、トラフィック制御、及びこれら以外の公知のAPIゲートウェイの機能を提供することができる。 Each of vendor environments AD may include an API gateway. The API gateway provides endpoints for client application 10a and other client applications. Also, the API gateway functions as a reverse proxy in the API providing system 1 . Therefore, the API gateway can pass a processing request from a client application to a backend API and return a response from the API to the requesting client application. In addition, the API gateway can provide API key authentication, traffic control, and other known API gateway functions for each of the APIs exposed through it.

API31~36は、API提供システム1に適用可能なAPIの例である。API提供システム1は、API31~36よりも多い数のAPIを備えてもよく、API31~36より少ない数のAPIを備えてもよい。オンプレミス環境5に対してオフプレミス環境となる環境は、ベンダー環境A~Dには限られない。オンプレミス環境5は、より多い数の又はより少ない数のベンダー環境とネットワーク40を介して接続されてもよい。 APIs 31 to 36 are examples of APIs applicable to the API providing system 1 . The API providing system 1 may have more APIs than the APIs 31-36, or may have less APIs than the APIs 31-36. The environment that is the off-premises environment with respect to the on-premises environment 5 is not limited to the vendor environments A to D. On-premises environment 5 may be connected via network 40 to a greater or lesser number of vendor environments.

APIプラットフォーム装置20は、クライアントアプリケーション10aからの処理リクエストで処理要求がなされている処理対象データセットに設定された秘密度に応じて当該処理リクエストを処理させるAPIを選択する機能、及びこれら以外の機能をクライアントアプリケーション10aに対して提供することができる。 The API platform device 20 has a function of selecting an API for processing the processing request according to the confidentiality set for the processing target data set requested by the processing request from the client application 10a, and other functions. can be provided to the client application 10a.

図2をさらに参照してAPIプラットフォーム装置20について説明する。図2は、APIプラットフォーム装置20を示すブロック図である。図示のように、APIプラットフォーム装置20は、プロセッサ21、メモリ22、ユーザインタフェース23、通信インタフェース24、及びストレージ25を備えている。 Further referring to FIG. 2, the API platform device 20 will be described. FIG. 2 is a block diagram showing the API platform device 20. As shown in FIG. As illustrated, the API platform device 20 comprises a processor 21 , memory 22 , user interface 23 , communication interface 24 and storage 25 .

プロセッサ21は、ストレージ25又はそれ以外のストレージからオペレーティングシステムやそれ以外の様々なプログラムをメモリ22にロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。プロセッサ21は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。プロセッサ11は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。後述するように、API管理プログラム25bに含まれる命令もプロセッサ21により実行される。 The processor 21 is an arithmetic device that loads an operating system and various other programs from the storage 25 or other storage into the memory 22 and executes instructions included in the loaded programs. The processor 21 is, for example, a CPU, MPU, DSP, GPU, various arithmetic units other than these, or a combination thereof. The processor 11 may be realized by integrated circuits such as ASIC, PLD, FPGA, and MCU. Instructions included in the API management program 25b are also executed by the processor 21, as will be described later.

メモリ22は、プロセッサ21が実行する命令及びそれ以外の各種データを格納するために用いられる。メモリ22は、プロセッサ21が高速にアクセス可能な主記憶装置(メインメモリ)である。メモリ22は、例えば、DRAMやSRAM等のRAMによって構成される。 The memory 22 is used to store instructions executed by the processor 21 and various other data. The memory 22 is a main storage device (main memory) that the processor 21 can access at high speed. The memory 22 is composed of a RAM such as a DRAM or an SRAM, for example.

ユーザインタフェース23は、ユーザの入力を受け付ける入力インタフェースと、プロセッサ11の制御により様々な情報を出力する出力インタフェースと、を備える。入力インタフェースは、例えば、キーボード、マウス等のポインティングデバイス、タッチパネル、又は前記以外のユーザの入力を入力可能な任意の情報入力装置である。出力インタフェースは、例えば、液晶ディスプレイ、表示パネル、又は前記以外のプロセッサ21の演算結果を出力可能な任意の情報出力装置である。 The user interface 23 includes an input interface that receives user input and an output interface that outputs various information under the control of the processor 11 . The input interface is, for example, a keyboard, a pointing device such as a mouse, a touch panel, or any other information input device capable of inputting a user's input. The output interface is, for example, a liquid crystal display, a display panel, or any other information output device capable of outputting the computation results of the processor 21 .

通信インタフェース24は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。ユーザ端末10は、通信インタフェース24を介して、ベンダー環境A~Dに配置されている情報機器及びオンプレミス環境5内に配置されている情報機器とデータを送受信することができる。 Communication interface 24 is implemented as hardware, firmware, or communication software such as TCP/IP drivers or PPP drivers, or a combination thereof. The user terminal 10 can transmit and receive data to and from the information equipment arranged in the vendor environments A to D and the information equipment arranged in the on-premises environment 5 via the communication interface 24 .

ストレージ25は、プロセッサ21によりアクセスされる外部記憶装置である。ストレージ25は、例えば、磁気ディスク、光ディスク、半導体メモリ、又はデータを記憶可能な前記以外の各種記憶装置である。ストレージ25には、API管理データ25a、API管理プログラム25b、及びこれら以外の様々なデータが格納され得る。 Storage 25 is an external storage device accessed by processor 21 . The storage 25 is, for example, a magnetic disk, an optical disk, a semiconductor memory, or various other storage devices capable of storing data. The storage 25 can store API management data 25a, an API management program 25b, and various other data.

API管理データ25aは、API提供システム1において利用されるAPIを管理するための様々なデータを含むデータセットである。API管理データ25aについて、さらに図3を参照して説明する。API管理データ25aにおいては、APIを提供するベンダーを識別するベンダーIDに、当該ベンダーに関するデータ、及び、当該ベンダーが提供する一又は複数のAPIに関するデータが関連付けられる。図3に示されている実施形態において、API管理データ25aは、ベンダーに関するデータ項目として「ベンダー名」を含んでおり、当該ベンダーが提供するAPIに関するデータ項目として、各APIの「API名」、「提供機能」、「セキュリティレベル」、「応答性」、及び「コスト」を含んでいる。API管理データ25aの各データ項目のデータ値は、数値データ、テキストデータ、又はこれらの組み合わせであってもよい。 The API management data 25a is a data set containing various data for managing APIs used in the API providing system 1 . The API management data 25a will be further described with reference to FIG. In the API management data 25a, a vendor ID that identifies a vendor that provides an API is associated with data related to the vendor and data related to one or more APIs provided by the vendor. In the embodiment shown in FIG. 3, the API management data 25a includes "vendor name" as a data item related to the vendor, and "API name" of each API as data items related to the API provided by the vendor. Includes "provided functions", "security level", "responsiveness", and "cost". The data value of each data item of the API management data 25a may be numerical data, text data, or a combination thereof.

「ベンダー名」は、ベンダーの名称を示すテキストデータである。図3の例では、ベンダーID「001」と対応付けて、ベンダー環境Aを提供する「ベンダーA」がベンダー名として格納されている。同様に、ベンダーID「002」~「004」の各々と対応付けて、ベンダー環境B~ベンダー環境Dをそれぞれ提供する「ベンダーB」~「ベンダーD」がそれぞれベンダー名として格納されている。 "Vendor name" is text data indicating the name of the vendor. In the example of FIG. 3, "vendor A" that provides vendor environment A is stored as the vendor name in association with the vendor ID "001". Similarly, "vendor B" to "vendor D" providing vendor environment B to vendor environment D are stored as vendor names in association with vendor IDs "002" to "004", respectively.

上記のとおり、API管理データ25aにおいては、各ベンダーのベンダーIDと対応付けて、各ベンダーから公開されているAPIに関する情報が格納される。図1を参照して説明したとおり、ベンダーAは、ベンダー環境AにおいてOCR機能を提供するAPI31と突合機能を提供するAPI32を公開しているため、ベンダーAのベンダーID「001」と対応付けて、ベンダーAが公開しているAPIのAPI名として「API31」及び「API32」が格納されている。他のベンダー及びオンプレミス環境5についても同様に、各ベンダー及びオンプレミス環境5から公開されているAPIのAPI名がベンダーIDと対応付けて格納されている。 As described above, the API management data 25a stores information about APIs published by each vendor in association with the vendor ID of each vendor. As described with reference to FIG. 1, Vendor A publishes API 31 that provides an OCR function and API 32 that provides a match function in Vendor Environment A. , "API31" and "API32" are stored as API names of APIs published by Vendor A. Similarly, for other vendors and on-premise environments 5, API names of APIs published by each vendor and on-premise environment 5 are stored in association with vendor IDs.

「提供機能」は、APIが提供する機能を示すためのデータ項目である。提供機能のデータ値は、機能を示すテキストデータ又は機能を特定する機能IDがデータ値であってもよい。図示の例では、「提供機能」に、「OCR」(Optical Character Recognition)及び「突合」が含まれている。既述のとおり、API管理データ25aにおいてAPIによって提供される機能は、OCRと突合には限られない。したがって、API管理データ25aの提供機能の項目には、OCR及び突合以外のデータが含まれ得る。 "Provided function" is a data item for indicating the function provided by the API. The data value of the provided function may be text data indicating the function or a function ID specifying the function. In the illustrated example, the “provided functions” include “OCR” (Optical Character Recognition) and “match”. As described above, the functions provided by the API in the API management data 25a are not limited to OCR and matching. Therefore, the items of functions provided in the API management data 25a may include data other than OCR and matching.

「セキュリティレベル」は、APIごとに、そのAPIに設定されたセキュリティレベルを表すためのデータ項目である。図示の例では、セキュリティレベルのデータ値が「高」と「低」の二段階で表されている。セキュリティレベルは、三段階以上に分けて分類されてもよい(例えば、「高」、「中」、「低」等)し、セキュリティの高さをスコアで表したデータであってもよい。各APIに対応付けられるセキュリティレベルは、例えば、10点満点で当該APIのセキュリティの高さを示してもよい。セキュリティレベルは、ベンダーごとに定められてもよい。例えば、ベンダーがISO/IEC 27001:2005に基づく認証又はそれに対応する日本国内のJIS Q 27001:2006に基づく認証を受けている場合に、当該ベンダーから提供されるAPIのセキュリティレベルを「高」に設定し、これらの認証を受けていないベンダーから提供されるAPIのセキュリティレベルを「低」に設定してもよい。あるベンダーから提供されているAPIのセキュリティレベルを決定する際に、当該APIが当該ベンダーから見てオフプレミスにあるストレージを利用している場合に、当該APIのセキュリティレベルを低く設定してもよい。ただし、あるベンダーが提供するAPIが処理データの格納のために外部ストレージを利用していても、当該ベンダーがISO/IEC 27017:2015に基づくISMSクラウドセキュリティ認証を受けていれば、当該APIのセキュリティレベルを高く設定してもよい。あるベンダーとAPIプラットフォーム装置20との通信における暗号化の強度が高いほどそのベンダーが提供するAPIのセキュリティレベルを高く設定してもよい。準同型暗号やMPC(Multi Party Computation)などの秘密計算の技術を用いることでAPIの処理が秘匿された状態で行われる場合は、そうでない場合よりも当該APIのセキュリティレベルを高く設定してもよい。このように、あるベンダーから提供されるAPIのセキュリティレベルは、当該ベンダーがISO/IEC 27001:2005に基づく認証を受けているか否か、当該APIが当該ベンダーにとってのオフプレミス環境にある外部ストレージを処理データの格納に利用しているか否か、当該ベンダーがISO/IEC 27017:2015に基づくISMSクラウドセキュリティ認証を受けているか否か、当該ベンダーに係る情報流出や情報漏洩などのインシデントの有無、当該ベンダーとの通信や処理の秘匿性、及びこれら以外の様々な要素に基づいて設定され得る。APIのセキュリティレベルは、例えば、APIプラットフォーム装置20の運営者が定める基準に従って当該APIを評価することにより設定される。あるAPIについてセキュリティレベルが一度設定された後であっても、当該APIの情報セキュリティに影響を与える変更があった場合には当該セキュリティレベルは変更され得る。APIの情報セキュリティに影響を与える変更には、当該APIの仕様の変更、当該APIを提供するベンダーが新たに情報セキュリティ認証を受けたこと、当該APIを提供するベンダーに対する情報セキュリティ認証が取り消されたこと、及びこれら以外のAPIの情報セキュリティに影響を与える様々な変更が含まれ得る。 "Security level" is a data item for representing the security level set for each API. In the illustrated example, the data value of the security level is represented by two levels of "high" and "low". The security level may be classified into three or more levels (for example, "high", "medium", "low", etc.), and may be data representing the level of security as a score. The security level associated with each API may indicate the level of security of the API on a scale of 10, for example. A security level may be defined for each vendor. For example, if the vendor has received certification based on ISO/IEC 27001:2005 or the corresponding certification based on JIS Q 27001:2006 in Japan, setting the security level of the API provided by the vendor to "high" and set the security level of APIs provided by these uncertified vendors to "low". When determining the security level of an API provided by a certain vendor, if the API uses off-premise storage from the vendor's perspective, the security level of the API may be set low. However, even if an API provided by a vendor uses external storage to store processed data, if the vendor has received ISMS cloud security certification based on ISO/IEC 27017:2015, the security of the API You can set the level higher. The higher the encryption strength in the communication between a certain vendor and the API platform device 20, the higher the security level of the API provided by that vendor. When API processing is performed in a secret state by using secure computation technology such as homomorphic encryption and MPC (Multi Party Computation), even if the security level of the API is set higher than otherwise. good. In this way, the security level of an API provided by a certain vendor depends on whether the vendor has received certification based on ISO/IEC 27001:2005, and whether the API handles external storage in an off-premises environment for the vendor. Whether or not it is used for data storage, whether or not the vendor has received ISMS cloud security certification based on ISO/IEC 27017:2015, whether or not there have been incidents such as information leaks or leaks related to the vendor, and the vendor It can be set based on the confidentiality of communication with and processing, and various other factors. The security level of an API is set, for example, by evaluating the API according to criteria defined by the operator of the API platform device 20. Even after a security level is set once for an API, the security level can be changed if there is a change that affects the information security of that API. Changes that affect the information security of APIs include changes in the specifications of the API, new information security certification of the vendor that provides the API, and cancellation of the information security certification of the vendor that provides the API. and other API changes that affect information security.

セキュリティレベルは、ベンダーごとに設定されてもよく、APIごとに設定されてもよい。図3に示されている例では、ベンダーA~ベンダーCについては、ベンダーごとセキュリティレベルが設定されており、ベンダーDについてはAPIごとにセキュリティレベルが設定されている。具体的には、ベンダーAの2つのAPI31、32はいずれもセキュリティレベルが「低」とされているが、ベンダーDが公開しているAPIのうちAPI35についてはセキュリティレベルが「高」に設定されている一方で、API36についてはセキュリティレベルが「低」に設定されている。例えば、API35がベンダー環境D内に処理データを格納する一方でAPI36が処理データをベンダー環境Dの外部にあるストレージ(例えば、ストレージ42)に格納する場合に、API35についてセキュリティレベルを「高」に設定する一方でAPI36についてセキュリティレベルを「低」に設定してもよい。 A security level may be set for each vendor or may be set for each API. In the example shown in FIG. 3, for Vendor A to Vendor C, the security level is set for each vendor, and for Vendor D, the security level is set for each API. Specifically, the security levels of the two APIs 31 and 32 of Vendor A are both set to "low", but among the APIs published by Vendor D, the security level of API 35 is set to "high". On the other hand, the security level of the API 36 is set to "low". For example, if the API 35 stores processing data in the vendor environment D and the API 36 stores processing data in a storage (for example, the storage 42) outside the vendor environment D, the security level for the API 35 is set to “high”. You may set a security level to "low" about API36 while setting.

APIの「応答性」は、APIの応答速度を示すデータ項目である。APIの応答性は、当該APIを呼び出してから正しいレスポンス(エラーではないレスポンス)を受けるまでの応答時間に基づいて定められ得る。図示の実施形態において、APIの応答性は、「高」、「中」、「低」の三段階で評価されており、その評価結果が「応答性」の項目のデータ値とされている。APIの応答性は、二段階で評価されてもよく、四段階以上に分けて評価されてもよい。APIの応答性は、APIの応答時間を正規化した値であってもよい。 "Responsiveness" of API is a data item indicating the response speed of API. The responsiveness of an API can be defined based on the response time from calling the API to receiving a correct response (non-error response). In the illustrated embodiment, API responsiveness is evaluated in three levels of "high", "medium", and "low", and the evaluation result is the data value of the item "responsiveness". API responsiveness may be evaluated in two stages, or may be evaluated in four or more stages. The API responsiveness may be a value obtained by normalizing the API response time.

APIの「コスト」は、当該APIを利用するために支払う費用についての評価示すデータ項目である。図示の実施形態では、APIのコストは、「高い」、「中」、「安い」の三段階で評価されており、その評価結果がコストのデータ項目のデータ値として格納されている。APIは、ベンダーの収益のために有償で公開される場合もあるし、無償で公開される場合もある。例えば、無償で公開されているAPIや、利用料金を支払わずに利用できるAPIについては、コストを「安い」と評価することができる。有償で公開されているAPIについては、支払いが必要な金額に応じて、「高い」、「中」、「安い」のいずれかの評価が与えられ、このようにして与えられた評価が「コスト」の項目のデータ値として設定される。APIのコストは、二段階で評価されてもよく、四段階以上に分けて評価されてもよい。APIのコストは、APIを利用するために支払う金額を正規化した値であってもよい。 "Cost" of API is a data item indicating an evaluation of the cost to be paid for using the API. In the illustrated embodiment, the API cost is evaluated in three levels of "high", "medium", and "low", and the evaluation result is stored as the data value of the cost data item. APIs may be published for a fee for the vendor's revenue, or they may be published for free. For example, an API that is open to the public free of charge or an API that can be used without paying a usage fee can be evaluated as having a "cheap" cost. APIs published for a fee are given a rating of "high", "medium", or "cheap" depending on the amount of money that needs to be paid. ” is set as the data value of the item. The API cost may be evaluated in two stages, or may be evaluated in four or more stages. The API cost may be a normalized value of the amount paid for using the API.

図3に示されているAPI管理データ25aは例示であり、API提供システム1において使用可能なAPI管理データ25aは、図3に示されているものには限られない。API管理データ25aは、図3に示されているデータ項目の一部を含まなくてもよいし図3に記載されていないデータ項目を含んでもよい。例えば、API管理データ25aは、「応答性」及び「コスト」以外に、APIが利用するストレージに関するデータ項目を含んでもよい。API管理データ25aに含められるAPIが利用するストレージに関するデータ項目には、当該APIが利用するストレージの信頼性及び当該ストレージが設置されている設置国を含めることができる。例えば、ベンダーAは、外部のストレージ41を利用しているため、ベンダー環境Aのストレージとストレージ41とを組み合わせることにより、ストレージを冗長化することが可能である。このようにAPIの処理データを保存するストレージの冗長化が図られている場合に、当該APIのストレージの信頼性が高いと判断することができる。また、APIの処理データを保存するストレージに使用しているRAIDのレベルに応じてストレージの信頼性を評価することができる。例えば、RAID-6を使用している場合に、ストレージの信頼性が高いと評価することができる。ストレージの設置国としては、例えば、日本、米国、豪州、中国、及びこれら以外の国または地域がデータ値として設定される。 The API management data 25a shown in FIG. 3 is an example, and the API management data 25a that can be used in the API providing system 1 is not limited to that shown in FIG. The API management data 25a may not include some of the data items shown in FIG. 3, or may include data items not shown in FIG. For example, the API management data 25a may include data items related to storage used by the API, in addition to "responsiveness" and "cost". The data items related to the storage used by the API included in the API management data 25a can include the reliability of the storage used by the API and the installation country where the storage is installed. For example, since Vendor A uses an external storage 41 , it is possible to make the storage redundant by combining the storage of Vendor Environment A and the storage 41 . In this way, when redundancy is achieved in the storage that stores processing data of the API, it can be determined that the reliability of the storage of the API is high. Also, the reliability of the storage can be evaluated according to the RAID level used for the storage that stores API processing data. For example, when RAID-6 is used, it can be evaluated that the storage reliability is high. As the country where the storage is installed, for example, Japan, the United States, Australia, China, and other countries or regions are set as data values.

API管理データ25aに含められているAPIに関するデータ項目のデータ値は、例えばAPIプラットフォーム装置20の運営者によって設定される。例えば、APIのコストは、APIプラットフォーム装置20の運営者がAPIごとに利用料金を調査することで評価を定めることができる。 Data values of data items related to APIs included in the API management data 25a are set by the operator of the API platform device 20, for example. For example, the API cost can be evaluated by the operator of the API platform device 20 by investigating usage fees for each API.

API提供システム1において、データの格納場所には特段の制限はない。例えば、ストレージ25に記憶され得る各種データは、オンプレミス環境5内又はオンプレミス環境5外のAPIプラットフォーム装置20とは物理的に別体のストレージやデータベースサーバに格納されてもよい。ただし、クライアントアプリケーション10aがオフプレミス環境に送信することができないデータを取り扱っている場合には、当該データは、オンプレミス環境5内のストレージに格納される。図2においては、ストレージ25が単一のユニットとして図示されているが、ストレージ25は、複数の物理的に別体のストレージが集合したものであってもよい。つまり、本明細書において、ストレージ25に記憶されるデータは、単一のストレージに記憶されてもよいし、複数のストレージに分散して記憶されてもよい。また、本明細書及び特許請求の範囲において、単に「ストレージ」という場合には、文脈上許される限り、単一のストレージと複数のストレージの集合のいずれを指し示すこともある。API管理プログラム25bは、ストレージ25以外にも様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)に格納され得る。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例には、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。 In the API providing system 1, there are no particular restrictions on where data is stored. For example, various data that can be stored in the storage 25 may be stored in a storage or database server that is physically separate from the API platform device 20 within the on-premises environment 5 or outside the on-premises environment 5 . However, when the client application 10 a handles data that cannot be sent to the off-premises environment, the data is stored in the storage within the on-premises environment 5 . Although the storage 25 is illustrated as a single unit in FIG. 2, the storage 25 may be a collection of multiple physically separate storages. That is, in this specification, the data stored in the storage 25 may be stored in a single storage, or distributed and stored in a plurality of storages. In addition, in the present specification and claims, the term "storage" may refer to either a single storage or a collection of multiple storages, as long as the context permits. The API management program 25b can be stored in various types of non-transitory computer readable media other than the storage 25. FIG. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), Compact Disc Read Only Memory (CD-ROM), CD -R, CD-R/W, semiconductor memory (e.g. Mask ROM, Programmable ROM (PROM), Erasable PROM (EPROM), Flash ROM, Random Access Memory (RAM)).

続いて、APIプラットフォーム装置20の機能について説明する。APIプラットフォーム装置20のプロセッサ21は、API管理プログラム25bに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、リクエスト受信部21a、API選択部21b、リクエスト送信部21c、レスポンス受信部21d、及びレスポンス送信部21eとして機能する。本明細書において、プロセッサ21によって実行されるとして説明されるプログラム又は当該プログラムに含まれる命令は、単一のコンピュータプロセッサで実行されてもよいし、複数のコンピュータプロセッサにより分散して実行されてもよい。また、プロセッサ21によって実行されるプログラム又は当該プログラムに含まれる命令は、複数の仮想コンピュータプロセッサにより分散して実行されてもよい。ただし、上述したように、クライアントアプリケーション10aがオフプレミス環境に送信することができないデータを取り扱っている場合には、当該データは、オンプレミス環境5内のプロセッサによって処理され、オフプレミス環境のプロセッサによる分散処理は行われない。 Next, functions of the API platform device 20 will be described. The processor 21 of the API platform device 20 executes the commands included in the API management program 25b and other commands as needed, thereby executing the request receiving unit 21a, the API selecting unit 21b, the request transmitting unit 21c, the response receiving unit 21d and a response transmission unit 21e. In this specification, a program or instructions included in the program described as being executed by the processor 21 may be executed by a single computer processor or distributed by a plurality of computer processors. good. Also, the program executed by the processor 21 or instructions included in the program may be distributed and executed by a plurality of virtual computer processors. However, as described above, if the client application 10a handles data that cannot be sent to the off-premises environment, the data is processed by the processors in the on-premises environment 5, and the distributed processing by the processors in the off-premises environment is Not done.

リクエスト受信部21aは、クライアントアプリケーション10aから送信された処理リクエストを受信する。図4は、処理リクエストの一例を模式的に示すデータ構造図である。処理リクエストは、ヘッダ部51と、ボディ部52と、を有する。クライアントアプリケーション10aから送信される処理リクエストのヘッダ部51には、処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報と、当該処理対象データセットを処理すべきAPIの機能を特定する機能IDと、が含まれる。 The request receiving unit 21a receives a processing request transmitted from the client application 10a. FIG. 4 is a data structure diagram schematically showing an example of a processing request. A processing request has a header portion 51 and a body portion 52 . In the header part 51 of the processing request transmitted from the client application 10a, at least one confidentiality level information set in the processing target data set and the function of the API to process the processing target data set are specified. and a function ID to be used.

処理対象データセットは、クライアントアプリケーション10aで利用されている様々なデータのうち、APIでの処理のためにAPIに受け渡されるデータセットである。処理リクエストにおいては、処理対象データセットに含められるファイルのファイル名が指定されてもよい。処理対象データセットは、PDF、CSV、JSON及びこれら以外の公知の形式の一又は複数のファイルを含むことができる。処理対象データセットは、処理リクエストのボディ部に含められて、処理リクエストとともにAPIに送信されてもよいし、処理リクエストにおいて指定された格納場所からAPIによって取得されてもよい。 The data set to be processed is a data set passed to the API for processing by the API among various data used by the client application 10a. The processing request may specify the file name of the file included in the processing target data set. The processed data set can include one or more files in PDF, CSV, JSON and other known formats. The data set to be processed may be included in the body of the processing request and sent to the API along with the processing request, or may be obtained by the API from the storage location specified in the processing request.

処理対象データセットには、一又は複数の秘密度が設定される。処理対象データセットの秘密度は、情報セキュリティの国際規格であるISO27001(JISQ27001)に従って区分されてもよい。ISO27001(JISQ27001)では、「極秘」、「秘」、「社外秘」、「一般」の4区分に情報が分類されている。処理対象データセットの秘密度は、この4区分に従って設定されてもよい。処理対象データセットの秘密度の設定は、クライアントアプリケーション10aのユーザによってなされてもよい。処理対象データセット全体に一つの秘密度が設定されてもよいし、処理対象データセットに含まれる単位データセット(例えば、ファイル)ごとに秘密度が設定されてもよい。処理対象データセットに含まれるファイルごとに秘密度が設定される場合には、処理リクエストには、ファイル名と対応付けてそのファイルに設定された秘密度が含められてもよい。あるいはまた、処理対象データセットの秘密度は、当該処理対象データセットの送信元のクライアントアプリケーション10aに応じた値に設定されてもよい。この場合、クライアントアプリケーション10aから送信される処理リクエストに含まれる処理対象データセットは全て同じ秘密度を有する一方、別のクライアントアプリケーションから送信される処理リクエストに含まれる処理対象データセットは前記秘密度とは異なる秘密度を有しうる。例えば、企業内で使用する業務用アプリケーションから送信される処理リクエストに含まれる処理対象データセットの秘密度は一様に「極秘」に設定される一方、業務用アプリケーション以外のアプリケーション(例えば、個人が使用するSNSアプリケーション、ゲームアプリケーション)から送信される処理リクエストに含まれる処理対象データセットの秘密度は一様に「一般」に設定されてもよい。あるいはまた、処理対象データセットの秘密度は当該処理対象データセットの送信元のユーザに応じた値に設定されてもよい。この場合、ユーザAがクライアントアプリケーション10aを用いて送信する処理リクエストに含まれる処理対象データセットは全て同じ秘密度を有する一方、別のユーザBがクライアントアプリケーション10aを用いて送信する処理リクエストに含まれる処理対象データセットは前記秘密度とは異なる秘密度を有しうる。例えば、監査法人がクライアントアプリケーション10aを用いて送信する処理リクエストに含まれる処理対象データセットは一様に「極秘」に設定される一方、一般企業の内部監査担当がクライアントアプリケーション10aを用いて送信する処理リクエストに含まれる処理対象データセットの秘密度は一様に「社外秘」に設定されてもよい。 One or more degrees of confidentiality are set for the data set to be processed. The confidentiality of the data set to be processed may be classified according to ISO27001 (JISQ27001), which is an international standard for information security. ISO27001 (JISQ27001) classifies information into four categories: "top secret", "confidential", "confidential", and "general". The confidentiality of the data set to be processed may be set according to these four divisions. A user of the client application 10a may set the sensitivity of the data set to be processed. One degree of sensitivity may be set for the entire data set to be processed, or a degree of sensitivity may be set for each unit data set (for example, file) included in the data set to be processed. When the confidentiality is set for each file included in the data set to be processed, the processing request may include the confidentiality set for the file in association with the file name. Alternatively, the confidentiality of the processing target data set may be set to a value according to the client application 10a that is the transmission source of the processing target data set. In this case, the processing target data sets included in the processing request sent from the client application 10a all have the same confidentiality, while the processing target data sets included in the processing requests sent from other client applications have the same confidentiality. can have different sensitivities. For example, the confidentiality of data sets to be processed included in processing requests sent from business applications used within a company is uniformly set to "Top Secret", while applications other than business applications (for example, personal The confidentiality of the processing target data set included in the processing request transmitted from the SNS application, game application to be used) may be uniformly set to "general". Alternatively, the confidentiality of the processing target data set may be set to a value according to the user who sent the processing target data set. In this case, all of the processing target data sets included in the processing request sent by user A using the client application 10a have the same confidentiality, while the data sets included in the processing request sent by another user B using the client application 10a A dataset to be processed may have a sensitivity different from the sensitivity. For example, the data set to be processed included in the processing request sent by the audit corporation using the client application 10a is uniformly set to "top secret", while the internal audit staff of a general company sends using the client application 10a The confidentiality of the data set to be processed included in the processing request may be uniformly set to "confidential".

処理リクエストに含まれる機能IDは、その処理リクエストに含まれる又はその処理リクエストで特定されている処理対象データセットに対してどのような処理が行われるかを特定する識別子である。機能IDにより、処理対象データセットを受け取ったAPIがどのような機能を提供すべきかを特定することができる。上記のとおり、API提供システム1に含まれる各APIが突合又はOCRのいずれかの機能を提供する場合には、機能IDは、突合又はOCRのいずれかを識別する。API提供システム1において公開されるAPIがより多くの機能を提供する場合には、それに応じて機能IDが拡張される。つまり、機能IDは、3種類以上のAPIにより提供されるべき機能を識別することができるように設計されてもよい。機能IDは、例えば、APIプラットフォーム装置20の運営者がAPI提供システム1において公開されている複数のAPIの仕様に基づいてAPIの機能を評価し、その評価に応じて各APIに割り当てられてもよい。 The function ID included in the processing request is an identifier specifying what kind of processing is to be performed on the processing target data set included in the processing request or specified in the processing request. With the function ID, it is possible to specify what function should be provided by the API that received the data set to be processed. As described above, when each API included in the API providing system 1 provides either matching or OCR functions, the function ID identifies either matching or OCR. When the API published in the API providing system 1 provides more functions, the function ID is extended accordingly. That is, the function ID may be designed to identify functions to be provided by three or more APIs. The function ID may be assigned to each API according to the evaluation, for example, by the operator of the API platform device 20 evaluating API functions based on the specifications of a plurality of APIs published in the API providing system 1. good.

図2に戻り、API選択部21bは、クライアントアプリケーション10aから受信した処理リクエストに基づいて、API提供システム1において公開されている複数のAPIの中から、当該処理リクエストに含まれる処理対象データセットを処理させるAPIを選択する。本明細書では、API選択部21bによって選択されるAPIを「実行API」と呼ぶことがある。図1に示されている実施形態では、API提供システム1においてAPI31~36が公開されているので、API選択部21bは、API31~36の中から実行APIを選択する。 Returning to FIG. 2, based on the processing request received from the client application 10a, the API selection unit 21b selects a processing target data set included in the processing request from among a plurality of APIs published in the API providing system 1. Select the API to process. In this specification, the API selected by the API selection unit 21b may be called "execution API". In the embodiment shown in FIG. 1, since the APIs 31-36 are open to the public in the API providing system 1, the API selector 21b selects an execution API from among the APIs 31-36.

本発明の一実施形態において、API選択部21bは、処理リクエストに含まれている機能ID及び秘密区分情報に基づいて実行APIを選択することができる。API選択部21bは、例えば、処理リクエストに含まれている機能IDに基づいて要求されている機能を特定し、API管理データ25aを参照して特定された機能を提供するAPIを抽出し、その抽出されたAPIのうち処理リクエストに含まれている秘密区分情報により特定される秘密度に適合するAPIを実行APIとして選択する。つまり、処理リクエストに含まれる機能IDにより特定される機能を提供し、且つ、秘密区分情報で指定される秘密度に適合するセキュリティレベルを有するAPIが実行APIとして選択され得る。 In one embodiment of the present invention, the API selector 21b can select an execution API based on the function ID and security classification information included in the processing request. The API selection unit 21b, for example, identifies the requested function based on the function ID included in the processing request, refers to the API management data 25a, extracts an API that provides the identified function, and Among the extracted APIs, an API that matches the degree of secrecy specified by the secrecy classification information included in the processing request is selected as the execution API. That is, an API that provides the function specified by the function ID included in the processing request and has a security level that matches the degree of confidentiality specified by the security classification information can be selected as the execution API.

APIのセキュリティレベルが秘密区分情報で指定される秘密度に適合するかを判断する適合判断基準には少なくとも以下の2つの基準がある。API提供システム1においては、いずれの基準が採用されてもよい。 There are at least the following two criteria for determining whether the API security level conforms to the degree of secrecy specified by the security classification information. Any criteria may be adopted in the API providing system 1 .

適合判断基準の第1の例においては、APIのセキュリティレベルの各々は、各セキュリティレベルに適合する秘密度の上限を指定する。例えば、APIのセキュリティレベル「高」は、セキュリティレベル「高」に適合する秘密度の上限として「極秘」を指定し、セキュリティレベル「低」は、セキュリティレベル「低」に適合する秘密度の上限として「一般」を指定することができる。この場合、API選択部21bは、セキュリティレベルとして「高」が設定されているAPIは、セキュリティレベル「高」が指定する上限の「極秘」と同じかそれより低い秘密度(秘密度が高い方から順に「極秘」、「秘」、「社外秘」及び「一般」の4段階に分けられている場合には、「極秘」及び「極秘」よりも秘密度が低い「秘」、「社外秘」及び「一般」)の秘密度に適合し、また、セキュリティレベルとして「低」が設定されているAPIは、セキュリティレベル「低」が指定する「一般」と同じかそれよりも低い秘密度(上記の4段階の例においては、「一般」の秘密度のみ)に適合すると判断することができる。このように、適合判断基準の第1の例においては、秘密区分情報で指定される秘密度が、その秘密度に適合するAPIのセキュリティレベルの下限を指定する。 APIのセキュリティレベルが高い方から順に、「最高」、「高」、「中」、「低」の4区分に分類される別の例では、セキュリティレベルと秘密度との対応関係は、例えば以下の表1のように設定することが可能である。
In a first example of conformance criteria, each of the API's security levels specifies an upper sensitivity limit that conforms to each security level. For example, the API security level "high" specifies "top secret" as the upper limit of confidentiality suitable for the security level "high", and the security level "low" specifies the upper limit of confidentiality suitable for the security level "low". You can specify "general" as In this case, the API selection unit 21b selects APIs whose security level is set to "high" to have a degree of secrecy equal to or lower than the upper limit of "top secret" specified by the security level of "high". Confidential, Confidential, Confidential, and General, in order from top to bottom, Confidential, Confidential, and Confidential APIs that conform to the "general") sensitivity and whose security level is set to "low" must have the same or lower sensitivity than the "general" specified by the security level "low" (the above In the 4-level example, it can be determined that only "general" confidentiality is met). Thus, in the first example of the conformity criterion, the degree of confidentiality designated by the classified information designates the lower limit of the security level of the API that conforms to the degree of confidentiality. In another example where the API security level is classified into four categories, "highest", "high", "medium", and "low", the correspondence between the security level and the degree of secrecy is as follows. can be set as shown in Table 1.

適合判断基準の第2の例においては、秘密度の各々に対してAPIのセキュリティレベルが特定可能なように対応付けられる。この場合、複数の秘密度が一つのセキュリティレベルと対応付けられていてもよいし、各秘密度とAPIのセキュリティレベルとの対応は、1対1に対応付けられていてもよい。前者の例として、「極秘」、「秘」、及び「社外秘」の3つの秘密度の各々がセキュリティレベル「高」と対応付けられ、「一般」の秘密度がセキュリティレベル「低」と対応付けられる設定が挙げられる。この場合、API選択部21bは、セキュリティレベルとして「高」が設定されているAPIが「極秘」、「秘」、及び「社外秘」の秘密度に適合し、セキュリティレベルとして「低」が設定されているAPIが「一般」の秘密度に適合すると判断することができる。後者の例として、秘密度が「極秘」、「秘」、「社外秘」、及び「一般」の4段階に区分されている場合に、APIのセキュリティレベルも「最高」、「高」、「中」、「低」の4区分に分類し、「極秘」、「秘」、「社外秘」、及び「一般」の秘密度の各々が「最高」、「高」、「中」、「低」のセキュリティレベルとそれぞれ1対1に対応付けられる設定が挙げられる。 In a second example of the conformance criterion, each confidentiality is associated with an API security level in a identifiable manner. In this case, a plurality of degrees of confidentiality may be associated with one security level, or each degree of confidentiality may be associated with the security level of the API on a one-to-one basis. As an example of the former, each of the three degrees of confidentiality, "top secret," "confidential," and "confidential," is associated with a security level of "high," and the degree of "general" is associated with a security level of "low." settings. In this case, the API selection unit 21b determines that the API whose security level is set to "high" conforms to the degree of secrecy of "top secret", "confidential", and "confidential", and that the security level is set to "low". It can be determined that the API that is being used meets the "general" sensitivity. As an example of the latter, when the confidentiality is classified into four levels of "top secret", "confidential", "confidential" and "general", the API security level is also "highest", "high" and "medium". , ”, ”Low”, and ”Highest”, ”High”, ”Medium” and ”Low” for ”Highest”, ”High”, ”Medium” and ”Low”. There are settings that are associated one-to-one with security levels.

処理リクエストに含まれる機能IDにより特定される機能を提供し、且つ、秘密区分情報で指定される秘密度に適合するセキュリティレベルを有するAPIが複数存在する場合には、その複数のAPIの各々を候補APIとし、この複数の候補APIの中から所定の基準に従って実行APIが選択される。例えば、クライアントアプリケーション10aから受信される処理リクエストは、実行APIの選択時に重視すべき項目を定めた希望条件情報を含んでもよく、API選択部21bは、この希望条件情報に基づいて複数の候補APIの中から実行APIを選択してもよい。希望条件情報は、実行APIの選択時に重視されるべき項目として、API管理データ25aのデータ項目(例えば、応答性、コスト、ストレージ信頼性、ストレージの設置国、又はこれら以外のAPI管理データ25aのデータ項目)の一又は複数を指定することができる。希望条件情報は、処理リクエストとは別にAPIプラットフォーム装置20に通知されてもよい。例えば、クライアントアプリケーション10aのユーザは、処理リクエストの送信前に、APIプラットフォーム装置20が提供する登録フォームを利用して希望条件情報を登録することができる。 If there are multiple APIs that provide the function specified by the function ID included in the processing request and have a security level that conforms to the degree of confidentiality specified by the classification information, each of the multiple APIs As candidate APIs, an execution API is selected from among the plurality of candidate APIs according to a predetermined criterion. For example, the processing request received from the client application 10a may include desired condition information that defines items to be emphasized when selecting an execution API. You may choose an execution API from. Desired condition information is data items of API management data 25a (for example, responsiveness, cost, storage reliability, country of installation of storage, or other data item) can be specified. The desired condition information may be notified to the API platform device 20 separately from the processing request. For example, the user of the client application 10a can register desired condition information using a registration form provided by the API platform device 20 before sending a processing request.

図3に示されている実施形態に従って、実行APIの選択の幾つかの具体例を説明する。第1の例においては、クライアントアプリケーション10aから受信した処理リクエストにおいて機能IDが「OCR」を指定しており、秘密度が「極秘」に設定されており、希望条件情報に「コスト」が設定されていることを想定する。この場合、API選択部21bは、API31~36の中からOCRを提供するAPIとしてAPI31、33,35を抽出する。次に、API選択部21bは、OCRを提供するAPI31、33,35の中から、秘密区分情報で指定されている「極秘」の秘密度に適合するAPIを候補APIとして選択する。図3に示されているAPI管理データ25aにおいては、OCRを提供するAPIのうち、API33、35の2つについてセキュリティレベルが「高」に設定されているので、このAPI33、35が候補APIとして選択される。次に、希望条件情報によって「コスト」を重視することが指定されているので、候補APIであるAPI33、35のうちコストが「高い」と設定されているAPI33ではなく、コストが「中」と設定されているAPI35が実行APIとして選択される。 Some specific examples of execution API selection are described according to the embodiment shown in FIG. In the first example, in the processing request received from the client application 10a, the function ID specifies "OCR", the confidentiality is set to "top secret", and the desired condition information is set to "cost". assume that In this case, the API selector 21b extracts APIs 31, 33, and 35 as APIs that provide OCR from among the APIs 31-36. Next, the API selection unit 21b selects, as a candidate API, from among the APIs 31, 33, and 35 that provide OCR, APIs that match the confidentiality of "top secret" specified by the classification information. In the API management data 25a shown in FIG. 3, the security levels of two APIs 33 and 35 among the APIs that provide OCR are set to "high". selected. Next, since the desired condition information specifies that emphasis is placed on "cost", API 33, which is set to be "high" in cost among the candidate APIs 33 and 35, is not selected. The set API 35 is selected as the execution API.

第2の例においては、クライアントアプリケーション10aから受信した処理リクエストにおいて機能IDが「OCR」を指定しており、秘密度が「一般」に設定されており、希望条件情報に「コスト」が設定されていることを想定する。この場合、API選択部21bは、API31~36の中からOCRを提供するAPIとしてAPI31、33,35を抽出する。次に、API選択部21bは、OCRを提供するAPI31、33,35の中から、秘密区分情報で指定されている「一般」の秘密度に適合するAPIを候補APIとして選択する。図3に示されているAPI管理データ25aにおいては、OCRを提供するAPIのうち、API31についてセキュリティレベルが「低」に設定されているので、このAPI31が候補APIとして選択される。選択された候補APIは一つなので、この候補API31が実行APIとして選択される。 In the second example, in the processing request received from the client application 10a, the function ID specifies "OCR", the confidentiality is set to "general", and the desired condition information is set to "cost". assume that In this case, the API selector 21b extracts APIs 31, 33, and 35 as APIs that provide OCR from among the APIs 31-36. Next, the API selection unit 21b selects, as a candidate API, from among the APIs 31, 33, and 35 that provide OCR, APIs that match the "general" confidentiality designated by the security classification information. In the API management data 25a shown in FIG. 3, among the APIs that provide OCR, the security level of API31 is set to "low", so this API31 is selected as a candidate API. Since only one candidate API is selected, this candidate API 31 is selected as the execution API.

第1の例と第2の例との比較により、「OCR」という同じ機能の実行を要求する処理リクエストを受信した場合であっても、当該処理リクエストに設定されている処理対象データセットの秘密度によって選択される実行APIが異なることが理解される。このように、APIプラットフォーム装置20は、データの秘密度に応じて外部のAPIを選択することができる。 By comparing the first example and the second example, even if a processing request requesting execution of the same function of "OCR" is received, the confidentiality of the processing target data set set in the processing request It is understood that the selected execution API differs depending on the degree. Thus, the API platform device 20 can select an external API according to the confidentiality of data.

第3の例においては、処理対象データセットに複数の秘密度が設定されている例を説明する。例えば、2つのファイルの突合が要求される場合には、2つのファイルの秘密度が異なる可能性がある。具体的には、取引の証憑をスキャンして作成したPDFファイルに含まれるデータとその取引を記録した表計算ソフトのファイル(以下、「表計算ファイル」という。)に含まれるデータとを突合する場合、証憑から作成されたPDFファイルには「極秘」の秘密度が設定され、表計算ファイルには「一般」の秘密度が設定されることがある。このような「極秘」の秘密度が設定されたファイルのデータと「一般」の秘密度が設定されたファイルのデータとの突合を行うことを要求する処理リクエストをクライアントアプリケーション10aから受信すると、API選択部21bは、処理対象データセットに設定された互いに異なる2つの秘密度のうち高い方の秘密度に基づいて実行APIを選択する。上記の例では、処理対象データセットの一部(証憑のPDFファイル)に「極秘」の秘密度が設定されているため、API選択部21bは、API提供システム1において公開されているAPIのうちセキュリティレベルが「高」に設定されているAPIを実行APIとして選択する。 In the third example, an example in which multiple degrees of sensitivity are set for the data set to be processed will be described. For example, if a match of two files is requested, the two files may have different sensitivities. Specifically, the data included in the PDF file created by scanning the transaction evidence is compared with the data included in the spreadsheet software file (hereinafter referred to as "spreadsheet file") that records the transaction. In this case, a PDF file created from a voucher may be assigned a confidentiality level of "top secret", and a spreadsheet file may be assigned a confidentiality level of "general". When receiving from the client application 10a a processing request requesting matching of the data of the file with the confidentiality of "top secret" and the data of the file with the "general" confidentiality, the API The selection unit 21b selects an execution API based on the higher one of the two different degrees of secrecy set in the processing target data set. In the above example, since a part of the data set to be processed (the PDF file of the voucher) is set with a confidentiality level of "top secret", the API selection unit 21b selects An API whose security level is set to "high" is selected as an execution API.

リクエスト送信部21cは、API選択部21bにより選択された実行APIを呼び出す。具体的には、リクエスト送信部21cは、実行APIに対して処理対象データセット又は処理対象データセットの格納場所を指定する処理データ特定情報をボディ部に含むAPIリクエストを送信する。APIリクエストには、OAuth等の公知の認証プロトコルによる認証のためにアクセストークンが含まれてもよい。実行APIがAPIゲートウェイを介して公開されている場合には、APIリクエストは、リクエスト送信部21cからAPIゲートウェイを介して実行APIに送信される。 The request transmission unit 21c calls the execution API selected by the API selection unit 21b. Specifically, the request transmission unit 21c transmits an API request including, in the body portion, the processing data set or the processing data specifying information designating the storage location of the processing target data set to the execution API. API requests may include access tokens for authentication by known authentication protocols such as OAuth. When the execution API is open to the public through the API gateway, the API request is transmitted from the request transmission unit 21c to the execution API through the API gateway.

レスポンス受信部21dは、レスポンス送信部21cにより実行APIに対してAPIリクエストが送信された後、当該実行APIからのレスポンスを受信する。 After the API request is transmitted to the execution API by the response transmission section 21c, the response reception section 21d receives a response from the execution API.

レスポンス送信部21eは、レスポンス受信部21dが実行APIから受け取ったレスポンスをクライアントアプリケーション10aに送信する。 The response transmission unit 21e transmits the response received from the execution API by the response reception unit 21d to the client application 10a.

続いて、図5を参照して、クライアントアプリケーション10aがAPIプラットフォーム装置20を介してAPIを呼び出し、APIからレスポンスを受け取る処理の流れを説明する。まず、ステップS11において、クライアントアプリケーション10aから処理リクエストが送信される。送信された処理リクエストは、例えば、APIプラットフォーム装置20のリクエスト受信部21aにおいて受信される。 Next, with reference to FIG. 5, the flow of processing in which the client application 10a calls an API via the API platform device 20 and receives a response from the API will be described. First, in step S11, a processing request is transmitted from the client application 10a. The transmitted processing request is received by the request receiving unit 21a of the API platform device 20, for example.

次に、ステップS12において、APIプラットフォーム装置20において受信した処理リクエストが解析され、その解析に基づいて実行APIが選択される。具体的には、ステップS12において、処理リクエストに含まれる機能ID、秘密区分情報、希望条件情報、及び必要に応じて前記以外の情報に基づいて、処理リクエストを処理する実行APIが選択される。 Next, in step S12, the processing request received by the API platform device 20 is analyzed, and an execution API is selected based on the analysis. Specifically, in step S12, an execution API for processing the processing request is selected based on the function ID, security classification information, desired condition information, and, if necessary, other information included in the processing request.

次に、ステップS13において、ステップS12で選択された実行APIが呼び出される。例えば、ステップS12においてAPI35が実行APIとして選択された場合には、APIプラットフォーム装置20からAPI35に対して直接に又はAPI35用のAPIゲートウェイを介してAPIリクエストが送信される。実行APIを呼び出す処理は、例えば、上記のリクエスト送信部21cによって行われる。 Next, in step S13, the execution API selected in step S12 is called. For example, when the API 35 is selected as the execution API in step S 12 , an API request is sent from the API platform device 20 to the API 35 directly or via the API gateway for the API 35 . The process of calling the execution API is performed by, for example, the request transmission unit 21c.

次に、ステップS14において、実行APIからのレスポンスがAPIプラットフォーム装置20において受信される。API35が実行APIとして選択された場合には、API35において処理対象データセットがデジタルの文字データに変換され、この変換後の文字データが受信される。実行APIからのレスポンスを受信する処理は、例えば、上記のレスポンス受信部21dによって行われる。 Next, in step S14, the API platform device 20 receives a response from the execution API. When the API 35 is selected as the execution API, the API 35 converts the data set to be processed into digital character data, and the converted character data is received. The process of receiving a response from the execution API is performed by, for example, the response receiving unit 21d.

次に、ステップS15において、実行APIから受け取ったレスポンスがクライアントアプリケーション10aに送信される。実行APIからのレスポンスをクライアントアプリケーション10aに送信する処理は、例えば、上記のレスポンス送信部21eによって行われる。以上のようにして、クライアントアプリケーション10aは、APIプラットフォーム装置20を介して、処理対象データセットの秘密度に応じたAPIに当該処理対象データセットに対する所望の処理を行わせ、その処理結果をレスポンスとして受け取ることができる。クライアントアプリケーション10aは、例えば、処理要求された機能が「突合」の場合には突合の結果を示すデータを受信することができ、処理要求された機能が「OCR」の場合にはOCRによってデジタル化された文字データを受信することができる。 Next, in step S15, the response received from the execution API is sent to the client application 10a. The process of transmitting the response from the execution API to the client application 10a is performed by, for example, the response transmission unit 21e. As described above, the client application 10a causes the API corresponding to the confidentiality of the processing target data set to perform desired processing on the processing target data set via the API platform device 20, and outputs the processing result as a response. can receive. The client application 10a can, for example, receive data indicating the result of matching when the requested function is "match", and can digitize by OCR when the requested function is "OCR". can receive character data.

続いて、図6をさらに参照して、ステップS12における実行APIの選択の流れについてより具体的に説明する。図6は、図5の実行APIを選択するステップS12における処理の流れの一例を示すフロー図である。まず、ステップS121において、API選択部21bは、処理リクエストで要求される機能を特定する。例えば、API選択部21bは、処理リクエストを解析することでそれに含まれる機能IDを特定する。 Subsequently, with further reference to FIG. 6, the flow of selection of the execution API in step S12 will be described more specifically. FIG. 6 is a flowchart showing an example of the flow of processing in step S12 for selecting an execution API in FIG. First, in step S121, the API selection unit 21b identifies the function requested by the processing request. For example, the API selector 21b identifies the function ID included in the processing request by analyzing it.

次に、ステップS122において、API選択部21bは、API管理データ25aを参照し、ステップS121で特定された機能に対応するAPIとそのセキュリティレベルとを特定する。API選択部21bは、S121で特定された機能IDに対応する提供機能を有するAPI名およびそのセキュリティレベルを、API管理データ25aから取得することができる。 Next, in step S122, the API selection unit 21b refers to the API management data 25a to identify the API corresponding to the function identified in step S121 and its security level. The API selection unit 21b can acquire the name of the API having the provided function corresponding to the function ID specified in S121 and its security level from the API management data 25a.

次に、ステップS123において、API選択部21bは、処理リクエストに含まれる処理対象データセットの秘密度を特定する。API選択部21bは、処理リクエストを解析することで、処理リクエストのヘッダ部51に含まれる秘密区分情報を取得し、取得した秘密区分情報に含まれる秘密度を特定することができる。 Next, in step S123, the API selection unit 21b specifies the confidentiality of the processing target data set included in the processing request. By analyzing the processing request, the API selection unit 21b can acquire the security classification information included in the header section 51 of the processing request, and specify the confidentiality included in the acquired security classification information.

次に、ステップS124において、API選択部21bは、ステップS122で特定されたAPIの中から、ステップS123で特定された秘密度に適合するAPIを候補APIとして選択する。 Next, in step S124, the API selection unit 21b selects an API that matches the degree of confidentiality specified in step S123 as a candidate API from among the APIs specified in step S122.

次に、ステップS125において、API選択部21bは、ステップS124で選択された候補APIが複数あるか否かを判定する。候補APIが一つである(すなわち、複数でない)と判断された場合には、処理はステップS126に進み、ステップS126においてその一つの候補APIが実行APIとして選択される。他方、ステップS125において、候補APIが複数存在すると判断された場合には、処理はステップS127に進む。ステップS127において、API選択部21bは、複数の候補APIの中から、希望条件情報に最もマッチする候補APIを実行APIとして選択する。以上のようにして実行APIが選択される。 Next, in step S125, the API selection unit 21b determines whether or not there are multiple candidate APIs selected in step S124. If it is determined that there is one candidate API (that is, not multiple), the process proceeds to step S126, where the one candidate API is selected as the execution API. On the other hand, if it is determined in step S125 that there are multiple candidate APIs, the process proceeds to step S127. In step S127, the API selection unit 21b selects a candidate API that best matches the desired condition information from among the plurality of candidate APIs as an execution API. An execution API is selected as described above.

例えば、図3に示されている例において、処理リクエストにおいて機能IDが「OCR」を指定しており、秘密度が「極秘」に設定されており、希望条件情報に「コスト」が設定されている場合には、ステップS121において要求される機能として「OCR」が特定され、ステップS122において「OCR」を提供しているAPIとしてAPI31、33、35が特定され、ステップS123において処理リクエストに含まれる処理対象データセットの秘密度が「極秘」であることが特定され、ステップS124において「極秘」の秘密度に適合するAPIとして設定された秘密度に適合するセキュリティレベルを有するAPI33、35が候補APIとして選択される。この場合、候補APIが複数であることから、ステップS125での判断結果に従って処理はステップS127に進み、候補APIであるAPI33、35のうち、希望条件情報に設定されている「コスト」により適合しているAPI35が実行APIとして選択される。上記の例以外にも、処理リクエストに含まれる情報又はそれ以外の情報に応じて、API提供システム1において公開されている複数のAPIの中から処理対象データの秘密度に適合し、且つ、希望条件を満たすAPIが実行APIとして選択される。 For example, in the example shown in FIG. 3, the function ID specifies "OCR" in the processing request, the confidentiality is set to "top secret", and the desired condition information is set to "cost". If so, "OCR" is identified as the requested function in step S121, APIs 31, 33, and 35 are identified as APIs that provide "OCR" in step S122, and are included in the processing request in step S123. The confidentiality of the data set to be processed is identified as "top secret", and the APIs 33 and 35 having security levels matching the confidentiality set as APIs matching the confidentiality of "top secret" in step S124 are candidate APIs. is selected as In this case, since there are a plurality of candidate APIs, the process proceeds to step S127 according to the determination result in step S125, and among the candidate APIs 33 and 35, the "cost" set in the desired condition information is more suitable. API 35 is selected as the execution API. In addition to the above examples, according to the information included in the processing request or other information, among a plurality of APIs published in the API providing system 1, the confidentiality of the data to be processed is suitable and desired. An API that satisfies the conditions is selected as the execution API.

本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。例えば、図6に示されているステップS122とステップS123の実行順序を入れ換えて、処理リクエストで要求されている機能を提供するAPIを特定する前に、処理リクエストの解析を行って処理対象データセットの秘密度を特定してもよい。 In the processing procedures described in this specification, especially in the processing procedures described using flow diagrams, some of the steps that make up the processing procedure are omitted, and as a step that makes up the processing procedure It is possible to add steps that are not specified and/or change the order of the steps, and the processing procedures in which such omissions, additions, and order changes do not deviate from the spirit of the present invention. Included within the scope of the invention. For example, by changing the order of execution of steps S122 and S123 shown in FIG. may specify the sensitivity of

本発明の実施形態によって奏される作用効果について簡単に説明する。本発明の一実施形態によれば、APIにより処理される処理データセットの秘密度に応じて、当該処理リクエストによって要求された処理を実行する実行APIが選択される。これにより、APIを利用するクライアントアプリケーション10aにおいて処理対象データセットの秘密度を定めることにより、API提供システム1において公開された複数のAPIの中から当該処理対象データセットの秘密度に応じた実行APIが選択されるので、クライアントアプリケーション10aにおいて処理対象データセットを処理させるAPIを指定する必要がない。よって、情報セキュリティを担保しつつ、クライアントアプリケーション10aの開発及び構築をより効率的に行うことができる。 A brief description will be given of the effects achieved by the embodiment of the present invention. According to one embodiment of the present invention, an execution API is selected to perform the processing requested by the processing request according to the sensitivity of the processing data set processed by the API. Accordingly, by determining the degree of confidentiality of the data set to be processed in the client application 10a that uses the API, an execution API corresponding to the degree of confidentiality of the data set to be processed can be selected from a plurality of APIs published in the API providing system 1. is selected, there is no need to specify an API for processing the processing target data set in the client application 10a. Therefore, the client application 10a can be developed and constructed more efficiently while ensuring information security.

本発明の一実施形態によれば、API提供システム1において公開されているAPIの仕様が情報セキュリティ面で変更された場合であっても、API管理データ25aにおいて当該APIのセキュリティレベルを更新することにより、クライアントアプリケーション10aを改変することなく処理対象データセットの秘密度に応じたAPIを継続して利用することができる。例えば、これまで実行APIとして選択されていたAPIのセキュリティレベルが低下して処理対象データセットの秘密度に適合しなくなった場合であっても、そのセキュリティレベルの変更をAPI管理データ25aに反映することにより、秘密度に適合する別のAPIを実行APIとして選択することができる。 According to one embodiment of the present invention, even if the specification of the API published in the API providing system 1 is changed in terms of information security, the security level of the API can be updated in the API management data 25a. Therefore, it is possible to continuously use the API corresponding to the confidentiality of the processing target data set without modifying the client application 10a. For example, even if the security level of an API that has been selected as an execution API so far is lowered and does not conform to the confidentiality of the data set to be processed, the change in security level is reflected in the API management data 25a. Thus, another API that matches the degree of confidentiality can be selected as the execution API.

本発明の一実施形態によれば、クライアントアプリケーション10aは、APIプラットフォーム装置20を介して実行APIを呼び出し、また、その呼び出した実行APIからのレスポンスを受け取ることができる。実行APIは、処理対象データセットについて設定された秘密度に応じて選択されるから、オフプレミス環境のAPIを利用する場合にも処理対象データセットの情報セキュリティを確保することができる。 According to one embodiment of the present invention, the client application 10a can call an execution API via the API platform device 20 and receive a response from the called execution API. Since the execution API is selected according to the degree of confidentiality set for the data set to be processed, the information security of the data set to be processed can be ensured even when the API in the off-premises environment is used.

本発明の一実施形態によれば、処理対象データセットの秘密度に適合するセキュリティレベルを有する候補APIの中から、クライアントアプリケーション10aについて定められた希望条件に応じて実行APIが選択される。これにより、クライアントアプリケーション10aの希望条件により適した実行APIが選択することができる。例えば、コストを重視するクライアントアプリケーション10aのユーザに対しては低コストの実行APIによるサービスを提供でき、応答性を重視するクライアントアプリケーション10aのユーザには高い応答性を有する実行APIによるサービスを提供できる。 According to one embodiment of the present invention, an execution API is selected according to desired conditions defined for the client application 10a from candidate APIs having a security level that matches the sensitivity of the data set to be processed. As a result, an execution API more suitable for the desired conditions of the client application 10a can be selected. For example, a user of the client application 10a who places importance on cost can be provided with a service based on a low-cost execution API, and a user of the client application 10a who places importance on responsiveness can be provided with a service based on an execution API with high responsiveness. .

次に、図7及び図8を参照して、本発明の別の実施形態によるAPI提供システム7について説明する。図7及び図8に示されているAPI提供システムにおいては、オンプレミス環境においてもAPIを用意し、処理リクエストが所定の条件を満たす場合にオンプレミス環境から提供されているAPIで当該処理リクエストが処理される。図7は、オンプレミス環境からAPIが公開されているAPI提供システム7の概略を示すブロック図である。 Next, an API providing system 7 according to another embodiment of the present invention will be described with reference to FIGS. 7 and 8. FIG. In the API providing system shown in FIGS. 7 and 8, an API is also prepared in the on-premises environment, and when a processing request satisfies predetermined conditions, the processing request is processed by the API provided from the on-premises environment. be. FIG. 7 is a block diagram showing an outline of an API providing system 7 in which an API is published from an on-premises environment.

図7に示されているAPI提供システム7は、APIプラットフォーム装置20に代えてAPIプラットフォーム装置70を備えており、また、オンプレミス環境5から公開されているAPI37及びAPI38を備えている。オンプレミス環境5から公開されているAPIは、オンプレミス環境5に配置されているプロセッサ及びメインメモリを利用して実行される。API37はOCR機能を提供し、API38が突合機能を提供する。本明細書においては、クライアントアプリケーション10aが配置されているオンプレミス環境5に配置されている情報機器で実行され、その処理データをオンプレミス環境5に配置されているストレージに記憶するAPIを「オンプレミスAPI」と呼ぶことがある。API37及びAPI38は、オンプレミスAPIの例である。オンプレミスAPIは、オンプレミス環境5の情報機器のみを利用して実行され、その処理データをオフプレミス環境に送信しないので、クライアントアプリケーション10aがオフプレミス環境に送信することができないデータを取り扱っている場合、そのオフプレミス環境に送信することができないデータの処理は、オンプレミスAPIによって行われる。クライアントアプリケーション10aがオフプレミス環境に送信することができないデータの例は、金融商品取引法に規定されている未公表の重要事実に該当するデータである。例えば、クライアントアプリケーション10aのユーザが監査法人である場合、当該監査法人のクライアントの未発表の決算情報がオフプレミス環境に送信することができないデータとなる。インサイダー取引に関する法規制を遵守するために、金融商品取引法に規定されている未公表の重要事実は、オフプレミス環境に送信することが望ましくない。このため、クライアントアプリケーション10aが未公表の重要事実に相当するデータを処理する場合には、当該データをオンプレミス環境5で処理する必要があるので、かかるデータを処理させるAPIは、オンプレミスAPIの中から選択される。 The API providing system 7 shown in FIG. 7 includes an API platform device 70 in place of the API platform device 20, and also includes APIs 37 and 38 published from the on-premises environment 5. FIG. APIs published from the on-premises environment 5 are executed using processors and main memories arranged in the on-premises environment 5 . API 37 provides OCR functionality and API 38 provides matching functionality. In this specification, an API that is executed by an information device located in the on-premises environment 5 where the client application 10a is located and stores the processed data in the storage located in the on-premises environment 5 is referred to as an "on-premises API". sometimes called API 37 and API 38 are examples of on-premise APIs. The on-premises API is executed using only the information equipment of the on-premises environment 5 and does not send its processed data to the off-premises environment. Processing of data that cannot be sent to the environment is done by the on-premise API. An example of data that the client application 10a cannot transmit to the off-premises environment is data that falls under undisclosed material facts stipulated in the Financial Instruments and Exchange Act. For example, if the user of the client application 10a is an audit corporation, the unpublished financial results information of the client of the audit corporation becomes data that cannot be transmitted to the off-premises environment. In order to comply with laws and regulations regarding insider trading, it is not desirable to transmit material non-disclosure facts stipulated by the Financial Instruments and Exchange Act to an off-premises environment. Therefore, when the client application 10a processes data corresponding to unpublished material facts, it is necessary to process the data in the on-premises environment 5. selected.

図8は、API提供システム7のAPIプラットフォーム装置70を示すブロック図である。図2のAPIプラットフォーム装置20と比べて、図7のAPIプラットフォーム装置70ではプロセッサ21にクリアランス処理部21fが追加され、ストレージ25に一時保持領域71が追加されている。 FIG. 8 is a block diagram showing the API platform device 70 of the API providing system 7. As shown in FIG. Compared to the API platform device 20 of FIG. 2, the API platform device 70 of FIG.

API提供システム7では、クライアントアプリケーション10aから受信される処理リクエストは、処理対象データセットがオンプレミス環境5において処理されるべきか否かを示すクリアランスフラグを含む。クリアランスフラグは処理リクエストのヘッダ部51に含められる。例えば、「真」のクリアランスフラグは、処理対象データセットがオンプレミス環境5内で処理されるべきであり、オフプレミス環境に処理対象データセットを送信及び保存できないことを示すことができる。他方、「偽」のクリアランスフラグは、処理対象データセットがオフプレミス環境に送信可能であることを示すことができる。API選択部21bは、処理リクエストに含まれるクリアランスフラグに応じて、API提供システム7において公開されている複数のAPIから実行APIを選択する。具体的には、クリアランスフラグが「真」の場合にはオンプレミス環境5から公開されているオンプレミスAPIの中から実行APIが選択される。他方、クリアランスフラグが「偽」の場合には、API提供システム1における実行APIの選択と同様に、API提供システム7において公開されているオフプレミス環境のAPI31~36の中から実行APIが選択される。 In the API providing system 7, the processing request received from the client application 10a includes a clearance flag indicating whether the processing target dataset should be processed in the on-premises environment 5 or not. The clearance flag is included in the header portion 51 of the processing request. For example, a "true" clearance flag may indicate that the processed dataset should be processed within the on-premises environment 5 and that the processed dataset cannot be transmitted and stored in an off-premises environment. On the other hand, a "false" clearance flag can indicate that the processed dataset can be sent to an off-premises environment. The API selection unit 21b selects an execution API from a plurality of APIs open to the public in the API providing system 7 according to the clearance flag included in the processing request. Specifically, when the clearance flag is “true”, an execution API is selected from on-premise APIs published from the on-premise environment 5 . On the other hand, if the clearance flag is "false", an execution API is selected from the off-premises environment APIs 31 to 36 that are open to the public in the API provision system 7 in the same manner as the selection of the execution API in the API provision system 1. .

クリアランス処理部21fは、処理リクエストのクリアランスフラグが「真」に設定されている場合に、クリアランスフラグが「偽」に更新されるまで実行APIの選択を待機してもよい。例えば、処理リクエストにおいて要求されている機能がオフプレミス環境で公開されるAPIによってのみ提供されている場合には、オンプレミスAPIを利用して当該処理リクエストを処理することができない。このような場合を想定して、クリアランス処理部21fは、クリアランスフラグが「偽」に更新されるまで実行APIの選択を待機することができる。クリアランス処理部21fは、クリアランスフラグが「真」に設定されている処理リクエストに基づいて実行APIの選択を待機すべきと判定された場合、当該処理リクエストに基づく実行APIの選択を待機するために、当該処理リクエストを一時保持領域71に格納する。クリアランス処理部21fは、クリアランスフラグが「偽」に更新されると、対象の処理リクエストを一時保持領域71から読み出し、オフプレミス環境の実行APIの中から実行APIを選択する処理を行うことができる。 When the clearance flag of the processing request is set to "true", the clearance processing unit 21f may wait for selection of the execution API until the clearance flag is updated to "false". For example, if a function requested in a processing request is provided only by an API published in an off-premises environment, the processing request cannot be processed using the on-premises API. Assuming such a case, the clearance processing unit 21f can wait for selection of the execution API until the clearance flag is updated to "false". When it is determined that the clearance processing unit 21f should wait for the selection of the execution API based on the processing request whose clearance flag is set to "true", the clearance processing unit 21f waits for the selection of the execution API based on the processing request. , the processing request is stored in the temporary holding area 71 . When the clearance flag is updated to "false", the clearance processing unit 21f can read the target processing request from the temporary holding area 71 and select an execution API from the execution APIs in the off-premises environment.

クライアントアプリケーション10aのユーザは、処理対象データセットに含まれる情報がパブリックになった場合やその他の適切な場合に、クリアランスフラグを「真」から「偽」へ変更するためのフラグ更新要求をAPIプラットフォーム装置70に送信することができる。あるいはまた、クリアランス処理部21fは、クリアランスフラグを更新すべきか否かを定期的かつ自動的に判定してもよい。ユーザは、クリアランスフラグを「真」から「偽」に変更するための条件(以下、「フラグ変更条件」という。)を予め設定することができる。クリアランス処理部21fは、定期的にフラグ変更条件が満たされたか否かを判定することができる。クリアランス処理部21fは、例えば1日に1度、1時間に一度、又はこれら以外の周期でフラグ変更条件が満たされたか否かを判定することができる。 A user of the client application 10a may issue a flag update request to the API platform to change the clearance flag from "true" to "false" when information contained in the data set to be processed becomes public or in other appropriate cases. It can be sent to device 70 . Alternatively, the clearance processing unit 21f may periodically and automatically determine whether or not to update the clearance flag. The user can preset a condition for changing the clearance flag from "true" to "false" (hereinafter referred to as "flag change condition"). The clearance processing unit 21f can periodically determine whether or not the flag change condition is satisfied. The clearance processing unit 21f can determine whether or not the flag change condition is satisfied, for example, once a day, once an hour, or at other intervals.

別の例では、クリアランスフラグが「真」に設定されている処理リクエストにおいて要求されている機能をオンプレミスAPIで処理可能な場合であっても、当該オンプレミスAPIを実行するオンプレミス環境5の情報機器に過負荷がかかっている場合又はそれ以外の場合に、クリアランス処理部21fは、当該オンプレミスAPIによる当該処理リクエストの処理を保留することができる。クリアランス処理部21fは、処理リクエストの処理を保留すべきと判定された場合、その処理が保留された処理リクエストを一時保持領域71に格納する。クリアランス処理部21fは、オンプレミスAPIを処理する情報機器の負荷状態を監視し、当該情報機器の負荷が所定レベルを下回った場合に、処理が保留されている処理リクエストを一時保持領域71から読み出して当該オンプレミスAPIに処理させることができる。処理リクエストの処理を保留している間に対象の当該処理リクエストのクリアランスフラグが「偽」に更新された場合には、クリアランス処理部21fは、当該処理リクエストを一時保持領域71から読み出し、当該処理リクエストを処理させる実行APIをオフプレミス環境のAPI31~36の中から選択し、選択された実行APIに当該処理リクエストを処理させてもよい。 In another example, even if the function requested in the processing request with the clearance flag set to "true" can be processed by the on-premises API, the information device of the on-premises environment 5 that executes the on-premises API When overloaded or otherwise, the clearance processing unit 21f can suspend the processing of the processing request by the on-premise API. When it is determined that the processing of the processing request should be suspended, the clearance processing unit 21f stores the processing request whose processing is suspended in the temporary holding area 71 . The clearance processing unit 21f monitors the load state of the information equipment that processes the on-premises API, and when the load of the information equipment falls below a predetermined level, the clearance processing unit 21f reads the pending processing request from the temporary holding area 71. It can be processed by the on-premise API. When the clearance flag of the target processing request is updated to "false" while the processing of the processing request is pending, the clearance processing unit 21f reads the processing request from the temporary holding area 71 and executes the processing. An execution API for processing the request may be selected from among the APIs 31 to 36 in the off-premises environment, and the selected execution API may process the processing request.

API提供システム7においても、クライアントアプリケーション10aがAPIプラットフォーム装置20を介してAPIを呼び出し、APIからレスポンスを受け取る処理の流れは、図5に示したとおりである。ただし、API提供システム7においては、処理リクエストがオンプレミスAPIで処理される可能性があるため、ステップS12における実行APIを選択する処理が、図6に示されてる処理と異なる。そこで、図9を参照して、API提供システム7におけるステップS12での実行APIを選択する実行API選択処理の流れを説明する。図9は、API提供システム7において実行される実行APIを選択する処理の流れを示すフロー図である。 Also in the API providing system 7, the flow of processing in which the client application 10a calls the API via the API platform device 20 and receives a response from the API is as shown in FIG. However, in the API providing system 7, the processing request may be processed by the on-premise API, so the processing of selecting the execution API in step S12 differs from the processing shown in FIG. Therefore, the flow of execution API selection processing for selecting an execution API in step S12 in the API providing system 7 will be described with reference to FIG. FIG. 9 is a flowchart showing the flow of processing for selecting an execution API to be executed in the API providing system 7. As shown in FIG.

まず、ステップS721において、API選択部21bは、受信した処理リクエストのクリアランスフラグの真偽を判定する。クリアランスフラグが「偽」であれば、当該処理リクエストをオフプレミス環境に送信可能であるため、処理はステップS121に進む。その後、ステップS121~S127において図5で説明したのと同様の処理が行われる。 First, in step S721, the API selection unit 21b determines whether the clearance flag of the received processing request is true or false. If the clearance flag is "false", the processing request can be sent to the off-premises environment, so the process proceeds to step S121. After that, in steps S121 to S127, the same processing as explained with reference to FIG. 5 is performed.

他方、クリアランスフラグが「真」であれば、処理はステップS722に移行する。ステップS722において、クリアランス処理部21fは受信した処理リクエストをオンプレミスAPIで処理可能か否かを判定する。具体的には、クリアランス処理部21fは処理リクエストで要求されている機能を特定し、特定された機能を提供するオンプレミスAPIが存在するか否かを判定する。例えば、オンプレミスAPIの提供機能をAPI管理データ25a又はそれ以外のデータセットとして管理しておくことにより、ステップS722における判定が可能となる。処理リクエストにより要求されている機能を提供するオンプレミスAPIが存在する場合、クリアランス処理部72は、当該オンプレミスAPIを処理する情報機器の負荷状態を取得し、当該情報機器が過負荷か否かを判定する。ステップS722において、処理リクエストにより要求されている機能を提供するオンプレミスAPIが存在し、そのオンプレミスAPIを処理する情報機器の負荷が過負荷でない場合には、当該処理リクエストの処理が可能と判定され、実行API選択処理は、ステップS723に進む。ステップS723において、API選択部21bは、ステップS722で特定された機能を提供するオンプレミスAPIを実行APIとして選択する。他方、ステップS722において、処理リクエストにより要求されている機能を提供するオンプレミスAPIが存在しない場合、又は、処理リクエストにより要求されている機能を提供するオンプレミスAPIが存在していても当該オンプレミスAPIを処理する情報機器が過負荷である場合には、当該処理リクエストの即時処理はできないと判定された場合には、実行API選択処理は、ステップS724に移行する。ステップS724において、クリアランス処理部21fは、処理リクエストの処理が待機状態となった旨をクライアントアプリケーション10aに通知する。次に、ステップS725において、クリアランス処理部21fは、即時処理できないと判定された処理リクエストを一時保持領域71に格納する。 On the other hand, if the clearance flag is "true", the process proceeds to step S722. In step S722, the clearance processing unit 21f determines whether the received processing request can be processed by the on-premise API. Specifically, the clearance processing unit 21f identifies the function requested by the processing request, and determines whether or not there is an on-premises API that provides the identified function. For example, by managing the provision function of the on-premise API as the API management data 25a or other data set, determination in step S722 becomes possible. If there is an on-premises API that provides the function requested by the processing request, the clearance processing unit 72 acquires the load status of the information device that processes the on-premises API, and determines whether or not the information device is overloaded. do. In step S722, if there is an on-premises API that provides the function requested by the processing request, and the load on the information device that processes the on-premises API is not overloaded, it is determined that the processing request can be processed, The execution API selection process proceeds to step S723. In step S723, the API selection unit 21b selects the on-premise API that provides the function identified in step S722 as the execution API. On the other hand, in step S722, if there is no on-premises API that provides the function requested by the processing request, or if there is an on-premises API that provides the function requested by the processing request, the on-premises API is processed. If it is determined that the processing request cannot be processed immediately when the information device to be processed is overloaded, the execution API selection processing proceeds to step S724. In step S724, the clearance processing unit 21f notifies the client application 10a that processing of the processing request has entered a standby state. Next, in step S<b>725 , the clearance processing unit 21 f stores in the temporary holding area 71 the processing request determined to be unprocessable immediately.

具体例を説明する。クライアントアプリケーション10aから受信した処理リクエストにおいて機能IDが「突合」を指定しており、秘密度が「極秘」に設定されており、クリアランスフラグが「偽」に設定されていることを想定する。この場合、クリアランスフラグが「偽」であるから、API選択処理は、ステップS721からステップS121に進む。そして、ステップS121~ステップS127における処理により、機能ID「突合」及び秘密度「極秘」という処理リクエストの設定に従い、API34が実行APIとして選択される。 A specific example will be described. It is assumed that the processing request received from the client application 10a specifies the function ID as "match", the confidentiality is set as "top secret", and the clearance flag is set as "false". In this case, since the clearance flag is "false", the API selection process proceeds from step S721 to step S121. Then, through the processing in steps S121 to S127, the API 34 is selected as the execution API according to the setting of the processing request with the function ID "match" and the confidentiality "top secret".

別の具体例について説明する。クライアントアプリケーション10aから受信した処理リクエストにおいて機能IDが「突合」を指定しており、秘密度が「極秘」に設定されており、クリアランスフラグが「真」に設定されていることを想定する。この場合、クリアランスフラグが「真」に設定されているので、API選択処理はステップS721からステップS722に進む。ステップS722において、API選択部21bは、オンプレミス環境5から公開されているAPI37、38の中に「突合」の機能を提供しているAPIが存在するか判定する。上記のとおりAPI38が「突合」の機能を提供しているので、API選択部21bは、次にAPI38を処理する情報機器が過負荷か否かを判定する。過負荷と判定された場合には、ステップS724において処理リクエストの処理が待機状態となった旨がクライアントアプリケーション10aに通知され、処理リクエストは一時保持領域71に格納される。API38を処理する情報機器の過負荷状態が解消されると、API選択処理はステップS723に移行し、ステップS723において処理リクエストが一時保持領域71から読み出されてAPI38が実行APIとして選択される。API38を処理する情報機器の過負荷状態が解消される前に処理リクエストのクリアランスフラグが「偽」に変更された場合は、API選択処理は、ステップS721からステップS121に移行し、以下の各ステップでの処理を経ることにより、機能ID「突合」及び秘密度「極秘」という処理リクエストの設定に従い、API34が実行APIとして選択される。 Another specific example will be described. It is assumed that the processing request received from the client application 10a specifies "match" for the function ID, sets the confidentiality to "top secret", and sets the clearance flag to "true". In this case, since the clearance flag is set to "true", the API selection process proceeds from step S721 to step S722. In step S722, the API selection unit 21b determines whether the APIs 37 and 38 published from the on-premises environment 5 include an API that provides a "match" function. Since the API 38 provides the "matching" function as described above, the API selector 21b determines whether or not the next information device that processes the API 38 is overloaded. If it is determined that there is an overload, the client application 10a is notified that processing of the processing request has entered a standby state in step S724, and the processing request is stored in the temporary holding area 71. FIG. When the overloaded state of the information device processing the API 38 is resolved, the API selection process proceeds to step S723, where the processing request is read from the temporary holding area 71 and the API 38 is selected as the execution API. If the clearance flag of the processing request is changed to "false" before the overloaded state of the information device that processes the API 38 is resolved, the API selection processing proceeds from step S721 to step S121, and the following steps , the API 34 is selected as the execution API in accordance with the setting of the processing request with the function ID "match" and the confidentiality "top secret".

本発明の一実施形態によるAPI提供システム7本変形例によれば、処理対象データセットにオンプレミス環境で処理されるべき(逆にいえば、オフプレミス環境で処理されるべきでない)データが含まれる場合、オンプレミス環境から公開されているオンプレミスAPIの中から実行APIを選択することができる。これにより、APIを利用する場合でも、オフプレミス環境に送信することができないデータを確実にオンプレミス環境に閉じて処理することができる。 According to this modified example of the API providing system 7 according to an embodiment of the present invention, when data to be processed in an on-premises environment (conversely, data that should not be processed in an off-premises environment) is included in the data set to be processed. , an execution API can be selected from on-premise APIs published from the on-premise environment. As a result, data that cannot be sent to the off-premises environment can be reliably closed to the on-premises environment for processing, even when APIs are used.

本発明の一実施形態によるAPI提供システム7では、APIプラットフォーム装置70が監査法人などのクライアントから処理リクエストを受信してAPIで処理する際に、インサイダー取引を構成しうるクリアランスフラグ「真」の処理リクエストを、そうでない処理リクエストとは区別して扱うことが可能となる。したがって、インサイダー取引を構成しうる処理リクエストとそうではない処理リクエストとを監査法人においてマニュアルで区別して処理する場合と比較して、より効率的に処理リクエストを処理できる。また、機械学習などでデータを活用する時に、データの提供がインサイダー取引に当たらないかというクライアントの懸念を払拭できる。 In the API providing system 7 according to one embodiment of the present invention, when the API platform device 70 receives a processing request from a client such as an auditing firm and processes it with the API, processing of the clearance flag "true" that may constitute insider trading A request can be treated differently from other processing requests. Therefore, the processing requests can be processed more efficiently than the case where the audit firm manually distinguishes between processing requests that constitute insider trading and processing requests that do not. In addition, when utilizing data for machine learning, etc., it is possible to dispel client concerns that the provision of data may constitute insider trading.

上記の各実施形態は、特許請求の範囲にかかる発明を限定するものではない。上記の実施形態で説明されている諸要素が発明の解決手段に必須であるとは限らない。例えば、API提供システム7では、処理リクエストにクリアランスフラグが設定され、また、オンプレミス環境5からオンプレミスAPIが公開されているが、処理リクエストにおいてクリアランスフラグを設定可能とする一方でオンプレミスAPIは備えなくてもよい。この場合、クリアランス処理部21fは、クリアランスフラグが「真」であればその処理リクエストを一時保持領域71に格納し、クリアランスフラグが「偽」に更新されるまで実行APIの選択を待機することができる。クリアランス処理部21fは、クリアランスフラグが「偽」に更新されると、対象の処理リクエストを一時保持領域71から読み出してオフプレミス環境の実行APIに処理させる。また、処理リクエストにクリアランスフラグが設定されない実施形態においても、オンプレミスAPIを利用することにより、低コストで(オフプレミスAPIのベンダーへの利用料金を支払うことなく)応答性がよいオンプレミスAPIを利用することができる。 Each of the above-described embodiments does not limit the invention according to the scope of the claims. The elements described in the above embodiments are not necessarily essential to the solution of the invention. For example, in the API providing system 7, a clearance flag is set in the processing request, and the on-premises API is published from the on-premises environment 5, but while the clearance flag can be set in the processing request, the on-premises API is not provided. good too. In this case, if the clearance flag is "true", the clearance processing unit 21f stores the processing request in the temporary holding area 71, and waits for selection of the execution API until the clearance flag is updated to "false". can. When the clearance flag is updated to "false", the clearance processing unit 21f reads the target processing request from the temporary holding area 71 and causes the execution API in the off-premises environment to process it. In addition, even in an embodiment in which a clearance flag is not set in a processing request, by using an on-premise API, it is possible to use an on-premise API with good responsiveness at low cost (without paying a usage fee to an off-premise API vendor). can be done.

本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一の記憶装置(ストレージやメモリ)に格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数の記憶装置または複数の装置に分散して配置された複数の記憶装置に分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。 Although the processes and procedures described herein are described as being performed by a single device, software, component or module, such processes or procedures may be performed by multiple devices, software, components or modules. and/or by multiple modules. In addition, even if the data, tables, or databases described herein are described as being stored in a single storage device (storage or memory), such data, tables, or databases are It can be distributed and stored in a plurality of storage devices provided in one device or in a plurality of storage devices distributed in a plurality of devices. Furthermore, the software and hardware elements described herein can be implemented by consolidating them into fewer components or decomposing them into more components.

本明細書において単数形で表される構成要素は、矛盾を生じさせない限り、複数形を含むものとする。 Elements referred to herein in the singular shall include the plural unless contradicted.

1、7 API提供システム
5 オンプレミス環境
A~D ベンダー環境(オフプレミス環境)
10 ユーザ端末
10a クライアントアプリケーション
20、70 APIプラットフォーム装置
21 プロセッサ
21a リクエスト受信部
21b API選択部
21c リクエスト送信部
21d レスポンス受信部
21e レスポンス送信部
21f クリアランス処理部
25 ストレージ
25a API管理データ
25b API管理プログラム
31~38 API
71 一時保持領域

1, 7 API provision system 5 On-premise environment A to D Vendor environment (off-premise environment)
10 User terminal 10a Client application 20, 70 API platform device 21 Processor 21a Request receiver 21b API selector 21c Request transmitter 21d Response receiver 21e Response transmitter 21f Clearance processor 25 Storage 25a API management data 25b API management program 31- 38 APIs
71 Temporary storage area

Claims (10)

一又は複数のプロセッサに、
処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報を含む処理リクエストを受信する機能と、
前記秘密区分情報に応じて外部の複数のAPIの中から前記処理リクエストを処理させる実行APIを選択する第1選択機能と、
を実行させるプログラム。
to one or more processors,
a function of receiving a processing request containing at least one confidentiality classification information representing the confidentiality set in the data set to be processed;
a first selection function for selecting an execution API for processing the processing request from among a plurality of external APIs according to the security classification information;
program to run.
前記一又は複数のプロセッサに、前記実行APIを呼び出し、前記実行APIからのレスポンスを受信する機能をさらに実行させる、
請求項1に記載のプログラム。
causing the one or more processors to further perform a function of calling the execution API and receiving a response from the execution API;
A program according to claim 1.
前記実行APIは、前記秘密区分情報、及び、前記複数のAPIの各々について設定されたセキュリティレベルに基づいて、前記複数のAPIの中から選択される、
請求項1又は2に記載のプログラム。
The execution API is selected from among the plurality of APIs based on the security classification information and a security level set for each of the plurality of APIs;
3. A program according to claim 1 or 2.
前記一又は複数のプロセッサに、前記秘密区分情報、及び、前記複数のAPIの各々について設定されたセキュリティレベルに基づいて、前記複数のAPIの中から前記秘密度に適合するセキュリティレベルを有する複数の候補APIを選択する第2選択機能をさらに実行させ、
前記実行APIは、前記複数の候補APIの中から選択される、
請求項1から3のいずれか1項に記載のプログラム。
Based on the security classification information and the security level set for each of the plurality of APIs, a plurality of APIs having a security level that matches the degree of secrecy among the plurality of APIs in the one or more processors further executing a second selection function that selects a candidate API;
the execution API is selected from among the plurality of candidate APIs;
A program according to any one of claims 1 to 3.
前記処理リクエストはクライアントアプリケーションによって生成され、
前記実行APIは、前記クライアントアプリケーションについて定められた希望条件に応じて前記複数の候補APIの中から選択される、
請求項4に記載のプログラム。
the processing request is generated by a client application;
the execution API is selected from among the plurality of candidate APIs according to desired conditions defined for the client application;
5. A program according to claim 4.
前記処理対象データセットに複数の秘密度が設定されている場合、前記複数の候補APIの各々は、前記複数の秘密度のうち最も高い秘密度に適合するセキュリティレベルを有するように前記複数のAPIの中から選択される、
請求項4又は5に記載のプログラム。
When a plurality of confidentialities are set for the data set to be processed, each of the plurality of candidate APIs has a security level that matches the highest confidentiality among the plurality of confidentiality. selected from
6. A program according to claim 4 or 5.
前記一又は複数のプロセッサの各々は、オンプレミス環境に配置されており、
前記第1択機能は、前記処理リクエストに含まれるフラグが処理対象データセットを前記オンプレミス環境において処理すべきことを示す場合に、前記オンプレミス環境にある一又は複数のオンプレミスAPIの中から前記実行APIを選択する機能を含む、
請求項1から5のいずれか1項に記載のプログラム。
each of the one or more processors is located in an on-premises environment;
The first selection function selects from among one or more on-premises APIs in the on-premises environment when a flag included in the processing request indicates that the data set to be processed should be processed in the on-premises environment. Including the ability to select the execution API,
A program according to any one of claims 1 to 5.
前記複数のAPIの各々について、提供機能及びセキュリティレベルが設定されており、
前記第1択機能は、前記処理リクエストで要求される機能および前記秘密区分情報に応じて前記実行APIを選択する機能を含む、
請求項1から7のいずれか1項に記載のプログラム。
provided functions and security levels are set for each of the plurality of APIs;
The first selection function includes a function of selecting the execution API according to the function requested by the processing request and the security classification information.
A program according to any one of claims 1 to 7.
処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報を含む処理リクエストを受信する受信部と、
前記秘密区分情報に応じて外部の複数のAPIの中から前記処理リクエストを処理させる実行APIを選択するAPI選択部と、
を備える装置。
a receiving unit that receives a processing request containing at least one confidentiality class information representing the confidentiality set in the data set to be processed;
an API selection unit that selects an execution API for processing the processing request from among a plurality of external APIs according to the security classification information;
A device comprising
一又は複数のプロセッサがコンピュータ読み取り可能な命令を実行することによりAPIを選択する方法であって、
処理対象データセットに設定された少なくとも一つの秘密度を表す秘密区分情報を含む処理リクエストを受信する工程と、
前記秘密区分情報に応じて外部の複数のAPIの中から前記処理リクエストを処理させる実行APIを選択する工程と、
を備える方法。
1. A method of selecting an API by one or more processors executing computer readable instructions, comprising:
a step of receiving a processing request containing at least one confidentiality class information representing a confidentiality set in a data set to be processed;
selecting an execution API for processing the processing request from among a plurality of external APIs according to the security classification information;
How to prepare.
JP2023502001A 2021-02-26 2021-02-26 Program, device and method for using API Active JP7310043B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/007533 WO2022180841A1 (en) 2021-02-26 2021-02-26 Program, device, and method for using api

Publications (2)

Publication Number Publication Date
JPWO2022180841A1 JPWO2022180841A1 (en) 2022-09-01
JP7310043B2 true JP7310043B2 (en) 2023-07-18

Family

ID=83048715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023502001A Active JP7310043B2 (en) 2021-02-26 2021-02-26 Program, device and method for using API

Country Status (2)

Country Link
JP (1) JP7310043B2 (en)
WO (1) WO2022180841A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128949A (en) 2009-12-18 2011-06-30 Mitsubishi Electric Corp System and method for filtering web service
JP2012252452A (en) 2011-06-01 2012-12-20 Ricoh Co Ltd Information processing device, information processing system, and program
WO2018092226A1 (en) 2016-11-17 2018-05-24 株式会社オプティム Computer system, api providing method, and program
US10757139B1 (en) 2016-06-28 2020-08-25 Amazon Technologies, Inc. Assessing and reporting security risks of an application program interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128949A (en) 2009-12-18 2011-06-30 Mitsubishi Electric Corp System and method for filtering web service
JP2012252452A (en) 2011-06-01 2012-12-20 Ricoh Co Ltd Information processing device, information processing system, and program
US10757139B1 (en) 2016-06-28 2020-08-25 Amazon Technologies, Inc. Assessing and reporting security risks of an application program interface
WO2018092226A1 (en) 2016-11-17 2018-05-24 株式会社オプティム Computer system, api providing method, and program

Also Published As

Publication number Publication date
JPWO2022180841A1 (en) 2022-09-01
WO2022180841A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US9349015B1 (en) Programmatically detecting collusion-based security policy violations
JP5021886B2 (en) System and method for actively managing an enterprise comprising configurable components
US11855995B2 (en) Data security across data residency restriction boundaries
JP7097958B2 (en) Systems and methods for integrating cloud applications into cloud service broker platforms using the Automatic Universal Connector Package
JP7266354B2 (en) Data anonymization
US11495347B2 (en) Blockchain framework for enforcing regulatory compliance in healthcare cloud solutions
US20180196647A1 (en) Application Programming Interface Discovery Using Pattern Recognition
US10282461B2 (en) Structure-based entity analysis
CN115516574B (en) Cloud-based API specification management method for linking multiple hospital servers and federated servers in a concurrent manner
US11416631B2 (en) Dynamic monitoring of movement of data
US20230214677A1 (en) Techniques for evaluating an effect of changes to machine learning models
US11783065B2 (en) Business data protection for running tasks in computer system
US20210295234A1 (en) Automated evidence collection
JP7310043B2 (en) Program, device and method for using API
US20160261715A1 (en) System and method for securing a web server
CN114270345A (en) Licensed user facilitation and control system
CN112583891B (en) Interface document acquisition method and device and server
US11709750B2 (en) Dynamically mapping software infrastructure utilization
CN116582362B (en) Network access control method and device, electronic equipment and storage medium
US11853452B2 (en) Keeping databases compliant with data protection regulations by sensing the presence of sensitive data and transferring the data to compliant geographies
US20240020299A1 (en) Api management for batch processing
US10037235B2 (en) Integrating applications
US20230067891A1 (en) Service virtualization platform
JP7189252B2 (en) Analysis device, analysis method and analysis program
US20230370426A1 (en) Sensitive Data Identification In Real-Time for Data Streaming

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230705

R150 Certificate of patent or registration of utility model

Ref document number: 7310043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150