Method for Distributing a Network Stream

US2022358056A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2022358056-A1
Application numberUS-202217738691-A
CountryUS
Kind codeA1
Filing dateMay 6, 2022
Priority dateMay 10, 2021
Publication dateNov 10, 2022
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.

The invention relates to a method for distributing a network stream from at least one data source to a plurality of processors or processor cores of a computing device. The computing device has a network card which supports the receive side scaling (RSS) function, wherein, when this function is activated, the network card or its device driver generates an RSS indirection table (25) in which there is stored, for each index, the number of a processor or processor core, which will process an incoming data packet assigned to this index, and subsequently the network card calculates a hash value for each incoming data packet and maps the hash value to an index in precisely this table, wherein the hash value is formed via the combination of source and destination IP addresses and ports and is thus static for the duration of the connection. The method comprises the steps of specifying (34) at least one processor or processor core of the computing device, selecting (35) a port of the at least one data source, generating (36) a data set assigned to the selected port, determining (37) the processor or processor core assigned to the data set, repeating the steps of selection (35), generation (36) and determination (37) until a port has been determined for each specified processor or processor core, and sending (39) data packets via the ports determined for the specified processors or processor cores.

First claim

Opening claim text (preview).

1 . Method for distributing a network stream from at least one data source to processors or processor cores (K 0 -K 3 ) of a computing device ( 11 ) having a network card which supports the receiver side scaling (RSS) function, wherein, when this function is activated, the network card or its device driver generates an RSS indication table ( 25 ) in which there is stored, for each index, the number of a processor or processor core (K 0 -K 3 ), which will process an incoming data packet assigned to this index, and subsequently the network card calculates a hash value ( 23 ) for each incoming data packet and maps the hash value ( 23 ) to an index in precisely this table, wherein the hash value is formed via the combination of source and destination IP addresses and ports and is thus static for the duration of the connection, the method comprising the following steps: a) specifying ( 34 ) at least one processor or processor core (K 0 -K 3 ) of the computing device ( 11 ), b) selecting ( 35 ) a port of the at least one data source, c) generating ( 36 ) a data set ( 20 ) assigned to the selected port, d) determining ( 37 ) the processor or processor core (K 0 -K 3 ) assigned to the data set ( 20 ), e) repeating steps b to d until a port has been determined for each specified processor or processor core (K 0 -K 3 ), and f) sending ( 39 ) data packets ( 20 a , 20 b ) via the ports determined for the specified processors or processor cores (K 0 -K 3 ). 2 . Method according to claim 1 , characterised in that the data source is a camera ( 10 ). 3 . Method according to claim 1 or 2 , characterised in that a list of processors or processor cores (K 0 -K 3 ) is read from the RSS indirection table ( 25 ) of the computing device ( 11 ) and is provided ( 33 ) to a user via a user interface in step a for specifying the at least one processor or processor core (K 0 -K 3 ). 4 . Method according to one of claims 1 to 3 , characterised in that the port is selected ( 35 ) by selecting a port with a specified port number in a first execution of step b and by increasing the port number by one with each repetition of step b. 5 . Method according to one of claims 1 to 4 , characterised in that when generating ( 36 ) the data set in step c, a hash value ( 23 ) is generated and some bits ( 24 ) of the hash value ( 23 ) are used to select an entry in the RSS indirection table ( 25 ) of the computing device ( 11 ). 6 . Method according to one of claims 1 to 5 , characterised in that the processor or processor core (K 0 -K 3 ) is determined ( 37 ) in step d by reading the RSS indirection table ( 25 ) of the computing device ( 11 ). 7 . Method according to one of claims 1 to 6 , characterised in that during the sending ( 39 ) in step f, if a plurality of ports have been determined for a specified processor or processor core (K 0 -K 3 ), data packets ( 20 a , 20 b ) are sent to only one of these ports. 8 . Method according to one of claims 1 to 7 , characterised in that a plurality of processors or processor cores (K 0 -K 3 ) are specified and image data packets are sent to one or more first processors or processor cores (K 0 -K 3 ) and image processing is performed in one or more second processors or processor cores (K 0 -K 3 ). 9 . Method according to one of claims 1 to 7 , characterised in that a plurality of processors or processor cores (K 0 -K 3 ) are specified and, in each case after a predefined switching interval, a change is made from sending ( 39 ) to one processor or processor core (K 0 -K 3 ) to sending ( 39 ) to another processor or processor core (K 0 -K 3 ). 10 . Method according to one of claims 1 to 7 , characterised in that a plurality of processors or processor cores (K 0 -K 3 ) are specified and, in the case of a plurality of data streams flowing from the at least one data source to the computing device ( 11 ), all data packets ( 20 a , 20 b ) of a data stream are sent to one processor or processor core (K 0 -K 3 ) assigned to the data stream in each case. 11 . Two computer programs which are designed to jointly perform each step of a method according to one of claims 1 to 10 . 12 . Machine-readable storage medium on which at least one of the computer programs according to claim 11 is stored. 13 . Camera ( 10 ) designed, by means of a method according to one of claims 1 to 10 , to distribute a network stream to processors or processor cores (K 0 -K 3 ) of a computing device ( 11 ) having a network card supporting the receive side scaling (RSS) function.

Assignees

Inventors

Classifications

  • H04L69/164Primary

    Adaptation or special uses of UDP protocol · CPC title

  • G06F13/12Primary

    using hardware independent of the central processor, e.g. channel or peripheral processor · CPC title

  • Hash tables · 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 US2022358056A1 cover?
The invention relates to a method for distributing a network stream from at least one data source to a plurality of processors or processor cores of a computing device. The computing device has a network card which supports the receive side scaling (RSS) function, wherein, when this function is activated, the network card or its device driver generates an RSS indirection table (25) in which the…
Who is the assignee on this patent?
Balluff Gmbh
What technology area does this patent fall under?
Primary CPC classification H04L69/164. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Nov 10 2022 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).