US2013204839A1PendingUtilityA1

Validating Files Using a Sliding Window to Access and Correlate Records in an Arbitrarily Large Dataset

Assignee: MICROSOFT CORPPriority: Jun 16, 2010Filed: Mar 14, 2013Published: Aug 8, 2013
Est. expiryJun 16, 2030(~3.9 yrs left)· nominal 20-yr term from priority
G06F 11/073G06F 16/275G06F 11/0763G06F 17/30581
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Data records in files may be validated by sequentially accessing the data records while allowing random data access within a sliding window. The data records may also be validated by caching record values. Variable-length record lists in one or more files may be reduced to fixed length record lists while accessing arbitrary record list items.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method of validating spreadsheet application workbook files, formatted according to a variable-length file format, by sequentially accessing data records while allowing random data access within a sliding window, comprising:
 (a) initializing, by the computer, a plurality of variables representing a plurality of variable-length records stored in a file, the plurality of records comprising the sliding window, the sliding window being utilized by a spreadsheet application to allow random data access when validating the file, the plurality of records being stored in an array;   (b) reading, by the computer, the current record from the file, the current record from the file being read by:
 calling a record access function to receive context information associated with the current record; and 
 calling the function to read the current record based on the context information; 
   (c) copying, by the computer, the current record to the first record for validation;   (d) copying, by the computer, the current record to the previous record and the next record to the current record for validation;   (e) determining, by the computer, whether all of the plurality of records in the file have been validated;   (f) determining, by the computer, whether another record is present in the file upon determining that all of the plurality of records in the file have not been validated;   (g) reading, by the computer, the another record into the next record upon determining that the another record is present in the file;   (h) validating, by the computer, a type, size, and position associated with the current record in the file;   (i) copying, by the computer, the previous record to the record which is two records prior to the current record; and   (j) repeating, by the computer, the operations (d)-(i) for each of the plurality of records in the file.   
     
     
         2 . The method of  claim 1 , wherein the plurality of records comprises a first record, a current record, a previous record with respect to the current record, a record which is two records prior to the current record, a next record with respect to the current record, and a plurality of subsequent records with respect to the current record. 
     
     
         3 . The method of  claim 1 , wherein the context information comprises at least some context information that is not contained within the file, the at least some context information being inferred from the file, the inferred context information comprising information from correlating groups of records and a computed position of the next record to be read from the file. 
     
     
         4 . The method of  claim 1 , wherein the array utilizes a plurality of structural definitions. 
     
     
         5 . The method of  claim 4 , wherein the plurality of structural definitions comprises:
 //m_rgRec[0] is always the first record of a list;   //m_rgRec[1] is always two records ago;   //m_rgRec[2] is always the previous record;   //m_rgRec[3] is always the current record;   //m_rgRec[4] is the next record; and   PosAll m?rgRec[5].   
     
     
         6 . The method of  claim 1 , further comprising validating the current record upon determining that the another record is not present in the file. 
     
     
         7 . The method of  claim 1 , further comprising:
 calling the function to update the context information; and   calling the function to read the next record based on the context information.   
     
     
         8 . A computer system for validating files formatted according to a variable-length file format by sequentially accessing data records while allowing random data access within a sliding window, comprising:
 a memory for storing executable program code; and   a processor, functionally coupled to the memory, the processor being responsive to computer-executable instructions contained in the program code and wherein the processor:
 (a) initializes a plurality of variables representing a plurality of variable-length records stored in a file, the plurality of records comprising the sliding window, the sliding window being utilized to allow random data access when validating the file, the plurality of records being stored in an array; 
 (b) calls a record access function to receive context information associated with the current record call the function to read the current record based on the context information; 
 (c) copies the current record to the first record for validation; 
 (d) copies the current record to the previous record and the next record to the current record for validation; 
 (e) determines whether all of the plurality of records in the file have been validated; 
 (f) determines whether another record is present in the file upon determining that all of the plurality of records in the file have not been validated; 
 (g) reads the another record into the next record upon determining that the another record is present in the file; 
 (h) validates a type, size, and position associated with the current record in the file; 
 (i) copies the previous record to the record which is two records prior to the current record; and 
 (j) repeats the operations (d)-(i) for each of the plurality of records in the file. 
   
     
     
         9 . The system of  claim 8 , wherein the context information comprises at least some context information that is not contained within the file, the at least some context information being inferred from the file, the inferred context information comprising information from correlating groups of records and a computed position of the next record to be read from the file. 
     
     
         10 . The system of  claim 8 , wherein the sliding window comprises a first record, a current record, a previous record with respect to the current record, a record which is two records prior to the current record, a next record with respect to the current record, and a plurality of subsequent records with respect to the current record, 
     
     
         11 . The system of  claim 8 , wherein the array utilizes a plurality of structural definitions. 
     
     
         12 . The system of  claim 11 , wherein the plurality of structural definitions comprises:
 //m_rgRec[0] is always the first record of a list;   //m_rgRec[1] is always two records ago;   //m_rgRec[2] is always the previous record;   //m_rgRec[3] is always the current record;   //m_rgRec[4] is the next record; and   PosAll m?rgRec[5].   
     
     
         13 . The system of  claim 8 , wherein the processor further validates the current record upon determining that the another record is not present in the file. 
     
     
         14 . The system of  claim 8 , wherein the processor further:
 calls the function to update the context information; and   calls the function to read the next record based on the context information.   
     
     
         15 . A computer-readable storage medium comprising computer-executable instructions which, when executed by a computer, will cause the computer to perform a method of validating files, stored on the computer readable medium, and formatted according to a variable-length file format by sequentially accessing data records while allowing random data access within a sliding window, the method comprising:
 (a) initializing a plurality of variables representing a plurality of variable-length records stored in a file, the plurality of records comprising the sliding window, the sliding window being utilized to allow random data access when validating the file, the plurality of records being stored in an array;   (b) reading the current record from the file by calling a function to receive context information associated with the current record and by calling the function to read the current record based on the context information, the context information comprising at least some context information that is not contained within the file, the at least some context information being inferred from the file, the inferred context information comprising information from correlating groups of records and a computed position of the next record to be read from the file;   (c) copying the current record to the first record for validation;   (d) copying the current record to the previous record and the next record to the current record for validation;   (e) determining whether all of the plurality of records in the file have been validated;   (f) determining whether another record is present in the file upon determining that all of the plurality of records in the file have not been validated;   (g) reading the another record into the next record upon determining that the another record is present in the file;   (h) validating the current record, wherein validating the current record comprises validating a type, a size, and a position associated with the current record in the file;   (i) copying the previous record to the record which is two records prior to the current record; and   (j) repeating the operations (d)-(i) for each of the plurality of records in the file.   
     
     
         16 . The computer-readable storage medium of  claim 15 , wherein the sliding window comprises at least a first record, a current record, a previous record with respect to the current record, a record which is two records prior to the current record, a next record with respect to the current record, and a plurality of subsequent records with respect to the record which is two records prior to the current record, 
     
     
         17 . The computer-readable storage medium of  claim 15 , wherein the array utilizes a plurality of structural definitions. 
     
     
         18 . The computer-readable storage medium of  claim 17 , wherein the plurality of structural definitions comprises:
 //m_rgRec[0] is always the first record of a list;   //m_rgRec[1] is always two records ago;   //m_rgRec[2] is always the previous record;   //m_rgRec[3] is always the current record;   //m_rgRec[4] is the next record; and   PosAll m?rgRec[5].   
     
     
         19 . The computer-readable storage medium of  claim 15 , further comprising validating the current record upon determining that the another record is not present in the file. 
     
     
         20 . The computer-readable storage medium of  claim 15 , further comprising:
 calling the function to update the context information; and   calling the function to read the next record based on the context information.

Join the waitlist — get patent alerts

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

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