Patents by Inventor Aljosa Vrancic

Aljosa Vrancic 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: 7703034
    Abstract: A system and method for viewing timing of one or more loops in a graphical program. A graphical program having one or more loops may be created. In one embodiment the one or more loops may include one or more timed loops, i.e., the loops may be configured to execute according to particular execution periods. The graphical program may be executed, and timing analysis data regarding timing of the one or more loops during execution of the graphical program may be stored. A graphical user interface (GUI) for viewing timing of the one or more loops during execution of the graphical program may be displayed. In various embodiments the GUI may display any of various kinds of information regarding timing of the one or more loops, and any kind of visual presentation may be used in displaying the information.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: April 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic, Bob Preis
  • Patent number: 7669185
    Abstract: A system and method for executing a graphical program which has a plurality of timed loops, wherein the timed loops utilize timing sources that are related to or derived from each other. According to one embodiment of the method, a graphical program having a plurality of timed loops may be created. In one embodiment the timing sources may be related to each other according to tree hierarchy. Each of the loops in the graphical program may be associated with one of the timing sources. Thus the plurality of loops may be viewed as a group of loops that are grouped together due to the relationships among their respective timing sources. Execution of the graphical program may then begin. Execution of the loops may be delayed until every loop in the group is ready to execute. After every loop in the group is ready to execute, the timing sources for the various loops may be started.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: February 23, 2010
    Assignee: National Instruments Corporation
    Inventors: Aljosa Vrancic, Jacob Kornerup
  • Publication number: 20090319815
    Abstract: A first graphical program executing on a first device may execute a first graphical code portion for a plurality of iteration. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with graphical code portions executing iteratively in graphical programs on other devices are described. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with operation of measurement devices or other devices are also described.
    Type: Application
    Filed: July 20, 2009
    Publication date: December 24, 2009
    Inventors: Aljosa Vrancic, Jacob Kornerup
  • Publication number: 20090292511
    Abstract: System and method for controlling/analyzing a process by solving a system of linear equations in real-time. Linear equations that model the process are stored. In an off-line stage a partitioning strategy is determined based on the linear equations, including determining groups of values for recursively partitioning a set of values measured and/or computed from the process. In an on-line stage: current process data are received from the process, including measurements from the process, and composing a set of values; the linear equations are recursively solved for a first group of the set, where the first group partitions the set into respective subsets of values, and where the recursively solving produces solved values for respective first groups of the set/subset of values; the linear equations are solved for remaining unsolved values in the set, thereby producing solved values for the set, which are stored and are useable to control/analyze the process.
    Type: Application
    Filed: May 19, 2009
    Publication date: November 26, 2009
    Inventors: Aljosa Vrancic, Lothar Wenzel
  • Patent number: 7574690
    Abstract: A system and method for creating a graphical program operable to execute a timed loop. A loop may be displayed in the graphical program and configured with timing information in response to user input. The timing information may include an execution period which specifies a desired period at which the loop should execute during execution of the graphical program. The timing information may also include information such as a timing source, offset, and priority. During execution of the graphical program, the execution period of the loop may control the rate at which the loop executes.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: August 11, 2009
    Assignee: National Instruments Corporation
    Inventors: Biren Shah, Jacob Kornerup, Aljosa Vrancic, Jeffrey L. Kodosky, Michael L. Santori
  • Patent number: 7565609
    Abstract: A first graphical program executing on a first device may execute a first graphical code portion for a plurality of iteration. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with graphical code portions executing iteratively in graphical programs on other devices are described. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with operation of measurement devices or other devices are also described.
    Type: Grant
    Filed: August 16, 2005
    Date of Patent: July 21, 2009
    Assignee: National Instruments Corporation
    Inventors: Aljosa Vrancic, Jacob Kornerup
  • Patent number: 7559060
    Abstract: System and method for performing time-bounded execution of a program. A timed program execution process is initiated, and a timeout process is initiated. A timeout condition is configured in the timeout process at a first priority level, and a rollback state determined for the program. Execution of the program is initiated in the timed program execution process at a second priority level below the first priority level. During execution of the program, the timeout process determines if the timeout condition has occurred, and if so, the timeout process restores the execution of the program to the rollback state, and the timed program execution process resumes execution of the program from the rollback state with the timeout condition. The program exits in the timed program execution process in response to the timeout condition, and the timeout event disabled. The timeout process is terminated, and the timed program execution process is terminated.
    Type: Grant
    Filed: February 23, 2004
    Date of Patent: July 7, 2009
    Assignee: National Instruments Corporation
    Inventors: Darren R. Schmidt, Aljosa Vrancic, Satish V. Kumar
  • Publication number: 20080034300
    Abstract: System and method for creating a graphical program (GP) having portions that execute on different targets. A GP including a plurality of interconnected nodes visually indicating functionality of the program is created in response to user input, including a first graphical code portion with a first execution context specifying execution of the first graphical code portion on a first target. A second execution context indicating a second target for execution of a second graphical code portion of the GP is established in response to user input, e.g., by displaying a context structure indicating the second execution context and associating the second graphical code portion with the context structure in response to user input. During execution of the GP, the first graphical code portion executes on the first target using the first execution context, and the second graphical code portion executes on the second target using the second execution context.
    Type: Application
    Filed: June 8, 2007
    Publication date: February 7, 2008
    Inventors: Darshan K. Shah, Aljosa Vrancic
  • Publication number: 20080034310
    Abstract: System and method for distributed execution of a graphical program. First and second icons associated with respective execution targets are displayed on a display. Each icon has an interior and specifies execution of a respective graphical program portion positioned in the interior of the icon on the respective execution target. First and second graphical program portions are respectively displayed in the interiors of the first and second icons, where each graphical program portion comprises a respective one or more interconnected nodes that visually indicate functionality of the graphical program portion. One or more wires connecting the first graphical program portion and the second graphical program portion are display. During execution of the graphical program, the first and second graphical program portions execute respectively on the first and second execution targets, and the first graphical program portion and the second graphical program portion communicate as specified by the one or more wires.
    Type: Application
    Filed: July 11, 2007
    Publication date: February 7, 2008
    Inventors: Jeffrey L. Kodosky, David W. Fuller, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Kornerup, Darshan K. Shah, Aljosa Vrancic
  • Publication number: 20070203683
    Abstract: A system and method for specifying timing relationships among nodes in a graphical program. User input specifying desired timing of a first node with respect to timing of a second node may be received. In various embodiments, any kind of timing relationship or timing constraint between the first node and the second node may be specified. Timing information may be displayed on the display to visually indicate the timing of the first node with respect to timing of the second node. In one embodiment, displaying the timing information may comprise displaying a timing wire between the first node and the second node. The graphical program may be executed in such a way that the visually indicated timing of the first node with respect to timing of the second node is satisfied.
    Type: Application
    Filed: April 30, 2007
    Publication date: August 30, 2007
    Inventors: Jacob Kornerup, Jeffrey Kodosky, Hugo Andrade, Biren Shah, Aljosa Vrancic, Michael Santori
  • Patent number: 7114091
    Abstract: A system may include a communication medium, a master node, and a slave node. The master node may send several sets of synchronization messages on the communication medium. Each set of synchronization messages includes several synchronization messages. The slave node may receive each set of synchronization messages and to select a synchronization message having an optimal delay from each set of synchronization messages. The slave node may calculate a correction for a slave clock included in the slave node in response to timing information associated with the synchronization message having the optimal delay in each set. The slave node may not calculate a correction for the slave clock in response to timing information associated with at least some of the synchronization messages in each set. The communication medium may convey at least one synchronization message within each of the sets with a minimum delay.
    Type: Grant
    Filed: March 17, 2003
    Date of Patent: September 26, 2006
    Assignee: National Instruments Corporation
    Inventor: Aljosa Vrancic
  • Patent number: 7043565
    Abstract: A system and method for transferring data over an external transmission medium. A host computer is coupled to a device through a serial bus. A transfer object is configurable to encapsulate data transfer-related functionality, providing a generic interface for transmission of data over a variety of external transmission media and protocols. A user makes one or more transfer requests. Transfer objects corresponding to each request are built and linked together to form a sequential chain. The requests of the transfer objects are executed sequentially. If the current transfer object is the first in the chain, the request is executed on a current thread at passive level or higher, otherwise the request is executed on a system (kernel) thread at dispatch level. When a response to the request returns, control is returned to the current transfer object. The process is repeated until all transfer objects are processed.
    Type: Grant
    Filed: August 11, 2000
    Date of Patent: May 9, 2006
    Assignee: National Instruments Corporation
    Inventors: David W. Madden, Aljosa Vrancic
  • Publication number: 20060053408
    Abstract: A combination structure node is provided by a graphical programming development environment for use in a graphical program, where the combination structure node is operable to perform two or more control flow functions. For example, the combination structure node may be operable to perform two or more of: iteration, looping, conditional branching, sequencing, timed execution, event-driven execution, or other control flow functions. A user may include the combination structure node in a graphical program and associate a graphical code portion with the combination structure node. During execution of the graphical program, the combination structure node is operable to cause the associated graphical code portion to execute according to the two or more control flow functions performed by the combination structure node.
    Type: Application
    Filed: August 15, 2005
    Publication date: March 9, 2006
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic, Matthew Curtis, Steve Rogers
  • Publication number: 20060053211
    Abstract: A system and method for enabling deterministic or time-triggered data exchange between a first graphical program and a second graphical program. A first variable is assigned to a first time slot in a network cycle. A first graphical program may be configured to write data to the first variable. A second graphical program may be configured to read data from the first variable. The first graphical program may be executed on a first computer system, where executing the first graphical program comprises writing data to the first variable. Writing data to the first variable may cause the data to be delivered over a network to a second computer system when the first time slot occurs. The second graphical program may be executed on the second computer system, where executing the second graphical program comprises reading from the first variable the data sent from the first computer system.
    Type: Application
    Filed: August 17, 2005
    Publication date: March 9, 2006
    Inventors: Jacob Kornerup, Aljosa Vrancic
  • Publication number: 20060053409
    Abstract: A “timed loop with frames” node may be included in a graphical program. The “timed loop with frames” node may combine a timed loop with a timed sequence such that the timed sequence is executed at each iteration of the timed loop. The “timed loop with frames” node may be configured with first execution timing information that controls execution timing for the iterations of the loop. A plurality of graphical code portions may be included in the “timed loop with frames” such that a sequential order of execution for the graphical code portions is specified. The “timed loop with frames” node may be configured with second execution timing information that controls execution timing for the graphical code portions executed at each iteration.
    Type: Application
    Filed: August 15, 2005
    Publication date: March 9, 2006
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic, Matthew Curtis, Steve Rogers
  • Publication number: 20060041859
    Abstract: A first graphical program executing on a first device may execute a first graphical code portion for a plurality of iteration. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with graphical code portions executing iteratively in graphical programs on other devices are described. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with operation of measurement devices or other devices are also described.
    Type: Application
    Filed: August 16, 2005
    Publication date: February 23, 2006
    Inventors: Aljosa Vrancic, Jacob Kornerup
  • Publication number: 20060026560
    Abstract: A system and method for executing a plurality of graphical code portions as a timed sequence is described. The graphical code portions may be included in a graphical program and configured with information specifying a sequential order of execution and execution timing information. During execution of the graphical program, the graphical code portions are executed sequentially in the sequential order and in accordance with the execution timing information. In one embodiment a timed sequence structure node may be utilized to specify the timed sequence. For example, the user may include the timed sequence structure node in the graphical program and associate the plurality of graphical code portions with the timed sequence structure node such that the timed sequence structure node species a sequential order of execution for the graphical code portions. The user may also configure the timed sequence structure node with execution timing information for one or more of the graphical code portions.
    Type: Application
    Filed: August 15, 2005
    Publication date: February 2, 2006
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic
  • Patent number: 6985977
    Abstract: System and method for transferring data to a device using double buffered data transfers. A host computer system couples to a data acquisition device. The device includes a first read buffer and a second read buffer for storing output data received from the host computer. The device reads first data from the computer and stores it in the first read buffer. The first data is transferred out from the first read buffer while the device reads second data from the computer and stores it in the second read buffer. The second data is transferred out from the second read buffer (after the transfer of the first data) while the device reads third data from the host computer and stores the third data in the first read buffer. Thus, the data acquisition device successively reads data into one read buffer concurrently with transferring data out from the other buffer, respectively.
    Type: Grant
    Filed: August 30, 2002
    Date of Patent: January 10, 2006
    Assignee: National Instruments Corporation
    Inventor: Aljosa Vrancic
  • Publication number: 20050055666
    Abstract: A system and method for specifying timing relationships among nodes in a graphical program. User input specifying desired timing of a first node with respect to timing of a second node may be received. In various embodiments, any kind of timing relationship or timing constraint between the first node and the second node may be specified. Timing information may be displayed on the display to visually indicate the timing of the first node with respect to timing of the second node. In one embodiment, displaying the timing information may comprise displaying a timing wire between the first node and the second node. The graphical program may be executed in such a way that the visually indicated timing of the first node with respect to timing of the second node is satisfied.
    Type: Application
    Filed: July 16, 2004
    Publication date: March 10, 2005
    Inventors: Jacob Kornerup, Jeffrey Kodosky, Hugo Andrade, Biren Shah, Aljosa Vrancic, Michael Santori
  • Publication number: 20050050529
    Abstract: A system and method for executing a graphical program which has a plurality of timed loops, wherein the timed loops utilize timing sources that are related to or derived from each other. According to one embodiment of the method, a graphical program having a plurality of timed loops may be created. In one embodiment the timing sources may be related to each other according to tree hierarchy. Each of the loops in the graphical program may be associated with one of the timing sources. Thus the plurality of loops may be viewed as a group of loops that are grouped together due to the relationships among their respective timing sources. Execution of the graphical program may then begin. Execution of the loops may be delayed until every loop in the group is ready to execute. After every loop in the group is ready to execute, the timing sources for the various loops may be started.
    Type: Application
    Filed: July 16, 2004
    Publication date: March 3, 2005
    Inventors: Aljosa Vrancic, Jacob Kornerup