US20020023086A1 - System and method for providing signaling quality and integrity of data content - Google Patents
System and method for providing signaling quality and integrity of data content Download PDFInfo
- Publication number
- US20020023086A1 US20020023086A1 US09/894,789 US89478901A US2002023086A1 US 20020023086 A1 US20020023086 A1 US 20020023086A1 US 89478901 A US89478901 A US 89478901A US 2002023086 A1 US2002023086 A1 US 2002023086A1
- Authority
- US
- United States
- Prior art keywords
- data
- recited
- grade
- file
- quality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Definitions
- This invention relates to digital devices and more particularly to the management of data between digital devices.
- the present invention is a method and system for determining quality of content of data for a receiver of the data.
- the method comprising the following steps: assessing the content of the data using a criteria; assigning a grade as a function of the criteria, the grade indicative of the quality of the content of the data; and, linking the grade to the content of the data; wherein the receiver dynamically accesses the grade to determine subsequent use of the data without having to access the data.
- FIG. 1 is a stylized overview of interconnected computer system networks
- FIG. 2 is a block diagram of the method and system for communicating data inspecting, monitoring and analysis information
- FIG. 3 is a block diagram for the sending computer in FIG. 1;
- FIG. 4 is further detail of the submission request manager in FIG. 3;
- FIG. 5 is a detail of the system administrator to register a customer
- FIG. 6 is part of the customer process manager
- FIG. 7 is a block diagram for the customer process manager in FIG. 5;
- FIG. 8 is a block diagram of the customer reporting manager in FIG. 5;
- FIG. 9 is a block diagram of the customer coding manager in FIG. 5;
- FIG. 10 is a block diagram of the customer security manager in FIG. 5;
- FIG. 11 is a block diagram in the customer options manager in FIG. 5;
- FIG. 12 is a block diagram of the customer parameters manager in FIG. 5;
- FIG. 13 is a block diagram for part of the customer setup sessions manager
- FIG. 14 is the reference data is used to determine if valid values are present for a data element
- FIG. 15 is a block diagram that defines the submission of data where a prior submission request has been accepted
- FIG. 16 is a block diagram for the customer registration process
- FIG. 17 is a block diagram for a transaction service
- FIG. 18 a, b and c are a summary of the events
- FIG. 19 is a high-level block diagram of the data wall embodiment
- FIG. 20 is a high-level block diagram of the process inspector embodiment
- FIG. 21 is a high-level block diagram of the common inspection facility embodiment
- FIG. 22 is a high-level block diagram of the software unit inspector embodiment
- FIG. 23 a high-level block diagram of the data base inspector embodiment
- FIGS. 24, 25 and 26 are exemplary user screen displays.
- the present invention is particularly well suited for use with the Internet and shall be so described, the present invention is equally well suited for use in other network communication systems including but not limited to an Intranet, extranet, Interactive television (iTV) and similar interactive networked communication systems.
- iTV Interactive television
- the present invention is particularly well suited for implementation as an independent software systems and shall be so described, the present invention is equally well suited for implementation as a functional/library module, an applet, a plug in software application, as a device plug in, and in a microchip implementation.
- Each computer system network 102 contains a corresponding local computer processor unit 104 , which are coupled to a corresponding local data storage unit 106 , and local network users 108 .
- the local computer processor units 104 are selectively coupled to a plurality of users 110 through the Internet 114 .
- Each of the plurality of users 110 may have various devices connected to their local computer systems such as scanners, bar code readers, RFID detectors and other interface devices 112 .
- a user 110 locates and selects (such as by clicking with a mouse) a particular Web page, the content of which is located on the local data storage unit 106 of the computer system network 102 , to access the content of the Web page.
- the Web page may contain links to other computer systems and other Web pages.
- the system can be run on a server as a service application such as an Internet subscription service as well as traditional software application.
- the system can be implemented as a software module used by an application, a library routine called by an application, or a software plug in called by a browser or similar application.
- the system is ideally suited for implementation as a hand held digital device, such as a personal digital assistant or dedicated system, where it can act as a physical data barrier or wall, enabling the digital device to be simply plugged into existing legacy system or offered as an optional upgradeable hardware feature or a temporary device.
- the system can be implemented as an embedded device, such as an application specific integrated circuit (ASIC), an integrated circuit chip set, for use on a motherboard, application board, or within a larger integrated circuit.
- ASIC application specific integrated circuit
- the system provides for inspecting, validating, grading, and reporting on information providing the user remote control of the process.
- Information is directed to the process using a variety of existing and future transportation methods.
- the process analyzes the information received to isolate the data parts to be processed. These data parts are then subjected to a variety of inspection and validation methods and systems.
- the results are then used to create a grade and rating of the information, which along with the results are forwarded to specified recipients.
- a selected reporting and notification are also sent to specified recipients.
- Dynamic control of the process is provided if specific information is also received for the information to be processed.
- the present system of data validation and monitoring is a solution for the plaguing garbage in-garbage out problem that all computer systems must deal with.
- the garbage in can be a result of human errors, software errors, and any system or network component errors that stores or moves the data. Garbage out can result if the user does not detect the garbage in or if the user adds to the garbage in. Once the flow of garbage data has begun from system to system, its subsequent cleanup is a costly, labor-intensive process.
- the present invention can be used to block garbage from leaving a computer or digital device as well as used to block garbage from entering a computer or digital device, essentially functioning as a data “fire wall.”
- the data wall can be a physical barrier to transfer of data as well as a logical barrier, which enables other action to be taken with the data that is allowed to transfer.
- Data 120 is comprised of a plurality of data records 132 which contain a plurality of data fields 134 .
- the data 120 is provided to the data user 130 and a functional analysis means 124 .
- the results of the functional analysis means 124 is provided to the grade and rating assignment 126 .
- the results of the grade assignment is provided to the signal assignment 128 .
- a DFIN 122 is used to control and select features and options within the functional analysis means 124 , the grade assignment 126 and the signal assignment 128 .
- the DFIN 122 is also provided to the data user 130 .
- Data 120 , the DFIN 122 and data user 130 may be independent of each other.
- the functional analysis means 124 can be a rule based system, a look up based system, or an external system comprised of rules and lookup.
- the DFIN 122 is used to override the pre-stored selections that are stored in the customer registry.
- the Functional Analysis of Data 124 the DFIN could be used to select a finer grain of analysis.
- the DFIN as an example could be used to select another grade and rating scheme.
- the DFIN as an example could be used to deselect the field level signal generation. The DFIN would be forwarded to the Data User 130 for informational purposes regarding the results.
- the Grade Assignment 126 uses the results of Functional Analysis of Data 124 .
- the data record 132 contains the seven fields indicated. Also whether the field is Mandatory or Optional is also indicated with an M or O.
- the results of the functional analysis of data 124 are shown in the next column. For this example P implies Pass and F implies Fail. The values are shown for the seven fields.
- the Grade Assignment of Data 126 creates the field grading and the field rating. For this example grades two and five are shown and rating of GREEN and RED are shown.
- the Grade Assignment of Data 126 also creates the file grade and file rating. For this example the file grade is set to a three and the file rating is set to AMBER.
- the Grade Assessment of Data 126 for this example used the reference tables 1-3, which contain the rules to be used for establishing the grade and rating the fields. For this example all mandatory fields received a grade of five and a coinciding rating of GREEN and all optional fields received a grade of two and a coinciding rating of RED. Based upon the field grade and rating the file grade and rating could now be determined. For this example since all mandatory fields are five and at least one optional field is a two then a file grade of three and a rating of AMBER was assigned.
- the rules to be used to grade and rate fields of files will be established by a community of interest which can be specific to a customer, a group of companies, an industry, etc.
- the Signal Assignment 128 creates the signals that will be sent to the Data User 130 .
- Tables 1, 2 and 3 there is shown an example of a record, file and corresponding functional analysis results and grades.
- a label is added to the filename as another filename extension and the label will have two parts. The first part contains the file grade and the second part contains the file rating. The first part and the second part are separated by the underscore character (_).
- the filename would be sample.dat. 3 _amber.
- the signal assignment 128 for this example would create a field level signal that would contain the grade and rating for each of the seven fields.
- a file is created with a name that is composed of the original name plus a special file extension.
- the filename created by the Signal Assignment 128 is sample.dat.dmi. The contents of this file are shown in Table 2 . For each of the seven fields the corresponding grade and rating are presented.
- the file signal and the field signal can be transported to the data user by HTTP, FTP, E-MAIL, Directory entries, as well as a variety of other methods that are known to those skilled in the art.
- the Data User 130 may be another digital system, an individual or organization, or a third party broker.
- the Data User 130 receives the DFIN 122 , the two signals 128 and the original data.
- the data user can make a decision on the disposition of the data based upon the information contained in the signals. As an example the data user 130 could decide to not process the original data file if the grade is three or lower.
- the important aspect is that the Data User 130 can now make a more informed decision regarding the disposition of the data received before starting to process the data.
- the Data User 130 can without ‘opening the data file’ make a disposition decision.
- the fact that the label is appended to the file names reduces miscommunications issues regarding the condition of the data received.
- the field level signals the user can make a decision on a field-by-field data regarding the condition and trust that can be associated with the data.
- the data 120 can be identified by a file name.
- the signal assignment 128 can also provide high level signaling by appending to the file name 136 or modifying the file name, which corresponds to the data 120 .
- the present invention is implemented to function as a data inspector providing information, which can be used to determine data integrity, validate database and assist in the cleanup of a database as well as monitor for garbage being sent between data users.
- One exemplary embodiment of the present invention is a software system, which applies predetermined inspection functions to each identified data element.
- the results from the inspection functions are recorded.
- the recorded results are used to grade and rate the file using predetermined criteria; to report the results, and the grade and rating so designated parties of certain conditions are detected or determined.
- the submission of the file contains a DIM label which can, for this submission, alter the predetermined parameters that control the specifics of the inspection, recording of results, grade and rating, reporting of the results, and alerts and notices.
- This feature enables the system to be used as follows: a data wall (preventing the forwarding of the file if necessary); continuous process data inspector; a common data inspection facility for a data exchange community; a unit data inspector for data exchanged by software units; a database inspector; a data collection device enabling data to be collected and reviewed prior to transfer; and data field notifier, wherein the quality of the data is qualified to the field level.
- the DIM label is a separate, optional set of data that can be included in the file submission.
- the form could be a label appended to the file name or a label sent in a message to the server.
- the predetermined parameters that are used reflect policy, business rules, operation rules, technical rules mode (for example, production) of operation, recording requirements, grade and rating requirements, reporting requirements, and alerts and notices requirements.
- a label which is created at the time of a submission request, contains a tracking number corresponding to the file, the parameters selected at submission time, and other information. The label can be appended to the file name.
- a file can be submitted manually in an interactive mode or automatically using an application programming type interface (API) mode.
- API application programming type interface
- One embodiment of an interactive mode uses a web browser.
- the API mode uses any software industry method possible that can handle the required protocol.
- a file for this embodiment can be a named document file, a named data file, with any type of file extension.
- the system handles unnamed sets of data elements.
- the submission service where streams/strings of data elements are received is not required.
- the setup and configuration for the predetermined parameters, criteria, etc. enables customization of the process for each customer/account/user. This includes the specifics of each data element in a file as well as the specific set of inspections to be performed that comprise the inspection specifications for that file. The conditions of the data detected by the inspection function are reported in customized, customer/process specific terms in a log file for each file submitted.
- the present invention can be used throughout the life cycle of application/system development. Starting with initial unit testing through integration testing and during production. This can be used to inspect data from any source, any form, and any type. The data only needs to be presented in a form where the data elements can be identifiable (or parsed) using techniques that those skilled in the art could implement.
- the present invention can be introduced in any phase of a project/product life cycle. For example, if a project/product is already in production, then data validation and monitoring can offer a solution to a variety of issues that typically arise (new release of software is installed, a new technology is introduced such as Electronic Data Interchange (EDI)).
- EDI Electronic Data Interchange
- the present invention method and system for communicating data inspecting, monitoring and analysis information, inspects data on an individual field-by-field basis (intra-field), and on a field-to-field basis (inter-field). Therefore, this inspection process can become business process aware to various levels, depending upon customer needs.
- the inspection functions performed on each data element will be embodiments of techniques that those skilled in the art could implement. For an example Visual Basic (VB) data type, what are the type of values that would: be considered a different data type; and, for that data type the values that could be present but their form and content can be classified to assist in determining the root cause of the problem value.
- VB Visual Basic
- An example of this is a text type field that was being used to store the name of a city. For this field, there may be certain constraints put on the field value. Examples include: greater than three characters; no backslash characters; no underscore characters; and, no space characters.
- This type of data filtering would be done prior to looking up the city name in a database for that zip code. There is the high possibility that the look up would fail, but all we could indicate would be “invalid value.” It would be more informative for the root cause analysis if other characteristics of the value were identified that could assist in determining if this was a coding problem versus a user problem. Since data validation and monitoring also serves a diagnostic tool, the more explicit it can be in helping to root cause the issue would be a value add to the user.
- an inspection function library is used. For each data element, the associated inspection functions to be performed are identified and stored. Additional inspection functions can be dynamically added to the library as desired. The capability for customized inspection functions for a data customer thus is provided.
- Inspection functions can use external sources as sources of information.
- These external sources can be databases supplied by others using various media (for example, CD-ROM). They can also be other information sources that are accessible through a local area network, wide area network, or a global network. The information obtained from these sources can be static or highly dynamic enabling the particular type of inspection accordingly.
- standard authentication methods are used for security identification rights and privileged purposes. Operating metrics, results, and statistics are maintained on a customer and overall basis. Reports on this information are made available through a browser and other standard reporting methods.
- the VIEC Rule specifies the validation/inspection/edit/checking function(s) that will be applied against each field.
- Expected blank areas/fields are blank (ex. —binary zero).
- Conditions detected will be classified, for example as:
- the records may be a variable or uniform length.
- the record types include:
- Event record (event code, date and time, process ID)
- log file will have the file name of the input file name.log (include extension).
- the record will be using typical MS Access data dictionary type attributes for fields (type, mandatory, etc.).
- Level II check will include those field-related issues that experience has shown cause problems and confusion. This includes: zero field characters; blank field characters, etc.
- Level III check will be application-aware and, as a result, will check individual field values. These checks will include:
- Level IV checks will validate field-to-field relationship within a record. (Ex. —If one field has a specific value, then another field can only have a specified set of values.)
- Level V checks will validate the field-to-field relationships in/between different records in the same file.
- Level VI which most likely is not practiced, is to validate data between files.
- Levels IV, V, and VI are not to be programmed but may be considered in the approach and design of Levels I, II, III.
- FIG. 3 there is shown one example a high-level block diagram of the overall check process for a field.
- the sending computer 202 generates a submission request and sends it to the data validation and monitoring (DVM) server 204 .
- the data validation and monitoring server 204 returns to the sending computer 202 the document/file a tracking number and an encoded data validation and monitoring label.
- This encoded label contains the options parameters and other selections that were specifically requested for this submission request.
- the sending computer 202 appends the data validation and monitoring label to the name of the document/file that will be submitted.
- the sending computer 202 then submits the file name with the appended label and the document/file to the data validation and monitoring server 204 . (This can be a push or pull process.)
- the data validation and monitoring server 204 receives the submission and processes it using the information contained in the submission and predetermined information that was stored when the customer and this document/file were set up and registered in the data validation and monitoring server.
- predetermined information For the customer setup, all the information required to process a submission is registered and stored as predetermined information in the data validation and monitoring server 204 . This predetermined information will be used for every submission made by the customer and determines the specific processing to be performed for all submissions. The information is also used to determine what options and parameters can be selected for a specific submission.
- the setup requires that the customer pre-register each document/file name, selecting the specific inspections to be performed on each data element of the submission.
- the reporting options for the results of the inspection are selected and stored in the registry.
- the notification options based upon the results are selected and stored in the registry.
- the grading to be performed on the results is selected and stored in the registry.
- the data validation and monitoring server 204 processes the submission using the predetermined information stored from setup and contained in the DFIN File.
- the document/file submitted 222 can be sent to the receiving computer 210 based upon a combination of the customer setup information 228 , label information XXX, and the results of the inspections 206 .
- the data validation and monitoring Server 204 is coupled to an e-mail gateway 212 , which transmits the DVM notices to the appropriate recipients messaging gateway 214 , system administrative computer 216 transfers the setup and configuration selection 228 to the DVM server.
- the various specified computers 218 can receive the data submission 222 and transmit back to the server the results 226 .
- a submission request manager 302 handles for example the interaction that occurs between the sending computer 202 and the data validation and monitoring server to get authorization to submit a submission request 220 .
- the authorization is received in the form of the input label, the actual data submission 222 of the file is handled by the data submission manager 304 .
- the data submission 222 can also be transmitted to the receiving computer 210 .
- FIG. 5 there is shown further detail of the submission request manager 302 in FIG. 4 as can be seen are type of request called interactive.
- this is a manual process where a browser type program is used to submit a submission.
- the label may create the input label, which is part of the submission and an output label, which is a result of the data validation and monitoring process.
- the tracking number manager 410 assigns a unique tracking number for the submission that will be included in the label option selection for this submission and provides info to the label manager 408 .
- the parameter selection manager 414 determines what parameters were selected for this submission and provides that information to be label manager 408 .
- the system data manager 416 controls all interface to the databases 418 , 420 and 422 shown.
- the registering manager 424 continues all the information that was collected when the setup for customer process, file was performed.
- FIG. 6 there is shown, a detail of the system administrator computer 216 to register a customer is detailed in this section. This is a prerequisite for processing data to be submitted by the customer.
- This has two functions, one is the customer setup session manager 502 and the other the customer maintenance session manager 504 .
- the customer process manager 510 registers each process that a customer will use. For example there could be a EDI order entry process and an EDI inventory process.
- the customer reporting manager 512 registers what reporting options that the customer has selected. Examples are machine portable (PDF, etc.), spreadsheets, paging, and e-mail.
- the customer security manager 514 registers who are the allowed users, their identification methods and what privileges they will have.
- the customer grading manager 516 registers what grading and rating schemes will be used at the file level and at the field level.
- the system data manager 518 controls all the interfaces for the data shown stored in various databases and forms including: customer reporting registry 520 ; customer grading registry 522 ; customer process registry 524 ; customer data element registry 526 ; customer entity registry 528 ; customer options registry 530 ; customer parameter registry 532 ; and, customer security registry 534 .
- FIG. 7 there is shown part of the customer process manager 510 .
- the VIEC Value, Inspection, Examination, Checking
- the VIEC setup session manager 602 and VIEC maintenance session manager 604 are similar to FIG. 5.
- the VIEC function manager 606 registers each individual VIEC function that will be executed for the specific data element. An example would be to check for valid values.
- the condition code manager 608 determines what condition code and explanation will be recorded for the various conditions detected by the VIEC process.
- the system data manager 610 ( 518 in FIG. 6) controls all the interfaces for the data shown stored in various databases and forms including the VIEC function registry 612 and the condition code registry 614 , which are part of the Customer Process Registry 524 .
- FIG. 8 there is shown a block diagram for the customer process manager 510 in FIG. 6.
- the customer process manager 702 interfaces with the process registry 704 , the object registry 706 , the entity registry 708 , and the field registry 710 .
- FIG. 9 there is shown a block diagram of the customer reporting manager 512 in FIG. 6.
- the customer reporting manager 802 interfaces with the log file registry 804 , the notification registry 806 , the special reporting manager 808 , the dynamic control registry 810 and the grading reporting registry 812 .
- FIG. 10 there is shown a block diagram of the customer grading manager 516 in FIG. 6.
- the customer grading manager 902 interaces with the color grading registry 904 , the rating registry 906 , the reporting registry 908 and the special grading manager 910 .
- FIG. 11 there is shown a block diagram of the customer security manager 514 in FIG. 6.
- the customer security manager 1002 interfaces with the access control manager 1004 , the privilege registry manager 1006 , the dynamic control registry 1008 , the reporting registry 1010 and the notification registry 1012 .
- FIG. 12 there is shown a block diagram in the customer options manager 506 in FIG. 6.
- the customer options manager 1102 interfaces with the customer process options manager 1104 , the customer reporting options manager 1106 , the customer parameters options manager 1108 and the customer communications options manager 1110 .
- FIG. 13 there is shown a block diagram of the customer parameters manager 508 in FIG. 6.
- the customer parameters manager 1202 interfaces with the mode selector 1204 , the VIEC level selector 1206 and the function ID selector 1208 .
- FIG. 14 there is shown a block diagram for part of the customer setup sessions manager 502 in FIG. 6.
- the customer policy manager 1302 interfaces with the VIEC policy registry 1304 , the reporting policy registry 1306 , the notification policy registry 1308 , the grading policy registry 1310 , the DVM policy registry 1312 , the ownership policy registry 1314 , the security policy registry 1316 , the options policy registry 1318 , the parameter policy registry 1320 and the reference tables policy manager 1322 .
- the reference data manager 1402 interfaces with the system data manager 1404 .
- the system data manager 1404 controls all the interfaces for the data shown stored in various databases and forms including: reference table registry internal 1406 ; reference table registry external 1408 ; reference service registry internal 1410 ; reference service registry external 1412 ; and, reference object registry 1414 .
- This data can be in a variety of forms and from a variety of sources.
- the internal registry tables represent data that is generated within the customer's organization. An example would be allowable transaction types.
- the external registry table would represent data from some other organization. An example would be zip codes from the U.S. Post Office.
- the service registry internal is to use data located on servers, CD ROM drives, etc. for this purpose. An example would be allowable part numbers.
- the service registry extended is where for example data is located on a web site. An example would be the market price for an item.
- the object registry is where the forms of data to be processed are determined. An example would be an unlabeled data stream received on a specific port.
- a data validation and monitoring customer service person using system administration services would register a customer with the data validation and monitoring service using the customer setup service. All information regarding the services selected to be provided for all submissions, the customer processes, all associated data objects, and the specifics of the inspection and each data elements are specified. In addition the types of submission (e.g. Inter-Active), security services selected for both user access and reporting and label services are also specified using the system admin services.
- the reporting services for grading of the results, delivery of reports, log files are performed through the delivery service. Special notifications for reporting results using email, paging, and messaging service are provided through the delivery service.
- the billing services establish the pricing to be used for the various services rendered, resources used, and priority selected.
- a request to setup a new customer 1502 initiates the customer setup service.
- the customer setup service 1506 is used to establish a new customer for the application. This can handle specific customer setup issues such as centralized and billing issues.
- the Data Element Identification Service the data 1508 is used to determine how the data element will be isolated for processing (ex. parsed) with all the specifics needed to accomplish the same.
- the VIEC Service 1512 is used to establish the VIEC Functions 1516 that will be applied against each data element.
- the Customer Service 1514 interfaces with the Security Service 1518 to setup authorized users, user privileges and restrictions.
- the submission Service 1524 is used established the particulars of non-interactive and interactive data submissions.
- the Label Service 1526 is used to establish for the customer the types and contents of the labels that will be input.
- the Billing Service 1528 is used to establish the billing criteria and to accommodate data for the billing of the use of the application.
- the Reporting Service 1522 interacts with the System Administration Service to setup or change the various reporting functions.
- the Portable Document Service 1530 established the type (ex. PDF) and which reporting will use this type of service.
- the Logger Service 1532 established the type and contents to be logged for each transaction.
- the Label Service 1534 establishes the type and contents of the labels to be generated.
- the Grading Service 1536 establishes the type and rules to be used to established the grade and rating of the files and/or the individual fields.
- the Office Automation Service 1538 is used to select what type of output file (ex. Excel) will be used to present the various outputs (ex. logger) that are generated by the system.
- the Delivery Service is used to setup the types and forms of delivery that will be used for the outputs generated by the systems.
- the Notifications Service establishes the specific of notifications (ex pagers) and the specific model (ex Skytel) to be used for all notifications.
- the Grading Service 1536 establishes and prepares grading and rating results to be used by the reporting service.
- the Condition Code Service 1544 establishes customer specific conditions codes that will be used to report customer specific terms. The conditions detected by the VIEC Service or other services used for processing the data.
- a Customer Maintenance Request 1504 indicates a change to the customer setup information.
- the System Administrative Service 1510 is used for this function.
- Private Mode administering certain functions for senders, billing, publishing.
- Account Manager Component A shared service that keeps information that the customer has subscribed to and information about the data the data validation and monitoring server has processed for the customer. The design also incorporates information about the destinations of the results of the data validation and monitoring processing.
- Process Stages A process can advance through the life cycle stages of development and production. These stages can be assigned on an object/file basis (e.g. A new file for a process can be in test mode)
- Non-Invasive Inspection data validation and monitoring is non-invasive because it is a read only process that does not change any of the data submitted. Thus the file contents are “as received.” Any labels are appended to the file name.
- Data validation and monitoring Label For submission an electronic label is added to the name of the file submitted. For the submission this label reflects special instructions that will over ride the pre determined options & parameters established during customer set up & maintenance. For delivery the electronic label contains some information regarding the results of the data validation and monitoring process. This enables the recipient to make certain decisions about the handling of the data based upon the label content (e.g. if the color grade is red the recipient would decide to not accept the data for processing.)
- Data Format The format of the data can be in industry standards including EDI and XML. The data would be in flat files and could have various methods to isolate and identify data elements. (e.g. comma delimited files to be processed.)
- Portable Documents All reports can be converted to a portable document format (ex. Adobe PDF) for storage and transmission. This would preserve the format and fidelity of the information contained within.
- Machine Readable Documents All reports can also be produced in standard industry format such as EDI, XML, comma-delimited files etc. This will enable the receiver to process this information election and at the same time adhere to the K.I.D.S. principle.
- Office Automation Formats All reports can also be produced in standard spreadsheet and word processing document (ex. MS Excel, MS Word). This enables the recipient to automatically read this information to other computer-based systems.
- a transaction is defined as a submission of data 1604 where a prior submission request 1602 has been accepted.
- the user uses a submission client for the submission of the request 1602 and the submission of the data 1604 .
- the client is a standard industry browser with some custom code.
- the custom is either a Java Applet, active X control, etc.
- the submission Service 1606 uses the customer service 1610 to determine what customization of the service is allowed at this time, and if the data to be submitted is associated with a registered process for the customer.
- the applicable billing aspects for this transaction are established using the billing service 1622 .
- the customized reporting requirements for this transaction are validated with the reporting service 1626 .
- the tracking numbers provided for the submission along with the submission label provided to the user are recorded with the system transaction manager service 1614 .
- the submission of the data can occur any time after the submission request has been accepted.
- the user can cancel the submission request after it has been accepted.
- the file name with the appended label and file itself are provided to the Data Element Identification Service 1612 .
- This service isolates each data item in each segment that is to be processed by the VIEC service 1616 .
- the Data Element Identification Service 1612 processes the total transaction before forwarding it to the VIEC Service 1616 . All the data elements isolated are identified with the customer, process, object, segment and field identification that was established during customer registration.
- the VIEC Service 1616 executes for each data element in the transaction; the VIEC functions that were selected for that data element during customer registration.
- the condition code(s) that are returned by each VIEC Function ID for each data element are stored. These condition codes are considered part of the results of the inspection process.
- the VIEC service 1616 uses information in the submission label to automatically customize the VIEC service 1616 for this transaction.
- the VIEC Service 1616 is considered to be the engine of the data validation and monitoring Service. After the VIEC Service 1616 has completed the entire transaction, the reporting service 1626 is then invoked.
- the reporting service 1626 uses the predetermined selections made in customer registration and the customization selected at submission time that are contained in the submission label created by the label service 1608 . Each document/file submitted is treated individually for reporting purposes.
- the Condition Code Service 1620 is used to associate with each condition code that returned the information that the customer wanted to appear in the log file. Thus the results are tailored for each customer.
- Each document/file is graded and rated according to the rules established in customer registration by the grading service 1618 .
- the Logger Service 1628 automatically and unconditionally creates a log file that contains for each isolated data element the condition code returned, the results of the condition code service 1620 , and the results of the grading service 1618 . This information is used by the recipient to perform the applicable root cause analysis for each condition code returned from the VIEC Service 1616 .
- the customer had selected the Office Automation (Auto) Service 1634 then the results are also converted to the selected form (ex. —spreadsheet). If the customer had selected the Portable Document Service 1630 then the log file and/or the Office Automation output is converted also to the selected format (ex. —Adobe PDF)
- the Delivery Service 1636 based upon the selection made at customer registration and/or in the submission label, delivers the output of the Reporting Service 1626 to the intended destinations.
- the type of delivery and the methods used would include FTP, email, directory entry, etc.
- the Notification Service 1632 enables the customer to be notified of the existence of certain conditions (ex. —a production file with a color code of red), which are detected by the data validation and monitoring service.
- the notification methods include email, paging, and other messaging services or other notification methods (ex. —flashing red light).
- the Label Service 1624 creates the labels and the contents that will have been selected by the customer for the results of the VIEC process (ex. Label appended to filename and use standard contents).
- the data validation and monitoring server can be configured to be a dedicated or shared server.
- the message/file names are all unique for a sender (multiple sites); the server is dedicated to one sender.
- shared configurations multiple senders are sharing the server and each sender is uniquely identified and each sender can use any message/file name that has been pre-determined for the sender. (Thus multiple senders can have the same message/file name.
- the VIEC policies/rules/methods are pre-determined for each sender and file name combination and are considered static.
- the M/FIN format and contents can vary for each sender and are pre-determined.
- the M/FIN are optional or mandatory on a sender basis.
- the M/FIN is not forwarded to the receiver but can be recorded in the data validation and monitoring log file on an optional basis.
- the data validation and monitoring log file can be transmitted to sender and/or receiver.
- the default condition is pre-determined, but can be changed dynamically using the M/FIN.
- the sender's message file is forwarded to the receiver by default but can be changed dynamically using the M/FIN.
- the message file may not be forwarded to the receiver. (Ex. —field value outside limits) Under this condition, the data validation and monitoring log file will now not be forwarded to the receiver.
- the data validation and monitoring server 204 intercepts the message file and performs the selected VIEC process on it. Typically it would forward the message file and the data validation and monitoring log file to the receiver 210 . The receiver 210 would make a decision on what to do with the message file based upon the contents of the data validation and monitoring log file/message.
- the sender 202 and the receiver 210 both have to implement logic, etc. to Validate/Inspect/Examine/Check the structure and contents of a message or file.
- the sender's motive is to insure the quality of the message file and its contents before transmitting to the receiver(s). This has a quality control and allowable content and perspectives.
- the receiver's motive is to verify the message file is what is expected before attempting to process it. Typically the burden falls on the receiver to handle all the “What If” conditions that can be encountered in processing the message file.
- the data validation and monitoring server 204 relieves both the sender 202 and receiver 210 of providing for this type of processing.
- the administration of the VIEC policies/rules for both the sender and receiver is typically a problem for both. If changes are made, the change has to be communicated and implemented by both simultaneously. With data validation and monitoring, certain changes become transparent to both the sender and receiver.
- the data validation and monitoring server gives the sender the option to return to the sender and not forward to the receiver any message file that meet certain conditions. In addition, a test mode can be used that returns the message file, M/FIN, and log to the sender only. There is also a need to have thin clients in web applications.
- the data validation and monitoring server removes from the client all the code for validating/inspecting/examining/checking what is sent or received.
- FIGS. 18 a, b and c which is a summary of the events 1702 .
- the key events for customer registration 1704 are when the account identification has been assigned 1710 . This is used for security, submission, accounting, and billing.
- the data element identification 1712 complete indicates that all data elements for a potential submission have been registered or verified.
- the user rights assigned 1714 indicates that authorized users have been completely registered and rights are validated.
- the transaction complete 1706 events refer to the processing of the submission.
- the first event is the tracking identification number 1716 has been assigned the next is the submission (of the data) has been acknowledged 1718 by the server to the sending computer.
- the delivery complete 1720 indicates that all the processes reporting etc. required for this submission is completed.
- M/FIN Message/File Identification Number
- the primary objective of this file is to give the receiver information resulting from the VIEC process so that a decision can be made as to what type of processing to do with the message file. Assign a grade of green (ex. —meets all test VIEC requirements); yellow (ex. —warning about contents or structure of file); red (ex. —recommend not to use file for production); and black (authorization required to process), etc.
- condition code (ex. —C 137 )
- other information (ex. —value in field not in reference table) will be assigned.
- the secondary purpose is to assist the sender in assessing the quality and validating the information being sent to the receiver. This is important during testing of new applications, testing changes to existing applications, and that affect the data the sender sends to the receiver. This will save time and effort in debugging and testing.
- the Delivery Service can use push or pull methods based upon customer selection.
- FIG. 19 there is shown a high-level block diagram of the data wall embodiment.
- the data walls 1804 and 1808 are used to: prevent unacceptable data from passing through (this reduces “garbage in”); to record/log the unacceptable data and events; and, to generate notices/alerts about the events.
- a user 1802 is connected to a first data wall 1804 , which is connected to a network 1806 , which connected to a second data wall 1808 to which a receiver 1810 is connected.
- Firewalls control access primarily based upon address/routing information.
- the data wall does not use address/routing information but relies on application data.
- the data wall could be considered a node/hop in the path of the data.
- the version of the specifications to be used is selectable.
- a data wall is a combination of a hardware-software system that prevents data that does not satisfy specific conditions from passing through. The data wall prevents the data transfer when certain conditions are detected.
- a data bug is an error that manifests itself in the data produced by a program.
- the data bug can be caused by a software bug, a data entry error by a user, or introduced by any system or method that handles/transmits the data. All data bugs cannot be corrected by the process known as debugging.
- Data bugs can be obvious or hidden in the data, and they can be caused by major and minor bugs and other causes. Data bugs can be caused by software or hardware components.
- FIG. 20 there is shown a high-level block diagram of the process inspector embodiment.
- the objective of the process inspector 1906 is to inspect the data that is being transmitted from a data source (sender) 1902 to another destination (receiver) 1904 .
- the process inspector is not a node in the path of the data. It is a passive element. All the functions of data validation and monitoring are available. The difference being it is not involved in the transportation of the data.
- FIG. 21 there is shown a high-level block diagram of the common inspection facility embodiment.
- the function is to be used by members (senders) 2002 of a data exchange community to have their data inspected by an independent, common facility 2004 . This would assist them in determining their respective readiness to exchange data that satisfies the specifications that they are expected to satisfy. Members can simultaneously submit their data and analyze the results accordingly. All functions of data validation and monitoring are available to each registered customer.
- FIG. 22 there is shown a high-level block diagram of the software unit inspector embodiment.
- the purpose of this function is to inspect data that is output by a software unit 2102 .
- the software would be any software function (module, routine, application, executable, DLL etc.) that outputs data.
- the data would typically be in a file form.
- the file could be stored in a directory.
- the software unit inspector 2104 can be co-located in the same computer as the software unit that creates the output.
- the submission can be interactive or non-interactive interactive (API form). All the functions of the data validation and monitoring are available to each registered customer. The version of the specifications to be used is selectable.
- FIG. 23 there is shown a high-level block diagram of the database inspector embodiment.
- the purpose of the database inspector 2204 is to inspect data that is stored in any type of database 2202 (ex. relational).
- Software outside this invention would convert/export the desired data to a file format.
- the file would then be submitted to data validation and monitoring. All the functionality of data validation and monitoring would be available to registered users.
- the version of the specifications to be used is selectable.
- Data inspection is the process of examining a data object to determine if it satisfies predetermined conditions.
- the data object contains data elements that can be identified, isolated, and extracted.
- the data elements can be of any type that a computer can generate.
- the extracted elements are then subjected to a predetermined series of examinations.
- the results for each examination for example, could be pass, fail, indeterminate.
- the results are recorded for subsequent analysis.
- the scope of the examination includes testing the value of the data element against predetermined acceptable values, checking for the presence of unacceptable characters, verifying the format of the data.
- the data collection inspector could analyze this data before it is entered into the system. It could also be used to support training where the data entered is evaluated using data validation and monitoring.
- a stand alone device such as a Personal Digital Assistant (PDA), data entry device, Personal Computer (PC) etc.
- PDA Personal Digital Assistant
- PC Personal Computer
- Data field level information is contained in the data validation and monitoring log file. Thus each field can be graded and rated individually. Thus when the information is displayed or printed, etc. the user can be notified as to the integrity and quality of the individual data element.
- a grade and rating is assigned to the data object. Examples of grades are red, green, amber, black, and an example of a rating is the range from one to five.
- One purpose of the data analysis is to convey to the recipient of the data object an indication of its quality. Based upon this information, the recipient can make a decision on how to handle this data object.
- One part of the data analysis is to provide specific information about the examinations and the results thereof. An example of the use of this information would be to perform a root cause analysis.
- Another part of the data analysis is to identify patterns and trends, regulating the quality of data objects over a period of time.
- Signals are used to communicate information about the data object from a source to a destination.
- An out-of-band type communication signaling is used because it is not contained within the data object.
- the signaling is contained in a data validation and monitoring certification object (DCO) that is appended to the data object name.
- the DCO contains information that is usable by the recipient of the data object without having to “open” the data object.
- a data object can have multiple DCO's appended to the name depending upon how data validation and monitoring was used.
- the final recipient would have all the DCO's; the DCO's are a result of data validation and monitoring processing the data object. Examples of what the DCO would contain are the tracking number assigned by data validation and monitoring, the color grade, the rating, the size of the data object, the date and time the DCO was created, a unique identifier for the data validation and monitoring node.
- Data monitoring is the process of performing inspections on a selective sample basis. For some stages of a project, every data object may be inspected. For a production mode, every nth file may be inspected. Also, only data objects with a specified information in the name are selected for inspection. The criteria, for example, could be related to a time period of the data, or be adoptive to the volume of data objects submitted within a period.
- a data validation and monitoring monitory object would also control the data monitoring. If a DMO was received with the submitted rule, it could indicate the type of inspection to be performed that would overrule all other requirements.
- the DMO also contains other information that is used by the data validation and monitoring process. The DMO contains the date and time the DMO was created, the inspection options selected, the data monitory options selected, the grading options selected, etc. The DMO remains as a permanent part of the data object name.
- the log created by the system can be viewed as a detailed packing slip and inspection report.
- the file name is equivalent to a label and packing slip on the outside of a physical package being shipped. A person does not need to open the package to determine the disposition of it (the contents are sealed).
- the label part is used for routing. It contains from, to, type of delivery service, etc. Info that is needed by the transporting company
- the packing slip part (which fits in a pocket on the outside) gives information about the contents of the package. This is primarily used by the recipient to determine the internal destination of the package to open it.
- the label also contains an electronic & human readable tracking identification number for the individual package.
- the label may also indicate if this package is one of many in a shipment. It can also be like a way bill that goes into a pouch outside the package
- the paradigm shift here is to have the file name contain information that the recipient can use to make decisions about the receiving process that will be used for this package (like a selection on a phone system).
- Some packages have devices, etc on them that indicate if the it package has been subjected/exposed to certain conditions during shipment (ex. —shock, indicators).
- the shipping containers can be used to visually check the package for signs of mishandling, etc. (ex. —crushed corners, water spots—anything that could be harmful to the contents.)
- Another part of the paradigm shift is to allow and enable the processes (such as data validation and monitoring) update the info in the name, which will be useful to the recipient. If data validation and monitoring is performed before the name is generated then the name would not need to be updated.
- the data validation and monitoring info could be also like a sticker that is added to the package (like security check at the airport).
- each layer of the stack can add a header to the front of the others, which is stripped off the by corresponding layer of the other stack.
- Adding a dot to the file name is one way of adding a label to the package as is used with a file extension.
- Data validation and monitoring can grade and rate each field that it inspects. This field level grading will be helpful as an example when data elements from another database are used in an application and the user of this data needed to know something about the integrity of each data element. Thus, for example, when the data is displayed, an indicator could show for each field the grade and rating of it. For example, a red circle would indicate to the viewer that this data element failed the inspection. The field level reading information would be recorded in the data validation and monitoring log file if this option was selected. (The file level grading for the associated file would also be contained in the log file, along with all the input and output labels.)
- a view and launch functionalist would be provided (analogous to what is used for PDF file types).
- the viewer would be downloadable from a data validation and monitoring server.
- the viewer would decode the label (input, output, etc.) and display them in a human readable format.
- a similar viewer would be used for the data validation and monitoring log file.
- [0227] Use a label appended to the file name (preferred embodiment) to communicate information associated with the file to whoever uses the file.
- the label is the transport method to communicate this information. This label is available to all users of the file.
- the label is the preferred embodiment, for sensitive information would be encrypted thereby giving confidentially and limited access to the information.
- the label could be in text character form or encoded. Therefore the method allows for protecting of information contained in the label, which is considered a part of the file name (object) in another embodiment the label would be unencrypted.
- the present invention can use other systems to validate field contents.
- These systems/databases can be local or wide area, but can be real-time (or could be batch) (ex. VIN validation with black book).
- Data can be viewed as a package being transferred between and delivered to various systems and networks.
- Systems and networks may have sent the original data out for processing remotely and wish to verify the integrity before opening to insure that the data has not been tampered with.
- a system may not need to know what the data content is or it may not be desirable to allow access to encrypted information, thus the data if verified as not having been tampered with may then be passed on, partially processed, or fully processed by any given module or system.
- the exemplary application, data validation and monitoring v 1.0 database utilizes one embodiment of the present invention, wherein the exemplary application accesses user files, one by one, and runs them against a series of predetermined conditions. Flags are set up to indicate the status of each individual file. A green flag indicates a valid file, while a red one shows the need to return to user for additional information or corrections. A yellow flag status shows a minor problem such as the wrong state selection, which can easily be corrected by so coding the database (available in a future version.)
- Amount of money remitted is not valid for the number of years the license was requested. This condition is set up so that the exact number of dollars must be remitted. (This application is set for $12/yr, but can easily be changed.)
- FIG. 24 there can be seen an exemplary screen 2302 where there are five options 2304 available on the main menu. Input User File, View User File, Validate, Create Log, and View Log.
- the user file can be seen in Read-only format by clicking on the next button, “View User File.”
- a screen asking for the Application Sequence Number pops up. In the future, this number will be selected from a drop down list. For now, it can only be obtained from the Applications table. For the sake of this exercise, we will give you the Applications Sequence Numbers for our example users. (Jane Miller ASN: 8, Matthew Jones ASN: 9, Tom Newman ASN: 10, Rachel Green ASN: 11, and Brian Flynn ASN: 13)
- the “Validate” button on the Main Menu submits the file to the series of tests described in the introduction. Flags are assigned in this step matching the status of the user file.
- the “Create Log” button prepares all information on the user file, including the flag, to be viewed. This can be done by clicking the “View Log” button, which will display the exemplary screen shown 2402 in FIG. 25.
- an exemplary screen display 2502 there is shown a user screen representative of a user interface for entry of corresponding data.
Abstract
A method and system for communicating data inspecting, monitoring and analysis information by signaling between digital devices is described. A process analyzes the data, which is then subjected to a variety of inspection and validation methods and systems. The results created by the process are then used to signal a grade and rating of the data to specified recipients. Additionally, selected reporting and notification are also sent to specified recipients. Dynamic control of the process is provided if specific information is also received for the information to be processed.
Description
- This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/215,552 filed on Jun. 30, 2000 and the benefit of U.S. Provisional Patent Application Ser. No. 60/233,691 filed on Sep. 19, 2000.
- This invention relates to digital devices and more particularly to the management of data between digital devices.
- A growing complexity and interdependence of discrete computer systems requires reliance on data, the quality of which a particular user system has little or no control over. While the phrase “garbage in is garbage out” has been used for over half a century to describe data quality, until recently computer systems functioned independently, in isolated environments or over isolated networks. The garbage data typically impacted only the immediate system, which essentially was under control of the user.
- The advent of network based computer business applications, electronic data interchange and an increasing reliance on digital databases requires control over data quality and integrity. Essentially it is the flow of data between the various computer systems that drives their very functionality. The interconnection of discrete computer systems through standardized networks, such as the Internet, has enabled data to be immediately accessible by other systems, where there is typically no control over the data quality and/or integrity. There is a need for knowledge about the quality and integrity of the data flowing between systems and within a system.
- Current systems are concerned with the integrity and quality of data between two points, assuming that the data is error free at the first point and may become corrupted when it reaches the second point. Various schemes of error detection and correction are well known. More recently, digital signatures have been used to protect data integrity and identify its origination (source).
- Most schemes for controlling data quality at its origination are generally directed towards program errors and bugs, by testing the program using test case sites. These schemes are very dependent upon the user interface, the programming languages, the database system, the operating system, and the system environment. These schemes are testing schemes, attempting to approximate a real user environment, but mostly occur in a laboratory environment. These schemes are discontinued once the software is released although they may start again when a new release is being prepared.
- There is a need to be able to provide controlled inspection, monitoring and analysis of data to provide knowledge about its quality and integrity as the data is shipped between various computer systems and computer networks.
- The present invention is a method and system for determining quality of content of data for a receiver of the data. The method comprising the following steps: assessing the content of the data using a criteria; assigning a grade as a function of the criteria, the grade indicative of the quality of the content of the data; and, linking the grade to the content of the data; wherein the receiver dynamically accesses the grade to determine subsequent use of the data without having to access the data.
- A more complete understanding of the present invention may be obtained from consideration of the following description in conjunction with the drawings in which:
- FIG. 1 is a stylized overview of interconnected computer system networks;
- FIG. 2 is a block diagram of the method and system for communicating data inspecting, monitoring and analysis information;
- FIG. 3 is a block diagram for the sending computer in FIG. 1;
- FIG. 4 is further detail of the submission request manager in FIG. 3;
- FIG. 5 is a detail of the system administrator to register a customer;
- FIG. 6 is part of the customer process manager;
- FIG. 7 is a block diagram for the customer process manager in FIG. 5;
- FIG. 8 is a block diagram of the customer reporting manager in FIG. 5;
- FIG. 9 is a block diagram of the customer coding manager in FIG. 5;
- FIG. 10 is a block diagram of the customer security manager in FIG. 5;
- FIG. 11 is a block diagram in the customer options manager in FIG. 5;
- FIG. 12 is a block diagram of the customer parameters manager in FIG. 5;
- FIG. 13 is a block diagram for part of the customer setup sessions manager;
- FIG. 14 is the reference data is used to determine if valid values are present for a data element;
- FIG. 15 is a block diagram that defines the submission of data where a prior submission request has been accepted;
- FIG. 16 is a block diagram for the customer registration process;
- FIG. 17 is a block diagram for a transaction service;
- FIG. 18 a, b and c are a summary of the events;
- FIG. 19 is a high-level block diagram of the data wall embodiment;
- FIG. 20 is a high-level block diagram of the process inspector embodiment;
- FIG. 21 is a high-level block diagram of the common inspection facility embodiment;
- FIG. 22 is a high-level block diagram of the software unit inspector embodiment;
- FIG. 23 a high-level block diagram of the data base inspector embodiment; and
- FIGS. 24, 25 and26 are exemplary user screen displays.
- Although the present invention, method and system for communicating data inspecting, monitoring and analysis information, is particularly well suited for use with the Internet and shall be so described, the present invention is equally well suited for use in other network communication systems including but not limited to an Intranet, extranet, Interactive television (iTV) and similar interactive networked communication systems.
- Although the present invention, method and system for communicating data inspecting, monitoring and analysis information, is particularly well suited for implementation as an independent software systems and shall be so described, the present invention is equally well suited for implementation as a functional/library module, an applet, a plug in software application, as a device plug in, and in a microchip implementation.
- Referring to FIG. 1 there is shown a stylized overview of interconnected computer system networks. Each
computer system network 102 contains a corresponding localcomputer processor unit 104, which are coupled to a corresponding localdata storage unit 106, andlocal network users 108. The localcomputer processor units 104 are selectively coupled to a plurality ofusers 110 through the Internet 114. Each of the plurality ofusers 110 may have various devices connected to their local computer systems such as scanners, bar code readers, RFID detectors andother interface devices 112. Auser 110 locates and selects (such as by clicking with a mouse) a particular Web page, the content of which is located on the localdata storage unit 106 of thecomputer system network 102, to access the content of the Web page. The Web page may contain links to other computer systems and other Web pages. - Where implemented as a separate software application, the system can be run on a server as a service application such as an Internet subscription service as well as traditional software application. The system can be implemented as a software module used by an application, a library routine called by an application, or a software plug in called by a browser or similar application. The system is ideally suited for implementation as a hand held digital device, such as a personal digital assistant or dedicated system, where it can act as a physical data barrier or wall, enabling the digital device to be simply plugged into existing legacy system or offered as an optional upgradeable hardware feature or a temporary device. The system can be implemented as an embedded device, such as an application specific integrated circuit (ASIC), an integrated circuit chip set, for use on a motherboard, application board, or within a larger integrated circuit.
- The system provides for inspecting, validating, grading, and reporting on information providing the user remote control of the process. Information is directed to the process using a variety of existing and future transportation methods. The process analyzes the information received to isolate the data parts to be processed. These data parts are then subjected to a variety of inspection and validation methods and systems. The results are then used to create a grade and rating of the information, which along with the results are forwarded to specified recipients. A selected reporting and notification are also sent to specified recipients. Dynamic control of the process is provided if specific information is also received for the information to be processed. The present system of data validation and monitoring is a solution for the plaguing garbage in-garbage out problem that all computer systems must deal with. The garbage in can be a result of human errors, software errors, and any system or network component errors that stores or moves the data. Garbage out can result if the user does not detect the garbage in or if the user adds to the garbage in. Once the flow of garbage data has begun from system to system, its subsequent cleanup is a costly, labor-intensive process.
- The present invention can be used to block garbage from leaving a computer or digital device as well as used to block garbage from entering a computer or digital device, essentially functioning as a data “fire wall.” The data wall can be a physical barrier to transfer of data as well as a logical barrier, which enables other action to be taken with the data that is allowed to transfer.
- Referring to FIG. 2 there is a block diagram of the present invention, method and system for communicating data inspecting, monitoring and analysis information.
Data 120 is comprised of a plurality of data records 132 which contain a plurality of data fields 134. Thedata 120 is provided to the data user 130 and a functional analysis means 124. The results of the functional analysis means 124 is provided to the grade and rating assignment 126. The results of the grade assignment is provided to the signal assignment 128. A DFIN 122 is used to control and select features and options within the functional analysis means 124, the grade assignment 126 and the signal assignment 128. The DFIN 122 is also provided to the data user 130.Data 120, the DFIN 122 and data user 130 may be independent of each other. The functional analysis means 124 can be a rule based system, a look up based system, or an external system comprised of rules and lookup. - The DFIN122 is used to override the pre-stored selections that are stored in the customer registry. As an example the Functional Analysis of
Data 124 the DFIN could be used to select a finer grain of analysis. For the Grade Assigned of Data 126 the DFIN as an example could be used to select another grade and rating scheme. For the Signal Assignment 128 the DFIN as an example could be used to deselect the field level signal generation. The DFIN would be forwarded to the Data User 130 for informational purposes regarding the results. - The Grade Assignment126 uses the results of Functional Analysis of
Data 124. For this example referred to in Tables 1, 2 and 3, the data record 132 contains the seven fields indicated. Also whether the field is Mandatory or Optional is also indicated with an M or O. The results of the functional analysis ofdata 124 are shown in the next column. For this example P implies Pass and F implies Fail. The values are shown for the seven fields. The Grade Assignment of Data 126 creates the field grading and the field rating. For this example grades two and five are shown and rating of GREEN and RED are shown. The Grade Assignment of Data 126 also creates the file grade and file rating. For this example the file grade is set to a three and the file rating is set to AMBER. - The Grade Assessment of Data126 for this example used the reference tables 1-3, which contain the rules to be used for establishing the grade and rating the fields. For this example all mandatory fields received a grade of five and a coinciding rating of GREEN and all optional fields received a grade of two and a coinciding rating of RED. Based upon the field grade and rating the file grade and rating could now be determined. For this example since all mandatory fields are five and at least one optional field is a two then a file grade of three and a rating of AMBER was assigned. The rules to be used to grade and rate fields of files will be established by a community of interest which can be specific to a customer, a group of companies, an industry, etc.
- The Signal Assignment128 creates the signals that will be sent to the Data User 130. Referring to Tables 1, 2 and 3 there is shown an example of a record, file and corresponding functional analysis results and grades. In this example a label is added to the filename as another filename extension and the label will have two parts. The first part contains the file grade and the second part contains the file rating. The first part and the second part are separated by the underscore character (_). For this example, the filename would be sample.dat.3_amber. The signal assignment 128 for this example would create a field level signal that would contain the grade and rating for each of the seven fields. A file is created with a name that is composed of the original name plus a special file extension.
TABLE 1 MANDATORY FUNCTIONAL OR ANALYSIS FIELD FIELD FIELDS OPTIONAL RESULTS GRADING RATING Name M P 5 Green Street M P 5 Green City M P 5 Green State M P 5 Green Zip Code M P 5 Green Telephone O F 2 Red Gender O F 2 Red -
TABLE 2 FILE NAME FIELD NUMBER GRADE RATING sample.dat.dmi 1 5 Green 2 5 Green 3 5 Green 4 5 Green 5 5 Green 6 2 Red 7 2 Red -
TABLE 3 FILE FILE FILE GRADE RATING SIGNAL FIELD SIGNAL 3 Amber .3_amber sample.dat.dmi - The filename created by the Signal Assignment128 is sample.dat.dmi. The contents of this file are shown in Table 2. For each of the seven fields the corresponding grade and rating are presented. The file signal and the field signal can be transported to the data user by HTTP, FTP, E-MAIL, Directory entries, as well as a variety of other methods that are known to those skilled in the art.
- The Data User130 may be another digital system, an individual or organization, or a third party broker. The Data User 130 receives the DFIN 122, the two signals 128 and the original data. The data user can make a decision on the disposition of the data based upon the information contained in the signals. As an example the data user 130 could decide to not process the original data file if the grade is three or lower. The important aspect is that the Data User 130 can now make a more informed decision regarding the disposition of the data received before starting to process the data.
- Through the use of the label the Data User130 can without ‘opening the data file’ make a disposition decision. The fact that the label is appended to the file names reduces miscommunications issues regarding the condition of the data received. Using the field level signals the user can make a decision on a field-by-field data regarding the condition and trust that can be associated with the data. In one particular embodiment, the
data 120 can be identified by a file name. The signal assignment 128 can also provide high level signaling by appending to the file name 136 or modifying the file name, which corresponds to thedata 120. - In one embodiment the present invention is implemented to function as a data inspector providing information, which can be used to determine data integrity, validate database and assist in the cleanup of a database as well as monitor for garbage being sent between data users.
- One exemplary embodiment of the present invention is a software system, which applies predetermined inspection functions to each identified data element. The results from the inspection functions are recorded. The recorded results are used to grade and rate the file using predetermined criteria; to report the results, and the grade and rating so designated parties of certain conditions are detected or determined. In this embodiment, the submission of the file contains a DIM label which can, for this submission, alter the predetermined parameters that control the specifics of the inspection, recording of results, grade and rating, reporting of the results, and alerts and notices. This feature enables the system to be used as follows: a data wall (preventing the forwarding of the file if necessary); continuous process data inspector; a common data inspection facility for a data exchange community; a unit data inspector for data exchanged by software units; a database inspector; a data collection device enabling data to be collected and reviewed prior to transfer; and data field notifier, wherein the quality of the data is qualified to the field level. The DIM label is a separate, optional set of data that can be included in the file submission. The form could be a label appended to the file name or a label sent in a message to the server.
- The predetermined parameters that are used reflect policy, business rules, operation rules, technical rules mode (for example, production) of operation, recording requirements, grade and rating requirements, reporting requirements, and alerts and notices requirements. A label, which is created at the time of a submission request, contains a tracking number corresponding to the file, the parameters selected at submission time, and other information. The label can be appended to the file name.
- Upon the completion of the data validation and monitoring process, another label is created which contains the results of the inspection (grade and rating for the file) and other key information about the DIM process. This data validation and monitoring label can also be appended to the file name.
- A file can be submitted manually in an interactive mode or automatically using an application programming type interface (API) mode. One embodiment of an interactive mode uses a web browser. The API mode uses any software industry method possible that can handle the required protocol. A file for this embodiment can be a named document file, a named data file, with any type of file extension.
- In yet another embodiment, the system handles unnamed sets of data elements. In yet another embodiment the submission service where streams/strings of data elements are received is not required.
- The setup and configuration for the predetermined parameters, criteria, etc. enables customization of the process for each customer/account/user. This includes the specifics of each data element in a file as well as the specific set of inspections to be performed that comprise the inspection specifications for that file. The conditions of the data detected by the inspection function are reported in customized, customer/process specific terms in a log file for each file submitted.
- The present invention, method and system for communicating data inspecting, monitoring and analysis information, can be used throughout the life cycle of application/system development. Starting with initial unit testing through integration testing and during production. This can be used to inspect data from any source, any form, and any type. The data only needs to be presented in a form where the data elements can be identifiable (or parsed) using techniques that those skilled in the art could implement.
- The present invention, method and system for communicating data inspecting, monitoring and analysis information, can be introduced in any phase of a project/product life cycle. For example, if a project/product is already in production, then data validation and monitoring can offer a solution to a variety of issues that typically arise (new release of software is installed, a new technology is introduced such as Electronic Data Interchange (EDI)).
- When a software project is in the development phase, then the various models previously described as well as a software unit inspector can be utilized. The earlier the present invention, method and system for communicating data inspecting, monitoring and analysis information, is introduced into the project life cycle, the greater the organization benefits, and the cost per transaction is reduced, and the cost of ownership per unit is reduced.
- The present invention, method and system for communicating data inspecting, monitoring and analysis information, inspects data on an individual field-by-field basis (intra-field), and on a field-to-field basis (inter-field). Therefore, this inspection process can become business process aware to various levels, depending upon customer needs. The inspection functions performed on each data element will be embodiments of techniques that those skilled in the art could implement. For an example Visual Basic (VB) data type, what are the type of values that would: be considered a different data type; and, for that data type the values that could be present but their form and content can be classified to assist in determining the root cause of the problem value.
- This would then help classify the different solutions that could be present in a field. An example of this is a text type field that was being used to store the name of a city. For this field, there may be certain constraints put on the field value. Examples include: greater than three characters; no backslash characters; no underscore characters; and, no space characters. This type of data filtering would be done prior to looking up the city name in a database for that zip code. There is the high possibility that the look up would fail, but all we could indicate would be “invalid value.” It would be more informative for the root cause analysis if other characteristics of the value were identified that could assist in determining if this was a coding problem versus a user problem. Since data validation and monitoring also serves a diagnostic tool, the more explicit it can be in helping to root cause the issue would be a value add to the user.
- In some circumstances there is a need for classifications that are more value based. An example of this would be if the value of a field was outside of the limits specified. As an example, assume the limits were a set, such as from 5 to 10. An indication could be “value outside of limits,” rather than the generic “invalid value.” Therefore, a sub data type could be “range of values” or a “set of values.”
- In present invention, method and system for communicating data inspecting, monitoring and analysis information, an inspection function library is used. For each data element, the associated inspection functions to be performed are identified and stored. Additional inspection functions can be dynamically added to the library as desired. The capability for customized inspection functions for a data customer thus is provided.
- Inspection functions can use external sources as sources of information. These external sources can be databases supplied by others using various media (for example, CD-ROM). They can also be other information sources that are accessible through a local area network, wide area network, or a global network. The information obtained from these sources can be static or highly dynamic enabling the particular type of inspection accordingly. For each session, standard authentication methods are used for security identification rights and privileged purposes. Operating metrics, results, and statistics are maintained on a customer and overall basis. Reports on this information are made available through a browser and other standard reporting methods.
- The present invention, method and system for communicating data inspecting, monitoring and analysis information, can be better understood by looking at a detailed illustrative embodiment.
- Input Section (Assume no exceptions)
- Read the file and store in the input directory. Create a corresponding blank log file using the name of the input file with the extension of log. Read the DFIN (label), which contains all the information that the original data source submitted. Included are the DIM label and other process control information. Using the DFIN (label), determine the intended disposition of: input file; log file; and DFIN.
- Then at the completion of the processing set all switches accordingly.
- Using the DFIN determine the level of analysis to be performed. Set up all appropriate switches and pointers accordingly.
- Using the DFIN determine the special instructions specified and set all appropriate switches and pointers accordingly.
- Create and input package by assigning a unique input sequence number to the input file and the DFIN.
- Validation Section
- If the file length in the header record does not equal the length of the file read in, then execute the rule for this condition in the exception condition table.
- For the first field of the record/row execute the associated VIEC Rule. The VIEC Rule specifies the validation/inspection/edit/checking function(s) that will be applied against each field.
- If the rule produces an exception condition then execute the assigned rule in the exception condition table.
- Repeat for all fields in the record.
- Read in the next record.
- Determine the record type for the record and select the corresponding VIEC table and exception table.
- For the first field of the record/row execute the associated VIEC rule.
- If the rule produces an exception condition then execute the assigned rule in the exception condition table.
- Repeat for all fields in the record.
- Repeat above for all records/rows in the file.
- Continue to the create log section when completed.
- Verify File Name Is Valid
- File name structure is per spec.
- Any parts of the name are per spec (may be separate from header).
- Sequence number if present is acceptable.
- Other
- Verify File Header
- File header structure is per spec.
- Is valid for the file name
- All computed fields are correct (ex. —record count).
- All other fields are acceptable (ex. —creation date is not in the future).
- Is valid for the record types in the file
- Expected blank areas/fields are blank (ex. —binary zero).
- Other
- Conditions detected will be classified, for example as:
- Informational—Condition was detected; no known impact (blue)
- Warning—Condition was detected that may impact results (yellow)
- Error—Condition was detected that can/will impact results (red)
- Log File Entries
- Will have a variety of record types
- Will be a flat file
- The records may be a variable or uniform length.
- The record types include:
- Header record and environment data
- Error code
- Event record (event code, date and time, process ID)
- The log file will have the file name of the input file name.log (include extension).
- Pop Up Window
- Will pop up and close for each process
- Miscellaneous message will appear that relate to log file entries and status of processing.
- The Level I check:
- The record will be using typical MS Access data dictionary type attributes for fields (type, mandatory, etc.).
- The record will be checked for proper length and filler space.
- The Level II check will include those field-related issues that experience has shown cause problems and confusion. This includes: zero field characters; blank field characters, etc.
- All exceptions will be logged and the processing will continue.
- The process will not be “using” any of the data in the fields (strictly a validation-type process).
- The Level III check will be application-aware and, as a result, will check individual field values. These checks will include:
- Specific allowable values (ex.1A)
- A possible technique would be to do a look up on the field in a table
- Either a denial philosophy (nothing passes if it is not explicitly validated) or a permissive philosophy (everything is passed unless it is specifically denied for a level) could be used (must decide).
- The Level IV checks will validate field-to-field relationship within a record. (Ex. —If one field has a specific value, then another field can only have a specified set of values.)
- There are more application aware checks that acknowledge the inter-dependency between fields.
- Some technique needs to be developed/selected that addresses the issue of building the knowledge base and processing for all the level checks.
- A permissive philosophy could be used.
- Level V checks will validate the field-to-field relationships in/between different records in the same file.
- A permissive philosophy could be used (i.e. —all passes if no checks are selected).
- Level VI, which most likely is not practiced, is to validate data between files.
- Levels IV, V, and VI are not to be programmed but may be considered in the approach and design of Levels I, II, III.
- Populate all fields in the log header record per specification.
- Move the DFIN into the corresponding field in the header record.
- Close the log file.
- Continue to the output section.
- Create an output package by assigning a unique output sequence number to the input rule and log file.
- Referring to FIG. 3, there is shown one example a high-level block diagram of the overall check process for a field. The sending
computer 202 generates a submission request and sends it to the data validation and monitoring (DVM)server 204. The data validation andmonitoring server 204 returns to the sendingcomputer 202 the document/file a tracking number and an encoded data validation and monitoring label. This encoded label contains the options parameters and other selections that were specifically requested for this submission request. - The sending
computer 202 appends the data validation and monitoring label to the name of the document/file that will be submitted. The sendingcomputer 202 then submits the file name with the appended label and the document/file to the data validation andmonitoring server 204. (This can be a push or pull process.) - The data validation and
monitoring server 204 receives the submission and processes it using the information contained in the submission and predetermined information that was stored when the customer and this document/file were set up and registered in the data validation and monitoring server. - For the customer setup, all the information required to process a submission is registered and stored as predetermined information in the data validation and
monitoring server 204. This predetermined information will be used for every submission made by the customer and determines the specific processing to be performed for all submissions. The information is also used to determine what options and parameters can be selected for a specific submission. - The setup requires that the customer pre-register each document/file name, selecting the specific inspections to be performed on each data element of the submission.
- The reporting options for the results of the inspection are selected and stored in the registry. The notification options based upon the results are selected and stored in the registry. The grading to be performed on the results is selected and stored in the registry.
- The data validation and
monitoring server 204 processes the submission using the predetermined information stored from setup and contained in the DFIN File. - The full results206 are returned to the sending
computer 202. - The document/file submitted222 can be sent to the receiving
computer 210 based upon a combination of the customer setup information 228, label information XXX, and the results of the inspections 206. The data validation andmonitoring Server 204 is coupled to an e-mail gateway 212, which transmits the DVM notices to the appropriate recipients messaging gateway 214, system administrative computer 216 transfers the setup and configuration selection 228 to the DVM server. The various specifiedcomputers 218 can receive thedata submission 222 and transmit back to the server the results 226. - Referring to FIG. 4, there is shown a block diagram for the sending
computer 202 in FIG. 3. Asubmission request manager 302 handles for example the interaction that occurs between the sendingcomputer 202 and the data validation and monitoring server to get authorization to submit asubmission request 220. Once the authorization is received in the form of the input label, theactual data submission 222 of the file is handled by thedata submission manager 304. Thedata submission 222 can also be transmitted to the receivingcomputer 210. - Referring to FIG. 5, there is shown further detail of the
submission request manager 302 in FIG. 4 as can be seen are type of request called interactive. For this embodiment this is a manual process where a browser type program is used to submit a submission. For the API type submission for example a full automatic dialogue occurs between the sendingcomputer 202 and the data validation andmonitoring server 204. The label may create the input label, which is part of the submission and an output label, which is a result of the data validation and monitoring process. The trackingnumber manager 410 assigns a unique tracking number for the submission that will be included in the label option selection for this submission and provides info to the label manager 408. The parameter selection manager 414 determines what parameters were selected for this submission and provides that information to be label manager 408. The system data manager 416 controls all interface to thedatabases 418, 420 and 422 shown. The registeringmanager 424 continues all the information that was collected when the setup for customer process, file was performed. - Referring to FIG. 6, there is shown, a detail of the system administrator computer216 to register a customer is detailed in this section. This is a prerequisite for processing data to be submitted by the customer. This has two functions, one is the customer
setup session manager 502 and the other the customermaintenance session manager 504. Thecustomer process manager 510 registers each process that a customer will use. For example there could be a EDI order entry process and an EDI inventory process. Thecustomer reporting manager 512 registers what reporting options that the customer has selected. Examples are machine portable (PDF, etc.), spreadsheets, paging, and e-mail. Thecustomer security manager 514 registers who are the allowed users, their identification methods and what privileges they will have. Thecustomer grading manager 516 registers what grading and rating schemes will be used at the file level and at the field level. The system data manager 518 controls all the interfaces for the data shown stored in various databases and forms including: customer reporting registry 520; customer grading registry 522;customer process registry 524; customer data element registry 526; customer entity registry 528; customer options registry 530; customer parameter registry 532; and, customer security registry 534. - Referring to FIG. 7, there is shown part of the
customer process manager 510. The VIEC (Validation, Inspection, Examination, Checking) to be performed on each data element is registered here. The VIECsetup session manager 602 and VIECmaintenance session manager 604 are similar to FIG. 5. The VIEC function manager 606 registers each individual VIEC function that will be executed for the specific data element. An example would be to check for valid values. The condition code manager 608 determines what condition code and explanation will be recorded for the various conditions detected by the VIEC process. The system data manager 610 (518 in FIG. 6) controls all the interfaces for the data shown stored in various databases and forms including theVIEC function registry 612 and the condition code registry 614, which are part of theCustomer Process Registry 524. - Referring to FIG. 8, there is shown a block diagram for the
customer process manager 510 in FIG. 6. Thecustomer process manager 702 interfaces with the process registry 704, the object registry 706, the entity registry 708, and the field registry 710. - Referring to FIG. 9, there is shown a block diagram of the
customer reporting manager 512 in FIG. 6. The customer reporting manager 802 interfaces with the log file registry 804, the notification registry 806, the special reporting manager 808, the dynamic control registry 810 and the grading reporting registry 812. - Referring to FIG. 10, there is shown a block diagram of the
customer grading manager 516 in FIG. 6. The customer grading manager 902 interaces with the color grading registry 904, the rating registry 906, thereporting registry 908 and the special grading manager 910. - Referring to FIG. 11, there is shown a block diagram of the
customer security manager 514 in FIG. 6. Thecustomer security manager 1002 interfaces with the access control manager 1004, the privilege registry manager 1006, the dynamic control registry 1008, thereporting registry 1010 and the notification registry 1012. - Referring to FIG. 12, there is shown a block diagram in the
customer options manager 506 in FIG. 6. The customer options manager 1102 interfaces with the customerprocess options manager 1104, the customer reporting options manager 1106, the customer parameters options manager 1108 and the customer communications options manager 1110. - Referring to FIG. 13, there is shown a block diagram of the
customer parameters manager 508 in FIG. 6. The customer parameters manager 1202 interfaces with the mode selector 1204, the VIEC level selector 1206 and the function ID selector 1208. - Referring to FIG. 14, there is shown a block diagram for part of the customer
setup sessions manager 502 in FIG. 6. The customer policy manager 1302 interfaces with the VIEC policy registry 1304, the reporting policy registry 1306, the notification policy registry 1308, thegrading policy registry 1310, theDVM policy registry 1312, the ownership policy registry 1314, thesecurity policy registry 1316, theoptions policy registry 1318, theparameter policy registry 1320 and the referencetables policy manager 1322. - Referring to FIG. 15, there is shown the reference data is used to determine if valid values are present for a data element. The
reference data manager 1402 interfaces with thesystem data manager 1404. Thesystem data manager 1404 controls all the interfaces for the data shown stored in various databases and forms including: reference table registry internal 1406; reference table registry external 1408; reference service registry internal 1410; reference service registry external 1412; and, reference object registry 1414. This data can be in a variety of forms and from a variety of sources. The internal registry tables represent data that is generated within the customer's organization. An example would be allowable transaction types. The external registry table would represent data from some other organization. An example would be zip codes from the U.S. Post Office. The service registry internal is to use data located on servers, CD ROM drives, etc. for this purpose. An example would be allowable part numbers. The service registry extended is where for example data is located on a web site. An example would be the market price for an item. The object registry is where the forms of data to be processed are determined. An example would be an unlabeled data stream received on a specific port. - Referring to FIG. 16, a data validation and monitoring customer service person, using system administration services would register a customer with the data validation and monitoring service using the customer setup service. All information regarding the services selected to be provided for all submissions, the customer processes, all associated data objects, and the specifics of the inspection and each data elements are specified. In addition the types of submission (e.g. Inter-Active), security services selected for both user access and reporting and label services are also specified using the system admin services. The reporting services for grading of the results, delivery of reports, log files are performed through the delivery service. Special notifications for reporting results using email, paging, and messaging service are provided through the delivery service. The billing services establish the pricing to be used for the various services rendered, resources used, and priority selected. A request to setup a new customer1502 initiates the customer setup service. The customer setup service 1506 is used to establish a new customer for the application. This can handle specific customer setup issues such as centralized and billing issues. The Data Element Identification Service the data 1508 is used to determine how the data element will be isolated for processing (ex. parsed) with all the specifics needed to accomplish the same. The VIEC Service 1512 is used to establish the VIEC Functions 1516 that will be applied against each data element. The Customer Service 1514 interfaces with the Security Service 1518 to setup authorized users, user privileges and restrictions. The Submission Service 1524 is used established the particulars of non-interactive and interactive data submissions. The Label Service 1526 is used to establish for the customer the types and contents of the labels that will be input. The Billing Service 1528 is used to establish the billing criteria and to accommodate data for the billing of the use of the application. The
Reporting Service 1522 interacts with the System Administration Service to setup or change the various reporting functions. ThePortable Document Service 1530 established the type (ex. PDF) and which reporting will use this type of service. TheLogger Service 1532 established the type and contents to be logged for each transaction. The Label Service 1534 establishes the type and contents of the labels to be generated. The Grading Service 1536 establishes the type and rules to be used to established the grade and rating of the files and/or the individual fields. TheOffice Automation Service 1538 is used to select what type of output file (ex. Excel) will be used to present the various outputs (ex. logger) that are generated by the system. The Delivery Service is used to setup the types and forms of delivery that will be used for the outputs generated by the systems. The Notifications Service establishes the specific of notifications (ex pagers) and the specific model (ex Skytel) to be used for all notifications. The Grading Service 1536 establishes and prepares grading and rating results to be used by the reporting service. The Condition Code Service 1544 establishes customer specific conditions codes that will be used to report customer specific terms. The conditions detected by the VIEC Service or other services used for processing the data. A Customer Maintenance Request 1504 indicates a change to the customer setup information. The System Administrative Service 1510 is used for this function. - Any changes subsequent to the customer registration would be performed using the customer maintenance service. The authorization required to make specified changes (add, updates, deletes) were established at the time of set-up.
- Private Mode—Administrator controls certain functions for senders, billing, publishing.
- Public Mode—Where senders make submission requests, make changes to selected options & parameters, and submit the data to be processed.
- Account Manager Component—A shared service that keeps information that the customer has subscribed to and information about the data the data validation and monitoring server has processed for the customer. The design also incorporates information about the destinations of the results of the data validation and monitoring processing.
- Process Stages—A process can advance through the life cycle stages of development and production. These stages can be assigned on an object/file basis (e.g. A new file for a process can be in test mode)
- Non-Invasive Inspection—data validation and monitoring is non-invasive because it is a read only process that does not change any of the data submitted. Thus the file contents are “as received.” Any labels are appended to the file name.
- Data validation and monitoring Label—For submission an electronic label is added to the name of the file submitted. For the submission this label reflects special instructions that will over ride the pre determined options & parameters established during customer set up & maintenance. For delivery the electronic label contains some information regarding the results of the data validation and monitoring process. This enables the recipient to make certain decisions about the handling of the data based upon the label content (e.g. if the color grade is red the recipient would decide to not accept the data for processing.)
- Data Format—The format of the data can be in industry standards including EDI and XML. The data would be in flat files and could have various methods to isolate and identify data elements. (e.g. comma delimited files to be processed.)
- Portable Documents—All reports can be converted to a portable document format (ex. Adobe PDF) for storage and transmission. This would preserve the format and fidelity of the information contained within.
- Machine Readable Documents—All reports can also be produced in standard industry format such as EDI, XML, comma-delimited files etc. This will enable the receiver to process this information election and at the same time adhere to the K.I.D.S. principle.
- Office Automation Formats—All reports can also be produced in standard spreadsheet and word processing document (ex. MS Excel, MS Word). This enables the recipient to automatically read this information to other computer-based systems.
- Security of Information—The security of the information can be assured by a variety of industry standard methods. These include encryption (PKI) and SSL. This will be for information received or sent by the data validation and monitoring server.
- Data validation and monitoring transaction service Referring to FIG. 17, a transaction is defined as a submission of data1604 where a prior submission request 1602 has been accepted. The user uses a submission client for the submission of the request 1602 and the submission of the data 1604. The client is a standard industry browser with some custom code. The custom is either a Java Applet, active X control, etc. The
Submission Service 1606 uses the customer service 1610 to determine what customization of the service is allowed at this time, and if the data to be submitted is associated with a registered process for the customer. The applicable billing aspects for this transaction are established using the billing service 1622. The customized reporting requirements for this transaction are validated with the reporting service 1626. - The tracking numbers provided for the submission along with the submission label provided to the user are recorded with the system
transaction manager service 1614. The submission of the data can occur any time after the submission request has been accepted. The user can cancel the submission request after it has been accepted. - When the data is submitted, the file name with the appended label and file itself are provided to the Data
Element Identification Service 1612. This service isolates each data item in each segment that is to be processed by the VIEC service 1616. In a further embodiment there is an option to cancel or stop a transaction after it has been submitted. The DataElement Identification Service 1612 processes the total transaction before forwarding it to the VIEC Service 1616. All the data elements isolated are identified with the customer, process, object, segment and field identification that was established during customer registration. - The VIEC Service1616 executes for each data element in the transaction; the VIEC functions that were selected for that data element during customer registration. The condition code(s) that are returned by each VIEC Function ID for each data element are stored. These condition codes are considered part of the results of the inspection process. The VIEC service 1616 uses information in the submission label to automatically customize the VIEC service 1616 for this transaction.
- The VIEC Service1616 is considered to be the engine of the data validation and monitoring Service. After the VIEC Service 1616 has completed the entire transaction, the reporting service 1626 is then invoked.
- The reporting service1626 uses the predetermined selections made in customer registration and the customization selected at submission time that are contained in the submission label created by the
label service 1608. Each document/file submitted is treated individually for reporting purposes. - The
Condition Code Service 1620 is used to associate with each condition code that returned the information that the customer wanted to appear in the log file. Thus the results are tailored for each customer. Each document/file is graded and rated according to the rules established in customer registration by the grading service 1618. The color grade is determined (ex. —green=acceptable) and the rating (from 1 to 5) is determined. Both of these are put in the data validation and monitoring label, which is appended to the file name, & label submitted and to the log file created by the Logger Service 1628. - The Logger Service1628 automatically and unconditionally creates a log file that contains for each isolated data element the condition code returned, the results of the
condition code service 1620, and the results of the grading service 1618. This information is used by the recipient to perform the applicable root cause analysis for each condition code returned from the VIEC Service 1616. - If the customer had selected the Office Automation (Auto) Service1634 then the results are also converted to the selected form (ex. —spreadsheet). If the customer had selected the Portable Document Service 1630 then the log file and/or the Office Automation output is converted also to the selected format (ex. —Adobe PDF) The
Delivery Service 1636, based upon the selection made at customer registration and/or in the submission label, delivers the output of the Reporting Service 1626 to the intended destinations. The type of delivery and the methods used would include FTP, email, directory entry, etc. - The Notification Service1632 enables the customer to be notified of the existence of certain conditions (ex. —a production file with a color code of red), which are detected by the data validation and monitoring service. The notification methods include email, paging, and other messaging services or other notification methods (ex. —flashing red light).
- The Label Service1624 creates the labels and the contents that will have been selected by the customer for the results of the VIEC process (ex. Label appended to filename and use standard contents).
- The data validation and monitoring server can be configured to be a dedicated or shared server. For a dedicated server, the message/file names are all unique for a sender (multiple sites); the server is dedicated to one sender. For shared configurations, multiple senders are sharing the server and each sender is uniquely identified and each sender can use any message/file name that has been pre-determined for the sender. (Thus multiple senders can have the same message/file name.
- The VIEC policies/rules/methods are pre-determined for each sender and file name combination and are considered static.
- The M/FIN format and contents can vary for each sender and are pre-determined. The M/FIN are optional or mandatory on a sender basis. The M/FIN is not forwarded to the receiver but can be recorded in the data validation and monitoring log file on an optional basis.
- The data validation and monitoring log file can be transmitted to sender and/or receiver. The default condition is pre-determined, but can be changed dynamically using the M/FIN. The sender's message file is forwarded to the receiver by default but can be changed dynamically using the M/FIN.
- Under certain pre-defined conditions in the VIEC process, the message file may not be forwarded to the receiver. (Ex. —field value outside limits) Under this condition, the data validation and monitoring log file will now not be forwarded to the receiver.
- The data validation and
monitoring server 204 intercepts the message file and performs the selected VIEC process on it. Typically it would forward the message file and the data validation and monitoring log file to thereceiver 210. Thereceiver 210 would make a decision on what to do with the message file based upon the contents of the data validation and monitoring log file/message. - The
sender 202 and thereceiver 210 both have to implement logic, etc. to Validate/Inspect/Examine/Check the structure and contents of a message or file. The sender's motive is to insure the quality of the message file and its contents before transmitting to the receiver(s). This has a quality control and allowable content and perspectives. - The receiver's motive is to verify the message file is what is expected before attempting to process it. Typically the burden falls on the receiver to handle all the “What If” conditions that can be encountered in processing the message file.
- The data validation and
monitoring server 204 relieves both thesender 202 andreceiver 210 of providing for this type of processing. The administration of the VIEC policies/rules for both the sender and receiver is typically a problem for both. If changes are made, the change has to be communicated and implemented by both simultaneously. With data validation and monitoring, certain changes become transparent to both the sender and receiver. The data validation and monitoring server gives the sender the option to return to the sender and not forward to the receiver any message file that meet certain conditions. In addition, a test mode can be used that returns the message file, M/FIN, and log to the sender only. There is also a need to have thin clients in web applications. The data validation and monitoring server removes from the client all the code for validating/inspecting/examining/checking what is sent or received. - It also centralized it, reducing the total code, simplifying the VIEC administration.
- Referring now to FIGS. 18a, b and c, which is a summary of the events 1702, there can be seen that the two main events that occur in data validation and monitoring are customer registration is complete 1704 and transactional (processing) is complete 1706. The key events for
customer registration 1704 are when the account identification has been assigned 1710. This is used for security, submission, accounting, and billing. Thedata element identification 1712 complete indicates that all data elements for a potential submission have been registered or verified. The user rights assigned 1714 indicates that authorized users have been completely registered and rights are validated. The transaction complete 1706 events refer to the processing of the submission. The first event is the tracking identification number 1716 has been assigned the next is the submission (of the data) has been acknowledged 1718 by the server to the sending computer. The delivery complete 1720 indicates that all the processes reporting etc. required for this submission is completed. - The objective of this function is to also give the sender dynamic control over selected functionalities of the data validation and monitoring server on a file-by-site basis. The Message/File Identification Number (“M/FIN”) contains the following type of data:
- 1) Operating mode (ex. —test or production)
- 2) VIEC functionality selection (ex. —more or less)
- 3) Transmission control (ex. —send output user file, data validation and monitoring log file and file identification number only to sender)
- 4) Override server functionality (ex. —bypass VIEC)
- 5) Commentary information (ex. —this is a test)
- 6) Reference information (ex. —test case number)
- 7) VIEC version number (ex. —V3.1)
- The primary objective of this file is to give the receiver information resulting from the VIEC process so that a decision can be made as to what type of processing to do with the message file. Assign a grade of green (ex. —meets all test VIEC requirements); yellow (ex. —warning about contents or structure of file); red (ex. —recommend not to use file for production); and black (authorization required to process), etc.
- In addition for each VIEC exception, a condition code (ex. —C137) and other information (ex. —value in field not in reference table) will be assigned.
- The secondary purpose is to assist the sender in assessing the quality and validating the information being sent to the receiver. This is important during testing of new applications, testing changes to existing applications, and that affect the data the sender sends to the receiver. This will save time and effort in debugging and testing.
- The Delivery Service can use push or pull methods based upon customer selection.
- Referring to FIG. 19 there is shown a high-level block diagram of the data wall embodiment. The data walls1804 and 1808 are used to: prevent unacceptable data from passing through (this reduces “garbage in”); to record/log the unacceptable data and events; and, to generate notices/alerts about the events. A
user 1802 is connected to a first data wall 1804, which is connected to a network 1806, which connected to a second data wall 1808 to which a receiver 1810 is connected. Firewalls control access primarily based upon address/routing information. The data wall does not use address/routing information but relies on application data. The data wall could be considered a node/hop in the path of the data. An active element in the transportation path of the data. The version of the specifications to be used is selectable. A data wall is a combination of a hardware-software system that prevents data that does not satisfy specific conditions from passing through. The data wall prevents the data transfer when certain conditions are detected. - A data bug is an error that manifests itself in the data produced by a program. The data bug can be caused by a software bug, a data entry error by a user, or introduced by any system or method that handles/transmits the data. All data bugs cannot be corrected by the process known as debugging.
- Data bugs can be obvious or hidden in the data, and they can be caused by major and minor bugs and other causes. Data bugs can be caused by software or hardware components.
- Referring to FIG. 20 there is shown a high-level block diagram of the process inspector embodiment. The objective of the process inspector1906 is to inspect the data that is being transmitted from a data source (sender) 1902 to another destination (receiver) 1904. The process inspector is not a node in the path of the data. It is a passive element. All the functions of data validation and monitoring are available. The difference being it is not involved in the transportation of the data.
- Referring to FIG. 21 there is shown a high-level block diagram of the common inspection facility embodiment. The function is to be used by members (senders)2002 of a data exchange community to have their data inspected by an independent,
common facility 2004. This would assist them in determining their respective readiness to exchange data that satisfies the specifications that they are expected to satisfy. Members can simultaneously submit their data and analyze the results accordingly. All functions of data validation and monitoring are available to each registered customer. - Referring to FIG. 22 there is shown a high-level block diagram of the software unit inspector embodiment. The purpose of this function is to inspect data that is output by a software unit2102. The software would be any software function (module, routine, application, executable, DLL etc.) that outputs data. The data would typically be in a file form. The file could be stored in a directory. The software unit inspector 2104 can be co-located in the same computer as the software unit that creates the output. The submission can be interactive or non-interactive interactive (API form). All the functions of the data validation and monitoring are available to each registered customer. The version of the specifications to be used is selectable.
- Referring to FIG. 23 there is shown a high-level block diagram of the database inspector embodiment. The purpose of the
database inspector 2204 is to inspect data that is stored in any type of database 2202 (ex. relational). Software outside this invention would convert/export the desired data to a file format. The file would then be submitted to data validation and monitoring. All the functionality of data validation and monitoring would be available to registered users. The version of the specifications to be used is selectable. - Data inspection is the process of examining a data object to determine if it satisfies predetermined conditions. The data object contains data elements that can be identified, isolated, and extracted. The data elements can be of any type that a computer can generate. The extracted elements are then subjected to a predetermined series of examinations. The results for each examination, for example, could be pass, fail, indeterminate. The results are recorded for subsequent analysis. The scope of the examination includes testing the value of the data element against predetermined acceptable values, checking for the presence of unacceptable characters, verifying the format of the data.
- For data that is collected using a stand alone device, such as a Personal Digital Assistant (PDA), data entry device, Personal Computer (PC) etc., the data collection inspector could analyze this data before it is entered into the system. It could also be used to support training where the data entered is evaluated using data validation and monitoring.
- Data field level information is contained in the data validation and monitoring log file. Thus each field can be graded and rated individually. Thus when the information is displayed or printed, etc. the user can be notified as to the integrity and quality of the individual data element.
- Using the results of the inspection and following predetermined rules, a grade and rating is assigned to the data object. Examples of grades are red, green, amber, black, and an example of a rating is the range from one to five. One purpose of the data analysis is to convey to the recipient of the data object an indication of its quality. Based upon this information, the recipient can make a decision on how to handle this data object. One part of the data analysis is to provide specific information about the examinations and the results thereof. An example of the use of this information would be to perform a root cause analysis. Another part of the data analysis is to identify patterns and trends, regulating the quality of data objects over a period of time.
- Signals are used to communicate information about the data object from a source to a destination. An out-of-band type communication signaling is used because it is not contained within the data object. The signaling is contained in a data validation and monitoring certification object (DCO) that is appended to the data object name. The DCO contains information that is usable by the recipient of the data object without having to “open” the data object. A data object can have multiple DCO's appended to the name depending upon how data validation and monitoring was used. The final recipient would have all the DCO's; the DCO's are a result of data validation and monitoring processing the data object. Examples of what the DCO would contain are the tracking number assigned by data validation and monitoring, the color grade, the rating, the size of the data object, the date and time the DCO was created, a unique identifier for the data validation and monitoring node.
- Data monitoring is the process of performing inspections on a selective sample basis. For some stages of a project, every data object may be inspected. For a production mode, every nth file may be inspected. Also, only data objects with a specified information in the name are selected for inspection. The criteria, for example, could be related to a time period of the data, or be adoptive to the volume of data objects submitted within a period. A data validation and monitoring monitory object (DMO) would also control the data monitoring. If a DMO was received with the submitted rule, it could indicate the type of inspection to be performed that would overrule all other requirements. The DMO also contains other information that is used by the data validation and monitoring process. The DMO contains the date and time the DMO was created, the inspection options selected, the data monitory options selected, the grading options selected, etc. The DMO remains as a permanent part of the data object name.
- Create the equivalent of a label for a file that contains information associated with the file that can be used with out opening the file itself. Similar to how a physical package has a label on the outside the information on it is useable without opening the package.
- The log created by the system can be viewed as a detailed packing slip and inspection report.
- The file name is equivalent to a label and packing slip on the outside of a physical package being shipped. A person does not need to open the package to determine the disposition of it (the contents are sealed). The label part is used for routing. It contains from, to, type of delivery service, etc. Info that is needed by the transporting company The packing slip part (which fits in a pocket on the outside) gives information about the contents of the package. This is primarily used by the recipient to determine the internal destination of the package to open it.
- The label also contains an electronic & human readable tracking identification number for the individual package. The label may also indicate if this package is one of many in a shipment. It can also be like a way bill that goes into a pouch outside the package The paradigm shift here is to have the file name contain information that the recipient can use to make decisions about the receiving process that will be used for this package (like a selection on a phone system). Some packages have devices, etc on them that indicate if the it package has been subjected/exposed to certain conditions during shipment (ex. —shock, indicators).
- For physical packages the shipping containers can be used to visually check the package for signs of mishandling, etc. (ex. —crushed corners, water spots—anything that could be harmful to the contents.)
- Another part of the paradigm shift is to allow and enable the processes (such as data validation and monitoring) update the info in the name, which will be useful to the recipient. If data validation and monitoring is performed before the name is generated then the name would not need to be updated.
- The data validation and monitoring info could be also like a sticker that is added to the package (like security check at the airport).
- In an OSI model type processing each layer of the stack can add a header to the front of the others, which is stripped off the by corresponding layer of the other stack. Adding a dot to the file name is one way of adding a label to the package as is used with a file extension.
- Data validation and monitoring can grade and rate each field that it inspects. This field level grading will be helpful as an example when data elements from another database are used in an application and the user of this data needed to know something about the integrity of each data element. Thus, for example, when the data is displayed, an indicator could show for each field the grade and rating of it. For example, a red circle would indicate to the viewer that this data element failed the inspection. The field level reading information would be recorded in the data validation and monitoring log file if this option was selected. (The file level grading for the associated file would also be contained in the log file, along with all the input and output labels.)
- To view the contents of the label, a view and launch functionalist would be provided (analogous to what is used for PDF file types). The viewer would be downloadable from a data validation and monitoring server. The viewer would decode the label (input, output, etc.) and display them in a human readable format. A similar viewer would be used for the data validation and monitoring log file.
- Use a label appended to the file name (preferred embodiment) to communicate information associated with the file to whoever uses the file. The label is the transport method to communicate this information. This label is available to all users of the file. The label is the preferred embodiment, for sensitive information would be encrypted thereby giving confidentially and limited access to the information. The label could be in text character form or encoded. Therefore the method allows for protecting of information contained in the label, which is considered a part of the file name (object) in another embodiment the label would be unencrypted.
- The present invention can use other systems to validate field contents. These systems/databases can be local or wide area, but can be real-time (or could be batch) (ex. VIN validation with black book).
- Use standard process methods such as a CD Rom subscription type service to insure performance & reliability where practical for static type info (ex. zip codes, VIN's, etc) or can use on-line services primarily for dynamic data.
- Data can be viewed as a package being transferred between and delivered to various systems and networks. Systems and networks may have sent the original data out for processing remotely and wish to verify the integrity before opening to insure that the data has not been tampered with. A system may not need to know what the data content is or it may not be desirable to allow access to encrypted information, thus the data if verified as not having been tampered with may then be passed on, partially processed, or fully processed by any given module or system.
- The exemplary application, data validation and monitoring v 1.0 database, utilizes one embodiment of the present invention, wherein the exemplary application accesses user files, one by one, and runs them against a series of predetermined conditions. Flags are set up to indicate the status of each individual file. A green flag indicates a valid file, while a red one shows the need to return to user for additional information or corrections. A yellow flag status shows a minor problem such as the wrong state selection, which can easily be corrected by so coding the database (available in a future version.)
- Examples of flag instances:
- data validation and monitoring v 1.0 is set up to check for the following 4 conditions:
- 1. Incomplete forms. Let's take for example, user “Jane Miller”. Her user file is missing the entry for “city.” This is a required field, and thus a red flag is generated.
- 2. State code is invalid. In the case of user “Matthew Jones” who entered NX for his state, instead of NJ, a yellow flag is generated. This spelling error is not as critical as not filling out the field all together.
- 3. Amount of money remitted is not valid for the number of years the license was requested. This condition is set up so that the exact number of dollars must be remitted. (This application is set for $12/yr, but can easily be changed.)
- 4. Invalid age. User must be at least 17 years of age. In later versions, age limit will vary according to state legislation. (i.e. CA minimum driving age is 16)
- Finally, Brian Flynn, a user with a complete and correct file, received a green flag.
- Referring to FIG. 24 there can be seen an exemplary screen2302 where there are five
options 2304 available on the main menu. Input User File, View User File, Validate, Create Log, and View Log. - To enter a new user, click button “Input User File.” The following text is displayed:
- There are no restrictions put on this page. Any input will be accepted. After the form is submitted, a unique identification number is assigned to each particular application. This is the number used from now on to refer, validate, or view a user file.
- The user file can be seen in Read-only format by clicking on the next button, “View User File.” A screen asking for the Application Sequence Number pops up. In the future, this number will be selected from a drop down list. For now, it can only be obtained from the Applications table. For the sake of this exercise, we will give you the Applications Sequence Numbers for our example users. (Jane Miller ASN: 8, Matthew Jones ASN: 9, Tom Newman ASN: 10, Rachel Green ASN: 11, and Brian Flynn ASN: 13) The “Validate” button on the Main Menu, submits the file to the series of tests described in the introduction. Flags are assigned in this step matching the status of the user file. The “Create Log” button prepares all information on the user file, including the flag, to be viewed. This can be done by clicking the “View Log” button, which will display the exemplary screen shown2402 in FIG. 25.
- Referring to FIG. 26, an
exemplary screen display 2502, there is shown a user screen representative of a user interface for entry of corresponding data. - Numerous modifications and alternative embodiments of the invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. Details of the structure may be varied substantially without departing from the spirit of the invention and the exclusive use of all modifications, which come within the scope of the appended claim, is reserved.
Claims (36)
1. A method for determining quality of content of data for a receiver of the data, the data having at least one record, the at least one record having at least one data field, the method comprising the following steps:
assessing the content of the data using a criteria;
assigning a grade as a function of the criteria, the grade indicative of the quality of the content of the data; and,
linking the grade to the content of the data;
wherein the receiver dynamically accesses the grade to determine subsequent use of the data without having to access the data.
2. The method as recited in claim 1 wherein the step of linking further comprises associating a portion of a file name to the grade.
3. The method as recited in claim 2 wherein the filename corresponds to a file containing the data.
4. The method as recited in claim 1 further comprising associating a grade file with the grade.
5. The method as recited in claim 1 wherein the quality corresponds to a particular data field of the at least one data field.
6. The method as recited in claim 1 wherein the quality corresponds to a particular record of the at least one record.
7. The method as recited in claim 1 wherein a particular quality corresponds to a particular record of the at least one record.
8. The method as recited in claim 1 wherein a particular quality corresponds to a particular field of the at least one particular field.
9. The method as recited in claim 1 wherein the criteria for determining the quality is a predefined function.
10. The method as recited in claim 1 wherein the criteria for determining the quality uses access to a database.
11. The method as recited in claim 1 wherein the criteria for determining the quality is an externally defined function.
12. The method as recited in claim 1 wherein the criteria for determining the quality uses access to an independent database.
13. The method as recited in claim 1 wherein the grade is numeric.
14. The method as recited in claim 1 wherein the grade is a color.
15. The method as recited in claim 1 wherein the grade is a Boolean.
16. The method as recited in claim 1 wherein the step of linking further comprises associating the grade to a data set.
17. The method as recited in claim 1 wherein the criteria for determining the quality is customized by the receiver.
18. The method as recited in claim 1 further comprising assigning a rating as a function of the grade.
19. A system for determining quality of content of data for a receiver of the data, the data having at least one record, the at least one record having at least one data field, the system comprising the following steps:
assessment means for assessing the content of the data using a criteria;
assignment means for assigning a grade as a function of the criteria, the grade indicative of the quality of the content of the data; and, link means for linking the grade to the content of the data;
wherein the receiver dynamically accesses the grade to determine subsequent use of the data without having to access the data.
20. The system as recited in claim 19 wherein the link means further comprises associating a portion of a file name to the grade.
21. The system as recited in claim 20 wherein the filename corresponds to a file containing the data.
22. The system as recited in claim 19 further comprising means for associating a grade file with the grade.
23. The system as recited in claim 19 wherein the quality corresponds to a particular data field of the at least one data field.
24. The system as recited in claim 19 wherein the quality corresponds to a particular record of the at least one record.
25. The system as recited in claim 19 wherein a particular quality corresponds to a particular record of the at least one record.
26. The system as recited in claim 19 wherein a particular quality corresponds to a particular field of the at least one particular field.
27. The system as recited in claim 19 wherein the criteria for determining the quality is a predefined function.
28. The system as recited in claim 19 wherein the criteria for determining the quality uses access to a database.
29. The system as recited in claim 19 wherein the criteria for determining the quality is an externally defined function.
30. The system as recited in claim 19 wherein the criteria for determining the quality uses access to an independent database.
31. The system as recited in claim 19 wherein the grade is numeric.
32. The system as recited in claim 19 wherein the grade is a color.
33. The system as recited in claim 19 wherein the grade is a Boolean.
34. The system as recited in claim 19 wherein the link means further comprises means for associating the grade to a data set.
35. The system as recited in claim 19 wherein the criteria is customized by the receiver.
36. The system as recited in claim 19 further comprising means for assigning a rating as a function of the grade.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/894,789 US20020023086A1 (en) | 2000-06-30 | 2001-06-28 | System and method for providing signaling quality and integrity of data content |
EP01948840A EP1316027A4 (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
AU2001270268A AU2001270268B2 (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
AU7026801A AU7026801A (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
IL153739A IL153739A (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
PL01359626A PL359626A1 (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
PCT/US2001/020846 WO2002003253A1 (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
CA2422680A CA2422680C (en) | 2000-06-30 | 2001-06-29 | System and method for signaling quality of data content |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21555200P | 2000-06-30 | 2000-06-30 | |
US23369100P | 2000-09-19 | 2000-09-19 | |
US09/894,789 US20020023086A1 (en) | 2000-06-30 | 2001-06-28 | System and method for providing signaling quality and integrity of data content |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020023086A1 true US20020023086A1 (en) | 2002-02-21 |
Family
ID=27396142
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/894,181 Expired - Lifetime US7197542B2 (en) | 2000-06-30 | 2001-06-28 | System and method for signaling quality and integrity of data content |
US09/894,180 Expired - Fee Related US7162450B2 (en) | 2000-06-30 | 2001-06-28 | Business method for determining quality and integrity of data content |
US09/894,789 Abandoned US20020023086A1 (en) | 2000-06-30 | 2001-06-28 | System and method for providing signaling quality and integrity of data content |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/894,181 Expired - Lifetime US7197542B2 (en) | 2000-06-30 | 2001-06-28 | System and method for signaling quality and integrity of data content |
US09/894,180 Expired - Fee Related US7162450B2 (en) | 2000-06-30 | 2001-06-28 | Business method for determining quality and integrity of data content |
Country Status (7)
Country | Link |
---|---|
US (3) | US7197542B2 (en) |
EP (1) | EP1316027A4 (en) |
AU (2) | AU2001270268B2 (en) |
CA (1) | CA2422680C (en) |
IL (1) | IL153739A (en) |
PL (1) | PL359626A1 (en) |
WO (1) | WO2002003253A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040088324A1 (en) * | 2002-10-31 | 2004-05-06 | Khan Javed M. | System providing receipt inspection reporting |
US20050071193A1 (en) * | 2002-10-08 | 2005-03-31 | Kalies Ralph F. | Method for processing and organizing pharmacy data |
US20080016044A1 (en) * | 2006-07-12 | 2008-01-17 | Litcentral, Inc. | Internet user-accessible database |
US7720822B1 (en) * | 2005-03-18 | 2010-05-18 | Beyondcore, Inc. | Quality management in a data-processing environment |
US20110078142A1 (en) * | 2007-07-12 | 2011-03-31 | Litcentral, Inc. | Internet-user accessible system database computer method and system for analyzing government legsilationand legislative documents, statutes, bills, by-laws, proposals and amendments |
US9390121B2 (en) | 2005-03-18 | 2016-07-12 | Beyondcore, Inc. | Analyzing large data sets to find deviation patterns |
US10127130B2 (en) | 2005-03-18 | 2018-11-13 | Salesforce.Com | Identifying contributors that explain differences between a data set and a subset of the data set |
US10796232B2 (en) | 2011-12-04 | 2020-10-06 | Salesforce.Com, Inc. | Explaining differences between predicted outcomes and actual outcomes of a process |
US10802687B2 (en) | 2011-12-04 | 2020-10-13 | Salesforce.Com, Inc. | Displaying differences between different data sets of a process |
US11587190B1 (en) | 2016-08-12 | 2023-02-21 | Ryan M. Frischmann | System and method for the tracking and management of skills |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60233421D1 (en) | 2001-09-28 | 2009-10-01 | Vestas Wind Sys As | METHOD AND COMPUTER SYSTEM FOR PROCESSING OPERATING DATA OF WIND POWER PLANTS |
US7340526B2 (en) * | 2001-10-30 | 2008-03-04 | Intel Corporation | Automated content source validation for streaming data |
US8706551B2 (en) * | 2003-09-04 | 2014-04-22 | Google Inc. | Systems and methods for determining user actions |
US11042886B2 (en) | 2003-09-04 | 2021-06-22 | Google Llc | Systems and methods for determining user actions |
AU2003292520A1 (en) * | 2003-11-10 | 2005-05-26 | Valerio Abate | Apparatus and process for distributed autonomous managing of documents and electronic means |
US7742398B1 (en) * | 2004-04-12 | 2010-06-22 | Azul Systems, Inc. | Information redirection |
US20060046758A1 (en) * | 2004-09-02 | 2006-03-02 | Mohsen Emami-Nouri | Methods of retrieving a message from a message server in a push-to-talk network |
US9898627B2 (en) * | 2006-06-22 | 2018-02-20 | Google Inc. | Secure and extensible pay per action online advertising |
US20080065474A1 (en) | 2006-09-12 | 2008-03-13 | Abhinay Sharma | Secure conversion tracking |
US20090043690A1 (en) * | 2007-08-06 | 2009-02-12 | Maclellan Paul | System and method for validating indirect financing transactions |
US7676523B2 (en) * | 2007-04-20 | 2010-03-09 | Sap Ag | Method and system for managing data quality |
US7676522B2 (en) * | 2007-04-20 | 2010-03-09 | Sap Ag | Method and system for including data quality in data streams |
US10410161B2 (en) * | 2007-06-14 | 2019-09-10 | The Boeing Company | Method and apparatus for a receiving, inspection, and supplier quality system |
DE102008037777A1 (en) * | 2008-08-14 | 2010-03-04 | Siemens Aktiengesellschaft | Data processing system |
US9111030B1 (en) * | 2008-10-03 | 2015-08-18 | Federal Home Loan Mortgage Corporation | Systems and methods for testing a software application |
US8346920B2 (en) * | 2010-07-15 | 2013-01-01 | Srr Patent Holdings, Llc | Managing network resource requests |
US8954794B2 (en) * | 2012-06-05 | 2015-02-10 | Infineon Technologies Ag | Method and system for detection of latent faults in microcontrollers |
US9235493B2 (en) * | 2012-11-30 | 2016-01-12 | Oracle International Corporation | System and method for peer-based code quality analysis reporting |
US9910883B2 (en) | 2014-04-07 | 2018-03-06 | International Business Machines Corporation | Enhanced batch updates on records and related records system and method |
US10204134B2 (en) | 2014-08-14 | 2019-02-12 | International Business Machines Corporation | Automatic detection of problems in a large-scale multi-record update system and method |
JP6451272B2 (en) * | 2014-12-10 | 2019-01-16 | カシオ計算機株式会社 | Data output device and program |
EP3488353A4 (en) | 2016-07-25 | 2020-01-08 | Acxiom LLC | Recognition quality management |
Citations (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4161629A (en) * | 1978-02-06 | 1979-07-17 | Raytheon Company | Communication system with selectable data storage |
US5323393A (en) * | 1992-11-18 | 1994-06-21 | Canon Information Systems, Inc. | Method and apparatus for obtaining and for controlling the status of a networked peripheral |
US5410344A (en) * | 1993-09-22 | 1995-04-25 | Arrowsmith Technologies, Inc. | Apparatus and method of selecting video programs based on viewers' preferences |
US5428782A (en) * | 1989-09-28 | 1995-06-27 | Texas Instruments Incorporated | Portable and dynamic distributed applications architecture |
US5442789A (en) * | 1994-03-31 | 1995-08-15 | International Business Machines Corporation | System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors |
US5590323A (en) * | 1994-05-13 | 1996-12-31 | Lucent Technologies Inc. | Optimal parallel processor architecture for real time multitasking |
US5596742A (en) * | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5666490A (en) * | 1994-05-16 | 1997-09-09 | Gillings; Dennis | Computer network system and method for managing documents |
US5678041A (en) * | 1995-06-06 | 1997-10-14 | At&T | System and method for restricting user access rights on the internet based on rating information stored in a relational database |
US5680305A (en) * | 1995-02-16 | 1997-10-21 | Apgar, Iv; Mahlon | System and method for evaluating real estate |
US5793964A (en) * | 1995-06-07 | 1998-08-11 | International Business Machines Corporation | Web browser system |
US5815505A (en) * | 1996-08-13 | 1998-09-29 | Advanced Micro Devices, Inc. | Combined analog and digital communications device |
US5819026A (en) * | 1995-06-06 | 1998-10-06 | Apple Computer, Inc | System and method for arbitrating accelerator requests |
US5820386A (en) * | 1994-08-18 | 1998-10-13 | Sheppard, Ii; Charles Bradford | Interactive educational apparatus and method |
US5855015A (en) * | 1995-03-20 | 1998-12-29 | Interval Research Corporation | System and method for retrieval of hyperlinked information resources |
US5854754A (en) * | 1996-02-12 | 1998-12-29 | International Business Machines Corporation | Scheduling computerized backup services |
US5862404A (en) * | 1997-02-12 | 1999-01-19 | Toshiba America Information Systems, Inc. | Network device discovery and status information distribution using independent information distribution processes |
US5887187A (en) * | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
US5892898A (en) * | 1996-10-04 | 1999-04-06 | Honeywell, Inc. | Error management system for supporting the identification and logging of error messages |
US5909559A (en) * | 1997-04-04 | 1999-06-01 | Texas Instruments Incorporated | Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width |
US5920705A (en) * | 1996-01-31 | 1999-07-06 | Nokia Ip, Inc. | Method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
US5949762A (en) * | 1996-01-24 | 1999-09-07 | Telebit Corporation | Apparatus and method for processing multiple telephone calls |
US5978373A (en) * | 1997-07-11 | 1999-11-02 | Ag Communication Systems Corporation | Wide area network system providing secure transmission |
US6012053A (en) * | 1997-06-23 | 2000-01-04 | Lycos, Inc. | Computer system with user-controlled relevance ranking of search results |
US6020973A (en) * | 1997-04-15 | 2000-02-01 | Xerox Corporation | Centralized print server for interfacing one or more network clients with a plurality of printing devices |
US6023722A (en) * | 1996-12-07 | 2000-02-08 | International Business Machines Corp. | High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers |
US6029161A (en) * | 1996-04-04 | 2000-02-22 | Lycos, Inc. | Multi-level mindpool system especially adapted to provide collaborative filter data for a large scale information filtering system |
US6029195A (en) * | 1994-11-29 | 2000-02-22 | Herz; Frederick S. M. | System for customized electronic identification of desirable objects |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US6065060A (en) * | 1997-06-30 | 2000-05-16 | Integrated Telecom Express | Modular multiplicative data rate modem and method of operation |
US6073179A (en) * | 1997-06-30 | 2000-06-06 | Integrated Telecom Express | Program for controlling DMT based modem using sub-channel selection to achieve scaleable data rate based on available signal processing resources |
US6075821A (en) * | 1997-12-16 | 2000-06-13 | Integrated Telecom Express | Method of configuring and dynamically adapting data and energy parameters in a multi-channel communications system |
US6076082A (en) * | 1995-09-04 | 2000-06-13 | Matsushita Electric Industrial Co., Ltd. | Information filtering method and apparatus for preferentially taking out information having a high necessity |
US6088385A (en) * | 1997-06-30 | 2000-07-11 | Integrated Telecom Express | Flexible and scalable rate ADSL transceiver and system |
US6092049A (en) * | 1995-06-30 | 2000-07-18 | Microsoft Corporation | Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering |
US6119137A (en) * | 1997-01-30 | 2000-09-12 | Tumbleweed Communications Corp. | Distributed dynamic document conversion server |
US6125372A (en) * | 1997-10-03 | 2000-09-26 | Hewlett-Packard Company | Server system and method of updating server software |
US6128307A (en) * | 1997-12-01 | 2000-10-03 | Advanced Micro Devices, Inc. | Programmable data flow processor for performing data transfers |
US6161161A (en) * | 1999-01-08 | 2000-12-12 | Cisco Technology, Inc. | System and method for coupling a local bus to a peripheral component interconnect (PCI) bus |
US6166314A (en) * | 1997-06-19 | 2000-12-26 | Time Warp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
US6169992B1 (en) * | 1995-11-07 | 2001-01-02 | Cadis Inc. | Search engine for remote access to database management systems |
US6188669B1 (en) * | 1997-06-17 | 2001-02-13 | 3Com Corporation | Apparatus for statistical multiplexing and flow control of digital subscriber loop modems |
US6189069B1 (en) * | 1998-02-17 | 2001-02-13 | Microsoft Corporation | Optimized logging of data elements to a data storage device |
US6205410B1 (en) * | 1998-06-01 | 2001-03-20 | Globespan Semiconductor, Inc. | System and method for bit loading with optimal margin assignment |
US6209048B1 (en) * | 1996-02-09 | 2001-03-27 | Ricoh Company, Ltd. | Peripheral with integrated HTTP server for remote access using URL's |
US6219718B1 (en) * | 1995-06-30 | 2001-04-17 | Canon Kabushiki Kaisha | Apparatus for generating and transferring managed device description file |
US6222858B1 (en) * | 1999-02-10 | 2001-04-24 | Verizon Laboratories Inc. | Method of inverse multiplexing for ATM |
US6243414B1 (en) * | 1999-07-23 | 2001-06-05 | Pctel, Inc. | Method and apparatus for data transmission using discrete multitone technology |
US6252902B1 (en) * | 1999-09-13 | 2001-06-26 | Virata Corporation | xDSL modem having DMT symbol boundary detection |
US6253213B1 (en) * | 1999-02-22 | 2001-06-26 | International Business Machines Corporation | Method and system for automatically maintaining data consistency across various databases |
US6275986B1 (en) * | 1998-06-12 | 2001-08-14 | International Business Machines Corporation | Compile-time data dependency verification |
US20010014104A1 (en) * | 2000-02-09 | 2001-08-16 | Bottorff Paul A. | 10 Gigabit ethernet mappings for a common LAN/WAN PMD interface with a simple universal physical medium dependent interface |
US6282238B1 (en) * | 1999-05-28 | 2001-08-28 | 3Com Corporation | Adapter card that selects between an ISDN interface and an analog modem interface |
US6295314B1 (en) * | 1998-11-16 | 2001-09-25 | Advanced Micro Devices, Inc. | Method and apparatus for partitioning a modem between non-real-time and real-time processing environments |
US6298370B1 (en) * | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
US6314475B1 (en) * | 1998-03-04 | 2001-11-06 | Conexant Systems, Inc. | Method and apparatus for monitoring, controlling and configuring local communication devices |
US6327045B1 (en) * | 1997-09-18 | 2001-12-04 | Microsoft Corporation | Computer network |
US20010049756A1 (en) * | 2000-03-01 | 2001-12-06 | Ming-Kang Liu | Transport convergence sub-system with shared resources for multiport xDSL system |
US6338130B1 (en) * | 1999-03-11 | 2002-01-08 | International Business Machines Corporation | Adaptive method and apparatus for allocation of DSP resources in a communication system |
US6345252B1 (en) * | 1999-04-09 | 2002-02-05 | International Business Machines Corporation | Methods and apparatus for retrieving audio information using content and speaker information |
US6353854B1 (en) * | 1998-10-01 | 2002-03-05 | International Business Machines Corporation | Automatic reconfiguration system for change in management servers having protocol destination addresses |
US6421733B1 (en) * | 1997-03-25 | 2002-07-16 | Intel Corporation | System for dynamically transcoding data transmitted between computers |
US6424424B1 (en) * | 1999-01-19 | 2002-07-23 | Hewlett-Packard Company | Method and apparatus for automatic installation of shared printers over a network |
US20020099707A1 (en) * | 2000-12-19 | 2002-07-25 | Naoyuki Matsumoto | Document delivery system, document delivery apparatus, document delivery method, program for excuting the method and storage medium storing the program |
US6427178B2 (en) * | 1998-03-04 | 2002-07-30 | Conexant Systems, Inc. | Software modem having a multi-task plug-in architecture |
US6430193B1 (en) * | 1999-07-06 | 2002-08-06 | Cisco Technology, Inc. | Communication of physical layer control parameters |
US6434343B1 (en) * | 1998-01-08 | 2002-08-13 | Fujitsu Limited | Composite machine, server, composite machine-server system, and program recording medium |
US6434188B1 (en) * | 1999-04-07 | 2002-08-13 | Legerity, Inc. | Differential encoding arrangement for a discrete multi-tone transmission system |
US6466629B1 (en) * | 1996-09-02 | 2002-10-15 | Stmicroelectronics N.V. | Multi-carrier transmission systems |
US6477567B1 (en) * | 1997-08-07 | 2002-11-05 | Brother Kogyo Kabushiki Kaisha | Method for managing a status request transmitted from a managing device to an interface device through a network |
US20030004697A1 (en) * | 2000-01-24 | 2003-01-02 | Ferris Gavin Robert | Method of designing, modelling or fabricating a communications baseband stack |
US6507871B1 (en) * | 1997-12-29 | 2003-01-14 | Samsung Electronics Co., Ltd. | Terminal system having both ATM terminal function and ATM-based-ADSL terminal function and method therefor |
US6560648B1 (en) * | 1999-04-19 | 2003-05-06 | International Business Machines Corporation | Method and apparatus for network latency performance measurement |
US6567480B1 (en) * | 1999-08-10 | 2003-05-20 | Lucent Technologies Inc. | Method and apparatus for sampling timing adjustment and frequency offset compensation |
US6567121B1 (en) * | 1996-10-25 | 2003-05-20 | Canon Kabushiki Kaisha | Camera control system, camera server, camera client, control method, and storage medium |
USRE38127E1 (en) * | 1989-01-19 | 2003-05-27 | Mlr, Llc | Portable hybrid communication system and methods |
US6570912B1 (en) * | 1999-03-05 | 2003-05-27 | Pctel, Inc. | Hybrid software/hardware discrete multi-tone transceiver |
US6578067B1 (en) * | 1997-09-30 | 2003-06-10 | Canon Kabushiki Kaisha | Apparatus, system, method and memory medium for data processing |
US6587476B1 (en) * | 1999-05-26 | 2003-07-01 | 3 Com Corporation | Ethernet frame encapsulation over VDSL using HDLC |
US6597689B1 (en) * | 1998-12-30 | 2003-07-22 | Nortel Networks Limited | SVC signaling system and method |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US6614761B1 (en) * | 1998-11-23 | 2003-09-02 | Electronics And Telecommunications Research Institute | ADSL subscriber processing equipment in ATM switch |
US6621831B1 (en) * | 1999-01-05 | 2003-09-16 | Legerity, Inc. | Method and apparatus for verifying and correcting connectivity |
US6625647B1 (en) * | 1997-06-03 | 2003-09-23 | Keynote Systems, Inc. | Method and apparatus for evaluating service to a user over the internet |
US6628817B2 (en) * | 1989-07-12 | 2003-09-30 | Hitachi, Ltd. | Inspection data analyzing system |
US6631184B1 (en) * | 2000-07-24 | 2003-10-07 | Comverse Ltd. | System for community generated feedback and/or rating |
US6647424B1 (en) * | 1998-05-20 | 2003-11-11 | Nortel Networks Limited | Method and apparatus for discarding data packets |
US6647412B1 (en) * | 2000-06-23 | 2003-11-11 | Nokia Internet Communications Inc. | Method and network for propagating status information |
US6694376B1 (en) * | 1998-01-19 | 2004-02-17 | Brother Kogyo Kabushiki Kaisha | Data communication system having an interface device determining whether transmitted data to be locally processed or to be transmitted to a reception device for processing |
US6735245B1 (en) * | 1998-01-09 | 2004-05-11 | Panasonic Communications Co., Ltd. | Activation of multiple XDSL modems with channel probe |
US6754881B2 (en) * | 2001-12-10 | 2004-06-22 | International Business Machines Corporation | Field programmable network processor and method for customizing a network processor |
US6785023B1 (en) * | 1999-01-28 | 2004-08-31 | Panasonic Communications Co., Ltd. | Network facsimile apparatus |
US6810039B1 (en) * | 2000-03-30 | 2004-10-26 | Azanda Network Devices, Inc. | Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic |
US6842429B1 (en) * | 2000-02-22 | 2005-01-11 | Ikanos Communications, Inc | Method and apparatus for synchronizing a packet based modem supporting multiple X-DSL protocols |
US6944123B1 (en) * | 2001-03-21 | 2005-09-13 | Cisco Technology, Inc. | Redundant packet selection and manipulation in wireless communications systems |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4527239A (en) * | 1983-11-28 | 1985-07-02 | Brandin Christopher L | Digital data storage methods and apparatus |
DE69230913T2 (en) * | 1991-07-16 | 2000-12-07 | Berg Electronics Mfg | Low-profile, surface-mounted connector with curved self-supporting contact springs. |
US5737734A (en) | 1995-09-15 | 1998-04-07 | Infonautics Corporation | Query word relevance adjustment in a search of an information retrieval system |
US5829386A (en) * | 1996-02-26 | 1998-11-03 | Wenstrand; Thomas W. | Poultry fount |
US5903816A (en) * | 1996-07-01 | 1999-05-11 | Thomson Consumer Electronics, Inc. | Interactive television system and method for displaying web-like stills with hyperlinks |
US6493744B1 (en) * | 1999-08-16 | 2002-12-10 | International Business Machines Corporation | Automatic rating and filtering of data files for objectionable content |
JP2001350677A (en) * | 2000-06-06 | 2001-12-21 | Hitachi Ltd | Communication monitoring and inspecting system utilizing meta-information, communication monitoring and inspecting method, and recording media with these methods recorded thereon |
-
2001
- 2001-06-28 US US09/894,181 patent/US7197542B2/en not_active Expired - Lifetime
- 2001-06-28 US US09/894,180 patent/US7162450B2/en not_active Expired - Fee Related
- 2001-06-28 US US09/894,789 patent/US20020023086A1/en not_active Abandoned
- 2001-06-29 EP EP01948840A patent/EP1316027A4/en not_active Withdrawn
- 2001-06-29 AU AU2001270268A patent/AU2001270268B2/en not_active Ceased
- 2001-06-29 PL PL01359626A patent/PL359626A1/en not_active Application Discontinuation
- 2001-06-29 AU AU7026801A patent/AU7026801A/en active Pending
- 2001-06-29 CA CA2422680A patent/CA2422680C/en not_active Expired - Fee Related
- 2001-06-29 IL IL153739A patent/IL153739A/en not_active IP Right Cessation
- 2001-06-29 WO PCT/US2001/020846 patent/WO2002003253A1/en active IP Right Grant
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4161629A (en) * | 1978-02-06 | 1979-07-17 | Raytheon Company | Communication system with selectable data storage |
USRE38127E1 (en) * | 1989-01-19 | 2003-05-27 | Mlr, Llc | Portable hybrid communication system and methods |
US6628817B2 (en) * | 1989-07-12 | 2003-09-30 | Hitachi, Ltd. | Inspection data analyzing system |
US5694601A (en) * | 1989-09-28 | 1997-12-02 | Sterling Software, Inc. | Portable and dynamic distributed applications architecture |
US5428782A (en) * | 1989-09-28 | 1995-06-27 | Texas Instruments Incorporated | Portable and dynamic distributed applications architecture |
US5323393A (en) * | 1992-11-18 | 1994-06-21 | Canon Information Systems, Inc. | Method and apparatus for obtaining and for controlling the status of a networked peripheral |
US5596742A (en) * | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5410344A (en) * | 1993-09-22 | 1995-04-25 | Arrowsmith Technologies, Inc. | Apparatus and method of selecting video programs based on viewers' preferences |
US5887187A (en) * | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
US5442789A (en) * | 1994-03-31 | 1995-08-15 | International Business Machines Corporation | System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors |
US5590323A (en) * | 1994-05-13 | 1996-12-31 | Lucent Technologies Inc. | Optimal parallel processor architecture for real time multitasking |
US5666490A (en) * | 1994-05-16 | 1997-09-09 | Gillings; Dennis | Computer network system and method for managing documents |
US5820386A (en) * | 1994-08-18 | 1998-10-13 | Sheppard, Ii; Charles Bradford | Interactive educational apparatus and method |
US6029195A (en) * | 1994-11-29 | 2000-02-22 | Herz; Frederick S. M. | System for customized electronic identification of desirable objects |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5680305A (en) * | 1995-02-16 | 1997-10-21 | Apgar, Iv; Mahlon | System and method for evaluating real estate |
US5855015A (en) * | 1995-03-20 | 1998-12-29 | Interval Research Corporation | System and method for retrieval of hyperlinked information resources |
US5819026A (en) * | 1995-06-06 | 1998-10-06 | Apple Computer, Inc | System and method for arbitrating accelerator requests |
US5678041A (en) * | 1995-06-06 | 1997-10-14 | At&T | System and method for restricting user access rights on the internet based on rating information stored in a relational database |
US5793964A (en) * | 1995-06-07 | 1998-08-11 | International Business Machines Corporation | Web browser system |
US6219718B1 (en) * | 1995-06-30 | 2001-04-17 | Canon Kabushiki Kaisha | Apparatus for generating and transferring managed device description file |
US6092049A (en) * | 1995-06-30 | 2000-07-18 | Microsoft Corporation | Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering |
US6076082A (en) * | 1995-09-04 | 2000-06-13 | Matsushita Electric Industrial Co., Ltd. | Information filtering method and apparatus for preferentially taking out information having a high necessity |
US6169992B1 (en) * | 1995-11-07 | 2001-01-02 | Cadis Inc. | Search engine for remote access to database management systems |
US5949762A (en) * | 1996-01-24 | 1999-09-07 | Telebit Corporation | Apparatus and method for processing multiple telephone calls |
US5920705A (en) * | 1996-01-31 | 1999-07-06 | Nokia Ip, Inc. | Method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
US20050021608A1 (en) * | 1996-02-09 | 2005-01-27 | Wolff Gregory J. | Network printer |
US6738841B1 (en) * | 1996-02-09 | 2004-05-18 | Ricoh Co., Ltd. | Method and apparatus for processing document requests at a printer server |
US6209048B1 (en) * | 1996-02-09 | 2001-03-27 | Ricoh Company, Ltd. | Peripheral with integrated HTTP server for remote access using URL's |
US5854754A (en) * | 1996-02-12 | 1998-12-29 | International Business Machines Corporation | Scheduling computerized backup services |
US6029161A (en) * | 1996-04-04 | 2000-02-22 | Lycos, Inc. | Multi-level mindpool system especially adapted to provide collaborative filter data for a large scale information filtering system |
US5815505A (en) * | 1996-08-13 | 1998-09-29 | Advanced Micro Devices, Inc. | Combined analog and digital communications device |
US6466629B1 (en) * | 1996-09-02 | 2002-10-15 | Stmicroelectronics N.V. | Multi-carrier transmission systems |
US5892898A (en) * | 1996-10-04 | 1999-04-06 | Honeywell, Inc. | Error management system for supporting the identification and logging of error messages |
US6567121B1 (en) * | 1996-10-25 | 2003-05-20 | Canon Kabushiki Kaisha | Camera control system, camera server, camera client, control method, and storage medium |
US6023722A (en) * | 1996-12-07 | 2000-02-08 | International Business Machines Corp. | High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers |
US6119137A (en) * | 1997-01-30 | 2000-09-12 | Tumbleweed Communications Corp. | Distributed dynamic document conversion server |
US5862404A (en) * | 1997-02-12 | 1999-01-19 | Toshiba America Information Systems, Inc. | Network device discovery and status information distribution using independent information distribution processes |
US6421733B1 (en) * | 1997-03-25 | 2002-07-16 | Intel Corporation | System for dynamically transcoding data transmitted between computers |
US6298370B1 (en) * | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
US5909559A (en) * | 1997-04-04 | 1999-06-01 | Texas Instruments Incorporated | Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width |
US6020973A (en) * | 1997-04-15 | 2000-02-01 | Xerox Corporation | Centralized print server for interfacing one or more network clients with a plurality of printing devices |
US6625647B1 (en) * | 1997-06-03 | 2003-09-23 | Keynote Systems, Inc. | Method and apparatus for evaluating service to a user over the internet |
US6188669B1 (en) * | 1997-06-17 | 2001-02-13 | 3Com Corporation | Apparatus for statistical multiplexing and flow control of digital subscriber loop modems |
US6166314A (en) * | 1997-06-19 | 2000-12-26 | Time Warp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
US6012053A (en) * | 1997-06-23 | 2000-01-04 | Lycos, Inc. | Computer system with user-controlled relevance ranking of search results |
US6088385A (en) * | 1997-06-30 | 2000-07-11 | Integrated Telecom Express | Flexible and scalable rate ADSL transceiver and system |
US6073179A (en) * | 1997-06-30 | 2000-06-06 | Integrated Telecom Express | Program for controlling DMT based modem using sub-channel selection to achieve scaleable data rate based on available signal processing resources |
US6065060A (en) * | 1997-06-30 | 2000-05-16 | Integrated Telecom Express | Modular multiplicative data rate modem and method of operation |
US5978373A (en) * | 1997-07-11 | 1999-11-02 | Ag Communication Systems Corporation | Wide area network system providing secure transmission |
US6477567B1 (en) * | 1997-08-07 | 2002-11-05 | Brother Kogyo Kabushiki Kaisha | Method for managing a status request transmitted from a managing device to an interface device through a network |
US6327045B1 (en) * | 1997-09-18 | 2001-12-04 | Microsoft Corporation | Computer network |
US6578067B1 (en) * | 1997-09-30 | 2003-06-10 | Canon Kabushiki Kaisha | Apparatus, system, method and memory medium for data processing |
US6125372A (en) * | 1997-10-03 | 2000-09-26 | Hewlett-Packard Company | Server system and method of updating server software |
US6128307A (en) * | 1997-12-01 | 2000-10-03 | Advanced Micro Devices, Inc. | Programmable data flow processor for performing data transfers |
US6075821A (en) * | 1997-12-16 | 2000-06-13 | Integrated Telecom Express | Method of configuring and dynamically adapting data and energy parameters in a multi-channel communications system |
US6507871B1 (en) * | 1997-12-29 | 2003-01-14 | Samsung Electronics Co., Ltd. | Terminal system having both ATM terminal function and ATM-based-ADSL terminal function and method therefor |
US6434343B1 (en) * | 1998-01-08 | 2002-08-13 | Fujitsu Limited | Composite machine, server, composite machine-server system, and program recording medium |
US6735245B1 (en) * | 1998-01-09 | 2004-05-11 | Panasonic Communications Co., Ltd. | Activation of multiple XDSL modems with channel probe |
US6694376B1 (en) * | 1998-01-19 | 2004-02-17 | Brother Kogyo Kabushiki Kaisha | Data communication system having an interface device determining whether transmitted data to be locally processed or to be transmitted to a reception device for processing |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6189069B1 (en) * | 1998-02-17 | 2001-02-13 | Microsoft Corporation | Optimized logging of data elements to a data storage device |
US6427178B2 (en) * | 1998-03-04 | 2002-07-30 | Conexant Systems, Inc. | Software modem having a multi-task plug-in architecture |
US6314475B1 (en) * | 1998-03-04 | 2001-11-06 | Conexant Systems, Inc. | Method and apparatus for monitoring, controlling and configuring local communication devices |
US6647424B1 (en) * | 1998-05-20 | 2003-11-11 | Nortel Networks Limited | Method and apparatus for discarding data packets |
US6205410B1 (en) * | 1998-06-01 | 2001-03-20 | Globespan Semiconductor, Inc. | System and method for bit loading with optimal margin assignment |
US6275986B1 (en) * | 1998-06-12 | 2001-08-14 | International Business Machines Corporation | Compile-time data dependency verification |
US6353854B1 (en) * | 1998-10-01 | 2002-03-05 | International Business Machines Corporation | Automatic reconfiguration system for change in management servers having protocol destination addresses |
US6295314B1 (en) * | 1998-11-16 | 2001-09-25 | Advanced Micro Devices, Inc. | Method and apparatus for partitioning a modem between non-real-time and real-time processing environments |
US6614761B1 (en) * | 1998-11-23 | 2003-09-02 | Electronics And Telecommunications Research Institute | ADSL subscriber processing equipment in ATM switch |
US6597689B1 (en) * | 1998-12-30 | 2003-07-22 | Nortel Networks Limited | SVC signaling system and method |
US6621831B1 (en) * | 1999-01-05 | 2003-09-16 | Legerity, Inc. | Method and apparatus for verifying and correcting connectivity |
US6161161A (en) * | 1999-01-08 | 2000-12-12 | Cisco Technology, Inc. | System and method for coupling a local bus to a peripheral component interconnect (PCI) bus |
US6424424B1 (en) * | 1999-01-19 | 2002-07-23 | Hewlett-Packard Company | Method and apparatus for automatic installation of shared printers over a network |
US6785023B1 (en) * | 1999-01-28 | 2004-08-31 | Panasonic Communications Co., Ltd. | Network facsimile apparatus |
US6222858B1 (en) * | 1999-02-10 | 2001-04-24 | Verizon Laboratories Inc. | Method of inverse multiplexing for ATM |
US6253213B1 (en) * | 1999-02-22 | 2001-06-26 | International Business Machines Corporation | Method and system for automatically maintaining data consistency across various databases |
US6570912B1 (en) * | 1999-03-05 | 2003-05-27 | Pctel, Inc. | Hybrid software/hardware discrete multi-tone transceiver |
US6338130B1 (en) * | 1999-03-11 | 2002-01-08 | International Business Machines Corporation | Adaptive method and apparatus for allocation of DSP resources in a communication system |
US6434188B1 (en) * | 1999-04-07 | 2002-08-13 | Legerity, Inc. | Differential encoding arrangement for a discrete multi-tone transmission system |
US6345252B1 (en) * | 1999-04-09 | 2002-02-05 | International Business Machines Corporation | Methods and apparatus for retrieving audio information using content and speaker information |
US6560648B1 (en) * | 1999-04-19 | 2003-05-06 | International Business Machines Corporation | Method and apparatus for network latency performance measurement |
US6587476B1 (en) * | 1999-05-26 | 2003-07-01 | 3 Com Corporation | Ethernet frame encapsulation over VDSL using HDLC |
US6282238B1 (en) * | 1999-05-28 | 2001-08-28 | 3Com Corporation | Adapter card that selects between an ISDN interface and an analog modem interface |
US6430193B1 (en) * | 1999-07-06 | 2002-08-06 | Cisco Technology, Inc. | Communication of physical layer control parameters |
US6243414B1 (en) * | 1999-07-23 | 2001-06-05 | Pctel, Inc. | Method and apparatus for data transmission using discrete multitone technology |
US6567480B1 (en) * | 1999-08-10 | 2003-05-20 | Lucent Technologies Inc. | Method and apparatus for sampling timing adjustment and frequency offset compensation |
US6252902B1 (en) * | 1999-09-13 | 2001-06-26 | Virata Corporation | xDSL modem having DMT symbol boundary detection |
US20030004697A1 (en) * | 2000-01-24 | 2003-01-02 | Ferris Gavin Robert | Method of designing, modelling or fabricating a communications baseband stack |
US20010014104A1 (en) * | 2000-02-09 | 2001-08-16 | Bottorff Paul A. | 10 Gigabit ethernet mappings for a common LAN/WAN PMD interface with a simple universal physical medium dependent interface |
US6842429B1 (en) * | 2000-02-22 | 2005-01-11 | Ikanos Communications, Inc | Method and apparatus for synchronizing a packet based modem supporting multiple X-DSL protocols |
US20010049756A1 (en) * | 2000-03-01 | 2001-12-06 | Ming-Kang Liu | Transport convergence sub-system with shared resources for multiport xDSL system |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US6810039B1 (en) * | 2000-03-30 | 2004-10-26 | Azanda Network Devices, Inc. | Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic |
US6647412B1 (en) * | 2000-06-23 | 2003-11-11 | Nokia Internet Communications Inc. | Method and network for propagating status information |
US6631184B1 (en) * | 2000-07-24 | 2003-10-07 | Comverse Ltd. | System for community generated feedback and/or rating |
US20020099707A1 (en) * | 2000-12-19 | 2002-07-25 | Naoyuki Matsumoto | Document delivery system, document delivery apparatus, document delivery method, program for excuting the method and storage medium storing the program |
US6944123B1 (en) * | 2001-03-21 | 2005-09-13 | Cisco Technology, Inc. | Redundant packet selection and manipulation in wireless communications systems |
US6754881B2 (en) * | 2001-12-10 | 2004-06-22 | International Business Machines Corporation | Field programmable network processor and method for customizing a network processor |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071193A1 (en) * | 2002-10-08 | 2005-03-31 | Kalies Ralph F. | Method for processing and organizing pharmacy data |
US7165077B2 (en) | 2002-10-08 | 2007-01-16 | Omnicare, Inc. | Method for processing and organizing pharmacy data |
US20040088324A1 (en) * | 2002-10-31 | 2004-05-06 | Khan Javed M. | System providing receipt inspection reporting |
US7395273B2 (en) * | 2002-10-31 | 2008-07-01 | General Electric Company | System providing receipt inspection reporting |
US9390121B2 (en) | 2005-03-18 | 2016-07-12 | Beyondcore, Inc. | Analyzing large data sets to find deviation patterns |
US7720822B1 (en) * | 2005-03-18 | 2010-05-18 | Beyondcore, Inc. | Quality management in a data-processing environment |
US10127130B2 (en) | 2005-03-18 | 2018-11-13 | Salesforce.Com | Identifying contributors that explain differences between a data set and a subset of the data set |
US20080016044A1 (en) * | 2006-07-12 | 2008-01-17 | Litcentral, Inc. | Internet user-accessible database |
US7865510B2 (en) * | 2006-07-12 | 2011-01-04 | LitCentral, Inc | Internet user-accessible database |
US8019755B2 (en) * | 2007-07-12 | 2011-09-13 | Litcentral, Inc. | Internet-user accessible system database computer method and system for analyzing government legsilationand legislative documents, statutes, bills, by-laws, proposals and amendments |
US20110078142A1 (en) * | 2007-07-12 | 2011-03-31 | Litcentral, Inc. | Internet-user accessible system database computer method and system for analyzing government legsilationand legislative documents, statutes, bills, by-laws, proposals and amendments |
US10796232B2 (en) | 2011-12-04 | 2020-10-06 | Salesforce.Com, Inc. | Explaining differences between predicted outcomes and actual outcomes of a process |
US10802687B2 (en) | 2011-12-04 | 2020-10-13 | Salesforce.Com, Inc. | Displaying differences between different data sets of a process |
US11587190B1 (en) | 2016-08-12 | 2023-02-21 | Ryan M. Frischmann | System and method for the tracking and management of skills |
Also Published As
Publication number | Publication date |
---|---|
US20020016717A1 (en) | 2002-02-07 |
US20020023169A1 (en) | 2002-02-21 |
IL153739A0 (en) | 2003-07-06 |
PL359626A1 (en) | 2004-08-23 |
CA2422680A1 (en) | 2002-01-10 |
US7162450B2 (en) | 2007-01-09 |
EP1316027A4 (en) | 2005-02-23 |
IL153739A (en) | 2007-12-03 |
AU2001270268B2 (en) | 2007-06-14 |
EP1316027A1 (en) | 2003-06-04 |
US7197542B2 (en) | 2007-03-27 |
AU7026801A (en) | 2002-01-14 |
WO2002003253A1 (en) | 2002-01-10 |
CA2422680C (en) | 2014-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7162450B2 (en) | Business method for determining quality and integrity of data content | |
AU2001270268A1 (en) | System and method for signaling quality of data content | |
US11436613B2 (en) | Computer-guided corporate governance with document generation and execution | |
US7320016B2 (en) | Method for visually programming instruction set for process | |
US20190156380A1 (en) | Methods and systems for data authentication services | |
US7246144B2 (en) | Method and system for managing a plurality of enterprise business systems | |
US20030065726A1 (en) | Combined message broker | |
US20060020641A1 (en) | Business process management system and method | |
US7574483B1 (en) | System and method for change management process automation | |
US20090210258A1 (en) | Internet protocol data transmission insurance system | |
CN102216926A (en) | Remote web-based document creation system and method | |
CA2509152A1 (en) | Content management system | |
WO2000025245A9 (en) | Mechanism for multiple party notarization of electronic transactions | |
US20030065725A1 (en) | Verified message broker | |
AU2005289750A1 (en) | Business process management system and method | |
WO2000025246A1 (en) | Method and apparatus for establishing electronic transactions | |
WO2023230840A1 (en) | Product production management method and apparatus, electronic device, and readable storage medium | |
KR102592320B1 (en) | Web server that performs test report validation based on blockchain network and Validation system for the same | |
CN116450098A (en) | Digital cockpit of digital cloud desktop system based on business trip industry | |
WO2024069876A1 (en) | Evaluation device, evaluation method, and recording medium | |
ESCAP | Guide to implementation of electronic messages for cross-border paperless trade | |
DOĞAÇ et al. | Design and Implementation of the eInvoice Interoperability Profile of the Revenue Administration of Turkey | |
WO2005020019A2 (en) | Method and system for managing a plurality of enterprise business process systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |