JP7423768B2 - Dynamic communication routing to disparate endpoints - Google Patents

Dynamic communication routing to disparate endpoints Download PDF

Info

Publication number
JP7423768B2
JP7423768B2 JP2022524978A JP2022524978A JP7423768B2 JP 7423768 B2 JP7423768 B2 JP 7423768B2 JP 2022524978 A JP2022524978 A JP 2022524978A JP 2022524978 A JP2022524978 A JP 2022524978A JP 7423768 B2 JP7423768 B2 JP 7423768B2
Authority
JP
Japan
Prior art keywords
user
communication
client
message
communication session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022524978A
Other languages
Japanese (ja)
Other versions
JP2022553788A (en
Inventor
ソルター、ジェフリー
ロカッシオ、ロバート
Original Assignee
ライブパーソン, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ライブパーソン, インコーポレイテッド filed Critical ライブパーソン, インコーポレイテッド
Publication of JP2022553788A publication Critical patent/JP2022553788A/en
Application granted granted Critical
Publication of JP7423768B2 publication Critical patent/JP7423768B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Description

関連出願の相互参照Cross-reference of related applications

[0001]本特許出願は、2019年10月28日に出願された米国仮特許出願第62/926,773号の優先権の利益を主張するものであり、その開示は、参照により本明細書に組み込まれている。 [0001] This patent application claims the benefit of priority to U.S. Provisional Patent Application No. 62/926,773, filed October 28, 2019, the disclosure of which is incorporated herein by reference. is incorporated into.

[0002]本開示は、一般に、通信のルーティングを促進することに関する。より具体的には、マルチチャネル能力で構成された通信セッション中に、ある特定のインテントを有するメッセージをボットとユーザデバイスとの間で動的にルーティングするための技法が提供される。 [0002] This disclosure generally relates to facilitating the routing of communications. More specifically, techniques are provided for dynamically routing messages with certain intents between a bot and a user device during a communication session configured with multi-channel capabilities.

[0003]実施形態という用語および同様の用語は、本開示および以下の特許請求の範囲の主題の全てを広く指すことが意図される。これらの用語を含む記述は、本明細書で説明される主題を限定するものではなく、あるいは以下の特許請求の範囲の意味または範囲を限定するものではないことが理解されるべきである。本明細書でカバーされる本開示の実施形態は、この発明の概要ではなく、以下の特許請求の範囲によって定義される。この発明の概要は、本開示の様々な態様の大まかな概要であり、以下の発明を実施するための形態のセクションにおいてさらに説明される概念のうちのいくつかを紹介する。この発明の概要は、請求項に記載の主題の重要なまたは本質的な特徴を識別することを意図したものではなく、請求項に記載の主題の範囲を決定するために単独で使用されることを意図したものでもない。主題は、本開示の明細書全体の適切な部分、任意または全ての図面、および各請求項を参照することによって理解されるべきである。 [0003] The term embodiments and similar terms are intended to broadly refer to all of the subject matter of this disclosure and the claims below. It is to be understood that statements containing these terms do not limit the subject matter described herein or limit the meaning or scope of the claims that follow. The embodiments of the disclosure covered herein are defined by the following claims, rather than this Summary. This Summary is a high-level overview of various aspects of the disclosure and introduces some of the concepts that are further described in the Detailed Description section below. This Summary of the Invention is not intended to identify key or essential features of the claimed subject matter, and is to be used solely for determining the scope of the claimed subject matter. Nor was it intended. The subject matter should be understood by reference to appropriate portions of the entire specification of this disclosure, any or all drawings, and each claim.

[0004]本開示のある特定の実施形態は、コンピュータ実装方法を含む。方法は、第1のユーザからメッセージを受信することを含み得る。メッセージは、質問を含む。方法は、メッセージに対する応答を受信することをさらに含み得る。応答は、質問に対する回答を含む。方法は、第2のユーザのデバイスに質問および回答を公開すること(publishing)をさらに含み得る。質問および回答は、第2のユーザの1つまたは複数の特性に基づいて、第2のユーザのために選択される。方法は、第2のユーザからフォローアップ要求を受信することをさらに含み得る。フォローアップ要求は、回答に関する更なる情報を求める。方法は、第1のユーザと第2のユーザとの間の通信セッションを促進することをさらに含み得る。第1のユーザは、第2のユーザに更なる情報を提供する。 [0004] Certain embodiments of the present disclosure include computer-implemented methods. The method may include receiving a message from a first user. The message includes a question. The method may further include receiving a response to the message. The response includes an answer to the question. The method may further include publishing the questions and answers to the second user's device. Questions and answers are selected for the second user based on one or more characteristics of the second user. The method may further include receiving a follow-up request from the second user. A follow-up request asks for further information about a response. The method may further include facilitating a communication session between the first user and the second user. The first user provides further information to the second user.

[0005]本開示のある特定の実施形態は、システムを含む。システムは、1つまたは複数のデータプロセッサと、命令を含む非一時的なコンピュータ可読記憶媒体とを含み得、命令は、1つまたは複数のデータプロセッサ上で実行されると、1つまたは複数のデータプロセッサに、上記および本明細書で説明される方法を実行させる。 [0005] Certain embodiments of the present disclosure include a system. The system may include one or more data processors and a non-transitory computer-readable storage medium containing instructions, which, when executed on the one or more data processors, cause the one or more data processors to A data processor is caused to perform the methods described above and herein.

[0006]本開示のある特定の実施形態は、データ処理装置に、上記および本明細書で説明される方法を実行させるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品を含む。 [0006] Certain embodiments of the present disclosure provide a tangible, non-transitory, machine-readable storage medium containing instructions configured to cause a data processing device to perform the methods described above and herein. including computer program products embodied in.

[0007]本開示は、添付の図面と併せて説明される。 [0007] The present disclosure is described in conjunction with the accompanying drawings.

[0008]図1は、ネットワークインタラクションシステムの一実施形態のブロック図を示す。[0008] FIG. 1 depicts a block diagram of one embodiment of a network interaction system. [0009]図2は、ネットワークインタラクションシステムの別の実施形態のブロック図を示す。[0009] FIG. 2 depicts a block diagram of another embodiment of a network interaction system. [0010]図3Aは、接続管理システムを含むネットワークインタラクションシステムの他の実施形態のブロック図を示す。[0010] FIG. 3A depicts a block diagram of another embodiment of a network interaction system that includes a connection management system. 図3Bは、接続管理システムを含むネットワークインタラクションシステムの他の実施形態のブロック図を示す。FIG. 3B shows a block diagram of another embodiment of a network interaction system that includes a connection management system. 図3Cは、接続管理システムを含むネットワークインタラクションシステムの他の実施形態のブロック図を示す。FIG. 3C shows a block diagram of another embodiment of a network interaction system that includes a connection management system. [0011]図4は、接続コンポーネントの動作のプロトコルスタックマッピングを表したものを示す。[0011] FIG. 4 shows a representation of the protocol stack mapping of the operation of the connection component. [0012]図5は、一実施形態によるマルチデバイス通信交換システムを表す。[0012] FIG. 5 depicts a multi-device communication switching system according to one embodiment. [0013]図6は、接続管理システムの一実施形態のブロック図を示す。[0013] FIG. 6 depicts a block diagram of one embodiment of a connection management system. [0014]図7は、通信セッション中にボットとユーザデバイスとの間で動的に切り替えるためのネットワーク環境のブロック図を示す。[0014] FIG. 7 depicts a block diagram of a network environment for dynamically switching between a bot and a user device during a communication session. [0015]図8は、マルチプルチャネル環境にわたってエンドポイントを動的に選択するためのネットワーク環境を表すブロック図を示す。[0015] FIG. 8 shows a block diagram representing a network environment for dynamically selecting endpoints across a multiple channel environment. [0016]図9は、機械学習技法を使用してエンドポイント選択を向上させるためのネットワーク環境を表すブロック図を示す。[0016] FIG. 9 shows a block diagram representing a network environment for improving endpoint selection using machine learning techniques. [0017]図10は、通信セッション中にボットとユーザデバイスとの間でメッセージをルーティングするための例となるプロセスを示す。[0017] FIG. 10 illustrates an example process for routing messages between a bot and a user device during a communication session. [0018]図11Aは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。[0018] FIG. 11A is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Bは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11B is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Cは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11C is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Dは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11D is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Eは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11E is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Fは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11F is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Gは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11G is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Hは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11H is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Iは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11I is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Jは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11J is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Kは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11K is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Lは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11L is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Mは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11M is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. 図11Nは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 11N is a screenshot of a graphical user interface used to switch interactions between a bot and a user device during a communication session. [0019]図12Aは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。[0019] FIG. 12A is a screenshot of a graphical user interface used to switch between bots during a communication session. 図12Bは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12B is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Cは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12C is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Dは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12D is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Eは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12E is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Fは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12F is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Gは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12G is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Hは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12H is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Iは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12I is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Jは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12J is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Kは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12K is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Lは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12L is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Mは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12M is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Nは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12N is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Oは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12O is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Pは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12P is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Qは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12Q is a screenshot of the graphical user interface used to switch between bots during a communication session. 図12Rは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。FIG. 12R is a screenshot of the graphical user interface used to switch between bots during a communication session.

[0020]添付の図面では、同様のコンポーネントおよび/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプの様々なコンポーネントは、参照ラベルの後に、ダッシュと、同様のコンポーネント同士を区別する第2のラベルとを続けることによって区別され得る。本明細書において第1の参照ラベルのみが使用される場合、その説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様のコンポーネントのうちの任意の1つに適用可能である。 [0020] In the accompanying drawings, similar components and/or features may have the same reference labels. Additionally, various components of the same type may be distinguished by following the reference label with a dash and a second label that distinguishes similar components from each other. When only a first reference label is used herein, the description is applicable to any one of similar components having the same first reference label, regardless of the second reference label. It is.

[0021]次に続く説明は、(1つまたは複数の)実施形態の好ましい例のみを提供し、本開示の範囲、適用性、または構成を限定するようには意図されない。むしろ、(1つまたは複数の)実施形態の好ましい例の次に続く説明は、実施形態の好ましい例を実施することを可能にする説明を当業者に提供する。様々な変更が、添付の特許請求の範囲に記載されるような趣旨および範囲から逸脱することなく、要素の配置および機能において行われ得ることが理解される。 [0021] The description that follows provides only preferred examples of embodiment(s) and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of the preferred example embodiment(s) will provide those skilled in the art with an enabling description for implementing the preferred example embodiment(s). It will be understood that various changes may be made in the arrangement and function of the elements without departing from the spirit and scope as set forth in the appended claims.

[0022]図1は、本明細書で説明されるある特定の実施形態および機能を実装およびサポートする、ネットワークインタラクションシステム100の一実施形態のブロック図を示す。ある特定の実施形態は、ネットワークデバイス105(これは、ユーザ110によって操作され得る)と、端末デバイス115(これは、エージェント120によって操作され得る)との間の接続チャネルを確立することに関する。ある特定の実施形態では、ネットワークインタラクションシステム100は、クライアント125に関連付けられたクライアントデバイス130を含み得る。 [0022] FIG. 1 depicts a block diagram of one embodiment of a network interaction system 100 that implements and supports certain embodiments and features described herein. One particular embodiment relates to establishing a connection channel between a network device 105 (which may be operated by a user 110) and a terminal device 115 (which may be operated by an agent 120). In certain embodiments, network interaction system 100 may include a client device 130 associated with client 125.

[0023]ある特定の実施形態では、ユーザ110は、ウェブサイトを閲覧している個人、またはリモートサーバ140によって提供されるオンラインサービスにアクセスしている個人であり得る。クライアント125は、ウェブサイトまたはオンラインサービスを提供、運用(operates)、または運営する(runs)エンティティであり得るか、あるいは本明細書で説明されるように、クライアント125に利用可能なタスクを実行するために、そのようなエンティティによって雇用またはアサインされた個人であり得る。エージェント120は、ウェブサイトまたはオンラインサービスに関するサポートまたは情報をユーザ110に提供することをタスクとして課されたサポートエージェント等の個人であり得る。多数のエージェントのうち、エージェントのサブセットが、特定のクライアント125に対してサポートまたは情報を提供するのに適切であり得る。エージェント120は、クライアント125と提携していても、提携していなくてもよい。各エージェントは、1つまたは複数のクライアント125に関連付けられ得る。いくつかの非限定的な例では、ユーザ110は、パーソナルコンピューティングデバイスからオンラインストアでショッピングする個人であり得、クライアント125は、製品をオンラインで販売する企業であり得、エージェント120は、この企業によって雇用された担当者であり得る。様々な実施形態では、ユーザ110、クライアント125、およびエージェント120は、他の個人またはエンティティであり得る。 [0023] In certain embodiments, user 110 may be an individual viewing a website or accessing an online service provided by remote server 140. Client 125 may be an entity that provides, operates, or runs a website or online service, or performs tasks available to client 125, as described herein. may be an individual employed or assigned by such an entity to Agent 120 may be an individual, such as a support agent, tasked with providing support or information to user 110 regarding a website or online service. Of the large number of agents, a subset of agents may be appropriate to provide support or information to a particular client 125. Agent 120 may or may not be affiliated with client 125. Each agent may be associated with one or more clients 125. In some non-limiting examples, user 110 may be an individual shopping at an online store from a personal computing device, client 125 may be a business that sells products online, and agent 120 may be an individual shopping at an online store from a personal computing device. may be a person employed by. In various embodiments, user 110, client 125, and agent 120 may be other individuals or entities.

[0024]図1が単一のネットワークデバイス105、端末デバイス115、およびクライアントデバイス130のみを示している一方で、インタラクションシステム100は、複数または多数(例えば、数十、数百、または数千)もの、これらのタイプのデバイスのうちの1つまたは複数の各々を含み得る。同様に、図1が単一のユーザ110、エージェント120およびクライアント125のみを示している一方で、インタラクションシステム100は、複数または多数もの、このようなエンティティのうちの1つまたは複数の各々を含み得る。したがって、所与のネットワークデバイスと通信するためにどの端末デバイスが選択されるべきかを決定する必要があり得る。さらに複雑な問題として、リモートサーバ140もまた、選択ネットワークデバイス通信(select network-device communications)を受信しおよびそれに応答するように構成され得る。 [0024] While FIG. 1 depicts only a single network device 105, terminal device 115, and client device 130, interaction system 100 may include multiple or many (e.g., tens, hundreds, or thousands) may include one or more of each of these types of devices. Similarly, while FIG. 1 depicts only a single user 110, agent 120, and client 125, interaction system 100 may include multiple or multiple each of one or more of such entities. obtain. Therefore, it may be necessary to determine which terminal device should be selected to communicate with a given network device. As a further complication, remote server 140 may also be configured to receive and respond to select network-device communications.

[0025]接続管理システム150は、通信の戦略的ルーティングを促進し得る。通信は、(例えば、タイプ入力または音声入力等の、エンティティからの入力に基づいて定義された)コンテンツを有するメッセージを含み得る。通信はまた、送信デバイスに関するデータ(例えば、IPアドレス、アカウント識別子、デバイスタイプ、および/またはオペレーティングシステム)、宛先アドレス、クライアントの識別子、ウェブページまたはウェブページ要素(例えば、通信が生成されたときに訪問されているか、または別の方法で通信に関連付けられているウェブページまたはウェブページ要素)の識別子またはオンライン履歴データ、時間(例えば、時刻および/または日付)、および/または宛先アドレス等の、追加のデータを含み得る。他の情報も通信に含められ得る。いくつかの事例では、接続管理システム150は、通信全体を別のデバイスにルーティングする。いくつかの事例では、接続管理システム150は、通信を修正(modifies)するか、または(例えば、当初の通信に基づいて)新しい通信を生成する。新しいまたは修正された通信は、メッセージ(またはその処理されたバージョン)、(例えば、送信デバイス、ウェブページまたはオンライン履歴、および/または時間に関する)追加のデータのうちの少なくともいくつか(または全て)、および/または接続管理システム150によって識別された他のデータ(例えば、特定のアカウント識別子またはデバイスに関連付けられたアカウントデータ)を含み得る。新しいまたは修正された通信は、他の情報も含み得る。 [0025] Connection management system 150 may facilitate strategic routing of communications. A communication may include a message having content (defined based on input from an entity, such as, for example, typed or spoken input). Communications may also include data about the sending device (e.g., IP address, account identifier, device type, and/or operating system), destination address, client identifier, web page or web page elements (e.g., at the time the communication was generated). additional information, such as an identifier or online historical data (of the web page or web page element being visited or otherwise associated with the communication), time (e.g., time and/or date), and/or destination address; data. Other information may also be included in the communication. In some cases, connection management system 150 routes the entire communication to another device. In some cases, connection management system 150 modifies the communication or generates a new communication (eg, based on the original communication). The new or modified communication may include at least some (or all) of the message (or processed version thereof), additional data (e.g., regarding sending device, web page or online history, and/or time); and/or other data identified by connection management system 150 (eg, a particular account identifier or account data associated with a device). New or revised communications may also include other information.

[0026]戦略的ルーティング促進の一部は、ネットワークデバイス105と1つまたは複数の端末デバイス115との間の1つまたは複数の接続チャネルを確立、更新、および使用することを含み得る。例えば、ネットワークデバイス105から通信を受信すると、接続管理システム150は、まず(もしあれば)どのクライアントに通信が対応するかを推定し得る。クライアントを識別すると、接続管理システム150は、ネットワークデバイス105との通信のためにクライアントに関連付けられた端末デバイス115を識別し得る。いくつかの事例では、識別は、複数のエージェント(または、エキスパートもしくは代行者(delegates))の各々のプロファイルを評価することを含み得、複数のエージェントにおける各エージェント(例えば、エージェント120)は、端末デバイス(例えば、端末デバイス115)に関連付けられている。評価は、ネットワークデバイスのメッセージにおけるコンテンツに関連し得る。端末デバイス115の識別は、例えば、2010年3月17日に出願された米国特許出願第12/725,799号に記載された技法を含み得、これは、あらゆる目的のために、その全体が参照により本明細書に組み込まれている。 [0026] Part of strategic routing facilitation may include establishing, updating, and using one or more connection channels between network device 105 and one or more terminal devices 115. For example, upon receiving a communication from network device 105, connection management system 150 may first estimate which client (if any) the communication corresponds to. Upon identifying the client, connection management system 150 may identify the terminal device 115 associated with the client for communication with network device 105. In some cases, identifying may include evaluating the profile of each of a plurality of agents (or experts or delegates), where each agent in the plurality of agents (e.g., agent 120) associated with a device (eg, terminal device 115). The reputation may relate to content in the network device's messages. Identification of terminal device 115 may include, for example, the techniques described in U.S. patent application Ser. Incorporated herein by reference.

[0027]いくつかの事例では、接続管理システム150は、ネットワークデバイス105と、クライアント(またはリモートサーバ140)に関連付けられた端末デバイスとの間に何らかの接続チャネルが確立されているかどうか、および確立されている場合には、その通信を含む一連の通信を交換するために、そのようなチャネルが使用されるべきかどうかを決定し得る。 [0027] In some cases, the connection management system 150 determines whether any connection channel is established between the network device 105 and the terminal device associated with the client (or remote server 140), and whether any If so, it may be determined whether such a channel should be used to exchange a series of communications including that communication.

[0028]ネットワークデバイス105と通信するための端末デバイス115を選択すると、接続管理システム150は、ネットワークデバイス105と端末デバイス115との間の接続チャネルを確立し得る。いくつかの事例では、接続管理システム150は、選択された端末デバイス115にメッセージを送信し得る。メッセージは、ネットワークデバイス105と通信するための提案された割当ての受諾を要求し得るか、またはそのような割当てが生成されたことを識別し得る。メッセージは、ネットワークデバイス105に関する情報(例えば、IPアドレス、デバイスタイプ、および/またはオペレーティングシステム)、関連付けられたユーザ110に関する情報(例えば、使用言語(language spoken)、クライアントとインタラクトした持続時間、スキルレベル、センチメント、および/またはトピック選好)、受信された通信、ネットワークデバイス105への通信を生成および送信するためのコード(例えば、クリック可能なハイパーリンク)、および/またはネットワークデバイス105への通信を生成および送信するための命令を含み得る。 [0028] Upon selecting terminal device 115 to communicate with network device 105, connection management system 150 may establish a connection channel between network device 105 and terminal device 115. In some cases, connection management system 150 may send a message to selected terminal device 115. The message may request acceptance of a proposed assignment to communicate with network device 105, or may identify that such an assignment has been generated. The message includes information about the network device 105 (e.g., IP address, device type, and/or operating system), information about the associated user 110 (e.g., language spoken, duration of interaction with the client, skill level). , sentiment, and/or topic preferences), received communications, code for generating and transmitting communications to network device 105 (e.g., clickable hyperlinks), and/or communication to network device 105 . May include instructions for generating and transmitting.

[0029]一事例では、ネットワークデバイス105と端末デバイス115との間の通信は、接続管理システム150を通じてルーティングされ得る。このような構成は、接続管理システム150が、通信交換を監視することと、いずれかのデバイスの非応答性または延長されたレイテンシ等の(例えば、規則に基づいて定義されるような)問題を検出することと、を可能にし得る。さらに、このような構成は、通信の選択的または完全な記憶を促進し得、これは、後に、例えば、通信交換の品質を評価するために、および/または、特定の通信後ターゲット(post-communication targets)を増進する(promote)ようにルーティング規則を更新または生成するための学習をサポートするために使用され得る。 [0029] In one example, communications between network device 105 and terminal device 115 may be routed through connection management system 150. Such a configuration allows the connection management system 150 to monitor communication exchanges and detect problems (e.g., as defined based on rules) such as unresponsiveness or extended latency of any device. detecting and enabling. Furthermore, such a configuration may facilitate selective or complete storage of communications, which can later be used, for example, to assess the quality of communication exchanges and/or to identify specific post-communication targets. communication targets) may be used to support learning to update or generate routing rules to promote communication targets.

[0030]いくつかの実施形態では、接続管理システム150は、リアルタイムで通信交換を監視し、ライブ通信に基づいて、自動化されたアクション(例えば、規則ベースのアクション)を実行し得る。例えば、接続管理システム150が、通信が特定のアイテム(例えば、製品)に関連すると決定すると、接続管理システム150は、アイテムに関する追加の情報(例えば、入手可能なアイテムの数量、アイテムに関連するサポート書類(support documents)へのリンク、またはアイテムもしくは類似のアイテムに関する他の情報)を含む追加のメッセージを端末デバイス115に自動的に送信し得る。 [0030] In some embodiments, connection management system 150 may monitor communication exchanges in real time and perform automated actions (eg, rules-based actions) based on live communications. For example, if connection management system 150 determines that a communication is related to a particular item (e.g., a product), connection management system 150 may determine that the communication is related to a particular item (e.g., a product), and connection management system 150 may determine that the communication is related to a particular item (e.g., a product). Additional messages containing links to support documents or other information about the item or similar items may be automatically sent to the terminal device 115.

[0031]一事例では、指定された端末デバイス115は、接続管理システム150を通じて通信を中継することなく、ネットワークデバイス105と通信し得る。デバイス105、115の一方または両方が、通信の監視および/またはデータ記憶を促進するために、特定の通信メトリックまたはコンテンツを接続管理システム150に報告してもよい(または報告しなくてもよい)。 [0031] In one example, designated terminal device 115 may communicate with network device 105 without relaying the communication through connection management system 150. One or both of the devices 105, 115 may (or may not) report certain communication metrics or content to the connection management system 150 to facilitate communication monitoring and/or data storage. .

[0032]上述されたように、接続管理システム150は、選択通信をリモートサーバ140にルーティングし得る。リモートサーバ140は、所定の方法で情報を提供するように構成され得る。例えば、リモートサーバ140は、通信に応答して送信するために、定義された1つまたは複数のテキストパッセージ、音声記録(voice recording)、および/またはファイルにアクセスし得る。リモートサーバ140は、例えば、受信された通信の解析(例えば、意味解析またはマッピング解析)に基づいて、特定のテキストパッセージ、記録、またはファイルを選択し得る。 [0032] As mentioned above, connection management system 150 may route selected communications to remote server 140. Remote server 140 may be configured to provide information in a predetermined manner. For example, remote server 140 may access one or more defined text passages, voice recordings, and/or files to send in response to a communication. Remote server 140 may select particular text passages, records, or files based on, for example, analysis of the received communications (eg, semantic or mapping analysis).

[0033]接続管理システム150において実行されるルーティングおよび/または他の決定または処理は、1つまたは複数のクライアントデバイス130によって少なくとも部分的に定義されるかまたは提供されるデータおよび/または規則に基づいて実行され得る。例えば、クライアントデバイス130は、エージェントの優先順位付け、端末デバイスのタイプ、および/または、トピック/スキルマッチングを識別する通信を送信し得る。別の例として、クライアントデバイス130は、ルーティング決定に潜在的に影響を及ぼす様々な変数(例えば、言語互換性、予測応答時間、デバイスタイプおよび能力、ならびに/または端末デバイスの負荷均衡化)に適用するための1つまたは複数の重みを識別し得る。どの端末デバイスおよび/またはエージェントがクライアントに関連付けられるべきかは、動的であり得ることが理解されよう。クライアントデバイス130および/または端末デバイス115からの通信は、所与の端末デバイスおよび/またはエージェントがクライアントに関連付けられたものとして追加または削除されるべきであることを示す情報を提供し得る。例えば、クライアントデバイス130は、IPアドレスと、そのアドレスを有する端末デバイスが、クライアント関連の端末デバイスを識別するリストに追加されるべきか、またはリストから削除されるべきかに関するインジケーションと、を有する通信を送信し得る。 [0033] Routing and/or other decisions or processing performed in connection management system 150 are based at least in part on data and/or rules defined or provided by one or more client devices 130. It can be executed by For example, client device 130 may send a communication identifying agent prioritization, terminal device type, and/or topic/skill matching. As another example, client device 130 applies various variables that potentially affect routing decisions (e.g., language compatibility, expected response time, device type and capabilities, and/or terminal device load balancing). One or more weights may be identified for the purpose. It will be appreciated that which terminal device and/or agent should be associated with a client may be dynamic. Communications from client device 130 and/or terminal device 115 may provide information indicating that a given terminal device and/or agent is to be added or removed as associated with the client. For example, client device 130 has an IP address and an indication as to whether the terminal device with that address should be added to or removed from a list that identifies client-associated terminal devices. Communications may be sent.

[0034]各通信(例えば、デバイス間、デバイスと接続管理システム150との間、リモートサーバ140と接続管理システム150との間、またはリモートサーバ140とデバイスとの間)は、1つまたは複数のネットワーク170上で行われ得る。オープンまたはクローズドネットワークの任意の組合せが、1つまたは複数のネットワーク170に含まれ得る。好適なネットワークの例は、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはワイヤレスローカルエリアネットワーク(WLAN)を含む。他のネットワークも同様に好適であり得る。1つまたは複数のネットワーク170は、イントラネット、エクストラネット、またはこれらの組合せ内に完全に組み込まれ得るか、またはそれらを含み得る。いくつかの事例では、1つまたは複数のネットワーク170におけるネットワークは、Bluetooth(登録商標)またはBluetooth Low Energyチャネル等の、短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/またはデバイス間の通信は、セキュアソケットレイヤ(SSL)またはトランスポートレイヤセキュリティ(TLS)等の、セキュア通信プロトコルによって達成され得る。加えて、データおよび/またはトランザクションの詳細は、限定はしないが、データ暗号化標準(DES)、トリプルDES、Rivest-Shamir-Adleman暗号(RSA)、Blowfish暗号、Advanced Encryption Standard(AES)、CAST-128、CAST-256、無相関化高速暗号(DFC:Decorrelated Fast Cipher)、Tiny Encryption Algorithm(TEA)、eXtended TEA(XTEA)、Corrected Block TEA(XXTEA)、および/またはRC5等のような、任意の便利な、既知の、または将来開発される方法に基づいて、暗号化され得る。 [0034] Each communication (e.g., between devices, between a device and connection management system 150, between remote server 140 and connection management system 150, or between remote server 140 and a device) may include one or more It may take place over network 170. Any combination of open or closed networks may be included in one or more networks 170. Examples of suitable networks include the Internet, a personal area network, a local area network (LAN), a wide area network (WAN), or a wireless local area network (WLAN). Other networks may be suitable as well. One or more networks 170 may be fully embedded within or include an intranet, an extranet, or a combination thereof. In some cases, the networks in one or more networks 170 include short-range communication channels, such as Bluetooth® or Bluetooth Low Energy channels. In one embodiment, communication between two or more systems and/or devices may be accomplished by a secure communication protocol, such as Secure Sockets Layer (SSL) or Transport Layer Security (TLS). In addition, the data and/or transaction details may be configured in accordance with, but not limited to, Data Encryption Standard (DES), Triple DES, Rivest-Shamir-Adleman Cipher (RSA), Blowfish Cipher, Advanced Encryption Standard (AES), CAST- 128, CAST-256, Decorrelated Fast Cipher (DFC), Tiny Encryption Algorithm (TEA), eXtended TEA (XTEA), Corrected Block TEA (XXTEA), and/or RC5, etc. It may be encrypted according to any convenient, known or later developed method.

[0035]ネットワークデバイス105、端末デバイス115、および/またはクライアントデバイス130は、例えば、ポータブル電子デバイス(例えば、スマートフォン、タブレット、ラップトップコンピュータ、またはスマートウェアラブルデバイス)、または非ポータブル電子デバイス(例えば、1つまたは複数のデスクトップコンピュータ、スマート家電、サーバ、および/またはプロセッサ)を含み得る。接続管理システム150は、ネットワークデバイス、端末デバイス、およびクライアントデバイスとは別個に収容され得るか、または(例えば、デバイス上でのアプリケーションのインストールを介して)1つまたは複数のそのようなデバイスの一部であり得る。リモートサーバ140は、各デバイスおよび接続管理システム150とは別個に収容され得、および/または、別のデバイスまたはシステムの一部であり得る。図1における各デバイス、サーバ、およびシステムが、単一のデバイスとして示されている一方で、代わりに複数のデバイスが使用され得ることが理解されよう。例えば、ネットワークデバイスのセットが、単一のユーザから様々な通信を送信するために使用され得、またはリモートサーバ140が、サーバスタックを含み得る。 [0035] Network device 105, terminal device 115, and/or client device 130 may be, for example, a portable electronic device (e.g., a smartphone, a tablet, a laptop computer, or a smart wearable device) or a non-portable electronic device (e.g., a (one or more desktop computers, smart appliances, servers, and/or processors). Connection management system 150 may be housed separately from network devices, terminal devices, and client devices, or may be integrated into one or more of such devices (e.g., via installation of an application on the device). It can be a department. Remote server 140 may be housed separately from each device and connection management system 150 and/or may be part of another device or system. It will be appreciated that while each device, server, and system in FIG. 1 is shown as a single device, multiple devices may be used instead. For example, a set of network devices may be used to transmit various communications from a single user, or remote server 140 may include a stack of servers.

[0036]ソフトウェアエージェントまたはアプリケーションが、図示されたデバイス、システム、またはサーバ上にインストールされ得、および/またはその上で実行可能であり得る。一事例では、ソフトウェアエージェントまたはアプリケーションは、様々な図示された要素が相補的な形で動作し得るように構成される。例えば、デバイス上のソフトウェアエージェントは、デバイス使用に関するデータを収集し、別個の接続管理システムに送信するように構成され得、別個の接続管理システム上のソフトウェアアプリケーションが、このデータを受信および処理するように構成され得る。 [0036] Software agents or applications may be installed and/or executable on the illustrated device, system, or server. In one example, the software agent or application is configured such that the various illustrated elements may operate in a complementary manner. For example, a software agent on a device may be configured to collect and send data about device usage to a separate connection management system, and a software application on the separate connection management system may be configured to receive and process this data. may be configured.

[0037]図2は、ネットワークインタラクションシステム200の別の実施形態のブロック図を示す。一般に、図2は、ネットワークデバイス205が、1つまたは複数の端末デバイス215と通信することを可能にするように構成および配置された様々なコンポーネントを例示する。図示された事例は、3つのローカルエリアネットワーク235に含まれる9個の端末デバイス215を含む。 [0037] FIG. 2 depicts a block diagram of another embodiment of a network interaction system 200. In general, FIG. 2 illustrates various components configured and arranged to enable network device 205 to communicate with one or more terminal devices 215. The illustrated example includes nine terminal devices 215 included in three local area networks 235.

[0038]いくつかの事例では、ネットワークデバイス205からの通信は、どの端末デバイスが通信を受信すべきかを少なくとも部分的にまたは完全に示す宛先データ(例えば、宛先IPアドレス)を含む。ネットワークインタラクションシステム200は、宛先データを処理し、適切なルーティングを促進し得る、1つまたは複数のインターネットワーク接続コンポーネント240および/または1つまたは複数のイントラネットワーク接続コンポーネント255を含み得る。 [0038] In some instances, communications from network device 205 include destination data (eg, a destination IP address) that at least partially or completely indicates which terminal device should receive the communication. Network interaction system 200 may include one or more internetwork connection components 240 and/or one or more intranetwork connection components 255 that may process destination data and facilitate proper routing.

[0039]各インターネットワーク接続コンポーネント245は、複数のネットワーク235に接続され得、複数のネットワークカードをインストールされ得る(例えば、各カードは異なるネットワークに接続される)。例えば、インターネットワーク接続コンポーネント245は、広域ネットワーク270(例えば、インターネット)および1つまたは複数のローカルエリアネットワーク235に接続され得る。図示された事例では、通信がネットワークデバイス205から端末デバイスのいずれかに送信されるためには、図示されたシステムでは、通信は複数のインターネットワーク接続コンポーネント245によって処理されなければならない。 [0039] Each internetwork connection component 245 may be connected to multiple networks 235 and may have multiple network cards installed (eg, each card connected to a different network). For example, internetwork connection component 245 may be connected to wide area network 270 (eg, the Internet) and one or more local area networks 235. In the illustrated case, in order for a communication to be transmitted from network device 205 to any of the terminal devices, the communication must be handled by multiple internetwork connection components 245 in the illustrated system.

[0040]インターネットワーク接続コンポーネント245が通信(または通信に対応するパケットのセット)を受信すると、インターネットワーク接続コンポーネント245は、この通信を宛先に関連付けられたネットワークに渡すルートの少なくとも一部を決定し得る。ルートは、例えば、(例えば、ルータにおいて記憶された)ルーティングテーブルを使用して決定され得、これは、事前に定義されたか、(例えば、別のルータからかまたは別のデバイスからの)到来するメッセージに基づいて生成されたか、または学習された1つまたは複数のルートを含み得る。 [0040] When internetwork connectivity component 245 receives a communication (or a set of packets corresponding to the communication), internetwork connectivity component 245 determines at least a portion of the route to route this communication to the network associated with the destination. obtain. The route may, for example, be determined using a routing table (e.g., stored at a router), which may be predefined or incoming (e.g., from another router or from another device). It may include one or more routes generated or learned based on the message.

[0041]インターネットワーク接続コンポーネント245の例は、ルータ260およびゲートウェイ265を含む。インターネットワーク接続コンポーネント245(例えば、ゲートウェイ265)は、ネットワークシステムまたはプロトコル間で変換するように構成され得る。例えば、ゲートウェイ265は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)デバイスと、インターネットワークパケット交換/シーケンスパケット交換(IPX/SPX)デバイスとの間の通信を促進し得る。 [0041] Examples of internetwork connection components 245 include router 260 and gateway 265. Internetwork connection component 245 (eg, gateway 265) may be configured to translate between network systems or protocols. For example, gateway 265 may facilitate communications between Transmission Control Protocol/Internet Protocol (TCP/IP) devices and Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX) devices.

[0042]ローカルエリアネットワーク235において通信を受信すると、更なるルーティングが依然として実行される必要があり得る。このようなイントラネットワークルーティングは、スイッチ280またはハブ285等の、イントラネットワーク接続コンポーネント255を介して実行され得る。各イントラネットワーク接続コンポーネント255は、(例えば、ワイヤレスに、またはイーサネット(登録商標)ケーブル等を介して有線で)複数の端末デバイス215に接続され得る。ハブ285は、それが接続されている各デバイスに対して、全ての受信された通信を繰り返すように構成され得る。次いで、各端末デバイスは、端末デバイスが宛先デバイスであるかどうか、または通信が無視されるべきであるかどうかを決定するために、各通信を評価し得る。スイッチ280は、通信を宛先端末デバイスのみに選択的に誘導するように構成され得る。 [0042] Upon receiving a communication on local area network 235, further routing may still need to be performed. Such intranetwork routing may be performed via intranetwork connection component 255, such as switch 280 or hub 285. Each intranetwork connection component 255 may be connected (eg, wirelessly or wired, such as via an Ethernet cable) to multiple terminal devices 215. Hub 285 may be configured to repeat all received communications to each device to which it is connected. Each terminal device may then evaluate each communication to determine whether it is the destination device or whether the communication should be ignored. Switch 280 may be configured to selectively direct communications only to destination terminal devices.

[0043]いくつかの事例では、ローカルエリアネットワーク235は、複数のセグメントに分割され得、その各々が、独立したファイアウォール、セキュリティ規則、およびネットワークプロトコルに関連付けられ得る。イントラネットワーク接続コンポーネント255は、イントラセグメントルーティングを促進するために、1つ、複数、または全てのセグメントの各々において設けられ得る。ブリッジ280は、セグメント275にわたって通信をルーティングするように構成され得る。 [0043] In some cases, local area network 235 may be divided into multiple segments, each of which may be associated with independent firewalls, security rules, and network protocols. An intra-network connection component 255 may be provided in each of one, multiple, or all segments to facilitate intra-segment routing. Bridge 280 may be configured to route communications across segment 275.

[0044]ネットワークにわたって、またはネットワーク内で通信を適切にルーティングするために、様々なコンポーネントが通信における宛先データを分析する。例えば、そのようなデータは、通信がどのネットワークにルーティングされるべきか、通信がネットワーク内のどのデバイスにルーティングされるべきか、または端末デバイスがどの通信を処理すべきか(無視すべきか)を示し得る。しかしながら、いくつかの事例では、ネットワークデバイスからの通信にどの端末デバイスが参加すべきか(またはどのネットワークが参加すべきかさえも)は直ぐには分からない。 [0044] Various components analyze destination data in communications in order to appropriately route communications across or within a network. For example, such data may indicate which network the communication should be routed to, which device within the network the communication should be routed to, or which communication the terminal device should process (or ignore). obtain. However, in some cases, it is not immediately known which terminal devices (or even which networks) should participate in communications from a network device.

[0045]例として、端末デバイスのセットが、同様のタイプの応答通信を提供するように構成され得る。したがって、ネットワークデバイスからの通信におけるクエリは、どのネットワークデバイスに通信がルーティングされるかにかかわらず、同様の方法で応答され得ることが予期され得る。この仮定は、高いレベルで当てはまり得るが、端末デバイスに関係する様々な詳細は、特定のルーティングが他のものと比較して有利になることをもたらし得る。例えば、セット内の端末デバイスは、(例えば)どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的近接性および/もしくはネットワーク近接性、および/または、関連付けられたエージェントの特性(例えば、知識ベース、経験、使用言語、可用性、一般的な性格またはセンチメント等)に関して互いに異なり得る。したがって、選択ルーティングは、ネットワークデバイスの通信により正確におよび/または完全に応答する、より高速な応答を促進し得る。1つの問題点は、ネットワークデバイスを端末デバイスにマッピングする静的ルーティングが、通信のトピック、チャネルタイプ、エージェントの可用性等におけるバリエーションを考慮できない場合があることである。 [0045] As an example, a set of terminal devices may be configured to provide similar types of response communications. Accordingly, it can be expected that queries in communications from network devices may be answered in a similar manner regardless of which network device the communication is routed to. Although this assumption may hold true at a high level, various details related to the terminal device may result in certain routings being advantageous compared to others. For example, the terminal devices in the set may have knowledge of (e.g.) which communication channels are supported, geographic proximity and/or network proximity to network devices, and/or characteristics of the associated agents (e.g., knowledge). may differ from each other in terms of base, experience, language used, availability, general personality or sentiment, etc.). Accordingly, selective routing may facilitate faster responses that respond more accurately and/or completely to network device communications. One problem is that static routing, which maps network devices to terminal devices, may not account for variations in communication topics, channel types, agent availability, etc.

[0046]図3A~図3Cは、接続管理システムを含むネットワークインタラクションシステム300a~cの他の実施形態のブロック図を示す。図示されたシステム300a~cの各々は、簡略化のために2つのローカルエリアネットワーク235のみを示しているが、ローカルエリアネットワークの数を増やすために、実施形態が拡張され得ることが理解され得る。システム300a~cの各々は、接続管理システム350を含み、これは、どの端末デバイスがネットワークデバイス205と通信すべきかを識別し得、接続チャネルを確立および管理(例えば、維持するまたは閉じる)し得、交換において通信を再ルーティングするかどうかおよびいつ再ルーティングするかを決定し得る、等する。したがって、接続管理システム350は、ルーティング決定に影響を及ぼすために、通信、エージェントの可用性、端末デバイスまたはエージェントの能力等を動的にかつリアルタイムで評価するように構成され得る。 [0046] FIGS. 3A-3C depict block diagrams of other embodiments of network interaction systems 300a-c that include connection management systems. Although each of the illustrated systems 300a-c shows only two local area networks 235 for simplicity, it can be appreciated that the embodiments may be expanded to increase the number of local area networks. . Each of systems 300a-c includes a connection management system 350, which may identify which terminal devices should communicate with network device 205, and which may establish and manage (e.g., maintain or close) connection channels. , may decide whether and when to reroute communications in the exchange, and so on. Accordingly, connection management system 350 may be configured to dynamically and in real time evaluate communications, agent availability, terminal device or agent capabilities, etc. to influence routing decisions.

[0047]図3Aでは、接続管理システム350は、ネットワークデバイス205およびリモートサーバ340の各々に関連付けられている(例えば、接続管理システム350aは、ネットワークデバイス205に関連付けられており、接続管理システム350bは、リモートサーバ340に関連付けられている)。例えば、接続管理システム350aおよび/または接続管理システム350bは、それぞれネットワークデバイス205およびリモートサーバ340の各々にアプリケーションとしてインストールまたは記憶され得る。(1つまたは複数の)アプリケーションの実行は、例えば、ネットワークデバイス205との通信交換に参加するために選択される端末デバイス215を識別するための、ネットワークデバイス205とリモートサーバ340との間の通信を促進し得る。識別は、本明細書で開示される1つまたは複数のファクタ(例えば、可用性、通信のトピック/詳細レベルと、エージェントまたは端末デバイスの知識ベースとの間のマッチング、予測レイテンシ、チャネルタイプの可用性等)に基づいて行われ得る。 [0047] In FIG. 3A, connection management system 350 is associated with each of network device 205 and remote server 340 (e.g., connection management system 350a is associated with network device 205, connection management system 350b is associated with , associated with remote server 340). For example, connection management system 350a and/or connection management system 350b may be installed or stored as applications on each of network device 205 and remote server 340, respectively. Execution of the application(s) may involve communication between network device 205 and remote server 340, e.g., to identify terminal device 215 to be selected to participate in a communication exchange with network device 205. can be promoted. The identification may be based on one or more factors disclosed herein (e.g., availability, matching between the topic/level of detail of the communication and the knowledge base of the agent or terminal device, expected latency, channel type availability, etc.) ).

[0048]クライアントデバイス330は、ルーティング決定がどのように行われるべきか示すクライアントデータを提供し得る。例えば、このようなデータは、特定の特性をどのように重み付けまたはマッチングさせるべきかに関するインジケーション、または制約もしくはバイアス(例えば、負荷バランシングまたは予測応答レイテンシに関係する)を含み得る。クライアントデータはまた、通信チャネルがいつ確立される(または閉じられる)べきか、または異なるネットワークデバイスに通信がいつ再ルーティングされるべきかに関する仕様も含み得る。クライアントデータは、通信ルーティング等のための規則等の、様々なクライアント固有の規則を定義するために使用され得る。 [0048] Client device 330 may provide client data indicating how routing decisions should be made. For example, such data may include indications as to how particular characteristics should be weighted or matched, or constraints or biases (eg, related to load balancing or expected response latency). Client data may also include specifications regarding when a communication channel should be established (or closed) or when communications should be rerouted to a different network device. Client data may be used to define various client-specific rules, such as rules for communication routing and the like.

[0049]リモートサーバ340上で実行中の接続管理システム350bは、どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的近接性および/もしくはネットワーク近接性、端末デバイスとの通信のレイテンシおよび/もしくは安定性、端末デバイスのタイプ、端末デバイスの能力、端末デバイス(またはエージェント)が所与のネットワークデバイス(またはユーザ)と以前に通信したことがあるかどうか、ならびに/または、関連付けられたエージェントの特性(例えば、知識ベース、経験、使用言語、可用性、一般的な性格またはセンチメント等)のような、端末デバイスに関係する(例えば、所与のクライアントに関係する)様々なメトリックを監視し得る。したがって、接続管理システム350bは、メトリックに基づいて、ネットワークデバイスの通信により正確におよび/または完全に応答する、より高速な応答を促進するようにルーティングを選択することが可能となり得る。 [0049] The connection management system 350b running on the remote server 340 determines which communication channels are supported, the geographic proximity and/or network proximity to network devices, the latency and/or or stability, the type of terminal device, the capabilities of the terminal device, whether the terminal device (or agent) has previously communicated with a given network device (or user), and/or the associated agent's Various metrics related to the terminal device (e.g., related to a given client) may be monitored, such as characteristics (e.g., knowledge base, experience, language used, availability, general personality or sentiment, etc.) . Accordingly, the connection management system 350b may be able to select routing based on the metric to facilitate a more accurate and/or complete response to network device communications and a faster response.

[0050]図3Aに図示される例では、ネットワークデバイス205とリモートサーバ340との間の通信交換は、宛先アドレスの早期識別を促進し得る。次いで、ネットワークデバイス205は、後続の通信を誘導するために、宛先アドレスを使用し得る。例えば、ネットワークデバイス205は、(例えば、1つまたは複数のインターネットワーク接続および広域ネットワークを介して)リモートサーバ340に初期通信を送り得、リモートサーバ340は、1つまたは複数の対応するクライアントを識別し得る。次いで、リモートサーバ340は、1つまたは複数の対応するクライアントに関連付けられた端末デバイスのセットを識別し、それらの端末デバイスについてのメトリックを収集し得る。メトリックは、通信交換に関与させる端末デバイスを選択するために(例えば、リモートサーバ340によって)評価され得、端末デバイスに関係する情報(例えば、IPアドレス)が、ネットワークデバイス205に送られ得る。いくつかの実施形態では、リモートサーバ340は、様々な端末デバイスについてのメトリックを継続的または周期的に収集および評価し、評価結果をデータストアに記憶し得る。このような実施形態では、1つまたは複数の対応するクライアントに関連付けられた端末デバイスのセットを識別すると、リモートサーバ340は、データストアからの記憶された評価結果にアクセスし、記憶された評価結果に基づいて、通信交換に関与させる端末デバイスを選択し得る。 [0050] In the example illustrated in FIG. 3A, the communication exchange between network device 205 and remote server 340 may facilitate early identification of the destination address. Network device 205 may then use the destination address to direct subsequent communications. For example, network device 205 may send an initial communication (e.g., via one or more internetwork connections and a wide area network) to remote server 340 that identifies one or more corresponding clients. It is possible. Remote server 340 may then identify the set of terminal devices associated with one or more corresponding clients and collect metrics for those terminal devices. Metrics may be evaluated (eg, by remote server 340) to select terminal devices to engage in the communication exchange, and information related to the terminal devices (eg, IP addresses) may be sent to network device 205. In some embodiments, remote server 340 may continuously or periodically collect and evaluate metrics for various terminal devices and store evaluation results in a data store. In such embodiments, upon identifying a set of terminal devices associated with one or more corresponding clients, the remote server 340 accesses the stored assessment results from the data store and stores the stored assessment results. Terminal devices may be selected to participate in the communication exchange based on .

[0051]図3Bでは、接続管理システム350は、中継器および/または宛先アドレスとして機能するように構成され得る。したがって、例えば、ネットワークデバイス205のセットは、各々が接続管理システム350を宛先として識別する通信を送信し得る。接続管理システム350は、各通信を受信し得、端末デバイスのセットを(例えば、各端末デバイスについてのメトリックを生成するために)同時並行に監視し得る。監視および規則に基づいて、接続管理システム350は、それが各通信を中継し得る端末デバイス215を識別し得る。実施形態に応じて、端末デバイスの通信は、同様に、更なる中継のために(例えば、接続管理システム350の)一貫した宛先に誘導され得るか、または、端末デバイスは、対応するネットワークデバイスと直接通信することを開始し得る。これらの実施形態は、効率的なルーティングおよび徹底した通信の監視を促進し得る。 [0051] In FIG. 3B, connection management system 350 may be configured to function as a repeater and/or a destination address. Thus, for example, a set of network devices 205 may send communications that each identify connection management system 350 as the destination. Connection management system 350 may receive each communication and monitor a set of terminal devices in parallel (eg, to generate metrics for each terminal device). Based on monitoring and rules, connection management system 350 may identify terminal devices 215 to which it may relay each communication. Depending on the embodiment, a terminal device's communications may similarly be directed to a consistent destination (e.g., at connection management system 350) for further relaying, or the terminal device may communicate with a corresponding network device. You can start communicating directly. These embodiments may facilitate efficient routing and thorough communication monitoring.

[0052]図3Cに図示される実施形態は、図3Bのものと同様である。しかしながら、いくつかの実施形態では、接続管理システム350は、イントラネットワークコンポーネント(例えば、端末デバイス、イントラネットワーク接続、またはその他)に直接接続される。 [0052] The embodiment illustrated in FIG. 3C is similar to that of FIG. 3B. However, in some embodiments, connection management system 350 is directly connected to an intranetwork component (eg, a terminal device, intranetwork connection, or other).

[0053]図3A~図3Cの多くのバリエーションが企図されることが理解されよう。例えば、接続管理システム350は、接続管理システム350(またはその一部)に対応するアプリケーションが、コンポーネント上にインストールされるように、接続コンポーネント(例えば、インターネットワーク接続コンポーネント245またはイントラネットワーク接続コンポーネント255)に関連付けられ得る。アプリケーションは、例えば、独立に、または(例えば、1つまたは複数の他のコンポーネント、ネットワークデバイス、またはリモートサーバ上で実行中の)1つまたは複数の同様のまたは相補的なアプリケーションと通信することによって、実行し得る。 [0053] It will be appreciated that many variations of FIGS. 3A-3C are contemplated. For example, the connection management system 350 may connect a connection component (e.g., internetwork connection component 245 or intranetwork connection component 255) such that an application corresponding to connection management system 350 (or a portion thereof) is installed on the component. can be associated with. An application may, for example, independently or by communicating with one or more similar or complementary applications (e.g., running on one or more other components, network devices, or remote servers). , can be executed.

[0054]図4は、接続コンポーネントの動作のプロトコルスタックマッピング400を表したものを示す。より具体的には、図4は、様々な接続コンポーネントに対応する開放型システムインタラクション(OSI:Open Systems Interaction)モデルにおける動作の層を識別する。 [0054] FIG. 4 shows a representation of a protocol stack mapping 400 of the operation of a connection component. More specifically, FIG. 4 identifies the layers of operation in an Open Systems Interaction (OSI) model that correspond to various connected components.

[0055]OSIモデルは、複数の論理層402~414を含み得る。これらの層は、層402~412がそれぞれ上位レベルをサービスし、層404~414がそれぞれ下位層によってサービスされるように、順序付けられたスタックにおいて配置されている。OSIモデルは、物理層402を含む。物理層402は、パラメータの物理的通信(例えば、電気的、光学的、または電磁的)を定義し得る。物理層402はまた、接続を確立および閉じるためのプロトコル等の接続管理プロトコルを定義する。物理層402は、フロー制御プロトコルおよび送信モードをさらに定義し得る。 [0055] The OSI model may include multiple logical layers 402-414. These layers are arranged in an ordered stack such that layers 402-412 each service a higher level and layers 404-414 each service a lower level. The OSI model includes a physical layer 402. Physical layer 402 may define physical communication (eg, electrical, optical, or electromagnetic) of parameters. Physical layer 402 also defines connection management protocols, such as protocols for establishing and closing connections. Physical layer 402 may further define flow control protocols and transmission modes.

[0056]リンク層404は、ノード間通信を管理し得る。リンク層404は、エラー(例えば、物理層402における送信エラー)を検出および訂正し、アクセス許可を管理し得る。リンク層404は、媒体アクセス制御(MAC)層および論理リンク制御(LLC)層を含み得る。 [0056] Link layer 404 may manage inter-node communications. Link layer 404 may detect and correct errors (eg, transmission errors at physical layer 402) and manage access permissions. Link layer 404 may include a medium access control (MAC) layer and a logical link control (LLC) layer.

[0057]ネットワーク層406は、(例えば、データグラムとして)同じネットワーク内のノードにわたる(例えば、可変長の)データの転送を調整し得る。ネットワーク層406は、論理ネットワークアドレスを物理機械アドレスに変換し得る。 [0057] Network layer 406 may coordinate the transfer of (eg, variable length) data (eg, as datagrams) across nodes in the same network. Network layer 406 may translate logical network addresses to physical machine addresses.

[0058]トランスポート層408は、送信品質および受信品質を管理し得る。トランスポート層408は、送信制御プロトコル(TCP)等の、データを転送するためのプロトコルを提供し得る。トランスポート層408は、送信用のデータパケットのセグメント化/非セグメント化を実行し得、層402~406において発生する送信エラーを検出し、それに対処し得る。セッション層410は、ローカルアプリケーションとリモートアプリケーションとの間の接続を開始、維持、および終了させ得る。セッションは、リモートプロシージャインタラクションの一部として使用され得る。プレゼンテーション層412は、アプリケーション層またはネットワーク層によって受け入れられることが知られているデータタイプに基づいて、データを暗号化、解読、およびフォーマットし得る。 [0058] Transport layer 408 may manage transmission quality and reception quality. Transport layer 408 may provide a protocol for transferring data, such as Transmission Control Protocol (TCP). Transport layer 408 may perform segmentation/de-segmentation of data packets for transmission and may detect and address transmission errors that occur at layers 402-406. Session layer 410 may initiate, maintain, and terminate connections between local and remote applications. Sessions may be used as part of remote procedure interactions. Presentation layer 412 may encrypt, decrypt, and format data based on data types known to be accepted by the application layer or network layer.

[0059]アプリケーション層414は、通信を制御または管理するソフトウェアアプリケーションとインタラクトし得る。そのようなアプリケーションを介して、アプリケーション層414は、(例えば)宛先、ローカルリソースの状態もしくは可用性、および/または通信のコンテンツもしくはフォーマッティングを識別し得る。様々な層402~414は、利用可能かつ適用可能な場合、他の機能を実行し得る。 [0059] Application layer 414 may interact with software applications that control or manage communications. Through such applications, application layer 414 may identify (for example) the destination, the status or availability of local resources, and/or the content or formatting of the communication. Various layers 402-414 may perform other functions as available and applicable.

[0060]イントラネットワーク接続コンポーネント422、424は、物理層402およびリンク層404において動作するように示されている。より具体的には、通信の受信および送信に関して動作が制御され得るように、ハブが物理層で動作し得る。ハブには、通信をアドレス指定するまたはデータをフィルタリングする能力がないため、それらは、上位レベルで動作する能力をほとんどまたは全く有していない。一方、スイッチは、それらがアドレス(例えば、MACアドレス)に基づいて通信フレームをフィルタリングすることが可能であるので、リンク層404で動作し得る。 [0060] Intranetwork connectivity components 422, 424 are shown operating at physical layer 402 and link layer 404. More specifically, a hub may operate at the physical layer so that operations may be controlled with respect to receiving and transmitting communications. Since hubs do not have the ability to address communications or filter data, they have little or no ability to operate at a higher level. Switches, on the other hand, may operate at the link layer 404 as they can filter communication frames based on addresses (eg, MAC addresses).

[0061]一方、インターネットワーク接続コンポーネント426、428は、上位レベル(例えば、層406~414)で動作するように示されている。例えば、ルータは、アドレス(例えば、IPアドレス)に基づいて、通信データパケットをフィルタリングし得る。ルータは、パケットを適切なネットワークに誘導するように、アドレスに基づいて特定のポートにパケットを転送し得る。ゲートウェイは、ネットワーク層およびそれより上位で動作し、同様のフィルタリングおよび誘導、ならびに(例えば、プロトコルまたはアーキテクチャにわたる)更なるデータのトランスレーションを実行し得る。 [0061]Internetwork connectivity components 426, 428, on the other hand, are shown operating at a higher level (eg, layers 406-414). For example, a router may filter communication data packets based on address (eg, IP address). A router may forward a packet to a particular port based on the address so as to direct the packet to the appropriate network. Gateways operate at the network layer and above and may perform similar filtering and navigation as well as further data translation (eg, across protocols or architectures).

[0062]接続管理システム450は、様々な実施形態において、様々な層のうちの1つ、複数、全て、または任意のものとインタラクトし得、および/またはその上で動作し得る。例えば、接続管理システム450は、どの端末デバイスとハブが通信するかを動的に調整するように、ハブとインタラクトし得る。別の例として、接続管理システム450は、コンポーネントが宛先(例えば、MAC、論理、または物理)アドレスとしてどの端末デバイスを選択するかに影響を及ぼすように、ブリッジ、スイッチ、ルータ、またはゲートウェイと通信し得る。更なる例として、接続管理システム450は、トランスポート層408上のデータパケットのセグメント化、セッション層410上のセッション持続時間、ならびに/または、プレゼンテーション層412上での暗号化および/もしくは圧縮を、監視、制御、または指示し得る。いくつかの実施形態では、接続管理システム450は、特定の層で動作する機器(例えば、リンク層404で動作するスイッチ)と通信を交換すること(例えば、それにコマンドを送ること)によって、(例えば、ネットワークデバイスと端末デバイスとの間の)既存の通信を特定の方法でルーティングまたは修正することによって、および/または、既存の通信に基づいて特定の情報(例えば、新しい宛先アドレス)を含む新しい通信を生成することによって、様々な層とインタラクトし得る。したがって、接続管理システム450は、様々なデバイスとのインタラクションを介して、および/または様々なプロトコルスタック層での動作に影響を及ぼすことを介して、通信ルーティングおよびチャネル確立(あるいは、維持または終了)に影響を及ぼし得る。 [0062] Connection management system 450 may interact with and/or operate on one, more than one, all, or any of the various layers in various embodiments. For example, connection management system 450 may interact with the hub to dynamically adjust which terminal devices the hub communicates with. As another example, connection management system 450 communicates with a bridge, switch, router, or gateway to influence which terminal device the component selects as a destination (e.g., MAC, logical, or physical) address. It is possible. As a further example, connection management system 450 may perform segmentation of data packets on transport layer 408, session duration on session layer 410, and/or encryption and/or compression on presentation layer 412. May be monitored, controlled, or directed. In some embodiments, the connection management system 450 is configured to (e.g., , by routing or modifying an existing communication (between a network device and a terminal device) in a particular way, and/or by creating a new communication that includes certain information (e.g., a new destination address) based on the existing communication. can interact with various layers by generating . Accordingly, connection management system 450 provides communication routing and channel establishment (or maintenance or termination) through interaction with various devices and/or through influencing operations at various protocol stack layers. can have an impact on

[0063]図5は、一実施形態によるマルチデバイス通信交換システム500を表す。システム500は、様々なタイプの通信チャネル上で様々なタイプの端末デバイスと通信するように構成されたネットワークデバイス505を含む。 [0063] FIG. 5 depicts a multi-device communication switching system 500 according to one embodiment. System 500 includes a network device 505 configured to communicate with various types of terminal devices over various types of communication channels.

[0064]図示される事例では、ネットワークデバイス505は、セルラネットワーク上で(例えば、基地局510を介して)通信を送信し得る。通信は、動作ネットワーク515にルーティングされ得る。動作ネットワーク515は、通信を受信し、どの端末デバイスが通信に応答すべきかを識別する接続管理システム520を含み得る。このような決定は、(例えば、コンテンツ分析またはクライアントを示すユーザ入力に基づいて)その通信が関係するクライアントを識別することと、クライアントに関連付けられた1つまたは複数の端末デバイスの各々について1つまたは複数のメトリックを決定することとに依存し得る。例えば、図5では、端末デバイス530a~cの各クラスタは、異なるクライアントに対応し得る。端末デバイスは、地理的にコロケートされ得るか、または分散され得る。メトリックは、記憶または学習されたデータおよび/またはリアルタイムの監視に基づいて(例えば、可用性に基づいて)決定され得る。 [0064] In the illustrated example, network device 505 may transmit communications over a cellular network (eg, via base station 510). Communications may be routed to operational network 515. Operating network 515 may include a connection management system 520 that receives communications and identifies which terminal devices should respond to the communications. Such determination may include identifying the client to which the communication pertains (e.g., based on content analysis or user input indicative of the client) and one for each of the one or more terminal devices associated with the client. or may depend on determining multiple metrics. For example, in FIG. 5, each cluster of terminal devices 530a-c may correspond to a different client. Terminal devices may be geographically co-located or distributed. Metrics may be determined based on stored or learned data and/or real-time monitoring (eg, based on availability).

[0065]接続管理システム520は、1つまたは複数のルータ525、または他のインターネットワークもしくはイントラネットワーク接続コンポーネントを介して、様々な端末デバイスと通信し得る。接続管理システム520は、1つまたは複数のデータストアにおいて、通信、端末デバイスの動作、クライアント規則、および/またはユーザ関連のアクション(例えば、オンラインアクティビティ)からの、またはそれらに関係するデータを収集、分析、および/または記憶し得る。このようなデータは、通信ルーティングに影響を及ぼし得る。 [0065] Connection management system 520 may communicate with various terminal devices via one or more routers 525 or other internetwork or intranetwork connection components. Connection management system 520 collects data from or related to communications, terminal device operations, client rules, and/or user-related actions (e.g., online activities) in one or more data stores. may be analyzed and/or stored. Such data can affect communication routing.

[0066]特に、通信ルーティングおよび/または処理に影響を及ぼすために、様々な他のデバイスがさらに使用され得る。例えば、図示される事例では、接続管理システム520はまた、ウェブサーバ540にも接続される。したがって、接続管理システム520は、技術的製品詳細等のような、関心対象のデータを検索し得る。 [0066] Various other devices may also be used, particularly to affect communication routing and/or processing. For example, in the illustrated case, connection management system 520 is also connected to web server 540. Accordingly, connection management system 520 may retrieve data of interest, such as technical product details and the like.

[0067]ネットワークデバイス505はまた、ウェブサーバ(例えば、ウェブサーバ545を含む)に接続され得る。いくつかの事例では、そのようなサーバとの通信には、接続管理システム520と通信交換を開始するための初期オプションが提供される。例えば、ネットワークデバイス505は、特定のウェブページを訪問している間に、通信機会が利用可能であることを検出し得、そのようなオプションが提示され得る。 [0067] Network device 505 may also be connected to a web server (eg, including web server 545). In some instances, communication with such a server is provided with an initial option to initiate a communication exchange with connection management system 520. For example, network device 505 may detect that communication opportunities are available and such options may be presented while visiting a particular web page.

[0068]通信システム500の1つまたは複数の要素がまた、ソーシャルネットワーキングサーバ550に接続され得る。ソーシャルネットワーキングサーバ550は、様々なユーザデバイスから受信したデータを集約し得る。したがって、例えば、接続管理システム520は、所与のユーザまたはユーザのクラスの一般的な(またはユーザ固有の)挙動を推定することが可能であり得る。 [0068] One or more elements of communication system 500 may also be connected to social networking server 550. Social networking server 550 may aggregate data received from various user devices. Thus, for example, connection management system 520 may be able to infer the general (or user-specific) behavior of a given user or class of users.

[0069]図6は、接続管理システム600の一実施形態のブロック図を示す。メッセージ受信機インターフェース605が、メッセージを受信し得る。いくつかの事例では、メッセージは、例えば、ネットワークデバイスまたは端末デバイス等の、(例えば、接続管理システム600とは別個に収容されるか、または同じハウジング内に収容される)ソースデバイスによって送信された通信の一部として受信され得る。いくつかの事例では、通信は、一連の通信または通信交換の一部であり得、これは、2つのデバイス(例えば、ネットワークデバイスおよび端末デバイス)間でルーティングされている一連のメッセージまたはメッセージ交換を含み得る。このメッセージまたは通信交換は、デバイス間のインタラクションの一部であり得、および/またはそれを定義し得る。通信チャネルまたは動作チャネルは、デバイス間のルーティングおよび通信交換を促進するために使用される1つまたは複数のプロトコル(例えば、ルーティングプロトコル、タスク割当てプロトコル、および/またはアドレス指定プロトコル)を含み得る。 [0069] FIG. 6 depicts a block diagram of one embodiment of a connection management system 600. A message receiver interface 605 may receive messages. In some cases, the message is sent by a source device (e.g., housed separately from connection management system 600 or housed within the same housing), such as a network device or a terminal device. may be received as part of a communication. In some cases, the communication may be part of a series of communications or communication exchanges, which includes a series of messages or message exchanges being routed between two devices (e.g., a network device and a terminal device). may be included. This message or communication exchange may be part of and/or define an interaction between devices. A communication or operational channel may include one or more protocols (eg, routing protocols, task assignment protocols, and/or addressing protocols) used to facilitate routing and communication exchanges between devices.

[0070]いくつかの事例では、メッセージは、ローカルまたはリモートユーザインターフェースにおいて受信された入力に基づいて生成されたメッセージを含み得る。例えば、メッセージは、ボタンもしくはキーの押下または記録された音声信号に基づいて生成されたメッセージを含み得る。一事例では、メッセージは、ネットワークデバイスが特定のアプリページまたはウェブページを提示していること、または特定の入力コマンド(例えば、キー順)を提供したことを検出した際に生成されるもの等の、自動的に生成されたメッセージを含む。メッセージは、通信交換を開始するためのもの等の、命令または要求を含み得る。 [0070] In some cases, the message may include a message generated based on input received at a local or remote user interface. For example, the message may include a message generated based on a button or key press or a recorded audio signal. In one example, the message is such as one generated when a network device detects that it is presenting a particular app page or web page, or that it has provided a particular input command (e.g., a key sequence). , including automatically generated messages. Messages may include instructions or requests, such as to initiate a communication exchange.

[0071]いくつかの事例では、メッセージは、クライアントの識別子を含み得るか、またはそれに関連付けられ得る。例えば、メッセージは、クライアント(またはクライアントに関連付けられたデバイス)を明示的に識別し得、メッセージは、クライアントに関連付けられたウェブページまたはアプリページを含み得るか、またはそれに関連付けられ得、メッセージは、クライアントに関連付けられた宛先アドレスを含み得るか、またはそれに関連付けられ得、あるいは、メッセージは、クライアントに関連付けられたアイテム(例えば、製品)またはサービスの識別を含み得るか、またはそれに関連付けられ得る。例として、ネットワークデバイスは、特定のクライアントのアプリページを提示し得、これは、エージェントに通信を送信するためのオプションを提供し得る。メッセージに対応するユーザ入力を受信すると、メッセージおよび特定のクライアントの識別子を含むように、通信が生成され得る。 [0071] In some cases, the message may include or be associated with an identifier of the client. For example, the message may explicitly identify the client (or a device associated with the client), the message may include or be associated with a web page or app page associated with the client, and the message may include: The message may include or be associated with a destination address associated with the client, or the message may include or be associated with an identification of an item (eg, a product) or service associated with the client. As an example, a network device may present a particular client's app page, which may provide an option to send a communication to an agent. Upon receiving user input corresponding to the message, a communication may be generated to include the message and an identifier for the particular client.

[0072]処理エンジン610は、受信された通信および/またはメッセージを処理し得る。処理は、例えば、1つまたは複数の特定のデータ要素(例えば、メッセージ、クライアント識別子、ネットワークデバイス識別子、アカウント識別子等)を抽出することを含み得る。処理は、(例えば、特定のデバイスタイプ、オペレーティングシステム、通信チャネルタイプ、プロトコルおよび/またはネットワークと互換性があるように)フォーマッティングまたは通信タイプを変換することを含み得る。 [0072] Processing engine 610 may process received communications and/or messages. Processing may include, for example, extracting one or more specific data elements (eg, message, client identifier, network device identifier, account identifier, etc.). Processing may include converting formatting or communication types (eg, to be compatible with a particular device type, operating system, communication channel type, protocol, and/or network).

[0073]メッセージ評価エンジン615が、(例えば、抽出または受信された)メッセージを評価し得る。評価は、例えば、メッセージについての1つまたは複数のカテゴリまたはタグを識別することを含み得る。カテゴリまたはタグのタイプの例は、(例えば)トピック、センチメント、複雑さ、および緊急性を含み得る。メッセージをカテゴリ分類することと、タグ付けすることとの間の違いは、カテゴリが(例えば、カテゴリオプションの所定のセットにしたがって)限定され得る一方で、タグは自由(open)であり得ることである。トピックは、例えば、技術的問題、使用の質問(a use question)、または要求を含み得る。カテゴリまたはタグは、例えば、(例えば、キーワード、文構造、繰り返された単語、句読文字および/または冠詞でない単語を識別することによる)メッセージの意味解析、(例えば、選択された1つまたは複数のカテゴリを有する)ユーザ入力、および/またはメッセージ関連の統計値(例えば、タイピング速度および/または応答レイテンシ)に基づいて決定され得る。 [0073] A message evaluation engine 615 may evaluate messages (eg, extracted or received). Evaluation may include, for example, identifying one or more categories or tags for the message. Examples of categories or tag types may include (for example) topic, sentiment, complexity, and urgency. The difference between categorizing a message and tagging it is that while categories can be limited (e.g., according to a predetermined set of category options), tags can be open. be. Topics may include, for example, technical issues, a use question, or requests. Categories or tags may include, for example, semantic analysis of a message (e.g., by identifying keywords, sentence structure, repeated words, punctuation characters, and/or non-article words); (with categories) and/or message-related statistics (eg, typing speed and/or response latency).

[0074]いくつかの事例では、メッセージ評価エンジン615は、メッセージについてのメトリックを決定し得る。メトリックは、例えば、文字数、単語数、大文字数、全て大文字の単語数、または特定の文字もしくは句読点(例えば、感嘆符、疑問符、および/またはピリオド)の事例の数を含み得る。メトリックは、感嘆符(または疑問符)で終わる文の割合、全て大文字の単語の割合等の比率を含み得る。 [0074] In some cases, message evaluation engine 615 may determine metrics for the message. Metrics may include, for example, number of characters, number of words, number of capital letters, number of words in all caps, or number of instances of a particular character or punctuation mark (eg, exclamation mark, question mark, and/or period). Metrics may include ratios such as the percentage of sentences ending in an exclamation point (or question mark), the percentage of words in all caps, and so on.

[0075]メッセージ評価エンジン615は、メッセージ、メッセージメトリック、および/またはメッセージ統計値をメッセージデータストア620に記憶し得る。各メッセージはまた、対応するソースデバイス、宛先デバイス、ネットワークデバイス、端末デバイス、クライアント、1つまたは複数のカテゴリ、1つまたは複数の段階、および/またはメッセージ関連の統計値を識別するデータ等の、他のデータ(例えば、メタデータ)に関連して記憶され得る。接続管理システム600の様々なコンポーネント(例えば、メッセージ評価エンジン615および/またはインタラクション管理エンジン625)は、クエリ応答メッセージ、メッセージメトリック、および/またはメッセージ統計値を検索する(retrieve)ために、メッセージデータストア620をクエリし得る。 [0075] Message evaluation engine 615 may store messages, message metrics, and/or message statistics in message data store 620. Each message also includes data identifying the corresponding source device, destination device, network device, terminal device, client, one or more categories, one or more stages, and/or message-related statistics. It may be stored in conjunction with other data (eg, metadata). Various components of connection management system 600 (e.g., message evaluation engine 615 and/or interaction management engine 625) may access message data stores to retrieve query response messages, message metrics, and/or message statistics. 620 may be queried.

[0076]インタラクション管理エンジン625は、どのデバイスに通信がルーティングされるべきか、ならびに受信デバイスおよび送信デバイスがどのように通信すべきかを決定し得る。これらの決定の各々は、例えば、特定のネットワークデバイス(または特定のユーザに関連付けられた任意のネットワークデバイス)が、端末デバイスのセットにおける端末デバイス(例えば、接続管理システム600に関連付けられた任意の端末デバイス、または1つまたは複数の特定のクライアントに関連付けられた任意の端末デバイス)と以前に通信しことがあるかどうかに依存し得る。 [0076] Interaction management engine 625 may determine to which devices communications should be routed and how receiving and transmitting devices should communicate. Each of these decisions determines, for example, whether a particular network device (or any network device associated with a particular user) is a terminal device in a set of terminal devices (e.g., any terminal associated with connection management system 600). (or any terminal device associated with one or more particular clients).

[0077]いくつかの事例では、ネットワークデバイス(または、同じユーザもしくはプロファイルに関連付けられた他のネットワークデバイス)が、所与の端末デバイスと以前に通信したことがあるとき、通信ルーティングは、一般に、同じ端末デバイスに向かってバイアスされ得る。ルーティングに影響を及ぼし得る他のファクタは、例えば、端末デバイス(または対応するエージェント)が利用可能であるかどうか、および/または端末デバイスの予測応答レイテンシを含み得る。このようなファクタは、絶対的に、または他の端末デバイスに対応する同様のメトリックに対して相対的に考慮され得る。再ルーティング規則(例えば、クライアント固有の規則または一般的規則)が、エージェント一貫性を断念する(forego)かどうかを決定するために、そのようなファクタがどのように評価され、重み付けされるべきかを示し得る。 [0077] In some cases, when a network device (or other network device associated with the same user or profile) has previously communicated with a given terminal device, communication routing generally may be biased toward the same terminal device. Other factors that may affect routing may include, for example, whether the terminal device (or corresponding agent) is available and/or the terminal device's expected response latency. Such factors may be considered in absolute terms or relative to similar metrics corresponding to other terminal devices. How such factors should be evaluated and weighted to determine whether a rerouting rule (e.g., client-specific or general rule) foregoes agent consistency. can be shown.

[0078]ネットワークデバイス(または同じユーザもしくはアカウントに関連付けられた他のネットワークデバイス)が所与の端末デバイスと以前に通信したことがないとき、端末デバイスの選択は、例えば、様々なエージェントの知識ベースが通信のトピックに対応する程度、所与の時間でのおよび/またはチャネルタイプ上での様々なエージェントの可用性、(例えば、クライアントに関連付けられた)端末デバイスのタイプおよび/または能力等のファクタに基づいて実行され得る。一事例では、規則は、これらのような1つまたは複数のファクタに対するサブパラメータと、各パラメータに割り当てるべき重みとをどのように決定するかを識別し得る。重み付けされたサブパラメータを組み合わせる(例えば、合計する)ことによって、各エージェントについてのパラメータが決定され得る。次いで、端末デバイスの選択が、端末デバイスのパラメータを比較することによって行われ得る。 [0078] When a network device (or other network device associated with the same user or account) has not previously communicated with a given terminal device, the selection of the terminal device may depend on the knowledge base of the various agents, e.g. corresponds to the topic of communication, the availability of various agents at a given time and/or on the channel type, the type and/or capabilities of the terminal device (e.g. associated with the client), etc. It can be carried out based on In one example, the rules may identify how to determine subparameters for one or more factors such as these and the weight to assign to each parameter. By combining (eg, summing) the weighted subparameters, parameters for each agent may be determined. Selection of a terminal device may then be performed by comparing parameters of the terminal devices.

[0079]デバイスがどのように通信すべきか決定することに関して、インタラクション管理エンジン625は、(例えば)端末デバイスが、(例えば)SMSメッセージ、音声通話、ビデオ通信等を介して通信に応答すべきかどうかを決定し得る。通信タイプは、例えば、(例えば、クライアントまたはユーザによって少なくとも部分的に定義される)通信タイプ優先順位リスト、(例えば、一貫性を増進するように)ネットワークデバイスから以前に受信された通信のタイプ、受信されたメッセージの複雑さ、ネットワークデバイスの能力、および/または、1つまたは複数の端末デバイスの可用性に基づいて選択され得る。明らかに、いくつかの通信タイプは、(例えば、高速メッセージ応答が予期される)リアルタイム通信をもたらすことになる一方で、その他は、(例えば、メッセージ間の(例えば、数分または数時間の)遅延が許容可能である)非同期通信をもたらし得る。 [0079] With respect to determining how devices should communicate, interaction management engine 625 determines whether (for example) a terminal device should respond to a communication via (for example) an SMS message, a voice call, a video communication, etc. can be determined. The communication type may include, for example, a communication type priority list (e.g., defined at least in part by a client or user), a type of communication previously received from a network device (e.g., to promote consistency), The selection may be based on the complexity of the received message, the capabilities of the network devices, and/or the availability of one or more terminal devices. Clearly, some communication types will result in real-time communication (e.g., where fast message responses are expected), while others will result in real-time communication (e.g., with a few minutes or hours between messages). may result in asynchronous communication (with acceptable delays).

[0080]さらに、インタラクション管理エンジン625は、2つのデバイス間の連続チャネルが確立、使用、または終了されるべきかどうかを決定し得る。連続チャネルは、ネットワークデバイスから指定された端末デバイスへの将来の通信のルーティングを促進するように構造化され得る。このバイアスは、メッセージ系列(message series)にわたってさえも持続し得る。いくつかの事例では、(例えば、エージェントを識別する)連続チャネルの表現が、ネットワークデバイス上で提示されるべき提示に含まれ得る。このようにして、ユーザは、効率を増進するために、通信が一貫してルーティングされるべきであることを理解し得る。 [0080] Additionally, interaction management engine 625 may determine whether a continuous channel between two devices should be established, used, or terminated. Continuous channels may be structured to facilitate the routing of future communications from network devices to designated terminal devices. This bias can persist even across message series. In some cases, a representation of a continuous channel (eg, identifying an agent) may be included in a presentation to be presented on a network device. In this way, users can understand that communications should be routed consistently to increase efficiency.

[0081]一事例では、パラメータが、所与のネットワークデバイスおよび端末デバイスに対応する接続パラメータを決定するために、本明細書で説明される1つまたは複数のファクタと、(例えば、1つまたは複数のファクタの各々についての重みを含む)規則とを使用して生成され得る。パラメータは、全体的な一致または所与の通信もしくは通信系列に固有の一致に関係し得る。したがって、例えば、パラメータは、所与の端末デバイスがネットワークデバイス通信に応答するのに適していると予測される程度を反映し得る。いくつかの事例では、パラメータ分析が、所与の通信をルーティングすべき端末デバイスの各々を識別するために、および接続チャネルを確立、使用、または終了させるかどうかを識別するために使用され得る。パラメータ分析がルーティング決定とチャネル決定との両方に対処するために使用されるとき、各決定に関連するパラメータは、同じ、同様の、または異なる方式で決定され得る。 [0081] In one instance, the parameters include one or more factors described herein to determine connection parameters corresponding to a given network device and terminal device (e.g., one or more (including weights for each of a plurality of factors). The parameters may relate to global matches or matches specific to a given communication or sequence of communications. Thus, for example, the parameters may reflect the extent to which a given terminal device is expected to be suitable for responding to network device communications. In some cases, parametric analysis may be used to identify each of the terminal devices to which a given communication should be routed and whether to establish, use, or terminate a connection channel. When parameter analysis is used to address both routing decisions and channel decisions, the parameters associated with each decision may be determined in the same, similar, or different manner.

[0082]したがって、例えば、パラメータが、長期一致(long-term match)の強度を予測するためのものであるか、特定のメッセージクエリに応答するためのものであるかに応じて、異なるファクタが考慮され得ることが理解されよう。例えば、前者の場合には、全体的なスケジュールおよび時間帯の考慮が重要であり得、一方、後者の場合には、即時の可用性がより高く重み付けされ得る。1つのパラメータが、単一のネットワークデバイス/端末デバイスの組合せに対して決定され得、または所与のネットワークデバイスと異なる端末デバイスとの間の一致をそれぞれ特徴付けている複数のパラメータが決定され得る。 [0082] Thus, for example, depending on whether the parameter is for predicting the strength of a long-term match or for responding to a specific message query, different factors may be It will be understood that this may be considered. For example, in the former case, overall schedule and time of day considerations may be important, whereas in the latter case, immediate availability may be weighted higher. One parameter may be determined for a single network device/terminal device combination, or multiple parameters may be determined, each characterizing a match between a given network device and a different terminal device. .

[0083]例として、クライアントに関連付けられた3つの端末デバイスのセットが、潜在的な通信ルーティングについて評価され得る。特定の通信に関する一致に関連する各々についてのパラメータが生成され得る。最初の2つの端末デバイスの各々は、通信を送信したネットワークデバイスと以前に通信したことがあり得る。ネットワークデバイスからの入力は、第1のデバイスとの(1つまたは複数の)通信でのインタラクションに関連付けられた肯定的なフィードバックを示したものであり得る。したがって、第1、第2、および第3のデバイスについての(規則にしたがって計算された)過去のインタラクトサブパラメータは、それぞれ、10、5、および0であり得る。(ネガティブフィードバックの入力は、ネガティブサブパラメータをもたらし得る)。第3の端末デバイスのみが利用可能であることが決定され得る。第2の端末デバイスは、15分以内に応答のために利用可能になるが、第1の端末デバイスは、次の日まで応答のために利用可能にならないことが予測され得る。したがって、第1、第2、および第3のデバイスについての高速応答サブパラメータは、1、3、および10であり得る。最後に、(端末デバイスに関連付けられた)エージェントが通信におけるトピックについて精通している程度が推定され得る。第3の端末デバイスに関連付けられたエージェントが、他の2つのデバイスに関連付けられたエージェントよりも精通していると決定され得、サブパラメータは、3、4および9となる。この例では、規則は、重み付けまたは正規化パラメータを含まず(ただし、他の事例では、規則に含まれる場合もある)、パラメータは、14、11および19となる。したがって、規則は、最も高いパラメータを有するデバイス、すなわち、第3の端末デバイスに、メッセージがルーティングされるべきであることを示し得る。特定の端末デバイスへのルーティングが失敗した場合、そのメッセージは、次に高いパラメータを有するデバイスにルーティングされ得、以下同様である。 [0083] As an example, a set of three terminal devices associated with a client may be evaluated for potential communication routing. Parameters may be generated for each associated match for a particular communication. Each of the first two terminal devices may have previously communicated with the network device that sent the communication. The input from the network device may be indicative of positive feedback associated with the communication interaction(s) with the first device. Therefore, the past interaction subparameters (calculated according to the rules) for the first, second, and third devices may be 10, 5, and 0, respectively. (Negative feedback inputs may result in negative subparameters). It may be determined that only a third terminal device is available. It may be expected that the second terminal device will be available for response within 15 minutes, but that the first terminal device will not be available for response until the next day. Therefore, the fast response subparameters for the first, second, and third devices may be 1, 3, and 10. Finally, the extent to which the agent (associated with the terminal device) is knowledgeable about the topic in the communication can be estimated. It may be determined that the agent associated with the third terminal device is more knowledgeable than the agents associated with the other two devices, and the subparameters would be 3, 4, and 9. In this example, the rule does not include weighting or normalization parameters (although in other cases the rule may include them), and the parameters would be 14, 11, and 19. Therefore, the rule may indicate that the message should be routed to the device with the highest parameter, ie, the third terminal device. If routing to a particular terminal device fails, the message may be routed to the device with the next highest parameter, and so on.

[0084]パラメータは、1つまたは複数の絶対閾値または相対閾値と比較され得る。例えば、通信がルーティングされ得る端末デバイスを選択するために、端末デバイスのセットについてのパラメータが、高いパラメータを識別するために互いに比較され得る。別の例として、パラメータ(例えば、高いパラメータ)が、端末デバイスとの連続チャネルを確立するかどうかを決定するために、1つまたは複数の絶対閾値と比較され得る。連続チャネルを確立するための全体的な閾値は、(そうである必要はないが)所与の一連のメッセージにおいて通信を一貫してルーティングするための閾値よりも高くなり得る。全体的な閾値と、通信を一貫してルーティングするかどうかを決定するための閾値との間のこの差は、チャネルの拡張された有用性を仮定すると(given)、連続チャネルのコンテキストでは、強い一致が重要であるからであり得る。いくつかの実施形態では、連続チャネルを使用するための全体的な閾値は、(そうである必要はないが)所与の一連のメッセージにおいて通信を一貫してルーティングするための、および/または連続チャネルを確立するための閾値よりも低くなり得る。 [0084] The parameters may be compared to one or more absolute or relative thresholds. For example, to select terminal devices to which communications may be routed, parameters for a set of terminal devices may be compared with each other to identify high parameters. As another example, a parameter (eg, a high parameter) may be compared to one or more absolute thresholds to determine whether to establish a continuous channel with the terminal device. The overall threshold for establishing a continuous channel may (although need not be) higher than the threshold for consistently routing communications in a given series of messages. This difference between the overall threshold and the threshold for deciding whether to route a communication consistently is This could be because matching is important. In some embodiments, the overall threshold for using consecutive channels is (although need not be) for consistently routing communications in a given series of messages, and/or may be lower than the threshold for establishing a channel.

[0085]インタラクション管理エンジン625は、様々なコンテキストにおいて、アカウントエンジン630とインタラクトし得る。例えば、アカウントエンジン630は、デバイスに対応するアカウントを識別するために、アカウントデータストア635内のネットワークデバイスまたは端末デバイスの識別子をルックアップし得る。さらに、アカウントエンジン630は、以前の通信交換に関するデータ(例えば、回数(times)、(1つまたは複数の)関与した他のデバイス、チャネルタイプ、解決段階、(1つまたは複数の)トピックおよび/または関連付けられたクライアント識別子)、(例えば、-1つまたは複数のクライアントの各々について-何らかのチャネルが存在するかどうか、各チャネルに関連付けられた端末デバイス、確立時間、使用頻度、最終使用日付、任意のチャネル制約および/またはサポートされる通信のタイプを示す)接続チャネルに関するデータ、(例えば、端末デバイスの選択、応答レイテンシ、端末デバイスの一貫性、エージェントの専門知識、および/または通信タイプの選好もしくは制約に関連する)ユーザまたはエージェントの選好または制約に関するデータ、および/または、ユーザまたはエージェントの特性に関するデータ(例えば、年齢、(1つまたは複数の)使用言語または選好の言語、地理的ロケーション、関心等)を維持し得る。 [0085] Interaction management engine 625 may interact with account engine 630 in various contexts. For example, account engine 630 may look up an identifier for a network device or terminal device in account data store 635 to identify the account corresponding to the device. Additionally, the accounting engine 630 may include data regarding previous communication exchanges (e.g., times, other device(s) involved, channel type, resolution stage, topic(s), and/or or associated client identifier), (for example - for each of the one or more clients - whether any channels exist, the terminal device associated with each channel, establishment time, frequency of use, date of last use, optional (e.g., terminal device selection, response latency, terminal device consistency, agent expertise, and/or communication type preferences or data about the user's or agent's preferences or constraints (relating to constraints) and/or data about the user's or agent's characteristics (e.g. age, language(s) of preference or preference, geographic location, interests); etc.) can be maintained.

[0086]さらに、インタラクション管理エンジン625は、アカウントデータストア635が現在のチャネルデータを反映するように更新され得るように、アカウントエンジン630に様々な接続チャネルアクションを知らせ(alert)得る。例えば、チャネルを確立すると、インタラクション管理エンジン625は、アカウントエンジン630に確立を通知し、ネットワークデバイス、端末デバイス、アカウント、およびクライアントのうちの1つまたは複数を識別し得る。その後、アカウントエンジン635は、(いくつかの事例では)利用されているエージェント一貫性をユーザが認識し得るように、チャネルの存在をユーザに通知し得る。 [0086] Additionally, interaction management engine 625 may alert account engine 630 of various connection channel actions so that account data store 635 may be updated to reflect current channel data. For example, upon establishing a channel, interaction management engine 625 may notify account engine 630 of the establishment and identify one or more of a network device, a terminal device, an account, and a client. The account engine 635 may then notify the user of the existence of the channel so that the user (in some cases) is aware of the agent consistency being utilized.

[0087]インタラクション管理エンジン625は、クライアントマッピングエンジン640とさらにインタラクトし得、それは、通信を1つまたは複数のクライアント(および/または関連付けられたブランド)にマッピングし得る。いくつかの事例では、ネットワークデバイス自体から受信される通信が、クライアントに対応する識別子(例えば、クライアント、ウェブページ、またはアプリページの識別子)を含む。識別子は、(例えば、クライアントマッピングエンジン640が検出し得る)メッセージの一部として含まれ得るか、またはメッセージ包含通信(message-inclusive communication)における他のデータとして含まれ得る。次いで、クライアントマッピングエンジン640は、クライアントおよび/またはクライアントの識別子に関する追加のデータを検索するために、クライアントデータストア645内の識別子をルックアップし得る。 [0087] Interaction management engine 625 may further interact with client mapping engine 640, which may map communications to one or more clients (and/or associated brands). In some cases, communications received from the network device itself include an identifier corresponding to the client (eg, an identifier of the client, web page, or app page). The identifier may be included as part of the message (eg, which may be detected by client mapping engine 640) or as other data in a message-inclusive communication. Client mapping engine 640 may then look up the identifier in client data store 645 to retrieve additional data regarding the client and/or the client's identifier.

[0088]いくつかの事例では、メッセージは、特にいずれのクライアントにも対応しない場合がある。例えば、メッセージは、一般的なクエリを含み得る。クライアントマッピングエンジン640は、例えば、メッセージに対して意味解析を実行し、1つまたは複数のキーワードを識別し、(1つまたは複数の)キーワードに関連付けられた1つまたは複数のクライアントを識別し得る。いくつかの事例では、単一のクライアントが識別される。いくつかの事例では、複数のクライアントが識別される。次いで、各クライアントの識別が、ユーザが(例えば、関連付けられた端末デバイスを介して)通信すべきクライアントを選択し得るように、ネットワークデバイスを介して提示され得る。 [0088] In some cases, a message may not specifically correspond to any client. For example, a message may include a general query. Client mapping engine 640 may, for example, perform semantic analysis on the message, identify one or more keywords, and identify one or more clients associated with the keyword(s). . In some cases, a single client is identified. In some cases, multiple clients are identified. The identity of each client may then be presented via the network device so that the user (eg, via an associated terminal device) may select the client with which to communicate.

[0089]クライアントデータストア645は、クライアントに関連付けられた1つまたは複数の端末デバイス(および/またはエージェント)の識別を含み得る。端末ルーティングエンジン650が、ルーティング決定に影響を及ぼすために、1つ、複数、または全てのそのような端末デバイス(および/またはエージェント)の各々に関係するデータを検索または収集し得る。例えば、端末ルーティングエンジン650は、端末データストア655を維持し得、これは、端末デバイスのデバイスタイプ、オペレーティングシステム、通信タイプの能力、インストールされたアプリケーションアクセサリ、地理的ロケーション、および/または識別子(例えば、IPアドレス)等の情報を記憶し得る。一部の情報は、動的に更新され得る。例えば、端末デバイスが利用可能であるかどうかを示す情報は、(例えば)端末デバイスからの通信(例えば、デバイスがスリープ状態にあるか、オフ/オンにされているか、非アクティブ/アクティブ状態にあるかを識別し、または入力が時間期間内に受信されたかどうかを識別する)、通信ルーティング(例えば、端末デバイスが通信交換に関与しているかどうか、またはそれに参加するように割り当てられているかどうかを示す)、または通信交換が終了または開始したことを示す、ネットワークデバイスまたは端末デバイスからの通信に基づいて、動的に更新され得る。 [0089] Client data store 645 may include the identification of one or more terminal devices (and/or agents) associated with the client. Terminal routing engine 650 may retrieve or collect data related to each of one, more, or all such terminal devices (and/or agents) to influence routing decisions. For example, the terminal routing engine 650 may maintain a terminal data store 655 that includes the terminal device's device type, operating system, communication type capabilities, installed application accessories, geographic location, and/or identifiers (e.g. , IP address), etc. Some information may be updated dynamically. For example, information indicating whether a terminal device is available may be transmitted from (e.g.) communications from the terminal device (e.g., whether the device is asleep, turned off/on, or in an inactive/active state). communication routing (e.g., whether a terminal device is involved in a communication exchange or is assigned to participate in it); may be dynamically updated based on communication from a network device or terminal device indicating that a communication exchange has ended or started.

[0090]様々なコンテキストでは、1つまたは複数の通信交換に従事していることは、必ずしも端末デバイスが別の通信交換に従事するのに利用可能でないことを示すとは限らないことが理解されよう。通信タイプ(例えば、メッセージ)、クライアントにより識別されたもしくはユーザにより識別されたターゲット応答時間、および/または(例えば、一般的な、またはユーザに関する)システム負荷等の様々なファクタが、端末デバイスがいくつの交換に関与し得るかに影響を及ぼし得る。 [0090] It is understood that in various contexts, being engaged in one or more communication exchanges does not necessarily indicate that the terminal device is not available to engage in another communication exchange. Good morning. Various factors such as communication type (e.g., message), client-identified or user-identified target response time, and/or system load (e.g., general or user-related) may affect how many terminal devices there are. may be involved in exchanges.

[0091]インタラクション管理エンジン625が通信交換または接続チャネルに関与させるべき端末デバイスを識別したとき、それは、端末ルーティングエンジン650に通知し得、端末ルーティングエンジン650は、端末データストア655から、宛先(例えば、IP)アドレス、デバイスタイプ、プロトコル等のような、端末デバイスに関する任意の関連データを検索し得る。次いで、処理エンジン610は、(いくつかの事例では)特定のフォーマットを有し、特定のプロトコルに準拠するように等、メッセージ包含通信を修正し得るか、または(メッセージを含む)新しい通信を生成し得る。いくつかの事例では、新しいまたは修正されたメッセージは、ネットワークデバイスに対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータ等の、追加のデータを含み得る。 [0091] When the interaction management engine 625 identifies a terminal device to engage in a communication exchange or connection channel, it may notify the terminal routing engine 650, which retrieves the terminal device from the terminal data store 655, e.g. , IP) address, device type, protocol, etc. may be retrieved. Processing engine 610 may then modify the message-containing communication, such as to have a particular format (in some cases), conform to a particular protocol, etc., or generate a new communication (containing the message). It is possible. In some cases, new or modified messages may include additional data, such as account data, message chronicles, and/or client data corresponding to network devices.

[0092]次いで、メッセージ送信機インターフェース660が、通信を端末デバイスに送信し得る。送信は、例えば、別個のハウジングに収容されたデバイスへのワイヤード送信またはワイヤレス送信を含み得る。端末デバイスは、接続管理システム600と同じまたは異なるネットワーク(例えば、ローカルエリアネットワーク)内の端末デバイスを含み得る。したがって、端末デバイスに通信を送信することは、インターまたはイントラネットワーク接続コンポーネントに通信を送信することを含み得る。 [0092] Message transmitter interface 660 may then transmit the communication to the terminal device. The transmission may include, for example, a wired or wireless transmission to a device housed in a separate housing. The terminal devices may include terminal devices in the same or different network (eg, local area network) as connection management system 600. Accordingly, sending the communication to the terminal device may include sending the communication to an inter- or intra-network connected component.

[0093](例えば、ユーザによって操作される)ネットワークデバイスとの通信セッション中に、ボットと(例えば、生身のユーザによって操作される)ユーザデバイスとの間で動的に切り替えるためのシステムおよび方法が提供される。いくつかの実装形態では、ボットは、ネットワークデバイスと自律的に通信するように構成され得る。さらに、ボットは、特定の能力のために構成され得る。能力の例は、データベースレコードを更新すること、ユーザに更新を提供すること、ユーザに関する追加のデータをエージェントに提供すること、ユーザのインテントを決定することおよびインテントに基づいてユーザを宛先システムにルーティングすること、ユーザと通信しているエージェントに対する応答を予測または提案すること、1つまたは複数の追加のボットまたはエージェントを含むように通信セッションを段階的に拡大させること(escalating)、ならびに他の好適な能力を含み得る。いくつかの実装形態では、ボットが、(例えば、チャット対応インターフェースを使用して)通信セッション中に(例えば、ユーザによって操作される)ネットワークデバイスと通信している間に、通信サーバが、ボットをユーザデバイスに切り替えることを自動的かつ動的に決定し得る。例えば、ボットは、ある特定のタスク(例えば、ユーザに関連付けられたデータベースレコードを更新すること)に関してユーザと通信し得、一方、端末デバイスは、(例えば、技術的問題を解決するために、通信チャネルを使用して通信する等)より困難なタスクについてユーザと通信し得る。 [0093] Systems and methods for dynamically switching between a bot and a user device (e.g., operated by a live user) during a communication session with a network device (e.g., operated by a user) are provided. provided. In some implementations, a bot may be configured to communicate autonomously with network devices. Additionally, bots can be configured for specific capabilities. Examples of capabilities include updating database records, providing updates to users, providing additional data about the user to agents, determining the user's intent, and directing the user to the destination system based on the intent. escalating a communication session to include one or more additional bots or agents, and others. may include suitable capabilities. In some implementations, while the bot is communicating with a network device (e.g., operated by a user) during a communication session (e.g., using a chat-enabled interface), the communication server A decision to switch to a user device may be made automatically and dynamically. For example, a bot may communicate with a user regarding some specific task (e.g., updating a database record associated with the user), while a terminal device may communicate with the user regarding a certain task (e.g., to resolve a technical problem). may communicate with users about more difficult tasks (such as communicating using channels).

[0094]いくつかの実装形態では、通信セッション中に、ボットとユーザデバイスとの間で切り替えるかどうかを決定することは、通信セッションにおけるメッセージの、1つまたは複数の特性の分析に基づき得る。さらに、動的センチメントパラメータが、メッセージ、会話、エンティティ、エージェント等のセンチメントを表すために生成され得る。例えば、動的センチメントパラメータが、ユーザがボットに不満を抱いていることを示す場合、システムは、生身のエージェントがユーザと通信し得るように、ボットをユーザデバイスに自動的に切り替え得る。あらゆる目的のために、その開示全体が参照により本明細書に組み込まれている、2016年6月2日に出願された米国特許出願第15/171,525号を参照されたい。いくつかの例では、ボットとユーザデバイスとの間で切り替えるかどうかを決定することは、ユーザからのプロンプトなしで実行され得る。決定は、通信セッション(例えば、チャット)における現在のメッセージの特性、以前の通信セッションにおいてユーザによって送信された以前のメッセージの特性、会話における複数のメッセージにわたる特性(例えば、センチメント)の軌跡、またはユーザに関連付けられた追加の情報(例えば、プロファイル情報、選好情報、およびユーザに関連付けられた他の好適な情報)を含む、任意の数のファクタに基づいて、通信サーバにおいて自動的に実行され得る。 [0094] In some implementations, determining whether to switch between a bot and a user device during a communication session may be based on an analysis of one or more characteristics of messages in the communication session. Additionally, dynamic sentiment parameters may be generated to represent sentiment of messages, conversations, entities, agents, etc. For example, if the dynamic sentiment parameters indicate that the user is dissatisfied with the bot, the system may automatically switch the bot to the user's device so that a live agent can communicate with the user. For all purposes, see US patent application Ser. No. 15/171,525, filed June 2, 2016, the entire disclosure of which is incorporated herein by reference. In some examples, determining whether to switch between the bot and the user device may be performed without prompting from the user. The determination may be based on characteristics of the current message in a communication session (e.g., a chat), characteristics of previous messages sent by the user in a previous communication session, a trajectory of characteristics (e.g., sentiment) across multiple messages in a conversation, or may be performed automatically at the communication server based on any number of factors, including additional information associated with the user (e.g., profile information, preference information, and other suitable information associated with the user) .

[0095]図7は、通信セッション中にボットとユーザデバイスとの間で動的に切り替えるためのネットワーク環境のブロック図を示す。いくつかの実装形態では、ネットワーク環境700は、ネットワークデバイス705と、通信サーバ710と、ユーザデバイス715と、ボット720と、を含み得る。通信サーバ710は、少なくとも1つの記憶デバイスを有する1つまたは複数のプロセッサを有するサーバであり得、本明細書で説明される方法および技法を実行するように構成され得る。例えば、通信サーバ710は、ネットワークデバイス(例えば、ユーザによって操作される)と、端末デバイス(例えば、エージェントによって操作される)との間の通信セッションを管理し得る。通信サーバ710は、ネットワークデバイス705とユーザデバイス715とが通信セッション中に互いに通信し得るように、ネットワークデバイス705とユーザデバイス715との間に通信チャネルを確立し得る。通信セッションは、ネットワークデバイス705とユーザデバイス715との間の1つまたは複数のメッセージの交換を促進し得る。本開示は、通信セッション中のメッセージの交換に限定されない。例えば、ビデオ通信(例えば、ビデオフィード)およびオーディオ通信(例えば、Voice-Over-IP接続)等の他の形態の通信が、通信セッションによって促進され得る。 [0095] FIG. 7 depicts a block diagram of a network environment for dynamically switching between a bot and a user device during a communication session. In some implementations, network environment 700 may include network device 705, communication server 710, user device 715, and bot 720. Communication server 710 may be a server having one or more processors with at least one storage device and may be configured to perform the methods and techniques described herein. For example, communication server 710 may manage communication sessions between a network device (eg, operated by a user) and a terminal device (eg, operated by an agent). Communication server 710 may establish a communication channel between network device 705 and user device 715 so that network device 705 and user device 715 may communicate with each other during a communication session. A communication session may facilitate the exchange of one or more messages between network device 705 and user device 715. This disclosure is not limited to exchanging messages during a communication session. Other forms of communication may be facilitated by the communication session, such as, for example, video communication (eg, video feed) and audio communication (eg, Voice-Over-IP connection).

[0096]いくつかの実装形態では、通信サーバ710は、ネットワークデバイス705とボット720との間に通信チャネルを確立し得る。ボット720は、実行されると、ネットワークデバイス705と自律的に通信するように構成されたコードであり得る。例えば、ボット720は、ネットワークデバイス705に関連付けられたユーザとの会話を開始するためのメッセージを自動的に生成するための、および/またはネットワークデバイス705からのメッセージに自動的に応答するためのボットであり得る。加えて、通信サーバ710は、プラットフォームに関連付けられ得る。クライアント(例えば、プラットフォームに対する外部システム)は、プラットフォームを使用して、それらの内部通信システムにおけるボットを展開し得る。いくつかの例では、クライアントは、プラットフォームにおいてそれら独自のボットを使用し得、これは、クライアントが、本明細書で説明される方法および技法をそれらの内部通信システムに実装することを可能にする。 [0096] In some implementations, communication server 710 may establish a communication channel between network device 705 and bot 720. Bot 720 may be code configured to autonomously communicate with network device 705 when executed. For example, bot 720 may be configured to automatically generate a message to initiate a conversation with a user associated with network device 705 and/or to automatically respond to a message from network device 705. It can be. Additionally, communications server 710 may be associated with the platform. Clients (eg, systems external to the platform) may use the platform to deploy bots in their internal communication systems. In some examples, clients may use their own bots in the platform, which enable clients to implement the methods and techniques described herein into their internal communication systems. .

[0097]いくつかの実装形態では、ボットは、1つまたは複数のソースによって定義され得る。例えば、データストア730は、通信サーバのクライアントによって定義された(例えば、作成またはコーディングされた)ボットを表すコードを記憶し得る。例えば、独自のボットを定義したクライアントは、ボットを通信サーバ710にロードし得る。クライアントによって定義されたボットは、クライアントボットデータストア730に記憶され得る。データストア740は、サードパーティシステムによって定義されたボットを表すコードを記憶し得る。例えば、サードパーティシステムは、独立したソフトウェアベンダを含み得る。データストア750は、通信サーバ710に関連付けられたエンティティによって定義されたボットを表すコードを記憶し得る。例えば、エンティティによってコーディングされたボットは、ボットが実行され、ユーザと自律的に通信し得るように、通信サーバ710にロードされ得るか、または通信サーバ710によってアクセス可能であり得る。いくつかの実装形態では、通信サーバ710は、クラウドネットワーク760を使用して、データストア730、データストア740、および/またはデータストア750に記憶されたボットにアクセスし得る。クラウドネットワーク760は、任意のネットワークであり得、インターネット等のオープンネットワーク、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、イントラネット、エクストラネット、または他のバックボーン等のプライベートネットワークを含み得る。 [0097] In some implementations, a bot may be defined by one or more sources. For example, data store 730 may store code representing a bot defined (eg, created or coded) by a client of the communication server. For example, a client that has defined its own bot may load the bot onto communication server 710. Bots defined by clients may be stored in client bot data store 730. Data store 740 may store code representing bots defined by third party systems. For example, third party systems may include independent software vendors. Data store 750 may store code representing bots defined by entities associated with communication server 710. For example, a bot coded by an entity may be loaded onto or accessible by communication server 710 such that the bot may run and communicate autonomously with a user. In some implementations, communication server 710 may use cloud network 760 to access bots stored in data store 730, data store 740, and/or data store 750. Cloud network 760 can be any network, such as an open network such as the Internet, a personal area network, a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), or a wireless network. It may include a private network such as a local area network (WLAN), intranet, extranet, or other backbone.

[0098]加えて、ユーザデバイス715は、ユーザによって操作され得る。ユーザデバイス715は、任意のポータブルデバイス(例えば、携帯電話、タブレット、ラップトップ)または非ポータブルデバイス(例えば、電子キオスク、デスクトップコンピュータ等)であり得る。いくつかの事例では、エージェントは、ユーザデバイス715上で実行中のブラウザを使用して、ウェブサイトにアクセスし得る。例えば、ウェブサイトは、ユーザデバイス715のブラウザ上で実行中のコンソールまたはプラットフォームを含み得る。エージェントは、ブラウザを使用してプラットフォームにログインされ得る。1つまたは複数のログイン認証情報(例えば、ユーザ名、パスワード、および同様のもの)が、エージェントがコンソールまたはコンソールに含まれるウェブアプリケーションへのアクセスを得ることを可能にする前に、エージェントのアイデンティティを認証するために使用され得る。コンソールの例は、1つまたは複数のAPI(アプリケーションプログラミングインターフェース)、1つまたは複数の機能を含むダッシュボード、通信セッションを確立することまたはそれに参加することができる(プラグインをダウンロードすることを必要とせずに)ウェブブラウザ上で実行中のウェブホステッドアプリケーション、および他の好適なインターフェースを含むプラットフォームを含み得る。さらに、コンソールは、実行され得る1つまたは複数のウェブアプリケーションまたは機能を含み得る。ウェブアプリケーションまたは機能は、ブラウザ、通信サーバ710、ローカルサーバ、リモートサーバ、または他の好適なコンピューティングデバイスにおいて実行され得る。例えば、ウェブアプリケーション、ネイティブアプリケーション、または機能は、エージェントが、ユーザと通信すること、および、ユーザと1つまたは複数のボットとの間の通信を閲覧することを可能にし得る。 [0098] Additionally, user device 715 may be operated by a user. User device 715 can be any portable device (eg, cell phone, tablet, laptop) or non-portable device (eg, electronic kiosk, desktop computer, etc.). In some cases, the agent may use a browser running on user device 715 to access the website. For example, a website may include a console or platform running on a browser of user device 715. Agents may be logged into the platform using a browser. One or more login credentials (e.g., username, password, and the like) establish the agent's identity before the agent can gain access to the console or a web application contained in the console. Can be used to authenticate. Examples of consoles include one or more APIs (Application Programming Interfaces), a dashboard containing one or more functions, a console that can establish or participate in a communication session (requires downloading a plug-in) The platform may include a web-hosted application running on a web browser (without a web browser), and other suitable interfaces. Additionally, the console may include one or more web applications or functions that may be executed. Web applications or functionality may be executed on a browser, communication server 710, local server, remote server, or other suitable computing device. For example, a web application, native application, or functionality may enable an agent to communicate with a user and view communications between the user and one or more bots.

[0099]いくつかの実装形態では、通信サーバ710は、特定の通信セッション中にボット720とユーザデバイス715との間で動的に切り替えるように構成され得る。例えば、通信サーバ710は、ネットワークデバイス705とボット720との間の通信セッションを促進し得る。ボット720は、通信セッション中にネットワークデバイス705と1つまたは複数のメッセージを交換することによって、ネットワークデバイス705と自律的に通信するように構成され得る。通信サーバ710は、ボット720の代わりに、生身のエージェントがネットワークデバイス705と通信し得るように、ボット720をユーザデバイス715に(または場合によってはその逆に)切り替えるかどうかを動的に決定し得る。いくつかの実装形態では、切替えは、ネットワークデバイス705またはユーザデバイス715からのプロンプトなしに実行され得る。例えば、切替えは、端末デバイスを要求するようにネットワークデバイス705にプロンプトすることなく、ネットワークデバイス705とボット720との間で交換されるメッセージのメッセージパラメータ(例えば、メッセージまたは一連のメッセージのセンチメントを表すスコア)に基づき得る。 [0099] In some implementations, communication server 710 may be configured to dynamically switch between bot 720 and user device 715 during a particular communication session. For example, communications server 710 may facilitate communications sessions between network device 705 and bot 720. Bot 720 may be configured to communicate autonomously with network device 705 by exchanging one or more messages with network device 705 during a communication session. Communication server 710 dynamically determines whether to switch bot 720 to user device 715 (or vice versa, as the case may be) so that a live agent may communicate with network device 705 on behalf of bot 720. obtain. In some implementations, the switch may be performed without prompting from network device 705 or user device 715. For example, switching can change the message parameters of messages exchanged between network device 705 and bot 720 (e.g., the sentiment of a message or series of messages) without prompting network device 705 to request a terminal device. (score).

[00100]いくつかの実装形態では、通信サーバ710は、ボット720とネットワークデバイス705との間で交換されるメッセージの特性に基づいて、ボット720とユーザデバイス715との間で自動的に切り替えることを決定し得る。いくつかの事例では、特性(例えば、メッセージパラメータ)を決定するためにメッセージのテキストを分析することは、メッセージに関連付けられたテキスト属性または非テキスト属性の分析を含み得る。例えば、通信サーバ710は、ネットワークデバイス705からのメッセージに含まれるテキストの1つまたは複数の行を抽出し得る。通信サーバ710は、テキストの1つまたは複数の行がアンカーを含むかどうかを識別し得る。アンカーの例は、極性(例えば、センチメントまたはインテント、「不満がある(frustrated)」という単語は、否定的な極性または不満がある極性に対応し、「嬉しい(happy)」という単語は、肯定的な極性に対応する等)に関連付けられたテキストの文字列を含む。例えば、「議論する(dispute)」という用語は、あるクライアントにとっては否定的であり得るが、第2のクライアントにとっては中立または肯定的であり得る。いくつかの事例では、アンカーは、教師あり機械学習技法を使用して動的に決定され得る。例えば、1つまたは複数のクラスタリングアルゴリズムが、記憶されたメッセージ内のパターンを見つけるために、記憶されたメッセージに対して実行され得る。クラスタ化されたメッセージは、アンカーを決定するために、さらにフィルタリングおよび評価され得る。さらに、識別されたアンカーの近くの1つまたは複数の単語が、増幅詞(amplifiers)について構文解析され得る。増幅詞の例は、例えば、「本当に~(really)」、「それほど~ではない(not really)」、「あまり~(kind of)」等の、アンカーの極性に関連付けられた強度を増加または減少させる用語である。特性は、例えば、タイピングの速度、メッセージ中で使用される特殊文字(例えば、感嘆符、疑問符等)の数、(例えば、キーワード、文構造、繰り返された単語、句読文字および/または冠詞でない単語を識別することによる)メッセージの意味解析、(例えば、選択された1つまたは複数のカテゴリを有する)ユーザ入力、および/またはメッセージ関連の統計値(例えば、応答レイテンシ)を含み得る。 [00100] In some implementations, the communication server 710 may automatically switch between the bot 720 and the user device 715 based on the characteristics of the messages exchanged between the bot 720 and the network device 705. can be determined. In some cases, analyzing the text of a message to determine characteristics (eg, message parameters) may include analyzing textual or non-textual attributes associated with the message. For example, communications server 710 may extract one or more lines of text included in a message from network device 705. Communications server 710 may identify whether one or more lines of text include an anchor. Examples of anchors are polarity (e.g., sentiment or intent; the word "frustrated" corresponds to negative or dissatisfied polarity; the word "happy" corresponds to (e.g. corresponding to positive polarity). For example, the term "dispute" may be negative to one client, but neutral or positive to a second client. In some cases, anchors may be determined dynamically using supervised machine learning techniques. For example, one or more clustering algorithms may be run on the stored messages to find patterns within the stored messages. Clustered messages may be further filtered and evaluated to determine anchors. Additionally, one or more words near the identified anchor may be parsed for amplifiers. Examples of amplifiers increase or decrease the intensity associated with the polarity of the anchor, e.g., "really," "not really," "kind of." This is a term that means Characteristics may include, for example, speed of typing, number of special characters used in the message (e.g. exclamation mark, question mark, etc.), keywords, sentence structure, repeated words, punctuation characters and/or non-article words. (e.g., with one or more selected categories), and/or message-related statistics (e.g., response latency).

[00101]非限定的な例として、メッセージパラメータは、負の極性の高い強度を示す数値であり得る(例えば、0~100のスケールで20のメッセージパラメータであり、より低い数は負の極性を示し、より高い数は正の極性を示す)。アルゴリズムが、メッセージパラメータを計算するために使用され得る。例えば、アルゴリズムは、教師あり機械学習技法に基づき得る。更なる例では、「あまり~(kind of)」という用語が、(例えば、「私は~をあまり好きでない(I kind of don’t like)」という文でのように)アンカー「好きでない(don’t like)」に近い場合、「あまり~」という用語は、負の極性の中程度の強度を示す増幅詞用語として識別され得る。この場合、メッセージパラメータは、負の極性の中程度の強度の識別に基づいて生成され得る。非限定的な例として、メッセージパラメータは、負の極性の中程度の強度を示す数値であり得る(例えば、20のメッセージパラメータとは対照的に40のメッセージパラメータ)。いくつかの事例では、メッセージパラメータは、どのセカンダリキューが通信を記憶すべきかを決定するために使用され得る。 [00101] As a non-limiting example, a message parameter can be a numerical value that indicates a high intensity of negative polarity (e.g., a message parameter of 20 on a scale of 0 to 100, with lower numbers indicating a higher degree of negative polarity). higher numbers indicate positive polarity). An algorithm may be used to calculate message parameters. For example, the algorithm may be based on supervised machine learning techniques. In a further example, the term ``kind of'' may be used with the anchor ``kind of'' (as in the sentence ``I kind of don't like''). If it is close to ``don't like'', the term ``much'' can be identified as an amplifier term indicating moderate strength of negative polarity. In this case, message parameters may be generated based on medium strength identifications of negative polarity. As a non-limiting example, a message parameter may be a numerical value indicating a moderate strength of negative polarity (eg, a message parameter of 40 as opposed to a message parameter of 20). In some cases, message parameters may be used to determine which secondary queue should store the communication.

[00102]いくつかの実装形態では、メッセージの特性は、メッセージに関連付けられたセンチメントであり得る。メッセージパラメータは、メッセージのセンチメントを表し得る。例えば、メッセージのセンチメントが嬉しいである場合、メッセージパラメータは、ある値または値の範囲であり得、一方、メッセージのセンチメントが怒りである場合、メッセージパラメータは、別の値または値の範囲であり得る。ボットと端末デバイスとの間で切り替えるかどうかを決定することは、メッセージパラメータに基づき得、これは、通信サーバ710において受信される新しいメッセージごとに継続的かつ自動的に更新される。 [00102] In some implementations, a characteristic of a message may be sentiment associated with the message. Message parameters may represent the sentiment of the message. For example, if the sentiment of a message is happy, the message parameter may be one value or range of values, whereas if the sentiment of the message is anger, the message parameter may be another value or range of values. could be. Deciding whether to switch between the bot and the terminal device may be based on message parameters, which are continuously and automatically updated with each new message received at the communication server 710.

[00103]いくつかの実装形態では、通信サーバ710は、ネットワークデバイス705から受信されたメッセージに対する応答を推奨または予測し得る。例えば、通信サーバ710は、メッセージ推奨システムを含み得、これは、ネットワークデバイス705から受信されたメッセージを評価し、それらの受信されたメッセージに対する応答を推奨するために機械学習モデルを使用し得る。メッセージ推奨システムは、エージェントがネットワークデバイス705と通信するのを支援するために、ユーザデバイス715上に推奨されるメッセージのセットを表示し得る。 [00103] In some implementations, communication server 710 may recommend or predict a response to a message received from network device 705. For example, communication server 710 may include a message recommendation system, which may use machine learning models to evaluate messages received from network devices 705 and recommend responses to those received messages. The message recommendation system may display a set of recommended messages on the user device 715 to assist the agent in communicating with the network device 705.

[00104]図8は、複数の通信チャネルにわたってエンドポイントを動的に選択するためのネットワーク環境800を表すブロック図を示す。いくつかの実装形態では、ネットワーク環境800は、ネットワークデバイス805と、ユーザデバイス810と、通信サーバ820と、を含み得る。ネットワークデバイス805は、ネットワークデバイス705と同様であり得、したがって、ここでは簡潔さのために説明を省略する。ユーザデバイス810は、端末デバイス715と同様であり得、したがって、ここでは簡潔さのために説明を省略する。通信サーバ820は、通信サーバ710と同様であり得、したがって、ここでは簡潔さのために説明を省略する。 [00104] FIG. 8 shows a block diagram representing a network environment 800 for dynamically selecting endpoints across multiple communication channels. In some implementations, network environment 800 may include network device 805, user device 810, and communication server 820. Network device 805 may be similar to network device 705 and is therefore not described here for brevity. User device 810 may be similar to terminal device 715 and is therefore not described here for brevity. Communication server 820 may be similar to communication server 710 and is therefore not described here for brevity.

[00105]通信サーバ820は、ネットワークデバイス805とユーザデバイス810との間の通信チャネルを確立し得るか、またはその確立を促進し得る。図8に例示されるように、通信サーバ820は、通信チャネルC840を確立し得、これは、ネットワークデバイス805とユーザデバイス810が、1つまたは複数のメッセージを交換することを可能にする。非限定的な例として、通信チャネルC840は、ウェブサイトのウェブチャット機能であり得、通信チャネルB835は、モバイルデバイス(例えば、スマートフォン)上で実行中のチャットアプリケーションであり得、通信チャネルA830は、エージェントがユーザと通信することを可能にするボイスオーバーインターネットプロトコル(VOIP)オーディオチャネルであり得る。 [00105] Communication server 820 may establish or facilitate the establishment of a communication channel between network device 805 and user device 810. As illustrated in FIG. 8, communication server 820 may establish a communication channel C840, which allows network device 805 and user device 810 to exchange one or more messages. As a non-limiting example, communication channel C 840 may be a web chat feature of a website, communication channel B 835 may be a chat application running on a mobile device (e.g., a smartphone), and communication channel A 830 may be a web chat feature of a website. It may be a Voice over Internet Protocol (VOIP) audio channel that allows agents to communicate with users.

[00106]通信サーバ820は、ネットワークデバイス805と自律的に通信するようにボット825を構成し得る。いくつかの実装形態では、ボット825は、ボット825が通信チャネルC840を使用してネットワークデバイス805と通信することを可能にする、1つまたは複数のプロトコルにアクセスし、それを実行し得る。上記の非限定的な例を続けると、ボット825は、ウェブサイトのウェブチャット機能を介して通信するためのプロトコルにアクセスし、それを実行し得る。この例では、プロトコルは、ウェブチャット機能を使用してメッセージを交換するための、ウェブチャット機能に固有のコーディング言語を含み得る。プロトコルは、実行されると、端末デバイス810においてエージェントによって入力されたメッセージ(例えば、テキスト文字列または他のコンテンツ)を構造化コンテンツ(例えば、独立したデータフィールドに分離されたコンテンツ)に変換し、構造化コンテンツをウェブサイトのウェブチャット機能の要素にマッピングするコードを含み得る。端末デバイス810において(例えば、エージェントによって)入力が受信されると、ボット825は、メッセージがウェブチャット機能を使用して通信されることを可能にするために、構造化コンテンツをウェブチャット機能の要素にトランスレートし得る。 [00106] Communication server 820 may configure bot 825 to communicate autonomously with network device 805. In some implementations, bot 825 may access and execute one or more protocols that enable bot 825 to communicate with network device 805 using communication channel C840. Continuing with the non-limiting example above, bot 825 may access and execute protocols for communicating via a web chat feature of a website. In this example, the protocol may include a coding language specific to the web chat feature for exchanging messages using the web chat feature. The protocol, when executed, converts a message (e.g., a text string or other content) input by the agent at the terminal device 810 into structured content (e.g., content separated into independent data fields); It may include code that maps structured content to elements of a website's web chat functionality. When input is received at terminal device 810 (e.g., by an agent), bot 825 converts the structured content into elements of the web chat functionality to enable the message to be communicated using the web chat functionality. can be translated to .

[00107]いくつかの実装形態では、ボット825はまた、通信チャネルB835を使用してネットワークデバイス805と通信するように構成され得る。通信チャネルB835は、通信チャネルC840とは異なる通信チャネルであり得る。さらに、通信チャネルB835は、通信を促進するために、通信チャネルC840に必要とされる要素とは異なる要素を必要とし得る。ボット825は、構造化コンテンツを通信チャネルB835の要素にトランスレートするように構成され得る。上記で説明された非限定的な例を続けると、通信チャネルB835は、スマートフォン上で実行中のネイティブアプリケーションのアプリ内チャット機能であり得る。1つまたは複数の要素が、通信チャネルB835を使用した通信を促進するために必要とされ得る。例えば、FACEBOOK MESSENGERは、スマートフォン上で実行中のネイティブアプリケーションであり得る。この例では、FACEBOOK MESSENGERの1つまたは複数の要素は、FACEBOOK MESSENGERを使用して通信を促進するために必要とされる、FACEBOOK MESSENGERに固有のテンプレートであり得る。ボット825が通信チャネルB835を使用して通信することを可能にするプロトコルは、FACEBOOK MESSENGERアプリケーション内のメッセージとして構造化コンテンツを送信するために、構造化コンテンツをFACEBOOK MESSENGERネイティブアプリケーションのテンプレートにマッピングし得る。 [00107] In some implementations, bot 825 may also be configured to communicate with network device 805 using communication channel B 835. Communication channel B835 may be a different communication channel than communication channel C840. Additionally, communication channel B 835 may require different elements than those required for communication channel C 840 to facilitate communication. Bot 825 may be configured to translate structured content into elements of communication channel B835. Continuing with the non-limiting example described above, communication channel B835 may be an in-app chat feature of a native application running on the smartphone. One or more elements may be required to facilitate communication using communication channel B835. For example, FACEBOOK MESSENGER may be a native application running on a smartphone. In this example, one or more elements of FACEBOOK MESSENGER may be a FACEBOOK MESSENGER-specific template needed to facilitate communication using FACEBOOK MESSENGER. The protocol that enables bot 825 to communicate using communication channel B 835 may map the structured content to a template in the FACEBOOK MESSENGER native application in order to send the structured content as a message within the FACEBOOK MESSENGER application. .

[00108]いくつかの例では、モバイルアプリケーション(例えば、モバイルネイティブアプリケーション)は、ネットワークデバイス(例えば、スマートフォン)のオペレーティングシステムを使用して実行され得る(モバイルデバイスに、または1つもしくは複数の外部サーバに記憶された)実行可能コードを含み得る。いくつかの例では、モバイルアプリケーションは、(モバイルデバイスにおいて生成および記憶される)ネイティブユーザインターフェース(UI)コンポーネントから構成されるが、(例えば、ウェブベースのコーディング言語を使用して)インタープリタ型言語で記述されているハイブリッドモバイルアプリケーションを含み得る。本開示は、モバイルネイティブアプリケーションまたはハイブリッドアプリケーションに限定されず、したがって、任意のタイプのモバイルアプリケーションが、本明細書で説明される方法において使用され得る。 [00108] In some examples, a mobile application (e.g., a mobile native application) may be executed using the operating system of a networked device (e.g., a smartphone) (on the mobile device or on one or more external servers). may include executable code (stored on the computer). In some examples, a mobile application is composed of native user interface (UI) components (generated and stored on a mobile device), but not in an interpreted language (e.g., using a web-based coding language). may include the described hybrid mobile applications. This disclosure is not limited to mobile native or hybrid applications; therefore, any type of mobile application may be used in the methods described herein.

[00109]いくつかの実装形態では、ボット825はまた、通信チャネルA830を使用してネットワークデバイス805と通信するように構成され得る。通信チャネルA835は、通信チャネルC840および通信チャネルB835とは異なる通信チャネルであり得る。さらに、通信チャネルA830は、通信を促進するために、通信チャネルC840および通信チャネルB835に必要とされる要素とは異なる要素を必要とし得る。ボット825は、構造化コンテンツを通信チャネルA830の要素にトランスレートするように構成され得る。上記で説明された非限定的な例を続けると、通信チャネルA830は、ネットワークデバイス805とユーザデバイス810との間のVOIPオーディオ通信リンクであり得る。1つまたは複数の要素が、通信チャネルA830を使用した通信を促進するために必要とされ得る。プロトコルは、通信チャネルA830に関連付けられた要素への構造化コンテンツのマッピングを含み得る。 [00109] In some implementations, bot 825 may also be configured to communicate with network device 805 using communication channel A830. Communication channel A 835 may be a different communication channel than communication channel C 840 and communication channel B 835. Further, communication channel A 830 may require different elements than those required for communication channel C 840 and communication channel B 835 to facilitate communication. Bot 825 may be configured to translate structured content into elements of communication channel A830. Continuing with the non-limiting example described above, communication channel A 830 may be a VOIP audio communication link between network device 805 and user device 810. One or more elements may be required to facilitate communication using communication channel A830. The protocol may include a mapping of structured content to elements associated with communication channel A830.

[00110]いくつかの実装形態では、通信サーバ820は、ボット825が通信チャネルにかかわらずネットワークデバイス805と継続的に通信し得るように、異なる通信チャネル間で通信セッションを動的に、自律的に、および/または自動的に転送するように構成され得る。例えば、ネットワークデバイス805は、第1の通信チャネル845(すなわち、通信チャネルC840)を使用して、ユーザデバイス810と通信していることがあり得る。ネットワークデバイス805は、ネットワークデバイス805を操作しているユーザが、通信セッションのために現在使用されている通信チャネルを変更しようと意図していることを示すメッセージを送信し得る。例えば、ネットワークデバイス805は、第2の通信チャネル850が、ユーザデバイス810との通信セッションを継続するためのターゲット通信チャネルであることを示し得る。ボット825は、通信チャネルが第1の通信チャネル845から第2の通信チャネル850に変更されるべきであるというインジケーションを自動的に検出し得る。例えば、ボット825は、通信チャネルが変更されるべきであることを検出するために、通信セッション中に交換されるメッセージを継続的に評価し得る。通信チャネルが変更されるべきであるというインジケーションを検出すると、通信サーバは、ネットワークデバイス805に関連付けられたユーザ識別子を識別し得る。例えば、ユーザデータデータベース815は、様々なユーザのためのユーザ識別子を記憶し得る。ユーザ識別子は、ネットワークデバイスを一意に識別するテキストおよび/または数字の文字列であり得る。任意の所与の時間において、通信サーバ820が、同じユーザ識別子が2つのアクティブな通信チャネルに関連付けられていると決定した場合、通信サーバ820は、ネットワークデバイスが通信セッションを継続するが、通信チャネルを変更することを要求していると認識し得る。 [00110] In some implementations, communication server 820 dynamically and autonomously manages communication sessions between different communication channels such that bot 825 may continuously communicate with network device 805 regardless of the communication channel. and/or automatically. For example, network device 805 may be communicating with user device 810 using first communication channel 845 (ie, communication channel C 840). Network device 805 may send a message indicating that the user operating network device 805 intends to change the communication channel currently being used for the communication session. For example, network device 805 may indicate that second communication channel 850 is a target communication channel for continuing a communication session with user device 810. Bot 825 may automatically detect an indication that the communication channel should be changed from first communication channel 845 to second communication channel 850. For example, bot 825 may continually evaluate messages exchanged during a communication session to detect that the communication channel should be changed. Upon detecting an indication that the communication channel should be changed, the communication server may identify a user identifier associated with network device 805. For example, user data database 815 may store user identifiers for various users. A user identifier may be a string of text and/or numbers that uniquely identifies a network device. If, at any given time, communication server 820 determines that the same user identifier is associated with two active communication channels, communication server 820 determines that the network device continues the communication session, but This can be recognized as a request to change.

[00111]通信サーバ820は、異なる通信チャネル間の継続性をサポートするように構成され得る。例えば、ターゲット通信チャネル(例えば、第2の通信チャネル850)は、第1の通信チャネル845の代わりに第2の通信チャネル850を使用してではあるが、ネットワークデバイス805との通信セッションを継続するために、ボット825によって自動的に使用され得る。いくつかの実装形態では、ボット825は、第2の通信チャネル850を使用して、ネットワークデバイス805にメッセージを自動的に送信し得る。ネットワークデバイス805にメッセージを送信することは、通信チャネルの転送が完了したことをネットワークデバイス805に示し得る。いくつかの実装形態では、通信サーバ820は、通信チャネルが第1の通信チャネル845から第2の通信チャネル850に変更されたことを自動的に検出し得る。例えば、通信サーバ820は、ネットワークデバイス805が第1の通信チャネル845を使用してボット825と通信しているときに、ネットワークデバイス805に関連付けられたユーザ識別子を認識し得る。ネットワークデバイス805が(例えば、通信セッション中に通信チャネルを変更する意図を示すことなく)第2の通信チャネル850の使用を開始した場合、通信サーバ820は、ネットワークデバイス805についてのユーザ識別子が、現在2つのアクティブな通信チャネル(例えば、第1の通信チャネル845および第2の通信チャネル850)に関連付けられていることを自動的に検出し得る。通信サーバ820は、第1の通信チャネル845がメッセージの最近の履歴(例えば、過去5分以内に送信または交換されたメッセージ)に関連付けられていること、および、第2の通信チャネル850がメッセージの最近の履歴(例えば、過去数分以内)に関連付けられていないことを検出し得る。結果として、通信サーバ820は、ネットワークデバイス805が通信セッションを第1の通信チャネル845から第2の通信チャネル850に転送することを要求していると決定し得る。通信サーバ820は、第2の通信チャネル850に関連付けられたプロトコルにアクセスし、ボット825またはユーザデバイス810が、第1の通信チャネル845を使用する代わりに、第2の通信チャネル850を使用してネットワークデバイス805と通信することを可能にするために、アクセスされたプロトコルを使用してボット825を実行することによって、転送を実施し得る。 [00111] Communication server 820 may be configured to support continuity between different communication channels. For example, the target communication channel (e.g., second communication channel 850) continues a communication session with network device 805, albeit using second communication channel 850 instead of first communication channel 845. can be automatically used by bots 825 to In some implementations, bot 825 may automatically send messages to network device 805 using second communication channel 850. Sending the message to network device 805 may indicate to network device 805 that the communication channel transfer is complete. In some implementations, communication server 820 may automatically detect that the communication channel has changed from first communication channel 845 to second communication channel 850. For example, communication server 820 may recognize a user identifier associated with network device 805 when network device 805 is communicating with bot 825 using first communication channel 845. If network device 805 begins using second communication channel 850 (e.g., without indicating any intention to change communication channels during a communication session), communication server 820 determines that the user identifier for network device 805 is currently It may automatically detect that it is associated with two active communication channels (eg, first communication channel 845 and second communication channel 850). The communication server 820 determines that the first communication channel 845 is associated with a recent history of messages (e.g., messages sent or exchanged within the past five minutes) and that the second communication channel 850 is associated with a recent history of messages. It may be detected that it is not associated with recent history (eg, within the past few minutes). As a result, communication server 820 may determine that network device 805 requests to transfer the communication session from first communication channel 845 to second communication channel 850. Communication server 820 accesses a protocol associated with second communication channel 850 such that bot 825 or user device 810 uses second communication channel 850 instead of using first communication channel 845. The transfer may be performed by running bot 825 using the accessed protocol to enable communication with network device 805.

[00112]いくつかの実装形態では、1つまたは複数の機械学習技法が、ネットワークデバイス805の通信チャネル使用におけるパターンを識別するために使用され得る。例えば、ネットワークデバイス805による通信チャネルの使用は、追跡および記録され得る(および履歴データとして記憶され得る)。特定のエンティティ(例えば、ボット、企業、端末デバイス、エージェント等)と通信するときに、どの通信チャネルをネットワークデバイス805が使用する可能性が最も高いかを識別するために、機械学習技法が履歴データに適用され得る。ユーザデバイス810(またはボット825もしくはその他任意の端末デバイス)からネットワークデバイス805への通信を開始するとき、通信サーバ820は、(機械学習技法の結果に基づいて)ネットワークデバイス805が使用する可能性が最も高いタイプの通信チャネルを確立し得る。ネットワークデバイス805が異なる通信チャネルをより頻繁に使用し始めるにつれて、通信サーバ820は、この変化する傾向を識別し、最も使用されている、または最も頻繁に使用されている通信チャネルを使用して、通信セッションを開始し得る。 [00112] In some implementations, one or more machine learning techniques may be used to identify patterns in network device 805's communication channel usage. For example, use of communication channels by network device 805 may be tracked and recorded (and may be stored as historical data). Machine learning techniques use historical data to identify which communication channels a network device 805 is most likely to use when communicating with a particular entity (e.g., a bot, an enterprise, a terminal device, an agent, etc.). can be applied to When initiating a communication from a user device 810 (or a bot 825 or any other end device) to a network device 805, the communication server 820 determines the information that the network device 805 may use (based on the results of machine learning techniques). The highest type of communication channel can be established. As network devices 805 begin to use different communication channels more frequently, communication server 820 identifies this changing trend and uses the most used or most frequently used communication channels to A communications session may be initiated.

[00113]図9は、機械学習技法を使用してエンドポイント選択を向上させるためのネットワーク環境900を表すブロック図を示す。ネットワーク環境900は、ネットワークデバイス905(ユーザによって操作される)と、通信サーバ910と、ボット915と、ユーザデバイス920と、を含み得る。通信サーバ910は、ネットワークデバイス905ならびに少なくとも1つのボット915および端末デバイス920が通信することを可能にする通信チャネルの確立を促進し得る。 [00113] FIG. 9 shows a block diagram representing a network environment 900 for improving endpoint selection using machine learning techniques. Network environment 900 may include a network device 905 (operated by a user), a communication server 910, a bot 915, and a user device 920. Communication server 910 may facilitate the establishment of a communication channel that allows network device 905 and at least one bot 915 and terminal device 920 to communicate.

[00114]通信サーバ910は、インテリジェントルーティングシステム925と、メッセージ推奨システム930と、メッセージデータストア935と、を含み得る。インテリジェントルーティングシステム925およびメッセージ推奨システム930の各々は、ある特定の動作を実施するための命令を実行する、プロセッサとメモリとを有する1つまたは複数のコンピューティングデバイスを含み得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、ネットワークデバイスから受信された通信を適切な宛先にインテリジェントにルーティングするように構成されたボットであり得る。インテリジェントルーティングシステム925は、1つまたは複数の機械学習技法または人工知能技法に、メッセージをインテリジェントにルーティングすることを行わせるコードを実行するように構成された1つまたは複数のプロセッサを含み得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、ネットワークデバイス905から受信されたメッセージに関連付けられた宛先を予測するモデルを訓練するために、1つまたは複数の機械学習技法を実行し得る。 [00114] Communication server 910 may include an intelligent routing system 925, a message recommendation system 930, and a message data store 935. Intelligent routing system 925 and message recommendation system 930 may each include one or more computing devices having a processor and memory that execute instructions to perform certain operations. In some implementations, intelligent routing system 925 may be a bot configured to intelligently route communications received from network devices to appropriate destinations. Intelligent routing system 925 may include one or more processors configured to execute code that causes one or more machine learning or artificial intelligence techniques to intelligently route messages. In some implementations, intelligent routing system 925 may perform one or more machine learning techniques to train a model to predict destinations associated with messages received from network device 905.

[00115]非限定的な例として、インテリジェントルーティングシステム925は、通信サーバ910(例えば、ユーザが様々なデバイスにわたって互いに通信することを可能にするように構成されたネイティブアプリケーション)によって確立または促進された通信チャネルを通じて、ネットワークデバイス905からメッセージを受信し得る。インテリジェントルーティングシステム925は、上記で説明されたある特定の実施形態にしたがって、到来するメッセージを評価し得る。例えば、インテリジェントルーティングシステム925は、訓練された機械学習モデルを使用して、受信されたメッセージに含まれるコンテンツ(例えば、テキスト、オーディオクリップ、画像、エモティコン、または他の好適なコンテンツ)を評価し得る。メッセージのコンテンツは、予測された宛先(例えば、特定の端末デバイスまたはボット)を生成するために、機械学習モデルに入力され得る。機械学習モデルは、ネットワークデバイス905から受信されたフィードバック信号940に基づいて、継続的に訓練され得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、予測された宛先についてネットワークデバイス905からの確認応答を要求し得る。非限定的な例として、インテリジェントルーティングシステム925は、機械学習技法を使用してメッセージを評価し得、評価の結果は、ボット915がメッセージについての宛先であるという予測を含み得る。確認するために、インテリジェントルーティングシステム925は、フィードバック信号940を自動的に要求し得る。例えば、フィードバック信号940は、ネットワークデバイス905に対して、ボット915がメッセージ(例えば、「技術サポートが正しい宛先でしょうか?」)についての正しい宛先であるかどうかを確認応答することを求める要求を含み得る。ネットワークデバイス905が、ボット915が正しい宛先(例えば、ネットワークデバイス905を操作するユーザによって意図された宛先)であるという確認応答を送信した場合には、インテリジェントルーティングシステム925は、受信されたメッセージと全く同じまたは類似のコンテンツ(例えば、コンテンツにおいて10パーセントの差等の、類似性の閾値)を含む将来のメッセージが、ボット915にルーティングされるべきであることを予測するように、機械学習モデルを訓練し得る。しかしながら、インテリジェントルーティングシステム925が、ボット915が受信されたメッセージについての正しいまたは意図された宛先ではなく、むしろユーザデバイス920が正しいまたは意図された宛先であったことを示すフィードバック信号940を受信した場合、インテリジェントルーティングシステム925は、受信されたメッセージと全く同じまたは類似のコンテンツを含む将来のメッセージが、(ボット915の代わりに)ユーザデバイス920にルーティングされることになるように、機械学習モデルを訓練し得る。いくつかの実装形態では、インテリジェントルーティングシステム925は、将来のメッセージを端末デバイス920にルーティングするように機械学習モデルを直ちに更新または訓練しない場合があり、むしろ、インテリジェントルーティングシステム925は、受信されたメッセージと全く同じまたは類似のコンテンツを有する全ての将来のメッセージをユーザデバイス920にルーティングする前に、ボット915への正しくないルーティングの閾値数まで待ち得る。非限定的な例として、インテリジェントルーティングシステム925は、ネットワークデバイスが、ボット915が正しいまたは意図された宛先ではないことを示すフィードバック信号を送信してきた5つの事例の後に、(ボット915にルーティングされるべきであると予測されていた)将来のメッセージを、ボット915の代わりにユーザデバイス920にルーティングし始め得る。 [00115] As a non-limiting example, intelligent routing system 925 may be established or facilitated by communication server 910 (e.g., a native application configured to allow users to communicate with each other across various devices). Messages may be received from network device 905 over a communication channel. Intelligent routing system 925 may evaluate incoming messages according to certain embodiments described above. For example, intelligent routing system 925 may evaluate content (e.g., text, audio clips, images, emoticons, or other suitable content) included in received messages using a trained machine learning model. . The content of the message may be input to a machine learning model to generate a predicted destination (eg, a particular terminal device or bot). The machine learning model may be continuously trained based on feedback signals 940 received from network device 905. In some implementations, intelligent routing system 925 may request acknowledgment from network device 905 for the predicted destination. As a non-limiting example, intelligent routing system 925 may evaluate the message using machine learning techniques, and the results of the evaluation may include a prediction that bot 915 is the destination for the message. To confirm, intelligent routing system 925 may automatically request feedback signal 940. For example, feedback signal 940 includes a request for network device 905 to acknowledge whether bot 915 is the correct destination for a message (e.g., "Is tech support the correct destination?"). obtain. If the network device 905 sends an acknowledgment that the bot 915 is the correct destination (e.g., the destination intended by the user operating the network device 905), the intelligent routing system 925 determines that the received message Train the machine learning model to predict that future messages containing the same or similar content (e.g., a similarity threshold, such as a 10 percent difference in content) should be routed to the bot 915 It is possible. However, if the intelligent routing system 925 receives a feedback signal 940 indicating that the bot 915 was not the correct or intended destination for the received message, but rather that the user device 920 was the correct or intended destination. , intelligent routing system 925 trains a machine learning model such that future messages containing exactly the same or similar content as the received message will be routed to user device 920 (instead of bot 915). It is possible. In some implementations, intelligent routing system 925 may not immediately update or train the machine learning model to route future messages to terminal device 920; rather, intelligent routing system 925 may not immediately update or train the machine learning model to route future messages to terminal device 920; rather, intelligent routing system 925 may may wait until a threshold number of incorrect routes to bot 915 before routing all future messages with exactly the same or similar content to user device 920. As a non-limiting example, the intelligent routing system 925 may be routed to the bot 915 after five instances in which a network device has sent a feedback signal indicating that the bot 915 is not the correct or intended destination. The bot 915 may begin to route future messages to the user device 920 instead of the bot 915 .

[00116]いくつかの実施形態では、インテリジェントルーティングシステム925は、メッセージ中の特定の要求を処理するための受信された入札(bids)に基づいて、所与のメッセージをどこにルーティングするかを選択し得る。インテリジェントルーティングシステム925は、異種サービスにインテントをブロードキャストし、誰が要求を処理することに入札することを希望しているかを決定し得る。入札当事者は、要求を成功裏に処理するその自信のレベル(level of confidence)と、要求の処理を実行する計画とで応答し得る。インテリジェントルーティングシステム925は、入札当事者からの全ての応答を評価し、機械学習ポリシーに基づいて、所与のメッセージに対してどの入札当事者を使用すべきかを決定し得る。 [00116] In some embodiments, the intelligent routing system 925 selects where to route a given message based on received bids to process a particular request in the message. obtain. Intelligent routing system 925 may broadcast the intent to disparate services and determine who is willing to bid on handling the request. Bidding parties may respond with their level of confidence to successfully process the request and their plans to carry out processing of the request. Intelligent routing system 925 may evaluate all responses from bidding parties and determine which bidding party to use for a given message based on machine learning policies.

[00117]メッセージデータストア935は、1つまたは複数のネットワークデバイスから過去に受信された(例えば、全てではないが)いくつかまたは全てのメッセージを記憶し得る。さらに、メッセージデータストア935はまた、ネットワークデバイスとの以前の通信セッション中に端末デバイスまたはボットによって送信された一部または全てのメッセージを記憶し得る。メッセージデータストア935はまた、通信セッション中にネットワークデバイスによってボットに送信された一部または全てのメッセージを記憶し得る。さらに、メッセージデータストア935は、通信セッション中にボットによってネットワークデバイスに送信された一部または全てのメッセージを記憶し得る。いくつかの実装形態では、メッセージデータストア935は、通信サーバ910によって処理された(例えば、それによって送信された、またはそれにおいて受信された)全てのメッセージのデータベースであり得る。 [00117] Message data store 935 may store some or all (eg, but not all) messages previously received from one or more network devices. Additionally, message data store 935 may also store some or all messages sent by the terminal device or bot during previous communication sessions with the network device. Message data store 935 may also store some or all messages sent by the network device to the bot during the communication session. Additionally, message data store 935 may store some or all messages sent by a bot to a network device during a communication session. In some implementations, message data store 935 may be a database of all messages processed by (eg, sent by or received at) communication server 910.

[00118]メッセージ推奨システム930は、メッセージデータストア935において記憶されたメッセージのデータベースを分析し得る。メッセージデータストア935内のメッセージのデータベースには、ユーザと、ボット、エージェント、または他のエンドポイントとの間の1つまたは複数の質問と回答、クエリと応答、および他の通信セットが含まれ得る。通信セットは、ユーザとの通信の成功に関する格付けまたは評価にさらに関連付けられ得る。いくつかの実施形態では、メッセージ推奨システム930は、質問および回答の主題に関する専門知識を有すると識別されたユーザから、質問と回答を求め得る。選択された質問と回答のセットは、メッセージ推奨システム930によって、ネットワークデバイス905のユーザにさらに提供および提示され得る。ネットワークデバイス905のユーザによって設定された特定の質問と回答の選択に関する情報は、メッセージデータストア935において追跡され得、ならびにネットワークデバイス905を、選択された質問と回答に関連付けられたエキスパートのユーザデバイス920に接続するために、インテリジェントルーティングシステム925によって使用され得る。ネットワークデバイス906とユーザデバイス920との間のインタラクションにおける成功または不成功(lack thereof)(ユーザ満足度の割り当てられたスコアまたは観察されたインジケータによって示される)は、メッセージデータストア935にさらに記憶され、その後、後続のルーティング決定を改良するために使用され得る。例えば、ユーザデバイス920のエキスパートとの成功したインタラクションは、質問と回答の主題に関わるより後続の会話(more subsequent conversations)をルーティングするために使用され得る。 [00118] Message recommendation system 930 may analyze a database of messages stored in message data store 935. A database of messages in message data store 935 may include one or more questions and answers, queries and responses, and other sets of communications between a user and a bot, agent, or other endpoint. . The communication set may further be associated with a rating or rating regarding the success of communication with the user. In some embodiments, message recommendation system 930 may solicit questions and answers from users identified as having expertise in the subject matter of the questions and answers. The selected set of questions and answers may be further provided and presented to the user of network device 905 by message recommendation system 930. Information regarding specific question and answer selections established by a user of network device 905 may be tracked in message data store 935 as well as linking network device 905 to expert user device 920 associated with the selected questions and answers. may be used by intelligent routing system 925 to connect to. Success or failure (lack thereof) in the interaction between network device 906 and user device 920 (as indicated by an assigned score or observed indicator of user satisfaction) is further stored in message data store 935; It can then be used to refine subsequent routing decisions. For example, a successful interaction with an expert at user device 920 may be used to route more subsequent conversations surrounding the subject of the question and answer.

[00119]いくつかの実装形態では、メッセージ推奨システム930は、1つまたは複数の機械学習アルゴリズムまたは人工知能アルゴリズムを使用して、メッセージデータストア935に記憶されたメッセージを評価し得る。例えば、メッセージ推奨システム930は、メッセージデータストア935に記憶されたメッセージのデータベースに対して、K平均クラスタリング(K-means clustering)、平均シフトクラスタリング、雑音を伴うアプリケーションの密度ベースの空間クラスタリング(DBSCAN:Density-Based Spatial Clustering of Applications with Noise)クラスタリング、混合ガウスモデル(GMM:Gaussian Mixture Models)を用いた期待値最大化(EM:Expectation-Maximization)クラスタリング、および他の好適な機械学習アルゴリズム等の、1つまたは複数のクラスタリングアルゴリズムを実行し得る。いくつかの実装形態では、リカレント型ニューラルネットワーク(RNN:recurrent neural network)または畳み込みニューラルネットワーク(CNN:convolutional neural network)が、エージェントを支援するために、応答メッセージを予測するために使用され得る。いくつかの実装形態では、メッセージ推奨システム930は、通信セッション中にネットワークデバイスから受信される到来するメッセージに対する応答を予測するために、サポートベクターマシン(SVM:support vector machines)、教師あり、半教師あり、アンサンブル技法、または教師なし機械学習技法を使用して、全ての以前のメッセージを評価し得る。例えば、メッセージ推奨システム930は、ネットワークデバイスから受信されたメッセージ(または、ボットもしくは端末デバイスからの、通信サーバ910において受信されたメッセージ)のコンテンツを評価し、評価の結果をメッセージデータストア935に記憶された以前のメッセージの1つまたは複数のクラスタと比較し得る。クラスタが識別されると、メッセージ推奨システム930は、信頼度閾値に基づいて、最も関連性の高い応答メッセージを識別し得る。例えば、(例えば、通信サーバ910においてネットワークデバイス905から受信された)到来するメッセージは、到来するメッセージのコンテンツに基づく技術的問題に対応し得る。メッセージ推奨システム930は、到来するメッセージのコンテンツの評価(例えば、テキスト評価)に基づいて、到来するメッセージが技術的問題に対応することを識別し得る。メッセージ推奨システム930は、技術的問題に関連付けられたメッセージのクラスタを識別するために、メッセージデータストア935にアクセスし得る。メッセージ推奨システム930は、信頼度閾値に基づいて、メッセージのクラスタ内の1つまたは複数の応答メッセージ(および関連付けられたエンドポイント)を選択し得る。例えば、技術的問題に関するエキスパートは、過去に同様の問題を解決することに成功したと識別され得、この識別に基づいて、技術的問題のインジケータを示すことが観察されているか、またはそれを通信するネットワークデバイス905に動的にルーティングされ得る。非限定的な例として、信頼度アルゴリズムが、信頼度スコアを生成するために実行され得る。信頼度スコアは、パーセンテージが低いほど、到来するメッセージに対して応答が良好な予測である可能性が低くなり、パーセンテージが高いほど、到来するメッセージに対して応答が良好な予測である可能性が高くなる、パーセンテージ値であり得る。最小信頼度閾値は、各発見されたパターンに関連付けられた確実性または信用性の尺度として定義され得る。さらに、信頼度アルゴリズムの例は、アプリオリアルゴリズム(Apriori Algorithm)、2つのデータセット間の類似性を示す類似性アルゴリズム、および他の好適な信頼度アルゴリズムであり得る。 [00119] In some implementations, message recommendation system 930 may evaluate messages stored in message data store 935 using one or more machine learning or artificial intelligence algorithms. For example, the message recommendation system 930 may perform K-means clustering, mean-shift clustering, density-based spatial clustering for noisy applications (DBSCAN) on the database of messages stored in the message data store 935. 1, such as Density-Based Spatial Clustering of Applications with Noise clustering, Expectation-Maximization (EM) clustering using Gaussian Mixture Models (GMMs), and other suitable machine learning algorithms. One or more clustering algorithms may be performed. In some implementations, a recurrent neural network (RNN) or a convolutional neural network (CNN) may be used to predict response messages to assist the agent. In some implementations, message recommendation system 930 uses support vector machines (SVMs), supervised, semi-supervised, etc. to predict responses to incoming messages received from network devices during a communication session. All previous messages may be evaluated using ensemble techniques, or unsupervised machine learning techniques. For example, message recommendation system 930 evaluates the content of messages received from network devices (or messages received at communication server 910 from bots or terminal devices) and stores the results of the evaluation in message data store 935. may be compared to one or more clusters of previous messages. Once clusters are identified, message recommendation system 930 may identify the most relevant response messages based on a confidence threshold. For example, an incoming message (eg, received from network device 905 at communication server 910) may correspond to a technical issue based on the content of the incoming message. Message recommendation system 930 may identify that an incoming message corresponds to a technical problem based on an evaluation of the content of the incoming message (eg, text evaluation). Message recommendation system 930 may access message data store 935 to identify clusters of messages associated with a technical problem. Message recommendation system 930 may select one or more response messages (and associated endpoints) within a cluster of messages based on a confidence threshold. For example, an expert on a technical problem may be identified as having successfully solved similar problems in the past and, based on this identification, has been observed to exhibit or communicate indicators of a technical problem. may be dynamically routed to a network device 905 that As a non-limiting example, a confidence algorithm may be implemented to generate a confidence score. The lower the percentage, the less likely the response is to be a good prediction for an incoming message, and the higher the percentage, the more likely the response is to be a good prediction for an incoming message. It can be a percentage value. A minimum confidence threshold may be defined as a measure of certainty or trustworthiness associated with each discovered pattern. Additionally, examples of confidence algorithms may be Apriori Algorithms, similarity algorithms that indicate similarity between two data sets, and other suitable confidence algorithms.

[00120]図10は、ネットワークデバイスとの通信セッション中に、ボットとユーザデバイスとの間で切り替えるための例となるプロセスを示す。ステップ1005において、メッセージが、第1のユーザから受信される。メッセージは、質問を含み得る。例えば、メッセージは、「ニューヨークからロサンゼルスまでの最も安いフライトは何ですか?」と述べ得る。しかしながら、質問は、ニュース、天気、スポーツ、ショッピング、技術、娯楽、旅行、および/または同様のもの等、任意のトピックに関連し得ることが企図される。 [00120] FIG. 10 illustrates an example process for switching between a bot and a user device during a communication session with a network device. At step 1005, a message is received from a first user. Messages may include questions. For example, a message may state, "What is the cheapest flight from New York to Los Angeles?" However, it is contemplated that the questions may relate to any topic, such as news, weather, sports, shopping, technology, entertainment, travel, and/or the like.

[00121]ステップ1010において、メッセージに対する応答が受信される。応答は、質問に対する回答を含み得る。例えば、「ロサンゼルスへの最も安いフライトは何ですか?」という質問に対する応答は、「Great Airwaysのニューヨークからロサンゼルスへの$287のフライトがあります」であり得る。いくつかの実施形態では、メッセージおよび応答の両方が、第1のユーザから受信され得る。他の実施形態では、メッセージおよび応答は、異なるユーザから受信され得る。 [00121] At step 1010, a response to the message is received. The response may include an answer to the question. For example, the response to the question "What is the cheapest flight to Los Angeles?" could be "Great Airways has flights from New York to Los Angeles for $287." In some embodiments, both a message and a response may be received from the first user. In other embodiments, messages and responses may be received from different users.

[00122]ステップ1015において、質問および回答は、第2のユーザのデバイスに公開され得る。質問および回答は、第2のユーザの1つまたは複数の特性に基づいて、第2のユーザのために選択され得る。例えば、クッキーまたは閲覧履歴情報が、第2のユーザの関心、デモグラフィック情報(demographic information)、および/または同様のものを決定するために、第2のユーザについてアクセスされ得る。上記の例では、第2のユーザは、ニューヨークに住んでおり、頻繁に旅行していると決定され得る。したがって、この特定の質問および回答は、第2のユーザのデバイスに対して公開され得る。 [00122] At step 1015, the questions and answers may be published to the second user's device. Questions and answers may be selected for the second user based on one or more characteristics of the second user. For example, cookies or browsing history information may be accessed about the second user to determine the second user's interests, demographic information, and/or the like. In the above example, the second user may be determined to live in New York and travel frequently. This particular question and answer may therefore be published to the second user's device.

[00123]ステップ1020において、フォローアップ要求が、第2のユーザのデバイスから受信される。フォローアップ要求は、回答に関する更なる情報を求め得る。上記の例では、フォローアップ要求は、「そのフライトは、いつ利用可能ですか?」と尋ね得る。ステップ1025において、通信セッションが、第1のユーザと第2のユーザとの間で促進され得る。第1のユーザは、更なる情報を第2のユーザに提供し得る。上記の例では、更なる情報は、「火曜日午前7時」であり得る。 [00123] At step 1020, a follow-up request is received from a second user's device. A follow-up request may ask for further information regarding the response. In the example above, the follow-up request may ask, "When is that flight available?" At step 1025, a communication session may be facilitated between the first user and the second user. The first user may provide further information to the second user. In the above example, the additional information could be "Tuesday 7am".

[00124]ステップ1030において、セッションデータは、履歴データとして保存され得る。第1のユーザと第2のユーザとの間のインタラクションに関する情報および通信に加えて、セッションデータは、第1のユーザに提示された質問および回答と、閲覧のための質問および回答のうちの1つまたは複数の、第1のユーザの選択と、質問および回答のいずれかに関連する任意のフォローアップ要求と、ユーザ間の一致の品質に関連する格付けまたは他のインジケータと、を含み得る。例えば、第2のユーザは、第1のユーザとのインタラクションに関するコメントを提供するのみならず、直接数値的な、カテゴリ的な、または他のタイプの格付けを与え得る。いくつかの実施形態では、ユーザ評価は、会話における後続のコメントまたはとられた更なるアクション(例えば、同じ質問を再び尋ねること)から推論され得る。このようなコメントまたはアクションは、現在のインテントが満たされなかった可能性があることを示し得、このような事例では、ボットが、当初のインテントの決定が正確でなかった可能性があるかどうか、または第1のユーザがインテントを満たせなかったかどうかに関して、フォローアップ質問を尋ねるタスクを課され得、ならびに、何故かまたは何故そうでなかったかの考えられる理由を決定し得る。通信およびインタラクションに関するメタデータがまた、セッションのデータに含まれ、履歴データとして記憶され得る。 [00124] At step 1030, session data may be saved as historical data. In addition to information and communications regarding interactions between a first user and a second user, session data includes the questions and answers presented to the first user and one of the questions and answers for viewing. It may include one or more of the first user's selections, any follow-up requests related to any of the questions and answers, and ratings or other indicators related to the quality of the matches between the users. For example, the second user may not only provide comments regarding the interaction with the first user, but also directly provide a numerical, categorical, or other type of rating. In some embodiments, user ratings may be inferred from subsequent comments in the conversation or further actions taken (eg, asking the same question again). Such comments or actions may indicate that the current intent may not have been satisfied, and in these instances, the bot may not have been accurate in determining the initial intent. The first user may be tasked with asking follow-up questions regarding whether or not the first user was unable to satisfy the intent, as well as determining possible reasons why or why not. Metadata regarding communications and interactions may also be included in the session data and stored as historical data.

[00125]ステップ1035において、異なるユーザへの質問および回答のマッチング、異なるユーザ(ならびにエージェントおよびボット)間での会話のルーティング、ならびに会話のエンドポイントの切替えに関する決定を含む、ユーザおよび類似のユーザに関する決定を改良するために、履歴データが、人工知能および機械学習技法にしたがって使用され得る。したがって、例示的な実施形態では、ボットとの会話に従事しているユーザは、履歴データに基づいてある特定のトピックに関心がある可能性が高いと識別され得、したがって、そのようなトピックに関連付けられた1つまたは複数の異なるエンドポイント(例えば、専門ボット、エージェント、エキスパート、ブランド担当者)にリアルタイムで動的に接続され得る。例えば、このような識別は、ステップ1005~1030に関して上記で説明されたセッションと一致する挙動のインジケータまたはパターンを現在示しているユーザに動的かつリアルタイムに基づき得る。さらに、1つまたは複数の予測は、ある特定のトピック、サービス、または機能に関連して従事またはインタラクトするインテントを含む、ユーザの1つまたは複数のインテントに関して、リアルタイムで動的に行われ得る。したがって、応答アクションもまた、(1つまたは複数の)予測されたインテントに基づいて、動的かつリアルタイムで行われ得る。このようなアクションは、決定されたエンドポイントにリアルタイムで動的に接続され得るユーザに関連する異なるルーティングまたはスイッチング決定を含み得る。エンドポイントに関する決定は、予測、ならびにユーザに関するリアルタイムデータに基づき得る。したがって、経時的に、図10に例示される方法は、異なるユーザ間の専門知識の領域を識別し、エキスパートユーザをそのような専門知識に関心がある可能性が高い他のユーザに接続すること可能にするのみならず、将来の決定を通知および改良するために使用され得るフィードバックおよび他のデータももたらす。 [00125] At step 1035, making decisions regarding the user and similar users, including matching questions and answers to different users, routing conversations between different users (as well as agents and bots), and switching endpoints of conversations. Historical data can be used according to artificial intelligence and machine learning techniques to improve decisions. Thus, in an exemplary embodiment, a user engaging in a conversation with a bot may be identified as likely to be interested in certain topics based on historical data, and thus It can be dynamically connected to one or more different associated endpoints (eg, specialized bots, agents, experts, brand representatives) in real time. For example, such identification may be based dynamically and in real time on users currently exhibiting indicators or patterns of behavior consistent with the sessions described above with respect to steps 1005-1030. Additionally, the one or more predictions are made dynamically in real-time with respect to one or more intents of the user, including intents to engage or interact with a particular topic, service, or feature. obtain. Accordingly, response actions may also be taken dynamically and in real time based on the predicted intent(s). Such actions may include different routing or switching decisions related to users that may be dynamically connected to the determined endpoints in real time. Decisions regarding endpoints may be based on predictions as well as real-time data about the user. Thus, over time, the method illustrated in FIG. 10 identifies areas of expertise among different users and connects expert users to other users likely to be interested in such expertise. It not only enables, but also yields feedback and other data that can be used to inform and improve future decisions.

[00126]図11A~図11Nは、通信セッション中にボットとユーザデバイスとの間でインタラクションを切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。図11Aにおいて、ユーザは、システム(すなわち、ボット)とのダイアログを開く。システムは、複数の質問を表示し得る。質問は、ユーザのデモグラフィックス、閲覧履歴、関心および/または同様のものに基づいて選択され得る。いくつかの実施形態では、質問は、タイミング、例えば、投稿された最も新しい質問および回答、人気、最高格付け等に基づいて選択され得る。図11B~図11Eにおいて、ユーザは、どの質問を選択するかを決定するために、表示されている利用可能な質問をスクロールする。図11Fにおいて、ユーザは、回答したい質問を選択する。この例では、彼は、「ブルックリンでお気に入りのレストランはどこですか?」を選択した。図11Gにおいて、ユーザは質問に回答する。ユーザはまた、回答の品質に対する格付けの形でフィードバックを受け取る。格付けは、システムによって提供され得るか、または投稿された質問および回答をレビューしている他のユーザから求められ得る。 [00126] FIGS. 11A-11N are screenshots of graphical user interfaces used to switch interactions between a bot and a user device during a communication session. In FIG. 11A, the user opens a dialog with the system (i.e., the bot). The system may display multiple questions. Questions may be selected based on user demographics, browsing history, interests, and/or the like. In some embodiments, questions may be selected based on timing, eg, newest questions and answers posted, popularity, highest ratings, etc. In FIGS. 11B-11E, the user scrolls through the available questions displayed to determine which question to select. In FIG. 11F, the user selects the question he or she wishes to answer. In this example, he selected "What is your favorite restaurant in Brooklyn?" In FIG. 11G, the user answers the question. Users also receive feedback in the form of ratings on the quality of their answers. Ratings may be provided by the system or may be solicited from other users reviewing posted questions and answers.

[00127]図11Hにおいて、システムは、別の回答を提供したい質問があるかどうかをユーザに尋ねる。図11Iにおいて、ユーザは、「NYCで食事をするのに絶好の場所はどこですか?」と尋ねる。ユーザは回答を求められ、図11Jにおいて、質問および回答のプレビューがユーザに表示される。図11Kにおいて、ユーザは、システムに質問および回答を公開するように求め、システムはそれを公開する。次いで、システムは、別のユーザであるJeffが、公開された質問および回答に関連するフォローアップ質問を有していることを述べる。図11Lにおいて、システムは、フォローアップ質問を表示し、Jeffとの通信セッションを開くか、またはJeffと話すことを拒否するかのいずれかを行うためのボタンを提供する。図11Mにおいて、ユーザは、Jeffとの通信セッションを開くことを決定する。図11Mに示されるように、Jeffは、電話番号または個人情報が示されないように、同じグラフィカルインターフェース上でユーザと通信することが可能である。ユーザは、Jeffのフォローアップ質問に回答することが可能であり、Jeffは、図11Nにおいて会話を閉じる。次いで、会話は、ボットへと戻される。図11Nにおいて、ユーザは、格付けの形で、彼自の回答の有用性または会話に関するフィードバックを得ることができる。 [00127] In FIG. 11H, the system asks the user if there are any questions for which he would like to provide another answer. In FIG. 11I, the user asks, "Where are the best places to eat in NYC?" The user is prompted for an answer, and a preview of the question and answer is displayed to the user in FIG. 11J. In FIG. 11K, the user asks the system to publish the question and answer, and the system publishes it. The system then states that another user, Jeff, has a follow-up question that is related to the published question and answer. In FIG. 11L, the system provides buttons to display follow-up questions and either open a communication session with Jeff or decline to speak to Jeff. In FIG. 11M, the user decides to open a communication session with Jeff. As shown in FIG. 11M, Jeff is able to communicate with the user on the same graphical interface such that no phone number or personal information is shown. The user can respond to Jeff's follow-up questions, and Jeff closes the conversation in Figure 11N. The conversation is then passed back to the bot. In FIG. 11N, the user can get feedback about the usefulness of his answers or the conversation in the form of ratings.

[00128]図12A~図12Rは、通信セッション中にボット間を切り替えるために使用されるグラフィカルユーザインターフェースのスクリーンショットである。図12Aより前に、ユーザが通信セッションを開くことができるいくつかの質問および回答が表示され得る。図12Aにおいて、ユーザは、Vodafoneとの通信セッションを開くことを求める。システム(すなわちボット)は、Vodafoneとの会話が終了した後に、システムに戻る方法をユーザに通知する。図12Bは、Vodafoneとのユーザの会話を示しており、ここで、ユーザは、例えば、「料金を下げるにはどうすればよいですか?」という質問をし得る。Vodafoneは、別個のもしくは同じボットによって、または端末デバイス上のエージェントによって操作され得る。図12Cは、ユーザのデバイス上の会話のリストを示す。図12Dにおいて、ユーザは、システム(すなわち、「Maven」)を選択し、ボットとの会話に戻り得る。ユーザが戻ったと述べると、システムは、ユーザがVodafoneとの会話を開いてから後に、受信されたまたは置かれた(located)更なる質問および回答を表示し得る。図12Eにおいて、ユーザは、現在の回答が不十分であるかまたは望ましくない場合、もっと多くの回答を求め得る。図12Fにおいて、システムは、更なる質問および回答を表示し得、ユーザは、表示された質問および回答を格付けし得る。ユーザは、更なる情報を要求するために、回答を提供した人物との会話をさらに開始し得る。 [00128] FIGS. 12A-12R are screenshots of graphical user interfaces used to switch between bots during a communication session. Prior to FIG. 12A, several questions and answers may be displayed with which the user can open a communication session. In FIG. 12A, the user requests to open a communication session with Vodafone. The system (ie, the bot) will notify the user how to return to the system after the conversation with Vodafone is finished. FIG. 12B shows a user's conversation with Vodafone, where the user may ask, for example, "How can I get a lower rate?" Vodafone may be operated by a separate or the same bot or by an agent on the terminal device. FIG. 12C shows a list of conversations on the user's device. In FIG. 12D, the user may select the system (ie, "Maven") and return to the conversation with the bot. Once the user states he has returned, the system may display further questions and answers that have been received or located since the user opened the conversation with Vodafone. In FIG. 12E, the user may request more answers if the current answers are insufficient or undesirable. In FIG. 12F, the system may display additional questions and answers, and the user may rate the displayed questions and answers. The user may further initiate a conversation with the person who provided the answer to request further information.

[00129]図12Gにおいて、システムは、他のユーザとの通信セッションを開き、要求しているユーザに、システムに戻る方法について指示する。図12Hは、質問および回答に関する他のユーザとの会話を示す。図12Iは、商品またはサービスに対する質問および回答の作成者を雇うために、どのようにシステムが使用され得るかを示す。図12Jは、支払情報を収集するためのインターフェースを示す。図12Kは、時間期間によって支払うときに、エキスパートがどれだけ長く使用されているかを合計するタイマを示す。図12Lは、更なる会話を促進するために、ユーザをチャット画面に戻し得る。 [00129] In FIG. 12G, the system opens a communication session with another user and instructs the requesting user on how to return to the system. FIG. 12H shows conversations with other users regarding questions and answers. FIG. 12I shows how the system can be used to hire creators of questions and answers for goods or services. FIG. 12J shows an interface for collecting payment information. FIG. 12K shows a timer that sums up how long an expert has been used when paying by time period. FIG. 12L may return the user to the chat screen to facilitate further conversation.

[00130]図12Mは、ユーザによる全ての会話のリストを示す。図12Nに示されるように、ユーザは、システムとの会話に戻るために、システム(すなわち、「Maven」)を選択し得る。図12Nにおいて、システムは、ユーザが会話から離れていた間に受信された任意の新しい関連する(または無関係な)質問および回答を表示し得る。 [00130] FIG. 12M shows a list of all conversations by the user. As shown in FIG. 12N, the user may select the system (ie, "Maven") to return to the conversation with the system. In FIG. 12N, the system may display any new relevant (or unrelated) questions and answers received while the user was away from the conversation.

[00131]図12Oにおいて、ユーザは、異なる会話を開始するために、異なる質問および回答を選択し得る。メッセージが、新たに選択された質問および回答の作成者から、ユーザに送られ得る。図12Pは、作成者との開かれた会話、ならびに交換された質問および回答を示している。図12Qは、ユーザがそこから新しい会話を選択し得るか、またはシステム(すなわち、「Maven」)に戻り得る、全ての会話のリストを示している。ユーザは、会話に戻ったことを述べ得、プロセスは継続し得る。 [00131] In FIG. 12O, the user may select different questions and answers to start different conversations. A message may be sent to the user from the author of the newly selected question and answer. Figure 12P shows an open conversation with the author and the questions and answers exchanged. FIG. 12Q shows a list of all conversations from which the user can select a new conversation or return to the system (ie, "Maven"). The user may state that they are back in the conversation and the process may continue.

[00132]開示される方法は、コンピューティングシステムを使用して実行され得る。例となるコンピューティングシステムは、プロセッサ(例えば、中央処理ユニット)、メモリ、不揮発性メモリ、およびインターフェースデバイスを含み得る。メモリは、データおよび/または1つまたは複数のコードセット、ソフトウェア、スクリプト等を記憶し得る。コンピュータシステムのコンポーネントは、バスを介して、または何らかの他の既知のもしくは便利なデバイスを通じて、互いに結合され得る。プロセッサは、例えば、例えばメモリに記憶されたコードを実行することによって、本明細書で説明された方法の全てまたは一部を行うように構成され得る。ユーザデバイスもしくはコンピュータ、プロバイダサーバもしくはシステム、またはサスペンドされたデータベース更新システム(a suspended database update system)のうちの1つまたは複数が、コンピューティングシステムまたはそのようなシステムの変形例のコンポーネントを含み得る。 [00132] The disclosed methods may be performed using a computing system. An example computing system may include a processor (eg, central processing unit), memory, non-volatile memory, and interface devices. The memory may store data and/or one or more code sets, software, scripts, etc. The components of the computer system may be coupled to each other via a bus or through any other known or convenient device. A processor may be configured to perform all or some of the methods described herein, for example, by executing code stored in memory. One or more of a user device or computer, a provider server or system, or a suspended database update system may include components of a computing system or a variation of such a system.

[00133]本開示は、限定はしないが、店舗販売時点情報管理システム(「POS:Point-of-Sale system」)を含む、任意の好適な物理的形態をとるコンピュータシステムを企図する。限定ではなく例として、コンピュータシステムは、埋込み型コンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)等)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、またはこれらのうちの2つ以上の組合せであり得る。適切な場合、コンピュータシステムは、1つまたは複数のコンピュータシステムを含み得る;単一であり得るかまたは分散され得る;複数のロケーションにまたがり得る;複数の機械にまたがり得る;および/または1つまたは複数のネットワーク内の1つまたは複数のクラウドコンポーネントを含み得るクラウド内に存在し得る。適切な場合、1つまたは複数のコンピュータシステムは、実質的な空間的または時間的制限なしに、本明細書で説明または例示された1つまたは複数の方法の、1つまたは複数のステップを実行し得る。限定ではなく例として、1つまたは複数のコンピュータシステムは、リアルタイムまたはバッチモードにおいて、本明細書で説明または例示された1つまたは複数の方法の、1つまたは複数のステップを実行し得る。1つまたは複数のコンピュータシステムは、適切な場合、異なる時間または異なるロケーションにおいて、本明細書で説明または例示された1つまたは複数の方法の、1つまたは複数のステップを実行し得る。 [00133] This disclosure contemplates computer systems taking any suitable physical form, including, but not limited to, point-of-sale systems ("POS"). By way of example and not limitation, a computer system may include an embedded computer system, a system on a chip (SOC), a single board computer system (SBC) (e.g., a computer on a module (COM) or a system on a module (SOM), etc.), a desktop computer, etc. The system may be a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile phone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, the computer system may include one or more computer systems; may be single or distributed; may span multiple locations; may span multiple machines; and/or one or May reside in a cloud, which may include one or more cloud components in multiple networks. Where appropriate, one or more computer systems can perform one or more steps of one or more methods described or illustrated herein without substantial spatial or temporal limitations. It is possible. By way of example and not limitation, one or more computer systems may perform one or more steps of one or more methods described or illustrated herein in real time or batch mode. One or more computer systems may perform one or more steps of one or more methods described or illustrated herein at different times or at different locations, where appropriate.

[00134]プロセッサは、例えば、Intel Pentium(登録商標)マイクロプロセッサまたはMotorola power PCマイクロプロセッサ等の従来のマイクロプロセッサであり得る。当業者であれば、「機械可読(記憶)媒体」または「コンピュータ可読(記憶)媒体」という用語が、プロセッサによってアクセス可能な任意のタイプのデバイスを含むことを認識するであろう。 [00134] The processor may be a conventional microprocessor, such as, for example, an Intel Pentium microprocessor or a Motorola power PC microprocessor. Those skilled in the art will recognize that the terms "machine-readable (storage) medium" or "computer-readable (storage) medium" include any type of device that can be accessed by a processor.

[00135]メモリは、例えばバスによって、プロセッサに結合され得る。メモリは、限定ではなく例として、ダイナミックRAM(DRAM)およびスタティックRAM(SRAM)等のランダムアクセスメモリ(RAM)を含み得る。メモリは、ローカル、リモート、または分散型であり得る。 [00135] Memory may be coupled to the processor, eg, by a bus. Memory may include, by way of example and not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). Memory can be local, remote, or distributed.

[00136]バスはまた、プロセッサを不揮発性メモリおよび駆動ユニットに結合し得る。不揮発性メモリは、多くの場合、磁気フロッピー(登録商標)もしくはハードディスク、光磁気ディスク、光ディスク、CD-ROM、EPROM、もしくはEEPROM(登録商標)等の読取専用メモリ(ROM)、磁気カードもしくは光カード、または大量のデータのための別の形態の記憶装置である。このデータの一部は、多くの場合、コンピュータにおけるソフトウェアの実行中に、ダイレクトメモリアクセスプロセスによって、メモリに書き込まれる。不揮発性記憶装置は、ローカル、リモート、または分散型であり得る。システムは、全ての適用可能なデータがメモリにおいて利用可能な状態で作成され得るので、不揮発性メモリはオプションである。典型的なコンピュータシステムは、通常、少なくともプロセッサと、メモリと、メモリをプロセッサに結合するデバイス(例えば、バス)と、を含むことになる。 [00136] The bus may also couple the processor to the non-volatile memory and drive unit. Nonvolatile memory is often a magnetic floppy or hard disk, a magneto-optical disk, an optical disk, a read-only memory (ROM) such as a CD-ROM, an EPROM, or an EEPROM, or a magnetic or optical card. , or another form of storage for large amounts of data. Some of this data is often written to memory by direct memory access processes while software is running on the computer. Nonvolatile storage can be local, remote, or distributed. Non-volatile memory is optional since the system can be created with all applicable data available in memory. A typical computer system will typically include at least a processor, memory, and a device (eg, a bus) coupling the memory to the processor.

