An illustrative embodiment of a computer-implemented process for selective delta validation of a shared artifact receives a notification associated with a shared artifact, determines whether a unique key exists for the shared artifact in a symbol data structure, and responsive to a determination that the unique key exists, determines whether an update from an external source occurred. Responsive to a determination that the update occurred from an external source, receives a timestamp associated with the unique key from the symbol data structure to form a received timestamp, determines whether the received timestamp is prior to a last modification time, and responsive to a determination that the received timestamp is prior to the last modification time, performs a delta validation of the shared artifact.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-implemented process for selective delta validation of a shared artifact, the computer-implemented process comprising: receiving at a data processing subscriber system a notification associated with the shared artifact; determining whether a set of unique keys exists for the shared artifact in a symbol data structure, wherein the symbol data structure identifies a property of interest of an update receiver, and wherein the property of interest is a property of the shared artifact that has been predetermined to he important to the update receiver; responsive to a determination that the set of unique keys exists in the symbol data structure, determining whether a first update from an external data processing source occurred; responsive to a determination that the first update occurred from the external data processing source, retrieving a set of symbol data timestamps associated with the set of unique keys from the symbol data structure; determining whether a first timestamp in the set of symbol data timestamps is prior to a corresponding last modification timestamp associated with the shared artifact; determining whether the first update is related to the property of interest of the update receiver; and responsive to a determination that the first timestamp in the set of symbol data timestamps is prior to the corresponding last modification timestamp, and in response to determining that the first update is related to the property of interest of the update receiver, performing a delta validation of the shared artifact.
A system validates updates to shared files. It receives a notification about a shared file and checks for unique file identifiers in a symbol data structure (which stores properties of interest to users, pre-defined as important). If the identifiers exist, the system determines if an update came from an external source. If so, it retrieves timestamps associated with those identifiers from the symbol data structure. It then compares these timestamps to the file's last modification time. If the timestamp is older and the update relates to a property of interest, a detailed validation of the shared file (delta validation) is performed.
2. The computer-implemented process of claim 1 , further comprising: installing the first update into the shared artifact; receiving a second update to the shared artifact, wherein the second update is received after the first update, and wherein the second update is timestamped prior to the first update; uninstalling the first update from the shared artifact; installing the second update into the shared artifact; and subsequently reinstalling the first update into the shared artifact after the second update is installed into the shared artifact.
In addition to the shared file validation process described previously, this improvement handles update ordering issues. If a first update is installed, and then a second, older-timestamped update arrives, the system uninstalls the first update, installs the older second update, and then reinstalls the first update. This ensures updates are applied chronologically and prevents data loss or corruption caused by out-of-order changes to the shared file. This also addresses scenarios where the last modification timestamp is updated, even though the content matches the shared file.
3. The computer-implemented process of claim 1 , further comprising: responsive to a determination that the first update did not occur from the external data processing source, updating a second timestamp in the set of symbol data timestamps, the second timestamp being associated with an element of the shared artifact.
Building upon the core shared file validation process, if an update to the shared file *did not* originate from an external source, the system updates a timestamp in the symbol data structure. This timestamp is associated with a specific element or component within the shared file. This keeps the internal representation of the file synchronized with the actual content even when modifications are made locally, instead of from external updates.
4. The computer-implemented process of claim 1 , further comprising: responsive to a determination that a first key of the set of unique keys does not exist in the symbol data structure, creating a new entry in the symbol data structure using the first key and a current timestamp.
Expanding on the shared file validation system, if a unique identifier for a shared file is *not* found in the symbol data structure, the system creates a new entry. This new entry uses the unique file identifier as a key and records the current system timestamp. This ensures that new shared files are tracked and validated correctly from their initial creation or discovery by the system. This also sets up the synchronization process from the beginning.
5. The computer-implemented process of claim 1 where, responsive to a determination that the first update from the external data processing source did not occur, the computer-implemented process further comprising: modifying a property in a tool to form a modified property; and determining whether the modified property is a secondary location for a property of the shared artifact.
Further extending the shared file validation process, if an external update *did not* occur, the system checks for modifications made using a tool. If a property is modified within that tool, it determines if the modified property serves as an alternative location for a property also present in the shared file itself. This aims to address changes not immediately apparent as direct shared file edits.
6. The computer-implemented process of claim 5 where, responsive to a determination that the modified property is the secondary location for the property of the shared artifact, the computer-implemented process further comprising: mapping the modified property to a parent shared artifact; identifying a unique key of the modified property in the parent shared artifact to form an identified unique key; and updating a timestamp of an entry in the symbol data structure corresponding to the identified unique key with a current timestamp.
Continuing from the scenario where a property was modified using a tool, if the modified property is determined to be an alternative location for a property of the shared file, the system maps that modified property to the parent shared file. It identifies the corresponding unique identifier of that modified property *within* the parent shared file. Finally, it updates the timestamp associated with that identified unique identifier in the symbol data structure with the current timestamp. This maintains synchronization even for indirect file modifications.
7. The computer-implemented process of claim 1 , where the step of determining whether a first timestamp in the set of symbol data timestamps is prior to a corresponding last modification timestamp further comprises receiving a last modification time for a physical file of the shared artifact.
As part of determining if a timestamp in the symbol data structure is older than the file's last modification time, the system retrieves the last modification time directly from the shared file's physical file on the storage system. This ensures that the timestamp comparison is based on the most accurate and up-to-date information about when the shared file was last changed. This eliminates ambiguity about the file's state.
8. A computer program product comprising a computer readable storage memory having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to: receive a notification associated with a shared artifact; determine whether a set of unique keys exists for the shared artifact in a symbol data structure, wherein the symbol data structure identifies a property of interest of an update receiver, and wherein the property of interest is a property of the shared artifact that has been predetermined to be important to the updated receiver; responsive to a determination that the set of unique keys exists for the shared artifact in the symbol data structure, determine whether a first update from an external source occurred; responsive to a determination that the first update from the external data processing source occurred, retrieve a set of symbol data timestamps associated with the set of unique keys from the symbol data structure; determine whether a first timestamp in the set of symbol data timestamps is prior to a corresponding last modification timestamp associated with the shared artifact; determine whether the first update is related to the property of interest of the update receiver; and responsive to a determination that the first timestamp in the set of symbol data timestamps is prior to the corresponding last modification timestamp, and in response to a determination that the first update is related to the property of interest of the update receiver, perform a delta validation of the shared artifact.
A computer program stored on a computer-readable medium validates updates to shared files. The program receives a notification about a shared file, checks for unique file identifiers in a symbol data structure, and if present, determines if an update came from an external source. If so, it retrieves timestamps from the data structure associated with those identifiers, compares these to the file's last modification time, and verifies the update relates to pre-defined properties of interest. If the timestamp is older and the update is relevant, a delta validation of the shared file is performed.
9. The computer program product of claim 8 , where the computer readable program code when executed on the computer further causes the computer to: install the first update into the shared artifact; receive a second update to the shared artifact, wherein the second update is received after the first update, and wherein the second update is timestamped prior to the first update; uninstall the update from the shared artifact; install the second update into the shared artifact; and subsequently reinstall the first update into the shared artifact after the second update is installed into the shared artifact.
The computer program for shared file validation, described above, also handles update ordering. It installs the first update. If a second, older update arrives, it uninstalls the first, installs the second, and reinstalls the first. This ensures that updates are applied in the correct sequence to avoid data corruption due to timestamping.
10. The computer program product of claim 8 , where the computer readable program code when executed on the computer further causes the computer to: responsive to a determination that the first update did not occur from the external source, update a second timestamp in the set of symbol data timestamps, the second timestamp being associated with an element of the shared artifact.
The computer program for shared file validation also includes a process so that if an update to a shared file *did not* originate from an external source, the program updates a timestamp in the symbol data structure. This timestamp is associated with a specific element within the shared file. This ensures synchronization even when changes are local.
11. The computer program product of claim 8 , where the computer readable program code when executed on the computer further causes the computer to: responsive to a determination that a first key of the set of unique keys does not exist in the symbol data structure, create a new entry in the symbol data structure using the first key and a current timestamp.
The computer program for shared file validation includes a check so that if a unique identifier for a shared file is *not* found in the symbol data structure, the program creates a new entry. This new entry uses the unique file identifier as a key and records the current system timestamp so it can be added to the managed files.
12. The computer program product of claim 8 , where the computer readable program code when executed on the computer further causes the computer to: modify a property in a tool to form a modified property; and determine whether the modified property is a secondary location for a property of the shared artifact.
The computer program for shared file validation also checks for modifications made using a tool. If a property is modified within that tool, the program determines if the modified property is an alternative location for a property also present in the shared file itself. This helps the program address changes that are not direct file edits.
13. The computer program product of claim 12 , where the computer readable program code when executed on the computer further causes the computer to: map the modified property to a parent shared artifact; identify a unique key of the modified property in the parent shared artifact to form an identified unique key; and update a timestamp of an entry in the symbol data structure corresponding to the identified unique key with a current timestamp.
The computer program for shared file validation also includes a mechanism so that if the modified property is determined to be an alternative location for a property of the shared file, the program maps that modified property to the parent shared file, identifies the corresponding unique identifier within the parent shared file, and updates the timestamp in the symbol data structure.
14. The computer program product of claim 8 , where the computer readable program code when executed on the computer further causes the computer to receive a last modification time for a physical file of the shared artifact.
The computer program for shared file validation determines if a timestamp is older than the file's last modification time by receiving that last modification time directly from the file's physical file. This ensures the timestamp comparison uses the most accurate information.
15. An apparatus, comprising: a storage device comprising computer executable program code; a processor coupled to the storage device, where the processor executes the computer executable program code to direct the apparatus to: receive a notification associated with a shared artifact; determine whether a set of unique keys exists for the shared artifact in a symbol data structure, wherein the symbol data structure identifies a property of interest of an update receiver, and wherein the property of interest is a p property of the shared artifact that has been predetermined to be important to the update receiver; responsive to a determination that the set of unique keys exists for the shared artifact in the symbol data structure, determine whether a first update from an external source occurred; responsive to a determination that the first update from the external data processing source occurred, retrieve a set of symbol data timestamps associated with the set of unique keys from the symbol data structure; determine whether a first timestamp in the set of symbol data timestamps is prior to a corresponding last modification timestamp associated with the shared artifact; determine whether the first update is related to the property of interest of the update receiver; and responsive to a determination that the first timestamp in the set of symbol data timestamps is prior to the corresponding last modification timestamp, and in response to a determination that the first update is related to the property of interest of the update receiver, perform a delta validation of the shared artifact.
An apparatus includes a processor and memory programmed to validate updates to shared files. The apparatus receives a notification about a shared file, checks for unique identifiers in a symbol data structure, determines if an update came from an external source, retrieves timestamps from the data structure, compares these to the file's last modification time, and verifies the update relates to pre-defined user properties. If the timestamp is older and the update is relevant, a delta validation is performed.
16. The apparatus of claim 15 , wherein the processor further executes the computer executable program code to direct the apparatus to: install the first update into the shared artifact; receive a second update to the shared artifact, wherein the second update is received after the first update, and wherein the second update is timestamped prior to the first update; uninstall the first update from the shared artifact; install the second update into the shared artifact; and subsequently reinstall the first update into the shared artifact after the second update is installed, into the shared artifact.
The shared file validation apparatus described previously also includes functionality to handle update ordering. If a first update is installed and a second, older update arrives, the apparatus uninstalls the first, installs the second, and reinstalls the first to maintain chronological consistency and data integrity.
17. The apparatus of claim 15 , where the processor further executes the computer executable program code to direct the apparatus to: responsive to a determination that the first update did not occur from the external data processing source, update a second timestamp in the set of symbol data timestamps, the second timestamp being associated with an element of the shared artifact.
The shared file validation apparatus also accounts for internal modifications. If an update to a shared file *did not* originate from an external source, the apparatus updates a timestamp in the symbol data structure associated with that file's element.
18. The apparatus of claim 15 , where the processor further executes the computer executable program code to direct the apparatus to: responsive to a determination that a first key of the set of unique keys does not exist in the symbol data structure, create a new entry in the symbol data structure using the first key and a current timestamp.
The shared file validation apparatus is also equipped to handle new shared files. If a unique identifier for a shared file is *not* found in the symbol data structure, the apparatus creates a new entry using the identifier and the current timestamp.
19. The apparatus of claim 15 , where the processor further executes the computer executable program code to direct the apparatus to: modify a property in a tool to form a modified property; and determine whether the modified property is a secondary location for a property of the shared artifact.
The shared file validation apparatus includes checks for tool modifications. If a property is modified within a tool, the apparatus determines if the modified property is an alternative location for a property also present in the shared file.
20. The apparatus of claim 19 , wherein the processor further executes the computer executable program code to direct the apparatus to: map the modified property to a parent shared artifact; identify a unique key of the modified property in the parent shared artifact to form an identified unique key; and update a timestamp of an entry in the symbol data structure corresponding to the identified unique key with a current timestamp.
The shared file validation apparatus maps the modified property to the parent shared file, identifies the corresponding unique identifier within the parent shared file, and updates the timestamp in the symbol data structure to manage tool modifications.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 26, 2010
August 27, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.