FR2824439A1 - Systeme et procede d'assemblage a distance de messages destines a des applications dispersees - Google Patents

Systeme et procede d'assemblage a distance de messages destines a des applications dispersees Download PDF

Info

Publication number
FR2824439A1
FR2824439A1 FR0205524A FR0205524A FR2824439A1 FR 2824439 A1 FR2824439 A1 FR 2824439A1 FR 0205524 A FR0205524 A FR 0205524A FR 0205524 A FR0205524 A FR 0205524A FR 2824439 A1 FR2824439 A1 FR 2824439A1
Authority
FR
France
Prior art keywords
space
tuple
application
directory
call control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0205524A
Other languages
English (en)
Other versions
FR2824439B1 (fr
Inventor
Ramiro Liscano
Sonya Fullarton
Gunter Mussbacher
Tom Gray
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitel Knowledge Corp
Original Assignee
Mitel Knowledge Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitel Knowledge Corp filed Critical Mitel Knowledge Corp
Publication of FR2824439A1 publication Critical patent/FR2824439A1/fr
Application granted granted Critical
Publication of FR2824439B1 publication Critical patent/FR2824439B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42348Location-based services which utilize the location information of a target
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2207/00Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
    • H04M2207/18Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place wireless networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/14Special services or facilities with services dependent on location

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Multi Processors (AREA)

Abstract

La présente invention concerne un système permettant l'assemblage, la distance, de messages en vue de la création d'un message de commande, qui comprend un espace de coordination partagé (7) servant à l'assemblage de messages, et une pluralité de composants (3, 9) servant à effectuer des actions prédéfinies et à échanger des messages selon une ontologie prédéfinie. Les composants comprennent un premier composant servant à diriger d'autres composants afin de publier des informations sur l'espace de coordination (7) et, en réponse, rassembler plusieurs éléments distincts des informations et les assembler sous la forme d'un message au moyen duquel on peut commander les actions dudit composant. Dans un mode de réalisation préféré, l'espace de coordination partagé est un espace de nuplets, un des composants est une application (3) de commande d'appels servant à commander un commutateur de communications (5), et au moins un autre composant ait une application de répertoire (9) contenant des informations d'emplacement.

Description

(50), pour que ce dernier transmette des données.
La présente invention concerne de façon générale le problème de la coordination des composants dans des systèmes dispersés et, plus particulièrement, un système permettant d'assembler à distance des messages afin de maintenir une collaboration à faible temps d'attente entre composants tout en conservant la largeur de bande, notamment
dans des systèmes sans fil.
Les systèmes à base de réseaux dispersés sont aujourd'hui courants dans la fourniture et la création d'applications utiles. Des composants (agents, objets,....) sont distribués sur un réseau et coopèrent ensemble de manière à fournir des services voulus. Plusieurs techniques ont été proposées pour permettre l'interaction de ces composants. Ces techniques se distinguent par des avantages et des
inconvénients particuliers. La description concerne un nouveau système
qui apporte une amélioration par rapport aux techniques antérieures.
Les techniques existantes sont les suivantes: l. Appel de procédés à distance ou appel de procédures à distance. 2. Passage de messages à distance
3. Exécution à distance.
Dans l'appel de procédures à distance ou l'appel de procédés à distance, les composants sont informés du fonctionnement détaillé de chacun des autres et peuvent appeler un comportement spécifique dans chacun des autres. Ceci a l'inconvénient sévère de nécessiter que tout changement dans l'un quelconque des composés soit contrôlé en ce qui concerne ses implications sur ce que 1'on peut attendre de tout composant
qui utilise ses services.
Le passage de messages à distance essaie d'éviter ce problème
en supprimant la nécessité d'un couplage serré entre les composants.
Avec les appels de procédés à distance, une modification intervenant dans le fonctionnement détaillé d'un unique objet nécessiterait 1'examen du fonctionnement de tous les objets qui appellent des procédés sur celui-ci afin d'assurer que ce que l'on peut attendre de ces objets ne subisse aucune vioiation. Il est possible de surmonter ce problème en confinant toutes les interactions à la grammaire et à la sémantique d'un ensemble défini de messages. Des agents ou des objets peuvent étre modifiés ou bien de nouveaux objets ou de nouveaux agents être ajoutés pour autant qu'ils suivent la grammaire et la sémantique des messages. Ceci permet plus d'ouverture et de capacité d'évolution pour le fonctionnement des systèmes. Toutefois, le système de passage de messages souffre de I'inconvénient selon lequel ils consomment une largeur de bande excessive lors du passage de messages entre des agents ou des objets. Ceci peut être spécialement vrai dans le cas d'applications sans fil dans lesquelles la largeur de bande radio est limitée et le débit de données est faible, ce qui entrane un coût élevé de transfert des messages et des retards importants pour les applications en fonction de ceux-ci. Ceci a conduit à développer le modèle d'exécution à distance de codes mobiles ou d'agents mobiles dans lesquels un programme, au lieu que ce soit un ensemble de messages, est passé. Le p rog ramme se dé rou le à l'em placement situé à distance de manière à satisfaire la demande du composant ayant effectué I'appel. Ceci a pour avantage, dans certains cas, de conserver une largeur de bande peu développée et d'améliorer les temps d'attente des applications. Toutefois, le modèle d'exécution à distance souffre de sérieux problèmes en ce qui concerne la sécurité. Des mesures extensives doivent être prises pour protéger un tel système contre des utilisateurs malicieux qui pourraient lui envoyer des objets ou des agents dommageables. Les mesures prises pour traiter les questions de sécurité dans un tel système pèsent lourdement contre l'avantage qu'il y avait à conserver la iargeur de bande. Les systèmes de passage de messages à distance ne sont pas aussi sévèrement affectés par ces questions de sécurité, puisqu'ils ne fonctionnement pas indépendamment sur le système, mais sont interprétés, ce qui élimine les questions de sécurité les plus sévères qui
affectent les codes mobiles.
Les communications vocales constituent une zone de recherche et de développements considérables dans les applications des systèmes dispersés. De nom breuses pa rticu la rités (fonction nal ités) de com mande d'appels (de communications) fournies par des systèmes de télécommunications nécessitent des informations relatives à I'emplacement (localisation). Par exemple, le lancement d'un appel téléphonique, le transfert d'un appel et l'incorporation d'une personne dans une conférence téléphonique, tout cela nécessite des informations relatives à la position de l'utilisateur. Dans certains cas, il est possible que des informations utiles relatives à l'emplacement soient stockées dans des services de répertoires différents. Selon la technique antérieure, il est possible à un utilisateur de choisir d'utiliser des services de répertoires différents pendant une session d'appel jusqu'à ce que les services de répertoires se conforment tous à une API (interface de programmation d 'a pplication) norma le et l'a pplication permet la sélection d'appl ications de répertoires différents. De plus, puisque les applications de répertoires ont accès à toutes les informations des répertoires privés de l'utilisateur via un ensemble d'API, l'utilisateur remet en question sa confiance en le fait que l'application ne fait accès qu'à des données d'emplacement et ne fait pas
accès à certaines autres données privées.
Ainsi, il est souhaitable que les services de répertoires soient prévus de manière que des informations d'emplacement puissent être obtenues à partir de toutes applications de répertoire à l'intérieur du système au prix de modifications minimales seulement apportées à l'application de répertoire, en même temps que l'on respecte le caractère privé des données de chaque utilisateur. Il est également souhaitable de donner à l'utilisateur la possibilité de faire une demande de communication à partir d'une application de répertoire plutôt que de devoir lancer i'appel à partir de l'application de commande d'appels. Ceci peut être problématique lorsqu'un utilisateur souhaite agir sur un service de répertoire de société en utilisant un dispositif sans fil et que l'interface la plus simple à cette information se fait via un navigateur Web. Dans ce cas, il est impossible de s'appuyer sur une application simple qui agit sur un ensemble d'API vers ce répertoire de société. Ainsi, dans l'industrie, il est nécessaire de fournir un système qui peut agir sur une commande d'appel basée sur une assertion afin de minimiser le couplage entre les
composants d'assertion de communications et l'application de répertoire.
Un tel besoin a été rendu plus prononcé encore par l'importante croissance des dispositifs de télécommunications sans fil. Dans un environnement ouvert, des services sont créés pour des utilisateurs par combinaison d'informations venant de multiples sources. Dans l'exemple ci- dessus présenté, la demande de communication de l'utilisateur se combine avec une information d'emplacement venant d'un répertoire externe afin de créer un message permettant de commander un commutateur externe (à savoir PBX). Cette technique standard est difficile à mettre en _uvre dans un environnement sans fil, du fait de la connexion susceptible d'erreurs à faible largeur de bande qui est produite par les dispositifs sans fil et de la difficulté qu'il y a à fournir de grandes quantités de puissance de calcul sur de semblables dispositifs en raison de
limitations en ce qui concerne l'alimentation électrique et la tail le.
Selon la présente invention, un procédé et un système sont proposés permettant de satisfaire le besoin ci-dessus indiqué tout en surmontant les limitations de la technique antérieure. De façon générale, I'invention permet que l'assemblage d'informations crée un message de commande qui est mis en _uvre à l'extérieur du dispositif sans fil, ce qui permet d'éviter les li mites des dispositifs et des con nexions. La tech niq ue de la présente invention produit cela de fason fonctionnelle en autorisant un "assemblage à distance" de messages d'une manière qui permet à l'initiateur de garder le contrôle sur des services qui ont été assemblés lors
de la création du service considéré dans son ensemble.
De manière générale, le système de la présente invention permet à un composant de créer une action en envoyant des messages multiples à d'autres composants. Plutôt que de répondre à l'initiateur sur une liaison sans fil de faible capacité et susceptible d'avoir des erreurs, ces autres composants placent leur réponse dans un espace de coordination commun. Selon le mode de réalisation préféré, I'espace de coordination est mis en _uvre sous la forme d'un espace de nuplets (enregistrements relationnels) et la réponse au message est mise en _uvre sous la forme d'une action de publication dans l'espace de nuplets. L'un ou plusieurs des composants s'abonnent à des connexion de ses réponses et considèrent une connexion comme un message et, en réponse, assemblent celui-ci implicitement. Un exemple d'une telle action est l'envoi d'un message indiquant qu'un utilisateur souhaite appeler une personne particulière, laquelle est mobile. Ceci nécessite que l'initiateur détermine là o la personne mobile se trouve, par consultation d'un service de localisation. Ii est courant que l'uti lisateu r dema nde éga lement l'autorisati on de contacter la person ne
mobile d'une manière particuiière (à savoir charges longue distance, etc.) .
Par conséquent, I'utilisateur peut se voir demander de contacter un service d'autorisation pour obtenir un jeton d'autorisation. Dans un système classique, I'initiateur assemble un message et l'envoie à un prestataire de services. Toutefois, le rassemblement des informations nécessaires nécessite plusieurs pas de messages utilisant la liaison sans fil. L'utilisation d'un espace de coordination, comme enseigné dans la présente invention, permet aux services de localisation et d'autorisation de placer des informations dans l'espace de coordination et pour le commutateur de communication qui exécute le message afin d'obtenir le message de la part de i'espace au moyen d'un procédé d'assemblage implicite. Plus particulièrement, I'initiateur envoie des messages au commutateur de communications afin d'avertir celui-ci que le processus est sur le point de commencer, ainsi qu'aux services de localisation et d'autorisation afin d'envoyer des informations à l'espace de coordination. Le commotateur de communications rassemble ces informations et les met ensemble avec des informations de message qu'il reSoit de la part de l'initiateur de fason à
produire implicitement le message.
Le modèle d"'assemblage à distance" selon l'invention fournit à la fois les avantages du modèle de passage de message à distance et de ceux du modèle d'exécution à distance sans avoir les inconvénients cités cidessus. Le système de l'invention conserve la largeur de bande de la même manière que le modèle d'exécution à distance, mais maintient aussi
les avantages de sécurité du modèle de passage de message à distance.
L'assemblage à distance selon l'invention maintient les avantages de couplage peu serré qui sont produits par le passage de message à distance et l'exécution à distance par rapport aux modèles d'appel de
procédé à distance et d'appel de procédures à distance.
Comme discuté ci-dessus, dans le modèle d'assemblage à distance, il n'est pas nécessaire que des messages soient créés au niveau d'un composant isolé (par exemple accessible seulement sur une liaison sans fil à vitesse réduite). Au lieu de cela, un groupe de composants coopère ensemble afin d'assembler un message dans l'espace de coordination, ce qui permet d'éviter la nécessité de créer des messages en
un emplacement isolé et de les envoyer sur une liaison à faibie vitesse.
Ceci est tout spécialement important dans les applications o un message doit être assemblé à partir d'informations qui ne sont disponibles qu'en provenance de répertoires placés dans le réseau. Les interrogations sont envoyées à plus d'un répertoire et des objets potentiellement grands en sont extraits. Les objets sont traités et assemblés en un message et envoyés sur la liaison à faible vitesse. Selon la technique antérieure, de nombreux passages sur la liaison à faible vitesse seraient nécessaires pour extraire des objets éventuellement grands. Le procédé d'assemblage à distance selon l'invention est conçu pour éliminer la nécessité de ces
passages qui sont cause de gaspillage.
Plus spécialement, I'invention propose un procédé de synchronisation de demande de commande d'appel avec un commotateur de communications au moyen de données de localisation venant d'une application de répertoire utilisant un espace de nuplets, qui comprend les opérations suivantes: lancement, par l'utilisateur, d'une demande d'utilisation d'une particularité basée sur la localisation auprès d'une application de commande d'appels; réception de l'identification du demandeur dans ladite application de commande d'appels et, en réponse, envoi de ladite demande et de ladite identification du demandeur audit commutateur; enregistrement de ladite demande de données de localisation auprès dudit commutateur par publication d'un anti-nuplet à destination dudit espace de nuplets qui comporte ladite identification du demandeur; sélection, par 1'utilisateur, desdites données de localisation dans ladite application de répertoire; publication d'un nuplet à destination dudit espace de nuplets, qui comporte lesdites données de localisation venant de ladite application de répertoire et ladite identification du demandeur; et accorder ledit nuplet avec ledit anti-nuplet à l'intérieur de I'espace de nuplets et, en réponse, faire que le commutateur de communications exécute la particularité d'appels basée sur la localisation
qui est demandée par l'utilisateur.
La description suivante, concue à titre d'illustration de
l 'i nvention, vise à don ner u ne mei l leure com préhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: la figure est un schéma d'interaction des composants, qui montre un système permettant l'assemblage à distance de messages selon l'invention; la figure 2A est la légende de la carte de cas d'utilisation de la figure 2B, laquelle montre l'interaction entre les composants de la figure la figure 3 est une carte de cas d'utilisation montrant 1'interaction entre composants selon un autre mode de réalisation; et la figure 4 est un schéma d'interaction de composants pour cet
autre mode de réalisation de la figure 3.
Avant de décrire en détail le "modèle d'assemblage à distance"
de l'invention, on va fournir ci-après une brève description de plusieurs
techniques différentes permettant la création d'applications entre de
multiples composants.
Une technique très courante consiste à représenter chaque composant comme un objet et, pour chacun des composants, de fournir une API d'appels de procédés dans lesquels d'autres composants peuvent le commander. Deux difficultés bien connues de cette technique se rapportent à la liaison intime des mises en _uvre de plusieurs composants. Une modification apparaissant dans la mise en _uvre d'un composant doit être analysée afin que l'on découvre comment la modification agit sur les mises en _uvre des autres composants. Ceci à
des applications évidentes sur la stabilité et 1'évolution du système.
Une solution à ce problème est donnée par le modèle de la technique antérieure de passage de message dans lequel un accord est fait sur un ensemble de messages standards, qui peuvent commander une application. Ceci découple les mises en _uvre, puisque tout ce qui est en commun est maintenant contenu à 1'intérieur des messages agréés, qui
peuvent être un ensemble à extrémité ouverte.
Le modèle de passage de messages a ses propres diffficultés par rapport aux ressources nécessitées pour l'échange de messages. Ceci est particulièrement important dans le cas de connexions sans fil o les liaisons reliant des composants ont une largeur de bande réduite et sont susceptibles d'erreurs. De ce fait, les avantages obtenus par le modèle de passage de messages en ce qui concerne la conception de l'application peuvent être perdus en pratique du fait de la nature complexe des solutions nécessitées pour surmonter la limitation de la liaison sans fil et le coût des ressources matérielles nécessaires pour mettre en _uvre ces solutions. Une tentative antérieure pour résoudre ce problème a conduit au modèle d"'exécution à distance" de la technique antérieure, o des messages sont élaborés sous la forme de scripts ou de petits programmes, qui peuvent étre échangés entre composants. Ces scripts s'exécutent localement sur un composant et n'utilisent la liaison de messages que pour des résultats ou des messages d'une importance vitale. Ce modèle résout le problème de passage de messages ci-dessus mentionné, mais au prix du caractère privé et de la stabilité du système, suite à l'ouverture des composants à des scripts et des programmes externes. Pour traiter ces problèmes, il faut concevoir des composants de façon à ce qu'ils soient protégés vis-à-vis de scripts externes malicieux ou conçus dans une mauvaise intention, et un environnement d'exécution doit être prévu pour les composants. Ces deux conditions impliquent une affectation de
ressources complexe et une évolution limitée du système.
Le "modèle d'assemblage à distance" proposé par l'invention donne les avantages du passage de messages et de l'exécution à distance
sans en avoir les inconvénients ci-dessus indiqués.
Le système et le procédé selon l'invention incorporent un système appartenant à la demanderesse, qui concerne un traitement distribué synchronisé qui utilise des espaces de nuplets comme décrit dans la demande de brevet britannique n 9920051.1, la demande de brevet canadien n 2316549, la demande de brevet des Etats-Unis d'Amérique n 09/642340, auxquelles on pourra se reporter pour obtenir plus d'informations. Ces demandes de brevets décrivent la coordination de particularités de composants au moyen d'un espace de nuplets qui assure qu'une demande faite dans l'espace de nuplets sollicite une permission d'abord avant l'exécution de la demande. L'invention étend les principes des demandes de brevets ci-dessus à la coordination de fonctions de
commande d'appels et de services de répertoires de localisation.
Comme on peut le voir sur la figure 1, lorsqu'un utilisateur 1 souhaite agir sur la composition des numéros d'un répertoire selon l'invention, l'utilisateur sélectionne une touche de particularité ou décroche le combiné (non représenté), ce qui amène le dispositif de commande d'appels 3 à délivrer une instruction au commutateur de communications 5 (à savoir PBX). Le commutateur 5 communique avec un espace de coordination partagé 7, auquel l'information de localisation est envoyée par une application de répertoire 9. Après que l'utilisateur a sélectionné la localisation de la personne dans l'application de répertoire 9, la commande d'appels 3 uti l ise 1 'information contenue da ns 1'espace de coord i nation 7 pour terminer l'appel. Les opérations ci-dessus sont indiquées de manière plus détaillée ci-après suite à une explication concernant le fonctionnement de l'espace de coordination partagé 7. De nombreuses fonctions de commande d'appels agissent en utilisant des services de répertoires qui fonctionnent de la même manière que si on établissait un appel sauf que l'utilisateur active ces options en appuyant sur une touche de sélection du poste téléphonique. Quelques exemples de ces pa rticu la rités d'a ppels sont le transfert d 'a ppel, le renvoi autom atiq ue, la conférence téléphonique, etc. Le système selon la présente invention permet également à l'utilisateur d'inverser les opérations d'interaction en commenSant par choisir un emplacement dans le répertoire 9, puis en demandant la pa rticu la rité de com ma nde d'ap pels. Le système de l'i nvention fonction ne
indépendamment de l'ordre du traitement.
Comme indiqué ci-dessus, I'espace de stockage partagé 7 est utilisé pour la coordination de particularités de commande d'appels basées sur 1'emplacement et les applications de répertoires qui offrent des
i nformations de local isation à ces pa rticu la rités de com mande d'appels.
Cette coordination repose sur un mécanisme, effectué dans l'espace partagé 7, qui permet à 1'application 3 de commande d'appels d'enregistrer les données d'emplacement et de recevoir toutes les données d'emplacement affirmées (assertion) par 1'application de répertoire 9. Plus particulièrement, des messages produits par l'application se conforment à un accord commun (ontologie) ou une grammaire commune, permettant l'échange via l'appariement de parties constitutives à l'intérieur de l'espace
partagé 7.
Comme discuté ci-dessus, un exemple de ce type de système de coordination de donnces partagé est un espace de nuplets. Selon le mode de réalisation préféré de l'invention, un espace de nuplets est mis en _uvre comme mécanisme de communication entre la commande d'appels 3 et 1'application de répertoire 9 (ou de multiples applications de répertoires). L'espace de nuplets 7 est une mémoire de données partagée qui utilise des paires caractère-valeur (nuplets) comme représentation de l'information dans cette mémoire partagée. Les paires caractère-valeur sont définies de manière suivante: (: caractère vaieur l: caractère 2 valeur 2...). Un "caractère" est un nom alphanumérique quelconque, tandis qu'une "valeur" peut être une séquence, un nombre ou un autre nuplet. Lorsque la "valeur" est un autre nuplet, celui-ci est préfixé par le nom spécial "nuplet" comme dans l'exemple suivant (: premier nuplet (:
article 1 téléphone)).
La commande d'appels basée sur une assertion utilisant l'espace de nuplets nécessite que le nuplet autorise certains opérandes. Les opérandes fondamentaux nécessaires pour que l'invention fonctionne sont les opérandes "out" et "in". Les opérandes "out" et "in" peuvent être utilisés pour, respectivement, effectuer la rétraction d'un nuplet de
151'espace partagé 7 et effe*uer 1'assertion d'un nuplet à 1'espace partagé 7.
Les demandes venant de la commande d'appels 3 sont synchronisées avec les données d'emplacement par définition d'un "caractère" particulier qui correspond à une donnée de localisation (par exemple "loc-donnée"). De même, le caractère de la donné est défini comme une séquence. En particulier, le format URI (identificateur de ressource uniforme) est adopté en raison de sa flexibilité et pour permettre des protocoles de télécommunications différents qui sont développés pour la téléphonie IP. De plus, puisque le commutateur de communications 5 manipule de fason générale plusieurs centaines de sessions, un identificateur est ajouté aux nuplets afin d'associer la donnée de localisation à une demande particulière venant de la commande d'appels 3. Pour maintenir des applications indépendantes les unes des autres, on adopte un identificateur d'utilisateur plutôt qu'un identificateur de session créé par l'appel de la particularité d'appel. Il est donc nécessaire à 1'utilisateur de s'enregistrer avec 1'application de commande d'appels 3 avant de demander une particularité basée sur 1'emplacement et de sélection ner des informations d 'em placement vena nt d u service de répertoire 9. La manière dont les applications obtiennent l'identification de l'utilisateur ne se rapporte pas à l'invention. Les utilisateurs peuvent employer des cartes d'identification ou avoir été enregistrés dans un ordinateur sous un nom d'utilisateur particulier. Selon une autre possibilité, l'information peut étre stockée sous la forme d'un "témoin" (cookie) lorsqu'on utilise une interface Web. Dans la situation o la commande d'appels 3 et l'application de répertoire 9 résident toutes deux sur le même dispositif, un identification du dispositif peut être utilisé pour rem placer l'identificateu r de l'utilisateu r. Sur la figure 1, le commutateur de téléphonie 5 autorise des particularités basées sur l'emplacement, appelé ici LCF ("Location Call Features"). Ces particularités d'emplacement nécessitent un paramètre
d'emplacement pour pouvoir effectuer leurs actions respectives.
L'ensemble suivant d'opérations définit la procédure permettant de synchroniser des demandes de commande d'appels avec des données de localisation au moyen d'une commande d'appels basée sur une assertion,
selon l'invention.
Opération 1: l'utilisateur 1 demande l'utilisation de particularités basées sur l'emplacement dans l'application
de commande d'appels 3.
Opération 2: l'application de commande d'appels obtient l'identification du demandeur à partir du système d'exploitation (OS) ou bien fait une invite à l'utilisateur 1 et envoie la demande et l'identification de l'utilisateur au commutateur 5. L'application de commande d'appels 3 peut être simplement une interface avec le commutateur 5 (par exemple présentée à l'utilisateur 1 via le téléphone ou
une interface de page Web, etc.).
Opération 3: le commutateur 5 enregistre la demande relative à la donnée de localisation en délivrant une demande "out" (:IDutilisateur UTILISATEUR: loc-donnée ?
loc) à l'espace de nuplets 7.
Opération 4: l'utilisateur 1 lance l'application de répertoire 9 et sélectionne les informations de localisation en
provenance du répertoire.
Opération 5: Après que l'application de répertoire 9 a resu l'instruction de mettre les données dans l'espace de nuplets 7, l'application augmente cette information de l'identification de l'utilisateur. Un exemple de nuplet est
:IDutilisateur UTILISATEUR: loc-donnée 5555.
Opération 6: La demande venant du commutateur 5 (:IDutilisateur UTILISATEUR: loc-donnée ? loc) concorde avec la donnée entrante (:IDutilisateur UTILISATEUR: ioc donnée 5555), conduisant à l'exécution, par le commutateur 5, de la particularité appropriée d'appels basée sur la localisation qui est demandée par l'utilisateur 1. L'interaction précédente entre les composants de la figure 1 peut aussi étre représentée sous la forme d'une "carte des cas d'utilisation", que montre la figure 2B, o la figure 2A fait fonction de légende expliquant l'utilisation des symboles de la carte de cas d'utilisation. Dans cette représentation, la commande d'appels 3 et l'application de répertoire 9 sont présentés comme les applications qui s'exécutent dans le navigateur du client et agissent sur l'utilisation des langages de script pour communiquer avec l'espace des nuplets 7. La carte des cas de l'utilisation est plus complète que le schéma d'interaction des composants de la figure 1 en ce qu'elle peut représenter tous les scénarios d'utilisateur possibles à l'intérieur du système. Par exemple, il y a deux points de départ possibles dans la carte des cas d'utilisation (notée UCM, d'après "Use Case Map"): celui qui part de l'application de répertoire 9 et un autre, qui part de l'application de commande d'appels (comme indiqué dans la légende ci-dessous, les points de départ des UCM sont désignés par des points noirs). Sur la figure 1, l'utilisateur est représenté comme étant en interaction avec l'application de commande d'appels 3 avant de demander des données de localisation.Toutefois, comme représenté sur la figure 2B, il est possible d'inverser la procédure et d'envoyer les données de localisation dans l'espace des nuplets 7 avant
de délivrer la LCF.
La nature intuitive des cartes de cas d'utilisation (UCM) permet de suivre simplement les trajets définis dans les diagrammes pour tracer tous les scénarios possibles. Pour faciliter la compréhension de l'UCM, la légende suivante définit les symboles utilisés par la notation, relative à
l'UCM, de la figure 2B.
Un premier autre mode de réalisation de l'invention implique de déplacer la responsabilité de communiquer avec l'espace des nuplets 7, du commutateur de communications 5 à l'application 3 de commande d'appels. Le mode de réalisation préféré des figures 1, 2A et 2B est mieux adapté à la mise en _uvre de dispositifs simples qui ont des capacités de calcul limitées, ainsi que de dispositifs sans fil, o il est souhaitable de
limiter la taille des messages de communications sur le réseau.
Selon l'autre mode de réalisation, illustré sur ies figures 3 et 4, la commande d'appels 3 et les applications de répertoires 9 résident sur le même dispositif et il n'est pas nécessaire de demander un caractère
d'identification d'utilisateur.
L'ensemble suivant d'opérations se rapporte à la figure 4 et montre la procéb u re de synch ron isation des demandes de com ma nde d 'a p pe ls avec les don nées de localisation dans le cas o l'a ppl ication de commande d'appels 3 est en interaction avec l'espace de nuplets 7 plutôt
que le commutateur de communications 5.
Opération 1: i'utilisateur 1 demande, auprès de I'application de commande d'appels 3, une particularité
basée sur l'emplacement.
Opération 2: I'application de commande d'appels 3 enregistre la demande de données de localisation en délivrant à l'espace des nuplets 7 une demande "out (:loc donnée ? Ioc)". Ceci peut être une opération de blocage ou de non-blocage. Au cours de la même opération, I'application de commande d'appel 3 notifie à l'utilisateur 1
qu'il attend la donnée de localisation.
Opération 3: I'utilisateur 3 émet une application qui contient des informations de localisation et est en mesure de communiquer avec l'espace des nuplets 7 existant (par exemple l'application de répertoire 9 ayant la capacité de
communiquer avec l'espace des nuplets 7).
Opération 4: après que l'utilisateur 1 a sélectionné I'i nformation d'em placement da ns le répertoi re 9 et a donné instruction à l'application de répertoire 9 de placer les données dans l'espace des nuplets 7, I'application de répertoire 9 émet alors une demande "in (:loc-donnée 5555)" qui a pour fonction de mettre dans l'espace des
nuplets 7 le nuplet (:loc-donnée 5555)".
Opération 5: la demande "(:loc-donnée ?loc)" concorde avec la donnée entrante (:loc-donnée 5555)", ce qui donne une réponse ou un événement envoyé à l'application de commande d'appels 3 avec le nuplet spécifique qui concorde avec la demande. Dans le même temps, le nuplet
(:loc-donnée 5555)" est retiré de l'espace des nuplets 7.
Opération 6: I'application de commande d'appels 3 possède maintenant des données suffisantes pour procéder
à la demande de LCF à destination du commutateur 5.
En résumé, il est proposé un procédé permettant de faciliter le développement d'applications basé sur l'empiacement qui agissent sur la com ma nde d'a ppels 3 sans nécessiter la con naissa nce de tous les codes d'accès aux particularités relatifs aux différentes particularités de commande d'appels basées sur l'emplacement disponibles sur le commutateur 5. Cet approche permet également qu'une seule application de répertoire desserve une multitude de particularités de commande d'appels basées sur l'emplacement et, inversement, que plusieurs applications de répertoires puissent étre utilisées pour une unique entité
de commande d'appels 3.
On aura compris que, alors qu'on a décrit et illustré de manière détaillée des modes de réalisation de l'invention, il est possible d'apporter diverses variantes et modifications. L'invention peut étre appliquée à d'autres particularités de communications qui nécessitent des données supplémentaires autres que des données de localisation. En d'autres termes, on peut étendre les nuplets à la gestion d'autres informations que des données de localisation. Ces informations comprennent par exemple des données d'authentification d'utilisateurs ou des informations de comptes permettant de rendre possible une transaction. Pour ces types de données, le caractère privé et la sécurité sont plus pertinents qu'en liaison avec les informations de localisation et demandent que les utilisateurs exercent une plus grande commande sur le type d'information qu'ils cèdent à une application. D'autres formes de données peuvent comporter des identifications de ressources d'une particularité de communications spéciale que l'on peut utiliser pour agir. Par exemple, on peut commander le volume d'un combiné en utilisant plusieurs applications différentes qui peuvent placer leurs types de données et leurs données dans un espace de couple commun. Ceci permerait que des preferences de l'utilisateur soient reques en provenance d'appcaBons autres que [interface
d'utOlsateur du pow tAlAphonique classique.
Bien entendu, Fhomme de Fag sera en mesure dlmaginer, panic du shame et du prosody dont la deschn vent data donnde titre simplement illustratif et nullement 1imltatit diverges variances et
modincaBons ne coolant pas du cads de Inventor.

Claims (9)

REVENDICATIONS
1. Système permettant un assemblage à distance de messages afin de créer un message de commande, caractérisé en ce qu'il comprend: un espace de coordination partagé (7) servant à l'assemblage desdits messages; et une pluralité de composants (3, 9) servant à effectuer des actions prédéfinies et à échanger des messages selon une ontologie prédéfinie, ladite pluralité comportant un premier composant qui sert à diriger d'autres dits composants afin qu'ils rendent publiques des informations sur ledit espace de coordination et, en réponse, rassemblent plusieurs éléments distincts desdites informations et assemblent lesdits éléments distincts sous la forme d'un message au moyen duquel il est
possible de commander les actions dudit premier composant.
2. Système selon la revend ication 1, o led it espace de coordination partagé est un espace de nuplets (7) et ladite ontologie est formée de paires caractère-valeur servant à représenter lesdites informations. 3. Système selon la revendication 1, caractérisé en ce que ledit
premier composant (3) est un dispositif sans fil.
4. Système se lon la revendication 1, ca ractérisé en ce q ue led it premier composant (3) comprend une application de commande d'appels (3) servant à commander un commutateur de communications (5), et au moins l'un desdits autres composants comprend une application de
répertoire (9) servant à stocker des informations de localisation.
5. Système selon la revendication 4, caractérisé en ce que ladite application (3) de commande d'appels communique directement avec ledit
espace de coordination partagé (7) afin d'échanger lesdits messages.
6. Système selon la revendication 4, caractérisé en ce que ladite application de commande d'appels (3) communique avec ledit espace de
coordination partagé (7) via ledit commutateur de communications (5).
7. Système selon la revendication 4, caractérisé en ce qu'au
moins un autre dit composant comprend un service d'autorisation.
8. Système selon la revendication 4, caractérisé en ce que l'accès auxdites informations de localisation dans ladite application de répertoire (9) s'effectue via une interface Web depuis un répertoire de sociétés qui ne fournit pas une interface de programmation d'application,
notée API, à ses données.
9. Systè me selon la revendication 4, caractérisé en ce q ue lad ite application de commande d'appels (3) et ladite application de répertoire (9) s'exécute à l'intérieur d'un navigateur Web et utilise un langage de
script pour communiquer avec ledit espace de nuplets.
1 0. Procédé de synch ronisation d' u ne dema nde de com ma nde d'appel avec un commutateur de communications au moyen de données de localisation venant d'une application de répertoire utilisant un espace de nuplets, caractérisé en ce qu'il comprend les opérations suivantes: lancement, par l'utilisateur, d'une demande d'utilisation d'une particularité basée sur la localisation auprès d'une application de commande d'appels; réception de l'identification du demandeur dans ladite application de commande d'appels et, en réponse, envoi de ladite demande et de ladite identification du demandeur audit commutateur; en reg istrement de lad ite demande de don nées de localisation auprès dudit commutateur par publication d'un anti-nuplet à destination dudit espace de nuplets qui comporte ladite identification du demandeur; sélecti on, pa r l'uti lisateu r, desUites don nées de localisation da ns ladite application de répertoire; publication d'un nuplet à destination dudit espace de nuplets, qui comporte lesdites données de localisation venant de ladite application de répertoire et ladite identification du demandeur; et accorder ledit nuplet avec ledit anti-nuplet à l'intérieur de l'espace de nuplets et, en réponse, faire que le commutateur de communications exécute la particularité d'appels basée sur la localisation
qui est demandée par l'utilisateur.
11. Procédé de synchronisation d'une demande de commande d'appel avec un commutateur de communications au moyen de données de localisation venant d'une application de répertoire utilisant un espace de nuplets, caractérisé en ce qu'il comprend les opérations suivantes: lancement, par l'utilisateur, d'une demande d'utilisation d'une particularité basée sur la localisation auprès d'une application de commande d'appels; en registrer lad ite dema nde de don nées de loca lisation en publiant un anti-nuplet à destination dudit espace de nuplets; sélection, par l'utilisateur, desdites données de localisation auprès de ladite demande de répertoire; publier un nuplet à destination dudit espace de nuplets, qui comporte lesdites données de localisation venant de ladite application de répertoire; et accorder ledit nuplet avec ledit anti- nuplet à l'intérieur dudit espace de nuplets et, en réponse, faire en sorte que ledit commutateur de communications exécute la particularité d'appel basée sur la localisation
FR0205524A 2001-05-02 2002-05-02 Systeme et procede d'assemblage a distance de messages destines a des applications dispersees Expired - Lifetime FR2824439B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0110713A GB2375264B (en) 2001-05-02 2001-05-02 Remote assembly of messages for distributed applications

Publications (2)

Publication Number Publication Date
FR2824439A1 true FR2824439A1 (fr) 2002-11-08
FR2824439B1 FR2824439B1 (fr) 2005-05-27

Family

ID=9913846

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0205524A Expired - Lifetime FR2824439B1 (fr) 2001-05-02 2002-05-02 Systeme et procede d'assemblage a distance de messages destines a des applications dispersees

Country Status (5)

Country Link
US (1) US7318109B2 (fr)
CA (1) CA2384066C (fr)
DE (1) DE10220556B4 (fr)
FR (1) FR2824439B1 (fr)
GB (1) GB2375264B (fr)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0200745D0 (en) * 2002-01-14 2002-02-27 Mitel Knowledge Corp Tuple space operations for fine grained system control
GB0218710D0 (en) 2002-08-12 2002-09-18 Mitel Knowledge Corp Personalizable and customizable feature execution for ip telephony using operational semantics and deontic task trees
WO2004056237A2 (fr) * 2002-12-17 2004-07-08 Susan Marie Waters Systeme de protection de lit d'enfant et autre appareil permeable a l'air
US9098118B2 (en) * 2004-10-20 2015-08-04 Robert R. Kodama Computer keyboard with pointer control
US20090077480A1 (en) * 2007-06-19 2009-03-19 Caunter Mark Leslie Apparatus and method of managing electronic communities of users
US20090063423A1 (en) * 2007-06-19 2009-03-05 Jackson Bruce Kelly User interfaces for service object located in a distributed system
US8719841B2 (en) 2007-11-16 2014-05-06 Microsoft Corporation Dispatch mechanism for coordinating application and communication medium state
US8505030B2 (en) * 2007-11-16 2013-08-06 Microsoft Corporation Coordinating resources using a volatile network intermediary
US9021503B2 (en) * 2007-11-16 2015-04-28 Microsoft Technology Licensing, Llc Coordinating application state and communication medium state
US8060603B2 (en) 2008-06-18 2011-11-15 Qualcomm Incorporated Persistent personal messaging in a distributed system
US20090319385A1 (en) * 2008-06-18 2009-12-24 Jackson Bruce Kelly Monetizing and prioritizing results of a distributed search
US20090320097A1 (en) * 2008-06-18 2009-12-24 Jackson Bruce Kelly Method for carrying out a distributed search
US8301706B2 (en) 2009-06-15 2012-10-30 Microsoft Corporation Routing of pooled messages via an intermediary
US8549538B2 (en) * 2010-03-18 2013-10-01 Microsoft Corporation Coordinating communication medium state for subtasks
US8250234B2 (en) 2010-04-26 2012-08-21 Microsoft Corporation Hierarchically disassembling messages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2353612A (en) * 1999-08-24 2001-02-28 Mitel Corp Coordinating processing by use of synchronised tuple spaces and assertions
GB2355140A (en) * 1999-10-05 2001-04-11 Mitel Corp Security mechanisms and architecture for collaborative systems using tuple space

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2582047B1 (fr) 1985-05-17 1988-04-08 Inst Francais Du Petrole Dispositif d'assemblage a distance de deux organes
CA2123068C (fr) * 1994-05-06 1998-04-14 Thomas A. Gray Methode d'affectation d'appels adaptative
JP3719789B2 (ja) 1996-10-04 2005-11-24 株式会社東芝 通信端末装置及び中継装置
US5924103A (en) * 1997-03-12 1999-07-13 Hewlett-Packard Company Works-in-progress in an information management system
US5963947A (en) * 1998-01-27 1999-10-05 International Business Machines Corporation Technique of dynamically adding functionality from a client to manipulated data at a server
US5974420A (en) * 1998-01-27 1999-10-26 International Business Machines Corporation Information exchange operator for a tuplespace
GB2344719B (en) * 1998-12-09 2003-10-15 Mitel Corp Distributed technique for allocating calls
US6502134B1 (en) * 1999-05-05 2002-12-31 Nextpage, Inc. Tuple-based information space for data exchange between applications
US6751619B1 (en) * 2000-03-15 2004-06-15 Microsoft Corporation Methods and apparatus for tuple management in data processing system
US6643650B1 (en) * 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2353612A (en) * 1999-08-24 2001-02-28 Mitel Corp Coordinating processing by use of synchronised tuple spaces and assertions
GB2355140A (en) * 1999-10-05 2001-04-11 Mitel Corp Security mechanisms and architecture for collaborative systems using tuple space

Also Published As

Publication number Publication date
GB0110713D0 (en) 2001-06-27
GB2375264A (en) 2002-11-06
US7318109B2 (en) 2008-01-08
CA2384066A1 (fr) 2002-11-02
DE10220556A1 (de) 2003-01-30
DE10220556B4 (de) 2013-09-19
GB2375264B (en) 2004-10-13
FR2824439B1 (fr) 2005-05-27
US20030005032A1 (en) 2003-01-02
CA2384066C (fr) 2007-07-24

Similar Documents

Publication Publication Date Title
FR2824439A1 (fr) Systeme et procede d'assemblage a distance de messages destines a des applications dispersees
US8291077B2 (en) Provision of services over a common delivery platform such as a mobile telephony network
EP1909462B1 (fr) Procédé de mise à disposition cloisonnée d'un service électronique
WO2021073428A1 (fr) Procédé, dispositif et système de liaison de numéro de compte
FR3087988A1 (fr) Gestion de profils d'abonne simultanement actifs dans une carte euicc en utilisant plusieurs liaisons distinctes
FR2985130A1 (fr) Procede de partage d'un contenu multimedia entre au moins un premier utilisateur et un second utilisateur sur un reseau de telecommunications
FR2923337A1 (fr) Procede et systeme d'echange de donnees entre serveurs distants.
EP3087706B1 (fr) Procédé et système de communication entre navigateurs web, utilisant un environnement de communication unifiée
WO2009147348A2 (fr) Procédé et système d'enregistrement automatique d'une session de communication
EP3637871A1 (fr) Carte d'identification d'abonné pour un terminal mobile
US9032489B2 (en) Method and device for proxy access of open platform
CN103401935A (zh) 移动终端及其通过网络浏览器共享数据的方法
EP2360889B1 (fr) Création et utilisation d'un lien de télécommunication entre deux utilisateurs d'un réseau de télécommunication
CN110673970B (zh) 一种基于web应用的跨进程调用系统及方法
EP1681832A1 (fr) Fourniture de services à travers une plateforme commune de livraison tel qu'un réseau mobile de téléphonie
US20060190539A1 (en) Provision of services over a common delivery platform such as a mobile telephony network
Van Gurp et al. Mobile service oriented architectures (mosoa)
CN109218374B (zh) 应用交互方法及装置
FR3034543A1 (fr) Systeme et procede d'execution d'une application dans un terminal muni d'une carte a puce
EP1179959B1 (fr) Procédé d'exécution de plusieurs services au cours d'un appel téléphonique
EP4449678A1 (fr) Mécanismes de communication avec un service accessible via un réseau de télécommunication prenant en compte la mobilité des services, des utilisateurs et des équipements
EP2320623B1 (fr) Procédé de fourniture d'un service
CN116406028A (zh) 服务管理方法及其装置、系统、电子设备、存储介质
WO2018235090A1 (fr) Systèmes et procédés d'exécution de programmes interactifs sélectionnés au cours d'un appel téléphonique
FR2952262A1 (fr) Autorisation d'etablissement d'appels simultanes

Legal Events

Date Code Title Description
TP Transmission of property
PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20