Patents by Inventor Vinod Shankar
Vinod Shankar 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: 10992790Abstract: Technical solutions are described for inter-controller communication in a protocol agnostic manner. For example, a method includes generating, by a sending controller, a protocol agnostic data frame including a pattern identifier, a rolling counter, a message identifier, a signal group, a cyclic redundancy check (CRC), a complement of the pattern identifier, and a complement of the rolling counter. The method further includes sending, by the sending controller, the protocol agnostic data frame to a first receiving controller that uses a first communication protocol, and sending, by the sending controller, the protocol agnostic data frame to a second receiving controller that uses a second communication protocol.Type: GrantFiled: August 22, 2017Date of Patent: April 27, 2021Assignee: Steering Solutions IP Holding CorporationInventors: Keyur R. Patel, Vinod Shankar Naganathan, Travis E. Waineo
-
Patent number: 10951547Abstract: The technical solutions described herein address technical challenges in case of redundant communication channels between microcontrollers (MCU)s, which communicate the same information and use rolling counter(s). For example, the technical solutions include a method to evaluate a sequence of communication messages between the MCUs in a redundant communication network and react responsively.Type: GrantFiled: June 8, 2018Date of Patent: March 16, 2021Assignee: Steering Solutions IP Holding CorporationInventors: Vinod Shankar Naganathan, Akilan Rathakrishnan
-
Patent number: 10521313Abstract: Technical solutions are described for providing a redundant processor. An example processing unit includes a source processor coupled with a system communication bus via a first communication line; a backup processor coupled with the system communication bus via a second communication line; and an inter-microprocessor communication channel for communication between the source processor and the backup processor. The backup processor monitors for a failure of the source processor by monitoring the first communication line for communication messages being transmitted by the source processor. The backup processor determines a failure of the source processor in response to an absence of the communication messages on the first communication line for a predetermined duration. The backup processor, in response to a failure of the source processor, takes over control of communication of the processing unit by sending a status update on the inter-microprocessor communication channel.Type: GrantFiled: July 28, 2017Date of Patent: December 31, 2019Assignee: STEERING SOLUTIONS IP HOLDING CORPORATIONInventor: Vinod Shankar Naganathan
-
Patent number: 10399593Abstract: Embodiments are described for prognostication of real time operating system (RTOS) health. An example computer-implemented method includes monitoring, for a task from a plurality of tasks being executed by the RTOS, an execution time, an inter-arrival time, and a blocking time. The method further includes computing an RTOS state of health value based on the execution time, the inter-arrival time, and the blocking time of each task from the plurality of tasks. The method further includes, in response to the RTOS state of health value being less than a predetermined threshold, initiating performance of an error handling.Type: GrantFiled: June 15, 2017Date of Patent: September 3, 2019Assignee: Steering Solutions IP Holding CorporationInventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
-
Patent number: 10275302Abstract: Recovery requests are scheduled and prioritized according to priority valuations of the minimum time to next failure relative to the minimum time to next recovery for corresponding storage data sets. The prioritization can be performed by an upper layer recovery scheduler that dispatches requests to different storage units and/or by lower layers and individual storage unit schedulers. Prioritizations can be reflected in tagging on recovery requests, as determined by a first entity, and/or determined dynamically at the point of dispatch and processing.Type: GrantFiled: December 18, 2015Date of Patent: April 30, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Andrea D'Amato, Vyacheslav Kuznetsov, Vinod Shankar, Karan Mehra
-
Patent number: 10241832Abstract: Technical solutions are described for determining and analyzing timing parameters to prognosticate a failure of one or more RTOS tasks. An example method includes dequeing a buffer queue entry from a buffer queue. In response to determining that a first task-id from the buffer queue entry does not match a second task-id from a topmost entry of a stack comprising buffer queue entries, the method includes pushing the buffer queue entry as a top-entry in a stack, updating a previous time sample value as the timestamp of the buffer queue entry, and accumulating a temporary execution time value for the second task-id from the stack. Further, in response to the first task-id matching the second task-id, computing an execution time value for the second task-id, updating the previous time sample value as the timestamp of the buffer queue entry, and popping the topmost entry from the stack.Type: GrantFiled: June 20, 2017Date of Patent: March 26, 2019Assignee: STEERING SOLUTIONS IP HOLDING CORPORATIONInventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
-
Publication number: 20180359196Abstract: The technical solutions described herein address technical challenges in case of redundant communication channels between microcontrollers (MCU)s, which communicate the same information and use rolling counter(s). For example, the technical solutions include a method to evaluate a sequence of communication messages between the MCUs in a redundant communication network and react responsively.Type: ApplicationFiled: June 8, 2018Publication date: December 13, 2018Inventors: Vinod Shankar Naganathan, Akilan Rathakrishnan
-
Publication number: 20180063301Abstract: Technical solutions are described for inter-controller communication in a protocol agnostic manner. For example, a method includes generating, by a sending controller, a protocol agnostic data frame including a pattern identifier, a rolling counter, a message identifier, a signal group, a cyclic redundancy check (CRC), a complement of the pattern identifier, and a complement of the rolling counter. The method further includes sending, by the sending controller, the protocol agnostic data frame to a first receiving controller that uses a first communication protocol, and sending, by the sending controller, the protocol agnostic data frame to a second receiving controller that uses a second communication protocol.Type: ApplicationFiled: August 22, 2017Publication date: March 1, 2018Inventors: Keyur R. Patel, Vinod Shankar Naganathan, Travis E. Waineo
-
Publication number: 20180032413Abstract: Technical solutions are described for providing a redundant processor. An example processing unit includes a source processor coupled with a system communication bus via a first communication line; a backup processor coupled with the system communication bus via a second communication line; and an inter-microprocessor communication channel for communication between the source processor and the backup processor. The backup processor monitors for a failure of the source processor by monitoring the first communication line for communication messages being transmitted by the source processor. The backup processor determines a failure of the source processor in response to an absence of the communication messages on the first communication line for a predetermined duration. The backup processor, in response to a failure of the source processor, takes over control of communication of the processing unit by sending a status update on the inter-microprocessor communication channel.Type: ApplicationFiled: July 28, 2017Publication date: February 1, 2018Inventor: Vinod Shankar Naganathan
-
Publication number: 20170361870Abstract: Embodiments are described for prognostication of real time operating system (RTOS) health. An example computer-implemented method includes monitoring, for a task from a plurality of tasks being executed by the RTOS, an execution time, an inter-arrival time, and a blocking time. The method further includes computing an RTOS state of health value based on the execution time, the inter-arrival time, and the blocking time of each task from the plurality of tasks. The method further includes, in response to the RTOS state of health value being less than a predetermined threshold, initiating performance of an error handling.Type: ApplicationFiled: June 15, 2017Publication date: December 21, 2017Inventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
-
Publication number: 20170364389Abstract: Technical solutions are described for determining and analyzing timing parameters to prognosticate a failure of one or more RTOS tasks. An example method includes dequeing a buffer queue entry from a buffer queue. In response to determining that a first task-id from the buffer queue entry does not match a second task-id from a topmost entry of a stack comprising buffer queue entries, the method includes pushing the buffer queue entry as a top-entry in a stack, updating a previous time sample value as the timestamp of the buffer queue entry, and accumulating a temporary execution time value for the second task-id from the stack. Further, in response to the first task-id matching the second task-id, computing an execution time value for the second task-id, updating the previous time sample value as the timestamp of the buffer queue entry, and popping the topmost entry from the stack.Type: ApplicationFiled: June 20, 2017Publication date: December 21, 2017Inventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
-
Publication number: 20170177427Abstract: Recovery requests are scheduled and prioritized according to priority valuations of the minimum time to next failure relative to the minimum time to next recovery for corresponding storage data sets. The prioritization can be performed by an upper layer recovery scheduler that dispatches requests to different storage units and/or by lower layers and individual storage unit schedulers. Prioritizations can be reflected in tagging on recovery requests, as determined by a first entity, and/or determined dynamically at the point of dispatch and processing.Type: ApplicationFiled: December 18, 2015Publication date: June 22, 2017Inventors: Andrea D'Amato, Vyacheslav Kuznetsov, Vinod Shankar, Karan Mehra
-
Publication number: 20170068469Abstract: A storage system creates a snapshot of a virtual hard disk by switching an I/O request target for the virtual hard disk. A requestor may issue requests to the storage system requesting that specific operations of the process should be performed. A request may specify that more than one operation should be performed in one operation. After initializing a new virtual hard disk file, I/O requests directed to a target virtual hard disk file are held for later deliver. The I/O request target is switched from the target to the new virtual hard disk file. I/O requests are unblocked and the stored requests are delivered to the new virtual hard disk file. Additional I/O requests sent to the target virtual hard disk file may be redirected to the new virtual hard disk file.Type: ApplicationFiled: September 3, 2015Publication date: March 9, 2017Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Vinod Shankar, Matthew David Kurjanowicz, Balaji Sekar, Adam Burch, Brendan Grebur
-
Publication number: 20060173912Abstract: A server instance, which is a collection of LUNs, containing an operating system, any applications and data storage. A processing element is the physical hardware. The combination is a server as normally understood. Templates are used to define server instances and server types to simplify deploying a server instance to a processing element. A graphical user interface provides the templates where the particular storage groups are identified and then server instances are created from lists of operating systems, applications, and available storage. The management service processor is a PXE server and provides the necessary software to identify the components of the processing element and correlate between the processing element and a server instance. The management service processor then automatically provides software to the processing element to allow it correctly boot. The management service processor manages the interconnection of the processing element and the relevant LUNs.Type: ApplicationFiled: May 27, 2005Publication date: August 3, 2006Inventors: Eric Lindvall, Peter Benoit, Vinod Shankar, Xinhong Zhang, Christian Saether
-
Publication number: 20060155748Abstract: A server instance, which is a collection of LUNs, containing an operating system, any applications and data storage. A processing element is the physical hardware. The combination is a server as normally understood. Templates are used to define server instances and server types to simplify deploying a server instance to a processing element. A graphical user interface provides the templates where the particular storage groups are identified and then server instances are created from lists of operating systems, applications, and available storage. The management service processor is a PXE server and provides the necessary software to identify the components of the processing element and correlate between the processing element and a server instance. The management service processor then automatically provides software to the processing element to allow it correctly boot. The management service processor manages the interconnection of the processing element and the relevant LUNs.Type: ApplicationFiled: May 27, 2005Publication date: July 13, 2006Inventors: Xinhong Zhang, Peter Benoit, Vinod Shankar, Eric Lindvall
-
Publication number: 20060155749Abstract: A server instance, which is a collection of LUNs, containing an operating system, any applications and data storage. A processing element is the physical hardware. The combination is a server as normally understood. Templates are used to define server instances and server types to simplify deploying a server instance to a processing element. A graphical user interface provides the templates where the particular storage groups are identified and then server instances are created from lists of operating systems, applications, and available storage. The management service processor is a PXE server and provides the necessary software to identify the components of the processing element and correlate between the processing element and a server instance. The management service processor then automatically provides software to the processing element to allow it correctly boot. The management service processor manages the interconnection of the processing element and the relevant LUNs.Type: ApplicationFiled: May 27, 2005Publication date: July 13, 2006Inventors: Vinod Shankar, Peter Benoit, Xinhong Zhang, Eric Lindvall