(57)【要約】      （修正有）【課題】ユーザインターフェースと相互作用することなしに問題を解決可能なエンタープライズリソースプラニング（ＥＲＰ）プラットフォームを提供する。【解決手段】クライアントデバイスのプロセッサは、クライアントプラットフォームのユーザインターフェースと相互作用することなしにクライアントプラットフォームを監視し６１０、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出する６２０。次に、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかを判断し６３０、オペレーションズプラットフォームがボットへのアクセスを有しない場合、ボットを生成する６４０。そして問題を解決するためにクライアントプラットフォームに対してボットを展開し６５０、クライアントプラットフォームの監視に基づいて分析のための監視情報を提供する６６０。【選択図】図６
2019204496.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のメモリと、
前記１つ以上のメモリに通信結合された１つ以上のプロセッサと、
を含むオペレーションズプラットフォームであって、前記１つ以上のプロセッサは、
クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記クライアントプラットフォームを監視することと、
前記クライアントプラットフォームの監視に基づいて前記クライアントプラットフォームに関連する問題を検出することと、
前記問題を解決するためのボットへのアクセスを前記オペレーションズプラットフォームが有するかどうかを判断することと、
前記オペレーションズプラットフォームが前記ボットへのアクセスを有しない場合、前記ボットを生成することと、
前記問題を解決するために前記クライアントプラットフォームに対して前記ボットを展開することと、
をし、
前記ボットは、前記クライアントプラットフォームの前記ユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、オペレーションズプラットフォーム。
【請求項２】
前記クライアントプラットフォームは、エンタープライズリソースプラニングシステムに関連する、請求項１に記載のオペレーションズプラットフォーム。
【請求項３】
前記ボットは、第１のボットであり、前記問題は、第１の問題であり、
前記１つ以上のプロセッサはさらに、
第２の問題に関連する第２のボットを展開する命令を受信することと、
前記第２の問題を解決するために前記第２のボットを展開することと、
をする、請求項１に記載のオペレーションズプラットフォーム。
【請求項４】
前記１つ以上のプロセッサはさらに、
前記命令に関連してセキュリティ情報を受信し、
前記セキュリティ情報は、前記第２のボットの暗号化されたボット識別子を含み、
前記１つ以上のプロセッサは、前記第２のボットを展開するとき、
前記セキュリティ情報に基づいて前記第２のボットを展開する、請求項３に記載のオペレーションズプラットフォーム。
【請求項５】
前記１つ以上のプロセッサはさらに、
前記命令を受信する前にハンドシェイクを実行し、
前記１つ以上のプロセッサは、前記第２のボットを展開するとき、
前記ハンドシェイクの結果に基づいて前記第２のボットを展開する、請求項３に記載のオペレーションズプラットフォーム。
【請求項６】
前記第２の問題は、ユーザに起因する問題である、請求項３に記載のオペレーションズプラットフォーム。
【請求項７】
前記第２のボットは、前記クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、請求項６に記載のオペレーションズプラットフォーム。
【請求項８】
監視命令に基づいてクライアントプラットフォームをオペレーションズプラットフォームにより監視するステップと、
前記クライアントプラットフォームの監視に基づいて前記クライアントプラットフォームに関連する問題を前記オペレーションズプラットフォームにより検出するステップと、
前記問題を解決するためのボットへのアクセスを前記オペレーションズプラットフォームが有するかどうかを前記オペレーションズプラットフォームにより判断するステップと、
前記オペレーションズプラットフォームが前記ボットへのアクセスを有しない場合、前記オペレーションズプラットフォームにより前記ボットを生成するステップと、
前記問題を解決するために前記クライアントプラットフォームに対して前記ボットを前記オペレーションズプラットフォームにより展開するステップと、
を含む方法であって、
前記ボットは、前記クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、方法。
【請求項９】
前記クライアントプラットフォームの監視に基づいて集められる情報を分析のために提供するステップ
をさらに含む、請求項８に記載の方法。
【請求項１０】
前記クライアントプラットフォームの監視に基づいて集められる情報に対して分析を実行するステップ
をさらに含む、請求項８に記載の方法。
【請求項１１】
前記方法は、
前記ボットを展開する命令を受信するステップ
をさらに含み、
前記命令は、前記クライアントプラットフォーム外部の外部デバイスから受信される、請求項８に記載の方法。
【請求項１２】
前記外部デバイスは、前記オペレーションズプラットフォームに関連するコンポーネントに関連し、前記命令は、前記コンポーネントにより生成されるセキュリティ情報とともに提供される、請求項１１に記載の方法。
【請求項１３】
前記クライアントプラットフォームは、前記クライアントプラットフォームの前記ユーザインターフェースとの相互作用なしに監視される、請求項８に記載の方法。
【請求項１４】
前記ボットは、第１のボットであり、前記方法はさらに、
ユーザに起因する問題を解決するためにボットを展開する命令を受信するステップであって、
前記命令は、前記オペレーションズプラットフォームのアプリケーションプログラミングインターフェースを介して受信される、前記受信するステップと、
前記ユーザに起因する問題を解決するために第２のボットを展開するステップと、
を含む、請求項８に記載の方法。
【請求項１５】
前記ユーザに起因する問題は、前記クライアントプラットフォームを監視することにより検出できない、請求項１４に記載の方法。
【請求項１６】
命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、
オペレーションズプラットフォームの１つ以上のプロセッサにより実行されると前記１つ以上のプロセッサに、
ボットを使用して解決できクライアントプラットフォームに関連する問題を特定することであって、
前記問題の前記特定は、
前記クライアントプラットフォームを監視することにより取得される情報、または
前記問題を解決するために前記ボットを実行する命令を受信すること
のうちの一方に基づく、前記特定することと、
前記問題を解決するために前記ボットがアクセス可能であるかまたはローカルに格納されているかを判断することと、
前記ボットがアクセス可能でも、ローカルに格納されてもいない場合、前記ボットを生成することと、
前記問題を解決するために前記クライアントプラットフォームに対して前記ボットを実行することであって、
前記ボットは、前記クライアントプラットフォームのユーザインターフェースと相互作用することなしに前記問題を解決するように構成されている、前記実行することと、
をさせる１つ以上の命令
を含む、非一時的コンピュータ可読媒体。
【請求項１７】
前記クライアントプラットフォームは、ＳＡＰエンタープライズリソースプラニングプラットフォームを含む、請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記１つ以上の命令は、前記１つ以上のプロセッサにより実行されると、前記１つ以上のプロセッサにさらに、
前記クライアントプラットフォームを監視することにより取得される前記情報を分析のために提供すること
をさせる、請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記１つ以上の命令は、前記１つ以上のプロセッサにより実行されると、前記１つ以上のプロセッサに、
セキュリティ情報に関連して前記命令を受信すること
をさせ、
前記セキュリティ情報は、前記クライアントプラットフォーム外部の外部デバイスから受信され、
前記セキュリティ情報は、前記外部デバイス上で動作し前記オペレーションズプラットフォームに関連するコンポーネントにより生成または提供される、請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記命令は、前記ボットを特定し、前記セキュリティ情報は、前記オペレーションズプラットフォームおよび前記コンポーネントに対応するトークンを含む、請求項１９に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的に、エンタープライズリソースプラニングのための自動化された問題検出および解決フレームワークのためのオペレーションズプラットフォームおよび方法に関する。
【背景技術】
【０００２】
事業体は、ソフトウェアプラットフォームを使用して、リソースの使用量または割り当てを計画し得る。例として、このソフトウェアプラットフォームは、エンタープライズリソースプラニング（ＥＲＰ：ｅｎｔｅｒｐｒｉｓｅ  ｒｅｓｏｕｒｃｅ  ｐｌａｎｎｉｎｇ）プラットフォームと呼ばれることもある。ＥＲＰプラットフォームは、事業体の重要機能を実行するための様々なソフトウェアインターフェースおよびコンポーネントを提供し得る。ＥＲＰプラットフォームの１つは、ＳＡＰ  ＥＲＰプラットフォームである。
【発明の概要】
【課題を解決するための手段】
【０００３】
いくつかの可能な実装において、オペレーションズプラットフォームは、１つ以上のメモリと、１つ以上のメモリに通信結合された１つ以上のプロセッサとを含んでもよく、１つ以上のプロセッサは、クライアントプラットフォームのユーザインターフェースと相互作用することなしにクライアントプラットフォームを監視することと、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出することと、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかを判断することと、オペレーションズプラットフォームがボットへのアクセスを有しない場合、ボットを生成することと、問題を解決するためにクライアントプラットフォームに対してボットを展開することと、をし、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されている。
【０００４】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、クライアントプラットフォームは、エンタープライズリソースプラニングシステムに関連してもよい。
【０００５】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、ボットは、第１のボットであってもよく、問題は、第１の問題であってもよく、１つ以上のプロセッサはさらに、第２の問題に関連する第２のボットを展開する命令を受信することと、第２の問題を解決するために第２のボットを展開することと、をしてもよい。
【０００６】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、１つ以上のプロセッサはさらに、命令に関連してセキュリティ情報を受信してもよく、セキュリティ情報は、第２のボットの暗号化されたボット識別子を含み、１つ以上のプロセッサは、第２のボットを展開するとき、セキュリティ情報に基づいて第２のボットを展開してもよい。
【０００７】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、１つ以上のプロセッサはさらに、命令を受信する前にハンドシェイクを実行してもよく、１つ以上のプロセッサは、第２のボットを展開するとき、ハンドシェイクの結果に基づいて第２のボットを展開してもよい。
【０００８】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、第２の問題は、ユーザに起因する問題であってもよい。
【０００９】
上記のオペレーションズプラットフォームのいくつかの可能な実装において、第２のボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されていてもよい。
【００１０】
いくつかの可能な実装において、方法は、監視命令に基づいてクライアントプラットフォームをオペレーションズプラットフォームにより監視するステップと、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題をオペレーションズプラットフォームにより検出するステップと、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかをオペレーションズプラットフォームにより判断するステップと、オペレーションズプラットフォームがボットへのアクセスを有しない場合、オペレーションズプラットフォームによりボットを生成するステップと、問題を解決するためにクライアントプラットフォームに対してボットをオペレーションズプラットフォームにより展開するステップと、を含んでもよく、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されている。
【００１１】
上記の方法のいくつかの可能な実装において、方法は、クライアントプラットフォームの監視に基づいて集められる情報を分析のために提供するステップをさらに含んでもよい。
【００１２】
上記の方法のいくつかの可能な実装において、方法は、クライアントプラットフォームの監視に基づいて集められる情報に対して分析を実行するステップをさらに含んでもよい。
【００１３】
上記の方法のいくつかの可能な実装において、方法は、ボットを展開する命令を受信するステップをさらに含んでもよく、命令は、クライアントプラットフォーム外部の外部デバイスから受信される。
【００１４】
上記の方法のいくつかの可能な実装において、外部デバイスは、オペレーションズプラットフォームに関連するコンポーネントに関連してもよく、命令は、コンポーネントにより生成されるセキュリティ情報とともに提供されてもよい。
【００１５】
上記の方法のいくつかの可能な実装において、クライアントプラットフォームは、クライアントプラットフォームのユーザインターフェースとの相互作用なしに監視されてもよい。
【００１６】
上記の方法のいくつかの可能な実装において、ボットは、第１のボットであってもよく、方法は、ユーザに起因する問題を解決するためにボットを展開する命令を受信するステップであって、命令は、オペレーションズプラットフォームのアプリケーションプログラミングインターフェースを介して受信される、受信するステップと、ユーザに起因する問題を解決するために第２のボットを展開するステップと、をさらに含んでもよい。
【００１７】
上記の方法のいくつかの可能な実装において、ユーザに起因する問題は、クライアントプラットフォームを監視することにより検出できない問題であってもよい。
【００１８】
いくつかの可能な実装において、非一時的コンピュータ可読媒体は、１つ以上の命令を格納してもよく、１つ以上の命令は、オペレーションズプラットフォームの１つ以上のプロセッサにより実行されると１つ以上のプロセッサに、ボットを使用して解決できクライアントプラットフォームに関連する問題を特定することであって、問題の特定は、クライアントプラットフォームを監視することにより取得される情報、または問題を解決するためにボットを実行する命令を受信することのうちの一方に基づく、特定することと、問題を解決するためにボットがアクセス可能であるかまたはローカルに格納されているかを判断することと、ボットがアクセス可能でも、ローカルに格納されてもいない場合、ボットを生成することと、問題を解決するためにクライアントプラットフォームに対してボットを実行することであって、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決するように構成されている、実行することと、をさせる。
【００１９】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、クライアントプラットフォームは、ＳＡＰエンタープライズリソースプラニングプラットフォームを含んでもよい。
【００２０】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、１つ以上の命令は、１つ以上のプロセッサにより実行されると、１つ以上のプロセッサにさらに、クライアントプラットフォームを監視することにより取得される情報を分析のために提供することをさせてもよい。
【００２１】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、１つ以上の命令は、１つ以上のプロセッサにより実行されると、１つ以上のプロセッサに、セキュリティ情報に関連して命令を受信することをさせてもよく、セキュリティ情報は、クライアントプラットフォーム外部の外部デバイスから受信され、セキュリティ情報は、外部デバイス上で動作しオペレーションズプラットフォームに関連するコンポーネントにより生成または提供される。
【００２２】
上記の非一時的コンピュータ可読媒体のいくつかの可能な実装において、命令は、ボットを特定してもよく、セキュリティ情報は、オペレーションズプラットフォームおよびコンポーネントに対応するトークンを含んでもよい。
【図面の簡単な説明】
【００２３】
【図１Ａ】本願明細書に記載される例示の実装の概観の図である。
【図１Ｂ】本願明細書に記載される例示の実装の概観の図である。
【図１Ｃ】本願明細書に記載される例示の実装の概観の図である。
【図２】本願明細書に記載されるシステムおよび／または方法が実装され得る例示の環境の図である。
【図３】図２の１つ以上のデバイスの例示のコンポーネントの図である。
【図４】オペレーションズプラットフォームの例示の実装の図である。
【図５】オペレーションズプラットフォームと外部デバイスとの間の通信のための例示のセキュリティ手続きの図である。
【図６】自動的に問題を検出し、問題を解決するためにボットを展開する例示のプロセスのフローチャートである。
【図７】外部デバイスから受信された命令に基づいてボットを実行する例示のプロセスのフローチャートである。
【発明を実施するための形態】
【００２４】
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の要素を特定することがある。
【００２５】
事業体は、運営、財務、人的資本管理、および企業サービスなど、事業体の機能を実行するためにＥＲＰプラットフォームを使用し得る。例としてＥＲＰプラットフォームは、こうした様々な機能に関連するデータの収集、格納、および管理を扱うこともある。ＥＲＰは、データベース管理システムにより維持される共通のデータベースを使用して、コアビジネスプロセスの、統合され且つ絶えず更新される展望を提供し得る。ＥＲＰプラットフォームの１つは、ＳＡＰ  ＥＲＰである。
【００２６】
ＥＲＰプラットフォームは、リソースプラニングのためのセキュリティと、カスタマイズ可能なユーザインターフェースと、データまたは機能へのリアルタイム（例えばほぼリアルタイム）のアクセスとを提供し得る。しかしながら、セキュリティ、カスタマイズ可能なユーザインターフェース、およびデータへのリアルタイムアクセスを提供するためのソフトウェアの使用は、エラーまたは問題発生の可能性をもたらし得る。これらの問題は、ユーザに関連すること（例えばパスワード忘れ、バッチジョブの設定ミスなど）またはシステムに関連すること（例えばバッチジョブの障害、中間ドキュメント（ＩＤＯＣ：ｉｎｔｅｒｍｅｄｉａｔｅ  ｄｏｃｕｍｅｎｔ）の障害など）がある。さらに、一部のＥＲＰプラットフォームは、特にＥＲＰプラットフォームが種々の技術およびデータベースとインターフェースをとらなければならない場合、強固な分析機能を提供しないこともある。最後に、ユーザに起因する一部の問題（例えばパスワード忘れ）は、ＥＲＰプラットフォーム内で検出不可能なこともある。
【００２７】
本願明細書に記載されるいくつかの実装は、ＳＡＰ  ＥＲＰなどのＥＲＰプラットフォーム内の問題を自動的に検出する。例として、本願明細書に記載されるいくつかの実装は、問題を検出するためにＥＲＰプラットフォームを自動的且つ事前対応的に監視してもよく、問題を解決するためにＥＲＰプラットフォーム内にボットを展開してもよい。これは、ロボティックプロセスオートメーション（ＲＰＡ：ｒｏｂｏｔｉｃ  ｐｒｏｃｅｓｓ  ａｕｔｏｍａｔｉｏｎ）など、エラーの検出および解決のためのユーザインターフェースベースのサービスよりも効率的かもしれない。ＲＰＡは時間が経つにつれて変化することもあるユーザインターフェースとの相互作用を必要とするからである。さらに、本願明細書に記載されるいくつかの実装は、監視データを収集するためにＥＲＰプラットフォームを監視してもよく、監視データの分析を実行しまたは分析のために監視データを提供してもよい。これは、ＳＡＰ  ＥＲＰプラットフォームなどの一部のＥＲＰプラットフォームにはネイティブで実行するのが困難または不可能であるかもしれない、ＥＲＰプラットフォームに関連するデータの分析を提供してもよい。さらに、本願明細書に記載されるいくつかの実装は、ＥＲＰプラットフォームには検出できない問題（例えばパスワード紛失などのユーザに起因する問題）の解決をトリガするユーザ相互作用のためのインターフェース（例えばユーザインターフェース、アプリケーションプログラミングインターフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）など）を提供してもよい。本願明細書に記載されるいくつかの実装は、問題を解決するために事後対応的に（例えばユーザインターフェースへの入力に基づいて、外部デバイスとの相互作用に基づいてなど）ボットを展開してもよい。
【００２８】
このように、本願明細書に記載された実装は、ＥＲＰプラットフォームの動作を改善し、その一方で、ＥＲＰプラットフォームに関わる問題を特定および解決するために必要な手動入力を削減し得る。さらに、本願明細書に記載される実装は、ＥＲＰプラットフォームのユーザインターフェースと相互作用するＲＰＡベースのアプローチなどのより効率性が低いアプローチに比べて、プロセッサリソースを節約し、ＥＲＰプラットフォームの状態のより包括的な展望を提供し得る。またさらに、本願明細書に記載される実装は、ＥＲＰプラットフォームのユーザインターフェースが変化するのに伴い再構成を必要とし得るＲＰＡベースのアプローチよりも、ユーザインターフェースの変化に対する順応性が高い可能性がある。
【００２９】
図１Ａ〜図１Ｃは、本願明細書に記載される例示の実装１００の概観の図である。示されるように、例示の実装１００は、クライアントデバイス（例えば後述のクライアントデバイス２１０）上に実装されたクライアントプラットフォームを含む。いくつかの実装において、クライアントプラットフォームは、クラウドコンピューティング環境（例えば後述のクラウドコンピューティング環境２４０）において実装されてもよい。クライアントプラットフォームは、ＳＡＰ  ＥＲＰプラットフォームなどのＥＲＰプラットフォームを含んでもよい。さらに示されるように、オペレーションズプラットフォーム（例えば後述のオペレーションズプラットフォーム２３０）は、クライアントプラットフォームおよび／またはクライアントデバイス上に実装されてもよい。いくつかの実装において、オペレーションズプラットフォームは、クラウドコンピューティング環境において実装されてもよい。
【００３０】
示されるように、クライアントプラットフォームは、ＥＲＰデータを受信してもよく、そのデータに基づいて１つ以上のＥＲＰ出力を出力してもよい。実際は、ＥＲＰプラットフォームの動作はかなり複雑な場合もあり、多数の異なるソースからデータを取得して、データを処理または操作して、データを種々の利害関係者またはユーザに提供することを含むこともある。ここでは、ＥＲＰプラットフォームの動作は、本願明細書に記載される実装を説明するとき、明瞭にするために簡略化される。
【００３１】
示されるように、クライアントプラットフォームは、或る問題に関連してもよい。問題は、設定エラー、動作エラー、通信エラー、またはクライアントプラットフォームの動作に関わる他の任意のタイプの技術的問題を含み得る。いくつかの事例では、問題は、ユーザに起因する問題であってもよい。ユーザに起因する問題は、パスワード忘れ、ユーザインターフェースの設定ミス、ユーザ許可の設定ミス、および／または同様のものなど、オペレーションズプラットフォームが検出できない問題であってもよい。いくつかの実装において、オペレーションズプラットフォームは、ユーザに起因する問題を一部、検出できてもよい。換言すれば、ユーザに起因する問題の定義は、オペレーションズプラットフォームが検出できないものに限定されない。問題の具体的な例には、バッチジョブの障害、中間ドキュメントの障害、閾値を満足する長さの時間にわたって実行しているプロセス、および／または同様のものが含まれる。
【００３２】
参照番号１０５により示されるように、オペレーションズプラットフォームは、クライアントプラットフォームの動作を監視してもよい。オペレーションズプラットフォームは、クライアントプラットフォームに関連する問題を特定するためにクライアントプラットフォームの動作を監視してもよい。例として、オペレーションズプラットフォームは、クライアントプラットフォームのシステムスキャンを実行してもよい。いくつかの実装において、オペレーションズプラットフォームは、本願明細書の他の箇所にさらに詳細に記載されるように、問題を特定するためにクライアントプラットフォームのデータベースを監視してもよい。いくつかの実装において、監視は１つ以上の検出器により実行されてもよい。検出器は、クライアントプラットフォームの特定の側面を監視するように構成されたプログラム、コンポーネント、モジュール、ボット、またはスクリプトを含んでもよい。いくつかの実装において、検出器は、オペレーションズプラットフォームにより自動的に構成されてもよい。いくつかの実装において、検出器は、ユーザにより（例えば外部デバイスからのメッセージに基づいて）構成されてもよい。いくつかの実装において、検出器は、スケジュールに関連してもよく、スケジュールは、オペレーションズプラットフォームまたは外部デバイスに関連するユーザにより設定可能であってもよい。
【００３３】
参照番号１１０により示されるように、オペレーションズプラットフォームは、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出してもよい。例として、オペレーションズプラットフォームは、上述した検出器の１つ以上を使用して問題を検出してもよい。いくつかの実装において、オペレーションズプラットフォームは、問題を特定する情報を格納または提供してもよい。例として、オペレーションズプラットフォームは、オペレーションズプラットフォームが問題を検出すると、管理者に通知を提供してもよい。別の例として、オペレーションズプラットフォームは、オペレーションズプラットフォームが問題を検出すると、特定のエンティティに通知を提供してもよい。例として、特定のエンティティは、問題が関連するクライアントプラットフォームのドメインまたはサブシステムに関連してもよい。
【００３４】
図１Ｂにおいて、参照番号１１５により示されるように、オペレーションズプラットフォームは、格納されているボット（例えばオペレーションズプラットフォームおよび／またはクライアントプラットフォームにより格納されている）が問題を解決できると判断してもよい。例として、オペレーションズプラットフォームは、問題の問題タイプに基づいて、格納されているボットに問題が関連すると判断してもよい。別の例として、オペレーションズプラットフォームは、格納されているボットが、問題を検出した検出器に関連することに基づいて、格納されているボットに問題が関連すると判断してもよい。第３の例として、オペレーションズプラットフォームは、問題を解決するために実行されるアクションに基づいて（例えば格納されているボットがそのアクションを実行するように構成されていると判断することに基づいて）、格納されているボットに問題が関連すると判断してもよい。他の例があり得、本願明細書で予期されている。
【００３５】
参照番号１２０により示されるように、オペレーションズプラットフォームは、格納されているボットを、問題を解決するために実行してもよい。例として、本願明細書に記載されるボットは、対応する問題を解決するためのアクションを実行するように構成されているプログラムまたはスクリプトであってもよい。クライアントプラットフォームがＳＡＰ  ＥＲＰプラットフォームまたはシステムである場合など、いくつかの実装において、ボットは、アドバンストビジネスアプリケーションプログラミング（ＡＢＡＰ：Ａｄｖａｎｃｅｄ  Ｂｕｓｉｎｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ）または同様の言語を使用してプログラムまたは構成されてもよい。オペレーションズプラットフォームは、格納されているボットを、問題を解決するために展開または実行してもよい。いくつかの実装において、オペレーションズプラットフォームは、格納されているボットを展開または実行するために情報を集めてもよい。例として、格納されているボットが問題の解決に情報を必要とする場合、オペレーションズプラットフォームは、クライアントプラットフォームのデータベース（例えば後述のデータベース４３０）から、または外部デバイス（例えば後述の外部デバイス２２０）からの情報をリクエストまたは取得してもよい。このように、オペレーションズプラットフォームは、人為介入なしに問題の解決に必要な情報を集めて、それによって、同時に解決可能な問題の量を増大させ、問題の解決速度を向上させ、問題の解決に関連する人為エラーを削減し、リソース（例えばプロセッサ、メモリ、ネットワーク、および／または同様のもの）を節約してもよい。
【００３６】
参照番号１２５により示されるように、オペレーションズプラットフォームは、問題が解決されたと判断してもよい。例として、オペレーションズプラットフォームは、問題がもはや検出されないと判断してもよい。さらに、または代わりに、オペレーションズプラットフォームは、格納されているボットが正常な結果を返したと判断してもよい。いくつかの実装において、オペレーションズプラットフォームは、問題が解決されたと示す情報を（例えば管理者に、問題に関連するサブシステムに関連するエンティティに、外部デバイスになど）提供してもよい。このように、オペレーションズプラットフォームは、人為介入なしに問題を解決し、適切な相手に通知する。これは、人的な行為者を使用して達成することができないであろう量および効率性での、クライアントプラットフォームの保守を可能にしてもよい。さらに、本願明細書に記載された実装は、ユーザインターフェースの相互作用なしに問題を解決し、それによって、ユーザインターフェースリソースを節約してもよい。
【００３７】
図１Ｃは、ボットを展開するための事後対応型のアプローチを示し、ボットは、後述の外部デバイス２２０などの外部デバイスから受信された命令に基づいて展開される。ユーザに起因する問題（例えばパスワード紛失、ユーザアカウントの削除など）を解決するためのボットの展開など、ユーザがトリガするボットの展開には、事後対応型のアプローチが有用かもしれない。図１Ｃにおいて、参照番号１３０により示されるように、外部デバイスは、ボット識別子およびセキュリティトークンをセキュリティハンドシェイクに基づいて取得してもよい。例として、外部デバイスは、オペレーションズプラットフォームとペアにされてもよい外部オペレーションズプラットフォーム（ＯＰ：ｏｐｅｒａｔｉｏｎｓ  ｐｌａｔｆｏｒｍ）セキュリティコンポーネント（例えば後述する外部ＯＰセキュリティコンポーネント５１０）を含んでもよい。外部デバイスは、下記で図５に関してさらに詳細に記載されるように、外部ＯＰセキュリティコンポーネントおよび／またはオペレーションズプラットフォームとセキュリティハンドシェイクを実行してもよい。特に、セキュリティハンドシェイクは、従来のデジタルセキュリティ技術に加えて実行されて、それによって、オペレーションズプラットフォームのセキュリティを高め、ボットの悪意ある実行の可能性を低減させてもよい。
【００３８】
参照番号１３５により示されるように、外部デバイスは、ボットを展開する命令を提供してもよい。例として命令は、ボット識別子を含んでもよい。いくつかの実装において、ボット識別子は、セキュリティハンドシェイクに基づいて外部デバイスにより暗号化され、それによってさらにセキュリティが高められてもよい。さらに示されるように、命令は、オペレーションズプラットフォームと外部デバイスの外部ＯＰセキュリティコンポーネントとのペアに対応してもよいセキュリティトークンを含み、それによってセキュリティがさらにいっそう高められてもよい。
【００３９】
参照番号１４０により示されるように、オペレーションズプラットフォームは、ボット識別子およびセキュリティトークンが有効であると判断してもよい。いくつかの実装において、オペレーションズプラットフォームは、命令が適切なフォーマットになっていて、且つ／または適切な情報を含むと判断してもよい。このプロセスは、下記で図７に関してさらに詳細に記載される。参照番号１４５により示されるように、オペレーションズプラットフォームは、ボット識別子により特定されたボットを実行してもよい。いくつかの実装において、オペレーションズプラットフォームは、ボットを実行した結果を判断してもよく、さらにボットを実行した結果を特定する情報を提供してもよい。例として、オペレーションズプラットフォームは、ボットの実行の結果を特定する情報を外部デバイスに提供してもよい。
【００４０】
このように、外部デバイスは、セキュリティハンドシェイクの実行後にボットの実行をトリガすることができ、これは、外部デバイスによるボット実行のセキュアなトリガを可能にする。いくつかの実装において、外部デバイスとオペレーションズプラットフォームとの通信は単一のＡＰＩに基づき、それによって、通信の実装を単純化し、オーバーヘッドおよび他の場合であれば複数のＡＰＩを介した通信に使用されるであろうプロセッサリソースを節約してもよい。
【００４１】
特に、ボット（例えば検出器ボット、実行ボット、および／または監視ボット）は、クライアントプラットフォームのユーザインターフェースとの相互作用なしに、本願明細書に記載された動作を実行してもよい。これは、クライアントプラットフォームのユーザインターフェースとの相互作用を介して実装されるであろうＲＰＡに比べ利点を提供し得る。例として、ＲＰＡソリューションは、ＥＲＰシステムにおいてはかなりの頻度で発生し得る、ユーザインターフェースの再構成の影響を受けやすいかもしれない。さらに、ＲＰＡはクライアントプラットフォームにより提供されなければならないユーザインターフェースと相互作用する必要があるのに対して、オペレーションズプラットフォームはユーザインターフェースの相互作用なしに問題解決のためボットを実行でき、それにより、ユーザインターフェースの提供に使用されたであろうクライアントプラットフォームのリソース、ならびにユーザインターフェースとの相互作用に使用されたであろうオペレーションズプラットフォームおよび／または外部デバイスのリソースを節約するので、ＲＰＡは、本願明細書に記載された実装よりも効率性が低いかもしれない。
【００４２】
上記で指摘されたように、図１Ａ〜図１Ｃは、単に例として提供される。他の例が可能であり、図１Ａ〜図１Ｃに関して記載されたものとは異なってもよい。
【００４３】
図２は、本願明細書に記載されるシステムおよび／または方法が実装され得る例示の環境２００の図である。図２に示されるように、環境２００は、クライアントデバイス２１０、外部デバイス２２０、オペレーションズプラットフォーム２３０、および分析デバイス２５０を含んでもよい。環境２００のデバイスは、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して相互に接続してもよい。
【００４４】
クライアントデバイス２１０は、ＥＲＰシステムまたはＥＲＰプラットフォームをホストできるデバイスを含む。例としてクライアントデバイス２１０は、サーバまたはサーバのグループを含んでもよい。いくつかの実装において、クライアントデバイス２１０は、ＥＲＰシステムまたはＥＲＰプラットフォーム（例えばＳＡＰ  ＥＲＰシステムまたはＳＡＰ  ＥＲＰプラットフォーム）などのクライアントプラットフォームをホストしてもよい。いくつかの実装において、クライアントデバイス２１０（またはクライアントデバイス２１０によりホストされるクライアントプラットフォーム）は、オペレーションズプラットフォーム２３０をホストしてもよい。いくつかの実装において、クライアントデバイス２１０によりホストされるものとして上記に記載されたクライアントプラットフォームは、クラウドコンピューティング環境２４０において実装されてもよい。
【００４５】
外部デバイス２２０は、ボットを実行する命令に関連する情報を受信、生成、格納、処理、または提供できるデバイスを含む。例として外部デバイス２２０は、サーバまたはサーバのグループを含んでもよい。いくつかの実装において、外部デバイス２２０は、クラウドコンピューティング環境２４０において実装されてもよい。
【００４６】
オペレーションズプラットフォーム２３０は、ＥＲＰシステムまたはＥＲＰプラットフォームにおけるボットの構成または実行に関連する情報を受信、生成、格納、処理、および／または提供できるデバイスを含む。いくつかの実装において、オペレーションズプラットフォーム２３０は、下記で図４に記載されるコンポーネントのうちの１つ以上を含んでもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、クライアントデバイス２１０上に実装されてもよい。さらに、または代わりに、オペレーションズプラットフォーム２３０は、クラウドコンピューティング環境２４０において実装されてもよい。
【００４７】
クラウドコンピューティング環境２４０は、コンピューティングをサービスとして提供する環境を含み、それによって共有リソース、サービスなどがクライアントデバイス２１０、クライアントプラットフォーム、外部デバイス２２０、オペレーションズプラットフォーム２３０、および／または分析デバイス２５０に提供され得る。クラウドコンピューティング環境２４０は、サービスを提供するシステムおよび／またはデバイスの物理的な位置および構成についてエンドユーザの知識を要求しない演算、ソフトウェア、データアクセス、ストレージおよび／または他のサービスを提供してもよい。示されるように、クラウドコンピューティング環境２４０は、コンピューティングリソース２３５を含んでもよい。
【００４８】
コンピューティングリソース２３５は、１つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または別のタイプの演算および／または通信デバイスを含む。いくつかの実装において、コンピューティングリソース２３５はオペレーションズプラットフォーム２３０をホストしてもよい。クラウドリソースは、コンピューティングリソース２３５において実行される計算インスタンス、コンピューティングリソース２３５内に提供されるストレージデバイス、コンピューティングリソース２３５により提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装において、コンピューティングリソース２３５は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース２３５と通信してもよい。
【００４９】
図２にさらに示されるように、コンピューティングリソース２３５は、１つ以上のアプリケーション（「ＡＰＰ（ａｐｐｌｉｃａｔｉｏｎ）」）２３５−１、１つ以上の仮想マシン（「ＶＭ（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）」）２３５−２、仮想化ストレージ（「ＶＳ（ｖｉｒｔｕａｌｉｚｅｄ  ｓｔｏｒａｇｅ）」）２３５−３、１つ以上のハイパーバイザ（「ＨＹＰ（ｈｙｐｅｒｖｉｓｏｒ）」）２３５−４、または同様のものなどのクラウドリソースのグループを含んでもよい。
【００５０】
アプリケーション２３５−１は、クライアントデバイス２１０に提供されても、またはクライアントデバイス２１０によりアクセスされてもよい１つ以上のソフトウェアアプリケーションを含む。アプリケーション２３５−１は、クライアントデバイス２１０上でソフトウェアアプリケーションをインストールして実行する必要性をなくしてもよい。例として、アプリケーション２３５−１は、オペレーションズプラットフォーム２３０に関連するソフトウェア、および／またはクラウドコンピューティング環境２４０を介して提供できる他の任意のソフトウェアを含んでもよい。いくつかの実装において、１つのアプリケーション２３５−１は、仮想マシン２３５−２を介して他の１つ以上のアプリケーション２３５−１との間で情報を送受信してもよい。
【００５１】
仮想マシン２３５−２は、物理マシンのようにプログラムを実行するマシン（例えばコンピュータ）のソフトウェア実装を含む。仮想マシン２３５−２は、用途、および仮想マシン２３５−２の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム（「ＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）」）の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。一部の実装において、仮想マシン２３５−２は、ユーザ（例えばクライアントデバイス２１０）の代わりに実行してもよく、データ管理、同期化、または長期データ転送など、クラウドコンピューティング環境２４０のインフラストラクチャの管理をしてもよい。
【００５２】
仮想化ストレージ２３５−３は、コンピューティングリソース２３５のストレージシステムまたはデバイスの中で仮想化技術を使用する１つ以上のストレージシステムおよび／または１つ以上のデバイスを含む。いくつかの実装において、ストレージシステムの文脈の中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化（または分離）を指してもよく、その結果、物理ストレージまたは異種構造と無関係にストレージシステムがアクセスされ得る。この分離は、ストレージシステムの管理者がエンドユーザに対しどのようにストレージを管理するかの点で、柔軟性を管理者に認めてもよい。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される場所との間の依存関係をなくしてもよい。これは、ストレージ使用の最適化、サーバコンソリデーション、および／または無停止ファイルマイグレーションの実行を可能にしてもよい。
【００５３】
ハイパーバイザ２３５−４は、複数のオペレーティングシステム（例えば「ゲストオペレーティングシステム」）がコンピューティングリソース２３５などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技術を提供する。ハイパーバイザ２３５−４は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【００５４】
分析デバイス２５０は、オペレーションズプラットフォーム２３０により集められたデータの分析に関連する情報を受信、格納、生成、処理、分析、および／または提供することができる１つ以上のデバイスを含む。例として分析デバイス２５０は、サーバ、サーバのグループ、ユーザデバイス（例えばラップトップ、デスクトップコンピュータ、スマートフォン、タブレットなど）、および／または同様のものを含んでもよい。いくつかの実装において、分析デバイス２５０は、クラウドコンピューティング環境２４０において実装されてもよい。
【００５５】
ネットワーク２６０は、１つ以上の有線ネットワークおよび／または無線ネットワークを含む。例として、ネットワーク２６０は、セルラネットワーク（例えばロングタームエボリューション（ＬＴＥ：ｌｏｎｇ−ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ）ネットワーク、符号分割多元接続（ＣＤＭＡ：ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）ネットワーク、３Ｇネットワーク、４Ｇネットワーク、５Ｇネットワーク、別のタイプの次世代ネットワークなど）、公衆陸上モバイルネットワーク（ＰＬＭＮ：ｐｕｂｌｉｃ  ｌａｎｄ  ｍｏｂｉｌｅ  ｎｅｔｗｏｒｋ）、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、メトロポリタンエリアネットワーク（ＭＡＮ：ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、電話網（例えば公衆交換電話網（ＰＳＴＮ：Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ））、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、クラウドコンピューティングネットワーク、または同様のもの、および／またはこれらもしくはその他のタイプのネットワークの組み合わせを含んでもよい。
【００５６】
図２に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図２に示されたものに比べて、追加のデバイスおよび／またはネットワーク、より少ないデバイスおよび／またはネットワーク、異なるデバイスおよび／またはネットワーク、または別様に配置されたデバイスおよび／またはネットワークがあってもよい。さらに、図２に示されている２つ以上のデバイスが単一のデバイス内に実装されてもよく、または、図２に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境２００のデバイスのセット（例えば１つ以上のデバイス）が、環境２００のデバイスの別のセットにより実行されるものとして記載されている１つ以上の機能を実行してもよい。
【００５７】
図３は、デバイス３００の例示のコンポーネントの図である。デバイス３００は、クライアントデバイス２１０、外部デバイス２２０、および分析デバイス２５０に対応し得る。いくつかの実装において、クライアントデバイス２１０、外部デバイス２２０、および／または分析デバイス２５０は、１つ以上のデバイス３００および／またはデバイス３００の１つ以上のコンポーネントを含んでもよい。図３に示されるように、デバイス３００は、バス３１０、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、入力コンポーネント３５０、出力コンポーネント３６０、および通信インターフェース３７０を含んでもよい。
【００５８】
バス３１０は、デバイス３００のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ３２０は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせにおいて実装される。プロセッサ３２０は、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、アクセラレーテッド処理ユニット（ＡＰＵ：ａｃｃｅｌｅｒａｔｅｄ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、マイクロプロセッサ、マイクロコントローラ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、または別のタイプの処理コンポーネントの形態をとる。いくつかの実装において、プロセッサ３２０は、機能を実行するようにプログラムされることが可能な１つ以上のプロセッサを含む。メモリ３３０は、プロセッサ３２０により使用される情報および／または命令を格納するランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、および／または別のタイプの動的ストレージデバイスもしくは静的ストレージデバイス（例えばフラッシュメモリ、磁気メモリ、および／または光学メモリ）などの１つ以上のメモリを含む。
【００５９】
ストレージコンポーネント３４０は、デバイス３００の動作および使用に関係する情報および／またはソフトウェアを格納する。例としてストレージコンポーネント３４０は、ハードディスク（例えば磁気ディスク、光学ディスク、光磁気ディスク、および／またはソリッドステートディスク）、コンパクトディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｃ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）、フロッピーディスク、カートリッジ、磁気テープ、および／または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【００６０】
入力コンポーネント３５０は、デバイス３００が、ユーザ入力（例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および／またはマイクロホン）を介してなど、情報を受信することを可能にするコンポーネントを含む。さらに、または代わりに、入力コンポーネント３５０は、情報を感知するセンサ（例えばグローバルポジショニングシステム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）コンポーネント、加速度計、ジャイロスコープ、および／またはアクチュエータ）を含んでもよい。出力コンポーネント３６０は、デバイス３００からの出力情報を提供するコンポーネントを含む（例えばディスプレイ、スピーカ、および／または１つ以上の発光ダイオード（ＬＥＤ：ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ））。
【００６１】
通信インターフェース３７０は、デバイス３００が有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント（例えばトランシーバならびに／または別々の受信機および送信機）を含む。通信インターフェース３７０は、デバイス３００が、別のデバイスから情報を受信し、且つ／または別のデバイスに情報を提供することを可能にしてもよい。例として通信インターフェース３７０は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数（ＲＦ：ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）インターフェース、ユニバーサルシリアルバス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）インターフェース、Ｗｉ−Ｆｉインターフェース、セルラネットワークインターフェース、および／または同様のものを含んでもよい。
【００６２】
デバイス３００は、本願明細書に記載された１つ以上のプロセスを実行してもよい。デバイス３００は、メモリ３３０および／またはストレージコンポーネント３４０などの非一時的コンピュータ可読媒体により格納されたソフトウェア命令をプロセッサ３２０が実行するのに基づいてこれらのプロセスを実行してもよい。本願明細書において、コンピュータ可読媒体は非一時的なメモリデバイスと定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにまたがったメモリ空間を含む。
【００６３】
ソフトウェア命令は、メモリ３３０および／またはストレージコンポーネント３４０に別のコンピュータ可読媒体から、または通信インターフェース３７０を介して別のデバイスから読み込まれてもよい。メモリ３３０および／またはストレージコンポーネント３４０に格納されたソフトウェア命令は、実行されると本願明細書に記載された１つ以上のプロセスをプロセッサ３２０に実行させてもよい。さらに、または代わりに、本願明細書に記載の１つ以上のプロセスを実行するために、配線による回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００６４】
図３に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス３００は、図３に示されたものと比べて、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス３００のコンポーネントのセット（例えば１つ以上のコンポーネント）が、デバイス３００のコンポーネントの別のセットにより実行されるものとして記載されている１つ以上の機能を実行してもよい。
【００６５】
図４は、本願明細書に記載されるオペレーションズプラットフォーム２３０の例示の実装４００の図である。示されるように、いくつかの実装において、オペレーションズプラットフォーム２３０は、クライアントデバイス２１０上で実行または動作してもよい。これは、他の場合であれば、オペレーションズプラットフォーム２３０がクライアントデバイス２１０の外部のものであるときに、オペレーションズプラットフォーム２３０とクライアントデバイス２１０との間の通信を促進するために使用されるであろう帯域幅、プロセッサオーバーヘッド、およびその他リソースを節約し得る。いくつかの実装において、オペレーションズプラットフォーム２３０は、クライアントデバイス２１０とは異なるデバイスまたはリソースのセット上で実行されてもよい。例として、オペレーションズプラットフォーム２３０は、クラウドコンピューティング環境および／または同様のものの一部として実装されてもよい。これは、オペレーションズプラットフォーム２３０の増大した拡張性と、より柔軟なリソース割り当てとを提供してもよい。いくつかの実装において、クライアントデバイス２１０は、クライアントプラットフォームを実装または提供してもよい。例としてクライアントプラットフォームは、ＳＡＰ  ＥＲＰを使用して実装されるものなどのＥＲＰシステムを含んでもよい。
【００６６】
示されるように、オペレーションズプラットフォーム２３０は、検出／展開コンポーネント４１０を含んでもよい。検出／展開コンポーネント４１０は、クライアントデバイス２１０に関連する問題を検出してもよく、検出された問題を解決するためにボットを展開してもよい。いくつかの実装において、検出／展開コンポーネント４１０は、問題を解決するためのボットを生成してもよい。例として検出／展開コンポーネント４１０は、問題を解決するために実行されるアクションを特定してもよく、そのアクションを実行するプログラムを（例えばＡＢＡＰまたは同様の言語を使用して）生成してもよく、そのプログラムを使用してボットを生成してもよい。例として、ボットは、そのプログラムを含んでも、またはそのプログラムであってもよい。
【００６７】
さらに示されるように、オペレーションズプラットフォーム２３０は、ソリューションライブラリ４２０を含んでもよい。ソリューションライブラリ４２０は、問題を解決するためのアクションを実行するメソッドまたはサブメソッドを特定する情報など、ボットを実行または展開するための情報を格納してもよい。いくつかの実装において、ソリューションライブラリは、ボットおよび／またはボットを特定する情報を格納してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、ソリューションライブラリ４２０を参照することにより、特定の問題についてボットまたはメソッドをオペレーションズプラットフォーム２３０が格納しているかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０がボットを生成すると、オペレーションズプラットフォーム２３０は、ソリューションライブラリ４２０を使用してボットを格納してもよい。
【００６８】
さらに示されるように、オペレーションズプラットフォーム２３０は、クライアントデバイス２１０のデータベース４３０と通信してもよい。データベース４３０は、クライアントデバイス２１０のシステムデータベース（例えばＳＡＰ  ＥＲＰプラットフォームのシステムデータベース）を含んでもよい。例として、検出／展開コンポーネント４１０は、問題を特定するためにデータベース４３０のシステムスキャンを実行してもよい。さらに、または代わりに、検出／展開コンポーネント４１０および／または検出／展開コンポーネント４１０により実行もしくは展開されるボットは、問題を解決するためにデータベース４３０と相互作用してもよい。
【００６９】
さらに示されるように、オペレーションズプラットフォーム２３０は、ＡＰＩ４４０に関連してもよい。ＡＰＩ４４０は、外部デバイス２２０との通信を提供してもよい。例としてオペレーションズプラットフォーム２３０は、外部デバイスから受信されさらに／または外部デバイス２２０に提供される外部コールのサポートを提供してもよい。いくつかの実装において、ＡＰＩ４４０は、インバウンドおよびアウトバウンドの通信を処理する１つだけのＡＰＩを含んでもよく、これは、異なる２つのＡＰＩを構成することに関連するプロセッサの使用量、複雑さ、およびオーバーヘッドを軽減する。
【００７０】
いくつかの実装において、参照番号４５０により示されるように、オペレーションズプラットフォーム２３０は、セキュリティデータリクエストを外部デバイス２２０に提供してもよい。例として、セキュリティデータリクエストは、ハンドシェイク情報、外部デバイス２２０によりホストされる外部セキュリティコンポーネントにより提供される情報、および／または同様のものなどのセキュリティデータのリクエストであってもよい。外部デバイス２２０とオペレーションズプラットフォーム２３０とが、セキュリティデータリクエストに基づいてハンドシェイクを無事に実行すると想定する。いくつかの実装において、参照番号４６０により示されるように、外部デバイス２２０は、命令をオペレーションズプラットフォーム２３０に提供してもよい。命令は、下記でさらに詳細に記載されるように、ボット識別子および／またはセキュリティ情報を含んでもよい。さらに示されるように、オペレーションズプラットフォーム２３０および外部デバイス２２０は、下記で図５に関してさらに詳細に記載されるセキュリティプロトコル４７０に基づいて通信してもよい。
【００７１】
上記で指摘されたように、図４は例として提供される。他の例が可能であり、図４に関して記載されたものとは異なってもよい。
【００７２】
図５は、オペレーションズプラットフォーム２３０と外部デバイス２２０との間の通信のための例示のセキュリティ手続き５００の図である。図５に示されるように、オペレーションズプラットフォーム２３０は、セキュリティコンポーネント５０５を含んでもよい。セキュリティコンポーネント５０５は、セキュリティトークン、公開鍵、暗号化情報、および／または同様のものなど、外部デバイス２２０とのハンドシェイクの実行に関連した情報を処理してもよい。さらに示されるように、外部デバイス２２０は、外部オペレーショナルプラットフォーム（ＯＰ）セキュリティコンポーネント５１０を含んでもよい。外部ＯＰセキュリティコンポーネント５１０は、セキュリティ鍵および／または同様のものなど、オペレーションズプラットフォーム２３０とのハンドシェイクの実行に関連した情報を処理してもよい。いくつかの実装において、外部ＯＰセキュリティコンポーネント５１０は、ボット識別子などの情報に対し暗号化および／または同様のことを実行してもよい。さらに、外部デバイス２２０は、外部デバイスコアを含むものとして示されている。外部デバイスコアは、外部デバイス２２０の任意のコンポーネントを含んでもよく、外部ＯＰセキュリティコンポーネント５１０と外部デバイス２２０との間の相互作用を例示するのを支援するために示されている。
【００７３】
いくつかの実装において、オペレーションズプラットフォーム２３０は、外部デバイス２２０との通信をセキュアにするためにセキュリティプロトコルを実行してもよい。例として、セキュリティプロトコルは、セッション暗号化、仮想プライベートネットワーク作成、および／または同様のものを含んでもよい。さらにオペレーションズプラットフォーム２３０は、オペレーションズプラットフォーム２３０と外部デバイス２２０との間の通信を暗号化するために、外部デバイス２２０とのハンドシェイクに基づく追加のセキュリティの層を適用してもよい。後述されるセキュリティ手続き５００は、追加のセキュリティの層を提供してもよい。
【００７４】
参照番号５１５により示されるように、外部デバイス２２０は、第１の鍵（例えば鍵１）を外部ＯＰセキュリティコンポーネント５１０にリクエストしてもよい。例として、第１の鍵は、オペレーションズプラットフォーム２３０に関連してもよく、外部ＯＰセキュリティコンポーネント５１０により外部デバイス２２０が信頼されているとオペレーションズプラットフォーム２３０にシグナリングするために使用されてもよい。参照番号５２０により示されるように、外部ＯＰセキュリティコンポーネント５１０は、第１の鍵を外部デバイス２２０に提供してもよい。参照番号５２５により示されるように、外部デバイス２２０は、第１の鍵をオペレーションズプラットフォーム２３０に提供してもよい。オペレーションズプラットフォーム２３０は、第１の鍵が有効かどうかを（例えばセキュアシェルファイルなど、オペレーションズプラットフォーム−外部デバイスペアについて提供された一意のファイルを使用して）判断してもよい（図示せず）。
【００７５】
参照番号５３０により示されるように、第１の鍵（図示せず）を確認（図示せず）した後、オペレーションズプラットフォーム２３０は、セキュリティトークンおよび第２の鍵（例えば鍵２）を提供してもよい。例として第２の鍵は、外部デバイス２２０からオペレーションズプラットフォーム２３０へのセキュアな供給のために情報を暗号化するべく外部ＯＰセキュリティコンポーネント５１０が使用できる公開鍵であってもよい。
【００７６】
参照番号５３５により示されるように、外部デバイス２２０は、第２の鍵およびボット識別子（ＩＤ：ｉｄｅｎｔｉｆｉｅｒ）を外部ＯＰセキュリティコンポーネント５１０に提供してもよい。ボット識別子は、オペレーションズプラットフォーム２３０が実行または展開するべきボットを特定してもよい。これは、外部デバイス２２０に、オペレーションズプラットフォーム２３０によるボットの実行をトリガする能力を提供してもよい。したがって、オペレーションズプラットフォーム２３０は、外部デバイス２２０からの命令に基づいてボットを実行してもよく、これが、オペレーションズプラットフォーム２３０が検出できないかもしれない問題（例えばパスワード忘れおよび／または同様のものなどのユーザに起因する問題）を修復するボットの実行を可能にする。いくつかの実装において、外部ＯＰセキュリティコンポーネント５１０は、第２の鍵（図示せず）を使用してボット識別子を暗号化してもよい。例として、暗号化アルゴリズムは、Ｂｌｏｗｆｉｓｈ、Ｔｗｏｆｉｓｈ、またはその他任意の妥当な暗号化アルゴリズムを含んでもよい。ボット識別子を暗号化することにより、セキュリティが向上し、悪意のある命令がオペレーションズプラットフォーム２３０に提供される可能性が低減される。
【００７７】
参照番号５４０により示されるように、外部ＯＰセキュリティコンポーネント５１０は、暗号化されたボット識別子を外部デバイス２２０に提供してもよい。参照番号５４５により示されるように、外部デバイス２２０は、暗号化されたボット識別子、セキュリティトークン、およびセキュリティデータをオペレーションズプラットフォーム２３０に提供してもよい。セキュリティデータは、外部デバイス２２０を特定する情報、外部ＯＰセキュリティコンポーネント５１０を特定する情報、および／または同様のものなど、暗号化されたボット識別子および／またはセキュリティトークンを確認するためにオペレーションズプラットフォーム２３０により必要とされる任意のデータを含んでもよい。
【００７８】
オペレーションズプラットフォーム２３０は、暗号化されたボット識別子を、第２の鍵（例えば第２の鍵の秘密鍵）を使用して復号してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、外部デバイス２２０により提供されたセキュリティトークンが参照番号５３０に関して提供されたセキュリティトークンと一致すると判断してもよい。参照番号５５０により示されるように、オペレーションズプラットフォーム２３０は、セキュリティトークンを確認すると、ボットを実行して、実行の結果を特定する情報を外部デバイス２２０に提供してもよい。
【００７９】
このように、オペレーションズプラットフォーム２３０および外部ＯＰセキュリティコンポーネント５１０は、従来のセキュリティ技術（例えばセキュアトンネリング、暗号化など）と比べて追加のセキュリティを提供し、これが、外部デバイス２２０から受信される命令に基づくボットの実行を可能にする。これが結果として、オペレーションズプラットフォーム２３０により検出不可能かもしれないユーザに起因する問題を解決するためのボットの実行を可能にする。
【００８０】
上記で指摘されたように、図５は単に例として提供される。他の例が可能であり、図５に関して記載されたものとは異なってもよい。
【００８１】
図６は、自動的に問題を検出し、問題を解決するためにボットを展開する例示のプロセス６００のフローチャートである。いくつかの実装において、図６の１つ以上のプロセスブロックが、オペレーションズプラットフォーム２３０により実行されてもよい。いくつかの実装において、図６の１つ以上のプロセスブロックは、クライアントデバイス２１０、外部デバイス２２０、分析デバイス２５０、および／または同様のものなどの、オペレーションズプラットフォーム２３０とは別個の、またはオペレーションズプラットフォーム２３０を含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【００８２】
図６に示されるように、プロセス６００は、クライアントプラットフォームを監視することを含んでもよい（ブロック６１０）。例としてオペレーションズプラットフォーム２３０は、（例えばコンピューティングリソース２３５および／またはプロセッサ３２０を使用して）クライアントプラットフォームを監視してもよい。クライアントプラットフォームは、クライアントデバイス２１０またはクラウドコンピューティング環境２４０上に実装されてもよい。いくつかの実装において、クライアントプラットフォームはＳＡＰ  ＥＲＰプラットフォームまたはシステムを含んでもよい。オペレーションズプラットフォーム２３０は、オペレーションズプラットフォーム２３０または別のデバイスにより格納されてもよい１つ以上のボットを使用して解決可能な問題を特定または検出するためにクライアントプラットフォームを監視してもよい。いくつかの実装において、監視は、クライアントプラットフォームのユーザインターフェースとの相互作用なしに実行され、それによって、他の場合であればユーザインターフェースを提供し且つ／またはそれと相互作用するために使用されるであろうリソースを節約してもよい。
【００８３】
いくつかの実装において、オペレーションズプラットフォーム２３０は、１つ以上の検出器を使用してクライアントプラットフォームを監視してもよい。いくつかの実装において、検出器はボットを含んでもよい。例として検出器は、クライアントプラットフォーム（例えばクライアントプラットフォームのデータベース）に関して条件が満たされたかどうかを判断するためのプログラム（例えばＡＢＡＰまたは同様の言語を使用）を含んでもよい。いくつかの実装において、検出器はユーザにより構成されてもよい。例としてユーザは、条件と、条件が満たされると実行される実行ボットとを特定する情報を提供してもよい。このように、ユーザは、問題を検出するためにクライアントプラットフォームの自動監視を設定してもよく、これにより、問題を特定するための手動の相互作用に関連するプロセッサリソースが節約され得る。さらに、問題の自動検出は、エラー通知をユーザに提供するのに比べてそのような問題の事前対応型の解決を可能にし、それによって、クライアントプラットフォームに対する影響を軽減し得る。
【００８４】
いくつかの実装において、オペレーションズプラットフォーム２３０は、分析のための情報を取得するためにクライアントプラットフォームを監視してもよい。例としてオペレーションズプラットフォーム２３０は、そのような情報を取得するために監視ボットを展開してもよい。分析のための情報を集めるために監視ボットを使用することは、他の場合であればそのような情報を手動で集めるために、またはそのような情報を集めるべく外部デバイス２２０のユーザインターフェースを提供するために使用されるであろう、プロセッサリソースおよびユーザインターフェースリソースを節約してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、下記でブロック６６０に関してさらに詳細に記載されるように、分析のための情報を提供してもよい。
【００８５】
図６にさらに示されるように、プロセス６００は、クライアントプラットフォームの監視に基づいてクライアントプラットフォームに関連する問題を検出することを含んでもよい（ブロック６２０）。例としてオペレーションズプラットフォーム２３０は、（例えばコンピューティングリソース２３５および／またはプロセッサ３２０を使用して）問題を（例えば本願明細書の他の箇所でより詳細に記載されるように検出器ボットを使用して）検出してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、（例えばクライアントプラットフォームの監視に基づいて）問題を事前対応的に検出してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、問題に関連する命令を受信してもよい。例として、問題は、オペレーションズプラットフォーム２３０が直接に検出することはできないかもしれない、ユーザに起因する問題であってもよい。そのような事例において、問題の検出は間接的であってもよい（例えばオペレーションズプラットフォーム２３０は命令の受信に基づいて問題を検出してもよい）。
【００８６】
図６にさらに示されるように、プロセス６００は、問題を解決するためのボットへのアクセスをオペレーションズプラットフォームが有するかどうかを判断することを含んでもよい（ブロック６３０）。例としてオペレーションズプラットフォーム２３０は、問題を解決するためのボットへのアクセスをオペレーションズプラットフォーム２３０が有するかどうかを、（例えばコンピューティングリソース２３５および／またはプロセッサ３２０を使用して）判断してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、ボットがオペレーションズプラットフォーム２３０により格納されているかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、ボットが、オペレーションズプラットフォーム２３０に関連しまたはそれがアクセスできるデバイス（例えばクライアントデバイス２１０、外部デバイス２２０など）により格納されているかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、問題を検出した検出器ボットが問題を解決するための実行ボットに関連するかどうかを判断してもよく、実行ボットがオペレーションズプラットフォーム２３０またはオペレーションズプラットフォーム２３０がアクセスできる別のデバイスにより格納されているかどうかを判断してもよい。
【００８７】
図６にさらに示されるように、プロセス６００は、オペレーションズプラットフォームがボットへのアクセスを有しない場合、ボットを生成することを含んでもよい（ブロック６４０）。例として、いくつかの事例において、オペレーションズプラットフォーム２３０は、問題を解決するためのボット（例えば実行ボット）へのアクセスを有しなくてもよい。そのような事例において、オペレーションズプラットフォーム２３０は、（例えばコンピューティングリソース２３５および／またはプロセッサ３２０を使用して）ボットを生成してもよい。例としてオペレーションズプラットフォーム２３０は、対応する問題を解決するためのサブプロセスを特定するソリューションライブラリ（例えばソリューションライブラリ４２０）を格納してもよい。オペレーションズプラットフォーム２３０は、問題を解決するために、ソリューションライブラリによって特定されたサブプロセスに従って問題を解決するためのボット（例えばＡＢＡＰプログラムおよび／または同様のもの）を生成してもよい。このように、オペレーションズプラットフォーム２３０は、適切な実行ボットが利用可能でない場合、ソリューションライブラリに基づいて実行ボットを自動生成し、それによって、問題の自動解決を可能にしてもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、実行ボットを構成または生成するための構成情報を受信してもよい（例えば人為入力および／または同様のものに基づく）。
【００８８】
いくつかの実装において、ボットは、他の２つ以上のボットを組み合わせることにより生成されてもよい。例として、オペレーションズプラットフォーム２３０は、問題が第１のボットおよび第２のボットに関連すると判断してもよく、さらに、問題を解決するためのボットを生成するために第１のボットと第２のボットとを組み合わせてもよい。第１のボットと第２のボットとを組み合わせることは、第１のボットおよび／または第２のボットのコードを変更することを含んでもよい。さらに、または代わりに、オペレーションズプラットフォーム２３０（またはオペレーションズプラットフォーム２３０に関連するユーザ）は、特定の順序で実行されるべき２つ以上のボットを特定してもよい。例としてオペレーションズプラットフォーム２３０は、問題を解決するために、第１のボット、続いて第２のボット、続いて最後に第３のボットが実行されるべきであると判断してもよい。したがって、生成されるボットは、特定の順序で実行されるべき既存のボットの組み合わせを含んでもよい。別の例として、オペレーションズプラットフォーム２３０（またはオペレーションズプラットフォーム２３０に関連するユーザ）は、問題を解決するために既存のボットに関数を追加してもよい。例として、オペレーションズプラットフォーム２３０は、関数を特定するためにソリューションライブラリを使用してもよく、関数を実装するために既存のボットにコード（例えばＡＢＡＰコードおよび／または同様のもの）を追加してもよい。
【００８９】
いくつかの実装において、生成されたボットが問題を解決すれば、オペレーションズプラットフォーム２３０は、生成されたボットのボット位置を、解決された問題のタイプを特定する情報とともに格納してもよい。このように、オペレーションズプラットフォーム２３０は、ボットのリポジトリを拡大して、既存のボットにより解決可能な問題の数を拡大する。
【００９０】
図６にさらに示されるように、プロセス６００は、問題を解決するためにクライアントプラットフォームに対してボットを展開することを含んでもよい（ブロック６５０）。例としてオペレーションズプラットフォーム２３０は、（例えばコンピューティングリソース２３５および／またはプロセッサ３２０を使用して）ボットを展開（例えば実行）してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、外部デバイス２２０から受信された情報などの特定の情報に基づいてボットを展開してもよい。例としてオペレーションズプラットフォーム２３０は、オペレーションズプラットフォーム２３０が外部デバイス２２０から受信してもよく、または外部デバイス２２０にリクエストしてもよい、構成情報、特定のパラメータ、および／または同様のものに基づいてボットを展開してもよい。いくつかの実装において、ボットは、クライアントプラットフォームのユーザインターフェースと相互作用することなしに問題を解決してもよい。例としてボットは、クライアントプラットフォームに関連するデータベース（例えばデータベース４３０および／または同様のもの）に対する読み取りおよび／または書き込みに基づいて問題を解決し、それによって、ユーザインターフェースを提供するためおよび／またはそれと相互作用するために使用されたであろうリソースを節約してもよい。
【００９１】
図６にさらに示されるように、プロセス６００は、クライアントプラットフォームの監視に基づいて分析のための監視情報を提供することを含んでもよい（ブロック６６０）。例として、いくつかの実装においてオペレーションズプラットフォーム２３０は、（例えばコンピューティングリソース２３５および／またはプロセッサ３２０を使用して）クライアントプラットフォームを監視して、分析のための情報を取得してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、本願明細書の他の箇所にさらに詳細に記載されるように、１つ以上の監視ボットを使用してクライアントプラットフォームを監視してもよい。１つ以上の監視ボットを使用することにより、オペレーションズプラットフォーム２３０は、分析のための情報収集の効率性を高めてもよい。例として、そのような情報を収集するいくつかの技術は、ユーザインターフェースを使用して実装される場合もあり、ユーザインターフェースの実装および／またはユーザインターフェースとの相互作用のためにプロセッサリソースを使用し得る。別の例として、分析のための情報は、別々のプログラム、サブシステム、および／または同様のものに関連する場合もある。当該の事例では、分析のための情報を収集するのに別々のプログラムおよび／またはユーザインターフェースを使用するのは非効率かもしれない。監視ボットの実装、および分析のための情報収集のために単一のオペレーションズプラットフォーム２３０を単一のＡＰＩとともに使用することにより、オペレーションズプラットフォーム２３０は、プロセッサリソースを節約し、情報を集める際のエラーを削減し、集めることができる情報の量を増大させる。
【００９２】
いくつかの実装において、オペレーションズプラットフォーム２３０は、分析のための情報を提供してもよい。例としてオペレーションズプラットフォーム２３０は、分析デバイス２５０による分析のために情報を提供してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、分析のための情報を分析してもよい。いくつかの実装において、分析は、ＥＲＰデータに対して実行される任意の処理または分析を含んでもよい。例として分析は、財務分析、運用分析、および／または同様のものを含んでもよい。いくつかの実装において、オペレーションズプラットフォーム２３０または分析デバイス２５０は、ユーザ設定に基づいて分析を実行してもよい。例として、オペレーションズプラットフォーム２３０または分析デバイス２５０は、ユーザ設定を特定する入力（例えばユーザ入力）を受信してもよく、ユーザ設定に基づいて分析を実行してもよい。ユーザ設定は、分析のために監視される情報、分析のために実行される特定の動作、分析について生成されるレポート、および／または同様のものを特定してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、単一のＡＰＩを使用して分析のための情報を提供してもよく、これは、複数の異なるＡＰＩを実装するために使用されたであろう処理リソースおよび／または監視リソースを節約する。
【００９３】
図６はプロセス６００の例示のブロックを示すが、いくつかの実装においてプロセス６００は、図６に示されたものに比べて追加のブロック、より少ないブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス６００のブロックの２つ以上が並列実行されてもよい。
【００９４】
図７は、外部デバイスから受信された命令に基づいてボットを実行する例示のプロセス７００の図である。いくつかの実装において、図７の１つ以上のプロセスブロックが、オペレーションズプラットフォーム２３０により実行されてもよい。いくつかの実装において、図７の１つ以上のプロセスブロックは、クライアントデバイス２１０、外部デバイス２２０、分析デバイス２５０、および／または同様のものなどの、オペレーションズプラットフォーム２３０とは別個の、またはオペレーションズプラットフォーム２３０を含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【００９５】
図７に示されるように、プロセス７００は、命令を受信することを含んでもよい（ブロック７０５）。例としてオペレーションズプラットフォーム２３０は、外部デバイス２２０から命令を受信してもよい。命令は、ボット識別子、セキュリティトークン、および／またはセキュリティデータを含んでもよい。外部デバイス２２０は、ボット識別子により特定されたボットをオペレーションズプラットフォーム２３０に実行させる命令を提供してもよい。いくつかの実装において、ボット識別子は暗号化されてもよい。例として、外部デバイス２２０に関連する外部ＯＰセキュリティコンポーネント５１０は、オペレーションズプラットフォーム２３０に関連する公開鍵（例えば図５に関して記載された第２の鍵）を使用してボット識別子を暗号化してもよい。
【００９６】
図７にさらに示されるように、プロセス７００は、外部デバイス２２０に関してセキュリティチェックを実行することを含んでもよい（ブロック７１０）。セキュリティチェックは、上記で図５に関して記載されたプロセスに対応してもよい。例として、セキュリティチェックは、図５に関して記載されたハンドシェイクプロセスを含んでもよい。
【００９７】
図７にさらに示されるように、プロセス７００は、ハンドシェイク（例えばセキュリティチェック）が成功したかどうかを判断することを含んでもよい（ブロック７１５）。いくつかの事例では、ハンドシェイクは成功しないかもしれない（例えば第１の鍵が無効であることに基づいて、外部デバイス２２０が無効なセキュリティトークンを提供することに基づいて、など）。そのような事例では、オペレーションズプラットフォーム２３０は、命令により指示されたボットを実行してはならず、プロセス７００を終了してもよい（ブロック７１５−いいえ）。
【００９８】
図７にさらに示されるように、ハンドシェイクが成功すると（例えばセキュリティチェックが成功すると）（ブロック７１５−はい）、次にプロセス７００は、命令が有効かどうかを判断することを含んでもよい（ブロック７２０）。例としてオペレーションズプラットフォーム２３０は、命令がソリューションライブラリ４２０において定義されたフォーマットと一致するかどうか、および／またはソリューションライブラリ４２０により指定される情報を含むかどうかを判断してもよい。このようにして、オペレーションズプラットフォーム２３０は、悪意のある命令が成功する可能性を低減させてもよい。いくつかの事例において、命令は有効でないかもしれない（例えばフォーマットに一致しないか、またはソリューションライブラリ４２０により指定される情報を含まないかもしれない）。そのような事例では、オペレーションズプラットフォーム２３０は、命令により指示されたボットを実行してはならず、プロセス７００を終了してもよい（ブロック７２０−いいえ）。
【００９９】
図７にさらに示されるように、オペレーションズプラットフォーム２３０は、命令のセキュリティデータが完全かどうかを判断してもよい（ブロック７２５）。例としてオペレーションズプラットフォーム２３０は、命令が、ボットの実行に必要なセキュリティデータをすべて含むかどうかを判断してもよい。いくつかの実装において、オペレーションズプラットフォーム２３０は、命令が、ボットを実行するために必要なデータをすべて含むかどうかを判断してもよい。例として、ボットは、特定のパラメータ、構成情報、および／または同様のものを必要とするかもしれず、これはソリューションライブラリ４２０により指示されるかもしれない。オペレーションズプラットフォーム２３０は、命令が特定のパラメータ、構成情報、および／または同様のものをすべて指定するかどうかを判断してもよい。データが完全でなければ（ブロック７２５−いいえ）、オペレーションズプラットフォーム２３０は、データが完全になるまでオペレーションズプラットフォーム２３０にデータをリクエストしてもよい。
【０１００】
図７にさらに示されるように、セキュリティデータ（または他のデータ）が完全であれば（ブロック７２５−はい）、次にプロセス７００は、ボットを実行することを含んでもよい（ブロック７３０）。例として、オペレーションズプラットフォーム２３０は、ハンドシェイク（例えばセキュリティチェック）が完了し、命令が有効であり、データが完全であればボットを実行してもよい。さらに示されるように、プロセス７００は、結果を返すことを含んでもよい（ブロック７３５）。例としてオペレーションズプラットフォーム２３０は、ボットの実行結果を判断してもよく、その結果を外部デバイス２２０または別のデバイスに提供してもよい。このように、オペレーションズプラットフォーム２３０は、外部デバイス２２０からの命令に基づいてボットをセキュアに実行し、それによって、（例えばユーザに起因する問題を解決するために）オペレーションズプラットフォーム２３０の外部制御を可能にしてもよい。さらにこれは、単一のＡＰＩを使用した、問題の効率的な遠隔解決を提供してもよく、これにより、異なる多数のＡＰＩ、ユーザインターフェース、および／または同様のものを使用して問題の解決を試行するのに比べてプロセッサリソースが節約され、効率性が高まり、技術知識の要件が緩和される。
【０１０１】
図７はプロセス７００の例示のブロックを示すが、いくつかの実装においてプロセス７００は、図７に示されたものに比べて追加のブロック、より少ないブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス７００のブロックの２つ以上が並列実行されてもよい。
【０１０２】
このように、ＳＡＰ  ＥＲＰシステムの動作が改善され、同時解決可能な問題の量が増大する。これは、問題の解決速度を高めて、問題解決に関わる人為エラーを削減するかもしれない。さらに、本願明細書に記載されるボット（例えば検出器ボット、実行ボット、および／または監視ボット）は、クライアントプラットフォームのユーザインターフェースとの相互作用なしに本願明細書に記載された動作を実行してもよい。これは、クライアントプラットフォームのユーザインターフェースとの相互作用を介して実装されるであろうＲＰＡに比べ利点を提供し得る。例として、ＲＰＡソリューションは、ＥＲＰシステムにおいてはかなりの頻度で発生し得る、ユーザインターフェースの再構成の影響を受けやすいかもしれない。さらに、ＲＰＡはクライアントプラットフォームにより提供されなければならないユーザインターフェースと相互作用する必要があるのに対して、オペレーションズプラットフォーム２３０はユーザインターフェースの相互作用なしに問題解決のためボットを実行でき、それにより、ユーザインターフェースの提供に使用されたであろうクライアントプラットフォームのリソース、ならびにオペレーションズのリソースを節約するので、ＲＰＡは、本願明細書に記載された実装よりも効率性が低いかもしれない。
【０１０３】
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図されていない。上記の開示を考慮して変更および変形が生じ得るし、または実装の実施から習得されるかもしれない。
【０１０４】
本願明細書で使用されるとき、コンポーネントという用語は、ハードウェア、ファームウェア、および／またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるよう意図される。
【０１０５】
いくつかの実装は、閾値に関して本願明細書に記載された。本願明細書で使用されるとき、閾値を満足するとは、値が閾値より大きいこと、閾値を超えること、閾値より高いこと、閾値以上であること、閾値未満であること、閾値より少ないこと、閾値より低いこと、閾値以下であること、閾値と等しいこと、または同様のことを指すことができる。
【０１０６】
当然のことながら、本願明細書に記載されたシステムおよび／または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび／または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび／または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されたが、当然のことながら、ソフトウェアおよびハードウェアを、本願明細書の記載に基づきシステムおよび／または方法を実装するよう設計可能である。
【０１０７】
特徴の特定の組み合わせが特許請求の範囲に記載され且つ／または明細書で開示されるが、これらの組み合わせは可能な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的に特許請求の範囲に記載および／または明細書に開示されなかった形で組み合わされてもよい。下記に列挙される各従属クレームは、１つのみのクレームに直接従属するかもしれないが、考えられる実装の開示は、クレームセットの中の他のすべてのクレームと組み合わせた各従属クレームを含む。
【０１０８】
本願明細書で使用されるいずれの要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る（ａおよびａｎ）」は、１つ以上の項目を含むよう意図され、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」と交換可能なように使用され得る。さらに、本願明細書で使用されるとき、「セット（ｓｅｔ）」という用語は、１つ以上の項目（例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど）を含むよう意図され、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」と交換可能なように使用され得る。１つのみの項目が意図される場合、「１つの（ｏｎｅ）」という用語または同様の言語が使用される。さらに、本願明細書で使用されるとき、「有する（ｈａｓ、ｈａｖｅ、ｈａｖｉｎｇ）」という用語または同様のものは、非限定的な用語であるものと意図される。さらに、「基づく（ｂａｓｅｄ  ｏｎ）」という表現は、別段の記載が明示的にされない限り「少なくとも部分的に基づく（ｂａｓｅｄ，ａｔ  ｌｅａｓｔ  ｉｎ  ｐａｒｔ，ｏｎ）」を意味するよう意図される。
【図１Ａ】
2019204496.tif 000003
【図１Ｂ】
2019204496.tif 000004
【図１Ｃ】
2019204496.tif 000005
【図２】
2019204496.tif 000006
【図３】
2019204496.tif 000007
【図４】
2019204496.tif 000008
【図５】
2019204496.tif 000009
【図６】
2019204496.tif 000010
【図７】
2019204496.tif 000011
【外国語明細書】
2019204496000001.pdf
2019204496000002.pdf
2019204496000003.pdf
2019204496000004.pdf