Patents by Inventor Kenneth M Jung
Kenneth M Jung 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: 9563446Abstract: Various systems and methods for generating a mapping binary file are described herein. In one example, a method includes mapping a function call from a legacy binary file to a function call from a virtualized namespace binary file using a builder to detect a build file that enables the mapping, the mapping comprising merging an export table from the legacy binary file and an export table from the virtualized namespace binary file. The method can also include storing the mapping of the function call from the legacy binary file to the function call from the virtualized namespace binary file in a mapping binary file and storing, in the mapping binary file, an exception detected from the combination. Furthermore, the method can include storing the mapping binary file in a storage location accessible by a loader.Type: GrantFiled: April 30, 2015Date of Patent: February 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Neil Sandlin, Philippe Joubert, Patrick J. Leahy, Kenneth M. Jung
-
Publication number: 20160321089Abstract: Various systems and methods for generating a mapping binary file are described herein. In one example, a method includes mapping a function call from a legacy binary file to a function call from a virtualized namespace binary file using a builder to detect a build file that enables the mapping, the mapping comprising merging an export table from the legacy binary file and an export table from the virtualized namespace binary file. The method can also include storing the mapping of the function call from the legacy binary file to the function call from the virtualized namespace binary file in a mapping binary file and storing, in the mapping binary file, an exception detected from the combination. Furthermore, the method can include storing the mapping binary file in a storage location accessible by a loader.Type: ApplicationFiled: April 30, 2015Publication date: November 3, 2016Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Neil Sandlin, Philippe Joubert, Patrick J. Leahy, Kenneth M. Jung
-
Patent number: 8707283Abstract: A parallel processing method and apparatus for initializing libraries is disclosed. Libraries for an application are identified, an initialization order for the libraries is determined, and the libraries are initialized in asynchronous stages. The initialization order is determined by forming a library tree of the libraries' references and determining a load order for the references according to the levels of the references in the library tree. The asynchronous stages comprise a loading stage that includes a load queue, a snapping stage that includes a snap queue, and an initializing stage that includes an initialize queue.Type: GrantFiled: March 29, 2007Date of Patent: April 22, 2014Assignee: Microsoft CorporationInventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift
-
Patent number: 7900217Abstract: Deterministically resolving cycles in a library tree is disclosed. Resolving cycles supports certain processes such as safe library initialization. Cycles in the library tree are identified; at least one soft link in each identified cycle is identified; and the at least one soft link in each identified cycle is broken. If a cycle has no soft links, notification is provided indicating that the cycle cannot be broken. Identifying at least one soft link in each identified cycle comprises, for each link in the cycle, determining the dependent and supporting libraries; and determining if one or more functions in the supporting library are required for initializing the dependent library.Type: GrantFiled: March 29, 2007Date of Patent: March 1, 2011Assignee: Microsoft CorporationInventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift
-
Patent number: 7865914Abstract: Loading and unloading a plurality of libraries on a computing device having a loader lock and internal and external counts for each library in the plurality of libraries is disclosed. The libraries assume an initialize state, followed by an initialized state, a pending unload state, and an unload state according to when the internal and external counts are incremented and decremented. When in the pending unload state, the functions of a library that include functions that require acquiring the loader lock exit, the internal count is decremented by one, and the loader lock is released. Prior to entering the pending unload state, a library may be placed into a reloadable state. A library in the reloadable state may be reloaded upon request until a timer times out. When the timer times out, the library in the reloadable state transitions into the pending unload state.Type: GrantFiled: March 29, 2007Date of Patent: January 4, 2011Assignee: Microsoft CorporationInventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift, Dragos C. Sambotin
-
Patent number: 7624129Abstract: A computer device for logging changes to a user preference includes two log files, and a first and second file. The changes are written to the first file. The changes are then flushed to the log file with a marker. The marker is moved to the other log file before the changes are written to the second file. If the changes are successfully written, the changes are loaded from the second file into short term memory (RAM). If there is a transient error but there are no more changes after the error, the changes flushed to the log file are loaded into RAM. If the transient error occurs and there are further changes, all changes (before and after the error) are flushed to the log file with the marker, after which the marker is moved to the other log file before the changes are written to the second file.Type: GrantFiled: June 30, 2006Date of Patent: November 24, 2009Assignee: Microsoft CorporationInventors: Kenneth M Jung, Dragos C Sambotin
-
Publication number: 20080243965Abstract: Loading and unloading a plurality of libraries on a computing device having a loader lock and internal and external counts for each library in the plurality of libraries is disclosed. The libraries assume an initialize state, followed by an initialized state, a pending unload state, and an unload state according to when the internal and external counts are incremented and decremented. When in the pending unload state, the functions of a library that include functions that require acquiring the loader lock exit, the internal count is decremented by one, and the loader lock is released. Prior to entering the pending unload state, a library may be placed into a reloadable state. A library in the reloadable state may be reloaded upon request until a timer times out. When the timer times out, the library in the reloadable state transitions into the pending unload state.Type: ApplicationFiled: March 29, 2007Publication date: October 2, 2008Applicant: MICROSOFT CORPORATIONInventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift, Dragos C. Sambotin
-
Publication number: 20080244551Abstract: A parallel processing method and apparatus for initializing libraries is disclosed. Libraries for an application are identified, an initialization order for the libraries is determined, and the libraries are initialized in asynchronous stages. The initialization order is determined by forming a library tree of the libraries' references and determining a load order for the references according to the levels of the references in the library tree. The asynchronous stages comprise a loading stage that includes a load queue, a snapping stage that includes a snap queue, and an initializing stage that includes an initialize queue.Type: ApplicationFiled: March 29, 2007Publication date: October 2, 2008Applicant: MICROSOFT CORPORATIONInventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift
-
Publication number: 20080244550Abstract: Deterministically resolving cycles in a library tree is disclosed. Resolving cycles supports certain processes such as safe library initialization. Cycles in the library tree are identified; at least one soft link in each identified cycle is identified; and the at least one soft link in each identified cycle is broken. If a cycle has no soft links, notification is provided indicating that the cycle cannot be broken. Identifying at least one soft link in each identified cycle comprises, for each link in the cycle, determining the dependent and supporting libraries; and determining if one or more functions in the supporting library are required for initializing the dependent library.Type: ApplicationFiled: March 29, 2007Publication date: October 2, 2008Applicant: MICROSOFT CORPORATIONInventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift
-
Publication number: 20080005192Abstract: A computer device for logging changes to a user preference includes two log files, and a first and second file. The changes are written to the first file. The changes are then flushed to the log file with a marker. The marker is moved to the other log file before the changes are written to the second file. If the changes are successfully written, the changes are loaded from the second file into short term memory (RAM). If there is a transient error but there are no more changes after the error, the changes flushed to the log file are loaded into RAM. If the transient error occurs and there are further changes, all changes (before and after the error) are flushed to the log file with the marker, after which the marker is moved to the other log file before the changes are written to the second file.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Microsoft CorporationInventors: Kenneth M. Jung, Dragos C. Sambotin