Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR AUTOMATICALLY POPULATING APPOINTMENT FIELDS
Document Type and Number:
WIPO Patent Application WO/2006/108034
Kind Code:
A3
Abstract:
A system and method for automatically populating appointment fields of an appointment template. A messaging client (304) provides a message having message data associated with one or more fields. A field populator (308) automatically transfers the message data associated with the one or more fields to an approprite field of an appointment response. Time and place data is automatically transfered from a scheduler (306) to an approprite field of an appointment response.

Inventors:
BROOKE TIMOTHY LAWRENCE (US)
FLYNT DAVID WAYNE (US)
Application Number:
PCT/US2006/012638
Publication Date:
January 31, 2008
Filing Date:
April 05, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MICROSOFT CORP (US)
International Classes:
G06F17/00
Foreign References:
US5864848A1999-01-26
Download PDF:
Claims:

WHAT IS CLAIMED IS:

1. A computer-implemented method for automatically populating appointment fields, comprising: providing a message having message data associated with at least one message field; and transferring the message data to at least one appointment field.

2. The computer-implemented method of claim 1 , wherein the message is associated with at least one of: a text message, an instant message, an SMS message, an e- mail message, and a voicemail message.

3. The computer-implemented method of claim 1 , wherein the at least one message field includes at least one of: a "to" field, a "from" field, a "subject" field, an "attachment" field, a "body" field, a "carbon copy" field, and a "blind carbon copy" field.

4. The computer-implemented method of claim 1, wherein the at least one appointment field includes at least one of: an "attendees" field, a "subject" field, a "time" field, a "place" field, an "attachment" field, and a "body" field.

5. The computer-implemented method of claim 1, wherein the message data includes data associated with a "to" field and a "from" field and the at least one appointment field includes an "attendees" field.

6. The computer-implemented method of claim 5, wherein transferring the message data further includes automatically transferring the message data associated with the "to" field and the "from" field to the "attendees" field.

7. The computer-implemented method of claim 1 , wherein the at least one appointment field includes a "time" field and a "place" field.

8. The computer-implemented method of claim 7, wherein the "time" field and the "place" field are manually populated.

9. The computer-implemented method of claim 7, further comprising accessing a scheduler having time and place data and populating the "time" field and "place" field with the time and place data.

10. The computer-implemented method of claim 9, wherein the scheduler includes attendee data, and wherein the attendee data includes at least one of: calendar data, meeting data, room data, date data, time data, historical data, current data, and future appointment data.

11. A computer-readable medium having computer executable instructions for automatically populating appointment fields of an appointment response, the instructions comprising: providing a populated message template having sender and recipient data; substantiating an appointment response to the populated message template; and automatically populating an attendees field of the appointment response with the sender and recipient data.

12. The computer-readable medium of claim 11 , wherein providing a populated message template further includes providing a populated message template having subject data, attachment data, and body data.

13. The computer-readable medium of claim 12, further comprising automatically populating a "subject" field of the appointment response with the subject data, automatically populating an "attachment" field of the appointment response with the attachment data, and automatically populating a "body" field of the appointment response with the body data.

14. The computer-readable medium of claim 11, further comprising providing a scheduler having time and place data.

15. The computer-readable medium of claim 14, further comprising automatically populating a "time" field of the appointment response with the time data, and automatically populating a "place" field of the appointment response with the place data.

16. The computer-readable medium of claim 15, wherein the time and place data is associated with the sender data and the recipient data.

17. An apparatus for automatically populating appointment fields of an appointment response, comprising: a messaging client means for providing a message having at least one message field; an appointment client means for providing an appointment request having at least one appointment field; and a field populator means for automatically transferring data between the at least one message field and the at least one appointment field.

18. The apparatus of claim 17, further comprising a scheduler means for providing time and place data.

19. The apparatus of claim 18, wherein the field populator means further includes a means for automatically transferring time and place data between the scheduler and the at least one appointment field.

