CN113196218A - 用于递送模块化工具的系统和方法 - Google Patents
用于递送模块化工具的系统和方法 Download PDFInfo
- Publication number
- CN113196218A CN113196218A CN201980083839.7A CN201980083839A CN113196218A CN 113196218 A CN113196218 A CN 113196218A CN 201980083839 A CN201980083839 A CN 201980083839A CN 113196218 A CN113196218 A CN 113196218A
- Authority
- CN
- China
- Prior art keywords
- desktop applet
- premise
- user
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013515 script Methods 0.000 claims abstract description 45
- 230000010354 integration Effects 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 14
- 230000003068 static effect Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 36
- 238000004891 communication Methods 0.000 description 32
- 230000003993 interaction Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 230000002452 interceptive effect Effects 0.000 description 12
- 230000000670 limiting effect Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003997 social interaction Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/01—Customer relationship services
- G06Q30/015—Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
- G06Q30/016—After-sales
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0233—Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L41/0863—Retrieval 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5048—Automatic or semi-automatic definitions, e.g. definition templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5061—Network 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/5067—Customer-centric QoS measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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将模块化工具直接地联接到基于驻地的产品。模块化工具能够被配置在基于驻地的产品中,然而模块化工具被托管在云中,并且因此,基于驻地的产品能够从云接收连续的集成和部署。
Description
背景技术
本发明整体涉及电信系统和方法,以及模块化web组件。更具体地,本发明涉及通过基于云的远程计算环境在联络中心或企业中心中递送模块化web组件。
相关申请的交叉引用
本申请涉及并要求2018年12月21日于美国专利商标局提交的名称为“用于递送模块化工具的系统和方法(SYSTEM AND METHOD FOR DELIVERING MODULAR TOOLS)”的美国专利申请号16/229,027的权益,该专利申请的内容并入本文。
发明内容
本发明呈现了一种用于通过基于云的远程计算环境递送模块化工具的系统和方法。用户可创建和定制模块化工具的扩展以用于与产品系统集成而无需改变产品。使用添加到网站的脚本标签,用户能够将模块化工具安装到网站。模块化工具扩展能够与处理程序和网站直接地通信,并且能够与基于驻地的产品直接地集成。这可通过暴露于模块化工具扩展的复用API来完成,该复用API将模块化工具直接地联接到基于驻地的产品。模块化工具能够被配置在基于驻地的产品中,然而模块化工具被托管在云中,并且因此,基于驻地的产品能够从云接收连续的集成和部署。
在一个实施方案中,呈现了用于通过基于云的远程计算环境将桌面小程序递送到基于驻地的客户体验平台产品的方法,该方法包括:由用户通过连接到基于驻地的客户体验平台产品的设备上提供的用户界面来创建和保存桌面小程序;生成唯一ID并且将桌面小程序的配置作为展平JSON对象存储在基于驻地的客户体验平台产品的子系统内;生成与桌面小程序相关联的JavaScript片段作为HTML(超文本标记语言)脚本标签;将与桌面小程序相关联的片段应用于网站中的页面;加载桌面小程序的具体实施,其中将未认证的注册请求发送到该片段中指定的服务器;以及将配置对象转换为预期向桌面小程序提供上下文并且用上下文填充桌面小程序的JSON配置对象。
脚本标签可包括桌面小程序的唯一ID和服务器属性。脚本标签还可包括通用静态脚本。
在桌面小程序包括扩展的情况下,将配置对象转换为预期向桌面小程序提供上下文并且用上下文填充桌面小程序的JSON配置对象包括利用具有REST端点的复用API,其中用于填充的任何输入字段都被用作用于处理程序的JSON输入。调用JSON输入触发将发送到服务器的REST请求。处理程序用作集成点。
在另一个实施方案中,呈现了用于通过基于云的远程计算环境将桌面小程序递送到基于驻地的客户体验平台产品的方法,该方法包括:由用户通过连接到基于驻地的客户体验平台产品的设备上提供的用户界面来创建和保存多个桌面小程序实例;由用户选择多个桌面小程序实例中的第一实例;生成唯一ID并且将第一实例的配置作为展平JSON对象存储在基于驻地的客户体验平台产品的子系统内;通过用户界面生成第一实例的脚本标签;将所生成的脚本标签安装在用户的网站的页面上;加载第一桌面小程序实例的具体实施,其中将未认证的注册请求发送到脚本标签中指定的服务器;由基于驻地的客户体验平台产品内的桌面小程序架构将配置对象转换为预期向用户的桌面小程序实例提供上下文的JSON配置对象;以及用上下文填充第一实例。
在多个桌面小程序实例中的每个桌面小程序实例具有相关联的扩展的情况下,扩展可以是定制或内置的。定制扩展可由用户托管并且由配置实例引用。扩展和相关联的配置可以是基于云的,并且针对基于驻地的客户体验平台产品动态地显现。
用户界面包括充当用于特征和功能的特征切换的字段。字段是基于用户许可可用的。
脚本标签包括通用静态脚本。脚本标签可在加载时进行编码和解码。脚本标签包括用于桌面小程序的唯一ID和服务器属性。
通过云将任何更新或改变动态地且连续地执行到基于驻地的客户体验平台产品。
附图说明
图1是示出通信基础结构的实施方案的图示。
图2是示出了桌面小程序架构的实施方案的图示。
图3是示出用于桌面小程序的配置和部署过程的实施方案的流程图。
图4A是示出计算设备的实施方案的图示。
图4B是示出计算设备的实施方案的图示。
具体实施方式
出于促进对本发明的原理的理解的目的,现在将参考附图中示出的实施方案,并且将使用特定语言来描述这些实施方案。然而,应当理解,并不旨在据此限制本发明的范围。如本发明所涉及的领域的技术人员通常想到的,设想了所描述的实施方案中的任何更改和进一步修改以及如本文所述的本发明的原理的任何进一步应用。
在计算意义上,桌面小程序包括使得用户能够执行功能或访问服务的应用,或者界面的组件。传统上,桌面小程序可被配置在网站上。用户需要上载JavaScript文件,该JavaScript文件内包括了用户自身的权限,并且这是非常手动的过程。如果在其联络中心或企业平台内利用桌面小程序的联络中心或企业需要进行改变,则需要开发人员或IT管理员。这在必须进行快速改变的情况下是不切实际的,诸如高容量时期,仅举一个非限制性示例。在一个实施方案中,联络中心或企业平台管理员能够指定联络中心楼层上的人(诸如监管员),以立即对桌面小程序做出改变。例如,监管员可改变处理分配的工作组而无需牵涉IT管理员,并且由此缓解工作组的积压。一般来讲,管理权可被委托。
在一个实施方案中,桌面小程序(或者,另选地,模块化工具)可被托管在基于云的平台(例如,Genesys电信实验室公司(Genesys Telecommunications Laboratories,Inc.)的平台、Amazon Web Services、Azure、私有云等)中并且与基于驻地的平台无缝地通信。该基于驻地的平台可在联络中心或企业环境中运行。在一个实施方案中,基于驻地的平台包括一体式多通道通信解决方案,诸如Genesys电信实验室公司的PureConnect平台,仅举一个非限制性示例。在一个实施方案中,在云与驻地之间的通信通过复用方法进行,该复用方法应用于基于web的模块化工具的上下文,以用于实现多个动作的目的。这些模块化工具具有在不需要任何产品改变的情况下在基于驻地的平台的服务器级上触发自动化的可扩展性。可使用交互设计器或允许用户对新交互过程建模并定制现有交互过程的任何客户端侧应用。这些模型在设计者的广告处理程序、描述处理器在特定事件发生在网络中时应当如何的软件程序中表示。交互设计器是图形应用生成器。使用程序诸如交互设计器,可编写控制在基于驻地的平台内的各种交互处理行为的程序(或处理程序)。用于本文所述的桌面小程序的系统的实施方案的方法寻求以指定的方式进行通信,使得用户可利用允许桌面小程序和服务器两者彼此无缝地对话的网络接口。因此,用户(运行联络中心或企业平台的用户)不必担心更新桌面小程序文件。
在一个实施方案中,桌面小程序包括能够被直接地部署到网站上的模块化web组件。这些模块化web组件允许诸如即时聊天、回叫、上下文帮助等服务,仅举几个非限制性示例。桌面小程序还可包括应用编程接口(API)的允许诸如网上聊天、回叫和协同浏览等功能的扩展。扩展可包括创建并添加到桌面小程序的插件。扩展也可被托管在云中或用户可决定的任何地方。扩展可由系统用户构建以支持任何数量的独特功能,其中具有桌面小程序界面是理想的。例如,在一个实施方案中,桌面小程序可以是简化且轻量的元素,其可被添加到企业网站以支持像用代理聊天的活动。桌面小程序的扩展赋予利用基于驻地的平台的自动化工具的能力。在另一个实施方案中,桌面小程序可包括基于JavaScrip的、云托管的和云配置的扩展,其在连续地集成和部署的发布模型下将特定API实现到基于驻地的客户体验平台产品(诸如Genesys电信实验室公司的PureConnect平台)。在另一个实施方案中,这也可应用于基于云的平台产品。
联络中心系统
图1是示出大体以100指示的通信基础结构的实施方案的图示。例如,图1示出了用于支持联络中心来提供联络中心服务的系统。联络中心可以是商业或企业的内部设施以用于服务企业来执行相对于通过企业可提供的产品和服务的销售和服务的功能。另一方面,联络中心可由第三方服务提供方操作。在一个实施方案中,联络中心可作为混合系统操作,其中联络中心系统的一些组件被托管在联络中心驻地处,并且其他组件被远程托管(例如,在基于云的环境中)。联络中心可部署在专用于企业或第三方服务提供方的设备上,和/或部署在远程计算环境(诸如,例如具有用于支持多个企业的多个联络中心的基础结构的私有或公共云环境)中。联络中心系统的各种组件也可分布在各种地理位置和计算环境上,并且不一定被包含在单个位置、计算环境或甚至计算设备中。
大体以100指示的通信基础结构的组件包括:多个最终用户设备105A、105B、105C;通信网络110;交换机/媒体网关115;呼叫控制器120;IMR服务器125;路由服务器130;存储设备135;统计服务器140;多个代理设备145A、145B、145C,包括工作箱(workbin)146A、146B、146C;管理员/监管员设备145D;多媒体/社交媒体服务器150;web服务器155;iXn服务器160;UCS 165;报告服务器170;以及媒体服务175。
在一个实施方案中,联络中心系统管理资源(例如,人员、计算机、电信设备等),以使得能够经由电话或其他通信机构递送服务。此类服务可根据联络中心的类型而变化,并且可涵盖从客户服务到服务台、紧急响应、远程营销、接受订单等的范围。
期望从联络中心接收服务的客户、潜在客户或其他最终用户(统称为客户或最终用户)可经由最终用户设备105A、105B和105C(统称为105)发起到联络中心的入站通信(例如,电话呼叫、电子邮件、聊天等)。最终用户设备105中的每个最终用户设备可以是本领域中常规的通信设备,诸如电话、无线电话、智能电话、个人计算机、电子平板电脑、膝上型电脑等,仅举一些非限制性示例。操作最终用户设备105的用户可发起、管理和响应于电话呼叫、电子邮件、聊天、文本消息、web浏览会话和其他多媒体事务处理。虽然为了简单起见,在100处示出了三个最终用户设备105,但是可存在任何数量的最终用户设备。
去往和来自最终用户设备105的入站通信和出站通信可根据正在使用的设备的类型来遍历网络110。网络110可包括电话、蜂窝和/或数据服务的通信网络,并且还可包括专用或公共交换电话网络(PSTN)、局域网(LAN)、专用广域网(WAN)和/或公共WAN,诸如互联网,仅举一个非限制性示例。网络110还可包括无线运营商网络,该无线运营商网络包括码分多址(CDMA)网络、全球移动通信系统(GSM)网络或本领域中常规的任何无线网络/技术,包括但不限于3G、4G、LTE等。
在一个实施方案中,联络中心系统包括联接到网络110的交换机/媒体网关115,以用于在最终用户与联络中心之间接收和传输电话呼叫。交换机/媒体网关115可包括被配置为用作用于在中心内的代理级路由的中心交换机的电话交换机或通信交换机。交换机可以是硬件交换机系统或经由软件实现的软交换机。例如,交换机115可包括自动呼叫分配器、专用交换分机(PBX)、基于IP的软交换机和/或被配置为从客户接收源自互联网的交互和/或源自电话网络的交互并且将那些交互路由到例如代理电话或通信设备的具有专用硬件和软件的任何其他交换机。在该示例中,交换机/媒体网关通过例如在客户的电话设备与代理电话设备之间建立连接来在呼叫客户与代理电话设备之间建立语音路径/连接(未示出)。
在一个实施方案中,交换机联接到呼叫控制器120,该呼叫控制器可例如用作在交换机与联络中心的路由、监视和其他通信处理组件的其余部分之间的适配器或接口。呼叫控制器120可被配置为处理PSTN呼叫、VoIP呼叫等。例如,呼叫控制器120可被配置有用于与交换机/媒体网关和联络中心装备介接的计算机电话集成(CTI)软件。在一个实施方案中,呼叫控制器120可包括用于处理SIP呼叫的会话发起协议(SIP)服务器。呼叫控制器120还可提取关于客户交互的数据,诸如呼叫方的电话号码(例如,自动号码识别(ANI)号码)、客户的互联网协议(IP)地址或电子邮件地址,并且在处理交互时与系统100的其他组件通信。
在一个实施方案中,系统100还包括交互式媒体响应(IMR)服务器125。IMR服务器125也可称为自助系统、虚拟助理等。IMR服务器125可类似于交互式语音响应(IVR)服务器,不同的是IMR服务器125不限于语音,而是还可覆盖多种媒体通道。在说明语音的示例中,IMR服务器125可被配置有IMR脚本,以用于向客户查询其需要。例如,银行的联络中心可经由IMR脚本告知客户如果他们希望检索他们的账户余额,则“请按1”。通过继续与IMR服务器125交互,客户可无需与代理说话就能够完成服务。IMR服务器125还可询问开放式问题,诸如“我能为您做些什么?”,并且客户可说出或以其他方式输入联系联络中心的原因。可由路由服务器130使用客户的响应来将呼叫或通信路由到适当联络中心资源。
如果通信要路由到代理,则呼叫控制器120与路由服务器(也称为编排服务器)130交互以找到用于处理交互的适当代理。对用于路由入站交互的适当代理的选择可基于例如路由服务器130所采用的路由策略,并且还基于关于代理可用性、技能和例如由统计服务器140提供的其他路由参数的信息。
在一个实施方案中,路由服务器130可查询客户数据库,该客户数据库存储关于现有客户端的信息,诸如联系人信息、服务级协议(SLA)要求、先前客户联系人的性质以及联络中心所采取的用于解决任何客户问题的动作等。数据库可以是例如Cassandra或任何NoSQL数据库,并且可被存储在大容量存储设备135中。数据库也可以是SQL数据库,并且可由任何数据库管理系统管理,所述数据库管理系统诸如,例如Oracle、IBM DB2、MicrosoftSQL服务器、Microsoft Access、PostgreSQL等,仅举几个非限制性示例。路由服务器130可经由ANI或由IMR服务器125收集的任何其他信息从客户数据库查询客户信息。
一旦适当代理被识别为可用于处理通信,就可在客户与所识别的代理的代理设备145A、145B和/或145C(统称为145)之间建立连接。虽然为了简单起见,图1中示出了三个代理设备,但是可存在任何数量的设备。也可存在管理员/监管员设备145D。管理员/监管员设备145D可由联络中心中管理代理的管理员或监管员控制。另外,管理员或监管员可从其设备145D配置联络中心软件平台内的设置。虽然为了简单起见,图1中示出了仅一个管理员/监管员设备145D,但是在联络中心或企业环境内可存在任何数量的管理员/监管员设备。还可将关于客户和/或客户的历史信息的所收集的信息提供给代理设备,以帮助代理更好地服务于通信,并且还可将这些信息提供给联络中心管理员/监管员设备,以用于管理联络中心。就这一点而言,每个设备145可包括适于常规的电话呼叫、VoIP呼叫等的电话。设备145还可包括用于与联络中心的一个或多个服务器通信并且执行与联络中心操作相关联的数据处理以及用于经由语音和其他多媒体通信机构与客户介接的计算机。
联络中心系统100还可包括多媒体/社交媒体服务器150,以用于进行与最终用户设备105和/或web服务器155的语音交互之外的媒体交互。媒体交互可与例如电子邮件、语音邮件(通过电子邮件的语音邮件)、聊天、视频、文本消息、网络、社交媒体、协同浏览等相关。多媒体/社交媒体服务器150可采用用于接收、处理和转发多媒体事件的本领域中常规的具有专用硬件和软件的任何IP路由器的形式。
web服务器155可包括例如用于最终用户可订阅的多种已知社交交互站点(诸如Facebook、Twitter、Instgraph等,仅举几个非限制性示例)的社交交互站点主机。在一个实施方案中,尽管web服务器155被描绘为联络中心系统100的一部分,但是web服务器也可由第三方提供和/或维持于联络中心驻地外。web服务器155还可提供在受联络中心系统100支持的企业的网页。最终用户可浏览网页并获得关于企业的产品和服务的信息。网页还可提供用于经由例如网上聊天、语音呼叫、电子邮件、web实时通信(WebRTC)等联系联络中心的机制。桌面小程序可被部署在托管在web服务器155上的网站上。
在一个实施方案中,除了实时交互之外,还可将可递延交互/活动路由到联络中心代理。可递延交互或活动可包括后台工作或可离线执行的工作,诸如对电子邮件、信件进行回复、参加培训或不需要与客户实时通信的其他活动。交互(iXn)服务器160与路由服务器130交互以选择适当代理来处理活动。一旦分配给代理,活动就可被推送给代理,或者可作为要由代理完成的任务而出现在代理的工作箱146A、146B、146C(统称146)中。代理的工作箱可经由本领域中常规的任何数据结构诸如链接列表、数组等实现。在一个实施方案中,可将工作箱146例如维持在每个代理设备145的缓冲存储器中。
在一个实施方案中,大容量存储设备135可存储与代理数据(例如,代理配置文件、计划表等)、客户数据(例如,客户配置文件)、交互数据(例如,与客户的每次交互的细节,包括但不限于:交互原因、处置数据、等待时间、处理时间等)等等相关的一个或多个数据库。在另一个实施方案中,可将数据(例如,客户配置文件数据)中的一些维持在托管于大容量存储设备135或其他地方的客户关系管理(CRM)数据库中。大容量存储设备135可采用如本领域中常规的硬盘或磁盘阵列的形式。
在一个实施方案中,联络中心系统可包括通用联系人服务器(UCS)165,该UCS被配置为检索存储在CRM数据库中的信息并指示要存储在CRM数据库中的信息。UCS 165还可被配置为便于维护客户偏好和交互历史的历史,以及捕获和存储关于来自代理的评论、客户通信历史等的数据。
联络中心系统还可包括报告服务器170,该报告服务器被配置为从由统计服务器140聚合的数据生成报告。此类报告可包括与资源状态(诸如,例如平均等待时间、弃用率、代理占用率等)有关的近实时报告或历史报告。报告可自动地生成或响应于来自请求方(例如,代理/管理员、联络中心应用程序等)的特定请求而生成。
图1的各种服务器可各自包括执行计算机程序指令并且与用于执行本文所述的各种功能的其他系统组件介接的一个或多个处理器。计算机程序指令存储在使用标准存储器设备(诸如,例如随机存取存储器(RAM))实现的存储器中。计算机程序指令还可存储在其他非暂态计算机可读介质(诸如,例如CD-ROM、闪存驱动器等)中。虽然服务器中的每个服务器的功能被描述为由特定服务器提供,但是本领域技术人员应当认识到,在不脱离本发明的实施方案的范围的情况下,各种服务器的功能可组合或集成到单个服务器中,或者特定服务器的功能可分布在一个或多个其他服务器上。
在一个实施方案中,术语“交互”和“通信”可互换地使用,并且大体是指使用任何通信通道的任何实时和非实时交互,包括但不限于电话呼叫(PSTN或VoIP呼叫)、电子邮件、语音邮件、视频、聊天、屏幕共享、文本消息、社交媒体消息、WebRTC呼叫等。
媒体服务175可提供音频和/或视频服务以支持联络中心特征,诸如用于IVR或IMR系统的提示(例如,音频文件的回放)、保持音乐、语音邮件/单方记录、多方记录(例如,音频和/或视频通话的多方记录)、语音识别、双音多频(DTMF)识别、传真、音频和视频转码、安全实时传输协议(SRTP)、音频会议、视频会议、指导(例如,对教练收听在客户与代理之间的交互的支持和对教练向代理提供评论而不使客户听到评论的支持)、呼叫分析和关键字识别。
在一个实施方案中,基于驻地的平台产品可通过呈现在代理设备145A至145C上和管理员/监管员设备145D上的用户界面(UI)提供对系统100的组件的访问和控制。图形应用生成器程序可集成在基于驻地的平台产品内,其允许用户写入控制在基于驻地的平台产品内的各种交互处理行为的程序(处理程序)。
如上所述,联络中心可作为混合系统操作,其中一些或所有组件被远程托管,诸如在基于云的环境中。为了方便起见,下面将相对于将模块化工具从基于云的环境提供到容纳在驻地的组件来描述本发明的实施方案的各方面。
桌面小程序
图2是示出大体以200指示的桌面小程序架构的实施方案的图示。大体以200指示的桌面小程序架构的组件包括:基于驻地的平台服务器205,其可包括目录服务206、会话管理器207和HttpPluginHost 208;代理工作站145A至145C、管理员/监管员工作站145D;模块化工具210;以及浏览器215。
在一个实施方案中,代理工作站145A至145C在其设备上运行联络中心软件平台,通过该联络中心软件平台,该代理工作站接收路由到代理工作站以供处理的交互。在该示例中,代理使用基于驻地的平台。基于驻地的平台客户端经由交互中心Web服务(ICWS)与位于服务器205上的HttpPluginHost 208通信。一般来讲,ICWS管理与服务器205的连接,指定认证和站设置,监控连接状态改变事件,并且相对于所连接的会话用户执行动作。ICWS包括用于web、移动和桌面客户端应用的RESTful API。服务器205还包括彼此通信的目录服务206和会话管理器207。目录服务206存储桌面小程序配置。会话管理器207还与HttPluginHost 208通信。HttpPluginHost 208经由ICWS与管理员/监管员工作站145D通信。管理员/监管员工作站145D能够从其设备处理桌面小程序210的各个方面。在一个实施方案中,监管员能够配置路由并处理桌面小程序注册管理。管理员能够配置桌面小程序UI。桌面小程序210包括托管在云服务如Amazon Web Services上的微型化JavaScript代码,例如,从而允许连续的集成和部署。桌面小程序210JavaScript被添加到具有一组桌面小程序ID和服务器的浏览器网站210。浏览器网站210可被托管在图1中的系统100的web服务器155中。
图3是示出用于桌面小程序的配置和部署过程的实施方案的流程图,其大体以300指示。在一个实施方案中,通过网站上包括的代码片段来配置和部署模块化工具。使用分布式云模型,用户可引用在递送网络上的桌面小程序的单个静态脚本。上下文和配置基于在基于驻地的平台产品内的桌面小程序架构200来动态地出现。
在操作305中,管理员创建并保存桌面小程序。为管理员在其管理员设备145D上提供UI来添加和配置新桌面小程序实例,包括具有其自身的扩展的桌面小程序实例。可在桌面小程序内配置因素,诸如主题、语言和移动设备,仅举几个非限制性示例。也可配置平台唯一的其他因素,诸如服务器名称、反向代理以及是使用HTTP还是HTTPS进行web服务器与平台服务器之间的通信。另外,桌面小程序中使用的语言可基于浏览器偏好。在另一个实施方案中,如果桌面小程序不能使用浏览器的优选语言中的任一种,则桌面小程序将使用用户选择的语言。
桌面小程序也可被配置用于不同模式。例如,用于设备的移动模式、桌面模式或两者。桌面小程序代码可检测网站访客是正在使用桌面浏览器还是移动浏览器。也可通过配置来控制插件。例如,可动态地改变可用的插件名称的列表,使得不同桌面小程序配置访问不同插件。另外,还可将定制JavaScript对象表示法(JSON)对象投入到配置中,以将配置扩展到其当前结构之外。
在一个实施方案中,内置扩展(诸如网上聊天或回叫,仅举几个非限制性示例)可用于给定桌面小程序配置。这些扩展及其配置可存留在云中(诸如在web服务器155或云托管服务上),并且针对基于驻地的平台用户动态地出现。
另外,可供任何给定用户用于配置的字段取决于授予当前用户的权限。权限的粒度以管理员/监管员级提供。其他方,诸如在联络中心环境内的开发团队,也可能能够添加扩展。定制扩展可由创建方托管并且简单地由配置实例引用。
在另一个实施方案中,所提供的UI以基于驻地的层级从云提供。可从云中的JSON文件读入选项,该JSON文件可用于以驻地级进行更新。这允许动态地且连续地并且实时地进行更新。改变可通过云以连续的方式暴露于用户,而不是周期性地提供计划更新。将控制传递到操作310,并且过程300继续。
在操作310中,生成标识(ID)并且存储配置。在一个实施方案中,一旦创建并保存了桌面小程序,就可生成唯一ID,并且将配置作为展平JSON对象存储在基于驻地的平台的目录服务206子系统内。将控制传递到操作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包括用于web、移动和桌面客户端应用的RESTful API。注册请求包含ID并且用于查询目录服务。将控制传递到操作330,并且过程300继续。
在操作330中,转换配置对象,并且填充上下文。将桌面小程序配置对象转换(通过桌面小程序架构200)为预期向用户的桌面小程序实例提供上下文的JSON配置对象。这允许针对具有单个桌面小程序版本的每个用户唯一地动态地配置桌面小程序。这与云分布模型一致。现在用上下文填充桌面小程序。
在一个实施方案中,许多扩展可本身通过桌面小程序产品而可用。这些扩展中的每个扩展要求产品级API改变,以使得桌面小程序能够与基于驻地的平台服务器205通信。定制扩展具有来自作为扩展加载的能力的价值,但是在其与平台服务器集成的能力方面没有太多价值。因此,基于驻地的平台具有用于定制扩展的复用API。任何输入字段都可用作用于处理程序的JSON输入。可创建不包含可见UI的定制扩展,并且该定制扩展简单地监视web挂钩(或给定事件)并且将该信息提供给基于驻地的平台处理程序集成。
在一个实施方案中,桌面小程序API包括用作复用通道的代表性状态传输(REST)端点。API还公开了用于定制扩展编写器用JavaScript创建其自身的“定制动作”功能的方法。当用可能包含一些JSON输入的参数调用该定制动作时,使用复用API将桌面小程序APIREST请求发送到基于驻地的平台服务器205。目的地包括充当桌面小程序的集成点的定制桌面小程序。
处理程序可被设计在产品诸如交互设计器或允许用户对新交互过程建模并定制现有交互过程的类似的客户端侧应用中。可基于所提供的输入来实现各种输入和不同途径。用户在JavaScript内为定制桌面小程序扩展定义定制动作并还在定制桌面小程序处理程序内实现该动作的能力描述了复用功能。在桌面小程序与处理程序之间提供复用层允许动作容易地进行,并且任何数量的行为可在不要求改变产品的情况下实现。
在一个实施方案中,可编写桌面小程序的扩展,这允许基于驻地的平台的开发人员从连接到基于驻地的平台并向该基于驻地的平台来回发送消息的服务器拉取配置。传统上,桌面小程序将从JavaScript文件搜索该文件中的所有选项,而不能在没有该文件的情况下与基于驻地的平台直接地通信。web开发人员和在联络中心或企业内的IT管理员将必须能够进入软件并做出这些改变。模块化工具的配置和部署简化了该方法,并且允许用户在不牵涉IT管理员或web开发人员的情况下执行工作。另外,可直接地从用户的服务器加载信息,从而允许桌面小程序能够与基于驻地的平台或基于云的平台对话/互动。
计算机系统
在一个实施方案中,所描述的附图中的各种服务器、控件、交换机、网关、引擎和/或模块(统称为服务器)中的每一者经由硬件或固件(例如,ASIC)实现,如本领域技术人员将理解。各种服务器中的每一者可以是在一个或多个计算设备(例如,图4A、图4B)中的执行计算机程序指令并且与用于执行本文所述的各种功能的其他系统组件交互的一个或多个处理器上运行的进程或线程。计算机程序指令存储在可使用标准存储器设备(诸如,例如RAM)在计算设备中实现的存储器中。计算机程序指令还可存储在其他非暂态计算机可读介质(诸如,例如CD-ROM、闪存驱动器等)中。本领域技术人员应当认识到,计算设备可经由固件(例如,专用集成电路)、硬件或者软件、固件和硬件的组合实现。本领域技术人员还应当认识到,在不脱离本发明的示例性实施方案的范围的情况下,各种计算设备的功能可组合或集成到单个计算设备中,或者特定计算设备的功能可分布在一个或多个其他计算设备上。服务器可为软件模块,其也可简称为模块。在联络中心中的该组模块可包括服务器和其他模块。
各种服务器可位于在与联络中心的代理相同的物理位置处的现场计算设备上,或者可位于非现场(或在云中)的经由网络(诸如互联网)连接到联络中心的地理上不同的位置(例如,在远程数据中心中)。此外,服务器中的一些服务器可位于在联络中心处的现场计算设备中,而其他服务器可位于非现场计算设备中,或者提供冗余功能的服务器可经由现场计算设备和非现场外计算设备两者提供,以提供更大的容错。在一些实施方案中,由位于非现场计算设备上的服务器提供的功能可通过虚拟专用网络(VPN)访问和提供,就像此类服务器在现场一样,或者可使用软件即服务(SaaS)以通过使用各种协议的互联网提供功能来提供功能,诸如通过交换使用以可扩展标记语言(XML)或JSON编码的数据。
图4A和图4B是示出可在本发明的一个实施方案中采用的计算设备的一个实施方案的图示,其大体以400指示。每个计算设备400包括CPU 405和主存储器单元410。如图4A所示,计算设备400还可包括存储设备415、可移除媒体接口420、网络接口425、输入/输出(I/O)控制器430、一个或多个显示设备435A、键盘435B和指向设备435C(例如,鼠标)。存储设备415可包括但不限于用于操作系统和软件的存储设备。如图4B所示,每个计算设备400还可包括附加任选元件,诸如存储器端口440、网桥445、一个或多个附加输入/输出设备435D、435E以及与CPU 405通信的高速缓存存储器450。输入/输出设备435A、435B、435C、435D和435E在本文中可统称为435。
CPU 405是响应于并处理从主存储器单元410获取的指令的任何逻辑电路。该CPU可例如以微处理器、微控制器或图形处理单元的形式实现在集成电路中,或者实现在现场可编程门阵列(FPGA)或专用集成电路(ASIC)中。主存储器单元410可以是能够存储数据并允许中央处理单元405直接地访问任何存储位置的一个或多个存储器芯片。如图4A所示,中央处理单元405经由系统总线455与主存储器410通信。如图4B所示,中央处理单元405还可经由存储器端口440与主存储器410直接通信。
在一个实施方案中,CPU 405可包括多个处理器,并且可提供用于同时执行指令或用于同时在多于一个数据片上执行一个指令的功能。在一个实施方案中,计算设备400可包括具有一个或多个核心的并行处理器。在一个实施方案中,计算设备400包括具有多个处理器和/或多个处理器核心的共享存储器并行设备,从而访问作为单个全局地址空间的所有可用存储器。在另一个实施方案中,计算设备400是具有多个处理器的分布式存储器并行设备,每个处理器仅访问本地存储器。计算设备400可既具有一些共享的存储器并又具有一些可仅由特定处理器或处理器子集访问的存储器。CPU 405可包括多核微处理器,该多核微处理器将两个或更多个独立处理器组合到单个封装中,例如,组合到单个集成电路(IC)中。例如,计算设备400可包括至少一个CPU 405和至少一个图形处理单元。
在一个实施方案中,CPU 405提供单指令多数据(SIMD)功能,例如,在多个数据片上同时执行单个指令。在另一个实施方案中,CPU 405中的若干处理器可提供用于在多个数据片(MIMD)上同时执行多个指令的功能。CPU 405还可在单个设备中使用SIMD和MIMD核心的任何组合。
图4B描绘了其中CPU 405经由第二总线(有时称为后端总线)与高速缓存存储器450直接地通信的实施方案。在其他实施方案中,CPU 405使用系统总线455与高速缓存存储器450通信。高速缓存存储器450通常具有比主存储器410更快的响应时间。如图4A所示,CPU405经由本地系统总线455与各种I/O设备435通信。各种总线可用作本地系统总线455,包括但不限于视频电子标准协会(VESA)局部总线(VLB)、工业标准架构(ISA)总线、扩展工业标准架构(EISA)总线、微通道架构(MCA)总线、外围组件互连(PCI)总线、PCI扩展(PCI-X)总线、PCI-Express总线或NuBus。对于其中I/O设备是显示设备435A的实施方案,CPU 405可通过高级图形端口(AGP)与显示设备435A通信。图4B示出了计算机400的实施方案,其中CPU405与I/O设备435E直接地通信。图4B还描绘了混合本地总线和直接通信的实施方案:CPU405使用本地系统总线455与I/O设备435D通信,同时与I/O设备435E直接地通信。
计算设备400中可存在多种I/O设备435。输入设备包括一个或多个键盘435B、鼠标、触控板、轨迹球、麦克风和绘图板,仅举几个非限制性示例。输出设备包括视频显示设备435A、扬声器和打印机。例如,如图4A所示的I/O控制器430可控制一个或多个I/O设备,诸如键盘435B和指向设备435C(例如,鼠标或光学笔)。
再次参考图4A,计算设备400可支持一个或多个可移除媒体接口420,诸如软盘驱动器、CD-ROM驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB端口、安全数字或COMPACT FLASHTM存储卡端口,或者适用于从只读介质读取数据或适用于从读写介质读取数据或向读写介质写入数据的任何其他设备。I/O设备435可以是系统总线455与可移除媒体接口420之间的网桥。
可移除媒体接口420可例如用于安装软件和程序。计算设备400还可包括用于存储操作系统和其他相关软件和用于存储应用软件程序的存储设备415,诸如一个或多个硬盘驱动器或硬盘驱动器阵列。任选地,可移除媒体接口420也可用作存储设备。例如,操作系统和软件可从可引导介质(例如,可引导CD)运行。
在一个实施方案中,计算设备400可包括或连接到多个显示设备435A,每个显示设备可以是相同或不同类型和/或形式。因此,I/O设备435和/或I/O控制器430中的任一者可包括任何类型和/或形式的合适的硬件、软件或者硬件和软件的组合,以支持、启用或提供计算设备400到多个显示设备435A的连接和对该多个显示设备的使用。例如,计算设备400可包括任何类型和/或形式的视频适配器、视频卡、驱动器和/或库,以与显示设备435A介接、通信、连接,或者以其他方式使用该显示设备。在一个实施方案中,视频适配器可包括多个连接器以介接到多个显示设备435A。在另一个实施方案中,计算设备400可包括多个视频适配器,其中每个视频适配器连接到显示设备435A中的一个或多个显示设备。在其他实施方案中,显示设备435A中的一个或多个显示设备可由例如经由网络连接到例如计算设备400的一个或多个其他计算设备提供。这些实施方案可包括被设计和构造成使用另一个计算设备的显示设备作为用于计算设备400的第二显示设备435A的任何类型的软件。本领域普通技术人员将认识到并理解计算设备400可被配置为具有多个显示设备435A的各种方式和实施方案。
图4A和图4B中大体指示的计算设备的实施方案可在操作系统的控制下操作,该操作系统控制对任务的调度和对系统资源的访问。计算设备400可运行任何操作系统、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、用于移动计算设备的任何操作系统,或者能够在计算设备上运行并执行本文所述的操作的任何其他操作系统。
计算设备400可以是任何工作站、台式计算机、膝上型或笔记本电脑、服务器机器、处理计算机、移动电话或其他便携式远程通信设备、媒体播放设备、游戏系统、移动计算设备,或者能够进行通信并具有足够的处理器能力和存储器容量以执行本文所述的操作的任何其他类型和/或形式的计算、电信或媒体设备。在一些实施方案中,计算设备400可具有不同处理器、操作系统和与该设备一致的输入设备。
在其他实施方案中,计算设备400是移动设备。示例可包括支持Java的蜂窝电话或个人数字助理(PDA)、智能电话、数字音频播放器或者便携式媒体播放器。在一个实施方案中,计算设备400包括设备组合,诸如与数字音频播放器或便携式媒体播放器组合的移动电话。
计算设备400可以是由网络连接的多个机器中的一者,或者其可包括如此连接的多个机器。网络环境可包括经由一个或多个网络与一个或多个远程机器(其通常也可称为服务器机器或远程机器)通信的一个或多个本地机器、客户端、客户端节点、客户端机器、客户端计算机、客户端设备、端点或端点节点。在一个实施方案中,本地机器既能用作寻求对由服务器机器提供的资源的访问的客户端节点,又能用作为其他客户端提供对托管的资源的访问的服务器机器。网络可以是LAN或WAN链路、宽带连接、无线连接,或者上述项中的任一者或全部的组合。可使用多种通信协议来建立连接。在一个实施方案中,计算设备400经由任何类型和/或形式的网关或隧道协议(诸如安全套接字层(SSL)或传输层安全(TLS))与其他计算设备400通信。网络接口可包括内置网络适配器,诸如网络接口卡,其适用于将计算设备介接到能够进行通信并执行本文所述的操作的任何类型的网络。I/O设备可以是系统总线与外部通信总线之间的网桥。
在一个实施方案中,网络环境可以是虚拟网络环境,其中网络的各种组件被虚拟化。例如,各种机器可以是被实现为在物理机器上运行的基于软件的计算机的虚拟机。虚拟机可共享相同操作系统。在其他实施方案中,可在每个虚拟机实例上运行不同操作系统。在一个实施方案中,实现了“管理程序”类型的虚拟化,其中多个虚拟机在同一主机物理机器上运行,每个虚拟机就好像是其具有自己的专用盒一样。虚拟机还可在不同主机物理机器上运行。
还可设想其他类型的虚拟化,诸如,例如网络(例如,经由软件定义的网络(SDN))。功能(诸如会话边界控制器的功能和其他类型的功能)也可被虚拟化,诸如,例如经由网络功能虚拟化(NFV)进行虚拟化。
虽然在附图和以上描述中详细地示出和描述了本发明,但是在性质上应当将其视为示例性的而非限制性的,应当理解,仅示出和描述了优选实施方案,并且期望保护落入如本文所述和/或根据以下权利要求书所述的本发明的精神内的所有等同物、改变和修改。
因此,本发明的正确范围应当仅由所附权利要求书的最广泛的解释确定,以便涵盖与附图中所示和说明书中所述的那些等同的所有此类修改以及所有关系。
Claims (23)
1.一种用于通过基于云的远程计算环境将桌面小程序递送到基于驻地的客户体验平台产品的方法,所述方法包括:
由用户通过连接到所述基于驻地的客户体验平台产品的设备上提供的用户界面来创建和保存桌面小程序;
生成唯一ID并且将所述桌面小程序的配置作为展平JSON(JavaScript对象表示法)对象存储在所述基于驻地的客户体验平台产品的子系统内;
生成与所述桌面小程序相关联的JavaScript片段作为HTML(超文本标记语言)脚本标签;
将与所述桌面小程序相关联的所述JavaScript片段应用于网站中的页面;
加载所述桌面小程序的具体实施,其中将未认证的注册请求发送到所述JavaScript片段中指定的服务器;以及
将配置对象转换为预期向所述桌面小程序提供上下文并且用所述上下文填充所述桌面小程序的JSON配置对象。
2.根据权利要求1所述的脚本标签,其中所述HTML脚本标签包括用于所述桌面小程序的唯一ID和服务器属性。
3.根据权利要求1所述的脚本标签,其中所述HTML脚本标签包括通用静态脚本。
4.根据权利要求1所述的方法,其中所述桌面小程序还包括扩展。
5.根据权利要求4所述的方法,其中将配置对象转换为预期向所述桌面小程序提供上下文并且用所述上下文填充所述桌面小程序的JSON配置对象的所述步骤还包括利用复用API(应用编程接口),其中用于填充的任何输入字段都被用作用于处理程序的JSON输入。
6.根据权利要求5所述的方法,其中所述复用API包括REST(代表性状态传输)端点。
7.根据权利要求6所述的方法,其中调用所述JSON输入触发将发送到所述服务器的REST请求。
8.根据权利要求7所述的方法,其中所述处理程序用作集成点。
9.一种用于通过基于云的远程计算环境将桌面小程序递送到基于驻地的客户体验平台产品的方法,所述方法包括:
由用户通过连接到所述基于驻地的客户体验平台产品的设备上提供的用户界面来创建和保存多个桌面小程序实例;
由所述用户选择所述多个桌面小程序实例中的第一实例;
生成唯一ID并且将所述第一实例的配置作为展平JSON(JavaScript对象表示法)对象存储在所述基于驻地的客户体验平台产品的子系统内;
通过所述用户界面生成所述第一实例的脚本标签;
将所生成的脚本标签安装在所述用户的网站的页面上;
加载所述第一桌面小程序实例的具体实施,其中将未认证的注册请求发送到所述脚本标签中指定的服务器;
由所述基于驻地的客户体验平台产品内的桌面小程序架构将配置对象转换为预期向所述用户的桌面小程序实例提供上下文的JSON配置对象;以及
用上下文填充所述第一实例。
10.根据权利要求9所述的方法,其中所述多个桌面小程序实例中的每个桌面小程序实例具有相关联的扩展。
11.根据权利要求10所述的方法,其中所述扩展为以下中的至少一者:定制和内置。
12.根据权利要求11所述的方法,其中所述定制或内置扩展由所述用户托管并且由配置实例引用。
13.根据权利要求10所述的方法,其中所述扩展和相关联的配置是基于云的,并且针对所述基于驻地的客户体验平台产品动态地显现。
14.根据权利要求9所述的方法,其中所述用户界面包括充当用于特征和功能的特征切换的字段。
15.根据权利要求14所述的方法,其中所述字段是基于用户许可可用的。
16.根据权利要求9所述的方法,其中所述脚本标签包括通用静态脚本。
17.根据权利要求9所述的方法,其中所述脚本标签包括在加载时进行解码的编码脚本。
18.根据权利要求9所述的方法,其中所述脚本标签包括用于所述桌面小程序的唯一ID和服务器属性。
19.根据权利要求9所述的方法,其中通过所述云将对所述桌面小程序的任何改变动态地且连续地执行到所述基于驻地的客户体验平台产品。
20.根据权利要求9所述的方法,其中由所述基于驻地的客户体验平台产品内的桌面小程序架构将配置对象转换为预期向所述用户的桌面小程序实例提供上下文的JSON配置对象的所述步骤还包括利用复用API(应用编程接口),其中用于填充的任何输入字段都被用作用于处理程序的JSON输入。
21.根据权利要求20所述的方法,其中所述复用API包括REST(代表性状态传输)端点。
22.根据权利要求21所述的方法,其中调用所述JSON输入触发将使用所述复用API发送到所述服务器的REST请求。
23.根据权利要求22所述的方法,其中所述处理程序用作在所述处理程序与所述第一实例之间的集成点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/229,027 US10747407B2 (en) | 2018-12-21 | 2018-12-21 | System and method for delivering modular tools |
US16/229,027 | 2018-12-21 | ||
PCT/US2019/067552 WO2020132286A1 (en) | 2018-12-21 | 2019-12-19 | System and method for delivering modular tools |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113196218A true CN113196218A (zh) | 2021-07-30 |
CN113196218B CN113196218B (zh) | 2024-04-12 |
Family
ID=71097175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980083839.7A Active CN113196218B (zh) | 2018-12-21 | 2019-12-19 | 用于递送模块化工具的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10747407B2 (zh) |
EP (2) | EP3899705B1 (zh) |
JP (1) | JP7291789B2 (zh) |
CN (1) | CN113196218B (zh) |
AU (1) | AU2019405930B2 (zh) |
BR (1) | BR112021011877A2 (zh) |
CA (1) | CA3157110A1 (zh) |
WO (1) | WO2020132286A1 (zh) |
Families Citing this family (3)
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 (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100251143A1 (en) * | 2009-03-27 | 2010-09-30 | The Ransom Group, Inc. | Method, system and computer program for creating and editing a website |
CN102426532A (zh) * | 2000-06-21 | 2012-04-25 | 微软公司 | 基于网络的软件扩展 |
US20130096980A1 (en) * | 2011-10-18 | 2013-04-18 | Mcafee, Inc. | User-defined countermeasures |
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 |
US20140052617A1 (en) * | 2011-12-13 | 2014-02-20 | Visa International Service Association | Payment platform interface widget generation apparatuses, methods and systems |
WO2014081986A1 (en) * | 2012-11-21 | 2014-05-30 | Genesys Telecommunications Laboratories, Inc. | Graphical user interface for monitoring and visualizing contact center routing strategies |
US20140281918A1 (en) * | 2013-03-15 | 2014-09-18 | Yottaa Inc. | Systems and methods for configuration-based optimization by an intermediary |
US20150046789A1 (en) * | 2013-08-09 | 2015-02-12 | Yottaa Inc. | Systems and methods for dynamically modifying a requested web page from a server for presentation at a client |
US20150095482A1 (en) * | 2013-09-29 | 2015-04-02 | International Business Machines Corporation | Method and System for Deploying Service in a Cloud Computing System |
US20150346957A1 (en) * | 2014-05-31 | 2015-12-03 | Apple Inc. | Device, Method, and Graphical User Interface for Displaying Widgets |
US20160044083A1 (en) * | 2014-08-05 | 2016-02-11 | Moxie Software, Inc. | Systems and methods for client-side contextual engagement |
US20160077897A1 (en) * | 2014-09-17 | 2016-03-17 | StrongLoop, Inc | Codeless Generation of APIs |
US9336209B1 (en) * | 2013-11-25 | 2016-05-10 | Google Inc. | Collaborative use and management of modular applications |
US20170070361A1 (en) * | 2008-08-11 | 2017-03-09 | Ken Sundermeyer | Data model for home automation |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100086677A (ko) * | 2009-01-23 | 2010-08-02 | 삼성전자주식회사 | 커뮤니티 위젯 제공 방법 및 장치 |
US8990289B2 (en) * | 2009-02-27 | 2015-03-24 | Oracle America, Inc. | Server based framework for improving Ajax performance |
CN101957749A (zh) * | 2009-07-20 | 2011-01-26 | 华为技术有限公司 | 一种生成widget的方法及装置 |
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 |
US20140310590A1 (en) * | 2013-03-13 | 2014-10-16 | Bby Solutions, Inc. | Presentation layer software development kit for creation of dynamic webpages |
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 |
CA3001304C (en) * | 2015-06-05 | 2021-10-19 | C3 Iot, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
US10142204B2 (en) * | 2015-07-27 | 2018-11-27 | 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 |
US9881140B2 (en) * | 2015-11-04 | 2018-01-30 | Screening Room Media, Inc. | Presenting sonic signals to prevent digital content misuse |
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 |
-
2018
- 2018-12-21 US US16/229,027 patent/US10747407B2/en active Active
-
2019
- 2019-12-19 EP EP19901147.9A patent/EP3899705B1/en active Active
- 2019-12-19 EP EP23220108.7A patent/EP4398082A1/en active Pending
- 2019-12-19 BR BR112021011877-2A patent/BR112021011877A2/pt unknown
- 2019-12-19 CA CA3157110A patent/CA3157110A1/en active Pending
- 2019-12-19 CN CN201980083839.7A patent/CN113196218B/zh active Active
- 2019-12-19 JP JP2021535989A patent/JP7291789B2/ja active Active
- 2019-12-19 AU AU2019405930A patent/AU2019405930B2/en active Active
- 2019-12-19 WO PCT/US2019/067552 patent/WO2020132286A1/en active Search and Examination
-
2020
- 2020-07-09 US US16/924,881 patent/US11494057B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426532A (zh) * | 2000-06-21 | 2012-04-25 | 微软公司 | 基于网络的软件扩展 |
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 |
US20100251143A1 (en) * | 2009-03-27 | 2010-09-30 | The Ransom Group, Inc. | Method, system and computer program for creating and editing a website |
US20130096980A1 (en) * | 2011-10-18 | 2013-04-18 | Mcafee, Inc. | User-defined countermeasures |
US20140052617A1 (en) * | 2011-12-13 | 2014-02-20 | Visa International Service Association | Payment platform interface widget generation apparatuses, methods and systems |
WO2014081986A1 (en) * | 2012-11-21 | 2014-05-30 | Genesys Telecommunications Laboratories, Inc. | Graphical user interface for monitoring and visualizing contact center routing strategies |
US20140281918A1 (en) * | 2013-03-15 | 2014-09-18 | Yottaa Inc. | Systems and methods for configuration-based optimization by an intermediary |
US20150046789A1 (en) * | 2013-08-09 | 2015-02-12 | Yottaa Inc. | Systems and methods for dynamically modifying a requested web page from a server for presentation at a client |
US20150095482A1 (en) * | 2013-09-29 | 2015-04-02 | International Business Machines Corporation | Method and System for Deploying Service in a Cloud Computing System |
US9336209B1 (en) * | 2013-11-25 | 2016-05-10 | Google Inc. | Collaborative use and management of modular applications |
US20150346957A1 (en) * | 2014-05-31 | 2015-12-03 | Apple Inc. | Device, Method, and Graphical User Interface for Displaying Widgets |
US20160044083A1 (en) * | 2014-08-05 | 2016-02-11 | Moxie Software, Inc. | Systems and methods for client-side contextual engagement |
US20160077897A1 (en) * | 2014-09-17 | 2016-03-17 | StrongLoop, Inc | Codeless Generation of APIs |
Also Published As
Publication number | Publication date |
---|---|
EP3899705B1 (en) | 2024-02-07 |
EP3899705A1 (en) | 2021-10-27 |
US20200201497A1 (en) | 2020-06-25 |
US20200341605A1 (en) | 2020-10-29 |
CN113196218B (zh) | 2024-04-12 |
CA3157110A1 (en) | 2020-06-25 |
AU2019405930A1 (en) | 2021-07-01 |
JP2022515182A (ja) | 2022-02-17 |
BR112021011877A2 (pt) | 2021-09-08 |
US11494057B2 (en) | 2022-11-08 |
EP3899705A4 (en) | 2022-10-12 |
WO2020132286A1 (en) | 2020-06-25 |
US10747407B2 (en) | 2020-08-18 |
JP7291789B2 (ja) | 2023-06-15 |
EP4398082A1 (en) | 2024-07-10 |
AU2019405930B2 (en) | 2024-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8675859B2 (en) | Implementing a contact center using open standards and non-proprietary components | |
EP4029205B1 (en) | Systems and methods facilitating bot communications | |
US11494057B2 (en) | System and method for delivering modular tools | |
US11218594B1 (en) | System and method for creating bots for automating first party touchpoints | |
AU2019339331B2 (en) | Method and system to predict workload demand in a customer journey application | |
US11743381B2 (en) | System and method for adding content to contact center interactions | |
US11689662B2 (en) | System and method for providing personalized context | |
US11367029B2 (en) | System and method for adaptive skill level assignments | |
US20240211827A1 (en) | Technologies for facilitating near real-time communication between a user device and a back-office device | |
CN112840363B (zh) | 用于预测顾客行程应用程序中的工作负荷需求的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |