• Nenhum resultado encontrado

Real-Time Workflow Management Service based on an Event-driven Computational

N/A
N/A
Protected

Academic year: 2024

Share "Real-Time Workflow Management Service based on an Event-driven Computational"

Copied!
61
0
0

Texto

This study presents an approach that helps discover and visualize event-based application behaviors. Furthermore, due to the existence of connections between storlets in VISION, problems such as deadlock triggering and unexpected overwriting appear as side effects.

Event-Driven Computing Systems

Introduction

ECA-rule based Workflow Visualization Model

Cloud Storage

Distributed File Systems

A distributed file system is a network file system whose clients, servers, and storage devices are distributed among the machines of a distributed system or intranet. A fully distributed file system can handle metadata operations, file locking, and memory management tasks by distributing operations across all nodes in the cluster.

Distributed Object Storage Systems

When a limited number of nodes in a file system go offline, the system continues to operate without data loss or unavailability. Notable approaches and implementations are: General Parallel File System (GPFS)[7], Lustre[8], Google File System (GFS or GoogleFS)[9], Hadoop Distributed File System (HDFS)[10] and Parallel Virtual File System ( PVFS[11].

Distributed Data Management Systems

Distributed object stores support wide distribution of data and access to data with high availability, even in the presence of frequent node failures. Notable existing commercial distributed object storage systems are Amazon Simple Storage Service (S3)[12], Google Storage[13], Windows Azure Storage[14] and EMC Atmos[15].

Introducing: VISION Cloud Project

Introduction

Storage Aspect

Event-driven Computing in VISION

In contrast, storlets in VISION are created from a template by authorized users who may not have programming experience. Additionally, when a storlet runs inside a container, it cannot be triggered by events that occurred in other containers.

Motivation and Problem Statement

Problem Scope

Due to the fact that the storlet code is a potential black box and the definition of storlets provides partial information, there is a need for runtime information. It is an advantage to discover potential problems before running them, such as a compiler, but the runtime information must be provided.

Related Work

These tools differ from this design approach in that they do not address causal relationships between events that are dynamically created at runtime with other parts of the system, but instead analyze static descriptions of systems to provide various properties. The results of these fields agree that in the general case it is difficult to determine exact causation.

Data Model

Data Object

VISION Cloud is a powerful ICT infrastructure for reliably and effectively delivering data-intensive storage services, facilitating the convergence of ICT, media and telecommunications.

Metadata

Data Operations

Computational Storage

  • Storlet
  • Storlet Template
  • Programming Enviroment
  • Usecase Example of Storlet Creation

It asserts that there must be an attribute key-value pair in the metadata that contains the same key as the constraint, and that key-value attribute of the metadata also contains the same value as the constraint value. The regular expression format constraint value is enforced in the standard regular expression format followed by an identifier symbol. Again, the constraint requires that there be a key-value attribute in the metadata that has the same key as the constraint, and the value of that attribute corresponds to the regular expression rule specified as the constraint value.

In a special case, if the value of a constraint appears as NULL, it means that the constraint is satisfied if a key-value attribute with the same key exists in the metadata, regardless of the value. And later the same biglet in the system put the tag 'Topic' on Obj1 with value "Science".

Execution Environment

In general, there are two main purposes for users to understand the observed workflow and in addition to understand the behavior in the system. The first purpose is that if the user wants to inject a storage tab workflow into the system to complement an existing workflow or isolated tabs and the other is that he wants the injection of a new tab workflow independent of existing tabs keep. The injection of a single storlet into the system is a specific case of the two purposes.

Workflow Validation

Problems and approaches to solutions 18 To conclude, the problems of the workflow of the century have been formulated and classified into three main categories; incorrect connection, disconnection and unexpected overwriting. Assuming that the existing storks in the container are well designed, this problem can exist both in newly created workflows and in the connections between new workflows and existing storks. For example, the user does not expect the new storlet workflow to connect to other existing storlets.

Imagine that magnitude A was triggered by X and wrote in system Y, but magnitude B was triggered on Y and wrote in system Z and finally magnitude C was triggered on Z and wrote in system X, then again magnitude A was triggered. Also, as we mentioned above, a storlet can contain multiple trigger handlers, and if these handlers form a cycle, non-termination of execution problems will occur.

Figure 3.1: Non-Termination Case Example
Figure 3.1: Non-Termination Case Example

Approaches

Introduction

Because of the large number of event messages captured by the appropriate log returns in the system, there is a need to define a way to read, process, or translate the log file that consists of structured text data.

Log Structure

Connection Classification

  • Motivation
  • Connection Types
  • Underlying Methodologies
  • Algorithm

A user can easily modify the storlet parameters to improve a partial trigger to complement or eliminate possible unexpected connections between storlets. In order to formulate the relations between different types of connections with logical consequences, it is presented as "full cause" means "partial cause". Classification Algorithm 1 is used to distinguish a link of two different types: full trigger or partial trigger.

If there is a logical implication of the current conjunction to the condition expression, the connection type of the current conjunction is set to "full trigger" and the algorithm enters the next loop. If there is no full trigger, but only partial trigger(s), the connection is defined as a partial trigger.

Expression Matching

  • Introduction
  • Underlying Methodologies
  • Value-based Matching
  • Expression Analysis Algorithm

If an implication exists, the algorithm announces that the current disjunction fraction of result with a partial trigger connects to trigger state, and then enters the next loop. Until all the characters of the lower limit value have been compared, if there is still no result, but the DFA can produce more characters, it means that the DFA can produce a larger string, the regular expression covers the sequence value. If there is a logical implication between storlet B result expression and storlet A trigger condition expression, they are assumed to be causally related.

Therefore, T2 can follow T3 and in this case there is a partial sequence of events. In Algorithm 2 (e.g. lines of code 35-37) if there is a full trigger for an activation, it exits the loop and continues to the next activation, but if it is partially triggered (e.g. lines of code 38- 39) keeps looping legitimate until the chain of statements meets its trigger condition.

Figure 4.1: Regular expression modelled by DFA example.
Figure 4.1: Regular expression modelled by DFA example.

Graph Visualization

Motivation

Visualization tool: GraphStream

The system detects a new creation or insertion of a text file and the TopicClassifier storlet is activated, which performs text analysis to find the general topic of the text (eg science, art, etc.). The video file in MP4 format and with H.264 codec can be supported by all modern smartphones. After the reporter finishes his story, the video clip from the news story should be available for download by the public.

When a new video file is saved and not in MP4 video format, VideoTranscoding torrent will automatically convert it to MP4 format. Finally, when the video file is ready, mobile users can watch it from their smartphones.

Log file simulation for usecases

Nowadays, with the exponential increase in the number of smartphone users, watching high-quality videos over the Internet on phones is becoming a trend these days. However, as lightweight portable devices, smartphones only support a limited set of file formats, so there is an urgent need to convert incompatible files into appropriate formats for proper delivery. In this case, the media company wants to provide a high quality of service for its users, so it decides to use VISION Cloud based on its needs.

Therefore, it injects a set of storlets into the same container to help it automatically resolve compatibility issues for mobile users. Storks are created and stored in a container, and when their trigger conditions are met, they go from a dormant state to an activated state.

Workflow Visualization

Workflow construction and connection checking

An optimization could be followed by an independent system parameter introduced and discussed in section 4.3.4. Using the log file from section 5.1.1 and as proof of the statement from the above paragraph, T2 is the result event timestamp of the 'Science Classifier' handler and T0 is the activation timestamp of the 'Computer Science Classifier' handler. Looking at the above log, the put event of 'Science Classifier' follows the trigger event of 'Computer Science Classifier', but that was the reason why the 'Computer Science Classifier' torlet was triggered, and for some reason the event has been postponed and registered at a later time.

Parsing the log file using the workflow engine without a time frame value will not result in a link between these two centuries, but using a higher time frame value there is a link as shown in Figure 6.1. In Figure 6.2 illustrated below, the above statement can be confirmed by the fact that as the value of the parameter increases, the performance of the algorithm becomes relatively low as the execution times increase.

Workflow Service Design Models in VISION Cloud

  • Continuous design model
  • On-demand design model
  • Optimized Continuous design model
  • Optimized On-demand design model

The number of messages that will be sent, which is the load on the network, depends on two factors; the number of machines and the size of the data to be sent. Moreover, the processing power of the centralized machine that builds the workflow model and the impact on the network is twice the number of machines involved and the amount of data sent. The amount of messages sent can be dialed down by removing a bit-message overhead of the system.

It trades in something that is not very interesting; response delay. In general, network traffic should be minimized and the impact of the workflow service on the system should be kept to a minimum.

Figure 6.3: Continuous Model.
Figure 6.3: Continuous Model.

Storlet Lifecycle

Storlet Execution Environment

Non-Termination Case Example

Regular expression modelled by DFA example

Events with timestamps from a log file example

Snapshots of a Dynamic Graph on the time interval [0, 2

The GraphStream viewer

Graph visualization of text analysis chain and media chain

Graph visualization with and without timeframe use

Algorithm execution times using a timeframe

Continuous Model

On-demand Model

Optimised Continuous Model

Optimised On-demand Model

Referências

Documentos relacionados