text:
RU2383920C2 - System and method for client-supported search using web-agent - Google Patents
System and method for client-supported search using web-agent Download PDF
RU2383920C2
RU2383920C2 RU2004125187/09A RU2004125187A RU2383920C2 RU 2383920 C2 RU2383920 C2 RU 2383920C2 RU 2004125187/09 A RU2004125187/09 A RU 2004125187/09A RU 2004125187 A RU2004125187 A RU 2004125187A RU 2383920 C2 RU2383920 C2 RU 2383920C2
RU2004125187/09A
RU2004125187A (en
Эрик Д. БРИЛЛ (US)
Эрик Д. БРИЛЛ
Кристофер А. МИК (US)
Кристофер А. МИК
Майкрософт Корпорейшн
2003-09-25 Priority to US10/670,681 priority Critical
2004-08-17 Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
2006-02-20 Publication of RU2004125187A publication Critical patent/RU2004125187A/en
2010-03-10 Publication of RU2383920C2 publication Critical patent/RU2383920C2/en
238000007405 data analysis Methods 0 abstract 3
238000004891 communication Methods 0 abstract 2
238000007792 addition Methods 0 abstract 1
230000000694 effects Effects 0 abstract 1
G06F16/90—Details of database functions independent of the retrieved data types
G06F16/95—Retrieval from the web
G06F16/951—Indexing; Web crawling techniques
FIELD: physics; computer engineering.
SUBSTANCE: invention relates to data analysis and more specifically to systems and methods for obtaining information from a system operating in a network using a distributed search agent on the World Wide Web. In one version of the invention the data analysis system includes a first component linked to the data analysis system server which enables generation of a first set of data related to information of the web page obtained on a communication system, a second component which controls a second set of data related to information of the web page from at least one distributed resource which interacts with the communication system, where the second set of data is used to refine the first set of data, where refinement of the first set of data involves addition of unknown information to the second set of data when new information is received from the distributed resource through the second set of data or updating existing information in the second set of data if there are changes to content of the web page information as indicated by the second set of data.
EFFECT: providing server clients with fast and accurate web agent search data.
105 cl, 14 dwg
The present invention relates mainly to data analysis, and more particularly to systems and methods for obtaining information from a networked system using a distributed search agent on the World Wide Web (web search agent).
The evolution of computer and network technologies from expensive low-performance data processing systems to low-cost high-performance communication, problem-applied and entertainment systems has led to cost-effective and time-saving tools designed to reduce the burden of daily tasks, such as correspondence, paying bills, making purchases, planning budget and information gathering. For example, a computer system connected to the Internet via wired or wireless technology can provide the user directly at his workplace with a channel of almost instant access to the information wealth of the repository (storage of database objects) of websites and servers located around the world.
Typically, information provided through websites and servers is provided through a web browser (a web viewer) running on a web client (such as a computer). For example, a Web user can use a web browser and access a website by entering a Unified Resource Index (URL, URL) (for example, a web address and / or Internet address) in the address bar of a web browser and pressing the enter key on keyboard or by "clicking" the "go" button. A URL typically includes four pieces of information that simplifies access: a protocol (a computer language for interacting with each other) that specifies a set of rules and standards for exchanging information, the location of a website, the name of the organization that supports the website, and a suffix (e.g. com, org, net, gov, and edu) that identifies the type of organization.
In some situations, the user a priori knows the name of the site or server and / or URL of the site or server that the user wants to access. In such situations, the user can access the site as described above by entering the URL into the address bar and connecting to the site. However, in most situations, the user does not know the URL or the site name. Instead, the user uses a search tool (search engine) to facilitate site discovery based on keywords submitted by the user. Typically, a search engine consists of executable applications or programs that search for keywords in the contents of websites and servers and provide a list of links to websites or servers where the keywords were found. Essentially, the search engine includes a web search agent, or crawler (also called a spider, worm, or robot), which searches for as many documents as possible, as well as related URLs . This information is then stored so that the indexer can manage the data found. The indexer reads documents and creates an index of assigned priorities based on the keywords contained in each document and other attributes of the document. An appropriate search engine typically uses its own algorithm to create indexes so that meaningful search results can be returned.
Thus, the web search agent is very important for the search engines. In order to provide current and relevant search results, the search agent must constantly search the Web to find new web pages, update information on old web pages and to exclude deleted, that is, ceased to exist pages. The number of web pages searched on the Internet is astronomically large. Therefore, the search agent is required to be extremely fast. Because many web search agents collect their data through sequential polling, or polling, of the servers that represent the web pages, the search agent should also be as subtle as possible when accessing a particular server. Otherwise, the search agent can very quickly use all the resources of the server and lead to server shutdown. Typically, the search agent identifies itself to the server and requests permission before accessing the web pages. At this point, the server may deny access to a malfunctioning search agent that seizes all server resources. A web page hosting server usually benefits from the use of search engines because they allow users to more easily find their web pages. Therefore, for a fuller use of server contents by users, most servers welcome the use of search agents insofar as these agents do not leak all server resources.
One of the flip sides of identifying itself as a server with a search agent is the ability of the server to further simulate a connection (perform "spoofing") with respect to the search agent. Typically, servers have secure areas that they do not want to open to the normal Internet. When the search agent identifies itself, it is informed which areas it cannot access. If the search agent wishes to maintain operational interaction with this particular server, it must obey server requests. However, if the server wants to simulate a connection or hide its real content, it can direct the search agent to the page area, which imitates the correct URL, but contains "alternative" content. Thus, a server that usually provides information only about cats can set its URL to information about dogs in an area that only a search agent has access to. This is done so that when the user searches for "dogs," the search engine would show the server's web pages about cats. Typically, simulated connections are used when the content of the server is considered reprehensible by society, but the server wants to distribute its content that goes beyond the normal "keywords". Thus, reprehensible material can be shown on the search engine list using generally accepted words, such as flowers, dogs, cats, weather, etc. Connection simulations reduce the accuracy as well as the reputation of search engines using web search agent data from a simulated connection.
Disclosure of invention
The following is a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This disclosure is not a comprehensive overview of the invention. It is not intended to identify key / essential features of the present invention or to limit the scope of the invention. Its sole purpose is to present in a simplified form some concepts of the invention as an introduction to the more detailed description that is presented later.
The present invention relates mainly to data analysis, and more particularly to systems and methods for obtaining information from networked systems using a distributed web search agent. The distributed nature of server clients involves providing fast and accurate web agent search data. The information collected by the server's web search agent is compared with the data received by the server's clients to update the data of the search agent. In one example of the present invention, comparative data is obtained by using information disseminated through a search engine result page. In another example of the present invention, data verification is performed through client dictionaries originating from a server that generalize the data of a web search agent. In another embodiment of the present invention, a "weak indicator" function from a set of weak indicator functions is randomly sent to a client. These functions of a weak indicator are much smaller than all the URLs in the general list found by the server's web search agent, which significantly reduces the amount of data exchange between the server and the client. This simplifies the server-client interaction while maintaining the optimal accuracy of the web search agent data.
The present invention also simplifies data analysis by providing a means of counteracting a simulated web agent connection to increase data accuracy. The server on which the present invention is applied can withstand a simulated connection by comparing the data of its web search agent with the data provided by the client. This allows the server to eliminate connection simulation data, providing higher quality search engine results. This feature makes it easier to filter out unwanted material that is usually not issued during a secure search, thereby providing a more positive practice for customers to use the search engine.
Pursuant to the foregoing and related aspects, some illustrative embodiments of the invention disclosed herein with reference to the following drawings are given. These options for implementation, however, reflect only a few of the possible ways of applying the principles of the present invention, and the present invention should be considered to include all such embodiments and their equivalents. Other advantages and new features of the present invention are apparent from the following detailed description, given with reference to the relevant drawings.
Figure 1 is a structural diagram of a data analysis system in accordance with an embodiment of the present invention.
Figure 2 is the following structural diagram of a data analysis system in accordance with an embodiment of the present invention.
Figure 3 is another structural diagram of a data analysis system in accordance with an embodiment of the present invention.
4 is another structural diagram of a data analysis system in accordance with an embodiment of the present invention.
5 is an illustration of a data analysis system using a search results page, in accordance with an embodiment of the present invention.
6 is a structural diagram of a connection simulation process that includes a web search engine system in accordance with an embodiment of the present invention.
7 is a structural diagram of a connection countermeasurement process that includes a web search agent system in accordance with an embodiment of the present invention.
FIG. 8 is a flowchart of a client-based search method by a web agent in accordance with an embodiment of the present invention.
FIG. 9 is a further flowchart of a client-based search method by a web agent in accordance with an embodiment of the present invention.
10 is another flowchart of a client-based search method by a web agent in accordance with an embodiment of the present invention.
12 is a flowchart of a method for generating the correct set of weak indicator functions for a client-based search by a web agent in accordance with an embodiment of the present invention.
13 is an illustration of an example operating environment in which the present invention may be implemented.
Fig. 14 is an illustration of another example of an operating environment in which the present invention may be practiced.
The implementation of the invention
The present invention is disclosed with reference to the drawings, in which like reference numerals are used to denote like elements. In the following description, for purposes of completeness, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It is obvious, however, that the present invention can be practiced without these specific details. In other examples, well-known structures and devices are shown in blocks in block diagrams in order not to complicate the description of the present invention.
As used in this application, the term "component" is intended to mean an element related to a computer or hardware, a combination of hardware and software, software or software during execution. For example, a component may be, but is not limited to, a process executed by a processor, the processor itself, an object, an executable, a workflow, a program, and / or a computer. For purposes of illustration, both the application running on the server and the server may be a computer component. One or more components may be constantly present in the process and / or workflow, and the component may be localized on one computer and / or distributed between two or more computers. A thread is an object within a process that the kernel of an operating system plans to execute. As is known from the prior art, each thread has a corresponding "context", which is temporary data associated with the execution of the thread. The contents of the stream include the contents of the system registers and the virtual address belonging to the stream process. Thus, the actual data, including the context of the stream, changes as it is executed.
The present invention provides improved systems and methods for maintaining the index of web documents. It can also be used to search and save data for other types of information. Traditional web agents have certain disadvantages that are addressed by the present invention. Each client (that is, the computer of any user who has access to the Web) stores local information, so he can find out if the web page has changed since the last time it was visited by the client. If it has changed, the client can pass this information to the search engine. Similarly, a server can use information regarding web pages visited by clients to detect pages currently unknown to the server. Effectively detecting documents and maintaining current knowledge of these documents is an extremely important search task, both on the intranet and on the Internet. The present invention can also be used in relation to searches on the intranet, where the search for pages by the agent and maintaining the information of the pages relevant are extremely popular tasks.
An important component of the search engine (for the Internet, intranet or others) is the search agent for data or documents. The document search agent performs two main tasks: it detects unknown documents for indexing through a search engine and tries to maintain updated knowledge about each known document. Both of these tasks are complex and (along with the quality of page ranking) are the most important and obvious differentiators of the quality of search engines. A document search agent is usually based on a server model. The search engine performs a topological search by the agent on the Web. Starting with the initial set of known web pages, the web search agent follows the links from these pages and can thus detect all web pages that are connected via the path (URL set of links) from the initial set. To maintain the knowledge of the search engine about the selection of documents by the updated search agent often need to be repeated. Since the search agent revisits the web pages, each time it searches, it can find out how often the page (or subgraph) changes, and based on the past frequency of the change, search again for some pages more often than other pages.
There are a number of drawbacks to the server-based agent search principle. Firstly, the search agent can only detect pages that can be accessed by subsequent links starting from one of the initial documents. Recent studies have shown that a huge percentage of web pages are not currently indexed by any search engine. Secondly, the search engine can only learn about changes to the document (i.e., a change in content or that the page no longer exists) only when the search agent has visited the page again.
The present invention provides systems and methods for efficiently detecting documents (i.e., data) and maintaining updated knowledge of known documents in such a way that the aforementioned disadvantages are eliminated. This is achieved through a distributed client-based search agent. Each client (i.e., the machine of any user who works on the Web) stores local information, so you can find out if the page has changed since the last time it was visited by the client. If it has changed, the client can then report this information to the search engine. Thus, the server can use information about web pages visited by clients to detect pages that are currently unknown to the server.
1 is a structural diagram of a data analysis system 100 in accordance with an embodiment of the present invention. In the example of the present invention, the data analysis system 100 consists of clients 102-106, designated from 1 to "N", where N is any number from 1 to infinity; communication systems 108, a search server 110, and web page servers 112. Clients 102-106 constitute a group of "distributed resources" for web page information for search server 110. They mainly function to provide new URLs, change web pages, and the like to search server 110 via communication system 108. Communication system 108 includes the Internet, and / or an intranet, or the like. It provides access for communication between the search server 110 and the clients 102-106. It also provides communication between clients 102-106 and other web page servers 112 and / or search server 110 and other servers for collecting web page information. In fact, the functions of the web search agent are distributed between the search server 110 and the clients 102-106, in contrast to the functioning of the agent only on the search server. Search server 110 uses clients 102-106 to retrieve server information 112 web pages to facilitate the selection of their own information. By distributing these functions, the present invention provides a more current, reliable and protected from simulated connection data set, the data of which can be used by a search engine.
FIG. 2 is another structural diagram of a data analysis system 200 in accordance with an embodiment of the present invention. The data analysis system 200 includes a client 202 and a server 204 with communication tools that enable communication between them. During normal operation, a web search agent is located on server 204, which searches the communication network, such as the Internet, for other servers that host web pages. The web search engine generates a source of information about these web pages for use with the web page search engine. Server 204 then sends a presentation of this web page information to client 202. This provides client 202 with the ability to independently verify web page information when accessing a server hosting a particular web page. Client 202 can also detect web pages that are unknown to server 204. This allows client 202 to compose changes / statuses and / or new information about known and unknown web pages. This information is then transmitted to the server 204. The server 204 uses the information to refine its initial web page search data by the agent. With distributed resources, server 204 expands the capabilities of its search agent without burdening its own direct resources (i.e., processor usage, storage space, etc.). Additionally, since the web agent usually identifies itself to each server that it accesses, it risks being redirected to false data on that server. Servers can also limit the number of accesses and the time that the web agent requires server resources. The client accessing the server is usually not subject to these restrictions, and it is not redirected to false data. Thus, the client's web page data can be used to correct the false data collected by the web agent. This aspect of the invention is described in more detail below.
FIG. 3 is yet another structural diagram of a data analysis system 300 in accordance with an embodiment of the present invention. The data analysis system 300 includes a client system component 302 and a server system component 304 with a communication system (SS) 306 interconnected therebetween. In this example of the present invention, the client system component 302 includes a CC interface component 308, a client management component 310, a data storage component 312, a CC graphical user interface (GUI) component 308, providing a user interface that is specific to the particular type of communication system used . One example of such an interface is a web browser used to work in graphical mode with information from at least the World Wide Web. A web browser can also be used to surf the intranet, such as web pages provided by a particular enterprise. In other examples of the present invention, similar information can be operated using a text interface instead of a graphical user interface. Typically, it is component 308 that allows the user to perform search queries with a search engine located on a remote server connected to communication system 306. Thus, the GUI component 308 SS transmits and / or receives information from the communication system 306. The client management component 310 provides client management in terms of facilitating the search by the web agent. The client management component 310 receives and / or transmits data related to information such as web pages and the like. This component 310 performs algorithm processing, monitors data and state (status) changes, and / or manages local data storage in the data analysis system 300. This component 310 may also analyze information from the GUI GUI component 308 with information received from the web search agent to determine differences and the like. The client management component 310 allows the client to act as a "distributed resource" for the web search agent and the like. This component 310 may also have access to stored data and provide information to the GUI CC component 308. In one example of the present invention, the GUI CC component 308 transmits and / or receives embedded search agent data. Thus, the client management component 310 establishes interaction with the GUI SSI component 308 to receive and / or transmit embedded data related to the search agent. Similarly, this component 310 can also direct and / or receive directives from the server in the same way. In another example of the present invention, the client management component 310 may behave like a server and manage other clients as connected peers on a local area network. It is obvious to a person skilled in the art that the functions of the client management component 310 and the GUI CC component can be combined into a single component. It is also possible to use the client as a distributed resource without the 308 GUI SS component. One example of such an embodiment of the present invention may include, but is not limited to, performing, by one client, the actuation and / or control of another client. The data storage component 312 is used to store, for example, search agent data from a server, search agent data from a client, changes to web pages, new web page data, client management settings, and the like. This component 312 can interact directly with the client management component 310 and / or the GUI GUI component 308, depending on the particular embodiment of the present invention. The data storage component 312 may also be a data storage device, such as a hard disk drive, read only memory, random access memory, removable storage medium, CD-ROM, and the like. In another example of the present invention, information stored in the data storage component 312 can be directly accessed by the server without interacting with the GUI GUI component 308 or the client management component 310. In some cases, this allows for faster data retrieval.
In one example of the present invention, the communication system 306 is the Internet in the sense of "Internet" as a global network of computer resources. This system 306 may also be an intranet system in the form of a wide area network (GL) and / or local area network (LOS) and the like. The communication system 306 may also use more traditional means of communication, such as, for example, telephone systems, radio systems, light signaling (optical) systems, sound systems, and the like. For specialists in the art it is obvious that other global and local network structures can also be used in the present invention as a communication system 306.
The system server component 304 includes a search engine component 314, a distributed resource management component 316, a search agent component 318, a data storage component 320, and, optionally, a CC data hosting component 322. In another example of the present invention, the search agent component 318 uses the communication system 306 to access servers and / or proxies (firewalls) to obtain information related to web pages, such as web page content, age, size, URL, nested communication and the like. This information is then stored in the data storage component 320. The data storage component 320 may be a data storage device in the form of a hard disk drive, read-only memory, random access memory, removable storage medium, CD-ROM and the like. The search engine component 314 provides the ability to search all web pages detected by the web search agent 318 and stored in the data storage component 320. This component 314 receives a search query from the user and accesses the information in the data storage component 320 to compile a list of links and web page data, to send them to the user. Thus, in a conventional system, the search component 314 can rely only on information obtained by the search agent component 318. However, in the examples of the present invention, the distributed resource controller 316 facilitates the collection of information stored in the data storage component 320, allowing it to be more clear, up-to-date and more capacious. Distributed resource management component 316 provides management of all distributed resources, such as, for example, server clients that interact as a single distributed search agent or a "client-based web search agent". Component 316 provides, for example, the execution of a function such as analyzing data received from distributed resources, such as a client component 302 of the system or the like, determining a function, placing data and synchronizing it, providing distributed resource algorithms for determining known data of a search agent, obtaining data updates and / or additions, storing data updates and / or additions in the data storage component 320, determining the optimized use of distributed resources, providing page data for search engine component 314 to enable data to be embedded in search result pages for a specific search query, page data for an Internet service provider to generate pages that include embedded page link information, and tracking data characteristics such like calculations, types, percentage of imitations of compounds, source, and the like. In another example of the present invention, the search page component 314 sends and / or receives information for the distributed resource management component 316 instead of directly accessing the component 316 to the communication system 306.
In the example of the present invention, the optionally present CC data hosting component 322 interacts with both the communication system 306 and the distributed resource management component 316. CC data hosting component 322 provides the ability to host web pages to provide users with access to a web page. Since the CC data hosting component 322 interacts with the distributed resource management component 316, it can receive and embed web page link information directly into the web page located on it. In other examples of the present invention, the CC data hosting component 322 interacts directly with the data storage component 320 to access information for embedding in a web page. In yet another example of the present invention, CC data hosting component 322 interacts with a search engine component 314 to access information for embedding web pages in its association. In yet another example of the present invention, CC data hosting component 322 may reside in a distributed resource, such as a client. This component 322 may also reside on another server that has access to the server component 304 of the system. In this example, the client (or server) will actually become a server for hosted web pages and will provide information for embedding in a web page link from a local storage medium and / or other local means.
It will be apparent to those skilled in the art that although each component is independently described, the component in other examples of the present invention may include a function to be performed associated with other components. Similarly, some components can be eliminated without changing the scope of the present invention.
FIG. 4 is another structural diagram of a data analysis system 400 in accordance with an embodiment of the present invention. The data analysis system 400 includes a client system component 402 and a server system component 404 with a communication system 406 that interacts with them. In this example of the present invention, the server system component 404 includes a distributed resource management component 414 and a data storage component 416. The server system component 404 is abbreviated to emphasize an example of the present invention with respect to receiving web page information from the client system component 402. Typically, information flows in or out of distributed resource management component 414 via communication system 406. The client component 402 of the system includes a client management component 408, a data storage component 410, and, optionally, a notification component 412. In this example of the present invention, the notification component 412 manages the data that flows from the client system component 402 to the server system component 404. In other examples of the present invention, this component 412 also controls peer-to-peer data communications between the client system component 402 and other client system components. More specifically, the notification component 412 determines when and / or what data should be transmitted from the client component 402 of the system. The determination may be based on the size of the accumulated data of the web pages or on whether links that are unknown to the server component 404 of the system are detected, the importance (significance) of changes to the web pages (such as 50% or more, a change in the content and / or a change in the page with a high priority and the like), true time tolerances and / or normal time tolerances set by the distributed resource management component 414, and the like. Notification component 412 may also use an algorithm to determine its own importance factors and / or its own time planning for data transfers. For a person skilled in the art it is obvious that the function of the notification component 412 may be characteristic of the client management component 408 and / or other client system components not shown in FIG.
Examples of operation are described to provide a thorough understanding of the present invention. In one example of the present invention, a distributed client-based search agent operates as follows. It is assumed that there is a server that receives incoming client messages about potentially new web pages and changes to the content / status of web pages, and that there is a set of clients that interacts with the server. Client machines can be either personal computers that are used to browse the Web, or a proxy server that is used to provide pages to a personal computer. Customers are empowered to collect information about browsed web pages, which may include, but not limited to, (1) URLs used to navigate to a web page, (2) hashed web page content, (3) web page content and (4) visit time. In some examples of the present invention (for example, a proxy server and the like), it may not be practical to adhere to all this information and some information can only be adhered to for some time.
In another example of the present invention, the client records URL for web pages visited using a particular browser or proxy server in a certain period, and then sends this set of URL to the server. The server then checks which of the URLs was previously unknown to him, and adds those to the list of known URLs for future agent search / placement / indexing. This allows the search engine associated with the server to know about web pages that might not be detected by topological searches.
In order to reduce the amount of information sent from clients to the server, the client can locally store information if it has already informed the server about a specific URL, and send information to the server only if it has not already been done. There are well-known methods for efficiently determining whether two web pages are identical by performing an integer display of each document by means of a hash function and then checking if the two values of the hash function are identical. If the new hash value for the URL related content is different from the previous URL hash value for the URL related content, then the content has changed. Each time a client visits a web page, a hash value is calculated for that page. If the client has visited the page before, check whether the value of the hash function has changed. If it has changed, then the client determines that the web page has changed since the last time the client had access to it, and he has the opportunity to inform the server about it. The client locally writes a pair of new <CID, the value of the hash function>.
There are a number of different ways in which a client can inform a server about a change. The easiest way is to send a message that the content / status of the URL has changed. The server can then schedule the agent to retry this page as quickly as possible. To change the server's intentions to visit the page again, the client may send additional information. If the client has a buffered copy of the page of his last visit, he can send the old value of the hash function along with the differences between the old and new versions and the new value of the hash function. First, the server will check if the old hash value sent by the client matches the current hash value of the server for that page. If so, then he can update the content of the page accordingly. It should be noted that changes to some documents are more important than others. For example, in one case a full page can be changed, in another only one comma is added to one sentence. The client can calculate the significance of the change and either (a) use this information to prioritize the updates that it sends to the server, or (b) send the importance value to the server along with other page information so that the server can use this information when prioritizing re-search agent / re-indexing page. Examples of changing significance functions include, but are not limited to, the linguistic / semantic significance of the change, evaluating the percentage of user searches that will be affected by the change, and the like. Significance can be weighted by evaluating page popularity.
One of the drawbacks of the above communications is that they cause significant overhead traffic between clients and the server. For example, if all 100 clients visited page "X" for the first time, each of them sends a message to the server that they found page "X". Similarly, when the server is notified that page "Y" has been changed, it does not require additional notifications from clients. Further disclosed are further examples of the present invention, which lead to a significant reduction in unnecessary data exchange between clients and a server.
5, a data analysis system 500 using the results of a search page in accordance with an embodiment of the present invention is illustrated. The data analysis system 500 includes a client 502 with a search result page 506 and a search server 504 with communication means for transmitting 508 and receiving 510 data from the client 502 by the server 504. In the first example embodiment of the present invention, the client 502 notifies the server 504 of the changed web page, but does not send any additional information. When the user uses the search engine, the search server 504 provides results to the client that contain a hash value for the server version of the content and a freshness flag that indicates whether the content is known as fresh (relevant) for each web page in the search result page 506. If the client 502 visits one of the pages in the search result page 506, it first checks whether the server 504 already knows that the page is not fresh (for example, another client informed the server 504, but the server 504 has not yet updated the page), calculates the hash value -functions of the content of the page and compares with the value of the hash function that the search engine represents. If they diverge, the client 502 then sends a notification to the server 504 that the content associated with the URL has changed. When the server 504 receives the notification, it changes the state of the freshness flag and the URL is added to the priority queue for the agent to search again.
This example can be extended to a scenario where clients send information about the difference of the page to the server (which can be used by the server to update its information about the web page without searching by the agent and / or to help prioritize the time period in which the server should complete Re-search the webpage by the agent). This can be done by sending two additional fields with each search result by the search engine, namely, the time of the last notification by the client and the value of the hash function of the page from the last notification by the client. If the client visits the page issued by the search engine and either (a) the fame-stale-state flag is false, or (b) the fame-stale-state flag is correct and the value of the hash function upon the last notification by the client is different from the value of the hash function that this client computes for the page, then the client then notifies the server. It is also possible to detect page change cycles in such a way that if a page is repeatedly changed from A to B to C to A, in accordance with the present invention, this can be detected and the client updates for this page can be limited.
Additionally, to reduce the amount of unnecessary data exchange between clients and the server, an additional advantage of "Directing Messages Through a Page as a Result of the Search Engine" is that it avoids some possible issues of confidentiality by the fact that the client sends information to the server only about those web pages the server already knows. Thus, it is guaranteed that the client does not visit, for example, a page that the client intends to keep secret, and does not inform the server about the existence of this page.
The disadvantage of the above example of the present invention is that the server can only find out information about web pages that are issued to the client by the user's search query. This requirement can be mitigated by informing the server of the web pages returned to the client through any search engine. The client is equipped with tools to detect that the user is using any search engine. When the client visits the search result, it calculates the value of the hash function of the content. If the client visited this URL earlier, then it will have a buffered value of the hash function of the content. If these values of the hash functions are different, then the client can upload the URL and the new value of the hash function to the server (as a function of time from the moment of the previous visit and other information). If the client has never visited the URL, then the client can upload the URL and the new value of the hash function to the server (as a function of time from the moment of the previous visit and other information).
However, if the client had a local copy of the full list of URLs known to the server, then when he recognizes a potentially new URL, he can simply check and see if he is in the list of known URLs and send the URL to the server only if it is not already in the list. Similarly, if the client had a local copy of the complete list of <CRM pairs, the hash value> for all the CRMs known to the server, only need to send updated information if this information is new to the server. The difficulty with this option is that it is unacceptable to transmit complete lists to each client. For example, a search engine might know about the many billions of URLs that represent many gigabytes of data. In addition to a significant bandwidth issue, it would not be wise to expect each client to allocate such a huge amount of memory for its local storage facility for such lists.
On the other hand, in another example of the present invention, communication means are provided that eliminate substantial bandwidth complexity. Suppose an alphabet S is given. Then S * is the set of all strings consisting of letters from S. We define the dictionary D as a subset of strings in the set S *. The indicator function I for the dictionary D, 1: S * → {0,1} has the property I (d) = 1 iff de D. The weak indicator function I w for the dictionary D is a function that has the property I w (d) = 0 , for d not in D (in other words, I w (d) = 1 for all de D and I w (d) can be either 0 or 1 for any d not in D). Finally, we define the correct set of weak indicator functions I = {I w1 , I w2 , ..., I wn } as a finite set of weak indicator functions that have the property that for any d not in D there exists at least one I wi e I, so that I wi (d) = 0.
Thus, each client receives a randomly selected weak indicator function from I. These indicator functions are much smaller than the full set of URLs, and thus it is rational to send them to customers. For any URL that is already known to the server, the pointer function will correctly determine that it is known. For a URL that is unknown to the server, it may mistakenly mark it as known, in this case the client does nothing, or correctly mark it as unknown, in this case the client can inform the server. By determining the correct set of the weak indicator function, it is guaranteed that at any time when there is a web page visited by the client that is unknown to the server, there is a non-zero probability that the client function of the indicator recognizes this page as new.
To further simplify the example above, suppose S = {a, b, c, d}, all lines in S * have a length less than 4, and the dictionary D = {abc, adc, b, cbd, ddd}. An example of a weak indicator function for this dictionary is:
I (string) = 1 iff (the second character is one of {b, d, null}).
The weak indicator function can be randomly constructed for D as follows:
(1) A random partition of D into two non-overlapping subdictionaries D 'and D' '.
(2) A random choice of a weak indicator function I 'for D', which consists of a logical product of one or more conditions of the form "the i-th character is an element of the set S (S is a subset of S).
(3) Random selection of the weak indicator function I '' for D '' in the same way.
(4) Creating a function I (x) = 1 iff I '(x) = 1 or I' '(x) = 1.
A set of all such functions of a weak indicator produces the correct set of functions of a weak indicator. Client dictionaries can also be extended to the task of detecting the novelty of a page by means of a dictionary consisting of pairs <URL; value of the hash function of the page>.
One unique aspect of the present invention is its ability to compare search agent data from the point of view of a specialized search agent and from the point of view of a client. This is especially important due to the significant improvement of servers. With "smarter" programs, servers become more able to control the flow and access to data located on them. This includes the ability to block any or all users from accessing some or all of the information found on the server. Even different types of users can have different "permission levels" regarding server access and even time access privileges.
Basically, this increased flexibility is used for constructive purposes such as security, charging access fees and preventing malicious intrusions. However, this was repeatedly used to mask the real content of web pages detected on the server. FIG. 6 is a flow diagram of a process 600 for simulating a connection involving a search agent system 602 in accordance with an embodiment of the present invention. Process 600 utilizes a web search engine system 602 and a server 604 with a communication system 606 that enables communication between them. Web search engine system 602 includes a search agent component 608 and a data storage component 610. Server 604 includes server access control 612, connection simulation data 614, and real data 616. When a regular search agent component 608 accesses server 604, this component 608 identifies itself to server 604 as a web search agent. This is supposed to be "polite." Courtesy is, in fact, self-defense, since a web search agent that abuses a server while ignoring the server's rules will usually be denied access to the server in the future. Getting denied access to the server is especially critical for a search engine that relies on server access to provide content to users of the search engine. Therefore, search agents are usually guided by the rules of courtesy. Other courtesy rules include a specific access time, the use of server resources, non-destructive data retrieval, and the like. In this example, the server access control 612 identifies the search agent component 608, and instead of directing access to real data 616, this control 612 directs the search agent component 608 to the connection simulation data 614. Compound simulation data usually contains the same CRM information as real data 616, but with different contents. This is usually done to mask reprehensible content. For example, server 604 may trick the search engine into issuing URL-based content for dogs to passionate cat lovers looking for cat toys. Server 604 collects simulated connection data using the correct URL, but the content is replaced by information related to cats. The actual data 616, however, contains information related to dogs. Thus, the search agent component 608 finds the compound simulation data 614, assuming that the URLs are related to cats, while in fact they are related to dogs. The search agent component 608 then stores the connection simulation data 614 in the data storage component 610, which is available to the search engine.
After that, searching for information on cats through a search engine will also give URLs that contain information on dogs. An example of a dog / cat may not seem so dangerous, but the same technology can be used to disguise topics such as advertising, pornography, extremist literature, subversive groups and other material that causes public relations and the like.
7 is a structural diagram of a connection counter-balancing process 700 utilizing a web search engine 702 in accordance with an embodiment of the present invention. Process 700 utilizes a web search engine system 702, a client management component 704, a web server 706, and a communications system 708 for interoperability. Web search engine system 702 includes a search agent component 710, a data simulation data storage component 712 with connection simulation data 714, and a distributed resource management component 716 with a comparison component 718. The search agent component 710 finds the connection simulation data 714 on the web server 706, as illustrated and disclosed with reference to FIG. 6. Connection simulation data 714 is then stored in the data storage component 712. At this point, a conventional search engine (not shown in FIG. 7) gains access to the connection simulation data 714 and distributes it to search engine users unaware of their real content. However, using the present invention, compound simulation data 714 can be eliminated. This is achievable due to the fact that although the server simulates connections with search agents, it usually does not simulate connections with users accessing web pages. Since distributed resources such as a client management component 704 are used in the present invention, this component 704 can access the server 706 as a user and find real data on the server 706. The client management component 704 can then send real data (or "client data") and / or presenting real data to a distributed resource management component 716. The comparison component 718 in the distributed resource management component 716 can then retrieve the stored connection simulation data 714 and compare it with real data received from the client. If the data is different, the distributed resource management component 716 can overwrite the connection simulation data 714 located in the data storage component 712, eliminating this inaccuracy. This allows the search engine to access accurate data that otherwise would not be available to it.
Based on the shown and described above examples of systems of methodology that can be applied in accordance with the present invention, for a better understanding of them is illustrated by the flowcharts in Fig.8-12. Although for the purpose of simplifying the description of the methodology presented and described in the form of sequences of blocks, it is obvious that the present invention is not limited to the sequence of blocks, since some blocks in accordance with the present invention have a different order and / or follow simultaneously with other blocks of those which are shown and described here.
Moreover, not all of the blocks presented may be required to implement the methodologies in accordance with the present invention.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more components. Typically, program modules contain routines, programs, objects, data structures, etc. that perform specific tasks or apply special abstract data types. The functions of the program modules may be combined or distributed as desired in various embodiments.
FIG. 8 is a flowchart of a method 800 for client-based web agent search in accordance with an embodiment of the present invention. Method 800 begins 802 with a client recording webpage information obtained by visiting webpages 804. In a simple example of the present invention, the information contains only URLs of visited webpages. More complex examples of the present invention may include, for example, URLs, hash values of web page content, timestamps, and the like. The client then sends the web page information to the server 806. It is also possible in the example of the present invention to inform the client of other clients about the web page information. Again, in a simple example, the information may contain only URLs, or in a complex example, the information may include several different types of web page data. In one example of the present invention, the client generates additional information obtained from the information of the web page. This data may include, for example, the periods in which the web page is available, ease of access (congestion, retries of the connection, etc.), the state of the embedded connection and the like. Additionally, web page information can be included in the plan to control when information is sent. Planning can be initiated by the client and / or server. The criteria for sending information may include, but is not limited to, the time of day, time duration, date, amount of data collected, type of data collected (i.e. unknown data versus known data, detected connection simulation data, etc.) and so on. like that. In order to reduce the amount of information sent by clients to a server, in one example of the present invention, a client can hold information locally if it has already informed the server about a specific URL and send information to the server only when it has not already done so. When the server receives the web page information, it scans this information to determine if there is any new data in relation to the already accumulated data 808. In a simple example of the present invention, this includes determining whether there are any new CRM compared to the already accumulated list of CRM on the server. When unknown information is detected, the server adds unknown information to its accumulated, or "known," data 810 and the method ends in 812. The known data in one example of the present invention is a list of URLs that the server uses for subsequent search by the web agent, uploading and / or indexing and the like.
FIG. 9 is another flowchart of a method 900 of client-based web agent search in accordance with an embodiment of the present invention. Method 900 begins by calculating by the client a hash value for the contents of the web page that he visited 904. When the client visits the web page more than once, the previous hash value has already been calculated and stored for that web page. The client then compares the just-calculated, or "last", value of the hash function with the previous hash value for the web page 906. The client, by performing a comparison, can establish the significance of the detected discrepancies. For example, in one case, a web page can change completely, and in another case only one comma can be added to a sentence. The client can calculate the significance of the change and either (a) use this information to prioritize the updates it sends to the server and / or (b) send the importance (importance) to the server along with other web page information so that the server can Use this information to prioritize agent re-search / page re-indexing. Examples of significance changes may include, but are not limited to, the percentage of changes in the document, the linguistic / semantic significance of the change, the percentage of user searches that are caused by the change, and the like. Significance can also be weighted by evaluating page popularity. Typically, the client stores the status of the web page information locally and updates this stored information when necessary 908. The client then informs the server of the web page status information 910. It is also possible in an example of the present invention to inform the client of other clients about the status information of the web page. The method according to which the server and / or client is notified may include, but not limited to, only the URL, the URL plus the new value of the hash function and / or the URL, plus the new value of the hash function and the old value of the hash function etc. The server (or another client) then compares the client's information about the state of the web page for additional information besides the URL to its server information about the state of the web page 912. If the server receives only the URL for the web page as a state change, the server Usually initiates the agent's repeated visit / search of such a web page in order to obtain new status information for comparison with previous server information about the state of the web page. The server then updates its web page status information, if necessary 914, and the method ends in 916. To prevent the server from attempting to re-visit the web page, the client may send additional information. If the client has a buffered copy of the page from his last visit, he can send the old value of the hash function along with the discrepancies between the old and new versions and the new value of the hash function. First, the server will check if the old hash value matches the current hash value of the server for this page. If so, then he can update the content of the page accordingly.
Figure 10 presents another block diagram of a method 1000 client-based search by a web agent in accordance with an embodiment of the present invention. The method 1000 begins 1002 by the client initiating a search query to the search server 1004. The search server performs a search query and lists the search results in response to the query 1006. The search server then creates a search results page with embedded information about the links of the web pages 1008. Typical information may include itself, but not limited to this, the value of the hash function for the server version of the content of the web page and / or a flag to indicate that the content is known as stale for each web page (on for example, another client informed the search server of a new update for a web page, but the search server has not yet updated the web page). Thus, a webpage with the flag "known as stale" is a webpage for which the search server does not want the client requesting the search to send update information. The search server then sends the search results page with nested links to the client who requested search 1010. As the client visits the web pages listed in the search results page, it checks the nested freshness flag (or freshness status) represented by search server 1012. The client calculates the value of the hash function of the content of the web page that he visits when the status of freshness indicates "fresh" 1014. The status of freshness indicates that the search server considers that it has the latest, or most recent, ersiey web page. Thus, the client computes the new hash value of the content of the web page and compares it with the nested hash value provided by the search server 1016. The client then notifies the search server if there is a discrepancy or delta between the new hash value and the value the hash function represented by the server, 1018. The search server then receives a notification and updates the freshness status to "known as stale" and also adds the web page to the list for repeated search by agent 1020, completing the method ba 1022. The agent retrieval list in this example of the present invention is a method that the search server uses to update its hash value of the contents of a list with a status of "known as stale". The search server "re-searches the agent" or re-visits the web page in order to complete the update.
In another example, the foregoing method is extended to the creation of a method in which clients send to the search server information about page differences (which is then used to update the search server with their web page information without re-searching by the agent and / or to facilitate prioritizing when the search server must re-search the web page with the agent) by sending additional fields to the search server with each search result, including, but not limited to, emya last client notification and the hash value of web pages from the last client notification. If a client visits a page issued by a search engine and either (a) the "known as stale" flag is false, or (b) "known as stale" is true and the value of the hash function from the client's last notification is different from the value of the hash function, which this client has calculated for the web page, then the client notifies the search engine. It is also possible to recognize the page change cycles so that if the page periodically changes from A to B to C to A, it is possible to recognize and limit client updates about this page.
By using the search results page, the exchange of data between the client and server is substantially reduced in the client-based search by the web agent, as noted in the present invention. Additionally, confidentiality is maintained for the client due to the fact that only those web pages that the server presented in the search results page are updated by the client. Thus, if a client visits a webpage whose access is restricted, this information is not inadvertently sent to the search server. The advantage of this method is at the same time a disadvantage in that the search server cannot use the client to expand the web pages it knows for use in searches, even if the new web page is not private.
In another example of the present invention, the method (not illustrated) uses not only the information of the web pages of the search server, but also the information of the web pages of other search servers. Thus, a new web page provided by another search server to a client can be used to notify the search server that a new web page exists. This still maintains the confidentiality of the client, because the search server is only notified of publicly accessible web pages that the server did not list. This allows the search engine to add unknown web pages without compromising client trust. A notification may include, but is not limited to, a URL for a webpage, a hash value of a webpage, a timestamp for accessing a webpage, a delta of a new hash value compared to a previous hash value for a web page pages and the like.
11 is yet another flowchart of a client-based web search method 1100 in accordance with an embodiment of the present invention. Method 1100 begins 1102 with a search engine generating a weak indicator set of functions 1104. A method for generating these functions is disclosed below. The search server passes randomly selected weak indicator functions to clients including a client-based web search agent 1106. The client then generates web page data for web pages that are reported as unknown by a randomly selected weak indicator function 1108. Typically, only unknown web -pages are accurately represented by the weak indicator function. "Famous" web pages may or may not be actually known. The client then transfers the unknown web page data to the server 1110. The server then uses this data to update its information related to the web pages 1112, and the method ends in 1114.
12 is a flowchart of a method 1200 for generating the correct set of weak indicator functions for a client-based search by a web agent in accordance with an embodiment of the present invention. Method 1200 begins 1202 by randomly partitioning a dictionary representing web page information located on a search server into non-overlapping dictionaries 1204. Typically, dictionaries are selected so that each of them represents common features of the generated group of web page information. The function of the weak (absorbing) indicator is then randomly selected for each sub-dictionary to represent the information of the web page found in a particular sub-dictionary 1206. Then, a function is created so that I (x) = 1 if and only if at least one weak function of the vocabulary is equal to unity 1208, and the execution of the method ends with 1210. Thus, the "correct set" of functions of the weak indicator is generated. So, for example, for any CID already known to the server, the indicator function correctly determines that it is known. For a CID unknown to the server, it can falsely mark it as known, in which case the client does nothing, or it can correctly mark it as unknown, in this case the client can inform the server. By definition, the correct set of functions of a weak indicator ensures that at any time when a client visits a web page unknown to the server, there is a non-zero probability that the client function of the pointer recognizes this site as new.
In order to present an additional context for the application of various aspects of the present invention, FIG. 13 and the following disclosure are presented with the intention of providing a brief description of a suitable computing environment 1300 in which various aspects of the present invention may be used. Although the invention has been described above in the general context of computer-executable instructions for a computer program that runs on a local computer and / or a remote computer, it will be apparent to those skilled in the art that the present invention can also be used in combination with other program modules. Basically, program modules include routines, programs, components, data structures, etc. that perform particular tasks and / or apply particular abstract data types. Moreover, it is obvious for those skilled in the art that the invented methods can be used in practice with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, general-purpose computers, as well as personal computers, portable computing devices, microprocessor and / or programmable consumer electronic devices and the like, each of which can quickly interact with one or more related devices. The illustrated embodiments may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all, embodiments of the invention may be practiced on stand-alone computers. In a distributed computing environment, program modules may be located on local and / or portable data storage devices.
Used in this application, the term "component" refers to the subject of computer technology as hardware, as well as a combination of hardware and software, software or software during execution. For example, a component may be, but is not limited to, a process executed by a computer, a processor, an object, an executable, a thread of execution, a program, and a computer. As an illustration, you can indicate that the application running on the server and / or the server can be a component. In addition, the component may contain one or more subcomponents.
13, an example of a system environment 1300 for applying various aspects of the invention includes a conventional computer 1302 including a processing unit 1304, a system memory 1306, and a system bus 1308 that couples various system components, including system memory, to the unit 1304 processing. Processing unit 1304 may be any for sale or own processor. Additionally, the processing unit can be used as a multiprocessor element formed by more than one processor, which can be connected in parallel.
The system bus 1308 can be any of several types of bus structure, including a memory bus or memory controller, a peripheral bus, and a local bus using one of the well-known types of bus architecture, such as PCI, VESA, Microchannel, ISA, and EISA, to name just a few of them. System memory 1306 includes read-only memory (ROM) 1310 and random access memory (RAM) 1312. A basic input / output system (BIOS) 1314 that contains basic routines that help transfer information between items within a computer 1302, for example, at startup , saved in ROM 1310.
Computer 1302 may also include, for example, a hard disk drive 1316, a magnetic disk drive 1318, for example, for reading or writing to a removable disk 1320, and an optical disk drive 1322, for example, for reading and writing to a CD-ROM disc 1324 or other optical storage medium. The hard disk drive 1316, the magnetic disk drive 1318 and the optical disk drive 1322 are connected to the system bus 1308 by the hard disk drive interface 1326, the magnetic disk drive interface 1328, and the optical disk drive interface 1330, respectively. Storage devices 1316-1322 and related computer-readable media provide non-volatile storage of data, data structures executed by a computer, instructions, etc. for a computer 1302. Although the above description of computer-readable media refers to hard disk drives, removable magnetic disks, and compact disks (CDs), it will be apparent to those skilled in the art that other types of media that can be read by a computer such as magnetic tapes, flash memory cards, digital video discs, Bernoulli cartridges, and the like, can also be used in the exemplary operating environment 1300, and furthermore, any of such media may contain click computer-executable instructions for implementing the methods of the present invention.
A number of software modules may be stored in drives 1316-1322 and RAM 1312, including operating system 1332, one or more application programs 1334, other software modules 1336, and program data 1338. Operating system 1332 may be any suitable operating system or combination of operating systems. For example, application program 1334 and program module 1336 may perform a lightweight client-based web agent search in accordance with an embodiment of the present invention.
A user may enter commands and information into computer 1302 through one or more user input devices, such as a keyboard 1340 and a pointing device (e.g., mouse 1342). Other input devices (not shown) may include a microphone, joystick, game console, satellite dish, wireless connection, scanner, and the like. These and other input devices are often connected to the processing unit 1304 via a serial port interface 1344, which is connected to the system bus 1308, but can be connected via other interfaces, such as a parallel port, a game port, or a universal serial bus (USB). A monitor 1346 or other type of display device is also connected to the system bus 1308 via an interface such as a video adapter 1348. In addition to the monitor 1346, the computer 1302 may include other peripheral output devices (not shown), such as speakers, printers, etc.
It should be noted that computer 1302 can operate in a network environment using logical connections with one or more remote computers 1360. The remote computer 1360 can be a workstation, server computer, router, peer device, or other node in a shared network, and typically includes many or all of the described elements related to the computer 1302, however, for the sake of simplicity, only a data storage device 1362 is shown in FIG. The logical connections shown in FIG. 13 may include a local area network (LOS) 1364 and a wide area network (SAN) 1366. Such network environments are well known for use in offices, enterprise computer networks, intranets, and the Internet.
When used, for example, in a VOC network environment, computer 1302 is connected to a local area network 1364 via a network interface or adapter 1368. When used in a GLS network environment, computer 1302 typically includes a modem (i.e., telephone, digital subscriber line, cable, etc.). .p.) 1370, or connected to the VOC data server, or has other means for establishing communication over the GLS 1366, such as the Internet. The modem 1370, which may be internal or external to the computer 1302, is connected to the system bus 1308 via the serial port interface 1344. In a networked environment, program modules (including application programs 1334) and / or program data 1338 may be stored on a removable data storage device 1362. It is obvious that the network connections shown are presented as examples, and other means (e.g., wired or wireless) may be used to establish communication between computers 1302 and 1360 when implementing an embodiment of the present invention.
In accordance with the practice adopted by specialists in the field of computer programming, the present invention is described with reference to actions and symbolic representations of operations that are performed by a computer, such as a computer 1302 or a remote computer 1360, unless otherwise indicated. Such actions and operations are sometimes referred to as computer-executable. It is obvious that the actions and symbolically represented operations include the operation of the processing unit 1304 with electrical signals representing data bits, which leads to the conversion or reduction of the representation of electrical signals and the maintenance of data bits in the data storage locations in the memory system (including system memory 1306, hard disk drive 1316, floppy disks 1320, CD-ROM 1324 and remote memory 1362) for reconfiguring, in one way or another, changing the operation of a computer system, as well as other processing and signals. Data storage locations where such data bits are supported are physical locations that have particular electrical, magnetic, or optical properties corresponding to data bits.
On Fig presents another structural diagram of an example of a computer environment 1400, which can interact with the present invention. System 1400 further illustrates a system that includes one or more client (s) 1402. Client (s) 1402 may be hardware and / or software (e.g., threads, processes, computing devices). System 1400 also includes one or more servers 1404. Server (s) 1404 may also be hardware and / or software (e.g., threads, processes, computing devices). Servers 1404 may include threads for performing transformations by using the present invention, for example. One of the possible data exchanges between the client 1402 and the server 1404 may be in the form of a data packet adapted for transmission between two or more computer processes. System 1400 includes a communication structure 1408 that can be used to facilitate the exchange of data between client (s) 1402 and server (s) 1404. Client (s) 1402 are operatively associated with one or more client data storage means 1410, which may be used to store information locally in relation to the client (s) 1402. Similarly, the server (s) 1404 are functionally associated with one or more means 1406 of storing server data that can be used to store information lo cial with respect to the servers 1404.
In one example of the present invention, a data packet is transmitted between two or more computer components that facilitate the search by the web agent, this data packet consists of at least partially information related to the search by the web agent, in which at least partially distributed system for search by web agent.
In another example of the present invention, a computer-readable medium stores computer-executable system components to facilitate web agent search, includes at least partially a web agent search system that determines at least partially information related to web pages, compiled by a distributed search engine web agent.
It is obvious that the systems and / or methods of the present invention can be used in search engines by web agents, simplifying equally computer components and non-computer components. Moreover, it will be apparent to those skilled in the art that the systems and / or methods of the present invention are applicable to a wide range of applied electronics technologies, including, but not limited to, computers, servers and / or portable electronic devices and the like the like, which can be wired and / or wireless and the like.
It will also be apparent to those skilled in the art that the present invention can be used not only for server-based and client-based search agent systems, but also for peer-to-peer (peer-to-peer) search agent systems. It is also possible for the client to perform tasks typically associated with "server" behavior, and thus it is possible to transmit to the client some characteristics associated with the server in some examples of the present invention. One example of the present invention is a client that performs "sub-searches" with an agent in other clients to detect and / or identify information for sending to the server. This example may be preferable, for example, in networks that have critical elements between specific clients and the server. Data can be transferred to the client with the best access to the server. In other examples of the present invention, a client may exhibit server behavior by initiating subscriptions by an agent on an intranet system, thereby transmitting information to the server from only one and / or substantially reduced number of clients present on the intranet. In this way, the search server can initiate multiple agent subscriptions in clients to expand its agent search resources.
All of the foregoing includes examples of the present invention. Of course, it is impossible to describe each conceived combination of components or techniques for the purposes of describing the present invention, but for a person of ordinary skill in the art it is obvious that many further combinations and permutations are possible in the present invention. Accordingly, the present invention covers all such changes, modifications and variations that do not change the essence of the invention and are included in the scope of protection defined by the following claims. Moreover, when using the sign "contains", which is available both in the description of the invention and in the formula, it was assumed that it is inherently included in the composition, like the sign "including", and "including" should be interpreted, as a transition word in the claims.
1. Data analysis system, including:
a first component associated with a server of the data analysis system, which contributes to the generation of a first set of data related to the information of the web page obtained through the communication system, and
a second component that controls the second data set relating to the web page information from at least one distributed resource that interacts with the communication system, the second data set being used to refine the first data set, the refinement of the first data set including adding unknown information to the first data set, when receiving new information from a distributed resource by means of the second data set, or updating existing information in the first data set, e Whether change occurs in the contents of the web page information as indicated second data set.
2. The system of claim 1, wherein the first component includes a web search agent for the Internet.
3. The system of claim 1, wherein the first component includes an intranet search web agent.
4. The system according to claim 1, in which the second component is additionally used to optimize the reception of data from distributed resources.
5. The system of claim 1, wherein the second component provides a scheduling function for controlling the reception of the second data set from the at least one distributed resource.
6. The system of claim 1, wherein the second component is used to help reduce traffic through the communication system by applying the correct set of weak indicator functions representing the first data set.
7. The system according to claim 6, in which the second component is additionally used to randomly select and transmit a weak indicator function selected from the correct set of weak indicator functions to at least one of the distributed resources.
8. The system according to claim 1, in which the second component is additionally used to compare the first data set and the second data set to detect connection simulation data found by the first component.
9. The system according to claim 1, in which the second component is additionally used to generate state information about data related to the first data set, the state information being transmitted to at least one distributed resource.
10. The system of claim 9, wherein the status information includes at least partially a freshness flag for indicating the freshness of information related to the first data set.
11. The system of claim 9, wherein the status information includes at least partially hashed content of information related to the first data set.
12. The system of claim 9, wherein the status information includes at least partially a copy of the information of the first data set.
13. The system of claim 1, wherein the communication system includes the Internet.
14. The system of claim 1, wherein the communication system includes a "world wide web".
15. The system of claim 1, wherein the communication system includes an intranet.
16. The system of clause 15, in which the intranet includes a local area network.
17. The system of clause 15, in which the intranet includes a global network.
18. The system according to claim 1, in which the distributed resources include trusted objects that interact with the communication system and the second component.
19. The system according to claim 1, in which the first data set includes data from a web page on the Internet.
20. The system of claim 1, wherein the first data set includes intranet web page data.
21. The system according to claim 1, in which the second data set includes at least partially hashed content of at least one web page.
22. The system according to claim 1, in which the second data set includes at least partially Unified Resource Index (URL, URL) of at least one web page.
23. The system according to claim 1, in which the second data set includes at least partially a time stamp related to the time of obtaining information about at least one web page.
24. The system of claim 1, wherein the second data set includes at least partially a delta indication of content changes of the at least one web page.
25. The system of claim 24, wherein the delta indication comprises, at least in part, the hashed previous contents of the web page and the hashed new contents of the web page.
26. The system according to claim 1, in which the second data set includes, at least in part, an indication of the state of changes of at least one web page.
27. The system of claim 26, wherein the state indication contains, at least in part, a percentage of the volume of changes to the contents of the web page.
28. The system of claim 26, wherein the status indication comprises, at least in part, an indicator of the importance of the changes to indicate the importance of changes to the contents of the web page.
29. The system according to claim 1, in which the second data set includes data from a web page on the Internet.
30. The system of claim 1, wherein the second data set includes intranet web page data.
31. The system of claim 1, wherein the second data set includes data collected using at least one weak indicator function randomly selected from the weak indicator set of functions; moreover, the set of functions of a weak indicator represents the first data set.
32. The system according to claim 1, further comprising a search component for accepting at least one search query and generating at least one search answer when presenting at least a portion of the first data set with information embedded in the search answer.
33. The system of claim 1, further comprising a web page server component for constructing web pages, wherein at least a portion of the first data set is represented by information embedded in at least one link found in at least one constructed web page.
34. The system of claim 1, further comprising a storage component for storing the first data set.
35. A method of facilitating data analysis, including
creating a first data set relating to a second data set obtained from web pages interacting with a communication system server;
obtaining a third data set from at least one distributed resource that is interacting with a communication system; moreover, the third data set includes information related to the web page generated by the distributed resource; and
refinement of the second data set to reflect information obtained from the third data set by:
adding unknown information to the second data set when receiving new information from a distributed resource through the third data set;
updating existing information in the second data set, if there have been changes in the content of the web page information as indicated by the third data set, and
transmitting state information to a distributed resource through one or more pointers after analyzing information from a third data set.
36. The method according to clause 35, in which the first data set contains a representation of the second data set.
37. The method according to clause 36, in which the presentation of the second data set includes at least partially hashed content of at least one web page contained in the second data set.
38. The method according to clause 36, in which the presentation of the second data set includes, at least in part, an indication of the status of at least one web page contained in the second data set.
39. The method of claim 38, wherein the status indication includes a freshness flag for indicating whether the information on the web page is current.
40. The method according to clause 35, in which the first data set includes a copy of the second data set.
41. The method of claim 39, wherein the second data set includes web page information collected by the search web agent.
42. The method of claim 35, wherein the third data set includes web page information based on a client sample of web page information in a communication system.
43. The method according to clause 35, in which the communication system includes the Internet.
44. The method according to clause 35, in which the communication system includes an intranet.
45. The method according to clause 35, further comprising transmitting the first data set to at least one distributed resource that is in communication with the communication system, making the first data set available for use by the distributed resource to generate the third data set.
46. The method according to clause 36, further comprising generating a set of weak pointer functions to represent the second data set, and selecting random weak pointer functions from the set of weak pointer functions for transmission to distributed resources as the first data set.
47. The method according to item 46, in which the set of functions of the weak pointer includes the correct set of functions of the weak pointer, such that there is a non-zero probability of the possibility of identifying a new web page randomly selected function of the weak pointer.
48. The method according to item 46, in which the development of a set of functions of a weak pointer includes:
providing a dictionary representing a second data set;
partitioning the dictionary randomly into non-overlapping dictionaries; and
creating a function in which I (x) = 1 if and only if at least one function of the weak pointer of the sub-dictionary is equal to one.
49. The method according to clause 35, further comprising comparing the third data set with the second data set to detect connection simulation data contained in the second data set.
50. The method according to clause 35, further comprising optimizing the receipt of at least one third data set by scheduling distributed resources.
51. The method according to clause 35, further comprising:
receiving a request to search for a web page from at least one distributed resource;
forming a page of search results on the Web in response to a request from a distributed resource to search for a web page;
nesting parts of the first data set in the relationship found on the web search results page and
transmitting to a distributed resource a page of search results on the Web, as representing at least part of a second data set.
constructing a web page using at least a portion of the first data set to embed information about the links found on the web page; and
transmitting a web page for distributing the first data set to at least one distributed resource.
53. A data analysis system, including:
means for generating at least one first data set from a communication system server,
means for managing and receiving at least one second data set from at least one client that interacts with a communication system server; and
means for refining the first data set using at least one second data set, wherein the refinement of the first data set includes at least one of: adding unknown information to the first data set when receiving new information from the client through the second a data set and updating existing information in the first data set, if there have been changes in the content of the web page information as indicated by the second data set.
54. The system of claim 53, wherein the means for generating the at least one first data set comprises a web search agent.
55. The system of claim 54, wherein the first data set includes data related to web pages obtained by the search web agent.
56. The system of claim 53, wherein the second data set includes web page comparison data collected by at least one client and based at least in part on representative data of the first data set.
57. Data analysis system, including:
the first component associated with at least one client of the distributed search engine web agent, which generates web page information from at least one visited website for use in the distributed search engine web agent, the second component associated with a server that receives data related to the web page transmitted by the first component through the communication system, the first component receiving a data set from the second component for use in generating information on the web page, including BOJ, at least, the data comparison based on the information of visited web pages, and the resulting data set.
58. The system according to clause 57, in which the first component provides at least one time stamp related to the time of receipt of data used to generate information on the web page.
59. The system of claim 57, wherein the first component obtains a set of embedded web search agent data from at least one page of search results for use in generating web page information.
60. The system of claim 57, wherein the first component obtains a set of embedded web search agent data from at least one web page for use in generating web page information.
61. The system of claim 57, wherein the first component has the ability to receive web page data indirectly through at least one other client of the distributed search agent system to provide a gateway with a second component to substantially reduce traffic flow to the second component.
62. The system of claim 57, wherein the generated web page information includes, at least in part, an indication of a state of change in the content of the at least one web page.
64. The system of claim 62, wherein the status indication comprises, at least in part, an importance indicator to indicate the importance of changes to the contents of the web page.
65. The system of claim 57, wherein at least a portion of the generated web page information is made available for transmission by the client through the connection of peers through a communication system.
66. The system of claim 57, wherein the generated web page information is collected using a randomly selected weak pointer function from the correct set of weak pointer functions that represents web page data collected by the search web agent.
67. The system of claim 57, wherein the communication system includes the Internet.
68. The system of claim 57, wherein the communication system includes an intranet.
69. The system of claim 57, further comprising a storage component for storing web page information.
70. The system of claim 57, further comprising a notification component that determines whether and when the generated web page information should be communicated through the communication system.
71. The system of claim 70, wherein the notification component receives scheduling information from a second component, the scheduling information related to receiving and transmitting the generated web page information.
72. The system of claim 57, wherein the first component uses Web search servers outside the distributed search engine web agent to retrieve data unknown to the second component.
73. The system of claim 57, wherein the first component makes the comparison data available to the second component through the communication system.
74. The system of claim 57, wherein the comparison data comprises at least partially at least one Unified Resource Index (URL) of the at least one web page.
75. The system of claim 57, wherein the comparison data comprises at least partially hashed content of at least one webpage representing a recent visit to the website.
76. The system of claim 57, wherein the comparison data comprises, at least in part, a delta indication of the contents of the at least one web page.
78. The system of claim 57, wherein the second component includes a server of a distributed agent search system.
79. The system of claim 57, wherein the second component includes a client of a distributed agent search system.
80. The system of claim 57, wherein the generated web page information includes data unknown to the second component.
81. The system according to clause 57, in which at least a portion of the obtained data set is made available for transmission by the client through the connection of peers through a communication system.
82. The system of claim 57, wherein the obtained data set includes a dictionary for data collected by a web search agent.
83. The system of claim 57, wherein the obtained data set includes a presentation of data collected by a web search agent, the data presentation being generated by using the weak indicator function.
84. The system of claim 57, wherein the obtained data set includes a copy of the data collected by the search Web agent.
85. The system of claim 57, further comprising a storage component for storing a data set received from the second component.
86. A method of facilitating data analysis, including: compiling a first data set obtained from organizing access to web pages by means of a communication system client; and
transmitting, selectively, a first data set to an object containing at least a server of a distributed agent search system that interacts with a communication system,
obtaining a presentation of a second data set collected by the search web agent, wherein the second data set refers to at least one web page from the communication system, and
Using a second dataset to control which web pages to visit to collect the first dataset.
87. The method of claim 86, wherein the first data set includes at least partially a Uniform Resource Locator (URL) for the at least one web page.
88. The method according to p, in which the first data set includes at least partially hashed content of at least one web page.
89. The method of claim 86, wherein the selective transmission is performed based on the time of day.
90. The method according to p, in which the selective transmission is performed based on the priority of at least one web page.
91. The method according to p, in which the selective transmission is performed based on the percentage change in the contents of at least one web page.
92. The method of claim 86, wherein the selective transmission is performed based on the identification of at least one web page.
93. The method of claim 86, wherein obtaining a presentation of the second data set is performed by obtaining a web page with embedded information extracted from the second data set and generated by a server providing web page hosting services with access to the second data set.
94. The method of claim 86, wherein obtaining a presentation of the second data set is performed by obtaining a search results page with embedded information extracted from the second data set and generated in response to a request transmitted to the search server having access to the second data set.
95. The method of claim 86, further comprising: determining when to transmit the first data set by the communication system based on the second data set.
96. The method of claim 95, wherein the second data set comprises a freshness indicator for indicating when its data has become obsolete and needs to be updated through the first data set.
97. The method of claim 95, wherein the second data set comprises a plan of when the first data set is to be transmitted.
98. The method of claim 86, further comprising: comparing at least a portion of the second data set with at least a portion of information obtained by accessing web pages to create comparison data; and
generating a presentation of the comparison data for retrieving the first data set.
99. The method according to p, in which the first data set includes data unknown to the second data set.
100. The method of claim 99, wherein the unknown data includes only unknown data retrieved from at least one page of search results from a search server outside a distributed search system.
101. The method of claim 98, wherein the first data set includes content changes to web pages represented by the second data set.
102. The method of claim 98, wherein the first data set includes status information related to web pages represented by the second data set.
103. A computer-readable medium on which computer-executable components are stored, including a first component connected to a server of a data analysis system that facilitates the generation of a first set of data related to information of a web page obtained through a communication system, and
104. A computing device using the method of facilitating data analysis according to claim 35, including at least one selected from the group consisting of a computer, a server, and a portable electronic device.
105. A computing device using the data analysis system according to claim 1, including at least one selected from the group consisting of a computer, server, and a portable electronic device.
RU2004125187/09A 2003-09-25 2004-08-17 System and method for client-supported search using web-agent RU2383920C2 (en)
US10/670,681 US7685296B2 (en) 2003-09-25 2003-09-25 Systems and methods for client-based web crawling
RU2004125187A RU2004125187A (en) 2006-02-20
RU2383920C2 true RU2383920C2 (en) 2010-03-10
RU2004125187/09A RU2383920C2 (en) 2003-09-25 2004-08-17 System and method for client-supported search using web-agent
CN (1) CN1601528B (en)
BR (1) BRPI0403803A (en)
RU (1) RU2383920C2 (en)
ZA (1) ZA200407180B (en)
WO2012167149A1 (en) * 2011-06-01 2012-12-06 Mycomingle, Llc System and method for internet services aggregation
RU2651155C2 (en) * 2012-08-01 2018-04-18 Нетвэйв Data processing method for the purposes of situational analysis
RU2651153C2 (en) * 2012-08-01 2018-04-18 Нетвэйв Method for data processing regarding to connection to a platform of a website
RU2654171C2 (en) * 2012-08-01 2018-05-16 Нетвэйв System for processing data for connecting to platform of internet site
RU2665302C2 (en) * 2013-09-10 2018-08-28 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Smart search refinement
RU2673403C2 (en) * 2015-12-28 2018-11-26 Хуавэй Текнолоджиз Ко., Лтд. Website access method, device and website system
US7540021B2 (en) 2000-04-24 2009-05-26 Justin Page System and methods for an identity theft protection bot
US8527495B2 (en) * 2002-02-19 2013-09-03 International Business Machines Corporation Plug-in parsers for configuring search engine crawler
US8707312B1 (en) * 2003-07-03 2014-04-22 Google Inc. Document reuse in a search engine crawler
US7725452B1 (en) 2003-07-03 2010-05-25 Google Inc. Scheduler for search engine crawler
US7346839B2 (en) 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
CA2447961A1 (en) * 2003-10-31 2005-04-30 Ibm Canada Limited - Ibm Canada Limitee Research data repository system and method
US7873724B2 (en) * 2003-12-05 2011-01-18 Microsoft Corporation Systems and methods for guiding allocation of computational resources in automated perceptual systems
US20050149615A1 (en) * 2003-12-17 2005-07-07 Nedimyer Joseph P. System and method for processing resource registry updates without regard to chronological order
US8452880B2 (en) * 2003-12-22 2013-05-28 Oracle International Corporation System and method for verifying intended contents of an electronic message
US7299222B1 (en) * 2003-12-30 2007-11-20 Aol Llc Enhanced search results
US20050192948A1 (en) * 2004-02-02 2005-09-01 Miller Joshua J. Data harvesting method apparatus and system
US8131702B1 (en) 2004-03-31 2012-03-06 Google Inc. Systems and methods for browsing historical content
US7992204B2 (en) 2004-05-02 2011-08-02 Markmonitor, Inc. Enhanced responses to online fraud
US20070107053A1 (en) * 2004-05-02 2007-05-10 Markmonitor, Inc. Enhanced responses to online fraud
US9203648B2 (en) 2004-05-02 2015-12-01 Thomson Reuters Global Resources Online fraud solution
US7870608B2 (en) * 2004-05-02 2011-01-11 Markmonitor, Inc. Early detection and monitoring of online fraud
US8041769B2 (en) * 2004-05-02 2011-10-18 Markmonitor Inc. Generating phish messages
US7457823B2 (en) 2004-05-02 2008-11-25 Markmonitor Inc. Methods and systems for analyzing data related to possible online fraud
US7913302B2 (en) * 2004-05-02 2011-03-22 Markmonitor, Inc. Advanced responses to online fraud
US8769671B2 (en) * 2004-05-02 2014-07-01 Markmonitor Inc. Online fraud solution
US7987172B1 (en) 2004-08-30 2011-07-26 Google Inc. Minimizing visibility of stale content in web searching including revising web crawl intervals of documents
US8386459B1 (en) * 2005-04-25 2013-02-26 Google Inc. Scheduling a recrawl
US8666964B1 (en) 2005-04-25 2014-03-04 Google Inc. Managing items in crawl schedule
US8312074B2 (en) * 2005-05-26 2012-11-13 Bytemobile, Inc. Method for multipart encoding
US7509315B1 (en) 2005-06-24 2009-03-24 Google Inc. Managing URLs
WO2007005868A2 (en) * 2005-07-01 2007-01-11 Markmonitor, Inc. Enhanced fraud monitoring systems
KR100705413B1 (en) * 2005-08-19 2007-04-10 엔에이치엔(주) Desktop Search System and Method for Automatically Crawling Registered Web Page and Providing Search Result
JPWO2007029348A1 (en) * 2005-09-06 2009-03-12 コミュニティーエンジン株式会社 Data extraction system, terminal device, terminal device program, server device, and server device program
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US8463249B2 (en) 2005-09-14 2013-06-11 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US9201979B2 (en) * 2005-09-14 2015-12-01 Millennial Media, Inc. Syndication of a behavioral profile associated with an availability condition using a monetization platform
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US8311888B2 (en) * 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US20080214154A1 (en) * 2005-11-01 2008-09-04 Jorey Ramer Associating mobile and non mobile web content
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US8832100B2 (en) * 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US20090240568A1 (en) * 2005-09-14 2009-09-24 Jorey Ramer Aggregation and enrichment of behavioral profile data using a monetization platform
US20070060173A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Managing sponsored content based on transaction history
US20080214148A1 (en) * 2005-11-05 2008-09-04 Jorey Ramer Targeting mobile sponsored content within a social network
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US20080214204A1 (en) * 2005-11-01 2008-09-04 Jorey Ramer Similarity based location mapping of mobile comm facility users
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US7752209B2 (en) * 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US8027879B2 (en) * 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US7912458B2 (en) 2005-09-14 2011-03-22 Jumptap, Inc. Interaction analysis and prioritization of mobile content
US8364521B2 (en) * 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8989718B2 (en) 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
US9076175B2 (en) 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US20080214153A1 (en) * 2005-09-14 2008-09-04 Jorey Ramer Mobile User Profile Creation based on User Browse Behaviors
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
US7577665B2 (en) * 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US20080270220A1 (en) * 2005-11-05 2008-10-30 Jorey Ramer Embedding a nonsponsored mobile content within a sponsored mobile content
US20080215557A1 (en) * 2005-11-05 2008-09-04 Jorey Ramer Methods and systems of mobile query classification
US8290810B2 (en) 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US8688671B2 (en) 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US20080214151A1 (en) * 2005-09-14 2008-09-04 Jorey Ramer Methods and systems for mobile coupon placement
US20070100806A1 (en) * 2005-11-01 2007-05-03 Jorey Ramer Client libraries for mobile content
US8229914B2 (en) * 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US20070061246A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Mobile campaign creation
US8666376B2 (en) * 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
US8103545B2 (en) 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US7660581B2 (en) * 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US8640231B2 (en) * 2006-02-23 2014-01-28 Microsoft Corporation Client side attack resistant phishing detection
US9177124B2 (en) 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US20070214129A1 (en) * 2006-03-01 2007-09-13 Oracle International Corporation Flexible Authorization Model for Secure Search
US8707451B2 (en) 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US8868540B2 (en) * 2006-03-01 2014-10-21 Oracle International Corporation Method for suggesting web links and alternate terms for matching search queries
US8214394B2 (en) 2006-03-01 2012-07-03 Oracle International Corporation Propagating user identities in a secure federated search system
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US8875249B2 (en) * 2006-03-01 2014-10-28 Oracle International Corporation Minimum lifespan credentials for crawling data repositories
US7941419B2 (en) * 2006-03-01 2011-05-10 Oracle International Corporation Suggested content with attribute parameterization
US20080155409A1 (en) * 2006-06-19 2008-06-26 Andy Santana Internet search engine
US10223671B1 (en) * 2006-06-30 2019-03-05 Geographic Solutions, Inc. System, method and computer program products for direct applying to job applications
US7660787B2 (en) * 2006-07-19 2010-02-09 International Business Machines Corporation Customized, personalized, integrated client-side search indexing of the web
US7634458B2 (en) * 2006-07-20 2009-12-15 Microsoft Corporation Protecting non-adult privacy in content page search
US7620634B2 (en) * 2006-07-31 2009-11-17 Microsoft Corporation Ranking functions using an incrementally-updatable, modified naïve bayesian query classifier
US7996487B2 (en) 2006-08-23 2011-08-09 Oracle International Corporation Managing searches on mobile devices
US8359278B2 (en) 2006-10-25 2013-01-22 IndentityTruth, Inc. Identity protection
US8225192B2 (en) * 2006-10-31 2012-07-17 Microsoft Corporation Extensible cache-safe links to files in a web page
CN101187925B (en) 2006-11-17 2010-11-03 北京酷讯科技有限公司 Automatic optimized crawler grab method
EP2130149A2 (en) * 2006-12-19 2009-12-09 Koninklijke KPN N.V. Data network service based on profiling client-addresses
US10156953B2 (en) * 2006-12-27 2018-12-18 Blackberry Limited Method for presenting data on a small screen
US20080162486A1 (en) * 2006-12-27 2008-07-03 Research In Motion Limited Method and apparatus for storing data from a network address
US8275741B2 (en) * 2006-12-27 2012-09-25 Research In Motion Limited Method and apparatus for memory management in an electronic device
US8099386B2 (en) * 2006-12-27 2012-01-17 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
US7979458B2 (en) * 2007-01-16 2011-07-12 Microsoft Corporation Associating security trimmers with documents in an enterprise search system
US7953868B2 (en) 2007-01-31 2011-05-31 International Business Machines Corporation Method and system for preventing web crawling detection
US9665543B2 (en) * 2007-03-21 2017-05-30 International Business Machines Corporation System and method for reference validation in word processor documents
US20080235163A1 (en) * 2007-03-22 2008-09-25 Srinivasan Balasubramanian System and method for online duplicate detection and elimination in a web crawler
CA2686540A1 (en) * 2007-04-10 2008-10-16 Accenture Global Services Gmbh System and method of search validation
JP4867799B2 (en) * 2007-06-05 2012-02-01 沖電気工業株式会社 Crawling method, program and device thereof, agent device, network system
US8843471B2 (en) * 2007-08-14 2014-09-23 At&T Intellectual Property I, L.P. Method and apparatus for providing traffic-based content acquisition and indexing
JP5233250B2 (en) * 2007-11-09 2013-07-10 日本電気株式会社 Server apparatus, information processing apparatus, information processing method, and program
US8954867B2 (en) * 2008-02-26 2015-02-10 Biz360 Inc. System and method for gathering product, service, entity and/or feature opinions
US8359651B1 (en) * 2008-05-15 2013-01-22 Trend Micro Incorporated Discovering malicious locations in a public computer network
US8078974B2 (en) * 2008-06-27 2011-12-13 Microsoft Corporation Relating web page change with revisitation patterns
US8775465B2 (en) * 2008-07-30 2014-07-08 Yahoo! Inc. Automatic updating of content included in research documents
CN101650715B (en) 2008-08-12 2011-06-29 厦门市美亚柏科信息股份有限公司 Method and device for screening links on web pages
JP5405190B2 (en) * 2009-01-15 2014-02-05 株式会社Nttドコモ Content management information collection system and content management information collection method
US8898161B2 (en) * 2009-03-20 2014-11-25 Ad-Vantage Networks, Inc. Methods and systems for searching, selecting, and displaying content
US8712992B2 (en) * 2009-03-28 2014-04-29 Microsoft Corporation Method and apparatus for web crawling
CN101515300B (en) 2009-04-02 2011-07-20 阿里巴巴集团控股有限公司 Method and system for grabbing Ajax webpage content
US10108432B1 (en) * 2009-04-16 2018-10-23 Intuit Inc. Generating a script based on user actions
US20110088100A1 (en) * 2009-10-14 2011-04-14 Serge Rutman Disabling electronic display devices
JP2011107557A (en) * 2009-11-20 2011-06-02 Fuji Xerox Co Ltd Image forming apparatus
US8666996B2 (en) * 2009-12-23 2014-03-04 Mastercard International Incorporated Methods and systems for detecting broken links within a file
US8600979B2 (en) * 2010-06-28 2013-12-03 Yahoo! Inc. Infinite browse
US9043306B2 (en) 2010-08-23 2015-05-26 Microsoft Technology Licensing, Llc Content signature notification
CN102480524B (en) * 2010-11-26 2014-09-10 中国科学院声学研究所 Web page crawler cooperating method
US8671108B2 (en) 2011-09-02 2014-03-11 Mastercard International Incorporated Methods and systems for detecting website orphan content
US20130159051A1 (en) * 2011-12-15 2013-06-20 Sybase 365, Inc. System and Method for Enhanced Information Gathering
US8577610B2 (en) 2011-12-21 2013-11-05 Telenav Inc. Navigation system with point of interest harvesting mechanism and method of operation thereof
CN102594934B (en) * 2011-12-30 2015-03-25 奇智软件(北京)有限公司 Method and device for identifying hijacked website
US20140380477A1 (en) * 2011-12-30 2014-12-25 Beijing Qihoo Technology Company Limited Methods and devices for identifying tampered webpage and inentifying hijacked web address
US20130283097A1 (en) * 2012-04-23 2013-10-24 Yahoo! Inc. Dynamic network task distribution
CN102917053B (en) * 2012-10-18 2016-03-30 北京奇虎科技有限公司 A kind of method, apparatus and system for judging webpage urlrewriting
CN102932435B (en) * 2012-10-18 2016-06-15 北京奇虎科技有限公司 Network detection system
EP2779016B1 (en) * 2013-03-15 2018-10-31 Qnective AG Automated contact list matching with improved privacy
US9805018B1 (en) * 2013-03-15 2017-10-31 Steven E. Richfield Natural language processing for analyzing internet content and finding solutions to needs expressed in text
JP6104729B2 (en) * 2013-06-17 2017-03-29 株式会社Nttドコモ Content search system, content search method, and content search program
EP3049983B1 (en) * 2013-09-24 2018-07-25 McAfee, LLC Adaptive and recursive filtering for sample submission
US9614869B2 (en) * 2013-11-23 2017-04-04 Universidade da Coruña—OTRI System and server for detecting web page changes
KR101560716B1 (en) * 2014-02-14 2015-10-16 (주)엠더블유스토리 Contents monitoring system for checking the integrity of digital contents
RU2634218C2 (en) * 2014-07-24 2017-10-24 Общество С Ограниченной Ответственностью "Яндекс" Method for determining sequence of web browsing and server used
CN104750804A (en) * 2015-03-24 2015-07-01 南京途牛科技有限公司 Plug-in type configurable vertical network spider implementation method
US10210255B2 (en) * 2015-12-31 2019-02-19 Fractal Industries, Inc. Distributed system for large volume deep web data extraction
CN106156291A (en) * 2016-06-29 2016-11-23 深圳市彬讯科技有限公司 The caching method of static resource and system thereof based on Localstroage
CN106326447B (en) * 2016-08-26 2019-06-21 北京量科邦信息技术有限公司 A kind of detection method and system of crowdsourcing web crawlers crawl data
US10491622B2 (en) * 2017-01-04 2019-11-26 Synack, Inc. Automatic webpage change detection
CN108170843B (en) * 2018-01-17 2019-07-12 百度在线网络技术(北京)有限公司 Method and apparatus for obtaining data
KR20190131778A (en) 2018-05-17 2019-11-27 동서대학교 산학협력단 Web Crawler System for Collecting a Structured and Unstructured Data in Hidden URL
US5185040A (en) * 1988-12-19 1993-02-09 Murata Manufacturing Co., Ltd. Apparatus for forming electrode on electronic component
GB2257386B (en) * 1991-06-24 1995-07-05 Tani Denki Kogyo Kk Screen printing apparatus
US5786701A (en) * 1993-07-02 1998-07-28 Mitel Semiconductor Limited Bare die testing
NL9301820A (en) * 1993-10-20 1995-05-16 Stork Screens Bv Squeegee assembly.
US5492266A (en) * 1994-08-31 1996-02-20 International Business Machines Corporation Fine pitch solder deposits on printed circuit board process and product
US6286422B1 (en) * 1994-12-27 2001-09-11 Visteon Global Tech., Inc. Method and apparatus for dispensing viscous material
US5868302A (en) * 1995-09-06 1999-02-09 Matsushita Electric Industrial Co., Ltd. Method and apparatus for mounting electronic component
US5925187A (en) * 1996-02-08 1999-07-20 Speedline Technologies, Inc. Apparatus for dispensing flowable material
US5935210A (en) * 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
JP2000507791A (en) 1996-12-16 2000-06-20 サムスン エレクトロニクス カンパニー リミテッド Transmission method and device of the e-mail message in the local network
US5909634A (en) * 1996-12-20 1999-06-01 Texas Instruments Method and apparatus for forming solder on a substrate
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US6421675B1 (en) 1998-03-16 2002-07-16 S. L. I. Systems, Inc. Search engine
US6638314B1 (en) * 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6199081B1 (en) * 1998-06-30 2001-03-06 Microsoft Corporation Automatic tagging of documents and exclusion by content
JP2000168045A (en) * 1998-12-02 2000-06-20 Fuji Mach Mfg Co Ltd Screen printing squeegee and method for screen printing
US6547829B1 (en) * 1999-06-30 2003-04-15 Microsoft Corporation Method and system for detecting duplicate documents in web crawls
US6434548B1 (en) 1999-12-07 2002-08-13 International Business Machines Corporation Distributed metadata searching system and method
AU4712601A (en) 1999-12-08 2001-07-03 Amazon.Com, Inc. System and method for locating and displaying web-based product offerings
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US6883135B1 (en) 2000-01-28 2005-04-19 Microsoft Corporation Proxy server using a statistical model
US6687696B2 (en) * 2000-07-26 2004-02-03 Recommind Inc. System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models
JP2002140257A (en) * 2000-10-31 2002-05-17 Nippon Telegr & Teleph Corp <Ntt> Contents judging method
US7028039B2 (en) 2001-01-18 2006-04-11 Hewlett-Packard Development Company, L.P. System and method for storing connectivity information in a web database
JP2002312284A (en) * 2001-04-10 2002-10-25 Clover Network Com:Kk Device and program for detecting dishonest alteration of homepage
US6950821B2 (en) 2001-05-04 2005-09-27 Sun Microsystems, Inc. System and method for resolving distributed network search queries to information providers
US20040240388A1 (en) * 2003-05-28 2004-12-02 Lee Albion System and method for dynamic assignment of timers in a network transport engine
US20050027670A1 (en) * 2003-07-30 2005-02-03 Petropoulos Jack G. Ranking search results using conversion data
2004-08-17 RU RU2004125187/09A patent/RU2383920C2/en not_active IP Right Cessation
2004-08-27 MY MYPI20083804A patent/MY143875A/en unknown
2004-08-30 KR KR1020040068727A patent/KR101153138B1/en not_active IP Right Cessation
2004-08-30 BR BR0403803-7A patent/BRPI0403803A/en not_active IP Right Cessation
2004-08-30 AU AU2004205329A patent/AU2004205329B2/en not_active Ceased
2004-09-03 CN CN2004100769424A patent/CN1601528B/en not_active IP Right Cessation
2004-09-08 ZA ZA200407180A patent/ZA200407180B/en unknown
US10412176B2 (en) 2015-12-28 2019-09-10 Huawei Technologies Co., Ltd. Website access method, apparatus, and website system
ZA200407180B (en) 2005-07-29
BRPI0403803A (en) 2005-05-24
CN1601528B (en) 2011-04-13
RU2004125187A (en) 2006-02-20
EP1381967B1 (en) 2009-07-01 Distributed globally accessible information network
DE60126798T2 (en) 2007-10-31 Method for browsing and analyzing information in data networks
US7162494B2 (en) 2007-01-09 Method and system for distributed user profiling
CA2298582C (en) 2003-11-11 Distributed computing architecture
US8694493B2 (en) 2014-04-08 Computer-implemented search using result matching
US9081816B2 (en) 2015-07-14 Propagating user identities in a secure federated search system
US7941419B2 (en) 2011-05-10 Suggested content with attribute parameterization
US8332430B2 (en) 2012-12-11 Secure search performance improvement
US8239414B2 (en) 2012-08-07 Re-ranking search results from an enterprise system
US8645416B2 (en) 2014-02-04 Searching content in distributed computing networks
US8868540B2 (en) 2014-10-21 Method for suggesting web links and alternate terms for matching search queries
US20080250159A1 (en) 2008-10-09 Cybersquatter Patrol
US20060184512A1 (en) 2006-08-17 Content searching and configuration of search results
CN104903894B (en) 2018-12-28 System and method for distributed networks database query engine
US8875249B2 (en) 2014-10-28 Minimum lifespan credentials for crawling data repositories
US9251364B2 (en) 2016-02-02 Search hit URL modification for secure application integration
US8005816B2 (en) 2011-08-23 Auto generation of suggested links in a search system
JP4335559B2 (en) 2009-09-30 Method and apparatus for peer-to-peer file sharing
EP1517250A1 (en) 2005-03-23 Improved systems and methods for ranking documents based upon structurally interrelated information
KR20080086918A (en) 2008-09-26 Method and apparatus for a searchable data service
US20040128616A1 (en) 2004-07-01 System and method for providing a runtime environment for active web based document resources
JP5199003B2 (en) 2013-05-15 Management device and computer system
US20100125564A1 (en) 2010-05-20 Mobile SiteMaps
US7797295B2 (en) 2010-09-14 User content feeds from user storage devices to a public search engine
US20070214129A1 (en) 2007-09-13 Flexible Authorization Model for Secure Search
2014-07-10 MM4A The patent is invalid due to non-payment of fees