IP Library Granted Patent US 8,538,992
Granted Patent B1
US 8,538,992 · App. 10/612,059 · Granted Sep 17, 2013

Methods, systems, and data structures for federating electronic calendars

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,538,992
App. No.
10/612,059
Granted
Sep 17, 2013
Kind
B1
Abstract

The methods, systems, and data structures are taught for federating disparate calendaring systems into composite calendaring systems and composite calendars. First and second calendaring systems are bridged to a composite calendaring system using a bridging communication. The composite calendaring system tracks and presents selective information within a composite calendar.

Claims (20)

1. A non-transitory computer-readable storage medium implemented method that processes on a computer as instructions and the instructions for federating calendaring systems, comprising:

identifying, by the computer, first and second calendaring systems, the first and second calendaring systems are disparate from one another, and the first and second calendaring systems are each represented and defined by a different schema definition, the first calendar system and the second calendaring system are each a particular software calendar product, and the first calendar system is a different calendar product from that than a calendar product which is associated with the second calendar system, the first calendar system is not compatible with the second calendar system, wherein the first and the second calendaring systems are identified by a particular Application Programming Interface (API) interfaced to the method that automatically identifies the first and second calendaring systems for the method, wherein identities for the first and second calendaring systems identify a unique type for each calendaring system, and the unique types provide identification of a bridging communication;

dynamically, by the computer, establishing the bridging communication between the first and second calendaring systems, wherein the bridging communication is defined by a meta schema that combines and integrates the different schema definitions of the first and second calendaring systems, and the meta schema includes definitions and logic for parsing and processing the different schema definitions into new data formats and Application Programming Interface (API) calls used by a composite calendaring system, wherein each different schema definition is used by one of the first or second calendar systems to process calendar data, variable values and parameter data defined in the meta schema for dynamic data substitution within the meta schema, and using calendar access protocol standards with the bridging communication;

presenting, by the computer, the composite calendaring system that uses the bridging communication via the definitions and logic of the meta schema to dynamically coordinate selective information from the first and second calendaring systems and using the bridging communication to process the Application Programming Interface (API) calls and the data formats used by the composite calendaring system, wherein the composite calendaring system is a different calendaring system from the first calendaring system and the second calendaring system and represents a dynamic composite view of the first and second calendaring system kept in dynamic synchronization, the bridging communication is an application that executes on the computer for translating communications occurring with the first calendaring system and the second calendaring system, wherein native events to the composite calendaring system are detected and raised back to both the first and second calendaring systems via the bridging communication and the composite calendaring system, selected actions of the first and second calendaring system raise the native events when notations to a tracking log of at least one of the first or second calendaring system are being made, wherein the composite calendaring system is another software product, and the first calendar system, the second calendar system, and the composite calendar system execute on the computer as software; and

publishing, by the computer, a composite calendar, represented in the composite calendaring system as the synchronization of a first calendar maintained in the first calendaring system and a second calendar maintained in the second calendaring system, the composite calendar published to other composite calendars for other individuals who are different from an individual that is associated with the composite calendar, the first calendar, and the second calendar, the composite calendar inheriting entries from the other composite calendars and creating a hierarchy of composite calendars within the composite calendar, wherein different configurable views within the composite calendaring system are viewed as a tree of inherited composite calendars, wherein inherited composite calendar entries include other inherited composite calendar entries for other inherited composite calendars.

2. The method of claim 1 further comprising, providing, by the computer, at least one of an application programming interface (API) and a protocol to drive the bridging communication.

3. The method of claim 2 wherein in providing the API, rules are provided for selectively configuring the composite calendaring system.

4. The method of claim 1 further comprising using, by the computer, the bridging communication to detect events in the first and second calendaring systems.

5. The method of claim 4 further comprising using, by the computer, the bridging communication to send selective events to the first or second calendaring systems.

6. The method of 1 wherein in presenting the composite calendaring system, visual cues provide distinctions between calendaring entries associated with the first and second calendaring systems.

7. A method implemented as instructions in a computer medium and the instructions embodied within a calendaring system as a composite calendar feature of that calendaring system that executes on a computer, the method, comprising:

identifying, by the computer, first and second calendaring systems, the first and second calendaring systems are disparate from one another, and the first and second calendaring systems are each represented and defined by a different schema definition, the first calendar system and the second calendaring system are each a particular software calendar product, and the first calendar system is a different calendar product than a calendar product which is associated with the second calendar system, the first calendar system is not compatible with the second calendar system, wherein the first and the second calendaring systems are identified by a particular Application Programming Interface (API) interfaced to the method that automatically identifies the first and second calendaring systems for the method, wherein identities for the first and second calendaring systems identify a unique type for each calendaring system, and the unique types provide identification of a bridging communication;

dynamically, by the computer, establishing the bridging communication between the first and second calendaring systems, wherein the bridging communication is defined by a meta schema that combines and integrates the different schema definitions of the first and second calendaring systems, and the meta schema includes definitions and logic for parsing and processing the different schema definitions into new data formats and Application Programming Interface (API) calls used by a composite calendaring system, wherein each different schema definition is used by one of the first or second calendar systems to process calendar data, variable values and parameter data defined in the meta schema for dynamic data substitution within the meta schema, and using calendar access protocol standards with the bridging communication;

presenting, by the computer, the composite calendaring system that uses the bridging communication via the definitions and logic of the meta schema to dynamically coordinate selective information from the first and second calendaring systems and using the bridging communication to process the Application Programming Interface (API) calls and the data formats used by the composite calendaring system, wherein the composite calendaring system is a different calendaring system from the first calendaring system and the second calendaring system and represents a dynamic composite view of the first and second calendaring system kept in dynamic synchronization, the bridging communication is an application that executes on the computer for translating communications occurring with the first calendaring system and the second calendaring system, wherein native events to the composite calendaring system are detected and raised back to both the first and second calendaring systems via the bridging communication and the composite calendaring system, selected actions of the first and second calendaring system raise the native events when notations to a tracking log of at least one of the first or second calendaring system are being made, wherein the composite calendaring system is another software product, and the first calendar system, the second calendar system, and the composite calendar system execute on the computer as software; and

publishing, by the computer, a composite calendar, represented in the composite calendaring system as the synchronization of a first calendar maintained in the first calendaring system and a second calendar maintained in the second calendaring system, the composite calendar published to other composite calendars for other individuals who are different from an individual that is associated with the composite calendar, the first calendar, and the second calendar, the composite calendar inheriting entries from the other composite calendars and creating a hierarchy of composite calendars within the composite calendar, wherein different configurable views within the composite calendaring system are viewed as a tree of inherited composite calendars, wherein inherited composite calendar entries include other inherited composite calendar entries for other inherited composite calendars.

8. The method of claim 7 further comprising, receiving, by the computer, rules associated with defining the tracking of events occurring in the first and second calendaring systems using at least one of an application programming interface (API) and a protocol.

9. The method of claim 8 further comprising, receiving, by the computer, actions through the API that raise composite calendar events which are communicated to the first or second calendaring system using the meta schema.

10. The method of claim 8 wherein in receiving the rules, the API is accessed via the composite calendar system by interacting with a graphical user interface (GUI) application.

11. The method of claim 7 wherein in selecting, the first and second calendaring systems are associated with different entities.

12. The method of claim 7 further comprising using, by the computer, the meta schema for selectively synchronizing contact data or task data, associated with the first and second calendaring systems, as composite contact data or composite task data, which is accessible via the composite calendar system.

Assignments (11)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2003
From: LAWYER, DANIEL C.; HAWKINS, JEFFREY TODD; ISAACSON, SCOTT ALAN; FRENCH, MATTHEW RICHARD; NYLAND JR., JAMES D.; CARTER, STEPHEN R.
To: NOVELL, INC.
Reel/Frame 014262/0271 →