Timing module for regulating hits by a spidering engine
First Claim
Patent Images
1. A method for determining a time between transmitting requests for data over a network to a remote server, comprising:
- determining, at a processor, a time at which an initial request for the data is transmitted over the network to the remote server;
determining, at the processor, a count of a number of bytes of the data received over the network from the remote server in response to the initial request;
determining, at the processor, a current time, wherein the current time is other than the time at which the initial request for the data is transmitted over the network to the remote server; and
calculating, at the processor, the time between transmitting the initial request and a subsequent request for the data over the network to the remote server, wherein the time between transmitting the requests is calculated as a function of a quotient minus a current time difference, wherein the quotient is equal to the count divided by a target rate of transfer of the data from the remote server measured in bytes per unit of time, and wherein the current time difference is equal to the current time minus the time at which the initial request for the data is transmitted over the network to the remote server.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and system for retrieving web-site based information by a spider engine at a target bandwidth is described. A target bandwidth is received from the spider engine. A wait time is calculated by a timing module. Data retrieval from a web site is delayed by the calculated wait time so that data is retrieved at the desired target bandwidth.
114 Citations
26 Claims
-
1. A method for determining a time between transmitting requests for data over a network to a remote server, comprising:
-
determining, at a processor, a time at which an initial request for the data is transmitted over the network to the remote server; determining, at the processor, a count of a number of bytes of the data received over the network from the remote server in response to the initial request; determining, at the processor, a current time, wherein the current time is other than the time at which the initial request for the data is transmitted over the network to the remote server; and calculating, at the processor, the time between transmitting the initial request and a subsequent request for the data over the network to the remote server, wherein the time between transmitting the requests is calculated as a function of a quotient minus a current time difference, wherein the quotient is equal to the count divided by a target rate of transfer of the data from the remote server measured in bytes per unit of time, and wherein the current time difference is equal to the current time minus the time at which the initial request for the data is transmitted over the network to the remote server. - View Dependent Claims (2, 3)
-
-
4. An apparatus for determining a time between transmitting requests for data over a network to a remote server, comprising:
-
an input configured to receive the data over the network from the remote server; an output configured to transmit the requests for the data over the network to the remote server; and a processor configured to determine a time at which an initial request for the data is transmitted over the network to the remote server, to determine a count of a number of bytes of the data received over the network from the remote server in response to the initial request, to determine a current time, wherein the current time is other than the time at which the initial request for the data is transmitted over the network to the remote server, and to calculate the time between transmitting the initial request and a subsequent request for the data over the network to the remote server, wherein the time between transmitting the requests is calculated as a function of a quotient minus a current time difference, wherein the quotient is equal to the count divided by a target rate of transfer of the data from the remote server measured in bytes per unit of time, and wherein the current time difference is equal to the current time minus the time at which the initial request for the data is transmitted over the network to the remote server. - View Dependent Claims (5, 6)
-
-
7. A computer-readable storage medium having stored thereon computer executable instructions, execution of which by a processing device causes the processing device to perform operations for determining a time between transmitting requests for data over a network to a remote server, the operations comprising:
-
determining a time at which an initial request for the data is transmitted over the network to the remote server; determining a count of a number of bytes of the data received over the network from the remote server in response to the initial request; determining a current time, wherein the current time is other than the time at which the initial request for the data is transmitted over the network to the remote server; and calculating the time between transmitting the initial request and a subsequent request for the data over the network to the remote server, wherein the time between transmitting the requests is calculated as a function of a quotient minus a current time difference, wherein the quotient is equal to the count divided by a target rate of transfer of the data from the remote server measured in bytes per unit of time, and wherein the current time difference is equal to the current time minus the time at which the initial request for the data is transmitted over the network to the remote server. - View Dependent Claims (8, 9, 10)
-
-
11. A method for retrieving data over a network at a target bandwidth, comprising:
-
determining, at a local processor, the target bandwidth, wherein the target bandwidth is a desired rate for retrieving the data from a remote server over the network to the local processor, and wherein the data is stored at the remote server in a manner unknown to the local processor; determining, at the local processor, a time at which retrieval of the data from the remote server to the local processor begins; determining, at the local processor, a time at which retrieval of the data from the remote server to the local processor ends; determining, at the local processor, a byte count of the data; and calculating, at the local processor, an amount of time between transmitting requests for data from the local processor to the remote server, wherein the amount of time between transmitting requests for data is calculated as a function of the target bandwidth, the time at which retrieval of the data from the remote server to the local processor begins, the time at which retrieval of the data from the remote server to the local processor ends, and the byte count of the data. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus for retrieving data over a network at a target bandwidth, comprising:
-
an input configured to receive the data from a remote server over the network to a local processor, wherein the data is stored at the remote server in a manner unknown to the local processor; and wherein the local processor is configured to determine the target bandwidth, wherein the target bandwidth is a desired rate for retrieving the data from the remote server over the network to the local processor, to determine a time at which retrieval of the data from the remote server to the local processor begins, to determine a time at which retrieval of the data from the remote server to the local processor ends, to determine a byte count of the data, and to calculate an amount of time between requests for data transmitted from the local processor to the remote server, wherein the amount of time between transmitting requests for the data is a function of the target bandwidth, the time at which retrieval of the data from the remote server to the local processor begins, the time at which retrieval of the data from the remote server to the local processor ends, and the byte count of the data. - View Dependent Claims (16, 17)
-
-
18. A computer-readable storage medium having stored thereon computer executable instructions, execution of which by a processing device causes the processing device to perform operations for retrieving data over a network at a target bandwidth, the operations comprising:
-
determining the target bandwidth, wherein the target bandwidth is a desired rate for retrieving the data from a remote server over the network to the processing device, and wherein the data is stored at the remote server in a manner unknown to the processing device; determining a time at which retrieval of the data from the remote server to the processing device begins; determining a time at which retrieval of the data from the remote server to the processing device ends; determining a byte count of the data; and calculating an amount of time between transmitting requests for the data from the processing device to the remote server, wherein the amount of time between transmitting requests is calculated as a function of the target bandwidth, the time at which retrieval of the data from the remote server to the processing device begins, the time at which retrieval of the data from the remote server to the processing device ends, and the byte count of the data. - View Dependent Claims (19, 20, 21)
-
-
22. An apparatus for retrieving data over a network at a target bandwidth, comprising:
-
an input configured to receive the data from a remote server over the network; and a processor configured to determine a time at which retrieval of the data from the remote server begins, to determine a time at which retrieval of the data from the remote server ends, to determine a byte count of the data, and to calculate an amount of time between transmitting requests for the data to the remote server, wherein the amount of time between transmitting requests for the data is calculated as a function of a quotient minus a time difference, wherein the quotient is equal to the byte count divided by the target bandwidth measured in bytes per unit of time, and wherein the time difference is equal to an amount of time between the time at which retrieval of the data from the remote server to the processor begins and the time at which retrieval of the data from the remote server to the processor ends. - View Dependent Claims (23, 24)
-
-
25. An apparatus for determining a time between transmitting requests for data over a network to a remote server, comprising:
-
means for receiving the data over the network from the remote server; means for transmitting the requests for the data over the network to the remote server; and means for determining a time at which an initial request for the data is transmitted over the network to the remote server, for determining a count of a number of bytes of the data received over the network from the remote server in response to the initial request, for determining a current time, wherein the current time is other than the time at which the initial request for the data is transmitted over the network to the remote server, and for calculating the time between transmitting the initial request and a subsequent request for the data over the network to the remote server, wherein the time between transmitting the requests is calculated as a function of a quotient minus a current time difference, wherein the quotient is equal to the count divided by a target rate of transfer of the data from the remote server measured in bytes per unit of time, and wherein the current time difference is equal to the current time minus the time at which the initial request for the data is transmitted over the network to the remote server.
-
-
26. An apparatus for retrieving data over a network at a target bandwidth, comprising:
-
an input configured to receive the data from a remote server over the network; and means for determining a time at which retrieval of the data from the remote server begins, for determine a time at which retrieval of the data from the remote server ends, for determining a byte count of the data, and for calculating an amount of time between transmitting requests for the data to the remote server, wherein the amount of time between transmitting requests for the data is calculated as a function of a quotient minus a time difference, wherein the quotient is equal to the byte count divided by the target bandwidth measured in bytes per unit of time, and wherein the time difference is equal to an amount of time between the time at which retrieval of the data from the remote server to the processor begins and the time at which retrieval of the data from the remote server to the processor ends.
-
Specification