• No results found

Descriptive Statistics and Correlation Matrix

III. Overconfidence proxies PURCHASE and NPR

6.4 Descriptive Statistics and Correlation Matrix

Definici´on 17 Se denomina grupo unario de un servidorSi al grupo de almacenamiento que incluye s´olo a dicho servidor. Se denota como{Si}.

Por tanto, la sem´antica de la operaci´onmapJoin()para inicializaci´on es la siguiente:

λ0GP(Sx) ={Sx} ∧mapJoin(Sx, Gy) =⇒λGP(Sx) =Gy

mapBreak(Sx,Gy): Desvincula a un servidor de un grupo de almacenamiento. El problema

de aplicar esta operaci´on es que si no se realiza posterior e inmediatamente una operaci´on

mapJoin(), que incluya al servidor en un grupo de almacenamiento, se eliminan las propiedades

que hacen queRG sea una relaci´on de equivalencia y, por tanto, que el conjunto cocienteRG/S

sea una partici´on del conjunto S, debido a que uno de los servidores queda desligado. Esto es debido a que la operaci´onmapBreak()es una operaci´on no ortogonal. Para evitar este problema, existen dos alternativas:

1. Utilizar los grupos unarios en la definici´on de la operaci´on. De este modo, desvincular un servidor de un grupo de almacenamiento equivale a eliminar el servidor de dicho grupo, construyendo su grupo unario y, por tanto, hacerle part´ıcipe de un ´unico grupo principal. Como se puede comprobar, los grupos unarios se utilizan para modificar el dominio de servidoresSsobre el cual se define la relaci´on de agrupaci´on. En el caso de la operaci´on

mapJoin(), los grupos unarios permiten a˜nadir un servidor a dicho dominio, mientras que

en el caso de la operaci´onmapBreak(), permiten eliminar de una forma gradual un servidor de dicho dominio.

2. Modificar la relaci´on entre un servidor y un grupo de almacenamiento, utilizando la opera- ci´onmapChange(), que se describe a continuaci´on. Esta es la opci´on m´as adecuada, ya que se trata de una operaci´on ortogonal, que no modifica el dominio de servidoresS.

mapChange(Sx,Gy,Gz): Modifica la funci´on de agrupaci´on, eliminando la relaci´on que existe

entre el servidorSx y el grupo de almacenamiento Gy y relacion´andolo con el grupo Gz. Esta

operaci´on equivale a hacer la siguiente secuencia de sentencias:

mapBreak(Sx, Gy);

mapJoin(Sx, Gz);

La ventaja de agrupar las dos funciones en una s´ola es que ´esta ´ultima se puede definir como unaoperaci´on at´omicaa nivel de sistema, es decir, definir que su ejecuci´on se lleve a cabo de forma completa e indivisible en el sistema.

Si de nuevo denominamos λ0G(Si) a la funci´on de agrupaci´on antes de realizar la operaci´on

mapChange()yλG(Si) a la funci´on de agrupaci´on despu´es de realizar dicha operaci´on, se cumple

que:

λ0G(Sx) =Gy∧mapChange(Sx, Gy, Gz) =⇒λG(Sx) =Gz (7.6) Proposici´on 9 La operaci´on mapChange() es una operaci´on ortogonal y, por tanto, no modifica las propiedades de la relaci´on de agrupaci´on RG.

Demostraci´on 9 SeaR0Guna relaci´on de equivalencia que representa la relaci´on de agrupaci´on antes de aplicarle la operaci´on mapChange(). Al ser una relaci´on de equivalencia cumple las propiedades reflexiva, sim´etrica y transitiva.

Sea RG la relaci´on de agrupaci´on despu´es de aplicarle la operaci´onmapChange().

Seanλ0G yλG las funciones de agrupaci´on correspondiente a la asociaci´on existente entre servidores y grupos de almacenamiento antes y despu´es de aplicar la operaci´on mapChange().

Veamos la demostraci´on de que RG conserva las propiedades correspondientes: Propiedad reflexiva:

Partimos de queR0G es reflexiva y que se ha realizado la operaci´on mapChange(Sx,Gy,Gz):

Seg´un la ecuaci´on (7.2)RG es reflexiva sii ∃t/s∈Gt Se pueden dar dos casos:

1. s6=Sx:

R0G es reflexiva =⇒sR

0

Gs.

La relaci´on de agrupaci´on no ha cambiado para el elemento s

=⇒sRGs=⇒RG es reflexiva 2. s=Sx:

mapChange(Sx, Gy, Gz) =⇒λG(Sx) =Gz

=⇒ ∃t=z/Sx∈Gt

=⇒RG es reflexiva Luego la relaci´onRG es reflexiva c.q.d.

Propiedad sim´etrica:

De nuevo partimos de que R0G es sim´etrica y que se ha realizado la operaci´on mapChange(Sx,Gy,Gz).

Se pueden dar cuatro casos: 1. s6=Sx∧u6=Sx:

RG0 es sim´etrica sii sR0Gu⇐⇒uR0Gs.

La relaci´on de agrupaci´on no ha cambiado para los elementos s y u

=(sRGu=⇒uRGs) =⇒RG es reflexiva 2. s=Sx∧u6=Sx:

λG(s) =Gz.Si sRGu⇐⇒λG(s) =λG(u) =Gz⇐⇒uRGs

=⇒RG es sim´etrica

7.5. OPERACIONES DE GRUPOS 127

Figura 7.7: Interfaz gr´afica del sistema MAPFS que muestra la topolog´ıa del sistema

4. s=Sx∧u=Sx:

s=u=⇒sRGu∧uRGs por la propiedad reflexiva Luego la relaci´onRG es sim´etrica c.q.d.

Propiedad transitiva: Partimos de que R0G es transitiva, la funci´on de agrupaci´on λ0G es inyectiva y que se ha realizado la operaci´onmapChange(Sx, Gy, Gz).

Si consideramos queλG es una aplicaci´on inyectiva, la transitividad de RG queda demostrada, a saber:

sRGu=⇒λG(s) =Gx=λG(u)

uRGv=⇒λG(u) =Gx=λG(v) ⇐⇒λG(s) =λG(v)⇐⇒sRGv Por tanto, lo ´unico que debemos demostrar es queλG es inyectiva.

Fij´andonos en la sem´antica de la operaci´on mapChange() (ecuaci´on (7.6)) y partiendo de que la funci´on λ0G es inyectiva, el ´unico cambio que existe entre esta funci´on y la nueva funci´on de agrupaci´onλG se lleva a cabo sobre el elemento Sx. PeroλG define un ´unico valor para dicho elemento. De aqu´ı deducimos queλG es una aplicaci´on inyectiva.

Luego la relaci´onRG es transitiva c.q.d.

De esta forma, queda demostrado que la operaci´onmapChange()es una operaci´on ortogonal.

La figura 7.7 muestra la interfaz del sistema MAPFS. A trav´es de dicha interfaz, se pueden realizar cambios sobre la topolog´ıa del sistema.

Por otro lado, tambi´en se ha definido un conjunto de operaciones sobre grupos de almacenamiento, a saber:

Operaci´onmapUnion(Gx, Gy), que permite calcular la uni´on de dos grupos de almacenamiento

existentes, como queda descrito en la secci´on 7.4.5. Esta operaci´on puede utilizarse usando como par´ametros los ´ındices de los grupos de almacenamiento entre los cuales se va a calcular la uni´on, es decir mapUnion(i,j)calcula la uni´on de los grupos de almacenamientoGi,Gi+1,. . .,Gj.

Operaci´on mapIntersection(Gx, Gy), que permite calcular el grupo de almacenamiento in-

tersecci´on de dos grupos de almacenamiento. De forma an´aloga a la operaci´on anterior, map-

Intersection()tambi´en puede utilizarse usando como par´ametros los ´ındices de los grupos de

almacenamiento entre los cuales se va a calcular la intersecci´on.

Operaci´on mapComplementary(Gx), que permite calcular el grupo de almacenamiento comple- mentario deGx, es decir el grupoGy, que contiene todos los servidores existentes salvo los que

contiene el grupo Gz.

Operaci´on mapSubstract(Gx, Gy), que devuelve un grupo de almacenamiento que contiene

aquellos servidores existentes en el grupo Gx y no existentes en el grupoGy.

Hay que tener cuidado al utilizar estas funciones, ya que en general no se trata de operaciones ortogonales, aunque utilizadas de una forma controlada, permiten mantener las propiedades de la relaci´on de agrupaci´on principal. Adem´as, estas operaciones son ´utiles para definir distintos conjuntos y propiedades.

Proposici´on 10 Sustituir dos grupos de almacenamiento principales por la uni´on de ambos (a trav´es del uso de la operaci´onmapUnion()) constituye una operaci´on ortogonal y, por tanto, no modifica las propiedades de la relaci´on de agrupaci´on principalRGP.

Demostraci´on 10 Partimos de una relaci´on de agrupaci´on principal R0

GP, que es una relaci´on de equivalencia. Sean Gx y Gy grupos de almacenamiento que van a ser sustituidos por el grupo uni´on de ambos Gz. Si denotamos RGP a la relaci´on de agrupaci´on principal resultante de llevar a cabo esta operaci´on, vamos a demostrar que esta relaci´on tambi´en es de equivalencia y, por tanto, que la operaci´on es ortogonal. Nos basta con probar que λGP es inyectiva.

λGP es inyectiva ⇐⇒ ∀Si ∃un ´unico grupoGw/Si ∈Gw

λGP(Si) =Gz, siSi pertenec´ıa a Gx o aGy

λGP(Si) =λ0GP(Si), siSi pertenec´ıa a Gxo aGy Para los dos casos existentes:

Si pertenec´ıa a Gx o aGy:

