JP7142116B2 - Knowledge-intensive data processing system - Google Patents

Knowledge-intensive data processing system Download PDF

Info

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
Application number
JP2021020802A
Other languages
Japanese (ja)
Other versions
JP2021108127A (en
Inventor
チャン,エリック・エス
ガウリック,ディーター
ゴネイミー,アデル
リュウ,チェン・ホア
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US14/665,171 external-priority patent/US10740358B2/en
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2021108127A publication Critical patent/JP2021108127A/en
Application granted granted Critical
Publication of JP7142116B2 publication Critical patent/JP7142116B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal 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.

本発明の1つ以上の実施形態に従って、データ駆動型変換ループアプリケーションの実行モデルの例示的なインスタンスを示すブロック図である。1 is a block diagram illustrating an exemplary instance of an execution model for a data driven transformation loop application, in accordance with one or more embodiments of the present invention; FIG. 本発明の1つ以上の実施形態に従って、データ駆動型アプリケーションを実行するクラウドベースコンピュータシステムの高次要素を示すブロック図である。1 is a block diagram illustrating high-level elements of a cloud-based computer system executing data-driven applications, in accordance with one or more embodiments of the present invention; FIG. 本発明の1つ以上の実施形態に従って、多時間データベース内のフィルタクエリに基づいて、データオブジェクト変換を呼び出すためのプロセスを示すフローチャートである。FIG. 4 is a flowchart illustrating a process for invoking data object transformations based on filter queries in a multi-temporal database, in accordance with one or more embodiments of the present invention; FIG. 本発明の1つ以上の実施形態に従って、ループデータ変換アプリケーションの実行の例示的なインスタンスを示すフローチャートである。FIG. 4 is a flowchart illustrating an exemplary instance of execution of a loop data transformation application, in accordance with one or more embodiments of the present invention; FIG. 本発明の1つ以上の実施形態に従って、多時間データベース内の有効データ項目対時間のグラフを示す図である。FIG. 4 is a graph of valid data items in a multi-time database versus time, in accordance with one or more embodiments of the present invention; 本発明の様々な実施形態を実現することができる例示的な分散システムの構成要素を示すブロック図である。1 is a block diagram illustrating components of an exemplary distributed system in which various embodiments of the invention can be implemented; FIG. 本発明の実施形態によって提供されたサービスをクラウドサービスとして提供することができるシステム環境の構成要素を示すブロック図である。1 is a block diagram illustrating components of a system environment in which services provided by embodiments of the present invention can be provided as cloud services; FIG. 本発明の実施形態を実現することができる例示的なコンピュータシステムを示すブロック図である。1 is a block diagram of an exemplary computer system upon which embodiments of the invention may be implemented; FIG. 本発明の1つ以上の実施形態に従って、データ、知識およびプロセスを管理するための例示的なモデルを示すブロック図である。1 is a block diagram illustrating an exemplary model for managing data, knowledge and processes in accordance with one or more embodiments of the invention; FIG. 本発明の1つ以上の実施形態に従って、実体モデルを示すブロック図である。1 is a block diagram illustrating a physical model, in accordance with one or more embodiments of the present invention; FIG. 本発明の1つ以上の実施形態に従って、CARE定義の例を示すブロック図である。FIG. 4 is a block diagram illustrating an example CARE definition, in accordance with one or more embodiments of the present invention; 本発明の1つ以上の実施形態に従って、CARE定義の例を示すブロック図である。FIG. 4 is a block diagram illustrating an example CARE definition, in accordance with one or more embodiments of the present invention; 本発明の1つ以上の実施形態に従って、CARE定義の例を示すブロック図である。FIG. 4 is a block diagram illustrating an example CARE definition, in accordance with one or more embodiments of the present invention; 本発明の1つ以上の実施形態に従って、CARE定義の例を示すブロック図である。FIG. 4 is a block diagram illustrating an example CARE definition, in accordance with one or more embodiments of the present invention; 本発明の1つ以上の実施形態に従って、CARE定義の例を示すブロック図である。FIG. 4 is a block diagram illustrating an example CARE definition, in accordance with one or more embodiments of the present invention; 本発明の1つ以上の実施形態に従って、例示的なKIDSループにおける注釈付きFPHDデータおよびCAREデータを示すブロック図である。FIG. 4 is a block diagram illustrating annotated FPHD data and CARE data in an exemplary KIDS loop, in accordance with one or more embodiments of the present invention; 本発明の1つ以上の実施形態に従って、関連する実体セット間の様々なタイプの情報の情報融合を示すブロック図である。1 is a block diagram illustrating information fusion of various types of information between related entity sets, in accordance with one or more embodiments of the present invention; FIG. 本発明の1つ以上の実施形態に従ったCAREループの実装を示すブロック図である。FIG. 4 is a block diagram illustrating an implementation of a CARE loop in accordance with one or more embodiments of the invention; 本発明の1つ以上の実施形態に従ったベイジアン信念ネットワークの実装Implementation of Bayesian Belief Networks According to One or More Embodiments of the Invention を示すブロック図である。is a block diagram showing

詳細な説明
以下の記載において、説明の目的で、本発明の様々な実施形態を完全に理解できるよう
にするために、多くの具体的な詳細を記載する。しかしながら、これらの具体的な詳細がなくても本発明を実施できることは、当業者には明らかであろう。場合によって、一部の周知の構造および装置は、ブロック図で示される。
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. Execution model 100 may be implemented by an execution engine within a database system or other computing system. As described below, such an execution engine comprises dedicated hardware, software and software configured to implement data-driven processes for instantiating, tracking and controlling various elements within the execution model 100. /or may include network elements.

この例において、実行モデル100は、3つの異なるカテゴリのオブジェクト、すなわち、データオブジェクト、変換オブジェクトおよびフィルタを含む。データオブジェクトは、ファクト、イベントストリーム、関係、XML(Extensible Markup Language)文書、テキストなどの構造化コンテンツ、半構造化コンテンツおよび非構造化の未処理コンテンツを表すことができる。また、データオブジェクトは、カテゴリ、タグ、関係およびコンテナなどのメタデータを表すことができ、および/または、ユーザインターフェイスフォーム、処方箋フォームおよび通知テンプレートなどの取得プロセスによって取り込まれたコンテンツを表すことができる。変換オブジェクトは、アルゴリズム、スクリプト、プロセス、クエリ、RDF(Resource Description Framework)公理、生産ルール、決定木、サポートベクトルマシン、神経ネットワーク、ベイジアンネットワーク、隠れマルコフモデル、ホップフィールドモデル、人間の暗黙知識、および種々の変換データを表すことができる。また、変換オブジェクトは、データオブジェクトを追加、変更または削除するために、これらのデータオブジェクトに適用できるデータを含む。フィルタは、1つ以上のデータオブジェクトおよび変換オブジェクトの環境に評価され得る経路式(path expression)および/またはブール演算式(Boolean expression)に対応する。例えば、フィ
ルタは、データオブジェクトおよび/または変換オブジェクトの変更インスタンスを検出するデータベースシステムに登録された1つ以上のクエリを含むことができる。このようなフィルタは、データベーストリガ、リアルタイムジャーナル解析および/または多時間または双時間データベースシステム上に登録されたクエリを用いて、実装することができる。
In this example, execution model 100 includes three different categories of objects: data objects, transformation objects and filters. Data objects can represent facts, event streams, relationships, XML (Extensible Markup Language) documents, structured content such as text, semi-structured content and unstructured raw content. Data objects can also represent metadata such as categories, tags, relationships and containers, and/or content captured by the acquisition process such as user interface forms, prescription forms and notification templates. . Transformation objects include algorithms, scripts, processes, queries, RDF (Resource Description Framework) axioms, production rules, decision trees, support vector machines, neural networks, Bayesian networks, hidden Markov models, Hopfield models, human tacit knowledge, and Various transform data can be represented. Transformation objects also include data that can be applied to data objects to add, modify, or delete data objects. A filter corresponds to a path expression and/or a Boolean expression that can be evaluated in the environment of one or more data objects and transformation objects. For example, a filter may include one or more queries registered with the database system that detect changed instances of data objects and/or transformation objects. Such filters can be implemented using database triggers, real-time journal analysis and/or queries registered on multi- or bi-temporal database systems.

図1に示すように、例示的な実行モデル100は、データ変換ループアプリケーションに対応し得る。このデータ変換ループアプリケーションは、潜在的に反復するループプロセスおよび/または不定のループプロセスであってもよい。この例および他の関連する実施形態において、異なるタイプのデータオブジェクトの各々は、異なる属性または特性を有する異なるデータを表すことができ、異なるタイプの変換オブジェクトの各々は、1つ
のタイプのデータオブジェクトを別のタイプのデータオブジェクトに変換する異なるアルゴリズムまたはシステムの実装であってもよい。例示的な実行モデル100は、4つのタイプのデータオブジェクトおよび4つのタイプの変換オブジェクトを含むが、理解すべきことは、異なる実装例において、異なる数のデータオブジェクトおよび変換オブジェクト(例えば、2つのデータオブジェクトおよび2つの変換オブジェクト、3つのデータオブジェクトおよび3つの変換オブジェクト、...、5つのデータオブジェクトおよび5つの変換オブジェクト)を使用することができることである。また、理解すべきことは、異なる実施形態においてより多くのフィルタオブジェクトまたはより少ないフィルタオブジェクトを実装してもよく、特定の実施形態において一部のフィルタまたは全てのフィルタを実装しなくてもよいことである。
As shown in FIG. 1, exemplary execution model 100 may correspond to a data transformation loop application. This data transformation loop application may be a potentially recurring loop process and/or an indeterminate loop process. In this example and other related embodiments, each of the different types of data objects can represent different data with different attributes or properties, and each of the different types of transformation objects can represent one type of data object. There may be implementations of different algorithms or systems that convert to different types of data objects. Although example execution model 100 includes four types of data objects and four types of transform objects, it should be understood that different implementations may have different numbers of data objects and transform objects (e.g., two data objects). object and 2 transform objects, 3 data objects and 3 transform objects,..., 5 data objects and 5 transform objects). It should also be understood that more or fewer filter objects may be implemented in different embodiments, and that some or all filters may not be implemented in a particular embodiment. is.

実行モデル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 execution model 100, the first type data objects 103, 104 and 120 can represent the raw inputs entered into the computing system. These inputs may include, for example, data streams from the garbage collector within the Java Virtual Machine (JVM), stack traces from periodic thread dumps, memory heap dumps, database AWR reports, and the like. The first type of data objects 103, 104 and 120 may be unstructured conversations, form inputs, quantitative measurements collected from devices, event stream data, XML or text documents, and the like. The second type of data objects 107, 108 and 110 can represent qualitative descriptions of observed or predicted results that are inferred based on the first type of data objects. In some embodiments, the second type of data objects 107, 108 and 110 includes one or more of four different subtypes of data objects: observation objects, prediction objects, norm objects and objective objects. be able to. Observation objects can individualize facts into discrete values. For example, the fact strength of threads (number) for blocking database connections can be individualized into observation objects with qualitative values such as normal, protected, severe or critical. A prediction object can represent a qualitative value predicted from changing conditions. A prediction object can represent a qualitative value interpolated or extrapolated by an observation model, eg, via simulation. A norm object can represent a historical baseline qualitative value. Objective objects can represent target qualitative values for determining observed and predicted objects in order to achieve an overall objective and resolution. Third types of data objects 112 and 114 can represent probable diagnoses or causes based on second types of data objects (eg, observed objects and/or predicted objects). For example, due to a failure of the load balancer, the thread intensity of the thread class in the first server of the two server clusters is classified as a hypertensive state (intensity significantly higher than normal), and the thread intensity of the thread in the second server is classified as Classifying into a hypotensive state (significantly lower intensity than normal) may be a domain-specific example of a third type data object 112 or 114 . The fourth type data objects 116 and 118 may represent a set of scheduled actions that are inferred based on the third type data objects. For example, a set of instructions for capturing a heap dump or configuring a memory management policy may be a domain-specific instance of the fourth type data object 116 or 118 .

各変換オブジェクトは、ハードウェアおよびソフトウェアからなるコンピュータシステム上で実行される自動化ソフトウェアプログラム、アルゴリズム、技術、プロセス、または方法として具現化された抽象化知識を表すことができる。データオブジェクトと同様に、変換オブジェクトは、データベースシステム、ファイルに基づく記憶システム、または任意のデータストアに格納されてもよい。格納された変換オブジェクトを検索し、様々なデータオブジェクトに適用することによって、実行モデル内で様々なタイプのデータを計算することができる。 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 execution model 100, the first type transformation objects 105 and 106, for example, by generating a compact representation showing the important data taken from a pool or raw data stream corresponding to the first type data object: Techniques can be implemented for calculating a second type of data object based on a first type of data object. A second type transform object 111 may embody a technique for computing a third type data object based on a second type data object. A third type transform object 115 may embody a technique for computing a fourth type data object based on a third type data object. For example, a third type of transform object 115 may include techniques for developing directives based on the degree to which observed or predicted results deviate from norms. A fourth type transform object 119 may embody a technique for computing a first type data object based on a fourth type data object. For example, a fourth type transform object 119 may be designed to respond to a hypothesis (eg, a third type data object) and capture additional raw inputs (eg, a first type data object). .

実行モデル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 execution model 100 can be implemented like data objects, e.g., as data stored in a database or other storage system, or like transformation objects, e.g. It may be implemented as a program, algorithm, technique, etc., or as a combination of data and program. In some cases, filter objects 101, 102, 109, 113, and 117 may implement a minimum data change threshold for determining how much change in data objects is sufficient to invoke a transform object. Additionally or alternatively, filter objects 101, 102, 109, 113 and 117 may be filtered by a condition, polarity or combination of data to determine which properties of the data object are sufficient to invoke the transform object. A minimum trust level can be implemented. As noted above, filters can include database triggers, real-time journal analysis, and/or queries registered on multi- or bi-temporal database systems.

データオブジェクトおよび変換オブジェクトは、例えば、データオブジェクトからノイズを除去し、異常値データを検出および抽出し、周期性動向を検出および修正するためのメカニズムを実装することができる。例えば、周期性動向トランスフォーマは、持続性データオブジェクトのデータ変化の周期性増加動向を検出し、平滑化強度および平滑化強度増加率を更新して、強度の増加動向を予測することができる。この例において、予測された強度の正規化残差をトランスフォーマとして用いて、測定される強度が予期強度から逸脱していることを表す異常値を検出することができる。さらに、複数の独立のトランスフォーマは、データの推定を追跡することと並列して、異なる時間スケールで、処理を実行することができる。時間スケールに応じて、これらの並列トランスフォーマは、周期性動向、長期容量需要、短期エンドポイント(メモリ不足エラー)などを予測するための複数のポリシーとして機能することができる。 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 execution model 100 . Each time a data object, transformation object or filter object is dynamically updated, the execution engine, for example, instantiates each object in the illustrated execution model 100 and then executes the various processes performed by each object. and monitor and control the execution process. The execution engine detects new and/or updated data for one of the data objects in execution model 100 after instantiating various objects (eg, via object-oriented classes). can be done. After detecting new or updated data, the execution engine analyzes and/or modifies the data by calling the appropriate filter object or automatically executing the filter (e.g., expression filter or iterative query). and can determine whether or not to call a subsequent transform object. If necessary, the execution engine updates the next downstream data object in the loop by invoking the transform object, e.g., updates the data object of the second type based on updates to the data object of the first type. can do. Thus, the loop application can continue until a filter or transform object determines that subsequent data objects should not be updated.

また、多時間データベースのリポジトリ121は、低価値データおよび高価値データの両方を含むことができる。例えば、リポジトリ121は、(FSD∪特徴)に対応するデータを含むことができる。(ガードとも呼ばれる)フィルタ101、102、109、113および117は、データベース内のフィルタ基準またはプロセスを実行し、異なる時間状態のフィルタ基準/プロセス間の差を評価するために、リポジトリ121内のデータに対してクエリを行うことによって、現在のデータ状態および/または過去のデータ状態を検索することができる。 Also, the multi-temporal database repository 121 can contain both low-value data and high-value data. For example, repository 121 may contain data corresponding to (FSD∪ features). Filters 101, 102, 109, 113 and 117 (also called guards) execute filter criteria or processes in the database and analyze data in repository 121 to evaluate differences between filter criteria/processes at different time states. The current and/or past data states can be retrieved by querying 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 transformation object 115 is executing an update of a data object 116, another data object 103 can be dynamically updated by a different process database transaction, the arrival of new data stream data, or the like. In this example, after the execution engine completes execution of transformation object 115, it effectively changes the loop application's instruction pointer to a completely different part of execution model 100 by calling filtering 101 and/or transformation object 105. can do. In another example, the execution engine can effectively pass multiple instruction pointers of a looping application to different parts of execution model 100 by calling filter 101 and/or transformation object 105 without waiting for transformation object 115 to complete execution. can be run asynchronously. Data objects 103, 104, 110, 114 and 118 in execution model 100 can represent a consistent state, although additional data updates can be made to any data object at any time.

実行モデル100の様々な実装において、異なるデータオブジェクト、異なる変換オブジェクトおよび/または異なるフィルタオブジェクトをデータベースまたは他のデータストアに格納することができ、様々なデータベース技術を用いて、実行モデル100および本明細書に開示された他の技術を実装することができる。例えば、実行モデル100内の一部または全部カテゴリのオブジェクトに対して、オブジェクト指向クラス、例えば、データオブジェクトクラスおよび変換オブジェクトクラスを確立することができる。実装さ
れた各親クラスから、タイプ特有のサブクラス、例えば、第1タイプのデータオブジェクトサブクラス、第2タイプのデータオブジェクトサブクラス、第3タイプのデータオブジェクトサブクラスおよび第4タイプのデータオブジェクトサブクラス、並びに、第1タイプの変換オブジェクトサブクラス、第2タイプの変換オブジェクトサブクラス、第3タイプの変換オブジェクトサブクラスおよび第4タイプの変換オブジェクトサブクラスを導出することができる。各クラスおよびサブクラスの実装には、適用可能なオブジェクトのカテゴリおよびタイプに適したラベルおよび属性を与えることができる。例えば、実行エンジンは、第1タイプのデータオブジェクトをインスタンス化し、そのデータオブジェクトに関連する属性値を格納することができる。同様に、第1タイプの変換オブジェクトをインスタンス化し、その変換オブジェクトに関連する属性値を格納することができる。以下同様。これらのオブジェクトの各々の定義およびこれらのオブジェクトの全てのインスタンスは、1つ以上のアプリケーションに関連するデータストアに格納されてもよい。例えば、データ駆動型変換ループアプリケーションの実行エンジンは、様々なデータベース技術を用いて、データオブジェクト、変換オブジェクトおよびフィルタオブジェクトの定義およびインスタンスを格納することができる。各インスタンスの履歴を取り出すことができるように、双方向および/または多時間データベースを用いて、各オブジェクトの各インスタンスの複数のバージョンを維持することができる。さらに、いくつかの実施形態において、実行エンジンは、オブジェクトのマッピング(クラス、サブクラスなどのインスタンス化)を生成し、格納することができる。
In various implementations of execution model 100, different data objects, different transformation objects and/or different filter objects may be stored in a database or other data store, and various database technologies may be used to implement execution model 100 and the description herein. Other techniques disclosed in the document can be implemented. For example, object-oriented classes, such as data object classes and transformation object classes, can be established for some or all categories of objects in execution model 100 . From each implemented parent class, a type-specific subclass, e.g., a first type data object subclass, a second type data object subclass, a third type data object subclass and a fourth type data object subclass, and a One type of transformation object subclass, a second type of transformation object subclass, a third type of transformation object subclass and a fourth type of transformation object subclass can be derived. Each class and subclass implementation can be given labels and attributes appropriate to the applicable object category and type. For example, the execution engine may instantiate a data object of the first type and store attribute values associated with the data object. Similarly, a transform object of the first type can be instantiated and the attribute values associated with that transform object can be stored. Same below. The definition of each of these objects and all instances of these objects may be stored in data stores associated with one or more applications. For example, the execution engine of a data-driven transformation loop application can use various database technologies to store definitions and instances of data objects, transformation objects and filter objects. A bi-directional and/or multi-temporal database can be used to maintain multiple versions of each instance of each object so that the history of each instance can be retrieved. Additionally, in some embodiments, the execution engine can generate and store mappings of objects (instantiations of classes, subclasses, etc.).

いくつかの実施形態において、エージェントオブジェクト(またはアクターオブジェクト)は、実行モデル100に含まれてもよく、および/または実行エンジンによって生成および制御されてもよい。エージェントオブジェクトは、自動化エージェントに対応してもよく、個体、個体群または組織を表してもよい。エージェントオブジェクトは、オブジェクト指向プログラミングオブジェクトとしてインスタンス化することができ、プロファイルおよび出所環境などの属性を有することができる。自動化エージェントの例示として、アルゴリズムプロセスをカプセル化するソフトウェア、例えば、ワークフロー、シミュレーション、サポートベクトルマシン、神経ネットワーク、ベイジアンネットワークなどを挙げることができる。自動化エージェントは、エージェントの能力を示すプロファイルを有することができる。エージェントオブジェクトは、組織環境、スキルプロファイル、知識プロファイル、関心プロファイル、嗜好プロファイルなどの属性を有することができる。知識プロファイルは、エージェントオブジェクトに関連付けられ、システムが一般にエンコードしない暗黙知識を表すことができる。エージェントオブジェクトが個体を表す場合、エージェントオブジェクトは、そのオブジェクトによって表される個体のリアルタイム存在および/またはリアルタイム活動を特定することができる。実行エンジンは、エージェントオブジェクトの属性に基づいて、エージェントオブジェクトを実行保留中の特定の変換オブジェクトに割り当てることができる。 In some embodiments, agent objects (or actor objects) may be included in execution model 100 and/or may be created and controlled by the execution engine. Agent objects may correspond to automated agents and may represent individuals, populations or organizations. Agent objects can be instantiated as object-oriented programming objects and can have attributes such as profile and provenance environment. Examples of automated agents include software that encapsulates algorithmic processes, such as workflows, simulations, support vector machines, neural networks, Bayesian networks, and the like. An automated agent can have a profile that indicates the capabilities of the agent. Agent objects can have attributes such as organizational environment, skill profile, knowledge profile, interest profile, preference profile, and the like. A knowledge profile is associated with an agent object and can represent implicit knowledge that systems generally do not encode. When an agent object represents an individual, the agent object can identify the real-time presence and/or real-time activity of the individual represented by that object. The execution engine can assign agent objects to particular transformation objects pending execution based on attributes of the agent objects.

以下でさらに説明するように、実行モデル100は、特殊のアルゴリズムを進化させることができる。これらの特殊のアルゴリズムを用いて、分類(classification)、評価(assessment)、解決(resolution)および実施(enactment)のような変換を実行するこ
とによって、環境のデータまたは状態を変換することができる。変換オブジェクトは、直接に同時に動作する必要のない特殊のアルゴリズムを表すことがある。データ駆動型プロセスの実行エンジンは、変換オブジェクトの多様なアルゴリズムを別々に開発し、これらのアルゴリズムを、標準化データモデルを介して相間作用する様々なタイプの変換オブジェクト(例えば、第1タイプから第4タイプの変換オブジェクト)としてカプセル化することによって、共通アプリケーションとして進化できる単一のシステムに統合することができる。システム内の様々なアルゴリズムは、相互に補完し、強化することができる。また、実行モデル100内の一部の構成要素は、エージェントオブジェクトのインスタンスと情報を交換するユーザインターフェイスおよびメッセージ通信システムを含むことがで
きる。実行モデル100は、データオブジェクトインスタンスの変化を連続的に照会し、従属の変換オブジェクトの実行を開始することによって、情報交換を駆動する。さらに、変換オブジェクトのアップグレード(例えば、アルゴリズムの更新、新しいバージョンのソフトウェアのリリースなど)は、その変換オブジェクトによる変換を既に適用したデータオブジェクトインスタンスの遡及処理をトリガすることができる。この場合、新しい変換オブジェクト/更新された変換オブジェクトを展開した直後、変換オブジェクトによる変換を適用することができる。
As described further below, the execution model 100 can evolve special algorithms. These specialized algorithms can be used to transform the data or state of the environment by performing transformations such as classification, assessment, resolution and enactment. Transformation objects may represent specialized algorithms that do not need to work together directly. The execution engine of a data-driven process separately develops various algorithms for transformation objects and applies these algorithms to various types of transformation objects (e.g., first to fourth types) that interact via a standardized data model. By encapsulating it as a transformation object of type), it can be integrated into a single system that can evolve as a common application. Various algorithms within the system can complement and enhance each other. Also, some components within execution model 100 may include user interfaces and messaging systems that exchange information with instances of agent objects. Execution model 100 drives information exchange by continuously querying changes in data object instances and initiating execution of dependent transformation objects. Additionally, upgrades of a transform object (eg, updating algorithms, releasing new versions of software, etc.) can trigger retroactive processing of data object instances that have already applied transformations by that transform object. In this case, the transforms by the transform object can be applied immediately after deploying the new/updated transform object.

図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. Exemplary system 200 may represent a computer high-level implementation of a cloud-based system. The system can be used to manage the implementation and execution of data-driven applications designed to handle big data analytical problems. Such problems involve very large data volumes, high data rates, complex data types, and require the ability to process complex events in near real time. In this example, system 200 corresponds to a system for launching and managing data-driven applications using the HADOOP software framework. It should be understood that other software frameworks can be used in place of HADOOP in other examples. The various components shown in exemplary system 200, such as bi-temporal database 210, orchestration engine 220, resource manager 230, and computational cluster 240, are specialized combinations of hardware, software, and network elements. It may be implemented on a separate computer system or a shared computer system containing

この例において、双時間データベース210は、本明細書に記載のハードウェア要素、ソフトウェア要素およびネットワーク要素を含む様々なデータベースサーバおよび技術に実装することができる。双時間(または他の多時間)データベーススキーマを使用するデータベース210の場合、データベース210内に格納された様々な異なるオブジェクト(例えば、データオブジェクト、変換オブジェクトおよびフィルタクエリなど)は、データが永続的になるまたは回復可能になるまたは他の回復可能なトランザクションに可視になるときのトランザクション時間を用いて、タイムスタンプを付けることができる。その後、有効時間およびトランザクション時間からなる双時間クエリを用いて、これらのオブジェクトを呼び出すことができる。双時間データベース210におけるこれらの物象化関係に基づいて、データに明示された任意のイベント、例えば、データオブジェクト、変換オブジェクトまたはフィルタの更新に対して、変更を引き起こした原因を判断することができる。例えば、双時間データベース210内の関係は、特定の時間間隔内に第1タイプのデータのインスタンスが1種類の問題として分類され、問題を解決するために、特定の修正がビッグデータシステム内で制定されたことを示すことができる。この例において、双時間データベース210は、データの変更が発生した理由を判断するために、各修正を決定および制定した時間順に、制定された複数の異なる修正をオーケストレーションエンジン220または他のシステム要素に提供することができる。他の実施形態において、他の多時間データベース、例えば、決定タイムに対応するデータ項目の追加タイムラインまたは時間データを含む多時間データベースを使用することができる。 In this example, the bitemporal database 210 can be implemented in a variety of database servers and technologies including hardware, software and network elements described herein. For a database 210 that uses a bi-temporal (or other multi-temporal) database schema, the various different objects (e.g., data objects, transformation objects, filter queries, etc.) stored within the database 210 are persistent data. It can be timestamped with the transaction time when it becomes or becomes recoverable or becomes visible to other recoverable transactions. These objects can then be invoked using a bi-temporal query consisting of valid time and transaction time. Based on these reification relationships in the bitemporal database 210, for any event manifested in the data, such as updating a data object, transformation object, or filter, it is possible to determine what caused the change. For example, the relationship in bitemporal database 210 is such that instances of a first type of data within a particular time interval are classified as one type of problem, and specific modifications are enacted within the big data system to solve the problem. It can be shown that In this example, the bi-temporal database 210 sends multiple different enacted amendments to the orchestration engine 220 or other system element in the chronological order in which each amendment was determined and enacted to determine why data changes occurred. can be provided to In other embodiments, other multi-temporal databases can be used, for example, multi-temporal databases containing additional timelines or time data of data items corresponding to decision times.

専用のハードウェア要素、ソフトウェア要素およびネットワーク要素の組み合わせを用いて、オーケストレーションエンジン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 orchestration engine 220 using a combination of dedicated hardware, software and network elements. The orchestration engine (or execution engine) 220 may be implemented in the same database system with the bitemporal database 210, or may be implemented as a separate control server. In any case, the orchestration engine 220 can be designed to leverage database techniques associated with the bi-temporal database 210, such as complex time-registered flashback queries and expression filters. Orchestration engine 220 can assign data transformation loop applications to resource managers, such as HADOOP resource manager 230 (eg, HADOOP YARN resource manager). In response to the assignment, HADOOP resource manager 230 may select a compute node comprising HADOOP cluster 240 and launch Application Master (AM) 241 for the data transformation loop application within selected HADOOP cluster 240 . can. In some cases, the application master 241 can negotiate with the HADOOP resource manager 230 to obtain a container for performing data transformations for loop applications. For big data analytics, such data transformation behaviors may include, for example, machine learning behaviors, classification behaviors using large amounts of raw data, Bayesian Belief Network (BBN) engines, non-linear regression processes, periodic trend processes. . In some embodiments, the application master 241 of the data transformation loop application may be a long running process. However, containers in HADOOP cluster 240 can be reused when execution of an application's looping process (eg, execution model 100) is stopped or interrupted. Orchestration engine 220 can manage the state of each application master 241 for each data transformation loop application, and each application master 241 can manage the state of its associated data transformation instance 242 . Application master 241 and data transformation instance 242 can synchronize one or more high-value data objects with corresponding data in bitemporal database 210 .

特定の例において、システム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, system 200 can support big data analytics applications for cloud-based SaaS systems. For example, each tenanted application SaaS system in the public cloud can be implemented as a collection of pods or virtual machines and database instances using one or more virtualization technologies. The pod-scale model of application SaaS has the analytical advantage of enabling logical clustering of machine data and exploiting data locality to combine and correlate data streams within the same pod. In this environment, the number of data streams for each pod (each sensor providing one data stream) increases as the number of pods continuously increases. Data streams can include, for example, WebLogic server logs, Java Virtual Machine (JVM) garbage collector logs, JVM thread dump logs, HTTP access logs, operating system monitor logs, network device logs, database logs, and the like. Data streams can be stored, for example, in a set of HBase tables and HDFS folders. In some instances, collocate all data streams for each Pod on the same HBase Region Server by partitioning the Regions in the HBase table using the 32-digit MD5 description of the Pod name in the row key prefix. can be done. The data stream in a column cell may be offloaded to an HDFS file once it exceeds a threshold. Extract Transform Load (ETL) operations are performed by MapReduce's mappers, and data local affinity between mappers and HBase region servers allows HDFS files and HBase regions in the same pod to be transferred to the same datanode or HBase region server. can be placed in place. The data organization described in this example can enable data local and a relatively small proportion of rack local computation between application masters 241 for looping applications, data transformation operations, HBase regions and HDFS data nodes. Further, in such an example, orchestration engine 220 and application master 241 may use the dynamic entity model to select a compute node with HADOOP cluster 240 to launch data local application master 241 and containers. can.

上記の例におけるアプリケーション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 system 200, such as bi-temporal database 210, orchestration engine 220 and resource manager 230. However, it should be understood that the techniques described herein, including maintaining and updating the multi-time database, evaluating filter queries on the multi-time database, and invoking transform operations based on the filter query evaluations, are not limited to the specific It need not be limited to systems and hardware implementations, but can also be practiced in other hardware and system environments, including other combinations of hardware, software and network elements. Further, although the illustrative process 300 is performed based on updates to database data, similar processes and techniques may be performed in response to updates to transform objects and/or filter objects.

ステップ301において、例えば、データ駆動型アプリケーションに関連するデータストアおよび/またはデータ管理装置から、データベースの更新を受信することができる。例えば、1つ以上のデータ更新を含むデータベーストランザクションは、双時間データベース210上で開始されてもよく、オーケストレーションエンジン220、HADOOPクラスタ240または他のデータソースを介して受信されてもよい。ステップ301で受信した更新データは、図1のデータオブジェクトを参照して上述した様々なデータタイプ(例えば、非構造化対話、フォーム入力、装置から収集された量的な測定値、イベントストリームデータ、XML、またはテキストドキュメント)のいずれかに対応する構造化、非構造化および/または半構造化データを含むことができる。様々な実施形態において、受信したデータは、例えば、Java仮想マシンのガベージコレクタからのデータストリーム、定期的なスレッドダンプからのスタックトレース、メモリヒープダンプ、およびデータベースAWRレポートなどを表すことができる。 At step 301, database updates may be received, for example, from a data store and/or data manager associated with the data-driven application. For example, a database transaction containing one or more data updates may be initiated on bi-temporal database 210 and received via orchestration engine 220, HADOOP cluster 240, or other data source. The updated data received in step 301 can be of various data types (e.g., unstructured interactions, form inputs, quantitative measurements collected from devices, event stream data, XML, or text documents) can contain structured, unstructured and/or semi-structured data. In various embodiments, the received data can represent, for example, data streams from the Java virtual machine's garbage collector, stack traces from periodic thread dumps, memory heap dumps, database AWR reports, and the like.

ステップ302において、ステップ301で受信したデータ更新を反映するように、1つ以上の多時間データベースを更新することができる。例えば、双時間データベース210において、更新データは、更新データのトランザクション時間および/または有効時間を含む適切なデータベース構造に書き込むことができる。受信データに関連するトランザクション時間は、データが真であると考えられる1つ以上の時間範囲に対応することができる。有効時間は、受信データがモデル化されたシステムに対して実際に真である時間範囲に対応することができる。例えば、トランザクション時間および有効時間の一方または両方は、ステップ301で受信したデータに含まれてもよい。代替的には、トランザクション時間および/または有効時間は、例えば、オーケストレーションエンジン220によって、受信データに対して動的に決定されてもよい。場合によって、受信データの有効時間は、データに関連するオブジェクトのライフサイクルまたはデータベースのライフサイクルによって、定められてもよい。さらに、特定のオブジェクトは、複数の有効時間を含むことができる。例えば、特徴ベクトルは、異なっており且つ潜在的に重畳する有効時間を有する複数の特徴を含むことができる。この場合、特徴ベクトルの有効時間は、全ての関連特徴の有効時間の共通部分であってもよい。 At step 302 , one or more multi-time databases may be updated to reflect the data updates received at step 301 . For example, in bitemporal database 210, update data may be written to appropriate database structures that include the transaction time and/or validity time of the update data. A transaction time associated with received data can correspond to one or more time ranges over which the data is believed to be true. Validity time can correspond to the time range over which the received data is actually true for the modeled system. For example, one or both of the transaction time and validity time may be included in the data received at step 301 . Alternatively, the transaction time and/or validity time may be dynamically determined for the received data, eg, by orchestration engine 220 . In some cases, the validity time of received data may be defined by the lifecycle of the object associated with the data or the lifecycle of the database. Additionally, certain objects may include multiple valid times. For example, a feature vector may contain multiple features with different and potentially overlapping validity times. In this case, the validity time of the feature vector may be the intersection of the validity times of all relevant features.

いくつかの実施形態において、本明細書に記載のシステム、ソフトウェアフレームワークおよび/または実行モデルは、各データオブジェクト(例えば、図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 time orchestration engine 220 or other system element generates the current version of the fourth type data object, the available first through third type data objects associated with the fourth type data object can be determined retrospectively. Over time, new data may come in the form of updates to various first through fourth type data objects in the execution model, potentially as a result of previously generated directives and similar data in the loop application. Available. This new data is retroactive to a different object/data state at a past validity time at a different transaction time when the new data becomes available (e.g. becomes recoverable or visible to other recoverable transactions) can be applied

したがって、過去データに基づいて後続の変換処理を実行した後にデータに生じた任意の変更/更新は、非因果的なものとして分離することができ、変換処理に形式上関連する有効時間でデータ変更を遡及的に適用できるとしても、データ変更のトランザクション時間を用いて記述することができる。後に取得され、データ変換処理の能力に影響を与える可能性のあるデータ更新は、取得する前に既に存在した場合、データ変換処理の非因果的ものとして明確に特定することができる。これらの後に取得されたデータ更新は、様々なデータビュー、レポートまたは解析から除去され、データ変換処理結果の基礎となる基礎データに混乱を招くことはない。システムは、任意の時点で、特定のデータ変換処理を開始した理由、および結果(例えば、更新した第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 step 303 , one or more filter queries are identified based on the updates made to the multi-time database at step 302 . Filter queries can include any techniques and mechanisms used to track and manage data change states within a multi-time database. For example, filter queries can include database constructs such as expression filters, registration queries, triggers and continuous query notifications within the bi-temporal database 210 . Filter queries may also include extraction rules for forward- and/or backward-chaining data implemented within orchestration engine 220 and/or other system elements. These forward chained data and/or backward chained data can integrate multiple inference engines and/or time series algorithms. Some filter queries, e.g., expression filters and registration queries, may be implemented entirely within one or more database systems, while other filter queries, e.g., internal to the orchestration engine 220 or other system elements. The executing database access software may be partially or wholly implemented external to the database.

この例において、多時間データベースにおける一組の基礎データの変更に応答して、通知を提供しおよび/または特定の処理を実行するように、フィルタクエリを設計および実装することができる。場合によって、フィルタクエリは、関係データベーステーブルの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 step 303 with an expression stored in a database column to identify the target row. In some cases, a filter query may correspond to a simplified SQL query that provides notification or performs functionality whenever the underlying data of the simplified SQL query changes in the database. For example, if the result of an SQL query depends on four separate underlying data elements in the database, the filter query will generate a notification or execute a process whenever any underlying data element changes in the database. be able to. In some cases, a filter query does not reliably determine that the results of an SQL query or other data-driven process have changed, but changes in the data underlying the results cause the SQL query or other data-driven process to change. Potential change can be determined. In other cases, the filter query determines that the results of the SQL query or other data-driven process will definitely change the next time the updated data is used to execute the SQL query or other data-driven process. can do.

ステップ304において、多時間データベース内の更新データに関連する1つ以上のフィルタクエリを特定した後、現在時間状態の多時間データを用いて、フィルタクエリを実行することができる。したがって、ステップ301で受信した更新データおよび現在データ状態の他の多時間データベースに基づいて、フィルタクエリを実行することができる。 After identifying one or more filter queries associated with updated data in the multi-temporal database in step 304, the filter queries can be performed using the multi-temporal data in the current time state. Thus, filter queries can be performed based on the updated data received in step 301 and other multi-time databases of current data state.

ステップ305において、過去時間状態の多時間データを用いて、ステップ304に実行された同様の1つ以上のフィルタクエリを実行してもよい。場合によって、過去時間状態は、関連する変換動作(または処理)を過去に実行した過去時間に対応してもよい。上述したように、フィルタクエリは、変換動作または他の自動化処理に関連付けられてもよい。例えば、例示的な実行モデル100において、フィルタクエリ101および102は、変換オブジェクト105および106を各々呼び出す時間を判断するためのガードとして機能することができる。同様に、フィルタクエリ109は、変換オブジェクト111を呼び出す時間を判断することができる。したがって、データ変換オブジェクトのインスタンスに関連付けられたフィルタクエリの場合、ステップ305で決定された過去時間状態は、データ変換オブジェクトを実行した最新時間である。ステップ305でフィルタクエリの実行に対応する過去時間状態を決定した後、データベースに記憶された双時間データ(例えば、トランザクション時間および有効時間)を用いて、過去時間のデータベースの正確なデータ状態を生成することができる。場合によって、ステップ305においてフィルタクエリを実行せず、過去時間に決定されたフィルタクエリの過去実行結果を読み出し、ステップ305に使用してもよい。 At step 305, the same one or more filter queries performed at step 304 may be performed using the past-time state multi-time data. In some cases, past-time states may correspond to past times at which the associated transformation operation (or process) was performed in the past. As noted above, filter queries may be associated with conversion actions or other automated processes. For example, in exemplary execution model 100, filter queries 101 and 102 can act as guards for determining when to invoke transformation objects 105 and 106, respectively. Similarly, filter query 109 can determine when to invoke transform object 111 . Thus, for filter queries associated with instances of data transformation objects, the past time state determined in step 305 is the most recent time that the data transformation object was executed. After determining the past-time state corresponding to the execution of the filter query in step 305, the bi-temporal data (e.g., transaction time and validity time) stored in the database is used to generate an accurate data state of the database for the past time. can do. In some cases, without executing the filter query in step 305 , the past execution result of the filter query determined in the past time may be retrieved and used in step 305 .

ステップ306において、現在時間状態のデータを用いて実行した1つ以上のフィルタクエリの結果(ステップ304)と、過去時間状態のデータを用いて実行した同様のフィルタクエリの結果(ステップ305)とを比較し、結果間の差を所定の閾値と比較する。特定の実施形態において、ファクト、知覚、仮説または指令の変更は、所定の閾値条件、方向性、特性または値を用いて、定性化または定量化することができる。閾値条件は、変換の結果を変更することができる変換オブジェクトの変更、例えば、アルゴリズムの新バージョン、バグ修正、モデルパラメータの個別化を含むことができる。フィルタクエリの実行結果の間の差が閾値に等しいまたは閾値を超える場合(306:Yes)、ステップ307でデータ変換処理を呼び出すことができる。このデータ変換処理は、図1の変換オブジェクトを参照して上記に説明したものと同様である。例えば、ステップ307で呼び出されたデータ変換処理は、例示的な実行モデル100の第1タイプ~第4タイプの変換
オブジェクトのインスタンスに対応してもよい。
At step 306, the results of one or more filter queries performed using the data in the current time state (step 304) and the results of similar filter queries performed using the data in the past time state (step 305). and compare the difference between the results to a predetermined threshold. In certain embodiments, changes in facts, perceptions, hypotheses or directives can be qualified or quantified using predetermined threshold conditions, directions, characteristics or values. Threshold conditions can include changes to transform objects that can change the result of the transform, such as new versions of algorithms, bug fixes, individualization of model parameters. If the difference between the filter query execution results equals or exceeds the threshold ( 306 : Yes), then at step 307 a data transformation process can be invoked. This data transformation process is similar to that described above with reference to the transformation object of FIG. For example, the data transformation process invoked at step 307 may correspond to instances of transformation objects of types 1-4 of exemplary execution model 100 .

したがって、各フィルタクエリは、関連する変換処理を実行する時間を判断するために使用されるファクト、認知結果、仮説または指令の変化の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 example process 300 may be performed in different database transactions and/or asynchronously. For example, in a data-driven application that receives and analyzes large amounts of streaming data or other frequent data updates, one transaction updates the multi-time database of step 302 and the other transaction performs the data conversion of step 307. It may be advantageous to carry out a treatment. As described below, the data transformation process of step 307 may cause additional iterative loop data updates and/or additional transformation processes to be performed. Therefore, in one or more transactions separate from the transaction that updates the database with externally received data (e.g., steps 301-302) or other event that initiated the application loop instance, the data Performance and stability of some systems can be enhanced by executing an application loop that performs transformations and updates (eg, step 307 and/or subsequent steps 401-416). Thus, in some implementations, steps 301 and 302 of process 300 may be performed in one dedicated database transaction, and steps 303-307 (and subsequent processes 401-416 based on these steps) may be performed in one dedicated database transaction. ) may be executed in one or more separate transactions. Further, in some embodiments, potentially slow or long-running looping applications can be executed asynchronously (eg, in the database engine's asynchronous execution mode).

図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 process 400 may be performed by one or more components within system 200 , such as bi-temporal database 210 , orchestration engine 220 and resource manager 230 . However, it should be understood that the techniques described herein need not be limited to the particular systems and hardware implementations described above, but may include other combinations of hardware, software and network elements. It can also be done within the hardware and system environment of

図4に示す例示的なプロセス400は、オーケストレーションエンジン220または他のシステム要素によって実装された実行モデルであって、上述した図1の実行モデル100と同様である。この例において、例示のループプロセス400は、実行モデル100と
同様に、意図しない不確定なループの発生を回避するために、各データ変換処理を行う前にフィルタおよび閾値を実行するが、潜在的に反復するデータ変換ループおよび/または不確定なデータ変換ループであってもよい。例示的なプロセス400に使用された異なるデータオブジェクト(例えば、第1タイプの~第4タイプのデータオブジェクト)は、異なる属性または特性を有する異なるタイプのデータオブジェクトに対応してもよく、異なる変換オブジェクト(例えば第1タイプ~第4タイプの変換オブジェクト)は、1つのタイプのデータオブジェクトを別のタイプのデータオブジェクトに変換するための異なるアルゴリズムまたはシステムの実装に対応してもよい。さらに、例示的なプロセス400は、4つのタイプのデータオブジェクトおよび4つのタイプの変換オブジェクトを含むが、理解すべきことは、異なる実装例において、異なる数のデータオブジェクトおよび変換オブジェクト(例えば、2つのデータオブジェクトおよび2つの変換オブジェクト、3つのデータオブジェクトおよび3つの変換オブジェクト、...、5つのデータオブジェクトおよび5つの変換オブジェクト)を使用することができることである。
The exemplary process 400 shown in FIG. 4 is an execution model implemented by orchestration engine 220 or other system elements, similar to execution model 100 of FIG. 1 described above. In this example, the exemplary loop process 400, similar to the execution model 100, performs filters and thresholds before each data transformation operation to avoid unintended indeterminate loops, but potentially It may be a data transformation loop that iterates over and/or an indeterminate data transformation loop. The different data objects used in the exemplary process 400 (eg, first to fourth type data objects) may correspond to different types of data objects with different attributes or characteristics, and may correspond to different transformation objects. (eg, transformation objects of types 1 through 4) may correspond to implementations of different algorithms or systems for transforming data objects of one type into data objects of another type. Further, although the exemplary process 400 includes four types of data objects and four types of transform objects, it should be understood that different implementations may have different numbers of data objects and transform objects (e.g., two data objects and 2 transform objects, 3 data objects and 3 transform objects,..., 5 data objects and 5 transform objects).

プロセス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を起動することができる。 Process 400 may begin at step 401 . Step 401 may correspond to step 307 invoking the conversion process described above. However, in other examples, the process 400 need not start at step 401, any of the steps of invoking data transformation (e.g., steps 401, 405, 409 or 413), any of the steps of generating and storing data. (eg, steps 402, 406, 410 or 414) or any step of executing a filter (eg, steps 403, 407, 411 or 415). As described above, a data-driven loop application process may change the state of data in the multi-time database 210, change transform objects (e.g., update algorithms, release new versions of software, etc.), or change filter objects ( for example, updating an expression filter query). Updates to data transformation objects and/or filter queries can trigger recomputation of data previously computed using older versions of transformation objects and/or filters. Thus, an update to one or more of system data, transforms or filters can initiate execution of application loop process 400 . Also, in some cases, thresholds associated with filters and/or transform objects can be dynamically updated. Application loop processing 400 may be invoked by dynamically re-executing one of the threshold determinations (eg, steps 404, 408, 412 and 416) in response to updated thresholds.

図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 graph 500 corresponds to time. Each of the times (t1-t8) marked on graph 500 represents an event that occurred in the system, such as execution of a data transformation process (eg, via a transformation object instance), execution of a data transformation process (eg, via a data object instance), Corresponds to updating database data, or updating conversion processing or filters. The y-axis of graph 500 corresponds to distinct data items in the multi-time database, eg, instances of one or more of the data object types described above. A line segment in the graph 500 indicates the valid time range of each data item. For example, data D1 corresponds to valid data between times t3 and t5, data D2 corresponds to valid data between times t1 and t2, and so on. Because the data in this example is bitemporal data, multiple different data items D1-D8 can represent the same data (eg, the same data object instance) at different times. For example, data item D1 may represent a data object instance from time t3 to time t5, and data item D8 may represent the same data object instance from time t5 to time t8.

グラフ500に示された有効時間データを用いて、例えば、上述したステップ305の
遡及解析を実行することができる。データ変換処理の再呼び出しまたは再実行を行うためにおよび/またはデータ駆動型ループアプリケーションに使用されるデータ、プロセスまたはフィルタを遡及的に変更するために、多時間データベース内の有効時間データを用いて、マルチデータベースの任意の過去データ状態を検索することができる。例えば、データ駆動型ループアプリケーションは、多時間データベース210内のデータ状態および/または現在時間(例えば、t8)における変換処理またはフィルタの結果および過去時間(例えば、t6)における同様のデータまたは処理を比較することができる。この例において、現在時間(t8)のデータ状態は、データ項目D3、D5、D7およびD8で構成され、過去の有効時間(t6)のデータ状態は、データ項目D3、D4、D5、D6およびD8で構成される。したがって、対応するフィルタクエリおよびデータ変換処理などは、現在時間および過去時間に実行された変換処理および処理を駆動した基礎データの状態を正確に反映することができる。
The validity time data shown in graph 500 can be used, for example, to perform the retrospective analysis of step 305 described above. Using valid time data in a multi-time database to recall or rerun data transformation operations and/or to retroactively change data, processes or filters used in data driven loop applications , can search any past data state of multi-database. For example, a data-driven loop application compares the state of data in the multi-time database 210 and/or the results of transform operations or filters at the current time (e.g., t8) and similar data or operations at past times (e.g., t6). can do. In this example, the data state at current time (t8) consists of data items D3, D5, D7 and D8, and the data state at past valid time (t6) consists of data items D3, D4, D5, D6 and D8. consists of Corresponding filter queries and data transformation operations, etc., can thus accurately reflect the transformation operations that were performed at the current time and the state of the underlying data that drove the operations at past times.

図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 system 600 is configured to run and operate client applications, such as web browsers or dedicated clients (eg, Oracle Forms), over one or more networks 610. includes one or more client computing devices 602, 604, 606, and 608 configured as Server 612 may be communicatively coupled to remote client computing devices 602 , 604 , 606 and 608 via network 610 .

さまざまな実施形態において、サーバ612は、システムの1つ以上のコンポーネントによって提供される1つ以上のサービスまたは1つ以上のソフトウェアアプリケーションを実行するように構成されることができる。いくつかの実施形態において、これらのサービスは、ウェブサービスまたはクラウドサービスとして、またはSaaS(Software as a Service)モデルに基づいて、クライアントコンピューティング装置602、604、60
6および/または608のユーザに提供されてもよい。よって、クライアントコンピューティング装置602、604、606および/または608を操作するユーザは、1つ以上のクライアントアプリケーションを用いて、サーバ612と情報を交換することによって、これらのコンポーネントによって提供されたサービスを利用することができる。
In various embodiments, server 612 may be configured to run one or more services or one or more software applications provided by one or more components of the system. In some embodiments, these services are provided to client computing devices 602, 604, 60 as web services or cloud services, or based on a Software as a Service (SaaS) model.
6 and/or 608 users. Thus, a user operating a client computing device 602, 604, 606 and/or 608 may use one or more client applications to interact with server 612 to view the services provided by these components. can be used.

図示の構成において、システム600のソフトウェア要素618、620および622は、サーバ612上に実装されている。他の実施形態において、システム600の1つ以上の構成要素および/またはこれらのコンポーネントによって提供されたサービスは、1つ以上のクライアントコンピューティング装置602、604、606および/または608によって実現されてもよい。クライアントコンピューティング装置を操作するユーザは、1つ以上のクライアントアプリケーションを用いて、これらのコンポーネントによって提供されたサービスを利用することができる。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実現されてもよい。理解すべきことは、分散システム600と異なるさまざまなシステム構成が可能であることである。したがって、図示された実施形態は、実施形態のシステムを実現するための分散システムの一例であり、限定することを意図していない。 In the illustrated configuration, software elements 618 , 620 and 622 of system 600 are implemented on server 612 . In other embodiments, one or more components of system 600 and/or services provided by these components may be implemented by one or more client computing devices 602, 604, 606 and/or 608. good. A user operating a client computing device can utilize the services provided by these components using one or more client applications. These components may be implemented in hardware, firmware, software, or a combination thereof. It should be understood that various system configurations different from distributed system 600 are possible. As such, the illustrated embodiment is an example of a distributed system for implementing an embodiment system and is not intended to be limiting.

クライアントコンピューティング装置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ゲームコンソール)、および/またはパーソナルメッセージング装置などの他の電子機器であってもよい。
Client computing devices 602, 604, 606 and/or 608 may include, for example, software such as Microsoft Windows Mobile(R) and/or iOS, Windows Phone, Android(R), Blackberry (
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, client computing devices 602, 604, 606, and 608 may be thin client computers, Internet-enabled gaming systems (e.g., Kinect® gesture input devices) capable of communicating over network 610. (with or without a Microsoft Xbox game console), and/or other electronic devices such as personal messaging devices.

例示の分散システム600は、4つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、例えばセンサを有する装置は、サーバ612と情報を交換することができる。 Although exemplary distributed system 600 is shown with four client computing devices, it can support any number of client computing devices. Other devices, such as those with sensors, can exchange information with server 612 .

分散システム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 network 610 of the distributed system 600 may use any of a variety of commercially available protocols including, but not limited to TCP/IP (Transmission Control Protocol/Internet Protocol), SNA (Systems Network Architecture), IPX (Internet Packet Exchange), Apple Talk, and the like. can be used to support data communication, and can be any type of network familiar to those skilled in the art. By way of example only, network 610 may be a local area network (LAN) based on Ethernet, Token Ring, and/or the like. Network 610 may be a wide area network or the Internet. Network 610 may include virtual networks including, but not limited to, virtual private networks (VPNs), intranets, extranets, public switched telephone networks (PSTN), infrared networks, wireless networks (e.g., Institute of Electrical and Electronic Engineers (IEEE) 802.11 protocol suite, Bluetooth®, and/or any other wireless protocol) and/or combinations of these and other networks.

サーバ612は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(例示として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバを含む)、サーバファーム、サーバクラスタ、または任意の他の適切な構成および/または組み合わせから構成されてもよい。さまざまな実施形態において、サーバ612は、前述の開示に記載された1つ以上のサービスまたはソフトウェアアプリケーションを動かすように構成することができる。例えば、サーバ612は、本開示の実施形態に従って上記に説明した処理を実行するためのサーバに対応することができる。 The server 612 can be one or more general purpose computers, dedicated server computers (examples include PC (personal computer) servers, UNIX servers, midrange servers, mainframe computers, rack mount servers), server farms, It may consist of server clusters, or any other suitable configuration and/or combination. In various embodiments, server 612 may be configured to run one or more of the services or software applications described in the foregoing disclosures. For example, server 612 may correspond to a server for performing the processing described above in accordance with embodiments of the present disclosure.

サーバ612は、上述したものいずれかを含むオペレーティングシステム、および任意の市販サーバオペレーティングシステムを動かすことができる。また、サーバ612は、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(共通ゲートウェイインターフェイス)サーバ、Java(登録商標)サー
バ、データベースサーバなどを含むさまざまな追加サーバアプリケーションおよび/または中間層アプリケーションのいずれかを動かすことができる。例示的なデータベースサーバは、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、IBM(登録商標)などの会社から市販されているものを含むがこれらに限定されない。
Server 612 can run an operating system, including any of those mentioned above, and any commercially available server operating system. Server 612 also supports a variety of additional server applications and/or applications, including HTTP (Hypertext Transfer Protocol) servers, FTP (File Transfer Protocol) servers, CGI (Common Gateway Interface) servers, Java servers, database servers, and/or the like. or run any of the middle-tier applications. Exemplary database servers include, but are not limited to, those commercially available from companies such as Oracle®, Microsoft®, Sybase®, IBM®, and the like.

いくつかの実現例において、サーバ612は、クライアントコンピューティング装置602、604,606および608のユーザから受信したデータフィードおよび/またはイベント更新を分析および統合する1つ以上のアプリケーションを含んでもよい。例示として、データフィードおよび/またはイベント更新は、Twitter(登録商標)フィード、Facebook(登録商標)更新または1つ以上の第3情報源および連続データストリームから
受信したリアルタイム更新を含むがこれらに限定されない。リアルタイム更新は、センサデータアプリケーション、金融相場表示機、ネットワーク性能測定ツール(例えば、ネットワーク監視およびトラフィック管理アプリケーション)、ページ遷移(Clickstream)
解析ツール、自動車交通監視装置などに関連するリアルタイムイベントを含むことができる。また、サーバ612は、クライアントコンピューティング装置602、604、606および608の1つ以上の表示装置を介して、データフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含むこともできる。
In some implementations, server 612 may include one or more applications that analyze and aggregate data feeds and/or event updates received from users of client computing devices 602 , 604 , 606 and 608 . By way of example, data feeds and/or event updates include, but are not limited to, Twitter feeds, Facebook updates or real-time updates received from one or more third sources and continuous data streams. . Real-time updates are useful for sensor data applications, financial tickers, network performance measurement tools (e.g. network monitoring and traffic management applications), page transitions (Clickstream)
May include real-time events related to analytical tools, automotive traffic monitoring devices, and the like. Server 612 may also include one or more applications for displaying data feeds and/or real-time events via one or more displays of client computing devices 602, 604, 606 and 608. .

また、分散システム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 system 600 may also include one or more databases 614 and 616 . Databases 614 and 616 may reside in various locations. By way of illustration, one or more of databases 614 and 616 may reside in non-transitory storage media near (and/or within) server 612 . Alternatively, databases 614 and 616 are remote from remote server 612 and communicate with server 612 via network-based or dedicated connections. In one set of embodiments, databases 614 and 616 may reside on a storage area network (SAN). Similarly, any necessary files for performing functions that contribute to server 612 may be stored on server 612 and/or remotely from server 612, as appropriate. In one set of embodiments, databases 614 and 616 may include relational databases such as those provided by Oracle, for example. These relational databases are configured to retrieve, store and update data according to SQL formatting instructions.

図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, system environment 700 includes one or more client computing devices 704 , 706 and 708 . A user can use a client computing device to exchange information with a cloud infrastructure system 702 that provides cloud services. A client computing device can be configured to run a client application, such as a web browser, a proprietary client application (eg, Oracle Forms), or other application. A user can utilize the services provided by the cloud infrastructure system 702 by exchanging information with the cloud infrastructure system 702 using client applications.

理解すべきことは、図示のクラウドインフラストラクチャシステム702は、図示された構成要素以外の構成要素を備えてもよいことである。さらに、図示の実施形態は、本発明の実施形態を組み込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態において、クラウドインフラストラクチャシステム702は、図示よりも多いまたは少ない構成要素を有してもよく、2つ以上の構成要素を組み合わせてもよく、または異なる構成または配置の構成要素を有してもよい。 It should be understood that the illustrated cloud infrastructure system 702 may comprise components other than those illustrated. Moreover, the illustrated embodiment is but one example of a cloud infrastructure system in which embodiments of the present invention may be incorporated. In some other embodiments, the cloud infrastructure system 702 may have more or fewer components than shown, may combine two or more components, or may have different configurations or arrangements of components. may have elements.

クライアントコンピューティング装置704、706および708は、上述したクライアントコンピューティング装置602、604、606および608と同様であってもよい。 Client computing devices 704, 706 and 708 may be similar to client computing devices 602, 604, 606 and 608 described above.

例示的なシステム環境700は、3つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、例えば、センサを有する装置は、クラウドインフラストラクチャシステム702と情報を交換することができる。 Although illustrated with three client computing devices, exemplary system environment 700 can support any number of client computing devices. Other devices, such as devices with sensors, can exchange information with the cloud infrastructure system 702 .

ネットワーク710は、クライアント704、706および708とクラウドインフラストラクチャシステム702との間のデータの通信および交換を促進することができる。各ネットワークは、上記でネットワーク1310に関して説明したプロトコルをさまざまな市販プロトコルのいずれかを用いてデータ通信をサポートすることができ、当業者に熟知する任意種類のネットワークであってもよい。 Network 710 may facilitate communication and exchange of data between clients 704 , 706 and 708 and cloud infrastructure system 702 . Each network can support data communication using any of a variety of commercially available protocols, such as those described above for network 1310, and may be any type of network familiar to those skilled in the art.

クラウドインフラストラクチャシステム702は、上記でサーバ1312に関して説明した構成要素を含み得る1つ以上のコンピュータおよび/またはサーバを含むことができる。 Cloud infrastructure system 702 can include one or more computers and/or servers that can include the components described with respect to server 1312 above.

特定の実施形態において、クラウドインフラストラクチャシステムによって提供されたサービスは、需要に応じて、クラウドインフラストラクチャシステムからユーザに提供できるオンラインデータの記憶およびバックアップ、ウェブベースの電子メールサービス、ホストされたオフィススイートおよび文章連携サービス、データベース処理、管理できる技術サポートサービスなどの多くのサービスを含んでよい。クラウドインフラストラクチャシステムによって提供されるサービスは、ユーザのニーズを満たすように動的に拡張できる。クラウドインフラストラクチャシステムによって提供されたサービスの特定の例示は、本明細書において、「サービスインスタンス」と呼ばれる。一般的には、インターネットなどの通信ネットワークを介して、クラウドサービスプロバイダのシステムからユーザに提供できる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客のオンプレミスサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションをホストすることができ、ユーザは、必要に応じて、インターネットなどの通信ネットワークを介して、アプリケーションを注文し、使用することができる。 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 cloud infrastructure system 702 is a set of application, middleware and database services that can be provided to customers in a self-service, subscription-based, elastically scalable, reliable, highly available and secure manner. can include An example of such a cloud infrastructure system is the Oracle public cloud provided by the assignee of the present application.

さまざまな実施形態において、クラウドインフラストラクチャシステム702は、顧客から申込んだクラウドインフラストラクチャシステム702のサービスを自動的に提供、管理および追跡するように構成されることができる。クラウドインフラストラクチャシステム702は、さまざまな展開モデルを介して、クラウドサービスを提供することができる。たとえば、サービスは、クラウドサービスを販売する組織に所有された(たとえば、Oracleに所有された)クラウドインフラストラクチャシステム702を有するパブリッククラウドモデルで提供され、一般人または異なる業界の企業に利用されることができる。別の例として、サービスは、単一の組織に専用されたクラウドインフラストラクチャシステム702を有するプライベートクラウドモデルで提供され、組織内の1つ以上の実体に利用されることができる。また、クラウドサービスは、集団クラウドモデルで提供されてもよい。よって、クラウドインフラストラクチャシステム702およびクラウドインフラストラクチャシステム702により提供されたサービスは、関連する集団内の複数の組織によって共有される。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせからなるハイブリッドクラウドモデルで提供されてもよい。 In various embodiments, cloud infrastructure system 702 can be configured to automatically provide, manage, and track cloud infrastructure system 702 services subscribed by customers. Cloud infrastructure system 702 can provide cloud services via various deployment models. For example, the service may be provided in a public cloud model with a cloud infrastructure system 702 owned by an organization that sells cloud services (e.g., owned by Oracle) and utilized by the general public or businesses in different industries. can. As another example, services may be provided in a private cloud model, with cloud infrastructure system 702 dedicated to a single organization, and utilized by one or more entities within the organization. Cloud services may also be provided in a collective cloud model. Thus, the cloud infrastructure system 702 and the services provided by the cloud infrastructure system 702 are shared by multiple organizations within an associated collective. Cloud services may also be provided in a hybrid cloud model, which is a combination of two or more different models.

いくつかの実施形態において、クラウドインフラストラクチャシステム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 cloud infrastructure system 702 fall into the Software as a Service (SaaS) category, the Platform as a Service (PaaS) category.
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 cloud infrastructure system 702 through a subscription. In response, cloud infrastructure system 702 takes action to provide the services included in the customer's subscription form.

いくつかの実施形態において、クラウドインフラストラクチャシステム702によって提供されたサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含むがこれらに限定されない。いくつかの例において、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合の開発および展開プラットフォーム上でオンデマンドアプリケーションのスイートを構築し、提供するように、機能することができる。SaaSプラットフォームは、SaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。SaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。例示としては、販売実績管理、企業統合、および大規模組織のビジネス柔軟性に対する解決策を提供するサービスを含むがこれらに限定されない。 In some embodiments, services provided by cloud infrastructure system 702 include, but are not limited to, application services, platform services and infrastructure services. In some examples, application services may be provided by a cloud infrastructure system via a SaaS platform. A SaaS platform may be configured to provide cloud services conforming to the SaaS category. For example, a SaaS platform can function to build and deliver a suite of on-demand applications on an integrated development and deployment platform. A SaaS platform can manage and control the underlying software and infrastructure to provide SaaS services. By using the services provided by the SaaS platform, 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 include, but are not limited to, sales performance management, enterprise consolidation, and services that provide solutions to business flexibility for large organizations.

いくつかの実施形態において、プラットフォームサービスは、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, cloud infrastructure system 702 may also include infrastructure resources 730 for providing resources used to provide various services to customers utilizing the cloud infrastructure system. . In one embodiment, infrastructure resources 730 are pre-integrated and optimized combinations of hardware such as server, storage and network resources to run the PaaS platform and services provided by the SaaS platform. may include

いくつかの実施形態において、クラウドインフラストラクチャシステム702内のリソースは、複数のユーザに共有されることができ、各々の需要に応じて動的に再割当てることができる。また、リソースは、異なるタイムゾーンでユーザに割当てることができる。たとえば、クラウドインフラストラクチャシステム730は、指定時間内でクラウドインフラストラクチャシステムのリソースを第一時間帯における第一グループのユーザに利用させ、その後、同様のリソースを異なる時間帯における別のグループのユーザに再配分することができ、リソースを最大に利用する。 In some embodiments, resources within the cloud infrastructure system 702 can be shared among multiple users and dynamically reallocated according to each's needs. Also, resources can be allocated to users in different time zones. For example, the cloud infrastructure system 730 may allow a first group of users in a first time period to utilize cloud infrastructure system resources within a specified time period, and then make similar resources available to another group of users in a different time period. Can be redistributed to maximize resource utilization.

特定の実施形態において、複数の内部共有サービス732は、提供され、クラウドインフラストラクチャシステム702の異なる構成要素またはモジュールに共有されおよびク
ラウドインフラストラクチャシステム702によって提供されたサービスに共有されることができる。これらの内部共有サービスは、安全性および識別サービス、統合サービス、企業リポジトリサービス、企業管理サービス、ウイルススキャンおよびホワイトリストサービス、高可用性のバックアップおよびリカバリサービス、クラウドサポートを可能にするサービス、メールサービス、通知サービス、およびファイル転送サービスなどを含むがこれらに限定されない。
In certain embodiments, multiple internal shared services 732 may be provided and shared by different components or modules of cloud infrastructure system 702 and services provided by cloud infrastructure system 702 . These internal shared services include safety and identification services, integration services, enterprise repository services, enterprise management services, virus scanning and whitelisting services, high availability backup and recovery services, services that enable cloud support, email services, including, but not limited to, notification services, file transfer services, and the like.

特定の実施形態において、クラウドインフラストラクチャシステム702は、クラウドインフラストラクチャシステム内のクラウドサービス(たとえば、SaaSサービス、PaaSサービスおよびIaaSサービス)を包括的に管理する機能を提供することができる。一実施形態において、クラウド管理機能は、クラウドインフラストラクチャシステム702などによって受信した顧客のサブスクリプションを提供、管理、および追跡する機能を含んでもよい。 In particular embodiments, cloud infrastructure system 702 can provide functionality for comprehensively managing cloud services (eg, SaaS, PaaS, and IaaS services) within the cloud infrastructure system. In one embodiment, cloud management functions may include functions for providing, managing, and tracking customer subscriptions received by cloud infrastructure system 702 or the like.

一実施形態において、図示のように、クラウド管理機能は、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 order management module 720, an order orchestration module 722, an order fulfillment module 724, an order management and monitoring module 726, and an identity management module. 728. These modules may include or be formed using one or more computers and/or servers. These computers and/or servers may be general purpose computers, dedicated server computers, server farms, server clusters, or any other suitable arrangement and/or combination thereof.

例示的な操作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., client device 704, 706 or 708, to request one or more services provided by cloud infrastructure system 702, Information may be exchanged with cloud infrastructure system 702 by ordering one or more services provided by . In certain embodiments, a customer may access a cloud user interface (UI), cloud UI 712, cloud UI 714, and/or cloud UI 716, and order a subscription via these UIs. Order information received by cloud infrastructure system 702 in response to a customer's order includes information identifying the customer and one or more services provided by cloud infrastructure system 702 to which the customer wishes to subscribe. can be done.

顧客がオーダーした後、オーダー情報は、クラウドUI712、714および/または716を介して受信される。 After the customer places an order, the order information is received via cloud UI 712, 714 and/or 716.

操作736において、オーダーは、オーダーデータベース718に保存される。オーダーデータベース718は、クラウドインフラストラクチャシステム718によって操作され、または他のシステム要素と連動して操作されるいくつかのデータベースのうち1つであってもよい。 At operation 736 , the order is saved to order database 718 . Orders database 718 may be one of several databases operated by cloud infrastructure system 718 or operated in conjunction with other system elements.

操作738において、オーダー情報は、オーダー管理モジュール720に転送される。いくつかの例において、オーダー管理モジュール720は、オーダーに関連する請求および会計機能、たとえば、オーダーの確認、および確認後オーダーの記入を実行するように構成されてもよい。 At operation 738 the order information is transferred to order management module 720 . In some examples, order management module 720 may be configured to perform billing and accounting functions related to orders, such as order confirmation and post-confirmation order entry.

操作740において、オーダーに関する情報は、オーダーオーケストレーションモジュール722に伝達される。オーダーオーケストレーションモジュール722は、オーダー
情報を利用して、顧客がオーダーしたサービスおよびリソースの提供を用意する。いくつかの例において、オーダーオーケストレーションモジュール722は、オーダー支給モジュール724のサービスを用いて、オーダーしたサービスをサポートするように、リソースの提供を用意することができる。
At operation 740 , information about the order is communicated to order orchestration module 722 . The order orchestration module 722 utilizes the order information to prepare the delivery of the services and resources ordered by the customer. In some examples, the order orchestration module 722 can use the services of the order fulfillment module 724 to arrange provision of resources to support the ordered services.

特定の実施形態において、オーダーオーケストレーションモジュール722は、各オーダーに関連したビジネスプロセスを管理することができ、ビジネスロジックを適用することによって、オーダーに対して支給をするか否かを判断することができる。操作742において、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール722は、リソースを割当て、サブスクリプションオーダーを満たすために必要なリソースを構成するように、リクエストをオーダー支給モジュール724に送信する。オーダー支給モジュール724は、顧客がオーダーしたサービス用のリソースを割当てることができる。オーダー支給モジュール724は、クラウドインフラストラクチャシステム700により提供されたクラウドサービスと、リクエストされたサービスを提供するためのリソースを供給するために使用される物理的な実装層との間の抽象化レベルを形成する。このように、オーダーオーケストレーションモジュール722は、たとえば、サービスおよびリソースをその場で支給するかまたは事前に支給するか、リクエストに応じて割当てる/与えるかなどの実装詳細から単離することができる。 In particular embodiments, the order orchestration module 722 can manage the business processes associated with each order and can apply business logic to determine whether to pay for the order. can. At operation 742, upon receiving an order for a new subscription, order orchestration module 722 sends a request to order fulfillment module 724 to allocate resources and configure the resources needed to fulfill the subscription order. The order fulfillment module 724 can allocate resources for the services ordered by the customer. The order fulfillment module 724 bridges the level of abstraction between the cloud services provided by the cloud infrastructure system 700 and the physical implementation layers used to supply the resources to provide the requested services. Form. In this way, the order orchestration module 722 can be insulated from implementation details such as, for example, whether services and resources are provisioned on-the-spot or pre-provisioned, and allocated/given on request.

操作744において、サービスおよびリソースを支給した後、クラウドインフラストラクチャシステム702のオーダー支給モジュール724は、提供されるサービスの通知をクライアント装置704、706および/または708の顧客に送信することができる。 At operation 744, after provisioning the services and resources, the order fulfillment module 724 of the cloud infrastructure system 702 can send a notification of the services provided to the customer of the client device 704, 706 and/or 708.

操作746において、オーダー管理および監視モジュール726は、顧客のサブスクリプションオーダーを管理および追跡することができる。いくつかの例において、オーダー管理および監視モジュール726は、サブスクリプションオーダー内のサービスの利用統計、たとえば、ストレージの使用量、データの転送量、ユーザの数、システムの起動時間およびシステムの停止時間を収集するように構成されることができる。 At operation 746, the order management and monitoring module 726 can manage and track the customer's subscription orders. In some examples, the order management and monitoring module 726 collects usage statistics for services within a subscription order, such as storage usage, data transfer, number of users, system up time and system down time. can be configured to collect.

特定の実施形態において、クラウドインフラストラクチャシステム700は、ID管理モジュール728を含むことができる。ID管理モジュール728は、クラウドインフラストラクチャシステム700に、識別サービス、たとえば、アクセス管理および認可サービスを提供するように構成することができる。いくつかの実施形態において、ID管理モジュール728は、クラウドインフラストラクチャシステム702によって提供されたサービスを利用したい顧客に関する情報を制御することができる。このような情報は、顧客のIDを承認する情報、およびさまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対して許可された顧客の実行権限を記載する情報を含むことができる。ID管理モジュール728は、各顧客に関する記述情報、記述情報にアクセスおよび変更する方法、および記述情報にアクセスおよび変更した顧客に対する管理を含むことができる。 In certain embodiments, cloud infrastructure system 700 may include identity management module 728 . Identity management module 728 may be configured to provide cloud infrastructure system 700 with identity services, such as access management and authorization services. In some embodiments, identity management module 728 can control information about customers who want to use services provided by cloud infrastructure system 702 . Such information includes information authorizing the customer's identity and describing the customer's authorized execution rights to various system resources (e.g., files, directories, applications, communication ports, memory segments, etc.). can contain. The identity management module 728 can include descriptive information about each customer, how to access and modify the descriptive information, and management over which customers access and modify the descriptive information.

図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. Computer system 800 can be used to implement any of the computer systems described above. As shown, computer system 800 includes a processing unit 804 in communication with multiple peripheral subsystems via bus subsystem 802 . Peripheral subsystems may include processing acceleration unit 806 , I/O subsystem 808 , storage subsystem 818 , and communication subsystem 824 . Storage subsystem 818 includes tangible computer-readable storage media 822 and system memory 810 .

バスサブシステム802は、コンピュータシステム800のさまざまな構成要素およびサブシステムが必要に応じて相互通信させるための機構を形成する。バスサブシステム802を単一のバスとして概略的に示しているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。バスサブシステム802は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを備えるいくつかの種類のバス構造のいずれかを有してもよい。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス規格協会(VESA)ローカルバス、および周辺構成要素相互接続(PCI)バスを含むことができる。これらのバスは、IEEE P1386.1規格に準拠した製造されたメザニンバスとして実装することができる。 Bus subsystem 802 provides a mechanism for allowing the various components and subsystems of computer system 800 to communicate with each other as needed. Although the bus subsystem 802 is shown schematically as a single bus, in alternate embodiments, the bus subsystem may utilize multiple buses. Bus subsystem 802 may have any of several types of bus structures, including memory buses or memory controllers, peripheral buses, and local buses using any of a variety of bus architectures. For example, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus. Can include buses. These buses can be implemented as mezzanine buses manufactured according to the IEEE P1386.1 standard.

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 computer system 800 . Processing unit 804 may include one or more processors. These processors may be single-core processors or multi-core processors. In particular embodiments, processing unit 804 may be implemented as one or more independent processing units 832 and/or 834, each comprising a single-core processor or multi-core processor. In other embodiments, processing unit 804 may be implemented as a quad-core processing unit formed by integrating two dual-core processors into a single chip.

さまざまな実施形態において、処理ユニット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 storage subsystem 818 at any given time. With proper programming, processor 804 can provide the various functions described above. Computer system 800 may further include a processing acceleration unit 806, which may include digital signal processors (DSPs), dedicated processors, and the like.

I/Oサブシステム808は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含むことができる。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声命令認識システムを備える音声入力装置、マイクロフォン、および他の種類の入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、Microsoft Kinect(登録商標)モーションセンサのようなモーション検知および/またはジェスチャ認識装置を含んでもよい。Microsoft Kinect(登録商標)モーションセンサは、ジェスチャおよび音声命令を利用する自然ユーザインターフェース(NUI)を介して、Microsoft Xbox(登録商標)360ゲームコントローラなどの入力装置を制御することができ、それと対話することができる。また、ユーザインターフェイス入力装置は、Google Glass(登録商標)瞬き検出器のような眼球ジェスチャ認識装置を含むことができる。Google Glass(登録商標)瞬き検出器は、ユーザの眼球活動(たとえば、写真を撮るときおよび/またはメニューを選択するときの「瞬き」)を検出し、眼球活動を入力装置(たとえば、Google Glass(登録商標))に入力する入力に変換する。さらに、ユーザインターフェイス入力装置は、音声命令を介してユーザと音声認識システム(たとえば、Siri(登録商標)ナビゲータ)との対話を可能にする音声認識検出装置を含んでもよい。 The I/O subsystem 808 can include user interface input devices and user interface output devices. User interface input devices include keyboards, pointing devices such as mice or trackballs, touchpads or touchscreens integrated into displays, scroll wheels, click wheels, dials, buttons, switches, keypads, voice with voice command recognition systems Input devices, microphones, and other types of input devices may also be included. User interface input devices may also include motion sensing and/or gesture recognition devices, such as, for example, Microsoft Kinect(R) motion sensors. The Microsoft Kinect(R) motion sensor can control and interact with input devices such as the Microsoft Xbox(R) 360 game controller through a natural user interface (NUI) that utilizes gestures and voice commands. be able to. User interface input devices may also include eye gesture recognizers, such as the Google Glass® blink detector. The Google Glass® Blink Detector detects a user's eye activity (e.g., "blinking" when taking pictures and/or selecting menus) and converts eye activity to an input device (e.g., Google Glass). (registered trademark)). Additionally, the user interface input device may include a voice recognition detector that allows the user to interact with a voice recognition system (eg, Siri® navigator) via voice commands.

また、ユーザインターフェイス入力装置は、三次元(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 computer system 800 to a user or other computer. For example, user interface output devices include various display devices that visually convey text, images, and audio/video information, such as monitors, printers, speakers, headphones, car navigation systems, plotters, audio output devices, and modems. Including but not limited to.

コンピュータシステム800は、記憶サブシステム818を含むことができる。記憶サブシステム818は、ソフトウェア要素を備え、図示では、これらのソフトウェア要素は、システムメモリ1510内に配置されている。システムメモリ810は、処理ユニット804にロード可能且つ実行可能なプログラム命令、およびこれらのプログラムの実行により生成されたデータを記憶することができる。 Computer system 800 may include storage subsystem 818 . Storage subsystem 818 comprises software elements, which are shown located within system memory 1510 . System memory 810 may store program instructions loadable and executable by processing unit 804 and data generated by execution of these programs.

コンピュータシステム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 computer system 800, system memory 810 may be volatile memory (eg, random access memory (RAM)) and/or non-volatile memory (eg, read-only memory). It may be a dedicated memory (read-only memory: ROM), flash memory). RAM generally contains data and/or program modules that are immediately accessible to processing unit 804 and/or are currently being operated on and executed by processing unit 804 . In some implementations, system memory 810 is static random access memory (SRAM).
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 computer system 800, such as during start-up, is typically stored in ROM. can be By way of example and not limitation, system memory 810 stores application programs 812, program data 814, and operating system 816, which may include client applications, web browsers, middle-tier applications, relational database management systems (RDBMS), and the like. also show By way of example, operating system 816 may include Microsoft Windows®, Apple Macintosh®, and/or Linux®
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, BlackBerry ® 10 OS and Palm ® OS operating systems.

また、記憶サブシステム818は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形のコンピュータ可読記憶媒体を提供し得る。プロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム818に格納され得る。これらのソフトウェアモジュールまたは命令は、処理ユニット804によって実行され得る。また、記憶サブシステム818は、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。 Storage subsystem 818 may also provide tangible computer-readable storage media for storing the underlying programming and data structures that provide the functionality of some embodiments. Software (programs, code modules, instructions) that provide the functions described above when executed by the processor may be stored in storage subsystem 818 . These software modules or instructions may be executed by processing unit 804 . Storage subsystem 818 may also provide a repository for storing data used in accordance with the present invention.

また、記憶サブシステム810は、コンピュータ可読記憶媒体822にさらに接続可能なコンピュータ可読記憶媒体リーダ820を含み得る。コンピュータ可読記憶媒体822は、システムメモリ810と共に、または必要に応じてシステムメモリ810と組み合わせて、コンピュータ可読情報を一時的および/または永久に収容、格納、送信および検索するための記憶媒体に加えて、リモート記憶装置、ローカル記憶装置、固定的な記憶装置および/または取外し可能な記憶装置を包括的に表すことができる。 Storage subsystem 810 may also include a computer readable storage media reader 820 that is further connectable to computer readable storage media 822 . Computer-readable storage media 822, along with or optionally in combination with system memory 810, is in addition to storage media for temporarily and/or permanently containing, storing, transmitting, and retrieving computer-readable information. , remote storage, local storage, permanent storage and/or removable storage.

また、コードまたはコードの一部を含むコンピュータ可読記憶媒体822は、当該技術分野において公知のまたは使用される任意の適切な媒体を含み得て、当該媒体は、情報の格納および/または送信のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない記憶媒体および通信媒体を含む。これは、RAM、ROM、電子的消去書き込み可能なROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(digital versatile disk:DVD)、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または他の有形のコンピュータ可読媒体などの非一時的な有形のコンピュータ可読記憶媒体を含み得る。また、これは、データ信号、データ送信などの無形のコンピュータ可読媒体、または、所望の情報を送信するために使用可能であり且つコンピュータシステム800によってアクセス可能なその他の媒体を含み得る。 Also, a computer-readable storage medium 822 including code or portions of code may include any suitable medium known or used in the art, which may be used for storing and/or transmitting information. Storage media and communication media including, but not limited to, volatile and nonvolatile, removable and non-removable media implemented in any method or technology. This may be RAM, ROM, electronically erasable programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD), or other It may include non-transitory tangible computer-readable storage media such as optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or other tangible computer-readable media. It can also include intangible computer-readable media, such as data signals, data transmissions, or other media accessible by computer system 800 that can be used to transmit desired information.

一例として、コンピュータ可読記憶媒体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 readable storage medium 822 includes hard disk drives that read from or write to non-removable, nonvolatile magnetic media, magnetic disk drives that read from, or write to, removable nonvolatile magnetic disks, and It may include an optical disk drive that reads from or writes to removable non-volatile optical disks such as CD ROMs, DVDs and Blu-ray disks or other optical media. Computer readable storage media 822 include Zip drives, flash memory cards, universal serial bus (USB) flash drives, secure digital (SD) cards, DVD discs, digital video tapes, and the like. obtain, but are not limited to. The computer-readable storage medium 822 also includes flash memory-based SSDs, enterprise flash drives, solid-state drives (SSDs) based on non-volatile memory such as solid-state ROM, solid-state RAM, dynamic RA, etc.
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 computer system 800 .

通信サブシステム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 computer system 800 to other systems. For example, communications subsystem 824 may allow computer system 800 to connect to one or more devices over the Internet. In some embodiments, the communication subsystem 824 connects to wireless voice and/or data networks (eg, using cellular technology, advanced data network technology such as 3G, 4G or enhanced data rates for global evolution (EDGE)). Radio frequency (RF) transceiver components for access, WiFi (IEEE 1602.
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, communications subsystem 824 may provide a wired network connection (eg, Ethernet) in addition to or instead of a wireless interface.

また、いくつかの実施例において、通信サブシステム824は、コンピュータシステム800を使用し得る1人以上のユーザを代表して、構造化されたおよび/または構造化されていないデータフィード826、イベントストリーム828、イベント更新830などの形態で入力通信を受信し得る。 Also, in some embodiments, communication subsystem 824 communicates structured and/or unstructured data feeds 826, event streams, and other data on behalf of one or more users who may use computer system 800. Incoming communications may be received in the form of 828, event updates 830, and the like.

一例として、通信サブシステム824は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリ(Rich Site Summary:RSS)フィ
ードなどのウェブフィードなどのデータフィード826をリアルタイムでソーシャルネットワークおよび/または他の通信サービスのユーザから受信し、および/または、1つ以上の第三者情報源からリアルタイム更新を受信するように構成され得る。
As an example, the communication subsystem 824 provides real-time social data feeds 826 such as web feeds such as Twitter feeds, Facebook updates, Rich Site Summary (RSS) feeds. It may be configured to receive real-time updates from users of networks and/or other communication services and/or from one or more third party sources.

また、通信サブシステム824は、連続的なデータストリームの形態でデータを受信するように構成され得て、当該データは、連続的である場合もあれば本質的に明確な端部を持たない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム828および/またはイベント更新830を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。 The communication subsystem 824 may also be configured to receive data in the form of a continuous data stream, which may be continuous or essentially devoid of sharp edges. may include an event stream 828 and/or an event update 830 of real-time events that may be unbounded in . Examples of applications that generate continuous data may include, for example, sensor data applications, financial tickers, network performance measurement tools (eg, network monitoring and traffic management applications), clickstream analysis tools, automotive traffic monitoring, and the like.

また、通信サブシステム824は、構造化されたおよび/または構造化されていないデータフィード826、イベントストリーム828、イベント更新830などを、コンピュータシステム800に結合された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成され得る。 Communication subsystem 824 also communicates structured and/or unstructured data feeds 826, event streams 828, event updates 830, etc. to one or more streaming data source computers coupled to computer system 800. It can be configured to output to one or more databases with which it can communicate.

コンピュータシステム800は、手持ち式携帯機器(たとえばiPhone(登録商標)携帯電話、Ipad(登録商標)計算タブレット、PDA)、ウェアラブル装置(たとえばGoogle Glass(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまな種類のうち、1つであってもよい。 Computer system 800 may include handheld portable devices (eg, iPhone® mobile phones, Ipad® computing tablets, PDAs), wearable devices (eg, Google Glass® head-mounted displays), PCs, workstations, It may be one of a variety of types including mainframes, kiosks, server racks or other data processing systems.

コンピュータおよびネットワークが絶え間なく進化し続けるため、図示されているコンピュータシステム800の説明は、特定の例として意図されているにすぎない。図に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。例えば、ハードウェア、ファームウェア、(アプレットを含む)ソフトウェア、または組み合わせにおいて、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素が実装されてもよい。さらに、ネットワーク入力/出力装置など
の他の計算装置への接続が利用されてもよい。本明細書で提供される開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の手段および/または方法を理解するであろう。
Due to the continual evolution of computers and networks, the depicted description of computer system 800 is intended only as a specific example. Many other configurations are possible, having more or fewer components than the system shown in the figures. Customized hardware may also be used and/or particular elements may be implemented, for example, in hardware, firmware, software (including applets), or a combination. Additionally, connections to other computing devices, such as network input/output devices, may be utilized. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other means and/or methods for implementing various embodiments.

上記の説明において、例示の目的のために、特定の順序で方法を記載した。代替の実施形態において、記載された順序と異なる順序で方法を実行してもよい。また、上述した方法は、ハードウェア構成要素によって実行されてもよく、または一連の機械実行可能な命令で具体化されてもよい。機械実行可能な命令を用いて、汎用または専用プロセッサもしくは命令でプログラムされたロジック回路に指示して、方法を実行することができる。これらの機械実行可能な命令は、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 Oracle Sun Studio 12 Performance Analyzer, Intel® VTune Amplifier, AMD® CodeAnalyst, Oracle Database Active Session History (ASH), Oracle JRockit Flight Recorder, and Applies to the UNIX gprof command.

スレッドクラスは、セグメントクラスの有序集合である。例えば、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=1、2、...、N}
ビッグベクトル={FSD|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.

Figure 0007142116000001
Figure 0007142116000001

Figure 0007142116000002
・Kfunは、分類、評価、解決、実施および症状解決の概括である。
・メタデータ=(CAREループタイプ、行動タイプ、FSDタイプ、特徴タイプ、Kfun定義)。
・CAREループタイプ⊆名前
・行動タイプ⊆名前
・FSDタイプ⊆名前×実体タイプ×暗号化×言語
・特徴タイプ⊆名前×実体タイプ×許容値
・Kfun定義=(事前条件、事後条件)
・事前条件⊆フィルタ定義×Kfun
・事後条件⊆Kfun×フィルタ定義
・フィルタ定義⊆(FSDタイプ∪特徴タイプ)×フィルタ×受任者
事前条件メタデータおよび事後条件メタデータは、Kfun関数間の影響関係を捕捉することによって、(関連する実体セットの)FSDおよび特徴セットが同時に有効になり、Kfun関数を呼び出すために必要な状況を満たす時間を検出する。フィルタは、JPQL経路式(path expression)で定義された述語である。必須物は、Kfun関数を呼
び出すために、入力または出力状況の一部でなければならない対応するFSDタイプまたは特徴タイプを指定するブール演算式(Boolean expression)である。
Figure 0007142116000002
• Kfun is an overview of classification, assessment, resolution, implementation and symptom resolution.
• 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ループタイプ×実体×行為者×カウンタ×(分類×評価×解決×実施)
CAREループインスタンスは、一連の行動の閉包(closure)であって、各行動イン
スタンスと共に、CARE定義によって定義されたフィルタを評価するための環境を表す。カウンタは、CAREループインスタンスの状態の一部である0~n内のループカウンタである。
・分類⊆行動タイプ×ファクト×(分類)×認知結果×行為者×Txn時間×有効時間・評価⊆行動タイプ×認知結果×(評価)×仮説×行為者×Txn時間×有効時間
・解決⊆行動タイプ×仮説×(解決)×指令×行為者×Txn時間×有効時間
・実施⊆行動タイプ×指令×(実施)×ファクト×行為者×Txn時間×有効時間
分類、評価、解決、または実施インスタンスは、分類、評価、解決、または実施機能の各々の実行環境を表すことができる。
・行動=分類∪評価∪解決∪実施
・行動=行動タイプ×状況×(KFun)×状況×行為者×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 .
前記第1データ変換プロセスは、HADOOPデータ処理クラスタの計算ノード内で動作するデータ変換ループアプリケーションによって実行される、請求項1に記載の方法。 2. The method of claim 1, wherein the first data transformation process is performed by a data transformation loop application running within a compute node of a HADOOP data processing cluster. 前記第1データ変換プロセスは、機械学習プロセス、生データ処理の分類、サポートベクトルマシン、ナイーブベイズ分類器、神経ネットワーク、クラスタリング、関連ルール、決定木、単変量周期線形傾向、多変量状態推定技術、認知コンピューティング、ベイジアン信念ネットワーク、逆問題に対する解の最小二乗最適化または回帰、影響図、デンプスター・シェイファー理論、決定木、残存有効寿命の予後、スクリプト、計画、予定、BPELワークフロー、およびBPMNビジネスプロセスのうち、1つ以上を含む、請求項2に記載の方法。 The first data transformation process includes machine learning process, raw data processing classification, support vector machine, naive Bayes classifier, neural network, clustering, association rule, decision tree, univariate periodic linear trend, multivariate state estimation technology, Cognitive Computing, Bayesian Belief Networks, Least Squares Optimization or Regression of Solutions to Inverse Problems, Influence Diagrams, Dempster-Shafer Theory, Decision Trees, Remaining Valid Life Prognosis, Scripts, Planning, Scheduling, BPEL Workflows, and BPMN Business 3. The method of claim 2, comprising one or more of the processes. 前記第1データ変換プロセスの前記第2呼び出しの前記結果に対応する第2データオブジェクトを格納することと、
前記第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データ変換プロセスおよび前記第2データ変換プロセスは、連続データ変換ループアプリケーションの一部であり、
前記方法は、
前記コンピュータシステムに格納されている前記多時間データの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実行および前記第2実行を行うこと、および前記第1フィルタクエリの前記第1実行と前記第2実行との間の前記差を前記所定の閾値と比較することは、前記
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~6のいずれか1項に記載の方法。 The method of any one of claims 1-6, wherein determining the validity time of the received data update comprises receiving the validity time of each of the plurality of received data updates. 前記受信したデータ更新の前記有効時間を決定することは、前記コンピュータシステムのオーケストレーションエンジンを用いて、前記複数の受信したデータ更新の各々の前記有効時間を動的に決定することを含む、請求項1~7のいずれか1項に記載の方法。 Determining the validity time of the received data update includes dynamically determining the validity time of each of the plurality of received data updates using an orchestration engine of the computer system. Item 8. The method according to any one of items 1 to 7. 前記複数の多時間データ項目のうち、前記第1データ変換プロセスの前記第2呼び出しを引き起こした多時間データ項目を判断することは、
前記複数の多時間データ項目内の第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.
前記第1フィルタクエリが、前記受信したデータの更新が前記第1フィルタクエリの前記結果を確実に変更することを判断することによって、前記更新された多時間データ項目のうち、少なくとも一部の多時間データ項目を含む前記第1セットの多時間データ項目に基づいて結果を計算するように構成されることを判断することをさらに含む、請求項1~のいずれか1項記載の方法。 The first filter query determines that updates to the received data reliably change the results of the first filter query , thereby reducing at least some of the updated multi-time data items to multi-time data items. A method according to any preceding claim, further comprising determining that it is configured to calculate a result based on said first set of multi-temporal data items including temporal data items. 第1フィルタクエリが、前記受信したデータの更新が前記第1フィルタクエリの結果を確実ではなく潜在的に変更することを判断することによって、前記更新された多時間データ項目のうち、少なくとも一部の多時間データ項目を含む前記第1セットの多時間データ項目に基づいて、結果を計算するように構成されることを判断することをさらに含む、請求項1~10のいずれか1項に記載の方法。 A first filter query determines at least some of the updated multi-time data items by determining that updates to the received data potentially, but not reliably, change the results of the first filter query . 11. The method of any one of claims 1 to 10 , further comprising determining to be configured to calculate a result based on the first set of multi-temporal data items including a multi-temporal data item of the method of. 請求項1~11のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the method according to any one of claims 1 to 11 . 請求項12に記載の前記プログラムを格納するメモリと、
前記プログラムを実行するプロセッサとを含む、システム。
a memory for storing the program according to claim 12 ;
and a processor that executes the program.
JP2021020802A 2015-03-23 2021-02-12 Knowledge-intensive data processing system Active JP7142116B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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