US20100312771A1 - Associating Information With An Electronic Document - Google Patents
Associating Information With An Electronic Document Download PDFInfo
- Publication number
- US20100312771A1 US20100312771A1 US12/796,379 US79637910A US2010312771A1 US 20100312771 A1 US20100312771 A1 US 20100312771A1 US 79637910 A US79637910 A US 79637910A US 2010312771 A1 US2010312771 A1 US 2010312771A1
- Authority
- US
- United States
- Prior art keywords
- information
- content
- computer
- user
- recited
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
Definitions
- the Internet has evolved into a communication platform upon which a variety of information-based services can be provided.
- One of the most popular of these services is the provision of electronic documents constructed using hypertext markup language (HTML). These documents are often referred to as web pages and are available from computing locations or sites on a logical segment of the Internet commonly referred to as the World Wide Web, or simply the Web.
- Information available on these Web sites and servers is typically accessed using a Web browser executing on a remote computer. For example, a user can launch a Web browser and access a Web site by entering a Uniform Resource Locator (URL) of the Web site into an address bar of the Web browser and pressing the enter key on a keyboard or clicking a button with a mouse.
- URL Uniform Resource Locator
- the URL typically includes three pieces of information that facilitate access: a protocol indicator that designates a set of rules or standards for the exchange of information in computer communication, a domain name that is often based on the name of an organization that maintains the Web site, and a path to the desired document within the domain.
- Standard Web browsers can use the information included in a URL to establish a connection with a Web server and obtain information from that Web server.
- each service available on the Internet has existed in isolation from other services.
- a user can access a Web site using a Web browser but must open an audio application to access audio information as a separate service.
- a user may have to open a third application to access a chat service and a fourth application to access a messaging service.
- information content from each type of service exists in isolation from other services, such information can be logically related in a variety of different ways.
- information can be logically related in the sense that information available from each service can refer to information available on another service.
- information from more than one available service can be topically related, originate from the same source, or be related in some other fashion.
- Current systems fail to provide any ability to integrate information from various services in logical and meaningful ways.
- a rendering module can obtain information, such as a Web page, from an information source using a network.
- An associative module can analyze that obtained information and use results of its analysis to identify and locate key or important pieces of the information. This information, among other types, can be used as an anchor with which to associate other information in addition to the original information. Additional information can be presented to a user.
- a variety of additional types of information or information services can be provided to a user based upon an analysis of the content of the information obtained by the user, for example, content of a Web page.
- Content from Web logs that relate or refer to a Web page currently being viewed by the user can be presented along with the currently-viewed Web page.
- content that can be presented are advertising-based content and content created by other visitors to a Web site, such as notes, comments, ratings, and reviews.
- one or more hyperlinks from a Web page that references the present Web page can be presented.
- services such as automatic connection to relevant chat room discussions and page-biased searches can be provided.
- FIG. 1 is a system block diagram of an associative information system.
- FIG. 2 is a block diagram of a note.
- FIG. 3 is a system block diagram of an associative information system.
- FIG. 4 is a system block diagram of an associative information system.
- FIG. 5 is a system block diagram of an associative information system.
- FIG. 6 is a system block diagram of an associative information system.
- FIG. 7 is a system block diagram of a supplemental content provision system.
- FIG. 8 is a diagram of an exemplary user interface.
- FIG. 9 is a flow diagram depicting a general processing flow of a method that can be employed in accordance with components that are disclosed and described herein.
- FIG. 10 is a flow diagram depicting a general processing flow of a method that can be employed in accordance with components that are disclosed and described herein.
- FIG. 11 is a flow diagram of a general processing flow of a method can be employed in accordance with components that are disclosed and described herein.
- FIG. 12 is a flow diagram depicting a general processing flow of a method that can be employed in accordance with components that are disclosed and described herein.
- FIG. 13 illustrates an exemplary networking environment.
- FIG. 14 illustrates an exemplary computing environment.
- a component can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer.
- an application running on a server and the server can be components.
- One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
- FIG. 1 is a system block diagram of an interactive information system 100 .
- the interactive information system 100 includes a rendering component 110 that can obtain information from a primary information data store 120 .
- the rendering component 110 can be a Web browser or another component that has the capability to obtain and present information.
- the rendering component 110 can be a stand-alone application that can be launched and operated by a user or can be a module that is designed to be used in conjunction with another component, such as an HTML rendering engine for an email application or another such component.
- the rendering component 110 can present obtained information to a user on a visual display or some other human-computer interface such as a speech-based interface or a Braille interface, among others.
- the primary information data store 120 can be a database, an intranet, the World Wide Web, the Internet, a file share, or some other source of information, specifically including a source of information that can be accessed remotely.
- Information included in the primary information data store 120 can depend upon a specific implementation of the primary information data store 120 but generally can include any information in an electronic or machine-readable form.
- information stored in the primary information data store can include Web pages from the Internet or an intranet, text documents in a variety of formats, graphical image information, audio information, video information, multimedia information, and other suitable forms of information.
- An association plug-in 130 can communicate with the rendering component 110 and the primary information data store 120 to obtain information that the rendering component 110 can present to a user. Additionally or alternatively, the interactive plug-in 130 can obtain additional information from another information source such as the secondary information data store 140 .
- the secondary information data store 140 can be implemented in much the same way as the primary information data store 120 and can include the same types of information, among others.
- the secondary information data store 140 can include notes, documents such as Web pages, intranet pages, text documents in a variety of formats, graphical or audio information, search-related information including search terms or results and access to search engines, wikis, Web logs (blogs), RSS or other news feeds, chat content including notification-based chat content, instant message information including messages or user names, tags, inlinks, outlinks, and any other information that can be stored or presented in an electronic or machine-readable format.
- Information included in the secondary information data store 140 can be created by a secondary content creation module 150 .
- a secondary content creation module 150 can vary depending upon a specific type of information to be created for use with the secondary information data store 140 .
- the secondary content creation module 150 can be a text editor, a word processor, a spreadsheet program, a slideshow or presentation program, a Web page editor, a graphics program, an audio program, a Web logging (blogging) tool, a chat program, an instant messaging program, or some other suitable component, specifically including a combination of some or all of the foregoing examples.
- the association plug-in 130 can relate or associate information from the secondary information data store 140 with information originally obtained from the primary information data store 120 for display by the rendering component 110 .
- the additional information from the secondary information data store 140 can be anchored to information from the primary information data store 120 .
- Such anchoring or association can be accomplished in a variety of ways.
- a domain name such as example-domain-name.tld
- a fully- or partially-qualified uniform resource locator (URL), including a relative URL, of a currently- or previously-accessed Web page or other resource can be used as an anchor.
- Other possible anchors include, but are not limited to, locations of files on file shares or other remote locations, keywords included in content from the primary information data store 120 , or form data, among others.
- information from the secondary information data store 140 can be a note that includes some text.
- the note can be anchored to a Web page by associating the note with the URL of the Web page.
- the note could also be anchored to a piece of form data. For instance, if the form data is a postal zip code, the note can appear whenever a user enters that zip code into a form.
- the note can be anchored to specific keywords. When a user views information from the primary information data store 120 that includes such keywords, the note can be displayed to the user by the rendering component 110 .
- the note can be replaced with any content from the secondary information data store 140 .
- any content from the secondary information data store 140 can be anchored using any appropriate anchor to any content from the primary information data store 120 in any appropriate combination.
- the additional information can be anchored to or associated with the information originally obtained, content of the additional information does not have to be related to content included in the information originally obtained.
- the information originally obtained can be a Web page about computer programming languages and the additional information can be a link to a search engine. In this example, the link to the search engine has no connection with the content of the Web page.
- Many other types of additional content or additional functions can be used or provided by the association plug-in 130 .
- the rendering component 110 can retrieve a Web page from the primary information data store 120 .
- the Web page can be presented to a user by the rendering component 110 .
- the association plug-in 130 can analyze the Web page to determine which content of the Web page is important.
- a variety of approaches can be employed to analyze the Web page. Among these approaches is a technique of creating a list of terms that are included in the web page and use the term frequency-inverse document frequency (TF-IDF) algorithm to create a probabilistic summary of the content of the Web page.
- TF-IDF frequency-inverse document frequency
- the association plug-in 130 can use content of the Web page to identify other content to be presented to the user.
- This other content can include, among other things, content from interactive chat rooms organized around topics related to the Web page, content from Web log (blogs) entries or RSS or other news feeds that are related to the Web page or that specifically mentioned the Web page, hyperlinks from other pages that specifically point to the Web page, access to a search engine, advertising that is related to the content of the Web page, or content in the form of comments made by other visitors to the Web page.
- the association plug-in 130 can be implemented in a variety of ways that can depend in large part upon a specific implementation of the rendering component 110 , among other factors that will be readily apparent to one of ordinary skill in the art upon reading this disclosure.
- the association plug-in 130 can be executable code that runs in a sidebar or similar area of a window or a Web browser.
- the association plug-in 130 can also be a stand-alone application or other suitable executable code.
- the association plug-in 130 can be a notation component that provides a user with the ability to post a notice that can be associated with a specific URL.
- the notice can be informational in nature, including such things as hyperlinks to related subjects, information on products or services that are similar to products or services mentioned in a Web page, or other information.
- the notice can also be organizational in the sense that the notice can be used to organize personal notes by URL, such as notes regarding research papers at a specific home page.
- Social applications of the notice are also possible by using the notice to post a message to another user who visits a URL with which the notice is associated.
- the message can be intended to another person who will be attending an event, another person with interests that are similar to interests of the creator of the message, a part of a discussion regarding a topic of a Web page, or any other type of message.
- the notice can also have an entertainment purpose such as providing humor or being part of an online game.
- FIG. 2 is a block diagram of a note 200 .
- the note 200 can be used by an association plug-in, such as the association plug-in 130 of FIG. 1 , to convey information that can be associated with some online content.
- the information to be conveyed can include any of the types of information previously disclosed and described in conjunction with FIG. 1 .
- the note 200 can include a plurality of fields.
- An anchor field 210 can include information that can be used to anchor content of the note 200 to an information location.
- Information in the anchor field 210 can include a URL, a domain name, or a root domain, among other location identifiers.
- the anchor field 210 can be used to describe any appropriate anchor, specifically including the types of anchors previously disclosed and described in conjunction with FIG. 1 .
- the anchor field 210 can be used to associate content that can be used by an association plug-in with some information location.
- a keywords field 220 can include keywords that relate to content and can be used for indexing or search purposes.
- a content key field 230 can include some keywords or phrases that can be used to locate content, such as a Web page, that includes or matches information in the content key field 230 .
- a form data field 240 can include information that can be used to search for similar information in forms. The form data field can also include form information such as one or more form field names to match a form field to a value for that field.
- a scope field 250 can include information regarding a level at which a note, such as the note 200 , can be distributed.
- the scope field 250 can indicate that the note 200 is private and should only be viewable by its creator.
- the scope field 250 can also indicate that group access is permitted for members of a particular group or groups. These groups can be defined based upon some criterion or can include preselected members, among other ways of defining membership. Further, public access can be indicated by information in the scope field 250 such that the note 200 can be viewed by anyone.
- the note 200 can also include a type field 260 .
- Information in the type field 260 can be used to define different types of notes. For example, different types can include simple text boxes, pictures, discussion threads, or user-defined types, among others. Different types of notes can be displayed to a user in different ways to provide visual cues regarding the specific type of not being presented. It should be noted that presence of these fields can provide the ability for a user to filter notes based upon personal preferences. Additionally, notes such as the note 200 can be static in the sense that its content can be fixed or can be dynamic. A dynamic note, for example, can request updated information from a server each time the dynamic note is activated.
- a user can specify a provider of content such as a note 200 from which the user desires to obtain content.
- the user can also specify a region within which such content can be displayed.
- One possible method of specifying such a region is by providing a graphical tool that the user can place in a sidebar of a Web browser window.
- the user can also select from among other options such as closing notes, having notes automatically refresh content, have notes provide labeled sub-bars that can categorize information, associate a note with one or more anchors, set an expiration date, restrict dissemination of the note, and create notes anonymously, among other things.
- Perceived utility of notes can be subject to a network effect where a value of a note system increases with a number of users.
- a variety of techniques can be used. For example, notes can be shared across URLs. Notes can also provide automatic annotation of Web sites, blogs, newsgroups, and discussion forums, among others. Dynamic notes and other content boxes can readily supply content. Scenario sites that demonstrate uses for notes can also be created. Additionally, an application programming interface (API) for notes can be provided to encourage developers to create their own notes. Search functions for notes can also add to their usefulness. Prizes can also be awarded to users of notes to encourage additional use. Also, popular Web sites can be used to promote installation and further use of notes by users. At least some of those popular Web sites can be formally engaged as promoters of notes. Also, certain content can be provided only through use of notes such that installation of notes components can be required to access that content.
- API application programming interface
- Notes can also be subjected to filtering and ranking functions. Ordering of notes can be accomplished according to a variety of social networking or web of trust networking concepts. Notes that are anchored to a specific URL can be ranked more (or less) highly than notes that are simply anchored to a domain name. Ranking functions can also be employed based at least in part upon one or more factors such as a scope of a note, an author of a note, a date of creation of a note, a preference profile of a user, a filter function, link analysis, feedback for a note such as a score or whether the note was closed by a user, and thresholds for note rankings, among others.
- a component can request multiple notes from different URLs to obscure identifying information for a note that is actually desired. This technique can be used in combination with a prefetching scheme.
- a one-way hash of a URL for the note can be created and sent to a server instead of a cleartext request.
- an intermediate server can be employed to obscure the identity of a user requesting a particular note.
- an interactive component can be a web chat component that can allow for dynamic chat sessions between or among users. Such chat sessions can also be anchored to a URL or a domain name, among others. Chat sessions can also be anchored to more than one site to provide for more varied discussion. Such chat sessions can also be notification-based such that a user can be notified when another user arrives at a specified site and desires to participate in a chat session with other users.
- Other Web-aware applications can also be implemented, such as a listing component that provides a list of Web pages that link to a Web page being viewed, a page summary component that summarizes content on a currently viewed Web page, and a search component that provides links to search engine searches for terms that appear frequently in a Web page, among others.
- FIG. 3 is a system block diagram of an associative information system 300 .
- the associative information system 300 includes a rendering component 310 and an associative plug-in component 320 .
- the associative plug-in component 320 can be a stand-alone application, can be a pluggable part of another application, or can be some other suitable executable code.
- the rendering component 310 can access informational content from a network 330 .
- the network 330 can be the Internet, the World Wide Web, an intranet, or another suitable network or information source.
- the associative plug-in 320 can access and analyze the informational content that the rendering component 310 has retrieved from the network 330 . To analyze the informational content, the associative plug-in 320 can use any suitable approach, including one of the approaches discussed in relation to other figures. The associative plug-in 320 can then connect to a chat server 340 to establish a session in a chat room that is organized around a topic that is related to the informational content.
- the rendering component 310 can obtain a Web page from the World Wide Web.
- the associative plug-in 320 can then analyze the content of the Web page to determine a subject of the Web page.
- the associative plug-in 320 can then connect to the chat server 340 to locate a chat room that is related to the subject of the Web page. A user can then participate in a discussion in the chat room while continuing to view the web page.
- FIG. 4 is a system block diagram of an associative information system 400 .
- the associative information system 400 includes a rendering component 410 and an associative component 420 .
- the rendering component 410 can be a Web browser or another appropriate component that has a capability to obtain and render information.
- the rendering component 410 can access information available on a network 430 and communicate that information to the associative component 420 .
- the associative component 420 can analyze the information it receives from the rendering component 410 and use that information to obtain additional content from a Web log (blog) data store 440 .
- the Web log (blog) data store 440 can include information about Web log (blog) entries and cross-references from Web log (blog) entries to Web sites.
- a cross-reference can be created for a Web log (blog) entry that deals with a topic that is the same as, or similar to, a topic of a Web site.
- a cross-reference can also be created for Web log (blog) entry that specifically references a Web site. Other cross-references can also be created.
- the rendering component 410 accesses a piece of information from the network 430 and renders that information for presentation to a user.
- the associative component 420 analyzes the piece of rendered information to discern a general topic or other content-related theme of the information.
- the associative component 420 accesses the Web log (blog) data store 440 to locate Web log (blog) entries that are cross-referenced with the information that was obtained by the rendering component 410 .
- the associative component 420 can then cause those Web log entries to be presented to the user while the user is still viewing the information.
- information about a product or service that is related to a subject of Web page can be presented.
- Such information can be in the form of user reviews or can be advertising from a provider of a product or service itself.
- Such advertising can be triggered by using keywords from the information already retrieved by the rendering component 410 . Therefore, the advertising can be targeted to users who are most likely to respond to such ads.
- a user can subscribe to content updates to have a variety of events, such as addition of content, server as a trigger to cause a content update operation to occur automatically.
- One possible implementation includes a sidebar component that can provide a contextually intelligent search application.
- This search application can access content of a Web page that is being viewed by a user and calculate importance of various terms on that Web page, for example, by using an algorithm such as the term frequency-inverse document frequency (TF-IDF) algorithm.
- TF-IDF term frequency-inverse document frequency
- the user when submitting a query through the search application, can obtain query results that are biased in favor of results having content that is similar to the content being viewed.
- FIG. 5 is a system block diagram of an associative information system 500 .
- the associative information system 500 includes a rendering module 510 and an associative module 520 .
- the rendering module 510 can retrieve and present information from the World Wide Web 530 .
- the associative module 520 can access and analyze the information retrieved by the rendering module 510 in any of the previously-described manners.
- the associative module 520 can then use results of such analysis to access a search server 540 .
- the search server 540 can provide results that are responsive to a search query and that are biased toward concepts present in the information from the World Wide Web.
- the rendering module 510 can obtain a Web page for a user.
- the associative module 520 can then analyze contents of that Web page to determine keywords or important concepts.
- a user can then perform a search for additional information.
- the associative module 520 can use keywords or concept descriptors that it obtained from the Web page to augment a search query entered by the user.
- the search server 540 will use the augmented search to obtain responsive information. Results of the search can be biased in favor of those Web pages that are similar, or contain similar concepts, as the Web page originally obtained by the rendering module 510 .
- FIG. 6 is system block diagram of an associative information system 600 .
- the associative information system 600 includes a rendering component 610 that can access web pages from a network 630 .
- An associative component 620 can access the Web page from the rendering component 610 and analyze its contents. Such analysis can be in accordance with any of the procedures previously described.
- the associative component 620 can then use results of its analysis to contact a context server 640 to obtain additional content.
- the context server 640 can access a visitor content data store 650 that can include content, such as user comments, ratings, rankings, feedback, or other content, that is related to the Web page obtained by the rendering component 610 .
- the context server 640 can then send such content to the associative component 620 for presentation to the user. In this fashion, the user can access information from other visitors to the Web page and obtain opinions from those users that relate to the Web page.
- a wide variety of types of information that relate to a Web page that is created by other users or viewers of a Web page can be created.
- This content can include notes and chat sessions such as those previously disclosed or described in conjunction with other figures.
- Such content can also include backlinks, context-specific or context-aware search functions, Web log (blog) postings, and ranking functions, among others.
- any of these types of content can be anchored to a location such as a URL or a domain name as previously disclosed or described.
- Such anchoring can enable association of content with a Web site that is hosted by a party other than a party that hosts the Web site with which the content is associated or anchored.
- a tag can be an annotation created by a user that can relate to a Web site or some other information of interest to the creating user. For example, a user can create a tag that includes a short descriptive phrase associated with the Web site. Additionally or alternatively, a rating of a site, such as a multiple star rating or a simple thumbs-up, thumbs-down rating, can be provided. The rating can apply to the Web site itself or to a product or service offered on the Web site, among other things. A link to a related or similar Web site can also be provided, including advertising links. Other types of content can also be added. Further, tags can be ranked according to various attributes and also used to rank Web pages with which those tags are associated.
- FIG. 7 is a system block diagram of a supplemental content provision system 700 .
- the supplemental content provision system 700 can be used to support various types of supplemental content components, specifically including the types of components previously disclosed or described in conjunction with other figures such as notes, chat components, and tags, among others.
- supplemental content components specifically including the types of components previously disclosed or described in conjunction with other figures such as notes, chat components, and tags, among others.
- third-party content can be provided to supplement content from a Web site.
- privacy- and advertising-related components can be made optional.
- the supplemental content provision system 700 includes a client user interface 710 .
- the client user interface 710 can be a Web browser or another type of user interface that has the ability to obtain information and present that information to a user.
- the client user interface 710 can be a pluggable sidebar that can be displayed to a user in conjunction with primary content that can be presented by another component, such as a Web browser in certain implementations. Pluggability of the client user interface 710 can provide the ability for developers to add support for various types of content that can be associated with primary content in any of the ways disclosed or described in conjunction with other figures.
- the client user interface 710 can communicate with a third party content provider 715 .
- the third-party content provider 715 can provide informational content, such as notes, documents such as Web pages, intranet pages, text documents in a variety of formats, graphical or audio information, search-related information including search terms or results and access to search engines, wikis, Web logs (blogs), RSS or other news feeds, chat content including notification-based chat content, instant message information including messages or user names, tags, inlinks, outlinks, and any other information that can be stored or presented in an electronic or machine-readable format, or another type of information to a user by employing a suitable means of communication that can be supported by the client user interface 710 .
- a separate advertising interface 720 can provide a platform for advertisers to create or provide advertising to be presented to the user.
- the advertising interface 720 can be a Web browser window or some other suitable interface. Specifics of the advertising interface depend largely upon details of a particular implementation as well as a desired level of access to be provided to an advertiser.
- the client user interface 710 can send requests for various types of information through a privacy protection service 725 .
- These requests can be requests for content that is associated with or anchored to content provided by the third party content providers 715 .
- the privacy protection service 725 can act to protect an identity or other privacy-related information of a user submitting the requests for information. This protection can be accomplished by obscuring a true user request by including the request among a group of “dummy” requests.
- Other techniques, specifically including use of hash or other encryption functions to encode information requests or use of various anonymizer functions can additionally or alternatively be used.
- the privacy protection service 725 can send information requests to, and receive information from, an information provision system 730 .
- the information provision system 730 can include a variety of components that can facilitate creation and access of supplemental information. This supplemental information can be manually created by a user, can be automatically created by a script or bot such as a Web crawler, or can be otherwise configured to create content for a user.
- the information provision system 730 includes a fetcher 735 .
- the fetcher 735 can receive a request for information that can include a URL, a domain name, or other appropriate identifier, from the client user interface 710 .
- the fetcher 735 can use the request from the client user interface 710 to obtain information from other components.
- the fetcher 735 can obtain a set of preferences for the requesting user from a set of user preferences 740 .
- the fetcher 735 can use any obtained user preferences to tailor information to be provided to the client user interface 710 in accordance with individual desires of a requesting user.
- the fetcher 735 can obtain content from a content data store 745 .
- the content data store 745 can be a database, a Web service, or some other appropriate data store.
- Content that can be included in the content data store 745 can include user-created content from a user content writer 750 .
- the user content writer 750 can provide a means by which content created by a user can be added to the content data store 745 . This means can be a Web form or other Web service, among other things.
- the content data store 745 can also include content from a non-user content module 755 .
- the non-user content module 755 can include such things as scripts, Web crawlers, and tags, among other things.
- the fetcher 735 can also obtain advertising information from an advertising data store 760 .
- the advertising data store 760 can include advertising content, including graphical, audio, and video content, from an advertising purchasing module 765 . Advertisers using the advertising user interface 720 can purchase or otherwise obtain an ability to place advertisements into the information provision system 730 by using the advertising purchasing module 765 .
- the advertising purchasing module 765 can access user models 770 to allow advertisers to select one or more user models to be used in targeting advertising to users.
- a ranking and filtering module 775 can accept content from the fetcher 735 and modify that content in accordance with user preferences 740 and user feedback 780 .
- User feedback 780 can be created by the user of the client user interface 710 and can be used to customize content prior to provision of the content to the client user interface 710 .
- Modified content can be provided to the client user interface 710 by the ranking and filtering module 775 .
- the content data store 745 can also create a notification 785 that can be sent to the client user interface 710 .
- a user of the client user interface 710 can subscribe to such notifications that can be used to trigger requests for information from the client user interface 710 .
- the content data store 745 can generate an event upon modification of included content. This event can cause generation of the notification 785 .
- the notification 785 can be sent to the client user interface 710 which can use the notification as a triggering event to request new or updated content from the information provision system 730 .
- Various components of the information provision system 730 can use artificial intelligence-based components to provide functionality to the system.
- the ranking and filtering module 775 can employ classifiers to assign ranks to content to be provided to the client user interface 710 .
- the advertising purchasing module 765 can use artificial intelligence-based components to match user models 770 with users in desired target demographic groups.
- the disclosed and described components can employ various artificial intelligence-based schemes for carrying out various tasks. For example, demographic matching or content ranking in accordance with user feedback or preferences can be carried out by a neural network, an expert system, a rules-based processing component, or a support vector machine.
- a classification can employ a probabilistic and/or statistical-based analysis (for example, factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed.
- attributes of a reference set of information such as user preferences to be used in a comparison can be used to determine whether attributes of a piece of content can be considered to match the preferences of the user.
- a support vector machine is an example of a classifier that can be employed.
- the SVM operates by finding a hypersurface in the space of possible inputs, which hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data.
- Other directed and undirected model classification approaches include, for example, na ⁇ ve Bayes, Bayesian networks, decision trees, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also includes statistical regression that is utilized to develop models of priority.
- components disclosed or described herein can employ classifiers that are explicitly trained (for example, by a generic training data) as well as implicitly trained (for example, by observing user behavior, receiving extrinsic information).
- SVMs are configured by a learning or training phase within a classifier constructor and feature selection module.
- the classifier(s) can be used to automatically perform a number of functions including, but not limited to, matching and ranking functions.
- the supplemental content provision system 700 can function as follows.
- a user can operate the client user interface 710 to obtain a Web page.
- the Web page can be provided over a network connection such as a LAN, a WAN, an intranet, or the Internet, among others.
- the client user interface 710 can use an anchoring scheme, such as any of the anchoring schemes disclosed or described herein, to identify additional content to obtain from the third party content provider 715 .
- the client user interface 710 can request additional content from the information provision system 730 .
- This additional content can be notes, chat room connections, tags, advertisements, or any combination of these, among others.
- the client user interface sends its request to the privacy protection service 725 .
- This request can be triggered by the notification 785 .
- the privacy protection service 725 anonymizes the request by stripping any personally-identifiable information from the request and forwards the request to the fetcher 735 .
- the privacy protection service 625 can include the request in with a group of dummy requests to hide the real request from anyone who may be monitoring the requests.
- the fetcher 735 obtains user preferences (that can be anyonymized as well) from the user preferences 740 and uses those preferences to obtain content from the content data store 745 and advertisements from the advertisement data store 760 .
- the fetcher sends the content and advertisements to the ranking and filtering module 775 that ranks and filters the content and advertisements in accordance with the user preferences 740 , user models 770 , and user feedback 780 .
- the ranking and filtering module 775 sends the content and advertisements to the privacy protection service 725 that relays the content and advertisements to the client user interface 710 .
- the user can use the client user interface 710 , through the privacy protection service 725 , to create user content by accessing the user content writer 750 .
- the user content writer 750 places the user-created content into the content data store 745 .
- the non-user content 755 can be placed into the content data store 745 and included in content ultimately sent to the client user interface 710 .
- the user can also access the user feedback module 780 to provide explicit feedback for the content provided to the client user interface 710 .
- the feedback can include measures of quality such as relevance along with requests for more information of the type provided or requests to block certain content.
- User feedback can be used in ranking and filtering tasks and can specifically be used to assist in training any artificial intelligence-based components of the ranking and filtering module 775 .
- Advertisers can use the advertising user interface 720 to access the advertising purchasing module 765 . Those advertisers can purchase advertising space and access the user models 770 to define target recipients of the advertising. Advertisers can also use the advertiser user interface 720 and the advertising purchasing module 765 to upload or otherwise provide specific advertising to be provided to users. These advertisements are stored in the advertising data store 760 .
- FIG. 8 is a diagram of an exemplary user interface 800 .
- the user interface 800 can provide a logical arrangement of elements within which information can be presented to a user.
- the user interface 800 can provide a platform that a user can employ to obtain content from an information provider such as a Web site as well as secondary or user-created content that can be anchored to the content from the information provider. Such secondary or user-created content can be presented alongside the content from the information provider.
- the user interface 800 can include a primary information pane 810 .
- the primary information pane 810 can be used to render or display a Web page to which a user has navigated.
- Standard Web page elements such as text, graphics, multimedia content, and embedded code, among other things, can be rendered in the primary information pane 810 .
- the Web page rendered in the primary information pane 810 can be reached by entering a URL in a navigation bar, by performing a search using a search engine, or by clicking on a hyperlink from another Web page, among other methods.
- a secondary information pane or sidebar 820 can be displayed near the primary information pane 810 .
- the secondary information pane or sidebar 820 can be part of a single window that also includes the primary information pane 810 , as shown, or can be presented in a separate window. Additionally or alternatively, the secondary information pane or sidebar 820 can be positioned at the top or bottom of the window as well as on either the left or right sides. Such positioning can be in accordance with a user-selectable preference for the user interface 800 .
- the secondary information pane or sidebar 820 can provide an area within which various elements, such as notes, chat boxes, and advertising, such as the notes, chat boxes, and advertising disclosed and described herein in conjunction with other figures, can be displayed.
- a note 830 includes a message from a user indicating that the user has tickets for sale for an event that is to occur in the same approximate geographic location as an establishment described by a Web page rendered in the primary information pane 810 .
- Other messages are included in notes 840 , 850 , 860 .
- An add note component 870 provides a text box and an entry control that allows a user to create and add a note that can be anchored to the domain name of the Web site currently being viewed in the primary information pane 810 .
- a chat box 880 provides an interface for a user to join a chat session that is related to a general topic of the currently-viewed Web site.
- An advertising area 890 provides a space where targeted advertising can be delivered to a user.
- FIGS. 9-12 flowcharts in accordance with various methods or procedures are presented. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, for example, in the form of a flow chart, are shown and described as a series of acts, it is to be understood and appreciated that neither the illustrated and described methods and procedures nor any components with which such methods or procedures can be used are necessarily limited by the order of acts, as some acts may occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology or procedure.
- FIG. 9 is a flow diagram illustrating a general processing flow of a method 900 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures.
- the method 900 can be used to obtain additional content related to content of interest to a user.
- the additional content can be obtained by analyzing content of a currently-viewed Web page and locating additional content related to content of that Web page.
- Processing of the method 900 begins at START block 910 and proceeds to process block 920 .
- a Web page is fetched from some location on a network.
- the network can be a local area network (LAN), a wide area network (WAN), an intranet, or the Internet, among others.
- Content of the fetched Web page is analyzed at process block 930 .
- Various analysis algorithms can be employed to find important or relevant terms in a Web page. Among those algorithms is the TF-IDF algorithm previously discussed in conjunction with other figures.
- additional content that is related to content of the fetched Web page is identified and obtained.
- This content can be obtained from a location other than the network location that provided the Web page being viewed or the Web page that was analyzed.
- the content can be related in a variety of ways, including, but not limited to, being topically related or being anchored to a URL of the Web page.
- the obtained content can be created by a current user or by other users who have made such content available for public or group viewing.
- the obtained additional content is presented to a user. Presentation can occur in an identified region of a human-computer interface, such as a graphical user interface. Processing of the method 900 terminates at END block 960 .
- FIG. 10 is a flow diagram illustrating a general processing flow 1000 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures.
- the method 1000 can be used to obtain interactive services that related to content of interest to a user.
- the interactive services can be obtained by analyzing content of a currently-viewed Web page and locating interactive services that are related to content of that currently-viewed Web page.
- Processing of the method 1000 begins at START block 1010 and proceeds to process block 1020 .
- a Web page is obtained from a location on a network.
- This network can be a LAN, a WAN, an intranet, or the Internet, among others.
- content of the Web page is analyzed.
- the TF-IDF algorithm can be used to analyze the Web page. Other algorithms can also be used.
- An interactive service in this example a chat session, that is related to the content of the Web page is identified at process block 1040 . Identification can be based upon a keyword search for chatroom topics, among other methods.
- a connection is made to at least one identified chat session and chatroom content is presented to a user. Processing of the method 1000 terminates at END block 760 .
- FIG. 11 is a flow diagram illustrating a general processing flow of a method 1100 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures.
- the method 1100 can be used to obtain additional content that is related to content of interest to a user.
- the additional content can be obtained by analyzing content of a currently-viewed Web page and locating additional content that can reference content of that currently-viewed Web page.
- Processing of the method 1100 begins at START block 1110 . Processing then continues to process block 1120 where a Web page is fetched.
- the Web page can be fetched from some Web server that can be local or remote.
- a remote Web server can be accessed by using a network such as a LAN, a WAN, an intranet, or the Internet, among others.
- content of the fetched Web page is analyzed. Analysis of the content of the Web page can be according to a variety of algorithms, specifically including the TF-IDF algorithm. Another suitable algorithm can be substituted for the TF-IDF algorithm.
- Web log content can be relevant in a variety of ways. For example, a Web log can specifically discuss content on the Web page that was analyzed. A Web log entry can also provide a hyperlink to the analyzed Web page. Also, a Web log entry can simply discuss the same or a similar topic as the analyzed Web page. Such Web log content is presented to user at process block 1150 . Processing of the method 1100 terminates at END block 1160 .
- FIG. 12 is a flow diagram illustrating a general processing flow of a method 1200 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures.
- the method 1200 can be used to obtain additional content related to content of interest to a user.
- the additional content can be obtained by analyzing content of a currently-viewed Web page and performing a search to create a set of results that can be biased in favor of results that include content that is similar to content of that analyzed Web page.
- a Web page is fetched from some information server, such as a Web server.
- the information server can be local or remote.
- the Web page can be obtained over a network such as a LAN, a WAN, an intranet, or the Internet, among others.
- the fetched Web page is analyzed at process block 1230 .
- Important terms or concepts from the Web page are identified at process block 1240 .
- Analysis and identification tasks can be performed using various algorithms, including the TF-IDF algorithms discussed in conjunction with other figures.
- Processing of the method 1200 continues at process block 1250 where a search query is accepted from the user.
- the search query accepted from the user is optionally augmented by adding important terms or concepts identified from the analyzed Web page to the query.
- a search, using the augmented query, is performed at process block 1270 . Augmentation of the query in this manner can be used to bias results of the search in favor of results that include content that is similar to content of the analyzed Web page. Searches can also optionally be refined in a variety of ways, such as by limiting a query to a current domain or to pages that link to a currently-viewed page. Other modifications are also possible.
- Results of the search are obtained at process block 1280 and can be presented to a user through some interface.
- the obtained results are optionally reordered. Processing of the method 1200 terminates at END block 1290 .
- FIGS. 13-14 and the following discussion is intended to provide a brief, general description of a suitable computing environment within which disclosed and described components and methods can be implemented. While various specific implementations have been described above in the general context of computer-executable instructions of a computer program that runs on a local computer and/or remote computer, those skilled in the art will recognize that other implementations are also possible either alone or in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types.
- FIG. 13 is a schematic block diagram of a sample-computing environment 1300 with which the subject invention can interact.
- the system 1300 includes one or more client(s) 1310 .
- the client(s) 1310 can be hardware and/or software (e.g., threads, processes, computing devices).
- the system 1300 also includes one or more server(s) 1320 .
- the server(s) 1320 can be hardware and/or software (e.g., threads, processes, computing devices).
- the servers 1320 can house threads or processes to perform transformations by employing the subject invention, for example.
- the system 1300 includes a communication framework 1340 that can be employed to facilitate communications between the client(s) 1310 and the server(s) 1320 .
- the client(s) 1310 are operably connected to one or more client data store(s) 1350 that can be employed to store information local to the client(s) 1310 .
- the server(s) 1320 are operably connected to one or more server data store(s) 1330 that can be employed to store information local to the servers 1340 .
- an exemplary environment 1400 for implementing various aspects of the invention includes a computer 1412 .
- the computer 1412 includes a processing unit 1414 , a system memory 1416 , and a system bus 1418 .
- the system bus 1418 couples system components including, but not limited to, the system memory 1416 to the processing unit 1414 .
- the processing unit 1414 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 1414 .
- the system bus 1418 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1394), and Small Computer Systems Interface (SCSI).
- ISA Industrial Standard Architecture
- MSA Micro-Channel Architecture
- EISA Extended ISA
- IDE Intelligent Drive Electronics
- VLB VESA Local Bus
- PCI Peripheral Component Interconnect
- Card Bus Universal Serial Bus
- USB Universal Serial Bus
- AGP Advanced Graphics Port
- PCMCIA Personal Computer Memory Card International Association bus
- Firewire IEEE 1394
- SCSI Small Computer Systems Interface
- the system memory 1416 includes volatile memory 1420 and nonvolatile memory 1422 .
- the basic input/output system (BIOS) containing the basic routines to transfer information between elements within the computer 1412 , such as during start-up, is stored in nonvolatile memory 1422 .
- nonvolatile memory 1422 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory.
- Volatile memory 1420 includes random access memory (RAM), which acts as external cache memory.
- RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
- SRAM synchronous RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM Synchlink DRAM
- DRRAM direct Rambus RAM
- Computer 1412 also includes removable/non-removable, volatile/non-volatile computer storage media.
- FIG. 14 illustrates a disk storage 1424 .
- the disk storage 1424 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick.
- disk storage 1424 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
- CD-ROM compact disk ROM device
- CD-R Drive CD recordable drive
- CD-RW Drive CD rewritable drive
- DVD-ROM digital versatile disk ROM drive
- a removable or non-removable interface is typically used such as interface 1426 .
- FIG. 14 describes software that acts as an intermediary between users and the basic computer resources described in the suitable operating environment 1400 .
- Such software includes an operating system 1428 .
- the operating system 1428 which can be stored on the disk storage 1424 , acts to control and allocate resources of the computer system 1412 .
- System applications 1430 take advantage of the management of resources by operating system 1428 through program modules 1432 and program data 1434 stored either in system memory 1416 or on disk storage 1424 . It is to be appreciated that the subject invention can be implemented with various operating systems or combinations of operating systems.
- a user enters commands or information into the computer 1412 through input device(s) 1436 .
- the input devices 1436 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like.
- These and other input devices connect to the processing unit 1414 through the system bus 1418 via interface port(s) 1438 .
- Interface port(s) 1438 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB).
- Output device(s) 1440 use some of the same type of ports as input device(s) 1436 .
- a USB port may be used to provide input to computer 1412 , and to output information from computer 1412 to an output device 1440 .
- Output adapter 1442 is provided to illustrate that there are some output devices 1440 like monitors, speakers, and printers, among other output devices 1440 , which require special adapters.
- the output adapters 1442 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1440 and the system bus 1418 . It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1444 .
- Computer 1412 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1444 .
- the remote computer(s) 1444 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1412 .
- only a memory storage device 1446 is illustrated with remote computer(s) 1444 .
- Remote computer(s) 1444 is logically connected to computer 1412 through a network interface 1448 and then physically connected via communication connection 1450 .
- Network interface 1448 encompasses wire and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN).
- LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like.
- WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
- ISDN Integrated Services Digital Networks
- DSL Digital Subscriber Lines
- Communication connection(s) 1450 refers to the hardware/software employed to connect the network interface 1448 to the bus 1418 . While communication connection 1450 is shown for illustrative clarity inside computer 1412 , it can also be external to computer 1412 .
- the hardware/software necessary for connection to the network interface 1248 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
- the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the invention.
- the invention includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A system for associating information comprises an association module that uses anchoring information to associate a first piece of information with a second piece of information, wherein the second piece of information is not part of the first piece of information. The system further includes a rendering module that presents the second piece of information for use. Methods for using such a system are also described.
Description
- This application is a continuation of, and claims priority to, U.S. patent application Ser. No. 11/227,937, titled, “Associating Information with an Electronic Document,” filed on Sep. 15, 2005, which issued on Jun. 8, 2010, as U.S. Pat. No. 7,734,631, and is hereby incorporated by reference, which claims priority to provisional application No. 60/674,628, filed Apr. 25, 2005, which is also hereby incorporated by reference.
- The Internet has evolved into a communication platform upon which a variety of information-based services can be provided. One of the most popular of these services is the provision of electronic documents constructed using hypertext markup language (HTML). These documents are often referred to as web pages and are available from computing locations or sites on a logical segment of the Internet commonly referred to as the World Wide Web, or simply the Web. Information available on these Web sites and servers is typically accessed using a Web browser executing on a remote computer. For example, a user can launch a Web browser and access a Web site by entering a Uniform Resource Locator (URL) of the Web site into an address bar of the Web browser and pressing the enter key on a keyboard or clicking a button with a mouse. The URL typically includes three pieces of information that facilitate access: a protocol indicator that designates a set of rules or standards for the exchange of information in computer communication, a domain name that is often based on the name of an organization that maintains the Web site, and a path to the desired document within the domain. Standard Web browsers can use the information included in a URL to establish a connection with a Web server and obtain information from that Web server.
- In addition to Web sites and Web pages, other types of services are available. Among those services are electronic mail, instant messaging, chat services, audio or video services, and other information services. Typically, each service available on the Internet has existed in isolation from other services. For example, a user can access a Web site using a Web browser but must open an audio application to access audio information as a separate service. Additionally, a user may have to open a third application to access a chat service and a fourth application to access a messaging service.
- Typically, although information content from each type of service exists in isolation from other services, such information can be logically related in a variety of different ways. For example, information can be logically related in the sense that information available from each service can refer to information available on another service. Also, information from more than one available service can be topically related, originate from the same source, or be related in some other fashion. Current systems fail to provide any ability to integrate information from various services in logical and meaningful ways.
- The following presents a simplified summary in order to provide a basic understanding and high-level survey. This summary is not an extensive overview. It is neither intended to identify key or critical elements nor to delineate scope. The sole purpose of this summary is to present some concepts in a simplified form as a prelude to the more detailed description later presented. Additionally, section headings used herein are provided merely for convenience and should not be taken as limiting in any way.
- A rendering module can obtain information, such as a Web page, from an information source using a network. An associative module can analyze that obtained information and use results of its analysis to identify and locate key or important pieces of the information. This information, among other types, can be used as an anchor with which to associate other information in addition to the original information. Additional information can be presented to a user.
- A variety of additional types of information or information services can be provided to a user based upon an analysis of the content of the information obtained by the user, for example, content of a Web page. Content from Web logs that relate or refer to a Web page currently being viewed by the user can be presented along with the currently-viewed Web page. Among the possible types of content that can be presented are advertising-based content and content created by other visitors to a Web site, such as notes, comments, ratings, and reviews. Also, one or more hyperlinks from a Web page that references the present Web page can be presented. Additionally, services such as automatic connection to relevant chat room discussions and page-biased searches can be provided.
- The disclosed and described components and methods comprise one or more of the features hereinafter described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain specific illustrative components and methods. However, these components and methods are indicative of but a few of the various ways in which the disclosed components and methods can be employed. Specific implementations of the disclosed and described components and methods can include some, many, or all of such components and methods, as well as their equivalents. Variations of the specific implementations and examples presented herein will become apparent from the following detailed description when considered in conjunction with the drawings.
-
FIG. 1 is a system block diagram of an associative information system. -
FIG. 2 is a block diagram of a note. -
FIG. 3 is a system block diagram of an associative information system. -
FIG. 4 is a system block diagram of an associative information system. -
FIG. 5 is a system block diagram of an associative information system. -
FIG. 6 is a system block diagram of an associative information system. -
FIG. 7 is a system block diagram of a supplemental content provision system. -
FIG. 8 is a diagram of an exemplary user interface. -
FIG. 9 is a flow diagram depicting a general processing flow of a method that can be employed in accordance with components that are disclosed and described herein. -
FIG. 10 is a flow diagram depicting a general processing flow of a method that can be employed in accordance with components that are disclosed and described herein. -
FIG. 11 is a flow diagram of a general processing flow of a method can be employed in accordance with components that are disclosed and described herein. -
FIG. 12 is a flow diagram depicting a general processing flow of a method that can be employed in accordance with components that are disclosed and described herein. -
FIG. 13 illustrates an exemplary networking environment. -
FIG. 14 illustrates an exemplary computing environment. - As used in this application, the terms “component,” “system,” “module,” and the like are intended to refer to a computer-related entity, such as hardware, software (for instance, in execution), and/or firmware. For example, a component can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer. Also, both an application running on a server and the server can be components. One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
- Disclosed components and methods are described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed subject matter. It may be evident, however, that certain of these specific details can be omitted or combined with others in a specific implementation. In other instances, certain structures and devices are shown in block diagram form in order to facilitate description. Additionally, although specific examples set forth may use terminology that is consistent with client/server architectures or may even be examples of client/server implementations, skilled artisans will appreciate that the roles of client and server may be reversed, that the disclosed and described components and methods are not limited to client/server architectures and may be readily adapted for use in other architectures, specifically including peer-to-peer (P2P) architectures, without departing from the spirit or scope of the disclosed and described components and methods. Further, it should be noted that although specific examples presented herein include or reference specific components, an implementation of the components and methods disclosed and described herein is not necessarily limited to those specific components and can be employed in other contexts as well.
- It should also be appreciated that although specific examples presented may describe or depict systems or methods that are based upon components of personal computers, the use of components and methods disclosed and described herein is not limited to that domain. For example, the disclosed and described components and methods can be used in a distributed or network computing environment. Additionally or alternatively, the disclosed and described components and methods can be used on a single server accessed by multiple clients. Those of ordinary skill in the art will readily recognize that the disclosed and described components and methods can be used to create other components and execute other methods on a wide variety of computing devices.
-
FIG. 1 is a system block diagram of aninteractive information system 100. Theinteractive information system 100 includes arendering component 110 that can obtain information from a primaryinformation data store 120. Therendering component 110 can be a Web browser or another component that has the capability to obtain and present information. Specifically, therendering component 110 can be a stand-alone application that can be launched and operated by a user or can be a module that is designed to be used in conjunction with another component, such as an HTML rendering engine for an email application or another such component. Therendering component 110 can present obtained information to a user on a visual display or some other human-computer interface such as a speech-based interface or a Braille interface, among others. - The primary
information data store 120 can be a database, an intranet, the World Wide Web, the Internet, a file share, or some other source of information, specifically including a source of information that can be accessed remotely. Information included in the primaryinformation data store 120 can depend upon a specific implementation of the primaryinformation data store 120 but generally can include any information in an electronic or machine-readable form. Specifically, information stored in the primary information data store can include Web pages from the Internet or an intranet, text documents in a variety of formats, graphical image information, audio information, video information, multimedia information, and other suitable forms of information. - An association plug-in 130 can communicate with the
rendering component 110 and the primaryinformation data store 120 to obtain information that therendering component 110 can present to a user. Additionally or alternatively, the interactive plug-in 130 can obtain additional information from another information source such as the secondaryinformation data store 140. The secondaryinformation data store 140 can be implemented in much the same way as the primaryinformation data store 120 and can include the same types of information, among others. Specifically, the secondaryinformation data store 140 can include notes, documents such as Web pages, intranet pages, text documents in a variety of formats, graphical or audio information, search-related information including search terms or results and access to search engines, wikis, Web logs (blogs), RSS or other news feeds, chat content including notification-based chat content, instant message information including messages or user names, tags, inlinks, outlinks, and any other information that can be stored or presented in an electronic or machine-readable format. - Information included in the secondary
information data store 140 can be created by a secondarycontent creation module 150. Those of ordinary skill in the art will recognize from reading this disclosure that implementation details of the secondarycontent creation module 150 can vary depending upon a specific type of information to be created for use with the secondaryinformation data store 140. Specifically, depending upon such content, the secondarycontent creation module 150 can be a text editor, a word processor, a spreadsheet program, a slideshow or presentation program, a Web page editor, a graphics program, an audio program, a Web logging (blogging) tool, a chat program, an instant messaging program, or some other suitable component, specifically including a combination of some or all of the foregoing examples. - The association plug-in 130 can relate or associate information from the secondary
information data store 140 with information originally obtained from the primaryinformation data store 120 for display by therendering component 110. Specifically, the additional information from the secondaryinformation data store 140 can be anchored to information from the primaryinformation data store 120. Such anchoring or association can be accomplished in a variety of ways. For example, a domain name, such as example-domain-name.tld, associated with a Web page can be used as an anchor for a piece of information from the secondaryinformation data store 140. Similarly, a fully- or partially-qualified uniform resource locator (URL), including a relative URL, of a currently- or previously-accessed Web page or other resource can be used as an anchor. Other possible anchors include, but are not limited to, locations of files on file shares or other remote locations, keywords included in content from the primaryinformation data store 120, or form data, among others. - In one example, information from the secondary
information data store 140 can be a note that includes some text. The note can be anchored to a Web page by associating the note with the URL of the Web page. The note could also be anchored to a piece of form data. For instance, if the form data is a postal zip code, the note can appear whenever a user enters that zip code into a form. As another example, the note can be anchored to specific keywords. When a user views information from the primaryinformation data store 120 that includes such keywords, the note can be displayed to the user by therendering component 110. The note can be replaced with any content from the secondaryinformation data store 140. Generally, any content from the secondaryinformation data store 140 can be anchored using any appropriate anchor to any content from the primaryinformation data store 120 in any appropriate combination. - It should be noted that although the additional information can be anchored to or associated with the information originally obtained, content of the additional information does not have to be related to content included in the information originally obtained. For example, the information originally obtained can be a Web page about computer programming languages and the additional information can be a link to a search engine. In this example, the link to the search engine has no connection with the content of the Web page. Many other types of additional content or additional functions can be used or provided by the association plug-in 130.
- An example based upon Web pages follows. The
rendering component 110 can retrieve a Web page from the primaryinformation data store 120. The Web page can be presented to a user by therendering component 110. The association plug-in 130 can analyze the Web page to determine which content of the Web page is important. A variety of approaches can be employed to analyze the Web page. Among these approaches is a technique of creating a list of terms that are included in the web page and use the term frequency-inverse document frequency (TF-IDF) algorithm to create a probabilistic summary of the content of the Web page. The association plug-in 130 can use content of the Web page to identify other content to be presented to the user. This other content can include, among other things, content from interactive chat rooms organized around topics related to the Web page, content from Web log (blogs) entries or RSS or other news feeds that are related to the Web page or that specifically mentioned the Web page, hyperlinks from other pages that specifically point to the Web page, access to a search engine, advertising that is related to the content of the Web page, or content in the form of comments made by other visitors to the Web page. - The association plug-in 130 can be implemented in a variety of ways that can depend in large part upon a specific implementation of the
rendering component 110, among other factors that will be readily apparent to one of ordinary skill in the art upon reading this disclosure. In one exemplary implementation, the association plug-in 130 can be executable code that runs in a sidebar or similar area of a window or a Web browser. The association plug-in 130 can also be a stand-alone application or other suitable executable code. The association plug-in 130 can be a notation component that provides a user with the ability to post a notice that can be associated with a specific URL. - The notice can be informational in nature, including such things as hyperlinks to related subjects, information on products or services that are similar to products or services mentioned in a Web page, or other information. The notice can also be organizational in the sense that the notice can be used to organize personal notes by URL, such as notes regarding research papers at a specific home page. Social applications of the notice are also possible by using the notice to post a message to another user who visits a URL with which the notice is associated. The message can be intended to another person who will be attending an event, another person with interests that are similar to interests of the creator of the message, a part of a discussion regarding a topic of a Web page, or any other type of message. The notice can also have an entertainment purpose such as providing humor or being part of an online game.
-
FIG. 2 is a block diagram of anote 200. Thenote 200 can be used by an association plug-in, such as the association plug-in 130 ofFIG. 1 , to convey information that can be associated with some online content. Specifically, the information to be conveyed can include any of the types of information previously disclosed and described in conjunction withFIG. 1 . - The
note 200 can include a plurality of fields. Ananchor field 210 can include information that can be used to anchor content of thenote 200 to an information location. Information in theanchor field 210 can include a URL, a domain name, or a root domain, among other location identifiers. Theanchor field 210 can be used to describe any appropriate anchor, specifically including the types of anchors previously disclosed and described in conjunction withFIG. 1 . Theanchor field 210 can be used to associate content that can be used by an association plug-in with some information location. - Based upon the type of anchor and other factors, the
note 200 can include a variety of fields. Akeywords field 220 can include keywords that relate to content and can be used for indexing or search purposes. A contentkey field 230 can include some keywords or phrases that can be used to locate content, such as a Web page, that includes or matches information in the contentkey field 230. Aform data field 240 can include information that can be used to search for similar information in forms. The form data field can also include form information such as one or more form field names to match a form field to a value for that field. - A
scope field 250 can include information regarding a level at which a note, such as thenote 200, can be distributed. For example, thescope field 250 can indicate that thenote 200 is private and should only be viewable by its creator. Thescope field 250 can also indicate that group access is permitted for members of a particular group or groups. These groups can be defined based upon some criterion or can include preselected members, among other ways of defining membership. Further, public access can be indicated by information in thescope field 250 such that thenote 200 can be viewed by anyone. - The
note 200 can also include atype field 260. Information in thetype field 260 can be used to define different types of notes. For example, different types can include simple text boxes, pictures, discussion threads, or user-defined types, among others. Different types of notes can be displayed to a user in different ways to provide visual cues regarding the specific type of not being presented. It should be noted that presence of these fields can provide the ability for a user to filter notes based upon personal preferences. Additionally, notes such as thenote 200 can be static in the sense that its content can be fixed or can be dynamic. A dynamic note, for example, can request updated information from a server each time the dynamic note is activated. - In another exemplary implementation, a user can specify a provider of content such as a
note 200 from which the user desires to obtain content. The user can also specify a region within which such content can be displayed. One possible method of specifying such a region is by providing a graphical tool that the user can place in a sidebar of a Web browser window. The user can also select from among other options such as closing notes, having notes automatically refresh content, have notes provide labeled sub-bars that can categorize information, associate a note with one or more anchors, set an expiration date, restrict dissemination of the note, and create notes anonymously, among other things. - Perceived utility of notes can be subject to a network effect where a value of a note system increases with a number of users. To provide some initial value, when initializing a note system, a variety of techniques can be used. For example, notes can be shared across URLs. Notes can also provide automatic annotation of Web sites, blogs, newsgroups, and discussion forums, among others. Dynamic notes and other content boxes can readily supply content. Scenario sites that demonstrate uses for notes can also be created. Additionally, an application programming interface (API) for notes can be provided to encourage developers to create their own notes. Search functions for notes can also add to their usefulness. Prizes can also be awarded to users of notes to encourage additional use. Also, popular Web sites can be used to promote installation and further use of notes by users. At least some of those popular Web sites can be formally engaged as promoters of notes. Also, certain content can be provided only through use of notes such that installation of notes components can be required to access that content.
- Notes can also be subjected to filtering and ranking functions. Ordering of notes can be accomplished according to a variety of social networking or web of trust networking concepts. Notes that are anchored to a specific URL can be ranked more (or less) highly than notes that are simply anchored to a domain name. Ranking functions can also be employed based at least in part upon one or more factors such as a scope of a note, an author of a note, a date of creation of a note, a preference profile of a user, a filter function, link analysis, feedback for a note such as a score or whether the note was closed by a user, and thresholds for note rankings, among others.
- Privacy concerns for use of notes can be addressed in a variety of ways. For example, a component can request multiple notes from different URLs to obscure identifying information for a note that is actually desired. This technique can be used in combination with a prefetching scheme. A one-way hash of a URL for the note can be created and sent to a server instead of a cleartext request. Additionally or alternatively, an intermediate server can be employed to obscure the identity of a user requesting a particular note.
- Along with notes, an interactive component can be a web chat component that can allow for dynamic chat sessions between or among users. Such chat sessions can also be anchored to a URL or a domain name, among others. Chat sessions can also be anchored to more than one site to provide for more varied discussion. Such chat sessions can also be notification-based such that a user can be notified when another user arrives at a specified site and desires to participate in a chat session with other users. Other Web-aware applications can also be implemented, such as a listing component that provides a list of Web pages that link to a Web page being viewed, a page summary component that summarizes content on a currently viewed Web page, and a search component that provides links to search engine searches for terms that appear frequently in a Web page, among others.
-
FIG. 3 is a system block diagram of anassociative information system 300. Theassociative information system 300 includes arendering component 310 and an associative plug-incomponent 320. As in preceding examples, the associative plug-incomponent 320 can be a stand-alone application, can be a pluggable part of another application, or can be some other suitable executable code. Therendering component 310 can access informational content from anetwork 330. Thenetwork 330 can be the Internet, the World Wide Web, an intranet, or another suitable network or information source. - The associative plug-in 320 can access and analyze the informational content that the
rendering component 310 has retrieved from thenetwork 330. To analyze the informational content, the associative plug-in 320 can use any suitable approach, including one of the approaches discussed in relation to other figures. The associative plug-in 320 can then connect to achat server 340 to establish a session in a chat room that is organized around a topic that is related to the informational content. - For example, in operation the
rendering component 310 can obtain a Web page from the World Wide Web. The associative plug-in 320 can then analyze the content of the Web page to determine a subject of the Web page. The associative plug-in 320 can then connect to thechat server 340 to locate a chat room that is related to the subject of the Web page. A user can then participate in a discussion in the chat room while continuing to view the web page. -
FIG. 4 is a system block diagram of anassociative information system 400. Theassociative information system 400 includes arendering component 410 and anassociative component 420. Therendering component 410 can be a Web browser or another appropriate component that has a capability to obtain and render information. Therendering component 410 can access information available on anetwork 430 and communicate that information to theassociative component 420. - The
associative component 420 can analyze the information it receives from therendering component 410 and use that information to obtain additional content from a Web log (blog)data store 440. The Web log (blog)data store 440 can include information about Web log (blog) entries and cross-references from Web log (blog) entries to Web sites. A cross-reference can be created for a Web log (blog) entry that deals with a topic that is the same as, or similar to, a topic of a Web site. A cross-reference can also be created for Web log (blog) entry that specifically references a Web site. Other cross-references can also be created. - In use, the
rendering component 410 accesses a piece of information from thenetwork 430 and renders that information for presentation to a user. Theassociative component 420 analyzes the piece of rendered information to discern a general topic or other content-related theme of the information. Theassociative component 420 accesses the Web log (blog)data store 440 to locate Web log (blog) entries that are cross-referenced with the information that was obtained by therendering component 410. Theassociative component 420 can then cause those Web log entries to be presented to the user while the user is still viewing the information. - Instead of or in addition to a Web log (blog) entry, information about a product or service that is related to a subject of Web page can be presented. Such information can be in the form of user reviews or can be advertising from a provider of a product or service itself. Such advertising can be triggered by using keywords from the information already retrieved by the
rendering component 410. Therefore, the advertising can be targeted to users who are most likely to respond to such ads. Additionally or alternatively, a user can subscribe to content updates to have a variety of events, such as addition of content, server as a trigger to cause a content update operation to occur automatically. - One possible implementation includes a sidebar component that can provide a contextually intelligent search application. This search application can access content of a Web page that is being viewed by a user and calculate importance of various terms on that Web page, for example, by using an algorithm such as the term frequency-inverse document frequency (TF-IDF) algorithm. The user, when submitting a query through the search application, can obtain query results that are biased in favor of results having content that is similar to the content being viewed.
-
FIG. 5 is a system block diagram of an associative information system 500. The associative information system 500 includes a rendering module 510 and an associative module 520. The rendering module 510 can retrieve and present information from the World Wide Web 530. The associative module 520 can access and analyze the information retrieved by the rendering module 510 in any of the previously-described manners. The associative module 520 can then use results of such analysis to access a search server 540. The search server 540 can provide results that are responsive to a search query and that are biased toward concepts present in the information from the World Wide Web. - For example, the rendering module 510 can obtain a Web page for a user. The associative module 520 can then analyze contents of that Web page to determine keywords or important concepts. A user can then perform a search for additional information. The associative module 520 can use keywords or concept descriptors that it obtained from the Web page to augment a search query entered by the user. The search server 540 will use the augmented search to obtain responsive information. Results of the search can be biased in favor of those Web pages that are similar, or contain similar concepts, as the Web page originally obtained by the rendering module 510.
-
FIG. 6 is system block diagram of anassociative information system 600. Theassociative information system 600 includes arendering component 610 that can access web pages from anetwork 630. Anassociative component 620 can access the Web page from therendering component 610 and analyze its contents. Such analysis can be in accordance with any of the procedures previously described. Theassociative component 620 can then use results of its analysis to contact acontext server 640 to obtain additional content. - The
context server 640 can access a visitorcontent data store 650 that can include content, such as user comments, ratings, rankings, feedback, or other content, that is related to the Web page obtained by therendering component 610. Thecontext server 640 can then send such content to theassociative component 620 for presentation to the user. In this fashion, the user can access information from other visitors to the Web page and obtain opinions from those users that relate to the Web page. - A wide variety of types of information that relate to a Web page that is created by other users or viewers of a Web page can be created. This content can include notes and chat sessions such as those previously disclosed or described in conjunction with other figures. Such content can also include backlinks, context-specific or context-aware search functions, Web log (blog) postings, and ranking functions, among others. It should be noted that any of these types of content can be anchored to a location such as a URL or a domain name as previously disclosed or described. Such anchoring can enable association of content with a Web site that is hosted by a party other than a party that hosts the Web site with which the content is associated or anchored.
- One type of content that can be created by a user of a Web site is a tag. A tag can be an annotation created by a user that can relate to a Web site or some other information of interest to the creating user. For example, a user can create a tag that includes a short descriptive phrase associated with the Web site. Additionally or alternatively, a rating of a site, such as a multiple star rating or a simple thumbs-up, thumbs-down rating, can be provided. The rating can apply to the Web site itself or to a product or service offered on the Web site, among other things. A link to a related or similar Web site can also be provided, including advertising links. Other types of content can also be added. Further, tags can be ranked according to various attributes and also used to rank Web pages with which those tags are associated.
-
FIG. 7 is a system block diagram of a supplementalcontent provision system 700. The supplementalcontent provision system 700 can be used to support various types of supplemental content components, specifically including the types of components previously disclosed or described in conjunction with other figures such as notes, chat components, and tags, among others. Specifically, a wide variety of third-party content can be provided to supplement content from a Web site. Those of ordinary skill in the art will recognize from reading this disclosure that not all of the components disclosed or described in conjunction withFIG. 7 are necessary in every implementation. For example, privacy- and advertising-related components can be made optional. - The supplemental
content provision system 700 includes aclient user interface 710. Theclient user interface 710 can be a Web browser or another type of user interface that has the ability to obtain information and present that information to a user. Specifically, theclient user interface 710 can be a pluggable sidebar that can be displayed to a user in conjunction with primary content that can be presented by another component, such as a Web browser in certain implementations. Pluggability of theclient user interface 710 can provide the ability for developers to add support for various types of content that can be associated with primary content in any of the ways disclosed or described in conjunction with other figures. - The
client user interface 710 can communicate with a thirdparty content provider 715. The third-party content provider 715 can provide informational content, such as notes, documents such as Web pages, intranet pages, text documents in a variety of formats, graphical or audio information, search-related information including search terms or results and access to search engines, wikis, Web logs (blogs), RSS or other news feeds, chat content including notification-based chat content, instant message information including messages or user names, tags, inlinks, outlinks, and any other information that can be stored or presented in an electronic or machine-readable format, or another type of information to a user by employing a suitable means of communication that can be supported by theclient user interface 710. Aseparate advertising interface 720 can provide a platform for advertisers to create or provide advertising to be presented to the user. Theadvertising interface 720 can be a Web browser window or some other suitable interface. Specifics of the advertising interface depend largely upon details of a particular implementation as well as a desired level of access to be provided to an advertiser. - The
client user interface 710 can send requests for various types of information through aprivacy protection service 725. These requests can be requests for content that is associated with or anchored to content provided by the thirdparty content providers 715. Theprivacy protection service 725 can act to protect an identity or other privacy-related information of a user submitting the requests for information. This protection can be accomplished by obscuring a true user request by including the request among a group of “dummy” requests. Other techniques, specifically including use of hash or other encryption functions to encode information requests or use of various anonymizer functions can additionally or alternatively be used. - The
privacy protection service 725 can send information requests to, and receive information from, aninformation provision system 730. Theinformation provision system 730 can include a variety of components that can facilitate creation and access of supplemental information. This supplemental information can be manually created by a user, can be automatically created by a script or bot such as a Web crawler, or can be otherwise configured to create content for a user. - The
information provision system 730 includes afetcher 735. Thefetcher 735 can receive a request for information that can include a URL, a domain name, or other appropriate identifier, from theclient user interface 710. Thefetcher 735 can use the request from theclient user interface 710 to obtain information from other components. Specifically, thefetcher 735 can obtain a set of preferences for the requesting user from a set ofuser preferences 740. Thefetcher 735 can use any obtained user preferences to tailor information to be provided to theclient user interface 710 in accordance with individual desires of a requesting user. - The
fetcher 735 can obtain content from acontent data store 745. Thecontent data store 745 can be a database, a Web service, or some other appropriate data store. Content that can be included in thecontent data store 745 can include user-created content from auser content writer 750. Theuser content writer 750 can provide a means by which content created by a user can be added to thecontent data store 745. This means can be a Web form or other Web service, among other things. Thecontent data store 745 can also include content from anon-user content module 755. Thenon-user content module 755 can include such things as scripts, Web crawlers, and tags, among other things. - The
fetcher 735 can also obtain advertising information from anadvertising data store 760. Theadvertising data store 760 can include advertising content, including graphical, audio, and video content, from anadvertising purchasing module 765. Advertisers using theadvertising user interface 720 can purchase or otherwise obtain an ability to place advertisements into theinformation provision system 730 by using theadvertising purchasing module 765. Theadvertising purchasing module 765 can accessuser models 770 to allow advertisers to select one or more user models to be used in targeting advertising to users. - A ranking and
filtering module 775 can accept content from thefetcher 735 and modify that content in accordance withuser preferences 740 anduser feedback 780.User feedback 780 can be created by the user of theclient user interface 710 and can be used to customize content prior to provision of the content to theclient user interface 710. Modified content can be provided to theclient user interface 710 by the ranking andfiltering module 775. - The
content data store 745 can also create anotification 785 that can be sent to theclient user interface 710. A user of theclient user interface 710 can subscribe to such notifications that can be used to trigger requests for information from theclient user interface 710. Thecontent data store 745 can generate an event upon modification of included content. This event can cause generation of thenotification 785. Thenotification 785 can be sent to theclient user interface 710 which can use the notification as a triggering event to request new or updated content from theinformation provision system 730. - Various components of the
information provision system 730 can use artificial intelligence-based components to provide functionality to the system. For example, the ranking andfiltering module 775 can employ classifiers to assign ranks to content to be provided to theclient user interface 710. Also, for example, theadvertising purchasing module 765 can use artificial intelligence-based components to matchuser models 770 with users in desired target demographic groups. - The disclosed and described components, for example in connection with the previously mentions matching or inference tasks, among others, can employ various artificial intelligence-based schemes for carrying out various tasks. For example, demographic matching or content ranking in accordance with user feedback or preferences can be carried out by a neural network, an expert system, a rules-based processing component, or a support vector machine.
- A classifier is a function that maps an input attribute vector, X=(x1, X2, x3, x4, . . . xn), to a confidence that the input belongs to a class, that is, f(X)=confidence(class). Such a classification can employ a probabilistic and/or statistical-based analysis (for example, factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. In the case of a content provision system, for example, attributes of a reference set of information such as user preferences to be used in a comparison can be used to determine whether attributes of a piece of content can be considered to match the preferences of the user.
- A support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, which hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data. Other directed and undirected model classification approaches include, for example, naïve Bayes, Bayesian networks, decision trees, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also includes statistical regression that is utilized to develop models of priority.
- As will be readily appreciated from the subject specification, components disclosed or described herein can employ classifiers that are explicitly trained (for example, by a generic training data) as well as implicitly trained (for example, by observing user behavior, receiving extrinsic information). For example, SVMs are configured by a learning or training phase within a classifier constructor and feature selection module. Thus, the classifier(s) can be used to automatically perform a number of functions including, but not limited to, matching and ranking functions.
- In operation, the supplemental
content provision system 700 can function as follows. A user can operate theclient user interface 710 to obtain a Web page. The Web page can be provided over a network connection such as a LAN, a WAN, an intranet, or the Internet, among others. Theclient user interface 710 can use an anchoring scheme, such as any of the anchoring schemes disclosed or described herein, to identify additional content to obtain from the thirdparty content provider 715. Based upon the anchor, theclient user interface 710 can request additional content from theinformation provision system 730. This additional content can be notes, chat room connections, tags, advertisements, or any combination of these, among others. - The client user interface sends its request to the
privacy protection service 725. This request can be triggered by thenotification 785. Theprivacy protection service 725 anonymizes the request by stripping any personally-identifiable information from the request and forwards the request to thefetcher 735. Additionally or alternatively, the privacy protection service 625 can include the request in with a group of dummy requests to hide the real request from anyone who may be monitoring the requests. - The
fetcher 735 obtains user preferences (that can be anyonymized as well) from theuser preferences 740 and uses those preferences to obtain content from thecontent data store 745 and advertisements from theadvertisement data store 760. The fetcher sends the content and advertisements to the ranking andfiltering module 775 that ranks and filters the content and advertisements in accordance with theuser preferences 740,user models 770, anduser feedback 780. The ranking andfiltering module 775 sends the content and advertisements to theprivacy protection service 725 that relays the content and advertisements to theclient user interface 710. - The user can use the
client user interface 710, through theprivacy protection service 725, to create user content by accessing theuser content writer 750. Theuser content writer 750 places the user-created content into thecontent data store 745. Additionally or alternatively, thenon-user content 755 can be placed into thecontent data store 745 and included in content ultimately sent to theclient user interface 710. - The user can also access the
user feedback module 780 to provide explicit feedback for the content provided to theclient user interface 710. The feedback can include measures of quality such as relevance along with requests for more information of the type provided or requests to block certain content. User feedback can be used in ranking and filtering tasks and can specifically be used to assist in training any artificial intelligence-based components of the ranking andfiltering module 775. - Advertisers can use the
advertising user interface 720 to access theadvertising purchasing module 765. Those advertisers can purchase advertising space and access theuser models 770 to define target recipients of the advertising. Advertisers can also use theadvertiser user interface 720 and theadvertising purchasing module 765 to upload or otherwise provide specific advertising to be provided to users. These advertisements are stored in theadvertising data store 760. -
FIG. 8 is a diagram of anexemplary user interface 800. Theuser interface 800 can provide a logical arrangement of elements within which information can be presented to a user. Specifically, theuser interface 800 can provide a platform that a user can employ to obtain content from an information provider such as a Web site as well as secondary or user-created content that can be anchored to the content from the information provider. Such secondary or user-created content can be presented alongside the content from the information provider. - The
user interface 800 can include aprimary information pane 810. In this example, which is based upon a Web browsing platform and which can be modified to accommodate variations previously disclosed or described in conjunction with other figures, theprimary information pane 810 can be used to render or display a Web page to which a user has navigated. Standard Web page elements, such as text, graphics, multimedia content, and embedded code, among other things, can be rendered in theprimary information pane 810. The Web page rendered in theprimary information pane 810 can be reached by entering a URL in a navigation bar, by performing a search using a search engine, or by clicking on a hyperlink from another Web page, among other methods. - A secondary information pane or
sidebar 820 can be displayed near theprimary information pane 810. Although called a sidebar, the secondary information pane orsidebar 820 can be part of a single window that also includes theprimary information pane 810, as shown, or can be presented in a separate window. Additionally or alternatively, the secondary information pane orsidebar 820 can be positioned at the top or bottom of the window as well as on either the left or right sides. Such positioning can be in accordance with a user-selectable preference for theuser interface 800. - The secondary information pane or
sidebar 820 can provide an area within which various elements, such as notes, chat boxes, and advertising, such as the notes, chat boxes, and advertising disclosed and described herein in conjunction with other figures, can be displayed. Anote 830 includes a message from a user indicating that the user has tickets for sale for an event that is to occur in the same approximate geographic location as an establishment described by a Web page rendered in theprimary information pane 810. Other messages are included innotes - An add
note component 870 provides a text box and an entry control that allows a user to create and add a note that can be anchored to the domain name of the Web site currently being viewed in theprimary information pane 810. Achat box 880 provides an interface for a user to join a chat session that is related to a general topic of the currently-viewed Web site. Anadvertising area 890 provides a space where targeted advertising can be delivered to a user. - With reference to
FIGS. 9-12 , flowcharts in accordance with various methods or procedures are presented. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, for example, in the form of a flow chart, are shown and described as a series of acts, it is to be understood and appreciated that neither the illustrated and described methods and procedures nor any components with which such methods or procedures can be used are necessarily limited by the order of acts, as some acts may occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology or procedure. -
FIG. 9 is a flow diagram illustrating a general processing flow of amethod 900 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures. Themethod 900 can be used to obtain additional content related to content of interest to a user. Specifically, the additional content can be obtained by analyzing content of a currently-viewed Web page and locating additional content related to content of that Web page. - Processing of the
method 900 begins atSTART block 910 and proceeds to process block 920. Atprocess block 920, a Web page is fetched from some location on a network. The network can be a local area network (LAN), a wide area network (WAN), an intranet, or the Internet, among others. Content of the fetched Web page is analyzed atprocess block 930. Various analysis algorithms can be employed to find important or relevant terms in a Web page. Among those algorithms is the TF-IDF algorithm previously discussed in conjunction with other figures. - At
process block 940, additional content that is related to content of the fetched Web page is identified and obtained. This content can be obtained from a location other than the network location that provided the Web page being viewed or the Web page that was analyzed. The content can be related in a variety of ways, including, but not limited to, being topically related or being anchored to a URL of the Web page. Specifically, the obtained content can be created by a current user or by other users who have made such content available for public or group viewing. Atprocess block 950, the obtained additional content is presented to a user. Presentation can occur in an identified region of a human-computer interface, such as a graphical user interface. Processing of themethod 900 terminates atEND block 960. -
FIG. 10 is a flow diagram illustrating ageneral processing flow 1000 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures. Themethod 1000 can be used to obtain interactive services that related to content of interest to a user. Specifically, the interactive services can be obtained by analyzing content of a currently-viewed Web page and locating interactive services that are related to content of that currently-viewed Web page. - Processing of the
method 1000 begins atSTART block 1010 and proceeds to processblock 1020. Atprocess block 1020, a Web page is obtained from a location on a network. This network can be a LAN, a WAN, an intranet, or the Internet, among others. Atprocess block 1030, content of the Web page is analyzed. As in other examples, the TF-IDF algorithm can be used to analyze the Web page. Other algorithms can also be used. - An interactive service, in this example a chat session, that is related to the content of the Web page is identified at
process block 1040. Identification can be based upon a keyword search for chatroom topics, among other methods. Atprocess block 1050, a connection is made to at least one identified chat session and chatroom content is presented to a user. Processing of themethod 1000 terminates atEND block 760. -
FIG. 11 is a flow diagram illustrating a general processing flow of amethod 1100 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures. Themethod 1100 can be used to obtain additional content that is related to content of interest to a user. Specifically, the additional content can be obtained by analyzing content of a currently-viewed Web page and locating additional content that can reference content of that currently-viewed Web page. - Processing of the
method 1100 begins atSTART block 1110. Processing then continues to processblock 1120 where a Web page is fetched. The Web page can be fetched from some Web server that can be local or remote. A remote Web server can be accessed by using a network such as a LAN, a WAN, an intranet, or the Internet, among others. Atprocess block 1130, content of the fetched Web page is analyzed. Analysis of the content of the Web page can be according to a variety of algorithms, specifically including the TF-IDF algorithm. Another suitable algorithm can be substituted for the TF-IDF algorithm. - Content from Web logs that is relevant to content of the fetched Web page is identified and obtained at
process block 1140. Web log content can be relevant in a variety of ways. For example, a Web log can specifically discuss content on the Web page that was analyzed. A Web log entry can also provide a hyperlink to the analyzed Web page. Also, a Web log entry can simply discuss the same or a similar topic as the analyzed Web page. Such Web log content is presented to user atprocess block 1150. Processing of themethod 1100 terminates atEND block 1160. -
FIG. 12 is a flow diagram illustrating a general processing flow of amethod 1200 that can be employed in conjunction with components that are disclosed or described herein in conjunction with other figures. Themethod 1200 can be used to obtain additional content related to content of interest to a user. Specifically, the additional content can be obtained by analyzing content of a currently-viewed Web page and performing a search to create a set of results that can be biased in favor of results that include content that is similar to content of that analyzed Web page. - Processing of the
method 1200 beginsSTART block 1210. Atprocess block 1220, a Web page is fetched from some information server, such as a Web server. The information server can be local or remote. In the case where the information server is remote, the Web page can be obtained over a network such as a LAN, a WAN, an intranet, or the Internet, among others. - The fetched Web page is analyzed at
process block 1230. Important terms or concepts from the Web page are identified atprocess block 1240. Analysis and identification tasks can be performed using various algorithms, including the TF-IDF algorithms discussed in conjunction with other figures. Processing of themethod 1200 continues atprocess block 1250 where a search query is accepted from the user. - At
process block 1260, the search query accepted from the user is optionally augmented by adding important terms or concepts identified from the analyzed Web page to the query. A search, using the augmented query, is performed atprocess block 1270. Augmentation of the query in this manner can be used to bias results of the search in favor of results that include content that is similar to content of the analyzed Web page. Searches can also optionally be refined in a variety of ways, such as by limiting a query to a current domain or to pages that link to a currently-viewed page. Other modifications are also possible. Results of the search are obtained atprocess block 1280 and can be presented to a user through some interface. Atprocess block 1285, the obtained results are optionally reordered. Processing of themethod 1200 terminates atEND block 1290. - In order to provide additional context for implementation,
FIGS. 13-14 and the following discussion is intended to provide a brief, general description of a suitable computing environment within which disclosed and described components and methods can be implemented. While various specific implementations have been described above in the general context of computer-executable instructions of a computer program that runs on a local computer and/or remote computer, those skilled in the art will recognize that other implementations are also possible either alone or in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types. - Moreover, those skilled in the art will appreciate that the above-described components and methods may be practiced with other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based and/or programmable consumer electronics, and the like, each of which may operatively communicate with one or more associated devices. Certain illustrated aspects of the disclosed and described components and methods may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network or other data connection. However, some, if not all, of these aspects may be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in local and/or remote memory storage devices.
-
FIG. 13 is a schematic block diagram of a sample-computing environment 1300 with which the subject invention can interact. Thesystem 1300 includes one or more client(s) 1310. The client(s) 1310 can be hardware and/or software (e.g., threads, processes, computing devices). Thesystem 1300 also includes one or more server(s) 1320. The server(s) 1320 can be hardware and/or software (e.g., threads, processes, computing devices). Theservers 1320 can house threads or processes to perform transformations by employing the subject invention, for example. - One possible means of communication between a
client 1310 and aserver 1320 can be in the form of a data packet adapted to be transmitted between two or more computer processes. Thesystem 1300 includes acommunication framework 1340 that can be employed to facilitate communications between the client(s) 1310 and the server(s) 1320. The client(s) 1310 are operably connected to one or more client data store(s) 1350 that can be employed to store information local to the client(s) 1310. Similarly, the server(s) 1320 are operably connected to one or more server data store(s) 1330 that can be employed to store information local to theservers 1340. - With reference to
FIG. 14 , anexemplary environment 1400 for implementing various aspects of the invention includes acomputer 1412. Thecomputer 1412 includes aprocessing unit 1414, asystem memory 1416, and asystem bus 1418. Thesystem bus 1418 couples system components including, but not limited to, thesystem memory 1416 to theprocessing unit 1414. Theprocessing unit 1414 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as theprocessing unit 1414. - The
system bus 1418 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1394), and Small Computer Systems Interface (SCSI). - The
system memory 1416 includesvolatile memory 1420 andnonvolatile memory 1422. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within thecomputer 1412, such as during start-up, is stored innonvolatile memory 1422. By way of illustration, and not limitation,nonvolatile memory 1422 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory.Volatile memory 1420 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). -
Computer 1412 also includes removable/non-removable, volatile/non-volatile computer storage media. For example,FIG. 14 illustrates adisk storage 1424. Thedisk storage 1424 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick. In addition,disk storage 1424 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM). To facilitate connection of thedisk storage devices 1424 to thesystem bus 1418, a removable or non-removable interface is typically used such asinterface 1426. - It is to be appreciated that
FIG. 14 describes software that acts as an intermediary between users and the basic computer resources described in thesuitable operating environment 1400. Such software includes anoperating system 1428. Theoperating system 1428, which can be stored on thedisk storage 1424, acts to control and allocate resources of thecomputer system 1412.System applications 1430 take advantage of the management of resources byoperating system 1428 throughprogram modules 1432 andprogram data 1434 stored either insystem memory 1416 or ondisk storage 1424. It is to be appreciated that the subject invention can be implemented with various operating systems or combinations of operating systems. - A user enters commands or information into the
computer 1412 through input device(s) 1436. Theinput devices 1436 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to theprocessing unit 1414 through thesystem bus 1418 via interface port(s) 1438. Interface port(s) 1438 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1440 use some of the same type of ports as input device(s) 1436. Thus, for example, a USB port may be used to provide input tocomputer 1412, and to output information fromcomputer 1412 to anoutput device 1440.Output adapter 1442 is provided to illustrate that there are someoutput devices 1440 like monitors, speakers, and printers, amongother output devices 1440, which require special adapters. Theoutput adapters 1442 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between theoutput device 1440 and thesystem bus 1418. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1444. -
Computer 1412 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1444. The remote computer(s) 1444 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative tocomputer 1412. For purposes of brevity, only amemory storage device 1446 is illustrated with remote computer(s) 1444. Remote computer(s) 1444 is logically connected tocomputer 1412 through anetwork interface 1448 and then physically connected viacommunication connection 1450.Network interface 1448 encompasses wire and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL). - Communication connection(s) 1450 refers to the hardware/software employed to connect the
network interface 1448 to thebus 1418. Whilecommunication connection 1450 is shown for illustrative clarity insidecomputer 1412, it can also be external tocomputer 1412. The hardware/software necessary for connection to the network interface 1248 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards. - What has been described above includes examples of the subject invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the subject invention, but one of ordinary skill in the art may recognize that many further combinations and permutations of the subject invention are possible. Accordingly, the subject invention is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
- In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the invention. In this regard, it will also be recognized that the invention includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the invention.
- In addition, while a particular feature of the invention may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes,” and “including” and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising.”
Claims (21)
1-20. (canceled)
21. A computer-implemented method comprising:
analyzing, via a processor, network content rendered at a client computing device;
determining anchoring information based on the network content;
associating the network content with an advertisement based on the anchoring information;
receiving the advertisement; and
presenting the advertisement at the client computing device.
22. A computer-implemented method as recited in claim 21 , further comprising:
obtaining user preferences; and
receiving a plurality of advertisements from an advertisement data store based on the user preferences.
23. A computer-implemented method as recited in claim 22 , further comprising:
ranking the plurality of advertisements in accordance with the user preferences; and
presenting a subset of the plurality of advertisements according to the ranking.
24. A computer-implemented method as recited in claim 22 , wherein advertisers purchase advertising space in the advertisement data store via an advertising user interface.
25. A computer-implemented method as recited in claim 24 , wherein the advertisers submit one or more notes individually utilized to associate a particular advertisement with particular web content, the one or more notes including content utilized to associate the advertisements with particular anchoring information.
26. A computer-implemented method as recited in claim 21 , wherein the anchoring information includes keywords, and the advertisement is associated with the network content based on the keywords.
27. A computer-implemented method as recited in claim 26 , wherein associating includes matching the keywords with content provided in one or more notes submitted by advertisers.
28. A computer-implemented method as recited in claim 21 , further comprising protecting personal information of a user of the client computing device.
29. A computer-readable storage medium having computer executable instructions encoded thereon, the computer executable instructions programmed to, upon execution by at least one processor, configure a computing system to associate information, the computer-readable storage medium comprising:
an advertising purchasing module that allows advertisers to purchase space for advertisements and access user models that define target recipients for the advertisements; and
a fetching module that receives a client request for supplemental content and obtains one or more advertisements responsive to the client request.
30. A computer-readable storage medium as recited in claim 29 , wherein the supplemental content is anchored to web content, the computer-readable storage medium further comprising an association module that analyzes the web content, determines anchoring information from the web content, and uses the anchoring information to associate the one or more advertisements with the web content.
31. A computer-readable storage medium as recited in claim 29 , further comprising a ranking module that ranks the one or more advertisements.
32. A computer-readable storage medium as recited in claim 31 , wherein the fetching module obtains user preferences and user feedback, and sends the user preferences and the user feedback to the ranking module to rank the one or more advertisements.
33. A computer-readable storage medium as recited in claim 31 , wherein the fetching module returns a subset of the one or more advertisements to a client based on the ranking.
34. A computer-readable storage medium as recited in claim 29 , further comprising a privacy protection service that protects personal information of a user associated with a client computing device that sends the client request.
35. A computer-readable storage medium as recited in claim 34 , wherein the privacy protection service removes personal identification information from the client request.
36. A computer-readable storage medium as recited in claim 34 , wherein the privacy protection service includes the client request with a group of dummy requests, thereby obscuring the client request.
37. A computer-implemented method comprising:
receiving one or more requests for supplemental information anchored to web content rendered on a client device;
removing personal identification information from the one or more requests;
obtaining information associated with the one or more requests for supplemental content from a content data store; and
returning the information to the client device.
38. A computer-implemented method as recited in claim 37 , further comprising grouping the one or more requests with dummy requests, thereby obscuring the one or more requests.
39. A computer-implemented method as recited in claim 37 , wherein the information includes an advertisement.
40. One or more computer storage media storing instructions that, when executed by the processor, direct the processor to perform the computer-implemented method as recited in claim 37 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/796,379 US20100312771A1 (en) | 2005-04-25 | 2010-06-08 | Associating Information With An Electronic Document |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67462805P | 2005-04-25 | 2005-04-25 | |
US11/227,937 US7734631B2 (en) | 2005-04-25 | 2005-09-15 | Associating information with an electronic document |
US12/796,379 US20100312771A1 (en) | 2005-04-25 | 2010-06-08 | Associating Information With An Electronic Document |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/227,937 Continuation US7734631B2 (en) | 2005-04-25 | 2005-09-15 | Associating information with an electronic document |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100312771A1 true US20100312771A1 (en) | 2010-12-09 |
Family
ID=37188564
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/227,937 Active 2026-04-10 US7734631B2 (en) | 2005-04-25 | 2005-09-15 | Associating information with an electronic document |
US12/796,379 Abandoned US20100312771A1 (en) | 2005-04-25 | 2010-06-08 | Associating Information With An Electronic Document |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/227,937 Active 2026-04-10 US7734631B2 (en) | 2005-04-25 | 2005-09-15 | Associating information with an electronic document |
Country Status (1)
Country | Link |
---|---|
US (2) | US7734631B2 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106201A1 (en) * | 2006-12-27 | 2009-04-23 | White Robert A | System and method for related information search and presentation from user interface content |
US20110119602A1 (en) * | 2009-11-19 | 2011-05-19 | Sony Corporation | Web server, web browser and web system |
US20110252060A1 (en) * | 2010-04-07 | 2011-10-13 | Yahoo! Inc. | Method and system for topic-based browsing |
US20110302198A1 (en) * | 2010-06-02 | 2011-12-08 | Oracle International Corporation | Searching backward to speed up query |
US20120239639A1 (en) * | 2011-03-14 | 2012-09-20 | Slangwho, Inc. | Search Engine |
US8346813B2 (en) | 2010-01-20 | 2013-01-01 | Oracle International Corporation | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments |
US8447785B2 (en) | 2010-06-02 | 2013-05-21 | Oracle International Corporation | Providing context aware search adaptively |
US20130318063A1 (en) * | 2012-05-24 | 2013-11-28 | Evernote Corporation | Related notes and multi-layer search in personal and shared content |
US8713426B2 (en) | 2009-06-25 | 2014-04-29 | Oracle International Corporation | Technique for skipping irrelevant portions of documents during streaming XPath evaluation |
US20150039995A1 (en) * | 2012-02-17 | 2015-02-05 | Solute Gmbh | Method for displaying context-relevant supplementary information |
US9165086B2 (en) | 2010-01-20 | 2015-10-20 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
CN106062741A (en) * | 2014-01-16 | 2016-10-26 | 何劲 | Method and system for processing information within social network |
US9996614B2 (en) | 2010-04-07 | 2018-06-12 | Excalibur Ip, Llc | Method and system for determining relevant text in a web page |
US20190205934A1 (en) * | 2017-12-29 | 2019-07-04 | Hon Hai Precision Industry Co., Ltd. | Advertising device and method thereof |
US11436292B2 (en) | 2018-08-23 | 2022-09-06 | Newsplug, Inc. | Geographic location based feed |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640267B2 (en) | 2002-11-20 | 2009-12-29 | Radar Networks, Inc. | Methods and systems for managing entities in a computing device using semantic objects |
US7584208B2 (en) * | 2002-11-20 | 2009-09-01 | Radar Networks, Inc. | Methods and systems for managing offers and requests in a network |
US7433876B2 (en) | 2004-02-23 | 2008-10-07 | Radar Networks, Inc. | Semantic web portal and platform |
US7707265B2 (en) * | 2004-05-15 | 2010-04-27 | International Business Machines Corporation | System, method, and service for interactively presenting a summary of a web site |
US8880521B2 (en) * | 2004-09-15 | 2014-11-04 | 3Degrees Llc | Collections of linked databases |
US8635217B2 (en) | 2004-09-15 | 2014-01-21 | Michael J. Markus | Collections of linked databases |
US8412706B2 (en) | 2004-09-15 | 2013-04-02 | Within3, Inc. | Social network analysis |
US7734631B2 (en) * | 2005-04-25 | 2010-06-08 | Microsoft Corporation | Associating information with an electronic document |
WO2007005463A2 (en) * | 2005-06-29 | 2007-01-11 | S.M.A.R.T. Link Medical, Inc. | Collections of linked databases |
AU2006294868B2 (en) * | 2005-09-26 | 2011-03-03 | Coupons, Inc. | System and method for augmenting content in electronic documents with links to contextually relevant information |
US7761436B2 (en) * | 2006-01-03 | 2010-07-20 | Yahoo! Inc. | Apparatus and method for controlling content access based on shared annotations for annotated users in a folksonomy scheme |
US20070157105A1 (en) * | 2006-01-04 | 2007-07-05 | Stephen Owens | Network user database for a sidebar |
WO2008021832A2 (en) * | 2006-08-09 | 2008-02-21 | Radar Networks, Inc. | Harvesting data from page |
US8645463B2 (en) * | 2006-09-25 | 2014-02-04 | Cisco Technology, Inc. | Methods and apparatuses for managing resources within a virtual room |
US8756510B2 (en) * | 2006-10-17 | 2014-06-17 | Cooliris, Inc. | Method and system for displaying photos, videos, RSS and other media content in full-screen immersive view and grid-view using a browser feature |
US10387891B2 (en) * | 2006-10-17 | 2019-08-20 | Oath Inc. | Method and system for selecting and presenting web advertisements in a full-screen cinematic view |
US8056101B2 (en) | 2006-11-02 | 2011-11-08 | At&T Intellectual Property I, L.P. | Customized interface based on viewed programming |
US8321449B2 (en) * | 2007-01-22 | 2012-11-27 | Jook Inc. | Media rating |
US8195676B2 (en) | 2007-03-05 | 2012-06-05 | International Business Machines Corporation | System and method of creating and rating items for social interactions |
US7680882B2 (en) * | 2007-03-06 | 2010-03-16 | Friendster, Inc. | Multimedia aggregation in an online social network |
KR20070090858A (en) * | 2007-03-15 | 2007-09-06 | 세창인스트루먼트(주) | Internet service system linked to designation web-site and the method for the same |
US20080270406A1 (en) * | 2007-04-27 | 2008-10-30 | International Business Machines Corporation | System and method for adding comments to knowledge documents and expediting formal authoring of content |
US8150868B2 (en) * | 2007-06-11 | 2012-04-03 | Microsoft Corporation | Using joint communication and search data |
US8271473B2 (en) * | 2007-06-25 | 2012-09-18 | Jobs2Web, Inc. | System and method for career website optimization |
US20090006341A1 (en) * | 2007-06-28 | 2009-01-01 | Bruce Chapman | Method of website ranking promotion using creation of mass blog posting links |
US7890592B2 (en) * | 2007-06-29 | 2011-02-15 | Microsoft Corporation | Processing data obtained from a presence-based system |
US20090076887A1 (en) * | 2007-09-16 | 2009-03-19 | Nova Spivack | System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment |
US8140963B2 (en) * | 2007-12-19 | 2012-03-20 | Yahoo! Inc. | Tag aggregator |
US9946802B2 (en) * | 2008-01-19 | 2018-04-17 | International Business Machines Corporation | Site-wide navigation element for user activity in a social networking site |
US7849067B2 (en) * | 2008-01-31 | 2010-12-07 | Microsoft Corporation | Extensible data provider querying and scheduling system |
US8606807B2 (en) * | 2008-02-28 | 2013-12-10 | Red Hat, Inc. | Integration of triple tags into a tagging tool and text browsing |
US8607136B2 (en) * | 2008-02-28 | 2013-12-10 | Red Hat, Inc. | Maintaining tags for individual communities |
US8856643B2 (en) * | 2008-02-28 | 2014-10-07 | Red Hat, Inc. | Unique URLs for browsing tagged content |
US8468447B2 (en) * | 2008-02-28 | 2013-06-18 | Red Hat, Inc. | Tracking tag content by keywords and communities |
US10867123B2 (en) | 2009-11-09 | 2020-12-15 | Microsoft Technology Licensing, Llc | Social browsing |
US20090254800A1 (en) * | 2008-04-07 | 2009-10-08 | International Business Machines Corporation | Method for providing user-definitions of terms |
US8561088B2 (en) * | 2008-04-08 | 2013-10-15 | Microsoft Corporation | Registering network applications with an API framework |
US8041696B2 (en) * | 2008-06-13 | 2011-10-18 | International Business Machines Corporation | Idea tracking and management |
US20100070339A1 (en) * | 2008-09-15 | 2010-03-18 | Google Inc. | Associating an Entity with a Category |
US8751559B2 (en) * | 2008-09-16 | 2014-06-10 | Microsoft Corporation | Balanced routing of questions to experts |
US8122017B1 (en) | 2008-09-18 | 2012-02-21 | Google Inc. | Enhanced retrieval of source code |
WO2010045298A1 (en) * | 2008-10-14 | 2010-04-22 | Topcoder, Inc. | System and method for advertising placement and/or web site optimization |
US9195739B2 (en) * | 2009-02-20 | 2015-11-24 | Microsoft Technology Licensing, Llc | Identifying a discussion topic based on user interest information |
WO2010120934A2 (en) | 2009-04-15 | 2010-10-21 | Evri Inc. | Search enhanced semantic advertising |
US8200617B2 (en) | 2009-04-15 | 2012-06-12 | Evri, Inc. | Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata |
WO2010120929A2 (en) | 2009-04-15 | 2010-10-21 | Evri Inc. | Generating user-customized search results and building a semantics-enhanced search engine |
WO2010120925A2 (en) | 2009-04-15 | 2010-10-21 | Evri Inc. | Search and search optimization using a pattern of a location identifier |
US8745067B2 (en) * | 2009-08-12 | 2014-06-03 | Google Inc. | Presenting comments from various sources |
US20110052144A1 (en) | 2009-09-01 | 2011-03-03 | 2Cimple, Inc. | System and Method for Integrating Interactive Call-To-Action, Contextual Applications with Videos |
KR20110071635A (en) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | System and method for keyword extraction based on rss |
US20110173569A1 (en) * | 2010-01-13 | 2011-07-14 | Rockmelt, Inc. | Preview Functionality for Increased Browsing Speed |
US8725771B2 (en) * | 2010-04-30 | 2014-05-13 | Orbis Technologies, Inc. | Systems and methods for semantic search, content correlation and visualization |
US8719223B2 (en) | 2010-05-06 | 2014-05-06 | Go Daddy Operating Company, LLC | Cloud storage solution for reading and writing files |
US8316021B2 (en) * | 2010-06-30 | 2012-11-20 | Emergency 24, Inc. | Methods and systems for enhanced placement search engine based on user usage |
US9262390B2 (en) | 2010-09-02 | 2016-02-16 | Lexis Nexis, A Division Of Reed Elsevier Inc. | Methods and systems for annotating electronic documents |
US9418388B1 (en) * | 2010-09-08 | 2016-08-16 | Imdb.Com, Inc. | Techniques for displaying third party content |
JP5743469B2 (en) * | 2010-09-22 | 2015-07-01 | キヤノン株式会社 | Information processing apparatus, control method thereof, and control program |
US8972412B1 (en) | 2011-01-31 | 2015-03-03 | Go Daddy Operating Company, LLC | Predicting improvement in website search engine rankings based upon website linking relationships |
US9575615B1 (en) | 2011-03-22 | 2017-02-21 | Amazon Technologies, Inc. | Presenting supplemental content |
US8812527B2 (en) * | 2011-11-29 | 2014-08-19 | International Business Machines Corporation | Automatically recommending asynchronous discussion forum posts during a real-time collaboration |
US8904304B2 (en) * | 2012-06-25 | 2014-12-02 | Barnesandnoble.Com Llc | Creation and exposure of embedded secondary content data relevant to a primary content page of an electronic book |
US20140047332A1 (en) * | 2012-08-08 | 2014-02-13 | Microsoft Corporation | E-reader systems |
US8938438B2 (en) | 2012-10-11 | 2015-01-20 | Go Daddy Operating Company, LLC | Optimizing search engine ranking by recommending content including frequently searched questions |
US20140181112A1 (en) * | 2012-12-26 | 2014-06-26 | Hon Hai Precision Industry Co., Ltd. | Control device and file distribution method |
US20140195890A1 (en) * | 2013-01-09 | 2014-07-10 | Amazon Technologies, Inc. | Browser interface for accessing supplemental content associated with content pages |
US9465878B2 (en) | 2014-01-17 | 2016-10-11 | Go Daddy Operating Company, LLC | System and method for depicting backlink metrics for a website |
US9501211B2 (en) | 2014-04-17 | 2016-11-22 | GoDaddy Operating Company, LLC | User input processing for allocation of hosting server resources |
US9660933B2 (en) | 2014-04-17 | 2017-05-23 | Go Daddy Operating Company, LLC | Allocating and accessing hosting server resources via continuous resource availability updates |
US9940351B2 (en) * | 2015-03-11 | 2018-04-10 | International Business Machines Corporation | Creating XML data from a database |
US9904793B2 (en) * | 2015-03-23 | 2018-02-27 | Intel Corporation | Systems, methods, and apparatus to provide private information retrieval |
US9965649B2 (en) * | 2015-05-19 | 2018-05-08 | Rujing Tang | System and method for protecting internet user data privacy |
WO2017096475A1 (en) * | 2015-12-07 | 2017-06-15 | Blockthrough Inc. | System and method for transforming online content to obfuscate an inclusion of supplemental content |
WO2018112445A1 (en) * | 2016-12-16 | 2018-06-21 | Second Mind Labs, Inc. | Systems to augment conversations with relevant information or automation using proactive bots |
US20180260366A1 (en) * | 2017-03-08 | 2018-09-13 | Microsoft Technology Licensing, Llc | Integrated collaboration and communication for a collaborative workspace environment |
US11500940B2 (en) * | 2020-08-13 | 2022-11-15 | International Business Machines Corporation | Expanding or abridging content based on user device activity |
Citations (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5063600A (en) * | 1990-05-14 | 1991-11-05 | Norwood Donald D | Hybrid information management system for handwriting and text |
US5146552A (en) * | 1990-02-28 | 1992-09-08 | International Business Machines Corporation | Method for associating annotation with electronically published material |
WO1997022109A1 (en) * | 1995-12-14 | 1997-06-19 | Motorola Inc. | Electronic book and method of annotation therefor |
US5708825A (en) * | 1995-05-26 | 1998-01-13 | Iconovex Corporation | Automatic summary page creation and hyperlink generation |
US5732399A (en) * | 1995-06-07 | 1998-03-24 | Sun Microsystems, Inc. | Method and apparatus for associating calendar events with contextual information and other calendar events |
US5761436A (en) * | 1996-07-01 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for combining truncated hyperlinks to form a hyperlink aggregate |
US5806079A (en) * | 1993-11-19 | 1998-09-08 | Smartpatents, Inc. | System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects |
EP0913779A2 (en) * | 1997-11-03 | 1999-05-06 | Mitsubishi Denki Kabushiki Kaisha | Browser for documents with annotations |
US5996006A (en) * | 1996-11-08 | 1999-11-30 | Speicher; Gregory J. | Internet-audiotext electronic advertising system with enhanced matching and notification |
US6011537A (en) * | 1997-01-27 | 2000-01-04 | Slotznick; Benjamin | System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space |
US6065001A (en) * | 1997-05-22 | 2000-05-16 | Nippon Telegraph And Telephone Corporation | Information associating apparatus and method |
US6064978A (en) * | 1997-06-24 | 2000-05-16 | Experts Exchange, Inc. | Question and answer system using computer networks |
US6072493A (en) * | 1997-03-31 | 2000-06-06 | Bellsouth Corporation | System and method for associating services information with selected elements of an organization |
US6088026A (en) * | 1993-12-21 | 2000-07-11 | International Business Machines Corporation | Method and apparatus for multimedia information association to an electronic calendar event |
WO2000077690A1 (en) * | 1999-06-15 | 2000-12-21 | Kanisa Inc. | System and method for document management based on a plurality of knowledge taxonomies |
WO2001009738A1 (en) * | 1999-07-30 | 2001-02-08 | Annotate.Net, Inc. | Method and system for accessing annotation web pages related to primary web pages over the internet |
US6199080B1 (en) * | 1996-08-30 | 2001-03-06 | Sun Microsystems, Inc. | Method and apparatus for displaying information on a computer controlled display device |
US6243722B1 (en) * | 1997-11-24 | 2001-06-05 | International Business Machines Corporation | Method and system for a network-based document review tool utilizing comment classification |
WO2001042980A1 (en) * | 1999-12-07 | 2001-06-14 | Microsoft Corporation | System and method for annotating an electronic document independently of its content |
US20010032244A1 (en) * | 1999-11-15 | 2001-10-18 | Neustel Michael S. | Internet based help system |
US20010042098A1 (en) * | 1998-09-15 | 2001-11-15 | Anoop Gupta | Facilitating annotation creation and notification via electronic mail |
WO2001098911A1 (en) * | 2000-06-22 | 2001-12-27 | Esynch Corporation | System and method for communicating a variety of multi-media works over a computer network based on user selection |
US6347398B1 (en) * | 1996-12-12 | 2002-02-12 | Microsoft Corporation | Automatic software downloading from a computer network |
US6356922B1 (en) * | 1997-09-15 | 2002-03-12 | Fuji Xerox Co., Ltd. | Method and system for suggesting related documents |
US20020052925A1 (en) * | 2000-08-29 | 2002-05-02 | Yoohwan Kim | Method and apparatus for information delivery on the internet |
WO2002035324A2 (en) * | 2000-10-26 | 2002-05-02 | Netactive Inc | System and method for managing digital content |
US20020055880A1 (en) * | 2000-03-24 | 2002-05-09 | Eric Unold | System for facilitating digital advertising |
US20020078088A1 (en) * | 2000-12-19 | 2002-06-20 | Xerox Corporation | Method and apparatus for collaborative annotation of a document |
US20020081020A1 (en) * | 2000-12-25 | 2002-06-27 | Nec Corporation | Infromation providing server, client, information providing system processing method, recording medium recording a program, and advertisement providing method |
US6438564B1 (en) * | 1998-06-17 | 2002-08-20 | Microsoft Corporation | Method for associating a discussion with a document |
US20020133628A1 (en) * | 2000-06-09 | 2002-09-19 | Ulf Asplund | Data caching and annotation system with application to document annotation |
US6459916B1 (en) * | 1996-04-16 | 2002-10-01 | Kyocera Corporation | Portable radio communication device |
US6496931B1 (en) * | 1998-12-31 | 2002-12-17 | Lucent Technologies Inc. | Anonymous web site user information communication method |
US6513013B1 (en) * | 1999-11-23 | 2003-01-28 | Dimitri Stephanou | System and method for providing expert referral over a network with real time interaction with customers |
US20030023679A1 (en) * | 2001-03-13 | 2003-01-30 | Stephen Johnson | System and process for network collaboration through embedded annotation and rendering instructions |
US6535889B1 (en) * | 1999-09-23 | 2003-03-18 | Peeter Todd Mannik | System and method for obtaining and displaying an interactive electronic representation of a conventional static media object |
WO2003023631A1 (en) * | 2001-09-10 | 2003-03-20 | Gregory Elin | Method and system for associating visual information with textual information |
US20030093276A1 (en) * | 2001-11-13 | 2003-05-15 | Miller Michael J. | System and method for automated answering of natural language questions and queries |
US20030101104A1 (en) * | 2001-11-28 | 2003-05-29 | Koninklijke Philips Electronics N.V. | System and method for retrieving information related to targeted subjects |
US20030154248A1 (en) * | 2002-02-08 | 2003-08-14 | Smith Marc A. | Automatic participant evaluation in computer mediated persistent conversations |
US6654725B1 (en) * | 1998-11-09 | 2003-11-25 | Nec Corporation | System and method for providing customized advertising on the World Wide Web |
US6687878B1 (en) * | 1999-03-15 | 2004-02-03 | Real Time Image Ltd. | Synchronizing/updating local client notes with annotations previously made by other clients in a notes database |
US20040044542A1 (en) * | 2000-07-13 | 2004-03-04 | Israel Beniaminy | Method and system for sharing knowledge |
US20040066531A1 (en) * | 2002-10-07 | 2004-04-08 | Samsung Electronics Co., Ltd | Method of printing web page and apparatus therefor |
US6724403B1 (en) * | 1999-10-29 | 2004-04-20 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
US20040122912A1 (en) * | 2002-12-21 | 2004-06-24 | Kim Jae Hong | Method and apparatus for automatic document generation based on annotation |
US20040133468A1 (en) * | 2002-04-12 | 2004-07-08 | Varghese Kivin G. | Method and system for providing interactive adversing cross reference to related application |
US20040138946A1 (en) * | 2001-05-04 | 2004-07-15 | Markus Stolze | Web page annotation systems |
US20040163042A1 (en) * | 2000-07-26 | 2004-08-19 | Itm Associates | Method and system for annotating documents using an independent annotation repository |
US20040167928A1 (en) * | 2002-09-24 | 2004-08-26 | Darrell Anderson | Serving content-relevant advertisements with client-side device support |
US6804659B1 (en) * | 2000-01-14 | 2004-10-12 | Ricoh Company Ltd. | Content based web advertising |
US6829585B1 (en) * | 2000-07-06 | 2004-12-07 | General Electric Company | Web-based method and system for indicating expert availability |
US20040250201A1 (en) * | 2003-06-05 | 2004-12-09 | Rami Caspi | System and method for indicating an annotation for a document |
US20040252888A1 (en) * | 2003-06-13 | 2004-12-16 | Bargeron David M. | Digital ink annotation process and system for recognizing, anchoring and reflowing digital ink annotations |
US20040260702A1 (en) * | 2003-06-20 | 2004-12-23 | International Business Machines Corporation | Universal annotation configuration and deployment |
US20050022122A1 (en) * | 2003-03-31 | 2005-01-27 | John Barrus | Document collection manipulation |
US20050027664A1 (en) * | 2003-07-31 | 2005-02-03 | Johnson David E. | Interactive machine learning system for automated annotation of information in text |
US20050028200A1 (en) * | 2003-08-01 | 2005-02-03 | Esteban Sardera | Media content navigation associated advertising |
US20050050097A1 (en) * | 2003-09-03 | 2005-03-03 | Leslie Yeh | Determining and/or using location information in an ad system |
US6865713B1 (en) * | 1998-08-07 | 2005-03-08 | International Business Machines Corporation | Apparatus, program product and method of annotating a hypertext document with comments |
US20050075886A1 (en) * | 2003-09-17 | 2005-04-07 | Vextra.Net Ltd. | Method and system for processing knowledge |
US20050081159A1 (en) * | 1998-09-15 | 2005-04-14 | Microsoft Corporation | User interface for creating viewing and temporally positioning annotations for media content |
US20050091106A1 (en) * | 2003-10-27 | 2005-04-28 | Reller William M. | Selecting ads for a web page based on keywords located on the web page |
US20050097440A1 (en) * | 2003-11-04 | 2005-05-05 | Richard Lusk | Method and system for collaboration |
US6901394B2 (en) * | 2000-06-30 | 2005-05-31 | Askme Corporation | Method and system for enhanced knowledge management |
US6904392B1 (en) * | 2000-10-13 | 2005-06-07 | Dassault Systemes | Annotation management |
US20050160113A1 (en) * | 2001-08-31 | 2005-07-21 | Kent Ridge Digital Labs | Time-based media navigation system |
US20050183005A1 (en) * | 2004-02-12 | 2005-08-18 | Laurent Denoue | Systems and methods for freeform annotations |
US6938022B1 (en) * | 1999-06-12 | 2005-08-30 | Tara C. Singhal | Method and apparatus for facilitating an anonymous information system and anonymous service transactions |
WO2005089291A2 (en) * | 2004-03-15 | 2005-09-29 | Yahoo Inc. | Search system and methods with integration of user annotations from a trust network |
US20050222989A1 (en) * | 2003-09-30 | 2005-10-06 | Taher Haveliwala | Results based personalization of advertisements in a search engine |
US20050223315A1 (en) * | 2004-03-31 | 2005-10-06 | Seiya Shimizu | Information sharing device and information sharing method |
US6957233B1 (en) * | 1999-12-07 | 2005-10-18 | Microsoft Corporation | Method and apparatus for capturing and rendering annotations for non-modifiable electronic content |
WO2005096750A2 (en) * | 2004-02-15 | 2005-10-20 | Exbiblio B.V. | Information gathering system and method |
US20050246736A1 (en) * | 2003-08-01 | 2005-11-03 | Gil Beyda | Audience server |
US20050256866A1 (en) * | 2004-03-15 | 2005-11-17 | Yahoo! Inc. | Search system and methods with integration of user annotations from a trust network |
US20050289452A1 (en) * | 2004-06-24 | 2005-12-29 | Avaya Technology Corp. | Architecture for ink annotations on web documents |
US20060004711A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | System and method for ranking search results based on tracked user preferences |
US20060047615A1 (en) * | 2004-08-25 | 2006-03-02 | Yael Ravin | Knowledge management system automatically allocating expert resources |
US7058726B1 (en) * | 1996-07-08 | 2006-06-06 | Internet Number Corporation | Method and systems for accessing information on a network using message aliasing functions having shadow callback functions |
US7062510B1 (en) * | 1999-12-02 | 2006-06-13 | Prime Research Alliance E., Inc. | Consumer profiling and advertisement selection system |
US20060149817A1 (en) * | 2004-12-22 | 2006-07-06 | International Business Machines Corporation | Using collaborative annotations to specify real-time process flows and system constraints |
US7107518B2 (en) * | 2001-04-03 | 2006-09-12 | Microsoft Corporation | Automating a document review cycle |
US20060242574A1 (en) * | 2005-04-25 | 2006-10-26 | Microsoft Corporation | Associating information with an electronic document |
US20070174265A1 (en) * | 2006-01-24 | 2007-07-26 | Sreenivasa Rao Gorti | System and method for creating an enhanced enterprise directory |
US20070219794A1 (en) * | 2006-03-20 | 2007-09-20 | Park Joseph C | Facilitating content generation via messaging system interactions |
US7280995B1 (en) * | 1999-08-05 | 2007-10-09 | Oracle International Corporation | On-the-fly format conversion |
US20070259325A1 (en) * | 2006-04-22 | 2007-11-08 | Clapper Rock L | Internet-based method and system for human-human question and answer sessions in delayed and real time |
US7319992B2 (en) * | 2000-09-25 | 2008-01-15 | The Mission Corporation | Method and apparatus for delivering a virtual reality environment |
US20080104004A1 (en) * | 2004-12-29 | 2008-05-01 | Scott Brave | Method and Apparatus for Identifying, Extracting, Capturing, and Leveraging Expertise and Knowledge |
US20080144737A1 (en) * | 2006-12-19 | 2008-06-19 | Qualcomm Incorporated | Beamspace-time coding based on channel quality feedback |
US7392185B2 (en) * | 1999-11-12 | 2008-06-24 | Phoenix Solutions, Inc. | Speech based learning/training system using semantic decoding |
US7409384B2 (en) * | 2004-04-19 | 2008-08-05 | Yahoo! Inc. | Integration of instant messaging with internet searching |
US20080235189A1 (en) * | 2007-03-23 | 2008-09-25 | Drew Rayman | System for searching for information based on personal interactions and presences and methods thereof |
US20080294584A1 (en) * | 1994-11-29 | 2008-11-27 | Pinpoint Incorporated | Customized electronic newspapers and advertisements |
US20080306935A1 (en) * | 2007-06-11 | 2008-12-11 | Microsoft Corporation | Using joint communication and search data |
US20090080635A1 (en) * | 2007-09-25 | 2009-03-26 | Utbk, Inc. | Systems and Methods to Connect Members of a Social Network for Real Time Communication |
US7596578B1 (en) * | 1999-11-23 | 2009-09-29 | Expert Viewpoint, Llc | Method and apparatus for operating and funding a question and answer interactive system |
US20090307100A1 (en) * | 2008-06-04 | 2009-12-10 | Ebay, Inc | System and method for community aided research and shopping |
US7653627B2 (en) * | 2005-05-13 | 2010-01-26 | Microsoft Corporation | System and method for utilizing the content of an online conversation to select advertising content and/or other relevant information for display |
US7668748B1 (en) * | 2003-01-10 | 2010-02-23 | Google, Inc. | Pricing across keywords associated with one or more advertisements |
US7756756B1 (en) * | 2007-09-12 | 2010-07-13 | Amazon Technologies, Inc. | System and method of providing recommendations |
US8069194B1 (en) * | 2004-03-04 | 2011-11-29 | Ophivain Applications NY L.L.C. | Automated annotation of a resource on a computer network using a network address of the resource |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467026B2 (en) * | 1999-07-23 | 2002-10-15 | Hitachi, Ltd. | Web cache memory device and browser apparatus utilizing the same |
US6549916B1 (en) * | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
KR100382704B1 (en) * | 2000-06-29 | 2003-05-01 | 박찬식 | The method of aligning a optical waveguide element and optical fiber for communicating |
CN1186737C (en) * | 2002-02-05 | 2005-01-26 | 国际商业机器公司 | Method and system for queuing uncalled web based on path |
US20050078190A1 (en) * | 2002-10-23 | 2005-04-14 | Bloom Daniel M. | System and method for associating information with captured images |
US8140965B2 (en) | 2003-02-28 | 2012-03-20 | Google, Inc. | Identifying related information given content and/or presenting related information in association with content-related advertisements |
US20050038814A1 (en) * | 2003-08-13 | 2005-02-17 | International Business Machines Corporation | Method, apparatus, and program for cross-linking information sources using multiple modalities |
US20050144064A1 (en) * | 2003-12-19 | 2005-06-30 | Palo Alto Research Center Incorporated | Keyword advertisement management |
-
2005
- 2005-09-15 US US11/227,937 patent/US7734631B2/en active Active
-
2010
- 2010-06-08 US US12/796,379 patent/US20100312771A1/en not_active Abandoned
Patent Citations (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146552A (en) * | 1990-02-28 | 1992-09-08 | International Business Machines Corporation | Method for associating annotation with electronically published material |
US5063600A (en) * | 1990-05-14 | 1991-11-05 | Norwood Donald D | Hybrid information management system for handwriting and text |
US5806079A (en) * | 1993-11-19 | 1998-09-08 | Smartpatents, Inc. | System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects |
US6088026A (en) * | 1993-12-21 | 2000-07-11 | International Business Machines Corporation | Method and apparatus for multimedia information association to an electronic calendar event |
US20080294584A1 (en) * | 1994-11-29 | 2008-11-27 | Pinpoint Incorporated | Customized electronic newspapers and advertisements |
US5708825A (en) * | 1995-05-26 | 1998-01-13 | Iconovex Corporation | Automatic summary page creation and hyperlink generation |
US5732399A (en) * | 1995-06-07 | 1998-03-24 | Sun Microsystems, Inc. | Method and apparatus for associating calendar events with contextual information and other calendar events |
WO1997022109A1 (en) * | 1995-12-14 | 1997-06-19 | Motorola Inc. | Electronic book and method of annotation therefor |
US6459916B1 (en) * | 1996-04-16 | 2002-10-01 | Kyocera Corporation | Portable radio communication device |
US5761436A (en) * | 1996-07-01 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for combining truncated hyperlinks to form a hyperlink aggregate |
US7058726B1 (en) * | 1996-07-08 | 2006-06-06 | Internet Number Corporation | Method and systems for accessing information on a network using message aliasing functions having shadow callback functions |
US6199080B1 (en) * | 1996-08-30 | 2001-03-06 | Sun Microsystems, Inc. | Method and apparatus for displaying information on a computer controlled display device |
US5996006A (en) * | 1996-11-08 | 1999-11-30 | Speicher; Gregory J. | Internet-audiotext electronic advertising system with enhanced matching and notification |
US6347398B1 (en) * | 1996-12-12 | 2002-02-12 | Microsoft Corporation | Automatic software downloading from a computer network |
US6011537A (en) * | 1997-01-27 | 2000-01-04 | Slotznick; Benjamin | System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space |
US6072493A (en) * | 1997-03-31 | 2000-06-06 | Bellsouth Corporation | System and method for associating services information with selected elements of an organization |
US6065001A (en) * | 1997-05-22 | 2000-05-16 | Nippon Telegraph And Telephone Corporation | Information associating apparatus and method |
US6064978A (en) * | 1997-06-24 | 2000-05-16 | Experts Exchange, Inc. | Question and answer system using computer networks |
US6356922B1 (en) * | 1997-09-15 | 2002-03-12 | Fuji Xerox Co., Ltd. | Method and system for suggesting related documents |
EP0913779A2 (en) * | 1997-11-03 | 1999-05-06 | Mitsubishi Denki Kabushiki Kaisha | Browser for documents with annotations |
US6243722B1 (en) * | 1997-11-24 | 2001-06-05 | International Business Machines Corporation | Method and system for a network-based document review tool utilizing comment classification |
US6438564B1 (en) * | 1998-06-17 | 2002-08-20 | Microsoft Corporation | Method for associating a discussion with a document |
US6865713B1 (en) * | 1998-08-07 | 2005-03-08 | International Business Machines Corporation | Apparatus, program product and method of annotating a hypertext document with comments |
US20010042098A1 (en) * | 1998-09-15 | 2001-11-15 | Anoop Gupta | Facilitating annotation creation and notification via electronic mail |
US20050081159A1 (en) * | 1998-09-15 | 2005-04-14 | Microsoft Corporation | User interface for creating viewing and temporally positioning annotations for media content |
US6956593B1 (en) * | 1998-09-15 | 2005-10-18 | Microsoft Corporation | User interface for creating, viewing and temporally positioning annotations for media content |
US6654725B1 (en) * | 1998-11-09 | 2003-11-25 | Nec Corporation | System and method for providing customized advertising on the World Wide Web |
US6496931B1 (en) * | 1998-12-31 | 2002-12-17 | Lucent Technologies Inc. | Anonymous web site user information communication method |
US6687878B1 (en) * | 1999-03-15 | 2004-02-03 | Real Time Image Ltd. | Synchronizing/updating local client notes with annotations previously made by other clients in a notes database |
US6938022B1 (en) * | 1999-06-12 | 2005-08-30 | Tara C. Singhal | Method and apparatus for facilitating an anonymous information system and anonymous service transactions |
WO2000077690A1 (en) * | 1999-06-15 | 2000-12-21 | Kanisa Inc. | System and method for document management based on a plurality of knowledge taxonomies |
WO2001009738A1 (en) * | 1999-07-30 | 2001-02-08 | Annotate.Net, Inc. | Method and system for accessing annotation web pages related to primary web pages over the internet |
US7280995B1 (en) * | 1999-08-05 | 2007-10-09 | Oracle International Corporation | On-the-fly format conversion |
US6535889B1 (en) * | 1999-09-23 | 2003-03-18 | Peeter Todd Mannik | System and method for obtaining and displaying an interactive electronic representation of a conventional static media object |
US6724403B1 (en) * | 1999-10-29 | 2004-04-20 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
US7392185B2 (en) * | 1999-11-12 | 2008-06-24 | Phoenix Solutions, Inc. | Speech based learning/training system using semantic decoding |
US20010032244A1 (en) * | 1999-11-15 | 2001-10-18 | Neustel Michael S. | Internet based help system |
US6513013B1 (en) * | 1999-11-23 | 2003-01-28 | Dimitri Stephanou | System and method for providing expert referral over a network with real time interaction with customers |
US7596578B1 (en) * | 1999-11-23 | 2009-09-29 | Expert Viewpoint, Llc | Method and apparatus for operating and funding a question and answer interactive system |
US7062510B1 (en) * | 1999-12-02 | 2006-06-13 | Prime Research Alliance E., Inc. | Consumer profiling and advertisement selection system |
WO2001042980A1 (en) * | 1999-12-07 | 2001-06-14 | Microsoft Corporation | System and method for annotating an electronic document independently of its content |
US6957233B1 (en) * | 1999-12-07 | 2005-10-18 | Microsoft Corporation | Method and apparatus for capturing and rendering annotations for non-modifiable electronic content |
US6804659B1 (en) * | 2000-01-14 | 2004-10-12 | Ricoh Company Ltd. | Content based web advertising |
US20020055880A1 (en) * | 2000-03-24 | 2002-05-09 | Eric Unold | System for facilitating digital advertising |
US20020133628A1 (en) * | 2000-06-09 | 2002-09-19 | Ulf Asplund | Data caching and annotation system with application to document annotation |
WO2001098911A1 (en) * | 2000-06-22 | 2001-12-27 | Esynch Corporation | System and method for communicating a variety of multi-media works over a computer network based on user selection |
US6901394B2 (en) * | 2000-06-30 | 2005-05-31 | Askme Corporation | Method and system for enhanced knowledge management |
US6829585B1 (en) * | 2000-07-06 | 2004-12-07 | General Electric Company | Web-based method and system for indicating expert availability |
US20040044542A1 (en) * | 2000-07-13 | 2004-03-04 | Israel Beniaminy | Method and system for sharing knowledge |
US20040163042A1 (en) * | 2000-07-26 | 2004-08-19 | Itm Associates | Method and system for annotating documents using an independent annotation repository |
US20020052925A1 (en) * | 2000-08-29 | 2002-05-02 | Yoohwan Kim | Method and apparatus for information delivery on the internet |
US7319992B2 (en) * | 2000-09-25 | 2008-01-15 | The Mission Corporation | Method and apparatus for delivering a virtual reality environment |
US6904392B1 (en) * | 2000-10-13 | 2005-06-07 | Dassault Systemes | Annotation management |
WO2002035324A2 (en) * | 2000-10-26 | 2002-05-02 | Netactive Inc | System and method for managing digital content |
US20020078088A1 (en) * | 2000-12-19 | 2002-06-20 | Xerox Corporation | Method and apparatus for collaborative annotation of a document |
US20020081020A1 (en) * | 2000-12-25 | 2002-06-27 | Nec Corporation | Infromation providing server, client, information providing system processing method, recording medium recording a program, and advertisement providing method |
US20030023679A1 (en) * | 2001-03-13 | 2003-01-30 | Stephen Johnson | System and process for network collaboration through embedded annotation and rendering instructions |
US7107518B2 (en) * | 2001-04-03 | 2006-09-12 | Microsoft Corporation | Automating a document review cycle |
US20040138946A1 (en) * | 2001-05-04 | 2004-07-15 | Markus Stolze | Web page annotation systems |
US20050160113A1 (en) * | 2001-08-31 | 2005-07-21 | Kent Ridge Digital Labs | Time-based media navigation system |
WO2003023631A1 (en) * | 2001-09-10 | 2003-03-20 | Gregory Elin | Method and system for associating visual information with textual information |
US20030093276A1 (en) * | 2001-11-13 | 2003-05-15 | Miller Michael J. | System and method for automated answering of natural language questions and queries |
US20030101104A1 (en) * | 2001-11-28 | 2003-05-29 | Koninklijke Philips Electronics N.V. | System and method for retrieving information related to targeted subjects |
US20030154248A1 (en) * | 2002-02-08 | 2003-08-14 | Smith Marc A. | Automatic participant evaluation in computer mediated persistent conversations |
US20040133468A1 (en) * | 2002-04-12 | 2004-07-08 | Varghese Kivin G. | Method and system for providing interactive adversing cross reference to related application |
US20040167928A1 (en) * | 2002-09-24 | 2004-08-26 | Darrell Anderson | Serving content-relevant advertisements with client-side device support |
US20040066531A1 (en) * | 2002-10-07 | 2004-04-08 | Samsung Electronics Co., Ltd | Method of printing web page and apparatus therefor |
US20040122912A1 (en) * | 2002-12-21 | 2004-06-24 | Kim Jae Hong | Method and apparatus for automatic document generation based on annotation |
US7668748B1 (en) * | 2003-01-10 | 2010-02-23 | Google, Inc. | Pricing across keywords associated with one or more advertisements |
US20050022122A1 (en) * | 2003-03-31 | 2005-01-27 | John Barrus | Document collection manipulation |
US20040250201A1 (en) * | 2003-06-05 | 2004-12-09 | Rami Caspi | System and method for indicating an annotation for a document |
US20040252888A1 (en) * | 2003-06-13 | 2004-12-16 | Bargeron David M. | Digital ink annotation process and system for recognizing, anchoring and reflowing digital ink annotations |
US20040260702A1 (en) * | 2003-06-20 | 2004-12-23 | International Business Machines Corporation | Universal annotation configuration and deployment |
US20050027664A1 (en) * | 2003-07-31 | 2005-02-03 | Johnson David E. | Interactive machine learning system for automated annotation of information in text |
US20050246736A1 (en) * | 2003-08-01 | 2005-11-03 | Gil Beyda | Audience server |
US20050028200A1 (en) * | 2003-08-01 | 2005-02-03 | Esteban Sardera | Media content navigation associated advertising |
US20050050097A1 (en) * | 2003-09-03 | 2005-03-03 | Leslie Yeh | Determining and/or using location information in an ad system |
US20050075886A1 (en) * | 2003-09-17 | 2005-04-07 | Vextra.Net Ltd. | Method and system for processing knowledge |
US20050222989A1 (en) * | 2003-09-30 | 2005-10-06 | Taher Haveliwala | Results based personalization of advertisements in a search engine |
US20050091106A1 (en) * | 2003-10-27 | 2005-04-28 | Reller William M. | Selecting ads for a web page based on keywords located on the web page |
US20050097440A1 (en) * | 2003-11-04 | 2005-05-05 | Richard Lusk | Method and system for collaboration |
US20050183005A1 (en) * | 2004-02-12 | 2005-08-18 | Laurent Denoue | Systems and methods for freeform annotations |
WO2005096750A2 (en) * | 2004-02-15 | 2005-10-20 | Exbiblio B.V. | Information gathering system and method |
US8069194B1 (en) * | 2004-03-04 | 2011-11-29 | Ophivain Applications NY L.L.C. | Automated annotation of a resource on a computer network using a network address of the resource |
US20050256866A1 (en) * | 2004-03-15 | 2005-11-17 | Yahoo! Inc. | Search system and methods with integration of user annotations from a trust network |
WO2005089291A2 (en) * | 2004-03-15 | 2005-09-29 | Yahoo Inc. | Search system and methods with integration of user annotations from a trust network |
US20050223315A1 (en) * | 2004-03-31 | 2005-10-06 | Seiya Shimizu | Information sharing device and information sharing method |
US7409384B2 (en) * | 2004-04-19 | 2008-08-05 | Yahoo! Inc. | Integration of instant messaging with internet searching |
US20050289452A1 (en) * | 2004-06-24 | 2005-12-29 | Avaya Technology Corp. | Architecture for ink annotations on web documents |
US20060004711A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | System and method for ranking search results based on tracked user preferences |
US20060047615A1 (en) * | 2004-08-25 | 2006-03-02 | Yael Ravin | Knowledge management system automatically allocating expert resources |
US20060149817A1 (en) * | 2004-12-22 | 2006-07-06 | International Business Machines Corporation | Using collaborative annotations to specify real-time process flows and system constraints |
US20080104004A1 (en) * | 2004-12-29 | 2008-05-01 | Scott Brave | Method and Apparatus for Identifying, Extracting, Capturing, and Leveraging Expertise and Knowledge |
US20060242574A1 (en) * | 2005-04-25 | 2006-10-26 | Microsoft Corporation | Associating information with an electronic document |
US7653627B2 (en) * | 2005-05-13 | 2010-01-26 | Microsoft Corporation | System and method for utilizing the content of an online conversation to select advertising content and/or other relevant information for display |
US20070174265A1 (en) * | 2006-01-24 | 2007-07-26 | Sreenivasa Rao Gorti | System and method for creating an enhanced enterprise directory |
US20070219794A1 (en) * | 2006-03-20 | 2007-09-20 | Park Joseph C | Facilitating content generation via messaging system interactions |
US20070259325A1 (en) * | 2006-04-22 | 2007-11-08 | Clapper Rock L | Internet-based method and system for human-human question and answer sessions in delayed and real time |
US20080144737A1 (en) * | 2006-12-19 | 2008-06-19 | Qualcomm Incorporated | Beamspace-time coding based on channel quality feedback |
US20080235189A1 (en) * | 2007-03-23 | 2008-09-25 | Drew Rayman | System for searching for information based on personal interactions and presences and methods thereof |
US20080306935A1 (en) * | 2007-06-11 | 2008-12-11 | Microsoft Corporation | Using joint communication and search data |
US7756756B1 (en) * | 2007-09-12 | 2010-07-13 | Amazon Technologies, Inc. | System and method of providing recommendations |
US20090080635A1 (en) * | 2007-09-25 | 2009-03-26 | Utbk, Inc. | Systems and Methods to Connect Members of a Social Network for Real Time Communication |
US20090307100A1 (en) * | 2008-06-04 | 2009-12-10 | Ebay, Inc | System and method for community aided research and shopping |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106201A1 (en) * | 2006-12-27 | 2009-04-23 | White Robert A | System and method for related information search and presentation from user interface content |
US10037311B2 (en) | 2009-06-25 | 2018-07-31 | Oracle International Corporation | Technique for skipping irrelevant portions of documents during streaming XPath evaluation |
US8713426B2 (en) | 2009-06-25 | 2014-04-29 | Oracle International Corporation | Technique for skipping irrelevant portions of documents during streaming XPath evaluation |
US20110119602A1 (en) * | 2009-11-19 | 2011-05-19 | Sony Corporation | Web server, web browser and web system |
US9165086B2 (en) | 2010-01-20 | 2015-10-20 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US10191656B2 (en) | 2010-01-20 | 2019-01-29 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US8346813B2 (en) | 2010-01-20 | 2013-01-01 | Oracle International Corporation | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments |
US10055128B2 (en) | 2010-01-20 | 2018-08-21 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US20110252060A1 (en) * | 2010-04-07 | 2011-10-13 | Yahoo! Inc. | Method and system for topic-based browsing |
US10083248B2 (en) * | 2010-04-07 | 2018-09-25 | Excalibur Ip, Llc | Method and system for topic-based browsing |
US9996614B2 (en) | 2010-04-07 | 2018-06-12 | Excalibur Ip, Llc | Method and system for determining relevant text in a web page |
US8566343B2 (en) * | 2010-06-02 | 2013-10-22 | Oracle International Corporation | Searching backward to speed up query |
US8447785B2 (en) | 2010-06-02 | 2013-05-21 | Oracle International Corporation | Providing context aware search adaptively |
US20110302198A1 (en) * | 2010-06-02 | 2011-12-08 | Oracle International Corporation | Searching backward to speed up query |
US11620346B2 (en) | 2011-03-14 | 2023-04-04 | Search And Share Technologies Llc | Systems and methods for enabling a user to operate on displayed web content via a web browser plug-in |
US20150256591A1 (en) * | 2011-03-14 | 2015-09-10 | Slangwho, Inc. | System and method for transmitting submissions associated with web content |
US11113343B2 (en) | 2011-03-14 | 2021-09-07 | Newsplug, Inc. | Systems and methods for enabling a user to operate on displayed web content via a web browser plug-in |
US9977800B2 (en) | 2011-03-14 | 2018-05-22 | Newsplug, Inc. | Systems and methods for enabling a user to operate on displayed web content via a web browser plug-in |
US11106744B2 (en) | 2011-03-14 | 2021-08-31 | Newsplug, Inc. | Search engine |
US11507630B2 (en) | 2011-03-14 | 2022-11-22 | Newsplug, Inc. | System and method for transmitting submissions associated with web content |
US9338215B2 (en) * | 2011-03-14 | 2016-05-10 | Slangwho, Inc. | Search engine |
US20120239639A1 (en) * | 2011-03-14 | 2012-09-20 | Slangwho, Inc. | Search Engine |
US10180952B2 (en) | 2011-03-14 | 2019-01-15 | Newsplug, Inc. | Search engine |
US9058391B2 (en) | 2011-03-14 | 2015-06-16 | Slangwho, Inc. | System and method for transmitting a feed related to a first user to a second user |
US11947602B2 (en) | 2011-03-14 | 2024-04-02 | Search And Share Technologies Llc | System and method for transmitting submissions associated with web content |
US10387391B2 (en) * | 2011-03-14 | 2019-08-20 | Newsplug, Inc. | System and method for transmitting submissions associated with web content |
US20150039995A1 (en) * | 2012-02-17 | 2015-02-05 | Solute Gmbh | Method for displaying context-relevant supplementary information |
US11157570B2 (en) * | 2012-05-24 | 2021-10-26 | Evernote Corporation | Related notes and multi-layer search in personal and shared content |
US20130318063A1 (en) * | 2012-05-24 | 2013-11-28 | Evernote Corporation | Related notes and multi-layer search in personal and shared content |
US20160342691A1 (en) * | 2014-01-16 | 2016-11-24 | Jin He | Method and system for processing information in social network system |
US10698958B2 (en) * | 2014-01-16 | 2020-06-30 | Jin He | Method and system for processing information in social network system |
US11599584B2 (en) * | 2014-01-16 | 2023-03-07 | Jin He | Method and system for processing information in social network system |
CN106062741A (en) * | 2014-01-16 | 2016-10-26 | 何劲 | Method and system for processing information within social network |
US20190205934A1 (en) * | 2017-12-29 | 2019-07-04 | Hon Hai Precision Industry Co., Ltd. | Advertising device and method thereof |
US11436292B2 (en) | 2018-08-23 | 2022-09-06 | Newsplug, Inc. | Geographic location based feed |
Also Published As
Publication number | Publication date |
---|---|
US20060242574A1 (en) | 2006-10-26 |
US7734631B2 (en) | 2010-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7734631B2 (en) | Associating information with an electronic document | |
KR101242380B1 (en) | Associating information with an electronic document | |
US20220020056A1 (en) | Systems and methods for targeted advertising | |
US10061820B2 (en) | Generating a user-specific ranking model on a user electronic device | |
CA2747441C (en) | Identifying comments to show in connection with a document | |
US9374396B2 (en) | Recommended content for an endorsement user interface | |
US8645358B2 (en) | Systems and methods for personalized search sourcing | |
US9213754B1 (en) | Personalizing content items | |
Wang et al. | Exploring online social activities for adaptive search personalization | |
US10719836B2 (en) | Methods and systems for enhancing web content based on a web search query | |
US20110289068A1 (en) | Personalized navigation using a search engine | |
US20160019195A1 (en) | Method and system for posting comments on hosted web pages | |
Roumeliotis et al. | An effective SEO techniques and technologies guide-map | |
US9519683B1 (en) | Inferring social affinity based on interactions with search results | |
US9251273B2 (en) | Delivering a filtered search result | |
Zhao et al. | Who is doing what and when: Social map-based recommendation for content-centric social web sites | |
US9384283B2 (en) | System and method for deterring traversal of domains containing network resources | |
Juárez et al. | Toward a privacy agent for information retrieval | |
US20150178775A1 (en) | Recommending search bid phrases for monetization of short text documents | |
US20070043710A1 (en) | Searchroll system | |
Farooq | A survey on adversarial information retrieval on the web | |
Zimmer | THE PANOPTIC GAZE OF WEB SEARCH ENGINES: GOOGLE AS AN INFRASTRUCTURE OF DATAVEILLANCE | |
US20140280322A1 (en) | Claims-based querying in an online system | |
Roumeliotis et al. | 2 SEO Techniques & On-Page Optimization | |
WO2008077185A1 (en) | Cross-referencing method and system for online commentary |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0001 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |