Alain Cournier

Swan Dubois

Anissa Lamani

Franck Petit

Vincent Villain

Snap-Stabilizing Message Forwarding algorithm on tree topologies ⋆

Keywords: Message Forwarding, Snap-stabilization, Token Circulation ∃ q ∈ Np, Spqo = (p, pqi, qpi, S, 1 ∃ q ∈ Np, Spqi =

In this paper, we consider the message forwarding problem that consists in managing the network resources that are used to forward messages. Previous works on this problem provide solutions that either use a significant number of buffers (that is n buffers per processor, where n is the number of processors in the network) making the solution not scalable or, they reserve all the buffers from the sender to the receiver to forward only one message . The only solution that uses a constant number of buffers per link was introduced in [1]. However the solution works only on a chain networks. In this paper, we propose a snap-stabilizing algorithm for the message forwarding problem that uses the same complexity on the number of buffers as [1] and works on tree topologies.

Introduction

It is known that the quality of a distributed system depends on its fault tolerance. Many fault-tolerance approaches have been introduced, for instance: Self-Stabilization [START_REF] Dolev | Self-stabilization[END_REF] which allows the conception of systems that are tolerant of any arbitrary transient fault. A system is said to be self-stabilizing if starting from any arbitrary configuration, the system converges into the intended behavior in a finite time. Another instance of the fault-tolerance scheme is the snap-stabilization [START_REF] Bui | Snap-stabilization and PIF in tree networks[END_REF]. Snap-stabilizing systems always behave according to their specification, and this regardless of the starting configuration. Thus a snapstabilizing solution can be seen as a self-stabilizing solution that stabilizes in zero time.

In distributed systems, the end-to-end communication problem consists in delivery in finite time across the network of a sequence of data items generated at a node called the sender, to another node called the receiver. This problem comprises the following two sub-problems: (i) the routing problem, i.e., the determination of the path followed by the messages to reach their destinations; (ii) the message forwarding problem that consists in the management of network resources in order to forward messages. In this paper, we focus on the model communications between neighbours are modelled by direct reading of variables instead of exchange of messages. The program of every processor consists in a set of shared variables (henceforth referred to as variable) and a finite number of actions. Each processor can write in its own variables and read its own variables and those of its neighbours. Each action is constituted as follow:

< Label >::< Guard > → < Statement >
The guard of an action is a boolean expression involving the variables of p and its neighbours. The statement is an action which updates one or more variables of p. Note that an action can be executed only if its guard is true. Each execution is decomposed into steps.

The state of a processor is defined by the value of its variables. The state of a system is the product of the states of all processors. The local state refers to the state of a processor and the global state to the state of the system.

Let y ∈ C and A an action of p (p ∈ V ). A is enabled for p in y if and only if the guard of A is satisfied by p in y. Processor p is enabled in y if and only if at least one action is enabled at p in y. Let P be a distributed protocol which is a collection of binary transition relations denoted by →, on C. An execution of a protocol P is a maximal sequence of configurations e = y 0 y 1 ...y i y i+1 . . . such that, ∀ i ≥ 0, y i → y i+1 (called a step) if y i+1 exists, else y i is a terminal configuration. Maximality means that the sequence is either finite (and no action of P is enabled in the terminal configuration) or infinite. All executions considered here are assumed to be maximal. ξ is the set of all executions of P . Each step consists on two sequential phases atomically executed: (i) Every processor evaluates its guard; (ii) One or more enabled processors execute its enabled actions. When the two phases are done, the next step begins. This execution model is known as the distributed daemon [START_REF] Burns | Proceedings of the MCC Workshop on Self-Stabilizing Systems[END_REF]. We assume that the daemon is weakly fair, meaning that if a processor p is continuously enabled, then p will be eventually chosen by the daemon to execute an action.

In this paper, we use a composition of protocols. We assume that the above statement (ii) is applicable to every protocol. In other words, each time an enabled processor p is selected by the daemon, p executes the enabled actions of every protocol.

Snap-Stabilization.

Let Γ be a task, and S Γ a specification of Γ . A protocol P is snap-stabilizing for S Γ if and only if ∀Γ ∈ ξ, Γ satisfies S Γ .

Message Forwarding Problem. The message forwarding problem is specified as follows: Specification 1 (SP ) A protocol P satisfies SP if and only if the following two requirements are satisfied in every execution of P : (i) Any message can be generated in a finite time. (ii) Any valid message is delivered to its destination once and only once in a finite time.

Buffer Graph A Buffer Graph [START_REF] Merlin | Deadlock avoidance in store-and-forward networks[END_REF] is defined as a directed graph on the buffers of the graph i.e., the nodes are a subset of the buffers of the network and links are arcs connecting some pairs of buffers, indicating permitted message flow from one buffer to another one. Arcs are only permitted between buffers in the same node, or between buffers in distinct nodes which are connected by a communication link.

Message Forwarding

In this section, we first give an overview of our snap stabilizing Solution for the message forwarding problem, then we present the formal description followed by some sketches of the proofs of correctness.

Overview of the Solution

In this section, we provide an informal description of our snap stabilizing solution that solves the message forwarding problem and tolerates the corruption of the routing tables in the initial configuration. We assume that there is a selfstabilizing algorithm that calculates the routing tables and runs simultaneously to our algorithm. We assume that our algorithm has access to the routing tables via the function N ext p (d) which returns the identity of the neighbour to which p must forward the message to reach the destination d. In the following we assume that there is no message in the system whose destination is not in the system. Before detailing our solution let us define the buffer graph used in our solution:

Let δ(p) be the degree of the processor p in the tree structure. Each processor p has (i) one internal buffer that we call Extra buffer denoted EXT p . (ii) δ(p) input buffers allowing p to receive messages from its neighbors. Let q ∈ N p , the input buffer of p connected to the link (p, q) is denoted by IN p (q). (iii) δ(p) output buffers allowing it to send messages to its neighbors. Let q ∈ N p , the output buffer of p connected to the link (p, q) is denoted by OU T p (q). In other words, each processor p has 2δ(p) + 1 buffers. The generation of a message is always done in the output buffer of the link (p, q) so that, according to the routing tables, q is the next processor for the message in order to reach its destination.

The overall idea of the algorithm is the following: When a processor wants to generate a message, it consults the routing tables to determine the next neighbour by which the message will transit in order to reach its destination. Once the message is on system, it is routed according to the routing tables: Let us refer to nb(m, b) as the next buffer b ′ of the message m stored in b, b ∈ {IN p (q) ∨ OU T p (q)}, q ∈ N p . We have the following properties:

1. nb(m, IN p (q)) = OU T p (q ′ ) such as q ′ is the next process by which m has to transit to reach its destination. 2. nb(m, OU T p (q)) = IN q (p) Thus, if the message m is in the Output buffer OU T p (q) such as p is not the destination then it will be automatically copied in the Input buffer of q. If the the message m is in the Input buffer of p (IN p (q)) then if p is not the destination it consults the routing tables to determine which is the next process by which the message has to pass in order to meet its destination.

Note that when the routing tables are stabilized and when all the messages are in the right direction, the first property nb(m, IN p (q)) = OU T p (q ′ ) is never verified for q = q ′ . However, this is not true when the routing tables are not yet stabilized and when some messages are in the wrong direction.

Let us now recall the message progression. A buffer is said to be free if and only if it is empty (it contains no message) or contains the same message as the input buffer before it in the buffer graph buffer. In the opposite case, a buffer is said to busy. The transmission of messages produces the filling and the cleaning of each buffer, i.e., each buffer is alternatively free and busy. This mechanism clearly induces that free slots move into the buffer graph, a free slot corresponding to a free buffer at a given instant.

In the following, let us consider our buffer graph taking in account only active arcs (an arc is said to be active if it starts from a non empty buffer). Observe that in this case the sub graph introduced by the active arcs can be seen as a resource allocation graph where the buffers correspond to the resources, for instance if there is a message m in IN p (q) such as nb(m, IN p (q)) = OU T q ′ (p) then m is using the resource (buffer) IN p (q) and it is asking for another resource which is the output buffer OU T p (q ′ ). In the following we will refer to this sub graph as the active buffer graph.

It is known in the literature that a deadlock situation appears only in the case there exists a cycle in the resource allocation graph. Note that this is also the case in our active buffer graph. Observe that because our buffer graph is built on a tree topology, if a cycle exists then we are sure that there are at least two messages m and m ′ that verifies the following condition: nb(m, IN p (q)) = OU T p (q) ∧ nb(m ′ , IN p ′ (q ′ )) = OU T p ′ (q ′ ). Since in this paper we consider a distributed system, it is impossible for a processor p to know whether there is a cycle in the system or not if no mechanism is used to detect them. The only thing it can do is to suspect the presence of a cycle in the case there is one message in its input buffer IN p (q) that has to be sent to OU T p (q). In order to verify that, p will initiate a token circulation that will follow the active buffer graph starting from the input buffer containing the message m. By doing so, the token circulation either finds a free buffer (refer to Figure 1,(b)) or detects a cycle. Note that two kinds of cycle can be detected: (i) a Full-Cycle involving the first input buffer containing m (refer to Figure 1,(a)) or (ii) a Sub-Cycle that does not involve the input buffer that contains the message m (refer to Figure 1,(c)).

If the token circulation has found an empty buffer (Let refer to it as B), the idea is to move the messages along the token circulation path to make the free slot initially on B move. By doing so, we are sure that OU T p (q) becomes free. Thus p can copy the message m directly to OU T p (q) (Note that this action has the priority on all the other enabled actions). If the token circulation has detected a cycle then two sub-cases are possible according to the type of cycle detected: (i) The case of a Full-Cycle: Note that in this case p is the one that detects the cycle. The aim will be to release OU T p (q). (ii) The case of a Sub-Cycle: In this case the processor containing the last buffer B that is reached by the token is the one that detects the cycle (Processor q in Figure 1,(c)). Note that B is an input buffer. The aim in this case is to release the output buffer B ′ by which the message m in B has to be forwarded to in order to meet its destination (OU T q (r) in Figure 1,(c)). Note that B ′ is in this case part of the path of the token circulation. In both cases (i) and (ii), the processor that detects the cycle copies the message from the corresponding input buffer (either from IN p (q) or B) to its extra buffer. By doing so the processor releases its input buffer. The idea is to move messages on the token circulation's path to make the free slot that was created on the input buffer move. This ensures that the corresponding output buffer will be free in a finite time (either OU T p (q) or B ′ ). Thus the message in the extra buffer can be copied in the free slot on the output buffer. Thus one cycle has been broken.

Note that many token circulations can be executed in parallel. To avoid deadlock situations between the different token circulations (refer to Figure 1,(d)), the token circulation with an identifier id can use a buffer of another token circulation having the identifier id ′ if id < id ′ . Note that by doing so, one token circulation can break the path of another one when the messages move to escort the free slot. The free slot can be then lost. For instance, in Figure 2, we can observe that the free slot that was produced by T 1 is taking away by T 2. By moving messages on the path of T 2, a new cycle is created again, involving q and p. If we suppose that the same thing happens again such as the extra buffer of s becomes full and that s and p becomes involved again in the another cycle then the system is deadlocked and we cannot do anything to solve it since we cannot erase any valid message. Thus we have to avoid to reach such a configuration dynamically. To do so, when the token circulation finds either a free buffer or detect a cycle, it does the reverse path in order to validate its path. Thus when the path is validated no other token circulation can use a buffer that is already in the validated path. Note that the token is now back to the initiator. To be sure that all the path of the token circulation is a correct path (it did not merge with another token circulation that was in the initial configuration), the initiator sends back the token to confirm all the path. In another hand, since the starting configuration can be an arbitrary configuration, we may have in the system a path of a token circulation that forms a cycle. To detect and release such a situation, a value is added to the state of each buffer in the following manner: If the buffer B i has the token with the value x, then when the next buffer B i+1 receive the token it will set it value at x + 1. Thus we are sure that in the case there is a cycle there will be two consecutive buffers B and B ′ having respectively x and x ′ as a value in the path of the cycle such as x = x ′ . Thus this kind of situation can be detected.

Formal Description of the Solution

In this section we first define the data and variables that are used for the description of our algorithms. We then present the formal description of both the Token Circulation algorithm and the message forwarding algorithm.

Character '?' in the predicates and the algorithms means any value.

-Procedures

• N ext p (d): refers to the neighbour of p given by the routing tables for the destination d.

• Deliver p (m): delivers the message m to the higher layer of p.

• Choice(c): chooses a color for the message m which is different from the color of the message that are in the buffers connected to the one that will contain m.

-Variables

• IN p (q):
The input buffer of p associated to the link (p, q).

• OU T p (q): The output buffer of p associated to the link (p, q).

• EXT p : The Extra buffer of processor p.

• S pqi = (id, previous, next, phase, x): refers to the state of the input buffer of the process p on the link (p,q). id refers to the identity of the process that initiates the token circulation. previous is a pointer towards the output buffer from which the buffer pqi received the token (it refers to the output buffer of q on the link (q,p)). next is also a pointer that shows the next buffer that received the token from the input buffer of p on the link (p,q). phase ∈ {S, V, F, C, E} defines the state of the token circulation to determine which phase is executed respectively (Search, Validation, Confirm, Escort or non of these "Clean" State).

x is an integer which will be used in order to break incorrect cycles.

• S pqo = (id, previous, next, phase, x): As for the input buffer, S pqo = (id, previous, next, phase, x) refers to the state of the output buffer of the process p connected to the link (p,q). The attributes have the same meaning as previously. • prev pqo : q ′ ∈ N p such as S pq ′ i = (id q ′ , q ′ po, pqo, S, ?) ∧ id q ′ = min{id q ′′ , q ′′ ∈ N p ∧ S pq ′′ i = (id q ′′ , q ′ po, pqo, S, ?)}.

• Small p : q ∈ N p such as ∃ q ′ ∈ N p , S pqi = (id q , ?, pq ′ o, F, x) ∧ S pq ′ o = (id q , X, q ′ pi, F, z) ∧ X = pqi ∧ z = x + 1 ∧ id q = min{id q ′′ , q ′′ ∈ N p ∧ S pq ′′ i = (id q ′′ , ?, pro, F, x ′ ) ∧ S pro = (id q ′′ , X ′ , rpi, F, z ′ ) ∧ X ′ = pq ′′ i ∧ z ′ = x ′ + 1.
-Predicates

• N O -T oken p : ∀ q ∈ N p , S pqi = (-1, N U LL, N U LL, C, -1) ∧ S pqo = (-1, ?, ?, ?) ∧ S qpo = (-1, N U LL, N U LL, C, -1)
-We define a fair pointer that chooses the actions that will be performed on the output buffer of a processor p. (Generation of a message or an internal transmission).

Algorithm 1 Token circulation -Initiation and Transmission

Token initiation R1: T okenp(q) ∧ Spqo = (-1, N ULL, N ULL, C, -1) ∧ Spqo = Spqi → Spqi := (p, N ULL, pqo, S, 0), Spqo := (p, pqi, qpi, S, 1)

Token transmission -Search phase • R2: ∃ q, q ′ ∈ Np, Sqpo = (id, ?, pqi, S, x) ∧ INp(q) = (m, d, c) ∧ N extp(d) = q ′ ∧ S pq ′ o =
(id, ?, ?, ?, ?) ∧ Spqi = (id ′ , ?, ?, V ∨ F ∨ E, ?) ∧ (Spqi = (id ′′ , ?, ?, ?, ?) ∧ id ′′ <= id) → Spqi := (id, qpo, pq ′ o, S, x + 1) • R3: ∃ q, q ′ ∈ Np, prevpqo = q ′ ∧ S pq ′ i = (id, q ′ po, pqo, S, x) ∧ (Sqpi = (id, ?, ?, ?, ?) ∧ Spqo = (id ′′ , ?, ?, V ∨ F ∨ E, ?) ∧ Spqo = (id ′ , ?, ?, ?, ?)

∧ id ′ <= id ∧ OUTp(q) = ǫ ∧ OUTp(q) = INq(p) → Spqo := (id, pq ′ i, qpi, S, x + 1) -Validation phase • Initiation
Algorithm 2 Token Circulation -Cleaning Phase and Correction

--Cleaning phase • Initiation * R20: ∃ q ∈ Np, Spqi = (id, N ULL, pqo, E, 0) ∧ Spqo = (id, pqi, qpi, E, 1) → Spqi := (-1, N ULL, N ULL, C, -1) * R21: ∃ q, q ′ ∈ Np, S pq ′ i = (id, q ′ po, pqo, E, x) ∧ Spqo = (id, X, qpi, E, z) ∧ X = pq ′ i → S pq ′ i := (-1, N ULL, N ULL, C, -1) * R22: ∃ q ∈ Np, Spqi = (id, qpo, N ULL, E, x) ∧ Sqpo = (id, ?, pqi, E, x -1) → Spqi := (-1, N ULL, N ULL, C, -1) * R23: ∃ q, q ′ ∈ Np, Spqo = (id, pq ′ i, qpi, E, x) ∧ S pq ′ i = (id, q ′ po, pqo, E, x -1) → S pq ′ i := (-1, N ULL, N ULL, C, -1) • Propagation * R24: ∃ q ∈ Np, Spqo = (id, X, qpi, E, x) ∧ SX = (id, ?, pqo, F, x -1) ∧ [(Sqpi = (id ′ , ?, ?, ?, ?) ∧ id = id ′ ) ∨ Sqpi = (-1, N ULL, N ULL, C, -1)] → Spqo := (-1, N ULL, N ULL, C, -1) * R25: ∃ q ∈ Np, Spqi = (id, qpo, pq ′ o, E, x) Sqpo = (id, ?, pqi, F, x -1) ∧ [(S pq ′ o = (id ′ , ?, ?, ?, ?) ∧ id = id ′ ) ∨ S pq ′ o = (-1, N ULL, N ULL, C, -1)] → Spqo := (-1, N ULL, N ULL, C, -1) -Correction rules • Freeze Cleaning * Initiation -R26: ∃q, q ′ ∈ Np, Spqo = (id, pq ′ i, qpi, S ∨ V ∨ F, ?) ∧ [S pq ′ i = (-1, N ULL, N ULL, C, -1) ∨ (S pq ′ i = (id ′ , ?, ?, ?, ?) ∧ id ′ = id) ∨ (S pq ′ i = (id, ?, M, ?, ?) ∧ M = pqo)] → Spqo := (id, pq ′ i, qpi, G, ?) -R27: ∃q, q ′ ∈ Np, Spqi = (id, qpo, pq ′ o, ?, ?) ∧ (Sqpo = (-1, N ULL, N ULL, C, -1) ∨ (Sqpo = (id ′ , ?, ?, ?, ?) ∧ id ′ = id)) → Spqi := (id, qpo, pq ′ o, G, ?) -R28: Spqi = (p, N ULL, pqo, ?, x) ∧ x > 0 → Spqi := (p, N ULL, pqo, G, x) -R29: ∃ q, q ′ ∈ Np, Spqi = (id, ?, pq ′ o, ?, x) ∧ Spqo = (id, pq ′ i, qpi, ?, z) ∧ z = x + 1 → Spqi := (id, ?, pq ′ o, G, x) -R30: ∃ q ∈ Np, Spqi = (id, qpo, pqo, ?, x) ∧ Sqpo = (id, ?, pqi, ?, z) ∧ z = x + 1 → Spqi := (id, qpo, pqo, G, x) -R31: ∃ q ∈ Np, [(Spqo = (id, ?, qpi, S, x) ∧ Sqpi = (id, pqo, ?, F ∨ E, x + 1)) ∨ (Spqo = (id, ?, qpi, F, x) ∧ Sqpi = (id, pqo, ?, S, x + 1)) ∨ (Spqo = (id, ?, qpi, V, x) ∧ Sqpi = (id, pqo, ?, E ∨ S, x + 1))] → Spqo := (id, ?, qpi, G, x) -R32: ∃ q, q ′ ∈ Np, [(Spqi = (id, ?, pq ′ o, S, x) ∧ S pq ′ o = (id, pqi, ?, F ∨ E, x + 1)) ∨ (Spqi = (id, ?, pq ′ o, F, x) ∧ S pq ′ o = (id, pqi, ?, S, x + 1)) ∨ (Spqi = (id, ?, pq ′ o, V, x)
∧ S pq ′ o = (id, pqo, ?, E ∨ S, x + 1))] → Spqi := (id, ?, pq ′ o, G, x) * Propagation -R33:∃ q, q ′ ∈ Np, Sqpo = (id, ?, pqi, G, ?) ∧ Spqi = (id, qpo, pq ′ o, S ∨ V ∨ F ∨ E, ?) → Spqi := (id, qpo, pq ′ o, G, ?) -R34: ∃ q, q ′ ∈ Np, prevpqo = q ∧ Spqi = (id, ?, p,?,?,?,?) → T okenp(q) := f alse

pq ′ i, G, ?) ∧ S pq ′ o = (id, qpo, q ′ pi, S ∨ V ∨ F ∨ E, ?) → S pq ′ o := (id, pqi, q ′ pi, G, ?) * Cleaning -R35: ∃q, q ′ ∈ Np, Spqi = (id, qpo, pq ′ o, G, x) ∧ [S pq ′ o = (-1, N ULL, N ULL, C, -1) ∨ (S pq ′ o = (id ′ , ?, ?, ?, ?) ∧ id ′ = id) ∨ (S pq ′ o = (id, ?, qpi, G, z) → Spqi := (-1, N ULL, N ULL, C, -1) -R36: ∃q, q ′ ∈ Np, Spqo = (id, pq ′ i, qpi, G, x) ∧ [Sqpi = (-1, N ULL, N ULL, C, -1) ∨ (Sqpi = (id ′ , ?, ?, ?, ?) ∧ id ′ = id) ∨ (Sqpi = (id, pqo, ?, G, z) → Spqo := (-1, N ULL, N ULL, C, -1) • R37: ∃ q, q ′ ∈ Np, Spqi = (id, ?, pq ′ o, G, x) ∧ S pq ′ o = (id, pqi, q ′ pi, G, z) ∧ z = x + 1 → Spqi := (-1, N ULL, N ULL, C, -1) • R38: ∃ q ∈ Np, Spqi = (id, qpo, pqo, G, x) ∧ Sqpo = (id, ?, pqi, G, z) ∧ z = x + 1 → Spqi := (-1, N ULL, N ULL, C, -1) • R39: T okenp (q) ∧ Spqi = (
• R40: ∃ q, q ′ ∈ Np, Spqi = (id, qpo, pq ′ o, F, x) ∧ S pq ′ o = (id, X, q ′ pi, S ∨ V, z) ∧ z = x + 1 → Spqi := (-1, N ULL, N ULL, C, -1) • R41: ∃ q ∈ Np, Spqi = (id, qpo, N ULL, S ∨ V ∨ F, x) ∧ INp(q) = ǫ → Spqi := (-1, N ULL, N ULL, C, -1) • R42: ∃ q, q ′ ∈ Np, Spqo = (id, pq ′ i, N ULL, S ∨ V ∨ F, x) ∧ OUTp(q) = ǫ → Spqo := (-1, N ULL, N ULL, C, -1) • R43 ∃ q ∈ Np, Spqo = (id, ?, qpi, V ∨ F, x) ∧ [(Sqpi = (id ′ , ?, ?, ?, ?) ∧ id = id ′ ) ∨ Sqpi = (-1, N ULL, N ULL, C, -1)] → Spqo := (-1, N ULL, N ULL, C, -1) • R44 ∃ q ∈ Np, Spqi = (id, qpo, pq ′ o, V ∨ F ∨ E, x) ∧ [(S pq ′ o = (id ′ , ?, ?, ?, ?) ∧ id = id ′ ) ∨ S pq ′ o = (-1, N ULL, N ULL, C, -1)] → Spqo := (-1, N ULL, N ULL, C, -1)

Proof of correctness

We prove in this section the correctness of our algorithm. The idea of the proofs is the following: we first show that no valid message is deleted from the system unless it is delivered to its destination. We then show that each buffer is infinitely often free, thus neither deadlocks nor starvation appear in the system. We finally show that every valid message is delivered to its destination once and only once in a finite time. Before detailing the proofs, let define some notions that will be used later.

Definition 1. Let B 1 and B 2 be two buffers and p, q and q ′ be processors in the network such that one of those properties holds:

-∃ p, q, q ′ such as

B 1 = IN p (q) ∧ B 2 = OU T p (q ′ ) -∃ p, q such as B 1 = OU T p (q) ∧ B 2 = IN q (p)
B2 is called the successor of B1 denoted by B 1 → B 2 if and only if S B1 = (id, ?, B 2 , ?, x) ∧ S B2 = (id, B 1 , ?, ?, x + 1)

Definition 2. A sequence of k buffers B 1 → B 2 → ... → B k starting from B 1
is called an abnormal sequence if the following property holds: S B1 = (id, ?, ?, ?, ?)

∧ (B 1 = IN p (q) ∨ B 1 = OU T p (q)) ∧ id = p A buffer B is said to be cleared if S B = (-1, N U LL, N U LL, C, -1)
. In the same manner, a sequence is said to be cleared, if all the buffers part of it becomes cleared in a finite time.

Let us state the following lemma:

Lemma 1 If the configuration contains an abnormal sequence S 1 of buffers B 1 → B 2 → ... → B k , then S 1 will be cleared in a finite time.

Proof. Since S 1 is an abnormal sequence. There is one processor p that has sent a token which it did not receive from any other processor (p is not the initiator). This processor is the one with the buffer B 1 . Note that p will be able to detect such a situation and either R26 or R27 will be enabled on p. When p executes either R26 or R27 the Freeze cleaning phase is initiated, thus, S B1 = (id, N U LL, B 2 , G, x). Either R33 or R34 becomes enabled on the process that has B 2 as a buffer. Once one of these two rules is executed S B2 = (id, B 1 , B 3 , G, ?), B 3 will set also its state to the Freeze cleaning phase, and so on. Thus all the buffers that are in the sequence B 1 → B 2 → ... → B k will be in the freeze phase G. Note that on the process p ′ that has B k as a buffer (note that B k is the last buffer of the sequence), either R35 or R36 is enabled on p ′ . Once p ′ executes one of these rules B k is cleared. R35 or R36 becomes then enabled on the process that has B k-1 as a buffer. Thus when one of these rules is executed B k-1 is cleared as well and so on. Thus we are sure that after a finite time each buffer that is in S 1 will clear its state and the Lemma holds. Note that the sequence S 1 can be broken (another token circulation with a smallest identifier can use one of the buffer of S 1 ). Note that in this case S 1 is divided in two sub abnormal sequence. Each sub abnormal sequence will behave on its own. Thus the buffers in each sub abnormal sequence will be cleared in a finite time. Observe that if in the sequence S B k = (id, B k-1 , B 1 , ?, z) and S B1 = (id, B k , B 2 , ?, x) then we are sure that z = x + 1. In this case too, the processor having B 1 as a buffer will be able to detect such a situation and initiates the freeze cleaning phase as previously. Thus the lemma holds.

2

Let p, q and q ′ be processors such as q, q ′ ∈ N p , we state the following Lemma:

Lemma 2 If a valid message m is copied in EXT p from IN p (q) in order to be copied later in OU T p (q ′ ), then when S pq ′ o = (id, ?, ?, E, ?), EXT p is free.

Proof. Since the message m is copied in EXT p , m is in the wrong direction. IN p (q) containing m is part of a complete token circulation T i.e., a token circulation that validated and confirmed all its path (Recall that no message can be generated in the presence of a token circulation (see Rule R ′ 1) and, if an abnormal token circulation reaches IN p (q) after the generation of the message m, we are sure that the path of such a token will never be confirmed moreover all the buffers part of it will clear their state in a finite time (refer to Lemma 1)). To simplify the explanation let us define T as follow:

T = B 1 → B 2 → ... → B k . Note that IN p (q) (
mentioned in the lemma) can be either B 1 (in the case of a full-cycle) or B k (in the case of a sub-cycle). In the following we will consider only the case of a full-cycle (the same reasoning holds for the subcycle case). We show that there is a synchrony between the forwarding and the token circulation algorithms. When the token circulation confirmed all its path (all the buffer part of T have their State attribute set at E), R ′ 11 and R13 becomes enabled on p. Recall that in this case p executes both of them, thus m is copied in EXT p , B 1 = B K and S B1 = (id, N U LL, B 2 , E, 0) (B K becomes a free buffer). R17 becomes enabled on the processor with the buffer B k . When the rule is executed S B k = (id, B k-1 , B 1 , E, x). Observe that B K is an output buffer whereas B k-1 which is an input buffer. Both R ′ 4 and R18 become enabled on the processor with the two buffers B k and B k-1 . When both rules are executed S B k-1 = (id, B k-2 , B k , E, x) and B k-2 = B k-1 . Note that the same situation as the first one appear. We can observe that when an output buffer B part of T is free with the state S B = (id, ?, ?, F, z), R17 is enabled on the processor p ′ with the buffer B, thus the state of B will be set to S B = (id, ?, ?, E, z) and notice that B remains free. Thus on p ′ two rules will be enabled (the internal transmission (R ′ 4) and the propagation of the escort phase (R18)), when both are executed we retrieve the same situation with another empty output buffer, and so on. Hence we are sure that on the processor p, R ′ 13 and R19 will be enabled at the same time. When both rules are executed, EXT p is free and S B2 = (id, B 1 , B 3 , E, 1) where B 2 refers to OU T p (q) and the lemma holds.

2

We can now detect in some cases if the message in the extra buffer is invalid (it was in the initial configuration). Note that the algorithm deletes a message only in such cases (when we are sure that the message in the extra buffer is invalid), refer to Rules R ′ 15 and R ′ 16. Thus we have the following Theorem: Theorem 1. No valid message is deleted from the system unless it is delivered to its destination.

Proof. The proof is by contradiction: we first suppose that there is a message m that is deleted without being delivered to its destination.

-By construction of R ′ 3 and R ′ 4, this cannot be a result of an internal forwarding since the message m is first of copied in OU T p (q) before being erased from IN p (q). Note that these two rules are enabled only if OU T p ( q) = IN q (p) or OU T p (q) = ǫ. Hence when the message m is copied in the OU T p (q) no message is deleted. -By the construction of Rule R ′ 5 and R ′ 6, the message is only copied in IN p (q) and not deleted from the OU T q (p). Note that IN p (q) is empty. Thus no message is erased in this case.

-By the construction of rule R ′ 7 and R ′ 8, the message in OU T p (q) is deleted.

However note that in this case OU T p (q) = IN q (p). Thus there is still a copy in the system of the message erased. -By the construction of rule R ′ 9, R ′ 13 and R ′ 14. The message is first copied in OU T p (q) (note that OU T p (q) is in this case empty) before being erased. -same holds for R ′ 11 and R ′ 12, the message in IN p (q) is first copied in EXT p (note that EXT p is in this case empty), before being erased. Thus there is still a copy in the system of such a message. -Concerning R ′ 15 and R ′ 16, according to Lemma 2. If one of these rules (R ′ 15 or R ′ 16) is enabled in p then we are sure that the message in EXT p is an invalid message. Thus when the processor p executes on of them, no valid message is deleted.

We can deduce from all the cases above that no valid message is deleted unless it is delivered to its destination, hence the lemma holds. 2

We now show in Lemma 3 that the extra buffer of any processor p cannot be infinitely continuously busy (Recall that the extra buffer is used to solve the problem of deadlocks).

Lemma 3 If the extra buffer of the processor p (EXT p ) contains a message, then this buffer becomes free after a finite time.

Proof. Suppose that the extra buffer contains a message. The cases below are possible:

1. There is no token circulation including an input buffer of p. In this case the message that is in the extra buffer EXT p is deleted by the processor p by executing either R ′ 15 or R ′ 16 and the lemma holds. 2. There is no q, q ′ ∈ N p such that either (i) S pqi = (id, N U LL, pqo, State, 0) and S pqo = (id, pqi, qpi, State ′ , 1) or, (ii) S pqi = (id, qpo, pq ′ o, State, x) and S pq ′ o = (id, X, q ′ pi, State ′ , z) and z = x+1 hold. In this case too the message that is in the extra buffer EXT p is deleted by the processor p by executing either R ′ 15 or R ′ 16 and the lemma holds. Observe that if either (i) or (ii) holds for q, q ′ ∈ N p such that State = E and State ′ = F then in this case too the message in EXT p is deleted.

3. if there exists q, q ′ ∈ N p such that either (i) S pqi = (id, N U LL, pqo, E, 0) and S pqo = (id, pqi, qpi, F, 1) or, (ii) S pqi = (id, qpo, pq ′ o, E, x)andS pq ′ o = (id, X, q ′ pi, F, z) and z = x + 1 holds then the following two sub-cases are possible:

-The token circulation is an abnormal sequence. In this case, we are sure that all the buffers part of it will clear their state (refer to Lemma 1). Thus we retrieve case 1. -The token circulation is a valid token circulation. In this case we are sure that the state of OU T p (q) (resp, OU T p (q ′ )) will be set at (id, ?, ?, E, ?). Thus if OU T p (q) (resp OU T p (q ′ )) is free then the message in EXT p is copied in it (refer to Rules R ′ 13 and R ′ 14). If it is not free the message in EXT p is deleted (refer to R ′ 15 and R ′ 16).

From the cases above, we can deduce that if EXT p is occupied then it will be cleared in a finite time. 2

Lemma 4 If there is a Token Circulation that validates all its sequence, then all the buffers part of it will clear their state in a finite time.

Proof. Let refer to the Token Circulation as T = B 1 → B 2 → ... → B k . Since the token circulation validates all its path then either it found a free buffer or detects a cycle. Note that (i) if its' non of these cases hold then the last buffer of the sequence B k will clear its state (R41 or R42 is executed). B k-1 then does the same and so on. Otherwise, (ii) the Confirm phase is initiated by the initiator of T and we can easily show that all the buffers part of T will update their state to the confirm phase in a finite time. The escort phase is then initiated by either the initiator of T (in the case of a full-cycle) or by the processor that has B k as a buffer. Observe that the escort phase progresses in the reverse sequence of T when it reaches the initiator (in the case of a full cycle) the initiator initiates the cleaning phase by clearing B 1 (In the case of a sub-cycle the processor that detects the sub-cycle is the one that initiates the cleaning phase when its corresponding output buffer updates its state to the escort phase. For instance, in Figure 2,(c), the processor q detects the cycle. q initiates the cleaning phase when it updates the state of OU T q (r) to (id, ?, rqi, E, In the same manner B k-1 will clear its state and so on. Thus in this case too we are sure that all the buffers part of T will clear their state in a finite time. Observe that in the case T found a free buffer the cleaning phase is initiated by the processor with the buffer B k . B k-1 clears then its state and so on. Thus we are sure that all the buffers part of T will clear their state in a finite time and the lemma holds. 2 Lemma 5 In the case where T oken p (q) = true, it will be set at false in a finite time.

Proof. Note that in the case T oken p (q) = true and the rule that allows the initiation of the token circulation is enabled, T oken p (q) will be set at false by the token circulation algorithm when the this rule is executed. Otherwise, the two cases below are possible:

-S pqi = (id, ?, ?, ?, ?), in this case T oken p (q) will be set at false by the Token Circulation algorithm by executing R39 (Note that R39 is enabled on p and the daemon is weakly fair). -S pqi = (-1, N U LL, N U LL, C, -1). In the case the next processor by which the message that is in IN p (q) have to pass to reach the destination is q then the rule that allows the initiation of the token circulation is enabled on p. Thus, T oken p (q) will be set at false by the token circulation algorithm when the this rule is executed. Otherwise, T oken p (q) will be set at false by executing R ′ 17 that is enabled on p.

From the cases above we can deduct that in the case T oken p (q) = true, it will be set at false in a finite time and the lemma holds.

2

Lemma 6 If there is a processor that wants to generate a token circulation, it will be able to do it in a finite time.

Proof. From Lemma 5 we know that if T oken p is true then it will be set at false in a finite time. From Lemma 3 if EXT p is occupied, then it will be cleared in a finite time. From Lemma 4 and Lemma 1 we know that if there is a token circulation that is executed all the buffers part of it will clear their state in a finite time. Thus when p wants to generate a token circulation it will be able to do it in a finite time. 2

Lemma 7 If there are some Token Circulations that are initiated then at least one of them will validate all its path.

Proof. Let us focus on the token circulation that has the smallest id (Let this token be T 1). When such a token circulation is initiated, the only things that can stop its progression is the presence on the path of another token circulation T 2 that is in the Valid phase. Thus the following cases are then possible:

1. i) T 2 is a correct token circulation. In this case two sub cases are possible as follow: i) all the path of T 2 has been validated. No other token circulation can break T 2. Thus according to Lemma 4, we are sure that the state of all the buffers of the path will be clean in a finite time. Thus T 1 can continue its progression. ii) There is another token circulation T 3 that cut T 2. Note that in this case there is a part of the path that has been broken. An abnormal sequence is then created (Note that the buffers that were part of T 2 that are in the valid phase are part of the abnormal sequence). According to Lemma 1, the state of the buffers of the sequence will cleared. Thus T 1 can continue its progression. 2. ii) T 2 is not a correct token circulation. In this case T 2 is an abnormal sequence. In this case according to Lemmas 1. The state of the buffers part of T 2 will be cleared in a finite time. Thus T 1 can continue its progression. Note that T 2 can behave as a valid token circulation. In this case we retrieve case 1.

In both cases T 1 continues its progression. Thus we are sure that T 1 will be able to reach the last buffer B i such as B i is either empty or it wants to send the token to a buffer that is already in the path of T 1. Note that on the processor that contains B i either R4 or R5 or R6 or R7 are enabled. The second phase is then initiated (the state of B i will be valid). It is easy to prove by induction that all the buffer on the path of T 1 will be validated since that we are sure that there is no other token circulation that can break T 1 (Recall that T 1 has the smallest id). Thus the lemma holds.

2

We can then deduce that at least one message will undergo a route change. The next lemma follows:

Lemma 8 When the routing tables are stabilized all the messages will be in a suitable buffer in a finite time.

Proof. Note that when the routing tables are stabilized, some messages may be on the wrong direction, however, we are sure that the number of such messages will never increase since both the generation and the routing of messages is always done in the right buffer (Recall that the routing tables are stabilized). In another hand according to Lemma 3, if the extra buffer of p (EXT p ) is occupied, it will be free in a finite time. Suppose that p is the processor that has an input buffer that contains a message m that is not in a suitable buffer. This process will initiates a token circulation. According to Lemma 7. There is at least one token circulation that will finish its execution (Suppose that this token circulation is the one that was initiated by p). Thus we are sure that the output buffer of p (the next destination of m) will be free in a finite time (refer to Lemma 2. Thus the message in m will be copied in the free output buffer. Note that once it is copied in the corresponding output buffer, it becomes in a suitable buffer. Hence the number of the messages that are not in a suitable buffer decreases at each time. Thus we are sure that at the end all the messages will be in the right direction and hence in a suitable buffer and the lemma holds.

2

Lemma 9 When the routing tables are stabilized and all the messages are in suitable buffer, no Token circulation is initiated.

Proof. According to Lemma 5. For any q ∈ N p T oken p (q) will be set at false in a finite time. Note that the only rule that set T oken pq at true is R ′ 10. However R ′ 10 is never enabled since all the messages on the system are in suitable buffer and since the routing tables are correct (all messages are generated and routed in suitable buffers as well). Thus the lemma holds.

2

The fair pointer mechanism cannot be disturbed anymore by the token circulations. Note that our buffer graph is a DAG when the routing tables are stabilized Thus: Lemma 10 All the messages progress in the system.

Proof.

In order to prove the lemma, it is sufficient to prove that all the buffers are continuously free. Note that if ∃ q ∈ N p such as , IN p (q) is free then if there is a message in OU T q (p), this message is automatically copied in IN p (q) and thus OU T q (p) becomes free. Hence it is sufficient to prove that the input buffers are free in a finite time. To do so, let's prove that ∀ p ∈ I, when there is a message in IN p (q), this message is deleted from IN p(q) in a finite time (q ∈ N p ).

Recall that after the stabilization of the routing tables all the messages will be in the right direction and no token circulation is initiated (refer to Lemma 8 and 9). Let consider the system after the stabilization of the routing tables and when all the messages are in the right direction. Let consider the message m that is in the input buffer of the processor p, referred to as B 1 . Let B 1 , B 2 , B 3 , ..., B k the be the sequence of buffers starting from B 1 such as B i = m ′ and B i+1 is the next buffer by which m ′ should pass by to reach its destination. Note that B i is an input buffer when i is odd. In the worst case ∀ 1 < i ≤ k all the buffers are full and B k is the input buffer of a leaf processor that we will call p 0 (Recall the all the messages are on the right direction). Note that the input-buffers in the sequence B 1 , B 2 , B 3 , ..., B k are all at an even distance from the input buffer B k . Let define δ as the distance between the input buffer of the processor p and the input buffer of processor p 0 (B k ). The lemma is proved by induction on δ. We define for this purpose the following predicate P δ : If there is a message m in B i such as B i is an input buffer and at distance δ from the input buffer B k then one of these two cases happens:

m is consumed and hence delivered to its destination.

m is deleted from the input buffer and copied in B i+1 (which is an output buffer).

Initialization. Let's prove the result for B k on p 0 . Suppose that there is a message m in B k . In this case we are sure that p 0 is the destination of the message (otherwise the message m is in the wrong direction since p 0 is a leaf processor). Thus, in this case, since the daemon is weakly fair and since R ′ 2 keep being enabled on p 0 then R ′ 2 will be executed in a finite time and the message m in B k is consumed. Thus P 0 is true.

Induction. let δ 1. We assume that P 2δ is true and we prove that P 2δ+2 is true as well (Recall that the input buffers are at an even distance from the input buffer B k that in the processor p 0 ). Let B i on be the input buffer of p that is at distance 2δ from B k and B i-2 the one that is on p ′ being at distance 2δ + 2 from B k containing the message m. In the case where the destination of m is p ′ then it will be consumed in a finite time (the daemon is weakly fair and R ′ 2 keep being enabled on p ′ . Thus p ′ will execute R ′ 2 in a finite time). Hence P 2δ+2 is in this case true. In the other case (the destination of m is different from p ′ ), since P 2δ is true then if there is a message m in B i then we are sure that this message will be either consumed or copied in B i+1 . Thus B i becomes a free buffer. The cases bellow are possible according to the rule that is executed on B i-1 :

1. R ′ 3 is executed. In this case one message that is in an input buffer of p is copied in B i-1 . However, since the pointer on B i-1 is fair, we are sure that the message m in B i-2 will be copied in B i-1 . Thus B i-2 will be free in a finite time and the lemma holds.

2. a message m ′ is generated in B i-1 . However since P 2δ is true B i becomes free in a finite time thus m ′ will be copied in B i in a finite time. Thus B i-1 becomes free. Nevertheless, since one message has been generated in the previous step, we are sure that R ′ 3 will be the one that will be executed. Thus we retrieve Case 1.

2

Lemma 11 Any message can be generated in a finite time under a weakly fair daemon.

Proof. According to Lemma 9, no token is initiated when the routing tables are stabilized and when all the messages are in suitable buffers, thus the fair pointer mechanism cannot be disturbed by the token circulation anymore. Note that since the routing tables are stabilized and since the buffer graph is a DAG no deadlocks happens. Thus all the messages progress in the system. Suppose that the processor p wants to generate a message. Recall that the generation of a message m for the destination d is always done in the output buffer of the processor p connected to the link (p, q) such as N ext p (d) = q. Two cases are possible:

1. OU T p (q) = ǫ . In this case, the processor executes either R ′ 1 or R ′ 3 in a finite time. the result of this execution depends on the value of the pointer. Two cases are possible:

the pointer refers to R ′ 1. Then p executes R ′ 1 and hence it generates a message. Thus we obtain the result. -the pointer refers to R ′ 3. Then p executes R ′ 3 in a finite time. Hence OU T p (q) = ǫ and we retrieve case 2. Note that the fairness of the pointer guarantees us that this case cannot appear infinitely. 2. OU T p (q) = ǫ. Since all the messages move gradually in the buffer graph we are sure that OU T p (q) will be free in a finite time and we retrieve 1.

We can deduct that every processor can generate a message in a finite time. 2

We can now state the following Theorem:

Theorem 2. Neither deadlock nor starvation situations appear in the system.

Proof. According to Lemma 10. All the messages progress in the system. Thus we are sure that there is no message that stays locked on one buffer. in another hand according to Lemma 11, every processors will be able to generate a message. Hence the Theorem holds.

2

Lemma 12

The forwarding protocol never duplicates a valid message even if the routing algorithm runs simultaneously.

Proof. Let consider the message m. The cases below are possible:

m is in EXT p . m is then either deleted or copied in OU T p (q). Since this operation is a local operation (the copy is done between two buffer of the same processor) m is copied in the new buffer and deleted from the previous one in a sequential manner.

m is in IN p (q). The cases are then possible:

• m is consumed (R ′ 2 is executed). The message m is deleted since a new value overwrites it. • m is copied in the extra buffer (R ′ 11 or R ′ 12 is executed). The message m is copied in the extra buffer and deleted from the input buffer since in both cases a new value overwrites it. • m is copied in the output buffer (R ′ 3 or R ′ 4 is executed). Note that this operation is a local operation. Thus m is copied in the output buffer an deleted from the input buffer (a new value overwrites it). -m is in OU T p (q). m is then copied in the input buffer of the processor q (IN q (p)). Hence two copies are in the system. However m in IN q (p) is neither consumed nor transmitted unless the copy in OU T p (q) is deleted (see Rules R ′ 2, R ′ 3 and R ′ 4).

From the cases above we can deduce that no message is duplicated in the system.

2

Theorem 3. The proposed algorithm (Algorithms 1, 2 and 3) is a snap-stabilizing message forwarding algorithm (satisfying SP ) under a weakly fair daemon.

Proof.

From Theorem 1 no valid message is deleted. From Theorem 2 There is no deadlocks in the system and all the processors are able to generates messages in a finite time. From Lemma 12, no message is duplicated. Hence, the theorem holds. 2

Conclusion

In this paper, we presented the first snap-stabilizing message forwarding protocol on trees that uses a number of buffers per node being independent of any global parameter. Our protocol uses only 4 buffers per link and an extra one per node. This is a preliminary version to get a solution that tolerates topology changes provided that the topology remains a tree.

Fig. 1 .

 1 Fig. 1. Instance of token circulations.

Fig. 2 .

 2 Fig. 2. Instance of a problem.

⋆ This work is supported by ANR SPADES grant.


Dr Jamel El-Benna
email: jamel.elbenna@inserm.fr

My-Chan Pham

Dang

Axel Périanin

PEPTIDE-BASED INHIBITORS OF THE PHAGOCYTE NADPH OXIDASE

Keywords: DPI, diphenylene iodonium, CGD, chronic granulomatous disease, fMLF, formyl-methionyl-leucyl-phenylalanine, MPO, Myeloperoxidase, phox, phagocyte oxidase, ROS, reactive oxygen species Phagocytes, NADPH-oxidase, inhibitors, gp91phox/NOX2, p22phox, p47phox

Phagocytes such as neutrophils, monocytes and macrophages play an essential role in host defenses against pathogens. To kill these pathogens, phagocytes produce and release large quantities of antimicrobial molecules such as reactive oxygen species (ROS), microbicidal peptides, and proteases. The enzyme responsible for ROS generation is called NADPH oxidase, or respiratory burst oxidase, and is composed of six proteins: gp91phox, p22phox, p47phox, p67phox, p40phox and Rac1/2. The vital importance of this enzyme in host defenses is illustrated by a genetic disorder called chronic granulomatous disease (CGD), in which the phagocyte NADPH oxidase is dysfunctional, leading to life-threatening recurrent bacterial and fungal infections.

However, excessive NADPH oxidase activation and ROS overproduction can damage surrounding tissues and participate in exaggerated inflammatory processes. As ROS production is believed to be involved in several inflammatory diseases, specific phagocyte NADPH oxidase inhibitors might have therapeutic value. In this commentary, we summarize the structure and activation of the phagocyte NADPH oxidase, and describe pharmacological inhibitors of this enzyme, with particular emphasis on peptide-based inhibitors derived from gp91phox, p22phox and p47phox.

Introduction

Reactive oxygen species (ROS) produced by phagocytes are one of the most powerful host defenses against bacteria, yeasts and fungi [START_REF] Babior | Oxidants from phagocytes: agents of defense and destruction[END_REF][START_REF] Hampton | Inside the neutrophil phagosome: oxidants, myeloperoxidase, and bacterial killing[END_REF]. ROS produced by phagocytes include superoxide anion (O 2 -. ), hydrogen peroxide (H 2 O 2 ), hydroxyl radical (OH°) and hypochlorous acid (HOCl). These ROS are produced in large quantities when phagocytes are stimulated by pro-inflammatory agents or by particles such as bacteria.

This process, known as the "oxidative burst" or "respiratory burst", is characterized by a rapid, cyanide-insensitive increase in oxygen uptake and glucose consumption [START_REF] Babior | Oxidants from phagocytes: agents of defense and destruction[END_REF][START_REF] Hampton | Inside the neutrophil phagosome: oxidants, myeloperoxidase, and bacterial killing[END_REF].

Superoxide anion (O 2 -. ), the precursor of the other ROS, is first produced by an enzyme called NADPH oxidase, as follows [START_REF] Hampton | Inside the neutrophil phagosome: oxidants, myeloperoxidase, and bacterial killing[END_REF][START_REF] El-Benna | Phagocyte NADPH oxidase: a multicomponent enzyme essential for host defenses[END_REF]: to oxidize tyrosines into tyrosyl radicals. HOCl-, chloramines and tyrosyl radicals, which are toxic species that serve to kill bacteria and other pathogens. The crucial role of phagocyte NADPH oxidase in host defenses against microbial pathogens is illustrated by a human genetic disorder called chronic granulomatous disease, which is associated with life-threatening recurrent bacterial and fungal infections [START_REF] Roos | Bernatowska-Matusskiewicz and middleton-Price H: Mutations in the X-Linked and Autosomal recessive forms of chronic granulomatous disease[END_REF]. However, excessive ROS production can damage healthy bystander tissues. ROS hyperproduction by neutrophils is believed to cause direct tissue insult in a broad range of inflammatory diseases, including rheumatoid arthritis, inflammatory bowel diseases, acute respiratory distress syndrome, sepsis, diabetic complications, cardiovascular disease, ischemic tissue injury and neurodegenerative diseases [START_REF] Babior | Phagocytes and oxidative stress[END_REF][START_REF] Lambeth | Nox enzymes, ROS, and chronic disease: an example of antagonistic pleiotropy[END_REF]. Pharmacological NADPH oxidase inhibition might therefore be beneficial in patients with these disorders. Currently, there are no specific inhibitors of the phagocyte NADPH oxidase.

Peptide-based inhibitors derived from specific subunits of the enzyme could provide a certain degree of specificity. In the first part of this manuscript, we review the principal features of NADPH oxidase in order to provide the information necessary to understand the action of the inhibitory peptides described in the second part.

Components of the phagocyte NADPH oxidase

The phagocyte NADPH oxidase is a multicomponent enzyme complex comprising six proteins, namely p22phox (phox: phagocyte oxidase), gp91phox, p47phox, p67phox,

A c c e p t e d M a n u s c r i p t 5 p40phox and the small G-protein Rac1 or Rac2. In resting cells the NADPH oxidase is inactive because its components are distributed between the cytosol (p47phox, p67phox, p40phox and Rac1/2) and the plasma membrane and membranes of specific granules (p22phox and gp91phox/NOX2, which form the flavocytochrome b 558 ). When cells are activated, the cytosolic components migrate to the membranes, where they associate with the membrane-bound components to assemble the catalytically active oxidase [START_REF] Groemping | Activation and assembly of the NADPH oxidase : a structural perspective[END_REF][START_REF] Babior | NADPH Oxidase: an update[END_REF].

Flavocytochrome b 558 is the central membrane-bound component of NADPH oxidase [START_REF] Vignais | The superoxide-generating NADPH oxidase: structural aspects and activation mechanism[END_REF]. It is composed of a 1:1 complex between a glycosylated 91-kDa protein subunit (gp91phox) of 570 amino acids (Figure1), and a non glycosylated 22-kDa subunit (p22phox) of 195 amino acids (Figure 2). Flavocytochrome b 558 contains one FAD and two hemes and forms the NADPH oxidase electron transfer chain [START_REF] Vignais | The superoxide-generating NADPH oxidase: structural aspects and activation mechanism[END_REF]. It serves as the central docking station for the cytosolic components, via numerous interaction sites [START_REF] Babior | NADPH Oxidase: an update[END_REF].

P22phox is phosphorylated on threonine residues by a phosphatidic acid-activated kinase and PKC [START_REF] Regier | A phosphatidic acid-activated protein kinase and conventional protein kinase C isoforms phosphorylate p22(phox), an NADPH oxidase component[END_REF]. Gp91phox phosphorylation in human neutrophils enhances its enzymatic activity and its binding to p47phox, p67phox and Rac1 [START_REF] Raad | Regulation of the phagocyte NADPH oxidase activity: phosphorylation of gp91phox/NOX2 by protein kinase C enhances its diaphorase activity and binding to Rac2, p67phox, and p47phox[END_REF].

P47phox is a cytosolic protein composed of 390 amino acids. Its COOH-terminal sequence is very basic and rich in serine and arginine [START_REF] Deleo | Assembly of the phagocyte NADPH oxidase: molecular interaction of oxidase proteins[END_REF][START_REF] El-Benna | p47phox, the phagocyte NADPH oxidase/NOX2 organizer: structure, phosphorylation and implication in diseases[END_REF]. The amino acid sequence of p47phox also contains two src-homology 3 (SH3) domains, one phox homology (PX) domain, a proline-rich region and one autoinhibitory region (AIR) (Figure 3). P47phox binds to the flavocytochrome b 558 during NADPH oxidase activation. P47phox is the subunit responsible for transporting the cytosolic complex A c c e p t e d M a n u s c r i p t 6 (p47phox-p67phox-p40phox) from the cytosol to the membrane during oxidase activation, and for organizing the different NADPH oxidase subunits. In intact cells, p47phox is extensively phosphorylated [START_REF] El-Benna | p47phox, the phagocyte NADPH oxidase/NOX2 organizer: structure, phosphorylation and implication in diseases[END_REF]. P67phox is composed of 526 amino acids, with two SH3 domains, four tetratricopeptide-rich regions and a proline-rich region [START_REF] Groemping | Activation and assembly of the NADPH oxidase : a structural perspective[END_REF][START_REF] Deleo | Assembly of the phagocyte NADPH oxidase: molecular interaction of oxidase proteins[END_REF]. P67phox interacts with Rac1/2 and flavocytochrome b 558 and can regulate its catalytic activity via a sequence called the activation domain [START_REF] Han | Regulation of the neutrophil respiratory burst oxidase. Identification of an activation domain in p67(phox)[END_REF]. P67phox is phosphorylated on serine and threonine residues by PKC-dependent and PKCindependent pathways [START_REF] Dang | Phosphorylation of the NADPH oxidase component p67(PHOX) by ERK2 and P38MAPK: selectivity of phosphorylated sites and existence of an intramolecular regulatory domain in the tetratricopeptide-rich region[END_REF]. P40phox is a 339-amino-acid protein which was initially identified through its binding to p67phox. It contains one SH3 domain and one PX domain. P40phox is phosphorylated on serine 315 and threonine 154 by a PKCdependent mechanism [START_REF] Bouin | p40(phox) is phosphorylated on threonine 154 and serine 315 during activation of the phagocyte NADPH oxidase. Implication of a protein kinase C-type kinase in the phosphorylation process[END_REF]. Rac2 is the most abundant rac protein in human neutrophils, but rac1 (92% homologous with Rac2) is also present [START_REF] Deleo | Assembly of the phagocyte NADPH oxidase: molecular interaction of oxidase proteins[END_REF].

Activation of the phagocyte NADPH oxidase

Activation in intact neutrophils

During neutrophil activation, 10-20% of cytosolic NADPH oxidase components migrate to the plasma membrane, where they bind to flavocytochrome b 558 [START_REF] Groemping | Activation and assembly of the NADPH oxidase : a structural perspective[END_REF][START_REF] Babior | NADPH Oxidase: an update[END_REF][START_REF] Vignais | The superoxide-generating NADPH oxidase: structural aspects and activation mechanism[END_REF]. In intact cells, NADPH oxidase activation is accompanied by phosphorylation of p47phox, p67phox, p40phox, p22phox and gp91phox, along with several protein-protein interactions [START_REF] Regier | A phosphatidic acid-activated protein kinase and conventional protein kinase C isoforms phosphorylate p22(phox), an NADPH oxidase component[END_REF][START_REF] Raad | Regulation of the phagocyte NADPH oxidase activity: phosphorylation of gp91phox/NOX2 by protein kinase C enhances its diaphorase activity and binding to Rac2, p67phox, and p47phox[END_REF][START_REF] Deleo | Assembly of the phagocyte NADPH oxidase: molecular interaction of oxidase proteins[END_REF][START_REF] El-Benna | p47phox, the phagocyte NADPH oxidase/NOX2 organizer: structure, phosphorylation and implication in diseases[END_REF][START_REF] Han | Regulation of the neutrophil respiratory burst oxidase. Identification of an activation domain in p67(phox)[END_REF]. NADPH oxidase activation in phagocytes can be induced by a large number of particulate and soluble agents such as opsonized bacteria, opsonized zymosan, latex particles, formylated peptides such as formyl-Met-Leu-Phe (fMLF), and

A c c e p t e d M a n u s c r i p t 7 also by pharmacological compounds such as calcium ionophores and PKC activators such as phorbol esters [START_REF] El-Benna | Priming of the neutrophil NADPH oxidase activation: role of p47phox phosphorylation and NOX2 mobilization to the plasma membrane[END_REF]. Other agents, such as pro-inflammatory cytokines (TNF, GM-CSF, IL-8, etc.) do not activate NADPH oxidase in neutrophils but instead induce a state of hyper-responsiveness to subsequent stimulation of NADPH oxidase and ROS production by agents such as fMLF, a process known as "priming" [START_REF] El-Benna | Priming of the neutrophil NADPH oxidase activation: role of p47phox phosphorylation and NOX2 mobilization to the plasma membrane[END_REF]. This phenomenon of "priming" or oxidative burst initiation is also observed in vivo, where it may play an important role in physiological regulation of bactericidal activity and also in host tissue injury in some inflammatory diseases.

During neutrophil stimulation, p47phox is phosphorylated on multiple sites in its carboxy-terminal portion, including serines 303 to 379, which play a central role in NADPH oxidase activation and regulation [START_REF] El-Benna | p47phox, the phagocyte NADPH oxidase/NOX2 organizer: structure, phosphorylation and implication in diseases[END_REF]. In human neutrophils, among the various protein kinases involved in the regulation of NADPH oxidase activity, the PKC family appears to play a major role in the activation [START_REF] El-Benna | p47phox, the phagocyte NADPH oxidase/NOX2 organizer: structure, phosphorylation and implication in diseases[END_REF][START_REF] El-Benna | Priming of the neutrophil NADPH oxidase activation: role of p47phox phosphorylation and NOX2 mobilization to the plasma membrane[END_REF]. Proinflammatory cytokines such as GM-CSF and TNF induce partial phosphorylation of p47phox on Ser345 [START_REF] El-Benna | p47phox, the phagocyte NADPH oxidase/NOX2 organizer: structure, phosphorylation and implication in diseases[END_REF][START_REF] Dang | A specific p47phox -serine phosphorylated by convergent MAPKs mediates neutrophil NADPH oxidase priming at inflammatory sites[END_REF]. Phosphorylation of p47phox on Ser345 represents a critical mechanism in the priming of ROS production by neutrophils at inflammatory sites. Thus, this site may be considered as a "priming site". P47phox phosphorylation could potentially induce conformational changes that initiate assembly of the active enzyme via interaction of the SH3 domain with the proline-rich region of p22phox [START_REF] Deleo | Assembly of the phagocyte NADPH oxidase: molecular interaction of oxidase proteins[END_REF][START_REF] El-Benna | Priming of the neutrophil NADPH oxidase activation: role of p47phox phosphorylation and NOX2 mobilization to the plasma membrane[END_REF]. In resting conditions the two SH3 domains of p47phox interact intramolecularly with the auto-inhibitory region in the non phosphorylated protein [START_REF] Groemping | Activation and assembly of the NADPH oxidase : a structural perspective[END_REF][START_REF] Babior | NADPH Oxidase: an update[END_REF]. This interaction switches to the p22phox-polyproline sequence when the enzyme is activated by phosphorylation [START_REF] Babior | NADPH Oxidase: an update[END_REF].

A c c e p t e d M a n u s c r i p t 8

NADPH oxidase activation in cell-free systems

NADPH oxidase can be activated in a cell-free system by mixing cytosol and plasma membranes isolated from resting neutrophils or macrophages in the presence of Mg ++ , GTP and an anionic amphiphile such as arachidonic acid or sodium dodecyl sulfate, which are believed to mimic phosphorylation by providing negative charges [START_REF] Bromberg | Activation of NADPH-dependent superoxide production in a cell-free system by sodium dodecyl sulfate[END_REF].

Active NADPH oxidase can also be reconstituted from recombinant or highly purified cytochrome b558, p47phox, p67phox and Rac proteins [START_REF] Dagher | Opening the black box: lessons from cell-free systems on the phagocyte NADPH-oxidase[END_REF]. P40phox is not required for NADPH oxidase activation in a cell-free system, although it enhances NADPH oxidase activation in intact cells. This cell-free system can also be activated by protein kinase C instead of anionic amphiphile agents [START_REF] El-Benna | Cell-free activation of the respiratory burst oxidase by protein kinase C[END_REF] and by physiological concentrations of phosphatidic acid [START_REF] Erickson | Activation of human neutrophil NADPH oxidase by phosphatidic acid or diacylglycerol in a cell-free system. Activity of diacylglycerol is dependent on its conversion to phosphatidic acid[END_REF]. This system has been used to examine the effect of various peptide inhibitors on NADPH oxidase activation.

Homologues of phagocyte NADPH oxidases (NOXs)

Almost 30 years after the discovery of gp91phox, several homologues of this catalytic subunit have been described in human tissues such as lung, kidney and colon, and in various cell types (epithelial cells, endothelial cells, vascular smooth muscle cells) [START_REF] Lambeth | Nox enzymes, ROS, and chronic disease: an example of antagonistic pleiotropy[END_REF][START_REF] Bedard | The NOX Family of ROS-Generating NADPH oxidases: Physiology and pathophysiology[END_REF]. These homologues have been cloned and grouped together under the acronym NOX, for NADPH oxidase (NOX1 to NOX5), or Duox, for dual oxidase (Duox1 and Duox2). NOX2 (gp91phox) is not restricted to phagocytes, as it is also expressed, albeit at lower levels, in endothelial cells, B and T lymphocytes, neurons, and other cell types (NOXO1) and NOX activator 1 (NOXA1) [START_REF] Geiszt | Proteins homologous to p47phox and p67phox support superoxide production by NAD(P)H oxidase 1 in colon epithelial cells[END_REF][START_REF] Bánfi | Two novel proteins activate superoxide generation by the NADPH oxidase NOX1[END_REF]. These are the respective homologues of p47phox and p67phox. Like p47phox, NOXO1 "organizes" the assembly of the fully active NOX1 enzyme complex. Indeed, it recruits NOXA1 to the membrane-bound NOX1 catalytic subunit through its interaction with p22phox and with membrane phosphoinositides [START_REF] Cheng | NOXO1, regulation of lipid binding, localization, and activation of Nox1 by the Phox Homology (PX) domain[END_REF][START_REF] Takeya | Novel human homologues of p47phox and p67phox participate in activation of superoxide-producing NADPH oxidases[END_REF]. The small G protein Rac1 is also clearly involved in NOX1 activation, through its interaction with NOX activator 1.

Phagocyte NADPH oxidase inhibition

Chemical (non peptide) inhibitors

Many chemicals are known to inhibit ROS production by the phagocyte NADPH oxidase. Twenty years ago, Cross [START_REF] Cross | Inhibitors of the leukocyte superoxide generating oxidase: mechanisms of action and methods for their elucidation[END_REF] listed numerous molecules with this effect, although few of them directly interact with or inhibit NADPH oxidase [START_REF] Lambeth | NOX enzymes as novel targets for drug development[END_REF]. One of the first inhibitors of NADPH oxidase to be identified, and which is still widely used, is diphenylene iodonium (DPI), which inhibits electron transport by gp91phox/NOX2 [START_REF] Hancock | The inhibition by diphenyleneiodonium and its analogues of superoxide generation by macrophages[END_REF]. This molecule is a flavoprotein inhibitor and is therefore non specific for NOX2.

A c c e p t e d M a n u s c r i p t 10 It inhibits not only other NOXs and DUOXs but also NO synthase and probably other flavoproteins [START_REF] Stuehr | Inhibition of macrophage and endothelial cell nitric oxide synthase by diphenyleneiodonium and its analogs[END_REF]. However, in animal models, DPI inhibits ROS production and has an anti-arthritic effect [START_REF] Miesel | Suppression of inflammatory arthritis by simultaneous inhibition of nitric oxide synthase and NADPH oxidase[END_REF]. It has been shown to reduce ethanol-induced liver inflammation in mice [START_REF] Gustot | Differential liver sensitization to tolllike receptor pathways in mice with alcoholic fatty liver[END_REF], and to inhibit pancreatic inflammation and fibrosis [START_REF] Masamune | NADPH oxidase plays a crucial role in the activation of pancreatic stellate cells[END_REF].

Apocynin (4-hydroxy-3-methoxyacetophenone-substituted), a natural molecule structurally related to vanillin, inhibits the NADPH oxidase [START_REF] Stolk | Characteristics of the inhibition of NADPH oxidase activation in neutrophils by apocynin, a methoxysubstituted catechol[END_REF][START_REF] Stefanska | Apocynin: molecular aptitudes[END_REF]. It was reported to target p47phox, and its effect requires a peroxidase such as MPO [START_REF] Ximenes | The oxidation of apocynin catalyzed by myeloperoxidase: proposal for NADPH oxidase inhibition[END_REF]. It might be more specific for NOX2 but can also inhibit NOX1 via NOXO1 in the presence of peroxidase. Apocynin also scavenges ROS, making it non specific for NOX2 [START_REF] Stefanska | Apocynin: molecular aptitudes[END_REF][START_REF] Heumüller | Apocynin is not an inhibitor of vascular NADPH oxidases but an antioxidant[END_REF].

In vivo, apocynin was shown to attenuate collagen-induced arthritis in rats, to lower IL-6 levels, and to reduce joint swelling [START_REF] Hart | Antiarthritic activity of the newly developed neutrophil oxidative burst antagonist apocynin[END_REF] and zymosan-induced arthritis and inflammation in mice [START_REF] Hougee | Oral administration of the NADPH-oxidase A c c e p t e d M a n u s c r i p t 29 inhibitor apocynin partially restores diminished cartilage proteoglycan synthesis and reduces inflammation in mice[END_REF]. Apocynin also has other beneficial effects in vivo [START_REF] Zhou | Abnormal nitric oxide production in aged rat mesenteric arteries is mediated by NAD(P)H oxidase-derived peroxide[END_REF][START_REF] Stefanska | Apocynin: molecular aptitudes[END_REF].

Other molecules such as phenylarsine oxide (PAO), a sulfhydryl reagent for vicinal or proximal thiol groups, and 4-(2-aminoethyl)-benzenesulfonyl fluoride (AEBSF), inhibit NADPH oxidase by preventing assembly of the complex [START_REF] Cabec | Complete and reversible inhibition of NADPH oxidase in human neutrophils by phenylarsine oxide at a step distal to membrane translocation of the enzyme subunits[END_REF][START_REF] Diatchuk | Inhibition of NADPH oxidase activation by 4-(2-aminoethyl)-benzenesulfonyl fluoride and related compounds[END_REF], but are also known for their inhibitory effects on other enzymes. PAO is a phosphotyrosine phosphatase inhibitor and AEBSF is a serine protease inhibitor. In rats, PAO inhibits ROS production and also attenuates LPS-and carrageenan-induced inflammation [START_REF] Roussin | Neutrophil-associated inflammatory responses in rats are inhibited by phenylarsine oxide[END_REF]. Many other small molecules have been shown to inhibit the phagocyte NADPH oxidase and other NOXs [START_REF] Jaquet | Small-molecule NOX inhibitors: ROS-generating NADPH oxidases as therapeutic targets[END_REF], but there are currently no specific chemical inhibitors for the phagocyte NADPH oxidase. Peptide inhibitors could be more specific than chemical inhibitors because they are derived from specific subunit sequences. In the following docking sequence [START_REF] Rey | Novel competitive inhibitor of NAD(P)H oxidase assembly attenuates vascular O(2)(-) and systolic blood pressure in mice[END_REF]. They added a translocating TAT peptide (gp91ds-tat:

RKKRRQRRR-CSTRIRRQL) to make it cell-permeable (see next section), and showed that it inhibited ROS production in neutrophils and mouse aorta, and also limited the increase in blood pressure elicited by an infusion of angiotensin II in mice [START_REF] Rey | Novel competitive inhibitor of NAD(P)H oxidase assembly attenuates vascular O(2)(-) and systolic blood pressure in mice[END_REF].

Furthermore, Gp91ds-tat inhibited ROS production in aged rats [START_REF] Zhou | Abnormal nitric oxide production in aged rat mesenteric arteries is mediated by NAD(P)H oxidase-derived peroxide[END_REF], lowered proatherogenic molecule levels in rats [START_REF] Zhou | Reduced NAD(P)H oxidase in low renin hypertension: link among angiotensin II, atherogenesis, and blood pressure[END_REF], and attenuated neurovascular dysfunction in aged mice [START_REF] Park | Nox2-derived radicals contribute to neurovascular and behavioral dysfunction in mice overexpressing the amyloid precursor protein[END_REF]. It is noteworthy that this gp91phox/NOX2 sequence is conserved in NOX1 and NOX4, meaning that it is not specific for the phagocyte NADPH oxidase/NOX2 but could act as a NOX1, NOX2 and NOX4 inhibitor. However, this peptide inhibits NOX2 in cells, such as phagocytes, that express only this enzyme. NOX4 and NOX5, meaning that these peptides might also affect these homologues.

The reason for this lack of specificity is that these peptides were identified before the discovery of NOX homologues. However, there are still several other NOX2 specific sequences which could be tested in order to identify specific inhibitory peptides.

P22phox-derived inhibitory peptides. Nakanishi et al., first showed that the P22phox peptide AGGPPGGPQVNPIPVTDEVV (amino acids 175-194) inhibited superoxide production in a cell-free system, with an IC 50 of 36 µM, and that it bound to p47phox [START_REF] Nakanishi | Direct evidence for interaction between COOH-terminal regions of cytochrome b558 subunits and cytosolic 47-kDa protein during activation of an O(2-)-generating system in neutrophils[END_REF]. A second peptide, corresponding to p22phox residues 82-95 (PFTRNYYVRAVLHL), was then found to inhibit superoxide production with an IC 50 of 13 µM in a cell-free system consisting of solubilized neutrophil membranes and cytosol [START_REF] Park | Peptides corresponding to the region adjacent to His-94 in the small subunit of cytochrome b558 inhibit superoxide generation in a cell-free system from human neutrophils[END_REF]. Using a "peptide walking" technique, Pick"s group [START_REF] Dahan | Mapping of functional domains in the p22(phox) subunit of flavocytochrome b(559) participating in the assembly of the NADPH oxidase complex by "peptide walking[END_REF], identified peptides located in p22phox domains corresponding to amino acids 9-23, 31-45, 47-61, 85-99 and 113-127, which inhibited NADPH oxidase activation in a cell-free system composed of macrophage membranes and recombinant proteins, with respective IC 50 values of 5.7, 3.0, 4.6, 2.0 and 3.0 µM. As p22phox is a subunit common to all NOXs, A c c e p t e d M a n u s c r i p t 14 p22phox-derived peptides are unlikely to specifically inhibit a particular type of NOX. Figure 5 represents the amino acid sequence of p22phox and the locations of the major inhibitory peptides.

P47phox-derived inhibitory peptides. P47phox sequences have also been used to inhibit NADPH oxidase activation in a cell-free system or in electropermeabilized neutrophils. The p47phox peptide AYRRNSVRFL (amino acids 323-332) inhibits p47phox phosphorylation, p47phox translocation and NADPH oxidase activation in a cell-free system (IC 50 = 54 µM) [START_REF] Nauseef | Functional domain in an arginine-rich carboxyl-terminal region of p47phox[END_REF][START_REF] Deleo | A domain of p47phox that interacts with human neutrophil flavocytochrome b558[END_REF]. This peptide may compete either for p47phox phosphorylation, by acting as a pseudosubstrate for protein kinases, or for p47phox interaction with flavocytochrome b 558 or p67phox [START_REF] Deleo | A domain of p47phox that interacts with human neutrophil flavocytochrome b558[END_REF]. A synthetic peptide comprising the amino acid sequence 323-332, corresponding to residues 314-331 (RSRKRLSQDAYRRNSVRF), also inhibits p47phox phosphorylation, p47phox translocation and NADPH oxidase activation in human neutrophils [START_REF] Labadia | A synthetic peptide containing a predominant protein kinase C site within p47phox inhibits the NADPH oxidase in intact neutrophils[END_REF]. DeLeo et al., identified sites of p47phox interaction with flavocytochrome b 558 and used the corresponding peptides to inhibit NADPH oxidase [START_REF] Deleo | A domain of p47phox that interacts with human neutrophil flavocytochrome b558[END_REF]. In addition to peptide 323-332, they found that peptides corresponding to amino acids 315-332 and 334-347 inhibited superoxide production in a cell-free system and in electropermeabilized neutrophils, µM respectively) by inhibiting p47phox interaction with p22phox and its membrane translocation [START_REF] Huang | Activation of the phagocyte NADPH oxidase protein p47(phox). Phosphorylation controls SH3 domain-dependent binding to p22(phox)[END_REF]. Among the p47phox phosphorylated sites, Ser345 plays a key role in NADPH oxidase hyperactivation or priming by pro-inflammatory cytokines such as TNF and GM-CSF, and also in inflammatory diseases such as rheumatoid arthritis [START_REF] Dang | A specific p47phox -serine phosphorylated by convergent MAPKs mediates neutrophil NADPH oxidase priming at inflammatory sites[END_REF] and intestinal inflammation [START_REF] Boussetta | Punicic acid a conjugated linolenic acid inhibits TNFalpha-induced neutrophil hyperactivation and protects from experimental colon inflammation in rats[END_REF]. Interestingly, a TAT-peptide sequence containing Ser345 (amino acids 334-347) was shown to inhibit NADPH oxidase hyper-activation in human neutrophils induced by TNF and GM-CSF, and hyperactivation of PMN from synovial fluid of RA patients, while preserving the physiological ability of bacterial N-formyl peptide to activate neutrophils [START_REF] Dang | A specific p47phox -serine phosphorylated by convergent MAPKs mediates neutrophil NADPH oxidase priming at inflammatory sites[END_REF]. Figure 6 represents the sequence of p47phox and the sites of the major inhibitory peptides. Since the PX and SH3 domains are conserved between p47phox and NOXO1, peptides located in these domains are unlikely to be specific for NOX2. However, the AIR domain of p47phox Rac1-derived inhibitory peptides. The Rac1 peptide, corresponding to aa 178-188, inhibited NADPH oxidase activity in a cell-free system, with an IC 50 of about 10 µM [START_REF] Kreck | Participation of the small molecular weight GTP-binding protein Rac1 in cell-free activation and assembly of the respiratory burst oxidase. Inhibition by a carboxyl-terminal Rac peptide[END_REF][START_REF] Joseph | Inhibition of NADPH oxidase activation by synthetic peptides mapping within the carboxyl-terminal domain of small GTP-binding proteins. Lack of amino acid sequence specificity and importance of polybasic motif[END_REF]. Interestingly, the corresponding peptide sequence of Rac2 (aa 178-188) had no effect. The Rac1 sequence could thus be used to study the specific role of Rac1.

with
Mapping of Rac1 functional domains by peptide walking has identified several inhibitory peptides (residues 73-81, 103-107, 123-133, 163-169 and 183-188) [START_REF] Joseph | Peptide walking" is a novel method for mapping functional domains in proteins. Its application to the Rac1-dependent activation of NADPH oxidase[END_REF].

Like p22phox, Rac1 is a subunit common to all NOXs, making it unlikely that Rac1derived peptides would have a specific effect on a particular NOX.

P67phox-and p40phox-derived inhibitory peptides. To our knowledge, no peptide sequences derived from p67phox or p40phox have yet been shown to inhibit the phagocyte NADPH oxidase. One possible reason is that p67phox was long considered to be an unstable protein with only a minor function in NADPH oxidase activation.

However, in 1998, Han et al., showed that p67phox has an activation domain (amino acids 199-210) [START_REF] Han | Regulation of the neutrophil respiratory burst oxidase. Identification of an activation domain in p67(phox)[END_REF], and Diekman et al., showed that it binds Rac during activation by its N-terminal region (amino acids 1-199) [START_REF] Diekmann | Interaction of Rac with p67phox and regulation of phagocytic NADPH oxidase activity[END_REF]. These two p67phox sequences might be A c c e p t e d M a n u s c r i p t 17 used to develop new competitive inhibitory peptides. The reason for the lack of p40phox-derived peptides may be that p40phox is not required for NADPH oxidase activation in the cell-free system, making it more difficult to assess the effect of inhibitory peptides in intact cells.

Inhibitory peptides not derived from NADPH oxidase components. A proline-and arginine-(PR) rich antibacterial peptide designated PR-39 (because it contains 19 prolines and 10 arginines) inhibits NADPH oxidase activity (IC 50 = 1 µM) by targeting the interaction of the p47phox SH3 domain with p22phox [START_REF] Shi | PR-39, a proline-rich antibacterial peptide that inhibits phagocyte NADPH oxidase activity by binding to Src homology 3 domains of p47 phox[END_REF]. This peptide has protective effects in experimental myocardial ischemia-reperfusion [START_REF] Ikeda | PR-39, a proline/arginine-rich antimicrobial peptide, exerts cardioprotective effects in myocardial ischemia-reperfusion[END_REF]. Because SH3 domain/polyproline region interaction is involved in several protein/protein interactions, this peptide might inhibit processes other than NADPH oxidase activation.

A cell-permeable dominant negative peptide (DN-Ets-1-TAT) derived from Ets-1, a transcriptional regulator of p47phox, was found to lower angiotensin II-induced p47phox expression and ROS production in vitro, and also to attenuate medial hypertrophy of the thoracic aorta in mice [START_REF] Ni | Ets-1 is a critical transcriptional regulator of reactive oxygen species and p47(phox) gene expression in response to angiotensin II[END_REF]. This strategy targets p47phox expression and not NADPH oxidase activation. Inhibition of NADPH oxidase expression is not a suitable strategy for neutrophils, because p47phox is already expressed in mature neutrophils; however, this peptide might alter p47phox expression in monocytes, macrophages or other cells which continuously express p47phox. neuroprotective and anti-inflammatory effects [START_REF] Qin | Microglial NADPH oxidase is a novel target for femtomolar neuroprotection against oxidative stress[END_REF]. The mechanism of action of this peptide is not known.

6-Peptide delivery into living cells

The main obstacle to the use of peptides to inhibit NADPH oxidase in intact living cells is their inability to cross the plasma membrane lipid bilayer. The use of cell-penetrating peptides (CPPs) or protein transduction domains (PTDs) is an attractive approach to this problem [START_REF] Jarver | The use of cell-penetrating peptides as a tool for gene regulation[END_REF]. The most widely used CPPs are derived from the human immunodeficiency virus (HIV1) transactivator protein TAT, the Drosophila transcription factor antennapedia protein, and the herpes simplex virus (HSV) type 1 protein VP22 [START_REF] Brooks | Tat peptide-mediated cellular delivery: back to basics[END_REF]. Although the mechanism of peptide transduction is controversial, these peptides can deliver biologically active proteins, DNA, RNA, liposomes and nanoparticles across plasma membranes [START_REF] Jarver | The use of cell-penetrating peptides as a tool for gene regulation[END_REF][START_REF] Brooks | Tat peptide-mediated cellular delivery: back to basics[END_REF]. Several NADPH oxidase peptide inhibitors have already been coupled to TAT peptide and have been shown to inhibit ROS production in vitro and in vivo [START_REF] Dang | A specific p47phox -serine phosphorylated by convergent MAPKs mediates neutrophil NADPH oxidase priming at inflammatory sites[END_REF][START_REF] Rey | Novel competitive inhibitor of NAD(P)H oxidase assembly attenuates vascular O(2)(-) and systolic blood pressure in mice[END_REF][START_REF] Zhou | Reduced NAD(P)H oxidase in low renin hypertension: link among angiotensin II, atherogenesis, and blood pressure[END_REF][START_REF] Park | Nox2-derived radicals contribute to neurovascular and behavioral dysfunction in mice overexpressing the amyloid precursor protein[END_REF][START_REF] Kao | Identification of a conserved Rac-binding site on NADPH oxidases supports a direct GTPase regulatory mechanism[END_REF][START_REF] Ni | Ets-1 is a critical transcriptional regulator of reactive oxygen species and p47(phox) gene expression in response to angiotensin II[END_REF].

7-Conclusion and future perspectives

NADPH oxidases/NOXs have essential roles in many physiological processes, including innate immunity, cell proliferation, gene expression, blood pressure regulation, antigen presentation and intracellular signaling. However, excessive ROS production by NADPH oxidases, and especially by the phagocyte NADPH oxidase NOX2, has been implicated in many inflammatory diseases, such as rheumatoid

2 O 2 +

 2 NADPH --------->2 O 2 -. + NADP + + H + Once produced, O 2 -. is immediately transformed into H 2 O 2 by spontaneous dismutation at acid pH in the phagosome, or through enzymatic dismutation by superoxide dismutase in the cytosol. Interaction between H 2 O 2 and O 2 -. can, through the Haber-Weiss reaction in the presence of a transition metal (or the Fenton reaction in the presence of iron), give rise to the hydroxyl radical (OH°), one of the most powerful oxidants. H 2 O 2 is also a substrate of myeloperoxidase, an enzyme stored in neutrophil azurophilic granules and released during neutrophil activation. Myeloperoxidase catalyses the transformation of H 2 O 2 , in the presence of a halogen (Cl -, Br -, I -), into highly toxic molecules such as hypochloric acid (HOCl -). Other reactions between OCl - A c c e p t e d M a n u s c r i p t

4 and H 2 O 2

 422 can lead to the formation of singlet oxygen ( 1 O 2 ). Most of the hypochlorous acid (OCl -) thus generated is converted into toxic chloramines. MPO can also use H 2 O 2

A c c e p t e d M a n u s c r i p t 9 [ 23 ]

 923 . The main difference between phagocytic gp91phox/NOX2 and its homologues resides in the fact that ROS are produced in much smaller amounts by the new homologues. The other difference lies in their regulation, including the nature of the cytosolic subunits and their requirement. These new findings suggest that ROS might be involved in several cellular functions such as local tissue-specific bactericidal activity (in colon or lung) and intracellular signaling. The NOX1 and NOX3 homologues are regulated by two NOX regulatory proteins called NOX organizer 1

5 . 2 .

 52 A c c e p t e d M a n u s c r i p t 11 part of the article we describe peptide inhibitors derived from each subunit described in the literature and discuss their specificity. Peptide inhibitors Gp91phox-derived inhibitory peptides. Peptides derived from gp91phox/NOX2 have been used to inhibit NADPH oxidase. The first such peptides were the NOX2 carboxy-terminal peptides RGVHFIF (amino acids 559-565) and SNSESGPRGVHFIFNKEN (amino acids 552-569), which inhibit phagocyte NADPH oxidase activation in cell-free systems (50% inhibitory concentration (IC 50 ) = 32 µM) and, at higher concentrations, in electropermeabilized neutrophils [46-48]. Leusen and co-workers [49], showed that a point mutation of gp91phox (D500G) in X-linked chronic granulomatous disease patients resulted in an inactive NADPH oxidase and failure of p47phox/p67phox to translocate to membranes, and thereby identified a gp91phox/p47phox interaction domain encompassing D500 in gp91phox. The peptide sequence FAVHHDEEKDVITG, mimicking the 491-504 amino acids domain of gp91phox, inhibited superoxide generation in a cell-free system (IC 50 = 10 µM) and also prevented membrane translocation of p47phox and p67phox. Using a randomsequence peptide phage display library technique, DeLeo et al., identified several potential sites of interaction between p47phox and cytochrome b558 [50]. A peptide mimicking one gp91phox/p47phox interaction sequence, corresponding to amino acids 77-93 (FLRGSSACCSTRVRRQL), had a potent inhibitory effect on human NADPH oxidase (IC 50 = 1 µM). Another peptide, corresponding to amino acids 86-102, had a A c c e p t e d M a n u s c r i p t 12 potent inhibitory effect, with an EC 50 of 2 µM [51]. Later, Rey et al., identified the corresponding sequence in mouse gp91phox and called it "gp91phox ds", for gp91phox

M a n u s c r i p t 13 sequence [ 57 ]

 1357 Park et al., showed that peptides corresponding to gp91phox amino acid residues 27-46, 87-100, 282-296, 304-321, 434-455 and 559-565 inhibited superoxide generation in a cell-free system with respective IC 50 values of 34 µM, 40 µM, 30 µM, 35 µM, 25 µM and 53 µM[START_REF] Park | Synthetic peptides corresponding to various hydrophilic regions of the large subunit of cytochrome b558 inhibit superoxide generation in a cell-free system from neutrophils[END_REF]. A peptide corresponding to the predicted NADPH binding site in gp91phox also inhibited superoxide production in a cell-free system. The minimum sequence essential for this inhibitory effect consisted of amino acids 420-425 (KSVWYK) and has an IC 50 of 30 µM[START_REF] Tsuchiya | Uncompetitive inhibition of superoxide generation by a synthetic peptide corresponding to a predicted NADPH binding site in gp91-phox, a component of the phagocyte respiratory oxidase[END_REF]. Interestingly, unlike other peptides that inhibit NADPH oxidase, this peptide was effective even when added after system activation. Kao et al., identified amino acids 419-430 (ILKSVWYKYCNN) as a Rac interaction site within NOX2, and generated a cell-permeant peptide by adding a TAT A c c e p t e d . When used at 20 µM, this peptide inhibited ROS production in neutrophils stimulated by fMLF or PMA. This NOX2-Rac binding domain is conserved in NOX1 and NOX3 but not in NOX4, NOX5 or DUOXs, making it selective for NOX1, NOX2 and NOX3. Figure4represents the amino acid sequence of gp91phox/NOX2 and indicates the locations of the major inhibitory peptides. The regions covered by these peptides have more than 60% homology with NOX1, NOX2,

  respective IC 50 values of 15 µM and 18 µM. Morozov et al., used the peptidewalking technique to map p47phox functional domains involved in NADPH oxidase activation [63]. They showed that peptides corresponding to amino acids 5-19 (IC 50 = 10.6 µM), 17-31 (IC 50 = 8.8 µM), 105-119 (IC 50 = 10.3 µM), 149-163 (IC 50 = 10.9 µM), A c c e p t e d M a n u s c r i p t 15 193-207 (IC 50 = 8.5 µM), 305-319 (IC 50 = 11.5 µM) and 325-339 (IC 50 = 3.4 µM) inhibited NADPH oxidase activation in a cell-free system. The most effective was the peptide corresponding to amino acids 325-339, which overlaps with the peptide described above by other investigators [60-62]. Three other inhibitory peptides are located in the PX domain (amino acids 5-19, 17-31 and 105-119), two in the SH3 domain (amino acids 149-163 and 193-207), and two in the carboxy-terminal phosphorylated domain (amino acids 305-319 and 325-339). P47phox is heavily phosphorylated in neutrophils, and this phosphorylation plays a major role in NADPH oxidase activation. Two peptides corresponding to p47phox phosphorylated sites (amino acids 301-320 and 314-335) inhibit NADPH oxidase activation (IC 50 = 7 and 6.7

A c c e p t e d M a n u s c r i p t 16 (

 16 amino acids 286-340) is missing in NOXO1, and peptides derived from this sequence could therefore represent good candidates for developing very specific inhibitors of the phagocyte NADPH oxidase, the activity of which requires the organizer subunit p47phox.

  Qin et al. showed that a tripeptide (GGF) contained in the dynorphin opioid peptide inhibited microglial NADPH oxidase at fentomolar concentrations and had A c c e p t e d M a n u s c r i p t

18

 18

A c c e p t e d M a n u s c r i p t 19 arthritisA c c e p t e d M a n u s c r i p t 21 Au s c r i p t 36 Figure legends Figure 1 .

 192136legends1 Figure legends

Figure 2 .

 2 Figure 2. Predicted structure of p22phox.

Figure 3 .

 3 Figure 3. Predicted structure of p47phox.

A c c e p t e d M a n u s c r i p t 37 Figure 4 .

 374 Figure 4. Amino acid sequence of human gp91phox/NOX2 and sites of the major

Figure 5 .

 5 Figure 5. Amino acid sequence of p22phox and sites of the major inhibitory

Figure 6 .Figure 1 (Figure 1

 611 Figure 6. Amino acid sequence of p47phox and sites of the major inhibitory

Figure 2

 2 Figure 2 (color)

Figure 2 (Figure 2 Figure 3 (Figure 3 Page 44 of 46 AFigure 4 (Figure 4 Page 45 of 46 AFigure 5 (FigureFigure 6 (

 223346444656 Figure 2 (El-Benna et al.) Figure 2 (B&w)

Figure

  Figure

Acknowledgements

This work was supported by grants from Agence Nationale de la Recherche (ANR), Arthritis Fondation Courtin, INSERM and CNRS.