Thomas Ropars
email: thomas.ropars@irisa.fr

Emmanuel Jeanvoine
email: emmanuel.jeanvoine@irisa.fr

Christine Morin
email: christine.morin@irisa.fr

Providing QoS in a Grid Appication Monitoring Service

Keywords: grid computing, application monitoring, QoS, Vigne

Monitoring distributed applications executed on a computational Grid is challenging since they are executed on several heterogeneous nodes belonging to different administrative domains. An application monitoring service should provide users and administrators with useful and dependable data on the applications executed on the Grid. We present in this paper a grid application monitoring service designed to handle high availability and scalability issues. The service supplies information on application state, on failures and on resource consumption. A set of monitoring mechanisms are used according to grid node nature to effectively monitor the applications. Experiments on the Grid'5000 testbed show that the service provides dependable information with a minimal cost on Grid performances.

Résumé : Superviser des applications distribuées s'exécutant sur une grille de calcul est compliqué dans la mesure où ces applications s'exécutent sur plusieurs noeuds hétérogènes appartenant à différents domaines d'administration. Un service de supervision d'application doit fournir aux utilisateurs et aux administrateurs des données fiables sur les applications qui s'exécutent sur la grille. Nous présentons dans ce papier un service de supervision d'applications pour grille conçu pour traiter les problèmes de haute disponibilité et de passage à l'échelle. Ce service fournit des informations sur l'état des applications, sur les défaillances et sur les consommations de ressources. Un ensemble de mécanismes de supervision sont utilisés en fonction de la nature des noeuds de la grille pour superviser de manière efficace les applications. Les expériences menées sur la plate-forme d'expérimentation Grid'5000 montrent que le service fournit des informations fiables avec un coût minimal sur les performances de la grille.

Mots clés : grid computing, supervision d'applications, QoS, Vigne 1 Introduction

Computational grids [START_REF] Foster | Computational grids. The grid: blueprint for a new computing infrastructure[END_REF] bring together a great number of computing resources possibly distributed on several administrative domains. They can provide the amount of resources needed for High Performance Computing (HPC). But executing and managing distributed applications on grids is a challenge since grid nodes are heterogeneous and volatile. Inherently to the grid nature, grid services must provide the user with dependable and consistent services to ease grid use.

In this paper, we present GAMoSe, a grid application monitoring service. The goal of this service is to facilitate the execution and the management of applications on grids by providing information on application execution. The architecture of GAMoSe has been designed to handle grid specificities, i.e. node volatility , node heterogeneity and grid scale, to provide quality of service (QoS) for users. QoS is also ensured by the accuracy of the monitoring mechanism that can provide dependable information on the state of the applications, resource utilization and failure detection. Furthermore GAMoSe is totally transparent for applications and for the operating system of grid nodes.

The rest of the paper is organized as follows. In Section 2, we present the context of our work. Section 3 exposes the requirements and the information GAMoSe should provide. The architecture and the communication model of the service are presented in Section 4. Section 5 describes the QoS provided for grid users. In Section 6, we present implementation details on monitoring mechanisms. GAMoSe has been integrated into the Vigne Grid Operating System [START_REF] Jeanvoine | Using overlay networks to build operating system services for large scale grids[END_REF][START_REF] Rilling | Towards a Self-Healing Grid Operating System[END_REF]. An evaluation of the service is presented in Section 7 and Section 8 describes related work. Finally, we draw conclusions from this work in Section 9.

Context

In this section, we expose the context of our work and the assumptions we made. We also define some terms we use in this paper.

Grid Model

Computional grids bring together a great number of computing resources distributed over many administrative domains. In this study, we consider grids with an uncountable number of nodes. A grid node can be a Linux PC or a cluster which is also seen as a single node from a grid point of view. A cluster can operate with a Single System Image (SSI) or with a batch scheduler. As the goal of an SSI is to give the illusion of a single SMP machine, we consider that a SSI cluster is equivalent to a Linux PC at grid level: we call them Linux nodes. A grid is a dynamic system in which nodes can join or leave at any time and where failures can occur. Failures can be node failure or failure of a communication link.

Each node of the grid has its own local Operating System (OS). To provide services at grid level, a Grid Operating System (GOS), Vigne for instance, is executed on each node on

PI n˚1831

Ropars & Jeanvoine & Morin top of the local OS. A GOS provides services like resource discovery and allocation or job management. This paper focuses on an application monitoring service.

Application Model

A distributed application can make use of resources provided by the grid since it can run on several nodes. Our service targets this kind of application.

We call application components the different parts of a distributed application. An application component runs on a single grid node, as illustrated on Figure 1, and can be composed of one or many processes. These processes may be created dynamically during the execution. Several application components, which can belong to different applications, can be executed concurently on the same node.

Requirements

To have a global view of GAMoSe, we first detail the information it provides and study the usefulness of this information. In the second part of the section, we deal with the properties of the service. In a last part, we explain why we want the monitoring mechanisms to be transparent.

Irisa

Definition of the Service

The goal of a grid application monitoring service is to provide data on the execution of applications in the grid. The information provided by GAMoSe is the state of the application, information on failures and the among of resources utilized.

State of the Application Components

The best way to give information on the state of a distributed application is to give the state of each application component. GAMoSe does not try to compute a global state for the application since it would not be pertinent. For example, if the state of a distributed application is running, it could mean that all application components are waiting for resources to execute except one which is already running. It could also mean that all components have finished executing except one which is still running.

The state of an application component qualifies its evolution on the node it has been submitted to. However, GAMoSe cannot give the percentage of computation executed because this evaluation can only be done by instrumenting the application code and this does not meet the constraint of transparency exposed in Section 3.3. The state of the application components enable the user to keep an eye on the evolution of the applications she has submitted to the grid.

Failure Detection Determining the state of application components also includes failure detection. As we saw in Section 2.1, failures of grid nodes or communication links can occur. These failures need to be detected because it can induce an issue for the global application achievement if they affect nodes where application components were running. Application components can fail for many other reasons, a bug in the application code or the reception of a signal like SIGKILL for instance.

Providing information on failures is mainly useful for grid application management. Section 5.2 details how accurate information on application failures can be used to improve application management.

Resource Consumption

The resource consumed by an application during its execution must be evaluated. GAMoSe measures CPU time utilization and memory usage. Measuring resource consumption is useful for accounting. It can also help administrators to evaluate the level of use of their resources.

Service Properties

GAMoSe has to deal with the grid specificities presented in Section 2.1, to ensure a high and constant QoS.

High Availability: Grid nodes are unreliable due to disconnections and failures. GAMoSe should be highly available and provide accurate information despite reconfigurations.

PI n˚1831

Scalability: A multitude of applications can potentially run simultaneously on the grid. Monitoring all these applications will generate a large amount of data. Dealing with this amount of data should impact neither the service performance nor the grid performance.

Accuracy: On each node of the grid, the monitoring of the application components must be as precise as possible according to the specificities of the local OS. The failure of one process can induce the failure of an application component. That is why the application monitoring service has to monitor all application processes, even those created dynamically.

Constraint: Transparency

For several reasons, we have added a constraint to the monitoring mechanisms used: they should be transparent for the applications and for the local OS. First of all, GAMoSe must be transparent for the applications in order to work with legacy codes. It must support applications that were not initially designed to be monitored by the service. That is why it should require no modifications in the applications and no relinking.

Moreover GAMoSe must be transparent for the local OS since modifying an OS is a complex task that induces unwanted effects. First, resource owners will probably not share their resources on the grid if it has an impact on their operating system. Then, a resource in the grid can also be used by a local user outside the grid context. In this case, she probably does not care about grid features.

Design Principles

Requirements detailed in Section 3.2 have to be taken into account when designing GAMoSe. The architecture of the service and the communication model must provide support for scalability and high availability.

Architecture

Dealing with node failures is the most difficult case to ensure high availability of the service. Therefore, no node should have a central function to avoid a single point of failure issue that would compromise the entire service. Futhermore, GAMoSe must be able to manage efficiently large amount of data. Thus, a distributed architecture is the appropriate solution to overcome these issues.

The architecture of the service is presented in Figure 2. Two types of entity compose the service: application monitors and component monitors. In this example, two applications, each composed of two application components, are monitored. Component monitors are not represented on nodes hosting application monitors, even if one is present. Ropars & Jeanvoine & Morin

¡ ¡ ¢ ¡¢ ¢ ¡¢ £ ¡£ £ ¡£ £ ¡£ £ ¡£ ¤ ¡¤ ¤ ¡¤ ¤ ¡¤ ¤ ¡¤ ¥ ¡¥ ¥ ¡¥ ¦ ¡¦ ¦ ¡¦ § ¡ § § ¡ § § ¡ § § ¡ § ¡¡ ¡ ¡ ¨© ¡© ¡© © ¡© ¡© ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Grid Node Grid Node Grid Node Grid Node Grid Node

