News Column

Patent Application Titled "Systems and Methods for Enabling Parallel Processing of Write Transactions" Published Online

May 13, 2014



By a News Reporter-Staff News Editor at Information Technology Newsweekly -- According to news reporting originating from Washington, D.C., by VerticalNews journalists, a patent application by the inventors Perrin, Neil Veness (Westminster, CO); Bourbonnais, Roch (Cottier, FR); Lewis, Bradley Romain (Broomfield, CO), filed on October 19, 2012, was made available online on May 1, 2014.

The assignee for this patent application is Oracle International Corporation.

Reporters obtained the following quote from the background information supplied by the inventors: "As the number of computing devices increase across society, electronic data management has become increasingly challenging. Modern devices create and use ever increasing amounts of electronic data ranging from digital photos and videos, to large data sets related to any number of topics including energy exploration, human resources, seismic activity, and gene research. This explosion in digital data has naturally led to ever increasingly large amounts of data that must be stored. Correspondingly, the data storage field is under constant pressure to increase size, performance, accessibility, reliability, security, and efficiency of data storage systems.

"Computing devices typically include file systems that provide procedures for storing, retrieving, and updating data associated with operations performed by an application or program executing on those computing devices. These file systems also manage the available space on the device(s) that store such data. It is important that file systems also be equipped with data recovery tools to minimize the loss of pertinent data as a result of a failure event or loss of power, such as from a power failure or hardware failure.

"As a result, conventional file systems may include an intent logging feature to improve the resiliency of computer operations in the event of such failures. Intent logging refers to a process where the file system writes a record of the intent to perform a particular operation before actually performing that particular operation. The record is usually written to an intent log that is maintained in some relatively permanent or otherwise non-volatile medium, such as a hard disk.

"In such conventional file systems, the intent log is configured to perform a batch commit for multiple I/O request received over time. As an example, as the intent log receives a series of I/O requests over a period of time, the requests are batched and committed collectively to write the data to the appropriate, storage area and/or slog. As a result, the storage area may receive a burst of writes during certain periods, which can add a significant amount of overhead, which reduces overall processing performance.

"It is with these and other issues in mind that various aspects of the present disclosure were developed."

In addition to obtaining background information on this patent application, VerticalNews editors also obtained the inventors' summary information for this patent application: "According to one aspect, a system is provided for processing two or more write requests in parallel. The system includes at least one processor and a file system executing on the at least one processor. The file system receives a series of write requests from at least one application being executed by the at least one processor. Each write request includes detail data and a thread for writing data. The system also includes at least one processing module that is executed in response to the series of write requests.

"The at least one processing module determines whether a first transaction list is eligible for processing based on at least one first thread processing attribute associated with the first transaction list. The first transaction list includes a first one or more corresponding transaction records. Each of the first or more transaction records identify first corresponding detail data and a first corresponding thread. The at least one processing module also executes the first corresponding thread for the first one or more corresponding transaction records to write the first corresponding detail data to a first at least one allocated block when the first transaction list is eligible for processing.

"The at least one processing module also determines whether a second transaction list is eligible for processing based on the at least one first thread processing attribute and at least one second thread processing attribute associated with the second transaction list. The second transaction list includes a second one or more corresponding transaction records. Each of the second one or more corresponding transaction records identify second corresponding detail data and a second corresponding thread. The at least one processing module also executes the second corresponding thread for the second one or more corresponding transaction records during execution of the first thread to write the corresponding detail data to a second at least one allocated block when the second list is eligible for processing.

"According to one aspect, a method is provided for processing two or more threads in parallel. The method includes receiving a series of write requests from at least one application at at least one processor. Each write request includes detail data and a thread for writing data. The method also includes determining whether a first transaction list is eligible for processing at the at least one processor based on at least one first thread processing attribute associated with the first transaction list. The first transaction list includes a first one or more corresponding transaction records that each identifies first corresponding detail data and a first corresponding thread. The method also includes processing a first corresponding thread for the first one or more corresponding transaction records at the at least one processor to write the corresponding detail data to a first at least one allocated block when the first transaction list is eligible for processing.

"The method also includes determining whether a second transaction list is eligible for processing at the at least one processor based on the at least one first thread processing attribute and at least one second thread processing attribute associated with the second transaction list. The second transaction list includes a second one or more corresponding transaction records that each identifies second corresponding detail data and a second corresponding thread. The method further includes processing a second corresponding thread for the second one or more corresponding transaction records at the at least one processor during execution of the first thread to write the corresponding detail data to a second at least one allocated block when the second list is eligible for processing.

"According to one aspect, a system is provided for processing two or more write requests in parallel. The system includes at least one processor and a file system executing on the at least one processor. The file system receives a series of write requests from at least one application being executed by the at least one processor. Each write request includes detail data and a thread for writing data. The system also includes at least one processing module that is executed in response to the series of write requests.

"The at least one processing module determines whether a first train is eligible for processing based on at least one first thread processing attribute associated with the first train. The first train includes at least one first car and each car includes a first one or more corresponding transaction records. Each of the first one or more corresponding transaction records identify first corresponding detail data and a first corresponding thread. The at least one processing module also executes the first corresponding thread for the first one or more corresponding transaction records to write the first corresponding detail data to a first at least one allocated block when the first transaction list is eligible for processing.

"The at least one processing module also determines whether a second train is eligible for processing based on the at least one first thread processing attribute and at least one second thread processing attribute associated with the second train. The second car at least one second car and each second car includes a second one or more corresponding transaction records. Each of the second one or more corresponding transaction records identify second corresponding detail data and a second corresponding thread. The at least one processing module also executes the second corresponding thread for the second one or more corresponding transaction records during execution of the first thread to write the corresponding detail data to a second at least one allocated block when the second list is eligible for processing.

BRIEF DESCRIPTION OF THE FIGURES

"Aspects of the present disclosure may be better understood and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. It should be understood that these drawings depict only typical embodiments of the present disclosure and, therefore, are not to be considered limiting in scope.

"FIG. 1 is a block diagram of a computing environment for implementing a parallel processing system according to one aspect of the disclosure.

"FIG. 2A illustrates a conventional batching process for write requests.

"FIG. 2B is a block diagram illustrating a processing sequence of transactions via the conventional batching process.

"FIG. 3A illustrates a parallel batching process for write requests according to aspects of the parallel processing system.

"FIG. 3B is a block diagram illustrating a processing sequence of transactions via the parallel batching process.

"FIG. 4A is a block diagram of a file system configured with processing modules according to one aspect of the parallel processing system.

"FIG. 4B is a block diagram of a write request.

"FIG. 4C is a block diagram of a train with cars according to one aspect of the parallel processing system.

"FIGS. 5A and 5B are block diagrams depicting the assignment of transaction records to trains.

"FIG. 5C is a block diagram depicting cars of a train.

"FIG. 6A is a block diagram illustrating the operations associated with a thread according to one aspect of the disclosure.

"FIG. 6B is a block diagram illustrating the operations associated with multiple threads in a parallel processing scheme according to one aspect of the disclosure.

"FIG. 7 illustrates a method for implementing parallel processing of write requests according to one aspect of the parallel processing system."

For more information, see this patent application: Perrin, Neil Veness; Bourbonnais, Roch; Lewis, Bradley Romain. Systems and Methods for Enabling Parallel Processing of Write Transactions. Filed October 19, 2012 and posted May 1, 2014. Patent URL: http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.html&r=728&p=15&f=G&l=50&d=PG01&S1=20140424.PD.&OS=PD/20140424&RS=PD/20140424

Keywords for this news article include: Information Technology, Information and Data Storage, Oracle International Corporation.

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






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters