US 20100100367 A1
A method and system for conducting an offline session simulating an online session between a client and server in a network environment. The client imports data and functional logic from the server prior to going offline. The imported functional logic is embedded into a format or document that is capable of being interpreted and performed by the local interface at the client that is used to interact with server during an online session. Whether offline or online, the user utilizes the same local interface at the client to transmit instructions to the functional logic in order to manipulate the data. In an offline session, such instructions cause the imported and embedded functional logic to execute, thereby manipulating the data that is imported at the client. Known synchronization methods may also be used in order to maintain consistency and coherency between the imported data at the client and the database at the server.
1. A method for simulating, at a client, an online session between the client and a remote server when the client is offline, wherein the client includes a local interface and the remote server includes data and functional logic that manipulates the data via instructions received through the local interface, the method comprising:
a. while the client is online,
1. importing at least a subset of the data;
2. importing at least a subset of the functional logic as an embedded portion of a format capable of being interpreted and performed by the local interface; and
b. while the client is offline,
1. invoking the embedded functional logic to manipulate the imported data in response to instructions received through the local interface.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. A system for enabling a client to simulate an online session when the client is offline, the system comprising:
a. a database; and
b. a server capable of conducting an online client session, the server providing:
1. a synchronization service capable of exporting data from the database for storage at the client, and
2. an initiation service for exporting documents, wherein the documents
a. are capable of being interpreted and performed by a local client interface, and
b. include embedded functional logic to manipulate the exported data via instructions received through the local client interface.
9. The system of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. Computer instructions embodied on a computer-readable medium for simulating, when the client is offline, an online session between a client and a remote server, the computer instructions comprising:
a. logic for manipulating data imported from the remote server;
b. logic for rendering a presentation of the imported data on a local client interface; and
c. logic for communicating with the remote server during a synchronization process;
wherein at least a portion of the computer instructions are embedded into a format capable of being interpreted and performed by the local client interface.
18. The computer instructions of
19. The computer instructions of
20. The computer instructions of
21. The computer instructions of
22. The computer instructions of
23. A system for simulating, at the client, an online session between the client and a remote server when the client is offline, wherein the client includes a local interface and the remote server includes data and functional logic that manipulates the data via instructions received through the local interface, the system comprising:
a. means for exporting at least a subset of the data while the client is online;
b. means for exporting at least a subset of the functional logic as an embedded portion of a format capable of being interpreted and performed by the local interface while the client is online; and
c. means for synchronizing data at the client with data at the remote server.
24. The system of
25. The system of
26. The system of
27. The method of
28. The method of
29. The method of
30. The method of
This application claims the benefit of U.S. provisional patent application No. 60/388,832 filed on Jun. 13, 2002.
The present invention relates to a computer method and system for simulating an online session while offline, and more particularly, to such a method and system in the field of customer relationship management.
The Internet provides the capability to provide services to customers without requiring them to install additional software on their local computers. Specifically, by exploiting the customer's web browser, all functional logic and all data can reside at a remote server rather than at the customer's local computer (i.e., the client). As such, the customer, via instructions submitted through web pages that are displayed in the web browser, can remotely invoke the functional logic to view, create, update, delete or otherwise modify the data residing on the remote server.
In the field of customer relationship management (“CRM”), the foregoing use of the Internet is ideal for enabling sales, customer support, and marketing teams and individuals to organize and manage their customer information. For example, all leads, opportunities, contacts, accounts, forecasts, cases, and solutions can be stored at a secure data center but may be easily viewed by any authorized sales-person (e.g., with a proper username and password) through a web browser and Internet connection. One key benefit of such an online CRM solution is the ability to share data real-time and enable all team members to leverage a common set of information from one accessible location. For example, sales managers can track forecast roll-ups without requiring each sales representative to submit individual reports, as well as instantly access aggregated sales data without requiring each sales representative to manually submit such data. Similarly, reseller sales representatives and other external partners can be granted secure access to a company's sales data by providing them a username and password for the web site.
Nevertheless, such an online CRM solution suffers from the requirement that a user must have access to an Internet connection in order to access and manipulate the data residing on the remote server. For example, when a sales representative or manager is working in the field, such an Internet connection may not be readily available. As such, what is needed is a method for simulating an online session while the user is offline (e.g., without a network connection). Furthermore, it would be advantageous if such a method minimized the amount of user training and client-side installation and customization by taking advantage of pre-existing interfaces and technologies on the client computer.
The present invention provides a method and system for simulating an online session between the client and a remote server when the client is offline. The client includes a local interface that can communicate with the remote server. During an online session, the data and the functional logic that is invoked to manipulate the data reside on the remote server. As such, the user transmits instructions to view, create, update, delete, or otherwise modify portions of data through the local interface and subsequently through the underlying network. These instructions are ultimately received at the remote server, which then invokes the proper functional logic to perform the instructions in order to manipulate the data.
In preparation for simulating an online session when the client is offline, when the client is online, it imports at least a subset of the data that resides at the remote server. Furthermore, the client imports at least a subset of the functional logic used to manipulate the data as an embedded portion of a format or document that is capable of being interpreted and performed by the local interface. To initiate an offline session, the user invokes the local interface (as in the online session). However, rather than accessing the remote server, the local interface accesses local documents formatted with the embedded functional logic. As in the online session, the user transmits instructions to view, create, update, delete, or otherwise modify portions of data through the local interface. However, rather than transmitting the instructions through an underlying network, the local interface invokes the embedded functional logic in the documents to manipulate the imported data in response to the instructions.
As such, the present invention provides an offline simulation of an online session between the client and a remote server. Because the same local interface that is used in the online session is also used in the offline session, user training for the offline session is minimized or even eliminated. Furthermore, since functional logic is embedded into a format capable of being interpreted and performed by the local interface, the need to install additional standalone software applications is also minimized or eliminated. Further objects and advantages of the present invention will become apparent from a consideration of the drawings and detailed description.
The following detailed description will first describe the structure of an online session that may be simulated by an offline session in accordance with the invention. The structure of the offline session, itself, is then detailed. Following the description of the offline session, preparation of the client prior to conducting such offline sessions (e.g., installation and synchronization phases) is described.
Referring to the drawings,
In one environment, the network 150 used by the online session may be the Internet. In such an environment, the client 100 may be a laptop or desktop computer and the local interface 110 may be a web browser such as Internet Explorer or Netscape Navigator. The functional logic 220 at the remote server 200 may be invoked through an underlying application or specification such as a CGI program (including, for example, scripts such as PerI), Java servlet (including, for example, JavaServer Pages, or JSP, technology), daemon, service, system agent, server API solution (including, for example, ISAPI or NSAPI) or any other technique or technology known in the art. The database 210 may be a relational database management system such as Oracle or DB2. The communication channels between the local interface 110 and the remote server 200 may be governed by the HTTP protocol. For example, by selecting various options from a web page, a user transmits instructions in the form of an HTTP message through the Internet to the remote server. Upon receiving the HTTP message, the underlying program, component, or application at the remote server performs the pertinent functional logic to interact with and manipulate the data in the database in accordance with the instructions. Those skilled in the art will recognize that the foregoing general online client-server scheme is merely illustrative and that various alternatives, possibly exploiting different technologies, standards and specifications, may also be utilized to create an online session over the Internet in accordance with
In the field of customer relationship management (“CRM”), such an online client-server scheme can provide the capability to track contacts, leads and customer inquiries without needing a complex software solution on the client-side. For example, in one instance of an online CRM session, the user securely logs into the remote server by entering a username and a password through his local web browser, as shown in
As shown in
Prior to conducting an offline session as described in the foregoing, an initial installation phase and subsequent synchronization sessions may be needed to prepare the client 100 for such an offline session. During the installation phase, an installation or setup executable may be downloaded from the remote server 200 to the client 100. As depicted in
Furthermore, prior to going offline, a user may synchronize the imported subset of data 130 at the client with the data residing in the database 210. For example, if synchronization is occurring for the first time, all data residing in the database 210 that is needed for conducting an offline session may be downloaded from the database 210 to the client 100 (Step 550). This downloaded data may, for example, be defined and customized according to the user's criteria for conducting an offline session. In one implementation, the synchronization process may download this data as XML documents (e.g., according to data type such as accounts, contacts, opportunities, etc.). Once such XML documents are downloaded, XSL templates that are used to visually render the data (e.g., 130 in