What is claimed is:
1. A computer-implemented method for managing data integrity in a first data management system and a second data management system, each system having stored therein a plurality of data collections, each data collection having at least one attribute that uniquely identifies a single data collection from the other data collections, the method comprising:
providing a user with an identity of one or more data collections from the data collections stored in the first and second data management systems, the one or more data collections identified to be subject to a future data integrity management process;
permitting the user to determine whether to proceed with managing data integrity; and
after receiving an indication from the user to proceed, proceeding with managing the data integrity of the data collections.
2. The method of claim 1 wherein permitting the user to determine whether to proceed with managing data integrity comprises:
pausing the data integrity management process; and
receiving an indication from the user whether to proceed with managing the data integrity of the data collections.
3. The method of claim 1 wherein permitting the user to determine whether to proceed with managing data integrity comprises:
presenting the number of data collections that occur in both the first data management system and the second data management system;
presenting the number of data collections that occur in only the first data management system; and
presenting the number of data collections that occur in only the second data management system.
4. The method of claim 1 wherein a data collection comprises an object instance.
5. The method of claim 1 wherein a data collection comprises a data record.
6. The method of claim 1 wherein a data collection comprises a row in a database table.
7. The method of claim 1 wherein a data collection comprises a data segment.
8. The method of claim 1 wherein providing a user with an identity of one or more data collections comprises:
extracting from the first data management system a first group of values of a uniquely identifying attribute, each value of the uniquely identifying attribute being associated with a single data collection provided to the user, and
extracting from the second data management system a second group of values of the uniquely identifying attribute, each value of the uniquely identifying attribute being associated with a single data collection provided to the user.
9. The method of claim 1 wherein managing the data integrity of the data collections comprises:
extracting from the first data management system a first group of data collections provided to the user, each data collection being associated with a first set of attribute values; and
extracting from the second data management system a second group of data collections provided to the user, each data collection being associated with a second set of attribute values.
10. The method of claim 9 wherein the managing data integrity of the data collections comprises:
receiving from the user an indication of a data collection that is included both in the first group of data collections extracted from the first data management system and in the second group of data collections extracted from the second data management system; and
providing the user with an indication of whether the first set of attribute values associated with the indicated data collection is equal to the second set of attribute values associated with the indicated data collection.
11. The method of claim 1 wherein managing the data integrity of the data collections comprises correcting detected inconsistencies by sending one or more data collections from the first data management system to the second data management system.
12. The method of claim 1 wherein managing the data integrity of the data collections comprises correcting detected inconsistencies by sending one or more data collections from the second data management system to the first data management system.
13. The method of claim 1 wherein managing the data integrity of the data collections comprises correcting detected inconsistencies by deleting one or more data collections from the first data management system.
14. The method of claim 1 wherein managing the data integrity of the data collections comprises correcting detected inconsistencies by deleting one or more data collections from the second data management system.
15. A computer-readable medium or propagated signal having embodied thereon a computer program configured to manage data integrity in a first data management system and a second data management system, each system having stored therein a plurality of data collections, each data collection having at least one attribute that uniquely identifies a single data collection from the other data collections, the medium or signal comprising one or more code segments configured to:
provide a user with an identity of one or more data collections from the data collections stored in the first and second data management systems, the one or more data collections identified to be subject to a future data integrity management process;
permit the user to determine whether to proceed with managing data integrity; and
after receiving an indication from the user to proceed, proceed with managing the data integrity of the data collections.
16. The medium or signal of claim 15 wherein the one or more code segments configured to permit the user to determine whether to proceed with managing data integrity comprise one or more code segments configured to:
pause the data integrity management process; and
receive an indication from the user whether to proceed with managing the data integrity of the data collections.
17. The medium or signal of claim 15 wherein the one or more code segments configured to permit the user to determine whether to proceed with managing data integrity comprise one or more code segments configured to:
present the number of data collections that occur in both the first data management system and the second data management system;
present the number of data collections that occur in only the first data management system; and
present the number of data collections that occur in only the second data management system.
18. The medium or signal of claim 15 wherein a data collection comprises an object instance.
19. The medium or signal of claim 15 wherein a data collection comprises a data record.
20. The medium or signal of claim 15 wherein a data collection comprises a row in a database table.
21. The medium or signal of claim 15 wherein a data collection comprises a data segment.
22. The medium or signal of claim 15 wherein the one or more code segments configured to provide a user with an identity of one or more data collections comprise one or more code segments configured to:
extract from the first data management system a first group of values of a uniquely identifying attribute, each value of the uniquely identifying attribute being associated with a single data collection provided to the user; and
extract from the second data management system a second group of values of the uniquely identifying attribute, each value of the uniquely identifying attribute being associated with a single data collection provided to the user.
23. The medium or signal of claim 15 wherein the one or more code segments configured to manage the data integrity of the data collections comprise one or more code segments configured to:
extract from the first data management system a first group of data collections provided to the user that meet the filter condition, each data collection being associated with a first set of attribute values; and
extract from the second data management system a second group of data collections provided to the user that meet the filter condition, each data collection being associated with a second set of attribute values.
24. The medium or signal of claim 15 wherein the one or more code segments configured to manage the data integrity of the data collections comprise one or more code segments configured to:
receive from the user an indication of a data collection that is included both in the first group of data collections extracted from the first data management system and in the second group of data collections extracted from the second data management system; and
provide the user with an indication of whether the first set of attribute values associated with the indicated data collection is equal to the second set of attribute values associated with the indicated data collection.
25. The medium or signal of claim 15 wherein the one or more code segments configured to manage the data integrity of the data collections comprise one or more code segments configured to correct detected inconsistencies by sending one or more data collections from the first data management system to the second data management system.
26. The medium or signal of claim 15 wherein the one or more code segments configured to manage the data integrity of the data collections comprise comprise one or more code segments configured to correct detected inconsistencies by sending one or more data collections from the second data management system to the first data management system.
27. The medium or signal of claim 15 wherein the one or more code segments configured to manage the data integrity of the data collections comprise one or more code segments configured to correct detected inconsistencies by deleting one or more data collections from the first data management system.
28. The medium or signal of claim 24 wherein the one or more code segments configured to manage the data integrity of the data collections comprise one or more code segments configured to correct detected inconsistencies by deleting one or more data collections from the second data management system.
29. A computer-readable medium or propagated signal having embodied thereon a computer program configured to manage data integrity in a leading data management system and a contrast data management system, the medium or signal comprising one or more code segments configured to:
extract from the leading data management system a first group of values of at least one attribute that uniquely identifies a single data collection from the other data collections;
extract from the contrast data management system a second group of values of at least one attribute that uniquely identifies a single data collection from the other data collections;
compare the first group of values of the uniquely identifying attribute with the second group of values of the uniquely identifying attribute to determine whether each value of the uniquely identifying attribute in the first group represent the same data collection as a value of the uniquely identifying attribute in the second group;
present a list of the values of the uniquely identifying attribute that are associated with both the leading data management system and the contrast data management system, the values of the uniquely identifying attribute that are associated with only the leading data management system, and the values of uniquely identifying attribute that are associated with only the contrast data management system;
permit the user to determine whether to proceed with managing data integrity; and
after receiving an indication from the user to proceed,
extract from the leading data management system a first group of attribute value sets, each attribute value set being associated with a single data collection that is included in both the leading data management system and the contrast data management system,
extract from the contrast data management system a second group of attribute value sets, each attribute value set being associated with a particular data collection that is included in both the leading data management system and the contrast data management system, and
for each attribute value set extracted from the leading data management system, identify the attribute value set from the contrast data management system that represents the same data collection and compare the attribute value set from the leading data management system with the attribute value set from the contrast data management system to determine whether the attribute value sets match, and present an indication whether the attribute value set from the leading data management system matches the attribute value set from the contrast data management system.
30. The medium or signal of claim 29 wherein the one or more code segments configured to manage data integrity comprise one or more code segments configured to receive an indication from a user to compare data collections in the leading data management system with data collections in the contrast data management system.
31. The medium or signal of claim 29 wherein the one or more code segments configured to manage data integrity comprise one or more code segments configured to:
determine which values of the at least one uniquely identifying attribute are associated with both the leading data management system and the contrast data management system;
determine which values of the at least one uniquely identifying attribute are associated with only the leading data management system; and
determine which values of the at least one uniquely identifying attribute are associated with only the contrast data management system.
32. The medium or signal of claim 29 wherein the one or more code segments configured to manage data integrity comprise one or more code segments configured to:
present the number of the values of the at least one uniquely identifying attribute are associated with both the leading data management system and the contrast data management system;
present the number of the values of the at least one uniquely identifying attribute are associated with only the leading data management system; and
present the number of the values of the at least one uniquely identifying attribute are associated with only the contrast data management system.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for detecting duplicated frames in a mirrored data communication network system, the method comprising:
creating and maintaining at least one data structure comprising one or more entries, an entry comprising key information for each one of the received data frames;
receiving a data frame via a data communication network;
computing an index to the data structure based on information acquired from the received data frame, the index pointing to an entry in the data structure; and when the entry corresponding to the computed index is empty or the entry does not comprise key information matching the key information in the received data frame,
storing the key information of the received data frame on the entry; and
forwarding the data frame to an upper software layer;
when the entry corresponding to the computed index comprises the key information matching the key information in the received data frame, the method further includes,
discarding the received data frame; and
deleting the corresponding key information from the entry,
wherein the mirrored data communications network system includes at least one sender, at least one receiver and at least two redundant physically separate data communication networks between the sender and receiver.
2. The method according to claim 1, wherein in the computing step: computing the index to the data structure based on at least two pieces of the following information:
a sender address;
a receiver address;
a data frame identifier; or
a checksum.
3. The method according to claim 1, wherein key information within an entry comprises at least two of the following:
a sender address;
a receiver address;
a data frame identifier;
a checksum; or
a time stamp.
4. The method according to claim 2, wherein the data frame identifier is incorporated in one of a mirror hearer, a virtual local area network identifier (VID) field in the virtual local area network (VLAN) tag or 802.2 standard network access protocol (SNAP) org field.
5. The method according to claim 2, wherein the checksum is a cyclic redundancy checksum in the frame check sequence field.
6. The method according to claim 1, wherein the data structure is a hash table.
7. The method according to claim 1, wherein the index to the data structure is computed by a hash function.
8. The method according to claim 1, wherein the method further comprises:
deleting timed-out pieces of key information from the data structure.
9. The method according to claim 8, wherein the method further comprises:
deleting every key information comprising an older time stamp than a predetermined threshold value.
10. The method according to claim 1, wherein the communication networks refer to local area networks.
11. A system for detecting duplicated frames in a mirrored data communication network system, the system comprising:
a creating and maintaining unit configured to create and maintain at least one data structure comprising one or more entries, an entry comprising key information for each one of the received data frames;
a receiving unit configured to receive a data frame;
a computing unit configured to compute an index to the data structure based on information acquired from the received data frame, the index pointing to an entry in the data structure;
a storing unit configured to store the key information of the received data frame on the entry, when the entry corresponding to the computed index is empty or the entry does not comprise key information matching the key information in the received data frame;
a forwarding unit configured to forward the data frame to an upper software layer;
a discarding unit configured to discard the received data frame, when the entry comprises the key information matching the key information in the received data frame; and
a deleting unit configured to delete key information from an entry, when the entry comprises the key information matching the key information in the received data frame,
wherein the mirrored data communication network system includes at least one sender, at least one receiver and at least two redundant physically separate data communication networks between the sender and receiver.
12. The system according to claim 11, wherein the computing unit is configured to compute the index to the data structure based on at least two pieces of the following information:
a sender address;
a receiver address;
a data frame identifier; or
a checksum.
13. The system according to claim 11, wherein key information within an entry comprises at least two of the following:
a sender address;
a receiver address;
a data frame identifier;
a checksum; or
a time stamp.
14. The system according to claim 11, wherein the system further comprises a placing unit configured to place a data frame identifier in one of a mirror hearer, a virtual local area network identifier (VID) field in the virtual local area network (VLAN) tag or 802.2 standard network access protocol (SNAP) org field.
15. The system according to claim 11, wherein the system further comprises a reading unit configured to read a data frame identifier from one of a mirror hearer, a virtual local area network identifier (VID) field in the virtual local area network (VLAN) tag or 802.2 standard network access protocol (SNAP) org field.
16. The system according to claim 12, wherein the checksum is a cyclic redundancy checksum in the frame check sequence field.
17. The system according to claim 11, wherein the data structure is a hash table.
18. The system according to claim 11, wherein the index to the data structure is computed by a hash function.
19. The system according to claim 11, wherein the deleting unit is configured to delete timed-out pieces of key information from the data structure.
20. The system according to claim 19, wherein the deleting unit is configured to delete every key information comprising an older time stamp than a predetermined threshold value.
21. The system according to claim 11, wherein the communication networks refer to local area networks.
22. A mirror driver for detecting duplicated frames in a mirrored data communication network system, the mirror driver comprising:
a creating and maintaining unit configured to create and maintain at least one data structure comprising one or more entries, an entry comprising key information for each one of the received data frames;
a receiving unit configured to receive a data frame;
a computing unit configured to compute an index to the data structure based on information acquired from the received data frame, the index pointing to an entry in the data structure;
a storing unit configured to store key information of the received data frame on the entry when the entry corresponding to the computed index is empty, or the entry does not comprise key information matching the key information in the received data frame;
a forwarding unit configured to forward the data frame to an upper software layer when the entry corresponding to the computed index is empty, or the entry does not comprise key information matching the key information in the received data frame;
a discarding unit configured to discard the received data frame, when the entry comprises the key information matching the key information in the received data frame; and
a deleting unit configured to delete key information from an entry, when the entry comprises the key information matching the key information in the received data frame,
wherein the mirrored data communication network system includes at least one sender, at least one receiver and at least two redundant physically separate data communication networks between the sender and receiver.
23. The mirror driver according to claim 22, wherein the computing unit is configured to compute the index to the data structure based on at least two pieces of the following information:
a sender address;
a receiver address;
a data frame identifier; or
a checksum.
24. The mirror driver according to claim 22, wherein key information within an entry comprises at least two of the following:
a sender address;
a receiver address;
a data frame identifier;
a checksum; or
a time stamp.
25. The mirror driver according to claim 23, wherein the data frame identifier is incorporated in one of a mirror hearer, a virtual local area network identifier (VID) field in the virtual local area network (VLAN) tag or 802.2 standard network access protocol (SNAP) org field.
26. The mirror driver according to claim 22, wherein the mirror driver further comprises a reading unit configured to read a data frame identifier from one of a mirror hearer, a virtual local area network identifier (VID) field in the virtual local area network (VLAN) tag or 802.2 standard network access protocol (SNAP) org field.
27. The mirror driver according to claim 23, wherein the checksum is a cyclic redundancy checksum in the frame check sequence field.
28. The mirror driver according to claim 22, wherein the data structure is a hash table.
29. The mirror driver according to claim 22, wherein the index to the data structure is computed by a hash function.
30. The mirror driver according to claim 22, wherein the deleting unit is configured to delete timed-out pieces of key information from the data structure.
31. The mirror driver according to claim 30, wherein the deleting unit is configured to delete every key information comprising an older time stamp than a predetermined threshold value.
32. The mirror driver according to claim 22, wherein the communication networks refer to local area networks.
33. An apparatus for detecting duplicated frames in a mirrored data communication network system comprising at least two redundant physically separate networks, the apparatus comprising:
creating and maintaining means for creating and maintaining at least one data structure comprising one or more entries, an entry comprising key information for each one of the received data frames;
receiving means for receiving a data frame;
computing means for computing an index to the data structure based on information acquired from the received data frame, the index pointing to an entry in the data structure;
storing means for storing the key information of the received data frame on the entry, when the entry corresponding to the computed index is empty or the entry does not comprise key information matching the key information in the received data frame;
forwarding means for forwarding the data frame to an upper software layer, when the entry corresponding to the computed index is empty or the entry does not comprise key information matching the key information in the received data frame;
discarding means for discarding the received data frame, when the entry comprises the key information matching the key information in the received data frame; and
deleting means for deleting key information from an entry, when the entry comprises the key information matching the key information in the received data frame.