News Column

Patent Issued for Producer-Consumer Data Transfer Using Piecewise Circular Queue

August 26, 2014

By a News Reporter-Staff News Editor at Information Technology Newsweekly -- According to news reporting originating from Alexandria, Virginia, by VerticalNews journalists, a patent by the inventors Ostrovsky, Igor (Bellevue, WA); Toub, Stephen H. (Seattle, WA), filed on September 12, 2011, was published online on August 12, 2014.

The assignee for this patent, patent number 8806168, is Microsoft Corporation (Redmond, WA).

Reporters obtained the following quote from the background information supplied by the inventors: "A producer-consumer pattern is a common programming pattern employed in programming of multi-core computers or other multi-processor computers. The producer-consumer pattern includes one or more computational producer threads that produce values and one or more computational consumer threads that consume the values produced by the producer thread(s) and process the values. In one illustrative example producer-consumer pattern, one producer thread polls a web service and generates a new stock price value every time a stock price changes. In this illustrative example, one consumer thread consumes the new stock price values and responds to the stock price changes by re-evaluating a current portfolio.

"In order to allow the producer thread and the consumer thread to execute concurrently, the producer thread preferably does not wait on the consumer thread. If the producer thread produces a value but the consumer thread is busy, the producer thread typically temporarily places the value into a queue data structure. When the consumer thread is ready to consume and process another value, the consumer thread checks the queue data structure for more work."

In addition to obtaining background information on this patent, VerticalNews editors also obtained the inventors' summary information for this patent: "This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

"The disclosure is directed to a producer-consumer pattern having a producer thread that produces values, a piecewise circular queue data structure for storing the produced values, and a consumer thread that consumes and processes the stored values. The piecewise circular queue includes a first array having a first tail pointer and a first linking pointer. If a number of values stored in the first array is less than a capacity of the first array, an enqueue operation writes a new value at a storage location pointed to by the first tail pointer and advances the first tail pointer. If the number of values stored in the first array is equal to the capacity of the first array, a second array is allocated in the queue. The second array has a second tail pointer. The first array is linked to the second array with the first linking pointer. An enqueue operation writes the new value at a storage location pointed to by the second tail pointer and advances the second tail pointer."

For more information, see this patent: Ostrovsky, Igor; Toub, Stephen H.. Producer-Consumer Data Transfer Using Piecewise Circular Queue. U.S. Patent Number 8806168, filed September 12, 2011, and published online on August 12, 2014. Patent URL:

Keywords for this news article include: Microsoft Corporation, Information Technology, Information and Data Architecture.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC

For more stories covering the world of technology, please see HispanicBusiness' Tech Channel

Source: Information Technology Newsweekly

Story Tools Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters