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: 9785549Abstract: 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: GrantFiled: April 27, 2007Date of Patent: October 10, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
-
Patent number: 9250713Abstract: 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: GrantFiled: March 2, 2012Date of Patent: February 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Brian J. Ewanchuk, Lawrence W. Olson, Michael J. Hillberg, Akhilesh Kaza, Jeremy B. Gup, Austin M. Lamb
-
Patent number: 8661332Abstract: 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: GrantFiled: April 30, 2004Date of Patent: February 25, 2014Assignee: Microsoft CorporationInventors: 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: 20130145380Abstract: 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: ApplicationFiled: March 2, 2012Publication date: June 6, 2013Applicant: MICROSOFT CORPORATIONInventors: Brian J. Ewanchuk, Lawrence W. Olson, Michael J. Hillberg, Akhilesh Kaza, Jeremy B. Gup, Austin M. Lamb
-
Patent number: 7882120Abstract: 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: GrantFiled: January 14, 2008Date of Patent: February 1, 2011Assignee: Microsoft CorporationInventors: 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: 7743387Abstract: 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: GrantFiled: October 18, 2005Date of Patent: June 22, 2010Assignee: Microsoft CorporationInventors: Adam M. Smith, Jeffrey L. Bogdan, Michael J. Hillberg, Namita Gupta
-
Patent number: 7568035Abstract: 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: GrantFiled: August 30, 2005Date of Patent: July 28, 2009Assignee: Microsoft CorporationInventors: Namita Gupta, Michael J. Hillberg, Jeffrey L. Bogdan
-
Publication number: 20090182760Abstract: 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: ApplicationFiled: January 14, 2008Publication date: July 16, 2009Applicant: MICROSOFT CORPORATIONInventors: 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: 7562095Abstract: 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: GrantFiled: January 14, 2005Date of Patent: July 14, 2009Assignee: Microsoft CorporationInventors: Namita Gupta, Mark J. Finocchio, Michael J. Hillberg, Jeffrey L. Bogdan
-
Patent number: 7543286Abstract: 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: GrantFiled: November 18, 2003Date of Patent: June 2, 2009Assignee: Microsoft CorporationInventors: Robert A. Relyea, Jeffrey L. Bogdan, Peter F. Ostertag, Michael J. Hillberg
-
Patent number: 7523221Abstract: 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: GrantFiled: May 17, 2003Date of Patent: April 21, 2009Assignee: Microsoft CorporationInventors: Michael J. Hillberg, Roger Cheng, David B. Ornstein, Jason M. Cahill
-
Patent number: 7496828Abstract: 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: GrantFiled: February 1, 2005Date of Patent: February 24, 2009Assignee: Microsoft CorporationInventors: Robert A. Relyea, Jeffrey L. Bogdan, Peter F. Ostertag, Michael J. Hillberg
-
Patent number: 7487448Abstract: 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: GrantFiled: April 30, 2004Date of Patent: February 3, 2009Assignee: Microsoft CorporationInventors: 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: 7477254Abstract: 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: GrantFiled: July 13, 2005Date of Patent: January 13, 2009Assignee: Microsoft CorporationInventors: Elizabeth K. Nelson, Kurt B. Jacob, Matt Calkins, Michael J. Hillberg
-
Patent number: 7464107Abstract: 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: GrantFiled: September 11, 2004Date of Patent: December 9, 2008Assignee: Microsoft CorporationInventors: Namita Gupta, Mark J. Finocchio, Michael J. Hillberg, Jeffrey L. Bogdan
-
Publication number: 20080270482Abstract: 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: ApplicationFiled: April 27, 2007Publication date: October 30, 2008Applicant: MICROSOFT CORPORATIONInventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
-
Patent number: 7336280Abstract: 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: GrantFiled: November 18, 2004Date of Patent: February 26, 2008Assignee: Microsoft CorporationInventors: 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: 7188340Abstract: 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: GrantFiled: June 28, 2002Date of Patent: March 6, 2007Assignee: Microsoft CorporationInventors: Peter Francis Ostertag, Michael J. Hillberg, Jeffrey L. Bogdan, Robert A. Relyea
-
Publication number: 20040230576Abstract: 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: ApplicationFiled: May 17, 2003Publication date: November 18, 2004Applicant: Microsoft CorporationInventors: Michael J. Hillberg, Roger Cheng, David B. Ornstein, Jason M. Cahill
-
Patent number: 6775678Abstract: 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: GrantFiled: April 11, 2000Date of Patent: August 10, 2004Assignee: Microsoft CorporationInventors: Michael J. Hillberg, Chao-Chia Liu