U.S. patent application number 13/207235 was filed with the patent office on 2011-12-01 for communication device with capability for handling conditional acceptance of meeting requests.
This patent application is currently assigned to RESEARCH IN MOTION LIMITED. Invention is credited to Neil P. ADAMS, David V. MACFARLANE, Christopher R. WORMALD.
Application Number | 20110295642 13/207235 |
Document ID | / |
Family ID | 37618231 |
Filed Date | 2011-12-01 |
United States Patent
Application |
20110295642 |
Kind Code |
A1 |
MACFARLANE; David V. ; et
al. |
December 1, 2011 |
COMMUNICATION DEVICE WITH CAPABILITY FOR HANDLING CONDITIONAL
ACCEPTANCE OF MEETING REQUESTS
Abstract
Interacting digitally communicating devices cooperate to
schedule future meetings include a capability to handle conditional
acceptance of meeting requests. For example, a conditional
acceptance may be subject to Boolean logic functions of the
acceptance status(es) of other meeting invitees (e.g., the
condition that another specific one or more invitees also accept
the meeting request).
Inventors: |
MACFARLANE; David V.;
(Waterloo, CA) ; ADAMS; Neil P.; (Waterloo,
CA) ; WORMALD; Christopher R.; (Waterloo,
CA) |
Assignee: |
RESEARCH IN MOTION LIMITED
Waterloo
CA
|
Family ID: |
37618231 |
Appl. No.: |
13/207235 |
Filed: |
August 10, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11133446 |
May 20, 2005 |
8019065 |
|
|
13207235 |
|
|
|
|
Current U.S.
Class: |
705/7.19 |
Current CPC
Class: |
G06Q 10/02 20130101;
H04L 51/22 20130101; G06Q 10/109 20130101; H04L 51/18 20130101;
G06Q 10/1095 20130101; G06Q 10/025 20130101; G06Q 10/1093
20130101 |
Class at
Publication: |
705/7.19 |
International
Class: |
G06Q 10/00 20060101
G06Q010/00 |
Claims
1. A method, comprising: receiving, at a portable electronic device
associated with a meeting invitee, a request to arrange a meeting
between a plurality of meeting invitees; recording, at the portable
electronic device, the meeting as a tentative meeting in a calendar
application of the portable electronic device; sending, from the
portable electronic device, a conditional acceptance to the
request, the conditional acceptance comprising a condition that at
least one other meeting invitee has failed to accept the request;
and recording, in the calendar application, the meeting as an
accepted meeting in response to receipt of an indication that the
condition has been met.
2. The method according to claim 1, comprising deleting the meeting
from the calendar application in response to receipt of an
indication that the condition has not been met.
3. The method according to claim 2, comprising sending, from the
portable electronic device, a response declining the meeting in
response to receipt of the indication that the condition has not
been met.
4. A non-transitory computer readable medium having
computer-readable code embodied therein executable by a processor
of a portable electronic device associated with a meeting invitee
for receiving, at the portable electronic device, a request to
arrange a meeting between a plurality of meeting invitees,
recording, at the portable electronic device, the meeting as a
tentative meeting in a calendar application of the portable
electronic device, sending, from the portable electronic device, a
conditional acceptance to the request, the conditional acceptance
comprising a condition that at least one other meeting invitee has
failed to accept the request, and recording, in the calendar
application, the meeting as an accepted meeting in response to
receipt of an indication that the condition has been met.
5. The non-transitory computer readable medium according to claim
4, wherein the processor deletes the meeting from the calendar
application in response to receipt of an indication that the
condition has not been met.
6. The non-transitory computer readable medium according to claim
5, wherein the processor sends a response declining the meeting in
response to receipt of the indication that the condition has not
been met.
7. A portable electronic device comprising: a display; a memory;
and a processor operative coupled to the display and the memory for
executing a program stored in the memory to cause the portable
electronic device to receive a request to arrange a meeting between
a plurality of meeting invitees, record the meeting as a tentative
meeting in a calendar application of the portable electronic
device, send a conditional acceptance to the request, the
conditional acceptance comprising a condition that at least one
other meeting invitee has failed to accept the request, and record,
in the calendar application, the meeting as an accepted meeting in
response to receipt of an indication that the condition has been
met.
8. The portable electronic device according to claim 7, wherein the
processor executes a program stored in the memory to cause the
portable electronic device to delete the meeting from the calendar
application in response to receipt of an indication that the
condition has not been met.
9. The portable electronic device according to claim 8, wherein the
processor executes a program stored in the memory to cause the
portable electronic device to send a response declining the meeting
in response to receipt of the indication that the condition has not
been met.
Description
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is a Continuation Application from U.S.
patent application Ser. No. 11/133,446, filed May 20, 2005, which
is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] This application generally relates to communication devices
having a user capability to participate in scheduling of future
meetings with other device users. It has particular applicability
to wireless communication devices.
RELATED ART
[0003] Computerized scheduling calendars are now commonplace. In a
wired and/or wireless network of computers or computerized
communication devices, such personal scheduling calendars may be
interactive. That is, a meeting organizer may invite one or more
other device users to a future meeting at a particular day and time
(and perhaps place). In some circumstances, when such invitations
are received they may be automatically acted upon by suitable
software agents or modules so as to simply accept such an
invitation if other entries on the invitee's calendar permit
acceptance. If the invitee's calendar does not permit the proposed
meeting, then a denial message may be returned to the meeting
organizer. Of course, each individual calendar may be set up by its
user so as to block out certain segments of time and/or to require
incoming requests to be screened by the user personally before a
response is manually made to an incoming request.
[0004] Current options for accepting a meeting request from a
handheld wireless communication device are to accept or tentatively
accept the request. There is no convenient method for an invitee to
conditionally accept a meeting request (e.g., based on the response
of another invitee).
[0005] For example, assume that Bob sends a meeting request to
Alice, Eve, and Carol. Further assume that Carol is very busy and
only wishes to attend the meeting if Eve attends. There is
currently no method for Carol to indicate that her attendance is
dependent on Eve's attendance, thus she must first speak to Eve to
determine if she will attend and then choose "Tentative" or
"Accept". Clearly, this method is slow and inconvenient.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] These and other objects and advantages of this arrangement
will be better understood and appreciated in conjunction with the
following detailed description of exemplary embodiments taken
together with the accompanying drawings, in which:
[0007] FIG. 1 is an overall system wide schematic view of an
exemplary wireless email communication system incorporating a
mobile wireless communication device with capability for handling
conditional acceptance of meeting requests in accordance with one
exemplary embodiment;
[0008] FIG. 2 is an abbreviated schematic diagram of hardware
included within an exemplary mobile wireless communication
device;
[0009] FIG. 3 is an exemplary abbreviated schematic flow chart of
computer software (i.e., program logic) that may be utilized in the
device of FIG. 2 providing an option to organize a proposed meeting
and to handle subsequent conditional acceptances from invitees;
[0010] FIG. 4 is an exemplary abbreviated schematic flowchart of
computer software (i.e., program logic) that may be utilized in the
device of FIG. 2 to provide user ability to respond to a meeting
invitation with a conditional acceptance;
[0011] FIG. 5 is an exemplary abbreviated depiction of a meeting
status table demonstrating how it can change as a result of
handling conditional acceptances; and.
[0012] FIG. 6 is an abbreviated table of exemplary Boolean logic
functions that might be used to condition the acceptance of one
party A upon a logic function of the acceptance of other parties
invited to a meeting.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0013] We now introduce "Conditional" option for accepting a
meeting request. If an invitee selects "Conditional" acceptance
then she is presented with the full list of invitees and must
select those whose attendance will determine her attendance. The
meeting is entered into the invitee's calendar as Tentative and the
Conditional response is sent to the meeting organizer.
[0014] Since the meeting organizer receives all responses to the
request, her device must track all Conditional responses. If all
conditions of a Conditional response are satisfied (or explicitly
dissatisfied) then the organizer's handheld sends an update to the
corresponding invitee. When the invitee's handheld receives the
update it then marks the meeting in the invitee's calendar as
Accepted if all conditions were satisfied (or it declines the
meeting and deletes it from the invitee's calendar if all
conditions were explicitly dissatisfied).
[0015] For example, assume that Bob sends a meeting request to
Alice, Eve, and Carol. Further assume that Carol sends a
Conditional response based on Eve accepting the request, and the
meeting is entered into Carol's calendar as Tentative. Bob's
handheld receives the Conditional response. Later on, Eve accepts
the request and an Accept response is sent to Bob. Bob's handheld
determines that Carol's conditional response has been satisfied and
sends a notification to Carol. Carol's handheld receives the
notification and changes the meeting in her calendar from Tentative
to Accepted. Note that if Eve had declined the meeting a
notification to that effect would have been sent to Carol and
Carol's handheld would have then declined the meeting and deleted
it from her calendar.
[0016] Other logical options may also be defined for a Confidential
acceptance. For example, if Bob is setting up a meeting and needs
somebody from Product Marketing to attend, A and B work in product
marketing and they both get an invitation. Only one of them needs
to go. B could go but doesn't want to if A is going so B goes if A
isn't going (i.e., a non-exclusive OR or NOR logic condition is
defined. This is, arguably, the inverse of the earlier described
example where if A goes then B goes and if A doesn't go then B
doesn't go. The NOR example extends this to cover the situation
where if A goes, B doesn't go and A doesn't go then B goes. This
would extend beyond a group of 2 people and to other possible
logical functions as will be appreciated.
[0017] The capabilities here described may be embodied in hardware,
software or a combination of hardware and software and also provide
a method for a device user to conditionally accept a meeting
request received via a wireless communication device--and/or to
organize a meeting in a way that accommodates such conditional
acceptances. The exemplary embodiment is realized at lest in part,
by executable computer program code which may be embodies in
physical program memory media.
[0018] FIG. 1 is an overview of an exemplary communication system
in which a wireless communication device 100 may be used. One
skilled in the art will appreciate that there may be hundreds of
different system topologies. There may also be many message senders
and recipients. The simple exemplary system shown in FIG. 1 is for
illustrative purposes only, and shows perhaps the currently most
prevalent Internet email environment.
[0019] FIG. 1 shows an email sender 10, the Internet 12, a message
server system 14, a wireless gateway 16, wireless infrastructure
18, a wireless network 20 and a mobile communication device
100.
[0020] An email sender 10 may, for example, be connected to an ISP
(Internet Service Provider) on which a user of the system has an
account, located within a company, possibly connected to a local
area network (LAN), and connected to the Internet 12, or connected
to the Internet 12 through a large ASP (application service
provider) such as America Online.TM. (AOL). Those skilled in the
art will appreciate that the systems shown in FIG. 1 may instead by
connected to a wide area network (WAN) other than the Internet,
although email transfers are commonly accomplished through
Internet-connected arrangements as shown in FIG. 1.
[0021] The message server 14 may be implemented, for example, on a
network computer within the firewall of a corporation, a computer
within an ISP or ASP system or the like, and acts as the main
interface for email exchange over the Internet 12. Although other
messaging systems might not require a message server system 14, a
mobile device 100 configured for receiving and possibly sending
email will normally be associated with an account on a message
server. Perhaps the two most common message servers are Microsoft
Exchange.TM. and Lotus Domino.TM.. These products are often used in
conjunction with Internet mail routers that route and deliver mail.
These intermediate components are not shown in FIG. 1, as they do
not directly play a role in the system described below. Message
servers such as server 14 typically extend beyond just email
sending and receiving; they also include dynamic database storage
engines that have predefined database formats for data like
calendars, to-do lists, task lists, email and documentation.
[0022] The wireless gateway 16 and infrastructure 18 provide a link
between the Internet 12 and wireless network 20. The wireless
infrastructure 18 determines the most likely network for locating a
given user and tracks the users as they roam between countries or
networks. A message is then delivered to the mobile device 100 via
wireless transmission, typically at a radio frequency (RF), from a
base station in the wireless network 20 to the mobile device 100.
The particular network 20 may be virtually any wireless network
over which messages may be exchanged with a mobile communication
device.
[0023] As shown in FIG. 1, a composed email message 22 is sent by
the email sender 10, located somewhere on the Internet 12. This
message 22 typically uses traditional Simple Mail Transfer Protocol
(SMTP), RFC 822 headers and Multipurpose Internet Mail Extension
(MIME) body parts to define the format of the mail message. These
techniques are all well known to those skilled in the art. The
message 22 arrives at the message sever 14 and is normally stored
in a message store. Most known messaging systems support a
so-called "pull" message access scheme, wherein the mobile device
100 must request that stored messages be forwarded by the message
server to the mobile device 100. Some systems provide for automatic
routing of such messages which are addressed using a specific email
address associated with the mobile device 100. In a preferred
embodiment, messages addressed to a message server account
associated with a host system such as a home computer or office
computer which belongs to the user of a mobile device 100 are
redirected from the message server 14 to the mobile device 100 as
they are received.
[0024] Regardless of the specific mechanism controlling forwarding
of messages to mobile device 100, the message 22, or possibly a
translated or reformatted version thereof, is sent to wireless
gateway 16. The wireless infrastructure 18 includes a series of
connections to wireless network 20. These connections could be
Integrated Services Digital Network (ISDN), Frame Relay or T1
connections using the TCP/IP protocol used throughout the Internet.
As used herein, the term "wireless network" is intended to include
three different types of networks, those being (1) data-centric
wireless networks, (2) voice-centric wireless networks and (3)
dual-mode networks that can support both voice and data
communications over the same physical base stations. Combined
dual-mode networks include, but are not limited to, (1) Code
Divisional Multiple Access (CDMA) networks, (2) the Group Special
Mobile or the Global System for Mobile Communications (GSM) and the
General Packet Radio Service (GPRS) networks, and (3) future
third-generation (3G) networks like Enhanced Data-rates for Global
Evolution (EDGE) and Universal Mobile Telecommunications Systems
(UMTS). Some older examples of data-centric networks include the
Mobitex.TM. Radio Network and the DataTAC.TM. Radio Network.
Examples of older voice-centric data networks include Personal
Communication Systems (PCS) networks like GSM, and TDMA
systems.
[0025] As depicted in FIG. 2, mobile communication device 100
includes a suitable RF antenna 102 for wireless communication
to/from wireless network 20. Conventional RF,
demodulation/modulation and decoding/coding circuits 104 are
provided. As those in the art will appreciate, such circuits can
involve possibly many digital signal processors (DSPs),
microprocessors, filters, analog and digital circuits and the like.
However, since such circuitry is well known in the art, it is not
further described.
[0026] The mobile communication device 100 will also typically
include a main control CPU 106 which operates under control of a
stored program in program memory 108 (and which has access to data
memory 110). CPU 106 also communicates with a conventional keyboard
112, display 114 (e.g., an LCD) and audio transducer or speaker
116. A portion of data memory 110a is available for storing meeting
status data. Suitable computer program executable code is stored in
portions of program memory 108a to provide the capability to handle
conditional acceptance of meeting requests.
[0027] If a device user wishes to organize a meeting, then an
option is provided to enter the meeting organizer logic 300.
Suitable communications handling logic will, in this exemplary
embodiment, also direct incoming responses to prior meeting
invitations to this same meeting organizer logic 300.
[0028] If a new meeting organization request is detected at 302,
then proposed meeting data is assembled at 304 and transmitted to
devices associated with each of the invitees. For example, proposed
meeting location, date, time and list of other invitees may be
among the data that is assembled and transmitted to other devices
inviting respectively corresponding others to join in the proposed
meeting.
[0029] If a response to a prior meeting invitation by this user is
detected at 306, then at 308 the respondent's new status is noted.
Appropriate status data being maintained on the proposed meeting is
updated. For example, the incoming response could be a tentative
accept, an accept, a decline, or acceptance conditional on some yet
to be determined event X (e.g., an acceptance from some other
meeting invitee or a failure of acceptance from some other meeting
invitee--either by expressly declining or by failure to accept
within a certain time window). At 310, a test is made to see
whether or not the condition X has been met for any conditional
acceptance respondent. That is, a determination is made as to
whether the condition(s) X is(are) now fully determined as met or
unmet. If not, then the routine is exited at 312. If so, then an
updated status of condition(s) X is sent at 314 to associated
respondents and the local meeting status data is also suitably
updated before exit is taken at 312. If neither expected condition
is met at 302 and 306, then a suitable error message is displayed
at 316 before exit is taken from this routine at 312.
[0030] As shown in FIG. 5, meeting status data may include a
meeting ID, the ID of all invitees and their respective statuses.
For example, at time T1, a meeting A may be organized by Bob with
invitations being sent to Alice, Eve and Carol. At a later time T2,
Bob may have received a declined return message from Alice and a
Conditional acceptance message from Carol (e.g., Conditional upon
whether Eve also accepts). When Eve's response is received at time
T3, then if Eve accepts, the status of both Eve and Carol is
updated to an acceptance status. However, if Eve declines, then the
status of both Eve and Carol is updated to a declined status. As
those in the art will appreciate, similar message status data may
be maintained in all involved devices.
[0031] If an incoming meeting invitation is detected by the
communications handling logic, then control is transferred to the
incoming meeting message logic 400 as depicted in FIG. 4. A check
is made at 402 to see if the device receiving this message was the
meeting organizer. If so, then transfer is made to the meeting
organizer logic 300 at 404. If not, then a check is made at 406 to
see if the incoming message is in response to an earlier
conditional acceptance issued by this particular user device. If
so, then the local calendar data is updated at 408 to the
appropriate unconditional status before the routine is exited at
410. Otherwise, a new incoming meeting invitation is displayed at
412 and a waiting loop 414, 416 is entered for the user to
determine whether a response is to be sent (assuming, for the
moment, that this user has not permitted a totally automated
response to occur--in which case an appropriate automated response
is selected and sent and local calendar data updated in lieu of
414-420). If a response is to be made, then a suitable response is
selected at 418 and local calendar data is updated and a suitable
responsive message is sent back to the meeting organizer at 420
before the routine is exited at 410. If the user does not make a
timely indication of response, then a suitable time out message may
be displayed at 422 before the routine is exited at 410. As those
in the art will appreciate, if no response was elected, then
suitable flags may be set so that this portion of the logic may be
re-entered at the user's option to later send a suitable
response.
[0032] As depicted in FIG. 6, a logical function (LF) determining
the Conditional acceptance of party A will involve any desired
Boolean logic function of any number of other invitees (B, C . . .
).
[0033] Although the above description has been made with respect to
the details of exemplary embodiments, those skilled in the art will
realize that various modifications and variations may be made in
such exemplary embodiments while yet retaining many of the novel
features and advantages described herein. Accordingly, all such
variations and modifications are intended to be included within the
scope of the appended claims.
* * * * *