Claims Analysis
Total Claims: 36
Claim 1
Independent Claim
213 words
A method of performing a continuous crawl for locating and downloading documents from among a plurality of host computers, comprising: (a) obtaining at least one referring document set that includes addresses of one or more referred documents; each referred document address including a host component; (b) enqueuing queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; (c) substantially concurrently operating a plurality of threads; (d) while operating each thread, repeatedly performing steps of: (d1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (d2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and step (d) including determining a download priority level for maintaining freshness of the downloaded document and re-enqueuing the queue element for the downloaded document in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 2
Independent Claim
213 words
A method of performing a continuous crawl for locating and downloading documents from among a plurality of host computers, comprising: (a) obtaining at least one referring document set that includes addresses of one or more referred documents; each referred document address including a host component; (b) enqueuing queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; (c) substantially concurrently operating a plurality of threads; (d) while operating each thread, repeatedly performing steps of: (d1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (d2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and step (d) including determining a download priority level for maintaining freshness of the downloaded document and re-enqueuing the queue element for the downloaded document in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 3
Dependent Claim
27 words
The method of claim 1 , wherein said enqueuing module is configured to use at least one of the downloaded referred documents as a new referring document.
Claim 4
Dependent Claim
115 words
The method of claim 1 , wherein the plurality of queues includes a front-end data structure and a back-end data structure, the front-end data structure including the plurality of parallel priority level queues, and the back-end data structure including a plurality of parallel first-in-first-out underlying queues; step (b) includes enqueuing at least a subset of the queue elements in the priority level queues, each such queue element being enqueued in one of the priority level queues in accordance with a priority level associated with the queue element; and step (d) includes transferring queue elements from the priority level queues to the underlying queues in accordance with the download priority levels of the priority level queues.
Claim 5
Dependent Claim
33 words
The method of claim 3 , wherein step (b) includes enqueuing those of the referred data set addresses sharing a respective common host address into a respective common one of the underlying queues.
Claim 6
Dependent Claim
51 words
The method of claim 4 , wherein referred data sets corresponding to referred data set addresses from different ones of the underlying queues are downloaded substantially concurrently, while referred data sets corresponding to referred data set addresses from any single one of the underlying queues are downloaded one at a time.
Claim 7
Dependent Claim
43 words
The method of claim 1 , wherein the download priority level for each of a subset of the queue elements is determined as a function of an expiration date and time associated with document whose document address is denoted by the queue element.
Claim 8
Dependent Claim
38 words
The method of claim 1 , wherein the download priority level for each of a subset of the queue elements is determined as a function of a host component of the document address denoted by the queue element.
Claim 9
Dependent Claim
42 words
The method of claim 1 , wherein the download priority level for each of a subset of the queue elements is determined as a function of a historical rate of change of the document whose address is denoted by the queue element.
Claim 10
Independent Claim
206 words
A method of performing a continuous crawl for locating and downloading documents from among a plurality of host computers, comprising: (a) obtaining at least one referring document set that includes addresses of one or more referred documents; each referred document address including a host component; (b) enqueuing queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; (c) substantially concurrently operating a plurality of threads; (d) while operating each thread, repeatedly performing steps of: (d1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (d2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and step (b) including determining a download priority level for each queue element and enqueuing the queue element in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 11
Independent Claim
206 words
A method of performing a continuous crawl for locating and downloading documents from among a plurality of host computers, comprising: (a) obtaining at least one referring document set that includes addresses of one or more referred documents; each referred document address including a host component; (b) enqueuing queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; (c) substantially concurrently operating a plurality of threads; (d) while operating each thread, repeatedly performing steps of: (d1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (d2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and step (b) including determining a download priority level for each queue element and enqueuing the queue element in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 12
Dependent Claim
35 words
The method of claim 9 , wherein the download priority level for each of a subset of the queue elements is determined as a function of the referred document address denoted by the queue element.
Claim 13
Dependent Claim
277 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; (a2) executing at least one application program for processing the downloaded document; and (a3) determining a download priority level for maintaining freshness of the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the dequeuing module including instructions for re-enqueuing the queue element for the downloaded document in one of the parallel priority level queues in accordance with the download priority level determined for the queue element.
Claim 14
Dependent Claim
277 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; (a2) executing at least one application program for processing the downloaded document; and (a3) determining a download priority level for maintaining freshness of the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the dequeuing module including instructions for re-enqueuing the queue element for the downloaded document in one of the parallel priority level queues in accordance with the download priority level determined for the queue element.
Claim 15
Dependent Claim
29 words
The computer program product of claim 11 , wherein said enqueuing module is configured to use at least one of the downloaded referred documents as a new referring document.
Claim 16
Dependent Claim
123 words
The computer program product of claim 11 , wherein the plurality of queues includes a front-end data structure and a back-end data structure, the front-end data structure including the plurality of parallel priority level queues, and the back-end data structure including a plurality of parallel first-in-first-out underlying queues; the enqueuing module includes instructions for enqueuing at least a subset of the queue elements in the priority level queues, each such queue element being enqueued in one of the priority level queues in accordance with a priority level associated with the queue element; and the dequeuing module includes instructions for transferring queue elements from the priority level queues to the underlying queues in accordance with the download priority levels of the priority level queues.
Claim 17
Dependent Claim
38 words
The computer program product of claim 13 , wherein the enqueuing module includes instructions for enqueuing those of the referred data set addresses sharing a respective common host address into a respective common one of the underlying queues.
Claim 18
Dependent Claim
53 words
The computer program product of claim 14 , wherein referred data sets corresponding to referred data set addresses from different ones of the underlying queues are downloaded substantially concurrently, while referred data sets corresponding to referred data set addresses from any single one of the underlying queues are downloaded one at a time.
Claim 19
Dependent Claim
45 words
The computer program product of claim 11 , wherein the download priority level for each of a subset of the queue elements is determined as a function of an expiration date and time associated with document whose document address is denoted by the queue element.
Claim 20
Dependent Claim
40 words
The computer program product of claim 11 , wherein the download priority level for each of a subset of the queue elements is determined as a function of a host component of the document address denoted by the queue element.
Claim 21
Dependent Claim
44 words
The computer program product of claim 11 , wherein the download priority level for each of a subset of the queue elements is determined as a function of a historical rate of change of the document whose address is denoted by the queue element.
Claim 22
Dependent Claim
266 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (a2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the enqueuing module including instructions for determining a download priority level for each queue element and enqueuing the queue element in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 23
Dependent Claim
266 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in a plurality of queues, each queue element denoting one of the referred document addresses; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (a2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the enqueuing module including instructions for determining a download priority level for each queue element and enqueuing the queue element in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 24
Dependent Claim
37 words
The computer program product of claim 19 , wherein the download priority level for each of a subset of the queue elements is determined as a function of the referred document address denoted by the queue element.
Claim 25
Dependent Claim
277 words
A web crawler for downloading documents from among a plurality of host computers, comprising: at least one central processing unit; a plurality of threads of execution that are executed by the at least one central processing unit; memory for storing a plurality of queues; an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in the plurality of queues; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequening the identified queue element; (a2) executing at least one application program for processing the downloaded document; and (a3) determining a download priority level for maintaining freshness of the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the dequeuing module including instructions for re-enqueuing the queue element for the downloaded document in one of the parallel priority level queues in accordance with the download priority level determined for the queue element.
Claim 26
Dependent Claim
277 words
A web crawler for downloading documents from among a plurality of host computers, comprising: at least one central processing unit; a plurality of threads of execution that are executed by the at least one central processing unit; memory for storing a plurality of queues; an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in the plurality of queues; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequening the identified queue element; (a2) executing at least one application program for processing the downloaded document; and (a3) determining a download priority level for maintaining freshness of the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the dequeuing module including instructions for re-enqueuing the queue element for the downloaded document in one of the parallel priority level queues in accordance with the download priority level determined for the queue element.
Claim 27
Dependent Claim
28 words
The web crawler of claim 21 , wherein said enqueuing module is configured to use at least one of the downloaded referred documents as a new referring document.
Claim 28
Dependent Claim
122 words
The web crawler of claim 21 , wherein the plurality of queues includes a front-end data structure and a back-end data structure, the front-end data structure including the plurality of parallel priority level queues, and the back-end data structure including a plurality of parallel first-in-first-out underlying queues; the enqueuing module includes instructions for enqueuing at least a subset of the queue elements in the priority level queues, each such queue element being enqueued in one of the priority level queues in accordance with a priority level associated with the queue element; and the dequeuing module includes instructions for transferring queue elements from the priority level queues to the underlying queues in accordance with the download priority levels of the priority level queues.
Claim 29
Dependent Claim
37 words
The web crawler of claim 23 , wherein the enqueuing module includes instructions for enqueuing those of the referred data set addresses sharing a respective common host address into a respective common one of the underlying queues.
Claim 30
Dependent Claim
52 words
The web crawler of claim 24 , wherein referred data sets corresponding to referred data set addresses from different ones of the underlying queues are downloaded substantially concurrently, while referred data sets corresponding to referred data set addresses from any single one of the underlying queues are downloaded one at a time.
Claim 31
Dependent Claim
44 words
The web crawler of claim 21 , wherein the download priority level for each of a subset of the queue elements is determined as a function of an expiration date and time associated with document whose document address is denoted by the queue element.
Claim 32
Dependent Claim
39 words
The web crawler of claim 21 , wherein the download priority level for each of a subset of the queue elements is determined as a function of a host component of the document address denoted by the queue element.
Claim 33
Dependent Claim
43 words
The web crawler of claim 21 , wherein the download priority level for each of a subset of the queue elements is determined as a function of a historical rate of change of the document whose address is denoted by the queue element.
Claim 34
Dependent Claim
266 words
A web crawler for downloading documents from among a plurality of host computers, comprising: at least one central processing unit; a plurality of threads of execution that are executed by the at least one central processing unit; memory for storing a plurality of queues; an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in the plurality of queues; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (a2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the enqueuing module including instructions for determining a download priority level for each queue element and enqueuing the queue element in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 35
Dependent Claim
266 words
A web crawler for downloading documents from among a plurality of host computers, comprising: at least one central processing unit; a plurality of threads of execution that are executed by the at least one central processing unit; memory for storing a plurality of queues; an enqueuing module that, when executed by the computer system, obtains at least one referring document that includes addresses of one or more referred documents, each referred document address including a host component corresponding to a host computer, and enqueues queue elements in the plurality of queues; and a dequeuing module that is substantially concurrently executed by each of a plurality of threads so as to process the referred document addresses in the queues; the dequeuing module including instructions that, when executed by a respective one of the threads, repeatedly perform the functions of: (a1) identifying a queue element in a selected one of the queues, downloading a referred document corresponding to a referred document address in the identified queue element, and dequeuing the identified queue element; and (a2) executing at least one application program for processing the downloaded document; the plurality of queues including a plurality of parallel priority level queues, each having a distinct associated download priority level, the download priority level corresponding to a probability of the queue elements enqueued in the associated priority level queue therein being processed by the threads; and the enqueuing module including instructions for determining a download priority level for each queue element and enqueuing the queue element in one of the parallel priority level queues in accordance with the determined download priority level.
Claim 36
Dependent Claim
36 words
The web crawler of claim 29 , wherein the download priority level for each of a subset of the queue elements is determined as a function of the referred document address denoted by the queue element.