A method, system and graphical user interface for configuring a simulator. A graphical user interface may be used to define a configurable device profile, where a large number of devices for simulation by a simulator may be created based upon the configurable device profile. Once created, the devices may be individually configured and/or configured in groups. Additionally, the configuration of the devices may determine how the simulator generates and/or outputs simulated device data for the devices. For example, an attribute may be associated with a device which defines a format of the simulated device data, a rate at which the simulated device data is output, a range of values for the simulated device data, or an operating parameter of the device. An attribute specifying the communicative coupling of the devices may also be defined. Further, the simulated device data may include a data value.
|
1. A method of configuring a simulator, said method comprising:
generating a graphical user interface for display on a computer system, wherein said graphical user interface is operable to generate, based on a user interaction with said graphical user interface, configuration data operable to define a plurality of simulated devices for instantiation by said simulator for analyzing a performance of a system under test, said graphical user interface comprising an on-screen display operable to allow a user to define a customized attribute for at least one simulated device of said plurality of simulated devices, wherein said customized attribute is unique to said at least one simulated device;
generating said configuration data for said plurality of simulated devices;
storing said configuration data in a first database comprised in said simulator, and a second database comprised in a device abstraction layer, the device abstraction layer being included in said system under test and logically disposed between said plurality of simulated devices and a plurality of applications, said abstraction layer further comprising a device configuration management component and a device monitoring component;
configuring, via the device configuration management component, said device abstraction layer based on said configuration data stored in said second database to implement communication between said simulator and the device monitoring component operable to process received simulated output data from said plurality of simulated devices;
automatically instantiating said plurality of simulated devices by said simulator;
communicating a request to said device abstraction layer for a plurality of commands associated with said plurality of simulated devices;
accessing said plurality of commands communicated from said device abstraction layer by said simulator; and
generating simulated device data based on an execution of said plurality of commands and said configuration data stored in said first database;
wherein said simulator is operable to generate said simulated device data for a subset of said plurality of simulated devices based on said configuration data,
wherein said simulated device data is operable to be used to analyze a performance of an additional component of the system under test coupled to receive said simulated device data, and
wherein analyzing the performance of the system under test includes analyzing performance of said device abstraction layer.
22. A system for configuring a simulator, the system comprising:
a graphical user interface configured to receive user interaction and to generate a configuration data operable to define a plurality of simulated devices based on the received user interaction, said graphical user interface comprising an on-screen display operable to allow a user to define a customized attribute for at least one simulated device of said plurality of simulated devices, wherein said customized attribute is unique to said at least one simulated device and said graphical user interface further configured to generate said configuration data for said plurality of simulated devices, said graphical user interface displayed on a screen;
a simulator for analyzing a performance of a system under test, said simulator executed on one or more processors, the simulator comprising:
a first database for storing the configuration data;
a simulation engine configured to instantiate the plurality of simulated devices based on the configuration data and to generate simulated device data in the plurality of simulated devices;
a plurality of applications configured to receive the simulated device data; and
a device abstraction component included in said system under test and logically disposed between the plurality of applications and the simulator and configured, via a device configuration management component, to implement communication between the simulator and a device monitoring component operable to process received simulated output data from said plurality of simulated devices an based on the configuration data, the device abstraction component comprising a second database configured to store the configuration data from the first database, said abstraction layer further comprising a device configuration management component and a device monitoring component;
wherein the device abstraction component is configured based on the configuration data stored in the second database,
wherein the simulator is operable to generate the simulated device data for a subset of plurality of simulated devices in the plurality of device environments based on the configuration data, and
wherein the simulated device data is operable to be used to analyze a performance of an additional component of the system under test coupled to receive said simulated device data, and wherein analyzing the performance of the system under test includes analyzing performance of said device abstraction layer;
the screen and the one or more processors.
15. A computer system comprising a processor coupled to a bus and a memory coupled to said bus, wherein said memory comprises instructions that when executed implement a method of configuring a simulator, said method comprising:
generating a graphical user interface for display on a computer system, wherein said graphical user interface is operable to generate, based on user interaction with said graphical user interface, configuration data operable to define a plurality of simulated devices for instantiation by said simulator for analyzing a performance of a system under test, said graphical user interface comprising an on-screen display operable to allow a user to define a customized attribute for at least one simulated device of said plurality of simulated devices, wherein said customized attribute is unique to said at least one simulated device;
generating said configuration data for said plurality of simulated devices;
storing said configuration data in a first database comprised in said simulator, and a second database comprised in a device abstraction layer, the device abstraction layer being included in said system under test and logically disposed between said plurality of simulated devices and a plurality of applications, said abstraction layer further comprising a device configuration management component and a device monitoring component;
configuring, via the device configuration management component, said device abstraction layer to implement communication between said simulator and the device monitoring component operable to process received simulated output data from said plurality of simulated devices an based on said configuration data as stored in said second database;
automatically instantiating the plurality of simulated devices by said simulator;
communicating a request to said device abstraction layer for a plurality of commands associated with said plurality of simulated devices;
accessing said plurality of commands communicated from said device abstraction layer by said simulator; and
generating simulated device data based on an execution of said plurality of commands and said configuration data stored in said first database;
wherein said simulator is operable to generate said simulated device data for said subset of plurality of simulated devices based on said configuration data,
wherein said simulated device data is operable to be used to analyze a performance of an additional component of the system under test coupled to receive said simulated device data, and
wherein analyzing the performance of the system under test includes analyzing performance of said device abstraction layer.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of claim of
14. The method of
define a quantity of said plurality of simulated devices for instantiation by said simulator; and
designate a subset of said plurality of simulated devices in a said plurality of device environments for simulation.
16. The computer system of
automatically instantiating said plurality of simulated devices in a memory accessible by said simulator.
17. The computer system of
18. The computer system of
19. The computer system of
20. The computer system of
21. The computer system of
23. The system of
24. The system of
25. The system of
26. The system of
|
The present application is related to U.S. patent application Ser. No. 12/212,555, filed Sep. 17, 2008, entitled “METHOD AND SYSTEM FOR SIMULATING A PLURALITY OF DEVICES,” naming Michael Biltz, Jonathan Hsu, Sean Stauth, and Graeme MacDonald as inventors, assigned to the assignee of the present invention. That application is incorporated herein by reference in its entirety and for all purposes.
Simulation is often used to monitor, debug or otherwise analyze a system or device. For example, a component designed to access an analog signal output by a sensor may be tested using a sensor simulator. The sensor simulator may be coupled to the component or device under test, where a simulated signal voltage may be accessed by the device under test for analysis thereof.
One type of conventional sensor simulator that is commercially available provides for single-sensor simulation. In other words, the software and/or hardware only provides a simulated output for a single sensor, and therefore, is not scalable. Additionally, conventional sensor simulators simulate the signal characteristics of a signal output by a sensor, e.g., a voltage level, etc. Therefore, conventional sensor simulators do not provide for good simulation of a sensor designed to output digital data in packetized formats.
Although systems with few devices may be analyzed using conventional simulators, conventional simulators are not suitable for analyzing systems with a large number of devices. For example, systems for monitoring or tracking data from automobiles, other vehicles, manufacturing sensors, or the like, often involve thousands or even millions of devices.
Accordingly, many instances of a conventional, single-device simulator would have to be individually created and configured to enable simulation of the numerous devices, thereby providing a costly and inefficient solution. Additionally, even if such a solution were implemented, the large amount of information output by the individual simulators would require extensive and costly processing resources. Moreover, given that conventional simulators output a simulated signal voltage which must be converted or otherwise processed to produce usable data, the amount of processing resources is further increased and the existing problems are exacerbated.
Accordingly, a need exists for a simulator which enables a user to more easily and efficiently define a large number of devices for simulation. A need also exists for a simulator which enables a user to more easily and efficiently configure the defined devices, ether individually or in groups. Further, a need exists for such a simulator which generates simulated device data that is easier and less costly to process. Embodiments of the present invention provide novel solutions to these needs and others as described below.
Embodiments of the present invention are directed to a method, system and graphical user interface for configuring a simulator. More specifically, a graphical user interface may be used to define a configurable device profile, where a large number of devices for simulation by a simulator may be created based upon the configurable device profile. Once created, the devices may be individually configured and/or configured in groups. Additionally, the configuration of the devices (e.g., defined by one or more attributes specified in the device profile configuration and/or device configuration) may determine how the simulator generates and/or outputs simulated device data for the devices. For example, an attribute may be associated with a device which defines a format of the simulated device data, a rate at which the simulated device data is output, a range of values for the simulated device data, or an operating parameter of the device. An attribute specifying the communicative coupling of the devices (e.g., a relationship of one device with respect to other coupled devices) may also be defined. Further, the simulated device data may include a data value (e.g., as opposed to a simulated voltage level) in one embodiment.
In one embodiment, a method of configuring a simulator includes generating a graphical user interface for display on a computer system, the graphical user interface for enabling a user to define at least one attribute associated with a device profile, the graphical user interface further for enabling a user to define a plurality of devices for instantiation by the simulator based on the device profile, the graphical user interface further for enabling a user to define a quantity of the plurality of devices for instantiation by the simulator, wherein the plurality of devices are associated with the at least one attribute. Configuration data for configuring the simulator is generated based upon user interaction with the graphical user interface. The configuration data is stored for access by the simulator during a simulation of the plurality of devices, wherein the simulator is operable to generate simulated device data for the plurality of devices in accordance with the configuration data, and wherein the simulated device data is for use in analyzing performance of a component coupled to receive the simulated device data. The at least one attribute may be selected from a group consisting of a format of the simulated device data, a rate at which the simulated device data is output by the simulator, a range of values for the simulated device data, and an operating parameter of at least one of the plurality of devices for inclusion in the simulated device data.
In another embodiment, an on-screen graphical user interface for configuring a simulator includes a first display region for enabling a user to define at least one attribute associated with a device profile. The graphical user interface also includes a second display region for enabling a user to define a plurality of devices for instantiation by the simulator based on the device profile, wherein the second display region is further for enabling a user to define a quantity of the plurality of devices for instantiation by the simulator, wherein the plurality of devices are associated with the at least one attribute. Configuration data generated based upon user interaction with the first and second display regions are for configuring the simulator to simulate the plurality of devices, wherein the simulator is operable to generate simulated device data for the plurality of devices in accordance with the configuration data, and wherein the simulated device data is for use in analyzing a component coupled to the simulator. The graphical user interface may also include a third display region for enabling a user to define a customized attribute for at least one device of the plurality of devices, wherein the customized attribute is unique to the at least one device, and wherein the customized attribute is for generating the configuration data for the at least one device. A fourth display region may enable a user to define a communicative coupling of the plurality of devices, and wherein the communicative coupling of the plurality of devices is for generating the configuration data for the plurality of devices.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. While the present invention will be discussed in conjunction with the following embodiments, it will be understood that they are not intended to limit the present invention to these embodiments alone. On the contrary, the present invention is intended to cover alternatives, modifications, and equivalents which may be included with the spirit and scope of the present invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.
Notation and Nomenclature
Some regions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processing and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing the terms such as “aborting,” “accepting,” “accessing,” “adding,” “adjusting,” “analyzing,” “applying,” “assembling,” “assigning,” “balancing,” “blocking,” “calculating,” “capturing,” “combining,” “comparing,” “collecting,” “configuring,” “creating,” “debugging,” “defining,” “delivering,” “depicting,” “detecting,” “determining,” “displaying,” “establishing,” “executing,” “forwarding,” “flipping,” “generating,” “grouping,” “hiding,” “identifying,” “initiating,” “instantiating,” “interacting,” “modifying,” “monitoring,” “moving,” “outputting,” “performing,” “placing,” “presenting,” “processing,” “programming,” “querying,” “removing,” “repeating,” “resuming,” “sampling,” “simulating,” “sorting,” “storing,” “subtracting,” “suspending,” “tracking,” “transcoding,” “transforming,” “unblocking,” “using,” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Overview of the Simulation Platform
In one embodiment, system 100 may enable monitoring or tracking of data generated by devices 125a-125d. For example, devices 125a-125d may be sensors, embedded devices, portable electronic devices, or components (e.g., each within a different portion of a manufacturing line, an automobile, etc.) which measure parameters of device environment 120 (e.g., the manufacturing line, automobile, etc.). The devices (e.g., 125a-125d) may output device data based upon those measurements. The device data may be accessed and/or processed by business applications 130 (e.g., accessed via device abstraction layer 110) to enable tracking or monitoring of the device environment (e.g., 120) by a user (e.g., 140) and/or another system (e.g., ERP system 150, other system 160, etc.).
Although only four devices (e.g., 125a-125d) are shown within device environment 120 in
As shown more fully in
During simulation of the devices (e.g., 225a-225d), simulator 220 may output simulated device data for the devices (e.g., 225a-225d), where the simulated device data may represent a data value (e.g., a temperature in degrees Fahrenheit) instead of a signal voltage level (e.g., 1.25 volts) in one embodiment. The simulated device data may be accessed (e.g., via device abstraction layer 110) and/or processed similar to the device data output by devices 125a-125d as explained with respect to
It is appreciated that simulator 220 may be used to perform load testing or otherwise analyze the performance of a component of a system under test (e.g., components of device abstraction layer 110, components of business applications 130, etc.). The analysis may be based upon a result of the component's processing of the simulated device data (e.g., output by simulator 220 for devices 225a-225d). Additionally, such analysis may be advantageously performed without deploying actual hardware (e.g., devices 125a-125d) in one embodiment.
Step 410 involves configuring a simulator to simulate a plurality of devices. As shown in
In one embodiment, step 410 may involve a user defining a device profile (e.g., using GUI 370) with prescribed attributes that define a type or class of devices. The user may also advantageously define a number of devices (e.g., 225a-225d) to be automatically generated (e.g., using GUI 370) based upon the device profile. The devices may be configured individually and/or in groups. Additionally, the communicative coupling of the devices may be defined in step 410 in one embodiment. Further, device configuration data may be generated and/or stored in step 410 based upon the user interaction with the GUI (e.g., 370) for defining the device profile and/or devices (e.g., generated automatically based upon the device profile).
Step 420 of process 400 involves configuring a device abstraction layer (e.g., 110) to implement communication with the simulator (e.g., 220). For example, device configuration management component 312 of device management component 311 may download the configuration data (e.g., generated in step 410) from simulator 220 and store it in database 315 of device abstraction layer 110. Data may be accessed by component 312 via data access layer 314 in one embodiment. Component 312 may configure device abstraction layer 110 based upon the downloaded configuration data (e.g., stored in database 315) to enable communication with simulator 220. For example, component 312 may determine a format, size, etc. (e.g., from the configuration data) of the simulated device data output from simulator 220, thereby enabling device abstraction layer 110 to access, process, communicate, etc., the simulated device data.
As shown in
Step 435 involves initiating simulation of the plurality of instantiated devices (e.g., instantiated in step 430). In one embodiment, the simulation may be initiated in response to an interaction with a button or graphical object (e.g., 1080) of a GUI (e.g., 600 of
Step 440 involves communicating a request to a device abstraction layer for commands associated with the plurality of devices (e.g., 225a-225d). For example, notification client 326 of simulator 220 may communicate a request (e.g., 325) to notification management component 317 of device abstraction layer 110, where the request is for any commands associated with any of the simulated devices (e.g., 225a-225d).
As shown in
As shown in
Simulation in step 460 may only be performed for “enabled” devices in one embodiment. For example, only commands associated with enabled devices (e.g., enabled using button or region 1060 of GUI 600 as shown in
Step 470 involves generating simulated device data during simulation of the plurality of devices (e.g., 225a-225d). As discussed herein, simulator 220 (e.g., simulation engine 322) may generate the simulated device data in response to a command (e.g., 318) from device abstraction layer 110 (e.g., notification management component 317). The simulated device data may be generated in accordance with configuration data (e.g., accessed from database 324), and therefore, the simulated device data may have a format, type, size, arrangement, content, etc., defined by the configuration data.
As shown in
Step 490 involves analyzing the performance of the component based upon a result of the processing of the simulated device data by the component (e.g., of device abstraction layer 110, of business applications 130, etc.). In this manner, the component accessing and/or processing the simulated device data may be load tested to determine or improve processing efficiency of the component, perform debugging operations on the component, or the like. As another example, the number of simulated devices, the arrangement of simulated devices, the format or other characteristics of the simulated device data output by the simulated devices, etc., may be varied to further test the component.
As shown in
Turning to
Column 1530 contains simulated device data for each of the devices identified in columns 1510 and 1520. For example, where each of the devices are simulated temperature sensors, the data listed in column 1530 may be temperature readings (e.g., in degrees Fahrenheit, in degrees Celsius, etc.). Each row of column 1540 may include the date and time at which a respective data value of column 1530 was captured or generated. Additionally, each row of column 1550 may include a battery status of a simulated device (e.g., identified in a respective row of column 1510 and/or 1520). The battery status in column 1550 may be captured or generated at a time identified in a respective row of column 1540 in one embodiment.
The data listed in one or more of columns 1530-1550 may be used to determine if a device is working correctly in one embodiment. For example, where a data range is specified for a plurality of devices (e.g., using region 1160 of GUI 1100), then a data value reported by the simulator (e.g., 220) and listed in column 1530 may indicate a problem with a device reporting a value outside of that range. For example, where a range of 40-90 is specified (e.g., using region 1160), then the data values in rows 1570 and 1580 of column 1530 may indicate that two devices (e.g., “Device C” of row 1570 and “Device H” of row 1580) are not operating properly since they are not within the range of 40-90. Similarly, unexpected data values reported in columns 1540 and/or 1550 may also indicate a problem with a sensor. In this manner, embodiments enable the simulation of faulty or inoperable devices, thereby improving the accuracy and/or realism of the simulation. The data from the faulty or inoperable devices may also enable the analysis of components which access this data, for example, as discussed with respect to step 490 of
In one embodiment, the reliability of the simulated devices may be altered (e.g., by configuring one or more devices using a GUI such as GUI 370, GUI 600, GUI 700, GUI 900, GUI 1100, GUI 1300, etc.) to simulate real-world device failure. In this manner, the simulator (e.g., 220) may simulate one or more faulty or inoperable devices, and therefore, cause one or more devices to report bad data (e.g., outside a predetermined range as discussed herein, etc.). For example, if a device is configured to have a 95% reliability factor or rate, then the device may report good data 95% of the time and report bad data the other 5% of the time.
Although
Configuring the Simulator
As shown in
As shown in
Regions 740-770 may be used to define values for predetermined attributes. For example, region 740 may be used to define a profile data range. The profile data range may be an expected range associated with the simulated output data output by a simulator (e.g., 220) for a plurality of devices (e.g., 225a-225d). Additionally, the simulator (e.g., 220) may access the data range entered into region 740 and generate simulated device data for one or more simulated devices (e.g., 225a-225d) which falls within the range entered into region 740.
Region 750 may be used to define a frequency for generating or outputting simulated device data for the plurality of devices. For example, if a value of “2” is entered into region 750, then the simulator (e.g., 220) may output simulated device data for a simulated device (e.g., created based upon the device profile defined using GUI 700) every 2 minutes (e.g., where the unit of frequency associated with region 750 is minutes).
As shown in
Region 770 may be used to define a format for the simulated device data output for simulated devices (e.g., 220a-220d) created based upon a device profile defined using GUI 600. In one embodiment, the format may correspond to how the simulated device data for the plurality of devices (e.g., created based upon the device profile defined using GUI 700) is assembled. Additionally, a format defined using region 770 may include decimal, integer, string, hex, another format, etc.
Interaction with button or region 780 may initiate display of GUI 800 of
Turning back to
Step 520 involves displaying a GUI for creating devices (e.g., to be simulated) based upon the device profile (e.g., created using GUI 700, GUI 800, etc.). The one or more GUIs displayed in step 520 may be presented on a display device for interaction with a user, thereby enabling a user to create a device for simulation by a simulator (e.g., 220). Additionally, the GUI displayed in step 520 may be implemented in accordance with GUI 370 of
Region 940 may enable a user to specify a name or root identifier for one or more of the devices created based upon the selected device profile. Additionally, a description of the one or more devices may be entered in region 950.
Turning back to
Turning to
Region 1140 may be used to change or define a device name (e.g., similar to region 940 of
As shown in
Interaction with button or region 1192 may enable a user to define a custom attribute (e.g., similar to button or region 780 of
As shown in
Turning back to
Step 534 involves accessing grouping information defined for the devices. The grouping information accessed in step 534 may include information about a number of groups into which devices (e.g., those created using GUI 900) are organized, a name of each device grouping, a listing of specific devices in each group, and the like. It is appreciated that the simulator may respond to a command given to a device group. Additionally, the grouping information may include configuration information defined for a group (e.g., a data range applied to all devices of a group, etc.). Information about a communicative coupling of the devices may also be included in the grouping information. For example, information about how the devices are arranged with respect to one another and/or the arrangement of communication channels or paths coupling the devices may be included in the grouping information accessed in step 534. Further, in one embodiment, the grouping information may be accessed based upon interaction with GUI 600 as shown in
As shown in
Once a grouping of devices is created, information or attributes for each device within the grouping may be changed or defined (e.g., using a GUI for configuring a device grouping). For example, changing a data range of the simulated device data for the group of devices may change and/or override a data range entered for individual devices of the group.
Additionally, information about a communicative coupling of the devices may be defined using GUI 600 in one embodiment. For example, the simulator (e.g., 220) may be configured to generate and/or output simulated device data for a single device (e.g., “Device A”) even though the group of device comprise multiple devices (e.g., “Device A,” “Device B,” and “Device C”). As another example, the simulator (e.g., 220) may be configured to generate and/or output simulated device data for a group which represents an average of the respective simulated device data associated with each device of the group.
As shown in
Group object 1312 may be dragged and dropped in region 1320 to create device group (e.g., 1312a), where the device group may be a group of devices for simulation by a simulator. For example, group 1312a may include three devices as indicated by the number “3” within group 1312a. Further, the devices within a device group (e.g., 1312a) may be viewed by interacting with the device group (e.g., the graphical object representing device group 1312a), where
Turning back to
In one embodiment, objects may be placed and/or arranged in region 1320 by dragging and dropping objects from region 1310, by dragging and dropping objects to new locations within region 1320, or the like. Additionally, a communicative coupling may be defined using tools selected from region 1330, where the tools of region 1330 may include a line tool (e.g., for connecting or coupling one object to another, one object to a group of objects, a group of objects to another group of objects, etc.) and/or other tools. In this manner, devices 1311c and 1311 may each be connected or coupled to average component 1314, device group 1312a may be connected or coupled to hub component 1313b, or the like.
Accordingly, GUI 1300 may be used to define how simulated device data is accessed, collected, and communicated. For example, hub component 1313b may access and/or package simulated device data from device group 1312a (e.g., outputting simulated device data for each of the devices of device group 1312a) and average component 1314 (e.g., outputting simulated device data representing an average of the simulated device data from devices 1311c and 1311d). Hub component 1313c may access and/or package simulated device data from select component 1315 (e.g., outputting simulated device data from device 1311e, 1311f, or 1311g), device 1311a, device 1311b, and device group 1312b (e.g., outputting simulated device data for each of the devices of device group 1312b). Further, hub component 1313a may access and/or package simulated device data from hub components 1313b and 1313c. In this manner, embodiments enable a user to define an arrangement and/or communicative coupling of devices which may more accurately represent an arrangement of actual devices (e.g., corresponding to each of the simulated components) in a device environment (e.g., 120 of
Components defined using objects 1311-1315 may be configured using GUI 1300. For example, user interaction with an object representing the component to be configured may display a GUI (e.g., 1100 of
Turning back to
Step 550 involves storing the configuration data for access by the simulator (e.g., 220) and/or enabling simulation of the devices (e.g., 225a-225d). The configuration data may be stored in a memory (e.g., database 324) accessible to the simulator (e.g., 220). Step 550 may be performed in response to interaction with button or region 1080 of GUI 600 in one embodiment.
Computer System Platform
As shown in
In one embodiment, depicted by dashed lines 1630, computer system platform 1600 may comprise at least one processor 1610 and at least one memory 1620. Processor 1610 may comprise a central processing unit (CPU) or other type of processor. Depending on the configuration and/or type of computer system environment, memory 1620 may comprise volatile memory (e.g., RAM), non-volatile memory (e.g., ROM, flash memory, etc.), or some combination of the two. Additionally, memory 1620 may be removable, non-removable, etc.
In other embodiments, computer system platform 1600 may comprise additional storage (e.g., removable storage 1640, non-removable storage 1645, etc.). Removable storage 1640 and/or non-removable storage 1645 may comprise volatile memory, non-volatile memory, or any combination thereof. Additionally, removable storage 1640 and/or non-removable storage 1645 may comprise CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information for access by computer system platform 1600.
As shown in
Communication interface 1670 may also couple computer system platform 1600 to one or more input devices (e.g., a keyboard, mouse, pen, voice input device, touch input device, etc.). Additionally, communication interface 1670 may couple computer system platform 1600 to one or more output devices (e.g., a display, speaker, printer, etc.).
As shown in
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is, and is intended by the applicant to be, the invention is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Hence, no limitation, element, property, feature, advantage, or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Hsu, Jonathan, Biltz, Michael J., Stauth, Sean, MacDonald, Graeme D.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4008476, | Oct 03 1975 | The United States of America as represented by the Secretary of the Navy | Digital antenna pattern generator for radar simulation |
5388264, | Sep 13 1993 | Apple Inc | Object oriented framework system for routing, editing, and synchronizing MIDI multimedia information using graphically represented connection object |
5408638, | Dec 21 1990 | Hitachi, LTD | Method of generating partial differential equations for simulation, simulation method, and method of generating simulation programs |
5479355, | Sep 14 1993 | System and method for a closed loop operation of schematic designs with electrical hardware | |
5713075, | Feb 15 1996 | ATC Technologies, LLC | Network engineering/systems engineering system for mobile satellite communication system |
5722418, | Aug 30 1993 | Method for mediating social and behavioral processes in medicine and business through an interactive telecommunications guidance system | |
5819092, | Nov 08 1994 | Microsoft Technology Licensing, LLC | Online service development tool with fee setting capabilities |
5867494, | Nov 18 1996 | Verizon Patent and Licensing Inc | System, method and article of manufacture with integrated video conferencing billing in a communication system architecture |
5872810, | Jan 26 1996 | Agilent Technologies, Inc | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for said modem |
5901246, | Jun 06 1995 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
6078739, | Nov 25 1997 | ENTELOS HOLDING CORP | Method of managing objects and parameter values associated with the objects within a simulation model |
6163772, | Jun 17 1996 | Hewlett Packard Enterprise Development LP | Virtual point of sale processing using gateway-initiated messages |
6185409, | Nov 30 1995 | ATC Technologies, LLC | Network engineering/systems engineering system for mobile satellite communication system |
6212566, | Jan 26 1996 | IMEC | Interprocess communication protocol system modem |
6256773, | Aug 31 1999 | Accenture Global Services Limited | System, method and article of manufacture for configuration management in a development architecture framework |
6268853, | Sep 30 1999 | Rockwell Technologies, L.L.C. | Data structure for use in enterprise controls |
6289382, | Aug 31 1999 | Accenture Global Services Limited | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
6307877, | Oct 23 1995 | Keysight Technologies, Inc | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for the modem |
6317438, | Apr 14 1998 | System and method for providing peer-oriented control of telecommunications services | |
6324525, | Jun 17 1996 | Hewlett Packard Enterprise Development LP | Settlement of aggregated electronic transactions over a network |
6324647, | Aug 31 1999 | Accenture Global Services Limited | System, method and article of manufacture for security management in a development architecture framework |
6335927, | Nov 18 1996 | Verizon Patent and Licensing Inc | System and method for providing requested quality of service in a hybrid network |
6340977, | May 07 1999 | Knoa Corporation | System and method for dynamic assistance in software applications using behavior and host application models |
6345239, | Aug 31 1999 | Accenture Global Services Limited | Remote demonstration of business capabilities in an e-commerce environment |
6393341, | Dec 07 1998 | Elster Electricity, LLC | Architecture neutral device abstraction layer for interfacing devices and applications |
6400996, | Feb 01 1999 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Adaptive pattern recognition based control system and method |
6418424, | Dec 23 1991 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
6453420, | Apr 21 1999 | RESEARCH INVESTMENT NETWORK, INC | System, method and article of manufacture for authorizing the use of electronic content utilizing a laser-centric medium |
6597727, | Oct 04 1995 | Agilent Technologies, Inc | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for the modem |
6636721, | Nov 30 1995 | ATC Technologies, LLC | Network engineering/systems system for mobile satellite communication system |
6640145, | Feb 01 1999 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Media recording device with packet data interface |
6735630, | Oct 06 1999 | Intellectual Ventures I LLC | Method for collecting data using compact internetworked wireless integrated network sensors (WINS) |
6769130, | Jan 20 2000 | Rovi Technologies Corporation | System, method and article of manufacture for late synchronization during the execution of a multimedia event on a plurality of client computers |
6788688, | Apr 14 1998 | System and method for providing peer-oriented control of telecommunications services | |
6813777, | May 26 1998 | Rockwell Collins | Transaction dispatcher for a passenger entertainment system, method and article of manufacture |
7076411, | Jan 15 2002 | National Instruments Corporation | System and method for performing a hardware-in-the-loop simulation using a plurality of graphical programs that share a single graphical user interface |
7313511, | Aug 21 2002 | California Institute of Technology | Method and apparatus for computer simulation of flight test beds |
7467018, | Nov 18 2002 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Embedded database systems and methods in an industrial controller environment |
7562001, | Jul 29 2005 | INTELLECTUAL DISCOVERY, INC | Creating a behavioral model of a hardware device for use in a simulation environment |
20010049594, | |||
20020130834, | |||
20020136224, | |||
20030040897, | |||
20040078182, | |||
20040249482, | |||
20050147089, | |||
20050283756, | |||
20060112397, | |||
20060206866, | |||
20070006171, | |||
20070211079, | |||
20070255869, | |||
20070282576, | |||
20070288856, | |||
20080001713, | |||
20090319647, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 17 2008 | Accenture Global Services Limited | (assignment on the face of the patent) | / | |||
Sep 17 2008 | BILTZ, MICHAEL | Accenture Global Services GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021545 | /0920 | |
Sep 17 2008 | HSU, JONATHAN | Accenture Global Services GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021545 | /0920 | |
Sep 17 2008 | STAUTH, SEAN | Accenture Global Services GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021545 | /0920 | |
Sep 17 2008 | MACDONALD, GRAEME | Accenture Global Services GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021545 | /0920 | |
Sep 01 2010 | Accenture Global Services GmbH | Accenture Global Services Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025700 | /0287 |
Date | Maintenance Fee Events |
May 03 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 04 2022 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 18 2017 | 4 years fee payment window open |
May 18 2018 | 6 months grace period start (w surcharge) |
Nov 18 2018 | patent expiry (for year 4) |
Nov 18 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 18 2021 | 8 years fee payment window open |
May 18 2022 | 6 months grace period start (w surcharge) |
Nov 18 2022 | patent expiry (for year 8) |
Nov 18 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 18 2025 | 12 years fee payment window open |
May 18 2026 | 6 months grace period start (w surcharge) |
Nov 18 2026 | patent expiry (for year 12) |
Nov 18 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |