Patents by Inventor Michael John Hillberg

Michael John 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: 10244022
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Grant
    Filed: July 22, 2014
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sam J George, Gilles Khouzam, Michael R Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D Schechler, Donald D Karlov, Eldar A Musayev, Wenbo Zhang, Serge Smimov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar
  • Patent number: 10115217
    Abstract: Embodiments are directed to rendering animations in a multi-layered animation system and to rendering an element with an animation that uses multiple levels of animation properties. In one scenario, a computer system establishes an operating system (OS)-specified animation value for at least one property of a user interface (UI) element that is to be animated. The computer system receives a user-specified animation value for at least one property of the UI element that is to be animated and determines, based on the UI element property, how to combine the OS-specified animation value and the user-specified animation value. The computer system then combines the OS-specified animation value and the user-specified value for the UI element in the determined manner and renders the animation for the element using the combined animation values.
    Type: Grant
    Filed: October 28, 2011
    Date of Patent: October 30, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ruurd Johan Boeke, Hamid Mahmood, Terry A. Adams, Michael John Hillberg, Brendan J. Clark
  • Patent number: 9613073
    Abstract: The present invention extends to methods, systems, and computer program products for managing object lifetime in a cyclic graph. Embodiments of the invention include reclaiming allocated system resources, for example, from a graph of objects that mixes different resource reclamation techniques (such as reference counting and garbage collection). In response to determining that garbage collection is to be performed, references between GC objects and Ref. Counted objects are detected. A reference type (e.g., direct, indirect, standard, tracked, weakened, etc.) for any detected references is also determined. Garbage collection is performed to determine if any allocated system resources can be reclaimed. Garbage collection considers references and references types between GC objects and Ref. Counted objects when determining if objects are to be reclaimed.
    Type: Grant
    Filed: June 8, 2015
    Date of Patent: April 4, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael John Hillberg, Raja Krishnaswamy
  • Patent number: 9268848
    Abstract: Embodiments are directed to semantically navigating a data collection and to providing custom data mappings for a semantic group of data items. In one scenario, a computer system displays various data items of a data collection on a data presentation interface of a software application user interface. The user interface receives a first user input indicating that a semantic interface is to be displayed in the software application user interface, and displays the semantic interface which includes semantic headers that identify groups of data items. The user interface then receives a second user input that selects at least one of the semantic headers to display its corresponding group of data items and navigates the data presentation interface to the group of data items corresponding to the selected semantic header.
    Type: Grant
    Filed: November 2, 2011
    Date of Patent: February 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ted G. Glaza, Hamid Mahmood, Terry A. Adams, Vincent Paul Sibal, Vijay Devatha, Michael John Hillberg, Matthew Jake Hohn
  • Publication number: 20150269196
    Abstract: The present invention extends to methods, systems, and computer program products for managing object lifetime in a cyclic graph. Embodiments of the invention include reclaiming allocated system resources, for example, from a graph of objects that mixes different resource reclamation techniques (such as reference counting and garbage collection). In response to determining that garbage collection is to be performed, references between GC objects and Ref. Counted objects are detected. A reference type (e.g., direct, indirect, standard, tracked, weakened, etc.) for any detected references is also determined. Garbage collection is performed to determine if any allocated system resources can be reclaimed. Garbage collection considers references and references types between GC objects and Ref. Counted objects when determining if objects are to be reclaimed.
    Type: Application
    Filed: June 8, 2015
    Publication date: September 24, 2015
    Inventors: Michael John Hillberg, Raja Krishnaswamy
  • Patent number: 9053017
    Abstract: The present invention extends to methods, systems, and computer program products for managing object lifetime in a cyclic graph. Embodiments of the invention include reclaiming allocated system resources, for example, from a graph of objects that mixes different resource reclamation techniques (such as reference counting and garbage collection). In response to determining that garbage collection is to be performed, references between GC objects and Ref. Counted objects are detected. A reference type (e.g., direct, indirect, standard, tracked, weakened, etc.) for any detected references is also determined. Garbage collection is performed to determine if any allocated system resources can be reclaimed. Garbage collection considers references and references types between GC objects and Ref. Counted objects when determining if objects are to be reclaimed.
    Type: Grant
    Filed: August 29, 2012
    Date of Patent: June 9, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael John Hillberg, Raja Krishnaswamy
  • Publication number: 20140337433
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Application
    Filed: July 22, 2014
    Publication date: November 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Sam J. George, Gilles Khouzam, Michael R Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D Schechler, Donald D Karlov, Eldar A Musayev, Wenbo Zhang, Serge Smimov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar
  • Patent number: 8789168
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Grant
    Filed: May 12, 2008
    Date of Patent: July 22, 2014
    Assignee: Microsoft Corporation
    Inventors: Sam J George, Gilles Khouzam, Michael R Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D Schechter, Donald D Karlov, Eldar A Musayev, Wenbo Zhang, Serge Smirnov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar, Weibing Zhan
  • Patent number: 8613104
    Abstract: An outer COM object can be provided with privileged access to protected functionality in an inner COM object. An inner COM object can offer a custom protected interface to an outer COM object by creating a new inner internals COM object that is not available to a calling application or by creating a new extension IUnknown interface that can be used to access the protected content. An outer COM object can override behavior in an inner COM object. An inner COM object can offer access to custom behavior to an outer COM object by creating a new inner internals COM object that is not available to a calling application. The new inner internals COM object can implement a new interface that provides access to the customized (override) content or can create a new extension IUnknown interface that can be used to provide access to the customized (override) content.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: December 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Michael John Hillberg, Sujal S. Parikh
  • Publication number: 20130159382
    Abstract: Embodiments are directed to generically exposing virtualized data stored in the data store and to efficiently providing data from a virtualized data source. In one embodiment, a computer system provides various data interfaces that are configured to receive data requests for data elements stored on a data store. The data store sends an indication that placeholder data is to be displayed while the requested data is retrieved and transmitted. The data store then retrieves the requested data elements according to the received request and dynamically sends the retrieved data elements to the data requestor. The retrieved data elements are then dynamically added to the displayed placeholder data as each data element is received from the data store.
    Type: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Ivan Naranjo Martinez, Michael John Hillberg
  • Publication number: 20130106866
    Abstract: Embodiments are directed to rendering animations in a multi-layered animation system and to rendering an element with an animation that uses multiple levels of animation properties. In one scenario, a computer system establishes an operating system (OS)-specified animation value for at least one property of a user interface (UI) element that is to be animated. The computer system receives a user-specified animation value for at least one property of the UI element that is to be animated and determines, based on the UI element property, how to combine the OS-specified animation value and the user-specified animation value. The computer system then combines the OS-specified animation value and the user-specified value for the UI element in the determined manner and renders the animation for the element using the combined animation values.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Ruurd Johan Boeke, Hamid Mahmood, Terry A. Adams, Michael John Hillberg, Brendan J. Clark
  • Publication number: 20130111413
    Abstract: Embodiments are directed to semantically navigating a data collection and to providing custom data mappings for a semantic group of data items. In one scenario, a computer system displays various data items of a data collection on a data presentation interface of a software application user interface. The user interface receives a first user input indicating that a semantic interface is to be displayed in the software application user interface, and displays the semantic interface which includes semantic headers that identify groups of data items. The user interface then receives a second user input that selects at least one of the semantic headers to display its corresponding group of data items and navigates the data presentation interface to the group of data items corresponding to the selected semantic header.
    Type: Application
    Filed: November 2, 2011
    Publication date: May 2, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Ted G. Glaza, Hamid Mahmood, Terry A. Adams, Vincent Paul Sibal, Vijay Devatha, Michael John Hillberg, Matthew Jake Hohn
  • Publication number: 20130066927
    Abstract: The present invention extends to methods, systems, and computer program products for managing object lifetime in a cyclic graph. Embodiments of the invention include reclaiming allocated system resources, for example, from a graph of objects that mixes different resource reclamation techniques (such as reference counting and garbage collection). In response to determining that garbage collection is to be performed, references between GC objects and Ref. Counted objects are detected. A reference type (e.g., direct, indirect, standard, tracked, weakened, etc.) for any detected references is also determined. Garbage collection is performed to determine if any allocated system resources can be reclaimed. Garbage collection considers references and references types between GC objects and Ref. Counted objects when determining if objects are to be reclaimed.
    Type: Application
    Filed: August 29, 2012
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Michael John Hillberg, Raja Krishnaswamy
  • Publication number: 20120167224
    Abstract: An outer COM object can be provided with privileged access to protected functionality in an inner COM object. An inner COM object can offer a custom protected interface to an outer COM object by creating a new inner internals COM object that is not available to a calling application or by creating a new extension IUnknown interface that can be used to access the protected content. An outer COM object can override behavior in an inner COM object. An inner COM object can offer access to custom behavior to an outer COM object by creating a new inner internals COM object that is not available to a calling application. The new inner internals COM object can implement a new interface that provides access to the customized (override) content or can create a new extension IUnknown interface that can be used to provide access to the customized (override) content.
    Type: Application
    Filed: December 23, 2010
    Publication date: June 28, 2012
    Applicant: Microsoft Corporation
    Inventors: Michael John Hillberg, Sujal S. Parikh
  • Publication number: 20110185282
    Abstract: An asynchronous data validation mechanism integrated into a user interface by a binding engine is provided. Application object properties are bound to user interface data fields. The asynchronous validation mechanism communicates with a validator and with the object properties. Data input to a single field can be flagged with multiple validation errors. Multiple validation errors can also be associated to the object overall rather than being associated with particular properties of the object. Inconsistency between inputs to different data fields can result in a cross-property validation error. A single flag indicates whether the business object has any validation errors. Different validation errors may have different visualization types, and the business object may have validation errors of different data types, rather than being limited to strings.
    Type: Application
    Filed: January 28, 2010
    Publication date: July 28, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Hamid Mahmood, Michael John Hillberg, Terry Adams, RĂ©gis Brid, Sage Alexander LaTorra, Nikhil Kothari
  • Patent number: 7823157
    Abstract: The present invention provides a dynamic queue for managing jobs in a threaded computing environment. Jobs may be placed in the queue, which may be maintained within a context of the computing environment, at a given priority level. The priority of jobs within the queue and the receipt time of each job is maintained. A job may also be placed within the queue with triggers that, if met, will result in the priority of the job being changed or will result in the job being removed from the queue entirely. Methods in accordance with the present invention also provide a method for raising an exception should multiple threads seek to access objects within a single context. Methods in accordance with the present invention also provide compatibility with prior computing systems and methodologies by providing for integration of prior static queues with dynamic queues in accordance with the present invention, and by providing methods for a given thread to be pinned to a particular context of a computing environment.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: October 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Dwayne Need, Michael John Hillberg, Nicholas M. Kramer
  • Publication number: 20090282475
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Application
    Filed: May 12, 2008
    Publication date: November 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Sam J. George, Gilles Khouzam, Michael R. Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D. Schechter, Donald D. Karlov, Eldar A. Musayev, Wenbo Zhang, Serge Smirnov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar, Weibing Zhan
  • Patent number: 7447993
    Abstract: An improved system and method for displaying a user interface object using an associated style is provided. To this end, an application may include style declarations that may associate a style resource with a user interface object. The style resource may define property values that may be selectively applied to a user interface object, may specify a visual representation for the user interface object, such as a visual subtree, and may specify additional property values to be conditionally applied to a user interface object. A styling engine may be provided for applying a style resource to a user interface object. A visual representation of the user interface objects with the applied property values may be generated and then a display representation may be rendered for presentation on a user interface display.
    Type: Grant
    Filed: October 12, 2004
    Date of Patent: November 4, 2008
    Assignee: Microsoft Corporation
    Inventors: Christopher Lee Anderson, Jeffrey Lawrence Bogdan, Namita Gupta, Michael John Hillberg, Alex Mogilevsky
  • Patent number: 7263654
    Abstract: A system and related techniques accept extensible application markup language (XAML) inputs corresponding to object trees, such as those representing user interface elements, and map those inputs to a binary construct. A mapping engine may generate tokenized binary outputs representing the XAML file input and ultimately the associated user interface or other object. The binary representation generated by the mapping engine may be optimized in multiple ways, including to encode dimension information such as length, width etc. of dialog boxes or other elements in the binary representation without a necessity for explicit definition. Other optimizations include the type indexing of data types when a novel instance of the type is first encountered, and embedding loader definitions to load the object or data reflected in the binary representation without having to do a lookup against loader lists.
    Type: Grant
    Filed: April 27, 2005
    Date of Patent: August 28, 2007
    Assignee: Microsoft Corporation
    Inventors: Roger Grambihler, Peter Francis Ostertag, Michael John Hillberg
  • Patent number: 7237194
    Abstract: A system and related techniques accept extensible application markup language (XAML) inputs corresponding to object trees, such as those representing user interface elements, and map those inputs to a binary construct. A mapping engine may generate tokenized binary outputs representing the XAML file input and ultimately the associated user interface or other object. The binary representation generated by the mapping engine may be optimized in multiple ways, including to encode dimension information such as length, width etc. of dialog boxes or other elements in the binary representation without a necessity for explicit definition. Other optimizations include the type indexing of data types when a novel instance of the type is first encountered, and embedding loader definitions to load the object or data reflected in the binary representation without having to do a lookup against loader lists.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: June 26, 2007
    Assignee: Microsoft Corporation
    Inventors: Roger Grambihler, Peter Francis Ostertag, Michael John Hillberg