Claims
- 1. A method of providing a software application to a user at a client via a web browser from a server, comprising:
after the user first goes to a specified URL corresponding to the server, generating computer-executable code in a scripting language at the server, wherein the scripting language is capable of being interpreted and run on the web browser at the client without using server resources, wherein the code includes static libraries and dynamically generated libraries of functions; sending the generated code to the client over the Internet; and executing the code on the web browser at the client using client resources to provide the software application to the user at the client via the web browser.
- 2. The method of claim 1, further comprising:
after the user closes the web browser at the client, freeing up the client resources consumed during the execution of the code for providing the software application.
- 3. The method of claim 1, wherein the software application is adapted to provide a graphical user interface for accessing and managing information.
- 4. The method of claim 1, wherein the sending of the generated code is performed using an Internet-based protocol.
- 5. The method of claim 1, wherein the static libraries are reusable generic functions for interacting with information substantially independent of a particular manifestation of the information, and wherein the dynamically generated libraries are functions adapted to be compatible with the client resources at the client and chosen based upon the client resources that will be used at the client to execute the code.
- 6. The method of claim 1, wherein the code includes functions for performing at least one of deconstructing data, serializing data, deserializing data, and reconstructing data.
- 7. The method of claim 6, further comprising:
deconstructing data at the server; serializing the deconstructed data at the server; and sending the serialized data to the client.
- 8. The method of claim 7, further comprising:
compressing the serialized data at the server.
- 9. The method of claim 7, further comprising:
receiving the serialized data at the client; and deserializing the data at the client using the software application being executing on the web browser using the client resources, wherein the de-serializing includes reconstructing the data at the client using the software application being executed on the web browser using the client resources.
- 10. The method of claim 6, further comprising:
deconstructing data at the client using the software application being executing on the web browser using the client resources, wherein the data includes a request for information; serializing the deconstructed data at the client using the software application being executing on the web browser using the client resources; and sending the serialized data to the server.
- 11. The method of claim 10, further comprising:
compressing the serialized data at the client using the software application being executing on the web browser using the client resources.
- 12. The method of claim 10, further comprising:
receiving the serialized data at the server; deserializing the data at the server, wherein the deserializing includes reconstructing the data at the server.
- 13. The method of claim 1, further comprising:
receiving a request for information in a data repository from the client at the server via the software application being executed on the web browser at the client; communicating with the data repository by the server to obtain the requested information; serializing the information in the form of dense and interpretable object constructors; sending the serialized information to the client via the Internet; receiving the serialized information at the client; deserializing and reconstructing the information at the client using the software application; and providing a graphical user interface on the web browser at the client using the software application so that the user may access and manage the received information.
- 14. A method for providing functionality to a client by a server across a networked communication medium, the method comprising:
receiving a client-request from the client at the server, the client-request being based on a request inputted by a user; generating a set of computer-executable codes by the server for providing functionality corresponding to the client-request after receiving the client-request; and forwarding the generated set of computer-executable codes to the client for execution, wherein the functionality is provided to the user by the client.
- 15. The method of claim 14, wherein the generating further comprises:
obtaining a first subset of the computer-executable codes from a static library of codes in communication with the server; and dynamically generating a second subset of the computer-executable codes based on a meta-information set received from a data repository system in communication with the server.
- 16. The method of claim 15, wherein the first and second subset of computer-executable codes are codes for at least one of providing logical functionality components of the functionality, and creating visual functionality components of the functionality for presenting the logical functionality component to the user by the client.
- 17. The method of claim 16, wherein the creating comprises:
determining the visual functionality components required for presenting the logical functionality components to the user by the client based on the received client-request; and generating the set of computer-executable codes for the required visual functionality components by the obtaining of the first subset and dynamically generating the second subset required for the required visual functionality components.
- 18. The method of claim 17, wherein the first subset obtained for the required visual functionality components includes code for a structure and a presentation form of the visual functionality components.
- 19. The method of claim 18, wherein the dynamically generating the second subset of computer-executable codes further comprises:
requesting from the data repository system a set of process-specific logic information and schema-specific logic information corresponding to the functionality based on the received client-request; receiving the meta-information set from the data repository system wherein the meta-information set corresponds to the requested set of logic information; and converting the meta-information set into a computer-executable code of a format executable by the client, wherein the second subset includes the converted meta-information set.
- 20. The method of claim 19, wherein the meta-information set includes a set of logic for performing a calculation among interrelated objects.
- 21. The method of claim 15, wherein the obtained first subset of computer-executable codes from the static library of codes is for a process of validating a user-inputted record.
- 22. The method of claim 19 further comprising:
instructing the client to invoke execution of the received computer-executable code based on the occurrence of a predetermined user-inputted request.
- 23. The method of claim 19, wherein the format is a computer executable script.
- 24. The method of claim 23, wherein the script is a JavaScript.
- 25. The method of claim 14,
wherein the networked communication medium is the Internet, and wherein the client includes a client web-browser application for receiving the request inputted by the user, for communicating the client-request with the server in the form of an Internet-based communication across the Internet, and for presenting the user-interface to the user.
- 26. The method of claim 14, further comprising:
communicating by the server with the client based on an initial request by the client prior to receiving the client-request; and terminating the communication by the server with the client subsequent to the forwarding, wherein the functionality is provided to the user by the client after the terminating.
- 27. A method for providing functionality to a user by a client based on a user-inputted request, the method comprising:
forwarding the user-inputted request to a server in communication with the client across a networked communication medium; receiving from the server a set of computer-executable codes generated by the server for providing functionality at the client; and executing the received set of computer-executable codes by the client, wherein the functionality is provided to the user by the client.
- 28. The method of claim 27, wherein the received set of computer-executable codes includes at least one of a first subset of codes providing logical functionality components of the functionality and a second subset of codes for creating visual functionality components of the functionality for presenting the logical functionality components to the user by the client.
- 29. The method of claim 28, wherein the first subset of codes includes codes for a structure and a presentation form of the visual functionality components.
- 30. The method of claim 29, wherein the received set of computer-executable codes includes a set of system-level logic information, a set of process-specific logic information, a set of schema-specific logic information corresponding to the functionality, and a set of information objects.
- 31. The method of claim 30, further comprising:
storing the received set of computer-executable codes in a client memory; and allocating client system resources for the storing and execution of the received set of computer-executable codes.
- 32. The method of claim 31, further comprising:
instantiating the received system-logic information for a full duration of a user-interaction, wherein the system-logic information are received at the beginning of the user-interaction from the server.
- 33. The method of claim 32, wherein the system-logic information includes processes for the client to perform at least one of a re-constructing, serializing and de-serializing the computer-executable codes received from the server and client-requests forwarded to the server during the user-interaction with the server.
- 34. The method of claim 33, further comprising:
deleting the received set of computer-executable codes corresponding to the received set of system-level logic information from the client memory; and freeing the client system resources allocated for the storage and execution of the deleted set of computer-executable codes, wherein the deleting and freeing occurs at the end of the user-interaction.
- 35. The method of claim 30, wherein the schema-specific logic information include information for at least one of creating a new computer executable object, deleting the object, and updating the object.
- 36. The method of claim 27,
wherein the networked communication medium is the Internet, and wherein the client includes a client web-browser application for receiving the request inputted by the user, for communicating the client-request with the server in the form of an Internet-based communication across the Internet, and for presenting a graphical user-interface to the user.
- 37. The method of claim 27, further comprising:
communicating by the server with the client based on an initial request by the client prior to receiving the client-request; and terminating the communication by the server with the client subsequent to the forwarding, wherein the requested functionality is provided to the user by the client after the terminating.
- 38. A method for interacting between a server and a client across a networked communication medium for providing functionality to the client by the server, the method comprising:
forwarding a client-request for the functionality to the server by the client, wherein the client-request is based on a request inputted by a user; receiving the client-request by the server; generating a set of computer-executable codes by the server for providing the functionality after receiving the client-request; forwarding the generated set of computer-executable codes to the client; receiving the forwarded set of computer-executable codes by the client; executing the received set of computer-executable codes by the client; and providing the functionality to the user by the client.
- 39. The method of claim 38, wherein the forwarding to the server comprises: serializing the client-request for the requested functionality by the client based on a predetermined serialization process.
- 40. The method of claim 39, wherein the receiving the client-request by the server comprises: de-serializing the received client-request by the server based on a predetermined de-serialization process wherein the de-serializing includes reconstructing the de-serialized client-request based on a predetermined reconstruction process.
- 41. The method of claim 39, wherein the serialized client-request is a normalized serialized client-request.
- 42. The method of claim 39, wherein the client-request is a set of computer-executable objects and wherein the serialized client-request is a serialized interpretable object constructors client-request.
- 43. The method of claim 38, wherein the forwarding the generated set of computer-executable codes to the client comprises:
serializing the generated set of computer-executable codes by the server based on a predetermined serialization process.
- 44. The method of claim 43, wherein the receiving the forwarded set of computer-executable codes by the client comprises:
de-serializing the generated set of computer-executable codes received by the client based on a predetermined de-serialization process, wherein the de-serializing includes reconstructing the de-serialized set of computer-executable codes based on a predetermined reconstruction process.
- 45. The method of claim 43, wherein the serialized generated set is a normalized serialized set.
- 46. The method of claim 43, wherein the set of computer-executable codes is a set of computer-executable objects and wherein the serialized generated set is a serialized interpretable object constructors set.
- 47. The method of claim 44, wherein the client reconstructs the de-serialized generated set of computer-executable codes without communication with the server.
- 48. The method of claim 38,
wherein the networked communication medium is the Internet, and wherein the client includes a client web-browser application for receiving the request inputted by the user, for communicating the client-request with the server in the form of an Internet-based communication across the Internet, and for presenting a graphical user-interface to the user.
- 49. The method of claim 38, further comprising:
communicating by the server with the client based on an initial request by the client prior to receiving the client-request; and terminating the communication by the server with the client subsequent to the forwarding, wherein the functionality is provided to the user by the client after the terminating.
- 50. The method of claim 38, wherein the networked communication medium includes at least one of a wireless communication medium and a landline communication medium.
- 51. A method for providing functionality to a client by a server across a networked communication medium, the method comprising:
receiving a client-request from the client at the server, the client-request being based on a request inputted by a user; generating a set of computer-executable codes by the server for providing functionality corresponding to the client-request after receiving the client-request; forwarding the generated set of computer-executable codes to the client for execution, wherein the functionality is provided to the user by the client; communicating by the server with the client based on an initial request by the client prior to receiving the client-request; and terminating the communication by the server with the client subsequent to the forwarding, wherein the functionality is provided to the user by the client after the terminating.
- 52. A method of providing functionality and presenting information to a user by a client, comprising:
receiving an initial client communication over a networked communication medium from the client at a server; forwarding a first set of computer-executable code including a set of system-level logic to the client by the server; executing the first set of code by the client for instantiating the system-level logic at the client; receiving an information insight request from the client at the server, the information insight request being based on a user input at the client; generating a second set of computer-executable codes by the server, the second set of computer-executable code adapted to fulfill the information insight request, the second set of code including a set of process-specific logic, a set of schema-specific logic corresponding to the functionality, and a set of information objects; forwarding the second set of computer-executable codes to the client by the server; executing the second set of computer-executable codes by the client; presenting at least part of the set of information objects to the user by the client; and providing functionality by the client so that the user can interact with the presented objects in accordance with the schema-specific logic.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the priority benefit of commonly owned U.S. Provisional Patent Application having Ser. No. 60/367,178 entitled DATABASE SYSTEM FOR USE IN BUSINESS MANAGEMENT AND CORE ALGORITHMS AND ARCHITECTURE FOR THE DATABASE SYSTEM filed on Mar. 25, 2002, which is hereby incorporated by reference.
[0002] This application claims the priority benefit of commonly owned U.S. Provisional Patent Application having Ser. No. 60/403,327 entitled CORE ALGORITHMS AND ARCHITECTURE FOR INFORMATION MANAGEMENT SYSTEM filed on Aug. 13, 2002, which is hereby incorporated by reference.
[0003] This application is related to a commonly owned U.S. Patent Application having Ser. No. ______ entitled STATELESS CURSOR FOR INFORMATION MANAGEMENT SYSTEM filed on Mar. 25, 2003, having Attorney Docket Number MYR-004, and which is hereby incorporated by reference.
[0004] This application is related to a commonly owned U.S. Patent Application having Ser. No. ______ entitled SYSTEM ARCHITECTURE FOR INFORMATION MANAGEMENT SYSTEM filed on Mar. 25, 2003, having Attorney Docket Number MYR-006, and which is hereby incorporated by reference.
[0005] This application is related to a commonly owned U.S. Patent Application having Ser. No. ______ entitled INFORMATION MANAGEMENT STRUCTURE filed on Mar. 25, 2003, having Attorney Docket Number MYR-007, and which is hereby incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60367178 |
Mar 2002 |
US |
|
60403327 |
Aug 2002 |
US |