Methods and system for browsing large text files
First Claim
1. A system for displaying large text files comprising:
- a display for presenting text to a user;
a client process responsive to user requests to display selected portions of a text file on said display; and
a cache memory associated with said client process for storing data representative of said text file, wherein said client process is operable to parse said text file to identify line numbers associated with said text file and wherein said client process is further operable to store indices in said cache memory identifying said line numbers and corresponding portions of said text file and wherein said client process is further operable to display said selected portions of said text file in accordance with said line numbers.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and associated methods for rapidly displaying large text files. The system preferably includes a client process in communications with a server process. In a first embodiment, the client process receives text from the server process, parses the received text to index the text according to line numbers and saves the parsed text structures in a local cache memory. Users requests for display of specific lines of the text are thereby performed rapidly in accordance with the indexing and caching of the parsed text regardless of the size of the text file. In a second embodiment, the server process receives desired (“hot”) line numbers with the request for text file retrieval. The server process then returns portions (“chunks”) of the text file in other than sequential order. Specifically, the server process returns “hot chunks” (e.g., chunks containing hot lines) of the requested text file before returning other chunks of the file. The client process then displays the requested “hot lines” quickly regardless of the size of the text file.
-
Citations
17 Claims
-
1. A system for displaying large text files comprising:
-
a display for presenting text to a user;
a client process responsive to user requests to display selected portions of a text file on said display; and
a cache memory associated with said client process for storing data representative of said text file, wherein said client process is operable to parse said text file to identify line numbers associated with said text file and wherein said client process is further operable to store indices in said cache memory identifying said line numbers and corresponding portions of said text file and wherein said client process is further operable to display said selected portions of said text file in accordance with said line numbers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
a graphical user interface thread for interacting with a user of said system and for displaying said selected portions of said text file on said display; and
a parser thread operable substantially in parallel with said graphical user interface thread for parsing said text file to identify said line numbers.
-
-
3. The system of claim 2 wherein the system further comprises:
a server process responsive to requests from said client process to retrieve an identified text file and to return chunks of text from said identified text file to said client process.
-
4. The system of claim 3 wherein said client process further includes:
a fetcher thread operable substantially in parallel with said parser thread for receiving said chunks of text from said server process and for storing said chunks of text in said cache memory.
-
5. The system of claim 3
wherein requests from said client process to said server process includes at least one line number of interest to a user of the system, wherein said server process is operable to return chunks of text that include said at least one line number before other chunks of text that do not include said at least one line number. -
6. The system of claim 2 further comprising:
-
a parsed text object stored in said cache memory, wherein said parser thread is operable to create parsed line objects stored in said cache memory and associated with said parsed text object.
-
-
7. The system of claim 6 wherein said parsed text object includes:
-
a hot line number set defining at least one line number of interest to a user of the system;
a normal chunk set defining a first set of chunks of text of said text file that do not contain a line number of interest to a user; and
a hot chunk set defining a second set of chunks of text of said text file that contain at least one line of text corresponding to said at least one line number in said hot line number set.
-
-
8. A method of displaying a text file comprising the steps of:
-
receiving a request from a user to display selected portions of said text file;
retrieving chunks of text from said text file in response to receipt of said request;
storing the retrieved chunks of text in a cache memory;
parsing each of the retrieved chunks of text to identify line numbers for lines in said text file;
constructing a line number index in said cache memory to identify locations in said cache memory of each line of said text file; and
displaying said selected portions of said text file from said cache memory in accordance with said line number index. - View Dependent Claims (9, 10, 11, 12)
requesting said chunks of text from an external server process.
-
-
10. The method of claim 9 wherein requests to said external server process includes at least one line number of interest to a user of the system, and wherein the method further comprises the step operable in the server process of:
returning chunks of text that include said at least one line number before other chunks of text that do not include said at least one line number.
-
11. The system of claim 8 wherein the step of parsing includes the steps of:
-
creating a parsed text object stored in said cache memory and corresponding to said text file; and
creating parsed line objects stored in said cache memory and associated with said parsed text object and corresponding to said line numbers.
-
-
12. The system of claim 11 wherein the step of parsing further includes the steps of:
-
creating a hot line number set associated with said parsed text object defining at least one line number of interest to a user of the system;
creating a normal chunk set associated with said parsed text object defining a first set of chunks of text of said text file that do not contain a line number of interest to a user; and
creating a hot chunk set associated with said parsed text object defining a second set of chunks of text of said text file that contain at least one line of text corresponding to said at least one line number in said hot line number set.
-
-
13. A system for displaying a text file comprising:
-
a display; and
a computing device having a client process including;
means for receiving a request from a user to display selected portions of said text file;
means for retrieving chunks of text from said text file in response to receipt of said request;
means for storing the retrieved chunks of text in a cache memory;
means for parsing each of the retrieved chunks of text to identify line numbers for lines in said text file;
means for constructing a line number index in said cache memory to identify locations in said cache memory of each line of said text file; and
means for displaying said selected portions of said text file from said cache memory in accordance with said line number index on said display. - View Dependent Claims (14, 15, 16, 17)
a server process coupled to said client process, wherein the means for retrieving further comprises;
means for requesting said chunks of text from an external server process.
-
-
15. The system of claim 14 wherein requests to said server process includes at least one line number of interest to a user of the system, and wherein the server process further comprises:
means for returning chunks of text that include said at least one line number before other chunks of text that do not include said at least one line number.
-
16. The system of claim 13 wherein the means for parsing includes:
-
means for creating a parsed text object stored in said cache memory and corresponding to said text file; and
means for creating parsed line objects stored in said cache memory and associated with said parsed text object and corresponding to said line numbers.
-
-
17. The system of claim 16 wherein the means for parsing further includes:
-
means for creating a hot line number set associated with said parsed text object defining at least one line number of interest to a user of the system;
means for creating a normal chunk set associated with said parsed text object defining a first set of chunks of text of said text file that do not contain a line number of interest to a user; and
means for creating a hot chunk set associated with said parsed text object defining a second set of chunks of text of said text file that contain at least one line of text corresponding to said at least one line number in said hot line number set.
-
Specification