IP Library Granted Patent US 8,983,982
Granted Patent B2
US 8,983,982 · App. 12/750,291 · Granted Mar 17, 2015

Mechanism for deprecating object oriented data

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 8,983,982
App. No.
12/750,291
Granted
Mar 17, 2015
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 (54)

1. A method, comprising:

deprecating a first class of an object-oriented model of a computer-implemented database;

selecting a second class of the object-oriented model as a replacement for the first class;

migrating data associated with a first instance of the first class to a second instance of the second class by:

marking the first class as deprecated in the object-oriented model,

creating a mapping between the first class and the second class,

based on the mapping between the first class and the second class, creating the second instance of the second class, and

moving the data from the first instance of the first class to the second instance of the second class; and

manipulating a call from an existing application for the first instance of the first class to use the second instance of the second class based on the mapping, so that the existing application continues to function.

2. The method of claim 1 , wherein the act of selecting the second class comprises:

creating a new class of the object-oriented model; and

selecting the new class as the replacement for the first class.

3. The method of claim 1 , wherein the act of selecting the second class comprises:

selecting an existing class of the object-oriented model as the replacement for the first class.

4. The method of claim 1 , wherein the act of selecting the second class comprises:

selecting a superclass of the first class as the replacement for the first class.

5. The method of claim 1 , wherein the act of selecting the second class comprises:

selecting a sibling class of the first class as the replacement for the first class.

6. The method of claim 1 , wherein the act of selecting the second class comprises:

selecting a sibling class of a superclass of the first class as the replacement for the first class.

7. The method of claim 1 , wherein the act of selecting the second class comprises:

selecting a class in a different class hierarchy than the first class as the replacement for the first class.

8. The method of claim 1 , wherein the act of creating the mapping comprises:

creating a first attribute of the second class corresponding to a second attribute of the first class.

9. The method of claim 1 , wherein the act of creating the mapping comprises:

configuring a first attribute of the second class to model a second attribute of the first class.

10. The method of claim 1 , wherein the act of creating the mapping comprises:

storing the mapping as an instance of a third class in the object-oriented model.

11. The method of claim 1 , wherein the act of creating the mapping between the first class and the second class comprises:

mapping a first class identifier, associated with the first class to a second class identifier, associated with the second class; and

mapping a first attribute identifier, associated with a first attribute of the first class to a second attribute identifier, associated with a second attribute of the second class.

12. The method of claim 11 , wherein the act of creating the mapping between the first class and the second class further comprises:

storing an indication of whether an instance of the second class can be considered as an instance of the first class.

13. The method of claim 1 , further comprising:

deleting the first class from the object-oriented model.

14. The method of claim 1 , wherein the mapping includes a default value for an attribute in the second class that lacks a corresponding attribute in the first class.

15. A computer readable medium with instructions for a programmable control device stored thereon wherein the instructions cause the programmable control device to perform the method of claim 1 .

16. A computer system comprising:

at least one processor; and

a memory storing an object-oriented model of a computer-implemented database, the object-oriented 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:

receiving a request to deprecate the first class,

selecting the second class of the object-oriented model as a replacement for the first class,

migrating data associated with an instance of the first class to an instance of the second class by:

marking the first class as deprecated in the object-oriented model,

creating a mapping between the first class and the second class,

based on the mapping between the first class and the second class, creating the second instance of the second class, and

moving the data from the first instance of the first class to the second instance of the second class, and

manipulating a call, from an existing application, for the first class to use the second class based on the mapping, so that the existing application continues to function.

17. The system of claim 16 , wherein creating the mapping comprises:

storing the mapping as an instance of a third class in the object-oriented model.

18. The system of claim 16 , wherein the mapping includes an indication of whether an instance of the second class can be considered as an instance of the first class.

19. The system of claim 16 , wherein the mapping includes a default value for an attribute in the second class that lacks a corresponding attribute in the first class.

20. The system of claim 16 , wherein creating the mapping comprises:

creating a first attribute of the second class corresponding to a second attribute of the first class.

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 AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2010
From: RANGARAJAN, GOVINDARAJAN; KUMAR, NARAYAN
To: BMC SOFTWARE, INC.
Reel/Frame 024162/0706 →