Thierry Gallay

Dmitry Pelinovsky

Orbital stability in the cubic defocusing NLS equation: II. The black soliton

Combining the usual energy functional with a higher-order conserved quantity originating from integrability theory, we show that the black soliton is a local minimizer of a quantity that is conserved along the flow of the cubic defocusing NLS equation in one space dimension. This unconstrained variational characterization gives an elementary proof of the orbital stability of the black soliton with respect to perturbations in H 2 (R).

Introduction

In this work we show how the techniques developed in the companion paper [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF] to investigate the stability properties of the cnoidal periodic waves of the cubic defocusing nonlinear Schrödinger equation in one space dimension can be extended to provide a new and rather elementary proof of orbital stability in the limiting case of the black soliton. We thus consider the cubic defocusing NLS equation iψ t (x, t) + ψ xx (x, t) -|ψ(x, t)| 2 ψ(x, t) = 0, (1.1) where ψ is a complex-valued function of (x, t) ∈ R×R. The black soliton is the particular solution of (1.1) given by ψ(x, t) = e -it u 0 (x), where

u 0 (x) = tanh x √ 2 , x ∈ R. (1.2)
For later use, we note that the soliton profile u 0 : R → R satisfies the differential equations

u ′ 0 = 1 √ 2 1 -u 2 0 , hence u ′′ 0 + u 0 -u 3 0 = 0. (1.
3)

The NLS equation (1.1) has many symmetries and conserved quantities, which play a crucial role in the dynamics of the system. In particular, the gauge invariance ψ → e iθ ψ and the translation invariance ψ → ψ(• -ξ) give rise to the conservation of the charge Q and the momentum M , respectively, where

Q(ψ) = R |ψ| 2 -1 dx, M (ψ) = i 2 R ψψ x -ψ ψx dx. (1.4)
Since the NLS equation (1.1) is an autonomous Hamiltonian system, we also have the conservation of the energy

E(ψ) = R |ψ x | 2 + 1 2 (1 -|ψ| 2 ) 2 dx. (1.5)
In what follows, our goal is to study the stability of the black soliton (1.2), and we shall therefore restrict ourselves to solutions of (1.1) for which |ψ| → 1 as |x| → ∞. This is why we defined the conserved quantities (1.4), (1.5) in such a way that the integrands vanish when |ψ| = 1 and ψ x = 0. The nonlinear stability of the black soliton (1.2) has been studied in several recent works. In [START_REF] Bethuel | Orbital stability of the black soliton for the Gross-Pitaevskii equation[END_REF] the authors apply the variational method of Cazenave and Lions [START_REF] Th | Orbital stability of standing waves for some nonlinear Schrödinger equations[END_REF], which relies on the fact that the black soliton (1.2) is a global minimizer of the energy E for a fixed value of the momentum M . The difficulty with this approach is that the momentum is not defined for all finite-energy solutions, so that the integral defining M in (1.4) has to be renormalized and properly interpreted. A slightly different proof was subsequently given in [START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF], in the spirit of the work by Weinstein [START_REF] Weinstein | Lyapunov stability of ground states of nonlinear dispersive evolution equations[END_REF] and Grillakis, Shatah, and Strauss [START_REF] Grillakis | Stability theory of solitary waves in the presence of symmetry. I[END_REF]. The main idea is to show that the energy functional (1.5) becomes coercive in a neighborhood of the black soliton (1.2) if the conservation of the momentum is used to get rid of one unstable direction. Both results in [START_REF] Bethuel | Orbital stability of the black soliton for the Gross-Pitaevskii equation[END_REF][START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF] are variational in nature and establish orbital stability of the black soliton in the energy space. Note that asymptotic stability of the black soliton is also proved in [START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF], using ideas and techniques developed by Martel and Merle for the generalized Korteweg-de Vries equation [START_REF] Martel | Asymptotic stability of solitons of the gKdV equations with general nonlinearity[END_REF]. In a different direction, a more precise orbital stability result was obtained in [START_REF] Gérard | Orbital stability of traveling waves for the one-dimensional Gross-Pitaevskii equation[END_REF] for sufficiently smooth and localized perturbations, using the inverse scattering transform method which relies on the integrability of the cubic defocusing NLS equation (1.1). Similarly, asymptotic stability of the black soliton and several dark solitons was recently proved in [START_REF] Cuccagna | On asymptotic stability of N -solitons of the Gross-Pitaevskii equation[END_REF].

As as consequence of integrability, the NLS equation (1.1) has many conserved quantities in addition to the charge, the momentum, and the energy. In the present work, we introduce a new variational approach based on the higher-order functional

S(ψ) = R |ψ xx | 2 + 3|ψ| 2 |ψ x | 2 + 1 2 ( ψψ x + ψ ψx ) 2 + (1 -|ψ| 2 ) 2 1 + 1 2 |ψ| 2 dx, (1.6)
which is also conserved under the evolution defined by (1.1). The latter claim can be proved by a straightforward but cumbersome calculation, or by more educated techniques as described, e.g., in [START_REF] Yang | Nonlinear Waves in Integrable and Nonintegrable Systems[END_REF]Section 2.3]. The natural domain of definition for the functional (1.6) is the H 2 energy space defined by

X = ψ ∈ H 2 loc (R) : ψ x ∈ H 1 (R), 1 -|ψ| 2 ∈ L 2 (R) . (1.7) Indeed, if ψ ∈ X, then ζ := 1 -|ψ| belongs to H 1 (R), because |ζ| ≤ |1 -|ψ| 2 | ∈ L 2 (R) and ζ x = -|ψ| x ∈ L 2 (R). By Sobolev's embedding of H 1 (R) into L ∞ (R), we thus have |ψ| = 1 -ζ ∈ L ∞ (R)
, and from the definitions (1.6) and (1.7) it follows easily that S(ψ) < ∞. Since u ′ 0 , u ′′ 0 , and 1 -u 2 0 decay exponentially to zero as |x| → ∞, it is clear that u 0 + H 2 (R) ⊂ X, so that the functional (1.6) is well defined for H 2 perturbations of the soliton profile u 0 . This allows us to define the differential of S at u 0 , and a direct calculation using the differential equations (1.3) reveals that u 0 is a critical point of S, in the sense that S ′ (u 0 ) = 0.

Unfortunately, the second variation S ′′ (u 0 ) has no definite sign [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF], hence it is not possible to prove orbital stability of the black soliton using the functional S alone. As is explained in the companion paper [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF], which is devoted to the stability of periodic waves for the NLS equation (1.1), it is possible to cure that problem by subtracting from S an appropriate multiple of the energy E, which is well defined on X and also satisfies E ′ (u 0 ) = 0. The optimal choice is

Λ(ψ) = S(ψ) -2E(ψ), ψ ∈ X. (1.8)
We then have Λ ′ (u 0 ) = 0, and the starting point of our approach is the following result, which asserts that the second variation Λ ′′ (u 0 ) is nonnegative.

Proposition 1.1. The second variation of the functional (1.8) at the black soliton (1.2) is nonnegative for perturbations in H 2 (R).

It is important to realize that Proposition 1.1 gives an unconstrained variational characterization of the black soliton u 0 , which is our main motivation for introducing the higher-order conserved quantity (1.6). In contrast, the approach in [START_REF] Bethuel | Orbital stability of the black soliton for the Gross-Pitaevskii equation[END_REF][START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF] relies on the fact that u 0 is a minimum of the energy E(ψ) subject to the constraint M(ψ) = M(u 0 ), where M is a suitably renormalized version of the momentum M defined in (1.4).

The proof of Proposition 1.1 developed in Section 2 actually shows that the second variation Λ ′′ (u 0 ) is positive except for degeneracies due to symmetries: the nonnegative self-adjoint operator associated with Λ ′′ (u 0 ) has a simple zero eigenvalue which is due to translation invariance, and the essential spectrum extends all the way to the origin due to gauge invariance. As a consequence, perturbations in H 2 (R) can include slow modulations of the phase of the black soliton far away from the origin, which hardly increase the functional Λ. This means that the second variation Λ ′′ (u 0 ) is not coercive in H 2 (R), even if modulation parameters are used to remove the zero modes due to the symmetries. For that reason, we are not able to control the perturbations of the black soliton in the topology of H 2 (R), but only in a weaker sense that allows for a slow drift of the phase at infinity, see Section 3 below for a more detailed discussion.

To formulate our main result, we equip the space X with the distance

d R (ψ 1 , ψ 2 ) = (ψ 1 -ψ 2 ) x H 1 (R) + |ψ 1 | 2 -|ψ 2 | 2 L 2 (R) + ψ 1 -ψ 2 L 2 (-R,R) , (1.9)
where R ≥ 1 is a parameter. Note that d R is the exact analogue, at the H 2 level, of the distance that is used in previous variational studies of the black soliton, including [START_REF] Bethuel | Orbital stability of the black soliton for the Gross-Pitaevskii equation[END_REF][START_REF] Gérard | The Gross-Pitaevskii equation in the energy space[END_REF][START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF]. As is easily verified, a function ψ ∈ H 2 loc (R) belongs to X if and only if d R (ψ, u 0 ) < ∞; moreover, different choices of R give equivalent distances on X. To prove orbital stability of the black soliton with profile u 0 , the idea is to consider solutions ψ of the NLS equation (1.1) for which d R (ψ, u 0 ) is small. This is certainly the case if ψ -u 0 H 2 is small, but the converse is not true because d R (ψ, u 0 ) does not control the L 2 norm of the difference ψ -u 0 on the whole real line. We shall prove in Section 4 that the distance d R is well adapted to the functional Λ near u 0 , in the sense that

Λ(ψ) -Λ(u 0 ) ≥ Cd R (ψ, u 0 ) 2 when d R (ψ, u 0 ) ≪ 1, (1.10)
provided the perturbation ψ -u 0 satisfies a pair of orthogonality conditions. As is usual in orbital stability theory, these orthogonality conditions can be fulfilled if we replace ψ by e iθ ψ(• + ξ) for some appropriate modulation parameters θ, ξ ∈ R, see Section 3 below. It is then easy to deduce from (1.10) that solutions of the NLS equation (1.1) with initial data ψ satisfying d R (ψ 0 , u 0 ) ≪ 1 will stay close for all times to the orbit of the black soliton under the group of translations and phase rotations. The precise statement is:

Theorem 1.2. Fix R ≥ 1 and let u 0 ∈ X be the black soliton (1.2). Given any ǫ > 0, there exists δ > 0 such that, for any ψ 0 ∈ X satisfying

d R (ψ 0 , u 0 ) ≤ δ, (1.11)
the global solution ψ(•, t) of the NLS equation (1.1) with initial data u 0 has the following property. For any t ∈ R, there exist ξ(t) ∈ R and θ(t) ∈ R/(2πZ) such that d R e i(t+θ(t)) ψ(• + ξ(t), t) , u 0 ≤ ǫ.

(1.12)

Moreover ξ and θ are continuously differentiable functions of t which satisfy

| ξ(t)| + | θ(t)| ≤ Cǫ, t ∈ R, (1.13)
for some positive constant C.

Remark 1.3. It is known from the work of Zhidkov [START_REF] Zhidkov | Korteweg-de Vries and nonlinear Schrödinger equations[END_REF] that the Cauchy problem for the NLS equation (1.1) is globally well-posed in X. This is the functional framework that is used to define solutions of (1.1) in Theorem 1.2.

Remark 1.4. Except for the use of a different distance d R , which controls the perturbations in the topology of H 2 loc (R), Theorem 1.2 is the exact analogue of the orbital stability results obtained in [START_REF] Bethuel | Orbital stability of the black soliton for the Gross-Pitaevskii equation[END_REF][START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF]. However the proof is quite different, and in some sense simpler, because the profile u 0 of the black soliton is an unconstrained local minimizer of the higher-order functional Λ.

Remark 1.5. It is also possible to prove asymptotic stability results for the black soliton of the cubic NLS equation (1.1). In that perspective, it is useful to consider the black soliton as a member of the one-parameter family of traveling dark solitons, given by the exact expression

e it ψ ν (x + νt, t) = 1 -1 2 ν 2 tanh 1 2 -1 4 ν 2 x + iν √ 2 , (1.14)
where ν ∈ (-√ 2, √ 2). Asymptotic stability of the family of dark solitons with nonzero speed ν was proved in [START_REF] Bethuel | Asymptotic stability in the energy space for dark solitons of the Gross-Pitaevskii equation[END_REF], using the Madelung transformation and the hydrodynamic formulation of the NLS equation. This approach applies to solutions whose modulus is strictly positive, and therefore excludes the case of the black soliton. Very recently, the asymptotic stability of the black soliton (within the one-parameter family of all dark solitons) has been established in [START_REF] Cuccagna | On asymptotic stability of N -solitons of the Gross-Pitaevskii equation[END_REF][START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF].

The rest of this article is organized as follows. In Section 2 we establish positivity and coercivity properties for the quadratic form associated with the second variation of the functional (1.8) at u 0 . In Section 3, we introduce modulation parameters in a neighborhood of the soliton profile to eliminate the zero modes of the second variation Λ ′′ (u 0 ). Combining these results and using a new variable borrowed from [START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF], we prove in Section 4 the orbital stability of the black soliton (1.3) in the space X.

Positivity and coercivity of the second variation

Let u 0 be the soliton profile (1.2) and Λ = S -2E be the functional defined by (1.5), (1.6), and (1.8). In this section, we prove that the second variation Λ ′′ (u 0 ) is nonnegative, as stated in Proposition 1.1, and we deduce some coercivity properties that will be used in the proof of Theorem 1.2. We consider perturbations of u 0 of the form ψ = u 0 + u + iv, where u, v ∈ H 2 (R) are real-valued. As in [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF], the second variations at u 0 of the functionals E and S satisfy

1 2 E ′′ (u 0 )[u, v], [u, v] = L + u, u L 2 + L -v, v L 2 , 1 2 S ′′ (u 0 )[u, v], [u, v] = M + u, u L 2 + M -v, v L 2 ,
where • , • L 2 denotes the usual scalar product in L 2 (R). The self-adjoint operators L ± and M ± have the following expressions:

L + = -∂ 2 x + 3u 2 0 -1, L -= -∂ 2 x + u 2 0 -1, M + = ∂ 4 x -5∂ x u 2 0 ∂ x -5u 4 0 + 15u 2 0 -4, M -= ∂ 4 x -3∂ x u 2 0 ∂ x + u 2 0 -1.
(2.1)

In view of (1.8), it follows that

1 2 Λ ′′ (u 0 )[u, v], [u, v] = K + u, u L 2 + K -v, v L 2 , (2.2)
where K ± = M ± -2L ± . More explicitly, the quadratic forms associated with K ± are given by

K + u, u L 2 = R u 2 xx + (5u 2 0 -2)u 2 x + (9u 2 0 -5u 4 0 -2)u 2 dx, (2.3)
K -v, v L 2 = R v 2 xx + (3u 2 0 -2)v 2 x + (1 -u 2 0 )v 2 dx. (2.4)
Our first task is to show that the quadratic forms (2.3), (2.4) are nonnegative on H 2 (R). Due to translation invariance of the NLS equation (1.1), we have

L + u ′ 0 = M + u ′ 0 = 0, hence also K + u ′ 0 = 0. As u ′ 0 ∈ H 2 (R)
, this shows that the quadratic form associated with K + has a neutral direction, hence is not strictly positive, see Lemma 2.1 below. The situation is slightly different for K -: due to gauge invariance, we have L -u 0 = M -u 0 = 0, hence K -u 0 = 0, but of course u 0 ∈ H 2 (R). In fact, the result of Lemma 2.3 below shows that the quadratic form associated with K -is strictly positive on H 2 (R).

We first prove that the quadratic form (2.3) is nonnegative, see also [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF]Corollary 4.5].

Lemma 2.1. For any u ∈ H 2 (R), we have

K + u, u L 2 = w x 2 L 2 + w 2 L 2 ≥ 0, (2.5
)

where w = u x + √ 2u 0 u.
Proof. Integrating by parts and using the differential equations (1.3) satisfied by u 0 , we easily obtain

R w 2 dx = R u 2 x + 2 √ 2u 0 uu x + 2u 2 0 u 2 dx = R u 2 x + (3u 2 0 -1)u 2 dx. (2.6)
Similarly, as

w x = u xx + √ 2u 0 u x + √ 2u ′ 0 u, we find R w 2 x dx = R u 2 xx + 2 √ 2u 0 u x u xx + 2u 2 0 u 2 x + 2 √ 2u ′ 0 uu xx + 4u 0 u ′ 0 uu x + 2u ′2 0 u 2 dx = R u 2 xx + (5u 2 0 -3)u 2 x + 8u 0 u ′ 0 uu x + 2u ′2 0 u 2 dx = R u 2 xx + (5u 2 0 -3)u 2 x + (1 -u 2 0 )(5u 2 0 -1)u 2 dx, (2.7) because 2u ′2 0 -4(u 0 u ′ 0 ) ′ = (1 -u 2 0 )(5u 2 0 -1).
If we now combine (2.6) and (2.7), we see that

w x 2 L 2 + w 2
L 2 is equal to the right-hand side of (2.3), which is the desired conclusion.

Remark 2.2. The right-hand side of (2.5) vanishes if and only if w = 0, which is equivalent to u = Cu ′ 0 for some constant C. Thus zero is a simple eigenvalue of K + in L 2 (R). Moreover, since u 0 (x) → ±1 as x → ±∞, it is clear from (2.3) that the essential spectrum of K + is the interval [2, ∞). Thus if we restrict ourselves to the orthogonal complement of u ′ 0 with respect to the scalar product • , • L 2 , the spectrum of K + is bounded from below by a strictly positive constant, and the corresponding quadratic form is thus coercive in the topology of H 2 (R), see Remark 2.7 below.

We next prove the positivity of the quadratic form (2.4), see also [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF]Lemma 4.1].

Lemma 2.3. For any v ∈ H 2 (R), we have K -v, v L 2 = L -v 2 L 2 + u 0 v x -u ′ 0 v 2 L 2 ≥ 0, (2.8)
where

L -= -∂ 2 x + u 2 0 -1. Proof. Integrating by parts we obtain R (L -v) 2 dx = R v 2 xx + 2(1 -u 2 0 )vv xx + (1 -u 2 0 ) 2 v 2 dx = R v 2 xx + 2(u 2 0 -1)v 2 x -2(u 0 u ′ 0 ) ′ v 2 + (1 -u 2 0 ) 2 v 2 dx.
Similarly, we have

R u 0 v x -u ′ 0 v 2 dx = R u 2 0 v 2 x + (u 0 u ′ 0 ) ′ v 2 + u ′2 0 v 2 dx.
It follows that

L -v 2 L 2 + u 0 v x -u ′ 0 v 2 L 2 = R v 2 xx + (3u 2 0 -2)v 2 x + [(1 -u 2 0 ) 2 -u 0 u ′′ 0 ]v 2 dx,
and that expression coincides with the right-hand side of (2.4) since (1 -

u 2 0 ) 2 -u 0 u ′′ 0 = 1 -u 2 0
by (1.3). This proves (2.8).

Remark 2.4. The right-hand side of (2.8) vanishes if and only if

L -v = 0 and u 0 v x -u ′ 0 v = 0, namely if v = Cu 0 for some constant C. As u 0 / ∈ H 2 (R), this shows that K -v, v L 2 > 0 for any nonzero v ∈ H 2 (R). However, since |u 0 (x)| → 1 as |x| → ∞,
it is clear from the representation (2.4) that zero belongs to the essential spectrum of the operator K -, hence the associated quadratic form is not coercive in the topology of H 2 (R). Some weaker coercivity property will nevertheless be established below, see Remark 2.9.

Remark 2.5. In view of the decomposition (2.2), Proposition 1.1 is an immediate consequence of Lemmas 2.1 and 2.3.

In the rest of this section, we show that the quadratic forms (2.3), (2.4) are not only positive, but also coercive in some appropriate sense. Lemma 2.6. Let u 0 be the black soliton (1.2). There exists a positive constant C such that, for any u ∈ H 2 (R) satisfying u ′ 0 , u L 2 = 0, we have the estimate

u H 2 ≤ C w H 1 , (2.9)
where w = u x + √ 2u 0 u.

Proof. Solving the linear differential equation u x + √ 2u 0 u = w by Duhamel's formula, we find u = Au ′ 0 + W for some A ∈ R, where

W (x) = x 0 K(x, y)w(y) dy, K(x, y) = cosh 2 (y/ √ 2) cosh 2 (x/ √ 2) . ( 2

.10)

The constant A is uniquely determined by the orthogonality condition u ′ 0 , u L 2 = 0, which implies that A u ′ 0 2

L 2 + u ′ 0 , W L 2 = 0. Using (2.
10), we easily obtain

u ′ 0 , W L 2 = ∞ -∞ x 0 K(x, y)w(y) dy u ′ 0 (x) dx = ∞ 0 ∞ y K(x, y)u ′ 0 (x) dx w(y) -w(-y) dy = 1 3 ∞ 0 e - √ 2y 3 + e - √ 2y 1 + e - √ 2y w(y) -w(-y) dy, (2.11) hence | u ′ 0 , W L 2 | ≤ 2 -1/4 w L 2 . It follows that |A| ≤ C w L 2 for some C > 0.
On the other hand, if we introduce the operator notation W = K(w) for the representation (2.10), we note that K is a bounded operator from

L ∞ (R) to L ∞ (R) with norm K ∞ = sup x∈R |x| 0 K(x, y) dy = 1 √ 2 sup x∈R 1 + 2 √ 2|x|e - √ 2|x| -e -2 √ 2|x| 1 + 2e - √ 2|x| + e -2 √ 2|x| < ∞,
as well as a bounded operator from L 1 (R) to L 1 (R) with norm

K 1 = sup y∈R ∞ |y| K(x, y) dx = 1 √ 2 sup y∈R 1 + e - √ 2|y| = √ 2.
By the Riesz-Thorin interpolation theorem, it follows that K is a bounded operator from L 2 (R) to L 2 (R), and we have the estimate

W L 2 = K(w) L 2 ≤ (K 1 K ∞ ) 1/2 w L 2 . Summarizing, we have shown that u L 2 ≤ |A| u ′ 0 L 2 + W L 2 ≤ C w L 2 for some C > 0. Since w = u x + √ 2u 0 u, we also have u x L 2 ≤ w L 2 + √ 2 u L 2 and (after differentiating) u xx L 2 ≤ w x L 2 + √ 2 u x L 2 + u L 2 .
This proves the bound (2.9).

Remark 2.7. Combining (2.5) and (2.9), we conclude that there exists a constant

C + > 0 such that K + u, u L 2 ≥ C + u 2 H 2 , (2.12) for all u ∈ H 2 (R) satisfying u ′ 0 , u L 2 = 0.
Lemma 2.8. Let u 0 be the black soliton (1.2). There exists a positive constant C such that, for any v ∈ H 2 loc (R) satisfying v x ∈ H 1 (R) and u ′′ 0 , v L 2 = 0, we have the estimate

v xx L 2 + v x L 2 + |v(0)| ≤ C( p L 2 + q L 2 ), (2.13
)

where p = u 0 v x -u ′ 0 v and q = -L -v = v xx + (1 -u 2 0 )v.
Proof. Any solution of the linear differential equation

u 0 v x -u ′ 0 v = p has the form v = Bu 0 + Z for some B ∈ R, where Z(x) = u 0 (x) x 0 p(y) + √ 2q(y) dy - √ 2p(x).
(2.14) Indeed, we observe that

