METHOD AND APPARATUS FOR REMOTE MAN-MACI
CONFIGURATION
FIELD OF THE INVENTION
The present invention relates to a scheme for configuring a man-machine interface unit or other appliance with user-customized functionality through a remote user interface. The man-machine interface allows for "one-button" activation of events that generally must otherwise be initiated through a relatively complex sequence of actions and/or transactions. For example, the man-machine interface allows for "one button" order placement, service requests, and other events that would otherwise require the use of a telephone or personal computer equipped with a Web browser or similar software application.
BACKGROUND
It is generally thought that one of the goals of technological development is to free individuals from having to perform laborious or time-consuming tasks. One example is the wide-spread use of computer-aided telephone servers. In the past, customers seeking to interact with a business institution over the phone generally had to endure long periods of waiting on hold before being able to speak with a live operator to explain their needs. Today, customers are able to complete transactions much more quickly through the use of automated telephone menus by which they can interact with computer systems. Through the use of such systems, consumers can place or track orders, stop payments, change address information and accomplish a variety of other things that previously required interaction with a live operator.
In addition to the telephone, the Internet lias become a ubiquitous means of communication. Consumers now routinely use the Internet for tasks such as shopping, person-to-person communication and other day-to-day tasks. However, in order to use the Internet most people still have to perform the laborious process of switching on their computer system, establishing a Internet connection (e.g., through a dial-up Internet Service Provider or other means), and browsing for a specific Web site. Only after the user has reached the site of interest does the process of placing an order, etc. become relatively easy.
Despite its emergence as a universal means of communication, however, many individuals still have not (and some will not) made use of the Internet. Further, when a user wishes to perform only one or two relatively simple tasks, for example ordering
od or merchandise for delivery or scheduling a pick-up by a couri consuming process of powering-up a computer system, establishing an Internet connection and activating a Web browser is often bothersome to the user. Accordingly, what is needed is a different method for arranging for the completion of relatively simple tasks through the use of the Internet.
SUMMARY OF INVENTION
■ Responses and/or actions to be taken by a remote computer system in response to requests transmitted from a man-machine interface unit, such as an Internet appliance or the like, are programmed through the use of a graphical user interface (GUI) rendered according to instructions provided by a server remote from a user to which the GUI is presented. In this way, the computer system is configured to associate a particular response/action with an input received from a remote man-machine interface unit. The GUI may resemble at least a portion of the man-machine interface unit itself. For example, the GUI may include a rendition of a keypad found on the man-machine interface unit.
By pressing one key/button on the GUI, a pre-programmed set of actions is triggered that normally requires the use of a much more complex interface, such as web browsers. This physical button push could trigger delivery pick ups, order placement, facsimile message transmission, placing a telephone call, transmitting an electronic mail message, or confirming delivery.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not limitation, in the Figures of the accompanying drawings in which:
Figure 1 illustrates one arrangement for the interconnection of a man-machine interface configured according to an embodiment of the present invention with a server accessible through the Internet;
Figure 2 illustrates one example of a graphical user interface provided by a remote server for use in configuring a man-machine interface unit according to an embodiment of the present invention;
Figure 3 illustrates one process by which a man-machine interface unit configured in accordance with the present invention can be utilized;
Figures 4 illustrates one example of the operation of a serve communication with a man-machine user interface in accordance with an embodiment of the present invention;
Figure 5 illustrates one example of a simple man-machine interface unit configured in accordance with an embodiment of the present invention;
Figure 6 illustrates various functional components of the man-machine interface unit shown in Figure 5 in accordance with an embodiment of the present invention; and
Figure 7 illustrates various functional components of a server configured for use with a man-machine interface unit in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION
Described herein is a scheme for configuring a man-machine interface unit using a graphical user interface rendered according to instructions provided by a remote server. Although the present invention is discussed with reference to certain illustrated embodiments, it should be kept in mind that the broader spirit and scope of the invention should only be limited by the claims that follow this description. For example, the man-machine interface unit described below may be embodied in any of a variety of devices, such as an Internet appliance, a set-top unit, a telephone or other device, or may be a stand-alone unit, h addition, the basic functionality provided by the man-machine interface unit is perhaps best described as "one button ordering/return" of services/goods through an Internet-based service or directly with merchants/service providers or, more generally, "one button initiation" of an otherwise complex series of actions and/or transactions.
The "one button ordering" concept refers to the initiation of a pick-up/delivery of products or services simply by pressing one key/button on an Internet Appliance (the referenced man-machine interface unit), which in turn sends a signal/request either directly to the intended party providing the pick-up/delivery service or to in intermediary service provider (e.g., via a remote server) by any number of communication methods, e.g., wide area RF, the public switched telephone network (PSTN), cable, etc. Confirmation of the pick-up/delivery request is sent back to the Internet Appliance and/or possibly copied/sent to other devices. The pick-up/delivery could relate to virtually anything intended to be picked-up/delivered by a pre-selected courier service and/or merchant dedicated to a particular button/key on the appliance
e.g., a dry-cleaning and/or laundry service, repair service, jewelry < rental store, shipping service (e.g., United Parcel Service, FedEx, Web Van, Mailbox
Etc., etc.)). Alternatively, an intermediary service could schedule a pick-up/delivery from a shipping/delivery carrier to pick-up/deliver goods from/to the user. Depending on what is being picked-up/delivered, the merchant or the intermediary service could determine which carrier would be in the best position to handle the pick-up/delivery of the product.
Similarly "one button return" refers to the return of products to merchants by simply pressing one button on an Internet Appliance, which in turn sends a signal/request either directly to the intended party providing the return service or to in intermediary service provider by any number of communication methods, e.g., wide area RF, PSTN, cable, etc. Confirmation of the return request may be sent back to the Internet Appliance and/or possibly copied/sent to other devices. If the return request contains sufficient information for either the merchant and/or the intermediary service to know what is being returned (e.g., a return authorization number), a credit could be applied immediately at the time of request for a return, or shortly thereafter, after the merchant and/or intermediary service has a chance to determine the credit value of the returned item. In any event, the credit could be applied even before the item being returned has been picked-up from the consumer or while it is in transit to the merchant, rather than waiting for the product to make its way through the return process at the merchant's warehouse.
In addition, an intermediary service could automatically schedule a pick-up from a shipping/delivery carrier to pick-up the goods from the consumer. Furthermore, the merchant or intermediary service could determine the "least-cost return" method, not merely the least-cost shipping method. Depending on what the product is that is being returned, the merchant or the intermediary service could determine which service would be in the best position to handle the return/transport of the product. For example, the merchant or intermediary service could choose a courier based on which deli very /courier service will be making a delivery to the same location in the near future. This way, there could be some savings in having a pick-up scheduled to occur the next time there is a delivery.
More generally, "one button initiation" refers to the initiation of an otherwise complex (at least in terms of the number thereof, if not the degree of difficulty) series of subsequent actions to be taken in response to the initiation. For example, in response to the initiation event (described as pressing a single button of the man-machine interface
init below), one or more series of actions such a placing telephone facsimile messages, placing orders, arranging for service pick ups or deliveries, submitting web forms, placing bids at an auction site, etc., may be started (and, indeed, completed) without further input from the user that initiated the actions. In some ways this can be regarded as the extension of automated events such as telephone speed dialing, where pressing one button replaces dialing an entire string of numbers. Here, however, the concept is enlarged far beyond such simple tasks, to those situations that in the past may have required person-to-person interaction or at least a time consuming process of interacting with an automated service unit or Internet web site.
Figure 1 shows one example of the interconnection of a man-machine interface unit 10 in accordance with an embodiment of the present invention. Man-machine Interface Unit (MMIU) 10 may be communicatively coupled to a remote server 12 through various networks, such as PSTN 14 and/or the network of networks commonly referred to as the Internet 16. For example, MMIU 10 may be configured with a conventional modem and may establish communications with server 12 through a dial up connection with an Internet service provider using PSTN 14 in the conventional fashion. Thereafter, communications between MMIU 10 and server 12 may be carried across the Internet 16, again in the conventional fashion. MMIU 10 may be generally connected between PSTN 14 and a local telephone 18. For example, MMIU 10 may have conventional telephone line interface jacks to allow one connection to PSTN 14 and another connection to a conventional telephone 18. As mentioned above, however, other communication interfaces may be provided.
Although the figure illustrates MMTU 10 as a stand-alone unit, other configurations are possible. For example, MMTU 10 may be subdivided into a local interface unit and a host unit that are communicatively coupled to one another (e.g., much as a cordless telephone handset and its base station communicate with one another). Such a configuration is described below in connection with the discussion of the embodiment illustrated in Figure 7.
Also shown in Figure 1 is a conventional computer system 20, which includes a centra] processing unit (CPU) 22, an associated display unit 24, one or more cursor control devices such as a conventional keyboard 26 and/or conventional mouse 28. Computer system 20 may operate according to one or more operating systems and/or application programs executed by CPU 22. For example, computer system 20 may be configured with an Internet browser application and associated operating system components. Such software components of computer system 20 may allow user thereof
o browse various Web sites and/or interact with other computer sy,
Internet 16 in the conventional fashion employing a modem 30. In this way, a user can visit a Web site associated with server 12 to configure the operation of MMIU 10 in the fashion discussed below.
As discussed above, MMIU 10 is an example of an Internet/Network appliance. At a high level, users are able remotely to program buttons/knobs/other selection devices on MMIU 10 via a user interface provided by server 12. Operating MMTU 10 then causes communication with server 12 (or directly with other courier services/merchants), which handles arranging for the end result desired to be effected. For example, in the case where MMTU 10 includes a conventional keypad (as illustrated), a user may configure button 5 of that keypad to represent a request that a package be picked up at a specified location by a designated courier server. Rather then having to use computer system 20 to connect to the Internet 16, visit the courier's Web site, and provide details regarding the pick-up, a user may simply depress button number A on MMIU 10. Doing so causes MMTU 10 to initiate communications with server 12. Then, by recognizing that button 5 of this particular MMTU 10 (e.g., as identified by a serial number or other identifier) was depressed, server 12 can arrange for the requested action (i.e., the courier pick-up). Therefore, by having pre-programmed action/responses with buttons of MMTU 10, the user is freed from the task of having to use computer system 20 for a relatively simple Internet transaction.
Because MMIU 10 is an appliance unit, it is not (indeed, need not be) individually configured for each user. That is, as produced MMTUs 10 can be fungible units, such as the simple keypad arrangement referred to above. It is by programming a user account at server 12 that individual users of MMTUs 10 can customize the responses/actions associated with the individual keys of their MMTU. Stated differently, user customization of the actions/responses associated with the various selection mechanisms (e.g., buttons, switches and the like) of the MMTUs 10 is achieved not by customizing the MMTUs themselves, rather such individualization (or personalization) is achieved by programming server 12 to associate unique responses/actions with various key inputs received from the individual MMTUs.
In one embodiment, this customization can be achieved by user programming through a graphical user interface such as that illustrated in Figure 2. Graphical users interface (GUI) 30 is an example of a Web form which can be provided by server 12 to a conventional computer system, such as computer system 20, when an user visits a
Web site associated with a particular server. To better understand t
Dackground is helpful.
The Internet is a vast and expanding network of computers and other devices linked together by various telecommunications media, enabling all the computers and other devices on the Internet to exchange and share data. The Internet provides information about a myriad of corporations and products, as well as educational, research and entertainment information and services. A computer or resource that is attached to the Internet is often referred to as a "host." Examples of such resources include conventional computer systems that are made up of one or more processors, associated memory (typically volatile and non-volatile) and other storage devices and peripherals that allow for connection to the Internet or other networks (e.g., modems, network interfaces and the like). The precise hardware configuration of the hosting resource is generally not critical to the present invention, nor are the precise algorithms used to implement the services and methods described herein. Instead, the focus is on the nature of the services provided by the hosting resource and the characteristics of the MMTUs.
In most cases, the hosting resource may be embodied as hardware and/or software components of a server or other computer system that includes an interface module, which allows for some dialog with a user, and that may process information through the submission of Web forms completed by the user. Generally, such a server will be accessed through the Internet (e.g., via Web browsers) in the conventional fashion. Operating in conjunction with the interface module may be a communication interface that supports the distribution of electronic mail (e-mail) messages and other types of messages (e.g., facsimile, telephone and/or pager messages, perhaps using speech processing devices) to or from other Web sites or users.
One way to establish a presence on the Internet is by posting a Web page, which is, ultimately, a computer data file on a host operating a Web server. When the Web server receives an inquiry from another computer, it returns the Web page data in the file to the computer making the inquiry. The Web page may be a single line or multiple pages of information and may include any message, name, word, sound or picture, or combination of such elements. Some Web pages are referred to as Web forms, because they seek to gather information from a viewer of the Web page.
In general, a Web form is a collection of form fields displayed as a Web page by a browser in response to hypertext mark-up language (HTML) tags and other information received from a Web server. An associated form handler resides at the
server to collect and process the information submitted by a user vis such forms, an information collection process performed by a host is made interactive with the users thereof. That is, users can add text to text boxes, select from drop down menus and/or select check boxes and/or radio buttons, etc. Typically, the user submits the form by clicking on a submit button or other element of the form and, upon such submission, the contents of the form are passed to the form handler. Depending upon the type of information being submitted and the type of form handler being used, the information submitted by a user may be appended to a file maintained by the host, for example a file associated with an account assigned to the user or a larger database. In this way information may be collected, processed and displayed to those who access it.
A text box is a standard form field into which a user can type text. When a form containing a text box is submitted in a Web browser, the name and contents of the text box are provided to the form handler running on the server. A check box field is typically arranged in a grid or matrix fashion with one or more cells of the matrix including a check box. Check box fields present a user with choices that can be made by clicking (e.g., selecting or deselecting as appropriate) a check box. Such fields are created and rendered using programming techniques common in the art and any number (including all or none) of individual check boxes may be selected or not. When a user submits a form containing a check box field, the name of each check box along with its value is provided to the form handler at the host. Radio button fields present a user with a choice that can be made by selecting a button. Radio buttons are displayed in a set, only one of which may be selected at a time. When radio button fields are created, they are assigned a group name, and each button in the group is assigned a value and an initial state (selected or not selected). When the user selects one of the buttons in the field, all other buttons in the field take on a value of not selected. Then, when the user submits the form, the group name and value of the buttons is provided to the corresponding form handler at the server for processing.
GUI 30 is an example of a Web form and includes a graphical representation 32 of the keypad found on MMTU 10. Of course, where MMTU 10 includes other selection elements (e.g., push buttons, switches, etc.), those elements can be represented on GUI 30 as well. Other Web form elements such as pull-down menus 34 and/or text boxes 36, allow the user to customize each of the buttons or other selection elements of MMTU 10. For example, through the use of GUI 30, a user can enter a specific description for each button or other element of MMIU 10. Thus, a user may designate button A (e.g., by selecting the button using pull-down menu 34 or by selecting the corresponding
mutton on the visual replica 32 of the MMTU keypad, etc.) as the bu courier pick-up. In addition, through the use of GUI 30, a user may enter a plurality of specific descriptions for each button or other element of the MMTU 10 based on date or time of day. For instance, a user may designate button B as the button for scheduling courier pick-up in the morning and as the button for facsimile message transmission in the evening. In such cases, a description of the task to be performed/action requested when the actual button on the MMTU 10 is pressed (e.g., such as an indication that a package is to be pick-up from a designated location by a designated courier, etc.) may be provided in a text box 36. In this way, all or some of the buttons or other element of
MMTU 10 can be individually tailored to the MMTU user's needs. For example, certain take-out delivery orders could be pre-programmed to specific buttons. Similarly, other
MMTU users could program their individual requests/tasks for their own MMTUs and server 12 may maintain a database of users, associated MMTUs (e.g., identified by serial number or other identifying characteristic) and tasks to be performed.
Figure 3 now illustrates a process 40 by which a user may interact with an MMTU 10. At step 42, the user initiates the process by pushing one of the buttons on MMIU 10. Through a programming procedure such as that described above, this button will be associated with a requested function. Pushing the button causes, as shown in step 44, MMTU 10 to dial-up an Internet connection and establish communication with server 12. As part of this communication process, as shown in step 46, MMTU 10 may pass an identification number as well as information regarding which button or other selection device was depressed or activated. Once this information has been passed, MMTU 10 can tear down the connection (step 48).
Figure 4 illustrates a process 50, which may be carried out by a server 12 in response to the actions described above. At step 52, the server receives the request and/or the identification (ID) information from the MMTU. Then, at step 54, the request and identification information can be associated with the corresponding user account, which account includes the user-programmed designations for the buttons of the MMTU. Thus, the MMTU ID (or other identification information) may be used to access the associated user account and a request (e.g., as identified by button 5) may be associated with its specified action (e.g., a courier pick-up). Then, at step 56, server 12 may carry out or at least initiate the actions/requests based on this information. For example, in the case of a courier pick-up, server 12 may cause a fax or telephone or other (e.g., pager, e-mail, etc.) message to be delivered to the associated courier service requesting
he pick-up. In some cases, for example where take-out orders are 1 information recalled from user account database stored at server 12 may be provided to a human operator to place the order.
Figure 5 illustrates one example of an MMIU 10. In this example, MMIU 10 is made up of a number of individual buttons 60 arranged much like a conventional telephone keypad. There are also jacks 62 and 64 to allow for a connection to a telephone line and conventional telephone unit, respectively. In this way, MMIU 10 can be inserted directly between a telephone and a wall jack.
Figure 6 illustrates in more detail some of the functional elements of MMTU 10. In this example, MMTU 10 is centered on a microprocessor 70. However, in other cases, other control units (e.g., a micro-controller or digital signal processing unit or the like) may be used. Microprocessor 70 receives inputs and/or provides outputs to an input/output (IO) unit 72, such as the keypad described above. In some cases, each of the keys of the keypad may have associated light emitting diodes (LED) or other indicators. These indicators may be lit/unlit to indicate their active/inactive status. Thus, upon submitting a request, the microprocessor 70 may cause an associate LED to be lit, indicating that the request was successfully passed to the server.
MMIU 10 may also include a conventional modem 74, which allows for communication via the Internet as discussed above. Modem 74 is allowed to communicate across the telephone line through a switch unit 76. When the modem is not so engaged, a signal from microprocessor 70 may directly connect a telephone 18 to the telephone line through switch unit 76. Other communication devices, such as cable modems, radio transceivers, cellular communication devices, etc., may also be used.
Microprocessor 70 also has an associated random access memory (RAM) 78 which may be used as a scratch pad memory during processing operations in the conventional fashion. In addition, a non-volatile memory such as read-only memory (ROM) 80 is provided to store operating system software to allow for the above- described functionality.
Referring now to Figure 7, a further embodiment of the present invention is illustrated. In the example, MMTU 10 is made up of a local interface unit 82 and a host unit 84. These two units are communicatively coupled to one another via a communication link 86, which may be wireless or wired. As explained above, the local interface and host units 82 and 84 may operate in a fashion similar to a cordless telephone handset and its base unit. That is, the local interface unit 82 may include the
iser-operated features described above in a compact, easily transpo unit, while the host unit 84 provides the communication interface to server 12 (e.g., via a computer network, the public switched telephone network (PSTN), a dedicated
Internet connection, a private or public wireless network, etc.).
Server 12, which is adapted to receive inputs from MMIU 10, includes a communications unit (which may include hardware and/or software components) 88 that is configured to provide communication paths through the Internet 16, a private (or public) wireless network 90 and or the PSTN 14. This may allow for communication with one or more MMTUs and third party equipment. To allow for such communication paths, the hardware components of communication unit 88 may include conventional modems, cable modems, wireless modems, packet radios, Ethernet or other computer network interface units, and so on.
Server 12 also includes an event parser module 92. This module may be primarily software and is configured to identify requests received from an MMTU. The requests will generally arrive in the form of packets (e.g., TCP/IP packets that may also include other communication protocol packets encapsulated therein), and the event parser 92 extracts information from those packets that allow server 12 to identify the MMTU making the request and the type of request being made (e.g., the button that was pressed). To assist in this process, the event parser 92 may communicate with an event database 94 to recall/ look up the associated user/event type with decoded data recovered from a communication packet.
Once the event type/request and the user have been identified, the server 12 may hand off the event fulfillment portion of its task to one of a number of event handlers 96. There may be several (e.g., "n") different event handlers 96 associated with server 12, and each may have a dedicated function. For example, many of the tasks that users might request may all have common features. For example, although different users may program their respective MMTUs to place different types of orders, many of these orders will, in the end, require a facsimile message to be sent from server 12 to a particular merchant. Thus, server 12 may have an event handler that allows for sending a facsimile message. The particular message text to be sent and telephone number to be dialed can be retrieved from the event (or other) database 94, once the user has been identified. This information can then be passed to the event handler that deals with transmitting facsimile messages and the message transmitted. In this way, generic event handlers for placing telephone calls (e.g., with preset announcements for playback),
lending facsimile or e-mail messages, submitting Web forms, and s provided. The particulars of what messages to send or telephone numbers to dial can be programmed by the individual users as part of the MMIU configuration process, as discussed above.
In some cases, the event handler may reside at a site other than server 12. For example, if the requested action corresponds to some function to be provided by a third party, then a message to that third party event handler can be sent using a communication module 98. In this way, the server 12 acts as a decoder/forwarder for the transmitted message from the MMTU 10, but actual event handling is provided at a third party site.
Thus, a scheme for using a graphical user interface to customize a remote man- machine interface unit has been described. Although discussed with referenced to certain illustrated embodiments, it should be remembered that broader spirit and scope of the invention is only to be measured in terms of the claims that follow.