Method, system, and computer program product for simulating an online session

Information

  • Patent Grant
  • 9235631
  • Patent Number
    9,235,631
  • Date Filed
    Tuesday, May 4, 2010
    14 years ago
  • Date Issued
    Tuesday, January 12, 2016
    8 years ago
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 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. 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.
Description
FIELD OF INVENTION

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

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 customers 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 sates representative to manually submit such data. Similarly, reseller sales representatives and other external partners can be granted secure access to a company's sates data by providing them a usemarne 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.


SUMMARY OF THE INVENTION

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.





BRIEF DESCRIPTION OF THE DRAWINGS


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.



FIG. 2 is an example of a client initiation of an online CRM session with a remote server.



FIG. 3 is an example of the presentation of CRM data on a client's web browser during an online CRM session.



FIG. 4 is a diagram illustrating an offline session.



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.



FIG. 6 is a flowchart illustrating one embodiment of a process for conducting an offline CRM session.



FIG. 7 is an example of a login session to connect to a remote server during a synchronization process.



FIG. 8 is an example of a visual representation of a synchronization process with the remote server.



FIG. 9A is a first example of the presentation of CRM data during an offline session (Home View).



FIG. 9B is a second example of the presentation of CRM data during an offline session (Home View).



FIG. 9C is a third example of the presentation of CRM data during an offline session (Home View).



FIG. 9D is a fourth example of the presentation of CRM data during an offline session (Home View).



FIG. 9E is a fifth example of the presentation of CRM data during an offline session (Home View).



FIG. 10A is an example of the presentation of “Accounts” CRM data during an offline session (Home View).



FIG. 10B is an example of the presentation of “Accounts” CRM data during an offline session (All Accounts View).



FIG. 10C is an example of the presentation of “Accounts” CRM data during an offline session (Specific Account View).



FIG. 10D is an example of the presentation of “Accounts” CRM data during an offline session (New Account View).



FIG. 11A is an example of the presentation of “Contacts” CRM data during an offline session (Home View).



FIG. 11B is an example of the presentation of “Contacts” CRM data during an offline session (All Contacts View).



FIG. 11C is an example of the presentation of “Contacts” CRM data during an offline session (Specific Contact View).



FIG. 11D is an example of the presentation of “Contacts” CRM data during an offline session (New Contact View).



FIG. 12A is an example of the presentation of “Opportunities” CRM data during an offline session (Home View).



FIG. 12B is an example of the presentation of “Opportunities” CRM data during an offline session (All Opportunities View).



FIG. 12C is an example of the presentation of “Opportunities” CRM data during an offline session (Specific Opportunity View).



FIG. 12D is an example of the presentation of “Opportunities” CRM data during an offline session (New Opportunity View).





DETAILED DESCRIPTION OF THE INVENTION

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


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.


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 Perl), 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.


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


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.


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


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).


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.).



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).



FIGS. 7 to 120 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.


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.

