IP Library Granted Patent US 12,475,093
Granted Patent B1
US 12,475,093 · App. 18/668,602 · Granted Nov 18, 2025

Semantic versioning calculator for data products

Inventors: Jenna Lau-Caruso (Holland Landing, CA); Lior Aronovich (Thornhill, CA); Priya Unnikrishnan (Richmond Hill, CA); Wing Hon Lee (Richmond Hill, CA); Leigh Chen (Scarborough, CA)
Assignee: International Business Machines Corporation
G06F16/219G06F16/2358H04L67/55
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,475,093
App. No.
18/668,602
Granted
Nov 18, 2025
Kind
B1
Abstract

A computer-implemented method for receiving evaluation criteria comprising rules for evaluating changes to a data file, where the data file comprises a plurality of assets. The method may further include detecting at least one change to one or more assets of the plurality of assets and identifying a category for the at least one change, based on the received evaluation criteria. In response to identifying a category for a plurality of changes, the method may aggregate the identified category of each of the plurality of changes of each asset of the data file. In response to the aggregated categories exceeding one or more predetermined thresholds, the method may further include generating a new semantic version for each changed asset of the plurality of assets and a new semantic version for the data file overall. The method may also push the new semantic version to at least one client computer.

Claims (39)

1 . A computer-implemented method, comprising:

receiving, by a processor set, evaluation criteria comprising rules for evaluating changes to a data file, wherein the data file comprises a plurality of assets;

detecting, by the processor set over time, at least one change to one or more assets of the plurality of assets;

identifying, by the processor set, a category for the at least one change, based on the received evaluation criteria;

in response to identifying a category for a plurality of changes, aggregating, by the processor set, the identified category of each of the plurality of changes of each asset of the data file;

in response to the aggregated categories exceeding one or more predetermined thresholds, generating, by the processor set, a new semantic version for each changed asset of the plurality of assets and a new semantic version for the data file overall; and

pushing the new semantic version for each changed asset to at least one client computer having an outdated version of at least one changed asset, such that the at least one client computer uses the new semantic version for downstream tasks.

2 . The computer-implemented method of claim 1 , wherein the received evaluation criteria further comprises rules for defining a major change, a minor change, and a patch change.

3 . The computer-implemented method of claim 1 , wherein the data file comprises a plurality of asset types.

4 . The computer-implemented method of claim 3 , wherein the data file comprises structured data and unstructured data.

5 . The computer-implemented method of claim 1 , wherein identifying the category for the at least one change is performed using a machine learning algorithm.

6 . The computer-implemented method of claim 5 , further comprising training the machine learning algorithm to identify categories for the at least one change to structured data or to unstructured data.

7 . The computer-implemented method of claim 1 , further comprising calculating a weight for each asset of a plurality of assets, wherein identifying the category for the at least one change is further based on the calculated weight for each asset.

8 . The computer-implemented method of claim 1 , wherein the processor set and the at least one client computer are controlled by the same entity.

9 . The computer-implemented method of claim 1 , further comprising notifying the at least one client computer that the new semantic version has been generated.

10 . A computer program product comprising one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to:

receive evaluation criteria comprising rules for evaluating changes to a data file, wherein the data file comprises a plurality of assets;

detect at least one change to one or more assets of the plurality of assets;

identify a category for the at least one change, based on the received evaluation criteria;

in response to identifying a category for a plurality of changes, aggregate the identified category of each of the plurality of changes of each asset of the data file;

in response to the aggregated categories exceeding one or more predetermined thresholds, generating a new semantic version for each changed asset of the plurality of assets and a new semantic version for the data file overall; and

push the new semantic version for each changed asset to at least one client computer having an outdated version of at least one changed asset, such that the at least one client computer uses the new semantic version for downstream tasks.

11 . The computer program product of claim 10 , wherein the data file comprises a plurality of data types comprising structured and unstructured data.

12 . The computer program product of claim 10 , wherein the program instructions are further executable to identify the category for the at least one change is performed using a machine learning algorithm.

13 . The computer program product of claim 12 , wherein the program instructions are further executable to train the machine learning algorithm to identify categories for the at least one change to structured data or to unstructured data.

14 . The computer program product of claim 10 , wherein the program instructions are further executable to notify clients having an outdated version that the new semantic version has been generated.

15 . A system comprising:

a processor set, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to:

receive evaluation criteria comprising rules for evaluating changes to a data file, wherein the data file comprises a plurality of assets;

detect at least one change to one or more assets of the plurality of assets;

identify a category for the at least one change, based on the received evaluation criteria;

in response to identifying a category for a plurality of changes, aggregate the identified category of each of the plurality of changes of each asset of the data file;

in response to the aggregated categories exceeding one or more predetermined thresholds, generating a new semantic version for each changed asset of the plurality of assets and a new semantic version for the data file overall; and

push the new semantic version for each changed asset to at least one client computer having an outdated version of at least one changed asset, such that the at least one client computer uses the new semantic version for downstream tasks.

16 . The system of claim 15 , wherein the received evaluation criteria further comprises rules for defining a major change, a minor change, and a patch change.

17 . The system of claim 15 , wherein the data file comprises a plurality of asset types.

18 . The system of claim 15 , wherein the program instructions are further executable to identify the category for the at least one change is performed using a machine learning algorithm.

