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

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

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

特許6994477エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク
<>
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図1A
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図1B
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図1C
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図2
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図3
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図4
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図5
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図6
  • 特許-エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-15
(45)【発行日】2022-01-14
(54)【発明の名称】エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワーク
(51)【国際特許分類】
   G06F 21/50 20130101AFI20220106BHJP
【FI】
G06F21/50
【請求項の数】 13
【外国語出願】
(21)【出願番号】P 2019056998
(22)【出願日】2019-03-25
(65)【公開番号】P2019204496
(43)【公開日】2019-11-28
【審査請求日】2019-03-25
(31)【優先権主張番号】15/937,193
(32)【優先日】2018-03-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】アントニオ,エマニュエル ベンビヌート
(72)【発明者】
【氏名】フローレス,ダーウィン エンダヤ
(72)【発明者】
【氏名】タマヨ,ジョセフ クリスチャン ポリカルピオ
(72)【発明者】
【氏名】デ グズマン,ジョン カルロ カンルボ
(72)【発明者】
【氏名】レイムンド,レイ ウィルソン ペーズ
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2010-198054(JP,A)
【文献】特開2010-072725(JP,A)
【文献】特開2004-240747(JP,A)
【文献】特開2004-334869(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/50
(57)【特許請求の範囲】
【請求項1】
1つ以上のメモリと、
前記1つ以上のメモリに通信結合された1つ以上のプロセッサと、
を含むオペレーションズプラットフォームであって、前記1つ以上のプロセッサは、
クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記クライアントプラットフォームを監視することと、
前記クライアントプラットフォームの監視に基づいて前記クライアントプラットフォームに関連する問題を検出することと、
前記オペレーションズプラットフォームが前記問題を解決するためのボットへのアクセスを有しないことを判断することと、
前記オペレーションズプラットフォームが前記問題を解決するための前記ボットへのアクセスを有しないことを判断したことに基づいて、前記問題に対応する第1のボットおよび第2のボットを特定することと、
前記第1のボットと前記第2のボットを組み合わせることにより前記ボットを生成することであって、
前記1つ以上のプロセッサは、前記ボットを生成するとき、前記第1のボットまたは前記第2のボットのうち少なくとも1つのボットのコードを変更することにより前記ボットを生成する、生成することと、
前記問題を解決するために前記クライアントプラットフォームに対して前記ボットを展開することと、
をし、
前記ボットは、前記クライアントプラットフォームの前記ユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、オペレーションズプラットフォーム。
【請求項2】
前記クライアントプラットフォームは、エンタープライズリソースプラニングシステムに関連する、請求項1に記載のオペレーションズプラットフォーム。
【請求項3】
監視命令に基づいてクライアントプラットフォームをオペレーションズプラットフォームにより監視するステップと、
前記クライアントプラットフォームの監視に基づいて前記クライアントプラットフォームに関連する問題を前記オペレーションズプラットフォームにより検出するステップと、
前記オペレーションズプラットフォームが前記問題を解決するためのボットへのアクセスを有しないことを前記オペレーションズプラットフォームにより判断するステップと、
前記オペレーションズプラットフォームが前記問題を解決するための前記ボットへのアクセスを有しないことを判断したことに基づいて、前記オペレーションズプラットフォームにより前記問題に対応する第1のボットおよび第2のボットを特定するステップと、
前記第1のボットと前記第2のボットを組み合わせることにより前記ボットを、前記オペレーションズプラットフォームにより生成するステップであって、
前記第1のボットまたは前記第2のボットのうち少なくとも1つのボットのコードを変更することにより前記ボットを生成する、生成するステップと、
前記問題を解決するために前記クライアントプラットフォームに対して前記ボットを前記オペレーションズプラットフォームにより展開するステップと、
を含む方法であって、
前記ボットは、前記クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、方法。
【請求項4】
前記クライアントプラットフォームの監視に基づいて集められる情報を分析のために提供するステップ
をさらに含む、請求項に記載の方法。
【請求項5】
前記クライアントプラットフォームの監視に基づいて集められる情報に対して分析を実行するステップ
をさらに含む、請求項に記載の方法。
【請求項6】
前記方法は、
前記ボットを展開する命令を受信するステップ
をさらに含み、
前記命令は、前記クライアントプラットフォーム外部の外部デバイスから受信される、請求項に記載の方法。
【請求項7】
前記外部デバイスは、前記オペレーションズプラットフォームに関連するコンポーネントに関連し、前記命令は、前記コンポーネントにより生成されるセキュリティ情報とともに提供される、請求項に記載の方法。
【請求項8】
前記クライアントプラットフォームは、前記クライアントプラットフォームの前記ユーザインターフェースとの相互作用なしに監視される、請求項に記載の方法。
【請求項9】
命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、
オペレーションズプラットフォームの1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに、
ボットを使用して解決することができるクライアントプラットフォームに関連する問題を特定することであって、
前記問題の前記特定は、
前記クライアントプラットフォームを監視することにより取得される情報、または
前記問題を解決するために前記ボットを実行する命令を受信すること
のうちの一方に基づく、前記特定することと、
前記問題を解決するために前記ボットがアクセス可能でないことまたはローカルに格納されていないことを判断することと、
前記ボットがアクセス可能でないことまたはローカルに格納されていないことを判断したことに基づいて、前記問題に対応する第1のボットおよび第2のボットを特定すると、
前記第1のボットと前記第2のボットを組み合わせることにより前記ボットを生成することであって、
前記第1のボットまたは前記第2のボットのうち少なくとも1つのボットのコードを変更することにより前記ボットを生成する、生成することと、
前記問題を解決するために前記クライアントプラットフォームに対して前記ボットを実行することであって、
前記ボットは、前記クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、前記実行することと、
をさせる1つ以上の命令
を含む、非一時的コンピュータ可読媒体。
【請求項10】
前記クライアントプラットフォームは、エンタープライズリソースプラニングプラットフォームを含む、請求項に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記1つ以上の命令は、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサにさらに、
前記クライアントプラットフォームを監視することにより取得される前記情報を分析のために提供すること
をさせる、請求項に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記1つ以上の命令は、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
セキュリティ情報に関連して前記命令を受信すること
をさせ、
前記セキュリティ情報は、前記クライアントプラットフォーム外部の外部デバイスから受信され、
前記セキュリティ情報は、前記外部デバイス上で動作し前記オペレーションズプラットフォームに関連するコンポーネントにより生成または提供される、請求項に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記命令は、前記第1のボットおよび前記第2のボットを特定し、前記セキュリティ情報は、前記オペレーションズプラットフォームおよび前記コンポーネントに対応するトークンを含む、請求項12に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全般的に、エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワークのためのオペレーションズプラットフォームおよび方法に関する。
【背景技術】
【0002】
事業体は、ソフトウェアプラットフォームを使用して、リソースの使用量または割り当てを計画し得る。例として、このソフトウェアプラットフォームは、エンタープライズリソースプラニング(ERP:enterprise resource planning)プラットフォームと呼ばれることもある。ERPプラットフォームは、事業体の重要機能を実行するための様々なソフトウェアインターフェースおよびコンポーネントを提供し得る。ERPプラットフォームの1つは、SAP ERPプラットフォームである。
【発明の概要】
【課題を解決するための手段】
【0003】
いくつかの可能な実装において、オペレーションズプラットフォームは、1つ以上のメモリと、1つ以上のメモリに通信結合された1つ以上のプロセッサとを含んでもよく、1つ以上のプロセッサは、クライアントプラットフォームのユーザインターフェースと相互作用することなしにクライアントプラットフォームを監視することと、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出することと、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかを判断することと、オペレーションズプラットフォームがボットへのアクセスを有しない場合、ボットを生成することと、問題を解決するためにクライアントプラットフォームに対してボットを展開することと、をし、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されている。
【0004】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、クライアントプラットフォームは、エンタープライズリソースプラニングシステムに関連してもよい。
【0005】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、ボットは、第1のボットであってもよく、問題は、第1の問題であってもよく、1つ以上のプロセッサはさらに、第2の問題に関連する第2のボットを展開する命令を受信することと、第2の問題を解決するために第2のボットを展開することと、をしてもよい。
【0006】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、1つ以上のプロセッサはさらに、命令に関連してセキュリティ情報を受信してもよく、セキュリティ情報は、第2のボットの暗号化されたボット識別子を含み、1つ以上のプロセッサは、第2のボットを展開するとき、セキュリティ情報に基づいて第2のボットを展開してもよい。
【0007】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、1つ以上のプロセッサはさらに、命令を受信する前にハンドシェイクを実行してもよく、1つ以上のプロセッサは、第2のボットを展開するとき、ハンドシェイクの結果に基づいて第2のボットを展開してもよい。
【0008】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、第2の問題は、ユーザに起因する問題であってもよい。
【0009】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、第2のボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されていてもよい。
【0010】
いくつかの可能な実装において、方法は、監視命令に基づいてクライアントプラットフォームをオペレーションズプラットフォームにより監視するステップと、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題をオペレーションズプラットフォームにより検出するステップと、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかをオペレーションズプラットフォームにより判断するステップと、オペレーションズプラットフォームがボットへのアクセスを有しない場合、オペレーションズプラットフォームによりボットを生成するステップと、問題を解決するためにクライアントプラットフォームに対してボットをオペレーションズプラットフォームにより展開するステップと、を含んでもよく、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されている。
【0011】
上記の方法のいくつかの可能な実装において、方法は、クライアントプラットフォームの監視に基づいて集められる情報を分析のために提供するステップをさらに含んでもよい。
【0012】
上記の方法のいくつかの可能な実装において、方法は、クライアントプラットフォームの監視に基づいて集められる情報に対して分析を実行するステップをさらに含んでもよい。
【0013】
上記の方法のいくつかの可能な実装において、方法は、ボットを展開する命令を受信するステップをさらに含んでもよく、命令は、クライアントプラットフォーム外部の外部デバイスから受信される。
【0014】
上記の方法のいくつかの可能な実装において、外部デバイスは、オペレーションズプラットフォームに関連するコンポーネントに関連してもよく、命令は、コンポーネントにより生成されるセキュリティ情報とともに提供されてもよい。
【0015】
上記の方法のいくつかの可能な実装において、クライアントプラットフォームは、クライアントプラットフォームのユーザインターフェースとの相互作用なしに監視されてもよい。
【0016】
上記の方法のいくつかの可能な実装において、ボットは、第1のボットであってもよく、方法は、ユーザに起因する問題を解決するためにボットを展開する命令を受信するステップであって、命令は、オペレーションズプラットフォームのアプリケーションプログラミングインターフェースを介して受信される、受信するステップと、ユーザに起因する問題を解決するために第2のボットを展開するステップと、をさらに含んでもよい。
【0017】
上記の方法のいくつかの可能な実装において、ユーザに起因する問題は、クライアントプラットフォームを監視することにより検出できない問題であってもよい。
【0018】
いくつかの可能な実装において、非一時的コンピュータ可読媒体は、1つ以上の命令を格納してもよく、1つ以上の命令は、オペレーションズプラットフォームの1つ以上のプロセッサにより実行されると1つ以上のプロセッサに、ボットを使用して解決できクライアントプラットフォームに関連する問題を特定することであって、問題の特定は、クライアントプラットフォームを監視することにより取得される情報、または問題を解決するためにボットを実行する命令を受信することのうちの一方に基づく、特定することと、問題を解決するためにボットがアクセス可能であるかまたはローカルに格納されているかを判断することと、ボットがアクセス可能でも、ローカルに格納されてもいない場合、ボットを生成することと、問題を解決するためにクライアントプラットフォームに対してボットを実行することであって、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されている、実行することと、をさせる。
【0019】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、クライアントプラットフォームは、SAPエンタープライズリソースプラニングプラットフォームを含んでもよい。
【0020】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、1つ以上の命令は、1つ以上のプロセッサにより実行されると、1つ以上のプロセッサにさらに、クライアントプラットフォームを監視することにより取得される情報を分析のために提供することをさせてもよい。
【0021】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、1つ以上の命令は、1つ以上のプロセッサにより実行されると、1つ以上のプロセッサに、セキュリティ情報に関連して命令を受信することをさせてもよく、セキュリティ情報は、クライアントプラットフォーム外部の外部デバイスから受信され、セキュリティ情報は、外部デバイス上で動作しオペレーションズプラットフォームに関連するコンポーネントにより生成または提供される。
【0022】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、命令は、ボットを特定してもよく、セキュリティ情報は、オペレーションズプラットフォームおよびコンポーネントに対応するトークンを含んでもよい。
【図面の簡単な説明】
【0023】
図1A】本願明細書に記載される例示の実装の概観の図である。
図1B】本願明細書に記載される例示の実装の概観の図である。
図1C】本願明細書に記載される例示の実装の概観の図である。
図2】本願明細書に記載されるシステムおよび/または方法が実装され得る例示の環境の図である。
図3図2の1つ以上のデバイスの例示のコンポーネントの図である。
図4】オペレーションズプラットフォームの例示の実装の図である。
図5】オペレーションズプラットフォームと外部デバイスとの間の通信のための例示のセキュリティ手続きの図である。
図6】自動的に問題を検出し、問題を解決するためにボットを展開する例示のプロセスのフローチャートである。
図7】外部デバイスから受信された命令に基づいてボットを実行する例示のプロセスのフローチャートである。
【発明を実施するための形態】
【0024】
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の要素を特定することがある。
【0025】
事業体は、運営、財務、人的資本管理、および企業サービスなど、事業体の機能を実行するためにERPプラットフォームを使用し得る。例としてERPプラットフォームは、こうした様々な機能に関連するデータの収集、格納、および管理を扱うこともある。ERPは、データベース管理システムにより維持される共通のデータベースを使用して、コアビジネスプロセスの、統合され且つ絶えず更新される展望を提供し得る。ERPプラットフォームの1つは、SAP ERPである。
【0026】
ERPプラットフォームは、リソースプラニングのためのセキュリティと、カスタマイズ可能なユーザインターフェースと、データまたは機能へのリアルタイム(例えばほぼリアルタイム)のアクセスとを提供し得る。しかしながら、セキュリティ、カスタマイズ可能なユーザインターフェース、およびデータへのリアルタイムアクセスを提供するためのソフトウェアの使用は、エラーまたは問題発生の可能性をもたらし得る。これらの問題は、ユーザに関連すること(例えばパスワード忘れ、バッチジョブの設定ミスなど)またはシステムに関連すること(例えばバッチジョブの障害、中間ドキュメント(IDOC:intermediate document)の障害など)がある。さらに、一部のERPプラットフォームは、特にERPプラットフォームが種々の技術およびデータベースとインターフェースをとらなければならない場合、強固な分析機能を提供しないこともある。最後に、ユーザに起因する一部の問題(例えばパスワード忘れ)は、ERPプラットフォーム内で検出不可能なこともある。
【0027】
本願明細書に記載されるいくつかの実装は、SAP ERPなどのERPプラットフォーム内の問題を自動的に検出する。例として、本願明細書に記載されるいくつかの実装は、問題を検出するためにERPプラットフォームを自動的且つ事前対応的に監視してもよく、問題を解決するためにERPプラットフォーム内にボットを展開してもよい。これは、ロボティックプロセスオートメーション(RPA:robotic process automation)など、エラーの検出および解決のためのユーザインターフェースベースのサービスよりも効率的かもしれない。RPAは時間が経つにつれて変化することもあるユーザインターフェースとの相互作用を必要とするからである。さらに、本願明細書に記載されるいくつかの実装は、監視データを収集するためにERPプラットフォームを監視してもよく、監視データの分析を実行しまたは分析のために監視データを提供してもよい。これは、SAP ERPプラットフォームなどの一部のERPプラットフォームにはネイティブで実行するのが困難または不可能であるかもしれない、ERPプラットフォームに関連するデータの分析を提供してもよい。さらに、本願明細書に記載されるいくつかの実装は、ERPプラットフォームには検出できない問題(例えばパスワード紛失などのユーザに起因する問題)の解決をトリガするユーザ相互作用のためのインターフェース(例えばユーザインターフェース、アプリケーションプログラミングインターフェース(API:application programming interface)など)を提供してもよい。本願明細書に記載されるいくつかの実装は、問題を解決するために事後対応的に(例えばユーザインターフェースへの入力に基づいて、外部デバイスとの相互作用に基づいてなど)ボットを展開してもよい。
【0028】
このように、本願明細書に記載された実装は、ERPプラットフォームの動作を改善し、その一方で、ERPプラットフォームに関わる問題を特定および解決するために必要な手動入力を削減し得る。さらに、本願明細書に記載される実装は、ERPプラットフォームのユーザインターフェースと相互作用するRPAベースのアプローチなどのより効率性が低いアプローチに比べて、プロセッサリソースを節約し、ERPプラットフォームの状態のより包括的な展望を提供し得る。またさらに、本願明細書に記載される実装は、ERPプラットフォームのユーザインターフェースが変化するのに伴い再構成を必要とし得るRPAベースのアプローチよりも、ユーザインターフェースの変化に対する順応性が高い可能性がある。
【0029】
図1A図1Cは、本願明細書に記載される例示の実装100の概観の図である。示されるように、例示の実装100は、クライアントデバイス(例えば後述のクライアントデバイス210)上に実装されたクライアントプラットフォームを含む。いくつかの実装において、クライアントプラットフォームは、クラウドコンピューティング環境(例えば後述のクラウドコンピューティング環境240)において実装されてもよい。クライアントプラットフォームは、SAP ERPプラットフォームなどのERPプラットフォームを含んでもよい。さらに示されるように、オペレーションズプラットフォーム(例えば後述のオペレーションズプラットフォーム230)は、クライアントプラットフォームおよび/またはクライアントデバイス上に実装されてもよい。いくつかの実装において、オペレーションズプラットフォームは、クラウドコンピューティング環境において実装されてもよい。
【0030】
示されるように、クライアントプラットフォームは、ERPデータを受信してもよく、そのデータに基づいて1つ以上のERP出力を出力してもよい。実際は、ERPプラットフォームの動作はかなり複雑な場合もあり、多数の異なるソースからデータを取得して、データを処理または操作して、データを種々の利害関係者またはユーザに提供することを含むこともある。ここでは、ERPプラットフォームの動作は、本願明細書に記載される実装を説明するとき、明瞭にするために簡略化される。
【0031】
示されるように、クライアントプラットフォームは、或る問題に関連してもよい。問題は、設定エラー、動作エラー、通信エラー、またはクライアントプラットフォームの動作に関わる他の任意のタイプの技術的問題を含み得る。いくつかの事例では、問題は、ユーザに起因する問題であってもよい。ユーザに起因する問題は、パスワード忘れ、ユーザインターフェースの設定ミス、ユーザ許可の設定ミス、および/または同様のものなど、オペレーションズプラットフォームが検出できない問題であってもよい。いくつかの実装において、オペレーションズプラットフォームは、ユーザに起因する問題を一部、検出できてもよい。換言すれば、ユーザに起因する問題の定義は、オペレーションズプラットフォームが検出できないものに限定されない。問題の具体的な例には、バッチジョブの障害、中間ドキュメントの障害、閾値を満足する長さの時間にわたって実行しているプロセス、および/または同様のものが含まれる。
【0032】
参照番号105により示されるように、オペレーションズプラットフォームは、クライアントプラットフォームの動作を監視してもよい。オペレーションズプラットフォームは、クライアントプラットフォームに関連する問題を特定するためにクライアントプラットフォームの動作を監視してもよい。例として、オペレーションズプラットフォームは、クライアントプラットフォームのシステムスキャンを実行してもよい。いくつかの実装において、オペレーションズプラットフォームは、本願明細書の他の箇所にさらに詳細に記載されるように、問題を特定するためにクライアントプラットフォームのデータベースを監視してもよい。いくつかの実装において、監視は1つ以上の検出器により実行されてもよい。検出器は、クライアントプラットフォームの特定の側面を監視するように構成されたプログラム、コンポーネント、モジュール、ボット、またはスクリプトを含んでもよい。いくつかの実装において、検出器は、オペレーションズプラットフォームにより自動的に構成されてもよい。いくつかの実装において、検出器は、ユーザにより(例えば外部デバイスからのメッセージに基づいて)構成されてもよい。いくつかの実装において、検出器は、スケジュールに関連してもよく、スケジュールは、オペレーションズプラットフォームまたは外部デバイスに関連するユーザにより設定可能であってもよい。
【0033】
参照番号110により示されるように、オペレーションズプラットフォームは、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出してもよい。例として、オペレーションズプラットフォームは、上述した検出器の1つ以上を使用して問題を検出してもよい。いくつかの実装において、オペレーションズプラットフォームは、問題を特定する情報を格納または提供してもよい。例として、オペレーションズプラットフォームは、オペレーションズプラットフォームが問題を検出すると、管理者に通知を提供してもよい。別の例として、オペレーションズプラットフォームは、オペレーションズプラットフォームが問題を検出すると、特定のエンティティに通知を提供してもよい。例として、特定のエンティティは、問題が関連するクライアントプラットフォームのドメインまたはサブシステムに関連してもよい。
【0034】
図1Bにおいて、参照番号115により示されるように、オペレーションズプラットフォームは、格納されているボット(例えばオペレーションズプラットフォームおよび/またはクライアントプラットフォームにより格納されている)が問題を解決できると判断してもよい。例として、オペレーションズプラットフォームは、問題の問題タイプに基づいて、格納されているボットに問題が関連すると判断してもよい。別の例として、オペレーションズプラットフォームは、格納されているボットが、問題を検出した検出器に関連することに基づいて、格納されているボットに問題が関連すると判断してもよい。第3の例として、オペレーションズプラットフォームは、問題を解決するために実行されるアクションに基づいて(例えば格納されているボットがそのアクションを実行するように構成されていると判断することに基づいて)、格納されているボットに問題が関連すると判断してもよい。他の例があり得、本願明細書で予期されている。
【0035】
参照番号120により示されるように、オペレーションズプラットフォームは、格納されているボットを、問題を解決するために実行してもよい。例として、本願明細書に記載されるボットは、対応する問題を解決するためのアクションを実行するように構成されているプログラムまたはスクリプトであってもよい。クライアントプラットフォームがSAP ERPプラットフォームまたはシステムである場合など、いくつかの実装において、ボットは、アドバンストビジネスアプリケーションプログラミング(ABAP:Advanced Business Application Programming)または同様の言語を使用してプログラムまたは構成されてもよい。オペレーションズプラットフォームは、格納されているボットを、問題を解決するために展開または実行してもよい。いくつかの実装において、オペレーションズプラットフォームは、格納されているボットを展開または実行するために情報を集めてもよい。例として、格納されているボットが問題の解決に情報を必要とする場合、オペレーションズプラットフォームは、クライアントプラットフォームのデータベース(例えば後述のデータベース430)から、または外部デバイス(例えば後述の外部デバイス220)からの情報をリクエストまたは取得してもよい。このように、オペレーションズプラットフォームは、人為介入なしに問題の解決に必要な情報を集めて、それによって、同時に解決可能な問題の量を増大させ、問題の解決速度を向上させ、問題の解決に関連する人為エラーを削減し、リソース(例えばプロセッサ、メモリ、ネットワーク、および/または同様のもの)を節約してもよい。
【0036】
参照番号125により示されるように、オペレーションズプラットフォームは、問題が解決されたと判断してもよい。例として、オペレーションズプラットフォームは、問題がもはや検出されないと判断してもよい。さらに、または代わりに、オペレーションズプラットフォームは、格納されているボットが正常な結果を返したと判断してもよい。いくつかの実装において、オペレーションズプラットフォームは、問題が解決されたと示す情報を(例えば管理者に、問題に関連するサブシステムに関連するエンティティに、外部デバイスになど)提供してもよい。このように、オペレーションズプラットフォームは、人為介入なしに問題を解決し、適切な相手に通知する。これは、人的な行為者を使用して達成することができないであろう量および効率性での、クライアントプラットフォームの保守を可能にしてもよい。さらに、本願明細書に記載された実装は、ユーザインターフェースの相互作用なしに問題を解決し、それによって、ユーザインターフェースリソースを節約してもよい。
【0037】
図1Cは、ボットを展開するための事後対応型のアプローチを示し、ボットは、後述の外部デバイス220などの外部デバイスから受信された命令に基づいて展開される。ユーザに起因する問題(例えばパスワード紛失、ユーザアカウントの削除など)を解決するためのボットの展開など、ユーザがトリガするボットの展開には、事後対応型のアプローチが有用かもしれない。図1Cにおいて、参照番号130により示されるように、外部デバイスは、ボット識別子およびセキュリティトークンをセキュリティハンドシェイクに基づいて取得してもよい。例として、外部デバイスは、オペレーションズプラットフォームとペアにされてもよい外部オペレーションズプラットフォーム(OP:operations platform)セキュリティコンポーネント(例えば後述する外部OPセキュリティコンポーネント510)を含んでもよい。外部デバイスは、下記で図5に関してさらに詳細に記載されるように、外部OPセキュリティコンポーネントおよび/またはオペレーションズプラットフォームとセキュリティハンドシェイクを実行してもよい。特に、セキュリティハンドシェイクは、従来のデジタルセキュリティ技術に加えて実行されて、それによって、オペレーションズプラットフォームのセキュリティを高め、ボットの悪意ある実行の可能性を低減させてもよい。
【0038】
参照番号135により示されるように、外部デバイスは、ボットを展開する命令を提供してもよい。例として命令は、ボット識別子を含んでもよい。いくつかの実装において、ボット識別子は、セキュリティハンドシェイクに基づいて外部デバイスにより暗号化され、それによってさらにセキュリティが高められてもよい。さらに示されるように、命令は、オペレーションズプラットフォームと外部デバイスの外部OPセキュリティコンポーネントとのペアに対応してもよいセキュリティトークンを含み、それによってセキュリティがさらにいっそう高められてもよい。
【0039】
参照番号140により示されるように、オペレーションズプラットフォームは、ボット識別子およびセキュリティトークンが有効であると判断してもよい。いくつかの実装において、オペレーションズプラットフォームは、命令が適切なフォーマットになっていて、且つ/または適切な情報を含むと判断してもよい。このプロセスは、下記で図7に関してさらに詳細に記載される。参照番号145により示されるように、オペレーションズプラットフォームは、ボット識別子により特定されたボットを実行してもよい。いくつかの実装において、オペレーションズプラットフォームは、ボットを実行した結果を判断してもよく、さらにボットを実行した結果を特定する情報を提供してもよい。例として、オペレーションズプラットフォームは、ボットの実行の結果を特定する情報を外部デバイスに提供してもよい。
【0040】
このように、外部デバイスは、セキュリティハンドシェイクの実行後にボットの実行をトリガすることができ、これは、外部デバイスによるボット実行のセキュアなトリガを可能にする。いくつかの実装において、外部デバイスとオペレーションズプラットフォームとの通信は単一のAPIに基づき、それによって、通信の実装を単純化し、オーバーヘッドおよび他の場合であれば複数のAPIを介した通信に使用されるであろうプロセッサリソースを節約してもよい。
【0041】
特に、ボット(例えば検出器ボット、実行ボット、および/または監視ボット)は、クライアントプラットフォームのユーザインターフェースとの相互作用なしに、本願明細書に記載された動作を実行してもよい。これは、クライアントプラットフォームのユーザインターフェースとの相互作用を介して実装されるであろうRPAに比べ利点を提供し得る。例として、RPAソリューションは、ERPシステムにおいてはかなりの頻度で発生し得る、ユーザインターフェースの再構成の影響を受けやすいかもしれない。さらに、RPAはクライアントプラットフォームにより提供されなければならないユーザインターフェースと相互作用する必要があるのに対して、オペレーションズプラットフォームはユーザインターフェースの相互作用なしに問題解決のためボットを実行でき、それにより、ユーザインターフェースの提供に使用されたであろうクライアントプラットフォームのリソース、ならびにユーザインターフェースとの相互作用に使用されたであろうオペレーションズプラットフォームおよび/または外部デバイスのリソースを節約するので、RPAは、本願明細書に記載された実装よりも効率性が低いかもしれない。
【0042】
上記で指摘されたように、図1A図1Cは、単に例として提供される。他の例が可能であり、図1A図1Cに関して記載されたものとは異なってもよい。
【0043】
図2は、本願明細書に記載されるシステムおよび/または方法が実装され得る例示の環境200の図である。図2に示されるように、環境200は、クライアントデバイス210、外部デバイス220、オペレーションズプラットフォーム230、および分析デバイス250を含んでもよい。環境200のデバイスは、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して相互に接続してもよい。
【0044】
クライアントデバイス210は、ERPシステムまたはERPプラットフォームをホストできるデバイスを含む。例としてクライアントデバイス210は、サーバまたはサーバのグループを含んでもよい。いくつかの実装において、クライアントデバイス210は、ERPシステムまたはERPプラットフォーム(例えばSAP ERPシステムまたはSAP ERPプラットフォーム)などのクライアントプラットフォームをホストしてもよい。いくつかの実装において、クライアントデバイス210(またはクライアントデバイス210によりホストされるクライアントプラットフォーム)は、オペレーションズプラットフォーム230をホストしてもよい。いくつかの実装において、クライアントデバイス210によりホストされるものとして上記に記載されたクライアントプラットフォームは、クラウドコンピューティング環境240において実装されてもよい。
【0045】
外部デバイス220は、ボットを実行する命令に関連する情報を受信、生成、格納、処理、または提供できるデバイスを含む。例として外部デバイス220は、サーバまたはサーバのグループを含んでもよい。いくつかの実装において、外部デバイス220は、クラウドコンピューティング環境240において実装されてもよい。
【0046】
オペレーションズプラットフォーム230は、ERPシステムまたはERPプラットフォームにおけるボットの構成または実行に関連する情報を受信、生成、格納、処理、および/または提供できるデバイスを含む。いくつかの実装において、オペレーションズプラットフォーム230は、下記で図4に記載されるコンポーネントのうちの1つ以上を含んでもよい。いくつかの実装において、オペレーションズプラットフォーム230は、クライアントデバイス210上に実装されてもよい。さらに、または代わりに、オペレーションズプラットフォーム230は、クラウドコンピューティング環境240において実装されてもよい。
【0047】
クラウドコンピューティング環境240は、コンピューティングをサービスとして提供する環境を含み、それによって共有リソース、サービスなどがクライアントデバイス210、クライアントプラットフォーム、外部デバイス220、オペレーションズプラットフォーム230、および/または分析デバイス250に提供され得る。クラウドコンピューティング環境240は、サービスを提供するシステムおよび/またはデバイスの物理的な位置および構成についてエンドユーザの知識を要求しない演算、ソフトウェア、データアクセス、ストレージおよび/または他のサービスを提供してもよい。示されるように、クラウドコンピューティング環境240は、コンピューティングリソース235を含んでもよい。
【0048】
コンピューティングリソース235は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または別のタイプの演算および/または通信デバイスを含む。いくつかの実装において、コンピューティングリソース235はオペレーションズプラットフォーム230をホストしてもよい。クラウドリソースは、コンピューティングリソース235において実行される計算インスタンス、コンピューティングリソース235内に提供されるストレージデバイス、コンピューティングリソース235により提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装において、コンピューティングリソース235は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース235と通信してもよい。
【0049】
図2にさらに示されるように、コンピューティングリソース235は、1つ以上のアプリケーション(「APP(application)」)235-1、1つ以上の仮想マシン(「VM(virtual machine)」)235-2、仮想化ストレージ(「VS(virtualized storage)」)235-3、1つ以上のハイパーバイザ(「HYP(hypervisor)」)235-4、または同様のものなどのクラウドリソースのグループを含んでもよい。
【0050】
アプリケーション235-1は、クライアントデバイス210に提供されても、またはクライアントデバイス210によりアクセスされてもよい1つ以上のソフトウェアアプリケーションを含む。アプリケーション235-1は、クライアントデバイス210上でソフトウェアアプリケーションをインストールして実行する必要性をなくしてもよい。例として、アプリケーション235-1は、オペレーションズプラットフォーム230に関連するソフトウェア、および/またはクラウドコンピューティング環境240を介して提供できる他の任意のソフトウェアを含んでもよい。いくつかの実装において、1つのアプリケーション235-1は、仮想マシン235-2を介して他の1つ以上のアプリケーション235-1との間で情報を送受信してもよい。
【0051】
仮想マシン235-2は、物理マシンのようにプログラムを実行するマシン(例えばコンピュータ)のソフトウェア実装を含む。仮想マシン235-2は、用途、および仮想マシン235-2の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS(operating system)」)の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。一部の実装において、仮想マシン235-2は、ユーザ(例えばクライアントデバイス210)の代わりに実行してもよく、データ管理、同期化、または長期データ転送など、クラウドコンピューティング環境240のインフラストラクチャの管理をしてもよい。
【0052】
仮想化ストレージ235-3は、コンピューティングリソース235のストレージシステムまたはデバイスの中で仮想化技術を使用する1つ以上のストレージシステムおよび/または1つ以上のデバイスを含む。いくつかの実装において、ストレージシステムの文脈の中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化(または分離)を指してもよく、その結果、物理ストレージまたは異種構造と無関係にストレージシステムがアクセスされ得る。この分離は、ストレージシステムの管理者がエンドユーザに対しどのようにストレージを管理するかの点で、柔軟性を管理者に認めてもよい。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される場所との間の依存関係をなくしてもよい。これは、ストレージ使用の最適化、サーバコンソリデーション、および/または無停止ファイルマイグレーションの実行を可能にしてもよい。
【0053】
ハイパーバイザ235-4は、複数のオペレーティングシステム(例えば「ゲストオペレーティングシステム」)がコンピューティングリソース235などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技術を提供する。ハイパーバイザ235-4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【0054】
分析デバイス250は、オペレーションズプラットフォーム230により集められたデータの分析に関連する情報を受信、格納、生成、処理、分析、および/または提供することができる1つ以上のデバイスを含む。例として分析デバイス250は、サーバ、サーバのグループ、ユーザデバイス(例えばラップトップ、デスクトップコンピュータ、スマートフォン、タブレットなど)、および/または同様のものを含んでもよい。いくつかの実装において、分析デバイス250は、クラウドコンピューティング環境240において実装されてもよい。
【0055】
ネットワーク260は、1つ以上の有線ネットワークおよび/または無線ネットワークを含む。例として、ネットワーク260は、セルラネットワーク(例えばロングタームエボリューション(LTE:long-term evolution)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワーク、3Gネットワーク、4Gネットワーク、5Gネットワーク、別のタイプの次世代ネットワークなど)、公衆陸上モバイルネットワーク(PLMN:public land mobile network)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話網(例えば公衆交換電話網(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、クラウドコンピューティングネットワーク、または同様のもの、および/またはこれらもしくはその他のタイプのネットワークの組み合わせを含んでもよい。
【0056】
図2に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図2に示されたものに比べて、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、または別様に配置されたデバイスおよび/またはネットワークがあってもよい。さらに、図2に示されている2つ以上のデバイスが単一のデバイス内に実装されてもよく、または、図2に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境200のデバイスのセット(例えば1つ以上のデバイス)が、環境200のデバイスの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
【0057】
図3は、デバイス300の例示のコンポーネントの図である。デバイス300は、クライアントデバイス210、外部デバイス220、および分析デバイス250に対応し得る。いくつかの実装において、クライアントデバイス210、外部デバイス220、および/または分析デバイス250は、1つ以上のデバイス300および/またはデバイス300の1つ以上のコンポーネントを含んでもよい。図3に示されるように、デバイス300は、バス310、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、および通信インターフェース370を含んでもよい。
【0058】
バス310は、デバイス300のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ320は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせにおいて実装される。プロセッサ320は、中央処理ユニット(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、アクセラレーテッド処理ユニット(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuit)、または別のタイプの処理コンポーネントの形態をとる。いくつかの実装において、プロセッサ320は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。メモリ330は、プロセッサ320により使用される情報および/または命令を格納するランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、および/または別のタイプの動的ストレージデバイスもしくは静的ストレージデバイス(例えばフラッシュメモリ、磁気メモリ、および/または光学メモリ)などの1つ以上のメモリを含む。
【0059】
ストレージコンポーネント340は、デバイス300の動作および使用に関係する情報および/またはソフトウェアを格納する。例としてストレージコンポーネント340は、ハードディスク(例えば磁気ディスク、光学ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【0060】
入力コンポーネント350は、デバイス300が、ユーザ入力(例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロホン)を介してなど、情報を受信することを可能にするコンポーネントを含む。さらに、または代わりに、入力コンポーネント350は、情報を感知するセンサ(例えばグローバルポジショニングシステム(GPS:global positioning system)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力コンポーネント360は、デバイス300からの出力情報を提供するコンポーネントを含む(例えばディスプレイ、スピーカ、および/または1つ以上の発光ダイオード(LED:light-emitting diode))。
【0061】
通信インターフェース370は、デバイス300が有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント(例えばトランシーバならびに/または別々の受信機および送信機)を含む。通信インターフェース370は、デバイス300が、別のデバイスから情報を受信し、且つ/または別のデバイスに情報を提供することを可能にしてもよい。例として通信インターフェース370は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース、ユニバーサルシリアルバス(USB:universal serial bus)インターフェース、Wi-Fiインターフェース、セルラネットワークインターフェース、および/または同様のものを含んでもよい。
【0062】
デバイス300は、本願明細書に記載された1つ以上のプロセスを実行してもよい。デバイス300は、メモリ330および/またはストレージコンポーネント340などの非一時的コンピュータ可読媒体により格納されたソフトウェア命令をプロセッサ320が実行するのに基づいてこれらのプロセスを実行してもよい。本願明細書において、コンピュータ可読媒体は非一時的なメモリデバイスと定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにまたがったメモリ空間を含む。
【0063】
ソフトウェア命令は、メモリ330および/またはストレージコンポーネント340に別のコンピュータ可読媒体から、または通信インターフェース370を介して別のデバイスから読み込まれてもよい。メモリ330および/またはストレージコンポーネント340に格納されたソフトウェア命令は、実行されると本願明細書に記載された1つ以上のプロセスをプロセッサ320に実行させてもよい。さらに、または代わりに、本願明細書に記載の1つ以上のプロセスを実行するために、配線による回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【0064】
図3に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス300は、図3に示されたものと比べて、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス300のコンポーネントのセット(例えば1つ以上のコンポーネント)が、デバイス300のコンポーネントの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
【0065】
図4は、本願明細書に記載されるオペレーションズプラットフォーム230の例示の実装400の図である。示されるように、いくつかの実装において、オペレーションズプラットフォーム230は、クライアントデバイス210上で実行または動作してもよい。これは、他の場合であれば、オペレーションズプラットフォーム230がクライアントデバイス210の外部のものであるときに、オペレーションズプラットフォーム230とクライアントデバイス210との間の通信を促進するために使用されるであろう帯域幅、プロセッサオーバーヘッド、およびその他リソースを節約し得る。いくつかの実装において、オペレーションズプラットフォーム230は、クライアントデバイス210とは異なるデバイスまたはリソースのセット上で実行されてもよい。例として、オペレーションズプラットフォーム230は、クラウドコンピューティング環境および/または同様のものの一部として実装されてもよい。これは、オペレーションズプラットフォーム230の増大した拡張性と、より柔軟なリソース割り当てとを提供してもよい。いくつかの実装において、クライアントデバイス210は、クライアントプラットフォームを実装または提供してもよい。例としてクライアントプラットフォームは、SAP ERPを使用して実装されるものなどのERPシステムを含んでもよい。
【0066】
示されるように、オペレーションズプラットフォーム230は、検出/展開コンポーネント410を含んでもよい。検出/展開コンポーネント410は、クライアントデバイス210に関連する問題を検出してもよく、検出された問題を解決するためにボットを展開してもよい。いくつかの実装において、検出/展開コンポーネント410は、問題を解決するためのボットを生成してもよい。例として検出/展開コンポーネント410は、問題を解決するために実行されるアクションを特定してもよく、そのアクションを実行するプログラムを(例えばABAPまたは同様の言語を使用して)生成してもよく、そのプログラムを使用してボットを生成してもよい。例として、ボットは、そのプログラムを含んでも、またはそのプログラムであってもよい。
【0067】
さらに示されるように、オペレーションズプラットフォーム230は、ソリューションライブラリ420を含んでもよい。ソリューションライブラリ420は、問題を解決するためのアクションを実行するメソッドまたはサブメソッドを特定する情報など、ボットを実行または展開するための情報を格納してもよい。いくつかの実装において、ソリューションライブラリは、ボットおよび/またはボットを特定する情報を格納してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、ソリューションライブラリ420を参照することにより、特定の問題についてボットまたはメソッドをオペレーションズプラットフォーム230が格納しているかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム230がボットを生成すると、オペレーションズプラットフォーム230は、ソリューションライブラリ420を使用してボットを格納してもよい。
【0068】
さらに示されるように、オペレーションズプラットフォーム230は、クライアントデバイス210のデータベース430と通信してもよい。データベース430は、クライアントデバイス210のシステムデータベース(例えばSAP ERPプラットフォームのシステムデータベース)を含んでもよい。例として、検出/展開コンポーネント410は、問題を特定するためにデータベース430のシステムスキャンを実行してもよい。さらに、または代わりに、検出/展開コンポーネント410および/または検出/展開コンポーネント410により実行もしくは展開されるボットは、問題を解決するためにデータベース430と相互作用してもよい。
【0069】
さらに示されるように、オペレーションズプラットフォーム230は、API440に関連してもよい。API440は、外部デバイス220との通信を提供してもよい。例としてオペレーションズプラットフォーム230は、外部デバイスから受信されさらに/または外部デバイス220に提供される外部コールのサポートを提供してもよい。いくつかの実装において、API440は、インバウンドおよびアウトバウンドの通信を処理する1つだけのAPIを含んでもよく、これは、異なる2つのAPIを構成することに関連するプロセッサの使用量、複雑さ、およびオーバーヘッドを軽減する。
【0070】
いくつかの実装において、参照番号450により示されるように、オペレーションズプラットフォーム230は、セキュリティデータリクエストを外部デバイス220に提供してもよい。例として、セキュリティデータリクエストは、ハンドシェイク情報、外部デバイス220によりホストされる外部セキュリティコンポーネントにより提供される情報、および/または同様のものなどのセキュリティデータのリクエストであってもよい。外部デバイス220とオペレーションズプラットフォーム230とが、セキュリティデータリクエストに基づいてハンドシェイクを無事に実行すると想定する。いくつかの実装において、参照番号460により示されるように、外部デバイス220は、命令をオペレーションズプラットフォーム230に提供してもよい。命令は、下記でさらに詳細に記載されるように、ボット識別子および/またはセキュリティ情報を含んでもよい。さらに示されるように、オペレーションズプラットフォーム230および外部デバイス220は、下記で図5に関してさらに詳細に記載されるセキュリティプロトコル470に基づいて通信してもよい。
【0071】
上記で指摘されたように、図4は例として提供される。他の例が可能であり、図4に関して記載されたものとは異なってもよい。
【0072】
図5は、オペレーションズプラットフォーム230と外部デバイス220との間の通信のための例示のセキュリティ手続き500の図である。図5に示されるように、オペレーションズプラットフォーム230は、セキュリティコンポーネント505を含んでもよい。セキュリティコンポーネント505は、セキュリティトークン、公開鍵、暗号化情報、および/または同様のものなど、外部デバイス220とのハンドシェイクの実行に関連した情報を処理してもよい。さらに示されるように、外部デバイス220は、外部オペレーショナルプラットフォーム(OP)セキュリティコンポーネント510を含んでもよい。外部OPセキュリティコンポーネント510は、セキュリティ鍵および/または同様のものなど、オペレーションズプラットフォーム230とのハンドシェイクの実行に関連した情報を処理してもよい。いくつかの実装において、外部OPセキュリティコンポーネント510は、ボット識別子などの情報に対し暗号化および/または同様のことを実行してもよい。さらに、外部デバイス220は、外部デバイスコアを含むものとして示されている。外部デバイスコアは、外部デバイス220の任意のコンポーネントを含んでもよく、外部OPセキュリティコンポーネント510と外部デバイス220との間の相互作用を例示するのを支援するために示されている。
【0073】
いくつかの実装において、オペレーションズプラットフォーム230は、外部デバイス220との通信をセキュアにするためにセキュリティプロトコルを実行してもよい。例として、セキュリティプロトコルは、セッション暗号化、仮想プライベートネットワーク作成、および/または同様のものを含んでもよい。さらにオペレーションズプラットフォーム230は、オペレーションズプラットフォーム230と外部デバイス220との間の通信を暗号化するために、外部デバイス220とのハンドシェイクに基づく追加のセキュリティの層を適用してもよい。後述されるセキュリティ手続き500は、追加のセキュリティの層を提供してもよい。
【0074】
参照番号515により示されるように、外部デバイス220は、第1の鍵(例えば鍵1)を外部OPセキュリティコンポーネント510にリクエストしてもよい。例として、第1の鍵は、オペレーションズプラットフォーム230に関連してもよく、外部OPセキュリティコンポーネント510により外部デバイス220が信頼されているとオペレーションズプラットフォーム230にシグナリングするために使用されてもよい。参照番号520により示されるように、外部OPセキュリティコンポーネント510は、第1の鍵を外部デバイス220に提供してもよい。参照番号525により示されるように、外部デバイス220は、第1の鍵をオペレーションズプラットフォーム230に提供してもよい。オペレーションズプラットフォーム230は、第1の鍵が有効かどうかを(例えばセキュアシェルファイルなど、オペレーションズプラットフォーム-外部デバイスペアについて提供された一意のファイルを使用して)判断してもよい(図示せず)。
【0075】
参照番号530により示されるように、第1の鍵(図示せず)を確認(図示せず)した後、オペレーションズプラットフォーム230は、セキュリティトークンおよび第2の鍵(例えば鍵2)を提供してもよい。例として第2の鍵は、外部デバイス220からオペレーションズプラットフォーム230へのセキュアな供給のために情報を暗号化するべく外部OPセキュリティコンポーネント510が使用できる公開鍵であってもよい。
【0076】
参照番号535により示されるように、外部デバイス220は、第2の鍵およびボット識別子(ID:identifier)を外部OPセキュリティコンポーネント510に提供してもよい。ボット識別子は、オペレーションズプラットフォーム230が実行または展開するべきボットを特定してもよい。これは、外部デバイス220に、オペレーションズプラットフォーム230によるボットの実行をトリガする能力を提供してもよい。したがって、オペレーションズプラットフォーム230は、外部デバイス220からの命令に基づいてボットを実行してもよく、これが、オペレーションズプラットフォーム230が検出できないかもしれない問題(例えばパスワード忘れおよび/または同様のものなどのユーザに起因する問題)を修復するボットの実行を可能にする。いくつかの実装において、外部OPセキュリティコンポーネント510は、第2の鍵(図示せず)を使用してボット識別子を暗号化してもよい。例として、暗号化アルゴリズムは、Blowfish、Twofish、またはその他任意の妥当な暗号化アルゴリズムを含んでもよい。ボット識別子を暗号化することにより、セキュリティが向上し、悪意のある命令がオペレーションズプラットフォーム230に提供される可能性が低減される。
【0077】
参照番号540により示されるように、外部OPセキュリティコンポーネント510は、暗号化されたボット識別子を外部デバイス220に提供してもよい。参照番号545により示されるように、外部デバイス220は、暗号化されたボット識別子、セキュリティトークン、およびセキュリティデータをオペレーションズプラットフォーム230に提供してもよい。セキュリティデータは、外部デバイス220を特定する情報、外部OPセキュリティコンポーネント510を特定する情報、および/または同様のものなど、暗号化されたボット識別子および/またはセキュリティトークンを確認するためにオペレーションズプラットフォーム230により必要とされる任意のデータを含んでもよい。
【0078】
オペレーションズプラットフォーム230は、暗号化されたボット識別子を、第2の鍵(例えば第2の鍵の秘密鍵)を使用して復号してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、外部デバイス220により提供されたセキュリティトークンが参照番号530に関して提供されたセキュリティトークンと一致すると判断してもよい。参照番号550により示されるように、オペレーションズプラットフォーム230は、セキュリティトークンを確認すると、ボットを実行して、実行の結果を特定する情報を外部デバイス220に提供してもよい。
【0079】
このように、オペレーションズプラットフォーム230および外部OPセキュリティコンポーネント510は、従来のセキュリティ技術(例えばセキュアトンネリング、暗号化など)と比べて追加のセキュリティを提供し、これが、外部デバイス220から受信される命令に基づくボットの実行を可能にする。これが結果として、オペレーションズプラットフォーム230により検出不可能かもしれないユーザに起因する問題を解決するためのボットの実行を可能にする。
【0080】
上記で指摘されたように、図5は単に例として提供される。他の例が可能であり、図5に関して記載されたものとは異なってもよい。
【0081】
図6は、自動的に問題を検出し、問題を解決するためにボットを展開する例示のプロセス600のフローチャートである。いくつかの実装において、図6の1つ以上のプロセスブロックが、オペレーションズプラットフォーム230により実行されてもよい。いくつかの実装において、図6の1つ以上のプロセスブロックは、クライアントデバイス210、外部デバイス220、分析デバイス250、および/または同様のものなどの、オペレーションズプラットフォーム230とは別個の、またはオペレーションズプラットフォーム230を含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【0082】
図6に示されるように、プロセス600は、クライアントプラットフォームを監視することを含んでもよい(ブロック610)。例としてオペレーションズプラットフォーム230は、(例えばコンピューティングリソース235および/またはプロセッサ320を使用して)クライアントプラットフォームを監視してもよい。クライアントプラットフォームは、クライアントデバイス210またはクラウドコンピューティング環境240上に実装されてもよい。いくつかの実装において、クライアントプラットフォームはSAP ERPプラットフォームまたはシステムを含んでもよい。オペレーションズプラットフォーム230は、オペレーションズプラットフォーム230または別のデバイスにより格納されてもよい1つ以上のボットを使用して解決可能な問題を特定または検出するためにクライアントプラットフォームを監視してもよい。いくつかの実装において、監視は、クライアントプラットフォームのユーザインターフェースとの相互作用なしに実行され、それによって、他の場合であればユーザインターフェースを提供し且つ/またはそれと相互作用するために使用されるであろうリソースを節約してもよい。
【0083】
いくつかの実装において、オペレーションズプラットフォーム230は、1つ以上の検出器を使用してクライアントプラットフォームを監視してもよい。いくつかの実装において、検出器はボットを含んでもよい。例として検出器は、クライアントプラットフォーム(例えばクライアントプラットフォームのデータベース)に関して条件が満たされたかどうかを判断するためのプログラム(例えばABAPまたは同様の言語を使用)を含んでもよい。いくつかの実装において、検出器はユーザにより構成されてもよい。例としてユーザは、条件と、条件が満たされると実行される実行ボットとを特定する情報を提供してもよい。このように、ユーザは、問題を検出するためにクライアントプラットフォームの自動監視を設定してもよく、これにより、問題を特定するための手動の相互作用に関連するプロセッサリソースが節約され得る。さらに、問題の自動検出は、エラー通知をユーザに提供するのに比べてそのような問題の事前対応型の解決を可能にし、それによって、クライアントプラットフォームに対する影響を軽減し得る。
【0084】
いくつかの実装において、オペレーションズプラットフォーム230は、分析のための情報を取得するためにクライアントプラットフォームを監視してもよい。例としてオペレーションズプラットフォーム230は、そのような情報を取得するために監視ボットを展開してもよい。分析のための情報を集めるために監視ボットを使用することは、他の場合であればそのような情報を手動で集めるために、またはそのような情報を集めるべく外部デバイス220のユーザインターフェースを提供するために使用されるであろう、プロセッサリソースおよびユーザインターフェースリソースを節約してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、下記でブロック660に関してさらに詳細に記載されるように、分析のための情報を提供してもよい。
【0085】
図6にさらに示されるように、プロセス600は、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出することを含んでもよい(ブロック620)。例としてオペレーションズプラットフォーム230は、(例えばコンピューティングリソース235および/またはプロセッサ320を使用して)問題を(例えば本願明細書の他の箇所でより詳細に記載されるように検出器ボットを使用して)検出してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、(例えばクライアントプラットフォームの監視に基づいて)問題を事前対応的に検出してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、問題に関連する命令を受信してもよい。例として、問題は、オペレーションズプラットフォーム230が直接に検出することはできないかもしれない、ユーザに起因する問題であってもよい。そのような事例において、問題の検出は間接的であってもよい(例えばオペレーションズプラットフォーム230は命令の受信に基づいて問題を検出してもよい)。
【0086】
図6にさらに示されるように、プロセス600は、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかを判断することを含んでもよい(ブロック630)。例としてオペレーションズプラットフォーム230は、問題を解決するためのボットへのアクセスをオペレーションズプラットフォーム230が有するかどうかを、(例えばコンピューティングリソース235および/またはプロセッサ320を使用して)判断してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、ボットがオペレーションズプラットフォーム230により格納されているかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、ボットが、オペレーションズプラットフォーム230に関連しまたはそれがアクセスできるデバイス(例えばクライアントデバイス210、外部デバイス220など)により格納されているかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、問題を検出した検出器ボットが問題を解決するための実行ボットに関連するかどうかを判断してもよく、実行ボットがオペレーションズプラットフォーム230またはオペレーションズプラットフォーム230がアクセスできる別のデバイスにより格納されているかどうかを判断してもよい。
【0087】
図6にさらに示されるように、プロセス600は、オペレーションズプラットフォームがボットへのアクセスを有しない場合、ボットを生成することを含んでもよい(ブロック640)。例として、いくつかの事例において、オペレーションズプラットフォーム230は、問題を解決するためのボット(例えば実行ボット)へのアクセスを有しなくてもよい。そのような事例において、オペレーションズプラットフォーム230は、(例えばコンピューティングリソース235および/またはプロセッサ320を使用して)ボットを生成してもよい。例としてオペレーションズプラットフォーム230は、対応する問題を解決するためのサブプロセスを特定するソリューションライブラリ(例えばソリューションライブラリ420)を格納してもよい。オペレーションズプラットフォーム230は、問題を解決するために、ソリューションライブラリによって特定されたサブプロセスに従って問題を解決するためのボット(例えばABAPプログラムおよび/または同様のもの)を生成してもよい。このように、オペレーションズプラットフォーム230は、適切な実行ボットが利用可能でない場合、ソリューションライブラリに基づいて実行ボットを自動生成し、それによって、問題の自動解決を可能にしてもよい。いくつかの実装において、オペレーションズプラットフォーム230は、実行ボットを構成または生成するための構成情報を受信してもよい(例えば人為入力および/または同様のものに基づく)。
【0088】
いくつかの実装において、ボットは、他の2つ以上のボットを組み合わせることにより生成されてもよい。例として、オペレーションズプラットフォーム230は、問題が第1のボットおよび第2のボットに関連すると判断してもよく、さらに、問題を解決するためのボットを生成するために第1のボットと第2のボットとを組み合わせてもよい。第1のボットと第2のボットとを組み合わせることは、第1のボットおよび/または第2のボットのコードを変更することを含んでもよい。さらに、または代わりに、オペレーションズプラットフォーム230(またはオペレーションズプラットフォーム230に関連するユーザ)は、特定の順序で実行されるべき2つ以上のボットを特定してもよい。例としてオペレーションズプラットフォーム230は、問題を解決するために、第1のボット、続いて第2のボット、続いて最後に第3のボットが実行されるべきであると判断してもよい。したがって、生成されるボットは、特定の順序で実行されるべき既存のボットの組み合わせを含んでもよい。別の例として、オペレーションズプラットフォーム230(またはオペレーションズプラットフォーム230に関連するユーザ)は、問題を解決するために既存のボットに関数を追加してもよい。例として、オペレーションズプラットフォーム230は、関数を特定するためにソリューションライブラリを使用してもよく、関数を実装するために既存のボットにコード(例えばABAPコードおよび/または同様のもの)を追加してもよい。
【0089】
いくつかの実装において、生成されたボットが問題を解決すれば、オペレーションズプラットフォーム230は、生成されたボットのボット位置を、解決された問題のタイプを特定する情報とともに格納してもよい。このように、オペレーションズプラットフォーム230は、ボットのリポジトリを拡大して、既存のボットにより解決可能な問題の数を拡大する。
【0090】
図6にさらに示されるように、プロセス600は、問題を解決するためにクライアントプラットフォームに対してボットを展開することを含んでもよい(ブロック650)。例としてオペレーションズプラットフォーム230は、(例えばコンピューティングリソース235および/またはプロセッサ320を使用して)ボットを展開(例えば実行)してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、外部デバイス220から受信された情報などの特定の情報に基づいてボットを展開してもよい。例としてオペレーションズプラットフォーム230は、オペレーションズプラットフォーム230が外部デバイス220から受信してもよく、または外部デバイス220にリクエストしてもよい、構成情報、特定のパラメータ、および/または同様のものに基づいてボットを展開してもよい。いくつかの実装において、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決してもよい。例としてボットは、クライアントプラットフォームに関連するデータベース(例えばデータベース430および/または同様のもの)に対する読み取りおよび/または書き込みに基づいて問題を解決し、それによって、ユーザインターフェースを提供するためおよび/またはそれと相互作用するために使用されたであろうリソースを節約してもよい。
【0091】
図6にさらに示されるように、プロセス600は、クライアントプラットフォームの監視に基づいて分析のための監視情報を提供することを含んでもよい(ブロック660)。例として、いくつかの実装においてオペレーションズプラットフォーム230は、(例えばコンピューティングリソース235および/またはプロセッサ320を使用して)クライアントプラットフォームを監視して、分析のための情報を取得してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、本願明細書の他の箇所にさらに詳細に記載されるように、1つ以上の監視ボットを使用してクライアントプラットフォームを監視してもよい。1つ以上の監視ボットを使用することにより、オペレーションズプラットフォーム230は、分析のための情報収集の効率性を高めてもよい。例として、そのような情報を収集するいくつかの技術は、ユーザインターフェースを使用して実装される場合もあり、ユーザインターフェースの実装および/またはユーザインターフェースとの相互作用のためにプロセッサリソースを使用し得る。別の例として、分析のための情報は、別々のプログラム、サブシステム、および/または同様のものに関連する場合もある。当該の事例では、分析のための情報を収集するのに別々のプログラムおよび/またはユーザインターフェースを使用するのは非効率かもしれない。監視ボットの実装、および分析のための情報収集のために単一のオペレーションズプラットフォーム230を単一のAPIとともに使用することにより、オペレーションズプラットフォーム230は、プロセッサリソースを節約し、情報を集める際のエラーを削減し、集めることができる情報の量を増大させる。
【0092】
いくつかの実装において、オペレーションズプラットフォーム230は、分析のための情報を提供してもよい。例としてオペレーションズプラットフォーム230は、分析デバイス250による分析のために情報を提供してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、分析のための情報を分析してもよい。いくつかの実装において、分析は、ERPデータに対して実行される任意の処理または分析を含んでもよい。例として分析は、財務分析、運用分析、および/または同様のものを含んでもよい。いくつかの実装において、オペレーションズプラットフォーム230または分析デバイス250は、ユーザ設定に基づいて分析を実行してもよい。例として、オペレーションズプラットフォーム230または分析デバイス250は、ユーザ設定を特定する入力(例えばユーザ入力)を受信してもよく、ユーザ設定に基づいて分析を実行してもよい。ユーザ設定は、分析のために監視される情報、分析のために実行される特定の動作、分析について生成されるレポート、および/または同様のものを特定してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、単一のAPIを使用して分析のための情報を提供してもよく、これは、複数の異なるAPIを実装するために使用されたであろう処理リソースおよび/または監視リソースを節約する。
【0093】
図6はプロセス600の例示のブロックを示すが、いくつかの実装においてプロセス600は、図6に示されたものに比べて追加のブロック、より少ないブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス600のブロックの2つ以上が並列実行されてもよい。
【0094】
図7は、外部デバイスから受信された命令に基づいてボットを実行する例示のプロセス700の図である。いくつかの実装において、図7の1つ以上のプロセスブロックが、オペレーションズプラットフォーム230により実行されてもよい。いくつかの実装において、図7の1つ以上のプロセスブロックは、クライアントデバイス210、外部デバイス220、分析デバイス250、および/または同様のものなどの、オペレーションズプラットフォーム230とは別個の、またはオペレーションズプラットフォーム230を含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【0095】
図7に示されるように、プロセス700は、命令を受信することを含んでもよい(ブロック705)。例としてオペレーションズプラットフォーム230は、外部デバイス220から命令を受信してもよい。命令は、ボット識別子、セキュリティトークン、および/またはセキュリティデータを含んでもよい。外部デバイス220は、ボット識別子により特定されたボットをオペレーションズプラットフォーム230に実行させる命令を提供してもよい。いくつかの実装において、ボット識別子は暗号化されてもよい。例として、外部デバイス220に関連する外部OPセキュリティコンポーネント510は、オペレーションズプラットフォーム230に関連する公開鍵(例えば図5に関して記載された第2の鍵)を使用してボット識別子を暗号化してもよい。
【0096】
図7にさらに示されるように、プロセス700は、外部デバイス220に関してセキュリティチェックを実行することを含んでもよい(ブロック710)。セキュリティチェックは、上記で図5に関して記載されたプロセスに対応してもよい。例として、セキュリティチェックは、図5に関して記載されたハンドシェイクプロセスを含んでもよい。
【0097】
図7にさらに示されるように、プロセス700は、ハンドシェイク(例えばセキュリティチェック)が成功したかどうかを判断することを含んでもよい(ブロック715)。いくつかの事例では、ハンドシェイクは成功しないかもしれない(例えば第1の鍵が無効であることに基づいて、外部デバイス220が無効なセキュリティトークンを提供することに基づいて、など)。そのような事例では、オペレーションズプラットフォーム230は、命令により指示されたボットを実行してはならず、プロセス700を終了してもよい(ブロック715-いいえ)。
【0098】
図7にさらに示されるように、ハンドシェイクが成功すると(例えばセキュリティチェックが成功すると)(ブロック715-はい)、次にプロセス700は、命令が有効かどうかを判断することを含んでもよい(ブロック720)。例としてオペレーションズプラットフォーム230は、命令がソリューションライブラリ420において定義されたフォーマットと一致するかどうか、および/またはソリューションライブラリ420により指定される情報を含むかどうかを判断してもよい。このようにして、オペレーションズプラットフォーム230は、悪意のある命令が成功する可能性を低減させてもよい。いくつかの事例において、命令は有効でないかもしれない(例えばフォーマットに一致しないか、またはソリューションライブラリ420により指定される情報を含まないかもしれない)。そのような事例では、オペレーションズプラットフォーム230は、命令により指示されたボットを実行してはならず、プロセス700を終了してもよい(ブロック720-いいえ)。
【0099】
図7にさらに示されるように、オペレーションズプラットフォーム230は、命令のセキュリティデータが完全かどうかを判断してもよい(ブロック725)。例としてオペレーションズプラットフォーム230は、命令が、ボットの実行に必要なセキュリティデータをすべて含むかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム230は、命令が、ボットを実行するために必要なデータをすべて含むかどうかを判断してもよい。例として、ボットは、特定のパラメータ、構成情報、および/または同様のものを必要とするかもしれず、これはソリューションライブラリ420により指示されるかもしれない。オペレーションズプラットフォーム230は、命令が特定のパラメータ、構成情報、および/または同様のものをすべて指定するかどうかを判断してもよい。データが完全でなければ(ブロック725-いいえ)、オペレーションズプラットフォーム230は、データが完全になるまでオペレーションズプラットフォーム230にデータをリクエストしてもよい。
【0100】
図7にさらに示されるように、セキュリティデータ(または他のデータ)が完全であれば(ブロック725-はい)、次にプロセス700は、ボットを実行することを含んでもよい(ブロック730)。例として、オペレーションズプラットフォーム230は、ハンドシェイク(例えばセキュリティチェック)が完了し、命令が有効であり、データが完全であればボットを実行してもよい。さらに示されるように、プロセス700は、結果を返すことを含んでもよい(ブロック735)。例としてオペレーションズプラットフォーム230は、ボットの実行結果を判断してもよく、その結果を外部デバイス220または別のデバイスに提供してもよい。このように、オペレーションズプラットフォーム230は、外部デバイス220からの命令に基づいてボットをセキュアに実行し、それによって、(例えばユーザに起因する問題を解決するために)オペレーションズプラットフォーム230の外部制御を可能にしてもよい。さらにこれは、単一のAPIを使用した、問題の効率的な遠隔解決を提供してもよく、これにより、異なる多数のAPI、ユーザインターフェース、および/または同様のものを使用して問題の解決を試行するのに比べてプロセッサリソースが節約され、効率性が高まり、技術知識の要件が緩和される。
【0101】
図7はプロセス700の例示のブロックを示すが、いくつかの実装においてプロセス700は、図7に示されたものに比べて追加のブロック、より少ないブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス700のブロックの2つ以上が並列実行されてもよい。
【0102】
このように、SAP ERPシステムの動作が改善され、同時解決可能な問題の量が増大する。これは、問題の解決速度を高めて、問題解決に関わる人為エラーを削減するかもしれない。さらに、本願明細書に記載されるボット(例えば検出器ボット、実行ボット、および/または監視ボット)は、クライアントプラットフォームのユーザインターフェースとの相互作用なしに本願明細書に記載された動作を実行してもよい。これは、クライアントプラットフォームのユーザインターフェースとの相互作用を介して実装されるであろうRPAに比べ利点を提供し得る。例として、RPAソリューションは、ERPシステムにおいてはかなりの頻度で発生し得る、ユーザインターフェースの再構成の影響を受けやすいかもしれない。さらに、RPAはクライアントプラットフォームにより提供されなければならないユーザインターフェースと相互作用する必要があるのに対して、オペレーションズプラットフォーム230はユーザインターフェースの相互作用なしに問題解決のためボットを実行でき、それにより、ユーザインターフェースの提供に使用されたであろうクライアントプラットフォームのリソース、ならびにオペレーションズのリソースを節約するので、RPAは、本願明細書に記載された実装よりも効率性が低いかもしれない。
【0103】
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図されていない。上記の開示を考慮して変更および変形が生じ得るし、または実装の実施から習得されるかもしれない。
【0104】
本願明細書で使用されるとき、コンポーネントという用語は、ハードウェア、ファームウェア、および/またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるよう意図される。
【0105】
いくつかの実装は、閾値に関して本願明細書に記載された。本願明細書で使用されるとき、閾値を満足するとは、値が閾値より大きいこと、閾値を超えること、閾値より高いこと、閾値以上であること、閾値未満であること、閾値より少ないこと、閾値より低いこと、閾値以下であること、閾値と等しいこと、または同様のことを指すことができる。
【0106】
当然のことながら、本願明細書に記載されたシステムおよび/または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび/または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されたが、当然のことながら、ソフトウェアおよびハードウェアを、本願明細書の記載に基づきシステムおよび/または方法を実装するよう設計可能である。
【0107】
特徴の特定の組み合わせが特許請求の範囲に記載され且つ/または明細書で開示されるが、これらの組み合わせは可能な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的に特許請求の範囲に記載および/または明細書に開示されなかった形で組み合わされてもよい。下記に列挙される各従属クレームは、1つのみのクレームに直接従属するかもしれないが、考えられる実装の開示は、クレームセットの中の他のすべてのクレームと組み合わせた各従属クレームを含む。
【0108】
本願明細書で使用されるいずれの要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る(aおよびan)」は、1つ以上の項目を含むよう意図され、「1つ以上の(one or more)」と交換可能なように使用され得る。さらに、本願明細書で使用されるとき、「セット(set)」という用語は、1つ以上の項目(例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど)を含むよう意図され、「1つ以上の(one or more)」と交換可能なように使用され得る。1つのみの項目が意図される場合、「1つの(one)」という用語または同様の言語が使用される。さらに、本願明細書で使用されるとき、「有する(has、have、having)」という用語または同様のものは、非限定的な用語であるものと意図される。さらに、「基づく(based on)」という表現は、別段の記載が明示的にされない限り「少なくとも部分的に基づく(based,at least in part,on)」を意味するよう意図される。
図1A
図1B
図1C
図2
図3
図4
図5
図6
図7