【解決手段】クロスドメインワークフロー制御システム100は、パブリッククラウド又はプライベートクラウドを含む汎用インターネット区間に位置して構築されるクラウドドメイン170、単一のサービス及び管理ドメインに構築されるクラスタードメイン160、そして様々なIoTデバイス150を直接接続し、データを収集するエッジドメイン155で構成される。
前記ゲートウェイ部は、前記データパイプラインを介して前記少なくとも一つのエンジンに、前記ワークフローに沿ったデータ入出力機能を提供する請求項12に記載のワークフロー制御システム。
エッジシステム及び前記エッジシステムと連動するクラスターサーバ群を含むエンジンフレームワークに基づいて、知能型制御システムがワークフローを制御する方法であって、
前記エッジシステムからワークフローを実行するために必要なエンジン識別情報を含むエンジン位置情報の要求を受信するステップと、及び
前記エンジンの識別情報に基づいて前記必要なエンジンを保有するクラスターサーバ群の識別情報を、前記エッジシステムに転送するステップと、及び
前記エッジシステムから上向きの前記クラスターサーバ群に階層型データパイプラインを構築するステップと、
を含むワークフロー制御方法。
知能型制御システムを利用して、ワークフローを制御する方法であって、前記知能型制御システムは、同一のドメイン内の第1のエッジシステム及び第2のエッジシステムのワークフローを制御し
前記第1のエッジシステムが、前記知能型制御システムに前記ワークフローを実行するために必要なエンジンの獲得を要求するステップと、
前記必要なエンジンの獲得要求を受信した前記第2のエッジシステムが、
前記要求に対する応答として前記第1のエッジシステムに前記必要なエンジン又は前記必要なエンジンの位置情報を転送するステップと、及び
前記第1のエッジシステムが前記必要なエンジン又は前記必要なエンジンの位置情報を受信するステップ
を含むワークフロー制御方法。
【発明を実施するための形態】
【0036】
本発明の目的及び効果、そしてそれらを達成するための技術的構成は、添付される図面と共に詳細に後述される実施例を参照すれば明確になるであろう。本発明を説明するに当たり、公知機能又は構成に対する具体的な説明が本発明の要旨を曖昧にするおそれがあると判断される場合には、その詳細な説明を省略する。また、後述される用語は、本発明における貢献を考慮して定義された用語であって、これは、使用者、運用者の意図又は慣例などによって変わることがある。
【0037】
しかし、本発明は、以下で開示される実施例に限定されるものではなく、様々な形態で表れることができる。本実施例は、本発明の開示を完全にし、本発明の属する技術分野で通常の知識を持つ者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範疇により定義されるだけである。従って、その定義は、本明細書全般にわたる内容に基づいて下されなければならない。
【0038】
明細書で使用される「含む(comprise、comprising)」は、言及された構成要素、ステップ、動作及び/又は要素が一つ以上の他の構成要素、ステップ、動作及び/又は要素の存在又は追加されることを排除しない。また、明細書に記載された「...ユニット」、「...装置」、「...デバイス」、「...部」又は「...モジュール」などの用語は、少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアやソフトウェア又はハードウェア及びソフトウェアの組み合わせで表れることができる。本明細書において、単数形は、文句で特に言及しない限り、複数形も含む。
【0039】
以下、添付した図面を参照して望ましい各実施例により本発明が表れる様態を、各実施例を挙げて説明する。本発明は、以下に開示される実施例に限定されるものではなく、本発明の技術的思想の範疇内で、その他の様々な形態で表れることは自明である。
【0040】
最近、様々な事物に人工知能を与える、いわゆる知能型モノのインターネットが注目されている。特に、多数の異種のモノのインターネットゾーンを包括する知能型インターネットアプリケーション(例えば、スマートシティ)のためには、異種の事物知能領域を統制及び管理、制御できるシステムが必要である。
【0041】
また、多様な業務ドメイン(例えば、エネルギー、健康、交通、教育、電力、プラントなど)を知能的に処理できるシステムが必要である。一つの業務ドメイン内でもデータの発生とアクションが起こるデバイスから、データを処理して転送、即時分析、判断するエッジ(edge)と複雑な分析と応用とが起こるクラウド(cloud)まで様々な目的ドメインが存在しても良い。また、業務ドメインや目的ドメイン内でも空間の分類による空間ドメイン、時間の分類による時間ドメインが存在しても良い。その他にデータ処理ドメイン、学習ドメイン、予測ドメイン、サービスドメインなど、様々な方法ドメインがあっても良い。
【0042】
従って、これらの複雑な多種の多階層ドメイン(以下、「クロスドメイン」という)を効果的に統制して管理、制御するための一元化された方法及びシステムが必要である。
【0043】
しかし、従来のクラウドコンピューティングサービス提供者は、自分の別のクラウドとエッジを含むフレームワークを開発して提供しているが、まだ当該サービスドメインに特化されて専用に使用されるフレームワークに過ぎない状況である。即ち、従来のワークフローフレームワークは、様々な異種のデバイスに適用される異種のエッジフレームワーク間の相互連動が不可能でクロスドメインに適用するには限界がある。
【0044】
一方、クラウドフレームワークをクロスドメインに適用できるためには、各ドメインに特化して専用に構築されるクラスターフレームワーク及びエッジなどとの連動が必要である。しかし、汎用的なクラウド領域のビッグデータ処理プラットフォームと各ドメインのエッジ及びクラスターフレームワークとの相互連動にはまだ限界が存在する。既存のフレームワークは、エッジからクラウドまでの垂直的階層構造のみを使用するので、速いデータ処理及びアクションが求められるサービスには適していないという問題がある。つまり、常に中央のクラスター又はクラウドドメインのフレームワークとの連動が先行されなければならないので、ネットワーク転送の遅延、データ負荷及び接続性の問題に因り処理が遅れ、低遅延の処理が不可能である。また、従来のワークフローフレームワークは、エッジフレームワーク間のデータパイプラインの設定及び他のエッジのフレームワークのエンジンインスタンスを直接活用するなどの有機的ワークフローエンジンフレームワークを支援できない。
【0045】
従って、クロスドメインでエッジ、クラスター、そしてクラウドに至るワークフロー及びデータパイプラインの構築を効果的に支援するオーケストレーション(orchestration)技術が必要である。
【0046】
本発明に係る実施例は、階層型エンジンフレームワークに基づいたワークフローを実行システム及び方法を提供する。
【0047】
ワークフローは、一連の業務手順に応じて行われるビジネスプロセスであって、一連のタスクを含む。ワークフロー技術は、ワークフローの自動化技術であって、ワークフローを構成する一連のタスクを適切なコンピューティングシステムに分配し、一連の業務手順に基づいて各タスクが行なわれるように制御及び管理する技術を意味する。ここで、コンピューティングシステムは、演算可能な少なくとも一つのプロセッサ及びメモリを含む電子装置である。一連のタスクを構成する各タスクの手順関係は、リスト、ツリー又はグラフのような構造で表現することができる。
【0048】
各コンピューティングシステムは、適切なエンジンを駆動して自身に分配されたタスクを処理する。つまり、タスクは、コンピューティングシステムが駆動するエンジンにより処理される。一つのワークフローを実行するために生成されたこれらのエンジンは、一つの独立したプログラムパッケージであって、同一のコンピューティングマシン又はネットワークに接続されたコンピューティングマシン上に配布され、実行されたり、仮想マシン単位でパッケージングされて、異なる物理的コンピューティングマシンに配布されることができる。例えば、エンジンは、コンピューティングシステムで実行可能なプロセスである。例えば、エンジンは、実行イメージを駆動するコンテナであっても良い。エンジンは、タスクの処理のために必要なデータを入力され、これを分析してその結果を出力する。ワークフローを実行するためには、必要なエンジンを構成し、エンジン間の連携方法を定義する過程が必要である。
【0049】
ワークフローは、ワークフローを構成する一連のタスクを行なう少なくとも一つのエンジンを含むエンジングループと、各エンジングループ間のデータ接続経路と定義することができる。各エンジンは、データ接続経路で必要なデータを入力されて、これを分析した結果をさらにデータ接続経路に出力する。つまり、データ接続経路は、ワークフローに沿ってエンジン間にデータが転送されるデータパイプラインである。
【0050】
本発明において、ワークフローを実行するということは、一つ以上のエンジンが互いにデータパイプラインで接続されて、後述する階層的エンジンフレームワークを構成し、IoTデバイスからデータを収集、保存、そして分析及び制御して、与えられた業務を行なうことを意味する。ワークフローを制御するということは、ワークフローを実行するために必要なエンジン及びデータパイプラインを設定及び制御することを意味する。
【0051】
本発明の実施例において、コンピューティングシステム、コンピューティング装置、システム、サーバ、サーバ群、エンティティ、サーバコンピュータ、電子装置又は各種装置とは、デスクトップコンピュータ、ノートパソコン、スマートフォン、タブレット、PDA、携帯電話、ゲーム機などデータを収集、読取、処理、加工、保存、表示できる全ての計算手段を意味する。
【0052】
図1は、実施例に係る階層型エンジンフレームワークに基づいたクロスドメインワークフロー制御システム100を示す。
【0053】
フレームワークは、構造化されたアーキテクチャ(structured architecture)であって、階層型フレームワークは、フレームワークを構成するエンティティが階層に応じて構造化されたアーキテクチャを意味する。階層型エンジンフレームワークは、ワークフローを実行するエンジングループの各エンジンが階層に応じて構造化されたアーキテクチャを意味する。ここで、エンティティは演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであるか、又は複数のコンピューティングシステムで構成されたサーバ又はサーバ群であっても良い
階層型ドメインは、パブリッククラウド(Public Cloud)又はプライベートクラウド(Praivate Cloud)を含む汎用インターネット区間に位置して構築されるクラウドドメイン170、単一のサービス及び管理ドメインに構築されるクラスタードメイン160、そして様々なIoTデバイスを直接接続し、データを収集するエッジドメイン155で構成される。階層型エンジンフレームワークは、階層型ドメインの各階層別にクラウドサーバ140、クラスターサーバ群120及びエッジシステム110を含み、これらの階層的エンジンフレームワークは、IoTデバイス150からデータを収集、保存、そして分析及び制御などのためのワークフローの実行に関するエンジンフレームワークを実行する機能を行なう。
【0054】
特にエンジンフレームワークの有機的な構成により、各ドメインが解けようとする分野と目的に合ったワークフローを生成して実行することができ、簡単に他のドメインに適用して、他のドメインに適したワークフローを生成して実行することができる。また、クロスドメインのためにクラウドサーバ140(以下、クラウド融合システムとも言う)を含むことにより、クロスドメインに適した階層型ワークフローエンジンフレームワークを構成することができる。
【0055】
エッジシステム110は、データソースである各種センサをはじめとするIoTデバイス150からデータを収集し処理するコンピューティングシステムである。例えば、ヘルスケアドメイン160の場合には、エッジシステム110は、様々なスマートヘルスケアデバイス(例えば、スマートフォン、ネットワークゲートウェイ、IoT Actuatorなど)のようなIoTデバイス150からデータを直接収集し処理するように構築される。エッジシステム110は、例えば、デスクトップコンピュータ、ノートパソコン、スマートフォン、タブレット、PDA、携帯電話、ゲーム機などのデータを収集、読取、処理、加工、保存、表示できる装置であっても良い。エッジシステム110については、
図2を参照して詳細に後述する。
【0056】
クラスターサーバ群120は、ドメイン領域内で大容量のデータを収集、分析、処理するなどのビッグデータ分析とディープラーニング(deep learning)のような人工知能演算のために多くのコンピューティングリソースを活用できる物理的又は仮想サーバコンピュータを接続して構築した一セットのサーバである。クラスターサーバ群120は、ビッグデータ処理を行なうクラスターコンピューティングシステムであって、複数のサーバを含む分散コンピューティングシステムである。クラスターサーバ群120は、例えば、単一のサーバコンピュータ又はこれと類似したシステムであるか、又は一つ以上のサーババンク若しくはその他の配列に配列される複数のサーバであっても良い。クラスターサーバ群120は、単一の施設に位置するか、或いは異なる多くの地理的位置間に分散されても良い。
【0057】
クラスターサーバ群120は、
図4を参照してエンジンを制御及び管理するエンジン部420、及びデータを入力されたり又は処理された結果を他のエンジンに転送したり、又はクラウドサーバ140に転送するデータパイプラインを設定するゲートウェイ部430を含む。一例では、エンジン部420とゲートウェイ部430は、物理的に別途に構築されたコンピューティングシステムである。つまり、エンジン部420及びゲートウェイ部430は、それぞれ演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであっても良い。ゲートウェイ部430は、データパイプラインを介してエンジン部420が管理する少なくとも一つのエンジンにワークフローによるデータ入出力機能を提供する。
【0058】
クラスターサーバ群120で実行されるエンジンは、ゲートウェイ部430を介してデータを取得する入力機(reader)、内部で処理したデータを一つ以上のデータ終着地に出力する一つ以上の出力機(writer)、入力したデータを処理するための別途の実行プログラム又はプラットフォームを実行したり、セッションを管理する実行機(runner)、及びデータを入力機を介して入力されて実行機で処理し、処理結果データを出力するための一連の制御を担当するコントローラ(controller)で構成される。ここで、クラスターサーバ群120のエンジで処理された結果は、出力機からゲートウェイ部430に転送され、ゲートウェイ部430からデータ終着地に転送れる。ゲートウェイ部430は、データ終着地に向けて構築されたデータパイプラインを介して処理結果をデータ終着地に転送する。これにより、データ処理結果が階層的ワークフローエンジンフレームワーク上で様々に普及されたり、クロスドメイン上で活用できるようにする。
【0059】
さらに
図1において、クラスターサーバ群120は、エッジシステム110よりも上位に位置し、敏感なヘルスケアデータを収集し、ビッグデータ処理を行なう。一方、一例として、スマートビルディングドメイン160’の場合には、ヘルスケアドメイン160と類似した形態で、階層型ワークフローエンジンフレームワークが構築される。最上位の階層には、パブリックインターネットゾーンのクラウドサーバ140が構築されてヘルスケアドメイン160とスマートビルディング160’ドメインとの間にデータを共有したり、他のドメインで既に活用されているエンジンを共有するように支援する。つまり、ワークフロー実行システム100は、実際、データソースであるIoTデバイス150からエッジシステム110及びクラスターサーバ群120を経て、クラウドサーバ140に達するよう、階層型エンジンフレームワークを構成しデータパイプラインを構築する。
【0060】
クラウドサーバ140は、例えば、複数のサーバコンピュータ又はその他の配列に配列される複数のサーバで構成され、各サーバは、相異する地理的に位置間に分散されることができる。
【0061】
一方、知能型制御システム130は、階層型エンジンフレームワークの構成及びデータパイプラインの構築を仲介して、ワークフローを制御及び管理する。知能型制御システム130は、クラウド領域170に位置することができる。又は、各ドメイン毎に知能型制御システム130を運営することができる。
【0062】
図2は、実施例に係るエッジシステムを示す。
【0063】
エッジシステム110は、エッジネットワークエンティティ(ENE:Edge Networking Entity、210)、知能型コンピューティングエンティティ(ICE:Intelligent Computing Entity、220)、及びエッジゲートウェイエンティティ(EGE:Edge Gateway Entity、230)を含む。
【0064】
具体的には、エッジシステム110は、IoTデバイス150のような端末との接続性を提供するエッジネットワークエンティティ210、エッジネットワークエンティティ210を介して収集した端末のデータを分析して、ワークフローを実行する少なくとも一つのエンジンを駆動する知能型コンピューティングエンティティ220及びエンジンフレームワークに基づいて構築されたデータパイプラインを介して他のシステムとの連動機能を提供するエッジゲートウェイエンティティ230を含む。ここで、他のシステムは、同一のドメイン内の他のエッジシステム、同一のドメイン内のクラスターサーバ群120又は他のドメインの他のエッジシステム、又は他のドメインのクラスターサーバ群であっても良い。
【0065】
エッジシステム110は、水平的エンジンフレームワークに基づいて構築されたデータパイプラインを介して他のエッジシステムと順次連動する。これについては、
図7〜
図11を参照して後述する。
【0066】
エッジシステム110は、階層型エンジンフレームワークに基づいて構築されたデータパイプラインを介してクラスターサーバ群120と階層型に連動する。これについては、
図5を参照して後述する。
【0067】
エッジネットワークエンティティ210は、IoTデバイス150に接続性を提供するエンティティである。IoTデバイス150は、各種センサ、アクチュエータ、電源モジュール、通信モジュール、ロボット、端末、スマートフォン、コンピュータなどのコンピューティングデバイスを含む。IoTデバイス150との接続は、異種の(heterogeneous)無線技術を使用した通信であっても良い。従って、エッジネットワークエンティティ210は、様々な無線通信技術に基づく通信を提供可能なコンピューティングシステムである。エッジネットワークエンティティ210は、各ドメイン領域内のIoTデバイス及びデータソースの近くに位置して数多くのIoTデバイスに直接接続性を提供し、そこからデータを受信する。
【0068】
知能型コンピューティングエンティティ220は、機械学習などの人工知能プラットフォームを載せエッジネットワークエンティティ210を介して収集したデータを分析する。つまり、知能型コンピューティングエンティティ220は、エッジネットワークエンティティ210から受信したデータを直接分析するか、又はクラウドコンピューティングでビッグデータ分析のような他の方式の分析を提供する。このため、知能型コンピューティングエンティティ220は、エッジネットワークエンティティ210から受信したデータを収集し、これを即座に処理したり、処理結果又は収集されたデータを上位クラスターサーバ群120に送る。また、知能型コンピューティングエンティティ220は、分析の結果によりIoTデバイス150を制御する。一方、知能型コンピューティングエンティティ220は、階層型エンジンフレームワークに基づくワークフローエンジンを直接実行したり、エンジンを制御及び管理する。
【0069】
エッジゲートウェイエンティティ230は、外部エンティティとの連動機能(interworking function)を提供する。例えば、外部エンティティは、他のエッジシステム110及びクラウドコンピューティングでのビッグデータ分析部であっても良い。例えば、外部エンティティは、階層型エンジンフレームワークでワークフローに沿ってエッジシステム110と連動する他のシステム又はエンティティであっても良い。つまり、エッジゲートウェイエンティティ230は、ゲートウェイ機能を提供するコンピューティングシステムであっても良い。エッジゲートウェイエンティティ230は、他のエッジシステム110’又はクラスターサーバ群120とのデータパイプラインを構築するためのネットワークを担当する。
【0070】
ここで、データパイプラインは、知能型コンピューティングエンティティ210が分析したデータをエッジゲートウェイエンティティ230を介して他のエッジシステム110’又はクラスターサーバ群120に転送するデータ経路を意味する。
【0071】
一方、エッジシステム110の各エンティティは、別個のコンピューティングシステムで構成される。各エンティティは、各種有線又は無線通信方式で互いに通信する。つまり、エッジネットワークエンティティ(ENE、210)、知能型コンピューティングエンティティ(ICE、220)及びエッジゲートウェイエンティティ(EGE、230)はそれぞれ、演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであるか、又は複数のコンピューティングシステムを含むサーバ又はサーバ群であっても良い。
【0072】
一方、エッジシステム110は、エッジネットワークエンティティ210を介して収集されたデータを保存したり、知能型コンピューティングエンティティ220で分析した結果を暫く保存するためのデータ保存部をさらに含むことができる。エッジシステム110は、IoTデバイス150から受信したデータを収集及び分析した後、その結果を階層型ワークフローエンジンフレームワーク上の他のシステムに転送したり、又は関連サービスの状況に応じて結果をデータ保存部150に保存することもできる。
【0073】
また、エッジシステム110は、リワード/アクション部をさらに含むことができる。エッジシステム110は、リワード/アクション部を通じてサービスによるポリシーを利用して、実際、アクションをとるリワードを提供し、動作へのコマンドをエッジネットワークノードを介してIoTデバイス150に転送することができる。具体的には、リワード/アクション部はサービスによる補償政策(Reward Policy)が設立されている場合は、知能型コンピューティングエンティティ220で分析された結果に基づく補償(Reward)の値をエッジネットワークエンティティ210に提供し、エッジネットワークエンティティ210がIoTデバイス150に対して直接制御アクションをとるようにする。
【0074】
階層型で構成されたワークフローエンジンフレームワーク100において、サービスドメイン上のデータソース150の近くに位置したエッジシステム110は、IoTデータの直接的な収集、分析などの細部ワークフローを実行し、その後処理されたデータは、ドメイン中央のクラスターサーバ群120に送られてクラスターサーバ群120が、ビッグデータ分析を通じたサービス支援及び人工知能(又は機械学習)モデル学習を行う。また、各ドメインで処理されたデータの結果は、今後、他のドメインでの活用が可能か、又は人工知能(又は機械学習)モデルの再活用のためにクラウドサーバ140に転送されることができる。
【0075】
図3は、実施例に係る知能型制御システムを示す。
【0076】
本発明に係る実施例は、階層型ワークフローエンジンフレームワークを介してエンジンコンポーネントの実行環境を決定し、ワークフローを構成し、これに基づいてデータパイプラインが可能なようにネットワーク機能を制御する知能型制御システム130を提供する。つまり、知能型制御システム130は、階層型ワークフローエンジンフレームワークを構成する少なくとも一つのエンジン及びデータパイプラインに基づいてワークフローを制御する。
【0077】
知能型制御システム130は、分散されているエンジンの管理及び実行のための制御を担当するエンジン管理部310と階層型で構成されたワークフローに基づいてデータパイプライン構成を担当するパイプライン管理部320とを含む。
【0078】
エンジン管理部310は、ワークフローフレームワーク上の各システムでタスクを実行するラーンタイム時に生成できるエンジンのエンジン情報を保存し管理する。
【0079】
エンジン管理部310は、エンジンデータベース330とクエリシステム340を含む。エンジンデータベース330は、ラーンタイムエンジンが独立的なエンジンコンテナの形で管理できるように、エンジンの識別情報(例えば、エンジンの名前及び入出力パラメータなどのメタデータ)をデータベースに構築し、後日再利用できるようにエンジンの識別情報を含むエンジン情報を保存及び管理する。また、エンジン管理部310は、エンジンデータベース330に対するクエリシステム340を含んでワークフローフレームワーク上の各システムに使用可能なエンジンに対するエンジン情報を提供する。
【0080】
エンジン管理部310は、エンジンデータベース330を管理し、エンジンデータベース330に保存されたエンジン情報に基づいてクエリシステム340を介して階層型ワークフローエンジンフレームワークを構築するためのエンジンクエリを行なう。また、エンジン管理部310は、少なくとも一つのエンジンを保有するエッジシステム110又はエッジシステム110と連動するクラスターサーバ群120の識別情報を、当該エンジンのエンジン位置情報で管理することができる。エンジン管理部310は、例えば、演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであっても良い。
【0081】
パイプライン管理部320は、ワークフローに応じて少なくとも一つのエンジンの入出力データのデータパイプライン構築を支援し、構築されたデータパイプラインを管理する。パイプライン管理部320は、例えば、演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであっても良い。
【0082】
エンジンデータベース330は、ワークフローを実行する少なくとも一つのエンジンの識別情報、エンジンの位置情報及びエンジンの仕様情報を保存する。
【0083】
さらに、知能型制御システム130は、エッジシステム110の識別情報を管理する識別部を含むことができる。識別部は、エッジシステム110の識別情報にエッジシステム110の保有するエンジンの識別情報をマッピングして管理する。識別部は、例えば、演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであっても良い。
【0084】
知能型制御システム130は、エッジ識別管理エンティティ(EME)とも呼ばれる。エッジ識別管理エンティティ130は、エッジシステム110のエッジネットワークエンティティ210、知能型コンピューティングエンティティ220及びエッジゲートウェイエンティティ230を含むすべてのエンティティの識別情報を保存し、それを管理する機能を提供する。
【0085】
また、エッジ識別管理エンティティ130は、各識別情報をメタ情報にマッピングする。メタ情報は、例えば、知能型コンピューティングエンティティ220の位置又はエッジゲートウェイエンティティ230の位置であっても良い。エッジ識別管理エンティティ130は、複数のエッジシステム110とIoTデバイス150及びデータの識別子をマッピングしたマッピング情報を生成する。つまり、エッジ識別管理エンティティ130は、複数のエッジシステム110間でIoTデバイス150の移動性、及びデータの移動性を支援するためのコンピューティングシステムであって、IoTデバイス150及びデータを識別子により識別することができる。
【0086】
一方、エッジ識別管理エンティティ130は、
図4を参照してクラスターサーバ群120のエンジン部420及びゲートウェイ部430、クラウドサーバ140のエンジン部440及びゲートウェイ部の識別情報を保存し、それを管理することができる。
【0087】
例えば、エッジ識別管理エンティティ130は、エッジシステム110の知能型コンピューティングエンティティ220が保有するエンジンのエンジン識別情報を、当該知能型コンピューティングエンティティ220の識別情報に対するメタ情報で管理することができる。つまり、エッジ識別管理エンティティ130は、エッジシステム110の知能型コンピューティングエンティティ220又はエッジゲートウェイエンティティ230の識別情報に対して、当該知能型コンピューティングエンティティ220の保有するエンジンのエンジン識別情報をマッピングし管理する。
【0088】
パイプライン管理部320は、階層型又は様々な形態のワークフロー実行環境のためにエッジシステム110のエッジゲートウェイエンティティ230及び
図4を参照して、クラスターサーバ群120のゲートウェイ部430を制御して、データパイプラインのためのネットワーク環境を設定することができる。データパイプラインは、例えば、エッジシステム110間に、エッジシステム110とクラスターサーバ群120との間に、又はクラスターサーバ群120とクラウドサーバ140との間に構築されることができる。
【0089】
エッジの識別管理エンティティ130は、エッジシステム110、クラスターサーバ群120及びクラウドサーバ140に至るワークフロー構成及びデータパイプライン構築を効果的に可能にするオーケストレーション(orchestration)を提供する。
【0090】
本発明の実施例に係る知能型制御システム130は、IoTデバイス150から発生したデータをクラウドサーバ140に転送できるデータのパイプラインを構築するか、又は既に作られたエンジンコンポーネントを活用できるように、エンジン及びエンジン情報を管理して、ワークフローを制御するオーケストレーション機能を提供する。
【0091】
特に、本発明は、知能型制御システム130が提供する分散管理されるエンジンと、様々なデータパイプラインを構築できる機能により、クラスターサーバ群120又はクラウドサーバ140の助けを借りずエッジシステム110が同一の物理的ドメイン又は同一の論理的ドメイン上に位置する他のエッジシステム110のエンジンを直接活用できるワークフローを構成し、様々なデータパイプラインの形、例えば、エッジ‐to‐エッジ(エッジ ‐to‐エッジの継続的な繰り返しを含む)などのような水平的ワークフローを実行することができる。
【0092】
図4は、実施例に係る階層型ワークフローエンジンフレームワークに基づいたワークフロー制御を概略的に示す。
【0093】
ボックス155はエッジ領域を示し、ボックス160はドメイン領域を示し、雲の形170はクラウド領域を示す。領域とは、独立性のあるコンピューティングシステム空間であって、領域内の各コンピューティングシステムは、物理的に又は論理的に接続されており、共通のコンピューティングリソースによりグループ又は個別に領域内外で識別可能である。
【0094】
ドメインエッジ領域155は、エッジシステム110の領域を意味する。つまり、ドメインエッジ領域155は、エッジシステム110の知能型コンピューティングエンティティ(ICE、220)、エッジゲートウェイエンティティ(EGE、230)及び
図4には図示されていないが、エッジネットワークエンティティ(ENE、210)を含む領域である。ドメインエッジ領域155内で各エンティティは、エンティティの識別子(Entity Identity)により識別される。ドメインエッジ領域155の外部でエッジシステム110は、エッジシステム110に識別されるか、又は各エンティティの識別子によりエッジシステム110を構成する各エンティティに識別される。エッジシステム110として識別された場合に、エッジシステム110は、エッジゲートウェイエンティティ230の識別子を代表識別子として識別することができる。
【0095】
ドメイン領域160は、特定ドメインの領域を意味する。ドメインは、ドメインの目的、機能、又は業務を行うリソース、例えば、ハードウェアインフラ及びソフトウェアソリューションを含む。さらに、ビジネス観点から一つのサービスを共有する領域を意味することができる。従って、ドメインの領域は、当該リソースの影響が及ぶ物理的又は論理的な領域であって、ドメインに属する各リソースは、ドメイン領域内で固有の識別子に識別される。例えば、ドメイン領域160は、仮想プライベートネットワーク(VPN)などの一つの管理者によるプライベートネットワーク又はイントラネット区間で構成することができる。
【0096】
クラウド領域170は、パブリッククラウド又はプライベートクラウドの両方を含んで汎用インターネット区間を介して一般的なアクセス可能な領域を意味する。
【0097】
エッジシステム110及びクラスターサーバ群120は、ドメイン領域160に属する。
【0098】
クラスターサーバ群120は、エッジシステム110から受信したデータに基づいて、ワークフローを実行する少なくとも一つのエンジンを駆動するエンジン部420及び階層型エンジンフレームワークに基づいて構築されたデータパイプラインによりエッジシステム110との連動機能を提供するゲートウェイ部430を含む。ここでエッジシステム110とクラスターサーバ群120との間のデータパイプラインは、エッジシステム110が収集したIoTデバイス150のデータをエッジシステム110からクラスターサーバ群120へ転送するデータ経路である。ゲートウェイ部430は、前記データパイプラインを介してエンジン部420が保有する少なくとも一つのエンジンにワークフローによるデータ入出力機能を提供する。
【0099】
エンジン部420は、動的に生成された一つ以上ののエンジンを実行する実行インスタンス部及びエンジンコンポーネントコンテナインスタンスを生成し、生成されたエンジンインスタンスをエンジンコンポーネントントコンテナに動的バインディングするエンジンコンポーネント部を含むことができる。
【0100】
知能型制御システム130及びクラウドサーバ140は、ドメイン領域160に属さず、クラウド領域170に属する。一例では、知能型制御システム130は、ドメイン領域160及びクラウド領域170の境界に位置することができる。
【0101】
以下、クラウドサーバ140について説明する。パブリッククラウド(Public Cloud)、又はプライベートクラウド(Private Cloud)の両方を含む汎用インターネット区間に位置するクラウドサーバ140は、様々なドメイン間のワークフロー実行環境を支援するために、クラウドドメインに位置して動的にコンピューティングリソースを活用して、様々なドメインを統合して階層化する役割をする。クラウドサーバ140は、クロスドメインワークフロー実行に関連するリソースを管理し、各ドメインにクロスドメインワークフローの一部をワークフローとして割り当て、これを各ドメインのフレームワーク上で実行させるシステムである。従って、クラウドサーバ140は、クロスドメインリソース管理部、クロスドメインシステム構成部及びクロスドメインシステム制御部を含む。リソース管理部は、ワークフローの実行に必要なコンポーネントを管理し、システム構成部はワークフローの実行に必要なコンポーネントを生成し、システム構成部はワークフロー仕様(specification)に応じて必要なエンジンコンポーネントコンテナを構成してエンジンインスタンスを生成する。
【0102】
また、クラウドサーバ140は、クラスターサーバ群120から受信したデータに基づいて、ワークフローを実行する少なくとも一つのエンジンを駆動するエンジン部440及び階層型エンジンフレームワークに基づいて構築されたデータパイプラインを介してクラスターサーバ群120との連動機能を提供するゲートウェイ部(
図4に図示せず)を含むことができる。ここで、エンジン部440は、直接ワークフローを実行できる実行インスタンス部とエンジンコンポーネント部とを含むことができる。エンジン部440は、例えば、演算可能な少なくとも一つのプロセッサ及びメモリを含むコンピューティングシステムであっても良い。ゲートウェイ部もまた、少なくとも一つのプロセッサ及びメモリを含む別個のコンピューティングシステムであっても良い。
【0103】
図4において階層型で構成されたそれぞれのシステムとフレームワークは、ワークフローを実行できる環境とデータパイプラインを構成できる機能を載せている。階層型で構成されたワークフローフレームワークは、知能型制御システム130を介して管理、構成、及び制御されることができる。
【0104】
知能型制御システム130は、
図3を参照して、前述したように、エンジン管理部310及びパイプライン管理部320を含む。階層型のワークフローエンジンフレームワークに応じて、クラウドサーバ140、クラスターサーバ群120、及びエッジシステム110を利用してワークロードを分散して実行する。ここで、エンジン部420、エンジン部440、データ転送ゲートウェイ部430、知能型コンピューティングエンティティ(ICE、220)、及びエッジゲートウェイエンティティ(EGE、230)が、各システムに分散されて配置される。エンジン管理部310は、エッジシステム110の知能型コンピューティングエンティティ220、クラスターサーバ群120のエンジン部420と通信して、それぞれが保有するエンジン及び当該エンジンのエンジン情報を制御及び管理する。パイプライン管理部320は、エッジシステム110のエッジゲートウェイエンティティ230及びクラスターサーバ群120のゲートウェイ部430を制御し、データパイプライン構築、制御及び管理する。さらに、エンジン管理部310は、クラウドサーバ140のエンジン部440が保有するエンジン及び当該エンジンのエンジン情報を制御及び管理することができる。また、パイプライン管理部320は、クラウドサーバ140のゲートウェイ部を制御し、クラウドサーバ140へのデータパイプラインを管理することができる。エンジン管理部310は、クラウドサーバ140とクラスターサーバ群120、そしてクラスターサーバ群120とエッジシステム110とに分散配置されたエンジンコンテナ上に存在するエンジンの効率的な活用のために、
図3を参照して前述したエンジンデータベース330及びクエリシステム340を構築して管理する。
【0105】
データパイプライン(P1)は、IoTデバイス150とエッジシステム110との間のデータ接続経路であって、詳細にはIoTデバイス150とエッジネットワークエンティティ210との間のデータ接続経路である。IoTデバイス150から生成されたデータは、周辺に位置するエッジシステム110のエッジネットワークエンティティ210で受信し、知能型コンピューティングエンティティ220で収集されて一次的に分析される。サービスプロファイルに応じてエッジシステム110は、制御信号CによりIoTデバイス150を即座に制御するアクションを行なうか、又はエッジシステム110からドメインの中央に構築されたクラスターサーバ群120に向かうデータパイプライン(P2)を介してデータを流す。またはサービスプロファイルに応じてIoTデバイス150のデータは、データパイプライン(P1)を介してエッジシステム110のエッジネットワークエンティティ210に転送され、知能型コンピューティングエンティティ220を経由せずに、直にエッジゲートウェイエンティティ230に転送されてデータパイプライン(P2)を介して、クラスターサーバ群120に転送されることができる。
【0106】
ドメインで作成、分析、及び処理されたデータと、ドメイン内の各システムが保有するエンジンインスタンスは、今後クロスドメインで再活用できるように、必要に応じてクラウドサーバ140にデータを送って処理することができる。
【0107】
図5は、一例にによるエッジ‐to‐クラスターワークフローを示す。
【0108】
図5は、ワークフローをエッジシステム110とクラスターサーバ群120とに分けて行う実施例を示したものであって、ドメイン160には中央のクラスターサーバ群120、様々なセンサ150のデータを、データパイプライン(P1)を介して収集し処理できるエッジシステム110が分散されて構築される。また、ドメインサービスで既に使用できるエンジンのエンジン情報管理及びパイプライン制御のための知能型制御システム130が構築されている。このような環境で、エッジシステム110でクラスターサーバ群120に向かうデータパイプライン(P2)構成とワークフロー実行への手順は、以下の通りである。
【0109】
5−1.ドメインサービスに応じてエッジシステム110は、サービスプロファイルを分析して知能型制御システム130へ、関連するエンジンコンテナ情報を見付けるためのクエリ(Q)をする。例えば、エンジンコンテナ情報へのクエリ(Q)は、ワークフローを実行するために必要なエンジンの位置情報への要求であっても良い。ここで、エンジン位置情報への要求は、ワークフローを実行するために必要なエンジンの識別情報を含む。
【0110】
5−2.知能型制御システム130を介してエンジンコンテナクエリに対する応答を獲得する。例えば、知能型制御システム130のエンジン管理部310は、クエリ(Q)に含まれたエンジンの識別情報に基づいてワークフローを実行するために必要なエンジンを保有するクラスターサーバ群120の識別情報をエッジシステム110に応答として転送する。
【0111】
5−3.ドメインの中央に存在するクラスターサーバ群120に該当エンジンが存在する場合には、知能型制御システム130のパイプライン管理部320を介してデータパイプラインを構築するためのネットワークを設定し、センサー150のデータがエッジ‐to‐クラスターで処理されるように構成及び制御する。つまり、エッジシステム110から上方に位置するクラスターサーバ群120に階層型データパイプラインを構築する。データパイプラインを構築するためのネットワークプロセスは、
図17を参照して後述する。
【0112】
5−4.クラスターサーバ群120を介して機械学習及び人工知能を通じたデータ分析が行われた後、分析の結果として、当該IoTデバイス150の動作を制御する場合には、制御コマンドは直接デバイスと接続されているエッジシステム110を介して経路(C2)及び経路(C1)に転送されてセンサーIoTデバイス150を制御する。
【0113】
図6は、一例によるエッジ‐to‐クラスター‐to‐クラウドワークフローを示す。
【0114】
図6は、ドメイン160にエッジシステム110とクラスターサーバ群120とが構築され、クラウド領域170にサーバ140が構築された場合、エッジ‐to‐クラスター‐to‐クラウドワークフローが階層型に分散されて実行される実施例の手順を図式化したものである。
【0115】
6−1.ドメインサービスに応じて、エッジシステム110は、サービスプロファイルを分析して、知能型制御システム130へ、関連するエンジンコンテナ情報を見付けるためのクエリ(query)をする。
【0116】
6−2.知能型制御システム130のエンジン管理部310を介して、クラスターサーバ群120に、関連するエンジンコンテナが位置することを確認した後、パイプライン管理部320を介してエッジシステム110からクラスターサーバ群120に向かうデータパイプライン(P2)を構築する。
【0117】
6−3.若し、サービスプロファイルに応じて必要なワークフローステップがさらに必要だったり、又は関連するエンジンコンテナがクラスターサーバ群120に存在しないことからさらにクラウドサーバ140との相互連動が必要な場合には、クラスターサーバ群120では、知能型制御システム130にクラウドサーバ140との連動を要求し、エンジンコンテナへのクエリを再度行う。
【0118】
6−4.知能型制御システム130のパイプライン管理部320を介して、クラスターサーバ群120からクラウドサーバ140に向かうデータパイプライン(P3)を構築する。これにより、クラスターサーバ群120を介して分析されたデータを直にクラウドサーバ140に送信することができる。
【0119】
6−5.エッジ‐to‐クラスター‐to‐クラウドワークフローを確立した結果、IoTデバイス150を制御する制御コマンドは、前述した
図5の場合と同様にIoTデバイス150の近くに位置するエッジシステム110を介して経路C3、経路C2及び経路C1に転送される。
図6の各ステップは、順次、並列的に又は同時に行うことができる。
【0120】
図7は、一例によるエッジ‐to‐エッジワークフローを示す。
【0121】
本発明に係る実施例は、クラスターサーバ群120とクラウドサーバ140を使用せずに、エッジシステム110間にエッジ‐to‐エッジワークフローを構成することができる。
【0122】
7−1.エッジシステム110は、ドメインサービスのサービスプロファイルを分析して、関連するエンジンコンテナ情報を見付けるためのクエリ(Q1)を知能型制御システム130に質疑する。具体的なエンジンのクエリ過程については、
図16を参照して後述する。
【0123】
7−2.知能型制御システム130は、受信したクエリ(Q1)に基づいて、エンジン管理部310を介して関連エンジンを保有するエッジシステム110’を見付け、エッジシステム110’にエッジシステム110との接続を要求するクエリ(Q2)を転送する。エッジシステム110’は、接続承認過程を経てエッジシステム110に接続応答を転送する。
【0124】
7−3.知能型制御システム130のパイプライン管理部320を介してデータパイプラインを構築するためのネットワークを設定し、エッジシステム110とエッジシステム110’との間にデータパイプライン(P2)が接続される。データパイプライン(P1、P2)の設定により、IoTデバイス150から生成されたデータは、データパイプライン(P1)及びデータパイプライン(P2)を介して転送されてエッジ‐to‐エッジワークフローが実行される。
【0125】
7−4.IoTデバイス150を制御する制御コマンドは、前述した
図5の場合と同様にIoTデバイス150の近くに位置するエッジシステム110を介して経路C2及び経路C1に転送される。
【0126】
図7の各ステップは、順次、並列的に又は同時に行うことができる。
【0127】
以下、
図8〜
図10でエッジ‐toエッジワークフローのための接続過程をより詳細に見てみる。
【0128】
図8は、一例によるエッジ‐to‐エッジワークフローのためのリンク(connectivity)過程を示すフローチャートである。
【0129】
詳細には、
図8は、
図7を参照して知能型制御システム130を介して第1のエッジシステム110及び第2のエッジシステム110’を含む同一のドメイン160内のワークフローを制御する方法の手順を概略的に示すフローチャートである。
【0130】
8−1.ステップ810で第1のエッジシステム110は、知能型制御システム130に第2のエッジシステム110’との接続要求を転送する。例えば、第2のエッジシステム110’は、第1のエッジシステム110が必要とするエンジンとして、第1のエッジシステム110が保有していないエンジンを保有する。例えば、第1のエッジシステム110は、第1のエッジシステム110が必要とするエンジンを保有する他のエッジシステム110’との接続要求を知能型制御システム130に転送することができる。
【0131】
8−2.ステップ820で知能型制御システム130が接続要求を受信すると、第2のエッジシステム110’の識別情報に基づいて検索された第2のエッジシステム110’の位置情報に基づいて、第1のエッジシステム110の接続要求を第2のエッジシステム110’に転送する。例えば、第2のエッジシステム110’の識別情報は、第2のエッジシステム110’が保有するエンジンとして、第1のエッジシステム110が必要とするエンジンの識別情報である。例えば、第2のエッジシステム110’の位置情報は、第2のエッジシステム110’のエッジゲートウェイエンティティ230の識別子である。一例で、ステップ820は、知能型制御システム130は、第1のエッジシステム110が必要とするエンジンを保有する他のエッジシステム110’との接続要求を受信し、エンジン管理部310を介して、当該エンジンを保有する他のエッジシステム110’をルックアップして、ルックアップされた他のエッジシステム110’から第2のエッジシステム110’を決定するステップをさらに含むことができる。
【0132】
8−3.ステップ830で、第2のエッジシステム110’は、知能型制御システム130から第1のエッジシステム110の接続要求を受信すると、接続要求に対する応答を第1のエッジシステム110に直接転送する。ステップ830は、第2のエッジシステム110’が、知能型制御システム130から第1のエッジシステム110の接続要求を受信するステップ、接続要求に対して承認するかどうかを判断するステップ及び接続するための設定をして接続の確立を準備し、接続要求への応答を第1のエッジシステム110に転送するステップを含む。
【0133】
8−4.ステップ840で、第2のエッジシステム110’から接続要求への応答を受信した第1のエッジシステム110は、当該接続を確立する。具体的には、ステップ840で第1のエッジシステム110は、第2のエッジシステム110’から接続要求への応答を受信し、接続に対するネットワークチャンネルを設定するステップを含む。設定するネットワークチャンネルは、当該接続の保安水準に応じて決定される。
【0134】
8−5.第1のエッジシステム110から第2のエッジシステム110’に進むデータパイプラインを構築する。
【0135】
図8の各ステップは、順次、並列的に又は同時に行なうことができる。
【0136】
図9は、一例によるエッジ‐to‐エッジワークフローのためのリンク(connectivity)過程を示す。
【0137】
具体的に
図9は、第1のエッジシステム110及び第2のエッジシステム110’の詳細コンポーネントである知能型コンピューティングエンティティ(220、220’)とエッジゲートウェイエンティティ(230、230’)を中心に、第1のエッジシステム110及び第2のエッジシステム110’との間のエッジ‐to‐エッジワークフローの構成手順を示す。
【0138】
9−0.ステップ905で、本発明で提供されるサービスドメイン160でそれぞれ必要な要求事項、機能、データタイプなどを定義した「サービスプロファイル」をエッジシステム110の知能型コンピューティングエンティティ220に提供するサービス提供者が有ることを仮定する。
【0139】
9−1.ステップ910で、サービス提供者は、ドメイン160に設けられたエッジシステム110を使用するために、エッジシステム110の知能型コンピューティングエンティティ220にサービスプロファイルを提供するとともにワークフロー要求を開始する。ステップ910で知能型コンピューティングエンティティ220は、サービスプロファイル情報を獲得する。
【0140】
9−2.ステップ912で、知能型コンピューティングエンティティ220は、サービスプロファイルを分析し、これに基づいて知能型制御システム130に第2のエッジシステム110’との接続要求をする。一例で、ステップ912で第1のエッジシステム110の知能型コンピューティングエンティティ220は、知能型制御システム130に必要なエンジンを保有する他のエッジシステム110’に対するルックアップ要求及びルックアップされた他のエッジシステム110’との接続要求を転送する。この場合には、接続要求は、必要なエンジンのエンジン情報を含むことができる。
【0141】
9−3.ステップ914で第1のエッジシステム110のエッジゲートウェイエンティティ230は、接続要求を受信し、知能型管理システム130に第2のエッジシステム110’との接続要求及び接続するためのネットワーク情報を一緒に転送する。
【0142】
9−4.ステップ920で知能型制御システム130は、エンジン管理部310を介して関連エッジシステムのエンジンを検索して、適切な第2のエッジシステム110’を見付ける。ここで、適切な第2のエッジシステム110’は、第1のエッジシステム110が必要なエンジンを保有するエッジシステムである。他の例では、適切な第2のエッジシステム110’は、接続要求に指定された第2のエッジシステム110’である。
【0143】
ステップ922で知能型制御システム130は、第2のエッジシステム110’のエッジゲートウェイエンティティ230’に接続要求を転送する。接続要求の転送のために知能型制御システム130は、データベースを利用して、第2のエッジシステム110’と第2のエッジシステム110’の位置を見付ける。例えば、知能型制御システム130は、エンジン管理部310を介して接続要求に含まれた第1のエッジシステム110が必要なエンジンのエンジン情報に基づいて、当該エンジンを保有する第2のエッジシステム110’及び第2のエッジシステム110’の位置をエンジンデータベース330で見付ける。
【0144】
9−6.ステップ930で接続要求を受けた第2のエッジシステム110’のエッジゲートウェイエンティティ230’は、接続要求への権限の承認を受けるために、さらに第2のエッジシステム110’の知能型コンピューティングエンティティ220’に接続要求を転送する(forward).
9−7.ステップ932で、知能型コンピューティングエンティティ220’は、接続要求への権限の承認をする。例えば、知能型コンピューティングエンティティ220’は、接続要求を承認し、承認された結果を接続要求に対する応答に含ませる。
【0145】
9−8.ステップ934で、知能型コンピューティングエンティティ220’の接続承認が完了した場合には、接続を承認する応答をエッジゲートウェイエンティティ230’に転送する。
【0146】
9−9.ステップ936で、エッジゲートウェイエンティティ230’は、接続を承認する応答を受信して承認された結果を確認し、自身のネーム情報(URL形式の情報で表現可能であり、例えば、エッジゲートウェイエンティティ230の識別子を活用できる)と接続に必要な情報(URL情報の他に実際ネットワークのための接続情報などで、例えば、IPアドレス、又はMACアドレスなどを含む)を追加した接続応答を接続要求の主体である第1のエッジシステム110の知能型コンピューティングエンティティ220と接続されているエッジゲートウェイエンティティ230に転送する。ここで、エッジゲートウェイエンティティ230’は、エッジゲートウェイエンティティ230との接続設定などの接続の確立のための準備をすることができる。
【0147】
9−10.ステップ940で、第1のエッジシステム110のエッジゲートウェイエンティティ230は、ステップ916で転送した接続要求への応答を受信し、接続を設定する。つまり、エッジゲートウェイエンティティ230は、受信された情報(ネットワークと関連した情報で当該エンティティのネーム情報と接続情報など)を活用して、第1の及び第2のエッジシステム(110、110’)間のデータパイプラインの設定をのためのネットワークチャンネルを設定する。例えば、サービスプロファイルに応じて、第1及び第2のエッジシステム(110、110’)間に保安的なIPトンネル(IPsec基盤トンネル)が必要な場合には、エッジゲートウェイエンティティ230は、追加的なメッセージ交換により保安通信チャンネル設定を可能にすることができる。これにより、第1のエッジシステム110から第2のエッジシステム110’に向かうデータパイプライン950が構築される。データパイプライン950は、エッジゲートウェイエンティティ230とエッジゲートウェイエンティティ230’との間に構築される。いわば、第1のエッジシステム110がIoTデバイス150からエッジネットワークエンティティ210を介して受信したソースデータは、知能型コンピューティングエンティティ220を経由せずに直接第1のエッジシステム110のエッジゲートウェイエンティティ230からデータパイプライン950を介して第2のエッジシステム110’のエッジゲートウェイエンティティ230’に転送される。第2のエッジシステム110’のエッジゲートウェイエンティティ230’は、データパイプライン950を介して転送されたソースデータを第2のエッジシステム110’の知能型コンピューティングエンティティ220’に転送する。知能型コンピューティングエンティティ220’は、転送されたソースデータを指定されたエンジンを駆動して分析又は処理する。
【0148】
9−11.ステップ942で、エッジゲートウェイエンティティ230は、接続完了への応答を知能型コンピューティングエンティティ220に送る。
【0149】
このような手続きが行われた後、データは第1のエッジシステム110から第2のエッジシステム110’にデータパイプライン950を介して自然に流れながらエッジ‐to‐エッジワークフローを完成することができる。
【0150】
一方、
図8を参照して、ステップ810の接続要求ステップは、
図9のステップ912及びステップ914を含み、ステップ820の接続要求転送ステップは、
図9のステップ920及びステップ922を含み、ステップ830の接続要求への応答ステップは、
図9のステップ930、ステップ932、ステップ934及びステップ936を含み、ステップ840の接続確立ステップは、
図9のステップ940及びステップ942を含む。
図9の各ステップは、順次、並列的に又は同時に行うことができる。
【0151】
図10は、他の例に係るエッジ‐to‐エッジワークフローのための接続過程を示す。
【0152】
具体的に、
図10は、第1のエッジシステム110及び第2のエッジシステム110’の詳細コンポーネントである知能型コンピューティングエンティティ(220、220’)とエッジゲートウェイエンティティ(230、230’)を中心に、第1のエッジシステム110及び第2のエッジシステム110’との間のエッジ‐to‐エッジワークフローの構成手順を示す。
【0153】
知能型エッジコンピューティングシステムは、複数のエッジシステム(110、110’)及びエッジ識別管理エンティティ130を含む。それぞれのエッジシステム(110、110')は、端末との接続性を提供するエッジネットワークエンティティ210、エッジネットワークエンティティ210を介して収集した端末のデータを分析する知能型コンピューティングエンティティ220及び他のエッジシステムとの連動機能(interwork function)を提供するエッジゲートウェイエンティティ230を含む。
【0154】
エッジ識別管理エンティティ130は、エッジネットワークエンティティ210、知能型コンピューティングエンティティ220及びエッジゲートウェイエンティティ230の識別情報をそれぞれ管理する。
【0155】
10−0.ステップ1010で、で第1のエッジシステム110の知能型コンピューティングエンティティ220は、他のエッジシステム110’との接続要求を受信する。例えば、サービス供給者は、他のエッジシステム間に連動を要求することができる。
【0156】
10−1.ステップ1015で、知能型コンピューティングエンティティ220は、要求メッセージをエッジゲートウェイエンティティ230を介してエッジ識別管理エンティティ130に転送する。例えば、要求メッセージは、対応するエッジシステム(corresponding IEC)を第2のエッジシステム110’として見付けるというルックアップメッセージを含むことができる。
【0157】
10−2.ステップ1020で、エッジ識別管理エンティティ130は、第2のエッジシステム110’の位置を第2のエッジシステム110’のエッジゲートウェイエンティティ230’の位置として見付ける。
【0158】
10−3.ステップ1025で、エッジ識別管理エンティティ130は、第2のエッジシステム110’の位置としてエッジゲートウェイエンティティ230’に接続要求メッセージを転送する。
【0159】
10−4.ステップ1030で、エッジゲートウェイエンティティ230’は、第2のエッジシステム110’の代表者として知能型コンピューティングエンティティ220’に接続要求への接続承認要求を転送する。
【0160】
10−5.ステップ1032において、知能型コンピューティングエンティティ220’は、エッジゲートウェイエンティティ230とエッジゲートウェイエンティティ230’を介して第1のエッジシステム110と第2のエッジシステム110’との間の接続要求を承認する。
【0161】
10−6.ステップ1034で、知能型コンピューティングエンティティ220’は、接続要求への応答メッセージをエッジゲートウェイエンティティ230’に転送する。
【0162】
10−7.ステップ1036で、エッジゲートウェイエンティティ230’は、エッジゲートウェイエンティティ230との接続設定などの接続の確立のための準備をすることができる。
10−8.ステップ1038で、エッジゲートウェイエンティティ230’は、応答メッセージをエッジゲートウェイエンティティ230に転送する。
【0163】
10−9.ステップ1040で、エッジゲートウェイエンティティ230は、エッジゲートウェイエンティティ230及びエッジゲートウェイエンティティ230’間の接続を設定する。ここで、エッジゲートウェイエンティティ(230、230’)間に保安通信チャンネルが要求される場合には、追加的な通信手続きが達成されても良い。
【0164】
10−10.ステップ1042で、エッジゲートウェイエンティティ230は、接続の結果を含む応答メッセージを知能型コンピューティングエンティティ220に転送する。
【0165】
上記のような手順で行われた後、データは、第1のエッジシステム110から第2のエッジシステム110’にデータパイプライン1050を介して自然に流れながらエッジ‐to‐エッジワークフローを完成することができる。
図10の各ステップは、順次、並列的に又は同時に行うことができる。
【0166】
図11は、一例によるエッジ‐to‐エッジエンジンダウンロードを示す。
【0167】
本発明は、様々な階層型ワークフローを構成する方法を提供するとともに、低遅延のエッジシステム110のために、他のエッジシステム110’からエンジンコンテナを直接ダウンロードできる機能を提供する。このため、階層型ワークフロー構成のうち、知能型制御システム130と連動するものは、
図8〜
図10のエッジ‐to‐エッジワークフロー構成の場合と同様であるが、設定値に応じて直接エンジンコンテナをエッジシステム110にダウンロードして、ワークフローを実行することができる。
【0168】
本発明で提供されるエンジンコンテナダウンロード方式は、単にモデルとパラメータを取得する方式だけでなく、一つの独立的に運用されるエンジンコンテナ自体をダウンロードして実行できる包括的環境を提供する。これにより、エッジシステム110は、新たな機能的要素を実行するように拡張可能であり、データ分析のための機能だけでなく、ネットワーク機能などまで含んだ様々な独立的なエンジンを実行及び構成することができる。
【0169】
図11のステップQ1で、第1のエッジシステム110は、知能型制御システム130にワークフローを実行するために必要なエンジンの獲得を要求する。例えば、エッジシステム110は、サービスドメインでサービスに応じたプロファイルを分析し、関連するエンジンコンテナを見付けるためのクエリを知能型制御システム130に転送する。
【0170】
ステップQ2で、知能型制御システム130はエッジシステム110が生成したクエリを、当該エンジンコンテナを持つエッジシステム110’に転送する。
【0171】
ステップDで、ステップQ2により必要なエンジンの獲得要求を受信した第2のエッジシステム110’は、要求への応答として第1のエッジシステム110に必要なエンジン又は前記必要なエンジンの位置情報を転送する。つまり、クエリ(Q2)を受けた第2のエッジシステム110’は、初期エンジンコンテナを要求していたエッジシステム110にエンジンコンテナ情報を渡す。
【0172】
具体的には、ステップDで、エッジシステム110’は、エッジシステム110にエンジンのダウンロードを直接提供したり、またはオンラインで当該エンジンをダウンロードできるURL情報を提供する。エッジシステム110は、直接使用できるエンジンコンテナをダウンロードしてインスタンス化する。
【0173】
第1のエッジシステム110は、必要なエンジン又は必要なエンジンの位置情報を受信する。
【0174】
以降、第1のエッジシステム110は、当該エンジンコンテナを実行して、実質的にソースデータを収集、処理、及び制御などのワークフローを実行する。
【0175】
他の例において、知能型制御システム130の代わりに、クラウドサーバ140を介して必要なエンジンコンテナを見付けた後、当該エンジンコンテナを保有するエッジシステム110’から直接エンジンコンテナをダウンロードするように構成することができる。
【0176】
一方、エッジシステム110は、クラスターサーバ群120に位置するエンジンコンテナをダウンロード(モデルサービング又はエンジンコンテナダウンロード)してエッジシステム110で直接使用することができる。
【0177】
図12は、一例によるエンジンデータベース及びクエリシステムの構築手順を示すフローチャートである。
【0178】
具体的に、
図12は、
図3を参照して知能型制御システム130のエンジン管理部310、エンジン情報管理のためのエンジンデータベース330及びクエリシステム340構築の過程を例示的に示すフローチャートである。
【0179】
ステップ1210において、知能型制御システム130は、階層型エンジンフレームワークに存在するエンジン情報(例えば、エンジンName、meta data‐inputタイプ、outputタイプ、parameters、description、及びlearning modelsなど)をエンジン管理部310を介して登録する。ここで、エンジン情報は、エンジンの識別情報を含む。エンジン情報は、階層化されたURIの形式で表現可能である。
【0180】
ステップ1220で、知能型制御システム130は、ステップ1210で登録したエンジン情報に基づいてエンジンデータベース330を構築する。例えば、登録したエンジンのエンジンNameを中心にインデックスして分散型エンジンデータベース330を構築する。分散型エンジンデータベース330は、既存のインターネットの分散型システムであるDNS(Domain Name System)のように階層型Nameを中心に構築可能である。また、ハッシュ値のように、一連の数字のようなflat typeのNameである場合、分散ハッシュテーブル形式(Distributed Hash Table)の構造を使用することができる。
【0181】
本発明に係る実施例は、ドメイン毎に構築された知能型制御システム130のエンジンデータベース330を構築し、さらにエンジンデータベース330を連動するにおいて、Name基盤の階層型データベース構築の方法を受容することができる。
【0182】
ステップ1230において、知能型制御システム130は、クエリシステム340を構築する。例えば、ステップ1220でエンジンデータベース330を構築するときに使用したエンジン情報のうち、エンジンNameをインデックス化して階層的なクエリシステム340を構築することができる。エンジンデータベース330に保存された階層されたURIの形で表現されたエンジン情報は、インデックス化して構成することができ、これにより、当該エンジンを見付けることができるようにクエリシステム340を構築することができる。
【0183】
新たに追加するエンジン情報が発生した場合は、ステップ1210〜ステップ1230を実行して、エンジンデータベース330及びクエリシステム340をアップデートすることができる。例えば、エンジンデータベース330及びクエリシステム340を周期的にアップデートすることができる。
【0184】
クラウドドメイン上のクラウドサーバ140の場合は、ドメイン毎のエンジンデータベース330構築に直接参加しなくても良い。代わりに、拡張性とセキュリティ面で、各ドメイン毎にエンジンデータベース330を構築し、これを統合したグローバルクエリシステムを構築することができる。クロスドメインを支援するためのクラウドサーバ140は、エンジンコンテナに対するインデックスとともにエンジン情報を保存するグローバルエンジンデータベースを別途に運営することができ、クエリシステムもまた別途含むことができる。
【0185】
図13は、一例によるエンジンデータベースに対するクエリシステムの動作手順を示すフローチャートである。
【0186】
ステップ1310で、エッジシステム110は、ワークフローを実行するために必要なエンジンへのクエリを作成する。クエリの作成に先立ってエッジシステム110は、予め入力されたサービスプロファイルを分析し、これに基づいて自身に必要なエンジンを導出することができる。若し、エッジシステム110が必要なエンジンを自ら保有する場合は、追加的なクエリシステムを動作させることなく、保有するエンジンを活用して直にワークフローを実行する。しかし、エッジシステム110が、必要なエンジンを持っていない場合は、エッジシステム110は、ステップ1310において必要なエンジンに対するエンジンのクエリを作成する。エンジンのクエリは、例えば、必要なエンジンの識別情報を含む。さらに、エンジンのクエリは、エンジンのdata type、description、及びlearning modelsなどのエンジン情報を含むことができる。
【0187】
ステップ1320で、エッジシステム110は、知能型制御システム130にステップ1310で作成したエンジンのクエリを転送する。ステップ1320で知能型制御システム130は、エンジンのクエリを受信してクエリシステム340に転送する。
【0188】
ステップ1330で、クエリシステム340は、受信したエンジンのクエリに基づいてエンジンデータベース330を検索し、関連するエンジンが存在するかどうかをチェックする。
【0189】
ステップ1330で、関連するエンジンが存在する場合は、ステップ1340でクエリシステム340は、ワークフロー制御モードであるか、それともエンジンダウンロードモードであるかを判断する。
【0190】
ワークフロー制御モードの場合は、ステップ1350で、知能型制御システム130は、パイプライン管理部320を介してワークフローを階層型に構成及び制御し、ステップ1352でデータパイプラインを制御し、ステップ1354で制御を終了する。
【0191】
エンジンダウンロードモードの場合は、ステップ1360で、エッジシステム110は、必要なエンジンが位置した上位のクラスターサーバ群120又は他のエッジシステム110’のエンジンを直接ダウンロード(モデルサービング又はエンジンコンテナダウンロード)する。
【0192】
ステップ1330で、関連するエンジンが存在しない場合は、クエリシステム340は、クラウドサーバ140が連動するかどうかを判断する。
【0193】
ステップ1330で、クロスドメインを支援するために、クラウドサーバ140が連動している場合は、ステップ1372で知能型制御システム130のクエリシステム340は、エンジンのクエリをクラウドサーバ140に転送して、関連するエンジンが存在するかどうかを検索する。
【0194】
ステップ1372でエンジンが見付かった場合は、ステップ1340〜ステップ1362でワークフローを介して制御するか、それとも直接エンジンコンテナをダウンロードするかにより、その手順を行う。
【0195】
ステップ1370で、クロスドメインを支援するために、クラウドサーバ140が連動していないか、又はステップ1372でエンジンが見付かっていない場合は、ステップ1374でクエリシステム340は、エラーメッセージを転送し、ステップ1376で制御を終了する。
【0196】
結論として、本発明は、知能型制御システム130を介して階層型エンジンフレームワークに基づいたワークフロー実行システムを構築することができ、これをクラウドサーバ140に拡張して、クロスドメインを支援するための階層型ワークフローエンジンフレームワークに拡張可能である。また、本発明は、直接的に、エンジンコンテナをダウンロードできる機能を支援して、今後エッジシステム(110、110’)のみでワークフローを構成して、低遅延の効果的なサービス支援を可能にすることができる。
【0197】
一方、知能型制御システム130のパイプライン管理部320は、ネットワークを設定して、エンジン管理部310を介して制御されるワークフローの実行環境に応じて階層型に構成されるワークフローを支援する。一般的に、エッジシステム110のエッジゲートウェイエンティティ230、クラスターサーバ群120のゲートウェイ部430又はクラスターサーバ140のゲートウェイ部を利用してエッジ‐to‐クラスター、そしてクラスター‐to‐クラウド形態のデータパイプラインを構成するためにトンネリング又はSDN(Software Defined Networking)などを活用した制御平面を介してネットワーク設定をする。このようなネットワーク設定により、パイプライン管理部320はエッジ‐to‐エッジワークフロー及び保安チャンネルを介して直接エンジンコンテナダウンロードを可能にする。
【0198】
本発明は、クロスドメインのためのワークフローエンジンフレームワークを連動及び構成する方法を提供する。各ドメインの知能型制御システム130を介してクロスドメイン上のワークフローエンジンフレームワークの連動を具現したり(
図14)、又はクラウドサーバ140を介してクロスドメイン上のワークフローエンジンフレームワークの連動(
図15)を具現することができる。つまり、知能型制御システム130は、少なくとも一つのクラスターサーバ群120を含むドメイン160のワークフローを管理する形で構築されることができ、従って、ドメイン毎に構築された知能型制御システム130は、ワークフローエンジンフレームワークを介して連動されるグローバルシステムで構築されることができる。
【0199】
図14は、一例による知能型制御システムを通じたクロスドメインのエッジ‐to‐エッジワークフローを示す。
【0200】
各ドメインは、知能型制御システム130を構成することができ、それぞれの知能型制御システム130のエンジンデータベース330をNameインデックスして、他のドメイン上に構築された知能型制御システム130を互いに接続された統合システムで構成することができる。このような知能型制御システム130の統合により、Nameインデックス情報を利用したグローバルエンジンデータベースシステムを構成することができ、Nameの形式に応じて、DNSシステムのようなツリー構造にインデックス情報を構成するか、又はハッシュ値のように一連の数字のようなflat type形式の場合、ハッシュテーブル形態の構造にインデックス情報を構成することができる。グローバルエンジンデータベースシステムは、様々な形態で構築可能である。
【0201】
図14で知能型制御システム130は、少なくとも一つのエッジシステム110及び少なくとも一つのクラスターサーバ群120を含むドメイン160のワークフローを管理し、知能型制御システム130’が少なくとも一つのエッジシステム110’及び少なくとも一つのクラスターサーバ群120’を含むドメイン170のワークフローを管理する。知能型制御システム(130、130’)が共有するグローバルエンジンデータベースが構築されると、グローバルエンジンデータベースを参照して、クロスドメイン上で各ドメイン(160、160’)のエッジシステム110、110’)を連動してエッジ‐to‐エッジワークフロー構成が可能である。
【0202】
グローバルエンジンデータベースシステムに基づいて、知能型制御システム130を活用したクロスドメインエッジ‐to‐エッジワークフロー構成の例示的な過程は、以下の通りである。
【0203】
14−1.ステップ1410で、エッジシステム110は、サービスドメイン(ドメイン1;160)でサービスプロファイルを分析し、関連するエンジンコンテナを見付けるためのクエリ(Q)を知能型制御システム130を介して行う。
【0204】
14−2.ステップ1420で、知能型制御システム130は、グローバルエンジンデータベースシステムに応じて、他のドメイン(ドメイン2;160’)上に位置する知能型制御システム130’に、関連するエンジンコンテナが存在することが分かる。
【0205】
14−3.ステップ1430で、知能型制御システム130’は、ドメイン2(160’)の中央のクラスターサーバ群120’にクエリ(Q)を転送して、データパイプラインを設定するための権限の獲得のための手順を行う。
【0206】
14−4.ステップ1440で、ドメイン2(160’)のクラスターサーバ群120’は、実際、エンジンコンテナが存在するエッジシステム110’にクエリ(Q)を転送する。必要に応じて、この過程でクラスターサーバ群120’又はエッジシステム110’は、それぞれの使用権限に対する動作を行い、保安条件に応じてドメイン1(160)のエッジシステム110にエンジンコンテナの提供が許されるかどうかをチェックすることができる。
【0207】
14−5.ステップ1450で、エッジシステム110’は、クエリ(Q)への応答をクラスターサーバ群120’に転送する。
【0208】
14−6.ステップ1460で、クラスターサーバ群120’は、クラスターサーバ群120にクエリ(Q)への応答を転送する。
【0209】
14−7.ステップ1470で、クラスターサーバ群120は、最初のクエリ(Q)を行なったエッジシステム110に応答を転送する。応答を受信したエッジシステム110は、エッジシステム110’との接続を確立し、データパイプライン(P2)を設定する。ここでエッジシステム(110、110’)は、相互情報を共有し、保安チャンネルを設定することができる。
【0210】
14−8.データパイプライン(P2)の設定が完了した後、ドメイン1160のIoTデバイス150から収集されたデータは、データパイプライン(P2)に沿ってエッジシステム110からドメイン2(160’)のエッジシステム110’へ転送され、エッジ‐to‐エッジワークフローを実行する。
【0211】
14−9.IoTデバイス150に対する制御(C)もまたエッジ‐to‐エッジの形で経路C2及び経路C1を介して制御信号を転送する。
【0212】
前記したような手順で、クロスドメインでエッジ‐to‐エッジワークフローを実行することができるようになる。
【0213】
図15は、一例によるクラウドサーバを通じたクロスドメインのエッジ‐to‐エッジワークフローを示す。
【0214】
図15で知能型制御システム130は、少なくとも一つのエッジシステム110及び少なくとも一つのクラスターサーバ群120を含むドメイン160のワークフローを管理し、知能型制御システム130’は、少なくとも一つのエッジシステム110’及び少なくとも一つのクラスターサーバ群120’を含むドメイン(160’のワークフローを管理する。
【0215】
ドメイン160の知能型制御システム130は、クロスドメインにアクセス可能なクラウドサーバ140を介して、他のドメイン160’の知能型制御システム130’と連動可能である。これにより、知能型制御システムに(130、130’)のエンジンデータベース(330)が連動していなくても、クラウドサーバ140を介してクロスドメインワークフローを提供することができる。
【0216】
15−1.ステップ1510で、エッジシステム110は、サービスドメイン(ドメイン1;160)でサービスプロファイルを分析し、関連するエンジンコンテナを見付けるためのクエリ(Q)を知能型制御システム130を介して行なう。
【0217】
15−2.ステップ1520で、知能型制御システム130は、ドメイン1(160)のエンジンデータベース330を検索して、関連するエンジンコンテナが存在しない場合には、クラウドサーバ140にクエリ(Q)を転送する。
【0218】
15−3.ステップ1530で、クラウドサーバ140は、関連するエンジンコンテナを持つエンジンフレームワークを検索し、ドメイン2(160’)に存在する場合、クエリ(Q)をドメイン2(160’)の知能型制御システム130’に転送する。
【0219】
15−4.ステップ1540及びステップ1550で、知能型制御システム130’は、クエリ(Q)をクラスターサーバ群120’を経てエンジンコンテナを持つエッジシステム110’に転送する。
【0220】
15−5.ステップ1560でエッジシステム110’は、クエリ(Q)の応答をクラウドサーバ群120’に転送する。
【0221】
15−6.ステップ1570で、ステップ1560の応答を受けたクラウドサーバ群120’は、ステップ1580及びステップ1590でクエリ(Q)の主体であるドメイン1160の知能型制御システム130を介して応答をエッジシステム110に転送する。
【0222】
その後、ドメイン2(160’)及びドメイン1(160)の情報を活用してエッジシステム110のエッジゲートウェイエンティティ130からエッジシステム130’のエッジゲートウェイエンティティ130’に向かうデータパイプライン(P2)が設定される。データパイプライン(P2)の設定時、保安要因を考慮することができる。
【0223】
両ドメインの知能型制御システム(130、130’)のパイプライン管理部320を介してエッジシステム(110、110’)間のデータパイプライン(P2)の設定が完了した後、データは直接エッジ‐to‐エッジに進み、クロスドメインエッジ‐to‐エッジワークフローを実行する。
【0224】
その後、制御コマンド(C)は、エッジ‐to‐エッジの形態で経路C2及び経路C1を経てエッジシステム110’からIoTデバイス150に転送される。
【0225】
図16は、一例による知能型制御システムを通じたエンジンクエリ過程を示す。
【0226】
すなわち、
図16は、エッジ‐to‐エッジワークフロー実行のために、知能型制御システム130のエンジン管理部310で行なわれるエンジンコンテナのためのクエリの過程を示す。
【0227】
ステップ1610で、エッジシステム110は、サービスプロファイルを分析してエッジシステム110から知能型制御システム130へエッジシステム110が必要とするエンジンコンテナのエンジン情報を含むリクエスト(REQUEST)を転送する。例えば、エンジン情報は、エンジン識別情報、エンジン入力タイプ及びエンジン出力タイプのうちの少なくとも一つを含むことができる。
【0228】
ステップ1620で、知能型制御システム130のエンジンデータベース330のインデックス情報を活用して、当該エンジンコンテナを持つエッジシステム130’までクエリを転送する。
【0229】
ステップ1630で、最終クエリを受けたエッジシステム130’は、クエリを送信したエッジシステム110にエンジンコンテナ使用を承認する応答(REPLY)を転送する。
【0230】
図17は、一例による知能型制御システムを通じたデータパイプラインの構成過程を示す。
【0231】
すなわち、
図17は、エッジ‐to‐クラスターワークフロー実行のために、知能型制御システム130を介してデータパイプラインを構成するためのネットワークの設定過程を示す。
【0232】
ステップ1710及びステップ1720において、知能型制御システム130は、エッジシステム110のエッジゲートウェイエンティティ230と、クラスターサーバ群120のゲートウェイ部430に、それぞれ制御メッセージを転送する。例えば、制御メッセージは、RESTful形式の制御メッセージである。エッジゲートウェイエンティティ230とゲートウェイ部430は、受信した制御メッセージに応じてネットワークの設定を行う。一例において、ステップ1710及びステップ1720は、エンジン管理部310によるエンジン構成と同時に行うことができる。
【0233】
具体的には、ステップ1710で、知能型制御システム130は、エッジシステム110のエッジゲートウェイエンティティ230にゲートウェイ部430に向かう接続を設定するように要求(REQUEST)する。
【0234】
ステップ1720で、知能型制御システム130は、クラスターサーバ群120のゲートウェイ部430にエッジゲートウェイエンティティ230に向かう接続を設定するように要求(REQUEST)する。例えば、ステップ1710及びステップ1720において、知能型制御システム130は、それぞれの要求を同時に転送することができる。
【0235】
ステップ1730で、知能型制御システム130は、エッジシステム110のエッジゲートウェイエンティティ230が転送した接続設定完了応答(REPLY)を受信する。
【0236】
ステップ1740で、知能型制御システム130は、クラスターサーバ群120のゲートウェイ部430が転送した接続設定完了応答(REPLY)を受信する。
【0237】
一例で、ステップ1710ないしステップ1740での制御コマンドの伝達経路は、従来のSDNコントローラとSDNスイッチ又はルータとして構成することができる。またはその他のIPトンネル、GTPトンネル、そして識別子分離などを活用した手法を使用することができる。
【0238】
これまで説明したように、本発明は、業務ドメイン、目的ドメイン又は空間ドメインのように様々なドメインにわたるクロスドメインで構築される階層型ワークフローエンジンフレームワークを提案し、これらの階層型ワークフローエンジンフレームワークを介してワークフローを制御するシステムに関するものである。
【0239】
本発明のエンジンフレームワークは、クロスドメインでモノのインターネットの端末(例えば、センサー)から発生する大量のデータを各ドメインの要求に応じて低遅延のデータ分析及び処理が可能であり、効率的なワークフロー分散実行及び制御を提供する。
【0240】
また、本発明は、ドメイン内のエッジシステム間の連動により、ワークフローを処理したり、他のドメインに位置したエッジシステム間の連動によりワークロードを分散し、ワークフローを処理する知能型制御システムを提供する。特に、様々な異種デバイスに適用される異種のエッジシステム間の相互作用や協力などの連動を提供し、エッジシステムからクラウドサーバに至る垂直的階層構造だけでなくエッジシステム間の水平的階層構造を支援して速いデータ処理及びアクションが要求されるサービスドメインにも適用可能である。また、エッジシステム間のデータパイプラインの設定及び他のエッジシステムのエンジンを直接活用するなど有機的ワークフローエンジンフレームワークを支援する。
【0241】
本発明は、クロスドメインで有機的に作動するワークフローエンジンフレームワークを構成して、低遅延、高品質のサービスURLLC(Ultra‐reliable and low latency communication)を提供し、多数のIoTデバイスから発生するデータを効率的に処理できるようmMTC(Massive machine type communications)などの要求事項を支援する。このため、エッジシステムからクラスターサーバ群及びクラウドサーバに至る階層型ワークフローエンジンフレームワークを提供する。また、必要に応じてエッジシステムだけで独立的なIoEドメイン環境を構築することができる。階層型ワークフローエンジンフレームワークは、共用のインターネット上のクラウドインフラを用いて構築されるクラウドサーバと、各ドメインの中央でビッグデータの処理及びディップラーニングのような知能型データ処理を行なうクラスターサーバ群と、そしてセンサデータを直接接続、収集及び処理するためのエッジシステムで構成する。
【0242】
具体的には、本発明は、各ドメインサービス支援のために分散されて構築されるエッジシステムと中央の大規模なコンピューティングのためのクラスターサーバ群にワークフローエンジンフレームワークを構築する。特に、本発明は、低遅延のデータ収集と迅速な分析及び処理のためのワークフローをエッジシステム独立的に実行させたり、必要に応じてワークフローを分散させてエッジシステムと中央のクラスターサーバ群上で分散して行なうことができる。このため、本発明は、エッジシステム間に又はエッジシステムからクラスターサーバ群まで、さらにはクラウドサーバまで至る動的なデータパイプラインを構築し、ワークフローを実行するために必要なエンジンを制御及び管理する。
【0243】
また、本発明は、各ドメイン上に構築可能な知能型制御システムを提案する。知能型制御システムは、エンジンコンポーネントを階層的に使用できるように、階層的なデータパイプラインの構築及び制御を提供する。また、知能型制御システムは、エンジンインスタンスに対するネーム情報を登録し、ネーム情報をはじめとするエンジン情報を保存及び管理する。さらに、知能型制御システムは、他のドメインに位置するエッジシステム間にエンジンインスタンスをダウンロードして使用(例えば、モデルサービング)できるようにする。つまり、知能型制御システムは、サービスの要求事項に応じて、データパイプラインを動的に構成してエッジ‐to‐エッジをはじめとした様々な階層型構造を持つワークフローエンジンフレームワークを構築することができる。これにより、本発明は、ドメインエッジシステム間の直接連動により低遅延のデータ分析を提供し、中央のクラスターサーバ群又はクラウドサーバの助けを借りずにワークフローを処理することができる。
【0244】
さらに、本発明は、エッジ‐to‐エッジの独立的エッジフレームワークを活用するシナリオを拡張して、エッジ‐to‐エッジ‐to(エッジの繰り返し)などの有機的ワークフロー形態を構成することができる。
【0245】
また、本発明は、クロスドメインを支援するために、クラウド融合システムを構築し、クラウド融合システムを含む階層型ワークフローエンジンフレームワークを提供する。本発明に係るクラウド融合システムは、各ドメインで処理されたデータ又は人工知能(又は機械学習)モデルを再活用し、分析されたデータをさらにビッグデータ処理して新しい結果を導出することができ、クロスドメイン環境に構築されているエッジシステム - クラスターサーバ群間にソースデータ及びエンジンコンポーネントを共有するための階層型連動方法を提供する。この過程で、本発明に係る知能型制御システムを活用する。
【0246】
結論として、本発明の階層型ワークフローエンジンフレームワークは、、垂直的な階層型ワークフローエンジンフレームワークを基本的に構成して、クロスドメインでのエンジンコンポーネント及びソースデータを活用することができ、さらに超低遅延のサービス及び知能型IoEサービス支援のための水平的な形態のエッジ‐to‐エッジワークフローフレームワークを柔軟に構成することができる。
【0247】
一方、本発明の実施例に係る階層型エンジンフレームワークに基づいたクロスドメインワークフロー制御システムは、コンピュータシステムで具現されるか、又は記録媒体に記録されることができる。コンピュータシステムは、少なくとも一つ以上のプロセッサと、メモリと、ユーザ入力装置と、データ通信バスと、ユーザ出力装置と、ストレージを含むことができる。前述したそれぞれの構成要素は、データの通信バスを介してデータ通信を行う。
【0248】
コンピュータシステムは、ネットワークにカップリングされたネットワークインターフェイスをさらに含むことができる。プロセッサは、中央処理装置(central processing unit(CPU))であるか、あるいはメモリ及び/又はストレージに保存されたコマンドを処理する半導体装置であっても良い。
【0249】
メモリ及びストレージは、様々な形態の揮発性あるいは不揮発性記憶媒体を含むことができる。例えば、メモリはROM及びRAMを含んでも良い。
【0250】
従って、本発明の実施例に係る階層型エンジンフレームワークに基づいたクロスドメインワークフロー制御システムは、コンピュータで実行可能な方法で具現されることができる。本発明の実施例に係るワークフロー制御方法は、コンピュータ装置で実行されるとき、コンピュータに読み取り可能なコマンドが、本発明に係るワークフロー制御方法を実行することができる。
【0251】
一方、前述した本発明に係るワークフロー制御方法は、コンピュータで読み取り可能な記録媒体にコンピュータが読み取り可能なコードとして具現されることができる。コンピュータが読み取り可能な記録媒体には、コンピュータシステムにより読み取られるデータが保存されたすべての種類の記録媒体を含む。例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、磁気テープ、磁気ディスク、フラッシュメモリ、光データ保存装置などであっても良い。また、コンピュータで読み取り可能な記録媒体は、コンピュータネットワークに接続されたコンピュータシステムに分散されて、分散方式で読み取ることのできるコードとして保存され実行されることができる。
【0252】
一方、本発明の実施例において、各構成要素、機能ブロック又は手段は、一つ又は一つ以上の下部構成要素で構成されてもよく、各構成要素が行う電気、電子、機械的機能は、電子回路、集積回路、ASIC(Application Specific Intergrated Circuit)など公知された様々な素子又は機械的要素で具現されてもよく、それぞれ別個に具現されたり、2以上が一つに統合されて具現されても良い。
【0253】
また、添付されたブロック図の各ブロックとフローチャートの各ステップの組み合わせは、コンピュータプログラムインストラクションにより行われても良い。これらのコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、ポータブルノートパソコン、ネットワークコンピュータ、スマートフォンなどのモバイル機器、オンラインゲームサービス提供サーバ又はその他のプログラム可能なデータ処理装置のプロセッサに載せることができるので、コンピュータ装置、又はその他のプログラム可能なデータ処理装置のプロセッサにより行われるそのインストラクションが、以下で説明するブロック図の各ブロック又はフローチャートの各ステップで説明された機能を実行する手段を生成することになる。前記コンピュータプログラムインストラクションは、特定の方法で機能を具現するために、コンピュータ装置、又はその他のプログラム可能なデータ処理装置を指向できるコンピュータ装置に利用可能なメモリ又はコンピュータ読み取り可能なメモリに保存されることも可能なので、ブロック図の各ブロック又はフローチャートの各ステップで説明された機能を行うインストラクション手段を内包する製造物を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータ装置、又はその他のプログラム可能なデータ処理装置上に載せられることも可能なので、コンピュータ装置、又はその他のプログラム可能なデータ処理装置上で一連の動作ステップが行なわれるためのプロセスを生成してブロック図の各ブロック及びフローチャートの各ステップで説明された機能を実行するためのステップを提供することも可能である。
【0254】
また、各ブロック又は各ステップは、特定の論理機能(複数可)を実行するための一つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を示すことができる。また、いくつかの代替実施例では、ブロック又はステップで言及された機能が手順を外れて発生することもあり得ることに注目しなければならない。例えば、相次いで図示されている二つのブロック又はステップは、実際、実質的に同時に行なわれることも可能であり、又はそのブロック又はステップが時折該当する機能に応じて逆順に行なわれることも可能である。
【0255】
本発明の実施例において、コンピューティングシステム、コンピューティング装置、システム、サーバ、サーバ群、電子装置、又は、各種装置とは、デスクトップコンピュータ、ノートパソコン、スマートフォン、PDA、携帯電話、ゲーム機などのデータを収集、読取、処理、加工、保存、表示できるすべての計算手段を意味し、これらは読取り可能なコードで作成されたソフトウェアを実行させることができ、これをユーザに表示して伝達できる機能を有する装置である。また、必要に応じてソフトウェアを独自に保存したり、又は外部からデータと一緒に読み込むこともできる。
【0256】
本発明におけるサーバ又はサーバ群は、例えば、単一のサーバコンピュータ又はこれと類似のシステムであるか、又は一つ以上のサーババンク又はその他の配列に配列される複数のサーバであっても良い。サーバ又はサーバ群は、単一の施設に置かれることもあり、あるいは多くの相異する地理的位置間に分散されることもある。各サーバは、プロセッサ、通信インターフェイス及びメモリを含むことができる。プロセッサ、メモリ、及び通信インタフェースは、通信バスを介して互いに接続することができる。
【0257】
また、本発明の実施例におけるコンピューティングシステム、コンピューティング装置、システム、サーバ、サーバ群、電子装置又は各種装置は、データ処理機能だけでなく、入力、出力、保存などの機能が含まれており、このため、一般的なコンピュータ装置が持つCPU、マザーボード、グラフィックカード、ハードディスク、サウンドカード、スピーカー、キーボード、マウス、モニター、USB、通信モデム等の各種要素だけでなく、無線スマートフォン端末が持つCPU、マザーボード、グラフィックチップ、メモリチップ、サウンドエンジン、スピーカー、タッチパッド、USBなどの外部接続端子、通信アンテナ、3G、LTE、LTE‐A、WiFi、ブルートゥースなどの通信を具現できる通信モデムなどを含むことができる。前記各種の要素が、単独で又は2以上が一緒に、又は各種の要素の一部分が結合されて一つ又はそれ以上の機能を具現することができ、本発明の実施例において図面や詳細な説明の一つ又はそれ以上のブロックで表示される装置又はその一部分は、各種要素が単独で又は2以上が一緒に、又は各種要素の一部分が結合されて一つ又はそれ以上の機能を示すことを意味することができる。
【0258】
これまで本発明を実施例を中心に説明したが、本発明の属する技術分野において通常の知識を有する者は、本発明が本発明の本質的な特性から逸脱しない範囲で様々に変更又は変形された形で具現されることを理解できるであろう。よって、開示された実施例は、限定的な観点ではなく、説明のための例示的な観点から考慮しなければならない。本発明の範囲は、前述した説明ではなく、請求の範囲に示されており、それと同等の範囲内にあるすべての相違点は、本発明に含まれるものと解釈されなければならない。