The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jun. 28, 2016

Filed:

Oct. 18, 2013
Applicant:

Argyle Data, Inc., San Mateo, CA (US);

Inventors:

Raymond J. Huetter, San Mateo, CA (US);

Craig A McIntyre, San Mateo, CA (US);

Myvan Quoc, Fremont, CA (US);

David I. Cracknell, Cupertino, CA (US);

Alka Yamarti, Gachibowi, IN;

David I Gotwisner, Castro Valley, CA (US);

Assignee:

Argyle Data, Inc., San Mateo, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/46 (2006.01); G06F 9/45 (2006.01); G06F 9/50 (2006.01); G06F 17/30 (2006.01); G06F 9/52 (2006.01); G06F 9/54 (2006.01);
U.S. Cl.
CPC ...
G06F 9/5016 (2013.01); G06F 9/524 (2013.01); G06F 9/544 (2013.01); G06F 17/30321 (2013.01);
Abstract

In general, techniques are described for parallelizing a high-volume data stream using a data structure that enables lockless access by a multi-threaded application. In some examples, a multi-core computing system includes an application that concurrently executes multiple threads on cores of the system. The multiple threads include one or more send threads each associated with a different lockless data structure that each includes both a circular buffer and a queue. One or more receive threads serially retrieve incoming data from a data stream or input buffer, copy data blocks to one of the circular buffers, and push metadata for the copied data blocks to the queue. Each of the various send threads, concurrent to the operation of the receive threads, dequeues the next metadata from its associated queue, reads respective blocks of data from its associated circular buffers based on metadata information, and offloads the block to a server.


Find Patent Forward Citations

Loading…