Patents by Inventor Patrick H. Dussud
Patrick H. Dussud 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: 11650916Abstract: Systems and methods for garbage collection are disclosed. A garbage collection is triggered in a memory allocation based on a free list and selected amount of free space in an inner closed feedback loop. The free list is determined from a selected memory load and a current memory load as generated from the garbage collection in an outer feedback loop.Type: GrantFiled: June 14, 2018Date of Patent: May 16, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Patent number: 11188460Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.Type: GrantFiled: June 18, 2018Date of Patent: November 30, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
-
Patent number: 10628306Abstract: A method for use with a garbage collector to provide garbage collection is disclosed. The garbage collection is a concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. The concurrent garbage collection is triggered based on a dynamically tunable parameter from a previous garbage collection in closed loop feedback.Type: GrantFiled: February 1, 2017Date of Patent: April 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Patent number: 10572181Abstract: A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.Type: GrantFiled: February 1, 2017Date of Patent: February 25, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Publication number: 20190384705Abstract: Systems and methods for garbage collection are disclosed. A garbage collection is triggered in a memory allocation based on a free list and selected amount of free space in an inner closed feedback loop. The free list is determined from a selected memory load and a current memory load as generated from the garbage collection in an outer outer feedback loop.Type: ApplicationFiled: June 14, 2018Publication date: December 19, 2019Inventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Publication number: 20190384703Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.Type: ApplicationFiled: June 18, 2018Publication date: December 19, 2019Inventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
-
Patent number: 10402208Abstract: Platform-agnostic source code can be augmented with one or more portions of source code annotated for different platforms and/or versions. The source code including both the platform-agnostic and platform-specific and/or version-specific portions can be compiled once to create a single executable that can be distributed to and can run on multiple device platforms and/or multiple versions of one or more platforms. Platform-specific or version-specific executables (e.g., assemblies, binaries, etc.) can be embedded into a binary or executable as resources (e.g., data). When the compiled code is executed on a device, the runtime can extract the platform-specific portion corresponding to the device on which the executable is being run, can bind the extracted portion to the executable and can load and execute the executable. Hence the same binary can produce different results or functionalities depending on the capabilities of the platform on which the binary runs.Type: GrantFiled: June 18, 2012Date of Patent: September 3, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mircea Trofin, Krzysztof Cwalina, Patrick H. Dussud
-
Patent number: 10334031Abstract: Efforts to avoid time-outs during execution of an application in a managed execution environment may be implemented by monitoring memory allocation.Type: GrantFiled: July 3, 2012Date of Patent: June 25, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Maoni Z. Stephens, Patrick H. Dussud
-
Patent number: 10152309Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.Type: GrantFiled: July 27, 2016Date of Patent: December 11, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
-
Patent number: 10120655Abstract: Multiple different type hierarchies can communicate in a high performance and seamless manner by sharing a GC and interface dispatch logic. A runtime environment can support multiple independent type hierarchies, each type hierarchy defined by the module which defines the root of a type graph and some other helper functionality. Code that uses the dispatch logic has to follow certain rules in order to maintain GC and type safety. Different types in disjoint type graphs can behave as if they were one type for cross type graph communication purposes.Type: GrantFiled: June 3, 2016Date of Patent: November 6, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: David C. Wrighton, Scott D. Mosier, Patrick H. Dussud
-
Publication number: 20180217927Abstract: A method for use with a garbage collector to provide garbage collection is disclosed. The garbage collection is a concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. The concurrent garbage collection is triggered based on a dynamically tunable parameter from a previous garbage collection in closed loop feedback.Type: ApplicationFiled: February 1, 2017Publication date: August 2, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Publication number: 20180217779Abstract: A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.Type: ApplicationFiled: February 1, 2017Publication date: August 2, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Maoni Zhang Stephens, Patrick H. Dussud
-
Publication number: 20170351490Abstract: Multiple different type hierarchies can communicate in a high performance and seamless manner by sharing a GC and interface dispatch logic. A runtime environment can support multiple independent type hierarchies, each type hierarchy defined by the module which defines the root of a type graph and some other helper functionality. Code that uses the dispatch logic has to follow certain rules in order to maintain GC and type safety. Different types in disjoint type graphs can behave as if they were one type for cross type graph communication purposes.Type: ApplicationFiled: June 3, 2016Publication date: December 7, 2017Inventors: David C. Wrighton, Scott D. Mosier, Patrick H. Dussud
-
Publication number: 20170228223Abstract: A type system includes a dual representation for basic data types. One representation is the basic data type representation common to such basic built-in data types, known as an unboxed value type or simply as a value type. Each of the basic data types also has a boxed representation that can be stored in the object hierarchy of the type system. This dual representation can also be extended to user-defined types, so that user-defined types may exist both as an unboxed value type and as an object within the object hierarchy of the type system. This dual representation allows the compiler and/or runtime environment to select the most effective and efficient representation for the data type depending on the particular need at the moment.Type: ApplicationFiled: April 20, 2017Publication date: August 10, 2017Applicant: Microsoft Technology Licensing, LLCInventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
-
Patent number: 9690554Abstract: A type system includes a dual representation for basic data types. One representation is the basic data type representation common to such basic built-in data types, known as an unboxed value type or simply as a value type. Each of the basic data types also has a boxed representation that can be stored in the object hierarchy of the type system. This dual representation can also be extended to user-defined types, so that user-defined types may exist both as an unboxed value type and as an object within the object hierarchy of the type system. This dual representation allows the compiler and/or runtime environment to select the most effective and efficient representation for the data type depending on the particular need at the moment.Type: GrantFiled: October 14, 2011Date of Patent: June 27, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
-
Patent number: 9563487Abstract: Various embodiments provide an ability to describe, independent of a programming language, one or more interfaces associated with an operating system. Alternately or additionally, a compiler associated with a specific programming language can be configured to map the independent interface description(s) to the specific programming language. In some embodiments, an application can be configured to programmatically determine one or more interfaces of the operating system.Type: GrantFiled: June 6, 2014Date of Patent: February 7, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Brent E. Rector, Elliot H. Omiya, Jerry J. Dunietz, Martyn S. Lovell, Ales Holecek, Mahesh Prakriya, Stephen C. Rowe, James F. Springfield, Noel R. Cross, Tassaduq H. Basu, Patrick H. Dussud, Raja Krishnaswamy, Steven Edward Lucco
-
Publication number: 20160357531Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.Type: ApplicationFiled: July 27, 2016Publication date: December 8, 2016Inventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
-
Patent number: 9430200Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.Type: GrantFiled: June 4, 2015Date of Patent: August 30, 2016Assignee: Microsoft Technology Licensing LLCInventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
-
Publication number: 20160124726Abstract: A type system includes a dual representation for basic data types. One representation is the basic data type representation common to such basic built-in data types, known as an unboxed value type or simply as a value type. Each of the basic data types also has a boxed representation that can be stored in the object hierarchy of the type system. This dual representation can also be extended to user-defined types, so that user-defined types may exist both as an unboxed value type and as an object within the object hierarchy of the type system. This dual representation allows the compiler and/or runtime environment to select the most effective and efficient representation for the data type depending on the particular need at the moment.Type: ApplicationFiled: October 14, 2011Publication date: May 5, 2016Applicant: Microsoft Technology Licensing, LLCInventors: George H. Bosworth, Patrick H. Dussud, James S. Miller, Daryl B. Olander
-
Publication number: 20140325534Abstract: Various embodiments provide an ability to describe, independent of a programming language, one or more interfaces associated with an operating system. Alternately or additionally, a compiler associated with a specific programming language can be configured to map the independent interface description(s) to the specific programming language. In some embodiments, an application can be configured to programmatically determine one or more interfaces of the operating system.Type: ApplicationFiled: June 6, 2014Publication date: October 30, 2014Inventors: Brent E. Rector, Elliot H. Omiya, Jerry J. Dunietz, Martyn S. Lovell, Ales Holecek, Mahesh Prakriya, Stephen C. Rowe, James F. Springfield, Noel R. Cross, Tassaduq H. Basu, Patrick H. Dussud, Raja Krishnaswamy, Steven Edward Lucco