Title of Invention

METHODS AND SYSTEMS FOR MANAGING SHARED TASKS

Abstract A template that lists a shared task is received at a first device. The template is also distributed in parallel to a plurality of other devices. When information indicating that the action has been performed is received, the template is updated at the first device and also at the other devices to indicate that the action has been performed.
Full Text WO 2007/008613 PCT/US2006/026400
METHODS AND SYSTEMS FOR MANAGING SHARED TASKS
TECHNICAL FIELD
Embodiments of the present invention pertain to computer systems, and
in particular to functions performed by computer systems that are
communicatively linked.
BACKGROUND ART
There are many instances in which a group of people are each assigned a
set of tasks, some of which are shared tasks that can be performed by one
person on behalf of the whole group. For example, a group of people may all be
traveling between the same two places to attend an out-of-town event. Typically,
each person will need to make their own airline reservation and hotel
reservation. However, each person does not need to make their own car
reservation; instead, one person can reserve a car that can be used by other
members of the group.
As plans are made and tasks are completed, entering information about
those plans into each person's calendar is both a time-consuming and duplicated
effort. Conventional software applications such as personal information
managers (PIMs) may facilitate managing a calendar, but they do not address
these problems.
In summary, there can be much duplication of effort in coordinating the
efforts.of a group of people such as the group in the example above. As such,
an improved method and/or system for managing shared tasks would be
advantageous.
1

WO 2007/008613 PCT/US2006/026400
SUMMARY
Broadly this writing teaches at least the following.
A plurality of devices receive in .■ parallel a template that lists a shared
task. Upon completion of that task, the template is updated.
2

WO 2007/008613 PCT/US2006/026400
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of
this specification, illustrate embodiments of the invention and, together with the
description, serve to explain the principles of the invention:
Figure 1 is a block diagram of an exemplary computer system upon which
embodiments of the present invention may be implemented.
Figure 2 is a block diagram of an exemplary computer system network
upon which embodiments of the present invention may be implemented.
Figure 3 is a flowchart of a method for managing shared tasks according
to one embodiment of the present invention.
3

WO 2007/008613 PCT/US2006/026400
DETAILED DESCRIPTION
In the following detailed description, numerous specific details are set
forth in order to provide a thorough understanding of the present invention.
However, it will be recognized by one skilled in the art that the present invention
may be practiced without these specific details or with equivalents thereof. In
other instances, well-known methods, procedures, components, and circuits
have not been described in detail as not to unnecessarily obscure aspects of the
present invention.
Some portions of the detailed descriptions, which follow, are presented in
terms of procedures, steps, iogic blocks, processing, and other symbolic
representations of operations on data bits that can be performed on computer
memory. These descriptions and representations are the means used by those
skilled in the data processing arts to most effectively convey the substance of
their work to others skilled in the art. A procedure, computer-executed step,
logic block, process, etc., is here, and generally, conceived to be a self-
consistent sequence of steps or instructions leading to a desired result. The
steps are those requiring physical manipulations of physical quantities. Usually,
though not necessarily, these quantities take the form of eiectricai or magnetic
signals capable of being stored, transferred, combined, compared, and
otherwise manipulated in a computer system. It has proven convenient at times,
principally for reasons of common usage, to refer to these signals as bits, values,
elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are
to be associated with the appropriate physical quantities and are merely
convenient labels applied to these quantities. Unless specifically stated
4

