JP7142116B2 - Knowledge-intensive data processing system - Google Patents
Knowledge-intensive data processing system Download PDFInfo
- Publication number
- JP7142116B2 JP7142116B2 JP2021020802A JP2021020802A JP7142116B2 JP 7142116 B2 JP7142116 B2 JP 7142116B2 JP 2021020802 A JP2021020802 A JP 2021020802A JP 2021020802 A JP2021020802 A JP 2021020802A JP 7142116 B2 JP7142116 B2 JP 7142116B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- time
- temporal
- database
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
関連出願の相互参照
本願は、2015年3月23日に出願され、「知識集約型データ処理システム」と題された米国特許出願第14/665171号の利益を主張し、その開示の全体が引用により本明細書に援用される。
CROSS REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Patent Application Serial No. 14/665,171, filed March 23, 2015, entitled "Knowledge-Intensive Data Processing Systems," the disclosure of which is incorporated by reference in its entirety. is incorporated herein by
背景
クラウドサービスの管理、履行センタの監督、グリッドの管理、科学の進歩、患者の治療などの複雑な応用は、巨大量のデータの構築処理を管理するアプリケーションを必要とする可能性がある。一例として、SLA(Service Level Agreement)の準拠は、多くの
クラウド運用にとって重要な要件である。SLA違反を回避する操作を可能にするまたは違反が発生した場合に問題の解決案をより迅速に提供するように、SLAの準拠は、重要な性能基準の連続監視および切迫してくるSLA違反を検出する予測診断機能を必要とする。このようなクラウド運用は、管理者側および/または顧客側のプライベートクラウド、パブリッククラウドおよびハイブリッドクラウド内のデータセンタ、ネットワーク、サーバマシン、仮想マシン、オペレーティングシステム、データベース、ミドルウェアおよびアプリケーションなどの数百万個のハードウェア要素およびソフトウェア要素を監視、診断および管理する必要がある。
Background Complex applications such as managing cloud services, overseeing fulfillment centers, managing grids, advancing science, and treating patients can require applications to manage the building processes of vast amounts of data. As an example, compliance with Service Level Agreements (SLAs) is a key requirement for many cloud operations. SLA compliance involves continuous monitoring of key performance criteria and alerts of impending SLA violations to enable actions to avoid SLA violations or to provide faster problem resolution if violations occur. Requires predictive diagnostic capabilities to detect. Such cloud operations cover millions of data centers, networks, server machines, virtual machines, operating systems, databases, middleware and applications in private, public and hybrid clouds at the administrator and/or customer side. Individual hardware and software elements need to be monitored, diagnosed and managed.
従来の情報技術(IT)運用の反応性異常検出および手動診断技術は、大変な労働集約的ものであり、広範囲分野の専門知識を必要とし、応答が非常に遅いため、異常を生じた構成要素を分離および特定するではなく、システム内の大量の部品の再起動を含む不適切な応答を引き起こし、クラウドに適切に拡張できないことがある。効果的なクラウドシステムの運用は、重要な生命徴候(vital sign)の連続測定、時系列分析、多変量システム状態モデル、システム応答モデル、予知異常検出、機械学習に基づく分類、自動診断および予後、判定支援、および様々な制御能力を必要とする。 Reactive anomaly detection and manual diagnostic techniques of traditional information technology (IT) operations are very labor intensive, require extensive domain expertise, and are very slow to respond, resulting in instead of isolating and identifying the , it can cause inappropriate responses, including restarting a large number of parts in the system, and fail to scale well to the cloud. Effective cloud system operation includes continuous measurement of important vital signs, time series analysis, multivariate system state models, system response models, predictive anomaly detection, machine learning-based classification, automated diagnosis and prognosis, Requires decision support and various control capabilities.
簡単な要約
本明細書に記載の実施形態は、ビッグデータ(big data)および関連技術を用いて、低価値データから高価値データを取得および抽出することによって、大量の複雑な大容量および高速データを管理および処理するための様々な技術を提供する。本明細書に記載された例示的なデータベースシステムは、高価値データを抽出または生成すると共に、データを収集および処理することができる。高価値データは、多時間性、出所、フラッシュバックおよび登録クエリなどの機能を提供するデータベースに利用されてもよい。いくつかの例において、コンピューティングモデルおよびシステムを実装することによって、データ駆動状況を認識するコンピューティングシステム内のほぼリアルタイムのデータ処理フレームワークに、知識およびプロセス管理特徴を組み入れることができる。
Brief Summary The embodiments described herein use big data and related technologies to capture and extract high-value data from low-value data to enable large amounts of complex high-volume and high-speed data. provide a variety of techniques for managing and processing The exemplary database system described herein can extract or generate high-value data as well as collect and process the data. High-value data may be utilized in databases that provide features such as multi-temporality, provenance, flashback and registration queries. In some examples, implementing computing models and systems can incorporate knowledge and process management features into a near real-time data processing framework within a computing system that recognizes data-driven situations.
いくつかの実施形態において、本明細書に記載の技術は、多時間データベースを保存および更新し、多時間データベースに基づいてフィルタクエリを評価し、フィルタクエリの評価に基づいてデータ変換処理を呼び出すことができる。データストリーム、ビッグデータおよび他の生入力データからの入力データを受信して、多時間データベースに格納することができる。式フィルタ、登録クエリ、トリガ、連続クエリ通知などのデータベース構
成物を含むフィルタクエリは、更新された多時間データに基づいて、特定されてもよい。フィルタクエリおよび/またはデータトランザクションプロセスは、現在のデータ状態および1つ以上の過去のデータ状態に基づいて実行されてもよく、複数の実行の間の差は、評価されてもよい。異なるフィルタクエリおよび/または異なる時間およびデータ状態に対応するデータトランザクションプロセスの結果間の差を用いて、追加のデータトランザクションプロセスおよび/またはループアプリケーションインスタンスを呼び出すことができる。
In some embodiments, the techniques described herein store and update a multi-time database, evaluate filter queries based on the multi-time database, and invoke data transformation operations based on the evaluation of the filter queries. can be done. Input data from data streams, big data and other raw input data can be received and stored in multi-time databases. Filter queries, including database constructs such as expression filters, registration queries, triggers, continuous query notifications, etc., may be identified based on the updated multi-time data. Filter queries and/or data transaction processes may be executed based on the current data state and one or more past data states, and differences between multiple executions may be evaluated. Additional data transaction processes and/or loop application instances can be invoked with different filter queries and/or differences between data transaction process results corresponding to different times and data states.
詳細な説明
以下の記載において、説明の目的で、本発明の様々な実施形態を完全に理解できるよう
にするために、多くの具体的な詳細を記載する。しかしながら、これらの具体的な詳細がなくても本発明を実施できることは、当業者には明らかであろう。場合によって、一部の周知の構造および装置は、ブロック図で示される。
DETAILED DESCRIPTION In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of various embodiments of the invention. However, it will be obvious to those skilled in the art that the present invention may be practiced without these specific details. In some instances, some well-known structures and devices are shown in block diagram form.
以下の記載は、例示的な実施形態を提供するもののみであり、本開示の範囲、適用性または構成を限定するものではない。むしろ、例示的な実施形態の以下の記載は、例示的な実施形態を実施可能な説明を当業者に提供する。理解すべきことは、添付の特許請求の範囲に記載された発明の精神および範囲から逸脱することなく、要素の機能および要素の配置にさまざまな変更を加えることができることである。 The following description provides exemplary embodiments only and does not limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description of the exemplary embodiments. It is to be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.
本発明の実施形態を完全に理解するために、以下の記載において、具体的な詳細を説明した。しかしながら、当業者には、これらの具体的な詳細がなくても、本発明の実施形態を実施できることが理解されるであろう。例えば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセスおよび他の構成要素をブロック要素として示してもよい。他の例において、実施形態を不明瞭にしないように、不必要な詳細なしで、周知の回路、プロセス、アルゴリズム、構造および技術を示してもよい。 また、留意すべきことは、各々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示された処理として説明されていることである。フローチャートは、操作を順次処理として説明しているが、多くの操作は、並行でまたは同時に実行することができる。さらに、操作の順序を再配置してもよい。処理は、その操作が完了した時点で終了するが、図に示されていない追加のステップを含んでもよい。処理は、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。処理が関数に対応する場合、その終了は、呼び出し関数またはメイン関数の戻りに対応することができる。 Specific details are set forth in the following description to provide a thorough understanding of the embodiments of the invention. However, it will be understood by those skilled in the art that embodiments of the invention may be practiced without these specific details. For example, circuits, systems, networks, processes and other components may be shown as block elements in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as not to obscure the embodiments. It should also be noted that each embodiment is described as a process depicted as a flowchart, flow diagram, data flow diagram, structural diagram, or block diagram. Although the flowcharts describe the operations as sequential processing, many operations can be performed in parallel or concurrently. Additionally, the order of operations may be rearranged. A process ends when its operations are completed, but may include additional steps not shown in the figure. A process may correspond to a method, function, procedure, subroutine, subprogram, or the like. If the processing corresponds to a function, its termination can correspond to the calling function or the return of the main function.
「コンピュータ読取可能な媒体」という用語は、命令および/またはデータを記憶、格納または搬送することができる非一時的媒体、例えば、可搬型または固定型記憶装置、光記憶装置、およびさまざまな他の媒体を含むが、これらに限定されない。コードセグメントまたはコンピュータ実行可能な命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは命令、データ構造またはプログラム文の任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を転送および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータおよびデータなどは、メモリ共有、メッセージ転送、トークン転送、ネットワーク送信などの任意の適切な手段を介して、伝達され、転送され、または送信されてもよい。 The term "computer-readable medium" refers to non-transitory media capable of storing, storing or carrying instructions and/or data, such as portable or non-removable storage devices, optical storage devices, and various other media. Including but not limited to media. Code segments or computer-executable instructions can represent procedures, functions, subprograms, programs, routines, subroutines, modules, software packages, classes, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or hardware circuit by transferring and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be communicated, transferred, or sent via any suitable means such as memory sharing, message transfer, token transfer, network transmission, and the like.
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実施されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実施される場合、必要な作業を実行するプログラムコードまたはコードセグメントは、コンピュータ読取可能な媒体に格納されてもよい。プロセッサは、必要な作業を実行することができる。 Moreover, embodiments may be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments that perform the necessary tasks may be stored on a computer readable medium. A processor can perform the necessary work.
本明細書は、ビッグデータおよび関連技術を用いて、低価値データから高価値データを取得および抽出することによって、大量の複雑な高速データを管理および処理するための様々な技術(例えば、方法、システムおよび1つ以上のプロセッサによって実行可能な複数の命令を格納する非一時的なコンピュータ読取可能な記憶メモリ)を記載する。本明細書に記載された例示的なデータベースシステムは、高価値データを抽出または生成すると共に、データを収集および処理することができる。高価値データは、多時間性、出所、フ
ラッシュバックおよび登録クエリなどの機能を提供するデータベースに利用されてもよい。いくつかの例において、コンピューティングモデルおよびシステムを実装することによって、データ駆動状況を認識するコンピューティングシステム内のほぼリアルタイムのデータ処理フレームワークに、知識およびプロセス管理特徴を組み入れることができる。
This specification describes various techniques (e.g., methods, methods, A non-transitory computer-readable storage memory) that stores instructions executable by a system and one or more processors is described. The exemplary database system described herein can extract or generate high-value data as well as collect and process the data. High-value data may be utilized in databases that provide features such as multi-temporality, provenance, flashback and registration queries. In some examples, implementing computing models and systems can incorporate knowledge and process management features into a near real-time data processing framework within a computing system that recognizes data-driven situations.
本明細書に記載の技術は、多時間データベースを保存および更新し、多時間データベース上のフィルタクエリを評価し、フィルタクエリの評価に基づいてデータ変換処理を呼び出すことができる。データストリーム、ビッグデータおよび他の生入力データからの入力データを受信して、多時間データベースに格納することができる。式フィルタ、登録クエリ、トリガ、連続クエリ通知などのデータベース構成物を含むフィルタクエリは、更新された多時間データに基づいて、特定されてもよい。フィルタクエリおよび/またはデータトランザクションプロセスは、現在のデータ状態および1つ以上の過去のデータ状態に基づいて実行されてもよく、複数の実行の間の差は、評価されてもよい。異なるフィルタクエリおよび/または異なる時間およびデータ状態に対応するデータトランザクションプロセスの結果間の差を用いて、追加のデータトランザクションプロセスおよび/またはループアプリケーションインスタンスを呼び出すことができる。 The techniques described herein can store and update the multi-time database, evaluate filter queries on the multi-time database, and invoke data transformation operations based on the evaluation of the filter queries. Input data from data streams, big data and other raw input data can be received and stored in multi-time databases. Filter queries, including database constructs such as expression filters, registration queries, triggers, continuous query notifications, etc., may be identified based on the updated multi-time data. Filter queries and/or data transaction processes may be executed based on the current data state and one or more past data states, and differences between multiple executions may be evaluated. Additional data transaction processes and/or loop application instances can be invoked with different filter queries and/or differences between data transaction process results corresponding to different times and data states.
図1を参照して、図1は、データ駆動型変換ループアプリケーションの実行モデルを示すブロック図である。実行モデル100は、データベースシステムまたは他のコンピューティングシステム内の実行エンジンによって実装されてもよい。以下で説明するように、このような実行エンジンは、実行モデル100内の様々な要素をインスタンス化し、追跡および制御するためのデータ駆動型プロセスを実装するように構成された専用ハードウェア、ソフトウェアおよび/またはネットワーク要素を含むことができる。
Referring to FIG. 1, FIG. 1 is a block diagram showing an execution model of a data-driven transformation loop application.
この例において、実行モデル100は、3つの異なるカテゴリのオブジェクト、すなわち、データオブジェクト、変換オブジェクトおよびフィルタを含む。データオブジェクトは、ファクト、イベントストリーム、関係、XML(Extensible Markup Language)文書、テキストなどの構造化コンテンツ、半構造化コンテンツおよび非構造化の未処理コンテンツを表すことができる。また、データオブジェクトは、カテゴリ、タグ、関係およびコンテナなどのメタデータを表すことができ、および/または、ユーザインターフェイスフォーム、処方箋フォームおよび通知テンプレートなどの取得プロセスによって取り込まれたコンテンツを表すことができる。変換オブジェクトは、アルゴリズム、スクリプト、プロセス、クエリ、RDF(Resource Description Framework)公理、生産ルール、決定木、サポートベクトルマシン、神経ネットワーク、ベイジアンネットワーク、隠れマルコフモデル、ホップフィールドモデル、人間の暗黙知識、および種々の変換データを表すことができる。また、変換オブジェクトは、データオブジェクトを追加、変更または削除するために、これらのデータオブジェクトに適用できるデータを含む。フィルタは、1つ以上のデータオブジェクトおよび変換オブジェクトの環境に評価され得る経路式(path expression)および/またはブール演算式(Boolean expression)に対応する。例えば、フィ
ルタは、データオブジェクトおよび/または変換オブジェクトの変更インスタンスを検出するデータベースシステムに登録された1つ以上のクエリを含むことができる。このようなフィルタは、データベーストリガ、リアルタイムジャーナル解析および/または多時間または双時間データベースシステム上に登録されたクエリを用いて、実装することができる。
In this example,
図1に示すように、例示的な実行モデル100は、データ変換ループアプリケーションに対応し得る。このデータ変換ループアプリケーションは、潜在的に反復するループプロセスおよび/または不定のループプロセスであってもよい。この例および他の関連する実施形態において、異なるタイプのデータオブジェクトの各々は、異なる属性または特性を有する異なるデータを表すことができ、異なるタイプの変換オブジェクトの各々は、1つ
のタイプのデータオブジェクトを別のタイプのデータオブジェクトに変換する異なるアルゴリズムまたはシステムの実装であってもよい。例示的な実行モデル100は、4つのタイプのデータオブジェクトおよび4つのタイプの変換オブジェクトを含むが、理解すべきことは、異なる実装例において、異なる数のデータオブジェクトおよび変換オブジェクト(例えば、2つのデータオブジェクトおよび2つの変換オブジェクト、3つのデータオブジェクトおよび3つの変換オブジェクト、...、5つのデータオブジェクトおよび5つの変換オブジェクト)を使用することができることである。また、理解すべきことは、異なる実施形態においてより多くのフィルタオブジェクトまたはより少ないフィルタオブジェクトを実装してもよく、特定の実施形態において一部のフィルタまたは全てのフィルタを実装しなくてもよいことである。
As shown in FIG. 1,
実行モデル100において、第1タイプのデータオブジェクト103、104および120は、計算システムに入力された生の入力を表すことができる。これらの入力は、例えば、Java(登録商標)仮想マシン(JVM)内のガベージコレクタからのデータストリーム、定期的なスレッドダンプからのスタックトレース、メモリヒープダンプ、データベースAWRレポートなどを含んでもよい。第1タイプのデータオブジェクト103、104および120は、非構造化会話、フォーム入力、装置から収集された定量的な測定値、イベントストリームデータ、XML文書またはテキスト文書などであってもよい。第2タイプのデータオブジェクト107、108および110は、第1タイプのデータオブジェクトに基づいて推定された観測結果または予測結果の定性的な説明を表すことができる。いくつかの実施形態において、第2タイプのデータオブジェクト107、108および110は、4つの異なるサブタイプのデータオブジェクト、すなわち、観測オブジェクト、予測オブジェクト、ノルムオブジェクトおよび目的オブジェクトのうち、1つ以上を含むことができる。観測オブジェクトは、ファクトを離散値に個別化することができる。例えば、データベースの接続をブロックするためのスレッドの強度(数字)というファクトを、正常、保護、厳格または重要などの定性値を有する観測オブジェクトに個別化することができる。予測オブジェクトは、変化する条件から予測された定性値を表すことができる。予測オブジェクトは、例えばシミュレーションを介して、観察モデルによって内挿または外挿された定性値を表すことができる。ノルムオブジェクトは、歴史的なベースラインの定性値を表すことができる。目的オブジェクトは、全体的な目的および解決を達成するために、観察オブジェクトおよび予測オブジェクトを求めるための目標定性値を表すことができる。第3タイプのデータオブジェクト112および114は、第2タイプのデータオブジェクト(例えば、観察オブジェクトおよび/または予測オブジェクト)に基づいて推定された診断または原因を表すことができる。例えば、ロードバランサの故障によって、2つのサーバクラスタのうち、第1サーバにおいてスレッドクラスのスレッド強度を高血圧状態(標準よりも有意に高い強度)に分類し、第2サーバにおいて当該スレッドのスレッド強度を低血圧状態(標準よりも有意に低い強度)に分類することは、第3タイプのデータオブジェクト112または114のドメイン特有例であってもよい。第4タイプのデータオブジェクト116および118は、第3タイプのデータオブジェクトに基づいて推定された行う予定の行動セットを表すことができる。例えば、ヒープダンプを捕捉するまたはメモリ管理ポリシーを構成するための一連の命令は、第4タイプのデータオブジェクト116または118のドメイン特有例であってもよい。
In the
各変換オブジェクトは、ハードウェアおよびソフトウェアからなるコンピュータシステム上で実行される自動化ソフトウェアプログラム、アルゴリズム、技術、プロセス、または方法として具現化された抽象化知識を表すことができる。データオブジェクトと同様に、変換オブジェクトは、データベースシステム、ファイルに基づく記憶システム、または任意のデータストアに格納されてもよい。格納された変換オブジェクトを検索し、様々なデータオブジェクトに適用することによって、実行モデル内で様々なタイプのデータを計算することができる。 Each transformation object can represent abstract knowledge embodied as an automated software program, algorithm, technique, process, or method executing on a hardware and software computer system. Like data objects, transformation objects may be stored in a database system, a file-based storage system, or any data store. Various types of data can be computed within the execution model by retrieving stored transformation objects and applying them to various data objects.
例えば、実行モデル100において、第1タイプの変換オブジェクト105および106は、例えば、第1タイプのデータオブジェクトに対応するプールまたは生データストリームから取り出した重要なデータを示すコンパクト表現を生成することによって、第1タイプのデータオブジェクトに基づいて、第2タイプのデータオブジェクトを計算するための技術を具体化することができる。第2タイプの変換オブジェクト111は、第2タイプのデータオブジェクトに基づいて、第3タイプのデータオブジェクトを計算するための技術を具体化することができる。第3タイプの変換オブジェクト115は、第3タイプのデータオブジェクトに基づいて、第4タイプのデータオブジェクトを計算するための技術を具体化することができる。例えば、第3タイプの変換オブジェクト115は、基準から逸脱する観測結果または予測結果の度合に基づいて、指令を開発するための技術を含むことができる。第4タイプの変換オブジェクト119は、第4タイプのデータオブジェクトに基づいて、第1タイプのデータオブジェクトを計算するための技術を具体化することができる。例えば、第4タイプの変換オブジェクト119は、仮説(例えば、第3タイプのデータオブジェクト)に応答し且つ追加の生入力(例えば、第1タイプのデータオブジェクト)を捕捉するように設計されてもよい。
For example, in the
実行モデル100内の様々なフィルタオブジェクト101、102、109、113および117は、データオブジェクトと同様に、例えばデータベースまたは他の記憶システムに格納されたデータとして、または変換オブジェクトと同様に、例えば自動化ソフトウェアプログラム、アルゴリズムまたは技術などとして、またはデータとプログラムの組み合わせとして実装されてもよい。場合によって、フィルタオブジェクト101、102、109、113および117は、データオブジェクトのどの程度の変化が変換オブジェクトを呼び出すのに十分であるかを決定するための最小データ変更閾値を実装することができる。追加的または代替的に、フィルタオブジェクト101、102、109、113および117は、データオブジェクトのどの特性が変換オブジェクトを呼び出すのに十分であるかを決定するための条件、極性またはデータの組み合わせによって、最小信頼レベルを実装することができる。上述したように、フィルタは、データベーストリガ、リアルタイムジャーナル解析および/または多時間または双時間データベースシステム上に登録されたクエリを含むことができる。
The various filter objects 101, 102, 109, 113 and 117 in the
データオブジェクトおよび変換オブジェクトは、例えば、データオブジェクトからノイズを除去し、異常値データを検出および抽出し、周期性動向を検出および修正するためのメカニズムを実装することができる。例えば、周期性動向トランスフォーマは、持続性データオブジェクトのデータ変化の周期性増加動向を検出し、平滑化強度および平滑化強度増加率を更新して、強度の増加動向を予測することができる。この例において、予測された強度の正規化残差をトランスフォーマとして用いて、測定される強度が予期強度から逸脱していることを表す異常値を検出することができる。さらに、複数の独立のトランスフォーマは、データの推定を追跡することと並列して、異なる時間スケールで、処理を実行することができる。時間スケールに応じて、これらの並列トランスフォーマは、周期性動向、長期容量需要、短期エンドポイント(メモリ不足エラー)などを予測するための複数のポリシーとして機能することができる。 Data objects and transformation objects can implement mechanisms for, for example, removing noise from data objects, detecting and extracting outlier data, and detecting and correcting periodicity trends. For example, the periodicity trend transformer can detect the periodicity trend of data changes in the persistent data object and update the smoothed strength and the smoothed strength growth rate to predict the strength growth trend. In this example, the normalized residual of the predicted intensity can be used as a transformer to detect outliers representing deviations of the measured intensity from the expected intensity. Additionally, multiple independent transformers can perform processing at different time scales in parallel with tracking data estimates. Depending on the timescale, these parallel transformers can serve multiple policies to predict periodic trends, long-term capacity demands, short-term endpoints (out-of-memory errors), and so on.
データオブジェクトと同様に、変換オブジェクトは、データ駆動型監視制御ループの実行中に動的に変化することができる。いくつかの実施形態において、監視制御ループは、様々な技術(例えば、非線形回帰)を実行することによって、システム内のJava(登録商標)仮想マシン例の変換パラメータおよび周期ファクタを推定することができる。このような例において、監視制御ループは、(例えば、HotspotまたはJRockit計測器と共にMBeanを使用する)各Java仮想マシンに埋め込まれた1つ以上の変換基準/変換プログラムを
更新するために、変換パラメータおよび周期ファクタを変換オブジェクトに組み込むこと
ができる。
Like data objects, transform objects can change dynamically during the execution of a data-driven supervisory control loop. In some embodiments, the supervisory control loop can estimate transformation parameters and period factors of the Java virtual machine instances in the system by performing various techniques (e.g., non-linear regression). . In such an example, the supervisory control loop would use the transformation parameter and period factors can be incorporated into the transformation object.
1つ以上の実行エンジンを用いて、実行モデル100によって具体化されるアプリケーションなどのデータ駆動型ループアプリケーションを開始、追跡および制御することができる。データオブジェクト、トランスフォーメーションオブジェクトまたはフィルターオブジェクトが動的に更新されるたびに、実行エンジンは、例えば、図示の実行モデル100内の各オブジェクトをインスタンス化し、次いで各オブジェクトによって実行される様々なプロセスを実行および監視すると共に、実行プロセスを制御することができる。実行エンジンは、(例えば、オブジェクト指向クラスを介して)様々なオブジェクトをインスタンス化した後、実行モデル100内のデータオブジェクトのうち1つのデータオブジェクトの新しいデータおよび/または更新されたデータを検出することができる。新しいデータまたは更新されたデータを検出した後、実行エンジンは、適切なフィルタオブジェクトを呼び出すまたはフィルタ(例えば、式フィルタまたは反復クエリ)を自動的に実行することによって、データを分析および/または修正することができ、後続の変換オブジェクトを呼び出すべきか否かを決定することができる。必要に応じて、実行エンジンは、変換オブジェクトを呼び出すことによって、ループ内の次のダウンストリームデータオブジェクトを更新する、例えば第1タイプのデータオブジェクトに対する更新に基づいて、第2タイプのデータオブジェクトを更新することができる。したがって、フィルタまたは変換オブジェクトが後続のデータオブジェクトを更新すべきでないと判断するまで、ループアプリケーションを継続することができる。
One or more execution engines can be used to initiate, track and control data-driven loop applications such as those embodied by
また、多時間データベースのリポジトリ121は、低価値データおよび高価値データの両方を含むことができる。例えば、リポジトリ121は、(FSD∪特徴)に対応するデータを含むことができる。(ガードとも呼ばれる)フィルタ101、102、109、113および117は、データベース内のフィルタ基準またはプロセスを実行し、異なる時間状態のフィルタ基準/プロセス間の差を評価するために、リポジトリ121内のデータに対してクエリを行うことによって、現在のデータ状態および/または過去のデータ状態を検索することができる。
Also, the
また、データ駆動型ループアプリケーションの実行中に、任意の時点で任意のデータオブジェクトに対して追加のデータ更新を行うことができる。例えば、変換オブジェクト115がデータオブジェクト116を更新する実行の最中に、別のデータオブジェクト103が異なるプロセスのデータベーストランザクションまたは新しいデータストリームデータの到着などによって動的に更新されることができる。この例において、実行エンジンは、変換オブジェクト115の実行を完了した後、フィルタリング101および/または変換オブジェクト105を呼び出すことによって、事実上、ループアプリケーションの命令ポインタを実行モデル100の完全に異なる部分に変更することができる。別の例において、実行エンジンは、変換オブジェクト115の実行完了を待たずに、フィルタ101および/または変換オブジェクト105を呼び出すことによって、事実上、ループアプリケーションの複数の命令ポインタを実行モデル100の異なる部分で非同期に動作させることができる。任意の時点で任意のデータオブジェクトに対して追加のデータ更新を行うことができるが、実行モデル100内のデータオブジェクト103、104、110、114および118は、一貫した状態を表すことができる。
Also, additional data updates can be made to any data object at any time during execution of the data-driven loop application. For example, while a
実行モデル100の様々な実装において、異なるデータオブジェクト、異なる変換オブジェクトおよび/または異なるフィルタオブジェクトをデータベースまたは他のデータストアに格納することができ、様々なデータベース技術を用いて、実行モデル100および本明細書に開示された他の技術を実装することができる。例えば、実行モデル100内の一部または全部カテゴリのオブジェクトに対して、オブジェクト指向クラス、例えば、データオブジェクトクラスおよび変換オブジェクトクラスを確立することができる。実装さ
れた各親クラスから、タイプ特有のサブクラス、例えば、第1タイプのデータオブジェクトサブクラス、第2タイプのデータオブジェクトサブクラス、第3タイプのデータオブジェクトサブクラスおよび第4タイプのデータオブジェクトサブクラス、並びに、第1タイプの変換オブジェクトサブクラス、第2タイプの変換オブジェクトサブクラス、第3タイプの変換オブジェクトサブクラスおよび第4タイプの変換オブジェクトサブクラスを導出することができる。各クラスおよびサブクラスの実装には、適用可能なオブジェクトのカテゴリおよびタイプに適したラベルおよび属性を与えることができる。例えば、実行エンジンは、第1タイプのデータオブジェクトをインスタンス化し、そのデータオブジェクトに関連する属性値を格納することができる。同様に、第1タイプの変換オブジェクトをインスタンス化し、その変換オブジェクトに関連する属性値を格納することができる。以下同様。これらのオブジェクトの各々の定義およびこれらのオブジェクトの全てのインスタンスは、1つ以上のアプリケーションに関連するデータストアに格納されてもよい。例えば、データ駆動型変換ループアプリケーションの実行エンジンは、様々なデータベース技術を用いて、データオブジェクト、変換オブジェクトおよびフィルタオブジェクトの定義およびインスタンスを格納することができる。各インスタンスの履歴を取り出すことができるように、双方向および/または多時間データベースを用いて、各オブジェクトの各インスタンスの複数のバージョンを維持することができる。さらに、いくつかの実施形態において、実行エンジンは、オブジェクトのマッピング(クラス、サブクラスなどのインスタンス化)を生成し、格納することができる。
In various implementations of
いくつかの実施形態において、エージェントオブジェクト(またはアクターオブジェクト)は、実行モデル100に含まれてもよく、および/または実行エンジンによって生成および制御されてもよい。エージェントオブジェクトは、自動化エージェントに対応してもよく、個体、個体群または組織を表してもよい。エージェントオブジェクトは、オブジェクト指向プログラミングオブジェクトとしてインスタンス化することができ、プロファイルおよび出所環境などの属性を有することができる。自動化エージェントの例示として、アルゴリズムプロセスをカプセル化するソフトウェア、例えば、ワークフロー、シミュレーション、サポートベクトルマシン、神経ネットワーク、ベイジアンネットワークなどを挙げることができる。自動化エージェントは、エージェントの能力を示すプロファイルを有することができる。エージェントオブジェクトは、組織環境、スキルプロファイル、知識プロファイル、関心プロファイル、嗜好プロファイルなどの属性を有することができる。知識プロファイルは、エージェントオブジェクトに関連付けられ、システムが一般にエンコードしない暗黙知識を表すことができる。エージェントオブジェクトが個体を表す場合、エージェントオブジェクトは、そのオブジェクトによって表される個体のリアルタイム存在および/またはリアルタイム活動を特定することができる。実行エンジンは、エージェントオブジェクトの属性に基づいて、エージェントオブジェクトを実行保留中の特定の変換オブジェクトに割り当てることができる。
In some embodiments, agent objects (or actor objects) may be included in
以下でさらに説明するように、実行モデル100は、特殊のアルゴリズムを進化させることができる。これらの特殊のアルゴリズムを用いて、分類(classification)、評価(assessment)、解決(resolution)および実施(enactment)のような変換を実行するこ
とによって、環境のデータまたは状態を変換することができる。変換オブジェクトは、直接に同時に動作する必要のない特殊のアルゴリズムを表すことがある。データ駆動型プロセスの実行エンジンは、変換オブジェクトの多様なアルゴリズムを別々に開発し、これらのアルゴリズムを、標準化データモデルを介して相間作用する様々なタイプの変換オブジェクト(例えば、第1タイプから第4タイプの変換オブジェクト)としてカプセル化することによって、共通アプリケーションとして進化できる単一のシステムに統合することができる。システム内の様々なアルゴリズムは、相互に補完し、強化することができる。また、実行モデル100内の一部の構成要素は、エージェントオブジェクトのインスタンスと情報を交換するユーザインターフェイスおよびメッセージ通信システムを含むことがで
きる。実行モデル100は、データオブジェクトインスタンスの変化を連続的に照会し、従属の変換オブジェクトの実行を開始することによって、情報交換を駆動する。さらに、変換オブジェクトのアップグレード(例えば、アルゴリズムの更新、新しいバージョンのソフトウェアのリリースなど)は、その変換オブジェクトによる変換を既に適用したデータオブジェクトインスタンスの遡及処理をトリガすることができる。この場合、新しい変換オブジェクト/更新された変換オブジェクトを展開した直後、変換オブジェクトによる変換を適用することができる。
As described further below, the
図2を参照して、データ駆動型アプリケーションを実行するコンピュータシステムを示すブロック図が示される。例示のシステム200は、クラウドベースシステムのコンピュータ高次構成を表すことができる。このシステムを用いて、ビッグデータの解析問題を処理するように設計されたデータ駆動型アプリケーションの実装および実行の管理を行うことができる。そのような問題は、非常に巨大なデータ量、高いデータ速度、複雑なデータタイプを含み、ほぼリアルタイムで複雑なイベントを処理する能力を必要とする。この例において、システム200は、HADOOPソフトウェアフレームワークを用いて、データ駆動型アプリケーションを起動および管理するためのシステムに対応する。理解すべきことは、他の例において、HADOOPの代わりに、他のソフトウェアフレームワークを使用することができることである。例示的なシステム200に示された様々な構成要素、例えば、双時間データベース210、オーケストレーションエンジン220、リソースマネージャ230および計算クラスタ240は、ハードウェア要素とソフトウェア要素とネットワーク要素との特殊な組み合わせを含む個別コンピュータシステムまたは共有コンピュータシステムに実装されてもよい。
Referring to FIG. 2, a block diagram illustrating a computer system executing data driven applications is shown.
この例において、双時間データベース210は、本明細書に記載のハードウェア要素、ソフトウェア要素およびネットワーク要素を含む様々なデータベースサーバおよび技術に実装することができる。双時間(または他の多時間)データベーススキーマを使用するデータベース210の場合、データベース210内に格納された様々な異なるオブジェクト(例えば、データオブジェクト、変換オブジェクトおよびフィルタクエリなど)は、データが永続的になるまたは回復可能になるまたは他の回復可能なトランザクションに可視になるときのトランザクション時間を用いて、タイムスタンプを付けることができる。その後、有効時間およびトランザクション時間からなる双時間クエリを用いて、これらのオブジェクトを呼び出すことができる。双時間データベース210におけるこれらの物象化関係に基づいて、データに明示された任意のイベント、例えば、データオブジェクト、変換オブジェクトまたはフィルタの更新に対して、変更を引き起こした原因を判断することができる。例えば、双時間データベース210内の関係は、特定の時間間隔内に第1タイプのデータのインスタンスが1種類の問題として分類され、問題を解決するために、特定の修正がビッグデータシステム内で制定されたことを示すことができる。この例において、双時間データベース210は、データの変更が発生した理由を判断するために、各修正を決定および制定した時間順に、制定された複数の異なる修正をオーケストレーションエンジン220または他のシステム要素に提供することができる。他の実施形態において、他の多時間データベース、例えば、決定タイムに対応するデータ項目の追加タイムラインまたは時間データを含む多時間データベースを使用することができる。
In this example, the
専用のハードウェア要素、ソフトウェア要素およびネットワーク要素の組み合わせを用いて、オーケストレーションエンジン220を実装することによって、ビッグデータ解析システム用のアプリケーションを作成および管理することができる。オーケストレーションエンジン(または実行エンジン)220は、双時間データベース210と共に同一のデータベースシステムに実装されてもよく、別個の制御サーバとして実装されてもよい。いずれの場合でも、オーケストレーションエンジン220は、複雑な時間で登録されたフラッシュバッククエリおよび式フィルタのような、双時間データベース210に関連するデ
ータベース技術を活用するように設計することができる。オーケストレーションエンジン220は、データ変換ループアプリケーションをHADOOPリソースマネージャ230(例えば、HADOOP YARNリソースマネージャ)などのリソースマネージャに割り当てることがで
きる。その割り当てに応答して、HADOOPリソースマネージャ230は、HADOOPクラスタ240を備える計算ノードを選択し、選択したHADOOPクラスタ240内のデータ変換ループアプリケーションのために、アプリケーションマスタ(AM)241を起動することができる。場合によって、アプリケーションマスタ241は、HADOOPリソースマネージャ230と交渉することによって、ループアプリケーションのデータ変換を実行するためのコンテナを得ることができる。ビッグデータ解析の場合、このようなデータ変換行動は、例えば、機械学習行動、大量の生データを使用する分類行動、ベイジアン信念ネットワーク(BBN)エンジン、非線形回帰プロセス、周期性動向プロセスを含んでもよい。いくつかの実施形態において、データ変換ループアプリケーションのアプリケーションマスタ241は、長時間実行するプロセスであってもよい。しかしながら、アプリケーションのループ処理(例えば、実行モデル100)の実行を停止または中断したときに、HADOOPクラスタ240内のコンテナを再使用することができる。オーケストレーションエンジン220は、各データ変換ループアプリケーションの各アプリケーションマスタ241の状態を管理することができ、各アプリケーションマスタ241は、関連するデータ変換インスタンス242の状態を管理することができる。アプリケーションマスタ241およびデータ変換インスタンス242は、1つ以上の高価値データオブジェクトを双時間データベース210内の対応するデータに同期させることができる。
Applications for the big data analytics system can be created and managed by implementing the
特定の例において、システム200は、クラウドベースSaaSシステム用のビッグデータ解析アプリケーションに対応することができる。例えば、パブリッククラウド内の各テナント型アプリケーションSaaSシステムは、1つ以上の仮想化技術を使用するポッドまたは仮想マシンとデータベースインスタンスとの集合体として実装することができる。アプリケーションSaaSのポッド規模のモデルは、マシンデータの論理的なクラスタリングを可能にし、同一ポッド内のデータストリームを結合および相関させるためのデータ局所性を利用することができるという解析利点を有する。この環境において、各ポッドのデータストリーム(各センサが1つのデータストリームを提供する)の数は、ポッドの数が連続的に増加することにつれて、増加する。データストリームは、例えば、WebLogicサーバログ、Java仮想マシン(JVM)ガベージコレクタログ、JVMスレッドダンプログ、HTTPアクセスログ、オペレーティングシステム監視ログ、ネットワークデバイスログ、データベースログなどを含むことができる。データストリームは、例えば、一組のHBaseテーブ
ルおよびHDFSフォルダに格納することができる。いくつかの例において、横行キーのプレフィックスにおけるポッド名の32桁のMD5摘要を用いて、HBaseテーブル内の領域を
分割することによって、各ポッドの全てのデータストリームを同一HBase領域サーバに併
置することができる。縦列セル内のデータストリームは、閾値より大きくなると、HDFSファイルにオフロードされてもよい。抽出変換ロード(ETL)操作は、MapReduceのマッ
パーによって実行され、マッパーとHBase領域サーバとの間のデータローカル類似性によ
って、同一ポッドのHDFSファイルとHBase領域を同一のデータノードまたはHBase領域サーバの同一場所に配置することができる。この例で説明するデータ編成は、ループアプリケーション、データ変換操作、HBase領域およびHDFSデータノード用のアプリケーションマ
スタ241の間のデータローカルおよび比較的小さい比率のラックローカル計算を可能にすることができる。さらに、このような例において、オーケストレーションエンジン220およびアプリケーションマスタ241は、動的実体モデルを用いて、HADOOPクラスタ240を有する計算ノードを選択して、データローカルアプリケーションマスタ241およびコンテナを起動することができる。
In a particular example,
上記の例におけるアプリケーションSaaSの動的実体モデルは、顧客ポッドと、仮想マシンに配置されたアプリケーションと、サーバのクラスタ内の物理計算ノードに配置された
仮想マシンと、サーバ内の物理データノードに配置されたデータベースと、スレッドセグメント、スレッドクラスおよび/またはスレッドクラス間の依存関係に従って定期的なスレッドダンプ内の高強度スタックトレースの動的分類によって発見された実体との間の関係を表すことができる。依存関係は、スレッド間のスレッド間およびプロセス間の交信を取り込むことができる。したがって、スタックトレース分類モデルを実体モデルに追加することができる。上述したように、動的実体モデルは、時間データベース(例えば、双時間データベースまたは他の多時間データベース)によって管理されてもよい。
The dynamic entity model for the application SaaS in the above example is customer pods, applications deployed on virtual machines, virtual machines deployed on physical compute nodes within a cluster of servers, and physical data nodes deployed on servers. and entities discovered by dynamic classification of high-intensity stack traces in periodic thread dumps according to thread segments, thread classes and/or dependencies between thread classes. . Dependencies can capture inter-thread and inter-process communication between threads. Therefore, a stack trace classification model can be added to the entity model. As noted above, the dynamic entity model may be managed by a temporal database (eg, a bitemporal database or other multitemporal database).
図3を参照して、多時間データベース内のフィルタクエリに基づいて、データオブジェクト変換処理を呼び出すためのプロセスを示すフローチャートが示される。以下で説明するように、このプロセスにおけるステップは、システム200内の1つ以上の構成要素、例えば、双時間データベース210、オーケストレーションエンジン220およびリソースマネージャ230などによって実行されてもよい。しかしながら、理解すべきことは、多時間データベースの維持および更新、多時間データベース上のフィルタクエリの評価およびフィルタクエリ評価に基づく変換処理の呼び出しを含む本明細書に記載の技術は、上述した特定のシステムおよびハードウェア実装に限定される必要がなく、ハードウェア要素、ソフトウェア要素およびネットワーク要素の他の組み合わせを含む他のハードウェアおよびシステム環境内に行うこともできることである。さらに、例示では、データベースデータの更新に基づいてプロセス300を実行するが、変換オブジェクトおよび/またはフィルタオブジェクトに対する更新に応答して、同様のプロセスおよび技術を実行することもできる。
Referring to FIG. 3, a flow chart illustrating the process for invoking data object transformation processing based on filter queries in a multi-time database is shown. As described below, the steps in this process may be performed by one or more components within
ステップ301において、例えば、データ駆動型アプリケーションに関連するデータストアおよび/またはデータ管理装置から、データベースの更新を受信することができる。例えば、1つ以上のデータ更新を含むデータベーストランザクションは、双時間データベース210上で開始されてもよく、オーケストレーションエンジン220、HADOOPクラスタ240または他のデータソースを介して受信されてもよい。ステップ301で受信した更新データは、図1のデータオブジェクトを参照して上述した様々なデータタイプ(例えば、非構造化対話、フォーム入力、装置から収集された量的な測定値、イベントストリームデータ、XML、またはテキストドキュメント)のいずれかに対応する構造化、非構造化および/または半構造化データを含むことができる。様々な実施形態において、受信したデータは、例えば、Java仮想マシンのガベージコレクタからのデータストリーム、定期的なスレッドダンプからのスタックトレース、メモリヒープダンプ、およびデータベースAWRレポートなどを表すことができる。
At
ステップ302において、ステップ301で受信したデータ更新を反映するように、1つ以上の多時間データベースを更新することができる。例えば、双時間データベース210において、更新データは、更新データのトランザクション時間および/または有効時間を含む適切なデータベース構造に書き込むことができる。受信データに関連するトランザクション時間は、データが真であると考えられる1つ以上の時間範囲に対応することができる。有効時間は、受信データがモデル化されたシステムに対して実際に真である時間範囲に対応することができる。例えば、トランザクション時間および有効時間の一方または両方は、ステップ301で受信したデータに含まれてもよい。代替的には、トランザクション時間および/または有効時間は、例えば、オーケストレーションエンジン220によって、受信データに対して動的に決定されてもよい。場合によって、受信データの有効時間は、データに関連するオブジェクトのライフサイクルまたはデータベースのライフサイクルによって、定められてもよい。さらに、特定のオブジェクトは、複数の有効時間を含むことができる。例えば、特徴ベクトルは、異なっており且つ潜在的に重畳する有効時間を有する複数の特徴を含むことができる。この場合、特徴ベクトルの有効時間は、全ての関連特徴の有効時間の共通部分であってもよい。
At
いくつかの実施形態において、本明細書に記載のシステム、ソフトウェアフレームワークおよび/または実行モデルは、各データオブジェクト(例えば、図1に示す全ての第1タイプから第4タイプのデータオブジェクト)の有効時間、およびデータが永続的になるまたは回復可能になるまたは他の回復可能なトランザクションに可視になるときのトランザクション時間を追跡することができる。これらのシステムは、有効時間およびトランザクションの両方を追跡することによって、異なる時間でデータオブジェクトインスタンスのデータ値を決定することができ、データオブジェクトインスタンスに行われた過去変更の理由を決定することができる。例えば、第4タイプのデータオブジェクト(例えば、指令タイプのデータオブジェクト)の場合、第4タイプのデータオブジェクトの基礎となっている異なる第1タイプ~第3タイプのデータオブジェクトは、形式上、第4タイプのデータオブジェクトに関連する可能性がある。したがって、オーケストレーションエンジン220または他のシステム要素は、第4タイプのデータオブジェクトの現在のバージョンを生成した時点で、第4タイプのデータオブジェクトに関連する利用可能な第1タイプ~第3タイプデータオブジェクトを遡及的に決定することができる。時間経過と共に、新しいデータは、実行モデル内の様々な第1タイプ~第4タイプのデータオブジェクトに対する更新の形で、潜在的にはループアプリケーション内に以前に生成された指令および類似データの結果として利用可能である。この新しいデータは、新しいデータが利用可能になる(例えば、回復可能になるまたは他の回復可能なトランザクションに可視になる)ときの異なるトランザクション時間における過去の有効時間で、異なるオブジェクト/データ状態に遡及的に適用することができる。
In some embodiments, the systems, software frameworks and/or execution models described herein provide a valid Time and transaction time when data becomes persistent or recoverable or visible to other recoverable transactions can be tracked. By tracking both valid times and transactions, these systems can determine the data values of data object instances at different times and can determine the reasons for past changes made to data object instances. . For example, for a fourth type data object (eg, a directive type data object), the different first through third type data objects underlying the fourth type data object are formally called the fourth type data object. may be associated with data objects of type Thus, at the
したがって、過去データに基づいて後続の変換処理を実行した後にデータに生じた任意の変更/更新は、非因果的なものとして分離することができ、変換処理に形式上関連する有効時間でデータ変更を遡及的に適用できるとしても、データ変更のトランザクション時間を用いて記述することができる。後に取得され、データ変換処理の能力に影響を与える可能性のあるデータ更新は、取得する前に既に存在した場合、データ変換処理の非因果的ものとして明確に特定することができる。これらの後に取得されたデータ更新は、様々なデータビュー、レポートまたは解析から除去され、データ変換処理結果の基礎となる基礎データに混乱を招くことはない。システムは、任意の時点で、特定のデータ変換処理を開始した理由、および結果(例えば、更新した第2タイプのデータオブジェクトインスタンス)を生成するためにデータ変換処理(例えば、1つ以上の第1タイプのデータオブジェクトインスタンス)に利用可能な基礎データを推定することができる。これらの遡及解析は、後のトランザクション時間でデータを修正する前に、先のトランザクション時間で様々なデータをコールすることによって、行うことができる。特定の実施形態において、双時間出所性能は、特定の規制要件を満たすために使用され得る。 Therefore, any changes/updates that occur to the data after performing a subsequent transformation process based on past data can be isolated as non-causal, and the data changes at the validity time formally related to the transformation process. can be applied retrospectively, it can be described using the transaction time of data modification. Data updates that are acquired later and that may affect the performance of the data transformation process can be clearly identified as non-causal of the data transformation process if they already existed prior to their acquisition. These subsequently obtained data updates are removed from various data views, reports or analyses, and do not disrupt the underlying data underlying the data transformation process results. At any point in time, the system can determine why a particular data transformation process was initiated, and data transformation processes (e.g., one or more first data object instances) to produce results (e.g., updated data object instances of the second type). The underlying data available for a data object instance of type) can be deduced. These retrospective analyzes can be done by calling various data at an earlier transaction time before modifying the data at a later transaction time. In certain embodiments, bi-time source performance may be used to meet specific regulatory requirements.
ステップ303において、ステップ302で多時間データベースに対して行われた更新に基づいて、1つ以上のフィルタクエリを特定する。フィルタクエリは、多時間データベース内のデータ変更状態を追跡および管理するために使用される任意の技術およびメカニズムを含むことができる。例えば、フィルタクエリは、双時間データベース210内の式フィルタ、登録クエリ、トリガおよび連続クエリ通知などのデータベース構成を含むことができる。また、フィルタクエリは、オーケストレーションエンジン220および/または他のシステム要素内に実装された前方連鎖データおよび/または後方連鎖データの抽出ルールを含むことができる。これらの前方連鎖データおよび/または後方連鎖データは、複数の推論エンジンおよび/または時系列アルゴリズムを統合することができる。一部のフィルタクエリ、例えば、式フィルタおよび登録クエリは、1つ以上のデータベースシステム内に完全に実装されてもよく、他のフィルタクエリ、例えば、オーケストレーションエンジン220または他のシステム要素の内部に実行するデータベースアクセスソフトウェアは、データベースの外部に部分的または全体的に実装されてもよい。
At
この例において、多時間データベースにおける一組の基礎データの変更に応答して、通知を提供しおよび/または特定の処理を実行するように、フィルタクエリを設計および実装することができる。場合によって、フィルタクエリは、関係データベーステーブルの1つ以上の列に関連する条件式に対応してもよい。例えば、フィルタクエリは、目標の行を特定するために、ステップ303のデータ更新による入来データと、データベースの列に格納された式とをマッチングすることができる。場合によって、フィルタクエリは、単純化SQLクエリの基礎データがデータベース内で変化するたびに、通知を提供するまたは機能を実行する単純化SQLクエリに対応してもよい。例えば、SQLクエリの結果がデータベース内の4つの別々の基礎データ要素に依存する場合、フィルタクエリは、いずれかの基礎データ要素がデータベース内で変化するたびに、通知を生成しまたはプロセスを実行することができる。場合によって、フィルタクエリは、SQLクエリまたは他のデータ駆動型プロセスの結果が変化したことを確実に判定するのでなく、結果の基礎となるデータの変化により、SQLクエリまたは他のデータ駆動型プロセスが潜在的に変化し得ることを判定することができる。別の場合において、次回に更新データを用いてSQLクエリまたは他のデータ駆動型プロセスを実行するときに、フィルタクエリは、SQLクエリまたは他のデータ駆動型プロセスの結果が確実に変化することを判定することができる。
In this example, filter queries can be designed and implemented to provide notifications and/or perform specific actions in response to changes in the set of underlying data in the multi-time database. In some cases, a filter query may correspond to a conditional expression relating to one or more columns of a relational database table. For example, a filter query can match incoming data from the data update of
ステップ304において、多時間データベース内の更新データに関連する1つ以上のフィルタクエリを特定した後、現在時間状態の多時間データを用いて、フィルタクエリを実行することができる。したがって、ステップ301で受信した更新データおよび現在データ状態の他の多時間データベースに基づいて、フィルタクエリを実行することができる。
After identifying one or more filter queries associated with updated data in the multi-temporal database in
ステップ305において、過去時間状態の多時間データを用いて、ステップ304に実行された同様の1つ以上のフィルタクエリを実行してもよい。場合によって、過去時間状態は、関連する変換動作(または処理)を過去に実行した過去時間に対応してもよい。上述したように、フィルタクエリは、変換動作または他の自動化処理に関連付けられてもよい。例えば、例示的な実行モデル100において、フィルタクエリ101および102は、変換オブジェクト105および106を各々呼び出す時間を判断するためのガードとして機能することができる。同様に、フィルタクエリ109は、変換オブジェクト111を呼び出す時間を判断することができる。したがって、データ変換オブジェクトのインスタンスに関連付けられたフィルタクエリの場合、ステップ305で決定された過去時間状態は、データ変換オブジェクトを実行した最新時間である。ステップ305でフィルタクエリの実行に対応する過去時間状態を決定した後、データベースに記憶された双時間データ(例えば、トランザクション時間および有効時間)を用いて、過去時間のデータベースの正確なデータ状態を生成することができる。場合によって、ステップ305においてフィルタクエリを実行せず、過去時間に決定されたフィルタクエリの過去実行結果を読み出し、ステップ305に使用してもよい。
At
ステップ306において、現在時間状態のデータを用いて実行した1つ以上のフィルタクエリの結果(ステップ304)と、過去時間状態のデータを用いて実行した同様のフィルタクエリの結果(ステップ305)とを比較し、結果間の差を所定の閾値と比較する。特定の実施形態において、ファクト、知覚、仮説または指令の変更は、所定の閾値条件、方向性、特性または値を用いて、定性化または定量化することができる。閾値条件は、変換の結果を変更することができる変換オブジェクトの変更、例えば、アルゴリズムの新バージョン、バグ修正、モデルパラメータの個別化を含むことができる。フィルタクエリの実行結果の間の差が閾値に等しいまたは閾値を超える場合(306:Yes)、ステップ307でデータ変換処理を呼び出すことができる。このデータ変換処理は、図1の変換オブジェクトを参照して上記に説明したものと同様である。例えば、ステップ307で呼び出されたデータ変換処理は、例示的な実行モデル100の第1タイプ~第4タイプの変換
オブジェクトのインスタンスに対応してもよい。
At
したがって、各フィルタクエリは、関連する変換処理を実行する時間を判断するために使用されるファクト、認知結果、仮説または指令の変化の1つ以上の閾値条件、方向性、特性または値を有することができる。閾値条件、方向性、特性または値の変化が高いほど、基礎となる時間データにおける変更がより多くなり、関連する変換処理をより少なめに実行する。フィルタクエリに関連する閾値条件、方向性、特性または値は、特定の実施形態において、例えば、頻繁なデータ更新または連続的なデータ更新を受信するビッグデータ解析および他のビッグデータ駆動型アプリケーションにおいて有利であり得る。例えば、WebLogicサーバログ、Java仮想マシン(JVM)ガベージコレクタログ、JVMスレッドダンプログ、HTTPアクセスログ、オペレーティングシステム監視ログ、ネットワークデバイスログ、およびデータベースログなどの大規模なデータストリームを受信し且つ解析するように実装されたループアプリケーションにおいて、システムに受信した全ての更新データに対して変換処理を実行することは、非効率的である。この場合、フィルタクエリおよび関連する閾値条件、方向性、特性または値は、ループアプリケーション内に実行されるデータ変換処理を制限するガードとして機能することができる。その結果、基礎データがダウンストリームデータオブジェクトの著しく変更を引き起こす可能性のある程度まで変化した場合に限り、データ変換処理を行うことができる。 Therefore, each filter query shall have one or more threshold conditions, directions, characteristics or values of change in facts, perception results, hypotheses or directives used to determine when to perform the associated transformation process. can be done. The higher the change in threshold condition, directionality, property or value, the more change in the underlying time data and the less associated transform processing is performed. Threshold conditions, orientations, characteristics or values associated with filter queries are advantageous in certain embodiments, for example, in big data analytics and other big data driven applications that receive frequent or continuous data updates. can be Receive and parse large data streams such as WebLogic server logs, Java Virtual Machine (JVM) garbage collector logs, JVM thread dump logs, HTTP access logs, operating system monitor logs, network device logs, and database logs In a looping application implemented as such, it is inefficient to perform the transformation process on every update received into the system. In this case, the filter query and associated threshold conditions, orientations, properties or values can act as guards that restrict data transformation operations performed within the loop application. As a result, data transformation processing can be performed only when the underlying data has changed to the extent that it can cause significant modification of downstream data objects.
いくつかの実施形態において、例示のプロセス300の様々なステップは、異なるデータベーストランザクションにおよび/または非同期的に実行されてもよい。例えば、大量のストリーミングデータまたは他の頻繁なデータ更新を受信し且つ解析するデータ駆動型アプリケーションにおいて、一方のトランザクションで、ステップ302の多時間データベースを更新し、他方のトランザクションで、ステップ307のデータ変換処理を実施することが有利であり得る。以下で説明するように、ステップ307のデータ変換処理は、追加の反復的なループデータ更新および/または追加の変換処理を実行させる可能性がある。したがって、外部から受信したデータを用いてデータベースを更新するトランザクション(例えば、ステップ301~302)またはアプリケーションループインスタンスを開始した他のイベントを実行するトランザクションとは別個の1つ以上のトランザクション内に、データ変換および更新を行うアプリケーションループ(例えば、ステップ307および/または後続のステップ401~416)を実行することによって、一部のシステムの性能および安定性を強化することができる。したがって、いくつかの実装例において、プロセス300のステップ301および302は、1つの専用データベーストランザクションに実行されてもよく、ステップ303~307(およびこれらのステップに基づいて行われる後続のプロセス401~416)は、1つ以上の別個のトランザクションに実行されてもよい。さらに、いくつかの実施形態において、(例えば、データベースエンジンの非同期実行モードにおいて)潜在的に低速または長時間実行するループアプリケーションを非同期的に実行することができる。
In some embodiments, various steps of
図4を参照して、ループデータ変換アプリケーションの実行を示すフローチャートが示される。プロセス400内のステップは、システム200内の1つ以上の構成要素、例えば、双時間データベース210、オーケストレーションエンジン220およびリソースマネージャ230によって実行されてもよい。しかしながら、理解すべきことは、本明細書に記載の技術は、上述した特定のシステムおよびハードウェア実装に限定される必要がなく、ハードウェア要素、ソフトウェア要素およびネットワーク要素の他の組み合わせを含む他のハードウェアおよびシステム環境内に行うこともできることである。
Referring to FIG. 4, a flow chart illustrating execution of the loop data conversion application is shown. The steps within
図4に示す例示的なプロセス400は、オーケストレーションエンジン220または他のシステム要素によって実装された実行モデルであって、上述した図1の実行モデル100と同様である。この例において、例示のループプロセス400は、実行モデル100と
同様に、意図しない不確定なループの発生を回避するために、各データ変換処理を行う前にフィルタおよび閾値を実行するが、潜在的に反復するデータ変換ループおよび/または不確定なデータ変換ループであってもよい。例示的なプロセス400に使用された異なるデータオブジェクト(例えば、第1タイプの~第4タイプのデータオブジェクト)は、異なる属性または特性を有する異なるタイプのデータオブジェクトに対応してもよく、異なる変換オブジェクト(例えば第1タイプ~第4タイプの変換オブジェクト)は、1つのタイプのデータオブジェクトを別のタイプのデータオブジェクトに変換するための異なるアルゴリズムまたはシステムの実装に対応してもよい。さらに、例示的なプロセス400は、4つのタイプのデータオブジェクトおよび4つのタイプの変換オブジェクトを含むが、理解すべきことは、異なる実装例において、異なる数のデータオブジェクトおよび変換オブジェクト(例えば、2つのデータオブジェクトおよび2つの変換オブジェクト、3つのデータオブジェクトおよび3つの変換オブジェクト、...、5つのデータオブジェクトおよび5つの変換オブジェクト)を使用することができることである。
The
プロセス400は、ステップ401で開始することができる。ステップ401は、上述した変換処理を呼び出すステップ307に対応することができる。しかしながら、他の例において、プロセス400は、ステップ401で開始する必要がなく、データ変換を呼び出すステップのいずれか(例えば、ステップ401、405、409または413)、データを生成および記憶するステップのいずれか(例えば、ステップ402、406、410または414)、またはフィルタを実行するステップのいずれか(例えば、ステップ403、407、411または415)で開始することができる。上述したように、データ駆動型ループアプリケーション処理は、多時間データベース210内のデータ状態の変更、変換オブジェクトの変更(例えば、アルゴリズムの更新、新しいバージョンのソフトウェアのリリースなど)、またはフィルタオブジェクトの変更(例えば、式フィルタクエリの更新など)に基づいて開始されてもよい。データ変換オブジェクトおよび/またはフィルタクエリの更新は、古いバージョンの変換オブジェクトおよび/またはフィルタを用いて過去に計算したデータの再計算をトリガすることができる。したがって、システムデータ、変換処理またはフィルタのうち1つ以上に対する更新は、アプリケーションループ処理400の実行を開始することができる。また、場合によって、フィルタおよび/または変換オブジェクトに関連する閾値を動的に更新することができる。更新された閾値に応答して、閾値決定(例えば、ステップ404、408、412および416)のうち1つを動的に再実行することによって、アプリケーションループ処理400を起動することができる。
図5を参照して、いくつかの例示的なデータ項目の有効時間を特定するグラフが示される。グラフ500のx軸は、時間に対応する。グラフ500に標記された時間(t1~t8)の各々は、システムに発生したイベント、例えば、(例えば、変換オブジェクトインスタンスを介した)データ変換処理の実行、(例えば、データオブジェクトインスタンスを介した)データベースデータの更新、もしくは変換処理またはフィルタの更新に対応する。グラフ500のy軸は、多時間データベースにおける別個のデータ項目、例えば、上述した1つ以上のデータオブジェクトタイプのインスタンスに対応する。グラフ500の線分は、各データ項目の有効時間の範囲を示す。例えば、データD1は、時間t3とt5との間の有効データに対応し、データD2は、時間t1とt2との間の有効データに対応し、以下も同様である。この例のデータが双時間データであるため、複数の異なるデータ項目D1~D8は、異なる時間における同一のデータ(例えば、同一のデータオブジェクトインスタンス)を表すことができる。例えば、データ項目D1は、時間t3から時間t5までのデータオブジェクトインスタンスを表し、データ項目D8は、時間t5から時間t8までの同一のデータオブジェクトインスタンスを表すことができる。
Referring to FIG. 5, a graph is shown identifying the validity times of some exemplary data items. The x-axis of
グラフ500に示された有効時間データを用いて、例えば、上述したステップ305の
遡及解析を実行することができる。データ変換処理の再呼び出しまたは再実行を行うためにおよび/またはデータ駆動型ループアプリケーションに使用されるデータ、プロセスまたはフィルタを遡及的に変更するために、多時間データベース内の有効時間データを用いて、マルチデータベースの任意の過去データ状態を検索することができる。例えば、データ駆動型ループアプリケーションは、多時間データベース210内のデータ状態および/または現在時間(例えば、t8)における変換処理またはフィルタの結果および過去時間(例えば、t6)における同様のデータまたは処理を比較することができる。この例において、現在時間(t8)のデータ状態は、データ項目D3、D5、D7およびD8で構成され、過去の有効時間(t6)のデータ状態は、データ項目D3、D4、D5、D6およびD8で構成される。したがって、対応するフィルタクエリおよびデータ変換処理などは、現在時間および過去時間に実行された変換処理および処理を駆動した基礎データの状態を正確に反映することができる。
The validity time data shown in
図6を参照して、本発明の様々な実施形態を実現することができる例示的な分散システムの構成要素を示すブロック図が示される。図示の実施形態において、分散システム600は、1つ以上のネットワーク610を介して、ウェブブラウザまたは専用クライアント(例えば、Oracle(登録商標)フォーム)などのようなクライアントアプリケーションを実行および作動するように構成された1つ以上のクライアントコンピューティング装置602、604、606および608を含む。サーバ612は、ネットワーク610を介して、リモートクライアントコンピューティング装置602、604、606および608と通信可能に接続されてもよい。
Referring to FIG. 6, a block diagram illustrating components of an exemplary distributed system in which various embodiments of the present invention can be implemented is shown. In the illustrated embodiment, distributed
さまざまな実施形態において、サーバ612は、システムの1つ以上のコンポーネントによって提供される1つ以上のサービスまたは1つ以上のソフトウェアアプリケーションを実行するように構成されることができる。いくつかの実施形態において、これらのサービスは、ウェブサービスまたはクラウドサービスとして、またはSaaS(Software as a Service)モデルに基づいて、クライアントコンピューティング装置602、604、60
6および/または608のユーザに提供されてもよい。よって、クライアントコンピューティング装置602、604、606および/または608を操作するユーザは、1つ以上のクライアントアプリケーションを用いて、サーバ612と情報を交換することによって、これらのコンポーネントによって提供されたサービスを利用することができる。
In various embodiments,
6 and/or 608 users. Thus, a user operating a
図示の構成において、システム600のソフトウェア要素618、620および622は、サーバ612上に実装されている。他の実施形態において、システム600の1つ以上の構成要素および/またはこれらのコンポーネントによって提供されたサービスは、1つ以上のクライアントコンピューティング装置602、604、606および/または608によって実現されてもよい。クライアントコンピューティング装置を操作するユーザは、1つ以上のクライアントアプリケーションを用いて、これらのコンポーネントによって提供されたサービスを利用することができる。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実現されてもよい。理解すべきことは、分散システム600と異なるさまざまなシステム構成が可能であることである。したがって、図示された実施形態は、実施形態のシステムを実現するための分散システムの一例であり、限定することを意図していない。
In the illustrated configuration,
クライアントコンピューティング装置602、604、606および/または608は、例えば、Microsoft Windows Mobile(登録商標)のようなソフトウェア、および/またはiOS、Windows(登録商標)フォン、アンドロイド(登録商標)、ブラックベリー(
登録商標)10およびパームOSなどのさまざまなモバイルオペレーティングシステムを実行することができ、インターネット、電子メール、ショートメッセージサービス(SMS)、ブラックベリー(登録商標)または他の通信プロトコルが有効化された手持ち式携
帯装置(例えば、iPhone(登録商標)、携帯電話、Ipad(登録商標)、タブレット、携帯情報端末(PDA)または着用できる装置(Google Glass(登録商標)ヘッドマウントディスプレイ)であってもよい。クライアントコンピューティング装置は、例示として、Microsoft Windows(登録商標)オペレーティングシステム、Apple Macintosh(登録商標)オペレーティングシステムおよび/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む汎用のパーソナルコンピュータであってもよい。クライアントコンピューティング装置は、例えば、さまざまなGNU/Linuxオペレーティングシステム、例えば、Google(登録商標)Chrome OSを含むがこれに限定されない市販のUNIX(
登録商標)またはUNIXに類似するさまざまなオペレーティングシステムを動かすワークステーションコンピュータであってもよい。代替的にまたは追加的には、クライアントコンピューティング装置602、604、606および608は、ネットワーク610を介して通信可能なシンクライアントコンピュータ、インターネット対応のゲームシステム(例えば、Kinect(登録商標)ジェスチャ入力装置を備えるまたは備えないMicrosoft Xboxゲームコンソール)、および/またはパーソナルメッセージング装置などの他の電子機器であってもよい。
10 and Palm OS, and Internet, email, short message service (SMS), BlackBerry® or other communication protocol enabled handhelds It may be a handheld device (eg, iPhone®, mobile phone, Ipad®, tablet, personal digital assistant (PDA) or wearable device (Google Glass® head-mounted display). Client computing devices are illustratively personal computers and/or laptops running various versions of the Microsoft Windows® operating system, the Apple Macintosh® operating system and/or the Linux® operating system. The client computing device may be a general-purpose personal computer, including a computer, for example, various GNU/Linux operating systems, such as commercial UNIX (including, but not limited to, Google Chrome OS).
It may also be a workstation computer running various operating systems similar to Microsoft® or UNIX. Alternatively or additionally,
例示の分散システム600は、4つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、例えばセンサを有する装置は、サーバ612と情報を交換することができる。
Although exemplary distributed
分散システム600のネットワーク610は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、Apple Talkなどを含むがこれらに限定されないさまざまな市販プロトコルのいずれかを使用してデータ通信をサポートすることができ、当業者に熟知される任意種類のネットワークであってもよい。単なる例示として、ネットワーク610は、イーサネット(登録商標)、トークンリングおよび/またはその他に基づくローカルエリアネットワーク(LAN)であってもよい。ネットワーク610は、広域ネットワークまたはインターネットであってもよい。ネットワーク610は、仮想プライベートネットワーク(VPN)を含むがこれに限定されない仮想ネットワーク、イントラネット、エクストラネット、公衆交換電話ネットワーク(PSTN)、赤外線ネットワーク、無線ネットワーク(例えば、IEEE(Institute of Electrical and Electronic Engineers)802.11プロトコルスイート、Bluetooth(登録商標)、および/または任意の
他の無線プロトコルの下で動作するネットワーク)および/またはこれらのネットワークと他のネットワークの組み合わせを含むことができる。
The
サーバ612は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(例示として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバを含む)、サーバファーム、サーバクラスタ、または任意の他の適切な構成および/または組み合わせから構成されてもよい。さまざまな実施形態において、サーバ612は、前述の開示に記載された1つ以上のサービスまたはソフトウェアアプリケーションを動かすように構成することができる。例えば、サーバ612は、本開示の実施形態に従って上記に説明した処理を実行するためのサーバに対応することができる。
The
サーバ612は、上述したものいずれかを含むオペレーティングシステム、および任意の市販サーバオペレーティングシステムを動かすことができる。また、サーバ612は、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(共通ゲートウェイインターフェイス)サーバ、Java(登録商標)サー
バ、データベースサーバなどを含むさまざまな追加サーバアプリケーションおよび/または中間層アプリケーションのいずれかを動かすことができる。例示的なデータベースサーバは、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、IBM(登録商標)などの会社から市販されているものを含むがこれらに限定されない。
いくつかの実現例において、サーバ612は、クライアントコンピューティング装置602、604,606および608のユーザから受信したデータフィードおよび/またはイベント更新を分析および統合する1つ以上のアプリケーションを含んでもよい。例示として、データフィードおよび/またはイベント更新は、Twitter(登録商標)フィード、Facebook(登録商標)更新または1つ以上の第3情報源および連続データストリームから
受信したリアルタイム更新を含むがこれらに限定されない。リアルタイム更新は、センサデータアプリケーション、金融相場表示機、ネットワーク性能測定ツール(例えば、ネットワーク監視およびトラフィック管理アプリケーション)、ページ遷移(Clickstream)
解析ツール、自動車交通監視装置などに関連するリアルタイムイベントを含むことができる。また、サーバ612は、クライアントコンピューティング装置602、604、606および608の1つ以上の表示装置を介して、データフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含むこともできる。
In some implementations,
May include real-time events related to analytical tools, automotive traffic monitoring devices, and the like.
また、分散システム600は、1つ以上のデータベース614および616を含むこともできる。データベース614および616は、さまざまな場所に常駐することができる。例示として、1つ以上のデータベース614および616は、サーバ612の近く(および/またはその中)の非一時記憶媒体に常駐することができる。代替的には、データベース614および616は、リモートサーバ612から離れており、ネットワークに基づく接続または専用接続を介して、サーバ612と通信している。一組の実施形態において、データベース614および616は、記憶領域ネットワーク(SAN)に常駐することができる。同様に、サーバ612に寄与する機能を実行するための任意の必要なファイルは、必要に応じて、サーバ612上に/またはサーバ612から離れた場所に保存されてもよい。一組の実施形態において、データベース614および616は、例えば、Oracleにより提供されたデータベースなどの関係データベースを含むことができる。これらの関係データベースは、SQLフォーマット命令に応じて、データを取得、保存および更新するように構成されている。
Distributed
図7を参照して、サービスをクラウドサービスとして提供することができるシステム環境の構成要素を示すブロック図が示される。図示の実施形態において、システム環境700は、1つ以上のクライアントコンピューティング装置704、706および708を含む。ユーザは、クライアントコンピューティング装置を用いて、クラウドサービスを提供するクラウドインフラストラクチャシステム702と情報を交換することができる。クライアントコンピューティング装置は、ウェブブラウザ、専用クライアントアプリケーション(例えば、Oracleフォーム)または他のアプリケーションなどのクライアントアプリケーションを作動するように構成されることができる。ユーザは、クライアントアプリケーションを用いてクラウドインフラストラクチャシステム702と情報を交換することによって、クラウドインフラストラクチャシステム702により提供されたサービスを利用することができる。
Referring to FIG. 7, a block diagram illustrating components of a system environment in which services can be provided as cloud services is shown. In the illustrated embodiment,
理解すべきことは、図示のクラウドインフラストラクチャシステム702は、図示された構成要素以外の構成要素を備えてもよいことである。さらに、図示の実施形態は、本発明の実施形態を組み込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態において、クラウドインフラストラクチャシステム702は、図示よりも多いまたは少ない構成要素を有してもよく、2つ以上の構成要素を組み合わせてもよく、または異なる構成または配置の構成要素を有してもよい。
It should be understood that the illustrated
クライアントコンピューティング装置704、706および708は、上述したクライアントコンピューティング装置602、604、606および608と同様であってもよい。
例示的なシステム環境700は、3つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、例えば、センサを有する装置は、クラウドインフラストラクチャシステム702と情報を交換することができる。
Although illustrated with three client computing devices,
ネットワーク710は、クライアント704、706および708とクラウドインフラストラクチャシステム702との間のデータの通信および交換を促進することができる。各ネットワークは、上記でネットワーク1310に関して説明したプロトコルをさまざまな市販プロトコルのいずれかを用いてデータ通信をサポートすることができ、当業者に熟知する任意種類のネットワークであってもよい。
Network 710 may facilitate communication and exchange of data between
クラウドインフラストラクチャシステム702は、上記でサーバ1312に関して説明した構成要素を含み得る1つ以上のコンピュータおよび/またはサーバを含むことができる。
特定の実施形態において、クラウドインフラストラクチャシステムによって提供されたサービスは、需要に応じて、クラウドインフラストラクチャシステムからユーザに提供できるオンラインデータの記憶およびバックアップ、ウェブベースの電子メールサービス、ホストされたオフィススイートおよび文章連携サービス、データベース処理、管理できる技術サポートサービスなどの多くのサービスを含んでよい。クラウドインフラストラクチャシステムによって提供されるサービスは、ユーザのニーズを満たすように動的に拡張できる。クラウドインフラストラクチャシステムによって提供されたサービスの特定の例示は、本明細書において、「サービスインスタンス」と呼ばれる。一般的には、インターネットなどの通信ネットワークを介して、クラウドサービスプロバイダのシステムからユーザに提供できる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客のオンプレミスサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションをホストすることができ、ユーザは、必要に応じて、インターネットなどの通信ネットワークを介して、アプリケーションを注文し、使用することができる。 In certain embodiments, the services provided by the cloud infrastructure system include online data storage and backup, web-based email services, hosted office suites that can be provided to users from the cloud infrastructure system on demand. and may include many services such as document collaboration services, database processing, manageable technical support services, and so on. Services provided by cloud infrastructure systems can be dynamically expanded to meet user needs. A specific instance of a service provided by a cloud infrastructure system is referred to herein as a "service instance." Generally, any service that can be provided to users from a cloud service provider's system over a communication network such as the Internet is referred to as a "cloud service." Typically, in public cloud environments, the servers and systems that make up the cloud service provider's system are different from the customer's on-premise servers and systems. For example, a cloud service provider's system can host the application, and users can order and use the application over a communication network, such as the Internet, as desired.
いくつかの例において、コンピュータネットワーククラウドインフラストラクチャ内のサービスは、保護されたコンピュータネットワークのストレージアクセス、ホストされたデータベース、ホストされたウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダによってユーザに提供された他のサービス、または当該技術分野に知られている他のサービスを含むことができる。たとえば、サービスは、インターネットを介して、クラウド上のリモートストレージに対して、パスワードにより保護されたアクセスを含むことができる。別の例として、サービスは、ウェブサービスにホストされている関係データベースおよびネットワーク上の開発者により私的使用のためのスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされている電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。 In some instances, services within a computer network cloud infrastructure may include secure computer network storage access, hosted databases, hosted web servers, software applications, or other services provided to users by cloud vendors. services, or other services known in the art. For example, a service may include password-protected access to remote storage on the cloud over the Internet. As another example, a service may include a relational database hosted on a web service and a scripting language middleware engine for private use by developers on the network. As another example, a service may include access to an email software application hosted on a cloud vendor's website.
特定の実施形態において、クラウドインフラストラクチャシステム702は、セルフサービスのサブスクリプションに基づく、柔軟なスケーラビリティ、信頼性、高可用性およ
び安全性を有する方法で、顧客に提供できる一連のアプリケーション、ミドルウェアおよびデータベースサービスを含むことができる。このようなクラウドインフラストラクチャシステムの例示として、本願譲受人により提供されたOracleパブリッククラウドが挙げられる。
In certain embodiments, the
さまざまな実施形態において、クラウドインフラストラクチャシステム702は、顧客から申込んだクラウドインフラストラクチャシステム702のサービスを自動的に提供、管理および追跡するように構成されることができる。クラウドインフラストラクチャシステム702は、さまざまな展開モデルを介して、クラウドサービスを提供することができる。たとえば、サービスは、クラウドサービスを販売する組織に所有された(たとえば、Oracleに所有された)クラウドインフラストラクチャシステム702を有するパブリッククラウドモデルで提供され、一般人または異なる業界の企業に利用されることができる。別の例として、サービスは、単一の組織に専用されたクラウドインフラストラクチャシステム702を有するプライベートクラウドモデルで提供され、組織内の1つ以上の実体に利用されることができる。また、クラウドサービスは、集団クラウドモデルで提供されてもよい。よって、クラウドインフラストラクチャシステム702およびクラウドインフラストラクチャシステム702により提供されたサービスは、関連する集団内の複数の組織によって共有される。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせからなるハイブリッドクラウドモデルで提供されてもよい。
In various embodiments,
いくつかの実施形態において、クラウドインフラストラクチャシステム702によって提供されたサービスは、SaaS(Software as a Service)カテゴリ、PaaS(Platform as a
Service)カテゴリ、IaaS(Infrastructure as a Service)カテゴリ、またはハイブリ
ッドサービスを含む他のカテゴリのサービスに準拠して提供された1つ以上のサービスを含むことができる。顧客は、サブスクリプションの申込みによって、クラウドインフラストラクチャシステム702によって提供された1つ以上のサービスを注文することができる。これに応じて、クラウドインフラストラクチャシステム702は、顧客のサブスクリプション申込書に含まれたサービスを提供する処理を行う。
In some embodiments, the services provided by the
Service) category, Infrastructure as a Service (IaaS) category, or one or more services provided pursuant to other categories of services, including hybrid services. A customer may order one or more services provided by
いくつかの実施形態において、クラウドインフラストラクチャシステム702によって提供されたサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含むがこれらに限定されない。いくつかの例において、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合の開発および展開プラットフォーム上でオンデマンドアプリケーションのスイートを構築し、提供するように、機能することができる。SaaSプラットフォームは、SaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。SaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。例示としては、販売実績管理、企業統合、および大規模組織のビジネス柔軟性に対する解決策を提供するサービスを含むがこれらに限定されない。
In some embodiments, services provided by
いくつかの実施形態において、プラットフォームサービスは、PaaSプラットフォームを介してクラウドインフラストラクチャシステムによって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例としては、共有されている共通アーキテクチャ上で既存のアプリケーションを統合する能力、およびプラットフォームにより提供された共有サ
ービスを活用する新規アプリケーションを構築する能力を組織(たとえば、Oracle)に与えるサービスを含むがこれに限定されない。PaaSプラットフォームは、PaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。プラットフォームサービスの例としては、Oracle Javaクラウ
ドサービス(JCS)、Oracleデータベースクラウドサービス(DBCS)およびその他を含むがこれらに限定されない。
In some embodiments, platform services may be provided by a cloud infrastructure system via a PaaS platform. A PaaS platform may be configured to provide cloud services that comply with the PaaS category. Examples of platform services are services that give an organization (e.g., Oracle) the ability to integrate existing applications on a shared common architecture and to build new applications that leverage the shared services provided by the platform. including but not limited to. A PaaS platform can manage and control the underlying software and infrastructure to provide PaaS services. Customers can use applications running on cloud infrastructure systems. Customers can acquire application services without having to purchase separate licenses and support. A variety of different SaaS services can be offered. Examples of platform services include, but are not limited to, Oracle Java Cloud Service (JCS), Oracle Database Cloud Service (DBCS) and others.
PaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムにサポートされているプログラミング言語およびツールを利用することができ、展開されたサービスを制御することができる。いくつかの実施形態において、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(たとえば、Oracle Fusionミドルウェアサービス)、およびJavaクラウドサービスを含むこ
とができる。一実施形態において、データベースクラウドサービスは、データベースリソースを蓄積する能力を組織に与えることができる共有サービス展開モデルをサポートすることができ、DBaaS(Database as a Service)をクラウドデータベースとして顧客に提供することができる。ミドルウェアクラウドサービスは、クラウドインフラストラクチャシステム上でさまざまなビジネスアプリケーションを開発および展開するためのプラットフォームを顧客に提供することができ、Javaクラウドサービスは、クラウドインフラストラクチャシステム上でJavaアプリケーションを展開するためのプラットフォームを顧客に提供することができる。
By using the services provided by the PaaS platform, customers can use the programming languages and tools supported by the cloud infrastructure system and control the deployed services. In some embodiments, platform services provided by the cloud infrastructure system may include database cloud services, middleware cloud services (eg, Oracle Fusion middleware services), and Java cloud services. In one embodiment, the database cloud service can support a shared service deployment model that can give organizations the ability to accumulate database resources and offer DBaaS (Database as a Service) as a cloud database to customers. can be done. Middleware cloud services can provide customers with a platform for developing and deploying various business applications on cloud infrastructure systems, and Java cloud services are for deploying Java applications on cloud infrastructure systems. You can provide the platform to your customers.
種々の異なるインフラストラクチャサービスは、IaaSプラットフォームによって、クラウドインフラストラクチャシステムに提供されてもよい。これらのインフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームにより提供されたサービスを利用する顧客のために、ストレージ、ネットワークおよびその他の基本的なコンピューティングリソースとしての基礎コンピューティングリソースの管理と制御を容易にする。 A variety of different infrastructure services may be provided to the cloud infrastructure system by the IaaS platform. These infrastructure services facilitate the management and control of underlying computing resources such as storage, networks and other basic computing resources for customers using services provided by SaaS and PaaS platforms. do.
特定の実施形態において、クラウドインフラストラクチャシステム702はまた、クラウドインフラストラクチャシステムを利用する顧客に、さまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース730を含むことができる。一実施形態において、インフラストラクチャリソース730は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されたサービスを実行するために、事前に統合され且つ最適化されたサーバリソース、ストレージリソースおよびネットワークリソースなどのハードウェアの組み合わせを含んでもよい。
In particular embodiments,
いくつかの実施形態において、クラウドインフラストラクチャシステム702内のリソースは、複数のユーザに共有されることができ、各々の需要に応じて動的に再割当てることができる。また、リソースは、異なるタイムゾーンでユーザに割当てることができる。たとえば、クラウドインフラストラクチャシステム730は、指定時間内でクラウドインフラストラクチャシステムのリソースを第一時間帯における第一グループのユーザに利用させ、その後、同様のリソースを異なる時間帯における別のグループのユーザに再配分することができ、リソースを最大に利用する。
In some embodiments, resources within the
特定の実施形態において、複数の内部共有サービス732は、提供され、クラウドインフラストラクチャシステム702の異なる構成要素またはモジュールに共有されおよびク
ラウドインフラストラクチャシステム702によって提供されたサービスに共有されることができる。これらの内部共有サービスは、安全性および識別サービス、統合サービス、企業リポジトリサービス、企業管理サービス、ウイルススキャンおよびホワイトリストサービス、高可用性のバックアップおよびリカバリサービス、クラウドサポートを可能にするサービス、メールサービス、通知サービス、およびファイル転送サービスなどを含むがこれらに限定されない。
In certain embodiments, multiple internal shared
特定の実施形態において、クラウドインフラストラクチャシステム702は、クラウドインフラストラクチャシステム内のクラウドサービス(たとえば、SaaSサービス、PaaSサービスおよびIaaSサービス)を包括的に管理する機能を提供することができる。一実施形態において、クラウド管理機能は、クラウドインフラストラクチャシステム702などによって受信した顧客のサブスクリプションを提供、管理、および追跡する機能を含んでもよい。
In particular embodiments,
一実施形態において、図示のように、クラウド管理機能は、1つ以上のモジュール、たとえば、オーダー管理モジュール720、オーダーオーケストレーションモジュール722、オーダー支給モジュール724、オーダー管理および監視モジュール726、およびID管理モジュール728によって提供される。これらのモジュールは、1つ以上のコンピュータおよび/またはサーバを含んでもよく、これらを用いて形成されてもよい。これらのコンピュータおよび/またはサーバは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な配置および/またはこれらの組み合わせであってもよい。
In one embodiment, as shown, the cloud management function includes one or more modules, such as an
例示的な操作734において、顧客は、クライアント装置、たとえば、クライアント装置704、706または708を使用して、クラウドインフラストラクチャシステム702により提供された1つ以上のサービスをリクエストし、クラウドインフラストラクチャシステム702によって提供された1つ以上のサービスをオーダーすることによって、クラウドインフラストラクチャシステム702と情報を交換することができる。特定の実施形態において、顧客は、クラウドユーザインターフェイス(UI)、クラウドUI712、クラウドUI714および/またはクラウドUI716にアクセスし、これらのUIを介して、サブスクリプションをオーダーすることができる。クラウドインフラストラクチャシステム702が顧客のオーダーに応答して受信したオーダー情報は、顧客と、クラウドインフラストラクチャシステム702により提供され、顧客が購読しようとする1つ以上のサービスとを識別する情報を含むことができる。
At exemplary operation 734, the customer uses a client device, e.g.,
顧客がオーダーした後、オーダー情報は、クラウドUI712、714および/または716を介して受信される。
After the customer places an order, the order information is received via
操作736において、オーダーは、オーダーデータベース718に保存される。オーダーデータベース718は、クラウドインフラストラクチャシステム718によって操作され、または他のシステム要素と連動して操作されるいくつかのデータベースのうち1つであってもよい。
At
操作738において、オーダー情報は、オーダー管理モジュール720に転送される。いくつかの例において、オーダー管理モジュール720は、オーダーに関連する請求および会計機能、たとえば、オーダーの確認、および確認後オーダーの記入を実行するように構成されてもよい。
At
操作740において、オーダーに関する情報は、オーダーオーケストレーションモジュール722に伝達される。オーダーオーケストレーションモジュール722は、オーダー
情報を利用して、顧客がオーダーしたサービスおよびリソースの提供を用意する。いくつかの例において、オーダーオーケストレーションモジュール722は、オーダー支給モジュール724のサービスを用いて、オーダーしたサービスをサポートするように、リソースの提供を用意することができる。
At
特定の実施形態において、オーダーオーケストレーションモジュール722は、各オーダーに関連したビジネスプロセスを管理することができ、ビジネスロジックを適用することによって、オーダーに対して支給をするか否かを判断することができる。操作742において、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール722は、リソースを割当て、サブスクリプションオーダーを満たすために必要なリソースを構成するように、リクエストをオーダー支給モジュール724に送信する。オーダー支給モジュール724は、顧客がオーダーしたサービス用のリソースを割当てることができる。オーダー支給モジュール724は、クラウドインフラストラクチャシステム700により提供されたクラウドサービスと、リクエストされたサービスを提供するためのリソースを供給するために使用される物理的な実装層との間の抽象化レベルを形成する。このように、オーダーオーケストレーションモジュール722は、たとえば、サービスおよびリソースをその場で支給するかまたは事前に支給するか、リクエストに応じて割当てる/与えるかなどの実装詳細から単離することができる。
In particular embodiments, the
操作744において、サービスおよびリソースを支給した後、クラウドインフラストラクチャシステム702のオーダー支給モジュール724は、提供されるサービスの通知をクライアント装置704、706および/または708の顧客に送信することができる。
At
操作746において、オーダー管理および監視モジュール726は、顧客のサブスクリプションオーダーを管理および追跡することができる。いくつかの例において、オーダー管理および監視モジュール726は、サブスクリプションオーダー内のサービスの利用統計、たとえば、ストレージの使用量、データの転送量、ユーザの数、システムの起動時間およびシステムの停止時間を収集するように構成されることができる。
At
特定の実施形態において、クラウドインフラストラクチャシステム700は、ID管理モジュール728を含むことができる。ID管理モジュール728は、クラウドインフラストラクチャシステム700に、識別サービス、たとえば、アクセス管理および認可サービスを提供するように構成することができる。いくつかの実施形態において、ID管理モジュール728は、クラウドインフラストラクチャシステム702によって提供されたサービスを利用したい顧客に関する情報を制御することができる。このような情報は、顧客のIDを承認する情報、およびさまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対して許可された顧客の実行権限を記載する情報を含むことができる。ID管理モジュール728は、各顧客に関する記述情報、記述情報にアクセスおよび変更する方法、および記述情報にアクセスおよび変更した顧客に対する管理を含むことができる。
In certain embodiments,
図8を参照して、本発明の実施形態を実施することができる例示的なコンピュータシステムを示すブロック図が示される。コンピュータシステム800を用いて、上述したコンピュータシステムのいずれかを実現することができる。図示のように、コンピュータシステム800は、バスサブシステム802を介して、複数の周辺サブシステムと連通する処理ユニット804を含む。周辺サブシステムは、処理加速ユニット806と、I/Oサブシステム808と、記憶サブシステム818と、通信サブシステム824とを含むことができる。記憶サブシステム818は、有形コンピュータ可読記憶媒体822と、システムメモリ810とを含む。
Referring to FIG. 8, a block diagram illustrating an exemplary computer system upon which embodiments of the present invention may be implemented is shown.
バスサブシステム802は、コンピュータシステム800のさまざまな構成要素およびサブシステムが必要に応じて相互通信させるための機構を形成する。バスサブシステム802を単一のバスとして概略的に示しているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。バスサブシステム802は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを備えるいくつかの種類のバス構造のいずれかを有してもよい。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス規格協会(VESA)ローカルバス、および周辺構成要素相互接続(PCI)バスを含むことができる。これらのバスは、IEEE P1386.1規格に準拠した製造されたメザニンバスとして実装することができる。
1つ以上の集積回路(たとえば、従来のマイクロプロセッサまたはマイクロコントローラ)として実装することができる処理ユニット804は、コンピュータシステム800の操作を制御する。処理ユニット804は、1つ以上のプロセッサを含むことができる。これらのプロセッサは、シングルコアプロセッサであってもよく、マルチコアプロセッサであってもよい。特定の実施形態において、処理ユニット804は、各々シングルコアプロセッサまたはマルチコアプロセッサを備える1つ以上の独立した処理ユニット832および/または834として実装されてもよい。他の実施形態において、処理ユニット804は、2つのデュアルコア(dual-core)プロセッサを単一のチップに集積することにより
形成されたクアッドコア(Quad-core)処理ユニットとして実装されてもよい。
A processing unit 804 , which may be implemented as one or more integrated circuits (eg, a conventional microprocessor or microcontroller), controls the operation of
さまざまな実施形態において、処理ユニット804は、プログラムコードに応じてさまざまなプログラムを実行することができ、複数のプログラムまたはプロセスを同時に実行することができる。任意の時点で、実行されるプログラムコードの一部または全てをプロセッサ804および/または記憶サブシステム818に常駐することができる。適切なプログラミングによって、プロセッサ804は、上述したさまざまな機能を提供することができる。コンピュータシステム800は、デジタルシグナルプロセッサ(DSP)および専
用プロセッサなどを含むことができる処理加速ユニット806をさらに備えてもよい。
In various embodiments, processing unit 804 may execute various programs in response to program code, and may execute multiple programs or processes simultaneously. Some or all of the executed program code may reside in processor 804 and/or
I/Oサブシステム808は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含むことができる。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声命令認識システムを備える音声入力装置、マイクロフォン、および他の種類の入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、Microsoft Kinect(登録商標)モーションセンサのようなモーション検知および/またはジェスチャ認識装置を含んでもよい。Microsoft Kinect(登録商標)モーションセンサは、ジェスチャおよび音声命令を利用する自然ユーザインターフェース(NUI)を介して、Microsoft Xbox(登録商標)360ゲームコントローラなどの入力装置を制御することができ、それと対話することができる。また、ユーザインターフェイス入力装置は、Google Glass(登録商標)瞬き検出器のような眼球ジェスチャ認識装置を含むことができる。Google Glass(登録商標)瞬き検出器は、ユーザの眼球活動(たとえば、写真を撮るときおよび/またはメニューを選択するときの「瞬き」)を検出し、眼球活動を入力装置(たとえば、Google Glass(登録商標))に入力する入力に変換する。さらに、ユーザインターフェイス入力装置は、音声命令を介してユーザと音声認識システム(たとえば、Siri(登録商標)ナビゲータ)との対話を可能にする音声認識検出装置を含んでもよい。
The I/
また、ユーザインターフェイス入力装置は、三次元(3D)マウス、ジョイスティック
またはポインティングスティック、ゲームパッド、グラフィックタブレット、スピーカなどのオーディオ/ビジュアル装置、デジタルカメラ、デジタルビデオカメラ、ポータブルメディアプレーヤ、ウェブカメラ、イメージスキャナ、指紋スキャナ、バーコードリーダ、3Dスキャナ、3Dプリンタ、レーザ距離計、および視線追跡装置を含むがこれらに限定されない。さらに、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影装置、磁気共鳴像装置、超音波放射断層撮影装置、および医療用超音波装置などのような医用画像入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、MIDIキーボードおよび電子楽器などの音声入力装置を含んでもよい。
User interface input devices also include audio/visual devices such as three-dimensional (3D) mice, joysticks or pointing sticks, gamepads, graphics tablets, speakers, digital cameras, digital video cameras, portable media players, webcams, image scanners. , fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser rangefinders, and eye trackers. Further, user interface input devices may include medical image input devices such as, for example, computed tomography devices, magnetic resonance imaging devices, ultrasound emission tomography devices, medical ultrasound devices, and the like. User interface input devices may also include audio input devices such as, for example, MIDI keyboards and electronic musical instruments.
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、またはオーディオ出力装置などの非視覚ディスプレイを含んでもよい。ディスプレイサブシステムは、たとえば、陰極線管(CRT)、液晶ディスプレイ(LCD)またはプラズマディスプレイを使用するフラットパネル装置、投射装置またはタッチスクリーンであってもよい。一般に、「出力装置」という用語を使用する場合、コンピュータシステム800から情報をユーザまたは他のコンピュータに出力するためのすべての可能な種類の装置および機構を含むことを意図している。たとえば、ユーザインターフェイス出力装置は、文字、画像およびオーディオ/ビデオ情報を視覚的に伝達するさまざまな表示装置、たとえば、モニタ、プリンタ、スピーカ、ヘッドフォン、カーナビゲーションシステム、プロッタ、音声出力装置、およびモデムを含むがこれらに限定されない。
User interface output devices may include non-visual displays such as display subsystems, indicator lights, or audio output devices. The display subsystem may be, for example, a flat panel device using a cathode ray tube (CRT), liquid crystal display (LCD) or plasma display, a projection device or a touch screen. In general, use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from
コンピュータシステム800は、記憶サブシステム818を含むことができる。記憶サブシステム818は、ソフトウェア要素を備え、図示では、これらのソフトウェア要素は、システムメモリ1510内に配置されている。システムメモリ810は、処理ユニット804にロード可能且つ実行可能なプログラム命令、およびこれらのプログラムの実行により生成されたデータを記憶することができる。
コンピュータシステム800の構成および種類に応じて、システムメモリ810は、揮発性メモリ(たとえば、ランダムアクセスメモリ(random access memory:RAM))であってもよく、および/または、不揮発性メモリ(たとえば、読取り専用メモリ(read-only memory:ROM)、フラッシュメモリ)であってもよい。一般に、RAMは、処理ユニット804がすぐにアクセス可能なデータおよび/またはプログラムモジュール、および/または、処理ユニット804によって現在操作および実行されているデータおよび/またはプログラムモジュールを収容する。いくつかの実現例では、システムメモリ810は、スタティックランダムアクセスメモリ(static random access memory:SRAM)
またはダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)などの複数の異なる種類のメモリを含み得る。いくつかの実現例では、始動中などにコンピュータシステム800内の要素間で情報を転送することを助ける基本ルーチンを含む基本入力/出力システム(basic input/output system:BIOS)が、一般にROMに格納され得る。一例としておよび非限定的に、システムメモリ810は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、関係データベース管理システム(relational database management system:RDBMS)などを含み得るアプリケーシ
ョンプログラム812、プログラムデータ814およびオペレーティングシステム816も示す。一例として、オペレーティングシステム816は、マイクロソフトウィンドウズ(登録商標)、Apple Macintosh(登録商標)および/もしくはLinux(登録商標)
オペレーティングシステムのさまざまなバージョン、さまざまな市販のUNIX(登録商標)もしくはUNIXライクオペレーティングシステム(さまざまなGNU/Linuxオ
ペレーティングシステム、Google Chrome(登録商標)OSなどを含むが、これらに限定さ
れるものではない)、ならびに/または、iOS、Windows(登録商標)Phone、Android
(登録商標)OS、BlackBerry(登録商標)10 OSおよびパーム(登録商標)OSオペレーテ
ィングシステムなどのモバイルオペレーティングシステムを含み得る。
Depending on the configuration and type of
or may include multiple different types of memory such as dynamic random access memory (DRAM). In some implementations, a basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within
Various versions of operating systems, various commercially available UNIX or UNIX-like operating systems, including but not limited to various GNU/Linux operating systems, Google Chrome OS, etc. ) and/or iOS, Windows Phone, Android
® OS,
また、記憶サブシステム818は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形のコンピュータ可読記憶媒体を提供し得る。プロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム818に格納され得る。これらのソフトウェアモジュールまたは命令は、処理ユニット804によって実行され得る。また、記憶サブシステム818は、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。
また、記憶サブシステム810は、コンピュータ可読記憶媒体822にさらに接続可能なコンピュータ可読記憶媒体リーダ820を含み得る。コンピュータ可読記憶媒体822は、システムメモリ810と共に、または必要に応じてシステムメモリ810と組み合わせて、コンピュータ可読情報を一時的および/または永久に収容、格納、送信および検索するための記憶媒体に加えて、リモート記憶装置、ローカル記憶装置、固定的な記憶装置および/または取外し可能な記憶装置を包括的に表すことができる。
また、コードまたはコードの一部を含むコンピュータ可読記憶媒体822は、当該技術分野において公知のまたは使用される任意の適切な媒体を含み得て、当該媒体は、情報の格納および/または送信のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない記憶媒体および通信媒体を含む。これは、RAM、ROM、電子的消去書き込み可能なROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(digital versatile disk:DVD)、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または他の有形のコンピュータ可読媒体などの非一時的な有形のコンピュータ可読記憶媒体を含み得る。また、これは、データ信号、データ送信などの無形のコンピュータ可読媒体、または、所望の情報を送信するために使用可能であり且つコンピュータシステム800によってアクセス可能なその他の媒体を含み得る。
Also, a computer-
一例として、コンピュータ可読記憶媒体822は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、CD ROM、DVDおよびブルーレイ(登録商標)ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ可読記憶媒体822は、ジップ(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ可読記憶媒体822は、フラッシュメモリベースのSSD、企業向けフラッシュドライブ、ソリッドステートROMなどの不揮発性メモリに基づくソリッドステートドライブ(solid-state drive:SSD)、ソリッドステートRAM、ダイナミックRA
M、スタティックRAMなどの揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(magnetoresistive RAM:MRAM)SSD、およびDRAMとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDを含み得る。ディスクドライブおよびそれらの関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶装置をコンピュータシステム800に提供し得る。
By way of example, computer
M, SSDs based on volatile memory such as static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs, and hybrid SSDs that use a combination of DRAM and flash memory-based SSDs. The disk drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for
通信サブシステム824は、他のコンピュータシステムおよびネットワークとのインタ
ーフェイスを提供する。通信サブシステム824は、他のシステムからデータを受信したり、コンピュータシステム800から他のシステムにデータを送信するためのインターフェイスの役割を果たす。たとえば、通信サブシステム824は、コンピュータシステム800がインターネットを介して1つ以上の装置に接続することを可能にし得る。いくつかの実施例では、通信サブシステム824は、(たとえば3G、4GまたはEDGE(enhanced data rates for global evolution)などの携帯電話技術、高度データネットワーク技術を用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)トランシーバ構成要素、WiFi(IEEE1602.
11ファミリ標準または他のモバイル通信技術またはそれらの任意の組み合わせ)、全地球測位システム(global positioning system:GPS)レシーバ構成要素、および/ま
たは、他の構成要素を含み得る。いくつかの実施例では、通信サブシステム824は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続(たとえばイーサネット)を提供し得る。
Communications subsystem 824 provides an interface with other computer systems and networks. Communications subsystem 824 serves as an interface for receiving data from other systems and for transmitting data from
11 family standards or other mobile communication technologies or any combination thereof), a global positioning system (GPS) receiver component, and/or other components. In some embodiments,
また、いくつかの実施例において、通信サブシステム824は、コンピュータシステム800を使用し得る1人以上のユーザを代表して、構造化されたおよび/または構造化されていないデータフィード826、イベントストリーム828、イベント更新830などの形態で入力通信を受信し得る。
Also, in some embodiments,
一例として、通信サブシステム824は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリ(Rich Site Summary:RSS)フィ
ードなどのウェブフィードなどのデータフィード826をリアルタイムでソーシャルネットワークおよび/または他の通信サービスのユーザから受信し、および/または、1つ以上の第三者情報源からリアルタイム更新を受信するように構成され得る。
As an example, the
また、通信サブシステム824は、連続的なデータストリームの形態でデータを受信するように構成され得て、当該データは、連続的である場合もあれば本質的に明確な端部を持たない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム828および/またはイベント更新830を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
The
また、通信サブシステム824は、構造化されたおよび/または構造化されていないデータフィード826、イベントストリーム828、イベント更新830などを、コンピュータシステム800に結合された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成され得る。
コンピュータシステム800は、手持ち式携帯機器(たとえばiPhone(登録商標)携帯電話、Ipad(登録商標)計算タブレット、PDA)、ウェアラブル装置(たとえばGoogle Glass(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまな種類のうち、1つであってもよい。
コンピュータおよびネットワークが絶え間なく進化し続けるため、図示されているコンピュータシステム800の説明は、特定の例として意図されているにすぎない。図に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。例えば、ハードウェア、ファームウェア、(アプレットを含む)ソフトウェア、または組み合わせにおいて、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素が実装されてもよい。さらに、ネットワーク入力/出力装置など
の他の計算装置への接続が利用されてもよい。本明細書で提供される開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の手段および/または方法を理解するであろう。
Due to the continual evolution of computers and networks, the depicted description of
上記の説明において、例示の目的のために、特定の順序で方法を記載した。代替の実施形態において、記載された順序と異なる順序で方法を実行してもよい。また、上述した方法は、ハードウェア構成要素によって実行されてもよく、または一連の機械実行可能な命令で具体化されてもよい。機械実行可能な命令を用いて、汎用または専用プロセッサもしくは命令でプログラムされたロジック回路に指示して、方法を実行することができる。これらの機械実行可能な命令は、1つ以上の機械可読媒体またはメモリ素子、例えば、CD-ROMまたは他の種類の光ディスク、フロッピー(登録商標)ディスク、ROM、RAM、EPROM、EEPROM、磁気または光カード、フラッシュメモリ、または電子命令の記憶に適した他の種類の機械可読媒体またはメモリ素子を含む。代替的に、これらの方法は、ハードウェアおよびソフトウェアの組み合わせによって実行されてもよい。 In the above description, the methods have been described in a particular order for purposes of illustration. In alternate embodiments, the methods may be performed in a different order than the order described. Also, the methods described above may be performed by hardware components or embodied in a series of machine-executable instructions. Machine-executable instructions can be used to direct a general-purpose or special-purpose processor or logic circuit programmed with the instructions to perform the methods. These machine-executable instructions may be stored on one or more machine-readable media or memory devices, such as CD-ROM or other type of optical disk, floppy disk, ROM, RAM, EPROM, EEPROM, magnetic or optical. It includes a card, flash memory, or other type of machine-readable medium or memory device suitable for storing electronic instructions. Alternatively, these methods may be performed by a combination of hardware and software.
本明細書において本発明の例示的且つ現在好適な実施形態を詳細に説明してきたが、理解すべきことは、本発明の概念は、様々な形で具体化され使用されてもよく、添付の特許請求の範囲は、先行技術によって制限されるものを除き、これらの変形例を含むことを意図していることである。 Although illustrative and presently preferred embodiments of the invention have been described in detail herein, it is to be understood that the concepts of the invention may be embodied and used in many different forms, including the following: The claims are intended to cover these variations except as limited by the prior art.
例示的な実施形態
図9を参照して、図9は、相乗的な一貫性且つ体系化である方法で、データ、知識およびプロセスを管理するための知識集約型データベースシステム(Knowledge-Intensive Database System:KIDS)モデルの例を示している。以下で説明するように、このモデ
ルは、定量ファクトを捕捉し、ファクトを分類することによってコンパクトな定性情報を導出し、導出した情報を評価することによって1つ以上の仮説を確立し、およびこれらの仮説を使用することによって指令を策定する(または禁止指令を決定する)。得られた指令を実施することによって、新しいファクトを作成することができる。以下同様。
Exemplary Embodiments Referring to FIG. 9, FIG. 9 illustrates a Knowledge-Intensive Database System for managing data, knowledge and processes in a manner that is synergistic, consistent and organized. :KIDS) shows an example of a model. As described below, the model captures quantitative facts, derives compact qualitative information by classifying the facts, establishes one or more hypotheses by evaluating the derived information, and formulate directives (or determine prohibitive directives) by using the hypotheses of New facts can be created by implementing the resulting directives. Same below.
知識の観点から図9のKIDSモデルを見ると、CAREループ(分類(Classification)、評価(Assessment)、解決(Resolution)および実施(Enactment))は、4つの
異なるカテゴリの知識からなる。これらの4つの異なるカテゴリの知識は、特定カテゴリのデータに作用し、特定カテゴリのデータを生成する。CAREループは、正規化ワークフローを表す。データの観点から同様のモデルを見ると、FPHDループ(ファクト(Fact)、認知結果(Perception)、仮説(Hypothesis)および指令(Directive))は、4
つのタイプのデータを表す。データは、区別することなく、最新のデータベースシステムに保存されているものを記述する。形式知識は、知識を最も使用する時間および相互作用を区別することなく、記事、書籍、アプリケーションコード、ワークフロー、事件管理システムまたは判定支援システムに保存される。この欠点を補うために、CARE/FPHDループは、アプリケーションに非常に必要とされるデータ、知識、プロセス間の相互作用構造を形成する。
Looking at the KIDS model of FIG. 9 from a knowledge perspective, the CARE loop (Classification, Assessment, Resolution and Enactment) consists of four different categories of knowledge. These four different categories of knowledge act on specific categories of data to produce specific categories of data. The CARE loop represents the normalization workflow. Looking at a similar model from a data perspective, the FPHD loop (Fact, Perception, Hypothesis and Directive) has 4
Represents one type of data. Data, without distinction, describes what is stored in modern database systems. Formal knowledge is stored in articles, books, application code, workflows, case management systems or decision support systems without distinguishing between the times and interactions that use the knowledge the most. To compensate for this shortcoming, the CARE/FPHD loop creates an interaction structure between data, knowledge and processes that is sorely needed by applications.
この実施形態において、KIDSは、KIDSモデル自体、KIDSツールおよびKIDSインフラストラクチャを含むことができる。このKIDSインフラストラクチャは、4つのカテゴリのデータ、4つのカテゴリの知識、および正規化処理構造に基づいた知識およびデータの起動を管理するように設計される。現実世界で見られるように、KIDSモデルは、データ、知識およびプロセスを相互に結び付けることができる。KIDSモデルは、知識およびプロセスが互いに且つデータから離れて別々の世界に存在する現在モデルと異なる。KIDSツールを使用することによって、ユーザは、KIDSモデルに基づいて、アプリケーションを開発することができる。これらのツールは、様々な構成要素で
利用可能な既存のツールを活用し、KIDSモデルに準拠するためにサポート(制約)を追加する。KIDSインフラストラクチャは、ルール、記憶クエリ、モデル、データ変換手順および知識の使用を制御するワークフローの形で、アプリケーションの実行、データおよび知識を管理するための既存技術、特に最新のデータベースおよびアプリケーションサーバを活用する。
In this embodiment, the KIDS may include the KIDS model itself, the KIDS tools and the KIDS infrastructure. This KIDS infrastructure is designed to manage four categories of data, four categories of knowledge, and the launch of knowledge and data based on a normalization processing structure. The KIDS model can interconnect data, knowledge and processes as seen in the real world. The KIDS model differs from current models in that knowledge and processes exist in separate worlds, separate from each other and from data. By using KIDS tools, users can develop applications based on the KIDS model. These tools leverage existing tools available in various components and add support (constraints) to comply with the KIDS model. The KIDS infrastructure leverages existing technologies, particularly modern databases and application servers, for managing application execution, data and knowledge in the form of rules, storage queries, models, data transformation procedures and workflows that control the use of knowledge. use.
KIDSは、データの管理時に、進化する2つのビッグデータ技術およびCEP技術を結び付けることができる。(アドホック/バッチ環境では)ビッグデータ技術または(リアルタイム環境では)CEP技術を用いて、CAREループの分類を実装することができるが、KIDSは、これらのデータおよび知識表現を分類し、これらの技術を最新のアプリケーション構造に組み込むことによって、ビッグデータ技術およびCEP技術のうちのいずれよりも進歩している。すなわち、ビッグデータおよびCEPは、FSD(フレキシブルスキーマデータ)、多時間データベース、出所、ILM(Information Life Cycle Management:情報ライフサイクル管理)、登録クエリおよびOLAPデータキューブなど
を含むKIDSの重要な技術の中で2つの重要な基本要素である。
KIDS can combine two evolving big data and CEP technologies when managing data. While the classification of the CARE loop can be implemented using big data techniques (in ad-hoc/batch environments) or CEP techniques (in real-time environments), KIDS classifies these data and knowledge representations and It advances both big data technology and CEP technology by incorporating into modern application structures. That is, big data and CEP are among the key technologies of KIDS, including FSD (flexible schema data), multi-time databases, provenance, ILM (Information Life Cycle Management), registration queries and OLAP data cubes, etc. are two important basic elements in
様々な実施形態において、KIDSは、以下のもの、すなわち、
・データ、知識、プロセスをより良く管理するように、アプリケーションを構造化するためのモデル、
・各対が相互作用構造に特定の目的を果たす4対の相補的カテゴリを導入することによって、データ、知識および相互作用の正規化、
・ビッグデータおよびCEPの包括的な環境、
・全ての構成要素の宣言仕様、
・状態追跡、時間変遷、および出所機能、
・インフラストラクチャの改良、ユーザ規格の進化およびデータからの知識発見を介して、アプリケーションを継続的に進化させるためのモデルを提供する。
In various embodiments, KIDS is:
A model for structuring applications to better manage data, knowledge and processes;
normalization of data, knowledge and interactions by introducing four pairs of complementary categories, each pair serving a specific purpose in the interaction structure;
・Comprehensive environment for big data and CEP,
a declarative specification of all components,
state tracking, time transition, and provenance features;
• Provides a model for continuously evolving applications through infrastructure improvements, evolution of user standards and knowledge discovery from data.
使用事例-クラウド運用
クラウド運用にとって、SLA(Service Level Agreement)の準拠が重要な要件であ
り得る。SLA違反を回避する操作を可能にするまたは違反が発生した場合に問題の解決案をより迅速に提供するように、SLAの準拠は、重要な性能基準の連続監視および切迫してくるSLA違反を検出する予測診断機能を必要とする。典型的なクラウド運用は、理者側および/または顧客側のプライベートクラウド、パブリッククラウドおよびハイブリッドクラウドに位置するデータセンタ、ネットワーク、サーバマシン、仮想マシン、オペレーティングシステム、データベース、ミドルウェアおよびアプリケーションなどの数百万個のハードウェア要素およびソフトウェア要素を監視、診断および管理する必要がある。従来のIT運用のの反応性異常検出および手動診断技術は、大変な労働集約的ものであり、広範囲分野の専門知識を必要とし、応答が非常に遅いため、異常を生じた構成要素を分離および特定するではなく、システム内の大量の部品の再起動を含む不適切な応答を引き起こし、クラウドに適切に拡張できないことがある。クラウド運用は、周期サイクル、負荷傾向、負荷急増、システム応答特性および一時的グリッチのダイナミクス、劣化および老化の早期警告、および環境内の数百万個の構成要素の性能変遷を得るために、図9に示すCARE/FPHDループのようなKIDSループの快速な反復によって成長できる分野である。このようなシステムは、コンピュータ化KIDSループを介して、重要な生命徴候の連続測定、時系列分析、多変量システム状態モデル、システム応答モデル、予知異常検出、機械学習に基づく分類、自動診断および予後、判定支援、および制御能力を必要とする。
Use Case - Cloud Operations Compliance with Service Level Agreements (SLAs) can be a key requirement for cloud operations. SLA compliance involves continuous monitoring of key performance criteria and alerts of impending SLA violations to enable actions to avoid SLA violations or to provide faster problem resolution if violations occur. Requires predictive diagnostic capabilities to detect. A typical cloud operation includes hundreds of data centers, networks, server machines, virtual machines, operating systems, databases, middleware, and applications located in private, public, and hybrid clouds on the operator and/or customer side. Tens of thousands of hardware and software elements need to be monitored, diagnosed and managed. Traditional IT operational reactive anomaly detection and manual diagnostic techniques are very labor intensive, require extensive domain expertise, and respond very slowly to isolate and Rather than specific, it can cause inappropriate responses, including restarting a large number of parts in the system, and fail to scale properly to the cloud. Cloud operations use diagrams to obtain periodic cycles, load trends, load spikes, system response characteristics and transient glitch dynamics, early warnings of degradation and aging, and performance evolution of millions of components in the environment. This is an area where rapid iteration of KIDS loops, such as the CARE/FPHD loop shown in 9, can grow. Through computerized KIDS loops, such systems can provide continuous measurement of vital signs, time series analysis, multivariate system state models, system response models, predictive anomaly detection, machine learning-based classification, automated diagnosis and prognosis. , decision support, and control capabilities.
クラウドコンピューティングの基本的な前提は、物理リソースの統合およびプール化による規模効果、および、動的リソース管理によって実質的に無制限のリソースを提供する
ことである。制御システムは、動的リソース管理のほかに、動的実体モデルを管理することによって、新しいソフトウェアの頻繁なリリース、バグを修正するためのパッチ、ハードウェアのアップグレード、容量の拡張によって変化するシステムの正確な認識を提供する必要がある。
The basic premise of cloud computing is to provide virtually unlimited resources through scale effects through consolidation and pooling of physical resources, and dynamic resource management. In addition to dynamic resource management, the control system manages a dynamic entity model to keep pace with changes in the system due to frequent releases of new software, patches to fix bugs, hardware upgrades, and capacity expansion. It should provide accurate recognition.
この部分では、システム正常性を示す重要な生命徴候を含む大量のマシンデータと共に、実体モデルの複雑性を説明する。ビッグデータ解析およびリアルタイムCEP技術は、この分野の問題を解決するために、大きな注目を集めている。各技術自体は、この分野の問題を解決するのに不十分であるが、殆どの場合、2つの技術は、切り離されている。2つの技術を統合し且つ大規模な状態管理を行うための他の必須技術を追加するためのフレームワーク、例えばKIDSが必要とされる。必須技術の例として、例えば、双時間データベース、式フィルタ、登録クエリ、およびRETE、BBN、MSET、SVM、神経ネットワーク、OWLおよび種々の時系列アルゴリズムなどの多くの推論エンジンを統合するための前方連鎖オーケストレーションエンジンおよび後方連鎖オーケストレーションエンジンが挙げられる。 In this section, we describe the complexity of the entity model, along with the large amount of machine data containing important vital signs of system health. Big data analysis and real-time CEP technology have received great attention to solve problems in this field. Each technology by itself is insufficient to solve the problems in this field, but in most cases the two technologies are separated. A framework, such as KIDS, is needed to integrate the two technologies and add other required technologies for large-scale state management. Examples of essential technologies include, for example, bitemporal databases, expression filters, registration queries, and forward chaining to integrate many inference engines such as RETE, BBN, MSET, SVM, neural networks, OWL and various time-series algorithms. Orchestration engines and back chain orchestration engines are included.
図10を参照して、実体モデルが示される。この実体モデルは、顧客ポッドを含むOracle FusionアプリケーションSaaSに使用されるモデルである。このFusionアプリケーショ
ンは、仮想マシンに配置される。仮想マシンは、エクサロジック(Exalogic)ラックの物理計算ノードに配置され、データベースは、エクサデータ(Exadata)ラックの物理デー
タベースノードに配置されている。この実体モデルは、スレッドセグメント、スレッドクラスおよびスレッドクラス間の依存関係による周期的なスレッドダンプ内の高強度スタックトレースの動的分類によって発見された実体で拡張される。依存関係は、スレッド間の通信およびプロセス間の通信を取得する。実体モデルにスタックトレース分類モデルを追加することは、システム生物学において、ヒトゲノム情報学を人体解剖モデルに追加することと非常に類似する。
Referring to FIG. 10, a physical model is shown. This entity model is the model used for Oracle Fusion application SaaS that includes customer pods. This Fusion application is deployed in a virtual machine. The virtual machines are placed on the physical compute nodes of the Exalogic rack and the databases are placed on the physical database nodes of the Exadata rack. This entity model is extended with entities discovered by dynamic classification of high-intensity stack traces in periodic thread dumps by thread segments, thread classes and dependencies between thread classes. Dependencies capture communication between threads and communication between processes. Adding a stack trace classification model to an entity model is very similar in systems biology to adding human genome informatics to a human anatomy model.
スレッド強度は、システム機能の性能ホットスポットの「ホット性」(hotness)を測
る統計的尺度を提供する。コードブロック(code block)のホット性は、コードブロックの呼び出し回数にコードブロックの実行時間を乗算することによって、定量化することができる。同様の尺度は、様々な性能解析ツール、例えば、Oracle Sun Studio 12 Performance Analyzer、Intel(登録商標)VTune Amplifier、AMD(登録商標)CodeAnalyst、Oracle Database Active Session History (ASH)、Oracle JRockit Flight Recorder、およ
びUNIX gprof commandに適用されている。
Thread intensity provides a statistical measure of the "hotness" of system function performance hotspots. The hotness of a code block can be quantified by multiplying the number of calls to the code block times the execution time of the code block. A similar measure can be used with various performance analysis tools such as
スレッドクラスは、セグメントクラスの有序集合である。例えば、CRMドメイン販売サーバADFアプリケーションスレッドは、1組のセグメントクラス(CRMドメイン、販売サーバ、ADFアプリケーション、およびADFウェブサービス呼び出し)によって表される。例示的なスレッド依存関係は、[(ADFウェブサービス呼び出し)→(ADFウェブサービス、ADF-BC)]である。[(ADFウェブサービス呼び出し)→(ADFウェブサービス、ADF-BC)]は、サブクラス[(CRMドメイン、販売サーバ、ADFアプリケーション、およびADFウェブサービス呼び出し)→(CRMドメイン、注文取得サーバ、ADFウェブサービス、ADF-BC、データベース運用)]を有する。クラス(ADFウェブサービス、ADF-BC)は、高強度クラス(CRMドメイン、注文取得サーバ、ADFウェブサービス、ADF-BC、データベース運用)にドリルダウンされてもよく、スレッド依存関係を介して、データベーススレッド(データベース、Fusionアプリケーションスキーマ)にドリルして、その後、データベース内のコールグラフ、コールツリーまたは(SQL実行プランと実行トレースを含む)コールスタックモデルを(データベース、Fusionアプリケーションスキーマ)スレッドの高強度サブクラスにドリルダウンされてもよい。 A thread class is an ordered set of segment classes. For example, the CRM Domain Sales Server ADF Application Thread is represented by a set of segment classes (CRM Domain, Sales Server, ADF Application, and ADF Web Service Call). An exemplary thread dependency is [(ADF Web Service Call)→(ADF Web Service, ADF-BC)]. [(ADF Web Service Call) → (ADF Web Service, ADF-BC)] is subclass [(CRM Domain, Sales Server, ADF Application, and ADF Web Service Call) → (CRM Domain, Order Retrieval Server, ADF Web Service , ADF-BC, database operation)]. Classes (ADF Web Service, ADF-BC) may be drilled down into high intensity classes (CRM Domain, Order Fetch Server, ADF Web Service, ADF-BC, Database Operations), through thread dependencies, database Drill into Threads (Database, Fusion App Schema) and then view the call graph, call tree or call stack model (including SQL execution plans and execution traces) in the database (Database, Fusion App Schema) with a high-intensity subclass of Thread (Database, Fusion App Schema) may be drilled down to.
呼び出し連鎖に沿って伝達された実行環境ID(ECID)を用いて、ミドルウェアおよびデータベース層の間で例外トレースを相関させることによって、個々の実行環境における問題の根本原因の解析を支援することができる。生命徴候を用いて、一定の時間間隔で採取された一連のスレッドダンプサンプルからの様々なクラスのスレッドおよびスレッドセグメントの強度統計値の測定値に基づいて、システム問題を診断することができる。スレッドのクラス間の依存関係情報を用いて、ミドルウェアおよびデータベース階層の間の発生率を相関させることによって、根本原因の解析を支援することができる。スレッド強度の統計は、分類階層をドリルダウンする能力を向上させ、スレッド階層の特定のサブクラスの強度を観察することができる。スレッド強度の統計は、スレッド間の通信チャネルまたはリソースプールのキューのトラフィック強度の可観測性、およびSLA問題の主要指標である小さな性能グリッチの感度を向上させる。 Exception traces can be correlated between middleware and database layers with execution environment IDs (ECIDs) propagated along the call chain to aid in root cause analysis of problems in individual execution environments. . Vital signs can be used to diagnose system problems based on measurements of intensity statistics for different classes of threads and thread segments from a series of thread dump samples taken at regular time intervals. Dependency information between classes of threads can be used to assist in root cause analysis by correlating incidence between middleware and database hierarchies. Thread strength statistics improve the ability to drill down the taxonomy hierarchy to observe the strength of particular subclasses of the thread hierarchy. Thread intensity statistics improve the observability of traffic intensity of communication channels between threads or queues in resource pools and sensitivity to small performance glitches, which are key indicators of SLA problems.
データキューブは、ロールアップ(roll-up)、ドリルダウン(drill-down)、スライ
スおよびダイス(slice and dice)、ピボット(pivot)、ドリルアクロス(drill-across)、およびドリルスルー(drill-through)などのOLAP操作をサポートするように、実体モデル内の関係の「一部」を反映する寸法および概念束を用いて、定義される。予測診断ソリューションは、システム機能の生命徴候を構成する様々なシステム統計値の測定値を含むシステムの状態空間モデルを必要する。多変量状態推定技術(MSET:Multivariate State Estimation Technique)は、関連する実体の集合から、時系列データを情
報融合するのに特に有効である。逐次確率比試験(SPRT:Sequential Probability Ratio Test)と組み合わせたMSETは、機械学習を予測異常検出に適用するロバストな
分類モデルである。統計的尺度は、ビッグデータシステムのログから抽出され、データキューブに整理される。統計的尺度は、時系列フィルタによって導出された傾向情報および周期性情報を含む。Brown指数フィルタ、Holt二重指数フィルタ、Winters三重指数フィルタ、不規則な時間間隔に対応するWright拡張、短時間間隔のHanzak調整因子、および/または異常値の検出およびCauchy分布問題、特にJVM完全GC統計値の時系列解析におけるCauchy分布問題を克服するために異常値の切り捨ての適応性スケーリングを有する切取に基づいて、特定の時系列フィルタを実装することができる。レベル急増、レベル変遷、分散変化、異常値およびエンドポイント予測などの傾向を時系列データから抽出し、この定量傾向を低、正常または高などの定性値に変換することができる。
Data cubes can be roll-up, drill-down, slice and dice, pivot, drill-across, and drill-through are defined with dimensions and concept lattices that reflect "parts" of the relationships in the entity model to support OLAP operations such as A predictive diagnostic solution requires a state-space model of the system that includes measurements of various system statistics that constitute the vital signs of system function. The Multivariate State Estimation Technique (MSET) is particularly effective in fusing time series data from a set of related entities. MSET combined with the Sequential Probability Ratio Test (SPRT) is a robust classification model that applies machine learning to predictive anomaly detection. Statistical measures are extracted from big data system logs and organized into data cubes. Statistical measures include trend and periodicity information derived by time series filters. Brown exponential filter, Holt double exponential filter, Winters triple exponential filter, Wright expansion for irregular time intervals, Hanzak adjustment factor for short time intervals, and/or outlier detection and Cauchy distribution problems, especially JVM full GC A particular time series filter can be implemented based on truncation with adaptive scaling of outlier truncation to overcome the Cauchy distribution problem in time series analysis of statistics. Trends such as level surges, level transitions, variance changes, outliers and endpoint predictions can be extracted from time series data and this quantitative trend can be transformed into qualitative values such as low, normal or high.
JVM完全GC統計値および定期的なスレッドダンプを含むファクトデータを変換することによって、より高次の分類情報を抽出することができる。スレッドセグメントおよびスレッドは、トラフィック強度に応じて、増加するように分類される。スタックトレースは、高強度のスレッドセグメントおよびスレッドと、スレッドクラス間の依存関係およびセグメントクラスへのスレッドクラスのドリルダウンを含むより高次情報とに分類される。定期的なスレッドダンプの時系列データは、各スレッドクラスおよびセグメントクラスの強度に関する傾向情報、例えば、周期サイクル、線形傾向、分散変化、レベル急増、レベル変遷、異常値、飽和またはエンドポイント予測などを含む。観測時間に亘ってイベントの数を実質的な傾向変化の数に比例するによって、傾向情報は、大量の時系列データをより簡潔な一連のイベントに減らす。システム状態は、傾向情報を表す特徴ベクトルによって特定することができる。システム状態の遷移は、実質的な傾向変化を表すイベントによって定めることができる。 Higher order classification information can be extracted by transforming fact data, including JVM full GC statistics and periodic thread dumps. Thread segments and threads are classified in increasing order according to traffic intensity. Stack traces are categorized into high intensity thread segments and threads and higher level information including dependencies between thread classes and thread class drill-downs into segment classes. Time-series data of periodic thread dumps provide trend information about the strength of each thread class and segment class, such as periodic cycles, linear trends, variance changes, level surges, level transitions, outliers, saturation or endpoint predictions. include. By scaling the number of events to the number of substantial trend changes over observation time, trend information reduces large amounts of time-series data to a more concise series of events. System states can be identified by feature vectors representing trend information. System state transitions can be defined by events that represent substantial trend changes.
したがって、KIDSモデルは、異なる分類知識によって推論された観察結果、目的、予測結果、シミュレーション結果および周期予測などの様々な特定タイプの情報の融合および関連する実体間の情報の融合を行うことができる。また、KIDSモデルは、効果的なKIDSループをサポートすることによって、異常を検出し、根本原因を診断しおよび大規模なクラウド運用時のリソースを動的に管理するために必要とされる複雑性および異
質性で、情報融合および状況認識を行うことができる。
Thus, the KIDS model is capable of fusing various specific types of information such as observations, objectives, predictions, simulation results and periodic predictions inferred by different taxonomic knowledge and fusion of information between related entities. . The KIDS model also addresses the complexity required to detect anomalies, diagnose root causes, and dynamically manage resources during large-scale cloud operations by supporting an effective KIDS loop. and heterogeneity, it is capable of information fusion and situational awareness.
使用事例-ソフトウェアおよびハードウェア製品のサポート
この使用事例は、システムの利用不可を最小限に抑えるために、サポートおよび顧客を対応する技術者による協調的および反復的な問題解決行動によって特徴付けることができる。これらの目標を達成するには、既知の問題を解決するために既存の(暗黙または明示)知識を検索および適用するために必要とされる時間、または新しい問題の改善策を見付けるために必要とされる時間を最小限に抑えることが重要である。既知の問題を処理する自動化程度を増加または最大化することによって、サポートおよび顧客を対応する技術者は、解放され、大量の人間経験および知識を必要とする新しく発生する問題に集中することができる。したがって、この分野に開発されたアプリケーションは、絶え間なく自動化要求によって、常に変化し得る。自動化要求によって、3つの課題、すなわち、1)経済的な自動化の実現、2)自動化の迅速な展開を可能にするアプリケーションの設計、3)解決された問題の正確な表現および出所を取得する方法という最大の非技術的な課題が生じる。経済的な自動化を実現するために、正確な表現および出所で、(バグデータベース、サポートチケット内の)製品ライフサイクルの全体に発生した製品問題に関するデータおよび知識を確実に取得することが不可欠である。これらのデータおよび知識は、正確な定義、正確且つ有効な因果関係、システム構成および技術者の貢献と一致した用語を含む。このような表現および出所は、問題再発の可能性および自動的にまたは半自動的に問題を認識して解決する際の複雑度に関する正確な統計を可能にする。次に、収集された出所データに基づいて、問題を診断するためのプロセスを標準化することができる。このような標準化の目的は、データの標準化収集、データの標準化解析および解釈、標準化診断、標準化修復法、および問題解決プロセス全体の標準化を確立することである。
Use Case - Software and Hardware Product Support This use case can be characterized by collaborative and iterative problem-solving behavior by support and customer-facing technicians to minimize system unavailability. . To achieve these goals, the time required to search and apply existing (implicit or explicit) knowledge to solve a known problem, or to find improvements to a new problem. It is important to minimize the time spent By increasing or maximizing the degree of automation in handling known problems, support and customer-facing technicians are freed up to focus on emerging problems that require a great deal of human experience and knowledge. . Applications developed in this field are therefore subject to constant change due to constant automation demands. Automation requirements address three challenges: 1) achieving economical automation, 2) designing applications to enable rapid deployment of automation, and 3) how to obtain an accurate representation and provenance of the problem solved. The biggest non-technical problem arises. Ensuring capture of data and knowledge about product issues throughout the product lifecycle (in bug databases, support tickets) with accurate representation and provenance is essential to enable economical automation . These data and knowledge include terminology consistent with precise definitions, precise and valid causal relationships, system configurations and contributions of engineers. Such representations and provenance allow accurate statistics regarding the likelihood of problem recurrence and complexity in automatically or semi-automatically recognizing and solving problems. A process for diagnosing problems can then be standardized based on the source data collected. The purpose of such standardization is to establish standardization for standardized collection of data, standardized analysis and interpretation of data, standardized diagnosis, standardized remediation, and standardization throughout the problem-solving process.
自動化の迅速な展開を可能にするロバストなアプリケーションアーキテクチャを達成するために、自動化問題空間を整合的なモジュール要素に分割することができる。このような分割を達成するためには、空間の自動化複雑性は、均一ではなくてもよい。データ収集の自動化は、データ解析の自動化ほど複雑ではない。また、データ解析の自動化は、診断自動化ほど複雑ではない。また、修復の自動化は、より複雑で異なる。このような自動化複雑性のレベル変化は、問題空間を分割するための自然な境界を提供し得る。 To achieve a robust application architecture that enables rapid deployment of automation, the automation problem space can be divided into coherent modular elements. In order to achieve such partitioning, the automation complexity of the space may not be uniform. Automating data collection is less complicated than automating data analysis. Also, automation of data analysis is less complex than automation of diagnostics. Also, repair automation is more complex and different. Such automated varying levels of complexity can provide natural boundaries for partitioning the problem space.
使用事例-患者介護
患者介護は、各々の量および複雑性が絶えずに増加する捕捉データ、観察結果、知識および手順によって決められる要求の厳しいタスクであり得る。医療センサが主流になると、データおよび知識の量がさらに速く増加すると予想される。センサを使用することによって、患者が医師のオフィスにいるか否かに関わらず、医師は、常に患者を診断することができる。測定値、画像(および読取値)、観察結果、診断および治療を記述するデータの組み合わせであるEMR(電子医療記録:Electronic Medical Records)の収集が非常に重要であるが、これらの記録だけではまだ不十分である。EMRは、データを意味のあるカテゴリに編成せず、誰がいつでどのデータを見たのか、どの理由でどの診断を下したのか、どのコンピュータ化知識およびどのバージョンを用いてどの結論を出したのかを記載していない。また、医療費が膨大になり、医師の過失もしくは患者または弁護士の利欲によって引き起された誤診訴訟が絶え間なく続いている。
Use Case—Patient Care Patient care can be a demanding task dictated by an ever-increasing amount and complexity of captured data, observations, knowledge and procedures. As medical sensors become mainstream, the amount of data and knowledge is expected to grow even faster. By using sensors, a doctor can diagnose a patient at all times, whether the patient is in the doctor's office or not. The collection of EMRs (Electronic Medical Records), the combination of data describing measurements, images (and readings), observations, diagnoses and treatments, is of great importance, but these records alone are not enough. Inadequate. EMR does not organize the data into meaningful categories, but rather who looked at what data when, what diagnosis was made for what reason, what computerized knowledge and version was used to draw what conclusions. is not listed. Also, medical costs are enormous and misdiagnosis lawsuits continue unabated, either caused by physician negligence or by patient or attorney greed.
医師は、多くの方法を用いて、患者を介護する。頻繁に使用される用語の一部は、症例に基づく医療、介護基準、分別診断および個別/精密医療を含む。無数のアプリケーションを使用して、医師をサポートできるが、これらのアプリケーションは、一部の仕事しか行えず、さらに、これらのアプリケーションは、専有的で不明瞭であるため、実質的に大きな拡張、個別化および高速進化を行うことが不可能である。網羅的ではないが、全ての治療段階で医師を支援し、医師が医師の言語でシステムと通信し、測定値をコンパクトな
形に変換し、厳密な出所を提供し、異常を警告し、大きな拡張および個別化を可能にし、永続的に進化するシステムが必要とされる。
Physicians use many methods to care for their patients. Some frequently used terms include case-based medicine, care standards, differential diagnosis and individualized/precision medicine. A myriad of applications can be used to support physicians, but these applications can only do some of the work, and furthermore, because these applications are proprietary and obscure, they are substantially larger and more individualized. It is not possible to do the optimization and fast evolution. A non-exhaustive list is to assist physicians at all stages of treatment, enable physicians to communicate with the system in the physician's language, convert measurements into compact form, provide precise provenance, warn of abnormalities, and A perpetually evolving system that allows for expansion and personalization is needed.
患者介護は、ファクトおよび観察結果の形で取得される証拠の収集から始まる。ファクトは、生命徴候、血液化学および画像などの測定結果を含む。測定ファクトは、定量的である。分類を用いて、ファクトは、測定結果が基準から偏差する度合および画像の解釈などの認知結果に変換される。ファクトは、認知結果として扱われる観察結果によって補完される。認知結果を評価することによって、観察される病気の根本原因および関連する信頼性を判定する1つ以上の診断(仮説)に得ることができる。次のステップでは、介護基準に基づいて、指令をもたらす治療計画、例えば、特定の治療および/またはより多くの検査を行うことができる。指令の実施によって、より多くのファクトを生み出す。この循環は、目標が既に達成したかもしくはそれ以上何もすることがないまたはそれ以上何もできないという仮説が出るまで継続する。これは、分別診断の一例である。これらのステップの殆どは、コンピュータによりサポートされまたは次第にコンピュータによりサポートされるため、一定のファクトストリームに基づいて患者を永続的に監視することができる。新しいコンピュータ化知識は、検証およびリリースされると、すぐに使用されなければならない。サポートは、個別化に行う必要がある。個人またはチームの嗜好に基づいて、知識を適用する必要がある。ソーシャルネットワーキングおよび暗黙知識プロファイリングは、タスクに最も適任である人またはチームの特定に支援することができる。 Patient care begins with the collection of evidence obtained in the form of facts and observations. Facts include measurements such as vital signs, blood chemistries and images. Measurement facts are quantitative. Using classification, facts are transformed into cognitive outcomes such as the degree to which measurements deviate from the norm and the interpretation of images. Facts are complemented by observations treated as cognitive outcomes. Evaluating the cognitive results can lead to one or more diagnoses (hypotheses) that determine the underlying cause and associated reliability of the observed disease. In the next step, based on the standard of care, a treatment plan leading to directives, eg, specific treatments and/or more tests, can be performed. Implementing Directives produces more facts. This cycle continues until either the goal has already been met or there is nothing more to be done, or there is a hypothesis that nothing more can be done. This is an example of differential diagnosis. Most of these steps are computer-supported or increasingly computer-supported so that the patient can be permanently monitored based on a constant fact stream. New computerized knowledge must be used as soon as it is validated and released. Support needs to be individualized. Knowledge needs to be applied based on individual or team preferences. Social networking and tacit knowledge profiling can help identify the person or team most qualified for the task.
この使用事例は、ファクトを認知結果に変換する必要性を強調している。患者は、約10個の生命徴候を有する。これらの生命徴候は、患者の状況に依存して、様々な規模および範囲を有する。したがって、通知条件を指定することは、非常に困難である。医師は、多くのタイプのファクトに対して同一分類子を使用し、ファクトを分類することによって、通知条件を指定する。全ての生命徴候の可能な修飾子は、正常、監視、深刻および危篤である。実際の目的は、物事を直観的に表すために、少ない修飾子を使用することである。修飾子を使用して、少なくとも1つの危篤な生命徴候または2つの深刻な生命徴候を持つ全ての患者を教えてくださいというクエリを正規化および単純化することができる。医師は、時間と共に、進行値に悪化/改善などの注釈を追加する。変化速度を用いて、遅い悪化または速い悪化を議論することができる。明らかに、患者の生命徴候が安定しているか安定していないかなどの安定性値を議論することができる。認知結果は、直観的でコンパクトな言葉を使用するため、医師に好まれる。認知結果の曖昧さは、厳密な出所によって補償されなければならない。 This use case highlights the need to transform facts into cognitive outcomes. Patients have approximately 10 vital signs. These vital signs have varying magnitudes and ranges, depending on the patient's circumstances. Therefore, it is very difficult to specify notification conditions. Physicians use the same classifier for many types of facts and specify notification conditions by classifying the facts. Possible modifiers of all vital signs are normal, monitored, serious and critical. The real goal is to use fewer modifiers to express things intuitively. Qualifiers can be used to normalize and simplify the query Tell me all patients with at least 1 critical vital sign or 2 serious vital signs. Physicians add annotations such as worsening/improving to progression values over time. The rate of change can be used to discuss slow deterioration or fast deterioration. Obviously, one can discuss stability values such as whether the patient's vital signs are stable or not. Cognitive Results is preferred by physicians because it uses intuitive and compact language. Ambiguity in cognitive results must be compensated for by strict provenance.
単一値を分類する利点に加えて、一組の値または画像を分類するというより大きな必要がある。一例として、心停止のリスクは、数時間前の血液検査から判断することができる。残念なことに、この判断は、少なくとも10個の数値の間の複雑な相互関係を理解する必要がある。これは、最も優秀な専門家にとっても不可能なことであるが、コンピュータならうまく行える。したがって、リアルタイムで大量のモデルを評価する必要がある。これによって、医師は、経験したことがないまたは知ったこともない潜在的なリスクを認識することができる。同様に、医師は、分類を閲覧するために、厳密な出所が必要である。 In addition to the benefits of classifying single values, there is a greater need to classify sets of values or images. As an example, the risk of cardiac arrest can be determined from a blood test hours earlier. Unfortunately, this judgment requires understanding complex interrelationships between at least ten numerical values. This is impossible for even the brightest professional, but a computer can do it well. Therefore, there is a need to evaluate a large number of models in real time. This allows physicians to recognize potential risks they may not have experienced or known about. Similarly, physicians need precise provenance in order to view classifications.
認知結果は、患者の現在状況の重要な特徴を時間に記述する必要がある。その理由として、医師は、現在何が起こっているのか、この状況がどのように進化したか、これからどのように進化するのかを知りたいからである。また、過去の状況も容易に利用可能にしなければならない。分類と併せて予測を使用することによって、医師は、患者の状況が期待通り進化しない場合、通知してくださいという非常に包括的な要求を明確に述べることができる。この要求は、特定の状況において特定の意味を有する。 Cognitive outcomes should describe important features of the patient's current situation in time. This is because doctors want to know what is happening now, how this situation has evolved, and how it will evolve in the future. Also, past situations must be readily available. By using predictions in conjunction with classification, physicians can articulate a very generic request to notify if a patient's condition does not evolve as expected. This request has a specific meaning in a specific situation.
KIDSモデル-概念
KIDSは、データ、知識およびプロセス管理に集中するアプリケーションを構造化するモデルを提供する(例えば、図9を参照)。データの管理は、現在、急速に進化している比較的成熟した技術である。KIDSは、以下の4つの異なるデータカテゴリを定義して管理することによって、この進化に加えている。
・ファクト
ファクトは、世界で測定可能なデータである。人間の認知システムは、ファクトの数、速度および量的性質を直接に認知することが困難である。CEPおよびビッグデータなどの技術は、これらのデータを取得および処理する。
・認知結果
認知結果は、ファクト(および観察結果)のコンパクトで時間的且つ定性的な表現である。認知結果は、人間の認知システムによる使用のために最適化されている。認知結果は、ファクトから認識できる進化状況の最も重要な特徴を表している。認知結果は、情報を利用する利用者の視点に依存する。
・仮説
仮説は、ファクトおよび認知結果を説明する可能な根本原因を記述する。
・指令
指令は、特定のファクト、認知結果および仮説に応じて、取るべき措置を記述する。指令は、しばしばワークフローまたはプロセスの形で行動計画を指定する。明らかに、指令は、ファクトの進化に最も大きな影響を与えるだろう。
KIDS Model - Concepts KIDS provides a model for structuring applications that focus on data, knowledge and process management (see, eg, Figure 9). Data management is now a relatively mature technology that is evolving rapidly. KIDS adds to this evolution by defining and managing four different data categories:
• Facts Facts are data that can be measured in the world. The human cognitive system has difficulty directly perceiving the number, velocity and quantitative nature of facts. Technologies such as CEP and big data acquire and process these data.
Cognitive Outcomes Cognitive outcomes are compact, temporal and qualitative representations of facts (and observations). Cognitive results are optimized for use by the human cognitive system. Cognitive results represent the most important features of the evolutionary state that can be discerned from facts. Cognitive results depend on the viewpoint of the user who uses the information.
Hypotheses Hypotheses describe possible root causes that explain facts and cognitive outcomes.
• Directives Directives describe actions to be taken in response to certain facts, perceived outcomes and hypotheses. Directives often specify action plans in the form of workflows or processes. Clearly, directives will have the greatest impact on the evolution of facts.
これらのカテゴリのデータのいずれかは、広範囲のデータタイプ/構造、拡張性、データタイプ/構造間の宣言型アクセス、時間の変遷、進化するデータ構造の柔軟性(構造化データをサポートすること、および、最初にデータをサポートし、その後構造をサポートするまたはサポートしないこと)、OLTPおよび解析などを必要とする。また、(ファイングレイン)セキュリティ、出所およびILMなどの拡張機能が必要になる場合もある。重要な運用特徴は、災害復旧、高可用性、信頼性、拡張性、性能、および迅速な開発ツールを含み得る。場合によって、データの管理は、成熟して広く使用されているデータベースで利用可能な幅広い機能サポートおよび運用サポートを必要とする。ファクトの収集および管理は、古典的な取引モデルを必要とせず、データの限られた損失を許容することができる。成熟したデータベースは、ファクトの管理を最適化し、リソース消費を大幅に削減ようにサポートを提供することができる。 Any of these categories of data can be represented by a wide range of data types/structures, extensibility, declarative access between data types/structures, transitions over time, flexibility of evolving data structures (supporting structured data, and supporting data first and then structure or not), OLTP and parsing, etc. It may also require advanced features such as (fine-grained) security, provenance and ILM. Key operational features may include disaster recovery, high availability, reliability, scalability, performance, and rapid development tools. In some cases, managing data requires extensive functional and operational support available in mature and widely used databases. Collection and management of facts does not require classical trading models and can tolerate limited loss of data. A mature database can provide support for optimizing fact management and significantly reducing resource consumption.
特定の実施形態において、4つのデータカテゴリを補完するように、知識を4つのカテゴリに、すなわち、分類(Classification)、評価(Assessment)、解決(Resolution)および実施(Enactment)に分けることができる。この4つのカテゴリは、各データカテ
ゴリを処理するために必要な推論モードに基づいている。適切な計算モデルによって、知識の各カテゴリの実質的なサブセットを自動化することができる。
・(データを認知結果に変換する)分類知識は、主に演繹推論モードで表される。予測またはノルムを生成する一部の分類知識は、帰納推論を含み得る。分類を行うための計算モデルは、サポートベクトルマシン、ナイーブベイズネットワーク、神経ネットワーク、クラスタリング、関連ルール、決定木、多変量状態推定技術、認知演算などを含む。
・(認識結果を仮説に変換する)評価知識は、典型的に、認知結果から仮説を導出する発想推論によって実現される。評価を行うための計算モデルは、ベイジアン信念ネットワーク、逆問題に対する解の最小二乗最適化または回帰を含む。
・(仮説を指令に変換する)解決知識は、異なる結果の優劣および関連するペイオフ/コストを考慮して、結果の不確実性の下で判断を行う。解決を行うための計算モデルは、決定ノードおよびペイオフ/コストノードを用いて拡張され、影響図、デンプスター・シェイファー理論、決定木および残存有効寿命の予後として知られたベイジアン信念ネットワークを含む。
・(指令を行動(および新しいファクト)に変換する)実施知識は、スクリプト、計画、
予定、BPELワークフロー、およびBPMNビジネスプロセスにコード化された制御構造を含む。
In certain embodiments, knowledge can be divided into four categories to complement the four data categories: Classification, Assessment, Resolution and Enactment. The four categories are based on the mode of reasoning required to process each data category. Appropriate computational models can automate a substantial subset of each category of knowledge.
• Classification knowledge (transforming data into cognitive outcomes) is primarily expressed in deductive reasoning mode. Some classification knowledge that produces predictions or norms may involve inductive reasoning. Computational models for classification include support vector machines, naive Bayes networks, neural networks, clustering, association rules, decision trees, multivariate state estimation techniques, cognitive arithmetic, and others.
・Evaluation knowledge (converting recognition results into hypotheses) is typically realized by idea inference that derives hypotheses from recognition results. Computational models for evaluation include Bayesian belief networks, least-squares optimization of solutions to inverse problems, or regression.
• Solution knowledge (which converts hypotheses to directives) makes decisions under outcome uncertainty, considering the relative merits and associated payoffs/costs of different outcomes. Computational models for solving have been extended with decision and payoff/cost nodes and include Bayesian belief networks known as influence diagrams, Dempster-Shafer theory, decision trees and prognostics of remaining useful life.
Implementation knowledge (transforming directives into actions (and new facts)) can be scripted, planned,
It contains schedules, BPEL workflows, and control structures coded into BPMN business processes.
知識は、CAREループによって指定された適切な順序で適用されてもよい。場合によって、CAREループの全てのステップを実行する必要がない。(各バージョンを含む)知識をデータベースに保存することによって、完全な出所を提供し、洗練されたクエリ利用を可能にすることができる。知識は、アドホック且つリアルタイムで適用可能である。1つの使用事例として、新しい知識を用いて、データ(特にファクトおよび認知結果)を再訪することによって、欠落したものおよび過大評価されたものを発見することができる。 Knowledge may be applied in the proper order specified by the CARE loop. In some cases, it is not necessary to perform all steps of the CARE loop. Storing knowledge (including versions) in a database can provide complete provenance and enable sophisticated querying. Knowledge is ad-hoc and real-time applicable. One use case is to discover what is missing and what is overestimated by revisiting data (especially facts and cognitive outcomes) with new knowledge.
ビッグデータ/CEPをKIDSの環境に使用することによって、より包括的且つ体系的な手法を作り出すことができる。
・クエリ/モデルは、個々の要素ではなく知識として取り扱われる。知識を照会することができ、進化することができる。
・データおよび知識(クエリ、ルールおよびモデル)は、特定の性質を有する4つのカテゴリで互いに関連する。
・ファクトを認知結果に変換することは、状況に応じて、行動によって補完される。
・出所サポートは、どのバージョンの知識を適用して、どのバージョンのデータを導出したかを明確に記述する。
Using big data/CEP in the KIDS environment can create a more comprehensive and systematic approach.
• Queries/models are treated as knowledge rather than individual elements. Knowledge can be queried and evolved.
• Data and knowledge (queries, rules and models) are related to each other in four categories with specific properties.
• Transforming facts into cognitive outcomes is contextually complemented by actions.
• Provenance support clearly states which version of knowledge was applied to derive which version of the data.
さらに、各カテゴリの形式知識は、人間の暗黙知識によって補完されてもよい。アプリケーションは、システム内の行為者の暗黙知識および社会的な嗜好をプロファイルできるソーシャルネットワーキングサービスを必要とする場合がある。したがって、最近の行動に基づいて暗黙知識プロファイルを調整することによって、タスクに最も適任である人またはチームを特定することができる。これによって、プロファイルができるだけ最新であることを保証することができる。 Furthermore, formal knowledge in each category may be supplemented by human tacit knowledge. Applications may require social networking services that can profile the tacit knowledge and social preferences of actors within the system. Therefore, by adjusting the tacit knowledge profile based on recent behavior, the person or team most qualified for the task can be identified. This can ensure that the profile is as up-to-date as possible.
いくつかの実施形態において、アプリケーションは、継続改善を含むことができる。アプリケーションの継続改善は、知識を継続的に改善することによって達成することができる。継続改善を可能にする技術は、1)ユーザおよび分野専門家の識見を活用して、ルール、クエリ、モデルおよびコードを改善する技術、および、2)追加のデータまたは新しいアルゴリズムを用いて、モデルを再評価および再実行する技術を含む。 In some embodiments, the application can include continuous improvement. Continuous improvement of an application can be achieved by continuously improving knowledge. Techniques that enable continuous improvement are: 1) techniques that leverage the insights of users and subject matter experts to improve rules, queries, models and code; including techniques for re-evaluating and re-executing
分野の専門家は、知識を交換することができる。この交換は、できるだけ正式に行われる。論文は、使用されたモデルまたは形式論を直感的に理解するのに役立つベン図(Venn
Diagram)と同等なものであると考えられる。通常、新しい知識を使用する前に慎重に見直す必要がある。KIDSは、進化する知識および既存の知識を同時に使用することができ、両方の結果を示すことができる。また、KIDSは、新しい知識で既存のデータを見直することができ、以前に過大評価されたリスクおよび機会だけでなく、新たなリスクおよび機会を示すことができる。
Subject matter experts can exchange knowledge. This exchange will be as formal as possible. The paper provides Venn diagrams to help intuitively understand the model or formalism used.
Diagram). New knowledge usually needs to be carefully reviewed before it can be used. KIDS can use evolving and existing knowledge simultaneously and can show the results of both. KIDS can also review existing data with new knowledge, and can point to new as well as previously overestimated risks and opportunities.
KIDSの形式モデル
KIDSは、人間行為者、人間行為者に代わって行動するコンピュータプログラムまたはハードウェア素子(エージェント)、および/または観察、診断および処置される実体の間の相互作用を推進するエンジンを含むことができる。KIDSの形式モデルは、システム内の行為者、エージェントおよび実体の間の相互作用を駆動するプロセス管理アプリケーションの実装を通知することによって、システム内の情報変更を能動的に管理することができる。
Formal Model of KIDS KIDS is a human actor, a computer program or hardware element (agent) acting on behalf of the human actor, and/or an engine that drives interactions between the entities being observed, diagnosed and treated. can contain. The formal model of KIDS can actively manage information change within the system by informing the implementation of process management applications that drive interactions between actors, agents and entities within the system.
KIDSの形式モデルは、多時間データベースシステム内に表されてもよい。モデル内のデータは、トランザクション時間(Txn時間)を有すると考えられるが、トランザクション時間は、モデルに明示的に表されなくてもよい。このルールの1つの例外は、フラッシュバックのクエリおよび出所をサポートするように、トランザクション時間を明示的に表す行動環境である。 A formal model of KIDS may be represented in a multi-temporal database system. The data in the model are considered to have a transaction time (Txn time), but the transaction time may not be explicitly represented in the model. One exception to this rule is behavioral environments that explicitly represent transaction times to support flashback queries and provenance.
有効時間(Valid Time)は、正式な定義における基本的なデータ構造のうちの2つであるFSDデータおよび特徴データにおいて、明示的に示されてもよい。 Valid Time may be explicitly indicated in FSD data and feature data, two of the basic data structures in the formal definition.
FSD⊆実体×値×有効時間×FSDタイプ
特徴⊆実体×値×有効時間×特徴タイプ
ベクトル={特徴n|n=1、2、...、N}
ビッグベクトル={FSDn|n=1、2、...、N}∪ベクトル
FSD(フレキシブルスキーマデータ)は、テキスト、オーディオ、ビデオ、空間、グラフ、XML、RDFおよびJSONを含む、データベース内の任意の拡張性データであってもよい。したがって、FSDは、ファイルを表すことができる。関連するFSDのタイプに応じて、ファイルは、患者介護ドメインにおいて、心電図、X線、CTスキャン、MRIスキャンなどを含むことができ、クラウド運用ドメイン並びにソフトウェアおよびハードウェア製品サポートドメインにおいて、スレッドダンプ、ヒープダンプ、データベースAWRスナップショット、データベーストレースなどを含むことができる。特徴は、症状または疾患の観察値範囲内で、低、正常および高などのカテゴリ値を表すことができる。関連する特徴のタイプに応じて、症状または疾患は、患者介護ドメインにおいて、呼吸器感染、急性気管支炎、喘息などを表すことができ、クラウド運用ドメイン並びにソフトウェアおよびハードウェア製品サポートドメインにおいて、高血圧、低血圧、インピーダンス不整合、コンボイ効果などを表すことができる。
FSD ⊆ entity x value x valid time x FSD type feature ⊆ entity x value x valid time x feature type vector = { feature n | n = 1, 2, . . . , N}
Big vector={FSD n |n=1, 2, . . . , N}∪ vector A FSD (Flexible Schema Data) can be any extensible data in a database, including text, audio, video, spatial, graph, XML, RDF and JSON. Thus, an FSD can represent a file. Depending on the type of FSD involved, the files can include electrocardiograms, x-rays, CT scans, MRI scans, etc. in the patient care domain, thread dumps, Can include heap dumps, database AWR snapshots, database traces, and the like. Features can represent categorical values such as low, normal and high within the observed range of symptoms or diseases. Depending on the type of feature involved, a condition or disease can represent respiratory infections, acute bronchitis, asthma, etc. in the patient care domain; It can represent hypotension, impedance mismatch, convoy effects, and the like.
有効時間およびTxn時間は、時間間隔である。時間間隔[t1,t2)は、集合{t|t>=t1、t<t2、且つt1<t2、t、t1、t2∈日付時間}を表す。瞬時t1は、[t1,NA)で表すことができる。2つの有効時間[t1,t2)および[t2,t3)を1つの有効時間[t1,t3)に合併することができる。
・有効時間=[日付時間,日付時間∪{∞.NA})
・Txn時間=[日付時間,日付時間∪{∞.NA})
KIDSシステムは、7-タプル(行為者、エージェント、実体、CARE、メタデータ、環境、プロファイル)であってもよい。行為者とは、人間行為者の集合であり、エージェントとは、人間行為者の代わりに動作するコンピュータプログラムまたはハードウェア要素の集合である。実体は、観察、診断および処理される実体の集合である。
・CARE=(データ、知識)
・データ=(ファクト、認知結果、仮説、指令)
・知識=(分類、評価、解決、実施)
・データは、2つの基本的なデータ構造FSDおよび特徴で示される。
・ファクト⊆ガード×行動×実体×ビッグベクトル×有効時間
・認知結果⊆ガード×行動×実体×ベクトル×有効時間×FoM
・仮説⊆ガード×行動×実体×ベクトル×有効時間×FoM
・指令⊆ガード×行動×実体×ベクトル×有効時間×FoM
・状況=ファクト∪認知結果∪仮説∪指令
状況は、ファクト、認知結果、仮説および指令の概括であってもよい。状況インスタンスは、CAREループインスタンス内の特定の行動インスタンスに関連付けられ、行動インスタンスに関連付けられたKFun関数の入力または出力を表す。状況インスタンスは、実体に関連付けられてもよく、関連する実体の状態の一部であり得るFSDまたは特徴のベクトルを含む。すなわち、状況の実体は、有効なJPQL経路式によって、状況内の
各FSDまたは特徴の実体に関連付けることができる。FoMは、信頼水準、信頼区間、確率、スコア、二乗平均平方根誤差、ペイオフ/コストなどを表す性能指数の定量値または定性値である。
Valid time and Txn time are time intervals. The time interval [t1, t2) represents the set {t|t>=t1, t<t2, and t1<t2, t, t1, t2 ∈ date time}. The instant t1 can be represented by [t1,NA). Two valid times [t1, t2) and [t2, t3) can be merged into one valid time [t1, t3).
・Valid time = [date time, date time∪{∞. NA})
- Txn time = [date time, date time∪{∞. NA})
The KIDS system may be a 7-tuple (Actor, Agent, Entity, CARE, Metadata, Environment, Profile). An actor is a set of human actors, and an agent is a set of computer programs or hardware elements that act on behalf of human actors. An entity is a collection of entities that are observed, diagnosed and treated.
・CARE = (data, knowledge)
・Data = (fact, recognition result, hypothesis, instruction)
・Knowledge = (classification, evaluation, solution, implementation)
• Data is represented in two basic data structures FSD and features.
・Fact ⊆ Guard x Behavior x Entity x Big Vector x Valid Time ・Recognition Result ⊆ Guard x Behavior x Entity x Vector x Valid Time x FoM
・Hypothesis ⊆ Guard x Behavior x Entity x Vector x Valid Time x FoM
・Command ⊆ Guard x Action x Entity x Vector x Valid Time x FoM
Situation=Fact∪Perceived Result∪Hypothesis∪Directive A situation may be a summary of facts, cognitive results, hypotheses and directives. A Context Instance is associated with a particular Behavior Instance within a CARE Loop Instance and represents the input or output of the KFun function associated with the Behavior Instance. A situation instance may be associated with an entity and contains a vector of features or FSDs that may be part of the state of the associated entity. That is, a context entity can be associated with each FSD or feature entity within the context by a valid JPQL path expression. A FoM is a quantitative or qualitative figure of merit representing confidence levels, confidence intervals, probabilities, scores, root mean square errors, payoffs/costs, and the like.
・メタデータ=(CAREループタイプ、行動タイプ、FSDタイプ、特徴タイプ、Kfun定義)。
・CAREループタイプ⊆名前
・行動タイプ⊆名前
・FSDタイプ⊆名前×実体タイプ×暗号化×言語
・特徴タイプ⊆名前×実体タイプ×許容値
・Kfun定義=(事前条件、事後条件)
・事前条件⊆フィルタ定義n×Kfun
・事後条件⊆Kfun×フィルタ定義n
・フィルタ定義⊆(FSDタイプ∪特徴タイプ)×フィルタ×受任者
事前条件メタデータおよび事後条件メタデータは、Kfun関数間の影響関係を捕捉することによって、(関連する実体セットの)FSDおよび特徴セットが同時に有効になり、Kfun関数を呼び出すために必要な状況を満たす時間を検出する。フィルタは、JPQL経路式(path expression)で定義された述語である。必須物は、Kfun関数を呼
び出すために、入力または出力状況の一部でなければならない対応するFSDタイプまたは特徴タイプを指定するブール演算式(Boolean expression)である。
• Metadata = (CARE loop type, action type, FSD type, feature type, Kfun definition).
・CARE loop type ⊆ name ・Action type ⊆ name ・FSD type ⊆ name x entity type x encryption x language ・Feature type ⊆ name x entity type x allowable value ・Kfun definition = (precondition, postcondition)
・Precondition ⊆ filter definition n × Kfun
・Post-condition ⊆ Kfun × filter definition n
Filter definition ⊆ (FSD type ∪ feature type) x filter x mandate The pre-condition and post-condition metadata can be defined by capturing the influence relationship between the Kfun functions, the FSD and the feature set (of the associated entity set). are valid at the same time and satisfy the conditions necessary to call the Kfun function. A filter is a predicate defined in a JPQL path expression. Required is a Boolean expression specifying the corresponding FSD type or feature type that must be part of the input or output context in order to invoke the Kfun function.
環境は、5-タプル(CAREループ、分類、評価、解決、実施)である。
・CAREループ=CAREループタイプ×実体×行為者×カウンタ×(分類×評価×解決×実施)n
CAREループインスタンスは、一連の行動の閉包(closure)であって、各行動イン
スタンスと共に、CARE定義によって定義されたフィルタを評価するための環境を表す。カウンタは、CAREループインスタンスの状態の一部である0~n内のループカウンタである。
・分類⊆行動タイプ×ファクト×(分類)n×認知結果×行為者×Txn時間×有効時間・評価⊆行動タイプ×認知結果×(評価)n×仮説×行為者×Txn時間×有効時間
・解決⊆行動タイプ×仮説×(解決)×指令×行為者×Txn時間×有効時間
・実施⊆行動タイプ×指令×(実施)n×ファクト×行為者×Txn時間×有効時間
分類、評価、解決、または実施インスタンスは、分類、評価、解決、または実施機能の各々の実行環境を表すことができる。
・行動=分類∪評価∪解決∪実施
・行動=行動タイプ×状況×(KFun)n×状況×行為者×Txn時間×有効時間
行動は、分類、評価、解決および実施の概括であってもよい。(それぞれが一対の入力/出力状況インスタンスを有する)多くの行動インスタンスを同一のKFun関数に関連付けることができる。ガードは、CAREループインスタンスまたは行動インスタンスの環境で評価される、JPQL経路式および必須のブール演算式で指定されたフィルタのセットから構成されたクエリである。
・プロファイルは、(行為者プロファイル、知識プロファイル、行動代理者、個人化)のトリプルである。
・行為者プロファイル⊆行為者→実体×特徴×有効時間×FoM
・知識プロファイル⊆Kfun→実体×特徴×有効時間×FoM
・行動代理者⊆{f|f:行動→行為者}×有効時間
・個別化:Kfun×行為者→Kfun
・個別化は、カレー演算子の観点から解釈できる。
・個別化(Kfun、行為者)≡カレー(Kfun)(行為者プロファイル(行為者))
KIDS実行モデル
この部分では、KIDS実行モデルの1つ以上の実施形態を説明する。CAREループインスタンスは、一連の行動(分類、評価、解決および実施)の閉包(closure)であっ
てもよい。CAREループインスタンスは、過去に起きた行動、現在の行動または現在進行中の行動および将来起き得る行動からなる歴史的および意図的な環境を提供することができる。KIDSは、各CAREループインスタンスのループカウンタを維持することができる。行動インスタンスは、現在のループカウンタの下で実行される場合、現在の行動インスタンスと見なされてもよい。現在の行動インスタンスは、行動インスタンスの入力状況が実質的に変更されたときに実行されると想定される。ループカウンタは、現在のループカウンタの下で全ての現在の解決行動インスタンスが実行されたときに、増加する。
The environment is a 5-tuple (CARE loop, classify, evaluate, resolve, enforce).
・CARE loop = CARE loop type x entity x actor x counter x (classification x evaluation x solution x implementation) n
A CARE loop instance is a closure of a series of actions, with each action instance representing an environment for evaluating the filters defined by the CARE definition. The counter is a loop counter in 0-n that is part of the state of the CARE loop instance.
・Classification ⊆ Behavior type x Fact x (Classification) n x Cognitive result x Actor x Txn time x Valid time ・Evaluation ⊆ Behavior type x Cognitive result x (Evaluation) n x Hypothesis x Actor x Txn time x Valid time/Solution ⊆ Action type x Hypothesis x (Solution) x Command x Actor x T x n time x Valid time/Implementation ⊆ Action type x Command x (Implementation) n x Fact x Actor x T x n time x Valid time Classification, evaluation, resolution, or An implementation instance can represent an execution environment for each of the classification, evaluation, resolution, or enforcement functions.
Action = Classification ∪ Evaluation ∪ Solution ∪ Action Action = Action Type x Situation x (KFun) n x Situation x Actor x Txn Time x Effective Time An action may be a summary of classification, evaluation, resolution and implementation. . Many behavior instances (each with a pair of input/output situation instances) can be associated with the same KFun function. A guard is a query composed of a set of filters specified in JPQL path expressions and required Boolean expressions that are evaluated in the context of a CARE loop instance or behavior instance.
• A profile is a triple of (actor profile, knowledge profile, behavioral agent, personalization).
・Actor Profile ⊆ Actor → Entity x Features x Effective Time x FoM
・Knowledge profile ⊆ Kfun → entity x feature x effective time x FoM
・Action agent ⊆ {f|f: action → actor} × effective time ・Individualization: Kfun × actor → Kfun
• Individualization can be interpreted in terms of Curry operators.
・Personalization (Kfun, Actor) ≡ Curry (Kfun) (Actor Profile (Actor))
KIDS Execution Model This section describes one or more embodiments of the KIDS execution model. A CARE loop instance may be a closure of a set of actions (classification, evaluation, resolution and enforcement). A CARE loop instance can provide a historical and intentional environment consisting of past actions, current or ongoing actions, and possible future actions. KIDS can maintain a loop counter for each CARE loop instance. A behavior instance may be considered a current behavior instance if it executes under the current loop counter. The current action instance is assumed to be executed when the input context of the action instance is substantially changed. A loop counter is incremented when all current solving action instances under the current loop counter have been executed.
CAREループインスタンスは、インスタンスタイプおよびインスタンス所有者を有することができる。インスタンスタイプは、類似するCAREループインスタンスをグループ化する。インスタンスタイプを用いて、CAREループインスタンス内で実行される行動インスタンスをカスタマイズまたは制約することができる。CAREループタイプを初めて指定するときに、行為者(そのタイプの最初のインスタンスをインスタンス化した行為者またはこの行為者が指定した別の行為者)は、所有者としてそのタイプに関連付けられる。CAREループインスタンスの各行動インスタンスには、行動インスタンスの実行に適格な代理行為者がいる。行動インスタンスには代理人が存在しない場合、CAREループインスタンスの所有者は、行動インスタンスの代理人になる。また、CAREループインスタンスの明示的に指定された所有者がいない場合、タイプ所有者は、デフォルトでインスタンス所有者になる。インスタンス所有者または行動インスタンスの代理人は、指定された関数によって行動代理者から計算することができる。このような関数は、CAREループインスタンスの環境またはCAREループインスタンス内の行動インスタンスで評価された経路式によって定義される。 A CARE loop instance can have an instance type and an instance owner. Instance types group similar CARE loop instances. Instance types can be used to customize or constrain the behavior instances that run within a CARE loop instance. When a CARE loop type is specified for the first time, an actor (either the actor who instantiated the first instance of that type or another actor specified by this actor) is associated with that type as the owner. Each action instance of a CARE loop instance has an agent eligible to perform the action instance. If a behavior instance has no delegate, the owner of the CARE loop instance becomes the behavior instance's delegate. Also, if there is no explicitly named owner for the CARE loop instance, the type owner defaults to the instance owner. Instance owners or delegates of behavior instances can be computed from the behavior delegates by a specified function. Such a function is defined by a path expression evaluated on the environment of a CARE Loop instance or an action instance within a CARE Loop instance.
CAREループインスタンスタイプの所有者は、ある種の全てのインスタンスの挙動を制約することができる。CAREループインスタンスの所有者は、タイプ所有者によって指定された制約内で、インスタンスの挙動をさらにカスタマイズすることもできる。CA
REループインスタンスの所有者は、初期の行動インスタンスおよび任意の後続の行動インスタンスを作成することによって、実行中にCAREループインスタンスの新しい行動インスタンスを定義することができる。また、CAREループインスタンスまたはタイプ所有者は、行動インスタンスの状況インスタンスのFSDまたは特徴を作成する前に、新しいFSDタイプまたは特徴タイプを作成することによって、CARE定義メタデータを作成することもできる。行動インスタンスは、CARE定義メタデータによって定義され、エンコードされた知識関数(SVM、MSET、BBNなどのマシン)によって実装することができる。CARE定義のいくつかの例は、図11A~11Eに示されている。
The owner of a CARE loop instance type can constrain the behavior of all instances of a certain kind. The owner of a CARE loop instance can also further customize the instance's behavior within the constraints specified by the type owner. CA
The owner of the RE Loop instance can define new behavior instances for the CARE Loop instance during execution by creating an initial behavior instance and any subsequent behavior instances. A CARE Loop instance or type owner may also create CARE definition metadata by creating a new FSD type or feature type before creating a FSD or feature for a situation instance of an action instance. Behavior instances can be implemented by knowledge functions (machines such as SVM, MSET, BBN, etc.) defined and encoded by CARE-defined metadata. Some examples of CARE definitions are shown in FIGS. 11A-11E.
インデックス(例えば、CAREループ[i].分類、CAREループ[i].評価、CAREループ[i].解決およびCAREループ[i].実施のインデックスi(i=0...n))を用いて、CAREループインスタンスから、行動インスタンスを一意的に特定することができる。CAREループインスタンスの状態は、CAREループインスタンス内の行動インスタンスに関連付けられた状況インスタンス内のFSDおよび特徴の集成、すなわち、経路式によって利用可能なFSDおよび特徴の集成、例えば、CAREループ[2].分類.認知結果.特徴[平均メモリ使用量].実体を含む。多くの行動インスタンスをKfun関数およびKfun関数のCARE定義メタデータに関連付けることができる。KIDSは、現在のループカウンタの下で実行される現在の行動インスタンスを選択することができる。現在の行動インスタンスの実行は、各行動インスタンスに指定されたガードを用いて制御される。ガードは、経路式および必須ブール演算式で指定された一連のフィルタ述語を含む。経路式、例えば、CAREループ[1].解決.指示.特徴[より多くのメモリの割当].値または認知結果.特徴[メモリ使用量の急増].値は、CAREループインスタンスまたはCAREループインスタンス内の行動インスタンスの環境で評価される。行動インスタンスが最新になると、KIDSは、対応するガードを用いて、SQLクエリ文を作成する。このようなクエリの結果は、状況(ファクト、認知結果、仮説または指令)インスタンスである。オブジェクトの変更を検出するたびに、クエリを登録するこができる。FSDまたは特徴を更新または挿入する場合、KIDSは、対応する行動インスタンスのTxn時間によって記録された最後のトランザクション時間で、登録した各クエリ文のフラッシュバッククエリを実行する。また、KIDSは、現在のトランザクション時間でクエリを実行する。状況インスタンスが2つのトランザクション間で実質的に変化する場合、KIDSは、更新された状況を用いて、行動インスタンスを起動することができる。これは、行動インスタンスに関連付けられたKfun関数の呼び出しである。Kfun関数の呼び出しおよび入出力状況インスタンスを実行した後、KIDSは、新しいトランザクション時間(Txn時間)を行動インスタンスに保存する。全ての必須FSDおよび特徴が入力状況の一部になるまで、KIDSは、Kfun関数の呼び出しを延期する。したがって、KIDSは、CAREループ行動インスタンスの実行を調整し、CAREループのカウンタを増やす。 Using an index (e.g., CARE loop[i].classification, CARE loop[i].evaluation, CARE loop[i].solution and CARE loop[i].implementation index i (i=0...n)) , a behavior instance can be uniquely identified from a CARE loop instance. The state of a CARE Loop instance is the collection of FSDs and Features in the Circumstance Instances associated with the Behavior Instances in the CARE Loop Instance, i.e. the collection of FSDs and Features available by path expressions, e.g., the CARE Loop[2]. Classification. Cognitive results. Feature [average memory usage]. Contains the entity. Many behavior instances can be associated with a Kfun function and the Kfun function's CARE definition metadata. KIDS can select the current action instance to be executed under the current loop counter. Execution of the current action instance is controlled using the guards assigned to each action instance. A guard contains a set of filter predicates specified by a path expression and a required boolean expression. A path expression, eg, CARE loop[1]. Solution. instructions. Feature [Allocate more memory]. value or cognitive outcome. Feature [rapid increase in memory usage]. Values are evaluated in the environment of a CARE Loop instance or an Behavior instance within a CARE Loop instance. Once the behavior instance is up-to-date, KIDS builds the SQL query statement with the corresponding guards. The result of such a query is a situational (fact, cognitive result, hypothesis or directive) instance. You can register a query whenever you detect a change in an object. When updating or inserting FSDs or features, KIDS executes a flashback query for each registered query statement with the last transaction time recorded by the Txn time of the corresponding behavior instance. KIDS also executes queries at the current transaction time. If the context instance changes substantially between two transactions, KIDS can use the updated context to launch the behavior instance. This is a call to the Kfun function associated with the behavior instance. After executing the Kfun function call and the I/O situation instance, KIDS saves the new transaction time (Txn time) to the action instance. KIDS defers calling the Kfun function until all required FSDs and features are part of the input context. Therefore, KIDS coordinates the execution of the CARE Loop action instance and increments the CARE Loop's counter.
状況定義は、状況内のFSDまたは特徴のFSDタイプおよび特徴タイプを指定するフィルタ定義のリストを含むことができる。また、各フィルタ定義は、YAK-Dom0.12-OVM.222=特徴.実体.オラクルVMおよび特徴.名前=ESSプロセス急増などのフィルタ述語も指定する。フィルタ定義によって指定されたフィルタ述語を用いて、Oracleデータベース式フィルタ表に式を登録することによって、現在のトランザクション内の新規FSDまたは特徴もしくは更新FSDまたは特徴によって影響され得る登録済のクエリ文を選択することができる。KIDSは、影響されたクエリ文のみに対してフラッシュバッククエリを実行することによって、状況インスタンスの変更を検出する。フィルタに経路式を使用することによって、関連する実体セットのFSDおよび特徴を状況インスタンスに集約することができる。経路式は、指定された実体モデルに対して有効にしなければならない。 A context definition can include a list of filter definitions that specify the FSD types and feature types of the FSDs or features in the context. Also, each filter definition is YAK-Dom0.12-OVM. 222 = Features. entity. Oracle VM and Features. It also specifies a filter predicate such as name=ESS process explosion. Selects registered query statements that can be affected by new or updated FSDs or features within the current transaction by registering the expression in the Oracle database expression filter table using the filter predicate specified by the filter definition can do. KIDS detects changes in context instances by executing flashback queries only on the affected query statements. By using path expressions in filters, FSDs and features of related entity sets can be aggregated into context instances. Path expressions must be valid for the specified entity model.
KIDSは、現在のループカウンタで2つ以上の現在行動の入力状況インスタンスに対する変化を検出した場合、分類<評価<解決<実施という優先順位に従って、1つの行動を選択し、実行することができる。1つ以上の現在解決行動インスタンスの実行がループカウンタに達し、一連の新しい行動インスタンスがアクティブになるまで、現在行動の入力状況インスタンスが変化すると、現在行動を反復的に実行することができる。また、新しいバージョンのKfun関数を用いて、状況インスタンスを再評価し、行動インスタンスを再実行するために、ループカウンタを低い数値にリセットすることもできる。 KIDS can select and execute one action according to the priority of classification<evaluation<solution<implementation if the current loop counter detects a change to more than one current action input context instance. The current action can be executed repeatedly as the input context instance of the current action changes until the execution of one or more current resolved action instances reaches a loop counter, activating a series of new action instances. A new version of the Kfun function can also be used to reset the loop counter to a lower number in order to re-evaluate the situation instance and re-execute the action instance.
したがって、大規模な状態管理、リッチデータモデルおよびデータタイプ、式フィルタ、フラッシュバッククエリおよび登録クエリの成熟したデータベース技術を用いて、KIDSエンジンを実装することができる。 Thus, the KIDS engine can be implemented with mature database technology for large-scale state management, rich data models and data types, expression filters, flashback queries and registration queries.
KIDS-クラウド運用の体験
KIDSエンジンは、上述したBBN、RETE、MSET、SVN等の様々な推論エンジンの相互作用を編成することができる。KIDSデータベースは、図12に示すように、ファクトデータ内のFPHDおよびCAREデータを注釈することによって、出所データのKIDSループを実現することができる。KIDSモデルは、IT運用時に、ログ解析システムおよびリアルタイム企業管理システム用のビッグデータシステムを統合することができる。この2つのシステムは、自動化島によって切断され、包囲されているビッグデータおよびCEPを表す。KIDSモデルは、動的実体モデル、ログ解析およびリアルタイム監視からの情報融合を行うことによって、リアルタイムでより高速なOODAループを可能にすることができる。
KIDS - Cloud Operations Experience The KIDS engine can orchestrate the interactions of the various inference engines such as BBN, RETE, MSET, SVN, etc. mentioned above. The KIDS database can implement the KIDS loop of provenance data by annotating the FPHD and CARE data within the fact data, as shown in FIG. The KIDS model can integrate big data systems for log analysis systems and real-time enterprise management systems during IT operations. The two systems represent big data and CEP disconnected and surrounded by islands of automation. The KIDS model can enable faster OODA loops in real-time by fusing information from dynamic entity models, log analysis and real-time monitoring.
KIDSモデルは、異なる分類知識によって推論された様々な特殊種類の認知結果、例えば、観察結果、目的、予測結果およびシミュレーション結果などの情報融合を可能にし、関連する実体間の情報融合を可能にする。図13に示す情報融合の例示的なシナリオにおいて、情報を収束する関連実体のセットは、Oracle VM、JAVA(登録商標) VM、Dom0ホスト、Dom0ホストに位置する他のOracle VMおよびJava VMを含む。動的実体モデルは、時間データベースによって管理される。 The KIDS model enables information fusion of various special kinds of cognitive outcomes, such as observations, objectives, predictions and simulation results, inferred by different taxonomic knowledge, and enables information fusion between related entities. . In the exemplary scenario of information fusion shown in Figure 13, the set of related entities converging information includes an Oracle VM, a JAVA VM, a Dom0 host, other Oracle VMs and Java VMs located on the Dom0 host. . A dynamic entity model is managed by a temporal database.
図11A~11Cに示す例示的なシナリオにおいて、「メモリ使用量の急増」および「企業スケジューラサービスプロセスの急増」特徴は、OSメモリおよびOSプロセスの測定における異常な傾向の分類の一部であり得る。図11Aおよび11Cにおける「メモリ不足予測」特徴は、時系列フィルタによって生成された認知結果の一部である。「他のOracle VM内のJVMのヒープを圧縮できる」および「他のOracle VMからメモリを再利用できる」などの追加機能は、Dom0内の全てのOracle VMに位置する全てのJava VMの平均負荷および周期性動向データを含むデータキューブに対するロールアップ操作によって予測された認知結果の一部である。KIDS実体モデルは、「Dom0に動作しているOracle VMの
目録」、「各Oracle VMに動作しているJava VMの目録」、並びに「他のOracle VM内のJVMのヒープを圧縮できる」および「他のOracle VMからメモリを再利用できる」に関する認
知結果に基づいて、状況認識を行うことができる。これらの認知結果の全ては、状況インスタンス内の共通有効時間間隔で一致する必要がある。
In the exemplary scenario illustrated in FIGS. 11A-11C, the "memory usage spike" and "enterprise scheduler service process spike" features may be part of the classification of unusual trends in OS memory and OS process measurements. . The "out of memory prediction" features in Figures 11A and 11C are part of the cognitive results produced by the time series filter. Additional features such as "can compress heaps of JVMs in other Oracle VMs" and "can reclaim memory from other Oracle VMs" are the average load of all Java VMs located in all Oracle VMs in Dom0. and some of the cognitive outcomes predicted by rollup operations on data cubes containing periodic trend data. The KIDS entity model includes "list of Oracle VMs running in Dom0", "list of Java VMs running in each Oracle VM", and "can compress heaps of JVMs in other Oracle VMs" and " Situational awareness can be based on perception results about "memory can be reused from other Oracle VMs." All of these cognitive outcomes must agree on a common valid time interval within the context instance.
KIDSモデルは、様々な推論エンジンに実装された知識関数の相互作用構造を取得することができる。図14に示すCAREループは、事実上、一連のネットワークであり、相互作用は、(行動インスタンスおよびガードインスタンスは、遷移を表し、状況インスタンスは、場所を表し、FSDおよび特徴は、トークンを表す)ペトリネット(Petri-Net)に類似する。評価関数の行動インスタンスは、図15に示すベイジアン信念ネットワ
ークによって実現される。相互作用モデルを使用することによって、KIDSは、様々な推論エンジンに関与するモデルの実行を調整することができる。
The KIDS model can capture the interaction structure of knowledge functions implemented in various inference engines. The CARE loop shown in FIG. 14 is effectively a series of networks, where the interactions are (action instances and guard instances represent transitions, situation instances represent locations, and FSDs and features represent tokens). Similar to Petri-Net. Behavioral instances of the evaluation function are implemented by the Bayesian Belief Network shown in FIG. By using interaction models, KIDS can coordinate the execution of models involving various inference engines.
図15のBBNによって示された評価知識「Oracle VMメモリの診断」は、与えられた
認知結果を診断し、「Dom0は、OVMに割り当てるメモリを有する」および「Oracle VMにより多くのメモリを割り当てる必要がある」という仮説を導出することができる。同様のネットワークは、Dom0の指令に到達する仮説を「Dom0からのメモリをOVM2に割り当てる」に組み合わせる解決知識「Oracle VMメモリの解決」を含む。評価知識は、ESSジョブを
処理した後、「OVMからメモリを再利用する必要がある」という仮説に到達することがで
きる。影響図によって示された解決知識は、「Oracle VMからメモリを再利用する」とい
うDom0の指令に到達する。「Dom0からのメモリをOracle VMに割り当てる」という指令は
、同一のDom0に位置する他のOracle VMに動作しているJava VMの完全なガベージコレクション(GC)およびヒープ圧縮をトリガする実施関数によって実施される。Java VMのヒ
ープ圧縮を行った後、実施関数は、Dom0に指示して、バルーン内のメモリを再利用するように、他のOracle VMのメモリバルーン(起動メカニズムの一部)を拡張することができ
る。これによって、Dom0は、ESSによって生成されたプロセスをサポートするように、弾性メモリをOracle VMに割り当てることができる。ESSプロセスが周期性を示すスケ
ジュール行動であるため、実施機能によるKIDSの反応的且つ予測的な対応は、周期性行動の一部となる。
The evaluation knowledge "Diagnosis of Oracle VM memory" indicated by the BBN in FIG. It is possible to derive the hypothesis that there is A similar network includes the solution knowledge 'Resolve Oracle VM memory' which combines the hypotheses of reaching Dom0's directive with 'Allocate memory from Dom0 to OVM2'. Evaluative knowledge can arrive at a hypothesis that "memory needs to be reclaimed from OVM" after processing an ESS job. The solution knowledge presented by the influence diagram leads to Dom0's directive to "reclaim memory from Oracle VM". The directive "allocate memory from Dom0 to an Oracle VM" is performed by an enforcement function that triggers full garbage collection (GC) and heap compaction of Java VMs running in other Oracle VMs located in the same Dom0. be done. After the Java VM's heap compaction, the enforcement function can instruct Dom0 to expand the memory balloon (part of the startup mechanism) of other Oracle VMs to reclaim the memory in the balloon. can. This allows Dom0 to allocate elastic memory to Oracle VM to support processes spawned by ESS. Since the ESS process is a scheduled behavior that exhibits periodicity, the reactive and predictive response of KIDS by the enforcement function becomes part of the periodic behavior.
KIDSの体験-ソフトウェアおよびハードウェア製品
以下は、KIDS設計の知識抽出および自動化体験の要約を説明する。この要約は、モジュラー製品サポートのトラブル対応行動をCAREループにマッピングし、関与する人員の個人生産性と知識および出所の正確な結合とのバランスをとる方法を示している。知識および出所の正確な結合は、経済用語およびプロセスの標準化をもたらし、最終的には知識の自動化および迅速なアプリケーションの進化につながる。この方法は、協力的且つ生産性の高い実践共同体の育成に大きく貢献することができる。
KIDS Experience - Software and Hardware Products The following describes a summary of the KIDS design knowledge extraction and automation experience. This summary shows how to map the troubleshooting behavior of modular product support to the CARE loop, balancing the individual productivity of the personnel involved with an accurate combination of knowledge and provenance. Accurate coupling of knowledge and sources will lead to standardization of economic terminology and processes, ultimately leading to knowledge automation and rapid application evolution. This method can greatly contribute to fostering cooperative and productive communities of practice.
以下のシナリオにおいて、自動インシデントまたは顧客による手動行為のいずれかは、ループインデックスi=0で始まる新しいCAREループインスタンスをインスタンス化する。この処理は、4つの段階、すなわち、問題の特定、問題の検証、原因の特定および解決策の提供から構成される。 In the following scenarios, either an automatic incident or a manual action by the customer instantiates a new CARE loop instance starting with loop index i=0. The process consists of four stages: problem identification, problem verification, cause identification and solution provision.
・問題特定段階(II-i)
指令(II-i)は、顧客の担当者からの問題に関するデータを引き出すまたはテレメトリデータを収集し、問題またはメトリック値の収集に対する回答として、ファクト(II-i)を生成する行動計画である。
・Problem identification stage (II-i)
Directives (II-i) are action plans that elicit data or collect telemetry data about problems from customer representatives and generate facts (II-i) in response to problems or collection of metric values.
ファクト(II-i)を分類することによって、観察結果として知られる認知結果(II)を得る。 By classifying facts (II-i), we obtain cognitive outcomes (II), known as observations.
認知結果(II-i)を評価することによって、潜在的な問題として知られる仮説(II-i)を得る。 By assessing the cognitive outcomes (II-i), we obtain hypotheses (II-i) known as potential problems.
仮説(II-i)を解決することによって、初期データ収集の行動計画として知られる指令(IV-i+1)を得る。 Solving hypotheses (II-i) yields directives (IV-i+1), known as action plans for initial data collection.
・問題検証ループ(IV-i)
指令(IV-i)を実施することによって、一連のログファイルおよびトレースファイルであるファクト(IV-i)を生成する。
・Problem verification loop (IV-i)
Executing Directives (IV-i) produces Facts (IV-i) which are a series of log and trace files.
ファクト(IV-i)を解析(分類)することによって、一連の観察結果である認知結
果(IV-i)を得る。
By analyzing (classifying) the facts (IV-i), we obtain cognitive results (IV-i), which are a series of observations.
認知結果(IV-i)を評価することによって、検証されたまたは検証されていない問題である仮説(IV-i)を得る。 Evaluating the cognitive outcomes (IV-i) yields hypotheses (IV-i) that are either tested or untested problems.
問題が検証された場合、原因決定に進み、指令(CD-i+1)を作成することによって原因(故障状態)を決定する。そうでない場合、指令(II-i+1)を作成することによって問題特定に戻る。 If the problem is verified, proceed to cause determination and determine the cause (failure condition) by creating a command (CD-i+1). Otherwise, return to problem identification by creating directive (II-i+1).
・原因決定ループ(CD-i)
指令(CD-i)を実施することによって、追加のログファイル、トレースファイルおよび構成データの形で、ファクト(CD-i)を生成する。
・Cause determination loop (CD-i)
Executing Directives (CD-i) produces Facts (CD-i) in the form of additional log files, trace files and configuration data.
ファクト(CD-i)を解析することによって、追加の観察結果である認知結果(CD-1)を得る。 An additional observation, the cognitive outcome (CD-1), is obtained by analyzing the facts (CD-i).
認知結果(CD-i)を評価することによって、故障状態として知られる仮説(CD-i)を生成する。 By evaluating the cognitive outcomes (CD-i), hypotheses (CD-i) known as fault conditions are generated.
高い信頼度をもって仮説(CD-i)を発見した場合、指令(SP-i+1)(解決行動計画)を作成する。そうでない場合、更なるデータを収集するための指令(CD-i+1)を生成することによって、潜在的な原因をさらに究明する。 If a hypothesis (CD-i) is found with high confidence, a directive (SP-i+1) (solution action plan) is created. If not, further investigate the potential cause by generating a directive (CD-i+1) to collect more data.
・解決案計画ループ(SP-i)
指令(SP-i)は、仮説の原因によって引き起こされた問題を修正し、解決策を検証するために追加データを収集する一連の行動である。これらの行動は、実施されると、ファクト(SP-i)を生成する。
・Solution planning loop (SP-i)
A directive (SP-i) is a series of actions that correct the problem caused by the hypothesized cause and collect additional data to validate the solution. These actions, when performed, produce facts (SP-i).
ファクト(SP-i)を解析することによって、解決策の観察結果である認知結果(SP-i)を得る。 By analyzing the facts (SP-i), we obtain the cognitive results (SP-i), which are the observed results of the solution.
認知結果(SP-i)を評価することによって、解決策が問題を解決できるか否かを検証する仮説(SP-i)を生成する。 By evaluating the cognitive outcomes (SP-i), generate hypotheses (SP-i) that test whether the solution can solve the problem.
仮説(SP-i)が解決策を検証した場合、CAREループを終止させる指令(NO-OP-END)を提供する。そうでない場合、指示(CD-i+1)を作成することによって原因
決定に戻り、または指示(SP-i+1)を作成することによって新たな解決案を試みる。
If the hypothesis (SP-i) verifies the solution, provide an instruction (NO-OP-END) to terminate the CARE loop. If not, go back to cause determination by making a directive (CD-i+1) or try a new solution by making a directive (SP-i+1).
上述した特定のCAREループ内のいずれかの行動は、プロセスの成熟度およびループを所有する支援チームの明示的知識ならびにドメインの複雑性に応じて、手動、部分自動化または完全自動化で実行されてもよい。KIDS解析サービスを利用して、部分自動化または完全自動化の準備が整った手動行動を適格にする。そのような行動は、十分な成熟度に達し、自動化するための経済的に妥当なROIを有しなければならない。データ収集の自動化は、製品に組み込まれた診断可能なフレームワークを介して達成され、重大な問題の最初の失敗データの取得およびより深い識見を得るためのオンデマンド計測を実現した。迅速な展開を実現するために、自動化要素は、宣言的な方法で指定され、検出は、完全に自動化され、自動化の迅速なターンアラウンドを保証する。KIDSプラグインフレームワークを利用して、ドメイン特有サービスおよび知識、例えば、ドメイン特有オントロジーリポジトリ、解析モジュールの自動検出フレームワークをサポートするXMLに基
づく診断データ解析フレームワークを含むことができる。データ解析の自動化は、収集したデータをXML正準表現に変換し、XPATHルール内のデータ解析ルールを指定することによって達成される。XPATHにおいて簡単に指定できない複雑なパターンについて、Javaで再利用可能なデータ解析パターンのライブラリを開発することができる。診断を自動化するために、手動モデリングは、自動化のために実行可能な唯一の方法ある。また、KIDSプラグインフレームワークを利用して、ベイジアン信念ネットワークに基づくモデリング、自動検出および自動化フレームワークを含むことができる。実際に、KIDS CAREループを利用して、これらのモデルの構築および検査を行うこともできる。ベイジアン信念ネットワーク(BBN)を用いて、診断をモデル化することができる。BBNは、機械学習を妨げる問題空間の散生性質によって、理想的なパラダイムを提供した。BBNを構築することによって、診断結果の説明および不完全且つ異常な入力データの処理に役立つ。
Any of the actions within the particular CARE loop described above may be performed manually, partially or fully automatically, depending on the maturity of the process and the explicit knowledge of the support team owning the loop as well as the complexity of the domain. good. Utilize the KIDS analysis service to qualify manual actions that are ready for partial or full automation. Such activities must reach sufficient maturity and have an economically viable ROI for automation. Data collection automation is achieved through a diagnostic framework built into the product, enabling first-failure data capture of critical issues and on-demand instrumentation for deeper insight. To achieve rapid deployment, automation elements are specified in a declarative manner and detection is fully automated, ensuring rapid turnaround of automation. The KIDS plugin framework can be utilized to include an XML-based diagnostic data analysis framework that supports domain-specific services and knowledge, eg, a domain-specific ontology repository, an auto-discovery framework for analysis modules. Automation of data analysis is achieved by transforming collected data into an XML canonical representation and specifying data analysis rules within XPATH rules. For complex patterns that cannot be easily specified in XPATH, libraries of reusable data analysis patterns can be developed in Java. To automate diagnosis, manual modeling is the only viable method for automation. The KIDS plugin framework can also be utilized to include modeling, auto-detection and automation frameworks based on Bayesian belief networks. In fact, the KIDS CARE loop can also be used to build and test these models. A Bayesian Belief Network (BBN) can be used to model diagnosis. BBN provided an ideal paradigm due to the scattered nature of the problem space that hinders machine learning. Building a BBN helps explain diagnostic results and handle incomplete and abnormal input data.
また、手動行動の個人生産性をサポートするために、ガイド付きタグ付け、ハッシュタグ拡張およびインライン行動計画仕様の形のKIDSを個人生産性サービスに使用することができる。詳しくは、用語の標準化を可能にするために、ガイド付きタグ付けを利用することができる。パーソナル用語を定義するために、ハッシュタグ拡張を利用することができる。KIDSを用いて、行動計画の取得および共有を行うために、インライン行動計画仕様を検討することができ、データ解析ルールセットの取得および共有を行うために、セルフサービス式個人データ解析の自動化を検討することができる。これらの様々な例は、一方では個人的な権限委譲を提供することができ、他方ではコミュニティの共有および合作を可能にする。例えば、タグ付けは、個人知識の組織化および検索を可能にする。ガイド付きタグ付けは、標準化タグセットに対するコミュニティの集中を可能にする。また、ハッシュタグ拡張ユーザ体験サービスは、テキスト文例集または用語定義を一度指定した後、個人レベルで複数回に再利用することを支援し、コミュニティがこれらの定義を共有できるようにすることを目的としている。最後に、インライン行動計画によって、個人レベルで再利用可能な行動計画を作成することができ、行動計画の行為者がチェックリストとして行動計画を活用することができる。行動計画は、コミュニティレベルで共有および交換することができる。全てのこのようなユーザ体験サービスは、個人的な権限委譲をサポートすると共に、行動コミュニティが最良行動および共通用語に集中することを支援する。 KIDS in the form of guided tagging, hashtag extensions and inline action planning specifications can also be used for personal productivity services to support personal productivity of manual actions. Specifically, guided tagging can be utilized to allow standardization of terminology. Hashtag extensions can be used to define personal terms. With KIDS, in-line action plan specifications can be considered for capturing and sharing action plans, and automation of self-service personal data analysis can be considered for capturing and sharing data analysis rule sets. can do. These various examples can provide personal empowerment on the one hand, and enable community sharing and collaboration on the other. For example, tagging allows personal knowledge to be organized and searched. Guided tagging enables community focus on a standardized set of tags. In addition, the Hashtag Extended User Experience Service aims to help the community to share these definitions by helping individuals specify text phrasebooks or term definitions once and then reuse them multiple times. and Finally, inline action plans allow the creation of reusable action plans at the individual level, allowing action plan actors to leverage the action plan as a checklist. Action plans can be shared and exchanged at the community level. All such user experience services support personal delegation and help the action community focus on best practices and common language.
KIDSの体験-患者介護
患者介護KIDSプロジェクトの目的は、分類および出所にある。出所をサポートするために、全ての患者記録は、トランザクション時間データベースに管理される。登録クエリおよびモデルを用いて、分類を管理する。誤報を減らすために、医師は、分類を個体患者のレベルまで調整することができる。生命徴候について、正常、監視、深刻および危篤の分類を使用した。これらの分類を使用するように、登録クエリを表現することができる。その結果、医師は、自分の言語で、例えば、患者Xの少なくとも1つの生命徴候が2分以上に危篤になった場合、私に通知するという規則を定義することができる。このような規則は、分類の詳細とは独立しているため、少量でも十分であり、安定である。
The KIDS Experience - Patient Care The purpose of the Patient Care KIDS project is classification and provenance. To support provenance, all patient records are managed in a transaction-time database. Manage classification using registered queries and models. To reduce false alarms, physicians can adjust the classification down to the level of individual patients. Vital signs were classified as normal, monitored, severe and critical. Registration queries can be expressed to use these classifications. As a result, the doctor can define a rule in his own language, for example, to notify me if at least one vital sign of patient X becomes critical for more than 2 minutes. Such rules are independent of classification details, so a small number is sufficient and stable.
さらに、非仮説駆動モデルを用いて、数時間後に心臓が停止する可能性を予測することができる。驚くべき結果は、生命徴候、特に最新のデータが利用可能な生命徴候は、「長期」予測には重要ではないことである。KIDS技術は、そのようなイベントまたは良好ではないエンドユーザの抽象化を示すことができる。インシデントオブジェクトという用語を使用できる。アイデアは、状況(状態)モデルに進化することができる。いくつかの実施形態は、単に、ファクト、分類および認知結果の管理に関与する。プロジェクトが完了した後、CAREループの他の要素を追加することができる。 In addition, non-hypothetical driven models can be used to predict the likelihood that the heart will stop after a few hours. A surprising result is that vital signs, especially those for which the most recent data are available, are not important for 'long term' prediction. KIDS technology can present an abstraction of such events or bad end-users. You can use the term incident object. Ideas can evolve into situational (state) models. Some embodiments are simply concerned with managing facts, classifications and cognitive outcomes. Other elements of the CARE loop can be added after the project is complete.
KIDSデータベースの仕様
いくつかの実施形態において、KIDSモデルを実装するために使用されたデータベースは、特定の要件または仕様を満たす必要がある。場合によって、KIDSデータベースは、ユーザがCAREループインスタンスを照会できるように宣言型照会言語を提供することができる。SQLを使用して、宣言型言語モデルを提供することができる。しかしながら、SQLは、アトミックデータ(atomic data)しか照会できない。KIDSを照会
するために、CAREループインスタンスのセットを照会するようにSQLを拡張する必要がある。SQLは、一次キー/外部キーを用いてデータ間のリンクを照会できるが、再帰グラフ走査(recursive graph traversal)に関与するCAREループインスタンスお
よび行動インスタンスの照会に制限される。SQLにおけるグラフ走査の宣言構成の最も近いサポートは、再帰クエリである。しかしながら、再帰クエリは、元の再帰構造から得られた結果ではなく、表形式で最終結果を提供する。したがって、KIDS照会言語によって、ユーザは、CAREループパスを照会および走査して、行動インスタンスが状況インスタンスにどのように依存しているかおよびKfun知識関数がどのように適用されているかを確認することができる。
KIDS Database Specifications In some embodiments, the database used to implement the KIDS model must meet certain requirements or specifications. In some cases, the KIDS database may provide a declarative query language to allow users to query CARE loop instances. SQL can be used to provide a declarative language model. However, SQL can only query atomic data. To query KIDS, we need to extend SQL to query a set of CARE loop instances. SQL can query links between data using primary/foreign keys, but is limited to querying CARE loop instances and action instances that involve recursive graph traversal. The closest support for declarative constructs of graph traversal in SQL is recursive queries. However, the recursive query provides the final results in tabular form rather than the results obtained from the original recursive structure. Thus, the KIDS query language allows users to query and traverse the CARE loop paths to see how behavior instances depend on situation instances and how Kfun knowledge functions are applied. .
また、KIDSデータベースは、KIDS要素を操作するための宣言型操作言語を提供することができる。CAREループは、何が起こったのかを追跡することができる。しかしながら、ユーザは、ある種類の方法で、知識、例えば「what ifクエリ」を変更した場
合、DMLを用いて、何が起こったのかまたは何が起きるかを断言することができる。したがって、ユーザは、新しい知識を用いて履歴データを評価することによって、履歴データから新しい識見を得ることができる。このことは、過去への時間トラバーサルと同様である。さらに、ユーザは、異なるバージョンの知識を用いて、複数のCAREループをフォークすることによって、将来のデータを断言することができる。このことは、過去への時間トラバーサルと同様である。
The KIDS database can also provide a declarative manipulation language for manipulating KIDS elements. A CARE loop can keep track of what happened. However, if a user changes knowledge in some kind of way, eg a "what if query", DML can be used to assert what happened or what will happen. Thus, a user can gain new insights from historical data by evaluating it with new knowledge. This is similar to time traversal into the past. Additionally, the user can assert future data by forking multiple CARE loops with different versions of knowledge. This is similar to time traversal into the past.
KIDSツールの仕様
KIDSのツールセットは、KIDSアプリケーションを構築する際にユーザを支援できると共に、基礎となるインフラストラクチャの様々な制御、すなわち、ユーザフィードバックに基づく知識の進化および新しいデータによる知識の再度特徴付けを指定することもできる。
Specification of KIDS Tools The KIDS toolset can assist users in building KIDS applications as well as various controls over the underlying infrastructure: evolution of knowledge based on user feedback and re-characterization of knowledge with new data. You can also specify a date.
KIDSアプリケーションサーバ
KIDSアプリケーションサーバは、データベースに格納されたKIDSデータ、知識およびプロセスモデルを用いて、KIDSアプリケーションの実行をサポートすることができる。KIDSアプリケーションサーバは、明白な出所を表す情報を伝達し、状態管理およびイベント処理をデータベースに委譲することができる。
KIDS Application Server The KIDS application server can support the execution of KIDS applications using KIDS data, knowledge and process models stored in databases. The KIDS application server can communicate information representing unambiguous provenance and delegate state management and event handling to the database.
KIDSの最適化
KIDSデータベースは、トランザクションのACID特性をサポートするように設計されてもよい。ファクトの収集は、完全の耐久性または低下した耐久性を必要とするため、データモデルおよびタイプと共に、セキュリティ、圧縮、圧縮、タイムトラベルおよび出所などを全てサポートするデータベースサービスが必要である。耐久性は、ユーザの要求、例えば、データの全て>x%または出所の質問を回答できる十分高い精度によって制御されなければならない。また、このサービスは、高性能分類をサポートしなければならない。ACID要件を緩和することによって、リソース消費を大幅に削減することができる。この目的のために、特別なデータベースを検討することができるが、全ての要件に対応できる機能を有する必要がある。したがって、一部の手法は、進化するパターンに応じて、既存のデータベースを最適化し、ハードウェアアクセラレーションを活用することを含む。
KIDS Optimization The KIDS database may be designed to support the ACID properties of transactions. Fact collection requires full or reduced durability, so we need a database service that supports data models and types as well as security, compression, compression, time travel and provenance, etc. all. Durability must be controlled by user requirements, eg, all >x% of the data or accuracy high enough to answer questions of provenance. The service must also support high performance classification. By relaxing the ACID requirements, resource consumption can be significantly reduced. For this purpose, a special database can be considered, but it should have the functionality to meet all requirements. Some approaches therefore involve optimizing existing databases and leveraging hardware acceleration in response to evolving patterns.
分散処理のためのKIDSサポート
いくつかの実施形態において、KIDSは、基礎となるインフラストラクチャを活用するように、分散環境で動作することができる。
KIDS Support for Distributed Processing In some embodiments, KIDS can operate in a distributed environment to leverage the underlying infrastructure.
ソーシャルネットワーキングおよび個別化の統合
いくつかの実施形態において、ソーシャルネットワーキングは、KIDSの不可欠な部分である。個別化は、特定分野に関わり、グループまたは個人の好みに基づいて知識を個別化することができる。例えば、患者介護の使用事例は、個別化の重要性を示している。
Integrating Social Networking and Personalization In some embodiments, social networking is an integral part of KIDS. Personalization can be concerned with specific areas and individualize knowledge based on group or individual preferences. For example, the patient care use case illustrates the importance of personalization.
KIDSの移行
移行サポートに関して、既存の機能を維持するために、既存のアプリケーションを続けて動作させることができるが、KIDSモデルに基づいて、「シャドー」アプリケーションを作成することもできる。場合によって、「シャドー」アプリケーションは、クローリングすることによって、既存のシステムのデータを監視する。しかしながら、既存の技術の一部と共に、新しい機能をKIDSに実装することもできる。
KIDS Migration With regard to migration support, existing applications can continue to work in order to maintain existing functionality, but based on the KIDS model, "shadow" applications can also be created. In some cases, "shadow" applications monitor data in existing systems by crawling. However, along with some existing technology, new functionality can also be implemented in KIDS.
Claims (13)
コンピュータシステムが、多時間データベース内の1つ以上のデータオブジェクトに対して第1データ変換プロセスを呼び出すことと、
前記第1データ変換プロセスを呼び出すことに応答して、
(a)前記コンピュータシステムが、前記第1データ変換プロセスに関連する第1時間を決定し、
(b)前記コンピュータシステムが、前記多時間データベース内に格納された第1セットの多時間データ項目に基づいて結果を計算するように構成された第1フィルタクエリの第1実行を行い、
(c)前記コンピュータシステムが、(i)前記第1セットの多時間データ項目に対応するデータと、(ii)前記第1フィルタクエリの前記実行の第1結果と、(iii)前記第1データ変換プロセスに関連する前記第1時間とを格納することと、
前記コンピュータシステムが、多時間データベースに格納されたデータの複数のデータ更新を受信することと、
前記コンピュータシステムが、前記受信した複数のデータ更新の各々の有効時間を決定することと、
前記受信したデータ更新に基づいて、前記多時間データベース内の1つ以上の多時間データ項目を更新することとを含み、前記多時間データ項目を更新することは、前記受信した1つ以上のデータ更新の各々の前記決定された有効時間および別個のトランザクション時間を格納することと、
前記複数のデータ更新の受信に応答して、前記複数のデータ更新が、前記多時間データベース内の前記第1セットの多時間データ項目のいずれかを変更したか否かを判断することと、
前記複数のデータ更新が、前記多時間データベース内の前記第1セットの多時間データ項目のうち、1つ以上の多時間データ項目を変更したという判断に応答して、
(a)前記コンピュータシステムが、第2結果を計算するように前記第1フィルタクエリの第2実行を行い、前記第1フィルタクエリの前記第2実行は、現在の時間に対応し且つ前記多時間データベース内の前記第1セットの多時間データ項目のうち、変更された前記1つ以上の多時間データ項目を含む多時間データを使用し、
(b)前記現在の時間に対応する多時間データを用いた前記第1フィルタクエリの前記第2実行の第2結果と、前記第1データ変換プロセスに関連する前記第1時間に対応する前記多時間データを用いた前記第1フィルタクエリの前記第1実行の前記第1結果との間の差を決定し、
(c)前記差を所定の閾値と比較し、前記所定の閾値は、前記多時間データ内の1つ以上のオブジェクトの値の変更に少なくとも部分的に基づいて決定され、前記所定の閾値は、前記第1データ変換プロセスの第2呼び出しを決定するために使用され、
(d)前記差が前記所定の閾値より大きいという判断に応答して、前記多時間データベース内の前記1つ以上のデータオブジェクトに対して前記第1データ変換プロセスの前記第2呼び出しを実行すること、
前記第1データ変換プロセスを呼び出した後、前記第1データ変換プロセスを引き起こすデータ更新のセットを決定するためのリクエストを受信することと、
前記リクエストに応答して、前記コンピュータシステムから、前記第1セットの多時間データ項目を含む複数の多時間データ項目を検索することと、
前記複数の多時間データ項目のうち、前記第1データ変換プロセスを引き起こした多時間データ項目を判断することとを含み、前記判断は、前記検索された複数の時空間データ項目の前記有効時間および前記別個のトランザクション時間に基づき、前記第1データ変換プロセスを引き起こしたと判断された前記多時間データ項目を特定するデータを含む、前記受信したリクエストへの応答を送信することとを含み、
前記複数の多時間データ項目のうち、前記第1データ変換プロセスの前記第2呼び出しを引き起こした多時間データ項目を判断することは、
前記複数の多時間データ項目内の第1更新データ項目が、前記第1データ変換プロセスの前記第2呼び出しよりも前の有効時間および前記第1データ変換プロセスの前記第2呼び出しよりも後のトランザクション時間を有することを判断することと、
前記第1更新データ項目の前記トランザクション時間が前記第1データ変換プロセスの前記第2呼び出しの後であるという判断に基づいて、前記第1更新データ項目が、前記第1データ変換プロセスの前記第2呼び出しを引き起こした前記データ更新のセットに含まれていないことを判断することとを含む、方法。 A method for a computer to perform data transformation processing in a multi-time database, comprising:
a computer system invoking a first data transformation process on one or more data objects in the multi-temporal database;
In response to invoking the first data conversion process,
(a) the computer system determines a first time associated with the first data conversion process;
(b) the computer system performs a first execution of a first filter query configured to calculate results based on a first set of multi-temporal data items stored in the multi-temporal database;
(c) the computer system configured to: (i) data corresponding to the first set of multi-temporal data items; (ii) a first result of the execution of the first filter query ; (iii) the first data; storing the first time associated with the conversion process;
the computer system receiving multiple data updates of data stored in a multi-time database;
the computer system determining an expiration time for each of the received plurality of data updates;
updating one or more multi-temporal data items in the multi-temporal database based on the received data updates, wherein updating the multi-temporal data items comprises: storing the determined validity time and a separate transaction time for each of the updates;
responsive to receiving the plurality of data updates, determining whether the plurality of data updates changed any of the first set of multi-temporal data items in the multi-temporal database;
in response to determining that the plurality of data updates changed one or more multi-temporal data items in the first set of multi-temporal data items in the multi-temporal database;
(a) said computer system performs a second execution of said first filter query to compute a second result, said second execution of said first filter query corresponding to a current time and said multiple time period; using multi-temporal data including the modified one or more multi-temporal data items of the first set of multi-temporal data items in a database;
(b) a second result of said second execution of said first filter query using multi-temporal data corresponding to said current time; and said multi-temporal data corresponding to said first time associated with said first data transformation process ; determining a difference between the first result of the first execution of the first filter query using time data;
(c) comparing the difference to a predetermined threshold, the predetermined threshold determined based at least in part on changes in values of one or more objects within the multi-temporal data, the predetermined threshold comprising: used to determine a second invocation of the first data transformation process;
(d) performing the second invocation of the first data transformation process on the one or more data objects in the multi-temporal database in response to determining that the difference is greater than the predetermined threshold; ,
After invoking the first data transformation process, receiving a request to determine a set of data updates that trigger the first data transformation process;
retrieving a plurality of multi-temporal data items, including the first set of multi-temporal data items, from the computer system in response to the request;
determining a multi-temporal data item among the plurality of multi-temporal data items that triggered the first data transformation process, wherein the determination includes the valid time and the validity time of the retrieved plurality of spatiotemporal data items. sending a response to the received request including data identifying the multi-time data item determined to have caused the first data transformation process based on the separate transaction time;
Determining the multi-temporal data item among the plurality of multi-temporal data items that caused the second invocation of the first data transformation process comprises:
A first updated data item in the plurality of multi-time data items has a valid time before the second call of the first data transformation process and a transaction after the second call of the first data transformation process. determining to have time;
Based on the determination that the transaction time of the first updated data item is after the second invocation of the first data transformation process, the first updated data item is processed by the second invocation of the first data transformation process. and determining not included in the set of data updates that caused the call .
前記第2データオブジェクトと、前記第2データオブジェクトと同じ種類の別のデータオブジェクトとの間の差を決定することとを含み、前記別のデータオブジェクトは、前記第1データ変換プロセスの第1呼び出しによって生成され、
前記第2データオブジェクトと前記別のデータオブジェクトとの間の前記差が第2所定の閾値より大きいという判断に基づいて、前記第2データオブジェクトに対して第2データ変換プロセスを呼び出すことをさらに含む、請求項1~3のいずれか1項に記載の方法。 storing a second data object corresponding to the result of the second invocation of the first data transformation process;
determining a difference between the second data object and another data object of the same type as the second data object, wherein the another data object is a first invocation of the first data transformation process; generated by
Further comprising invoking a second data transformation process for the second data object based on determining that the difference between the second data object and the another data object is greater than a second predetermined threshold. , the method according to any one of claims 1 to 3.
前記方法は、
前記コンピュータシステムに格納されている前記多時間データの1つ以上の追加更新を受信することと、
前記受信した追加更新に基づいて、前記1つ以上の多時間データ項目を更新することと、
前記多時間データの前記追加更新を用いて、前記第1フィルタクエリの第3実行を行うことと、
前記第2データ変換プロセスの過去の実行時間に対応する多時間データを用いて、前記第1フィルタクエリの第4実行を行うことと、
前記第1フィルタクエリの前記第3実行の結果と前記第1フィルタクエリの前記第4実行の結果との間の差を決定することと、
前記差を所定の閾値と比較することと、
前記差が前記所定の閾値よりも大きいと判断した場合、前記データ変換処理を再度呼び出すこととをさらに含む、請求項4に記載の方法。 said first data transformation process and said second data transformation process being part of a continuous data transformation loop application;
The method includes
receiving one or more additional updates to the multi-temporal data stored on the computer system;
updating the one or more multi-temporal data items based on the received additional updates;
performing a third execution of the first filter query using the additional updates of the multi-temporal data;
performing a fourth execution of the first filter query using multi-temporal data corresponding to past execution times of the second data transformation process;
determining a difference between results of the third execution of the first filter query and results of the fourth execution of the first filter query ;
comparing the difference to a predetermined threshold;
5. The method of claim 4, further comprising reinvoking the data conversion process if determining that the difference is greater than the predetermined threshold.
1つ以上の多時間データ項目の更新を行う第1トランザクションの外部で、前記第1トランザクションと非同期に実行され、
前記第1データ変換プロセスの前記第1呼び出しおよび前記第2呼び出しは、前記第1トランザクションの外部で、前記第1トランザクションと非同期に実行される、請求項5に記載の方法。 performing the first execution and the second execution of the first filter query ; and comparing the difference between the first execution and the second execution of the first filter query to the predetermined threshold. is executed outside and asynchronously with the first transaction that updates the one or more multi-time data items;
6. The method of claim 5, wherein said first and said second invocations of said first data transformation process are performed outside said first transaction and asynchronously with said first transaction.
前記複数の多時間データ項目内の第1更新データ項目が、前記第1データ変換プロセスの前記第2呼び出しよりも後の有効時間を有することを判断することと、
前記第1更新データ項目の前記有効時間が前記第1データ変換プロセスの前記第2呼び出しの後であるという判断に基づいて、前記第1更新データ項目が、前記第1データ変換プロセスの前記第2呼び出しを引き起こした前記データ更新のセットに含まれていないことを判定することとを含む、請求項1~8のいずれか1項に記載の方法。 Determining the multi-temporal data item among the plurality of multi-temporal data items that caused the second invocation of the first data transformation process comprises:
determining that a first updated data item in the plurality of multi-time data items has a validity time later than the second invocation of the first data transformation process;
Based on the determination that the validity time of the first updated data item is after the second invocation of the first data transformation process, the first updated data item is processed by the second call of the first data transformation process. and determining not included in the set of data updates that caused the call.
前記プログラムを実行するプロセッサとを含む、システム。 a memory for storing the program according to claim 12 ;
and a processor that executes the program.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/665,171 | 2015-03-23 | ||
US14/665,171 US10740358B2 (en) | 2013-04-11 | 2015-03-23 | Knowledge-intensive data processing system |
JP2017546680A JP7064333B2 (en) | 2015-03-23 | 2016-03-10 | Knowledge-intensive data processing system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546680A Division JP7064333B2 (en) | 2015-03-23 | 2016-03-10 | Knowledge-intensive data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021108127A JP2021108127A (en) | 2021-07-29 |
JP7142116B2 true JP7142116B2 (en) | 2022-09-26 |
Family
ID=55590161
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546680A Active JP7064333B2 (en) | 2015-03-23 | 2016-03-10 | Knowledge-intensive data processing system |
JP2021020802A Active JP7142116B2 (en) | 2015-03-23 | 2021-02-12 | Knowledge-intensive data processing system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546680A Active JP7064333B2 (en) | 2015-03-23 | 2016-03-10 | Knowledge-intensive data processing system |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3274869A1 (en) |
JP (2) | JP7064333B2 (en) |
CN (1) | CN107430613B (en) |
WO (1) | WO2016153790A1 (en) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495395B2 (en) | 2013-04-11 | 2016-11-15 | Oracle International Corporation | Predictive diagnosis of SLA violations in cloud services by seasonal trending and forecasting with thread intensity analytics |
US10740358B2 (en) | 2013-04-11 | 2020-08-11 | Oracle International Corporation | Knowledge-intensive data processing system |
US11443206B2 (en) | 2015-03-23 | 2022-09-13 | Tibco Software Inc. | Adaptive filtering and modeling via adaptive experimental designs to identify emerging data patterns from large volume, high dimensional, high velocity streaming data |
US11327797B2 (en) | 2016-05-09 | 2022-05-10 | Oracle International Corporation | Memory usage determination techniques |
CN108805818B (en) * | 2018-02-28 | 2020-07-10 | 上海兴容信息技术有限公司 | Content big data density degree analysis method |
CN108319437B (en) * | 2018-02-28 | 2019-01-11 | 上海熙香艺享电子商务有限公司 | Content big data concentration analysis platform |
TWI669668B (en) * | 2018-03-21 | 2019-08-21 | 兆豐國際商業銀行股份有限公司 | Data management device and data management method |
CN108595644A (en) * | 2018-04-26 | 2018-09-28 | 宁波银行股份有限公司 | A kind of big data platform operation management system |
CN108804556B (en) * | 2018-05-22 | 2020-10-20 | 上海交通大学 | Distributed processing framework system based on time travel and temporal aggregation query |
CN109104378B (en) * | 2018-08-17 | 2019-08-20 | 四川新网银行股份有限公司 | The pre- recovery method of intelligent token based on time series forecasting |
CN109242550B (en) * | 2018-08-21 | 2021-09-21 | 首钢京唐钢铁联合有限责任公司 | Steel process cost prediction system |
US11481379B2 (en) | 2018-11-01 | 2022-10-25 | Hewlett-Packard Development Company, L.P. | Metadata variance analytics |
CN111527508B (en) * | 2018-12-03 | 2023-08-29 | 戴斯数字有限责任公司 | Data interaction platform utilizing dynamic relationship cognition |
US11182362B2 (en) | 2019-01-16 | 2021-11-23 | Kabushiki Kaisha Toshiba | Calculating device, data base system, calculation system, calculation method, and storage medium |
CN116541451A (en) * | 2019-02-02 | 2023-08-04 | 创新先进技术有限公司 | Data export method and device |
US20200310449A1 (en) * | 2019-03-26 | 2020-10-01 | GM Global Technology Operations LLC | Reasoning system for sensemaking in autonomous driving |
US11544566B2 (en) | 2019-06-03 | 2023-01-03 | International Business Machines Corporation | Deep learning model insights using provenance data |
EP3754445A1 (en) * | 2019-06-17 | 2020-12-23 | Siemens Aktiengesellschaft | Computer-assisted configuration of a technical system |
JP7372530B2 (en) * | 2019-10-07 | 2023-11-01 | 横浜ゴム株式会社 | Kneading abnormality degree learning device, learned model generation method and program |
CN110750384A (en) * | 2019-10-15 | 2020-02-04 | 浙江众鑫空间科技有限公司 | Big data management system |
US11502905B1 (en) | 2019-12-19 | 2022-11-15 | Wells Fargo Bank, N.A. | Computing infrastructure standards assay |
US11237847B1 (en) | 2019-12-19 | 2022-02-01 | Wells Fargo Bank, N.A. | Automated standards-based computing system reconfiguration |
CN111506349A (en) * | 2020-04-30 | 2020-08-07 | 中科院计算所西部高等技术研究院 | Calculation board card with OODA (on-off-the-digital-analog) multiprocessor |
CN112422234B (en) * | 2020-11-06 | 2021-08-13 | 应急管理部通信信息中心 | Data management service method for self-adaptive deep learning based on time perception |
CN112990767B (en) * | 2021-04-20 | 2021-08-20 | 上海领健信息技术有限公司 | Vertical consumption medical SaaS production data calculation method, system, terminal and medium |
US12088463B1 (en) | 2023-01-27 | 2024-09-10 | Wells Fargo Bank, N.A. | Automated configuration of software applications |
CN116646061B (en) * | 2023-04-28 | 2024-01-26 | 西安交通大学 | Distributed CT imaging and intelligent diagnosis and treatment system and method |
CN117744795B (en) * | 2023-12-08 | 2024-08-16 | 拓元(广州)智慧科技有限公司 | Multi-agent collaborative knowledge reasoning framework and system based on large language model |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011055355A (en) | 2009-09-03 | 2011-03-17 | Oki Electric Industry Co Ltd | Wireless communication apparatus and program, and, wireless communication system |
WO2014169056A1 (en) | 2013-04-11 | 2014-10-16 | Oracle International Corporation | Predictive diagnosis of sla violations in cloud services by seasonal trending and forecasting with thread intensity analytics |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2828609B2 (en) * | 1994-09-22 | 1998-11-25 | 株式会社エイアンドティー | Clinical laboratory analyzer |
JP4405658B2 (en) * | 2000-11-01 | 2010-01-27 | 住友林業株式会社 | Housing management method |
CN101231642A (en) * | 2007-08-27 | 2008-07-30 | 中国测绘科学研究院 | Space-time database administration method and system |
US8001115B2 (en) * | 2008-10-16 | 2011-08-16 | The Curators Of The University Of Missouri | Identifying geographic-areas based on change patterns detected from high-resolution, remotely sensed imagery |
CN102411599A (en) * | 2011-08-01 | 2012-04-11 | 中国民生银行股份有限公司 | Method for processing abnormal behaviors in data base and monitoring server |
US8965889B2 (en) * | 2011-09-08 | 2015-02-24 | Oracle International Corporation | Bi-temporal user profiles for information brokering in collaboration systems |
CN102651020B (en) * | 2012-03-31 | 2014-01-15 | 中国科学院软件研究所 | Method for storing and searching mass sensor data |
CN102799621B (en) * | 2012-06-25 | 2015-03-25 | 国家测绘局卫星测绘应用中心 | Method for detecting change of vector time-space data and system of method |
JP2014021585A (en) * | 2012-07-13 | 2014-02-03 | Sharp Corp | Network system and information processing device |
US8812489B2 (en) * | 2012-10-08 | 2014-08-19 | International Business Machines Corporation | Swapping expected and candidate affinities in a query plan cache |
US9734161B2 (en) * | 2013-03-15 | 2017-08-15 | The Florida International University Board Of Trustees | Streaming representation of moving objects and shapes in a geographic information service |
US9299113B2 (en) * | 2013-09-13 | 2016-03-29 | Microsoft Technology Licensing, Llc | Social media driven information interface |
CN103779808A (en) * | 2013-12-30 | 2014-05-07 | 国家电网公司 | Power transmission line intelligent inspection system based on LiDAR |
CN104408137B (en) * | 2014-11-28 | 2018-11-13 | 武汉大学 | A kind of network statistics map visualization data preparation method |
-
2016
- 2016-03-10 WO PCT/US2016/021642 patent/WO2016153790A1/en active Application Filing
- 2016-03-10 JP JP2017546680A patent/JP7064333B2/en active Active
- 2016-03-10 EP EP16711749.8A patent/EP3274869A1/en not_active Ceased
- 2016-03-10 CN CN201680012718.XA patent/CN107430613B/en active Active
-
2021
- 2021-02-12 JP JP2021020802A patent/JP7142116B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011055355A (en) | 2009-09-03 | 2011-03-17 | Oki Electric Industry Co Ltd | Wireless communication apparatus and program, and, wireless communication system |
WO2014169056A1 (en) | 2013-04-11 | 2014-10-16 | Oracle International Corporation | Predictive diagnosis of sla violations in cloud services by seasonal trending and forecasting with thread intensity analytics |
Non-Patent Citations (1)
Title |
---|
Eric S. Chan, et al.,Situation aware computing for big data,2014 IEEE International Conference on Big Data,IEEE,2015年01月08日,pp. 1-6,https://ieeexplore.ieee.org/document/7004415 |
Also Published As
Publication number | Publication date |
---|---|
JP2018509709A (en) | 2018-04-05 |
WO2016153790A1 (en) | 2016-09-29 |
CN107430613A (en) | 2017-12-01 |
CN107430613B (en) | 2021-10-01 |
EP3274869A1 (en) | 2018-01-31 |
JP2021108127A (en) | 2021-07-29 |
JP7064333B2 (en) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7142116B2 (en) | Knowledge-intensive data processing system | |
US11468098B2 (en) | Knowledge-intensive data processing system | |
US11954112B2 (en) | Systems and methods for data processing and enterprise AI applications | |
JP7344327B2 (en) | System and method for metadata-driven external interface generation of application programming interfaces | |
US11921815B2 (en) | Techniques for the automated customization and deployment of a machine learning application | |
US11238223B2 (en) | Systems and methods for intelligently predicting accurate combinations of values presentable in data fields | |
JP6457489B2 (en) | Grasping seasonal trends in Java heap usage, forecasting, anomaly detection, endpoint forecasting | |
US11915195B2 (en) | Systems and methods for intelligent field matching and anomaly detection | |
US8832662B2 (en) | Rules engine for architectural governance | |
CN114616560A (en) | Techniques for adaptive and context-aware automation service composition for Machine Learning (ML) | |
US10365945B2 (en) | Clustering based process deviation detection | |
US8904357B2 (en) | Dashboard for architectural governance | |
WO2021024145A1 (en) | Systems and methods for process mining using unsupervised learning and for automating orchestration of workflows | |
Chan et al. | Situation aware computing for big data | |
US20240086742A1 (en) | Multi-station decision network | |
Kuruganti et al. | Real-Time Automated Health Information Technology Hazard Detection | |
Ferdous | Workflow Provenance: from Modeling to Reporting | |
Wong et al. | Integrated system diagnosis and root cause analysis | |
Musial | Effective entity resolution methodology for improving data quality and reliability of service-oriented applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210312 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220912 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7142116 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |