Patents by Inventor Dragos C. Sambotin
Dragos C. Sambotin 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: 11748175Abstract: A method includes receiving an API call including a request to resolve an API set contract to an associated host binary file, where the API set contract defines a set of APIs. The method further includes evaluating a runtime context of the API call to determine an application identifier for an application that initiated the request to resolve the API set contract to the associated host binary file. The method further includes executing elements of a first host binary instead of a second host binary responsive to determining that the API call was placed by a first application and executing elements of the second different host binary instead of the first host binary responsive to determining that the API call was placed by a second application.Type: GrantFiled: February 25, 2021Date of Patent: September 5, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Dragos C. Sambotin, Philippe Alain Joubert
-
Publication number: 20210182125Abstract: A method includes receiving an API call including a request to resolve an API set contract to an associated host binary file, where the API set contract defines a set of APIs. The method further includes evaluating a runtime context of the API call to determine an application identifier for an application that initiated the request to resolve the API set contract to the associated host binary file. The method further includes executing elements of a first host binary instead of a second host binary responsive to determining that the API call was placed by a first application and executing elements of the second different host binary instead of the first host binary responsive to determining that the API call was placed by a second application.Type: ApplicationFiled: February 25, 2021Publication date: June 17, 2021Inventors: Dragos C. SAMBOTIN, Philippe Alain JOUBERT
-
Patent number: 10977095Abstract: A method for executing includes loading multiple application programming interface (API) set schemas into memory. A first one of the API set schemas resolves an API set contract to a first host binary and a second one of the API set schemas resolves the API set contract to a different host binary. The method further includes executing elements of the first host binary responsive to receipt of an API call identified by the API set contract that is received within a first runtime context and executing elements of the second host binary responsive to receipt of the API call within a second runtime context.Type: GrantFiled: November 30, 2018Date of Patent: April 13, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Dragos C. Sambotin, Philippe Alain Joubert
-
Publication number: 20200174850Abstract: A method for executing includes loading multiple application programming interface (API) set schemas into memory. A first one of the API set schemas resolves an API set contract to a first host binary and a second one of the API set schemas resolves the API set contract to a different host binary. The method further includes executing elements of the first host binary responsive to receipt of an API call identified by the API set contract that is received within a first runtime context and executing elements of the second host binary responsive to receipt of the API call within a second runtime context.Type: ApplicationFiled: November 30, 2018Publication date: June 4, 2020Inventors: Dragos C. SAMBOTIN, Philippe Alain JOUBERT
-
Patent number: 8656182Abstract: A security technique to reduce the risk of unauthorized release of a software object. The technique allows identification of an individual responsible for the unauthorized release by marking each object with information, which acts as a fingerprint from which a person manipulating the object in a development environment can be identified. The development environment may be configured to quickly and automatically mark the object whenever a manipulation that may precede an unauthorized release occurs. To prevent circumventing the security technique, the object may be configured to enforce a requirement for a valid fingerprint such that the object is disabled if the fingerprint is removed or altered. Despite the marking, personally identifiable information is not revealed because the fingerprint is generated through a one-way cryptographic function performed on identifying information.Type: GrantFiled: September 12, 2011Date of Patent: February 18, 2014Assignee: Microsoft CorporationInventors: Jeffrey M. Homme, Mariusz H. Jakubowski, Jeremy S. Russell, Scott A. Kupec, Dragos C. Sambotin
-
Publication number: 20130067238Abstract: A security technique to reduce the risk of unauthorized release of a software object. The technique allows identification of an individual responsible for the unauthorized release by marking each object with information, which acts as a fingerprint from which a person manipulating the object in a development environment can be identified. The development environment may be configured to quickly and automatically mark the object whenever a manipulation that may precede an unauthorized release occurs. To prevent circumventing the security technique, the object may be configured to enforce a requirement for a valid fingerprint such that the object is disabled if the fingerprint is removed or altered. Despite the marking, personally identifiable information is not revealed because the fingerprint is generated through a one-way cryptographic function performed on identifying information.Type: ApplicationFiled: September 12, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Jeffrey M. Homme, Mariusz H. Jakubowski, Jeremy S. Russell, Scott A. Kupec, Dragos C. Sambotin
-
Patent number: 8219845Abstract: A timer service uses a single timer function to perform timing services for both relative and absolute timers. The first timers from a sorted array of absolute timers and relative timers are used in a function that will return when the earliest absolute timer expires or will timeout when the earliest relative timer expires. The timer function may be interrupted when a new timer is added to one of the arrays. The function will operate in a predictable and consistent manner, even when a system clock is adjusted.Type: GrantFiled: May 9, 2007Date of Patent: July 10, 2012Assignee: Microsoft CorporationInventors: Eric Li, Robert Earhart, Dragos C. Sambotin
-
Patent number: 7921329Abstract: A thread has a corruption detection mechanism that compares a beginning state of a function with an ending state to determine any inconsistencies. Based on the type of inconsistency, a remedial action may be taken, such as ignoring the inconsistency, cleaning up the inconsistency, and terminating the thread with an exception. The analysis may also include analyzing various states after function execution to find problems such as incomplete transactions. Such a thread may be useful in an operating system as well as a multi-threaded application environment.Type: GrantFiled: May 9, 2007Date of Patent: April 5, 2011Assignee: Microsoft CorporationInventors: Eric Li, Dragos C. Sambotin
-
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: 7689604Abstract: A datastore, such as a registry or file system having a defined data structure with a logical layer, may be analyzed using a bitmap corresponding to equally sized blocks of data in the datastore. The bitmap is created by traversing the datastore and setting a bit at the beginning of each cell of data, where one cell may have multiple blocks. The datastore is traversed again at a logical layer to verify that each cell is used only one time. The second traverse may unset the beginning bit of each cell as the cell is used. An inconsistency is detected in the datastore when a bit is already unset during the second traverse and when set bits exist after the second traverse.Type: GrantFiled: May 7, 2007Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventor: 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
-
Patent number: 7536428Abstract: A method and computing device for providing concurrent read and write access to a linked list of elements is presented. A linked list is provided wherein read access by a reader process and write access by a writer process may occur substantially concurrently. The linked list includes three internal lists for processes to reference elements of the linked list. The linked list also includes an updated indicator. Read access to the linked list is provided to a reader process such that the reader process accesses elements in the linked list according to a read list of the three internal lists. Write access to the linked list is provided to a writer process such that the writer process accesses elements in the linked list according to a write list of the three internal lists.Type: GrantFiled: October 23, 2006Date of Patent: May 19, 2009Assignee: Microsoft CorporationInventors: Tahsin Erdogan, Adrian Marinescu, Dragos C. Sambotin
-
Publication number: 20080282103Abstract: A timer service uses a single timer function to perform timing services for both relative and absolute timers. The first timers from a sorted array of absolute timers and relative timers are used in a function that will return when the earliest absolute timer expires or will timeout when the earliest relative timer expires. The timer function may be interrupted when a new timer is added to one of the arrays. The function will operate in a predictable and consistent manner, even when a system clock is adjusted.Type: ApplicationFiled: May 9, 2007Publication date: November 13, 2008Applicant: Microsoft CorporationInventors: Eric Li, Robert Earhart, Dragos C. Sambotin
-
Publication number: 20080281777Abstract: A datastore, such as a registry or file system having a defined data structure with a logical layer, may be analyzed using a bitmap corresponding to equally sized blocks of data in the datastore. The bitmap is created by traversing the datastore and setting a bit at the beginning of each cell of data, where one cell may have multiple blocks. The datastore is traversed again at a logical layer to verify that each cell is used only one time. The second traverse may unset the beginning bit of each cell as the cell is used. An inconsistency is detected in the datastore when a bit is already unset during the second traverse and when set bits exist after the second traverse.Type: ApplicationFiled: May 7, 2007Publication date: November 13, 2008Applicant: Microsoft CorporationInventor: Dragos C. Sambotin
-
Publication number: 20080282111Abstract: A thread has a corruption detection mechanism that compares a beginning state of a function with an ending state to determine any inconsistencies. Based on the type of inconsistency, a remedial action may be taken, such as ignoring the inconsistency, cleaning up the inconsistency, and terminating the thread with an exception. The analysis may also include analyzing various states after function execution to find problems such as incomplete transactions. Such a thread may be useful in an operating system as well as a multi-threaded application environment.Type: ApplicationFiled: May 9, 2007Publication date: November 13, 2008Applicant: Microsoft CorporationInventors: Eric Li, 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
-
Patent number: 7383466Abstract: Described is a revert preview mechanism, which gives the user a chance to temporarily remount a storage volume with the contents of a shadow copy, and then evaluate the computer system as if reverted, including allowing full I/O read and write operations to the storage volume. A temporary storage location is provided to cache data writes. Read requests are read back from the temporary storage location if the corresponding volume location has been written, or are read back from the shadow copy of the volume if not written since the revert preview operation began. In the case of a revert preview of the boot volume, an API is used to specify a correct shadow copy instance of the system registry hive, which needs to be loaded following reboot, but before the shadow copy driver is loaded. Use of the API loads the correct instance on the next reboot.Type: GrantFiled: January 10, 2005Date of Patent: June 3, 2008Assignee: Microsoft CorporationInventors: Norbert P. Kusters, Behnam Fathi, Dragos C. Sambotin
-
Publication number: 20080010308Abstract: A method and computing device for providing concurrent read and write access to a linked list of elements is presented. A linked list is provided wherein read access by a reader process and write access by a writer process may occur substantially concurrently. The linked list includes three internal lists for processes to reference elements of the linked list. The linked list also includes an updated indicator. Read access to the linked list is provided to a reader process such that the reader process accesses elements in the linked list according to a read list of the three internal lists. Write access to the linked list is provided to a writer process such that the writer process accesses elements in the linked list according to a write list of the three internal lists.Type: ApplicationFiled: October 23, 2006Publication date: January 10, 2008Applicant: Microsoft CorporationInventors: Tahsin Erdogan, Adrian Marinescu, Dragos C. Sambotin
-
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