Patents by Inventor Youssef Barakat
Youssef Barakat 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: 10339295Abstract: A computing system includes one or more processors and a storage device that stores computer executable instructions that can be executed by the processors to cause the computing system to perform the following. The system generates a work tracking information ticket for a first system entity. The system assigns the work tracking information ticket to the first system entity. The system passes the work tracking information ticket to one or more second system entities. The system validates the work tracking information ticket. The validated work tracking information ticket informs that the one or more second system entities are performing work on behalf of the first system entity.Type: GrantFiled: July 28, 2016Date of Patent: July 2, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jon Robert Berry, Youssef Barakat, Yevgeniy M. Bak, Mehmet Iyigun, Pedro Miguel Sequeira de Justo Teixeira
-
Patent number: 10157155Abstract: An operating system includes an interrupt router that dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. These assignments can be changed given current operating conditions of the system.Type: GrantFiled: August 19, 2016Date of Patent: December 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 10097513Abstract: Constructs to define a Trusted Execution Environment Driver that can implement a standard communication interface in a first environment for discovering and/or exchanging messages with secure applications/services executed in a Trusted Execution Environment (TrEE). The first environment can represent an environment with a different security policy from the TrEE.Type: GrantFiled: September 14, 2014Date of Patent: October 9, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Youssef Barakat, Kinshuman Kinshumann, Brian Perkins, Jinsub Moon
-
Patent number: 9996329Abstract: Various systems and methods for translating atomic read-modify-write accesses are described herein. In one example, a method includes determining that a machine instruction of a first language specifies an atomic read-modify-write access. The method includes generating machine instructions of the second language to perform an atomic access for the address if the address is aligned. The method includes generating machine instructions of a second language to acquire a global lock if the address is unaligned. Additionally, the method includes generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned. Also, the method includes generating machine instructions of the second language to release the global lock if the address is unaligned.Type: GrantFiled: February 16, 2016Date of Patent: June 12, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Clarence Dang, Youssef Barakat, Arun Kishan
-
Publication number: 20180032378Abstract: A computing system includes one or more processors and a storage device that stores computer executable instructions that can be executed by the processors to cause the computing system to perform the following. The system generates a work tracking information ticket for a first system entity. The system assigns the work tracking information ticket to the first system entity. The system passes the work tracking information ticket to one or more second system entities. The system validates the work tracking information ticket. The validated work tracking information ticket informs that the one or more second system entities are performing work on behalf of the first system entity.Type: ApplicationFiled: July 28, 2016Publication date: February 1, 2018Inventors: Jon Robert Berry, Youssef Barakat, Yevgeniy M. Bak, Mehmet lyigun, Pedro Miguel Sequeira de Justo Teixeira
-
Publication number: 20170235557Abstract: Various systems and methods for translating atomic read-modify-write accesses are described herein. In one example, a method includes determining that a machine instruction of a first language specifies an atomic read-modify-write access. The method includes generating machine instructions of the second language to perform an atomic access for the address if the address is aligned. The method includes generating machine instructions of a second language to acquire a global lock if the address is unaligned. Additionally, the method includes generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned. Also, the method includes generating machine instructions of the second language to release the global lock if the address is unaligned.Type: ApplicationFiled: February 16, 2016Publication date: August 17, 2017Applicant: Microsoft Technology Licensing, LLC.Inventors: Clarence Dang, Youssef Barakat, Arun Kishan
-
Publication number: 20160357689Abstract: An operating system includes an interrupt router that dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. These assignments can be changed given current operating conditions of the system.Type: ApplicationFiled: August 19, 2016Publication date: December 8, 2016Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 9424212Abstract: An operating system is provided in which an interrupt router dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. On a regular basis, these assignments can be changed given current operating conditions of the system.Type: GrantFiled: June 13, 2013Date of Patent: August 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 9411755Abstract: Systems and methods for debouncing a signal line within a computer device are provided. The mechanical nature of physical buttons and switches oftentimes present irregular or noisy signals on a signal line when depressed by a user. Thus, noise and/or irregular waveforms may be present on a signal line that is monitored to produce interrupt signals, when deemed valid and genuine. In many embodiments given herein, debounce modules and techniques set a debounce interval timer and/or a noise filtering interval timer in which debounce modules and/or techniques may note whether the signal line is still asserted (e.g., possibly a genuine interrupt signal) during the debounce interval timer and stable (e.g., no further interrupts have fired) during the noise filtering interval timer.Type: GrantFiled: April 21, 2013Date of Patent: August 9, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Murali Ravirala, Omid Fatemieh, Gabriel Knezek, Youssef Barakat
-
Publication number: 20160080320Abstract: Constructs to define a Trusted Execution Environment Driver that can implement a standard communication interface in a first environment for discovering and/or exchanging messages with secure applications/services executed in a Trusted Execution Environment (TrEE). The first environment can represent an environment with a different security policy from the TrEE.Type: ApplicationFiled: September 14, 2014Publication date: March 17, 2016Inventors: Youssef Barakat, Kinshuman Kinshumann, Brian Perkins, Jinsub Moon
-
Publication number: 20140372649Abstract: An operating system is provided in which an interrupt router dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. On a regular basis, these assignments can be changed given current operating conditions of the system.Type: ApplicationFiled: June 13, 2013Publication date: December 18, 2014Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Publication number: 20140317327Abstract: Systems and methods for debouncing a signal line within a computer device are provided. The mechanical nature of physical buttons and switches oftentimes present irregular or noisy signals on a signal line when depressed by a user. Thus, noise and/or irregular waveforms may be present on a signal line that is monitored to produce interrupt signals, when deemed valid and genuine. In many embodiments given herein, debounce modules and techniques set a debounce interval timer and/or a noise filtering interval timer in which debounce modules and/or techniques may note whether the signal line is still asserted (e.g., possibly a genuine interrupt signal) during the debounce interval timer and stable (e.g., no further interrupts have fired) during the noise filtering interval timer.Type: ApplicationFiled: April 21, 2013Publication date: October 23, 2014Applicant: Microsoft CorporationInventors: Murali Ravirala, Omid Fatemieh, Gabriel Knezek, Youssef Barakat
-
Publication number: 20070101343Abstract: Systems and methods for rebootless updating of a IHV display driver are disclosed. According to such a method, first, the operating system stops the driver from running. Second, the system switches over to an interim or temporary display driver, which be a default driver provided with the operating system. Third, the new hardware-specific driver is started. Thus, a hardware-specific display driver may be updated without rebooting.Type: ApplicationFiled: October 31, 2005Publication date: May 3, 2007Applicant: Microsoft CorporationInventors: Marcus Andrews, Max McMullen, Sameer Nene, Youssef Barakat, Ameet Chitre