JP7118726B2 - workflow engine framework - Google Patents

workflow engine framework Download PDF

Info

Publication number
JP7118726B2
JP7118726B2 JP2018087438A JP2018087438A JP7118726B2 JP 7118726 B2 JP7118726 B2 JP 7118726B2 JP 2018087438 A JP2018087438 A JP 2018087438A JP 2018087438 A JP2018087438 A JP 2018087438A JP 7118726 B2 JP7118726 B2 JP 7118726B2
Authority
JP
Japan
Prior art keywords
engine
workflow
domain
component
data
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
JP2018087438A
Other languages
Japanese (ja)
Other versions
JP2019075077A (en
Inventor
イ、ヨン、ヒ
キム、ヒョン、ジェ
イ、ホ、ソン
キム、テ、ウォン
カン、ヒョン、ジュン
クォン、スン、ヒョン
ユウ、ウン、シク
キム、ネ、ス
キム、ソン、ジン
キム、ヨン、ミン
アン、ホ、ヨン
ピョ、チョル、シク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2019075077A publication Critical patent/JP2019075077A/en
Application granted granted Critical
Publication of JP7118726B2 publication Critical patent/JP7118726B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明はワークフローおよびフレームワーク技術に関するものであって、具体的には、多様な業務ドメインまたは目的ドメインのワークフローを処理するために、動的エンジンコンポーネントの有機的な構成を通じて単一ドメイン適応型の、ひいてはクロスドメイン適応型のワークフロー実行プラットフォームを作ることができる、ワークフローエンジンフレームワークに関するものである。 TECHNICAL FIELD The present invention relates to workflow and framework technology, and more specifically, to process workflows of diverse business domains or objective domains, through organic composition of dynamic engine components, a single domain adaptive system. , and thus a workflow engine framework that can create a cross-domain adaptive workflow execution platform.

ワークフロー技術とは、文書、情報、タスクなどを一連の業務手続き規則による処理のために、あるユーザー(アプリケーション)から他のユーザーに伝達するビジネスプロセスの自動化技術を意味する。特にデータ基盤サービスワークフロー生成手続きは次のとおりである。まず、データソースとそのデータソース収集方法を決定する。収集されたデータの処理方法を決定して分析方法を決定する(例えば、機械学習、予測、知識推論などによる分析)。分析された結果をサービスするための方法を決定する。この該当ワークフローを実行するために必要なエンジンを構成し、エンジン間の連係方法を定義することによってワークフロー生成手続きが完了する。 Workflow technology means business process automation technology that transfers documents, information, tasks, etc. from one user (application) to another user for processing according to a set of business procedure rules. In particular, the data infrastructure service workflow generation procedure is as follows. First, determine the data sources and how the data sources are collected. Determining how to process the data collected to determine how to analyze it (e.g., analysis through machine learning, prediction, knowledge inference, etc.). Decide how to service the analyzed results. The workflow generation procedure is completed by configuring the engines necessary to execute this relevant workflow and defining how the engines will work together.

最近、多様な事物に人工知能を付与するいわゆる知能型事物インターネットが注目されている。特に、多数の異種事物インターネット領域を包括する知能型インターネットの応用(例えば、スマートシティ)のためには、異種の事物知能領域を統制および管理、制御できるシステムが必要である。また、多様な業務ドメイン(例えば、エネルギー、ヘルス、交通・教育・電力プラン卜など)を知能的に処理しなければならない問題が発生する可能性がある。一つの業務ドメイン内においても、データの発生とアクションが起きるデバイスから、データを処理し伝達、即刻的な分析、判断するエッジ(edge)と複雑な分析と応用が起きるクラウド(cloud)まで、多様な目的ドメインが存在し得る。また、業務ドメインや目的ドメイン内でも、空間の分類による空間ドメイン、時間の分類による時間ドメインが存在し得る。その他にデータ処理ドメイン、学習ドメイン、予測ドメイン、サービスドメインなど、多様な方法ドメインが存在し得る。したがって、このような複雑な多種の多階層ドメイン(以下、クロスドメイン)を効果的に統制し管理、制御するための一元化された方法およびシステムが必要である。 Recently, the so-called intelligent internet of things, which imparts artificial intelligence to various things, has attracted attention. In particular, for intelligent Internet applications (such as smart cities) that include a large number of heterogeneous Internet-of-things domains, a system capable of controlling, managing, and controlling heterogeneous intelligence-of-things domains is required. In addition, problems may occur that require intelligent processing of various business domains (eg, energy, health, transportation, education, power plants, etc.). Within a single business domain, there are various devices that generate and act on data, the edge that processes, transmits, analyzes, and judges data, and the cloud that performs complex analysis and applications. target domains can exist. Moreover, even within the business domain and the purpose domain, there may exist a spatial domain based on spatial classification and a temporal domain based on temporal classification. In addition, there may be various method domains such as data processing domain, learning domain, prediction domain, and service domain. Accordingly, there is a need for a centralized method and system for effectively governing, managing and controlling such complex multi-layered domains (hereafter referred to as cross-domains).

一方、事物インターネットを通じて収集されるビッグデータに含まれたインサイトを素早く抽出してビジネスとつなぎ合わせるために、事物インターネットデータからインサイトを抽出し分析して、迅速かつ正確な意志決定を支援するための多様な技術が開発されている。このためには、リアルタイムアナリティクスのためのストリーム処理技術とリアルタイム予測/分析のためのプラットフォーム技術の裏付けが必ず必要である。 On the other hand, in order to quickly extract insights contained in big data collected through the Internet of Things and connect them to business, we extract and analyze insights from Internet of Things data to support quick and accurate decision making. Various techniques have been developed for this purpose. This will definitely require the backing of stream processing technology for real-time analytics and platform technology for real-time prediction/analysis.

また、最近急浮上している機械学習技術をIoTビッグデータ分析に活用してワークフローを設計する必要性が大きくなりつつあり、また多様な目的と分野のIoTドメインが生成するにつれて、これらを有機的に統合してよりインサイトのある分析やサービスを可能にする、一元化されたプラットフォーム技術が必要となっている。しかし、従来のワークフロー技術では、デバイス、データ、ドメインにより異なる特性を有するIoTビッグデータと機械学習を結合するには限界がある。 In addition, there is a growing need to design workflows by utilizing machine learning technology, which has recently emerged rapidly, for IoT big data analysis. There is a need for a centralized platform technology that can be integrated into multiple systems to enable more insightful analysis and services. However, conventional workflow technology has limitations in combining IoT big data and machine learning, which have different characteristics depending on devices, data, and domains.

前述した限界と問題点の克服のために、エンジンコンポーネントの有機的な構成を通じて各ドメインの目的に合うワークフローを生成して実行することができ、容易に他のドメインに適用して他のドメインに適合した(ドメイン適応型の)ワークフローを生成し実行することができ、特にクロスドメインに対応するために統合的に制御および管理できる一元化されたシステムが必要である。 In order to overcome the limitations and problems mentioned above, it is possible to generate and execute a workflow that meets the purpose of each domain through the organic configuration of engine components, and can be easily applied to other domains. There is a need for a centralized system that can generate and execute adapted (domain-adaptive) workflows and that can be controlled and managed in an integrated manner, especially for cross-domain coverage.

したがって、本発明は動的エンジンコンポーネントの有機的な構成を通じて目的に合う、ドメイン適応型の、ひいてはクロスドメイン適応型のワークフロー実行プラットフォームを作るためのワークフローエンジンフレームワークを提案しようとする。 Accordingly, the present invention seeks to propose a workflow engine framework for creating a fit-for-purpose, domain-adaptive and even cross-domain-adaptive workflow execution platform through the organic composition of dynamic engine components.

前記課題を解決するための本発明の一側面によると、ユーザーによって定義されたワークフローの実行に必要なワークフロー属性明細コンポーネントとエンジンコンポーネントが含まれた資源を管理する資源管理部;属性明細コンポーネントを組み立て、ワークフローの実行に必要なエンジンコンポーネントを動的に組み合わせてワークフロー明細にしたがって必要なエンジンコンポーネントコンテナを構成してエンジンを生成するシステム構成部;ワークフロー属性明細に定義された方式により前記システム構成部によって生成される一つ以上のエンジンを駆動して実行を制御するシステム制御部を含む、ワークフローエンジンフレームワークが提供される。 According to one aspect of the present invention for solving the above problems, a resource manager for managing resources including a workflow attribute specification component and an engine component necessary for executing a workflow defined by a user; assembling an attribute specification component , a system component that dynamically combines engine components necessary for workflow execution and configures necessary engine component containers according to the workflow specification to generate an engine; A workflow engine framework is provided that includes a system controller that drives and controls the execution of one or more generated engines.

また、本発明の他の側面によると、前記ワークフローエンジンフレームワークが二以上の異なる単一ドメインにそれぞれ割り当てられ、これら単一ドメインワークフローエンジンフレームワークとネットワークに連結されて、ユーザーが定義したクロスドメインワークフローによりクロスドメインに含まれた各単一ドメインに必要なエンジンを配布する単一ドメインを決定するクロスドメイン融合システムが含まれる、クロスドメイン適応型ワークフローエンジンフレームワークが提供される。 According to another aspect of the present invention, the workflow engine frameworks are respectively assigned to two or more different single domains, and are networked with these single domain workflow engine frameworks to provide user-defined cross-domain workflows. A cross-domain adaptive workflow engine framework is provided that includes a cross-domain fusion system that determines a single domain that distributes the required engine to each single domain included in the cross-domain by the workflow.

エンジンコンポーネントの有機的な構成を通じて、各ドメインが解決しようとする分野と目的に合うワークフローを生成して実行することができ、容易に他のドメインに適用して他のドメインに適合したワークフローを生成して実行することができる。すなわち、多様な業務ドメインまたは目的ドメインで類似する問題の解決のための実行プラットフォームを容易に構成することができるように、エンジンコンポーネントを動的にリサイクルできるドメイン適応型ワークフローエンジンフレームワークを容易に構成することができる。また、クロスドメイン知識融合ブレインをさらに含むことによって、クロスドメイン適応型ワークフローエンジンフレームワークを構成することができる。ひいては、IoT、ビッグデータ、機械学習を結合して分析する大容量データのリアルタイム分析サービスにおいて、特定の問題の解決のために開発した機械学習モデルおよびビッグデータ分析モデルをコンポーネントを具現して管理することができる。 Through the organic composition of engine components, it is possible to generate and execute workflows that match the field and purpose that each domain tries to solve, and easily apply to other domains to generate workflows that are suitable for other domains. can be run as That is, easily configure a domain-adaptive workflow engine framework that can dynamically recycle engine components so that an execution platform for solving similar problems in various business domains or target domains can be easily configured. can do. Also, by further including a cross-domain knowledge fusion brain, a cross-domain adaptive workflow engine framework can be constructed. In addition, in the real-time analysis service for large amounts of data that combines and analyzes IoT, big data, and machine learning, implement and manage the machine learning model and big data analysis model developed to solve specific problems as components. be able to.

多様な人工知能サービスやアプリケーションが要求される環境で応用別に個別のソリューションを開発せず、追加に必要なコンポーネントを開発して追加に搭載するか既開発されて搭載されたコンポーネントをリサイクルすることによって、新しいワークフローを満足するワークフロー実行エンジンセットを構成/実行できるフレームワークを具現することができる。 In an environment where various artificial intelligence services and applications are required, by developing and installing additional necessary components instead of developing individual solutions for each application, or by recycling already developed and installed components , a framework that can construct/execute a workflow execution engine set that satisfies a new workflow.

本発明に係るワークフローエンジンフレームワークの概要図。1 is a schematic diagram of a workflow engine framework according to the present invention; FIG. システム構成部30の細部構成図。。FIG. 3 is a detailed configuration diagram of the system configuration unit 30; . システム定義編集機70の構成を説明するためのGUI画面の例示図。FIG. 3 is an exemplary diagram of a GUI screen for explaining the configuration of the system definition editing machine 70; ワークフローを構成するエンジンに対する明細からエンジンを構成する手続きを示した図面。A drawing showing the procedure for configuring an engine from the specifications for the engine that configures the workflow. 図1のワークフロー構成部36により構成可能なワークフロー実行インスタンスの例示としてのエンジンの構成図。FIG. 2 is a configuration diagram of an engine as an example of a workflow execution instance that can be configured by the workflow configuration unit 36 of FIG. 1; 単位処理器を搭載したエンジン構成の一例を示した図面。The drawing which showed an example of the engine structure which mounts a unit processor. 図6に例示したデータ処理エンジンの具体的な実施形態図。FIG. 7 is a diagram of a specific embodiment of the data processing engine illustrated in FIG. 6; 単位処理器を搭載したエンジン構成の他の例を示した図面。The drawing which showed the other example of the engine structure which mounts a unit processor. 一つ以上のエンジンがパイプライン方式で連結されるワークフローの実行システムの構成を示した図面。FIG. 2 is a diagram showing the configuration of a workflow execution system in which one or more engines are connected in a pipeline fashion; FIG. 一つ以上のエンジンが多数類型のデータ経路を通るワークフローの実行システムの構成を示した図面。FIG. 3 is a diagram showing the configuration of a workflow execution system in which one or more engines pass through multiple types of data paths; IoTおよび人工知能基盤の照度/温度制御ワークフローサービスシナリオの説明図。Explanatory diagram of IoT and artificial intelligence-based illuminance/temperature control workflow service scenario. ディープランニング基盤の交通速度モニタリングサービスシナリオの説明図。Explanatory diagram of a deep learning-based traffic speed monitoring service scenario. 図11のワークフローエンジンフレームワーク10の内部構成。FIG. 11 is an internal configuration of the workflow engine framework 10 of FIG. 11; クライアントやユーザーに対するサービスを提供するエンジンであって、知能サービスを提供するためのサービングエンジンの構成の例示を示した図面。FIG. 4 is a diagram illustrating an example of a configuration of a serving engine for providing intelligent services, which is an engine for providing services to clients and users; 図12のワークフローエンジンフレームワーク10の内部構成。13 shows the internal configuration of the workflow engine framework 10 of FIG. 12; クロスドメインワークフローエンジンフレームワーク構成の例を示した図面。Drawing showing an example of a cross-domain workflow engine framework configuration. クロスドメインワークフローの実行手続きを示した図面。A drawing showing the execution procedure of a cross-domain workflow. スマートシティを達成するためのシナリオを説明するための図面。A drawing to explain the scenario for achieving a smart city. 図18のスマートシティを達成するために構成したワークフローエンジンフレームワークの一実施形態。An embodiment of a workflow engine framework configured to achieve the smart city of FIG. 図19に示したワークフロー94のスマート街路灯制御推薦エンジン構成の一実施形態。An embodiment of a smart street light control recommendation engine configuration for the workflow 94 shown in FIG.

図1は、本発明のワークフローエンジンフレームワークの一実施形態を示す構成図である。本発明のワークフローエンジンフレームワーク10は基本として、-実行する作業(ワークフロー)の構造と明細を作成するシステム定義編集機70、-ユーザーがシステム定義編集機70を通じて作成するワークフロー明細(=エンジン明細。すなわち、ワークフローを構成する一つ以上のエンジンで構成された明細)の各エンジンコンポーネントを定義するための属性に関連した属性明細コンポーネントとワークフローの実行を遂行するエンジンを構成するエンジン構成品と言えるエンジンコンポーネント、そして、既に作成されたワークフロー明細インスタンスなどの資源を管理する資源管理部20、-ワークフロー属性明細を組み立て、ワークフローの実行に必要なエンジンコンポーネントを動的に組み合わせて構成し、ワークフローを遂行するエンジンインスタンス32(以下、「エンジン」と混用される)を構成するシステム構成部30、-前記システム構成部30により生成されたエンジン(インスタンス)32、-資源管理部20、システム構成部30、エンジン32の実行を制御するシステム制御部40を含む。 FIG. 1 is a configuration diagram showing one embodiment of the workflow engine framework of the present invention. The workflow engine framework 10 of the present invention is basically composed of: - a system definition editor 70 for creating the structure and details of work (workflow) to be executed; That is, an attribute detail component related to attributes for defining each engine component of a detail composed of one or more engines that constitute a workflow) and an engine that can be said to be an engine component that constitutes an engine that executes the workflow A resource management unit 20 that manages components and resources such as workflow specification instances that have already been created, - assembles workflow attribute specifications, dynamically combines and configures engine components necessary for workflow execution, and executes the workflow. A system configuration unit 30 that configures an engine instance 32 (hereinafter also referred to as “engine”), an engine (instance) 32 generated by the system configuration unit 30, a resource management unit 20, a system configuration unit 30, an engine It includes a system controller 40 that controls the execution of T.32.

