WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Database system for facilitating comparison of related information stored in a distributed resource    
United States Patent5475833   
Link to this pagehttp://www.wikipatents.com/5475833.html
Inventor(s)Dauerer; Norman J. (Hopewell Junction, NY); Kelley; Edward E. (Wappingers Falls, NY)
AbstractA database system and application for facilitating comparison of data between manufacturing lines or other business processes which are geographically separated or distributed includes a storage arrangement in which data from remote locations is shadowed and can be updated as necessary only from remote locations. The Intersite Line Comparison system (ILC) also controls the invoking of other applications in a manner which is transparent to the user and dynamically builds data comparisons in desired formats under user-friendly, menu-driven control. Automatic data conversion, including tables of equivalent groups of operations at different sites is provided to facilitate meaningful comparison of data from different sites.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5475833
Database system for facilitating comparison of related information

     stored in a distributed resource - US Patent 5475833 Drawing
Database system for facilitating comparison of related information stored in a distributed resource
Inventor     Dauerer; Norman J. (Hopewell Junction, NY); Kelley; Edward E. (Wappingers Falls, NY)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     December 12, 1995
Application Number     07/755,036
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 4, 1991
US Classification    
Int'l Classification    
Examiner     Black; Thomas G.
Assistant Examiner     Loomis; John C.
Attorney/Law Firm     Mortinger; Alison D. Whitham, Curtis, Whitham & McGinn
Address
Parent Case    
Priority Data    
USPTO Field of Search    
Patent Tags     database facilitating comparison related information stored distributed resource
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5136707
Block
707/201
Aug,1992

[0 after 0 votes]
4984272
McIlroy
726/17
Jan,1991

[0 after 0 votes]
4967348
Naito
707/200
Oct,1990

[0 after 0 votes]
4959774
Davis
714/6
Sep,1990

[0 after 0 votes]
4958273
Anderson
712/29
Sep,1990

[0 after 0 votes]
4951249
McClung
726/35
Aug,1990

[0 after 0 votes]
4891503
Jewell
235/380
Jan,1990

[0 after 0 votes]
4891785
Donohoo
709/217
Jan,1990

[0 after 0 votes]
4888681
Barnes
707/101
Dec,1989

[0 after 0 votes]
4851999
Moriyama
705/30
Jul,1989

[0 after 0 votes]
4827423
Beasley
700/96
May,1989

[0 after 0 votes]
4821175
Hikita
707/8
Apr,1989

[0 after 0 votes]
4817050
Komatsu
707/10
Mar,1989

[0 after 0 votes]
4791561
Huber
707/1
Dec,1988

[0 after 0 votes]
4714995
Materna
707/201
Dec,1987

[0 after 0 votes]
4713753
Boebert
711/164
Dec,1987

[0 after 0 votes]
4692858
Redford
715/744
Sep,1987

[0 after 0 votes]
4631664
Bachman
707/100
Dec,1986

[0 after 0 votes]
4621321
Boebert
707/8
Nov,1986

[0 after 0 votes]
4542477
Noyori
704/7
Sep,1985

[0 after 0 votes]
4443860
Vidalin
707/1
Apr,1984

[0 after 0 votes]
4104721
Markstein
711/164
Aug,1978

[0 after 0 votes]
4068300
Bachman
707/1
Jan,1978

[0 after 0 votes]
4053871
Vidalin
340/146.2
Oct,1977

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


Having thus described my invention, what I claim as new and desire to secure by Letters Patent is as follows:

1. 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 for storing data items, said method comprising the steps of

storing selected data items from said distributed resource in said local storage including updating said local storage when one of a plurality of predetermined files of said distributed resource is altered,

displaying a menu of predetermined data reporting options,

selecting a data reporting option from said menu,

invoking at least one of said applications in response to said selecting of said data reporting option and selecting ones of said data items from said local storage in response to said step of selecting a data reporting option,

selecting further data from said local storage in response to said selecting of data items from said local storage based on a concordance of said data items and said selected data items from said distributed resource, and

reporting said data and said further data in a predetermined format corresponding to said step of selecting a data reporting option from said menu.

2. A system for facilitating comparison of data from at least two data sources including

a node of a network receiving data from at least one of said data sources and a shadow of data from another of said at least two data sources including means for storing said data and said shadow of data,

means for displaying a menu of functions including at least one data reporting function and selecting a function therefrom,

means responsive to said selection from said menu of functions for invoking at least one application at said node, said application including means for reporting data from said means for storing said data and said shadow of data through said at least one application, and

means for selectively displaying said data reported through said at least one application.

3. A system as recited in claim 1, wherein said means for invoking said at least one application includes means for converting said data reported from said means for storing said data and said shadow of data from one data format to another data format.

4. A system as recited in claim 1, wherein said means responsive to said selection invokes a plurality of said applications at said node.

5. A system as recited in claim 1, further including means for updating data from said at least one of said data sources in said means for storing said data and said shadow of data.

6. A system as recited in claim 1, further including means for updating said shadow of data from said another of said at least two data sources.

7. A system as recited in claim 6, wherein said means for updating said shadow of data from said another of said at least two data sources includes means for transmitting data from said another data source to said node.

8. A system as recited in claim 7, wherein said means for transmitting said data to said node includes encryption means.

9. A system as recited in claim 1, wherein said means for displaying a menu of functions and selecting a function therefrom includes means for displaying another menu at another level of a hierarchy of functions.

10. A system as recited in claim 1, wherein said means for displaying a menu of functions and selecting a function therefrom includes means for specifying selection of at least said data and said shadow of data in a selectable order.

11. A system as recited in claim 10, further including means for selectively establishing a display format for said display of said data reported through said application.

12. A system as recited in claim 1, further including means for grouping data returned from said means for storing said data and said shadow of data into predetermined groups.

13. A system as recited in claim 12, wherein said means for grouping data includes a look-up table.
 Description Submit all comments and votes
 


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.