Data processing system

US2018331976A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018331976-A1
Application numberUS-201815978049-A
CountryUS
Kind codeA1
Filing dateMay 11, 2018
Priority dateMay 12, 2017
Publication dateNov 15, 2018
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data processing system has a poll mode driver and a library supporting protocol processing. The poll mode driver and the library are non-operating system functionalities. An application is provided. An operation system is configured while executing in kernel mode and in response to the application being determined to be unresponsive, use a helper process being an operating system functionality executing at user-mode to cause a receive or transmit mode of the application to continue.

First claim

Opening claim text (preview).

We claim: 1 . A method for transmitting data comprising: forming by means of an application data to be transmitted; writing the data to a data buffer; using a first non-operating system functionality supporting a network interface device and a second non-operating-system functionality for performing protocol processing to cause the data to be transmitted over the network via the network interface device; and in response to the application being determined to be unresponsive, accessing by an operating system the data buffer and its corresponding connection state and requesting transmission of the data in said data buffer by means of a first helper process, said helper process being an operating system functionality executing at user-mode to cause the data to be transmitted over the network via the network interface device. 2 . The method as claimed in claim 1 , wherein the first non-operating-system functionality comprises a DPDK functionality. 3 . The method as claimed in claim 2 , wherein the DPDK functionality comprises a PMD. 4 . The method as claimed in claim 1 , comprising using virtual interface code to communicate between said user level and said kernel. 5 . The method as claimed in claim 2 , comprising using the helper process to cause descriptors from said DPDK functionality to be written to a pseudo virtual interface. 6 . The method as claimed in claim 5 , comprising using by said pseudo virtual interface the descriptors to poll a protocol processing function provided by said operating system executing in kernel mode for updated descriptors. 7 . The method as claimed in claim 6 , wherein the polling causes a retransmission to be performed via the first helper process. 8 . The method as claimed in claim 7 , wherein the polling causes a scheduling of said application. 9 . The method as claimed in claim 1 , wherein the method comprises causing by the first helper process said updated descriptors to be written from the pseudo virtual interface to the DPDK functionality. 10 . The method as claimed in claim 1 , wherein the method comprises indicating, using a second helper process, to the operating system a state of said first non-operating-system functionality. 11 . The method as claimed in claim 1 , wherein the method comprises indicating, using a second helper process, to the operating system a presence of data in said data buffer for a given amount of time. 12 . The method as claimed in claim 1 , wherein the method comprises indicating, using a second helper process, to the operating system that an interface requires attention. 13 . The method of claim 1 , wherein the method comprises communicating with a first network interface device via said first non-operating system functionality and with a second network interface device via user mode virtual interface code and virtual interface code in said operating system. 14 . A data processing system comprising: a processor subsystem having access to a memory and the network interface device capable of supporting a communication link; a first non-operating system functionality for supporting a network interface device; a second non-operating system functionality for performing protocol processing an application configured in a transmit mode to, while executing on the processor subsystem, form data to be transmitted, cause the data to be written to a data buffer, said first and the second non-operating-system functionalities of the data processing system causing the data to be transmitted over the network via the network interface device; and an operating system configured to, while executing on the processor subsystem in kernel mode and in response to the application being determined to be unresponsive, access the data buffer and its corresponding connection state and request transmission of the data in said data buffer by means of a first helper process, said helper process being an operating system functionality executing at user-mode to cause the data to be transmitted over the network via the network interface device. 15 . A data processing system as claimed in claim 14 , wherein said first non-operating-system functionality comprises a DPDK functionality. 16 . A data processing system as claimed in claim 15 , wherein said DPDK functionality comprises a PMD. 17 . A data processing functionality as claimed in claim 15 , comprising using virtual interface code to communicate between said user level and said kernel. 18 . A data processing system as claimed in claim 15 , wherein said helper process is configured to cause descriptors from said DPDK functionality to be written to a pseudo virtual interface. 19 . A data processing system as claimed in claim 18 , wherein said descriptors written to said pseudo virtual interface are used by said pseudo virtual interface to poll a protocol processing function provided by said operating system executing in kernel mode for updated descriptors. 20 . A data processing system as claimed in claim 19 , wherein said polling is configured to cause a retransmission to be performed via the first helper process. 21 . A data processing system as claimed in claim 19 , wherein said polling is configured to cause scheduling of said application. 22 . A data processing system as claimed in claim 15 , comprising a library executing at user mode to provide said second non-operating system functionality. 23 . A data processing system as claimed in claim 19 , wherein said helper process is configured to cause said updated descriptors to be written from the pseudo virtual interface to the DPDK functionality. 24 . A data processing system as claimed in claim 15 , wherein said data buffer memory is provided in address space accessible by said application and said operating system. 25 . A data processing system as claimed in claim 15 , comprising a second helper process configured to indicate to the operating system a state of said first non-operating-system functionality. 26 . A data processing system as claimed in claim 15 , comprising a second helper process configured to indicate to the operating system a presence of data in said data buffer for a given amount of time. 27 . A data processing system as claimed in claim 15 , comprising a second helper process configured to indicate to the operating system that an interface requires attention. 28 . A data processing system as claimed in claim 25 , wherein said second helper is provided on a first core and said second helper is provided on a different core, said application being provided on said different core. 29 . A data processing system as claimed in claim 28 , comprising at least one further application, each application being on a different core with a respective first helper process. 30 . A data processing system as claimed in claim 29 , wherein said second helper process is configured to control each of said respective first helper processes. 31 . A data processing system as claimed in claim 15 , comprising a first network interface device and a second network interface device, said first network interface device configured to communicate with said application via said first non-operating system functionality and said second network interface device configured to communicate with said application via user mode

Assignees

Inventors

Classifications

  • involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title

  • Definitions, standards or architectural aspects of layered protocol stacks · CPC title

  • Common buffer combined with individual queues · CPC title

  • Parsing or analysis of headers · CPC title

  • H04L49/354Primary

    for supporting virtual local area networks [VLAN] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2018331976A1 cover?
A data processing system has a poll mode driver and a library supporting protocol processing. The poll mode driver and the library are non-operating system functionalities. An application is provided. An operation system is configured while executing in kernel mode and in response to the application being determined to be unresponsive, use a helper process being an operating system functionalit…
Who is the assignee on this patent?
Solarflare Communications Inc
What technology area does this patent fall under?
Primary CPC classification H04L49/354. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Nov 15 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).