Methods and apparatus for reducing the number of server interactions in network-based applications using a dual-MVC approach
DCFirst Claim
1. A method for use in a client/server system of reducing interactions between a client and server in association with an application being accessed by the client at the server, the method comprising the steps of:
- configuring the server to store a model associated with the application and to execute view-generating and controller logic associated with the application; and
configuring the client to store at least a subset of the model associated with the application and to execute at least a subset of the view-generating and controller logic associated with the application;
wherein one or more portions of the application are performed at the client without the client having to interact with the server, and further wherein the client and the server both locally maintain at least a portion of the model and execute the view-generating and controller logic associated therewith.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
In accordance with a dual-MVC (Model-View-Controller) approach of the invention, the client machine maintains part of the Model, eliminating many round-trips to the server. The invention provides an implementation approach for constructing the frame(s) contained in the client'"'"'s browser software to allow it to be refreshed locally. The invention addresses development and maintenance by specifying a library of functions that a programmer can use to construct the View and Controller on the client machine. When part of the Model is maintained on the client, the client has the ability to respond to user interaction without paying the performance penalty of continually interacting with the server.
77 Citations
26 Claims
-
1. A method for use in a client/server system of reducing interactions between a client and server in association with an application being accessed by the client at the server, the method comprising the steps of:
-
configuring the server to store a model associated with the application and to execute view-generating and controller logic associated with the application; and configuring the client to store at least a subset of the model associated with the application and to execute at least a subset of the view-generating and controller logic associated with the application; wherein one or more portions of the application are performed at the client without the client having to interact with the server, and further wherein the client and the server both locally maintain at least a portion of the model and execute the view-generating and controller logic associated therewith. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A network-based system, comprising:
-
a server having at least one processor operative to;
(i) store a model associated with an application associated with the server; and
(ii) execute view-generating and controller logic associated with the application; anda client, coupled to the server via a network, having at least one processor operative to;
(i) store at least a subset of the model associated with the application; and
(ii) execute at least a subset of the view-generating and controller logic associated with the application;wherein one or more portions of the application are performed at the client without the client having to interact with the server such that interactions between the client and server are reduced, and further wherein the client and the server both locally maintain at least a portion of the model and execute the view-generating and controller logic associated therewith. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. An article of manufacture for use in a client/server system for reducing interactions between a client and server in association with an application being accessed by the client at the server, comprising machine readable media containing one or more programs which when executed implement the steps of:
-
configuring the server to store a model associated with the application and to execute view-generating and controller logic associated with the application; and configuring the client to store at least a subset of the model associated with the application and to execute at least a subset of the view-generating and controller logic associated with the application; wherein one or more portions of the application are performed at the client without the client having to interact with the server, and further wherein the client and the server both locally maintain at least a portion of the model and execute the view-generating and controller logic associated therewith.
-
-
26. A method for use in a client/server system of reducing interactions between a client and server in association with an application being accessed by the client at the server, the method comprising the steps of:
-
configuring the server to;
(i) store a model associated with the application;
(ii) execute view-generating logic associated with the application; and
(iii) execute controller logic associated with the application; andconfiguring the client to;
(i) store at least a subset of the model associated with the application;
(ii) execute at least a subset of the view-generating logic associated with the application; and
(iii) execute at least a subset of the controller logic associated with the application;wherein one or more portions of the application are performed at the client without the client having to interact with the server, and further wherein the client and the server both locally maintain at least a portion of the model and execute the view-generating and controller logic associated therewith; further wherein, in accordance with such a dual model-view-controller arrangement, a model comprises application data, rules, and algorithms affecting the data, a view comprises a screen or window representation of a subset of the model that the application chooses to display, and a controller comprises the logic that processes user requests, and causes the model to be changed and the view to be refreshed.
-
Specification