Application Monitor

Each application has its own application monitor. An application monitor is created when an application is submitted to the Grid OS and is destroyed after the end of the application execution. The application monitor collects the monitoring information about each component of the application and compute the application resource consumption. To collect information, application monitors have to interact with component monitors.

In the system, the nodes are organized in a structured overlay network. Thus, each node has a location independent name. Thanks to key based routing (KBR), it is possible to communicate with any node if its logical name is known. Furthermore, a distributed hash table (DHT) service is built on the top of the structured overlay. This DHT service has several channels, particularly an application monitor channel. As a consequence, an application monitor can be reached from anywhere in the network only by knowing its logical name. The logical name is obtained during the submission of the application, is unique and is independent of the application submission node. The overlay network features of the system are described in [START_REF] Jeanvoine | Using overlay networks to build operating system services for large scale grids[END_REF].

Component Monitor

There is a component monitor on each node of the grid. The function of the component monitor is to monitor all application components executed on the local node. So a component monitor is not dedicated to an application. The data collected by the component monitor are stored on the local node in a storage unit associated to the monitor. The storage is local to limit network communications because monitoring data are typically more frequently updated than read. Moreover, storing the data locally distributes the amount of monitoring data to store among all the nodes of the grid. The component monitor communicates with the application monitor through the communication model described in Section 4.2.

Communication Model

Network is a critical resource as components of distributed applications need to communicate with each other. Thus, the network bandwidth used by grid services must be minimal.

Notification To get information about a component, the application monitor could periodically send a request to the concerned qcomponent monitor. But this method induces useless communications if the information on a component has not changed since the last update. To reduce these useless communications, we introduce a communication model based on notifications. In this model, communications are initiated by the component monitors. When a component monitor detects an important change in the state of a component, it notifies this change to the application monitor and through the same message, it updates also the resource consumption of the component. The important changes that are notified are the beginning and the end of the execution and the application failures.

Irisa

Query/Response Query/response is the communication model used between users and application monitors. The user can send a request to the application monitor that monitors her application. The application monitor forwards this request to the concerned component monitors to get the updated information about resources consumption of each application component and then sends the response to the user.

5 How GAMoSe Provides Grid Users with QoS?

GAMoSe provides the grid system with the ability to harvest application executions. This section presents the benefits for the grid users to use GAMoSe.

High Availability of the Monitoring Service

The first step to provide users with a high QoS level is to ensure the high availability of the monitoring service. Thus, the service must be resilient to nodes failures induced by the dynamic behavior of the grid.

Nodes failures are handled by the application monitor (see Section 4.1.1). Two cases may happen.

First of all, a failure may occur on a node hosting an application component. The failure implies losses of information concerning resources utilization. Such losses are not an issue, if we assume that a grid user should not pay for the utilization of resources that sustained failures. Otherwise, the losses can be avoided by regularly sending utilization reports to the application monitor.

Then, a failure may occur on a node hosting the application monitor. Because the application monitor is a key component for GAMS, it must live through failures.

As stated in Section 4.1.1, the application monitor is based on a structured overlay network with a DHT. A mechanism of group communication built on the top of the structured overlay allows to send messages to a group of replicas. The messages sent to an application monitor are atomically multicast to the group of replicas of the application monitor. The application monitors are actively replicated. The consistency of the replicas is ensured since the application monitors rely on a deterministic automaton. The nodes hosting the replicas are automatically chosen using the DHT service. As a consequence, with the help of group communications and duplication facilities of the DHT, the application monitors is highly available. More details of the self-healing properties of the application monitor are presented in [START_REF] Rilling | Towards a Self-Healing Grid Operating System[END_REF].

QoS Provided to Grid Users

Reliable Application Execution

GAMoSe provides two mechanisms to execute applications reliably. Indeed, it handles coarse-grained failures that are failures of nodes and it handles fine-grained failures that are process failures.

PI n˚1831

In case of a node failure, the application monitor is able to detect it. Indeed, the application monitor has an heartbeat mechanism to check that the nodes used by the application components are alive. So, when the application monitor detects the failure of a node used by an application component, it applies a fault tolerance policy like restarting the application component on another node from scratch or from a checkpoint.

Several circumstances may lead to failures in application executions. Some issues are induced by errors in the application code so nothing can be done to achieve a correct execution. However, some issues are induced by the execution context. For instance, if an application uses a shared /tmp directory that becomes full, the application is killed if it tries to write a file. Thus, if this application is restarted to another node, its execution is likely to be correct.

The component monitor (see section 4.1.2) is able to deal with this kind of failure. Indeed, it monitors the execution of every application processes and detects any abnormal termination. Thus, on detecting an abnormal termination, the component monitor notifies the application monitor that will be able to apply a fault-tolerance policy as described above.

Ease Problem Diagnostics

In the event of an application failure, some issues depend on the execution context and some other depend on errors in the code. In this latter case, the component monitor is useful because it can detect the reason for the failure, for instance, the signal sent to the application or the error code. Then, the grid user can be informed of the reason for the failure and possibly fix the code of her application.

Accuratly Account the Resources Utilization

In production grids where resources are hired to consumers, the accuracy of the resource utilization measure is a necessary condition to fairness. In this way, the component monitor (see Section 4.1.2) provides fine-grained information about resource utilization. Indeed, by monitoring each process creation and termination, GAMoSe measures accuratly the CPU and memory resources used by an application. If Service Level Agreement (SLA) are used in the grid, those measurements can help services that have to control the respect of agreements [START_REF] Keller | Managing Dynamic Services: a Contract Based Approach to a Conceptual Architecture[END_REF].

According to the accounting policy, as stated in Section 5.1, information locally stored on a node may be lost or not. If utilization information must be kept, a tradeoff must be found between the frequency of sending local information to the application monitor and the bandwidth cost.

Implementation

We have implemented a prototype of GAMoSe and integrated it into Vigne. In this section, we first briefly present this prototype. Then we focus on monitoring of application Irisa components. We describe the monitoring mechanisms that we use according to the local OS.

Integration to Vigne

Vigne [START_REF] Jeanvoine | Using overlay networks to build operating system services for large scale grids[END_REF][START_REF] Rilling | Towards a Self-Healing Grid Operating System[END_REF] is a GOS for large scale grids with heterogeneous and unreliable nodes. Vigne is based on a distributed architecture providing self-healing capabilities.

Vigne is designed to provide a simplified view of a grid for users. Vigne provides services like resource allocation or application management. All these services are built on top of structured and unstructured peer-to-peer overlays. Vigne provides a simple interface for users to enable them to submit jobs and to get information on the job they have submitted.

We have integrated our service into Vigne so that users can get monitoring information on the applications through the user interface of Vigne. Thanks to the structured peerto-peer overlay and KBR, we have been able to easily locate application monitors and to establish communications between application monitors and component monitors.

Monitoring of Application Components

The information on application components must be as precise as enabled by the local system. In this section, we detail monitoring mechanisms used by the component monitors on clusters with batch schedulers and on Linux nodes.

With Batch Schedulers

An application component is submited as one job to a batch scheduler. Every batch scheduler provides information on jobs. They give the state of the jobs, including fail state, and most of them also give data on resource utilization. So, the only work for the component monitor is to retrieve the information provided by the batch scheduler. Due to DRMAA [START_REF]Distributed Resource Management Application API[END_REF], we can have the same interface for every batch scheduler and also get uniform information.

Many batch schedulers only monitor the first process of a job. So the monitoring can be inaccurate, especially for failure detection, if application components create new processes dynamically. However, we do not want to modify batch schedulers to improve monitoring because of the constraint of transparency expressed in Section 3.3.

On Linux Nodes

On Linux nodes, i.e. Linux PC or SSI clusters, the monitoring service can monitor processes. For each application component executing on a node, the component monitor of this node must know at any time the identity of each process belonging to an application component to be able to give accurate information on resource utilization or to detect failures. The problem is that, from an external point of view, creation and termination of processes are not governed by any rule. This means that new processes can be created or terminated at any time during the execution of the application component.

PI n˚1831

Using the process group ID of Unix systems can be a simple solution to identify every process of an application component but this solution is not reliable because programmers can change the process group ID of a process with the setpgid system call.

By intercepting the systems calls implied in process creation and termination, we can get the information we need for process monitoring:

fork is called to create a child process. Intercepting fork enables to know the new processes created.

exit terminates the current process. Intercepting exit enables to know the processes terminating.

waitpid waits for the state of a child process to change, i.e. the child process has terminated or the child process was stopped by a signal. Intercepting waitpid enables to know processes ending and how they end.

