|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to data processing systems and, more particularly, to systems for utilizing data from a plurality of data stores in a distributed data base.
2. Description of the Prior Art
Since the development of stored-program, general purpose digital computers and the development of complex programs for processing large amounts of data and management of large databases, a general goal of the function of such machines has been to
increase the availability of information to a user in a manner in which the operation of the machine to obtain the desired data does not detract from the assimilation of the data by the operator. The achievement of this goal has been complicated by the
many programs which have been developed to efficiently capture, store, retrieve and process particular types of data. For instance, alpha-numeric data is typically handled on a character-by-character basis since a code of limited length is sufficient to
specify virtually any character in use in the language of any culture. In contrast, graphic or pictorial data must be captured, stored, retrieved and processed in a manner which will allow reproduction at a high degree of resolution, thus requiring much
more data to correspond to the space which might be otherwise occupied by an alphanumeric character. Further, even rudimentary operations on graphic data, such as positioning of an image is largely incompatible with the existence of text syntax and
predetermined character positions within a document or in a screen image.
Even alphanumeric data, alone, can present formidable problems of form and context when it must be operated upon efficiently by different applications (e.g. programs). For instance, a word processor will generally articulate data in text strings
whereas database programs will provide for capture, storage and retrieval of data based on screens containing fields which are used to categorize data and thus avoid storage of a repeated set of identifiers with the data. Spreadsheets require yet a
different format for efficient data storage and processing.
The above types of differences and others, which are necessary to the efficient operation of particular applications limit the efficiency with which data can be shared between those applications. While some conversion programs exist, they are
time-consuming and, for that reason, are seldom invoked automatically other than for conversion of text files to the format required for a particular, running, word processor program where the need for such conversion can be assumed upon the command for
retrieval of the file.
Consider now, the problem presented by the use of computers to present and manage the large amount of data necessary to monitor a complex operation such as the operation of a manufacturing assembly line. Cost, price and profit projections will
typically be handled by a spreadsheet type of program. Design information will be handled by text and graphics applications. Correspondence and documentation will be handled in text files. Procurement data and invoices may be handled as both text
files and database screens. Testing, quality control, production and similar types of reports may involve all of the above types of data. It can be readily understood that even with existing forms of machine managers, where a plurality of applications
can be more easily invoked from menus and so-called window programs which facilitate multi-processing (e.g. simultaneous running of a plurality of programs between which the user can switch), the necessary data for the efficient management of a
manufacturing assembly line or the like is not optimally available. Neither can all possible desired combinations of data be made simultaneously available to a user from different applications, each of which is specific to the reporting of only some of
the desired data, without large amounts of processing time for data conversion.
In recent years, both economic and political considerations have led to a trend among manufacturers to produce similar or identical products at different, widely separated locations. Such a plurality of manufacturing lines must be optimally
managed, just as single manufacturing lines must be, but with the additional requirement that the resulting products must be absolutely uniform (including quality standards) completely interchangeable and produced at approximately the same cost. In cost
considerations, materials procurement, labor costs and availability, distribution costs and design must be continually compared between sites in order to maximize the efficiency of the combination of manufacturing lines and overall cost-effectiveness of
the manufacturing effort for the company.
In the past, such communications have been done in forms which increase the number of types of data which must be assimilated by the data processor. In addition to the types of computer database information which could be exchanged
electronically and which still results in difficulties of processing and communication to the computer user, the exchange of design and manufacturing data between sites was often done in hard copy form, possibly enhanced by facsimile transmission and
image data capture technology. Nevertheless, particularly in matters of automated testing, data was often reduced to hard copy form, transmitted by facsimile, courier or mail and then locally entered on a local database. At least in part, this manual
data entry constituted a form of data conversion to enable the more rapid accessing of the data by the different applications which were called upon to process the same. However, such forms of data transmission and recapture in machine usable form
caused irregular delays and made them subject to human error. Aside from introducing a reliability factor into the data which might result in inconsistent evaluations of the same initial information, irregular delays are particularly deleterious to
efficient management of a plurality of manufacturing lines since current data, derived locally, might be compared with obsolete data from another location, leading to incorrect management decisions.
In addition to the above-noted difficulties presented by different types of data which must be pulled together and coordinated to allow a meaningful comparison between manufacturing lines or other business endeavors, it must be realized that it
is unlikely that two manufacturing lines, even if arranged to produce identical products, will be identical and exhibit a one-to-one correspondence between operations. Therefore, in addition to amassing data reflecting the operation of the manufacturing
lines, the manager at each site must continually determine the portions of the lines which are sufficiently equivalent to allow comparison and what adjustments in data may be necessary for a meaningful comparison to be made. Thus, in the past, such
equivalency determinations were subject to human judgement and might be inconsistent between sites.
Further, it is difficult to accomplish the timely transmittal of necessary information consistent with the maintaining of the desired degree of security since either transcription of data and electronic transmission of data may require particular
measures to be taken in regard to such data transmittal. For instance, scrambling or encryption may De necessary for electronic transmission, depending on the degree of security required. By the same token, the use of couriers and personnel with
special clearances for data transcription may result in additional delays.
It should be understood that while these considerations and the problems which can result are particularly acute in manufacturing processes, the same considerations and problems exist in many fields of endeavor, such as in architecture,
insurance, banking, transportation and the like which are subject to both economic and geographical influences. Therefore, although the invention will be described in terms of geographically distributed manufacturing lines, the applicability of the
invention is not so limited and should be considered applicable to any other geographically distributed business endeavor.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to provide access to information used in the management of manufacturing lines or other business endeavors no matter how widely separated geographically.
It is another object of the invention to provide for comparison in real time of data from all sites of a business endeavor at any single site thereof and to accommodate different forms of transmission and different levels of access to maintain
system security and integrity.
It is a further object of the invention to provide for comparison of data between sites and from the selective point of view of any site based on a uniform concordance of equivalent data, regardless of the identity of individual operations at any
site.
It is yet another object of the invention to provide for the automatic and user-transparent access to data in a plurality of applications and in a plurality of forms and formats for presentation in a user-definable format for rapid assimilation
thereof.
In order to satisfy the above and other objects of the invention, a system is provided for comparing data from at least two data sources including a node of a network receiving data from at least one data source and a shadow of data from another
data source, means for displaying a menu of functions and selecting a function therefrom, means responsive a selection from the menu for invoking at least one application at the node and reporting data through the application, and selectively displaying
the data reported.
In accordance with another aspect of the invention, a method of data retrieval is provided including the steps of storing a concordance of equivalent data items included in data from at least a first source and a second source, retrieving
selected data items corresponding to said first source from a memory, and retrieving equivalent data items corresponding to said selected data items from said second source from said memory in response to said concordance.
In accordance with a further aspect of the invention, a method of data retrieval is provided in a system, including the steps of comparing a list of data items and a conversion table to detect predetermined types of differences between the list
of data items and the conversion table, and listing data items detected by the comparing step.
In accordance with a yet further aspect of the invention, a method of data retrieval from a virtual machine system including a distributed resource, said virtual machine system having a plurality of nodes, each said node including a plurality of
applications and local storage is provided comprising the steps of storing selected data items from the distributed resource in local storage including updating the local storage when one of a plurality of predetermined files of the distributed resource
is altered, displaying a menu of predetermined data reporting options, selecting a data reporting option from said menu, invoking at least one application in response to selection of a data reporting option and selecting data from the local storage in
response to selection of a data reporting option, selecting further data from local storage in response to the selection of data from said local storage under control of a concordance of data items, and reporting the data and the further data in a
predetermined format corresponding to selection of a data reporting option from the menu.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
FIG. 1 is a schematic diagram of the intersite line comparison system (ILC) according to the present invention in combination with an existing virtual machine (VM) system,
FIG. 2 is a schematic diagram of the database of the ILC system according to the present invention,
FIGS. 3a, 3b, 3c, 3d, 3e, 3f, 3g, 3h, 3i, 3j and 3k, together, form a flow chart illustrative of the operation of the present invention,
FIGS. 4 and 5 are screens illustrating the main menu of a preferred form of the invention,
FIG. 6 is a data comparison format menu according to the invention,
FIGS. 7 and 8 are two exemplary screens which may be reached from the menu of FIG. 6,
FIGS. 9, 10, 10a, 11, 12 and 12a are further exemplary screens useful in understanding the operation of the invention, and
FIGS. 13, 14, 15, 16, 17, 18, 19 and 20 are alternative screens which are exemplary of other screens which may be used at particular locations of the ILC system.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION
Referring now to the drawings, and more particularly to FIG. 1, there is shown, in schematic form, the architecture of the present invention in relation to an existing system. The invention is preferably implemented in connection with a virtual
machine (VM) system including a network as generally indicated by a distributed resource. This distributed resource typically comprises storage which is distributed through a plurality of nodes of the system. In a manner well-understood in the art,
each node can send all or a portion of the storage at that node to another node where a shadow of that data can be held for rapid access. The shadow data can be updated as desired under control of either the owner node or the node where the shadow
exists. Therefore, the VM system can make each user terminal appear to contain the entire contents of the distributed resource.
In existing virtual machine systems, the user may invoke any one of a plurality of applications, as desired, which may be available locally or imported over the network. As illustrated, these applications may include but are not limited to such
applications as
VMSERVE--service machine
VMSERVEX--service machine
SCANFILE--used for searches
XEDIT--screen manager and macros
REXX--a programming language used in the invention
IOS3270--an input/output program
NEATWIND--a screen manager for producing windows
GDDM--used for graphics
GDDMREXX--a graphics interface for REXX
EZIMAGE--an image presentation controller
FCOMPARE--a comparison program
TOOLSRUN--service machine for updating ILC databases
TOOLCARE--used for synchronization of databases.
In a VM system, any one or more of these applications may be manually or automatically invoked by a user and, when invoked, interact with the distributed resource as shown by dotted lines in FIG. 1. A menu could be used for this purpose within
the level of ordinary skill in the art.
The Intersite Line Comparison (ILC) system 10, according to the invention, also uses menus but, in contrast to the prior art, uses menus to select particular predetermined functions which may, in turn, automatically invoke one or more of the
noted applications, or other applications which may be provided or available, and thus interact with them to provide enhancements thereof and cause them to automatically act in combination in some selected instances. Therefore, the ILC system, according
to the invention operates much in the fashion of a separate program but operation is greatly simplified and improved in performance for the purpose of data comparison by the ability to utilize existing applications which are effectively contained within
the ILC. By automatically invoking one or more applications and interaction with these applications, which, in turn, interact with the distributed resource, the ILC can retrieve data in many predetermined and useful forms from a combination of the
applications available. The ILC system can thus provide ready access to data in a much simplified and user-friendly manner.
More specifically, according to a preferred form of the invention, the following functions are supported:
1.) Selecting any two sites from a list of sites and making a comparison of the process flows of each site. A process flow consists of a sequential list of operations and sectors. An operation is a manufacturing step used to produce a product
and a sector is a grouping of logically related operations. The process flow comparison can compare identical operations in each process flow. The process flow comparison can also compare groups of sectors and operations from each process flow that
accomplish the same objective. The number of sectors and operations from one process flow need not be the same as the number of sectors and operations of any other process flow. The sectors and operations between process flows need not be the same as
or otherwise identified with the sectors and operations of any other process flow in any rigid or explicit manner.
2.) Selecting any two sites from a list of sites and making a comparison by individual sector or a dynamically defined group of sectors to provide a comparison of substantially like items lined up side-by-side.
3.) Selecting any two sites from a list of sites and making a detailed side-by-side comparison of values from the two sites for a particular list of items that describe an operation.
4.) Selecting any two sites from a list of sites and making a dynamic comparison of a predetermined, logically defined group of sectors with values of like items in a predefined format.
5.) Selecting any two sites from a list of sites and making a comparison of only values for operations in which a problem has been detected or otherwise indicated, based upon variance of operations or sectors between sites. Characterizations of
problems as open or resolved, major or minor and previously or newly detected or indicated can be discriminated.
6.) Comparisons can be made between historical data and may be for a single site at two points in time or any point in time when a change has occurred or a two site comparison taken at one or two points in time. Most unchanged data is suppressed
to more clearly indicate changed data. Some unchanged data is displayed to provide a reference to the user.
7.) More general comparisons can be made between any of a plurality of sites where the data does not have like items or keys by specifying a category of data and altering the site selection to sequentially display values for each site even when
there is no correlation between operations or sectors at certain sites, such as for production yield data for differing products.
Considering FIG. 1 in greater detail, a user at a terminal 12 at a node 10 of the VM system can invoke any desired application in the usual manner, as indicated by the dashed lines 14 of FIG. 1, or can invoke ILC directly, as indicated by solid
lines 16, assuming appropriate access is granted. The preferred system of granting access to particular users is disclosed in detail in U.S. Pat. application Ser. No. 07/754,923, (IBM Docket No. F19-91-044) entitled FRONT END FOR FILE ACCESS CONTROL
SYSTEM, filed concurrently herewith by the inventor named herein, and which is hereby fully incorporated by reference. The ILC responds with a plurality of menus, which can be simply produced as text screens (and which can be suitably limited in content
to correspond to the access authorized to the user) from which the user can select a menu entry corresponding to the desired data and data presentation. The menu is preferably implemented in a selection hierarchy and the text screens will preferably
contain instruction prompts as well as allowing resort to help screens.
A selection from an ILC menu will either call a further menu screen from a selection hierarchy or tree of such screens, as will be explained in greater detail below, or cause direct invocation of one or more of the applications, such as 18, 18',
available on the system. The invocation of applications from the menu to provide enhancements of the applications, according to the invention, as well as the implementation of the menus may perhaps be best understood by detailing how such invocation of
programs would be done according to a simple operating system such as DOS. In the text screen, each menu selection is provided with a unique number, although the same selection could be contained in a plurality of menu text screens. Each such unique
number can then be used as the name of a batch file which will automatically execute upon the entry of the number. Cursor selection of a menu item can be done by using a cursor location input to look up a corresponding number from a look-up table. As
is well-understood, the batch file thus called can be as simple or complex as desired to provide the desired function and can sequentially call a plurality of applications, call appropriate data conversion routine, provide for temporary storage of data
in a file independent of the application so that it can be used by a subsequently invoked application or the ILC system, repeat the process, calling one or more other applications, format the data returned for communication to the user, and so forth, as
desired, to correspond to any menu selection provided on the ILC system.
If desired, or appropriate, each of these "batch files" can be programmed in a manner which will be evident to those skilled in the art, in view of this disclosure, to provide for sequential execution of a plurality or sequence of menu
selections. This would be done, for instance, where options would be provided for data presentation. In DOS, for example, it would be implemented by providing for display of a second text screen and PAUSE command at an appropriate point in a first
"batch file" in order to allow calling of a second (or subsequent) "batch file" which would then return to the first batch file after execution. Such options can also be implemented in a hierarchical or nested manner.
It should be understood that the actual programming, while explained above in a simplified form for purposes of clarity, will depend upon the particular operating system used, such as UNIX.TM., AIX.TM., etc. and will be evident to those skilled
in the art in view of the above description. It may also be helpful to conceptualize the menu selections as so-called "macro" subroutines which will dynamically build the data collection and screen presentation for the particular data comparisons
desired. It should also be evident from the above description that the ILC system, by providing selective processing with one or more of the applications 18, 18' available on the system as well as additional processing as desired, including data
conversion and screen formatting, provides a user-friendly, menu-driven system for access to virtually any combination of data available from the shared resource whether it is in the form of text, database screens, line drawings (e.g. CAD), graphics or
pictorial data. This data is made available on-line by the ILC system and virtually immediate response is provided to the user as will now be explained.
| | |