EP1565826B1

Network interface and protocol supporting mappings of virtual memory locations at different processing devices

Abstract

This record has no abstract on file.

EP1565826B1, drawing sheet 1
Sheet 1 of 14

Term

Term ended

Expired 15 September 2023, 3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

16 claims: 16 independent, 0 dependent

  1. 1
    A communication interface (31) for providing an interface between a data link (22) and a data processor (20), the data processor being capable of supporting an operating system and a user application, the communication interface being characterised in that it is arranged to:support a first queue of data received over the link (54) and addressed to a logical data port (55) associated with a user application;support a second queue of data received over the link and identified as being directed to the operating system, the second queue being configured to store a message indicating a port to which data has been delivered;andanalyse data received over the link and identified as being directed to the operating system or the data port to determine whether that data meets one or more predefined criteria, and if it does meet the criteria transmit to the operating system the message indicating the port to which data has been delivered and an interrupt to wake the user application, the predefined criteria being that when the processing of an application with which a data port is associated is suspended, the communication interface is configured to transmit an interrupt to the operating system on receiving data identified as being directed to that data port. Interface de communication (31) pour former une interface entre une liaison de données (22) et un processeur de données (20), le processeur de données étant capable de supporter un système d'exploitation et une application utilisateur, l'interface de communication étant caractérisée en ce qu'elle est agencée de sorte à : supporter une première file d'attente de données reçues sur la liaison (54) et adressées à un port de données logiques (55) associé à une application utilisateur ;supporter une deuxième file d'attente de données reçues sur la liaison et identifiées comme étant dirigées vers le système d'exploitation, la deuxième file d'attente étant configurée pour stocker un message indiquant un port auquel les données ont été transmises ;etanalyser les données reçues sur la liaison et identifiées comme étant dirigées vers le système d'exploitation ou vers le port de données pour déterminer si les données satisfont à un critère ou plusieurs critères prédéfini(s) et, si elles satisfont aux critères, transmettre au système d'exploitation le message indiquant le port auquel les données ont été transmises et une interruption pour réveiller l'application utilisateur, les critères prédéfinis étant que, lorsque le traitement d'une application à laquelle est associé un port de données est suspendu, l'interface de communication est configurée de sorte à transmettre une interruption au système d'exploitation sur réception de données identifiées comme étant dirigées vers le port de données. Kommunikationsschnittstelle (31) zum Bereitstellen einer Schnittstelle zwischen einer Daten-Link (22) und einem Datenprozessor (20), wobei der Datenprozessor ein Betriebssystem und eine Benutzeranwendung unterstützen kann, wobei die Kommunikationsschnittstelle dadurch gekennzeichnet ist, dass sie ausgelegt ist zum: Unterstützen einer ersten Warteschlange von Daten, die über die Link (54) empfangen und an einen mit einer Benutzeranwendung assoziierten logischen Datenport (55) adressiert sind;Unterstützen einer zweiten Warteschlange von Daten, die über die Link empfangen werden und als an das Betriebssystem gerichtet identifiziert sind, wobei die zweite Warteschlange zum Speichern einer Nachricht konfiguriert ist, die einen Port anzeigt, zu dem Daten geliefert wurden;undAnalysieren von Daten, die über die Link empfangen werden und als an das Betriebssystem oder den Datenport gerichtet identifiziert sind, um festzustellen, ob diese Daten ein oder mehrere vordefinierte Kriterien erfüllen, und wenn sie die Kriterien erfüllen, Senden der Nachricht, die den Port anzeigt, zu dem Daten geliefert wurden, und eines Interrupt zum Aufwecken der Benutzeranwendung zu dem Betriebssystem, wobei das vordefinierte Kriterium das ist, dass, wenn die Verarbeitung einer Anwendung, mit der ein Datenport assoziiert ist, unterbrochen wird, die Kommunikationsschnittstelle zum Senden eines Interrupt zum Betriebssystem nach dem Empfang von als an diesen Datenport gerichtet identifizierten Daten konfiguriert ist.
  2. 2
    A communication interface as claimed in claim 1, wherein the user application has an address space and the first queue is located in that address space. Interface de communication selon la revendication 1, dans lequel l'application utilisateur comporte un espace adresse et la première fille d'attente est située dans cet espace adresse. Kommunikationsschnittstelle nach Anspruch 1, wobei die Benutzeranwendung einen Adressraum hat und die erste Warteschlange sich in diesem Adressraum befindet.
  3. 3
    A communication interface as claimed in claim 1 or 2, wherein the operating system has an address space and the second queue is located in that address space. Interface de communication selon, soit la revendication 1, soit la revendication 2, dans lequel le système d'exploitation comporte un espace adresse et la deuxième file d'attente est située dans cet espace adresse. Kommunikationsschnittstelle nach Anspruch 1 oder 2, wobei das Betriebssystem einen Adressraum hat und die zweite Warteschlange sich in diesem Adressraum befindet.
  4. 4
    A communication interface as claimed in claim 3 as dependent on claim 2, wherein the user application and the operating system have the same address space. Interface de communication selon la revendication 3 telle que relevant de la revendication 2, dans lequel l'application utilisateur et le système d'exploitation comportent le même espace adresse. Kommunikationsschnittstelle nach Anspruch 3 in Abhängigkeit von Anspruch 2, wobei die Benutzeranwendung und das Betriebssystem denselben Adressraum haben.
  5. 5
    A communication interface as claimed in any preceding claim, the communication interface being arranged apply to the first queue data received over the link and identified as being directed to the data port. Interface de communication selon l'une quelconque des revendications précédentes, l'interface de communication étant agencée pour appliquer à la première file d'attente des données reçues sur la liaison et identifiées comme étant dirigées vers le port de données. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei die Kommunikationsschnittstelle zum Anwenden von Daten, die über die Link empfangen werden und als an den Datenport gerichtet identifiziert sind, auf die erste Warteschlange ausgelegt ist.
  6. 6
    A communication interface as claimed in any preceding claim, the communication interface being arranged apply to the second queue data received over the link and identified as being directed to the operating system. Interface de communication selon l'une quelconque des revendications précédentes, l'interface de communication étant agencée pour appliquer à la deuxième file d'attente des données reçues sur la liaison et identifiées comme étant dirigées vers le système d'exploitation. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei die Kommunikationsschnittstelle zum Anwenden der Daten, die über die Link empfangen werden und als an das Betriebssystem gerichtet identifiziert sind, auf die zweite Warteschlange ausgelegt ist.
  7. 7
    A communication interface as claimed in any preceding claim, wherein one of the predefined criteria is such that if the data received over the link is out of band data then the communication interface will transmit an interrupt to the operating system. Interface de communication selon l'une quelconque des revendications précédentes, dans lequel l'un des critères prédéfinis est tel que si les données reçues sur la liaison sont des données hors bande, alors l'interface de communication transmet une interruption au système d'exploitation. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei eines der vordefinierten Kriterien derart ist, dass, wenn die über die Link empfangenen Daten außerbandige Daten sind, die Kommunikationsschnittstelle dann einen Interrupt zum Betriebssystem sendet.
  8. 8
    A communication interface as claimed in claim 1, wherein the communication interface is arranged to transmit the interrupt and the message only if the data is indicative of an error condition. Interface de communication selon la revendication 1, dans lequel l'interface de communication est agencée de sorte à transmettre l'interruption et uniquement le message si les données révèlent une condition d'erreur. Kommunikationsschnittstelle nach Anspruch 1, wobei die Kommunikationsschnittstelle zum Senden des Interrupt und der Nachricht nur dann ausgelegt ist, wenn die Daten einen Fehlerzustand anzeigen.
  9. 9
    A communication interface as claimed in any preceding claim, wherein the communication interface is arranged to support a third queue of data received over the link and addressed to a logical data port associated with a user application, and is arranged to apply to the first queue data units received over the link and of a form having a fixed length and to apply to the third queue data units received over the link and of a form having a variable length. Interface de communication selon l'une quelconque des revendications précédentes, dans lequel l'interface de communication est agencée de sorte à supporter une troisième file d'attente de données reçues sur la liaison et adressées à un port de données logiques avec une application utilisateur, et est agencée pour appliquer à la première file d'attente des unités de données reçues sur la liaison et selon un format ayant une longueur fixe et pour appliquer à la troisième file d'attente des unités de données sur la liaison et sous un format ayant une longueur variable. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei die Kommunikationsschnittstelle zum Unterstützen einer dritten Warteschlange von Daten ausgelegt ist, die über die Link empfangen werden und an einen mit einer Benutzeranwendung assoziierten logischen Datenport adressiert sind, und zum Anwenden von über die Link empfangenen Dateneinheiten einer Form mit einer festen Länge auf die erste Warteschlange und zum Anwenden von Dateneinheiten, die über die Link empfangen werden und eine Form mit einer variablen Länge haben, auf die dritte Warteschlange ausgelegt ist.
  10. 10
    A communication interface as claimed in claim 9, wherein the data units of a fixed size include messages received over the link and interpreted by the communication interface as indicating an error status. Interface de communication selon la revendication 9, dans lequel les unités de données ayant une taille fixe incluent des messages reçus sur la liaison et interprétés par l'interface de communication comme indiquant une condition d'erreur. Kommunikationsschnittstelle nach Anspruch 9, wobei die Dateneinheiten einer festen Größe Nachrichten enthalten, die über die Link empfangen und von der Kommunikationsschnittstelle als einen Fehlerstatus anzeigend interpretiert werden.
  11. 11
    A communication interface as claimed in claim 9 or 10, wherein the data units of a fixed size include messages received over the link and interpreted by the communication interface as indicating a request for or acknowledgement of set-up of a connection. Interface de communication selon, soit la revendication 9, soit la revendication 10, dans lequel les unités de données ayant une taille fixe incluent des messages reçus sur la liaison et interprétés par l'interface de communication comme indiquant une demande d'accusé de réception d'un établissement de connexion. Kommunikationsschnittstelle nach Anspruch 9 oder 10, wobei die Dateneinheiten einer festen Größe Nachrichten beinhalten, die über die Link empfangen werden und von der Kommunikationsschnittstelle als eine Anforderung für oder eine Quittierung des Einrichtens einer Verbindung anzeigend interpretiert werden.
  12. 12
    A communication interface as claimed in any of claims 9 to 11, wherein the data units of a fixed size include messages received over the link and interpreted by the communication interface as indicating a data delivery event. Interface de communication selon l'une quelconque des revendications 9 à 11, dans lequel les unités de données ayant une taille fixe incluent des messages reçus sur la liaison et interprétés par l'interface de communication comme indiquant un évènement de transmission de données. Kommunikationsschnittstelle nach einem der Ansprüche 9 bis 11, wobei die Dateneinheiten einer festen Größe Nachrichten beinhalten, die über die Link empfangen und von der Kommunikationsschnittstelle als ein Datenlieferereignis anzeigend interpretiert werden.
  13. 13
    A communication interface as claimed in any preceding claim, wherein the communication interface is arranged to analyse the content of each data unit received over the link and to determine to apply data to the second queue if the interrupt is generated. Interface de communication selon l'une quelconque des revendications précédentes, dans lequel l'interface de communication est agencée de sorte à analyser le contenu de chaque unité de données reçue sur la liaison et pour déterminer l'application des données à la deuxième file d'attente en cas de génération de l'interruption. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei die Kommunikationsschnittstelle zum Analysieren des Inhalts jeder über die Link empfangenen Dateneinheit und zum Bestimmen des Anwendens von Daten auf die zweite Warteschlange ausgelegt ist, wenn der Interrupt erzeugt wird.
  14. 14
    A communication interface as claimed in any preceding claim, wherein the communication interface is configurable by the operating system to set the said criteria. Interface de communication selon l'une quelconque des revendications précédentes, dans lequel l'interface de communication est configurable par le système d'exploitation pour définir lesdits critères. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei die Kommunikationsschnittstelle vom Betriebssystem zum Festlegen der genannten Kriterien konfiguriert werden kann.
  15. 15
    A communication interface as claimed in any preceding claim, wherein one or both of the communication interface and the operating system is responsive to a message of a predetermined type to return a message including information indicative of the status of the port. Interface de communication selon l'une quelconque des revendications précédentes, dans lequel soit l'interface de communication, soit le système d'exploitation, ou encore les deux, réagit à un message d'un type prédéterminé de renvoyer un message incluant une information révélatrice du statut du port. Kommunikationsschnittstelle nach einem vorherigen Anspruch, wobei die Kommunikationsschnittstelle und/oder das Betriebssystem auf eine Nachricht eines vorbestimmten Typs anspricht, um eine Nachricht zurückzugeben, die den Status des Ports anzeigende Informationen enthält.
  16. 16
    A method for receiving data from a data link (22), the method implemented in a communication interface (31) for providing an interface between the data link (22) and a data processor (20), the data processor being capable of supporting an operating system and a user application, the method comprising:supporting a first queue of data received over the link (54) and addressed to a logical data port (55) associated with a user application;supporting a second queue of data received over the link and identified as being directed to the operating system, the second queue being configured to store a message indicating a port to which data has been delivered;andanalysing data received over the link and identified as being directed to the operating system or the data port to determine whether that data meets one or more predefined criteria, and if it does meet the criteria transmitting to the operating system the message indicating the port to which data has been delivered and an interrupt to the operating system to wake the user application, the predefined criteria being that when the processing of an application with which a data port is associated is suspended, the communication interface is configured to transmit an interrupt to the operating system on receiving data identified as being directed to that data port. Procédé pour recevoir des données en provenance d'une liaison de données (22), le procédé implémenté dans une interface de communication (31) pour former une interface entre la liaison de données (22) et un processeur de données (20), le processeur de données étant capable de supporter un système d'exploitation et une application utilisateur, le procédé consistant à : supporter une première file d'attente de données reçues sur la liaison (54) et adressées à un port de données logiques (55) associé à une application utilisateur ;supporter une deuxième file d'attente de données reçues sur la liaison et identifiées comme étant dirigées vers le système d'exploitation, la deuxième file d'attente étant configurée pour stocker un message indiquant un port auquel les données ont été transmises ;etanalyser les données reçues sur la liaison et identifiées comme étant dirigées vers le système d'exploitation ou vers le port de données pour déterminer si les données satisfont à un critère ou à plusieurs critères prédéfini(s) et, si elles satisfont aux critères, transmettre au système d'exploitation le message indiquant le port auquel les données ont été transmises et une interruption au système d'exploitation pour réveiller l'application utilisateur, les critères prédéfinis étant que, lorsque le traitement d'une application à laquelle est associé un port de données est suspendu, l'interface de communication est configurée de sorte à transmettre une interruption au système d'exploitation sur réception de données identifiées comme étant dirigées vers le port de données. Verfahren zum Empfangen von Daten von einer Daten-Link (22), wobei das Verfahren in einer Kommunikationsschnittstelle (31) zum Bereitstellen einer Schnittstelle zwischen der Daten-Link (22) und einem Datenprozessor (20) implementiert wird, wobei der Datenprozessor ein Betriebssystem und eine Benutzeranwendung unterstützen kann, wobei das Verfahren Folgendes beinhaltet: Unterstützen einer ersten Warteschlange von Daten, die über die Link (54) empfangen wird und an einen mit einer Benutzeranwendung assoziierten logischen Datenport (55) adressiert ist;Unterstützen einer zweiten Warteschlange von Daten, die über die Link empfangen werden und als an das Betriebssystem gerichtet identifiziert sind, wobei die zweite Warteschlange zum Speichern einer Nachricht konfiguriert ist, die einen Port anzeigt, an den Daten geliefert wurden;undAnalysieren von Daten, die über die Link empfangen werden und als an das Betriebssystem oder den Datenport gerichtet identifiziert sind, um festzustellen, ob diese Daten ein oder mehrere vordefinierte Kriterien erfüllen, und wenn sie die Kriterien erfüllen, Senden der Nachricht, die den Port anzeigt, zu dem Daten geliefert wurden, und eines Interrupt zu dem Betriebssystem, um die Benutzeranwendung aufzuwecken, wobei das vordefinierte Kriterium das ist, dass, wenn die Verarbeitung einer Anwendung, mit der ein Datenport assoziiert ist, unterbrochen wird, die Kommunikationsschnittstelle zum Senden eines Interrupt zu dem Betriebssystem nach dem Empfang von Daten konfiguriert ist, die als an diesen Datenport gerichtet identifiziert sind.
Independent claims16