WO2007150041A2 - Apparatuses, methods and systems for a search-enhancing navigator - Google Patents

Apparatuses, methods and systems for a search-enhancing navigator Download PDF

Info

Publication number
WO2007150041A2
WO2007150041A2 PCT/US2007/071922 US2007071922W WO2007150041A2 WO 2007150041 A2 WO2007150041 A2 WO 2007150041A2 US 2007071922 W US2007071922 W US 2007071922W WO 2007150041 A2 WO2007150041 A2 WO 2007150041A2
Authority
WO
WIPO (PCT)
Prior art keywords
search
user inputs
augmenting
navigator
tokens
Prior art date
Application number
PCT/US2007/071922
Other languages
French (fr)
Other versions
WO2007150041A3 (en
Inventor
Armand Rousso
Steven Schwartz
Original Assignee
Accoona Corp.
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
Application filed by Accoona Corp. filed Critical Accoona Corp.
Publication of WO2007150041A2 publication Critical patent/WO2007150041A2/en
Publication of WO2007150041A3 publication Critical patent/WO2007150041A3/en

Links

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/951Indexing; Web crawling techniques

Definitions

  • the present invention is directed generally to an apparatuses, methods, and systems of user interface, and more particularly, to apparatuses, methods and systems to generate display and use search-enhancing user interfaces.
  • Users may review the list and page forward through the list of results until they find the result they are looking for, or they can change the text input and perform a new search hoping for a better set of results. Users of current search results lists are limited to viewing the first set of N results no matter how many results are identified as relevant by the search engine.
  • power searchers may refine their search using advanced search syntax (adding operators such as AND or OR to the query term) or advanced search interfaces, these features are difficult to access or use.
  • current search engines do not expose all meta data available for searching or for the sorting of result sets; nor do current search engines add extracted meta data to the data sets.
  • current user interfaces do not provide a straightforward, unified, and modular interface interacting with web search activities. As more and more information is placed on the web, and as more and more news and business entities make their information available on the internet, the conventional method of supplying search tokens and reading results is stifling potential user productivity gains. .
  • this disclosure details a search-enhancing navigator that provides search capabilities of the World Wide Web or any other data source such as a business information database, a database receiving news feeds, language translation databases.
  • voice input and output facilities may be integrated.
  • the search- enhancing navigator provides a mechanism allowing a broader audience to better interface and interact with various large and complex data sets.
  • a search-enhancing navigator will allow the construction and maintenance of a comprehensive web index able to offer enriched content to a wide audience.
  • the search enhancing navigator may be utilized to monetize user interactions (e.g., via pay-per-click (PPC), banner and sponsorship advertisements), drive users to other content areas (such as business, news and the like), and/or attract search partners, empower members of society to make use of facilities such as Accoona Corp.'s search site as well as increasing its presence in other sectors that may also make use of search-enhancing navigator technology.
  • FIGURE 1 is of a block diagram illustrating an search-enhancing navigator system
  • FIGURE 2 is of a screen illustrating an search-enhancing navigator system
  • FIGURE 3 is of the logic flow in one embodiment of web site token indexing
  • FIGURE 4A is of the logic flow in one embodiment of search-enhancing navigation
  • FIGURE 4B is a high level overview of business search for an embodiment of search-enhancing navigation
  • FIGURE 4C is of a screen illustrating an aspect of business search for one implementation of the search-enhancing navigator system
  • FIGURE 5 is of a block diagram illustrating embodiments of the present invention of an search-enhancing navigator controller
  • FIGURE 1 is of a block diagram illustrating a search-enhancing navigator system. It shows a web browser 105 allowing a user to enter a web address in an address text box 107.
  • the web browser is showing a web page 140 at a search web site that is navigator enabled 120.
  • a user may enter a search term in the search box 110.
  • the user may enter numerous terms in numerous text boxes as part of an advanced search option.
  • search results are presented on the web page 140.
  • a search-enhancing navigator 120 is presented to the user that allows the user to dynamically refine or change the query or resort or filter search results.
  • the navigator allows a user to limit or rearrange search results based on various constraints or conditions that may be selected from user interface widgets.
  • a panel of pop-up menus allows the user to either select predefined constraints, or to enter their own. It should be noted that the position and appearance of the navigator may be changed; for example, in one embodiment, the navigator may be horizontally positioned at the top or bottom of the web page.
  • Constraints and/or conditions may include security (e.g., this would force communications across an https connection for security, or via http for open communications) 145, date/time 170, company 171, relevance 172, products 173, advertisements 174, people 175, multimedia formats (e.g., audio, pictures, video, etc.) 176, related materials (e.g., articles, businesses, news, products, recommendations, etc.) 177, sources (e.g., publishers, governments, companies, etc.) 178, locality (e.g., address, state, zip code, geocode, etc.) 179, country 125, and/or the like.
  • security e.g., this would force communications across an https connection for security, or via http for open communications
  • date/time 170 e.g., company 171, relevance 172, products 173, advertisements 174, people 175, multimedia formats (e.g., audio, pictures, video, etc.) 176, related materials (e.g., articles, businesses, news, products, recommendations, etc.
  • constraints and/or conditions may be employed in various embodiments and may further include language, price, accessibility (e.g., only pages that don't require subscriptions or a login/password), URL/domain/sub-domain name restrictions, top-level domain (e.g., .com, .org, .biz, etc.), restricting and/or ordering by number of links on page, restricting and/or ordering by popularity/hits, reputation, alphabetical restrictions and/or ordering, chronological restrictions and/or ordering, and/or the like.
  • constraints and/or conditions may be exclusionary, in the sense that web pages containing a particular tag or feature may be excluded from the search results. For example, a user interested in the city of Birmingham, England may enter a search query of "Birmingham" and exclude web pages associated with the state of Alabama.
  • constraints types are selected (and the constraint types are populated with items) from an ontology related to a users search terms as identified by an artificial search engine as discussed in Patent Cooperation Treaty patent application serial no. PCT/201720545 filed June 10, 2005, entitled "APPARATUS,
  • AI search engine ontologies provide multiple dimensions of information association clusters and outlying and/or related associations.
  • the result data set returned from the server will include not only a set of documents, but also the values that may be selected in each of the navigators derived from that particular result set.
  • the values that may be selected in each of the navigators derived from that particular result set For example, one query for "maple syrup” may include only the states of Maine, Massachusetts and New York as the selectable values in the locality navigator.
  • a different query for "alligators” may include only the states of Florida, Georgia and Alabama.
  • the available navigators themselves may be determined by the result data set returned from the server in response to a user query.
  • search results 140, 150 are narrowed to those results relating to and/or emanating from China 141, 155.
  • the search navigator 120 provides supplementary query token items that are sent to the server, which in turn returns more focused results.
  • the search navigator supplementary tokens are combined with the original search query to generate a new query, the results of which are presented to the user.
  • a navigator menu when a navigator menu is selected, it triggers a Javascript function to generate and populate a more meaningful query for the user.
  • This function causes the sending of a navigator augmented/constructed query to the server (e.g., search engine).
  • the search engine will produce a new and more meaningful search result.
  • that triggered Javascript may look as follows:
  • the navigator 120 is implemented with Javascript and/or AJAX related implementation components, and the refinement is processed right on the user's client with a set of query results data stored in the computers memory. For example, a user might select results using only a certain language the Javascript would target filter out search results in the already returned HTML to only display search results tagged with the selected language type. When this occurs locally on the client, you can rearrange and "slice and dice" the results without repeating the relatively more time/resource expensive server request.
  • One user advantage to employing the navigators users can cause a refined search without entering a query or hitting enter; they simply select a navigator and they are done.
  • the navigator takes over with a significantly more agile, complex, targeted and refined search query.
  • the navigators allow users to create very complex queries without needing to laboriously type out such queries, or more importantly, obviating the users' need to learn and/or understand complex query constructs, syntaxes and languages. This is particularly valuable in areas where manual data entry (e.g., typing) is not practical, such as in mobile devices, touch screen devices, and/or other areas where input mechanisms are limited or difficult to use.
  • navigators As a result of interacting with the navigators, users may re-prioritize search results based on selected indicia. As a consequence, the navigators allow users to "slice and dice" information from different perspectives to make better sense of search results and information. For example, when the navigators are populated based on ontologies supplied by AI search engines responsive to user searches, suddenly users are presented with navigation filters that they may have been have been unable to identify/discern for themselves.
  • the navigators may include a pop-ups for provenance, which thereby provides a new relevant search filters for the users.
  • the ontologies may provide navigator options that are based on associative clusters that are not the result of frequency of use by other users, but instead associative across topic categories. For example, when searching for your own name, e.g., John Doe, a navigator may be populated with a company name that was used by the named person's father, e.g., James Doe. Such ontological navigator aids can greatly enrich searching. As such, the navigators provide tools to users that allow them to enhance the way they might wish to view and filter their own search results.
  • a suite of navigators may be provided, for example, including the following: [0033] Geo Target Your Search - entity extraction on "location" field during indexing.
  • People Search - entity extraction against contact field shows the count available in results set, e.g., Bill Clinton (2).
  • Publisher - identifies and returns top level domain, for example, stripping out "www.” in the navigator result, e.g., nytimes.com displayed.
  • Multi-media search - via format detection stage during indexing that identifies document type. For example, may returns number of results next to document type within this specific navigator, e.g., txt (32).
  • the artificial search engine backend (e.g., Accoona Corp.'s search engine) allows the navigators to dynamically provide greater search filtering options to search users. This allows users to slice and dice the result information into the order and priority that is more meaningful to them.
  • the search token values obtained from the search navigator 120 may be searched against the search engine's index.
  • the search navigator may augment the text being searched for in the index.
  • the search navigator may be used to augment the original text query term by also searching for meta data in the index.
  • the search engine may examine a document that is being indexed for any date stamps or XML tagged date formats. Such indexed values are then available for search by tokens entered into the navigator 120, 170 so that, for example, the searcher may select from the result set only documents that were published within a certain date range.
  • the search engine may examine documents for their media types (audio, video, text), and the search enhancing navigator made available when filtering for a selected media type 176.
  • the search engine may maintain multiple databases that allow for more refined searches.
  • the search engine may employ discrete news, business, maps, product, company info (e.g., Reuters), finance, weather, yellow pages (and other local listings), web, image, price comparison, etc. search indices and/or types of databases.
  • wed data sources, vendors, affiliates and/or databases may include: FAST Web Index, Dun and Bradstreet (U.S. and European business data), Atrix (U.S.
  • the user may limit their searches by employing a database selector widget 115.
  • the search navigator may also be used to dynamically combine the results of searching multiple databases at once.
  • the navigators are parametric (i.e., provide all results between value ranges for a specified parameter), others are algorithmic (i.e., reshuffle the results on the specified method/algorithm), yet others are parametric based on derived/extracted date (i.e., determining types of metadata in a document, so that future searches may be based on the metadata from all documents that contain a type of metadata). These navigators may be used on any combination to further define the required search results.
  • the search navigator may also be used to search against entities extracted as meta-data. For example, as the search engine indexes documents, it checks the text against an entity extraction dictionary. One such dictionary may be a list of people's names.
  • One name on the list may be "Rock Hudson.” If the search engine finds a match for those two words in the document, the document is tagged as containing the entity of name with the value of "Rock Hudson.” This identifies the two words as having a specific meaning, and further differentiates the two words so that they are not confused as being a type of mineral, a body of water or a genre of music.
  • the navigator for name will list all of the name entities found in the result set for that query term. Then, the user employs the navigator to select only documents that contain one or more of the entity name values. For example, for the query term "movies" the user may select from the result set only documents that name "Rock Hudson.”
  • FIGURE 2 is of a screen illustrating another embodiment search- enhancing navigator system.
  • FIGURE 3 illustrates one embodiment of the logic flow for indexing of web sites with navigator values.
  • This process allows the search-enhancing navigator controller to augment a search engine's web site index or indices with additional information (tags) that may be employed by the navigator.
  • tags additional information
  • a web page is opened or accessed, such as via a web crawler, web spider, automatic indexer, bot, worm, and/or the like.
  • the search-enhancing navigator controller checks whether there is any existing page metadata 305 made available by the page itself, such as accompanying XML tags. These may include, for example, date of most recent modification, domain/top-level domain/sub-domain/server/source, security, file format, and/or the like.
  • Page content may be analyzed by a variety of means within embodiments of the present invention.
  • a page's textual content may be analyzed for keyword tag extraction by an intelligent keyword extraction algorithm such as Teragram Enterprise KnowledgeBase Extraction Enhancers.
  • a page's content may be analyzed, indexed, tagged, etc. by an artificial intelligence search engine (e.g., Accoona Corp.'s AI search engine), and ontologies may further enhance the page element tagging.
  • an artificial intelligence search engine e.g., Accoona Corp.'s AI search engine
  • tags are culled from the page at 325.
  • the search-enhancing navigator controller may also check its own store of recorded information regarding the web page for metadata from which to draw tags 330 in an embodiment where the controller maintains and/or actively updates a record of metadata for each webpage based on a variety of criteria that may include, for example, frequency of access, search terms and/or navigator values commonly leading to the page, AJAX- implemented mouse-over detections, and/or the like. If search-enhancing navigator controller web page metadata exists, then tags are culled from that metadata at 335. In an alternative embodiment, the search-enhancing navigator controller may query metadata maintained and updated by the search engine itself. The search enhancing navigator controller may also query whether manual tags are to be entered 340 and, if so, to accept manually entered tags at 345.
  • search-enhancing navigator controller administrators are prompted to enter tags for web pages that lack a sufficient number of tags derived by other means.
  • administrators may manually enter tags for any and all web pages that they choose.
  • users may submit tags for web pages directly to the search- enhancing navigator controller, which collects and analyzes the tags to determine which to include in future search-enhancing navigation. For example, users may enter keywords for a web page and the search- enhancing navigator controller may select a subset of the most frequently repeated keywords as values for a keyword navigator.
  • the accumulated tags for a given web page are persisted 350 for later retrieval and/or use.
  • the creation of a new web page tag will trigger the search-enhancing navigator controller to generate variants of the tag and save them as additional tags for the web page.
  • a web page that has been tagged with "United States of America” should also be tagged with variants such as "U.S.A.”, "America”, “U.S. of A.”, "United States", and/or the like. This may be accomplished, for example, by employing a variant generation rules list.
  • the search-enhancing navigator controller may use the initial tag to search the rules list to find a corresponding set of rules for generating variants of the entered tag.
  • the presence of tag variants increases the likelihood that users will find the web page or pages that they are seeking.
  • variants are not generated for web page tags, but rather for the search-enhancing navigator field values entered by the user.
  • variants are generated both for web page tags and search- enhancing navigator field values.
  • FIGURE 4A illustrates one embodiment of the logic flow for searching web sites based on search-enhanced navigator values.
  • the search engine receives a search query from a user, based on which the search engine's web page index is filtered 405, and an initial set of search results are returned to the user 410. The user may then select a value for a search-enhanced navigator field 415. It should be understood that, though the logic flow in FIGURE 4A is based on the selection of a value for a single search-enhanced navigation field, the process following 415 may simply be repeated for each of multiple search-enhanced navigation field values in an alternative embodiment.
  • the search-enhancing navigator fields made available to a user will depend on and/or be determined by the user's initial search query. This may be accomplished, for example, by maintaining a listing of potential search-enhanced navigator fields and/or field values for each web page in a search engine's page index and then aggregating the listed fields/values for pages resulting from a particular search query.
  • a determination is made as to whether the entered search-enhanced navigator value is derived from a pull-down menu and, thus, pre-formatted. If instead the value is manually entered, then a determination is made as to whether the entered value is acceptable and/or properly formatted for the particular search-enhanced navigator field 425.
  • a manually entered search-enhanced navigator field related to a domain name may be checked to ensure that it does not contain any forbidden characters, that it has a proper hostname structure, top-level domain designation, etc.
  • a particular search-enhanced navigator field that accepts manually entered user values may possess an associated set of formatting rules defining acceptable entries for those values which may be referred to by the search-enhancing navigator controller at this step.
  • This set of formatting rules may also be employed to determine whether automatic reformatting of the user entry is possible 430.
  • an additional set of reformatting rules exists for each search-enhanced navigator field that defines the conditions for replacing an improperly formatted user entry with a similar yet properly formatted value.
  • a user who has accidentally entered "www.bigfatworldofwebsites.cim" for a search-enhanced navigator field restricting the domain name of the search may have his or her entry automatically corrected to "www.bigfatworldofwebsites.com", since the original entry is close to a properly formatted entry except for a single typo in the top-level domain designation that is common enough to be recognized and accounted for by a character-comparing set of reformatting rules in a straightforward embodiment.
  • the user is prompted with a list of possible reformatting selections from which he or she may choose a properly formatted alternative to his or her original entry.
  • an error message is generated and displayed to the user 435.
  • the search- enhanced navigator controller will simply return no results instead of an error message.
  • the search-enhanced navigator controller proceeds with the process of narrowing search results based on the entered value.
  • variations on a user entry may be relevant to achieving the desired restriction of search results. For example, a user who enters "01/1996" in a search-enhanced navigator field specifying a date may also be interested in web pages that are labeled as "1/1996", "January, 1996", “January _, 1996", etc. As another example, a user may enter "John. F.
  • the search-enhanced navigator controller may opt to generate a set of variants based on a user entry in a particular navigator field 443. How these variants are generated will depend on the particular type of search-enhanced navigator field in question and may be defined in the aforementioned set of field format rules, set of field reformatting rules, or in a separate set of field entry variation rules. Variants may include synonyms, homonyms, alternative spellings, abbreviations, alternative formatting, subcategory or supercategory labels, specific instances, language translations, and/or the like.
  • a properly formatted search-enhanced navigator field value is passed to 445 where the search-enhanced navigator controller determines whether the navigator field is of a query type; that is, whether the navigator field value should be combined with the original search query to form a compound query that is passed back to the search engine 450. If not, then the search- enhanced navigator controller determines whether the navigator field is of a metatag type; that is, whether the navigator field value should be used to filter the existing search results by their associated metatags or metadata 460.
  • the search-enhanced navigator controller determines whether the navigator field is of an action type; that is, whether the navigator field value should be used to perform an action (i.e., sort, rearrange, etc.) on the existing search results 475. If this is not the case, then an error message is generated and returned to the user 470.
  • the possible search-enhanced navigator fields will always be associated with a set of predetermined valid categories and thus no error message can be generated. Finally, the narrowed search results are returned for display to the user 480.
  • FIGURE 4B provides a high-level overview for the business search aspect for one embodiment.
  • a search engine homepage 481 such as Accoona Corp.'s
  • a user may enter a query and indicate a "Business” field, or selects a "Business” field. Based on the query and selection of the business field, the business index is queried 482, and if there is a match in the business index, a business search results page is displayed 483 (with additional detail shown in FIGURE 4C). If there is no match, a no results page is displayed 484, and the user may enter a new query.
  • User actions from the displayed business search results page 483 include a user navigating to a selected business profile page 485 and/or client site 486. The user may also refine the search using one or more navigators.
  • FIGURE 4C shows a business search results screen 483 that could be displayed in response to a user business query for "IBM" 491.
  • the page may list 492 company names and for each an associated URL link to the company website and/or business profile page, a location (which may include the city, state/region and/or country of the business), a description (e.g., the "content text" field and/or line of business), an indication if the listing is the HQ, and/or a ticker symbol (and/or DnB logo and/or smiley face) which links to the respective business profile page for the company listed.
  • the business profile page may provide yearly sales figures, number of employees, contact name, phone number, fax number, and/or business description and, in some embodiments, may be available via the user clicking the ticker symbol (and/or DnB logo and/or smiley face).
  • navigators may be provided to allow users to enhance their searches.
  • contextually sensitive navigators 493a-g could be provided after an initial business search.
  • a business type navigator 493a e.g., derived from DnB SIC4 in result set
  • a city navigator 493b e.g., derived from city fields in DnB from result set
  • a state/region navigator 493c (e.g., derived from state fields in DnB from result set) may show the count of available listings according to state/region and a country navigator 493 d may shows the count of available listings according to country within the navigator dropdown.
  • a company revenue navigator 493 e derived from the results set, may show the count of available listings within the navigator dropdown, for example, according to the following format: $0 - $100,000; $100,001 - $500,000; $500,001 - $1,000,000; $1,000,001 - $10,000,000; $10,000,001 - $100,000,000; $100,000,001 - $1 billion; $1 billion - $10 billion; $10 billion or more.
  • a total company employees navigator 493 f may utilize the following format in providing listing: Less than 10; 11 - 50; 51 - 100; 101 - 1,000; 1,001 - 5,000; 5,001 - 10,000; 10,001 - 50,000; 50,001 - 100,000; 100,000 or more.
  • a people mentioned navigator 493g (as described in FIGURE 4A), derived from entity extraction against contact field, may provide a selection of the top people mentioned and counts for the results set.
  • a products and/or comparison navigator 495 may provide a shopping and/or product comparison based on the query and additional user information.
  • a "similar businesses nearby” navigator may be provided.
  • the "similar businesses nearby” navigator runs a Geo and line of business query with relevancy emphasis on lines of business and Geo is relative to the location of the business listing chosen, for example via longitude and latitude parameters.
  • advertising may be combined with such a navigator 496 (e.g., a Hotel Near navigator).
  • Such implementation may also utilize and/or provide map or similar functionality.
  • a navigator may employ "Also Try" technology
  • top results that are not an exact match to a query (e.g., listing the top3 DocVector results). For example, "Also Try” may list the top 3 results from business type (e.g., SIC4) based on count (i.e., 1. highest result, 2. second highest result, 3. next highest result).
  • one of the navigators could employ "Did You
  • query alternatives are found (e.g., using FAST proper name and spell check dictionaries). If the user selects "Did You Mean?", the query alternatives may be presented to the user (e.g., peat moss, pet moss, Pete Mos, Peter Mos, Pete Moss). If the user selects one of the query alternatives, a query is performed using the selected alternative, bringing back results within the web index and returning those results in a web search results page. "Did You Mean?" information may be provided via a Refine Your Search navigator.
  • a navigator may employ "Tell Me About” technology. For example, a query may be passed to answers.com, and if there is a match, a "Tell Me About” drop-down may be shown within the navigator. Within the navigator, answers.com may show the original query and/or expand that query with synonyms. Once the user makes a selection, the user may be sent to answers.com co-branded site within same browser window.
  • a navigator may employ a "Find Similar” mechanism, wherein the query would take the form as follows:
  • a navigator may employ "Business Link" technology wherein two parameters are passed to a business index: DUNS if available and 2. The first three DocVectors for any web document.
  • the query may take the following form:
  • Ranking on Business Search Results pages may be as follows: first show DUNS results then DocVectors, where the default sorting of results is relevancy.
  • a navigator may employ "News Link" technology wherein two parameters are passed to a news index: DUNS if available and 2. The first three DocVectors for any web document.
  • the query may take the following form:
  • Ranking on News Search Results pages may be as follows: first show DUNS results then DocVectors, where the default sorting of results is relevancy. While the above described navigators are described in the context of business searching, they may also be implemented in general searching.
  • FIGURE 5 of the present disclosure illustrates inventive aspects of a search-enhancing navigator controller 501 in a block diagram.
  • the search-enhancing navigator controller 501 may serve to aggregate, process, store, search, serve, identify, instruct, generate, match, and/or facilitate interactions with a computer through search technologies, and/or other related data.
  • CPUs central processing units
  • CPUs use communicative signals to enable various operations. Such communicative signals may be stored and/or transmitted in batches as program and/or data components facilitate desired operations. These stored instruction code signals may engage the CPU circuit components to perform desired operations.
  • a common type of program is a computer operating system, which, commonly, is executed by CPU on a computer; the operating system enables and facilitates users to access and operate computer information technology and resources.
  • Common resources employed in information technology systems include: input and output mechanisms through which data may pass into and out of a computer; memory storage into which data may be saved; and processors by which information may be processed.
  • Information technology systems are used to collect data for later retrieval, analysis, and manipulation, commonly, which is facilitated through a database program.
  • Information technology systems provide interfaces that allow users to access and operate various system components.
  • the search-enhancing navigator controller 501 may be connected to and/or communicate with entities such as, but not limited to: one or more users from user input devices 511; peripheral devices 512; a cryptographic processor device 528; and/or a communications network 513.
  • Networks are commonly thought to comprise the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology.
  • server refers generally to a computer, other device, program, or combination thereof that processes and responds to the requests of remote users across a communications network. Servers serve their information to requesting "clients.”
  • client refers generally to a computer, other device, program, or combination thereof that is capable of processing and making requests and obtaining and processing any responses from servers across a communications network.
  • a computer, other device, program, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a "node.”
  • Networks are generally thought to facilitate the transfer of information from source points to destinations.
  • a node specifically tasked with furthering the passage of information from a source to a destination is commonly called a "router.”
  • There are many forms of networks such as Local Area Networks (LANs), Pico networks, Wide Area Networks (WANs), Wireless Networks (WLANs), etc.
  • LANs Local Area Networks
  • WANs Wide Area Networks
  • WLANs Wireless Networks
  • the Internet is generally accepted as being an interconnection of a multitude of networks whereby remote clients and servers may access and interoperate with one another.
  • the search-enhancing navigator controller 501 may be based on common computer systems that may comprise, but are not limited to, components such as: a computer systemization 502 connected to memory 529.
  • a computer systemization 502 may comprise a clock 530, central processing unit (CPU) 503, a read only memory (ROM) 506, a random access memory (RAM) 505, and/or an interface bus 507, and most frequently, although not necessarily, are all interconnected and/or communicating through a system bus 504.
  • the computer systemization may be connected to an internal power source 586.
  • a cryptographic processor 526 may be connected to the system bus.
  • the system clock typically has a crystal oscillator and provides a base signal.
  • the clock is typically coupled to the system bus and various clock multipliers that will increase or decrease the base operating frequency for other components interconnected in the computer systemization.
  • the clock and various components in a computer systemization drive signals embodying information throughout the system.
  • Such transmission and reception of signals embodying information throughout a computer systemization may be commonly referred to as communications. These communicative signals may further be transmitted, received, and the cause of return and/or reply signal communications beyond the instant computer systemization to: communications networks, input devices, other computer systemizations, peripheral devices, and/or the like.
  • communications networks may be connected directly to one another, connected to the CPU, and/or organized in numerous variations employed as exemplified by various computer systems.
  • the CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests.
  • the CPU may be a microprocessor such as AMD's Athlon, Duron and/or Opteron; IBM and/or Motorola's PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s).
  • the CPU interacts with memory through signal passing through conductive conduits to execute stored signal program code according to conventional data processing techniques. Such signal passing facilitates communication within the search-enhancing navigator controller and beyond through various interfaces. Should processing requirements dictate a greater amount speed, parallel, mainframe and/or super-computer architectures may similarly be employed.Alternatively, should deployment requirements dictate greater portability, smaller Personal Digital Assistants (PDAs) may be employed.
  • PDAs Personal Digital Assistants
  • the power source 586 may be of any standard form for powering small electronic circuit board devices such as the following power cells: alkaline, lithium hydride, lithium ion, lithium polymer, nickel cadmium, solar cells, and/or the like. Other types of AC or DC power sources may be used as well. In the case of solar cells, in one embodiment, the case provides an aperture through which the solar cell may capture photonic energy.
  • the power cell 586 is connected to at least one of the interconnected subsequent components of the search-enhancing navigator thereby providing an electric current to all subsequent components.
  • the power source 586 is connected to the system bus component 504.
  • an outside power source 586 is provided through a connection across the I/O 508 interface. For example, a USB and/or IEEE 1394 connection carries both data and power across the connection and is therefore a suitable source of power.
  • Interface bus(ses) 507 may accept, connect, and/or communicate to a number of interface adapters, conventionally although not necessarily in the form of adapter cards, such as but not limited to: input output interfaces (I/O) 508, storage interfaces 509, network interfaces 510, and/or the like.
  • cryptographic processor interfaces 527 similarly may be connected to the interface bus.
  • the interface bus provides for the communications of interface adapters with one another as well as with other components of the computer systemization.
  • Interface adapters are adapted for a compatible interface bus.
  • Interface adapters conventionally connect to the interface bus via a slot architecture.
  • Conventional slot architectures may be employed, such as, but not limited to: Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA), and/or the like.
  • AGP Accelerated Graphics Port
  • Card Bus Card Bus
  • E Industry Standard Architecture
  • MCA Micro Channel Architecture
  • NuBus NuBus
  • PCI(X) Peripheral Component Interconnect Express
  • PCMCIA Personal Computer Memory Card International Association
  • Storage interfaces 509 may accept, communicate, and/or connect to a number of storage devices such as, but not limited to: storage devices 514, removable disc devices, and/or the like.
  • Storage interfaces may employ connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like.
  • connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like.
  • Network interfaces 510 may accept, communicate, and/or connect to a communications network 513. Through a communications network 113, the search- enhancing navigator controller is accessible through remote clients 533b (e.g., computers with web browsers) by users 533a.
  • Network interfaces may employ connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 802.1 la-x, and/or the like.
  • a communications network may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like.
  • a network interface may be regarded as a specialized form of an input output interface.
  • multiple network interfaces 510 may be used to engage with various communications network types 513. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and/or unicast networks.
  • I/O 508 may accept, communicate, and/or connect to user input devices 511, peripheral devices 512, cryptographic processor devices 528, and/or the like.
  • I/O may employ connection protocols such as, but not limited to: Apple Desktop Bus (ADB); Apple Desktop Connector (ADC); audio: analog, digital, monaural, RCA, stereo, and/or the like; IEEE 1394a-b; infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; serial; USB; video interface: BNC, coaxial, composite, digital, Digital Visual Interface (DVI), RCA, RF antennae, S-Video, VGA, and/or the like; wireless; and/or the like.
  • ADB Apple Desktop Bus
  • ADC Apple Desktop Connector
  • audio analog, digital, monaural, RCA, stereo, and/or the like
  • IEEE 1394a-b infrared
  • joystick keyboard
  • midi optical
  • PC AT PC AT
  • PS/2 parallel
  • radio serial
  • USB video
  • a common output device is a television set 145, which accepts signals from a video interface.
  • a video display which typically comprises a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based monitor with an interface (e.g., DVI circuitry and cable) that accepts signals from a video interface, may be used.
  • the video interface composites information generated by a computer systemization and generates video signals based on the composited information in a video memory frame.
  • the video interface provides the composited video information through a video connection interface that accepts a video display interface (e.g., an RCA composite video connector accepting an RCA composite video cable; a DVI connector accepting a DVI display cable, etc.).
  • User input devices 511 may be card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, mouse (mice), remote controls, retina readers, trackballs, trackpads, and/or the like.
  • Peripheral devices 512 may be connected and/or communicate to I/O and/or other facilities of the like such as network interfaces, storage interfaces, and/or the like.
  • Peripheral devices may be audio devices, cameras, dongles (e.g., for copy protection, ensuring secure transactions with a digital signature, and/or the like), external processors (for added functionality), goggles, microphones, monitors, network interfaces, printers, scanners, storage devices, video devices, video sources, visors, and/or the like.
  • the search-enhancing navigator controller may be embodied as an embedded, dedicated, and/or monitor-less (i.e., headless) device, wherein access would be provided over a network interface connection.
  • Cryptographic units such as, but not limited to, microcontrollers, processors 526, interfaces 527, and/or devices 528 may be attached, and/or communicate with the search-enhancing navigator controller.
  • a MC68HC16 microcontroller commonly manufactured by Motorola Inc., may be used for and/or within cryptographic units. Equivalent microcontrollers and/or processors may also be used.
  • the MC68HC16 microcontroller utilizes a 16-bit multiply-and-accumulate instruction in the 16 MHz configuration and requires less than one second to perform a 512-bit RSA private key operation.
  • Cryptographic units support the authentication of communications from interacting agents, as well as allowing for anonymous transactions.
  • Cryptographic units may also be configured as part of CPU.
  • Other commercially available specialized cryptographic processors include VLSI Technology's 33 MHz 6868 or Semaphore Communications' 40 MHz Roadrunner 184.
  • any mechanization and/or embodiment allowing a processor to affect the storage and/or retrieval of information is regarded as memory 529.
  • memory is a fungible technology and resource, thus, any number of memory embodiments may be employed in lieu of or in concert with one another.
  • the search-enhancing navigator controller and/or a computer systemization may employ various forms of memory 529.
  • a computer systemization may be configured wherein the functionality of on-chip CPU memory (e.g., registers), RAM, ROM, and any other storage devices are provided by a paper punch tape or paper punch card mechanism; of course such an embodiment would result in an extremely slow rate of operation.
  • memory 529 will include ROM 506, RAM 505, and a storage device 514.
  • a storage device 514 may be any conventional computer system storage. Storage devices may include a drum; a (fixed and/or removable) magnetic disk drive; a magneto-optical drive; an optical drive (i.e., CD ROM/RAM/Recordable (R), Rewritable (RW), DVD R/RW, etc.); an array of devices (e.g., Redundant Array of Independent Disks (RAID)); and/or other devices of the like.
  • RAID Redundant Array of Independent Disks
  • the memory 529 may contain a collection of program and/or database components and/or data such as, but not limited to: operating system component(s) 515 (operating system); information server component(s) 516 (information server); user interface component(s) 517 (user interface); Web browser component(s) 518 (Web browser); database(s) 519; mail server component(s) 521; mail client component(s) 522; cryptographic server component(s) 520 (cryptographic server); the search-enhancing navigator component(s) 535; and/or the like (i.e., collectively a component collection). These components may be stored and accessed from the storage devices and/or from storage devices accessible through an interface bus.
  • operating system component(s) 515 operating system
  • information server component(s) 516 information server
  • user interface component(s) 517 user interface
  • Web browser component(s) 518 Web browser
  • database(s) 519 mail server component(s) 521; mail client component(s) 522; cryptographic server component(s) 520
  • non-conventional program components such as those in the component collection, typically, are stored in a local storage device 514, they may also be loaded and/or stored in memory such as: peripheral devices, RAM, remote storage facilities through a communications network, ROM, various forms of memory, and/or the like.
  • the operating system component 515 is an executable program component facilitating the operation of the search-enhancing navigator controller. Typically, the operating system facilitates access of I/O, network interfaces, peripheral devices, storage devices, and/or the like.
  • the operating system may be a highly fault tolerant, scalable, and secure system such as: Apple Macintosh OS X (Server); AT&T Plan 9; Be OS; Unix and Unix and Unix-like system distributions (such as AT&T's UNIX; Berkley Software Distribution (BSD) variations such as FreeBSD, NetBSD, OpenBSD, and/or the like; Linux distributions such as Red Hat, Ubuntu, and/or the like); and/or the like operating systems.
  • Apple Macintosh OS X Server
  • AT&T Plan 9 Be OS
  • Unix and Unix and Unix-like system distributions such as AT&T's UNIX
  • Berkley Software Distribution (BSD) variations such as FreeBSD, NetBSD, OpenBSD, and/or
  • an operating system may communicate to and/or with other components in a component collection, including itself, and/or the like. Most frequently, the operating system communicates with other program components, user interfaces, and/or the like. For example, the operating system may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • the operating system may enable the interaction with communications networks, data, I/O, peripheral devices, program components, memory, user input devices, and/or the like.
  • the operating system may provide communications protocols that allow the search-enhancing navigator controller to communicate with other entities through a communications network 513.
  • Various communication protocols may be used by the search-enhancing navigator controller as a subcarrier transport mechanism for interaction, such as, but not limited to: multicast, TCP/IP, UDP, unicast, and/or the like.
  • An information server component 516 is a stored program component that is executed by a CPU.
  • the information server may be a conventional Internet information server such as, but not limited to Apache Software Foundation's Apache, Microsoft's Internet Information Server, and/or the.
  • the information server may allow for the execution of program components through facilities such as Active Server Page (ASP), ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, Common Gateway Interface (CGI) scripts, Java, JavaScript, Practical Extraction Report Language (PERL), Hypertext Pre-Processor (PHP), pipes, Python, WebObjects, and/or the like.
  • ASP Active Server Page
  • ActiveX ActiveX
  • ANSI Objective-
  • C++ C#
  • CGI Common Gateway Interface
  • Java JavaScript
  • PROL Practical Extraction Report Language
  • PGP Hypertext Pre-Processor
  • the information server may support secure communications protocols such as, but not limited to, File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), messaging protocols (e.g., America Online (AOL) Instant Messenger (AIM), Application Exchange (APEX), ICQ, Internet Relay Chat (IRC), Microsoft Network (MSN) Messenger Service, Presence and Instant Messaging Protocol (PRIM), Internet Engineering Task Force's (IETF's) Session Initiation Protocol (SIP), SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE), open XML-based Extensible Messaging and Presence Protocol (XMPP) (i.e., Jabber or Open Mobile Alliance's (OMA's) Instant Messaging and Presence Service (IMPS)), Yahoo!
  • FTP File Transfer Protocol
  • HTTP HyperText Transfer Protocol
  • HTTPS Secure Hypertext Transfer Protocol
  • SSL Secure Socket Layer
  • messaging protocols e.g., America Online (A
  • the information server provides results in the form of Web pages to Web browsers, and allows for the manipulated generation of the Web pages through interaction with other program components.
  • DNS Domain Name System
  • the information server resolves requests for information at specified locations on the search-enhancing navigator controller based on the remainder of the HTTP request. For example, a request such as http://123.124.125.126/mylnformation.html might have the IP portion of the request "123.124.125.126" resolved by a DNS server to an information server at that IP address; that information server might in turn further parse the http request for the "/my Information.
  • An information server may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the information server communicates with the search-enhancing navigator database 519, operating systems, other program components, user interfaces, Web browsers, and/or the like.
  • Access to the search-enhancing navigator database may be achieved through a number of database bridge mechanisms such as through scripting languages as enumerated below (e.g., CGI) and through inter-application communication channels as enumerated below (e.g., CORBA, WebObjects, etc.). Any data requests through a Web browser are parsed through the bridge mechanism into appropriate grammars as required by the Search-enhancing navigator.
  • the information server would provide a Web form accessible by a Web browser. Entries made into supplied fields in the Web form are tagged as having been entered into the particular fields, and parsed as such. The entered terms are then passed along with the field tags, which act to instruct the parser to generate queries directed to appropriate tables and/or fields.
  • the parser may generate queries in standard SQL by instantiating a search string with the proper join/select commands based on the tagged text entries, wherein the resulting command is provided over the bridge mechanism to the search-enhancing navigator as a query.
  • the results are passed over the bridge mechanism, and may be parsed for formatting and generation of a new results Web page by the bridge mechanism. Such a new results Web page is then provided to the information server, which may supply it to the requesting Web browser.
  • an information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • Automobile operation interface elements such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, functionality, and status.
  • Computer interaction interface elements such as check boxes, cursors, menus, scrollers, and windows (collectively and commonly referred to as widgets) similarly facilitate the access, operation, and display of data and computer hardware and operating system resources, functionality, and status. Operation interfaces are commonly called user interfaces.
  • GUIs Graphical user interfaces
  • GUIs such as the Apple Macintosh Operating System's Aqua, IBM's OS/2, Microsoft's Windows 2000/2003/3.1/95/98/CE/Millenium/NT/Vista (i.e., Aero)/XP, or Unix's X- Windows (e.g., which may include additional Unix graphic interface libraries and layers such as K Desktop Environment (KDE), mythTV and GNU Network Object Model Environment (GNOME)), provide a baseline and means of accessing and displaying information graphically to users.
  • KDE K Desktop Environment
  • GNOME GNU Network Object Model Environment
  • a user interface component 517 is a stored program component that is executed by a CPU.
  • the user interface may be a conventional graphic user interface as provided by, with, and/or atop operating systems and/or operating environments such as already discussed.
  • the user interface may allow for the display, execution, interaction, manipulation, and/or operation of program components and/or system facilities through textual and/or graphical facilities.
  • the user interface provides a facility through which users may affect, interact, and/or operate a computer system.
  • a user interface may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the user interface communicates with operating systems, other program components, and/or the like.
  • the user interface may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • a Web browser component 518 is a stored program component that is executed by a CPU.
  • the Web browser may be a conventional hypertext viewing application such as Microsoft Internet Explorer or Netscape Navigator. Secure Web browsing may be supplied with 128bit (or greater) encryption by way of HTTPS, SSL, and/or the like.
  • Some Web browsers allow for the execution of program components through facilities such as Java, JavaScript, ActiveX, web browser plug-in APIs (e.g., FireFox, Safari Plug-in, and/or the like APIs), and/or the like.
  • Web browsers and like information access tools may be integrated into PDAs, cellular telephones, and/or other mobile devices.
  • a Web browser may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the Web browser communicates with information servers, operating systems, integrated program components (e.g., plug-ins), and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • information servers operating systems, integrated program components (e.g., plug-ins), and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • a combined application may be developed to perform similar functions of both. The combined application would similarly affect the obtaining and the provision of information to users, user agents, and/or the like from the search-enhancing navigator enabled nodes.
  • the combined application may be nugatory on systems employing standard Web browsers.
  • a mail server component 521 is a stored program component that is executed by a CPU 503.
  • the mail server may be a conventional Internet mail server such as, but not limited to sendmail, Microsoft Exchange, and/or the.
  • the mail server may allow for the execution of program components through facilities such as ASP, ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, CGI scripts, Java, JavaScript, PERL, PHP, pipes, Python, WebObjects, and/or the like.
  • the mail server may support communications protocols such as, but not limited to: Internet message access protocol (IMAP), Messaging Application Programming Interface (MAPI)/Microsoft Exchange, post office protocol (POP3), simple mail transfer protocol (SMTP), and/or the like.
  • the mail server can route, forward, and process incoming and outgoing mail messages that have been sent, relayed and/or otherwise traversing through and/or to the search-enhancing navigator.
  • Access to the search-enhancing navigator mail may be achieved through a number of APIs offered by the individual Web server components and/or the operating system.
  • a mail server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.
  • a mail client component 522 is a stored program component that is executed by a CPU 503.
  • the mail client may be a conventional mail viewing application such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla, Thunderbird, and/or the like.
  • Mail clients may support a number of transfer protocols, such as: IMAP, Microsoft Exchange, POP3, SMTP, and/or the like.
  • a mail client may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like.
  • the mail client communicates with mail servers, operating systems, other mail clients, and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.
  • the mail client provides a facility to compose and transmit electronic mail messages.
  • a cryptographic server component 520 is a stored program component that is executed by a CPU 503, cryptographic processor 526, cryptographic processor interface 527, cryptographic processor device 528, and/or the like.
  • Cryptographic processor interfaces will allow for expedition of encryption and/or decryption requests by the cryptographic component; however, the cryptographic component, alternatively, may run on a conventional CPU.
  • the cryptographic component allows for the encryption and/or decryption of provided data.
  • the cryptographic component allows for both symmetric and asymmetric (e.g., Pretty Good Protection (PGP)) encryption and/or decryption.
  • PGP Pretty Good Protection
  • the cryptographic component may employ cryptographic techniques such as, but not limited to: digital certificates (e.g., X.509 authentication framework), digital signatures, dual signatures, enveloping, password access protection, public key management, and/or the like.
  • the cryptographic component will facilitate numerous (encryption and/or decryption) security protocols such as, but not limited to: checksum, Data Encryption Standard (DES), Elliptical Curve Encryption (ECC), International Data Encryption Algorithm (IDEA), Message Digest 5 (MD5, which is a one way hash function), passwords, Rivest Cipher (RC5), Rijndael, RSA (which is an Internet encryption and authentication system that uses an algorithm developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman), Secure Hash Algorithm (SHA), Secure Socket Layer (SSL), Secure Hypertext Transfer Protocol (HTTPS), and/or the like.
  • digital certificates e.g., X.509 authentication
  • the search-enhancing navigator may encrypt all incoming and/or outgoing communications and may serve as node within a virtual private network (VPN) with a wider communications network.
  • the cryptographic component facilitates the process of "security authorization" whereby access to a resource is inhibited by a security protocol wherein the cryptographic component effects authorized access to the secured resource.
  • the cryptographic component may provide unique identifiers of content, e.g., employing and MD5 hash to obtain a unique signature for an digital audio file.
  • a cryptographic component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like.
  • the cryptographic component supports encryption schemes allowing for the secure transmission of information across a communications network to enable the search-enhancing navigator component to engage in secure transactions if so desired.
  • the cryptographic component facilitates the secure accessing of resources on the search- enhancing navigator and facilitates the access of secured resources on remote systems; i.e., it may act as a client and/or server of secured resources.
  • the cryptographic component communicates with information servers, operating systems, other program components, and/or the like.
  • the cryptographic component may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • the search-enhancing navigator database component 519 may be embodied in a database and its stored data.
  • the database is a stored program component, which is executed by the CPU; the stored program component portion configuring the CPU to process the stored data.
  • the database may be a conventional, fault tolerant, relational, scalable, secure database such as Oracle or Sybase.
  • Relational databases are an extension of a flat file. Relational databases consist of a series of related tables. The tables are interconnected via a key field. Use of the key field allows the combination of the tables by indexing against the key field; i.e., the key fields act as dimensional pivot points for combining information from various tables. Relationships generally identify links maintained between tables by matching primary keys. Primary keys represent fields that uniquely identify the rows of a table in a relational database. More precisely, they uniquely identify rows of a table on the "one" side of a one-to-many relationship.
  • the search-enhancing navigator database may be implemented using various standard data-structures, such as an array, hash, (linked) list, struct, structured text file (e.g., XML), table, and/or the like. Such data-structures may be stored in memory and/or in (structured) files.
  • an object-oriented database may be used, such as Frontier, ObjectStore, Poet, Zope, and/or the like.
  • Object databases can include a number of object collections that are grouped and/or linked together by common attributes; they may be related to other object collections by some common attributes.
  • Object-oriented databases perform similarly to relational databases with the exception that objects are not just pieces of data but may have other types of functionality encapsulated within a given object.
  • the search-enhancing navigator database is implemented as a data-structure, the use of the search-enhancing navigator database 519 may be integrated into another component such as the search-enhancing navigator component 535.
  • the database may be implemented as a mix of data structures, objects, and relational structures. Databases may be consolidated and/or distributed in countless variations through standard data processing techniques. Portions of databases, e.g., tables, may be exported and/or imported and thus decentralized and/or integrated.
  • the database component 519 includes several tables 519a-e.
  • a users table 519a includes fields such as, but not limited to: a user name, email address, address, profile, user id, and/or the like. The user table may support and/or track multiple entity accounts on a search-enhancing navigator.
  • An application table 519b includes fields such as, but not limited to: application id, settings id (provides ability to have specific settings per application), and/or the like.
  • a settings table 519c includes fields such as, but not limited to: settings id, application id, and/or the like.
  • a language translation 519d includes fields such as, but not limited to: language id, translation id, and/or the like.
  • a news table 119e includes fields such as, but not limited to: news feed id, news item id, and/or the like.
  • a business table 119f includes fields such as, but not limited to: company id, contact info id, and/or the like.
  • a web table H9g includes fields such as, but not limited to: identifier id (e.g., web address, digital object identifier, etc.), source id, date, and/or the like.
  • the search-enhancing navigator database may interact with other database systems. For example, employing a distributed database system, queries and data access by search navigator component may treat the combination of the search-enhancing navigator database, an integrated data security layer database as a single database entity.
  • user programs may contain various user interface primitives, which may serve to update the search-enhancing navigator.
  • various accounts may require custom database tables depending upon the environments and the types of clients the search-enhancing navigator may need to serve. It should be noted that any unique fields may be designated as a key field throughout.
  • these tables have been decentralized into their own databases and their respective database controllers (i.e., individual database controllers for each of the above tables). Employing standard data processing techniques, one may further distribute the databases over several computer systemizations and/or storage devices. Similarly, configurations of the decentralized database controllers may be varied by consolidating and/or distributing the various database components 519a-e.
  • the search-enhancing navigator may be configured to keep track of various settings, inputs, and parameters via database controllers.
  • the search-enhancing navigator database may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the search-enhancing navigator database communicates with the search- enhancing navigator component, other program components, and/or the like.
  • the database may contain, retain, and provide information regarding other nodes and data.
  • the search-enhancing navigator component 535 is a stored program component that is executed by a CPU.
  • the search-enhancing navigator component incorporates any and/or all combinations of the aspects of the search-enhancing navigator that was discussed in the previous figures. As such, the search-enhancing navigator affects accessing, obtaining and the provision of information, services, transactions, and/or the like across various communications networks.
  • the search-enhancing navigator component enables the generation, display and use a search-enhancing navigator.
  • the search-enhancing navigator component enabling access of information between nodes may be developed by employing standard development tools and languages such as, but not limited to: Apache components, Assembly, ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or .NET, database adapters, CGI scripts, Java, JavaScript, mapping tools, procedural and object oriented development tools, PERL, PHP, Python, shell scripts, SQL commands, web application server extensions, WebObjects, and/or the like.
  • the search-enhancing navigator server employs a cryptographic server to encrypt and decrypt communications.
  • the search- enhancing navigator component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like.
  • search-enhancing navigator component communicates with the search-enhancing navigator database, operating systems, other program components, and/or the like.
  • the search-enhancing navigator may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • any of the search-enhancing navigator node controller components may be combined, consolidated, and/or distributed in any number of ways to facilitate development and/or deployment.
  • the component collection may be combined in any number of ways to facilitate deployment and/or development. To accomplish this, one may integrate the components into a common code base or in a facility that can dynamically load the components on demand in an integrated fashion.
  • the component collection may be consolidated and/or distributed in countless variations through standard data processing and/or development techniques. Multiple instances of any one of the program components in the program component collection may be instantiated on a single node, and/or across numerous nodes to improve performance through load-balancing and/or data-processing techniques. Furthermore, single instances may also be distributed across multiple controllers and/or storage devices; e.g., databases. All program component instances and controllers working in concert may do so through standard data processing communication techniques. [00101 ] The configuration of the search-enhancing navigator controller will depend on the context of system deployment. Factors such as, but not limited to, the budget, capacity, location, and/or use of the underlying hardware resources may affect deployment requirements and configuration.
  • data may be communicated, obtained, and/or provided.
  • Instances of components consolidated into a common code base from the program component collection may communicate, obtain, and/or provide data. This may be accomplished through intra-application data processing communication techniques such as, but not limited to: data referencing (e.g., pointers), internal messaging, object instance variable communication, shared memory space, variable passing, and/or the like.
  • component collection components are discrete, separate, and/or external to one another, then communicating, obtaining, and/or providing data with and/or to other component components may be accomplished through inter-application data processing communication techniques such as, but not limited to: Application Program Interfaces (API) information passage; (distributed) Component Object Model ((D)COM), (Distributed) Object Linking and Embedding ((D)OLE), and/or the like), Common Object Request Broker Architecture (CORBA), local and remote application program interfaces Jini, Remote Method Invocation (RMI), process pipes, shared files, and/or the like.
  • API Application Program Interfaces
  • DCOM Component Object Model
  • D Distributed) Object Linking and Embedding
  • CORBA Common Object Request Broker Architecture
  • Jini Remote Method Invocation
  • RMI Remote Method Invocation
  • a grammar may be developed by using standard development tools such as lex, yacc, XML, and/or the like, which allow for grammar generation and parsing functionality, which in turn may form the basis of communication messages within and between components. Again, the configuration will depend upon the context of system deployment.

