(57)【要約】【課題】適切なＡＰＩを選択することが容易なコンピュータシステム、ＡＰＩ提供方法及びプログラムを提供することを目的とする。【解決手段】コンピュータシステムは、エッジデバイス１００からセンサデータを取得し、前記取得したセンサデータに応じて、最適な計算機３００のＡＰＩを選択し、前記選択した計算機３００のＡＰＩを利用して、当該計算機３００に計算させるように制御し、前記計算した結果を、提供する。また、コンピュータシステムは、前記取得したセンサデータに応じて、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数の少なくとも一つに基づいて、最適な計算機３００のＡＰＩを選択する。また、コンピュータシステムは、予めユーザから、最適な計算機３００のＡＰＩを選択する際の基準を受け付け、当該基準に基づいて、最適な計算機３００のＡＰＩを選択する。また、コンピュータシステムは、前記計算機３００に計算させるように制御する前に、選択した最適な計算機３００のＡＰＩをユーザに推奨する。【選択図】図１
2018092226.tif 000002
【特許請求の範囲】
【請求項１】
エッジデバイスからセンサデータを取得するセンサデータ取得手段と、
前記取得したセンサデータに応じて、最適な計算機のＡＰＩを選択するＡＰＩ選択手段と、
前記選択した計算機のＡＰＩを利用して、当該計算機に計算させるように制御する計算制御手段と、
前記計算した結果を、提供する計算結果提供手段と、
を備えることを特徴とするコンピュータシステム。
【請求項２】
前記ＡＰＩ選択手段は、前記取得したセンサデータに応じて、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数の少なくとも一つに基づいて、最適な計算機のＡＰＩを選択する、
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記ＡＰＩ選択手段は、予めユーザから、最適な計算機のＡＰＩを選択する際の基準を受け付け、当該基準に基づいて、最適な計算機のＡＰＩを選択する、
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記計算制御手段が、前記計算機に計算させるように制御する前に、選択した最適な計算機のＡＰＩをユーザに推奨する推奨手段と、
を備えることを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
エッジデバイスからセンサデータを取得するステップと、
前記取得したセンサデータに応じて、最適な計算機のＡＰＩを選択するステップと、
前記選択した計算機のＡＰＩを利用して、当該計算機に計算させるように制御するステップと、
前記計算した結果を、提供するステップと、
を備えることを特徴とするＡＰＩ提供方法。
【請求項６】
コンピュータシステムに、
エッジデバイスからセンサデータを取得するステップ、
前記取得したセンサデータに応じて、最適な計算機のＡＰＩを選択するステップ、
前記選択した計算機のＡＰＩを利用して、当該計算機に計算させるように制御するステップ、
前記計算した結果を、提供するステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティングによるコンピュータシステム、ＡＰＩ提供方法及びプログラムに関する。
【背景技術】
【０００２】
近年、企業が提供するクラウドソリューションにおいて、エッジデバイス、コンピュータとコンピュータとのやり取りで処理を行うアプリケーションであるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）が各種計算を実行している。【０００３】
このような企業が提供するクラウドソリューションとして、情報システム構築者がデータに応じたＡＰＩを予め選択しておき、このＡＰＩが、必要な処理を実行する構成が開示されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ｈｔｔｐｓ：／／ａｗｓ．Ａｍａｚｏｎ．ｃｏｍ／ｊｐ／
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１の構成では、システムが実行するＡＰＩを、情報システム構築者が、自ら選択する必要があった。そのため、ＡＰＩの種類が複数存在する場合、必ずしも適切なＡＰＩを選択できているとは限らなかった。特に、ＡＰＩを提供する計算機が、企業毎に異なっているため、他の計算機まで考慮して適切なＡＰＩを選択することは容易ではなかった。【０００６】
そこで、本発明では、エッジデバイスが決定されれば、取得するセンサデータも決定されるため、このセンサデータによって、最適なＡＰＩを選択すればよいという点に着目した。また、エッジデバイスが複数存在する場合や、一つのエッジデバイスから複数のセンサデータを取得する場合、取得したセンサデータの組み合わせにより、ＡＰＩを決定すればよい点に着目した。【０００７】
本発明の目的は、適切なＡＰＩを選択することが容易なコンピュータシステム、ＡＰＩ提供方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、以下のような解決手段を提供する。【０００９】
本発明は、エッジデバイスからセンサデータを取得するセンサデータ取得手段と、
前記取得したセンサデータに応じて、最適な計算機のＡＰＩを選択するＡＰＩ選択手段と、
前記選択した計算機のＡＰＩを利用して、当該計算機に計算させるように制御する計算制御手段と、
前記計算した結果を、提供する計算結果提供手段と、
を備えることを特徴とするコンピュータシステムを提供する。【００１０】
本発明によれば、コンピュータシステムは、エッジデバイスからセンサデータを取得し、前記取得したセンサデータに応じて、最適な計算機のＡＰＩを選択し、前記選択した計算機のＡＰＩを利用して、当該計算機に計算させるように制御し、前記計算した結果を、提供する。【００１１】
本発明は、コンピュータシステムのカテゴリであるが、ＡＰＩ提供方法及びプログラム等の他のカテゴリにおいても、そのカテゴリに応じた同様の作用・効果を発揮する。
【発明の効果】
【００１２】
本発明によれば、適切なＡＰＩを選択することが容易なコンピュータシステム、ＡＰＩ提供方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は、ＡＰＩ提供システム１の概要を示す図である。
【図２】図２は、ＡＰＩ提供システム１の全体構成図である。
【図３】図３は、コンピュータ１０、エッジデバイス１００、ユーザ端末２００、計算機３００の機能ブロック図である。
【図４】図４は、コンピュータ１０、ユーザ端末２００が実行する基準受付処理を示すフローチャートである。
【図５】図５は、コンピュータ１０、エッジデバイス１００が実行するセンサデータ取得処理を示すフローチャートである。
【図６】図６は、コンピュータ１０が実行するＡＰＩ選択処理を示すフローチャートである。
【図７】図７は、コンピュータ１０、ユーザ端末２００が実行する推奨処理を示すフローチャートである。
【図８】図８は、コンピュータ１０、ユーザ端末２００、計算機３００が実行する計算結果提供処理を示すフローチャートである。
【図９】図９は、基準データベースの一例を示す図である。
【図１０】図１０は、ＡＰＩデータベースの一例を示す図である。
【図１１】図１１は、推奨コメント画面４００の一例を示す図である。
【図１２】図１２は、推奨コメント画面５００の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００１５】
［ＡＰＩ提供システム１の概要］
本発明の好適な実施形態の概要について、図１に基づいて説明する。図１は、本発明の好適な実施形態であるＡＰＩ提供システム１の概要を説明するための図である。ＡＰＩ提供システム１は、コンピュータ１０、エッジデバイス（ネットワークカメラ１００ａ、ドローン１００ｂ、センサ装置１００ｃ）１００、ユーザ端末２００、計算機３００から構成される。
【００１６】
コンピュータ１０は、エッジデバイス１００、ユーザ端末２００及び計算機３００とデータ通信可能に接続された計算装置である。
【００１７】
エッジデバイス１００は、コンピュータ１０とデータ通信可能に接続されたネットワーク装置である。エッジデバイス１００は、例えば、スマートグラス、ヘッドマウントディスプレイ等のウェアラブル端末や、ドローン等の無人航空機や、動画や静止画等の画像を撮像する撮像装置や、様々な空間情報又は時間情報等の環境データを検知するセンサ装置や、その他の物品である。
【００１８】
ユーザ端末２００は、コンピュータ１０とデータ通信可能に接続された端末装置である。ユーザ端末２００は、例えば、携帯電話、携帯情報端末、タブレット端末、パーソナルコンピュータに加え、ネットブック端末、スレート端末、電子書籍端末、携帯型音楽プレーヤ等の電化製品や、ウェアラブル端末等である。
【００１９】
計算機３００は、コンピュータ１０とデータ通信可能に接続された計算装置である。計算機３００は、ＡＰＩを記憶し、計算を実行する。
【００２０】
なお、コンピュータ１０、エッジデバイス１００、ユーザ端末２００及び計算機３００の数は、図１で示した数に限らず、適宜変更可能である。また、コンピュータ１０、エッジデバイス１００、ユーザ端末２００又は計算機３００は、実在する装置に限らず、仮想的な装置であってもよい。また、後述する各処理は、コンピュータ１０、エッジデバイス１００、ユーザ端末２００又は計算機３００のいずれか又は複数の組み合わせにより実現されてもよい。
【００２１】
エッジデバイス１００は、環境データの取得や、画像の撮像等を実行することによりセンサデータを取得する（ステップＳ０１）。センサデータとは、エッジデバイス１００が取得する環境データや画像データ等を意味する。エッジデバイス１００は、各種センサにより、環境データを取得する。また、エッジデバイス１００は、撮像装置により、画像を撮像し、画像データを取得する。
【００２２】
エッジデバイス１００は、コンピュータ１０に取得したセンサデータを送信する（ステップＳ０２）。
【００２３】
コンピュータ１０は、センサデータを受信する。コンピュータ１０は、受信したセンサデータに応じて、最適な計算機３００のＡＰＩを選択する（ステップＳ０３）。コンピュータ１０は、センサデータを受信することにより、センサデータを取得する。コンピュータ１０は、一のセンサデータを取得した場合、センサデータの種類や名称等のセンサデータを識別する識別子と、最適な計算機３００のＡＰＩとを対応付けたデータベースを参照することにより、最適な計算機３００のＡＰＩを選択する。また、コンピュータ１０は、一のエッジデバイス１００から複数のセンサデータを取得する場合や、複数のエッジデバイス１００の其々からセンサデータを取得する場合、取得したセンサデータの組み合わせと、最適な計算機３００のＡＰＩとを対応付けたデータベースを参照することにより、最適な計算機３００のＡＰＩを選択する。
【００２４】
なお、コンピュータ１０は、予めユーザから、最適な計算機３００のＡＰＩを選択する際の基準（例えば、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数等）を受け付け、この基準と、センサデータとに基づいて、最適な計算機３００のＡＰＩを選択してもよい。コンピュータ１０は、上述した基準の少なくとも一つと、センサデータとに基づいて、最適な計算機３００のＡＰＩを選択してもよい。
【００２５】
また、コンピュータ１０は、選択した最適な計算機３００のＡＰＩに関するデータであるＡＰＩデータ（ＡＰＩの名称等の識別子、計算機３００の名称、提供者名等の識別子等）を、ユーザ端末２００に送信することにより、ユーザに対してこのＡＰＩを推奨してもよい。このとき、ユーザ端末２００は、このＡＰＩデータに基づいて、ＡＰＩを推奨する推奨画面を表示することにより、センサデータに応じた最適な計算機３００のＡＰＩをユーザに推奨する。
【００２６】
コンピュータ１０は、選択した計算機３００のＡＰＩを利用して、この計算機３００に計算させるように、選択したＡＰＩを利用して計算させる計算指示を計算機３００に送信する（ステップＳ０４）。
【００２７】
計算機３００は、計算指示を受信する。計算機３００は、この指示に基づいて、必要な計算を実行する（ステップＳ０５）。
【００２８】
計算機３００は、計算指示に基づいて計算した結果である計算結果を計算結果データとして、コンピュータ１０に送信する（ステップＳ０６）。コンピュータ１０は、計算結果データを受信し、計算結果データを取得する。
【００２９】
コンピュータ１０は、取得した計算結果データを、ユーザ端末２００に送信することにより、計算結果を提供する（ステップＳ０７）。
【００３０】
ユーザ端末２００は、提供された計算結果を受信し、この計算結果に基づいた計算結果を表示する（ステップＳ０８）。
【００３１】
以上が、ＡＰＩ提供システム１の概要である。
【００３２】
［ＡＰＩ提供システム１のシステム構成］
図２に基づいて、本発明の好適な実施形態であるＡＰＩ提供システム１のシステム構成について説明する。図２は、本発明の好適な実施形態であるＡＰＩ提供システム１のシステム構成を示す図である。ＡＰＩ提供システム１は、コンピュータ１０、エッジデバイス（ネットワークカメラ１００ａ、ドローン１００ｂ、センサ装置１００ｃ）１００、ユーザ端末２００、計算機３００、公衆回線網（インターネット網や、第３、第４世代通信網等）５から構成さる。
【００３３】
なお、コンピュータ１０、エッジデバイス１００、ユーザ端末２００、計算機３００の数は、図２で示した数に限らず、適宜変更可能である。また、コンピュータ１０、エッジデバイス１００、ユーザ端末２００又は計算機３００は、実在する装置に限らず、仮想的な装置であってもよい。また、後述する各処理は、コンピュータ１０、エッジデバイス１００、ユーザ端末２００又は計算機３００のいずれか又は複数の組み合わせにより実現されてもよい。また、エッジデバイス１００の種類は、上述した例に限らず、適宜変更可能である。
【００３４】
コンピュータ１０は、後述の機能を備えた上述した計算装置である。
【００３５】
エッジデバイス１００は、後述の機能を備えた上述したネットワーク装置である。
【００３６】
ユーザ端末２００は、後述の機能を備えた上述した端末装置である。
【００３７】
計算機３００は、後述の機能を備えた上述した計算装置である。
【００３８】
［各機能の説明］
図３に基づいて、本発明の好適な実施形態であるＡＰＩ提供システム１の機能について説明する。図３は、コンピュータ１０、エッジデバイス１００、ユーザ端末２００、計算機３００の機能ブロック図を示す図である。
【００３９】
コンピュータ１０は、制御部１１として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を備え、通信部１２として、他の機器（カメラ・センサ）と通信可能にするためのデバイス、例えば、ＩＥＥＥ８０２．１１に準拠したＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）対応デバイス等を備える。また、コンピュータ１０は、記憶部１３として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。記憶部１３には、後述する各種データベースが記憶される。また、コンピュータ１０は、処理部１４として、計算機３００及びＡＰＩの選択等の各種処理を実行するためのデバイス等を備える。
【００４０】
コンピュータ１０において、制御部１１が所定のプログラムを読み込むことにより、通信部１２と協働して、基準データ受信モジュール２０、センサデータ受信モジュール２１、推奨コメント送信モジュール２２、使用ＡＰＩ受信モジュール２３、計算指示送信モジュール２４、計算結果受信モジュール２５、計算結果提供モジュール２６を実現する。また、コンピュータ１０において、制御部１１が所定のプログラムを読み込むことにより、記憶部１３と協働して、記憶モジュール３０を実現する。また、コンピュータ１０において、制御部１１が所定のプログラムを読み込むことにより、処理部１４と協働して、センサデータ判別モジュール４０、基準判別モジュール４１、ＡＰＩ選択モジュール４２、推奨コメント作成モジュール４３を実現する。
【００４１】
エッジデバイス１００は、コンピュータ１０と同様に、制御部１１０として、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備え、通信部１２０として、他の機器と通信可能にするためのデバイスを備える。また、エッジデバイス１００は、取得部１４０として、環境データや画像データを取得するためのデバイス等を備える。
【００４２】
エッジデバイス１００において、制御部１１０が所定のプログラムを読み込むことにより、通信部１２０と協働して、センサデータ送信モジュール１５０を実現する。また、エッジデバイス１００において、制御部１１０が所定のプログラムを読み込むことにより、取得部１４０と協働して、センサデータ取得モジュール１６０、デバイス認識モジュール１６１を実現する。
【００４３】
ユーザ端末２００は、コンピュータ１０と同様に、制御部２１０として、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備え、通信部２２０として、他の機器と通信可能にするためのデバイスを備える。また、ユーザ端末２００は、入出力部２４０として、制御部２１０で制御したデータや画像を出力表示する表示部、入力を受け付けるタッチパネルやキーボード、マウス等の入力部等を備える。
【００４４】
ユーザ端末２００において、制御部２１０が所定のプログラムを読み込むことにより、通信部２２０と協働して、基準データ送信モジュール２５０、推奨コメント受信モジュール２５１、使用ＡＰＩ送信モジュール２５２、計算結果受信モジュール２５３を実現する。また、ユーザ端末２００において、制御部２１０が所定のプログラムを読み込むことにより、入出力部２４０と協働して、入力受付モジュール２６０、順位設定モジュール２６１、表示モジュール２６２を実現する。
【００４５】
計算機３００は、コンピュータ１０と同様に、制御部３１０として、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備え、通信部３２０として、他の機器と通信可能にするためのデバイスを備える。また、計算部３４０として、必要な計算を実行するためのデバイス等を備える。
【００４６】
計算機３００において、制御部３１０が所定のプログラムを読み込むことにより、通信部３２０と協働して、計算指示受信モジュール３５０、計算結果送信モジュール３５１を実現する。また、計算機３００において、制御部３１０が所定のプログラムを読み込むことにより、計算部３４０と協働して、計算モジュール３６０を実現する。
【００４７】
［基準受付処理］
図４に基づいて、ＡＰＩ提供システム１が実行する基準受付処理について説明する。図４は、コンピュータ１０及びユーザ端末２００が実行する基準受付処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
【００４８】
入力受付モジュール２６０は、ユーザから、最適な計算機３００のＡＰＩを選択する際の基準の入力を受け付ける（ステップＳ１０）。ステップＳ１０において、入力受付モジュール２６０は、この基準として、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数の少なくとも一つの入力を受け付ける。入力受付モジュール２６０は、各基準そのものを受け付けてもよいし、上述した基準の具体的な数値や情報等の入力を受け付けてもよい。
【００４９】
利用料金とは、ＡＰＩの利用に必要な金額であり、これは、所定の回数の使用に必要な金額、所定の期間の使用に必要な金額を意味する。処理速度とは、計算機３００の単位時間あたりに処理できる命令数や計算機３００が様々な処理を実行する速度を意味する。ユーザ評価とは、自身又は他のユーザが各計算機３００のＡＰＩに対して下した評価を意味する。セキュリティ安全性とは、計算機３００又はＡＰＩのセキュリティの安全度であり使用に際して、情報漏洩やその他のセキュリティ上の堅牢性における評価を意味する。ＡＰＩの利用数は、ＡＰＩを実際に使用する人数を意味する。
【００５０】
入力受付モジュール２６０は、受け付けた基準に対して優先順位の入力を受け付ける（ステップＳ１１）。
【００５１】
順位設定モジュール２６１は、入力を受け付けた優先順位に基づいて、基準に優先順位を設定する（ステップＳ１２）。ステップＳ１２において、順位設定モジュール２６１は、一の基準を受け付けた場合、この一の基準に対して、優先順位として、数字を設定する。具体的には、この一の基準に対して、「１」を設定する。また、順位設定モジュール２６１は、複数の基準を受け付けた場合、この複数の基準の各々に対して、優先順位として数字を設定する。具体的には、優先順位が高い順番に、「１」、「２」、「３」、…、を設定する。順位設定モジュール２６１は、複数の基準を受け付けた場合、優先順位が高い順に、数字を設定する。
【００５２】
基準データ送信モジュール２５０は、入力を受け付けた基準及びこの基準の優先順位を示す基準データを、コンピュータ１０に送信する（ステップＳ１３）。
【００５３】
基準データ受信モジュール２０は、基準データを受信する。記憶モジュール３０は、基準データに基づいた基準データベースを記憶する（ステップＳ１４）。ステップＳ１４において、記憶モジュール３０は、入力を受け付けた基準と、この基準の優先順位として設定された数値とを対応付けて記憶する。
【００５４】
［基準データベース］
図９に基づいて、記憶モジュール３０が記憶する基準データベースについて説明する。図９は、基準データベースの一例を示す図である。記憶モジュール３０は、基準データベースとして、基準と優先順位とを対応付けて記憶する。記憶モジュール３０は、ステップＳ１１において受け付けた基準と、ステップＳ１２において受け付けた優先順位とを対応付けて記憶する。図９において、記憶モジュール３０は、基準として、「使用料金」、「処理速度」、「ユーザ評価」、「セキュリティ安全性」、「ＡＰＩの利用数」を記憶する。また、記憶モジュール３０は、優先順位として、「１」、「２」、「３」、「４」、「５」を記憶する。記憶モジュール３０は、「使用料金」と「１」とが対応付けられている。同様に、「処理速度」と「２」とが、「ユーザ評価」と「３」とが、「セキュリティ安全性」と「４」とが、「ＡＰＩの利用数」と「５」とが、其々対応付けられている。
【００５５】
なお、記憶モジュール３０は、上述した例以外の基準及び優先順位を記憶してもよく、各項目の内容は適宜変更可能である。また、記憶モジュール３０は、基準データベースを、ユーザ毎に、記憶してもよいし、すべてのユーザをまとめて記憶してもよい。
【００５６】
以上が、基準受付処理である。
【００５７】
［センサデータ取得処理］
図５に基づいて、ＡＰＩ提供システム１が実行するセンサデータ取得処理について説明する。図５は、コンピュータ１０、エッジデバイス１００が実行するセンサデータ取得処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
【００５８】
センサデータ取得モジュール１６０は、センサデータを取得する（ステップＳ２０）。ステップＳ２０において、センサデータ取得モジュール１６０は、日照、気温、湿度等の自身が設置される場所又は空間における空間情報や時間情報等の環境データや、自身が有するカメラ等の撮像装置により撮像する動画や静止画等の画像を示す画像データ等をセンサデータとして取得する。センサデータ取得モジュール１６０は、所定のタイミング（例えば、予め定められた時刻、予め定められた時間間隔、ユーザ端末２００からの取得指示を受け付けたとき）により、このセンサデータを取得する。センサデータ取得モジュール１６０は、一又は複数のセンサデータを取得する。センサデータ取得モジュール１６０は、一のエッジデバイス１００により一又は複数のセンサデータを取得してもよいし、複数のエッジデバイス１００により、一又は複数のセンサデータを取得してもよい。なお、センサデータ取得モジュール１６０は、上述したデータ以外のデータをセンサデータとして取得してもよい。
【００５９】
デバイス認識モジュール１６１は、今回センサデータを取得したエッジデバイス１００の種別を認識する（ステップＳ２１）。ステップＳ２１において、デバイス認識モジュール１６１は、自身の種別を認識する識別子を判別する。デバイス認識モジュール１６１は認識する識別子は、例えば、自身の機器番号、ＩＰアドレス、製造番号、ＭＡＣアドレス等のエッジデバイス１００を一意に特定可能な識別子である。
【００６０】
センサデータ送信モジュール１５０は、取得したセンサデータと、認識したエッジデバイス１００の種別とを取得データとして、コンピュータ１０に送信する（ステップＳ２２）。
【００６１】
センサデータ受信モジュール２１は、取得データを受信する。コンピュータ１０は、取得データを受信することにより、センサデータ及びエッジデバイス１００の識別子を取得する。
【００６２】
以上が、センサデータ取得処理である。
【００６３】
［ＡＰＩ選択処理］
図６に基づいて、ＡＰＩ提供システム１が実行するＡＰＩ選択処理について説明する。図６は、コンピュータ１０が実行するＡＰＩ選択処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【００６４】
センサデータ判別モジュール４０は、取得したセンサデータの種別を判別する（ステップＳ３０）。ステップＳ３０において、センサデータ判別モジュール４０は、取得データに含まれるエッジデバイス１００の識別子に基づいて、センサデータの種別を判別する。また、センサデータ判別モジュール４０は、一のエッジデバイス１００又は複数のエッジデバイス１００から、複数のセンサデータを取得した場合、エッジデバイス１００の識別子に加えて、センサデータに対して、データマイニングや多変量解析を実行することにより、各センサデータの種別を判別する。
【００６５】
基準判別モジュール４１は、上述した基準データベースから、最も優先順位が高い基準を判別する（ステップＳ３１）。ステップＳ３１において、基準判別モジュール４１は、今回計算を実行しようとするユーザが予め設定した基準データベースに基づいて、優先順位が最も高い基準を判別する。
【００６６】
なお、基準判別モジュール４１は、優先順位が最も高い基準のみではなく、優先順位が高い順に、所定の数だけ基準を判別してもよい。
【００６７】
ＡＰＩ選択モジュール４２は、判別したセンサデータの種別及びユーザから受け付けた基準に応じて、最適な計算機３００のＡＰＩを選択する（ステップＳ３２）。ステップＳ３２において、ＡＰＩ選択モジュール４２は、最適な計算機３００のＡＰＩを、ＡＰＩデータベースを参照することにより選択する。
【００６８】
［ＡＰＩデータベース］
図１０に基づいて、記憶モジュール３０が記憶するＡＰＩデータベースについて説明する。図１０は、ＡＰＩデータベースの一例を示す図である。記憶モジュール３０は、センサデータの種別の名称と、基準の内容と、計算機３００の名称と、ＡＰＩの名称とを対応付けて記憶する。「種別」は、エッジデバイス１００が取得したセンサデータの種別を意味する。「基準」は、ユーザ端末２００が受け付けた基準のうち、優先順位が最も高い基準を意味する。「計算機」は、計算を実行する計算装置の名称や型番等の識別子を意味する。「ＡＰＩ」は、計算に用いるアプリケーションの名称等の識別子を意味する。ＡＰＩデータベースは、各種別に、ユーザから受け付けた各基準と、各基準の条件を満たす計算機３００と、この計算機３００のＡＰＩとを対応付けている。コンピュータ１０は、外部データベースや提供者のＷＥＢサイト等から、基準に対応するデータを取得し、この取得したデータに基づいて、この計算機３００のＡＰＩとセンサデータと基準とを対応付けて記憶する。また、コンピュータ１０は、例えば、他のユーザが指定した計算機３００のＡＰＩを、基準に基づいて評価し、この評価に基づいて、基準に対応する計算機３００のＡＰＩとセンサデータと基準とを対応付けて記憶する。また、他のユーザが指定した計算機３００のＡＰＩと基準とのペアを教師データとして学習し、データを生成する。そして、コンピュータ１０は、新たな基準、新たな計算機３００のＡＰＩ、新たなセンサデータ等を取得した際には、学習したデータに基づいて、基準に対応する計算機３００のＡＰＩに対応付けて記憶する。
【００６９】
なお、ＡＰＩデータベースの各項目は、上述した例に限らず、その他の項目が追加されていてもよい。例えば、基準の項目は、ユーザからその他の内容を受け付け、受け付けた基準を追加してもよい。また、ＡＰＩデータベースの各項目は、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数の少なくとも一つであってもよい。また、名称に限らず、センサデータ、基準、計算機、ＡＰＩを識別するための他の識別子であってもよい。また、一のセンサデータの種別毎に、ＡＰＩデータベースを有していてもよい。
【００７０】
ステップＳ３１において、ＡＰＩ選択モジュール４２は、判別したセンサデータの種別と、判別した優先順位の最も高い基準とに基づいて、ＡＰＩデータベースを参照し、これらに対応付けられた計算機３００のＡＰＩを抽出する。ＡＰＩ選択モジュール４２は、抽出した計算機３００及びこの計算機３００のＡＰＩを選択する。ＡＰＩ選択モジュール４２は、このようにすることにより、ユーザが最適な計算機３００のＡＰＩを選択する際の基準の少なくとも一つに基づいて、最適な計算機３００のＡＰＩを選択する。
【００７１】
なお、基準判別モジュール４１は、優先順位が高い順に、所定の数だけ基準を選択する場合、ＡＰＩ選択モジュール４２は、ＡＰＩデータベースにおいて、選択された基準に対応付けられた其々の計算機３００のＡＰＩを抽出し、基準の優先順位に応じた順位付けをこの計算機３００のＡＰＩに行い、順位が高いものから、この順位を示す数字又は記号等の識別子とともに、計算機３００のＡＰＩを選択する。
【００７２】
以上が、ＡＰＩ選択処理である。
【００７３】
［推奨処理］
図７に基づいて、ＡＰＩ提供システム１が実行する推奨処理について説明する。図７は、コンピュータ１０、ユーザ端末２００が実行する推奨処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
【００７４】
推奨コメント作成モジュール４３は、上述したステップＳ３１の処理においてＡＰＩ選択モジュール４２が選択した最適な計算機３００のＡＰＩに関する推奨コメントを作成する（ステップＳ４０）。ステップＳ４０において、推奨コメント作成モジュール４３は、選択した計算機３００のＡＰＩと、この計算機３００のＡＰＩを選択した理由である基準とを含む推奨コメントを作成する。
【００７５】
推奨コメント送信モジュール２２は、作成した推奨コメントである推奨コメントデータを、ユーザ端末２００に送信する（ステップＳ４１）。
【００７６】
推奨コメント受信モジュール２５１は、推奨コメントデータを受信する。表示モジュール２６２は、受信した推奨コメントデータに基づいて、推奨コメントを表示する（ステップＳ４２）。
【００７７】
図１１に基づいて、表示モジュール２６２が表示する推奨コメントについて説明する。図１１は、推奨コメント画面４００の一例を示す図である。図１１において、表示モジュール２６２は、推奨コメント画面４００として、推奨コメント４１０及び使用アイコン４２０を表示する。推奨コメント４１０には、選択した計算機３００のＡＰＩと、この計算機３００のＡＰＩを選択した理由となる基準を表示する。使用アイコン４２０は、ユーザからの入力を受け付け、この推奨コメント４１０に表示した計算機３００のＡＰＩの使用に必要な課金処理を実行し、この計算機３００のＡＰＩを使用するために必要な各処理を実行する。
【００７８】
図１２に基づいて、表示モジュール２６２が表示する推奨コメントについて説明する。図１２は、推奨コメント画面５００の一例を示す図である。図１１における推奨コメント画面４００との相違点は、複数の基準に基づいて計算機３００のＡＰＩを選択している点である。図１２において、表示モジュール２６２は、推奨コメント画面５００として、推奨コメント５１０〜５１４、使用アイコン５２０を表示する。推奨コメント５１０〜５１４には、選択した計算機３００のＡＰＩと、この計算機３００のＡＰＩを選択した理由となる基準と、推奨度とを表示する。この推奨度は、ユーザから受け付けた基準の優先順位に応じた数字として表示する。すなわち、優先順位が高い基準に応じて選択された計算機３００のＡＰＩには、低い数字の推奨度を表示する。図１２において、基準データベースにおける優先順位が「使用料金」、「処理速度」、「ユーザ評価」、「セキュリティ安全性」、「ＡＰＩの利用数」の順であることから、使用料金に基づいて選択した計算機３００のＡＰＩの推奨度を１、処理速度に基づいて選択した計算機３００のＡＰＩの推奨度を２、ユーザ評価に基づいて選択した計算機３００のＡＰＩの推奨度を３、セキュリティ安全性に基づいて選択した計算機３００のＡＰＩの推奨度を４、ＡＰＩの利用数に基づいて選択した計算機３００のＡＰＩの推奨度を５として表示する。表示モジュール２６２は、推奨コメント５１０〜５１４のいずれかへの選択入力を受け付ける。使用アイコン５２０は、ユーザからの入力を受け付け、選択入力を受け付けた推奨コメント５１０〜５１４のいずれかの計算機３００のＡＰＩの使用に必要な課金処理を実行し、この計算機３００のＡＰＩを使用するために必要な各処理を実行する。
【００７９】
なお、表示モジュール２６２は、上述した例に限らず、推奨度が最も高い計算機３００のＡＰＩの推奨コメントのみ、推奨度が高い順番に所定の数だけの計算機３００のＡＰＩのコメントを表示する等、推奨コメントを表示する数及びその内容は適宜変更可能である。また、使用アイコン５２０を表示せずに、推奨コメントとして表示した計算機３００のＡＰＩを自動的に使用するために必要な処理を実行してもよい。
【００８０】
使用ＡＰＩ送信モジュール２５２は、ユーザが所望した計算機３００のＡＰＩを示す使用ＡＰＩデータを、コンピュータ１０に送信する（ステップＳ４３）。ステップＳ４３において、使用ＡＰＩ送信モジュール２５２は、表示モジュール２６２が受け付けた使用アイコン４２０により選択された計算機３００のＡＰＩ又は選択入力を受け付け、使用アイコン５２０により選択された計算機３００のＡＰＩを示す使用ＡＰＩデータを、コンピュータ１０に送信する。
【００８１】
使用ＡＰＩ受信モジュール２３は、使用ＡＰＩデータを受信する。
【００８２】
以上が、推奨処理である。
【００８３】
［計算結果提供処理］
図８に基づいて、ＡＰＩ提供システム１が実行する計算結果提供処理について説明する。図８は、コンピュータ１０、ユーザ端末２００、計算機３００が実行する計算結果提供処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
【００８４】
計算指示送信モジュール２４は、選択した計算機３００のＡＰＩを利用して、この計算機３００に計算させるように指示する計算指示と、センサデータとを計算機３００に送信する（ステップＳ５０）。ステップＳ５０において、コンピュータ１０は、計算機３００に計算指示を送信することにより、選択した計算機３００のＡＰＩを利用して、この計算機３００に計算させるように制御する。
【００８５】
ステップＳ５０において、計算指示送信モジュール２４は、上述したステップＳ３２において選択した計算機３００のＡＰＩ又は上述したステップＳ４３においてユーザが所望した計算機３００のＡＰＩに、計算指示と、センサデータとを送信する。これは、例えば、優先順位が最も高い一の計算機３００のＡＰＩのみが選択された場合、上述したステップＳ３２において選択した計算機３００のＡＰＩに対して計算指示と、センサデータとを送信し、優先順位に応じた複数の計算機３００のＡＰＩが選択された場合、上述したステップＳ４３においてユーザが所望した計算機３００のＡＰＩに計算指示と、センサデータとを送信する。
【００８６】
計算指示受信モジュール３５０は、計算指示と、センサデータとを受信する。計算モジュール３６０は、計算指示に基づいて、このセンサデータに対して必要な計算を実行する（ステップＳ５１）。ステップＳ５１において、計算モジュール３６０は、計算指示に含まれるＡＰＩを利用して、必要な計算を実行する。計算モジュール３６０は、例えば、農作物の収穫時期予測、農薬等の必要性予測、散水等の必要性予測等の各種計算を実行する。
【００８７】
計算結果送信モジュール３５１は、計算した結果である計算結果データを、コンピュータ１０に送信する（ステップＳ５２）。
【００８８】
計算結果受信モジュール２５は、計算結果データを受信する。計算結果提供モジュール２６は、受信した計算結果データを、ユーザ端末２００に送信する（ステップＳ５３）。ステップＳ５３において、コンピュータ１０は、ユーザ端末２００に計算結果データを送信することにより、計算機３００が計算した結果を提供する。
【００８９】
計算結果受信モジュール２５３は、計算結果データを受信する。表示モジュール２６２は、受信した計算結果データに基づいて、計算結果を表示する。
【００９０】
以上が、計算結果提供処理である。
【００９１】
上述した手段、機能は、コンピュータ（ＣＰＵ、情報処理装置、各種端末を含む）が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される（ＳａａＳ：ソフトウェア・アズ・ア・サービス）形態で提供される。また、プログラムは、例えば、フレキシブルディスク、ＣＤ（ＣＤ−ＲＯＭなど）、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し記憶して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記憶装置（記録媒体）に予め記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【００９２】
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００９３】
１  ＡＰＩ提供システム、１０  コンピュータ、１００  エッジデバイス、２００  ユーザ端末、３００  計算機
【図１】
2018092226.tif 000003
【図２】
2018092226.tif 000004
【図３】
2018092226.tif 000005
【図４】
2018092226.tif 000006
【図５】
2018092226.tif 000007
【図６】
2018092226.tif 000008
【図７】
2018092226.tif 000009
【図８】
2018092226.tif 000010
【図９】
2018092226.tif 000011
【図１０】
2018092226.tif 000012
【図１１】
2018092226.tif 000013
【図１２】
2018092226.tif 000014
【手続補正書】
【提出日】平成30年5月16日(2018.5.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
エッジデバイスからセンサデータを取得するセンサデータ取得手段と、
前記取得したセンサデータ及び予めユーザから受け付けた最適な計算機ＡＰＩを選択する際の基準に応じて、複数の最適な計算機のＡＰＩを選択するＡＰＩ選択手段と、
選択した前記複数の最適な計算機のＡＰＩを選択した理由を推奨コメントとして作成するコメント作成手段と、
前記複数の最適な計算機のＡＰＩ及び各ＡＰＩの推奨コメントを表示するとともに、前記複数の最適なＡＰＩのうち、一の計算機のＡＰＩの選択を受け付ける受付手段と、
前記選択を受け付けた計算機のＡＰＩを利用して、当該計算機に計算させるように制御する計算制御手段と、
前記計算した結果を、提供する計算結果提供手段と、
を備えることを特徴とするコンピュータシステム。
【請求項２】
前記ＡＰＩ選択手段は、前記取得したセンサデータに応じて、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数の少なくとも一つに基づいて、最適な計算機のＡＰＩを選択する、
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記計算制御手段が、前記計算機に計算させるように制御する前に、選択した最適な計算機のＡＰＩをユーザに推奨する推奨手段と、
を備えることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
コンピュータシステムが実行するＡＰＩ提供方法であって、
エッジデバイスからセンサデータを取得するステップと、
前記取得したセンサデータ及び予めユーザから受け付けた最適な計算機ＡＰＩを選択する際の基準に応じて、複数の最適な計算機のＡＰＩを選択するステップと、
選択した前記複数の最適な計算機のＡＰＩを選択した理由を推奨コメントとして作成するステップと、
前記複数の最適な計算機のＡＰＩ及び各ＡＰＩの推奨コメントを表示するとともに、前記複数の最適なＡＰＩのうち、一の計算機のＡＰＩの選択を受け付けるステップと、
前記選択を受け付けた計算機のＡＰＩを利用して、当該計算機に計算させるように制御するステップと、
前記計算した結果を、提供するステップと、
を備えることを特徴とするＡＰＩ提供方法。
【請求項５】
コンピュータシステムに、
エッジデバイスからセンサデータを取得するステップ、
前記取得したセンサデータ及び予めユーザから受け付けた最適な計算機ＡＰＩを選択する際の基準に応じて、複数の最適な計算機のＡＰＩを選択するステップ、
選択した前記複数の最適な計算機のＡＰＩを選択した理由を推奨コメントとして作成するステップ、
前記複数の最適な計算機のＡＰＩ及び各ＡＰＩの推奨コメントを表示するとともに、前記複数の最適なＡＰＩのうち、一の計算機のＡＰＩの選択を受け付けるステップ、
前記選択を受け付けた計算機のＡＰＩを利用して、当該計算機に計算させるように制御するステップ、
前記計算した結果を、提供するステップ、
を実行させるためのコンピュータ読み取り可能なプログラム。
【手続補正書】
【提出日】平成30年8月15日(2018.8.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
エッジデバイスからセンサデータを取得するセンサデータ取得手段と、
前記取得したセンサデータ及び予めユーザから受け付けた最適な計算機ＡＰＩを選択する際の基準に応じて、複数の最適な計算機のＡＰＩを選択するＡＰＩ選択手段と、
選択した前記複数の最適な計算機のＡＰＩを選択した理由を推奨コメントとして作成するコメント作成手段と、
前記複数の最適な計算機のＡＰＩ及び各ＡＰＩの推奨コメントを表示するとともに、前記複数の最適なＡＰＩのうち、一の計算機のＡＰＩの選択を受け付ける受付手段と、
前記選択を受け付けた計算機のＡＰＩを利用して、当該計算機に前記センサデータに対する計算を実行させるように制御する計算制御手段と、
前記計算した結果を、提供する計算結果提供手段と、
を備えることを特徴とするコンピュータシステム。
【請求項２】
前記ＡＰＩ選択手段は、前記取得したセンサデータに応じて、使用料金、処理速度、ユーザ評価、セキュリティ安全性、ＡＰＩの利用数の少なくとも一つに基づいて、最適な計算機のＡＰＩを選択する、
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記計算制御手段が、前記計算機に計算させるように制御する前に、選択した最適な計算機のＡＰＩをユーザに推奨する推奨手段と、
を備えることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
コンピュータシステムが実行するＡＰＩ提供方法であって、
エッジデバイスからセンサデータを取得するステップと、
前記取得したセンサデータ及び予めユーザから受け付けた最適な計算機ＡＰＩを選択する際の基準に応じて、複数の最適な計算機のＡＰＩを選択するステップと、
選択した前記複数の最適な計算機のＡＰＩを選択した理由を推奨コメントとして作成するステップと、
前記複数の最適な計算機のＡＰＩ及び各ＡＰＩの推奨コメントを表示するとともに、前記複数の最適なＡＰＩのうち、一の計算機のＡＰＩの選択を受け付けるステップと、
前記選択を受け付けた計算機のＡＰＩを利用して、当該計算機に前記センサデータに対する計算を実行させるように制御するステップと、
前記計算した結果を、提供するステップと、
を備えることを特徴とするＡＰＩ提供方法。
【請求項５】
コンピュータシステムに、
エッジデバイスからセンサデータを取得するステップ、
前記取得したセンサデータ及び予めユーザから受け付けた最適な計算機ＡＰＩを選択する際の基準に応じて、複数の最適な計算機のＡＰＩを選択するステップ、
選択した前記複数の最適な計算機のＡＰＩを選択した理由を推奨コメントとして作成するステップ、
前記複数の最適な計算機のＡＰＩ及び各ＡＰＩの推奨コメントを表示するとともに、前記複数の最適なＡＰＩのうち、一の計算機のＡＰＩの選択を受け付けるステップ、
前記選択を受け付けた計算機のＡＰＩを利用して、当該計算機に前記センサデータに対する計算を実行させるように制御するステップ、
前記計算した結果を、提供するステップ、
を実行させるためのコンピュータ読み取り可能なプログラム。
【国際調査報告】
2018092226.tif 000015
2018092226.tif 000016
2018092226.tif 000017
2018092226.tif 000018