ワークフローエンジンフレームワーク10において、ユーザーは所望するシステムを作るために一つ以上のエンジンで構成されるワークフローを定義する。ここで、ワークフローは一つ以上のエンジンに対する定義で構成されるが、この「エンジンに対する定義」は、エンジンコンポーネントを入れるためのエンジンコンポーネントコンテナとエンジンコンポーネントコンテナに入るエンジンコンポーネントの組み合わせを意味する。エンジンコンポーネントコンテナは一つ以上の入力器(reader)コンポーネント、出力器(writer)コンポーネント、実行器(runner)コンポーネント、処理器(operator)コンポーネント、制御器(controller)コンポーネントの組み合わせで作ることができる。これら一つ以上の入力器コンポーネント、出力器コンポーネント、実行器コンポーネント、処理器コンポーネント、制御器コンポーネントは、それぞれコンポーネントの性質を決定する属性を定義するための属性明細コンポーネントと、コンポーネントの実際の具現体に該当する実行コンポーネントの組み合わせで作られる。一例として、実行コンポーネントは、Java、C++などのクラスに該当するものであり、属性明細コンポーネントはクラスの生成子に含まれ得る生成子パラメーターまたは生成子パラメーターが入れられるクラスに該当する。このような方式で生成された実行システムの定義に該当する一つ以上のエンジンに対するワークフローを定義することによって動的に実行エンジンを構成して、多様な目的の業務ドメインに必要なワークフローシステムを作ることができる。 In the workflow engine framework 10, users define workflows that consist of one or more engines to create the desired system. Here, a workflow is composed of definitions for one or more engines, and this "definition for engines" means a combination of an engine component container for containing engine components and engine components that enter the engine component container. An engine component container can be made up of a combination of one or more reader, writer, runner, operator, and controller components. Each of these one or more input device components, output device components, executor components, processor components, and control components includes an attribute specification component for defining attributes that determine the properties of the component, and an actual implementation of the component. It is made up of a combination of execution components that correspond to As an example, the execution component corresponds to a class such as Java, C++, etc., and the attribute specification component corresponds to a generator parameter that can be included in the generator of the class or a class that contains the generator parameter. By defining a workflow for one or more engines corresponding to the definition of the execution system created in this way, the execution engine is dynamically configured to create a workflow system required for various business domains. be able to.

図2は、図1のシステムの具体的な構成および追加可能な構成要素を示している。 FIG. 2 shows a specific configuration of the system of FIG. 1 and possible additional components.

前記システム構成部30により動的に生成されたエンジンコンポーネントの組み合わせで構成されたエンジン32がエンジンインスタンス(結果として完成されて実行されたエンジン)の形態で保存される実行インスタンス部50;資源管理部20で管理される属性明細コンポーネント62とエンジンコンポーネント64が物理的にまたは仮想的に保存される空間であるコンポーネント部60;そして、システム定義編集機70からワークフロー明細の入力を受けてシステム構成部30に伝達する役割をするフロントエンド77がさらに含まれ得る。 An execution instance unit 50 in which the engine 32 configured by combining engine components dynamically generated by the system configuration unit 30 is saved in the form of an engine instance (engine completed and executed as a result); resource management unit 50; component section 60, which is a space where attribute detail components 62 and engine components 64 managed by 20 are physically or virtually stored; A front end 77 may also be included that serves to communicate to.

フロントエンド77はクライアントから要請を受けて処理をするためのプロセスの実行を媒介する役割を遂行し、ユーザー管理や保存所管理などの多様な要請に対応する役割を遂行する。フロントエンド77の例えば一般的なアプリケーションサーバー、ウェブ基盤のREST APIを提供するウェブアプリケーションサーバー、または一般的なソケット通信基盤の受信者(listener)モジュールを含んだシステムであり得る。場合によっては、フロントエンド77はシステム定義編集機70またはフレームワーク10を構成しているバックエンドと異なるネットワーク上で実行されることも可能である。 The front end 77 plays a role of mediating the execution of processes for processing requests from clients and also plays a role of responding to various requests such as user management and storage management. The front end 77 may be, for example, a system including a general application server, a web application server providing a web-based REST API, or a general socket communication-based listener module. In some cases, the front end 77 may run on a different network than the back end comprising the system definition editor 70 or framework 10 .

図1、図2のワークフローエンジンフレームワーク10の本格的な説明に先立って、フレームワーク10で実行システムを駆動するための一連の作業明細を定義するワークフローを作成し、これをフレームワーク10で駆動するように指示するためにフロントエンド77に要請する役割を遂行するシステム定義編集機70について先に説明する。 Prior to a full-fledged explanation of the workflow engine framework 10 of FIGS. Described above is the system definition editor 70, which performs the role of asking the front end 77 to tell it to do so.

システム定義編集機70は所望の業務に対する細部ドメインを定義し、各ドメインに対して処理すべき作業の構造(ワークフロー構造)を定義し、この構造に合うようにエンジンコンポーネントを選定してワークフローの実行流れを定義し、各エンジンコンポーネントの具体的な明細を作成する機能を遂行する。このために、フレームワーク(特に、資源管理部20)から属性明細コンポーネントとエンジンコンポーネントを照会することができる。 The system definition editor 70 defines detailed domains for desired tasks, defines the structure of work to be processed for each domain (workflow structure), selects engine components to match this structure, and executes the workflow. Performs the functions of defining flows and creating specific specifications for each engine component. For this purpose, the framework (especially the resource manager 20) can query the attribute description component and the engine component.

ここで「作業の構造」は、例えば、特定の事物インターネットプラットフォームからのデータ収集、データ処理、学習などの過程であり、これらを順次処理することはワークフローの実行流れに該当し得る。「コンポーネントの明細」とは、データをいずれから持ってきてどのような処理過程を経、いずれに送り出すかに対する作業を遂行するために、いずれのデバイスから収集するのか、連結方法は何であるか、データを受けてメモリーに置くのか保存所に入れるのか、メモリー情報は何であるか、保存所の位置はどこであるのかなど、各要素コンポーネントに対する具体的な定義事項を意味する。 Here, the 'work structure' is, for example, the process of data collection, data processing, learning, etc. from a specific Internet of Things platform, and the sequential processing of these may correspond to the workflow execution flow. 'Component details' refers to which device the data is collected from, what the connection method is, in order to perform the work of which data is brought from, what processing process is passed, and where it is sent. It means specific definition items for each element component, such as whether data is received and stored in memory or stored, what is the memory information, and where is the location of the storage.

ユーザー(データ科学者、モデル開発者、ビジネス開発者など)は、システム定義編集機70を通じて、ワークフローを構成するエンジンコンポーネント64とそのエンジンコンポーネントの特性を決定するパラメーターを定義できる属性明細コンポーネント62を規約に沿って定義し、またコンポーネントと属性明細のペアを定義し、編集することができる。 A user (data scientist, model developer, business developer, etc.), through the system definition editor 70, defines the engine components 64 that make up the workflow and the attribute specification components 62 that can define the parameters that determine the characteristics of the engine components. , and can define and edit component-attribute specification pairs.

図3は、システム定義編集機70の構成を説明するためのGUI画面71の例示図である。このGUI画面71を説明することによって、システム定義編集機70の構成および作用に対する説明を代替する。 FIG. 3 is an exemplary diagram of a GUI screen 71 for explaining the configuration of the system definition editing machine 70. As shown in FIG. Explanation of the GUI screen 71 replaces the explanation of the configuration and operation of the system definition editor 70 .

GUI画面71には、機能メニュー72、エンジン類型選択部73、コンポーネント選択部74、コンポーネント属性照会/編集部75、ワークフローインスタンス保存/照会部76が含まれる。 The GUI screen 71 includes a function menu 72 , an engine type selection section 73 , a component selection section 74 , a component attribute inquiry/editing section 75 , and a workflow instance storage/inquiry section 76 .

機能メニュー72は、システム定義編集機70の各種機能を選択するメニューであって、例えばNew(ワークフロー新規作成)、Open(保存されたワークフローの読み込み)、Save(ワークフロー保存)、Run(ワークフローの実行)、Result(実行結果を見る)、Help(ヘルプ)等の機能を選択するメニューで構成され得る。 The function menu 72 is a menu for selecting various functions of the system definition editing machine 70. For example, New (creating a new workflow), Open (reading a saved workflow), Save (saving a workflow), Run (executing a workflow). ), Result (to see the execution result), and Help (help).

エンジン類型選択部73は、各種のエンジンの類型を提示し、ユーザーがこれらのうち必要なものを選択することができるようにする。エンジンの類型としては、例えば、リアルタイムストリーム処理エンジン、配置分析エンジン、要求型(on-demand)データ処理エンジン、評価エンジン、配置データ積載エンジン、ストリーム機械学習予測エンジン、要求型(on-demand)融合サービングエンジンなどがある。 The engine type selection unit 73 presents various types of engines so that the user can select a desired engine type. Engine types include, for example, real-time stream processing engine, deployment analysis engine, on-demand data processing engine, evaluation engine, deployment data loading engine, stream machine learning prediction engine, on-demand fusion Serving engine, etc.

コンポーネント選択部74は、ユーザーがコンポーネントタイプと各タイプ別エンジンコンポーネントを選択することができるように、コンポーネントタイプ別に多様なエンジンコンポーネント目録を提供する。下記の表1はコンポーネント選択部74で提示されるコンポーネントタイプとエンジンコンポーネント目録の例示である。 The component selection unit 74 provides various engine component lists for each component type so that the user can select the component type and engine components for each type. Table 1 below is an example of the component types and engine component inventories presented in the component selector 74 .

Figure 0007118726000001
Figure 0007118726000001

コンポーネント属性選択/編集部75は、コンポーネント選択部74で選択されたエンジンコンポーネントの属性(Properties)が提示され、ユーザーは属性を照会してこれを選択および編集することができる。 The component attribute selection/editing unit 75 presents the properties of the engine component selected by the component selection unit 74, and allows the user to inquire, select, and edit the properties.

ワークフローインスタンス選択部76は、既製作されたワークフローが保存された目録が表示される。これらのうちリサイクルを所望するワークフローを選択して再編集をするか、そのままフレームワーク10に実行要請をすることができる。リサイクルの単位はワークフロー全体であってもよく、またはワークフローに含まれた単一エンジン別に再活用して編集や実行に活用してもよい。 The workflow instance selection portion 76 displays a list of saved workflows that have already been created. It is possible to select a workflow desired to be recycled from among these and re-edit it, or directly request the framework 10 to execute it. The unit of recycling may be the entire workflow, or a single engine included in the workflow may be reused for editing or execution.

このようなシステム定義編集機70でワークフロー明細ファイルが作成されると、これは図1に示したフレームワーク10のシステム構成部30に提出される。このとき、フロントエンド77がワークフロー明細の入力を受けてシステム構成部30に伝達する役割をすることができる。 When a workflow specification file is created by the system definition editor 70, it is submitted to the system configuration section 30 of the framework 10 shown in FIG. At this time, the front end 77 can play a role of receiving input of the workflow specification and transmitting it to the system configuration unit 30 .

再び図1と図2に参照すると、フレームワーク10の資源管理部20はワークフローの実行に必要なコンポーネントを管理する機能を遂行する。資源管理部20は、具体的には図2に示したように、-ワークフローインスタンスのコンポーネント特性または属性を決定する属性明細が含まれた属性明細コンポーネント62とその目録を管理(アップデートを含む)する属性明細コンポーネント管理部22、-実行のためのコンポーネント(エンジンコンポーネント)とその目録を管理(アップデートを含む)するエンジンコンポーネント管理部24を含む。 Referring again to FIGS. 1 and 2, resource manager 20 of framework 10 performs the function of managing the components necessary for workflow execution. Specifically, as shown in FIG. 2, the resource manager 20: manages (including updates) an attribute specification component 62 containing attribute specifications that determine the component characteristics or attributes of a workflow instance and its inventory; Attribute specification component manager 22 - includes an engine component manager 24 that manages (including updates) components for execution (engine components) and their inventories.

また、既に作成されて保存されたワークフロー明細インスタンスを管理するワークフロー明細インスタンス管理部26をさらに含むことができる。このワークフロー明細インスタンス管理部26は、システム定義編集機70の要請により(例えば、図3のワークフローインスタンス選択部76を通じて)、ワークフロー明細インスタンスを後で活用できるように保管および管理する。 In addition, it can further include a workflow description instance manager 26 that manages previously created and saved workflow description instances. This workflow specification instance management unit 26 stores and manages workflow specification instances so that they can be used later at the request of the system definition editor 70 (for example, through the workflow instance selection unit 76 of FIG. 3).

また、図1でシステム構成部30は、作成されたワークフローの実行に必要なコンポーネントを生成する機能を遂行する。システム構成部30はフロントエンド77から渡されたワークフロースペック(明細)により必要なエンジンコンポーネントコンテナ32を構成してエンジンインスタンスを生成する。 Also, in FIG. 1, the system configuration unit 30 performs a function of generating components necessary for executing the created workflow. The system configuration unit 30 configures the necessary engine component container 32 according to the workflow specifications (details) passed from the front end 77 and generates an engine instance.

図2を参照して詳察すると、システム構成部30は、-システム定義編集機70から受信した実行プラットフォーム構成ワークフロー明細を属性明細コンポーネントにバインディングして一連の属性明細コンポーネントを生成するワークフロー属性明細組立部34、-組み立てた属性明細コンポーネント62から、定義されたエンジンコンポーネント情報を抽出して属性明細コンポーネント62とエンジンコンポーネント64をバインディングする過程を通じて、一連のエンジンコンポーネントを構成してワークフロー実行プラットフォームを構成するワークフロー構成部36を含む。 With particular reference to FIG. 2, the system configuration component 30 includes: - a workflow attribute specification assembly that binds the execution platform configuration workflow specification received from the system definition editor 70 to attribute specification components to generate a series of attribute specification components; Part 34, - constructing a series of engine components to form a workflow execution platform through the process of extracting defined engine component information from the assembled attribute specification component 62 and binding the attribute specification component 62 and the engine component 64; A workflow configuration unit 36 is included.

ワークフロー属性明細組立部34は、実行プラットフォームを構成するためのワークフロー明細を属性明細コンポーネント62にバインディングして一連の属性明細コンポーネントインスタンスを生成する。ワークフロー属性明細組立部34により生成される属性明細コンポーネント62の例えば、GoogleのProtobufメッセージ客体、ScalaのCase Class、JavaのProperty客体などが挙げられる。 The workflow attribute specification assembler 34 binds the workflow specification for configuring the execution platform to the attribute specification component 62 to generate a series of attribute specification component instances. Examples of the attribute description component 62 generated by the workflow attribute description assembler 34 include Google's Protobuf message object, Scala's Case Class, Java's Property object, and the like.

ワークフロー構成部36は、ワークフローを構成するエンジンコンポーネント64とこのエンジンコンポーネント64の特性を決定するパラメーターを定義した属性明細コンポーネント62をバインディングし、バインディング過程を通じて生成したエンジンコンポーネントのインスタンスをエンジンコンテナにバインディングすることによって、ワークフローを実行するための一連のエンジンインスタンスが含まれるワークフロー実行インスタンス部50を動的に構成する。ワークフロー実行インスタンス部50には、ワークフロー構成部36により動的に生成された一つ以上のエンジン32が作られて実行される。一つのワークフローを実行するために生成されたこれらのエンジン32は、一つの独立したプログラムパッケージとして同じコンピューティングマシンまたはネットワークに連結されたコンピューティングマシン上に配布されて実行されるか、仮想マシン単位でパッケージングされて異なる物理的コンピューティングマシンに配布され得る。 The workflow configuration unit 36 binds the engine component 64 that configures the workflow and the attribute detail component 62 that defines the parameters that determine the characteristics of this engine component 64, and binds the instance of the engine component generated through the binding process to the engine container. This dynamically configures the workflow execution instance portion 50 that includes a series of engine instances for executing the workflow. One or more engines 32 dynamically generated by the workflow configuration unit 36 are created and executed in the workflow execution instance unit 50 . These engines 32 generated to execute one workflow are distributed and executed on the same computing machine or computing machines connected to a network as one independent program package, or are executed on a virtual machine basis. and distributed to different physical computing machines.

図1と図2のシステム制御部40は、前記システム構成部30が生成したエンジンインスタンス32を処理手続きに合うように駆動し、また駆動されたエンジンインスタンス32を終了させる役割を遂行するなど、本発明のフレームワークの核心役割を遂行するモジュールである。また、ワークフロー属性明細に定義された方式によりワークフロー実行インスタンス部50内に作られる一つ以上のエンジン32を駆動して実行を制御する。換言すると、システム制御部40がワークフロー実行インスタンス部50にワークフローの実行要請をすると、ワークフローが実行される。これによって、所望するいかなるドメインに対してもユーザーによって作成されたワークフローが達成しようとする目的を達成することができる。 The system control unit 40 of FIGS. 1 and 2 drives the engine instance 32 generated by the system configuration unit 30 according to the processing procedure and terminates the driven engine instance 32. It is a module that performs the core role of the framework of the invention. It also controls execution by driving one or more engines 32 created within the workflow execution instance unit 50 according to the method defined in the workflow attribute specification. In other words, when the system control unit 40 requests the workflow execution instance unit 50 to execute the workflow, the workflow is executed. This accomplishes the goals that user-created workflows seek to achieve for any desired domain.

例えばシステム制御部40は、多数の異なる類型をデータ出発地(source)と終着地(destination)とする一つ以上のエンジン32が、互いにパイプライン方式で実行されるように制御することができる。または多数の異なる類型をデータ出発地と終着地とする一つ以上のエンジンが、同時に実行されるように制御することができる。多様な類型のエンジン構成については詳細に後述する。 For example, the system controller 40 may control one or more engines 32 with multiple different types of data sources and destinations to be pipelined with each other. Alternatively, one or more engines with multiple different types of data origin and destination can be controlled to run simultaneously. Various types of engine configurations will be described in detail below.

図4は、システム定義編集機70で作成されたワークフロー明細からエンジン32を構成する手続きを図示する。 FIG. 4 illustrates the procedure for configuring the engine 32 from the workflow specifications created by the system definition editor 70. As shown in FIG.

まず、システム構成部30のワークフロー構成部36は、ワークフロー明細の入力を受けて(340)、これから、エンジンを構成するエンジンコンポーネントに対する属性明細が入れられる一連の属性明細コンポーネントインスタンスを生成する(342)。この時、使用される属性明細コンポーネント62は、GoogleのProtobufメッセージやScalaのCase Class、その他、プログラム言語上で値を入れることができる「Class」であり得る。 First, the workflow configuration unit 36 of the system configuration unit 30 receives input of the workflow specification (340), and generates a series of attribute specification component instances (342) in which attribute specifications for the engine components that make up the engine are entered. . At this time, the attribute specification component 62 used may be Google's Protobuf message, Scala's Case Class, or other "Class" that can enter a value in a programming language.

生成した属性明細コンポーネントインスタンスをエンジンコンポーネント64の生成子パラメーターと指定してエンジンコンポーネントインスタンスを生成する(344)。 The generated attribute specification component instance is designated as the generator parameter of the engine component 64 to generate the engine component instance (344).

エンジンを構成する制御器、入力器、実行器、出力器、単位処理器を含むエンジンインスタンスが生成されると、これらをエンジンコンポーネントコンテナインスタンス生成子パラメータとして、エンジンコンポーネントコンテナ31に動的バインディングしてエンジンインスタンスを生成する過程(346)を通じてエンジンインスタンスを生成する。ワークフロー上のすべてのエンジンの定義に対してエンジンインスタンス32が生成され、生成されたエンジンインスタンスはワークフロー実行インスタンス部50で実行及び管理される。 When an engine instance including a controller, an input device, an executor, an output device, and a unit processor that constitute the engine is generated, these are dynamically bound to the engine component container 31 as engine component container instance generator parameters. An engine instance is created through the process of creating an engine instance (346). An engine instance 32 is generated for all engine definitions on the workflow, and the generated engine instance is executed and managed by the workflow execution instance section 50 .

このような図4の手続きでもって、ワークフロー実行インスタンスを動的に構成する。ここで一つのエンジンは仮想マシンの形態で定義され構成され得る。 A workflow execution instance is dynamically configured with such a procedure of FIG. Here, one engine can be defined and configured in the form of a virtual machine.

図5~図10は図1で言及したワークフロー構成部36により構成されるワークフロー実行インスタンスの例示として、多様なエンジン32構成の方式を図示する。 FIGS. 5-10 illustrate various engine 32 configuration schemes as examples of workflow execution instances configured by the workflow configuration component 36 referred to in FIG.

図5に示した基本的なエンジン32は、一つ以上のデータ出発地(source)からデータを持ってくる入力器(reader)322、内部で処理したデータを一つ以上のデータ終着地に出力する一つ以上の出力器(writer)324、入力したデータを処理するための別途の実行プログラムまたはプラットフォームを実行したりセッションを管理する実行器(runner)326、このようなデータを入力器を通じて入力して実行器上で処理し、これを出力するための一連の制御を担当する制御器(controller)328で構成される。 The basic engine 32 shown in FIG. 5 includes a reader 322 that brings in data from one or more data sources, and outputs internally processed data to one or more data destinations. one or more writers 324 to process the input data, a runner 326 to execute a separate execution program or platform for processing the input data or manage a session, and input such data through an input device. It is composed of a controller 328 in charge of a series of controls for processing and outputting on the executor.

前記コントローラ(制御器)328は、前記入力器322、出力器324、実行器326、および下記の単位処理器323を利用した一連の処理過程を制御する機能を遂行する。入力器322にデータソース(出発地)からデータを読み込むとの入力要請をし、実行器326に入力器を通じて読み込んだデータを処理フレームワークを駆動して処理して出力器に送るとの処理要請をし、出力器324に処理完了したデータをデータ終着地に書き込ませるとの出力要請をする。 The controller 328 performs a function of controlling a series of processes using the input unit 322, the output unit 324, the execution unit 326, and the unit processor 323 described below. The input device 322 is requested to read data from the data source (starting point), and the execution device 326 is requested to drive the processing framework to process the data read through the input device and send it to the output device. and requests the output device 324 to write the processed data to the data destination.

エンジン32の入力器322は、インメモリーバッファーやキャッシュ、ファイルシステム、メッセージングシステム、データベース、ネットワークドライバーのうちいずれか一つのタイプのデータ保存所(図示しない)からデータを読み込む機能を遂行する。同様に、出力器324はインメモリーバッファーやキャッシュ、ファイルシステム、メッセージングシステム、データベース、ネットワークドライバーのうちいずれか一つのタイプのデータ保存所(図示しない)にデータを書き込む機能を遂行する。単位処理器323は、データを受けて加工して送りだす機能を遂行する。例えば、データマイニングで言及している精製/統合/縮小/変換方法に含まれた多様なデータ処理機能の具現体であり得る。実行器326はデータを処理するために必要なすべてのプログラムや外部プラットフォーム/フレームワークであり得、ビッグデータ処理のためのSpark、ディープランニング分析のためのCaffe、Tensorflwのようなディープランニングプラットフォーム、Jenaのような知識処理エンジンのうち一つと連動したり、これを実行するためのコネクターや制御器、セッション管理器などであり得る。 Input 322 of engine 32 performs the function of reading data from a data store (not shown) of one type of in-memory buffer, cache, file system, messaging system, database, or network driver. Similarly, the output device 324 performs the function of writing data to a data store (not shown) of any one type of in-memory buffer, cache, file system, messaging system, database, network driver. The unit processor 323 receives, processes and sends data. For example, it can be an embodiment of various data processing functions involved in refinement/integration/reduction/conversion methods referred to in data mining. The executor 326 can be any program or external platform/framework needed to process the data, such as Spark for big data processing, Caffe for deep running analysis, deep running platforms like Tensorflw, Jena It can be a connector, controller, session manager, etc. for interlocking with one of the knowledge processing engines such as .

一方、制御器328は、図5、6のように、入力器322、一つ以上の単位処理器323a~c、出力器324の順でノードが構成される場合に、データを順次パイプライニングして次のノードに伝達する方式で実行するように制御する順次処理方式、それぞれのノードが同時に実行されるようにする同時処理方式、この二つを結合した同時/順次処理方式などを利用して制御することができる。 On the other hand, as shown in FIGS. 5 and 6, the controller 328 sequentially pipelines data when a node is configured in the order of the input unit 322, one or more unit processors 323a-c, and the output unit 324. A sequential processing method that controls execution by transmitting it to the next node, a simultaneous processing method that allows each node to execute at the same time, and a simultaneous/sequential processing method that combines these two can be controlled.

