Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20100100367 A1
Publication typeApplication
Application numberUS 12/581,733
Publication dateApr 22, 2010
Filing dateOct 19, 2009
Priority dateJun 13, 2002
Also published asUS9171049, US9183266, US9235631, US9244992, US9251229, US20030233404, US20100325089, US20100325174, US20120158833, US20120158909, US20130238692, US20130238693, US20130239007, US20130246351, US20130246483, US20130254267
Publication number12581733, 581733, US 2010/0100367 A1, US 2010/100367 A1, US 20100100367 A1, US 20100100367A1, US 2010100367 A1, US 2010100367A1, US-A1-20100100367, US-A1-2010100367, US2010/0100367A1, US2010/100367A1, US20100100367 A1, US20100100367A1, US2010100367 A1, US2010100367A1
InventorsChristopher D. Hopkins
Original AssigneeSalesforce.Com, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Offline simulation of online session between client and server
US 20100100367 A1
Abstract
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.
Images(26)
Previous page
Next page
Claims(30)
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 claim 1 further comprising the step of importing user customizations for the presentation of the imported data by the local interface while the client is online.
3. The method of claim 1 wherein the local interface is a web browser.
4. The method of claim 3 wherein the embedded functional logic is expressed in a scripting language understood by the web browser.
5. The method of claim 1 wherein the format comprises at least one document that utilizes a markup language to identify structures within the document.
6. The method of claim 1 wherein the imported data is stored in at least one document that utilizes a markup language to identify structures within the document.
7. The method of claim 1 wherein the imported data and embedded functional logic relate to customer relationship management.
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 claim 8 wherein the synchronization service is further capable of importing data from the client.
10. The system of claim 8 wherein the synchronization service is further capable of exporting user customizations for the presentation of the exported data by the local client interface.
11. The system of claim 8 wherein the synchronization service is implemented with XML-RPC.
12. The system of claim 8 wherein the local client interface is a web browser.
13. The system of claim 12 wherein the embedded functional logic is expressed as a scripting language understood by the web browser.
14. The system of claim 8 wherein the documents utilize a markup language to identify structures within the documents.
15. The system of claim 8 wherein the exported data is exported as at least one document that utilizes a markup language to identify structures within the document.
16. The system of claim 8 wherein the exported data and embedded functional logic relate to customer relationship management.
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 claim 17 wherein the local client interface is a web browser.
19. The computer instructions of claim 18 wherein at least a portion of the computer instructions are expressed in a scripting language.
20. The computer instructions of claim 17 wherein the format comprises at least one document that utilizes a markup language to identify structures within the document.
21. The computer instructions of claim 17 wherein the imported data is stored in at least one document that utilizes a markup language to identify structures within the document.
22. The computer instructions of claim 17 wherein the computer instructions and the imported data relate to customer relationship management.
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 claim 23 further comprising means for exporting user customizations for the presentation of the imported data by the local interface.
25. The system of claim 23 wherein the local interface is a web browser.
26. The system of claim 25 wherein the embedded functional logic is expressed in a scripting language understood by the web browser.
27. The method of claim 23 wherein the synchronization means utilizes remote procedure calls.
28. The method of claim 23 wherein the format comprises at least one document that utilizes a markup language to identify structures within the document.
29. The method of claim 23 wherein the imported data is stored in at least one document that utilizes a markup language to identify structures within the document.
30. The method of claim 23 wherein the imported data and embedded functional logic relate to customer relationship management.
Description
    RELATED APPLICATIONS
  • [0001]
    This application claims the benefit of U.S. provisional patent application No. 60/388,832 filed on Jun. 13, 2002.
  • FIELD OF INVENTION
  • [0002]
    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.
  • BACKGROUND OF THE INVENTION
  • [0003]
    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.
  • [0004]
    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.
  • [0005]
    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.
  • SUMMARY OF THE INVENTION
  • [0006]
    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.
  • [0007]
    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.
  • [0008]
    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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0009]
    FIG. 1 is a diagram illustrating an online session between a client with a local interface and a remote server with a relational database and functional logic.
  • [0010]
    FIG. 2 is an example of a client initiation of an online CRM session with a remote server.
  • [0011]
    FIG. 3 is an example of the presentation of CRM data on a client's web browser during an online CRM session.
  • [0012]
    FIG. 4 is a diagram illustrating an offline session.
  • [0013]
    FIG. 5 is a expanded block diagram illustrating one embodiment of the various phases used to provide a client with the capabilities of engaging in an offline CRM session.
  • [0014]
    FIG. 6 is a flowchart illustrating one embodiment of a process for conducting an offline CRM session.
  • [0015]
    FIG. 7 is an example of a login session to connect to a remote server during a synchronization process.
  • [0016]
    FIG. 8 is an example of a visual representation of a synchronization process with the remote server.
  • [0017]
    FIG. 9A is a first example of the presentation of CRM data during an offline session (Home View).
  • [0018]
    FIG. 9B is a second example of the presentation of CRM data during an offline session (Home View).
  • [0019]
    FIG. 9C is a third example of the presentation of CRM data during an offline session (Home View).
  • [0020]
    FIG. 9D is a fourth example of the presentation of CRM data during an offline session (Home View).
  • [0021]
    FIG. 9E is a fifth example of the presentation of CRM data during an offline session (Home View).
  • [0022]
    FIG. 10A is an example of the presentation of “Accounts” CRM data during an offline session (Home View).
  • [0023]
    FIG. 10B is an example of the presentation of “Accounts” CRM data during an offline session (All Accounts View).
  • [0024]
    FIG. 10C is an example of the presentation of “Accounts” CRM data during an offline session (Specific Account View).
  • [0025]
    FIG. 10D is an example of the presentation of “Accounts” CRM data during an offline session (New Account View).
  • [0026]
    FIG. 11A is an example of the presentation of “Contacts” CRM data during an offline session (Home View).
  • [0027]
    FIG. 11B is an example of the presentation of “Contacts” CRM data during an offline session (All Contacts View).
  • [0028]
    FIG. 11C is an example of the presentation of “Contacts” CRM data during an offline session (Specific Contact View).
  • [0029]
    FIG. 11D is an example of the presentation of “Contacts” CRM data during an offline session (New Contact View).
  • [0030]
    FIG. 12A is an example of the presentation of “Opportunities” CRM data during an offline session (Home View).
  • [0031]
    FIG. 12B is an example of the presentation of “Opportunities” CRM data during an offline session (All Opportunities View).
  • [0032]
    FIG. 12C is an example of the presentation of “Opportunities” CRM data during an offline session (Specific Opportunity View).
  • [0033]
    FIG. 12D is an example of the presentation of “Opportunities” CRM data during an offline session (New Opportunity View).
  • DETAILED DESCRIPTION OF THE INVENTION
  • [0034]
    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.
  • Online Session
  • [0035]
    Referring to the drawings, FIG. 1 illustrates an online session between a client 100 and a remote server 200. The client includes a local interface 110 while the remote server 200 includes a database 210 and functional logic 220 that is invoked to manipulate the data residing in the database 210. The client 100 establishes communication channels through a network 150 that connects the client 100 to the remote server 200.
  • [0036]
    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 FIG. 1.
  • [0037]
    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 FIG. 2. Once the user successfully logs into the remote server, he may be presented with an initial home page that provides access to further features and information. As shown in FIG. 3, for example, the initial home page may provide the user with a brief synopsis of his upcoming events 310 and tasks 320. Furthermore, the initial home page provides access 330 to further pages that enable the user the track, manage and organize other data including campaigns, leads, accounts, contacts, opportunities, forecasts, cases, and reports. Those skilled in the art will recognize that FIGS. 2 and 3 are merely examples of one way of presenting CRM information on a local interface and that there exist innumerous ways (e.g., look and feel) to present CRM information on a local interface in accordance with the online client-server scheme presented herein. Furthermore, those skilled in the art will recognize that the online CRM session described herein is merely an example of one area in which the online client-server scheme may be exploited and that there exist innumerous fields and areas in which this online client-server scheme may be exploited.
  • Offline Session
  • [0038]
    As shown in FIG. 4, during an offline session, in contrast to an online session as described earlier and illustrated in FIG. 1, the client 100 can no longer establish a communications channel through the network 150 to connect to the remote server 200. As such, at least portions of the data from the database 210 and portions of the functional logic 220 at the remote server 200 are imported to the client 100 so that the client 100 can conduct an offline session in isolation. In FIG. 4, at least a subset 130 of the data 210 is imported to the client 100. Similarly, at least a subset 120 of the functional logic 220 is also imported to the client. This imported functional logic 120 is embedded into a format capable of being interpreted and performed by the local interface.
  • [0039]
    In an embodiment of an offline session in which the local interface 110 is a web browser, both the data 130 and functional logic 120 may be stored according to an open standards formatting protocol. For example and without limitation, the data 130 may be stored in a single or a series of documents in XML (Extensible Markup Language), possibly including, for example, XSL stylesheets (which are XML documents, themselves) for rendering the data into HTML documents. As is known to those skilled in the art, XML may be considered a markup language (or a specification for creating markup languages) that is used to identify structures within a document. Similarly, the functional logic 120 may be embedded in a document utilizing a markup language and may be expressed as a scripting language within the document. For example and without limitation, the functional logic 120 could be expressed as JavaScript or VBScript that is embedded in an HTML (HyperText Markup Language) document. As used herein, the term “embedded” may mean either actually embedding the JavaScript (or any other functional logic in a format capable of being interpreted and performed by the web browser) code in the HTML document, or alternatively, accessing a separate JavaScript document by, for example, providing the URL (relative or full address) of the JavaScript source code file in the HTML document. As such, when the HTML document is rendered by the web browser, depending upon certain actions taken by the user, certain portions of the functional logic 120 (e.g., JavaScript) may be interpreted and performed by the web browser. Such functional logic 120 may interact with the data 130 expressed as XML. For example and without limitation, a user may request to view portions of the data 130 on the web browser. In response to the request, by calling an XSLT (Extensible Stylesheet Language for Transformations) processor that is incorporated into the web browser (e.g., MSXML Parser) or any other comparable XSLT technology residing at the client, the functional logic 120 may access the appropriate portions of the data 130 (e.g., in XML documents) in conjunction with the appropriate XSL stylesheets, in order to transform or render such data 130 into an HTML document that is visually presented on the web browser.
  • Preparation of Client for Offline Session
  • [0040]
    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 FIG. 5, during the installation phase 500, the executable prepares the client for conducting an offline session by, for example and without limitation, (1) establishing a directory structure in the client's file system (Step 510), (2) downloading navigational markup documents with embedded functional logic (e.g., HTML files with embedded JavaScript code or HTML files and related separate JavaScript files) (Step 520); (3) downloading other miscellaneous installation components possibly including static HTML files, stylesheets, XSL templates, ActiveX controls, system shortcuts, local language components and, if not already available, an XML parser that may be integrated into the web browser (e.g., MSXML Parser) (Step 530).
  • [0041]
    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 FIG. 4) on the web browser may be constructed at the client by utilizing the formatting instructions provided by the XML documents. Alternatively, such XSL templates might also be generated at the server and subsequently downloaded to the client. During subsequent synchronization processes prior to going offline 540, as depicted in FIG. 5, modified data records and data records created since the previous synchronization may be downloaded to the client (Step 560). Furthermore, the synchronization process 540 may also provide the opportunity to download (or modify) user customizations (e.g., XML layout information used to construct XSL templates at the client or the XSL templates themselves) for the visual representation of data and other information on the web browser (Step 570). Similarly, upon re-establishing a connection with the remote server 200, the user may also desire to conduct a synchronization process 580 in order to upload any modified or newly created data records to the remote database 210 (Step 590). In one implementation of the synchronization process, the communication channel between the client 100 and the remote server 200 may be established through the HTTP protocol using XML-RPC and a related HTTP/HTTPS server based XML API. Those skilled in the art will recognize that there are alternative synchronization processes other than the one presented in FIG. 5 that may be conducted in accordance with the present invention. For example and without limitation, all synchronization processes, regardless of whether the subsequent activity is an offline session or the re-establishment of an online connection, may simultaneously download modified and newly created data records from the server database to the client as well as upload modified and newly create data records from the client to the server database. Additionally, those skilled in the art will recognize that any variety of techniques and models known in the art may be used implement the synchronization process in order to maintain consistency and coherency while accessing data (e.g., atomic, sequential or causal consistency, etc.).
  • [0042]
    FIG. 6 illustrates one embodiment of a process for initiating and conducting an offline CRM session. As depicted, in this embodiment, an initial installation process should be conducted before an offline session can begin (e.g., Steps 610, 510, 520, 530). After installation, a user may initiate an offline session by opening an HTML page downloaded to the client during the installation phase (Step 620). While still online, the user may then synchronize local client data with the remote database before going offline (Step 630 and expanded in Steps 632, 634, 550, 560, 590). As shown in FIG. 6, this may involve downloading data from the remote server (Step 550) as well as uploading data to the remote server (Step 590), and if necessary, an initial download of all offline session data (Step 550). As previously discussed, one implementation of such downloading and uploading may be implemented through HTTP communications channels using XML-RPC. Once synchronization is complete, the user may go offline and manipulate, view, and modify his customer relationship data by selecting from various options through the web browser (Step 640). For example and without limitation, the user may view his calendar, tasks, and activities (Step 642). Additionally, data may be organized into certain categories such as accounts, contacts, and opportunities. The user may be able to maneuver through the web browser to access, edit, create, delete, or otherwise modify data within these categories (Steps 642, 644, 646, 648).
  • [0043]
    FIGS. 7 to 12D represent examples of the local interface 110 as a web browser that may serve as visual examples for certain steps in the flowchart of FIG. 6. For example, FIG. 7 illustrates a login interface to access the remote server to initiate a synchronization corresponding to 632 of FIG. 6. Similarly, FIG. 8 illustrates the synchronization process of downloading modified and newly created records from the remote database as in 560 of FIG. 6 (and possible uploading of any modified or newly created records to the remote database as in 590 of FIG. 6). Corresponding to Step 642 in FIG. 6, FIG. 9A illustrates one example of an offline home page and FIGS. 9B to 9E illustrate various other alternative “Home” views that may be accessed by the user during an offline session. Similarly, corresponding to Step 644 in FIG. 6, FIGS. 10A to 10C illustrate various views of data organized into an Accounts category. Corresponding to Steps 646 and 648 in FIG. 6, FIGS. 11A to 11D illustrate various views of data organized into a Contacts category and FIGS. 12A to 12D illustrate various view of data organized into an Opportunities category, respectively.
  • [0044]
    The various embodiments described in the above specification should be considered as merely illustrative of the present invention. They are not intended to be exhaustive or to limit the invention to the forms disclosed. Those skilled in the art will readily appreciate that still other variations and modifications may be practiced without departing from the general spirit of the invention set forth herein. For example and without limitation, those skilled in the art will recognize that there exist alternative proprietary technologies, languages and open standards (e.g., other than JavaScript, XML, XSLT, XML-RPC, HTML, HTTP, etc.) that may be practiced in the context of the Internet and World Wide Web in accordance with the invention set forth herein. Furthermore, while much of the foregoing discussion has been described in the context of the World Wide Web and the Internet (e.g., local interface 110 is a web browser), those skilled in art will recognize that the invention disclosed herein may be implemented in other network environments as well. Similarly, while much of the foregoing discussion utilized the CRM area as an example, those skilled in the art will also recognize that other fields and areas may exploit the invention disclosed herein. Therefore, it is intended that the present invention be defined by the claims that follow.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5577188 *May 31, 1994Nov 19, 1996Future Labs, Inc.Method to provide for virtual screen overlay
US5608872 *Mar 19, 1993Mar 4, 1997Ncr CorporationSystem for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters
US5649104 *Mar 19, 1993Jul 15, 1997Ncr CorporationSystem for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
US5715450 *Sep 27, 1995Feb 3, 1998Siebel Systems, Inc.Method of selecting and presenting data from a database using a query language to a user of a computer system
US5761419 *Nov 5, 1996Jun 2, 1998Ncr CorporationRemote collaboration system including first program means translating user inputs into annotations and running on all computers while second program means runs on one computer
US5819038 *Mar 31, 1997Oct 6, 1998Ncr CorporationCollaboration system for producing copies of image generated by first program on first computer on other computers and annotating the image by second program
US5821937 *Aug 12, 1996Oct 13, 1998Netsuite Development, L.P.Computer method for updating a network design
US5831610 *Feb 23, 1996Nov 3, 1998Netsuite Development L.P.Designing networks
US5873096 *Oct 8, 1997Feb 16, 1999Siebel Systems, Inc.Method of maintaining a network of partially replicated database system
US5918159 *Aug 4, 1997Jun 29, 1999Fomukong; MundiLocation reporting satellite paging system with optional blocking of location reporting
US5963953 *Mar 30, 1998Oct 5, 1999Siebel Systems, Inc.Method, and system for product configuration
US6092083 *Aug 17, 1999Jul 18, 2000Siebel Systems, Inc.Database management system which synchronizes an enterprise server and a workgroup user client using a docking agent
US6161149 *Mar 13, 1998Dec 12, 2000Groupserve, Inc.Centrifugal communication and collaboration method
US6169534 *Jun 26, 1997Jan 2, 2001Upshot.ComGraphical user interface for customer information management
US6178425 *Aug 18, 1999Jan 23, 2001Siebel Systems, Inc.Method of determining the visibility to a remote database client of a plurality of database transactions using simplified visibility rules
US6189011 *Dec 23, 1998Feb 13, 2001Siebel Systems, Inc.Method of maintaining a network of partially replicated database system
US6216135 *Aug 17, 1999Apr 10, 2001Siebel Systems, Inc.Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths
US6233617 *Aug 17, 1999May 15, 2001Siebel Systems, Inc.Determining the visibility to a remote database client
US6266669 *Aug 12, 1999Jul 24, 2001Siebel Systems, Inc.Partially replicated distributed database with multiple levels of remote clients
US6295530 *May 15, 1996Sep 25, 2001Andrew M. RitchieInternet service of differently formatted viewable data signals including commands for browser execution
US6324568 *Nov 30, 1999Nov 27, 2001Siebel Systems, Inc.Method and system for distributing objects over a network
US6324693 *Aug 17, 1999Nov 27, 2001Siebel Systems, Inc.Method of synchronizing independently distributed software and database schema
US6336137 *Mar 31, 2000Jan 1, 2002Siebel Systems, Inc.Web client-server system and method for incompatible page markup and presentation languages
US6367077 *Aug 19, 1999Apr 2, 2002Siebel Systems, Inc.Method of upgrading a software application in the presence of user modifications
US6393605 *Nov 17, 1999May 21, 2002Siebel Systems, Inc.Apparatus and system for efficient delivery and deployment of an application
US6405220 *Jul 6, 2001Jun 11, 2002Siebel Systems, Inc.Partially replicated distributed database with multiple levels of remote clients
US6427912 *Aug 16, 2000Aug 6, 2002Coin Acceptors, Inc.Off-line credit card transaction system and method for vending machines
US6434550 *Apr 14, 2000Aug 13, 2002Rightnow Technologies, Inc.Temporal updates of relevancy rating of retrieved information in an information search system
US6446089 *Aug 13, 1999Sep 3, 2002Siebel Systems, Inc.Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions
US6535909 *Nov 18, 1999Mar 18, 2003Contigo Software, Inc.System and method for record and playback of collaborative Web browsing session
US6549908 *Nov 17, 1999Apr 15, 2003Siebel Systems, Inc.Methods and apparatus for interpreting user selections in the context of a relation distributed as a set of orthogonalized sub-relations
US6553563 *May 30, 2001Apr 22, 2003Siebel Systems, Inc.Development tool, method, and system for client server applications
US6560461 *Mar 8, 1999May 6, 2003Mundi FomukongAuthorized location reporting paging system
US6574635 *Mar 3, 1999Jun 3, 2003Siebel Systems, Inc.Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components
US6577726 *Mar 31, 2000Jun 10, 2003Siebel Systems, Inc.Computer telephony integration hotelling method and system
US6578054 *Oct 4, 1999Jun 10, 2003Microsoft CorporationMethod and system for supporting off-line mode of operation and synchronization using resource state information
US6594682 *Oct 28, 1997Jul 15, 2003Microsoft CorporationClient-side system for scheduling delivery of web content and locally managing the web content
US6601087 *Nov 17, 1999Jul 29, 2003Webex Communications, Inc.Instant document sharing
US6604117 *Jan 9, 2001Aug 5, 2003Siebel Systems, Inc.Method of maintaining a network of partially replicated database system
US6604128 *Oct 23, 2001Aug 5, 2003Siebel Systems, Inc.Method and system for distributing objects over a network
US6609150 *Dec 21, 2001Aug 19, 2003Siebel Systems, Inc.Web client-server system and method for incompatible page markup and presentation languages
US6621834 *Nov 5, 1999Sep 16, 2003Raindance Communications, Inc.System and method for voice transmission over network protocols
US6654032 *Dec 23, 1999Nov 25, 2003Webex Communications, Inc.Instant sharing of documents on a remote server
US6665648 *May 25, 2000Dec 16, 2003Siebel Systems, Inc.State models for monitoring process
US6665655 *Apr 14, 2000Dec 16, 2003Rightnow Technologies, Inc.Implicit rating of retrieved information in an information search system
US6684438 *Jul 25, 2002Feb 3, 2004Siebel Systems, Inc.Method of using cache to determine the visibility to a remote database client of a plurality of database transactions
US6711565 *Jun 18, 2001Mar 23, 2004Siebel Systems, Inc.Method, apparatus, and system for previewing search results
US6724399 *Sep 28, 2001Apr 20, 2004Siebel Systems, Inc.Methods and apparatus for enabling keyboard accelerators in applications implemented via a browser
US6954782 *Aug 19, 2002Oct 11, 2005Microsoft CorporationMethod for continuously processing electronic messages throughout a transition between online and offline states
US20010044791 *Feb 20, 2001Nov 22, 2001Richter James NealAutomated adaptive classification system for bayesian knowledge networks
US20020022986 *May 30, 2001Feb 21, 2002Coker John L.Smart scripting call centers
US20020023057 *Jul 13, 2001Feb 21, 2002Goodwin Johnathan DavidWeb-enabled value bearing item printing
US20020029161 *May 30, 2001Mar 7, 2002Brodersen Robert A.Assignment manager
US20020029376 *May 30, 2001Mar 7, 2002Jesse AmbroseDevelopment tool, method, and system for client server applications
US20020035577 *Jul 6, 2001Mar 21, 2002Brodersen Robert A.Partially replicated distributed database with multiple levels of remote clients
US20020042264 *Oct 2, 2001Apr 11, 2002Lg Electronics Inc.Data communication method using mobile terminal
US20020042843 *Oct 23, 2001Apr 11, 2002Thanh DiecMethod and system for distributing objects over a network
US20020072951 *Mar 3, 1999Jun 13, 2002Michael LeeMarketing support database management method, system and program product
US20020082892 *Feb 27, 2001Jun 27, 2002Keith RaffelMethod and apparatus for network-based sales force management
US20020083145 *Dec 22, 2000Jun 27, 2002Nortel Networks LimitedMethod and system for online/offline services
US20020091562 *Jun 1, 2001Jul 11, 2002Sony Corporation And Sony Electrics Inc.Facilitating offline and online sales
US20020129352 *Feb 22, 2002Sep 12, 2002Brodersen Robert A.Method and apparatus for upgrading a software application in the presence of user modifications
US20020140731 *Mar 28, 2001Oct 3, 2002Pavitra SubramaniamEngine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
US20020143997 *Mar 28, 2001Oct 3, 2002Xiaofei HuangMethod and system for direct server synchronization with a computing device
US20020162090 *Apr 30, 2001Oct 31, 2002Parnell Karen P.Polylingual simultaneous shipping of software
US20020165742 *Mar 31, 2000Nov 7, 2002Mark RobinsFeature centric release manager method and system
US20020194219 *Apr 15, 2002Dec 19, 2002Bradley George WesleyMethod and system for cross-platform form creation and deployment
US20020198951 *Aug 19, 2002Dec 26, 2002Microsoft CorporationMethod for continuously processing electronic messages throughout a transition between online and offline states
US20030004971 *Jun 29, 2001Jan 2, 2003Gong Wen G.Automatic generation of data models and accompanying user interfaces
US20030018705 *Mar 31, 2001Jan 23, 2003Mingte ChenMedia-independent communication server
US20030018830 *Mar 31, 2001Jan 23, 2003Mingte ChenAdaptive communication application programming interface
US20030066031 *Sep 28, 2001Apr 3, 2003Siebel Systems, Inc.Method and system for supporting user navigation in a browser environment
US20030066032 *Sep 28, 2001Apr 3, 2003Siebel Systems,Inc.System and method for facilitating user interaction in a browser environment
US20030069936 *Oct 7, 2002Apr 10, 2003Warner Douglas K.Method for routing electronic correspondence based on the level and type of emotion contained therein
US20030070000 *Sep 29, 2001Apr 10, 2003John CokerComputing system and method to implicitly commit unsaved data for a World Wide Web application
US20030070004 *Sep 29, 2001Apr 10, 2003Anil MukundanMethod, apparatus, and system for implementing a framework to support a web-based application
US20030070005 *Sep 29, 2001Apr 10, 2003Anil MukundanMethod, apparatus, and system for implementing view caching in a framework to support web-based applications
US20030074418 *Sep 24, 2002Apr 17, 2003John CokerMethod, apparatus and system for a mobile web client
US20030120675 *Feb 6, 2003Jun 26, 2003Siebel Systems, Inc.Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers, objects, and components
US20030151633 *Apr 23, 2002Aug 14, 2003David GeorgeMethod and system for enabling connectivity to a data system
US20030152901 *Jul 31, 2002Aug 14, 2003Michael AltenhofenOffline e-courses
US20030158947 *Mar 25, 2002Aug 21, 2003Bloch Eric D.Enabling online and offline operation
US20030159136 *Feb 25, 2002Aug 21, 2003Huang Xiao FeiMethod and system for server synchronization with a computing device
US20030187921 *Mar 21, 2003Oct 2, 2003Siebel Systems, Inc.Method and system for distributing objects over a network
US20030189600 *Mar 29, 2002Oct 9, 2003Prasad GuneDefining an approval process for requests for approval
US20030204427 *Mar 29, 2002Oct 30, 2003Prasad GuneUser interface for processing requests for approval
US20030206192 *Oct 27, 2001Nov 6, 2003Mingte ChenAsynchronous message push to web browser
US20030225730 *Jun 3, 2002Dec 4, 2003Rightnow Technologies, Inc.System and method for generating a dynamic interface via a communications network
US20040001092 *Jun 27, 2002Jan 1, 2004Rothwein Thomas M.Prototyping graphical user interfaces
US20040010489 *Jul 12, 2002Jan 15, 2004Rightnow Technologies, Inc.Method for providing search-specific web pages in a network computing environment
US20040015981 *Jun 27, 2002Jan 22, 2004Coker John L.Efficient high-interactivity user interface for client-server applications
US20040027388 *Jun 23, 2003Feb 12, 2004Eric BergMethod and apparatus to facilitate development of a customer-specific business process model
US20040064570 *Sep 17, 2003Apr 1, 2004Theron TockSystem and method for enabling a client application to operate offline from a server
US20040215672 *Apr 25, 2003Oct 28, 2004Ingo PfitznerAccessing data based on user identity
US20050164684 *Dec 10, 2004Jul 28, 2005Fisher-Rosemount Systems, Inc.Wireless handheld communicator in a process control environment
US20080086564 *Jan 14, 2003Apr 10, 2008Janis Rae PutmanCommunication application server for converged communication services
US20120158833 *Jun 21, 2012Salesforce.Com, Inc.Method, system, and computer program product for simulating an online session
US20120158909 *Jun 21, 2012Salesforce.Com, Inc.Method, system, and computer program product for simulating an online session
USD454139 *Feb 20, 2001Mar 5, 2002Rightnow TechnologiesDisplay screen for a computer
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US8073590Dec 19, 2008Dec 6, 2011Boadin Technology, LLCSystem, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8078397Dec 13, 2011Boadin Technology, LLCSystem, method, and computer program product for social networking utilizing a vehicular assembly
US8117225Dec 19, 2008Feb 14, 2012Boadin Technology, LLCDrill-down system, method, and computer program product for focusing a search
US8117242Dec 19, 2008Feb 14, 2012Boadin Technology, LLCSystem, method, and computer program product for performing a search in conjunction with use of an online application
US8131458Dec 19, 2008Mar 6, 2012Boadin Technology, LLCSystem, method, and computer program product for instant messaging utilizing a vehicular assembly
US8190692May 29, 2012Boadin Technology, LLCLocation-based messaging system, method, and computer program product
US8265862Sep 11, 2012Boadin Technology, LLCSystem, method, and computer program product for communicating location-related information
US8577918Sep 14, 2009Nov 5, 2013Salesforce.Com, Inc.Method and system for apportioning opportunity among campaigns in a CRM system
US8767019Aug 19, 2011Jul 1, 2014Sovanta AgComputer-implemented method for specifying a processing operation
US8972467Aug 31, 2010Mar 3, 2015Sovanta AgMethod for selecting a data set from a plurality of data sets by means of an input device
US9171049Nov 4, 2002Oct 27, 2015Salesforce.Com, Inc.Offline simulation of online session between client and server
US9183266May 4, 2010Nov 10, 2015Salesforce.Com, Inc.Method, system, and computer program product for synchronizing data
US9235631May 4, 2010Jan 12, 2016Salesforce.Com, Inc.Method, system, and computer program product for simulating an online session
US9244992Feb 29, 2012Jan 26, 2016Salesforce.Com, Inc.Method, system, and computer program product for simulating an online session
US9251229Feb 29, 2012Feb 2, 2016Salesforce.Com, Inc.Method, system, and computer program product for simulating an online session
US20100070528 *Sep 14, 2009Mar 18, 2010Salesforce.Com Inc.Method and system for apportioning opportunity among campaigns in a CRM system
Classifications
U.S. Classification703/13
International ClassificationH04L29/08, H04L12/24, G06G7/62, G06F17/30, G06F15/16
Cooperative ClassificationG06F17/30374, H04L41/22, G06F17/30377, H04L29/0809, G06F17/303, H04L29/06, H04L63/102, H04L29/08072, H04L12/2602, G06F17/30575, H04L63/08, G06F3/0484, H04L67/42, H04L41/145, G06F17/30861, H04L67/14, H04L67/2804
European ClassificationH04L41/14B, H04L29/08N13, G06F17/30W, H04L29/08N27A
Legal Events
DateCodeEventDescription
Feb 25, 2011ASAssignment
Owner name: SALESFORCE.COM, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HOPKINS, CHRISTOPHER D.;REEL/FRAME:025868/0361
Effective date: 20021115