IP Library Patent Application 14086408
Patent Application
App. No. 14/086,408

METHODS, APPARATUSES AND COMPUTER PROGRAM PRODUCTS FOR UTILIZING SUBTYPING TO SUPPORT EVOLUTION OF DATA TYPES

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 None
App. No.
14/086,408
Abstract

An apparatus utilizing subtyping to evolve data types includes a processor and memory storing executable computer program code causing the apparatus to at least perform operations defining a subtype relationship in an object model supporting types of instances to share data. The program code further causes the apparatus to define a constraint specifying an instance of child type is also an instance of parent type such that instances of child type are instances of parent type. The program code further causes the apparatus to define a constraint specifying the child type is a subtype of the parent type which is the parent of the child type. The program code further causes the apparatus to evaluate an instance(s) from an application(s) or device(s) to determine whether the instance(s) is valid based on detecting whether the instance(s) complies with the constraints. Corresponding methods and computer program products are also provided.

Claims (54)

1 . A method comprising:

defining a subtype relationship in an object model configured to support multiple types of instances of data to facilitate sharing of data;

defining a first constraint of the subtype relationship in the object model specifying that an instance of a child type is also an instance of a parent type such that any instances of the child type are instances of the parent type;

defining a second constraint of the subtype relationship in the object model specifying that the child type is a subtype of the parent type and the parent type is the parent of the child type; and

evaluating, via a processor, at least one received instance of data from at least one application or at least one communication device to determine whether the received instance of data is valid based in part on detecting whether the received instance of data complies with the first constraint and the second constraint of the defined subtype relationship.

2 . The method of claim 1 , further comprising:

receiving a request to store an item of an instance of data of the child type; and

enforcing that the item of the instance of data is also of the parent type.

3 . The method of claim 1 , further comprising:

enabling provision of an instance of data of the child type and a corresponding instance of data of the parent type to the application or to the communication device in response to receiving a request to obtain the instance of data of the child type based in part on analyzing the first constraint and the second constraint of the defined subtype relationship.

4 . The method of claim 1 , further comprising:

deleting an item of an instance of the child type and a corresponding item of an instance of data of the parent type in response to receiving a request to delete the item of the instance of data of the parent type based in part on analyzing the first constraint and the second constraint of the defined subtype relationship.

5 . The method of claim 1 , further comprising:

enabling provision of an item of an instance of data of the parent type to the application or the communication device in response to receiving a request to obtain the item of the instance of data of the parent type and determining that the item of the instance of data of the parent type does not have to be an instance of the child type.

6 . The method of claim 1 , further comprising:

deleting an item of an instance of data of the child type without deleting a corresponding item of an instance of data of the parent type in response to receiving a request to delete the item of the instance of data of the child type and determining that the item of the instance of data of the parent type does not have to be an instance of the child type.

7 . The method of claim 1 , further comprising:

enabling provision of an indication of an error to the application or the communication device in response to determining that an item of an instance of data received from the application or the communication device corresponds to the child type and that there is no corresponding item of an instance of data of the parent type in object model based in part on detecting a violation of the first constraint of the defined subtype relationship.

8 . The method of claim 1 , further comprising:

enabling storage of an item of an instance of data of the child type received from the application or the communication device in a request to store the item of the instance of data in response to detecting that the request comprises a corresponding item of an instance of data of the parent type or that the corresponding item of the instance of data of the parent type is stored in a network device.

9 . The method of claim 1 , further comprising:

eliminating or disregarding the second constraint in response to detecting that an item of an instance of data of the child type and a corresponding item of an instance of data of the parent type are co-located as a value of a same key stored in a network device.

10 . An apparatus comprising:

at least one processor; and

at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

define a subtype relationship in an object model configured to support multiple types of instances of data to facilitate sharing of data;

define a first constraint of the subtype relationship in the object model specifying that an instance of a child type is also an instance of a parent type such that any instances of the child type are instances of the parent type;

define a second constraint of the subtype relationship in the object model specifying that the child type is a subtype of the parent type and the parent type is the parent of the child type; and

evaluate at least one received instance of data from at least one application or at least one communication device to determine whether the received instance of data is valid based in part on detecting whether the received instance of data complies with the first constraint and the second constraint of the defined subtype relationship.

11 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

receive a request to store an item of an instance of data of the child type; and

enforce that the item of the instance of data is also of the parent type.

12 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

enable provision of an instance of data of the child type and a corresponding instance of data of the parent type to the application or to the communication device in response to receiving a request to obtain the instance of data of the child type based in part on analyzing the first constraint and the second constraint of the defined subtype relationship.

13 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

delete an item of an instance of the child type and a corresponding item of an instance of data of the parent type in response to receiving a request to delete the item of the instance of data of the parent type based in part on analyzing the first constraint and the second constraint of the defined subtype relationship.

14 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

enable provision of an item of an instance of data of the parent type to the application or the communication device in response to receiving a request to obtain the item of the instance of the parent type and determining that the item of the instance of data of the parent type does not have to be an instance of the child type.

15 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

delete an item of an instance of data of the child type without deleting a corresponding item of an instance of data of the parent type in response to receiving a request to delete the item of the instance of data of the child type and determining that the item of the instance of data of the parent type does not have to be an instance of the child type.

16 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

enable provision of an indication of an error to the application or the communication device in response to determining that an item of an instance of data received from the application or the communication device corresponds to the child type and that there is no corresponding item of an instance of data of the parent type in object model based in part on detecting a violation of the first constraint of the defined subtype relationship.

17 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

enable storage of an item of an instance of data of the child type received from the application or the communication device in a request to store the item of the instance of data in response to detecting that the request comprises a corresponding item of an instance of data of the parent type or that the corresponding item of the instance of data of the parent type is stored in the apparatus.

18 . The apparatus of claim 10 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

eliminate or disregard the second constraint in response to detecting that an item of an instance of data of the child type and a corresponding item of an instance of data of the parent type are co-located as a value of a same key stored in the apparatus.

19 . A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

program code instructions configured to define a subtype relationship in an object model configured to support multiple types of instances of data to facilitate sharing of data;

program code instructions configured to define a first constraint of the subtype relationship in the object model specifying that an instance of a child type is also an instance of a parent type such that any instances of the child type are instances of the parent type;

program code instructions configured to define a second constraint of the subtype relationship in the object model specifying that the child type is a subtype of the parent type and the parent type is the parent of the child type; and

program code instructions configured to evaluate at least one received instance of data from at least one application or at least one communication device to determine whether the received instance of data is valid based in part on detecting whether the received instance of data complies with the first constraint and the second constraint of the defined subtype relationship.

20 . The computer program product of claim 19 , further comprising:

program code instructions configured to receive a request to store an item of an instance of data of the child type; and

program code instructions configured to enforce that the item of the instance of data is also of the parent type.

Assignments (2)
CHANGE OF ADDRESS Recorded Apr 4, 2017
From: HERE GLOBAL B.V.
To: HERE GLOBAL B.V.
Reel/Frame 042153/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2013
From: SABBOUH, MARWAN BADAWI
To: HERE GLOBAL B.V.
Reel/Frame 031651/0258 →