Systems and methods for an omni-channel routing broker

US9420104B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9420104-B1
Application numberUS-201514829347-A
CountryUS
Kind codeB1
Filing dateAug 18, 2015
Priority dateAug 18, 2015
Publication dateAug 16, 2016
Grant dateAug 16, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Omni-channel routing broker technology is usable to improve the experience for customers and for workers using service channels, especially for very large enterprise service operation centers that have large pools of agents, helping businesses determine the relative priority for handling a variety of service channels, and to efficiently route issues accordingly. Omni-channel routing broker includes intelligent routing of service requests in a large, distributed service center operation, efficiently prioritizing the routing of work across organizations to agents based on availability, capacity and priority—in a multi-tenant environment. The disclosed methods are usable for managing digital data for many tenants to software instances, including groups of users who share common access with a specific set of privileges to a software instance of at least one application. The disclosed technology makes possible the delivery of an improved performance from routing 3-4 requests per second to routing 100 requests per second.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of routing of service requests in a large, distributed service center, the method including: across multiple nodes having disjoint memory spaces, tracking presence and status of agents in a plurality of disjoint agent pools and publishing update events to at least one event queue; across one or more processors that have access to a node-based database used to track agent presence and status in one or more disjoint agent pools, processing selected update and request events, including: updating the node-based database from the selected update events; and publishing the selected request events to at least one node-based routing queue; on a single thread per organization running on a processor having memory-bus access to the node-based database: making routing decisions on the request events using the node-based database and updating the node-based database accordingly; and publishing routing decision events to the event queue; implementing the routing decision events, including: testing the routing decision events for consistency with a master agent presence and status database; and making consistency-qualified updates to the master agent presence and status database and publishing update events accordingly. 2. The method of claim 1 , wherein: the master presence and status database stores agent presence and status data across agent pools serving the multiple nodes; and the node-based database is a subset of the master presence and status database that is eventually consistent with the master presence and status database as a result of processing events from the event queue. 3. The method of claim 1 , further including: processing the selected update and request events from the event queue; and on the single thread per organization, reading service request events from the node-based routing queue. 4. The method of claim 1 , wherein the distributed service center handles service requests for a plurality of organizations, each organization having an agent pool disjoint from agent pools of other organizations, and having one or more work queues for the organization's disjoint agent pool. 5. The method of claim 1 , further including: tracking the presence and status of agents in the master presence and status database using multiple threads per node on the multiple nodes; and updating the node-based database and publishing to the node-based routing queue using multiple threads. 6. The method of claim 1 , further including: in case of lack of consistency between a particular routing decision and the master presence and status database: publishing a routing decision rollback event to the event queue and not applying the particular routing decision to the master presence and status database; and updating the node-based database to roll back the routing decision. 7. The method of claim 1 , applied to managing digital data for a plurality of tenants to software instances, each tenant of the plurality of tenants comprising a group of users who share a common access with a specific set of privileges to a software instance of at least one application, wherein each tenant includes one or more of the organizations. 8. The method of claim 1 , wherein the agent pool serving the organization includes agents working on a plurality of app servers, the method further including: operating a single thread for routing service requests to the agent pool serving the organization across the plurality of app servers used by the agent pool. 9. The method of claim 1 , wherein the agent pool serving the organization includes agents working on a plurality of app servers, geographically disbursed across pods operating in different data centers, the method further including: operating a single thread for routing service requests to the agent pool serving the organization across the plurality of app servers, geographically disbursed across pods operating in different data centers, used by the agent pool. 10. A system of routing of service requests in a large, distributed service center, the system including: a processor, memory coupled to the processor, and computer instructions loaded into the memory that, when executed, cause the processor to implement a process that includes: across multiple nodes having disjoint memory spaces, tracking presence and status of agents in a plurality of disjoint agent pools and publishing update events to at least one event queue; across one or more processors that have access to a node-based database used to track agent presence and status in one or more disjoint agent pools, processing selected update and request events, including: updating the node-based database from the selected update events; and publishing the selected request events to at least one node-based routing queue; on a single thread per organization running on a processor having memory-bus access to the node-based database: making routing decisions on the requests events using the node-based database and updating the node-based database accordingly; and publishing routing decision events to the event queue; implementing the routing decision events, including: testing the routing decision events for consistency with a master agent presence and status database; and making consistency-qualified updates to the master agent presence and status database and publishing update events accordingly. 11. The system of claim 10 , wherein: the master presence and status database stores agent presence and status data across agent pools serving the multiple nodes; and the node-based database is a subset of the master presence and status database that is eventually consistent with the master presence and status database as a result of processing events from the event queue. 12. The system of claim 10 , further including: processing the selected update and request events from the event queue; and on the single thread per organization, reading service request events from the node-based routing queue. 13. The system of claim 10 , wherein the distributed service center handles service requests for a plurality of organizations, each organization having an agent pool disjoint from agent pools of other organizations, and having one or more work queues for the organization's disjoint agent pool. 14. The system of claim 10 , further including: tracking the presence and status of agents in the master presence and status database using multiple threads per node on the multiple nodes; and updating the node-based database and publishing to the node-based routing queue using multiple threads. 15. The system of claim 10 , further including: in case of lack of consistency between a particular routing decision and the master presence and status database: publishing a routing decision rollback event to the event queue and not applying the particular routing decision to the master presence and status database; and updating the node-based database to roll back the routing decision. 16. The system of claim 10 , applied to managing digital data for a plurality of tenants to software instances, each tenant of the plurality of tenants comprising a group of users who share a common access with a specific set of privileges to a software instance of at least one application, wherein each tenant includes one or more of the organizations. 17. The system of claim 10 , wherein the agent pool serving the organization includes agents working on a plurality of app servers, the system further including: a single thread, for routing service requests to the agen

Assignees

Inventors

Classifications

  • H04M3/5191Primary

    interacting with the Internet · CPC title

  • H04M3/5232Primary

    Call distribution algorithms · CPC title

  • Electricity · mapped topic

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • After-sales · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9420104B1 cover?
Omni-channel routing broker technology is usable to improve the experience for customers and for workers using service channels, especially for very large enterprise service operation centers that have large pools of agents, helping businesses determine the relative priority for handling a variety of service channels, and to efficiently route issues accordingly. Omni-channel routing broker incl…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification H04M3/5191. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 16 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).