IP Library Granted Patent US 9,760,589
Granted Patent B2
US 9,760,589 · App. 14/659,002 · Granted Sep 12, 2017

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 9,760,589
App. No.
14/659,002
Granted
Sep 12, 2017
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 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 model after the deprecation may use the replacement class to access data instances created using the original data model.

Claims (59)

1. A computer system comprising:

at least one processor; and

a memory storing a common data model of a configuration management database (CMDB), the common 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:

marking the first class of the common data model as deprecated,

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

moving data associated with a first instance of the first class in the CMBD to a second instance of the second class in the CMDB, according to a mapping between the first class and second class, and

accessing, via the mapping, the second instance of the second class in response to a request for the first instance of the first class.

2. The system of claim 1 , wherein accessing the second instance includes:

directing the request for the first instance of the first class to a deprecation module, the deprecation module being configured to:

make, based on the mapping, a CMDB application program interface call to access the second instance,

receive data for the second instance,

map the data for the second instance to a format of the first instance using the mapping, and

provide the data in the format for the first instance in response to the request.

3. The system of claim 1 , wherein the second class is a superclass of the first class.

4. The system of claim 1 , wherein the second class is a sibling class of the first class.

5. The system of claim 1 , wherein the second class is a sibling class of a superclass of the first class.

6. The system of claim 1 , wherein moving data associated with the first instance of the first class to the second instance of the second class includes:

modifying data structures of the second class according to the mapping;

moving the data; and

modifying data structures of the first class according to the mapping.

7. The system of claim 6 , wherein the mapping maps an attribute of the first class to an existing attribute of the second class.

8. The system of claim 6 , wherein the mapping maps an attribute of the first class to a new attribute of the second class.

9. The system of claim 6 , wherein the mapping maps a default value to an attribute of the second class.

10. The system of claim 6 , the memory further storing instructions that, when executed by the at least one processor, cause the system to perform further operations comprising:

storing the mapping as an instance of a third class in the common data model.

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

12. The system of claim 1 , the memory further storing instructions that, when executed by the at least one processor, cause the system to perform further operations comprising:

changing a definition of a form used to access the first class so that the second class is accessed.

13. A method comprising:

receiving a request to deprecate a first class in a common data model of a configuration management database (CMDB);

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

moving data associated with a first instance of the first class in the CMBD to a second instance of the second class in the CMDB according to a mapping between the first class and second class;

marking the first class as deprecated in the common data model; and

accessing, via the mapping, the second instance of the second class in response to a request for the first instance of the first class.

14. The method of claim 13 , wherein accessing the second instance includes:

receiving a request for the data associated with the first instance of the first class; and

directing, responsive to determining the first class is deprecated, the request to a deprecation module configured to:

make, based on the mapping, a CMDB application program interface call to access the second instance of the second class,

receive data from the second instance, and

map the data for the second instance to a format of the first instance using the mapping, and

provide the data in the format for the first instance in response to the request.

15. The method of claim 13 , further comprising:

changing a definition of a form used to access the first class so that the second class is accessed.

16. The method of claim 15 , wherein the form is a first form having a name and the method further comprises:

creating a vendor form with fields from the first form;

deleting the first form; and

renaming the vendor form to the name of the first form.

17. The method of claim 13 , wherein moving data associated with the first instance of the first class to the second instance of the second class includes:

receiving the mapping between the first class and second class from a user.

18. The method of claim 13 , wherein moving data associated with the first instance of the first class to the second instance of the second class includes:

modifying data structures of the second class according to the mapping;

moving the data; and

modifying data structures of the first class according to the mapping.

19. The method of claim 13 , further comprising:

identifying at least one relationship in the CMDB specifying the first instance of the first class; and

changing a class identifier for the first class in the relationship to a class identifier of the second class.

20. The method of claim 13 , wherein selecting the second class includes:

creating a new class in the common data model; and

selecting the new class as the replacement for 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 INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2015
From: RANGARAJAN, GOVINDARAJAN; KUMAR, NARAYAN
To: BMC SOFTWARE, INC.
Reel/Frame 035178/0820 →