Methods and systems for providing a network communication status description based on user characteristics. The techniques receive a status indication from a first networked computer in response to a user's request for information and determine one or more characteristics of the user who issued the request. The techniques provide a status description based on the status indication and the determined characteristics of the user (e.g., a preferred language).
|
1. A method of providing a network communication status description based on user comprehension characteristics, the method comprising:
receiving a status indication from a first networked computer in response to a user's request for information; determining one or more comprehension characteristics of the user who issued the request; selecting a first status description from a plurality of status descriptions based upon the one or more comprehension characteristics and the status indication wherein the plurality of status descriptions include the first status description that corresponds to a first received status indication and a first set of determined comprehension characteristics and a second status description that corresponds to the first received status description and a second set of determined comprehension characteristics; and providing the first status description.
20. A proxy for providing a network communication status description based on user comprehension characteristics, the proxy comprising:
means for receiving a status code from a first networked computer in response to a user's request for information; means for determining one or more comprehension characteristics of the user who issued the request; means for selecting a first status description from a database storing a plurality of status descriptions based on the received status code and the determined user comprehension characteristics wherein the plurality of status descriptions include the first status description that corresponds to a first received status code and a first set of determined comprehension characteristics and a second status description that corresponds to the first received status code and a second set of determined comprehension characteristics; and means for transmitting the first status description to a second networked computer.
17. A method of providing a network communication status description based on user comprehension characteristics, the method comprising:
receiving an http (HyperText Transfer Protocol) status code from a first networked computer in response to a user's http request for a url (Universal Resource Locator) provided by the first networked computer; determining one or more comprehension characteristics of the user who issued the request; selecting a first status description from a database storing a plurality of status descriptions based on the received http status code and the determined user comprehension characteristics wherein the plurality of status descriptions include the first status description that corresponds to a first received http status code and a first set of determined comprehension characteristics and a second status description that corresponds to the first received http status code and a second set of determined comprehension characteristics; and transmitting the first status description to a second networked computer.
2. The method of
3. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
15. The method of
18. The method of
19. The method of
21. The method of
22. The method of
|
This invention relates to providing a network communication status description based on user characteristics.
Networks such as the Internet enable users all over the world to share information. For example, a Web-browser (e.g., Microsoft® Internet Explorer®) can retrieve web-pages from computers in almost any country. Such networks typically require network nodes (e.g., computers) to share a protocol that defines how the network nodes communicate. For example, computers on the Internet commonly communicate using HTTP (HyperText Transfer Protocol). HTTP defines messages that a client (e.g., a browser) can send to request information from a server. HTTP also defines messages that the server uses to send back the requested information. The HTTP messages typically travel through a number of intervening agents (e.g., proxies, routers, and firewalls) en route to their destinations.
As many "web-surfers" have experienced, obtaining information over a network is not always trouble-free. For example, information a user seeks may have been moved to a different computer. Additionally, the computer storing the information may be temporarily unable to provide the requested information, for example, when the computer receives too many requests at the same time.
A server can supply an error message for display by a browser or other client. For example, many Web users may have encountered a "404--File Not Found" error message during a browsing session. Unfortunately, error messages can be very technical and, therefore, have little meaning for novice computer users. Additionally, while network nodes in different countries share a communications protocol, computer users still speak a wide variety of languages. Thus, an error message in English is of little value to someone who only speaks French. A server administrator can configure a server to provide error messages in different languages.
In general, in one aspect, a method of providing a network communication status description based on user characteristics includes receiving a status indication from a first networked computer in response to a user's request for information and determining one or more characteristics of the user who issued the request. The method provides a status description corresponding to the received status and the determined user characteristics.
Embodiments may include one or more of the following features. The method may further include transmitting the status description to a second networked computer.
The status indication may indicate the success or failure of the user's request. The status indication may be a status code such as an HTTP (HyperText Transfer Protocol) status code.
User characteristics may include technical proficiency. The technical proficiency may be inferred, for example, by basing the proficiency on a user's previous request or requests for information.
User characteristics may include one or more preferred languages. The preferred languages may be inferred, for example, by determining a user's address or access number used.
The status description may include text and/or speech data. The status description may include graphics, video, animation, sound, and instructions. The status description may be selected from a database of status descriptions.
In general, in another aspect, a method of providing a network communication status description based on user characteristics includes-receiving an HTTP (HyperText Transfer Protocol) status code from a first networked computer in response to a user's HTTP request for a URL (Universal Resource Locator) provided by the first networked computer. The method also includes determining one or more characteristics of the user who issued the request, selecting a status description from a database of status descriptions based on the received HTTP status code and the determined user characteristics, and transmitting the status description to a second networked computer.
In general, in another aspect, a proxy for providing a network communication status description based on user characteristics includes means for receiving a status code from a first networked computer in response to a user's request for information, means for determining one or more characteristics of the user who issued the request, means for selecting a status description from a database of status descriptions based on the received status code and the determined user characteristics, and means for transmitting the status description to a second networked computer.
Advantages may include one or more of the following. By transmitting a status description in a user's preferred language(s), a user can quickly understand problems that occurred when the user requested information and can try to remedy these remedy problems. By centralizing status descriptions in an intervening agent instead of duplicating the descriptions at different servers offering information, the servers need not waste processing time providing tailored status descriptions and need not provide storage for a large number of status descriptions. By providing status descriptions based on a user's technical proficiency, the techniques can provide a user with information likely to be of value to the user.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference numbers and designations in the various drawings indicate like elements.
Referring to
As shown in
The tailored status description 104 can be provided based on different user characteristics such as the preferred language(s) of the user and/or the user's technical proficiency. For example, the status description 104 may simply state "HTTP Protocol Error: 404" to a very sophisticated user, but state "The file you entered doesn't exist. Look for typos and try re-entering the location" to less experienced users. Descriptions provided to less experienced users may also include HyperText links or technical support telephone numbers for providing further assistance. By displaying a status description based on the user's technical proficiency, even users with little experience can quickly receive assistance.
Referring to
The process 106 can determine 112 the preferred language of a user in a variety of ways. For example, HTTP provides a "response-language" field in HTTP information requests. The response-language field can include an ordered list of ANSI-coded indications of the user's native language. For example, an ANSI-coded list of "1, 0, 2" corresponds to a preference list of "French", "English", and "Danish". The user can define the contents of the response-language field by interacting with a browser user-interface. For example, a user can tailor Microsoft® Internet Explorer® by navigating through "Edit", "Internet Options", "General", "Languages" and entering different preferred languages. These entries are transmitted in each HTTP request. Referring to
Alternatively, a user's preferred language can be inferred by identifying the access number dialed by a user to connect to a network or by accessing a user's billing or accounting information. Pending application "Data Localization", filed Dec. 22, 1998 (PCT/US/27217) describes methods of inferring characteristics of a user and is incorporated herein.
A user's technical proficiency can also be determined in a variety of ways. For example, a user can self report their abilities. Alternatively, technical proficiency can be inferred, for example, by tracking a user's success rate in obtaining information over a network (e.g., how many errors does a user accumulate when trying to access web-pages).
Referring to
Referring to
In addition to or in lieu of a database, an intervening agent or client can use language translation software that translates text from one language to another. For example, SysTrans® can automatically translate text from English to Spanish. Using a database of pre-written information, however, can speed processing and avoid garbled sentences sometimes produced by translation software. Additionally, the use of translation software would not be helpful in the cases where a server only responded with a status code and did not provide a status description.
Referring to
As shown in
Referring to
The methods and techniques described here may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
A number of embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the functions and components shown in
Patent | Priority | Assignee | Title |
10102301, | Apr 01 2010 | CLOUDFLARE, INC; CLOUDFLARE, INC. | Internet-based proxy security services |
10169479, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to limit internet visitor connection speed |
10243927, | Apr 01 2010 | CLOUDFLARE, INC | Methods and apparatuses for providing Internet-based proxy services |
10313475, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service for responding to server offline errors |
10452741, | Apr 01 2010 | CLOUDFLARE, INC. | Custom responses for resource unavailable errors |
10585967, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to modify internet responses |
10621263, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to limit internet visitor connection speed |
10671694, | Apr 01 2010 | CLOUDFLARE, INC. | Methods and apparatuses for providing internet-based proxy services |
10853443, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy security services |
10855798, | Apr 01 2010 | CLOUDFARE, INC. | Internet-based proxy service for responding to server offline errors |
10872128, | Apr 01 2010 | CLOUDFLARE, INC. | Custom responses for resource unavailable errors |
10922377, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to limit internet visitor connection speed |
10984068, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to modify internet responses |
11244024, | Apr 01 2010 | CLOUDFLARE, INC. | Methods and apparatuses for providing internet-based proxy services |
11321419, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to limit internet visitor connection speed |
11494460, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to modify internet responses |
11675872, | Apr 01 2010 | CLOUDFLARE, INC. | Methods and apparatuses for providing internet-based proxy services |
6594697, | May 20 1999 | Microsoft Technology Licensing, LLC | Client system having error page analysis and replacement capabilities |
6947993, | Mar 01 1999 | Meta Platforms, Inc | Providing a network communication status description based on user characteristics |
7240118, | Jun 12 2000 | Canon Kabushiki Kaisha | Network system, network device, access restriction method for network device, storage medium, and program |
7284160, | Dec 13 2002 | TELEFONAKTIEBOLAGET LM ERICSSON PUBL | Error messaging method in HTTP based communication systems |
7941484, | Jun 20 2005 | Veritas Technologies LLC | User interfaces for collaborative multi-locale context-aware systems management problem analysis |
8572737, | Apr 01 2010 | CLOUDFLARE, INC. | Methods and apparatuses for providing internet-based proxy services |
8751633, | Nov 04 2010 | CLOUDFLARE, INC.; CLOUDFLARE, INC | Recording internet visitor threat information through an internet-based proxy service |
8850580, | Apr 01 2010 | CLOUDFLARE, INC | Validating visitor internet-based security threats |
9009330, | Apr 01 2010 | CLOUDFLARE, INC.; CLOUDFLARE, INC | Internet-based proxy service to limit internet visitor connection speed |
9049247, | Apr 01 2010 | CLOUDFARE, INC.; CLOUDFLARE, INC | Internet-based proxy service for responding to server offline errors |
9342620, | May 20 2011 | CLOUDFLARE, INC. | Loading of web resources |
9369437, | Apr 01 2010 | CLOUDFLARE, INC.; CLOUDFLARE, INC | Internet-based proxy service to modify internet responses |
9548966, | Apr 01 2010 | CLOUDFLARE, INC. | Validating visitor internet-based security threats |
9565166, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service to modify internet responses |
9628581, | Apr 01 2010 | CLOUDFLARE, INC. | Internet-based proxy service for responding to server offline errors |
9634993, | Apr 01 2010 | CLOUDFLARE, INC.; CLOUDFLARE, INC | Internet-based proxy service to modify internet responses |
9634994, | Apr 01 2010 | CLOUDFLARE, INC | Custom responses for resource unavailable errors |
9769240, | May 20 2011 | CLOUDFLARE, INC. | Loading of web resources |
ER5071, |
Patent | Priority | Assignee | Title |
5867665, | Mar 24 1997 | Cisco Technology, Inc | Domain communications server |
6076109, | Apr 10 1996 | HANGER SOLUTIONS, LLC | Simplified-file hyper text protocol |
6161134, | Oct 30 1998 | UNILOC 2017 LLC | Method, apparatus and communications system for companion information and network appliances |
6216618, | Apr 07 2000 | PULSE MICROSYSTEMS LTD | Embroidery system utilizing windows CE based GUI |
WO9718516, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 01 1999 | America Online | (assignment on the face of the patent) | / | |||
Apr 22 1999 | HENDREN, C HUDSON III | America Online | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010009 | /0540 | |
Apr 03 2006 | AMERICA ONLINE, INC | AOL LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 023723 | /0585 | |
Dec 04 2009 | AOL LLC | AOL Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023723 | /0645 | |
Dec 09 2009 | AOL Inc | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | YEDDA, INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | TRUVEO, INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | Tacoda LLC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | SPHERE SOURCE, INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | Quigo Technologies LLC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | Netscape Communications Corporation | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | AOL ADVERTISING INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | BEBO, INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | ICQ LLC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | GOING, INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | Lightningcast LLC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Dec 09 2009 | MAPQUEST, INC | BANK OF AMERICAN, N A AS COLLATERAL AGENT | SECURITY AGREEMENT | 023649 | /0061 | |
Sep 30 2010 | BANK OF AMERICA, N A | YEDDA, INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | TRUVEO, INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | Tacoda LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | SPHERE SOURCE, INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | Quigo Technologies LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | Netscape Communications Corporation | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | MAPQUEST, INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | Lightningcast LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | GOING INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | AOL ADVERTISING INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Sep 30 2010 | BANK OF AMERICA, N A | AOL Inc | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 025323 | /0416 | |
Jun 14 2012 | AOL Inc | Facebook, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028487 | /0304 | |
Oct 28 2021 | Facebook, Inc | Meta Platforms, Inc | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 058961 | /0436 |
Date | Maintenance Fee Events |
Sep 06 2005 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 08 2009 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 05 2010 | ASPN: Payor Number Assigned. |
Mar 14 2013 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 05 2005 | 4 years fee payment window open |
Sep 05 2005 | 6 months grace period start (w surcharge) |
Mar 05 2006 | patent expiry (for year 4) |
Mar 05 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 05 2009 | 8 years fee payment window open |
Sep 05 2009 | 6 months grace period start (w surcharge) |
Mar 05 2010 | patent expiry (for year 8) |
Mar 05 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 05 2013 | 12 years fee payment window open |
Sep 05 2013 | 6 months grace period start (w surcharge) |
Mar 05 2014 | patent expiry (for year 12) |
Mar 05 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |