A server machine has a first user interface for interactively producing templates and a second user interface provided through a client machine, such as a wireless telephone, for performing server actions using templates. In response to signals received through the first user interface, the server produces a template for use in performing server actions, such as creating e-mail messages, scheduling appointments, or submitting database queries. The template includes a field and a attribute data indicating whether it is necessary to obtain information through the second user interface to complete the field. The server receives a request from the client machine for performance of a server action using the template. In response, the server performs the server action, determining from the attribute data whether it is necessary to obtain information to complete the field. If not, the server performs the server action without obtaining information through the second user interface to complete the field. But if it is necessary, the server obtains information from the client machine through the second user interface to complete the field.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of operating a server machine to perform server actions, the method comprising: storing, at said server machine, a template having pre-defined user data for use in performing server actions, wherein the template includes a plurality of fields, attribute data associated with each of the fields, and previously entered user data associated with at least one field of said plurality, wherein the attribute data indicates whether it is necessary to obtain information to complete a corresponding field from users of the template; receiving a request from a client machine for performance of a server action using the template; and in response to the request, performing a server action using the template wherein the step of performing the server action includes, for each of the fields of said plurality: determining from the attribute data whether it is necessary to obtain information to complete the field; if it is not necessary to obtain information to complete the field, then performing the server action without obtaining information from the client machine to complete the field, said performing the server action without obtaining information from the client machine includes, for the at least one field, using the previously entered user data to complete the at least one field; and if it is necessary to obtain information to complete the field, then obtaining information from the client machine to complete the field prior to performing the server action.
2. The method of claim 1 further comprising the step of, prior to storing the template, producing the template based on user input received from a second client machine that is different from said client machine.
3. The method of claim 2 wherein the step of producing the template includes: receiving user input that indicates that said field is editable, and receiving user input that specifies a candidate value for said field; and the step of obtaining information from the client machine includes: transmitting the candidate value to said client machine; and receiving a signal from said client machine that indicates that said candidate value is to be used for said field during said server action.
4. The method of claim 2 wherein the second client machine includes a display and keyboard that are not part of the client machine.
5. The method of claim 4 in which the display and keyboard are part of a workstation or personal computer that communicates with the server machine through a network.
6. The method of claim 5 in which the network is an Internet.
7. The method of claim 1 in which the client machine is machine from a set that consists of a portable telephone and a personal digital assistant.
8. The method of claim 1 in which the server action is creation of a message.
9. The method of claim 8 in which one of the plurality of fields is an address field.
10. The method of claim 9 wherein: the address field is a to-address field; the template further includes a message type item of data indicating whether the message is a reply to an existing message; the method further comprises, performing the following steps if it is not necessary to obtain information to complete the to-address field: determining from the message type item of data whether the message is a reply; and if the message is a reply, then automatically extracting an address from the existing message to complete the to-address field.
11. The method of claim 10 wherein: the at least one field includes the to-address field; the previously entered user data includes an address item of data indicating an address; and the method further comprises the step of using the address item of data to complete the to-address field if the message is not a reply.
12. The method of claim 8 in which one of the plurality of fields is a subject field.
13. The method of claim 12 wherein: the template further includes a message type item of data indicating whether the message is derived from an existing message; the method further includes performing the following steps if it is not necessary to obtain information to complete the subject field: determining from the message type item of data whether the message is derived from an existing message; and if the message is derived from an existing message, automatically extracting a subject from the existing message to complete the subject field.
14. The method of claim 13 wherein: the at least one field includes the subject field; the previously entered user data includes a subject item of data indicating a subject; the method further comprises the step of using the subject item of data to complete the subject field if the message is not derived from an existing message.
15. The method of claim 8 wherein: the at least one field includes a body field; the previously entered user data includes a body item of data indicating a message body; and the method further comprises the step of using the body item of data to complete the body field if it is not necessary to obtain information to complete the field.
16. The method of claim 1 in which the server action is scheduling an appointment.
17. The method of claim 1 in which the server action is submission of a database query.
18. The method of claim 1 in which the attribute data includes a flag bit indicating whether it is necessary to obtain information t 6 complete the field.
19. A method of performing server actions that require user input, the method comprising the steps of: storing, at a server machine, a plurality of user-defined templates associated with a plurality of server actions that the server machine can perform, each of said templates includes a plurality of fields previously indicated to be editable or non-editable by a user defining said template, attribute data associated with each of the fields, and previously entered user data associated with at least one field of said plurality of fields; receiving, from a client machine, a request to perform a particular server action of said plurality of server actions; determining, from said plurality of templates, a set of templates that are associated with said particular server action; transmitting to said client machine information that allows a user of said client machine to select a particular template in said set of templates; receiving, from the client machine, a signal that selects said particular template; providing at least one edit page from said server machine to said client machine for each field indicated to be editable by said user defining said template; and performing said particular server action using previously entered user data from said particular template as at least a portion of the user input required for said particular server action.
20. A computer-readable storage medium storing instructions for performing server actions, the instructions including instructions for performing the steps of: receiving first user input for a template, said template is at least one of a message generation template, an appointment scheduling template, and a database query submission template; storing said template at a server machine, said template includes previously entered user data to serve as input data for one or more fields requiring input for performance of a server action; after said template has been stored, receiving from a client machine a request to perform a server action that requires user input for a plurality of fields; receiving a signal from said client machine that indicates whether to use said template to perform said server action; if said signal indicates to use said template to perform said server action, then performing said server action using said previously entered user data as user input for one or more of said plurality of fields; if said signal indicates to not use any template to perform said server action, then performing the steps of: requesting user input for said plurality of fields from said client machine; and performing said server action using user input received from said client machine for said plurality of fields.
21. The computer-readable storage medium of claim 20 wherein: the step of receiving first user input includes receiving a candidate value for a first field of said plurality of fields, said previously entered user data includes said candidate value; the computer-readable storage medium further includes instructions for performing the following steps when said signal indicates to use said template to perform said server action: transmitting to said client machine said candidate value; and causing said client machine to provide to a user of said client machine an option of selecting said candidate value as the user input to use for said first field during performance of said server action.
22. The computer-readable storage medium of claim 20 wherein the step of performing said server action using said previously entered user data as user input for one or more of said plurality of fields includes performing said server action using a portion of said previously entered user data as user input for one of said plurality of fields without transmitting said portion of said previously entered user data to said client machine.
23. The computer-readable storage medium of claim 20 wherein: the step of receiving first user input for the template includes receiving user input that designates, for each of said plurality of fields, whether the field is editable; and the step of performing said server action using said previously entered user data as user input for one or more of said plurality of fields includes using said previously entered user data for the fields of said plurality of fields that are not designated editable; and sending to said client machine requests for user input for the fields of said plurality of fields that are designated editable.
24. A method of performing server actions, comprising: receiving first user input to create a user-defined template including a first plurality of fields and pre-defined data for at least one of said first plurality of fields, said first user input indicates whether each of said first plurality of fields is an editable field or a non-editable field; storing said template at a server machine; receiving a request from a client machine to perform a first server action using said template, said first server action requires user input for a second plurality of fields corresponding to said first plurality of fields of said template; providing at least one edit page from said server machine to said client machine to receive information for each field in said first plurality of fields indicated to be an editable field by said first user input, said at least one edit page is provided for less than all of said second plurality of fields requiring user input for said first server action; and performing said first server action by using said pre-defined data from at least one of said first plurality of fields of said template as input for at least one of said second plurality of fields requiring user input for said first server action.
25. The method of claim 24 wherein: receiving first user input includes receiving a candidate value for a first field of said first plurality of fields, said pre-defined data includes said candidate value; and performing said first server action includes: transmitting to said client machine said candidate value; and causing said client machine to provide to a user of said client machine an option of selecting said candidate value as the user input to use for said first field during performance of said first server action.
26. The method of claim 24 wherein performing said first server action by using said pre-defined data includes performing said first server action using a portion of said pre-defined data as user input for one of said first plurality of fields without transmitting said portion of said pre-defined data to said client machine.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 19, 2000
November 6, 2007
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.