You are on page 1of 12

IN THE UNITED STATES PATENT AND TRADEMARK OFFICE

In re Application ) PATENT APPLICATION


)
Inventor(s): Rupp, et al. )
) Art Unit: 4191
Application No.: 11/753,969 )
) Examiner: Mamillapalli,
Pavan
Filed: May 25, 2007 )
)
Title: DATA TRANSFER AND STORAGE )
BASED ON META-DATA ) 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.

-1-
Attorney 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.

-2-
Attorney 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 meta-
data;
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.

-3-
Attorney 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:

-4-
Attorney 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 meta-
data 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

-5-
Attorney 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;

-6-
Attorney 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, soft-
deleted 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:

-7-
Attorney 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.

-8-
Attorney 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.

-9-
Attorney 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 meta-
data 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: /Richard A. Nebb/

- 11 -
Attorney Docket No. MSFT-01159US0
z:/msft/1159/24690277.doc
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

You might also like