Mobile technology, such as laptop computers and personal digital assistants (PDAs), enables workers to access customer data at any time and place. Groupware clients, such as Microsoft Outlook™, IBM Lotus Notes™, and any Open Source groupware, are popular software packages used to do so through such tools as email, calendars, task lists, and business contact lists.
However, a limitation of these groupware clients is that they are structured to send and receive data in a particular format of a particular type and are not amenable to handling other data formats or types. Hence, to access customer data that the groupware client does not normally handle, the worker must separately access other applications and/or databases associated with that customer data. The worker wastes valuable time and effort running multiple applications to access data across these applications and mentally coordinating the data. Moreover, the customer data itself becomes disparate, with no linkage between that accessible by the various applications.
Since data accessed by different applications is often incompatible, duplicate records must be kept so that workers using different applications have the same data, albeit in different formats or types. Such a practice takes up memory that, though large in most database systems, is not infinite. This problem is magnified in mobile devices, which typically have very limited memory, such that duplicate records are impractical.
Another issue is how to update customer data from incompatible applications. Traditionally, updates are made by running each application separately and modifying the customer data using the compatible application. This also wastes valuable time and effort for the worker who has to run multiple applications, particularly when the updates are to duplicate records.
Accordingly, there is a need in the art for a system and method to integrate customer data from generally incompatible multiple sources to be accessible in a seamless manner on computers, in general, and on mobile devices, in particular.
Embodiments of the present invention may integrate customer data from multiple sources so that a user may access, update, store, and otherwise manipulate this data using a single application. This advantageously saves the user time and effort in keeping up to date on the most recent and accurate data, either in an online or an offline mode of operation.
Embodiments of the present invention may be particularly useful in customer relationship management (CRM) systems. CRM systems are developed to provide direct customer contact throughout the entire life cycle of the customer-business relationship, e.g., from initial marketing to customer sales to post-sale customer service. A typical CRM system manages customer data, such as financial and business plans, product lines, contact information, and any other data associated with a customer in order to effectively provide direct contact. Therefore, quick and easy access to this data at any time and place by workers who deal with the customer is very important.
Groupware clients generally provide contact information, asynchronous communication, meeting setup, and to-do lists, via respective contact, email, calendar, and task tools. Using email, a user may exchange messages asynchronously with others. The messages may include text, file attachments, graphics, etc. Through the calendar, the user may set up and keep track of customer appointments. Using the contact tool, the user may store and retrieve contact information of business associates, customers, businesses, etc. The task tool may provide the user with customer to-do lists.
These groupware clients, however, do not typically provide financial and business plans, product lines, and other sales-related data. This type of customer data is typically provided by a CRM application. Hence, the customer data generated by the CRM application is often incompatible with the groupware client.
In some instances, the CRM customer data provides the same information as client data, e.g., business contact information, meeting schedules, and business activities. However, the formats of the information are different, such that neither the client nor the CRM application can view the other's information, resulting in duplicate records as discussed above. A solution to this problem is provided in embodiments of the present invention. Integrating the groupware client's data with the CRM application's data for access by the most-used client advantageously eases a worker's data gathering activities and a database's redundant data storage.
In one embodiment, a method is provided for the data integration. In this method, a groupware server, e.g., Microsoft Exchange Server™ or IBM Lotus Domino Server™, may synchronize incompatible customer data with a groupware client, e.g., Microsoft Outlook™ or IBM Lotus Notes™, so that the customer data may be managed by the client using the client's standard tools or using special tools executable by the client. The method may operate in an online mode and an offline mode. In an online mode, the client may manipulate the customer data stored in a customer database in real-time. In an offline mode, the client may manipulate a replicated copy of the customer data stored in the memory of the offline device and update the customer data in the customer database when the client device reconnects to the customer database.
In another embodiment, a system is provided for the data integration. In this system, a memory may store customer data that is incompatible with a groupware client. A system processor may provide access to that incompatible customer data using the groupware client, in which the processor provides access to a customer folder containing the customer data, determines whether the customer data fits within a standard data structure of the groupware client, if so, provide the customer data via the standard data structure, and, otherwise, provide the customer data via a special data structure.
These embodiments may advantageously be provided in either an online or an offline mode of operation.
Similarly, each user that has groupware client 260 on the user's computer has a user customer folder 224 on server 220. The customer folder 224 may include any customer data, that is normally incompatible with groupware, to be accessed by the user's groupware client 260. The customer data may include CRM data copied from the CRM system customer database 130.
To access the customer data using groupware, server 220 may execute the customer synchronization tool 226. Synchronization tool 226 may synchronize the customer data in customer data structures in customer folder 224 with the standard groupware data structure, if possible, and provide the synchronized data structure to groupware for displaying using groupware tools. For example, CRM business partner contact information, stored in customer folder 224, may be the same as groupware contact information. As such, the business partner contact information from customer folder 224 may be linked by tool 226 to fit the same groupware data structure as groupware contact information. Hence, the user may view the business partner contact information using groupware contact.
Synchronization tool 226 may also be used to synchronize updates to groupware data and customer data. When the user updates groupware data using groupware tools, server 220 may determine whether the updated groupware data corresponds to customer data. As such, server 220 may store the updated groupware data into user groupware folder 222 in the standard groupware data structure. Synchronization tool 226 may be used to link the updates to corresponding customer data structures in user customer folder 224, such that the updates are made to the customer data.
If the customer folder 224 includes customer data that may not fit into groupware data structures, then server 220 may include special customer data structures that are recognizable by special customer data tools added to groupware.
The user folder 222 may access groupware data 210 stored on communication server 120 or, alternatively, on an external database. The user folder 224 may assess customer data 240 stored on a CRM database.
The groupware connector 230 on server 120 may comprise software to facilitate communication between the CRM system and the groupware server 220 for transferring the incompatible customer data therebetween. The connector 230 may use event triggers, for example, to initiate data transfers therebetween.
The user computer 140 may include groupware client 260and local data 250, which is replicated groupware data 210 and replicated customer data 240, for use when the user computer 140 operates offline. Groupware client 260 may include special data forms 212, customer folder view tool 214, groupware folder view tool 216, and offline control 218. Groupware folder view tool 216 may be used to access standard groupware data. Tool 216 may access user groupware folder 222 on server 220 to retrieve and display groupware data and synchronized customer data. Similarly, groupware tool 216 may be used to create and send new groupware data to groupware folder 222 for storage. Customer folder view tool 214 may be used to access customer data that is incompatible with groupware data structures. Groupware tool 214 may be used to create and send new customer data to customer folder 224 on server 220.
Special data forms 212 may be used to create customer data to be stored in customer folder 224. These forms 212 may be related to customer data structures that are stored in customer folder 224. The forms 212 may include fields corresponding to data structure elements into which a user may input customer data.
Offline control 218 may be used when the user computer 140 operates offline. Offline control 218 may provide the same capabilities as the groupware server 220 in managing the groupware and customer data to be manipulated by the groupware client 260 when offline.
In an embodiment of the present invention, data may flow as follows. In online mode, a user may open groupware client 260 on the user computer 140. The user may send a message to groupware server 220 on communication server 120 to access groupware and/or customer data. Groupware server 220 may retrieve the requested groupware data 210 from folder 222 via server memory. Groupware server 220 may retrieve the requested customer data from folder 224 by sending a message to groupware connector 230 to retrieve the requested customer data from customer database 130. Groupware connector 230 may forward the retrieved customer data to groupware server 220. Groupware server 220 may send the requested groupware and/or customer data to user computer 140 for viewing and manipulating. Groupware client 260 may then store a replicated copy of the groupware and/or customer data in local memory as local data 250.
The user may input new groupware and/or customer data using groupware. The user may send a message to exchange server 220 that groupware client 260 is sending updated groupware and/or customer data. Groupware client 260 may send the updated data to groupware server 220. Groupware server 220 may store the groupware data into user groupware folder 222 and make any corresponding updates to customer data in user customer folder 224. Groupware server 220 may store updates to customer data into user customer folder 224. Groupware server 220 may send a message to groupware connector 230 that updated customer data is to be stored in customer database 130. Groupware server 220 may then send the updated customer data to groupware connector 230 that then stores the updated customer data into customer database 130.
Prior to going offline, groupware client 260 may store replicated copies of groupware and customer data into local memory on the user computer 140 as local data 250. When offline, the user may open groupware client 260 on the user computer 140. Groupware may include local versions of customer synchronization tool 226, user groupware folder 222, and user customer folder 224. As such, the user may use groupware offline control 218 to access the replicated copies of groupware and customer data stored in local memory. The user may also use groupware to update groupware and customer data. The updated data may be stored in local memory until the user computer 140 connects online to communication server 120 and customer database 130. When reconnected, groupware client 260 may send a message to groupware server 220 that updated data is to be sent. Groupware client 260 may then send the updated data as described above.
If the access is for standard client data, the server 220 may allow (340) the client 260 to access the standard client folder containing the data. The server 220 may then provide (345) the data in the standard data structure for display and manipulation by a standard client folder tool implemented on client 260.
If the access is for special customer data, the server 220 may allow (315) the client 260 to access the customer folder containing the data. The server 220 may determine (320) whether the customer data to be accessed may be fitted into a standard client data structure. If not, the server 220 may provide (335) the data in a special customer data structure for display and manipulation by a special customer folder tool implemented on client 260.
If the customer data to be accessed may be fitted into a standard client data structure, the server 220 may synchronize (325) the special customer data structure containing the data with a standard client data structure by linking the corresponding fields of the two data structures. The server 220 may then provide (330) the data in the standard data structure for display and manipulation by a standard client folder tool implemented on client 260.
The client 260 may replicate (350) the data and store it in local memory on the user computer 140.
If the data is standard client data, the server 220 may receive (440) standard data structures containing the data, which was inputted using a standard client input tool. The server 220 may save (445) the data structure into a standard client folder. Alternatively, the server 220 may forward the data structure to another user's client folder or to another system.
If the data is special customer data, the server 220 may receive (430) special customer data structures containing the data, which was inputted using the special client forms described above. The server 220 may save (435) the data structure into a special customer folder. Alternatively, the server 220 may forward the data structure to another user's customer folder or to another system.
For example, the email tool in Outlook may be synchronized to the business partner information in the CRM database, such that email addresses may be retrieved from the business partner information in the CRM database to populate the “To” field of an email message, for example. The contact tool in Outlook may be synchronized with the business partner information, such that updates made in Outlook may be transmitted to the CRM database, for example. Similarly, the task tool in Outlook may be synchronized with activities in the CRM database and the calendar tool in Outlook may be synchronized with appointments in the CRM database. Accordingly, when access is made in Outlook to the Outlook tools, the CRM data may be accessed therethrough. Or, when updates are made in Outlook or in the CRM database, the updates may be reflected in the other also.
In this figure, the CRM data synchronizes naturally to the Outlook tools. However, in an embodiment where there is no such synchronization, the exchange server 220 may provide a new customer folder on Outlook to view the CRM customer data. The new customer folder may be displayed within the “Folder List” of Outlook and clicked on to access the data. The folder may also provide links to executable CRM routines operable on the folder, e.g., data input routines, open file routines, etc.
Several embodiments of the invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.