Patents by Inventor Patrick Dussud
Patrick 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: 11003511Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: GrantFiled: September 19, 2017Date of Patent: May 11, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 10754770Abstract: A process may utilize multiple garbage collector threads, each having the capability to steal partially-marked object references from an accessible mark stack having additional work that has yet to be processed. A partially-marked object reference may be represented as a pair of entries on a mark stack. A garbage collector thread may utilize an atomic operation to access the pair of entries in a prescribed manner to steal an unprocessed partially-marked object reference. In this manner, the workload of an overloaded garbage collector thread is offloaded to another garbage collector thread that may be idle thereby balancing the workload more evenly among multiple garbage collector threads.Type: GrantFiled: October 10, 2011Date of Patent: August 25, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Maoni Stephens, Patrick Dussud
-
Publication number: 20190095256Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: ApplicationFiled: September 19, 2017Publication date: March 28, 2019Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 9785483Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: GrantFiled: March 3, 2015Date of Patent: October 10, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Publication number: 20150169387Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: ApplicationFiled: March 3, 2015Publication date: June 18, 2015Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 8990839Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: GrantFiled: April 22, 2013Date of Patent: March 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Publication number: 20140317641Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: ApplicationFiled: April 22, 2013Publication date: October 23, 2014Applicant: Microsoft CorporationInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 8584102Abstract: Aspects of the subject matter described herein relate to creating and using deltas to modify existing computer code. In aspects, computer code may be translated into a higher level language to make it easier for a software developer to modify the computer code. The translated computer code may be presented by an editing tool that presents a user interface that allows changes to be made to the translated computer code. A delta engine may then determine a delta that indicates the changes to perform on the existing computer code to create computer code that would result from compiling the translated computer code as changed via the editing tool. Later, this delta may be used to change the existing computer code after it has been loaded to add or change debugging hooks or other features of the computer code.Type: GrantFiled: December 27, 2007Date of Patent: November 12, 2013Assignee: Microsoft CorporationInventors: Dwayne Richard Need, Varsha Mahadevan, Brandon C. Furtwangler, Tsvetomir V. Valtchev, Benjamin Franklin Carter, Cedric Patrick Dussud, Karen Elizabeth Corby
-
Publication number: 20130159122Abstract: Delivering applications to devices. A method includes receiving, at an AppStore, developer provided application code. The method further includes determining anticipated usage of an application based on the application code at end user devices. The method further includes using the determined anticipated usage, optimizing the developer provided application code at the AppStore to optimize for the anticipated usage.Type: ApplicationFiled: December 15, 2011Publication date: June 20, 2013Applicant: MICROSOFT CORPORATIONInventors: Surupa Biswas, Patrick Dussud, Andrew J. Pardoe, Subramanian Ramaswamy
-
Publication number: 20130091186Abstract: A process may utilize multiple garbage collector threads, each having the capability to steal partially-marked object references from an accessible mark stack having additional work that has yet to be processed. A partially-marked object reference may be represented as a pair of entries on a mark stack. A garbage collector thread may utilize an atomic operation to access the pair of entries in a prescribed manner to steal an unprocessed partially-marked object reference. In this manner, the workload of an overloaded garbage collector thread is offloaded to another garbage collector thread that may be idle thereby balancing the workload more evenly among multiple garbage collector threads.Type: ApplicationFiled: October 10, 2011Publication date: April 11, 2013Applicant: Microsoft CorporationInventors: MAONI STEPHENS, Patrick Dussud
-
Patent number: 7707232Abstract: A method and system for garbage collecting managed and unmanaged memory that is no longer referenced. The time between allocations is compared with a threshold to determine if the garbage collector needs to collect unused memory. Unmanaged memory referenced by objects in the unused managed memory may be freed during the collection.Type: GrantFiled: May 13, 2005Date of Patent: April 27, 2010Assignee: Microsoft CorporationInventors: Cedric Patrick Dussud, Yin Xie
-
Publication number: 20090172651Abstract: Aspects of the subject matter described herein relate to creating and using deltas to modify existing computer code. In aspects, computer code may be translated into a higher level language to make it easier for a software developer to modify the computer code. The translated computer code may be presented by an editing tool that presents a user interface that allows changes to be made to the translated computer code. A delta engine may then determine a delta that indicates the changes to perform on the existing computer code to create computer code that would result from compiling the translated computer code as changed via the editing tool. Later, this delta may be used to change the existing computer code after it has been loaded to add or change debugging hooks or other features of the computer code.Type: ApplicationFiled: December 27, 2007Publication date: July 2, 2009Applicant: MICROSOFT CORPORATIONInventors: Dwayne Richard Need, Varsha Mahadevan, Brandon C. Furtwangler, Tsvetomir V. Valtchev, Benjamin Franklin Carter, Cedric Patrick Dussud, Karen Elizabeth Corby
-
Publication number: 20080281885Abstract: An automated memory management or garbage collection routine uses a first garbage collection routine to perform garbage collection on new objects, and a second garbage collection routine to perform garbage collection on old objects. The two garbage collection routines are operated concurrently, with each routine separately marking objects to be reclaimed. The second routine may operate in a background mode by traversing a tree of objects from a copy of memory, while the first routine may operate on actual memory.Type: ApplicationFiled: May 8, 2007Publication date: November 13, 2008Applicant: Microsoft CorporationInventor: Patrick Dussud
-
Publication number: 20070094671Abstract: Interfaces are provided to notify of conditions pertaining to memory management. Thus, efforts to avoid time-outs during execution of code in a managed execution environment may be implemented.Type: ApplicationFiled: October 20, 2005Publication date: April 26, 2007Applicant: Microsoft CorporationInventors: Maoni Stephens, Patrick Dussud
-
Publication number: 20070094651Abstract: Efforts to avoid time-outs during execution of an application in a managed execution environment may be implemented by monitoring memory allocation.Type: ApplicationFiled: October 20, 2005Publication date: April 26, 2007Applicant: Microsoft CorporationInventors: Maoni Stephens, Patrick Dussud
-
Publication number: 20060230387Abstract: Dynamic memory management configuration enables certain behavior of an application to be controlled without touching or affecting any executable portion of the application.Type: ApplicationFiled: April 6, 2005Publication date: October 12, 2006Applicant: Microsoft CorporationInventors: Mahesh Prakriya, Robin Maffeo, Patrick Dussud
-
Publication number: 20060156152Abstract: A finalizer may include a notification that no tolerance for failure or corruption is expected. Any potential failure point, which may be induced by a runtime execution environment routine or subroutine that is associated with the finalizer may then be prepared apart from the finalizer.Type: ApplicationFiled: December 10, 2004Publication date: July 13, 2006Applicant: Microsoft CorporationInventors: Sean Trowbridge, Brian Grunkemeyer, Christopher Brumme, Mahesh Prakriya, Patrick Dussud, Ian Carmichael
-
Publication number: 20060101401Abstract: Deterministic code execution may be recovered for programs or portions thereof by implementing a programmable policy on a system host to escalate the scope of a code discard based on various parameters.Type: ApplicationFiled: October 14, 2004Publication date: May 11, 2006Applicant: Microsoft CorporationInventors: Christopher Brumme, WeiWen Liu, Mahesh Prakriya, Sean Trowbridge, Ian Carmichael, Patrick Dussud, Brian Grunkemeyer
-
Publication number: 20060101446Abstract: The techniques and mechanisms described herein are directed at sharing objects between applications executing in a virtual runtime environment. The techniques include compiling a cpu-independent file to create executable instructions that are associated with an application that is executable in a virtual runtime environment. A constructor associated with a shareable class defined within the cpu-independent file is executed to create an instance of a shareable object. The shareable object is then persisted in a manner such that other applications executing in the virtual runtime environment may access the shareable object. The technique may be performed during pre-JIT compilation or just-in-time compilation of the cpu-independent file. The execution of the constructor is performed at a restricted security level that prevents access to changeable information when generating static data for the static members of the shareable object.Type: ApplicationFiled: October 18, 2004Publication date: May 11, 2006Applicant: Microsoft CorporationInventors: Rico Mariani, Christopher Brumme, Patrick Dussud, Sean Trowbridge
-
Publication number: 20060085460Abstract: A system and method is provided to facilitate communications between object systems. A caller is provided having optimized in-lined functionality when initiating a remote function call between managed and unmanaged object systems, for example. The in-lined functionality includes utilizing direct calls and returns within a calling function. In this manner, pushing additional arguments onto an execution stack because of an external stub reference is mitigated. In addition, one or more code loops can be analyzed to enable stack markers to be “hoisted” and thus pushed a single time instead of each time the calling function executes. Other aspects of the optimized caller provide garbage collection and thread management, security attribute checking on outgoing calls, calling convention considerations, wherein arguments and return values are organized according to the convention utilized by the remote object system, and in-lined marshalling to provide enhanced performance over external stub code references.Type: ApplicationFiled: December 5, 2005Publication date: April 20, 2006Applicant: Microsoft CorporationInventors: Frank Peschel-Gallee, Raja Krishnaswamy, Patrick Dussud