20. The apparatus of claim 19, wherein the time and place data is associated with a schedule of at least one attendee of the appointment response.

Description:

SYSTEM AND METHOD FOR AUTOMATICALLY POPULATING APPOINTMENT

FIELDS

Background of the Invention

Cellular telephones, personal computers, stationary computers, mobile computers, and other computing devices are fast becoming mainstream modes for personal enjoyment, communication, and data manipulation. Typically, messaging in association with these devices requires data or text entry. As these modes of communication and messaging become more prevalent, so does the need for efficiency and usability of these services. Currently, messaging clients and appointment clients require a user to manually enter text in order to generate a message or appointment. Such text entry is inefficient and highly burdensome on the user, especially in situations where a keyboard is unavailable.

Summary of the Invention

Aspects of the invention include a system and method for automatically populating appointment fields of an appointment template. Succinctly stated, aspects of the present invention include converting message field data into appointment field data so a user does not need to manually enter this information. For example, sender and recipient data associated with a message may automatically populate an "Attendees" field of an appointment template. Likewise, data associated with a "Subject" field, "Attach" field, and "Body" field of a message may automatically populate a "Subject" field, "Attach" field, and "Body" field of an appointment template. Population of an appointment template may be automatic or the user may set defaults for each of the fields.

In other aspects, appointment fields may be populated by databases apart from the message field data. Data associated with a scheduler may automatically populate fields of an appointment template. Time and place fields of an appointment template may be populated with non-conflicting time and place data in light of the scheduler. In this manner, a user of a mobile device (along with other computing device types) has an efficient manner of sending an appointment request in response to a message without the labor of manually inputting field data into an appointment template.

These and other aspects of the present invention will be evident in light of the disclosure set forth herein.

Brief Description of the Drawings

FIGURE 1 illustrates an exemplary computing device that may be used in one aspect of the present invention.

FIGURE 2 illustrates an exemplary mobile device that may be used in one aspect of the present invention.

FIGURE 3 represents one exemplary modular system that may be used in one embodiment of the present invention.

FIGURE 4 represents an exemplary overview of one embodiment for automatically populating appointment fields. FIGURE 5 represents an exemplary logical flow diagram of one embodiment for automatically populating appointment fields.

Detailed Description

Embodiments of the present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments for practicing the invention. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure is enabling through embodiments that will convey the full scope of the invention to those of skill in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.

Illustrative Embodiments of a System and Method for Automatically Populating Appointment Fields

Succinctly stated, aspects of the present invention include a system and method for automatically populating appointment fields of an appointment template. One embodiment includes converting message field data into appointment field data. Aspects may include automatic population of appointment fields based on populated fields of a provided message. Other aspects include allowing a user to activate a default setting to determine the manner of field population of the appointment template. In other aspects, appointment fields may be populated by databases apart from the message field data. As

one generalized example, a user may receive a message and view the message on a mobile device. The user may actuate a field populator to transfer the information in the message fields to appropriate fields of an appointment template. In this manner, a user of a mobile device (along with other computing device types) has an efficient manner of sending an appointment request in response to a message without the labor of manually inputting field data into an appointment template.

Aspects of the invention include any type of communication having fields conducive to populating an appointment field. For example, the message field data may include text-messaging data, instant messaging data, Short Messaging Service ("SMS") data or data generated from a voicemail message. Moreover, as more fully described below, aspects of the invention also include reverse operation. Stated another way, appointment field data may be used to populate message fields of a message template.

FIGURE 3 represents one exemplary system 300 for automatically populating appointment fields of an appointment template. System 300 represents a modular overview of the present invention. System 300 may be integrated as a combination of software and hardware elements, an operating system or any combination thereof. Hardware, databases, software or applications referenced herein may be integrated as a single element or include various elements in communication with one another. Software and/or hardware elements are depicted herein for explanatory purposes only and not for limiting the configuration to multiple elements or a single element performing several functions. For example, in FIGURE 3, computing device 302 may include messaging client 304, scheduler 306, field populator 308 and appointment client 310. Reference numbers 304-310 may include separate programs, separate databases and separate hardware. Reference numbers 304-310 may also include a single program or any combination of single and multiple programs. Also, system 300 may be included as one or more elements of an operating system.

