• Aucun résultat trouvé

7.4 Dés des solutions de gestion de mobilité existantes

8.1.3 Aspect fonctionnel des VSCUs

8.1.3.2 Création des VSCUs

Lors du déploiement d'un nouveau service SEi1,j1,P x dans une des plates-formes

d'un fournisseur Px, si le service VSCU Attachment n'arrive pas à attacher SEi1,j1,P x

à une Inner VSC-U&L, il envoie une notication, Create VSC-U&L, au service VSCU Creation appartenant à cette même plate-forme. Ainsi, le VSCU Creation crée une In- ner VSC-U&L relative au service SEi1,j1,P x déployé. Ce dernier sera considéré comme

le responsable de cette communauté.

Comme le montre la Figure 8.5, le processus fonctionnel du service VSCU Creation correspond à la séquence suivante d'opérations :

Fig. 8.5: Diagramme de séquence pour la création des VSCUs.

 Opération 1 : Le VSCU Creation envoie une requête à l'Infoware pour récupé- rer la liste {Functionality, QoS criteria, Longitude, latitude} relative au service

SEi1,j1,P x déployé tout en s'appuyant sur son Service Prole.

 Opération 2 : Le VSCU Creation envoie une requête au service découverte DBS de JXTA. Ce dernier découvre la liste des services {SEi1,j,P k : j et k varient,

avec j 6= j1 } qui sont présents (disponibles, activables ou activés), ubiquitaires au service déployé, et qui appartiennent à sa zone d'entourage géographique. Pour ce faire, le service DBS reçoit de la part du service VSCU Creation les entrée suivantes : le rôle = service et la liste des critères de découverte = {la fonctionnalité du service déployé, ses quatre critères de QoS avec les quatre marges relatives, sa longitude, sa latitude, le rayon Rs de la zone d'entourage,

ainsi que l'état disponible, activable ou activé}. Ensuite, le DBS envoie comme sortie la liste des identiants des services découverts, leurs adresses logiques (SIP URIs) pour qu'ils puissent être contactés, leurs Provider IDs puisqu'ils sont multi- fournisseurs, ainsi que leurs zones de couverture qui seront utilisées dans la suite pour le handover sémantique.

 Opération 3 : Quand le VSCU Creation reçoit la réponse du DBS, il compare le nombre n de services découverts à une valeur m minimale et une valeur M maximale. En eet, an de ne pas encombrer la base de connaissances par des VSC-U&Ls avec un grand nombre de services et an de ne pas avoir aussi des

VSC-U&Ls à faible nombre de services ubiquitaires, chaque fournisseur délimite, selon ses études du marché et ses heuristiques, le nombre acceptable de services ubiquitaires dans une VSC-U&L entre un nombre minimal m et un nombre maximal M. Suite à cette comparaison, trois cas sont possibles : soit n est supérieur à M, soit n est entre m et M, soit n est inférieur à m.

 Opération 4 : Dans le premier cas, le VSCU Creation choisit arbitrairement M-1 services. Dans le deuxième cas, il prend tous les n services découverts. Quand au troisième cas, il relance la découverte avec le service DBS mais cette fois en multipliant par deux le rayon Rs de la zone d'entourage. Si après la deuxième

découverte le nombre n est devenu supérieur à M ou bien entre m et M, nous passons ainsi à une situation conforme au premier cas ou au deuxième cas. Cependant, si après cette deuxième découverte, le problème persiste et nous avons toujours un nombre n inférieur à m, nous ne lançons pas une troisième fois la découverte DBS en augmentant le rayon, car dans ce cas nous perdons l'intérêt de proximité géographique entre les services ubiquitaires sélectionnés par la VSC- U&L. Pour dépasser ce problème, nous proposons de déployer dans cette même plate-forme un nombre (m-n)-1 services ubiquitaires au service SEi1,j1,P x. Pour

ce faire, le VSCU Creation envoie une notication, Deploy Services, à l'Events Manager tout en précisant le nombre (m-n)-1 de services à déployer ainsi que l'identiant du service SEi1,j1,P x auquel ils doivent être ubiquitaires.

 Opération 5 : Enn, pour les trois cas possibles, le VSCU Creation envoie une no- tication, Inner VSC-U&L Creation, directement à l'Infoware an que ce dernier crée l'Inner VSC-U&L relative au service SEi1,j1,P x déployé. Dans cette notica-

tion, le VSCU Creation précise l'identiant du service SEi1,j1,P x déployé, la liste

des identiants des services ubiquitaires {SEi1,j,P k : j et k varient, avec j 6= j1 },

leurs adresses logiques, leurs Provider IDs ainsi que leurs zones de couverture. Ainsi, l'Infoware crée l'Inner VSC-U&L relative au service SEi1,j1,P x déployé, en

créant un VSC-U&L Prole dans lequel il met les informations suivantes {VSC-U&L ID, Functionality, QoS criteria, QoS margins, Longitude, Latitude, Rs, l'identiant

de SEi1,j1,P x considéré comme responsable}. En eet, la plupart de ces informations

sont prises par inférence d'après le Service Prole du service SEi1,j1,P x déployé. Ce

Service Prole change aussi par inférence en ajoutant, dans le champ Inner VSC-U&L, l'identiant de la VSC-U&L créée.

Enn, nous obtenons une Inner VSC-U&L qui est relative à un service SEi1,j1,P x

donné, et qui contient une liste de services {SEi1,j,P k : j et k varient, avec j 6= j1 } multi-

fournisseurs, auxquels sont associées des listes d'adresses logiques, de Provider IDs ainsi que des zones de couverture. Par conséquent, l'Infoware notie les autres fragments d'Infoware relatifs aux plates-formes de ces services multi-fournisseurs, en envoyant des notications, Outer VSC-U&L Creation, dans lesquelles il précise l'identiant de la VSC-U&L créée, l'identiant du service SEi1,j1,P x responsable ainsi que son adresse

logique. Suite à cette notication, chaque fragment associe la VSC-U&L créée à chacun de ces services. Ces derniers la considère comme étant une Outer VSC-U&L dont le responsable est un service SEi1,j1,P x externe.

la notication, Deploy Services, à l'Events Manager, ce dernier notie à son tour un certain service de gestion qui est responsable de déployer les (m-n)-1 services. Ainsi, pour chacun des (m-n)-1 services ubiquitaires créés, le service VSCU Attachment va être sollicité. Ce dernier va normalement attacher chacun de ces services à l'Inner VSC- U&L qui a été déjà créée par le VSCU Creation et qui a été déjà associée au service

SEi1,j1,P x. Par conséquent, en attachant ces (m-n)-1 services à l'Inner VSC-U&L,

nous obtenons m services dans cette communauté au lieu des n services (où n était inférieur à m).