|Publication number||US7603616 B2|
|Application number||US 10/981,962|
|Publication date||Oct 13, 2009|
|Filing date||Nov 5, 2004|
|Priority date||Jan 28, 2000|
|Also published as||DE60043421D1, EP1120717A2, EP1120717A3, EP1120717B1, US6883135, US7328401, US20050086583, US20050165778|
|Publication number||10981962, 981962, US 7603616 B2, US 7603616B2, US-B2-7603616, US7603616 B2, US7603616B2|
|Inventors||Kenji Obata, Dmitriy Meyerzon|
|Original Assignee||Microsoft Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (110), Non-Patent Citations (88), Referenced by (14), Classifications (12), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application is a continuation of U.S. patent application Ser. No. 09/603,695, now U.S. Pat. No. 6,883,135, filed Jun. 26, 2000 and entitled “Proxy Server Using a Statistical Model”, the entire contents of which are hereby incorporated by reference in its entirety.
This application is a related by subject matter to inventions disclosed in commonly assigned U.S. patent application Ser. No. 09/493,748, now abandoned, filed Jan. 28, 2000, and entitled “ADAPTIVE WEB CRAWLING USING A STATISTICAL MODEL,” the contents of which are hereby incorporated by reference in their entirety.
The present invention relates generally to the field of network information software and, and more particularly to methods and systems for retrieving data from network sites.
In recent years, there has been a tremendous proliferation of computers connected to a global network known as the Internet. A “client” computer connected to the Internet can download digital information from “server” computers connected to the Internet. Client application software executing on client computers typically accept commands from a user and obtain data and services by sending requests to server applications running on server computers connected to the Internet. A number of protocols are used to exchange commands and data between computers connected to the Internet. The protocols include the File Transfer Protocol (FTP), the Hyper Text Transfer Protocol (HTTP), the Simple Mail Transfer Protocol (SMTP), and the “Gopher” document protocol.
The HTTP protocol is used to access data on the World Wide Web, often referred to as “the Web.” The World Wide Web is an information service on the Internet providing documents and links between documents. The World Wide Web is made up of numerous Web sites located around the world that maintain and distribute documents. The location of a document on the Web is typically identified by a document address specification commonly referred to as a Universal Resource Locator (URL). A Web site may use one or more Web server computers that store and distribute documents in one of a number of formats including the Hyper Text Markup Language (HTML). An HTML document contains text and metadata or commands providing formatting information. HTML documents also include embedded “links” that reference other data or documents located on any Web server computers. The referenced documents may represent text, graphics, or video in respective formats.
A Web browser is a client application or operating system utility that communicates with server computers via FTP, HTTP, and Gopher protocols. Web browsers receive documents from the network and present them to a user. Internet Explorer, available from Microsoft Corporation, of Redmond, Wash., is an example of a popular Web browser application.
An intranet is a local area network containing Web servers and client computers operating in a manner similar to the World Wide Web described above. Typically, all of the computers on an intranet are contained within a company or organization.
Generally, a proxy server is a server that sits between a secure network, such as a corporate intranet, and a non-secure network, such as the Internet. It processes requests from computers on the intranet for access to resources on the Internet, while limiting or blocking access to the intranet from external computer systems. For efficiency purposes, it may in some cases attempt to fulfill these requests itself.
In a typical proxy server implementation, the proxy server operates to filter requests for Web pages from the corporate intranet to the Internet. Web page requests are routed by the proxy server to the non-secure network and upon receipt of a requested Web page from the non-secure network, the proxy server forwards the Web page to the end user.
Proxy servers are often configured with a local cache area which might be located on a disc drive and in which are stored Web pages that have previously been accessed. Upon receipt of a request for a previously accessed Web page, the proxy server can access the copy of the Web page stored on local disc rather than request the page from the non-secure network.
Thus, the cache contains copies of Web pages, wherein the actual Web pages exist on the non-secure network. Of course, the actual Web pages may, and often do change. When a Web page on the non-secure network changes, the copy of the Web page stored in cache becomes out-of-date. In order to minimize the probability that an out-of-date Web page will be routed to a user, it is necessary to periodically refresh the cache, i.e. re-fetch the Web page from the non-secure network.
In existing proxy servers, the decision of whether to re-fetch a Web page is made by referencing information stored in the Web page header. Generally, Web page headers may have stored therein an expiration date and a modification time. The expiration date identifies an estimated date after which the Web page can no longer be considered to be current and the modification time identifies the time the Web page was last modified. In existing proxy servers, if a Web page's expiration date has expired, the proxy server issues a request across the non-secure network to forward a new copy of the Web Page if the modification time for the Web page stored on the non-secure network is different than that stored on the proxy server. Thus, if the modification time indicates that the Web page has changed, the Web page on the proxy server is updated.
There are, however, problems presented in relying on header information for making re-fetch decisions. For example, the header information for many Web pages does not include expiration dates and modification times, thereby making it impossible to rely on this information for re-fetch decisions. Additionally, the expiration date, even when present, is not necessarily reliable as it represents only an estimate of when a Web page may be changed. Furthermore, Web page header information is stored with the actual Web pages on the non-secure network. In order to check the modification time for a Web page and make a re-fetch decision, it is necessary to access the modification time across the non-secure network. Making connections over the non-secure network slows the decision process and adds to system overhead.
Therefore, it is desirable to have an improved proxy server. More specifically, it would be a significant improvement in the art to have a mechanism by which a proxy server can selectively access either an original document located across a network or a previously retrieved copy of the document stored locally in cache based in part on the probability that the document has actually changed in some substantive way since it was last accessed. Preferably, such a mechanism will make the decision to access or not to access the original Web document without having to establish a connection with a host server that stores the original of the document. The mechanism would also preferably provide a way to continually improve the accuracy of its decisions to retrieve a document either from cache or across a network based on the actual experience of the proxy server as it tracks changed documents encountered during Web accesses. If a decision is made by the proxy server to access a document across the web as opposed to the copy in cache, the mechanism should provide a way to quickly and accurately determine if the original document has indeed changed. The present invention is directed to providing such a mechanism.
Briefly, the present invention is directed toward remedying these shortcomings by providing an improved proxy server for retrieving data from a computer network. The proxy server employs novel systems and methods to intelligently determine, based in part on a statistical model and prior document retrievals, which documents are most likely to have changed since a previous retrieval and adaptively decide on whether to access a copy of a document stored in cache or to access the original document across a network.
In accordance with an aspect of the invention, each document retrieval request begins with an active probability distribution containing a plurality of probabilities indicative that a document has changed at a given change rate. A history map is maintained by the proxy server that references a number of documents that have previously been accessed. For each referenced document in the history map, a document probability distribution is initialized as a copy of the active probability distribution. The document probability distribution is trained under a statistical model. The training is based on changes to the document experienced by the proxy server during the previous document retrievals. A probability that the document has changed is during an interval of interest is then computed based on the document probability distribution and the statistical model. A decision to access or not to access the document is made with the aid of this computed probability.
In accordance with additional aspects of the invention, the document probability distribution is trained for events as experienced with the document upon previous accesses. These events may include “change events” or “no change events.” A change event may be where the document was found to have changed in some substantive manner since the last access of the document. A no change event may be where an access to the document determines that the document has not changed. A no change event determination may be made in many ways, such as by evaluating a time stamp associated with the document, or if no substantive change is found when a hash value of the currently retrieved document matches a hash value of the previously retrieved document. Events such as “no change chunk events” may also be interpolated from experienced events, as is described in detail below.
The probability that the document has changed (the “document change probability”) is computed based on is the document probability distribution. A bias is then computed based on the document change probability in conjunction with a synchronization level. The synchronization level may be a predefined value that specifies the percentage of documents that are expected to be synchronized at any given time. A decision whether to access the document is made based on a “coin-flip” using the computed bias.
In accordance with further aspects of the invention, the methods and systems of the present invention conserve computer resources by balancing the need for accuracy in the statistical model against the computer storage and computing resources available. In an actual embodiment of the invention, a minimal amount of historical information is maintained for each document in a history map. This historical information is converted by the method and systems of the present invention to interpolate change events, no change events, and no change chunk events by mapping data recorded in the history map to a timeline. From the interpolation, the variables required by the statistical model can be determined with reasonable accuracy, given the limited resources available to the proxy server and the need for speedy processing when conducting a document retrieval.
In accordance with still further aspects of the invention, when a proxy server in accordance with the invention first begins operating, a training probability distribution is initialized to essentially zero by multiplying a copy of a base probability distribution (containing a starting point estimate of probabilities that a document will change at a given change rate) by a small diversity factor. The training probability distribution recursively accumulates the document probability distribution for each document that is retrieved across the network. By summing each probability in the training probability distribution with a corresponding probability from each document probability distribution, the training probability distribution represents the accumulated experience associated with the document probability distributions for all documents processed. Periodically, the training probability distribution is stored and used as the active probability distribution for future document retrievals. This feed-back of the training probability distribution into the active probability distribution provides for a constantly-improving statistical model for determining whether to retrieve a document from cache or across the Internet.
In accordance with other aspects of this invention, a secure hash function is used to determine a hash value corresponding to each previously retrieved document. The hash value is stored in a history map and is used in subsequent document retrievals to determine whether the corresponding current document is modified. A secure hash function may be used to obtain a new hash value, which is compared with the hash value for the previously retrieved document data. If the hash values are equal, the current document is considered to be substantively equivalent to the previously retrieved document data. If the hash values differ, the current document is considered to be modified and a change counter is incremented for the document. An access counter may also be incremented each time a network access is attempted for the current document.
As will be readily appreciated from the foregoing description, a system and method formed in accordance with the invention minimizes the re-fetching of documents across a network. Thus, the invention provides a proxy server that responds to document requests in less time and with greater efficiency.
Other features of the invention are further apparent from the following detailed description of presently preferred exemplary embodiments of the invention taken in conjunction with the accompanying drawings, of which:
The present invention is directed to improved computer-based systems and methods for determining whether to retrieve a copy of a document from cache or to re-fetch the original document across a network. The systems and methods employ a statistical model and data collected from past retrievals to adaptively decide whether or not to re-fetch a document. Specifically, the system maintains an active probability distribution that contains a plurality of probabilities indicative that a document has changed at a given change rate. The system further maintains a history map having data stored therein for the documents that have previously been fetched and now residing in cache. For each document having an entry in the history map, a document probability distribution is initialized as a copy of the active probability distribution. The document probability distribution is revised or “trained” using the data in the history map that specifies changes to the document experienced during previous retrievals. A probability that the document may have changed is calculated based upon this “trained” document probability distribution and a statistical model, which in one embodiment is based upon a Poisson distribution. A decision to access or not to access the document is made with the aid of this computed probability that the document may have changed.
Prior to explaining the details of the invention, it is useful to provide a description of a suitable exemplary environment in which the invention may be implemented.
Exemplary Operating Environment
1. A Computer Environment
With reference to
A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37 and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite disk, scanner or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the-system bus, but may be connected by other interfaces, such as a parallel port, game port or universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor 47, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
The personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49. The remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20, although only a memory storage device 50 has been illustrated in
When used in a LAN networking environment, the personal computer 20 is connected to the local network 51 through a network interface or adapter 53. When used in a WAN networking environment, the personal computer 20 typically includes a modem 54 or other means for establishing communications over the wide area network 52, such as the Internet. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
2. A Network Environment
The computer network 216 may be a local area network 51 (
A client computer 214, such as the personal computer 20 (
When a user at the client computer 214 desires to retrieve one or more documents that may be located, for example, on server 218, the client computer transmits a request to a server computer 204. Proxy server 206 handles the request. If the document has previously been retrieved and stored in cache 208, proxy server 206 determines, as described in detail below, whether to retrieve the document from cache 208 or to re-fetch the document across network 216 from remote server 218.
As will be readily understood by those skilled in the art of computer network systems, and others, the system illustrated in
The history map further includes a hash value 416 corresponding to each document identified in the history map. A hash value results from applying a “hash function” to the document. A hash function is a mathematical algorithm that transforms a digital document into a smaller representation of the document (called a “hash value”). A “secure hash function” is a hash function that is designed so that it is computationally unfeasible to find two different documents that “hash” to produce identical hash values. A hash value produced by a secure hash function serves as a “digital fingerprint” of the document. The “MD5” is one such secure hash function, published by RSA Laboratories of Redwood City, Calif. in a document entitled RFC 1321, suitable for use in conjunction with the present invention.
Historical information such as the first access time 422, the last access time 424, the change count 426, and the access count 428 are used in a statistical model for deciding if a document should be re-fetched across the network 216 or retrieved from cache 208, as is discussed below with reference to
If at step 504, it is determined that the requested document is stored in cache, at step 510 it is determined whether the document in cache 208 has “expired,” indicating that the document needs to be re-fetched across the network. The process for making this decision is described in detail below with reference to
If, at step 612, it is determined that an entry exists in history map 308 for the re-fetched document, at step 616, hash value 416 of the corresponding document is located in history map 308 and compared with the new hash value calculated at step 610. If the two values are equal, indicating that the filtered data corresponding to the newly retrieved document is the same as the filtered data corresponding to the previously retrieved version of the document, processing continues to step 622. If, at step 616, the hash values are not equal, indicating that the document has changed, at step 618, the change count 426 is incremented and hash value 416 is set equal to the new value calculated at step 610. The change made to the change count 426 indicates that the document was found to have changed in a substantive way. At step 622, the last access time 424 is set to the current time and the access count 428 is incremented.
A method of an actual embodiment of the invention for estimating a set of starting values for the base probability distribution is illustrated in
Expressed in this way, the base probability distribution, and all probability distributions that descend from it, represent the probability that the document will change at a given rate, over a plurality of sample rates. It will be apparent to one skilled in the art that there are many ways to estimate and express initial base probability distributions while remaining within the spirit and scope of the present invention. For instance, the initial probability rates may be set to anything from normalized random numbers to actual probability rates determined experimentally over time.
Where High is the highest expected change rate, Low is the lowest expected change rate, and N is the number of samples, or resolution. The final change rate (RN) in the change rate distribution is assigned a change rate that is low enough that the document is essentially considered static. Although one actual method for selecting sample rates has been described here, those skilled in the art will appreciate that any number of ways are available for selecting a sample rate and each may be employed by the mechanism of the invention without deviating from the spirit or scope of the invention.
As will be explained below, the active probability distribution serves as the starting point for evaluating a request for a document by providing a starting value for document probability distributions. The active probability distribution is initialized to the value of the base probability distribution. Thus, returning to
It should be noted, however, that the above values are initial values that are set when proxy server 206 first begins operation. During the operation of proxy server 206, the training probability distribution changes as described below with reference to
At decision step 816, a determination is made whether a predefined maximum amount of time has expired since the last time the document was accessed. In other words, the present invention optionally provides a mechanism to ensure that a document is retrieved across network 216 after a certain amount of time regardless of whether the document may have changed. If the time has expired, the process continues to step 812 where a “cache expired” response is returned. If not, the process continues to step 818.
At step 818, a document probability distribution is calculated for the document being processed. The calculation of the document probability distribution is illustrated in
At step 822, a weighted sum of the probabilities in the document probability distribution is taken according to the Poisson model, with DT equal to the time since the last access of the document (i.e., DPD*(E^(−R*DT))+DPD*(E^(−R*DT))+ . . . + DPD[n]*(E^(−R[n]*DT)). The weighted sum thus computed is the probability that the document has not changed (PNC). The probability that the document has changed (PC) is the complement of PNC (PC=1−PNC).
At step 824, a probability that the document will be accessed (PA) may be optionally computed and biased by both a specified synchronization level (S) and the probability that the document has changed (PC). In other words, this embodiment of the invention optionally allows the ultimate decision whether to retrieve a document to be biased by a synchronization level, specified by a system administrator. By adjusting the synchronization level, a system administrator may bias the likelihood of retrieving documents in accordance with the administrator's tolerance for having unsynchronized documents. Thus, using the formula PA=1−((1−S)/PC), where S is the desired synchronization level and PC is the probability that the document has changed as calculated in step 822, a probability (PA) that the document should be accessed is calculated.
At step 826, a coin flip is generated with a “heads” bias equal to the probability of access (PA) computed in step 824. A decision is made to either “access” or “not access” the document across the network based on the result of this coin flip. The coin flip is provided because it may be desirable to add a random component to the retrieval of documents in order to strike a balance between the conservation of resources and ensuring document synchronization. The bias PA calculated at step 824 is applied to the coin flip to influence the outcome in favor of the likelihood that the document has changed, modified by the desired synchronization level. The outcome of the coin flip is passed to decision step 830.
At decision step 830 if the outcome of the coin flip is “heads”, the instruction “cache expired” is returned at step 812. Otherwise, the instruction “cache not expired” indicating the document should be retrieved from cache is returned at step 832. Following steps 812 or 832, the process of
FIG. 10A1-2 illustrate a process for training the document probability distribution. At step 1010, the accesses 428 to a document from history map 308 are mapped to a timeline. One example of such a timeline is illustrated in
At step 1012, the process assumes that the amount of time between each change (identified by the change count 426) is uniform. Thus, the changes are evenly distributed on the timeline. The information necessary for the application of the Poisson process can be derived from the mapping of the changes to the timeline. The process continues from step 1012 to step 1014.
At step 1014, several variables are calculated from the historical information in each entry 410 of history map 308 for use in the training of the document probability distribution. The average time between accesses (intervals) is computed and stored as the interval time (DT). The number of intervals between changes is calculated (NC). The number of intervals in which a change occurred is calculated (C). A group of intervals between changes is termed a “no change chunk.” Accordingly, the number of no change chunks (NCC) is calculated. And, finally, the length of time of each no change chunk (DTC) is calculated.
An event probability distribution for a no change event is computed in a step 1030. The event probability distribution includes a plurality of probabilities (EP[N]) that the event will occur at a given change rate (N) for the interval (DT) experienced with the no change events. Each probability EP[N] is computed using the Poisson process: EP[N]=e^(−R[N]* DT) where e is the transcendental constant used as the base for natural logarithms, R[N] is the rate of change and DT is the time interval of the event. At step 1032, the event probability distribution EP[N] calculated at step 1030 is passed to a process for training the document probability distribution for the no change events. The operations performed by the process to train the document probability distribution for each no change event are illustrated in detail in FIG. 10C1-2 and described below.
At a step 1033, an event probability distribution for a change event is computed. The event probability distribution includes a plurality of probabilities (EP[N]) that the event will occur at a given change rate (N) for the interval (DT) experienced with the change events. Each probability EP[N] is computed using the Poisson process: EP[N]=1−e^(−R[N]* DT). Alternatively, the event probability distribution may be calculated by taking the complement of each probability in the event probability distribution calculated for the no change events (as calculated in step 1030). At step 1034, the event probability distribution EP[N] calculated at step 1033 is passed to a process for training the document probability distribution for the change events. As mentioned above, the operations performed by the process to train the document probability distribution are illustrated in detail in FIG. 10C1-2 and described below.
At a step 1035, an event probability distribution for a no change chunk event is computed. The event probability distribution includes a plurality of probabilities (EP[N]) that the no change chunk event will occur at a given change rate (N) for the interval (DTC) interpolated for the no change chunk events. Each probability EP[N] is computed using the Poisson process: EP[N]=e^(−R[N]*DTC). At step 1034, the event probability distribution EP[N] calculated at step 1035 is passed to a process for training the document probability distribution for the no change chunk events, as illustrated in detail in FIG. 10C1-2.
In summary, at step 1032, the document probability distribution is trained for each no change interval. At step 1034, the document probability distribution is trained for each change interval. And at step 1038, the document probability distribution is trained for each no change chunk interval. The order that the events/intervals are trained in steps 1032, 1034, and 1038 is believed to be immaterial. Once the document probability distribution is completely trained, the process of
In general, an interval 1020 that does not contain a change event 1019 is considered to contain a no change event 1021. Since a longer interval period has a significant effect on the probability calculated by the Poisson equation, no change intervals occurring between adjacent change intervals may be grouped into “no change chunks” 1028. A no change chunk 1028 is a group of no change intervals, which may be used to calculate a chunk time interval (DTC). In cases where there is a remainder of no change intervals which cannot be evenly placed into a no change chunk 1020, the remainder intervals are treated as no change intervals 1021 and are used to train the document probability distribution separately. It should be appreciated that although one actual embodiment is described here for mapping events onto a timeline, there are many other, equally acceptable ways for mapping events onto a timeline. Accordingly, the present invention is not limited to the specific examples described here.
FIGS. 10C1-2 illustrate one exemplary process for training the document probability distribution for occurrence of an event for each passed event type (e.g., no change event, change event and no change chunk event). Beginning with step 1050, each occurrence of an event type (e.g., C, NC, NCC) is trained. At step 1052, the probability of the event occurring is computed by summing the results of multiplying each probability in the document probability distribution (given a particular change rate) by the corresponding probability that the event has occurred (given a particular change rate): i.e., P=SUM(DPD[i]*EP[i]). This probability P is checked against a minimum probability constant that is set by the system administrator. If the probability P is less than the minimum probability value, a decision step 1054 directs the process to set P to the minimum probability value in a step 1056.
Once checked by decision step 1054 and the value of P reset, if necessary, each probability in the document probability distribution is updated by multiplying each probability in the (old) document probability distribution by a corresponding probability in the event probability training distribution and dividing the result by the probability of the event occurring, i.e., DPD[N]=(DPD[N]*EP[N])/P.
The document probability distribution resulting from step 1058 is checked in a decision step 1060 for an adequate normalization, by determining if the sum of the probabilities in the document probability distribution deviate from a total of 100% by more than a predetermined normalization threshold constant. If the normalization threshold constant is exceeded, the document probability distribution is normalized in a step 1062.
At a step 1064, if there is another event to train the document probability distribution for, the process control is passed back to step 1050 (
Thus, as described above, the present invention provides systems and methods for determining whether to retrieve a document from cache or to re-fetch the document across a network. The systems and methods employ a statistical model and data collected from past retrievals to adaptively decide whether or not to re-fetch a document. These aspects of the invention provide for a proxy server that is faster and more efficient than existing systems.
Those skilled in the art understand that computer readable instructions for performing the above described processes can be generated and stored on a computer readable medium such as a magnetic disk or CD-ROM. Further, a computer such as that described with reference to
While the invention has been described and illustrated with reference to specific embodiments, those skilled in the art will recognize that modification and variations may be made without departing from the principles of the invention as described above and set forth in the following claims. In particular, the invention may be employed in virtually any situation wherein it is necessary to either retrieve a document from cache or from another location. Further, while the invention has been described with reference to a Poisson distribution, other statistical models might also be used. Accordingly, reference should be made to the appended claims as indicating the scope of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5222236||Aug 23, 1991||Jun 22, 1993||Overdrive Systems, Inc.||Multiple integrated document assembly data processing system|
|US5257577||Jun 23, 1992||Nov 2, 1993||Clark Melvin D||Apparatus for assist in recycling of refuse|
|US5594660||Sep 30, 1994||Jan 14, 1997||Cirrus Logic, Inc.||Programmable audio-video synchronization method and apparatus for multimedia systems|
|US5606609||Sep 19, 1994||Feb 25, 1997||Scientific-Atlanta||Electronic document verification system and method|
|US5848404||Mar 24, 1997||Dec 8, 1998||International Business Machines Corporation||Fast query search in large dimension database|
|US5893092||Jun 23, 1997||Apr 6, 1999||University Of Central Florida||Relevancy ranking using statistical ranking, semantics, relevancy feedback and small pieces of text|
|US5920859||Feb 5, 1997||Jul 6, 1999||Idd Enterprises, L.P.||Hypertext document retrieval system and method|
|US5933851||Sep 27, 1996||Aug 3, 1999||Sony Corporation||Time-stamp and hash-based file modification monitor with multi-user notification and method thereof|
|US5960383||Feb 25, 1997||Sep 28, 1999||Digital Equipment Corporation||Extraction of key sections from texts using automatic indexing techniques|
|US5983216||Sep 12, 1997||Nov 9, 1999||Infoseek Corporation||Performing automated document collection and selection by providing a meta-index with meta-index values indentifying corresponding document collections|
|US5987457||Nov 25, 1997||Nov 16, 1999||Acceleration Software International Corporation||Query refinement method for searching documents|
|US6006225||Sep 1, 1998||Dec 21, 1999||Amazon.Com||Refining search queries by the suggestion of correlated terms from prior searches|
|US6012053||Jun 23, 1997||Jan 4, 2000||Lycos, Inc.||Computer system with user-controlled relevance ranking of search results|
|US6032196||Aug 28, 1998||Feb 29, 2000||Digital Equipment Corporation||System for adding a new entry to a web page table upon receiving a web page including a link to another web page not having a corresponding entry in the web page table|
|US6041323||Apr 17, 1997||Mar 21, 2000||International Business Machines Corporation||Information search method, information search device, and storage medium for storing an information search program|
|US6070158||Nov 13, 1997||May 30, 2000||Infoseek Corporation||Real-time document collection search engine with phrase indexing|
|US6070191||Oct 17, 1997||May 30, 2000||Lucent Technologies Inc.||Data distribution techniques for load-balanced fault-tolerant web access|
|US6098064 *||May 22, 1998||Aug 1, 2000||Xerox Corporation||Prefetching and caching documents according to probability ranked need S list|
|US6125361||Apr 10, 1998||Sep 26, 2000||International Business Machines Corporation||Feature diffusion across hyperlinks|
|US6128701 *||Oct 28, 1997||Oct 3, 2000||Cache Flow, Inc.||Adaptive and predictive cache refresh policy|
|US6145003||Dec 17, 1997||Nov 7, 2000||Microsoft Corporation||Method of web crawling utilizing address mapping|
|US6151624||Feb 3, 1998||Nov 21, 2000||Realnames Corporation||Navigating network resources based on metadata|
|US6167369||Dec 23, 1998||Dec 26, 2000||Xerox Company||Automatic language identification using both N-gram and word information|
|US6182085||May 28, 1998||Jan 30, 2001||International Business Machines Corporation||Collaborative team crawling:Large scale information gathering over the internet|
|US6182113||Sep 16, 1997||Jan 30, 2001||International Business Machines Corporation||Dynamic multiplexing of hyperlinks and bookmarks|
|US6185558||Mar 10, 1998||Feb 6, 2001||Amazon.Com, Inc.||Identifying the items most relevant to a current query based on items selected in connection with similar queries|
|US6202058||Apr 25, 1994||Mar 13, 2001||Apple Computer, Inc.||System for ranking the relevance of information objects accessed by computer users|
|US6208988||Jun 1, 1998||Mar 27, 2001||Bigchalk.Com, Inc.||Method for identifying themes associated with a search query using metadata and for organizing documents responsive to the search query in accordance with the themes|
|US6222559||Oct 2, 1997||Apr 24, 2001||Nippon Telegraph And Telephone Corporation||Method and apparatus for display of hierarchical structures|
|US6240407||Dec 17, 1998||May 29, 2001||International Business Machines Corp.||Method and apparatus for creating an index in a database system|
|US6240408||Feb 10, 2000||May 29, 2001||Kcsl, Inc.||Method and system for retrieving relevant documents from a database|
|US6247013||Jun 25, 1998||Jun 12, 2001||Canon Kabushiki Kaisha||Hyper text reading system|
|US6263364||Nov 2, 1999||Jul 17, 2001||Alta Vista Company||Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness|
|US6285367||May 26, 1998||Sep 4, 2001||International Business Machines Corporation||Method and apparatus for displaying and navigating a graph|
|US6285999||Jan 9, 1998||Sep 4, 2001||The Board Of Trustees Of The Leland Stanford Junior University||Method for node ranking in a linked database|
|US6304864||Apr 20, 1999||Oct 16, 2001||Textwise Llc||System for retrieving multimedia information from the internet using multiple evolving intelligent agents|
|US6317741||Aug 7, 2000||Nov 13, 2001||Altavista Company||Technique for ranking records of a database|
|US6327590||May 5, 1999||Dec 4, 2001||Xerox Corporation||System and method for collaborative ranking of search results employing user and group profiles derived from document collection content analysis|
|US6349308||Feb 15, 1999||Feb 19, 2002||Korea Advanced Institute Of Science & Technology||Inverted index storage structure using subindexes and large objects for tight coupling of information retrieval with database management systems|
|US6351467||Mar 27, 1998||Feb 26, 2002||Hughes Electronics Corporation||System and method for multicasting multimedia content|
|US6351755||Nov 2, 1999||Feb 26, 2002||Alta Vista Company||System and method for associating an extensible set of data with documents downloaded by a web crawler|
|US6360215||Nov 3, 1998||Mar 19, 2002||Inktomi Corporation||Method and apparatus for retrieving documents based on information other than document content|
|US6385602||Nov 3, 1998||May 7, 2002||E-Centives, Inc.||Presentation of search results using dynamic categorization|
|US6389436 *||Dec 15, 1997||May 14, 2002||International Business Machines Corporation||Enhanced hypertext categorization using hyperlinks|
|US6418433||Jan 28, 1999||Jul 9, 2002||International Business Machines Corporation||System and method for focussed web crawling|
|US6418452 *||Nov 3, 1999||Jul 9, 2002||International Business Machines Corporation||Network repository service directory for efficient web crawling|
|US6418453 *||Nov 3, 1999||Jul 9, 2002||International Business Machines Corporation||Network repository service for efficient web crawling|
|US6442606||Aug 12, 1999||Aug 27, 2002||Inktomi Corporation||Method and apparatus for identifying spoof documents|
|US6484204||May 24, 2001||Nov 19, 2002||At&T Corp.||System and method for allocating requests for objects and managing replicas of objects on a network|
|US6516312||Apr 4, 2000||Feb 4, 2003||International Business Machine Corporation||System and method for dynamically associating keywords with domain-specific search engine queries|
|US6539376||Nov 15, 1999||Mar 25, 2003||International Business Machines Corporation||System and method for the automatic mining of new relationships|
|US6546388||Jan 14, 2000||Apr 8, 2003||International Business Machines Corporation||Metadata search results ranking system|
|US6547829||Jun 30, 1999||Apr 15, 2003||Microsoft Corporation||Method and system for detecting duplicate documents in web crawls|
|US6549897||Dec 17, 1998||Apr 15, 2003||Microsoft Corporation||Method and system for calculating phrase-document importance|
|US6594682||Oct 28, 1997||Jul 15, 2003||Microsoft Corporation||Client-side system for scheduling delivery of web content and locally managing the web content|
|US6598047||Jul 26, 2000||Jul 22, 2003||David W. Russell||Method and system for searching text|
|US6598051||Sep 19, 2000||Jul 22, 2003||Altavista Company||Web page connectivity server|
|US6601075||Jul 27, 2000||Jul 29, 2003||International Business Machines Corporation||System and method of ranking and retrieving documents based on authority scores of schemas and documents|
|US6622140||Nov 15, 2000||Sep 16, 2003||Justsystem Corporation||Method and apparatus for analyzing affect and emotion in text|
|US6628304||Dec 9, 1998||Sep 30, 2003||Cisco Technology, Inc.||Method and apparatus providing a graphical user interface for representing and navigating hierarchical networks|
|US6633867||Apr 5, 2000||Oct 14, 2003||International Business Machines Corporation||System and method for providing a session query within the context of a dynamic search result set|
|US6633868||Jul 28, 2000||Oct 14, 2003||Shermann Loyall Min||System and method for context-based document retrieval|
|US6636853||Aug 30, 1999||Oct 21, 2003||Morphism, Llc||Method and apparatus for representing and navigating search results|
|US6638314||Jun 26, 1998||Oct 28, 2003||Microsoft Corporation||Method of web crawling utilizing crawl numbers|
|US6671683||Jun 28, 2001||Dec 30, 2003||Matsushita Electric Industrial Co., Ltd.||Apparatus for retrieving similar documents and apparatus for extracting relevant keywords|
|US6701318||Feb 3, 2003||Mar 2, 2004||Harris Corporation||Multiple engine information retrieval and visualization system|
|US6718324||Jan 30, 2003||Apr 6, 2004||International Business Machines Corporation||Metadata search results ranking system|
|US6718365||Apr 13, 2000||Apr 6, 2004||International Business Machines Corporation||Method, system, and program for ordering search results using an importance weighting|
|US6738764||May 8, 2001||May 18, 2004||Verity, Inc.||Apparatus and method for adaptively ranking search results|
|US6763362||Nov 30, 2001||Jul 13, 2004||Micron Technology, Inc.||Method and system for updating a search engine|
|US6766316||Jan 18, 2001||Jul 20, 2004||Science Applications International Corporation||Method and system of ranking and clustering for document indexing and retrieval|
|US6766422 *||Sep 27, 2001||Jul 20, 2004||Siemens Information And Communication Networks, Inc.||Method and system for web caching based on predictive usage|
|US6775659||Dec 28, 1999||Aug 10, 2004||Symtec Limited||Methods and devices for mapping data files|
|US6775664||Oct 22, 2001||Aug 10, 2004||Lycos, Inc.||Information filter system and method for integrated content-based and collaborative/adaptive feedback queries|
|US6778997||Jan 5, 2001||Aug 17, 2004||International Business Machines Corporation||XML: finding authoritative pages for mining communities based on page structure criteria|
|US6829606||Feb 13, 2003||Dec 7, 2004||Infoglide Software Corporation||Similarity search engine for use with relational databases|
|US6862710||Mar 22, 2000||Mar 1, 2005||Insightful Corporation||Internet navigation using soft hyperlinks|
|US6871202||May 6, 2003||Mar 22, 2005||Overture Services, Inc.||Method and apparatus for ranking web page search results|
|US6886010||Aug 22, 2003||Apr 26, 2005||The United States Of America As Represented By The Secretary Of The Navy||Method for data and text mining and literature-based discovery|
|US6886129||Nov 24, 1999||Apr 26, 2005||International Business Machines Corporation||Method and system for trawling the World-wide Web to identify implicitly-defined communities of web pages|
|US6910029||Feb 22, 2000||Jun 21, 2005||International Business Machines Corporation||System for weighted indexing of hierarchical documents|
|US6931397||Feb 11, 2000||Aug 16, 2005||International Business Machines Corporation||System and method for automatic generation of dynamic search abstracts contain metadata by crawler|
|US6934714||Mar 4, 2002||Aug 23, 2005||Intelesis Engineering, Inc.||Method and system for identification and maintenance of families of data records|
|US6944609||Oct 18, 2001||Sep 13, 2005||Lycos, Inc.||Search results using editor feedback|
|US6947930||Apr 25, 2003||Sep 20, 2005||Overture Services, Inc.||Systems and methods for interactive search query refinement|
|US6959326||Aug 24, 2000||Oct 25, 2005||International Business Machines Corporation||Method, system, and program for gathering indexable metadata on content at a data repository|
|US6973490 *||Jun 23, 2000||Dec 6, 2005||Savvis Communications Corp.||Method and system for object-level web performance and analysis|
|US6990628||Jun 14, 1999||Jan 24, 2006||Yahoo! Inc.||Method and apparatus for measuring similarity among electronic documents|
|US7016540||Apr 24, 2000||Mar 21, 2006||Nec Corporation||Method and system for segmentation, classification, and summarization of video images|
|US7028029||Aug 23, 2004||Apr 11, 2006||Google Inc.||Adaptive computation of ranking|
|US7051023||Nov 12, 2003||May 23, 2006||Yahoo! Inc.||Systems and methods for generating concept units from search queries|
|US7072888||Jun 16, 1999||Jul 4, 2006||Triogo, Inc.||Process for improving search engine efficiency using feedback|
|US7076483||Aug 27, 2001||Jul 11, 2006||Xyleme Sa||Ranking nodes in a graph|
|US7080073||Jun 24, 2002||Jul 18, 2006||Firstrain, Inc.||Method and apparatus for focused crawling|
|US7107218||Oct 23, 2000||Sep 12, 2006||British Telecommunications Public Limited Company||Method and apparatus for processing queries|
|US7152059||Aug 30, 2002||Dec 19, 2006||Emergency24, Inc.||System and method for predicting additional search results of a computerized database search user based on an initial search query|
|US7181438||May 30, 2000||Feb 20, 2007||Alberti Anemometer, Llc||Database access system|
|US7197497||Apr 25, 2003||Mar 27, 2007||Overture Services, Inc.||Method and apparatus for machine learning a document relevance function|
|US7228301||Jun 27, 2003||Jun 5, 2007||Microsoft Corporation||Method for normalizing document metadata to improve search results using an alias relationship directory service|
|US7243102||Jul 30, 2004||Jul 10, 2007||Microsoft Corporation||Machine directed improvement of ranking algorithms|
|US7246128||Jun 12, 2003||Jul 17, 2007||Jordahl Jena J||Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view|
|US7257577||May 7, 2004||Aug 14, 2007||International Business Machines Corporation||System, method and service for ranking search results using a modular scoring system|
|US7260573||May 17, 2004||Aug 21, 2007||Google Inc.||Personalizing anchor text scores in a search engine|
|US7281002||Mar 1, 2004||Oct 9, 2007||International Business Machine Corporation||Organizing related search results|
|US7308643||Jul 3, 2003||Dec 11, 2007||Google Inc.||Anchor tag indexing in a web crawler system|
|US7328401||Dec 22, 2004||Feb 5, 2008||Microsoft Corporation||Adaptive web crawling using a statistical model|
|US20020107886 *||Feb 7, 2001||Aug 8, 2002||Gentner Donald R.||Method and apparatus for automatic document electronic versioning system|
|US20050086192 *||Oct 16, 2003||Apr 21, 2005||Hitach, Ltd.||Method and apparatus for improving the integration between a search engine and one or more file servers|
|US20050086206 *||Oct 15, 2003||Apr 21, 2005||International Business Machines Corporation||System, Method, and service for collaborative focused crawling of documents on a network|
|US20050192936 *||Feb 12, 2004||Sep 1, 2005||Meek Christopher A.||Decision-theoretic web-crawling and predicting web-page change|
|1||"Microsoft External Content in Microsoft Office SharePoint Portal Server 2003", http://www.microsoft.com/technet/prodtechnol/sppt/reskit/c2261881x.mspx, published on Jun. 9, 2004, printed on May 22, 2006, 20 pp.|
|2||"Microsoft Full-Text Search Technologies", http://www.microsoft.com/technet/prodtechnol/sppt/sharepoint/evaluate/featfunc/mssearc..., published on Jun. 1, 2001, printed on May 22, 2006, 13 pp.|
|3||"Microsoft SharePoint Portal Server 2001 Resource Kit: Chapter 24, Analyzing the Default Query for the Dashboard", http://www.microsoft.com/technet/prodtechnol/sppt/sharepoint/reskit/part5/c24spprk.mspx, printed on May 22, 2006, 5 pp.|
|4||"Planning Your Information Structure Using Microsoft Office SharePoint Portal Server 2003", http://www.microsoft.com/technet/prodtechnol/sppt/reskit/c0861881x.mspx, published on Jun. 9, 2004, printed on May 22, 2006, 22 pp.|
|5||"SharePoint Portal Server 2001 Planning and Installation Guide", http://www.microsoft.com/technet/prodtechnol/sppt/sharepoint/plan/planinst.mspx, printed on May 22, 2006, 86 pp.|
|6||Agichten et al., "Improving Web Search Ranking by Incorporating User Behavior Information"-http://www.mathcs.emory.edu/ ~eugene/papers/sigir2006ranking.pdf, 8 pp.|
|7||Bandinelli, Luca, "Using Microsoft SharePoint Products and Technologies in Multilingual Scenarios", http://www.microsoft.com/technet/prodtechnol/office/sps2003/maintain/spmultil.mspx, published on Nov. 1, 2003, printed on May 22, 2006, 32 pp.|
|8||Brin, S. et al., "The Anatomy of a Large-Scale Hypertextual Web Search Engine", Proceedings of the Seventh International World-Wide Web Conference, 'Online! Apr. 14, 1998, pp. 1-26.|
|9||Burges, Christopher J.C. et al. "Learning to Rank with Nonsmooth Cost Functions"-http://books.nips.cc/papers/txt/nips19/NIPS2006-0574.txt, 2 pp.|
|10||Carmel, D. et al., "Searching XML Documents Via XML Fragments", SIGR Toronto, Canada, Jul.-Aug. 2003, pp. 151-158.|
|11||Chen, Hsinchun et al., "A Smart Itsy Bitsy Spider for the Web", Journal of the American Society for Information Science, 49(7), 1998, pp. 604-618.|
|12||Chen, Michael et al., Cha Cha, "A System for Organizing Intranet Search Results", Computer Science Department, University of California, Berkeley, 1999, pp. 1-12.|
|13||Chinese Final Rejection in 200510088213.5 mailed Mar. 6, 2009.|
|14||Chinese First Official Action in 200510088213.5 mailed May 9, 2008.|
|15||Chinese First Official Action in 200510088527.5 mailed Apr. 18, 2008.|
|16||Chinese First Official Action mailed Jun. 19, 2009 in 200680029645.1.|
|17||Chinese Second Official Action in 200510088213.5 mailed Oct. 10, 2008.|
|18||Chinese Second Official Action in 200510088527.5 mailed Dec. 26, 2008.|
|19||Craswell, N. et al., "TREC12 Web Track as CSIRO", TREC 12, Nov. 2003, 11 pp.|
|20||Cutler, M. et al., "A New Study on Using HTML Structures to Improve Retrieval", 11th IEEE International Conference on Chicago, IL, Nov. 9-11, 1999, pp. 406-409.|
|21||Eiron, N. et al., "Analysis of Anchor Text for Web Search", Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, Jul. 28-Aug. 1, 2003, Toronto, Canada, 8 pgs.|
|22||EP Exam Report in EP 05105048.2-2201 mailed Apr. 23, 2007.|
|23||Fagin, R. et al., "Searching the Workplace Web", IBM Almaden Research Center, In Proceedings of the Twelfth International World Wide Web Conference, Budapest, 2003, 21 pgs.|
|24||Fagin, Ronald, "Searching the Workplace Web", Mar. 3, 2005, pp. 1-10.|
|25||Filip Radlinski, et al.,, "Query Chains: Learning to Rank from Implicit Feedback," http://delivery.acm.org/10.1145/1090000/1081899/p239-radlinski.pdf?key1=1081899&key2=3628533811&coll=GUIDE& CFID=27212902&CFTOKEN=53118399, KDD'05, Chicago, IL, Aug. 21-24, 2005,10 pages.|
|26||Gui-Rong Xue, et al., "Optimizing Web Search Using Web Click-Through Data," http://people.cs.vt.edu/~xwensi/Publication/p118-xue.pdf, CIKM'04, Nov. 8-13, 2004, 9 pages.|
|27||Hawking, D. et al., "Overview of the TREC-8 Web Track", TREC, Feb. 2000, pp. 1-18.|
|28||Hawking, D., "Overview of the TREC-9 Track", TREC, 2000, pp. 1-16.|
|29||Hawking., D. et al., "Overview of TREC-7 Very Large Collection Track", TREC, Jan. 1999, pp. 1-13.|
|30||Heery, Rachel, "Review of Metadata Formats", Program, vol. 30, No. 4, Oct. 1996, 1996 IEEE, pp. 345-373.|
|31||Hiemstra, D. et al., "Relevance Feedback for Best Match Term Weighting Algorithms in Information Retrieval", Proceedings of the Joint DELOS-NSF Workshop on Personalisation and Recommender Systems in Digital Libraries, ERCIM Workshop Proceedings 01/W03, pp. 37-42, Jun. 2001.|
|32||Irina Matveeva, et al., "High Accuracy Retrieval with Multiple Nested Ranker," http://people.cs.uchicago.edu/~matveeva/RankerSIGIR06.pdf, SIGIR'06, Seattle, WA Aug. 6-11, 2006, 8 pages.|
|33||Jones, K. et al., "A probabilistic model of information retrieval: development and status", Department of Information Science, City University, London, Aug. 1998, 74 pgs.|
|34||Kleinberg, Jon M., "Authoritative Sources in a Hyperlinked Environment", Proceedings of the aCM-SIAM symposium on Discrete Algorithms, 1998, 34 pp.|
|35||Kotsakis, E., "Structured Information Retrieval in XML Documents", Proceedings of the ACM Symposium on Applied Computing, Madrid, Spain, 2002, pp. 663-667.|
|36||Kucuk, Mehmet Emin, et al., "Application of Metadata Concepts to Discovery of Internet Resources", ADVIS 2000, INCS 1909, pp. 304-313, 2000.|
|37||Lalmas, M., "Uniform Representation of Content and Structure for Structured Document Retrieval", 20th SGES International Conference on Knowledge Based Systems and Applied Artificial Intelligence, Cambridge, UK, Dec. 2000, pp. 1-12.|
|38||Larkey, Leah S., et al., "Collection Selection and Results Merging with Topically Organized U.S. Patents and TREC Data", Proceedings of the Ninth International Conference on Information Knowledge Management, CIKM 2000, Nov. 6-11, 2000, pp. 282-289.|
|39||Ljosland, Mildrid, "Evaluation of Web Search Engines and the Search for Better Ranking Algorithms," http://www.aitel.hist.no/~mildrid/dring/paper/SIGIR.html, SIGIR99 Workshop on Evaluation of Reb Retrieval, Aug. 19, 1999, 5 pages.|
|40||Losee, R. et al., "Research in Information Organization", Literature Review, School of Information and Library Science, Section 4, pp. 53-96, Jan. 2001.|
|41||Losee, Robert M. et al., "Measuring Search Engine Quality and Query Difficulty: Ranking with Target and Freestyle," http://ils.unc.edu/~losee/paril.pdf, Journal of the American Society for Information Science, Jul. 29, 1999, 20 pages.|
|42||Manning, C. et al., "CS276A Text Information Retrieval, Mining, and Exploitation: Lecture 12", Stanford University CS276A/SYMBSYS2391/LING2391 Test Information Retrieval, Mining, and Exploitation, Fall 2002, last modified Nov. 18, 2002, 8 pgs.|
|43||Microsoft SharePoint Portal Server 2001 White Paper, "Microsoft SharePoint Portal Server: Advanced Technologies for Information Search and Retrieval," http://download.microsoft.com/download/3/7/a/37a762d7-dbe6-4b51-a6ec-f6136f44fd65/SPS-Search.doc, Jun. 2002, 12 pages.|
|44||MSDN, "Understanding Ranking," http://msdn.microsoft.com/en-us/library/ms142524.aspx, Sep. 2007, 4 pages.|
|45||Nelson, Chris, "Use of Metadata Registries for Searching for Statistical Data", IEEE 2002, Dimension EDI Ltd., pp. 232-235, 2002.|
|46||Numerico, T., "Search engines organization of information and Web Topology", http://www.cafm.1sbu.ac.uk/eminars/sse/numerico-6-dec-2004.pdf, Dec. 6, 2004, 32 pgs.|
|47||Ogilvie, P. et al., "Combining Document Representations for Known-Item Search", Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, Toronto, Canada, 2003, pp. 143-150.|
|48||PCT Search Report in PCT/US2006/031965 mailed Jan. 11, 2007.|
|49||PCT Search Report in PCT/US2008/011894 mailed Feb. 27, 2009.|
|50||Robertson, S. et al., "Okapi at TREC-4", 1996, 24 pp.|
|51||Robertson, S. et al., "Some Simple Effective Approximations to the 2-Poisson Model for Probabilistic Weighted Retrieval", Proceedings of the 17th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 1994, pp. 232-241.|
|52||Schulz, Stefan, et al., "Indexing Medical WWW Documents by Morphemes", MEDINFO 2001 Proceedings of the 10th World Congress on Medical Informatics, Park I, IOS Press, Inc., pp. 266-270, 2001.|
|53||Senecal, Sylvain, "Consumers' Decision-Making Process and Their Online Shopping Behavior: A Clickstream Analysis", Jun. 1, 2004, pp. 1600-1607.|
|54||Shamsford, Mehrnoush, et al., "ORank: An Ontology Based System for Ranking Documents," http://www.waset.org/ijcs/v1/v1-3-30.pdf, International Journal of Computer Science, vol. 1, No. 3, Apr. 10, 2006, pp. 225-231.|
|55||Singhal, A. et al., "AT&T at TREC-9", Proceedings of the Ninth Text Retrieval Conference, NIST Special Publication 500-249, 'Online! 2001, pp. 103-105.|
|56||Smyth Barry, "Relevance at a Distance - An Investigation of Distance-Biased Personalization on the Mobile Internet", no date, pp. 1-6.|
|57||Sturdy, Derek, "Squirrels and nuts: metadata and knowledge management", Business Information Review, 18(4), pp. 34-42, Dec. 2001.|
|58||Taylor et al., "Optimisation Methods for Ranking Functions with Multiple Parameters"-http://delivery.acm.org/10.1145/1190000/1183698/p585-taylor.pdf?key1=1183698&key2=3677533811&coll=GUIDE&d1=GUIDE&CFID=22810237&CFTOKEN=34449120, pp. 585-593.|
|59||U.S. 2005/0210006 A1 to Robertson et a., Sep. 2005; U.S. Appl. No. 10/804,326, filed Mar. 18, 2004 entitled "Field Weighting in Text Document Searching".|
|60||U.S. 2006/0074871 A1 to Meyerzon et al., Apr. 2006; U.S. Appl. No. 10/955,462, filed Sep. 30, 2004 entitled "System and Method for Incorporating Anchor Text Into Ranking Search Results".|
|61||U.S. 2006/0074903 A1 to Meyerzon et al., Apr. 2006; U.S. Appl. No. 10/955,983, filed Sep. 30, 2004 entitled "System and Method for Ranking Search Results Using Click Distance".|
|62||U.S. 2006/0136411 A1 to Meyerzon et al., Jun. 2006; U.S. Appl. No. 11/019,091, filed Dec. 21, 2004 entitled "Ranking Search Results Using Feature Extraction".|
|63||U.S. 2006/0200460 A1 to Meyerzon et al., Sep. 2006; U.S. Appl. No. 11/073,381, filed Mar. 3, 2005 entitled "System and Method for Ranking Search Results Using File Types".|
|64||U.S. Appl. No. 09/493,748, filed Jan. 28, 2000 entitled "Adaptive Web Crawling Using a Statistical Model".|
|65||U.S. Appl. No. 11/874,579, filed Oct. 18, 2007 entitled "Ranking and Providing Search Results Based in Part on a Number of Click-Through Features".|
|66||U.S. Appl. No. 11/874,844, filed Oct. 18, 2007 entitled "Enterprise Relevancy Ranking Using a Neural Network".|
|67||U.S. Appl. No. 12/207,910, filed Sep. 10, 2008 entitled "Document Length as a Static Relevance Feature for Ranking Search Results".|
|68||U.S. Official Action in U.S. Appl. No. 10/804,326 mailed Dec. 10, 2008.|
|69||U.S. Official Action in U.S. Appl. No. 10/804,326 mailed Jun. 7, 2007.|
|70||U.S. Official Action in U.S. Appl. No. 10/955,983 mailed Dec. 18, 2008.|
|71||U.S. Official Action in U.S. Appl. No. 10/955,983 mailed Jul. 21, 2008.|
|72||U.S. Official Action in U.S. Appl. No. 10/955,983 mailed Jun. 10, 2009.|
|73||U.S. Official Action in U.S. Appl. No. 11/019,091 mailed Dec. 11, 2008.|
|74||U.S. Official Action in U.S. Appl. No. 11/073,381 mailed Apr. 15, 2009.|
|75||U.S. Official Action in U.S. Appl. No. 11/073,381 mailed Jul. 10, 2008.|
|76||U.S. Official Action in U.S. Appl. No. 11/073,381 mailed Sep. 18, 2007.|
|77||U.S. Official Action in U.S. Appl. No. 11/206,286 mailed Dec. 24, 2008.|
|78||U.S. Official Action in U.S. Appl. No. 11/206,286 mailed Jul. 14, 2008.|
|79||U.S. Official Action in U.S. Appl. No. 11/238,906 mailed May 19, 2009.|
|80||U.S. Official Action in U.S. Appl. No. 11/238,906 mailed Sep. 26, 2008.|
|81||U.S. Official Action in U.S. Appl. No. 11/412,723 mailed Mar. 6, 2009.|
|82||Voorhees, E., "Overview of TREC 2002", Gaithersburg, Maryland, Nov. 19-22, 15 pp.|
|83||Wen, Jl-Rong, "Query Clustering Using User Logs", Jan. 2002, pp. 59-81.|
|84||Westerveld, T. et al., "Retrieving Web pages using Content, Links, URLs and Anchors", Proceedings of the Tenth Text Retrieval Conference, NIST Special Publication, 'Online! Oct. 2001, pp. 1-10.|
|85||Wilkinson, R., "Effective Retrieval of Structured Documents", Annual ACM Conference on Research and Development, 1994, 7 pp.|
|86||Yi, Jeonghe,e et al., "Metadata Based Web Mining for Topic-Specific Information Gathering", IEEE, pp. 359-368, 2000.|
|87||Yi, Jeonghee, et al., "Using Metadata to Enhance Web Information Gathering", D.Suciu and G. Vossen (eds.): WebDB 2000, LNCS 1997, pp. 38-57, 2001.|
|88||Zamir, O. et al., "Grouper: A Dynamic Clustering Interface to Web Search Results", Computer Networks (Amsterdam, Netherlands: 1999), 31(11-16): 1361-1374, 1999.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8645345||Mar 25, 2011||Feb 4, 2014||Affini, Inc.||Search engine and method with improved relevancy, scope, and timeliness|
|US8738635||Jun 1, 2010||May 27, 2014||Microsoft Corporation||Detection of junk in search result ranking|
|US8812493||Apr 11, 2008||Aug 19, 2014||Microsoft Corporation||Search results ranking using editing distance and document information|
|US8825893 *||Dec 12, 2011||Sep 2, 2014||Kabushiki Kaisha Toshiba||Relay device, relay method and relay system|
|US8843486||Sep 29, 2009||Sep 23, 2014||Microsoft Corporation||System and method for scoping searches using index keys|
|US8966053 *||Jul 14, 2008||Feb 24, 2015||Viasat, Inc.||Methods and systems for performing a prefetch abort operation for network acceleration|
|US9348846||Jul 2, 2012||May 24, 2016||Google Inc.||User-navigable resource representations|
|US9460229||Oct 15, 2008||Oct 4, 2016||Viasat, Inc.||Methods and systems for implementing a cache model in a prefetching system|
|US9495462||Jan 27, 2012||Nov 15, 2016||Microsoft Technology Licensing, Llc||Re-ranking search results|
|US9654328||Jan 10, 2013||May 16, 2017||Viasat, Inc.||Methods and systems for implementing a cache model in a prefetching system|
|US20060168151 *||Mar 30, 2006||Jul 27, 2006||Umberto Caselli||Method, system and computer program for retrieving information with reduced age in a periodic process|
|US20090019153 *||Jul 14, 2008||Jan 15, 2009||Viasat, Inc.||Methods and systems for performing a prefetch abort operation|
|US20110173181 *||Mar 25, 2011||Jul 14, 2011||Chang William I||Search engine and method with improved relevancy, scope, and timeliness|
|US20120084457 *||Dec 12, 2011||Apr 5, 2012||Kabushiki Kaisha Toshiba||Relay device, relay method and relay system|
|U.S. Classification||715/205, 709/217, 715/255, 715/200, 707/999.001, 707/999.01, 707/999.003|
|Cooperative Classification||Y10S707/99931, Y10S707/99933, G06F17/30864|
|May 24, 2013||REMI||Maintenance fee reminder mailed|
|Oct 13, 2013||LAPS||Lapse for failure to pay maintenance fees|
|Dec 3, 2013||FP||Expired due to failure to pay maintenance fee|
Effective date: 20131013
|Jan 15, 2015||AS||Assignment|
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001
Effective date: 20141014