p x = u 0 v xx -u ′′ 0 v = u 0 (v xx + (1 -u 2 0 )v) = u 0 q. Thus, if v = Bu 0 + Z, we have v x (x) = u ′ 0 (x) B + x 0 p(y) + √ 2q(y) dy + u 0 (x)p(x), (2.15) hence u 0 v x -u ′ 0 v = (u 2 0 + √ 2u ′ 0 )p = p. The constant B is uniquely determined by the orthogonality condition u ′′ 0 , v L 2 = 0, which implies that B u ′ 0 2 L 2 = u ′′ 0 , Z . Since p ∈ L 2 (R) and p x = u 0 q ∈ L 2 (R), we have p ∈ L ∞ (R) by Sobolev's embedding, which implies the bound p 2 L ∞ ≤ p L 2 p x L 2 ≤ p L 2 q L 2 .
Thus, using (2.14) and Hölder's inequality, we deduce that

|Z(x)| ≤ √ 2(|x| 1/2 + 1)( p L 2 + q L 2 ), x ∈ R.
This moderate growth of Z is compensated for by the exponential decay of u ′′ 0 to zero at infinity, and we obtain

| u ′′ 0 , Z | ≤ C( p L 2 + q L 2 ) for some C > 0, hence also |B| ≤ C( p L 2 + q L 2 ). In the same way, it follows from (2.15) that v x L 2 ≤ C( p L 2 + q L 2 ). A similar estimate holds for v xx L 2 because v xx = q -(1 -u 2 0
)v and 1 -u 2 0 has the exponential decay to zero at infinity. Finally, since v(0) = -√ 2p(0), we also have

|v(0)| ≤ C( p L 2 + q L 2 )
. This proves the bound (2.13).

Remark 2.9. Combining (2.8) and (2.13), we conclude that there exists a constant

C -> 0 such that K -v, v L 2 ≥ C -v x 2 H 1 + |v(0)| 2 , (2.16) for all v ∈ H 2 loc (R) satisfying v x ∈ H 1 (R) and u ′′ 0 , v L 2 = 0.
As is clear from the proof of Lemma 2.8, we need some orthogonality condition on v to prove estimate (2.16), and since u 0 / ∈ L 2 (R) we cannot impose u 0 , v L 2 = 0. Thus we use u ′′ 0 = u 0 (u 2 0 -1) instead of u 0 . Although u ′′ 0 is only an approximate eigenfunction of K -, the orthogonality condition u ′′ 0 , v L 2 = 0 is good enough for our purposes, as we shall see in Section 3.

Modulation parameters near the black soliton

This section contains some important preliminary steps in the proof of Theorem 1.2. To establish the orbital stability of the black soliton with profile u 0 , our general strategy is to consider solutions ψ(x, t) of the cubic NLS equation (1.1) of the form

e i(t+θ(t)) ψ(x + ξ(t), t) = u 0 (x) + u(x, t) + iv(x, t), (x, t) ∈ R × R, (3.1)
where the perturbations u, v are real-valued and satisfy the orthogonality conditions

u ′ 0 , u(•, t) L 2 = 0, u ′′ 0 , v(•, t) L 2 = 0, t ∈ R. (3.2)
As was discussed in Remarks 2.7 and 2.9, these conditions are needed to exploit the coercivity properties of the second variation Λ ′′ (u 0 ), where Λ is the conserved quantity (1.8). They also allow us to determine uniquely the "modulation parameters", namely the translation ξ(t) and the phase θ(t), at least for solutions ψ(x, t) in a small neighborhood of the black soliton. To make these considerations rigorous, we first need to specify in which topology that neighborhood is understood; in other words, we need to choose an appropriate perturbation space. Next we have to verify that the modulation parameters exist and depend smoothly on the solution ψ(x, t) in the vicinity of the black soliton.

Concerning the first point, we observe that the functional (1.8) which serves as a basis for our analysis is invariant under translations and gauge transformations, and we recall that Λ ′ (u 0 ) = 0. Thus, if ψ(x, t) is a solution of the NLS equation (1.1) of the form (3.1) with u, v ∈ H 2 (R), we have for each fixed t ∈ R the following expansion

Λ(ψ) -Λ(u 0 ) = K + u, u L 2 + K -v, v L 2 + N (u, v), (3.3)
where N (u, v) collects all terms that are at least cubic in u and v. However, unlike in the periodic case considered in the companion paper [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF], the decomposition (3.3) is not sufficient to prove the orbital stability of the black soliton. Indeed, the quadratic terms in (3.3) are nonnegative, but they are degenerate in the sense that they do not control the L 2 (R) norm of v, as can be seen from the lower bound (2.16). This is due to the fact that the operator K -has essential spectrum touching the origin, with generalized eigenfunctions corresponding to slow modulations of the phase of the black soliton. As is clear from the proof of Lemma 2.8, one cannot even prove that

v ∈ L ∞ (R) if we only know that K -v, v L 2 < ∞.
This in turn makes it impossible to control the nonlinearity N (u, v) in (3.3) in terms of the quadratic part

K + u, u L 2 + K -v, v L 2 .
There are good reasons to believe that the above problem is not just a technical one, and that the H 2 topology for the perturbations u, v is not appropriate to prove orbital stability of the black soliton. Indeed, as is well known, the cubic NLS equation (1.1) has a family of travelling dark solitons ψ ν (x, t) given by (1.14). Rigorous results [START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF] and numerical simulations indicate that a small, localized perturbation of the black soliton ψ 0 can lead to the formation of a dark soliton ψ ν with a small nonzero speed ν. If this happens, the functions u, v defined in (3.1) cannot stay bounded in L 2 (R) for all times, because ψ ν -ψ 0 / ∈ L 2 (R) if ν = 0. Note, however, that the quantity |ψ ν | -|ψ 0 | does belong to L 2 (R) and decays exponentially at infinity. This suggests that a particular combination of u, v may be controlled in L 2 (R) for all times.

Following [START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF], we introduce the auxiliary variable

η = |u 0 + u + iv| 2 -|u 0 | 2 = 2u 0 u + u 2 + v 2 , (3.4)
which allows us to control the perturbations of the modulus of the black soliton u 0 . The idea is now to consider perturbations u, v for which u

x , v x ∈ H 1 (R), η ∈ L 2 (R), and u, v ∈ L 2 (-R, R)
for some fixed R ≥ 1. If ψ = u 0 + u + iv, this is equivalent to requiring that ψ ∈ X, where X is the function space (1.7), or that d R (ψ, u 0 ) < ∞, where d R is the distance (1.9). Indeed, we have by definition

d R (ψ, u 0 ) = u x + iv x H 1 (R) + η L 2 (R) + u + iv L 2 (-R,R) . (3.5)
Note, however, that we do not assume any longer that u, v are square integrable at infinity. In particular, the perturbed solutions we consider include dark solitons ψ ν with nonzero speed ν. Now that we have defined a precise perturbation space, we can state our first result showing the existence and the continuity of the modulation parameters ξ and θ in a neighborhood of the orbit of the soliton profile u 0 . The following statement is very close in spirit to Proposition 2 in [START_REF] Gravejat | Asymptotic stability of the black soliton for the Gross-Pitaevskii equation[END_REF] or Lemma 6.1 in [START_REF] Th | Orbital stability in the cubic defocusing NLS equation: I. Cnoidal periodic waves[END_REF]. Lemma 3.1. Fix any R ≥ 1. There exists ǫ 0 > 0 such that, for any ψ ∈ X satisfying

inf ξ,θ∈R d R e iθ ψ(• + ξ), u 0 ≤ ǫ 0 , (3.6)
there exist ξ ∈ R and θ ∈ R/(2πZ) such that

e iθ ψ(x + ξ) = u 0 (x) + u(x) + iv(x), x ∈ R, (3.7)
where the real-valued functions u and v satisfy the orthogonality conditions (3.2). Moreover, the modulation parameters ξ ∈ R and θ ∈ R/(2πZ) depend continuously on ψ in the topology defined by the distance (1.9).

Proof. It is sufficient to prove (3.7) for all ψ ∈ X such that ǫ := d R (ψ, u 0 ) is sufficiently small. Given such a ψ ∈ X, we consider the smooth function f : R 2 → R 2 defined by

f (ξ, θ) = u ′ 0 (• -ξ), Re(e iθ ψ) L 2 u ′′ 0 (• -ξ), Im(e iθ ψ) L 2 , (ξ, θ) ∈ R 2 .
By construction, we have f (ξ, θ) = 0 if and only if ψ can be represented as in (3.7) for some real-valued functions u, v satisfying the orthogonality conditions (3.2).

If we decompose ψ = u 0 + u + iv where u, v are real-valued, we have

u ′ 0 , Re(ψ) L 2 = u ′ 0 , u L 2 because u ′ 0 , u 0 L 2 = 0.
As in the proof of Lemma 2.8, we observe that

|u(x)| ≤ C u L 2 (-1,1) + (1 + |x| 1/2 ) u x L 2 (R) ≤ C(1 + |x| 1/2 )d R (ψ, u 0 ),
where in the last inequality we have used (3.5). Thus | u ′ 0 , Re(ψ) L 2 | ≤ Cd R (ψ, u 0 ), and a similar argument gives | u ′′ 0 , Im(ψ) L 2 | ≤ Cd R (ψ, u 0 ). This shows that f (0, 0) ≤ Cǫ for some positive constant C independent of ǫ.

On the other hand, the Jacobian matrix of the function f at the origin (0, 0) is given by

Df (0, 0) = u ′ 0 2 L 2 0 0 -u ′ 0 2 L 2 + -u ′′ 0 , Re(ψ -u 0 ) L 2 -u ′ 0 , Im(ψ -u 0 ) L 2 -u ′′′ 0 , Im(ψ -u 0 ) L 2 u ′′ 0 , Re(ψ -u 0 ) L 2 .
The first term in the right-hand side is a fixed invertible matrix and the second term is bounded in norm by Cǫ, hence Df (0, 0) is invertible if ǫ is small enough. In addition, the norm of the inverse of Df (0, 0) is bounded by a constant independent of ǫ. Finally, it is straightforward to verify that the second-order derivatives of f are uniformly bounded when ǫ ≤ 1. These observations together imply that there exists a unique pair (ξ, θ), in a neighborhood of size O(ǫ) of the origin, such that f (ξ, θ) = 0. Thus the decomposition (3.1) holds for these values of (ξ, θ). In addition, the above argument shows that the modulation parameters ξ, θ depend continuously on ψ ∈ X in the topology defined by the distance (1.9). This concludes the proof.

As was already mentioned, the Cauchy problem for the NLS equation (1.1) is globally wellposed in the space X [START_REF] Zhidkov | Korteweg-de Vries and nonlinear Schrödinger equations[END_REF]. If ψ(•, t) is a solution of (1.1) in X which stays for all times in a neighborhood of the orbit of the black soliton, the modulation parameters ξ(t), θ(t) given by the decomposition (3.1) subject to the orthogonality conditions (3.2) are continuous functions of time. In fact, as in [5, Lemma 6.3], we have the following stronger conclusion: Lemma 3.2. If ǫ > 0 is sufficiently small and if ψ(•, t) is any solution of the NLS equation (1.1) in X satisfying, for all t ∈ R,

inf ξ,θ∈R d R e iθ ψ(• + ξ, t), u 0 ≤ ǫ, (3.8)
then the modulation parameters ξ(t), θ(t) in the decomposition (3.1), (3.2) are continuously differentiable functions of t satisfying (1.13).

Proof. If ψ(•, t) is any solution of the NLS equation (1.1) in X, it is easy to verify that the map t → e it ψ(•, t) -ψ(•, 0) is continuously differentiable in the topology of L 2 (R), with

∂ t e it ψ(•, t) -ψ(•, 0) = ie it ψ xx + (1 -|ψ| 2 )ψ ∈ L 2 (R).
In particular, for all (ξ, θ) ∈ R 2 , the scalar products

u ′ 0 (• -ξ), Re(e iθ ψ(•, t)) L 2 , u ′′ 0 (• -ξ), Im(e iθ ψ(•, t)) L 2 ,
are continuously differentiable functions of time. Thus, if assumption (3.8) holds for all times, the proof of Lemma 3.1 shows that the modulations parameters ξ(t), θ(t) in the decomposition (3.1), (3.2) are C 1 functions of time.

Differentiating both sides of (3.1) and using (1.1), we obtain the evolution system

u t = L -v + ξ(u ′ 0 + u x ) -θv + (2u 0 u + u 2 + v 2 )v, -v t = L + u -ξv x -θ(u 0 + u) + (3u 0 u + u 2 + v 2 )u + u 0 v 2 ,
where the operators L ± are defined in (2.1). Using the orthogonality conditions (3.2), we eliminate the time derivatives u t , v t by taking the scalar product of the first line with u ′ 0 and of the second line with u ′′ 0 . This gives the following linear system for the derivatives ξ and θ:

B ξ θ = L -u ′ 0 , v L 2 L + u ′′ 0 , u L 2 + u ′ 0 , (2u 0 u + u 2 + v 2 )v L 2 u ′′ 0 , (3u 0 u + u 2 + v 2 )u + u 0 v 2 L 2 , ( 3.9)
where

B = -u ′ 0 2 L 2 0 0 -u ′ 0 2 L 2 + -u ′ 0 , u x L 2 u ′ 0 , v L 2 u ′′ 0 , v x L 2 u ′′ 0 , u L 2 . (3.10)
As in the proof of Lemma 3.1, it is easy to verify using (3.8) that the second term in the right-hand side of (3.10) is bounded by Cǫ for some positive constant C, hence the matrix B is invertible if ǫ is small enough, with uniformly bounded inverse. On the other hand, the first term in the right-hand side of (3.9) is of size O(ǫ), whereas the second term is O(ǫ 2 ), hence | ξ(t)|+| θ(t)| ≤ Cǫ for all t ∈ R, where the positive constant C is independent of t. This concludes the proof.

Proof of orbital stability of the black soliton

This final section is entirely devoted to the proof of Theorem 1.2. As in the previous section, we consider solutions of the NLS equation (1.1) of the form (3.1), where the real-valued perturbations u, v satisfy the orthogonality conditions (3.2). Our main task is a detailed analysis of the functional (1.8) in a neighborhood of the orbit of the soliton profile u 0 . Instead of using the straightforward decomposition (3.3), the main idea is to express the difference Λ(ψ) -Λ(u 0 ) in terms of the variables u, v, and η, where η is defined in (3.4).

Lemma 4.1. If ψ = u 0 + u + iv satisfies d R (ψ, u 0 ) < ∞, then Λ(ψ) -Λ(u 0 ) = R u 2 xx + v 2 xx + (3u 2 0 -2)(u 2 x + v 2 x ) + (1 -u 2 0 )(u 2 + v 2 ) -3(1 -u 2 0 )(1 -3u 2 0 )u 2 + 1 2 η 2 x + 1 2 (3u 2 0 -2)η 2 (4.1)
+ 1 2 η 3 + 3η(u 2 x + v 2 x ) + 6u ′ 0 (u 2 + v 2 )u x dx .
Proof. We observe that |ψ| 2 = u 2 0 + η and ψψ x + ψ ψx = 2u 0 u ′ 0 + η x . Thus, if

A(ψ) = |ψ xx | 2 + |ψ x | 2 (3|ψ| 2 -2) + 1 2 ( ψψ x + ψ ψx ) 2 + 1 2 |ψ| 2 (1 -|ψ| 2 ) 2
denotes the integrand in the functional Λ = S -2E, a direct calculation shows that

A(ψ) -A(u 0 ) = L(u, η) + 6ηu ′ 0 u x + u 2 xx + v 2 xx + (3u 2 0 -2)(u 2 x + v 2 x ) + 1 2 η 2 x + 1 2 (3u 2 0 -2)η 2 + 1 2 η 3 + 3η(u 2 x + v 2 x ), (4.2)
where

L(u, η) = 2u ′′ 0 u xx + 2(3u 2 0 -2)u ′ 0 u x + 2u 0 u ′ 0 η x + η(1 -u 2 0 )(2 -3u 2 0
). We now integrate the right-hand side of (4.2) over x ∈ R, starting with the terms L(u, η) which are linear in u and η. Using the identities u ′′ 0 + u 0 -u 3 0 = 0 and

u ′′′′ 0 + (1 -3u 2 0 )u ′′ 0 -6u 0 u ′2 0 = 0, we find 2 R u ′′ 0 u xx + (3u 2 0 -2)u ′ 0 u x dx = 2 R u ′′′′ 0 -(3u 2 0 -2)u ′′ 0 -6u 0 u ′2 0 u dx = 2 R u ′′ 0 u dx = -2 R (1 -u 2 0 )u 0 u dx.
Similarly, as 2(u

0 u ′ 0 ) ′ = (1 -u 2 0 )(1 -3u 2 0 ), we have 2 R u 0 u ′ 0 η x dx = -2 R (u 0 u ′ 0 ) ′ η dx = - R (1 -u 2 0 )(1 -3u 2 0 )ηdx. We conclude that R L(u, η) dx = R (1 -u 2 0 )(η -2u 0 u) dx = R (1 -u 2 0 )(u 2 + v 2 ) dx. (4.3)
Note that (4.3) is now quadratic in u and v, which could be expected since u 0 is a critical point of the functional Λ. We next consider the quadratic term 6ηu ′ 0 u x in (4.2), which has no definite sign. Using the definition (3.4), we find 6ηu

′ 0 u x = 12u 0 u ′ 0 uu x + 6u ′ 0 (u 2 + v 2 )u x ,

and integrating by parts, we obtain

6 R ηu ′ 0 u x dx = -3 R (1 -u 2 0 )(1 -3u 2 0 )u 2 dx + 6 R u ′ 0 (u 2 + v 2 )u x dx. ( 4.4)
Now, combining (4.2), (4.3), and (4.4), we arrive at (4.1).

To simplify the notations, we define

B 0 (u) = u 2 xx + (5u 2 0 -2)u 2 x + (9u 2 0 -5u 4 0 -2)u 2 B 1 (u) = u 2 xx + (3u 2 0 -2)u 2 x + (1 -u 2 0 )u 2 -3(1 -u 2 0 )(1 -3u 2 0 )u 2 (4.5) B 2 (v) = v 2 xx + (3u 2 0 -2)v 2 x + (1 -u 2 0 )v 2 B 3 (η) = 1 2 η 2 x + 1 2 (3u 2 0 -2)η 2 .
The quadratic terms in the right-hand side of (4.1) can be written in the compact form

Q(u, v, η) = R B 1 (u) + B 2 (v) + B 3 (η) dx. (4.6)
We see that

Q(u, v, η) contains K -v, v ≡ R B 2 (v) dx, but not K + u, u ≡ R B 0 (u) dx. Instead, it only contains R B 1 (u) dx and R B 3 (η) dx.
This discrepancy is due to that fact that the variables u and η are not independent. As η = 2u 0 u + u 2 + v 2 , the quantity R B 3 (η) dx also contains quadratic terms in u and u x , which should be added to R B 1 (u) dx to obtain R B 0 (u) dx. Due to the relation between u and η, it is not obvious that each quadratic term in (4.6) is positive independently of the others. To avoid that difficulty, we fix some R ≥ 1 (which will be chosen large enough below) and we split the integration domain into two regions. When |x| ≤ R, we replace η by 2u 0 u + u 2 + v 2 , and we use extensions of Lemmas 2.6 and 2.8 to prove positivity of the quadratic terms in (4.6). In the outer region |x| > R, the analysis is much simpler, because the expressions B 1 (u), B 2 (v), and B 3 (η) are obviously positive if R is large enough.

Since η is a nonlinear function of u and v, the analysis of the quadratic expression (4.6) will produce higher-order terms, which will be controlled using a smallness assumption on the distance d R (ψ, u 0 ). To that purpose, we find it convenient to introduce the quantity

ρ 2 (u, v, η) = R u 2 xx + v 2 xx + u 2 x + v 2 x dx + |x|≤R u 2 + R -2 v 2 dx + |x|≥R η 2 x + η 2 dx, (4.7)
which is equivalent to the squared distance (3.5) in a neighborhood of u 0 . Indeed, we have the following elementary result: Lemma 4.2. Fix R ≥ 1, and assume that ψ = u 0 + u + iv, where u, v ∈ H 2 loc (R) are real-valued. Let d R (ψ, u 0 ) be given by (3.5) and ρ(u, v, η) by (4.7).

a) One has d R (ψ, u 0 ) < ∞ if and only if ρ(u, v, η) < ∞. b) There exists a constant C 0 ≥ 1 (independent of R) such that, if d R (ψ, u 0 ) ≤ 1 or if R 1/2 ρ(u, v, η) ≤ 1, then C -1 0 ρ(u, v, η) ≤ d R (ψ, u 0 ) ≤ C 0 Rρ(u, v, η). (4.8)
Proof. Throughout the proof, we denote d R (ψ, u 0 ) by d R and ρ(u, v, η) simply by ρ. We proceed in three steps.

Step 1:

Assume first that d R < ∞, so that u x , v x ∈ H 1 (R), u, v ∈ L 2 (-R, R), and η ∈ L 2 (R), where η = |ψ| 2 -|u 0 | 2 = 2u 0 u + u 2 + v 2 .
We claim that u, v ∈ L ∞ (R) and that

K := u L ∞ (R) + v L ∞ (R) ≤ C(1 + d R ), (4.9)
for some universal constant C > 0. Indeed, if f = |ψ| -|u 0 |, we observe that

d 2 R ≥ R η 2 dx ≥ |x|≥1 (|ψ| -|u 0 |) 2 (|ψ| + |u 0 |) 2 dx ≥ C |x|≥1 f 2 dx, hence f ∈ L 2 (I)
, where I = {x ∈ R : |x| ≥ 1}, and f L 2 (I) ≤ Cd R . Moreover, we have

|f x | ≤ 2u ′ 0 + |u x | + |v x | almost everywhere, hence f x ∈ L 2 (R) and f x L 2 (R) ≤ C(1 + d R )
. By Sobolev embedding, this implies that f ∈ L ∞ (I), hence also u, v ∈ L ∞ (I), and we have the bound

u L ∞ (I) + v L ∞ (I) ≤ C(1 + d R ). Finally, since u x L 2 (R) + v x L 2 (R) ≤ Cd R , we conclude that u, v ∈ L ∞ (
R) and that (4.9) holds.

Step 2: Next, we assume that ρ < ∞, so that u x , v x ∈ H 1 (R), u, v ∈ L 2 (-R, R), and η ∈ H 1 (I R ), where I R = {x ∈ R : |x| ≥ R}. We claim that u, v ∈ L ∞ (R) and that

K := u L ∞ (R) + v L ∞ (R) ≤ C(1 + R 1/2 ρ), (4.10)
for some universal constant C > 0. Indeed, we know that η

∈ L ∞ (I R ) with η L ∞ (I R ) ≤ Cρ. This implies that ψ ∈ L ∞ (I R ), hence also u, v ∈ L ∞ (I R ), and that u L ∞ (I R ) + v L ∞ (I R ) ≤ C(1+ρ) 1/2 .
On the other hand, we know that

u L ∞ (-R,R) ≤ C u H 1 (-R,R) ≤ Cρ and that v L ∞ (-R,R) ≤ C v L 2 (-R,R) R 1/2 + v 1/2 L 2 (-R,R) v x 1/2 L 2 (-R,R) ≤ CR 1/2 ρ, because v L 2 (-R,R) ≤ Rρ and v x L 2 (-R,R) ≤ ρ.
Thus we conclude that u, v ∈ L ∞ (R) and that (4.10) holds.

Step 3: Finally we assume that

K = u L ∞ (R) + v L ∞ (R) < ∞, which is the case if d R < ∞ or if ρ < ∞. As η = 2u 0 u + u 2 + v 2 , we find η L 2 (-R,R) ≤ C(1 + K) u L 2 (-R,R) + v L 2 (-R,R) ≤ C(1 + K)Rρ, because u L 2 (-R,R) ≤ ρ and v L 2 (-R,R) ≤ Rρ.
This shows that, if ρ < ∞, then η ∈ L 2 (R), so that d R < ∞, and we have the bound d R ≤ C(1 + K)Rρ. Conversely, since η x = 2(u ′ 0 u + u 0 u x + uu x + vv x ), we obtain

η x L 2 (R) ≤ C(1 + K) u L 2 (-1,1) + u x L 2 (R) + v x L 2 (R) ≤ C(1 + K)d R ,
where to estimate u ′ 0 u we used the fact that |u(x

)| ≤ C( u L 2 (-1,1) + (1 + |x|) 1/2 u x L 2 (R)
). This shows that, if d R < ∞, then η x ∈ L 2 (R), so that ρ < ∞, and we have the bound ρ ≤ C(1 + K)d R . This concludes the proof.

In the calculations below, to avoid boundary terms when integrating by parts in expressions such as (4.6), it is technically convenient to split the integration domain using a smooth partition of unity. Let χ : R → [0, 1] be a smooth cut-off function such that

χ(x) = 1 for |x| ≤ 1 2 , and χ(x) = 0 for |x| ≥ 3 2 .
We further assume that χ is even, that χ ′ (x) ≤ 0 for x ≥ 0, and that χ(1) = 1 2 . Given R ≥ 1, we denote χ R (x) = χ(x/R). The following estimates will be useful to control the functions u, v on the support of χ ′ R .

Proof. Proceeding as in the proof of Lemma 4.2, it is easy to estimate the cubic terms in (4.1) in terms of ρ(u, v, η) using, in particular, the uniform bound (4.9) and the estimate (4.12). We thus find Λ

(ψ) -Λ(u 0 ) = Q(u, v, η) + O(R 3 ρ(u, v, η) 3 ), (4.15)
where Q(u, v, η) is given by (4.5) and (4.6). Then, in the definition (4.6), we split the integral using the partition of unity 1 = χ R + (1 -χ R ) and we use Lemma 4.4. This gives

Q(u, v, η) = R B 2 (v) dx + R B 0 (u)χ R (x) dx + R B 1 (u) + B 3 (η) (1 -χ R (x)) dx + O(R 3 ρ(u, v, η) 3 + e -R ρ(u, v, η) 2 ). (4.16)
As u ′′ 0 , v = 0, we know from Lemmas 2.3 and 2.8 that

R B 2 (v) dx ≥ C R (v 2 xx + v 2 x ) dx + C R 2 |x|≤R v 2 dx, (4.17)
where the last term in the right-hand side follows from the bound |v(

x)| ≤ |v(0)| + |x| 1/2 v x L 2 , which implies |x|≤R v 2 dx ≤ 4R|v(0)| 2 + 2R 2 R v 2 x dx ≤ CR 2 R B 2 (v) dx. On the other hand, if R ≥ 1 is large enough so that 3u 2 0 -2 ≥ 1 2 for |x| ≥ R, it is clear from (4.5) that R B 1 (u) + B 3 (η) (1 -χ R (x)) dx ≥ C |x|≥R (u 2 xx + u 2 x + η 2 x + η 2 ) dx. ( 4

.18)

Finally, we estimate from below the term R B 0 (u)χ R (x) dx under the orthogonality assumption u ′ 0 , u L 2 = 0. Arguing as in Lemma 2.1 and Corollary 2.3, we introduce the auxiliary variable w = u x + √ 2u 0 u. After integrating by parts, we obtain the identity

R B 0 (u)χ R (x) dx = R w 2 x + w 2 χ R (x) dx + J R , where J R = R √ 2u 0 u 2 x + 2 √ 2u ′ 0 uu x + (2u 0 u ′ 0 - √ 2u ′′ 0 )u 2 + √ 2u 2 0 u 2 χ ′ R (x) dx. Since χ ′ R (x) = R -1 χ ′ (x/R), we have using the estimate (4.11) |J R | ≤ C R |x|≤3R/2 u 2 x + u 2 dx ≤ C 3 ρ(u, v, η) 2 R + O(R 2 ρ(u, v, η) 4 ),
where C 3 > 0 is independent of R. Moreover, proceeding as in the proof of Lemma 2.6, we find

|x|≤R u 2 xx + u 2 x + u 2 dx ≤ C |x|≤R w 2 x + w 2 dx + O(e -R ρ(u, v, η) 2 ). ( 4
= |x|≤R u ′ 0 (x) Au ′ 0 (x) + W (x) dx + |x|≥R u ′ 0 (x)u(x) dx, we easily obtain the bound |A| ≤ C W L 2 (|x|≤R) + O(e -R ρ(u, v, η)). This shows that u L 2 (|x|≤R) ≤ C w L 2 (|x|≤R) + O(e -R ρ(u, v, η)),
and since u x = w -√ 2u 0 u we obtain similar estimates for the derivatives u x and u xx , which altogether give (4.19). Summarizing, we have shown

R B 0 (u)χ R (x) dx ≥ C |x|≤R u 2 xx + u 2 x + u 2 dx - C 3 ρ(u, v, η) 2 R + O(R 2 ρ(u, v, η) 3 + e -R ρ(u, v, η) 2 ), (4.20)
where in the big O term we replaced R 2 ρ(u, v, η) 4 with R 2 ρ(u, v, η) 3 using the fact that ρ(u, v, η) ≤ C 0 d R (ψ, u 0 ) ≤ C 0 by (4.8). Now, combining (4.15), (4.16), (4.17), (4.18), (4.20), and taking R ≥ 1 sufficiently large, we arrive at (4.14).

Corollary 4.6. Fix any R ≥ 1. There exist ǫ 1 ∈ (0, 1) and

C 4 ≥ 1 such that, if ψ = u 0 + u + iv satisfies d R (ψ, u 0 ) ≤ ǫ 1 and if u ′ 0 , u L 2 = u ′′ 0 , v L 2 = 0, then C -1 4 d R (ψ, u 0 ) 2 ≤ Λ(ψ) -Λ(u 0 ) ≤ C 4 d R (ψ, u 0 ) 2 . ( 4

.21)

Proof. Choose R ≥ 1 large enough so that the conclusion of Proposition 4.5 holds, and ρ 0 > 0 small enough so that R 3 ρ 0 ≪ C 2 , where C 2 is as in (4.14). Take ǫ 1 ≤ 1 such that C 0 ǫ 1 ≤ ρ 0 , where C 0 is as in (4.8). If ψ = u 0 + u + iv satisfies d R (ψ, u 0 ) ≤ ǫ 1 and u ′ 0 , u L 2 = u ′′ 0 , v L 2 = 0, it follows from (4.8) that the quantity ρ(u, v, η) defined in (4.7) satisfies ρ(u, v, η) ≤ ρ 0 . By Proposition 4.5, we thus have Indeed, the bound (4.22) holds for t = 0 by assumption. Let J ⊂ R be the largest time interval containing the origin such that the bound (4.22) holds for all t ∈ J . As is well-known [START_REF] Gérard | The Gross-Pitaevskii equation in the energy space[END_REF][START_REF] Zhidkov | Korteweg-de Vries and nonlinear Schrödinger equations[END_REF], the solutions of the cubic NLS equation (1.1) with initial data in X depend continuously on time with respect to the distance d R (ψ, u 0 ). This implies that the left-hand side of the bound (4.22) is a continuous function of t, so that J is closed. On the other hand, if t ∈ J , then by Lemma 3.1 we can find ξ, θ ∈ R such that the function ψ(x) = e i(θ+t) ψ(x+ξ, t) can be decomposed as in (3.7) with u, v satisfying the orthogonality conditions (3.2). Applying Corollary 4.6 to ψ, we deduce that C -1 4 d R ( ψ, u 0 ) 2 ≤ Λ( ψ) -Λ(u 0 ) = Λ(ψ 0 ) -Λ(u 0 ) ≤ C 4 δ 2 , so that d R ( ψ, u 0 ) ≤ C 4 δ. Using again a continuity argument, we conclude that J contains a neighborhood of t. Thus J is open, hence finally J = R, so that the bound (4.22) holds for all t ∈ R. Using Lemma 3.1, we thus obtain modulations parameters ξ(t), θ(t) such that d R e i(θ(t)+t) ψ(• + ξ(t), t) , u 0 ≤ C 4 δ ≤ ǫ, t ∈ R.

Finally, Lemma 3.2 shows that the functions ξ : R → R and θ : R → R/(2πZ) are continuously differentiable and satisfy the bounds (1.13). The proof of Theorem 1.2 is now complete.

Remark 4.7. Instead of introducing the auxiliary variable η to cure the imperfect decomposition (3.1), it would be advantageous to find a parametrization of the perturbations that fully takes into account the geometry of the functional Λ, and in particular the degeneracy of Λ ′′ (u 0 ). Near the constant solution u 1 ≡ 1, it is most natural to write ψ(x, t) = (1 + r(x, t))e iϕ(x,t) , where r and ϕ are real-valued functions. In that case, the usual energy function (1.5) allows us to control r in H 1 (R) and ϕ x in L 2 (R). In the same spirit, it is tempting to consider perturbations of the black soliton of the form ψ(x, t) = (u 0 (x) + r(x, t))e iϕ(x,t) , x ∈ R, where Ñ (r, ϕ x ) collects the higher order terms. This formula is interesting, because it is not difficult to verify that Ñ (r, ϕ x ) can be controlled by the quadratic terms in (4.24) if r is small in H 2 (R) and ϕ x small in H 1 (R). However, not all perturbations of the black soliton can be written in the form (4.23) with r, ϕ satisfying such smallness conditions, because u 0 vanishes at x = 0 in (4.23).

1 2 C

 12 2 ρ(u, v, η) 2 ≤ Λ(ψ) -Λ(u 0 ) ≤ C ′ 2 ρ(u, v, η) 2 ,where the lower bound follows from (4.14), and the upper bound can be established by a much simpler argument (which does not use any orthogonality condition). Since ρ(u, v, η) is equivalent to d R (ψ, u 0 ) by Lemma 4.2, we obtain (4.21). Finally, Corollary 4.6 holds for any R ≥ 1 because different values of R give equivalent distances d R on X.It is now easy to conclude the proof of Theorem 1.2. Fix any R ≥ 1. Given any ǫ > 0, we take δ = 1 2C 4 min(2ǫ, ǫ 0 , ǫ 1 ), where C 4 ≥ 1 and ǫ 1 > 0 are as in Corollary 4.6 and ǫ 0 > 0 is as in Lemma 3.1. If ψ 0 ∈ X satisfies d R (ψ 0 , u 0 ) ≤ δ, then Λ(ψ 0 ) -Λ(u 0 ) ≤ C 4 δ2 by the upper bound in (4.21), which does not require any orthogonality condition. Since Λ is a conserved quantity, we deduce that the solution ψ(•, t) of the cubic NLS equation (1.1) with initial data ψ 0 satisfies Λ(ψ(•, t)) -Λ(u 0 ) ≤ C 4 δ 2 for all t ∈ R. We claim that, for all t ∈ R, we have inf ξ,θ∈R d R e iθ ψ(• + ξ, t), u 0 ≤ 2C 4 δ ≤ ǫ 0 . (4.22)

u 2 0 ϕ 2 xx + ϕ 2 x

 22 (4.23) where r, ϕ are again real-valued functions. With this representation, we findΛ(ψ) -Λ(u 0 ) = K + r, r + R ) dx + Ñ (r, ϕ x ),(4.24)

  .19) Indeed, we have the representation u = Au ′ 0 + W , where the function W is defined in (2.10) and the constant A is fixed by the orthogonality condition u ′ 0 , u L 2 = 0. The proof of Lemma 2.6 shows that W L 2 (|x|≤R) ≤ C w L 2 (|x|≤R) . From the orthogonality relation 0

Acknowledgement. D.P. is supported by the Chaire d'excellence ENSL/UJF. He thanks members of Institut Fourier, Université de Grenoble, for hospitality and support during his visit (January-June, 2014).

Lemma 4.3. Fix R ≥ 1, and assume that ψ = u 0 + u + iv satisfies d R (ψ, u 0 ) < ∞. Then there exists a constant C 1 > 0 (independent of R) such that

where ρ(u, v, η) is given by (4.7).

Proof.

), and this gives the bound (4.12). To prove estimate (4.11), we recall that u L 2 (-R,R) ≤ ρ(u, v, η), so we only need to control u(x) for R ≤ |x| ≤ 2R. In that region we have |u| ≤ C(|η| + u 2 + v 2 ), hence using the bound (4.12) and the fact that η L 2 (|x|≥R) ≤ ρ(u, v, η) we obtain the desired result.

We now analyze the quadratic terms in the representation (4.6).

Lemma 4.4. Under the assumptions of Lemma 4.

where the estimate in the big O term holds uniformly for R ≥ 1.

Proof. Since η = 2u 0 u + u 2 + v 2 , we find by a direct calculation

where

In view of the definitions (4.5), this implies that

If we now multiply both sides by χ R (x) and integrate over x ∈ R, we arrive at (4.13), because it is straightforward to verify using (4.7), (4.9) and (4.12) that

This concludes the proof of the lemma.

Using Lemma 4.4, we are able to derive the desired lower bound on the difference Λ(ψ)-Λ(u 0 ) in terms of the quantity ρ(u, v, η). where the estimate in the big O term is uniform in R.


Romain Blin

Charline Berthot

Julien Subercaze

Christophe Gravier

Frederique Laforest

Antoine Boutet

SmartKeepers: a decentralized, secure, and flexible social platform for coworkers

Coworking has emerged as an attractive model for organization. It relies on a highly dynamic collaborations among different partners. Traditional centralized social platform lack fundamental requirements for such collaborations potentially short, that are the management of the dynamic topology of such professional networks, privacy, data exchanges and ownership. In this paper, we present SmartKeepers, a decentralized and secure environment for coworking activity. Each user physically owns her node that she plugs in and out as she moves from one collaborative space to another. The system supports a large variety of network topologies and is fully interoperable with W3C compliant solutions. We showcase the cogency of the Semantic Web for building decentralized and secure services while keeping every user at the core of the data ownership process.

Introduction

Coworking has emerged as an attractive model for organizations [START_REF] Spinuzzi | Working alone together, coworking as emergent collaborative activity[END_REF]. The rise of coworking spaces in the past decade has brought new challenges for adapted collaborative social platforms. Coworking spaces offer supports for remote working, freelance and entrepreneurial activities. Coworkers share physical resources such as desks, Internet accesses, printers, conference rooms or kitchen, to name a few. The dynamic and collaborative nature of coworking pushes freelancers, entrepreneurs and independent contractors to collaborate and start new projects. As a consequence, individuals might belong to several projects or organizations such as bootstrapping a startup with a few partners and managing a freelance activity at the same time. The same individuals may integrate two other collaborative projects several weeks later. To follow this dynamics, digital assets management requires flexibility, fine-grained control and a high level of security.

Traditional enterprise social network services such as Yammer3 are originally designed to manage large companies. They are therefore not adapted for the paradigm shift introduced by coworking [START_REF] Townsend | What are you working on?: Global knowledge sharing at deloitte[END_REF]. Moreover, using well known social networks or a myriad of different public solutions for a business activity most likely represent a risky solution in case of a leak of privacy [START_REF] Giffin | Hails: Protecting data privacy in untrusted web applications[END_REF]. The usage of such solutions can be also prohibited in case of confidential documents which must not be disseminated outside the partners. In the last few years, decentralization has become an appealing solution to address the challenges of privacy and data ownership [START_REF] Koll | Soup: An online social network by the people, for the people[END_REF][START_REF] Seong | Prpl: A decentralized social networking infrastructure[END_REF][START_REF] Xu | Cuckoo: Towards decentralized, socio-aware online microblogging services and data measurements[END_REF].

In this demonstration we present SmartKeepers, a cost-effective and scalable decentralized social network solution for coworkers looking for flexibility. SmartKeepers addresses two main challenges raised by the organizational revolution introduced by coworking: decentralization and security. SmartKeepers offers all the required tools for daily IT activities of every business such as shared calendars, collaborative documents, real-time discussion, backup or communication services. SmartKeepers leverages the elastic nature of decentralized solutions to be cost-effective and flexible, adapting the infrastructure to the need of dynamic companies. The solution is based on W3C standards at every level of its architecture. It relies on Semantic Web standards for data representation and exchange. It implements state-of-the-art cryptographic protocols and standards to ensure security. Fine-grained access control is realized through Web Access Control and WebID. Based on a decentralized model, the SmartKeepers system allows users to regain complete ownership and control over their data.

The lightweight version of SmartKeepers is bundled on a low-consumption device (the Raspberry Pi in this demonstration) and is called KeepBox. This allows any user to host his own data for low starting and running costs. Different coworkers' boxes can interact with each other to offer shared spaces and communication functionalities while respecting privacy using fine-grained security policies. In this demonstration we present the capabilities of SmartKeepers to operate with one KeepBox as well as with multiple KeepBoxes to scale the infrastructure of a growing business. It also illustrates how the shared collaborative tools work between different partners.

Decentralized openness

SmartKeepers is designed to support the full range of real life situations that emerge from the paradigm shift introduced by coworking. For this purpose, the network architecture of SmartKeepers is highly flexible and supports various network topologies. Communication between users is supported by the communication between the Keep-Boxes. Each user is identified by the URI of his FOAF profile. Each user is hosted on a single box. However a box can host several users. This model enables the decoupling from the user and the hosting of her data. SmartKeepers grants elasticity in two ways:

User relation: Relations between users evolve over time. This is a standard feature of social networks. In traditional centralized networks such a Facebook, this relation is represented by a value in a database. In SmartKeepers this relation is represented through cryptographic certificate authorization (See Section 3.1).

Data migration: SmartKeepers offers the users to migrate their data from one KeepBox to another. For instance, a user who is leaving a company to start as freelancer can transfer his data from the company box to a privately hosted box. A user who is unsatisfied by the quality of an hosting service, may decide to migrate her data to another one.

For interoperability purposes, SmartKeepers is fully committed to support W3C standards in every piece of its architecture: security, data, protocols. In SmartKeepers, the following standards are implemented in different parts of the architecture:

Protocols: To expose data on the Web, SmartKeepers is using the Read Write Web protocol (RWW) over HTTPS. RWW defines performatives to access and modify data over the Web. SmartKeepers utilizes notifications in order to keep users updated of the news from their network. Notifications are implemented upon the Pingback protocol and its related ontology.

Data: Every service of SmartKeepers, such as calendar, group management, message board, file exchange, has an underlying data format defined by a standard ontology. FOAF is used to describe a person. Message stream uses the SIOC ontology to describe users' posts and comments. Calendar is based upon NCAL 4 , contact management is backed by NCO 5 .

Security: Security is a key service of SmartKeepers. WebID and Web Access Control are the two standards implemented to harness security. We detail the usage of these standards to implement secure services in the next section. The authentication in SmartKeepers relies on WebID over TLS sessions. This is a paradigm under consideration as a W3C specification 6 that allows distributed authentication. In our system, a WebID is an URI which denotes a person. When Bob wants to access Alice's data on her box in order to post new triples, Bob needs to authenticate on Alice's box. A preliminary is for Bob to create a certificate store within its Web browser for authentication purposes. Both private and public keys are stored within Bob's in-browser keystore. This step is usually performed on Bob's KeepBox that Bob controls. Then, when Bob accesses Alice's services, his browser first initiates a TLS connection with Alice's KeepBox. Then, the latter issues a CertificateRequest message, a performative already present in TLS protocol. Bob's browser provides the certificate without any user interaction, and the authentication scheme is run on Alice's KeepBox. For this purpose, the WebID provided at sign-in is dereferencable using the specified protocol in this URI. Then, Alice's KeepBox checks if the returned profile relates the WebID to the certificate public key. When this authentication process successfully terminates, Bob is connected to Alice's KeepBox, without having to create an account on it. Bob can synchronize his WebIDs on different browsers for every terminal he owns. This is of the utmost practical interest in the SmartKeepers distributed system -authentication is performed without Bob having to either create an account, or use a login/password pair as the certificate is stored in Bob's browser and served automatically on CertificateRequest messages.

Web Access Control

Linking WebID with other ontologies natively supports privacy settings for the user controlling his identity on the Web. This is similar to common user and role based access control policies in most Web systems, except that each user is authenticated using an URI. On her KeepBox, Alice manages the access control list of users allowed to access her services (calendar, social stream, posts, notifications, . . . ). This access control list is a sequence of triples that explicits the rights given to a user u identified by his URI to operate Alice's services. The supported operations are the performatives from RWW for trusted read and write operations. This includes Read, Write, and Append triples to existing RDF graph for each Alice's service. At this stage, it is important to note that the profile of a user u ∈ U stays on the server of u. The information about u is not duplicated, which leaves out any profile synchronicity issue. Moreover, this enforces a government of u profile by u only.

Demonstration of the system

Our demonstration is a Web-based server implemented in Java7 . As the protocols implemented in the system are particularly lightweight, the system itself can run on a low cost and credit-card sized computer -the Raspberry Pi, which needs only needs 3.5 Watts per hour.

The unifying thread throughout our demonstration involves two KeepBoxes at the conference site and it evolves around the following scenario. The first KeepBox is configured and hosts the user profile and services of one of the authors -denoted Alice in what follows. The second KeepBox is reset to factory default for each presentation, so that we can showcase the zero-configuration deployment of a new node in the decentralized social network. Other already running KeepBoxes are also connected to the Internet -this represents as many additional nodes to connect to in this demonstration. This central thread holds together the showcase of three different aspects of the SmartKeepers system as follows.

Signing up and adding friends: At the first stage, we showcase the creation of a new user named Paul on a KeepBox. This includes the browser-side generation and storage of the user certificate. Paul is able to use enterprise-ready services (calendar, mail, ...) but also to search for new friends in the decentralized on-site architecture. He ultimately adds Alice (on-site box) and Carol (remote box) as friends.

Collaborative agenda and pingbacks: Users then enter a collaborative task with their friends. Paul suggest a meeting with both Alice and Carol, which are notified using the pingback ontology and its service. In their calendar module, Alice, Paul and Carol view the newly created event.

Meeting follow-up online discussion and file sharing: Right after the meeting, Paul wants to share his meeting minutes with Alice and Carol. He uploads his minutes through the file manager module, and he is able to share it with Alice and Carol only if he edits his web access control list in order to grant them the right to access the file on his box. This illustrates the RWW, WebID and Web Access Control stack, all implemented using TLS sessions.

Conclusion

We demonstrate the cogency of the Semantic Web for building an enterprise-ready decentralized and secured social platform. The SmartKeepers system makes it possible for any user to wield control of his identity in the social network, as well as manage the access control list for the different social services she exposes to her peers. The demonstration showcases services including WebID sign-in on the box of a peer using TLS sessions and certificates -without the need to memorize a login and a password per peer -, collaborative distributed social services based on the pingback ontology for notifications, and Web Access Control ontology for managing peers rights. The SmartKeepers system is also easy to deploy and run on commodity boxes -like the RaspberryPI -, roughly a hundred times less energy consuming than a refrigerator.

Fig. 1 :

 1 Fig. 1: Example of evolving human co-working organisation (left) and the SmartKeepers stack that supports such configurations (right)

https://www.yammer.com

Nepomuk Calendar Ontology

Nepomuk Contact Ontology

A screeencast is available at http://smartkeepers.com/files/screencast. ogv


Antoine Boutet
email: antoine.boutet@univ-st-etienne.fr

Frederique Laforest
email: frederique.laforest@univ-st-etienne.fr

Stephane Frenot
email: stephane.frenot@insa-lyon.fr

Damien Reimert
email: damien.reimert@inria.fr

MyStream: an in browser stream processing personalization service to follow events from Twitter

Social media have become an essential tool to collect timely information on news and events. Analyzing social streams in real-time for personalization and recommendation purpose have become important topics in the data management community. In this paper, we propose MYSTREAM, a personalization service to follow events from Twitter. To improve the scalability of the service, MYSTREAM adopts an in-browser and hybrid architecture. MYSTREAM leverages the device of users to perform the computational operations on the users' browser, while the server only provides all the necessary material to perform these tasks. In addition, MYSTREAM adopts a stream-based processing approach to identify the relevant contents in a real-time manner. Moreover, the recommendation engine of MYSTREAM is highly modular. Users can build a personalized dashboard by assembling the recommendation modules they prefer to follow the considered event. We implemented and evaluated MYSTREAM using real trace from Twitter. We show that MYSTREAM is effective to follow an event from Twitter, particularly the live recommendation module quickly identifies the most valuable contents over time. In a system perspective, we show that the cost running MYSTREAM on the client device remains minimal.

I. INTRODUCTION

Twitter has been massively adopted by millions users. This microblogging service has become an essential tool for the information dissemination and to collect timely information on news and events. Indeed, every event around the world is commented in real time by some community of users including journalists [START_REF] Lasorsa | Normalazing twitter: journalism practice in an emerging communication space[END_REF], [START_REF] Schifferes | Identifying and verifying news through social media: Developing a user-centred tool for professional journalists[END_REF], political figures [START_REF] Boutet | What's in twitter, I know what parties are popular and who you are supporting now![END_REF] or official institutions. Due to the large volume of tweets, users need proper tools such as recommendation systems to quickly identify the most valuable contents among the information stream [START_REF] Kywe | A survey of recommender systems in twitter[END_REF].

However, traditional recommendation systems that analyze data and periodically update models cannot follow the fast shift of users' interests and the highly dynamic nature of events and topics on Twitter. This limitation appeals for real-time recommendation systems [START_REF] Huang | Tencentrec: Real-time stream recommendation in practice[END_REF] which pose great challenges. [START_REF] Diaz-Aviles | Realtime top-n recommendation in social streams[END_REF] and [START_REF] Chen | Terec: A temporal recommender system over tweet stream[END_REF] have recently addressed this challenge by proposing solutions that analyze social streams to provide users with realtime topic recommendations. StreamRec [START_REF] Chandramouli | Streamrec: a real-time recommender system[END_REF], in turn, exploits explicit feedback from users (i.e. rating on items) to propose a recommendation system which can be performed in realtime. Nonetheless, all these solutions rely on centralized and powerful servers or cluster of nodes to support the cost of the recommendation operations, and possibly raise scalability issues when the amount of data increases. In this work, we explore another direction by leveraging the browser of users to compute real-time recommendation at the edge of the network on user machines.

In this paper, we present MYSTREAM, a mobile application to follow events from Twitter. MYSTREAM leverages the power of Twitter to have fresh and real time information related to an event or a topic identified through its hashtag [START_REF] Kooti | The emergence of conventions in online social networks[END_REF]. To help users to discover relevant contents through the associated stream of tweets, MYSTREAM implements a modular recommendation engine. In addition, to capture the highly dynamic nature of exchanges on Twitter, MYSTREAM uses streambased processing algorithms to identify the most valuable contents in real-time. Finally, to provide a user-centric service while tackling the scalability issue inherent to recommendation systems, MYSTREAM performs all computations dedicated to recommendations in the browser of users [START_REF] Boutet | Hyrec: Leveraging browsers for scalable recommenders[END_REF]. More precisely, the server forwards the stream of tweets related to the desired event to the users' machine, while on the client side, MYSTREAM relies on web technologies based on Javascript to perform local computations totally transparently from the user, before to present the data on the user interface.

The recommendation engine of MYSTREAM is highly modular. Each module provides a specific filtering scheme that processes the stream of tweets to highlight a specific content, from the computation of the most popular tweets or pictures to more complex personalized recommendation operations which highlight valuable tweets over time. Moreover, users assemble these modules to build a personalized dashboard to follow events. Users can also create their own recommendation modules to capture specific contents from the data stream. Finally, users can promote contents to create a personal journal on the event, and possibly push their report to a community.

In this paper, we present the capabilities of MYSTREAM to effectively help users to follow events from Twitter. This work conveys the feasibility of a real-time recommendation system exploiting the browser of users to perform the recommendation process. We implemented MYSTREAM and extensively evaluated our solution using real traces from the Twitter related to the 2014 New York City Marathon. We show that MYSTREAM quickly identifies valuable contents in real-time from the data stream. Moreover, from a system perspective, we show that MYSTREAM remains lightweight on the clients' smartphone. Fig. 1: MYSTREAM leverages the browser of users to process in real-time on the user's machine the stream of tweets associated to the followed event, and to update accordingly their personalized dashboard.

II. MYSTREAM

MYSTREAM provides a personalized service to follow events from Twitter. In this microblogging service, tweets adopt the hashtag convention [START_REF] Kooti | The emergence of conventions in online social networks[END_REF] to associate a message to a specific event or subject. The stream of tweets associated to an event is leveraged as a feed of fresh and real-time information and directly processed by MYSTREAM. MYSTREAM relies on a hybrid architecture, a modular recommendation engine, and a personalized dashboard as explained below.

A. Hybrid architecture

Traditional recommendation systems are resource greedy. To provide a scalable system, MYSTREAM relies on a hybrid architecture [START_REF] Boutet | Hyrec: Leveraging browsers for scalable recommenders[END_REF]. In such an approach, the server decentralizes to client machines all the computation tasks while it manages a global orchestration and storage. In MYSTREAM, computations related to the recommendation engine are performed by the browser on the client machine while the server collects the stream of tweets from Twitter associated to the events followed by users, and relays them to the associated users' machine. The architecture of MYSTREAM is depicted in Figure 1.

Firstly, upon the first request from the user, the MYS-TREAM server sends to the user's browser all required material related to the computation of recommendations. More precisely, the returned HTML page contains the Javascript pieces of code which deal with both the data exchanges with the server and the computation of each recommendation module. Once the HTML page is loaded, all exchanges with the server are performed asynchronously through Javascript data exchanges. When the user expresses to the server the event she wants to follow (i.e. hashtag), the MYSTREAM server uses the Streaming API of Twitter to collect the associated stream of tweets. This Streaming API [START_REF] Morstatter | Is the sample good enough? comparing data from twitter's streaming API with twitter's firehose[END_REF] provides samples of the public stream of tweets containing the desired hashtag. Then, the server relays this stream to the browser of the associated user.

Finally, the browser processes the incoming stream of tweets. On the client side, MYSTREAM relies on Javascript. This language follows an event-driven programming model where the asynchronous data exchanges and the processing are totally transparent to users. Upon the reception of a tweet, the browser computes the process associated to the user recommendation settings (i.e. selected modules) and then updates accordingly each considered recommendation module.

B. Modular recommendation engine

To cope with the large volume of tweets, MYSTREAM relies on a highly modular recommendation engine to present to users relevant and interesting contents relative to the event they follow. Each module provides a filtering scheme which highlights a specific content.

To capture the highly dynamic nature of exchanges on Twitter and to provide a real-time service, the modules of MYSTREAM process directly the incoming stream of tweets. Specifically, each module has a specific event processing unit, dedicated to a specific content in the incoming tweets. For each incoming tweet, a dispatcher selects in a module registry the corresponding modules and calls their processing unit with a reference to the tweet. Each module can store their processing results in their own context. Moreover, modules can have dependencies. More precisely, some modules can process the stream of tweets outcoming from another module. For instance, the modules "Media" which presents the popular media processes only the tweets coming from the module which filters and identifies the popular tweets.

Each module associates a score to each considered content to reflect its relevance. This score is computed when the content is unknown, or updated otherwise. Modules are organized through separate tabs in the graphical user interface. The tab of a module is organized as a ranked list where the contents with the highest scores are displayed first. This ranked list has a limited size (typical value is 100) and contents with smallest scores (i.e less relevant) are automatically removed.

MYSTREAM provides different recommendation modules including: 1) Live Stream: the received stream of tweets, 2) Popularity: the most popular tweets, 3) Media: the media (i.e. image) of the most popular tweets, 4) Hashtags: the additional hashtags associated to the followed event, 5) Live Recommendation: the most valuable tweets over time. Moreover, users can define their own recommendation modules to highlight specific content. All these modules are detailed below. 1) Live Stream: This module displays the received stream of tweets associated to the event (i.e. hashtag) followed by the user. Consequently, similar to the Twitter timeline, tweets in this module are organized according to their publication date, the newest tweets being displayed first.

2) Popularity: To capture the popularity of tweets, MYS-TREAM leverages the retweet convention (i.e. action of forwarding an interesting tweet to its followers). A retweet embeds the original tweet which includes the global number of retweets this message has collected so far. As a consequence, we can collect both the original tweet that has raised interest from users and its global level of popularity directly from the stream of tweets sent by Twitter. This behavior has also the advantage to overcome the limitation of the sampling produced by Streaming API used by the MYSTREAM server to collect messages associated to events from Twitter. Indeed, the level of popularity associated to a tweet is global and does not depend on the number of retweets received by our server. Consequently, with enough time, the list of the popular tweets closely approximates the real one (i.e. without sampling). After the reception of a retweet, the list of popular tweets displayed by this module is updated by sorting this list according to the number of retweets.

3) Media: This module only displays media embedded in tweets. To highlight the most valuable media, the popularity of their associated tweet is leveraged (i.e. number of retweets). As a consequence, media associated to highly popular tweets will be then displayed first by this module. This modules depends on the module "popularity" and it processes only tweets coming from this module.

4) Hashtags:

A tweet can be associated to different events or subjects by using different hashtags. This module displays all associated hashtags to the main one followed by the users and allows them to discover associated subtopics and possibly change the hashtag they want to follow. Hashtags are displayed through a tag cloud where the size of each hashtag depends on the number of its occurrence in the stream.

5)

Live Recommendation: Contents identified by only considering the popularity level through the retweets (i.e. popularity module) lack of freshness as reported in our evaluation Section III-C. To overcome this limitation, this live recommendation module performs operations which highlight valuable tweets over time. The temporal analysis of retweet (i.e. popularity) in Twitter follows a burst of activity just after the publication of the original tweet and then a long tail [START_REF] Kwak | What is twitter, a social network or a news media?[END_REF]. MYSTREAM leverages this temporal pattern to capture the burst of activity and to quickly identify the relevant contents over time.

To achieve that, the underlying algorithm of this module attributes a score to each tweet based on both criteria, its popularity and its freshness. While the former exploits the number of retweets, the latter captures the delay between the publication of the tweet in Twitter and its retweets. This module uses a sliding window [START_REF] Vinagre | Forgetting mechanisms for incremental collaborative filtering[END_REF], and refresh the score to each content after a certain time window of size w. The following equation computes the score attached to tweet t at the current date d:

score(t, d) = RT (t,d)∈[d0,d0+w] RT (t, d) × w ∆T
where RT (t, d) is the number of retweets that t has collected so far, d0 the starting date of the sliding window, and ∆T = d -d t which reflects the freshness of t where d t is the date when t has been created.

Each element of the sum follows the pattern of 1

x . As a consequence, each element of the sum (i.e. each retweet in the considered sliding window) increases if ∆T < w. It means when the retweet has happened before the considered time window w. In contrast, this score is minored if the retweet happens after the time window w. In addition, this score is weighted by the number of retweets t has obtained so far. Lastly, the score associated to t is cumulative and sums the score computed to each retweet received in the considered time window w. The starting date of the time window is different for each tweet and is initialized at the reception of its first retweet. When the time window is over for one tweet, its score is reinitialized at 0. The size of the time window defines the temporal granularity to follow the event, more the time window is small, more the event is detailed. The impact of the time window size is evaluated in Section III-C.

6) Personalized recommendation module:

Users can create their own recommendation modules to highlight specific contents. To achieve that, users can define policies to select the desired content from the stream of tweets, and how to sort them. We illustrate this feature by creating a personalized filtering module which captures the official results from the stream of tweets associated to the 2014 New York City Marathon as explained in Section III-B.

C. Personal dashboard and report