λGP(Si) =Gz∧λGP(Si)6=Gw∀w6=z, ya queλ0GP es inyectiva

Si no pertenec´ıa aGx ni aGy:

λGP(Si) =λGP(Si)6=Gz, porque ese grupo es nuevo y no estaba definido previamente Por tanto, λGP es inyectiva. De ah´ı se deduce que RGP es una relaci´on de equivalencia y la operaci´on definida ortogonal c.q.d.

7.5. OPERACIONES DE GRUPOS 129

Demostraci´on 11 Por reducci´on al absurdo, supongamos que no es cierto. Por tanto, existen dos grupos de almacenamiento principales que comparten al menos un servidor Si. Pero eso contradice que la funci´on de agrupaci´on principal sea inyectiva. Por tanto, la intersecci´on de dos grupos de almacenamiento principales es vac´ıa, c.q.d.

Proposici´on 12 Dado un conjunto denservidoresSi, una relaci´on de agrupaci´on principalRGP que particiona el conjunto de servidores enmgrupos de almacenamientoGj, se cumple que∀j∈1, . . . , m:

Gj = mapComplementary (mapSubstract(mapUnion(1, m), Gj)) Demostraci´on 12

mapU nion(1, m)≡S, siendo S el conjunto de servidores existentes, ya que los grupos principales forman una partici´on del conjunto de servidores S

mapSubstract(S, Gj) Conjunto de grupos principales de almacenamiento, salvoGj por definici´on de la operaci´on mapSubstract()

mapComplementary(mapSubstract(S, Gj))≡Gj por definici´on de la operaci´on mapComplementary()

Finalmente, debido a que los grupos de almacenamiento permiten la gesti´on, el almacenamiento y la recuperaci´on de ficheros, la interfaz del sistema de ficheros queda modificada, para dar cabida al concepto de grupo de almacenamiento. Estas modificaciones se muestran en la pr´oxima secci´on.

7.5.1. Modificaci ´on de la matriz de relaci ´on por parte de las operacio-

nes de grupos

Las operaciones de grupos implican la modificaci´on de la funci´on de agrupaci´on principal, lo que a su vez supone cambiar la relaci´on de dicha agrupaci´on y, por tanto, la matriz de agrupaci´on principal que almacena el cliente MAPFS. V´eamos c´omo afectan las diferentes operaciones a esta matriz7:

Operaci´onmapJoin(): Las modificaciones sobre la matriz de agrupaci´on dependen del objetivo con el cual se utilice esta funci´on, a saber:

Si se utiliza para la inicializaci´on de la relaci´on de agrupaci´on, el cambio que implica sobre la matriz es la introducci´on de unos en el lugar que corresponde a la intersecci´on entre el servidor y los servidores del grupo de almacenamiento asociado y ceros en el resto. Es decir:

λ0GP(Sx) =∅ ∧mapJoin(Sx, Gy) =⇒mgpxw = (

1 w /mgpxw∈MGP∧Sw∈Gy

0 u /mgpxu∈MGP∧Su∈/ Gy Si se utiliza para la modificaci´on de la relaci´on que existe entre un servidor y un grupo

de almacenamiento, el cambio que implica sobre la matriz es la introducci´on de unos en el lugar que corresponde a la intersecci´on entre el servidor y los servidores del nuevo grupo de almacenamiento y la inserci´on de ceros en el lugar que corresponde a la intersecci´on entre el servidor y los servidores del antiguo grupo de almacenamiento al que estaba asociado; es decir:

λ0GP(Sx) =Gz∧mapJoin(Sx, Gy) =⇒mgpxw = (

1 w / mgpxw ∈MGP ∧Sw∈Gy

0 u /mgpxu∈MGP∧Su∈Gz

(7.7) Operaci´on mapBreak(): Esta operaci´on implica la introducci´on de un 0 en la posici´on de la matriz correspondiente a la intersecci´on entre el servidor y los servidores del correspondiente grupo de almacenamiento, es decir:

λ0GP(Sx) =Gy∧mapBreak(Sx, Gy) =⇒mgpxw= 0w, dondemgpxw∈MGP ∧Sw∈Gy

Operaci´onmapChange(): La aplicaci´on de esta operaci´on equivale a la ecuaci´on (7.7):

λ0GP(Sx) =Gz∧mapChange(Sx, Gz, Gy) =⇒mgpxw = (

1 w / mgpxw ∈MGP ∧Sw∈Gy

0 u /mgpxu∈MGP∧Su∈Gz

Operaci´onmapUnion():La aplicaci´on de esta operaci´on implica que los servidores de los dos gru- pos de almacenamiento quedan relacionados, y, por tanto, la matriz de agrupaci´on contendr´a un uno en la intersecci´on entre todos esos servidores.

λ0GP(Sx) =Gw∧λ

0

GP(Sy) =Gu∧mapUnion(Gw, Gu) =⇒mgpxy= 1

dondemgpxy∈MGP