Computing device 302 may include computing device 100 as exemplified in FIGURE 1 or computing device 302 may include mobile computing device 200 as exemplified in FIGURE 2. Computing device 302 may include a telephone, cellular telephone, satellite telephone, stationary computing device, mobile computing device, televising device, mobile audio device, watch device, or any other device that may implement messaging services. Computing device 302 may communicate with a network 312 so that the computing device may send and receive information via network 312. As

will be more fully set forth below, FIGURE 3 represents but one exemplary method of communication between network 312 and elements 304-310.

Messaging client 304 may include any type of messaging client configured to receive incoming messages from network 312 and transmit outgoing messages to network 312. For example, messaging client 304 may include a text-messaging client, an instant messaging client or a voicemail messaging client. In one embodiment, messaging client 304 may be represented by aspects of MICROSOFT OUTLOOK and/or MICROSOFT OUTLOOKEXPRESS from MICROSOFT CORPORATION, headquartered in Redmond, Washington. Scheduler 306 may include a calendar, meeting and/or appointment type scheduler. For example, scheduler 306 may include one or more meeting times, appointment times, important dates, anniversaries, contacts, meeting places, room numbers, etc. In one aspect, scheduler 306 includes a plurality of scheduler databases of users connected to network 312. In this manner, scheduler 306 may have access to prior, current and future schedules of a plurality of contacts. In one embodiment, scheduler 306 may be represented by aspects of MICROSOFT OUTLOOK and/or MICROSOFT OUTLOOK EXPRESS from MICROSOFT CORPORATION, headquartered in Redmond, Washington.

As indicated in FIGURE 3, in some situations when a user receives an incoming message, the user may want to respond to the incoming message with an appointment request. In such a situation, as will be further described in conjunction with FIGURE 4, field populator 308 may associate data from messaging client 304, scheduler 306 and appointment client 310. As a succinct example of field populator 308, field populator 308 may link message field data associated with an incoming message to appointment fields of a responsive appointment request. As another example, field populator 308 may cut message field data associated with an incoming message and paste the message field data in an appropriate field of a responsive appointment request. Field populator 308 may also associate default time and place data with a responsive appointment request via scheduler 306.

Appointment client 310 may include any type of appointment client configured to receive field data and transmit a responsive appointment request to network 312. In another embodiment, appointment client 310 is configured to receive field data and transmit appointment information to a scheduler or a calendar application. In yet another embodiment, appointment client 310 may be represented by aspects of MICROSOFT

OUTLOOK and/or MICROSOFT OUTLOOK EXPRESS from MICROSOFT CORPORATION, headquartered in Redmond, Washington.

The exchange of data represented in FIGURE 3 may also be reversed. Stated another way, computing device 302 may receive an incoming appointment request. In some situations, when a user receives an incoming appointment request, the user may want to respond to the incoming appointment request with a message. In such a situation, field populator 308 may associate or link data from the appointment request fields to appropriate message fields in order to automatically populate a message template.

FIGURE 4 represents an exemplary overview of one embodiment for automatically populating appointment fields with field data of a message. System 400 includes person A and person B communicating by sent message 402, received message 404 and appointment 406. Person A may generate sent message 402 by populating the "To" field 408, "From" field 410, "Subject" field 412, "Attach" field 414 and "Body" field 416. Other fields may include a "carbon copy" field, a "blind carbon copy" field or any other field that may facilitate communication via a message.

After generating sent message 402, person A "sends" sent message 402 to person B. Person B "receives" received message 404. Received message 404 includes similar fields 408-416 as sent message 402. Person B may respond to received message 404 via an appointment 406. In such a situation, person B may actuate a field populator to transfer the field data of received message 404 to the fields of appointment 406. Person B may actuate the field populator by a hard button, icon, drop down menu, keystroke, or any other type of mechanical, electrical or software based actuator. Upon actuation, the field data of received message 404 is used to populate the fields of appointment 406. In another aspect, automatic field population does not require manual actuation. FIGURE 4 represents but one example of field population. For example,

"Person A" and "Person B" associated with the received message may populate the "Attendees" field of appointment 406. Likewise, data associated with the "Subject" field, "Attach" field, and "Body" field of received message 404 may populate the "Subject" field, "Attach" field, and "Body" field of appointment 406. Population of appointment 406 may be automatic or the user may set defaults for each of the fields. For example, the user may set a default that does not transfer attachments from received message 404 to appointment 406. As another example, the user may set a default that associates the subject field of received message 404 with the body field of appointment 406.

Data associated with scheduler 418 may also automatically populate fields of appointment 406. Scheduler 418 may include data associated with Person A and Person B. Such data may include scheduling information, prior meeting places, prior meeting rooms, prior meeting times, unavailability times, future appointments, etc. Time and place fields of appointment 406 may be populated with a non-conflicting time and place in light of scheduler 418. In another aspect, person B may manually populate time and place fields of appointment 406.

The exchange of data in FIGURE 4 may also be reversed. Stated another way, person A may generate an appointment and send the appointment to person B. Person B may respond to the received appointment by a message. When a field populator is actuated, field data of the appointment may populate appropriate fields of a message.

FIGURE 5 represents a logical flow diagram of one embodiment of automatically populating appointment fields of an appointment template. Process 500 starts at starting block 502 and flows to block 504 where a message having populated fields is provided. Such a message may include an e-mail message, a text message, an instant message, an SMS message, a message generated from voicemail or any other message associated with populated fields. The message may be provided via a network or the message may be internal to a computing device.

At decision block 506, process 500 determines whether to respond to the message with an appointment request. When a response by an appointment request is not implemented, process 500 flows to decision block 508, where process 500 determines whether another type of response is required. Process 500 flows to end block 526 when a response is not required. When a response is required, process 500 flows to block 510, where an appropriate response is facilitated. The response may include a correlative e-mail response, a text message response, an instant message response, a SMS message response, a response generated from voicemail or any other type of appropriate response depending on the provided message. Once the response is facilitated, process 500 flows to end block 526.

When, at decision block 506, a response with an appointment request is implemented, process 500 flows to block 512. At block 512 a field populator may be actuated. Actuation may include a hard button, icon, drop down menu, keystroke, or any other type of mechanical, electrical or software-based actuator used to actuate a function. In another aspect, actuation of the field populator function is automatic. Process 500 then flows to block 514.

At block 514, process 500 populates appointment request fields with appropriate data from the message fields. For example, "To" and "From" data associated with the message may populate the "Attendees" field of an appointment request. Likewise, data associated with the "Subject" field, "Attach" field, and "Body" field of the message may populate the "Subject" field, "Attach" field, and "Body" field of the appointment request. Other fields that may be populated include a carbon copy field, a blind carbon copy field or any other field that may facilitate communication via a message. In one aspect, block 514 includes linking message field data associated with an incoming message to appointment fields associated with a responsive appointment request. In another aspect, block 514 includes automatically cutting message field data associated with an incoming message and automatically pasting the message field data in an appropriate field of a responsive appointment request.