Claims
  • 1. A method for simulating an online session while offline, comprising: establishing, at a server, a connection over a network to a client, the connection allowing the client, when online, to communicate with the server;in response to an initiation of an offline session by the client device, receiving at the server from the client device, via the connection, a message including a request;in response to receiving the message from the client: invoking functional logic residing at the server through a server API solution and an Extensible Markup Language remote procedure call (XML-RPC) to manipulate data in a database of the server;identifying criteria defined by a user of the client for conducting an offline session;selecting from the database a user-specified portion of the data, utilizing the criteria defined by the user of the client;importing to the client from the server both the selected user-specified portion of the data from the database, and a portion of functional logic residing at the server used to manipulate the data in the database of the server;terminating the connection between the client and the server in response to the client being offline;after the terminating of the connection, enabling the user to modify the user-specified portion of the data imported to the client from the server using the portion of the functional logic imported to the client from the server;receiving another connection at the server by the client via a network when the client returns online; andperforming by the server a synchronization process with the client via the other connection by uploading the modified data from the client to the database of the server.
  • 2. The method of claim 1, further comprising allowing the user to modify the user-specified portion of the data by selecting from one or more options through a web browser while offline.
  • 3. The method of claim 1, wherein the database is a relational database management system.
  • 4. The method of claim 1, wherein the importing the at least a portion of the functional logic further comprises embedding the at least a portion of the functional logic in at least one document.
  • 5. The method of claim 4, wherein the at least one document utilizes a markup language.
  • 6. The method of claim 1, wherein the data is customer data.
  • 7. The method of claim 6, wherein the user is the customer.
  • 8. The method of claim 1, wherein the data is customer contacts.
  • 9. The method of claim 1, wherein the client includes a local interface that is a web browser, and wherein communication channels between the local interface of the client that is the web browser and the server are governed by the HTTP protocol.
  • 10. The method of claim 1, wherein the functional logic is invoked through an underlying application and is utilized for accessing appropriate portions of the data.
  • 11. The method of claim 1, wherein the data in a database of the server is data of the user, and wherein the user-specified portion of the data includes contacts of the user, such that the contacts of the user are imported to the client from the server so that the user can modify the contacts at the client.
  • 12. The method of claim 1, wherein the portion of the functional logic includes a subset of the functional logic at the remote system that is imported from the remote system and stored at the client according to a formatting protocol.
  • 13. The method of claim 1, wherein the functional logic is capable of being interpreted at the client and capable of being utilized at the client to manipulate the user-specified portion of the data.
  • 14. The method of claim 1, wherein the functional logic is embedded as a portion of a document and is expressed as a language within the document.
  • 15. The method of claim 1, wherein the user-specified portion of the data is formatted with the functional logic at the client.
  • 16. A system for simulating an online session while offline, comprising: a server including at least one processor for:establishing, at the server, a connection over a network to a client, the connection allowing the client, when online, to communicate with the server;in response to an initiation of an offline session by the client device, receiving at the server from the client device, via the connection, a message including a request;in response to receiving the message from the client:invoking functional logic residing at the server through a server API solution and Extensible Markup Language remote procedure call (XML-RPC) to manipulate data in a database of the server;identifying criteria defined by a user of the client for conducting an offline session;selecting from the database a user-specified portion of the data, utilizing the criteria defined by the user of the client;importing to the client from the server both the selected user-specified portion of the data from the database, and a portion of functional logic residing at the server used to manipulate the data in the database of the server;terminating the connection between the client and the server in response to the client being offline;after the terminating of the connection, enabling the user to modify the user-specified portion of the data imported to the client from the server using the portion of the functional logic imported to the client from the server;receiving another connection at the server by the client via a network when the client returns online; andperforming by the server a synchronization process with the client via the other connection by uploading the modified data from the client to the database of the server.
  • 17. The system of claim 16, further comprising logic for allowing the user to modify the user-specified portion of the data by selecting from one or more options through a web browser while offline.
  • 18. The system of claim 16, wherein the database is a relational database management system.
  • 19. The system of claim 16, wherein the importing the at least a portion of the functional logic further comprises embedding the at least a portion of the functional logic in at least one document.
  • 20. The system of claim 19, wherein the at least one document utilizes a markup language.
  • 21. A computer program product embodied on a non-transitory computer readable medium for simulating an online session while offline, comprising: computer code for establishing, at a server, a connection over a network to a client, the connection allowing the client, when online, to communicate with the server;computer code for, in response to an initiation of an offline session by the client device, receiving at the server from the client device, via the connection, a message including a request;computer code for, in response to receiving the message from the client: invoking functional logic residing at the server through a server API solution and an Extensible Markup Language remote procedure call (XML-RPC) to manipulate data in a database of the server;identifying criteria defined by a user of the client for conducting an offline session;selecting from the database a user-specified portion of the data, utilizing the criteria defined by the user of the client;importing to the client from the server both the selected user-specified portion of the data from the database, and a portion of functional logic residing at the server used to manipulate the data in the database of the server;computer code for terminating the connection between the client and the server in response to the client being offline;computer code for, after the terminating of the connection, enabling the user to modify the user-specified portion of the data imported to the client from the server using the portion of the functional logic imported to the client from the server;computer code for receiving another connection at the server by the client via a network when the client returns online; andcomputer code for performing by the server a synchronization process with the client via the other connection by uploading the modified data from the client to the database of the server.
  • 22. The computer program product of claim 21, further comprising computer code for allowing the user to modify the user-specified portion of the data by selecting from one or more options through a web browser while offline.
  • 23. The computer program product of claim 21, wherein the database is a relational database management system.
  • 24. The computer program product of claim 21, wherein the importing the at least a portion of the functional logic further comprises embedding the at least a portion of the functional logic in at least one document.
  • 25. The computer program product of claim 24, wherein the at least one document utilizes a markup language.