図6は、図5の基本的なエンジン32を構成する方式のうち、入力されたデータを制御器328により処理する一連の過程を、一つ以上の連続した単位処理器(unit operator)323a-cを利用して順次パイプライン方式でデータ処理をして、出力器324まで伝達するように構成されたエンジンを図示する。制御器328は、入力器322にデータ出発地からデータを読み込むとの入力要請をし、実行器326にデータ処理のためのフレームワークを駆動して入力器を通じて読み込んだデータを処理するように処理器実行要請をし、各単位処理器323a-cにパイプライン処理実行要請をし、出力器324に処理完了したデータをデータ終着地に書き込ませるとの出力要請をする。図6の構成方法によると、多様な単位処理器を組み合わせて活用して多様なドメインの目的に合う処理を容易に遂行できる。単位処理器323a-cは、一般的なデータマイニングの技法に該当する、精製、縮小、統合、変換のための方法の具現体であり得る。 FIG. 6 illustrates a series of processes for processing input data by a controller 328 among methods constituting the basic engine 32 of FIG. FIG. 1 illustrates an engine configured to process data in a sequential pipeline manner using c and to transmit to an output unit 324. FIG. The controller 328 requests the input device 322 to read data from the data origin, and drives the data processing framework to the executor 326 to process the data read through the input device. Each unit processor 323a-c is requested to execute pipeline processing, and an output request is made to the output unit 324 to write the processed data to the data destination. According to the configuration method of FIG. 6, various unit processors can be combined and used to easily perform processing suitable for various domain purposes. Unit processors 323a-c may embody methods for refinement, reduction, integration, transformation, which are common data mining techniques.

図7は、図6に例示したデータ処理エンジンの具体的な実施形態を示す。データを処理するためのSparkフレームワークを実行し、ファイルやJDBC、Kafkaなどからデータを読み込む入力器(Reader)を通じてデータを読み込んで特定のコラムを削除(remove)する単位処理器(operator)と、併合(concatenation)および欠測値インピュテーション(imputation)単位処理器、正規化(scaling)単位処理器、精製(filter)単位処理器、ピボット(pivot)単位処理器を通じてファイル、JDBC、Kafkaなどに出力する出力器(writer)を含むデータ処理エンジンを構成することができる。 FIG. 7 shows a specific embodiment of the data processing engine illustrated in FIG. A unit processor that executes the Spark framework for processing data, reads data through a reader that reads data from a file, JDBC, Kafka, etc., and removes a specific column; Through concatenation and missing value imputation unit processors, scaling unit processors, filter unit processors, pivot unit processors to files, JDBC, Kafka, etc. A data processing engine can be configured that includes a writer for output.

図8は、図6の制御器328が単位処理器323a~cを駆動する他の方式のエンジンであって、入力器322からデータを受けて一連の単位処理器が順次パイプライニングによるデータを処理する方式と共に、一つ以上の単位処理器が駆動されて同時処理を実行するように制御する方式のエンジン構成を図示する。 FIG. 8 shows another type of engine in which the controller 328 of FIG. 6 drives the unit processors 323a to 323c. Upon receiving data from the input unit 322, a series of unit processors sequentially process the data by pipelining. FIG. 2 illustrates a method for controlling the processing and an engine configuration for a method in which one or more unit processors are driven to perform simultaneous processing.

以上で説明した多様な構成のエンジン32の他の実施形態として、実行器326を、CaffeまたはTensorflowのようなディープランニングフレームワーク、SparkまたはHadoop MapReduceのようなビッグデータ処理フレームワーク、RまたはPythonのような分析フレームワークなどの多様な処理フレームワークやソフトウェアプログラムと連動するようにまたはこれらを含むように構成することができる。 Other embodiments of the various configurations of engine 32 described above include implementation of executor 326 in a deep-running framework such as Caffe or Tensorflow, a big data processing framework such as Spark or Hadoop MapReduce, an R or Python It can be configured to work with or include a variety of processing frameworks and software programs, such as analysis frameworks.

さらに他の実施形態として、前記説明したエンジン32を、同一システム内の多様なデータ経路をデータ出発地および終着地として使用する入力器と出力器を搭載するように構成することができる。すなわち、インメモリーバッファー/キャッシュ、ファイルシステム、メッセージングシステム、データベース、ネットワークなどの多様な論理的ドライバー概念のソース(同一システムに含まれる)をデータ出発地および終着地と定義し、これらからデータの入力を受け、これらにデータを出力するように入力器と出力器を構成してエンジンを構成することができる。 In yet another embodiment, the engine 32 described above can be configured with inputs and outputs that use multiple data paths within the same system as data origins and destinations. In other words, the sources of various logical driver concepts such as in-memory buffer/cache, file system, messaging system, database, network, etc. (included in the same system) are defined as data origin and destination, and data is input from these. The engine can be configured by configuring the input and output devices to receive and output data to them.

さらに他の実施形態として、前記説明したエンジン32を、異なるシステムまたはネットワークに存在するデータ経路をそれぞれデータ出発地と終着地として使用するエンジンを構成することができる。このために、入力器と出力器に対する設定に、ネットワークアドレス情報やホスト情報、遠隔ドライバー情報を含ませることができる。異なるデータ出発地と終着地を入力器と出力器に別個で使うことによって、エンジンをデータ出発地と終着地間でのストリーム処理エンジンやデータ経路上のフィルターのように活用できるのである。 In yet another embodiment, the engine 32 described above can be configured to use data paths existing in different systems or networks as the data origin and destination, respectively. To this end, the settings for inputs and outputs can include network address information, host information, and remote driver information. By using different data origins and destinations separately for inputs and outputs, the engine can be used like a stream processing engine between data origins and destinations and a filter on the data path.

図9は、多数のワークフロー実行エンジン32a~cが構成される場合に、一つのエンジンの出力器から出力されるデータの終着地が他のエンジンの入力器のデータ出発地にパイプライン方式で伝達されるようにデータ伝達経路338が使用される実施形態を図示する。ここでデータ伝達経路338は例えばKafkaであり得る。図9のような構成を利用することによって、複数の異なる用途のワークフロー処理をするエンジン32a~cが協力して複雑なワークフローを実行することが可能である。 FIG. 9 shows that when multiple workflow execution engines 32a-c are configured, the destination of data output from the output of one engine is transmitted to the data origin of the input of another engine in a pipeline manner. An embodiment is illustrated in which data communication path 338 is used as shown. Here, the data transfer path 338 can be Kafka, for example. By using the configuration shown in FIG. 9, it is possible for the engines 32a to 32c, which perform workflow processing for a plurality of different purposes, to cooperate to execute a complex workflow.

また、図9において、一つ以上のエンジン32a~cは互いに異なる物理的環境(例えば、ネットワーク、クラスターなど)に置かれ得、異なる種類の実行器で構成することが可能である。例えば、最初のエンジン32aはデータを処理する実行器を連動し、二番目のエンジン32bはディープランニングフレームワークを連動するという場合、前記データ伝達経路338により異なる環境で複雑な問題を解決するための一つのワークフローを実行することが可能である。この時、それぞれのエンジンは、同時実行、一つずつ順次的実行、または特定の時点による個別的実行のいずれも可能である。 Also, in FIG. 9, one or more of the engines 32a-c may reside in different physical environments (eg, networks, clusters, etc.) and may be configured with different types of executors. For example, if the first engine 32a is associated with a data processing executor and the second engine 32b is associated with a deep learning framework, the data transfer path 338 can be used to solve complex problems in different environments. It is possible to execute one workflow. At this time, each engine can be executed concurrently, sequentially one by one, or individually according to a specific point in time.

図10は、一つ以上のエンジン32a~cが異なる類型のデータ伝達経路(例えば、ファイルシステム伝達経路340とネットワークストリーム伝達経路342)をデータ出発地および終着地別にパイプライニング処理する方式でワークフローの実行システムを構成した例を図示する。この場合、各エンジン内の入力器と出力器は複数で構成される。ここでファイルシステム伝達経路340は、バッチ伝達経路を意味し、ネットワークストリーム伝達経路342はリアルタイム伝達経路を意味する。図10の方式によって、リアルタイム処理とバッチ処理が同時に可能なラムダアーキテクチャーのような構造のワークフローシステムを構成することができる。 FIG. 10 illustrates a workflow in which at least one engine 32a-c pipelines different types of data transfer paths (eg, file system transfer path 340 and network stream transfer path 342) according to data origin and destination. 4 illustrates an example of configuring an execution system; In this case, each engine has a plurality of input devices and output devices. Here, the file system transmission path 340 means a batch transmission path, and the network stream transmission path 342 means a real time transmission path. With the method of FIG. 10, it is possible to configure a workflow system with a structure like a lambda architecture that enables real-time processing and batch processing at the same time.

以上で説明した本発明のフレームワークの構成および作用に対する理解を助けるために、具体的なワークフローサービスシナリオを紹介する。 A specific workflow service scenario is introduced to aid understanding of the structure and operation of the framework of the present invention described above.

図11は、IoTおよび人工知能基盤の照度/温度制御ワークフローサービスシナリオの説明図である。ワークフローエンジンフレームワーク10は、建物内の温度センサ81からの温度センシング値を受信して、フレームワーク10内に生成されたエンジンを通じて所定のワークフローを実行してスマート電球82を制御して最適照度の調節を遂行し、スマートシステム冷暖房機83を制御して最適温度の調節を遂行する。 FIG. 11 is an explanatory diagram of an IoT and artificial intelligence-based illuminance/temperature control workflow service scenario. The workflow engine framework 10 receives the temperature sensing value from the temperature sensor 81 in the building, executes a predetermined workflow through the engine generated in the framework 10, and controls the smart light bulb 82 to achieve the optimum illuminance. Adjust and control the smart system air conditioner 83 to adjust the optimum temperature.

「80」は、温度センサ81から流入するデータを入力として、予測モデルによって未来、例えば今後1時間後の温度の変化を予測し、予測温度に適合した照度の設定とエアコン温度の制御設定値を推論して、これをスマート電球82の照度調節とスマートシステム冷暖房機83の温度設定値として伝送する照度および温度制御人工知能サービスを示している。 "80" uses the data from the temperature sensor 81 as an input, predicts future temperature changes, for example, one hour from now, using a prediction model, and sets the illuminance settings and air conditioner temperature control settings that match the predicted temperatures. It shows the brightness and temperature control artificial intelligence service that infers and transmits this as brightness control for smart light bulbs 82 and temperature setpoints for smart system air conditioners 83 .

図12は、ディープランニング基盤の交通速度モニタリングサービスシナリオの説明図である。本発明のワークフローエンジンフレームワーク10は、特定の地域の交通現場に構築されている交通速度センサ(シミュレーター)84から速度情報の伝送を受けて、フレームワーク10内に生成されたエンジンを通じて所定のワークフローを実行して実行データを該当地域に構築されている交通速度予測知能サービス85に提供して、運行中の車両のダッシュボード87またはスマートフォンの画面88を通じてモニタリングするようにすることができる。車両87またはスマートフォン88を通じてモニタリングされる内容は、「86」のように例えば特定の地域の地図に表示される交通速度情報である。 FIG. 12 is an explanatory diagram of a deep learning-based traffic speed monitoring service scenario. The workflow engine framework 10 of the present invention receives transmission of speed information from a traffic speed sensor (simulator) 84 constructed at a traffic scene in a specific area, and generates a predetermined workflow through an engine generated within the framework 10. is executed to provide the execution data to the traffic speed prediction intelligent service 85 built in the relevant area, so that it can be monitored through the dashboard 87 of the vehicle in operation or the screen 88 of the smartphone. The content monitored through the vehicle 87 or the smart phone 88 is traffic speed information displayed, for example, on a map of a specific area like "86".

図13は図11のワークフローエンジンフレームワーク10の内部構成を説明する。ワークフローエンジンフレームワーク10で生成されたエンジンにインヂェスチャン(Ingestion)/データ/予測エンジン52とサービングエンジン53が含まれている。 FIG. 13 explains the internal configuration of the workflow engine framework 10 of FIG. Engines generated by workflow engine framework 10 include ingestion/data/prediction engine 52 and serving engine 53 .

インヂェスチャン/データ/予測エンジン52の構成要素は次のとおりである。
522:ウェブサービスポートを開いて入ってくるデータを読み込むストリーム入力器
338:ストリームデータを読み込んで一定の個数になると入力器522、オペレーター523a~f、出力器524を順次処理するようにするコントローラ(制御器)
523a:データのうち温度値が位置したコラムを抽出するオペレーター(処理器)
523b:特定値の範囲に値を正規化するオペレーター
523c:コラムを列に、または列をコラムに変換するオペレーター
523d:伝達された値を指定された機械学習モデルを利用して予測/判断するオペレーター
523e:逆正規化のために特定値の範囲に値を還元するオペレーター
523f:予測結果で生成された複数の値のうちラベル値が含まれた特定のコラムを抽出するオペレーター
524:最終値をストリームエンジン(例えば、Kafka)で書き込む出力器
526:オペレーターが実行され得るようにする環境を提供する実行器
サービングエンジン53の構成要素は次のとおりである。
5 3 2 :ストリームエンジンから必要な時ごとに値を読み込む入力器
538:Rest Runner536で実行中のウェブサーバー上の特定のウェブポートを通じて要請がきた時に入力器342を通じてインヂェスチャン(Ingestion)/データ/予測エンジン52の処理結果値を読み込んでデータベースを参照して最適値を検索して応答するように、一連の流れを制御するコントローラ
The components of the ingestion/data/prediction engine 52 are as follows.
522: A stream input device that opens a web service port and reads incoming data 338: A controller that sequentially processes the input device 522, operators 523a-f, and output device 524 when the stream data is read and reaches a certain number ( controller)
523a: An operator (processor) that extracts the column in which the temperature value is located in the data
523b: An operator that normalizes values to a specified value range 523c: An operator that transforms columns into columns or vice versa 523d: An operator that predicts/determines the transmitted values using a specified machine learning model 523e: An operator that reduces values to a specific range of values for denormalization 523f: An operator that extracts specific columns containing label values among the multiple values generated in the prediction result 524: Stream final values An outputter that writes with an engine (eg, Kafka) 526: an executor that provides an environment in which an operator can be executed The components of the serving engine 53 are:
532: An input device that reads values from the stream engine whenever necessary 538: Ingestion/data through an input device 342 when a request is received through a specific web port on the web server running on the Rest Runner 536 / A controller that controls a series of flows to read the processing result values of the prediction engine 52, refer to the database, search for the optimum value, and respond.