19 . The system of claim 15 , wherein the program instructions are further executable to train the machine learning algorithm to identify categories for the at least one change to structured data or to unstructured data.

20 . The system of claim 15 , wherein the program instructions are further executable to notify clients having an outdated version that the new semantic version has been generated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2024
From: LAU-CARUSO, JENNA; ARONOVICH, LIOR; UNNIKRISHNAN, PRIYA; LEE, WING HON; CHEN, LEIGH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 067463/0126 →
References Cited (31)
US 11361354B2 · Quinn et al. · 2022 [cited by applicant]
US 11822947B2 · Chandrashekar et al. · 2023 [cited by applicant]
US 20120084257A1 · Bansode et al. · 2012 [cited by applicant]
US 20180107635A1 · Chen et al. · 2018 [cited by applicant]
US 20200073940A1 · Grosset · 2020 [cited by examiner]
US 20200074563A1 · Grosset · 2020 [cited by examiner]
US 20210157623A1 · Chandrashekar et al. · 2021 [cited by applicant]
US 20210182875A1 · Babu · 2021 [cited by examiner]
US 20210334871A1 · Quinn · 2021 [cited by examiner]
US 20220318223A1 · Ahluwalia · 2022 [cited by examiner]
WO 2019025945A1 · 2019 [cited by applicant]
Shraga et al., “Explaining Dataset Changes for Semantic Data Versioning with Explain-Da-V (Technical Report)”, https://arxiv.org/abs/2301.13095, Jan. 30, 2023, 16 pages. [cited by applicant]
Klump et al., “Versioning Data Is About More than Revisions: A Conceptual Framework and Proposed Principles”, https://datascience.codata.org/articles/10.5334/dsj-2021-012, Mar. 23, 2021, 13 pages. [cited by applicant]
Anonymous, “Automatic Semantic System Information Model Generation”, https://priorart.ip.com/IPCOM/000272941, Sep. 14, 2023, 8 pages. [cited by applicant]
Anonymous, “System and Method to Assess Modernization Complexity of Legacy Applications Based on Component Version Upgrade Computation”, https://priorart.ip.com/IPCOM/000272401, Jun. 2, 2023, 7 pages. [cited by applicant]
Anonymous, “System for Dynamic Enablement Content Generation and Responsible Asset Reuse”, https://priorart.ip.com/IPCOM/000264905, Feb. 5, 2021, 6 pages. [cited by applicant]
Sompel et al., “An HTTP-Based Versioning Mechanism for Linked Data”, https://arxiv.org/abs/1003.3661, Mar. 18, 2010, 10 pages. [cited by applicant]
Seering et al., “Efficient Versioning for Scientific Array Databases”, https://ieeexplore.ieee.org/document/6228152, Apr. 1-5, 2012, 12 pages. [cited by applicant]
Wang et al., “Conceptual Modeling for Advanced Application Domains”, Website, Nov. 8-12, 2004, 706 pages. [cited by applicant]
Castro et al., “Schema Versioning for Multitemporal Relational Databases”, https://www.sciencedirect.com/science/article/abs/pii/S0306437997000173, Jul. 1997, 42 pages. [cited by applicant]
Huang, “Effective Data Versioning for Collaborative Data Analytics”, https://dl.acm.org/doi/abs/10.1145/3318464.3394027, Jun. 2020, 7 pages. [cited by applicant]
Semver, “Semantic Versioning 2.0.0”, https://semver.org/, Page Accessed Jan. 30, 2024, 10 pages. [cited by applicant]
Lam et al., “Putting the Semantics into Semantic Versioning”, https://arxiv.org/abs/2008.07069, Aug. 17, 2020, 23 pages. [cited by applicant]
Anonymous, “Versioning Systems to Support Full and Incremental Data Set Updates”, https://priorart.ip.com/IPCOM/000230623, Aug. 27, 2013, 16 pages. [cited by applicant]
Anonymous, “A system and method to protect and control distributed data versions”, https://priorart.ip.com/IPCOM/000264058, Nov. 6, 2020, 11 pages. [cited by applicant]
Golfarelli et al., “Schema Versioning in Data Warehouses”, https://link.springer.com/chapter/10.1007/978-3-540-30466-1_38, Jan. 2005, 8 pages. [cited by applicant]
Baral, “Semantic versioning for Data Products”, https://medium.com/@baral.malay/semantic-versioning-for-data-products-e887f082f17d, Apr. 9, 2023, 9 pages. [cited by applicant]
Falster et al., “Datastorr: a workflow and package for delivering successive versions of ‘evolving data’ directly into R”, https://academic.oup.com/gigascience/article/8/5/giz035/5482388, May 1, 2019, 25 pages. [cited by applicant]
Koren et al., “Semantic Versioning for Data Products”, https://medium.com/data-architect/semantic-versioning-for-data-products-2b060962093, Jan. 14, 2019, 10 pages. [cited by applicant]
Anonymous, “Batch processing”, Wikipedia, Mar. 29, 2024, 6 pages, doi: https://en.wikipedia.org/w/index.php?title=Batch_processing&oldid=1216171198. [cited by applicant]
International Searching Authority, “Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or Declaration,” Patent Cooperation Treaty, Sep. 4, 20… [cited by applicant]