At decision block 516, process 500 determines whether a default time and place are available. If a default time and place are not available, process 500 continues to block 520 as more fully set forth below. A default time and place may be indicated by a user selection of a default time and place. In another aspect, a default time and place are determined in light of scheduler data. Time and place fields may be populated with a non- conflicting time and place of the parties to the appointment. In such a situation, process 500 flows to block 518 where time and place fields of the appointment are populated. At decision block 520, process 500 determines whether a manual input is required. A manual input may be required where a field is not populated by default or via message field data. When a manual input is required, the input may be entered into the field as indicated by block 522. The process then flows to block 524 where the message is sent and process 500 ends at end block 526. When manual input is not required, process 500 continues to blocks 524 and 526 as previously stated.

Illustrative Operating Environment

Referring to FIGURE 1, an exemplary system for implementing the invention includes a computing device, such as computing device 100. In a basic configuration, computing device 100 typically includes at least one processing unit 102 and system memory 104. Depending on the exact configuration and type of computing device, system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, and the like) or some combination of the two. System memory 104 typically includes operating system 105, one or more applications 106, and may include program

data 107. In one embodiment, applications 106 further include application 120 for appointment field population. This basic configuration is illustrated in FIGURE 1 by those components within dashed line 108.

Computing device 100 may also have additional features or functionality. For example, computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIGURE 1 by removable storage 109 and non-removable storage 110. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules or other data. System memory 104, removable storage 109 and non-removable storage 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 100. Any such computer storage media may be part of device 100. Computing device 100 may also have input device(s) 112 such as a keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. AU these devices are known in the art and need not be discussed at length here.

Computing device 100 also contains communication connection(s) 116 that allow the device to communicate with other computing devices 118, such as over a network or a wireless mesh network. Communication connection(s) 116 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.

FIGURE 2 illustrates a mobile computing device that may be used in one exemplary embodiment of the present invention. With reference to FIGURE 2, one exemplary system for implementing the invention includes a mobile computing device, such as mobile computing device 200. The mobile computing device 200 has processor 260, memory 262, display 228, and keypad 232. Memory 262 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., ROM, Flash Memory, or the like). Mobile computing device 200 includes operating system 264, which is resident in memory 262 and executes on processor 260. Keypad 232 may be a push button numeric dialing pad (such as on a typical telephone), or a multi-key keyboard (such as a conventional keyboard). Display 228 may be a liquid crystal display, or any other type of display commonly used in mobile computing devices. Display 228 may be touch-sensitive, and would then also act as an input device.

One or more application programs 266 are loaded into memory 262 and run on operating system 264. Examples of application programs include phone dialer programs, e-mail programs, scheduling programs, PIM (personal information management) programs, word processing programs, spreadsheet programs, Internet browser programs, and so forth. Mobile computing device 200 also includes non-volatile storage 268 within memory 262. Non-volatile storage 268 may be used to store persistent information which should not be lost if mobile computing device 200 is powered down. Applications 266 may use and store information in storage 268, such as e-mail or other messages used by an e- mail application, contact information used by a PIM, appointment information used by a scheduling program, documents used by a word processing application, and the like. In one embodiment, applications 266 further include application 280 for appointment field population. Mobile computing device 200 has power supply 270, which may be implemented as one or more batteries. Power supply 270 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.

Mobile computing device 200 is shown with two types of external notification mechanisms: LED 240 and audio interface 274. These devices may be directly coupled to power supply 270 so that when activated, they remain on for a duration dictated by the notification mechanism even though processor 260 and other components might shut down to conserve battery power. LED 240 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. Audio interface

274 is used to provide audible signals to and receive audible signals from the user. For example, audio interface 274 may be coupled to a speaker for providing audible output and to a microphone for receiving audible input, such as to facilitate a telephone conversation.

Mobile computing device 200 also includes radio interface layer 272 that performs the function of transmitting and receiving communications, such as radio frequency communications. Radio interface layer 272 facilitates wireless connectivity between mobile computing device 200 and the outside world, via a communications carrier or service provider. Transmissions to and from radio interface layer 272 are conducted under control of operating system 264. In other words, communications received by radio interface layer 272 may be disseminated to application programs 266 via operating system 264, and vice versa.

The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.