Stewart P. MacLeod - Redmond WA Casey L. Kiernan - Kirkland WA Vij Rajarajan - Issaquah WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 1700
US Classification:
707103, 707 6, 707 10, 707102, 707101
Abstract:
A system for tracking the lineage of data in a database. Data within the tables are tracked by attaching lineage information to the data, preferably, by adding a lineage identifier to each row in a table. Data that share a common lineage can be identified by virtue of sharing a common lineage identifier. The lineage identifier can then be used to trace the source of the data, i. e. , data having a common identifier share a common history. Additionally, the lineage identifier can provide details about transformations undergone by the data. For example, the lineage identifier can act as a pointer to a detailed history files of operations that were performed on the data to transform it into its current form. Preferably, the lineage identifier tracks program modules as well as specific versions of the program modules that transformed the particular data under consideration.
Method And Apparatus For Import, Transform And Export Of Data
Stewart P. MacLeod - Redmond WA Casey L. Kiernan - Kirkland WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 1730
US Classification:
707 6, 707 10, 707204
Abstract:
A user specifies source data, optional transformations and defines a destination database, as well as its location. The user specification creates a package. A package consists of steps of associated tasks, with each step optionally having one or more precedence constraints. Execution of the package causes a data pump to import the user-specified data, conform the data in accordance with the users definition of the destination database and export the data to that database. Processing occurs on a streaming, contiguous basis. As each row is pulled from source database into data pump, the user-defined transform is optionally applied and data lineage information is bound to the data.
Stewart P. MacLeod - Redmond WA Casey L. Kiernan - Kirkland WA Manu Vasandani - Bellevue WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 1700
US Classification:
707 3, 707102, 345762
Abstract:
A user specifies one or more queries comprising a batch of SQL statements. Each query submitted is displayed and represented as a tree, with each operation in the execution plan for the query represented by a corresponding tree node. This representation intuitively conveys the DBMS execution strategy which would be used to process the queries. The tree nodes are displayed as icons, with a unique one of such icons corresponding respectively to each of the possible query operations. In addition, the computing cost of each operation (each node) as a percentage of overall query cost is displayed, as is the cost of each query as a percentage of the overall cost of the specified query batch. A user may select an operation (tree node) with a conventional mouse, whereupon a user interface will show more detailed cost statistics relating to the selected operation.
Stewart P. MacLeod - Redmond WA Casey L. Kiernan - Kirkland WA Vij Rajarajan - Issaquah WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06R 1730
US Classification:
707 6, 707103, 707101
Abstract:
A system for tracking the lineage of data in a database. Data within the tables are tracked by attaching lineage information to the data, preferably, by adding a lineage identifier to each row in a table. Data that share a common lineage can be identified by virtue of sharing a common lineage identifier. The lineage identifier can then be used to trace the source of the data, i. e. , data having a common identifier share a common history. Preferably, the lineage data type is an identifier that is universally unique and is optimized to provide little impact on the performance of the database. For example, by providing a sufficient size identifier to ensure its uniqueness while minimizing storage size. More preferably, the data lineage data type is a sixteen-byte number.
A user specifies one or more queries comprising a batch of SQL statements. Each query submitted is displayed and represented as a tree, with each operation in the execution plan for the query represented by a corresponding tree node. This representation intuitively conveys the DBMS execution strategy which would be used to process the queries. The tree nodes are displayed as icons, with a unique one of such icons corresponding respectively to each of the possible query operations. In addition, the computing cost of each operation (each node) as a percentage of overall query cost is displayed, as is the cost of each query as a percentage of the overall cost of the specified query batch. A user may select an operation (tree node) with a conventional mouse, whereupon a user interface will show more detailed cost statistics relating to the selected operation.
Dynamic, Live Surface And Model Elements For Visualization And Modeling
Vij Rajarajan - Redmond WA Casey L. Kiernan - Kirkland WA Stewart P. MacLeod - Woodinville WA Shawn E. Oberst - Maple Valley WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G09G 500
US Classification:
345629, 345760
Abstract:
Described is a method and system providing a dynamic, live (active) surface and/or model elements to complement and enhance what is being modeled or visualized, enabling the addition of new features and functionality to visualization and modeling tools. A dynamic surface is accomplished by extending traditional HTML, rendering APIs and/or components to enable visualization and modeling functionality. The surface background and model elements may comprise HTML elements, and the surface can include a Web site. The model elements are HTML elements layered dynamically atop the surface, as the user interacts with them, and completed designs may be saved in a non-proprietary format, (e. g. , HTML). The live surface bases its services on HTML rendering engine services, and further provides a visualization and modeling engine that wraps and extends the rendering engine through multiple interfaces. Interfaces can enumerate modeling elements and their relationships, add, delete or change connections between model elements and states, and initialize the surface, including loading an existing diagram such as saved as an HTML document.
Dynamically Generated Schema Representing Multiple Hierarchies Of Inter-Object Relationships
Kim Cameron - Bellevue WA, US Stewart P. MacLeod - Woodinville WA, US George G. Robertson - Seattle WA, US James H. Booth - Issaquah WA, US Luc Clement - Sammamish WA, US
Assignee:
Microsoft Corp. - Redmond WA
International Classification:
G06F017/00
US Classification:
707103R, 707100, 707102
Abstract:
The described arrangements and procedures provide for interfacing (e. g. , managing, presenting, etc. ) with complex and often elastic inter-object relationships between objects in a data polyarchy. Specifically, a schema is dynamically generated by a server to represent multiple hierarchies of inter-object relationships between objects in a data polyarchy. The schema indicates or lists each attribute or element of interest in the data polyarchy. The schema further indicates any of one or more dimensions of inter-object relationships within which objects that comprise at least a subset of the listed the elements of interest participate. Thus, the schema indicates how to interface with the data polyarchy, which represents multiple hierarchies of inter-object relationships based on the values of attributes of the represented objects.
Extending A Directory Schema Independent Of Schema Modification
Stewart P. MacLeod - Woodinville WA, US James H. Booth - Issaquah WA, US Kim Cameron - Bellevue WA, US Jonathan A. Fischer - Carnation WA, US Max L. Benson - Redmond WA, US Felix Wong - Bellevue WA, US Robert Dan Thompson IV - Fort Worth TX, US Hilal Al-Hilali - Seattle WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F017/30
US Classification:
707103R, 707103 Y, 707103, 707103 Z, 7071041
Abstract:
The described arrangements and procedures provide a directory schema with object classes that have flexible attributes. This means that attributes can be extended independent of modifications to the directory schema. Specifically, an object instance of a content class described in the directory schema is instantiated. The content class includes a flexible attribute having a data type. A property is assigned to the attribute. The property is any combination of an operational and data providing property. The property is independent of the attribute's data type. Thus, without modifying the directory schema, multiple instances of the same object class can have attributes that provide completely different data types and completely different data operations.
Resumes
Director Of Research & Development Microsoft Robotics
Microsoft Corporation Dec 2008 - Jun 2012
Director of Research & Development / Software Architect for Microsoft Robotics
Microsoft Corporation Nov 2004 - Dec 2008
Principal Product Unit Manager Core Engineeering Windows
Microsoft Corporation Dec 2002 - Nov 2004
Director of Program Management - Enterprise Management
Microsoft Corporation Dec 1999 - Dec 2002
Software Architect - Windows Distributed Systems
Microsoft Corporation Nov 1992 - Dec 1999
Group Program Manager SQL Server Developement
Education:
University of Chicago
Walsh Jesuit High School
Skills:
Agile Methodologies Cloud Computing Microsoft Sql Server Software Design Databases Architecture Program Management Product Management Scrum Windows Agile Project Management Product Development Business Intelligence System Architecture .Net Technical Leadership C# C++ Solution Architecture Web Services Research Project Management Virtualization Robotics Product Innovation Enterprise Software Mobile Robotics Software Development Software Quality Java X86 Assembly Network Programming Design Review Accountability Data Warehouse Architecture Systems Modeling New Product Ideation Organizational Leadership Software Engineering Software Project Management Management Scalability Integration Distributed Systems Data Warehousing Saas Enterprise Architecture Leadership Microsoft Technologies Sql
Interests:
Making "Big Data" Discoverable Cloud Privacy Software Design and Development Environment Education Authentication and Non Repudiation Security Science and Technology Designing Smart Electronic Devices Understandable and Actionable Cloud Based Data Analytics Networked and Mobile Applications Email Me Animal Welfare Interested In New Work Opportunities