温度センサ81の温度センシング値がREST信号でインヂェスチャン/データ/予測エンジン52に入力され、システム定義編集機70を通じて設計された多数の処理器を経て処理され、出力された予測結果値は保存所から読み込まれてサービングエンジン53に伝達されて温度センサ81の温度センシング値に応じてスマート電球82が制御されて自動照度調節をするようになる。 The temperature sensing value of the temperature sensor 81 is input to the ingestion/data/prediction engine 52 as a REST signal, processed through a number of processors designed through the system definition editor 70, and the output prediction result value is stored. It is read from the source and transmitted to the serving engine 53, and the smart light bulb 82 is controlled according to the temperature sensing value of the temperature sensor 81 to automatically adjust the illuminance.

図14は、クライアントやユーザーに対するサービスを提供するエンジンであって、知能サービスを提供するためのサービングエンジンの構成例示を示している。入力器322、多数のパイプライン処理器323a~c、出力器324、実行器326、制御器328の構成要素は、図8で説明された内容と類似している。ただし、図14のサービングエンジンは、図11および図13のワークフローサービスにおけるサービスの実行をサービスする機能のために構成される。図14に各コンポーネントと連動する外部システム、Spark、Tensoflow、Jena(time)、REST Server、Jena(space)、Jena(domain-specific)が表示されている。 FIG. 14 shows an exemplary configuration of a serving engine for providing intelligent services, which is an engine for providing services to clients and users. The components of input unit 322, multiple pipeline processors 323a-c, output unit 324, execution unit 326, and controller 328 are similar to those described in FIG. However, the serving engine of FIG. 14 is configured for the function of servicing the execution of the services in the workflow services of FIGS. 11 and 13 . FIG. 14 shows the external systems Spark, Tensoflow, Jena (time), REST Server, Jena (space), and Jena (domain-specific) linked with each component.

サービングエンジンの制御器は、Sparkのような実行器で構成されたエンジンから処理したデータを読み込むかテンソルフローのようなディープランニングフレームワークを実行器で構成したエンジンから処理したデータを読み込む入力器と、その値を利用してオントロジー基盤推論を遂行する処理器と、その結果をRESTインターフェースを通じてサービスする実行器でエンジンを構成することによって、知能的サービスを提供することができる。 The controller of the serving engine is an input device that reads processed data from an engine configured with an executor such as Spark or an engine configured with a deep running framework such as tensorflow. , and an engine that performs ontology-based inference using its values and an executor that serves the result through a REST interface, thereby providing intelligent services.

図15は図12のワークフローエンジンフレームワーク10の内部構成を説明する。ワークフローエンジンフレームワーク10で生成されたエンジンに、1382個のLinkの交通センサ84から5分単位で時間/速度/TRVがリアルタイムで伝送されると、これを読み込んでTensorflow RNN動作のためのLink別24時間シリーズ(time series)データを前処理し伝送するデータエンジン54と、Tensorflow RNN動作のためのLink別24 time seriesを受信して15分後の予測値を出力する予測エンジン55が含まれている。 FIG. 15 explains the internal configuration of the workflow engine framework 10 of FIG. When the time/speed/TRV is transmitted in real time from the traffic sensors 84 of 1382 links to the engine generated by the workflow engine framework 10 in units of 5 minutes, it is read and analyzed for each link for Tensorflow RNN operation. It includes a data engine 54 that preprocesses and transmits 24 time series data, and a prediction engine 55 that receives 24 time series for each link for Tensorflow RNN operation and outputs a prediction value after 15 minutes. there is

データエンジン54には、図5~8と類似するように、入力器542、制御器548、実行器546、処理器543a~fが含まれる。予測エンジン55の場合にも図5~8と類似するように入力器552と制御器558が含まれるが、実行器の代わりに、RNN(循環神経網)基盤の予測を遂行するテンソルフロー(Tensorflow)555が含まれる。 Data engine 54 includes input unit 542, controller 548, executor 546, and processors 543a-f, similar to FIGS. The prediction engine 55 also includes an input unit 552 and a controller 558 similar to FIGS. ) 555 are included.

図16は、以上で説明した多数の単一ドメイン適応型ワークフローエンジンフレームワーク10をネットワークを通じて協力的に連結して、クロスドメイン適応型のワークフローエンジンフレームワークシステムを動的構成するための方法を図示する。図1のワークフロー構成の対象がクロスドメインに該当する場合に、一つ以上の単一ドメイン適応型ワークフローエンジンフレームワーク10を総括的に管理して制御するためのクロスドメイン融合システム10’をさらに含み、クロスドメイン適応型ワークフローエンジンフレームワークを具現することができる。 FIG. 16 illustrates a method for cooperatively linking multiple single-domain adaptive workflow engine frameworks 10 described above through a network to dynamically configure a cross-domain adaptive workflow engine framework system. do. Further includes a cross-domain fusion system 10' for collectively managing and controlling one or more single-domain adaptive workflow engine frameworks 10 when the target of the workflow configuration of FIG. 1 corresponds to cross-domains. , can implement a cross-domain adaptive workflow engine framework.

クロスドメイン融合システム10’は基本として、図1または図2の単一ドメインワークフローエンジンフレームワーク10と類似する構成および機能を有し、多様なドメインを統合して階層化する役割をすることによって、クロスドメインワークフローの実行に関連する資源を管理し、各ドメインにクロスドメインワークフローの一部をワークフローとして割り当て、これを各ドメインのフレームワーク上で実行させるシステムである。したがって、クロスドメイン融合システム10’は、クロスドメイン資源管理部20’、クロスドメインシステム構成部30’、クロスドメインシステム制御部40’を含む。 The cross-domain fusion system 10' basically has a configuration and functions similar to the single domain workflow engine framework 10 of FIG. 1 or FIG. It is a system that manages resources related to the execution of cross-domain workflows, assigns a part of cross-domain workflows to each domain as workflows, and executes them on the framework of each domain. Accordingly, the cross-domain fusion system 10' includes a cross-domain resource management unit 20', a cross-domain system configuration unit 30', and a cross-domain system control unit 40'.

前述した概念のシステム定義編集機70’を利用してユーザーがワークフローを定義して、データ収集はいずれのセンサーから取得するのか、モデルはいずれを選択するのか、エンジンを生成して適切なところに配布することなどの要請が入れられたワークフロー明細を作成すると、クロスドメイン融合システム10’はシステム定義編集機70’で定義されたワークフローにより、該当するドメインに必要なエンジンを配布するドメインを決定する。この時、エンジン配布決定の基準は例えば、特定エンジンの使用がいずれのドメインに最適であるか、このエンジンの実行のための構成品が該当ドメインに存在するのか、ネットワークの負荷、性能、ネットワーク内の距離などを考慮する。 Using the system definition editor 70' of the concept described above, the user defines the workflow, which sensor to collect data from, which model to select, and the engine is generated and placed in an appropriate place. When a workflow specification containing a request for distribution is created, the cross-domain fusion system 10' determines a domain to distribute the engine required for the relevant domain according to the workflow defined by the system definition editor 70'. . At this time, the criteria for determining engine distribution are, for example, which domain is most suitable for using a particular engine, whether components for executing this engine exist in the relevant domain, network load, performance, network Consider the distance between

クロスドメイン資源管理部20’は、多数の単一ドメインワークフローエンジンフレームワーク10(図1または図2参照)の資源管理部20から周期的にワークフロー資源の報告を受け、これらを更新して管理することを遂行する。例えば、ワークフロー資源は、ワークフローの実行のためのコンポーネント資源、ネットワーク連結情報、ハードウェア資源情報、仮想マシンの仕様情報、組織の構成情報、組織の使用可能デバイス情報、使用可能状態のうち一つ以上であり得る。また、クロスドメイン資源管理部20’は、各ドメインから受けた資源情報を通じて使用できるコンポーネントとハードウェア、ネットワーク情報、ドメイン内のデバイス情報などを周期的に更新して維持する。資源管理部20’が管理する資源は例えば、各ドメイン別エンジンコンポーネント目録、費用算定のための資料、ドメイン間の信頼度などである。 The cross-domain resource manager 20' periodically receives workflow resource reports from the resource managers 20 of multiple single-domain workflow engine frameworks 10 (see FIG. 1 or 2), and updates and manages them. to carry out For example, a workflow resource may be one or more of component resources for workflow execution, network connection information, hardware resource information, virtual machine specification information, organization configuration information, organization available device information, and availability status. can be In addition, the cross-domain resource manager 20' periodically updates and maintains available components and hardware, network information, and device information within the domain through the resource information received from each domain. Resources managed by the resource management unit 20' include, for example, an engine component list for each domain, materials for cost calculation, reliability between domains, and the like.

クロスドメインシステム構成部30’は、システム定義編集機70’から受けたクロスドメインワークフローインスタンス明細を処理するために、クロスドメイン資源管理部20’から使用可能な資源がある位置と連結方法などを参照して、一つのクロスドメインワークフローインスタンス明細を多数の単一ドメインワークフロー明細に分割し、各単一ドメインワークフローエンジンフレームワーク10に配布する。各ドメインのワークフローエンジンフレームワーク10は各自のドメインに割り当てられたエンジンを動的に構成する。 The cross-domain system configuration unit 30' refers to the location and connection method of available resources from the cross-domain resource management unit 20' in order to process the cross-domain workflow instance specification received from the system definition editor 70'. Then, one cross-domain workflow instance specification is divided into multiple single-domain workflow specification and distributed to each single-domain workflow engine framework 10 . Each domain's workflow engine framework 10 dynamically configures the engines assigned to its respective domain.

クロスドメインシステム制御部40’は、一つ以上の単一ドメインワークフローエンジンフレームワーク10によって生成されたそれぞれのワークフロー実行システム、すなわち、ドメインに配布された一つ以上のエンジンの実行の開始、終了などの制御のために、それぞれ単一ドメインワークフローエンジンフレームワーク10上のシステム制御部40に実行の制御を要請することによって、クロスドメイン上にワークフロー実行システムを駆動し終了することを遂行する。 The cross-domain system control unit 40' controls each workflow execution system generated by one or more single domain workflow engine frameworks 10, i.e., the start, end, etc. of execution of one or more engines distributed to the domain. For the control of , the execution control is requested to the system control unit 40 on the single-domain workflow engine framework 10 respectively, thereby executing and terminating the workflow execution system on the cross-domain.

各ドメインのワークフローエンジンフレームワーク10は、各自のドメインに割り当てられたエンジンを動的に構成した後、クロスドメインシステム制御部40の実行要請によってエンジンを駆動して処理を遂行する。このとき、エンジン間のデータの伝達は、図10で言及した通り、ネットワークドライバーを通じて直接遂行されてもよく、分散メッセージキューのようなメッセージングシステム、その他の分散ファイルシステムなどの多様なデータ経路のうち一つ以上を利用して伝達してもよい。各単一ドメインワークフローエンジンフレームワーク10のシステム制御部40は、エンジンの進行状況や完了などの信号を再びクロスドメイン融合システム10’のクロスドメインシステム制御部40’に伝達する。 The workflow engine framework 10 of each domain dynamically configures the engine assigned to its own domain, and then drives the engine according to the execution request of the cross-domain system control unit 40 to perform processing. At this time, the transmission of data between engines may be performed directly through a network driver, as mentioned in FIG. It may be conveyed using more than one. The system controller 40 of each single-domain workflow engine framework 10 transmits signals such as engine progress and completion back to the cross-domain system controller 40' of the cross-domain fusion system 10'.

クロスドメイン資源管理部20’は各ドメインから受けた資源情報、すなわち、使用できるコンポーネントとハードウェア、ネットワーク情報、ドメイン内のデバイス情報などを各単一ドメインワークフローフレームワーク10に要請して最新の資源情報を維持する。また、クロスドメインシステム構成部30’はクロスドメインワークフローを遂行するにおいて、一つ以上のドメインワークフローエンジンフレームワーク10に最適なエンジンワークフローを配置するために、クロスドメインワークフローを一つ以上のドメインワークフローに分割する。このために、クロスドメインシステム構成部30’は、クロスドメイン資源管理部20’に各単一ドメインワークフローエンジンフレームワーク10に対する最新の資源情報を要請して、図17の段階260による最適なエンジンの配布政策にしたがって各単一ドメインワークフローエンジンフレームワーク10上で構成されるべきエンジンを決定する過程を通じて、前記一つ以上のドメインワークフローに分割する作業を完成する。次いで、クロスドメインシステム構成部30’は、分割された各ドメインワークフローを各単一ドメインワークフローエンジンフレームワーク10に送り、一つ以上のドメイン上にクロスドメインワークフローを遂行(perform)するためのエンジンを実行(execute)できるシステムを動的に構成する。 The cross-domain resource manager 20' requests resource information received from each domain, that is, usable components and hardware, network information, device information within the domain, etc., from each single-domain workflow framework 10 to obtain the latest resource information. maintain information; In addition, the cross-domain system configuration unit 30' divides the cross-domain workflow into one or more domain workflows in order to arrange the optimum engine workflow in one or more domain workflow engine frameworks 10 in executing the cross-domain workflow. To divide. For this purpose, the cross-domain system configuration unit 30' requests the latest resource information for each single-domain workflow engine framework 10 from the cross-domain resource management unit 20', and selects the optimal engine according to step 260 of FIG. The division into one or more domain workflows is completed through the process of determining the engines to be configured on each single domain workflow engine framework 10 according to the distribution policy. The cross-domain system configuration unit 30' then sends each divided domain workflow to each single-domain workflow engine framework 10 to configure the engine to perform the cross-domain workflow on one or more domains. Dynamically configure a system that can be executed.

各単一ドメインワークフローエンジンフレームワーク10は、自分が有する資源の目録をクロスドメイン融合システム10’に登録し、周期的に更新を要請する。ここで資源の目録はワークフローの実行のためのコンポーネント資源目録であり得、ネットワーク連結情報、ハードウェア資源情報、仮想マシンの仕様情報、組織の構成情報、組織の使用可能デバイス情報、使用可能状態などがさらに該当し得る。 Each single domain workflow engine framework 10 registers its inventory of resources with the cross-domain fusion system 10' and periodically requests updates. Here, the resource inventory can be a component resource inventory for workflow execution, such as network connection information, hardware resource information, virtual machine specification information, organization configuration information, organization available device information, availability status, and so on. may also apply.

図17は、図16のクロスドメイン融合システム10’でワークフロー明細を受けてこれを効果的に配布して実行するための実行手続きを図示する。この時のワークフローは、解決しようとする問題や応用により単一ドメインまたはクロスドメイン適応型ワークフローであり得る。 FIG. 17 illustrates execution procedures for receiving workflow specifications and effectively distributing and executing them in the cross-domain fusion system 10' of FIG. The workflow at this time can be a single-domain or cross-domain adaptive workflow depending on the problem or application to be solved.

まず、システム定義編集機70’でワークフロー生成手続きによって一連のワークフローを決定し、これを構成するエンジンを作るためのエンジンコンポーネントコンテナ群が含まれたワークフロー明細を定義する(100)。クロスドメイン融合システム10’がシステム定義編集機70’からワークフロー明細を受けると、ワークフロー明細に設定されたエンジンコンポーネントコンテナをいずれのドメインに配布するのか配布位置を決定し、配布する過程(200)に進行する。ワークフロー上で必要とするエンジンに対する明細がドメインに配布されると、単一ドメインに対するまたはクロスドメインに対するワークフローを実行するためのすべての準備が完了し、最後に該当ワークフローを実行する(300)。 First, the system definition editing machine 70' determines a series of workflows by a workflow generation procedure, and defines workflow specifications including engine component container groups for creating an engine that constitutes the workflows (100). When the cross-domain fusion system 10' receives the workflow specification from the system definition editor 70', the distribution position is determined to which domain the engine component container set in the workflow specification is to be distributed, and in the process of distribution (200). proceed. When the specifications for the engines required on the workflow are distributed to the domains, all preparations for executing the workflow for a single domain or for cross-domains are completed, and finally the corresponding workflow is executed (300).

クロスドメイン融合システム10’でクロスドメインシステム構成部30’が各エンジンコンポーネントコンテナの配布位置を決定し、配布する過程(200)を具体的に説明すると次のとおりである。 The process (200) in which the cross-domain system configuration unit 30' determines the distribution position of each engine component container in the cross-domain fusion system 10' and distributes it will now be described in detail.

まず、各エンジンに必要なデータの最初出発地(エンジンが収集しなければならないデータの位置。例えば、特定のDB、センサ位置など)と最終到着地(例えば、他のエンジンに対するデータ出発地、または保存所位置)が同一ドメインに存在するのか把握する(210)。この時、データの出発地と到着地は事物インターネット機器やデータベースのような構造化されたデータ保存所、ファイルシステムなどであり得、ウェブサービス終端になってもよい。 First, the initial departure point of the data required for each engine (the location of the data that the engine must collect. For example, a specific DB, sensor location, etc.) and the final arrival point (for example, the data departure point for other engines, or storage location) exists in the same domain (210). At this time, the origin and destination of data can be an Internet of Things device, a structured data repository such as a database, a file system, etc., and can be a web service endpoint.

データの出発地と到着地が同一ドメインに存在すると、該当ドメイン内の資源を利用して最初のデータの出発地から最終到着地までの一連のエンジン構成が可能であるかを資源管理部を照会して判断する(220)。もし、エンジン構成が可能であれば(例えば、該当ドメインの資源レジストリにエンジン構成が可能なエンジンコンポーネントがすべて存在する場合)、該当ドメインにエンジンを動的に構成するようにエンジン明細を配布して(230)ワークフローが実行され得るようにする。 If the origin and destination of data exist in the same domain, inquire the resource management unit whether it is possible to configure a series of engines from the origin of the first data to the final destination using resources within the domain. (220). If engine configuration is possible (for example, if there are all engine components that can be configured in the resource registry of the domain), distribute the engine specification to the domain to dynamically configure the engine. (230) Allow the workflow to run.

再び(210)段階に戻って、前記エンジンのデータ出発地と到着地が同一ドメインに属さない場合に、または段階(220)で該当ドメイン内の資源を利用してエンジンコンポーネントコンテナの構成が可能であるか判断した結果、構成不可と判断されると、同一のコンポーネント構成が可能な他のドメインを検索して(資源管理部を検索)、代替可能な候補ドメイン群を決定する段階(240)に進行する。 Returning to step (210), if the engine data origin and destination do not belong to the same domain, or in step (220), an engine component container can be configured using resources within the corresponding domain. If it is determined that the configuration is not possible as a result of determining whether the proceed.

候補ドメイン群が決定されると、それらのうち代替ドメインを決定するために費用算定を遂行する(250)。この時、費用はネットワークトポロジー上の距離、ネットワーク処理量、予想遅延時間などのようなネットワーク伝達費用の算定額、使用できるコンピューティング資源の量、ドメイン間の信頼度のうち一つ以上を組み合わせて計算することができる。 Once the candidate domains are determined, cost estimation is performed 250 to determine alternate domains among them. At this time, the cost is a combination of one or more of the distance on the network topology, the amount of network processing, the estimated amount of network transmission cost such as expected delay time, the amount of available computing resources, and the reliability between domains. can be calculated.

次に、計算した費用をもって配布ドメインの選定政策を適用して配布しなければならない最適なドメインを選定する(260)。この時、ドメイン選定政策は、各ドメインの資源に対して同一比率または同一量で配分されるようにする公正配分政策、エネルギー効率性を考慮した最適エネルギー政策、ドメイン別に優先順位をつけて配分する優先順位政策などであり得る。費用、政策の段階の順序は非順序的である。 Next, the optimal domain to be distributed is selected by applying the distribution domain selection policy with the calculated cost (260). At this time, the domain selection policy includes a fair allocation policy that allocates the resources of each domain in the same ratio or the same amount, an optimal energy policy that considers energy efficiency, and a priority allocation for each domain. It can be a priority policy and so on. The sequence of cost and policy stages is non-sequential.

ワークフロー上で必要とするすべてのエンジンに対する明細が該当ドメインに配布されると(230)、該当ドメインまたはクロスドメインに対するワークフローを実行するためのすべての準備が完了したのであり、最終的にワークフローを実行する(300)。クロスドメイン融合システム10’にあるシステム制御部40’の実行指示がコントロールチャネルを通じて各単一ドメインフレームワーク10のシステム制御部40構成部30に伝達されて実行される。 When the specifications for all engines required for the workflow are distributed to the relevant domain (230), all preparations for executing the workflow for the relevant domain or cross-domain are completed, and the workflow is finally executed. (300). An execution instruction of the system controller 40' in the cross-domain fusion system 10' is transmitted to the system controller 40 component 30 of each single domain framework 10 through the control channel and executed.

図16と図17のクロスドメイン適応型ワークフローエンジンフレームワークに対する理解のために、具体的な関連シナリオとシステム構成を説明するための図面(図18~20)を通じてより詳しく説明する。 For better understanding of the cross-domain adaptive workflow engine framework of FIGS. 16 and 17, a more detailed description will be given through drawings (FIGS. 18-20) for describing specific related scenarios and system configurations.

図18は、スマートシティを達成するためのシナリオを説明するためのものである。まず、スマートシティは、最適な(スマート)公共エネルギーの需給制御と公共交通制御、そして、その他の分野の最適制御を通じて達成することができる。そのうち、最適な公共エネルギーの需給制御は、公共エネルギー需給政策により最適な公共エネルギー需要制御と供給制御を通じて達成することができる。ここでスマート公共エネルギー需要制御は、最適な街路灯制御と霧制御(例えば、霧除去装置の制御)、その他の最適な公共装置制御を通じて達成することができる。このうち、最適な街路灯制御は、予測された道路別交通量、予測された気象状態による最適な道路交通制御政策を参照して達成することができる。道路別交通量予測は、道路別交通量をモニタリング結果を参照して予測に活用して達成することが可能である。 FIG. 18 is for explaining a scenario for achieving a smart city. First, a smart city can be achieved through optimal (smart) public energy supply and demand control, public transport control, and other areas of optimal control. Among them, optimal public energy supply and demand control can be achieved through optimal public energy demand control and supply control according to public energy supply and demand policy. Here, smart public energy demand control can be achieved through optimal street light control and fog control (eg, control of fog eliminators), and other optimal utility device control. Among them, the optimum street light control can be achieved by referring to the optimum road traffic control policy according to the predicted traffic volume of each road and the predicted weather conditions. Traffic volume forecast by road can be achieved by referring to the monitoring results of traffic volume by road and using it for forecasting.

図19は、図18のスマートシティを達成するために構成したクロスドメインワークフローエンジンフレームワークの一実施形態を図示する。 FIG. 19 illustrates one embodiment of a cross-domain workflow engine framework configured to achieve the smart city of FIG.

まず、道路交通量モニタリングは、多様な交通センサーからセンシングデータを収集するエンジンと、この収集エンジンが収集したセンシング情報を読み込んで、総計、平均のような交通量統計のためのオペレーション処理をする交通量統計処理エンジンと、外部の要請に対して交通量統計処理結果を応答する交通量統計サービングエンジンで構成された道路交通量モニタリングワークフロー91を通じて、エンジンフレームワークで実行することによって目的とするシステムを構成することができる。 First, road traffic volume monitoring consists of an engine that collects sensing data from various traffic sensors, and a traffic volume that reads the sensing information collected by this collection engine and performs operation processing for traffic volume statistics such as totals and averages. Through the road traffic monitoring workflow 91, which consists of a traffic statistics processing engine and a traffic statistics serving engine that responds to traffic statistics processing results in response to external requests, the target system is realized by executing it in the engine framework. Can be configured.

次いで、道路別交通量予測は、前記道路交通量モニタリングワークフロー91の交通センサ情報収集エンジンと収集されたセンシング情報を予測に必要な入力データの形態で処理し、処理したデータを読み込んで機械学習基盤の予測を実行する交通量予測エンジンと、予測結果を外部の要請により応答する交通量予測サービングエンジンで構成された道路別交通量予測ワークフロー92を定義し実行することによって、目的とするシステムを動的に構成することができる。 Next, the traffic volume prediction by road processes the traffic sensor information collection engine of the road traffic volume monitoring workflow 91 and the collected sensing information in the form of input data necessary for prediction, reads the processed data, and performs machine learning based The target system is operated by defining and executing a road-by-road traffic volume forecasting workflow 92 that consists of a traffic volume forecasting engine that executes forecasting and a traffic volume forecasting serving engine that responds to external requests for forecast results. can be configured

気象予測は、気象情報を収集して適切に処理する気象情報収集エンジンと、機械学習モデル基盤で気象を予測する気象予測エンジンと、気象予測結果をサービスするための気象予測サービングエンジンで構成された気象予測ワークフロー93を定義し実行することによって、目的とするシステムを構成することができる。 The weather forecast consists of a weather information collection engine that collects and appropriately processes weather information, a weather forecast engine that forecasts weather based on machine learning models, and a weather forecast serving engine that serves weather forecast results. By defining and executing a weather forecast workflow 93, the desired system can be configured.

道路交通制御政策は、特定の状況に該当するコンテクストを入力として、規則に基づいた推論または推薦(recommendation)オペレーションを通じて知識ベースや機械学習などを利用して最適な道路交通制御政策を抽出状況別道路交通制御推薦エンジンを含む道路交通制御ワークフロー90を定義し実行することによって、目的を達成するためのシステムを構成することができる。 The road traffic control policy uses the context corresponding to a specific situation as an input, and extracts the optimal road traffic control policy using knowledge base and machine learning through rule-based inference or recommendation operation Roads by situation By defining and executing a road traffic control workflow 90 that includes a traffic control recommendation engine, a system can be configured to accomplish the objectives.

スマート街路灯制御は、前述した交通量予測サービングエンジンと気象予測サービングエンジンに、それぞれ道路格別交通量予測結果と気象予測結果を質疑するためのオペレーションとその結果を前記状況別道路交通制御推薦エンジンに提供して、必要な道路交通制御を推論して得るためのオペレーションを含んで外部の要請に応答するスマート街路灯制御推薦エンジンを生成するスマート街路灯制御ワークフロー94を定義し実行することによって、目的を達成するためのシステムを構成することができる。 The smart street light control is an operation for interrogating the traffic volume forecast result and the weather forecast result for each road to the traffic forecast serving engine and the weather forecast serving engine, respectively, and the result to the situation-based road traffic control recommendation engine. By defining and executing a smart street light control workflow 94 that provides and generates a smart street light control recommendation engine that includes operations for inferring and obtaining the required road traffic control and that responds to external requests. A system can be configured to achieve

その他に説明していない図18に図示されたシナリオは、前記と類似する方法でそれぞれのワークフローを構成することによって、それぞれの目的を達成するシステムを動的に構成することができる。 The scenarios illustrated in FIG. 18, which are not otherwise discussed, can be dynamically configured to achieve their respective objectives by configuring their respective workflows in a manner similar to that described above.

