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.
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.
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.
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