IP Library Granted Patent US 8,205,025
Granted Patent B2
US 8,205,025 · App. 12/854,755 · Granted Jun 19, 2012

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

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,205,025
App. No.
12/854,755
Granted
Jun 19, 2012
Kind
B2
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 (86)

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;

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;

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;

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.

2. The method of claim 1 , further comprising repeating the obtaining 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. The method of claim 1 , wherein the amount of data is less than a fill capacity of the memory buffer.

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. 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;

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 obtaining comprises calling by the buffered reader an object that returns the predetermined value;

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;

returning the data placed in the memory buffer to the requestor;

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; and

disassociating the object from the buffered reader, 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 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.

11. The method of claim 10 , 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.

12. The method of claim 11 , wherein the predetermined supplemental amount is different from the predetermined amount.

13. The method of claim 12 , wherein the predetermined supplemental amount is less than the predetermined amount.

14. 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;

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;

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;

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.

15. The system of claim 14 , further comprising repeating the obtaining a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity.

16. The system of claim 15 , 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.

17. The system of claim 14 , wherein the amount of data is less than a fill capacity of the memory buffer.

18. The system of claim 14 , wherein the predetermined amount comprises a number of characters.

19. The system of claim 14 , wherein the predetermined amount comprises a number of bytes.

20. The system of claim 14 , wherein the obtaining comprises calling by the buffered reader an object that returns the predetermined value.

21. The system of claim 20 , further comprising disassociating the object from the buffered reader.

22. 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 a data processing system;

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 obtaining comprises calling by the buffered reader an object that returns the predetermined value

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;

returning the data placed in the memory buffer to the requestor;

disassociating the object from the buffered reader;

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; and

disassociating the object from the buffered reader, wherein the disassociating comprises automatically disassociating the object from the buffered reader if the predetermined amount returned by the object is invalid.

23. The system of claim 14 , 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.

24. The system of claim 14 , 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.

25. The system of claim 24 , wherein the predetermined supplemental amount is different from the predetermined amount.

26. The system of claim 25 , wherein the predetermined supplemental amount is less than the predetermined amount.

27. 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; 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;

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;

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.

28. The program product of claim 27 , further comprising repeating the obtaining a predetermined number of times, wherein the predetermined number of times is more than zero up to infinity.

29. The program product of claim 28 , 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.

30. The program product of claim 27 , wherein the amount of data is less than a fill capacity of the memory buffer.

31. The program product of claim 27 , wherein the predetermined amount comprises a number of characters.

32. The program product of claim 27 , wherein the predetermined amount comprises a number of bytes.

33. The program product of claim 27 , wherein the obtaining comprises calling by the buffered reader an object that returns the predetermined value.

34. The program product of claim 33 , further comprising disassociating the object from the buffered reader.

35. 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 within a data processing system;

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 obtaining comprises calling by the buffered reader an object that returns the predetermined value;

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;

returning the data placed in the memory buffer to the requestor;

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;

wherein the obtaining comprises calling by the buffered reader an object that returns the predetermined value; and

disassociating the object from the buffered reader, wherein the disassociating comprises automatically disassociating the object from the buffered reader if the predetermined amount returned by the object invalid.

36. The program product of claim 27 , 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.

37. The program product of claim 27 , 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.

38. The program product of claim 37 , wherein the predetermined supplemental amount is different from the predetermined amount.

39. The program product of claim 38 , wherein the predetermined supplemental amount is less than the predetermined amount.

Assignments (8)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 13, 2021
From: GLOBALSPEC, LLC (F/K/A/ GSCOMPARE, LLC)
To: MAIN STREET CAPITAL CORPORATION
Reel/Frame 054976/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2020
From: IEEE GLOBALSPEC, INC.
To: GSCOMPARE, LLC
Reel/Frame 053439/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2020
From: THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, INCORPORATED
To: IEEE GLOBALSPEC, INC.
Reel/Frame 053439/0084 →
CHANGE OF NAME Recorded Dec 3, 2019
From: GLOBALSPEC, INC.
To: IEEE GLOBALSPEC, INC.
Reel/Frame 051281/0720 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 3, 2019
From: IEEE GLOBALSPEC, INC.
To: THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS
Reel/Frame 051166/0946 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2012
From: COMERICA BANK
To: GLOBALSPEC, INC.
Reel/Frame 028464/0833 →
SECURITY AGREEMENT Recorded Apr 18, 2011
From: GLOBALSPEC, INC.
To: COMERICA BANK
Reel/Frame 026146/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2010
From: FLATLAND, STEINAR; GAULIN, MARK RICHARD
To: GLOBALSPEC, INC.
Reel/Frame 024826/0027 →