Server Calendar API for Cross-Application Data Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data processing systems face difficulties in accessing and synchronizing different types of data stored in separate data stores, such as email and calendar data, making it challenging for applications to share and manage information effectively.

Innovation Solution

The implementation of an application programming interface (API) that allows access to calendar data stored on a server-hosted calendar store, enabling retrieval, storage, and synchronization of calendar events and tasks across multiple devices and applications, using protocols like IMAP and CalDAV, while providing notifications of data changes and supporting integration with email and address book applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate application programs are used for email and calendar functions, then each application can be optimized for its specific data type, but it becomes difficult for one application to access data stored in another application's data store

Engineering Contradiction:
Improvedata access reliabilityVSAvoidsystem integration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a common data store as an intermediary layer between email and calendar applications. This data store receives data from both applications and provides a unified access interface, allowing applications to share calendar data without direct access to each other's internal data stores. The common data store acts as a mediator that resolves the isolation between separate applications while maintaining their individual optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If each application stores its data in separate data stores, then data integrity for each application is maintained, but applications cannot easily share or synchronize data with each other

Engineering Contradiction:
Improvedata integrityVSAvoiddata sharing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent merges the calendar data functionality into a common data store that is accessible by multiple applications including email clients. While the physical storage is combined in a shared location, the system maintains logical separation through application-specific access interfaces. This allows calendar data to be shared across applications while each application can maintain its own data validation and integrity rules.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If applications need to be aware of data changes made by other applications, then data synchronization can be achieved, but the system complexity and overhead increase significantly

Engineering Contradiction:
Improvedata synchronization efficiencyVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a notification system where the common data store provides feedback to applications when calendar data changes occur. When data is modified in the common data store, the system automatically notifies subscribed applications of the changes. This feedback mechanism enables real-time synchronization without requiring applications to continuously poll for changes, reducing the complexity overhead while maintaining efficient data synchronization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8037021B2Calendaring techniques and interfaces
Publication Date: 2011.10.11 APPLE INC
  • US8037021B2 patent drawing
  • US8037021B2 patent drawing
  • US8037021B2 patent drawing

AI summary

The calendaring techniques and interfaces described herein provide access to calendar data stored in a server hosted calendar store to applications. The calendar data includes calendar events and tasks. In one aspect, an application program interface (API) retrieves an occurrence from a series of reoccurring calendar data upon request from an application. In another aspect, the API sends calendar data provided by the application to a server program that manages a calendar store for storage and queries the server program to retrieve calendar data requested by the application from the calendar store. In yet another aspect, the API sends notifications that the calendar store has changed to interested applications.