Parent Case Info

This application is a continuation of U.S. application Ser. No. 10/287,177 filed on Nov. 4, 2002, which in turn, claims the benefit of U.S. provisional patent application No. 60/388,832 filed on Jun. 13, 2002, which is incorporated herein by reference in its entirety.

US Referenced Citations (180)
Number Name Date Kind
5577188 Zhu Nov 1996 A
5608872 Schwartz et al. Mar 1997 A
5649104 Carleton et al. Jul 1997 A
5715450 Ambrose et al. Feb 1998 A
5761419 Schwartz et al. Jun 1998 A
5819038 Carleton et al. Oct 1998 A
5821937 Tonelli et al. Oct 1998 A
5831610 Tonelli et al. Nov 1998 A
5873096 Lim et al. Feb 1999 A
5918159 Fomukong et al. Jun 1999 A
5963953 Cram et al. Oct 1999 A
6092083 Brodersen et al. Jul 2000 A
6161149 Achacoso et al. Dec 2000 A
6169534 Raffel et al. Jan 2001 B1
6178425 Brodersen et al. Jan 2001 B1
6189011 Lim et al. Feb 2001 B1
6216135 Brodersen et al. Apr 2001 B1
6233617 Rothwein et al. May 2001 B1
6266669 Brodersen et al. Jul 2001 B1
6295530 Ritchie et al. Sep 2001 B1
6324568 Diec Nov 2001 B1
6324693 Brodersen et al. Nov 2001 B1
6336137 Lee et al. Jan 2002 B1
D454139 Feldcamp Mar 2002 S
6367077 Brodersen et al. Apr 2002 B1
6393605 Loomans May 2002 B1
6405220 Brodersen et al. Jun 2002 B1
6427912 Levasseur Aug 2002 B1
6434550 Warner et al. Aug 2002 B1
6446089 Brodersen et al. Sep 2002 B1
6535909 Rust Mar 2003 B1
6549908 Loomans Apr 2003 B1
6553563 Ambrose et al. Apr 2003 B2
6560461 Fomukong et al. May 2003 B1
6574635 Stauber et al. Jun 2003 B2
6577726 Huang et al. Jun 2003 B1
6578054 Hopmann et al. Jun 2003 B1
6594682 Peterson et al. Jul 2003 B2
6601087 Zhu et al. Jul 2003 B1
6604117 Lim et al. Aug 2003 B2
6604128 Diec Aug 2003 B2
6609150 Lee et al. Aug 2003 B2
6621834 Scherpbier et al. Sep 2003 B1
6654032 Zhu et al. Nov 2003 B1
6665648 Brodersen et al. Dec 2003 B2
6665655 Warner et al. Dec 2003 B1
6684438 Brodersen et al. Feb 2004 B2
6711565 Subramaniam et al. Mar 2004 B1
6724399 Katchour et al. Apr 2004 B1
6728702 Subramaniam et al. Apr 2004 B1
6728960 Loomans Apr 2004 B1
6732095 Warshavsky et al. May 2004 B1
6732100 Brodersen et al. May 2004 B1
6732111 Brodersen et al. May 2004 B2
6754681 Brodersen et al. Jun 2004 B2
6763351 Subramaniam et al. Jul 2004 B1
6763501 Zhu et al. Jul 2004 B1
6768904 Kim Jul 2004 B2
6772229 Achacoso et al. Aug 2004 B1
6782383 Subramaniam et al. Aug 2004 B2
6804330 Jones et al. Oct 2004 B1
6826565 Ritchie et al. Nov 2004 B2
6826582 Chatterjee et al. Nov 2004 B1
6826745 Coker et al. Nov 2004 B2
6829655 Huang et al. Dec 2004 B1
6842748 Warner Jan 2005 B1
6850895 Brodersen et al. Feb 2005 B2
6850949 Warner et al. Feb 2005 B2
6954782 Thurlow et al. Oct 2005 B2
7062502 Kesler Jun 2006 B1
7069231 Cinarkaya et al. Jun 2006 B1
7181758 Chan Feb 2007 B1
7219304 Kraenzel et al. May 2007 B1
7289976 Kihneman et al. Oct 2007 B2
7340411 Cook Mar 2008 B2
7356482 Frankland et al. Apr 2008 B2
7360082 Berthold et al. Apr 2008 B1
7401094 Kesler Jul 2008 B1
7412455 Dillon Aug 2008 B2
7508789 Chan Mar 2009 B2
7620655 Larsson et al. Nov 2009 B2
7698160 Beaven et al. Apr 2010 B2
7779039 Weissman et al. Aug 2010 B2
8015495 Achacoso et al. Sep 2011 B2
8082301 Ahlgren et al. Dec 2011 B2
8095413 Beaven Jan 2012 B1
8095594 Beaven et al. Jan 2012 B2
8275836 Beaven et al. Sep 2012 B2
8457545 Chan Jun 2013 B2
8484111 Frankland et al. Jul 2013 B2
20010044791 Richter et al. Nov 2001 A1
20020022986 Coker et al. Feb 2002 A1
20020023057 Goodwin et al. Feb 2002 A1
20020029161 Brodersen et al. Mar 2002 A1
20020029376 Ambrose et al. Mar 2002 A1
20020035577 Brodersen et al. Mar 2002 A1
20020042264 Kim Apr 2002 A1
20020042843 Diec Apr 2002 A1
20020069282 Reisman Jun 2002 A1
20020072951 Lee et al. Jun 2002 A1
20020082892 Raffel et al. Jun 2002 A1
20020083145 Perinpanathan Jun 2002 A1
20020091562 Siegel et al. Jul 2002 A1
20020129352 Brodersen et al. Sep 2002 A1
20020140731 Subramaniam et al. Oct 2002 A1
20020143997 Huang et al. Oct 2002 A1
20020162090 Parnell et al. Oct 2002 A1
20020165742 Robins Nov 2002 A1
20020194219 Bradley et al. Dec 2002 A1
20020198951 Thurlow et al. Dec 2002 A1
20030004971 Gong et al. Jan 2003 A1
20030018705 Chen et al. Jan 2003 A1
20030018830 Chen et al. Jan 2003 A1
20030023657 Fischer et al. Jan 2003 A1
20030066031 Laane Apr 2003 A1
20030066032 Ramachandran et al. Apr 2003 A1
20030069936 Warner et al. Apr 2003 A1
20030070000 Coker et al. Apr 2003 A1
20030070004 Mukundan et al. Apr 2003 A1
20030070005 Mukundan et al. Apr 2003 A1
20030074418 Coker Apr 2003 A1
20030120675 Stauber et al. Jun 2003 A1
20030151633 George et al. Aug 2003 A1
20030152901 Altenhofen et al. Aug 2003 A1
20030158947 Bloch et al. Aug 2003 A1
20030159136 Huang et al. Aug 2003 A1
20030187921 Diec Oct 2003 A1
20030189600 Gune et al. Oct 2003 A1
20030204427 Gune et al. Oct 2003 A1
20030206192 Chen et al. Nov 2003 A1
20030225730 Warner et al. Dec 2003 A1
20040001092 Rothwein et al. Jan 2004 A1
20040010489 Rio Jan 2004 A1
20040015981 Coker et al. Jan 2004 A1
20040027388 Berg et al. Feb 2004 A1
20040064570 Tock Apr 2004 A1
20040128001 Levin et al. Jul 2004 A1
20040186860 Lee et al. Sep 2004 A1
20040193510 Catahan, Jr. et al. Sep 2004 A1
20040199489 Barnes-Leon et al. Oct 2004 A1
20040199536 Barnes Leon et al. Oct 2004 A1
20040199543 Braud et al. Oct 2004 A1
20040215672 Pfitzner Oct 2004 A1
20040249854 Barnes-Leon et al. Dec 2004 A1
20040260534 Pak et al. Dec 2004 A1
20040260659 Chan et al. Dec 2004 A1
20040268299 Lei et al. Dec 2004 A1
20050050555 Exley et al. Mar 2005 A1
20050091098 Brodersen et al. Apr 2005 A1
20050164684 Chen et al. Jul 2005 A1
20050223022 Weissman et al. Oct 2005 A1
20060021019 Hinton et al. Jan 2006 A1
20080086564 Putman et al. Apr 2008 A1
20080249972 Dillon Oct 2008 A1
20090063415 Chatfield et al. Mar 2009 A1
20090100342 Jakobson Apr 2009 A1
20090177744 Marlow et al. Jul 2009 A1
20100100367 Hopkins Apr 2010 A1
20100325089 Hopkins Dec 2010 A1
20110218958 Warshavsky et al. Sep 2011 A1
20110247051 Bulumulla et al. Oct 2011 A1
20120042218 Cinarkaya et al. Feb 2012 A1
20120158833 Hopkins Jun 2012 A1
20120158909 Hopkins Jun 2012 A1
20130218948 Jakobson Aug 2013 A1
20130218949 Jakobson Aug 2013 A1
20130218966 Jakobson Aug 2013 A1
20130238692 Hopkins Sep 2013 A1
20130238693 Hopkins Sep 2013 A1
20130239007 Hopkins Sep 2013 A1
20130246351 Hopkins Sep 2013 A1
20130246483 Hopkins Sep 2013 A1
20130247216 Cinarkaya et al. Sep 2013 A1
20130254267 Hopkins Sep 2013 A1
20140359537 Jackobson et al. Dec 2014 A1
20150006289 Jakobson et al. Jan 2015 A1
20150007050 Jakobson et al. Jan 2015 A1
20150095162 Jakobson et al. Apr 2015 A1
20150142596 Jakobson et al. May 2015 A1
20150172563 Jakobson et al. Jun 2015 A1
Non-Patent Literature Citations (20)
Entry
Bray, T. et al, Extensible Markup Language (XML) 1.0, W3C Recommendation, Second Edition, Oct. 6, 2000, pp. 1-38, retrieved from http://www.w3.org/TR/2000/REC-xml-20001006.
Clark, J., XSL Tranformations (XSLT), W3C Recommendation, Nov. 16, 1999, pp. 1-56, retrieved from http://www.w3.org/TR/1999/REC-xsit-19991116.
Winer. D., “XML-RPC Specification,” XML-RPC.Com, Jun. 15, 1999, pp. 1-7, retrieved from http://smlrpc.scripting.com/spec.
Final Office Action from U.S. Appl. No. 12/773,789, dated Oct. 5, 2012.
Non-Final Office Action from U.S. Appl. No. 12/773,789, dated May 10, 2013.
Non-Final Office Action from U.S. Appl. No. 12/581,733, dated May 24, 2013.
Non-Final Office Action from U.S. Appl. No. 12/773,789, dated Dec. 4, 2013.
Advisory Action from U.S. Appl. No. 12/581,733, dated Apr. 2, 2014.
Final Office Action from U.S. Appl. No. 12/581,733, dated Dec. 23, 2013.
Final Office Action from U.S. Appl. No. 12/773,789, dated Jul. 31, 2014.
Non-Final Office Action from U.S. Appl. No. 12/581,733, dated Nov. 18, 2014.
Advisory Action from U.S. Appl. No. 12/773,789, dated Oct. 3, 2014.
Non-Final Office Action from U.S. Appl. No. 12/773,789, dated Feb. 27, 2015.
Non-Final Office Action from U.S. Appl. No. 13/409,009, dated May 8, 2015.
Non-Final Office Action from U.S. Appl. No. 13/409,026, dated May 8, 2015.
Notice of Allowance from U.S. Appl. No. 12/773,789, dated Jul. 6, 2015.
Final Office Action from U.S. Appl. No. 12/581,733, dated Jun. 1, 2015.
Non-Final Office Action from U.S. Appl. No. 12/581,733, dated Oct. 9, 2015.
Notice of Allowance from U.S. Appl. No. 13/409,009, dated Sep. 14, 2015.
Notice of Allowance from U.S. Appl. No. 13/409,026, dated Sep. 22, 2015.
Related Publications (1)
Number Date Country
20100325174 A1 Dec 2010 US
Provisional Applications (1)
Number Date Country
60388832 Jun 2002 US
Continuations (1)
Number Date Country
Parent 10287177 Nov 2002 US
Child 12773787 US