IP Library Granted Patent US 10,394,627
Granted Patent B2
US 10,394,627 · App. 15/857,026 · Granted Aug 27, 2019

Asynchronous C#-JS data binding bridge

Inventors: Lokesh Yadav (Bangalore, IN); Shishir Roy (Bangalore, IN); Chetankumar Patel (Bangalore, IN)
G06F9/542G06F8/35G06F8/38G06F9/546G06F9/547H04L67/02
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,394,627
App. No.
15/857,026
Granted
Aug 27, 2019
Kind
B2
Abstract

A method and system provides for asynchronous two-way binding between a user interface and a data model which are implemented on different frameworks. The system includes data, data model, and bridge controllers. The data controller provides a front-end binding framework that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device. The data model controller provides a back-end binding framework that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks. The bridge controller implements asynchronous two-way binding for the bindable property or method between the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model.

Claims (113)

1. A computer-implemented method comprising:

providing a front-end binding framework having a data controller that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device;

providing a back-end binding framework with a data model controller that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks; and

implementing, via a bridge controller, asynchronous two-way binding for the bindable property or method between the data controller of the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model,

wherein the providing a front-end binding framework operation, the providing a back-end framework operation and the implementing operation are performed on a user device;

generating a request object corresponding to the data model for a binding request in the front-end binding framework; invoking a callback associated with the request object to update the view of the user interface with data from the corresponding model via a bridge response in response to the binding request.

2. The computer-implemented method of claim 1 , wherein the front-end binding framework is a Javascript binding framework and the back-end binding framework is a C# binding framework.

3. The computer-implemented method of claim 1 , further comprising:

receiving at the front-end binding framework a binding request with request data for the binding property or method from the user interface,

wherein the implementing comprises:

obtaining asynchronously a post message corresponding to the binding request from the data controller, the post message including at least a peer identifier, a binding type and a verb associated with the binding request;

parsing the post message; and

dispatching a bridge request based on the parsed post message to the data model controller to perform an implementation on the data model according to at least the binding type and the verb.

4. The computer-implemented method of claim 3 , further comprising:

generating a request object for the binding request in the front-end binding framework, the request object including at least a peer identifier, a binding type and a verb associated with the binding request;

placing the request object onto a callback queue in the front-end binding framework; and

generating the post message for the request object in the front-end binding framework.

5. The computer-implemented method of claim 3 , wherein the implementing further comprises:

receiving a data model response from the data model in reply to the bridge request, the data model response including a peer identifier and a value associated with a binding property or method from the data model;

parsing the data model response at the bridge controller; and

sending a bridge response with data from the data model based on the parsed data model response to the front-end binding framework.

6. The computer-implemented method of claim 1 , wherein the user device comprises a mobile device.

7. A computer-implemented method comprising:

providing a front-end binding framework having a data controller that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device;

providing a back-end binding framework with a data model controller that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks;

receiving at the front-end binding framework a binding request with request data for the binding property or method from the user interface;

generating a request object for the binding request in the front-end binding framework, the request object including at least a peer identifier, a binding type and a verb associated with the binding request;

placing the request object onto a callback queue in the front-end binding framework;

generating a post message for the request object in the front-end binding framework;

implementing, via a bridge controller, asynchronous two-way binding for the bindable property or method between the data controller of the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model, wherein the implementing comprises:

obtaining asynchronously the post message corresponding to the binding request from the data controller, the post message including at least a peer identifier, a binding type and a verb associated with the binding request,

parsing the post message,

dispatching a bridge request based on the parsed post message to the data model controller to perform an implementation on the data model according to at least the binding type and the verb,

receiving a data model response from the data model in reply to the bridge request, the data model response including a peer identifier and a value associated with a binding property or method from the data model, and

parsing the data model response at the bridge controller;

accessing the callback queue to identify the request object corresponding to the data model response according to the peer identifier; and

