EP1570354A2

System and method for stateful web-based computing

Abstract

This record has no abstract on file.

EP1570354A2, drawing sheet 1
Sheet 1 of 3

Term

Term ended

Projected expiry passed 19 November 2023, 2.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

78 claims: 9 independent, 69 dependent

  1. 1
    Claims of equivalent WO 2004046894 A2 1. A computing system for performing stateful distributed computing comprising:a client machine comprising a Client Runtime Environment (CRE);and wherein said CRE is adapted to maintain state of an application by retrieving a first markup document of said application, creating and storing a first object oriented representation of information contained in said first markup document, wherein said first object oriented representation defines a first state of said application, retrieving a second markup document, creating and storing a second object oriented representation of information contained in said second markup document, and merging said first and said second object oriented representations thereby forming a new object oriented representation of information contained in said first or said second markup documents and wherein said new object oriented representation defines a new state of said application.
  2. 23
    A computing method for maintaining state of an application in a client machine comprising:retrieving a first markup document of said application;creating a first object oriented representation of information contained in said first markup document and storing said first object oriented representation, wherein said first object oriented representation defines a first state of said application;retrieving a second markup document of said application;creating a second object oriented representation of information contained in said second markup document and storing said second object oriented representation;and merging said first and said second object oriented representations thereby forming a new object oriented representation of information contained in said first or said second markup document and wherein said new object oriented representation defines a new state of said application.
  3. 41
    A method for developing an application adapted to run within a client machine wherein said client machine utilizes a Client Runtime Environment (CRE) for maintaining state of said application comprising:defining user interface screens of said application as markup documents, respectively;retrieving a first markup document by said CRE;creating a first object representation of information contained in said first markup document by said CRE, wherein said first object oriented representation defines a first state of said application;retrieving a second markup document by said CRE;creating a second object oriented representation of information contained in said second markup document by said CRE;merging said first and second object oriented representations by said CRE thereby forming a new object oriented representation of information contained in said first or said second markup document wherein said new object oriented representation defines a new state of said application.
  4. 45
    A method for deploying an application adapted to run within a client machine comprising:deploying a Client Runtime Environment (CRE) in said client machine;deploying said application on a central server, wherein said client machine is adapted to connect to said central server via a network and said central server is capable of serving requests from said CRE;sending a first request from said CRE to said central server to download a first markup document of said application from said central server to said CRE;creating and storing a first object oriented representation of said first markup document, wherein said first object oriented representation defines a first state of said application;sending a second request from said CRE to said central server to download a second markup document of said application from said central server to said CRE ;creating and storing a second object oriented representation of said second markup document;and merging said first object oriented representation with said second object oriented representation thereby creating a new object oriented representation, wherein said new object oriented representation defines a new state of said application.
  5. 52
    A method for deploying an application adapted to run within a client machine comprising:deploying a Client Runtime Environment (CRE) in said client machine;deploying said application on a central server, wherein said client machine is adapted to connect to said central server via a network and said central server is capable of serving requests from said CRE;compiling and combining one or more markup documents and one or more procedural codes into an entity;sending a request from said CRE to said central server to download said entity from said central server to said CRE;retrieving a first information of a first markup document from said entity;creating and storing a first object oriented representation of said first information, wherein said first object oriented representation defines a first state of said application;retrieving second information of a second markup document from said entity ;creating and storing a second object oriented representation of said second information;and merging said first object oriented representation with said second object oriented representation thereby creating a new object oriented representation, wherein said new object oriented representation defines a new state of said application .
  6. 55
    A distributed computing system for running an application over a network, wherein said application comprises a client side component and a server side component, said system comprising:a client runtime environment (CRE) for running the client side component of the application and maintaining the client side application's state in a client side Document Object Model (DOM);a server runtime environment (SRE) for running the server side component of the application and maintaining the server side application's state in a server side DOM;and wherein said client side DOM is automatically synchronized with said server side DOM.
  7. 66
    A distributed data storage system comprising:a client side DOM for storing client side data;a server side DOM for storing server side data;a client side engine and a server side engine for synchronizing said client side DOM with said server side DOM and the reverse, respectively, over a network.
  8. 67
    A method for performing 'server- push" of a plurality of messages from a server to a client machine comprising:sending a normal HTTP request from said client machine to said server by opening an HTTP connection to said server;accepting said HTTP connection by said server;sending back to said client machine a response by said server wherein said response comprises an HTTP header instructing said client machine not to close said HTTP comiection until a certain condition is met thereby maintaining said HTTP connection open;and sending one or more of said plurality of messages to said client machine by said server via said open HTTP connection.
  9. 71
    A communication system for performing "server-push" from a web application running inside an application server comprising:a server module adapted to run inside said application server and to receive a request and to send a response to said request via a network connection;a client machine adapted to send said request to said server module and to receive said response to said request via said network connection;and wherein said server module performs 'server- push" of a plurality of messages to said client machine upon receipt of an HTTP request from said client machine and accepting an HTTP network connection opened by said client machine by sending back to said client machine a response comprising an HTTP header instructing said client machine not to close said HTTP network connection until a certain condition is met thereby maintaining said HTTP network connection open and then sending one or more of said plurality of messages to said client machine via said open HTTP network connection.