IP Library Granted Patent US 8,037,110
Granted Patent B2
US 8,037,110 · App. 11/964,868 · Granted Oct 11, 2011

Business data access client for online/offline client use

Assignee: Microsoft Corporation
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,037,110
App. No.
11/964,868
Granted
Oct 11, 2011
Kind
B2
Abstract

Architecture for uninterrupted access to business data by enabling work on rich client machines to be stored in a local business data cache that is always available. A dispatching mechanism executes read/write requests against the local cache transparently to a client application, an automatic synchronization mechanism propagates changes bi-directionally when the client goes online and a live connection with the corresponding backend data source is available. A declarative data access model is employed based on operation stereotyping and grouping that enables client applications to transparently execute create, read, update, delete, query (CRUDQ) and association operations against the local cache as if executed against the actual business data source. The architecture supports the offline creation of entities and sets of related entities when the entity identifiers are generated by the business data source and offline navigation of entity associations when foreign keys are not present in the related entities.

Claims (30)

1. A computer-implemented business system, comprising:

a client system for accessing business data in selectively one of an online mode or an offline mode;

a backend system for storing the business data;

a runtime component of the client system for enabling read/write access by a client application of the client system to the business data based on a declarative data access model;

a communications component of the client system for communicating access operations to the business data, stored on the backend system, in the online mode;

a cache component of the client system for storing at least a portion of the business data during an offline mode, to enable uninterrupted access to the business data on the client system; and

a processor operable to execute computer-executable instructions associated with at least one of the client system, the backend system, the runtime component, the communications component, or the cache component.

2. A computer-implemented method, comprising acts of:

accessing business data in selectively one of an online mode or an offline mode;

storing the business data on a backend system;

enabling read/write access by a client application to the business data based on a declarative data access model; and

communicating access operations to the business data stored on the backend system, in the online mode;

storing at least a portion of the business data during an offline mode, to enable uninterrupted access to the business data; and

utilizing a processor to execute instructions stored in memory to perform at least one of the acts of accessing, storing, enabling, communicating, or storing.

3. The system of claim 1 wherein the runtime component accesses the business data of the backend system via a mid-tier system.

4. The system of claim 1 , wherein the runtime component includes a dispatcher component for executing data requests of the client application against the business data.

5. The system of claim 1 , wherein the cache component further comprises a synchronization component for synchronization to the backend system during an online mode.

6. The system of claim 1 , wherein the communications component includes a remoting system that allows client application CRUD and query operations to be applied against business data sources with restricted access.

7. The method of claim 2 , further comprising accessing the business data of the backend system via a mid-tier system.

8. The method of claim 2 , further comprising executing data requests of the client application against the business data.

9. The method of claim 2 , further comprising enabling client application CRUD and query operations to be applied against business data sources with restricted access.

10. The system of claim 5 , wherein the synchronization component further comprises an automatic synchronization component for automatically bi-directionally synchronizing the portions of the business data to the backend system and changes in the business data of the backend system to the cache component.

11. The system of claim 5 , further comprising a cache manager for managing a queue of pending changes and state of cached entities in the cache component.

12. The system of claim 5 , wherein the declarative data access model enables the client to execute create, read, update, delete (CRUD) query and association operations against the portions of the business data of the cache component and the business data of the backend system.

13. The system of claim 5 , further comprising a cache refresh and cleanup component for propagating changes in the business data from the backend system to the cache component and flushing unneeded business data from the cache component.

14. The method of claim 8 , further comprising synchronizing to the backend system during an online mode.

15. The method of claim 14 , further comprising automatically bi-directionally synchronizing the portions of the business data to the backend system.

16. The method of claim 14 , further comprising managing a queue of pending changes and state of cached entities.

17. The method of claim 14 , further comprising enabling the client application to execute create, read, update, delete (CRUD) query and association operations against at least the portions of the business data.

18. The method of claim 14 , further comprising propagating changes in the business data from the backend system and flushing unneeded business data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2008
From: SALGADO, ROLANDO JIMENEZ; KAPADIA, ARSHISH; KORONTHALY, DAVID; NAZEERUDDIN, MOHAMMED; PARANTHAMAN, SUNDAR; RAJ, KAUSHIK; SEVILMIS, TARKAN; TENNISBERG, TARGO
To: MICROSOFT CORPORATION
Reel/Frame 020492/0616 →
Continuity (1)
Related Publication 20090171679A1 · Jul 2, 2009