IP Library Granted Patent US 8,671,092
Granted Patent B2
US 8,671,092 · App. 13/075,728 · Granted Mar 11, 2014

Apparatus, method and computer-readable storage medium for retrieving data from a data source

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,671,092
App. No.
13/075,728
Granted
Mar 11, 2014
Kind
B2
Abstract

An apparatus is provided that includes a processor and memory storing executable instructions that in response to execution by the processor cause the apparatus to at least perform a number of operations. The apparatus is caused to receive a rowset of data from a data source, where the rowset includes one or more rows of values from the data source. The apparatus is caused to convert the rowset to markup data, and organize the markup data in preparation for its transformation to an output according to a markup transformation language. The markup data includes, for each row of the rowset, a row markup element; and the organized markup data includes an organization of the row elements into a plurality of logical groups. Even further, the organized markup data may be split into a plurality of smaller markup data sets, which may facilitate transformation of the markup data.

Claims (57)

1. An apparatus comprising a processor and a memory storing executable instructions that in response to execution by the processor cause the apparatus to at least:

receive a query for data from a data source including data organized in one or more tables each of which includes one or more columns of attributes and rows of values in respective columns;

receive a rowset of data from the data source in response to the query, the rowset including one or more rows of values from the data source;

convert the rowset to markup data, wherein the markup data includes a plurality of elements each of which has a start tag, an end tag and content therebetween, wherein for each row of the rowset, the elements include a row element for which the content includes one or more column elements, and for which the content of each column element includes a value of the respective row;

organize the row elements of the markup data into a plurality of logical groups each of which includes one or more rows from the data source, wherein the organized markup data further includes a plurality of group elements, wherein for each group element, the content includes one or more row elements for the one or more rows of a respective logical group;

split the organized markup data of at least one of the logical groups into a plurality of smaller markup data sets, each of the smaller markup data sets including one or more row elements of the organized markup data of the at least one of the logical groups;

wherein the rowset is converted to markup data, and the row elements of the markup data are organized, to prepare the organized data for transformation to an output according to a markup transformation language.

2. The apparatus of claim 1 , wherein the apparatus being caused to organize the row elements includes being caused to organize the row organizing the row elements of the markup data according to user-configurable parameters identifying the logical groups and including an indication of the one or more rows of each of the respective logical groups.

3. The apparatus of claim 1 , wherein the apparatus being caused to organize the row elements includes being caused to organize the row elements of the markup data into a plurality of logical groups, and within each logical group, organize the row elements into a plurality of logical sub-groups each of which includes one or more rows from the data source,

wherein the organized markup data further includes a plurality of sub-group elements, wherein for each group element, the content includes at least some of the sub-group elements for each of which the content includes one or more row elements for one or more rows of a respective logical sub-group which are also one or more rows of a respective logical group.

4. The apparatus of claim 1 , wherein the memory stores further executable instructions that in response to execution by the processor cause the apparatus to further:

separately transform the plurality of smaller markup data sets to portions of the output according to the markup transformation language; and

combine the portions of the output to form the output.

5. The apparatus of claim 4 , wherein at least two of the logical groups include different numbers of row elements, wherein each of the smaller markup data sets includes one or more row elements of the organized markup data, and

wherein the apparatus being caused to split the organized markup data includes being caused to split the organized markup data such that each of at least some of the plurality of smaller markup data sets includes at least a minimum number of row elements, and such that no two of the smaller markup data sets includes a row element from the same logical group.

6. The apparatus of claim 5 , wherein the apparatus being caused to split the organized markup data includes being caused to split the organized markup data further such that at least one of the smaller markup data sets includes row elements from more than one logical group.

7. The apparatus of claim 4 , wherein the elements of the markup data further include a rowset element for which the content includes the row element for each row of the rowset, and

wherein the apparatus being caused to split the organized markup data includes being caused to split the organized markup data such that each smaller markup data set of the plurality of smaller markup data sets includes a rowset element for which the content includes the one or more row elements of the respective smaller markup data set.

8. The computer-readable storage medium of claim 4 , wherein the elements of the markup data further include a rowset element for which the content includes the row element for each row of the rowset, and

wherein the apparatus being caused to split the organized markup data includes being caused to split the organized markup data such that each smaller markup data set of the plurality of smaller markup data sets includes a rowset element for which the content includes the one or more row elements of the respective smaller markup data set.

9. A method comprising:

receiving a query for data from a data source including data organized in one or more tables each of which includes one or more columns of attributes and rows of values in respective columns;

receiving a rowset of data from the data source in response to the query, the rowset including one or more rows of values from the data source;

converting the rowset to markup data, wherein the markup data includes a plurality of elements each of which has a start tag, an end tag and content therebetween, wherein for each row of the rowset, the elements include a row element for which the content includes one or more column elements, and for which the content of each column element includes a value of the respective row; and

organizing the row elements of the markup data into a plurality of logical groups each of which includes one or more rows from the data source, wherein the organized markup data further includes a plurality of group elements, wherein for each group element, the content includes one or more row elements for the one or more rows of a respective logical group;

splitting the organized markup data of at least one of the plurality of logical groups into a plurality of smaller markup data sets each of which includes one or more row elements of the organized markup data of the at least one of the plurality of logical groups;

wherein the rowset is converted to markup data, and the row elements of the markup data are organized, to prepare the organized data for transformation to an output according to a markup transformation language, and

wherein converting the rowset to markup data and organizing the row elements of the markup data are performed by an apparatus including a processor and a memory storing executable instructions that in response to execution by the processor cause the apparatus to at least convert the rowset to markup data and organize the row elements of the markup data.

10. The method of claim 9 , wherein organizing the row elements includes organizing the row elements of the markup data according to user-configurable parameters identifying the logical groups and including an indication of the one or more rows of each of the respective logical groups.

11. The method of claim 9 , wherein organizing the row elements includes organizing the row elements of the markup data into a plurality of logical groups, and within each logical group, organizing the row elements into a plurality of logical sub-groups each of which includes one or more rows from the data source,

wherein the organized markup data further includes a plurality of sub-group elements, wherein for each group element, the content includes at least some of the sub-group elements for each of which the content includes one or more row elements for one or more rows of a respective logical sub-group which are also one or more rows of a respective logical group.

12. The method of claim 9 further comprising:

separately transforming the plurality of smaller markup data sets to portions of the output according to the markup transformation language; and

combining the portions of the output to form the output.

13. The method of claim 12 , wherein at least two of the logical groups include different numbers of row elements, wherein each of the smaller markup data sets includes one or more row elements of the organized markup data, and

wherein splitting the organized markup data includes splitting the organized markup data such that each of at least some of the plurality of smaller markup data sets includes at least a minimum number of row elements, and such that no two of the smaller markup data sets includes a row element from the same logical group.

14. The method of claim 13 , wherein splitting the organized markup data includes splitting the organized markup data further such that at least one of the smaller markup data sets includes row elements from more than one logical group.

15. The method of claim 12 , wherein the elements of the markup data further include a rowset element for which the content includes the row element for each row of the rowset, and

wherein splitting the organized markup data includes splitting the organized markup data such that each smaller markup data set of the plurality of smaller markup data sets includes a rowset element for which the content includes the one or more row elements of the respective smaller markup data set.

16. A non-transitory computer readable storage medium having computer-readable program code portions stored therein that, in response to execution by a processor, cause an apparatus to at least:

receive a query for data from a data source including data organized in one or more tables each of which includes one or more columns of attributes and rows of values in respective columns;

receive a rowset of data from the data source in response to the query, the rowset including one or more rows of values from the data source;

convert the rowset to markup data, wherein the markup data includes a plurality of elements each of which has a start tag, an end tag and content therebetween, wherein for each row of the rowset, the elements include a row element for which the content includes one or more column elements, and for which the content of each column element includes a value of the respective row; and

organize the row elements of the markup data into a plurality of logical groups each of which includes one or more rows from the data source, wherein the organized markup data further includes a plurality of group elements, wherein for each group element, the content includes one or more row elements for the one or more rows of a respective logical group;

split the organized markup data of at least one of the plurality of logical groups into a plurality of smaller markup data sets each of which includes one or more row elements of the organized markup data of the at least one of the plurality of logical groups;

separately transform the plurality of smaller markup data sets to portions of an output according to a markup transformation language; and

combine the portions of the output to form the output,

wherein the rowset is converted to markup data, and the row elements of the markup data are organized, to prepare the organized data for transformation to the output according to the markup transformation language.

17. The computer-readable storage medium of claim 16 , wherein the apparatus being caused to organize the row elements includes being caused to organize the row by organizing the row elements of the markup data according to user-configurable parameters identifying the logical groups and including an indication of the one or more rows of each of the respective logical groups.

18. The computer-readable storage medium of claim 16 , wherein the apparatus being caused to organize the row elements includes being caused to organize the row elements of the markup data into a plurality of logical groups, and within each logical group, organize the row elements into a plurality of logical sub-groups each of which includes one or more rows from the data source,

wherein the organized markup data further includes a plurality of sub-group elements, wherein for each group element, the content includes at least some of the sub-group elements for each of which the content includes one or more row elements for one or more rows of a respective logical sub-group which are also one or more rows of a respective logical group.

19. The computer-readable storage medium of claim 16 , wherein the computer-readable storage medium has further computer-readable program code portions stored therein that, in response to execution by the processor, cause the apparatus to further:

separately transform the plurality of smaller markup data sets to portions of the output according to the markup transformation language; and

combine the portions of the output to form the output.

20. The computer-readable storage medium of claim 19 , wherein at least two of the logical groups include different numbers of row elements, wherein each of the smaller markup data sets includes one or more row elements of the organized markup data, and

wherein the apparatus being caused to split the organized markup data includes being caused to split the organized markup data such that each of at least some of the plurality of smaller markup data sets includes at least a minimum number of row elements, and such that no two of the smaller markup data sets includes a row element from the same logical group.

21. The computer-readable storage medium of claim 20 , wherein the apparatus being caused to split the organized markup data includes being caused to split the organized markup data further such that at least one of the smaller markup data sets includes row elements from more than one logical group.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE RESOURCES, LLC (FORMERLY KNOWN AS ALTEGRA HEALTH OPERATING COMPANY LLC); CHANGE HEALTHCARE SOLUTIONS, LLC; CHANGE HEALTHCARE PERFORMANCE, INC. (FORMERLY KNOWN AS CHANGE HEALTHCARE, INC.); CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE TECHNOLOGIES, LLC (FORMERLY KNOWN AS MCKESSON TECHNOLOGIES LLC); CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: WONG, ELDON; WONG, EUPHINE
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 026051/0967 →