Source: https://patents.google.com/patent/US8909662B2/en
Timestamp: 2019-12-10 18:34:55
Document Index: 151984317

Matched Legal Cases: ['application No. 61', 'application No. 61', 'art 300', 'application No. 61', 'application No. 61', 'art 350', 'art 400', 'art 500', 'arts 300', 'arts 300']

US8909662B2 - Message based mobile object with native PIM integration - Google Patents
Message based mobile object with native PIM integration Download PDF
US8909662B2
US8909662B2 US12/649,527 US64952709A US8909662B2 US 8909662 B2 US8909662 B2 US 8909662B2 US 64952709 A US64952709 A US 64952709A US 8909662 B2 US8909662 B2 US 8909662B2
US12/649,527
US20110161383A1 (en
Evan Peter IRELAND
2009-12-30 Application filed by Sybase Inc filed Critical Sybase Inc
2009-12-30 Priority to US12/649,527 priority Critical patent/US8909662B2/en
2009-12-30 Assigned to SYBASE, INC. reassignment SYBASE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALBERTI, JOHANNES, IRELAND, EVAN, HO, MICHAEL, LAU, JEAN
2010-06-10 Priority claimed from US12/813,104 external-priority patent/US9336291B2/en
2011-06-30 Publication of US20110161383A1 publication Critical patent/US20110161383A1/en
2014-12-09 Publication of US8909662B2 publication Critical patent/US8909662B2/en
238000006011 modification Methods 0 abstract claims description 76
230000004048 modification Effects 0 abstract claims description 76
Systems, methods, and computer program products are provided for synchronizing data within a native PIM data store in a device an enterprise data. Data modifications generated by mobile applications on the device, or by an enterprise server, are identified and reflected into the native PIM data store. Additionally, a listener is provided to detect modifications to relevant data within the native PIM data store and reflect these modifications in the mobile applications and the enterprise server. The framework which accomplishes this further provides platform-independent access to the native PIM data store.
The present application is related to co-pending U.S. patent application No. 61/290,990, filed on Dec. 30, 2009 and entitled “Message Based Synchronization for Mobile Business Objects” and U.S. patent application No. 61/290,993, filed on Dec. 30, 2009 and entitled “Pending State Management for Mobile Business Objects”, which are incorporated herein by reference in their entireties.
The present invention relates generally to mobile devices, and, more specifically, to synchronization of native PIM data with mobile applications.
Mobile devices, such as cellular telephones, have evolved into personal organizers holding all manner of information, including contact information, events, tasks, and related functionality. Often, these devices will come equipped with integrated software to provide this functionality, such as e-mail and calendaring applications.
Being designed by, or in cooperation with, the mobile device manufacturer, these integrated software applications are able to leverage the mobile device's Personal Information Management (“PIM”) functions in order to store information such as contacts and calendar events. In an effort to allow other developers to expand the capabilities of their mobile device, the mobile device manufacturer will also generally provide an application programming interface (“API”) to the PIM store for developers to interact with the locally stored data.
Access to the PIM store allows third party applications to, for example, provide additional views of data stored on the mobile device. For example, a mapping application may be able to take contact information stored in the PIM and use it to create a route to the contact's location. The difficulty of this is, however, that the application developer must follow the access conventions stipulated by the mobile device's particular PIM API. These APIs are by no means standardized, and different mobile devices even provide different data storage capabilities.
As a result, the software development process involving PIM data mobile devices is slowed. Additionally, there is no effective way to synchronize data in a local PIM store across an enterprise without purpose-built software.
Accordingly, what is desired is PIM integration for mobile applications.
Embodiments of the invention include a method comprising receiving a data modification message in a communication framework on a device, the communication framework configured to provide platform-independent communications between a mobile application and an enterprise server, identifying a modification to personal information management (“PIM”)-related data within the message, and updating a native PIM store within the device based on the message.
Embodiments of the invention also include a computer-readable medium having computer-executable instructions stored thereon that, if executed by a computing device, cause the computing device to perform a method comprising receiving a data modification message in a communication framework on a device, the communication framework configured to provide platform-independent communications between a mobile application and an enterprise server, identifying a modification to personal information management (“PIM”)-related data within the message, and updating a native PIM store within the device based on the message.
Embodiments of the invention also include a system comprising a memory configured to store modules comprising a receiving module configured to receive a data modification message in a communication framework on a device, the communication framework configured to provide platform-independent communications between a mobile application and an enterprise server, an identifying module configured to identify a modification to personal information management (“PIM”)-related data within the message, and an updating module configured to update a native PIM store within the device based on the message, and one or more processors configured to process the modules.
Embodiments of the invention also include a method comprising monitoring a native personal information management (“PIM”) store within a device for data modifications therein, detecting a modification to data within the native PIM store, notifying a mobile application executing on the device of the modification, and transmitting a message reflecting the modification to an enterprise server using a communication framework configured to provide platform-independent communications between the mobile device and the enterprise server.
Embodiments of the invention also include a computer-readable medium having computer-executable instructions stored thereon that, if executed by a computing device, cause the computing device to perform a method comprising monitoring a native personal information management (“PIM”) store within a device for data modifications therein, detecting a modification to data within the native PIM store, notifying a mobile application executing on the device of the modification, and transmitting a message reflecting the modification to an enterprise server using a communication framework configured to provide platform-independent communications between the mobile device and the enterprise server.
Embodiments of the invention also include a system comprising a memory configured to store modules comprising a monitoring module configured to monitor a native personal information management (“PIM”) store within a device for data modifications therein, a detecting module configured to detect a modification to data within the native PIM store, a notifying module configured to notify a mobile application executing on the device of the modification, and a transmitting module configured to transmit a message reflecting the modification to an enterprise server using a communication framework configured to provide platform-independent communications between the mobile device and the enterprise server, and one or more processors configured to process the modules.
FIG. 1 is an exemplary enterprise network in which a mobile device is connected to an enterprise server.
FIG. 2 is an enterprise network, in accordance with an embodiment of the present invention.
FIG. 3A is a flowchart illustrating steps by which a native PIM store is updated responsive to mobile application data, in accordance with an embodiment of the present invention.
FIG. 3B is a flowchart illustrating steps by which enterprise server provides feedback regarding the CUD message, in accordance with an embodiment of the present invention.
FIG. 4 is a flowchart illustrating steps by which modifications from native PIM applications can be synchronized with a mobile application and an enterprise server, in accordance with an embodiment of the present invention.
FIG. 5 is a flowchart illustrating steps by which CUD modifications originating at an enterprise server are reflected in a native PIM store, in accordance with an embodiment of the present invention.
FIG. 6 depicts an example computer system in which embodiments of the present invention may be implemented.
It would be apparent to one of skill in the art that the present invention, as described below, can be implemented in many different embodiments of software, hardware, firmware, and/or the entities illustrated in the figures. Any actual software code with the specialized control of hardware to implement the present invention is not limiting of the present invention. Thus, the operational behavior of the present invention will be described with the understanding that modifications and variations of the embodiments are possible, and within the scope and spirit of the present invention.
Reference to modules in this specification and the claims means any combination of hardware or software components for performing the indicated function. A module need not be a rigidly defined entity, such that several modules may overlap hardware and software components in functionality. For example, a software module may refer to a single line of code within a procedure, the procedure itself being a separate software module. One skilled in the relevant arts will understand that the functionality of modules may be defined in accordance with a number of stylistic or performance-optimizing techniques, for example.
FIG. 1 is an exemplary enterprise network 100 in which a mobile device 102 is connected to an enterprise server 112. This connection is generally over a wide area network, such as the Internet, but can be any other communications means. In this example network, mobile device 102 has a native PIM store 104 which applications can interface through the use of native PIM API 106. As further shown, native PIM application 108, such as a phone dialer with contacts list built-in to a telephone mobile device, is designed to interface with the PIM store 104 through the PIM API 106. However, the PIM API 106 is the only means of access to the native PIM store 104, so a mobile application 110 must also use the PIM API 106 to access the PIM store 104.
The configuration shown in FIG. 1 therefore requires that a developer of mobile application 110 write the application specifically to use the native PIM API 106 of mobile device 102. However, different mobile devices, such as mobile devices 114 a-c, each have their own APIs for interfacing their respective PIM stores, requiring that the mobile application 110 developer create a number of versions of the application targeted to each mobile platform. For example, the API for interfacing PIM stores within the APPLE IPHONE, developed by APPLE COMPUTER, INC. of Cupertino, Calif. is different from the API for interfacing PIM stores within the BLACKBERRY, developed by RESEARCH IN MOTION of Waterloo, Ontario, Canada.
The configuration shown in FIG. 1 misses many opportunities to fully utilize the capabilities provided by an integral data store such as the PIM store. This is resolved using the mechanisms detailed herein.
II. Integration with Native PIM Stores
FIG. 2 is an enterprise network 200, in accordance with an embodiment of the present invention. Similar to FIG. 1, network 200 comprises a mobile device 202 in communication with an enterprise server 212 via a wireless and/or wired communication network, such as, but not limited to, the Internet. One skilled in the relevant arts will appreciate that a number of communication networks may be used, including communications via several wireless and/or wired communication networks (e.g., cellular provider network hops combined with Internet backbone hops).
As before, mobile device 202 comprises a native PIM store 204 with a native PIM API 206. Native PIM application 208, such as integrated calendar software, is designed to use this native PIM API 206 to readily interface with the PIM store 204 capabilities of the mobile device 202. One skilled in the relevant arts will further appreciate that PIM API 206 may be provided solely for the benefit of third party developers, and native PIM application 208 may communicate with native PIM store 204 using lower-level functionality or undocumented procedures, based on the level of familiarity developers of native PIM application 208 would have with the mobile device 202.
Here, however, mobile device 202 further comprises a framework PIM component 209, in accordance with an embodiment of the present invention. This component provides a framework which developers of mobile application 210 can target regardless of the particular requirements of mobile device 202, in accordance with a further embodiment of the present invention.
Framework PIM component 209 is part of a larger framework which enables communications between mobile application 210 and enterprise server 212, in accordance with an embodiment of the present invention. Such communication between mobile application 210 and enterprise server 212 is in the form of Mobile Business Objects (“MBOs”), which are a representation of a subset of data contained in enterprise server 212, in accordance with a further embodiment of the present invention. A non-limiting example of MBOs is provided in U.S. patent application Ser. No. 12/503,573, filed on Jul. 15, 2009, entitled “Metadata Driven Mobile Business Objects,” which is incorporated by reference herein in its entirety.
Mobile application 210 can receive MBOs from enterprise server 212 containing data which would duplicate functionality provided by the native PIM store 204, in accordance with an embodiment of the present invention. For example, mobile application 210 can synchronize contacts for an enterprise by receiving the appropriate MBOs from enterprise server 212. Mobile application 210 could update a contact, for example, and enterprise server 212 could provide these updates to other mobile devices 214 a-c in the enterprise network 200.
By updating the native PIM store 204 to include data shared and received by mobile application 210, it is possible to access this data using native PIM application 208 without the need to open mobile application 210. For example, if the data exchanged by mobile application 210 with enterprise server 212 is in the form of contact information for employees within an enterprise, it would be advantageous to allow a user to call one of the employees using this contact information directly from the mobile device's 202 built-in dialer without having to first open mobile application 210.
In accordance with an embodiment of the present invention, framework PIM component 209, as part of the framework enabling communications between mobile application 210 and enterprise server 212, provides a layer of abstraction between mobile application 210 and native PIM store 204. This allows a mobile application 210 developer to access native PIM store 204 using an interface provided by framework PIM component 209, rather than coding directly for native PIM API 206. In accordance with an embodiment of the present invention, framework PIM component 209 is provided for a number of mobile device 202 platforms in order to interface with each platform's unique native PIM API 206. However, these differences are not exposed to mobile application 210, who simply sees the common interface provided by framework PIM component 209.
As noted, one of the advantages of framework PIM component 209 is the ability to provide a common access methodology to native PIM store 204 regardless of target platform, in accordance with an embodiment of the present invention. However, different native PIM stores 204 have different capabilities, and it is useful to have some way to account for this. For example, a contact within one mobile device's 202 native PIM store may have more fields (e.g., address lines 1, 2, and 3) than the native PIM store of another device (e.g., having only address lines 1 and 2).
A PIM data model is used to abstract the native PIM store 204 for different devices, using an XML document to create a mapping between node fields in a special PIM MBO and fields in the PIM data model, in accordance with an embodiment of the present invention. The PIM MBO can be defined in accordance with non-limiting examples shown in U.S. patent application Ser. No. 12/503,573, filed on Jul. 15, 2009, entitled “Metadata Driven Mobile Business Objects,” which is incorporated by reference herein in its entirety. One skilled in the relevant arts will appreciate that other communication formats besides MBOs can be used to communicate PIM data, and the use of MBOs is provided by way of example, and not limitation.
Information is shared between mobile application 210 and enterprise server 212 via framework PIM component 209 using this PIM MBO. Data-containing nodes within the PIM MBO are flagged to indicate whether they contain data that needs to be updated to the native PIM store 204, in accordance with an embodiment of the present invention. The mapping of these nodes to fields in the PIM data model provided by the XML document can further be edited by a developer in order to ensure useful storage of data within the native PIM store 204, so that data from different fields (e.g., two address lines vs. three address lines) are properly utilized, in accordance with an embodiment of the present invention.
Various ways in which data is accessed and updated within the native PIM store 204 are now discussed.
III. Data Creates, Updates, or Deletions by Mobile Application
FIG. 3A is a flowchart 300 illustrating steps by which a native PIM store 204 is updated responsive to mobile application 210 data, in accordance with an embodiment of the present invention. The method starts at step 302 and proceeds to step 304 where the mobile application 210 creates, updates, or deletes data which is exchanged with enterprise server 212, in accordance with an embodiment of the present invention. The result of this (c)reation, (u)pdate, or (d)eletion is the generation of a CUD message reflecting the changes in data.
In accordance with an embodiment of the present invention, modification of data by mobile application 210 is handled through the use of download states and pending states stored in a main table of a local database, and an original state stored in an original state table of the local database, depending on the type of operation. Further detail is provided in U.S. patent application No. 61/290,993, filed on Dec. 30, 2009 and entitled “Pending State Management for Mobile Business Objects”, which is incorporated herein by reference in its entirety.
In accordance with an embodiment of the present invention, mobile application 210 contains a local data store in which the CUD changes are made. The CUD message is generated once mobile application 210 indicates a desire to commit these changes, at which time multiple pending CUD changes may be merged into a single CUD message.
At step 306, this CUD message is sent to the enterprise server 212 via the framework to which framework PIM component 209 belongs, in accordance with an embodiment of the present invention. In accordance with a further embodiment of the present invention, this CUD message is replayed against data contained within enterprise server 212 in order to perform the same change to its locally stored data.
Framework PIM component 209 detects the presence of PIM data in the CUD message at step 308. In accordance with an embodiment of the present invention, this detection occurs by identifying flagged data, as noted above, which is to be stored in the native PIM store 204. At step 310, framework PIM component 209 updates the native PIM store 204 to include this information, per the mappings indicated within the mapping XML document, in accordance with a further embodiment of the present invention. The method ends at step 312.
When a CUD message is sent to enterprise server 212, the change, update, or deletion will need to be synchronized with the other mobile devices 210 in enterprise network 200, in accordance with an embodiment of the present invention. Moreover, mobile device 210 needs to be informed as to the success or failure of the CUD message. This is accomplished, in accordance with an embodiment of the present invention, by sending a reply message from enterprise server 212 to mobile device 210 indicating the status of the CUD message.
In accordance with a further embodiment of the present invention, the CUD message is transmitted using message based synchronization (“MBS”) to an intermediary synchronization server. MBS is described in further detail in U.S. patent application No. 61/290,990, filed on Dec. 30, 2009 and entitled “Message Based Synchronization for Mobile Business Objects”, which is incorporated herein by reference in its entirety.
FIG. 3B is a flowchart 350 illustrating steps by which enterprise server 212 provides feedback regarding the CUD message, in accordance with an embodiment of the present invention. The method begins at step 352 and proceeds to step 354 where the framework PIM component 209 receives a reply from enterprise server 212 to the CUD message. Then, to ensure synchronization of data, framework PIM component 209 updates the native PIM store 204 using the reply at step 356, in accordance with an embodiment of the present invention. Mobile application 210 is also notified of the reply at step 358 in order to maintain consistency in its own records, and the method ends at step 360.
This additional update to native PIM data store 204 at step 356 provides for the eventual convergence of the original CUD message, and the actual response to replaying the CUD message at enterprise server 212. However, by having updated the native PIM store 204 upon generation of the CUD message (i.e., when the mobile application 210 originated a creation, update, or deletion), the user sees an immediate response. It is possible, for example, that mobile device 202 is operated in a disconnected state, such as when mobile device 210 is a cellular telephony device and is operated in an area with limited cellular connectivity. In this case, communications with enterprise server 212 may be delayed. If the user updates, for example, contact information within mobile application 210, it is useful from a functionality perspective to have this update reflected immediately within the native PIM store 204. However, in accordance with an embodiment of the present invention, it is possible to skip this initial update (e.g., step 310 of FIG. 3A) and only update upon receipt of a confirming reply message from enterprise server 212.
The reply message from enterprise server 212 may reflect a failure to replay the CUD message against data in enterprise server 212, in accordance with an embodiment of the present invention. The result of this would be a rollback operation, restoring data within mobile application 210 and the native PIM store 204 to their original values. However, until such a reply message is received, the native PIM store 204 would immediately reflect the CUD message based on performance of step 310, in accordance with an embodiment of the present invention.
IV. Data Creates, Updates, or Deletes by Native PIM Application
Framework PIM component 209 further comprises a listener component, in accordance with an embodiment of the present invention. This listener monitors native PIM store 204 for any changes, updates, or deletions, which can then be used by framework PIM component 209 to notify the mobile application 210 to generate a CUD message reflecting these modifications to the native PIM store 204.
Although the listener is primarily interested in detecting modifications to native PIM store 204 made by native PIM applications 208 in order to reflect these changes in mobile application 210 and enterprise server 212, the listener is first configured to detect any modification regardless of source. However, framework PIM component 209 provides a mechanism whereby a unique PIM reference ID is generated when a CUD message is received from either mobile application 210 or enterprise server 212, in accordance with an embodiment of the present invention. When modifications to native PIM store 204 originate from mobile application 210 or enterprise server 212, the listener will nevertheless detect that a modification has been made. However, the result will correlate to one of the existing PIM reference IDs generated by a modification originating at mobile application 210 or enterprise server 212. Based on this correlation, it is known that this modification does not need to be broadcast.
Otherwise, it is known that the modification originated with the native PIM application 208, and will need to be transmitted to mobile application 210 and enterprise server 212 in the form of a CUD message. FIG. 4 is a flowchart 400 illustrating steps by which modifications from native PIM applications 208 can be synchronized with the mobile application 210 and enterprise server 212, in accordance with an embodiment of the present invention.
The method begins at step 402 and proceeds to step 404 where a native PIM application performs a creation, update, or deletion of PIM data in the native PIM store 204, in accordance with an embodiment of the present invention. The listener within framework PIM component 209 detects this CUD modification at step 406.
At step 408, a determination is made as to whether this CUD modification affects data relevant to mobile application 210, in accordance with an embodiment of the present invention. In accordance with a further embodiment of the present invention, this relevancy is determined based on data within the PIM data model XML document, as previously discussed. If the CUD modification is not relevant to mobile application 210, then it is ignored at step 412, and the method ends at step 418. Otherwise, the method proceeds to step 410.
As discussed above, framework PIM component 209 is responsible for detecting the source of the modification identified by the listener, in order to prevent the creation of a CUD message where the source was mobile application 210 or enterprise server 212. Accordingly, at step 410, a determination is made as to whether the detected CUD modification was originated by framework PIM component 209 itself. If so, then this modification is ignored at step 412, and the method ends at step 418.
Otherwise, such as when the detected CUD modification was originated by the native PIM application 208, the method proceeds to step 414, where a notification reflecting the detected CUD modification is sent to mobile application 210. Mobile application 210 is then able to apply this CUD modification to its own internal data stores, and generate a CUD request message at step 416 to be transmitted to enterprise server 416. The method ends at step 418.
IV. Data Creates, Updates, or Deletes by Enterprise Server
FIG. 5 is a flowchart 500 illustrating steps by which CUD modifications originating at enterprise server 212 are reflected in native PIM store 204, in accordance with an embodiment of the present invention. The method begins at step 502 and proceeds to step 504 where the framework to which framework PIM component 209 belongs receives a CUD message from enterprise server 504. The framework is able to analyze the message to determine that, as a CUD message, it should be handled by framework PIM component 209, in accordance with an embodiment of the present invention. This determination is shown at step 506. If the message is other than a CUD message relevant to PIM data, the message is still sent by the framework to the receiving mobile application 210 at step 510 for regular processing.
However, if the message does contain PIM-related data, such as a CUD message, then framework PIM component 209 updates the local PIM store with data from the message at step 508. In similar manner as described above, this update generates a unique PIM reference ID, which is used to correlate the eventual corresponding modification detected by the listener to this requested modification to avoid interpretation of the modification as originating with a native PIM application 208. The method then ends at step 512.
Various aspects of the present invention can be implemented by software, firmware, hardware, or a combination thereof. FIG. 6 illustrates an example computer system 600 in which the present invention, or portions thereof, can be implemented as computer-readable code. For example, the methods illustrated by flowcharts 300 of FIG. 3A, 350 of FIG. 3B, 400 of FIG. 4, and 500 of FIG. 5, can be implemented in system 600. Various embodiments of the invention are described in terms of this example computer system 600. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
Computer system 600 also includes a main memory 608, preferably random access memory (RAM), and may also include a secondary memory 610. Secondary memory 610 may include, for example, a hard disk drive 612, a removable storage drive 614, and/or a memory stick. Removable storage drive 614 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like. The removable storage drive 614 reads from and/or writes to a removable storage unit 618 in a well known manner. Removable storage unit 618 may comprise a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 614. As will be appreciated by persons skilled in the relevant art(s), removable storage unit 618 includes a computer usable storage medium having stored therein computer software and/or data.
In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage unit 618, removable storage unit 622, and a hard disk installed in hard disk drive 612. Signals carried over communications path 626 can also embody the logic described herein. Computer program medium and computer usable medium can also refer to memories, such as main memory 608 and secondary memory 610, which can be memory semiconductors (e.g. DRAMs, etc.). These computer program products are means for providing software to computer system 600.
Computer programs (also called computer control logic) are stored in main memory 608 and/or secondary memory 610. Computer programs may also be received via communications interface 624. Such computer programs, when executed, enable computer system 600 to implement the present invention as discussed herein. In particular, the computer programs, when executed, enable processor 604 to implement the processes of the present invention, such as the steps in the methods illustrated by flowcharts 300 of FIG. 3A, 350 of FIG. 3B, 400 of FIG. 4, and 500 of FIG. 5, discussed above. Accordingly, such computer programs represent controllers of the computer system 600. Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 600 using removable storage drive 614, interface 620, hard drive 612 or communications interface 624.
receiving a data modification message in a communication framework on a device capable of mobile use, the communication framework configured to provide platform-independent communications between a mobile application and an enterprise server, wherein the mobile application is a non-native application incapable of interfacing with a native personal information management (“PIM”) store using a native PIM API (Application Programming Interface);
identifying, by the communication framework on the device, a modification to PIM-related data within the message
updating, by the communication framework, the native PIM store within the device based on the message, wherein the native PIM store is platform-dependent;
transmitting the message to the enterprise server;
receiving a reply from the enterprise server; and
performing an additional update of the native PIM store based on the reply.
transmitting the message to the enterprise server, if the message originated at the mobile application, or to the mobile application, if the message originated at the enterprise server.
3. The method of claim 2, wherein the message reflects a change, update, or deletion of data within the mobile application or the enterprise server.
4. The method of claim 1, wherein the enterprise server receives the transmitted message and replays the data modification, the reply comprising a status reflecting the success or failure of the replay operation.
5. The method of claim 1, wherein updating the native PIM store comprises:
correlating data within the message to fields within the native PIM store based on an XML document.
6. A non-transitory computer-readable storage device having computer-executable instructions stored thereon, execution of which, by a computing device, causes the computing device to perform operations comprising:
identifying a modification to PIM-related data within the message;
updating the native PIM store within the device based on the message;
7. The non-transitory computer-readable storage device of claim 6, the operations further comprising:
8. The non-transitory computer-readable storage device of claim 7, wherein the message reflects a change, update, or deletion of data within the mobile application or enterprise server.
9. The non-transitory computer-readable storage device of claim 6, wherein the enterprise server receives the transmitted message and replays the data modification, the reply comprising a status reflecting the success or failure of the replay operation.
10. The non-transitory computer-readable storage device of claim 6, wherein updating the native PIM store comprises:
a memory configured to store modules comprising:
a receiving module configured to receive a data modification message in a communication framework on a device capable of mobile use, the communication framework configured to provide platform-independent communications between a mobile application and an enterprise server, wherein the mobile application is a non-native application incapable of interfacing with a native personal information management (“PIM”) store using a native PIM API (Application Programming Interface),
an identifying module configured to identify a modification to PIM-related data within the message using the communication framework,
an updating module configured to update the native PIM store within the device based on the message using the communication framework, wherein the native PIM store is platform-dependent,
a transmitting module configured to transmit the message to the enterprise server
the receiving module configured to receive a reply from the enterprise server
the updating module configured to perform an additional update of the native PIM store based on the reply, and
monitoring a native personal information management (“PIM”) store within a mobile device for data modifications therein, wherein the native PIM store is platform-dependent;
detecting a modification to data within the native PIM store using a communication framework configured to provide platform-independent communications between a mobile application on the mobile device and an enterprise server, wherein the mobile application is a non-native application incapable of interfacing with the native PIM store using a native PIM API (Application Programming Interface);
notifying the mobile application executing on the mobile device of the modification using the communication framework;
transmitting a message reflecting the modification to the enterprise server using the communication framework;
determining whether the modification affects data relevant to the mobile application based on an XML document.
determining whether the modification was generated by the mobile application or the enterprise server based on correlation of an identifier associated with the modification and, if so, ignoring the modification.
15. A non-transitory computer-readable storage device having computer-executable instructions stored thereon, execution of which, by a computing device, causes the computing device to perform operations comprising:
16. The non-transitory computer-readable storage device of claim 15, the operations further comprising:
17. The non-transitory computer-readable storage device of claim 15, the operations further comprising:
a monitoring module configured to monitor a native personal information management (“PIM”) store within a mobile device for data modifications therein, wherein the native PIM store is platform-dependent,
a detecting module configured to detect a modification to data within the native PIM store using a communication framework configured to provide platform-independent communications between a mobile application on the mobile device and an enterprise server, wherein the mobile application is a non-native application incapable of interfacing with the native PIM store using a native PIM API (Application Programming Interface),
a notifying module configured to notify the mobile application executing on the mobile device of the modification using the communication framework,
a transmitting module configured to transmit a message reflecting the modification to the enterprise server using the communication framework,
a receiving module configured to receive a reply from the enterprise server,
an updating module configured to perform an additional update of the native PIM store based on the reply, and
US12/649,527 2009-12-30 2009-12-30 Message based mobile object with native PIM integration Active 2033-01-12 US8909662B2 (en)
US12/649,527 US8909662B2 (en) 2009-12-30 2009-12-30 Message based mobile object with native PIM integration
US12/813,104 US9336291B2 (en) 2009-12-30 2010-06-10 Message based synchronization for mobile business objects
CN201080059623.6A CN102742303B (en) 2009-12-30 2010-12-14 Moving objects having locally an integrated message-based pim
PCT/US2010/060290 WO2011090598A2 (en) 2009-12-30 2010-12-14 Message based mobile object with native pim integration
EP10844188.2A EP2520107A4 (en) 2009-12-30 2010-12-14 Message based mobile object with native pim integration
US20110161383A1 US20110161383A1 (en) 2011-06-30
US8909662B2 true US8909662B2 (en) 2014-12-09
ID=44188743
US12/649,527 Active 2033-01-12 US8909662B2 (en) 2009-12-30 2009-12-30 Message based mobile object with native PIM integration
US (1) US8909662B2 (en)
EP (1) EP2520107A4 (en)
CN (1) CN102742303B (en)
WO (1) WO2011090598A2 (en)
US6381241B1 (en) 1997-09-30 2002-04-30 Wireless Access Duplicate message detection and mending of garbled messages
KR20030072693A (en) 2002-03-06 2003-09-19 윤일권 Method and apparatus for providing network contents between mobile devices subscribed with another telecommunication service systems
US20040133599A1 (en) 2003-01-03 2004-07-08 Microsoft Corporation System and method for improved client server communications of email messages
US20050021354A1 (en) 2003-07-22 2005-01-27 Rainer Brendle Application business object processing
US20050055465A1 (en) 2003-09-08 2005-03-10 Sony Corporation Generic API for synchronization
US20050268032A1 (en) 2004-05-11 2005-12-01 Somsubhra Sikdar Semantic processor storage server architecture
US20060112398A1 (en) 2004-11-23 2006-05-25 Sybase, Inc. System and Methodology Providing Service Invocation for Occasionally Connected Computing Devices
KR20060060629A (en) 2006-03-17 2006-06-05 이승재 Data store and search method for mobile communication terminal
US7130871B2 (en) 2002-10-17 2006-10-31 International Business Machines Corporation Method and apparatus for representing deleted data in a synchronizable database
US20070099640A1 (en) 2005-05-04 2007-05-03 Sanjeev Khushu Arbitration of resources at a wireless device among contending applications
US20080104133A1 (en) 2006-10-27 2008-05-01 Purdue Pharma L.P. Data cache techniques in support of synchronization of databases in a distributed environment
US20080120304A1 (en) 2006-11-21 2008-05-22 Calio Robert J Method and system for providing high performance data modification of relational database tables
US20080155525A1 (en) 2006-12-21 2008-06-26 Sybase, Inc. Synchronization patterns for mobile applications
US20090037395A1 (en) 2007-08-01 2009-02-05 Sybase, Inc. Persistent query system for automatic on-demand data subscriptions from mobile devices
US20090059512A1 (en) 2007-09-04 2009-03-05 Apple Inc. Protocol for remote user interface for portable media device with dynamic playlist management
US20090177800A1 (en) 2008-01-08 2009-07-09 New Act Ltd. System and method for client synchronization for a communication device
US20090187622A1 (en) 2006-09-30 2009-07-23 Huawei Technologies Co., Ltd. Method, system and apparatus for data synchronization
US20090198772A1 (en) 2008-01-31 2009-08-06 Samsung Electronics Co. Ltd. Data synchronization method and system between devices
US20090222402A1 (en) 2008-02-29 2009-09-03 Research In Motion Limited System and method for presentation of local and remote message search results
US20090254601A1 (en) 2004-09-02 2009-10-08 Broadway Technology Llc System for sharing data objects among applications
US7606838B2 (en) 2006-02-22 2009-10-20 Microsoft Corporation Distributed conflict resolution for replicated databases
US20090293069A1 (en) * 2007-07-02 2009-11-26 Huawei Technologies Co., Ltd. Method and apparatus for synchronizing data between terminals
US20090307284A1 (en) 2008-06-05 2009-12-10 Palm, Inc. Data backup for a mobile computing device
US20100030783A1 (en) 2008-08-01 2010-02-04 Sybase, Inc. Metadata Driven Mobile Business Objects
US20100169451A1 (en) * 2008-12-29 2010-07-01 International Business Machines Corpporation Processing recurring events within personal information management clients
US7805420B2 (en) 2006-11-20 2010-09-28 Microsoft Corporation Versioning and concurrency control for multiple client access of data
US20110154315A1 (en) 2009-12-22 2011-06-23 Verizon Patent And Licensing, Inc. Field level concurrency and transaction control for out-of-process object caching
US20110161349A1 (en) 2009-12-30 2011-06-30 Sybase, Inc. Message based synchronization for mobile business objects
KR20110074059A (en) 2009-12-24 2011-06-30 엘지전자 주식회사 Mobile terminal and data management method for mobile terminal
US20110161290A1 (en) 2009-12-30 2011-06-30 Sybase, Inc. Data caching for mobile applications
US20110161339A1 (en) * 2009-12-30 2011-06-30 Sybase, Inc. Pending state management for mobile business objects
US8086661B2 (en) 2005-03-03 2011-12-27 Gravic, Inc. Method for resolving collisions in a database replication system by relaxing a constraint that contributes to collisions, or removing the cause of the constraint that contributes to the collisions
US8131670B2 (en) 2007-02-22 2012-03-06 Microsoft Corporation Techniques to cross-synchronize data
US20120158828A1 (en) 2010-12-21 2012-06-21 Sybase, Inc. Bulk initial download of mobile databases
US8218549B2 (en) 2007-06-18 2012-07-10 International Business Machines Corporation Synchronization of message stream in a multi-tier messaging system
US8326279B2 (en) * 2008-02-12 2012-12-04 Microsoft Corporation Utilizing mobile device functionality from remote computers
KR100672451B1 (en) * 2004-09-07 2007-01-24 엘지전자 주식회사 Mobile terminal and System for management of personal information using thereof and Method thereof
US20090198722A1 (en) * 2008-01-31 2009-08-06 Stephen Michael Hanson System and method for deriving the minimum number of bytes required to represent numeric data with different physical representations
2009-12-30 US US12/649,527 patent/US8909662B2/en active Active
2010-12-14 EP EP10844188.2A patent/EP2520107A4/en active Pending
2010-12-14 CN CN201080059623.6A patent/CN102742303B/en active IP Right Grant
2010-12-14 WO PCT/US2010/060290 patent/WO2011090598A2/en active Application Filing
US20120158795A1 (en) 2010-12-21 2012-06-21 Sybase, Inc. Entity triggers for materialized view maintenance
Aboulnaga, A. and Aref, W. G., "Window Query Processing in Linear Quadtrees," in Distributed and Parallel Databases, vol. 10, pp. 111-126 (2001).
Aref, W. G. and Samet, H., "Efficient Window Block Retrieval in Quadtree-Based Spatial Databases," in GeoInformatica, vol. 1, Chapter 1, pp. 59-91 (Apr. 1997).
Aref, W. G. and Samet, H., "Estimating Selectivity Factors of Spatial Operations," in Foundations of Models and Languages for Data and Objects, A. Heuer, & M. H. Scholl edition, pp. 31-43 (Aug. 14, 1993).
English Abstract for Korean Patent Pub. No. 10-2003-0072693 A, published Sep. 19, 2003, 1 page, from http://worldwide.espacenet.com.
English Abstract for Korean Patent Pub. No. 10-2006-0060629 A, published Jun. 5, 2006, 1 page, from http://worldwide.espacenet.com.
English Abstract for Korean Patent Pub. No. 10-2011-0074059 A, published Jun. 30, 2011, 1 page, from http://worldwide.espacenet.com.
Extended European Search Report, dated Sep. 27, 2011, for European Patent Appl. No. 09803252.7, 7 pages.
Fang, Y. et al., "Spatial Indexing in Microsoft SQL Server 2008," in Proceedings of the 2008 ACM SIGMOD International Conference on Arrangement of Data, ACM, New York, NY, pp. 1207-1215 (2008).
Gargantini, I., "An Effective Way to Represent Quadtrees," in Communications of the ACM, vol. 25, No. 12, ACM, New York, NY, pp. 905-910 (Dec. 1982).
International Search Report and Written Opinion for International Application No. PCT/US2011/065197, dated May 29, 2012, 9 pages.
Kothuri, R. K. V. et al., "Quadtree and R-Tree Indexes in Oracle Spatial: A Comparison Using GIS Data," in Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data, ACM, New York, NY, pp. 546-557 (2002).
Kriegel, H.-P. et al., "Statistic Driven Acceleration of Object-Relational Space-Partitioning Index Structures," in Database Systems for Advances Applications, 14 pages, Jeju Island, Korea, Springer (2004).
Linthicum, David S., "Chapter 11: Database-Oriented Middleware and EAI", In Enterprise Application Integration, Addison-Wesley, XP002579155, ISBN: 978-0-201-61583-8, May 1, 2000.
Linthicum, David S., "Chapter 20: EAI Moving Forward," In Enterprise Application Integration, Addison-Wesley, XP000002659187, ISBN: 0-201-61583-5, pp. 339-349, May 1, 2000.
Notification of Transmittal of the International Search Report and Written Opinion, dated Aug. 2, 2011, for PCT Appl. No. PCT/US2010/060293, 11 pages.
Notification of Transmittal of the International Search Report and Written Opinion, dated Aug. 5, 2011, for PCT Appl. No. PCT/US2010/060296, 9 pages.
Notification of Transmittal of the International Search Report and Written Opinion, dated Jul. 28, 2011, for PCT Appl. No. PCT/US2010/060290, 10 pages.
Notification of Transmittal of the International Search Report and Written Opinion, dated Mar. 18, 2010, for PCT Appl. No. PCT/US2009/004343, 11 pages.
Office Action mailed Apr. 11, 2012, for U.S. Appl. No. 12/813,104, Ireland et al., filed Jun. 10, 2010, 16 pages.
Office Action mailed Apr. 25, 2012 in U.S. Appl. No. 12/503,573, Ho et al., filed Jul. 15, 2009, 14 pages.
Office Action mailed Jan. 3, 2012 in U.S. Appl. No. 12/760,233, Waterman et al., filed Apr. 14, 2010, 8 pages.
Office Action mailed Jul. 3, 2012 in U.S. Appl. No. 12/760,233, Waterman et al., filed Apr. 14, 2010, 9 pages.
Office Action, mailed Jun. 27, 2012 in U.S. Appl. No. 12/797,975, Ireland et al., filed Jun. 10, 2010, 9 pages.
Office Action, mailed Mar. 7, 2012 in U.S. Appl. No. 12/797,975, Ireland et al., filed Jun. 10, 2010, 8 pages.
Office Communication, dated Aug. 27, 2012, for U.S. Appl. No. 13/286,372, filed Nov. 1, 2011, 12 pages.
Office Communication, dated Sep. 19, 2011, for U.S. Appl. No. 12/503,573, filed Jul. 15, 2009, 12 pages.
Office Communication, dated Sep. 25, 2012, for U.S. Appl. No. 12/813,104, filed Jun. 10, 2010, 14 pages.
Orenstein, J. A., "Redundancy in Spatial Databases," in Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data, ACM, New York, NY, USA, pp. 294-305 (1989).
Samet, H., Foundations of Multidimensional and Metric Data Structures, Morgan Kaufmann, pp. 28-48, 191-193, 204-205, and 211-220 (2006).
Sinitsyn, A. "A Synchronization Framework for Personal Mobile Servers," Second IEEE Annual Conference on Pervasive Computing and Communications, Includes Workshop Papers, Orlando, Florida, pp. 1-5, Mar. 14-17, 2004.
U.S. Appl. No. 13/478,181, Lorenz et al., filed May 23, 2012, entitled "Cache Conflict Detection".
U.S. Appl. No. 13/478,185, Lorenz et al., filed May 23, 2012, entitled "Composite Graph Cache Management".
WO2011090598A3 (en) 2011-11-03
US20110161383A1 (en) 2011-06-30
EP2520107A4 (en) 2017-01-25
CN102742303A (en) 2012-10-17
WO2011090598A2 (en) 2011-07-28
CN102742303B (en) 2016-03-02
EP2520107A2 (en) 2012-11-07
RU2419865C2 (en) 2011-05-27 Model for synchronising equal participants
KR20090084091A (en) 2009-08-05 Device and mehtod for synchronizing data in data communication devices
JP2010533389A (en) 2010-10-21 Method and apparatus for synchronizing data sets in a wireless environment
DE60220676T2 (en) 2008-03-06 Consistent reading in a distributed database environment
KR101224721B1 (en) 2013-01-21 System and method for a context-awareness platform
US7526768B2 (en) 2009-04-28 Cross-pollination of multiple sync sources
US6928458B2 (en) 2005-08-09 System and method for translating synchronization information between two networks based on different synchronization protocols
US7792794B2 (en) 2010-09-07 N-way synchronization of computer databases
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HO, MICHAEL;LAU, JEAN;IRELAND, EVAN;AND OTHERS;SIGNING DATES FROM 20091216 TO 20091222;REEL/FRAME:023716/0850