WO 2007/008613 PCT/US2006/026400
oftherwise as apparent from the following discussions, it is appreciated that
throughout the present invention, discussions utilizing terms such as "receiving,"
"updating," "placing," "verifying," "providing," "displaying," "reading," "writing,"
"prompting," "causing" or the like, refer to the action and processes of a
computer system, or similar electronic computing device, that manipulates and
transforms data represented as physical (electronic) quantities within the
computer system's registers and memories into other data similarly represented
as physical quantities within the computer system memories or registers or other
such information storage, transmission or display devices.
Referring first to Figure 1, a block diagram of an exemplary computer
system 112 is shown. It is appreciated that computer system 112 described
herein illustrates an exemplary configuration of an operational platform upon
which embodiments of the present invention can be implemented. Nevertheless,
other computer systems with differing configurations can also be used in place of
computer system 112 within the scope of the present invention. That is,
computer system 112 can include elements other than those described in
conjunction with Figure 1. Computer system 112 can be, but is not limited to, a
desktop, laptop or handheld computer system, a personai digital assistant (PDA),
a cell phone, or a pager device.
Computer system 112 includes an address/data bus 100 for
communicating information, a central processor 101 coupled with bus 100 for
processing information and instructions; a volatile memory unit 102 (e.g., random
access memory [RAM], static RAM, dynamic RAM, etc.) coupled with bus 100 for
storing information and instructions for central processor 101; and a non-volatile
memory unit 103 (e.g., read oniy memory [ROM], programmable ROM, flash
5

WO 2007/008613 PCT/US2006/026400
memory, etc.) coupled with bus 100 for storing static information and instructions
for processor 101. Computer system 112 may also contain an optional display
device 105 coupled to bus 100 for displaying information to the computer user.
Moreover, computer system 112 also includes a data storage device 104 (e.g.,
disk drive) for storing information and instructions.
Also included in computer system 112 is an optional alphanumeric input
device 106. Device 106 can communicate information and command selections
to central processor 101. Computer system 112 also includes an optional cursor
control or directing device 107 coupled to bus 100 for communicating user input
information and command selections to central processor 101. Computer
system 112 also includes signal communication interface (input/output device)
108, which is also coupled to bus 100, and can be a serial port. Communication
interface 108 may also include wireless communication mechanisms. Using
communication interface 108, computer system 112 can be communicatively
coupled to other computer systems over a communication network such as the
Internet or an intranet (e.g., a local area network).
Figure 2 is a block diagram snowing a number of different types of
devices in communication with each other and upon which embodiments of the
present invention may be implemented. The example of Figure 2 includes client
devices 200 and 210, servers 230 and 240, and a server referred to herein as an
intelligent scheduling server (ISS) 250. There may be more of such devices, and
there may be types of devices different from those shown. The functionality
provided by ISS 250 may be incorporated within the server 230 and/or the server
240. Each of the devices in Figure 2 can be exemplified as computer system
6

WO 2007/008613 PCT/US2006/026400
112 of Figure 1. Each of the client devices 200 and 210 can be uniquely
associated with a respective user.
The devices of Figure 2 communicate with each other via communication
network 220. Communication network 220 represents a collection of wireless
and/or wired elements that can include, but are not limited to, a local area
network, a wide area network, the Internet, and an intranet.
In one embodiment, the client devices 200 and 210 include intelligent
scheduling clients (ISCs) 203 and 213, respectively. In one such embodiment,
the client devices 200 and 210 also include personal information managers
(PIMs) 204 and 214, respectively. The functionality and features of ISCs 203
and 213 are described further below by way of example. The functionality and
features of PIMs are known in the art. In general, PIMs 204 and 214 are
software applications that help users organize information. For example, various
kinds of text-based notes (e.g., reminders, lists, dates) can be entered and linked
using a PIM such as PIMs 204 and 214. PIMs 204 and 214 can also include
calendar, scheduling, and calculator programs, for example.
In one embodiment, ISS 250 includes a voice system (e.g., an interactive
voice response system) 252. Voice system 252 allows exchanges of information
to occur using, for example, a telephone, but without human interaction.
In one embodiment, the templates 205 and 215 include a group of related
tasks. For simplicity of discussion, the group of related tasks may be collectively
referred to herein as an event. More precisely, there may be an event, with one
or more tasks related to the event. The templates of the present invention may
7

