The present invention relates in general to data manipulation software for computers and specifically to a process for reducing the time necessary to process data through multiple analysis routines.
When analyzing a system involving a simulation or production operation, the normal procedure is to write multiple sets of data on various recording media. Analysis is then performed on the media or data sources separately. The multiple analysis routines have to be executed against the data in time order from the various sources. In addition, the multiple analysis routines have to be able to select which source was to be used depending on the type of analysis. The results of the separate analysis are then combined for the total analysis of the system. As the systems to be analyzed have become more and more complex, the tasks of combining the results has become more and more time consuming. Therefore, a need exists for an apparatus and method to provide a means for performing a complete analysis in a single execution process.
The invention which provides for the processing of multiple sources of data in a single execution process is an apparatus and method to synchronize the data to be analyzed by multiple analysis routines through a control program that is given the criteria for each of the analysis routines and then reads data from each source meeting the criteria, converting the data from each source to a common format, controlling the analysis routines for each source for time synchronization of the data from the multiple sources and executing each analysis routine in time order. Specifically the following subroutines are used: (1) a routine to read and process a set of controls to describe data by time and type for each analysis routine; (2) a routine to read and process a set of controls to describe the sources of input; (3) a routine for reading data from each of the sources of input a record at a time, deciding whether the time and type for the record is requested for the current analysis, and if not, reading another record or, if so, setting up to process and return the current time and type of record for the source in a common format; and (4) a routine to decide which time from the current record for each source is the earliest and then execute the appropriate analysis by type of data requested for that source record by calling the appropriate analysis routine.
For purposes of this application, a network computer is any computer, coupled to a ID network, which receives a program or other application from another computer coupled to the network. In the depicted example, server 104 provides Web based applications to clients 108, 110, and 112. Clients 108, 110, and 112 are clients to server 104. Distributed data processing system 100 may include additional servers, clients, and other devices not shown. In the depicted example, distributed data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. Distributed data processing system 100 may also be implemented as a number of different types of networks, such as, an intranet, a local area network (LAN), or a wide area network (WAN).
Referring to
With reference now to
Those of ordinary skill in the art will appreciate that the hardware in
A source description is read (416). The source description provides SP 400 with the information to determine which analysis routine will be used to process the source. Each source of data must have a read routine supplied that is tied to the format of that source. There may be several sources of the same type to be processed for a given analysis. Next, processing of the source is initialized (418). The source is initialized by reading records until the first time value is reached as specified by the data requests. The type of data is also checked to ensure that it is of a type being requested for the analysis. Therefore, the source is positioned at the first usable record.
A determination is made as to whether or not all source descriptions have been processed (420). If all source descriptions have not been processed, then SP 400 goes to step 416 to read the next source description. Next, data from the source with the earliest time value is processed (422). The source with the earliest time value is processed by placing the requested data in a common format for use by an analysis function. The common format is key to being able to provide source data to analysis function(s). By using a set format that is a single parameter containing all of the data requested at a time value each analysis function is able to be written to easily interface with the data. In addition, the common format contains the time of the data and the specific type of data found. Therefore, the analysis function can decypher the data and proceed with the analysis.
Next, analysis routines that requested the data are executed (424). The next record(s) of the source just used is read until another record is found that meets the time intervals and type of the various requests. The record is added to the time ordered list for processing (426). A determination is made as to whether or not there is more data (428). The determination as to whether or not there is more data is made by determining if the source is complete and whether or not there are more records from that source to be processed. If not, then SP 400 goes to step 422. If the source is complete, the source is closed and the source is removed from the time list for processing (430). Next, a determination is made as to whether all sources are complete (432). If not, SP 400 goes to step 422. If all sources are complete, then SP 400 goes to step 434 and a summary of the results of the processing is printed. After step 434 is completed, the process ends (440).
It will be understood from the foregoing that various modifications and changes may be made in the preferred embodiment of the present invention by those skilled in the art without departing from its true spirit. It is intended that this description is for purposes of illustration only and should not be construed in a limiting sense. The scope of the invention should be limited only by the language of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5488718 | Tanaka et al. | Jan 1996 | A |
5920285 | Benjamin | Jul 1999 | A |
6111710 | Feyh et al. | Aug 2000 | A |
6205419 | Fiedler | Mar 2001 | B1 |
6292803 | Richardson et al. | Sep 2001 | B1 |
6415270 | Rackson et al. | Jul 2002 | B1 |
6671701 | Chouinard | Dec 2003 | B1 |
6847983 | Somalwar et al. | Jan 2005 | B2 |
7269516 | Brunner et al. | Sep 2007 | B2 |
7580798 | Brunner et al. | Aug 2009 | B2 |
7882135 | Brunner et al. | Feb 2011 | B2 |
20020165817 | Rackson et al. | Nov 2002 | A1 |
20040054542 | Foote et al. | Mar 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20030229663 A1 | Dec 2003 | US |