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: 10244022Abstract: 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: GrantFiled: July 22, 2014Date of Patent: March 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: 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: 10115217Abstract: 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: GrantFiled: October 28, 2011Date of Patent: October 30, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Ruurd Johan Boeke, Hamid Mahmood, Terry A. Adams, Michael John Hillberg, Brendan J. Clark
-
Patent number: 9613073Abstract: 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: GrantFiled: June 8, 2015Date of Patent: April 4, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Michael John Hillberg, Raja Krishnaswamy
-
Patent number: 9268848Abstract: 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: GrantFiled: November 2, 2011Date of Patent: February 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Ted G. Glaza, Hamid Mahmood, Terry A. Adams, Vincent Paul Sibal, Vijay Devatha, Michael John Hillberg, Matthew Jake Hohn
-
Publication number: 20150269196Abstract: 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: ApplicationFiled: June 8, 2015Publication date: September 24, 2015Inventors: Michael John Hillberg, Raja Krishnaswamy
-
Patent number: 9053017Abstract: 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: GrantFiled: August 29, 2012Date of Patent: June 9, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Michael John Hillberg, Raja Krishnaswamy
-
Publication number: 20140337433Abstract: 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: ApplicationFiled: July 22, 2014Publication date: November 13, 2014Applicant: Microsoft CorporationInventors: 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: 8789168Abstract: 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: GrantFiled: May 12, 2008Date of Patent: July 22, 2014Assignee: Microsoft CorporationInventors: 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: 8613104Abstract: 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: GrantFiled: December 23, 2010Date of Patent: December 17, 2013Assignee: Microsoft CorporationInventors: Michael John Hillberg, Sujal S. Parikh
-
Publication number: 20130159382Abstract: 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: ApplicationFiled: December 15, 2011Publication date: June 20, 2013Applicant: MICROSOFT CORPORATIONInventors: Ivan Naranjo Martinez, Michael John Hillberg
-
Publication number: 20130106866Abstract: 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: ApplicationFiled: October 28, 2011Publication date: May 2, 2013Applicant: MICROSOFT CORPORATIONInventors: Ruurd Johan Boeke, Hamid Mahmood, Terry A. Adams, Michael John Hillberg, Brendan J. Clark
-
Publication number: 20130111413Abstract: 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: ApplicationFiled: November 2, 2011Publication date: May 2, 2013Applicant: MICROSOFT CORPORATIONInventors: Ted G. Glaza, Hamid Mahmood, Terry A. Adams, Vincent Paul Sibal, Vijay Devatha, Michael John Hillberg, Matthew Jake Hohn
-
Publication number: 20130066927Abstract: 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: ApplicationFiled: August 29, 2012Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Michael John Hillberg, Raja Krishnaswamy
-
Publication number: 20120167224Abstract: 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: ApplicationFiled: December 23, 2010Publication date: June 28, 2012Applicant: Microsoft CorporationInventors: Michael John Hillberg, Sujal S. Parikh
-
Publication number: 20110185282Abstract: 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: ApplicationFiled: January 28, 2010Publication date: July 28, 2011Applicant: MICROSOFT CORPORATIONInventors: Hamid Mahmood, Michael John Hillberg, Terry Adams, RĂ©gis Brid, Sage Alexander LaTorra, Nikhil Kothari
-
Patent number: 7823157Abstract: 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: GrantFiled: November 18, 2003Date of Patent: October 26, 2010Assignee: Microsoft CorporationInventors: Dwayne Need, Michael John Hillberg, Nicholas M. Kramer
-
Publication number: 20090282475Abstract: 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: ApplicationFiled: May 12, 2008Publication date: November 12, 2009Applicant: Microsoft CorporationInventors: 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: 7447993Abstract: 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: GrantFiled: October 12, 2004Date of Patent: November 4, 2008Assignee: Microsoft CorporationInventors: Christopher Lee Anderson, Jeffrey Lawrence Bogdan, Namita Gupta, Michael John Hillberg, Alex Mogilevsky
-
Patent number: 7263654Abstract: 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: GrantFiled: April 27, 2005Date of Patent: August 28, 2007Assignee: Microsoft CorporationInventors: Roger Grambihler, Peter Francis Ostertag, Michael John Hillberg
-
Patent number: 7237194Abstract: 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: GrantFiled: November 18, 2003Date of Patent: June 26, 2007Assignee: Microsoft CorporationInventors: Roger Grambihler, Peter Francis Ostertag, Michael John Hillberg