WO 2007/008613 PCT/US2006/026400
be pre-built templates that can be modified (customized) according to the
particular event, or new templates-can be generated when necessary or
desirable.
For each task in a template, there can be one or more common fields that
are shared across the templates 205 and 215 and hence shared across users,
and there can be one or more individual fields that are specific to a user. The
fields specific to a user can be automatically filled in using information retrieved
from memory, by a respective PIM or by a respective ISC.
Within the templates 205 and 215, a task can be identified as being a
shared task or an individual task. As used herein, a shared task refers to a task
that can be performed by one user on behalf of one or more other users, and an
individual task refers to a task that is performed individually by each user. Note
that multiple users may be assigned the same individual task; for example, each
user may have to make an airline reservation. Thus, while it may be said that
the users have a common task to perform, that in-common task may not be a
shared task.
According to embodiments of the present invention, templates 205 and
215 are used to facilitate the management of related events or tasks, including
tasks that are shared by a group of people, in particular shared tasks that can be
performed by one person in the group on behalf of some or all of the people in
the group. In one embodiment, the ISCs 203 and 213 each send tasks to ISS
250 in the form of the templates 205 and 215, respectively, and ISS 250
communicates the results of performing the task to the requesting ISC 203 and
8

WO 2007/008613 PCT/US2006/026400
213. In one embodiment, ISC 203 can also communicate with ISC 213, and vice
versa.
The use of templates 205 and 215 to facilitate the management of shared
tasks is described further by way of the following examples. In one example, a
group of people may all be traveling between the same two places to attend an
out-of-town event. Typically, each person will need to make their own airline
reservation and hotel reservation. However, each person does not need to make
their own car reservation; instead, one person can reserve a car that can be
used by the entire group.
According to embodiments of the present invention, either a member of
the group or someone else (e.g., an administrative assistant) generates a
template for the event, either creating a new template or modifying an existing
template. The template will list the various tasks that need to be performed, and
will indicate which tasks are shared tasks and which tasks are individual tasks.
The template can also identify, for each shared task, a lead individual who has
responsibility for performing or completing the shared task.
A template is distributed to each member of the group. More precisely, a
template is sent to a respective device (e.g., client device 200 or 210) associated
with a member of the group, so that each member has access to the template.
In one embodiment, the template includes fields that are specific to each
user, such as, but not limited to, name, phone number and credit card number.
As mentioned above, some or all of the fields in the template can then be filled
with information extracted from device memory by either a PIM or an ICS.
9

WO 2007/008613 PCT/US2006/026400
Also, the ISC can use the information in the template to update each
user's PIM. For example, the template may specify the dates over which an out-
of-town trip will occur, and those dates can be added to the calendar maintained
by the user's PIM.
In addition, the ISC can schedule each task in the user's PIM. That is, for
example, the template may include a list of tasks with associated due dates, and
these tasks and due dates can be added to the calendar maintained by the
user's PIM.
As a template is updated (e.g., with user information, or with task updates
as described below), it can be updated at the devices of other users as well.
That is, for example, as information is entered into template 205 on client device
200, template 215 can be updated on client device 210. Of course, confidential
information, or information that is designated as not to be shared, can be
prevented from being included in a template at another device. That is, for
example, if a credit card number is entered into template 205, that credit card
number can remain private to client device 205, and is not shared with the other
client devices. If, however, non-private information is entered into template 205,
that information can be updated in the templates residing on the devices
belonging to the other group members.
As mentioned above, the list of tasks contained in the template may
include a shared task, such as renting a car. Once the shared task has been
completed, the template is updated on all of the group's devices to show that this
task has been performed. The template can also be updated to show additional
10

WO 2007/008613 PCT/US2006/026400
information related to the completed task. For example, for a car rental task, the
template can be updated to show details associated with the rental.
Also, once an individual task is completed, the template can be updated
on all of the group's devices. In an environment where multiple people are
performing tasks, information showing each person's progress on the tasks can
be valuable. Also, as mentioned above, the template can be updated to provide
details associated with the completed task. If, for example, one person has
already sought out and booked an acceptable airline reservation, the particulars
of the reservation can be shared with the other members of the group.
In some instances, the updating of templates can be driven by the ISC of
the user that completed the shared task. In other instances, the updating of
templates can be driven by ISS 250. If, for example, a user completes a
particular task and indicates such in the template, then the ISC associated with
that user can drive the update. If, one the other hand, the task is.completed by
or through ISS 250 (as described in the examples below), then ISS 250 can drive
the update.
When a task - either a shared task or an individual task - is shown in a
template as being completed, the user's PIM can be updated as well. For
example, an individual task that is listed in the template may have also been
scheduled into a user's PIM (e.g., call person A at 4:00). Once the user has
completed that task and updated the template to reflect that, the user's PIM can
also be updated, removing that task from the PIM. In a similar manner, the user
can instead update the PIM to show that the task is completed, and the PIM in
11

