IP Library Granted Patent US 8,898,181
Granted Patent B2
US 8,898,181 · App. 12/820,147 · Granted Nov 25, 2014

Subscription for integrating external data from external system

Inventors: David Koronthaly (Sammamish, WA); Rolando Jimenez-Salgado (Redmond, WA); Sundaravadivelan Paranthaman (Sammamish, WA); Arshish Cyrus Kapadia (Issaquah, WA); Wei-Lun Lo (Issaquah, WA)
Assignee: Microsoft Corporation
G06F17/3048G06F13/00
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,898,181
App. No.
12/820,147
Granted
Nov 25, 2014
Kind
B2
Abstract

Technologies are described herein for integrating external data from an external system into a client system. A subscription filed is selected. The subscription filed may include a read method and a query method. The read method may define fields of a client cache operating on the client system. The query method may be executed to retrieve, from the external system, field values corresponding to at least a subset of the fields. Upon executing the query method, the read method may also be executed to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method. The client cache is populated with the field values and the additional field values according to the fields.

Claims (51)

1. A computer-implemented method for integrating external data from an external system into a client system, the method comprising computer-implemented operations for:

selecting a subscription file, the subscription file comprising a read method and a query method, the read method defining fields of a client cache operating in the client system;

executing the query method to retrieve, from the external system, field values corresponding to at least a subset of the fields;

upon executing the query method, executing the read method to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method; and

populating the client cache with the field values and the additional field values according to the fields.

2. The computer-implemented method of claim 1 , wherein the subscription file further comprises an association method; wherein the method further comprises computer-implemented operations for executing the association method to retrieve second additional field values from related entities; and wherein populating the client cache with the field values and the additional field values according to the fields comprises populating the client cache with the field values, the additional field values, and the second additional field values according to the fields.

3. The computer-implemented method of claim 1 , wherein the subscription file further comprises an explicit identity; wherein the method further comprises computer-implemented operations for utilizing the explicit identity to retrieve third additional field values by specific identifier; and wherein populating the client cache with the field values and the additional field values according to the fields comprises populating the client cache with the field values, the additional field values, and the third additional field values, according to the fields.

4. The computer-implemented method of claim 1 , wherein the query method is associated with a parameter that defines the field values retrieved; and wherein executing the query method in the subscription file to retrieve, from the external system, field values corresponding to at least a subset of the fields comprises executing the query method in the subscription file according to the parameter to retrieve, from the external system, the defined field values corresponding to at least a subset of the fields.

5. The computer-implemented method of claim 1 , wherein the query method is associated with a refresh rate; wherein executing the query method in the subscription file to retrieve, from the external system, field values corresponding to at least a subset of the fields comprises associating the refresh rate with the field values; and wherein the method further comprises computer-implemented operations for refreshing the field values according to the refresh rate.

6. The computer-implemented method of claim 1 , the method further comprising computer-implemented operations for:

selecting a second subscription file, the second subscription file comprising the read method and a second query method,

executing the second query method to retrieve, from the external system, second field values corresponding to at least a second subset of the fields;

upon executing the second query method, executing the read method to retrieve, from the external system, second additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the second query method; and

populating the client cache with the second field values and the second additional field values according to the fields.

7. The computer-implemented method of claim 1 , the method further comprising computer-implemented operations for merging overlapping results in the retrieved field values and additional field values.

8. The computer-implemented method of claim 1 , the method further comprising computer-implemented operations for:

receiving an indication that a corresponding representation of at least one of the retrieved field values or additional field values has been updated on the external system; and

in response to receiving the indication, refreshing at least one of the retrieved field values or additional field values in the client cache.

9. The computer-implemented method of claim 1 , the method further comprising computer-implemented operations for:

receiving an indication that a corresponding representation of at least one of the retrieved field values or additional field values has been deleted on the external system; and

in response to receiving the indication, deleting the at least one of the retrieved field values or additional field values from the client cache.

10. The computer-implemented method of claim 1 , wherein the subscription file comprises an extensible markup language (“XML”) file.

11. The computer-implemented method of claim 1 , wherein the client cache comprises a relational database.

12. A computer system, comprising:

a processor;

a memory communicatively coupled to the processor; and

a program module (i) which executes in the processor from the memory and (ii) which, when executed by the processor, causes the computer system to integrate external data from an external system into a client system by

selecting a subscription file, the subscription file comprising a read method, a query method, and an association method, the read method defining fields of a client cache operating in a client system;

executing the query method to retrieve, from the external system, field values corresponding to at least a subset of the fields;

upon executing the query method, executing the read method to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method;

executing the association method to retrieve second additional field values from related entities; and

populating the client cache with the field values, the additional field values, and the second additional field values according to the fields.

13. The computer system of claim 12 , wherein the subscription file further comprises an explicit identity; wherein the program module, when executed by the processor, further causes the computer system to integrate external data from the external system into the client system by utilizing the explicit identity to retrieve third additional field values by specific identifier; and wherein populating the client cache with the field values, the additional field values, and the second additional field values according to the fields comprises populating the client cache with the field values, the additional field values, the second additional field values, and the third additional field values, according to the fields.

14. The computer system of claim 12 , wherein the query method is associated with a parameter that defines the field values retrieved; and wherein executing the query method in the subscription file to retrieve, from the external system, field values corresponding to at least a subset of the fields comprises executing the query method in the subscription file according to the parameter to retrieve, from the external system, the defined field values corresponding to at least a subset of the fields.

15. The computer system of claim 12 , wherein the query method is associated with a refresh rate; wherein executing the query method in the subscription file to retrieve, from the external system, field values corresponding to at least a subset of the fields comprises associating the refresh rate with the field values; and wherein the program module, when executed by the processor, further causes the computer system to integrate external data from the external system into the client system by refreshing the field values according to the refresh rate.

16. The computer system of claim 12 , wherein the program module, when executed by the processor, further causes the computer system to integrate external data from the external system into the client system by:

receiving an indication that a corresponding representation of at least one of the retrieved field values or additional field values has been updated on the external system; and

in response to receiving the indication, refreshing at least one of the retrieved field values or additional field values in the client cache.

17. The computer system of claim 12 , wherein the program module, when executed by the processor, further causes the computer system to integrate external data from the external system into the client system by:

receiving an indication that a corresponding representation of at least one of the retrieved field values or additional field values has been deleted on the external system; and

in response to receiving the indication, deleting the at least one of the retrieved field values or additional field values from the client cache.

18. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:

select a subscription file, the subscription file comprising a read method, a query method, an association method, and an explicit identity, the read method defining fields of a client cache operating in a client system;

execute the query method to retrieve, from the external system, field values corresponding to at least a subset of the fields;

associate a refresh rate with the field values;

upon executing the query method, execute the read method to retrieve, from the external system, additional field values corresponding to a remaining subset of the fields that were not retrieved by executing the query method;

execute the association method to retrieve second additional field values from related entities;

utilizing the explicit identity to retrieve third additional field values by specific identifier;

populating the client cache with the field values, the additional field values, the second additional field values, and the third additional field values according to the fields; and

refresh the field values according to the refresh rate.

19. The computer-readable storage medium of claim 18 , further comprising computer-executable instructions stored thereon which, when executed by the computer, cause the computer to execute the query method in the subscription file according to a parameter to retrieve, from the external system, defined field values corresponding to at least a subset of the fields.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2010
From: KORONTHALY, DAVID; JIMENEZ-SALGADO, ROLANDO; PARANTHAMAN, SUNDARAVADIVELAN; KAPADIA, ARSHISH CYRUS; LO, WEI-LUN
To: MICROSOFT CORPORATION
Reel/Frame 024569/0858 →
Continuity (1)
Related Publication 20110314047A1 · Dec 22, 2011