WO2005045690A1 - Method and system for contextual activation of web services - Google Patents

Method and system for contextual activation of web services Download PDF

Info

Publication number
WO2005045690A1
WO2005045690A1 PCT/US2004/037212 US2004037212W WO2005045690A1 WO 2005045690 A1 WO2005045690 A1 WO 2005045690A1 US 2004037212 W US2004037212 W US 2004037212W WO 2005045690 A1 WO2005045690 A1 WO 2005045690A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
network
computer
display
executable code
Prior art date
Application number
PCT/US2004/037212
Other languages
French (fr)
Inventor
Manuel Caballero
Samuel Sergio Tenembaum
Ramiro Repetto
Entel Ivan
Original Assignee
Porto Ranelli, Sa
Pi Trust
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Porto Ranelli, Sa, Pi Trust filed Critical Porto Ranelli, Sa
Publication of WO2005045690A1 publication Critical patent/WO2005045690A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates generally to a method for contextually activating events and services based on selected and/or highlighted content, its context and other data.
  • the invention can be used to enhance the user interface of an operating system, specific programs and/or specific documents, like web pages. It also allows for a new way of distributing push network services.
  • This model could be described as a pulled transaction, in which a user actively seeks a provider (in this case, the search engine) to solve a problem (a search).
  • the current invention reverses this paradigm, in which users must actively seek the solution that is relevant to the present problem, and it makes it possible for providers to offer solutions based, not only on content, but also on context.
  • the current invention reverses the burden of contact, turning the transaction around, and allowing providers of solutions to offer their services when and where users might need them, by acknowledging the context, and therefore the need, in which the user finds himself.
  • Most, if not all, online services can benefit from this method of promotion and distribution; from the aforementioned search engines to, for example, translation services, financial services, people locators, entertainment sites, and travel sites.
  • DOC * 042242200459 O0* ⁇ establishing connections between the various tools being used by a given user while dealing with a specific issue.
  • users may be viewing free, paid or sponsored content, either locally or remotely; and they may use contextual services that can also be free, paid or sponsored.
  • contextual services that can also be free, paid or sponsored.
  • users may pay for the contextual services, or publishers may pay for them in order to be differentiated from their competition, or contextual service providers could pay publishers for their leads, or any of a number of options and combinations.
  • Users could pay for services and make purchases by having an account with a "contextual selection and highlighting service". For example, a user could purchase a movie, a book or anything anywhere, just by selecting its name on his computer. There is no need to enter billing or shipping data. Furthermore, if the client lead comes directly from his or her own desktop, there are savings in marketing costs (commissions, fees, etc.) that could be used in a loyalty program (discounts, miles, etc.), taking into account everything purchased via this method. - The technology could be built into sponsored software which could, in turn, result in cheaper or free programs and services in exchange for the ability to promote services and products.
  • the key to this is relevance; providers can now ensure it, making the investment in promotion more efficient and providing a better return on the investment.
  • the present invention solves the problems described above by using the contextual menu usually activated by pressing on the right mouse button of a Microsoft Windows PC (or control + the mouse button on an Apple Macintosh). It enables the remote management of the contents and features of
  • One way to understand the current invention is to view it as an added layer of functionality that activates itself when users perform certain activities, like highlighting a string of text. This event triggers an algorithm that categorizes such text based on parameters such as: the contents of the selection itself, the context in which it is found, user history and personal information (if available), and various datasets from, for example, any number of databases. Based on its findings the algorithm also may perform a default action or offer a range of them. For example: if a user highlights a sentence written in a language other than his own, the invention could automatically translate it - or offer various alternatives. Or, if a user highlights a product name, the invention could automatically provide technical specifications, retailers and even pricing.
  • a translation engine could offer its services. 4. If the selected/highlighted text includes a word or a phrase, a dictionary and thesaurus could spring into action, even contextual ones (legal, technical, medical, etc..) 5. If the selected/highlighted text includes a product name, then dealer locators, offers, comparisons to other products, etc... can be triggered. 6. If the selected/highlighted text includes an address, then a map service or driving directions could be offered. 7. If the selected/highlighted text includes a name, then a biography could appear, or a phone number and an email address, books on or by such person, etc...
  • Figure 1 is a flowchart of the distribution process that results in the enablement of the invention on a web page
  • Figure 2 is a flowchart of the generic operation of the invention
  • Figure 3 is a flowchart of a specific implementation of the invention
  • Figure 4 is a block diagram illustrating the preferred environment for using the present invention.
  • the currently preferred embodiment allows for websites to integrate third party contextual services onto their pages by means of a JavaScript tag.
  • FIG. 4 illustrates the preferred environment for the present invention.
  • a plurality of users' computers U1...Un (clients) are connected to the Internet I.
  • a plurality of servers (computers) S1...Sn are also connected to the Internet I and are available to the users.
  • an "activation" server for example Sn includes a page Pn to be used by a user's browser, which will cause the user's browser to become contextually responsive to additional information that appears in the browser page.
  • Page Pn has a tag (an instruction to acquire code from a remote location). The tag is activated when the user accesses page Pn. Executable code is then downloaded to the user's computer which, when run in his browser, causes the browser to become contextually responsive.
  • the process described in the flowchart of Figure 1 results in the delivery of code onto a web page, enabling the current invention, the process involves steps performed by the client (client "side") and steps performed by the activation server ("server” side), which are shown in left and right panels, L and R, respectively, to demonstrate the interactions of the client and server.
  • the process begins at block 101 at the client side and goes on to block 103, where a user types or otherwise enters a URL.
  • the browser contacts the server and requests an HTML document.
  • the server receives the request and retrieves or acquires the appropriate web page, which includes an HTML tag that will result in activation of the invention.
  • the browser executes it, including the aforementioned tag.
  • the tag requests additional JavaScript code from the server.
  • the tag can be set up to request the code from another server.
  • the server receives the request at block 111 and delivers the code to the user as a modified HTML page, which the client receives and executes at block 113.
  • the client Upon executing the modified HTML page, the client acquires the added functionality.
  • the process ends at block 115. From now on, selecting, highlighting or multi-clicking on the page will activate the process described in Figure 2.
  • the process continues on to block 205, where it is determined if the current click is taking place over selected text. If the answer is positive, the process continues on to 207, where a contextual menu is presented to the user with a list of services and actions. Parameters used to decide which services and actions to take are included, among others: the text selected, the context of the entire page, the URL, any number of databases (i.e.: registered user info), geographic location and any other external or internal data set. In turn, any of the options presented to the user may trigger a number of actions. After such action is taken, process returns to block 201 and starts over.
  • the process goes to block 209, where it is determined whether any text was previously selected in the entire document. If the answer is positive, then it is de-selected at block 211 and the process returns to block 201 and starts over. If the answered at block 209 is negative, control returns to block 201 and the process starts over. If, block 203 had determined that the button being pressed is the left one, then flow continues at block 213, where it is determined whether the action is a single-click or not.
  • block 215, (after it is determined that a single right-click has taken place), the system determines whether the user is making a selection, if not; flow goes on to block 209 and continues as described above. If the
  • Block 215 determines whether the process is "yes" or "yes" or "yes" or "yes" or "yes"
  • the process goes on to block 217, where, if the selection is an URL, a new browser window is opened and displays such URL (block 219), and restarts the process. If not, flow goes on to block 221 , where the selected text is checked for being an email address, if yes, flow goes on to block 223, where the default email program is used to compose an email to this address (or other actions, like a reverse look-up) and then resumes from the start. If not, the system continues on to block 225.
  • Block 225 represents a generic condition.
  • Figure 3 is a flowchart illustrating an implementation of the current invention, in which highlighting text in a web page triggers a search for the selected string. It should be noted that such search may use as parameters not only the highlighted text but also the context in which it is found. This is a key benefit of the current invention: if, instead of using the invention, the user had highlighted the desired text, copied it and pasted it into a search engine, such search could not take context into account. The text search would be devoid of context.
  • the process described in Figure 3 starts at block 301 , with the user clicking on the mouse button.
  • Block 303 determines if the button pressed was the left one, if yes, then flow moves on to block 305; otherwise it re-starts.
  • Block 305 determines whether the user has highlighted text, if so, flow continues on to block 307, otherwise the process re-starts.
  • Block 307 determines whether the search feature is active or not, if yes, flow goes on to block 309, otherwise, the process re-starts.
  • the system obtains the search parameters, which may be limited to the highlighted text or may include additional data, like the URL or other text.
  • the search is requested.

Abstract

The present invention allows websites to integrate third party contextual services onto their pages by means of a tag retrieves code which traps right-clicks and/or highlighting actions (103, 105); analyzes their content and context; chooses relevant services from a dynamic list; and either defaults to a specific feature or service, or presents the user with a choice (107, 109). In this way, the present invention provides an added layer of functionality that activates itself when users perform certain activities, like highlighting a string of text (109, 111). This event triggers an algorithm that categorizes such text in which it is found, user history and personal information, and various datasets from any number of databases (111). Based on its findings the algorithm also may perform a default action or offer a range of them.

Description

METHOD AND SYSTEM FOR CONTEXTUAL ACTIVATION OF WEB SERVICES
Field of the Invention
The present invention relates generally to a method for contextually activating events and services based on selected and/or highlighted content, its context and other data. The invention can be used to enhance the user interface of an operating system, specific programs and/or specific documents, like web pages. It also allows for a new way of distributing push network services.
Background of the Invention
The advent of the Internet has triggered an ever growing number services and business models. The sheer volume of offerings and their variety has become part of one of the most serious issues troubling modern life: how to sort the relevant from the irrelevant? How to find what one is looking for? Search engines, registered user databases, data mining, profiling, and many other methods and solutions currently exist, yet they require that users know where to find these services or, at least, that they know where to look for them. A common example of this arises when performing a web search: if a user is reading an article and comes across a term, name or phrase that he wants to research; he must perform the following steps:
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } 1. Highlight the text; 2. Copy it; 3. Open another browser window; 4. Type the URL of a favorite search engine; 5. Wait for the page to load; 6. Paste the text; 7. Press the "Search button"; 8. Wait for the answers page; and 9. Sift through the answers.
This model could be described as a pulled transaction, in which a user actively seeks a provider (in this case, the search engine) to solve a problem (a search). The current invention reverses this paradigm, in which users must actively seek the solution that is relevant to the present problem, and it makes it possible for providers to offer solutions based, not only on content, but also on context. The current invention reverses the burden of contact, turning the transaction around, and allowing providers of solutions to offer their services when and where users might need them, by acknowledging the context, and therefore the need, in which the user finds himself. Most, if not all, online services can benefit from this method of promotion and distribution; from the aforementioned search engines to, for example, translation services, financial services, people locators, entertainment sites, and travel sites. Not only do service providers benefit from this model, but users get additional functionality in a dynamic, contextual fashion that did not exist before. Also, publishers get to enhance their offerings and generate revenues from the new services. When a user moves between Internet sites looking for a solution, there is currently no relationship between the two sites. No lead can be traced from one to the other, so even if the combination of their services is what allowed a user to solve a problem, usually a single entity gets all the credit for it (and all the income). The present invention permits new business models (profit sharing, licensing, transaction fees, credits, etc.) to arise among the various parties, by
{W:\04224\2200459wo0\00285182.DOC * 042242200459 O0* } establishing connections between the various tools being used by a given user while dealing with a specific issue. Thanks to the invention, a new type of transaction becomes possible between the parties: users may be viewing free, paid or sponsored content, either locally or remotely; and they may use contextual services that can also be free, paid or sponsored. Whichever is the case, a variety of business opportunities can emerge from use of the invention. For example, users may pay for the contextual services, or publishers may pay for them in order to be differentiated from their competition, or contextual service providers could pay publishers for their leads, or any of a number of options and combinations. Specific examples: Users could pay for services and make purchases by having an account with a "contextual selection and highlighting service". For example, a user could purchase a movie, a book or anything anywhere, just by selecting its name on his computer. There is no need to enter billing or shipping data. Furthermore, if the client lead comes directly from his or her own desktop, there are savings in marketing costs (commissions, fees, etc.) that could be used in a loyalty program (discounts, miles, etc.), taking into account everything purchased via this method. - The technology could be built into sponsored software which could, in turn, result in cheaper or free programs and services in exchange for the ability to promote services and products. The key to this is relevance; providers can now ensure it, making the investment in promotion more efficient and providing a better return on the investment. The present invention solves the problems described above by using the contextual menu usually activated by pressing on the right mouse button of a Microsoft Windows PC (or control + the mouse button on an Apple Macintosh). It enables the remote management of the contents and features of
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } the contextual menu (also known as right-button menu). Thus, one or many providers can assess the needs of a user who presses the button or highlights content, and offer solutions and services based on the activity being performed. The current invention can be realized using a number of existing technologies, as well as yet non-existing ones, and it can be system-wide, or document specific.
Brief Description of the Invention
One way to understand the current invention is to view it as an added layer of functionality that activates itself when users perform certain activities, like highlighting a string of text. This event triggers an algorithm that categorizes such text based on parameters such as: the contents of the selection itself, the context in which it is found, user history and personal information (if available), and various datasets from, for example, any number of databases. Based on its findings the algorithm also may perform a default action or offer a range of them. For example: if a user highlights a sentence written in a language other than his own, the invention could automatically translate it - or offer various alternatives. Or, if a user highlights a product name, the invention could automatically provide technical specifications, retailers and even pricing. These are only examples, but should provide some insight into the untapped and novel business relationships that could arise between publishers, service providers (like search engines, retailers, marketers, on-line tools of all kinds) and users. The following list of potential services and features is included for illustrative purposes only and to facilitate the understanding of the invention. It is by no means comprehensive: 1. If the selected/highlighted text includes "www", then a new window may pop open with the URL. This is useful on the many occasions in which a URL is not an active link. 2. If the selected/highlighted text includes "@", then an email composing program or service could open a message composing screen. Or it could trigger a search for a person, or find the person in a chat room, or in an instant messenger, or find a matching telephone number, etc.
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } 3. If the selected/highlighted text is in a language other than the Operating Systems, then a translation engine could offer its services. 4. If the selected/highlighted text includes a word or a phrase, a dictionary and thesaurus could spring into action, even contextual ones (legal, technical, medical, etc..) 5. If the selected/highlighted text includes a product name, then dealer locators, offers, comparisons to other products, etc... can be triggered. 6. If the selected/highlighted text includes an address, then a map service or driving directions could be offered. 7. If the selected/highlighted text includes a name, then a biography could appear, or a phone number and an email address, books on or by such person, etc...
Brief Description of the Drawings
The foregoing brief description, as well as further objects, features, and advantages of the present invention will be understood more completely from the following detailed description of a presently preferred, but nonetheless illustrative embodiment, with reference being had to the accompanying drawings, in which: Figure 1 is a flowchart of the distribution process that results in the enablement of the invention on a web page; Figure 2 is a flowchart of the generic operation of the invention; Figure 3 is a flowchart of a specific implementation of the invention; and Figure 4 is a block diagram illustrating the preferred environment for using the present invention.
Description of the Currently Preferred Embodiment
The currently preferred embodiment allows for websites to integrate third party contextual services onto their pages by means of a JavaScript tag.
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } Such tag retrieves code that traps right-clicks and/or highlighting actions; analyzes their content and context; chooses relevant services from a dynamic list; and either defaults to a specific feature or service, or presents the user with a choice. Figure 4 illustrates the preferred environment for the present invention. A plurality of users' computers U1...Un (clients) are connected to the Internet I. A plurality of servers (computers) S1...Sn are also connected to the Internet I and are available to the users. One of these servers, an "activation" server, for example Sn includes a page Pn to be used by a user's browser, which will cause the user's browser to become contextually responsive to additional information that appears in the browser page. Page Pn has a tag (an instruction to acquire code from a remote location). The tag is activated when the user accesses page Pn. Executable code is then downloaded to the user's computer which, when run in his browser, causes the browser to become contextually responsive. The process described in the flowchart of Figure 1 results in the delivery of code onto a web page, enabling the current invention, the process involves steps performed by the client (client "side") and steps performed by the activation server ("server" side), which are shown in left and right panels, L and R, respectively, to demonstrate the interactions of the client and server. The process begins at block 101 at the client side and goes on to block 103, where a user types or otherwise enters a URL. At block 105, the browser contacts the server and requests an HTML document. At block 107, the server receives the request and retrieves or acquires the appropriate web page, which includes an HTML tag that will result in activation of the invention. At block 109, after receiving the HTML document, the browser executes it, including the aforementioned tag. On execution, the tag requests additional JavaScript code from the server. However, those skilled in the art will appreciate that the tag can be set up to request the code from another server. The server receives the request at block 111 and delivers the code to the user as a modified HTML page, which the client receives and executes at block 113. Upon executing the modified HTML page, the client acquires the added functionality. The process ends at block 115. From now on, selecting, highlighting or multi-clicking on the page will activate the process described in Figure 2.
{W:\04224\2200459wo0\00285182.DOC *042242200459 O0* } Figure 2 in a flowchart which describes the generic operation of the currently preferred embodiment of the invention, which remains active as long as the HTML document served in Figure 1 is open. It should be noted that the current invention is meant to be expanded to include different kinds of features and services, both locally and remotely (web services and others), hence its description cannot possibly allow for all of them. The extensibility should become apparent from the following description. The process begins on block 201 , with the click of a button on the mouse. Block 203 determines whether it was the right or left button that was pressed. If the right button was pressed, the process continues on to block 205, where it is determined if the current click is taking place over selected text. If the answer is positive, the process continues on to 207, where a contextual menu is presented to the user with a list of services and actions. Parameters used to decide which services and actions to take are included, among others: the text selected, the context of the entire page, the URL, any number of databases (i.e.: registered user info), geographic location and any other external or internal data set. In turn, any of the options presented to the user may trigger a number of actions. After such action is taken, process returns to block 201 and starts over. If the answer is negative at block 205 (the click is not being made over previously selected text), the process goes to block 209, where it is determined whether any text was previously selected in the entire document. If the answer is positive, then it is de-selected at block 211 and the process returns to block 201 and starts over. If the answered at block 209 is negative, control returns to block 201 and the process starts over. If, block 203 had determined that the button being pressed is the left one, then flow continues at block 213, where it is determined whether the action is a single-click or not. If it is a single-click, then flow continues at block 215, if not, the process goes to block 227, where additional features, services and functionality can be added, taking specific actions based on numerous factors, including the type of selection being made, the text, context, language. Then, flow re-starts at block 201. At block 215, (after it is determined that a single right-click has taken place), the system determines whether the user is making a selection, if not; flow goes on to block 209 and continues as described above. If the
{W:\04224\2200459wo0\00285182.DOC * 042242200459WO0* } determination at block 215 is "yes", the process goes on to block 217, where, if the selection is an URL, a new browser window is opened and displays such URL (block 219), and restarts the process. If not, flow goes on to block 221 , where the selected text is checked for being an email address, if yes, flow goes on to block 223, where the default email program is used to compose an email to this address (or other actions, like a reverse look-up) and then resumes from the start. If not, the system continues on to block 225. Block 225 represents a generic condition. This shows the extensibility of the current invention, which can be expanded easily to include other conditions using parameters like, for example: the text selected, the type of selection (multiple-clicks, multi-button mice, modifier keys - like shift or alt), the context (other content on the page or even the domain), real time data like weather, geography, recent activities, and even identifiable information from databases. The result of conditionals represented in this block could result in the flow taking a number of actions depending on the questions asked, these actions are represented in block 227, from where the flow re-starts. If all conditionals return a negative answer, then the process re-starts without taking any action. In order to further exemplify the invention, Figure 3 is a flowchart illustrating an implementation of the current invention, in which highlighting text in a web page triggers a search for the selected string. It should be noted that such search may use as parameters not only the highlighted text but also the context in which it is found. This is a key benefit of the current invention: if, instead of using the invention, the user had highlighted the desired text, copied it and pasted it into a search engine, such search could not take context into account. The text search would be devoid of context. The process described in Figure 3 starts at block 301 , with the user clicking on the mouse button. Block 303 determines if the button pressed was the left one, if yes, then flow moves on to block 305; otherwise it re-starts. Block 305 determines whether the user has highlighted text, if so, flow continues on to block 307, otherwise the process re-starts. Block 307 determines whether the search feature is active or not, if yes, flow goes on to block 309, otherwise, the process re-starts. At block 309, the system obtains the search parameters, which may be limited to the highlighted text or may include additional data, like the URL or other text. At block 311 the search is requested. Next, at block 313, the search engine
{W:\04224\2200459wo0\00285182.DOC *0422 2200459WO0* } processes the data, makes decisions and generates the response. Lastly, the search results are delivered to the user and displayed. The process may either finish or restart from this point. Presently preferred code for realizing the preferred embodiment of the present invention is provided in accompanying Appendix A.
Alternate embodiments
In addition to the preferred embodiment described above, those skilled in the art will recognize other ways of achieving similar results using various programming languages and turning the invention from a client/server and script based solution to a downloadable solution with the capability to establish connections to online service provider/s. This alternate embodiment can also benefit from functioning across the entire operating system, and not just on an HTML document. Nevertheless, while the preferred embodiments distribution relies on a line of code on a web page (that may be even trafficked via an ad server), this alternate method would require users to download an executable program, unlike the preferred method. Those skilled in the art will appreciate that the technology can also be used to research, document and analyze user behavior by reporting every single click performed. Those skilled in the art will also appreciate that the functionality of the invention could be incorporated into a web browser. Although preferred embodiments of the invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that many additions, modifications and substitutions are possible without departing from the scope or spirit of he present invention.
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } APPENDIX A Code Section
<SCRIPT LANGUAGE="JavaScript"> documen write ('<div style="position:absolute;top-5555px; left:-5555px;"xform action="http://dictionary .reference.com/translate/text.html" method- 'post" name="trans_forrn" target="_blank"xmput type="Mdden" name="r" value="106563120366184500"xmput type="hidden" name="lρ" value- "'xinput type="hidden" name="text" value=""x/forrnx/div>'); var theSRC='http://vip.unitedsites.com.ar/bue/ih/'; var flashWidth=200,flashHeight=200,shTop=0,sb eft=0,flashName-ramatxt.sλvf; document, write ('<OBJECT ID="sh_contextMenu"
STYLE="position:absolute;top:'+shTop+'px;left:'+shLeft+'px;z-index:1000;display:none;" CLASSID="clsid:D27CDB6E-AE6D-llcf-96B8-444553540000"
CODEBASE="ht p://download.macromediaxonVpub/shockwave/cabs/flash/s flash.cab#version=4,0,2,0" width="'+flashWidth+'" height='"+flashHeight+",xPARAM NAME=movie
VALUE="'+theSRC+flashName+"'xPARAM NAME=quality VALUE=highxPARAM NAME="LOOP" VALUE="false"xPARAM NAME="wmode" VALUE="transparent"xPARAM NAME=SALIGN VALUE=TxPARAM NAME=MENU VALUE=FALSEx/OBJECT>'); function iHi() { /* Constants */ var IS_TEXT = 0; var IS_URL = l; var IS_EMAIL = 2; var IS_SEARCH = 3; var IS_TRANSLATE = 4; /* End of Constants */ /* Properties */ var theMode= 0; // 0 = Express 1 = Deluxe var selectionType = null; var theSectionObj = null; var extraData = null; var parsedSelection = null; var clipBoardMem = new Array("","","",""); var elObjSelectedHTML; var elObjSelectedTXT; /* End of Properties */ /* Methods */ this.changeMode = changeMode; this.getSelection = getSelection; this.getSelectionTypeExpress = getSelectionTypeExpress; this.iligth = iligth; // Express Functions // this.goMailExpress = goMailExpress; this.goUrlExpress = goUrlExpress; this.goSearchExpress = goSearchExpress; this.goTranslateExpress = goTranslateExpress; // Express Functions END // // Deluxe Functions // this.setMailDeluxe = setMailDeluxe; this.setUrlDeluxe = setUrlDeluxe; this.setSearchDeluxe =setSearchDeluxe; this.goTranslateDeluxe = goTranslateDeluxe;
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } this.goMailDeluxe = goMailDeluxe; // Deluxe Functions END // this.clearSel = clearSel; this.clearSelAll = clearSelAll; this.looklsClearSel = looklsClearSel; this.menuDerecho = menuDerecho; /* End of Methods */ function getSelection () { // if user select a image, input or text area, dont do anything if (event.srcElement.tagName.toLowerCase() !="img" && event.srcElement.tagName.toLowerCase()!="input" && event.srcElement.tagName.toLowerCaseOl- 'textarea") { // Left click button if (eventbutton = 1) { document.all.sh_contextMenu.style.display="none"; this.theSectionObj = document.selection.createRange(); elObjSelectedHTML= document.selection.createRangeO.htmlText; //
HTML SELECTED elObjSelectedTXT= document.selection.createRangeO.text; // TEXT SELECTED parsedSelection=elObj SelectedHTML.toLowerCase() .replace(/<[Λ>] *>/g,' ').replace(/(&nbsp;)*/g,").replace(Λs*[,]+/g,',').replace(Λs+/g,").replace(/Λ\s+/g,").replace(Λs+$/g,"); if (parsedSelection.length>0) { if (theMode=0)//l click mode // left click { getSelectionTypeExpress(); if (selectionType=l) goUrlExpressO; else if (selectionTyρe=2) goMailExρress(); else if (selectionType=3) goSearchExpressO; else if (selectionType=4) goTranslateExpressQ; } else { getSelectionTypeDeluxe();//2 clicks mode // left click } } } else // right click button { if (eventbutton = 2) { document.all.sh_contextMenu.style.display="none"; // clicks over selected area if (parseFloat(this.theSectionObj.offsetLeft+tMsΛeSec^^ && this.theSectionObj. offsetLeft<=event.clienfX &&
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } parseFloat(tMs.theSectionObj.offsetTop+tMs.theSectionObj.boundingHeight)>=parseFloat(event.clientY) && this.theSectionObj.offsetTop<=event.clientY ) { if (theMode—0) // if is 1 click mode { return false; } else // if is 2 click mode { if (selectionType=0) setCopyDeluxeO; else if (selectionType=l) setUrlDeluxeO; else if (selectionType— 2) setMailDeluxeO; else if (selectionType=3) setSearchDeluxe(); if (this.theSectionObj && elObjSelectedTXT.length>0) { document.all.sh_contextMenu.style.ρosTop=shGetY(this.theSectionObj)+document.body.scrollTo p; document.all.sh_contextMenu.style.posLeft=event.screenX; document.all.sh_contextMenu.style.display=" inline"; } clearSelAllO; } } else // click out off selection { clearSelAllO; }
} function getSelectionTypeExpress() // 1 click { /* This next Regular Expression Trims the selection and converts dirty characters like Enters, multiple spaces, etc to one single space. It "cleans" the selection.*/ var tmp- "'; var tmρObj=elObjSelectedHTML.toLowerCase(); var tmplnicio=0, tmpFinal=0, tmpArray, isInTheText=-l, tmpCont=0, elLinkObj- '"; tmρObj=tmpObj.reρlace(/Λ(&nbsp;)*/g,"); //remove "&nbsp;" from the beginning tmp=parsedSelection.split(" "); if (((parsedSelection.indexOf("http://")>=0 || parsedSelection.indexOf("https://")>=0 || parsedSelection.indexOf("www.")>=0) && parsedSelection.indexOf(" ")<0 && ρarsedSelection.indexOf(".")>0)) { extraData = "";
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } selectionType = IS_URL; } else if (parsedSelection.indexOf("@")>0 && parsedSelection.indexOf(".")>0 && parsedSelection.indexOf(" ")<0) selectionType = ISJEMAIL; else if (tmp.length <4) selectionType = IS_SEARCH; else if (tmp.length >=4) selectionType = IS_TRANSLATE; } function getSelectionTypeDeluxe() // 2 clicks { /* This next Regular Expression Trims the selection and converts dirty characters like Enters, multiple spaces, etc to one single space. It "cleans" the selection.*/ var tmp- "'; var tmpObj=elObjSelectedHTML.toLowerCase(); var tmρlnicio=0, tmpFinal=0, tmpArray, isInTheText=-l, tmpCont=0, elLinkObj- '"; tmpObj=tmpObj.replace(/Λ(&nbsp;)*/g,"); // remove "&nbsp;" from the beginning tmp=parsedSelection.split(" "); if (((parsedSelection.indexOf("http://")>=0 || parsedSelection.indexOf("https://")>=0 || parsedSelection.indexOf("www.")>=0) && parsedSelection.indexOf(" ")<0 && parsedSelection.indexOf(".")>0)) { extraData = ""; selectionType = IS_URL; } else if (parsedSelection.indexOf("@")>0 && parsedSelection.indexOf(".")>0 && parsedSelection.indexOf(" ")<0) selectionType = IS_EMAIL; else if (tmp.length <4) selectionType = IS_SEARCH; else if (tmp.length >=4) selectionType = IS_TEXT; } function goMailExpress () window.open("mailto:"+parsedSelection,"",""); function goMailExpress () window.open("mailto:"+ρarsedSelection,"",""); function goSearchExpress () window.open("httρ://www.google.com.ar/search?q="+escape(parsedSelection),"",'); function goTranslateExρress() if (this.theSectionObj && elObjSelectedTXT.length>0) {
{W:\04224\2200459wo0\00285182JDOC *042242200459WO0* } document.forms.trans_form.text.value=elObjSelectedTXT; var elIdiorna=navigator.browserLanguage.substr(0,2); if(elIdioma="en") document.forms.trans_form.lρ.value="en_es"; else document.forms.trans_form.lp.value="es_en"; document.forms.trans_form.submit(); } } function goUrlExpress () { if(extraData!="") { window.oρen(extraData.href,"",""); extraData=""; } else if(elObjSelectedTXT.toLowerCase().indexOf("http://")>=0 || elObjSelectedTXT.toLowerCase().indexOf("https://")>=0) window.open(elObjSelectedTXT,"",""); else window.open("http://"+elObjSelectedTXT,"",""); } function changeMode () { if (theMode=0) theMode=l; else theMode=0; } function clearSel() { //clear selection document.selection.emptyO; } function clearSelAllO { //clear selection document. selection.empty(); tnis.theSectionObj="" ; } function shGetY(obj) { var shY=0; while(obj) { shY+=obj.offsetToρ; obj=obj .offsetParent; } return shY; } function shGetX(obj) { var shX=0;
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } while(obj) { shX+=obj .offsetLeft; obj=obj .offsetParent; } return shX; } function menuDerecho() { return false; } function looklsClearSel () { //click out of selection if (this.theSectionObj) if (!(parseFloat(tms.meSectionObj.offsetLeft+tMs.m^ && this.theSectionObj .offsetLeft<=event.clientX && parseFloat(tMs.meSectionObj.offsetTop+this.theSectionObj.boundingHeight)>=parseFloat(event.clientY) && this.theSectionObj .offsetTop<=event.clientY)) { clearSelAllO; } function setUrlDeluxe() ' { document.all.sh_contextMenu.SetVariable('texto', 'Go To URL} Shop} Copy}Translate} Search} '); alertC'setUrlDeluxe") } function setMailDeluxe() { document.all.sh_contextMenu.SetVariable('texto', 'Send E- mail} Shop}Copy} Translate} Search}'); alert("setMailDeluxe"); } function setSearchDeluxe() { document.all.sh_contextMenu.SetVariable('textol, 'Search}Shop}Copy} Translate} Send
E-mail}'); alert("setSearchDeluxe"); } function setTranslateDeluxe() { document.all.sh_contextMenu.SetVariable('texto', 'Translate} Shop} Copy} Send E- mail} Search}'); alert("setTranslateDeluxe"); } function setCopyDeluxe () { var elSize=clipBoardMem.length-l; for (elSize;elSize>0;elSize~) { clipBoardMem[elSize]=chpBoardMem[elSize- 1 ] ;
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* } } clipBoardMem[0]=parsedSelection; window.clipboardData.setData("Text",parsedSelection); for (tmpI=0;tmpKclipBoardMem.length;tmpI++) alert(tmpI+":"+clipBoardMem[tmpI]); document.all.sh_contextMenu.SetVariable('texto', 'Copy} Shop}Translate} Send E- mail} Search}'); alert("setCopyDeluxe"); } } var a = new iHi();
//conect object width methods document.oncontextmenu=a.menuDerecho; document.body.onmouseup=a.getSelection; document.body.onmousedown=a.lookIsClearSel;
</SCRTPT>
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* }

Claims

WHAT IS CLAIMED:
1. A method for achieving enhanced functionality in a communication program running on a user's computer, the user having access to a computer network on which his computer is a client computer, comprising the steps of: providing a computer on the network which acts as a server; at the server, generating executable code which is effective, when run on a client computer, to: produce a first executable program module which detects operations performed by the user on a display produced on the user's computer by the communication program and operations being performed by the user with respect to operating the communication program; and produce a second executable program module which takes predetermined actions in relationship to the operation detected by the first executable program module; and delivering the executable code to the client computer in a communication sent over the network from the server to the communication program in a form that will cause automatic execution of the executable code.
2. The method of claim 1 wherein the communication program is a web browser and the network is the Internet.
3. The method of claim 1 or 2 wherein the operations include manipulations of a pointing device.
4. The method of claim 3 wherein the pointing device is a mouse which includes left and right buttons, the operations including clicks of the mouse buttons.
5. The method of claim 4 wherein the operations include clicks over a portion of the display and highlighting a portion of the display.
{W:\04224\2200459wo0\00285182.DOC *042242200459WO0* }
6. The method of claim 1 or 2 wherein the action includes presenting a contextual menu, communicating with the network to obtain a new display, and performing a search over the network for information related to the detected operation.
7. The method of claim 6 wherein the second module includes executable code which examines the display and uses information it finds therein in determining what action to take.
8. The method of claim 1 wherein the second module includes executable code which examines the display and uses information it finds therein in determining what action to take.
9. In a system for achieving enhanced functionality in a communication program running on a user's computer, the user having access to a computer network on which his computer is a client computer, the system comprising: a computer on the network which acts as a server; the server being programmed to generate executable code which is effective, when run on a client computer, to: produce a first executable program module which detects operations performed by the user on a display produced on the user's computer by the communication program and operations being performed by the user with respect to operating the communication program; and produce a second executable program module which takes predetermined actions in relationship to the operation detected by the first executable program module; and a transmitter acting over the network to send the executable code in a communication over the network from the server to the communication program, the executable code being in a form that will cause automatic execution of the executable code.
10. The system of claim 9 wherein the communication program is a web browser and the network is the Internet.
{W:\04224\2200459wo0\00285182.DOC * 042242200459 O0* }
11. The system of claim 9 or 10 wherein the operations include manipulations of a pointing device.
12. The system of claim 11 wherein the pointing device is a mouse which includes left and right buttons, the operations including clicks of the mouse buttons.
13. The system of claim 12 wherein the operations include clicks over a portion of the display and highlighting a portion of the display.
14. The system in accordance with any of claims 9 or 10 wherein the action includes presenting a contextual menu, communicating with the network to obtain a new display, and performing a search over the network for information related to the detected operation.
15. The system of claim 14 wherein the second module includes executable code which examines the display and uses information it finds therein in determining what action to take.
16. The system of claim 9 wherein the second module includes executable code which examines the display and uses information it finds therein in determining what action to take.
{W:\04224\2200459wo0\00285182.DOC * 042242200459WO0* }
PCT/US2004/037212 2003-11-04 2004-11-04 Method and system for contextual activation of web services WO2005045690A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51758603P 2003-11-04 2003-11-04
US60/517,586 2003-11-04