WO 2007/008613 PCT/US2006/026400
turn can update the template, which in turn causes the templates at other
devices to be updated.
In one embodiment, the ICS of the present invention is integrated with a
voice-capable system such as voice system 252 of ISS 250. Alternatively, the
voice-capable system may reside on the client device. Also, the voice-capable
system may have text-to-speech (TTS) capability. Using a voice-capable
system, some tasks listed in the template can be performed using some
combination of pre-recorded speech and TTS. For example, ICS 203 on client
device 200 can initiate a phone call to a hotel to make a reservation. An
introductory portion of a message to the hotei can be pre-recorded (e.g., "I would
like to make a reservation and my name is ..."); TTS can then be used to read
the user's name from the appropriate field in the template and to convert the
name into speech. If a need arises for human intervention, then ICS 203 can
prompt the client device 200 to alert the user.
The example of the preceding paragraph can be extended to Web-based
applications as well. For example, ICS 203 can contact a hotel Web site on
server 230 to make a reservation, information in template 205 can be
transferred to the appropriate fields in the hotel's Web page in order to place the
reservation. The template may even contain fields indicating user preferences
(e.g., for a non-smoking room) that can be transferred from the template to the
Web page.
Some tasks may have external dependencies. For example, a task to
make a dinner reservation may be set up in template 205. Completing such a
task typically will require that the restaurant be contacted during its business
12

WO 2007/008613 PCT/US2006/026400
hours (that is, while it is open). !n one embodiment, an ICS (e.g., ICS 203) can
prompt a search of available information sources to identify the restaurant's
business hours. For example, by browsing the Internet, a Web page for the
restaurant may be located, the Web page can be crawled to determine when the
restaurant is open, and this information can be loaded into the template 205 or
otherwise provided to the user.
Information accessed and retrieved as described in the example above
can also be used to verify the feasibility of a scheduled task. For example, a
task to make a dinner reservation may be set up in template 205 to occur at a
particular time. Using information about the restaurant's business hours
obtained in the manner described above, a user can be warned that the
restaurant is not open at that time.
In yet another example, real time information can be used to set up a
conditional task. For example, a task to call an airline reservation center may be
set up in template 205. An ICS initiates the call without human intervention and
monitors the call until an agent or operator at the reservation center is on the
line. At that point, the user can be alerted to participate in the caii.
The above example can be extended to a situation in which an automatic
call distribution (ACD) system is monitored before a call is initiated. By
monitoring the status of the ACD system, information such as the average wait
time for connection to an agent can be obtained and provided to the user.
Based on such information, the user may decide to initiate the call right away or
wait until a later time. In one embodiment, the user can establish in a template a
threshold or condition that, if satisfied, causes the user to be alerted. For
13

WO 2007/008613 PCT/US2006/026400
example, the user can specify an acceptable wait time; if the monitored ACD
system information falls to less than that time, the user can be alerted. Further
information about ACD monitoring is provided by U.S. Patent No. 6,850,615,
assigned to the assignee of the present invention, and hereby incorporated by
reference in its entirety.
In the examples above, an event is described as having a number of tasks
that are coordinated among different users. Embodiments in accordance with
the present invention can also be used to coordinate between events. For
example, a task associated with one event can be coordinated with a task
associated with another event.
Furthermore, tasks or events for an individual user can be coordinated.
For example, a number of people may apply for admission to a college. Each
applicant will typically have to complete a number of tasks as part of the
admission process. According to embodiments of the present invention, each
applicant can be issued a template that lists those tasks and is integrated with an
applicant's PIM, in a manner similar to that described above.
Figure 3 is a flowchart 300 of a method for managing shared tasks
according to one embodiment of the present invention. Although specific steps
are disclosed in flowchart 300, such steps are exemplary. That is, embodiments
of the present invention are well suited to performing various other (additional)
steps or variations of the steps recited in flowchart 300. It is appreciated that the
steps in flowchart 300 may be performed in an order different than presented,
and that not all of the steps in flowchart 300 may be performed. In one
embodiment, flowchart 300 is implemented as computer-readable program code
14

WO 2007/008613 PCT/US2006/026400
stored in a memory unit of computer system 112 and executed by processor 101
(Figure 1).
In block 302 of Figure 3, with reference also to Figure 2, a first device
(e.g., client device 200) receives a template (e.g., template 205) that includes a
listing of one or more tasks. The tasks are common to a group of individuals.
The listing can include one or more shared tasks. A shared task includes an
action that, when completed by one of the individuals in the group, is completed
for all of the individuals in the group. The listing can also include one or more
tasks that are performed by each of the individuals. The template is distributed
in parallel to a group of devices associated with the individuals in the group.
In block 304 of Figure 3, information that is read from a memory of the
first device is placed into fields of the template.
In block 306, information identifying that the action (e.g., the shared task)
has been performed is received at the first device.
in block 307, in one embodiment, the action is performed using an
automated system.
In block 308, in one embodiment, the action is subject to a condition. In
one such embodiment, the condition is verified as to whether or not it is feasible.
In another embodiment, information that identifies a constraint associated with
the condition is retrieved and added to the template. In another such
embodiment, an alert is provided when a condition applied to an external agent
associated with performing the action is satisfied.
15

WO 2007/008613 PCT/US2006/026400
In block 310, the template is updated at the first device and also at the
group of devices to indicate the action has been performed.
In summary, embodiments in accordance with the present invention
provide methods and systems for coordinating a set of related tasks and/or
events using a template that can be understood by and integrated with, for
example, a PIM. In various embodiments, schedules can be arranged according
to external dependencies, fields in the template can be filled in using information-
read from memory, and tasks can be performed by voice-capable systems. As
tasks are completed, templates and PIMs can be automatically updated, so that
completed tasks (in particular, completed shared tasks) are visible to all group
members. Consequently, the amount of duplicated effort is reduced.
Embodiments of the present invention are thus described. While the
present invention has been described in particular embodiments, it should be
appreciated that the present invention should not be construed as limited by
such embodiments, but rather construed according to the below claims.
16

WO 2007/008613 PCT/US2006/026400
CLAIMS
What is claimed is:
1. A method for managing shared tasks, said method comprising:
receiving at a first device a template comprising a listing that includes a
task, wherein said task is common to a plurality of individuals and comprises an
action that when completed by one of said individuals is completed for all of said
individuals, and wherein said template is distributed in parallel to a plurality of
devices associated with said individuals;
receiving information identifying that said action has been performed; and
updating said template at said first device to indicate said action has been
performed, wherein said information identifying that said action has been
performed is also received at said plurality of devices so that said template is
also updated at said plurality of devices.
2. The method of Claim 1 further comprising placing information that
is read from a memory of said first device into fields of said template.
3. The method of Claim i wherein said action is performed using an
automated system.
4. The method of Claim 3 wherein said automated system has voice
capability.
5. The method of Claim 1 wherein performing said action is subject to
a condition, wherein said method further comprises verifying that said condition
is feasible.
17

WO 2007/008613 PCT/US2006/026400
6. The method of Claim 1 wherein performing said action is subject to
a condition, wherein said method further comprises:
retrieving information that constrains said condition; and
updating said template with said information that constrains said
condition.
7. The method of Claim 1 further comprising providing an alert when a
condition applied to an external agent associated with performing said action is
satisfied.
8. The method of Claim 1 wherein said listing further comprises a
second task that is common to said individuals, wherein said second task
comprises an action that is independently performed by each of said individuals.
9. A computer-usable medium having computer-readable program
code embodied therein for causing a computer system to execute a method of .
managing shared tasks, said method comprising:
displaying a template comprising a iisting that includes a task, wherein
said task is common to a plurality of individuals and comprises an action that
when completed by one of said individuals is completed for all of said individuals,
and wherein said template is distributed in parallel to a plurality of devices
associated with said individuals; and
updating said template to indicate that an action has been performed,
wherein said template is also updated at said plurality of devices.
18

WO 2007/008613 PCT/US2006/026400
10. The computer-usable medium of Claim 9 wherein said method
further comprises:
reading information from memory; and
writing said information into fields of said template.
11. The computer-usable medium of Claim 9 wherein said method
further comprises prompting an automated system to perform said action.
12. The computer-usable medium of Claim 11 wherein said automated
system has voice capability.
13. The computer-usable medium of Claim 9 wherein said method
further comprises:
identifying a parameter associated with performing said action; and
prompting a search to determine whether said parameter is practicable.
14. The computer-usable medium of Claim 9 wherein said method
further comprises:
causing an external agent associated with performing said action to be
monitored; and
providing an alert when a condition applied to said external agent is
satisfied.
15. The computer-usable medium of Claim 9 wherein said listing
further comprises a second task that is common to said individuals, wherein said
second task comprises an action that is independently performed by each of said
individuals.
19

WO 2007/008613 PCT/US2006/026400
16. A system for managing shared tasks, said system comprising:
means for listing a task that is common to a plurality of individuals and
comprises an action that when completed by one of said individuals is completed
for all of said individuals, wherein said listing is distributed in parallel to a plurality
of devices associated with said individuals;
means for identifying that said action has been performed; and
means for updating said listing to indicate said action has been
performed, wherein said listing is also updated at said plurality of devices.
17. A system for managing shared tasks, said system comprising:
a template generator that generates a list that includes a task that is
common to a plurality of individuals and comprises an action that when
completed by one of said individuals is completed for all of said individuals,
wherein said list is distributed in parallel to a plurality of devices associated with
said individuals; and
an intelligent scheduler that receives information identifying that said
action has been performed and updates said list to indicate said action has been
performed, wherein said list is also updated at said plurality of devices.
18. The system of Claim 17 wherein said intelligent scheduler places
information that is read from memory into fields associated with said task.
19. The system of Claim 17 wherein said intelligent scheduler prompts
an automated system to perform said action.
20

WO 2007/008613 PCT/US2006/026400
20. The system of Claim 17 wherein said intelligent scheduler verifies
that a condition placed on said action is feasible.
21. The system of Claim 17 wherein said intelligent scheduler provides
an alert when a condition applied to an external agent associated with
performing said action is satisfied.
22. The system of Claim 17 wherein said list further comprises a
second task that is common to said individuals, wherein said second task
comprises an action that is independently performed by each of said individuals.
21

A template that lists a shared task is received at a first device. The template is also distributed in parallel to a plurality
of other devices. When information indicating that the action has been performed is received, the template is updated at the first
device and also at the other devices to indicate that the action has been performed.

Documents:

http://ipindiaonline.gov.in/patentsearch/GrantedSearch/viewdoc.aspx?id=CCeDdeU1nBSGLIDpjvZ39g==&loc=wDBSZCsAt7zoiVrqcFJsRw==


Patent Number 272004
Indian Patent Application Number 4227/KOLNP/2007
PG Journal Number 12/2016
Publication Date 18-Mar-2016
Grant Date 14-Mar-2016
Date of Filing 02-Nov-2007
Name of Patentee CISCO TECHNOLOGY, INC.
Applicant Address 170 WEST TASMAN DRIVE, SAN JOSE CA
Inventors:
# Inventor's Name Inventor's Address
1 PATEL LABHESH 199 NEW MONTGOMERY STREET, UNIT #802, SAN FRANCISCO, CALIFORNIA 94105
2 LEE JOHNNY 1525 SOUTH DEL MAR AVENUE #B , SAN GABRIEL, CALIFORNIA 91776
3 LEE DAVID 186 NORTH SUNNYVALE AVENUE, APT. 3, SUNNYVALE, CALIFORNIA 94086
4 JABBOUR FADI 695 SOUTH KNICKERBOCKER DRIVE, APT. 18, SUNNYVALE, CALIFORNIA 94087
PCT International Classification Number G06F 9/46
PCT International Application Number PCT/US2006/026400
PCT International Filing date 2006-07-06
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 11/177519 2005-07-07 U.S.A.