IP Library Granted Patent US 11,635,989
Granted Patent B2
US 11,635,989 · App. 17/091,452 · Granted Apr 25, 2023

Systems and methods dynamically routing an event to a component of a hybrid application

Inventors: Jean Elie Bovet (Los Angeles, CA); Adam Liechty (Vancouver, WA); Joao Henrique Pimentel Wanderley Neves (San Mateo, CA); Guo Li (San Francisco, CA); Paul Tiarks (Tinley Park, IL)
Assignee: Salesforce, Inc.
G06F9/50G06F3/04817
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,635,989
App. No.
17/091,452
Granted
Apr 25, 2023
Kind
B2
Abstract

The present disclosure is directed to dynamically routing an event to a component of a hybrid application. For example, a method may include: detecting an event from a first component of a first component type of a hybrid application; transmitting a request to execute a function associated with the event to a plurality of components, the plurality of components being a combination of components of the first component type and components of a second component type different from the first component type, the first component being different from the plurality of components; dynamically determining which component of the plurality of components to assign to execute the function, the dynamically determining being based on which components of the plurality of components are available to execute the function and one or more rules; assigning the function to the determined component; and receiving a result of the function from the determined component.

Claims (37)

1. A computer-implemented method, comprising:

detecting an event from a first component of a plurality of components of a hybrid application, wherein the first component of the plurality of components of the hybrid application corresponds to a first component type and the plurality of components of the hybrid application comprises components corresponding to a second component type different from the first component type;

determining, using an agnostic routing grammar, one or more components in the plurality of components of the hybrid application available to execute a function associated with the event at the detection of the event;

selecting, according to a rule, a second component in the available one or more components in the plurality of components of the hybrid application based on a response of the available one or more components in the plurality of components of the hybrid application to an inquiry for executing the function;

assigning the function to the second component in the available one or more components in the plurality of components of the hybrid application for execution; and

generating a graphical user interface (GUI) in response to the second component in the available one or more components in the plurality of components of the hybrid application executing the function.

2. The computer-implemented method of claim 1 , further comprising transmitting the inquiry for executing the function serially to the available one or more components in the plurality of components of the hybrid application.

3. The computer-implemented method of claim 2 , wherein the rule defines that a first component in the available one or more components in the plurality of components of the hybrid application to positively respond to the inquiry for executing the function is selected.

4. The computer-implemented method of claim 1 , further comprising transmitting the inquiry for executing the function in parallel to the available one or more components in the plurality of components of the hybrid application.

5. The computer-implemented method of claim 4 , wherein, in response to receiving positive responses from two or more components from among the available one or more components in the plurality of components of the hybrid application, the selecting comprises selecting the second component from the two or more components from among the available one or more components in the plurality of components of the hybrid application based on the rule.

6. The computer-implemented method of claim 1 , further comprising transmitting the inquiry for executing the function to the available one or more components in the plurality of components of the hybrid application for each instantiation of the function.

7. The computer-implemented method of claim 1 , further comprising maintaining a list of available components for executing the function, and updating the list of available components, wherein the first component type is a native component type or a web component type and the second component type is the web component type or the native component type.

8. A device, comprising:

a memory; and

a processor coupled to the memory and configured to:

detect an event from a first component of a plurality of components of a hybrid application, wherein the first component of the plurality of components of the hybrid application corresponds to a first component type and the plurality of components of the hybrid application comprises components corresponding to a second component type different from the first component type;

determine, using an agnostic routing grammar, one or more components in the plurality of components of the hybrid application available to execute a function associated with the event at the detection of the event;

select, according to a rule, a second component in the available one or more components in the plurality of components of the hybrid application based on a response of the available one or more components in the plurality of components of the hybrid application to an inquiry for executing the function;

assign the function to the second component in the available one or more components in the plurality of components of the hybrid application for execution; and

generate a graphical user interface (GUI) in response to the second component in the available one or more components in the plurality of components of the hybrid application executing the function.

9. The device of claim 8 , wherein the processor is further configured to transmit the inquiry for executing the function serially to the available one or more components in the plurality of components of the hybrid application.

10. The device of claim 9 , wherein the rule defines that a first component in the available one or more components in the plurality of components of the hybrid application to respond indicating that it will execute the function is selected.

11. The device of claim 8 , wherein the processor is further configured to transmit the inquiry for executing the function in parallel to the available one or more components in the plurality of components of the hybrid application.

12. The device of claim 11 , wherein, in response to receiving positive responses from two or more components from among the available one or more components in the plurality of components of the hybrid application, the processor is further configured to select the second component from the two or more components from among the available one or more components in the plurality of components of the hybrid application based on the rule.

13. The device of claim 8 , wherein the processor is further configured to transmit the inquiry for executing the function to the available one or more components in the plurality of components of the hybrid application for each instantiation of the function.

14. The device of claim 13 , wherein the processor is further configured to store, in the memory, a list of available components for executing the function, and updating the list of available components, and wherein the first component type is a native component type or a web component type and the second component type is the web component type or the native component type.

15. A non-transitory computer-readable storage device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

detecting an event from a first component of a plurality of components of a hybrid application, wherein the first component of the plurality of components of the hybrid application corresponds to a first component type and the plurality of components of the hybrid application comprises components corresponding to a second component type different from the first component type;

determining, using an agnostic routing grammar, one or more components in the plurality of components of the hybrid application available to execute a function associated with the event at the detection of the event;

selecting, according to a rule, a second component in the available one or more components in the plurality of components of the hybrid application based on a response of the available one or more components in the plurality of components of the hybrid application to an inquiry for executing the function;

assigning the function to the second component in the available one or more components in the plurality of components of the hybrid application for execution; and

generating a graphical user interface (GUI) in response to the second component in the available one or more components in the plurality of components of the hybrid application executing the function.

16. The non-transitory computer-readable storage device of claim 15 , the operations further comprising transmitting the inquiry for executing the function serially to the available one or more components in the plurality of components of the hybrid application, wherein the rule defines that a first component in the available one or more components in the plurality of components of the hybrid application to positively respond to the inquiry for executing the function is selected.

17. The non-transitory computer-readable storage device of claim 15 , the operations further comprising transmitting the inquiry for executing the function in parallel to the available one or more components in the plurality of components of the hybrid application.

18. The non-transitory computer-readable storage device of claim 17 , wherein, in response to receiving positive responses from two or more components from among the available one or more components in the plurality of components of the hybrid application, the selecting comprises selecting the second component from the two or more components from among the available one or more components in the plurality of components of the hybrid application based on the rule.

19. The non-transitory computer-readable storage device of claim 15 , the operations further comprising transmitting the inquiry for executing the function to the available one or more components in the plurality of components of the hybrid application for each instantiation of the function.

20. The non-transitory computer-readable storage device of claim 19 , the operations further comprising maintaining a list of available components for executing the function, and updating the list of available components, wherein the first component type is a native component type or a web component type and the second component type is the web component type or the native component type.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2020
From: BOVET, JEAN ELIE; LIECHTY, ADAM; NEVES, JOÃO HENRIQUE PIMENTEL WANDERLEY; LI, GUO; TIARKS, PAUL
To: SALESFORCE.COM, INC.
Reel/Frame 054302/0018 →