WO2000002354A1 - Method for executing an application in a computer system connected to a communication network, and control module used in said method - Google Patents

Method for executing an application in a computer system connected to a communication network, and control module used in said method Download PDF

Info

Publication number
WO2000002354A1
WO2000002354A1 PCT/FR1999/001573 FR9901573W WO0002354A1 WO 2000002354 A1 WO2000002354 A1 WO 2000002354A1 FR 9901573 W FR9901573 W FR 9901573W WO 0002354 A1 WO0002354 A1 WO 0002354A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
protocol
address
application
unit
Prior art date
Application number
PCT/FR1999/001573
Other languages
French (fr)
Inventor
Dominique Bonjour
Laurent Rabret
François-Arnaud REMAEL
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Priority to AU43769/99A priority Critical patent/AU4376999A/en
Publication of WO2000002354A1 publication Critical patent/WO2000002354A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/4608LAN interconnection over ATM networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • H04L69/085Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance

Definitions

  • the present invention relates to the field of computer networks.
  • a computer network R involves two general types of equipment, namely "terminals” and "network elements".
  • the 1,2,3 terminals (this concept includes the servers here) are machines (computers) on which computer applications or programs are executed which may require communications with other terminals.
  • the connection of these terminals to each other is ensured by the network elements 4.5 (transmission links and switch points).
  • the dialogue between terminals and network elements is ensured according to predefined PROT procedures called communication protocols.
  • API Application Programming Interface
  • OS operating system
  • API Application Programming Interface
  • These network communication interfaces are part of the resources offered by the operating system (OS) of each terminal. They allow access to the implanted protocols using a set of "primitives”, which call for basic functions allowing to open a connection to a remote address, to send and receive data, etc. These primitives are then translated into elementary messages of the protocol in question (see illustration in Figure 2). In the terminals, the operation according to the communication protocol is ensured by other software resources of the operating system and by appropriate communication cards.
  • An additional distinction makes it possible to identify both the remote terminal (thanks to its network address), and to select a particular service within of this terminal thanks to a couple of additional identifiers called (protocol, port number).
  • the combination (address, protocol, port number) therefore makes it possible to uniquely designate a particular application in a particular terminal.
  • Another important notion relates to the two logical levels that can be used to identify a terminal (or an application) connected to a computer network.
  • the first level is that of addressing the actual network layer. It is generally structured (that is to say that the addresses are hierarchical in order to facilitate the routing and the administration of the addresses), that the network layer functions in connected mode (in this case, the address n ' is provided only when establishing a connection) or in connectionless mode (the address is then carried by each packet).
  • the second level is that of naming, which makes it possible to identify the terminals by a logical name, which is generally in the form of a string of characters easily memorable and understandable by a human.
  • the name can be chosen independently of any constraints of length or geographical location. For these reasons, these are the names that are most often used for identification.
  • a translation service makes it possible to match an address, the only concept comprehensible by the network to a name.
  • This mechanism uses a directory which groups the associations ⁇ logical name, network address> and which offers interrogation services allowing translation between names and addresses. It is accessible at through a set of network API naming primitives.
  • an application generally comprises the following sequence of actions each time it wishes to communicate across the network:
  • a first problem therefore consists in resuming without change all the applications exploiting a common API (for example, IP sockets) in a new network environment.
  • a second problem relates to the introduction of the concept of quality of service, made possible for example thanks to networks based on ATM technology.
  • Another suggested approach consists in carrying out differential processing of data flows within the network, without the terminal being able to participate in the negotiation of the conditions (identification of flows and quality of service parameters) of this processing.
  • a main aim of the present invention is to propose a simple solution to the first problem mentioned above.
  • the invention thus provides a method for executing an application in a computer system connected to a communication network, the application being designed to exchange messages towards a first programming software interface adapted to a first network communication protocol, and the communication network operating according to a second network communication protocol for which the system is equipped with a second programming software interface.
  • the system arbitrarily associates with the network address of the unit an address for local use defined according to a format of the first protocol.
  • each message received by the system according to the second protocol from the unit identified by its network address and intended for the application is transformed into a translated message including the associated local use address, which is supplied to the application via the first programming interface, and each message presented by the application on the first programming interface to the unit identified by the address for local use is transformed into a message translated according to the second protocol, which is sent over the network to the unit identified by its network address.
  • computer system is meant, in the above definition of the process, a terminal, client or server, connected to the network.
  • This computer system can be a computer of greater or lesser power, or even a group of computers linked together by a separate local network comprising one or more gateways for connection to the communication network.
  • the computer system is equipped with a software module which provides all the primitives of the first API (old), which allows the transparent recovery of applications.
  • This module is based on the resources of the second (new) API. These can be supplied by a standard commercial module.
  • the mechanism of (fictitious) addresses for local use simulates an access procedure according to the first protocol from the point of view of the application, so that it does not need to be modified when the system is connected to the network operating according to the second protocol.
  • the messages exchanged by the system on the network do not keep any trace of the first protocol, and therefore are not affected by any of the constraints specific to this first protocol.
  • the fact of freeing the messages exchanged on the network from the limitations specific to the first protocol makes it possible to benefit from the application of communication management functions foreign to the first protocol, in particular for managing the quality of service in the case, for example, the transition from an IP protocol to an ATM protocol.
  • connection establishment procedure executed according to the second protocol in the processing of a request connection from or to the application, takes into account values defined for at least some of said management parameters.
  • the values of the management parameters can be chosen according to the application executed. For example, if the application performs file transfers, we can specify a high peak bit rate and low delay constraints, while if the application provides real-time communications (telephony, videophi ...), rather look for very short transmission delays. This kind of flexibility is possible in ATM networks, and is an important limitation of IP networks.
  • the choice of these values of the management parameters can result from a query of the user of the application, and / or from an association table stored in the system, and / or from a server provided for this purpose. in the network, and / or an adaptive mechanism based on the analysis of real data flows. This choice can be controlled by a specific program.
  • Another aspect of the present invention relates to a module for controlling the exchange of messages between a application executed in a computer system connected to a communication network, and another unit accessible by the network, the application being designed to exchange messages towards a first programming software interface adapted to a first network communication protocol, the network system operating according to a second network communication protocol for which the system is equipped with a second programming software interface, and the other unit being designated by a unit name and accessible by means of a defined network address according to a format of the second protocol.
  • This control module is to be installed in the system.
  • It includes means for assigning fictitious addresses, for arbitrarily associating with the network address of the unit a local use address defined according to a format of the first protocol, and for memorizing this association, and means for translation, designed to communicate with the application via the first programming interface and with the network via the second programming interface, and arranged on the one hand to transform each message received from the network from the unit identified by its network address and intended for the application into a translated message including the associated local use address, which is supplied to the application via the first programming interface, and on the other hand to transform each message received from the application to the unit identified by the address for local use in a message translated according to the second protocol, which is sent over the network to the unit identified by its network address.
  • This module according to the invention will typically be a software module.
  • a third aspect of the invention relates to a computer program which, when loaded and executed in a computer system connected to a communication network, forms a message exchange control module as defined above. above to control message exchanges between an application running in said computer system and another unit accessible via the network, as well as to a computer-readable medium, on which such a program is recorded.
  • FIG. 1 and 2 previously discussed, are schematic illustrations of computer networks; - Figures 3 to 5 are diagrams showing a control module according to the invention and respectively illustrating name resolution procedures, local connection request and remote connection request; and - Figures 6 and 7 are diagrams similar to that of Figure 4 and illustrating two variants of the local connection request procedure.
  • the computer system 1 shown diagrammatically in FIGS. 3 to 7 is a terminal equipped with two programming software interfaces (API) 10 and 11.
  • the terminal 1 hosts applications 12 designed to communicate with other applications via the API 10.
  • API 10 is adapted to a first network communication protocol, hereinafter called "old" protocol.
  • the terminal 1 is connected to a communication network R which operates according to a second protocol, hereinafter called the "new" protocol.
  • the terminal is equipped with software and hardware elements 14 providing a protocol layer for data exchanges with the network R according to this new protocol.
  • the API 11 provides the interface of the terminal 1 with these elements 14.
  • the present invention proposes to install, between APIs 10 and 11, a module 15 for controlling message exchanges.
  • This module 15 includes a primitive translator 16, an association table 17 and a module 18 for quality of service management (QoS).
  • the association table 17 stores at least triples ⁇ name, address for the new API 11, address for the old API 10>, each triplet representing a unit (terminal and / or application hosted by this terminal) accessible by the intermediary of the network R.
  • the address for the old API 10 is a fictitious address, generated locally by the terminal 1 so that the application 12 can continue to be executed by dialoguing with the existing unit via the API 10.
  • the primitive translator 16 receives messages conforming to the old API 10 and translates them to retransmit them to the new API 11, and conversely it receives messages from the new API 11 and translates them to retransmit them to the 'old API 10.
  • the primitive translator 16 is associated with a table (not shown) making it possible to convert the messages relating to one of the APIs to messages relating to the other API and vice versa. If a message received from the API 10 contains the fictitious address of an outdoor unit, the primitive translator 16 queries the association table 17 in order to obtain the effective network address of the unit and of the include in the translated message retransmitted to the new API 11.
  • the primitive translator 16 interrogates the association table 17 in order to recover the corresponding fictitious address and to include it in the translated message retransmitted towards the old API 10.
  • the application 12 handles an address in accordance with the appropriate protocol, even if this address does not allow the effective routing of information in the network.
  • the module 18 is then used to provide the translator with primitives 16 the quality of service parameters that, by assumption, the old API 10 is unable to provide.
  • the module 18 thus makes it possible to manage the conditions of transport in the network R of the different data flows from or to the applications 12 executed in the system 1.
  • FIG. 3 illustrates a procedure for resolving names executed on the initiative of an application 12 of the terminal 1.
  • the application 12 begins by issuing to the API 10 a name resolution request 21 including the name N of the remote unit sought.
  • the primitive translator 16 receives this request according to the first protocol, the primitive translator 16 transforms it into a name resolution request 22 conforming to the second protocol and including the name N.
  • This request 22 is supplied to the protocol layer 14 through the new API 11
  • the terminal 1 interrogates a naming server 6 connected to the network at a determined address.
  • the naming server 6, which contains the associations between the names of the units connected to the network R and their addresses in this network, responds to the query by returning the address A corresponding to the unit name N included in the requests 21, 22.
  • This address A is supplied to the primitive translator 16 through the new API 11 in a message 25.
  • the primitive translator 16 generates an available local use address A ', defined according to the format of the old protocol.
  • the primitive translator 16 addresses to the association table 17 a message 26 including the t ⁇ plet (N, A T , A) which is then stored in the table 17.
  • the fictitious address A ' is returned to the application in a response message 27 through the old API 10.
  • the application 12 can access the unit N using the fictitious address A ′, the primitive translator 16 then retrieving the real address A using the association table 17.
  • the application 12 may in particular require a connection to the unit 2 whose name is N and the network address A, as illustrated in FIG. 4.
  • the reference 31 designates the connection request sent by the application 12 to the old API 10.
  • This request 31 includes the local use address A 'which was supplied to the application 12 in the message 27 of FIG. 3.
  • the primitive translator 16 interrogates the association table 17 to retrieve the network address A with which the fictitious address A 'is associated (exchange 32).
  • the quality of service management module 18 can be queried in order to obtain the quality of service parameters relevant to the application considered (exchange
  • the terminal 1 can then execute, according to the new protocol, a procedure 34-37 for establishing a connection with the other unit 2 whose network address is A.
  • the primitive translator 16 first supplies the layer with protocol 14, through the API 11 a connection request 34 including the network address A of the remote unit 2 and the quality of service parameters.
  • the references 35 and 36 in FIG. 4 designate the conventional messages of the second protocol exchanged to establish the connection.
  • a message 37 is returned to the primitive translator 16, which translates it into a connection validation message 38 delivered through the old API 10.
  • the application 12 can then dialogue with the unit 2, the primitive translator 16 mutually substituting the message exchange primitives between the API 10 and the API 11.
  • FIG. 5 illustrates the case where the connection request with the application 12 comes from the unit di uncle 3.
  • the translator of primitives 16 converts this into a primitive of the API 11 (message 40 '), possibly with using the service quality management module 13 (message 40ter).
  • the reference 42 designates the request transmitted to the terminal 1 by the network R in response to that 41 sent by the remote unit 3.
  • This request 42 notably includes the network address A of the unit 3.
  • the request is supplied to the primitive translator 16 through the new API 11, in a message 43.
  • the primitive translator 16 On receipt of this message 43, the primitive translator 16 generates an address for local use available A 'and commands the storage in table 17 (message 44) of the association between the addresses A and A' as well as the name N of the remote unit 3 if this name is provided in the request.
  • the primitive translator 16 retransmits to the application 12, through the API 10, a connection indication 45 translated according to the first protocol and including the fictitious address A '.
  • the protocol layer 14 manages the acceptance of the connection in the network via the message 49, translated to the remote terminal 3 into a message 50.
  • the protocol layer 14 will send a connection refusal message 49' to the network R, which will be translated into a message 50 'to the remote terminal 3.
  • the translator 16 substitutes the primitives for exchanging messages between APIs 10 and 11.
  • the module 18 for managing the quality of service stores a table matching applications with sets of values of management parameters, in this case quality of service parameters.
  • the primitive translator 16 identifies the application concerned, and the module 18 returns the corresponding values of the quality of service parameters.
  • the values of the parameters contained in this table can be predefined, from a library of characteristics of applications existing on the market. It is also possible to provide for defining or adjusting these values using a quality of service management application 13 provided in the terminal 1 and interacting with the module 18 via an appropriate interface 19.
  • FIG. 6 illustrates a variant of FIG. 4 in which the values of the management parameters are obtained by interrogating a user of the application 12.
  • the application 13 for managing the quality of service is then provided with a human interface. machine for interrogating the user.
  • the module 18 sends a message 33b to the application 13 via the interface 19 in order to interrogate the user, possibly by proposing default values contained in a table of the module 18.
  • the application 13 supplies these parameters in a message 33c to the module 18 which retransmits them to the module 16 in a message 33d.
  • FIG. 7 illustrates another variant in which the values of the management parameters are obtained by interrogating a server 7 connected to the network R through the new API 11.
  • the module 18 delivers a message 33f to the API 11, including the network address of the server 7 as well as an identification of the application concerned 12.
  • a data exchange 33g, 33h then intervenes with the server 7 via the network R, and the parameter values returned by the server 7 are supplied to the module 18 by a message 33 ⁇ through the API 11.
  • These values are then retransmitted (possibly after modification or validation by the user questioned by means of the application 13) to the translator of primitives 16 in a message 33.
  • the server 7 connected to the network can include, for a whole library of commercial applications, default values of the quality of service parameters. These default values can then be easily modified as the network capacities evolve and / or new versions of the applications are released.
  • the first protocol supported by the API 10 can be an IP protocol
  • the second protocol supported by the API 11 can be an ATM protocol
  • API 10 is then the API Winsock 1 based on the IP protocol
  • API 11 is the Winsock 2 API with ATM extensions. All the primitives exchanged between the network and the applications pass through the control module 15.
  • the module must have the standard name of the sockets for Windows, namely currently "Winsock.dll”, “ Wsock32.dll "or” ws2_32.dll ". It is thus possible to provide the standard Winsock interface using the module proposed according to the invention.
  • LSP Layerered Service Provider
  • the invention is applicable to other protocols. It is also applicable when changing the version of the same protocol, so that applications designed for the first version can be identical to work with the second version, a separate application such as 13 allowing to integrate the protocol enrichments possibly provided by the new version.
  • the invention is particularly applicable to migration between the IPV4 and IPV6 versions of the Internet Protocol (IP).
  • IP Internet Protocol

Abstract

An application designed (12) to communicate to a first application programming interface (API) (10) adapted to a first network protocol, is executed in a system (1) equipped with a second API (11) adapted to a network (R) operating according to a second protocol. Prior to communicating with another unit (2) accessible through the network by means of an address defined according to the second protocol, the system associates to the network address a fictitious address defined according to the first protocol. The messages exchanged by the application to the first API are translated into a control module (15) of the system, which further ensures the required address substitutions so that the application may, without being modified, communicate by means of a network based on the second protocol. The control module (15) enables to specify the quality of service parameters which would be borne by the second protocol but not by the first.

Description

PROCEDE POUR EXECUTER UNE APPLICATION DANS UN SYSTEME METHOD FOR EXECUTING AN APPLICATION IN A SYSTEM
INFORMATIQUE RACCORDÉ A UN RÉSEAU DE COMMUNICATION,IT CONNECTED TO A COMMUNICATION NETWORK,
ET MODULE DE CONTRÔLE UTILISABLE DANS UN TEL PROCÉDÉAND CONTROL MODULE FOR USE IN SUCH A METHOD
La présente invention concerne le domaine des réseaux informatiques .The present invention relates to the field of computer networks.
Un réseau informatique R (figure 1) fait intervenir deux types généraux d'équipements, à savoir les "terminaux" et les "éléments de réseau". Les terminaux 1,2,3 (cette notion inclut ici les serveurs) sont des machines (ordinateurs) sur lesquelles sont exécutées des applications ou programmes informatiques susceptibles de requérir des communications avec d'autres terminaux. La mise en relation de ces terminaux entre eux est assurée par les éléments de réseau 4,5 (liens de transmission et points d'aiguillage) . Le dialogue entre terminaux et éléments de réseau est assuré selon des procédures prédéfinies PROT appelées protocoles de communication.A computer network R (FIG. 1) involves two general types of equipment, namely "terminals" and "network elements". The 1,2,3 terminals (this concept includes the servers here) are machines (computers) on which computer applications or programs are executed which may require communications with other terminals. The connection of these terminals to each other is ensured by the network elements 4.5 (transmission links and switch points). The dialogue between terminals and network elements is ensured according to predefined PROT procedures called communication protocols.
Les applications informatiques conçues pour fonctionner en réseau utilisent des interfaces logicielles de programmation ("Application Programming Interface", ou API) . Ces interfaces de communication en réseau font partie des ressources offertes par le système d'exploitation (SE) de chaque terminal. Elles permettent d' accéder aux protocoles implantés en utilisant un ensemble de "primitives", qui appellent des fonctions élémentaires permettant d' ouvrir une connexion vers une adresse distante, d'envoyer et de recevoir des données, etc. Ces primitives sont ensuite traduites en messages élémentaires du protocole en question (voir illustration en figure 2) . Dans les terminaux, le fonctionnement selon le protocole de communication est assuré par d'autres ressources logicielles du système d'exploitation et par des cartes de communication appropriées.Computer applications designed to operate on a network use software programming interfaces ("Application Programming Interface", or API). These network communication interfaces are part of the resources offered by the operating system (OS) of each terminal. They allow access to the implanted protocols using a set of "primitives", which call for basic functions allowing to open a connection to a remote address, to send and receive data, etc. These primitives are then translated into elementary messages of the protocol in question (see illustration in Figure 2). In the terminals, the operation according to the communication protocol is ensured by other software resources of the operating system and by appropriate communication cards.
Une distinction supplémentaire permet d'identifier à la fois le terminal distant (grâce à son adresse de réseau) , et de sélectionner un service particulier au sein de ce terminal grâce à couple d'un identifiants supplémentaire appelé (protocole, numéro de port) . La combinaison (adresse, protocole, numéro de port) permet donc de désigner de façon univoque une application particulière dans un terminal particulier.An additional distinction makes it possible to identify both the remote terminal (thanks to its network address), and to select a particular service within of this terminal thanks to a couple of additional identifiers called (protocol, port number). The combination (address, protocol, port number) therefore makes it possible to uniquely designate a particular application in a particular terminal.
L'interface prédominante à ce jour est l'API dite "sockets", disponible à la fois dans une variété d'environnements de système: Unix, Windows, etc. L'immense majorité des applications réseau disponibles aujourd'hui s'appuient ainsi sur cette interface, dans son mode permettant d'utiliser des réseaux fondés sur le protocole de couche réseau IP (Internet Protocol) .The predominant interface to date is the so-called "sockets" API, available at the same time in a variety of system environments: Unix, Windows, etc. The vast majority of network applications available today thus rely on this interface, in its mode allowing the use of networks based on the network layer protocol IP (Internet Protocol).
Une autre notion importante se rapporte aux deux niveaux logiques utilisables pour identifier un terminal (ou une application) raccordé à un réseau informatique.Another important notion relates to the two logical levels that can be used to identify a terminal (or an application) connected to a computer network.
Le premier niveau est celui de l'adressage de la couche réseau proprement dite. Il est en général structuré (c'est-à-dire que les adresses sont hiérarchisées afin de faciliter l'acheminement et l'administration des adresses) , que la couche réseau fonctionne en mode connecté (dans ce cas, l'adresse n'est fournie qu'au moment de l'établissement d'une connexion) ou en mode sans connexion (l'adresse est alors portée par chaque paquet) .The first level is that of addressing the actual network layer. It is generally structured (that is to say that the addresses are hierarchical in order to facilitate the routing and the administration of the addresses), that the network layer functions in connected mode (in this case, the address n ' is provided only when establishing a connection) or in connectionless mode (the address is then carried by each packet).
Le second niveau est celui du nommage, qui permet d'identi er les terminaux par un nom logique, qui se présente en général sous la forme d'une chaîne de caractères aisément mémoπsable et compréhensible par un humain. De plus, le nom peut être choisi indépendamment de toutes contraintes de longueur ou de localisation géographique. Pour ces raisons, ce sont les noms qu sont le plus souvent utilisés comme identification.The second level is that of naming, which makes it possible to identify the terminals by a logical name, which is generally in the form of a string of characters easily memorable and understandable by a human. In addition, the name can be chosen independently of any constraints of length or geographical location. For these reasons, these are the names that are most often used for identification.
Un service de traduction permet de faire correspondre une adresse, seule notion compréhensible par le réseau à un nom. Ce mécanisme utilise un annuaire qui regroupe les associations <nom logique, adresse de réseau> et qui offre des services d' interrogation permettant la traduction entre noms et adresses. Il est accessible à travers un ensemble de primitives de nommage de l'API réseau .A translation service makes it possible to match an address, the only concept comprehensible by the network to a name. This mechanism uses a directory which groups the associations <logical name, network address> and which offers interrogation services allowing translation between names and addresses. It is accessible at through a set of network API naming primitives.
Ainsi , une application comporte en général la séquence suivante d'actions à chaque fois qu'elle désire communiquer à travers le réseau :Thus, an application generally comprises the following sequence of actions each time it wishes to communicate across the network:
1. faire appel au service de traduction à travers les fonctions de résolution de nom de l'API. Elles renvoient une adresse correspondant au nom indiqué.1. use the translation service through the name resolution functions of the API. They return an address corresponding to the name indicated.
2. entrer en communication avec le terminal distant à travers les primitives de communication de l'API réseau, auxquelles on fournit l'adresse, le protocole et le numéro de port identifiant le service visé.2. enter into communication with the remote terminal through the communication primitives of the network API, to which the address, protocol and port number identifying the targeted service are provided.
La prédominance de l'interface socket-IP, mentionnée ci-dessus, pose des difficultés pour l'introduction de nouvelles technologies de réseau, qui disposent de leur propre interface de programmation (API) . En effet, il est hautement souhaitable pour les utilisateurs de pouvoir réutiliser dans le nouvel environnement le parc déjà acquis et maîtrisé d'applications en réseau. Un premier problème consiste donc à reprendre sans changement l'ensemble des applications exploitant une API commune (par exemple, les sockets IP) dans un nouvel environnement de réseau .The predominance of the socket-IP interface, mentioned above, poses difficulties for the introduction of new network technologies, which have their own programming interface (API). Indeed, it is highly desirable for users to be able to reuse in the new environment the park already acquired and mastered of networked applications. A first problem therefore consists in resuming without change all the applications exploiting a common API (for example, IP sockets) in a new network environment.
Un second problème se rapporte à l'introduction de la notion de qualité de service, rendue possible par exemple grâce aux réseaux fondés sur la technologie ATMA second problem relates to the introduction of the concept of quality of service, made possible for example thanks to networks based on ATM technology.
(Asynchronous Transfer Mode) . Il devient possible de spécifier, flux de données par flux de données, ses besoins en termes de débit, de retard de transmission ou encore de taux de pertes du réseau. Malheureusement, comme ces notions n'existent pas avec les sockets IP, les applications actuelles ne peuvent souvent pas en profiter. Le second problème est donc de fournir au sein du terminal des moyens permettant de spécifier des paramètres de qualité de service ainsi que les flux auxquels ils s' appliquent.(Asynchronous Transfer Mode). It becomes possible to specify, data flow by data flow, its needs in terms of speed, transmission delay or network loss rate. Unfortunately, since these notions do not exist with IP sockets, current applications often cannot take advantage of them. The second problem is therefore to provide means within the terminal making it possible to specify quality of service parameters as well as the flows to which they apply.
On ne connaît pas de solution publiée suggérant de faire migrer les applications existantes en respectant l'API actuelle, tout en préservant la couche de nommage et en modifiant les couches de protocoles réseau ou transport. En ce qui concerne le premier problème cité, les approches proposées visent uniquement à empiler la couche réseau IP au dessus de la nouvelle technologie de réseau. On parle alors d'émulation de protocole. Au-delà des difficultés techniques qu'elles imposent, leurs faiblesses sont d'une part qu'elles compliquent notablement la gestion et la conception des réseaux en dupliquant les fonctionnalités, et d'autre part qu'elles reproduisent les limitations, en particulier en matière d'absence de gestion de la qualité de service, de la couche IP. Pour ce qui est du second problème cité, la seule possibilité actuelle est de réécrire les applications en tenant compte de l'API de la nouvelle couche réseau, ce qui permettra de tirer parti de la qualité de service, mais nécessite une modification du code de l'application et donc empêche la reprise à l'identique de l'existant.There is no known published solution suggesting migrate existing applications while respecting the current API, while preserving the naming layer and modifying the network or transport protocol layers. With regard to the first problem cited, the proposed approaches only aim to stack the IP network layer on top of the new network technology. We then speak of protocol emulation. Beyond the technical difficulties which they impose, their weaknesses are on the one hand that they notably complicate the management and the design of the networks by duplicating the functionalities, and on the other hand that they reproduce the limitations, in particular in lack of quality of service management, of the IP layer. With regard to the second problem cited, the only current possibility is to rewrite the applications taking into account the API of the new network layer, which will make it possible to take advantage of the quality of service, but requires a modification of the code of the application and therefore prevents the identical recovery of the existing.
Une autre approche suggérée consiste à réaliser des traitements différenciés de flux de données à l'intérieur du réseau, sans que le terminal puisse participer à la négociation des conditions (identification des flux et des paramètres de qualité de service) de ce traitement.Another suggested approach consists in carrying out differential processing of data flows within the network, without the terminal being able to participate in the negotiation of the conditions (identification of flows and quality of service parameters) of this processing.
Un but principal de la présente invention est de proposer une solution simple au premier problème cité ci- dessus .A main aim of the present invention is to propose a simple solution to the first problem mentioned above.
L' invention propose ainsi un procédé pour exécuter une application dans un système informatique raccordé à un réseau de communication, l'application étant conçue pour échanger des messages vers une première interface logicielle de programmation adaptée à un premier protocole de communication en réseau, et le réseau de communication fonctionnant selon un second protocole de communication en réseau pour lequel le système est équipé d'une seconde interface logicielle de programmation. Avant un échange de messages entre l'application et une autre unité désignée par un nom d'unité et accessible par le réseau au moyen d'une adresse de réseau définie selon un format du second protocole, le système associe arbitrairement à l'adresse de réseau de l'unité une adresse à usage local définie selon un format du premier protocole. Lors dudit échange, chaque message reçu par le système selon le second protocole depuis l'unité identifiée par son adresse de réseau et destiné à l'application, est transformé en un message traduit incluant l'adresse à usage local associée, qui est fourni à l'application via la première interface de programmation, et chaque message présenté par l'application sur la première interface de programmation à destination de l'unité repérée par l'adresse à usage local est transformé en un message traduit selon le second protocole, qui est émis sur le réseau vers l'unité identifiée par son adresse de réseau.The invention thus provides a method for executing an application in a computer system connected to a communication network, the application being designed to exchange messages towards a first programming software interface adapted to a first network communication protocol, and the communication network operating according to a second network communication protocol for which the system is equipped with a second programming software interface. Before an exchange of messages between the application and another unit designated by a unit name and accessible by the network by means of a network address defined according to a format of the second protocol, the system arbitrarily associates with the network address of the unit an address for local use defined according to a format of the first protocol. During said exchange, each message received by the system according to the second protocol from the unit identified by its network address and intended for the application, is transformed into a translated message including the associated local use address, which is supplied to the application via the first programming interface, and each message presented by the application on the first programming interface to the unit identified by the address for local use is transformed into a message translated according to the second protocol, which is sent over the network to the unit identified by its network address.
Par "système informatique", on entend, dans la définition ci-dessus du procédé, un terminal, client ou serveur, raccordé au réseau. Ce système informatique peut être un ordinateur de puissance plus ou moins grande, ou encore un groupement d' ordinateurs reliés entre eux par un réseau local distinct comportant une ou plusieurs passerelles pour le raccordement au réseau de communication.By "computer system" is meant, in the above definition of the process, a terminal, client or server, connected to the network. This computer system can be a computer of greater or lesser power, or even a group of computers linked together by a separate local network comprising one or more gateways for connection to the communication network.
Pour la mise en œuvre du procédé, le système informatique est équipé d'un module logiciel qui fournit l'ensemble des primitives de la première API (ancienne), ce qui permet la reprise transparente des applications. Ce module s'appuie sur les ressources de la seconde (nouvelle) API. Ces dernières peuvent être fournies par un module standard du commerce.For the implementation of the process, the computer system is equipped with a software module which provides all the primitives of the first API (old), which allows the transparent recovery of applications. This module is based on the resources of the second (new) API. These can be supplied by a standard commercial module.
Le mécanisme des adresses (fictives) à usage local simule une procédure d' accès selon le premier protocole du point de vue de l'application, de sorte que celle-ci n'a pas besoin d' être modifiée lorsque le système est raccordé au réseau fonctionnant selon le second protocole. Les messages échangés par le système sur le réseau ne conservent aucune trace du premier protocole, et donc ne sont affectés par aucune des contraintes propres à ce premier protocole. Le fait d'affranchir les messages échangés sur le réseau des limitations propres au premier protocole permet de faire bénéficier l'application de fonctions de gestion des communications étrangères au premier protocole, notamment de gestion de la qualité de service dans le cas, par exemple, du passage d'un protocole IP à un protocole ATM. Ainsi, dans un mode de réalisation préféré de l'invention où le second protocole intègre des paramètres de gestion des communications non prévus dans le premier protocole, la procédure d'établissement de connexion, exécutée selon le second protocole dans le traitement d'une requête de connexion en provenance ou à destination de l'application, tient compte de valeurs définies pour certains au moins desdits paramètres de gestion.The mechanism of (fictitious) addresses for local use simulates an access procedure according to the first protocol from the point of view of the application, so that it does not need to be modified when the system is connected to the network operating according to the second protocol. The messages exchanged by the system on the network do not keep any trace of the first protocol, and therefore are not affected by any of the constraints specific to this first protocol. The fact of freeing the messages exchanged on the network from the limitations specific to the first protocol makes it possible to benefit from the application of communication management functions foreign to the first protocol, in particular for managing the quality of service in the case, for example, the transition from an IP protocol to an ATM protocol. Thus, in a preferred embodiment of the invention where the second protocol integrates communication management parameters not provided for in the first protocol, the connection establishment procedure, executed according to the second protocol in the processing of a request connection from or to the application, takes into account values defined for at least some of said management parameters.
Les valeurs des paramètres de gestion peuvent être choisies en fonction de l'application exécutée. Par exemple, si l'application réalise des transferts de fichiers, on pourra spécifier un débit-crête élevé et de faibles contraintes de retard, tandis que si l'application assure des communications en temps réel (téléphonie, visiophome ... ) , on recherchera plutôt des retards de transmission très courts. Ce genre de flexibilité est possible dans les réseaux ATM, et constitue une limitation importante des réseaux IP.The values of the management parameters can be chosen according to the application executed. For example, if the application performs file transfers, we can specify a high peak bit rate and low delay constraints, while if the application provides real-time communications (telephony, videophi ...), rather look for very short transmission delays. This kind of flexibility is possible in ATM networks, and is an important limitation of IP networks.
Le choix de ces valeurs des paramètres de gestion peut résulter d'une interrogation de l'utilisateur de l'application, et/ou d'une table d'association mémorisée dans le système, et/ou d'un serveur prévu à cet effet dans le réseau, et/ou d'un mécanisme adaptatif basé sur l'analyse des flux de données réels. Ce choix peut être piloté par un programme spécifique.The choice of these values of the management parameters can result from a query of the user of the application, and / or from an association table stored in the system, and / or from a server provided for this purpose. in the network, and / or an adaptive mechanism based on the analysis of real data flows. This choice can be controlled by a specific program.
Un autre aspect de la présente invention se rapporte à un module de contrôle d' échanges de messages entre une application exécutée dans un système informatique raccordé à un réseau de communication, et une autre unité accessible par le réseau, l'application étant conçue pour échanger des messages vers une première interface logicielle de programmation adaptée à un premier protocole de communication en réseau, le réseau de communication fonctionnant selon un second protocole de communication en réseau pour lequel le système est équipé d'une seconde interface logicielle de programmation, et l'autre unité étant désignée par un nom d'unité et accessible au moyen d'une adresse de réseau définie selon un format du second protocole. Ce module de contrôle est à installer dans le système. Il comprend des moyens d'attribution d'adresses fictives, pour associer arbitrairement à l'adresse de réseau de l'unité une adresse à usage local définie selon un format du premier protocole, et pour mémoriser cette association, et des moyens de traduction, prévus pour communiquer avec l'application via la première interface de programmation et avec le réseau via la seconde interface de programmation, et agencés d'une part pour transformer chaque message reçu du réseau depuis l'unité identifiée par son adresse de réseau et destiné à l'application en un message traduit incluant l'adresse à usage local associée, qui est fourni à l'application via la première interface de programmation, et d'autre part pour transformer chaque message reçu de l'application à destination de l'unité repérée par l'adresse à usage local en un message traduit selon le second protocole, qui est émis sur le réseau vers l'unité identifiée par son adresse de réseau. Ce module selon l'invention sera typiquement un module logiciel .Another aspect of the present invention relates to a module for controlling the exchange of messages between a application executed in a computer system connected to a communication network, and another unit accessible by the network, the application being designed to exchange messages towards a first programming software interface adapted to a first network communication protocol, the network system operating according to a second network communication protocol for which the system is equipped with a second programming software interface, and the other unit being designated by a unit name and accessible by means of a defined network address according to a format of the second protocol. This control module is to be installed in the system. It includes means for assigning fictitious addresses, for arbitrarily associating with the network address of the unit a local use address defined according to a format of the first protocol, and for memorizing this association, and means for translation, designed to communicate with the application via the first programming interface and with the network via the second programming interface, and arranged on the one hand to transform each message received from the network from the unit identified by its network address and intended for the application into a translated message including the associated local use address, which is supplied to the application via the first programming interface, and on the other hand to transform each message received from the application to the unit identified by the address for local use in a message translated according to the second protocol, which is sent over the network to the unit identified by its network address. This module according to the invention will typically be a software module.
Un troisième aspect de l'invention se rapporte à un programme d'ordinateur qui, lorsqu'il est chargé et exécuté dans un système informatique raccordé à un réseau de communication, forme un module de contrôle d'échanges de messages tel que défini ci-dessus pour contrôler des échanges de messages entre une application exécutée dans ledit système informatique et une autre unité accessible par le réseau, ainsi qu'à un support lisible par ordinateur, sur lequel est enregistré un tel programme.A third aspect of the invention relates to a computer program which, when loaded and executed in a computer system connected to a communication network, forms a message exchange control module as defined above. above to control message exchanges between an application running in said computer system and another unit accessible via the network, as well as to a computer-readable medium, on which such a program is recorded.
D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels :Other features and advantages of the present invention will appear in the following description of nonlimiting exemplary embodiments, with reference to the appended drawings, in which:
- les figures 1 et 2, précédemment commentées, sont des illustrations schématiques de réseaux informatiques ; - les figures 3 à 5 sont des schémas montrant un module de contrôle selon l'invention et illustrant respectivement des procédures de résolution de nom, de requête locale de connexion et de requête distante de connexion ; et - les figures 6 et 7 sont des schémas semblables à celui de la figure 4 et illustrant deux variantes de procédure de requête locale de connexion.- Figures 1 and 2, previously discussed, are schematic illustrations of computer networks; - Figures 3 to 5 are diagrams showing a control module according to the invention and respectively illustrating name resolution procedures, local connection request and remote connection request; and - Figures 6 and 7 are diagrams similar to that of Figure 4 and illustrating two variants of the local connection request procedure.
Le système informatique 1 représenté schématiquement sur les figures 3 à 7 est un terminal équipé de deux interfaces logicielles de programmation (API) 10 et 11. Le terminal 1 héberge des applications 12 conçues pour dialoguer avec d'autres applications par l'intermédiaire de l'API 10. L'API 10 est adaptée à un premier protocole de communication en réseau, ci-après appelé protocole "ancien".The computer system 1 shown diagrammatically in FIGS. 3 to 7 is a terminal equipped with two programming software interfaces (API) 10 and 11. The terminal 1 hosts applications 12 designed to communicate with other applications via the API 10. API 10 is adapted to a first network communication protocol, hereinafter called "old" protocol.
Physiquement, le terminal 1 est relié à un réseau de communication R qui fonctionne selon un second protocole, ci-après appelé protocole "nouveau". Le terminal est équipé d'éléments logiciels et matériels 14 fournissant une couche de protocole pour les échanges de données avec le réseau R selon ce protocole nouveau. L'API 11 procure l'interface du terminal 1 avec ces éléments 14.Physically, the terminal 1 is connected to a communication network R which operates according to a second protocol, hereinafter called the "new" protocol. The terminal is equipped with software and hardware elements 14 providing a protocol layer for data exchanges with the network R according to this new protocol. The API 11 provides the interface of the terminal 1 with these elements 14.
La présente invention propose d'installer, entre les API 10 et 11, un module 15 de contrôle d'échanges de messages . Ce module 15 comporte un traducteur de primitives 16, une table d'association 17 et un module 18 de gestion de la qualité de service (QoS) . La table d'association 17 mémorise au moins des triplets <nom, adresse pour la nouvelle API 11, adresse pour l'ancienne API 10>, chaque triplet représentant une unité (terminal et/ou application hébergée par ce terminal) accessible par l'intermédiaire du réseau R. L'adresse pour l'ancienne API 10 est une adresse fictive, générée localement par le terminal 1 afin que l'application 12 puisse continuer à être exécutée en dialoguant avec l'unité existante par l'intermédiaire de l'API 10.The present invention proposes to install, between APIs 10 and 11, a module 15 for controlling message exchanges. This module 15 includes a primitive translator 16, an association table 17 and a module 18 for quality of service management (QoS). The association table 17 stores at least triples <name, address for the new API 11, address for the old API 10>, each triplet representing a unit (terminal and / or application hosted by this terminal) accessible by the intermediary of the network R. The address for the old API 10 is a fictitious address, generated locally by the terminal 1 so that the application 12 can continue to be executed by dialoguing with the existing unit via the API 10.
Dans ces dialogues, le traducteur de primitives 16 reçoit des messages conformes à l'ancienne API 10 et les traduit pour les retransmettre vers la nouvelle API 11, et inversement il reçoit des messages depuis la nouvelle API 11 et les traduit pour les retransmettre vers l'ancienne API 10. Le traducteur de primitives 16 est associé à une table non représentée permettant de convertir les messages relatifs à l'une des API en des messages relatifs à l'autre API et vice versa. Si un message reçu depuis l'API 10 contient l'adresse fictive d'une unité extérieure, le traducteur de primitives 16 interroge la table d'association 17 afin d'obtenir l'adresse de réseau effective de l'unité et de l'inclure dans le message traduit retransmis vers la nouvelle API 11. De même, si un message reçu depuis la nouvelle API 11 contient une adresse de réseau d'une unité extérieure, le traducteur de primitives 16 interroge la table d'association 17 afin de récupérer l'adresse fictive correspondante et de l'inclure dans le message traduit retransmis vers l'ancienne API 10. Ainsi, l'application 12 manipule une adresse conformément au protocole adéquat, même si cette adresse ne permet pas l'acheminement effectif des informations dans le réseau.In these dialogs, the primitive translator 16 receives messages conforming to the old API 10 and translates them to retransmit them to the new API 11, and conversely it receives messages from the new API 11 and translates them to retransmit them to the 'old API 10. The primitive translator 16 is associated with a table (not shown) making it possible to convert the messages relating to one of the APIs to messages relating to the other API and vice versa. If a message received from the API 10 contains the fictitious address of an outdoor unit, the primitive translator 16 queries the association table 17 in order to obtain the effective network address of the unit and of the include in the translated message retransmitted to the new API 11. Likewise, if a message received from the new API 11 contains a network address of an outdoor unit, the primitive translator 16 interrogates the association table 17 in order to recover the corresponding fictitious address and to include it in the translated message retransmitted towards the old API 10. Thus, the application 12 handles an address in accordance with the appropriate protocol, even if this address does not allow the effective routing of information in the network.
On suppose ici que le nouveau protocole supporté par l'API 11 intègre des paramètres de qualité de service qui ne sont pas prévus dans l'ancien protocole supporté par l'API 10.It is assumed here that the new protocol supported by the API 11 integrates quality of service parameters which are not provided for in the old protocol supported by the API 10.
Le module 18 sert alors à fournir au traducteur de primitives 16 les paramètres de qualité de service que, par hypothèse, l'ancienne API 10 est incapable de fournir. Le module 18 permet ainsi de gérer les conditions de transport dans le réseau R des différents flux de données en provenance ou à destination des applications 12 exécutées dans le système 1.The module 18 is then used to provide the translator with primitives 16 the quality of service parameters that, by assumption, the old API 10 is unable to provide. The module 18 thus makes it possible to manage the conditions of transport in the network R of the different data flows from or to the applications 12 executed in the system 1.
La figure 3 illustre une procédure de résolution de noms exécutés à l'initiative d'une application 12 du terminal 1. L'application 12 commence par délivrer vers l'API 10 une requête de résolution de nom 21 incluant le nom N de l'unité distante recherchée. Recevant cette requête selon le premier protocole, le traducteur de primitives 16 la transforme en une requête de résolution de nom 22 conforme au second protocole et incluant le nom N. Cette requête 22 est fournie à la couche de protocole 14 à travers la nouvelle API 11. En appliquant le second protocole (échanges de données désignés par les références 23 et 24 sur la figure 3) , le terminal 1 interroge un serveur de nommage 6 raccordé au réseau à une adresse déterminée. Le serveur de nommage 6, qui contient les associations entre les noms des unités raccordées au réseau R et leurs adresses dans ce réseau, répond à l'interrogation en renvoyant l'adresse A correspondant au nom d'unité N inclus dans les requêtes 21,22.FIG. 3 illustrates a procedure for resolving names executed on the initiative of an application 12 of the terminal 1. The application 12 begins by issuing to the API 10 a name resolution request 21 including the name N of the remote unit sought. Receiving this request according to the first protocol, the primitive translator 16 transforms it into a name resolution request 22 conforming to the second protocol and including the name N. This request 22 is supplied to the protocol layer 14 through the new API 11 By applying the second protocol (data exchanges designated by the references 23 and 24 in FIG. 3), the terminal 1 interrogates a naming server 6 connected to the network at a determined address. The naming server 6, which contains the associations between the names of the units connected to the network R and their addresses in this network, responds to the query by returning the address A corresponding to the unit name N included in the requests 21, 22.
Cette adresse A est fournie au traducteur de primitives 16 à travers la nouvelle API 11 dans un message 25. Le traducteur de primitives 16 génère une adresse à usage local disponible A' , définie selon le format de l'ancien protocole. Le traducteur de primitives 16 adresse à la table d'association 17 un message 26 incluant le tπplet (N,AT ,A) qui est alors mémorisé dans la table 17. D'autre part, l'adresse fictive A' est retournée à l'application dans un message de réponse 27 à travers l'ancienne API 10.This address A is supplied to the primitive translator 16 through the new API 11 in a message 25. The primitive translator 16 generates an available local use address A ', defined according to the format of the old protocol. The primitive translator 16 addresses to the association table 17 a message 26 including the tπplet (N, A T , A) which is then stored in the table 17. On the other hand, the fictitious address A 'is returned to the application in a response message 27 through the old API 10.
A l'issue de cette procédure illustrée par la figure 3, l'application 12 pourra accéder à l'unité N à l'aide de l'adresse fictive A', le traducteur de primitives 16 récupérant alors l'adresse réelle A à l'aide de la table d'association 17.At the end of this procedure illustrated in FIG. 3, the application 12 can access the unit N using the fictitious address A ′, the primitive translator 16 then retrieving the real address A using the association table 17.
L'application 12 peut notamment requérir une connexion vers l'unité 2 dont le nom est N et l'adresse de réseau A, de la manière illustrée par la figure 4.The application 12 may in particular require a connection to the unit 2 whose name is N and the network address A, as illustrated in FIG. 4.
Sur la figure 4 , la référence 31 désigne la requête de connexion émise par l'application 12 vers l'ancienne API 10. Cette requête 31 inclut l'adresse à usage local A' qui a été fournie à l'application 12 dans le message 27 de la figure 3. A réception de la requête 31 depuis l'API 10, le traducteur de primitives 16 interroge la table d'association 17 pour récupérer l'adresse de réseau A à laquelle est associée l'adresse fictive A' (échange 32). Le module 18 de gestion de la qualité de service peut être interrogé, afin d'obtenir les paramètres de qualité de service pertinents pour l'application considérée (échangeIn FIG. 4, the reference 31 designates the connection request sent by the application 12 to the old API 10. This request 31 includes the local use address A 'which was supplied to the application 12 in the message 27 of FIG. 3. On receipt of the request 31 from the API 10, the primitive translator 16 interrogates the association table 17 to retrieve the network address A with which the fictitious address A 'is associated (exchange 32). The quality of service management module 18 can be queried in order to obtain the quality of service parameters relevant to the application considered (exchange
33) de manière synchrone ou asynchrone avec la requête 31.33) synchronously or asynchronously with the request 31.
Le terminal 1 peut alors exécuter, selon le nouveau protocole, une procédure 34-37 d'établissement de connexion avec l'autre unité 2 dont l'adresse de réseau est A. Le traducteur de primitives 16 fournit d'abord à la couche de protocole 14, à travers l'API 11 une requête de connexion 34 incluant l'adresse de réseau A de l'unité distante 2 et les paramètres de qualité de service. Les références 35 et 36 de la figure 4 désignent les messages conventionnels du second protocole échangés pour établir la connexion. Une fois la connexion établie, un message 37 est renvoyé au traducteur de primitives 16, qui le traduit dans un message 38 de validation de la connexion délivré à travers l'ancienne API 10.The terminal 1 can then execute, according to the new protocol, a procedure 34-37 for establishing a connection with the other unit 2 whose network address is A. The primitive translator 16 first supplies the layer with protocol 14, through the API 11 a connection request 34 including the network address A of the remote unit 2 and the quality of service parameters. The references 35 and 36 in FIG. 4 designate the conventional messages of the second protocol exchanged to establish the connection. Once the connection has been established, a message 37 is returned to the primitive translator 16, which translates it into a connection validation message 38 delivered through the old API 10.
L'application 12 pourra ensuite dialoguer avec l'unité 2, le traducteur de primitives 16 substituant mutuellement les primitives d'échange de messages entre l'API 10 et l'API 11.The application 12 can then dialogue with the unit 2, the primitive translator 16 mutually substituting the message exchange primitives between the API 10 and the API 11.
La figure 5 illustre le cas où la requête de connexion avec l'application 12 est issue de l'unité di s tante 3 .FIG. 5 illustrates the case where the connection request with the application 12 comes from the unit di aunt 3.
Lorsque l'application 12 se déclare prête à accepter un connexion via une primitive de 1 'API 10 (message 40) , le traducteur de primitives 16 convertit celle-ci en une primitive de l'API 11 (message 40'), éventuellement avec l'aide du module 13 de gestion de la qualité de service (message 40ter) .When the application 12 declares itself ready to accept a connection via a primitive of the API 10 (message 40), the translator of primitives 16 converts this into a primitive of the API 11 (message 40 '), possibly with using the service quality management module 13 (message 40ter).
La référence 42 désigne la requête transmise au terminal 1 par le réseau R en réponse à celle 41 émise par l'unité distante 3. Cette requête 42 inclut notamment l'adresse de réseau A de l'unité 3. Si les paramètres du message 42 sont compatibles avec ceux du message 40', la requête est fournie au traducteur de primitives 16 à travers la nouvelle API 11, dans un message 43. A réception de ce message 43, le traducteur de primitives 16 génère une adresse à usage local disponible A' et commande la mémorisation dans la table 17 (message 44) de l'association entre les adresses A et A' ainsi que le nom N de l'unité distante 3 si ce nom est fourni dans la requête. Le traducteur de primitives 16 retransmet vers l'application 12, à travers l'API 10, une indication de connexion 45 traduite selon le premier protocole et incluant l'adresse fictive A'. La couche de protocole 14 gère l'acceptation de la connexion dans le réseau via le message 49, traduit vers le terminal distant 3 en un message 50.The reference 42 designates the request transmitted to the terminal 1 by the network R in response to that 41 sent by the remote unit 3. This request 42 notably includes the network address A of the unit 3. If the parameters of the message 42 are compatible with those of message 40 ′, the request is supplied to the primitive translator 16 through the new API 11, in a message 43. On receipt of this message 43, the primitive translator 16 generates an address for local use available A 'and commands the storage in table 17 (message 44) of the association between the addresses A and A' as well as the name N of the remote unit 3 if this name is provided in the request. The primitive translator 16 retransmits to the application 12, through the API 10, a connection indication 45 translated according to the first protocol and including the fictitious address A '. The protocol layer 14 manages the acceptance of the connection in the network via the message 49, translated to the remote terminal 3 into a message 50.
Si les paramètres du message 42 ne sont pas compatibles avec ceux du message 40', la couche de protocole 14 émettra un message de refus de connexion 49' vers le réseau R, qui sera traduit en un message 50' vers le terminal distant 3.If the parameters of the message 42 are not compatible with those of the message 40 ', the protocol layer 14 will send a connection refusal message 49' to the network R, which will be translated into a message 50 'to the remote terminal 3.
Le traducteur 16 substitue les primitives d'échange des messages entre les API 10 et 11.The translator 16 substitutes the primitives for exchanging messages between APIs 10 and 11.
Dans l'exemple illustré par la figure 4 ou 5, le module 18 de gestion de la qualité de service mémorise une table faisant correspondre des applications avec des jeux de valeurs des paramètres de gestion, en l'occurrence des paramètres de qualité de service. Lors d'une interrogation 33,40ter, le traducteur de primitives 16 identifie l'application concernée, et le module 18 retourne les valeurs correspondantes des paramètres de qualité de service.In the example illustrated by FIG. 4 or 5, the module 18 for managing the quality of service stores a table matching applications with sets of values of management parameters, in this case quality of service parameters. During a query 33, 40ter, the primitive translator 16 identifies the application concerned, and the module 18 returns the corresponding values of the quality of service parameters.
Les valeurs des paramètres contenus dans cette table peuvent être prédéfinis, à partir d'une bibliothèque de caractéristiques d'applications existantes sur le marché. On peut également prévoir de définir ou d'ajuster ces valeurs à l'aide d'une application de gestion de la qualité de service 13 prévue dans le terminal 1 et dialoguant avec le module 18 par l'intermédiaire d'une interface appropriée 19.The values of the parameters contained in this table can be predefined, from a library of characteristics of applications existing on the market. It is also possible to provide for defining or adjusting these values using a quality of service management application 13 provided in the terminal 1 and interacting with the module 18 via an appropriate interface 19.
La figure 6 illustre une variante de la figure 4 dans laquelle les valeurs des paramètres de gestion sont obtenus en interrogeant un utilisateur de l'application 12. L'application 13 de gestion de la qualité de service est alors pourvue d'une interface homme-machine permettant d'interroger l'utilisateur. Lorsque le traducteur de primitives 16 requiert les paramètres de qualité de service pour l'application 12 (message 33a), le module 18 adresse un message 33b à l'application 13 via l'interface 19 afin d'interroger l'utilisateur, éventuellement en lui proposant des valeurs par défaut contenues dans une table du module 18. Une fois que l'utilisateur a validé son choix de paramètres, l'application 13 fournit ces paramètres dans un message 33c au module 18 qui les retransmet au module 16 dans un message 33d.FIG. 6 illustrates a variant of FIG. 4 in which the values of the management parameters are obtained by interrogating a user of the application 12. The application 13 for managing the quality of service is then provided with a human interface. machine for interrogating the user. When the primitive translator 16 requests the quality of service parameters for the application 12 (message 33a), the module 18 sends a message 33b to the application 13 via the interface 19 in order to interrogate the user, possibly by proposing default values contained in a table of the module 18. Once the user has validated his choice of parameters, the application 13 supplies these parameters in a message 33c to the module 18 which retransmits them to the module 16 in a message 33d.
La figure 7 illustre une autre variante dans laquelle les valeurs des paramètres de gestion sont obtenus en interrogeant un serveur 7 raccordé au réseau R à travers la nouvelle API 11. Lorsque le traducteur de primitives 16 requiert des valeurs pour les paramètres de qualité de service dans un message 33e, le module 18 délivre un message 33f vers l'API 11, incluant l'adresse de réseau du serveur 7 ainsi qu'une identification de l'application concernée 12. Un échange de données 33g, 33h intervient alors avec le serveur 7 par l'intermédiaire du réseau R, et les valeurs de paramètres retournées par le serveur 7 sont fournies au module 18 par un message 33ι à travers l'API 11. Ces valeurs sont alors retransmises (éventuellement après modification ou validation par l'utilisateur interrogé au moyen de l'application 13) au traducteur de primitives 16 dans un message 33 . Le serveur 7 relié au réseau peut comprendre, pour toute une bibliothèque d'applications du commerce, des valeurs par défaut des paramètres de qualité de service. Ces valeurs par défaut peuvent alors être aisément modifiées au fur et à mesure de l'évolution des capacités du réseau et/ou des éditions de nouvelles versions des applications.FIG. 7 illustrates another variant in which the values of the management parameters are obtained by interrogating a server 7 connected to the network R through the new API 11. When the primitive translator 16 requires values for the quality of service parameters in a message 33e, the module 18 delivers a message 33f to the API 11, including the network address of the server 7 as well as an identification of the application concerned 12. A data exchange 33g, 33h then intervenes with the server 7 via the network R, and the parameter values returned by the server 7 are supplied to the module 18 by a message 33ι through the API 11. These values are then retransmitted (possibly after modification or validation by the user questioned by means of the application 13) to the translator of primitives 16 in a message 33. The server 7 connected to the network can include, for a whole library of commercial applications, default values of the quality of service parameters. These default values can then be easily modified as the network capacities evolve and / or new versions of the applications are released.
A titre d'exemple, le premier protocole supporté par l'API 10 peut être un protocole IP, tandis que le second protocole supporté par l'API 11 peut être un protocole ATM. Dans le cas d'applications conçues pour fonctionner sous le système d'exploitation Windows (marque de la société Microsoft) , l'API 10 est alors l'API Winsock 1 basée sur le protocole IP, tandis que l'API 11 est l'API Winsock 2 avec extensions ATM. Toutes les primitives échangées entre le réseau et les applications passent par le module de contrôle 15. Pour être appelé automatiquement par l'application 12, le module doit posséder le nom standard des sockets pour Windows, à savoir actuellement "Winsock.dll", "Wsock32.dll" ou "ws2_32.dll". On peut ainsi fournir l'interface Winsock standard à l'aide du module proposé selon l'invention.By way of example, the first protocol supported by the API 10 can be an IP protocol, while the second protocol supported by the API 11 can be an ATM protocol. In the case of applications designed to run under the Windows operating system (trademark of the company Microsoft), API 10 is then the API Winsock 1 based on the IP protocol, while API 11 is the Winsock 2 API with ATM extensions. All the primitives exchanged between the network and the applications pass through the control module 15. To be called automatically by the application 12, the module must have the standard name of the sockets for Windows, namely currently "Winsock.dll", " Wsock32.dll "or" ws2_32.dll ". It is thus possible to provide the standard Winsock interface using the module proposed according to the invention.
Bien entendu, une autre possibilité est de réaliser l'invention sous la forme d'un module LSP (« Layered Service Provider ») .Of course, another possibility is to carry out the invention in the form of an LSP (“Layered Service Provider”) module.
Bien entendu, l'invention est applicable à d'autres protocoles. Elle est également applicable lors d'un changement de version du même protocole, pour que des applications conçues pour la première version puissent être reprises à l'identique pour fonctionner avec la seconde version, une application séparée telle que 13 permettant d' intégrer les enrichissements de protocole éventuellement procurés par la nouvelle version. Ainsi, l'invention est notamment applicable à la migration entre les versions IPV4 et IPV6 du protocole Internet (IP) . Of course, the invention is applicable to other protocols. It is also applicable when changing the version of the same protocol, so that applications designed for the first version can be identical to work with the second version, a separate application such as 13 allowing to integrate the protocol enrichments possibly provided by the new version. Thus, the invention is particularly applicable to migration between the IPV4 and IPV6 versions of the Internet Protocol (IP).

Claims

R E V E N D I C A T I O N S
1. Procédé pour exécuter une application (12) dans un système informatique (1) raccordé à un réseau de communication (R) , l'application étant conçue pour échanger des messages vers une première interface logicielle de programmation (10) adaptée à un premier protocole de communication en réseau, ledit réseau de communication fonctionnant selon un second protocole de communication en réseau pour lequel le système est équipé d'une seconde interface logicielle de programmation (11), caractérisé en ce qu'avant un échange de messages entre l'application et une autre unité (2,3) désignée par un nom d'unité (N) et accessible par le réseau au moyen d'une adresse de réseau (A) définie selon un format du second protocole, le système associe arbitrairement à l'adresse de réseau de l'unité une adresse à usage local (A') définie selon un format du premier protocole, et en ce que, lors dudit échange, chaque message reçu par le système selon le second protocole depuis l'unité identifiée par son adresse de réseau et destiné à l'application, est transformé en un message traduit incluant l'adresse à usage local associée, qui est fourni à l'application via la première interface de programmation, et chaque message présenté par l'application sur la première interface de programmation à destination de l'unité repérée par l'adresse à usage local est transformé en un message traduit selon le second protocole, qui est émis sur le réseau vers l'unité identifiée par son adresse de réseau.1. Method for executing an application (12) in a computer system (1) connected to a communication network (R), the application being designed to exchange messages towards a first programming software interface (10) adapted to a first network communication protocol, said communication network operating according to a second network communication protocol for which the system is equipped with a second programming software interface (11), characterized in that before an exchange of messages between the application and another unit (2,3) designated by a unit name (N) and accessible by the network by means of a network address (A) defined according to a format of the second protocol, the system arbitrarily associates with the 'network address of the unit a local use address (A') defined according to a format of the first protocol, and in that, during said exchange, each message received by the system according to the second protocol d since the unit identified by its network address and intended for the application, is transformed into a translated message including the associated local use address, which is supplied to the application via the first programming interface, and each message presented by the application on the first programming interface to the unit identified by the address for local use is transformed into a message translated according to the second protocol, which is transmitted over the network to the unit identified by its address network.
2. Procédé selon la revendication 1, dans lequel l'émission par l'application (12) vers la première interface de programmation (10) d'une requête de résolution de nom (21) relative à une autre unité désignée par un nom d'unité (N) déclenche les opérations suivantes :2. Method according to claim 1, in which the application (12) sends to the first programming interface (10) a name resolution request (21) relating to another unit designated by a name d (N) triggers operations following:
- le système obtient l'adresse de réseau (A) de l'autre unité sur la base de son nom d'unité ;- the system obtains the network address (A) of the other unit on the basis of its unit name;
- le système génère une adresse à usage local disponible (A') , définie selon le format du premier protocole ;- the system generates an address for available local use (A '), defined according to the format of the first protocol;
- le système mémorise une association entre le nom d'unité, l'adresse de réseau de l'autre unité et l'adresse à usage local générée ; et - un message (27) est délivré à l'application via la première interface de programmation pour lui fournir l'adresse à usage local générée.- the system memorizes an association between the unit name, the network address of the other unit and the local use address generated; and - a message (27) is delivered to the application via the first programming interface to provide it with the address for local use generated.
3. Procédé selon la revendication 2, dans lequel le système (1) obtient l'adresse de réseau (A) de l'autre unité en interrogeant un serveur (6) du réseau à travers la seconde interface de programmation (11) .3. Method according to claim 2, wherein the system (1) obtains the network address (A) of the other unit by interrogating a server (6) of the network through the second programming interface (11).
4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel l'émission par l'application (12) vers la première interface de programmation (10) d'une requête (31) de connexion avec une autre unité (2) repérée par une adresse à usage local (A') déclenche les opérations suivantes :4. Method according to any one of claims 1 to 3, wherein the transmission by the application (12) to the first programming interface (10) of a request (31) for connection with another unit (2 ) identified by an address for local use (A ') triggers the following operations:
- le système récupère l'adresse de réseau (A) de l'autre unité, à laquelle est associée ladite adresse à usage local ;- the system retrieves the network address (A) of the other unit, with which said address for local use is associated;
- le système exécute, selon le second protocole, une procédure (34-37) d'établissement de connexion avec l'autre unité à l'aide de son adresse de réseau ; et - après établissement de la connexion selon le second protocole, un message (38) de validation de la connexion est délivré à l'application via la première interface de programmation.- the system performs, according to the second protocol, a procedure (34-37) for establishing a connection with the other unit using its network address; and - after establishment of the connection according to the second protocol, a message (38) for validating the connection is delivered to the application via the first programming interface.
5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la réception par le système (1) , selon le second protocole, d'une requête (42) de connexion avec l'application (12) incluant l'adresse de réseau (A) d'une autre unité (3) déclenche les opérations suivantes :5. Method according to any one of claims 1 to 4, wherein the reception by the system (1), according to the second protocol, a request (42) for connection with the application (12) including the network address (A) of another unit (3) triggers the following operations:
- le système génère une adresse à usage local disponible (A'), définie selon le format du premier protocole ;- the system generates an address for available local use (A '), defined according to the format of the first protocol;
- le système mémorise une association entre l'adresse de réseau de l'autre unité et l'adresse à usage local générée ; - un message d'indication de connexion (45) incluant l'adresse à usage local générée est présenté à l'application via la première interface de programmation (10) .- the system memorizes an association between the network address of the other unit and the local use address generated; - a connection indication message (45) including the address for local use generated is presented to the application via the first programming interface (10).
6. Procédé selon l'une quelconque des revendication 4 ou 5 , dans lequel le second protocole intègre des paramètres de gestion des communications non prévus dans le premier protocole, et dans lequel ladite procédure d'établissement de connexion selon le second protocole tient compte de valeurs définies pour certains au moins desdits paramètres de gestion.6. Method according to claim 4, in which the second protocol integrates communication management parameters not provided for in the first protocol, and in which said connection establishment procedure according to the second protocol takes account of values defined for at least some of said management parameters.
7. Procédé selon la revendication 6, dans lequel lesdites valeurs des paramètres de gestion sont choisies en fonction de l'application exécutée (12) .7. The method of claim 6, wherein said values of management parameters are chosen according to the application executed (12).
8. Procédé selon la revendication 6 ou 7 , dans lequel lesdites valeurs des paramètres de gestion sont obtenues en interrogeant un utilisateur de l'application exécutée (12) .8. The method of claim 6 or 7, wherein said values of management parameters are obtained by interrogating a user of the executed application (12).
9. Procédé selon la revendication 7, dans lequel lesdites valeurs des paramètres de gestion sont obtenues au moyen d'une table, mémorisée dans le système, faisant correspondre des applications (12) avec des eux de valeurs de paramètres de gestion.9. The method of claim 7, wherein said values of management parameters are obtained by means of a table, stored in the system, making applications (12) correspond with them of values of management parameters.
10. Procédé selon la revendication 7, dans lequel lesdites valeurs des paramètres de gestion sont obtenues en interrogeant un serveur du réseau (7) à travers la seconde interface de programmation (11) .10. The method of claim 7, wherein said values of the management parameters are obtained by interrogating a server of the network (7) through the second programming interface (11).
11. Procédé selon l'une quelconque des revendications 6 à 10, dans lequel on munit le système (1) d'un programme11. Method according to any one of claims 6 to 10, in which the system (1) is provided with a program.
(13) de contrôle desdits paramètres de gestion non prévus dans le premier protocole pour définir des profils de paramètres selon des caractéristiques de l'application exécutée et/ou selon des données fournies par l'utilisateur.(13) for controlling said management parameters not provided for in the first protocol in order to define parameter profiles according to characteristics of the application executed and / or according to data supplied by the user.
12. Module de contrôle d'échanges de messages entre une application (12) exécutée dans un système informatique12. Module for controlling the exchange of messages between an application (12) executed in a computer system
(1) raccordé à un réseau de communication (R) , et une autre unité (2,3) accessible par le réseau, l'application étant conçue pour échanger des messages vers une première interface logicielle de programmation (10) adaptée à un premier protocole de communication en réseau, ledit réseau de communication fonctionnant selon un second protocole de communication en réseau pour lequel le système est équipé d'une seconde interface logicielle de programmation (11), l'autre unité étant désignée par un nom d'unité (N) et accessible au moyen d'une adresse de réseau (A) définie selon un format du second protocole, le module de contrôle (15) étant à installer dans le système, et comprenant : - des moyens d'attribution d'adresses fictives (17), pour associer arbitrairement à l'adresse de réseau de l'unité une adresse à usage local définie (A') selon un format du premier protocole, et pour mémoriser cette association ; et - des moyens de traduction (16) , prévus pour communiquer avec l'application via la première interface de programmation et avec le réseau via la seconde interface de programmation, et agencés d'une part pour transformer chaque message reçu du réseau depuis l'unité identifiée par son adresse de réseau et destiné à l'application en un message traduit incluant l'adresse à usage local associée, qui est fourni à l'application via la première interface de programmation, et d'autre part pour transformer chaque message reçu de l'application à destination de l'unité repérée par l'adresse à usage local en un message traduit selon le second protocole, qui est émis sur le réseau vers l'unité identifiée par son adresse de réseau.(1) connected to a communication network (R), and another unit (2,3) accessible by the network, the application being designed to exchange messages towards a first programming software interface (10) adapted to a first network communication protocol, said communication network operating according to a second network communication protocol for which the system is equipped with a second programming software interface (11), the other unit being designated by a unit name ( N) and accessible by means of a network address (A) defined according to a format of the second protocol, the control module (15) being to be installed in the system, and comprising: - means for allocating fictitious addresses (17), for arbitrarily associating with the network address of the unit a defined local use address (A ′) according to a format of the first protocol, and for memorizing this association; and - translation means (16), provided for communicating with the application via the first programming interface and with the network via the second programming interface, and arranged on the one hand to transform each message received from the network from the unit identified by its network address and intended for the application into a translated message including the associated local use address, which is supplied to the application via the first programming interface, and on the other hand to transform each message received from the application to the unit identified by the address for local use in a message translated according to the second protocol, which is sent over the network to the unit identified by its network address.
13. Module selon la revendication 12, dans lequel les moyens d'attribution d'adresses fictives (17) sont agencés pour mémoriser une association entre l'adresse de réseau (A) de l'unité, l'adresse à usage local associée (A') et le nom de l'unité (N) .13. The module as claimed in claim 12, in which the means for assigning fictitious addresses (17) are arranged to store an association between the network address (A) of the unit, the associated local use address ( A ') and the name of the unit (N).
14. Module selon la revendication 12 ou 13, dans lequel le second protocole intègre des paramètres de gestion des communications non prévus dans le premier protocole, et comprenant en outre des moyens d'enrichissement (18) coopérant avec les moyens de traduction (16) pour fournir des valeurs définies pour certains au moins desdits paramètres de gestion afin que ces valeurs soient prises en compte dans des procédures d'établissement de connexion conformément au second protocole .14. Module according to claim 12 or 13, wherein the second protocol integrates communication management parameters not provided for in the first protocol, and further comprising enrichment means (18) cooperating with the translation means (16) to provide defined values for at least some of said management parameters so that these values are taken into account in connection establishment procedures according to the second protocol.
15. Module selon la revendication 14, dans lequel les moyens d'enrichissement (18) coopèrent avec un programme15. Module according to claim 14, in which the enrichment means (18) cooperate with a program
(13) de contrôle desdits paramètres de gestion non prévus dans le premier protocole, ce programme de contrôle étant prévu pour définir des profils de paramètres selon des caractéristiques de l'application exécutée et/ou selon des données fournies par l'utilisateur.(13) for controlling said management parameters not provided for in the first protocol, this control program being provided for defining profiles of parameters according to characteristics of the application executed and / or according to data supplied by the user.
16. Programme d'ordinateur qui, lorsqu'il est chargé et exécuté dans un système informatique (1) raccordé à un réseau de communication (R) , forme un module de contrôle d'échanges de messages selon l'une quelconque des revendications 12 à 15, pour contrôler des échanges de messages entre une application (12) exécutée dans ledit système informatique et une autre unité (2,3) accessible par le réseau.16. Computer program which, when loaded and executed in a computer system (1) connected to a communication network (R), forms a message exchange control module according to any one of Claims 12 to 15, for controlling the exchange of messages between an application (12) executed in said computer system and another unit (2,3) accessible by the network.
17. Support lisible par ordinateur, sur lequel est enregistré un programme (15) selon la revendication 16. 17. A computer-readable medium on which a program (15) is recorded according to claim 16.
PCT/FR1999/001573 1998-07-01 1999-06-30 Method for executing an application in a computer system connected to a communication network, and control module used in said method WO2000002354A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU43769/99A AU4376999A (en) 1998-07-01 1999-06-30 Method for executing an application in a computer system connected to a communication network, and control module used in said method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9808393A FR2781627B1 (en) 1998-07-01 1998-07-01 METHOD FOR EXECUTING AN APPLICATION IN A COMPUTER SYSTEM CONNECTED TO A COMMUNICATION NETWORK, AND CONTROL MODULE FOR USE IN SUCH A METHOD
FR98/08393 1998-07-01

Publications (1)

Publication Number Publication Date
WO2000002354A1 true WO2000002354A1 (en) 2000-01-13

Family

ID=9528124

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1999/001573 WO2000002354A1 (en) 1998-07-01 1999-06-30 Method for executing an application in a computer system connected to a communication network, and control module used in said method

Country Status (3)

Country Link
AU (1) AU4376999A (en)
FR (1) FR2781627B1 (en)
WO (1) WO2000002354A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995031060A1 (en) * 1994-05-09 1995-11-16 Motorola Inc. Method for transmitting data packets based on message type

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995031060A1 (en) * 1994-05-09 1995-11-16 Motorola Inc. Method for transmitting data packets based on message type

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ALMESBERGER W ET AL: "GUARANTEEING QUALITY OF SERVICE FOR THE WEB USING ATM", DATA HIGHWAY, 1 January 1995 (1995-01-01), pages A21/1 - A21/16, XP000570052 *
CHEN X ET AL: "EVOLUTION OF ATM INTERNETWORKING", BELL LABS TECHNICAL JOURNAL, vol. 2, no. 2, 21 March 1997 (1997-03-21), pages 82 - 110, XP000695170 *
KEMPAINEN S: "GIGABIT ETHERNET AND ATM GO NECK AND NECK IN THE COMMUNICATIONS RACE", EDN ELECTRICAL DESIGN NEWS, vol. 42, no. 1, 2 January 1997 (1997-01-02), pages 32, 34 - 38, 40, 42, 44, 46, 48, XP000721999 *
POZEFSKY D ET AL: "MULTIPROTOCOL TRANSPORT NETWORKING: ELIMINATING APPLICATION DEPENDENCIES ON COMMUNICATIONS PROTOCOLS", IBM SYSTEMS JOURNAL, vol. 34, no. 3, 21 June 1995 (1995-06-21), pages 472 - 499, XP000529593 *
SUNG J: "WWW Browser and Server with Guaranteed QoS Support over Native ATM API", PROCEEDINGS TWELFTH INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN-12), 21 January 1998 (1998-01-21) - 23 January 1998 (1998-01-23), TOKYO (JP), pages 212 - 217, XP002096226 *

Also Published As

Publication number Publication date
FR2781627B1 (en) 2000-10-13
FR2781627A1 (en) 2000-01-28
AU4376999A (en) 2000-01-24

Similar Documents

Publication Publication Date Title
US7003574B1 (en) Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier
KR101066757B1 (en) Controlled relay of media streams across network perimeters
US6115744A (en) Client object API and gateway to enable OLTP via the internet
FR2791159A1 (en) METHOD FOR ACCESSING AN OBJECT USING A WEB-BASED BROWSER COOPERATING WITH A CHIP CARD AND ARCHITECTURE FOR IMPLEMENTING THE METHOD
EP1797696A1 (en) Method and system for distributed dns resolution
FR2917259A1 (en) USE OF A PREFIXED HASH TREE (PHT) FOR LOCATION OF SERVICES WITHIN A POST-TO-POST COMMUNICATION NETWORK
FR2869180A1 (en) COMMUNICATION SYSTEM AND GATEWAY DEVICE
FR2842377A1 (en) SYSTEM AND METHOD FOR AUTOMATIC CONFIGURATION AND LAUNCHING TELNET 3270 CLIENT APPLICATIONS IN A WINDOWS ENVIRONMENT
EP1145522A2 (en) Method and architecture for remote monitoring of a user station via an internet-type network and application thereof to a smart card demonstrator
EP2055082A1 (en) Method of managing a secure transfer session through an address translation device, corresponding server and computer program
EP2807815B1 (en) System and method for controlling a dns request
FR2737372A1 (en) DEVICE AND METHOD FOR INTERCONNECTING NETWORKS, IP ROUTER COMPRISING SUCH A DEVICE
WO2000002354A1 (en) Method for executing an application in a computer system connected to a communication network, and control module used in said method
EP1520378B1 (en) System and method of managing communication network-dedicated architecture on a terminal
FR3023098A1 (en) METHOD AND SYSTEM FOR PROCESSING A REQUEST FOR RESOLUTION OF A NAME OF A SERVER, ISSUED BY A CLIENT APPLICATION ON A COMMUNICATION NETWORK.
FR2837045A1 (en) Universal plug and play non conforming apparatus network attachment having mechanism finding non standard apparatus and emulator loading forming controller interface/linking network
FR2843847A1 (en) Data transmission system for Telnet manageable device e.g. router, has processing device with proxy unit to complete Telnet connection with Telnet device upon receiving request from help desk workstation to gain access to device
EP1346292A1 (en) Distributed directory server
EP1432213B1 (en) Mediation platform and message transport network
CA2446774C (en) System and method for communication between stations processing common files
FR2853177A1 (en) Internet site access controlling process, involves opening session corresponding to extracted user identification information, and modifying intercepted information to activate log-off command display on user terminal
EP1499090B1 (en) System and process for launching an application from a WAP terminal in shared mode
FR2935505A1 (en) COMPUTER SYSTEM WITH SIMPLIFIED ACCESS SERVER AND CORRESPONDING METHOD
WO2009013440A1 (en) Method for exchanging messages between a session data server and client services
EP2053833A1 (en) Method of translating data packet headers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase