JP2022515182A - モジュール式ツールを配信するためのシステム及び方法 - Google Patents

モジュール式ツールを配信するためのシステム及び方法 Download PDF

Info

Publication number
JP2022515182A
JP2022515182A JP2021535989A JP2021535989A JP2022515182A JP 2022515182 A JP2022515182 A JP 2022515182A JP 2021535989 A JP2021535989 A JP 2021535989A JP 2021535989 A JP2021535989 A JP 2021535989A JP 2022515182 A JP2022515182 A JP 2022515182A
Authority
JP
Japan
Prior art keywords
widget
server
premises
user
json
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.)
Granted
Application number
JP2021535989A
Other languages
English (en)
Other versions
JP7291789B2 (ja
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 JP2022515182A publication Critical patent/JP2022515182A/ja
Application granted granted Critical
Publication of JP7291789B2 publication Critical patent/JP7291789B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • H04L41/0863Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5048Automatic or semi-automatic definitions, e.g. definition templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5067Customer-centric QoS measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

クラウドベースのリモートコンピューティング環境を介して、モジュール式ツールを配信するための、システム及び方法が提示される。ユーザは、製品への変更を必要とせずに、製品システムとの統合のためのモジュール式ツールへの拡張を作成及びカスタマイズすることができる。ウェブサイトに追加されたスクリプトタグを使用して、ユーザは、モジュール式ツールをウェブサイトにインストールすることができる。モジュール式ツール拡張は、ハンドラ及びウェブサイトと直接通信することができ、プレミスベースの製品と直接統合することができる。これは、モジュール式ツール拡張に公開された多重化APIを介して行われ得、この多重化されたAPIは、プレミスベースの製品に直接結合する。モジュール式ツールは、プレミスベースの製品内に構成することができるが、それらは、クラウド内でホストされるため、プレミスベースの製品は、クラウドからの継続的な統合及び展開を受けることができる。【選択図】図2

Description

(発明の分野)
本発明は、概して、通信システム及び方法、並びにモジュール式のウェブ構成要素に関する。より具体的には、本発明は、クラウドベースのリモートコンピューティング環境を介して、コンタクトセンター又はビジネス企業センター内にモジュール式ウェブ構成要素を配信することに関する。
(関連出願の相互参照)
本出願は、2018年12月21日に米国特許商標庁に出願された「SYSTEM AND METHOD FOR DELIVERING MODULAR TOOLS」と題する米国特許出願第16/229,027号に関し、かつ利益を主張し、その内容を本明細書に組み込むものとする。
クラウドベースのリモートコンピューティング環境を介してモジュール式ツールを配信するためのシステム及び方法が提示される。ユーザは、製品への変更を必要とせずに、製品システムと統合するために、モジュール式ツールへの拡張を作成及びカスタマイズすることができる。ウェブサイトに追加されたスクリプトタグを使用して、ユーザはモジュール式ツールをウェブサイトにインストールすることができる。モジュール式ツール拡張は、ハンドラ及びウェブサイトと直接通信することができ、プレミスベースの製品と直接統合することができる。これは、モジュール式ツール拡張に公開された多重化APIを介して行われてもよく、この多重化APIは、プレミスベースの製品に直接統合する。モジュール式ツールは、プレミスベースの製品内に構成することができるが、それらは、クラウド内でホストされるため、プレミスベースの製品は、クラウドからの継続的な統合及び展開を受けることができる。
一実施形態では、クラウドベースのリモートコンピューティング環境を介して、プレミスベースの顧客体験プラットフォーム製品にウィジェットを配信するための方法が提示され、この方法は、プレミスベースの顧客経験プラットフォーム製品に接続されているデバイス上に提供されたユーザインターフェースを介して、ユーザによってウィジェットを作成及び保存することと、固有のIDを生成し、ウィジェットの構成を、プレミスベースの顧客経験プラットフォーム製品のサブシステム内に平坦なJSONオブジェクトとして格納することと、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)スクリプトタグとして、ウィジェットに関連付けられたJavaScriptスニペットを生成することと、ウィジェットに関連付けられたスニペットをウェブサイト内のページに適用することと、ウィジェットの実装をロードすることであって、未認証の登録要求が、スニペットにおいて指定されたサーバに送信される、ロードすることと、構成オブジェクトを、ウィジェットにコンテキストを提供することが予想されるJSON構成オブジェクトに変換し、コンテキストをウィジェットに投入することと、を含む。
スクリプトタグは、ウィジェットに関する固有のID及びサーバ属性を含み得る。スクリプトタグはまた、共通の静的スクリプトを含み得る。
ウィジェットが拡張を含む場合、構成オブジェクトを、ウィジェットにコンテキストを提供することが予想されるJSON構成オブジェクトに変換することは、投入のための任意の入力フィールドがハンドラのJSON入力として使用される、RESTエンドポイントを有する多重化APIを利用することを含む。JSON入力を呼び出すと、REST要求のサーバへの送信がトリガされる。ハンドラは、統合点として機能する。
別の実施形態では、クラウドベースのリモートコンピューティング環境を介してプレミスベースの顧客経験プラットフォーム製品にウィジェットを配信するための方法が提示され、この方法は、プレミスベースの顧客経験プラットフォーム製品に接続されたデバイス上に提供されたユーザインターフェースを介して、ユーザによって複数のウィジェットインスタンスを作成及び保存することと、ユーザによって、複数のウィジェットインスタンスの第1のインスタンスを選択することと、固有のIDを生成し、第1のインスタンスの構成を、プレミスベースの顧客経験プラットフォーム製品のサブシステム内に平坦化されたJSONオブジェクトとして格納することと、ユーザインターフェースを介して、第1のインスタンスのスクリプトタグを生成することと、生成されたスクリプトタグをユーザのウェブサイトのページにインストールすることと、第1のウィジェットインスタンスの実装をロードすることであって、未認証の登録要求が、スクリプトタグにおいて指定されたサーバに送信される、ロードすることと、構成オブジェクトを、プレミスベースの顧客経験プラットフォーム製品内のウィジェットアーキテクチャによって、ユーザのウィジェットインスタンスにコンテキストを提供することが予想されるJSON構成オブジェクトに変換することと、第1のインスタンスにコンテキストを投入することと、を含む。
複数のウィジェットインスタンスの各々が、関連付けられた拡張を有する場合、拡張はカスタム化されていてもよく、又は組み込まれていてもよい。カスタム拡張はユーザによってホストされ構成インスタンスによって参照され得る。拡張及び関連する構成は、クラウドベースであってもよく、プレミスベースの顧客経験プラットフォーム製品に関して動的に現れてもよい。
ユーザインターフェースは、特徴及び機能のための機能トグルとして作用するフィールドを含む。フィールドは、ユーザの許可に基づいて利用可能である。
スクリプトタグは、共通の静的スクリプトを含む。スクリプトタグは、符号化されてもよく、ロード時に復号化されてもよい。スクリプトタグは、ウィジェットに関する固有のID及びサーバ属性を含む。
任意の更新又は変更は、クラウドを介して、プレミスベースの顧客経験プラットフォーム製品に対して動的かつ連続的に実施される。
通信インフラストラクチャの一実施形態を示す図である。
ウィジェットアーキテクチャの一実施形態を示す図である。
ウィジェットに関する構成プロセス及び配置プロセスの一実施形態を示すフローチャートである。
コンピューティングデバイスの一実施形態を示す図である。
コンピューティングデバイスの一実施形態を示す図である。
本発明の原理の理解を促進する目的で、ここでは図面に示される実施形態を参照し、特定の言語を使用してその説明を行う。上記にかかわらず、これが本発明の範囲の限定を意図したものではないことは理解されよう。記載される実施形態における任意の変更及び更なる修正、並びに本明細書に記載される本発明の原理の任意の更なる用途は、本発明が関連する当業者に通常生じるものとして想到される。
ウィジェットは、コンピューティングの意味において、アプリケーション、又はインターフェースの構成要素を含み、これによってユーザが機能を実施するか又はサービスにアクセスすることが可能となる。従来、ウィジェットはウェブサイトに構成されてもよい。ユーザは、ユーザ自身の許可を中に含むJavaScriptファイルをアップロードすることが必要であり、非常に手動的なプロセスである。自身のコンタクトセンター又はビジネス企業プラットフォーム内のウィジェットを利用するコンタクトセンター又はビジネス企業が変更を行う必要がある場合、開発者又はIT管理者が必要となる。これは、非限定的な例を挙げると、大量の期間など迅速な変更が必要である場合には実用的ではない。一実施形態では、コンタクトセンター又は企業プラットフォームの管理者は、コンタクトセンターフロアの人々(監督者など)を指定して、ウィジェットへの変更を即座に行うことができる。例えば、監督者は、IT管理者の関与を必要とすることなく作業グループの作業割り当てを変更し得、これにより作業グループの残務を軽減することが可能となる。一般的に、管理権は委任され得る。
一実施形態では、ウィジェット(又は、代替的に、モジュール式ツール)は、クラウドベースのプラットフォーム(例えば、ジェネシス社(Genesys Telecommunications Laboratories,Inc.)のPureCloud(登録商標)プラットフォーム、Amazon Web Services、Microsoft(登録商標)Azure、プライベートクラウドなど)でホストされ、プレミスベースのプラットフォームとシームレスに通信することができる。このプレミスベースのプラットフォームは、コンタクトセンター又は企業環境内で実行されてもよい。一実施形態では、プレミスベースのプラットフォームは、非限定的な例を挙げると、ジェネシス社のPureConnectプラットフォームなどの一体型マルチチャネル通信ソリューションを含む。一実施形態では、クラウドとプレミスとの間の通信は、複数の動作を可能にする目的で、ウェブベースのモジュール式ツールのコンテキストに適用される多重化方法によって行われる。これらのモジュール式ツールは、いかなる製品変更も必要とせずに、プレミスベースのプラットフォームのサーバレベルで自動化をトリガするための、拡張性を有する。Interaction Designer、又はユーザが新しいインタラクションプロセスをモデル化し、既存のインタラクションプロセスをカスタマイズすることを可能にする任意のクライアント側アプリケーションが使用されてもよい。これらのモデルは、設計者のアドハンドラ内に、特定のイベントがネットワーク内で発生した場合にプロセッサが何を行うべきかを説明するソフトウェアプログラムである。Interaction Designerは、グラフィカルアプリケーションジェネレータである。Interaction Designerなどのプログラムを使用して、プレミスベースのプラットフォーム内の様々なインタラクション処理挙動を制御するプログラム(又はハンドラ)を書くことができる。本明細書に記述されるウィジェットに関するシステムの一実施形態の方法は、ウィジェット及びサーバの両方が互いにシームレスに対話することを可能にするウェブインターフェースをユーザが利用することができるように、指定された方法で通信しようとする。その結果、ユーザ(コンタクトセンター又はビジネス企業プラットフォームを運用している者)がウィジェットファイルを更新することを懸念する必要はない。
一実施形態では、ウィジェットは、ウェブサイト上に直接展開することができるモジュール式ウェブ構成要素を含む。これらのモジュール式ウェブ構成要素により、いくつかの非限定的な例を挙げると、ライブチャット、コールバック、コンテキスト補助などのサービスを可能にする。ウィジェットはまた、ウェブチャット、コールバック、及びコブラウズなどの機能を可能にするアプリケーションプログラミングインターフェース(application programming interface、API)のための拡張を含んでもよい。拡張は、ウィジェットに作成され追加されるアドインを含んでもよい。拡張はまた、クラウド内、又はユーザが決定し得る場所においてホストされてもよい。拡張は、ウィジェットインターフェースを有する任意の数の固有の機能をサポートするために、システムユーザによって構築されてもよい。例えば、一実施形態では、ウィジェットは合理化されてもよく、企業ウェブサイトに追加されて、エージェントとのチャッティングなどの活動をサポートすることができる。ウィジェットの拡張は、プレミスベースのプラットフォームの自動化ツーリングを活用する能力を与える。別の実施形態では、ウィジェットは、連続的に統合され、展開された放出モデルの下で特定のAPIをプレミスベースの顧客経験プラットフォーム製品(ジェネシス社のPureConnectプラットフォームなど)に実装する、JavaScriptベース拡張、クラウドホスト型拡張、及びクラウド構成された拡張を含んでもよい。別の実施形態では、これをクラウドベースのプラットフォーム製品に適用することも可能である。
コンタクトセンターシステム
図1は、全体が100で示される通信インフラストラクチャの一実施形態を示した図である。例えば、図1は、コンタクトセンターサービスを提供するにあたり、コンタクトセンターをサポートするためのシステムを示す。コンタクトセンターは、企業を通じて利用可能な製品及びサービスに関連する販売及びサービスの機能を実行するにあたり、企業にサービスを提供するためのビジネス又は企業への社内施設であってもよい。別の態様では、コンタクトセンターは、サードパーティサービスプロバイダによって運用されてもよい。一実施形態では、コンタクトセンターは、コンタクトセンターシステムのいくつかの構成要素が、コンタクトセンター構内でホストされ、他の構成要素がリモートホスト(例えば、クラウドベースの環境で)されるハイブリッドシステムとして運用されてもよい。コンタクトセンターは、企業又はサードパーティサービスプロバイダ専用の機器上に配設されてもよく、かつ/又は、例えば、複数の企業向けの複数のコンタクトセンターをサポートするためのインフラストラクチャを備えたプライベート又はパブリッククラウド環境などのリモートコンピューティング環境に配設されてもよい。コンタクトセンターシステムの各種構成要素はまた、様々な地理的位置及びコンピューティング環境にわたって分散されてもよく、必ずしも単一の場所、コンピューティング環境、又は更にはコンピューティングデバイスに含まれていなくてもよい。
全体が100で示される通信インフラストラクチャの構成要素は、複数のエンドユーザデバイス105A、105B、105Cと、通信ネットワーク110と、スイッチ/メディアゲートウェイ115と、コールコントローラ120と、IMRサーバ125と、ルーティングサーバ130と、ストレージデバイス135と、統計サーバ140と、ワークビン146A、146B、146Cを含む複数のエージェントデバイス145A、145B、145Cと、管理者/監督者デバイス145Dと、マルチメディア/ソーシャルメディアサーバ150と、ウェブサーバ155と、iXnサーバ160と、UCS165と、レポーティングサーバ170と、メディアサービス175と、を含む。
一実施形態では、コンタクトセンターシステムは、電話又は他の通信機構を介したサービスの提供を可能にするために、リソース(例えば、作業者、コンピュータ、電気通信機器など)を管理する。このようなサービスは、コンタクトセンターの種類に応じて異なり得るものであり、顧客サービスから、ヘルプデスク、緊急応答、テレマーケティング、受注などに及ぶ。
コンタクトセンターからサービスを受けることを望む顧客、潜在的顧客、又は他のエンドユーザ(顧客又はエンドユーザと総称される)は、エンドユーザデバイス105A、105B、及び105C(105と総称される)を介して、コンタクトセンターへのインバウンド通信(例えば、電話コール、電子メール、チャットなど)を開始することができる。エンドユーザデバイス105の各々は、当該技術分野において従来の通信デバイス、いくつかの非限定的な例を挙げると、電話、無線電話、スマートフォン、パーソナルコンピュータ、電子タブレット、ラップトップなどであってもよい。エンドユーザデバイス105を操作するユーザは、電話コール、電子メール、チャット、テキストメッセージ、ウェブブラウジングセッション、及び他のマルチメディアトランザクションを開始し、管理し、応答することができる。簡略化のために、100には3つのエンドユーザデバイス105が示されているが、任意の数が存在してもよい。
エンドユーザデバイス105からのインバウンド通信及びエンドユーザデバイス105へのアウトバウンド通信は、使用されているデバイスのタイプに応じてネットワーク110をトラバースし得る。ネットワーク110は、電話、セルラー、及び/又はデータサービスの通信ネットワークを含んでもよく、非限定的な例を挙げると、私設又は公衆交換電話網(switched telephone network、PSTN)、ローカルエリアネットワーク(local area network、LAN)、プライベートワイドエリアネットワーク(wide area network、WAN)、及び/又はインターネットなどの公衆WANを含んでもよい。ネットワーク110としてはまた、符号分割多元接続(code division multiple access、CDMA)ネットワーク、移動通信用のグローバルシステム(global system for mobile communications、GSM)ネットワーク、又は3G、4G、LTEなどを含むがこれらに限定されない、当該技術分野において従来の任意の無線ネットワーク/技術を含む、無線キャリアネットワークが挙げられ得る。
一実施形態では、コンタクトセンターシステムは、エンドユーザとコンタクトセンターとの間で電話コールを送受信するための、ネットワーク110に結合されたスイッチ/メディアゲートウェイ115を含む。スイッチ/メディアゲートウェイ115としては、センター内のエージェントレベルルーティングのための中央スイッチとして機能するように構成された電話スイッチ又は通信スイッチが挙げられ得る。スイッチは、ハードウェアスイッチングシステム又はソフトウェアを介して実装されるソフトスイッチであってもよい。例えば、スイッチ115としては、自動コールディストリビュータ、構内交換機(private branch exchange、PBX)、IPベースのソフトウェアスイッチ、及び/又は顧客からインターネットソース型インタラクション及び/又は電話網ソース型インタラクションを受信し、これらのインタラクションを、例えば、エージェント電話又は通信デバイスにルーティングするように構成された専用ハードウェア及びソフトウェアを有する任意の他のスイッチが挙げられ得る。この例では、スイッチ/メディアゲートウェイは、例えば、顧客の電話デバイスとエージェント電話デバイスとの間の接続を確立することによって、呼び出し元の顧客とエージェント電話デバイスとの間の音声経路/接続(図示せず)を確立する。
一実施形態では、スイッチは、例えば、スイッチと、コンタクトセンターのルーティング、監視などの通信処理構成要素のうちのスイッチ以外の部分との間のアダプタ又はインターフェースとして機能し得るコールコントローラ120に結合される。コールコントローラ120は、PSTNコール、VoIPコールなどを処理するように構成されてもよい。例えば、コールコントローラ120は、スイッチ/メディアゲートウェイ及びコンタクトセンター装置とインターフェースするためのコンピュータテレフォニーインテグレーション(computer-telephony integration、CTI)ソフトウェアで構成されてもよい。一実施形態では、コールコントローラ120は、SIPコールを処理するためのセッション開始プロトコル(session initiation protocol、SIP)サーバを含んでもよい。コールコントローラ120はまた、発信者の電話番号(例えば、自動番号識別(automatic number identification、ANI)番号)、顧客のインターネットプロトコル(IP)アドレス、又は電子メールアドレスなど、顧客とのインタラクションに関するデータを抽出し、インタラクションを処理するにあたりシステム100の他の構成要素と通信してもよい。
一実施形態では、システム100は、インタラクション型メディア応答(interactive media response、IMR)サーバ125を更に含む。IMRサーバ125はまた、自己ヘルプシステム、仮想アシスタントなどと称されてもよい。IMRサーバ125は、IMRサーバ125が音声に制限されず、更に様々なメディアチャネルをカバーし得ることを除いて、双方向型音声応答(interactive voice response、IVR)サーバと同様であってもよい。音声を示す実施例では、IMRサーバ125は、顧客のニーズを照会するためのIMRスクリプトで構成されてもよい。例えば、銀行のコンタクトセンターは、顧客が自分の預金残高を取得したい場合は「1を押す」ように、IMRスクリプトを介して顧客に伝えることができる。IMRサーバ125との継続的なインタラクションを介して、顧客は、エージェントとの会話を必要とせずにサービスを完了させることが可能であり得る。IMRサーバ125はまた、「どのようなご用件でしょうか」などの自由回答式の質問をしてもよく、顧客は、コンタクトセンターに問い合わせる理由を話すか、又は別の方法で入力することができる。顧客の応答は、適切なコンタクトセンターリソースにコール又は通信をルーティングするため、ルーティングサーバ130によって使用されてもよい。
通信がエージェントにルーティングされる場合、コールコントローラ120は、ルーティングサーバ(オーケストレーションサーバとも称される)130と相互作用して、インタラクションを処理するための適切なエージェントを見つける。インバウンドインタラクションをルーティングするための適切なエージェントの選択は、例えば、ルーティングサーバ130によって用いられるルーティング戦略に基づいてもよく、更に、例えば統計サーバ140によって提供されるエージェント可用性、スキル、及び他のルーティングパラメータに関する情報に基づいてもよい。
一実施形態では、ルーティングサーバ130は、顧客データベースに問い合わせてもよく、顧客データベースは、連絡先情報、サービスレベル契約(service level agreement、SLA)要件、以前の顧客連絡先の性質、及び任意の顧客の問題を解決するためにコンタクトセンターによって取られた行動などの、既存のクライアントに関する情報を格納する。データベースは、例えば、Cassandra又は任意のNoSQLデータベースであり得、大容量ストレージデバイス135に格納され得る。データベースはまたSQLデータベースであってもよく、いくつかの非限定的な例を挙げると、例えば、Oracle、IBM DB2、Microsoft SQLサーバ、Microsoft Access、PostgreSQLなどの任意のデータベース管理システムによって管理されてもよい。ルーティングサーバ130は、ANI又はIMRサーバ125によって収集された任意の他の情報を介して顧客データベースに顧客情報を照会してもよい。
適切なエージェントが、通信を処理するために利用可能と識別されると、顧客と識別されたエージェントのエージェントデバイス145A、145B、及び/又は145C(145と総称される)との間の接続がなされ得る。簡潔にするために図1には3つのエージェントデバイスが示されているが、任意の数のデバイスが存在してもよい。管理者/監督デバイス145Dが存在してもよい。管理者/監督者デバイス145Dは、エージェントを管理する、コンタクトセンター内の管理者又は監督者によって制御され得る。加えて、管理者又は監督者は、管理者又は監督者のデバイス145Dから、コンタクトセンターソフトウェアプラットフォーム内の設定を構成することができる。簡潔にするために、図1には1つのみが示されているが、任意の数の管理者/監督者デバイス145Dは、コンタクトセンター内又は企業内の設定に存在してもよい。顧客及び/又は顧客の履歴情報に関して収集された情報は、通信をより良好にサービスする際にエージェントを補助する目的でエージェントデバイスに提供されてもよく、それに加えて、コンタクトセンターの管理のため管理者/監督者デバイスに提供されてもよい。この点に関して、各デバイス145は、定期電話通話、VoIP通話などに適合された電話を含むことができる。デバイス145はまた、コンタクトセンターの1つ以上のサーバと通信し、コンタクトセンター動作に関連付けられたデータ処理を実行し、音声及び他のマルチメディア通信機構を介して顧客と対話するためのコンピュータを含んでもよい。
コンタクトセンターシステム100はまた、エンドユーザデバイス105及び/又はウェブサーバ155との音声インタラクション以外のメディアインタラクションに関与するためのマルチメディア/ソーシャルメディアサーバ150を含んでもよい。メディアインタラクションは、例えば、電子メール、ボイスメール(電子メールを介したボイスメール)、チャット、ビデオ、テキストメッセージ、ウェブ、ソーシャルメディア、共同ブラウジングなどに関連し得る。マルチメディア/ソーシャルメディアサーバ150は、マルチメディアイベントを受信、処理、及び転送するための特殊なハードウェア及びソフトウェアを用いて、当該技術分野において従来の任意のIPルータの形態を採ることができる。
ウェブサーバ155としては、例えば、いくつかの非限定的な例を挙げると、Facebook、Twitter、Instagramなど、エンドユーザが加入し得る様々な既知の社会交流サイトのための社会交流サイトホストが挙げられ得る。一実施形態では、ウェブサーバ155はコンタクトセンターシステム100の一部として示されているが、ウェブサーバはまた、サードパーティによって提供されてもよく、かつ/又はコンタクトセンター構内の外側に維持されてもよい。ウェブサーバ155はまた、コンタクトセンターシステム100によってサポートされている企業のウェブページを提供してもよい。エンドユーザは、ウェブページをブラウズし、企業の製品及びサービスに関する情報を取得することができる。ウェブページはまた、例えば、ウェブチャット、ボイスコール、電子メール、ウェブリアルタイム通信(WebRTC)などを介してコンタクトセンターに問い合わせるための機構を提供してもよい。ウィジェットは、ウェブサーバ155上でホストされるウェブサイト上に展開され得る。
一実施形態では、延期可能なインタラクション/活動も、リアルタイムインタラクションに加えて、コンタクトセンターエージェントにルーティングされてもよい。延期可能なインタラクション/活動は、バックオフィス業務、又は電子メール、手紙、訓練への参加、若しくは顧客とのリアルタイム通信を必要としない他の活動に応答するなど、オフラインで実行され得る業務を含んでもよい。インタラクション(iXn)サーバ160は、活動を処理するのに適切なエージェントを選択するためにルーティングサーバ130と相互作用する。エージェントに割り当てられると、活動はエージェントにプッシュされてもよく、又はエージェントによって完了されるタスクとしてエージェントのワークビン146A、146B、146C(集合的に146)に現れてもよい。エージェントのワークビンは、例えば、リンクされたリスト、アレイなどの、当該技術分野において従来の任意のデータ構造を介して実装され得る。一実施形態では、ワークビン146は、例えば、各エージェントデバイス145のバッファメモリ内に維持されてもよい。
一実施形態では、大容量ストレージデバイス135は、エージェントデータ(例えば、エージェントプロファイル、スケジュールなど)、顧客データ(例えば、顧客プロファイル)、インタラクションデータ(例えば、限定するものではないが、インタラクションの理由、処理データ、待ち時間、処理時間などを含む、顧客との各インタラクションの詳細)などに関連する1つ以上のデータベースを格納してもよい。別の実施形態では、データ(例えば、顧客プロファイルデータ)の一部は、大容量ストレージデバイス135又は他の場所でホストされる顧客関係管理(CRM)データベース内に保持されてもよい。大容量ストレージデバイス135は、当該技術分野において従来のように、ハードディスク又はディスクアレイの形態を採ってもよい。
一実施形態では、コンタクトセンターシステムは、CRMデータベースに格納された情報を取得するように、かつ情報をCRMデータベースに格納されるように方向付けるように構成されたユニバーサルコンタクトサーバ(universal contact server、UCS)165を含んでもよい。UCS165はまた、顧客の好みの履歴及びインタラクション履歴を維持することを容易にし、エージェント、顧客通信履歴などからコメントに関するデータを捕捉し、格納するように構成されてもよい。
コンタクトセンターシステムはまた、統計サーバ140によって集約されたデータからレポートを生成するように構成されたレポーティングサーバ170を含んでもよい。このような報告は、例えば、平均待ち時間、緩和速度、エージェント占有率などの、リソースの状態に関する、ほぼリアルタイムのレポート又は履歴レポートを含んでもよい。レポートは、自動的に、又はリクエスタ(例えば、エージェント/管理者、コンタクトセンターアプリケーションなど)からの特定の要求に応じて生成されてもよい。
図1の様々なサーバは各々、コンピュータプログラム命令を実行し、本明細書に記述される様々な機能を実施するための他のシステム構成要素と相互作用する、1つ以上のプロセッサを含んでもよい。コンピュータプログラム命令は、例えば、ランダムアクセスメモリ(RAM)などの標準メモリデバイスを使用して実装されるメモリに格納される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的なコンピュータ可読媒体に格納され得る。サーバの各々の機能は、特定のサーバによって提供されるものとして説明されているが、当業者は、各種サーバの機能が組み合わされるか若しくは単一のサーバに統合されてもよいこと、又は特定のサーバの機能が、本発明の実施形態の範囲から逸脱することなく、1つ以上の他のサーバ間に分散されてもよいことを理解すべきである。
一実施形態では、用語「インタラクション」及び「通信」は互換的に使用され、概して、限定するものではないが、電話コール(PSTN又はVoIPコール)、電子メール、Vメール、ビデオ、チャット、画面共有、テキストメッセージ、ソーシャルメディアメッセージ、WebRTCコールなどを含む、任意の通信チャネルを使用する任意のリアルタイム及び非リアルタイムインタラクションを指す。
メディアサービス175は、IVR又はIMRシステムのプロンプト(例えば、オーディオファイルの再生)、保留音、ボイスメール/単一相手との記録、複数相手との記録(例えば、オーディオ及び/又はビデオコール)、音声認識、デュアルトーンマルチ周波数(DTMF)認識、ファックス、オーディオ及びビデオトランスコーディング、セキュアなリアルタイム転送プロトコル(SRTP)、音声会議、ビデオ会議、コーチング(例えば、コーチが顧客とエージェントとの間のインタラクションを聞くためのサポート、及び顧客がコメントを聞くことなくコーチがエージェントにコメントを提供するためのサポート)、コール分析、及びキーワードのスポッティングなどのコンタクトセンター機能をサポートするためのオーディオ及び/又はビデオサービスを提供してもよい。
一実施形態では、プレミスベースのプラットフォーム製品は、エージェントデバイス145A~C上及び管理者/監督者デバイス145D上に存在するユーザインターフェース(user interface、UI)を介して、システム100の構成要素へのアクセス及び制御を提供してもよい。プレミスベースのプラットフォーム製品内に、グラフィカルアプリケーションジェネレータプログラムを統合することができ、これにより、ユーザは、プレミスベースのプラットフォーム製品内の様々なインタラクション処理挙動を制御するプログラム(ハンドラ)を作成することが可能となる。
上述のように、コンタクトセンターは、クラウドベースの環境などで、一部又は全ての構成要素がリモートホストであるハイブリッドシステムとして動作することができる。便宜上、本発明の実施形態の態様は、クラウドベースの環境から構内に収容された構成要素にモジュール式ツールを提供することに関して以下に説明される。
ウィジェット
図2は、全体が200で示されるウィジェットアーキテクチャの一実施形態を示した図である。一般的に200で示されるウィジェットアーキテクチャの構成要素は、ディレクトリサービス206、セッションマネージャ207、及びHttpPluginHost 208を含み得る、プレミスベースのプラットフォームサーバ205と、エージェントワークステーション145A~Cと、管理者/監督者ワークステーション145Dと、モジュール式ツール210と、ブラウザ215と、を含む。
一実施形態では、エージェントワークステーション145A~Cは、それらのデバイス上でコンタクトセンターソフトウェアプラットフォームを実行し、それらのデバイスを介して、処理のためにルーティングされたインタラクションを受信する。この実施例では、エージェントは、プレミスベースのプラットフォームを使用している。プレミスベースのプラットフォームクライアントは、インタラクションウェブサービス(Interaction Center Web Services)(ICWS)を介してサーバ205上に位置するHttpPluginHost208と通信する。一般的に、ICWSは、サーバ205との接続を管理し、認証及びステーション設定を指定し、接続状態変化イベントを観察し、接続されたセッションユーザに関連する動作を実施する。ICWSは、ウェブ、モバイル、及びデスクトップクライアントアプリケーションのためのRESTfulなAPIを含む。サーバ205は、互いに通信するディレクトリサービス206及びセッションマネージャ207を更に含む。ディレクトリサービス206は、ウィジェット構成を格納する。セッションマネージャ207は、HttpPluginHost208と更に通信する。HttpPluginHost208は、ICWSを介して、管理者/監督者ワークステーション145Dと通信する。管理者/監督者ワークステーション145Dは、デバイスからウィジェット210の様々な態様を取り扱うことができる。一実施形態では、監督者は、ルーティング及びハンドルウィジェット登録管理を構成することができる。管理者は、ウィジェットUIを構成することができる。ウィジェット210は、ミニファイ化されたJavaScriptコードを含む。ミニファイ化されたJavaScriptコードは、例えば、連続的な統合及び展開を可能にするAmazon Web Servicesのようなクラウドサービスにホストされる。ウィジェット210のJavaScriptは、所定のウィジェットID及びサーバと共にブラウザウェブサイト210に追加される。ブラウザウェブサイト210は、図1におけるシステム100のウェブサーバ155でホストされてもよい。
図3は、全体が300で示される、ウィジェットのための構成及び展開プロセスの一実施形態を示すフローチャート図である。一実施形態では、モジュール式ツールは、ウェブサイト上に含まれるコードスニペットによって構成及び展開される。分散クラウドモデルを使用して、ユーザは、配信ネットワーク上のウィジェットのための単一の静的スクリプトを参照することができる。コンテキスト及び構成は、プレミスベースのプラットフォーム製品内のウィジェットアーキテクチャ200に基づいて動的に発生する。
動作305では、管理者は、ウィジェットを作成及び保存する。管理者に対してUIが管理者デバイス145D上に提供され、自身の拡張を有するものを含む新しいウィジェットインスタンスを追加及び構成する。いくつかの限定的な例を挙げると、テーマ、言語及びモバイルデバイスなどの因子がウィジェット内に構成されてもよい。プラットフォーム固有の他の因子、例えばサーバ名、リバースプロキシ、並びにウェブサーバとプラットフォームサーバとの間の通信のためにHTTP又はHTTPSを使用するかどうか、などが構成されてもよい。更に、ウィジェットに使用される言語は、ブラウザの好みに基づいてもよい。別の実施形態では、ウィジェットがブラウザの好ましい言語のいずれも使用することができない場合、ウィジェットは、ユーザ選択言語を使用する。
ウィジェットはまた、異なるモードのために構成されてもよい。例えば、デバイスのためのモバイルモード、デスクトップモード、又はその両方である。ウィジェットコードは、ウェブサイト訪問者がデスクトップブラウザ又はモバイルブラウザを使用しているかどうかを検出することができる。プラグインはまた、構成を介して制御されてもよい。例えば、利用可能なプラグイン名のリストは、異なるウィジェット構成が異なるプラグインにアクセスするように動的に変更されてもよい。加えて、カスタムJavaScript Object Notation(JSON)オブジェクトは、その現在の構造を超えて構成を拡張するように構成に埋め込まれてもよい。
一実施形態では、いくつかの非限定的な例を挙げると、ウェブチャット又はコールバックなどの組み込み拡張は、所与のウィジェット構成に利用可能であってもよい。これらの拡張及び拡張の構成は、クラウド(ウェブサーバ155又はクラウドホスティングサービス上など)でライブであり得、プレミスベースのプラットフォームユーザに動的に現れる場合がある。
更に、任意の所与のユーザに対する構成に利用可能であり得るフィールドは、現在のユーザに付与された許可に依存する。許可の粒度は、管理者/監督者レベルで提供される。また、コンタクトセンター環境内の開発チームなどの他の当事者もまた、拡張を追加することができてもよい。カスタム拡張は、作成者によってホストされてもよく、単に構成インスタンスによって参照されてもよい。
別の実施形態では、提供されたUIは、クラウドからのプレミスベースレベルで提供される。オプションがクラウド内のJSONファイルから読み取り可能であってもよく、オプションはプレミスレベルで更新を行うために使用されることができる。これにより、更新が、動的かつ連続的に、リアルタイムで行われることを可能にする。変更は、定期的に提供されるスケジュールされた更新とは対照的に、クラウド経由で連続的にユーザに公開されてもよい。制御は動作310に渡され、プロセス300は継続する。
動作310では、識別子(ID)が生成され、構成が格納される。一実施形態では、ウィジェットが作成され保存されると、固有IDが生成されてもよく、その構成は、プレミスベースのプラットフォームのディレクトリサービス206サブシステム内で平坦化されたJSONオブジェクトとして格納される。制御は動作315に渡され、動作300は継続する。
動作315で、スクリプトタグが生成される。一実施形態では、スクリプトタグの生成は、HTMLスクリプトタグの形態でJavaScriptスニペットを生成することによって行われてもよい。サーバ及びウィジェットID属性は、スクリプトに含まれ、例えば、<script src=”widgets.min.js”server=”x”widget-id=”y”>である。スクリプトタグは、一般的に、ツールがライブである位置、及び構成がウィジェットコンテキストに付与するウィジェット識別子を含む。更に、スクリプトタグは、ウィジェットが接続すべきプレミスベースのサービスに関する情報を含む。サービスがクラウドベースである実施形態では、識別子のみが存在し得る。一実施形態では、スクリプトタグは、プラットフォームの全てのユーザに共通である静的スクリプトを含む。別の実施形態では、スクリプトタグは、ロード時に復号化される、符号化スクリプトを含む。制御は動作320に渡され、プロセス300は継続する。
動作320では、ウェブサイト上のページにスクリプトタグが適用される。これは、モジュール式ツールのための単一の導入工程を表す。一実施形態では、動作310で生成されたスニペットは、ユーザによって選択されたウィジェットのためにコピーされ、テキストファイルに貼り付けられ、その後、ウェブサイト215内の適切なページに追加される。一実施形態では、管理者が選択するために、任意の数のウィジェットが、UI内のパネル内に表示されてもよい。ウィジェットの例は、チャット、コールバック、コブラウズ、提案(例えば、積極的にポップアップで顧客に提案する場合)、知識センター(FAQなど)、電話問い合わせ(例えば、電話通話をクリックするためのリンク)、並びにユーザによって作成された任意の数の顧客設計ウィジェットを含むことができる。
一実施形態では、チャットウィジェットは、例えば、データマスキング、入力中通知、開封確認、並びにデスクトップ及びモバイルデバイスブラウザの両方に対して最適化されたUI内のファイル転送能力のような性能を使用して、顧客がコンタクトセンターとチャットすることを可能にする。チャットウィジェットは、第三者チャットサービスに組み込まれていてもよく、又は接続オプションを有してもよい。別の実施形態では、ウェブチャットウィジェットは、顧客がエージェントとのライブチャットを開始することを可能にし得る。ウェブチャットインターフェースは、ページ内に現れ、ウェブサイトを横断する際に顧客を追うことができる。顧客は、エージェントとのコブラウズセッションを直接ウェブチャットから開始することもできる。他の特性は、最小化/最大化、自動再接続、及び招待を含んでもよい。
一実施形態では、参照されるスクリプトは、ウィジェットを使用する全てのプレミスベースプラットフォームユーザが使用するであろう、静的スクリプトを含んでもよい。サーバ及びウィジェットID属性は、静的ファイルに渡され、静的スクリプトにコンテキストを提供する。制御は動作325に渡され、プロセス300は継続する。
動作325では、ウィジェットの実装がロードされる。ロードされると、ウィジェット実装は、APIを使用して未認証のICWS登録要求を指定されたサーバに送信する。ICWSは、ウェブ、モバイル、及びデスクトップクライアントアプリケーションのためのRESTfulなAPIを含む。登録要求はIDを含み、ディレクトリサービスに問い合わせるために使用される。制御は動作330に渡され、プロセス300は継続する。
動作330では、構成オブジェクトが変換され、コンテキストが追加される。ウィジェット構成オブジェクトは、ユーザのウィジェットインスタンスにコンテキストを提供することが予想される、JSON構成オブジェクトに(ウィジェットアーキテクチャ200によって)変換される。これにより、ウィジェットは、単一のウィジェットバージョンを用いて、各ユーザに対して一意に動的に構成されることが可能となる。これは、クラウド分散モデルに沿っている。次に、ウィジェットにコンテキストが投入される。
一実施形態では、多くの拡張が、ウィジェット製品を介してネイティブに利用可能であってもよい。これらの各拡張は、製品レベルのAPI変更を要求して、ウィジェットがプレミスベースのプラットフォームサーバ205と通信することを可能にする。カスタム拡張は、拡張としてロードする能力からの値を有するが、プラットフォームサーバと統合する能力を介する値より小さい。結果として、プレミスベースのプラットフォームは、カスタム拡張のための多重化APIを有する。入力フィールドのいずれも、ハンドラのためのJSON入力として使用することができる。視認可能なUIを含まず、単にウェブフック(又は所与のイベント)を監視し、その情報を、プレミスベースのプラットフォームハンドラの統合に提供するカスタム拡張を作成することができ得る。
一実施形態では、ウィジェットAPIは、多重化チャネルとして機能する表現状態転送(Representational State Transfer、REST))エンドポイントを含む。APIはまた、カスタム拡張書き込みのため方法を公開して、JavaScriptにおける独自の「カスタムアクション」機能を作成する。このカスタムアクションが、あるJSON入力を含む可能性のあるパラメータで呼び出されると、ウィジェットAPIのREST要求が、多重化APIを使用してプレミスベースのプラットフォームサーバ205に送信される。宛先には、ウィジェットのための統合点として機能するカスタムウィジェットハンドラが含まれる。
ハンドラは、Interaction Designer、又は類似のクライアント側アプリケーションなどの製品内で設計されてもよく、これによってユーザが新しいインタラクションプロセスをモデル化し、既存のインタラクションプロセスをカスタマイズすることが可能となる。提供された入力に基づいて、様々な入力及び異なる経路が実装されてもよい。ユーザが、カスタムウィジェット拡張のためにJavaScript内でカスタムアクションを定義する能力、及びカスタムウィジェットハンドラ内でこの動作を実装する能力は、多重化機能を説明する。ウィジェットとハンドラとの間に多重化層を提供することは、機能が容易に発生することを可能にし、製品変更を必要とすることなく、任意の数の挙動を実施することができる。
一実施形態では、ウィジェットの拡張が書き込まれてもよく、ウィジェットの拡張により、プレミスベースのプラットフォームの開発者が、プレミスベースのプラットフォームに接続されたサーバからメッセージをプルすること、及びプレミスベースのプラットフォームとの間でメッセージを送受信することが可能となる。伝統的に、ウィジェットは、JavaScriptファイルなしでプレミスベースのプラットフォームと直接通信することができる代わりに、JavaScriptファイル内のオプションの全てを用いて、このファイルを検索する可能性があった。コンタクトセンター内又は企業内のウェブ開発者及びIT管理者は、ソフトウェアに入ってこれらの変更を行うことができなければならない可能性があった。モジュール式ツールの構成及び展開によってこの手法は簡略化され、IT管理者又はウェブ開発者が関与することなく、ユーザが動作を実施することが可能となる。加えて、情報はユーザのサーバから直接ロードされてもよく、これにより、ウィジェットが、プレミスベースのプラットフォームとの間で対話を行うこと又はクラウドベースのプラットフォームとの間で往復することが可能となる。
コンピュータシステム
一実施形態では、説明される図の各種サーバ、制御部、スイッチ、ゲートウェイ、エンジン、及び/又はモジュール(サーバと総称される)の各々は、当業者に理解されるように、ハードウェア又はファームウェア(例えば、ASIC)を介して実装される。様々なサーバの各々は、1つ以上のプロセッサ上で実行され、1つ以上のコンピューティングデバイス(例えば、図4A、図4B)においてコンピュータプログラム命令を実行し、本明細書に記載される様々な機能を実行するための他のシステム構成要素と相互作用するプロセス又はスレッドであってもよい。コンピュータプログラム命令は、例えばRAMなどの標準メモリデバイスを使用してコンピューティングデバイスに実装され得るメモリに格納される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読媒体に格納されてもよい。当業者は、コンピューティングデバイスが、ファームウェア(例えば、特定用途向け集積回路)、ハードウェア、又はソフトウェア、ファームウェア、及びハードウェアの組み合わせを介して実装され得ることを認識するべきである。当業者はまた、各種コンピューティングデバイスの機能が組み合わされるか若しくは単一のコンピューティングデバイスに統合されてもよいこと、又は特定のコンピューティングデバイスの機能が、本発明の例示的な実施形態の範囲から逸脱することなく、1つ以上の他のコンピューティングデバイス間に分散されてもよいことを認識すべきである。サーバは、ソフトウェアモジュールであってもよく、これも単にモジュールとも称され得る。コンタクトセンター内のモジュールのセットは、サーバ及び他のモジュールを含んでもよい。
各種サーバは、コンタクトセンターのエージェントと同じ物理的場所にあるオンサイトのコンピューティングデバイス上に配置されてもよく、又は地理的に異なる場所、例えば、インターネットなどのネットワークを介してコンタクトセンターに接続されたリモートデータセンター内でオフサイトに配置されてもよい。更に、サーバのいくつかは、コンタクトセンターにあるオンサイトのコンピューティングデバイス内に配置されてもよく、一方、他のサーバは、オフサイトのコンピューティングデバイス内に配置されてもよく、又は冗長な機能を提供するサーバは、より優れたフォールトトレランスを提供するためにオンサイト及びオフサイトのコンピューティングデバイスの両方を介して提供されてもよい。いくつかの実施形態では、オフサイトのコンピューティングデバイスに配置されたサーバによって提供される機能は、かかるサーバがオンサイトにあるかのように仮想プライベートネットワーク(virtual private network、VPN)を介してアクセス及び提供されてもよく、又は機能は、例えば、拡張可能なマークアップ言語(extensible markup language、XML)又はJSONでの符号化を使用してデータを交換することなどによって、様々なプロトコルを使用してインターネット上に機能を提供するためのサービスとしてのソフトウェア(software as a service、SaaS)を使用して提供されてもよい。
図4A及び図4Bは、概して400で示される、本発明の実施形態で用いられ得るようなコンピューティングデバイスの実施形態を示した図である。各コンピューティングデバイス400は、CPU405及びメインメモリユニット410を含む。図4Aに示すように、コンピューティングデバイス400はまた、記憶デバイス415、リムーバブルメディアインターフェース420、ネットワークインターフェース425、入出力(input/output、I/O)コントローラ430、1つ以上の表示デバイス435A、キーボード435B、及びポインティングデバイス435C(例えば、マウス)を含んでもよい。ストレージデバイス415は、限定するものではないが、オペレーティングシステム及びソフトウェアのためのストレージを含んでもよい。図4Bに示すように、各コンピューティングデバイス400はまた、メモリポート440、ブリッジ445、1つ以上の追加の入出力デバイス435D、435E、及びCPU405と通信するキャッシュメモリ450などの追加の任意選択的な要素を含んでもよい。入出力デバイス435A、435B、435C、435D、及び435Eは、本明細書では、435と総称される場合がある。
CPU405は、メインメモリユニット410からの命令に応答し、それを処理する任意の論理回路である。例えば、マイクロプロセッサ、マイクロコントローラ、若しくはグラフィックス処理ユニットの形態の集積回路に、又はフィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)若しくは特定用途向け集積回路(application-specific integrated circuit、ASIC)に実装されてもよい。メインメモリユニット410は、データを格納し、任意のストレージ位置が中央処理ユニット405によって直接アクセスされることを可能にする1つ以上のメモリチップであってもよい。図4Aに示すように、中央処理ユニット405は、システムバス455を介してメインメモリ410と通信する。図4Bに示すように、中央処理ユニット405はまた、メモリポート440を介してメインメモリ410と直接通信してもよい。
一実施形態では、CPU405は、複数のプロセッサを含んでもよく、命令の同時実行又は1つ以上のデータ片上での1つの命令の同時実行のための機能を提供してもよい。一実施形態では、コンピューティングデバイス400は、1つ以上のコアを有する並列プロセッサを含んでもよい。一実施形態では、コンピューティングデバイス400は、単一のグローバルアドレス空間として全ての利用可能なメモリにアクセスする、複数のプロセッサ及び/又は複数のプロセッサコアを有する共有メモリ並列デバイスを備える。別の実施形態では、コンピューティングデバイス400は、ローカルメモリのみに各々アクセスする複数のプロセッサを有する分散メモリ並列デバイスである。コンピューティングデバイス400は、共有されているいくつかのメモリと、特定のプロセッサ又はプロセッサのサブセットによってのみアクセスされ得るいくつかのメモリとの両方を有してもよい。CPU405は、2つ以上の独立したプロセッサを単一のパッケージに、例えば、単一の集積回路(integrated circuit、IC)に組み合わせるマルチコアマイクロプロセッサを含んでもよい。例えば、コンピューティングデバイス400は、少なくとも1つのCPU405及び少なくとも1つのグラフィック処理ユニットを含んでもよい。
一実施形態では、CPU405は、単一命令多重データ処理(single instruction multiple data、SIMD)機能、例えば、複数のデータ片上で同時に単一の命令を実行する機能を提供する。別の実施形態では、CPU405内のいくつかのプロセッサは、複数のデータ片上で同時に複数の命令を実行するための機能(multiple pieces of data、MIMD)を提供してもよい。CPU405はまた、単一のデバイス内でSIMD及びMIMDコアの任意の組み合わせを使用してもよい。
図4Bは、CPU405が、バックサイドバスと呼ばれることもある二次バスを介してキャッシュメモリ450と直接通信する実施形態を示す。他の実施形態では、CPU405は、システムバス455を用いてキャッシュメモリ450と通信する。キャッシュメモリ450は典型的には、メインメモリ410よりも速い応答時間を有する。図4Aに示すように、CPU405は、ローカルシステムバス455を介して様々なI/Oデバイス435と通信する。限定するものではないが、Video Electronics Standards Association(VESA)ローカルバス(VLB)、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、拡張業界標準アーキテクチャ(Extended Industry Standard Architecture:EISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、Peripheral Component Interconnect(PCI)バス、PCI拡張(PCI Extended:PCI-X)バス、PCI-Expressバス、又はNuBusを含む様々なバスが、ローカルシステムバス455として使用され得る。I/Oデバイスが表示デバイス435Aである実施形態の場合、CPU405は、Advanced Graphics Port(AGP)を介して表示デバイス435Aと通信することができる。図4Bは、CPU405がI/Oデバイス435Eと直接通信するコンピュータ400の実施形態を示す。図4Bはまた、ローカルバス及び直接通信が混合される実施形態を示す。CPU405は、I/Oデバイス435Eと直接通信している間にローカルシステムバス455を使用してI/Oデバイス435Dと通信する。
多種多様なI/Oデバイス435が、コンピューティングデバイス400内に存在してもよい。入力デバイスは、いくつかの非限定的な例を挙げると、1つ以上のキーボード435B、マウス、トラックパッド、トラックボール、マイクロフォン、及び製図台が挙げられる。出力デバイスとしては、ビデオ表示デバイス435A、スピーカ、及びプリンタが挙げられる。図4Aに示されるI/Oコントローラ430は、例えば、キーボード435B及びポインティングデバイス435C(例えば、マウス又は光学ペン)などの1つ以上のI/Oデバイスを制御してもよい。
再び図4Aを参照すると、コンピューティングデバイス400は、フロッピーディスクドライブ、CD-ROMドライブ、DVD-ROMドライブ、各種フォーマットのテープドライブ、USBポート、セキュアデジタル若しくはCOMPACT FLASH(商標)メモリカードポート、又は読み出し専用メディアからデータを読み取るため、若しくは読み書きメディアからデータを読み取るため、若しくは読み書きメディアにデータを書き込むために好適な任意の他のデバイスなど、1つ以上のリムーバブルメディアインターフェース420をサポートしてもよい。I/Oデバイス435は、システムバス455とリムーバブルメディアインターフェース420との間のブリッジであってもよい。
リムーバブルメディアインターフェース420は、例えば、ソフトウェア及びプログラムをインストールするために使用されてもよい。コンピューティングデバイス400は、オペレーティングシステム及び他の関連するソフトウェアを格納するための、及びアプリケーションソフトウェアプログラムを格納するための、1つ以上のハードディスクドライブ又はハードディスクドライブアレイなどのストレージデバイス415を更に含んでもよい。任意選択的に、リムーバブルメディアインターフェース420はまた、ストレージデバイスとして使用されてもよい。例えば、オペレーティングシステム及びソフトウェアは、ブータブルメディア、例えばブータブルCDから実行されてもよい。
一実施形態では、コンピューティングデバイス400は、各々が同じ又は異なるタイプ及び/若しくは形態であり得る複数の表示デバイス435Aを含んでもよく、又はそれらに接続されてもよい。したがって、I/Oデバイス435及び/又はI/Oコントローラ430のいずれかは、コンピューティングデバイス400による複数の表示デバイス435Aへの接続及びその使用をサポートするか、有効にするか、又は提供するために、任意のタイプ及び/又は形態の好適なハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせを含んでもよい。例えば、コンピューティングデバイス400は、表示デバイス435Aをインターフェース、通信、接続、又は別様に使用するための、任意のタイプ及び/又は形態のビデオアダプタ、ビデオカード、ドライバ、及び/又はライブラリを含んでもよい。一実施形態では、ビデオアダプタは、複数の表示デバイス435Aにインターフェースするための複数のコネクタを含んでもよい。別の実施形態では、コンピューティングデバイス400は、複数のビデオアダプタを含んでもよく、各ビデオアダプタは、表示デバイス435Aのうちの1つ以上に接続される。他の実施形態では、表示デバイス435Aのうちの1つ以上は、例えば、ネットワークを介してコンピューティングデバイス400に接続された1つ以上の他のコンピューティングデバイスによって提供されてもよい。これらの実施形態は、コンピューティングデバイス400のための第2の表示デバイス435Aとして別のコンピューティングデバイスの表示デバイスを使用するように設計及び構築された任意のタイプのソフトウェアを含んでもよい。当業者であれば、コンピューティングデバイス400が複数の表示デバイス435Aを有するように構成され得る様々な方法及び実施形態を認識及び理解するであろう。
概して図4A及び図4Bに示されるコンピューティングデバイスの実施形態は、オペレーティングシステムの制御下で動作してもよく、タスクのスケジューリング及びシステムリソースへのアクセスを制御する。コンピューティングデバイス400は、任意のオペレーティングシステム、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意のプロプライエタリオペレーティングシステム、モバイルコンピューティングデバイスのための任意のオペレーティングシステム、又はコンピューティングデバイス上で実行可能であり、本明細書に記載される動作を実行する任意の他のオペレーティングシステムを実行していてもよい。
コンピューティングデバイス400は、任意のワークステーション、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、サーバマシン、ハンドル付きコンピュータ、携帯電話若しくは他のポータブル電気通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、又は通信可能であり、本明細書に記載される動作を実行するために十分なプロセッサ電力及びメモリ容量を有する、任意の他のタイプ及び/若しくは形態のコンピューティング、電気通信、若しくはメディアデバイスであってもよい。いくつかの実施形態では、コンピューティングデバイス400は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有してもよい。
他の実施形態では、コンピューティングデバイス400は、モバイルデバイスである。例としては、Java対応移動電話若しくはパーソナルデジタルアシスタント(PDA)、スマートフォン、デジタルオーディオプレーヤ、又はポータブルメディアプレーヤが挙げられ得る。一実施形態では、コンピューティングデバイス400としては、デジタルオーディオプレーヤ又はポータブルメディアプレーヤと組み合わされた携帯電話など、デバイスの組み合わせが挙げられる。
コンピューティングデバイス400は、ネットワークによって接続された複数のマシンのうちの1つであってもよく、又はそのように接続された複数のマシンを含んでもよい。ネットワーク環境としては、1つ以上のネットワークを介して1つ以上のリモートマシン(概してサーバマシン又はリモートマシンとも称され得る)と通信する1つ以上のローカルマシン、クライアントノード、クライアントマシン、クライアントコンピュータ、クライアントデバイス、エンドポイント、又はエンドポイントノードが挙げられ得る。一実施形態では、ローカルマシンは、サーバマシンによって提供されるリソースへのアクセスを求めるクライアントノード、及び他のクライアントのためのホスト型リソースへのアクセスを提供するサーバマシンの両方として機能する能力を有する。ネットワークは、LAN若しくはWANリンク、ブロードバンド接続、無線接続、又は上記のいずれか若しくは全ての組み合わせであってもよい。接続は、様々な通信プロトコルを使用して確立され得る。一実施形態では、コンピューティングデバイス400は、セキュアソケットレイヤ(SSL)又はトランスポート層セキュリティ(TLS)など、任意のタイプ及び/若しくは形態のゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス400と通信する。ネットワークインターフェースとしては、コンピューティングデバイスを通信可能な任意のタイプのネットワークにインターフェースし、本明細書に記載される動作を実行するのに好適な、ネットワークインターフェースカードなどの内蔵ネットワークアダプタが挙げられ得る。I/Oデバイスは、システムバスと外部通信バスとの間のブリッジであってもよい。
一実施形態では、ネットワーク環境は、ネットワークの様々な構成要素が仮想化される仮想ネットワーク環境であってもよい。例えば、各種マシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであってもよい。仮想マシンは、同じオペレーティングシステムを共有してもよい。他の実施形態では、異なるオペレーティングシステムが各仮想マシンインスタンス上で実行されてもよい。一実施形態では、複数の仮想マシンが同じホスト物理マシン上で実行され、それ自体の専用ボックスを有するかのように各々機能する「ハイパーバイザ」タイプの仮想化が実装される。仮想マシンはまた、異なるホスト物理マシン上で実行されてもよい。
例えば、ネットワーク(例えば、ソフトウェア定義ネットワーク(Software Defined Networking:SDN)を介して)など、他のタイプの仮想化も想到される。セッション境界コントローラの機能及び他のタイプの機能などの機能もまた、例えば、ネットワーク機能仮想化(Network Functions Virtualization:NFV)などを介して仮想化されてもよい。
本発明は、図面及び前述の説明において詳細に例示及び記載されてきたが、これは限定的な特性ではなく、例示的なものと見なされるべきであり、好ましい実施形態のみが示され、記載されていること、並びに本明細書及び/又は以下の特許請求の範囲によって記載されるように本発明の趣旨に含まれる全ての等価物、変更、及び修正は保護されることが望ましいことが理解される。
したがって、本発明の適切な範囲は、かかる全ての修正、並びに図面に例示され、本明細書に記載されるものに等しい全ての関係を包含するように、添付の特許請求の範囲の最も広い解釈によってのみ決定されるべきである。

Claims (23)

  1. クラウドベースのリモートコンピューティング環境を介して、プレミスベースの顧客経験プラットフォーム製品にウィジェットを配信するための方法であって、
    前記プレミスベースの顧客経験プラットフォーム製品に接続されたデバイス上に提供されたユーザインターフェースを介して、ユーザによって、ウィジェットを作成及び保存することと、
    固有のIDを生成し、かつ前記プレミスベースの顧客経験プラットフォーム製品のサブシステム内に、平坦化されたJSON(JavaScript Object Notation)オブジェクトとして、前記ウィジェットの構成を格納することと、
    前記ウィジェットに関連付けられたJavaScriptスニペットを、HTML(ハイパーテキストマークアップ言語)スクリプトタグとして生成することと、
    前記ウィジェットに関連付けられた前記JavaScriptスニペットを、ウェブサイト内のページに適用することと、
    前記ウィジェットの実装をロードすることであって、未認証の登録要求が、前記JavaScriptスニペットにおいて指定されたサーバに送信される、ロードすることと、
    構成オブジェクトを、前記ウィジェットにコンテキストを提供することが予想されるJSON構成オブジェクトに変換し、かつ前記コンテキストを前記ウィジェットに投入することと、を含む、方法。
  2. 前記HTMLスクリプトタグが、前記ウィジェットに対する固有のID及びサーバ属性を含む、請求項1に記載のスクリプトタグ。
  3. 前記HTMLスクリプトタグが、共通の静的スクリプトを含む、請求項1に記載のスクリプトタグ。
  4. 前記ウィジェットが、拡張を更に含む、請求項1に記載の方法。
  5. 構成オブジェクトを、前記ウィジェットにコンテキストを提供することが予想されるJSON構成オブジェクトに変換し、前記コンテキストを前記ウィジェットに投入するステップが、多重化API(Application Programming Interface、アプリケーションプログラミングインターフェース)を利用することを更に含み、投入に対する任意の入力フィールドが、ハンドラに対するJSON入力として使用される、請求項4に記載の方法。
  6. 前記多重化APIが、REST(Representational State Transfer、表現状態送信)エンドポイントを含む、請求項5に記載の方法。
  7. 前記JSON入力を呼び出すことは、REST要求が前記サーバに送信されることをトリガする、請求項6に記載の方法。
  8. 前記ハンドラが、統合点としての役割を果たす、請求項7に記載の方法。
  9. クラウドベースのリモートコンピューティング環境を介して、プレミスベースの顧客経験プラットフォーム製品にウィジェットを配信するための方法であって、
    前記プレミスベースの顧客経験プラットフォーム製品に接続されたデバイス上に提供されたユーザインターフェースを介して、ユーザによって、複数のウィジェットインスタンスを作成及び保存することと、
    前記ユーザによって、前記複数のウィジェットインスタンスの第1のインスタンスを選択することと、
    固有のIDを生成し、かつ前記プレミスベースの顧客経験プラットフォーム製品のサブシステム内に、平坦化されたJSON(JavaScript Object Notation)オブジェクトとして、前記第1のインスタンスの構成を格納することと、
    前記ユーザインターフェースを介して、前記第1のインスタンスのスクリプトタグを生成することと、
    前記ユーザのウェブサイトのページに、前記生成されたスクリプトタグをインストールすることと、
    前記第1のウィジェットインスタンスの実装をロードすることであって、未認証の登録要求が、前記スクリプトタグにおいて指定されたサーバに送信される、ロードすることと、
    前記プレミスベースの顧客経験プラットフォーム製品内のウィジェットアーキテクチャによって、構成オブジェクトを、前記ユーザのウィジェットインスタンスにコンテキストを提供することが予想されるJSON構成オブジェクトに変換することと、
    前記第1のインスタンスに前記コンテキストを投入することと、を含む、方法。
  10. 前記複数のウィジェットインスタンスの各々が、関連付けられた拡張を有する、請求項9に記載の方法。
  11. 前記拡張が、カスタム拡張及びビルトイン拡張のうちの少なくとも1つである、請求項10に記載の方法。
  12. 前記カスタム拡張又はビルトイン拡張が、前記ユーザによってホストされ、構成インスタンスによって参照される、請求項11に記載の方法。
  13. 前記拡張及び関連付けられた構成はクラウドベースであり、プレミスベースの顧客経験プラットフォーム製品に対して動的に現れる、請求項10に記載の方法。
  14. 前記ユーザインターフェースが、特性及び機能のための機能トグルとして作用するフィールドを含む、請求項9に記載の方法。
  15. 前記フィールドが、ユーザ許可に基づいて利用可能である、請求項14に記載の方法。
  16. 前記スクリプトタグが、共通の静的スクリプトを含む、請求項9に記載の方法。
  17. 前記スクリプトタグが、ロード時に復号化される符号化スクリプトを含む、請求項9に記載の方法。
  18. 前記スクリプトタグが、前記ウィジェットに対する固有のID及びサーバ属性を含む、請求項9に記載の方法。
  19. 前記ウィジェットへの任意の変更が、前記プレミスベースの顧客経験プラットフォーム製品への前記クラウドを介して、動的かつ連続的に実施される、請求項9に記載の方法。
  20. 前記プレミスベースの顧客経験プラットフォーム製品内のウィジェットアーキテクチャによって、構成オブジェクトを、前記ユーザのウィジェットにコンテキストを提供することが予想されるJSON構成オブジェクトに変換するステップが、多重化API(Application Programming Interface、アプリケーションプログラミングインターフェース)を利用することを更に含み、投入に対する任意の入力フィールドが、ハンドラに対するJSON入力として使用される、請求項9に記載の方法。
  21. 前記多重化APIが、REST(Representation State Transfer、表現状態転送)エンドポイントを含む、請求項20に記載の方法。
  22. 前記JSON入力を呼び出すことは、REST要求が前記多重化APIを使用して前記サーバに送信されることをトリガする、請求項21に記載の方法。
  23. 前記ハンドラが、前記ハンドラと前記第1のインスタンスとの間の積分点としての役割を果たす、請求項22に記載の方法。
JP2021535989A 2018-12-21 2019-12-19 モジュール式ツールを配信するためのシステム及び方法 Active JP7291789B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/229,027 2018-12-21
US16/229,027 US10747407B2 (en) 2018-12-21 2018-12-21 System and method for delivering modular tools
PCT/US2019/067552 WO2020132286A1 (en) 2018-12-21 2019-12-19 System and method for delivering modular tools

Publications (2)

Publication Number Publication Date
JP2022515182A true JP2022515182A (ja) 2022-02-17
JP7291789B2 JP7291789B2 (ja) 2023-06-15

Family

ID=71097175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021535989A Active JP7291789B2 (ja) 2018-12-21 2019-12-19 モジュール式ツールを配信するためのシステム及び方法

Country Status (8)

Country Link
US (2) US10747407B2 (ja)
EP (1) EP3899705B1 (ja)
JP (1) JP7291789B2 (ja)
CN (1) CN113196218B (ja)
AU (1) AU2019405930A1 (ja)
BR (1) BR112021011877A2 (ja)
CA (1) CA3157110A1 (ja)
WO (1) WO2020132286A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984259A (zh) * 2020-07-10 2020-11-24 浙江大搜车软件技术有限公司 界面创建方法、装置、设备及存储介质
US11789707B2 (en) * 2021-01-13 2023-10-17 Yulin Yin Tool for creating forms in webpage
US11562092B1 (en) * 2021-12-07 2023-01-24 Cloudflare, Inc. Loading and managing third-party tools on a website

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010170553A (ja) * 2009-01-23 2010-08-05 Samsung Electronics Co Ltd コミュニティ・ウィジェット提供方法及びその装置
US20120110482A1 (en) * 2009-07-20 2012-05-03 Huawei Technologies Co., Ltd. Method and apparatus for generating widget

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000230B1 (en) * 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US20140020068A1 (en) * 2005-10-06 2014-01-16 C-Sam, Inc. Limiting widget access of wallet, device, client applications, and network resources while providing access to issuer-specific and/or widget-specific issuer security domains in a multi-domain ecosystem for secure personalized transactions
US20170070361A1 (en) * 2008-08-11 2017-03-09 Ken Sundermeyer Data model for home automation
US8990289B2 (en) * 2009-02-27 2015-03-24 Oracle America, Inc. Server based framework for improving Ajax performance
US20100251143A1 (en) * 2009-03-27 2010-09-30 The Ransom Group, Inc. Method, system and computer program for creating and editing a website
US20110061002A1 (en) * 2009-08-25 2011-03-10 Bethune David System and method for sending various application programming interfaces to a customized user interface
WO2011116248A1 (en) * 2010-03-17 2011-09-22 Siamak Farah A cloud-based desktop and subscription application platform apparatuses, methods and systems
US9183653B2 (en) * 2010-12-14 2015-11-10 Microsoft Technology Licensing, Llc Extensions for modifying a graphical object to display data
US10318941B2 (en) * 2011-12-13 2019-06-11 Visa International Service Association Payment platform interface widget generation apparatuses, methods and systems
US20130096980A1 (en) * 2011-10-18 2013-04-18 Mcafee, Inc. User-defined countermeasures
EP2923254B1 (en) * 2012-11-21 2020-04-08 Greeneden U.S. Holdings II, LLC Graphical user interface for monitoring and visualizing contact center routing strategies
US20140310590A1 (en) * 2013-03-13 2014-10-16 Bby Solutions, Inc. Presentation layer software development kit for creation of dynamic webpages
US11233841B2 (en) * 2013-03-15 2022-01-25 Yottaa, Inc. Systems and methods for configuration-based optimization by an intermediary
US10984175B2 (en) * 2013-08-09 2021-04-20 Yottaa Inc. Systems and methods for dynamically modifying a requested web page from a server for presentation at a client
CN104519096B (zh) * 2013-09-29 2018-02-06 国际商业机器公司 用于在云计算系统中部署服务的方法和系统
US9336209B1 (en) * 2013-11-25 2016-05-10 Google Inc. Collaborative use and management of modular applications
US9397993B1 (en) * 2014-01-14 2016-07-19 Google Inc. System and method for accessing modular applications
US9621428B1 (en) * 2014-04-09 2017-04-11 Cisco Technology, Inc. Multi-tiered cloud application topology modeling tool
US9811250B2 (en) * 2014-05-31 2017-11-07 Apple Inc. Device, method, and graphical user interface for displaying widgets
WO2016022693A1 (en) 2014-08-05 2016-02-11 Moxie Software, Inc. Systems and methods for client-side contextual engagement
US9875121B2 (en) * 2014-09-17 2018-01-23 International Business Machines Corporation API server
EP3278213A4 (en) * 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
WO2017019684A1 (en) * 2015-07-27 2017-02-02 Datagrid Systems, Inc. Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data
US9621418B2 (en) * 2015-09-11 2017-04-11 T-Mobile U.S.A., Inc. Automatic network node relay link configuration tool
WO2017079658A1 (en) * 2015-11-04 2017-05-11 Screening Room Media, Inc. Digital content delivery system
US10985997B2 (en) * 2016-05-06 2021-04-20 Enterpriseweb Llc Systems and methods for domain-driven design and execution of metamodels
US11537272B2 (en) * 2016-12-21 2022-12-27 Aon Global Operations Se, Singapore Branch Content management system extensions
US11080291B2 (en) * 2017-08-02 2021-08-03 Sap Se Downloading visualization data between computer systems
US10977262B2 (en) * 2017-08-02 2021-04-13 Sap Se Data export job engine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010170553A (ja) * 2009-01-23 2010-08-05 Samsung Electronics Co Ltd コミュニティ・ウィジェット提供方法及びその装置
US20120110482A1 (en) * 2009-07-20 2012-05-03 Huawei Technologies Co., Ltd. Method and apparatus for generating widget

Also Published As

Publication number Publication date
JP7291789B2 (ja) 2023-06-15
US20200201497A1 (en) 2020-06-25
EP3899705A1 (en) 2021-10-27
US10747407B2 (en) 2020-08-18
CN113196218A (zh) 2021-07-30
CN113196218B (zh) 2024-04-12
EP3899705B1 (en) 2024-02-07
BR112021011877A2 (pt) 2021-09-08
AU2019405930A1 (en) 2021-07-01
WO2020132286A1 (en) 2020-06-25
CA3157110A1 (en) 2020-06-25
US11494057B2 (en) 2022-11-08
EP3899705A4 (en) 2022-10-12
US20200341605A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US8675859B2 (en) Implementing a contact center using open standards and non-proprietary components
US10951554B1 (en) Systems and methods facilitating bot communications
US9992338B2 (en) System and method for anticipating user interaction in a customer contact center
US11494057B2 (en) System and method for delivering modular tools
AU2020257179A1 (en) A system and method for analyzing web application network performance
US20180176382A1 (en) Customer controlled interaction management
US11218594B1 (en) System and method for creating bots for automating first party touchpoints
US10033868B2 (en) System and method for anticipating and preloading data in a customer contact center
US11689662B2 (en) System and method for providing personalized context
JP2021536624A (ja) 顧客動線アプリケーションにおける負荷需要を予測する方法及びシステム
US11367029B2 (en) System and method for adaptive skill level assignments
US11743381B2 (en) System and method for adding content to contact center interactions
US20180295211A1 (en) System and method for self-deploying and self-adapting contact center components

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20210618

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210708

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20211027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230425

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: 20230530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230605

R150 Certificate of patent or registration of utility model

Ref document number: 7291789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150