The present disclosure relates generally to artificial intelligence, e.g., to task delegation and cooperation for automated assistants.
Automated digital assistants (also sometimes referred to as “bots”) are software applications that run automated tasks, often over the Internet. The automated tasks are typically simple and structurally repetitive, and can be performed by the automated digital assistants at a much higher rate than would be possible for a human to perform.
The teachings of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
The present disclosure provides task delegation and cooperation for automated assistants. In one example, a method includes receiving, at a centralized support center that is in contact with a plurality of automated assistants including a first automated assistant and a second automated assistant, a request to perform a task on behalf of an individual, formulating, at the centralized support center, the task as a plurality of sub-tasks including a first sub-task and a second sub-task, delegating, at the centralized support center, the first sub-task to the first automated assistant, based on a determination at the centralized support center that the first automated assistant is capable of performing the first sub-task, and delegating, at the centralized support center, the second sub-task to the second automated assistant, based on a determination at the centralized support center that the second automated assistant is capable of performing the second sub-task.
In another example, a device includes a processor of a centralized support center and a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations. The operations include receiving, at the centralized support center that is in contact with a plurality of automated assistants including a first automated assistant and a second automated assistant, a request to perform a task on behalf of an individual, formulating, at the centralized support center, the task as a plurality of sub-tasks including a first sub-task and a second sub-task, delegating, at the centralized support center, the first sub-task to the first automated assistant, based on a determination at the centralized support center that the first automated assistant is capable of performing the first sub-task, and delegating, at the centralized support center, the second sub-task to the second automated assistant, based on a determination at the centralized support center that the second automated assistant is capable of performing the second sub-task.
In another example, a non-transitory computer-readable storage medium stores instructions which, when executed by a processor of a centralized support center, cause the processor to perform operations. The operations include receiving, at a centralized support center that is in contact with a plurality of automated assistants including a first automated assistant and a second automated assistant, a request to perform a task on behalf of an individual, formulating, at the centralized support center, the task as a plurality of sub-tasks including a first sub-task and a second sub-task, delegating, at the centralized support center, the first sub-task to the first automated assistant, based on a determination at the centralized support center that the first automated assistant is capable of performing the first sub-task, and delegating, at the centralized support center, the second sub-task to the second automated assistant, based on a determination at the centralized support center that the second automated assistant is capable of performing the second sub-task.
In one example, the present disclosure provides task delegation and cooperation for automated assistants. As discussed above, automated digital assistants are software applications that run automated tasks, often over the Internet. The automated tasks are typically simple and structurally repetitive, and can be performed by the automated assistants at a much higher rate than would be possible for a human to perform. However, conventional automated assistants lack the mechanisms for light, partial, and full automation with respect to tasks that may include variations from individual to individual. For instance, tasks such as answering a door, accepting a delivery, or installing electronic equipment, are common tasks that many individuals may require assistance with. However, there may be slight variations in terms of how those tasks are performed from individual to individual, owing, for instance, to variations in the individuals' environments. Moreover, if an individual does not have access to a particular sensor or Internet of Things (IoT) capability required for a given task to be performed by an automated assistant, there may be no way to authorize and authenticate an automated assistant provided by a service provider. As an example, a home delivery service may require admittance to and a specification of a location at which to deposit a new piece of furniture. The recipient of the furniture should be able to provide explicit visual instructions that can be subsequently validated by a camera system provided by the delivery service to ensure that the delivery is consistent with the recipient's instructions.
Examples of the present disclosure create a “marketplace” via which a plurality of automated assistants may cooperate by performing different sub-tasks that comprise parts of a larger task. This allows the larger task to be completed in an optimal manner by delegating different sub-tasks to the automated assistants that are best-suited to perform the sub-tasks. This also allows sub-tasks to be shared and reused in a trusted fashion among the automated assistants, providing for learning, and, ultimately, further automation of tasks.
To better understand the present disclosure,
In one example, the network 100 may comprise a core network 102. In one example, the core network 102 may combine core network components of a cellular network with components of a triple play service network; where triple play services include telephone services, Internet services, and television services to subscribers. For example, core network 102 may functionally comprise a fixed mobile convergence (FMC) network, e.g., an IP Multimedia Subsystem (IMS) network. In addition, the core network 102 may functionally comprise a telephony network, e.g., an Internet Protocol/Multi-Protocol Label Switching (IP/MPLS) backbone network utilizing Session Initiation Protocol (SIP) for circuit-switched and Voice over Internet Protocol (VoIP) telephony services. The core network 102 may also further comprise an Internet Service Provider (ISP) network. In one example, the core network 102 may include an application server (AS) 104 and a database (DB) 106. Although a single AS 104 and a single DB 106 are illustrated, it should be noted that any number of application servers and databases may be deployed. Furthermore, for ease of illustration, various additional elements of core network 102 are omitted from
The core network 102 may be in communication with one or more wireless access networks 120 and 122. Either or both of the access networks 120 and 122 may include a radio access network implementing such technologies as: global system for mobile communication (GSM), e.g., a base station subsystem (BSS), or IS-95, a universal mobile telecommunications system (UMTS) network employing wideband code division multiple access (WCDMA), or a CDMA3000 network, among others. In other words, either or both of the access networks 120 and 122 may comprise an access network in accordance with any “second generation” (2G), “third generation” (3G), “fourth generation” (4G), Long Term Evolution (LTE), or any other yet to be developed future wireless/cellular network technology including “fifth generation” (5G) and further generations. The operator of core network 102 may provide a data service to subscribers via access networks 120 and 122. In one example, the access networks 120 and 122 may all be different types of access networks, may all be the same type of access network, or some access networks may be the same type of access network and other may be different types of access networks. The core network 102 and the access networks 120 and 122 may be operated by different service providers, the same service provider or a combination thereof.
In one example, the access network 120 may be in communication with one or more user endpoint devices (UEs) 108 and 110, while the access network 122 may be in communication with one or more UEs 112 and 114. In one example, the user endpoint devices 108, 110, 112, and 114 may be any type of subscriber/customer endpoint device configured for wireless communication such as a laptop computer, a Wi-Fi device, a Personal Digital Assistant (PDA), a mobile phone, a smartphone, an email device, a computing tablet, a messaging device, a wearable “smart” device (e.g., a smart watch or fitness tracker), a portable media device (e.g., an MP3 player), a gaming console, a portable gaming device, a set top box, a smart television, and the like. In a further example, the user endpoint devices 108, 110, 112, and 114 may include smart home or IoT devices, such as smart doorbells, smart thermostats, smart lighting systems, smart locks, smart appliances, or the like. In addition, some of the UEs 108, 110, 112, and 114 may include sensors (e.g., imaging sensors, audio sensors, thermal sensors, pressure sensors, light sensors, smoke sensors, humidity sensors, motion sensors, and/or the like) for detecting and/or recording information about a surrounding environment. In one example, any one or more of the user endpoint devices 108, 110, 112, and 114 may have both cellular and non-cellular access capabilities and may further have wired communication and networking capabilities (e.g., such as a desktop computer). It should be noted that although only four user endpoint devices are illustrated in
In one example, the endpoint devices 108 and 114 may have installed thereon an automated assistant (AA) 136 or 138, respectively. The AAs 136 and 138 may comprise software applications that are programmed to allow the respective UEs 108 and 114 to perform tasks or sub-tasks, potentially under the direction of an individual or the AS 104. As such, the AAs 136 and 138 may perform the methods discussed below in conjunction with
The access networks 120 and 122 may also be in communication with AAs 140 and 142, respectively, that are not installed on UEs. These AAs 140 and 142 may comprise, for instance, hardware devices such as robots, drones, or unmanned vehicles that are capable of performing tasks and sub-tasks under the direction of an individual or the AS 104 (e.g., the hardware devices can carry out the tasks or subtasks, possibly while meeting certain criteria such as time limits, cost restrictions, and/or the like). As such, the AAs 140 and 142 may perform the methods discussed below in conjunction with
In one example, the AAs 140 and 142 may have both cellular and non-cellular access capabilities and may further have wired communication and networking capabilities. In addition, some of the AAs 140 and 142 may include sensors 144 (e.g., imaging sensors, audio sensors, thermal sensors, pressure sensors, light sensors, smoke sensors, humidity sensors, motion sensors, and/or the like) for detecting and/or recording information about a surrounding environment.
The AAs 136, 138, 140, and 142 may communicate with each other as well as with the AS 104 (e.g., via digital application programming interfaces). The AAs 136, 138, 140, and 142 may also communicate with humans (e.g., via input/output devices such as a display, a speaker, a keyboard, a camera, a microphone, a haptic device, or the like). The AAs 136, 138, 140, and 142 may be owned and operated by individuals (e.g., the same individuals who own and operate the UEs 108, 110, 112, and 114) or by service providers who make the AAs 136, 138, 140, and 142 available for performing tasks on behalf of the individuals and/or service providers. It should be noted that although four AAs are illustrated in
The AS 104 may comprise a computer specifically programmed to operate as a special purpose computer, as illustrated in
In one example, authorization engine 124 may verify that particular AAs 136, 138, 140, and 142 are authorized to perform certain tasks. For instance, if a task to be performed requires information that can be provided via a sensor, but the individual on whose behalf the task is to be performed does not have access to the necessary sensor, the authorization engine 124 may verify that a sensor provided by a service provider associated with the task can be used to provide the information.
In one example, the delegation engine 126 may determine which of the AAs 136, 138, 140, and 142 are best suited to perform particular sub-tasks of a task to be performed. The delegation engine 126 may maintain a list or roster of available automated assistants (including AAs 136, 138, 140, and 142) and their respective capabilities, and may update this list from time to time (e.g., periodically according to a defined schedule, randomly, or in response to events such as automated assistants leaving or joining the network 100). The delegation engine 126 may communicate with the AAs 136, 138, 140, and 142 in order to maintain the roster and also to delegate sub-tasks.
The validation engine 128 may track the progress of a task being performed by AAs 136, 138, 140, and 142. In one example, the validation engine 128 may communicate with the AAs 136, 138, 140, and 142, for example to receive reports from the AAs 136, 138, 140, and 142 concerning the statuses of the sub-tasks the AAs 136, 138, 140, and 142 have been asked to perform. The validation engine 128 may also inform a first AA when a sub-task performed by a second AA, on which a sub-task to be performed by the first AA is dependent, has been successfully completed.
The analytics engine 130 may apply knowledge of individual preferences (learned, for example, through observation or explicit statement by the individual) to store information that assists in task performance. For instance, information regarding previously performed tasks may be stored to assist in the performance of similar tasks in the future. However, the analytics engine 130 may modify the stored information in order to better align to the preferences of a specific individual on whose behalf a task is currently being performed.
In one example, the DB 106 stores information relating to tasks that have been performed in the past by the automated assistants. To this end, the DB 106 may include a repository of tasks 132 and a repository of feedback 134. The repository of tasks 132 may include information about previously performed tasks. This information may include the nature of the task performed, the location at which the task was performed, the time at which the task was performed, and/or the individual on whose behalf the task was performed. The information may also include a plurality of sub-tasks into which the task may be divided. For instance, a task that involves arranging for repair of an appliance in an individual's home might include sub-tasks of determining the type of repair to be made, contacting a service provider who can perform the repair, scheduling an appointment with the service provider, and admitting the service provider to the individual's home to repair the appliance. Storage of the previously performed tasks and sub-tasks allows the tasks and sub-tasks to be re-used and shared in a trusted fashion, which streamlines automation. In other words, each individual on whose behalf a similar task is being performed will not necessarily have to provide detailed instructions for performing that task; if one individual provides instructions, those instructions may be re-used (potentially with modifications) for the other individuals.
The repository of feedback 134 may include feedback from individuals on whose behalves the tasks were performed. For instance, this feedback may indicate whether the tasks were completed to the individuals' satisfaction or whether the individuals suggested improvements for completing the tasks. The repository of feedback 134 may also include feedback from automated assistants. For instance, this feedback may indicate whether any problems were encountered in performing the tasks and/or what actions were taken to resolve the problems. In addition, the repository of feedback 134 may include information about individuals' preferences, for example in the forms of profiles, task histories, or the like.
It should be noted that as used herein, the terms “configure” and “reconfigure” may refer to programming or loading a computing device with computer-readable/computer-executable instructions, code, and/or programs, e.g., in a memory, which when executed by a processor of the computing device, may cause the computing device to perform various functions. Such terms may also encompass providing variables, data values, tables, objects, or other data structures or the like which may cause a computer device executing computer-readable instructions, code, and/or programs to function differently depending upon the values of the variables or other data structures that are provided.
Those skilled in the art will realize that the network 100 has been simplified. For example, the network 100 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, a content distribution network (CON) and the like. The network 100 may also be expanded by including additional robots, endpoint devices, sensors, access networks, network elements, application servers, etc. without altering the scope of the present disclosure.
To further aid in understanding the present disclosure,
The method 200 begins in step 202. In step 204, a request may be received to delegate a task to at least one automated assistant. The request may be received, for example, from a user endpoint device operated by an individual on whose behalf the task is to be performed. In one example, the request may include the following information: a task to be performed, a location (e.g., a room, boundaries of a physical space, etc.) at which the task is to be performed, a time at which the task is to be performed, and/or an individual on whose behalf the task is to be performed. The request may also include supplemental information or evidence to clarify the nature of the task. For instance, if the task involves scheduling a repair of an appliance at an individual's home, the supplemental information or evidence may include images of the appliance to be repaired and/or images showing how the appliance can be accessed by a technician. In this way, proper performance of the task may be verified (e.g., the technician can refer to the images to verify that he or she is accessing the correct appliance).
In step 206, a database, such as the DB 106 illustrated in
In step 208, it is determined whether an example of a similar, previously performed task has been located in the database. If it is determined in step 208 that an example of a similar, previously performed task has been located, then the method 200 may proceed to step 210.
In step 210, the example of the similar, previously performed task may be customized or modified as necessary to satisfy the request. For instance, variations in the locations at which the present task and the previously performed task are performed, the times at which the present task and the previously performed task are performed, the individuals on whose behalves the present task and the previously performed task are performed, or other aspects of the tasks may dictate a modification to one or more of the sub-tasks. As an example, if the request received in step 204 related to a repair of a washing machine, while the previously performed task related to a repair of an air conditioning unit, then sub-tasks involving contacting service providers (e.g., washing machine repair services versus HVAC repair services) may be modified to ensure that appropriate service providers are consulted. In addition, the individual's preferences associated with task performance may be considered in this step. The individual's preferences may be stored, for example, in a profile, a request history, or a feedback history associated with the individual (and stored, e.g., in the DB 106).
If, on the other hand, it is determined in step 208 that an example of a similar, previously performed task has not been located, then the method 200 may proceed to step 212.
In step 212, a plan may be formulated for performing the task described in the request. As with the example of the similar, previously performed task, the plan may include a sequence of sub-tasks that can be performed in order to complete the task described in the request. The individual on whose behalf the task is to be performed may be consulted for feedback in this step. For instance, the individual may be asked to provide at least a basic sequence of sub-tasks. In addition, the individual's preferences associated with task performance may be considered in this step.
In step 214, each of the sub-tasks may be delegated to an automated assistant. In one example, the plan formulated in step 212 includes a plurality of sub-tasks, and the plurality of sub-tasks being delegated among a plurality of automated assistants. It should be noted, however, that this will not necessarily result in a one-to-one correspondence between sub-tasks and automated assistants. For instance, multiple sub-tasks could be delegated to a single automated assistant. In one example, approval from the individual on whose behalf the task is being performed may be sought before a sub-task is delegated to a particular automated assistant. This helps to ensure that performance of the task aligns to the individual's long-term goals.
In step 216, updates may be received from the automated assistant(s) to which the sub-tasks have been delegated. The updates may allow for the progress of the task to be tracked (e.g., to gauge how close to completion the task is). In one example, where the method 200 is performed by an application server, the application server may rely on the updates to time the sending of instructions to automated assistants. For instance, where a first sub-task cannot be performed until a second sub-task is completed, the application server may wait for confirmation that the second sub-task is completed before instructing an automated assistant to perform the first sub-task. The updates may also allow problems to be detected and addressed. For instance, if a given automated assistant reports that it is unable to complete a sub-task, the sub-task may be re-delegated to a different automated assistant. Alternatively, clarification may be solicited from the individual on whose behalf the task is being performed regarding information associated with the sub-task.
In step 218, it may be determined whether the task has been completed. If it is determined in step 218 that the task has been completed, then the method 200 may end in step 220. If, on the other hand, it is determined in step 218 that the task has not been completed, then the method 200 may return to step 216 and proceed as described above until the task is determined to be completed. In one example, upon completion of the task, information about the task (e.g., which automates assistants performed which sub-tasks, how the sub-tasks were performed, errors encountered, etc.) may be stored, e.g., in a database, for use in performing future tasks.
The method 200 therefore simplifies the performance of human tasks by providing predictive resolution of issues in an automated or semi-automated manner, potentially with some human interaction. Continuous learning from prior experiences and/or human feedback, as well as the ability to customize common tasks for specific individuals, allows tasks to be performed more quickly and more efficiently.
The method 300 begins in step 302. In step 304, a delegation of a sub-task may be received. The sub-task may comprise a component of a larger task that is to be performed on behalf of a requesting individual. For instance, if the larger task relates to repairing an appliance in the individual's home, the sub-task may comprise collecting information about the appliance (e.g., type of appliance, make, model, age, error codes, etc.), scheduling an appointment with a repair service, or unlocking a door to admit a technician into the individual's home. In a further example, the delegation of the sub-task may include instructions for performing the sub-task. For instance, information about a similar sub-task that was performed previously (e.g., by another automated assistant) could be provided as a template for performing the sub-task.
In step 306, the sub-task is performed. In one example, performing the sub-task may include modifying information or instructions that were provided to align with the needs of the requesting individual. For instance, information about a similar sub-task that was performed previously (e.g., repair of the same type of appliance in another individual's home) can be used as a template, as described above. However, modifications may be made to the template to customize it to the requesting individual's needs. As an example, if the sub-task involves scheduling an appointment for an appliance repair with a repair service, the repair service may need to know where in the individual's home the appliance is located. The appliance associated with the previously performed sub-task may have been located in the laundry room. However, in the instant case, the appliance may be located in the basement.
In step 308, it is determined whether the sub-task has been successfully completed. If it is determined that the sub-task has not been successfully completed, then the method 300 may proceed to step 310. In step 310, feedback may be solicited, for example from a centralized entity (e.g., an application server) or from a human (e.g., a technician or the individual on whose behalf the sub-task is to be performed). For instance, if an error is encountered in trying to perform the sub-task, suggestions for working around the error may be sought. Alternatively, if the nature of the sub-task is unclear or ambiguous, clarification may be sought from the individual on whose behalf the sub-task is to be performed. In such a case, interaction with the individual could take place through various modalities, including video chat, text messaging, or the like. The method 300 may then return to step 306, and another attempt may be made to perform the sub-task.
If, on the other hand, it is determined in step 308 that the sub-task has been successfully completed, then the method may proceed to step 312. In step 312, a report may be sent to the source of the delegation received in step 304. The report may indicate that the sub-task has been successfully completed, and may include additional information that may be useful to other automated assistants which may be performing subsequent sub-tasks related to the same larger task. For instance, if a first automated assistant is tasked with scheduling an appointment with a repair service, another automated assistant may be tasked with admitting the repair service to the requesting individual's home at the scheduled time.
The method may end in step 314.
Although examples of the disclosure are described within the context of an individual making an explicit request for performance of a task, it should be noted that in some cases, a request for performance of a task may come from an automated assistant, without explicit instruction from the individual. For instance, an automated assistant in an individual's home may detect the individual complaining about the picture quality while watching television. The automated assistant may communicate with probes on a set top box connected to the television in order to collect evidence of the picture quality. Subsequently, the automated assistant may communicate, overnight, with back-end services to diagnose and repair the picture quality issues. If the picture quality issues cannot be resolved in this manner, the automated assistant may ask the individual if he or she wishes to schedule an appointment with a technician. The automated assistant may subsequently submit a request, e.g., to an application server, and may cooperate with other automated assistants to facilitate repair of the picture quality issues by the technician. Alternatively, the automated assistant could solicit advice on resolving the picture quality issues from other automated assistants and/or an application server, and could present this advice to the individual for consideration.
Furthermore, the tasks delegated to the automated assistants need not necessarily be physical tasks. For instance, an individual may wish to improve his health through diet and exercise. Stored information about the individual may include his typical diet, known health conditions, family health history, and preferred dining locations. The automated assistant may gather further information from the individual's health care providers (e.g., doctors, pharmacists, insurance providers, etc.), family members, or the like. The automated assistant may then make suggestions when it detects that the individual is engaging in an activity that may affect his health. For example, if the automated assistant detects that he is in the bread aisle of the grocery store, the automated assistant may suggest purchasing a loaf of whole grain bread rather than a load of white bread. In another example, the automated assistant may detect that the individual is cooking and suggest healthier cooking methods (e.g., baking rather than frying), potentially working in conjunction with smart home appliances to carry out accepted suggestions. In another example still, the automated assistant may detect that the individual is ignoring suggestions to get more sleep, and could alternatively suggest that the individual take a vitamin supplement to make up for vitamins deficiencies caused by lack of sleep, perhaps after consulting with other automated assistants and/or with external data sources. Thus, an alternative sub-task could be suggested in place of a failed (or ignored) sub-task.
As depicted in
The hardware processor 402 may comprise, for example, a microprocessor, a central processing unit (CPU), or the like. The memory 404 may comprise, for example, random access memory (RAM), read only memory (ROM), a disk drive, an optical drive, a magnetic drive, and/or a Universal Serial Bus (USB) drive. The module 405 for providing task delegation and cooperation for automated assistants may include circuitry and/or logic for performing special purpose functions relating to planning and/or performing tasks on behalf of an individual. The input/output devices 406 may include, for example, a camera, a video camera, storage devices (including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive), a receiver, a transmitter, a speaker, a microphone, a transducer, a display, a speech synthesizer, a haptic device, a sensor, an output port, or a user input device (such as a keyboard, a keypad, a mouse, and the like).
Although only one processor element is shown, it should be noted that the computer may employ a plurality of processor elements. Furthermore, although only one computer is shown in the Figure, if the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple or parallel computers, then the computer of this Figure is intended to represent each of those multiple computers. Furthermore, one or more hardware processors can be utilized in supporting a virtualized or shared computing environment. The virtualized computing environment may support one or more virtual machines representing computers, servers, or other computing devices. In such virtualized virtual machines, hardware components such as hardware processors and computer-readable storage devices may be virtualized or logically represented.
It should be noted that the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the steps, functions and/or operations of the above disclosed method(s). In one example, instructions and data for the present module or process 405 for providing task delegation and cooperation for automated assistants (e.g., a software program comprising computer-executable instructions) can be loaded into memory 404 and executed by hardware processor element 402 to implement the steps, functions or operations as discussed above in connection with the example methods 200 or 300. Furthermore, when a hardware processor executes instructions to perform “operations,” this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component (e.g., a co-processor and the like) to perform the operations.
The processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, the present module 405 for providing task delegation and cooperation for automated assistants (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
While various examples have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a disclosed example should not be limited by any of the above-described examples, but should be defined only in accordance with the following claims and their equivalents.
The subject patent application is a continuation of, and claims priority to, U.S. patent application Ser. No. 16/129,267 (now U.S. Pat. No. 10,802,872), filed Sep. 12, 2018, and entitled “TASK DELEGATION AND COOPERATION FOR AUTOMATED ASSISTANTS,” the entirety of which application is hereby incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
6334103 | Surace et al. | Dec 2001 | B1 |
7565433 | Lamport | Jul 2009 | B1 |
7711825 | Lamport | May 2010 | B2 |
7797261 | Yang | Sep 2010 | B2 |
7856502 | Lamport | Dec 2010 | B2 |
7944448 | Iwamura et al. | May 2011 | B2 |
8909693 | Frissora et al. | Dec 2014 | B2 |
8930815 | Moore | Jan 2015 | B2 |
8966568 | Abendroth et al. | Feb 2015 | B2 |
9172747 | Walters et al. | Oct 2015 | B2 |
9276802 | Lynch et al. | Mar 2016 | B2 |
9324057 | Krishnaswamy et al. | Apr 2016 | B2 |
9386152 | Riahi et al. | Jul 2016 | B2 |
9390243 | Dhillon et al. | Jul 2016 | B2 |
9471638 | Roytman et al. | Oct 2016 | B2 |
9479931 | Ortiz et al. | Oct 2016 | B2 |
9501743 | Tur et al. | Nov 2016 | B2 |
9531695 | Koppolu et al. | Dec 2016 | B2 |
9536065 | Bouse et al. | Jan 2017 | B2 |
9762734 | McCarthy-Howe et al. | Sep 2017 | B1 |
9786299 | Un et al. | Oct 2017 | B2 |
9787841 | Chishti et al. | Oct 2017 | B2 |
9805718 | Ayan et al. | Oct 2017 | B2 |
9812151 | Amini et al. | Nov 2017 | B1 |
9817872 | Pamu et al. | Nov 2017 | B2 |
9823811 | Brown et al. | Nov 2017 | B2 |
9830044 | Brown et al. | Nov 2017 | B2 |
9836177 | Brown et al. | Dec 2017 | B2 |
9881614 | Thirukovalluru et al. | Jan 2018 | B1 |
9928106 | Hosabettu et al. | Mar 2018 | B2 |
9934493 | Castinado et al. | Apr 2018 | B2 |
9973457 | Cauchois et al. | May 2018 | B2 |
10009666 | van Scheltinga et al. | Jun 2018 | B1 |
10032137 | Skiba et al. | Jul 2018 | B2 |
10043516 | Saddler et al. | Aug 2018 | B2 |
10069915 | Dhuse | Sep 2018 | B2 |
10276185 | Ma et al. | Apr 2019 | B1 |
10388272 | Thomson et al. | Aug 2019 | B1 |
10395659 | Piercy et al. | Aug 2019 | B2 |
10204627 | Nitz et al. | Dec 2019 | B2 |
20050064374 | Spector | Mar 2005 | A1 |
20050125793 | Aguilar | Jun 2005 | A1 |
20070035764 | Aldrich et al. | Feb 2007 | A1 |
20080096533 | Manfredi et al. | Apr 2008 | A1 |
20080159547 | Schuler et al. | Jul 2008 | A1 |
20080269958 | Filev et al. | Oct 2008 | A1 |
20090132371 | Strietzel et al. | May 2009 | A1 |
20090209341 | Okada | Aug 2009 | A1 |
20100082515 | Relyea et al. | Apr 2010 | A1 |
20100100907 | Chang et al. | Apr 2010 | A1 |
20100223297 | Li | Sep 2010 | A1 |
20110064388 | Brown et al. | Mar 2011 | A1 |
20110106674 | Perlman | May 2011 | A1 |
20110138299 | Pugsley et al. | Jun 2011 | A1 |
20110172873 | Szwabowski et al. | Jul 2011 | A1 |
20110193726 | Szwabowski et al. | Aug 2011 | A1 |
20120084781 | Isaka | Apr 2012 | A1 |
20120137367 | Dupont et al. | May 2012 | A1 |
20120221504 | Rosini et al. | Aug 2012 | A1 |
20120254280 | Parker, II | Oct 2012 | A1 |
20130006874 | Klemm | Jan 2013 | A1 |
20130081032 | Levien | Mar 2013 | A1 |
20130152092 | Yadgar | Jun 2013 | A1 |
20130219406 | Hatabe | Aug 2013 | A1 |
20130305169 | Gold | Nov 2013 | A1 |
20130332985 | Sastry et al. | Dec 2013 | A1 |
20140053223 | Vorobyov et al. | Feb 2014 | A1 |
20140244712 | Walters et al. | Apr 2014 | A1 |
20140125678 | Wang et al. | May 2014 | A1 |
20140160149 | Blackstock et al. | Jun 2014 | A1 |
20140245140 | Brown et al. | Aug 2014 | A1 |
20140310001 | Kalns et al. | Oct 2014 | A1 |
20140365407 | Brown et al. | Dec 2014 | A1 |
20150071450 | Boyden et al. | Mar 2015 | A1 |
20150081361 | Lee | Mar 2015 | A1 |
20150084838 | Chang et al. | Mar 2015 | A1 |
20150088514 | Typrin | Mar 2015 | A1 |
20150169336 | Harper et al. | Jun 2015 | A1 |
20150169383 | van den Berghe | Jun 2015 | A1 |
20150185996 | Brown et al. | Jul 2015 | A1 |
20150186155 | Brown et al. | Jul 2015 | A1 |
20150213800 | Krishnan et al. | Jul 2015 | A1 |
20150234377 | Mizikovsky | Aug 2015 | A1 |
20160004564 | Park | Jan 2016 | A1 |
20160086500 | Kaleal, III | Mar 2016 | A1 |
20160099892 | Palakovich et al. | Apr 2016 | A1 |
20160119478 | Sharpe et al. | Apr 2016 | A1 |
20160225187 | Knipp et al. | Aug 2016 | A1 |
20160294952 | Bodell et al. | Oct 2016 | A1 |
20170017522 | Daga | Jan 2017 | A1 |
20170031735 | Levien | Feb 2017 | A1 |
20170068423 | Napolitano | Mar 2017 | A1 |
20170078403 | Obata et al. | Mar 2017 | A1 |
20170124645 | Kortina et al. | May 2017 | A1 |
20170154637 | Chu et al. | Jun 2017 | A1 |
20170160813 | Divakaran et al. | Jun 2017 | A1 |
20170163750 | Sullivan et al. | Jun 2017 | A1 |
20170206095 | Gibbs et al. | Jul 2017 | A1 |
20170249104 | Moon et al. | Aug 2017 | A1 |
20170255496 | Deng | Sep 2017 | A1 |
20170269972 | Hosabettu et al. | Sep 2017 | A1 |
20170269975 | Wood et al. | Sep 2017 | A1 |
20170270431 | Hosabettu et al. | Sep 2017 | A1 |
20170289069 | Plumb et al. | Oct 2017 | A1 |
20170300648 | Charlap | Oct 2017 | A1 |
20170344889 | Sengupta et al. | Nov 2017 | A1 |
20170357478 | Piersol et al. | Dec 2017 | A1 |
20180018373 | Yazdian et al. | Jan 2018 | A1 |
20180047029 | Saso et al. | Feb 2018 | A1 |
20180053119 | Zeng et al. | Feb 2018 | A1 |
20180054523 | Zhang et al. | Feb 2018 | A1 |
20180082683 | Chen et al. | Mar 2018 | A1 |
20180095512 | Artstain et al. | Apr 2018 | A1 |
20180095624 | Osman et al. | Apr 2018 | A1 |
20180107930 | Aggarwal et al. | Apr 2018 | A1 |
20180191862 | Encarnacion et al. | Jul 2018 | A1 |
20180197542 | Horling et al. | Jul 2018 | A1 |
20180203847 | Akkiraju et al. | Jul 2018 | A1 |
20180211058 | Aunger et al. | Jul 2018 | A1 |
20180232571 | Bathiche et al. | Aug 2018 | A1 |
20180286395 | Li et al. | Oct 2018 | A1 |
20180307542 | Kawakami et al. | Oct 2018 | A1 |
20180314689 | Wang et al. | Nov 2018 | A1 |
20180335903 | Coffman et al. | Nov 2018 | A1 |
20180338038 | Ly et al. | Nov 2018 | A1 |
20180373547 | Dawes | Dec 2018 | A1 |
20180375807 | Krans et al. | Dec 2018 | A1 |
20190073660 | Aung et al. | Mar 2019 | A1 |
20190074987 | Wiener et al. | Mar 2019 | A1 |
20190187787 | White et al. | Jun 2019 | A1 |
20190188756 | Bradley et al. | Jun 2019 | A1 |
20190304213 | Chen et al. | Oct 2019 | A1 |
20190371315 | Newendorp | Dec 2019 | A1 |
20190391716 | Badr et al. | Dec 2019 | A1 |
20200013423 | Benway et al. | Jan 2020 | A1 |
20200098358 | Rakshit et al. | Mar 2020 | A1 |
Number | Date | Country |
---|---|---|
1 197 898 | Feb 2004 | EP |
2010009869 | Jan 2010 | WO |
2020009591 | Jan 2020 | WO |
Entry |
---|
Final Office Action received for U.S. Appl. No. 16/221,418 dated Mar. 8, 2021, 46 pages. |
Alam, et al. Predicting personality traits using multimodal information, Proceedings of the 2014 ACM Multi Media on Workshop on Computational Personality Recognition. ACM, 2014, 4 pages. |
Siddique, et al. Zara returns: Improved personality induction and adaptation by an empathetic virtual agent, Proceedings of ACL 2017, System Demonstrations (2017): pp. 121-126. |
Silva-Coira, et al. Intelligent Virtual Assistant for Gamified Environments, PACIS. 2016. 9 pages. |
Ivanovic, et al. Emotional agents-state of the art and applications, Computer Science and Information Systems 12.4 (2015): pp. 1121-1148. |
Feidakis, et al. A Dual-Modal System that Evaluates User's Emotions in Virtual Learning Environments and Responds Affectively, J. UCS 19.11 (2013): pp. 1638-1660. |
Gold, Hannah. “Sophia the Robot Would Like to Have a Child Named ‘Sophia’” [https://jezebel.com/sophia-the-robot-would-like-to-have-a-child-named- sophi-1820821870] Nov. 28, 2017, 3 pages. |
Stone, Zara. “Everything You Need to Know About Sophia, The World's First Robot Citizen” [https://www.forbes.com/sites/zarastone/2017/11/07/everything-you-need-to-know-about-sophia-the-worlds-first-robot-citizen/#158f4eeb46fa], Nov. 7, 2017, 8 pages. |
Kemeny, Richard. “Anti-Swearing AI Takes the Edge off Abuse on Reddit and Twitter New Scientist” [https://www.newscientist.com/article/2170650-anti-swearing-ai-takes-the-edge-off-abuse-on-reddit-and-twitter/] Jun. 4, 2018, 3 pages. |
Leviathan, et al. “Google Duplex: An AI System for Accomplishing Real-World Tasks Over the Phone” [https://ai.googleblog.com/2018/05/duplex-ai-system-for-natural-conversation.html], Google AI Blog, May 8, 2018, 7 pages. |
Holley, Peter. “This app knows when you've been in an accident—and then it calls 911 for you”. The Washington Post [https://www.washingtonpost.com/technology/2018/10/02/this-app-knows-when-youve-been-an-accident-then-it-calls-you/?noredirect=on]. Oct. 2, 2018. Retrieved Oct. 5, 2018. 3 pages. |
Non-Final Office Action received for U.S. Appl. No. 16/171,067 dated Dec. 2, 2019, 36 gages. |
Non-Final Office Action received for U.S. Appl. No. 16/129,267 dated Jan. 27, 2020, 28 pages. |
Non-Final Office Action received for U.S. Appl. No. 16/029,523 dated Jun. 15, 2020, 73 pages. |
Final Office Action received for U.S. Appl. No. 16/171,067 dated Jun. 12, 2020, 51 pages. |
Notice of Allowance received for U.S. Appl. No. 16/129,267 dated Jun. 10, 2020, 24 pages. |
Non-Final Office Action received for U.S. Appl. No. 16/221,418 dated Apr. 16, 2020, 44 pages. |
Final Office Action received for U.S. Appl. No. 16/221,418 dated Jul. 29, 2020, 38 pages. |
U.S. Appl. No. 16/129,267, filed Sep. 12, 2018. |
Final Office Action received for U.S. Appl. No. 16/029,523 dated Nov. 20, 2020, 32 pages. |
Non Final Office Action received for U.S. Appl. No. 16/221,418 dated Nov. 10, 2020, 40 pages. |
Non Final Office Action received for U.S. Appl. No. 16/171,067 dated Jul. 23, 2021, 56 pages. |
Final Office Action received for U.S. Appl. No. 16/171,067 dated Jan. 20, 2022, 46 pages. |
Number | Date | Country | |
---|---|---|---|
20200409749 A1 | Dec 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16129267 | Sep 2018 | US |
Child | 17017210 | US |