IP Library Granted Patent US 11,936,760
Granted Patent B2
US 11,936,760 · App. 18/117,745 · Granted Mar 19, 2024

Method and system of generating generic protocol handlers

Inventors: John M. VanAntwerp (Normal, IL); Dan Kalmes (Bloomington, IL)
Assignee: State Farm Mutual Automobile Insurance Company
H04L69/08G06F8/20G06F8/60G06F8/70G06F11/3604G06Q10/067H04L67/56G06F3/04817G06F3/0484G06F8/10G06F8/38G06F9/5038G06Q10/0633G06Q40/123H04L67/306H04L67/535
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 11,936,760
App. No.
18/117,745
Granted
Mar 19, 2024
Kind
B2
Abstract

A method of generating generic protocol handlers includes receiving a user request in a middleware, generating a request payload by analyzing the request in a protocol handler of the middleware, transforming the request payload into a set of canonical types, transmitting the set of canonical types to a path module, receiving a response payload, transforming the response payload in a second protocol handler of the middleware, and transmitting the response to the user.

Claims (84)

1. A method, comprising:

receiving, by a processor, a request associated with a step of a workflow;

transforming, by the processor, information included in the request into data corresponding to a set of canonical types;

transmitting, by the processor, the data to a workflow component of a first computing system, the workflow component:

executing the step of the workflow based at least in part on the data, and generating a response payload associated with execution of the step, the response payload being characterized by at least one canonical type of the set of canonical types;

receiving, by the processor, the response payload from the workflow component;

generating, by a protocol handler of the processor, a response based on the response payload, the protocol handler formatting the response in accordance with a particular communication protocol of a second computing system; and

transmitting, by the processor, via a network, and in accordance with the particular communication protocol, the response to the second computing system.

2. The method of claim 1 , wherein the request includes metadata indicating at least a workflow component identification and a session identification, the method further comprising:

identifying, by the processor and based on a first communication protocol associated with the request, a first protocol handler of the processor; and

generating, by the first protocol handler and based on the metadata, a request payload associated with the request,

wherein the request payload includes the data corresponding to the set of canonical types.

3. The method of claim 2 , wherein the metadata includes information indicating a set of fields, and transforming the information comprises:

identifying, for a field of the set of fields, a transformation function configured to convert the field to a canonical type; and

generating, by applying the transformation function to the field, corresponding data of the canonical type.

4. The method of claim 1 , further comprising:

selecting, by the processor and based on the particular communication protocol of the second computing system, the protocol handler from one or more protocol handlers, each protocol handler of the one or more protocol handlers being associated with a respective communication protocol,

wherein the one or more protocol handlers include protocol handlers for one or more of: an HTTP communication protocol, an HTTPS communication protocol, an SMS communication protocol, an IVR communication protocol, and an SMTP communication protocol.

5. The method of claim 1 , further comprising:

identifying, by the processor, a port number associated with the request; and

determining, by the processor and based on the port number, a routing to the workflow component.

6. The method of claim 1 , further comprising:

identifying, by the protocol handler and by querying a database communicatively coupled to the protocol handler, client capabilities associated with the second computing system,

wherein the response is generated based on the client capabilities.

7. The method of claim 6 , further comprising:

determining, by the protocol handler, that at least a portion of the response payload is unsupported by the client capabilities; and

based on determining that at least the portion of the response payload is unsupported, at least one of degrading the response to match the client capabilities, and including an error message in the response.

8. The method of claim 7 , wherein the error message includes:

an indication that the particular communication protocol cannot be used for the step of the workflow, and

an indication of a different communication protocol that can be used for the step of the workflow.

9. The method of claim 1 , wherein the response, when executed by the second computing system, causes the second computing system to display user interface components configured to allow a user of the second computing system to interact with the step of the workflow.

10. The method of claim 1 , wherein the set of canonical types comprises at least one of:

user interface event,

person name,

address,

person identification number,

telephone number, or

account number.

11. The method of claim 1 , wherein at least one canonical type of the set of canonical types corresponds to a user interface event, the method further comprising:

transmitting, by the first computing system, the response payload to a user experience module; and

receiving, from the user experience module and based on the particular communication protocol, a modified response payload,

wherein the response is generated based on the modified response payload.

12. A computing system, comprising:

a processor; and

a non-transitory memory coupled to the processor and storing executable instructions that, when executed by the processor, cause the processor to perform operations comprising:

receiving, a request associated with a step of a workflow;

transforming information included in the request into data corresponding to a set of canonical types;

transmitting the data to a workflow component of the computing system, the workflow component:

executing the step of the workflow based at least in part on the data, and

generating a response payload associated with execution of the step, the response payload being characterized by at least one canonical type of the set of canonical types;

receiving, from the workflow component, the response payload;

generating, by a protocol handler of the processor, a response based on the response payload, the protocol handler formatting the response in accordance with a particular communication protocol of an electronic device; and

transmitting the response, via a network, and in accordance with the particular communication protocol, to the electronic device.

13. The computing system of claim 12 , wherein the request includes metadata, the operations further comprising:

determining, based on the metadata, a routing to the workflow component.

14. The computing system of claim 12 , wherein at least one canonical type of the set of canonical types corresponds to a user interface event, the operations further comprising:

transmitting the response payload to a user experience module; and

receiving, from the user experience module and based on the particular communication protocol, a modified response payload,

wherein the response is generated based on the modified response payload.

15. The computing system of claim 12 , the operations further comprising:

identifying client capabilities associated with the electronic device,

wherein the response is generated further based on the client capabilities.

16. The computing system of claim 15 , the operations further comprising:

determining, by the protocol handler, that at least a portion of the response payload is unsupported by the client capabilities; and

based on determining that at least the portion of the response payload is unsupported, modifying the response payload to match the client capabilities.

17. A system, comprising:

a means for electronic communication via a communication network;

a means for storing executable instructions;

a means for displaying a user experience (UX) component; and

a means for executing the executable instructions, the means for executing being configured to:

receive, by the means for electronic communication, a request associated with a step of a workflow;

transform information included in the request into data corresponding to a set of canonical types;

transmit the data to a workflow component, the workflow component being configured to:

execute the step of the workflow based at least in part on the data, and generate a response payload associated with execution of the step, the response payload being characterized by at least one canonical type of the set of canonical types;

receive the response payload from the workflow component;

generate, by a protocol handler associated with a particular communication protocol of the means for displaying, a response based on the response payload, a response comprising a user interface component associated with an output of the execution of the step of the workflow; and

transmit the response, by the protocol handler and via the means for electronic communication, to the means for displaying, the response being configured such that when executed by the means for displaying, causes the means for displaying to display the user interface component.

18. The system of claim 17 , wherein the means of executing being further configured to:

determine client capabilities associated with the means for displaying; and

modify, by a user experience module, the response in accordance with the client capabilities.

19. The system of claim 17 , wherein the set of canonical types comprises at least one of: a user interface event, a person name, an address, a personal identification number, a telephone number or an account number, and the means of executing being further configured to:

identify a transformation function configured to convert the information included in the request to one or more canonical types; and

generate, by applying the transformation function to the request, a request payload.

20. The system of claim 17 , wherein transforming the information included in the request is based at least in part on metadata associated with the request, the metadata including at least one of: a workflow identifier, a session identifier, a user identifier, or an indication of a desired task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2023
From: VANANTWERP, JOHN M.; KALMES, DAN
To: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
Reel/Frame 062893/0752 →
Continuity (4)
Continuation 17222221 · Apr 5, 2021
Continuation 16001643 · Jun 6, 2018
Provisional Application 62535613 · Jul 21, 2017
Related Publication 20230208943A1 · Jun 29, 2023
Cited By (2)
US 12,271,745 US 12,418,601