[00137]ソフトウェアは、不揮発性メモリおよび/または駆動ユニットに記憶され得る。実際、大きいプログラムの場合、プログラム全体をメモリに記憶することさえ可能でない場合がある。とはいえ、ソフトウェアを実行するためには、必要であれば、それは処理に適したコンピュータ可読ロケーションに移動され、例示を目的として、そのロケーションは、本明細書ではメモリと呼ばれることが理解されるべきである。ソフトウェアが実行のためにメモリに移動されるときでさえも、プロセッサは、ソフトウェアに関連付けられた値を記憶するためのハードウェアレジスタと、理想的には実行を高速化する機能を果たすローカルキャッシュとを利用し得る。本明細書で使用される場合、ソフトウェアプログラムは、ソフトウェアプログラムが「コンピュータ可読媒体で実装される」と言及されるとき、(不揮発性記憶装置からハードウェアレジスタまで)あらゆる既知のまたは便利なロケーションにおいて記憶されていると仮定される。プロセッサは、プログラムに関連付けられた少なくとも1つの値が、プロセッサによって可読なレジスタに記憶されているとき、「プログラムを実行するように構成されている」と見なされる。 [00137] The software may be stored in non-volatile memory and/or the drive unit. In fact, for large programs, it may not even be possible to store the entire program in memory. It is understood, however, that in order to execute the software, it is moved, if necessary, to a computer readable location suitable for processing, which location is referred to herein as memory for purposes of illustration. Should. Even when software is moved to memory for execution, the processor uses hardware registers to store values associated with the software and a local cache that ideally serves to speed up execution. can be used. As used herein, when a software program is referred to as being "implemented on a computer-readable medium," it means that the software program is in any known or convenient location (from non-volatile storage to hardware registers). It is assumed that it is remembered. A processor is considered "configured to execute a program" when at least one value associated with the program is stored in a register readable by the processor.

[00138]バスはまた、プロセッサをネットワークインターフェースデバイスに結合し得る。インターフェースは、モデムまたはネットワークインターフェースのうちの1つまたは複数を含み得る。モデムまたはネットワークインターフェースは、コンピュータシステムの一部であると見なされ得ることが理解されよう。インターフェースは、アナログモデム、統合サービスデジタルネットワーク(ISDN0モデム、ケーブルモデム、トークンリングインターフェース、衛星伝送インターフェース(例えば、「ダイレクトPC」)、またはコンピュータシステムを他のコンピュータシステムに結合するための他のインターフェースを含み得る。インターフェースは、1つまたは複数の入力および/または出力(I/O)デバイスを含み得る。I/Oデバイスは、限定ではなく例として、キーボード、マウスまたは他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、ならびにディスプレイデバイスを含む他の入力デバイスおよび/または出力デバイスを含み得る。ディスプレイデバイスは、限定ではなく例として、陰極線管(CRT)、液晶ディスプレイ(LCD)、または何らかの他の適用可能な既知のまたは便利なディスプレイデバイスを含み得る。 [00138] A bus may also couple the processor to a network interface device. The interface may include one or more of a modem or a network interface. It will be appreciated that a modem or network interface may be considered part of a computer system. The interface may include an analog modem, an integrated services digital network (ISDN0 modem, a cable modem, a token ring interface, a satellite transmission interface (e.g., "Direct PC"), or other interface for coupling the computer system to other computer systems. An interface may include one or more input and/or output (I/O) devices, such as, by way of example and not limitation, a keyboard, a mouse or other pointing device, a disk drive, Other input and/or output devices may be included, including printers, scanners, and display devices, including, by way of example and not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable display device. may include any known or convenient display device.

[00139]動作中、コンピュータシステムは、ディスクオペレーティングシステム等のファイル管理システムを含むオペレーティングシステムソフトウェアによって制御され得る。関連付けられたファイル管理システムソフトウェアを有するオペレーティングシステムソフトウェアの一例は、ワシントン州レドモンドのMicrosoft社からのWindows(登録商標)として知られるオペレーティングシステムのファミリー、およびそれらの関連付けられたファイル管理システムである。その関連付けられたファイル管理システムソフトウェアを有するオペレーティングシステムソフトウェアの別の例が、Linux(登録商標)(商標)オペレーティングシステムおよびその関連付けられたファイル管理システムである。ファイル管理システムは、不揮発性メモリおよび/または駆動ユニットに記憶され得、プロセッサに、不揮発性メモリおよび/または駆動ユニット上にファイルを記憶することを含む、データを入力および出力し、メモリにデータを記憶するためにオペレーティングシステムによって必要とされる様々な動作を実行させ得る。 [00139] During operation, a computer system may be controlled by operating system software, including a file management system, such as a disk operating system. One example of operating system software that has associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux® operating system and its associated file management system. The file management system may be stored in the non-volatile memory and/or the drive unit and provides data input and output to the processor, including storing files on the non-volatile memory and/or drive unit, and provides data to the memory. Various operations required by the operating system to store may be performed.

[00140]発明を実施するための形態のいくつかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズムおよび記号表現によって提示され得る。これらのアルゴリズム的記述および表現は、データ処理技術分野の当業者によって、彼らの作業の内容を他の当業者に最も効果的に伝えるために用いられる手段である。アルゴリズムは、本明細書において、また一般に、所望の結果をもたらす、動作の首尾一貫したシーケンス(self-consistent sequence)であると考えられている。動作は、物理量の物理的操作を必要とするものである。必ずしもではないが、通常、これらの量は、記憶される、転送される、組み合わされる、比較される、または他の方法で操作されることが可能な電気信号または磁気信号の形態をとる。主に一般的な使用法の理由から、これらの信号を、ビット、値、要素、シンボル、文字、ターム(terms)、数字、または同様のものとして参照することが、時として好都合であることがわかっている。 [00140] Some portions of the detailed description may be presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is conceived herein, and generally, to be a self-consistent sequence of operations that produces a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, but not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. know.

[00141]しかしながら、これらおよび同様の用語の全ては、適切な物理量に関連付けられるべきであり、これらの量に適用される単に便利なラベルに過ぎないということに留意されたい。別段に明記されていない限り、以下の説明から明らかなように、本説明全体を通して、「処理」または「コンピューティング」または「計算」または「決定」または「表示」または「生成」または同様のこと等の用語を用いる説明は、コンピュータシステムのレジスタおよびメモリ内で物理的な(電子的な)量として表されるデータを操作し、コンピュータシステムメモリもしくはレジスタもしくは他のそのような情報記憶装置、送信デバイスまたは表示デバイス内で物理量として同様に表される他のデータへと変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指すことが理解される。 [00141] It should be borne in mind, however, that all of these and similar terms should be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise specified, throughout this description, as is clear from the description below, "processing" or "computing" or "calculating" or "determining" or "displaying" or "producing" or similar terms are used. Descriptions using such terms refer to operations on data represented as physical (electronic) quantities in computer system registers and memory, computer system memory or registers or other such information storage devices, transmission It is understood to refer to the actions and processes of a computer system or similar electronic computing device to convert other data similarly represented as physical quantities in a device or display device.

[00142]本明細書で提示されるアルゴリズムおよびディスプレイは、本質的に、いかなる特定のコンピュータまたは他の装置にも関連するものではない。様々な汎用システムが、本明細書の教示にしたがってプログラムとともに使用され得るか、またはいくつかの例の方法を実行するために、より特化された装置を構築することが好都合であるとわかる場合がある。様々なこれらのシステムのために必要とされる構造は、以下の説明から明らかになるであろう。加えて、本技法は、任意の特定のプログラミング言語を参照して説明されず、したがって、様々な例は、様々なプログラミング言語を使用して実装され得る。 [00142] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove advantageous to construct more specialized apparatus to carry out some example methods. There is. The required structure for a variety of these systems will appear from the description below. Additionally, the present techniques are not described with reference to any particular programming language; therefore, various examples may be implemented using a variety of programming languages.

[00143]様々な実装形態では、システムは、スタンドアロンデバイスとして動作するか、または他のシステムに接続(例えば、ネットワーク接続)され得る。ネットワーク化された展開では、システムは、クライアントサーバネットワーク環境においてサーバまたはクライアントシステムのキャパシティで動作し得るか、またはピアツーピア(または、分散型)ネットワーク環境におけるピアシステムとして動作し得る。 [00143] In various implementations, the system may operate as a standalone device or be connected (eg, networked) to other systems. In a networked deployment, the system may operate in the capacity of a server or client system in a client-server network environment, or as a peer system in a peer-to-peer (or distributed) network environment.

[00144]システムは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、ラップトップコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、iPhone(登録商標)、Blackberry(登録商標)、プロセッサ、電話、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはそのシステムによって行われるべきアクションを指定する命令のセットを(順次または他の方法で)実行することが可能な任意のシステムであり得る。 [00144] The system includes a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, an iPhone (R), a Blackberry ( trademark), processor, telephone, web appliance, network router, switch or bridge, or any system capable of executing (sequentially or otherwise) a set of instructions that specify actions to be taken by that system. It can be.

[00145]機械可読媒体または機械可読記憶媒体が、例として、単一の媒体であるように示されている一方で、「機械可読媒体」および「機械可読記憶媒体」という用語は、1つまたは複数の命令セットを記憶する単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連するキャッシュおよびサーバ)を含むものと解釈されるべきである。「機械可読媒体」および「機械可読記憶媒体」という用語はまた、システムによる実行のための命令セットを記憶、符号化、または搬送することが可能であり、かつ、システムに、本明細書で開示される方法またはモジュールのうちの任意の1つまたは複数を実行させる、任意の媒体を含むと解釈されるものとする。 [00145] While a machine-readable medium or machine-readable storage medium is, by way of example, illustrated as being a single medium, the terms "machine-readable medium" and "machine-readable storage medium" refer to one or It should be understood to include a single medium or multiple mediums (eg, centralized or distributed databases and/or associated caches and servers) that store multiple instruction sets. The terms "machine-readable medium" and "machine-readable storage medium" also refer to a system capable of storing, encoding, or carrying a set of instructions for execution by a system, and to the system disclosed herein. shall be construed to include any medium capable of carrying out any one or more of the methods or modules described herein.

[00146]一般に、本開示の実装形態を実装するために実行されるルーチンは、「コンピュータプログラム」と呼ばれる、オペレーティングシステムの一部または特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは命令のシーケンスとして実装され得る。コンピュータプログラムは、典型的に、コンピュータ内の様々なメモリおよび記憶デバイスに様々な時間において設定された1つまたは複数の命令を備え、それらの命令は、コンピュータ内の1つまたは複数の処理ユニットまたはプロセッサによって読み取られおよび実行されると、コンピュータに、本開示の様々な態様に関与する要素を実行するための動作を実行させる。 [00146] Generally, the routines executed to implement implementations of the present disclosure are part of an operating system or a particular application, component, program, object, module, or sequence of instructions, referred to as a "computer program." It can be implemented as A computer program typically comprises one or more instructions placed in various memories and storage devices within the computer at various times, and those instructions are executed by one or more processing units within the computer or When read and executed by the processor, it causes the computer to perform operations to implement the elements involved in various aspects of the present disclosure.

[00147]さらに、例が、完全に機能するコンピュータおよびコンピュータシステムのコンテキストで説明されているが、当業者であれば、様々な例が様々な形態においてプログラムオブジェクトとして配布されることが可能であること、および本開示が、実際に配布を行うために使用される特定のタイプの機械可読媒体またはコンピュータ可読媒体にかかわらず、等しく適用されることを理解するであろう。 [00147] Additionally, although the examples are described in the context of fully functional computers and computer systems, those skilled in the art will appreciate that the various examples can be distributed as program objects in a variety of forms. It will be understood that this disclosure applies equally regardless of the particular type of machine-readable or computer-readable medium used to actually accomplish the distribution.

[00148]機械可読記憶媒体、機械可読媒体、またはコンピュータ可読(記憶)媒体の更なる例は、限定はしないが、特に、揮発性および不揮発性メモリデバイス、フロッピーおよび他のリムーバブルディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読取専用メモリ(CD ROMS)、デジタル多用途ディスク(DVD)等)等の記録可能なタイプの媒体、ならびにデジタルおよびアナログ通信リンク等の送信タイプの媒体を含む。 [00148] Further examples of machine-readable, machine-readable, or computer-readable (storage) media include, but are not limited to, volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, Includes recordable type media, such as optical disks (eg, compact disc read only memory (CD ROMS), digital versatile disc (DVD), etc.), and transmission type media, such as digital and analog communication links.

[00149]いくつかの状況では、バイナリ1からバイナリ0への、またはその逆への状態における変化等のメモリデバイスの動作が、例えば、物理的変換等の変換を備え得る。特定のタイプのメモリデバイスでは、このような物理的変換は、異なる状態または物への物品(an article)の物理的変換を備え得る。例えば、限定はしないが、いくつかのタイプのメモリデバイスについては、状態における変化は、電荷の蓄積および貯蔵、または貯蔵された電荷の解放を伴い得る。同様に、他のメモリデバイスでは、状態の変化は、磁気方位における物理的変化もしくは変換、または結晶性から非結晶性への、もしくはその逆へ等の分子構造における物理的変化もしくは変換を備え得る。前述は、メモリデバイス中でのバイナリ1からバイナリ0への、またはその逆への状態における変化が物理的変換等の変換を備え得る、全ての例の網羅的なリストであるようには意図されない。むしろ、前述は、例示的な例として意図される。 [00149] In some situations, an operation of a memory device, such as a change in state from a binary 1 to a binary 0, or vice versa, may comprise a transformation, such as a physical transformation, for example. For certain types of memory devices, such physical transformation may comprise a physical transformation of an article into a different state or thing. For example, and without limitation, for some types of memory devices, a change in state may involve the accumulation and storage of charge, or the release of stored charge. Similarly, in other memory devices, the change of state may comprise a physical change or transformation in magnetic orientation or in molecular structure, such as from crystalline to amorphous or vice versa. . The foregoing is not intended to be an exhaustive list of all examples in which a change in state from a binary 1 to a binary 0, or vice versa, in a memory device may comprise a transformation, such as a physical transformation. . Rather, the foregoing is intended as an illustrative example.

[00150]記憶媒体は、典型的に、非一時的であり得るか、または非一時的なデバイスを含み得る。このコンテキストでは、非一時的な記憶媒体は、有形であるデバイスを含み得、これは、デバイスがその物理的状態を変化させ得るが、デバイスが具体的な形のある物理的形態を有することを意味する。したがって、例えば、非一時的とは、状態におけるこの変化にもかかわらず、有形のままであるデバイスを指す。 [00150] A storage medium typically can be non-transitory or include a non-transitory device. In this context, a non-transitory storage medium may include a device that is tangible, meaning that the device may change its physical state, but not that the device has a tangible physical form. means. Thus, for example, non-transitory refers to a device that remains tangible despite this change in condition.

[00151]上記の説明および図面は例示的であり、主題を開示された厳密な形態に限定するものとして解釈されるべきではない。当業者は、多くの修正および変形が上記の開示に照らして可能であることを理解し得る。本開示の完全な理解を提供するために、多数の特定の詳細が説明された。しかしながら、ある特定の事例では、説明を不明瞭にすることを回避するために、周知または従来の詳細は説明されていない。 [00151] The above description and drawings are illustrative and should not be construed as limiting the subject matter to the precise form disclosed. Those skilled in the art will appreciate that many modifications and variations are possible in light of the above disclosure. Numerous specific details have been set forth to provide a thorough understanding of the disclosure. However, in certain instances, well-known or conventional details have not been described to avoid obscuring the description.

[00152]本明細書で使用される場合、「接続された」、「結合された」という用語、またはそれらの任意の変形は、システムのモジュールに適用されるとき、2つ以上の要素間の直接的または間接的のいずれかの任意の接続または結合を意味し、要素間の接続の結合は、物理的、論理的、またはこれらの任意の組合せであり得る。加えて、「本明細書において」、「上記」、「以下」という用語、および同様の趣旨の用語は、本願で使用される場合、本願の任意の特定の部分ではなく、本願全体を指すものとする。コンテキストが許す場合、単数または複数の数を使用する上記の発明を実施するための形態における用語はまた、それぞれ複数または単数の数を含み得る。2つ以上のアイテムのリストに関する、「または(or)」という用語は、その用語の次の解釈の全てを網羅する:リスト中のアイテムのいずれか、リスト中のアイテムの全て、またはリスト中のアイテムの任意の組合せ。 [00152] As used herein, the terms "connected," "coupled," or any variations thereof, when applied to a module of a system, refer to the relationship between two or more elements. Refers to any connection or coupling, either direct or indirect, and the coupling of connections between elements may be physical, logical, or any combination thereof. Additionally, the terms "herein," "above," "hereinafter," and words of similar import, when used in this application, refer to the entire application and not to any particular portion of the application. shall be. Where the context permits, terms in the Detailed Description above that use singular or plural numbers may also include the plural or singular number, respectively. The term "or" in relation to a list of two or more items covers all of the following interpretations of the term: any of the items in the list, all of the items in the list, or any of the items in the list. Any combination of items.

[00153]当業者であれば、開示された主題が、以下に示されていない他の形態および方法で具現化され得ることを理解するであろう。もしあれば、第1、第2、最上位および最下位等のような関係を示す用語の使用は、そのようなエンティティまたはアクション間の任意のそのような実際の関係または順序を必ずしも必要とすることまたは暗示することなく、1つのエンティティまたはアクションを別のものから区別するためにのみ使用されることが理解される。 [00153] Those skilled in the art will appreciate that the disclosed subject matter may be embodied in other forms and ways not shown below. The use of relational terms such as first, second, most and least, etc., if any, does not necessarily require any such actual relationship or ordering between such entities or actions. It is understood that the terms are used only to distinguish one entity or action from another, without meaning or implication.

[00154]プロセスまたはブロックが所与の順序で提示されているが、代替の実装形態は、異なる順序で、ステップを有するルーチンを実行し得るか、またはブロックを有するシステムを用い得、いくつかのプロセスまたはブロックは、代替の組合せまたはサブ組合せを提供するために、削除、移動、追加、再分割、置換、組合せ、および/または修正され得る。これらのプロセスまたはブロックの各々は、様々な異なる方法で実装され得る。また、プロセスまたはブロックは、時として順次実行されるものとして示されているが、これらのプロセスまたはブロックは、代わりに、並行して実行され得るか、または異なった時間に実行され得る。さらに、本明細書に記載される任意の数は、単なる例であり、代替の実装形態は、異なる値または範囲を用い得る。 [00154] Although processes or blocks are presented in a given order, alternative implementations may execute routines with steps or use systems with blocks in a different order, and may use several Processes or blocks may be deleted, moved, added, subdivided, substituted, combined, and/or modified to provide alternative combinations or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, although processes or blocks are sometimes depicted as executing sequentially, the processes or blocks may instead be executed in parallel or at different times. Furthermore, any numbers described herein are merely examples; alternative implementations may use different values or ranges.

[00155]本明細書で提供された開示の教示は、必ずしも上記で説明されたシステムではなく、他のシステムにも適用され得る。上記で説明された様々な例の要素および動作は、更なる例を提供するために組み合わされ得る。 [00155] The teachings of the disclosure provided herein may be applied to other systems, not necessarily the systems described above. The elements and acts of the various examples described above may be combined to provide further examples.

[00156]添付の出願書類に列挙され得る任意のものを含む、上記の任意の特許および出願ならびに他の参考文献は、参照により本明細書に組み込まれている。本開示の態様は、必要に応じて、上記で説明された様々な参考文献のシステム、機能、および概念を用いるために修正されて、本開示のなお更なる例を提供し得る。 [00156] Any patents and applications and other references mentioned above, including any that may be listed in the accompanying application documents, are incorporated herein by reference. Aspects of the disclosure may be modified, if necessary, to employ the systems, features, and concepts of the various references described above to provide still further examples of the disclosure.

[00157]これらおよび他の変更が、上記の発明を実施するための形態に照らして、本開示に対して行われ得る。上記の説明は、ある特定の例を説明し、企図される最良のモードを説明しているが、上記がテキスト中でいかに詳細に書かれていたとしても、本教示は多くの方法で実施され得る。システムの詳細は、本明細書に開示される主題によって依然として包含されながらも、その実装形態の詳細において大幅に異なり得る。上述されたように、本開示のある特定の特徴または態様を説明するときに使用される特定の用語は、その用語が関連付けられている本開示の任意の特性、特徴、または態様に制限されるように、本明細書で再定義されていることを暗示するように解釈されるべきではない。一般に、以下の特許請求の範囲において使用される用語は、上記の発明を実施するための形態のセクションがそのような用語を明示的に定義しない限り、本開示を本明細書において開示される特定の実装形態に限定するように解釈されるべきではない。したがって、本開示の実際の範囲は、開示された実装形態だけでなく、特許請求の範囲の下で本開示を実施または実装する全ての同等な方法も包含する。 [00157] These and other modifications may be made to the present disclosure in light of the detailed description above. Although the above discussion describes a particular example and describes the best mode contemplated, the present teachings may be implemented in many ways, no matter how detailed the above is in the text. obtain. Details of the system may vary significantly in its implementation details while still being encompassed by the subject matter disclosed herein. As noted above, a particular term used when describing a particular feature or aspect of the disclosure is limited to any feature, feature, or aspect of the disclosure with which that term is associated. as such, it should not be construed to imply that it has been redefined herein. In general, the terms used in the following claims refer to the specific terms disclosed herein, unless the Detailed Description section above explicitly defines such terms. should not be construed as limited to implementations of . Therefore, the actual scope of the disclosure encompasses not only the disclosed implementations, but also all equivalent ways of practicing or implementing the disclosure under the claims.

[00158]本開示のある特定の態様がある特定の請求項の形態で以下に提示されるが、本発明者らは、本開示の様々な態様を任意の数の請求項の形態で企図する。35U.S.C.§112(f)の下で取り扱われることが意図される任意の請求項は、「~のための手段(means for)」という用語で始まることになる。したがって、本出願人は、本開示の他の態様についてのそのような追加の請求項の形態を追求するために、出願後に追加の請求項を追加する権利を留保する。 [00158] Although certain aspects of the disclosure are presented below in the form of certain claims, the inventors contemplate various aspects of the disclosure in the form of any number of claims. . 35U. S. C. Any claim intended to be treated under §112(f) will begin with the term "means for." Accordingly, Applicant reserves the right to add additional claims after filing to pursue such additional claim forms for other aspects of the disclosure.

[00159]本明細書で使用される用語は、一般に、本開示のコンテキスト内で、および各用語が使用される特定のコンテキストにおいて、当該技術分野におけるそれらの通常の意味を有する。本開示を説明するために使用されるある特定の用語は、本開示の説明に関して実施者に追加のガイダンスを提供するために、上記で説明されているか、または本明細書中の他の箇所で説明されている。便宜上、ある特定の用語は、例えば、大文字、イタリック体、および/または引用符を使用して、強調表示され得る。強調表示の使用は、用語の範囲および意味に影響を及ぼさず、用語の範囲および意味は、強調表示されているか否かにかかわらず、同じコンテキストにおいては同じである。同じ要素が1つより多くの方法で説明され得ることが理解されよう。 [00159] The terms used herein generally have their ordinary meanings in the art within the context of this disclosure and in the specific context in which each term is used. Certain terms used to describe the present disclosure are explained above or elsewhere herein to provide additional guidance to the practitioner regarding the description of the present disclosure. explained. For convenience, certain terms may be highlighted, eg, using capital letters, italics, and/or quotation marks. The use of highlighting does not affect the scope and meaning of the term, which is the same in the same context whether or not it is highlighted. It will be understood that the same element can be described in more than one way.

[00160]結果として、代替の文言および同義語が、本明細書で説明される用語のうちの任意の1つまたは複数に対して使用され得、また、用語が本明細書で詳述または説明されている否かに対して、いかなる特別な重要性も置かれない。ある特定の用語の同義語が提供される。1つまたは複数の同義語の詳述は、他の同義語の使用を排除しない。本明細書で説明された任意の用語の例を含む、本明細書の任意の箇所における例の使用は、例示的なものに過ぎず、本開示のまたは任意の例示された用語の範囲および意味をさらに限定することは意図されていない。同様に、本開示は、本明細書で与えられる様々な例に限定されない。 [00160] As a result, alternative wording and synonyms may be used for any one or more of the terms described herein, and the terms may be used as detailed or explained herein. No special importance is placed on whether or not it is done. Synonyms for certain terms are provided. The recitation of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification, including examples of any terms explained herein, is for illustrative purposes only, and the scope and meaning of this disclosure or any illustrated terms. It is not intended to further limit. Similarly, this disclosure is not limited to the various examples provided herein.

[00161]本開示の範囲をさらに限定することを意図せずに、本開示の例による機器(instruments)、装置、方法、およびそれらの関連する結果の例が以下に与えられる。タイトルまたはサブタイトルが、読者の便宜のために例において使用され得るが、これは決して本開示の範囲を限定すべきではないことに留意されたい。別段に定義されていない限り、本明細書で使用された全ての技術的および科学的用語は、本開示が関連する当該技術分野の当業者によって一般に理解されているものと同じ意味を有する。矛盾が生じた場合、定義を含めて本文書が優先されることになる。 [00161] Without intending to further limit the scope of the disclosure, examples of instruments, apparatus, methods, and their related results according to examples of the disclosure are provided below. Note that titles or subtitles may be used in the examples for the convenience of the reader, but this should not limit the scope of the disclosure in any way. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the event of a conflict, this document, including definitions, will control.

[00162]本説明のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現によって例を説明している。これらのアルゴリズム的記述および表現は、データ処理技術分野の当業者によって、彼らの作業の内容を他の当業者に最も効果的に伝えるために一般的に用いられている。これらの動作は、機能的、コンピューティング処理的、または論理的に説明されているが、コンピュータプログラムもしくは同等の電気回路、マイクロコード、または同様のものによって実装されることが理解される。さらに、一般性を失うことなく、これらの動作の構成(arrangements)をモジュールと呼ぶことが時として好都合であることもわかっている。説明された動作およびそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せで具現化され得る。 [00162] Some portions of this description describe examples in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. Although these operations have been described as functional, computational, or logical, it is understood that they may be implemented by a computer program or equivalent electrical circuitry, microcode, or the like. Additionally, without loss of generality, it has proven convenient at times to refer to these arrangements of operations as modules. The operations described and their associated modules may be implemented in software, firmware, hardware, or any combination thereof.

[00163]本明細書で説明されたステップ、動作、またはプロセスの任意のものが、単独でまたは他のデバイスと組み合わせて、1つまたは複数のハードウェアモジュールまたはソフトウェアモジュールを用いて実行または実装され得る。いくつかの例では、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ可読媒体を含むコンピュータプログラムオブジェクトで実装され、これは、説明されたステップ、動作、またはプロセスのいずれかまたは全てを実行するために、コンピュータプロセッサによって実行され得る。 [00163] Any of the steps, acts, or processes described herein may be performed or implemented using one or more hardware or software modules, alone or in combination with other devices. obtain. In some examples, a software module is implemented with a computer program object that includes a computer readable medium that includes computer program code to perform any or all of the steps, acts, or processes described. May be executed by a computer processor.

[00164]例はまた、本明細書の動作を実行するための装置に関係し得る。この装置は、必要とされる目的のために特別に構築され得、および/または、それは、コンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピューティングデバイスを備え得る。このようなコンピュータプログラムは、コンピュータシステムバスに結合され得る、非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに好適な任意のタイプの媒体に記憶され得る。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含み得るか、または増大されたコンピューティング能力のために、マルチプロセッサ設計を用いたアーキテクチャであり得る。 [00164] Examples may also relate to apparatus for performing the operations herein. The apparatus may be specially constructed for the required purpose and/or it may include a general purpose computing device that can be selectively activated or reconfigured by a computer program stored on the computer. Such a computer program may be stored on a non-transitory, tangible, computer-readable storage medium that may be coupled to a computer system bus, or any type of medium suitable for storing electronic instructions. Additionally, any computing system mentioned herein may include a single processor or may be architecture using a multi-processor design for increased computing power.

[00165]例はまた、本明細書で説明されたコンピューティングプロセスによって生成されるオブジェクトに関係し得る。このようなオブジェクトは、コンピューティングプロセスから生じる情報を備え得、ここで、情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、本明細書で説明されたコンピュータプログラムオブジェクトまたは他のデータ組合せの任意の実装形態を含み得る。 [00165] Examples may also relate to objects produced by the computing processes described herein. Such an object may comprise information resulting from a computing process, where the information is stored on a non-transitory, tangible, computer-readable storage medium, and where the information is stored on a computer program object or other computer program object described herein. May include any implementation of data combinations.

[00166]本明細書で使用される文言は、主に読みやすさおよび教示目的のために選択されており、それは主題を線引きまたは制限するように選択されたものではない場合がある。したがって、本開示の範囲は、この発明を実施するための形態によってではなく、本明細書に基づく出願に関して発行される任意の特許請求の範囲によって限定されることが意図される。したがって、例の開示は、以下の特許請求の範囲に記載される主題の範囲を例示するものであり、限定するものではないことが意図される。 [00166] The language used herein was selected primarily for readability and instructional purposes, and it may not be selected to delineate or limit the subject matter. Accordingly, it is intended that the scope of the disclosure be limited not by this detailed description, but rather by the scope of any claims issued on an application based on this specification. Accordingly, the example disclosure is intended to be illustrative, not limiting, of the scope of the subject matter recited in the following claims.

[00167]コンテクスチュアル接続システムのためのシステムおよびコンポーネントの様々な実装形態の完全な理解を提供するために、前述の説明において特定の詳細が与えられた。しかしながら、当業者であれば、上記で説明された実装形態は、これらの特定の詳細なしに実施され得ることを理解されよう。例えば、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、不要な詳細で実施形態を曖昧にしないために、ブロック図形式のコンポーネントとして示され得る。他の事例では、周知の回路、プロセス、アルゴリズム、構造、および技法が、これら実施形態を曖昧にすることを避けるために、不要な詳細なしで示され得る。 [00167] Specific details have been provided in the foregoing description to provide a thorough understanding of various implementations of systems and components for a contextual connectivity system. However, those skilled in the art will understand that the implementations described above may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[00168]また、個々の実装形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明され得ることにも留意されたい。フローチャートは、順次プロセスとして動作を説明し得るが、動作の多くは、並行してまたは同時並行に実行され得る。加えて、動作の順序は並べ換えられ得る。プロセスは、その動作が完了したときに終了するが、図面に含まれていない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラム等に対応し得る。プロセスが関数に対応するとき、その終了は、関数が呼出し関数または主関数に戻ることに対応し得る。 [00168] Note also that particular implementations may be described as processes illustrated as flowcharts, flow diagrams, data flow diagrams, structural diagrams, or block diagrams. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. Additionally, the order of operations may be reordered. A process ends when its operations are complete, but may have additional steps not included in the drawings. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination may correspond to the function returning to the calling function or main function.

[00169]クライアントデバイス、ネットワークデバイス、および他のデバイスは、特に、1つまたは複数の集積回路、入力デバイス、出力デバイス、データ記憶デバイス、および/またはネットワークインターフェースを含むコンピューティングシステムであり得る。集積回路は、例えば、特に、1つまたは複数のプロセッサ、揮発性メモリ、および/または不揮発性メモリを含み得る。入力デバイスは、例えば、キーボード、マウス、キーパッド、タッチインターフェース、マイクロフォン、カメラ、および/または他のタイプの入力デバイスを含み得る。出力デバイスは、例えば、ディスプレイスクリーン、スピーカ、触覚フィードバックシステム、プリンタ、および/または他のタイプの出力デバイスを含み得る。ハードドライブまたはフラッシュメモリ等のデータ記憶デバイスは、コンピューティングデバイスがデータを一時的または永久的に記憶することを可能にし得る。ワイヤレスまたは有線インターフェース等のネットワークインターフェースは、コンピューティングデバイスがネットワークと通信することを可能にし得る。コンピューティングデバイスの例は、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、タブレット、スマートフォン、携帯情報端末、デジタルホームアシスタント、ならびにコンピューティングデバイスが組み込まれている機械および装置を含む。 [00169] Client devices, network devices, and other devices may be computing systems that include one or more integrated circuits, input devices, output devices, data storage devices, and/or network interfaces, among others. An integrated circuit may include, for example, one or more processors, volatile memory, and/or non-volatile memory, among others. Input devices may include, for example, a keyboard, mouse, keypad, touch interface, microphone, camera, and/or other types of input devices. Output devices may include, for example, display screens, speakers, haptic feedback systems, printers, and/or other types of output devices. Data storage devices, such as hard drives or flash memory, may enable computing devices to temporarily or permanently store data. A network interface, such as a wireless or wired interface, may enable a computing device to communicate with a network. Examples of computing devices include desktop computers, laptop computers, server computers, handheld computers, tablets, smartphones, personal digital assistants, digital home assistants, and machines and apparatus in which computing devices are incorporated.

[00170]「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに(1つまたは複数の)命令および/またはデータを記憶するか、含むか、または搬送することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データが記憶され得かつワイヤレスにまたは有線接続を介して伝搬する搬送波および/または一時的な電子信号を含まない、非一時的な媒体を含み得る。非一時的な媒体の例は、限定はしないが、磁気ディスクまたは磁気テープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)等の光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスを含み得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表し得るコードおよび/または機械実行可能命令を記憶し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡すことおよび/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信、または同様のことを含む、任意の好適な手段を介して渡され得るか、転送され得るか、または送信され得る。 [00170] The term "computer-readable medium" refers to, but is not limited to, a portable or non-portable storage device, an optical storage device, and a device that stores or contains instructions and/or data. including various other media that can be transported. Computer-readable media can include non-transitory media, such as carrier waves and/or transitory electronic signals, on which data can be stored and propagated wirelessly or over a wired connection. Examples of non-transitory media may include, but are not limited to, magnetic disks or magnetic tape, optical storage media such as compact discs (CDs) or digital versatile discs (DVDs), flash memory, memory or memory devices. A computer-readable medium embodies code and/or machine-executable instructions that may represent a procedure, function, subprogram, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures, or program statements. Can be memorized. A code segment may be coupled to another code segment or hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, transferred, or transmitted via any suitable means, including memory sharing, message passing, token passing, network transmission, or the like. obtain.

[00171]さらに、上記で説明された様々な例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによってさらに実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体(例えば、プログラムコードまたはコードセグメントを記憶するための媒体)に記憶され得る。集積回路で実装される(1つまたは複数の)プロセッサが、必要なタスクを実行し得る。 [00171] Furthermore, the various examples described above may be further implemented by hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments (e.g., a computer program product) for performing necessary tasks may be provided on a computer-readable medium or on a machine-readable medium (e.g., a program code or code segment). (a medium for storing segments). Processor(s) implemented on integrated circuits may perform the necessary tasks.

[00172]コンポーネントが、ある特定の動作を実行する「ように構成される」ものとして説明されている場合、このような構成は、例えば、動作を実行するように電子回路または他のハードウェアを設計することによって、動作を実行するようにプログラム可能な電子回路(例えば、マイクロプロセッサ、または他の好適な電子回路)をプログラミングすることによって、またはこれらの任意の組合せで、達成され得る。 [00172] When a component is described as being "configured to" perform a particular operation, such configuration includes, for example, incorporating electronic circuitry or other hardware to perform the operation. This may be accomplished by design, by programming a programmable electronic circuit (eg, a microprocessor, or other suitable electronic circuit) to perform the operations, or any combination thereof.

[00173]本明細書で開示された実装形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはこれらの組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上記で説明されてきた。このような機能が、ハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、特定のアプリケーションごとに多様な方法において、説明された機能を実装し得るが、このような実装の決定は、本開示の範囲から逸脱を引き起こしていると解釈されるべきでない。 [00173] The various example logic blocks, modules, circuits, and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, firmware, or a combination thereof. Can be implemented. To clearly illustrate this compatibility of hardware and software, various example components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in a variety of ways for each particular application, and such implementation decisions should not be construed as causing a departure from the scope of this disclosure.

[00174]本明細書で説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはこれらの任意の組合せで実装され得る。このような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおけるアプリケーションを含む複数の用途を有する集積回路デバイス等の様々なデバイスのうちの任意のもので実装され得る。モジュールまたは構成要素として説明された任意の特徴は、集積論理デバイスにおいて共に、またはディスクリートではあるが相互動作可能な論理デバイスとして別々に実装され得る。ソフトウェアでインプリメントされる場合、本技法は、少なくとも部分的に、命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって実現され得、これら命令は、実行されると、上記で説明された方法のうちの1つまたは複数を実行する。コンピュータ可読データ記憶媒体は、コンピュータプログラム製品の一部を形成し得、これは、パッケージング材料を含み得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)等のランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、不揮発ランダムアクセスメモリ(NVRAM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM)、FLASH(登録商標)メモリ、磁気または光データ記憶媒体、および同様のもの等の、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、少なくとも部分的に、伝搬された信号または波等の、コンピュータによってアクセス、読み取り、および/または実行され得、かつ、データ構造または命令の形態でプログラムコードを搬送または通信する、コンピュータ可読通信媒体によって実現され得る。 [00174] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices, such as general purpose computers, wireless communication device handsets, or integrated circuit devices that have multiple uses, including applications in wireless communication device handsets and other devices. . Any features described as modules or components can be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized, at least in part, by a computer-readable data storage medium comprising program code containing instructions, which, when executed, perform one or more of the methods described above. perform one or more of the following: The computer-readable data storage medium may form part of the computer program product and may include packaging materials. The computer-readable medium can include random access memory (RAM), such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), etc. , FLASH memory, magnetic or optical data storage media, and the like. The techniques may additionally or alternatively be accessed, read, and/or executed, at least in part, by a computer, such as a propagated signal or wave, and carry or carry program code in the form of data structures or instructions. may be implemented by a computer-readable communication medium that communicates.

[00175]プログラムコードは、プロセッサによって実行され得、これは、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の集積されたまたはディスクリートなロジック回路等の、1つまたは複数のプロセッサを含み得る。このようなプロセッサは、本開示において説明された技法のうちの任意のものを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシン(state machine)であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、またはその他任意のこのような構成として実装され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造の任意のもの、前述の構造の任意の組合せ、または本明細書で説明された技法の実装に好適なその他任意の構造または装置を指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、サスペンドされたデータベース更新システムの実装のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内で提供され得る。 [00175] The program code may be executed by a processor, which may be one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or It may include one or more processors, such as other equivalent integrated or discrete logic circuits. Such a processor may be configured to perform any of the techniques described in this disclosure. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a combination DSP and microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, as used herein, the term "processor" refers to any of the aforementioned structures, any combination of the aforementioned structures, or any other suitable implementation of the techniques described herein. can refer to a structure or device. Additionally, in some aspects, the functionality described herein may be provided within a dedicated software or hardware module configured for implementation of a suspended database update system.

[00176]本技術の前述の詳細な説明は、例示および説明を目的として提示された。それは、網羅的であること、または本技術を開示された厳密な形態に限定することを意図したものではない。上記教示を踏まえて、多くの修正および変形が可能である。説明された実施形態は、技術の原理、その実際の適用を最もよく説明するために、また、他の当業者が、様々な実施形態において、および企図される特定の使用に適した様々な修正を伴って、技術を利用することを可能にするために選ばれた。本技術の範囲は、特許請求の範囲によって定義されることが意図される。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
コンピュータ実装方法であって、
質問に関連付けられた1つまたは複数の応答を受信すること、ここにおいて、前記応答は、1つまたは複数のクライアントデバイスから受信される、と、
ユーザのデバイスに前記質問と前記回答のうちの少なくとも1つとを公開すること、ここにおいて、前記質問および前記少なくとも1つの回答は、前記ユーザの1つまたは複数の特性に基づいて、前記ユーザのために選択され、前記少なくとも1つの回答は、前記クライアントデバイスのうちの少なくとも1つに関連付けられている、と、
前記ユーザデバイスからフォローアップ要求を受信すること、ここにおいて、前記フォローアップ要求は、前記少なくとも1つの回答に関する更なる情報を求める、と、
前記フォローアップ要求に基づいて、前記ユーザデバイスと前記少なくとも1つのクライアントデバイスとの間の通信セッションを促進することと、
を備える方法。
[C2]
前記質問および前記応答のうちの少なくとも1つは、前記クライアントデバイスの同じものから受信される、C1に記載の方法。
[C3]
前記質問に関する入力を受信することをさらに備え、前記入力は、前記クライアントデバイスのうちの1つから受信される、C1に記載の方法。
[C4]
1つまたは複数の質問のメニューが、前記クライアントデバイスに提示され、前記入力は、前記メニューからの選択を含む、C3に記載の方法。
[C5]
前記質問は、1つまたは複数の所定の基準にさらに基づいて選択される、C1に記載の方法。
[C6]
前記質問および前記少なくとも1つの回答を公開することは、グラフィカルインターフェースを生成することを含む、C1に記載の方法。
[C7]
前記グラフィカルインターフェースは、前記ユーザデバイスとボットとの間の通信セッションに最初に関連付けられる、C6に記載の方法。
[C8]
前記ユーザデバイスと前記少なくとも1つのクライアントデバイスとの間の前記通信セッションを促進することは、前記ボットとの前記通信セッションから前記少なくとも1つのクライアントデバイスとの前記通信セッションに切り替えることを含む、C6に記載の方法。
[C9]
前記少なくとも1つのクライアントデバイスとの前記通信セッションが閉じられたときに、前記ボットとの前記通信セッションに戻るように切り替えることをさらに備える、C8に記載の方法。
[C10]
前記フォローアップ要求を受信することは、フォローアップオプションのメニューからの選択を含む、C1に記載の方法。
[C11]
前記ユーザデバイスと前記少なくとも1つのクライアントデバイスとの間の前記通信セッションの時間を追跡するタイマを提供することをさらに備える、C1に記載の方法。
[C12]
前記追跡された時間に基づいて、支払うべき金額を決定することをさらに備える、C10に記載の方法。
[C13]
前記ユーザデバイスから格付けを受信することをさらに備え、ここにおいて、前記格付けは、前記少なくとも1つのクライアントデバイスに関連付けられる、C1に記載の方法。
[C14]
前記通信セッションは、前記少なくとも1つのクライアントデバイスに関連付けられた一種の情報が示されないように構成される、C1に記載の方法。
[C15]
履歴データに関連して前記通信セッションに関する情報を記憶することをさらに備える、C1に記載の方法。
[C16]
前記履歴データに基づいて、1つまたは複数の後続の通信セッションを開始することをさらに備える、C14に記載の方法。
[C17]
システムであって、
通信ネットワーク上で通信する通信インターフェース、ここにおいて、前記通信インターフェースは、
質問に関連付けられた1つまたは複数の応答を受信し、ここにおいて、前記応答は、1つまたは複数のクライアントデバイスから受信され、
ユーザのデバイスに前記質問と前記回答のうちの少なくとも1つとを公開し、ここにおいて、前記質問および前記少なくとも1つの回答は、前記ユーザの1つまたは複数の特性に基づいて、前記ユーザのために選択され、前記少なくとも1つの回答は、前記クライアントデバイスのうちの少なくとも1つに関連付けられており、
前記ユーザデバイスからフォローアップ要求を受信する、ここにおいて、前記フォローアップ要求は、前記少なくとも1つの回答に関する更なる情報を求める、と、
前記フォローアップ要求に基づいて、前記ユーザデバイスと前記少なくとも1つのクライアントデバイスとの間の通信セッションを促進するために、メモリに記憶された命令を実行するプロセッサと、
を備えるシステム。
[C18]
質問に関連付けられた1つまたは複数の応答を受信すること、ここにおいて、前記応答は、1つまたは複数のクライアントデバイスから受信される、と、
ユーザのデバイスに前記質問と前記回答のうちの少なくとも1つとを公開すること、ここにおいて、前記質問および前記少なくとも1つの回答は、前記ユーザの1つまたは複数の特性に基づいて、前記ユーザのために選択され、前記少なくとも1つの回答は、前記クライアントデバイスのうちの少なくとも1つに関連付けられている、と、
前記ユーザデバイスからフォローアップ要求を受信すること、ここにおいて、前記フォローアップ要求は、前記少なくとも1つの回答に関する更なる情報を求める、と、
前記フォローアップ要求に基づいて、前記ユーザデバイスと前記少なくとも1つのクライアントデバイスとの間の通信セッションを促進することと、
を備える方法を実行するために、プロセッサによって実行可能なプログラムがその上に具現化された非一時的なコンピュータ可読記憶媒体。
[00176] The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments are intended to best explain the principles of the technology, its practical application, and are intended to be used by others skilled in the art to explain the various embodiments and various modifications appropriate to the particular use contemplated. was chosen to enable the use of technology. It is intended that the scope of the technology be defined by the claims.
The invention described in the original claims of this application will be added below.
[C1]
A computer-implemented method, the method comprising:
receiving one or more responses associated with the question, where the responses are received from one or more client devices;
publishing the question and at least one of the answers to a user's device, wherein the question and the at least one answer are configured for the user based on one or more characteristics of the user; the at least one answer is associated with at least one of the client devices;
receiving a follow-up request from the user device, wherein the follow-up request requests further information regarding the at least one answer;
facilitating a communication session between the user device and the at least one client device based on the follow-up request;
How to prepare.
[C2]
The method of C1, wherein at least one of the question and the response are received from the same one of the client devices.
[C3]
The method of C1, further comprising receiving input regarding the question, the input being received from one of the client devices.
[C4]
The method of C3, wherein a menu of one or more questions is presented to the client device, and the input includes a selection from the menu.
[C5]
The method of C1, wherein the questions are selected further based on one or more predetermined criteria.
[C6]
The method of C1, wherein publishing the question and the at least one answer includes generating a graphical interface.
[C7]
The method of C6, wherein the graphical interface is initially associated with a communication session between the user device and a bot.
[C8]
C6, wherein facilitating the communication session between the user device and the at least one client device includes switching from the communication session with the bot to the communication session with the at least one client device. Method described.
[C9]
The method of C8, further comprising switching back to the communication session with the bot when the communication session with the at least one client device is closed.
[C10]
The method of C1, wherein receiving the follow-up request includes selecting from a menu of follow-up options.
[C11]
The method of C1, further comprising providing a timer that tracks a time of the communication session between the user device and the at least one client device.
[C12]
The method of C10, further comprising determining an amount to be paid based on the tracked time.
[C13]
The method of C1, further comprising receiving a rating from the user device, wherein the rating is associated with the at least one client device.
[C14]
The method of C1, wherein the communication session is configured such that one type of information associated with the at least one client device is not indicated.
[C15]
The method of C1, further comprising storing information regarding the communication session in association with historical data.
[C16]
The method of C14, further comprising initiating one or more subsequent communication sessions based on the historical data.
[C17]
A system,
A communication interface for communicating on a communication network, wherein the communication interface comprises:
receiving one or more responses associated with the question, wherein the responses are received from one or more client devices;
publishing the question and at least one of the answers to a user's device, wherein the question and the at least one answer are configured for the user based on one or more characteristics of the user; selected, the at least one answer being associated with at least one of the client devices;
receiving a follow-up request from the user device, wherein the follow-up request requests further information regarding the at least one answer;
a processor executing instructions stored in memory to facilitate a communication session between the user device and the at least one client device based on the follow-up request;
A system equipped with
[C18]
receiving one or more responses associated with the question, where the responses are received from one or more client devices;
publishing the question and at least one of the answers to a user's device, wherein the question and the at least one answer are configured for the user based on one or more characteristics of the user; the at least one answer is associated with at least one of the client devices;
receiving a follow-up request from the user device, wherein the follow-up request requests further information regarding the at least one answer;
facilitating a communication session between the user device and the at least one client device based on the follow-up request;
a non-transitory computer-readable storage medium having a program executable thereon embodied thereon to perform a method comprising:

Claims (18)

コンピュータ実装方法であって、
質問に関連付けられた1つまたは複数の応答を受信すること、ここにおいて、前記応答は、1つまたは複数のクライアントデバイスから受信される、と、
ユーザのデバイスに前記質問と前記応答のうちの少なくとも1つとを公開すること、ここにおいて、前記質問および前記少なくとも1つの応答は、前記ユーザの1つまたは複数の特性に基づいて、前記ユーザのために選択され、前記少なくとも1つの応答は、前記クライアントデバイスのうちの少なくとも1つに関連付けられている、と、
前記ユーザの前記デバイスからフォローアップ要求を受信すること、ここにおいて、前記フォローアップ要求は、前記少なくとも1つの応答に関する更なる情報を求める、と、
前記フォローアップ要求に基づいて、前記ユーザの前記デバイスと前記少なくとも1つのクライアントデバイスとの間の通信セッションを確立することと、
を備える方法。
A computer-implemented method, the method comprising:
receiving one or more responses associated with the question, where the responses are received from one or more client devices;
publishing the question and at least one of the responses to a user's device, wherein the question and the at least one response are configured for the user based on one or more characteristics of the user; the at least one response is associated with at least one of the client devices;
receiving a follow-up request from the device of the user, wherein the follow-up request requests further information regarding the at least one response ;
establishing a communication session between the device of the user and the at least one client device based on the follow-up request;
How to prepare.
前記質問および前記応答のうちの少なくとも1つは、前記クライアントデバイスの同じものから受信される、請求項1に記載の方法。 2. The method of claim 1, wherein at least one of the question and the response are received from the same one of the client devices. 前記質問に関する入力を受信することをさらに備え、前記入力は、前記クライアントデバイスのうちの1つから受信される、請求項1に記載の方法。 The method of claim 1, further comprising receiving input regarding the question, the input being received from one of the client devices. 1つまたは複数の質問のメニューが、前記クライアントデバイスに提示され、前記入力は、前記メニューからの選択を含む、請求項3に記載の方法。 4. The method of claim 3, wherein a menu of one or more questions is presented on the client device, and the input includes a selection from the menu. 前記質問は、1つまたは複数の所定の基準にさらに基づいて選択される、請求項1に記載の方法。 2. The method of claim 1, wherein the questions are selected further based on one or more predetermined criteria. 前記質問および前記少なくとも1つの応答を公開することは、グラフィカルインターフェースを生成することを含む、請求項1に記載の方法。 2. The method of claim 1, wherein publishing the question and the at least one response includes generating a graphical interface. 前記グラフィカルインターフェースは、前記ユーザの前記デバイスとボットとの間の通信セッションに最初に関連付けられる、請求項6に記載の方法。 7. The method of claim 6, wherein the graphical interface is initially associated with a communication session between the device of the user and a bot. 前記ユーザの前記デバイスと前記少なくとも1つのクライアントデバイスとの間の前記通信セッションを促進することは、前記ボットとの前記通信セッションから前記少なくとも1つのクライアントデバイスとの前記通信セッションに切り替えることを含む、請求項に記載の方法。 Facilitating the communication session between the device of the user and the at least one client device includes switching from the communication session with the bot to the communication session with the at least one client device; The method according to claim 7 . 前記少なくとも1つのクライアントデバイスとの前記通信セッションが閉じられたときに、前記ボットとの前記通信セッションに戻るように切り替えることをさらに備える、請求項8に記載の方法。 9. The method of claim 8, further comprising switching back to the communication session with the bot when the communication session with the at least one client device is closed. 前記フォローアップ要求を受信することは、フォローアップオプションのメニューからの選択を含む、請求項1に記載の方法。 2. The method of claim 1, wherein receiving the follow-up request includes selecting from a menu of follow-up options. 前記ユーザの前記デバイスと前記少なくとも1つのクライアントデバイスとの間の前記通信セッションの時間を追跡するタイマを提供することをさらに備える、請求項1に記載の方法。 2. The method of claim 1, further comprising providing a timer that tracks a time of the communication session between the device of the user and the at least one client device. 前記追跡された時間に基づいて、支払うべき金額を決定することをさらに備える、請求項11に記載の方法。 12. The method of claim 11 , further comprising determining an amount to be paid based on the tracked time. 前記ユーザの前記デバイスから格付けを受信することをさらに備え、ここにおいて、前記格付けは、前記少なくとも1つのクライアントデバイスに関連付けられる、請求項1に記載の方法。 2. The method of claim 1, further comprising receiving a rating from the device of the user, wherein the rating is associated with the at least one client device. 前記通信セッションは、前記少なくとも1つのクライアントデバイスに関連付けられた一種の情報が示されないように構成される、請求項1に記載の方法。 2. The method of claim 1, wherein the communication session is configured such that one type of information associated with the at least one client device is not indicated. 履歴データに関連して前記通信セッションに関する情報を記憶することをさらに備える、請求項1に記載の方法。 The method of claim 1, further comprising storing information about the communication session in association with historical data. 前記履歴データに基づいて、1つまたは複数の後続の通信セッションを開始することをさらに備える、請求項15に記載の方法。 16. The method of claim 15 , further comprising initiating one or more subsequent communication sessions based on the historical data. システムであって、
通信ネットワーク上で通信する通信インターフェース、ここにおいて、前記通信インターフェースは、
質問に関連付けられた1つまたは複数の応答を受信し、ここにおいて、前記応答は、1つまたは複数のクライアントデバイスから受信され、
ユーザのデバイスに前記質問と前記応答のうちの少なくとも1つとを公開し、ここにおいて、前記質問および前記少なくとも1つの応答は、前記ユーザの1つまたは複数の特性に基づいて、前記ユーザのために選択され、前記少なくとも1つの応答は、前記クライアントデバイスのうちの少なくとも1つに関連付けられており、
前記ユーザの前記デバイスからフォローアップ要求を受信する、ここにおいて、前記フォローアップ要求は、前記少なくとも1つの応答に関する更なる情報を求める、と、
前記フォローアップ要求に基づいて、前記ユーザの前記デバイスと前記少なくとも1つのクライアントデバイスとの間の通信セッションを確立するために、メモリに記憶された命令を実行するプロセッサと、
を備えるシステム。
A system,
a communication interface for communicating on a communication network, wherein the communication interface comprises:
receiving one or more responses associated with the question, wherein the responses are received from one or more client devices;
publishing the question and at least one of the responses to a user's device, wherein the question and the at least one response are configured for the user based on one or more characteristics of the user; selected, the at least one response being associated with at least one of the client devices;
receiving a follow-up request from the device of the user, wherein the follow-up request requests further information regarding the at least one response ;
a processor executing instructions stored in memory to establish a communication session between the device of the user and the at least one client device based on the follow-up request;
A system equipped with
質問に関連付けられた1つまたは複数の応答を受信すること、ここにおいて、前記応答は、1つまたは複数のクライアントデバイスから受信される、と、
ユーザのデバイスに前記質問と前記応答のうちの少なくとも1つとを公開すること、ここにおいて、前記質問および前記少なくとも1つの応答は、前記ユーザの1つまたは複数の特性に基づいて、前記ユーザのために選択され、前記少なくとも1つの応答は、前記クライアントデバイスのうちの少なくとも1つに関連付けられている、と、
前記ユーザの前記デバイスからフォローアップ要求を受信すること、ここにおいて、前記フォローアップ要求は、前記少なくとも1つの応答に関する更なる情報を求める、と、
前記フォローアップ要求に基づいて、前記ユーザの前記デバイスと前記少なくとも1つのクライアントデバイスとの間の通信セッションを確立することと、
を備える方法を実行するために、プロセッサによって実行可能なプログラムがその上に具現化された非一時的なコンピュータ可読記憶媒体。
receiving one or more responses associated with the question, where the responses are received from one or more client devices;
publishing the question and at least one of the responses to a user's device, wherein the question and the at least one response are configured for the user based on one or more characteristics of the user; the at least one response is associated with at least one of the client devices;
receiving a follow-up request from the device of the user, wherein the follow-up request requests further information regarding the at least one response ;
establishing a communication session between the device of the user and the at least one client device based on the follow-up request;
a non-transitory computer-readable storage medium having a program executable thereon embodied thereon to perform a method comprising:
JP2022524978A 2019-10-28 2020-10-28 Dynamic communication routing to disparate endpoints Active JP7423768B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962926773P 2019-10-28 2019-10-28
US62/926,773 2019-10-28
PCT/US2020/057746 WO2021086970A1 (en) 2019-10-28 2020-10-28 Dynamic communications routing to disparate endpoints

Publications (2)

Publication Number Publication Date
JP2022553788A JP2022553788A (en) 2022-12-26
JP7423768B2 true JP7423768B2 (en) 2024-01-29

Family

ID=73452328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022524978A Active JP7423768B2 (en) 2019-10-28 2020-10-28 Dynamic communication routing to disparate endpoints

Country Status (8)

Country Link
US (3) US11323408B2 (en)
EP (1) EP4052428A1 (en)
JP (1) JP7423768B2 (en)
CN (1) CN114586323A (en)
AU (2) AU2020376819B2 (en)
CA (1) CA3158920A1 (en)
IL (1) IL292134A (en)
WO (1) WO2021086970A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021086970A1 (en) 2019-10-28 2021-05-06 Liveperson, Inc. Dynamic communications routing to disparate endpoints
US11658886B2 (en) * 2021-10-20 2023-05-23 SentioCX B.V. Methods and systems of facilitating predictive intent-based routing of service requests

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078129A (en) 2003-08-28 2005-03-24 Hitachi Ltd Knowledge sharing system
US20070250783A1 (en) 2006-04-24 2007-10-25 Ehealthinsurance Services, Inc. Method and system to provide online application forms
US20130297625A1 (en) 2012-05-04 2013-11-07 Pearl.com LLC Method and apparatus for identifiying similar questions in a consultation system
US20190166540A1 (en) 2015-06-02 2019-05-30 Liveperson, Inc. Dynamic communication routing based on consistency weighting and routing rules

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070206584A1 (en) * 2006-01-31 2007-09-06 Fulling Stephen W Systems and methods for providing a dynamic interaction router
CN101076184B (en) * 2006-07-31 2011-09-21 腾讯科技(深圳)有限公司 Method and system for realizing automatic reply
US9424581B2 (en) * 2007-04-10 2016-08-23 Yellowpages.Com Llc Systems and methods to facilitate real time communications and commerce via answers to questions
US8751559B2 (en) * 2008-09-16 2014-06-10 Microsoft Corporation Balanced routing of questions to experts
US8812982B2 (en) * 2010-12-23 2014-08-19 Facebook, Inc. Targeting questions to users of a social networking system
US9256662B2 (en) * 2013-03-15 2016-02-09 Quora, Inc. Techniques for publishing viewers of content
US20150033139A1 (en) * 2013-07-23 2015-01-29 Microsoft Corporation Communication with on-calls and machines using multiple modalities through single historical tracking
US9514412B2 (en) * 2013-12-09 2016-12-06 Google Inc. Techniques for detecting deceptive answers to user questions based on user preference relationships
US10460227B2 (en) * 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US9578173B2 (en) * 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
CN105207890A (en) * 2015-08-24 2015-12-30 北京智齿博创科技有限公司 Online customer service method
US10635752B2 (en) * 2016-05-27 2020-04-28 Juji, Inc. Method and system for creating interactive inquiry and assessment bots
JP7068195B2 (en) * 2016-06-21 2022-05-16 オラクル・インターナショナル・コーポレイション Interactive messaging system sessionization unit in natural language hosted in the Internet cloud
CN106897334B (en) * 2016-06-24 2020-07-14 阿里巴巴集团控股有限公司 Question pushing method and equipment
US9947319B1 (en) * 2016-09-27 2018-04-17 Google Llc Forming chatbot output based on user state
CN107153965A (en) * 2017-04-05 2017-09-12 芜湖恒天易开软件科技股份有限公司 A kind of intelligent customer service solution of multiple terminals
US11468344B2 (en) * 2017-05-05 2022-10-11 Liveperson, Inc. Dynamic response prediction for improved bot task processing
US10990618B2 (en) * 2017-05-31 2021-04-27 Panasonic Intellectual Property Coproration Of America Computer-implemented method for question answering system
CN110019693B (en) * 2017-07-25 2021-12-24 百度在线网络技术(北京)有限公司 Information recommendation method, server and computer readable medium for intelligent customer service
CN107609058B (en) * 2017-08-25 2021-05-18 维沃移动通信有限公司 Sales method, robot customer service end, artificial customer service end and user end
CN108491506A (en) * 2018-03-22 2018-09-04 上海连尚网络科技有限公司 Method for pushing problem answers combination
CN108491519A (en) * 2018-03-26 2018-09-04 上海智臻智能网络科技股份有限公司 Man-machine interaction method and device, storage medium, terminal
US10594635B2 (en) * 2018-04-20 2020-03-17 Oracle International Corporation Managing customer relationship using multiple chat servers designed to interface with service applications
US11243671B2 (en) * 2018-05-07 2022-02-08 Quora, Inc. Methods and systems for soliciting an answer to a question
CA3135275A1 (en) * 2019-04-18 2020-10-22 Greeneden U.S. Holdings Ii, Llc. A system and method for analyzing web application network performance
US11153260B2 (en) * 2019-05-31 2021-10-19 Nike, Inc. Multi-channel communication platform with dynamic response goals
KR102169397B1 (en) * 2019-08-28 2020-10-23 주식회사 카카오 Method and server for providing semi-automatic communication using chatbot and consultant
WO2021086970A1 (en) 2019-10-28 2021-05-06 Liveperson, Inc. Dynamic communications routing to disparate endpoints

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078129A (en) 2003-08-28 2005-03-24 Hitachi Ltd Knowledge sharing system
US20070250783A1 (en) 2006-04-24 2007-10-25 Ehealthinsurance Services, Inc. Method and system to provide online application forms
US20130297625A1 (en) 2012-05-04 2013-11-07 Pearl.com LLC Method and apparatus for identifiying similar questions in a consultation system
US20190166540A1 (en) 2015-06-02 2019-05-30 Liveperson, Inc. Dynamic communication routing based on consistency weighting and routing rules

Also Published As

Publication number Publication date
AU2023203394A1 (en) 2023-06-29
AU2020376819A1 (en) 2022-04-28
IL292134A (en) 2022-06-01
US20240022536A1 (en) 2024-01-18
US11323408B2 (en) 2022-05-03
US20220329561A1 (en) 2022-10-13
US20210126891A1 (en) 2021-04-29
US11665127B2 (en) 2023-05-30
EP4052428A1 (en) 2022-09-07
CN114586323A (en) 2022-06-03
AU2020376819B2 (en) 2023-04-06
WO2021086970A1 (en) 2021-05-06
JP2022553788A (en) 2022-12-26
CA3158920A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
JP7317984B2 (en) Dynamic communication routing to different endpoints
JP7387837B2 (en) Dynamic response prediction for improved bot task processing
JP2023166445A (en) Systems and methods for transferring messaging to automation
JP7279205B2 (en) System and method for external system integration
JP2023126790A (en) Dynamic endpoint communication channel
US20240022536A1 (en) Dynamic communications routing to disparate endpoints
US11888792B2 (en) Bot supervision

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240117

R150 Certificate of patent or registration of utility model

Ref document number: 7423768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150