図20は、図19に示したシナリオのうち、スマート街路灯制御のためのワークフロー94構成でスマート街路灯制御推薦エンジン構成の一実施形態を例示する。スマート街路灯制御推薦エンジンは、外部の要請に応答するためのRESTful Server325を駆動するためのRunnerコンポーネント326と、RESTfulサーバー325で要請が入ってきた時に気象予測結果を照会するオペレーターを通じて気象予測エンジン93’に質疑して予測する結果を持ってくるオペレーター323aと、交通量予測エンジン92’に質疑することによって今後道路別交通量予測結果を質疑して持ってくるオペレーター323c、各オペレーターが取得した結果を受けて状況情報を生成し、生成した状況情報を利用して状況別道路交通制御推薦エンジン90’に質疑することによって状況に合う道路別交通制御を得、そのうち街路灯制御政策を抽出してREST Server325に伝達するオペレーター323bとこれらRunner326とOperatorとの間の論理の流れ関係を制御するController328で構成することができる。 FIG. 20 illustrates one embodiment of the smart street light control recommendation engine configuration in the workflow 94 configuration for smart street light control in the scenario shown in FIG. The smart street light control recommendation engine uses the Runner component 326 to drive the RESTful Server 325 to respond to external requests, and the weather prediction engine 93 through the operator to inquire the weather forecast results when a request comes in from the RESTful Server 325. ' and an operator 323c who asks questions to the traffic prediction engine 92' and brings traffic prediction results for each road, the results obtained by each operator. Then, the generated situation information is used to ask questions to the situation-specific road traffic control recommendation engine 90' to obtain the road-specific traffic control that matches the situation, from which the street light control policy is extracted. It can consist of an Operator 323b that communicates to the REST Server 325 and a Controller 328 that controls the logic flow relationship between these Runners 326 and the Operator.

再び図17のクロスドメインワークフローの実行手続きに戻って、一連のワークフローの実行のための必要エンジンコンポーネントコンテナ群の決定(100)を遂行した後、各エンジンコンポーネントコンテナに対する配布位置決定および配布のための手続き(200)のうち、代替候補ドメイン決定のための基準となる費用算定(250)および最適な候補ドメイン決定(260)について各シナリオ別に補充説明する。 Returning again to the cross-domain workflow execution procedure in FIG. Of the procedure (200), the cost calculation (250) and optimal candidate domain determination (260), which serve as criteria for determining alternative candidate domains, will be additionally explained for each scenario.

道路交通制御ワークフロー90での状況別道路交通制御推薦エンジンの場合に、その推薦結果が街路灯制御推薦と直結されるため、ドメイン間の信頼度優先の加重値政策によるエンジン配布が遂行される。 In the case of the traffic control recommendation engine for each situation in the road traffic control workflow 90, the recommendation result is directly linked to the street light control recommendation, so the engine distribution is performed according to the weighted value policy that prioritizes reliability among domains.

道路交通量モニタリングワークフロー91でのセンシングデータ収集エンジン、交通量統計処理エンジン、交通量統計サービングエンジンについては、リアルタイムモニタリングのためにエンジン配布時にネットワーク伝達費用と使用可能コンピューティング資源優先の加重値政策によりエンジンを配布する。 For the sensing data collection engine, the traffic statistics processing engine, and the traffic statistics serving engine in the road traffic monitoring workflow 91, the network transmission costs and available computing resources are prioritized at the time of engine distribution for real-time monitoring. Distribute the engine.

道路別交通量予測ワークフロー92の道路交通量モニタリングワークフローの交通量予測エンジンと交通量予測サービングエンジンは、収集エンジンの収集結果を利用して予測を遂行しなければならないため、収集エンジンが配布されたドメインとのネットワーク費用を優先としてエンジンを配布する。 The traffic prediction engine and the traffic prediction serving engine of the road traffic monitoring workflow of the traffic prediction workflow by road 92 must perform prediction using the collection results of the collection engine, so the collection engine is distributed. Distribute the engine with domain and network costs as priority.

気象予測ワークフロー93において、気象情報はセキュリティー上重要な情報ではないため、使用できるコンピューティング資源を優先してエンジンを配布する。 In the weather forecast workflow 93, weather information is not security critical information, so the engine is distributed with priority given to available computing resources.

スマート街路灯制御推薦エンジンが含まれたスマート街路灯制御ワークフロー94では、それぞれの質疑対象エンジンが他のドメインに配布されており、重要な情報を含んでいるため、ドメイン間の信頼度優先の加重値政策によりエンジンを配布する。 In the smart street light control workflow 94 that includes the smart street light control recommendation engine, each query target engine is distributed to other domains and contains important information. Distribute the engine by value policy.

以上の構成およびプロセスを通じて、事物インターネット、ビッグデータ、機械学習を結合して分析する大容量データのリアルタイム分析サービスなどにおいて、特定の問題の解決のために開発した機械学習モデルおよびビッグデータ分析モデルをコンポーネントを具現して管理することができる。また、多様な業務や目的ドメインで類似する問題の解決のための実行プラットフォームを容易に構成することができるように、前記コンポーネントを動的にリサイクルできる単一ドメインまたはクロスドメイン適応型ワークフローエンジンフレームワークを具現することができる。 Through the above configuration and process, the machine learning model and big data analysis model developed to solve specific problems in the Internet of Things, big data, real-time analysis service for large amounts of data that analyzes by combining machine learning, etc. Components can be implemented and managed. Also, a single-domain or cross-domain adaptive workflow engine framework that can dynamically recycle said components so that execution platforms for solving similar problems in diverse business and target domains can be easily configured. can be embodied.

Claims (20)

ワークフローの実行に必要なワークフロー属性明細コンポーネントとエンジンコンポーネントが含まれた資源を管理する資源管理部、
前記属性明細コンポーネントを組み立てることおよび、ワークフロー明細にしたがって必要なエンジンコンポーネントコンテナ構成するために前記ワークフローの実行に必要な前記エンジンコンポーネントを組み合わせることによって、エンジンを生成するシステム構成部、
前記システム構成部によって生成される一つ以上のエンジンをワークフロー属性明細に定義された方式により駆動して前記実行を制御するシステム制御部を含む、ワークフローエンジンフレームワーク。
a resource management unit that manages resources including a workflow attribute detail component and an engine component required to execute the workflow ;
a system component that generates an engine by assembling the attribute specification components and combining the engine components required for execution of the workflow to construct the required engine component containers according to the workflow specification ;
A workflow engine framework including a system controller that drives one or more engines generated by the system component in a manner defined in a workflow attribute specification to control the execution.
前記システム構成部によって生成されたエンジンコンポーネントの組み合わせで構成されたエンジンが保存される実行インスタンス部をさらに含む、請求項1に記載のワークフローエンジンフレームワーク。 2. The workflow engine framework of claim 1, further comprising an execution instance portion in which an engine configured by a combination of engine components generated by said system configuration portion is stored. 前記資源管理部は
ワークフローインスタンスのコンポーネント属性を決定する属性明細が含まれた属性明細コンポーネントを管理する属性明細コンポーネント管理部、
実行のためのエンジンコンポーネントを管理するエンジンコンポーネント管理部を含む、請求項1に記載のワークフローエンジンフレームワーク。
the resource manager is an attribute description component manager that manages an attribute description component that includes an attribute description that determines component attributes of a workflow instance;
2. The workflow engine framework of claim 1, comprising an engine component manager that manages engine components for execution.
前記資源管理部は
既に作成されて保存されたワークフロー明細インスタンスを管理するワークフロー明細インスタンス管理部をさらに含む、請求項3に記載のワークフローエンジンフレームワーク。
4. The workflow engine framework of claim 3, wherein the resource manager further comprises: a workflow description instance manager that manages previously created and saved workflow description instances.
前記システム構成部は
ワークフロー明細を属性明細コンポーネントにバインディングして属性明細コンポーネントを生成するワークフロー属性明細組立部、
組み立てた属性明細コンポーネントから、定義されたエンジンコンポーネント情報を抽出して属性明細コンポーネントとエンジンコンポーネントをバインディングする過程を通じてエンジンを構成してワークフロー実行プラットフォームを構成するワークフロー構成部を含む、請求項1に記載のワークフローエンジンフレームワーク。
the system component includes: a workflow attribute detail assembler that binds workflow specifications to attribute detail components to generate attribute detail components;
2. The workflow configuration part of claim 1, which configures the engine and configures the workflow execution platform through a process of extracting defined engine component information from the assembled attribute detail component and binding the attribute detail component and the engine component. workflow engine framework.
前記ワークフロー構成部は
ワークフローを構成するエンジンコンポーネントとこのエンジンコンポーネントの特性を決定するパラメーターを定義する属性明細コンポーネントの規約に沿ってエンジンコンポーネントと属性明細コンポーネントをバインディングして、ワークフローを実行するためのエンジンが保存されるワークフロー実行インスタンス部をさらに含む、請求項5に記載のワークフローエンジンフレームワーク。
The workflow configuration unit is an engine for executing the workflow by binding the engine component and the attribute detail component in accordance with the rules of the engine component that configures the workflow and the attribute detail component that defines the parameters that determine the characteristics of this engine component. 6. The workflow engine framework of claim 5, further comprising a workflow execution instance portion in which is stored.
前記ワークフロー明細はシステム定義編集機によって定義されて前記システム構成部に提出されるものの、このシステム定義編集機は
各種エンジンの類型を提示してユーザーがこれらのうち必要なものを選択することができるようにするエンジン類型選択部、
ユーザーがコンポーネントタイプと各タイプ別エンジンコンポーネントを選択することができるように、コンポーネントタイプ別に多様なエンジンコンポーネント目録を提供するコンポーネント選択部、
コンポーネント選択部で選択されたエンジンコンポーネントの属性が提示され、ユーザーは属性を照会してこれを選択および編集することができるようにするコンポーネント属性選択/編集部を含む、請求項1に記載のワークフローエンジンフレームワーク。
The workflow specification is defined by the system definition editor and submitted to the system configuration unit, and the system definition editor presents various types of engines and allows the user to select the necessary engine from among them. engine type selector,
a component selection unit that provides various engine component lists by component type so that the user can select the component type and the engine component for each type;
2. The workflow of claim 1, including a component attribute selector/editor for presenting attributes of engine components selected by the component selector and allowing a user to query, select and edit the attributes. engine framework.
前記エンジンは、
一つ以上のデータ出発地からデータを持ってくる入力器、
前記入力器からデータを受けて処理する一つ以上の単位処理器、
内部で処理したデータを一つ以上のデータ終着地に出力する一つ以上の出力器、
入力したデータを処理するための別途の実行プログラムまたはプラットフォームを実行したりセッションを管理する実行器、
このようなデータを入力器を通じて入力して実行器上で処理し、これを出力するための一連の制御を担当する制御器を含む、請求項1に記載のワークフローエンジンフレームワーク。
The engine is
an input device that brings in data from one or more data origins;
one or more unit processors for receiving and processing data from the input device;
one or more output devices for outputting internally processed data to one or more data destinations;
An executor that executes a separate execution program or platform for processing input data and manages sessions;
2. The workflow engine framework according to claim 1, comprising a controller responsible for a series of controls for inputting such data through an input device, processing it on an executor, and outputting it.
前記制御器は、
前記入力器、単位処理器、出力器の順でノードが構成される場合に、データを順次パイプライニングして次のノードに伝達する方式で実行するように制御する順次処理方式、それぞれのノードが同時に実行されるようにする同時処理方式、この二つを結合した同時/順次処理方式のうちいずれか一つで制御を実行する、請求項8に記載のワークフローエンジンフレームワーク。
The controller is
A sequential processing method in which when the nodes are configured in the order of the input device, the unit processor, and the output device, the data is pipelined sequentially and controlled to be executed in a method of transmitting to the next node, each node 9. The workflow engine framework according to claim 8, wherein control is executed in one of a simultaneous processing method that allows the processes to be executed simultaneously, and a simultaneous/sequential processing method that combines the two.
前記制御器は
一つ以上の単位処理器が前記入力器からデータを受けて順次パイプライニングによるデータを処理すると共に、一つ以上の単位処理器が駆動されて同時処理を実行するように制御する、請求項8に記載のワークフローエンジンフレームワーク。
The controller controls such that one or more unit processors receive data from the input device and sequentially process the data through pipelining, and the one or more unit processors are driven to perform simultaneous processing. 9. The workflow engine framework of claim 8.
前記ワークフローエンジンフレームワークに一つ以上の前記ワークフロー実行エンジンが含まれ、
この場合、多数のエンジン間パイプライン方式で伝達されるようにデータ伝達経路が使用される、請求項8に記載のワークフローエンジンフレームワーク。
the workflow engine framework includes one or more of the workflow execution engines;
9. The workflow engine framework of claim 8, wherein data communication paths are used to communicate in a multi-engine pipeline fashion in this case.
前記一つ以上のエンジンは互いに異なる物理的環境に位置し、異なる種類の実行器を含む、請求項11に記載のワークフローエンジンフレームワーク。 12. The workflow engine framework of claim 11, wherein the one or more engines are located in different physical environments and include different types of executors. 前記データ伝達経路は一つ以上の異なる類型のデータ伝達経路を含む、請求項11に記載のワークフローエンジンフレームワーク。 12. The workflow engine framework of claim 11, wherein the data transmission path includes one or more different types of data transmission paths. ワークフローの実行に必要なワークフロー属性明細コンポーネントとエンジンコンポーネントが含まれた資源を管理する資源管理部;前記属性明細コンポーネントを組み立てることおよび、ワークフロー明細にしたがって必要なエンジンコンポーネントコンテナ構成するために前記ワークフローの実行に必要な前記エンジンコンポーネントを組み合わせることによって、エンジンを生成するシステム構成部;前記システム構成部によって生成される一つ以上のエンジンをワークフロー属性明細に定義された方式により駆動して前記実行を制御するシステム制御部を含む単一ドメインワークフローエンジンフレームワーク、
前記単一ドメインワークフローエンジンフレームワークと連結されて、定義したクロスドメインワークフローによりクロスドメインに含まれた各単一ドメインに必要なエンジンを配布する単一ドメインを決定するクロスドメイン融合システム(10’)を含む、クロスドメイン適応型ワークフローエンジンフレームワーク。
A resource management unit that manages resources including workflow attribute specification components necessary for workflow execution and engine components ; assembling the attribute specification components and configuring necessary engine component containers according to the workflow specifications . a system component that generates an engine by combining the engine components necessary for execution of the workflow in order to create an engine; one or more engines generated by the system component in a manner defined in a workflow attribute specification ; a single domain workflow engine framework including system controls that drive and control said execution;
A cross-domain fusion system (10') coupled with the single-domain workflow engine framework to determine a single-domain distributing engine required for each single-domain included in the cross-domains according to the defined cross-domain workflow. Cross-domain adaptive workflow engine framework, including.
前記クロスドメイン融合システムは
単一ドメインワークフローエンジンフレームワークの資源管理部からワークフロー資源の報告を受け、これらを更新し、各ドメインから受けた資源情報を通じて使用できるコンポーネントとハードウェア、ネットワーク情報、ドメイン内のデバイス情報を更新するクロスドメイン資源管理部、
クロスドメインワークフロー明細を処理するために、一つのクロスドメインワークフロー明細を多数の単一ドメインワークフロー明細に分割して各エンジンコンポーネントコンテナの配布位置を決定して配布するクロスドメインシステム構成部を含む、請求項14に記載のクロスドメイン適応型ワークフローエンジンフレームワーク。
The cross-domain fusion system receives reports of workflow resources from the resource management unit of the single-domain workflow engine framework, updates them, and uses available components and hardware through resource information received from each domain, network information, and intra-domain a cross-domain resource manager that updates device information in
including a cross-domain system component that divides one cross-domain workflow specification into a number of single-domain workflow specifications and determines and distributes the distribution position of each engine component container for processing the cross-domain workflow specifications. 15. The cross-domain adaptive workflow engine framework according to Item 14.
前記クロスドメイン融合システムは、クロスドメインに含まれた各単一ドメインに必要なエンジンを配布する単一ドメインを決定するために
1)各エンジンに必要なデータの出発地と到着地が同一ドメインに存在するのか把握する手段、
2)エンジンのデータ出発地と到着地が同一ドメインに存在すると該当ドメイン内の資源を利用してエンジン構成が可能であるかを判断する手段、
3)エンジン構成が可能であれば、該当ドメインにエンジンを構成するようにエンジン明細を配布する手段、
4)手段1)の判断結果、エンジンのデータ出発地と到着地が同一ドメインに存在しない場合に、または手段2)でエンジン構成が不可であると判断されると、同一エンジンコンポーネントの構成が可能な他のドメインを検索して代替可能な候補ドメイン群を決定する手段、
5)候補ドメイン群が決定されると、それらのうち代替ドメインを決定するために費用算定を遂行し、配布ドメイン選定政策を適用して配布しなければならない最適なドメインを選定する手段を含む、請求項14に記載のクロスドメイン適応型ワークフローエンジンフレームワーク。
The cross-domain fusion system determines a single domain that distributes the necessary engine to each single domain included in the cross-domain: 1) The origin and destination of data necessary for each engine are in the same domain. a means of determining whether or not there is
2) A means for determining whether an engine configuration is possible using resources within the domain when the data origin and destination of the engine exist in the same domain;
3) Means for distributing the engine specification to configure the engine in the relevant domain, if engine configuration is possible;
4) As a result of determination in means 1), if the engine data origin and destination do not exist in the same domain, or if it is determined in means 2) that engine configuration is not possible, configuration of the same engine components is possible. a means for searching for other domains that are similar to each other and determining a group of candidate domains that can be substituted;
5) once the candidate domains have been determined, performing a cost calculation to determine alternative domains among them, and applying a distribution domain selection policy to select the optimal domain that should be distributed; Cross-domain adaptive workflow engine framework according to claim 14.
前記ワークフロー明細は、システム定義編集機によって定義されて前記クロスドメイン融合システムに提出されるものの、このシステム定義編集機は
各種エンジンの類型を提示してユーザーがこれらのうち必要なものを選択することができるようにするエンジン類型選択部、
ユーザーがコンポーネントタイプと各タイプ別エンジンコンポーネントを選択することができるように、コンポーネントタイプ別に多様なエンジンコンポーネント目録を提供するコンポーネント選択部、
コンポーネント選択部で選択されたエンジンコンポーネントの属性が提示され、ユーザーは属性を照会してこれを選択および編集することができるようにするコンポーネント属性選択/編集部を含む、請求項14に記載のクロスドメイン適応型ワークフローエンジンフレームワーク。
The workflow specification is defined by a system definition editor and submitted to the cross-domain fusion system, and the system definition editor presents types of various engines so that the user can select a necessary one from among them. an engine type selector that allows
a component selection unit that provides various engine component lists by component type so that the user can select the component type and the engine component for each type;
15. The cross of claim 14, including a component attribute selection/editor for presenting attributes of engine components selected by the component selector and allowing a user to query, select and edit the attributes. A domain-adaptive workflow engine framework.
前記エンジンは、
一つ以上のデータ出発地からデータを持ってくる入力器、
前記入力器からデータを受けて処理する一つ以上の単位処理器、
内部で処理したデータを一つ以上のデータ終着地に出力する一つ以上の出力器、
入力したデータを処理するための別途の実行プログラムまたはプラットフォームを実行したりセッションを管理する実行器、
このようなデータを入力器を通じて入力して実行器上で処理し、これを出力するための一連の制御を担当する制御器を含む、請求項14に記載のクロスドメイン適応型ワークフローエンジンフレームワーク。
The engine is
an input device that brings in data from one or more data origins;
one or more unit processors for receiving and processing data from the input device;
one or more output devices for outputting internally processed data to one or more data destinations;
An executor that executes a separate execution program or platform for processing input data and manages sessions;
15. The cross-domain adaptive workflow engine framework according to claim 14, comprising a controller responsible for a series of controls for inputting such data through an input device, processing it on an executor, and outputting it.
ユーザーによって定義されたワークフローの実行に必要なワークフローの属性明細コンポーネントを組み立てることおよび、エンジンコンポーネントコンテナを構成するためにワークフローの実行に必要なエンジンコンポーネントを動的に組み合わせることによってワークフロー実行エンジンを生成する方法であって、
ワークフロー明細の入力を受けて、これから、エンジンを構成するエンジンコンポーネントに対する属性明細が入れられる属性明細コンポーネントインスタンスを生成する段階、
生成した属性明細コンポーネントインスタンスをエンジンコンポーネントの生成子パラメーターとして指定してエンジンコンポーネントインスタンスを生成する段階、
エンジンコンポーネントコンテナにバインディングされたエンジンコンポーネントコンテナインスタンスを生成子パラメーターとして、エンジンを生成する段階を含む、ワークフロー実行エンジンの生成方法。
The workflow execution engine by assembling the workflow attribute specification components required for user-defined workflow execution and dynamically combining the engine components required for workflow execution to configure the engine component container. A method for generating a
a step of receiving the input of the workflow details and generating an attribute details component instance in which the attribute details for the engine components that make up the engine are entered;
generating an engine component instance by designating the generated attribute specification component instance as a generator parameter of the engine component;
A method of generating a workflow execution engine, including generating the engine with an engine component container instance bound to the engine component container as a generator parameter.
請求項14に記載されたクロスドメイン適応型ワークフローエンジンフレームワークに含まれた前記クロスドメイン融合システムが、クロスドメインに含まれた各単一ドメインに必要なエンジンを配布する単一ドメインを決定する方法であって、
1)各エンジンに必要なデータの出発地と到着地が同一ドメインに存在するのか把握する段階、
2)エンジンのデータ出発地と到着地が同一ドメインに存在すると、該当ドメイン内の資源を利用してエンジンの構成が可能であるかを判断する段階、
3)エンジン構成が可能であれば、該当ドメインにエンジンを構成するようにエンジン明細を配布する段階、
4)段階1)の判断結果、エンジンのデータ出発地と到着地が同一ドメインに存在しない場合に、または、段階2)でエンジン構成が不可であると判断されると、同一エンジンコンポーネント構成が可能な他のドメインを検索して代替可能な候補ドメイン群を決定する段階、
5)候補ドメイン群が決定されると、それらのうち代替ドメインを決定するために費用算定を実行し、配布ドメイン選定政策を適用して配布しなければならない最適なドメインを選定する段階を含む、エンジン配布ドメイン決定方法。
A method for determining a single domain in which the cross-domain fusion system included in the cross-domain adaptive workflow engine framework of claim 14 distributes the required engine for each single domain included in the cross-domain. and
1) Step of understanding whether the origin and destination of data required for each engine exist in the same domain;
2) determining whether the engine can be configured using resources within the corresponding domain when the data origin and destination of the engine are in the same domain;
3) distributing the engine specification to configure the engine in the relevant domain, if the engine configuration is possible;
4) As a result of determination in step 1), if the engine data origin and destination do not exist in the same domain, or if it is determined in step 2) that the engine configuration is not possible, the same engine component configuration is possible. searching other domains to determine a group of substitutable candidate domains;
5) Once the candidate domains have been determined, performing a cost calculation to determine alternative domains among them, and applying a distribution domain selection policy to select the optimal domain that should be distributed; How the engine distribution domain is determined.
JP2018087438A 2017-10-18 2018-04-27 workflow engine framework Active JP7118726B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170135066 2017-10-18
KR10-2017-0135066 2017-10-18
KR10-2018-0047370 2018-04-24
KR1020180047370A KR102259927B1 (en) 2017-10-18 2018-04-24 Workflow engine framework

