← Back to Home

Patents

12 US patents as primary inventor at Microsoft, all focused on document packaging, formatting, and content management technologies.

The Story

Between 2001 and 2004, I architected and drove the cross-company document format initiative at Microsoft known internally as “Metro.” The goal was to create a universal, XML-based document format and packaging model that could serve as a common foundation for Office, Windows, and the printing pipeline.

The core innovation was the Open Packaging Conventions (OPC): a ZIP-based container format using XML to describe parts, relationships, and content types. Rather than each application inventing its own file format from scratch, OPC provided a standard, interoperable foundation — a “package” that any application could use to store structured content.

The 12 patents below cover the key ideas: the packaging model itself, relationships between parts, interleaving for streaming, content composition via selectors and sequences, digital rights management, and the fixed-layout “reach” format designed for high-fidelity printing.

The Patents

All 12 US patents granted between 2007 and 2012. Assigned to Microsoft Corporation.

System and method for providing multiple renditions of document content

Filed May 17, 2003 · Granted May 1, 2007

Methods for packaging multiple renditions — different representations of the same content — within a single document container, enabling format-appropriate viewing across devices.

Systems and methods for changing items in a computer file

Filed Dec 20, 2004 · Granted Jun 3, 2008

Techniques for modifying individual parts within a packaged document without rewriting the entire file, preserving digital signatures and enabling efficient incremental updates.

Method and apparatus for interleaving parts of a document

Filed Apr 30, 2004 · Granted Aug 26, 2008

Interleaving the byte streams of multiple parts within a package so that referenced resources (images, fonts) arrive just-in-time during streaming consumption rather than after all preceding parts.

Method and apparatus for maintaining relationships between parts in a package

Filed Apr 30, 2004 · Granted Nov 11, 2008

The relationship model: a content-independent, XML-based mechanism for expressing directed connections between parts. Relationships are discoverable without parsing part content and enable extensibility without modifying target parts.

Document mark up methods and systems

Filed Apr 30, 2004 · Granted Feb 3, 2009

The comprehensive modular content framework and fixed-layout document format, defining packages, parts, drivers, composition (selectors and sequences), versioning, and the “reach” format for paginated documents.

Modular document format

Filed Apr 30, 2004 · Granted Mar 31, 2009

A format that uses a set of building blocks — parts, relationships, content types, and physical mapping layers — for composing, packaging, distributing, and rendering document-centered content across platforms.

Mechanism for applying transforms to multi-part files

Filed May 17, 2003 · Granted Apr 21, 2009

Methods for applying transforms (encryption, compression, digital signatures) to individual parts or collections of parts within a multi-part document package.

Method and system for mapping between components of a packaging model

Filed Apr 22, 2005 · Granted Apr 21, 2009

The “driver” abstraction: mapping the logical packaging model to diverse physical storage formats (loose files, compound files, archives) and communication protocols (HTTP, network) through a unified interface.

Organization-based content rights management

Filed Jun 27, 2003 · Granted Jun 16, 2009

Rights management integrated with the packaging model, allowing content protection policies to be applied at the organization level and enforced across document distribution channels.

Methods and systems for defining documents with selectable and/or sequenceable parts

Filed Apr 30, 2004 · Granted Jun 16, 2009

The composition model: selectors that choose between alternative representations (by language, color, page size, or content type) and sequences that assemble parts into ordered documents.

Packages that contain pre-paginated documents

Filed Apr 30, 2004 · Granted Feb 21, 2012

The “reach” fixed-layout format: packages containing pre-paginated documents that render with full fidelity on any device without requiring layout recalculation on the consuming end.

Efficiently describing relationships between resources

Filed Apr 22, 2005 · Granted Mar 13, 2012

Efficient representations for the relationship graph between resources in a package, optimizing for both storage size and traversal speed across large document structures.

The Lasting Legacy of OPC

What became of the ZIP-based Open Packaging Conventions.

The Open Packaging Conventions we designed didn't just ship in Office and Windows — they became an international standard (ISO/IEC 29500-2, ECMA-376 Part 2) and went on to become the invisible infrastructure underneath a remarkable number of file formats across the industry.

Office & Productivity

Most obviously, OPC is the container for all Office Open XML formats: .docx, .xlsx, .pptx, and their macro-enabled variants. These became the default formats in Office 2007 and have been an ISO standard since 2008. They're now supported by LibreOffice, Google Docs, Apple iWork, and dozens of other applications.

Windows & the Print Pipeline

The fixed-layout “reach” format described in the patents became XPS (XML Paper Specification), using .xps and later .oxps extensions. XPS serves as the native print spool format in Windows Vista and later — meaning every Windows print job since Vista flows through the packaging model we invented. The XPS format was also standardized as ECMA-388.

Developer Tools & Package Managers

The influence extends deeply into the developer ecosystem:

  • NuGet packages (.nupkg) — the standard .NET package manager uses OPC as its container format
  • Visual Studio extensions (.vsix) — every VS extension is an OPC package
  • System.IO.Packaging — the OPC API has been part of the .NET Framework since version 3.0 and is available in .NET Core

Windows Store & Modern Apps

Windows Store app packages (.appx, .appxbundle, .msix) are OPC packages. Every Universal Windows Platform app, every modern Windows application distributed through the Microsoft Store, and every MSIX installer uses the packaging model defined in these patents.

Beyond Microsoft

OPC adoption has spread far beyond Microsoft's own products:

  • 3MF (.3mf) — the 3D Manufacturing Format used by major 3D printing software and hardware, backed by the 3MF Consortium (Microsoft, HP, Autodesk, Stratasys, and others)
  • Power BI (.pbix) — Power BI Desktop files
  • Visio 2013+ (.vsdx) — Visio adopted the OPC format
  • AutoCAD Design Web Format (.dwfx)
  • MATLAB Simulink (.slx) — MathWorks adopted OPC for Simulink models
  • Azure Cloud Service packages (.cspkg)
  • AutomationML (.amlx) — the Industry 4.0 data exchange format
  • Asset Administration Shell (.aasx) — another Industry 4.0 standard for digital twins
  • Microsoft App-V (.appv) — application virtualization packages
  • EPUB uses a conceptually similar ZIP-based structure, though not directly OPC (the eBook world I came from and the document format world I moved into were converging on the same ideas)

Windows Native Support

OPC isn't just supported through .NET — Windows 7 and later include a native COM-based Packaging API for working with OPC packages directly, making it a first-class citizen of the Windows platform.

What started as a document format initiative in a small team became the packaging layer for an entire ecosystem. The core ideas — ZIP containers, XML-described parts and relationships, content-type discovery, and physical-to-logical mapping — proved general enough to serve use cases we never imagined, from 3D printing to industrial automation to package management.

It's the kind of outcome you hope for when designing infrastructure: you get the abstractions right, and the system takes on a life of its own.