(57)【要約】【課題】目的別ＡＰＩが基本ＡＰＩを利用できる情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムを提供する。【解決手段】情報処理装置は、受付部と、取得部と、通知部とを有する。受付部は、サーバが提供する第１のサービスの利用要求を受け付ける。取得部は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、第１のサービスに対応付けられた情報を取得する。通知部は、取得した情報を、受け付けた利用要求とともに、サーバに通知する。【選択図】図１
2018185676.tif 000002
【特許請求の範囲】
【請求項１】
サーバが提供する第１のサービスの利用要求を受け付ける受付部と、
サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、前記第１のサービスに対応付けられた情報を取得する取得部と、
取得した前記情報を、受け付けた前記利用要求とともに、前記サーバに通知する通知部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記記憶部は、ユーザごとに設定された、前記サービスに対応付けられた前記他のサービスを特定する情報、および、データ領域情報を記憶し、
前記取得部は、前記ユーザのデータ領域情報を取得し、
前記通知部は、取得した前記データ領域情報を前記サーバに通知する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通知部は、受け付けた前記利用要求のヘッダに、前記利用要求の第１のサービス、取得した前記他のサービスを特定する情報、および、前記データ領域情報のうち、１つまたは複数の情報を格納して、前記サーバに通知する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
サーバが提供する第１のサービスの利用要求を受け付け、
サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、前記第１のサービスに対応付けられた情報を取得し、
取得した前記情報を、受け付けた前記利用要求とともに、前記サーバに通知する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項５】
サーバが提供する第１のサービスの利用要求を受け付け、
サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、前記第１のサービスに対応付けられた情報を取得し、
取得した前記情報を、受け付けた前記利用要求とともに、前記サーバに通知する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項６】
情報処理システムは、端末装置と、情報処理装置と、サーバとを有し、
前記端末装置は、前記サーバが提供する第１のサービスの利用要求を前記情報処理装置に送信し、
前記情報処理装置は、
前記利用要求を前記端末装置から受け付ける受付部と、
サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、前記第１のサービスに対応付けられた情報を取得する取得部と、
取得した前記情報を、受け付けた前記利用要求とともに、前記サーバに通知する通知部と、を有し、
前記サーバは、前記情報処理装置からの通知に応じて、呼び出された第１のサービスが利用する前記他のサービスのアドレスを特定し、特定した前記アドレスの前記他のサービスを用いて前記利用要求に関する処理を実行し、実行結果を前記端末装置に送信する、
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング技術を提供するクラウドサービスが、様々な形態で提供されている。例えば、仮想化されたサーバ上で各種アプリケーションを実行できるＰａａＳ（Platform  as  a  Service）等では、ユーザが仮想サーバのＡＰＩ（Application  Programming  Interface）を呼び出して実行結果を得ることができる。この様なクラウドサービスとしては、例えば、自然言語理解、自動音声認識、イメージ認識、音声変換、機械学習等の機能を提供する人工知能サービスが挙げられる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Ａｍａｚｏｎ  ＡＩ”、［Online］，［平成２９年４月１２日検索］、インターネット＜https://aws.amazon.com/jp/amazon-ai/>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウドサービスにおいて、ＡＰＩの数が少ない場合には、例えば、画像認識機能と画像認識ＡＰＩのように、機能とＡＰＩとが１対１で対応付けられていても、ユーザはクラウドサービスが提供するＡＰＩを容易に把握できる。これに対し、例えば、クラウドサービスが提供するＡＰＩが増加し、複数のＡＰＩを用いる機能を利用する場合には、ユーザは複数のＡＰＩを、それぞれ呼び出すことになり、クラウドサービスの利用が煩雑となる。このため、例えば、複数のＡＰＩを用いる機能を１つの目的別ＡＰＩとし、個々のＡＰＩである基本ＡＰＩを呼び出す構成とすることが考えられる。しかしながら、仮想サーバは、サービスの申込時にクラウドサービス上に配備されるので、仮想サーバの配備が完了するまで基本ＡＰＩのアドレス情報が確定せず、予め目的別ＡＰＩに基本ＡＰＩのアドレス情報を設定することが困難である。このため、ユーザから目的別ＡＰＩが呼ばれたとしても、目的別ＡＰＩが基本ＡＰＩを利用することが難しい。
【０００５】
一つの側面では、目的別ＡＰＩが基本ＡＰＩを利用できる情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムを提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、情報処理装置は、受付部と、取得部と、通知部とを有する。受付部は、サーバが提供する第１のサービスの利用要求を受け付ける。取得部は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、前記第１のサービスに対応付けられた情報を取得する。通知部は、取得した前記情報を、受け付けた前記利用要求とともに、前記サーバに通知する。
【発明の効果】
【０００７】
目的別ＡＰＩが基本ＡＰＩを利用できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の情報処理システムの構成の一例を示す図である。
【図２】図２は、ＡＰＩの一例を示す図である。
【図３】図３は、実施例のＧＷサーバの構成の一例を示すブロック図である。
【図４】図４は、テーブル記憶部の一例を示す図である。
【図５】図５は、テーブル記憶部の一例を示す図である。
【図６】図６は、目的別ＡＰＩのリクエストヘッダの一例を示す図である。
【図７】図７は、専門分野別意味検索における表示画面の一例を示す図である。
【図８】図８は、実施例の配備処理の一例を示すシーケンス図である。
【図９】図９は、実施例の提供処理の一例を示すシーケンス図である。
【図１０】図１０は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例１】
【００１０】
図１は、実施例の情報処理システムの構成の一例を示す図である。図１に示す情報処理システム１は、端末装置１０と、クラウド１００とを有する。クラウド１００は、クラウドサービスを提供し、ＧＷ（Gateway：ゲートウェイ）サーバ２００、管理サーバ３００およびＰａａＳサービス４００を有する。また、ＰａａＳサービス４００は、ユーザごとに構築されて各種アプリケーションを実行するＡＰサーバ４１０を有する。すなわち、ＧＷサーバ２００、管理サーバ３００およびＡＰサーバ４１０は、クラウド１００上で動作する仮想サーバである。なお、端末装置１０、ＧＷサーバ２００、ＰａａＳサービス４００およびＡＰサーバ４１０の数は限定されず、任意の数の端末装置１０、ＧＷサーバ２００、ＰａａＳサービス４００およびＡＰサーバ４１０を有してもよい。端末装置１０と、ＧＷサーバ２００との間は、ネットワークＮを介して相互に通信可能に接続される。かかるネットワークＮには、有線または無線を問わず、インターネットを始め、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１１】
端末装置１０は、クラウド１００が提供するクラウドサービスのユーザが用いる情報処理装置である。端末装置１０は、ＡＰサーバ４１０で提供される目的別ＡＰＩおよび基本ＡＰＩを呼び出すことで、様々な処理をＡＰサーバ４１０に実行させ、実行結果を取得する。まず、端末装置１０は、クラウドサービスの利用を開始する際に、ネットワークＮおよびＧＷサーバ２００を介して、管理サーバ３００に申込情報を送信する。端末装置１０は、ＧＷサーバ２００およびネットワークＮを介して、管理サーバ３００からログイン情報を受信する。
【００１２】
次に、端末装置１０は、クラウドサービスを利用する場合、ネットワークＮを介して、ログイン情報をＧＷサーバ２００に送信することで、クラウドサービスにログインし、アクセストークンを受信する。なお、アクセストークンは、ＡＰＩを呼び出すリクエストのヘッダに記載され、当該リクエストが認証済みのユーザが送信したリクエストであることを示す。端末装置１０は、ネットワークＮおよびＧＷサーバ２００を介して、実行結果を得たいサービスに対応する目的別ＡＰＩのリクエストをＡＰサーバ４１０に送信する。言い換えると、端末装置１０は、ＡＰサーバ４１０が提供する第１のサービスの利用要求（リクエスト）をＧＷサーバ２００に送信する。端末装置１０は、ＧＷサーバ２００およびネットワークＮを介して、利用要求に関する処理の実行結果をＡＰサーバ４１０から受信する。
【００１３】
ＧＷサーバ２００は、端末装置１０と、クラウド１００の各種サーバ等との間の通信を中継する情報処理装置である。ＧＷサーバ２００は、ネットワークＮを介して、端末装置１０からログイン情報を受信すると、認証処理を実行してアクセストークンを生成する。ＧＷサーバ２００は、ネットワークＮを介して、生成したアクセストークンを端末装置１０に送信する。
【００１４】
ＧＷサーバ２００は、ＡＰサーバ４１０が提供する第１のサービスの利用要求を端末装置１０から受け付ける。ＧＷサーバ２００は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する記憶部を参照して、第１のサービスに対応付けられた情報を取得する。なお、目的別ＡＰＩは、サービスの一例であり、基本ＡＰＩは他のサービスの一例であり、基本ＡＰＩのアドレス情報は、他のサービスを特定する情報の一例である。ＧＷサーバ２００は、取得した情報を、受け付けた利用要求とともに、前記サーバに通知する。これにより、情報処理システム１では、第１のサービスが他のサービスを利用できる。すなわち、情報処理システム１では、目的別ＡＰＩが基本ＡＰＩを利用できる。
【００１５】
管理サーバ３００は、端末装置１０のユーザに関する情報と、ＡＰサーバ４１０の配備情報とを管理する情報処理装置である。管理サーバ３００は、ネットワークＮおよびＧＷサーバ２００を介して、端末装置１０から申込情報を受信する。管理サーバ３００は、申込情報に応じてＡＰサーバ４１０の配備指示を生成する。管理サーバ３００は、生成した配備指示をＰａａＳサービス４００に送信し、ＰａａＳサービス４００に配備指示に応じたＡＰサーバ４１０を配備させる。
【００１６】
管理サーバ３００は、ＰａａＳサービス４００から配備されたＡＰサーバ４１０の配備情報を受信する。管理サーバ３００は、受信した配備情報に基づいて、ＧＷサーバ２００のテーブルに対して設定を行うためのテーブル設定情報、および、端末装置１０がクラウドサービスにログインするためのログイン情報を生成する。管理サーバ３００は、生成したテーブル設定情報をＧＷサーバ２００に送信するとともに、ＧＷサーバ２００およびネットワークＮを介して、生成したログイン情報を端末装置１０に送信する。
【００１７】
ＡＰサーバ４１０は、ユーザごとに構築され、各種アプリケーションを実行する情報処理装置である。ＡＰサーバ４１０は、各種アプリケーションを実行するために、目的別ＡＰＩおよび基本ＡＰＩを提供する。ＡＰサーバ４１０は、例えば、ＡＰＩ４１１，４１２、および、ユーザデータ記憶部４１３を有する。ＡＰＩ４１１，４１２は、目的別ＡＰＩや基本ＡＰＩの一例である。ユーザデータ記憶部４１３は、クラウドサービスを契約した端末装置１０のユーザごとに設定されたデータ領域を記憶する。
【００１８】
ＡＰサーバ４１０は、ＧＷサーバ２００からヘッダが更新された目的別ＡＰＩのリクエストを受信する。ＡＰサーバ４１０は、呼び出された目的別ＡＰＩが利用する基本ＡＰＩのアドレスを特定する。ＡＰサーバ４１０は、特定したアドレスの基本ＡＰＩを用いてリクエストに関する処理を実行する。ＡＰサーバ４１０は、ＧＷサーバ２００およびネットワークＮを介して、実行結果を端末装置１０に送信する。
【００１９】
言い換えると、ＡＰサーバ４１０は、ＧＷサーバ２００からの通知に応じて、呼び出された第１のサービスが利用する他のサービスのアドレスを特定する。ＡＰサーバ４１０は、特定したアドレスの他のサービスを用いて利用要求に関する処理を実行し、実行結果を端末装置１０に送信する。
【００２０】
ここで、図１を用いて情報処理システム１の処理の流れについて説明する。まず、端末装置１０は、ネットワークＮおよびＧＷサーバ２００を介して、管理サーバ３００に申込情報を送信する（ステップＳ１）。管理サーバ３００は、端末装置１０から申込情報を受信すると、申込情報に応じてＡＰサーバ４１０の配備指示を生成する。管理サーバ３００は、生成した配備指示をＰａａＳサービス４００に送信する（ステップＳ２）。ＰａａＳサービス４００は、配備指示を受信すると、配備指示に応じてＡＰサーバ４１０を配備して、配備情報を管理サーバ３００に送信する（ステップＳ３）。なお、配備情報には、目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報が含まれる。
【００２１】
管理サーバ３００は、受信した配備情報に基づいて、テーブル設定情報を生成し、ＧＷサーバ２００に送信する。ＧＷサーバ２００は、受信したテーブル設定情報をテーブル記憶部に記憶する（ステップＳ４）。その後、ＧＷサーバ２００は、端末装置１０から目的別ＡＰＩのリクエストを受信すると、テーブル記憶部を参照し、目的別ＡＰＩのリクエストに、当該目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報を追加する。ＧＷサーバ２００は、基本ＡＰＩのアドレス情報を追加した目的別ＡＰＩのリクエストをＡＰサーバ４１０に送信する（ステップＳ５）。これにより、ＡＰサーバ４１０では、目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報がわかるので、目的別ＡＰＩは基本ＡＰＩを利用して、リクエストされた処理を実行することができる。
【００２２】
ここで、図２を用いて目的別ＡＰＩおよび基本ＡＰＩについて説明する。図２は、ＡＰＩの一例を示す図である。図２に示す表２０は、目的別ＡＰＩおよび基本ＡＰＩを分類したものである。表２０の「カテゴリ」欄は、ＡＰＩのカテゴリを示す。「サービス名」欄は、ユーザが呼び出すサービス、つまりＡＰＩの名称を示す。「機能」欄は、各サービスにおける機能、つまり各ＡＰＩが行う処理を示す。表２０では、例えば、目的別ＡＰＩは、専門分野別意味検索ＡＰＩと、需要予測ＡＰＩとを有する。専門分野別意味検索ＡＰＩは、例えば、「検索対象文書管理機能」、「知識構造作成機能」、「検索機能」といった機能を有する。需要予測ＡＰＩも同様に、「機能」欄に示す機能をそれぞれ有する。
【００２３】
また、表２０では、基本ＡＰＩは、階層構造に分類され、例えば、「知覚・認識」、「知識化」、「判断・支援」に分類される。「知覚・認識」は、例えば下位カテゴリとして、さらに「画像処理」、「音声処理」に分類される。「知識化」は、例えば下位カテゴリとして「知識処理・発見」を有する。「判断・支援」は、例えば下位カテゴリとして「予測・最適化」を有する。「画像処理」カテゴリは、例えば、画像認識ＡＰＩと、手書文字認識ＡＰＩを有する。「音声処理」カテゴリは、例えば、音声テキスト化ＡＰＩと、音声合成ＡＰＩとを有する。「知識処理・発見」カテゴリは、例えば、知識情報構造化ＡＰＩと、知識情報検索ＡＰＩとを有する。「予測・最適化」カテゴリは、例えば、予測ＡＰＩを有する。基本ＡＰＩについても目的別ＡＰＩと同様に、「機能」欄に示す機能をそれぞれ有する。
【００２４】
次に、ＧＷサーバ２００の構成について説明する。図３は、実施例のＧＷサーバの構成の一例を示すブロック図である。図３に示すように、ＧＷサーバ２００は、通信部２１０と、記憶部２２０と、制御部２３０とを有する。なお、ＧＷサーバ２００は、図３に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００２５】
通信部２１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部２１０は、ネットワークＮを介して端末装置１０と有線または無線で接続され、端末装置１０との間で情報の通信を司る通信インタフェースである。また、通信部２１０は、クラウド１００内の管理サーバ３００およびＰａａＳサービス４００との間で情報の通信を司る通信インタフェースである。なお、通信部２１０は、クラウド１００の物理的なＮＩＣが割り当てられてもよいし、クラウド１００の物理的なＮＩＣを複数の仮想サーバで用いることができるように、仮想化されたＮＩＣであってもよい。
【００２６】
通信部２１０は、管理サーバ３００から受信したテーブル設定情報を制御部２３０に出力する。通信部２１０は、端末装置１０から受信したログイン情報および目的別ＡＰＩのリクエストを制御部２３０に出力する。また、通信部２１０は、制御部２３０から入力されたアクセストークンを端末装置１０に送信する。通信部２１０は、制御部２３０から入力された目的別ＡＰＩのリクエストをＡＰサーバ４１０に送信する。
【００２７】
記憶部２２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部２２０は、テーブル記憶部２２１を有する。また、記憶部２２０は、制御部２３０での処理に用いる情報を記憶する。
【００２８】
テーブル記憶部２２１は、目的別ＡＰＩと、該目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報とを対応付けたテーブルを記憶する。すなわち、テーブル記憶部２２１は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する。図４および図５は、テーブル記憶部の一例を示す図である。図４および図５に示すように、テーブル記憶部２２１は、「サービス契約ＩＤ（Identifier）」、「クライアントＩＤ」、「サービスコード」、「ＡＰＩ番号」、「Ｖｅｒ．」、「ＡＰＩ名」、「リクエストメソッド」といった項目を有する。また、テーブル記憶部２２１は、「スキーム」、「ＵＲＩ（Uniform  Resource  Identifier）」「ＩＰ（Internet  Protocol）アドレス」といった項目を有する。また、テーブル記憶部２２１は、「ポート番号」、「変換後ＡＰＩ名」、「タイムアウト」、「データ領域」、「基本ＡＰＩのアドレス情報」といった項目を有する。
【００２９】
「サービス契約ＩＤ」は、クラウドサービスを契約しているユーザを識別する識別子である。「サービス契約ＩＤ」は、例えば、クライアントＩＤおよびサービスコードが対応付けられ、クラウドサービスにおける課金処理等に用いられる。「クライアントＩＤ」は、１契約内でサービスを利用するアカウントが複数作成される際に、各アカウントを識別する識別子である。「サービスコード」は、クラウドサービスが提供するサービス名、つまり目的別ＡＰＩおよび基本ＡＰＩを識別する識別子である。「ＡＰＩ番号」は、各ＡＰＩ内における動作を識別する識別子である。
【００３０】
「Ｖｅｒ．」は、ＡＰＩのバージョンを示す情報である。「ＡＰＩ名」は、各ＡＰＩ、つまり目的別ＡＰＩまたは基本ＡＰＩの名称を示す情報である。「リクエストメソッド」は、ＨＴＴＰ（Hypertext  Transfer  Protocol）のメソッドを示す情報であり、各ＡＰＩ、つまり目的別ＡＰＩまたは基本ＡＰＩのリクエストの種別を示す情報である。「リクエストメソッド」は、例えば、「ＰＯＳＴ」、「ＧＥＴ」、「ＤＥＬＥＴＥ」といったものがある。「ＰＯＳＴ」は、例えば、端末装置１０から、ＡＰサーバ４１０のＵＲＩで指定されたリソースに対して情報を送信するリクエストである。「ＧＥＴ」は、例えば、端末装置１０が、ＡＰサーバ４１０のＵＲＩで指定されたリソースから情報を取得するリクエストである。「ＤＥＬＥＴＥ」は、例えば、端末装置１０がＡＰサーバ４１０のＵＲＩで指定されたリソースの情報を削除するリクエストである。
【００３１】
「スキーム」は、各ＡＰＩのリクエストにおけるスキーム、つまり通信プロトコル等の種別を示す情報である。「スキーム」は、例えば、「ｈｔｔｐ」、「ｈｔｔｐｓ」が挙げられる。なお、「ｈｔｔｐ」および「ｈｔｔｐｓ」は、それぞれＨＴＴＰおよびＨＴＴＰＳ（Hypertext  Transfer  Protocol  Secure）を表している。「ＵＲＩ」は、ＡＰサーバ４１０の各ＡＰＩに対応するリソースを識別する識別子である。
【００３２】
「ＩＰアドレス」は、ＡＰサーバ４１０のＩＰアドレスを示す情報である。なお、「ＩＰアドレス」は、各ＡＰＩを示すようにしてもよい。「ポート番号」は、ＡＰサーバ４１０における各ＡＰＩに対応するポート番号を示す情報である。「変換後ＡＰＩ名」は、実際に処理を実行するＡＰＩを示す情報である。「変換後ＡＰＩ名」は、例えば、複数のバージョンがあるＡＰＩである場合に、バージョンまで指定したＡＰＩ名となる。また、「変換後ＡＰＩ名」は、例えば、外部システムが提供するＡＰＩを呼び出すＡＰＩである場合に、当該外部システムのＡＰＩ名やバージョン情報を指定したＡＰＩ名となる。図４および図５の例では、１行目のＡＰＩ名「ImageRecognition」は、ＡＰサーバ４１０のＩＰアドレス「１７２．１６．０．８」とは異なるＩＰアドレス「１７２．１６．０．６」が付与されているサーバが指定されている。指定されたサーバのポート番号「８０」には、変換後ＡＰＩ名「inference/api/v1」で示されるＡＰＩが対応付けられている。
【００３３】
「タイムアウト」は、ＡＰＩが呼び出され処理が開始されてから応答があるまでの時間について、タイムアウトであると判定するための値であり、単位は秒である。「データ領域」は、ユーザごとのデータが保存される領域を示す情報である。「データ領域」は、ユーザデータ記憶部４１３に設けられる。「基本ＡＰＩのアドレス情報」は、ＡＰＩが目的別ＡＰＩである場合における、当該目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報、つまりＩＰアドレス、ポート番号、変換後ＡＰＩ名等の情報である。また、「基本ＡＰＩのアドレス情報」は、目的別ＡＰＩのリクエストヘッダに追加する情報を、そのまま記憶するようにしてもよい。なお、「基本ＡＰＩのアドレス情報」は、ＡＰＩが基本ＡＰＩである場合には空欄となる。
【００３４】
言い換えると、テーブル記憶部２２１は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶する。また、テーブル記憶部２２１は、端末装置１０のユーザごとに設定された、サービスに対応付けられた他のサービスを特定する情報、および、データ領域情報を記憶する。
【００３５】
図３の説明に戻って、制御部２３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部２３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部２３０は、受付部２３１と、取得部２３２と、通知部２３３とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部２３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００３６】
受付部２３１は、ＡＰサーバ４１０を配備する配備処理において、テーブル記憶部２２１にテーブル設定情報を設定する。受付部２３１は、通信部２１０を介して、管理サーバ３００からテーブル設定情報を受信する。受付部２３１は、受信したテーブル設定情報をテーブル記憶部２２１に記憶する。
【００３７】
受付部２３１は、ＡＰサーバ４１０がＡＰＩを提供する提供処理において、認証処理と、目的別ＡＰＩのリクエストの受付処理とを行う。受付部２３１は、ネットワークＮおよび通信部２１０を介して、端末装置１０からログイン情報を受信する。受付部２３１は、受信したログイン情報に基づいて、認証処理を実行し、端末装置１０のユーザを特定可能なアクセストークンを生成する。受付部２３１は、通信部２１０およびネットワークＮを介して、生成したアクセストークンを端末装置１０に送信する。
【００３８】
受付部２３１は、ネットワークＮおよび通信部２１０を介して、端末装置１０から目的別ＡＰＩのリクエストを受信する。受付部２３１は、受信した目的別ＡＰＩのリクエストを受け付けて、受け付けた目的別ＡＰＩのリクエストを取得部２３２に出力する。なお、受付部２３１は、端末装置１０から基本ＡＰＩのリクエストを受信した場合についても同様に、基本ＡＰＩのリクエストを受け付けて、受け付けた基本ＡＰＩのリクエストを取得部２３２に出力する。すなわち、受付部２３１は、ＡＰサーバ４１０が提供する第１のサービスである目的別ＡＰＩの利用要求を端末装置１０から受け付ける。
【００３９】
取得部２３２は、受付部２３１から目的別ＡＰＩのリクエストが入力されると、テーブル記憶部２２１を参照し、目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報と、ユーザのデータ領域情報とを取得する。取得部２３２は、取得した基本ＡＰＩのアドレス情報およびユーザのデータ領域情報と、目的別ＡＰＩのリクエストとを通知部２３３に出力する。なお、取得部２３２は、受付部２３１から基本ＡＰＩのリクエストが入力される場合には、テーブル記憶部２２１を参照し、ユーザのデータ領域情報を取得する。取得部２３２は、取得したユーザのデータ領域情報と、基本ＡＰＩのリクエストとを通知部２３３に出力する。
【００４０】
すなわち、取得部２３２は、テーブル記憶部２２１を参照し、第１のサービスに対応付けられた情報を取得する。また、取得部２３２は、テーブル記憶部２２１を参照し、端末装置１０のユーザのデータ領域情報を取得する。
【００４１】
通知部２３３には、取得部２３２から基本ＡＰＩのアドレス情報およびユーザのデータ領域情報と、目的別ＡＰＩのリクエストとが入力される。通知部２３３は、目的別ＡＰＩのリクエストヘッダに、基本ＡＰＩのアドレス情報とデータ領域情報とを追加してリクエストヘッダを更新する。通知部２３３は、ヘッダを更新した目的別ＡＰＩのリクエストを、ＡＰサーバ４１０に送信する。なお、通知部２３３にユーザのデータ領域情報と、基本ＡＰＩのリクエストとが入力される場合には、通知部２３３は、基本ＡＰＩのリクエストヘッダに、データ領域情報を追加してリクエストヘッダを更新する。この場合、通知部２３３は、ヘッダを更新した基本ＡＰＩのリクエストをＡＰサーバ４１０に送信する。
【００４２】
すなわち、通知部２３３は、取得した情報を、受け付けた利用要求とともに、ＡＰサーバ４１０に通知する。また、通知部２３３は、取得したデータ領域情報をＡＰサーバ４１０に通知する。また、通知部２３３は、受け付けた利用要求のヘッダに、利用要求の第１のサービス、取得した他のサービスを特定する情報、および、データ領域情報のうち、１つまたは複数の情報を格納して、ＡＰサーバ４１０に通知する。
【００４３】
ここで、図６を用いて、目的別ＡＰＩのリクエストヘッダへの情報の追加について説明する。図６は、目的別ＡＰＩのリクエストヘッダの一例を示す図である。図６に示す目的別ＡＰＩのリクエスト３０は、リクエストヘッダ３１と、データ３２とを有する。リクエストヘッダ３１には、アクセストークンと、目的別ＡＰＩとが含まれる。図６では、アクセストークンが「X-Access-Token:  xxxxx」、目的別ＡＰＩが「X-Service-Code:  FJAI000008-00001」となっている。データ３２には、目的別ＡＰＩの処理に関するデータが含まれる。リクエスト３０では、例えば、データとして検索語が含まれる。
【００４４】
図６に示す目的別ＡＰＩのリクエスト４０は、通知部２３３がリクエストヘッダに基本ＡＰＩのアドレス情報と、データ領域情報とを追加したものである。目的別ＡＰＩのリクエスト４０は、リクエストヘッダ４１と、データ４２とを有する。リクエストヘッダ４１には、基本ＡＰＩのアドレス情報と、データ領域情報とが含まれる。なお、リクエストヘッダ４１は、アクセストークンと、目的別ＡＰＩとを含むようにしてもよい。図６では、基本ＡＰＩのアドレス情報が「X-KnowledgeStructuring:  http://172.16.0.8:50005/KnowledgeStructuring/v1/」および「X-KnowledgeSearching:  http://172.16.0.8:50006/KnowledgeSearching/v1/」となっている。また、図６では、データ領域情報が「X-Target-Path:  /zinrai01/FJAI000008/st_zinrai01_01/」となっている。なお、データ領域情報は、例えば、契約番号またはサービス契約ＩＤ、サービスコード、および、クライアントＩＤを指定することでデータ領域が特定できる。
【００４５】
データ４２には、目的別ＡＰＩの処理に関するデータが含まれる。なお、データ４２は、データ３２と同一である。すなわち、目的別ＡＰＩのリクエスト４０は、目的別ＡＰＩのリクエスト３０のリクエストヘッダを更新した状態を示す。このように、リクエストヘッダに基本ＡＰＩのアドレス情報と、データ領域情報とを追加することで、ＡＰサーバ４１０では、目的別ＡＰＩのリクエスト４０に基づいて、目的別ＡＰＩが基本ＡＰＩを利用できる。
【００４６】
さらに、図７を用いて、目的別ＡＰＩを呼び出した際の端末装置１０に表示される表示画面について説明する。図７は、専門分野別意味検索における表示画面の一例を示す図である。図７に示す表示画面５０は、目的別ＡＰＩとして専門分野別意味検索を呼び出した際の表示画面の一例である。なお、専門分野別意味検索は、基本ＡＰＩとして、知識情報検索と、知識情報構造化とを利用するものとする。
【００４７】
表示画面５０は、検索語の入力領域５１と、検索結果の表示領域５２と、検索結果を構造化したグラフの表示領域５３とを有する。入力領域５１は、専門分野別意味検索で検索したい検索語の入力を受け付ける。検索結果の表示領域５２は、受け付けた検索語の検索結果を表示する。つまり、検索結果の表示領域５２は、基本ＡＰＩである知識情報検索の処理の実行結果を表示する。なお、検索結果の表示領域５２には、通常の検索結果の他に、検索文書の特徴を表す複数のキーワードを表示するようにしてもよい。
【００４８】
グラフの表示領域５３は、例えば、１つの検索文書を中心に、他の検索文書の意味的な近さを表す構造化グラフを表示する。つまり、グラフの表示領域５３は、基本ＡＰＩである知識情報構造化の処理の実行結果を表示する。
【００４９】
次に、実施例の情報処理システム１の動作について説明する。まず、図８を用いて配備処理について説明する。図８は、実施例の配備処理の一例を示すシーケンス図である。
【００５０】
端末装置１０は、管理サーバ３００に申込情報を送信する（ステップＳ１１）。管理サーバ３００は、端末装置１０から申込情報を受信する（ステップＳ１２）。管理サーバ３００は、申込情報に応じてＡＰサーバ４１０の配備指示を生成する。管理サーバ３００は、生成した配備指示をＰａａＳサービス４００に送信する（ステップＳ１３）。ＰａａＳサービス４００は、管理サーバ３００から配備指示を受信する（ステップＳ１４）。ＰａａＳサービス４００は、配備指示に応じてＡＰサーバ４１０を配備する（ステップＳ１５）。ＰａａＳサービス４００は、ＡＰサーバ４１０の配備情報を管理サーバ３００に送信する（ステップＳ１６）。
【００５１】
管理サーバ３００は、ＰａａＳサービス４００からＡＰサーバ４１０の配備情報を受信する（ステップＳ１７）。管理サーバ３００は、受信した配備情報に基づいて、テーブル設定情報およびログイン情報を生成する（ステップＳ１８）。管理サーバ３００は、生成したテーブル設定情報をＧＷサーバ２００に送信するとともに、生成したログイン情報を端末装置１０に送信する（ステップＳ１９）。
【００５２】
ＧＷサーバ２００の受付部２３１は、管理サーバ３００からテーブル設定情報を受信する（ステップＳ２０）。受付部２３１は、受信したテーブル設定情報をテーブル記憶部２２１に記憶する（ステップＳ２１）。端末装置１０は、管理サーバ３００からログイン情報を受信する（ステップＳ２２）。これにより、情報処理システム１は、ＡＰサーバ４１０を配備でき、配備情報に基づくテーブル設定情報をＧＷサーバ２００に記憶することができる。
【００５３】
続いて、図９を用いて提供処理について説明する。図９は、実施例の提供処理の一例を示すシーケンス図である。
【００５４】
端末装置１０は、ログイン情報をＧＷサーバ２００に送信する（ステップＳ５１）。ＧＷサーバ２００の受付部２３１は、端末装置１０からログイン情報を受信する。受付部２３１は、受信したログイン情報に基づいて、認証処理を実行し、端末装置１０のユーザを特定可能なアクセストークンを生成する（ステップＳ５２）。受付部２３１は、生成したアクセストークンを端末装置１０に送信する（ステップＳ５３）。
【００５５】
端末装置１０は、ＧＷサーバ２００からアクセストークンを受信する（ステップＳ５４）。端末装置１０は、実行結果を得たいサービスに対応する目的別ＡＰＩのリクエストをＡＰサーバ４１０宛としてＧＷサーバ２００に送信する（ステップＳ５５）。
【００５６】
ＧＷサーバ２００の受付部２３１は、端末装置１０から目的別ＡＰＩのリクエストを受信する（ステップＳ５６）。受付部２３１は、受信した目的別ＡＰＩのリクエストを受け付けて、受け付けた目的別ＡＰＩのリクエストを取得部２３２に出力する。
【００５７】
取得部２３２は、受付部２３１から目的別ＡＰＩのリクエストが入力されると、テーブル記憶部２２１を参照し、目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報と、ユーザのデータ領域情報とを取得する（ステップＳ５７）。取得部２３２は、取得した基本ＡＰＩのアドレス情報およびユーザのデータ領域情報と、目的別ＡＰＩのリクエストとを通知部２３３に出力する。
【００５８】
通知部２３３には、取得部２３２から基本ＡＰＩのアドレス情報およびユーザのデータ領域情報と、目的別ＡＰＩのリクエストとが入力される。通知部２３３は、目的別ＡＰＩのリクエストヘッダに、基本ＡＰＩのアドレス情報とデータ領域情報とを追加してリクエストヘッダを更新する（ステップＳ５８）。通知部２３３は、ヘッダを更新した目的別ＡＰＩのリクエストを、ＡＰサーバ４１０に送信する（ステップＳ５９）。
【００５９】
ＡＰサーバ４１０は、ＧＷサーバ２００からヘッダが更新された目的別ＡＰＩのリクエストを受信する（ステップＳ６０）。ＡＰサーバ４１０は、呼び出された目的別ＡＰＩが利用する基本ＡＰＩのアドレス、つまりポート番号を特定する（ステップＳ６１）。なお、ＡＰサーバ４１０は、目的別ＡＰＩと基本ＡＰＩのＩＰアドレスが異なる場合には、基本ＡＰＩのＩＰアドレスとポート番号とを特定する。ＡＰサーバ４１０は、特定したポート番号（アドレス）の基本ＡＰＩを用いて、目的別ＡＰＩのリクエストに関する処理を実行する（ステップＳ６２）。ＡＰサーバ４１０は、実行結果を端末装置１０に送信する（ステップＳ６３）。
【００６０】
端末装置１０は、目的別ＡＰＩのリクエストに関する処理の実行結果をＡＰサーバ４１０から受信する（ステップＳ６４）。これにより、情報処理システム１では、目的別ＡＰＩが基本ＡＰＩを利用できる。すなわち、リクエストがＧＷサーバ２００を通過する際に、目的別ＡＰＩが利用する基本ＡＰＩのアドレス情報がリクエストに追加されるので、ＡＰサーバ４１０では、目的別ＡＰＩは基本ＡＰＩを利用して、リクエストされた処理を実行することができる。
【００６１】
このように、ＧＷサーバ２００は、ＡＰサーバ４１０が提供する第１のサービスの利用要求を受け付ける。また、ＧＷサーバ２００は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶するテーブル記憶部２２１を参照して、第１のサービスに対応付けられた情報を取得する。また、ＧＷサーバ２００は、取得した情報を、受け付けた利用要求とともに、ＡＰサーバ４１０に通知する。その結果、ＡＰサーバ４１０では、第１のサービスが他のサービスを利用できる。すなわち、ＡＰサーバ４１０では、目的別ＡＰＩが基本ＡＰＩを利用できる。
【００６２】
また、ＧＷサーバ２００では、テーブル記憶部２２１がユーザごとに設定された、サービスに対応付けられた他のサービスを特定する情報、および、データ領域情報を記憶する。また、ＧＷサーバ２００は、ユーザのデータ領域情報を取得する。また、ＧＷサーバ２００は、取得したデータ領域情報をＡＰサーバ４１０に通知する。その結果、ＡＰサーバ４１０では、第１のサービスおよび他のサービスがユーザのデータ領域を使用することができる。すなわち、ＡＰサーバ４１０では、目的別ＡＰＩおよび基本ＡＰＩがユーザのデータ領域を使用することができる。
【００６３】
また、ＧＷサーバ２００は、受け付けた利用要求のヘッダに、利用要求の第１のサービス、取得した他のサービスを特定する情報、および、データ領域情報のうち、１つまたは複数の情報を格納して、ＡＰサーバ４１０に通知する。その結果、ＧＷサーバ２００は、利用要求（リクエスト）の処理に必要な情報をＡＰサーバ４１０に提供できる。
【００６４】
また、情報処理システム１は、端末装置１０と、ＧＷサーバ２００と、ＡＰサーバ４１０とを有する。端末装置１０は、ＡＰサーバ４１０が提供するサービスの利用要求をＧＷサーバ２００に送信する。ＧＷサーバ２００は、利用要求を端末装置１０から受け付ける。また、ＧＷサーバ２００は、サービスの利用要求に応じて呼び出される他のサービスを特定する情報を該サービスに対応付けて記憶するテーブル記憶部２２１を参照して、第１のサービスに対応付けられた情報を取得する。また、ＧＷサーバ２００は、取得した情報を、受け付けた利用要求とともに、ＡＰサーバ４１０に通知する。ＡＰサーバ４１０は、ＧＷサーバ２００からの通知に応じて、呼び出された第１のサービスが利用する他のサービスのアドレスを特定する。また、ＡＰサーバ４１０は、特定したアドレスの他のサービスを用いて利用要求に関する処理を実行し、実行結果を端末装置１０に送信する。その結果、情報処理システム１では、第１のサービスが他のサービスを利用できる。すなわち、情報処理システム１では、目的別ＡＰＩが基本ＡＰＩを利用できる。
【００６５】
なお、上記実施例では、端末装置１０がクラウド１００内のＡＰＩを呼び出す例を用いて説明したが、これに限定されない。例えば、端末装置１０が、外部システムが提供するＡＰＩを呼び出すようにしてもよい。この場合、ＧＷサーバ２００は、ＡＰＩのリクエストを当該外部システムに送信し、外部システムから実行結果を取得する。
【００６６】
また、上記実施例では、ユーザデータ記憶部４１３をＡＰサーバ４１０に設けたが、これに限定されない。例えば、ＡＰサーバ４１０とは別にサーバを設け、当該サーバがユーザデータ記憶部４１３を有するようにしてもよい。
【００６７】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部２３２と通知部２３３とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００６８】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００６９】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１０は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【００７０】
図１０に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、データ入力を受け付ける入力装置５０２と、モニタ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラム等を読み取る媒体読取装置５０４と、各種装置と接続するためのインタフェース装置５０５と、他の情報処理装置等と有線または無線により接続するための通信装置５０６とを有する。また、コンピュータ５００は、各種情報を一時記憶するＲＡＭ５０７と、ハードディスク装置５０８とを有する。また、各装置５０１〜５０８は、バス５０９に接続される。
【００７１】
ハードディスク装置５０８には、図３に示した受付部２３１、取得部２３２および通知部２３３の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置５０８には、テーブル記憶部２２１、および、情報処理プログラムを実現するための各種データが記憶される。入力装置５０２は、例えば、コンピュータ５００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ５０３は、例えば、コンピュータ５００の管理者に対して表示画面等の各種画面を表示する。インタフェース装置５０５は、例えば印刷装置等が接続される。通信装置５０６は、例えば、図３に示した通信部２１０と同様の機能を有しネットワークＮと接続され、端末装置１０等と各種情報をやりとりする。
【００７２】
ＣＰＵ５０１は、ハードディスク装置５０８に記憶された各プログラムを読み出して、ＲＡＭ５０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ５００を図３に示した受付部２３１、取得部２３２および通知部２３３として機能させることができる。
【００７３】
なお、上記の情報処理プログラムは、必ずしもハードディスク装置５０８に記憶されている必要はない。例えば、コンピュータ５００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ５００が読み出して実行するようにしてもよい。コンピュータ５００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ５００がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００７４】
１  情報処理システム
１０  端末装置
１００  クラウド
２００  ＧＷサーバ
２１０  通信部
２２０  記憶部
２２１  テーブル記憶部
２３０  制御部
２３１  受付部
２３２  取得部
２３３  通知部
３００  管理サーバ
４００  ＰａａＳサービス
４１０  ＡＰサーバ
４１１，４１２  ＡＰＩ
４１３  ユーザデータ記憶部
Ｎ  ネットワーク
【図１】
2018185676.tif 000003
【図２】
2018185676.tif 000004
【図３】
2018185676.tif 000005
【図４】
2018185676.tif 000006
【図５】
2018185676.tif 000007
【図６】
2018185676.tif 000008
【図７】
2018185676.tif 000009
【図８】
2018185676.tif 000010
【図９】
2018185676.tif 000011
【図１０】
2018185676.tif 000012