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: 11748175
    Abstract: 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: Grant
    Filed: February 25, 2021
    Date of Patent: September 5, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dragos C. Sambotin, Philippe Alain Joubert
  • Publication number: 20210182125
    Abstract: 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: Application
    Filed: February 25, 2021
    Publication date: June 17, 2021
    Inventors: Dragos C. SAMBOTIN, Philippe Alain JOUBERT
  • Patent number: 10977095
    Abstract: 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: Grant
    Filed: November 30, 2018
    Date of Patent: April 13, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dragos C. Sambotin, Philippe Alain Joubert
  • Publication number: 20200174850
    Abstract: 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: Application
    Filed: November 30, 2018
    Publication date: June 4, 2020
    Inventors: Dragos C. SAMBOTIN, Philippe Alain JOUBERT
  • Patent number: 8656182
    Abstract: 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: Grant
    Filed: September 12, 2011
    Date of Patent: February 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Jeffrey M. Homme, Mariusz H. Jakubowski, Jeremy S. Russell, Scott A. Kupec, Dragos C. Sambotin
  • Publication number: 20130067238
    Abstract: 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: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Jeffrey M. Homme, Mariusz H. Jakubowski, Jeremy S. Russell, Scott A. Kupec, Dragos C. Sambotin
  • Patent number: 8219845
    Abstract: 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: Grant
    Filed: May 9, 2007
    Date of Patent: July 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Eric Li, Robert Earhart, Dragos C. Sambotin
  • Patent number: 7921329
    Abstract: 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: Grant
    Filed: May 9, 2007
    Date of Patent: April 5, 2011
    Assignee: Microsoft Corporation
    Inventors: Eric Li, Dragos C. Sambotin
  • Patent number: 7865914
    Abstract: 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: Grant
    Filed: March 29, 2007
    Date of Patent: January 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift, Dragos C. Sambotin
  • Patent number: 7689604
    Abstract: 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: Grant
    Filed: May 7, 2007
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventor: Dragos C. Sambotin
  • Patent number: 7624129
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Kenneth M Jung, Dragos C Sambotin
  • Patent number: 7536428
    Abstract: 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: Grant
    Filed: October 23, 2006
    Date of Patent: May 19, 2009
    Assignee: Microsoft Corporation
    Inventors: Tahsin Erdogan, Adrian Marinescu, Dragos C. Sambotin
  • Publication number: 20080282103
    Abstract: 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: Application
    Filed: May 9, 2007
    Publication date: November 13, 2008
    Applicant: Microsoft Corporation
    Inventors: Eric Li, Robert Earhart, Dragos C. Sambotin
  • Publication number: 20080281777
    Abstract: 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: Application
    Filed: May 7, 2007
    Publication date: November 13, 2008
    Applicant: Microsoft Corporation
    Inventor: Dragos C. Sambotin
  • Publication number: 20080282111
    Abstract: 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: Application
    Filed: May 9, 2007
    Publication date: November 13, 2008
    Applicant: Microsoft Corporation
    Inventors: Eric Li, Dragos C. Sambotin
  • Publication number: 20080243965
    Abstract: 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: Application
    Filed: March 29, 2007
    Publication date: October 2, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Kenneth M. Jung, Arun Kishan, Neill M. Clift, Dragos C. Sambotin
  • Patent number: 7383466
    Abstract: 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: Grant
    Filed: January 10, 2005
    Date of Patent: June 3, 2008
    Assignee: Microsoft Corporation
    Inventors: Norbert P. Kusters, Behnam Fathi, Dragos C. Sambotin
  • Publication number: 20080010308
    Abstract: 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: Application
    Filed: October 23, 2006
    Publication date: January 10, 2008
    Applicant: Microsoft Corporation
    Inventors: Tahsin Erdogan, Adrian Marinescu, Dragos C. Sambotin
  • Publication number: 20080005192
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Kenneth M. Jung, Dragos C. Sambotin