Interactive customer support for computer programs using network connection of user machine
First Claim
1. A method of providing individualized, interactive customer support wherein a user machine is at least intermittently connected to a wide area computer network and receives content over the wide area computer network, the method comprising the steps of:
- assigning a software agent to monitor a selected computer program, wherein the software agent is separate and independent from the selected computer program;
the agent identifying a computer program running on the user machine as the selected computer program;
the agent monitoring operation of the computer program, including user inputs to the computer program;
transparent to the user, the agent communicating monitored information through the wide area computer network to a remote server; and
at runtime, the agent receiving from the server content affecting operation of the computer program.
9 Assignments
0 Petitions
Accused Products
Abstract
Broad-based, systematic, individualized, interactive customer software support is provided through a two-way, voluntary automated exchange of information between a software agent installed on a customer'"'"'s machine and a server machine via a wide area computer network, e.g., the Internet. Communication between the agent and the server is optimized to be unobtrusive or transparent, e.g. using spare bandwidth of intermittent Internet connections. The agent is software non-specific and may be instructed to operate with respect to any arbitrary software program, and may further be instructed at various different times to operate with respect to various different software programs, including multiple different software programs on a single machine. The agent, with the user'"'"'s informed consent, gathers activity information about the operations of the software program(s) and uploads this information to a particular server machine within a distributed server machine architecture, where it is stored in a database on a per-software-copy basis. A rules engine may cause instructions carrying a message targeted specifically toward the customer to be downloaded to the agent. Based on these instructions, the agent may take any of various actions, such as present a survey, present an advertisement, send an upgrade notice, present a limited-time offer, deliver individualized marketing messages, offer goods for sale and fulfill the commercial transaction, install an upgrade or bug fix for either an application or the agent itself, etc. Message presentation to the customer may be timed (e.g., delayed from the time of download) to achieve maximum impact.
-
Citations
30 Claims
-
1. A method of providing individualized, interactive customer support wherein a user machine is at least intermittently connected to a wide area computer network and receives content over the wide area computer network, the method comprising the steps of:
-
assigning a software agent to monitor a selected computer program, wherein the software agent is separate and independent from the selected computer program;
the agent identifying a computer program running on the user machine as the selected computer program;
the agent monitoring operation of the computer program, including user inputs to the computer program;
transparent to the user, the agent communicating monitored information through the wide area computer network to a remote server; and
at runtime, the agent receiving from the server content affecting operation of the computer program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
the server accumulating usage data for each of multiple computer programs; and
the server determining content to be received for a particular computer program based on accumulated usage data for that computer program.
-
-
8. The method of claim 7, wherein the server performs steps comprising for each of multiple copies of a computer program:
-
receiving an identifier identifying a copy of a computer program; and
receiving and storing in a database information concerning usage of that copy of the computer program.
-
-
9. The method of claim 8, wherein the server performs steps comprising:
-
receiving an identifier identifying a copy of a computer program;
evaluating each of multiple rules stored in a database to determine which rules are applicable to that copy of the computer program; and
sending to an agent for that copy of the computer program a corresponding command for each rule determined to be applicable to that copy of the computer program.
-
-
10. The method of claim 7, comprising the further step of using a Web-based administration tool to set up rules determining what content is to be received by what computer program based on accumulated usage date.
-
11. The method of claim 7, wherein the content is non-executable content.
-
12. The method of claim 11, wherein the non-executable content is active content containing at least one hypertext link.
-
13. The method of claim 11, wherein the non-executable content is one of the following:
- an advertisement, a promotional offer, a survey, and a program usage hint.
-
14. The method of claim 7, wherein the content is executable content.
-
15. The method of claim 14, wherein the executable content is one of the following:
- a bug fix, an agent plug-in, a replacement agent, and a module or plug-in for the computer program.
-
16. The method of claim 1, wherein communicating comprises detecting a connection to the wide area computer network and using a small fractional portion of bandwidth available to the connection.
-
17. The method of claim 1, wherein the monitoring, communicating and receiving steps are performed by an agent running on the user machine.
-
18. The method of claim 17, wherein the computer program and the agent communicate only indirectly through messaging facilities of a run-time environment of the computer program.
-
19. The method of claim 18, comprising the further steps of storing state information for the agent within persistent storage.
-
20. The method of claim 19, wherein an operating system registry is used for persistent storage.
-
21. The method of claim 18, wherein the agent operates in behalf of multiple distinct and separate computer programs.
-
22. The method of claim 18, wherein the agent comprises a privileged client object and at least one other client object, wherein communicating comprises the privileged client object communicating with a first server across a control channel.
-
23. The method of claim 22, wherein communicating comprises the other client object communicating with a second server across a channel other than said control channel.
-
24. A system for providing individualized, interactive customer support wherein a user machine is at least intermittently connected to a wide area computer network and receives content over the wide area computer network, comprising:
-
a server connected to the wide area computer network; and
an agent running on the user machine, comprising;
means for assigning the agent to monitor a selected computer program;
means for identifying a computer program running on the user machine as the selected computer program;
means for monitoring operation of a computer program running on the user machine, including user inputs to the computer program;
means for, transparent to the user, communicating monitored information through the wide area computer network to a remote server; and
means, ar runtime, receiving from the server content affecting operation of the computer program;
wherein the agent is separate and independent from the selected computer program. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification