Patents by Inventor Robert E. Dye
Robert E. Dye 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: 9870206Abstract: System and method for creating a graphical program. A first replication structure may be included in a graphical program, where the first replication structure specifies replication of any graphical program code inside the first replication structure. First graphical program code may be included inside the first replication structure. An implementation of the graphical program may be automatically generated, including generating multiple instances of an implementation of the first graphical program code within the implementation of the graphical program. Executing the graphical program may include executing the multiple instances, e.g., concurrently and/or serially.Type: GrantFiled: November 10, 2015Date of Patent: January 16, 2018Assignee: NATIONAL INSTRUMENTS CORPORATIONInventors: Julian G. Valdez, Taylor L. Riche, Neil S. Feiereisel, Robert E. Dye, Stephen R. Loftus-Mercer, Dustyn K. Blasig, Mary E. Fletcher, Brent C. Schwan, Stephen L. Dark
-
Patent number: 9733914Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: GrantFiled: June 1, 2009Date of Patent: August 15, 2017Assignee: NATIONAL INSTRUMENTS CORPORATIONInventors: Haoran Yi, Mary E. Fletcher, Robert E. Dye, Adam L. Bordelon
-
Publication number: 20170131976Abstract: System and method for creating a graphical program. A first replication structure may be included in a graphical program, where the first replication structure specifies replication of any graphical program code inside the first replication structure. First graphical program code may be included inside the first replication structure. An implementation of the graphical program may be automatically generated, including generating multiple instances of an implementation of the first graphical program code within the implementation of the graphical program. Executing the graphical program may include executing the multiple instances, e.g., concurrently and/or serially.Type: ApplicationFiled: November 10, 2015Publication date: May 11, 2017Inventors: Julian G. Valdez, Taylor L. Riche, Neil S. Feiereisel, Robert E. Dye, Stephen R. Loftus-Mercer, Dustyn K. Blasig, Mary E. Fletcher, Brent C. Schwan, Stephen L. Dark
-
Patent number: 8640112Abstract: System and method for vectorizing combinations of program operations. Program code is received that includes a combination of individually vectorizable program portions that collectively implement a first computation. Each individually vectorizable program portion has at least one array input and at least one array output. The combination of individually vectorizable program portions is transformed into a single vectorizable program portion that is or includes a functional composition of the combination of individually vectorizable program portions. Vectorized executable code implementing the first computation is generated based on the single vectorizable program portion. The generated executable code is directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor.Type: GrantFiled: March 30, 2011Date of Patent: January 28, 2014Assignee: National Instruments CorporationInventors: Haoran Yi, Brady C. Duggan, Robert E. Dye, Adam L. Bordelon, Jeffrey L. Kodosky
-
Patent number: 8533670Abstract: System and method for executing a graphical program on a first computer and providing a user interface of the graphical program on a second computer, where the graphical program includes a plurality of interconnected function icons representing graphical data flow of a function. Information indicating a plurality of graphical programs on the first computer, e.g., a list, may be displayed on the second computer, and user input specifying the graphical program on the first computer received to the second computer, e.g., selecting the graphical program from the list of graphical programs. The graphical program is executed on the first computer, and information describing the user interface of the graphical program is provided to the second computer during execution. The user interface of the graphical program is displayed on the second computer, facilitating interaction between a user of the second computer and the graphical program executing on the first computer.Type: GrantFiled: February 5, 2004Date of Patent: September 10, 2013Assignee: National Instruments CorporationInventors: Robert E. Dye, Darshan Shah, Steve Rogers, Greg Richardson, Dean A. Luick
-
Patent number: 8510709Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: GrantFiled: June 1, 2009Date of Patent: August 13, 2013Assignee: National Instruments CorporationInventors: Adam L. Bordelon, Robert E. Dye, Haoran Yi, Mary E. Fletcher
-
Patent number: 8490067Abstract: System and method for analyzing a graphical program. A graphical program is provided that includes a plurality of interconnected nodes that visually indicate functionality of the program. The graphical program includes a plurality of block diagrams arranged in a hierarchical manner, including a top-level block diagram and one or more sub-block diagrams, where each block diagram includes a respective subset of the plurality of interconnected nodes. At least one of the block diagrams includes a node that includes at least one of the sub-block diagrams. When a block diagram executes, all the respective nodes of the block diagram execute. Each node in the plurality of interconnected nodes is configured to provide graphical code coverage information when executed. The graphical program is executed, thereby generating graphical code coverage information for the graphical program indicating which nodes executed, which is then stored.Type: GrantFiled: May 22, 2008Date of Patent: July 16, 2013Assignee: National Instruments CorporationInventors: Jeffrey R. Boettcher, Robert E. Dye, Steven W. Rogers
-
Patent number: 8479109Abstract: A system and method for programmatically generating a graphical program or a portion of a graphical program in response to receiving user input. The user input may specify functionality of the graphical program or graphical program portion to be generated. In response to the user input, a graphical program (or graphical program portion) that implements the specified functionality may be programmatically generated. Thus, different graphical programs may be generated, depending on the user input received.Type: GrantFiled: July 28, 2006Date of Patent: July 2, 2013Assignee: National Instruments CorporationInventors: Jeffrey D. Washington, Ram Kudukoli, Robert E. Dye, Paul F. Austin
-
Patent number: 8478967Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: GrantFiled: June 1, 2009Date of Patent: July 2, 2013Assignee: National Instruments CorporationInventors: Adam L. Bordelon, Robert E. Dye, Haoran Yi, Mary E. Fletcher
-
Patent number: 8448155Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: GrantFiled: June 1, 2009Date of Patent: May 21, 2013Assignee: National Instruments CorporationInventors: Adam L. Bordelon, Robert E. Dye, Haoran Yi, Mary E. Fletcher
-
Publication number: 20120254845Abstract: System and method for vectorizing combinations of program operations. Program code is received that includes a combination of individually vectorizable program portions that collectively implement a first computation. Each individually vectorizable program portion has at least one array input and at least one array output. The combination of individually vectorizable program portions is transformed into a single vectorizable program portion that is or includes a functional composition of the combination of individually vectorizable program portions. Vectorized executable code implementing the first computation is generated based on the single vectorizable program portion. The generated executable code is directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor.Type: ApplicationFiled: March 30, 2011Publication date: October 4, 2012Inventors: Haoran Yi, Brady C. Duggan, Robert E. Dye, Adam L. Bordelon, Jeffrey L. Kodosky
-
Patent number: 8205188Abstract: System and method for programmatically generating a second graphical program associated with a second programming development environment based on a first graphical program associated with a first programming development environment. The second graphical program may be generated programmatically, without relying on user input, or may prompt for user input to determine various options to use in generating the second graphical program. The second graphical program may implement the functionality of, or a portion of the functionality of, the first graphical program. The method preferably generates the second graphical program such that the second programming development environment is operable to treat the second graphical program identically to a graphical program interactively developed by a user using the second programming development environment.Type: GrantFiled: October 31, 2007Date of Patent: June 19, 2012Assignee: National Instruments CorporationInventors: Subramanian Ramamoorthy, Lothar Wenzel, Gregory O. Morrow, Michael L. Santori, John C. Limroth, Ram Kudukoli, Robert E. Dye
-
Patent number: 8146007Abstract: System and method for programmatically generating a second graphical program associated with a second programming development environment based on a first graphical program associated with a first programming development environment. The second graphical program may be generated programmatically, without relying on user input, or may prompt for user input to determine various options to use in generating the second graphical program. The second graphical program may implement the functionality of, or a portion of the functionality of, the first graphical program. The method preferably generates the second graphical program such that the second programming development environment is operable to treat the second graphical program identically to a graphical program interactively developed by a user using the second programming development environment.Type: GrantFiled: March 25, 2009Date of Patent: March 27, 2012Assignee: National Instruments CorporationInventors: Subramanian Ramamoorthy, Lothar Wenzel, Gregory O. Morrow, Michael L. Santori, John C. Limroth, Ram Kudukoli, Robert E. Dye
-
Patent number: 8074203Abstract: System and method for executing a graphical program on a first computer and providing a user interface of the graphical program on a second computer, where the graphical program includes a plurality of interconnected function icons representing graphical data flow of a function. Information indicating a plurality of graphical programs on the first computer, e.g., a list, may be displayed on the second computer, and user input specifying the graphical program on the first computer received to the second computer, e.g., selecting the graphical program from the list of graphical programs. The graphical program is executed on the first computer, and information describing the user interface of the graphical program is provided to the second computer during execution. The user interface of the graphical program is displayed on the second computer, facilitating interaction between a user of the second computer and the graphical program executing on the first computer.Type: GrantFiled: June 20, 2008Date of Patent: December 6, 2011Assignee: National Instruments CorporationInventors: Robert E. Dye, Darshan Shah, Steve Rogers, Greg Richardson, Dean A. Luick
-
Patent number: 7979841Abstract: A system and method for programmatically determining interface information for a graphical program. Interface information for a graphical program may include information necessary to invoke execution of the graphical program. A first program may receive a request for information regarding an interface of a graphical program. In response to the request, the first program may programmatically determine the information regarding the interface of the graphical program. The interface information may include such information as parameters of the graphical program, their respective data types, whether each parameter is an input parameter, an output parameter, or both, and default values for input parameters. The programmatically determined information regarding the interface of the graphical program may then be returned to a second program. The second program may invoke execution of the graphical program according to the received information.Type: GrantFiled: April 16, 2004Date of Patent: July 12, 2011Assignee: National Instruments CorporationInventors: Jason B. Case, Robert E. Dye, Kyle P. Gupton, José A. Hernandez
-
Publication number: 20100306752Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: ApplicationFiled: June 1, 2009Publication date: December 2, 2010Inventors: Adam L. Bordelon, Robert E. Dye, Haoran Yi, Mary E. Fletcher
-
Publication number: 20100306736Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: ApplicationFiled: June 1, 2009Publication date: December 2, 2010Inventors: Adam L. Bordelon, Robert E. Dye, Haoran Yi, Mary E. Fletcher
-
Publication number: 20100306753Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: ApplicationFiled: June 1, 2009Publication date: December 2, 2010Inventors: Haoran Yi, Mary E. Fletcher, Robert E. Dye, Adam L. Bordelon
-
Publication number: 20100306733Abstract: System and method for automatically parallelizing iterative functionality in a data flow program. A data flow program is stored that includes a first data flow program portion, where the first data flow program portion is iterative. Program code implementing a plurality of second data flow program portions is automatically generated based on the first data flow program portion, where each of the second data flow program portions is configured to execute a respective one or more iterations. The plurality of second data flow program portions are configured to execute at least a portion of iterations concurrently during execution of the data flow program. Execution of the plurality of second data flow program portions is functionally equivalent to sequential execution of the iterations of the first data flow program portion.Type: ApplicationFiled: June 1, 2009Publication date: December 2, 2010Inventors: Adam L. Bordelon, Robert E. Dye, Haoran Yi, Mary E. Fletcher
-
Publication number: 20090293044Abstract: System and method for analyzing a graphical program. A graphical program is provided that includes a plurality of interconnected nodes that visually indicate functionality of the program. The graphical program includes a plurality of block diagrams arranged in a hierarchical manner, including a top-level block diagram and one or more sub-block diagrams, where each block diagram includes a respective subset of the plurality of interconnected nodes. At least one of the block diagrams includes a node that includes at least one of the sub-block diagrams. When a block diagram executes, all the respective nodes of the block diagram execute. Each node in the plurality of interconnected nodes is configured to provide graphical code coverage information when executed. The graphical program is executed, thereby generating graphical code coverage information for the graphical program indicating which nodes executed, which is then stored.Type: ApplicationFiled: May 22, 2008Publication date: November 26, 2009Inventors: Jeffrey R. Boettcher, Robert E. Dye, Steven W. Rogers