invoking a callback function for the request object to update the view of the user interface via a bridge response with the data from the data model which is sent from the bridge controller to the front-end binding framework in response to the binding request.

8. A computer system for providing asynchronous two-way binding between a user interface of a user device and a data model which are implemented on different frameworks, the computer system comprising:

a memory; and

one or processors which implement:

a data controller to provide a front-end binding framework that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device;

a data model controller to provide a back-end binding framework that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks; and

a bridge controller to implement asynchronous two-way binding for the bindable property or method between the data controller of the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model,

wherein the data controller, the data model controller and the bridge controller are implemented on a user device that includes the memory and the processor;

the data controller configured to generate a request object corresponding to the data model for a binding request in the front-end binding framework; the bridge controller configured to invoke a callback associated with the request object to update the view of the user interface with data from the corresponding model via a bridge response in response to the binding request.

9. The computer system of claim 8 , wherein the front-end binding framework is a Javascript binding framework and the back-end binding framework is a C# binding framework.

10. The computer system of claim 8 , wherein the data controller is configured to receive at the front-end binding framework a binding request with request data for the binding property or method from the user interface, and

wherein the bridge controller is further configured:

to obtain asynchronously a post message corresponding to the binding request from the data controller, the post message including at least a peer identifier, a binding type and a verb associated with the binding request; and

to parse the post message; and

to dispatch a bridge request based on the parsed post message to the data model controller to perform an implementation on the data model according to at least the binding type and the verb.

11. The computer system of claim 10 , wherein the data controller is further configured:

to generate a request object for the binding request in the front-end binding framework, the request object including at least a peer identifier, a binding type and a verb associated with the binding request;

to place the request object onto a callback queue in the front-end binding framework; and

to generate the post message for the request object in the front-end binding framework.

12. The computer system of claim 10 , wherein the bridge controller is further configured:

to receive a data model response from the data model in reply to the bridge request, the data model response including a peer identifier and a value associated with a binding property or method from the data model;

to parse the data model response at the bridge controller; and

to send a bridge response with data from the data model based on the parsed data model response to the front-end binding framework.

13. The computer system of claim 8 , wherein the user device comprises a mobile device.

14. A computer system for providing asynchronous two-way binding between a user interface of a user device and a data model which are implemented on different frameworks, the computer system comprising:

a memory; and

one or processors which implement:

a data controller to provide a front-end binding framework that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device, the data controller being further configured:

to receive at the front-end binding framework a binding request with request data for the binding property or method from the user interface,

to generate a request object for the binding request in the front-end binding framework, the request object including at least a peer identifier, a binding type and a verb associated with the binding request,

to place the request object onto a callback queue in the front-end binding framework, and

to generate a post message for the request object in the front-end binding framework;

a data model controller to provide a back-end binding framework that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks; and

a bridge controller to implement asynchronous two-way binding for the bindable property or method between the data controller of the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model, the bridge controller being further configured:

to obtain asynchronously the post message corresponding to the binding request from the data controller, the post message including at least a peer identifier, a binding type and a verb associated with the binding request,

to parse the post message,

to dispatch a bridge request based on the parsed post message to the data model controller to perform an implementation on the data model according to at least the binding type and the verb,

to receive a data model response from the data model in reply to the bridge request, the data model response including a peer identifier and a value associated with a binding property or method from the data model,

to parse the data model response,

to access the callback queue to identify the request object corresponding to the data model response according to the peer identifier, and

to invoke a callback function for the request object to update the view of the user interface via a bridge response with the data from the data model which is sent from the bridge controller to the front-end binding framework in response to the binding request.

15. A tangible memory medium storing executable code which, when executed by one or more processors, implements a method of providing asynchronous two-way binding between a user interface and a data model which are implemented on different frameworks, the method comprising:

providing a front-end binding framework having a data controller that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device;

providing a back-end binding framework with a data model controller that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks; and

implementing, via a bridge controller, asynchronous two-way binding for the bindable property or method between the data controller of the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model,

wherein the providing a front-end binding framework operation, the providing a back-end framework operation and the implementing operation are performed on a user device;

generating, by the data controller, a request object corresponding to the data model for a binding request in the front-end binding framework; invoking, by the bridge controller, a callback associated with the request object to update the view of the user interface with data from the corresponding model via a bridge response in response to the binding request.

16. The tangible memory medium of claim 15 , wherein the front-end binding framework is a Javascript binding framework and the back-end binding framework is a C# binding framework.

17. The tangible memory medium of claim 15 , wherein the method further comprises:

receiving at the front-end binding framework a binding request with request data for the binding property or method from the user interface,

wherein the implementing comprises:

obtaining asynchronously a post message corresponding to the binding request from the data controller, the post message including at least a peer identifier, a binding type and a verb associated with the binding request;

parsing the post message; and

dispatching a bridge request based on the parsed post message to the data model controller to perform an implementation on the data model according to at least the binding type and the verb.

18. The tangible memory medium of claim 17 , wherein the method further comprises:

generating a request object for the binding request in the front-end binding framework, the request object including at least a peer identifier, a binding type and a verb associated with the binding request;

placing the request object onto a callback queue in the front-end binding framework; and

generating the post message for the request object in the front-end binding framework.

19. The tangible memory medium of claim 17 , wherein the implementing further comprises:

receiving a data model response from the data model in reply to the bridge request, the data model response including a peer identifier and a value associated with a binding property or method from the data model;

parsing the data model response at the bridge controller; and

sending a bridge response with data from the data model based on the parsed data model response to the front-end binding framework.

20. A tangible memory medium storing executable code which, when executed by one or more processors, implements a method of providing asynchronous two-way binding between a user interface and a data model which are implemented on different frameworks, the method comprising:

providing a front-end binding framework having a data controller that interacts with a user interface of a user device to manage a bindable property or method for a view on the user device;

providing a back-end binding framework with a data model controller that manages a data model, the front-end binding framework and the back-end binding framework being different types of frameworks;

receiving at the front-end binding framework a binding request with request data for the binding property or method from the user interface;

generating a request object for the binding request in the front-end binding framework, the request object including at least a peer identifier, a binding type and a verb associated with the binding request;

placing the request object onto a callback queue in the front-end binding framework;

generating a post message for the request object in the front-end binding framework;

implementing, via a bridge controller, asynchronous two-way binding for the bindable property or method between the data controller of the front-end binding framework and the back-end binding framework to update the bindable property or method in the data model when data changes at the user interface and to update the view on the user device when data changes at the data model, wherein the implementing comprises:

obtaining asynchronously the post message corresponding to the binding request from the data controller, the post message including at least a peer identifier, a binding type and a verb associated with the binding request,

parsing the post message,

dispatching a bridge request based on the parsed post message to the data model controller to perform an implementation on the data model according to at least the binding type and the verb,

receiving a data model response from the data model in reply to the bridge request, the data model response including a peer identifier and a value associated with a binding property or method from the data model, and

parsing the data model response at the bridge controller;

accessing the callback queue to identify the request object corresponding to the data model response according to the peer identifier; and

invoking a callback function for the request object to update the view of the user interface via a bridge response with the data from the data model which is sent from the bridge controller to the front-end binding framework in response to the binding request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2022
From: YADAV, LOKESH; ROY, SHISHIR; PATEL, CHETANKUMAR
To: AVEVA SOFTWARE, LLC
Reel/Frame 060477/0053 →
CHANGE OF NAME Recorded Dec 8, 2020
From: SCHNEIDER ELECTRIC SOFTWARE, LLC
To: AVEVA SOFTWARE, LLC
Reel/Frame 054644/0126 →
Continuity (1)
Related Publication 20190205103A1 · Jul 4, 2019