Using LD PRELOAD, we wrap the libc functions corresponding to these three system calls with monitoring code. This code transfers useful information to the component monitor when one of these system calls is used by an application component. We can see this mechanism as the generation of an event on the execution of these system calls. Thus the component monitor is aware of each dynamic process creation and can detect when and how processes terminate. The main limitation of this solution is that LD PRELOAD can not be used with statically linked applications. As LD PRELOAD is set just before executing an application component, our code is used only by the processes of the application component. So the parent process of the first process of an application component does not use the wrapped functions. fork and waitpid are not intercepted for the first process since they are called by its parent process: creation and failure of this process are not detected. To overcome this problem, we use a start process. A start process fork to execute an application component. LD PRELOAD is set before executing the start process so that fork and waitpid can be intercepted for the first process of the application component.

Evaluation

The main aspect we want to evaluate is the impact of GAMoSe on performances since we target HPC. Evaluations focus on Linux nodes since the role of the component monitor is very limited with batch schedulers. We first measure the impact of system calls wrapping on application execution time. Then we present an experience made on the Grid'5000 testbed to evaluate the cost of communications inside GAMoSe.

Influence of System Calls Interception on Execution Time

The wrapping of libc functions with LD PRELOAD used to intercept system calls can induce an overhead on the applications execution time. We evaluated this overhead. Our measure-Irisa ments were made on a workstation with a 3.6 GHz Pentium 4 processor and a 2.6.14 Linux system.

We executed an application which creates 100 processes. Each of these processes terminates with exit and is waited with waitpid. Each process simulates a computation time with a sleep of n seconds. We measured the execution time of the application with various values of n, with and without the wrapping of libc functions. The results are summarized in Table 1. The execution times are computed as the average over 20 executions. The execution with n=0 shows that the maximum overhead is 15,5%. But this is not a realistic case because our target is scientific applications. So we can assume that processes run longer and have to do some computation. The execution with n=100 is more realistic. In this case, the overhead is only 0.07%. We can conclude that the overhead induced by system calls interception is negligible.

Communication Cost

To evaluate the cost of communications between the entities of GAMoSe, we have executed Vigne on the Grid'5000 testbed. The Vigne daemon has been deployed on 116 nodes spread over 7 Grid'5000 sites: Bordeaux, Lille, Lyon, Orsay, Rennes, Sophia, Toulouse.

We have submitted 464 applications to Vigne and measured the amount of data sent by each high level services of Vigne through the network. Each application is composed of one application component. The results are summarized in Table 2. At the end of the experience, every application components have been executed. Beginning and termination of the components as well as their resource consumption have been notified to the application monitors. In this experience, only the executable of each application component has been transferred, about 12 Ko per application component. This experience shows that the percentage of network bandwidth used by GAMoSe is very small in comparison with the other high level services of Vigne. Furthermore, the total amount of data sent by GAMoSe is small enough to conclude that the cost of the communications inside GAMoSe is very limited.

Related Work

The survey [START_REF] Zanikolas | A taxonomy of grid monitoring systems[END_REF] presents an overview of grid monitoring systems. It identifies scalability as the main requirement monitoring systems. That is why most services are based on a distributed architecture. As our service is dedicated to application monitoring, we have created application monitors which enable to merge the data on a per application basis. This cannot be done in a generic monitoring architecture like the Grid Monitoring Architecture (GMA) [START_REF] Tierney | A Grid Monitoring Architecture[END_REF] for instance. In this case, the user has to develop her own mechanism to aggregate information. Three models of interactions between producers, entities that produce monitoring data like the component monitors, and consumers, entities that receive monitoring data like the application monitors, are supported by GMA: publish/subscribe, query/response and notification. We have used two of these communication models: notification and query/response. Thus the network bandwidth we use for data collection is optimized in comparison with the periodical poll used in Ganglia [START_REF] Massie | Ganglia Distributed Monitoring System: Design, Implementation, and Experience[END_REF] or in the XtremWeb grid middleware [START_REF] Cappello | Computing on large-scale distributed systems: Xtrem Web architecture, programming models, security, tests and convergence with grid[END_REF].

In the field of QoS, monitoring mechanisms used in existing grid systems to monitor applications executed on Linux nodes are not accurate or not transparent. The transparent solution which is mainly used is to scan the /proc pseudo file system to get information on the first process created when executing the application. End of the application is detected when the process disappears from /proc. Although this solution does not allow to monitor processes created dynamically and to detect failures, it is the solution used by the Globus Grid Resource Allocation and Management protocol (GRAM) [START_REF] Czajkowski | A Resource Management Architecture for Metacomputing Systems[END_REF], on which Condor-G [START_REF] Foster | Condor-G: A Computation Management Agent for Multi-Institutional Grids[END_REF] is based, by Nimrod/G [START_REF] Buyya | Nimrod/G: An Architecture for a Resource Management and Scheduling System in a Global Computational Grid[END_REF], by XtremWeb and by Legion [START_REF] Grimshaw | The Legion Team. The Legion vision of a worldwide virtual computer[END_REF]. The OCM-G [START_REF] Balis | Monitoring Grid Applications with Grid-Enabled OMIS Monitor[END_REF] monitoring system or Autopilot [START_REF] Vetter | Real-Time Performance Monitoring, Adaptive Control, and Interactive Steering of Computational Grids[END_REF] enable to accurately monitor applications in grid systems but, in contrast with our approach, they are not transparent for applications since the application code needs to be instrumented.

Conclusion

We have described in this paper GAMoSe, a grid application monitoring service. This highly decentralized service has been designed to scale with the number of applications executed in a large grid and with the number of processes and components in an application. GAMoSe Irisa Providing QoS in a Grid Appication Monitoring Service 15 tolerates node joins and leaves and is highly available despite node or communication link failures. GAMoSe provides dependable information on application, i.e. on failure and resource utilization, especially on Linux nodes where it is able to monitor every process of an application component even dynamically created processes. In contrast with other monitoring systems described in the literature, the accurate monitoringh mechanisms of GAMoSe are completelly transparent for the applications.

Due to the accurate information it supplies, GAMoSe provides QoS to users. It enables to execute applications reliably since node and process failures are detected. In the event of a process failure, GAMoSe reports the cause of the terminaison. The user can thus diagnose the reason for the failure and know if the error comes from the application code for instance. Finally, providing accurate information on resource utilization is very important if grid resources are billed to users.

GAMoSe cannot accurately monitor statically linked applications. It would be possible to monitor those applications if system calls were intercepted at system level. This issue will be further investigated in the framework of the XtreemOS European project [START_REF]The XtreemOS Project[END_REF] targeting the design and implementation of a Linux-based Grid operating system with native support for virtual organizations.

  BEAULIEU -35042 RENNES CEDEX -FRANCE ISSN 1166-8687 1831 PROVIDING QOS IN A GRID APPICATION MONITORING SERVICE THOMAS ROPARS , EMMANUEL JEANVOINE , CHRISTINE MORIN Fournir de la QoS au travers d'un service de supervision d'applications pour grille

Figure 1 :

 1 Figure 1: A distributed application executing in a grid environment

Figure 2 :

 2 Figure 2: Architecture of the monitoring service

Table 1 :

 1 Overhead induced by system calls interception

		Standard	Execution time
	n	execution	with	Overhead
		time	LD PRELOAD
	0 s	0.413 s	0.477 s	0.064 s (15.5%)
	1 s	1.416 s	1.497 s	0.081 s (5.72%)
	10 s	10.418 s	10.483 s	0.065 s (0.62%)
	100 s 100.415 s	100.482 s	0.067 s (0.07%)

Table 2 :

 2 Network bandwidth usage of Vigne high-level services

Ropars & Jeanvoine & Morin


J-P Merlet

Further analysis of the 2-2 wire-driven parallel crane

Keywords:

The 2-2 wire-driven parallel crane is the most simple planar parallel crane actuated by wires with two wires connected at two different points on the platform. We present original contributions on the kinematics of such robot, namely full inverse kinematics, trajectory, static and singularity analysis in the joint space.

Introduction

The 2-2 wire-driven parallel crane has two coilable wires connected at two different points B 1 , B 2 on the platform (figure 1). The wires can be coiled by winches fixed to the ground, whose output points are A 1 , A 2 . Hence, provided that gravity is included, it is a 2 d.o.f. robot that allows to control the planar motion of the platform center of mass G, that lies in the vertical plane that includes A 1 , A 2 (and also includes B 1 , B 2 ). The lengths of the wires will be denoted by ρ 1 , ρ 2 . We will assume that the distance between B 1 , B 2 is smaller than the distance between A 1 , A 2 so that both wires cannot be parallel. To the best of the author's knowledge the kinematics of such a robot has been addressed only in [START_REF] Carricato | Geometrico-static analysis of under-constrained cable-driven parallel robot[END_REF][START_REF] Michael | Cooperative manipulation and transportation with aerial robots[END_REF].

We introduce a reference frame R = (A 1 , x, y) where y is the vertical direction pointing upward. In this frame the coordinates of A 2 are (x a 2 > 0, y a 2 ) and the coordinates of G are (x g , y g ). We also define a mobile frame R m = (G, x m , y m ) and in this frame the coordinates of the B i are (x b i , y b i ).

A rotation matrix R of angle θ is used to get the components in R of a vector whose components is known in R m . Especially the coordinates (x i , y i ) of B i in R are obtained as:

x i = x g + cosθ x b i -sin θ y b i y i = y g + sin θ x b i + cosθ y b i (1)
The length ρ i of wire i is obtained as

ρ 2 i = (x i -xa i ) 2 + (y i -y i ) 2 (2)
J-P. Merlet, INRIA, e-mail: Jean-Pierre.Merlet@inria.fr

1 y x A 2 A 1 B 2 B 1 ρ 1 ρ 2 θ x m y m G wire 1 wire 2
Fig. 1 The 2-2 robot

Let F = (0, -mg, 0, 0, 0, 0) T be the force and torque applied on the platform, where m is its mass and let τ = (τ 1 , τ 2 ) T be vector of tensions in the wires. Static equilib- rium is obtained when

F = J -T τ (3)
where J -T is a 6 × 2 matrix whose ith column J -T i is

J -T i = ( A i B i ρ i GB i × A i B i ρ i ) T ( 4
)
This column is the Plücker vector of the line going through A i , B i while F is the vertical line going through G. Equation ( 3) indicates that at mechanical equilibrium the lines A 1 B 1 , A 2 B 2 and the vertical line going through G span a linear complex i.e. meet at the same point. Note that the coordinate of A i B i along the z axis of R is 0 and consequently (3) admits a reduced form: if F r = (0, -mg, 0) T and J -T r is a matrix whose ith column is (

A i B ix ρ i , A i B iy ρ i , GB ix A i B iy -GB iy A i B ix ρ i
), then we have

F r = J -T r τ (5)
Let us define the 3 × 3 matrix M whose first and third columns are the first and second columns of J -T r , while its second column is F r . If we define α = (τ 1 , -1, τ 2 , then equation ( 5) may be written as Mα = 0. As α is not equal to 0 the mechanical equilibrium condition may also be written as:

|M| = 0 (6)
Note that equations [START_REF] Michael | Cooperative manipulation and transportation with aerial robots[END_REF]6) are only necessary conditions for mechanical equilibrium as we have also to ensure that the tensions in the wires are all positive.

Trajectory, equilibrium condition and inverse kinematics

Let (X i ,Y i ) be the components of the vector GB i in R. The equilibrium condition (6) may be written as

(Y 2 -Y 1 )x 2 g + (X 1 -X 2 )x g y g + (x a 2 (Y 1 -Y2) + y a 2 X 2 + Y 2 X 1 -Y 1 X 2 )x g -x a 2 X 1 y g + X 1 (y a 2 X 2 -x a 2 Y 2 ) = 0 (7)
Hence if θ is fixed (and consequently so are the X i ,Y i ), then G moves along an hyperbola whose principal axes makes an angle φ with the x axis (such that tan(2φ

) = (X 1 -X 2 )/(Y 2 -Y 1 )
) and whose center admits x a 2 X 1 /(X1 -X 2 ) as x coordinate. An analysis of this hyperbola allows one to determine if a given orientation θ is reachable either over the full workspace or at least on part of it. For example the coefficient of y g in (7) cancels for

x g = x s g = x a 2 X 1 /(X 1 -X 2 ); consequently if x s g ∈ [0, x a 2 ]
, then the workspace is separated into two components and it is not possible to maintain the given orientation over the workspace of the crane. Note that the equilibrium condition (7) is a function of x g , y g , θ but we will see in section 3 that it may also be expressed as a function of x g , y g , ρ 1 , ρ 2 .

While the 2-2 is a 2 d.o.f. robot, the platform has still 3 d.o.f. Hence for solving the inverse kinematics it is necessary to specify 2 of this 3 d.o.f while the value of the remaining variable X will be determined by solving the equation (7). We examine now the possible different cases:

• x g , θ are fixed: equation ( 7) is linear in y g , there is a single possible value for y g • y g , θ are fixed: equation ( 7) is a second order polynomial in x g , there is up to two possible values for x g • x g , y g are fixed: using the Weierstrass substitution on (7) leads to a 4-th order polynomial in T = tan(θ /2) that may have 4 real roots that furthermore leads to positive tensions in the wires. For example for x a 2 = 20, y a 2 = 10,

x b 1 = -20, x b 2 = 20, y + b 1 = y b 2 = 1, x g = 10
, yg = -20 we get indeed 4 possible values for θ that all leads to positive wire tensions.

Direct kinematics

The direct kinematics (DK) of the 2-2 robot has been presented in [START_REF] Michael | Cooperative manipulation and transportation with aerial robots[END_REF]. The solutions can be obtained by solving a 12th order univariate polynomial and [START_REF] Michael | Cooperative manipulation and transportation with aerial robots[END_REF] provides a geometrical explanation of order of the polynomial that is related to the sextic nature of the coupler curve of the 2-2. But, as mentioned by Carricato [START_REF] Carricato | Geometrico-static analysis of under-constrained cable-driven parallel robot[END_REF] if the platform may perform out of the plane motion, then there may be up to 24 solutions: indeed we have to consider possible reflection of the problem or equivalently we have to consider the solutions that are are obtained when reversing the role of

A 1 , A 2 .
We first simply propose here another approach to derive the 12th order polynomial. The static equilibrium condition (7) is a function of sin θ , cos θ , while equations ( 2) are linear functions of these quantities. Solving these 2 equations in these unknowns and reporting the result in (7) leads to an equilibrium condition E 1 that is function of x g , y g , ρ 1 , ρ 2 of degree 7 in x g and 6 in y g . The constraint sin 2 θ + cos 2 θ -1 = 0 leads to another equation E 2 . The resultant of E 1 , E 2 in y g is a 24th order polynomial in x g that factors out in a 12th order polynomial and a 3rd order polynomial that is raised at the power of 4. This second polynomial provides only solutions with y g > 0 while the first polynomial provides the valid solutions. Stability analysis of these solutions have been addressed in [START_REF] Bosscher | Wrench-based analysis of cable-driven robots[END_REF], [START_REF] Carricato | Stability analysis of underconstrained cable-driven parallel robots[END_REF].

We have then to consider that obtaining all the solutions from the solving of the univariate polynomial may not be the best method: indeed numerical round-off errors will affect the calculation of the polynomial coefficients while the solving of a 12th order polynomial may be numerically unstable. Instead of using the polynomial, it is possible to transform the problem into an eigenvalue problem, which is numerically more stable, but still the results cannot be guaranteed. Hence we propose to use interval analysis (IA) on a set of DK equations, as this method allows to provide all solutions exactly (i.e. with an arbitrary accuracy). The efficiency of this method is however dependent upon the set of equations that has to be solved. Hence we may consider several forms of the problem:

1. with 8 equations and 8 unknowns: these unknowns are x g , y g ,

x 1 , y 1 , x 2 , y 2 , τ 1 , τ 2 .
The equations are the 5 equations (2,3) and the 3 geometrical constraints G defined as

||B 1 B 2 || 2 = d 2 12 , ||B 1 G|| 2 = d 1G , ||B 2 G|| 2 = d 2G , where d 12 , d 1G , d 2G are the known distances between (B 1 , B 2 ), (B 1 , G), (B 2 , G) 2.
with 6 equations and the 6 unknowns x g , y g , x 1 , y 1 , x 2 , y 2 . The constraints are the 3 equations (2,6) and the 3 geometrical constraints G 3. with 5 equations and the 5 unknowns x g , y g , θ , τ 1 , τ 2 . The constraints are the 5 equations (2,3) 4. with 4 equations and the 4 unknowns x g , y g , sin θ , cos θ . The constraints are the 3 equations (2,6) and the constraint sin 2 θ + cos 2 θ = 1. 5. with 3 equations and the 3 unknowns x g , y g , θ . The constraints are the 3 equations (2,5). 6. with 2 equations and 2 unknowns: these unknowns are either x g or y g and θ . The difference between the two equations ( 2) is linear in x g , y g and is used to obtain one of these variables. The constraints are one of ( 2) and ( 5)

Note that methods 1 and 2 take reflection into account and hence provide all solutions in a single pass, while the other methods required to be applied twice.

To compare the efficiency of the solving in the various cases we consider a specific robot, called test robot, that will be used all over this paper, such that: A 1 = (0, 0) A 2 = (100, 10) B 1 = (-10, 1) B 2 = (10, 2) and we solve the DK for ρ 1 = 110, ρ 2 = 100. The solving times in seconds for the above methods are 0.95 (4), 0.49 (4), 0.8 (2), 0.04 (2), 0.11 (2), 3.66 (6), where the number in parenthesis is the number of solutions. The total number of solutions with positive tensions is 4 as indicated by methods 1 and 2. Methods 3, 4, 5 provide only half of the solutions because reflection is not taken into account and method 6 provides 6 solutions but only 2 with positive tensions. Hence the most efficient methods are 2 and 4 (which requires 2 passes to get all solutions).

We have conducted a study of the number of solutions with positive tensions by selecting randomly 400 wire lengths and solving the DK in each case. We have found that the DK has 2 solutions in 34% of the cases, 3 in 8.75%, 4 in 45.5% 5 in 0.75%, 6 in 8.5%, 7 in 0.5 % and 8 in 2%. Evidently we cannot claim that even with this relatively high number of trials these numbers will always be relevant. Figure 2 shows an example with 8 solutions obtained for ρ 1 = 180, ρ 2 = 190. The solution (x g , y g , θ ) obtained for the rotation matrix are (45. If the pose parameters are known, then equations (3) allows to determine the tensions in the wires. It may however be of interest to study kinematics in the joint space ρ 1 , ρ 2 . In this section we will address two problems:

1. determining the wire tensions as functions of ρ 1 , ρ 2 only 2. determining the region W in the joint space such that |τ 1 |, |τ 2 | ≤ τ max , where τ max is a fixed threshold

For point 1 we note that the two first equations of (5) are linear in x g , y g . Solving this linear system and reporting the result in the last equation of ( 5) and in the 2 equations (2) leads to a system of 3 equations in θ , τ 1 , τ 2 . This system may be con- verted into an algebraic system by using the Weierstrass substitution T = tan(θ /2). Taking the resultant with respect to T of each pair of equations leads to two polynomials P 1 , P 2 in τ 1 , τ 2 , which have degree (6,6). For a given robot geometry the resultant of P 1 , P 2 in τ 2 factor out in two polynomials of degree 12 and 20 in τ 1 , only the former one leading to valid values for τ 1 . Solving this polynomial and back sub- stituting its roots in P 1 , P 2 allow to calculate τ 2 , which complete the static analysis in the joint space.

For point 2 checking if, for a given mass of the platform, the value of the wire tensions are lower than the breaking point is clearly of interest. If only joint control is use we are interested in determining the location of the points such that one of the wire tension is equal to its allowed maximum τ max in the joint space ρ 1 , ρ 2 .

Assume that we set τ 1 = τ max ; equations (3, 2) become a system of 5 equations in the unknowns x g , y g , θ , τ 2 . The first equation of ( 3) is used to determine τ 2 , while the difference between the 2 equations ( 2) is linear in x g and is used to determine x g . The second equation of ( 3) is linear in y g : after solving it remains 2 equations (the third equation of (3) and one of the equations [START_REF] Carricato | Stability analysis of underconstrained cable-driven parallel robots[END_REF], that are only function of θ . If we define T = tan(θ /2) the first equation may be written as the product of 3 polynomials A × B(T, ρ 1 , ρ 2 ) ×C(T, ρ 1 , ρ 2 ) of degree 2, 2, 4 in T , the polynomial B having only terms in ρ 2 1 or ρ 2 2 , while C is a 3rd order polynomial in ρ 1 and includes only terms with ρ 2 2 . The second equation may be written as A × D(T, ρ 1 , ρ 2 ) where D is a sixth order polynomial in T and in ρ 1 , while it includes only ρ 4 2 , ρ 2 2 terms. The common term A cancels when both wires are parallel, a case we have excluded. and consequently both equations will cancel either when the resultant of B, D or the resultant of C, D is equal to 0. The resultant of B, D factors out in a polynomial of degree 6 in ρ 1 and includes only ρ 4 2 , ρ 2 2 terms. The resultant of C, D is too large to be obtained when the geometrical parameters of the robot are kept symbolic but it may be easily obtained for a given geometry and leads to a polynomial of degree 16 in ρ 1 and 12 in ρ 2 with a total degree 16.

To determine the region W of the ρ 1 -ρ 2 joint space where we have τ 1 ≤ τ max and τ 2 ≤ τ max we have to plot the above curves for the two cases τ 1 = τ max and τ 2 = τ max . These curves will be splitted in arcs whose start and end extremities are points such that either τ 1 = τ 2 = τ max or τ 1 ≤ 0 or τ 2 ≤ 0 (the calculation in the joint space in the two later case being presented in section 5). Classicaly the border of W will be obtained as a set of such arcs, which are determined by checking the constraints for the mid-point of the arcs, using a method that is similar to the one used for determining the workspace of a parallel robot [START_REF] Gosselin | Determination of the workspace of 6-dof parallel manipulators[END_REF].

We consider the test robot and we choose τ max = 2F . Figure 3 shows the curves with the following notation: a curve denoted tij is such that τ i = τ max and a curve denoted vi corresponds to the case where wire i supports all the load.

Consider the case where we have ρ 1 = 40. Setting τ 1 = τ max leads to 4 solutions U j =(ρ 2 , τ 2 , x g , y g ) with U 1 =( 42.96,2.095, 49.7146 -6.66), U 2 =(83.87,1.989, 28.548,- 8.8), U 3 =(115.52, -1.517,-20.134, -23.017),U 4 =(151.688, -1.4219, -35.554, -34.846). These points correspond to the intersection of the line ρ 1 = 40 with the arcs of curve denoted t10, t13, t13, t12. It may be noted that for points U 3 ,U 4 we have τ 2 < 0: this is quite normal as these points are over the line v1. We notice also that for point U 1 we have τ 2 > 2. If we now plot the 4 solutions (figure 4) we note that the solution U 2 corresponds to the unstable case where G lies over the point B 1 , B 2 and, as expected, solutions U 3 ,U 4 lies on the left side of the y axis which is the limit in which wire 1 supports the whole load while wire 2 is slack. Hence none of these point may belong to the border of W . If we consider the case τ 2 = τ max we get also 4 solutions (not represented in the figure) V j =(ρ 2 , τ 1 , x g , y g ) with V 1 =(43.22, 1.905, 49.629, -7.192), V 2 =(83.834, 2.01, 28.568, -8.733), V 3 =(116.067, -2.262, -25.997, 14.647), V 4 =(153.893365, -2.337226, -42.997, 25.872). For solutions V 3 ,V 4 we have τ 1 < 0, while for V 2 we have τ 1 > τmax and a further analysis shows that Fig. 4 The poses of the solutions obtained for ρ 1 = 40 this solution is also unstable. Hence the only valid solution is U 1 which is a point of the border of W . A more complete analysis, that cannot be presented here for lack of space, shows that the region W has as border the curve v1, v2, one arc of the curve t10 and one arc of the curve t20.

Singularities

Wire-driven parallel robot have the same singularity than parallel robots with rigid legs (provided that the wire tensions are positive). In the 2-2 case this singularity will be obtained if the line A 1 B 1 , A 2 B 2 are colinear. But this situation cannot occur for a crane as the mechanical equilibrium cannot be satisfied (the equilibrium along the x axis imposes τ 1 = -τ 2 and therefore the vertical force resulting from the wire tension is 0 and therefore cannot balance the weight of the platform). But another type of singularity has to be considered namely when a wire tension cancels, as in that case we loose control of one d.o.f. For the 2-2 this happens when G, A 1 , B 1 (or G, A 2 , B 2 ) lies on the same vertical line. If we assume that only wire 1 is under tension we get x g = 0, x 1 = 0 from which we get tan θ = x b i /y b i while y g has an arbitrary negative value. The minimal length of wire 2 may then be computed for a given y g with equation [START_REF] Carricato | Stability analysis of underconstrained cable-driven parallel robots[END_REF]. However it may be of interest to get the singularity condition in the joint space ρ 1 , ρ 2 . If d 1 is the distance between G and B 1 we have y g = -ρ 1 ± d 1 Substituting this value in (2) leads to which are the singularity conditions in the joint space. Another singularity condition can be obtained in the same way if wire 2 only is under tension.

Conclusion

In spite of its apparent simplicity the kinematics of the 2-2 robot is quite complex. This paper has addressed not so well known kinematics issues that may be of interest for the robot control either in the operational or in the joint space. The next step will then to extend the concepts proposed in this paper to spatial wire robots with 3 to 6 wires. This research has received funding from the European Community's Seventh Framework Program under grant agreement NMP2-SL-2011-285404 (CABLEBOT).

Fig. 2

 2 Fig. 2 The eight solutions of the DK obtained for the test robot with ρ 1 = 180, ρ 2 = 190

Fig. 3

 3 Fig.[START_REF] Carricato | Geometrico-static analysis of under-constrained cable-driven parallel robot[END_REF] The curves that appear in the calculation of the region in the ρ 1 -ρ 2 space for which|τ 1 |, |τ 2 | ≤ τ max

ρ 2 2 ≥ y b 1 x b 2 -x b 1 y b 2 d 1 -x a 2 2 + -ρ 1 ± d 1 + x b 1 x b 2 + y b 1 y b 2 d 1 -

 22121121

  19, -168.50, 174.79), (30.31, -168.47, 142.38), (49.34, -177.12, 3.10), (68.01, -168.40, 223.97) with θ in degree. For the reflection we get (48.46, -171.49, 175.96), (12.35, -169.36, 85.78), (49.29, -174.13, 357.43), (85.36, -169.37, 267.40). Note that if out of the plane motion is possible, then we have only 2 stable solutions.


Monitoring data

 08-11:25:41.773271 10.2.199.239:61562 -> 180.242.137.181:5222

  ] [1:2000537:6] ET SCAN NMAP -sS [**] [Classification: Attempted Information Leak] [Priority: 2] 11/

  TCP TTL:38 TOS:0x0 ID:9963 IpLen:20 DgmLen:44 ******S* Seq: 0xF7D028A7 Ack: 0x0 Win: 0x800 TcpLen: 24 TCP Options (1) => MSS: 1160 Web server log 128.1.0.0 --[30/Apr/1998:22:38:48] "GET /english/venues/Paris/St-Denis/ HTTP/1.1" 404 333 (3/27)

  of Apache Lucene: full-text-search engine library Schema-free JSON document oriented: store and REST API index, search, sort and filter documents Distributed search and store scaling up (bigger servers) or scaling out (more servers) coping with failure: replication RESTfull API store, fetch, alter, and delete data Easy backup with snapshot and restore No transactions nor rollback (11/27) Elasticsearch: glossary Document: main data unit used during indexing and searching, contains one or more fields Field: section of the document, a couple of name and value Term: unit of search representing a word from the text Index: named collection of documents (Like a database in a relational data base) type: a class of similar documents (like a table in in a relational data base) Inverted index: data structure that maps the terms in the index to the documents Shard: a separate Apache Lucene index. Low level "worker" unit. Replica: an exact copy of a shard Relational DB => Databases => Tables => Rows => Columns Elasticsearch => Indices => Types => Documents => Fields (12/27)

  NoSQL databases (Redis, MongoDB, HBase, ...)

	Monitoring data: properties Traditional tools and techniques
	Variety of data sources: flows, logs, pcap data
	Structure: structured, non structured Storage
	Massive volume: grow at Moore's Law kinds of speeds Text files, binary files Send event data to other systems
	Who is looking into them ? Relational databases: MySQL, PostgreSQL, MS Access file, stdout, tcp
	IT administrators Researchers and scientists elasticsearch, MongoDB, email New trends: May 31st 2015, 15:44:06.039 com.whatsapp syslog, Ganglia	10.29.12.166	50048	184.173.179.38 443
	Why ? May 31st 2015, 15:55:40.268	com.facebook.orca	10.29.12.166	47236	31.13.64.3	443
	Continous monitoring tasks Tools and commands
	Extract useful information and insights: finding meaningful events leading to SQL, Grep, sed, awk, cut, find, gnuplot
	new discoveries Perl, Python, Shell
	Looking for a needle in a haystack: forensics and Incident Handling
	Data search, aggregation, correlation
	Predictive modelling, statistical analysis, anomaly detection
							(4/27)

perl -p -e 's/\t/ /g' raw | cut -d ' ' -f5-(5/27) Elasticsearch Logstash Kibana end to end solution for logging, analytics, search and visualisation (6/27)

  Data visualisation browser-based interface search, view, and interact with data stored in Elasticsearch indice charts, tables, and maps dashboards to display changes to Elasticsearch queries in real time (20/27) curl ' localhost :9200/_ cat / indices ?v ' index pri rep docs . count docs . deleted store . size pri . store . size

	logstash -1998.04.30	5	1	98434	0	20.6 mb	20.6 mb
	logstash -1998.05.01	5	1	1094910 0	205.8 mb	205.8 mb
	Partition document by client IP (bucket)
	Then partition each client bucket by verbe (bucket)
	Then partition each verbe bucket by response (bucket)
	Finally, calculate the average bytes for each response (metric)
	Average bytes per <client IP, verbe, response>
	Many types are available
	terms
	range, date range, ip range
	histogram, date histogram
	stats/avg, min, max, sum, percentiles
							(19/27)

(21/27)

Event processing engine: data pipeline Inputs: collect data from variety of sources Filters: parse, process and enrich data Outputs: push data to a variety of destinations

Indexing a document

curl -XPUT ' localhost :9200/ logs / apachelogs /1 ' -d { " clientip " = > "8.0.0.0" , " verb " = > " GET " , " request " = > "/ images / comp _ stage 2_ brc _ topr . gif " , " httpversion " = > "1.0" , " response " = > "200" , " bytes " = > "163" } Aggregations are placed under the top-level aggs parameter (the longer aggregations will also work if you prefer that)

Retrieving a document

We then name the aggregation whatever we want: responses, in this example Finally, we define a single bucket of type terms Setting search type to count avoids executing the fetch phase of the search making the request more efficient (17/27) Aggregation: metrics metric calculated on those documents in each bucket: min, mean, max, quantiles curl -XPUT ' localhost :9200/ logs / apachelogs /_ search ? search _ type = count ' -d { " aggs ": { " responses ": { " terms ": { " field ": " response " } , " aggs ": { " avg _ bytes ": { " avg ": { " field ": " bytes " Line chart: Displays aggregated data as lines.

Markdown widget: Use the Markdown widget to display free-form information or instructions about your dashboard.

Metric: Displays one the result of a metric aggregation without buckets as a single large number.

Pie chart: Displays data as a pie with different slices for each bucket or as a donut (depending on your taste).

Tile map: Displays a map for results of a geohash aggregation.

Vertical bar chart: A chart with vertical bars for each bucket.

(24/27)


J Kim

D Park

C Lee

D H Lee

T Kim

Methane activation under dielectric barrier discharge plasma interacting with mesoporous material

Keywords: mesoporous material, dielectric barrier discharge, energy efficiency

Direct methane activation on a mesoporous material under dielectric barrier discharge (DBD) plasma was investigated in the present study. The specific surface area of the mesoporous material (SBA-15) was controlled by varying the hydrothermal reaction temperature to investigate the effect of the specific surface area on the methane activation. As a result, methane conversion increased as the specific surface area increased and the discharge frequency decreased. Energy efficiency was higher when the specific surface area of 516 m 2 •g -1 was interacted with the plasma generated at the frequency of 0.1 kHz.

Introduction

Recently, direct conversion of methane into other hydrocarbons higher than C 2 has been actively studied as an alternative to the conventional complex processes. However, thermal conversion of methane showed mostly methane conversion lower than 10%. Even though the methane conversion was high, C 2 selectivity was very low or almost zero. The direct conversion of methane is highly endothermic so that the temperature higher than 600 °C is required. When methane is thermally activated, however, the catalyst should be prevented from sintering and degradation at the high temperature. Thus, zeoliteand silica-based nanoporous materials have been widely used as the catalyst support but the methane conversion was less than 10% or C 2 selectivity was nearly zero as aforementioned. Therefore, a new process for the direct conversion of methane is required, which would be operable at low temperature and selective to >C 2 hydrocarbon species [1][2][3].

Recently, non-thermal plasma has been attracted as an alternative process for the methane activation [4]. Among non-thermal plasmas, dielectric barrier discharge (DBD) plasma is suitable to the plasma catalysis because the plasma distribution is more uniform than others such as corona discharges [5]. The DBD plasma has a dielectric barrier between high voltage and ground electrodes, which play a role to prevent it from being developed into the arc. In DBD, non-equilibrium discharge takes place and high-temperature electrons are formed by micro discharges [6][7][8]. Thus, chemical reaction can be initiated by the plasma below the temperature required for the reaction to be activated. On the other hand, the selection of catalyst is limited to reduce the activation energy for the reaction to be selective to desirable species. Therefore, hybrid reaction of plasma and catalyst should realize interactive synergetic effects with high reactivity at low temperature.

Several studies on the investigation of the synergetic effect between plasma and catalyst have been already reported. However, their results showed the independent effect; strictly speaking, the interaction was not between plasma and catalyst. Thus, the interaction of plasma to the highly porous catalyst should be investigated because the plasma streamer in microscopic view is first accumulated on the surface of catalyst.

In the present study, mesoporous material was used for the direct conversion of methane under the DBD plasma. Generally, Al 2 O 3 has been widely employed for the plasma catalysis but a mesoporous material such as SBA-15 has been rarely reported. In addition, the effect of the specific surface area on the plasma activity has not been investigated yet. Therefore, the specific surface area of SBA-15 was controlled by varying the hydrothermal reaction temperature and the effect of the specific surface area on the methane activation was investigated in the present study [9][10].

Preparation of mesoporous silica

The mesoporous silica (SBA-15) was synthesized by hydrothermal method using the guideline reported in the literature regarding SBA-15 molecular sieve [11]. In a typical synthesis, triblock-poly (ethylene glycol)-blockpoly (propylene glycol)-block-poly (ethylene glycol) (EO 20 PO 70 EO 20 , Pluronic P123, molecular weight = 5800, Aldrich) of 4g was added to deionized water of 90 ml heated by 40°C, and the mixture was stirred at the stirring speed of 250 rpm for 30 minutes. After 4M HCl (60 mL) and tetraethyl orthosilicate (TEOS, 9.8 mL) were added to the prepared aqueous solution, and was aged under the stirring at 300 rpm for 24 hours. Based on the hydrothermal synthesis method, the specific surface area of SBA-15 was adjusted by varying the hydrothermal reaction temperature in the range of 40 -120 °C. After the prepared aqueous solution was separated and filter through DI water, the aqueous solution were dried at 100 °C for 20 hours. The powder obtained after drying P-II-8-15 was calcined in air at 550 °C for 6 hours. The calcination temperature was raised with the rate of 1.5 °C·min -1 .

Plasma system

A quartz tube was used as the reactor, in which the SBA-15 sample was packed. The reactor wall also plays a role as the dielectric barrier of the DBD reactor. Two electrodes were used; one was inserted in the middle of the reactor and the other was a wrapped around the outer wall of the reactor. A flange, which is not electrically conducting, was installed at the lower part of reactor to fix the catalyst pellet. The flange was also used to fix the electrode precisely at the middle of the reactor because the electric discharge can be distorted if the gap between the two electrodes is non-uniform. The gap between the two electrodes was 6 mm, between which a 0.15 g catalyst pellet was packed. A high-voltage amplifier (Trek 20/20C) was used to generate a high-voltage electric discharge in the DBD reactor. The voltage, frequency and waveform were controlled using a function generator (Agilent 33220A). The discharge voltage, frequency and waveform were monitored using an oscilloscope (WaveSurfer 424, LeCroy). The discharge voltage was fixed to 7 kV with sine waveform and the discharge frequency was varied in a range of 0.1 -1.5 kHz.

Characterization of the SBA-15

Low-angle XRD patterns of SBA-15 synthesized at different hydrothermal reaction temperatures are shown in Fig. 1. Three distinct peaks was observed at the Bragg angle (2θ) = 0.87°, 1.52°, and 1.74° that are associated with (1 0 0), (1 1 0) and (2 0 0) reflection planes. These peaks represent the characteristic diffraction patterns of the well-ordered two-dimensional hexagonal structure with the P6mm symmetry of SBA-15. The peak corresponding to the (1 0 0) plane was observed at all SBA-15 samples regardless of hydrothermal reaction temperature. On the other hand, the peaks corresponding to the (1 1 0) and (2 0 0) planes that are relevant to structural frame of SBA-15 were well exhibited at the hydrothermal reaction temperature higher than 100 °C; however, at the hydrothermal reaction temperature lower than 60 °C, their intensities were very weak or not detected. The tendency similar with the XRD results could be predicted by textural properties of SBA-15 according to the hydrothermal reaction temperature. The BET specific surface area, average pore diameter and total pore volume that were calculated by BJH method are presented in Table 1.

Similarly to the XRD results, the SBA-15 synthesized at the hydrothermal reaction temperature of 40 and 60 °C had the similar specific surface area, while the difference of the specific surface area increased as the hydrothermal reaction temperature increased from 60 to 100 °C. The change of pore volume (V BJH ) and mean pore diameter (D BJH ) at different hydrothermal reaction temperatures showed the same trend with that of the specific surface area. Therefore, the hydrothermal reaction temperature higher than 100 °C was the optimal condition for SBA-15 crystallization. From the XRD and BET results, the 2D hexagonal structure was well established, and the specific surface area and mean pore diameter also increased as the hydrothermal reaction temperature increased.

CH 4 conversion

The effect of the presence of SBA-15 on the direct conversion of methane under the plasma is investigated. As a result, the CH 4 conversion and C 2 selectivity as a function of the specific surface area at different discharge frequencies are shown in Fig. 2. Overall, the CH 4 conversion increased with increasing the specific surface area and discharge frequency. The CH 4 conversion increased slightly at the specific surface area lower than 478 m 2 •g -1 . However, the CH 4 conversion increased dramatically at specific surface area of 516 m 2 •g -1 . In addition, the dependency of the discharge frequency on the CH 4 conversion was more extended. For example, the CH 4 conversion at the specific surface lower than 478 m 2 •g -1 was less than 10%, while it was 24.9% at 516 m 2 •g -1 and 1.5 kHz. Fig. 2. CH 4 conversion at different specific surfaces area and discharge frequencies.

Energy efficiency

The energy efficiency as a function of the specific surface area at the different discharge frequency is shown in Fig. 3, where the energy efficiency was calculated by the ratio of enthalpy of CH 4 converted to the discharge power supplied as expressed in Eq. 1. The energy efficiency at the low frequency was much higher than that at the high frequency. On the other hand, the energy efficiency increased with increasing the specific surface area. Particularly, the efficiency was significantly high at 516 m 2 •g -1 and 100 Hz. For example, the energy efficiency was 1.61% at 383 m 2 •g -1 and 1.5 kHz, while it was 59.3% at 516 m 2 •g -1 and 0.1 kHz. It means that the surface function of SBA-15 became dominant for the direction conversion of methane at the high specific surface area. Thus, the CH 4 conversion could be increased at the specific surface area even if the discharge power was not high at the low discharge frequency, resulting in high energy efficiency.

Conclusion

The synergetic effect between plasma and mesoporous SBA-15 for the direct conversion of methane was investigated. The specific surface area of SBA-15 was controlled by varying the hydrothermal reaction temperature in the range of 40 -120 °C. The distinctive mesoporous structure was formed regardless of hydrothermal reaction temperature but the strength of SBA-15 frameworks with the hexagonal structure became weak at the low hydrothermal reaction temperature. The specific surface area and mean pore size increased with the increase of the hydrothermal reaction temperature.

The CH 4 conversion using the plasma was approximately two times higher than using the catalyst only. Plasma can enhance the adsorption intensity on the surface of SBA-15 by producing electrons with wide energy distribution. Most of the electrons with smaller energy (<1eV) are used in vibrational excitation. The vibrationally-excited methane was absorbed on the surface of SBA-15, and dissociated with low activation energy, resulting in the high CH 4 conversion.

The energy efficiency of 59.3% was obtained when the mesoporous SBA-15 with the specific surface area of 516 m 2 •g -1 was present in the plasma generated at the discharge frequency of 0.1 kHz. This is much higher than other plasma catalysis (~10%). Consequently, the direct conversion of methane can be more improved by the plasma catalysis on a mesoporous material.

Fig. 1 .

 1 Fig. 1. Low-angle XRD patterns of SBA-15 at different hydrothermal temperature.

Fig. 3 .

 3 Fig. 3. Energy efficiency at different specific surfaces area and discharge frequencies.

Table 1 .

 1 Pore structure parameters of SBA-15 at different hydrothermal reaction temperature.

	Hydrothermal
	reaction temperature	S BET (m 2 ·g -1 )	V BJH (cm 3 ·g -1 )	D BJH (nm)	d 100 (nm)
	(°C)
	40	383.34	0.3779	3.9427	8.71064
	60	404.55	0.4145	4.0984	8.16839
	100	478.17	0.6289	5.2612	9.00654
	120	515.93	0.6539	5.0696	9.90028


domain: phys spi

text:
Ettien L Kpré

Thomas Fromenteze

Cyril Decroze

David Carsenat

Experimental implementation of an Ultra-Wide Band MIMO radar

In this paper, a radar system implementation is addressed to detect a point target, that is a Multiple-Input Multiple-Output (MIMO) Radar. It is an emergent concept in radar field and has reached a substantial considerations. The advantages of MIMO radars is presented in comparison of SIMO and SAR radars. The simulation and measurement results show that the MIMO Radars can reach a better angular resolution while keeping a small number of antennas.

I. INTRODUCTION

Microwave imaging has been an important field of research and development, thanks to its performances in the terms of military and civilian applications. MIMO radars have received great interest over recent years [START_REF] Bliss | Multiple-input multiple-output (MIMO) radar and imaging: degrees of freedom and resolution[END_REF]- [START_REF] Jian | MIMO radar signal processing[END_REF] due to their benefits compared to conventional radars. The essence of this concept is to probe the channel with M orthogonal signals and record the backscattered signals with N receivers which are spatially independents to the transmitters. Thus the received signal from each transmitter can be separated from others by correlation in pairs. The scattered signal for each couple transmitter/receiver provides two main benefits : spatial diversity gain [START_REF] Vaidyanathan | MIMO radar, SIMO radar, and IFIR radar: a comparison[END_REF] and increased degree-of-freedoms (DOFs) [START_REF] Wang | Phased-MIMO radar with frequency diversity for increased system flexibility[END_REF]. Each couple provides an information about the probed channel as shown in Fig. 1. According to this general definition, many traditional radars can be considered as a special case of MIMO radar. The synthetic Aperture radar which consists on moving antennas to create a synthetic aperture will measure informations corresponding to the diagonal of the channel matrix H, whereas the Single-Input Multiple-Output radar is similar to the measurement of one row of the matrix H. The remainder of the paper is organized as follows: MIMO scattering matrix formulation is first considered in the Section II focusing on the benefits of MIMO radars. Simulation and experimental results are then presented in Section III & IV to validate the concept.

H
H m1 H m2 . . . H mn                 SAR SIM O Transmitters Receivers

II. MIMO SCATTERING MATRIX FORMULATION

The term MIMO means any radar system that probes a channel by transmitting independent waveforms and received with some specific signal processing. For a one-shot measurement of the matrix elements, waveforms should the orthogonal in order to separate each couple of transmitter/receiver. Thus, waveform design is significant issue associated with MIMO Radar [START_REF] Ying | Binary orthogonal code design for MIMO radar systems[END_REF], but it is not addressed in this paper. For every examples discussed here, signal separation has been exploited to enable the scattering matrix elements H i j . The received signal from nT transmitters can be expressed in frequency domain as :

1 T i T m T s1ptq siptq smptq . . . . . . 1 R j R n R s1pt ´τ1jq
S R = nT -1 ∑ i=0 [H].S i + N G (1)
where N G is the additive Gaussian noise, S the Fourier transform of transmitted signals, H the scattering matrix that contains the probed channel informations and expressed as :

(H) m,n ∝ exp (-jk.(x m + y n ).d.sin(θ 0 )) (2)
where θ 0 refers to the signal Direction of Arrival (DoA) while considering the target at far-field distance from the radar system and k the wavenumber. This channel matrix contains informations referring to the target parameters. After estimation of the channel matrix, a classic beamforming in time domain algorithm is performed to detect the target position.

III. SIMULATION RESULTS

Let's consider a monostatic MIMO array of M transmitters and N receivers (M = N = 4) with an inter element spacing of d = 0.7×λ c . A point target with an isotropic RCS is placed at a distance r > 2 × D 2 /λ c (far-field condition) with λ c the central wavelength in the band 3 -6Ghz. Fig. 3 shows the simulation setup.

1 2 3 4 d = 0.7 × λc D s 1 ( t ) s 2 ( t ) s 3 ( t ) s 4 ( t ) uncoherent signals
Target with isotropic RCS When this array is used in a conventional phased radar system, each antenna transmit a full scaled waveform forming a strong transmit beam in the desired direction. Beamforming is performed only by the receivers array. Thus, the degree of freedom is N. However MIMO beamforming is performed by both transmitters and receivers, increasing the degree of freedom up to M × N. While conventional radars employ only spatial diversity, MIMO radars employ both spatial and waveform diversity to improve spatial resolution, targets parameters identifiability and discrimination. It has been shown in [START_REF] Jian | MIMO radar signal processing[END_REF] that MIMO radar provides the same resolution with its equivalent phased radar while keeping a small number of antennas. This phenomenon is explained by the spatial convolution of the transmitters and receivers arrays that creates an enlarged virtual array aperture. In this example the virtual array consists of N+M-1 elements with an inter-element spacing of d = 0.7λ c . Some elements are redundant as shown in Fig. 4. As consequence, the design of the MIMO radar array is an important issue associated with MIMO Radars. The computing results show that the SAR provides a better angular resolution (10 • ) compared to the SIMO radar (18 • ) but the sidelobes level are very high. In contradiction, the SIMO radar presents lower sidelobes but the angular resolution is worse. Thus the MIMO radar, presents the same resolution as the SAR and the sidelobes levels a lower. In the case of a bistatic array, the MIMO radar resolution can be improved with an appropriate array design. Fig 6 shows the beamforming results with different inter-element spacing while keeping the same number of antennas. Consequently, a sparse array can be used in MIMO radars to create a filled virtual array which provides a better angular resolution.

IV. MEASUREMENT RESULTS

The presented MIMO theory has been validated using a monostatic linear array. Fig. 7 and Fig. 8 show the measurement setup used for the experimentation. The array consists of 4 transmitters and 4 receivers Vivaldi antennas arranged along azimuth with an inter-element spacing of d = 0.7 × λ c . A foam plate is used to support the antennas. The scattering matrix is measured with a network analyzer through a 4×16 microwave switch in 3 -6Ghz band. Two metallic cylinders with isotropic Radar Cross Sections in azimuth are placed in front of the radar system. In such setup the coupling signal between antennas and the delay due to cables must be calibrated in order to extract only the echo reflected by the targets. The scattering matrix used for the beamforming is then given by the equation 3:

(H) m,n = (H measured -H coupling ) H cable (3)
Where : H cable : Scattering matrix due to the cables. H coupling : Scattering matrix measured without any target. H measured : Scattering matrix measured in presence of targets. A digital beamforming is applied to focus the beam in the direction of the targets. MIMO imaging case supports the presented theory. It presents the best compromise resolution/sidelobes. Whereas SAR imaging present a high level of sidelobes with an accuracy angle resolution and SIMO ones presents a worse resolution with lower sidelobes level. The influence of the antennas radiation pattern is considered in the beamforming, which explains the difference between the theoretical and the experimental curves. In addition, the resolution can be improved keeping the same number of antenna and those, thanks to the optimization of antennas array [START_REF] Jian | MIMO radar signal processing[END_REF]. As an example, an other transceiver array has been set up with the same number of elements. In this case, the transmit array has been split in two subarrays spaced of N × 0.7 × λ c . A same scenario is tested with two different arrays as shown in Fig. 10. Imaging results show the performances of the second array. The angle resolution is improved compared to the first one so that the angle estimation of the target is more accurate. The second element spacing is chosen in order to avoid information redundancy in the scattering matrix. V. CONCLUSION

In this paper, an experimental MIMO system has been presented. A first antenna array was used to highlight the benefits of MIMO radars in comparison of conventional radars. The experiment results showed that MIMO radar increases the degree of freedom and improves angle accuracy. Furthermore, MIMO radars can reach a same resolution as traditional radars with a smaller number of antennas, reducing drastically the number of elements needed. Some other measurements were set up to exhibit the discrimination capability of MIMO radar but are not presented in this paper. Future works will focus on the generation of orthogonal waveforms to probe the channel simultaneously and fast nearfield radar imaging algorithms development for high image quality.

Figure 1 :

 1 Figure 1: Illustration of a Radar MIMO scattering matrix. H i j denotes the scattered signal from the i th transmitter to the j th receiver.

Figure 2 :

 2 Figure2: Illustration of a Radar MIMO principle. h i j represents the MIMO matrix components due to i th transmitter and the j th receiver. x m and y n are respectively the transmitters and the receivers positions.

Figure 3 :

 3 Figure 3: Computing setup. A target with an isotropic RCS placed at the far-field of a monostatic radar array of 4 elements.

Figure 4 :

 4 Figure 4: MIMO Virtual array.

Fig. 5

 5 Fig.5shows a beamforming comparison when Fig.3array is used in conventional radars and in MIMO radar.

Figure 5 :

 5 Figure 5: SAR,SIMO and MIMO imaging results.

Figure 6 :

 6 Figure 6: Angular resolution comparison with different inter-element spacing.

Figure 7 :

 7 Figure 7: Experiment measurement synoptic.

Figure 8 :

 8 Figure 8: Measurement setup of 4 × 4 Transmitters/Receivers Vivaldi antennas. Two metallic cylinders are placed in the anechoic chamber in front of the transceivers array.

Figure 9 :

 9 Figure 9: Imaging results of two metallic cylinders.

Figure 10 :

 10 Figure 10: Imaging results of a pair of scissors from two different MIMO setups. (a) Photo of the regular spacing array. (b) Imaging result of the scissors using regular spacing array. (c) Photo of the irregular spacing array. (d) Imaging result of the scissor using the irregularly spacing array.

  11 H 12 . . . H 1n

	H 21 H 22 . . . H 2n
	. . .	. . .	. . .