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

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

▶ ペイメンタス コーポレーションの特許一覧

特表2024-541987人工知能ベースの統合フレームワーク
<>
  • 特表-人工知能ベースの統合フレームワーク 図1
  • 特表-人工知能ベースの統合フレームワーク 図2
  • 特表-人工知能ベースの統合フレームワーク 図3A
  • 特表-人工知能ベースの統合フレームワーク 図3B
  • 特表-人工知能ベースの統合フレームワーク 図4
  • 特表-人工知能ベースの統合フレームワーク 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】人工知能ベースの統合フレームワーク
(51)【国際特許分類】
   G06F 8/20 20180101AFI20241106BHJP
   G06F 11/30 20060101ALI20241106BHJP
【FI】
G06F8/20
G06F11/30 199
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024525364
(86)(22)【出願日】2021-10-26
(85)【翻訳文提出日】2024-06-26
(86)【国際出願番号】 US2021056615
(87)【国際公開番号】W WO2023075752
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】17/452,267
(32)【優先日】2021-10-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.JAVASCRIPT
3.PYTHON
(71)【出願人】
【識別番号】521454825
【氏名又は名称】ペイメンタス コーポレーション
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】シャルマ ドゥシャント
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042MB03
5B376AA21
5B376AA32
5B376BB01
5B376BC31
5B376BC38
(57)【要約】
アプリケーションプログラミングインタフェース(API)をプログラムによって生成および統合するための人工知能ベースの技術のための方法、装置、およびシステムが記載されている。例示的な方法は、1つ以上のプロセッサによる統合データオブジェクトの受信に応答して、統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、少なくとも部分的に統合機械学習モデルに基づいて、1つ以上のプロセッサによって、統合データオブジェクトを処理し、1つ以上のプロセッサによって、少なくとも部分的に1つ以上の統合特徴に基づいて、統合データオブジェクトに対応するアプリケーションプログラミングインタフェース(API)モデルをプログラムによって生成し、1つ以上のプロセッサによって、実行のためのAPIモデルに対応するAPI生成データオブジェクトを生成することを含み得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
1つ以上のプロセッサによる統合データオブジェクトの受信に応答して、
前記統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、前記1つ以上のプロセッサによって、少なくとも部分的に統合機械学習モデルに基づいて、前記統合データオブジェクトを処理することと、
前記1つ以上のプロセッサによって、少なくとも部分的に前記1つ以上の統合特徴に基づいて、前記統合データオブジェクトに対応するアプリケーションプログラミングインタフェース(API)モデルをプログラムによって生成することと、
前記1つ以上のプロセッサによって、実行のために前記APIモデルに対応するAPI生成データオブジェクトを生成することと、
を含む、コンピュータによって実行される方法。
【請求項2】
前記API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される、請求項1に記載のコンピュータによって実行される方法。
【請求項3】
前記APIモデルをプログラムによって生成した後に、前記APIモデルを更新および/または改良するための統合情報の要求を定期的に送信することをさらに含む、請求項1に記載のコンピュータによって実行される方法。
【請求項4】
前記統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練される訓練済の教師あり機械学習モデルを含む、請求項1に記載のコンピュータによって実行される方法。
【請求項5】
前記1つ以上の統合特徴は、データ構造、予測APIタイプ、国、および言語のうちの1つ以上を含む、請求項1に記載のコンピュータによって実行される方法。
【請求項6】
前記1つ以上のプロセッサによる前記統合データオブジェクトの処理は、前記統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む、請求項1に記載のコンピュータによって実行される方法。
【請求項7】
前記1つ以上のAPIベースのデータオブジェクトは、支払い処理サービスに関連付けられている、請求項2に記載のコンピュータによって実行される方法。
【請求項8】
プロセッサと、
プログラムコードを記憶するメモリと、を備え、前記メモリおよび前記プログラムコードは、前記プロセッサにより、少なくとも、
統合データオブジェクトの受信に応答して、
前記統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、統合機械学習モデルに少なくとも部分的に基づいて、前記統合データオブジェクトを処理し、
前記1つ以上の統合特徴に少なくとも部分的に基づいて、前記統合データオブジェクトに対応するAPIモデルをプログラムによって生成し、
前記1つ以上のプロセッサによって、実行のための前記APIモデルに対応するAPI生成データオブジェクトを生成するように構成される、装置。
【請求項9】
前記API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される、請求項8に記載の装置。
【請求項10】
前記メモリおよび前記プログラムコードは、前記プロセッサにより、少なくとも、
前記APIモデルをプログラムによって生成した後、前記APIモデルを更新および/または改良するための統合情報の要求を定期的に送信するようにさらに構成される、請求項8に記載の装置。
【請求項11】
前記統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練された、訓練済の教師あり機械学習モデルを含む、請求項8に記載の装置。
【請求項12】
前記1つ以上の統合特徴は、データ構造、予測されたAPIタイプ、国、および言語のうちの1つ以上を含む、請求項8に記載の装置。
【請求項13】
前記統合データオブジェクトを処理することは、前記統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む、請求項8に記載の装置。
【請求項14】
前記1つ以上のAPIベースのデータオブジェクトは、支払い処理サービスに関連付けられる、請求項9に記載の装置。
【請求項15】
プログラム命令を格納する非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品であって、前記プログラム命令は、少なくとも、
統合データオブジェクトの受信に応答して、
前記統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、 少なくとも部分的に統合機械学習モデルに基づいて、前記統合データオブジェクトを処理させ、
前記統合データオブジェクトに対応するAPIモデルを、少なくとも部分的に前記統合特徴に基づいて、プログラムによって生成させ、
実行のために前記APIモデルに対応するAPI生成データオブジェクトを生成させる、ように動作可能である、コンピュータプログラム製品。
【請求項16】
前記API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される、請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記プログラム命令は、少なくとも、
前記APIモデルをプログラムによって生成した後に、前記APIモデルを更新および/または改良するための統合情報の要求を定期的に送信させる
ようにさらに動作可能である、請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練される訓練済の教師あり機械学習モデルを含む、請求項15に記載のコンピュータプログラム製品。
【請求項19】
前記1つ以上の統合特徴は、データ構造、予測APIタイプ、国、および言語のうち1つ以上を含む、請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記統合データオブジェクトの処理は、前記統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む、請求項15に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
例示的な実施形態は概ね、特にアプリケーションプログラミングインタフェース(API)の開発、統合、および実装のコンテキストにおいて、電子通信技術に関する。
【背景技術】
【0002】
様々なアプリケーションにおいて、APIは、異なるエンティティに関連付けられたソフトウェア製品とソフトウェアサービスとの間の通信およびデータ交換を容易にすることができる。例示的なAPIは、アプリケーションとサーバとの間の中間層として実装することができ、サーバは、それらの間でデータを処理および転送する。例えば、APIを利用して、プロバイダは、サードパーティのシステム(例えば、支払い処理サービス)によって提供され得るサービスおよび製品の提供を容易にするために、外部のサードパーティのシステムにデータを提供することができる。さらに、いくつかの実施形態において、APIは、(例えば、暗号化層等を提供することにより)強化されたデータセキュリティを提供するように動作することができる。
【0003】
様々な例において、APIソリューションの実装は、2つ以上のシステムおよび/またはソフトウェアプラットフォームが互いにデータ/情報を共有できるように、2つ以上のシステムおよび/またはソフトウェアプラットフォームの間の統合を必要とする。例として、アプリケーション(クライアントアプリケーションなど)は、情報を取得するためにAPI呼び出しまたはAPIへの要求を開始することができる。API呼び出しまたは要求の受信および検証に応答して、APIは、次に、外部サーバまたはプログラムを呼び出し、外部サーバまたはプログラムから要求された情報を取得することができる。その後、APIは、要求元アプリケーション(クライアントアプリケーションなど)にデータを転送することができる。
【0004】
APIを統合するための従来のシステム、方法および装置は、典型的には、1人または複数のソフトウェア開発者によるコンピュータコードの記述およびコンパイルの反復プロセスを介したAPIのマニュアル開発を必要とする。サードパーティサービスを提供するためにAPI/APIソリューションを実装しようとするプロバイダは、ターゲット機能、データ構造(例えば、データタイプ/定義を定義するデータディクショナリ)、プロバイダデータベースに関連するデータ構造属性などを記述した仕様を提供することがある。場合によっては、仕様が利用できなかったり、古くなったりして、開発プロセスをさらに長引かせることがある。例えば、仕様が利用できない場合、ソフトウェア開発者は、データ構造および/またはターゲット機能を生成するために、プロバイダのシステム/プラットフォームの側面を分析および/またはマッピングすることがある。
【0005】
別の例では、ソフトウェア開発者は、APIを開発するために、事前に構築されたAPIテンプレートを利用することがある。しかし、そのようなテンプレートは、一般に、適切に機能するために、追加のカスタマイズおよびテストを必要とする。多くの例では、ソフトウェア開発者は、統合プロセス全体にわたってテストAPIを繰り返し展開する必要があり、追加のリソースおよび時間を必要とする。したがって、既知の開発方法は、事前に構築されたAPIテンプレートを使用しても、システムの安定性および展開されたAPIの機能性を確保するために、大量のコンピューティングリソースおよび熟練した労働力を必要とする非効率的で時間がかかる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本明細書に開示された本発明の発明者は、これらおよび他の技術的課題を特定し、本明細書に記載する、または本明細書に開示した解決策を開発した。
【0007】
したがって、例えば人工知能/機械学習技術などを使用してAPIをプログラム的に生成および統合するための方法、装置、システムおよびコンピュータプログラム製品が、例示的な実施形態に従って提供される。
【課題を解決するための手段】
【0008】
第1の実施形態によれば、方法が提供される。方法は、1つ以上のプロセッサによって統合データオブジェクトを受信することに応答して、1つ以上のプロセッサによって、少なくとも部分的に統合機械学習モデルに基づいて、統合データオブジェクトを処理して、統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別することと、1つ以上のプロセッサによって、少なくとも部分的に1つ以上の統合特徴に基づいて、統合データオブジェクトに対応するアプリケーションプログラミングインタフェース(API)モデルをプログラム的に生成することと、1つ以上のプロセッサによって、実行のためのAPIモデルに対応するAPI生成データオブジェクトを生成することと、を含むことができる。
【0009】
いくつかの実施形態では、API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される。
【0010】
いくつかの実施形態では、方法は、APIモデルをプログラム的に生成した後に、APIモデルを更新および/または改良するための統合情報の要求を定期的に送信することをさらに含むことができる。
【0011】
いくつかの実施形態では、統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練される、訓練済教師あり機械学習モデルを含む。
【0012】
いくつかの実施形態では、1つ以上の統合特徴は、データ構造、予測されたAPIタイプ、国および言語のうちの1つ以上を含む。
【0013】
いくつかの実施形態では、1つ以上のプロセッサによる統合データオブジェクトの処理は、統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む。
【0014】
いくつかの実施形態では、1つ以上のAPIベースのデータオブジェクトは、支払い処理サービスに関連して提供される。
【0015】
第2の実施形態によれば、装置が提供される。装置は、プロセッサと、プログラムコードを格納するメモリとを備えることができ、メモリおよびプログラムコードは、プロセッサを用いて、少なくとも、統合データオブジェクトの受信に応答して、少なくとも部分的に統合機械学習モデルに基づいて、統合データオブジェクトを処理し、統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別し、1つ以上の統合特徴に少なくとも部分的に基づいて、統合データオブジェクトに対応するAPIモデルをプログラムによって生成し、1つ以上のプロセッサによって、実行のためのAPIモデルに対応するAPI生成データオブジェクトを生成するように構成される。
【0016】
いくつかの実施形態では、API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される。
【0017】
いくつかの実施形態では、メモリおよびプログラムコードは、プロセッサを用いて、少なくとも、APIモデルをプログラムによって生成した後、APIモデルを更新および/または改良するための統合情報の要求を定期的に送信するようにさらに構成される。
【0018】
いくつかの実施形態では、統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練された、訓練済の教師あり機械学習モデルを含む。
【0019】
いくつかの実施形態では、1つ以上の統合特徴は、データ構造、予測されたAPIタイプ、国および言語のうちの1つ以上を含む。
【0020】
いくつかの実施形態では、統合データオブジェクトを処理することは、統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む。
【0021】
いくつかの実施形態では、1つ以上のAPIベースのデータオブジェクトは、支払い処理サービスに関連付けられる。
【0022】
第3の実施形態によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、プログラム命令を格納する非一時的なコンピュータ可読媒体を含むことができ、プログラム命令は、少なくとも、統合データオブジェクトの受信に応答して、少なくとも部分的に統合機械学習モデルに基づいて、統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、統合データオブジェクトを処理させ、少なくとも部分的に1つ以上の統合特徴に基づいて、統合データオブジェクトに対応するAPIモデルをプログラムによって生成させ、実行のためにAPIモデルに対応するAPI生成データオブジェクトを生成させるように動作可能である。
【0023】
いくつかの実施形態では、API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される。
【0024】
いくつかの実施形態では、プログラム命令は、プログラムによってAPIモデルを生成させた後に、APIモデルを更新および/または改良するための統合情報の要求を定期的に送信させるように、さらに動作可能である。
【0025】
いくつかの実施形態では、統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練された、訓練済の教師あり機械学習モデルを含む。
【0026】
いくつかの実施形態では、1つ以上の統合特徴は、データ構造、予測されたAPIタイプ、国および言語のうちの1つ以上を含む。
【0027】
いくつかの実施形態では、統合データオブジェクトの処理は、統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む。
【図面の簡単な説明】
【0028】
図1】本発明の1つ以上の態様を実行するための統合コンピューティングエンティティを示す装置図である。
図2】本発明の1つ以上の態様を実行するためのシステムを示す図である。
図3A】本発明の1つ以上の態様を実行するための方法を示す図である。
図3B】本発明の1つ以上の態様を実行するための方法を示す図である。
図4】本発明の1つ以上の態様によるデータ構造を示す概略図である。
図5】本発明の1つ以上の態様によるクライアントデバイス、統合コンピューティングエンティティ、プロバイダシステム、およびサードパーティプロバイダシステム間の通信を示す信号図である。
【発明を実施するための形態】
【0029】
本開示のいくつかの実施形態について、添付の図面を参照して以下により詳細に説明する。図面には、本開示のすべてではないがいくつかの実施形態が示されている。実際、本開示の様々な実施形態は、多くの異なる形式で具現化することができ、本明細書に記載された実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が適用可能な法的要件を満たすように提供される。同様の参照番号は、全体を通して同様の要素を指す。本明細書で使用される用語「データ」、「コンテンツ」、「情報」、および類似の用語は、本開示の実施形態に従って送信、受信、および/または格納することができるデータを指すために互換的に使用することができる。したがって、このような用語の使用は、本開示の実施形態の趣旨および範囲を制限するものと解釈されるべきではない。
【0030】
さらに、本明細書で使用される用語「回路」は、(a)ハードウェアのみの回路の実装形態(例えば、アナログ回路および/またはデジタル回路における実装形態)、(b)協働して装置に本明細書に記載される1つ以上の機能を実行させる、1つ以上のコンピュータ可読メモリに格納されたソフトウェアおよび/またはファームウェア命令を含む回路およびコンピュータプログラム製品の組み合わせ、(c)ソフトウェアまたはファームウェアが物理的に存在しなくても、動作のためにソフトウェアまたはファームウェアを必要とする、例えばマイクロプロセッサ(単数及び複数)またはマイクロプロセッサ(単数及び複数)の一部などの回路を指す。この「回路」の定義は、特許請求の範囲を含む、本明細書におけるこの用語のすべての使用に適用される。別の例として、本明細書で使用されるとき、「回路」という用語は、1つ以上のプロセッサおよび/またはその一部、および付随するソフトウェアおよび/またはファームウェアを含む実装形態も含む。別の例として、本明細書で使用される「回路」という用語は、例えば、携帯電話またはサーバ内の同様の集積回路のためのベースバンド集積回路またはアプリケーションプロセッサ集積回路、セルラーネットワーク装置、他のネットワーク装置(コアネットワーク装置など)、フィールドプログラマブルゲートアレイ、および/または他のコンピューティングデバイスも含む。
【0031】
本明細書で定義するように、物理的記憶媒体(例えば、揮発性または不揮発性メモリデバイス)を指す「コンピュータ可読記憶媒体」は、電磁信号を指す「コンピュータ可読伝送媒体」と区別することができる。
【0032】
本明細書で使用されるとき、「統合」という用語は、1つ以上の機能を備えたサービスを提供するために、プロバイダシステム/プラットフォームがサードパーティアプリケーションまたはサービスアプリケーションと通信し、かつ/またはデータを交換できるように、アプリケーションをプロバイダシステム/プラットフォームにインストールして構成するプロセスを指すことができる。
【0033】
本明細書で使用されるとき、「統合データオブジェクト」という用語は、1つ以上のデータ分析および/または統合動作が実行される1つ以上の統合特徴(例えば、プロバイダおよび/またはプロバイダプラットフォームに関連するもの)を記述するデータオブジェクトを指すことができる。例えば、APIを介してプロバイダプラットフォームをサービスプロバイダプラットフォーム(例えば、サードパーティ製プラットフォーム)と統合し、サービスプロバイダプラットフォームによって提供される1つ以上のサービスへのアクセスを容易にするために、統合データオブジェクトを処理してAPIを生成することができる。いくつかの例では、統合データオブジェクトは、セキュリティ層、システムプロトコル、プロバイダ要件および/またはターゲット機能を記述する仕様であるか、またはこれを含むことができる。いくつかの例では、統合データオブジェクトは、プロバイダプラットフォームとサービスプロバイダプラットフォームとの間の統合を達成するために通信リンクが構築されなければならないネットワークエンドポイントまたはリソースを記述することができる。他の例では、統合データオブジェクトは、非構造化データ(例えば、文書)であるか、またはこれを含むことができる。例として、プロバイダが公益事業会社である場合、統合データオブジェクトは、1つまたは複数の取引明細書、インボイス、請求書および/またはこれに類するものを含むことができる。
【0034】
本明細書で定義されるように、「統合機械学習モデル」という用語は、APIモデルを生成するために統合データオブジェクトを処理するように構成された機械学習モデルの動作および/またはパラメータを記述するデータオブジェクトを指すことができる。統合機械学習モデルは、複数の機械学習モデルおよび/または機械学習モデルコンポーネントを含むことができる。例えば、統合機械学習モデルは、訓練済の教師あり機械学習モデル、類似性判定機械学習モデル、畳み込みニューラルネットワークモデル、言語ベースモデルなどのうちの1つまたは複数を含むことができる。統合機械学習モデルは、複数の履歴統合データオブジェクトを利用して訓練することができる。例えば、複数の履歴統合データオブジェクトは、複数のドキュメントおよび/または他の非構造化データであるか、またはこれらを含むことができ、各履歴統合データオブジェクトは、特定のプロバイダシステム/プラットフォームタイプおよび/または複数の統合特徴に関連付けられる。例えば、統合特徴は、APIモデルタイプまたはサービスタイプ、国、話し言葉または書き言葉などを含むことができる。
【0035】
本明細書で定義されるように、用語「APIモデル」は、1つ以上のサービスの提供を容易にするように構成されたAPIの動作/パラメータを記述するデータオブジェクトを指すことができ、サードパーティアプリケーションまたはサードパーティサービスを統合するために必要なデータ/情報(例えば、コンピュータ実行可能コード)を含むことができる。例えば、APIモデルは、特定の機能セットに関連付けることができる。例えば、支払サービスは、支払ポータルと銀行との間の情報転送を容易にする支払ゲートウェイに関連付けることができる。別の例では、ユーザ登録サービスは、サードパーティ認証システムを介した認証またはプロバイダプラットフォームへのサインインを容易にすることができる。別の例では、翻訳サービスは、第1言語からターゲット言語へのテキスト情報の変換を容易にすることができる。他のタイプのAPIモデルには、マッピングサービス、文書管理サービス、検索サービスなどが含まれるが、これらに限定されない。様々な実施形態では、特定のAPIモデルを、書き言葉/話し言葉(例えば、英語、フランス語、デンマーク語)、国、コンピュータ言語/ソフトウェア言語(たとえば、Java、JavaScript、Python、PHPなどです。NET、Dart、Objective-C、Ruby、Go、Node.jsなど)に関連付けることができる。さらに、例示的なAPIモデルを、1つ以上のデータタイプおよび各データタイプに関して実行可能な1つ以上のデータ操作を定義するデータ構造に関連付けることができる。例示的なデータ構造は、データを整理、格納、検索および処理するための方法をさらに定義することができる。
【0036】
本明細書で使用されるとき、用語「サービスプロバイダアプリケーション」または「サードパーティアプリケーション」は、通信インタフェースを介して別のシステム/プラットフォーム(例えば、プロバイダのシステム/プラットフォーム)と連携して1つ以上のクライアントデバイスにサービスを提供するように構成されたソフトウェアプログラム、プラットフォーム、またはサービスを指すことができる。サービスプロバイダアプリケーションは、プロバイダシステム/プラットフォームをサポートするものとは別個のコンパイルされたコードベースまたはリポジトリ上で動作することができる。いくつかの実施形態では、サービスプロバイダアプリケーションは、APIを利用してプロバイダシステム/プラットフォームと通信することができる。例えば、サービスプロバイダアプリケーションは、サードパーティアプリケーションプロバイダによって提供され、サードパーティアプリケーションプロバイダによって格納および保守されるサービスとしてのソフトウェア(「Software as a Service;SaaS」)製品またはアプリケーション(「アプリ」)製品とすることができる。
【0037】
本明細書で使用されるとき、用語「サードパーティアプリケーションプロバイダ」は、サードパーティの個人/エンティティ、会社、または組織によって保守されるサーバまたは処理装置などのリモートネットワークデバイスを介してサービスプロバイダアプリケーションのプロバイダを指すことができる。プロバイダシステムに関連付けられたクライアントデバイスは、サードパーティアプリケーションプロバイダによって提供されるサービスプロバイダアプリケーションにアクセスして、機能、フロー、またはアクションを実行することができる。いくつかの実施形態では、関数、フロー、またはアクションは、グループベースの通信システム内で、例えば、プロバイダシステム(例えば、支払いの処理やユーザのアカウント・プロファイルの更新)内でデータを操作することによって、またはインタフェースでレンダリングするためにプロバイダシステムにコンテンツを提供するなどの他のアクションを実行することによって、効果(例えば、出力、変更、データ修正など)を生成する。他の実施形態では、関数、フロー、またはアクションは、サードパーティアプリケーションプロバイダ内で効果を生成するために、サードパーティアプリケーションプロバイダ内で効果を生成する。さらに他の実施形態では、関数、フロー、またはアクションは、プロバイダシステム、サードパーティアプリケーションプロバイダ、および他のサーバまたはシステムの様々な組み合わせ内で効果を生成する。
【0038】
本明細書で使用されるとき、用語「API生成データオブジェクト」は、APIを生成するための、および/または、限定されないが、例えば、プロバイダシステム(例えば、ユーティリティ)とサードパーティプロバイダシステム(例えば、サービスプロバイダ)との間で統合動作を実行するための、コンピュータ実行可能命令を含むデータオブジェクトを指すことができる。
【0039】
本明細書で使用されるとき、用語「APIベースのデータオブジェクト」は、プロバイダシステム/プラットフォームのアイテムまたはリソースを表すデータおよび/または命令のセットを指すことができる。いくつかの実施形態では、サービスアプリケーションは、1つまたは複数のAPIベースのデータオブジェクトに対してアクションを実行させることができる。各APIベースのデータオブジェクトは、プロバイダシステム内の特定のAPIベースのデータオブジェクトを一意に識別するオブジェクト識別子、および、APIベースのデータオブジェクトが属するオブジェクトのカテゴリを記述するオブジェクトタイプに関連付けることができる。いくつかの実施形態では、ユーザは、APIベースのデータオブジェクトを作成または変更するユーザインタフェースを介してアクションを実行することができる。APIベースのデータオブジェクトの例には、プロバイダシステム内で作成および保守されるファイル、ユーザアカウント情報などが含まれる。
【0040】
「クライアントデバイス」という用語は、サーバによって利用可能になされたサービスにアクセスするように構成されたコンピュータハードウェアおよび/またはソフトウェアを指すことができる。いくつかの例では、サーバは、サービスを提供する別のコンピュータシステム/プラットフォーム(サードパーティのアプリケーションプロバイダ/プラットフォームなど)に関連付けられてもよい。このような例では、クライアントデバイスは、ネットワークを介してサービスにアクセスしてもよい。クライアントデバイスには、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェアラブル、パーソナルコンピュータ、エンタープライズコンピュータなどが含まれるが、これらに限定されない。
【0041】
用語「ユーザ」は、個人、個人のグループ、企業、組織などを指すことができる。様々な例では、ユーザは、クライアントデバイスを利用してサービスまたはシステムにアクセスしてもよい。ユーザは、さらに、一意の番号(例えば、整数または文字列)などのユーザ識別子に関連付けられてもよい。
【0042】
用語「データベース」、「データストア」または「データリポジトリ」は、システムによってデータが格納され、アクセスされ、変更され、その他の方法で保守される場所を指すことができる。格納されたデータは、特定のプロバイダプラットフォームに関連付けられたユーザ情報、アカウント情報および/または類似のものを含んでもよい。例示的なデータベース、データストアまたはリポジトリは、1つまたは複数のデータ記憶装置、1つまたは複数の別個のデータベースサーバ、またはデータ記憶装置と別個のデータベースサーバの組み合わせとして具体化されてもよい。いくつかの実施形態では、データベース、データストアまたはリポジトリは、格納されたデータの一部がある場所に集中的に格納され、他のデータが単一の遠隔地または複数の遠隔地に格納されるように、分散データベース/リポジトリとして具体化されてもよい。あるいは、一部の実施形態では、データは、複数の遠隔記憶場所のみに分散されてもよい。
【0043】
本明細書に記載される実施形態は、一般に、機械学習技術および/または人工知能などを用いてAPIをプログラム的に生成および統合するためのシステム、方法、装置、およびコンピュータプログラム製品に関する。
【0044】
本発明の実施形態は、製造物品を含むコンピュータプログラム製品を含む、様々な方法で実施されてもよい。そのようなコンピュータプログラム製品は、例えば、ソフトウェアオブジェクト、方法、データ構造などを含む1つ以上のソフトウェアコンポーネントを含んでもよい。ソフトウェアコンポーネントは、様々なプログラミング言語のいずれかでコード化されてもよい。例示的なプログラミング言語は、特定のハードウェアフレームワークおよび/またはオペレーティングシステムプラットフォームに関連付けられたアセンブリ言語などの低水準プログラミング言語であってもよい。アセンブリ言語命令を含むソフトウェアコンポーネントは、ハードウェアフレームワークおよび/またはプラットフォームによる実行の前に、アセンブラによる実行可能マシンコードへの変換を必要としてもよい。別の例示的なプログラミング言語は、複数のフレームワークにわたって移植可能な高水準プログラミング言語であってもよい。高水準プログラミング言語命令を含むソフトウェアコンポーネントは、実行の前に、インタープリタまたはコンパイラによる中間表現への変換を必要としてもよい。
【0045】
プログラミング言語の他の例には、マクロ言語、シェルまたはコマンド言語、ジョブ制御言語、スクリプト言語、データベースクエリまたは検索言語、および/またはレポート作成言語が含まれるが、これらに限定されない。1つ以上の例示的な実施形態では、プログラミング言語の前述の例の1つの命令を含むソフトウェアコンポーネントは、まず別の形式に変換されることなく、オペレーティングシステムまたは他のソフトウェアコンポーネントによって直接実行されてもよい。ソフトウェアコンポーネントは、ファイルまたは他のデータ記憶構成体として記憶されてもよい。同様のタイプまたは機能的に関連するソフトウェアコンポーネントは、例えば、特定のディレクトリ、フォルダ、またはライブラリなどに一緒に記憶されてもよい。ソフトウェアコンポーネントは、静的(例えば、事前に設定された又は固定された)または動的(例えば、実行時に作成または変更される)であってもよい。
【0046】
コンピュータプログラム製品は、アプリケーション、プログラム、プログラムモジュール、スクリプト、ソースコード、プログラムコード、オブジェクトコード、バイトコード、コンパイルされたコード、解釈されたコード、マシンコード、実行可能命令など(本明細書では、実行可能命令、実行命令、コンピュータプログラム製品、プログラムコード、および/または本明細書で互換的に使用される同様の用語とも呼ばれる)を記憶する非一時的コンピュータ可読記憶媒体を含むことができる。このような非一時的コンピュータ可読記憶媒体は、(揮発性および不揮発性媒体を含む)すべてのコンピュータ読み取り可能媒体を含む。
【0047】
一実施形態では、不揮発性コンピュータ読み取り可能記憶媒体は、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートストレージ(SSS)(例えば、ソリッドステートドライブ(SSD)、ソリッドステートカード(SSC)、ソリッドステートモジュール(SSM)、エンタープライズフラッシュドライブ、磁気テープ、または任意の他の非一時的磁気媒体などを含むことができる。また、不揮発性コンピュータ読み取り可能記憶媒体は、パンチカード、紙テープ、光学マークシート(または穴のパターンまたは他の光学的に認識可能な印を有する任意の他の物理媒体)、コンパクトディスク読み取り専用メモリ(CD-ROM)、コンパクトディスク再書き込み可能(CD-RW)、DVD(digital versatile disc)、ブルーレイディスク(BD)、任意の他の非一時的光学媒体などを含むことができる。このような不揮発性コンピュータ読み取り可能記憶媒体は、読み取り専用メモリ(ROM)、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的に消去可能プログラム可能読み取り専用メモリ(EEPROM)、フラッシュメモリ(例えば、シリアル、NAND、NORおよび/または同様のもの)、マルチメディアメモリカード(MMC)、セキュアデジタル(SD)メモリカード、スマートメディアカード、コンパクトフラッシュ(登録商標)(CF)カード、メモリスティックなどを含むことができる。さらに、不揮発性コンピュータ可読記憶媒体は、導電性ブリッジングランダムアクセスメモリ(CBRAM)、相変化ランダムアクセスメモリ(PRAM)、強誘電体ランダムアクセスメモリ(FeRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、抵抗性ランダムアクセスメモリ(RRAM)、シリコン酸化物-窒化物-酸化物-シリコンメモリ(SONOS)、フローティングジャンクションゲートランダムアクセスメモリ(FJG RAM)、ミリピードメモリ、レーストラックメモリ、および/または同様のものを含むこともできる。
【0048】
一実施形態では、揮発性コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、高速ページモードダイナミックランダムアクセスメモリ(fast page mode dynamic random access memory;FPM DRAM)、拡張データアウトダイナミックランダムアクセスメモリ(extended data-out dynamic random access memory;EDO DRAM)、同期ダイナミックランダムアクセスメモリ(synchronous dynamic random access memory;SDRAM)、ダブルデータレート同期ダイナミックランダムアクセスメモリ(double data rate synchronous dynamic random access memory;DDR SDRAM)、ダブルデータレート型2同期ダイナミックランダムアクセスメモリ(double data rate type two synchronous dynamic random access memory;DDR2 SDRAM)、ダブルデータレート型3同期ダイナミックランダムアクセスメモリ(double data rate type three synchronous dynamic random access memory;DDR3 SDRAM)、Rambusダイナミックランダムアクセスメモリ(RDRAM)、ツイントランジスタRAM(TTRAM)、サイリスタRAM(T-RAM)、ゼロコンデンサ(Z-RAM)、Rambusインラインメモリモジュール(RIMM)、デュアルインラインメモリモジュール(DIMM)、シングルインラインメモリモジュール(SIMM)、ビデオランダムアクセスメモリ(VRAM)、キャッシュメモリ(様々なレベルを含む)、フラッシュメモリ、レジスタメモリ、および/または同様のものを含み得る。実施形態がコンピュータ読み取り可能な記憶媒体を使用するように説明されている場合、他のタイプのコンピュータ読み取り可能な記憶媒体が、上述のコンピュータ読み取り可能な記憶媒体の代わりに、またはそれに加えて使用されてもよいことが理解されよう。
【0049】
理解されるように、本発明の様々な実施形態は、方法、装置、システム、コンピューティングデバイス、コンピューティングエンティティ、および/または同様のものとして実施されてもよい。このように、本発明の実施形態は、コンピュータ読み取り可能な記憶媒体に格納された命令を実行する装置、システム、コンピューティングデバイス、コンピューティングエンティティ、および/または同様のものの形態をとって、特定のステップまたは動作を実行することができる。したがって、本発明の実施形態は、完全なハードウェアの実施形態、完全なコンピュータプログラム製品の実施形態、および/またはコンピュータプログラム製品と、特定のステップまたは動作を実行するハードウェアとの組み合わせを含む実施形態の形態をとってもよい。
【0050】
本発明の実施形態は、ブロック図およびフローチャート図を参照して以下に説明される。したがって、ブロック図およびフローチャート図の各ブロックは、コンピュータプログラム製品、完全なハードウェアの実施形態、ハードウェアとコンピュータプログラム製品との組み合わせ、および/または、装置、システム、コンピューティングデバイス、コンピューティングエンティティ、実行のためにコンピュータ読み取り可能な記憶媒体上で互換的に使用される同様の言葉(例えば、実行可能命令、実行命令、プログラムコード等)の形態で実装されてもよいことを理解されたい。例えば、コードの検索、ロード、および実行は、1つの命令が一度に検索され、ロードされ、かつ/または実行されるように、順次実行されてもよい。いくつかの例示的な実施形態では、複数の命令が一緒に検索され、ロードされ、かつ/または実行されるように、検索、ロード、および/または実行が並列に実行されてもよい。したがって、そのような実施形態は、ブロック図およびフローチャート図に指定されたステップまたは動作を実行する、特別に構成されたマシンを生成することができる。したがって、ブロック図およびフローチャート図は、指定された命令、操作、またはステップを実行するための実施形態の様々な組み合わせをサポートする。
【0051】
ここで図1を参照すると、APIの生成および/または統合につながる操作を実行するための統合コンピューティングエンティティ100が示されている。APIは、APIおよび/または別のネットワークエンティティを介したユーザセッションを容易にするために利用することができる。いくつかの実施形態では、統合コンピューティングエンティティ100は、プロバイダシステム/プラットフォームおよび/またはそれに関連するデータベースにアクセスすることができる。統合コンピューティングエンティティ100は、少なくともプロセッサ104と、不揮発性メモリ106および揮発性メモリ108の一方または両方とを含むコンピューティングデバイス102を備えることができる。いくつかの実施形態では、コンピューティングデバイス102は、プロセッサ104が不揮発性メモリ106および揮発性メモリ108の一方または両方に動作可能に結合されるか、そうでなければ通信することができるように構成することができる。いくつかの実施形態では、コンピューティングデバイス102は、ラップトップコンピュータ、デスクトップコンピュータ、クラウドコンピューティングデバイス、サーバ、ネットワーク、ハンドヘルドコンピュータ、モバイルコンピューティングデバイス、携帯電話、パーソナルデジタルアシスタント、タブレットコンピュータ、それらの任意の組み合わせなどを備えることができる。
【0052】
いくつかの実施形態では、プロセッサ104は、不揮発性メモリ106または揮発性メモリ108などのメモリ上で動作を実行するように構成された任意の電子回路を備えることができる。いくつかの実施形態では、プロセッサ104は、中央処理装置、グラフィックス処理装置、ビジョン処理装置、テンソル処理装置、ニューラル処理装置、デジタル信号プロセッサ、画像信号プロセッサ、相乗処理素子(synergistic processing element, SPE)、フィールドプログラマブルゲートアレイ、サウンドチップなどを備えることができる。いくつかの実施形態では、プロセッサ104は、算術論理ユニット(図示せず)、制御ユニット(図示せず)、速度クロック(図示せず)などを備えることができる。いくつかの実施形態では、プロセッサ104は、1つ以上の処理チップ、マイクロコントローラ、集積チップ、ソケット、システムオンチップ(SoC)、アレイプロセッサ、ベクトルプロセッサ、周辺処理コンポーネントなどを備えることができる。
【0053】
いくつかの実施形態では、不揮発性メモリ106は、読み出し専用メモリ(ROM)、フラッシュメモリ、ハードディスク、フロッピーディスク、磁気テープ、光ディスク、FeRAM、CBRAM、PRAM、SONOS、RRAM、Racetrackメモリ、NRAM、Millipede、それらの組み合わせ等のような、電力が供給されていない場合でも記憶された情報を保持することができる任意のコンピュータメモリまたはメモリデバイスを含むことができる。
【0054】
いくつかの実施形態では、揮発性メモリ108は、静的ランダムアクセスメモリ(RAM)、ダイナミックRAM、Z-RAM、TTRAM、A-RAM、ETA RAM、それらの組み合わせ等のような、記憶された情報を維持するために電力を必要とする任意のコンピュータメモリまたはメモリデバイスを含むことができる。
【0055】
いくつかの実施形態では、プロセッサ104またはコンピューティングデバイス102の別のそのようなコンポーネントは、コンピュータプログラム命令110に基づくプロセスまたは方法を実行するように構成することができる。いくつかの実施形態では、コンピュータプログラム命令110は、不揮発性メモリ106および揮発性メモリ108の一方に記憶することができる。いくつかの実施形態では、コンピュータプログラム命令110は、本明細書に開示された方法、アプローチ、プロセス等のいずれかをプロセッサ104に実行させるように動作することができる。いくつかの実施形態では、コンピュータプログラム命令110は、コンピュータ読み取り可能な命令、コンピュータコード、コード化されたアプリケーション等を含むことができる。
【0056】
統合コンピューティングエンティティ100、プロセッサ104(および/またはコプロセッサ、またはプロセッサ104を支援するかまたは他の方法で関連する他の任意の回路)は、統合コンピューティングエンティティ100のコンポーネント間で情報を渡すために、バスを介してメモリ106または108と通信することができる。メモリデバイスは、例えば、1つ以上の揮発性および/または不揮発性メモリを含むことができる。換言すれば、例えば、メモリデバイスは、機械(例えば、プロセッサ104のようなコンピューティングデバイス)によって取得可能なデータ(例えばビット)を格納するように構成されたゲートを含む電子記憶デバイス(例えば、コンピュータ可読記憶媒体)であってもよい。メモリデバイスは、情報、データ、コンテンツ、アプリケーション、命令などを格納して、装置が本開示の例示的な実施形態に従って様々な機能を実行できるようにするように構成されてもよい。例えば、メモリデバイスは、プロセッサ104による処理のために入力データをバッファするように構成することができる。追加的に、または代替的に、メモリデバイスは、プロセッサ104によって実行され、ユーザインタフェースに表示されるメッセージを格納するなど、プロセッサ104による実行のための命令を格納するように構成することができる。
【0057】
統合コンピューティングエンティティ100は、いくつかの実施形態では、上述のように様々なコンピューティングデバイスに具体化することができる。しかし、いくつかの実施形態では、装置は、チップまたはチップセットとして具体化することができる。言い換えると、装置は、構造アセンブリ(例えば幅木)上の材料、コンポーネント、および/またはワイヤを含む1つ以上の物理的パッケージ(例えば、チップ)を含むことができる。構造アセンブリは、その上に含まれるコンポーネント回路に対して、物理的強度、サイズの保存、および/または電気的相互作用の制限を提供することができる。したがって、場合によっては、装置は、単一のチップ上で、または単一の「SOC(system on a chip)」として、本開示の実施形態を実装するように構成することができる。このように、場合によっては、チップまたはチップセットは、本明細書に記載される機能を提供するための1つ以上の動作を実行する手段を構成することができる。
【0058】
プロセッサ104は、多くの異なる方法で具体化することができる。例えば、プロセッサ104は、コプロセッサ、マイクロプロセッサ、コントローラ、デジタル信号プロセッサ(DSP)、付随するDSP付きもしくはDSPなしの処理要素、または例えばASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、マイクロコントローラユニット(MCU)、ハードウェアアクセラレータ、特殊用途コンピュータチップなどの集積回路を含む様々な他の回路など、様々なハードウェア処理手段の一つまたは複数として具体化することができる。このように、いくつかの実施形態では、プロセッサ104は、独立して実行するように構成された1つ以上の処理コアを含むことができる。マルチコアプロセッサ104は、単一の物理パッケージ内でのマルチプロセッシングを可能にすることができる。追加的または代替的に、プロセッサ104は、命令の独立した実行、パイプライン処理および/またはマルチスレッド処理を可能にするために、バスを介してタンデムに構成された1つ以上のプロセッサ104を含むことができる。
【0059】
例示的な実施形態では、プロセッサ104は、メモリ106または108に格納された命令を実行するか、そうでなければプロセッサ104にアクセス可能な命令を実行するように構成することができる。代替的にまたは追加的に、プロセッサ104は、ハードコードされた機能を実行するように構成することができる。このように、ハードウェアもしくはソフトウェアの方法によって、またはそれらの組み合わせによって構成されるかにかかわらず、プロセッサ104は、本開示の実施形態による動作を実行することができる(例えば、回路に物理的に具現化された)エンティティを、それに応じて構成されている限り、表すことができる。したがって、例えば、プロセッサ104がASIC、FPGAなどとして具現化される場合、プロセッサ104は、本明細書に記載された動作を実行するために特別に構成されたハードウェアであってもよい。あるいは、別の例として、プロセッサ104が命令の実行プログラムとして具現化される場合、その命令は、本明細書に記載されたアルゴリズムおよび/または動作を実行するようにプロセッサ104を特別に構成してもよい。しかし、場合によっては、プロセッサ104は、本明細書に記載されたアルゴリズムおよび/または動作を実行するための命令によってプロセッサ104をさらに構成することによって、本開示の実施形態を採用するように構成された特定のデバイス(例えば、エンコーダおよび/またはデコーダ)のプロセッサ104であってもよい。プロセッサ104は、とりわけ、クロック、算術論理ユニット(ALU)、およびプロセッサ104の動作をサポートするように構成された論理ゲートを含んでもよい。
【0060】
いくつかの実施形態では、統合コンピューティングエンティティ100は、通信インタフェースをさらに含むことができる。いくつかの実施形態では、通信インタフェースは、無線ローカルエリアネットワーク(WLAN)、コアネットワーク、データベースまたは他の記憶装置などの、統合コンピューティングエンティティ100と通信するネットワークおよび/または他の任意のデバイスもしくはモジュールとの間でデータを受信および/または送信するように構成された、ハードウェアまたはハードウェアとソフトウェアの組み合わせのいずれかで具体化されたデバイスまたは回路などの任意の手段であってもよい。この点に関して、通信インタフェースは、例えば、アンテナ(または複数のアンテナ)、ならびに無線通信ネットワークとの通信を可能にするためのサポートハードウェアおよび/またはソフトウェアを含んでもよい。追加的にまたは代替的に、通信インタフェースは、アンテナを介して信号を送信させるため、またはアンテナを介して受信された信号の受信を処理するために、アンテナと相互作用する回路を含むことができる。一部の環境では、通信インタフェースは、代替的にまたは有線通信をサポートすることもできる。そのため、例えば、通信インタフェースは、ケーブル、デジタル加入者線(DSL)、ユニバーサルシリアルバス(USB)または他のメカニズムを介した通信をサポートするための通信モデムおよび/または他のハードウェア/ソフトウェアを含むことができる。
【0061】
いくつかの実施形態では、統合コンピューティングエンティティ100は、ユーザまたは視聴者が任意の適切な入力アプローチを介してコンピューティングデバイス102にデータ、情報、要求、コマンドなどを入力できるように構成されたユーザインタフェース112をさらに含むことができる。例えば、いくつかの実施形態では、ユーザまたは視聴者は、光信号または電気信号などの信号を介して、口頭で、テキストで、任意の適切なコンピュータ言語を介して、デジタルで、視覚的に、またはこれらの組み合わせなどで、コマンドまたは他の適切な入力を入力することができる。そのため、ユーザインタフェース112は、ユーザまたは視聴者の入力を取り込むのに適した各種入力デバイスのいずれかを含むことができる。すべてではないが、いくつかの適切な入力デバイスは、ビデオカメラ、マイクロフォン、マウスもしくはタッチパッドなどのデジタルポインティングデバイス、対話型タッチスクリーン、仮想現実環境、拡張現実環境、ユーザまたは視聴者によって行われたジェスチャを感知するように構成された1つ以上のセンサ、それらの組み合わせなどである。
【0062】
いくつかの実施形態では、プロセッサ104は、ユーザまたは視聴者が任意の適切な入力アプローチを介してコンピューティングデバイス102にデータ、情報、要求、コマンドなどを入力できるように、ユーザインタフェース112に動作可能に結合されるか、または他の方法で通信することができる。単なる例として、いくつかの実施形態では、ユーザインタフェース112は、ユーザまたは視聴者のビデオを取り込むように構成されたビデオカメラ、ユーザまたは視聴者からの音声を取り込むように構成されたマイクロフォン、およびユーザまたは視聴者からのジェスチャ、音声、または他のタイプの入力を解釈し、コマンド、質問、データ入力などとして当該入力を解釈するように構成された音声/ビデオ処理ユニットを含むことができる。
【0063】
いくつかの実施形態では、統合コンピューティングエンティティ100は、ユーザまたは視聴者にメディアコンテンツを提示するように構成されたディスプレイ114をさらに備えることができる。いくつかの実施形態では、ディスプレイ114は、プロセッサ104またはコンピューティングデバイス102の他のそのような構成要素に動作可能に結合されるか、または他の方法で通信することができる。いくつかの実施形態では、ディスプレイ114は、コンピューティングデバイス102が、メディアコンテンツをディスプレイ114に送信して、ユーザまたは視聴者にメディアコンテンツを提示するか、またはディスプレイ114に提示させながら、同じユーザまたは視聴者がコンピューティングデバイス102に入力を送信することができるように、ユーザインタフェース112と同じハードウェアデバイスに結合されるか、または統合されることがある。単なる例として、ユーザインタフェース112およびディスプレイ114を含むそのような統合ハードウェアデバイスは、対話型ディスプレイまたはモニタ、コンピュータスクリーン、タッチセンシティブディスプレイ、ヘッドマウントディスプレイ、統合ビデオカメラおよび/またはマイクを備えたディスプレイ、統合センサを備えたディスプレイ、またはユーザまたは視聴者からの入力情報(例えば、音波、音声情報、コマンド、データ、質問、コメント等)を他の方法で取り込むするように構成されたディスプレイであってもよい。
【0064】
いくつかの実施形態では、統合コンピューティングエンティティ100は、サーバ側デバイスまたはユーザデバイスのいずれかであってもよい。いくつかの実施形態では、統合コンピューティングエンティティ100またはそのコンポーネントは、ネットワーク、サーバ、通信機器、ユーザデバイス、別のコンピューティングデバイス、別のプロセッサ、別のメモリデバイス、および/または携帯電話またはタブレットなどのモバイルデバイスと有線または無線通信するように構成することができる。
【0065】
次に図2を参照すると、例示的なシステム200が示されている。いくつかの実施形態では、スマートデバイスなどのユーザコンピューティングエンティティ202は、API204と通信するように構成することができる。いくつかの実施形態では、API204は、様々な組織またはビジネス(例えば、プロバイダシステムまたはプラットフォーム)のネットワークまたはデータベースなど、1つ以上のネットワークエンティティ206と通信するように構成することができる。1つ以上のネットワークエンティティ206は、通信するように、および/またはAPI204を介して1つ以上のデータベースへのアクセスを提供するように構成することができる。いくつかの実施形態では、ユーザコンピューティングエンティティ202、API204、およびネットワークエンティティ206のそれぞれは、インターネットなどのネットワーク208に接続するように構成することができ、通信を保護し、ネットワークエンティティ間およびスマートデバイス間通信の従来のチャネルに沿ってルーティングすることができる。単なる例として、ユーザコンピューティングエンティティ202(例えば、スマートデバイス)が、ネットワーク208を介して、API204、ネットワークエンティティ206などのいずれかへの関連または接続を直接確立できるように、ネットワーク208は、分散モバイルネットワークまたはパブリックランドモバイルネットワーク(PLMN)を含むことができる。他の適切なネットワークおよび通信技術は、本明細書の別の箇所に記載されており、本明細書に開示されていない他の既知のネットワークタイプおよび通信技術も考慮される。いくつかの実施形態では、ネットワークエンティティ206は、1つ以上のデータベースまたはネットワークエンティティから情報を取り出すように構成されたAPIまたはデータ交換にアクセスすることができる。別の方法では、サードパーティサービスは、サービスまたは機能を提供するために、API204を介して、ネットワークエンティティ206または特定の会社または組織のデータベースとのセキュアな接続を確立することができる。いくつかの実施形態では、ネットワークエンティティ206は、1つ以上のAPIベースのデータオブジェクトを生成するように構成することができ、表示および/またはさらなる操作のために、1つ以上のAPIベースのデータオブジェクトをエンドユーザインタフェースに提供(例えば、伝送、送信)することができる。APIベースのデータオブジェクトは、エンドユーザによって操作されるユーザインタフェースを動的に更新するため、またはクエリ/要求に応答してユーザインタフェースデータを生成するために使用されることができる。
【0066】
次に、図3Aおよび図3Bを参照すると、本発明の1つ以上の態様を実行するための例示的な方法301および302が提供される。いくつかの実施形態では、方法301および302は、処理回路(例えば、限定されないが、特定用途向け集積回路(ASIC)、中央処理装置(CPU))によって実行することができる。いくつかの例では、図3Aおよび図3Bに記載された手順のうちの1つ以上は、本発明の実施形態を採用するシステムのメモリ(非一時的メモリなど)によって記憶され、システムの処理回路(プロセッサなど)によって実行されるコンピュータプログラム命令によって実施することができる。これらのコンピュータプログラム命令は、メモリ回路に格納された命令が製造品を生成し、その実行がフローチャートのステップ/動作に指定された機能を実施するように、特定の方法で機能するようにシステムに指示することができる。さらに、システムは、1つ以上の他の回路を含むことができる。システムの様々な回路は、エネルギー、データおよび/または情報を送信および/または受信するために、互いに電子的に結合されてもよい。
【0067】
いくつかの例では、実施形態は、コンピュータ可読プログラム命令(コンピュータソフトウェア等)を格納する非一時的なコンピュータ可読記憶媒体上のコンピュータプログラム製品の形態をとることができる。非一時的なハードディスク、CD-ROM、フラッシュメモリ、光学記憶装置、または磁気記憶装置を含む任意の適切なコンピュータ可読記憶媒体を利用することができる。
【0068】
図3Aを参照すると、本発明の一以上の態様を実行するための方法301が提供される。例示的な方法301は、ステップ/動作303から始まる。ステップ/動作303において、プロセッサ(上述した図2に関連して図示されたネットワークエンティティ206(例えば、プロバイダのシステム/プラットフォーム)のプロセッサなどであるが、これに限定されない)は、統合データオブジェクトを送信(例えば、提供、伝送)する。本明細書に記載されるように、統合データオブジェクトは、プロバイダおよび/またはプロバイダプラットフォームに関連する1つ以上の統合機能を記述するデータオブジェクトを指すことができる。いくつかの例では、統合データオブジェクトは、セキュリティ層、システムプロトコル、プロバイダ要件、および/またはプロバイダ/プロバイダプラットフォームに関連するターゲット機能を記述する1つ以上の仕様を含むことができる。他の例では、統合データオブジェクトは、非構造化データ(例えば、1つ以上の文書)を含むことができる。例として、プロバイダが公益事業会社である場合、統合データオブジェクトは、1つ以上の取引明細書、インボイス、請求書、ウェブページ情報および/または類似のものを含むことができる。追加的に、かつ/または代替的に、統合データオブジェクトは、セキュリティ層、システムプロトコル、プロバイダ要件および/または公益事業会社に関連する目標機能を記述する仕様を含むことができる。
【0069】
ここで図3Bを参照すると、例示的な方法302は、ステップ/動作304で開始する。ステップ/動作304において、プロセッサ(限定されないが、上述した図1に関連して示された統合コンピューティングエンティティ100のプロセッサなど)は、統合データオブジェクトを受信する。
【0070】
いくつかの実施形態では、統合コンピューティングエンティティ100は、統合機械学習モデルを利用して、統合データオブジェクトを処理し、ステップ/動作306において、1つ以上の統合特徴を識別する。上述のように、統合機械学習モデルは、1つ以上の機械学習モデルまたはコンポーネントを含むことができる。例えば、統合機械学習モデルは、訓練済の教師あり機械学習モデル、類似性判定機械学習モデル、畳み込みニューラルネットワークモデル、言語ベースモデル、それらの組み合わせなどの一つまたは複数を含むことができる。例として、統合機械学習モデルは、複数の統合特徴を抽出するために、いくつかの例では光学式文字認識(optical character recognition;OCR)を含むテキスト分析を使用して1つ以上のドキュメントを処理するように構成された言語ベースモデルを含むことができる。統合特徴は、例として、予測されるAPIモデルタイプまたはサービスタイプ、国、話し言葉もしくは書き言葉および/または同様のものを含むことができる。例えば、統合機械学習モデルは、複数のドキュメント(例えば、請求書または取引説明書、仕様書、ウェブページデータ/コード、それらの組み合わせ、および/または同様のもの)を処理し、1つ以上の統合特徴を決定することができる。上述のように、統合機械学習モデルは、複数の履歴統合データオブジェクトを利用して訓練することができる。例えば、複数の履歴統合データオブジェクトは、複数のドキュメントおよび/または他の非構造化データであるか、またはこれらを含むことができ、各履歴統合データオブジェクトは、特定のプロバイダシステム/プラットフォームタイプおよび/または複数の統合特徴に関連付けられる。例として、プロバイダプラットフォーム/システムが公益事業会社である場合、統合機械学習モデルは、公益事業会社に関連付けられている、および/または公益事業会社によって提供される複数のドキュメントを処理し、特定の国(例えば、米国)、言語(例えば、英語および/またはスペイン語)、予測されるAPIタイプ(例えば、支払いサービス)、およびコンピュータコード/言語(JavaScript、Pythonなど)、1つ以上のデータタイプ、各データタイプに関連して実行可能な1つ以上のデータ操作、および/または公益事業会社に関連付けられているデータベースまたはリポジトリからのデータを編成、格納、取得、および処理するための方法を定義するデータ構造を識別することができる。
【0071】
いくつかの例では、方法302は、ステップ/動作308において、APIモデルを生成、更新、または改良するために必要な追加の統合情報/データの要求を送信することを含むことができる。いくつかの実施形態では、統合コンピューティングエンティティ100は、情報が記述された統合データオブジェクトが、APIモデルに関連付けられた1つ以上の統合特徴を決定できないような閾値を満たしていないと判定することができる。例として、統合コンピューティングエンティティ100は、統合データオブジェクトが、国、書き言葉/話し言葉、コンピュータ言語、データ構造、1つ以上のシステムプロトコル、それらの組み合わせなどを判定するための十分な情報を含んでいないと判定することができる。そのような例では、統合コンピューティングエンティティ100は、必要な統合情報の要求をネットワークエンティティ206/プロバイダシステムに送信することができる。
【0072】
図3Aに戻ると、ステップ/動作305で、ネットワークエンティティ206/プロバイダシステムは、追加の統合情報の要求を受信する。追加の統合情報の要求を受信した後、ステップ/動作307で、ネットワークエンティティ206/プロバイダシステムは、追加の統合情報を送信する。いくつかの例では、統合情報は、自動的および/または手動で提供されてもよい。例えば、ユーザは、追加の統合情報の要求を受信し、要求された情報を統合コンピューティングエンティティ100に提供(例えば、送信、送信)してもよい。いくつかの例では、ネットワークエンティティ206/プロバイダシステムは、APIモデルを動的に更新および/または改良するために、更新された統合情報を統合コンピューティングエンティティ100に定期的に送信する。
【0073】
図3Bに戻ると、310において、統合コンピューティングエンティティ100は、要求された統合情報を受信する。次に、ステップ/動作312において、統合コンピューティングエンティティ100は、少なくとも部分的に、1つ以上の統合特徴に基づいて、APIモデルを生成する。本明細書で詳述するように、APIモデルは、1つ以上のサービスの提供を容易にするように構成されたAPIの動作/パラメータを記述するデータオブジェクトを含むことができ、APIを生成し、および/またはアプリケーションまたはサービス(サードパーティ製アプリケーションなど)を統合するために必要なデータ/情報(例えば、コンピュータコード)を含むことができる。例示的なAPIモデルは、さらに、特定の機能セット(例えば、支払いポータルと銀行間の情報転送を容易にする支払いサービス)、書き言葉/話し言葉(例えば、英語)、国(例えば、米国)、コンピュータ/ソフトウェア言語、データ構造などに関連付けることができる。
【0074】
ステップ/動作312に続いて、統合コンピューティングエンティティ100は、ステップ/動作314において、少なくとも部分的に、APIモデルに基づいて/対応して、API生成データオブジェクトを生成する。API生成データオブジェクトは、APIを生成するため、および/または統合動作を実行するためのコンピュータ実行可能命令を含むデータオブジェクトであってもよい。一例として、API生成データオブジェクトは、APIを生成し統合するためのコンピュータ実行可能命令、プロバイダシステム(例えば、ユーティリティ)およびサードパーティプロバイダシステム(例えば、サービスプロバイダ)を含むことができる。
【0075】
ステップ/動作314に続いて、ステップ/動作316において、統合コンピューティングエンティティ100は、API生成データオブジェクトを送信する(例えば、提供する、伝送する)。例えば、統合コンピューティングエンティティ100は、実行のために、API生成データオブジェクトをネットワークエンティティ206/プロバイダシステムに送信する。
【0076】
図3Aに戻ると、ステップ/動作309において、ネットワークエンティティ206/プロバイダシステムは、API生成データオブジェクトを受信する。API生成データオブジェクトを受信した後、少なくとも部分的にAPI生成データオブジェクトに基づいて、ネットワークエンティティ206/プロバイダシステムは、ステップ/動作311において統合動作を実行する。統合動作を実行することは、APIモデル/API生成データオブジェクトに基づいてAPIを生成することを含むことができる。いくつかの例では、統合動作を実行することは、1つ以上のAPIベースのデータオブジェクトを提供または生成することにつながる。いくつかの実施形態では、APIベースのデータオブジェクトは、プロバイダシステム/プラットフォームのリソースを表すデータおよび/または命令のセットを含む。例えば、サービスアプリケーションは、1つ以上のAPIベースのデータオブジェクトに対してアクションを実行することができる。いくつかの実施形態では、ユーザは、APIベースのデータオブジェクトを作成または変更するユーザインタフェースを介してアクションを実行することができる。APIベースのデータオブジェクトの例には、プロバイダシステムで作成および維持されるファイル、ユーザアカウント情報などが含まれる。ネットワークエンティティ206/プロバイダシステムは、表示および/またはさらなる操作のための(例えば、ユーザが操作するクライアントデバイス上の)ユーザインタフェースデータを生成するための、1つ以上のAPIベースのデータオブジェクトを提供(例えば、送信、伝送)することができる。いくつかの実施形態では、統合コンピューティングエンティティ100は、連続的または定期的に、または特定のトリガおよび/または要求に応答して、APIベースのデータオブジェクトを更新するためのデータ/情報を動的に提供することができる。
【0077】
ここで図4を参照すると、本発明の1つ以上の態様による例示的なデータ構造400を示す概略図である。本明細書に記載するように、データ構造400は、1つ以上のデータタイプ、各データタイプに関連して実行可能な1つ以上のデータ操作、および/またはデータベースもしくはリポジトリからのデータを編成、格納、検索および処理するための方法を定義することができる。図4に示すように、データ構造400は、複数のデータタイプを定義する参照テーブルを含む。図示されているように、各データ構造行は、データフィールド(図示のように、顧客番号401A、姓401B、名401C、電話番号401D、住所401Eおよび現在の残高401F)に関連付けられている。さらに、各データ構造400列は、データフィールドに関連付けられた属性(例えば、データタイプ、データ形式、フィールドサイズ、説明、例)を記述する。様々な実施形態では、統合コンピューティングエンティティ100は、プロバイダに関連付けられた統合データオブジェクト(例えば、1つ以上の文書)の分析に基づいて、データ構造400を生成することができる。データ構造を利用して、(例えば、プロバイダシステムとサードパーティシステムがAPIを介してデータを交換できるようにするように)別のコンピューティングエンティティに関連付けられたデータベースまたはリポジトリからのデータを処理(例えば、検索、利用、修正)することができるAPIモデル/APIをプログラムによって生成することができる。データ構造400は、図4に提供された例に限定されず、他の形態であってもよいことを理解されたい。例えば、例示的なデータ構造は、ハッシュテーブル、配列、リストまたはリンクリスト、スタック、グラフ、ツリーおよび/または類似のものを含むことができる。
【0078】
ここで図5を参照すると、信号図は、本発明の一以上の態様による、クライアントデバイス501、統合コンピューティングエンティティ503、プロバイダシステム505、およびサードパーティプロバイダシステム507間の通信を示す。図示されているように、502で、プロバイダシステム505は、統合コンピューティングエンティティ503に統合要求を送信する。統合要求の受信に応答して、504では、統合コンピューティングエンティティ503は、統合データオブジェクトの要求をプロバイダシステム505に送信する。次に、506では、プロバイダシステム505は、統合データオブジェクトを統合コンピューティングエンティティ503に送信する。508では、統合データオブジェクトを受信すると、統合コンピューティングエンティティ503は、統合データオブジェクトを処理して、1つ以上の統合特徴(例えば、ターゲットパラメータ、APIタイプ等)を識別する。次に、510では、統合コンピューティングエンティティ503は、1つ以上の統合特徴に少なくとも部分的に基づいてAPIモデルを生成する。いくつかの例では、512では、統合コンピューティングエンティティ503は、追加の統合情報の要求をプロバイダシステム505に送信する。追加の統合情報の要求の受信に応答して、プロバイダシステム505は、514で統合情報を送信する。516では、統合コンピューティングエンティティ503は、受信した追加情報に少なくとも部分的に基づいてAPIモデルを更新する。518では、統合コンピューティングエンティティ503は、API生成データオブジェクトをプロバイダシステム505に送信する。520では、API生成データオブジェクトは、APIをプログラム的に生成する、および/またはプロバイダシステム505とサードパーティプロバイダシステム507との間で1つ以上の統合操作を実行するための命令を含むことができる。522では、クライアントデバイス501は、APIを介してAPI要求または呼び出しを開始する。図示されているように、524では、プロバイダシステム505は、API要求の受信に応答して、サードパーティプロバイダシステム507からリソースを要求する。526では、サードパーティプロバイダシステム507は、リソースを送信し、要求を達成する。続いて、528では、プロバイダシステムは、クライアントデバイス501のインタフェースを介してユーザインタフェースデータを生成するために利用することができる1つ以上のAPIベースのデータオブジェクトを提供/更新する。
【0079】
上記の技法を利用して、APIを、最小限の開発者入力(例えば、広範な検査)で、プログラムによって生成し、統合することができる。さらに、統合コンピューティングエンティティは、システムがプロバイダシステムおよび/または同様のプロバイダシステムからまたはそれについての新しい情報を取得するときに、APIに関連付けられたAPIモデルを独立して更新することができる。
【0080】
いくつかの実施形態では、フローチャートのブロックは、指定された機能を実行するための手段の組み合わせ、および指定された機能を実行するための指定された機能を実行するための動作の組み合わせをサポートする。また、フローチャートの1つ以上のブロック、およびフローチャート内のブロックの組み合わせは、指定された機能を実行する専用ハードウェアベースのコンピュータシステム、または専用ハードウェアとコンピュータ命令の組み合わせによって実施され得ることも理解されよう。
【0081】
いくつかの実施形態では、上記の動作の特定のものは、修正され得るか、またはさらに増幅され得る。さらに、いくつかの実施形態では、追加の任意の動作を含むことができる。上記動作の修正、追加、または増幅は、任意の順序および組み合わせで行うことができる。
【0082】
したがって、例えば、人工知能/機械学習技術などを使用してAPIをプログラム的に生成および統合するための方法、装置、およびシステムが、例示的な実施形態に従って提供される。
【0083】
第1の実施形態によれば、方法が提供される。方法は、1つ以上のプロセッサによる統合データオブジェクトの受信に応答して、前記統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、前記1つ以上のプロセッサによって、少なくとも部分的に統合機械学習モデルに基づいて、前記統合データオブジェクトを処理することと、前記1つ以上のプロセッサによって、少なくとも部分的に前記1つ以上の統合特徴に基づいて、前記統合データオブジェクトに対応するアプリケーションプログラミングインタフェース(API)モデルをプログラムによって生成することと、前記1つ以上のプロセッサによって、実行のために前記APIモデルに対応するAPI生成データオブジェクトを生成することと、を含む。
【0084】
いくつかの実施形態では、前記API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される。
【0085】
いくつかの実施形態では、方法は、前記APIモデルをプログラムによって生成した後に、前記APIモデルを更新および/または改良するための統合情報の要求を定期的に送信することをさらに含むことができる。
【0086】
いくつかの実施形態では、前記統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練される訓練済の教師あり機械学習モデルを含む。
【0087】
いくつかの実施形態では、前記1つ以上の統合特徴は、データ構造、予測APIタイプ、国、および言語のうちの1つ以上を含む。
【0088】
いくつかの実施形態では、前記1つ以上のプロセッサによる前記統合データオブジェクトの処理は、前記統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む。
【0089】
いくつかの実施形態では、前記1つ以上のAPIベースのデータオブジェクトは、支払い処理サービスに関連付けられている。
【0090】
第2の実施形態によれば、装置が提供される。装置は、プロセッサと、プログラムコードを記憶するメモリと、を備え、前記メモリおよび前記プログラムコードは、前記プロセッサにより、少なくとも、統合データオブジェクトの受信に応答して、前記統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、統合機械学習モデルに少なくとも部分的に基づいて、前記統合データオブジェクトを処理し、前記1つ以上の統合特徴に少なくとも部分的に基づいて、前記統合データオブジェクトに対応するAPIモデルをプログラムによって生成し、前記1つ以上のプロセッサによって、実行のための前記APIモデルに対応するAPI生成データオブジェクトを生成するように構成される。
【0091】
いくつかの実施形態では、前記API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される。
【0092】
いくつかの実施形態では、前記メモリおよび前記プログラムコードは、前記プロセッサにより、少なくとも、前記APIモデルをプログラムによって生成した後、前記APIモデルを更新および/または改良するための統合情報の要求を定期的に送信するようにさらに構成される。
【0093】
いくつかの実施形態では、前記統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練された、訓練済の教師あり機械学習モデルを含む。
【0094】
いくつかの実施形態では、前記1つ以上の統合特徴は、データ構造、予測されたAPIタイプ、国、および言語のうちの1つ以上を含む。
【0095】
いくつかの実施形態では、前記統合データオブジェクトを処理することは、前記統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む。
【0096】
いくつかの実施形態では、前記1つ以上のAPIベースのデータオブジェクトは、支払い処理サービスに関連付けられる。
【0097】
第3の実施形態によれば、コンピュータプログラム製品が提供される。プログラム命令を格納する非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品であって、前記プログラム命令は、少なくとも、統合データオブジェクトの受信に応答して、前記統合データオブジェクトに関連付けられた1つ以上の統合特徴を識別するために、少なくとも部分的に統合機械学習モデルに基づいて、前記統合データオブジェクトを処理させ、前記統合データオブジェクトに対応するAPIモデルを、少なくとも部分的に前記統合特徴に基づいて、プログラムによって生成させ、実行のために前記APIモデルに対応するAPI生成データオブジェクトを生成させる、ように動作可能である。
【0098】
いくつかの実施形態では、前記API生成データオブジェクトは、APIおよび/または1つ以上のAPIベースのデータオブジェクトの生成および/または変更を容易にするように構成される。
【0099】
いくつかの実施形態では、前記プログラム命令は、少なくとも、前記APIモデルをプログラムによって生成した後に、前記APIモデルを更新および/または改良するための統合情報の要求を定期的に送信させるようにさらに動作可能である。
【0100】
いくつかの実施形態では、前記統合機械学習モデルは、複数の履歴統合データオブジェクトに少なくとも部分的に基づいて訓練される訓練済の教師あり機械学習モデルを含む。
【0101】
いくつかの実施形態では、前記1つ以上の統合特徴は、データ構造、予測APIタイプ、国、および言語のうち1つ以上を含む。
【0102】
いくつかの実施形態では、前記統合データオブジェクトの処理は、前記統合データオブジェクトの少なくとも一部に対してテキスト分析を実行することを含む。
【0103】
本明細書に記載された本発明の多くの修正および他の実施形態は、これらの発明が関係する当業者には、前述の説明および関連する図面に示された教示の恩恵を受けて思い付くであろう。したがって、本発明は開示された特定の実施形態に限定されるべきではなく、修正および他の実施形態は、添付の特許請求の範囲の範囲内に含まれることを意図していることが理解されるべきである。また、前述の説明および関連する図面は、要素および/または機能の特定の例示的な組み合わせのコンテキストにおいて例示的な実施形態を記載しているが、添付の特許請求の範囲の範囲から逸脱することなく、代替的な実施形態によって要素および/または機能の異なる組み合わせを提供することができることを理解されたい。この点に関して、例えば、上記に明示的に記載されたものとは異なる要素および/または機能の異なる組み合わせも、添付の特許請求の範囲の一部に記載され得るように企図される。本明細書では特定の用語が使用されているが、それらは一般的かつ記述的な意味でのみ使用され、限定の目的では使用されない。
【0104】
全体的な理解を提供するために、特定の例示的な実施形態が記載されている。しかし、本明細書に記載されたシステム、装置、および方法は、他の適切な用途のためのシステム、装置、および方法を提供するように適合および修正することができ、本明細書に記載されたシステム、装置、および方法の範囲から逸脱することなく他の追加および修正を行うことができることは、当業者に理解されよう。
【0105】
本明細書に記載された実施形態は、特に図示および説明されているが、形態および詳細の様々な変更を行うことができることが理解されよう。特に明記されない限り、図示された実施形態は、特定の実施形態の様々な詳細の例示的な特徴を提供するものとして理解され、したがって、特に明記されない限り、図示の特徴、構成要素、モジュール、および/または態様は、開示されたシステムまたは方法から逸脱することなく、他の方法で組み合わせ、分離、交換、および/または再配置することができる。さらに、構成要素の形状およびサイズもまた例示的であり、特に明記されない限り、本開示の開示された例示的なシステム、装置、または方法の範囲に影響を与えることなく変更することができる。
【0106】
本明細書では、電気通信、コンピューティングエンティティ/デバイス、支払いサービス、人工知能、および機械学習の分野における従来の用語が使用されている。これらの用語は当技術分野で既知であり、便宜上、非限定的な例としてのみ提供されている。したがって、特許請求の範囲における対応する用語の解釈は、特に明記されない限り、いかなる特定の定義にも限定されない。したがって、特許請求の範囲で使用される用語は、最も広い合理的な解釈(broadest reasonable interpretation)が与えられるべきである。
【0107】
特定の実施形態が本明細書において図示され、説明されてきたが、同じ目的を達成するように適合された任意の構成が、図示された特定の実施形態の代わりになり得ることは、当業者には理解されるであろう。多くの適応は、当業者には明らかである。したがって、本出願は、あらゆる適応または変形をカバーすることを意図している。
【0108】
上記の詳細な説明は、詳細な説明の一部を形成する添付図面への参照を含む。図面は、例示として、実施可能な特定の実施形態を示す。これらの実施形態は、本明細書において「実施例」とも称される。そのような実施例は、図示または説明されたものに加えて要素を含むことができる。しかし、本発明者は、図示または説明された要素のみが提供される実施例も意図している。また、本発明者は、特定の実施例(またはその1つ以上の態様)に関して、または本明細書に図示または説明された他の実施例(またはその1つ以上の態様)に関して、図示または説明されたそれらの要素(またはその1つ以上の態様)の任意の組み合わせまたは並び替えを使用する実施例も意図している。
【0109】
本明細書で言及されているすべての刊行物、特許、および特許文書は、参照によって個別に組み込まれているかのように、その全体が参照によって本明細書に組み込まれている。本明細書とそのように参照によって組み込まれているそれらの文書との間に矛盾する用法がある場合、組み込まれている参照における用法は、本明細書の用法を補足するものとみなされるべきである。両立しない矛盾については、本明細書における用法が支配する。
【0110】
本明細書において、用語「a」または「an」は、特許文書において一般的であるように、「少なくとも1つ」または「1つ以上」の他の例または用法とは無関係に、1つ以上を含むように使用される。本明細書において、別段の指示がない限り、用語「or(または)」は、「AまたはB」が「AであるがBではない」、「BであるがAではない」、および「AおよびB」を含むように、非排他的なor(または)を指すために使用される。本明細書において、用語「including(を含む)」および「in which」は、それぞれの用語「comprising(を備える、含む)」および「wherein」の平易な英語の等価物として使用される。また、以下の請求項において、用語「including(を含む)」および「comprising(を備える、含む)」はオープンエンドであり、すなわち、請求項においてそのような用語の後に列挙された要素に加えて要素を含むシステム、装置、物品、またはプロセスは、依然としてその請求項の範囲内にあるとみなされる。さらに、以下の特許請求の範囲において、「第1の」、「第2の」、「第3の」および/または類似の用語は、単にラベルとして使用され、それらの対象に数値的要件または操作または組織の相対的順序を課すことを意図していない。
【0111】
上記の説明は、例示的であることを意図しており、限定的ではない。例えば、上記の実施例(またはその一以上の態様)は、互いに組み合わせて使用することができる。他の実施形態は、例えば、当業者が上記の説明を検討した上で使用することができる。要約は、読者が技術的開示の性質を迅速に確認することを可能にするために、37 C.F.R.§1.72(b)を遵守するように提供され、特許請求の範囲または意味を解釈または限定するために使用されないことを理解して提出される。
【0112】
この詳細な説明において、様々な特徴は、開示を合理化するためにグループ化されている場合がある。これは、特許請求の範囲に記載されていない開示された特徴が特許請求の範囲に不可欠であることを意図していると解釈されるべきではない。むしろ、発明の主題は、特定の開示された実施形態のすべての特徴よりも少ない特徴にあり得る。したがって、以下の特許請求の範囲は、ここに詳細な説明に組み込まれ、各請求項は別個の実施形態として独立しており、そのような実施形態は、様々な組み合わせまたは並び替えで互いに組み合わせることができると考えられる。実施形態の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲が権利を与えられる均等物の全範囲とともに決定されるべきである。
図1
図2
図3A
図3B
図4
図5
【国際調査報告】