IP Library Granted Patent US 10,558,642
Granted Patent B2
US 10,558,642 · App. 15/700,932 · Granted Feb 11, 2020

Mechanism for deprecating object oriented data

Inventors: Govindarajan Rangarajan (San Jose, CA); Narayan Kumar (Santa Clara, CA)
Assignee: BMC Software, Inc.
G06F16/235G06F16/162G06F16/289G06F16/86G06F17/243
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 10,558,642
App. No.
15/700,932
Granted
Feb 11, 2020
Kind
B2
Abstract

Techniques are described to allow the deprecation of classes in an object-oriented data model, such as a CDM for a CMDB. When a class is deprecated and replaced by another existing or new class, data associated with instances of the deprecated class may be migrated to the replacement class. A mapping between the deprecated class and its replacement class may be provided to allow existing applications to continue to access data using the deprecated class without change until the deprecated class is finally deleted or the application is updated to use the replacement class. New applications written to use the object-oriented data model after the deprecation may use the replacement class to access data instances created using the original data model.

Claims (62)

1. A computer system comprising:

at least one processor; and

a memory storing a data model of a database, the data model including at least a first class and a second class, the memory also storing instructions that, when executed by the at least one processor, cause the system to perform operations comprising:

selecting the second class of the data model as a replacement for the first class,

moving data associated with the first class from data structures associated with the first class in the database to data structures associated with the second class in the database, and

marking the first class as deprecated,

wherein the moving enables operations that access the data structures associated with the second class to access the data associated with the first class.

2. The computer system of claim 1 , wherein the operations further comprise:

marking a plurality of subclasses of the first class as deprecated; and

triggering replacement of each respective subclass with a sibling of a superclass of the first class as a replacement for the respective subclass.

3. The computer system of claim 1 , wherein the operations further comprise:

mapping an API call made via a vendor form to a database API; and

mapping data obtained in a format for the second class to a format for the first class.

4. The computer system of claim 1 , wherein the operations further comprise:

in response to an operation accessing the first class, generating a message indicating a suggested application modification to eliminate use of the first class.

5. The computer system of claim 1 , wherein the operations further comprise:

deprecating at least one attribute of the first class and replacing the at least one attribute with a new attribute in the second class that is of the same data type as the at least one attribute being deprecated.

6. The computer system of claim 1 , wherein the operations further comprise:

generating at least one configuration class for mapping the first class to the second class; and

accessing the at least one configuration class to access the data structures associated with the second class.

7. The computer system of claim 6 , wherein mapping the first class to the second class is performed as part of an update to the database.

8. A method comprising:

obtaining access to a database storing a data model including at least a first class and a second class;

marking the first class of the data model as deprecated;

selecting the second class of the data model as a replacement for the first class;

moving data associated with the first class from data structures associated with the first class in the database to data structures associated with the second class in the database;

marking the first class as deprecated; and

redirecting operations that access the data structures associated with the first class to access the data structures associated with the second class,

wherein the moving enables operations that access the data structures associated with the second class to access the data associated with the first class.

9. The method of claim 8 , further comprising:

marking a plurality of subclasses of the first class as deprecated; and

triggering replacement of each respective subclass with a sibling of a superclass of the first class as a replacement for the respective subclass.

10. The method of claim 8 , wherein the redirecting includes:

mapping an API call made via a vendor form to a database API; and

mapping data obtained in a format for the second class to a format for the first class.

11. The method of claim 8 , further comprising:

in response to an operation accessing the first class, generating a message indicating a suggested application modification to eliminate use of the first class.

12. The method of claim 8 , further comprising:

deprecating at least one attribute of the first class and replacing the at least one attribute with a new attribute in the second class that is of the same data type as the at least one attribute being deprecated.

13. The method of claim 8 , further comprising:

generating at least one configuration class for mapping the first class to the second class,

wherein the redirecting includes accessing the at least one configuration class to access the data structures associated with the second class.

14. The method of claim 13 , wherein mapping the first class to the second class is performed as part of an update to the database.

15. A computer-readable medium comprising:

at least one processor; and

a memory storing a data model for a computer-implemented database, the data model including a plurality of classes, the memory also storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving a request to deprecate a portion of classes of the plurality of classes,

selecting, for each class in the portion, a respective replacement class for the class in the portion of classes, and

migrating data associated with each instance of each class in the portion of classes to an instance of each respective replacement class by:

marking each class in the portion of classes as deprecated,

configuring, for each class in the portion of classes, a mapping of each element in the class to an existing or new element in the respective replacement class, and

moving data associated with the instances of each class in the portion of classes to at least one instance of the respective replacement class in the database.

16. The computer-readable medium of claim 15 , wherein deprecating the portion of classes is performed in a multithreaded process.

17. The computer-readable medium of claim 15 , wherein the migration is configured to be performed unless a predefined deprecation period is expired.

18. The computer-readable medium of claim 15 , wherein the operations further comprise:

marking a plurality of subclasses of at least one of the plurality of classes as deprecated; and

triggering replacement of each respective subclass with a sibling of a superclass of at least one of the plurality of classes as a replacement for the respective subclass.

19. The computer-readable medium of claim 15 , wherein the operations further comprise:

redirecting operations that access the instances of each class in the portion of classes to access the instances of the respective replacement classes,

wherein the moving enables operations that access the instances of the respective replacement classes to access the data associated with the instances of classes in the portion of classes.

20. The computer-readable medium of claim 19 , wherein the operations further comprise:

deprecating at least one attribute of the classes in the portion of classes and replacing the at least one attribute with a new attribute that is of the same data type as the at least one attribute being deprecated.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jun 22, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046176/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: RANGARAJAN, GOVINDARAJAN; KUMAR, NARAYAN
To: BMC SOFTWARE, INC.
Reel/Frame 043571/0011 →
Continuity (4)
Continuation 14659002 · Mar 16, 2015
Continuation 12750291 · Mar 30, 2010
Provisional Application 61289342 · Dec 22, 2009
Related Publication 20180004794A1 · Jan 4, 2018