Patents Assigned to Green Hills Software, Inc.
-
Patent number: 11314625Abstract: Systems and methods for visualizing and/or analyzing trace data collected during execution of a computer system are described. Algorithms and user interface elements are disclosed for providing user interfaces, data summarization technologies, and/or underlying file structures to facilitate such visualization and/or analysis. Trace data history summarization algorithms are also disclosed. Various combinations of the disclosed systems and methods may be employed, depending on the particular requirements of each implementation.Type: GrantFiled: December 18, 2019Date of Patent: April 26, 2022Assignee: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Nathan D. Field, Evan D. Mullinix, Gwen E. Tevis, Nikola Valerjev, Kevin L. Kassing, Mallory M. Green, II, Gregory N. Eddington, Tom R. Zavisca
-
Publication number: 20190179728Abstract: Systems and methods for visualizing and/or analyzing trace data collected during execution of a computer system are described. Algorithms and user interface elements are disclosed for providing user interfaces, data summarization technologies, and/or underlying file structures to facilitate such visualization and/or analysis. Trace data history summarization algorithms are also disclosed. Various combinations of the disclosed systems and methods may be employed, depending on the particular requirements of each implementation.Type: ApplicationFiled: September 19, 2018Publication date: June 13, 2019Applicant: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Nathan D. Field, Evan D. Mullinix, Gwen E. Tevis, Nikola Valerjev, Kevin L. Kassing, Mallory M. Green, II, Gregory N. Eddington, Tom R. Zavisca
-
Publication number: 20190108117Abstract: Systems and methods for visualizing and/or analyzing trace data collected during execution of a computer system are described. Algorithms and user interface elements are disclosed for providing user interfaces, data summarization technologies, and/or underlying file structures to facilitate such visualization and/or analysis. Trace data history summarization algorithms are also disclosed. Various combinations of the disclosed systems and methods may be employed, depending on the particular requirements of each implementation.Type: ApplicationFiled: September 19, 2018Publication date: April 11, 2019Applicant: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Nathan D. Field, Evan D. Mullinix, Gwen E. Tevis, Nikola Valerjev, Kevin L. Kassing, Mallory M. Green, II, Gregory N. Eddington, Tom R. Zavisca
-
Patent number: 10127139Abstract: Systems and methods for visualizing and/or analyzing trace data collected during execution of a computer system are described. Algorithms and user interface elements are disclosed for providing user interfaces, data summarization technologies, and/or underlying file structures to facilitate such visualization and/or analysis. Trace data history summarization algorithms are also disclosed. Various combinations of the disclosed systems and methods may be employed, depending on the particular requirements of each implementation.Type: GrantFiled: October 10, 2017Date of Patent: November 13, 2018Assignee: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Nathan D. Field, Evan D. Mullinix, Gwen E. Tevis, Nikola Valerjev, Kevin L. Kassing, Mallory M. Green, II, Gregory N. Eddington, Tom R. Zavisca
-
Publication number: 20180129589Abstract: Systems and methods for visualizing and/or analyzing trace data collected during execution of a computer system are described. Algorithms and user interface elements are disclosed for providing user interfaces, data summarization technologies, and/or underlying file structures to facilitate such visualization and/or analysis. Trace data history summarization algorithms are also disclosed. Various combinations of the disclosed systems and methods may be employed, depending on the particular requirements of each implementation.Type: ApplicationFiled: October 10, 2017Publication date: May 10, 2018Applicant: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Nathan D. Field, Evan D. Mullinix, Gwen E. Tevis, Nikola Valerjev, Kevin L. Kassing, Mallory M. Green, II, Gregory N. Eddington, Tom R. Zavisca
-
Publication number: 20180101466Abstract: Systems and methods for visualizing and/or analyzing trace data collected during execution of a computer system are described. Algorithms and user interface elements are disclosed for providing user interfaces, data summarization technologies, and/or underlying file structures to facilitate such visualization and/or analysis. Trace data history summarization algorithms are also disclosed. Various combinations of the disclosed systems and methods may be employed, depending on the particular requirements of each implementation.Type: ApplicationFiled: October 10, 2017Publication date: April 12, 2018Applicant: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Nathan D. Field, Evan D. Mullinix, Gwen E. Tevis, Nikola Valerjev, Kevin L. Kassing, Mallory M. Green, II, Gregory N. Eddington, Tom R. Zavisca
-
Patent number: 9904615Abstract: In an embodiment, a system is configured to replay and/or reconstruct execution events and system states in real time or substantially in real time starting from the point when execution of a target program has stopped to the point when the user desires to step through the target program's execution in order to debug the software. In an embodiment, a system is configured to efficiently collect trace data that is sufficient to reconstruct the state of a computer system at any point of time from the start of execution to the time execution was stopped. Efficient and effective debugging of the software can be performed using embodiments of the disclosed methods, systems, and devices.Type: GrantFiled: October 10, 2017Date of Patent: February 27, 2018Assignee: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, Steven H. Ginzburg, Nikola Valerjev, Gregory Davis, Greg Eddington, Nathan Field, Mallory M. Green, Phillip Kelly, Michael B. Wolf, Tom Zavisca
-
Patent number: 9898385Abstract: In an embodiment, a system is configured to replay and/or reconstruct execution events and system states in real time or substantially in real time starting from the point when execution of a target program has stopped to the point when the user desires to step through the target program's execution in order to debug the software. In an embodiment, a system is configured to efficiently collect trace data that is sufficient to reconstruct the state of a computer system at any point of time from the start of execution to the time execution was stopped. Efficient and effective debugging of the software can be performed using embodiments of the disclosed methods, systems, and devices.Type: GrantFiled: October 10, 2017Date of Patent: February 20, 2018Assignee: GREEN HILLS SOFTWARE, INC.Inventors: Daniel D. O'Dowd, Steven H. Ginzburg, Nikola Valerjev, Gregory Davis, Greg Eddington, Nathan Field, Mallory M. Green, Phillip Kelly, Michael B. Wolf, Tom Zavisca
-
Publication number: 20170344399Abstract: Methods and systems for scheduling applications on a multi-core processor are disclosed, which may be based on association of processor cores, application execution environments, and authorizations that permits efficient and practical means to utilize the simultaneous execution capabilities provided by multi-core processors. The algorithm may support definition and scheduling of variable associations between cores and applications (i.e., multiple associations can be defined so that the cores an application is scheduled on can vary over time as well as what other applications are also assigned to the same cores as part of an association). The algorithm may include specification and control of scheduling activities, permitting preservation of some execution capabilities of a multi-core processor for future growth, and permitting further evaluation of application requirements against the allocated execution capabilities.Type: ApplicationFiled: August 18, 2017Publication date: November 30, 2017Applicant: Green Hills Software, IncInventors: Mark Anthony Griglock, Patrick John Huyck, Sidney Slay Ishee, James Anthony Gleason, Richard Andrew Erich, Mathew Lowell Aamold
-
Patent number: 9772884Abstract: Methods and systems for scheduling applications on a multi-core processor are disclosed, which may be based on association of processor cores, application execution environments, and authorizations that permits efficient and practical means to utilize the simultaneous execution capabilities provided by multi-core processors. The algorithm may support definition and scheduling of variable associations between cores and applications (i.e., multiple associations can be defined so that the cores an application is scheduled on can vary over time as well as what other applications are also assigned to the same cores as part of an association). The algorithm may include specification and control of scheduling activities, permitting preservation of some execution capabilities of a multi-core processor for future growth, and permitting further evaluation of application requirements against the allocated execution capabilities.Type: GrantFiled: October 12, 2015Date of Patent: September 26, 2017Assignee: Green Hills Software, Inc.Inventors: Mark Anthony Griglock, Patrick John Huyck, Sidney Slay Ishee, James Anthony Gleason, Richard Andrew Erich, Mathew Lowell Aamold
-
Patent number: 9721121Abstract: Certain embodiments employ an “out-of-band” mechanism to remove the physical controls for activating input peripherals from a portable device operating system and instead controlled by a separate peripheral control domain, isolated from the operating system domain by a machine virtualization/isolation technology. No additional hardware may be required. An adjunct I/O virtualization mechanism may also be included to abstract the guarded input peripheral interfaces, such that all attempts to turn them on from within the operating system are automatically redirected by the I/O virtualization mechanism to the peripheral control domain. The peripheral control domain may then conduct a policy-driven decision process to either allow, disallow, or request manual/explicit authorization of an access attempts. Physical access may be performed within the peripheral control domain.Type: GrantFiled: June 16, 2014Date of Patent: August 1, 2017Assignee: Green Hills Software, Inc.Inventors: Daniel O'Dowd, David Kleidermacher, Thomas Cantrell, Dennis Kou, Daniel Hettena
-
Patent number: 9716725Abstract: In certain embodiments, virtualization mechanisms used to defend against spying can also be used by attackers as a means to execute spying attacks more effectively. In certain embodiments, attack methods may use the virtualization mechanisms to surreptitiously activate input peripherals without the user's knowledge or authorization. In certain embodiments, a virtualized network interface may be employed in which all network traffic transiting a portable wireless system is routed through a remote control component within a peripheral control domain. The remote control component may be used by an attacker to communicate remotely with the portable device to send it peripheral activation commands. The remote control component can then activate peripherals via the peripheral access module without the user's or general-purpose operating system's knowledge or authorization. All other network traffic may be passed through as normal and expected to the general-purpose operating system.Type: GrantFiled: June 16, 2014Date of Patent: July 25, 2017Assignee: Green Hills Software, Inc.Inventors: Daniel O'Dowd, David Kleidermacher, Thomas Cantrell, Dennis Kou, Daniel Hettena
-
Patent number: 9503898Abstract: Certain embodiments disclose an integrated dual-device architecture for marrying modern computing devices (e.g. laptops, smartphones and tablets) with standalone tactical radios (e.g. military or first-responder push-to-talk radios) with the goal of leveraging modern mobile devices for improved interfaces and usability (compared to a tactical radio) while reducing the footprint (size, weight, battery power/capacity, and cost) of the tactical radio. Certain embodiments encompass offloading various traditional radio workloads (e.g. voice processing, control/management processing, and cryptographic processing) from the radio onto the mobile device, dramatically simplifying the tactical radio design and cost (e.g. making the radio a “dumb” transceiver only), and physically conjoining the mobile device with the reduced tactical radio into a single, conveniently operated and transported system.Type: GrantFiled: June 16, 2014Date of Patent: November 22, 2016Assignee: Green Hills Software, Inc.Inventor: David Noah Kleidermacher
-
Patent number: 9342437Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.Type: GrantFiled: June 13, 2014Date of Patent: May 17, 2016Assignee: GREEN HILLS SOFTWARE, INC.Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
-
Publication number: 20160034316Abstract: Methods and systems for scheduling applications on a multi-core processor are disclosed, which may be based on association of processor cores, application execution environments, and authorizations that permits efficient and practical means to utilize the simultaneous execution capabilities provided by multi-core processors. The algorithm may support definition and scheduling of variable associations between cores and applications (i.e., multiple associations can be defined so that the cores an application is scheduled on can vary over time as well as what other applications are also assigned to the same cores as part of an association). The algorithm may include specification and control of scheduling activities, permitting preservation of some execution capabilities of a multi-core processor for future growth, and permitting further evaluation of application requirements against the allocated execution capabilities.Type: ApplicationFiled: October 12, 2015Publication date: February 4, 2016Applicant: GREEN HILLS SOFTWARE, INCInventors: Mark Anthony Griglock, Patrick John Huyck, Sidney Slay Ishee, James Anthony Gleason, Richard Andrew Erich, Mathew Lowell Aamold
-
Patent number: 9158592Abstract: Methods and systems for scheduling applications on a multi-core processor are disclosed, which may be based on association of processor cores, application execution environments, and authorizations that permits efficient and practical means to utilize the simultaneous execution capabilities provided by multi-core processors. The algorithm may support definition and scheduling of variable associations between cores and applications (i.e., multiple associations can be defined so that the cores an application is scheduled on can vary over time as well as what other applications are also assigned to the same cores as part of an association). The algorithm may include specification and control of scheduling activities, permitting preservation of some execution capabilities of a multi-core processor for future growth, and permitting further evaluation of application requirements against the allocated execution capabilities.Type: GrantFiled: May 2, 2012Date of Patent: October 13, 2015Assignee: GREEN HILLS SOFTWARE, INC.Inventors: Mark Anthony Griglock, Patrick John Huyck, Sidney Slay Ishee, James Anthony Gleason, Richard Andrew Erich, Mathew Lowell Aamold
-
Publication number: 20140325681Abstract: In certain embodiments, an information obfuscation service may be incorporated directly into the main applications processor of a portable computing device such that the applications processor and its relevant storage peripherals may be securely shared via a virtualization firmware module, avoiding the use of specialized hardware or major modifications of the operating system. The virtualizing and obfuscating storage firmware module may enable a much higher level of assurance in information-at-rest protection while using only the memory protection and privilege mode facilities inherent in common portable device applications microprocessors. The virtualizing and obfuscating storage firmware may interpose storage accesses originating from the operating system. This interposition may be performed seamlessly, without explicit knowledge of the operating system.Type: ApplicationFiled: March 11, 2014Publication date: October 30, 2014Applicant: Green Hills Software, Inc.Inventors: David Noah Kleidermacher, Daniel Jonathan Hettena, Frank John Banul, IV
-
Publication number: 20140281447Abstract: A virtualizing and obfuscating communications firmware module may be incorporated into common, mass-market portable computing devices, such as smartphones and tablets, to provide this service. The disclosure encompasses authentication and obfuscation software components that may comprise trusted firmware whose operation is protected from the main portable device operating system that is assumed to be hostile (e.g. infiltrated with malware or under the control of a remote attacker). In certain embodiments, a single-chip design is disclosed, without any specialized hardware: only the primary portable device applications microprocessor may be used by both the main operating system and the virtualizing and obfuscating communications firmware module. The operating system may operates as if it has access to a real communications peripheral, but in reality the virtualizing and obfuscating communications firmware module virtualizes this peripheral.Type: ApplicationFiled: March 12, 2014Publication date: September 18, 2014Applicant: Green Hills Software, Inc.Inventors: David Noah Kleidermacher, Daniel Jonathan Hettena, Dennis Chang Kou
-
Patent number: 8789023Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.Type: GrantFiled: March 7, 2012Date of Patent: July 22, 2014Assignee: Green Hills Software, Inc.Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
-
Patent number: 8584097Abstract: A method finds an error in a computer program. A sequence of machine instructions performed by a processor is recorded as trace data. Further, at least one event is selected from a plurality of events. In addition, an operating system instruction address is determined for the at least one event. Further, at least a portion of the trace data is searched for the operating system instruction address. The execution time for an operating system instruction stored in the operating system instruction address is determined. The execution time is searched through in the database to find task related data. The task related data is displayed.Type: GrantFiled: February 13, 2012Date of Patent: November 12, 2013Assignee: Green Hills Software, Inc.Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff