IN THE UNITED STATES PATENT AND TRADEMARK OFFICE In re Application Inventor(s):
Rupp, et al.
Application No.:
11/753,969
Pavan Filed:
May 25, 2007
) ) ) ) ) )
Title: DATA TRANSFER AND STORAGE BASED ON META-DATA
) ) ) ) )
PATENT APPLICATION Art Unit:
4191
Examiner: Mamillapalli,
Customer No. 47766
RESPONSE A TO OFFICE ACTION UNDER 37 C.F.R. § 1.111 Under Secretary of Commerce for Patent and Trademarks P.O. Box 1450 Alexandria, VA 22313-1450 Sir: This RESPONSE A is made in reply to the Office Action dated August 7, 2009. AMENDMENTS to the SPECIFICATION begin on Page 2 of this Response. A complete listing of the CLAIMS including AMENDMENTS begins on Page 3 of this Response. REMARKS begin on Page 9 of this Response.
-1Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
AMENDMENTS TO THE SPECIFICATION Please replace paragraph [0048] of the published application with the following amended paragraph: [0048]
Computer 210 typically includes a variety of computer readable
media. Computer readable media can be any available media that can be accessed by computer 210 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 210. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
-2Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
COMPLETE LISTING OF THE CLAIMS This listing of claims replaces all prior versions of claims in the application. 1. (Original) A computer implemented method for transferring data, comprising: accessing meta-data which describes remote source data provided by an enterprise hierarchy system; dynamically generating query code by combining the accessed metadata; executing the query code to retrieve the remote source data from the enterprise hierarchy system, the remote source data stored in a first format at a remote data store; and storing the retrieved source data in a set of destination tables having a second format, the second format based on a set of domain records, a set of member records for each domain record, and attributes for each domain record and member record. 2. (currently amended) The computer implemented method of claim 1, wherein said step of accessing includes: retrieving meta-data from one or more meta-data tables by a stored procedure, the stored procedure configured to generate TSQL query code form from the meta-data. 3. (Original) The computer implemented method of claim 1, wherein said step of accessing includes: retrieving meta-data from one or more meta-data tables having a single schema by a stored procedure, the stored procedure configured to query two or more data sources based on data contained in the meta-data tables having the single schema.
-3Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
4. (Original) The computer implemented method of claim 1, wherein dynamically generating query code includes: selecting a domain from the meta-data; determining a domain identity value for the selected domain; configuring one or more member records for the domain identity in the destination tables from the meta-data; and constructing one or more TSQL statements by concatenating the meta-data associated with the selected domain and one or more member records. 5. (Original) The computer implemented method of claim 1, wherein generating the query code includes concatenating the accessed meta-data into one or more queries, wherein each query includes the location of the source data, the location of the source data derived from the accessed set of meta-data. 6. (Original) The computer implemented method of claim 1, further comprising: configuring the set of destination tables by a stored procedure, the set of destination tables configured to include domain, member and mapping data described in the accessed meta-data. 7. (Original) The computer implemented method of claim 1, wherein said step of storing includes: determining whether to insert the source data as a new record or update an existing record in the destination tables. 8. (Original) The computer implemented method of claim 1, wherein said step of storing includes:
-4Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
storing the source data as an attribute for a domain record, member record or mapping data; 9. (Original) The computer implemented method of claim 1, wherein said step of storing includes: saving relationship data associated with two or more members, the relationship data generating a mapped relationship between the two or more members. 10. (Original) The computer implemented method of claim 1, wherein said step of storing includes: determining a selected member record has been deleted in the source data; and setting a parameter for the selected member record to indicate that the member record is to be considered deleted without deleting the selected member record. 11. (Original) The computer implemented method of claim 1, wherein the second format is also based on member mapping data contained in one or more member mapping tables within the destination tables. 12. (Original) An apparatus for transferring data, comprising: a communication interface; a storage device containing one or more meta-data tables, the metadata tables having meta-data describing domain, member, member mapping and attribute data; and one or more processors in communication with said storage device and said communication interface, said one or more processors implementing a data engine, the data engine configured to build transact-SQL (TSQL) statements
-5Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
for accessing remote source data and store the accessed source data in one or more destination tables, the engine configured to build the TSQL statements based on the meta-data in said meta-data tables. 13. (Original) The apparatus of claim 12, wherein the destination tables include a domain table, member table, member map table, and attribute tables. 14. (Original) The apparatus of claim 12, the data engine including logic that configures the destination tables and updates the destination tables with accessed source data. 15. (Original) The apparatus of claim 12, the data engine including logic that constructs the TSQL statements by concatenating the meta-data in the meta-data tables. 16. (Original) The apparatus of claim 12, the data engine including a first stored procedure that builds destination tables containing domain and member records and a second stored procedure that creates relationships between member records in the destination tables. 17. (Original) One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising: accessing meta-data which describes remote source data at a first data store having a first schema and a second data store having a second schema; dynamically generating code statements by a data engine by combining the accessed meta-data;
-6Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
executing the code statements to retrieve the remote source data from the first data store and the second data store; determining if the retrieved source data is different from stored data in two or more destination tables; and updating the two or more destination tables based on the step of determining if the retrieved source data is different, said step of updating including storing the retrieved source data from the first data store and the second data store in the two or more destination tables, the two or more destination tables having a third schema based domain records, member records for each domain record, and attributes for each domain record and member record. 18. (Original) The one or more processor readable storage devices of claim 17, further comprising: updating the meta-data to include source data at a third data store; dynamically generating additional code statements to retrieve the source data at the third data store; executing the additional code statements to retrieve the source data from the third data store; and storing the source data from the third data store in the destination tables along with the source data from the first data store and the second data store. 19. (Original) The one or more processor readable storage devices of claim 17, wherein said step of updating includes: determining whether a member record should be inserted, softdeleted or updated in the destination tables. 20. (Original) The one or more processor readable storage devices of claim 17, wherein said step of updating includes:
-7Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
storing mapping data which indicates a relationship between a first member record and one or more second member records.
-8Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
REMARKS The Amendments shown above and these Remarks are made in reply to the Office Action mailed August 7, 2009. Claims 1-20 were examined and remain pending. Applicant has amended claim 2. Applicant respectfully requests reconsideration of the pending claims. I.
SUMMARY OF THE EXAMINER’S ACTIONS In the Office Action dated August 5, 2009, the Examiner: •
rejected claims 17-20 under 35 USC § 101 as non-statutory;
•
rejected claims 1-11 under 35 USC § 103(a) as unpatentable over U.S. Patent No. 6,604,110 (“Savage”) in view of U.S. Patent Publication No. 2001/0037228 (“Ito”);
•
rejected claims 12-20 under 35 USC § 103(a) as unpatentable over Savage.
II.
DETAILED RESPONSE TO THE EXAMINER’S ACTIONS A. The Section 101 Rejection is Overcome Applicant has amended paragraph 48 of the application as published
to remove any reference to communication media, and thereby clarify use of the term “processor readable storage device” as recited in claim 17. Applicant submits that this overcomes the rejection. B. The Section 103 Rejections are Traversed The Examiner rejected claims 1-11 as obvious over the combination of Savage and Ito, and rejected claims 12-20 as obvious over Savage. Applicant respectfully traverses the rejections. Savage and Ito are both generally relevant references, but applicant submits that these references do not teach or suggest the claimed inventions, either alone or together.
-9Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
The Examiner asserts that Savage teaches “dynamically generating query code by combining the accessed meta-data” as recited in independent claim 1 (see Office Action at pp. 4-5), but applicant respectfully disagrees. The Examiner cites col. 19:19-36 of Savage to support the assertion, but applicant submits that the Examiner is mistaken in concluding that Savage teaches “generating query code by combining the accessed meta-data” to retrieve the source data. The cited passage of Savage relates to transforming source data into destination formats, but is vague as to specific details, explicitly stating that “[t]his transformation is accomplished through automatic generation of the executable software code for these EDM applications directly from the source metadata within the repository.” (Savage at col. 19:19-36). In other words, the data repository 200 described in Savage includes segments of code to act on the metadata in accord with prescribed applications, such as generation of data models, generation of ETL jobs, etc. It does not say that metadata is combined to form code segments, and applicant submits that to do so would be impermissible hindsight. For example, Savage does describe code generation for data models beginning at col. 19:33, and code generation for ETL jobs is described beginning at col. 24:25. Applicant submits that Savage does not teach or suggest generating code to retrieve the source data by combining the metadata. The Examiner acknowledges that Savage does not “specifically detail” all aspects of claim 1, but cites Ito to supply the missing features. However, applicant submits that like Savage, Ito is focused on details of how to analyze the source data, whereas the present claims start from a focus on stored tables of metadata, and propose dynamic code generation based on the metadata. Nothing in Savage nor Ito teaches or suggests generating code for retrieving source data dynamically from combining the metadata or based on the metadata, as recited in applicant’s independent claims. For these
- 10 Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
reasons, applicant submits that claim 1 is patentable over the cited combination. Claims 2-11 are dependent through claim 1 and therefore patentable for the same reasons. With regard to independent claim 12, only Savage is cited, and again, the claim recites “an engine to build to TSQL statements based on the metadata in said meta-data tables.” For the same reasons discussed above, applicant submits claim 12 is also patentable over the cited reference. Claims 13-16 are dependent through claim 12 and therefore patentable for the same reasons. With regard to independent claim 17, again only Savage is cited, and the claim recites “dynamically generating code statements by a data engine by combining the accessed meta-data.” For the same reasons discussed above, applicant submits claim 17 is also patentable over the cited reference. Claims 18-20 are dependent through claim 17 and therefore patentable for the same reasons. III.
CONCLUSION Based on the amendments shown above and these remarks, reconsideration of
the pending claims is respectfully requested. The Examiner’s prompt attention to this matter is greatly appreciated. Should further questions remain, the Examiner is invited to contact the undersigned attorney by telephone. The Commissioner is authorized to charge any underpayment or credit any overpayment to Deposit Account No. 501826 for any matter in connection with this response, including any fee for extension of time, which may be required. Respectfully submitted, Date: November 9, 2009
By: - 11 -
Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc
/Richard A. Nebb/
Richard A. Nebb Reg. No. 33,540 VIERRA MAGEN MARCUS & DENIRO LLP 575 Market Street, Suite 2500 San Francisco, California 94105-4206 Telephone: (415) 369-9660 Facsimile: (415) 369-9665
- 12 Attorney Docket No. MSFT-01159US0 z:/msft/1159/24690277.doc