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: 10992790
    Abstract: 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: Grant
    Filed: August 22, 2017
    Date of Patent: April 27, 2021
    Assignee: Steering Solutions IP Holding Corporation
    Inventors: Keyur R. Patel, Vinod Shankar Naganathan, Travis E. Waineo
  • Patent number: 10951547
    Abstract: 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: Grant
    Filed: June 8, 2018
    Date of Patent: March 16, 2021
    Assignee: Steering Solutions IP Holding Corporation
    Inventors: Vinod Shankar Naganathan, Akilan Rathakrishnan
  • Patent number: 10521313
    Abstract: 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: Grant
    Filed: July 28, 2017
    Date of Patent: December 31, 2019
    Assignee: STEERING SOLUTIONS IP HOLDING CORPORATION
    Inventor: Vinod Shankar Naganathan
  • Patent number: 10399593
    Abstract: 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: Grant
    Filed: June 15, 2017
    Date of Patent: September 3, 2019
    Assignee: Steering Solutions IP Holding Corporation
    Inventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
  • Patent number: 10275302
    Abstract: 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: Grant
    Filed: December 18, 2015
    Date of Patent: April 30, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrea D'Amato, Vyacheslav Kuznetsov, Vinod Shankar, Karan Mehra
  • Patent number: 10241832
    Abstract: 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: Grant
    Filed: June 20, 2017
    Date of Patent: March 26, 2019
    Assignee: STEERING SOLUTIONS IP HOLDING CORPORATION
    Inventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
  • Publication number: 20180359196
    Abstract: 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: Application
    Filed: June 8, 2018
    Publication date: December 13, 2018
    Inventors: Vinod Shankar Naganathan, Akilan Rathakrishnan
  • Publication number: 20180063301
    Abstract: 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: Application
    Filed: August 22, 2017
    Publication date: March 1, 2018
    Inventors: Keyur R. Patel, Vinod Shankar Naganathan, Travis E. Waineo
  • Publication number: 20180032413
    Abstract: 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: Application
    Filed: July 28, 2017
    Publication date: February 1, 2018
    Inventor: Vinod Shankar Naganathan
  • Publication number: 20170361870
    Abstract: 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: Application
    Filed: June 15, 2017
    Publication date: December 21, 2017
    Inventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
  • Publication number: 20170364389
    Abstract: 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: Application
    Filed: June 20, 2017
    Publication date: December 21, 2017
    Inventors: Vinod Shankar Naganathan, Lonnie Newton, Akilan Rathakrishnan
  • Publication number: 20170177427
    Abstract: 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: Application
    Filed: December 18, 2015
    Publication date: June 22, 2017
    Inventors: Andrea D'Amato, Vyacheslav Kuznetsov, Vinod Shankar, Karan Mehra
  • Publication number: 20170068469
    Abstract: 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: Application
    Filed: September 3, 2015
    Publication date: March 9, 2017
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Vinod Shankar, Matthew David Kurjanowicz, Balaji Sekar, Adam Burch, Brendan Grebur
  • Publication number: 20060173912
    Abstract: 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: Application
    Filed: May 27, 2005
    Publication date: August 3, 2006
    Inventors: Eric Lindvall, Peter Benoit, Vinod Shankar, Xinhong Zhang, Christian Saether
  • Publication number: 20060155748
    Abstract: 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: Application
    Filed: May 27, 2005
    Publication date: July 13, 2006
    Inventors: Xinhong Zhang, Peter Benoit, Vinod Shankar, Eric Lindvall
  • Publication number: 20060155749
    Abstract: 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: Application
    Filed: May 27, 2005
    Publication date: July 13, 2006
    Inventors: Vinod Shankar, Peter Benoit, Xinhong Zhang, Eric Lindvall