Publications (2)

Publication Number Publication Date
JP2019075077A JP2019075077A (en) 2019-05-16
JP7118726B2 true JP7118726B2 (en) 2022-08-16

Family

ID=66281200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018087438A Active JP7118726B2 (en) 2017-10-18 2018-04-27 workflow engine framework

Country Status (2)

Country Link
JP (1) JP7118726B2 (en)
KR (1) KR102259927B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111091193B (en) * 2019-10-31 2022-07-05 武汉大学 Domain-adapted privacy protection method based on differential privacy and oriented to deep neural network
KR20210057656A (en) * 2019-11-12 2021-05-21 한국전자통신연구원 workflow engine framework for cross-domain extension
KR102408188B1 (en) * 2020-09-28 2022-06-13 주식회사 마인즈랩 Intent classifier creation interface provision method and computer program
KR102291867B1 (en) * 2020-12-02 2021-08-23 주식회사 파트리지시스템즈 System for managing data based on hierarchical data repository and operating method thereof
KR20220078327A (en) 2020-12-03 2022-06-10 주식회사 이노커스 Method and apparatus for managing learning medel for real-time analysis and prediction
KR102566983B1 (en) 2021-06-01 2023-08-14 성균관대학교산학협력단 Automation model device for scheduler-based workflow process
KR102443301B1 (en) * 2021-11-25 2022-09-16 주식회사 파트리지시스템즈 Adaptive data processing system for processing various data and method thereof
CN114816368B (en) * 2022-06-23 2022-10-18 深圳市瓴码云计算有限公司 Object-oriented business process development system, method, device and storage medium
CN115906499A (en) * 2022-12-05 2023-04-04 中国航空发动机研究院 Heterogeneous system-oriented aircraft engine integrated simulation workflow engine system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038244A (en) 2003-07-16 2005-02-10 Nippon Telegr & Teleph Corp <Ntt> Automatic program generation device
JP2010539599A (en) 2007-09-11 2010-12-16 シャンベラ リミテッド System, method, and graphical user interface for workflow generation, deployment, and / or execution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296357A (en) * 1998-04-08 1999-10-29 Oki Electric Ind Co Ltd Flow chart input device
JP2008027282A (en) * 2006-07-24 2008-02-07 Yokogawa Electric Corp Workflow switching framework
KR100852141B1 (en) 2006-10-30 2008-08-13 경기대학교 산학협력단 Workcase-based workflow engine
KR20140102478A (en) * 2013-02-14 2014-08-22 한국전자통신연구원 Workflow job scheduling apparatus and method
KR101574396B1 (en) * 2013-12-17 2015-12-04 부산대학교 산학협력단 Service composition framework for transportation big data service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038244A (en) 2003-07-16 2005-02-10 Nippon Telegr & Teleph Corp <Ntt> Automatic program generation device
JP2010539599A (en) 2007-09-11 2010-12-16 シャンベラ リミテッド System, method, and graphical user interface for workflow generation, deployment, and / or execution

Also Published As

Publication number Publication date
KR20190043446A (en) 2019-04-26
JP2019075077A (en) 2019-05-16
KR102259927B1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
JP7118726B2 (en) workflow engine framework
US11036539B2 (en) Workflow engine framework
Dustdar et al. Smart cities
EP4142427A1 (en) Distributed data nodes for flexible data mesh architectures
CN110022230B (en) Deep reinforcement learning-based service chain parallel deployment method and device
Vermesan et al. Next generation Internet of Things: Distributed intelligence at the edge and human machine-to-machine cooperation
Liu et al. An iterative two-phase optimization method based on divide and conquer framework for integrated scheduling of multiple UAVs
Köksal et al. Obstacles in data distribution service middleware: a systematic review
Raj et al. Digital twin: the industry use cases
KR102584447B1 (en) workflow engine framework for cross-domain extension
Al-Jaroodi et al. PsCPS: A distributed platform for cloud and fog integrated smart cyber-physical systems
CN112330519A (en) Data processing method and device
Raj et al. Edge/Fog Computing Paradigm: The Concept, Platforms and Applications.
Vargo et al. The nature and fundamental elements of digital service innovation
Rajeswari et al. Hybrid Metaheuristics Web Service Composition Model for QoS Aware Services.
Akhound et al. Clustering of mobile IoT nodes with support for scheduling of time-sensitive applications in fog and cloud layers
Zhou Deep learning‐driven distributed communication systems for cluster online educational platform considering human–computer interaction
Štěpánek et al. It-enabled digital service design principles-lessons learned from digital cities
Štefanič et al. Quality of Service‐aware matchmaking for adaptive microservice‐based applications
Kimovski et al. Multi-objective service oriented network provisioning in ultra-scale systems
Khan Unanticipated dynamic adaptation of mobile applications
JP2022515831A (en) System for providing services
Lu et al. Autonomous integration and optimal allocation of heterogeneous information services for high-assurance in distributed information service system
Ivaschenko et al. Intelligent intermediaries for multiple logistics parties
Skobelev et al. Multi-agent tasks scheduling system in software defined networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220210

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220509

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: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220803

R150 Certificate of patent or registration of utility model

Ref document number: 7118726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150