(57)【要約】【課題】多数のワークフロー・ステップを含むワークフローをインタラクティブに実行するための技術的解決策を提供する。【解決手段】例示的な方法は、そのワークフローに対する予備更新をデータ源からプルし、そのワークフローを動的に変更することを含む。この方法はさらに、ワークフロー・ステップを選択すること、および更新された情報をデータ源からプルし、ワークフロー・ステップを動的に変更することを含む。さらに、この方法は、別のユーザが更新されたワークフロー・ステップを実行した結果を示す第１の結果情報をデータ源から検索すること、およびこの第１の結果情報に基づいて、更新されたワークフロー・ステップを実行することを含む。この方法はさらに、ワークフロー・ステップの実行に基づく第２の結果情報を蓄積することを含む。さらに、この実行は、ワークフロー・ステップの完了に応答して第２の結果情報をデータ源にプッシュすることを含む。【選択図】図３
2021500658.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブ・ワークフローを実行するコンピュータ実施方法であって、前記方法が、
インタラクティブ実行のためのワークフローであり、ワークフロー・ステップのシーケンスを含む前記ワークフローを選択すること、
前記ワークフローに対する予備更新をデータ源からプルし、前記ワークフローを動的に変更すること、
前記ワークフローから、実行するワークフロー・ステップを選択すること、
前記ワークフロー・ステップに対する更新された情報を前記データ源からプルし、前記更新された情報を使用して前記ワークフロー・ステップを動的に変更すること、
別のユーザが前記更新されたワークフロー・ステップを実行した結果を示す第１の結果情報を前記データ源から検索すること、
実行を実施したことを示す前記第１の結果情報に応答して、前記ワークフロー・ステップを前記更新されたワークフロー・ステップを使用して実行することであって、前記実行することがターゲット・システムを改変することを含む、前記実行すること、
前記ワークフロー・ステップの実行に関連した属性および前記ワークフロー・ステップの前記実行に基づく第２の結果情報を含む実行情報を蓄積すること、ならびに
前記ワークフロー・ステップの完了に応答して前記実行情報を前記データ源にプッシュすること
を含むコンピュータ実施方法。
【請求項２】
前記第１の結果情報が、前記別のユーザによる前記更新されたワークフロー・ステップの実行の成功格付けを含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記第１の結果情報が、前記別のユーザによって前記更新されたワークフロー・ステップが実行された回数、および前記別のユーザによって報告された前記ワークフロー・ステップのエラーの数を含む、請求項１または２に記載のコンピュータ実施方法。
【請求項４】
前記第１の結果情報が、前記ワークフロー・ステップの固有の識別子に基づいて識別される、請求項１ないし３のいずれかに記載のコンピュータ実施方法。
【請求項５】
前記第２の結果情報を前記データ源にプッシュする前に、前記第２の結果情報が、前記ワークフロー・ステップの前記固有の識別子に関連づけられる、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記データ源が第１のデータ源であり、前記第１の結果情報が第２のデータ源から検索される、請求項１ないし５のいずれかに記載のコンピュータ実施方法。
【請求項７】
インタラクティブ・ワークフローを実行するシステムであって、
メモリと、
機械支援ワークフロー実行用に構成されたプロセッサと
を備え、前記機械支援ワークフロー実行が、
インタラクティブ実行のためのワークフローであり、ワークフロー・ステップのシーケンスを含む前記ワークフローを選択すること、
前記ワークフローに対する予備更新をデータ源からプルし、前記ワークフローを動的に変更すること、
前記ワークフローから、実行するワークフロー・ステップを選択すること、
前記ワークフロー・ステップに対する更新された情報を前記データ源からプルし、前記更新された情報を使用して前記ワークフロー・ステップを動的に変更すること、
別のユーザが前記更新されたワークフロー・ステップを実行した結果を示す第１の結果情報を前記データ源から検索すること、
実行を実施したことを示す前記第１の結果情報に応答して、前記ワークフロー・ステップを前記更新されたワークフロー・ステップを使用して実行することであって、前記実行することがターゲット・システムを改変することを含む、前記実行すること、
前記ワークフロー・ステップの実行に関連した属性および前記ワークフロー・ステップの前記実行に基づく第２の結果情報を含む実行情報を蓄積すること、ならびに
前記ワークフロー・ステップの完了に応答して前記実行情報を前記データ源にプッシュすること
を含む、システム。
【請求項８】
前記第１の結果情報が、前記別のユーザによる前記更新されたワークフロー・ステップの実行の成功格付けを含む、請求項７に記載のシステム。
【請求項９】
前記第１の結果情報が、前記別のユーザによって前記更新されたワークフロー・ステップが実行された回数、および前記別のユーザによって報告された前記ワークフロー・ステップのエラーの数を含む、請求項７または８に記載のシステム。
【請求項１０】
前記第１の結果情報が、前記ワークフロー・ステップの固有の識別子に基づいて識別される、請求項７ないし９のいずれかに記載のシステム。
【請求項１１】
前記第２の結果情報を前記データ源にプッシュする前に、前記第２の結果情報が、前記ワークフロー・ステップの前記固有の識別子に関連づけられる、請求項１０に記載のシステム。
【請求項１２】
前記データ源が第１のデータ源であり、前記第１の結果情報が第２のデータ源から検索される、請求項７ないし１１のいずれかに記載のシステム。
【請求項１３】
インタラクティブ・ワークフローを実行するコンピュータ・プログラム製品であって、処理回路が読むことができるコンピュータ可読ストレージ媒体であり、請求項１ないし６のいずれかに記載の方法を実施するために前記処理回路が実行するための命令を記憶した前記コンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品。
【請求項１４】
コンピュータ可読媒体に記憶された、ディジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上でランされたときに請求項１ないし６のいずれかに記載の方法を実施するソフトウェア・コード部分を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、ワークフローを実行するシステムなどのコンピュータ・システムの改良に関する。
【背景技術】
【０００２】
最近、コンピューティング・デバイスの利用可能性の向上およびコンピューティング・デバイスの普及に伴って、特定のタスクを機械支援下で実施するためのワークフローを顧客またはその他のユーザに提供することが一般的になりつつある。このようなワークフローはワークフロー・ステップのリストを含み、このリストは、ワークフローによって提供される特定の順序でユーザが機械支援下で実行する操作をまとめたものであることがある。
【０００３】
ワークフローの実行に関する技術的課題は、それぞれのワークフロー・ステップが実行されているときに、１つまたは複数のワークフロー・ステップの実行を支援する情報でワークフローを更新することを含む。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、当技術分野では上記の問題を解決することが求められている。
【課題を解決するための手段】
【０００５】
第１の態様から見ると、本発明は、インタラクティブ・ワークフローを実行するコンピュータ実施方法を提供し、この方法は、インタラクティブ実行のためのワークフローであり、ワークフロー・ステップのシーケンスを含むワークフローを選択すること、ワークフローに対する予備更新をデータ源からプルし、ワークフローを動的に変更すること、ワークフローから、実行するワークフロー・ステップを選択すること、ワークフロー・ステップに対する更新された情報をデータ源からプルし、更新された情報を使用してワークフロー・ステップを動的に変更すること、別のユーザが更新されたワークフロー・ステップを実行した結果を示す第１の結果情報をデータ源から検索すること、および実行を実施したことを示す第１の結果情報に応答して、ワークフロー・ステップを、更新されたワークフロー・ステップを使用して実行することを含み、この実行は、ターゲット・システムを改変することを含み、この方法はさらに、ワークフロー・ステップの実行に関連した属性およびワークフロー・ステップの実行に基づく第２の結果情報を含む実行情報を蓄積すること、ならびにワークフロー・ステップの完了に応答して実行情報をデータ源にプッシュすることを含む。
【０００６】
さらなる態様から見ると、本発明は、インタラクティブ・ワークフローを実行するシステムを提供し、このシステムは、メモリと、機械支援ワークフロー実行用に構成されたプロセッサとを備え、この機械支援ワークフロー実行は、インタラクティブ実行のためのワークフローであり、ワークフロー・ステップのシーケンスを含むワークフローを選択すること、ワークフローに対する予備更新をデータ源からプルし、ワークフローを動的に変更すること、ワークフローから、実行するワークフロー・ステップを選択すること、ワークフロー・ステップに対する更新された情報をデータ源からプルし、更新された情報を使用してワークフロー・ステップを動的に変更すること、別のユーザが更新されたワークフロー・ステップを実行した結果を示す第１の結果情報をデータ源から検索すること、および実行を実施したことを示す第１の結果情報に応答して、ワークフロー・ステップを、更新されたワークフロー・ステップを使用して実行することを含み、この実行は、ターゲット・システムを改変することを含み、この機械支援ワークフロー実行はさらに、ワークフロー・ステップの実行に関連した属性およびワークフロー・ステップの実行に基づく第２の結果情報を含む実行情報を蓄積すること、ならびにワークフロー・ステップの完了に応答して実行情報をデータ源にプッシュすることを含む。
【０００７】
さらなる態様から見ると、本発明は、インタラクティブ・ワークフローを実行するコンピュータ・プログラム製品であって、処理回路が読むことができるコンピュータ可読ストレージ媒体であり、本発明のステップを実施する方法を実施するために処理回路が実行するための命令を記憶したコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品を提供する。
【０００８】
さらなる態様から見ると、本発明は、コンピュータ可読媒体に記憶された、ディジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、このプログラムがコンピュータ上でランされたときに本発明のステップを実施するソフトウェア・コード部分を含むコンピュータ・プログラムを提供する。
【０００９】
１つまたは複数の実施形態によれば、インタラクティブ・ワークフローを実行するコンピュータ実施方法は、インタラクティブ実行のためにワークフローを選択することを含み、ワークフローは、ワークフロー・ステップのシーケンスを含む。この方法はさらに、ワークフローに対する予備更新をデータ源からプルし、ワークフローを動的に変更することを含む。この方法はさらに、ワークフローから、実行するワークフロー・ステップを選択すること、およびワークフロー・ステップに対する更新された情報をデータ源からプルし、更新された情報を使用してワークフロー・ステップを動的に変更することを含む。さらに、この方法は、別のユーザが更新されたワークフロー・ステップを実行した結果を示す第１の結果情報をデータ源から検索することを含む。この方法はさらに、実行を実施したことを示す第１の結果情報に応答して、ワークフロー・ステップを、更新されたワークフロー・ステップを使用して実行することを含み、この実行はターゲット・システムを改変する。この方法はさらに、ワークフロー・ステップの実行に関連した属性およびワークフロー・ステップの実行に基づく第２の結果情報を含む実行情報を蓄積することを含む。さらに、この方法は、ワークフロー・ステップの完了後に実行情報をデータ源にプッシュすることを含む。
【００１０】
１つまたは複数の実施形態によれば、ワークフローをインタラクティブに実行するシステムは、メモリと、メモリに結合されたプロセッサとを含む。このインタラクティブ実行は、インタラクティブ実行のためにワークフローを選択することを含み、ワークフローは、ワークフロー・ステップのシーケンスを含む。この実行はさらに、ワークフローに対する予備更新をデータ源からプルし、ワークフローを動的に変更することを含む。この実行はさらに、ワークフローから、実行するワークフロー・ステップを選択すること、およびワークフロー・ステップに対する更新された情報をデータ源からプルし、更新された情報を使用してワークフロー・ステップを動的に変更することを含む。さらに、この実行は、別のユーザが更新されたワークフロー・ステップを実行した結果を示す第１の結果情報をデータ源から検索することを含む。この実行はさらに、実行を実施したことを示す第１の結果情報に応答して、ワークフロー・ステップを、更新されたワークフロー・ステップを使用して実行することを含み、この実行はターゲット・システムを改変する。この実行はさらに、ワークフロー・ステップの実行に関連した属性およびワークフロー・ステップの実行に基づく第２の結果情報を含む実行情報を蓄積することを含む。さらに、この実行は、ワークフロー・ステップの完了に応答して実行情報をデータ源にプッシュすることを含む。
【００１１】
１つまたは複数の実施形態によれば、コンピュータ・プログラム製品はコンピュータ可読ストレージ媒体を含み、このコンピュータ可読ストレージ媒体は、それとともに実施されたプログラム命令を有し、このプログラム命令は、それによって処理回路が機械支援ワークフロー実行を提供するように、処理回路によって実行可能である。このインタラクティブ実行は、インタラクティブ実行のためにワークフローを選択することを含み、ワークフローは、ワークフロー・ステップのシーケンスを含む。この実行はさらに、ワークフローに対する予備更新をデータ源からプルし、ワークフローを動的に変更することを含む。この実行はさらに、ワークフローから、実行するワークフロー・ステップを選択すること、およびワークフロー・ステップに対する更新された情報をデータ源からプルし、更新された情報を使用してワークフロー・ステップを動的に変更することを含む。さらに、この実行は、別のユーザが更新されたワークフロー・ステップを実行した結果を示す第１の結果情報をデータ源から検索することを含む。この実行はさらに、実行を実施したことを示す第１の結果情報に応答して、ワークフロー・ステップを、更新されたワークフロー・ステップを使用して実行することを含み、この実行はターゲット・システムを改変する。この実行はさらに、ワークフロー・ステップの実行に関連した属性およびワークフロー・ステップの実行に基づく第２の結果情報を含む実行情報を蓄積することを含む。さらに、この実行は、ワークフロー・ステップの完了に応答して実行情報をデータ源にプッシュすることを含む。
【００１２】
本明細書に記載された例は、以下の図面および説明を参照することによってよりいっそう理解される。図中の構成要素は、必ずしも一定の倍率では描かれていない。また、これらの図では、異なる図を通して、同様の参照符号が対応する部分を示す。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に基づくクラウド・コンピューティング環境を示す図である。
【図２】本発明の実施形態に基づく抽象化モデル層を示す図である。
【図３】認知学習（ｃｏｇｎｉｔｉｖｅ  ｌｅａｒｎｉｎｇ）を使用してワークフローを実行する例示的なシステム１００を示す図である。
【図４】１つまたは複数の実施形態に基づく例示的なシステム２００を示す図である。
【図５】実行時にワークフローを更新する１つまたは複数の実施形態に基づく例示的な方法の流れ図である。
【図６】セキュリティが強化された認知学習を使用してワークフローを実行する１つまたは複数の実施形態に基づく例示的な方法の流れ図である。
【図７】認知推論（ｃｏｇｎｉｔｉｖｅ  ｒｅｓｏｎｉｎｇ）を提供する認知学習を使用してワークフローを実行する１つまたは複数の実施形態に基づく例示的な方法の流れ図である。
【図８】ワークフロー・ステップ・プレビューを提供する認知学習を使用してワークフローを実行する１つまたは複数の実施形態に基づく例示的な方法の流れ図である。
【図９】ワークフロー・ステップ結果情報を提供する認知学習を使用してワークフローを実行する本発明の１つまたは複数の実施形態に基づく例示的な方法の流れ図である。
【発明を実施するための形態】
【００１４】
本明細書では、本発明のさまざまな実施形態が関連図を参照して説明される。本発明の範囲を逸脱することなく本発明の代替実施形態を考案することができる。以下の説明および図面には、要素間のさまざまな接続および位置関係（例えば上、下、隣りなど）が記載されている。これらの接続もしくは位置関係またはその両方は、特に指定されていない限り、直接的なものであることまたは間接的なものであることができ、本発明は、この点に関して限定を意図したものではない。したがって、実在物の結合は、直接結合または間接結合であることができ、実在物間の位置関係は、直接的位置関係または間接的位置関係であることができる。さらに、本明細書に記載されたさまざまなタスクおよび処理ステップが、本明細書では詳細に説明されていない追加のステップまたは機能を有するより包括的な手順またはプロセスに包含されていることもある。
【００１５】
特許請求の範囲および本明細書の解釈のために、以下の定義および略語が使用される。本明細書で使用されるとき、用語「備える（ｃｏｍｐｒｉｓｅｓ）」、「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有する（ｈａｖｉｎｇ）」、「含有する（ｃｏｎｔａｉｎｓ）」もしくは「含有する（ｃｏｎｔａｉｎｉｎｇ）」、またはこれらの他の変異語は、非排他的包含（ｎｏｎ−ｅｘｃｌｕｓｉｖｅ  ｉｎｃｌｕｓｉｏｎ）をカバーすることが意図されている。例えば、要素のリストを含む組成物、混合物、プロセス、方法、物品または装置は、必ずしもそれらの要素だけに限定されるわけではなく、明示的にはリストに入れられていない他の要素、あるいはこのような組成物、混合物、プロセス、方法、物品または装置に固有の他の要素を含みうる。
【００１６】
さらに、本明細書では、用語「例示的な」が、「例、事例または実例として役立つ」ことを意味するものとして使用されている。本明細書に「例示的」として記載された実施形態または設計は必ずしも、他の実施形態または設計よりも好ましいまたは有利であるとは解釈されない。用語「少なくとも１つの」および「１つまたは複数の」は、１以上の任意の整数、すなわち１、２、３、４などを含むと理解されることがある。用語「複数の」は、２以上の任意の整数、すなわち２、３、４、５などを含むと理解されることがある。用語「接続」は、間接「接続」と直接「接続」の両方を含むことがある。
【００１７】
用語「約」、「実質的に」、「およそ」およびこれらの変異語は、特定の数量の大きさに関連した、本出願の提出時に利用可能な機器に基づく誤差の程度を含むことが意図されている。例えば、「約」は、所与の値の±８％、５％または２％の範囲を含むことがある。
【００１８】
簡潔にするために、本明細書では、本発明の諸態様を製作および使用することに関係した従来の技法が、詳細に説明されたりまたは詳細には説明されなかったりすることがある。特に、本明細書に記載されたさまざまな技術的特徴を実施するためのコンピューティング・システムおよび特定のコンピュータ・プログラムのさまざまな態様はよく知られている。したがって、本明細書では、簡潔にするために、よく知られたシステムもしくはプロセスまたはその両方の詳細を提供することなしに、従来の多くの実施態様の詳細が簡単にしか言及されておらず、または完全に省かれている。
【００１９】
本明細書に記載された技術的解決策は、実行するためにユーザに提供されたワークフローの更新を容易にし、この更新は、ユーザによってワークフローが実行されている間にオンラインで動的に実施される。ワークフローは、そのワークフローに従って特定の順序で実行するためにユーザに提供される操作のリストである。１つまたは複数の例では、ワークフローの１つまたは複数の操作（ワークフロー・ステップ）が、機械、例えばワークフローが実行されている機械を改変することがある。１つまたは複数の例では、ワークフローが第１の機械上でユーザに提供され、第２の機械上でワークフローが実行される。１つまたは複数の例では、ワークフローの１つまたは複数のワークフロー・ステップが手動で実行される。その代わりに、またはそれに加えて、１つまたは複数のワークフロー・ステップが自動で実行されることもある。１つまたは複数の例では、手動ステップと自動ステップの組合せとしてワークフローが実行される。
【００２０】
ワークフローの例は、機械のハードウェアを改変するためのワークフロー・ステップのリスト、例えばコンピュータのメモリ・デバイスを更新／交換するため、自動車のバッテリを更新／交換するため、プリンタの歯車を改変するため、または機械の他のハードウェアを改変するためのワークフロー・ステップのリストを含む。その代わりに、またはそれに加えて、ワークフローの例は、機械に関連したソフトウェアを改変するためのワークフロー・ステップのリスト、例えばオペレーティング・システムを更新／交換するため、ソフトウェア・システムを更新／交換するため、機械の構成を改変するため、例えばメモリを暗号化するため、ソフトウェア・システムの１つもしくは複数のオプションを設定するため、または機械の他のソフトウェアを改変するためのワークフロー・ステップのリストを含む。上記のことはワークフローの少数の例に過ぎないこと、ならびに、本明細書に記載された技術的解決策は、本明細書に挙げられた例もしくは記載された例またはその両方に加え、ワークフローの他の例にも適用可能であることが理解される。
【００２１】
ワークフローの実行に関する技術的課題は、それぞれのワークフロー・ステップが実行されているときに、１つまたは複数のワークフロー・ステップの実行を支援する情報でワークフローを更新することを含む。例えば、ワークフローの所有者（提供者／開発者）によって提供された情報よりも多くの情報が必要であり、そのような情報がユーザに提供されない／そのような情報をユーザが利用できない場合には、そのワークフロー・ステップをユーザが実行できない可能性がある。本明細書に記載された技術的解決策は、ワークフロー・ステップが実行される前／実行されているときにこのような欠落情報（ｍｉｓｓｉｎｇ  ｉｎｆｏｒｍａｔｉｏｎ）を提供することを容易にすることによって、このような技術的課題を解決する。
【００２２】
例えば、本明細書に記載される技術的解決策は、多数のデータ源からこのような欠落情報を決定し、提供することを容易にする。例えば、これらのデータ源は、ワークフロー開発者からの更新を含むことがある。例えば、開発者（ワークフローを設計した販売者または所有者）によってワークフローが更新または修正される場合には、その更新された情報がユーザに提供される。以降の説明では、このような情報を「販売者更新情報」と呼ぶ。
【００２３】
さらに、その同じワークフローを実行した別のユーザであり、ワークフローを実行しているユーザとは異なる領域（ｄｏｍａｉｎ）からの別のユーザからの更新を、データ源が含むこともある。ここで言う異なる領域は、ユーザとは異なる環境でそのワークフローを実行した別のユーザに関することがあり、例えば、この別のユーザがユーザとは異なる組織体（ｏｒｇａｎｉｚａｔｉｏｎ）からのユーザであり、ワークフローが組織体情報に影響を及ぼす／使用する場合、例えばワークフローが組織体のサーバを更新する場合などに関することがある。異なる領域の別の例は、異なるハードウェア、異なるオペレーティング・システムなどで同じワークフローを実行しているユーザを含むことがある。異なる領域からの２人以上のユーザであり、その対応するそれぞれの領域の環境で同じワークフローを実行している２人以上のユーザの他のさまざまな例が可能であることが理解される。いずれにせよ、その同じワークフローを実行した異なる領域の別のユーザが、ワークフロー実行に関する共有すべき情報を有している場合、このような共有情報は、本明細書に記載される技術的解決策によって識別され、ユーザに提供される。以降の説明では、このような情報を「別ユーザ情報」と呼ぶ。
【００２４】
さらにまた、類似のワークフロー、例えば実行中のワークフローと共通の１つまたは複数のワークフロー・ステップを含む別のワークフローを同じユーザが以前に実行したときに得た更新を、データ源が含むことがある。例えば、ワークフロー・ステップに対する／関する特定の情報をユーザがデータ源に追加していることがある。そのような場合、その情報は、本明細書に記載された技術的解決策によって別のワークフローと共有される。以降の説明では、このような情報を「ドメスティック情報（ｄｏｍｅｓｔｉｃ  ｉｎｆｏｒｍａｔｉｏｎ）」と呼ぶ。
【００２５】
さらに、データ源が、外界の別の源からの更新を含むこともあり、本明細書では以降、このような更新を「別ユーザ情報」と呼ぶ。このような情報は、ＴＷＩＴＴＥＲ（商標）、ＬＩＮＫＥＤＩＮ（商標）、ＦＡＣＥＢＯＯＫ（商標）などの１つまたは複数のソーシャル・メディア・データ源、ＲＥＤＤＩＴ（商標）、ＱＵＯＲＡ（商標）などの１つまたは複数のフォーラムもしくはブログ・データ源またはその両方、およびインターネットを介して利用可能なこのような他のデータ源のような１つまたは複数の源から自動的に識別され、提供される情報を含む。
【００２６】
ワークフローを実行しているときに取得されて、ユーザに提供される欠落情報は、限定はされないが、技術レベル・フィードバック、時間フィードバック、影響フィードバックを含む。さらに、欠落情報は、１つまたは複数のワークフロー・ステップに対する格付け（ｒａｔｉｎｇ）、例えば、容易かまたは難しいか、ステップを実施するかどうかを示す同意かまたは不満足か、ワークフロー・ステップが期待した結果を与えたかどうかを示す有用かまたは有用でないか、ワークフロー・ステップをスキップすることができるかどうかを示す重要かまたは重要でないかなどを含む。その代わりに、またはそれに加えて、この情報が、ワークフロー・ステップに対して利用可能な情報の概要を示す星評価などの格付けを含むこともある。さらに、欠落情報は、同じユーザが実行した別のワークフローの以前の情報、例えばコメント、注記、ステップ・オーナーシップ、ノートパッド情報、ワークフロー履歴ファイルなどを含むことがある。ソーシャル・メディアまたは他のインターネット源からの情報は、そのワークフローを実行した別のユーザからのヒントおよびティップス（ｔｉｐｓ）を含むことがある。ユーザに提供される欠落情報はさらに、欠陥情報または補正、パッチ、更新など、販売者からの製品問題情報を含むことがある。
【００２７】
このような情報は、さまざまなユーザがワークフローを実行するに従って絶えず蓄積している。しかしながら、それぞれのユーザがそのワークフローを実施／実行しなければならない時点が存在し、そのため、そのワークフローを実行するときにユーザが「最新の」追加情報を得ることが望ましい。本明細書に記載された技術的解決策は、欠落情報によってワークフローを更新するこのような技術的課題を、ワークフローを実行しているときに多数のデータ源からのこのような更新を自動的に識別しユーザに提供することによって、したがって多数のデータ源からの最新の更新を提供することによって解決する。
【００２８】
１つまたは複数の例では、本明細書に記載された技術的解決策がクラウド・コンピューティングを使用して実施されうる。本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実施態様はクラウド・コンピューティング環境に限定されないことを予め理解されたい。本発明の実施形態は、現在知られているまたは後に開発される任意の他の任意のタイプのコンピューティング環境で実施することができる。
【００２９】
クラウド・コンピューティングは、最小限の管理労力またはサービスの提供者との最小限のインタラクションで迅速に供給およびリリースすることができる構成可能なコンピューティング・リソース（例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械およびサービス）の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配信モデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、および少なくとも４つのデプロイメント（ｄｅｐｌｏｙｍｅｎｔ）モデルを含むことがある。
【００３０】
特徴は以下のとおりである。
オンデマンド・セルフサービス：クラウド・コンシューマ（ｃｌｏｕｄ  ｃｏｎｓｕｍｅｒ）は、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能の供給を、サービス提供者とのヒューマン・インタラクションを必要とすることなく必要に応じて自動的に一方的に受けることができる。
ブロード・ネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種シン（ｔｈｉｎ）またはシック（ｔｈｉｃｋ）クライアント・プラットホーム（例えば移動電話、ラップトップおよびＰＤＡ）による使用を促進する標準的機構を通してアクセスされる。
リソース・プーリング：マルチテナント・モデルを使用して多数のコンシューマにサービスを提供するために、提供者のコンピューティング・リソースはプールされており、要求に応じて、異なる物理および仮想リソースが動的に割当ておよび再割当てされる。コンシューマは一般に、提供されたリソースの正確な位置を制御できずまたは正確な位置を知らないが、より高い抽象化レベル（例えば国、州またはデータセンター）で位置を指定することができるという意味で、位置独立の感覚がある。
ラピッド・エラスティシティ（ｒａｐｉｄ  ｅｌａｓｔｉｃｉｔｙ）：機能は、素早くスケールアウトするために迅速かつ弾力的に、場合によっては自動的に供給することができ、素早くスケールインするために迅速にリリースすることができる。
コンシューマにとって、供給に使用可能な機能はしばしば無限であるように見え、いつでも好きな量だけ購入することができる。
メジャード・サービス（ｍｅａｓｕｒｅｄ  ｓｅｒｖｅｃｅ）：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅および使用中ユーザ・アカウント）に適合したある抽象化レベルで計測機能に介入することによって、リソースの使用状況を自動的に制御および最適化する。リソースの使用状況を監視、制御および報告して、利用されているサービスの提供者とコンシューマの両方に透明性を提供することができる。
【００３１】
サービス・モデルは以下のとおりである。
ソフトウェア・アズ・ア・サービス（ＳａａＳ）：コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上でランしている提供者のアプリケーションを使用する機能である。ウェブ・ブラウザなどのシン・クライアント・インタフェース（例えばウェブ・ベースの電子メール）を通してさまざまなクライアント・デバイスからアプリケーションにアクセス可能である。場合によっては可能な限られたユーザ固有のアプリケーション構成の設定を除けば、コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージまたは個々のアプリケーション機能を含む根底にあるクラウド・インフラストラクチャを管理もまたは制御もしない。
プラットフォーム・アズ・ア・サービス（ＰａａＳ）：コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上で、提供者がサポートするプログラム言語およびツールを使用して作成されたコンシューマ作成または取得のアプリケーションをデプロイする機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む根底にあるクラウド・インフラストラクチャを管理もまたは制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成は制御することができる。
インフラストラクチャ・アズ・ア・サービス（ＩａａＳ）：コンシューマに提供されるこの機能は、処理、ストレージ、ネットワークおよび他の基本的なコンピューティング・リソースを供給する機能であり、コンシューマは任意のソフトウェアをデプロイおよびランすることができ、このソフトウェアは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、根底にあるクラウド・インフラストラクチャを管理もまたは制御もしないが、オペレーティング・システム、ストレージおよびデプロイされたアプリケーションは制御することができ、場合によっては、選択されたネットワーク構成要素（例えばホスト・ファイアウォール）を限定的に制御することができる。
【００３２】
デプロイメント・モデルは以下のとおりである。
プライベート・クラウド：このクラウドのインフラストラクチャは、組織体のためだけに運営される。
インフラストラクチャは、その組織体または第三者によって管理されることがあり、敷地内または敷地外に置かれることがある。
コミュニティ・クラウド：このクラウドのインフラストラクチャは、いくつかの組織体によって共有され、利害（例えば任務、セキュリティ要件、方針およびコンプライアンス上の問題）を共有する特定のコミュニティを支援する。インフラストラクチャは、その組織体または第三者によって管理されることがあり、敷地内または敷地外に置かれることがある。
パブリック・クラウド：このクラウドのインフラストラクチャは、一般大衆または大きな産業グループが利用可能であり、クラウド・サービスを販売している組織体によって所有される。
ハイブリッド・クラウド：このクラウドのインフラストラクチャは、固有の実体を維持しているが、データおよびアプリケーション・ポータビリティを可能にする標準化された技術または独占技術（例えばクラウド間のロード・バランシングのためのクラウド・バースティング）によって１つに結合された２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の合成体である。クラウド・コンピューティング環境は、無国籍（ｓｔａｔｅｌｅｓｓｎｅｓｓ）、低結合（ｌｏｗ  ｃｏｕｐｌｉｎｇ）、モジュール性（ｍｏｄｕｌａｒｉｔｙ）および意味論的相互運用性（ｓｅｍｅｎｔｉｃ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ）に重きを置くサービス指向の環境である。クラウド・コンピューティングの中心に、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【００３３】
次に図１を参照すると、例示的なクラウド・コンピューティング環境５０が示されている。示されているとおり、クラウド・コンピューティング環境５０は１つまたは複数のクラウド・コンピューティング・ノード１０を含み、これらのノードによって、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイス、例えばパーソナル・ディジタル・アシスタント（ＰＤＡ）もしくは移動電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃまたは自動車コンピュータ・システム５４Ｎあるいはこれらの組合せは通信することができる。ノード１０は互いに通信することができる。それらのノードは、１つまたは複数のネットワークにおいて、上で説明したプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどのグループ（図示せず）に物理的または仮想的にグループ分けされていることがある。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、プラットホームもしくはソフトウェアまたはこれらの組合せを、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要がないサービスとして提供することができる。図１に示されたタイプのコンピューティング・デバイス５４Ａ〜Ｎは単なる例であることが意図されていること、ならびにコンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意のタイプのネットワーク上もしくはアドレス指定可能なネットワーク接続上で（例えばウェブ・ブラウザを使用して）またはその両方で、コンピュータ化された任意のタイプのデバイスと通信することができることが理解される。
【００３４】
次に図２を参照すると、クラウド・コンピューティング環境５０（図１）によって提供される一組の機能抽象層が示されている。図２に示された構成要素、層および機能は単なる例であることが意図されており、本発明の実施形態はそれらに限定されないことを予め理解しておくべきである。図示のとおり、以下の層および対応する機能が提供される。
【００３５】
ハードウェアおよびソフトウェア層６０は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム６１、ＲＩＳＣ（縮小命令セット・コンピュータ）アーキテクチャに基づくサーバ６２、サーバ６３、ブレード・サーバ６４、ストレージ・デバイス６５ならびにネットワークおよびネットワーキング構成要素６６を含む。いくつかの実施形態では、ソフトウェア構成要素が、ネットワーク・アプリケーション・サーバ・ソフトウェア６７およびデータベース・ソフトウェア６８を含む。
【００３６】
仮想化層７０は抽象化層を提供し、この層から、仮想実体の以下の例が提供されることがある：仮想サーバ７１、仮想ストレージ７２、仮想専用ネットワークを含む仮想ネットワーク７３、仮想アプリケーションおよびオペレーティング・システム７４および仮想クライアント７５。
【００３７】
一例では、管理層８０が下記の機能を提供する。リソース供給８１は、クラウド・コンピューティング環境内でタスクを実施する目的に利用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計量および価格設定８２は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースがアプリケーション・ソフトウェア・ライセンスを含む。セキュリティは、クラウド・コンシューマおよびタスクの識別確認ならびにデータおよび他のリソースの保護を提供する。ユーザ・ポータル８３は、コンシューマおよびシステム管理者に、クラウド・コンピューティング環境へのアクセスを提供する。サービス水準管理８４は、必要なサービス水準が達成されるようなクラウド・コンピューティング・リソースの割振りおよび管理を提供する。サービス水準合意（ＳＬＡ）計画および履行８５は、ＳＬＡによって将来必要になると予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【００３８】
作業負荷層９０は、クラウド・コンピューティング環境が利用される可能性がある機能の例を提供する。この層から提供されうる作業負荷および機能の例は、マッピングおよびナビゲーション９１、ソフトウェア開発およびライフサイクル管理９２、仮想教室教育配信９３、データ解析処理９４、トランザクション処理９５およびワークフロー実行処理９６を含む。
【００３９】
図３は、ワークフローを実行する本発明の１つまたは複数の実施形態に基づく例示的なシステム１００を示す。システム１００は、認知学習を使用したワークフローの実行を容易にする。システム１００は、ワークフロー１２５へのアクセスをワークフロー実行者１０５に提供するワークフロー・アクセス・システム１２０を含む。ワークフロー１２５は、ワークフロー・ターゲット・システム１１０の構成要素もしくは構成またはその両方を変更するためのものである。図３では、ワークフロー・アクセス・システム１２０とワークフロー・ターゲット・システム１１０とが２つの別個のシステムとして示されているが、１つまたは複数の例では、これらの２つのシステムが同じ１つのシステムであることに留意すべきである。
【００４０】
ワークフロー１２５は、例えばワークフロー・ターゲット・システム１１０の販売者もしくは開発者またはその両方によって提供される。ワークフロー１２５は、ワークフロー実行者１０５によって実行される１つまたは複数のワークフロー・ステップを含む。ワークフロー１２５には固有の識別子が割り当てられている。さらに、１つまたは複数の例では、それぞれのワークフロー・ステップに固有の識別子が割り当てられている。１つまたは複数の例では、ワークフロー・ステップが、ワークフロー１２５によって提供される特定の順序で実行される。したがって、ワークフロー１２５は、ワークフロー実行者１０５によって実行される機械支援ワークフローである。ワークフロー実行者１０５は、ワークフロー１２５のそれぞれのワークフロー・ステップを実行するユーザであることがある。あるいは、ワークフロー実行者１０５は、ワークフロー１２５のワークフロー・ステップを自動または半自動で実行する機械である。
【００４１】
システム１００はさらに、ワークフロー１２５を更新する目的に使用される１つまたは複数のデータ源１３０を含む。データ源１３０は、１つまたは複数のサーバ・コンピュータであることがある。１つまたは複数の例では、データ源１３０が、ワークフロー１２５の更新されたワークフロー・ステップもしくは情報またはその両方を記憶した販売者データ源１３０を含む。販売者データ源１３０は、例えばワークフロー１２５の販売者／作成者／開発者によって提供される。１つまたは複数の例では、ワークフロー１２５に関連した情報にアクセスするため、ワークフロー１２５が、販売者データ源１３０のアクセス位置、例えばＩＰアドレス、または他のアクセス情報を含む。１つまたは複数の例では、販売者データ源１３０が、ワークフロー１２５の固有の識別子に関連した情報、さらに、ワークフローの１つまたは複数のワークフロー・ステップの固有の識別子に関連した情報を保持している。ワークフロー・アクセス・システム１２０は、ワークフローおよびワークフロー・ステップに関連したこれらのデータを、販売者データ源１３０内において、例えば販売者データ源１３０によって提供されたアプリケーション・プログラミング・インタフェース（ＡＰＩ）を使用して明確に識別することができる。他の例では、ＡＰＩの他に、これらのデータにアクセスする別の技法が使用されることがあることが理解される。
【００４２】
その代わりに、またはそれに加えて、データ源１３０は、ワークフロー実行者１０５の組織体内からの「ドメスティック情報」を記憶したドメスティック・データ源を含む。ドメスティック情報はその組織体固有の情報である。例えば、ワークフロー１２５がＳＥＡＲＳ（商標）などの組織体内で実行されている場合、ワークフロー実行者１０５は、１つまたは複数のワークフロー・ステップの実行中に、従業員番号、サーバ名、ファイル名、プロトコル、顧客識別データ、仕入先識別データなどのパラメータを使用することができ、このようなパラメータはＳＥＡＲＳ（商標）固有のパラメータである。このような情報は公開されない極秘情報であることがある。さらに、このような情報は、ＳＥＡＲＳ（商標）組織体内でそのワークフロー・ステップを実行したときにのみ有用であることがあり、異なる組織体内でそのワークフロー・ステップを実行するとエラー（例えばワークフローの失敗または誤った結果）の原因になることがある。したがって、データ源１３０は、ワークフロー実行者１０５の組織体内でのワークフロー実行に特化したデータを記憶したドメスティック情報データ源１３０を含むことができる。その代わりに、またはそれに加えて、その組織体が、ワークフロー・ターゲット・システム１１０に対して固有であることがあり、ワークフロー実行者１０５に対してはそうでないことがある。
【００４３】
さらに、データ源１３０は、インターネットを介してアクセス可能な「オープン」データ源であり、ワークフロー１２５の別のユーザによって提供された情報（「別ユーザ情報」と呼ぶ）を提供するデータ源である、別ユーザ・データ源１３０を含む。例えば、別のユーザ・データ源１３０は、ソーシャル・メディア・サーバ（例えばＦＡＣＥＢＯＯＫ（商標）、ＬＩＮＫＥＤＩＮ（商標）、ＴＷＩＴＴＥＲ（商標）など）、別のワークフロー実行者のブログ（例えばＷＯＲＤＰＲＥＳＳ（商標）など）、フォーラム（ＱＵＯＲＡ（商標）、ＲＥＤＤＩＴ（商標）など）、あるいはインターネットを介してアクセス可能な他のデータ源であり、ワークフロー１２５もしくはワークフロー・ステップまたはその両方に関連した情報をワークフロー・アクセス・システム１２０が検索することを容易にする他のデータ源を含むことができる。
【００４４】
ワークフロー実行者１０５は、特定のワークフロー１２５に対してどのデータ源１３０を使用するのかを指定することができ、記憶するまたはそのデータ源１３０から検索するデータのタイプを指示することができる。上に挙げたデータ源のタイプは少数の例であること、および別の例では追加のデータ源タイプもしくは異なるデータ源タイプまたはその両方が使用されることに留意すべきである。
【００４５】
ワークフロー１２５を更新することは、１つまたは複数のワークフロー・ステップを更新することを含む。１つまたは複数の例では、ワークフロー・アクセス・システム１２０がワークフロー１２５を更新する。１つまたは複数の例では、この更新が、ワークフロー実行者１０５からの要求に応答して実施されうる。ワークフロー・アクセス・システム１２０は、機械学習アルゴリズムなどの認知学習技法を使用してワークフロー１２５を更新する。例えば、ワークフロー・アクセス・システム１２０は、ニューラル・ネットワーク、ベイズ（Ｂａｙｅｓｉａｎ）、クラスタ化、回帰、決定樹、正則化などのような、またはこれらの組合せのようなアルゴリズムを使用する。ワークフロー・アクセス・システム１２０は、データ源１３０から利用可能な更新情報を使用して、ワークフロー１２５の１つまたは複数のワークフロー・ステップを改訂する。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ワークフロー１２５の識別子もしくはワークフロー・ステップの識別子またはその両方を使用して、特定のワークフロー１２０もしくはワークフロー・ステップまたはその両方のためのデータ源から利用可能な更新情報を識別する。
【００４６】
さらにまた、ワークフロー・アクセス・システム１２０は、ワークフロー実行者１０５によるワークフロー１２５の実行に関連した情報によってワークフロー実行者１０５がデータ源１３０を更新することを容易にする。例えば、ワークフロー実行者１０５は、自己の更新情報を、ワークフロー１２５のワークフロー・ステップを実行したまたはワークフロー１２５全体を実行した自己の経験に基づいて提供する。
【００４７】
したがって、ワークフロー実行システム１００は、データ源１３０からの１つまたは複数のフィードバック更新情報に基づいてワークフロー１２５を更新／改訂する。さらに、ワークフロー実行システム１００は、ワークフロー・ステップの完了後もしくはワークフロー１２５の実行の完了に応答してまたはその両方において、データ源１３０を、ワークフロー実行者１０５からのフィードバック更新情報によって更新することを容易にする。ワークフロー実行システム１００は、ワークフロー・ステップの固有の識別子もしくはワークフロー１２５の固有の識別子またはその両方を使用して、対応するそれぞれのフィードバック情報にアクセスし、対応するそれぞれのフィードバック情報を受け取りもしく更新し、またはこれらの組合せを実施する。
【００４８】
図４は、１つまたは複数の実施形態に基づく例示的なシステム２００を示す。システム２００は、コンピュータなどの通信装置とすることができる。例えば、システム２００は、デスクトップ・コンピュータ、タブレット・コンピュータ、ラップトップ・コンピュータ、電話、例えばスマートフォン、サーバ・コンピュータ、またはネットワーク２６５を介して通信する他のデバイスとすることができる。システム２００は、電子回路などのハードウェアを含む。１つまたは複数の例では、システム２００が、実行時データ収集システム１２０である。
【００４９】
システム２００は、とりわけ、プロセッサ２０５、メモリ・コントローラ２１５に結合されたメモリ２１０、およびローカルＩ／Ｏコントローラ２３５を介して通信可能に結合された、周辺デバイスまたは制御デバイスなどの１つもしくは複数の入力デバイス２４５もしくは出力デバイス２４０またはその両方を含む。これらのデバイス２４０および２４５は例えばバッテリ・センサ、位置センサ、インジケータ／識別灯などを含むことができる。Ｉ／Ｏコントローラ２３５には、従来のキーボード２５０およびマウス２５５などの入力デバイスを結合することができる。Ｉ／Ｏコントローラ２３５は例えば、当技術分野で知られている１つまたは複数のバスまたは他の有線もしくは無線接続とすることができる。単純にするために省略されているが、Ｉ／Ｏコントローラ２３５は、通信を可能にするために、コントローラ、バッファ（キャッシュ）、ドライバ、中継器および受信器などの追加の要素を有することができる。
【００５０】
Ｉ／Ｏデバイス２４０、２４５はさらに、入力と出力の両方で通信するデバイス、例えばディスクおよびテープ・ストレージ、（他のファイル、デバイス、システムまたはネットワークにアクセスするための）ネットワーク・インタフェース・カード（ＮＩＣ）または変調器／復調器、無線周波（ＲＦ）トランシーバまたは他のトランシーバ、テレフォン・インタフェース、ブリッジ、ルータなどを含むことができる。
【００５１】
プロセッサ２０５は、ハードウェア命令またはソフトウェア、特にメモリ２１０に記憶されたハードウェア命令またはソフトウェアを実行するハードウェア・デバイスである。プロセッサ２０５は、特注または市販のプロセッサ、中央処理ユニット（ＣＰＵ）、システム２００に関連したいくつかのプロセッサの中の補助プロセッサ、（マイクロチップもしくはチップ・セットの形態の）半導体ベースのマイクロプロセッサ、マクロプロセッサまたは命令を実行する他のデバイスとすることができる。プロセッサ２０５はキャッシュ２７０を含み、キャッシュ２７０は、限定はされないが、実行可能命令フェッチの速度を上げる命令キャッシュ、データ・フェッチおよび記憶の速度を上げるデータ・キャッシュ、および実行可能命令とデータの両方に関する仮想−物理アドレス変換の速度を上げるために使用される変換索引バッファ（ＴＬＢ）を含むことができる。キャッシュ２７０は、より高次のキャッシュ・レベル（Ｌ１、Ｌ２など）の階層として編成することができる。
【００５２】
メモリ２１０は、揮発性メモリ要素（例えばランダム・アクセス・メモリ（ＲＡＭ）、例えばＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ）および不揮発性メモリ要素（例えば、ＲＯＭ、消去可能なプログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭ）、電子的に消去可能なプログラマブル・リード・オンリー・メモリ（ＥＥＰＲＯＭ）、プログラマブル・リード・オンリー・メモリ（ＰＲＯＭ）、テープ、コンパクト・ディスク・リード・オンリー・メモリ（ＣＤ−ＲＯＭ）、ディスク、ディスケット、カートリッジ、カセットなど）のうちの１つまたは組合せを含むことができる。さらに、メモリ２１０は、電子、磁気、光または他のタイプのストレージ媒体を含むことができる。メモリ２１０は、さまざまな構成要素が互いに離れて位置するが、プロセッサ２０５はそれらの構成要素にアクセスすることができる分散アーキテクチャを有することができることに留意されたい。
【００５３】
メモリ２１０の中の命令は、論理機能を実施するための実行可能命令の順序付きリストをそれぞれが含む１つまたは複数の別個のプログラムを含むことができる。図４の例では、メモリ２１０の中の命令が適当なオペレーティング・システム（ＯＳ）２１１を含む。オペレーティング・システム２１１は、他のコンピュータ・プログラムの実行を本質的に制御することができ、スケジューリング、入力−出力制御、ファイルおよびデータ管理、メモリ管理、通信制御ならびに関連サービスを提供する。
【００５４】
例えばプロセッサ２０５に対する命令または他の検索可能な情報を含む追加のデータをストレージ２２０に記憶することができ、ストレージ２２０は、ハード・ディスク・ドライブまたは固体ドライブなどのストレージ・デバイスとすることができる。メモリ２１０またはストレージ２２０に記憶された命令は、本明細書に記載されたシステムおよび方法の１つまたは複数の態様をプロセッサが実行することを可能にする命令を含むことができる。
【００５５】
システム２００はさらに、ユーザ・インタフェースまたはディスプレイ２３０に結合されたディスプレイ・コントローラ２２５を含むことができる。いくつかの実施形態では、ディスプレイ２３０がＬＣＤスクリーンである。別の実施形態では、ディスプレイ２３０が複数のＬＥＤステータス・ライトを含む。いくつかの実施形態では、システム２００がさらに、ネットワーク２６５に結合するためのネットワーク・インタフェース２６０を含む。ネットワーク２６５は、システム２００と外部サーバ、クライアントなどとの間のブロードバンド接続を介した通信用のＩＰベースのネットワークとすることができる。一実施形態では、ネットワーク２６５が衛星ネットワークとすることもできる。ネットワーク２６５は、システム２００と外部システムとの間でデータを送受信する。いくつかの実施形態では、ネットワーク２６５が、サービス提供者によって運営されたマネージドＩＰネットワークとすることもできる。ネットワーク２６５は、無線方式で、例えばＷｉＦｉ、ＷｉＭａｘ、衛星などの無線プロトコルおよび無線技術を使用して実施することができる。ネットワーク２６５は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、インターネットまたは他の同様のタイプのネットワーク環境などのパケット交換網とすることもできる。ネットワーク２６５は、固定無線ネットワーク、無線ローカル・エリア・ネットワーク（ＬＡＮ）、無線ワイド・エリア・ネットワーク（ＷＡＮ）パーソナル・エリア・ネットワーク（ＰＡＮ）、仮想専用ネットワーク（ＶＰＮ）、イントラネットまたは他の適当なネットワーク・システムとすることができ、信号を受信および送信するための機器を含むことができる。
【００５６】
１つまたは複数の例では、図３に示された１つまたは複数の構成要素がシステム２００として実施される。例えば、ワークフロー・アクセス・システム１２０、ワークフロー・ターゲット・システム１１０、１つまたは複数のデータ源１３０、もしくはシステム１００の他の構成要素、またはこれらの組合せを、システム２００によって実施することができる。システム１００は、本明細書に記載された技術的解決策を実施することを容易にする。
【００５７】
１つまたは複数の例では、ワークフロー１２５の固有の識別子、さらにワークフロー１２５の各ワークフロー・ステップの固有の識別子が割り当てられている。１つまたは複数の例では、ワークフロー１２５およびワークフロー・ステップがさらに、より人間の使用に適した（ｈｕｍａｎ−ｕｓａｂｌｅ）記述名に関連づけられうる。この記述名は固有のものでなくてもよい。１つまたは複数の例では、データ源１３０からの適切な情報にアクセスするために、ワークフロー１２５およびワークフロー・ステップの固有の識別子の突合せが使用される。ワークフロー実行者１０５が入手したい情報は、ワークフロー１２５が生成され、販売者によって提供されて以降にコミュニティが生成した、ワークフロー１２５およびそれぞれのワークフロー・ステップに関連した追加情報である。
【００５８】
ワークフロー・アクセス・システム１２０は、ワークフロー・ステップもしくはワークフロー１２５またはその両方に対する更新情報を、ワークフロー１２５によって予め設定された特定のデータ源１３０に対するアクセス情報を使用して見つけ出す。その代わりに、またはそれに加えて、アクセス情報はワークフロー実行者１０５によっても提供される。その代わりに、またはそれに加えて、ワークフロー・アクセス・システム１２０は、対応するアクセス情報を含むデータ源の予め設定されたリストを含む。その代わりに、またはそれに加えて、ワークフロー・アクセス・システム１２０は、ワークフロー・ステップのための新しいデータ源１３０を、例えばサーチ・エンジンを使用して、ワークフロー・ステップに関連したキーワードもしくはワークフロー・ステップの固有の識別子またはその両方に基づいて発見する。例えば、ワークフロー・アクセス・システム１２０は、ワークフロー・ステップの自然言語構文解析を実施し、サーチ・エンジンまたは他の探索システムを使用して実行される探索問合せを生成する。したがって、ワークフロー・アクセス・システム１２０は、ワークフロー実行者１０５が、ワークフロー１２５およびそれぞれのワークフロー・ステップに対して使用可能な１つまたは複数のデータ源１３０からの最新情報を検索することを容易にする。
【００５９】
データ源１３０は、ワークフロー実行者１０５の組織体内にある（「ドメスティック情報」の）ドメスティック・データ・ストアを含む。ドメスティック情報は、ワークフロー実行者１０５と同じ組織体内の１または複数のワークフロー実行者によって生成された情報を含む。データ源１３０はさらに、ワークフロー１２５の販売者によって直接に提供された情報（「販売者更新情報」）を記憶した販売者のデータ・ストアを含むことができる。さらに、データ源１３０は、インターネットを介して利用可能であり、例えばアプリケーション・プログラミング・インタフェース（ＡＰＩ）を介してアクセス可能な（「別ユーザ情報」の）「オープン」データ・ストアを含むことができる。１つまたは複数の例では、ワークフロー実行者１０５が、特定のワークフロー１２５もしくは特定のワークフロー・ステップまたはその両方に対してどのデータ源を使用するのかを指定し、ワークフロー実行者１０５が記憶または検索するであろうデータの種類（ドメスティック情報、販売者更新情報など）を示す。
【００６０】
ワークフロー・アクセス・システム１２０は、ワークフロー実行者１０５がワークフロー１２５を実行しているときのある時点で、ワークフロー１２５およびワークフロー・ステップに対する更新を要求する。１つまたは複数の例では、ワークフロー実行者１０５が、このような更新に対する同意を示さなければならない。それに応答して、ワークフロー・アクセス・システム１２０は、適切な１つまたは複数のデータ源１３０との通信を開始して、ワークフロー１２５に対する更新情報を固有の識別子を使用して検索する。検索された更新情報は、実行時にワークフロー１２５を改訂するためにワークフロー１２５に組み込まれる。１つまたは複数の例では、組み込まれた更新情報が、その情報がそこから検索されたデータ源１３０によって識別される。
【００６１】
１つまたは複数の例では、ワークフロー・ステップの実行が完了したときに、ワークフロー・アクセス・システム１２０が、更新された情報を適切なデータ源１３０にプッシュする。生成されたデータの正しいタイプに対応する更新された情報データがプッシュされる。例えば、ワークフロー実行者の組織体に固有のプライベート・データは、「ドメスティック情報」用のデータ源１３０に送られる。さらに、「別ユーザ情報」としてリリースされることが望まれる更新された情報は、別のデータ源１３０にプッシュされる。さらにまた、販売者に戻すことが望まれる情報は、ワークフロー設計者（ＩＳＶ）に関連した「販売者更新情報」用のデータ源１３０に送られる。１つまたは複数の例では、データ源１３０が、使用に利用可能なデータ源１３０のリストを含み、ワークフロー・アクセス・システム１２０は、そのリストのデータ源１３０に対する発見を実施して、特定のタイプのデータ源（ドメスティック、販売者など）を識別する。
【００６２】
図５は、実行時にワークフローを更新する１つまたは複数の実施形態に基づく例示的な方法の流れ図を示す。この方法は、システム１００を使用して実施することができる。この方法は、５１０に示されているように、ワークフロー・アクセス・システム１２０を介してワークフロー実行者１０５が実行するワークフロー１２５を選択することを含む。１つまたは複数の例では、この選択が、ワークフロー１２５を実行する通知を受け取ったことに応答して、またはワークフロー１２５自体を受け取ったことに応答して実施される。１つまたは複数の例では、ワークフロー１２５が多数のワークフローの中から選択される。ワークフローは販売者によってワークフロー実行者１０５に提供され、またはワークフロー実行者１０５が自分で書くこともできる。
【００６３】
１つまたは複数の例では、ワークフロー１２５が、さまざまなタイプのデータ（ドメスティック、販売者更新、別ユーザ情報）に対して使用する１つまたは複数のデータ源１３０を含む。データ源１３０は、ワークフロー１２５を作成した販売者もしくはワークフロー実行者１０５またはその両方が、ワークフロー１２５中で識別することができる。その代わりに、またはそれに加えて、ワークフロー１２５はさらに、更新もしくはワークフロー１２５に関する追加情報またはその両方を見つけ出すために使用するデータ源１３０を探索する発見動作を実施するよう、ワークフロー・アクセス・システム１２０に指示することもできる。
【００６４】
この方法はさらに、５１５に示されているように、ワークフロー１２５を更新するかどうかをワークフロー実行者１０５に確認することを含む。ワークフロー実行者１０５が更新を開始する場合、この方法は、５２０に示されているように、ワークフロー１２５に対する情報を１つまたは複数のデータ源からプルすることを含む。この情報は、ワークフロー１２５の実行を継続するかどうかをワークフロー実行者１０５が判定することを容易にする可能性がある、ワークフロー１２５に対する更新情報および追加情報を含む。
【００６５】
この情報をデータ源１３０からプルすることは、５２２および５２４に示されているように、データ源１３０を選択すること、およびワークフロー１２５に対する更新された情報がデータ源１３０において利用可能であるかどうかを確認することを含む。例えば、この方法は、販売者からワークフロー１２５を受け取って（または作成して）以降に、ワークフロー１２５が更新されたどうかを検出することを含む。その代わりに、またはそれに加えて、この方法は、別のユーザまたは販売者が関連情報を１つまたは複数のデータ源に追加したかどうかを検出することを含む。この検出は、ワークフロー１２５の固有の識別子を使用して１つまたは複数のデータ源１３０を確認することを含む。データ源１３０は、更新された情報を、固有の識別子に従って、例えば固有の識別子によって索引付けされて、保持している。
【００６６】
１つまたは複数のデータ源１３０は、ワークフロー１２５によって識別される所定の一組のデータ源１３０を含むことができる。例えば、確認される所定のデータ源１３０は、ワークフロー１２５の作成以降に販売者がワークフロー１２５に提供した更新用の販売者データ源を含むことがある。例えばドメスティック情報データ・ソース、ソーシャル・メディア・データ源などの他のデータ源が確認されることもある。データ源１３０は、逐次的にもしくは並行してまたはその両方で確認されることがある。１つまたは複数の例では、この確認が、実行するワークフロー１２５が選択されたことに応答して実施され、これが、ワークフロー１２５が作成され販売者によって提供されたときよりも後であることがある。
【００６７】
更新された情報が利用可能である場合、この方法は、５２６に示されているように、更新された情報を１つまたは複数のデータ源１３０から検索することを含む。５２５に示されているように、この更新された情報はワークフロー１２５に組み込まれる。したがってワークフロー１２５は更新される。例えば、この組込みは、１つもしくは複数のワークフロー・ステップを追加すること、または１つもしくは複数のワークフロー・ステップをワークフロー１２５から除くこと、あるいはその両方を含むことがある。その代わりに、またはそれに加えて、この更新は、ワークフロー１２５からの１つまたは複数のワークフロー・ステップを改訂することを含むことができる。例えば、この改訂は、ワークフロー・ステップで使用するパラメータ値の改変、例えばファイルのパス名、ファイル名、使用する数値、実行するスクリプト、使用するスクリプト・ファイル、実行するデータベース問合せ、アプリケーション・プログラミング・インタフェース呼出し、バージョン番号、またはワークフロー・ステップによって指定された他の動作などの改変を含むことができる。
【００６８】
この方法はさらに、５３０に示されているように、ワークフロー１２５からワークフロー・ステップを選択することによって、ワークフロー１２５の実行を開始することを含む。このワークフロー・ステップの実行は、上述のワークフロー更新の後でまたは上述のワークフロー更新なしで開始される。
【００６９】
ワークフロー・ステップを実行する前に、この方法はさらに、５３５に示されているように、ワークフロー・ステップを更新するかどうかを判定することを含む。例えば、以前の予備更新（５１５）以降に、いずれかのデータ源１３０でワークフロー・ステップが更新されている可能性がある。その代わりに、またはそれに加えて、そのワークフロー・ステップの実行に関連するデータがデータ源１３０上で利用可能であることもありうる。例えば、この追加データは、販売者データ源、ドメスティック情報データ源、ソーシャル・メディア・データ源または他のデータ源１３０に追加された情報を含むことがある。この追加データは、ワークフロー・ステップの実行を続行するかどうかを判定するためにワークフロー実行者１０５が読むこともしくは分析することまたはその両方を実施することができる情報を示す。
【００７０】
５３５に示されているように、ワークフロー・ステップに対するこのような更新された情報をプルするかどうかを、ワークフロー実行者１０５に問い合わせる。１つまたは複数の例では、このような確認が、更新を開始するかどうかをワークフロー実行者１０５に確認するようワークフロー・ステップに記されている場合にのみ実施される。このような記載が存在しない場合、更新された情報をプルすることに関するワークフロー実行者１０５への問合せは実施されない。
【００７１】
ワークフロー実行者１０５がワークフロー・ステップの更新を開始する場合、この方法は、５４０に示されているように、ワークフロー・ステップに対する更新された情報を１つまたは複数のデータ源１３０からプルすることを含む。更新された情報をプルすることは、５２２に示されているように、ワークフロー１２５に関連した１つまたは複数の所定のデータ源１３０の中からデータ源１３０を選択することを含む。１つまたは複数の例では、ワークフロー・ステップに関連したデータ源１３０が、この方法の始めのワークフロー１２５の更新（５１５）に関連したデータ源１３０とは異なることもある。さらに、更新された情報をプルすることは、５２４に示されているように、ワークフロー・ステップに対する更新された情報が、選択されたデータ源において利用可能であるかどうかを確認することを含む。１つまたは複数の例では、ワークフロー・ステップに関連した更新された情報が、ワークフロー・ステップ識別子を使用して識別される。１つまたは複数の例では、データ源１３０が、ワークフロー・ステップに対する更新された情報を、ワークフロー・ステップに関連した識別子に基づいて、例えばワークフロー・ステップ識別子に従って索引付けされて、保持している。１つまたは複数の例では、更新された情報が信頼できるデータ源（ｔｒｕｓｔｅｄ  ｄａｔａ  ｓｏｕｒｃｅ）からのものであること、および更新された情報がワークフロー販売者１０７によって推奨されていることの両方の条件が満たされている場合にのみ、ワークフロー実行者１０５がワークフロー・ステップを実行する。
【００７２】
５２６に示されているように、ワークフロー・ステップに関連した更新された情報を検索する。５４５に示されているように、この検索された情報はワークフロー・ステップに組み込まれる。更新された情報は、ワークフロー・ステップに対する改訂を含むことがある。その代わりに、またはそれに加えて、更新された情報は、ワークフロー・ステップの実行を続行するかどうかを判定するためにワークフロー実行者１０５が読むこともしくは分析することまたはその両方を実施することができるデータを含むことがある。
【００７３】
実行を継続するとワークフロー実行者１０５が判定した場合、この方法は、５５０に示されているように、ワークフロー・ステップを実行すること、およびそれによってワークフロー・ターゲット・システム１１０の改変に影響を及ぼすことを含む。この改変は、本明細書に記載されたハードウェア構成の改変もしくはソフトウェア構成の改変またはその両方を含むことがある。あるいは、５７０に示されているように、１つまたは複数のデータ源１３０から受け取った更新された情報に基づいて、ワークフロー実行者１０５が、ワークフローの実行を終了すると判定することもある。
【００７４】
１つまたは複数の例では、ワークフロー・ステップが実行されたか否かに関わらず、５５５に示されているように、ワークフロー実行者１０５が、更新された情報をデータ源１３０にプッシュする。例えば、ワークフロー・ステップの実行を続行しないとワークフロー実行者１０５が判定した場合、ワークフロー実行者１０５は、そのことをデータ源１３０に示すことができる。１つまたは複数の例では、データ源１３０が、ワークフロー・ステップが実行された回数のカウントを保持し、このような情報がワークフロー実行者１０５によりプッシュされることは、このカウントの保持を容易にする。例えば、販売者データ源はこのような情報を保持していることがある。その代わりに、またはそれに加えて、他のいずれかのデータ源１３０がこのような情報を保持していることもある。加えて、ワークフロー実行者１０５は、セキュリティ上の懸念、互換性の懸念、またはそのワークフロー・ステップが完了した／完了しなかった他の理由など、ワークフロー・ステップの実行を打ち切る／続行するワークフロー実行者１０５の判断につながった情報をアップロードまたはプッシュすることができる。その代わりに、またはそれに加えて、ワークフロー実行者１０５は、所定の基準（例えば星の数など）を使用した格付けなど、ワークフロー・ステップの実行の容易さを示す情報をプッシュすることができる。プッシュされた情報は、実行中のワークフロー・ステップの識別子に従ってデータ源１３０に記憶される。
【００７５】
ワークフロー実行者１０５がワークフロー・ステップを実施するとき、ワークフロー実行者１０５は、ワークフロー・ステップに関する情報を追加することができ、その情報は、ワークフロー・ステップの実行が完了したときにデータ源１３０に送られる。例えば、ワークフロー実行者１０５は、注記、ティップスを提供することができ、または、ワークフロー実行者１０５がそのワークフロー・ステップのために開発したスクリプトなど、ワークフロー・ステップを実施するツールさえも提供することができる。その代わりに、またはそれに加えて、ワークフロー実行者１０５は、ワークフロー・ステップに元からあるコードの代わりに実行される、変更されたコード（プログラミング命令）を提供することができる。その代わりに、またはそれに加えて、ワークフロー実行者１０５は、ワークフロー・ステップを実行する前または後に実施される前操作または後操作を提供することができる。その代わりに、またはそれに加えて、ワークフロー実行者は、そのワークフロー・ステップを実行することのワークフロー・ターゲット・システム１１０に対する副作用を記述することもできる。上記は例を列挙したものであり、別の例では、ワークフロー実行者１０５が、ワークフロー・ステップの実行に関する追加の詳細を提供する。
【００７６】
ワークフロー・ステップに関する情報をデータ源にプッシュするとワークフロー実行者１０５が判定した場合、ワークフロー・アクセス・システム１２０は、５６０に示されているように、その情報を蓄積し、データ源にプッシュする。このデータの蓄積は、ワークフロー・ステップの実行に関するコンテキスト情報を提供するシリアル・ナンバー、バージョン番号、（オペレーティング・システム、パス名などの）特定の構成パラメータなど、ワークフロー・ターゲット・システム１１０に関連した１つまたは複数のパラメータを決定することを含む。その代わりに、またはそれに加えて、この蓄積は、ワークフロー・ステップの実行に関するコンテキスト情報を提供するために、ワークフロー実行者１０５に関連したユーザ名、従業員ＩＤ、職務、組織体の許可などのデータを収集することを含む。さらにまた、この蓄積は、ワークフロー・ステップを実行した期間、実行が開始された時刻もしくは終了した時刻またはその両方、ワークフロー・ステップがデータ源１３０から更新された回数、ワークフロー実行者１０５によって獲得された、例えば所定のソフトウェア・アプリケーション（例えばＯＮＥＮＯＴＥ（商標）など）中の注記など、実行の実施に関連したデータを収集することを含む。１つまたは複数の例では、この蓄積がさらに、実行の容易さ、実行時間、実行を満たすワークフロー・ステップの結果などに基づくワークフロー・ステップの実行の格付けを実施するようワークフロー実行者１０５に要求することを含む。
【００７７】
蓄積された情報をデータ源１３０にプッシュすることは、５６２に示されているように、プッシュ先の１つまたは複数のデータ源１３０を選択することを含む。このデータ源１３０は、ワークフロー実行者１０５が予め選択しておくことができる。その代わりに、またはそれに加えて、ワークフロー・アクセス・システム１２０は、プッシュ先のデータ源１３０を、プッシュするデータのタイプに基づいて選択する。例えば、プッシュするデータがワークフロー・ステップの格付けである場合には、データを販売者データ源１３０にプッシュすることができる。その代わりに、またはそれに加えて、ワークフロー実行者１０５の環境に特定の設定を使用してワークフロー・ステップが実行された場合には、データをドメスティック・データ源１３０にプッシュすることができる。さらに、販売者データ源またはソーシャル・メディア・データ源のような別ユーザ・データ源などの組織体の外部にデータを公開するかどうかを、ワークフロー実行者１０５に尋ねることもできる。組織体の外部にデータをプッシュする場合、１つまたは複数の例では、ワークフロー・アクセス・システム１２０がそのデータを解析し、ファイル名、ユーザ名、パスワード、パス名、従業員名、従業員番号、シリアル・ナンバーなどの一切の組織体特定情報を、プッシュしているデータから除去する。１つまたは複数の例では、ドメスティック情報データ源１３０にデータをプッシュするときにはこのような組織体特定情報が保持され、または追加されることもある。
【００７８】
５６４に示されているように、ワークフロー・アクセス・システム１２０は、ワークフロー・ステップに関連したデータの容易な探索および識別のため、そのデータを、ワークフロー・ステップの固有の識別子と一緒にデータ源１３０にプッシュする。１つまたは複数の例ではさらに、プッシュされるデータにワークフロー識別子がタグ付けされる。
【００７９】
ワークフロー・ステップの実行が完了した後、この方法は、５７０に示されているように、ワークフローの実行が完了したのか、または実行すべきさらなるワークフロー・ステップが残っているのかを判定することを含む。追加のワークフロー・ステップが残っている場合には、ワークフロー全体の実行が完了するまで、次のワークフロー・ステップについてこの方法を繰り返す。ワークフロー全体の実行が完了した場合には、この方法が、５７５に示されているように、ワークフロー全体の実行に関連したデータをデータ源１３０にプッシュするかどうかをワークフロー実行者１０５に確認することを含む。情報をプッシュしないとワークフロー実行者１０５が判断した場合、この方法は完了となる。
【００８０】
データをデータ源１３０にプッシュする場合、ワークフロー・アクセス・システム１２０は、５８０に示されているように、プッシュするデータを蓄積し、１つまたは複数のデータ源１３０にプッシュする。このデータの蓄積は、ワークフロー１２５の実行に関するコンテキスト情報を提供するシリアル・ナンバー、バージョン番号、（オペレーティング・システム、パス名などの）特定の構成パラメータなどの、ワークフロー・ターゲット・システム１１０に関連した１つまたは複数のパラメータを決定することを含む。その代わりに、またはそれに加えて、この蓄積は、ワークフロー１２５の実行に関するコンテキスト情報を提供するために、ワークフロー実行者１０５に関連したユーザ名、従業員ＩＤ、職務、組織体の許可などのデータを収集することを含む。さらにまた、この蓄積は、ワークフロー１２５を実行した期間、実行が開始された時刻もしくは終了した時刻またはその両方、ワークフロー１２５がデータ源１３０から更新された回数、ワークフロー実行者１０５によって獲得された、例えば所定のソフトウェア・アプリケーション（例えばＯＮＥＮＯＴＥ（商標）など）中の注記など、実行の実施に関連したデータを収集することを含む。さらに、この蓄積は、ワークフロー・バージョン、販売者情報、どのワークフロー・ステップを実行したのか、どのワークフロー・ステップをスキップしたのかなどのワークフロー特定情報を収集することを含む。１つまたは複数の例では、この蓄積がさらに、実行の容易さ、実行時間、実行を満たすワークフロー・ステップの結果などに基づくワークフロー１２５の実行の格付けを実施するようワークフロー実行者１０５に要求することを含む。５８０に示されているように、ワークフロー・アクセス・システム１２０は、ワークフローに関連したデータの容易な探索および識別のため、そのデータを、ワークフローの固有の識別子と一緒にデータ源１３０にプッシュする。
【００８１】
したがって、この時点で、データ源１３０は、第２のワークフロー実行者が固有の識別子を使用して求めたときに検索することができる、ワークフロー１２５およびワークフロー・ステップに対する更新された情報を記憶している。したがって、第２のワークフロー実行者は、ワークフロー実行者１０５が提供した情報を使用してワークフロー１２５を実行するときに、情報に基づく判断を実施することができる。記憶されている情報の詳細は、プッシュするためにワークフロー実行者１０５が選択したものおよび（例えばソーシャル・メディア源などから）見つかったものに基づきさまざまである。
【００８２】
したがって、本明細書に記載された技術的解決策は、ワークフロー実行者１０５が、ワークフローを実行するときにワークフロー・ステップの更新された最新のバージョンを有することを容易にする。さらに、ワークフロー実行者１０５は、ワークフロー・ステップの実行を開始する前に、ワークフロー・ステップに関する更新された最新の情報を受け取る。さらに、本明細書に記載された技術的解決策は、ワークフロー実行者が、ワークフロー・ステップに関連したデータ源を更新して、次のワークフロー実行者がワークフロー・ステップを実行するときにそのワークフロー実行者が最新のバージョン／データを有するようにすることを容易にする。
【００８３】
更新された情報をデータ源１３０から受け取り、ワークフロー１２５を更新することに関する技術的課題は、ワークフロー１２５を変更するときもしくはデータ源１３０からデータを検索するとき、またはその両方を実施するときに、コンピュータ・セキュリティが維持されることを保証することを含む。本明細書に記載された技術的解決策はさらに、ワークフロー１２５の変更を管理するセキュリティ機能を提供し、もしくはワークフロー・アクセス・システム１２０のセキュリティを劣化させない更新された情報を検索し、またはその両方を実施することによって、さらに、信頼できるデータ源だけによって提供されたときに前記変更および更新された情報が追跡されることを保証することによって、このような技術的課題を解決する。１つまたは複数の実施形態によれば、本明細書に記載された技術的解決策は、システム１００を使用するときに、ワークフロー実行者１０５に対する追加のセキュリティ予防措置および強化の下で、機械支援ワークフロー１２５を実行することを容易にする。
【００８４】
例えば、ワークフロー１２５に関連した最新情報を得ようとして、ワークフロー実行者１０５が、１つまたは複数のデータ源１３０から情報を検索し、その検索された情報が不正確である可能性、例えばその情報がワークフロー実行者１０５に当てはまらないものである可能性を増大させ、その結果、誤った結果を導く可能性がある。その代わりに、またはそれに加えて、例えばウイルス、トロイの木馬、マルウェアまたは他のタイプのデータ・セキュリティ問題のために、検索されたデータを使用してワークフロー・ステップを実行したときに、そのデータが、ワークフロー実行者１０５に害を及ぼす可能性もある。本明細書に記載された技術的解決策は、検索された情報に基づいてワークフロー・ステップを検索および実行するときに、ワークフロー実行者１０５に妥当性確認を提供することを容易にする。例えば、このような妥当性確認は、そのステップが、必要なものであるだけでなく、ワークフロー販売者によってまたは信頼できるユーザのリストのメンバーによって実行しても安全であることが確認されたものでもあることをワークフロー実行者１０５に保証する。その代わりに、またはそれに加えて、この妥当性確認は、検索されたデータを使用したワークフロー・ステップの実行が、そのワークフロー・ステップの完了時にランしているワークフロー・ターゲット・システム１１０のセキュリティを強化することを、ワークフロー実行者１０５に示す。
【００８５】
１つまたは複数の例では、ワークフロー１２５もしくはワークフロー・ステップまたはその両方に関連した更新された情報にアクセスするときに、販売者データ源１３０が、ワークフロー実行者１０５に１つまたは複数の通知を提供する。この通知は、その販売者更新情報が、ワークフロー・ターゲット・システム１１０のセキュリティ強化機能に関連したものであるかどうかを示す。例えば、更新された情報に、ワークフロー実行者１０５に対して推奨されるものであることが記されている。したがって、更新された情報を販売者データ源１３０から受け取ったときに、ワークフロー実行者１０５は、その更新された情報が、販売者によって推奨および検査されたものであることを知り、したがって、ワークフロー実行者が、検索およびワークフロー１２５への組込みに関して、更新された情報を信頼することを容易にする。
【００８６】
さらに、本明細書に記載されているとおり、１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ワークフロー実行者１０５によって提供されたデータ源に基づいて、販売者データ源１３０以外のデータ源から、ワークフロー１２５に対する更新された情報を見つけ出す。例えば、ワークフロー実行者１０５は、ワークフローに関連した更新された最新の情報を発見するための、ソーシャル・メディア・サーバ、ブログ、フォーラムおよびこのような他のデータ・エンジンなどの別の１つまたは複数のデータ源を追加することができる。ワークフロー・アクセス・システム１２０は、このような別のデータ源を使用して、ワークフロー１２５およびワークフロー・ステップに対する更新された最新の情報を記憶および検索することができる。１つまたは複数の例では、ワークフロー販売者に、このようなデータ源の識別が、例えば販売者データ源１３０を介して提供される。販売者データ源１３０は、それらの別のデータ源を、販売者が保持している信頼できるデータ源のリストと比較する。ワークフロー・アクセス・システム１２０は、販売者データ源が保持しているこの信頼できるデータ源のリストに基づいて、それらの別のデータ源からの利用可能な更新された情報に、それが信頼できるか否かを記し、そのようにして、その利用可能な更新された情報を検索するかどうか、もしくはワークフロー１２５に組み込むかどうか、またはその両方を実施するかどうかを、ワークフロー実行者が判断することを容易にする。したがって、本明細書に記載された技術的解決策は、分析目的およびセキュリティ目的に関して信頼できるデータ・マイニング・エンジンのリストを提供する。本明細書に記載された技術的解決策は、信頼できるデータ源を使用したセキュリティに関する強化により、「別ユーザ」データ源からインポートされたばかりのワークフロー・ステップが正確であるかどうか、および実行しても安全かどうかに関する情報を提供することによって、ワークフロー実行者１０５が、ワークフロー・ステップを実行するかどうかを判定することを容易にする。さらに、本明細書に記載された技術的解決策は、ワークフロー・ターゲット・システム１１０をできるだけ安全なものにするためにそのワークフロー・ステップが実行されることを、ワークフロー販売者が推奨しているかどうかを、ワークフロー実行者１０５が判定することを容易にする。
【００８７】
図６は、セキュリティが強化された認知学習を使用してワークフローを実行する１つまたは複数の実施形態に基づく例示的な方法の流れ図を示す。この方法は、本明細書に記載されたワークフロー実行システム１００またはその他のワークフロー実行システムによって実施することができる。この方法は、６１０に示されているように、ワークフロー・アクセス・システム１２０を介してワークフロー実行者１０５が実行するワークフロー１２５を選択することを含む。１つまたは複数の例では、この選択が、ワークフロー１２５を実行する通知を受け取ったことに応答して、またはワークフロー１２５自体を受け取ったことに応答して実施される。１つまたは複数の例では、ワークフロー１２５が多数のワークフローの中から選択される。ワークフローは販売者によってワークフロー実行者１０５に提供され、またはワークフロー実行者１０５が自分で書くこともできる。
【００８８】
１つまたは複数の例では、ワークフロー１２５が、さまざまなタイプのデータ（ドメスティック、販売者更新、別ユーザ情報）に対して使用する１つまたは複数のデータ源１３０を含む。データ源１３０は、ワークフロー１２５を作成した販売者もしくはワークフロー実行者１０５またはその両方が、ワークフロー１２５中で識別することができる。その代わりに、またはそれに加えて、データ源１３０は、ワークフロー１２５を実行しているワークフロー実行者１０５が、ワークフロー１２５中で識別することができる。その代わりに、またはそれに加えて、ワークフロー１２５はさらに、更新もしくはワークフロー１２５に関する追加情報またはその両方を見つけ出すために使用するデータ源１３０を探索する発見動作を実施するよう、ワークフロー・アクセス・システム１２０に指示することもできる。
【００８９】
この方法はさらに、６１５に示されているように、ワークフロー１２５を更新するかどうかをワークフロー実行者１０５に確認することを含む。ワークフロー実行者１０５が更新を開始する場合、この方法は、６２０に示されているように、ワークフロー１２５に対する情報を１つまたは複数のデータ源からプルすることを含む。この情報は、ワークフロー１２５の実行を継続するかどうかをワークフロー実行者１０５が判定することを容易にする可能性がある、ワークフロー１２５に対する更新情報および追加情報を含む。更新された情報をデータ源からプルすることは、本明細書に記載された１つまたは複数の操作を含む（図５参照）。
【００９０】
この方法はさらに、６２２に示されているように、１つまたは複数のデータ源１３０からの利用可能な更新された情報の妥当性を確認することを含む。この妥当性確認は、６２４に示されているように、更新された情報を検索している先のデータ源が信頼できるデータ源であるかどうかを判定することを含む。例えば、ワークフロー実行者１０５が、信頼できるデータ源であるとそのデータ源に記している場合、そのデータ源は信頼できるデータ源であるとみなされる。その代わりに、またはそれに加えて、データ源の識別、例えばＩＰアドレス、サーバ名、データ源に関連した証明書またはデータ源の他の識別情報が、ワークフロー販売者に、例えば販売者データ源１３０を介して送られる。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、データ源識別情報を、ワークフロー識別子と一緒にワークフロー販売者に送る。ワークフロー販売者は、実行されているワークフロー１２５に関して、そのデータ源が信頼できるデータ源であるかどうかを確認する。１つまたは複数の例では、この確認が、そのデータ源識別が、ワークフロー販売者が保持している信頼できるデータ源のリストの一部であるかどうか、例えばワークフロー１２５の認可された販売者または供給者の一部であるかどうかを判定することを含む。例えば、信頼できるデータ源は、ワークフロー販売者が作成し、信頼できるデータ源だけに提供する認証証明書を保持することができる。認証証明書は、現在利用可能なまたは後に開発される任意の認証プロトコルを使用することができる。データ源の妥当性の判定に認証証明書を使用することは一例に過ぎないこと、および１つまたは複数の例では、追加の形態または異なる形態の妥当性確認を使用してデータ源が認証されることに留意すべきである。
【００９１】
ワークフロー実行者１０５またはワークフロー販売者１０７によってデータ源が認証された後、この妥当性確認はさらに、６２６に示されているように、ワークフロー１２５に関して、更新された情報がワークフロー販売者１０７によって推奨されているかどうかを判定することを含む。１つまたは複数の例では、ワークフロー販売者１０７が、更新された情報に、ワークフロー１２５に関して推奨された情報であることを、例えばデータ源１３０が保持しているデータに関連した推奨フラグを使用して記載する。更新された情報がまだワークフロー販売者１０７によって分析されていない場合、または更新された情報がワークフロー販売者１０７によって推奨されていない場合、推奨フラグは、非推奨ステータスを示す。
【００９２】
この方法はさらに、ワークフロー実行者１０５がこの妥当性確認の結果を受け取り、分析すること、および、６２５に示されているように、ワークフロー実行者１０５がこのような更新を許可した場合に、データ源からの更新された情報を使用してワークフロー１２５を更新することを含む。例えば、更新された情報を提供するデータ源が信頼できる源ではないことを妥当性確認結果が示している場合、ワークフロー実行者１０５は、更新された情報のワークフロー１２５への組込みを阻止することができ、既存のワークフロー１２５を更新なしで継続することができる。あるいは、データ源が信頼できる源ではないにも関わらず、ワークフロー実行者１０５が組込みを許可することもできる。さらに、ワークフロー１２５に関する推奨された更新または推奨された情報を更新された情報が含んでいないことを妥当性確認結果が示している場合、ワークフロー実行者１０５は、ワークフロー１２５への組込みを阻止することができる。あるいは、更新された情報が推奨された更新／データではないにも関わらず、ワークフロー実行者１０５がワークフロー１２５の組込みおよび変更を継続することもできる。
【００９３】
この方法はさらに、６３０に示されているように、ワークフロー１２５からワークフロー・ステップを選択することによって、ワークフロー１２５の実行を開始することを含む。このワークフロー・ステップの実行は、上述のワークフロー更新の後でまたは上述のワークフロー更新なしで開始される。
【００９４】
ワークフロー・ステップを実行する前に、この方法はさらに、６３５に示されているように、ワークフロー・ステップを更新するかどうかを判定することを含む。例えば、以前の予備更新（６１５）以降に、いずれかのデータ源１３０でワークフロー・ステップが更新されている可能性がある。その代わりに、またはそれに加えて、そのワークフロー・ステップの実行に関連するデータがデータ源１３０上で利用可能であることもありうる。例えば、この追加データは、販売者データ源、ドメスティック情報データ源、ソーシャル・メディア・データ源または他のデータ源１３０に追加された情報を含むことがある。この追加データは、ワークフロー・ステップの実行を続行するかどうかを判定するためにワークフロー実行者１０５が読むこともしくは分析することまたはその両方を実施することができる情報を示す。
【００９５】
６３５に示されているように、ワークフロー・ステップに対するこのような更新された情報をプルするかどうかを、ワークフロー実行者１０５に問い合わせる。１つまたは複数の例では、このような確認が、実行前に更新を開始するかどうかをワークフロー実行者１０５に確認するようワークフロー・ステップに記されている場合にのみ実施される。このような記載が存在しない場合、更新された情報をプルすることに関するワークフロー実行者１０５への問合せは実施されない。ワークフロー実行者１０５がワークフロー・ステップの更新を開始する場合、この方法は、６４０に示されているように、ワークフロー・ステップに対する更新された情報を１つまたは複数のデータ源１３０からプルすることを含む。ワークフロー・ステップに対する更新された情報をプルすることは、本明細書に記載された１つまたは複数の操作を含む（例えば５１５参照）。
【００９６】
さらに、セキュリティを強化するため、この方法は、６２２に示されているように、１つまたは複数のデータ源１３０からの利用可能な更新された情報の妥当性を、本明細書に記載されたとおりに確認することを含む。さらに、妥当性確認結果に基づいて、この方法は、６４５に示されているように、実行者が許可した場合に、検索された情報を使用してワークフロー・ステップを更新することを含む。例えば、更新された情報を提供するデータ源が信頼できる源ではないことを妥当性確認結果が示している場合、ワークフロー実行者１０５は、更新された情報のワークフロー・ステップへの組込みを阻止することができ、既存のワークフロー・ステップを更新なしで継続することができる。あるいは、データ源が信頼できる源ではないにも関わらず、ワークフロー実行者１０５が組込みを許可することもできる。さらに、ワークフロー・ステップに関する推奨された更新または推奨された情報を更新された情報が含んでいないことを妥当性確認結果が示している場合、ワークフロー実行者１０５は、ワークフロー・ステップへの組込みを阻止することができる。あるいは、更新された情報が推奨された更新／データではないにも関わらず、ワークフロー実行者１０５がワークフロー・ステップの組込みおよび変更を継続することもできる。１つまたは複数の例では、更新された情報が信頼できるデータ源からのものであること、および更新された情報がワークフロー販売者１０７によって推奨されていることの両方の条件が満たされている場合にのみ、ワークフロー実行者１０５がワークフロー・ステップを実行する。
【００９７】
実行を継続するとワークフロー実行者１０５が判定した場合、この方法は、６５０に示されているように、ワークフロー・ステップを実行すること、およびそれによってワークフロー・ターゲット・システム１１０の改変に影響を及ぼすことを含む。この改変は、本明細書に記載されたハードウェア構成の改変もしくはソフトウェア構成の改変またはその両方を含むことがある。あるいは、６７０に示されているように、１つまたは複数のデータ源１３０から受け取った更新された情報に基づいて、ワークフロー実行者１０５が、ワークフローの実行を終了すると判定することもある。
【００９８】
１つまたは複数の例では、ワークフロー・ステップが実行されたか否かに関わらず、６５５に示されているように、ワークフロー実行者１０５が、更新された情報をデータ源１３０にプッシュする。例えば、ワークフロー・ステップの実行を続行しないとワークフロー実行者１０５が判定した場合、ワークフロー実行者１０５は、そのことをデータ源１３０に示すことができる。ワークフロー実行者１０５は、どの情報をプッシュするのかを本明細書に記載されたとおりに判断することができる。
【００９９】
ワークフロー・ステップに関する情報をデータ源にプッシュするとワークフロー実行者１０５が判定した場合、ワークフロー・アクセス・システム１２０は、６６０に示されているように、その情報を本明細書に記載されたとおりにデータ源に蓄積する。蓄積された情報をデータ源１３０にプッシュすることは、６６５に示されているように、プッシュ先の１つまたは複数のデータ源１３０の妥当性を確認することを含む。６２２に示されているように、データをプッシュする先のデータ源の妥当性を確認することを本明細書に記載されたとおりに実施することができる。１つまたは複数の例では、データをプッシュする先のデータ源が、データをそこからプルしているデータ源とは異なることがある。例えば、販売者データ源からデータをプルすることができるが、組織体極秘データの存在のため、データはドメスティック情報データ源にだけプッシュされる。
【０１００】
ワークフロー・アクセス・システム１２０は、ワークフロー・ステップに関連したデータの容易な探索および識別のため、そのデータを、ワークフロー・ステップの固有の識別子と一緒にデータ源１３０にプッシュする。１つまたは複数の例ではさらに、プッシュされるデータにワークフロー識別子がタグ付けされる。
【０１０１】
一旦ワークフロー・ステップの実行が完了すると、この方法は、６７０に示されているように、ワークフローの実行が完了したのか、または実行すべきさらなるワークフロー・ステップが残っているのかを判定することを含む。追加のワークフロー・ステップが残っている場合には、ワークフロー全体の実行が完了するまで、次のワークフロー・ステップについてこの方法を繰り返す。ワークフロー全体の実行が完了した場合には、この方法が、６７５に示されているように、ワークフロー全体の実行に関連したデータをデータ源１３０にプッシュするかどうかをワークフロー実行者１０５に確認することを含む。情報をプッシュしないとワークフロー実行者１０５が判断した場合、この方法は完了となる。
【０１０２】
データをデータ源１３０にプッシュする場合、ワークフロー・アクセス・システム１２０は、６８０に示されているように、１つまたは複数のデータ源１３０にプッシュするデータを本明細書に記載されたとおりに蓄積する。蓄積された情報をデータ源１３０にプッシュすることは、６８５に示されているように、プッシュ先の１つまたは複数のデータ源１３０の妥当性を確認することを含む。６２２に示されているように、データをプッシュする先のデータ源の妥当性を確認することを本明細書に記載されたとおりに実施することができる。１つまたは複数の例では、データをプッシュする先のデータ源が、データをそこからプルしているデータ源とは異なることがある。例えば、販売者データ源からデータをプルすることができるが、組織体極秘データの存在のため、データはドメスティック情報データ源にだけプッシュされる。ワークフロー・アクセス・システム１２０は、ワークフロー１２５に関連したデータの容易な探索および識別のため、そのデータを、ワークフローの固有の識別子と一緒にデータ源１３０にプッシュする。
【０１０３】
したがって、この時点で、データ源１３０は、第２のワークフロー実行者が固有の識別子を使用して求めたときに検索することができる、ワークフロー１２５およびワークフロー・ステップに対する更新された情報を記憶している。したがって、第２のワークフロー実行者は、ワークフロー実行者１０５が提供した、信頼できるデータ源から検索された情報を使用してワークフロー１２５を実行するときに、情報に基づく判断を実施することができる。記憶されている情報の詳細は、プッシュするためにワークフロー実行者１０５が選択したものおよび（例えばソーシャル・メディア源などから）見つかったものに基づきさまざまである。したがって、本明細書に記載された技術的解決策は、ワークフロー実行者１０５が、ワークフローを実行するときにワークフロー・ステップの更新された最新のバージョンを有することを容易にし、この更新されたバージョンおよび関連情報は、信頼できるデータ源から検索されたものであり、ワークフロー販売者によって推奨されているものである。
【０１０４】
さらに、ワークフロー１２５およびワークフロー１２５に関連した情報の動的変更に関する技術的課題は、ワークフロー１２５を更新する理由に関連した販売者更新情報を識別すること、ならびにワークフロー１２５をランするかどうかの判断をワークフロー実行者１０５が情報に基づいて実施することを可能にすること、さらに、ワークフロー１２５に関する認知推論情報をワークフロー・アクセス・システム１２０が自動的に検索および記憶することを可能にすることである。例えば、ワークフロー実行者１０５が、ワークフロー１２５のワークフロー・ステップの更新および実行を考えているとする。１つまたは複数の例において、ワークフロー実行者１０５は、更新された情報を検索すべきかどうか、もしくはワークフロー実行者１０５の環境でワークフロー・ステップを実行するかどうか、またはその両方を判定しなければならない。例えば、ワークフロー・ステップの更新もしくは実行またはその両方が、ワークフロー・ターゲット・システム１１０に対するワークフロー１２５全体に悪影響を与えることもあり、または何の影響も及ぼさないこともある。このことは、特に、他の環境よりもデータ保護の必要性が高い銀行、行政、保健医療産業などの環境で企業ソフトウェアをランしているワークフロー実行者にとって、よりいっそう重大な懸念であることがある。
【０１０５】
本明細書に記載された技術的解決策は、ワークフロー実行システム１００に対するさらなる強化として機械支援推論を提供することにより、このような技術的課題を解決する。１つまたは複数の例では、ワークフロー１２５もしくはいずれかのワークフロー・ステップまたはその両方を実行する（または実行をスキップする）かどうかをワークフロー実行者１０５が判定するために、機械支援ワークフロー１２５が追加的な認知推論強化を提供する。この推論／妥当性確認は、ワークフロー実行者１０５の環境でのワークフロー１２５全体の成功のためにそのワークフロー・ステップが必要なのかまたは必要でないのかをワークフロー実行者１０５が示すこと、さらにワークフロー実行者１０５に１つまたは複数の理由を提供することを容易にする。加えて、ワークフロー・ステップをランするか否かを同じワークフロー１２５の別のワークフロー実行者が判定することができるように、推論情報に従って更新された後のワークフロー１２５をワークフロー販売者１０７と共有することができる。したがって、この認知推論情報を精査したワークフロー実行者は、ワークフロー実行者の環境でそのワークフロー・ステップをなぜランするのかに関する更新された最新の情報を有する。
【０１０６】
ワークフロー・ステップを更新するかどうか、もしくはワークフロー・ステップを実行するかどうか、またはその両方に関する推論を提供するために、ワークフロー・アクセス・システム１２０は、ワークフロー・ターゲット・システム１１０に対するワークフロー・ステップを更新し、次いで実行する理由に関連した販売者更新情報を識別する。加えて、ワークフロー・アクセス・システム１２０は、ワークフロー実行者１０５がワークフロー・ステップを実行しているときに、このような推論関連データを記録する。記録されたこのようなデータは、そのワークフロー・ステップを実行する次のワークフロー実行者がそのワークフロー・ステップを実際に実行するかどうかを情報に基づいて判断するのを助けるために、次のワークフロー実行者に提供される。したがって、ワークフロー実行者１０５は、ワークフロー・ステップを変更するかどうかまたは実行するかどうかを判断する前に、更新自体を受け取るだけでなく、ワークフロー・ターゲット・システム１１０に対する次のステップを更新するかどうか、もしくは実行するかどうか、またはその両方が情報に基づいて判断されるように、利用可能な最新の認知推論情報も受け取る。さらに、ワークフロー実行者１０５は、ワークフロー・ステップの実行を完了／スキップした後にワークフロー実行者自身の推論関係情報をデータ源１３０にプッシュすることによって、推論情報を装飾することもできる。
【０１０７】
図７は、認知推論を提供する認知学習を使用してワークフローを実行する１つまたは複数の実施形態に基づく例示的な方法の流れ図を示す。この方法は、本明細書に記載されたワークフロー実行システム１００またはその他のワークフロー実行システムによって実施することができる。この方法は、７１０に示されているように、ワークフロー・アクセス・システム１２０を介してワークフロー実行者１０５が実行するワークフロー１２５を選択することを含む。１つまたは複数の例では、この選択が、ワークフロー１２５を実行する通知を受け取ったことに応答して、またはワークフロー１２５自体を受け取ったことに応答して実施される。１つまたは複数の例では、ワークフロー１２５が多数のワークフローの中から選択される。ワークフローは販売者によってワークフロー実行者１０５に提供され、またはワークフロー実行者１０５が自分で書くこともできる。
【０１０８】
この方法はさらに、７１５に示されているように、ワークフロー１２５を更新するかどうかをワークフロー実行者１０５に確認することを含む。ワークフロー実行者１０５が更新を開始する場合、この方法は、７２０に示されているように、ワークフロー１２５に対する情報を１つまたは複数のデータ源からプルすることを含む。この情報は、ワークフロー１２５の実行を継続するかどうかをワークフロー実行者１０５が判定することを容易にする可能性がある、ワークフロー１２５に対する更新情報および追加情報を含む。更新された情報をデータ源からプルすることは、本明細書に記載された１つまたは複数の操作を含む（図５参照）。この更新は、データ源を妥当性確認することを含むことができる（図６参照）。７２５に示されているように、ワークフロー１２５は、データ源１３０からプルされた更新された情報を使用して、本明細書に記載されたとおりに更新される。
【０１０９】
この方法はさらに、７３０に示されているように、ワークフロー１２５からワークフロー・ステップを選択することによって、ワークフロー１２５の実行を開始することを含む。このワークフロー・ステップの実行は、上述のワークフロー更新の後でまたは上述のワークフロー更新なしで開始される。ワークフロー・ステップを実行する前に、この方法はさらに、７３５に示されているように、ワークフロー・ステップを更新するかどうかを判定することを含む。例えば、以前の予備更新（７１５）以降に、いずれかのデータ源１３０でワークフロー・ステップが更新されている可能性がある。その代わりに、またはそれに加えて、そのワークフロー・ステップの実行に関連するデータがデータ源１３０上で利用可能であることもありうる。例えば、この追加データは、販売者データ源、ドメスティック情報データ源、ソーシャル・メディア・データ源または他のデータ源１３０に追加された情報を含むことがある。この追加データは、ワークフロー・ステップの実行を続行するかどうかを判定するためにワークフロー実行者１０５が読むこともしくは分析することまたはその両方を実施することができる情報を示す。
【０１１０】
ワークフロー実行者１０５がワークフロー・ステップの更新を開始する場合、この方法は、７４０に示されているように、１つまたは複数のデータ源１３０からワークフロー・ステップをプルし、更新することを含む。ワークフロー・ステップに対する更新された情報をプルし、ワークフロー・ステップを更新することは、本明細書に記載された１つまたは複数の操作を含む（例えば図５参照）。１つまたは複数の例では、データ源の妥当性確認が、本明細書に記載されたとおりに実施されうる。この時点で、ワークフロー実行者１０５は、ワークフロー・ステップが更新されていることを知っているため、ワークフロー実行者には、７５０に示されているように、なぜワークフロー実行者１０５がワークフロー・ターゲット・システム１１０でこの特定のワークフロー・ステップをランすべきなのかを記述した推論情報が提供される。
【０１１１】
推論情報を提供することは、７５２に示されているように、１つまたは複数のデータ源１３０から、ワークフロー・ステップに関連した更新された情報からの認知推論情報を識別することを含む。１つまたは複数の例では、推論情報が、ワークフロー・ステップの更新を検索するデータ源とは異なるデータ源から識別される。１つまたは複数の例では、そのデータが推論関連データであることを示し、さらにそのデータがワークフロー・ステップの固有の識別子に関連づけられていることを示す識別タグを含むデータ源１３０に基づいて、推論情報が識別される。例えば、このデータは、ワークフロー・アクセス・システム１２０が推論に関連したデータを効率的に決定することを容易にするために、「実行推論（ｅｘｅｃｕｔｉｏｎ  ｒｅａｓｏｎｉｎｇ）」などのタグを含むことができる。さらにまた、推論情報は、データ源１３０からのデータを構文解析および意味解析することによって識別することができる。例えば、ワークフロー・アクセス・システム１２０は、例えば人工ニューラル・ネットワークなどの機械学習アルゴリズムを使用して、推論関連情報を提供するデータ源１３０からの更新された情報の断片を決定することができる。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ＩＢＭ（Ｒ）のＩＢＭ  ＷＡＴＳＯＮ（Ｒ）またはそのような他のサービスなどのＡＰＩを使用して、そのワークフロー・ステップ用のデータ源１３０上で利用可能な更新された情報から推論関連情報を決定する。ＩＢＭ（Ｒ）およびＩＢＭ  ＷＡＴＳＯＮ（Ｒ）は、世界中の多くの裁判所管轄区域で登録されているインターナショナル・ビジネス・マシーンズ・コーポレーション（International Business Machines Corporation）の商標である。
【０１１２】
さらに、推論情報を提供することは、７５４に示されているように、ワークフロー・アクセス・システム１２０によってユーザ・インタフェース（ＵＩ）要素を生成すること、およびデータ源１３０からの推論関連情報の１つまたは複数の断片を表示することを含む。１つまたは複数の例では、ＵＩ要素が、ワークフロー実行者１０５に提示されているワークフロー・ステップの側に生成される。その代わりに、またはそれに加えて、ＵＩ要素は、ポップアップ・ウィンドウ、オーバレイ・ウィンドウなどの別の方式で生成される。１つまたは複数の例では、ＵＩ要素が、そのワークフローの実行がワークフロー販売者１０７によって推奨されているかどうかの指示を含む。さらに、１つまたは複数の例では、ワークフロー実行者１０５と実質的に同じワークフロー・ターゲット・システム環境、例えば同じバージョン、オペレーティング・システムなどを使用して別のワークフロー実行者によって提供された推論情報だけが提供されるように、ワークフロー実行者１０５に提供される推論情報がフィルタにかけられる。
【０１１３】
推論情報はさらに、ワークフロー実行者１０５がなぜワークフロー・ステップの実行をスキップしたいのかに関する理由を含むことができる。例えば、推論情報は、ワークフロー・ステップを実行した後に別のワークフロー実行者が直面する技術的問題を示す情報を含むことができる。
【０１１４】
さらにまた、推論情報は、時間情報に基づく理由を含むことができる。例えば、ワークフロー・ステップを実行する平均時間はＸ分であると、ワークフロー・アクセス・システム１２０が判定したとする。この時間の間、ワークフロー・ターゲット・システム１１０は使用できない。この瞬間にワークフロー・ステップを実行すると、多数のユーザがワークフロー・ターゲット・システム１１０を使用している高トラフィック時間の間、ワークフロー・ターゲット・システム１１０が使用できなくなる可能性がある。ワークフロー・アクセス・システム１２０は、ワークフロー・ターゲット・システム１１０の高トラフィック時間を、ワークフロー・ターゲット・システム１１０の履歴実行データに基づいて決定する。したがって、ワークフロー・アクセス・システム１２０は、高トラフィック時間との重なりが最小限になる推奨される時間がとれる後刻にワークフロー・ステップを実行するように、推論情報をワークフロー実行者１０５に提供する。
【０１１５】
推論情報をワークフロー実行者１０５に提供することはさらに、７５６に示されているように、ＵＩ要素を介して推論情報を提示することを含む。７４５に示されているように、ワークフロー実行者１０５は、推論情報に基づいて、ワークフロー・ステップを実行すること、またはワークフロー・ステップを実行しないことができる。７４８に示されているように、ワークフロー実行者は、ワークフロー・ステップを実行し、それによってワークフロー・ターゲット・システム１１０の改変を達成することができる。この改変は、本明細書に記載されたハードウェア構成の改変もしくはソフトウェア構成の改変またはその両方を含むことがある。あるいは、７４５に示されているように、ワークフロー実行者１０５が、推論情報に基づいてワークフロー・ステップをスキップすると判定することもある。
【０１１６】
１つまたは複数の例では、ワークフロー・ステップが実行されたか否かに関わらず、７５５に示されているように、ワークフロー実行者１０５が、更新された情報をデータ源１３０にプッシュできる。例えば、ワークフロー・ステップの実行を続行しないとワークフロー実行者１０５が判定した場合、ワークフロー実行者１０５は、そのことをデータ源１３０に示すことができる。ワークフロー実行者１０５は、どの情報をプッシュするのかを本明細書に記載されたとおりに判断することができる。
【０１１７】
ワークフロー・ステップに関する情報をデータ源にプッシュするとワークフロー実行者１０５が判定した場合、ワークフロー・アクセス・システム１２０は、７６０に示されているように、データ源１３０にプッシュする情報を本明細書に記載されたとおりに蓄積する。蓄積された情報はさらに、ワークフロー実行者１０５からの、なぜ実行をスキップ／実施するのかのワークフロー実行者１０５の推論を含み、この推論は、例えばメモリ消費量、ダウン時間量、帯域幅所要量もしくは他のリソース、またはこれらの組合せなどのワークフロー・ステップの実行に必要な１つまたは複数のリソースの利用可能性／利用不能性に言及する。その代わりに、またはそれに加えて、推論情報は、ワークフローが容易／複雑であること、所定のステップ数よりも短い／長いこと、ワークフロー・ステップの格付けが所定のしきい値よりも低い／高いことなどの記述など、ワークフローの実行の難しさ／容易さを含むことができる。
【０１１８】
１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ワークフロー実行者１０５によって提供された推論情報に、所定の推論タグを使用してタグ付けする。さらに、ワークフロー・アクセス・システム１２０は、７６５に示されているように、この情報を、ワークフロー・ステップの固有の識別子と一緒に１つまたは複数のデータ源１３０にプッシュする。１つまたは複数の例では、蓄積された情報をデータ源１３０にプッシュすることが、プッシュする先の１つまたは複数のデータ源１３０の妥当性を確認することを含む。１つまたは複数の例ではさらに、プッシュされるデータにワークフロー識別子がタグ付けされる。
【０１１９】
ワークフロー・ステップの実行が完了した後、この方法は、７７０に示されているように、ワークフローの実行が完了したのか、または実行すべきさらなるワークフロー・ステップが残っているのかを判定することを含む。追加のワークフロー・ステップが残っている場合には、ワークフロー全体の実行が完了するまで、次のワークフロー・ステップについてこの方法を繰り返す。ワークフロー全体の実行が完了した場合には、この方法が、７７５に示されているように、ワークフロー全体の実行に関連したデータをデータ源１３０にプッシュするかどうかをワークフロー実行者１０５に確認することを含む。情報をプッシュしないとワークフロー実行者１０５が判断した場合、この方法は完了となる。
【０１２０】
データをデータ源１３０にプッシュする場合、ワークフロー・アクセス・システム１２０は、７８０に示されているように、１つまたは複数のデータ源１３０にプッシュするデータを本明細書に記載されたとおりに蓄積する。蓄積された情報は、ワークフロー１２５全体に対する推論情報を含むことができる。ワークフロー・アクセス・システム１２０はさらに、７８５に示されているように、蓄積された情報をデータ源１３０にプッシュする。ワークフロー・アクセス・システム１２０は、ワークフロー１２５に関連したデータの容易な探索および識別のため、そのデータを、ワークフローの固有の識別子と一緒にデータ源１３０にプッシュする。
【０１２１】
したがって、この時点で、データ源１３０は、第２のワークフロー実行者が固有の識別子を使用して求めたときに検索することができる、ワークフロー１２５およびワークフロー・ステップに対する更新された推論情報を記憶している。したがって、第２のワークフロー実行者は、ワークフロー実行者１０５が提供した、データ源１３０から検索されたこの情報を使用してワークフロー１２５を実行するときに、情報に基づく判断を実施することができる。したがって、本明細書に記載された技術的解決策は、ワークフロー実行者１０５が、ワークフローを実行するときにワークフロー・ステップの更新された最新のバージョンを有することを容易にし、この更新されたバージョンおよび関連情報は、信頼できるデータ源から検索されたものであり、さらなる推論情報は、ワークフロー・ステップを実行するかどうかをワークフロー実行者１０５が判断することを容易にする。
【０１２２】
さらにまた、ワークフロー１２５などの機械支援ワークフローの実行に関する技術的課題は、ワークフロー・ステップを更新し、次いでランすることを考えているワークフロー実行者１０５が、ワークフロー・ステップの実行を完了するための情報もしくはパラメータ・セットアップまたはその両方を自分が有しているのかどうかを知らないことである。さらに、ワークフロー実行者１０５は、ワークフロー・ステップもしくはワークフローまたはその両方がワークフロー・ターゲット・システム１１０のかなりのダウン時間に関わる場合に特に、ワークフロー・ステップの実行が、ワークフロー・ターゲット・システム１１０に対するワークフロー全体に悪影響を与えるのかどうか、またはワークフローの結果が何の影響も持たず、ワークフローを実行する時間および労力が無駄になるのかどうかも知らない。このことは、ワークフロー実行者、特に、システム・ダウン時間の回避が極めて重要である銀行、行政、保健医療などの環境で企業ソフトウェアをランしているワークフロー実行者にとって重大な懸念である。
【０１２３】
例えば、ワークフロー実行者１０５は、ステップを実行する前に最新かつ最大の情報を有していることを望み、本明細書に記載されたワークフロー実行システム１００は、ワークフロー実行者１０５がワークフロー・ステップの実行を開始するまで、ワークフロー実行者１０５が、データ源１３０に蓄積した最新の追加情報を有することを容易にする。しかしながら、このような最新情報の使用は、そのような情報がワークフロー実行者１０５に当てはまらない可能性またはそのような情報がワークフロー実行者１０５には不要もしくは有害である可能性を増大させることがある。
【０１２４】
本明細書に記載された技術的解決策は、更新された情報がワークフロー実行者のワークフロー・ターゲット・システム１１０に影響を及ぼすのかどうかを判定する目的、およびどのような影響を及ぼすのかを決定する目的にワークフロー実行者１０５が利用できるステップ後ブラウジング能力またはプレビュー機能を提供するようワークフロー実行システム１００を強化することにより、このような技術的課題を解決する。加えて、そのワークフロー・ステップをランするか否かを同じワークフロー１２５の別のユーザが判断する際に役立つように、ワークフロー・プレビューおよびワークフロー・ステップが実行された後の実際の結果を、ワークフロー販売者１０７およびそれらの別のユーザと共有することができる。したがって、このような認知プレビュー情報を精査したユーザは、ユーザの環境でそのワークフロー・ステップをランするべきか否かに関する更新された最新の情報を有し、他のユーザのステップ・プレビューに寄与し、これを改良することができる。
【０１２５】
１つまたは複数の例では、ワークフロー・ターゲット・システム１１０に対する実行のワークフロー・ステップ・プレビューを提供する販売者更新情報が、ワークフロー・アクセス・システム１２０によって識別および記録される。このようなプレビュー情報は、ワークフローを実行するワークフロー実行者１０５に提供され、したがって、この情報は、ワークフロー・ターゲット・システム１１０に対するワークフロー・ステップを実際に実行するかどうかをワークフロー実行者１０５が情報に基づいて判断するのを助ける更新された情報を供給する。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、プレビュー情報を識別するために、１つまたは複数のデータ源１３０にプッシュされているこの更新情報を監視する。
【０１２６】
プレビュー情報は、ワークフロー・ステップを実行するのに必要なリソースなどの情報、例えば時間、通信帯域幅、メモリ量、ストレージ・ディスク空間量、人数、１つまたは複数の特定のファイル、１つまたは複数の特定の工具（ねじ回しなど）、１つまたは複数の特定のハードウェア構成要素などの情報を含むことができる。さらに、プレビュー情報は、ワークフロー・ステップの実行前または実行中に実施するパラメータ設定などの情報、例えばレジストリ設定、アカウント許可設定などの情報を含むことができる。プレビュー情報は、電子テキストまたは画像、例えばワークフロー・ステップから実施されている１つまたは複数のタスクのスクリーン・ショットの形態をとることができる。１つまたは複数の例では、プレビュー情報が、実施されているワークフロー・ステップのそれぞれの操作を示す一組のスクリーン・ショット（または画像）を含む。ワークフロー・アクセス・システム１２０は、ワークフロー・ステップが実行されているときにそれらのスクリーン・ショットを捕捉し、ワークフロー・ステップ実行の完了後に、捕捉したスクリーン・ショットをデータ源１３０にプッシュする。効率的なアクセスのため、捕捉したスクリーン・ショットには、ワークフロー・ステップおよびワークフロー１２５の固有の識別子とともに、プレビュー情報である旨が記入される。
【０１２７】
その代わりに、またはそれに加えて、ワークフロー・アクセス・システム１２０は、ワークフロー・ステップ実行の仮想シミュレーションを生成する。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、データ源から検索された更新された情報からの１つまたは複数のパラメータを使用した、ワークフロー・ターゲット・システム１２０の仮想機械複製を実行する。ワークフロー実行者１０５は、この仮想機械でワークフロー・ステップの結果をプレビューすることができ、そのプレビューに基づいて、ワークフロー・ターゲット・システム１１０でワークフロー・ステップを実行するかどうかを判断することができる。したがって、この技術的解決策は、更新された情報を使用して、ワークフロー１２５の１つまたは複数のワークフロー・ステップの実行をプレビューすることを容易にし、したがって、ワークフロー・ステップの実際の実行を続行するかどうかをワークフロー実行者１０５が判定することを容易にする。
【０１２８】
図８は、ワークフロー・ステップ・プレビューを提供する認知学習を使用してワークフローを実行する１つまたは複数の実施形態に基づく例示的な方法の流れ図を示す。この方法は、本明細書に記載されたワークフロー実行システム１００またはその他のワークフロー実行システムによって実施することができる。この方法は、８１０に示されているように、ワークフロー・アクセス・システム１２０を介してワークフロー実行者１０５が実行するワークフロー１２５を選択することを含む。１つまたは複数の例では、この選択が、ワークフロー１２５を実行する通知を受け取ったことに応答して、またはワークフロー１２５自体を受け取ったことに応答して実施される。１つまたは複数の例では、ワークフロー１２５が多数のワークフローの中から選択される。ワークフローは販売者によってワークフロー実行者１０５に提供され、またはワークフロー実行者１０５が自分で書くこともできる。
【０１２９】
この方法はさらに、８１５に示されているように、ワークフロー１２５を更新するかどうかをワークフロー実行者１０５に確認することを含む。ワークフロー実行者１０５が更新を開始する場合、この方法は、８２０に示されているように、ワークフロー１２５に対する情報を１つまたは複数のデータ源からプルすることを含む。この情報は、ワークフロー１２５の実行を継続するかどうかをワークフロー実行者１０５が判定することを容易にする可能性がある、ワークフロー１２５に対する更新情報および追加情報を含む。更新された情報をデータ源からプルすることは、本明細書に記載された１つまたは複数の操作を含む（図５参照）。この更新は、データ源を妥当性確認することを含むことができる（図６参照）。８２５に示されているように、ワークフロー１２５は、データ源１３０からプルされた更新された情報を使用して、本明細書に記載されたとおりに更新される。
【０１３０】
この方法はさらに、８３０に示されているように、ワークフロー１２５からワークフロー・ステップを選択することによって、ワークフロー１２５の実行を開始することを含む。このワークフロー・ステップの実行は、上述のワークフロー更新の後でまたは上述のワークフロー更新なしで開始される。ワークフロー・ステップを実行する前に、この方法はさらに、８３５に示されているように、ワークフロー・ステップを更新するかどうかを判定することを含む。例えば、以前の予備更新（８１５）以降に、いずれかのデータ源１３０でワークフロー・ステップが更新されている可能性がある。その代わりに、またはそれに加えて、そのワークフロー・ステップの実行に関連するデータがデータ源１３０上で利用可能であることもありうる。例えば、この追加データは、販売者データ源、ドメスティック情報データ源、ソーシャル・メディア・データ源または他のデータ源１３０に追加された情報を含むことがある。この追加データは、ワークフロー・ステップの実行を続行するかどうかを判定するためにワークフロー実行者１０５が読むこともしくは分析することまたはその両方を実施することができる情報を示す。
【０１３１】
ワークフロー実行者１０５がワークフロー・ステップの更新を開始する場合、この方法は、８４０に示されているように、１つまたは複数のデータ源１３０からワークフロー・ステップをプルし、更新することを含む。ワークフロー・ステップに対する更新された情報をプルし、ワークフロー・ステップを更新することは、本明細書に記載された１つまたは複数の操作を含む（例えば図５参照）。１つまたは複数の例では、データ源の妥当性確認が、本明細書に記載されたとおりに実施される。この時点で、ワークフロー実行者１０５は、ワークフロー・ステップが更新されていることを知っているため、ワークフロー実行者には、８５０に示されているように、この更新された特定のワークフロー・ステップをワークフロー・ターゲット・システム１１０で実行するためのプレビュー情報が提供される。
【０１３２】
プレビュー情報を提供することは、８５２に示されているように、１つまたは複数のデータ源１３０から、ワークフロー・ステップに関連した更新された情報からのプレビュー情報を識別することを含む。１つまたは複数の例では、プレビュー情報が、ワークフロー・ステップの更新を検索するデータ源とは異なるデータ源から識別されうる。１つまたは複数の例では、そのデータがプレビュー関連データであることを示し、さらにそのデータがワークフロー・ステップの固有の識別子に関連づけられていることを示す識別タグを含むデータ源１３０に基づいて、プレビュー情報が識別される。例えば、このデータは、ワークフロー・アクセス・システム１２０が、ワークフロー・ステップ実行のプレビューに関連したデータを効率的に決定することを容易にするために、「実行プレビュー（ｅｘｅｃｕｔｉｏｎ  ｐｒｅｖｉｅｗ）」などのタグを含むことができる。さらにまた、プレビュー情報は、データ源１３０からのデータを構文解析および意味解析することによって識別することができる。例えば、ワークフロー・アクセス・システム１２０は、例えば人工ニューラル・ネットワークなどの機械学習アルゴリズムを使用して、プレビュー関連情報を提供するデータ源１３０からの更新された情報の断片を決定することができる。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ＩＢＭ  ＷＡＴＳＯＮ（Ｒ）またはそのような他のサービスなどのＡＰＩを使用して、そのワークフロー・ステップ用のデータ源１３０上で利用可能な更新された情報からプレビュー関連情報を決定する。
【０１３３】
さらに、プレビュー情報を提供することは、８５４に示されているように、ワークフロー・アクセス・システム１２０によってワークフロー・ターゲット・システム１１０のシミュレーションを生成すること、およびデータ源からの識別されたプレビュー情報のデータを使用して、ワークフロー・ステップの実行のプレビューを表示することを含む。１つまたは複数の例では、このシミュレーションが、ワークフロー・ターゲット・システム１１０の複製を使用して仮想機械を実行することを含む。その代わりに、またはそれに加えて、このシミュレーションは、プレビュー情報から受け取った１つまたは複数のスクリーン・ショットからなる一連のスクリーン・ショットを含むことができる。その代わりに、またはそれに加えて、このシミュレーションは、プレビュー情報に基づいて所定のスクリーン・ショットを変更することにより生成された１つまたは複数の画像を含むことができる。例えば、ワークフロー・アクセス・システム１２０は、ワークフロー・ターゲット・システム１１０のテンプレート・スクリーン・ショットを含むことができ、このテンプレート・スクリーン・ショットは、「このワークフロー・ステップに必要なストレージ空間：ＸＸＸＸ」などを含み、ＸＸＸＸは、プレビュー情報からの結果値で置き換えられる。１つまたは複数の例では、このシミュレーションが、テキスト・ベースであり、画像ベースではなく、ここでテンプレートはテキスト・ベース、または両方の組合せである。
【０１３４】
１つまたは複数の例では、８５６に示されているように、このシミュレーションがワークフロー実行者１０５に提示される。この提示はユーザ・インタフェース要素を含むことができ、このユーザ・インタフェース要素は、ワークフロー・ステップの１つまたは複数の要件および更新された情報に従って実行されているワークフロー・ステップの中間結果をプレビューするために、ワークフロー実行者１０５が、ワークフロー・ステップの１つまたは複数のサブタスクの中で前進（および後退）することを容易にする。その代わりに、またはそれに加えて、プレビュー情報のこの提示は、一連の画像またはテキストを提示することを含むことができる。
【０１３５】
８４５に示されているように、ワークフロー実行者１０５は、プレビュー情報に基づいて、ワークフロー・ステップを実行すること、またはワークフロー・ステップを実行しないことができる。８４８に示されているように、ワークフロー実行者は、ワークフロー・ステップを実行し、それによってワークフロー・ターゲット・システム１１０の改変を達成することができる。この改変は、本明細書に記載されたハードウェア構成の改変もしくはソフトウェア構成の改変またはその両方を含むことがある。あるいは、８４５に示されているように、ワークフロー実行者１０５が、プレビュー情報に基づいてワークフロー・ステップをスキップすると判定することもある。
【０１３６】
１つまたは複数の例では、ワークフロー・ステップが実行されたか否かに関わらず、８５５に示されているように、ワークフロー実行者１０５が、更新された情報をデータ源１３０にプッシュできる。例えば、ワークフロー・ステップの実行を続行しないとワークフロー実行者１０５が判定した場合、ワークフロー実行者１０５は、そのことをデータ源１３０に示すことができる。ワークフロー実行者１０５は、どの情報をプッシュするのかを本明細書に記載されたとおりに判断することができる。
【０１３７】
ワークフロー・ステップに関する情報をデータ源にプッシュするとワークフロー実行者１０５が判定した場合、ワークフロー・アクセス・システム１２０は、８６０に示されているように、データ源にプッシュする情報を本明細書に記載されたとおりに蓄積する。蓄積された情報はさらに、ワークフロー実行者１０５からの、ワークフロー・ステップを実行したときのワークフロー実行者１０５のスクリーン・ショットおよびパラメータ値を含む。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ワークフロー実行者１０５がワークフロー・ステップを実行しているときにプレビュー情報を監視および捕捉し、プレビュー情報をプッシュするようワークフロー実行者１０５が命じたときに、捕捉したプレュー情報を１つまたは複数のデータ源１３０にアップロードする。例えば、ワークフロー・アクセス・システム１２０は、ワークフロー・ステップが実行されているときにスクリーン・ショットを捕捉し、ワークフロー・ステップ実行の完了後に、捕捉したスクリーン・ショットをデータ源１３０にプッシュする。効率的なアクセスのため、捕捉したスクリーン・ショットには、ワークフロー・ステップおよびワークフロー１２５の固有の識別子とともに、プレビュー情報である旨が記入される。１つまたは複数の例では、ワークフロー実行者の組織体の外部のデータ源１３０にプレビュー情報をアップロードする前に、ワークフロー・アクセス・システム１２０が、プレビュー情報から極秘データを除去する。
【０１３８】
１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ワークフロー実行者１０５によって提供されたプレビュー情報に、所定のプレビュー・タグを使用してタグ付けする。さらに、ワークフロー・アクセス・システム１２０は、８６５に示されているように、プレビュー情報を、ワークフロー・ステップの固有の識別子と一緒に１つまたは複数のデータ源１３０にプッシュする。１つまたは複数の例では、蓄積された情報をデータ源１３０にプッシュすることが、プッシュする先の１つまたは複数のデータ源１３０の妥当性を確認することを含む。１つまたは複数の例ではさらに、プッシュされるデータにワークフロー識別子がタグ付けされる。
【０１３９】
ワークフロー・ステップの実行が完了した後、この方法は、８７０に示されているように、ワークフローの実行が完了したのか、または実行すべきさらなるワークフロー・ステップが残っているのかを判定することを含む。追加のワークフロー・ステップが残っている場合には、ワークフロー全体の実行が完了するまで、次のワークフロー・ステップについてこの方法を繰り返す。ワークフロー全体の実行が完了した場合には、この方法が、８７５に示されているように、ワークフロー全体の実行に関連したデータをデータ源１３０にプッシュするかどうかをワークフロー実行者１０５に確認することを含む。情報をプッシュしないとワークフロー実行者１０５が判断した場合、この方法は完了となる。
【０１４０】
データをデータ源１３０にプッシュする場合、ワークフロー・アクセス・システム１２０は、８８０に示されているように、１つまたは複数のデータ源１３０にプッシュするデータを本明細書に記載されたとおりに蓄積する。蓄積された情報は、ワークフロー１２５全体に対するプレビュー情報を含むことができる。例えば、プレビュー情報は、それぞれのワークフロー・ステップに対するプレビュー情報のサブセット、またはそれぞれのワークフロー・ステップに対する全てのプレビュー情報の集合を含むことができる。ワークフロー・アクセス・システム１２０はさらに、８８５に示されているように、蓄積された情報をデータ源１３０にプッシュする。ワークフロー・アクセス・システム１２０は、ワークフロー１２５に関連したデータの容易な探索および識別のため、そのデータを、ワークフローの固有の識別子と一緒にデータ源１３０にプッシュする。
【０１４１】
したがって、この時点で、データ源１３０は、第２のワークフロー実行者が固有の識別子を使用して求めたときに検索することができる、ワークフロー１２５およびワークフロー・ステップに対する更新されたプレビュー情報を記憶している。したがって、第２のワークフロー実行者は、ワークフロー実行者１０５が提供した、データ源１３０から検索されたプレビュー情報を使用してワークフロー１２５を実行するときに、情報に基づく判断を実施することができる。したがって、本明細書に記載された技術的解決策は、ワークフロー実行者１０５が、ワークフローを実行するときにワークフロー・ステップの更新された最新のバージョンを有することを容易にし、この更新されたバージョンおよび関連情報は、信頼できるデータ源から検索されたものであり、さらなるプレビュー情報は、ワークフローを実行するかどうかをワークフロー実行者１０５が判断することを容易にする。
【０１４２】
機械支援ワークフロー実行に関するさらに別の技術的課題は、更新された情報もしくは更新されたワークフロー・ステップまたはその両方がワークフロー実行者１０５のワークフロー・ターゲット・システム環境で首尾よく実行されることに、ワークフロー・ステップを実行する前のワークフロー実行者１０５が確信を持てないということである。このことは、更新もしくは他の情報またはその両方を販売者源以外の源から検索するときの重大な懸念である。さらに、このことは、特に、ワークフロー実行に起因するダウン時間が生命に関わったりまたは大きな出費につながったりする可能性がある銀行、行政ならびに保健医療および他の同様の産業などの環境の企業システムであるワークフロー・ターゲット・システムでこのようなワークフローを実行するときに重大な懸念となりうる。
【０１４３】
例えば、ワークフロー・ステップを実行する前にワークフロー・ステップに関する最新情報を持っていたいと望んでいるワークフロー実行者１０５が、市場に継続的に蓄積している情報を使用してワークフロー・ステップを更新する場合には、更新されたワークフロー・ステップがワークフロー実行者１０５の環境に関して機能しない可能性が増大し、特に、その更新が販売者源以外の源（信頼できるデータ源ではある）から受け取ったものである場合にはなおさらである。したがって、ワークフロー・ステップの実行がワークフロー・ターゲット・システム１１０に害を及ぼさないことをワークフロー実行者１０５に対して保証するために、ワークフロー・ステップをランしているワークフロー実行者１０５に、ワークフロー・ステップを実行している別のユーザからのステップ試験結果または履歴情報を提供するという技術的課題が存在する。さらに、ワークフロー実行者１０５がワークフロー１２５を（成功または失敗に関わらず）実行したときに、ワークフロー実行者１０５からの実行情報によってワークフロー１２５を装飾するという技術的課題も存在する。この装飾は、ワークフロー・ステップをランする他のユーザを前もって助けるために、ステップ結果情報を、ワークフロー販売者もしくはワークフロー１２５の他のユーザあるいはその両方と共有することを含むことができる。この共有情報は、更新後のワークフロー・ステップを実行した結果である有害な問題またはエラー（例えば限定セキュリティ更新）に関する任意の情報を含むことができる。
【０１４４】
これらの技術的課題は、ワークフロー・ステップの実行によるステップ結果情報をワークフロー実行者１０５が別の実行者から受け取ることを容易にすることによって、システム１００によって解決される。したがって、最新情報に基づくこの結果情報は、ワークフロー実行者１０５のワークフロー・ターゲット・システム環境でのワークフロー・ステップのランが成功する確率を増大させるのに役立つ。システム１００はさらに、ユーザが、別のユーザの同じワークフロー・ステップ結果情報に寄与し、これを改良することを容易にする。
【０１４５】
１つまたは複数の例では、ワークフロー・ターゲット・システム１１０に対するワークフロー・ステップ結果およびワークフロー・ステップの実行に関連する販売者更新情報が記録され、ワークフロー実行者１０５に対して推奨される。この推奨は、ワークフロー実行者１０５が使用している環境でワークフロー・ステップがうまくランするか否かをワークフロー実行者が情報に基づいて判断することを容易にする情報を供給することを含む。
【０１４６】
データ源のアクセス情報がワークフロー・アクセス・システム１２０に提供されていることによって、またはサーチ・エンジンを使用するなどして新たなデータ源１３０の発見を実施することによって、ワークフロー・アクセス・システム１２０は、１つまたは複数のデータ源１３０から、ワークフロー・ステップに関連した更新情報を見つけ出す。
【０１４７】
データ源１３０は、ワークフロー・アクセス・システム１１０を記憶し、ワークフロー・アクセス・システム１１０を提供する。例えば、ワークフロー・アクセス・システム１２０は、ワークフロー１２５もしくはワークフロー・ステップあるいはその両方に関して記憶された最新の認知ワークフロー・ステップ結果情報を１つまたは複数のデータ源１３０から検索する。このステップ結果情報は、例えば、ワークフロー・ステップが有効であることの保証格付け、その環境で成功したステップ実行の数などを含む。ワークフロー・アクセス・システム１２０は、ワークフロー１２５の実行中のある特定の時点で、ワークフロー１２５もしくは特定のワークフロー・ステップまたはその両方に対する更新を要求する。１つまたは複数の例では、ワークフロー１２５もしくはワークフロー・ステップまたはその両方が、実行前に更新が探索されることを指示する。これに応答して、ワークフロー・アクセス・システム１２０は、固有の識別子を使用した、適切なデータ源１３０との通信を開始する。
【０１４８】
したがって、ワークフロー更新自体に加えて、ワークフロー・ターゲット・システム１１０に対してワークフロー・ステップをランするかどうかをそのステップの過去の試験結果の認知結果情報に基づいて判断する目的に利用可能な全ての可能な認知ステップ試験結果情報を有することで、ワークフロー実行者１０５は安心する。さらに、ワークフロー・ステップが完了した後、１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ユーザの合意の下に、ワークフロー実行者１０５による実行に基づく新たなワークフロー・ステップ結果情報を、１つまたは複数のデータ源１３０にプッシュする。１つまたは複数の例では、結果データのタイプに基づいて、そのような結果の適切な部分が、対応するデータ源にプッシュされる。例えば、ワークフロー実行者１０５の組織体内のデータ源１３０は「ドメスティック情報」にプッシュされる。
【０１４９】
図９は、ワークフロー・ステップ結果情報を提供する認知学習を使用してワークフローを実行する本発明の１つまたは複数の実施形態に基づく例示的な方法の流れ図を示す。この方法は、本明細書に記載されたワークフロー実行システム１００またはその他のワークフロー実行によって実施することができる。この方法は、９１０に示されているように、ワークフロー・アクセス・システム１２０を介してワークフロー実行者１０５が実行するワークフロー１２５を選択することを含む。１つまたは複数の例では、この選択が、ワークフロー１２５を実行する通知を受け取ったことに応答して、またはワークフロー１２５自体を受け取ったことに応答して実施される。１つまたは複数の例では、ワークフロー１２５が多数のワークフローの中から選択される。ワークフローは販売者によってワークフロー実行者１０５に提供され、またはワークフロー実行者１０５が自分で書くこともできる。
【０１５０】
この方法はさらに、９１５に示されているように、ワークフロー１２５を更新するかどうかをワークフロー実行者１０５に確認することを含む。ワークフロー実行者１０５が更新を開始する場合、この方法は、９２０に示されているように、ワークフロー１２５に対する情報を１つまたは複数のデータ源からプルすることを含む。この情報は、ワークフロー１２５の実行を継続するかどうかをワークフロー実行者１０５が判定することを容易にする可能性がある、ワークフロー１２５に対する更新情報および追加情報を含む。更新された情報をデータ源からプルすることは、本明細書に記載された１つまたは複数の操作を含む（図５参照）。この更新は、データ源を妥当性確認することを含むことができる（図６参照）。９２５に示されているように、ワークフロー１２５は、データ源１３０からプルされた更新された情報を使用して、本明細書に記載されたとおりに更新される。
【０１５１】
この方法はさらに、９３０に示されているように、ワークフロー１２５からワークフロー・ステップを選択することによって、ワークフロー１２５の実行を開始することを含む。このワークフロー・ステップの実行は、上述のワークフロー更新の後でまたは上述のワークフロー更新なしで開始される。ワークフロー・ステップを実行する前に、この方法はさらに、９３５に示されているように、ワークフロー・ステップを更新するかどうかを判定することを含む。例えば、以前の予備更新（９１５）以降に、いずれかのデータ源１３０でワークフロー・ステップが更新されている可能性がある。その代わりに、またはそれに加えて、そのワークフロー・ステップの実行に関連するデータがデータ源１３０上で利用可能であることもありうる。例えば、この追加データは、販売者データ源、ドメスティック情報データ源、ソーシャル・メディア・データ源または他のデータ源１３０に追加された情報を含むことがある。この追加データは、ワークフロー・ステップの実行を続行するかどうかを判定するためにワークフロー実行者１０５が読むこともしくは分析することまたはその両方を実施することができる情報を示す。
【０１５２】
ワークフロー実行者１０５がワークフロー・ステップの更新を開始する場合、この方法は、９４０に示されているように、１つまたは複数のデータ源１３０からワークフロー・ステップをプルし、更新することを含む。ワークフロー・ステップに対する更新された情報をプルし、ワークフロー・ステップを更新することは、本明細書に記載された１つまたは複数の操作を含む（例えば図５参照）。１つまたは複数の例では、データ源の妥当性確認が、本明細書に記載されたとおりに実施される。この時点で、ワークフロー実行者１０５は、ワークフロー・ステップが更新されていることを知っているため、ワークフロー実行者には、９５０に示されているように、この更新された特定のワークフロー・ステップをワークフロー・ターゲット・システム１１０で実行したステップ結果情報が提供される。
【０１５３】
結果情報を提供することは、９５２に示されているように、１つまたは複数のデータ源１３０から、ワークフロー・ステップに関連した更新された情報からの結果情報を識別することを含む。１つまたは複数の例では、結果情報が、ワークフロー・ステップの更新を検索するデータ源とは異なるデータ源から識別される。１つまたは複数の例では、そのデータが結果関連データであることを示し、さらにそのデータがワークフロー・ステップの固有の識別子に関連づけられていることを示す識別タグを含むデータ源１３０に基づいて、結果情報が識別される。例えば、このデータは、ワークフロー・アクセス・システム１２０が、ワークフロー・ステップ実行の結果に関連したデータを効率的に決定することを容易にするために、「実行結果（ｅｘｅｃｕｔｉｏｎ  ｒｅｓｕｌｔｓ）」などのタグを含むことができる。さらにまた、結果情報は、データ源１３０からのデータを構文解析および意味解析することによって識別することができる。例えば、ワークフロー・アクセス・システム１２０は、例えば人工ニューラル・ネットワークなどの機械学習アルゴリズムを使用して、結果関連情報を提供するデータ源１３０からの更新された情報の断片を決定することができる。１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ＩＢＭ  ＷＡＴＳＯＮ（Ｒ）またはそのような他のサービスなどのＡＰＩを使用して、そのワークフロー・ステップ用のデータ源１３０上で利用可能な更新された情報から結果関連情報を決定することができる。
【０１５４】
さらに、ワークフロー・アクセス・システムは、データ源からの利用可能な結果関連情報に基づいて、ワークフローの結果情報を生成する。例えば、結果情報は、別のユーザによって実行されたワークフロー・ステップの回数、ワークフロー・ステップがスキップされた回数、ワークフロー・ステップに起因するエラーが報告された回数、開始後にワークフロー・ステップの実行が完了しなかった回数、およびワークフロー・ステップの実行に関する他の同様の情報を含むことができる。その代わりに、またはそれに加えて、結果情報は、例えば実行の容易さ、実行に必要な時間、実行に必要なリソース、ワークフロー・ステップの全体的な格付けなど、別のユーザによって提供されたワークフロー・ステップの実行に関係した格付けを含むことができる。
【０１５５】
さらに、結果情報を提供することは、９５４に示されているように、データ源１３０からの結果関連情報に基づいて生成された結果情報を表示するためのユーザ・インタフェース（ＵＩ）要素をワークフロー・アクセス・システム１２０によって生成することを含む。１つまたは複数の例では、ＵＩ要素が、ワークフロー実行者１０５に提示されているワークフロー・ステップの側に生成される。その代わりに、またはそれに加えて、ＵＩ要素は、ポップアップ・ウィンドウ、オーバレイ・ウィンドウなどの別の方式で生成される。１つまたは複数の例では、ＵＩ要素が、ワークフロー・アクセス・システム１２０によって生成された結果情報の他に、そのワークフローの実行がワークフロー販売者１０７によって推奨されているかどうかの指示を含む。さらに、１つまたは複数の例では、ワークフロー実行者１０５と実質的に同じワークフロー・ターゲット・システム環境、例えば同じバージョン、オペレーティング・システムなどを使用して別のワークフロー実行者によって提供された結果情報だけが提供されるように、ワークフロー実行者１０５に提供される結果情報がフィルタにかけられる。
【０１５６】
結果情報をワークフロー実行者１０５に提供することはさらに、９５６に示されているように、ＵＩ要素を介して結果情報を提示することを含む。９４５に示されているように、ワークフロー実行者１０５は、結果情報に基づいて、ワークフロー・ステップを実行すること、またはワークフロー・ステップを実行しないことができる。９４８に示されているように、ワークフロー実行者は、ワークフロー・ステップを実行し、それによってワークフロー・ターゲット・システム１１０の改変を達成することができる。この改変は、本明細書に記載されたハードウェア構成の改変もしくはソフトウェア構成の改変またはその両方を含むことがある。あるいは、９４５に示されているように、ワークフロー実行者１０５が、結果情報に基づいてワークフロー・ステップをスキップすると判定することもある。
【０１５７】
１つまたは複数の例では、ワークフロー・ステップが実行されたか否かに関わらず、９５５に示されているように、ワークフロー実行者１０５が、更新された情報をデータ源１３０にプッシュすることができる。例えば、ワークフロー・ステップの実行を続行しないとワークフロー実行者１０５が判定した場合、ワークフロー実行者１０５は、そのことをデータ源１３０に示すことができる。ワークフロー実行者１０５は、どの情報をプッシュするのかを本明細書に記載されたとおりに判断することができる。
【０１５８】
ワークフロー・ステップに関する情報をデータ源にプッシュするとワークフロー実行者１０５が判定した場合、ワークフロー・アクセス・システム１２０は、９６０に示されているように、データ源にプッシュする情報を本明細書に記載されたとおりに蓄積する。蓄積された情報はさらに、ワークフロー実行者１０５からの、ワークフロー・ステップ実行のワークフロー実行者１０５の格付けを含み、この格付けは例えば、ワークフローが容易／複雑であること、所定のステップ数よりも短い／長いこと、ワークフロー・ステップの格付けが所定のしきい値よりも低い／高いことなどの記述など、ワークフロー・ステップの実行の難しさ／容易さに基づく。さらに、プッシュされる結果情報は、そのワークフロー・ステップが実行されたのかまたはスキップされたのか、実行時間、実行に使用されるメモリ、実行に使用されるディスク空間などの客観的データを含むことができる。
【０１５９】
１つまたは複数の例では、ワークフロー・アクセス・システム１２０が、ワークフロー実行者１０５によって提供された結果情報に、所定の結果タグを使用してタグ付けする。さらに、ワークフロー・アクセス・システム１２０は、９６５に示されているように、この情報を、ワークフロー・ステップの固有の識別子と一緒に１つまたは複数のデータ源１３０にプッシュする。１つまたは複数の例では、蓄積された情報をデータ源１３０にプッシュすることが、プッシュする先の１つまたは複数のデータ源１３０の妥当性を確認することを含む。１つまたは複数の例ではさらに、プッシュされるデータにワークフロー識別子がタグ付けされる。
【０１６０】
ワークフロー・ステップの実行が完了した後、この方法は、９７０に示されているように、ワークフローの実行が完了したのか、または実行すべきさらなるワークフロー・ステップが残っているのかを判定することを含む。追加のワークフロー・ステップが残っている場合には、ワークフロー全体の実行が完了するまで、次のワークフロー・ステップについてこの方法を繰り返す。ワークフロー全体の実行が完了した場合には、この方法が、９７５に示されているように、ワークフロー全体の実行に関連したデータをデータ源１３０にプッシュするかどうかをワークフロー実行者１０５に確認することを含む。情報をプッシュしないとワークフロー実行者１０５が判断した場合、この方法は完了となる。
【０１６１】
データをデータ源１３０にプッシュする場合、ワークフロー・アクセス・システム１２０は、９８０に示されているように、１つまたは複数のデータ源１３０にプッシュするデータを本明細書に記載されたとおりに蓄積する。蓄積された情報は、ワークフロー全体の格付け／情報など、ワークフロー１２５全体に対する結果情報を含むことができる。ワークフロー・アクセス・システム１２０はさらに、９８５に示されているように、蓄積された情報をデータ源１３０にプッシュする。ワークフロー・アクセス・システム１２０は、ワークフロー１２５に関連したデータの容易な探索および識別のため、そのデータを、ワークフローの固有の識別子と一緒にデータ源１３０にプッシュする。
【０１６２】
したがって、この時点で、データ源１３０は、第２のワークフロー実行者が固有の識別子を使用して求めたときに検索することができる、ワークフロー１２５およびワークフロー・ステップに対する更新された結果情報を記憶している。したがって、第２のワークフロー実行者は、ワークフロー実行者１０５が提供した、データ源１３０から検索されたこの情報を使用してワークフロー１２５を実行するときに、情報に基づく判断を実施することができる。したがって、本明細書に記載された技術的解決策は、ワークフロー実行者１０５が、ワークフローを実行するときにワークフロー・ステップの更新された最新のバージョンを有することを容易にし、この更新されたバージョンおよび関連情報は、信頼できるデータ源から検索されたものであり、さらなる結果情報は、ワークフロー・ステップを実行するかどうかを別のユーザからの結果および格付けに基づいてワークフロー実行者１０５が判断することを容易にする。
【０１６３】
本明細書に記載された技術的解決策は、最新の更新および情報を使用して機械支援ワークフローを実行することを容易にし、さらに、ワークフロー実行者の組織体の内部または外部の別のユーザ、ワークフローの販売者／作成者、実行前のワークフロー実行者自身、インターネット（ソーシャル・メディア、ブログ、フォーラム、記事など）および他のタイプのデータ源からの関連情報によってワークフロー実行者をさらに支援することを容易にする。１つまたは複数の例では、ワークフロー実行者もしくは販売者またはその両方が、識別するデータ源を識別する。１つまたは複数の例では、アクセスされたデータ源が信頼できる源として認証され、その後に、それらのデータ源からの情報にアクセスする。さらにまた、本明細書に記載された技術的解決策は、ワークフロー実行者が、ワークフローの実行中に生成された情報でデータ源をさらに装飾することも容易にする。したがって、本明細書に記載された技術的解決策は、ワークフローおよびワークフロー・ステップを動的に更新すること、ならびにワークフロー・ステップに対する更新された最新情報を１つまたは複数のデータ源から提供することによって、さらには、更新された追加情報をワークフロー・ステップの実行の完了に応答してデータ源にプッシュすることを容易にすることによって、機械支援ワークフローを実行するシステムなどのコンピュータ技術の向上を提供する。
【０１６４】
本発明の技術的解決策は、インテグレーションの任意の可能な技術的詳細レベルにおいて、システム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せとすることができる。このコンピュータ・プログラム製品は、本発明の技術的解決策の諸態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことができる。
【０１６５】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リードオンリー・メモリ（ＲＯＭ）、消去可能なプログラマブル・リードオンリー・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク・リードオンリー・メモリ（ＣＤ−ＲＯＭ）、ディジタル・バーサタイル・ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるコンピュータ可読ストレージ媒体は、それ自体が一時的信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波（例えば光ファイバ・ケーブル内を通る光パルス）、または電線を通して伝送される電気信号であると解釈されるべきではない。
【０１６６】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング／処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたは無線ネットワークあるいはそれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバ、あるいはこれらの組合せを含んでもよい。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【０１６７】
本発明の技術的解決策の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データもしくは集積回路用の構成データであってもよく、またはＳｍａｌｌｔａｌｋ、Ｃ＋＋または他の同種のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同種のプログラミング言語などの手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されてもよく、または全体が遠隔コンピュータもしくはサーバ上で実行されてもよい。上記の最後のシナリオでは、遠隔コンピュータが、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して（例えばインターネット・サービス・プロバイダを使用してインターネットを介して）実施されてもよい。いくつかの実施形態では、本発明の技術的解決策の諸態様を実施するために、例えばプルグラム可能論理回路、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）またはプログラム可能論理アレイ（ＰＬＡ）を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【０１６８】
本明細書では、本発明の技術的解決策の諸態様が、本発明の技術的解決策の実施形態に基づく方法、装置（システム）およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方の図を参照して説明される。それらの流れ図またはブロック図あるいはそれらの両方の図の各ブロック、およびそれらの流れ図またはブロック図あるいはその両方の図のブロックの組合せは、このコンピュータ可読プログラム命令によって実施することができることが理解される。
【０１６９】
これらのコンピュータ可読プログラム命令は、機械を形成する汎用コンピュータ、専用コンピュータまたは他のプルグラム可能データ処理装置のプロセッサに、それらのコンピュータまたは他のプルグラム可能データ処理装置のプロセッサによって実行されるこれらの命令が、これらの流れ図またはブロック図あるいはその両方の図のブロックに指定された機能／動作を実施する手段を生成するような態様で提供することができる。これらのコンピュータ可読プログラム命令はさらに、特定の方式で機能するようにコンピュータ、プログラム可能データ処理装置または他のデバイスあるいはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に、その中に命令が記憶されたコンピュータ可読ストレージ媒体が、これらの流れ図またはブロック図あるいはその両方の図のブロックに指定された機能／動作の態様を実施する命令を含む製造物品を含むような態様で記憶することができる。
【０１７０】
コンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実施されるプロセスを生み出すために、このコンピュータ、他のプログラム可能データ処理装置または他のデバイス上に、このコンピュータ、他のプログラム可能装置または他のデバイス上で実施されるこれらの命令が、これらの流れ図またはブロック図あるいはその両方の図のブロックに指定された機能／動作を実施するような態様でロードすることができる。
【０１７１】
添付図中の流れ図およびブロック図は、本発明の技術的解決策のさまざまな実施形態に基づくシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図の各ブロックは、指定された論理機能を実施する１つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替的実施態様では、これらのブロックに示された機能が、図に示された順序とは異なる順序で実施されることがある。例えば、連続して示された２つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図または流れ図あるいはその両方の図の各ブロック、ならびにそれらのブロック図または流れ図あるいはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【０１７２】
第２の動作が第１の動作の直接の結果であるのかまたは間接的な結果であるのかに関わらず、第２の動作は第１の動作「に応答して」いると言うことができる。第２の動作が第１の動作よりもかなり後に起こっても、第２の動作が第１の動作に応答していることはある。同様に、第１の動作と第２の動作の間に介在する動作が起こる場合でも、また、たとえ１つまたは複数の介在動作が原因で第２の動作が実施される場合であっても、第２の動作は第１の動作に応答していると言うことができる。例えば、第１の動作がフラグをセットし、その後に、フラグがセットされているときにはいつでも第３の動作が第２の動作を開始する場合でも、第２の動作は第１の動作に応答していると言うことができる。
【０１７３】
使用法を明らかにし、これによりそれを公示するために、句「＜Ａ＞、＜Ｂ＞、．．．および＜Ｎ＞のうちの少なくとも１つ」、または「＜Ａ＞、＜Ｂ＞、．．．＜Ｎ＞およびこれらの組合せのうちの少なくとも１つ」、または「＜Ａ＞、＜Ｂ＞、．．．もしくは＜Ｎ＞またはこれらの組合せ」は最も広い意味で解釈され、本明細書のこれよりも前もまたは後も、別段の指定のない限り、暗示されるその他の定義は破棄され、Ａ、Ｂ、．．．およびＮを含むグループから選択された１つまたは複数の要素を意味する。言い換えると、この語句は、要素Ａ、Ｂ、．．．またはＮのうちの１つまたは複数の要素の任意の組合せを意味し、この組合せは、任意の１つの要素だけ、またはその１つの要素と残りの１つもしくは複数の要素との組合せを含み、組合せの中に、列挙されていない追加の要素が含まれていてもよい。
【０１７４】
命令を実行する本明細書に例示されたモジュール、ユニット、構成要素、サーバ、コンピュータ、端末またはデバイスはいずれも、ストレージ媒体、コンピュータ・ストレージ媒体またはデータ・ストレージ・デバイス（取外し可能もしくは取外し不能またはその両方）、例えば磁気ディスク、光ディスクまたはテープなどのコンピュータ可読媒体を含むことがあり、または別の方式でこのようなコンピュータ可読媒体にアクセスすることができることがあることも理解される。コンピュータ・ストレージ媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータなどの情報を記憶するために任意の方法または技術で実施された揮発性および不揮発性ならびに取外し可能および取外し不能の媒体を含むことができる。このようなコンピュータ・ストレージ媒体は、デバイスの一部であることがあり、またはデバイスにアクセス可能であることがあり、またはデバイスに接続可能であることがある。本明細書に記載されたアプリケーションまたはモジュールはいずれも、このようなコンピュータ可読媒体によって記憶されうるまたは他の方式で保持されうるコンピュータ可読／実行可能命令を使用して実施することができる。
【０１７５】
本発明の技術的特徴のさまざまな実施形態の以上の説明は、例示のために示したものであり、以上の説明が網羅的であること、または、以上の説明が、開示された実施形態だけに限定されることは意図されていない。当業者には、記載された実施形態の範囲を逸脱しない多くの変更および変形が明らかである。本明細書で使用した用語は、それらの実施形態の原理、実用的用途、もしくは市販されている技術にはない技術的改良点を最もよく説明するように、または本明細書に開示された実施形態を当業者が理解できるように選択した。
【図１】
2021500658.tif 000003
【図２】
2021500658.tif 000004
【図３】
2021500658.tif 000005
【図４】
2021500658.tif 000006
【図５】
2021500658.tif 000007
【図６】
2021500658.tif 000008
【図７】
2021500658.tif 000009
【図８】
2021500658.tif 000010
【図９】
2021500658.tif 000011
【国際調査報告】
2021500658.tif 000012
2021500658.tif 000013