IP Library Granted Patent US 7,146,603
Granted Patent B2
US 7,146,603 · App. 09/755,955 · Granted Dec 5, 2006

Context programming in object-oriented environments

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 7,146,603
App. No.
09/755,955
Granted
Dec 5, 2006
Kind
B2
Abstract

An object-oriented context programming system is formed with data objects. Each data object defines a class of object which will typically have at least one attribute. This attribute is stored in the database with an indication of the effective context, e.g., time, of the attribute. Any change in attribute, e.g., over time, is also stored in the data object along with an indication the context in which it is effective. In a temporal context, it would be saved with the time of effect of the change in the attribute. Methods associated with the class, and which the class can carry out, have an argument which includes the context, which could be time. These methods are also stored in the database with an indication of the effective context (e.g., time) of the method. Any change in the method is stored in the data base along with an indication of the context in which it is effective, e.g., the time of effect of a change in the method in a temporal context. Execution of the method with a particular context argument utilizes the attributes of the effected data objects and the particular method which were in effect for the context. The context can be a particular time specified or a point of view or vantage point.

Claims (31)

1. An object-oriented temporal context programming system comprising:

a database;

data objects, each data object being defined by a class of object and having at least one attribute, said attribute being at least relatively persistently stored in the database so that past and present values of the attribute are stored in the database with an indication of the effective time of each value of the attribute; and

methods which the class can carry out, said methods having an argument with an effective time, said method being at least relatively persistently stored in the database so that past and present versions of the method are stored in the database with an indication of the effective time of each version of the method, execution of said method with a particular time argument utilizing the particular values of attributes of the effected data objects and the particular version of the method in effect for the particular time specified.

2. An object-oriented temporal context programming system comprising:

a database;

data objects, each data object being defined by a class of object and having at least one attribute, said attribute being at least relatively persistently stored in the database, so that past and present values of the attribute are stored in the database with an indication of the effective time of each value of the attribute; and

methods which the class can carry out, said methods having an argument which is effective time, execution of said method with a particular time argument utilizing the values of the attributes of the effected data objects in effect for the particular time specified.

3. An object-oriented temporal context programming system comprising:

a database;

data objects, each data object being defined by a class of object and having at least one attribute, said attribute being at least relatively persistently stored in the database, so that past and present values of the attribute are stored in the database; and

methods which the class can carry out, said methods having an argument which is effective time, said method being at least relatively persistently stored in the database, so that past and present versions of the method are stored in the database with an indication of the effective time of each version of the method, execution of said method with a particular time argument utilizing the particular version of the method in effect for the particular time specified.

4. An object-oriented context programming system comprising:

a database;

data objects, each data object being defined by a class of object and having attributes, at least one attribute of one data object being at least relatively persistently stored in the database, so that at least two values of the attribute are stored in the database, each value being associated with an indication of the context thereof; and

methods which the class can carry out, at least one of said methods having an argument which is an indication of context, said method being at least relatively persistently stored in the database, so that at least two versions of the method are stored in the database, each version being associated with an indication of the context thereof, a method executed with a particular context argument utilizing the values of the attributes of the effected data objects and the version of the method in effect for the particular context.

5. An object-oriented context programming system as claimed in claim 4 wherein the context is a version of an application program, so that by identifying a particular context a different version of the application program runs and gives the user a different vantage point from which to experience the program.

6. An object-oriented context programming system comprising:

a database;

data objects, each data object being defined by a class of object and having attributes, at least one attribute of one data object being at least relatively persistently stored in the database, so that at least two values for the attribute are stored in the database, each value being associated with an indication of the context of the value; and

methods which the class can carry out, at least one of said methods having an argument which an indication of context, a method executed with a particular context argument utilizing the values of the attributes of the effected data objects in effect for the particular context.

7. An object-oriented context programming system comprising:

data objects each being defined by a class of object and having attributes; and

methods which the class can carry out, at least one of said methods having an argument which is an indication of context, said method being at least relatively persistently stored in the database, so that at least two versions of the method are stored in the database each version being associated with an indication of the context of the method, a method executed with a particular context argument utilizing the version of the method in effect for the particular context.

8. An object-oriented temporal context programming system as claimed in any one of claims 1 – 3 , further including a new attribute added to said data object and being stored in the database with an indication of the effective time of the new attribute, which effective time is subsequent to the time of creation of the object.

9. An object-oriented context programming system as claimed in any one of claims 4 – 7 , further including a new attribute added to said data object and being stored in the database with an indication of the context of the new attribute.

10. An object-oriented temporal context programming system as claimed in any one of claims 1 – 3 , wherein the execution of said method is with respect to a time in the past.

11. An object-oriented temporal context programming system as claimed in claim 10 wherein one attribute has an additional context of an error and an equivalent attribute has an additional context of the error corrected, and wherein the methods can be run to show the effect in the past both with and without the error.

12. An object-oriented temporal context programming system as claimed in any one of claims 1 – 3 , wherein the execution of said method is with respect to a time in the future, and the execution of the methods predicts events in the future based on probabilities.

13. An object-oriented temporal context programming system as claimed in any one of claims 1 – 3 , wherein said class of object is formed from a temporal base class as a subclass of the temporal base object class and inherits its temporal context capabilities of reading (getting) or storing (setting) from the temporal base object class.

14. An object-oriented context programming system as claimed in any one of claims 4 – 7 , wherein said class of object is formed from a base object class as a subclass of the base object class which inherits its context capabilities of reading (getting) or storing (setting) from the base object class.

Assignments (6)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →