IP Library Granted Patent US 10,747,407
Granted Patent B2
US 10,747,407 · App. 16/229,027 · Granted Aug 18, 2020

System and method for delivering modular tools

Inventors: Christopher Carl Highman (Carmel, IN); Kyle Duke (Indianapolis, IN); Guysung Kim (Carmel, IN); Armando Luja (Fort Wayne, IN); Michael J. Weldy (Brownsburg, IN); Kevin Wiegand (Bushnell, FL)
G06F3/0484G06F9/451G06F9/54G06F40/14G06F21/629G06Q30/016H04L41/12H04L67/02H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,747,407
App. No.
16/229,027
Granted
Aug 18, 2020
Kind
B2
Abstract

A system and method are presented for delivering modular tools through a cloud-based remote computing environment. Users may create and customize extensions to the modular tools for integration with the product system without requiring change to product. Using a script tag added to a website, a user is able to install the modular tool to a website. The modular tool extensions are able to directly communicate with handlers and websites and are able to become directly integrated with a premises-based product. This may be done through a multiplexed API exposed to the modular tool extensions that directly couples them to the premises-based product. The modular tools are able to be configured in the premises-based product, however they are hosted in the cloud and as such, the premises-based product is able to receive continuous integration and deployment from the cloud.

Claims (37)

1. A method for delivering widgets through a cloud-based remote computing environment to a premises-based customer experience platform product, the method comprising:

a. creating and saving a widget by a user through a user interface provided on a device connected to the premises-based customer experience platform product;

b. generating a unique ID and storing a configuration of the widget as a flattened JSON (JavaScript Object Notation) object within a subsystem of the premises-based customer experience platform product;

c. generating a JavaScript snippet associated with the widget as an HTML (Hypertext Markup Language) script tag;

d. applying the JavaScript snippet associated with the widget to a page in a website;

e. loading implementation of the widget, where an unauthenticated registration request is sent to a server specified in the JavaScript snippet; and

f. converting a configuration object to a JSON (JavaScript Object Notation) configuration object expected to provide context to the widget and populating the widget with the context.

2. The script tag of claim 1 , wherein the HTML script tag comprises a unique ID and server attributes for the widget.

3. The script tag of claim 1 , wherein the HTML script tag comprises a common static script.

4. The method of claim 1 , wherein the widget further comprises an extension.

5. The method of claim 4 , wherein step (f) further comprises utilizing a multiplexing API (Application Programming Interface) where any input fields for population are used as JSON input for a handler.

6. The method of claim 5 , wherein the API comprises a REST Representation State Transfer) endpoint.

7. The method of claim 6 , wherein invoking the JSON input triggers a REST request to be sent to the server.

8. The method of claim 7 , wherein the handler serves as an integration point.

9. A method for delivering widgets through a cloud-based remote computing environment to a premises-based customer experience platform product, the method comprising:

a. creating and saving a plurality of widget instances by a user through a user interface provided on a device connected to the premises-based customer experience platform product;

b. selecting a first instance of the plurality of widget instances by the user;

c. generating a unique ID and storing a configuration of the first instance as a flattened JSON (JavaScript Object Notation) object within a subsystem of the premises-based customer experience platform product;

d. generating a script tag for the first instance through the user interface;

e. installing the generated script tag on a page of a website of the user;

f. loading implementation of the first widget instance, where an unauthenticated registration request is sent to a server specified in the script tag;

g. converting, by widgets architecture within the premises-based customer experience platform product, a configuration object to a JSON configuration object expected to provide context to the user's widgets instance; and

h. populating the first instance with context.

10. The method of claim 9 , wherein each of the plurality of widget instances has associated extensions.

11. The method of claim 10 , wherein the extensions are at least one of: custom and built-in.

12. The method of claim 11 , wherein the custom or built-in extensions are hosted by the user and referenced by a configuration instance.

13. The method of claim 10 , wherein the extensions and associated configurations are cloud-based and dynamically appear for the premises-based customer experience platform product.

14. The method of claim 9 , wherein the user interface comprises fields acting as feature toggles for features and functionality.

15. The method of claim 14 , wherein the fields are available based on user permissions.

16. The method of claim 9 , wherein the script tag comprises a common static script.

17. The method of claim 9 , wherein the script tag comprises encoded script that is de-coded upon loading.

18. The method of claim 9 , wherein the script tag comprises a unique ID and server attributes for the widget.

19. The method of claim 9 , wherein any changes to the widgets are performed dynamically and continuously through the cloud to the premises-based customer experience platform product.

20. The method of claim 9 , wherein step (g) further comprises utilizing a multiplexing API (Application Programming Interface) where any input fields for population are used as JSON input for a handler.

21. The method of claim 20 , wherein the multiplexing API comprises a REST (Representation State Transfer) endpoint.

22. The method of claim 21 , wherein invoking the JSON input triggers a REST request to be sent to the server using the multiplexing API.

23. The method of claim 22 , wherein the handler serves as an integration point between the handler and the first instance.

Assignments (4)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 04814/0387 Recorded Feb 5, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070115/0445 →
CHANGE OF NAME Recorded Jan 30, 2025
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 070056/0995 →
SECURITY AGREEMENT Recorded Feb 22, 2019
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.; ECHOPASS CORPORATION; GREENEDEN U.S. HOLDINGS II, LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 048414/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2019
From: HIGHMAN, CHRISTOPHER CARL; DUKE, KYLE; KIM, GUYSUNG; LUJA, ARMANDO; WELDY, MICHAEL J.; WIEGAND, KEVIN
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 048252/0186 →