U.S. patent application number 11/100674 was filed with the patent office on 2006-10-12 for system and method for automatically populating appointment fields.
This patent application is currently assigned to Microsoft Corporation. Invention is credited to Timothy Lawrence Brooke, David Wayne Flynt.
Application Number | 20060230115 11/100674 |
Document ID | / |
Family ID | 37074063 |
Filed Date | 2006-10-12 |
United States Patent
Application |
20060230115 |
Kind Code |
A1 |
Brooke; Timothy Lawrence ;
et al. |
October 12, 2006 |
System and method for automatically populating appointment
fields
Abstract
A system and method for automatically populating appointment
fields of an appointment template. A messaging client provides a
message having message data associated with one or more fields. A
field populator automatically transfers the message data associated
with the one or more fields to an appropriate field of an
appointment response. Time and place data is automatically
transferred from a scheduler to an appropriate field of an
appointment response.
Inventors: |
Brooke; Timothy Lawrence;
(Kirkland, WA) ; Flynt; David Wayne; (Lake Forest
Park, WA) |
Correspondence
Address: |
MERCHANT & GOULD (MICROSOFT)
P.O. BOX 2903
MINNEAPOLIS
MN
55402-0903
US
|
Assignee: |
Microsoft Corporation
Redmond
WA
|
Family ID: |
37074063 |
Appl. No.: |
11/100674 |
Filed: |
April 6, 2005 |
Current U.S.
Class: |
709/206 ;
715/751; 715/758; 715/780 |
Current CPC
Class: |
G06Q 10/109
20130101 |
Class at
Publication: |
709/206 ;
715/780; 715/751; 715/758 |
International
Class: |
G06F 9/00 20060101
G06F009/00 |
Claims
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
BACKGROUND OF THE INVENTION
[0001] 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
[0002] 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.
[0003] 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.
[0004] These and other aspects of the present invention will be
evident in light of the disclosure set forth herein.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 illustrates an exemplary computing device that may be
used in one aspect of the present invention.
[0006] FIG. 2 illustrates an exemplary mobile device that may be
used in one aspect of the present invention.
[0007] FIG. 3 represents one exemplary modular system that may be
used in one embodiment of the present invention.
[0008] FIG. 4 represents an exemplary overview of one embodiment
for automatically populating appointment fields.
[0009] FIG. 5 represents an exemplary logical flow diagram of one
embodiment for automatically populating appointment fields.
DETAILED DESCRIPTION
[0010] 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
[0011] 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.
[0012] 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.
[0013] FIG. 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 FIG. 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.
[0014] Computing device 302 may include computing device 100 as
exemplified in FIG. 1 or computing device 302 may include mobile
computing device 200 as exemplified in FIG. 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, FIG. 3 represents but one exemplary method of
communication between network 312 and elements 304-310.
[0015] 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 OUTLOOK EXPRESS from MICROSOFT
CORPORATION, headquartered in Redmond, Wash.
[0016] 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, Wash.
[0017] As indicated in FIG. 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 FIG. 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.
[0018] 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, Wash.
[0019] The exchange of data represented in FIG. 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.
[0020] FIG. 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.
[0021] 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.
[0022] FIG. 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.
[0023] 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.
[0024] The exchange of data in FIG. 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.
[0025] FIG. 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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
[0031] Referring to FIG. 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 FIG. 1 by those components within dashed line
108.
[0032] 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 FIG. 1 by removable storage
109 and non-removable storage 110. Computer storage media may
include volatile and non-volatile, 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. All these devices are
known in the art and need not be discussed at length here.
[0033] 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.
[0034] FIG. 2 illustrates a mobile computing device that may be
used in one exemplary embodiment of the present invention. With
reference to FIG. 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
* * * * *