Patents by Inventor Michael J. Hillberg

Michael J. Hillberg has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9785549
    Abstract: A system that manages lifetime of an object is provided. The system analyzes references on multiple objects to determine reachability of a native peer and dynamically transitions between native and managed object lifetime management systems based on the analysis. When a native peer is not reachable by a native application reference, the system weakens references to a managed peer avoiding memory leaks and clones the native references to the managed side to avoid premature collection. The system performs an optimized cleanup during object system shutdown wherein the references between managed and native peers are released and SafeHandles are suppressed from finalization. The system employs a pending remove list that stores a reference to a weak reference of a managed peer to eliminate race conditions that occur during finalization.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: October 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
  • Patent number: 9250713
    Abstract: Control exposure techniques are described. In one or more implementations, a determination is made by a computing device as to which of a plurality of controls correspond to one or more inputs detected using one or more magnetometers, cameras, or microphones. A result of the determination is exposed by the computing device to one or more applications that are executed by the computing device.
    Type: Grant
    Filed: March 2, 2012
    Date of Patent: February 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brian J. Ewanchuk, Lawrence W. Olson, Michael J. Hillberg, Akhilesh Kaza, Jeremy B. Gup, Austin M. Lamb
  • Patent number: 8661332
    Abstract: Modular content framework and document format methods and systems are described. The described framework and format define a set of building blocks for composing, packaging, distributing, and rendering document-centered content. These building blocks define a platform-independent framework for document formats that enable software and hardware systems to generate, exchange, and display documents reliably and consistently. The framework and format have been designed in a flexible and extensible fashion. In addition to this general framework and format, a particular format, known as the reach package format, is defined using the general framework. The reach package format is a format for storing paginated documents. The contents of a reach package can be displayed or printed with full fidelity among devices and applications in a wide range of environments and across a wide range of scenarios.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: February 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Jerry Dunietz, Charles P. Jazdzewski, David Ornstein, Rob Relyea, Oliver H. Foehr, Michael J. Hillberg, Joseph D. Ternasky, Robert A. Little, Christopher L. Anderson
  • Publication number: 20130145380
    Abstract: Control exposure techniques are described. In one or more implementations, a determination is made by a computing device as to which of a plurality of controls correspond to one or more inputs detected using one or more magnetometers, cameras, or microphones. A result of the determination is exposed by the computing device to one or more applications that are executed by the computing device.
    Type: Application
    Filed: March 2, 2012
    Publication date: June 6, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Brian J. Ewanchuk, Lawrence W. Olson, Michael J. Hillberg, Akhilesh Kaza, Jeremy B. Gup, Austin M. Lamb
  • Patent number: 7882120
    Abstract: Determining compatibility of data structures. A method may be practiced in a computing environment. The method includes accessing a first type defined in a mark-up object. The first type includes a first structure including a first plurality of fields. A second type defined in a mark-up object is accessed. The second type includes a second structure including a second plurality of fields. The first structure and the second structure are compared. Based on the comparison, a determination is made that the first type is compatible with the second type.
    Type: Grant
    Filed: January 14, 2008
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Donald F. Box, Brian F. Chapman, Martin J. Gudgin, Michael J. Hillberg, Charles P. Jazdzewski, Natasha H. Jethanandani, Geoffrey M. Kizer, Robert A. Relyea, Jeffrey C. Schlimmer, Joel West
  • Patent number: 7743387
    Abstract: An inheritance context is created for a graphics primitive object that is a property of a visual element. The inheritance context can be used to make some element information (e.g., information in resource dictionaries, name dictionaries, and inheritable properties that reside in the element tree containing the visual element) available to the graphics primitive object.
    Type: Grant
    Filed: October 18, 2005
    Date of Patent: June 22, 2010
    Assignee: Microsoft Corporation
    Inventors: Adam M. Smith, Jeffrey L. Bogdan, Michael J. Hillberg, Namita Gupta
  • Patent number: 7568035
    Abstract: Aspects of the subject matter described herein relate to generating and propagating commands. In aspects, elements of a graphical user interface may include an input binding which associates a gesture with a command. When a gesture is received, the command is generated depending on which element has focus. In addition, elements of the graphic user interface may also define methods to call when commands are received. When an event or a command is received, a hierarchical data structure of elements representable on the graphical user interface may be traversed to respond to the event or command.
    Type: Grant
    Filed: August 30, 2005
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: Namita Gupta, Michael J. Hillberg, Jeffrey L. Bogdan
  • Publication number: 20090182760
    Abstract: Determining compatibility of data structures. A method may be practiced in a computing environment. The method includes accessing a first type defined in a mark-up object. The first type includes a first structure including a first plurality of fields. A second type defined in a mark-up object is accessed. The second type includes a second structure including a second plurality of fields. The first structure and the second structure are compared. Based on the comparison, a determination is made that the first type is compatible with the second type.
    Type: Application
    Filed: January 14, 2008
    Publication date: July 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Donald F. Box, Brian F. Chapman, Martin J. Gudgin, Michael J. Hillberg, Charles P. Jazdzewski, Natasha H. Jethanandani, Geoffrey M. Kizer, Robert A. Relyea, Jeffrey C. Schlimmer, Joel West
  • Patent number: 7562095
    Abstract: The application programming interfaces described herein are directed at property management mechanisms that operate within an on-demand property system. The property management mechanisms support the caching of property values on an as needed basis, allow a plurality of object instances to utilize the same property via attached properties, overriding default information associated with a property on a per type basis, obtaining values for a property from an external source, and the like. In addition, the on-demand property system provides validation and control for each property instance. The property management mechanisms minimize the storage requirements and provide flexibility without requiring additional code from the developers.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: July 14, 2009
    Assignee: Microsoft Corporation
    Inventors: Namita Gupta, Mark J. Finocchio, Michael J. Hillberg, Jeffrey L. Bogdan
  • Patent number: 7543286
    Abstract: A method and system for mapping a tag in a markup language (ML) document to a class using namespaces is described. A parser in a computing system analyzes the tag in the ML document. A definition file location attribute related to the tag is referenced in the ML document. A definition file associated with definition file location attribute is retrieved. A namespace related to the tag is referenced within the definition file to determine the class associated with the tag. The class is located in an assembly such that the tag is mapped to the class.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: June 2, 2009
    Assignee: Microsoft Corporation
    Inventors: Robert A. Relyea, Jeffrey L. Bogdan, Peter F. Ostertag, Michael J. Hillberg
  • Patent number: 7523221
    Abstract: Described is a system and method for applying transforms to multi-part files. A request is received to access a stream within a multi-part file. Upon receipt of the request, a list of transforms associated with the stream is identified. The list is also included within the multi-part file. The transforms specified in the list of transforms are performed on data before completing the request. If the request is a write, the transforms encode the data. If the request is a read, the transforms decode the data. The list of transforms is order dependent. The list of transforms includes a data structure having a first stream that includes a map that correlates the stream with a name for the list of transforms. A second stream that lists each of the transforms for the stream. A third stream for each of the transforms listed that identifies information associated with the transform.
    Type: Grant
    Filed: May 17, 2003
    Date of Patent: April 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Michael J. Hillberg, Roger Cheng, David B. Ornstein, Jason M. Cahill
  • Patent number: 7496828
    Abstract: A method and system for mapping a tag in a markup language (ML) document to a class using namespaces is described. A parser in a computing system analyzes the tag in the ML document. A definition file location attribute related to the tag is referenced in the ML document. A definition file associated with definition file location attribute is retrieved. A namespace related to the tag is referenced within the definition file to determine the class associated with the tag. The class is located in an assembly such that the tag is mapped to the class.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: February 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Robert A. Relyea, Jeffrey L. Bogdan, Peter F. Ostertag, Michael J. Hillberg
  • Patent number: 7487448
    Abstract: Modular content framework and document format methods and systems are described. The described framework and format define a set of building blocks for composing, packaging, distributing, and rendering document-centered content. These building blocks define a platform-independent framework for document formats that enable software and hardware systems to generate, exchange, and display documents reliably and consistently. The framework and format have been designed in a flexible and extensible fashion. In addition to this general framework and format, a particular format, known as the reach package format, is defined using the general framework. The reach package format is a format for storing paginated documents. The contents of a reach package can be displayed or printed with full fidelity among devices and applications in a wide range of environments and across a wide range of scenarios.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Daniel F. Emerson, David Ornstein, Greg Schechter, Jerry Dunietz, Joe King, Sriram Subramanian, Oliver H. Foehr, Wei Zhu, Michael J. Hillberg, David C. Brown, Mikhail V. Leonov, Joseph D. Ternasky
  • Patent number: 7477254
    Abstract: Smooth transitions between rich media (e.g., animations of visual elements of a UI) are provided when a “second” animation is started on a property of a visual element for which a “first” animation is already running. When the second animation is started, an animation system causes a current value of the property that resulted from the running of the “first” animation (i.e., snapshot) to be stored, terminates or releases the first animation, and then causes the second animation to run using the snapshot as the “from” value of the property. Because the second animation “begins” at exactly the point at which the first animation ended, the transition between the first and second animation is smooth. An animation storage object can be created for a property for which an animation has been triggered to store base values and snapshots of the property while being animated.
    Type: Grant
    Filed: July 13, 2005
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Elizabeth K. Nelson, Kurt B. Jacob, Matt Calkins, Michael J. Hillberg
  • Patent number: 7464107
    Abstract: The techniques and mechanisms described herein are directed at property management mechanisms that operate within an on-demand property system. The property management mechanisms support the caching of property values on an as needed basis, allow a plurality of object instances to utilize the same property via attached properties, overriding default information associated with a property on a per type basis, obtaining values for a property from an external source, and the like. In addition, the on-demand property system provides validation and control for each property instance. The property management mechanisms minimize the storage requirements and provide flexibility without requiring additional code from the developers.
    Type: Grant
    Filed: September 11, 2004
    Date of Patent: December 9, 2008
    Assignee: Microsoft Corporation
    Inventors: Namita Gupta, Mark J. Finocchio, Michael J. Hillberg, Jeffrey L. Bogdan
  • Publication number: 20080270482
    Abstract: A system that manages lifetime of an object is provided. The system analyzes references on multiple objects to determine reachability of a native peer and dynamically transitions between native and managed object lifetime management systems based on the analysis. When a native peer is not reachable by a native application reference, the system weakens references to a managed peer avoiding memory leaks and clones the native references to the managed side to avoid premature collection. The system performs an optimized cleanup during object system shutdown wherein the references between managed and native peers are released and SafeHandles are suppressed from finalization. The system employs a pending remove list that stores a reference to a weak reference of a managed peer to eliminate race conditions that occur during finalization.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
  • Patent number: 7336280
    Abstract: Described is a method and system in which storyboard objects coordinate the animation of multiple elements and/or media displayed on a computer graphics display. Storyboards relate properties of elements in an element tree to a timeline, such that the properties associated with a storyboard are animated/play together as a group by starting, stopping, seeking or pausing the storyboard. Triggers, such as controlled by user interaction with the displayed information, including property triggers that change values in response to a state change, and event triggers that fire events, may cause the storyboard to start, stop, pause and seek. Storyboards may be used in XAML-based programs, and may be directly associated with elements, or indirectly associated with elements via styles. Complex properties and changeables are supported. Media playback may be controlled via storyboards, and thereby coordinated with other media playback and/or animations.
    Type: Grant
    Filed: November 18, 2004
    Date of Patent: February 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Elizabeth K. Nelson, Greg D. Schechter, Leonardo E. Blanco, Matthew W. Calkins, Michael J. Hillberg, Namita Gupta, Sriram Subramanian, Kurt Jacob, Kenneth L. Young, Patrick Mullen
  • Patent number: 7188340
    Abstract: A hybrid tree data structure is suitable for use in scenarios involving intermingled text and user interface elements. Trees of two different types can be combined via one or more proxy nodes. For example, one type can be efficient at processing user interface elements and another can be efficient at processing text. Operations suitable for user interface elements can be efficiently performed on portions of the hybrid tree having user interface elements, and operations suitable for sequential data can be efficiently performed on portions of the hybrid tree having sequential data. The structure is thus suited for representing documents or graphical user interfaces. A hypertext document can be represented via the hybrid tree to enable more efficient searching, navigation, rendering, or editing of the document. Hybrid tree services can be provided by an operating system service.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: March 6, 2007
    Assignee: Microsoft Corporation
    Inventors: Peter Francis Ostertag, Michael J. Hillberg, Jeffrey L. Bogdan, Robert A. Relyea
  • Publication number: 20040230576
    Abstract: Described is a system and method for applying transforms to multi-part files. A request is received to access a stream within a multi-part file. Upon receipt of the request, a list of transforms associated with the stream is identified. The list is also included within the multi-part file. The transforms specified in the list of transforms are performed on data before completing the request. If the request is a write, the transforms encode the data. If the request is a read, the transforms decode the data. The list of transforms is order dependent. The list of transforms includes a data structure having a first stream that includes a map that correlates the stream with a name for the list of transforms. A second stream that lists each of the transforms for the stream. A third stream for each of the transforms listed that identifies information associated with the transform.
    Type: Application
    Filed: May 17, 2003
    Publication date: November 18, 2004
    Applicant: Microsoft Corporation
    Inventors: Michael J. Hillberg, Roger Cheng, David B. Ornstein, Jason M. Cahill
  • Patent number: 6775678
    Abstract: A data structure is provided for storing a digital document to be rendered on a printer or viewer. The data structure includes a plurality of objects that define the content and layout of the document. The objects include at least one graphics object representative of a portion of at least one of the pages, a page object for each page, a document root object, a job object, and an index object. A canvas object can be provided which includes a list of graphics objects to be rendered on the associated page and the coordinates on the page at which each graphics object is located. Each page object includes a reference to the at least one graphics object, or a canvas object, for that page, and each document root object includes a list of the page objects for the document. The job object includes a list of all the document root objects for the documents to be rendered by the data structure, and the index object identifies the location of each of the objects in the data structure.
    Type: Grant
    Filed: April 11, 2000
    Date of Patent: August 10, 2004
    Assignee: Microsoft Corporation
    Inventors: Michael J. Hillberg, Chao-Chia Liu