Middle-tier messaging system
The communication between the messaging interface in the customer service system and the message provider is managed through the intermediate layer messaging system, solving the problem of repeated communications of customers on different channels and reducing development costs.
Patent Information
- Application Number
- CN201980043373.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-06-28
- Filing Date
- 2019-06-27
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2039-06-27
AI Technical Summary
Existing customer service systems require customers to restart communication with customer representatives on different messaging channels, and developers need to integrate services from each messaging provider separately, resulting in high costs and waste of resources.
It provides an intermediate layer messaging system to manage communication between the messaging interface and the message provider through the intermediate layer messaging service, recommend appropriate channels and promote channel switching, and reduce the integration work of developers.
Achieves seamless communication conversion between customers and customer representatives, reducing waiting time in the customer experience and problem-solving difficulties, while reducing the integration and maintenance costs of developers.
Smart Images

Figure CN112385191B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a continuation-of-and claims priority to U.S. patent application No. 16 / 022,073, filed on June 28, 2018, which is incorporated herein by reference in its entirety. Technical Field
[0003] The present disclosure relates generally to messaging systems, and more particularly, to a middle-tier messaging system that manages message communications between a messaging interface and a message provider. Background Art
[0004] Service providers (such as payment service providers, merchants, retailers, and other service providers) can provide customer service systems to customers so that customers can ask or receive support for questions or problems that customers may encounter with the products, services, or systems of the service providers with which they are interacting. The customer service system can include several support platforms, including contact centers, chatbots, interactive voice response (IVR) systems, and / or customer service websites where customers can interact with customer service representatives. Each of these support platforms can have several other interaction channels between customers and customer service representatives or other support. For example, through a messaging interface provided by a customer service webpage or application, customers can use a messaging interface (such as an instant messaging platform, email, asynchronous messaging, and / or text messaging) to interact with one or more messaging provider services such as artificial intelligence (AI) programs (e.g., robots) or live customer service representatives. Live customer support is often preferred when handling customer support. However, contact centers that employ customer representatives are expensive to provide and may become unavailable to interact with customers due to certain events or times of the day, thereby reducing the customer experience when resolving customer issues due to waiting times.
[0005] Bot platforms can alleviate some of the frequent questions or issues that customer service systems receive from customers, and are often presented to the customer first to determine whether a bot can resolve the issue. However, when the bot cannot resolve the issue, the customer may need to contact a live customer representative on another messaging channel and provided by a different messaging provider. The customer is required to restart communication with the customer representative on that messaging channel, and the customer often needs to provide all information and communications provided to the chatbot to the live customer service representative again.
[0006] Furthermore, developers who need a customer service system must integrate their customer service system with each messaging provider service individually. For example, each bot and / or live messaging service may require a separate integration. However, if the bot needs to be changed, the developer must reintegrate the customer service system with another messaging provider service, which is expensive in terms of time and resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is a schematic diagram illustrating an embodiment of a middle-tier messaging system;
[0008] Figure 2 It is an icon Figure 1 A schematic diagram of an embodiment of a middle-layer message delivery device of a middle-layer message delivery system;
[0009] Figure 3 It is an icon Figure 1 A schematic diagram of an embodiment of a user computing device of a middle-tier messaging system;
[0010] Figure 4 It is an icon Figure 1 A schematic diagram of an embodiment of a service provider device of a middle-tier messaging system;
[0011] Figure 5 It is an icon Figure 1 A schematic diagram of an embodiment of a message provider service device of a middle-tier messaging system;
[0012] Figure 6 It is an icon Figure 1 A schematic diagram of an embodiment of a customer service terminal of a middle-layer messaging system;
[0013] Figure 7 It is an icon Figure 1 A schematic diagram of an embodiment of a policy service device of a middle-layer messaging system;
[0014] Figure 8 It is an icon Figure 1 A schematic diagram of an embodiment of a domain service device of a middle-layer messaging system;
[0015] Figure 9 is a flow chart illustrating an embodiment of a method of providing a communication session using a middle-tier messaging system;
[0016] Figure 10A It is an icon Figure 9 A flowchart of an embodiment of a method of providing a communication session using a middle-tier messaging system;
[0017] Figure 10B It is an icon Figure 9 and Figure 10A A flowchart of additional steps of a method of providing a communication session using a middle-tier messaging system;
[0018] Figure 11 is a flow chart illustrating an embodiment of a mid-tier messaging system switching between an IVR channel and a messaging channel;
[0019] Figure 12 is a perspective diagram illustrating an embodiment of a user device; and
[0020] Figure 13 is a schematic diagram illustrating an embodiment of a computer system.
[0021] The embodiments of the present disclosure and their advantages are best understood by referring to the detailed description below. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures, wherein the various displays herein are for the purpose of illustrating the embodiments of the present disclosure rather than for the purpose of limiting the embodiments of the present disclosure. DETAILED DESCRIPTION
[0022] The present disclosure provides systems and methods for a middle-tier messaging system that provides a middle-tier messaging service that facilitates communication over a messaging channel. The messaging channel includes a messaging interface and a messaging provider service that provide messaging communication between each other. The middle-tier messaging service can interact with domain services and policy services to make channel recommendations to users, recommending which messaging interface and messaging provider the user should use to establish a communication session to resolve a customer's inquiry. If the issue cannot be resolved using a first messaging channel, the middle-tier messaging service will provide a recommendation for a second channel and facilitate the channel switch, making the transition seamless for the user. For example, if a user interacting with a bot messaging provider and the middle-tier messaging system determines that the user should interact with a live messaging provider, the middle-tier messaging system can transition the user to interact with the live messaging provider without leaving the messaging interface the user was currently interacting with. When providing this switching between messaging channels, the middle-tier messaging service can perform cross-channel authentication using authentication information provided when establishing the first messaging channel. Additionally, the middle-tier messaging service may provide a message history of the first messaging channel to the second messaging channel, enabling a messaging provider and / or messaging interface to access message communications provided on the first channel.
[0023] Other benefits of a middle-tier messaging system can be appreciated by developers of customer support systems. Due to its intermediary nature, the middle-tier messaging service provides a platform that can be easily accessed and configured by various message providers, service providers, and / or messaging interfaces. The use of application programming interfaces (APIs) allows the middle-tier messaging system to independently integrate message providers, service providers, messaging interfaces, domain services, and policy services. Consequently, adding, removing, and updating message providers, service providers, and / or messaging interfaces requires less time and processing resources.
[0024] Now refer to Figure 1 , illustrates an embodiment of a middle-tier messaging system 100. Middle-tier messaging system 100 includes a user computing device 102, a service provider device 104, a domain service device 106, a message provider service device 110, a message provider service device 112, a customer service terminal 114, a middle-tier messaging device 116, a policy service device 118, and a messaging database 120, communicating via a network 122. Although only one user computing device 102, service provider device 104, customer service terminal 114, policy service device 118, and domain service device 106 is illustrated as communicating with middle-tier messaging device 116, those skilled in the art, having the present disclosure, will recognize that any number of these devices can communicate with middle-tier messaging device 116 via network 122 while remaining within the scope of the present disclosure. In one embodiment, user computing device 102 may be provided by a desktop computing system, a laptop / notebook computing system, a tablet computing system, a mobile phone, a wired phone, a wearable computing device, and / or other user devices known in the art.
[0025] The network 122 may be implemented as a single network or a combination of multiple networks. For example, in various embodiments, the network 122 may include the Internet and / or one or more intranets, wired networks, wireless networks, and / or other suitable types of networks. The network 122 may include a data network, a public switched telephone network, and / or a converged network over which both data communications and voice communications are transmitted.
[0026] The service provider device 104 may include a service provider server, which may include multiple servers and computing devices (e.g., desktop computing device(s), laptop / notebook computing device(s), tablet computing device(s), mobile phone(s), etc.) for providing services to users via the user computing device 102. For example, the service provider device 104 may provide payment services for facilitating online and / or mobile payments between retailers / merchants and customers. In other embodiments, the service provider device 104 may be an online retailer system configured to present and sell products to customers, a gaming system that provides online games to customers, a content provider system that provides content such as streaming video to customers, a general customer support system for an organization, a banking system, a social networking system, and / or other systems belonging to an organization that requires customer support. The service provider device 104 may include multiple servers and systems for providing services and / or products related to the service provider's business.
[0027] The service provider device 104 may provide a messaging interface to the user computing device 102 via a network application. The messaging interface may be included at the service provider device 104 or may be provided by a separate messaging interface service device, which may include a plurality of servers and computing devices (e.g., (one or more) desktop computing devices, (one or more) laptop / notebook computing devices, (one or more) tablet computing devices, (one or more) mobile phones, etc.) for providing messaging interface services to users through the user computing device 102. For example, messaging interface services may be provided by PayPal, Facebook Messenger, and others. TM , WhatsApp TM , Twitter TM , Amazon Alexa TM , Short Message Service (SMS) messaging, email, asynchronous messaging, and / or other text messaging services and / or speech-to-text services that will be apparent to those skilled in the art having this disclosure.
[0028] The middle-tier messaging system 100 may include a plurality of message provider service devices 110 and 112. Each message provider service device 110 and / or 112 may include a message provider service server, which may include a plurality of servers and computing devices (e.g., desktop computer(s), laptop / notebook computing device(s), tablet computing device(s), mobile phone(s), etc.) for providing message provider services to users via user computing devices 102. The message provider service devices 110 and / or 112 may include a live chat platform (e.g., a message provider service that allows a representative to communicate with a user via a messaging interface), an artificial intelligence (AI) platform (e.g., a bot platform in which a computer program is configured to communicate with a user via a messaging interface), an asynchronous messaging platform, an email platform, and / or any other communication platform voice and / or text that would be apparent to one of ordinary skill in the art having possession of this disclosure. The bot platform may include, for example, IBM Watson TM 、Inbenta TM Amazon Lex TM 、Flamingo TM Snaps TM 、Google Dialogflow TM , Microsoft LUIS TM and / or any other bot platform that would be apparent to one skilled in the art having this disclosure. Live chat platforms may include, for example, Genesys TM 、LivePerson TM 、LiveChat TM 、WebChat TM and / or any other live chat platform that would be apparent to one of skill in the art having possession of this disclosure.
[0029] The middle-tier messaging system 100 also includes a customer service terminal 114 from which a customer service representative can assist in providing customer service. The customer service terminal can include a telephone for voice communications and / or a computing device for receiving information related to the communication session and displaying information, video, and / or message communications to the customer service representative. As can be seen in the illustrated embodiment, the customer service terminal 114 communicates directly with the messaging provider service device 112. However, it is contemplated that the customer service terminal 114 can communicate with either component of the messaging provider service devices 110 and 112 via the network 122 and can be provided via other configurations that are contemplated to fall within the scope of the present disclosure.
[0030] The middle-tier messaging system 100 may include a policy service device 118. The policy service device 118 may include a policy service server, which may include multiple servers and computing devices (e.g., desktop computing device(s), laptop / notebook computing device(s), tablet computing device(s), mobile phone(s), etc.) for providing policy services for the middle-tier messaging system 100. For example, the policy service device 118 may include one or more policy services that determine a user's intent to interact with the middle-tier messaging system 100, recommend communication channels to the user, map the user's experience with the middle-tier messaging system 100, perform natural language processing, provide middle-tier messaging system information (e.g., live chat runtime, estimated wait time for live chat, and / or other information), perform machine learning, and / or any other services discussed below and that will be apparent to one skilled in the art having this disclosure.
[0031] The middle-tier messaging system 100 may include a domain service device 106. The domain service device 106 may include a domain service server, which may include multiple servers and computing devices (e.g., (one or more) desktop computing devices, (one or more) laptop / notebook computing devices, (one or more) tablet computing devices, (one or more) mobile phones, etc.) for providing domain services for the middle-tier messaging system 100. For example, the domain service device 106 may include one or more domain services, which include user authentication services, information management services (e.g., Oracle Knowledge Management Services, etc.), and domain services such as user authentication services, information management services (e.g., Oracle Knowledge Management Services, etc.). TM ), notification services (e.g., Universal Notification Platform (UNP)), and / or other domain services that will be apparent to those skilled in the art having possession of this disclosure and are discussed in more detail below.
[0032] Middle-tier messaging system 100 includes a messaging database 120, which may include one or more storage systems that are in communication with middle-tier messaging system 100 via network 122 and / or may be provided in conjunction with any of the server devices provided on middle-tier messaging system 100. In various embodiments, messaging database 120 may include middle-tier messaging system logs that include error logs for middle-tier messaging system 100, configuration of messaging channels, user experiences, messaging interaction logs (e.g., identifiers, intents, durations, results, etc.), messages regarding communication sessions between users and messaging provider services, and / or any other information about middle-tier messaging system 100 discussed below and / or that will be apparent to one of ordinary skill in the art having the present disclosure. In addition, middle-tier messaging system 100 may include third-party databases that may be in communication with middle-tier messaging system 100 via network 122. The third party database may provide third party data such as social media data, third party service provider breakdowns, credit bureau data, federal regulations and regulatory data, and other third party data for providing customer service that will be apparent to one skilled in the art having this disclosure.
[0033] The middle-tier messaging system 100 may include a middle-tier messaging device 116. The middle-tier messaging device 116 may include a middle-tier messaging server, which may include multiple servers and / or computing devices (e.g., desktop computing devices, laptop / notebook computing devices, tablet computing devices, mobile phones, etc.) for providing middle-tier messaging services to other devices (e.g., user computing devices 102, service provider devices 104, messaging provider service devices 110 and 112, customer service terminals 114, policy service devices 118, messaging databases 120, domain service devices 106, and / or any other devices that may be used in the methods and systems discussed below). As discussed in more detail below, the middle-tier messaging device 116 may integrate, facilitate, and / or otherwise manage the different components of the middle-tier messaging system so that there is seamless integration of communication channels, different providers, domain services, policy services, messaging interfaces, messaging provider services, and messaging databases and / or other services. The middle tier messaging device 116 may provide a seamless user experience when establishing communication sessions with the messaging provider service devices 110 and 112 and / or provide developers with the ability to easily remove, add, and / or change services provided by the various platforms and vendors that may be included in the middle tier messaging system 100 .
[0034] Now refer to Figure 2 , illustrates an embodiment of a middle-tier messaging device 200. In one embodiment, the middle-tier messaging device 200 may be the middle-tier messaging device 116 discussed above. In the illustrated embodiment, the middle-tier messaging device 200 includes a chassis 202 that houses components of the middle-tier messaging device 200, only some of which are illustrated. Figure 2 For example, the rack 202 may house a processing system (not shown) and a non-transitory memory system (not shown) including instructions that, when executed by the processing system, cause the processing system to provide a middle-tier messaging engine 204 configured to perform the functions of the middle-tier messaging engine 204 and / or the middle-tier messaging device 200 discussed below. In a specific example, the middle-tier messaging engine 204 may be software or instructions stored on a computer-readable medium that provides a plurality of messaging application program interfaces (APIs) 206 to provide functionality such as, for example, a tracking engine 208, a privacy engine 210, a session management engine 212, a message normalization engine 214, a channel recommendation engine 216, a channel switching engine 218, a cross-channel authorization engine 220, a configuration engine 222, a session creation engine 224, and / or any of the other functionality discussed below.
[0035] The rack 202 may further house a communication system 226 that is coupled to the middle-tier messaging engine 204 (e.g., via a coupling between the communication system 226 and the processing system) and is configured to provide for communication over the network 122 as described in detail below. The communication system 226 may be provided by a network interface controller (NIC), a wireless communication subsystem (e.g., a WiFi communication subsystem, a Bluetooth communication subsystem, a near field communication (NFC) subsystem, and / or other wireless communication subsystems known in the art), and / or any other communication components that would be apparent to one skilled in the art having possession of this disclosure. The rack 202 may also house a storage system 228 that is coupled to the middle-tier messaging engine 204 via the processing system. The storage system 228 may include Figure 11 and may store all or a portion of the messaging database 120 and may store system logs 230, configurations 232, message histories 234, messaging interaction logs 236, and / or any other data and / or instructions that would be apparent to one skilled in the art having the present disclosure. Although storage system 228 has been illustrated as being housed in chassis 202 of middle-tier messaging appliance 200, one skilled in the art will recognize that it may be connected to middle-tier messaging engine 204 via network 122 without departing from the scope of the present disclosure. Although a specific middle-tier messaging appliance 200 has been illustrated and described, one skilled in the art having the present disclosure will recognize that the middle-tier messaging appliance may include other components and / or component configurations for performing the general functionality and the functionality discussed below, while still being within the scope of the present disclosure.
[0036] Now refer to Figure 3 , illustrates an embodiment of a user computing device 300, which in some embodiments may be the user computing device 102 discussed above. Thus, in some examples, the user computing device 300 may be provided by one or more user computing devices such as a desktop computing system, a laptop / notebook computing system, a tablet computing system, a mobile phone, an application specific integrated circuit (ASIC) computing system, and / or other computing devices known in the art while still being within the scope of the present disclosure.
[0037] In the illustrated embodiment, the user computing device 300 includes a rack 302 that houses the components of the user computing device 300, only some of which are illustrated. Figure 3 For example, the rack 302 can house a processing system (not shown) and a non-transitory memory system (not shown) that includes instructions that, when executed by the processing system, cause the processing system to provide an application engine 304 that is configured to perform the functions of the application engine and user computing device discussed below in accordance with the method 900. For example, the device engine 304 can include a web browser and / or native application that can access services provided by the service provider device, as well as provide any of the other functions of the application engine discussed below. The application engine 304 can also include a messaging interface engine 306 that is configured to provide a messaging interface to the user computing device 300, as well as perform any of the other functions of the messaging interface engine discussed below.
[0038] Rack 302 may further house a communication system 308, which is coupled to application engine 304 (e.g., via a coupling between communication system 308 and a processing system) and configured to provide for communication via network 122, as described in detail below. Communication system 308 may be provided by a network interface controller (NIC), a wireless communication subsystem (e.g., a WiFi communication subsystem, a Bluetooth communication subsystem, a near-field communication (NFC) subsystem, and / or other wireless communication subsystems known in the art), and / or any other communication components that would be apparent to one skilled in the art having possession of this disclosure. Rack 302 may also house a storage system 310, which is coupled to the application engine via the processing system. Storage system 310 may store rules, settings, and / or other data utilized by application engine 304 and / or messaging interface engine 306 to provide the functionality discussed below. While storage system 310 is illustrated as being housed within rack 302 of user computing device 300, one skilled in the art will recognize that it may be connected to application engine 304 via network 122 without departing from the scope of this disclosure. Although a specific user computing device 300 has been illustrated and described, those skilled in the art, having possession of the present disclosure, will recognize that the user computing device may include other components and / or configurations of components for performing the general functionality and the functionality discussed below, while still falling within the scope of the present disclosure.
[0039] Now refer to Figure 4 , illustrates an embodiment of a service provider device 400, which in some embodiments may be the service provider device 104 discussed above. Thus, in some examples, the service provider device 400 may be provided by one or more server devices. However, those skilled in the art, having the present disclosure, will recognize that the service provider device 400 may be provided by any of a variety of computing devices, such as a desktop computing system, a laptop / notebook computing system, a tablet computing system, a mobile phone, an application specific integrated circuit (ASIC) computing system, and / or other computing devices known in the art, while still falling within the scope of the present disclosure.
[0040] In the illustrated embodiment, the service provider equipment 400 includes a rack 402 that houses components of the service provider equipment 400, only some of which are illustrated. Figure 4For example, the rack 402 may house a processing system (not shown) and a non-transitory memory system (not shown) that includes instructions that, when executed by the processing system, cause the processing system to provide a service engine 404 that is configured to perform the functions of a service engine and a service provider device discussed below in accordance with the method 900. For example, the service engine 404 may include an application engine 406 that is configured to provide applications, web pages, and other service applications to user devices, as well as provide any of the other functions of an application engine discussed below. The service engine 404 may also include a messaging interface engine 408 that is configured to provide a messaging interface to the user computing device 102, as well as perform any of the other functions of a messaging interface engine discussed below.
[0041] The rack 402 may also house a communication system 410 that is coupled to the service engine 404 (e.g., via a coupling between the communication system 410 and the processing system) and is configured to provide for communication over the network 122 as described in detail below. In the illustrated embodiment, the service provider device 400 also includes a storage system 412 having a database that stores user information 414a, applications 414b, content 414c, and any other information used to provide the functionality discussed in more detail below. Although the service provider device 400 is illustrated as including a rack 402 that houses the storage system 412, those skilled in the art having the present disclosure will recognize that the storage system 412 may be provided in a different device / rack than the service provider device 400 (e.g., a network attached storage device and / or any other device or storage system known in the art) while still within the scope of the present disclosure. Although a specific service provider device 400 has been illustrated and described, those skilled in the art, having possession of this disclosure, will recognize that the service provider device may include other components and / or configurations of components for performing the general functionality and the functionality discussed below while remaining within the scope of this disclosure.
[0042] Now refer to Figure 5, illustrates an embodiment of a message provider service device 500, which in some embodiments may be the message provider service device 110 or 112 discussed above. Thus, in some examples, the message provider service device 500 may be provided by one or more server devices. However, those skilled in the art having the present disclosure will recognize that the message provider service device 500 may be provided by any of a variety of computing devices such as a desktop computer system, a laptop / notebook computing system, a tablet computing system, a mobile phone, an application specific integrated circuit (ASIC) computing system, and / or other computing devices known in the art, while still within the scope of the present disclosure.
[0043] In the illustrated embodiment, the messaging provider service device 500 includes a chassis 502 that houses the components of the messaging provider service device 500, only some of which are illustrated. Figure 5 For example, the rack 502 may house a processing system (not shown) and a non-transitory memory system (not shown) including instructions that, when executed by the processing system, cause the processing system to provide a message provider engine 504 configured to perform the functions of a message provider engine and a message provider service device discussed below in accordance with the method 900. For example, the message provider engine 504 may provide a live chat platform, a bot platform, an asynchronous messaging platform, an email platform, and / or any other communication platform (voice and / or text) apparent to one of ordinary skill in the art having the present disclosure, as well as provide any of the other functions of the message provider engine discussed below.
[0044] The chassis 502 may further house a communication system 506, which is coupled to the message provider engine 504 (e.g., via a coupling between the communication system 506 and the processing system) and is configured to provide for communication via the network 122, as described in detail below. The communication system 506 may be provided by a network interface controller (NIC), a wireless communication subsystem (e.g., a WiFi communication subsystem, a Bluetooth communication subsystem, a near-field communication (NFC) subsystem, and / or other wireless communication subsystems known in the art), and / or any other communication components that would be apparent to one skilled in the art having possession of this disclosure. The chassis 502 may also house a storage system 508, which is coupled to the application engine via the processing system. The storage system 508 may store rules, settings, and / or other data utilized by the message provider engine 504 to provide the functionality discussed below. While the storage system 508 is illustrated as being housed within the chassis 502 of the message provider service device 500, one skilled in the art will recognize that it may be connected to the message provider engine 504 via the network 122 without departing from the scope of this disclosure. Although a specific message provider service device 500 has been illustrated and described, those skilled in the art having possession of the present disclosure will recognize that the message provider service device may include other components and / or component configurations for performing the general functionality and the functionality discussed below while still being within the scope of the present disclosure.
[0045] Now refer to Figure 6 , illustrates an embodiment of a customer service terminal 600, which in some embodiments may be the customer service terminal 114 discussed above. Thus, in some examples, the customer service terminal 600 may be provided by one or more user computing devices such as a desktop computing system, a laptop / notebook computing system, a tablet computing system, a mobile phone, an application specific integrated circuit (ASIC) computing system, and / or other computing devices known in the art, while still within the scope of the present disclosure.
[0046] In the illustrated embodiment, the customer service terminal 600 includes a housing 602 that houses the components of the customer service terminal 600, only some of which are illustrated. Figure 6For example, rack 602 may house a processing system (not shown) and a non-transitory memory system (not shown), the non-transitory memory system including instructions that, when executed by the processing system, cause the processing system to provide a customer service interface engine 604 configured to perform the functions of an application engine and a user computing device discussed below in accordance with method 900. For example, customer service interface engine 604 may provide a messaging interface to customer service terminal 600 that allows a representative to communicate with a user, as well as perform any of the other functions of the customer service interface engine discussed below.
[0047] Rack 602 may further house a communication system 606, which is coupled to customer service interface engine 604 (e.g., via a coupling between communication system 606 and a processing system) and configured to provide for communication via network 122, as described in detail below. Communication system 606 may be provided by a network interface controller (NIC), a wireless communication subsystem (e.g., a WiFi communication subsystem, a Bluetooth communication subsystem, a near-field communication (NFC) subsystem, and / or other wireless communication subsystems known in the art), and / or any other communication components that would be apparent to one skilled in the art having possession of this disclosure. Rack 602 may also house a storage system 608, which is coupled to customer service interface engine 604 via the processing system. Storage system 608 may store rules, settings, and / or other data utilized by customer service interface engine 604 to provide the functionality discussed below. While storage system 608 is illustrated as being housed within rack 602 of customer service terminal 600, one skilled in the art will recognize that it may be connected to customer service interface engine 604 via network 122 without departing from the scope of this disclosure. Although a specific customer service terminal 600 has been illustrated and described, those skilled in the art having possession of the present disclosure will recognize that the customer service terminal may include other components and / or component configurations for performing the general functionality and the functionality discussed below while still being within the scope of the present disclosure.
[0048] Now refer to Figure 7 , illustrates an embodiment of a policy service device 700. The policy service device, in one embodiment, may be the policy service device 118 discussed above. In the illustrated embodiment, the policy service device 700 includes a chassis 702 that houses the components of the policy service device 700, only some of which are illustrated. Figure 7For example, rack 702 may house a processing system (not shown) and a non-transitory storage system (not shown) that includes instructions that, when executed by the processing system, cause the processing system to provide a policy services engine 704 that is configured to perform the functions of a policy services engine and / or policy services device discussed below. In a specific example, policy services engine 704 may be software or instructions stored on a computer-readable medium that provides a variety of policy services, such as, for example, a natural language processing (NLP) engine 710, a time of operation (HOO) engine 712, an estimated wait time (EWT) engine 714, a channel recommendation engine 716, an intent / best next action (BNA) engine 718, a tracking engine 720, and / or provides any of the other functionality discussed below.
[0049] The chassis 702 may further house a communication system 706 that is coupled to the policy service engine 704 (e.g., via a coupling between the communication system 706 and the processing system) and configured to provide for communication over the network 122 as described in detail below. The communication system 706 may be provided by a network interface controller (NIC), a wireless communication subsystem (e.g., a WiFi communication subsystem, a Bluetooth communication subsystem, a near field communication (NFC) subsystem, and / or other wireless communication subsystems known in the art), and / or any other communication components that would be apparent to one skilled in the art having possession of this disclosure. The chassis 702 may also house a storage system 708 that is coupled to the policy service engine 704 via the processing system. The storage system 708 may store rules, settings, and / or other data utilized by the policy service engine 704 to provide the functionality discussed below. While storage system 708 has been illustrated as being housed in chassis 702 of policy service appliance 700, those skilled in the art will recognize that it may be connected to policy service engine 704 via network 122 without departing from the scope of the present disclosure. While a specific policy service appliance 700 has been illustrated and described, those skilled in the art, having possession of this disclosure, will recognize that the policy service appliance may include other components and / or configurations of components for performing the general functionality and the functionality discussed below, while remaining within the scope of the present disclosure.
[0050] Now refer to Figure 8 , illustrates an embodiment of a domain service device 800. In one embodiment, the domain service device 800 may be the domain service device 121 discussed above. In the illustrated embodiment, the domain service device 800 includes a chassis 802 that houses the components of the domain service device 800, only some of which are illustrated. Figure 8For example, rack 802 may house a processing system (not shown) and a non-volatile memory system (not shown) that includes instructions that, when executed by the processing system, cause the processing system to provide a domain services engine 804 that is configured to perform the functions of a domain services engine and / or domain services device discussed below. In particular embodiments, domain services engine 804 may be software or instructions stored on a computer-readable medium that provides a variety of domain services, such as, for example, an authorization engine 810, a notification engine 812, a risk engine 814, a routing engine 816, and / or any of the other functionality discussed below.
[0051] The chassis 802 may further house a communication system 806 that is coupled to the domain services engine 804 (e.g., via a coupling between the communication system 806 and the processing system) and configured to provide for communication over the network 122 as described in detail below. The communication system 806 may be provided by a network interface controller (NIC), a wireless communication subsystem (e.g., a WiFi communication subsystem, a Bluetooth communication subsystem, a near field communication (NFC) subsystem, and / or other wireless communication subsystems known in the art), and / or any other communication components that would be apparent to one skilled in the art having the present disclosure. The chassis 802 may also house a storage system 808 that is coupled to the domain services engine 804 via the processing system. The storage system 808 may include user account data 820, cached data 822, and / or any other data and / or instructions that would be apparent to one skilled in the art having the present disclosure. While storage system 808 has been illustrated as being housed in rack 802 of domain services appliance 800, those skilled in the art will recognize that it may be connected to domain services engine 804 via network 122 without departing from the scope of this disclosure. While a specific domain services appliance 800 has been illustrated and described, those skilled in the art, in possession of this disclosure, will recognize that a domain services appliance may include other components and / or configurations of components for performing the general functionality and the functionality discussed below, while remaining within the scope of this disclosure.
[0052] Now refer to Figure 1 、 Figure 2 、 Figure 3 、 Figure 4 、 Figure 5 、 Figure 6 、 Figure 7 、 Figure 8 、 Figure 9 、 Figure 10A and Figure 10B, illustrates a method 900 for providing a communication session using middle-tier messaging. In some embodiments of method 900 described below, a middle-tier messaging system may perform method 900. For example, the middle-tier messaging system may receive an indication from a user that a communication session is being established with a service provider system. The middle-tier messaging system may initiate a middle-tier session and recommend a communication channel to provide the communication session. In response to receiving an indication that a communication channel is to be used, the middle-tier messaging system may establish a communication channel between a messaging service provider and a messaging interface at a user device. For example, a payment service provider, such as PayPal, Inc. of San Jose, California, may utilize a middle-tier messaging service device to perform method 900, discussed below, and in some embodiments, may operate in conjunction with one or more other service providers (via their service provider devices) and / or users (via their user computing devices) to perform method 900, discussed below. However, these embodiments are intended to be merely exemplary, and those skilled in the art, having access to this disclosure, will recognize that a wide variety of service providers and users may operate individually or collectively to provide the systems and methods discussed herein without departing from the scope of this disclosure.
[0053] Method 900 begins at block 902 where a request to initiate a communication session is received. In an embodiment of block 902, the middle tier messaging engine 204 may receive an indication that a user of the user computing device 102 is requesting a communication session with a messaging provider service. For example, the middle tier messaging engine 204 may receive the request from the messaging interface engine 306 of the user computing device 300 and / or the messaging interface engine 408 of the service provider device 400. The communication session may be between a messaging interface and a messaging provider service, such as a bot platform, a live chat platform, an asynchronous messaging platform, an email platform, and / or any other communication platform that may be apparent to one of ordinary skill in the art having possession of this disclosure. Prior to method 900 and with reference to Figure 10A and Figure 10B 1000 of the method 900 of the middle-tier messaging system 100, the service provider device 400, via the service engine 404, may receive or detect a user interaction with the service engine 404 at block 1002, such as a user interaction with a help page of a website provided by the service engine 404 from which a user of the user computing device 102 requests customer service assistance. However, as described below Figure 11 As illustrated in , the user interaction may be an interaction with an interactive voice response (IVR) system. The user interaction may include interaction information, such as the subject matter for which the user of the user computing device 102 is requesting help. The interaction information may also include any authentication information and user identification information that may be available.
[0054] The service engine 404 can provide the user interaction to the policy service device 118, which can include any of the available interaction information. Based on the interaction information, the intent / BNA engine 718 of the policy service device 118 and / or any of the other policy service engines 710-720 can determine the intent of the user interacting with the service engine 404 based on the interaction information. The intent / BNA engine 718 can determine that the intent of the user of the user computing device 102 is to contact the customer help service to obtain assistance on a specific topic (e.g., to decline a purchase), and the intent / BNA engine 718 determines that the best next action is to establish a communication session between the messaging interface and the message provider service, which is necessary to complete the user interaction. At box 1004, the channel recommendation engine 716 can determine the communication channel based on the intent and the best next action. In addition, the channel recommendation engine 716 can determine the communication channel based on the message provider information and the user information. For example, the channel recommendation engine 716 can retrieve user information from the messaging database 120, the storage system 228, and / or the storage system 808 via the middle-tier messaging engine 204, including user history with the middle-tier messaging system 100, user account information with the service provider, user preferences, and other user information that will be apparent to one skilled in the art having the present disclosure. For example, the middle-tier messaging engine 204 can cause the knowledge management engine 818 to retrieve user account data 820, cached data 822, and / or any other data and provide this data to the policy service engine 704 via the messaging API 206 via the middle-tier messaging engine 204. In another example, the intent / BNA engine 718 and / or the channel recommendation engine 716 can use the messaging provider information when determining the best next action and / or channel recommendation. For example, the intent / BNA engine 718 and / or the channel recommendation engine 716 can interact with the runtime engine 712, the tracking engine 720, and / or the estimated latency engine 714 that are providing messages to provide information that can be used to determine the best next action and / or channel recommendation. Although the policy service engines 710-720 are illustrated as being located on the same policy service device 700, one or more of the policy service engines 710-720 can be located on separate devices and can interact with each other via the middle tier messaging engine 204.
[0055] Therefore, based on the intent, message provider information, and user information, the channel recommendation engine 716 can determine whether the user interaction is an interaction that the bot platform provided by the message provider engine 504 is configured to service. In another example, the intent may indicate that the user interaction is an interaction that the live chat platform provided by the message provider engine 504 is configured to service. In another example, the intent, message provider information, and user information may indicate that the user interaction is an interaction that the live chat platform provided by the message provider engine 504 and / or another bot platform are configured to service. When determining which live chat platform and / or bot platform to recommend, the channel recommendation engine 716 may consider the message provider information provided by the runtime engine 712 and the estimated latency engine 714. For example, the time may be outside the runtime of the live chat platform, the estimated latency of the live chat platform may meet a predetermined threshold, and / or the tracking engine 720 may indicate the success rate of servicing the intent using the bot platform and the live chat platform, whether the user has successfully resolved the issue using one of these platforms, and / or any other tracking information and / or message provider information provided by the policy service engine 704.
[0056] The policy service engine 704 can provide the communication channel recommendation to the service engine 404, which can provide the communication channel recommendation to the application engine 304 of the user computing device 300, which can then provide the communication channel recommendation to the user of the user computing device 300 at block 1006. The user can provide input to the user computing device 300 indicating acceptance or rejection of the communication channel recommendation. In response to accepting the communication channel recommendation, the service engine 404 and / or the application engine 304 can provide a request to establish a communication channel with the identified messaging service provider to the middle-tier messaging engine 204 and provide the messaging interface engine 306. In other examples, the messaging interface provided by the messaging interface engine 306 and / or 408 can be automatically initiated and provided to the user via the user computing device 102 and provide the request to establish a communication channel with the identified messaging service provider to the middle-tier messaging engine 204. In other examples, a network application provided by the service provider device 400 can provide all possible communication channels that the user can select from without using the policy service engine 704. Thus, the user can select the messaging interface engine 306 and / or 408 and the messaging provider with which to communicate and generate a request to the messaging provider. In various embodiments, the request can include authentication information, such as an authentication token provided by the user when logging into the service provider device 400, which indicates the user account and user identified in the communication session. The request can include other information, such as user information, the user's intent, and / or any other information that would be apparent to one skilled in the art having the present disclosure.
[0057] Method 900 then proceeds to block 904, where a middle-tier session is established that is mapped to the communication session. In an embodiment of block 904, the session creation engine 224 of the middle-tier messaging engine 204 may create a middle-tier session that is mapped by the session management engine 212 to the communication session requested by the service provider device and / or the user computing device. A middle-tier session identifier (e.g., a unified messaging interaction identifier (UMID), a universal conversation identifier (UCID)) may be associated with the communication session, such as a communication session identifier. The middle-tier session identifier may also be mapped to a user identifier and / or user account identifier, such as a phone number, an email address, a credit card number, an account number, a username, a biometric identifier, and / or any other user / user account identifier that would be apparent to one skilled in the art having the present disclosure. The session management engine 212 may map a service provider identifier, a messaging provider identifier, a messaging interface identifier, a messaging provider type, and / or other identifiers to the middle-tier session identifier. The mapping of various identifiers and / or sessions to middle-tier session identifiers may be stored in the messaging interaction log 236. Now referring to Figure 10A , the session creation engine 224 may initiate a mid-tier session at block 1008 and the session management engine 212 may map the mid-tier session to a messaging interface identifier, a service provider identifier, and / or a user identifier.
[0058] In various embodiments, the session creation engine 224 may be coupled to an authorization engine 810 provided by the domain services engine 804 included on the domain services device 800. The identity messaging API of the messaging API 206 may facilitate the transmission of any authentication information provided in the request to establish the communication session from the user computing device 300 and the service provider device 400. The authorization engine 810 may perform an authentication process to determine whether the user's identity has been verified before establishing the communication session. For example, at block 1010, the authorization engine 810 may determine whether the authorization token received in the request to establish the communication session is valid. The authorization engine 810 may provide the results of the authentication process to the identity messaging API. If the authentication is unsuccessful, as indicated at decision block 1012, the middle-tier messaging engine 204 may provide a notification to the messaging interface engine 306 and / or 408a at block 1014 that the communication session has ended. The notification may indicate that the authentication was unsuccessful. If the authentication is successful, the method 900 may proceed to block 906.
[0059] Method 900 then proceeds to block 906, where the middle-tier session is used to establish a communication session between the first messaging interface and the first messaging provider. In an embodiment of block 906, the middle-tier messaging engine 204 may cause the messaging provider engine 504 to establish the messaging provider session. The messaging provider session may include a messaging provider session identifier associated with or otherwise mapped to the middle-tier session via the session management engine 212. Figure 10A As indicated in , at block 1016, the middle-tier messaging engine 204 may cause the messaging provider engine 504 identified in the request to establish a communication session to initiate a messaging provider session. For example, if the channel recommendation at block 1004 is to establish a communication session between the messaging interface engine 306 / 408 and a bot platform provided on the messaging provider service device 110, the middle-tier messaging engine 204 may cause the messaging provider engine 504 of the messaging provider service device 110 to initiate a messaging provider session with the bot platform. In another example, if the messaging channel recommendation at block 1004 is to establish a communication session between the messaging interface engine 306 / 408 and a live chat platform provided on the messaging provider service device 112, the middle-tier messaging engine 204 may cause the messaging provider engine 504 of the messaging provider service device 112 to initiate a messaging provider session with the live chat platform.
[0060] The method 900 then proceeds to block 908, where message communication between the first message provider and the first messaging interface is provided through a middle-tier session. In an embodiment of block 908, the middle-tier messaging engine 204 may provide a pass-through API among the plurality of messaging APIs 206. The pass-through API facilitates communication between the messaging provider engine 504 and the messaging interface engine 306 and / or 408. For example, the pass-through API may receive messages from the messaging provider engine 504 and provide those messages to the messaging interface engine 306 and / or 408. Similarly, the pass-through API may receive messages from the messaging interface engine 306 and / or 408 and provide those messages to the messaging provider engine 504. Figure 10A As indicated in , the middle tier messaging engine 204 may facilitate communications between the message provider and the messaging interface at blocks 1018 and 1020 .
[0061] In addition to facilitating direct communication between the messaging interface engine 306 and / or 408 and the message provider engine 504, the middle-tier messaging engine 204 can also be configured to perform a number of actions or operations to increase engine capabilities. For example, the middle-tier messaging engine 204 can provide a message normalization engine 214 that is configured to normalize message communications received at the middle-tier messaging engine 204 so that the middle-tier messaging engine 204 can convert the messaging format and / or structure of messages from a messaging interface to the messaging format and / or structure of the message provider service. Similarly, the message normalization engine 214 can normalize message communications so that the message communications are converted into a format / structure that can be understood by the middle-tier messaging engine 204.
[0062] In another embodiment, the middle tier messaging engine 204 may include a privacy engine 210 that is configured to process sensitive information from message communications. For example, the privacy engine 210 may be configured to identify and remove payment card information (PCI) data when entered by a user into the messaging interface engine 306 / 408. In another example, personally identifiable information (PII) may be identified and masked by the privacy engine 210 before it is provided to a third-party messaging provider service and / or any other third-party service in the middle tier messaging system 100. However, on the return path, the privacy engine 210 may tie the response from the messaging provider service back to a customer-specific account managed by the provider of the middle tier messaging system 100. In various embodiments, the privacy engine 210 may also be configured to encrypt message communications and other data received at the middle tier messaging engine 204.
[0063] In various embodiments, the middle-tier messaging engine 204 may include a tracing engine 208 configured to store message communications in a message history 234 stored in the storage system 228. Message communications may be associated with any of a communication session identifier, a middle-tier session identifier, a user identifier, and / or other identifiers mapped per middle-tier session. In one embodiment, the tracing engine 208 and / or other messaging APIs may log data (e.g., response times, failure data, timeouts, and other health and performance data) in the system log 230 that allows reporting on the health and performance of the middle-tier messaging system 100. In various embodiments, some messaging provider services may be stateless and operate only on the basis of complete conversations. Thus, whenever a stateless messaging provider service is called, the middle-tier messaging engine 204 may obtain the complete conversation history from a cache, which may be included in the messaging database 120. However, for other messaging providers that are not stateless, the middle-tier messaging engine 204 may only provide the last message to that messaging provider.
[0064] In various embodiments, the middle-tier messaging engine 204 can use the tracking engine 208 to record and unify messaging interactions that are fundamentally different across communication channels and / or within the same channel (e.g., asynchronous messaging). For example, if a user leaves a communication session and subsequently establishes a new communication session, the middle-tier messaging engine 204 can retrieve the log from the message interaction log 236 and / or message history 234 of the incomplete communication session that can be queried from the messaging provider service and can guide the user to complete the messaging interaction. In another example, a user can conduct a communication session with a messaging provider service via a first messaging interface and can subsequently check the status of requests made in the communication session via a second messaging interface. The middle-tier messaging engine 204 can use the message interaction log 236 and / or message history 234 to tie these queries together and ensure that the user has context continuity in their messaging interactions with the messaging provider service.
[0065] Thus, the middle-tier messaging engine 204 facilitates the contextual services of the user's messaging interactions over time. This is often referred to as asynchronous messaging and involves the user submitting a message and leaving. On the messaging provider service side, an agent will respond to the user's message in offline mode. Later, the user returns, views the agent's response, replies, and leaves. At this point, another agent responds to the customer, but with the context of the entire conversation history (e.g., taking into account previous agent responses).
[0066] To unify fundamentally different messaging interactions across messaging channels and / or within the same messaging channel, a mid-tier session identifier issued by the mid-tier messaging engine 204 can tie multiple fundamentally different communication sessions together. As discussed above, the mid-tier session identifier can be associated with a communication session identifier, a user identifier, a service provider identifier, a message provider identifier, a messaging interface identifier, a message provider type, and / or other identifiers that will be apparent to one skilled in the art having the present disclosure. The communication session identifier can include data fields that track the chunking of a conversation over time. For example, a messaging communication may have occurred in the morning and again in the evening, but both were part of the same conversation topic.
[0067] In various embodiments, the middle-tier messaging engine 204 may include a configuration engine 222 configured to provide control to the middle-tier messaging system 100. For example, the configuration engine 222 may provide a user interface for an administrator to create and edit configurations 232 stored in the storage system 228. The configuration engine 222 may be configured to control the middle-tier messaging system 100 by service provider, type of messaging provider, messaging provider, user's intent, entry point to the middle-tier messaging provider (e.g., a third-party messaging service, a service provider website, a phone service), intent determination, a routing engine, a customer service endpoint, a domain service, a policy service, and / or any other service that the configuration engine may configure with the middle-tier messaging system 100.
[0068] In various embodiments of method 900 and with reference to Figure 10A and Figure 10B1024, during messaging communications between the messaging provider engine 504 and the messaging interface 306 / 408, the messaging provider engine 504 can be configured to validate the intent determined by the intent / BNA engine 718 of the policy service engine 704, as indicated at decision block 1022. If the intent is validated, the intent is recorded by the middle tier messaging engine 204 and stored in the messaging interaction log 236 of the storage system 228. Additionally, if the intent is validated, the middle tier messaging engine 204 can facilitate an update of the intent at the policy service engine 704 at blocks 1024 and 1026 so that the policy service engine 704 can leverage any machine learning capabilities that the policy service engine 704 may utilize in determining the intent and the optimal next action. In various embodiments, the channel recommendation engine 716 and / or the intent / BNA engine 718 may include one or more machine learning algorithms, such as frequent pattern growing heuristics, other unsupervised learning algorithms, supervised learning algorithms, semi-supervised learning algorithms, reinforcement learning algorithms, deep learning algorithms, and other machine learning algorithms known in the art for use in making channel recommendations, determining intent, and / or determining the best next action.
[0069] The middle tier messaging flow chart 1000 then proceeds to decision block 1028 where the message provider engine 504 determines whether the intent is serviceable. If the intent is serviceable, the message provider engine 504 services the intent by communicating the message with the messaging interface engine 306 and / or 408 as indicated at block 1030. The message provider engine 504 may determine at decision block 1032 whether the intent of the communication session is resolved. If the intent is resolved, the message service provider session may end at block 1034. Additionally, the session management engine 212 provided by the middle tier messaging engine 204 may be configured to terminate the middle tier session that is mapped to the message provider session. In various embodiments, the session management engine 212 may be configured to emulate and listen to the session lifecycle of the message provider session. For example, if the message provider session times out, the middle tier session mapped to the message provider session should be considered timed out by the session management engine 212. As Figure 10BAs illustrated in FIG, the message provider engine 504 and / or the messaging interface engine 306 / 408 may determine at decision block 1050 that the user is inactive and may provide a timeout notification to the session management engine 212 provided by the middle-tier messaging engine 204 at block 1052. The session management engine 212 may facilitate management of the message provider session and cause the message provider session to end at block 1054. Similarly, the session management engine 212 may cause the middle-tier session mapped to the message provider session to end. Similarly, the session management engine 212 may be configured to simulate and intercept the user's authenticated session lifecycle. For example, if the domain service engine 804 determines that the authentication session has timed out at block 1010, the middle-tier session should time out.
[0070] If the intent cannot be confirmed at decision block 1022, the intent is not serviceable at decision block 1028, or the intent is unresolved at decision block 1032, the messaging provider may request a channel recommendation at block 1036. The messaging provider engine 504 may request a channel recommendation via the channel recommendation engine 216 of the middle-tier messaging engine 204. The channel recommendation engine 216 may include an API configured to communicate channel recommendations between the channel recommendation engine 716 of the policy service engine 704 and the messaging provider engine 504, as indicated at block 1038. The channel recommendation may be based on an updated intent, which may be updated based on information received by the policy service engine 704 subsequent to making the initial channel recommendation at block 1004. The channel recommendation may be for a second messaging provider service. For example, the first messaging provider service may be provided by a bot platform, while the second messaging provider service may be provided by a live chat platform.
[0071] After receiving the channel recommendation for the new channel, the messaging provider engine 504 may initiate cross-channel authentication at block 1040 by communicating with the cross-channel authorization engine 220 to facilitate authentication of the user to the second messaging provider at block 1042. The cross-channel authorization engine 220 may retrieve authentication information from the first messaging provider session and store it in the storage system 228 so that the second messaging provider can retrieve the authentication information and have the authorization engine 810 of the domain services engine 804 verify the authentication information at block 1044.
[0072] After initiating cross-channel authentication in block 1040, the first messaging provider service can initiate a channel switch at block 1046 so that the communication session between the first messaging interface and the first messaging provider service is between the first messaging interface and the second messaging provider service. The first messaging provider service can communicate with a channel switch engine 218 provided by the middleware messaging engine 204, which can include a channel switch API. The channel switch engine 218 can be configured to facilitate the channel switch at block 1048. For example, the channel switch engine 218 can be configured to work in conjunction with the channel recommendation engine 216 to obtain channel recommendations and determine the next communication channel that includes the second messaging service provider. The channel switch engine 218 can also be configured to store all message history that occurred on the first communication channel between the messaging interface 306 / 408 and the first messaging provider service in the message history 234, so that when a switch to the second channel occurs, the switch appears seamless to the user of the user computing device 102 because no message communications are lost. Similarly, the channel switching engine 218 is configured to pass the intent from the first communication channel to the second communication channel, so that the second messaging provider can access the intent and the messaging communication passed on the first channel. In a multi-messaging channel journey for a user, the channel switching engine 218 can be configured to retrieve all messaging channel interaction histories for the user from the storage system 228 based on the user identifier and / or the middle layer session identifier, unify the message histories 234 from the multiple channels, and provide the message histories 234 to the next communication channel. The channel switching engine 218 can also be configured to pass authentication information to the second messaging provider so that cross-channel authentication can occur at the second messaging provider.
[0073] like Figure 10BAs illustrated at block 1056 of the present invention, the second messaging provider may receive communication session information from the channel switching engine 218. In the illustrated embodiment, the second messaging provider may be a live chat platform. Using the messaging session information, the second messaging provider may create a task at block 1058. At block 1060, the task may be routed to the customer service endpoint 114 by the routing engine 816 via the domain service engine 804. The task may be routed based on the intent, the estimated wait time of the customer service endpoint, and / or any other routing factors that may be apparent to one skilled in the art having access to this disclosure. The customer service interface engine 604 may create a case including the communication session at block 1062 and store the case in a queue at the storage system 608 until a customer service representative is available to handle the case. At block 1064, the customer service interface engine 604 may load the communication session onto the customer service interface. The customer service interface engine 604 may provide a complete message history between the user and the first messaging provider. The customer service representative, via the customer service interface engine 604, may service the intent of the communication session. The customer service interface engine 604, via the second messaging provider service, can provide the middle-tier messaging engine 204 with message history and messaging interactions, such as intent changes, the status of the query (e.g., successful, unsuccessful), and any other messaging interaction information that would be apparent in the art. The message interaction information and message history can be stored in the storage system 228 and associated with the middle-tier session identifier and / or user identifier. The middle-tier messaging engine 204 can also pass any of the communication session information to the policy service engine 704 and / or the domain service engine 804 for future use or to update the machine learning algorithm to provide more accurate best next action or channel recommendations.
[0074] In other examples, the middle-tier messaging engine 204 can be used to abstract a customer relationship management (CRM) system and a customer service endpoint 114, connecting them via the middle-tier messaging engine 204. Similarly, the middle-tier messaging engine 204 can be used to create and / or use a bot that can enhance the experience presented to a user when interacting with a customer service representative via the customer service interface engine 604. For example, a customer service representative can use a Short Message Service (SMS) one-time password (OTP) bot that communicates with the customer service interface engine 604 via the middle-tier messaging engine 204 to verify the identity of a user requesting login assistance. In other examples, the customer service interface engine 604 can be coupled to a customer service endpoint of a host agent via the middle-tier messaging engine and interact with the host agent via another customer service endpoint interface. While specific embodiments are provided that abstract various modules and systems within the middle-tier messaging system 100, those skilled in the art, having access to this disclosure, will recognize that other modules, programs, and / or customer service systems can be coupled to the middle-tier messaging system 100 via the middle-tier messaging engine 204.
[0075] In various embodiments, if during a communication session between the messaging interface 306 / 408 and a messaging provider service (such as a bot or live chat), the communication session is disconnected, the middle tier messaging engine 204 can facilitate retrying and reestablishing the communication session. To restart the communication session, because the middle tier management engine 204 knows where the communication session was disconnected due to the storage of the message history, the middle tier messaging engine 204 can help restart the communication session from where it ended, rather than the client having to submit all messages again in the restarted session.
[0076] Now refer to Figure 11, a flowchart illustrates an embodiment of a mid-tier messaging system switching between an IVR channel and a messaging channel. At step 1102, a user, via user computing device 102, may place a call to a call center and be served by an interactive voice response (IVR) system. At step 1104, the IVR system may pass any user intent gathered from the voice interaction with the user to the policy service engine 704. At step 1106, the policy service engine 704 may request channel information about the various available communication channels from the mid-tier messaging engine 204, such as estimated wait times, channel status, and other information that would be apparent to one skilled in the art when making channel recommendations. At step 1106, the policy service engine 704 may also request user information associated with the user interacting with the IVR system, such as a contact history for the mid-tier messaging system. At step 1108, the mid-tier messaging engine 204 may retrieve the user information and any of the channel information from the various channels (e.g., the EWT for a live messaging channel) from the messaging database 120 and return this information to the policy service engine 704. At step 1110, policy service engine 704 may make a channel recommendation and provide the channel recommendation to the user of user computing device 102. For example, policy service engine 704 may make a recommendation for a lower cost bot platform that provides a lower cost channel than a voice call.
[0077] In response to the user of the user computing device 102 selecting to accept the channel recommendation, the IVR system may initiate a visual IVR session for the communication channel at step 1112a and use the authorization engine 810 and / or risk engine 814 of the domain services engine 804 to authenticate or calculate the risk of servicing the user. Although step 1112a is illustrated as being initiated directly by the IVR system and the domain services engine 804, the IVR system may interact with the domain services via the middle-tier messaging engine 204. After successful authentication of the user, the visual IVR session may be initiated at step 1112b, and a notification generated by the notification engine 812 of the domain services engine 804 at step 1112c may be transmitted to the user computing device 102, for example, via an SMS message. At step 1112d, the user computing device 102 may receive a request from the user to initiate a communication channel for the bot platform, including a messaging interface. The messaging interface may be a text messaging interface of a telephone, a messaging interface provided by the service provider device 104, or a messaging interface installed on the user computing device 102.
[0078] At step 1114, the messaging interface may initiate and establish a communication session with the bot messaging provider via the middle-tier messaging engine 204. Message communications may be communicated between the messaging interface and the bot messaging provider. The middle-tier messaging engine 204 may update the storage system 228 with the interaction. If the query at step 1114 is not resolved, the bot messaging provider may initiate a channel switch request to the middle-tier messaging engine 204 at step 1116, which causes the middle-tier messaging engine 204 to transmit a new intent (if available) to the policy service engine 704 and receive a decision from the policy service engine 704 regarding the next communication channel. At step 1122, the middle-tier messaging engine 204 may then provide the next communication channel, which may include the live chat messaging platform, establish a communication channel between the messaging interface and the live messaging provider by mapping the live messaging provider session to the middle-tier session and removing the bot messaging provider session from the middle-tier session, and perform cross-channel authentication of the user / user computing device 102 with the authorization engine 810 of the domain service engine 804.
[0079] At step 1124, message communications may be passed between the messaging interface and the middle-tier messaging engine 204, and at step 1126, message communications for the live messaging channel may be routed by the routing engine 816 to the customer service terminal 114, which provides a customer service messaging interface for servicing the live messaging provider channel. Message communications may be provided between the messaging interface and the customer service messaging interface provided by the customer service messaging interface. At step 1128, when the query from the user computing device 102 has been serviced and / or otherwise completed, the communication session and channel may be terminated by the middle-tier messaging engine 204 and / or the message provider service. At step 1128, the middle-tier messaging service may also update the messaging database 120 with the results of the communication session.
[0080] Thus, a system and method for a middle-tier messaging service has been described that facilitates communication over a communication channel, the communication channel comprising a messaging interface and a message provider service that provide messaging communication between each other. The middle-tier messaging service can interact with domain services and policy services to make channel recommendations to users regarding which messaging interface and message provider they should use to establish a communication session to resolve a customer's inquiry. If the issue cannot be resolved using a first messaging channel, the middle-tier messaging service will provide a recommendation for a second channel and facilitate switching channels, making the transition seamless for the user. By providing an abstraction layer, the middle-tier messaging service also allows for easy integration and removal of services and platforms used within the middle-tier messaging service. This provides isolation from tight integration with message providers, making it easy to switch message providers and test them to determine which one works best.
[0081] Now refer to Figure 12 , illustrates an embodiment of a user device 1200. User device 1200 can be any of the user computing devices discussed above. User device 1200 includes a housing 1202 having a display 1204 and an input device including the display 1204 and a plurality of input buttons 1206. Those skilled in the art will recognize that user device 1200 is a portable or mobile phone that includes a touch screen input device and a plurality of input buttons that allow the functionality discussed above with reference to method 900. However, various other portable / mobile devices and / or desktop devices can be used in method 900 without departing from the scope of this disclosure.
[0082] Now refer to Figure 13 , illustrates an embodiment of a computer system 1300 suitable for implementing, for example, user computing devices, customer service terminals, service provider devices, as well as mid-tier messaging devices, domain service devices, policy service devices, message provider devices, and messaging databases. It should be appreciated that other devices utilized in the mid-tier messaging system 100 discussed above can be implemented as computer system 1300 in the following manner.
[0083] According to various embodiments of the present disclosure, a computer system 1300, such as a computer and / or network server, includes a bus 1302 or other communication mechanism for transmitting information, which interconnects subsystems and components, such as a processing component 1304 (e.g., a processor, microcontroller, digital signal processor (DSP), etc.), a system memory component 1306 (e.g., RAM), a static storage component 1308 (e.g., ROM), a disk drive component 1310 (e.g., magnetic or optical), a network interface component 1312 (e.g., a modem or Ethernet card), a display component 1314 (e.g., a CRT or LCD), an input component 1318 (e.g., a keyboard, keypad, or virtual keyboard), a cursor control component 1320 (e.g., a mouse, pointer, or trackball), and / or a position determination component 1322 (e.g., a global positioning system (GPS) device as shown, a cellular tower triangulation device, and / or various other position determination devices known in the art). In one embodiment, the disk drive component 1310 may include a database having one or more disk drive components.
[0084] According to an embodiment of the present disclosure, the computer system 1300 performs specific operations, such as those described herein with respect to user devices, customer service terminals, service provision systems, and / or third-party databases, by executing one or more instruction sequences contained in the system memory component 1306 via the processor 1304. Such instructions may be read into the system memory component 1306 from another computer-readable medium, such as the static storage component 1308 or the disk drive component 1310. In other embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the present disclosure.
[0085] The logic may be encoded in a computer-readable medium, which may be any medium that participates in providing instructions to the processor 1304 for execution. Such media may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. In one embodiment, the computer-readable medium is non-transitory. In various embodiments, non-volatile media include optical or magnetic disks, such as the disk drive assembly 1310, volatile media include dynamic memory, such as the system memory assembly 1306, and transmission media include coaxial cables, copper wire, and optical fiber, including the wires comprising the bus 1302. In one embodiment, the transmission medium may take the form of sound or light waves, such as those generated during radio wave and infrared data communications.
[0086] Some common forms of computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM, a DVD, any other optical medium, punch cards, paper tape, any other physical medium with a pattern of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer is adapted to read. In one embodiment, the computer-readable medium is non-transitory.
[0087] In various embodiments of the present disclosure, execution of sequences of instructions for practicing the present disclosure may be performed by a computer system 1300. In various other embodiments of the present disclosure, multiple computer systems 1300 coupled to a network 322 (e.g., such as a LAN, WLAN, PTSN, and / or various other wired or wireless networks, including telecommunications, mobile, and cellular telephone networks) via a communication link 1324 may execute sequences of instructions to practice the present disclosure in coordination with one another.
[0088] Computer system 1300 may transmit and receive messages, data, information, and instructions, including one or more programs (i.e., application code), via communication link 1324 and network interface component 1312. Network interface component 1312 may include an antenna, separate or integrated, to enable transmission and reception via communication link 1324. Received program code may be executed by processor 1304 as it is received and / or stored in disk drive component 1310 or some other non-volatile storage component for execution.
[0089] Where applicable, hardware, software, or a combination of hardware and software may be used to implement the various embodiments provided by the present disclosure. Additionally, where applicable, without departing from the scope of the present disclosure, the various hardware components and / or software components set forth herein may be combined into composite components comprising software, hardware, and / or both. Additionally, where applicable, without departing from the scope of the present disclosure, the various hardware components and / or software components set forth herein may be divided into subcomponents comprising software, hardware, or both. Additionally, where applicable, it is contemplated that software components may be implemented as hardware components and vice versa.
[0090] Software such as program code and / or data according to the present disclosure may be stored on one or more computer-readable media. It is also contemplated that the software identified herein may be implemented using one or more general-purpose or special-purpose computers and / or computer systems, networked and / or otherwise. Where applicable, the order of the various steps described herein may be changed, combined into composite steps, and / or separated into sub-steps to provide the features described herein.
[0091] The foregoing disclosure is not intended to limit the present disclosure to the precise form disclosed or to the specific field of use. Therefore, it is contemplated that various alternative embodiments and / or modifications to the present disclosure, whether explicitly described or implied herein, are possible in light of the present disclosure. Having thus described the embodiments of the present disclosure, one of ordinary skill in the art will recognize that changes may be made in form and detail without departing from the scope of the present disclosure. Therefore, the present disclosure is limited only by the claims.
Claims
1. A middle-layer message delivery system, comprising: non-transitory memory; and One or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations including: receiving a request to initiate a first communication session via a first messaging channel, the first messaging channel comprising a first messaging interface of a first messaging application provided at a user device and a first messaging provider of a plurality of messaging providers; establishing a first mid-layer session, the first mid-layer session comprising a mid-layer session identifier mapped to a first communication session identifier of the first communication session and a user identifier associated with a user of the user device; establishing the first communication session between the first messaging interface and the first messaging provider using the first middle tier session; providing a first message communication between the first message provider and the first message delivery interface through the first middle tier session and via a first delivery application programming interface API of the first communication session; determining an intent for the first communication session, wherein the intent includes a best next action; determining, based on the intent and based on one or more predetermined conditions being satisfied, that a second communication channel is capable of processing the intent, the second communication channel comprising a second messaging interface of a second messaging application and a second messaging provider; mapping the mid-layer session identifier to a second communication session identifier for a second communication session on the second communication channel; as well as The second message passing interface is caused to be provided on the user equipment.
2. The system of claim 1, wherein the operations further comprise: switching the first communication session from the first messaging channel to the second communication session on a second messaging channel provided by the second communication channel; as well as A second message communication between the second message provider and the second messaging interface is provided through the first middle tier session and via a second messaging API.
3. The system of claim 1, wherein the operations further comprise: storing the first message communication between the first message provider and the first messaging interface; as well as The first message communication between the first message provider and the first messaging interface is provided to the second message provider based on a mapping of the first communication session identifier, the second communication session identifier, and the mid-tier session identifier.
4. The system of claim 2, wherein the operations further comprise: generating an authorization code from the authorization for the account for accessing the first messaging channel; storing the authorization code; as well as Prior to providing the second message communication between the second message provider and the second messaging interface, the authorization code is provided to the second message provider via the second communication session for verification.
5. The system of claim 1, wherein the operations further comprise: receiving, from a network application, a request to establish a messaging channel including the intent; selecting the first messaging channel to service the request; as well as The network application is enabled to provide the first message passing interface.
6. The system of claim 1, wherein the operations further comprise: Message communications are normalized to have compatible data formats between the first messaging interface and the first messaging provider.
7. A middle-layer message delivery system, comprising: a service provider device configured to provide a first messaging interface to a user device; a first message provider device, the first message provider device comprising a first message provider engine, the first message provider engine configured to provide message communications to the first messaging interface; and A middle-tier messaging device coupled to the first messaging interface and the first messaging provider engine via an abstract interface, wherein the middle-tier messaging device is configured to perform operations including: receiving a request to initiate a first communication session via a first messaging channel, the first messaging channel comprising the first messaging interface provided at the user device and a first messaging provider of a plurality of messaging providers; establishing a first mid-layer session, the first mid-layer session comprising a mid-layer session identifier mapped to a first communication session identifier of the first communication session and a user identifier associated with a user of the user device; establishing the first communication session between the first messaging interface and the first messaging provider engine using the first middle tier session; providing a first message communication between the first message provider and the first message delivery interface through the first middle tier session and via a first delivery application programming interface API of the first communication session; determining an intent for the first communication session, wherein the intent includes a best next action; determining, based on the intent and based on one or more predetermined conditions being satisfied, that a second communication channel is capable of processing the intent, the second communication channel comprising a second messaging interface of a second messaging application and a second messaging provider; mapping the mid-layer session identifier to a second communication session identifier for a second communication session on the second communication channel; as well as The second message passing interface is caused to be provided on the user equipment.
8. The system according to claim 7, further comprising: A service device coupled to the middle tier messaging device and comprising a channel recommendation engine, wherein the channel recommendation engine is configured to perform operations including: receiving an indication that the first messaging provider is unable to service the intent of the first communication session; and A channel recommendation is provided to the mid-tier messaging device, the channel recommendation including a second messaging channel provided by the second communication channel.
9. The system of claim 8, wherein the middle-tier messaging device is configured to perform operations comprising: switching the first communication session from the first messaging channel to the second communication session on the second messaging channel; and A second message communication between the second message provider and the second messaging interface is provided through the first intermediate session and via a second messaging API.
10. The system of claim 7, wherein the middle-tier messaging device is configured to perform operations including: storing the first message communication between the first message provider and the first messaging interface; and The first message communication between the first message provider and the first messaging interface is provided to the second message provider based on a mapping of the first communication session identifier, the second communication session identifier, and the mid-tier session identifier.
11. The system of claim 9, further comprising a domain service device coupled to the middle tier messaging device and comprising an authentication engine, wherein the authentication engine is configured to perform operations comprising: generating an authorization code from the authorization for the account for accessing the first messaging channel; storing the authorization code; as well as The authorization code is provided to the second messaging provider for verification before the second messaging communication between the second messaging provider and the second messaging interface is provided.
12. A method for middle-layer message transmission, comprising: receiving, by the middle tier messaging system via a first messaging channel, a request to initiate a first communication session, the first messaging channel comprising a first messaging interface of a first messaging application provided at a user device and a first messaging provider of a plurality of messaging providers; establishing, by the mid-layer messaging system, a first mid-layer session, the first mid-layer session comprising a mid-layer session identifier mapped to a first communication session identifier of the first communication session and a user identifier associated with a user of the user device; establishing, by the middle-tier messaging system, the first communication session between the first messaging interface and the first messaging provider using the first intermediate session; providing a first message communication between the first messaging provider and the first messaging interface through a first middle-tier session of the middle-tier messaging system and via a first messaging application programming interface API of the first communication session; determining an intent for the first communication session, wherein the intent includes a best next action; determining, based on the intent and based on one or more predetermined conditions being satisfied, that a second communication channel is capable of processing the intent, the second communication channel comprising a second messaging interface of a second messaging application and a second messaging provider; mapping the mid-layer session identifier to a second communication session identifier for a second communication session on the second communication channel; as well as The second message passing interface is caused to be provided on the user equipment.
13. The method according to claim 12, further comprising: receiving, by the mid-tier messaging system, an indication that the first messaging provider is unable to service the intent of the first communication session; switching, by the middle layer messaging system, the first communication session from the first messaging channel to the second communication session on a second messaging channel provided by the second communication channel; as well as A second message communication between the second message provider and the second messaging interface is provided by a first middle-tier session of the middle-tier messaging system and via a second messaging API.
14. The method according to claim 13, further comprising: storing, by the middle-tier messaging system, the first message communication between the first messaging provider and the first messaging interface; as well as The first message communication between the first message provider and the first messaging interface is provided by the mid-tier messaging system to the second message provider based on a mapping of the first communication session identifier, the second communication session identifier, and the mid-tier session identifier.
15. The method according to claim 13, further comprising: generating, by the middle tier messaging system, an authorization code from authorization of an account for accessing the first messaging channel; storing the authorization code by the middle-tier messaging system; as well as The authorization code is provided by the middle tier messaging system to the second messaging provider for verification before providing the second message communication between the second messaging provider and the second messaging interface.
16. The method according to claim 12, further comprising: receiving, by the middle-tier messaging system, from a network application, a request to establish a messaging channel including the intent; selecting, by the middle-tier messaging system, the first messaging channel to service the request; as well as The middle-layer messaging system enables the network application to provide the first messaging interface.
17. The method according to claim 12, further comprising: Message communications are normalized by the middle-tier messaging system to have a compatible data format between the first messaging interface and the first messaging provider.
Citation Information
Patent Citations
Method and apparatus for session switching, and intelligent customer service robot
CN105592237A
Enhanced authentication security
US9967260B1