Patents by Inventor Sundeep Chandhoke

Sundeep Chandhoke 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: 9137044
    Abstract: Systems and methods for interoperating between a time-sensitive (TS) network and a non-time-sensitive (NTS) network. The system may include a TS network switch and a TS network interface controller (NIC). Each may have a functional unit. A first port of the TS switch may be coupled to an NTS node of the NTS network and its functional unit may be configured to manage insertion and removal of tags associating packets received from the NTS network with the NTS network. The tagged packets may be forwarded on to the TS NIC via a second port. The functional unit of the TS NIC may be configured to queue tagged packets received from the TS network switch and queue and tag packets destined for the NTS network via the TS network switch.
    Type: Grant
    Filed: October 15, 2013
    Date of Patent: September 15, 2015
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Rodney W. Cummings, Changzhe Gao, Brian Keith Odom
  • Patent number: 9135062
    Abstract: A method and system for scheduling a time critical task. The system may include a processing unit, a hardware assist scheduler, and a memory coupled to both the processing unit and the hardware assist scheduler. The method may include receiving timing information for executing the time critical task, the time critical task executing program instructions via a thread on a core of a processing unit and scheduling the time critical task based on the received timing information. The method may further include programming a lateness timer, waiting for a wakeup time to obtain and notifying the processing unit of the scheduling. Additionally, the method may include executing, on the core of the processing unit, the time critical task in accordance with the scheduling, monitoring the lateness timer, and asserting a thread execution interrupt in response to the lateness timer expiring, thereby suspending execution of the time critical task.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: September 15, 2015
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Herbert K. Salmon, IV
  • Publication number: 20150124621
    Abstract: Systems and methods for mapping a time-based data acquisition (DAQ) to an isochronous data transfer channel of a network. A buffer associated with the isochronous data transfer channel of the network may be configured. A clock and a local buffer may be configured. A functional unit may be configured to initiate continuous performance of the time-based DAQ, transfer data to the local buffer, initiate transfer of the data between the local buffer and the buffer at a configured start time, and repeat the transferring and initiating transfer in an iterative manner, thereby transferring data between the local buffer and the buffer. The buffer may be configured to communicate data over the isochronous data transfer channel of the network, thereby mapping the time-based DAQ to the isochronous data transfer channel of the network.
    Type: Application
    Filed: October 10, 2014
    Publication date: May 7, 2015
    Inventors: Sundeep Chandhoke, Brian Keith Odom
  • Publication number: 20150124842
    Abstract: Systems and methods for mapping an iterative time-based data acquisition (DAQ) operation to an isochronous data transfer channel of a network. A time-sensitive buffer (TSB) associated with the isochronous data transfer channel of the network may be configured. A data rate clock may and a local buffer may be configured. A functional unit may be configured to initiate continuous performance of the iterative time-based DAQ operation, transfer data to the local buffer, initiate transfer of the data between the local buffer and the TSB at a configured start time, and repeat the transferring and initiating transfer in an iterative manner, thereby transferring data between the local buffer and the TSB. The TSB may be configured to communicate data over the isochronous data transfer channel of the network, thereby mapping the iterative time-based DAQ operation to the isochronous data transfer channel of the network.
    Type: Application
    Filed: November 5, 2013
    Publication date: May 7, 2015
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Sundeep Chandhoke, Brian Keith Odom
  • Publication number: 20150103849
    Abstract: System and methods for synchronizing real time networks. Systems may include a first device located on a first real time network that may include a functional unit, a port, and a plurality of output queues configured for segregation of network packets based on a mapping of one or more additional real time networks to respective output queues. For each of the one or more additional real time networks, synchronization packets may be generated based on a master clock. The packets may be usable by a network timekeeper of the additional real time network to synchronize the additional real time network to the master clock. The synchronization packets may be stored in a respective output queue based on the mapping and may be sent to the network timekeeper of the additional real time network via the port.
    Type: Application
    Filed: October 10, 2014
    Publication date: April 16, 2015
    Inventors: Sundeep Chandhoke, Rodney D. Greenstreet, Brian Keith Odom
  • Publication number: 20150103832
    Abstract: Systems and methods for scheduling data egress from a network switch. Systems may include switch circuitry, a plurality of ports, and a plurality of queues. Each port may be associated with a respective set of routing information for network packets and each port may be configured with a respective set of egress periods. Each network packet may have respective routing information and a type that specifies a respective egress period. Each queue may be associated with a respective network packet type and a port of the plurality of ports.
    Type: Application
    Filed: October 10, 2014
    Publication date: April 16, 2015
    Inventors: Sundeep Chandhoke, Brian Keith Odom
  • Publication number: 20150103831
    Abstract: Systems and methods for interoperating between real time networks. Systems may include a plurality of ports and switch circuitry coupled to the plurality of ports. At least one port may be coupled to a first real time network carrying first traffic. One or more other ports may be coupled to a second real time network carrying second traffic. Switch circuitry may route packets between the first real time network and the one or more second real time networks based on a mapping. Routing information may be inserted in packets routed from the one or more second real time networks to the first real time network and routing information may be removed from the packets routed from the first real time network to the one or more second real time networks. Packets may be routed based on the mapping to distinct queues for the first and second traffic.
    Type: Application
    Filed: October 10, 2014
    Publication date: April 16, 2015
    Inventors: Sundeep Chandhoke, Rodney W. Cummings, Changzhe Gao, Brian Keith Odom
  • Publication number: 20150103828
    Abstract: Systems and methods for scheduling data egress using a time-sensitive (TS) network switch. The TS network switch may include a functional unit, a plurality of ports, and a plurality of queues. Each port may be associated with a set of network addresses for TS packets and may be configured with a set of egress periods. Each queue may be associated with a TS packet type and a port. The functional unit may be configured to receive TS packets asynchronously from a network node via a first port, determine a second port for egressing a TS packet, determine an egress period for egressing the TS packet, determine that the TS packet cannot currently be egressed from the second port, queue the TS packet in a first queue, where the first queue is associated with the second port, and egress the TS packet in the respective time window from the second port.
    Type: Application
    Filed: October 15, 2013
    Publication date: April 16, 2015
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Sundeep Chandhoke, Brian Keith Odom
  • Publication number: 20150103836
    Abstract: Systems and methods for interoperating between a time-sensitive (TS) network and a non-time-sensitive (NTS) network. The system may include a TS network switch and a TS network interface controller (NIC). Each may have a functional unit. A first port of the TS switch may be coupled to an NTS node of the NTS network and its functional unit may be configured to manage insertion and removal of tags associating packets received from the NTS network with the NTS network. The tagged packets may be forwarded on to the TS NIC via a second port. The functional unit of the TS NIC may be configured to queue tagged packets received from the TS network switch and queue and tag packets destined for the NTS network via the TS network switch.
    Type: Application
    Filed: October 15, 2013
    Publication date: April 16, 2015
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Sundeep Chandhoke, Rodney W. Cummings, Changzhe Gao, Brian Keith Odom
  • Publication number: 20150103848
    Abstract: Systems and methods for synchronizing clocks across networks using a time-sensitive (TS) network interface controller (NIC). The TS NIC may include a functional unit, a port, a clock, a plurality of input/output queue pairs, and a time stamp unit (TSU). The functional unit may be configured to generate synchronization packets usable by an NTS network timekeeper of a respective NTS network to synchronize the NTS network to the master clock, including using the TSU to generate time stamps for the synchronization packets in accordance with the clock synchronized to the master clock and communicate with the respective NTS network via the port using the corresponding input/output queue pair, including sending the synchronization packets to the NTS network timekeeper of the respective NTS network.
    Type: Application
    Filed: October 15, 2013
    Publication date: April 16, 2015
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Sundeep Chandhoke, Rodney D. Greenstreet, Brian Keith Odom
  • Patent number: 9003220
    Abstract: Devices and methods for synchronizing devices over a switched fabric. A switch receives a request packet from a device, transmits a completion packet to the device, determines an in-switch delay, and stores the in-switch delay. Another switch receives a packet from a first device, forwards the packet to a second device, determines an in-switch delay of the packet, and stores the in-switch delay. Storing of in-switch delays may include adding an in-switch delay to values in one or more transaction delay fields of a packet. Storing of in-switch delays may include storing the delays in a storage element of a switch. In-switch delay may be determined as a difference between a receiving time corresponding to reception of a packet and a forwarding or transmittal time corresponding to forwarding or transmitting of a packet.
    Type: Grant
    Filed: September 7, 2012
    Date of Patent: April 7, 2015
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Rodney D. Greenstreet
  • Patent number: 8943505
    Abstract: Apparatus and method for real-time scheduling. An apparatus includes first and second processing elements and a memory. The second processing element is configured to generate or modify a schedule of one or more tasks, thereby creating a new task schedule, and to write to a specified location in the memory to indicate that the new schedule has been created. The first processing element is configured to monitor for a write to the specified location in the memory and execute one or more tasks in accordance with the new schedule in response to detecting the write to the specified location. The first processing element may be configured to begin executing tasks based on detecting the write without invoking an interrupt service routine. The second processing element may store the new schedule in the memory.
    Type: Grant
    Filed: August 24, 2012
    Date of Patent: January 27, 2015
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 8938559
    Abstract: Techniques for isochronous data transfer between different memory-mapped domains in a distributed system. A method includes configuring an isochronous engine with an isochronous period. The method further includes transferring data over a memory-mapped fabric from a first memory to a second memory during a specified portion of a cycle of the isochronous period. The first memory is comprised in a first device in a first memory-mapped domain of the memory-mapped fabric and the second memory is comprised in a second device in a second memory-mapped domain of the memory-mapped fabric. The method may further comprise translating one or more addresses related to the transferring. The memory-mapped fabric may be a PCI-Express fabric. The transferring may be performed by a DMA controller. A non-transparent bridge may separate the first and the second memory-mapped domains and may perform the translating.
    Type: Grant
    Filed: October 5, 2012
    Date of Patent: January 20, 2015
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Jason D. Tongen
  • Publication number: 20140304709
    Abstract: A method and system for scheduling a time critical task. The system may include a processing unit, a hardware assist scheduler, and a memory coupled to both the processing unit and the hardware assist scheduler. The method may include receiving timing information for executing the time critical task, the time critical task executing program instructions via a thread on a core of a processing unit and scheduling the time critical task based on the received timing information. The method may further include programming a lateness timer, waiting for a wakeup time to obtain and notifying the processing unit of the scheduling. Additionally, the method may include executing, on the core of the processing unit, the time critical task in accordance with the scheduling, monitoring the lateness timer, and asserting a thread execution interrupt in response to the lateness timer expiring, thereby suspending execution of the time critical task.
    Type: Application
    Filed: April 9, 2013
    Publication date: October 9, 2014
    Applicant: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Herbert K. Salmon, IV
  • Patent number: 8856415
    Abstract: In a real-time application, one or more computational tasks execute according to a time schedule and use input data from input devices and/or output data from output devices. One or more of the input devices or output devices may be unscheduled devices that attempt to access the peripheral bus at unscheduled times. Such unscheduled bus access can cause the time schedule to become comprised. Various methods for arbitrating access to the bus to better integrate the bus access with the time schedule followed by the application are described.
    Type: Grant
    Filed: February 1, 2012
    Date of Patent: October 7, 2014
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Publication number: 20140223056
    Abstract: In a real-time application, one or more computational tasks execute according to a time schedule and use input data from input devices and/or output data from output devices. One or more of the input devices or output devices may be unscheduled devices that attempt to access the peripheral bus at unscheduled times. Such unscheduled bus access can cause the time schedule to become comprised. Various methods for arbitrating access to the bus to better integrate the bus access with the time schedule followed by the application are described.
    Type: Application
    Filed: April 9, 2014
    Publication date: August 7, 2014
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventor: Sundeep Chandhoke
  • Publication number: 20140223055
    Abstract: In a real-time application, one or more computational tasks execute according to a time schedule and use input data from input devices and/or output data from output devices. One or more of the input devices or output devices may be unscheduled devices that attempt to access the peripheral bus at unscheduled times. Such unscheduled bus access can cause the time schedule to become comprised. Various methods for arbitrating access to the bus to better integrate the bus access with the time schedule followed by the application are described.
    Type: Application
    Filed: April 9, 2014
    Publication date: August 7, 2014
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventor: Sundeep Chandhoke
  • Publication number: 20140109096
    Abstract: System and method for controlling thread execution via time monitoring circuitry in a processing element. Execution of a thread may be suspended via a thread suspend/resume logic block included in the processing element in response to a received suspend thread instruction. An indication of a wakeup time may be received to a time monitoring circuit (TMC) included in the processing element. Time may be monitored via the TMC using a clock included in the processing element, until the wakeup time obtains.
    Type: Application
    Filed: August 27, 2013
    Publication date: April 17, 2014
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventor: Sundeep Chandhoke
  • Publication number: 20140101347
    Abstract: Techniques for isochronous data transfer between different memory-mapped domains in a distributed system. A method includes configuring an isochronous engine with an isochronous period. The method further includes transferring data over a memory-mapped fabric from a first memory to a second memory during a specified portion of a cycle of the isochronous period. The first memory is comprised in a first device in a first memory-mapped domain of the memory-mapped fabric and the second memory is comprised in a second device in a second memory-mapped domain of the memory-mapped fabric. The method may further comprise translating one or more addresses related to the transferring. The memory-mapped fabric may be a PCI-Express fabric. The transferring may be performed by a DMA controller. A non-transparent bridge may separate the first and the second memory-mapped domains and may perform the translating.
    Type: Application
    Filed: October 5, 2012
    Publication date: April 10, 2014
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Sundeep Chandhoke, Jason D. Tongen
  • Publication number: 20140071982
    Abstract: Devices and methods for synchronizing devices over a switched fabric. A master device maintains a global time, determines a mapping between the global time and a counter of a switch over a memory-mapped fabric, and sends the mapping to a slave device. A slave device maintains a local time, determines a first mapping between the local time and a counter of a switch, receives a second mapping between the counter and a global time of the master device, and synchronizes its local time to the global time based on the first and second mappings. The master and slave device may map their times to the counter by sending respective request packets to the switch and receiving respective completion packets including respective counter values from the switch. The master and slave device may determine respective time values corresponding to the respective counter values based on in-switch delays of the packets.
    Type: Application
    Filed: September 7, 2012
    Publication date: March 13, 2014
    Inventors: Sundeep Chandhoke, Rodney D. Greenstreet