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).

  • Publication number: 20140075235
    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: Application
    Filed: September 7, 2012
    Publication date: March 13, 2014
    Inventors: Sundeep Chandhoke, Rodney D. Greenstreet
  • Publication number: 20140059553
    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: Application
    Filed: August 24, 2012
    Publication date: February 27, 2014
    Inventor: Sundeep Chandhoke
  • Patent number: 8640027
    Abstract: A system and method for configuring a hardware device to execute a prototype is presented. The hardware device may include a programmable hardware element and/or a processor and memory. The prototype may comprise a software entity operable to perform a plurality of executable operations, wherein the prototype is created by a user without requiring user programming. For example, a prototyping environment may provide a library of operations that are specific to a particular problem domain and may enable the user to select various operations from the library for inclusion in the prototype. The prototyping environment may include a graphical user interface that is streamlined for interactively experimenting with various parameters or properties associated with the selected operations and seeing the effects of adjusting the parameters.
    Type: Grant
    Filed: July 19, 2002
    Date of Patent: January 28, 2014
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Nicolas Vazquez, Kevin L. Schultz
  • Publication number: 20140019794
    Abstract: System and method for synchronizing devices. A device reads a first counter coupled to and associated with a master clock and a second counter coupled to and associated with the device, where the device is one of one or more devices coupled to the master clock and each other via a switched fabric, where each device includes a respective clock, and is coupled to and associated with a respective second counter. Each of the first counter and the second counters is accessible by each of the one or more devices. The device determines a difference between the device's associated second counter and the first counter, and determines and stores a time reference for the device relative to the master clock based on the determined difference, where the time reference is useable to timestamp events or synchronize future events.
    Type: Application
    Filed: July 29, 2013
    Publication date: January 16, 2014
    Applicant: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Lee E. Mohrmann, Adam C. Ullrich, Rodney D. Greenstreet
  • Patent number: 8612637
    Abstract: Configuring a buffer with timing information. Initially, a buffer for transferring data from a first device to a second device may be configured, e.g., in response to user input. For example, configuring the buffer may include specifying a size of the buffer, specifying timing for delivery of data of the buffer, and/or specifying transfer of the data from a first device to a second device. In response to the configuration of the buffer, code may be automatically generated which implements the transfer of the data from the first device to the second device according to the specified timing for delivery of the data of the buffer. Accordingly, the automatically generated code may be executable to transfer the data according to the specified timing from the first device to the second device.
    Type: Grant
    Filed: September 25, 2011
    Date of Patent: December 17, 2013
    Assignee: National Instruments Corportion
    Inventor: Sundeep Chandhoke
  • Patent number: 8583957
    Abstract: System and method for synchronizing devices. A device reads a first counter coupled to and associated with a master clock and a second counter coupled to and associated with the device, where the device is one of one or more devices coupled to the master clock and each other via a switched fabric, where each device includes a respective clock, and is coupled to and associated with a respective second counter. Each of the first counter and the second counters is accessible by each of the one or more devices. The device determines a difference between the device's associated second counter and the first counter, and determines and stores a time reference for the device relative to the master clock based on the determined difference, where the time reference is useable to timestamp events or synchronize future events.
    Type: Grant
    Filed: July 27, 2010
    Date of Patent: November 12, 2013
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Lee E. Mohrmann, Adam C. Ullrich, Rodney D. Greenstreet
  • Publication number: 20130198429
    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: February 1, 2012
    Publication date: August 1, 2013
    Inventor: Sundeep Chandhoke
  • Publication number: 20130080661
    Abstract: Configuring a buffer with timing information. Initially, a buffer for transferring data from a first device to a second device may be configured, e.g., in response to user input. For example, configuring the buffer may include specifying a size of the buffer, specifying timing for delivery of data of the buffer, and/or specifying transfer of the data from a first device to a second device. In response to the configuration of the buffer, code may be automatically generated which implements the transfer of the data from the first device to the second device according to the specified timing for delivery of the data of the buffer. Accordingly, the automatically generated code may be executable to transfer the data according to the specified timing from the first device to the second device.
    Type: Application
    Filed: September 25, 2011
    Publication date: March 28, 2013
    Inventor: Sundeep Chandhoke
  • Patent number: 8302072
    Abstract: A user may utilize a prototyping environment to create a sequence of motion control, machine vision, and/or data acquisition (DAQ) operations, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the sequence at a high level, by selecting from and configuring a sequence of operations using the GUI. The prototyping environment application may then be operable to automatically, i.e., programmatically, generate graphical program code implementing the sequence. For example, the environment may generate a standalone graphical program operable to perform the sequence of operations.
    Type: Grant
    Filed: January 18, 2002
    Date of Patent: October 30, 2012
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Nicolas Vazquez, David W Fuller, Christopher Cifra
  • Patent number: 8295287
    Abstract: System and method for controlling access to a bus. A Network Interface (NI) is coupled to a memory via the bus, and receives a schedule to a Direct Memory Access (DMA) controller on the NI. The schedule indicates one or more timeslots reserved for transmission of deterministic data, and further indicates one or more available timeslots which are not reserved for transmission of deterministic data. The NI receives first data for transmission onto the bus, during a first timeslot of the available timeslots, where the first data are received in a non-deterministic manner, and determines that the first timeslot is a reserved timeslots based on the schedule. The first data are buffered in a buffer memory during the first timeslot, and transferred to the first memory via the bus during a second timeslot after the buffering, where the second timeslot is one of the one or more available timeslots.
    Type: Grant
    Filed: January 27, 2010
    Date of Patent: October 23, 2012
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 8250343
    Abstract: Controlling a motion system using a plurality of processors. First input data may be received which corresponds to a first portion of the motion system. Second input data may be received which corresponds to a second portion of the motion system. Execution of a first function of a plurality of sequential functions may be assigned to a first processor to determine output for the first portion based on the first input data. Execution of the first function may be assigned to a second processor to determine output for the second portion based on the second input data. The first processor executing the first function and the second processor executing the first function may be performed in parallel. The output for the first portion of the motion system may be provided to the first portion. The output for the second portion of the motion system may be provided to the second portion.
    Type: Grant
    Filed: July 21, 2009
    Date of Patent: August 21, 2012
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 8239177
    Abstract: Simulating a mechanical system controlled by a motion controller. First position data may be received. The first position data may be provided by a motion controller at a first rate. The first position data received at the first rate may be interpolated to provide second position data at a second rate. Operation of the mechanical system may be simulated or modeled using the second position data at the second rate. Interpolating the first position data and modeling the operation of the mechanical system may be performed without simulating drives and motors necessary to drive the mechanical system.
    Type: Grant
    Filed: May 15, 2009
    Date of Patent: August 7, 2012
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Brian C. MacCleery
  • Patent number: 8175725
    Abstract: Adapting move constraints for position based moves in a trajectory generator. Specification of a trajectory may be received. The specification may include a geometry of the trajectory, where the geometry specifies a desired trajectory length. A plurality of constraints for the trajectory may be received. The plurality of constraints may include one or more of a velocity, acceleration, or jerk constraint. A motion control profile may be generated based on the plurality of constraints. The method may include determining if a distance of the motion control profile exceeds the desired trajectory length. If the distance of the motion control profile exceeds the desired trajectory length, one or more values of the plurality of constraints may be decreased to make the distance of the motion control profile less than or equal to the desired trajectory length.
    Type: Grant
    Filed: September 8, 2008
    Date of Patent: May 8, 2012
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 8155769
    Abstract: System and method for performing industrial control. A vision engine operable to execute vision functions to control a vision element in response to received asynchronous commands is stored on a vision system. An application programming interface (API) that provides access to the vision engine is stored. The API includes multiple function blocks operable to be included in an industrial control application, and executable to send the asynchronous commands to the vision engine. The application is created, including inserting at least one function block of the API into the application. The application is executed on a programmable controller, including executing the function block to send a corresponding asynchronous command to the vision engine. The vision engine performs a vision function corresponding to the function block in response to the asynchronous command, and sends resultant data to the industrial control application, which stores the resultant data.
    Type: Grant
    Filed: March 17, 2008
    Date of Patent: April 10, 2012
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Publication number: 20120030600
    Abstract: System and method for transferring data. A system diagram is displayed, where the system diagram includes multiple device icons corresponding to respective devices, each device icon having associated executable function nodes specified for deployment on the corresponding device. The function nodes are interconnected to form a distributed graphical program that is deployable and executable in a distributed manner on the devices. User input is received to the system diagram specifying isochronous data transfer among the function nodes. Invocation timing relationships among the function nodes are automatically determined based on the specified isochronous data transfer, including phase relationships between execution of the function nodes. The determined invocation timing relationships are displayed among the function nodes.
    Type: Application
    Filed: May 27, 2011
    Publication date: February 2, 2012
    Inventors: Sundeep Chandhoke, Timothy J. Hayles, Jeffrey L. Kodosky
  • Publication number: 20120030495
    Abstract: System and method for synchronizing devices. A device reads a first counter coupled to and associated with a master clock and a second counter coupled to and associated with the device, where the device is one of one or more devices coupled to the master clock and each other via a switched fabric, where each device includes a respective clock, and is coupled to and associated with a respective second counter. Each of the first counter and the second counters is accessible by each of the one or more devices. The device determines a difference between the device's associated second counter and the first counter, and determines and stores a time reference for the device relative to the master clock based on the determined difference, where the time reference is useable to timestamp events or synchronize future events.
    Type: Application
    Filed: July 27, 2010
    Publication date: February 2, 2012
    Inventors: Sundeep Chandhoke, Lee E. Mohrmann, Adam C. Ullrich, Rodney D. Greenstreet
  • Publication number: 20120030496
    Abstract: System and method for transferring data. A system diagram is displayed, where the system diagram includes multiple device icons corresponding to respective devices, each device icon having associated executable function nodes specified for deployment on the corresponding device. The function nodes are interconnected to form a distributed graphical program that is deployable and executable in a distributed manner on the devices. User input is received to the system diagram specifying isochronous data transfer among the function nodes. Invocation timing relationships among the function nodes are automatically determined based on the specified isochronous data transfer, including phase relationships between execution of the function nodes. The determined invocation timing relationships are displayed among the function nodes.
    Type: Application
    Filed: July 30, 2010
    Publication date: February 2, 2012
    Inventors: Sundeep Chandhoke, Timothy J. Hayles, Jeffrey L. Kodosky
  • Patent number: 8082515
    Abstract: System and method for developing a motion application. A motion manager component implementing a supervisory control function and at least one trajectory generation algorithm is stored on a motion controller. A first application programming interface (API) for interfacing the motion manager component to a user developed motion control application is displayed. A second API for interfacing the motion manager component to a user developed communication interface component is displayed. A user application executable for sequencing motion operations in the motion system is created using the first API is created in response to user input. A first communication interface component is created using the second API in response to user input, where the communication interface component is operable to interface with the motion manager component using the second API, and where the user developed communication interface component is executable to communicate with a motion element, e.g., a drive or simulation.
    Type: Grant
    Filed: November 30, 2007
    Date of Patent: December 20, 2011
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Publication number: 20110288663
    Abstract: System and method for developing a motion application. A motion manager component implementing a supervisory control function and at least one trajectory generation algorithm is stored on a motion controller. A first application programming interface (API) for interfacing the motion manager component to a user developed motion control application is displayed. A second API for interfacing the motion manager component to a user developed communication interface component is displayed. A user application executable for sequencing motion operations in the motion system is created using the first API is created in response to user input. A first communication interface component is created using the second API in response to user input, where the communication interface component is operable to interface with the motion manager component using the second API, and where the user developed communication interface component is executable to communicate with a motion element, e.g., a drive or simulation.
    Type: Application
    Filed: August 8, 2011
    Publication date: November 24, 2011
    Inventor: Sundeep Chandhoke
  • Patent number: 7992129
    Abstract: A user may utilize a prototyping environment to create a sequence of motion control, machine vision, and/or data acquisition (DAQ) operations, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the sequence at a high level, by selecting from and configuring a sequence of operations using the GUI. The prototyping environment application may then be operable to automatically, i.e., programmatically, generate graphical program code implementing the sequence. For example, the environment may generate a standalone graphical program operable to perform the sequence of operations.
    Type: Grant
    Filed: March 10, 2006
    Date of Patent: August 2, 2011
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Nicolas Vazquez, David W Fuller, Christopher Cifra