US8321529B2 - Accessing deep web information associated with transportation services using a search engine - Google Patents

Accessing deep web information associated with transportation services using a search engine Download PDF

Info

Publication number
US8321529B2
US8321529B2 US12/768,621 US76862110A US8321529B2 US 8321529 B2 US8321529 B2 US 8321529B2 US 76862110 A US76862110 A US 76862110A US 8321529 B2 US8321529 B2 US 8321529B2
Authority
US
United States
Prior art keywords
query
information
service
search
answers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US12/768,621
Other versions
US20100299331A1 (en
Inventor
Michael Z. Moricz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deep Web LLC
Original Assignee
Deep Web LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
US case filed in California Northern District Court litigation Critical https://portal.unifiedpatents.com/litigation/California%20Northern%20District%20Court/case/4%3A20-cv-02262 Source: District Court Jurisdiction: California Northern District Court "Unified Patents Litigation Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
First worldwide family litigation filed litigation https://patents.darts-ip.com/?family=46150493&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US8321529(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US10/397,992 external-priority patent/US7693956B2/en
Priority to US12/768,621 priority Critical patent/US8321529B2/en
Application filed by Deep Web LLC filed Critical Deep Web LLC
Publication of US20100299331A1 publication Critical patent/US20100299331A1/en
Assigned to DEEP WEB, LLC reassignment DEEP WEB, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MORICZ, MICHAEL Z.
Priority to US13/491,443 priority patent/US8645493B2/en
Priority to US13/491,459 priority patent/US20120303607A1/en
Publication of US8321529B2 publication Critical patent/US8321529B2/en
Application granted granted Critical
Priority to US14/555,403 priority patent/US20150088852A1/en
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results

Definitions

  • the present invention is a continuation of U.S. patent application Ser. No. 11/595,090, filed 8 Nov. 2006, which is a continuation-in-part application of non-provisional application Ser. No. 10/397,992, filed Mar. 25, 2003, entitled “Accessing deep web information using a search engine”, which claims priority to provisional application 60/366,817, filed Mar. 25, 2002.
  • the present application claims priority to said Ser. No. 11/595,090 and Ser. No. 10/397,992 non-provisional applications, and said 60/366,817 provisional application, and incorporates their specification in their entirety by reference.
  • the present invention relates to the field of data processing. More specifically, the present invention is related to accessing deep web pages potentially associated with transportation services using a search engine.
  • Static web pages are web pages that exist before and after a user accesses them.
  • a search engine saves two pieces of information from each static web page it indexes.
  • the first piece of information is the location of the web page, commonly referred to as the uniform resource locator (URL).
  • the second piece of information is one or more keywords from the text of the web page.
  • a search engine is then, essentially, a collection of URLs and associated keywords.
  • Deep web information is not contained on static web pages. Instead, it is produced in response to a specific query by a user and results in dynamic web pages. Search engines themselves are deep websites. A dynamic web page only exists after a user's query and disappears after the user exits the dynamic web page. As a result, deep web information or the dynamic web pages that can be generated from the deep web information are not typically available from search engines.
  • a user using a search engine to locate information often finds himself/herself not finding the right information, or having to re-enter the search criteria, as query parameters of queries to generate the dynamic web pages having the desired information.
  • FIGS. 8 a - 8 d illustrate one example of this problem.
  • a user uses a search service/engine (such as Goggle) to search for “Flights from Seattle to San Jose”.
  • FIG. 8 a illustrates selected portions of an example search answer web page returned from the search service/engine.
  • An example search answer web page includes indices and indexing flight deals on Priceline and Orbitz's websites respectively, and indices and indexing static promotional pages on Southwest and Alaska Airline's websites respectively.
  • FIG. 8 b illustrates the example static web page indexed by an index. It is essentially a form for facilitating a user to search for specific flight deals available on Priceline's website.
  • the flight deal web page for flights between Seattle and San Jose if available, is dynamically generated based on flight deal information in a database, the proper query answer web page is not indexed by the search service/engine. Consequently it is not available.
  • Only the generic static root web page (which could have been retrieved with merely the search criteria of “flight deals”) is indexed, resulting in the user essentially having to start the search over again, once he/she enters Priceline's website.
  • FIGS. 8 c - 8 d illustrate the static promotional web pages indexed by indices. They are merely promotional web pages, and not the flight schedule or availability web pages that the user is looking for. Again, the reason is that the flight schedule and availability web pages are dynamically generated based on the flight schedule and availability information in the databases of Southwest and Alaska Airlines.
  • FIGS. 9 a - 9 b illustrate the end results that the user desires. That is, in response to the user's provision to a search engine, of the search criteria “flights between Seattle and San Jose”, the user is provided with a search answer page having indices that index not only the relevant static web pages, but also the relevant dynamic web pages to be generated, such as would be provided using this invention. Further, on selection of one of such indices, the user can be taken to the indexed dynamic web page, with the search criteria preserved, i.e. the from and to cities of Seattle and San Jose, filled in, without requiring the user to re-fill or re-select the search criteria again.
  • FIG. 1 illustrates network view of a computing environment suitable for practicing present invention, in accordance with one embodiment
  • FIG. 2 illustrates an overview of the method of the present invention, in accordance with one embodiment
  • FIGS. 3 a - 3 b illustrate a number of reconciled queries with their associated query parameters, of a number of websites, for a number of example search criteria, created in accordance with the teachings of the present invention
  • FIGS. 4 a - 4 b illustrate a number of example proxy web page specifications, created in accordance with the teachings of the present invention
  • FIGS. 5 a - 5 b illustrate two example indices created using proxy web page specifications of the present invention
  • FIGS. 6 a - 6 d illustrate a source view and an end-user view each of two example pre-filled forms for two example queries employing the POST method to post its associated query parameters to the corresponding websites;
  • FIG. 7 illustrates an example computer system suitable for use as either a client or to host a proxy function, a search engine or a web server, to practice the present invention, in accordance with one embodiment
  • FIGS. 8 a - 8 d illustrate the inadequacies of the prior art in facilitating a user in accessing deep web information using a search engine, for an example information search;
  • FIGS. 9 a - 9 b illustrate two user desired results of the example information search of FIG. 8 a - 8 d;
  • FIGS. 10 a - 10 d illustrate four example search result pages associated with car rental service queries, in accordance with an embodiment of the present invention
  • FIG. 11 illustrates an exemplary fragment of source code of a search result page, the page associated with a car rental service query
  • FIGS. 12 a - 12 d illustrate four example search result pages associated with train reservation service queries, in accordance with an embodiment of the present invention
  • FIG. 13 illustrates an exemplary fragment of source code of a search result page, the page associated with a train reservation service query
  • FIGS. 14 a - 14 d illustrate four example search result pages associated with flight status information service queries, in accordance with an embodiment of the present invention.
  • FIG. 15 illustrates an exemplary fragment of source code of a search result page, the page associated with a flight status service query.
  • the present invention includes search engines enhanced to effectively index dynamic web pages, companion proxy servers, and related methods and apparatuses.
  • computing environment 100 includes a number of websites 108 offering services and/or information.
  • each website 108 includes dynamic web page generator 118 to generate various dynamic web pages to facilitate delivery of the services and/or information offered.
  • dynamic web page generator 118 generates the various dynamic web pages using information stored in various databases (not shown) of websites 108 , which may be co-resident or remotely disposed from the server(s) hosting websites 108 (but communicatively coupled). Each dynamic web page is typically generated in response to a query having a particular set of associated query parameters. Accordingly, these dynamic web pages will also be referred to as query answer web pages.
  • query answer web pages may be generated using Common Gateway Interface (CGI) scripts, in conjunction with instructions of one or more programming languages (Perl, C, C++, Basic, Fortran, Pascal, etc.), or a proprietary dynamic web page generator, such as Microsoft's generated ASP pages.
  • CGI Common Gateway Interface
  • communication with websites 108 are conducted using the Hypertext Transmission Protocol (HTTP) over Transmission Control Protocol/Internet Protocol (TCP/IP), and the dynamically generated web pages are specified using the Hypertext Markup Language (HTML).
  • HTTP Hypertext Transmission Protocol
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • HTML Hypertext Markup Language
  • the associated query parameters are submitted to websites 108 using a GET method, i.e. the associated query parameters of the queries are submitted in conjunction with the corresponding URLs, identifying the locations of the corresponding websites 108 .
  • the associated query parameters are submitted to websites 108 using a POST method, i.e. the associated query parameters of the queries are submitted separately (typically subsequently), after corresponding connections have been established with the websites 108 , using their corresponding URLs.
  • the URL is disassociated from the input parameters.
  • the associated input parameters with the URL would make the resulting URL unique.
  • the completed FORM cannot be indexed by a search engine or cannot even be bookmarked by a browser.
  • the present invention may be practiced with communication with websites 108 being practiced using other communication protocols, including but are not limited to HTTP Secure (HTTPS), File Transfer Protocol (FTP), Secure FTP (SFTP), Telnet, Secure Shell, Secure Copy (SCP), Goopher, and so forth.
  • HTTPS HyperText Transfer Protocol
  • FTP File Transfer Protocol
  • SFTP Secure FTP
  • Telnet Telnet
  • SCP Secure Copy
  • Goopher Goopher, and so forth.
  • computing environment 100 further includes a number of clients 102 , and search services 104 , coupled to each other and to websites 108 via network 110 .
  • Clients 102 assisted by search services 104 , selectively consume the services and/or information offered by websites 108 .
  • clients 102 include browsers 112 , and use browsers 112 to consume the service and/or information offered by websites 108 in the form of web pages.
  • Clients 102 further include operating system services (not shown) in support of browsers 112 .
  • Browsers 112 supported by the operating system services, are equipped to communicate with search services 104 and websites 108 in one or more of the earlier described protocols.
  • browsers 112 and the underlying operating system services may be fully integrated. In other embodiments, some functions of browsers 112 and the underlying operating system services may be offered by an intermediate “middle” layer of services instead.
  • search services 104 include search engine 114 , web page indices 115 indexing web pages of websites 108 offering services and/or information, and index generator 113 to generate indices 115 .
  • web page indices 115 also advantageously index web pages of websites 108 that are dynamically generated in response to queries having associated query parameters.
  • search services 104 further include operating system services (not shown) in support of elements 113 - 115 .
  • Search engine 114 supported by the operating system services are equipped to communicate with clients 102 and websites 108 in the appropriate protocols.
  • search engine 114 and the underlying operating system services may be fully integrated. In other embodiments, some functions of search engine 114 and the underlying operating system services may be offered by an intermediate “middle” layer of services instead.
  • search services 104 are complemented by at least one proxy server 106 , which is coupled to websites 108 , clients 102 , and search services 104 via network 110 .
  • Proxy server 106 includes in particular proxy function 116 , and associated query parameter values 117 for pre-filling query forms to be provided to their websites 108 .
  • pre-filled query forms facilitate posting of the associated query parameters to their websites 108 via the POST method.
  • form refers to an electronic form which may be one of any one of a number of form types, including but are not limited to, HTML FORMs, Windows FORMs, ASP generated FORMs, Java FORMs, Javascript FORMs, directX FORMs, and so forth, as well as form-like documents and/or data structures/organizations, unless the context of a particular usage instance specifically narrows the meaning for the particular usage instance to a particular form type.
  • indices 115 that effectively index the dynamically generated query answer web pages, and if applicable, associated query parameter values 117 for pre-filling query forms are generated in accordance with proxy web page specifications 119 of the dynamically generated query answer web pages.
  • network 110 may include one or more private and/or public networks, such as the Internet. Their functions and constitutions are known, accordingly will not be further described.
  • proxy web page specifications 119 proxy web page specifications 119 , indices 115 that effectively index the dynamically generated query answer web pages, and associated query parameter values 117 for pre-filling forms (if applicable) to facilitate submission of associated query parameters of queries of websites 108 , will be described in turn, in the description to follow.
  • FIG. 2 illustrates an overview of a method of the present invention, in accordance with one embodiment. More specifically, FIG. 2 illustrates the initialization or set up operations for setting up search services 104 , and if applicable, proxy servers 106 , to facilitate clients 102 to access deep web information of websites 108 .
  • the identified queries are then reconciled, block 206 .
  • the above operations are best illustrated by a couple of examples.
  • the first example illustrates how queries of various used car websites of interest for various used car searches of a HTML/HTTP based embodiment are identified and reconciled
  • the second example illustrates how queries of various airline websites of interest for various used flight schedule/availability searches of a HTML/HTTP based embodiment are identified and reconciled.
  • Automall.com's query parameters are car make, car model, and user's zip code.
  • JoesCars.com's query parameters are car make, car model, user's zip code and car year or years.
  • the first step in identifying and reconciling the queries of these sites is to find a minimum number of query parameters for this group of queries.
  • JoesCars.com has one more query parameter, which is the year or years. Since Automall.com does not have this parameter, it can be eliminated. If JoesCars.com requires the year or years, the largest range of years may be selected. For example, if JoesCars.com provides support for years between 1982 and 2002, then the year range for its query will always be 1982-2002.
  • the user's options for query parameters may also be expanded. For example, if a list exists which associates a zip code to a city and state, the process may make plans to allow for a user to substitute a city or state in the search engine query.
  • the query that is sent to each deep web site 108 will contain the zip code even though the user entered a city or state. If the list of associated cities and states for zip codes is used, the minimum number of query parameters for used car sites is still two. However, the parameters are now car model and user location.
  • the next step is to identify how the query of each deep web site 108 in the group is invoked. This involves determining the query syntax and method of the HTTP request and the number and type of parameters required. Most of this information can be obtained by examining the HTML within the FORM statement of the dynamically generated query answer page. Any additional information that is required may be found by executing some sample queries.
  • Automall.com uses a GET HTTP request method and JoesCars.com uses a POST request method. Furthermore, Automall.com's URL syntax is
  • the request method and query syntax for the deep web sites 108 are then known. What remains to be understood is how the GET and POST parameters need to be added. For example, if the make parameter for Automall.com is entered through a text field, then it may be insensitive to the case of a make name. However, if the make parameter is obtained from a pulldown, there is only one way of representing each make name.
  • the next step is to develop a list of site queries and parameter values.
  • FIG. 3 a An excerpt from Automall.com's list is illustrated in FIG. 3 a .
  • the list contains the query URL followed by a set of query parameter values that a user might enter as a set of search criteria.
  • query URL contains the car make, but the set of query values does not. This is because the minimum set of query parameters was chosen. Note also that some query values contain the city name instead of the zip code, but the zip code was entered in the URL query. This is an example of the expansion of the possible query parameter values by using an additional file that associates zip codes and city names.
  • FIG. 3 a An excerpt from JoesCars.com list of site queries and parameter values 302 - 304 is also shown in FIG. 3 a.
  • the first noticeable difference between Automall.com's list and JoesCars.com's list is the URL destination. Instead of JoesCars.com's URL, the destination is a proxy server's URL (outside.com). This is because of the HTTP request method used on the JoesCars.com site. A search engine cannot execute a POST request from one of its links. As a result, the link given to the search engine must be a GET request to a third party proxy site that can execute the post and return the JoesCars.com results page to the user.
  • the first step in identifying and reconciling the queries of the websites is to identify the minimum set of query parameters.
  • the minimum set of parameters is four. These are the “departure date”, “from location”, “return date” and “to location”. These parameters may also be used for hotel and car rental reservations. However, the “from location” is not needed for these types of reservations.
  • GeneralTravel.com also requires the number of people traveling. Since this is not part of the minimum set of parameters, the default can be used. In this case the default is one person.
  • the next step is to understand the method of query invocation on each site.
  • both GeneralTravel.com and FastJet.com use the GET HTTP request method.
  • the URL syntax for each of these sites is as follows.
  • the third step in the process is then to create the lists of site queries and parameter values.
  • the car models were limited by the values placed in the HTML select statements. Even the number of user zip codes was a finite set. However, the number of possible departure dates and return dates is infinite. As a result, the list of possible parameter values must be limited by some other means.
  • a list of all possible destinations must be available. Every possible combination of to and from destination can then be generated. Furthermore, the destinations can be specified as cities or airport codes. The complete list of parameter values is then 10,950 possible combinations of dates for each possible combination of to and from destinations.
  • the URL contains information not in the query. In this case, this is the “number of persons traveling.” Also, note that query may contain the city or the airport, but the URL only contains the airport code. This implies that a list correlating airport codes and city names was used to generate the list of parameter values.
  • proxy web page specifications 119 for the dynamically generated query answer web pages are created, block 208 , and submitted to search services 104 for processing to create indices 115 to index the dynamically generated query answer web pages.
  • proxy web page specifications 119 are submitted to index generator 113 , which generates, in response, the earlier described indices 115 .
  • index generator 113 may be any one of a number of such elements known in the art or to be designed. Its functions and constitution are known, and except for its usage, the manner it is constituted is not essential to the present invention.
  • FIGS. 4 a - 4 b illustrate one each, an example proxy web page specification 119 a - 119 b for the queries of Automall.com and Generaltravel.com.
  • the information may be provided to search services 104 via other formats and/or approaches.
  • FIGS. 5 a - 5 b illustrate the corresponding example indices that may be generated to effectively index the dynamic query answer pages for the earlier described search examples, i.e. used car search, and flight schedule and availability search.
  • example indices 500 a may comprise indices 502 a - 502 b that advantageously index the dynamically generated query answer pages for the example used car search
  • example indices 500 b may comprise indices 502 c - 502 b that advantageously index the dynamically generated query answer pages for the example flight schedule/availability search, and thereby overcoming the prior art deficiency of not having any index that indexes dynamically generated web pages.
  • proxy web page specifications 119 are employed to create the associated query parameter values 117 and pre-filling forms and pre-store them with proxy server 106 for use during operation.
  • Associating query parameter values 117 for pre-filling query forms may be stored on proxy servers 106 using any one of a number of data structures and/or organizations known in the art or to be designed, including but are not limited to hash tables, flat files, relational databases, and so forth.
  • FIGS. 6 a and 6 c illustrate one each, a source view of an example pre-filled form 117 a for the above described used car search example, and a source view of an example pre-filled form 117 b for the above described flight reservation example, to facilitate posting of associated query parameters of queries corresponding to two dynamically generated query answer pages.
  • pre-filled form 117 a has the values “Ford” and “Focus” pre-selected for the Make and Model parameters. Further, pre-filled form 117 a has the zip code value “22043” pre-set for the zip code parameter.
  • pre-filled form 117 b has the parameters values for the departing city, destination city, number of passenger, whether it is a round trip reservation, departure date, return date, and so forth pre-filled.
  • FIGS. 6 b and 6 d illustrate the end user view of the corresponding example pre-filled forms 117 a and 117 b for the above described used car and flight reservation search examples, when a user selects the index that effectively index the corresponding dynamically generated query answer page.
  • search service 104 on receipt of a set of search criteria from a client 102 , search service 104 is able to return a search answer page comprising indices indexing query answer web pages that are not persistent, and are to be dynamically generated.
  • example search result web pages for the earlier described examples may comprise indices 502 a - 502 b and 502 c - 502 d that advantageously index dynamically generated web pages, thereby overcoming the prior art deficiency of not having any index that indexes dynamically generated web pages.
  • the search criteria will be carried forward, and incorporated into the dynamically generated answer web page, thereby also overcoming the prior art disadvantage of requiring the user to re-enter the search criteria.
  • this is effectuated through the use of proxy server 106 and the complementary associated query parameter values 117 for pre-filling query forms pre-generated and pre-stored on proxy server 106 .
  • the present invention may be practiced with the forms pre-fetched, pre-filled and cached.
  • preservation and transfer of the search criteria or query parameters are accomplished without resorting to the use of cookies (and client approval of such use).
  • some or all of the query parameters may be preserved and/or transferred involving the use of cookies (and client approval of such use).
  • the present invention may be practiced with the preservation and transfer of other state information, in addition to the search criteria. Furthermore, the present invention may also be practiced in conjunction with the employment of one or more security techniques.
  • FIG. 7 illustrates an example computing system suitable for use as either a client or to host the proxy function, the search engine or a web server to practice the present invention.
  • computing system 700 may be a desktop computer system, a laptop computer system, a tablet computing device, a palm sized computing device, a wireless mobile phone, a set-top box, an Internet appliance and the like.
  • computing system 700 may be a single or a cluster of computer systems.
  • exemplary computing system 700 includes one or more processors 702 and system memory 704 . Additionally, system 700 may include mass storage devices 706 (such as diskette, hard drive, CDROM and so forth), input/output devices 708 (such as keyboard, cursor control and so forth) and communication interfaces 710 (such as network interface cards, modems and so forth).
  • the elements are coupled to each other via system bus 712 , which represents one or more buses. In the case of multiple buses, the buses are bridged by one or more bus bridges (not shown).
  • system memory 704 and mass storage 706 are employed to store a working copy and a permanent copy of the programming instructions and/or data, implementing the teachings of the present invention (e.g. the enhanced indices of the search engine, the complementary pre-filled forms, and so forth).
  • the programming instructions may be instructions of any one of a number of known or to be designed languages, including but are not limited to C, C++, Perl, Java, Javascript, XML, HTML and so forth. All or a portion of the permanent copy of the programming instructions/data may be loaded into mass storage 706 in the factory, in the field (via a distribution medium) or through communication interface 710 (from a distribution server (not shown)).
  • the search services and the proxy server may be effectively combined, by having the search services automatically select the indices that index the dynamically generated web pages, and cause the query result web pages to be embedded as part of the search result page.
  • embedded query result pages may be included as answers of the search results page. Such answers may include one or more input fields. In some embodiments, one or more of these fields may have values entered corresponding to one or all of the search criteria of the user search request. Other fields may be left empty or contain default values, and may thus enable a user to enter new values or alter default or previously entered values.
  • the query results may be embedded into the search result page as other “hits”/answers, and placed as a group above, below, or among the other “normal” hits/answers.
  • the query results may be embedded into the search result page as hits/answers, and may be interspersed among the other “normal” hits/answers.
  • Example search result pages 1002 b , 1202 b , and 1402 b of FIGS. 10 b , 12 b , and 14 b respectively, illustrate such as embodiment.
  • the query results may be embedded into the search result page a single hits/answer, the single hit/answer providing an embedded query to serve as a proxy for a plurality of query result pages.
  • the query results may be embedded into the search result page as hits/answers, and may be placed along the side of the other “normal” hits/answers.
  • Example search result pages 1002 d , 1202 d , and 1402 d of FIGS. 10 d , 12 d , and 14 d respectively, illustrate such as embodiment.
  • embodiments of the present invention may make available deep web information associated with vehicular rental services to users by embedding query result pages of information locations associated with vehicular rentals as hits/answers of a search results page, the search results page having a plurality of answers.
  • Each hit/answer embedding a query result page may include an input field for a rental location, fields for a pick-up date and time, field for a return date and time, and a field for a vehicle type.
  • the times and vehicle type may be selected from a pre-determined choice list of options using a select box.
  • each hit/answer embedding a query result page may include a form element or hyperlink (in FIGS. 10 a - 10 d , shown as the “Check” box) effectively indexing to the information location having the query result page that is embedded by the search results page.
  • the values entered into the input elements of the form may be transmitted to the information location, and the information location may dynamically generate the query results page, including the transmitted values in its fields.
  • the hits/answers embedding query result pages may be included as a group above the other normal hits/answers ( FIG.
  • FIG. 10 a may be interspersed among the other normal hit/answers ( FIG. 10 b ), may be presented as a single hit/answer serving as a proxy for a plurality of query result pages ( FIG. 10 c ), or may be presented along side of the other normal hits/answers ( FIG. 10 d ).
  • FIG. 11 illustrates an exemplary fragment of source code of a search result page, the page associated with a car rental service query.
  • embodiments of the present invention may make available deep web information associated with train reservation services to users by embedding query result pages of information locations associated with train reservations as hits/answers of a search results page, the search results page having a plurality of answers.
  • Each hit/answer embedding a query result page may include an input text field for a departure location, an input text field for an arrival location, and an input text field for a travel date.
  • any of the fields may be implemented as input text fields, select box lists, radio buttons, or any other form elements known in the art.
  • each hit/answer embedding a query result page may include a form element or hyperlink (in FIGS.
  • FIG. 12 a illustrates an exemplary fragment of source code of a search result page, the page associated with a train reservation service query.
  • embodiments of the present invention may make available deep web information associated with flight status information services to users by embedding query result pages of information locations associated with flight status information as hits/answers of a search results page, the search results page having a plurality of answers.
  • Each hit/answer embedding a query result page may include an input text field for a flight number and an input text field for a flight date.
  • any of the fields may be implemented as input text fields, select box lists, radio buttons, or any other form elements known in the art.
  • each hit/answer embedding a query result page may include a form element or hyperlink (in FIGS.
  • FIG. 14 a illustrates an exemplary fragment of source code of a search result page, the page associated with a flight status service query.
  • an approximation of the query result page may be embedded.
  • the exact query result page may include separate fields for a month and a date, while the embedded entry may include one combination field for the month and date.
  • a transformation program may be applied to the search answer page's embedded submission, splitting, for example, the submitted month-year combination. The split submission may then be further submitted to the query result web site.
  • Such a transformation program may be a JavaScript program or a program of any programming language known in the art.
  • Such a transformation program may be a proxy between the search engine of the search results page and the target web site of the query result web page.
  • the HTTP request that a browser of the user displaying the search answer page generates may be redirected through the proxy, the proxy converting the combined form value, such as the combined month-date, of the HTTP request to the desired format, such as a split month and date, and sending the converted HTTP request to the target site.
  • the same (or different) proxy may receive the resulting web page from the target site and forward it back to the browser.
  • embodiments of the present invention may make available deep web information associated with one or more of limousine reservation services, taxi reservations services, bus reservation/schedule services, both local and long distance, boat reservation/schedule services, ship reservation/schedule services, car rental location services, train status information services, ferry reservation/schedule services, and cruise liner reservation/schedule services to users by embedding query result pages of information locations associated with the service(s) as hits/answers of a search results page.
  • search services and the proxy server have been described as two separate entities, in alternate embodiments, the two may be combined, or one or more functions of one or more of search services and proxy server may be distributed among additional implementation entities.
  • firmware or hardware embodiments may include programmable logic devices, such as programmable array logic (PALs) and programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), large scale integrated circuits (LSIs), very large scale integrated circuits (VLSI) or the like—to form the various types of modules, circuitry, controllers, routines and systems described and claimed herein.
  • PALs programmable array logic
  • PLAs programmable logic arrays
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • LSIs large scale integrated circuits
  • VLSI very large scale integrated circuits

Abstract

Methods, apparatuses, and articles for receiving a search request associated with a transportation service from a client device, the search request including a plurality of search criteria, are described herein. Additionally, the methods, apparatuses, and articles further return to the client device an answer page having a plurality of answers potentially associated with the transportation service, the plurality of answers identifying a plurality of information locations having information potentially associated with at least a one of the plurality of search criteria, where at least one of the answers includes at least one input field of a query answer page for entry of at least one feature of the transportation service, the query answer page to be dynamically generated by one of the information locations in response to a query.

Description

RELATED APPLICATION
The present invention is a continuation of U.S. patent application Ser. No. 11/595,090, filed 8 Nov. 2006, which is a continuation-in-part application of non-provisional application Ser. No. 10/397,992, filed Mar. 25, 2003, entitled “Accessing deep web information using a search engine”, which claims priority to provisional application 60/366,817, filed Mar. 25, 2002. The present application claims priority to said Ser. No. 11/595,090 and Ser. No. 10/397,992 non-provisional applications, and said 60/366,817 provisional application, and incorporates their specification in their entirety by reference.
FIELD OF THE INVENTION
The present invention relates to the field of data processing. More specifically, the present invention is related to accessing deep web pages potentially associated with transportation services using a search engine.
BACKGROUND OF THE INVENTION
Currently, Internet search engines index the information found on static web pages on public websites. Static web pages are web pages that exist before and after a user accesses them. A search engine saves two pieces of information from each static web page it indexes. The first piece of information is the location of the web page, commonly referred to as the uniform resource locator (URL). The second piece of information is one or more keywords from the text of the web page. A search engine is then, essentially, a collection of URLs and associated keywords.
Deep web information, however, is not contained on static web pages. Instead, it is produced in response to a specific query by a user and results in dynamic web pages. Search engines themselves are deep websites. A dynamic web page only exists after a user's query and disappears after the user exits the dynamic web page. As a result, deep web information or the dynamic web pages that can be generated from the deep web information are not typically available from search engines.
As a result, a user using a search engine to locate information, for certain type of information searching, often finds himself/herself not finding the right information, or having to re-enter the search criteria, as query parameters of queries to generate the dynamic web pages having the desired information.
FIGS. 8 a-8 d illustrate one example of this problem. For the illustrated example, a user uses a search service/engine (such as Goggle) to search for “Flights from Seattle to San Jose”. FIG. 8 a illustrates selected portions of an example search answer web page returned from the search service/engine. An example search answer web page includes indices and indexing flight deals on Priceline and Orbitz's websites respectively, and indices and indexing static promotional pages on Southwest and Alaska Airline's websites respectively.
FIG. 8 b illustrates the example static web page indexed by an index. It is essentially a form for facilitating a user to search for specific flight deals available on Priceline's website. In other words, because the flight deal web page for flights between Seattle and San Jose, if available, is dynamically generated based on flight deal information in a database, the proper query answer web page is not indexed by the search service/engine. Consequently it is not available. Only the generic static root web page (which could have been retrieved with merely the search criteria of “flight deals”) is indexed, resulting in the user essentially having to start the search over again, once he/she enters Priceline's website.
Similar disadvantages exist, if the Orbitz website is entered via an index.
FIGS. 8 c-8 d illustrate the static promotional web pages indexed by indices. They are merely promotional web pages, and not the flight schedule or availability web pages that the user is looking for. Again, the reason is that the flight schedule and availability web pages are dynamically generated based on the flight schedule and availability information in the databases of Southwest and Alaska Airlines.
FIGS. 9 a-9 b illustrate the end results that the user desires. That is, in response to the user's provision to a search engine, of the search criteria “flights between Seattle and San Jose”, the user is provided with a search answer page having indices that index not only the relevant static web pages, but also the relevant dynamic web pages to be generated, such as would be provided using this invention. Further, on selection of one of such indices, the user can be taken to the indexed dynamic web page, with the search criteria preserved, i.e. the from and to cities of Seattle and San Jose, filled in, without requiring the user to re-fill or re-select the search criteria again.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
FIG. 1 illustrates network view of a computing environment suitable for practicing present invention, in accordance with one embodiment;
FIG. 2 illustrates an overview of the method of the present invention, in accordance with one embodiment;
FIGS. 3 a-3 b illustrate a number of reconciled queries with their associated query parameters, of a number of websites, for a number of example search criteria, created in accordance with the teachings of the present invention;
FIGS. 4 a-4 b illustrate a number of example proxy web page specifications, created in accordance with the teachings of the present invention;
FIGS. 5 a-5 b illustrate two example indices created using proxy web page specifications of the present invention;
FIGS. 6 a-6 d illustrate a source view and an end-user view each of two example pre-filled forms for two example queries employing the POST method to post its associated query parameters to the corresponding websites;
FIG. 7 illustrates an example computer system suitable for use as either a client or to host a proxy function, a search engine or a web server, to practice the present invention, in accordance with one embodiment;
FIGS. 8 a-8 d illustrate the inadequacies of the prior art in facilitating a user in accessing deep web information using a search engine, for an example information search;
FIGS. 9 a-9 b illustrate two user desired results of the example information search of FIG. 8 a-8 d;
FIGS. 10 a-10 d illustrate four example search result pages associated with car rental service queries, in accordance with an embodiment of the present invention;
FIG. 11 illustrates an exemplary fragment of source code of a search result page, the page associated with a car rental service query;
FIGS. 12 a-12 d illustrate four example search result pages associated with train reservation service queries, in accordance with an embodiment of the present invention;
FIG. 13 illustrates an exemplary fragment of source code of a search result page, the page associated with a train reservation service query;
FIGS. 14 a-14 d illustrate four example search result pages associated with flight status information service queries, in accordance with an embodiment of the present invention; and
FIG. 15 illustrates an exemplary fragment of source code of a search result page, the page associated with a flight status service query.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
The present invention includes search engines enhanced to effectively index dynamic web pages, companion proxy servers, and related methods and apparatuses.
Part of the description will be presented in terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art, including but are not limited to terms such as websites, static and dynamic web pages, queries, query parameters, query answer pages, search criteria, search answer web pages and forms. On a computing device, these logical entities are represented and manipulated in the form of electrical and/or optical signals.
In the following description, various aspects of the present invention will be described. However, it will be apparent to those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the present invention.
Various operations will be described as multiple discrete steps in turn, in a manner that is most helpful in understanding the present invention, however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The use of heading and sections are to facilitate understanding of the present invention, and they are not to be limiting on the present invention. The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment, however, it may. The terms “comprising”, “having” and “including” are synonymous, unless the context dictates otherwise.
Overview
Referring now to FIG. 1, wherein a network view of a computing environment suitable for practicing the present invention, is shown. As illustrated, computing environment 100 includes a number of websites 108 offering services and/or information. In particular, each website 108 includes dynamic web page generator 118 to generate various dynamic web pages to facilitate delivery of the services and/or information offered.
Typically, dynamic web page generator 118 generates the various dynamic web pages using information stored in various databases (not shown) of websites 108, which may be co-resident or remotely disposed from the server(s) hosting websites 108 (but communicatively coupled). Each dynamic web page is typically generated in response to a query having a particular set of associated query parameters. Accordingly, these dynamic web pages will also be referred to as query answer web pages.
Further, the query answer web pages may be generated using Common Gateway Interface (CGI) scripts, in conjunction with instructions of one or more programming languages (Perl, C, C++, Basic, Fortran, Pascal, etc.), or a proprietary dynamic web page generator, such as Microsoft's generated ASP pages.
For the illustrated embodiment, communication with websites 108 are conducted using the Hypertext Transmission Protocol (HTTP) over Transmission Control Protocol/Internet Protocol (TCP/IP), and the dynamically generated web pages are specified using the Hypertext Markup Language (HTML). For some queries, the associated query parameters are submitted to websites 108 using a GET method, i.e. the associated query parameters of the queries are submitted in conjunction with the corresponding URLs, identifying the locations of the corresponding websites 108. Whereas, for other queries, the associated query parameters are submitted to websites 108 using a POST method, i.e. the associated query parameters of the queries are submitted separately (typically subsequently), after corresponding connections have been established with the websites 108, using their corresponding URLs. Thus, in the second method called the POST method, the URL is disassociated from the input parameters. The associated input parameters with the URL would make the resulting URL unique. However, without a unique URL, that is, without the association of the FORM URL with the specific input parameters, the completed FORM cannot be indexed by a search engine or cannot even be bookmarked by a browser.
In alternate embodiments, the present invention may be practiced with communication with websites 108 being practiced using other communication protocols, including but are not limited to HTTP Secure (HTTPS), File Transfer Protocol (FTP), Secure FTP (SFTP), Telnet, Secure Shell, Secure Copy (SCP), Goopher, and so forth.
Continuing to refer to FIG. 1, computing environment 100 further includes a number of clients 102, and search services 104, coupled to each other and to websites 108 via network 110. Clients 102, assisted by search services 104, selectively consume the services and/or information offered by websites 108.
For the embodiment, clients 102 include browsers 112, and use browsers 112 to consume the service and/or information offered by websites 108 in the form of web pages. Clients 102 further include operating system services (not shown) in support of browsers 112. Browsers 112, supported by the operating system services, are equipped to communicate with search services 104 and websites 108 in one or more of the earlier described protocols.
In alternate embodiments, browsers 112 and the underlying operating system services may be fully integrated. In other embodiments, some functions of browsers 112 and the underlying operating system services may be offered by an intermediate “middle” layer of services instead.
For the embodiment, search services 104 include search engine 114, web page indices 115 indexing web pages of websites 108 offering services and/or information, and index generator 113 to generate indices 115. As will be described in more detail below, under the present invention, web page indices 115 also advantageously index web pages of websites 108 that are dynamically generated in response to queries having associated query parameters.
Similar to clients 102, search services 104 further include operating system services (not shown) in support of elements 113-115. Search engine 114 supported by the operating system services, are equipped to communicate with clients 102 and websites 108 in the appropriate protocols.
In alternate embodiments, search engine 114 and the underlying operating system services may be fully integrated. In other embodiments, some functions of search engine 114 and the underlying operating system services may be offered by an intermediate “middle” layer of services instead.
For the embodiment, search services 104 are complemented by at least one proxy server 106, which is coupled to websites 108, clients 102, and search services 104 via network 110. Proxy server 106 includes in particular proxy function 116, and associated query parameter values 117 for pre-filling query forms to be provided to their websites 108. More specifically, for the earlier described HTML and HTTP oriented embodiment, pre-filled query forms facilitate posting of the associated query parameters to their websites 108 via the POST method.
The term “form” as used herein in the specification and in the claims, in general, refers to an electronic form which may be one of any one of a number of form types, including but are not limited to, HTML FORMs, Windows FORMs, ASP generated FORMs, Java FORMs, Javascript FORMs, directX FORMs, and so forth, as well as form-like documents and/or data structures/organizations, unless the context of a particular usage instance specifically narrows the meaning for the particular usage instance to a particular form type.
As illustrated, indices 115 that effectively index the dynamically generated query answer web pages, and if applicable, associated query parameter values 117 for pre-filling query forms are generated in accordance with proxy web page specifications 119 of the dynamically generated query answer web pages.
Except for indices 115 that effectively index the dynamically generated query answer web pages, associated query parameter values 117 for pre-filling query forms (if applicable) to facilitate submission of associated query parameters of queries of websites 108, and proxy web page specifications 119, clients 102 (including browsers 112), search services 104 (including search engine 114 and indices 115 that index static web pages), proxy server 106 (including proxy function 116), websites 108 (including dynamic web page generators 118 and their databases (not shown)), and network 110 represent a broad range of these respective elements known in the art or to be designed. In particular, network 110 may include one or more private and/or public networks, such as the Internet. Their functions and constitutions are known, accordingly will not be further described.
Otherwise, the method of the present invention, proxy web page specifications 119, indices 115 that effectively index the dynamically generated query answer web pages, and associated query parameter values 117 for pre-filling forms (if applicable) to facilitate submission of associated query parameters of queries of websites 108, will be described in turn, in the description to follow.
Initialization/Set up
FIG. 2 illustrates an overview of a method of the present invention, in accordance with one embodiment. More specifically, FIG. 2 illustrates the initialization or set up operations for setting up search services 104, and if applicable, proxy servers 106, to facilitate clients 102 to access deep web information of websites 108.
As illustrated, for each set of search criteria of interest, block 202, the queries including the associated query parameters, and the manner they are submitted to websites 108, e.g. whether through the GET method or the POST method, are identified, block 204. The identified queries are then reconciled, block 206.
The above operations are best illustrated by a couple of examples. The first example illustrates how queries of various used car websites of interest for various used car searches of a HTML/HTTP based embodiment are identified and reconciled, and the second example illustrates how queries of various airline websites of interest for various used flight schedule/availability searches of a HTML/HTTP based embodiment are identified and reconciled.
Used Car Sites
Suppose two used car deep web sites 108 are of interest. These sites are Automall.com and JoesCars.com, and for ease of understanding, their dynamically generated web pages are assumed to be HTML based. Moreover, communication with Automall.com and JoesCars.com are assumed to be HTTP based.
Further, the queries of their query answer web pages have similar query parameters. More specifically, Automall.com's query parameters are car make, car model, and user's zip code. JoesCars.com's query parameters are car make, car model, user's zip code and car year or years.
The first step in identifying and reconciling the queries of these sites is to find a minimum number of query parameters for this group of queries. In this example case, JoesCars.com has one more query parameter, which is the year or years. Since Automall.com does not have this parameter, it can be eliminated. If JoesCars.com requires the year or years, the largest range of years may be selected. For example, if JoesCars.com provides support for years between 1982 and 2002, then the year range for its query will always be 1982-2002.
Choosing a default constant value for the car year leaves three query parameters for both sites to be specified. This, however, may be reduced further. If it is assumed that every model name is unique, then the user may be able to make a query with just two pieces of information. These are the car model and user's zip code. If the car make is required by both sites, this will be provided in the query. The user will not, however, be required to enter it in the search engine query.
In various embodiments, during this stage of query identification and reconciliation, the user's options for query parameters may also be expanded. For example, if a list exists which associates a zip code to a city and state, the process may make plans to allow for a user to substitute a city or state in the search engine query. The query that is sent to each deep web site 108 will contain the zip code even though the user entered a city or state. If the list of associated cities and states for zip codes is used, the minimum number of query parameters for used car sites is still two. However, the parameters are now car model and user location.
Once the minimum number of query parameters is found, the next step is to identify how the query of each deep web site 108 in the group is invoked. This involves determining the query syntax and method of the HTTP request and the number and type of parameters required. Most of this information can be obtained by examining the HTML within the FORM statement of the dynamically generated query answer page. Any additional information that is required may be found by executing some sample queries.
Suppose that in the example given, it is found that Automall.com uses a GET HTTP request method and JoesCars.com uses a POST request method. Furthermore, Automall.com's URL syntax is
http://www.automall.com/used.html?make=chevrolet&model=corvette&zip=22043
and JoesCars.com's POST parameters are:
Make, Model, Year and Zip
The request method and query syntax for the deep web sites 108 are then known. What remains to be understood is how the GET and POST parameters need to be added. For example, if the make parameter for Automall.com is entered through a text field, then it may be insensitive to the case of a make name. However, if the make parameter is obtained from a pulldown, there is only one way of representing each make name.
Assume that Automall.com and JoesCars.com list car make and model in user pulldowns which translate to HTML SELECT statements. All of the possible combinations of make and model can then be obtained from the HTML. Assume that the Year input for JoesCars.com is a TEXT field and “1982-2002” is an acceptable range syntax. Finally, assume that both sites accept a five-digit zip code through a TEXT field. The method for invoking the deep web sites is then well understood.
After defining the minimum set of query parameters and understanding the methods of invocation of each deep web site 108, the next step is to develop a list of site queries and parameter values.
For example, an excerpt from Automall.com's list is illustrated in FIG. 3 a. The list contains the query URL followed by a set of query parameter values that a user might enter as a set of search criteria.
Note that the query URL contains the car make, but the set of query values does not. This is because the minimum set of query parameters was chosen. Note also that some query values contain the city name instead of the zip code, but the zip code was entered in the URL query. This is an example of the expansion of the possible query parameter values by using an additional file that associates zip codes and city names.
An excerpt from JoesCars.com list of site queries and parameter values 302-304 is also shown in FIG. 3 a.
The first noticeable difference between Automall.com's list and JoesCars.com's list is the URL destination. Instead of JoesCars.com's URL, the destination is a proxy server's URL (outside.com). This is because of the HTTP request method used on the JoesCars.com site. A search engine cannot execute a POST request from one of its links. As a result, the link given to the search engine must be a GET request to a third party proxy site that can execute the post and return the JoesCars.com results page to the user.
Another difference is the additional Year parameter. As mentioned above, all queries are given the default range of “1982-2002” for this additional parameter. Also, since each site might span a different range of years the list of possible query parameter values might be different. For example, JoesCars.com might show Ford Granada while this model might be too old for Automall.com. Remember that in this example the car models were found by searching the SELECT statements of the HTML.
Note that while these lists might contain all possible inputs for the minimum set of query parameters, not all items in the list may be submitted to the search engine. Instead, each item on the list might be compared to previous search engine queries for relevance. If such a query is never entered, it may be excluded from the information given to the search engine.
Airline Reservation Sites
Suppose that two deep web airline reservations sites 108 are of interest for various flight schedule and availability searches. One is a general travel site that lists the reservations of many different airlines. This site is called GeneralTravel.com. The other is a site for a specific airline. This site is called FastJet.com.
Again, for ease of understanding, the dynamically generated web pages of GeneralTravel.com and FastJet.com are assumed to be HTML based, and communications with the two sites are HTTP based.
As with the used cars, the first step in identifying and reconciling the queries of the websites is to identify the minimum set of query parameters. For airline reservations the minimum set of parameters is four. These are the “departure date”, “from location”, “return date” and “to location”. These parameters may also be used for hotel and car rental reservations. However, the “from location” is not needed for these types of reservations.
Suppose GeneralTravel.com also requires the number of people traveling. Since this is not part of the minimum set of parameters, the default can be used. In this case the default is one person.
The next step is to understand the method of query invocation on each site. Suppose that both GeneralTravel.com and FastJet.com use the GET HTTP request method. Also suppose that the URL syntax for each of these sites is as follows.
http://www.generaltravel.com/res.html?persons=1&from=bwi&to=sfo&leav e=0504&return=0506
http://www.fastjet.com/res.html?fdest=bwi&tdest=sfo&start=0504&end=05 06
The third step in the process is then to create the lists of site queries and parameter values. In the case of used car sites, the car models were limited by the values placed in the HTML select statements. Even the number of user zip codes was a finite set. However, the number of possible departure dates and return dates is infinite. As a result, the list of possible parameter values must be limited by some other means.
Suppose that most reservations are booked no more than one year in advance. Also, suppose that most travel takes place within one month. The possible parameter values are now considerably limited. First of all, the departure dates are then the next 365 days. For each departure date, there will be 30 return dates covering the following 30 days. Thus, there will be a total of 365 times 30, or 10,950 possible combinations of dates.
To complete the list of values, a list of all possible destinations must be available. Every possible combination of to and from destination can then be generated. Furthermore, the destinations can be specified as cities or airport codes. The complete list of parameter values is then 10,950 possible combinations of dates for each possible combination of to and from destinations.
An excerpt from GeneralTravel.com's list of site queries and parameter values 312-314 is also shown in FIG. 3 b.
Note that the URL contains information not in the query. In this case, this is the “number of persons traveling.” Also, note that query may contain the city or the airport, but the URL only contains the airport code. This implies that a list correlating airport codes and city names was used to generate the list of parameter values.
Referring back to FIG. 2, once the queries of the websites 108 of interest have been identified and reconciled, corresponding proxy web page specifications 119 for the dynamically generated query answer web pages are created, block 208, and submitted to search services 104 for processing to create indices 115 to index the dynamically generated query answer web pages.
Mores specifically, as earlier described, corresponding proxy web page specifications 119 are submitted to index generator 113, which generates, in response, the earlier described indices 115.
As described earlier, index generator 113 may be any one of a number of such elements known in the art or to be designed. Its functions and constitution are known, and except for its usage, the manner it is constituted is not essential to the present invention.
FIGS. 4 a-4 b illustrate one each, an example proxy web page specification 119 a-119 b for the queries of Automall.com and Generaltravel.com. In alternate embodiments, the information may be provided to search services 104 via other formats and/or approaches.
FIGS. 5 a-5 b illustrate the corresponding example indices that may be generated to effectively index the dynamic query answer pages for the earlier described search examples, i.e. used car search, and flight schedule and availability search. As illustrated, example indices 500 a may comprise indices 502 a-502 b that advantageously index the dynamically generated query answer pages for the example used car search, and example indices 500 b may comprise indices 502 c-502 b that advantageously index the dynamically generated query answer pages for the example flight schedule/availability search, and thereby overcoming the prior art deficiency of not having any index that indexes dynamically generated web pages.
Referring again to FIG. 2, and recalling from earlier descriptions, for queries of the HTML and HTTP embodiment employing the FORM and the POST method to post their associated query parameters to their websites 108, associated query parameter values 117 for pre-filling query forms are created and pre-stored in proxy server 106 to facilitate the form filling and parameter value posting. Accordingly, upon creation of appropriate proxy web page specifications 119 and their provisions to index generator 113 to generate indices 115, proxy web page specifications 119 are employed to create the associated query parameter values 117 and pre-filling forms and pre-store them with proxy server 106 for use during operation.
Associating query parameter values 117 for pre-filling query forms may be stored on proxy servers 106 using any one of a number of data structures and/or organizations known in the art or to be designed, including but are not limited to hash tables, flat files, relational databases, and so forth.
FIGS. 6 a and 6 c illustrate one each, a source view of an example pre-filled form 117 a for the above described used car search example, and a source view of an example pre-filled form 117 b for the above described flight reservation example, to facilitate posting of associated query parameters of queries corresponding to two dynamically generated query answer pages.
As illustrated, pre-filled form 117 a has the values “Ford” and “Focus” pre-selected for the Make and Model parameters. Further, pre-filled form 117 a has the zip code value “22043” pre-set for the zip code parameter.
Similarly, pre-filled form 117 b has the parameters values for the departing city, destination city, number of passenger, whether it is a round trip reservation, departure date, return date, and so forth pre-filled.
For ease of understanding, some of the less illustrative source codes (in the “blank” areas) are omitted.
FIGS. 6 b and 6 d illustrate the end user view of the corresponding example pre-filled forms 117 a and 117 b for the above described used car and flight reservation search examples, when a user selects the index that effectively index the corresponding dynamically generated query answer page.
Those skilled in the art will appreciate that the examples have been purposely kept simple for ease of understanding. Nevertheless, they convey the substances of the present invention, even though in practice, typically more query parameters and query values are involved.
Operation
Thus, during operation, on receipt of a set of search criteria from a client 102, search service 104 is able to return a search answer page comprising indices indexing query answer web pages that are not persistent, and are to be dynamically generated.
As described earlier, example search result web pages for the earlier described examples, i.e. used car search and flight schedule and availability search may comprise indices 502 a-502 b and 502 c-502 d that advantageously index dynamically generated web pages, thereby overcoming the prior art deficiency of not having any index that indexes dynamically generated web pages.
Further, on selection, the search criteria will be carried forward, and incorporated into the dynamically generated answer web page, thereby also overcoming the prior art disadvantage of requiring the user to re-enter the search criteria. As described earlier, this is effectuated through the use of proxy server 106 and the complementary associated query parameter values 117 for pre-filling query forms pre-generated and pre-stored on proxy server 106.
In alternate embodiments, in lieu of retrieving the relevant forms in real time from the applicable websites 108, the present invention may be practiced with the forms pre-fetched, pre-filled and cached.
For the illustrated embodiment, preservation and transfer of the search criteria or query parameters are accomplished without resorting to the use of cookies (and client approval of such use). However, in alternate embodiments, some or all of the query parameters may be preserved and/or transferred involving the use of cookies (and client approval of such use).
Moreover, the present invention may be practiced with the preservation and transfer of other state information, in addition to the search criteria. Furthermore, the present invention may also be practiced in conjunction with the employment of one or more security techniques.
Example Computer System
FIG. 7 illustrates an example computing system suitable for use as either a client or to host the proxy function, the search engine or a web server to practice the present invention. As a client system, computing system 700 may be a desktop computer system, a laptop computer system, a tablet computing device, a palm sized computing device, a wireless mobile phone, a set-top box, an Internet appliance and the like. As a server, computing system 700 may be a single or a cluster of computer systems.
As shown, exemplary computing system 700 includes one or more processors 702 and system memory 704. Additionally, system 700 may include mass storage devices 706 (such as diskette, hard drive, CDROM and so forth), input/output devices 708 (such as keyboard, cursor control and so forth) and communication interfaces 710 (such as network interface cards, modems and so forth). The elements are coupled to each other via system bus 712, which represents one or more buses. In the case of multiple buses, the buses are bridged by one or more bus bridges (not shown).
Each of these elements performs its conventional functions known in the art. In particular, system memory 704 and mass storage 706 are employed to store a working copy and a permanent copy of the programming instructions and/or data, implementing the teachings of the present invention (e.g. the enhanced indices of the search engine, the complementary pre-filled forms, and so forth). The programming instructions may be instructions of any one of a number of known or to be designed languages, including but are not limited to C, C++, Perl, Java, Javascript, XML, HTML and so forth. All or a portion of the permanent copy of the programming instructions/data may be loaded into mass storage 706 in the factory, in the field (via a distribution medium) or through communication interface 710 (from a distribution server (not shown)).
The constitution of these elements 702-712 are known, and accordingly will not be further described.
Additional Embodiments
In additional embodiments, illustrated by FIGS. 10-15, the search services and the proxy server may be effectively combined, by having the search services automatically select the indices that index the dynamically generated web pages, and cause the query result web pages to be embedded as part of the search result page. As can be seen from FIGS. 10, 12, and 14, embedded query result pages may be included as answers of the search results page. Such answers may include one or more input fields. In some embodiments, one or more of these fields may have values entered corresponding to one or all of the search criteria of the user search request. Other fields may be left empty or contain default values, and may thus enable a user to enter new values or alter default or previously entered values.
In one embodiment, the query results may be embedded into the search result page as other “hits”/answers, and placed as a group above, below, or among the other “normal” hits/answers. Example search result pages 1002 a, 1202 a, and 1402 a of FIGS. 10 a, 12 a, and 14 a, respectively, illustrate such as embodiment. In another embodiment, the query results may be embedded into the search result page as hits/answers, and may be interspersed among the other “normal” hits/answers. Example search result pages 1002 b, 1202 b, and 1402 b of FIGS. 10 b, 12 b, and 14 b, respectively, illustrate such as embodiment. In a third embodiment, the query results may be embedded into the search result page a single hits/answer, the single hit/answer providing an embedded query to serve as a proxy for a plurality of query result pages. Example search result pages 1002 c, 1202 c, and 1402 c of FIGS. 10 c, 12 c, and 14 c, respectively, illustrate such as embodiment. In yet another embodiment, the query results may be embedded into the search result page as hits/answers, and may be placed along the side of the other “normal” hits/answers. Example search result pages 1002 d, 1202 d, and 1402 d of FIGS. 10 d, 12 d, and 14 d, respectively, illustrate such as embodiment.
As is shown by FIGS. 10 a-10 d, embodiments of the present invention may make available deep web information associated with vehicular rental services to users by embedding query result pages of information locations associated with vehicular rentals as hits/answers of a search results page, the search results page having a plurality of answers. Each hit/answer embedding a query result page may include an input field for a rental location, fields for a pick-up date and time, field for a return date and time, and a field for a vehicle type. As shown, the times and vehicle type may be selected from a pre-determined choice list of options using a select box. In alternate embodiments, however any of the fields may be implemented as input text fields, select box lists, radio buttons, or any other form elements known in the art. Also, as illustrated, each hit/answer embedding a query result page may include a form element or hyperlink (in FIGS. 10 a-10 d, shown as the “Check” box) effectively indexing to the information location having the query result page that is embedded by the search results page. When actuated by a user, the values entered into the input elements of the form may be transmitted to the information location, and the information location may dynamically generate the query results page, including the transmitted values in its fields. Also, as is discussed above, the hits/answers embedding query result pages may be included as a group above the other normal hits/answers (FIG. 10 a), may be interspersed among the other normal hit/answers (FIG. 10 b), may be presented as a single hit/answer serving as a proxy for a plurality of query result pages (FIG. 10 c), or may be presented along side of the other normal hits/answers (FIG. 10 d). Also, FIG. 11 illustrates an exemplary fragment of source code of a search result page, the page associated with a car rental service query.
As illustrated by FIGS. 12 a-12 d, embodiments of the present invention may make available deep web information associated with train reservation services to users by embedding query result pages of information locations associated with train reservations as hits/answers of a search results page, the search results page having a plurality of answers. Each hit/answer embedding a query result page may include an input text field for a departure location, an input text field for an arrival location, and an input text field for a travel date. In alternate embodiments, any of the fields may be implemented as input text fields, select box lists, radio buttons, or any other form elements known in the art. Also, as illustrated, each hit/answer embedding a query result page may include a form element or hyperlink (in FIGS. 12 a-12 d, shown as the “Check” box) effectively indexing to the information location having the query result page that is embedded by the search results page. When actuated by a user, the values entered into the input elements of the form may be transmitted to the information location, and the information location may dynamically generate the query results page, including the transmitted values in its fields. Also, as is discussed above, the hits/answers embedding query result pages may be included as a group above the other normal hits/answers (FIG. 12 a), may be interspersed among the other normal hit/answers (FIG. 12 b), may be presented as a single hit/answer serving as a proxy for a plurality of query result pages (FIG. 12 c), or may be presented along side of the other normal hits/answers (FIG. 12 d). Also, FIG. 13 illustrates an exemplary fragment of source code of a search result page, the page associated with a train reservation service query.
As illustrated by FIGS. 14 a-14 d, embodiments of the present invention may make available deep web information associated with flight status information services to users by embedding query result pages of information locations associated with flight status information as hits/answers of a search results page, the search results page having a plurality of answers. Each hit/answer embedding a query result page may include an input text field for a flight number and an input text field for a flight date. In alternate embodiments, any of the fields may be implemented as input text fields, select box lists, radio buttons, or any other form elements known in the art. Also, as illustrated, each hit/answer embedding a query result page may include a form element or hyperlink (in FIGS. 14 a-14 d, shown as the “Check” box) effectively indexing to the information location having the query result page that is embedded by the search results page. When actuated by a user, the values entered into the input elements of the form may be transmitted to the information location, and the information location may dynamically generate the query results page, including the transmitted values in its fields. Also, as is discussed above, the hits/answers embedding query result pages may be included as a group above the other normal hits/answers (FIG. 14 a), may be interspersed among the other normal hit/answers (FIG. 14 b), may be presented as a single hit/answer serving as a proxy for a plurality of query result pages (FIG. 14 c), or may be presented along side of the other normal hits/answers (FIG. 14 d). Also, FIG. 15 illustrates an exemplary fragment of source code of a search result page, the page associated with a flight status service query.
In one embodiment, rather than embedding the exact query result web page in the search answer page, an approximation of the query result page may be embedded. For example, the exact query result page may include separate fields for a month and a date, while the embedded entry may include one combination field for the month and date. In such an embodiment, a transformation program may be applied to the search answer page's embedded submission, splitting, for example, the submitted month-year combination. The split submission may then be further submitted to the query result web site. Such a transformation program may be a JavaScript program or a program of any programming language known in the art. Such a transformation program may be a proxy between the search engine of the search results page and the target web site of the query result web page. In such a case, where the transformation program is a proxy, the HTTP request that a browser of the user displaying the search answer page generates may be redirected through the proxy, the proxy converting the combined form value, such as the combined month-date, of the HTTP request to the desired format, such as a split month and date, and sending the converted HTTP request to the target site. Also, the same (or different) proxy may receive the resulting web page from the target site and forward it back to the browser.
Also, embodiments of the present invention may make available deep web information associated with one or more of limousine reservation services, taxi reservations services, bus reservation/schedule services, both local and long distance, boat reservation/schedule services, ship reservation/schedule services, car rental location services, train status information services, ferry reservation/schedule services, and cruise liner reservation/schedule services to users by embedding query result pages of information locations associated with the service(s) as hits/answers of a search results page.
Alternate Embodiments
While the present invention has been described in terms of the foregoing embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described. The present invention can be practiced with modification and alteration within the spirit and scope of the appended claims.
In particular, while for ease of understanding, the search services and the proxy server have been described as two separate entities, in alternate embodiments, the two may be combined, or one or more functions of one or more of search services and proxy server may be distributed among additional implementation entities.
Further, in alternate embodiments, the present invention may also be suitably implemented, at least in part, in firmware or hardware, or some suitable combination of at least two of the three. Such firmware or hardware embodiments may include programmable logic devices, such as programmable array logic (PALs) and programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), large scale integrated circuits (LSIs), very large scale integrated circuits (VLSI) or the like—to form the various types of modules, circuitry, controllers, routines and systems described and claimed herein.
Conclusion and Epilogue
Thus, it can be seen from the above descriptions, a novel method, including associated apparatuses, for accessing deep web information associated with transportation services has been described. The description is to be regarded as illustrative instead of restrictive on the present invention, which scope is set forth in the claims to follow.

Claims (19)

1. A method comprising:
receiving from a client device through a public network, by a search engine operated by a computing system, a search request associated with a transportation service, the search request including a plurality of search criteria;
searching, by the search engine, through a plurality of indexes indexing information available on a plurality of information locations for information locations having information potentially associated with at least a one of the plurality of search criteria, wherein the information locations include publicly networked information locations; and
returning to the client device through the public network, by the search engine, an answer page having a plurality of answers potentially associated with the transportation service, based at least in part on a result of the searching, wherein the plurality of answers identifies a subset of the plurality of information locations having information potentially associated with at least a one of the plurality of search criteria, wherein at least one of the answers includes at least one input field of a query answer page for entry of at least one feature of the transportation service, wherein the query answer page is to be dynamically generated by one of the subset of information locations in response to a query, and wherein at least another one of the answers do not include any input field;
wherein the answer including at least one input field further includes an index indexing to the information location to dynamically generate the query answer page, the index including the query and a set of one or more associated parameters, and the set of one or more associated parameters including at least one parameter variable corresponding to the at least one input field for entry of the at least one feature of the transportation service.
2. The method of claim 1, wherein the search request is associated with a vehicular rental service, and the plurality of search criteria include at least one of a rental location, a vehicle pick-up date, a vehicle return date, or a vehicle type.
3. The method of claim 2, wherein the at least one answer including at least one input field includes a plurality of input fields configured to enable a user to further indicate one or more of the rental location, the vehicle pick-up date, the vehicle return date, or the vehicle type that were not included among the plurality of search criteria.
4. The method of claim 3, wherein the plurality of input fields are organized into four rows, a first row for indicating the rental location, a second row for indicating the vehicle pick-up date, a third row for indicating the vehicle return date, and a fourth row for indicating the vehicle type.
5. The method of claim 2, further comprising transmitting the query to the information location, the query including one or more query parameters, and the one or more query parameters including at least one of the rental location, the vehicle pick-up date, the vehicle return date, or the vehicle type inputted through the at least one input field.
6. The method of claim 1, wherein the search request is associated with a train reservation service, and the plurality of search criteria include at least one of a departure location, an arrival location, or a travel date.
7. The method of claim 6, wherein the at least one answer including at least one input field includes a plurality of input fields configured to enable a user to further indicate one or more of the departure location, the arrival location, or the travel date that were not included among the plurality of search criteria.
8. The method of claim 7, wherein the plurality of input fields are organized into three rows, a first row for indicating the departure location, a second row for indicating the arrival location, and a third row for indicating the travel date.
9. The method of claim 6, further comprising transmitting the query to the information location, the query including one or more query parameters, and the one or more query parameters including at least one of the departure location, the arrival location, or the travel date inputted through the at least one input field.
10. The method of claim 1, wherein the search request is associated with a flight status service, and the plurality of search criteria include at least one of a flight number and a flight date.
11. The method of claim 10, wherein the at least one answer including at least one input field includes a plurality of input fields configured to enable a user to further indicate one or both of the flight number or the flight date that were not included among the plurality of search criteria.
12. The method of claim 11, wherein the plurality of input fields are organized into one row for indicating the flight number and the flight date.
13. The method of claim 10, further comprising transmitting the query to the information location, the query including one or more query parameters, and the one or more query parameters including at least one of the flight number or the flight date inputted through the at least one input field.
14. The method of claim 1, wherein a number of the plurality of answers include at least one input field of a query answer page for entry of at least one feature of the transportation service, and the number of answers are (1) returned as a group to be rendered above, among, below, or aside other answers of the plurality of answers on the answer page or (2) returned interspersed among the other answers of the plurality of answers.
15. The method of claim 1, wherein the at least one answer including at least one input field identifies a plurality of information locations each having information potentially associated with at least a one of the plurality of search criteria.
16. The method of claim 1, wherein the transportation service is one of a limousine reservation service, a taxi reservations service, a bus reservation/schedule service, a boat reservation/schedule service, a ship reservation/schedule service, a car rental location service, a train status information service, a ferry reservation/schedule service, or a cruise liner reservation/schedule service.
17. An apparatus comprising:
a processor; and
logic operated by the processor to operate a search engine adapted to:
receive a search request associated with a transportation service from a client device through a public network, the search request including a plurality of search criteria,
search through a plurality of indexes indexing information available on a plurality of information locations for information locations having information potentially associated with at least a one of the plurality of search criteria, wherein the information locations include publicly networked information locations, and
return to the client device through the public network, an answer page having a plurality of answers potentially associated with the transportation service, based at least in part on a result of the searching, wherein the plurality of answers identifies a subset of the plurality of information locations having information potentially associated with at least a one of the plurality of search criteria, wherein at least one of the answers includes at least one input field of a query answer page for entry of at least one feature of the transportation service, wherein the query answer page is to be dynamically generated by one of the subset of information locations in response to a query, and wherein at least another one of the answers do not include any input field;
wherein the answer including at least one input field further includes an index indexing to the information location to dynamically generate the query answer page, the index including the query and a set of one or more associated parameters, and the set of one or more associated parameters including at least one parameter variable corresponding to the at least one input field for entry of the at least one feature of the transportation service.
18. The apparatus of claim 17, wherein the transportation service is one of a vehicular rental service, a train reservation service, a flight status service, a limousine reservation service, a taxi reservations service, a bus reservation/schedule service, a boat reservation/schedule service, a ship reservation/schedule service, a car rental location service, a train status information service, a ferry reservation/schedule service, or a cruise liner reservation/schedule service.
19. An article of manufacture comprising:
a storage device; and
a plurality of instructions stored on the storage device, and configured to enable an apparatus, in response to execution of the instructions, to operate a search engine to
receive a search request associated with a transportation service from a client device through a public network, the search request including a plurality of search criteria, search through a plurality of indexes indexing information available on a plurality of information locations for information locations having information potentially associated with at least a one of the plurality of search criteria, wherein the information locations include publicly networked information locations, and
return to the client device through the public network, an answer page having a plurality of answers potentially associated with the transportation service based at least in part on a result of the seaching, wherein the plurality of answers identifies a subset of the plurality of information locations having information potentially associated with at least a one of the plurality of search criteria, wherein at least one of the answers includes at least one input field of a query answer page for entry of at least one feature of the transportation service, wherein the query answer page is to be dynamically generated by one of the subset of information locations in response to a query, and wherein at least another one of the answers do not include any input field;
wherein the answer including at least one input field further includes an index indexing to the information location to dynamically generate the query_answer page, the index including the query_and a set of one or more associated parameters, and the set of one or more associated parameters including at least one parameter variable corresponding to the at least one input field for entry_of the at least one feature of the transportation service.
US12/768,621 2002-03-25 2010-04-27 Accessing deep web information associated with transportation services using a search engine Expired - Fee Related US8321529B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/768,621 US8321529B2 (en) 2002-03-25 2010-04-27 Accessing deep web information associated with transportation services using a search engine
US13/491,459 US20120303607A1 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US13/491,443 US8645493B2 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US14/555,403 US20150088852A1 (en) 2002-03-25 2014-11-26 Accessing deep web informaiton using a search engine

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US36681702P 2002-03-25 2002-03-25
US10/397,992 US7693956B2 (en) 2002-03-25 2003-03-25 Accessing deep web information using a search engine
US11/595,090 US7716303B2 (en) 2002-03-25 2006-11-08 Accessing deep web information associated with transportation services using a search engine
US12/768,621 US8321529B2 (en) 2002-03-25 2010-04-27 Accessing deep web information associated with transportation services using a search engine

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/595,090 Continuation US7716303B2 (en) 2002-03-25 2006-11-08 Accessing deep web information associated with transportation services using a search engine

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/491,459 Continuation US20120303607A1 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US13/491,443 Continuation US8645493B2 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine

Publications (2)

Publication Number Publication Date
US20100299331A1 US20100299331A1 (en) 2010-11-25
US8321529B2 true US8321529B2 (en) 2012-11-27

Family

ID=46150493

Family Applications (5)

Application Number Title Priority Date Filing Date
US11/595,090 Expired - Fee Related US7716303B2 (en) 2002-03-25 2006-11-08 Accessing deep web information associated with transportation services using a search engine
US12/768,621 Expired - Fee Related US8321529B2 (en) 2002-03-25 2010-04-27 Accessing deep web information associated with transportation services using a search engine
US13/491,443 Expired - Fee Related US8645493B2 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US13/491,459 Abandoned US20120303607A1 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US14/555,403 Abandoned US20150088852A1 (en) 2002-03-25 2014-11-26 Accessing deep web informaiton using a search engine

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/595,090 Expired - Fee Related US7716303B2 (en) 2002-03-25 2006-11-08 Accessing deep web information associated with transportation services using a search engine

Family Applications After (3)

Application Number Title Priority Date Filing Date
US13/491,443 Expired - Fee Related US8645493B2 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US13/491,459 Abandoned US20120303607A1 (en) 2002-03-25 2012-06-07 Accessing deep web information using a search engine
US14/555,403 Abandoned US20150088852A1 (en) 2002-03-25 2014-11-26 Accessing deep web informaiton using a search engine

Country Status (1)

Country Link
US (5) US7716303B2 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146409B1 (en) * 2001-07-24 2006-12-05 Brightplanet Corporation System and method for efficient control and capture of dynamic database content
US20080195590A1 (en) * 2007-02-08 2008-08-14 Mitsuo Nakamura Network device, image forming device, and data searching method
US8484566B2 (en) 2007-10-15 2013-07-09 Google Inc. Analyzing a form page for indexing
US20090204610A1 (en) * 2008-02-11 2009-08-13 Hellstrom Benjamin J Deep web miner
JP2012515931A (en) 2008-04-25 2012-07-12 ウィンケルマン、ジェイムズ System and method for determining total blood count and white blood cell percentage
US9602777B2 (en) 2008-04-25 2017-03-21 Roche Diagnostics Hematology, Inc. Systems and methods for analyzing body fluids
GB0909695D0 (en) * 2009-06-05 2009-07-22 Maxymiser Ltd On page console
US20110022423A1 (en) * 2009-07-27 2011-01-27 Dealbase, Inc. Methods and systems for transmitting alerts on hotel deals
US8707198B2 (en) * 2010-06-04 2014-04-22 Microsoft Corporation Related tasks and tasklets for search
US8538949B2 (en) 2011-06-17 2013-09-17 Microsoft Corporation Interactive web crawler
US8688713B1 (en) * 2012-03-22 2014-04-01 Google Inc. Resource identification from organic and structured content
CN103425704B (en) 2012-05-24 2017-07-21 阿里巴巴集团控股有限公司 Application interface provides method and device
US20150100569A1 (en) * 2012-06-28 2015-04-09 Google Inc. Providing a search results document that includes a user interface for performing an action in connection with a web page identified in the search results document
US8782265B1 (en) * 2013-03-14 2014-07-15 Dmitry Bokotey Network visualization system and method of using same
US9729410B2 (en) * 2013-10-24 2017-08-08 Jeffrey T Eschbach Method and system for capturing web content from a web server
CN103914209B (en) * 2014-03-28 2018-03-27 联想(北京)有限公司 A kind of information processing method and electronic equipment
US10447761B2 (en) 2015-07-31 2019-10-15 Page Vault Inc. Method and system for capturing web content from a web server as a set of images
US10158722B2 (en) 2015-07-31 2018-12-18 Jeffrey T Eschbach Method and systems for the scheduled capture of web content from web servers as sets of images
CN105549876B (en) * 2015-12-04 2018-11-30 小米科技有限责任公司 The method and device inputted in input frame
US10083244B2 (en) * 2016-02-12 2018-09-25 Costar Realty Information, Inc. Uniform resource identifier encoding
US20220414164A1 (en) * 2021-06-28 2022-12-29 metacluster lt, UAB E-commerce toolkit infrastructure
US20230117402A1 (en) * 2021-10-18 2023-04-20 Perion Network Ltd Systems and methods of request grouping

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864863A (en) 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US6278993B1 (en) 1998-12-08 2001-08-21 Yodlee.Com, Inc. Method and apparatus for extending an on-line internet search beyond pre-referenced sources and returning data over a data-packet-network (DPN) using private search engines as proxy-engines
US6321251B1 (en) 1998-10-01 2001-11-20 Unisys Corporation Gateway for dynamically providing web site status information
US20010049687A1 (en) 1999-12-23 2001-12-06 Russell Larry L. Information storage and retrieval device
US20010049676A1 (en) 1999-04-09 2001-12-06 Michael A. Kepler Method and system for retrieving data from multiple data sources using a search routing database
US20020077871A1 (en) 2000-06-20 2002-06-20 Greg Udelhoven Traveler service system with a graphical user interface for accessing multiple travel suppliers
US20020123991A1 (en) * 1998-09-09 2002-09-05 Masato Asami Method for querying a database in which a query statement is issued to a database management system for which data types can be defined
US20020133381A1 (en) * 2001-02-20 2002-09-19 Kevin Tso Fare watcher
US20020133382A1 (en) * 1999-02-04 2002-09-19 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US20020152101A1 (en) * 2001-04-12 2002-10-17 Lawson Robert J. Travel expense management module for an intranet portal
US6487555B1 (en) 1999-05-07 2002-11-26 Alta Vista Company Method and apparatus for finding mirrored hosts by analyzing connectivity and IP addresses
US20020194037A1 (en) 2000-07-19 2002-12-19 Jeff Creed Method and apparatus for arranging flexible and cost-efficient private air travel
US20030004760A1 (en) 1999-12-03 2003-01-02 Schiff Martin R. Systems and methods of on-line booking of cruises
US20030036930A1 (en) 2001-08-17 2003-02-20 Expedia, Inc. Method and system for creating travel packages
US20030046117A1 (en) * 2001-09-04 2003-03-06 Brad Jaehn Display matrix for displaying rental car data
US20030088544A1 (en) 2001-05-04 2003-05-08 Sun Microsystems, Inc. Distributed information discovery
US6718365B1 (en) * 2000-04-13 2004-04-06 International Business Machines Corporation Method, system, and program for ordering search results using an importance weighting
US6990457B1 (en) 2000-06-06 2006-01-24 Hotels.Com System and method for conducting transactions involving generically identified items
US6993569B1 (en) 1999-11-01 2006-01-31 Ita Software, Inc. Transmitting information over a network
US7010553B2 (en) 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US7010533B1 (en) * 1999-02-15 2006-03-07 Matsushita Electric Industrial Co., Ltd. E-mail preparation device, terminal device, information forwarding system, and program recording medium
US20060206363A1 (en) 2005-03-13 2006-09-14 Gove Jeremy J Group travel planning, optimization, synchronization and coordination software tool and processes for travel arrangements for transportation and lodging for multiple people from multiple geographic locations, domestic and global, to a single destination or series of destinations
US7277923B2 (en) 2001-04-13 2007-10-02 Earthlink, Inc. Systems and methods for automatically accessing internet information from a local application on a handheld internet appliance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327574B1 (en) * 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
FI109949B (en) * 2000-04-07 2002-10-31 Domiras Oy Method of billing services, server and communication system
US6865593B1 (en) * 2000-04-12 2005-03-08 Webcollege, Inc. Dynamic integration of web sites
US7028333B2 (en) * 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for partners in virtual networks
US7200677B1 (en) * 2000-04-27 2007-04-03 Microsoft Corporation Web address converter for dynamic web pages
AU2001277868A1 (en) * 2000-07-11 2002-01-21 Juice Software, Inc. A method and system for integrating network-based functionality into productivity applications and documents
GB2368246B (en) * 2000-10-17 2004-09-01 Hewlett Packard Co Overview subsystem for information page server
US20030050969A1 (en) * 2001-03-20 2003-03-13 Sant Philip Anthony Information integration system

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864863A (en) 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US20020123991A1 (en) * 1998-09-09 2002-09-05 Masato Asami Method for querying a database in which a query statement is issued to a database management system for which data types can be defined
US6321251B1 (en) 1998-10-01 2001-11-20 Unisys Corporation Gateway for dynamically providing web site status information
US6278993B1 (en) 1998-12-08 2001-08-21 Yodlee.Com, Inc. Method and apparatus for extending an on-line internet search beyond pre-referenced sources and returning data over a data-packet-network (DPN) using private search engines as proxy-engines
US20020133382A1 (en) * 1999-02-04 2002-09-19 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US7010533B1 (en) * 1999-02-15 2006-03-07 Matsushita Electric Industrial Co., Ltd. E-mail preparation device, terminal device, information forwarding system, and program recording medium
US20010049676A1 (en) 1999-04-09 2001-12-06 Michael A. Kepler Method and system for retrieving data from multiple data sources using a search routing database
US6487555B1 (en) 1999-05-07 2002-11-26 Alta Vista Company Method and apparatus for finding mirrored hosts by analyzing connectivity and IP addresses
US6993569B1 (en) 1999-11-01 2006-01-31 Ita Software, Inc. Transmitting information over a network
US20030004760A1 (en) 1999-12-03 2003-01-02 Schiff Martin R. Systems and methods of on-line booking of cruises
US20010049687A1 (en) 1999-12-23 2001-12-06 Russell Larry L. Information storage and retrieval device
US6718365B1 (en) * 2000-04-13 2004-04-06 International Business Machines Corporation Method, system, and program for ordering search results using an importance weighting
US6990457B1 (en) 2000-06-06 2006-01-24 Hotels.Com System and method for conducting transactions involving generically identified items
US20020077871A1 (en) 2000-06-20 2002-06-20 Greg Udelhoven Traveler service system with a graphical user interface for accessing multiple travel suppliers
US20020194037A1 (en) 2000-07-19 2002-12-19 Jeff Creed Method and apparatus for arranging flexible and cost-efficient private air travel
US20020133381A1 (en) * 2001-02-20 2002-09-19 Kevin Tso Fare watcher
US20020152101A1 (en) * 2001-04-12 2002-10-17 Lawson Robert J. Travel expense management module for an intranet portal
US7277923B2 (en) 2001-04-13 2007-10-02 Earthlink, Inc. Systems and methods for automatically accessing internet information from a local application on a handheld internet appliance
US20030088544A1 (en) 2001-05-04 2003-05-08 Sun Microsystems, Inc. Distributed information discovery
US20030036930A1 (en) 2001-08-17 2003-02-20 Expedia, Inc. Method and system for creating travel packages
US20030046117A1 (en) * 2001-09-04 2003-03-06 Brad Jaehn Display matrix for displaying rental car data
US7010553B2 (en) 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US20060206363A1 (en) 2005-03-13 2006-09-14 Gove Jeremy J Group travel planning, optimization, synchronization and coordination software tool and processes for travel arrangements for transportation and lodging for multiple people from multiple geographic locations, domestic and global, to a single destination or series of destinations

Non-Patent Citations (24)

* Cited by examiner, † Cited by third party
Title
"Quigo Unveils Deep Web Search Technologies", Aug. 15, 2001, <http://www.quigo.com/press081501.htm> retrieved Jul. 19, 2006.
"Quigo Unveils Deep Web Search Technologies", Aug. 15, 2001, retrieved Jul. 19, 2006.
Agrawal, S. C. et al., "Location Based Services", TATA Consultancy Services White Paper, Sep. 2003, 43 pages.
Bergman, M., "The Deep Web: Surfacing Hidden Value" Sep. 24, 2001, Journal of Electronic Publishing 7(1) <http:// www.brightplanet.com/pdf/deepwebwhitepaper.pdf> retrieved Jul. 19, 2006.
Bergman, M., "The Deep Web: Surfacing Hidden Value" Sep. 24, 2001, Journal of Electronic Publishing 7(1) retrieved Jul. 19, 2006.
Bruemmer, P., "Indexing Deep Web Content", Mar. 27, 2002, <http://www.searchengineguide.com/wi/2002/0327—wi2.html> retrieved Jul. 19, 2006.
Bruemmer, P., "Indexing Deep Web Content", Mar. 27, 2002, retrieved Jul. 19, 2006.
Bruemmer, P., "Make Way for the Deep Crawl", Aug. 29, 2001, <http://www.clickz.com/experts/search/opt/article.php/874131> retrieved Jul. 19, 2006.
Bruemmer, P., "Make Way for the Deep Crawl", Aug. 29, 2001, retrieved Jul. 19, 2006.
Incy Wincy, Article, "Loop Improvements Launches Incy Wincy, the Invisible Web Search Engine", Aug. 16, 2000.
Incy Wincy, Background Information, copyright 2001.
Incy Wincy, webpages, copyright, 2001.
IncyWincy, Article, "Loop Improvements Launches IncyWincy, the Invisible Web Search Engine", Aug. 16, 2000. *
IncyWincy, Background Information, copyright 2001. *
IncyWincy, webpages, copyright 2001. *
International Preliminary Report on Patentability, for Application PCT/US07/84120, mailed May 22, 2009.
International Search Report, for Application PCT/US03/09188, mailed on Jun. 24, 2003.
International Search Report, for Application PCT/US07/84120, mailed May 8, 2008.
Mills, E., "Google flight search takes off", Oct. 28, 2005, <http://www.news.com/Google+flight+search+takes+off/2100-1038—3-5917821.html> retrieved Jul. 19, 2006.
Mills, E., "Google flight search takes off", Oct. 28, 2005, retrieved Jul. 19, 2006.
Raghavan, S. and Garcia-Molina, H., "Crawling the Hidden Web" Sep. 11, 2001, Proceedings of 27th Int'l Conf. on VLDB, pp. 129-139, <http://www.dia.uniroma3.it˜vldbproc/017—129.pdf> retrieved Jul. 19, 2006.
Raghavan, S. and Garcia-Molina, H., "Crawling the Hidden Web" Sep. 11, 2001, Proceedings of 27th Int'l Conf. on VLDB, pp. 129-139, retrieved Jul. 19, 2006.
Warnick, W. et al., "Searching the Deep Web: Directed Query Engine Applications at the Department of Energy", Jan. 1, 2001, <http://www.dlib.org/dlib/january01/warnick/01warnick.html> retrieved Jul. 19, 2006.
Warnick, W. et al., "Searching the Deep Web: Directed Query Engine Applications at the Department of Energy", Jan. 1, 2001, retrieved Jul. 19, 2006.

Also Published As

Publication number Publication date
US20070055745A1 (en) 2007-03-08
US20100299331A1 (en) 2010-11-25
US20120303607A1 (en) 2012-11-29
US8645493B2 (en) 2014-02-04
US20120246144A1 (en) 2012-09-27
US7716303B2 (en) 2010-05-11
US20150088852A1 (en) 2015-03-26

Similar Documents

Publication Publication Date Title
US8645493B2 (en) Accessing deep web information using a search engine
US7693956B2 (en) Accessing deep web information using a search engine
US7730160B2 (en) Accessing deep web information associated with hospitality services using a search engine
US6848077B1 (en) Dynamically creating hyperlinks to other web documents in received world wide web documents based on text terms in the received document defined as of interest to user
US8027974B2 (en) Method and system for URL autocompletion using ranked results
US6101537A (en) Universal electronic resource denotation, request and delivery system
US8515954B2 (en) Displaying autocompletion of partial search query with predicted search results
US8024206B2 (en) Travel
US20050120016A1 (en) Searching in a computer network
AU2491599A (en) Navigating network resources using metadata
GB2331169A (en) Company information delivery system and method including restriction processing
US20080028025A1 (en) Method and system for managing preferred web site links
US20060235886A1 (en) Method, system and software for centralized generation and storage of individualized requests and results
US6598072B1 (en) System for precluding repetitive accessing of web pages in a sequence of linked web pages accessed from the world wide web through a web browser at a web receiving display station
US7376709B1 (en) Method for creating durable web-enabled uniform resource locator links
US20030046289A1 (en) Meta browsing with external execution of third party services
US20020107884A1 (en) Prioritizing and visually distinguishing sets of hyperlinks in hypertext world wide web documents in accordance with weights based upon attributes of web documents linked to such hyperlinks
AU2018299827A1 (en) System and method for dynamically delivering content
US20020129026A1 (en) Process for accessing information via a communications network
US10474685B1 (en) Mobile to non-mobile document correlation
US6651091B1 (en) System for precluding repetitive accessing of Web pages in a sequence of linked Web pages accessed from the World Wide Web through searching
WO2008058247A9 (en) Accessing deep web information associated with hospitality services using a search engine
US20060136381A1 (en) Method and system for a text based search of a self-contained document
KR100335173B1 (en) Distributed/parallel processing search engine, search method and personal search engine providing apparatus
EP1207467A2 (en) Highlighting world wide web documents of special interest in a displayed session history list of web documents received during a web access session at a receiving web display station

Legal Events

Date Code Title Description
AS Assignment

Owner name: DEEP WEB, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MORICZ, MICHAEL Z.;REEL/FRAME:027877/0112

Effective date: 20120316

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20201127