EP1382148A2 - Method for providing communication waiting times between at least two data nodes - Google Patents

Method for providing communication waiting times between at least two data nodes

Info

Publication number
EP1382148A2
EP1382148A2 EP02706845A EP02706845A EP1382148A2 EP 1382148 A2 EP1382148 A2 EP 1382148A2 EP 02706845 A EP02706845 A EP 02706845A EP 02706845 A EP02706845 A EP 02706845A EP 1382148 A2 EP1382148 A2 EP 1382148A2
Authority
EP
European Patent Office
Prior art keywords
reservation
remote
java
protocol
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02706845A
Other languages
German (de)
French (fr)
Inventor
Miguel Thales Intellectual Property DE MIGUEL
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Publication of EP1382148A2 publication Critical patent/EP1382148A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/724Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to a method for ensuring the latency of communications between at least two data crossing points.
  • the Java language has already been used in real-time systems.
  • Java working groups (“Java Consortium”, “Real-Time for Java Experts Group”) have proposed to extend the specifications and the A.P.I. (Application programming interfaces) of Java. These extensions make it possible to implement programs with the possibility of prediction in Java, by providing possibilities for reserving the calculation time, and other resources such as the time for collecting waste.
  • Java extensions do not take into account the principles of distributed programming inherent in Java, and do not offer solutions to the current lack of possibility of predicting the distributed characteristics of Java, such as R.M.I. ("Remote Method Invocation"), E.J.B. ("Enterprise Java Beans”) and J.N.D.I. ("Java Naming and Directory Interface”).
  • This group along with the SUN Company, has established a new J.S.R. in order to develop the concepts related to this specification.
  • the main objective of this Java request is to extend the specifications of Java Real-Time and Java itself in order to make it possible to predict the processing time of Java programs in node-to-node communication.
  • the subject of the present invention is a method for predicting the processing time of programs, in particular in real time Java language on client-server platforms, executed on several nodes and using the RMI method in the "MW" layer. More generally, the subject of the present invention is a method for ensuring the latency of communications between at least two points (nodes) by reserving the resources of the communication infrastructure in an MW layer.
  • the method for ensuring the latency time of communications between at least two data crossing points according to an object-oriented protocol Java-RMI or CORBA is characterized in that it implements in each crossing point an RSNP resource reservation protocol in the Java-RMI or CORBA layer, intermediate between the operating system and the application layers, by integrating the resource reservation processes and services and the communication processes in the MW layer .
  • extensions of the interface of the MW layer are carried out with the application to give it access to reservation services according to the RSVP protocol.
  • the reservation is associated with the various software elements involved in the communication according to the approach of remote references.
  • the operations associated with the remote references include the operations of determining the bandwidth to be used, the maximum size of the data packets and the maximum size of the buffers required.
  • the RSNP protocol ensures the reservation of resources on the path between two remote Java-RMI or CORBA objects. Each remote reference specifies the time distribution of its invocations, and a specific reservation is made for each remote reference.
  • the method of the invention implements a resource reservation protocol in the M.W. layer, by integrating the resource reservation processes and services and the communication processes in the MW layer.
  • this integration makes compatible the protocols carrying out the communication at the MW layer and the resource reservation protocols.
  • extensions are made to the interface of the MW layer with the application to give it access to reservation services, these extensions make it possible to specify the time requirements when establishing the remote communication, and to ensure a determined response time.
  • FIG. 1 is a diagram of a known resource reservation node
  • FIG. 2 is a simplified diagram of the essential elements implementing the method of the invention.
  • the present invention is described below with reference to the exchange of data between two or more nodes (micro-computers for example) linked together by a network such as the Internet and using a protocol such as Java-RMI, but it it is understood that it is not limited to this single application and to this single protocol, and that it can be implemented in other applications requiring the transmission of data in packets between at least two points (or nodes ), whether according to a Java-RMI protocol, or CORBA.
  • Routine 1 is in bidirectional connection with a process control program 2 and an admission control program 3, as well as with a reservation interface 4 (LPR) ), as described for example in the document by R. Braden and D.
  • a session is produced in the sending node, and the receiving node identifies the "socket” addresses of the session packets (the JP addresses and the port number of the receiver).
  • Interface 4 must be used in conjunction with a “socket” API interface.
  • “Socket” file descriptors, which provide “socket” functions (bound “,” accept “and” connect ") are used to create reservation sessions for interface 4.
  • Routine 1 communicates with the routines of the routers included in the session path, and all these routines together ensure the reservation of the resources indicated by the transmitter and the receiver.
  • the objects of the reservation make it possible to specify the speed of the token bucket, the depth of these clusters, the maximum flow and the maximum dimension of the clusters.
  • the characterization of the data flow describes the desired quality of service.
  • the “guaranteed quality of service” parameter ensures that the data packets will arrive at their destination within the guaranteed time limit and will not be rejected if there were overflows in the queues. This parameter characterizes the maximum bandwidth for end-to-end transmission on the data path.
  • the receiver application provides a filter specification telling intermediary routers to reservation services which transmitters should be part of the reservation process. Thus, the applications of the receiver can relate the corresponding quality of service to the only data coming from the applications of the transmitter.
  • the main logic components involved in a resource reservation process in accordance with the invention have been indicated.
  • the layers of this node are: the application 9, the MW layer 10, and the operating system 11.
  • the application 9 communicates with the layer 10 via a communication API interface 12 and sends it its reservation requests via a reservation API 13.
  • Layer 10 communicates with the communication protocol routine 14 of the operating system 11.
  • an RSVP resource reservation routine 15 of layer 10 communicates with a reservation protocol routine 16 of the operating system 11.
  • the routine 16 of the operating system does not need to be adapted to each new application, and it can therefore be a standard routine.
  • routine 15 is specific to the MW layer 10, but since it is located in the MW layer 10, it is adaptable to each application, since the layer 10 is much easier to modify than the operating system.
  • layer 10 is a Java-RMI layer, but could be of CORBA type.
  • the object of the invention is to implement distributed Java software (or similar) producing remote invocation processes and responses in a limited time which can be predicted.
  • Reservation protocols provide support allowing to limit the transit time during communications. These protocols have two different types of sessions: invocation sessions associated with remote invocation and response sessions associated with responses to remote invocations.
  • each remote reference specifies the temporal distribution of its invocations, and a specific reservation is made for each remote reference.
  • the Java remote references identify the sender of the reservation at the origin of the invocation session, and the server does the same for the response sessions.
  • the remote reference is associated with two reservation sessions. Two different remote references, belonging to the same object or virtual machine can reference the same server and can be associated with remote reservations.
  • client object approach, according to which the client specifies the time distribution of its remote invocations for each server.
  • the client object is then associated with the transmitter of the invocation sessions and with the receiver of the sessions. return.
  • two reservation sessions are associated with each server used. This solution reserves resources for each communication from a client to a server.
  • This approach is that of the Java machine, according to which the virtual machine specifies the time distribution of its remote invocations for each server.
  • the client virtual machine is associated with the transmitter of the invocation sessions and the receiver of the response sessions.
  • We associate to the virtual machine two reservation sessions for each remote server. This solution allows resources to be reserved for each communication between a client machine and a server.
  • “Remote references” because it allows different tasks (“threads”) to establish their own reservation, and thus to be able to encapsulate their own reservation, which avoids the effects of competition that other solutions can produce.
  • a second task can modify the reservation of a first task, which will change the response time.
  • the tasks must approve their reservation time.
  • the reference can be a local variable of the task, and the reservation is fixed within the task.
  • the server and the references negotiate the reservation from a Java-Reservation set which is an extension of the Java-RMI API interface.
  • the RMI invocation method can be implemented with the JDK tool (“Java Development Kit”), in version 1.2 for example.
  • JDK tool Java Development Kit
  • this implementation poses several problems which the invention solves in the manner described below, in the case of the approach of remote references.
  • the JDK 1.2 implementation uses an unlimited number of "sockets" for each reference, while reservations are associated with RSNP sessions which require only one "socket".
  • the invention proposes the following solution, valid in the case of the use of Java-RMI, with the JDK 1.2 tool.
  • the reservation sessions associated with communications between remote references and the server require a single "socket" for all invocations.
  • the JDK 1.2 tool uses (or reuses) a connection for invocation, and a "socket" is associated with each connection.
  • the JDK 1.2 implementation does not allow the same parallel connection to be used for two invocations, otherwise this would produce conditions of competition during the sequences of sending of call data ("marshalling" in English) and the creation of remote calls.
  • the “connection-oriented” approach makes it possible to associate responses with invocations (the returned values are sent using the same connection as for the invocation), which can be the source of another condition of competition if the present solution is not respected.
  • the JRMP protocol (see the article by SUN MICROSYSTEMS: "Java Remote Method Invocation Specification” published in October 1998) provides multiplexing possibilities.
  • JDK 1.2 Another problem with JDK 1.2 is as follows.
  • the "socket" address is encapsulated in the JDK subsystem. This information is however necessary to create reservation sessions. If a new layer (reservation layer) is created, the reference and transport layers must include new functions.
  • the invention proposes to modify the implementation of JDK 1.2 so that the "socket" is associated with the remote reference by using the extensions that were used to build the reservation sessions.

Landscapes

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

Abstract

The invention concerns a method for providing communication waiting times between at least two data nodes using a resource reservation protocol in the intermediate MW layer (10) between the operating system (11) and the application layers (9) by integrating the resource reservation procedures and services (15) and the communication procedures in the MW layer.

Description

PROCEDE POUR ASSURER LE TEMPS DE LATENCE DES COMMUNICATIONS ENTRE AU MOINS DEUX POINTS DE PASSAGE DE METHOD FOR ENSURING THE LATENCY TIME OF COMMUNICATIONS BETWEEN AT LEAST TWO PASSAGE POINTS
DONNEESDATA
La présente invention a pour objet un procédé pour assurer le temps de latence des communications entre au moins deux points de passage de données.The present invention relates to a method for ensuring the latency of communications between at least two data crossing points.
Dans les systèmes de traitement de données distribuées à fonctionnement en temps réel, les exigences en matière de temps de traitement obligent à prendre en compte la prédiction du temps de traitement . Les techniques de réservation de ressources offrent des solutions à ces exigences, mais dans certains cas seulement, comme on le verra ci-dessous.In real-time distributed data processing systems, the processing time requirements make it necessary to take into account the prediction of processing time. Resource reservation techniques provide solutions to these requirements, but only in some cases, as discussed below.
Le langage Java a déjà été utilisé dans les systèmes à fonctionnement en temps réel.The Java language has already been used in real-time systems.
Cependant, ce langage ne permet pas de limiter facilement les temps de latence et les temps de blocage, en particulier pour des traitements tels que le « ramassage de miettes » (However, this language does not make it possible to easily limit the latency times and the blocking times, in particular for treatments such as “crumb collection” (
« garbage collection » en anglais), les algorithmes de planification (« scheduling algorithms » en anglais) et les protocoles des processus de synchronisation. Des groupes de travail Java (« Java Consortium », « Real-Time for Java Experts Group ») ont proposé d'étendre les spécifications et les A.P.I. (Interfaces de programmation d'applications) de Java. Ces extensions permettent de mettre en oeuvre des programmes à possibilité de prédiction en Java, en fournissant des possibilités de réservation du temps de calcul, et d'autres ressources telles que le temps de ramassage des déchets. Cependant, ces extensions ne prennent pas en compte les principes de programmation distribuée inhérents à Java, et ne proposent pas de solutions à l'absence actuelle de possibilité de prédiction des caractéristiques distribuées de Java, telles que R.M.I. (« Remote Method Invocation »), E.J.B. (« Enterprise Java Beans ») et J.N.D.I. (« Java Naming and Directory Interface »). Pour limiter les effets de ces problèmes, D.Jensen a établi avec un groupe la spécification « J.S.R. 000050 Distributed Real-Time Systems » , « J.S.R. » signifiant « Java Spécification Request ». Ce groupe, ainsi que la Société SUN ont établi une nouvelle J.S.R. afin de développer les concepts liés à cette spécification. L'objectif principal de cette requête Java est d'étendre les spécifications de Java Temps-réel et de Java lui-même afin de rendre possible la prédiction du temps de traitement des programmes Java dans une communication noeud à noeud.“Garbage collection” in English, scheduling algorithms and protocols of synchronization processes. Java working groups (“Java Consortium”, “Real-Time for Java Experts Group”) have proposed to extend the specifications and the A.P.I. (Application programming interfaces) of Java. These extensions make it possible to implement programs with the possibility of prediction in Java, by providing possibilities for reserving the calculation time, and other resources such as the time for collecting waste. However, these extensions do not take into account the principles of distributed programming inherent in Java, and do not offer solutions to the current lack of possibility of predicting the distributed characteristics of Java, such as R.M.I. ("Remote Method Invocation"), E.J.B. ("Enterprise Java Beans") and J.N.D.I. ("Java Naming and Directory Interface"). To limit the effects of these problems, D. Jensen established with a group the specification "J.S.R. 000050 Distributed Real-Time Systems ”,“ J.S.R. Meaning "Java Specification Request". This group, along with the SUN Company, has established a new J.S.R. in order to develop the concepts related to this specification. The main objective of this Java request is to extend the specifications of Java Real-Time and Java itself in order to make it possible to predict the processing time of Java programs in node-to-node communication.
Par ailleurs, on connaît une plate-forme logicielle (« Framework » en anglais) de couche intermédiaire entre le système d'exploitation et les couches d'application (couche intermédiaire couramment dénommée « Middleware » en anglais, et qui sera dénommée MW par la suite) appelé CORBA. Les programmes Java-RMI et CORBA comportent une couche MW permettant aux utilisateurs d'invoquer des opérations effectuées par des objets distribués. Un groupe de travail bien connu, dénommé O.M.G. (« Object Management Group ») a publié en Mars 1999 un standard OMG pour les applications CORBA en temps réel. En Août 2000, ce groupe publie les spécifications « Dynamic Scheduling Real-Time CORBA » étendant le standard précité afin de lui faire supporter les algorithmes de planification dynamique qui n'étaient pas pris en compte par le standard CORBA temps réel. Le but de ces spécifications est d'étendre le standard CORBA afin de faciliter sa possibilité de prédiction de bout en bout des activités d'un système distribué et de fournir un support pour la gestion des ressources de l'environnement CORBA. La faculté de prédire de bout en bout l'exécution des tâches en temps voulu n'est possible que si l'on respecte les priorités des processus entre client et serveur pour résoudre les problèmes d'accaparement de ressources (« resource contention » en anglais), si l'on limite les inversions de priorité d'utilisation de ressources et si l'on limite le temps de latence des invocations d'opérations. Mais il est clairement précisé dans cette publication que les auteurs ne proposent pas de solution permettant de limiter les temps de latence relatifs au système d'exploitation, à des applications spécifiques et surtout aux moyens de communication.Furthermore, there is a software platform (“Framework” in English) of intermediate layer between the operating system and the application layers (intermediate layer commonly called “Middleware” in English, which will be called MW thereafter) called CORBA. The Java-RMI and CORBA programs include an MW layer allowing users to invoke operations performed by distributed objects. A well-known working group, called OMG ("Object Management Group") published in March 1999 an OMG standard for CORBA applications in real time. In August 2000, this group published the "Dynamic Scheduling Real-Time CORBA" specifications extending the above-mentioned standard in order to make it support dynamic planning algorithms which were not taken into account by the CORBA real-time standard. The purpose of these specifications is to extend the CORBA standard in order to facilitate its possibility of end-to-end prediction of the activities of a distributed system and to provide support for the management of resources in the CORBA environment. The ability to predict the end-to-end execution of tasks in a timely manner is only possible if we respect the priorities of the processes between client and server to resolve resource grabbing problems ("resource contention" in English ), if we limit the resource use priority inversions and if we limit the latency time of invocations of operations. But it is clearly specified in this publication that the authors do not offer a solution making it possible to limit the latency times relating to the operating system, to specific applications and especially to the means of communication.
On connaît d'après l'article de Chao-Ju Hou , Ching Chih Han et Yao-Min Chen "Communication middleware and software for QoS control in distributed real-time environments", publié dans COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, 1997. COMPSAC '97. PROCEEDINGS, THE TWENTY FIRST ANNUAL INTERNATIONAL WASHINGTON, DC, USA 13-15 AUG. 1997, LOS ALAMITOS, CA, USA, IEEE COMPUT. SOC, US. du 13 Août 1997, pages 558 à 564, un procédé de. communication faisant appel au protocole RSNP, mais ce document n'apporte aucune solution aux problèmes qu'entraîne l'utilisation de ce protocole, et, d'autre part, ce document évoque le M.W. , mais ne l'associe ni à CORBA ni à JANA- RMI.We know from the article by Chao-Ju Hou, Ching Chih Han and Yao-Min Chen "Communication middleware and software for QoS control in distributed real-time environments", published in COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, 1997. COMPSAC ' 97. PROCEEDINGS, THE TWENTY FIRST ANNUAL INTERNATIONAL WASHINGTON, DC, USA 13-15 AUG. 1997, LOS ALAMITOS, CA, USA, IEEE COMPUT. SOC, US. of August 13, 1997, pages 558 to 564, a process of. communication using the RSNP protocol, but this document does not provide any solution to the problems caused by the use of this protocol, and, on the other hand, this document evokes WM, but does not associate it with CORBA or JANA- RMI.
La présente invention a pour objet un procédé permettant de prédire le temps de traitement de programmes, en particulier en langage Java temps réel sur plates-formes client- serveur, exécutés sur plusieurs noeuds et utilisant la méthode RMI dans la couche « MW » . De façon plus générale, la présente invention a pour objet un procédé permettant d'assurer le temps de latence des communications entre au moins deux points (noeuds) par réservation des ressources de l'infrastructure de communication dans une couche MW. Selon l'invention, le procédé pour assurer le temjps de latence des communications entre au moins deux points de passage de données selon un protocole orienté objet Java- RMI ou CORBA, est caractérisé en ce qu'il met en oeuvre dans chaque point de passage un protocole RSNP de réservation de ressources dans la couche de Java-RMI ou CORBA, intermédiaire entre le système d'exploitation et les couches d'application , en intégrant les processus et services de réservation de ressources et les processus de communication dans la couche MW.The subject of the present invention is a method for predicting the processing time of programs, in particular in real time Java language on client-server platforms, executed on several nodes and using the RMI method in the "MW" layer. More generally, the subject of the present invention is a method for ensuring the latency of communications between at least two points (nodes) by reserving the resources of the communication infrastructure in an MW layer. According to the invention, the method for ensuring the latency time of communications between at least two data crossing points according to an object-oriented protocol Java-RMI or CORBA, is characterized in that it implements in each crossing point an RSNP resource reservation protocol in the Java-RMI or CORBA layer, intermediate between the operating system and the application layers, by integrating the resource reservation processes and services and the communication processes in the MW layer .
Selon une caractéristique de l'invention, on réalise les extensions de l'interface de la couche MW avec l'application pour lui donner l'accès aux services de réservation selon le protocole RSVP.According to a characteristic of the invention, extensions of the interface of the MW layer are carried out with the application to give it access to reservation services according to the RSVP protocol.
Selon une autre caractéristique de l'invention, on associe la réservation aux différents éléments logiciels intervenant dans la communication selon l'approche des références distantes. Les opérations associées aux références distantes comprennent les opérations de détermination de la largeur de bande à utiliser, la taille maximale des paquets de données et la taille maximale des tampons nécessaires. Le protocole RSNP assure la réservation des ressources sur le trajet compris entre deux objets distants Java-RMI ou CORBA. Chaque référence distante spécifie la répartition temporelle de ses invocations, et une réservation spécifique est faite pour chaque référence distante.According to another characteristic of the invention, the reservation is associated with the various software elements involved in the communication according to the approach of remote references. The operations associated with the remote references include the operations of determining the bandwidth to be used, the maximum size of the data packets and the maximum size of the buffers required. The RSNP protocol ensures the reservation of resources on the path between two remote Java-RMI or CORBA objects. Each remote reference specifies the time distribution of its invocations, and a specific reservation is made for each remote reference.
Ainsi, le procédé de l'invention met en oeuvre un protocole de réservation de ressources dans la couche M.W. , en intégrant les processus et services de réservation de ressources et les processus de communication dans la couche MW. Il en résulte que cette intégration rend compatibles les protocoles réalisant la communication au niveau de la couche MW et les protocoles de réservation de ressources.Thus, the method of the invention implements a resource reservation protocol in the M.W. layer, by integrating the resource reservation processes and services and the communication processes in the MW layer. As a result, this integration makes compatible the protocols carrying out the communication at the MW layer and the resource reservation protocols.
Grâce au fait que l'on réalise les extensions de l'interface de la couche MW avec l'application pour lui donner l'accès aux services de réservation, ces extensions permettent de faire la spécification des besoins en temps lorsque l'on établit la communication distante, et d'assurer un temps de réponse déterminé.Thanks to the fact that extensions are made to the interface of the MW layer with the application to give it access to reservation services, these extensions make it possible to specify the time requirements when establishing the remote communication, and to ensure a determined response time.
La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel :The present invention will be better understood on reading the detailed description of an embodiment, taken by way of nonlimiting example and illustrated by the appended drawing, in which:
-La figure 1 est un diagramme d'un nœud de réservation de ressources connu, etFIG. 1 is a diagram of a known resource reservation node, and
-La figure 2 est un diagramme simplifié des éléments essentiels mettant en œuvre le procédé de l'invention. La présente invention est décrite ci-dessous en référence à l'échange de données entre deux noeuds ou plus (micro- odinateurs par exemple) reliés entre eux par un réseau tel qu'Internet et utilisant un protocole tel que Java-RMI, mais il est bien entendu qu'elle n'est pas limitée à cette seule application et à ce seul protocole, et qu'elle peut être mise en oeuvre dans d'autres applications nécessitant la transmission de données par paquets entre au moins deux points (ou noeuds) , que ce soit selon un protocole Java-RMI, ou CORBA. Ces protocoles sont décrits par exemple dans les spécifications de la Société Sun Microsystems (Java Remote Method Invocation Spécification pour JDK 1.2 ) et dans le document du groupe de travail "Object Management Group" intitulé "Real-Time CORBA 1.0 Spec, OMG Document number ptc/00-09-02", respectivement.FIG. 2 is a simplified diagram of the essential elements implementing the method of the invention. The present invention is described below with reference to the exchange of data between two or more nodes (micro-computers for example) linked together by a network such as the Internet and using a protocol such as Java-RMI, but it it is understood that it is not limited to this single application and to this single protocol, and that it can be implemented in other applications requiring the transmission of data in packets between at least two points (or nodes ), whether according to a Java-RMI protocol, or CORBA. These protocols are described for example in the specifications of the Sun Microsystems Company (Java Remote Method Invocation Specification for JDK 1.2) and in the document of the working group "Object Management Group" entitled "Real-Time CORBA 1.0 Spec, OMG Document number ptc / 00-09-02 ", respectively.
On a illustré en figure 1 le principe de mise en oeuvre d'un protocole connu de réservation de ressources via une interface API (Interface de programmation d'application). Ce protocole est principalement mis en oeuvre dans un noeud par une routine d'arrière-plan 1 (communément appelée « DAEMON »). Ce protocole est ici du type RSVP (« Resource Réservation Protocole») , bien connu en soi, par exemple d'après l'article de Zhang, S. Berson, S. Herzog et S. Jamin, intitulé "Resource ReSerVation Protocol (RSNP) - Version 1 Function Spécification ", Internet RFC 2205, 1997. La routine 1 est en liaison bidirectionnelle avec un programme 2 de contrôle de processus et un programme 3 de contrôle d'admission , ainsi qu'avec une interface 4 de réservation (RAPI) , telle que décrite par exemple dans le document de R. Braden et D. Hoffman : "RAPI - An RSNP Application Programming Interface", Internet Draft d'Août 1998 fonctionnant avec une "Windows QoS Socket Library" décrite dans le document de Y. Bernet, J. Stewart, R. Yavatkar, D. Andersen, C. Tai, B. Quinn et K. Lee , intitulé "Winsock Generic QoS Mapping (Draft)", de la Société Microsoft. Cette interface 4 est elle-même en liaison bidirectionnelle avec une application 5. La routine 1 commande un classificateur de paquets 6 et un planificateur d'envoi de paquets 7. Le classificateur 6 reçoit un flot de données 8 qu'il réarrange en paquets, et le planificateur 7 envoie ces paquets selon les possibilités du réseau par lequel ils doivent transiter. La plupart des fonctions de l'API 4 utilisent en tant que paramètre d'entrée un descripteur de session. Une session est produite dans le noeud émetteur, et le noeud récepteur identifie les adresses « socket » des paquets de la session (les adresses J-P et le numéro de port du récepteur) . L'interface 4 doit être utilisée conjointement avec une interface API de « socket ». Les descripteurs de fichiers de « socket », qui fournissent les fonctions de « socket » ( bound », « accept » et « connect » ) sont utilisés pour créer des sessions de réservation de l'interface 4 .The principle of implementing a known protocol for reserving resources via an API (Application Programming Interface) has been illustrated in FIG. 1. This protocol is mainly implemented in a node by a background routine 1 (commonly called "DAEMON"). This protocol is here of the RSVP type ("Resource Reservation Protocol"), well known per se, for example according to the article by Zhang, S. Berson, S. Herzog and S. Jamin, entitled "Resource ReSerVation Protocol (RSNP ) - Version 1 Function Specification ", Internet RFC 2205, 1997. Routine 1 is in bidirectional connection with a process control program 2 and an admission control program 3, as well as with a reservation interface 4 (LPR) ), as described for example in the document by R. Braden and D. Hoffman: "RAPI - An RSNP Application Programming Interface", Internet Draft of August 1998 operating with a "Windows QoS Socket Library" described in the document by Y Bernet, J. Stewart, R. Yavatkar, D. Andersen, C. Tai, B. Quinn and K. Lee, entitled "Winsock Generic QoS Mapping (Draft)", from Microsoft. This interface 4 is itself in two-way connection with an application 5. The routine 1 controls a packet classifier 6 and a packet sending scheduler 7. The classifier 6 receives a stream of data 8 which it rearranges into packets, and the scheduler 7 sends these packets according to the possibilities of the network through which they must transit. Most API 4 functions use a session descriptor as an input parameter. A session is produced in the sending node, and the receiving node identifies the "socket" addresses of the session packets (the JP addresses and the port number of the receiver). Interface 4 must be used in conjunction with a “socket” API interface. "Socket" file descriptors, which provide "socket" functions (bound "," accept "and" connect ") are used to create reservation sessions for interface 4.
La routine 1 communique avec les routines des routeurs inclus sur le trajet de la session, et toutes ces routines assurent ensemble la réservation des ressources indiquées par l'émetteur et le récepteur. Les objets de la réservation permettent de spécifier le débit des grappes de jetons (« token bucket » en anglais), la profondeur de ces grappes, le débit maximal et la dimension maximale des grappes. Dans le processus de réservation, la caractérisation du flux de données décrit la qualité désirée de service. Le paramètre « qualité de service garantie » assure que les paquets de données vont arriver à destination dans le temps imparti garanti et ne seront pas rejetés s'il y avait des débordements dans les files d'attente. Ce paramètre caractérise la largeur de bande maximale pour une transmission de bout en bout sur le trajet des données. L'application du récepteur fournit une spécification de filtre indiquant aux routeurs intermédiaires à services de réservation quels émetteurs doivent faire partie du processus de réservation. Ainsi, les applications du récepteur peuvent rattacher la qualité de service correspondante aux seules données provenant des applications de l'émetteur.Routine 1 communicates with the routines of the routers included in the session path, and all these routines together ensure the reservation of the resources indicated by the transmitter and the receiver. The objects of the reservation make it possible to specify the speed of the token bucket, the depth of these clusters, the maximum flow and the maximum dimension of the clusters. In the reservation process, the characterization of the data flow describes the desired quality of service. The “guaranteed quality of service” parameter ensures that the data packets will arrive at their destination within the guaranteed time limit and will not be rejected if there were overflows in the queues. This parameter characterizes the maximum bandwidth for end-to-end transmission on the data path. The receiver application provides a filter specification telling intermediary routers to reservation services which transmitters should be part of the reservation process. Thus, the applications of the receiver can relate the corresponding quality of service to the only data coming from the applications of the transmitter.
Dans le diagramme de noeud (émetteur ou récepteur) de la figure 2, on a indiqué les principaux composants logiques intervenant dans un processus de réservation de ressources conforme à l'invention. Les couches de ce noeud sont : l'application 9, la couche MW 10, et le système d'exploitation 11. L'application 9 communique avec la couche 10 par l'intermédiaire d'une interface API de communication 12 et lui envoie ses requêtes de réservation via une interface API de réservation 13.In the node diagram (transmitter or receiver) of FIG. 2, the main logic components involved in a resource reservation process in accordance with the invention have been indicated. The layers of this node are: the application 9, the MW layer 10, and the operating system 11. The application 9 communicates with the layer 10 via a communication API interface 12 and sends it its reservation requests via a reservation API 13.
La couche 10 communique avec la routine de protocole de communication 14 du système d'exploitation 11. D'autre part, une routine RSVP de réservation de ressources 15 de la couche 10 communique avec une routine de protocole de réservation 16 du système d'exploitation 11. De cette façon, la routine 16 du système d'exploitation n'a pas besoin d'être adaptée à chaque nouvelle application, et elle peut donc être une routine standard. Seule la routine 15 est spécifique de la couche MW 10, mais comme elle est située dans la couche MW 10, elle est adaptable à chaque application, car la couche 10 est bien plus facile à modifier que le système d'exploitation. Dans l'exemple décrit ici, la couche 10 est une couche Java-RMI, mais pourrait être de type CORBA .Layer 10 communicates with the communication protocol routine 14 of the operating system 11. On the other hand, an RSVP resource reservation routine 15 of layer 10 communicates with a reservation protocol routine 16 of the operating system 11. In this way, the routine 16 of the operating system does not need to be adapted to each new application, and it can therefore be a standard routine. Only routine 15 is specific to the MW layer 10, but since it is located in the MW layer 10, it is adaptable to each application, since the layer 10 is much easier to modify than the operating system. In the example described here, layer 10 is a Java-RMI layer, but could be of CORBA type.
Le but de l'invention est de mettre en oeuvre des logiciels distribués Java (ou similaire) produisant des processus d'invocation distante et des réponses en un temps limité que l'on peut prédire. Les protocoles de réservation fournissent un support permettant de limiter le temps de transit au cours de communications. Ces protocoles ont deux types différents de sessions : sessions d'invocations associées à l'invocation distante et sessions de réponses associées aux réponses aux invocations distantes.The object of the invention is to implement distributed Java software (or similar) producing remote invocation processes and responses in a limited time which can be predicted. Reservation protocols provide support allowing to limit the transit time during communications. These protocols have two different types of sessions: invocation sessions associated with remote invocation and response sessions associated with responses to remote invocations.
Différentes solutions peuvent associer la réservation aux différents éléments logiciels. Selon un aspect préféré de l'invention, cette association se fait selon l'approche des références distantes. Dans ces cas, chaque référence distante spécifie la répartition temporelle de ses invocations, et une réservation spécifique est faite pour chaque référence distante. Selon l'invention, les références distantes Java identifient l'émetteur de la réservation à l'origine de la session d'invocation, et le serveur en fait autant pour les sessions de réponse. La référence distante est associée à deux sessions de réservation. Deux références distantes différentes, faisant partie du même objet ou machine virtuelle peuvent référencer le même serveur et peuvent être associées à des réservations distantes.Different solutions can associate the reservation with different software elements. According to a preferred aspect of the invention, this association is made according to the approach of remote references. In these cases, each remote reference specifies the temporal distribution of its invocations, and a specific reservation is made for each remote reference. According to the invention, the Java remote references identify the sender of the reservation at the origin of the invocation session, and the server does the same for the response sessions. The remote reference is associated with two reservation sessions. Two different remote references, belonging to the same object or virtual machine can reference the same server and can be associated with remote reservations.
Parmi les autres solutions possibles d'association de réservation, on peut d'abord noter l'approche « objet client » , selon laquelle le client spécifie la distribution temporelle de ses invocations distantes pour chaque serveur. Selon l'invention, on associe alors l'objet client à l'émetteur des sessions d'invocation et au récepteur des sessions de. retour. Du côté client, on associe deux sessions de réservation à chaque serveur utilisé. Cette solution réserve des ressources pour chaque communication d'un client à un serveur.Among the other possible reservation association solutions, we can first note the "client object" approach, according to which the client specifies the time distribution of its remote invocations for each server. According to the invention, the client object is then associated with the transmitter of the invocation sessions and with the receiver of the sessions. return. On the client side, two reservation sessions are associated with each server used. This solution reserves resources for each communication from a client to a server.
Une autre approche pouvant être mise en oeuvre par l'invention dans le cas de l'utilisation du langage Java. Cette approche est celle de la machine Java , selon laquelle la machine virtuelle spécifie la distribution temporelle des ses invocations distantes pour chaque serveur. Selon l'invention, on associe la machine virtuelle client à l'émetteur des sessions d'invocation et au récepteur des sessions de réponse. On associe à la machine virtuelle deux sessions de réservation pour chaque serveur distant. Cette solution permet de réserver des ressources à chaque communication entre une machine client et un serveur.Another approach that can be implemented by the invention in the case of the use of the Java language. This approach is that of the Java machine, according to which the virtual machine specifies the time distribution of its remote invocations for each server. According to the invention, the client virtual machine is associated with the transmitter of the invocation sessions and the receiver of the response sessions. We associate to the virtual machine two reservation sessions for each remote server. This solution allows resources to be reserved for each communication between a client machine and a server.
Comme précisé ci-dessus, la solution préférée de l'invention est l'approcheAs stated above, the preferred solution of the invention is the approach
« références distantes » parce qu'elle permet à différentes tâches (« threads ») d'établir leur propre réservation, et ainsi de pouvoir encapsuler leur propre réservation, ce qui évite les effets de concurrence que peuvent produire les autres solutions. En effet, selon la deuxième et la troisième approches décrites ci-dessus, une deuxième tâche peut modifier la réservation d'une première tâche, ce qui va en changer le temps de réponse. Dans ces deux dernières solutions, les tâches doivent approuver leur temps de réservation. Selon la première approche, la référence peut être une variable locale de la tâche, et la réservation est fixe au sein de la tâche. Dans la première approche, le serveur et les références négocient la réservation à partir d'un ensemble Java-Réservation qui est une extension de l'interface API de Java- RMI.. Ces extensions permettent l'identification des méthodes qui seront invoquées par la référence vers le serveur , ainsi que la distribution temporelle des invocations. Un autre type de réservation est la réservation simple, selon laquelle les références établissent la largeur de bande des sessions d'invocation et de réponse. La deuxième approche est intéressante lorsque la taille de l'ensemble des invocations et des réponses ne peut pas être évaluée statistiquement.“Remote references” because it allows different tasks (“threads”) to establish their own reservation, and thus to be able to encapsulate their own reservation, which avoids the effects of competition that other solutions can produce. In fact, according to the second and third approaches described above, a second task can modify the reservation of a first task, which will change the response time. In the latter two solutions, the tasks must approve their reservation time. According to the first approach, the reference can be a local variable of the task, and the reservation is fixed within the task. In the first approach, the server and the references negotiate the reservation from a Java-Reservation set which is an extension of the Java-RMI API interface. These extensions allow the identification of the methods which will be invoked by the reference to the server, as well as the temporal distribution of the invocations. Another type of reservation is simple reservation, whereby the references establish the bandwidth of the invocation and response sessions. The second approach is interesting when the size of the set of invocations and responses cannot be statistically evaluated.
La méthode d'invocation RMI peut être mise en œuvre avec l'outil JDK (« Java Development Kit »), dans sa version 1.2 par exemple. Cependant, cette mise en œuvre pose plusieurs problèmes que l'invention résout de la façon décrite ci -dessous, dans le cas de l'approche des références distantes.The RMI invocation method can be implemented with the JDK tool (“Java Development Kit”), in version 1.2 for example. However, this implementation poses several problems which the invention solves in the manner described below, in the case of the approach of remote references.
Lorsque deux tâches utilisent en parallèle la même référence distante, elles utilisent deux connexions différentes, et donc deux « sockets » différents. Ceci peut également se produire lorsque l'on utilise deux rappels (« callbacks » en anglais) de type RMI, et si le client rappelle le serveur à partir du rappel client, alors que le premier rappel n'est pas encore fini. Dans ce cas, la procédure RMI utilise deux « sockets » pour faire communiquer la même référence avec le même serveur. Ce procédé présente des incompatibilités avec l'approche des sessions de réservation par les interfaces API, et avec les trois approches décrites ci-dessus (association de la réservation aux différents éléments logiciels). En effet, le protocole RSNP est « orienté sessions », alors que l'implémentation JDK 1.2 est « orientée connexions ». L'implémentation JDK 1.2 utilise un nombre non limité de « sockets » pour chaque référence, tandis que les réservations sont associées à des sessions RSNP qui ne requièrent qu'un seul « socket ». Pour résoudre ce problème, l'invention propose la solution suivante, valable dans le cas de l'utilisation de Java-RMI, avec l'outil JDK 1.2. Les sessions de réservation associées aux communications entre références distantes et serveur nécessitent un seul « socket » pour toutes les invocations. L'outil JDK 1.2 utilise (ou réutilise) une connexion pour l'invocation , et un « socket » est associé à chaque connexion. L'implémentation JDK 1.2 ne permet pas d'utiliser la même connexion en parallèle pour deux invocations, sinon cela produirait des conditions de concurrence pendant les séquences d'envoi de données d'appel (« marshalling » en anglais) et la création d'appels distants. L'approche « orientée connexion » permet d'associer les réponses aux invocations (les valeurs retournées sont envoyées en utilisant la même connexion que pour l'invocation), ce qui peut être à l'origine d'une autre condition de concurrence si l'on ne respecte pas la solution présente. Le protocole JRMP (voir l'article de SUN MICROSYSTEMS : « Java Remote Method Invocation Spécification » paru en Octobre 1998) assure des possibilités de multiplexage. Leur but est de fournir un modèle dans lequel deux points terminaux peuvent ouvrir chacun des connexions multiples en duplex intégral avec l'autre point dans un environnement dans lequel seulement l'un des points terminaux est capable d'ouvrir une telle connexion bidirectionnelle en utilisant d'autres possibilités. Dans le cas présent, on utilise les facultés de multiplexage de l'invocation RMI pour réutiliser le même « socket » pour toutes les méthodes d'invocation de la même référence, et la session de réservation est générée avec ce « socket ». L'outil JDK 1.2 reconnaît l'arrivée de paquets multiplexes dans la tâche de transport (« TCPTransport ») et produit un canal TCP multiplexe pour acheminer ces paquets. Cependant, cet outil ne permet pas de configurer le multiplexage client et l'implémentation côté récepteur entraîne des temps de blocage non limités : l'implémentation fait appel à des instructions « wait » d'attente et inclut des tâches nouvelles qui ne limitent pas les temps de blocage. Il faut alors adapter les classes serveur de l'outil JDK, comme du côté client. Un autre problème lié à JDK 1.2 est le suivant. L'adresse de « socket » est encapsulée dans le sous-système JDK. Cette information est pourtant nécessaire pour créer des sessions de réservation. Si l'on crée une nouvelle couche (couche de réservation), le couches des références et de transport doivent inclure des fonctions nouvelles. L'invention propose de modifier l'implémentation de JDK 1.2 pour que le « socket » soit associé à la référence distante en utilisant les extensions ayant servi à la construction des sessions de réservation.When two tasks use the same remote reference in parallel, they use two different connections, and therefore two different "sockets". This can also occur when two callbacks (RMI) are used, and if the client calls the server from the client callback, when the first callback is not yet finished. In this case, the RMI procedure uses two "sockets" to communicate the same reference with the same server. This process has incompatibilities with the approach of reservation sessions by API interfaces, and with the three approaches described above (association of the reservation with the different software elements). Indeed, the RSNP protocol is “session oriented”, while the JDK 1.2 implementation is “connection oriented”. The JDK 1.2 implementation uses an unlimited number of "sockets" for each reference, while reservations are associated with RSNP sessions which require only one "socket". To solve this problem, the invention proposes the following solution, valid in the case of the use of Java-RMI, with the JDK 1.2 tool. The reservation sessions associated with communications between remote references and the server require a single "socket" for all invocations. The JDK 1.2 tool uses (or reuses) a connection for invocation, and a "socket" is associated with each connection. The JDK 1.2 implementation does not allow the same parallel connection to be used for two invocations, otherwise this would produce conditions of competition during the sequences of sending of call data ("marshalling" in English) and the creation of remote calls. The “connection-oriented” approach makes it possible to associate responses with invocations (the returned values are sent using the same connection as for the invocation), which can be the source of another condition of competition if the present solution is not respected. The JRMP protocol (see the article by SUN MICROSYSTEMS: "Java Remote Method Invocation Specification" published in October 1998) provides multiplexing possibilities. Their purpose is to provide a model in which two endpoints can each open multiple full duplex connections with the other point in an environment in which only one of the endpoints is capable of opening such a two-way connection using d other possibilities. In this case, we use the multiplexing capabilities of the RMI invocation to reuse the same "socket" for all the methods of invoking the same reference, and the reservation session is generated with this "socket". The JDK 1.2 tool recognizes the arrival of multiplexed packets in the transport task (“TCPTransport”) and produces a multiplexed TCP channel to route these packets. However, this tool does not allow client multiplexing to be configured and the receiver-side implementation results in unrestricted blocking times: the implementation calls for wait wait instructions and includes new tasks which do not limit the blocking time. It is then necessary to adapt the server classes of the JDK tool, as on the client side. Another problem with JDK 1.2 is as follows. The "socket" address is encapsulated in the JDK subsystem. This information is however necessary to create reservation sessions. If a new layer (reservation layer) is created, the reference and transport layers must include new functions. The invention proposes to modify the implementation of JDK 1.2 so that the "socket" is associated with the remote reference by using the extensions that were used to build the reservation sessions.
Ces problèmes et leurs solutions sont décrits dans l'article de Miguel A. de Miguel paru dans "Proceedings of ISORC 2001 (Mai 2001) et intitulé "Solutions to make Java RMI Time Predictable" . These problems and their solutions are described in the article by Miguel A. de Miguel published in "Proceedings of ISORC 2001 (May 2001) and entitled" Solutions to make Java RMI Time Predictable ".

Claims

REVENDICATIONS
1. - Procédé pour assurer le temps de latence des communications entre au moins deux points de passage de données selon un protocole orienté objet Java- RMI ou CORBA, caractérisé en ce qu'il met en oeuvre dans chaque point de passage un protocole RSNP de réservation de ressources dans la couche MW (10) de Java-RMI ou CORBA, intermédiaire entre le système d'exploitation (11) et les couches d'application (9) , en intégrant les processus et services de réservation de ressources (15) et les processus de communication dans la couche MW . 1. - Method for ensuring the latency of communications between at least two data crossing points according to a Java-RMI or CORBA object-oriented protocol, characterized in that it implements an RSNP protocol in each crossing point resource reservation in the MW-layer (10) of Java-RMI or CORBA, intermediary between the operating system (11) and the application layers (9), by integrating the resource reservation processes and services (15) and communication processes in the MW layer.
2. - Procédé selon la revendication 1, caractérisé en ce que l'on réalise les extensions de l'interface de la couche MW avec l'application pour lui donner l'accès aux services de réservation selon le protocole RSNP.2. - Method according to claim 1, characterized in that the extensions of the interface of the MW layer are carried out with the application to give it access to the reservation services according to the RSNP protocol.
3. - Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'on associe la réservation aux différents éléments logiciels intervenant dans la communication selon l'approche des références distantes.3. - Method according to one of claims 1 or 2, characterized in that the reservation is associated with the various software elements involved in the communication according to the approach of remote references.
4. - Procédé selon la revendication 3, caractérisé en ce que les opérations associées aux références distantes comprennent les opérations de détermination de la largeur de bande à utiliser, la taille maximale des paquets de données et la taille maximale des tampons nécessaires. 4. - Method according to claim 3, characterized in that the operations associated with the remote references include the operations of determining the bandwidth to be used, the maximum size of the data packets and the maximum size of the necessary buffers.
5. - Procédé selon la revendication 3 ou 4, caractérisé en ce que le protocole RSNP assure la réservation des ressources sur le trajet compris entre deux objets distants Java-RMI ou CORBA.5. - Method according to claim 3 or 4, characterized in that the RSNP protocol ensures the reservation of resources on the path between two remote Java-RMI or CORBA objects.
6. - Procédé selon l'une des revendications 3 à 5, caractérisé en ce que chaque référence distante spécifie la répartition temporelle de ses invocations, et qu'une réservation spécifique est faite pour chaque référence distante.6. - Method according to one of claims 3 to 5, characterized in that each remote reference specifies the temporal distribution of its invocations, and that a specific reservation is made for each remote reference.
7. Procédé selon la revendication 6, caractérisé en ce que les références distantes identifient l'émetteur de la réservation à l'origine de la session d'invocation, et que le serveur en fait autant pour les sessions de réponse.7. Method according to claim 6, characterized in that the remote references identify the sender of the reservation at the origin of the invocation session, and that the server does the same for the response sessions.
8. - Procédé selon la revendication 7, caractérisé en ce que la référence distante est associée à deux sessions de réservation et que deux références distantes différentes, faisant partie du même objet ou machine virtuelle référencent le même serveur et sont associées à des réservations distantes 8. - Method according to claim 7, characterized in that the remote reference is associated with two reservation sessions and that two different remote references, forming part of the same object or virtual machine reference the same server and are associated with remote reservations
EP02706845A 2001-02-12 2002-02-12 Method for providing communication waiting times between at least two data nodes Withdrawn EP1382148A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0102172A FR2820922B1 (en) 2001-02-12 2001-02-12 METHOD FOR ENSURING LATENCY TIME OF COMMUNICATIONS BETWEEN AT LEAST TWO DATA PASSING POINTS
FR0102172 2001-02-12
PCT/FR2002/000527 WO2002065680A2 (en) 2001-02-12 2002-02-12 Method for providing communication waiting times between at least two data nodes

Publications (1)

Publication Number Publication Date
EP1382148A2 true EP1382148A2 (en) 2004-01-21

Family

ID=8860135

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02706845A Withdrawn EP1382148A2 (en) 2001-02-12 2002-02-12 Method for providing communication waiting times between at least two data nodes

Country Status (4)

Country Link
US (1) US20040068558A1 (en)
EP (1) EP1382148A2 (en)
FR (1) FR2820922B1 (en)
WO (1) WO2002065680A2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8477610B2 (en) 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US9112890B1 (en) 2014-08-20 2015-08-18 E8 Storage Systems Ltd. Distributed storage over shared multi-queued storage device
US9529542B2 (en) 2015-04-14 2016-12-27 E8 Storage Systems Ltd. Lockless distributed redundant storage and NVRAM caching of compressed data in a highly-distributed shared topology with direct memory access capable interconnect
US10496626B2 (en) 2015-06-11 2019-12-03 EB Storage Systems Ltd. Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect
US9842084B2 (en) 2016-04-05 2017-12-12 E8 Storage Systems Ltd. Write cache and write-hole recovery in distributed raid over shared multi-queue storage devices
US10031872B1 (en) 2017-01-23 2018-07-24 E8 Storage Systems Ltd. Storage in multi-queue storage devices using queue multiplexing and access control
US10685010B2 (en) 2017-09-11 2020-06-16 Amazon Technologies, Inc. Shared volumes in distributed RAID over shared multi-queue storage devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
AU1680699A (en) * 1998-06-17 2000-01-05 Tellabs Research Limited A telecommunication controller messaging system
US7237012B1 (en) * 2000-12-29 2007-06-26 Nortel Networks Limited Method and apparatus for classifying Java remote method invocation transport traffic

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO02065680A2 *

Also Published As

Publication number Publication date
WO2002065680A2 (en) 2002-08-22
US20040068558A1 (en) 2004-04-08
FR2820922B1 (en) 2005-02-18
FR2820922A1 (en) 2002-08-16
WO2002065680A3 (en) 2003-09-25

Similar Documents

Publication Publication Date Title
Barzilai et al. Design and implementation of an RSVP-based quality of service architecture for an integrated services Internet
CA2679634C (en) A method and system for monitoring messages passed over a network
US10785163B2 (en) Maintaining a queuing policy with multipath traffic
JP2001034576A (en) System and method for media processing
WO2013174571A1 (en) Connectivity service orchestrator
Charbonneau et al. Advance reservation frameworks in hybrid IP-WDM networks
WO2002065680A2 (en) Method for providing communication waiting times between at least two data nodes
CN111970149B (en) Shared bandwidth implementation method based on hardware firewall QOS
Garces-Erice Building an enterprise service bus for real-time SOA: A messaging middleware stack
CN114363269A (en) Message transmission method, system, equipment and medium
Röbert et al. Latency-aware scheduling for real-time application support in edge computing
de Miguel Solutions to make Java-RMI time predictable
US20050135397A1 (en) Buffer replenishing
EP3818442B1 (en) Management of the application of a policy in an sdn environment of a communication network
Hossain et al. Quality of Service in Software Defined Networking
JP3787802B2 (en) Network service order processing apparatus and network / service management system
El Abdouni Khayari Class‐based weighted fair queueing: validation and comparison by trace‐driven simulation
WO2023088702A1 (en) Dynamic configuration of the scheduling of transmission of streams in deterministic networks
Subedi Testbed-based Evaluation of QoS Differentiation for Network Slicing in Multi-Application Scenarios
CN118708116A (en) Distributed storage server, distributed storage method and storage medium
EP1018818B1 (en) Architecture of an agent able to cooperate with CORBA applications
Sabrina et al. Design, analysis and implementation of a novel multiple resource scheduler
FR2665040A1 (en) METHOD AND DEVICE FOR BRIDGING BETWEEN LOCAL NETWORKS.
Li et al. Learning Profile based Resource Management Architecture for Active Network
CN118585310A (en) Service data processing method, device, equipment and storage medium

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030730

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

17Q First examination report despatched

Effective date: 20071120

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RTI1 Title (correction)

Free format text: METHOD FOR ENSURE COMMUNICATION WAITING TIMES BETWEEN AT LEAST TWO DATA NODES

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20090616