US2012260011A1PendingUtilityA1

Efficient buffered reading with a plug-in for input buffer size determination

Assignee: FLATLAND STEINARPriority: Aug 12, 2009Filed: Apr 30, 2012Published: Oct 11, 2012
Est. expiryAug 12, 2029(~3.1 yrs left)· nominal 20-yr term from priority
G06F 16/319
35
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of buffered reading of data is provided. A read request for data is received by a buffered reader, and in response to the read request, a main memory input buffer is partially filled with the data by the buffered reader to a predetermined amount that is less than a fill capacity of the input buffer. Corresponding computer system and program products are also provided.

Claims

exact text as granted — not AI-modified
1 . A method of buffered reading of data, the method comprising:
 receiving a read request from a requestor for data by a buffered reader within a data processing system, wherein an exact amount of the data needed is unknown;   in response to the read request, obtaining a predetermined value for an amount of the data to be read and placed in a memory buffer, wherein the predetermined value is less than a fill capacity of the memory buffer;   reading by the buffered reader the amount of the data indicated by the predetermined value;   placing by the buffered reader the data read into the memory buffer; and   returning the data placed in the memory buffer to the requestor.   
     
     
         2 . The method of  claim 1 , further comprising repeating the obtaining, reading, placing and returning a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         3 . The method of  claim 2 , wherein the method is performed for a sequence of pairs of the predetermined amount and a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         4 . (canceled) 
     
     
         5 . The method of  claim 1 , wherein the predetermined amount comprises a number of characters. 
     
     
         6 . The method of  claim 1 , wherein the predetermined amount comprises a number of bytes. 
     
     
         7 . The method of  claim 1 , wherein the obtaining comprises calling by the buffered reader an object that returns the predetermined value. 
     
     
         8 . The method of  claim 7 , further comprising disassociating the object from the buffered reader. 
     
     
         9 . The method of  claim 8 , wherein the disassociating comprises automatically disassociating the object from the buffered reader if the predetermined amount returned by the object is invalid. 
     
     
         10 . The method of  claim 1 , wherein the read request is for a posting list when searching an inverted index for a search term, and wherein the posting list is associated with the search term. 
     
     
         11 . The method of  claim 1 , wherein the read request comprises a read size, and wherein if the read size is larger than the fill capacity of the memory buffer, then the reading, placing and returning are performed for the fill capacity a whole number of times equal to the read size divided by the fill capacity, and then performed for less than the fill capacity according to the predetermined value. 
     
     
         12 . The method of  claim 11 , wherein if data for the read request remains, then the reading, placing and returning are performed for a predetermined supplemental amount until the additional data has been read. 
     
     
         13 . The method of  claim 12 , wherein the predetermined supplemental amount is different from the predetermined value. 
     
     
         14 . The method of  claim 13 , wherein the predetermined supplemental amount is less than the predetermined amount. 
     
     
         15 . A computer system for buffered reading of data, comprising:
 a memory; and   a processor in communication with the memory to perform a method, the method comprising:
 receiving a read request from a requestor for data by a buffered reader within the computer system, wherein an exact amount of the data needed is unknown; 
 in response to the read request, obtaining a predetermined value for an amount of the data to be read and placed in a memory buffer, wherein the predetermined value is less than a fill capacity of the memory buffer; 
 reading by the buffered reader the amount of the data indicated by the predetermined value; 
 placing by the buffered reader the data read into the memory buffer; and 
 returning the data placed in the memory buffer to the requestor. 
   
     
     
         16 . The system of  claim 15 , the method further comprising repeating the obtaining, reading placing and returning a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         17 . The system of  claim 16 , wherein the method is performed for a sequence of pairs of the predetermined amount and a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         18 . (canceled) 
     
     
         19 . The system of  claim 15 , wherein the predetermined amount comprises a number of characters. 
     
     
         20 . The system of  claim 15 , wherein the predetermined amount comprises a number of bytes. 
     
     
         21 . The system of  claim 15 , wherein the obtaining comprises calling by the buffered reader an object that returns the predetermined value. 
     
     
         22 . The system of  claim 21 , further comprising disassociating the object from the buffered reader. 
     
     
         23 . The system of  claim 22 , wherein the disassociating comprises automatically disassociating the object from the buffered reader if the predetermined amount returned by the object is invalid. 
     
     
         24 . The system of  claim 15 , wherein the read request is for a posting list when searching an inverted index for a search term, and wherein the posting list is associated with the search term. 
     
     
         25 . The system of  claim 15 , wherein the read request comprises a read size, and wherein if the read size is larger than the fill capacity of the memory buffer, then the reading, placing and returning are performed for the fill capacity a whole number of times equal to that read size divided by the fill capacity of, and then performed for less than the fill capacity according to the predetermined value. 
     
     
         26 . The system of  claim 15 , wherein if additional data for the read request remains, then the reading, placing and returning are performed for a predetermined supplemental amount until the additional data has been read. 
     
     
         27 . The system of  claim 26 , wherein the predetermined supplemental amount is different from the predetermined value. 
     
     
         28 . The system of  claim 27 , wherein the predetermined supplemental amount is less than the predetermined amount. 
     
     
         29 . A program product for buffered reading of data, the program product comprising:
 a physical storage medium readable by a processor and storing instructions for execution by the processor for performing a method, the method comprising:
 receiving a read request from a requestor for data by a buffered reader, wherein an exact amount of the data needed is unknown; and 
 in response to the read request, obtaining a predetermined value for an amount of the data to be read and placed in a memory buffer, wherein the predetermined value is less than a fill capacity of the memory buffer; 
 reading by the buffered reader the amount of the data indicated by the predetermined value; 
 placing by the buffered reader the data read into the memory buffer; and 
 returning the data placed in the memory buffer to the requestor. 
   
     
     
         30 . The program product of  claim 29 , further comprising repeating the obtaining, reading, lacing and returning a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         31 . The program product of  claim 30 , wherein the method is performed for a sequence of pairs of the predetermined amount and a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         32 . (canceled) 
     
     
         33 . The program product of  claim 29 , wherein the predetermined amount comprises a number of characters. 
     
     
         34 . The program product of  claim 29 , wherein the predetermined amount comprises a number of bytes. 
     
     
         35 . The program product of  claim 29 , wherein the obtaining comprises calling by the buffered reader an object that returns the predetermined value. 
     
     
         36 . The program product of  claim 35 , further comprising disassociating the object from the buffered reader. 
     
     
         37 . The program product of  claim 36 , wherein the disassociating comprises automatically disassociating the object from the buffered reader if the predetermined amount returned by the object invalid. 
     
     
         38 . The program product of  claim 29 , wherein the read request is for a posting list when searching an inverted index for a search term, and wherein the posting list is associated with the search term. 
     
     
         39 . The program product of  claim 29 , wherein the read request comprises a read size, and wherein if the read size is larger than the fill capacity of the memory buffer, then the reading, placing and returning are performed for the fill capacity a whole number of times equal to that read size divided by the fill capacity, and then performed for less than the fill capacity according to the predetermined value. 
     
     
         40 . The program product of  claim 29 , wherein if additional data for the read request remains, then the reading, placing and returning are performed for a predetermined supplemental amount until the additional data has been read. 
     
     
         41 . The program product of  claim 40 , wherein the predetermined supplemental amount is different from the predetermined value. 
     
     
         42 . The program product of  claim 41 , wherein the predetermined supplemental amount is less than the predetermined amount. 
     
     
         43 . The method of  claim 1 , further comprising in response to the read request, and prior to the obtaining, determining a buffer fill strategy that includes the predetermined value and is based on an approximate amount of data to be read. 
     
     
         44 . The method of  claim 43 , further comprising repeating the obtaining, reading, placing and returning a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         45 . The systems of  claim 15 , further comprising in response to the read request, and prior to the obtaining, determining a buffer fill strategy that includes the predetermined value and is based on an approximate amount of data to be read. 
     
     
         46 . The system of  claim 45 , further comprising repeating the obtaining, reading, placing and returning a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity. 
     
     
         47 . The program product of  claim 29 , further comprising in response to the read request, and prior to the obtaining, determining a buffer fill strategy that includes the predetermined value and is based on an approximate amount of data to be read. 
     
     
         48 . The program product of  claim 47 , further comprising repeating the obtaining, reading, placing and returning a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity.

Join the waitlist — get patent alerts

Track US2012260011A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.