Publications (1)

Publication Number Publication Date
WO2005045690A1 true WO2005045690A1 (en) 2005-05-19

Family

ID=34572955

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/037212 WO2005045690A1 (en) 2003-11-04 2004-11-04 Method and system for contextual activation of web services

Country Status (1)

Country Link
WO (1) WO2005045690A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577718B2 (en) 2006-07-31 2009-08-18 Microsoft Corporation Adaptive dissemination of personalized and contextually relevant information
US7685199B2 (en) 2006-07-31 2010-03-23 Microsoft Corporation Presenting information related to topics extracted from event classes
US7849079B2 (en) 2006-07-31 2010-12-07 Microsoft Corporation Temporal ranking of search results

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6169992B1 (en) * 1995-11-07 2001-01-02 Cadis Inc. Search engine for remote access to database management systems
US20040199657A1 (en) * 2000-01-24 2004-10-07 Aviv Eyal Streaming media search and playback system
US20040205554A1 (en) * 2001-08-22 2004-10-14 Goswami Kumar K. Systems and methods for accessing multiple internal information sources of a business from a composite web document
US20050010689A1 (en) * 2001-08-22 2005-01-13 Jean-Baptiste Henry Methods and device for interfacing communication between devices on different networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6169992B1 (en) * 1995-11-07 2001-01-02 Cadis Inc. Search engine for remote access to database management systems
US20040199657A1 (en) * 2000-01-24 2004-10-07 Aviv Eyal Streaming media search and playback system
US20040205554A1 (en) * 2001-08-22 2004-10-14 Goswami Kumar K. Systems and methods for accessing multiple internal information sources of a business from a composite web document
US20050010689A1 (en) * 2001-08-22 2005-01-13 Jean-Baptiste Henry Methods and device for interfacing communication between devices on different networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577718B2 (en) 2006-07-31 2009-08-18 Microsoft Corporation Adaptive dissemination of personalized and contextually relevant information
US7685199B2 (en) 2006-07-31 2010-03-23 Microsoft Corporation Presenting information related to topics extracted from event classes
US7849079B2 (en) 2006-07-31 2010-12-07 Microsoft Corporation Temporal ranking of search results

Similar Documents

Publication Publication Date Title
US10503386B2 (en) Messaging window overlay for a browser
KR100825438B1 (en) Translation ordering system
US7353246B1 (en) System and method for enabling information associations
US7599915B2 (en) Portal linking tool
US6538673B1 (en) Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US20050256940A1 (en) Methods, systems, and computer program products for client side prefetching and caching of portlets
JP2005505825A (en) Context-adaptive web browser
KR20120034600A (en) Methods and systems for searching, selecting, and displaying content
JPH11513829A (en) Web browser with dynamic display of information objects during link processing
JP2008517373A (en) Generating keywords for searching in computer networks
US8301747B2 (en) Method and computer system for optimizing a link to a network page
US20030120542A1 (en) System and method for rewarding a user&#39;s interaction behavior with a computer system
US20130159480A1 (en) Smart Browsing Providers
CN102667754A (en) System and method for enhancing digital content
WO2008071120A1 (en) Method and system for issuing relative information of internet keywords
US20010016906A1 (en) Process for personalized access to the internet network
US20030195803A1 (en) Method and system for retrieving and analyzing data to customize the behavior of automated web agents
US20030110210A1 (en) Information communication system
US20070100965A1 (en) Method for selecting an additional-information by a server
WO2005045690A1 (en) Method and system for contextual activation of web services
JP7145215B2 (en) Browser management system, browser management method, browser management program, and client program
KR100863337B1 (en) internet advertising method of present site related information offer for web browser click
AU2039001A (en) Method for extracting digests, reformatting and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
EP1388782B1 (en) Method and computer system for providing stateful favorites
KR100418374B1 (en) Method and system for advertisement using pop-up technique in animation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC (COMMUNICATION DATED 25-08-2006, EPO FORM 1205A)

122 Ep: pct application non-entry in european phase