Abstract

The disclosure details the implementation of an apparatuses, methods, and systems to generate, display and use a search-enhancing navigator. The disclosure teaches a search-enhancing navigator, which provides a straightforward, unified, and modular interface having allow users to dynamically augment their search results to be more focused. In one embodiment, the search-enhancing navigator provides search capabilities of the World Wide Web and uses a business information database, a database receiving news feeds, language translation databases, and a desktop search companion. For example, the search-enhancing navigator would allow a user to focus on search results emanating from a specified country by selecting a desired country from a navigator pop-up list. As such, the search-enhancing navigator provides a mechanism allowing a broader audience to better interface and interact with various computer systems. By including such search-enhancing components, the search-enhancing navigator will allow more members of society to make greater use of facilities such as Accoona Corp.'s search site.

Description

APPARATUSES, METHODS AND SYSTEMS FOR A SEARCH- ENHANCING NAVIGATOR
RELATED APPLICATIONS [0001 ] Applicant hereby claims priority under 35 USC §119 for United States provisional patent application serial no. 60/805,698 filed June 23, 2006, entitled "APPARATUSES, METHODS AND SYSTEMS FOR GENERATE DISPLAY AND USE A SEARCH ENHANCING NAVIGATOR."
[0002] Applicant hereby claims priority under 35 USC §119 for United States provisional patent application serial no. 60/793,871 filed April 20, 2006, entitled "APPARATUS, METHODS, AND SYSTEMS TO GENERATE, DISPLAY AND USE A VOICE-ENABLED TOOLBAR."
[0003 ] Applicant hereby claims priority for Patent Cooperation Treaty patent application serial no. PCT/US06/13873 filed April 12, 2006, entitled "APPARATUS, METHOD AND SYSTEM TO IDENTIFY, GENERATE, AND AGGREGATE QUALIFIED SALES AND MARKETING LEADS FOR DISTRIBUTION VIA ONLINE COMPETITIVE BIDDING SYSTEM."
[0004] Applicant hereby claims priority for Patent Cooperation Treaty patent application serial no. PCT/05/20545 filed June 10, 2005, entitled "APPARATUS, METHOD AND SYSTEM OF ARTIFICIAL INTELLIGENCE FOR DATA SEARCHING."
[0005] The entire contents of the aforementioned applications are herein expressly incorporated by reference. FIELD
[0006] The present invention is directed generally to an apparatuses, methods, and systems of user interface, and more particularly, to apparatuses, methods and systems to generate display and use search-enhancing user interfaces.
BACKGROUND
[0007] Current user interfaces allow for the entry of search tokens into one or more text fields that are used to form a query that are used to query a database and return search results to the user. The tokens are typically sent to a server that forms the query, and the server will return a static list that allows the user to select search result links and navigate to a desired search result.
SUMMARY
[0008] Current search user interfaces accept text input and provide lists of results.
Users may review the list and page forward through the list of results until they find the result they are looking for, or they can change the text input and perform a new search hoping for a better set of results. Users of current search results lists are limited to viewing the first set of N results no matter how many results are identified as relevant by the search engine.
[0009] While "power searchers" may refine their search using advanced search syntax (adding operators such as AND or OR to the query term) or advanced search interfaces, these features are difficult to access or use. Furthermore, unlike the disclosed inventions, current search engines do not expose all meta data available for searching or for the sorting of result sets; nor do current search engines add extracted meta data to the data sets. [0010] In sum, current user interfaces do not provide a straightforward, unified, and modular interface interacting with web search activities. As more and more information is placed on the web, and as more and more news and business entities make their information available on the internet, the conventional method of supplying search tokens and reading results is stifling potential user productivity gains. .
[0011 ] As such, this disclosure details a search-enhancing navigator that provides search capabilities of the World Wide Web or any other data source such as a business information database, a database receiving news feeds, language translation databases. In one embodiment, voice input and output facilities may be integrated. As such, the search- enhancing navigator provides a mechanism allowing a broader audience to better interface and interact with various large and complex data sets.
[0012] By including such search-enhancing components, a search-enhancing navigator will allow the construction and maintenance of a comprehensive web index able to offer enriched content to a wide audience. In one embodiment, by providing these advantages to users, the search enhancing navigator may be utilized to monetize user interactions (e.g., via pay-per-click (PPC), banner and sponsorship advertisements), drive users to other content areas (such as business, news and the like), and/or attract search partners, empower members of society to make use of facilities such as Accoona Corp.'s search site as well as increasing its presence in other sectors that may also make use of search-enhancing navigator technology.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying appendices and/or drawings illustrate various non- limiting, example, inventive aspects in accordance with the present disclosure: [0014] FIGURE 1 is of a block diagram illustrating an search-enhancing navigator system;
[0015] FIGURE 2 is of a screen illustrating an search-enhancing navigator system;
[0016] FIGURE 3 is of the logic flow in one embodiment of web site token indexing;
[0017] FIGURE 4A is of the logic flow in one embodiment of search-enhancing navigation;
[0018] FIGURE 4B is a high level overview of business search for an embodiment of search-enhancing navigation;
[0019] FIGURE 4C is of a screen illustrating an aspect of business search for one implementation of the search-enhancing navigator system;
[0020] FIGURE 5 is of a block diagram illustrating embodiments of the present invention of an search-enhancing navigator controller;
[0021 ] The leading number of each reference number within the drawings indicates the figure in which that reference number is introduced and/or detailed. As such, a detailed discussion of reference number 101 would be found and/or introduced in Figure 1. Reference number 201 is introduced in Figure 2, etc.
DETAILED DESCRIPTION
SEARCH-ENHANCING NAVIGATOR
[0022] FIGURE 1 is of a block diagram illustrating a search-enhancing navigator system. It shows a web browser 105 allowing a user to enter a web address in an address text box 107. The web browser is showing a web page 140 at a search web site that is navigator enabled 120. A user may enter a search term in the search box 110. In one embodiment, the user may enter numerous terms in numerous text boxes as part of an advanced search option. Upon submitting the search, search results are presented on the web page 140.
[0023] Also, a search-enhancing navigator 120 is presented to the user that allows the user to dynamically refine or change the query or resort or filter search results. The navigator allows a user to limit or rearrange search results based on various constraints or conditions that may be selected from user interface widgets. In one embodiment, a panel of pop-up menus allows the user to either select predefined constraints, or to enter their own. It should be noted that the position and appearance of the navigator may be changed; for example, in one embodiment, the navigator may be horizontally positioned at the top or bottom of the web page. Constraints and/or conditions may include security (e.g., this would force communications across an https connection for security, or via http for open communications) 145, date/time 170, company 171, relevance 172, products 173, advertisements 174, people 175, multimedia formats (e.g., audio, pictures, video, etc.) 176, related materials (e.g., articles, businesses, news, products, recommendations, etc.) 177, sources (e.g., publishers, governments, companies, etc.) 178, locality (e.g., address, state, zip code, geocode, etc.) 179, country 125, and/or the like. Other constraints and/or conditions may be employed in various embodiments and may further include language, price, accessibility (e.g., only pages that don't require subscriptions or a login/password), URL/domain/sub-domain name restrictions, top-level domain (e.g., .com, .org, .biz, etc.), restricting and/or ordering by number of links on page, restricting and/or ordering by popularity/hits, reputation, alphabetical restrictions and/or ordering, chronological restrictions and/or ordering, and/or the like. In some embodiments, constraints and/or conditions may be exclusionary, in the sense that web pages containing a particular tag or feature may be excluded from the search results. For example, a user interested in the city of Birmingham, England may enter a search query of "Birmingham" and exclude web pages associated with the state of Alabama.
[0024] In one embodiment, such constraints types are selected (and the constraint types are populated with items) from an ontology related to a users search terms as identified by an artificial search engine as discussed in Patent Cooperation Treaty patent application serial no. PCT/05/20545 filed June 10, 2005, entitled "APPARATUS,
METHOD AND SYSTEM OF ARTIFICIAL INTELLIGENCE FOR DATA
SEARCHING" and Patent Cooperation Treaty patent application serial no. PCT/US06/13873 filed April 12, 2006, entitled "APPARATUS, METHOD AND
SYSTEM TO IDENTIFY, GENERATE, AND AGGREGATE QUALIFIED SALES
AND MARKETING LEADS FOR DISTRIBUTION VIA ONLINE COMPETITIVE
BIDDING SYSTEM," both, herein incorporated by reference. This dynamic selection and population of the navigators by an AI based search engine's ontology allows for constant refinement of tools to help users to "slice and dice" through search results and/or to further refine their searching. Such AI search engine ontologies provide multiple dimensions of information association clusters and outlying and/or related associations.
[0025] For some search-enhancing navigators, as the user performs the query, the result data set returned from the server will include not only a set of documents, but also the values that may be selected in each of the navigators derived from that particular result set. For example, one query for "maple syrup" may include only the states of Maine, Massachusetts and New York as the selectable values in the locality navigator. A different query for "alligators" may include only the states of Florida, Georgia and Alabama. In another embodiment, the available navigators themselves may be determined by the result data set returned from the server in response to a user query.
[0026] As users make selections and/or entries in the search navigator, the user will be presented with different search results. For example, by changing the focus of country origin for a given query term from all countries 125 to, e.g., China 130, the search results 140, 150 are narrowed to those results relating to and/or emanating from China 141, 155.
[0027] This focusing on results may happen in a number of ways. For example, navigators may invoke both client side and server side interactions. In one embodiment, the search navigator 120 provides supplementary query token items that are sent to the server, which in turn returns more focused results. In another embodiment, the search navigator supplementary tokens are combined with the original search query to generate a new query, the results of which are presented to the user. For example, in one non- limiting embodiment, when a navigator menu is selected, it triggers a Javascript function to generate and populate a more meaningful query for the user. This function causes the sending of a navigator augmented/constructed query to the server (e.g., search engine). As a result of the supplied navigator augmented/constructed query, the search engine will produce a new and more meaningful search result. In one non-limiting embodiment, that triggered Javascript may look as follows:
<α nαme="thenews"></α><div id="mαinnews" style="disρlαy : nonε ; "x/div> <script> document .getElementById("mαinnews") . innerHTML = document .getElementById("collαpsednews") • innerHTML; function moreResultsNewsO { if (toggleNews == 0) {
document .location. replace("http://www.accoona . com/search?col= mc&expw=l&expb=0&expn=0&sh_campaign=&pg=l&order=0&qc=us&ql=en&qt= daniel+doman");
} else {
document .location. replace("http://www.accoona . com/search?col= mc&expw=l&expb=0&expn=0&sh_campaign=&pg=l&order=0&qc=us&ql=en&qt= daniel+doman");
} }
</script>
[0028] As can be seen from above, the document, location.replace query string is significantly more complex, intricate and capable than any query an average user would likely be able to construct themselves. As a consequence, interacting with the navigator will result in a query that is far more intricate, complex, and accurate than any user could reasonably be expected to make themselves.
[0029] In another embodiment, the navigator 120 is implemented with Javascript and/or AJAX related implementation components, and the refinement is processed right on the user's client with a set of query results data stored in the computers memory. For example, a user might select results using only a certain language the Javascript would target filter out search results in the already returned HTML to only display search results tagged with the selected language type. When this occurs locally on the client, you can rearrange and "slice and dice" the results without repeating the relatively more time/resource expensive server request.
[0030] One user advantage to employing the navigators, users can cause a refined search without entering a query or hitting enter; they simply select a navigator and they are done. The navigator takes over with a significantly more agile, complex, targeted and refined search query. As such, the navigators allow users to create very complex queries without needing to laboriously type out such queries, or more importantly, obviating the users' need to learn and/or understand complex query constructs, syntaxes and languages. This is particularly valuable in areas where manual data entry (e.g., typing) is not practical, such as in mobile devices, touch screen devices, and/or other areas where input mechanisms are limited or difficult to use.
[0031 ] As a result of interacting with the navigators, users may re-prioritize search results based on selected indicia. As a consequence, the navigators allow users to "slice and dice" information from different perspectives to make better sense of search results and information. For example, when the navigators are populated based on ontologies supplied by AI search engines responsive to user searches, suddenly users are presented with navigation filters that they may have been have been unable to identify/discern for themselves. For example, when expert users look for art they may be interested criteria unknown to amateurs (e.g., provenance); yet, as ontologies are built to associate provenance with artwork, when an amateur user searches for art, the navigators may include a pop-ups for provenance, which thereby provides a new relevant search filters for the users. In other cases, the ontologies may provide navigator options that are based on associative clusters that are not the result of frequency of use by other users, but instead associative across topic categories. For example, when searching for your own name, e.g., John Doe, a navigator may be populated with a company name that was used by the named person's father, e.g., James Doe. Such ontological navigator aids can greatly enrich searching. As such, the navigators provide tools to users that allow them to enhance the way they might wish to view and filter their own search results.
[0032] In one embodiment, a suite of navigators may be provided, for example, including the following: [0033] Geo Target Your Search - entity extraction on "location" field during indexing.
[0034] People Search - entity extraction against contact field — shows the count available in results set, e.g., Bill Clinton (2).
[0035] Language - via language detection stage during indexing that identifies primary language and identifies all languages recognized within the document. If this detector cannot recognize the language(s) than the result is matched to the "unknown" field within this specific navigator.
[0036] Publisher - identifies and returns top level domain, for example, stripping out "www." in the navigator result, e.g., nytimes.com displayed.
[0037] Multi-media search - via format detection stage during indexing that identifies document type. For example, may returns number of results next to document type within this specific navigator, e.g., txt (32).
[0038] By matching the right ontology to the right query, the artificial search engine backend (e.g., Accoona Corp.'s search engine) allows the navigators to dynamically provide greater search filtering options to search users. This allows users to slice and dice the result information into the order and priority that is more meaningful to them.
[0039] The search token values obtained from the search navigator 120 may be searched against the search engine's index. In one embodiment, the search navigator may augment the text being searched for in the index. In another embodiment, the search navigator may be used to augment the original text query term by also searching for meta data in the index. For example, the search engine may examine a document that is being indexed for any date stamps or XML tagged date formats. Such indexed values are then available for search by tokens entered into the navigator 120, 170 so that, for example, the searcher may select from the result set only documents that were published within a certain date range. Similarly, the search engine may examine documents for their media types (audio, video, text), and the search enhancing navigator made available when filtering for a selected media type 176.
[0040] It should be noted that in one embodiment, the search engine may maintain multiple databases that allow for more refined searches. For example, the search engine may employ discrete news, business, maps, product, company info (e.g., Reuters), finance, weather, yellow pages (and other local listings), web, image, price comparison, etc. search indices and/or types of databases. In one implementation, wed data sources, vendors, affiliates and/or databases may include: FAST Web Index, Dun and Bradstreet (U.S. and European business data), Atrix (U.S. business data), Infot (Chinese business data), Yahoo/Overture (textual ppc ads), 24/7 real media (graphical ads), Quova (content localization with Geo IP targeting), Exx.com (financial data and charts), Mapquest (maps and directions), Moreover (news aggregator/content), and/or the like. As such, the user may limit their searches by employing a database selector widget 115. Alternatively, the search navigator may also be used to dynamically combine the results of searching multiple databases at once.
[0041 ] It should be noted that some of the navigators are parametric (i.e., provide all results between value ranges for a specified parameter), others are algorithmic (i.e., reshuffle the results on the specified method/algorithm), yet others are parametric based on derived/extracted date (i.e., determining types of metadata in a document, so that future searches may be based on the metadata from all documents that contain a type of metadata). These navigators may be used on any combination to further define the required search results. [0042] The search navigator may also be used to search against entities extracted as meta-data. For example, as the search engine indexes documents, it checks the text against an entity extraction dictionary. One such dictionary may be a list of people's names. One name on the list may be "Rock Hudson." If the search engine finds a match for those two words in the document, the document is tagged as containing the entity of name with the value of "Rock Hudson." This identifies the two words as having a specific meaning, and further differentiates the two words so that they are not confused as being a type of mineral, a body of water or a genre of music. When a user searches for a term, the navigator for name will list all of the name entities found in the result set for that query term. Then, the user employs the navigator to select only documents that contain one or more of the entity name values. For example, for the query term "movies" the user may select from the result set only documents that name "Rock Hudson."
[0043] FIGURE 2 is of a screen illustrating another embodiment search- enhancing navigator system.
[0044] FIGURE 3 illustrates one embodiment of the logic flow for indexing of web sites with navigator values. This process allows the search-enhancing navigator controller to augment a search engine's web site index or indices with additional information (tags) that may be employed by the navigator. At 301, a web page is opened or accessed, such as via a web crawler, web spider, automatic indexer, bot, worm, and/or the like. The search-enhancing navigator controller checks whether there is any existing page metadata 305 made available by the page itself, such as accompanying XML tags. These may include, for example, date of most recent modification, domain/top-level domain/sub-domain/server/source, security, file format, and/or the like. If page metadata exists, it is parsed and appended to the list of tags for that web page. The contents of the page are also analyzed 315, and a determination is made as to whether there exist any extractable tags therein 320. Page content may be analyzed by a variety of means within embodiments of the present invention. For example, in one embodiment, a page's textual content may be analyzed for keyword tag extraction by an intelligent keyword extraction algorithm such as Teragram Enterprise KnowledgeBase Extraction Enhancers. In one embodiment, as has already been mentioned, a page's content may be analyzed, indexed, tagged, etc. by an artificial intelligence search engine (e.g., Accoona Corp.'s AI search engine), and ontologies may further enhance the page element tagging. In other embodiments, for the case of a page containing only pure images, various image analysis procedures may be undertaken, such as OCR, bar code decoding, facial recognition, spectral analysis, etc. Similar analyses may be performed for audio and/or video content. If the search enhancing navigator deems the web page's content suitable for tag extraction based on any of the preceding analyses, then tags are culled from the page at 325. The search-enhancing navigator controller may also check its own store of recorded information regarding the web page for metadata from which to draw tags 330 in an embodiment where the controller maintains and/or actively updates a record of metadata for each webpage based on a variety of criteria that may include, for example, frequency of access, search terms and/or navigator values commonly leading to the page, AJAX- implemented mouse-over detections, and/or the like. If search-enhancing navigator controller web page metadata exists, then tags are culled from that metadata at 335. In an alternative embodiment, the search-enhancing navigator controller may query metadata maintained and updated by the search engine itself. The search enhancing navigator controller may also query whether manual tags are to be entered 340 and, if so, to accept manually entered tags at 345. In one embodiment, search-enhancing navigator controller administrators are prompted to enter tags for web pages that lack a sufficient number of tags derived by other means. In another embodiment, administrators may manually enter tags for any and all web pages that they choose. In yet another embodiment, users may submit tags for web pages directly to the search- enhancing navigator controller, which collects and analyzes the tags to determine which to include in future search-enhancing navigation. For example, users may enter keywords for a web page and the search- enhancing navigator controller may select a subset of the most frequently repeated keywords as values for a keyword navigator. Finally, the accumulated tags for a given web page are persisted 350 for later retrieval and/or use.
[0045] In an alternative embodiment, the creation of a new web page tag will trigger the search-enhancing navigator controller to generate variants of the tag and save them as additional tags for the web page. For example, a web page that has been tagged with "United States of America" should also be tagged with variants such as "U.S.A.", "America", "U.S. of A.", "United States", and/or the like. This may be accomplished, for example, by employing a variant generation rules list. The search-enhancing navigator controller may use the initial tag to search the rules list to find a corresponding set of rules for generating variants of the entered tag. The presence of tag variants increases the likelihood that users will find the web page or pages that they are seeking. In an alternative embodiment that is discussed below, variants are not generated for web page tags, but rather for the search-enhancing navigator field values entered by the user. In still another embodiment, variants are generated both for web page tags and search- enhancing navigator field values.
[0046] FIGURE 4A illustrates one embodiment of the logic flow for searching web sites based on search-enhanced navigator values. At 401, the search engine receives a search query from a user, based on which the search engine's web page index is filtered 405, and an initial set of search results are returned to the user 410. The user may then select a value for a search-enhanced navigator field 415. It should be understood that, though the logic flow in FIGURE 4A is based on the selection of a value for a single search-enhanced navigation field, the process following 415 may simply be repeated for each of multiple search-enhanced navigation field values in an alternative embodiment. In one embodiment, the search-enhancing navigator fields made available to a user will depend on and/or be determined by the user's initial search query. This may be accomplished, for example, by maintaining a listing of potential search-enhanced navigator fields and/or field values for each web page in a search engine's page index and then aggregating the listed fields/values for pages resulting from a particular search query. At 420, a determination is made as to whether the entered search-enhanced navigator value is derived from a pull-down menu and, thus, pre-formatted. If instead the value is manually entered, then a determination is made as to whether the entered value is acceptable and/or properly formatted for the particular search-enhanced navigator field 425. For example, a manually entered search-enhanced navigator field related to a domain name may be checked to ensure that it does not contain any forbidden characters, that it has a proper hostname structure, top-level domain designation, etc. In general, a particular search-enhanced navigator field that accepts manually entered user values may possess an associated set of formatting rules defining acceptable entries for those values which may be referred to by the search-enhancing navigator controller at this step. This set of formatting rules may also be employed to determine whether automatic reformatting of the user entry is possible 430. In one embodiment, an additional set of reformatting rules exists for each search-enhanced navigator field that defines the conditions for replacing an improperly formatted user entry with a similar yet properly formatted value. For example, a user who has accidentally entered "www.bigfatworldofwebsites.cim" for a search-enhanced navigator field restricting the domain name of the search may have his or her entry automatically corrected to "www.bigfatworldofwebsites.com", since the original entry is close to a properly formatted entry except for a single typo in the top-level domain designation that is common enough to be recognized and accounted for by a character-comparing set of reformatting rules in a straightforward embodiment. In one embodiment, the user is prompted with a list of possible reformatting selections from which he or she may choose a properly formatted alternative to his or her original entry. In the event that a properly formatted alternative to the user's entry cannot be established, an error message is generated and displayed to the user 435. In an alternative embodiment, the search- enhanced navigator controller will simply return no results instead of an error message.
[0047] If the user entry may be properly reformatted or if it had been properly formatted in the first place, the search-enhanced navigator controller proceeds with the process of narrowing search results based on the entered value. For certain types of search-enhanced navigator fields, however, variations on a user entry may be relevant to achieving the desired restriction of search results. For example, a user who enters "01/1996" in a search-enhanced navigator field specifying a date may also be interested in web pages that are labeled as "1/1996", "January, 1996", "January _, 1996", etc. As another example, a user may enter "John. F. Kennedy" in a search-enhanced navigator field specifying a person, but may also be interested in pages containing "John Fitzgerald Kennedy", "J.F.K.", "Jack Kennedy", "President Kennedy", and/or other common variants. Consequently, the search-enhanced navigator controller may opt to generate a set of variants based on a user entry in a particular navigator field 443. How these variants are generated will depend on the particular type of search-enhanced navigator field in question and may be defined in the aforementioned set of field format rules, set of field reformatting rules, or in a separate set of field entry variation rules. Variants may include synonyms, homonyms, alternative spellings, abbreviations, alternative formatting, subcategory or supercategory labels, specific instances, language translations, and/or the like.
[0048] A properly formatted search-enhanced navigator field value, possibly accompanied by a set of variants, is passed to 445 where the search-enhanced navigator controller determines whether the navigator field is of a query type; that is, whether the navigator field value should be combined with the original search query to form a compound query that is passed back to the search engine 450. If not, then the search- enhanced navigator controller determines whether the navigator field is of a metatag type; that is, whether the navigator field value should be used to filter the existing search results by their associated metatags or metadata 460. If not, then the search-enhanced navigator controller determines whether the navigator field is of an action type; that is, whether the navigator field value should be used to perform an action (i.e., sort, rearrange, etc.) on the existing search results 475. If this is not the case, then an error message is generated and returned to the user 470. In one embodiment, the possible search-enhanced navigator fields will always be associated with a set of predetermined valid categories and thus no error message can be generated. Finally, the narrowed search results are returned for display to the user 480.
[0049] FIGURE 4B provides a high-level overview for the business search aspect for one embodiment. On a search engine homepage 481 such as Accoona Corp.'s
Artificial Intelligence Search Engine, a user may enter a query and indicate a "Business" field, or selects a "Business" field. Based on the query and selection of the business field, the business index is queried 482, and if there is a match in the business index, a business search results page is displayed 483 (with additional detail shown in FIGURE 4C). If there is no match, a no results page is displayed 484, and the user may enter a new query. User actions from the displayed business search results page 483 include a user navigating to a selected business profile page 485 and/or client site 486. The user may also refine the search using one or more navigators.
[0050] FIGURE 4C shows a business search results screen 483 that could be displayed in response to a user business query for "IBM" 491. The page may list 492 company names and for each an associated URL link to the company website and/or business profile page, a location (which may include the city, state/region and/or country of the business), a description (e.g., the "content text" field and/or line of business), an indication if the listing is the HQ, and/or a ticker symbol (and/or DnB logo and/or smiley face) which links to the respective business profile page for the company listed. The business profile page may provide yearly sales figures, number of employees, contact name, phone number, fax number, and/or business description and, in some embodiments, may be available via the user clicking the ticker symbol (and/or DnB logo and/or smiley face).
[0051 ] As described above, navigators may be provided to allow users to enhance their searches. In one embodiment, contextually sensitive navigators 493a-g could be provided after an initial business search. A business type navigator 493a (e.g., derived from DnB SIC4 in result set) may show the count of available listings within the navigator dropdown according to business type. A city navigator 493b (e.g., derived from city fields in DnB from result set) may show the count of available listings by top cities within the navigator dropdown. A state/region navigator 493c (e.g., derived from state fields in DnB from result set) may show the count of available listings according to state/region and a country navigator 493 d may shows the count of available listings according to country within the navigator dropdown. [0052] A company revenue navigator 493 e, derived from the results set, may show the count of available listings within the navigator dropdown, for example, according to the following format: $0 - $100,000; $100,001 - $500,000; $500,001 - $1,000,000; $1,000,001 - $10,000,000; $10,000,001 - $100,000,000; $100,000,001 - $1 billion; $1 billion - $10 billion; $10 billion or more. Similarly, a total company employees navigator 493 f may utilize the following format in providing listing: Less than 10; 11 - 50; 51 - 100; 101 - 1,000; 1,001 - 5,000; 5,001 - 10,000; 10,001 - 50,000; 50,001 - 100,000; 100,000 or more. A people mentioned navigator 493g (as described in FIGURE 4A), derived from entity extraction against contact field, may provide a selection of the top people mentioned and counts for the results set. A products and/or comparison navigator 495 may provide a shopping and/or product comparison based on the query and additional user information.
[0053] In one embodiment, a "similar businesses nearby" navigator may be provided. In one implementation, the "similar businesses nearby" navigator runs a Geo and line of business query with relevancy emphasis on lines of business and Geo is relative to the location of the business listing chosen, for example via longitude and latitude parameters. In a further embodiment, advertising may be combined with such a navigator 496 (e.g., a Hotel Near navigator). Such implementation may also utilize and/or provide map or similar functionality.
[0054] In another embodiment, a navigator may employ "Also Try" technology
494 to provide the top results that are not an exact match to a query (e.g., listing the top3 DocVector results). For example, "Also Try" may list the top 3 results from business type (e.g., SIC4) based on count (i.e., 1. highest result, 2. second highest result, 3. next highest result). [0055] In another embodiment, one of the navigators could employ "Did You
Mean?" technology. For example, if a user enters a query in search box (e.g., pet mos), query alternatives are found (e.g., using FAST proper name and spell check dictionaries). If the user selects "Did You Mean?", the query alternatives may be presented to the user (e.g., peat moss, pet moss, Pete Mos, Peter Mos, Pete Moss). If the user selects one of the query alternatives, a query is performed using the selected alternative, bringing back results within the web index and returning those results in a web search results page. "Did You Mean?" information may be provided via a Refine Your Search navigator.
[0056] In yet another embodiment, a navigator may employ "Tell Me About" technology. For example, a query may be passed to answers.com, and if there is a match, a "Tell Me About" drop-down may be shown within the navigator. Within the navigator, answers.com may show the original query and/or expand that query with synonyms. Once the user makes a selection, the user may be sent to answers.com co-branded site within same browser window.
[0057] In another embodiment, a navigator may employ a "Find Similar" mechanism, wherein the query would take the form as follows:
Q OR <sl,wl> [OR <sm,wm>]*
[0058] In yet another embodiment, a navigator may employ "Business Link" technology wherein two parameters are passed to a business index: DUNS if available and 2. The first three DocVectors for any web document. The query may take the following form:
Duns OR DocVectorl OR DocVector2 OR DocVector3 If there are no results/matches, users may be sent to a no results page. Ranking on Business Search Results pages may be as follows: first show DUNS results then DocVectors, where the default sorting of results is relevancy.
[0059] In yet another embodiment, a navigator may employ "News Link" technology wherein two parameters are passed to a news index: DUNS if available and 2. The first three DocVectors for any web document. The query may take the following form:
Duns OR DocVectorl OR DocVector2 OR DocVector3
If there are no results/matches, users may be sent to a no results page. Ranking on News Search Results pages may be as follows: first show DUNS results then DocVectors, where the default sorting of results is relevancy. While the above described navigators are described in the context of business searching, they may also be implemented in general searching.
SEARCH-ENHANCING NAVIGATOR CONTROLLER
[0060] FIGURE 5 of the present disclosure illustrates inventive aspects of a search-enhancing navigator controller 501 in a block diagram. In this embodiment, the search-enhancing navigator controller 501 may serve to aggregate, process, store, search, serve, identify, instruct, generate, match, and/or facilitate interactions with a computer through search technologies, and/or other related data.
[0061 ] Typically, users, which may be people and/or other systems, engage information technology systems (e.g., commonly computers) to facilitate information processing. In turn, computers employ processors to process information; such processors are often referred to as central processing units (CPU). A common form of processor is referred to as a microprocessor. CPUs use communicative signals to enable various operations. Such communicative signals may be stored and/or transmitted in batches as program and/or data components facilitate desired operations. These stored instruction code signals may engage the CPU circuit components to perform desired operations. A common type of program is a computer operating system, which, commonly, is executed by CPU on a computer; the operating system enables and facilitates users to access and operate computer information technology and resources. Common resources employed in information technology systems include: input and output mechanisms through which data may pass into and out of a computer; memory storage into which data may be saved; and processors by which information may be processed. Often information technology systems are used to collect data for later retrieval, analysis, and manipulation, commonly, which is facilitated through a database program. Information technology systems provide interfaces that allow users to access and operate various system components.
[0062] In one embodiment, the search-enhancing navigator controller 501 may be connected to and/or communicate with entities such as, but not limited to: one or more users from user input devices 511; peripheral devices 512; a cryptographic processor device 528; and/or a communications network 513.
[0063] Networks are commonly thought to comprise the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology. It should be noted that the term "server" as used throughout this disclosure refers generally to a computer, other device, program, or combination thereof that processes and responds to the requests of remote users across a communications network. Servers serve their information to requesting "clients." The term "client" as used herein refers generally to a computer, other device, program, or combination thereof that is capable of processing and making requests and obtaining and processing any responses from servers across a communications network. A computer, other device, program, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a "node." Networks are generally thought to facilitate the transfer of information from source points to destinations. A node specifically tasked with furthering the passage of information from a source to a destination is commonly called a "router." There are many forms of networks such as Local Area Networks (LANs), Pico networks, Wide Area Networks (WANs), Wireless Networks (WLANs), etc. For example, the Internet is generally accepted as being an interconnection of a multitude of networks whereby remote clients and servers may access and interoperate with one another.
[0064] The search-enhancing navigator controller 501 may be based on common computer systems that may comprise, but are not limited to, components such as: a computer systemization 502 connected to memory 529.
Computer Systemization [0065] A computer systemization 502 may comprise a clock 530, central processing unit (CPU) 503, a read only memory (ROM) 506, a random access memory (RAM) 505, and/or an interface bus 507, and most frequently, although not necessarily, are all interconnected and/or communicating through a system bus 504. Optionally, the computer systemization may be connected to an internal power source 586. Optionally, a cryptographic processor 526 may be connected to the system bus. The system clock typically has a crystal oscillator and provides a base signal. The clock is typically coupled to the system bus and various clock multipliers that will increase or decrease the base operating frequency for other components interconnected in the computer systemization. The clock and various components in a computer systemization drive signals embodying information throughout the system. Such transmission and reception of signals embodying information throughout a computer systemization may be commonly referred to as communications. These communicative signals may further be transmitted, received, and the cause of return and/or reply signal communications beyond the instant computer systemization to: communications networks, input devices, other computer systemizations, peripheral devices, and/or the like. Of course, any of the above components may be connected directly to one another, connected to the CPU, and/or organized in numerous variations employed as exemplified by various computer systems.
[0066] The CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests. The CPU may be a microprocessor such as AMD's Athlon, Duron and/or Opteron; IBM and/or Motorola's PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s). The CPU interacts with memory through signal passing through conductive conduits to execute stored signal program code according to conventional data processing techniques. Such signal passing facilitates communication within the search-enhancing navigator controller and beyond through various interfaces. Should processing requirements dictate a greater amount speed, parallel, mainframe and/or super-computer architectures may similarly be employed.Alternatively, should deployment requirements dictate greater portability, smaller Personal Digital Assistants (PDAs) may be employed.
Power Source
[0067] The power source 586 may be of any standard form for powering small electronic circuit board devices such as the following power cells: alkaline, lithium hydride, lithium ion, lithium polymer, nickel cadmium, solar cells, and/or the like. Other types of AC or DC power sources may be used as well. In the case of solar cells, in one embodiment, the case provides an aperture through which the solar cell may capture photonic energy. The power cell 586 is connected to at least one of the interconnected subsequent components of the search-enhancing navigator thereby providing an electric current to all subsequent components. In one example, the power source 586 is connected to the system bus component 504. In an alternative embodiment, an outside power source 586 is provided through a connection across the I/O 508 interface. For example, a USB and/or IEEE 1394 connection carries both data and power across the connection and is therefore a suitable source of power.
Interface Adapters [0068] Interface bus(ses) 507 may accept, connect, and/or communicate to a number of interface adapters, conventionally although not necessarily in the form of adapter cards, such as but not limited to: input output interfaces (I/O) 508, storage interfaces 509, network interfaces 510, and/or the like. Optionally, cryptographic processor interfaces 527 similarly may be connected to the interface bus. The interface bus provides for the communications of interface adapters with one another as well as with other components of the computer systemization. Interface adapters are adapted for a compatible interface bus. Interface adapters conventionally connect to the interface bus via a slot architecture. Conventional slot architectures may be employed, such as, but not limited to: Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA), and/or the like.
[0069] Storage interfaces 509 may accept, communicate, and/or connect to a number of storage devices such as, but not limited to: storage devices 514, removable disc devices, and/or the like. Storage interfaces may employ connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like.
[0070] Network interfaces 510 may accept, communicate, and/or connect to a communications network 513. Through a communications network 113, the search- enhancing navigator controller is accessible through remote clients 533b (e.g., computers with web browsers) by users 533a. Network interfaces may employ connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 802.1 la-x, and/or the like. A communications network may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like. A network interface may be regarded as a specialized form of an input output interface. Further, multiple network interfaces 510 may be used to engage with various communications network types 513. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and/or unicast networks.
[0071 ] Input Output interfaces (I/O) 508 may accept, communicate, and/or connect to user input devices 511, peripheral devices 512, cryptographic processor devices 528, and/or the like. I/O may employ connection protocols such as, but not limited to: Apple Desktop Bus (ADB); Apple Desktop Connector (ADC); audio: analog, digital, monaural, RCA, stereo, and/or the like; IEEE 1394a-b; infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; serial; USB; video interface: BNC, coaxial, composite, digital, Digital Visual Interface (DVI), RCA, RF antennae, S-Video, VGA, and/or the like; wireless; and/or the like. A common output device is a television set 145, which accepts signals from a video interface. Also, a video display, which typically comprises a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based monitor with an interface (e.g., DVI circuitry and cable) that accepts signals from a video interface, may be used. The video interface composites information generated by a computer systemization and generates video signals based on the composited information in a video memory frame. Typically, the video interface provides the composited video information through a video connection interface that accepts a video display interface (e.g., an RCA composite video connector accepting an RCA composite video cable; a DVI connector accepting a DVI display cable, etc.).
[0072] User input devices 511 may be card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, mouse (mice), remote controls, retina readers, trackballs, trackpads, and/or the like.
[0073] Peripheral devices 512 may be connected and/or communicate to I/O and/or other facilities of the like such as network interfaces, storage interfaces, and/or the like. Peripheral devices may be audio devices, cameras, dongles (e.g., for copy protection, ensuring secure transactions with a digital signature, and/or the like), external processors (for added functionality), goggles, microphones, monitors, network interfaces, printers, scanners, storage devices, video devices, video sources, visors, and/or the like.
[0074] It should be noted that although user input devices and peripheral devices may be employed, the search-enhancing navigator controller may be embodied as an embedded, dedicated, and/or monitor-less (i.e., headless) device, wherein access would be provided over a network interface connection. [0075] Cryptographic units such as, but not limited to, microcontrollers, processors 526, interfaces 527, and/or devices 528 may be attached, and/or communicate with the search-enhancing navigator controller. A MC68HC16 microcontroller, commonly manufactured by Motorola Inc., may be used for and/or within cryptographic units. Equivalent microcontrollers and/or processors may also be used. The MC68HC16 microcontroller utilizes a 16-bit multiply-and-accumulate instruction in the 16 MHz configuration and requires less than one second to perform a 512-bit RSA private key operation. Cryptographic units support the authentication of communications from interacting agents, as well as allowing for anonymous transactions. Cryptographic units may also be configured as part of CPU. Other commercially available specialized cryptographic processors include VLSI Technology's 33 MHz 6868 or Semaphore Communications' 40 MHz Roadrunner 184.
Memory [0076] Generally, any mechanization and/or embodiment allowing a processor to affect the storage and/or retrieval of information is regarded as memory 529. However, memory is a fungible technology and resource, thus, any number of memory embodiments may be employed in lieu of or in concert with one another. It is to be understood that the search-enhancing navigator controller and/or a computer systemization may employ various forms of memory 529. For example, a computer systemization may be configured wherein the functionality of on-chip CPU memory (e.g., registers), RAM, ROM, and any other storage devices are provided by a paper punch tape or paper punch card mechanism; of course such an embodiment would result in an extremely slow rate of operation. In a typical configuration, memory 529 will include ROM 506, RAM 505, and a storage device 514. A storage device 514 may be any conventional computer system storage. Storage devices may include a drum; a (fixed and/or removable) magnetic disk drive; a magneto-optical drive; an optical drive (i.e., CD ROM/RAM/Recordable (R), Rewritable (RW), DVD R/RW, etc.); an array of devices (e.g., Redundant Array of Independent Disks (RAID)); and/or other devices of the like. Thus, a computer systemization generally requires and makes use of memory.
Component Collection
[0077] The memory 529 may contain a collection of program and/or database components and/or data such as, but not limited to: operating system component(s) 515 (operating system); information server component(s) 516 (information server); user interface component(s) 517 (user interface); Web browser component(s) 518 (Web browser); database(s) 519; mail server component(s) 521; mail client component(s) 522; cryptographic server component(s) 520 (cryptographic server); the search-enhancing navigator component(s) 535; and/or the like (i.e., collectively a component collection). These components may be stored and accessed from the storage devices and/or from storage devices accessible through an interface bus. Although non-conventional program components such as those in the component collection, typically, are stored in a local storage device 514, they may also be loaded and/or stored in memory such as: peripheral devices, RAM, remote storage facilities through a communications network, ROM, various forms of memory, and/or the like.
Operating System [0078] The operating system component 515 is an executable program component facilitating the operation of the search-enhancing navigator controller. Typically, the operating system facilitates access of I/O, network interfaces, peripheral devices, storage devices, and/or the like. The operating system may be a highly fault tolerant, scalable, and secure system such as: Apple Macintosh OS X (Server); AT&T Plan 9; Be OS; Unix and Unix and Unix-like system distributions (such as AT&T's UNIX; Berkley Software Distribution (BSD) variations such as FreeBSD, NetBSD, OpenBSD, and/or the like; Linux distributions such as Red Hat, Ubuntu, and/or the like); and/or the like operating systems. However, more limited and/or less secure operating systems also may be employed such as Apple Macintosh OS, IBM OS/2, Microsoft DOS, Microsoft Windows 2000/2003/3.1/95/98/CE/Millenium/NT/Vista/XP (Server), Palm OS, and/or the like. An operating system may communicate to and/or with other components in a component collection, including itself, and/or the like. Most frequently, the operating system communicates with other program components, user interfaces, and/or the like. For example, the operating system may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. The operating system, once executed by the CPU, may enable the interaction with communications networks, data, I/O, peripheral devices, program components, memory, user input devices, and/or the like. The operating system may provide communications protocols that allow the search-enhancing navigator controller to communicate with other entities through a communications network 513. Various communication protocols may be used by the search-enhancing navigator controller as a subcarrier transport mechanism for interaction, such as, but not limited to: multicast, TCP/IP, UDP, unicast, and/or the like.
Information Server [0079] An information server component 516 is a stored program component that is executed by a CPU. The information server may be a conventional Internet information server such as, but not limited to Apache Software Foundation's Apache, Microsoft's Internet Information Server, and/or the. The information server may allow for the execution of program components through facilities such as Active Server Page (ASP), ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, Common Gateway Interface (CGI) scripts, Java, JavaScript, Practical Extraction Report Language (PERL), Hypertext Pre-Processor (PHP), pipes, Python, WebObjects, and/or the like. The information server may support secure communications protocols such as, but not limited to, File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), messaging protocols (e.g., America Online (AOL) Instant Messenger (AIM), Application Exchange (APEX), ICQ, Internet Relay Chat (IRC), Microsoft Network (MSN) Messenger Service, Presence and Instant Messaging Protocol (PRIM), Internet Engineering Task Force's (IETF's) Session Initiation Protocol (SIP), SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE), open XML-based Extensible Messaging and Presence Protocol (XMPP) (i.e., Jabber or Open Mobile Alliance's (OMA's) Instant Messaging and Presence Service (IMPS)), Yahoo! Instant Messenger Service, and/or the like. The information server provides results in the form of Web pages to Web browsers, and allows for the manipulated generation of the Web pages through interaction with other program components. After a Domain Name System (DNS) resolution portion of an HTTP request is resolved to a particular information server, the information server resolves requests for information at specified locations on the search-enhancing navigator controller based on the remainder of the HTTP request. For example, a request such as http://123.124.125.126/mylnformation.html might have the IP portion of the request "123.124.125.126" resolved by a DNS server to an information server at that IP address; that information server might in turn further parse the http request for the "/my Information. html" portion of the request and resolve it to a location in memory containing the information "mylnformation.html." Additionally, other information serving protocols may be employed across various ports, e.g., FTP communications across port 21, and/or the like. An information server may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the information server communicates with the search-enhancing navigator database 519, operating systems, other program components, user interfaces, Web browsers, and/or the like.
[0080] Access to the search-enhancing navigator database may be achieved through a number of database bridge mechanisms such as through scripting languages as enumerated below (e.g., CGI) and through inter-application communication channels as enumerated below (e.g., CORBA, WebObjects, etc.). Any data requests through a Web browser are parsed through the bridge mechanism into appropriate grammars as required by the Search-enhancing navigator. In one embodiment, the information server would provide a Web form accessible by a Web browser. Entries made into supplied fields in the Web form are tagged as having been entered into the particular fields, and parsed as such. The entered terms are then passed along with the field tags, which act to instruct the parser to generate queries directed to appropriate tables and/or fields. In one embodiment, the parser may generate queries in standard SQL by instantiating a search string with the proper join/select commands based on the tagged text entries, wherein the resulting command is provided over the bridge mechanism to the search-enhancing navigator as a query. Upon generating query results from the query, the results are passed over the bridge mechanism, and may be parsed for formatting and generation of a new results Web page by the bridge mechanism. Such a new results Web page is then provided to the information server, which may supply it to the requesting Web browser.
[0081 ] Also, an information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. User Interface
[0082] The function of computer interfaces in some respects is similar to automobile operation interfaces. Automobile operation interface elements such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, functionality, and status. Computer interaction interface elements such as check boxes, cursors, menus, scrollers, and windows (collectively and commonly referred to as widgets) similarly facilitate the access, operation, and display of data and computer hardware and operating system resources, functionality, and status. Operation interfaces are commonly called user interfaces. Graphical user interfaces (GUIs) such as the Apple Macintosh Operating System's Aqua, IBM's OS/2, Microsoft's Windows 2000/2003/3.1/95/98/CE/Millenium/NT/Vista (i.e., Aero)/XP, or Unix's X- Windows (e.g., which may include additional Unix graphic interface libraries and layers such as K Desktop Environment (KDE), mythTV and GNU Network Object Model Environment (GNOME)), provide a baseline and means of accessing and displaying information graphically to users.
[0083] A user interface component 517 is a stored program component that is executed by a CPU. The user interface may be a conventional graphic user interface as provided by, with, and/or atop operating systems and/or operating environments such as already discussed. The user interface may allow for the display, execution, interaction, manipulation, and/or operation of program components and/or system facilities through textual and/or graphical facilities. The user interface provides a facility through which users may affect, interact, and/or operate a computer system. A user interface may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the user interface communicates with operating systems, other program components, and/or the like. The user interface may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
Web Browser
[0084] A Web browser component 518 is a stored program component that is executed by a CPU. The Web browser may be a conventional hypertext viewing application such as Microsoft Internet Explorer or Netscape Navigator. Secure Web browsing may be supplied with 128bit (or greater) encryption by way of HTTPS, SSL, and/or the like. Some Web browsers allow for the execution of program components through facilities such as Java, JavaScript, ActiveX, web browser plug-in APIs (e.g., FireFox, Safari Plug-in, and/or the like APIs), and/or the like. Web browsers and like information access tools may be integrated into PDAs, cellular telephones, and/or other mobile devices. A Web browser may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the Web browser communicates with information servers, operating systems, integrated program components (e.g., plug-ins), and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. Of course, in place of a Web browser and information server, a combined application may be developed to perform similar functions of both. The combined application would similarly affect the obtaining and the provision of information to users, user agents, and/or the like from the search-enhancing navigator enabled nodes. The combined application may be nugatory on systems employing standard Web browsers.
Mail Server
[0085] A mail server component 521 is a stored program component that is executed by a CPU 503. The mail server may be a conventional Internet mail server such as, but not limited to sendmail, Microsoft Exchange, and/or the. The mail server may allow for the execution of program components through facilities such as ASP, ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, CGI scripts, Java, JavaScript, PERL, PHP, pipes, Python, WebObjects, and/or the like. The mail server may support communications protocols such as, but not limited to: Internet message access protocol (IMAP), Messaging Application Programming Interface (MAPI)/Microsoft Exchange, post office protocol (POP3), simple mail transfer protocol (SMTP), and/or the like. The mail server can route, forward, and process incoming and outgoing mail messages that have been sent, relayed and/or otherwise traversing through and/or to the search-enhancing navigator.
[0086] Access to the search-enhancing navigator mail may be achieved through a number of APIs offered by the individual Web server components and/or the operating system.
[0087] Also, a mail server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.
Mail Client
[0088] A mail client component 522 is a stored program component that is executed by a CPU 503. The mail client may be a conventional mail viewing application such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla, Thunderbird, and/or the like. Mail clients may support a number of transfer protocols, such as: IMAP, Microsoft Exchange, POP3, SMTP, and/or the like. A mail client may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the mail client communicates with mail servers, operating systems, other mail clients, and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses. Generally, the mail client provides a facility to compose and transmit electronic mail messages.
Cryptographic Server
[0089] A cryptographic server component 520 is a stored program component that is executed by a CPU 503, cryptographic processor 526, cryptographic processor interface 527, cryptographic processor device 528, and/or the like. Cryptographic processor interfaces will allow for expedition of encryption and/or decryption requests by the cryptographic component; however, the cryptographic component, alternatively, may run on a conventional CPU. The cryptographic component allows for the encryption and/or decryption of provided data. The cryptographic component allows for both symmetric and asymmetric (e.g., Pretty Good Protection (PGP)) encryption and/or decryption. The cryptographic component may employ cryptographic techniques such as, but not limited to: digital certificates (e.g., X.509 authentication framework), digital signatures, dual signatures, enveloping, password access protection, public key management, and/or the like. The cryptographic component will facilitate numerous (encryption and/or decryption) security protocols such as, but not limited to: checksum, Data Encryption Standard (DES), Elliptical Curve Encryption (ECC), International Data Encryption Algorithm (IDEA), Message Digest 5 (MD5, which is a one way hash function), passwords, Rivest Cipher (RC5), Rijndael, RSA (which is an Internet encryption and authentication system that uses an algorithm developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman), Secure Hash Algorithm (SHA), Secure Socket Layer (SSL), Secure Hypertext Transfer Protocol (HTTPS), and/or the like. Employing such encryption security protocols, the search-enhancing navigator may encrypt all incoming and/or outgoing communications and may serve as node within a virtual private network (VPN) with a wider communications network. The cryptographic component facilitates the process of "security authorization" whereby access to a resource is inhibited by a security protocol wherein the cryptographic component effects authorized access to the secured resource. In addition, the cryptographic component may provide unique identifiers of content, e.g., employing and MD5 hash to obtain a unique signature for an digital audio file. A cryptographic component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. The cryptographic component supports encryption schemes allowing for the secure transmission of information across a communications network to enable the search-enhancing navigator component to engage in secure transactions if so desired. The cryptographic component facilitates the secure accessing of resources on the search- enhancing navigator and facilitates the access of secured resources on remote systems; i.e., it may act as a client and/or server of secured resources. Most frequently, the cryptographic component communicates with information servers, operating systems, other program components, and/or the like. The cryptographic component may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
The Search-enhancing Navigator Database [0090] The search-enhancing navigator database component 519 may be embodied in a database and its stored data. The database is a stored program component, which is executed by the CPU; the stored program component portion configuring the CPU to process the stored data. The database may be a conventional, fault tolerant, relational, scalable, secure database such as Oracle or Sybase. Relational databases are an extension of a flat file. Relational databases consist of a series of related tables. The tables are interconnected via a key field. Use of the key field allows the combination of the tables by indexing against the key field; i.e., the key fields act as dimensional pivot points for combining information from various tables. Relationships generally identify links maintained between tables by matching primary keys. Primary keys represent fields that uniquely identify the rows of a table in a relational database. More precisely, they uniquely identify rows of a table on the "one" side of a one-to-many relationship.
[0091 ] Alternatively, the search-enhancing navigator database may be implemented using various standard data-structures, such as an array, hash, (linked) list, struct, structured text file (e.g., XML), table, and/or the like. Such data-structures may be stored in memory and/or in (structured) files. In another alternative, an object-oriented database may be used, such as Frontier, ObjectStore, Poet, Zope, and/or the like. Object databases can include a number of object collections that are grouped and/or linked together by common attributes; they may be related to other object collections by some common attributes. Object-oriented databases perform similarly to relational databases with the exception that objects are not just pieces of data but may have other types of functionality encapsulated within a given object. If the search-enhancing navigator database is implemented as a data-structure, the use of the search-enhancing navigator database 519 may be integrated into another component such as the search-enhancing navigator component 535. Also, the database may be implemented as a mix of data structures, objects, and relational structures. Databases may be consolidated and/or distributed in countless variations through standard data processing techniques. Portions of databases, e.g., tables, may be exported and/or imported and thus decentralized and/or integrated.
[0092] In one embodiment, the database component 519 includes several tables 519a-e. A users table 519a includes fields such as, but not limited to: a user name, email address, address, profile, user id, and/or the like. The user table may support and/or track multiple entity accounts on a search-enhancing navigator. An application table 519b includes fields such as, but not limited to: application id, settings id (provides ability to have specific settings per application), and/or the like. A settings table 519c includes fields such as, but not limited to: settings id, application id, and/or the like. A language translation 519d includes fields such as, but not limited to: language id, translation id, and/or the like. A news table 119e includes fields such as, but not limited to: news feed id, news item id, and/or the like. A business table 119f includes fields such as, but not limited to: company id, contact info id, and/or the like. A web table H9g includes fields such as, but not limited to: identifier id (e.g., web address, digital object identifier, etc.), source id, date, and/or the like.
[0093] In one embodiment, the search-enhancing navigator database may interact with other database systems. For example, employing a distributed database system, queries and data access by search navigator component may treat the combination of the search-enhancing navigator database, an integrated data security layer database as a single database entity.
[0094] In one embodiment, user programs may contain various user interface primitives, which may serve to update the search-enhancing navigator. Also, various accounts may require custom database tables depending upon the environments and the types of clients the search-enhancing navigator may need to serve. It should be noted that any unique fields may be designated as a key field throughout. In an alternative embodiment, these tables have been decentralized into their own databases and their respective database controllers (i.e., individual database controllers for each of the above tables). Employing standard data processing techniques, one may further distribute the databases over several computer systemizations and/or storage devices. Similarly, configurations of the decentralized database controllers may be varied by consolidating and/or distributing the various database components 519a-e. The search-enhancing navigator may be configured to keep track of various settings, inputs, and parameters via database controllers.
[0095] The search-enhancing navigator database may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the search-enhancing navigator database communicates with the search- enhancing navigator component, other program components, and/or the like. The database may contain, retain, and provide information regarding other nodes and data.
The search-enhancing Navigators
[0096] The search-enhancing navigator component 535 is a stored program component that is executed by a CPU. In one embodiment, the search-enhancing navigator component incorporates any and/or all combinations of the aspects of the search-enhancing navigator that was discussed in the previous figures. As such, the search-enhancing navigator affects accessing, obtaining and the provision of information, services, transactions, and/or the like across various communications networks.
[0097] The search-enhancing navigator component enables the generation, display and use a search-enhancing navigator.
[0098] The search-enhancing navigator component enabling access of information between nodes may be developed by employing standard development tools and languages such as, but not limited to: Apache components, Assembly, ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or .NET, database adapters, CGI scripts, Java, JavaScript, mapping tools, procedural and object oriented development tools, PERL, PHP, Python, shell scripts, SQL commands, web application server extensions, WebObjects, and/or the like. In one embodiment, the search-enhancing navigator server employs a cryptographic server to encrypt and decrypt communications. The search- enhancing navigator component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the search-enhancing navigator component communicates with the search-enhancing navigator database, operating systems, other program components, and/or the like. The search-enhancing navigator may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
Distributed search-enhancing Navigators
[0099] The structure and/or operation of any of the search-enhancing navigator node controller components may be combined, consolidated, and/or distributed in any number of ways to facilitate development and/or deployment. Similarly, the component collection may be combined in any number of ways to facilitate deployment and/or development. To accomplish this, one may integrate the components into a common code base or in a facility that can dynamically load the components on demand in an integrated fashion.
[00100] The component collection may be consolidated and/or distributed in countless variations through standard data processing and/or development techniques. Multiple instances of any one of the program components in the program component collection may be instantiated on a single node, and/or across numerous nodes to improve performance through load-balancing and/or data-processing techniques. Furthermore, single instances may also be distributed across multiple controllers and/or storage devices; e.g., databases. All program component instances and controllers working in concert may do so through standard data processing communication techniques. [00101 ] The configuration of the search-enhancing navigator controller will depend on the context of system deployment. Factors such as, but not limited to, the budget, capacity, location, and/or use of the underlying hardware resources may affect deployment requirements and configuration. Regardless of if the configuration results in more consolidated and/or integrated program components, results in a more distributed series of program components, and/or results in some combination between a consolidated and distributed configuration, data may be communicated, obtained, and/or provided. Instances of components consolidated into a common code base from the program component collection may communicate, obtain, and/or provide data. This may be accomplished through intra-application data processing communication techniques such as, but not limited to: data referencing (e.g., pointers), internal messaging, object instance variable communication, shared memory space, variable passing, and/or the like.
[00102] If component collection components are discrete, separate, and/or external to one another, then communicating, obtaining, and/or providing data with and/or to other component components may be accomplished through inter-application data processing communication techniques such as, but not limited to: Application Program Interfaces (API) information passage; (distributed) Component Object Model ((D)COM), (Distributed) Object Linking and Embedding ((D)OLE), and/or the like), Common Object Request Broker Architecture (CORBA), local and remote application program interfaces Jini, Remote Method Invocation (RMI), process pipes, shared files, and/or the like. Messages sent between discrete component components for inter-application communication or within memory spaces of a singular component for intra-application communication may be facilitated through the creation and parsing of a grammar. A grammar may be developed by using standard development tools such as lex, yacc, XML, and/or the like, which allow for grammar generation and parsing functionality, which in turn may form the basis of communication messages within and between components. Again, the configuration will depend upon the context of system deployment.
[00103] The entirety of this disclosure (including the Cover Page, Title, Headings, Field, Background, Summary, Brief Description of the Drawings, Detailed Description, Claims, Abstract, Figures, and otherwise) shows by way of illustration various embodiments in which the claimed inventions may be practiced. The advantages and features of the disclosure are of a representative sample of embodiments only, and are not exhaustive and/or exclusive. They are presented only to assist in understanding and teach the claimed principles. It should be understood that they are not representative of all claimed inventions. As such, certain aspects of the disclosure have not been discussed herein. That alternate embodiments may not have been presented for a specific portion of the invention or that further undescribed alternate embodiments may be available for a portion is not to be considered a disclaimer of those alternate embodiments. It will be appreciated that many of those undescribed embodiments incorporate the same principles of the invention and others are equivalent. Thus, it is to be understood that other embodiments may be utilized and functional, logical, organizational, structural and/or topological modifications may be made without departing from the scope and/or spirit of the disclosure. As such, all examples and/or embodiments are deemed to be non-limiting throughout this disclosure. Also, no inference should be drawn regarding those embodiments discussed herein relative to those not discussed herein other than it is as such for purposes of reducing space and repetition. For instance, it is to be understood that the logical and/or topological structure of any combination of any program components (a component collection), other components and/or any present feature sets as described in the figures and/or throughout are not limited to a fixed operating order and/or arrangement, but rather, any disclosed order is exemplary and all equivalents, regardless of order, are contemplated by the disclosure. Furthermore, it is to be understood that such features are not limited to serial execution, but rather, any number of threads, processes, services, servers, and/or the like that may execute asynchronously, concurrently, in parallel, simultaneously, synchronously, and/or the like are contemplated by the disclosure. As such, some of these features may be mutually contradictory, in that they cannot be simultaneously present in a single embodiment. Similarly, some features are applicable to one aspect of the invention, and inapplicable to others. In addition, the disclosure includes other inventions not presently claimed. Applicant reserves all rights in those presently unclaimed inventions including the right to claim such inventions, file additional applications, continuations, continuations in part, divisions, and/or the like thereof. As such, it should be understood that advantages, embodiments, examples, functional, features, logical, organizational, structural, topological, and/or other aspects of the disclosure are not to be considered limitations on the disclosure as defined by the claims or limitations on equivalents to the claims.

Claims

CLAIMS What is claimed is: 1. A processor-implemented method to augment web searches, comprising: instantiating an input object, wherein the input object accepts user inputs that may be used to augment search results; converting user inputs into search augmenting tokens; augmenting search results with the augmenting tokens; and providing augmented search results for display. 2. The method of claim 1 , wherein the input object is instantiated via a menu. 3. The method of claim 1 , wherein the input object is instantiated via a text box. 4. The method of claim 1 , wherein the input object admits categorical values. 5. The method of claim 1, wherein the input object admits text strings. 6. The method of claim 1 , wherein the input object admits discrete numerical values. 7. The method of claim 1 , wherein the input object admits continuous numerical values. 8. The method of claim 1, wherein the input object admits instructions for arranging search results. 9. The method of claim 1, wherein converting user inputs into search augmenting tokens comprises: comparing the user inputs with a set of formatting rules; and converting properly formatted user inputs into augmenting tokens. 10. The method of claim 9, further comprising: comparing improperly formatted user inputs with a set of reformatting rules to yield a set of reformattable user inputs; and reformatting reformattable user inputs into properly formatted user inputs. 11. The method of claim 1 , wherein converting user inputs into search augmenting tokens comprises: comparing user inputs to a set of variant generation rules to create a set of user input variants; and converting user inputs and user input variants into augmenting tokens. 12. The method of claim 1 , wherein converting user inputs into search augmenting tokens comprises: converting user inputs into augmenting tokens; and comparing the augmenting tokens to a set of variant generation rules to create augmenting token variants. 13. An apparatus to augment web searches, comprising: a processor; a memory in communication with the processor and containing program instructions; an input and output in communication with the processor and memory; wherein the processor executes program instructions contained in the memory and the program instructions comprise: instantiating an input object, wherein the input object accepts user inputs that may be used to augment search results; converting user inputs into search augmenting tokens; augmenting search results with the augmenting tokens; and providing augmented search results for display. 14. The apparatus of claim 13, wherein the input object is instantiated via a menu. 15. The apparatus of claim 13, wherein the input object is instantiated via a text box. 16. The apparatus of claim 13, wherein the input object admits categorical values. 17. The apparatus of claim 13, wherein the input object admits text strings. 18. The apparatus of claim 13, wherein the input object admits discrete numerical values. 19. The apparatus of claim 13, wherein the input object admits continuous numerical values. 20. The apparatus of claim 13, wherein the input object admits instructions for arranging search results. 21. The apparatus of claim 13, wherein converting user inputs into search augmenting tokens comprises: comparing the user inputs with a set of formatting rules; and converting properly formatted user inputs into augmenting tokens. 22. The apparatus of claim 21, wherein the program instructions further comprise: comparing improperly formatted user inputs with a set of reformatting rules to yield a set of reformattable user inputs; and reformatting reformattable user inputs into properly formatted user inputs.
75 23. The apparatus of claim 13, wherein converting user inputs into search
76 augmenting tokens comprises:
77 comparing user inputs to a set of variant generation rules to create a set of
78 user input variants; and
79 converting user inputs and user input variants into augmenting tokens.
80 24. The apparatus of claim 13, wherein converting user inputs into search
81 augmenting tokens comprises:
82 converting user inputs into augmenting tokens; and
83 comparing the augmenting tokens to a set of variant generation rules to
84 create augmenting token variants.
85 25. A system to augment web searches, comprising:
86 means to instantiate an input object,
87 wherein the input object accepts user inputs that may be used to augment
88 search results;
89 means to convert user inputs into search augmenting tokens;
90 means to augment search results with the augmenting tokens; and
91 means to provide augmented search results for display.
92 26. The system of claim 25, wherein the input object is instantiated via a
93 menu.
94 27. The system of claim 25, wherein the input object is instantiated via a text
95 box.
96 28. The system of claim 25, wherein the input object admits categorical
97 values.
98 29. The system of claim 25, wherein the input object admits text strings.
99 30. The system of claim 25, wherein the input object admits discrete
100 numerical values.
101 31. The system of claim 25 , wherein the input obj ect admits continuous
102 numerical values.
103 32. The system of claim 25, wherein the input object admits instructions for
104 arranging search results.
105 33. The system of claim 25, wherein converting user inputs into search
106 augmenting tokens comprises:
107 comparing the user inputs with a set of formatting rules; and
108 converting properly formatted user inputs into augmenting tokens.
109 34. The system of claim 33, further comprising:
110 means to compare improperly formatted user inputs with a set of
111 reformatting rules to yield a set of reformattable user inputs; and
112 means to reformat reformattable user inputs into properly formatted user
113 inputs.
114 35. The system of claim 25, wherein converting user inputs into search
115 augmenting tokens comprises:
116 comparing user inputs to a set of variant generation rules to create a set of
117 user input variants; and
118 converting user inputs and user input variants into augmenting tokens.
119 36. The system of claim 25, wherein converting user inputs into search
120 augmenting tokens comprises:
121 converting user inputs into augmenting tokens; and
122 comparing the augmenting tokens to a set of variant generation rules to
123 create augmenting token variants.
PCT/US2007/071922 2006-06-23 2007-06-22 Apparatuses, methods and systems for a search-enhancing navigator WO2007150041A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80569806P 2006-06-23 2006-06-23
US60/805,698 2006-06-23

Publications (2)

Publication Number Publication Date
WO2007150041A2 true WO2007150041A2 (en) 2007-12-27
WO2007150041A3 WO2007150041A3 (en) 2008-09-25

Family

ID=38834427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/071922 WO2007150041A2 (en) 2006-06-23 2007-06-22 Apparatuses, methods and systems for a search-enhancing navigator

Country Status (1)

Country Link
WO (1) WO2007150041A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381341A (en) * 2019-07-24 2019-10-25 北京奇艺世纪科技有限公司 A kind of data processing method and relevant device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135725A1 (en) * 2002-01-14 2003-07-17 Schirmer Andrew Lewis Search refinement graphical user interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135725A1 (en) * 2002-01-14 2003-07-17 Schirmer Andrew Lewis Search refinement graphical user interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381341A (en) * 2019-07-24 2019-10-25 北京奇艺世纪科技有限公司 A kind of data processing method and relevant device
CN110381341B (en) * 2019-07-24 2021-08-27 北京奇艺世纪科技有限公司 Data processing method and related equipment

Also Published As

Publication number Publication date
WO2007150041A3 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
US20210208770A1 (en) Apparatuses, methods and systems for hierarchical multidimensional information interfaces
Jansen et al. Determining the informational, navigational, and transactional intent of Web queries
US20100287049A1 (en) Apparatuses, Methods and Systems for Language Neutral Search
US7917840B2 (en) Dynamic aggregation and display of contextually relevant content
US10963461B2 (en) Generating activities based upon social data
US6016475A (en) System, method, and article of manufacture for generating implicit ratings based on receiver operating curves
US9251279B2 (en) Methods and systems for using community defined facets or facet values in computer networks
US9348871B2 (en) Method and system for assessing relevant properties of work contexts for use by information services
US6108493A (en) System, method, and article of manufacture for utilizing implicit ratings in collaborative filters
US8046693B2 (en) Obtaining user feedback on displayed items
Billsus et al. Improving proactive information systems
US11126630B2 (en) Ranking partial search query results based on implicit user interactions
US20050283473A1 (en) Apparatus, method and system of artificial intelligence for data searching applications
US20100299326A1 (en) Apparatuses, Methods and Systems For A Forum Ferreting System
US10437859B2 (en) Entity page generation and entity related searching
WO2002033594A2 (en) Information storage and retrieval architecture
CN1648902A (en) System and method for a unified and blended search
WO2008039868A2 (en) Apparatuses, methods and systems for an information comparator bidding engine
US20200301973A1 (en) Personalization Aggregate Content Item Recommendations
US20100185668A1 (en) Apparatuses, Methods and Systems for a Multi-Modal Data Interfacing Platform
US20200285376A1 (en) Apparatuses, methods and systems for hierarchical multidimensional information interfaces
Wen et al. Key factors affecting user adoption of open-access data repositories in intelligence and security informatics: An affordance perspective
WO2007150041A2 (en) Apparatuses, methods and systems for a search-enhancing navigator
JP2002278983A (en) Summary extracting program, document analysis supporting program, summary extracting method and method and system for supporting document analysis
CN112771508A (en) Seminar auxiliary system and seminar auxiliary method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07798953

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

NENP Non-entry into the national phase in:

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07798953

Country of ref document: EP

Kind code of ref document: A2