Patents by Inventor Sarath Madakasira
Sarath Madakasira 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: 11880231Abstract: Timekeeping on a computing device is deterministically performed by implementing two successive calls to a time function that returns current time based on a continuously running counter that is maintained in one or more cores of the device's CPU. The same fixed time computation parameters are used in each call, with the single variable being a value that is read from the counter. For the initial call to the time function, the processor optimizes the instruction execution by predicting the function's execution path based on observed patterns. As the instructions and data are already cached, and the processor has the results of the prior execution path prediction, the subsequent call executes quickly and predictably relative to the initial call while the processor remains in a working (i.e., non-sleep) state. The series of calls provides a deterministic time computation with improved accuracy by mitigating the unpredictability of processor sleep state delays.Type: GrantFiled: December 14, 2020Date of Patent: January 23, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Sarath Madakasira, Keith Loren Mange
-
Publication number: 20220187867Abstract: Timekeeping on a computing device is deterministically performed by implementing two successive calls to a time function that returns current time based on a continuously running counter that is maintained in one or more cores of the device's CPU. The same fixed time computation parameters are used in each call, with the single variable being a value that is read from the counter. For the initial call to the time function, the processor optimizes the instruction execution by predicting the function's execution path based on observed patterns. As the instructions and data are already cached, and the processor has the results of the prior execution path prediction, the subsequent call executes quickly and predictably relative to the initial call while the processor remains in a working (i.e., non-sleep) state. The series of calls provides a deterministic time computation with improved accuracy by mitigating the unpredictability of processor sleep state delays.Type: ApplicationFiled: December 14, 2020Publication date: June 16, 2022Inventors: Sarath Madakasira, Keith Loren Mange
-
Patent number: 11061433Abstract: Exposing a leap second to a plurality of applications includes identifying that a positive leap second should be added to the end of a chosen date. Based on the occurrence of the positive leap second, a first conversion component is exposed to a first application. The first conversion component presents, over a period of two seconds of actual time, a last second of the chosen date as if it is one second of system time. Based on the occurrence of the positive leap second, and based on a second application opting in to leap seconds, a second conversion component is exposed to the second application. The second conversion component presents an extra 61st second of system time at the end of a last minute of the chosen date.Type: GrantFiled: September 17, 2020Date of Patent: July 13, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jason Lin, Mehmet Iyigun, Daniel F. Cuomo, Jr., Keith Loren Mange, Sarath Madakasira, Travis Luke
-
Publication number: 20210004044Abstract: Exposing a leap second to a plurality of applications includes identifying that a positive leap second should be added to the end of a chosen date. Based on the occurrence of the positive leap second, a first conversion component is exposed to a first application. The first conversion component presents, over a period of two seconds of actual time, a last second of the chosen date as if it is one second of system time. Based on the occurrence of the positive leap second, and based on a second application opting in to leap seconds, a second conversion component is exposed to the second application. The second conversion component presents an extra 61st second of system time at the end of a last minute of the chosen date.Type: ApplicationFiled: September 17, 2020Publication date: January 7, 2021Inventors: Jason LIN, Mehmet IYIGUN, Daniel F. CUOMO, JR., Keith Loren MANGE, Sarath MADAKASIRA, Travis LUKE
-
Patent number: 10809759Abstract: Exposing a leap second to a plurality of applications includes identifying a system setting enabling leap second support and that a positive leap second should be added to the end of a chosen date. Based on the system setting enabling leap second support and based on the occurrence of the positive leap second, a first conversion component is exposed to a first application. The first conversion component presents, over a period of two seconds of actual time, a last second of the chosen date as if it is one second of system time. Based on the system setting enabling leap second support, based on the occurrence of the positive leap second, and based on a second application opting in to leap seconds, a second conversion component is exposed to the second application. The second conversion component presents an extra 61st second of system time at the end of a last minute of the chosen date.Type: GrantFiled: September 4, 2018Date of Patent: October 20, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jason Lin, Mehmet Iyigun, Daniel F. Cuomo, Jr., Keith Loren Mange, Sarath Madakasira, Travis Luke
-
Publication number: 20200073434Abstract: Exposing a leap second to a plurality of applications includes identifying a system setting enabling leap second support and that a positive leap second should be added to the end of a chosen date. Based on the system setting enabling leap second support and based on the occurrence of the positive leap second, a first conversion component is exposed to a first application. The first conversion component presents, over a period of two seconds of actual time, a last second of the chosen date as if it is one second of system time. Based on the system setting enabling leap second support, based on the occurrence of the positive leap second, and based on a second application opting in to leap seconds, a second conversion component is exposed to the second application. The second conversion component presents an extra 61st second of system time at the end of a last minute of the chosen date.Type: ApplicationFiled: September 4, 2018Publication date: March 5, 2020Inventors: Jason LIN, Mehmet IYIGUN, Daniel F. CUOMO, JR., Keith Loren MANGE, Sarath MADAKASIRA, Travis LUKE
-
Patent number: 10069839Abstract: Establishing secure connections from a computing device to secure servers when the computing device starts with an incorrect system clock time that would ordinarily prohibit connection to the secure servers. A method includes attempting to access a plurality of secure servers. The method further includes, from each of the servers in the plurality of secure servers, receiving one or more certificates from the secure servers and metadata which includes a specification of time. The method further includes preventing secure applications from sending sensitive data to the plurality of secure servers until a system time has been approximated. The method further includes, from the secure specifications of time, approximating a current system time. The method further includes accessing another secure server using the approximated current system time and using the approximated current system time to validate a certificate from the other server.Type: GrantFiled: February 11, 2016Date of Patent: September 4, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Sarath Madakasira, Philip Joseph Hallin
-
Publication number: 20170237737Abstract: Establishing secure connections from a computing device to secure servers when the computing device starts with an incorrect system clock time that would ordinarily prohibit connection to the secure servers. A method includes attempting to access a plurality of secure servers. The method further includes, from each of the servers in the plurality of secure servers, receiving one or more certificates from the secure servers and metadata which includes a specification of time. The method further includes preventing secure applications from sending sensitive data to the plurality of secure servers until a system time has been approximated. The method further includes, from the secure specifications of time, approximating a current system time. The method further includes accessing another secure server using the approximated current system time and using the approximated current system time to validate a certificate from the other server.Type: ApplicationFiled: February 11, 2016Publication date: August 17, 2017Inventors: Sarath Madakasira, Philip Joseph Hallin
-
Patent number: 8713535Abstract: Use of software applications is detected by categorizing components of applications into a usage manifest and implementing a usage detection background service on a client PC that monitors the components according to the usage manifest. The application components are categorized based on the mode of user interaction as well as the component's correlation to active use of an application. The background service tracks events and activities associated with the application components to generate usage metrics that include the frequency of unique launches of an application and the duration of each unique use. A usage manager for the background service may utilize the usage metrics for a component independently, or combine metrics for multiple components in cases where applications work in an interactive manner (such as a plug-in to a web browser) in order to compute application usage by comparing the metrics against predefined thresholds.Type: GrantFiled: June 30, 2008Date of Patent: April 29, 2014Assignee: Microsoft CorporationInventors: Nipoon Malhotra, Ram Viswanathan, Vikram Kakumani, Mauktik H. Gandhi, Sarath Madakasira, Yiming Li, Kiran Sagi
-
Publication number: 20130347063Abstract: Sharing security claims across different security contexts. A method includes, for a first security context, identifying a first set of security claims. The method further includes for the first security context identifying a second set of security claims from the first set of security claims that is allowed to be sent from the first security context. The first set of security claims is modified to create the second set of security claims. For a second security context, security claim requirements are identified. The second set of security claims is modified to satisfy the security claim requirements for the second security context.Type: ApplicationFiled: June 21, 2012Publication date: December 26, 2013Applicant: MICROSOFT CORPORATIONInventors: Sarath Madakasira, Siddharth Bhai, James J. Simmons, Ryan J. Fairfax, Qi Cao, Arun K. Nanda, Mark Fishel Novak
-
Publication number: 20090327482Abstract: Use of software applications is detected by categorizing components of applications into a usage manifest and implementing a usage detection background service on a client PC that monitors the components according to the usage manifest. The application components are categorized based on the mode of user interaction as well as the component's correlation to active use of an application. The background service tracks events and activities associated with the application components to generate usage metrics that include the frequency of unique launches of an application and the duration of each unique use. A usage manager for the background service may utilize the usage metrics for a component independently, or combine metrics for multiple components in cases where applications work in an interactive manner (such as a plug-in to a web browser) in order to compute application usage by comparing the metrics against predefined thresholds.Type: ApplicationFiled: June 30, 2008Publication date: December 31, 2009Applicant: MICROSOFT CORPORATIONInventors: Nipoon Malhotra, Ram Viswanathan, Vikram Kakumani, Mauktik H. Gandhi, Sarath Madakasira, Yiming Li, Kiran Sagi