US10812343B2ActiveUtilityA1

Bot network orchestration to provide enriched service request responses

65
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Aug 3, 2017Filed: Aug 3, 2017Granted: Oct 20, 2020
Est. expiryAug 3, 2037(~11.1 yrs left)· nominal 20-yr term from priority
H04L 51/214H04L 51/02H04L 67/306H04L 67/562H04L 67/63H04L 67/567H04L 67/52H04L 67/60H04L 67/535G06N 3/006G06F 16/958G06F 9/547G06Q 30/00G06F 9/5005H04L 67/10G06N 20/00H04L 67/06G06F 16/13H04L 41/28H04L 41/5006H04L 41/046H04L 67/12H04L 67/2809H04L 67/2838H04L 67/327H04L 67/32H04L 67/18H04L 67/22
65
PatentIndex Score
1
Cited by
38
References
20
Claims

Abstract

An increasing number of bots become available each day that perform automated tasks over the Internet to help facilitate a variety of service requests for a user. Thus, embodiments are directed to an orchestration service configured to perform bot network orchestration in order to provide enriched responses to service requests and/or in order to find one accurate answer among large numbers of bot responses to a specific query. For example, a service request for a user that involves at least one service provider may be received. A plurality of bots to orchestrate a processing of the service request may be determined. Instructions may be provided to the bots associated with aspects of the service request, where each bot is selected based on an aspect of the service request. Responses received from the bots may be integrated into a service response and provided to a requestor of the service request.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method to perform bot network orchestration, the method comprising:
 receiving, at an orchestration service, a service request for a user, wherein the service request involves at least one service provider; 
 determining a plurality of bots to orchestrate a processing of the service request, wherein the plurality of bots are registered with the orchestration service and the registration includes a service response time for each of the plurality of bots; 
 employing a machine learning technique to determine a service preference, wherein the machine learning is learned using past experiences of the user; 
 providing instructions to the plurality of bots associated with aspects of the service request that define at least the service preference, wherein each bot is selected based on the aspects of the service request that includes at least the service preference; 
 receiving responses from the plurality of bots associated with the aspects of the service request; 
 integrating the received responses into a service response based on the service response time for each selected bot used to orchestrate the processing of the service request; and 
 providing the service response to a requestor of the service request. 
 
     
     
       2. The computer-implemented method of  claim 1 , wherein determining the plurality of bots to orchestrate the processing of the service request comprises one or more of:
 selecting custom bots for one or more services or custom bots for one or more of the aspects of the service request; 
 selecting operation-based bots configured to perform aggregation, filter, or search tasks; or 
 selecting general purpose bots. 
 
     
     
       3. The computer-implemented method of  claim 1 , further comprising:
 querying a server for information associated with the user, wherein each bot is selected based on the aspect of the service request and based on the information associated with the user. 
 
     
     
       4. The computer-implemented method of  claim 3 , wherein the queried server is configured to execute one or more of a productivity service, a directory service, or a presence service associated with the user, and wherein the information associated with the user includes one or more of user preferences, a location of the user, or a schedule of the user. 
     
     
       5. The computer-implemented method of  claim 4 , wherein the user preferences are based on one or more of a search history of the user, a browsing history of the user, a communication history of the user, an employee profile of the user, a social or professional network profile of the user, or preferences retrieved from a third party service. 
     
     
       6. The computer-implemented method of  claim 1 , wherein the aspects of the service request includes a response or an aspect of the response from a bot that was previously selected to orchestrate the processing of a previous request of the service request. 
     
     
       7. The computer-implemented method of  claim 6 , further comprising:
 employing a machine learning technique to determine an additional service preference for the user that was not included within the service request; and 
 one of:
 automatically providing the service response based on the additional service preference; or 
 providing service response options to the requestor for selection, wherein a suggested selection based on the additional service preference is indicated. 
 
 
     
     
       8. The computer-implemented method of  claim 7 , further comprising:
 automatically performing an action associated with the service response if a threshold level of confidence is met based on the additional service preference. 
 
     
     
       9. The computer-implemented method of  claim 1 , wherein the received responses represent one or more services from the plurality of services registered with the orchestration service that match a list of inputs included within the instructions, and the list of inputs is based on the aspects of the service request. 
     
     
       10. The computer-implemented method of  claim 9 , further comprising:
 receiving a service cost for each of the plurality of services upon registration with the orchestration service; 
 determining the plurality of bots to orchestrate the processing of the service request based on the service cost for each of the plurality of services; and 
 including the service cost associated with each of the one or more available services in the received responses. 
 
     
     
       11. The computer-implemented method of  claim 1 , further comprising:
 negotiating an offer with a service via a subset of the plurality of bots, wherein the subset of the plurality of bots negotiate the offer with a bot associated with the service or a server associated with the service; and 
 determining whether to provide a negotiated offer to the user based on the aspects of the service request and/or the information associated with the user. 
 
     
     
       12. The computer-implemented method of  claim 1 , further comprising:
 if one or more of the plurality of bots is associated with a service having restrictive access, receiving a user group or a user account identifier that is allowed to use the service. 
 
     
     
       13. A computing device configured to execute an orchestration service to perform bot network orchestration, the computing device comprising:
 a communication interface configured to facilitate communication between the computing device and a plurality of bots; 
 a memory configured to store instructions; and 
 one or more processors coupled to the communication interface and the memory, the one or more processors configured to:
 receive, at an orchestration service, a service request for a user, wherein the service request involves at least one service provider; 
 determine the plurality of bots to orchestrate a processing of the service request, wherein the plurality of bots are registered with the orchestration service and the registration includes a service response time for each of the plurality of bots; 
 employ a machine learning technique to determine a service preference, wherein the machine learning is learned using past experiences of the user; 
 provide instructions to the plurality of bots associated with aspects of the service request that define at least the service preference, wherein each bot is selected based on the aspects of the service request that includes at least the service preference; 
 receive responses from the plurality of bots associated with the aspects of the service request; 
 integrate the received responses into a service response based on the service response time for each selected bot used to orchestrate the processing of the service request; and 
 provide the service response to a requestor of the service request. 
 
 
     
     
       14. The computing device of  claim 13 , wherein the requestor is a service provider or the user. 
     
     
       15. The computing device of  claim 14 , wherein the service provider is a travel service, an information service, an online purchase service, a banking service, a financial service, a trading service, a real estate service, a healthcare provider service, or a maintenance service. 
     
     
       16. A system configured to perform bot network orchestration, the system comprising:
 a first server configured to provide user-related services that include information associated with a user; and 
 a second server configured to execute an orchestration service, the second server comprising:
 a communication interface configured to facilitate communication between the second server, the first server, a plurality of bots; 
 a memory configured to store instructions; and 
 one or more processors coupled to the communication interface and the memory, the one or more processors configured to:
 receive, at an orchestration service, a service request for the user, wherein the service request involves at least one service provider; 
 determine the plurality of bots to orchestrate a processing of the service request, wherein the plurality of bots are registered with the orchestration service and the registration includes a service response time for each of the plurality of bots; 
 employ a machine learning technique to determine a service preference, wherein the machine learning is learned using past experiences of the user; 
 provide instructions to the plurality of bots associated with aspects of the service request that define at least the service preference, wherein each bot is selected based on the aspects of the service request that includes at least the service preference and based on the information associated with the user; 
 receive responses from the plurality of bots associated with the aspects of the service request; 
 integrate the received responses into a service response based on the service response time for each selected bot used to orchestrate the processing of the service request; and 
 provide the service response to a requestor of the service request. 
 
 
 
     
     
       17. The system of  claim 16 , wherein the one or more processors are further configured to dynamically modify the service response based on feedback from Internet-of-things (IoT) services. 
     
     
       18. The system of  claim 16 , wherein the instructions provided to the plurality of bots associated with aspects of the service request are stored in one of:
 a database such that each service can read and/or write the instructions; 
 a file sent between each service such that each service can read, write, and/or append to the file; and 
 a cloud-based storage service such that each service can perform a call to the cloud-based storage service instructing the cloud-based storage service to add or modify contents. 
 
     
     
       19. The computer-implemented method of  claim 1 , wherein the employing the machine learning technique to determine the service preference includes the machine learning technique being one of at least case-based reasoning, rule-based systems, artificial neural networks, genetic algorithms, cellular automata, fuzzy models, multi-agent systems, swarm intelligence, reinforcement learning or hybrid systems. 
     
     
       20. The computer-implemented method of  claim 1 , wherein the orchestration service optimizes computing resources by only providing the instructions to the plurality of bots that meet the service preference.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.