IP Library Granted Patent US 8,433,697
Granted Patent B2
US 8,433,697 · App. 13/229,697 · Granted Apr 30, 2013

Flexible metadata composition

Inventors: Lawrence W. Osterman (Woodinville, WA); Harold L. Pierson (Redmond, WA); Elliot H. Omiya (Kirkland, WA); Martyn S. Lovell (Seattle, WA); Mahesh Prakriya (Redmond, WA); Stephen C. Rowe (Bellevue, WA); Tassaduq H. Basu (Redmond, WA); Robert A. Wlodarczyk (Issaquah, WA); Wei Zeng (Sammamish, WA); Neeraj N. Wadhwa (Kirkland, WA); Shakeel I. Solkar (Sammamish, WA); Michael Aksionkin (Redmond, WA)
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,433,697
App. No.
13/229,697
Granted
Apr 30, 2013
Kind
B2
Abstract

Various embodiments provide an ability to abstract type resolution between multiple type systems. At least one type can be described in one or more programmatically accessible file(s). In some embodiments, an application using a different type system can programmatically access and resolve a type of the at least one type system without knowledge of a location of where a description of the type resides. Alternately or additionally, type descriptions contained in the one or more programmatically accessible file(s) can be analyzed and restructured into one or more new programmatically accessible file(s) based, at least in part, upon the type descriptions.

Claims (41)

1. A computer-implemented method comprising:

searching a plurality of files for a first file associated with a type being resolved;

responsive to determining the first file exists, sending information indicating the type is a namespace;

responsive to determining the first file does not exist, searching the plurality of files for a filename matching a first namespace level hierarchy associated with the type;

responsive to determining a filename matching a first namespace level hierarchy associated with the type exists, processing a file associated with the filename for information associated with the type;

responsive to determining the filename matching the first namespace level hierarchy associated with the type does not exist, determining whether another namespace hierarchy level associated with the type exists; and

responsive to determining another namespace hierarchy level exists, searching the plurality of files for a filename associated with the another namespace hierarchy level.

2. The computer-implemented method of claim 1 , the searching a plurality of files for a first file further comprising searching the plurality of files for a file with a filename matching a name associated with the type.

3. The computer-implemented method of claim 2 , the searching a plurality of files for a first file further comprising searching for the first file without knowledge of a location of where the type resides.

4. The computer-implemented method of claim 1 , the searching a plurality of files for a first file further comprising searching the plurality of files over multiple directories.

5. The computer-implemented method of claim 1 performed without user intervention.

6. The computer-implemented method of claim 1 , the plurality of files comprising metadata files individual ones of which contain descriptions associated with an operating system software interface.

7. The computer-implemented method of claim 6 , the metadata files configured to describe the type independent of a specific programming language.

8. The computer-implemented method of claim 1 , the determining whether another namespace hierarchy level associated with the type exists further comprising performing said determining by manipulating a string that includes the namespace hierarchy levels.

9. One or more computer-readable hardware storage media comprising computer readable instructions which, when executed, implement:

a type resolution module configured to, without user intervention:

search one or more metadata files for a file with a filename that matches a namespace of a type associated with a type system;

responsive to determining the file exists, process the file for information associated with the type;

responsive to determining the file does not exist, perform, at least one time:

determine whether another namespace hierarchy level associated with the type exists; and

responsive to determining another namespace hierarchy level exists, search the one or more metadata files for a file with a filename that matches the another namespace hierarchy level;

said perform, at least one time, terminating responsive to:

determining the file with a filename that matches the another namespace hierarchy level exists; or

determining another namespace hierarchy level does not exist.

10. The one or more computer-readable hardware storage media of claim 9 , the search the one or more metadata files for a file with a filename that matches the another namespace hierarchy level comprising a search for at least a partial filename match to the namespace hierarchy level.

11. The one or more computer-readable hardware storage media of claim 9 , the determining another namespace hierarchy level exists comprising manipulating a string containing the namespace hierarchy.

12. The one or more computer-readable hardware storage media of claim 9 , the type associated with a type system comprising an Application Programming Interface (API) associated with an operating system.

13. The one or more computer-readable hardware storage media of claim 9 , the search one or more metadata files for a file with a filename that matches a namespace of a type associated with a type system further comprising a search without knowledge of a location of where the type resides.

14. The one or more computer-readable hardware storage media of claim 13 , the location of where the type resides comprising a file and directory associated with the file.

15. One or more computer-readable hardware storage media comprising computer readable instructions which, when executed, implement a method comprising:

searching a plurality of files for a first file associated with a type being resolved;

responsive to determining the first file exists, sending information indicating the type is a namespace;

responsive to determining the first file does not exist, searching the plurality of files for a filename matching a first namespace level hierarchy associated with the type;

responsive to determining a filename matching a first namespace level hierarchy associated with the type exists, processing a file associated with the filename for information associated with the type;

responsive to determining the filename matching the first namespace level hierarchy associated with the type does not exist, determining whether another namespace hierarchy level associated with the type exists; and

responsive to determining another namespace hierarchy level exists, searching the plurality of files for a filename associated with the another namespace hierarchy level.

16. The one or more computer-readable hardware storage media of claim 15 , the searching a plurality of files for a first file further comprising searching the plurality of files for a file with a filename matching a name associated with the type.

17. The one or more computer-readable hardware storage media of claim 16 , the searching a plurality of files for a first file further comprising searching for the first file without knowledge of a location of where the type resides.

18. The one or more computer-readable hardware storage media of claim 15 , the searching a plurality of files for a first file further comprising searching the plurality of files over multiple directories.

19. The one or more computer-readable hardware storage media of claim 15 , wherein the method is performed without user intervention.

20. The one or more computer-readable hardware storage media of claim 15 , the plurality of files comprising metadata files individual ones of which contain descriptions associated with an operating system software interface.

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 Sep 21, 2011
From: OSTERMAN, LAWRENCE W.; PIERSON, HAROLD L.; OMIYA, ELLIOT H.; LOVELL, MARTYN S.; PRAKRIYA, MAHESH; ROWE, STEPHEN C.; BASU, TASSADUQ H.; WLODARCZYK, ROBERT A.; ZENG, WEI; WADHWA, NEERAJ N.; SOLKAR, SHAKEEL I.; AKSIONKIN, MICHAEL
To: MICROSOFT CORPORATION
Reel/Frame 026938/0873 →
Continuity (1)
Related Publication 20130066899A1 · Mar 14, 2013