Each user can decide to use or not a specific recommendation module to follow an event. For instance, in Figure 1 Bob uses the five modules presented above and one personalized module (e.g. prediction of voting results) to follow the elections, while Alice only exploits the modules "popularity", "media" and "live recommendation" to follow the New York City Marathon. By assembling preferred recommendation modules, users can build a personalized dashboard to follow the event according to their tastes. Moreover, users can promote contents to create a personal report on the followed event. All promoted contents are included in the personal report and users are able to arrange these contents themselves to produce a report which reflects the event. This report is stored on the MYSTREAM server. In addition, users can possibly push their report to a community.

D. Implementation

MYSTREAM is a mobile application and consequently adapted to smartphones or mobile device interfaces. MYS-TREAM is a web application built with AngularJS and Cof-feeScript. All exchanges between the browser of users and the server are performed through Socket.IO. The server, in turn, relies also on Javascript and uses Node.js as framework. Figures 2d-2f depict different modules during the 2014 New York City Marathon, each module holding in a separate tab.

III. EVALUATION

In this section, we evaluate the ability of MYSTREAM to effectively help users to follow events from Twitter. To achieve that, we use real traces from the Twitter activity related to the 2014 New York City Marathon. Fist, we present the considered dataset to evaluate MYSTREAM. Second, we give an example of personalized recommendation module to consult the official results of the marathon which transit in the stream of tweets. Then, we assess the capability of MYSTREAM to get valuable contents in real-time, and finally we evaluate the cost of operating MYSTREAM on the client machine.

A. Dataset

To assess MYSTREAM, we use real traces by using the Twitter activity related to the 2014 New York City Marathon. This marathon was run on Sunday, November 2, 2014 and gathered different categories (e.g. professional women, wheelchair division) with separate start times. We collected tweets associated to the hashtag #nycmarathon using the Twitter streaming API between the 29th of October and 18th of November. The resulting dataset gathers more than 41, 000 users for almost 100, 000 tweets. The collected messages include about 4, 700 (4.9%) mentions (i.e. direct messages to another user), 9, 000 (10.7%) retweets (i.e. forward messages to its followers), and 11, 000 hashtags (i.e. tags used to define topics). The average rate of tweets per second over this whole period is around 0.05. Considering only the day of the event (i.e. November 2), this average rate is equal to 0.73 (i.e. around 63, 000 tweets). This rate increases up to 3.29 during the hour where the Twitter activity related to the marathon is highest.

B. Personalized recommendation module

Users can create they own recommendation modules to highlight specific contents. Here we illustrate this feature by creating a module which lists the official results of the marathon. Official results of the marathon were available from the website of the organizer once the concurrent finished the race. From this website, users were able to published their performance on Twitter. These tweets look like: "Valeria Straneo crossed 40K/24.9mi. Time 02:21:28, pace 05:43 min/mile, est. finish 11:39am http://t.co/qS9xe9NJ8L #tcsnycmarathon". Our trace contains 10, 180 tweets reporting results. We build a personalized module which captures and lists all these official results transiting in the stream of tweets (Figure 2f).

C. Live Recommendation

To evaluate the capability of MYSTREAM to quickly evolve fresh contents through the stream of tweets, we measure the latency between the publication of relevant tweets in Twitter and their identification and their display in the live recommendation module. As described in Section II-B5, this module leverages a time window to increase or decrease the score associated to each tweet, and to give more weight to fresh tweets. Figure 3 shows the Complementary Cumulative Distribution Function (CCDF) of the latency to display relevant tweets for different values of time windows (w). Here we consider only the top 5 tweets provided by the live recommendation module. Results show that the latency mainly depends on the time windows, the larger one, the longer latency. Indeed, when the time window increases, the most relevant tweets are selected through this whole time slot. As a consequence, the latency to display them also increases. However, regardless the value of w, we show that MYSTREAM timely identifies valuable contents. With a time window of 2.5 minutes, 50% of the contents age before 2 minutes while with a time window of 10 minutes, 50% remains under 3 minutes. Finally, we compare our solution with an approach which only takes into account the popularity. More precisely, in this candidate approach (called pop in Figure 3) the score associated to a content is the sum of the number of retweets this tweet has received under the time window. Results show that MYSTREAM drastically reduces the latency compared to an approach considering only the popularity to draw a time line of valuable contents.

D. Impact on smartphone

We now evaluate the cost of operating MYSTREAM on the client machine. Running MYSTREAM should not significantly impact the performance of a user's machine. Performance varies according to the size of the stream, the larger one, the more items processed on the user's device. Moreover, performance changes also according to the number of modules used by the user to follow the event. As the volume of tweets depends on the event and the considered moment, here we control the number of tweets sent to the device. Figure 4 depicts for three different sizes of stream the average CPU usage of the smartphone for each action performed during 5 minutes, namely the recommendation process (MYSTREAM using all the five modules presented in Section II-B), the system (Android), the communication (Socket.IO), and the idle time. Results show that for 10 and 25 tweets per second, the CPU usage dedicated to MYSTREAM is negligible compared to the idle time. However, when the stream becomes larger (i.e. 50 tweets per second) most of the CPU usage is dedicated to the recommendation process of MYSTREAM. As described in Section III-A, the pick of activity in Twitter during the New York City Marathon generated a stream of 3.29 tweets per second in average during one hour. As a consequence, for similar events MYSTREAM has a minimal impact on the CPU usage of user's smartphone most of the time.

Energy is the most crucial aspect in smartphone [START_REF] Pathak | Where is the energy spent inside my app?: fine grained energy accounting on smartphones with eprof[END_REF]. The energy consumption related to an application is crucial for the lifetime of the battery's smartphone and its adoption by users [START_REF] Ferreira | Understanding humansmartphone concerns: a study of battery life[END_REF]. To assess the impact of MYSTREAM on the user's smartphone, we measured the battery consumption related to MYSTREAM. Figure 5 depicts the evolution of the battery level while MYSTREAM is running on the smartphone for two different sizes of stream (both 1 and 5 tweets per second). For this experiment, we used a Nexus 4 and a Wifi network access. The experiment is performed on a time slot of 75 minutes and we considered two different sets of dashboard configuration, one using all the five recommendation modules presented in Section II-B (called 5m in the figure), and the other using only the live stream module (called 1m in the figure). We also compared the battery consumption of MYSTREAM with the consumption spent when the user watches a video stream on its device. Firstly, results show that the impact of MYSTREAM using all the modules closely correspond to watching a video stream on the smartphone. Secondly, we show that the battery consumption depends on the modules selected by users in their personal dashboard, increasing the number of selected modules increases the battery consumption. For instance, for a stream of 5 tweets per second, using only one module can save the battery's lifetime around 8% compared to using five modules. Finally, we show that the size of the stream also impacts the battery consumption. Reducing the stream by 5, increases by 10 the battery lifetime. Interesting enough, the gap between using all recommendation modules or only one for a stream of 1 tweet per second, is drastically reduced compared to a stream of 5 tweets per second. Considering the volume of tweet generated during the New York City Marathon (i.e. in average 0.73 tweet per second the day of the marathon and up to 3.29 at the pick of activity), the battery consumption of MYSTREAM remains low with the respect to playing a video stream on its smartphone.

IV. RELATED WORKS

With several millions tweets generated every day on Twitter, users of this social platform can be easily overwhelmed by this large volume of information. To help users to discover the most valuable information, several recommendation systems have been proposed [START_REF] Kywe | A survey of recommender systems in twitter[END_REF]. Due to the information discovery nature of Twitter, users can be interested in findings various informations such as new relevant friends [START_REF] Hannon | Recommending twitter users to follow using content and collaborative filtering approaches[END_REF], followers [START_REF] Nasirifard | Tadvise: A twitter assistant based on twitter lists[END_REF], hashtags [START_REF] Chen | Terec: A temporal recommender system over tweet stream[END_REF], tweets or retweets [START_REF] Uysal | User oriented tweet ranking: A filtering approach to microblogs[END_REF].

Recommendation systems are resource greedy. Most recommenders are centralized. To cope with the high cost of recommendation system most approaches exploit elastic platforms to massively distribute the recommendation tasks on a large number of nodes [START_REF] Das | Google news personalization: scalable online collaborative filtering[END_REF]. At the opposite side, other solutions proposed to fully decentralize the recommendation process by providing recommenders which are user-centric at the architecture level [START_REF] Boutet | Whatsup: A decentralized instant news recommender[END_REF]. Hybrid architectures have been introduced as an alternative to fully centralized or decentralized solutions. For instance, [START_REF] Frénot | An in-browser microblog ranking engine[END_REF] exploits the centralized nature of Twitter and uses a peer-to-peer approach to compute locally recommendations of Twitter friends on the user device, and to exchange recommendations between peers. More recently, Hyrec [START_REF] Boutet | Hyrec: Leveraging browsers for scalable recommenders[END_REF] has proposed and evaluated a user-based collaborative filtering solution with a hybrid architecture where all the computational tasks are performed in the users' browser.

Twitter has also become a useful tool to collect timely information on news events [START_REF] Lasorsa | Normalazing twitter: journalism practice in an emerging communication space[END_REF]. Traditional state-of-the-art recommenders such as collaborative filtering schemes relay on an offline model-building phase that build a model storing meaningful correlations between users and items. They are not built for a real-time recommendation process. To improve the system's ability to evolve quickly, recent work have proposed recommenders adopting a stream-based approach [START_REF] Huang | Tencentrec: Real-time stream recommendation in practice[END_REF], [START_REF] Chandramouli | Streamrec: a real-time recommender system[END_REF]. However, when they are applied to Twitter, these systems only recommend topics (i.e. hashtag) that match user interests at a specific moment [START_REF] Chen | Terec: A temporal recommender system over tweet stream[END_REF], [START_REF] Diaz-Aviles | Realtime top-n recommendation in social streams[END_REF] and not specific information such as valuable tweets during an event as MYSTREAM does. In addition, these solutions are fully centralized and require costly elastic infrastructure to hope to scale without problem. As far as we know, MYSTREAM is the first personalized recommendation solution to follow specific event in real-time from Twitter using a hybrid architecture.

V. CONCLUSIONS AND DISCUSSIONS

In this paper, we report the design and evaluation of MYSTREAM, a personalized service to follow event from Twitter. MYSTREAM relies on a hybrid architecture, a modular recommendation engine, and a personal dashboard to provide a highly scalable and customizable mobile application. All the computation related to the filtering schemes of the data are performed locally on the users' device. In addition, to timely identify relevant contents through the stream of tweets, the recommendation engine of MYSTREAM uses a stream-based processing approach. Users leverage existing recommendation modules or create their own modules to build and to assemble their personalized dashboards.

To demonstrate the capabilities of MYSTREAM to effectively help users to follow events from Twitter, we developed and evaluated our solution using real traces from Twitter. We show that MYSTREAM is effective to help users to follow an event from Twitter. Particularly, the module in charge of the live recommendation quickly identifies the relevant content and produces a relevant time line.

MYSTREAM conveys the feasibility of a mobile application which uses the smartphone of users to process in real-time a stream of information. Although our solution provides effective results, leveraging more advanced stream processing algorithms and filtering schemes with a hybrid architecture are interesting directions for future work. In addition, exploring new and advanced web technologies such as browser to browser communication capability can also open new perspectives. Lastly, in MYSTREAM, the stream of tweets is collected from Twitter by the server. This behavior has the advantage to allow the server to implement adaptive mechanisms between the clients and the server to limit the size of the stream for instance. However, collecting the stream related to an event directly from the users' device is also attractive to reduce server task to minimum.

Fig. 2 :

 2 Fig. 2: MYSTREAM allows users to build a personalized dashboard with different recommendation modules.

Fig. 3 :

 3 Fig.3: MYSTREAM quickly identifies valuable tweets.

  10 tweets/sec. (c) 20 tweets/sec. (d) 50 tweets/sec.

Fig. 4 :Fig. 5 :

 45 Fig. 4: The average CPU usage related to MYSTREAM depends on the size of the stream but remains low for streams with less than 25 tweets per second.