IP Library Granted Patent US 6,986,123
Granted Patent B2
US 6,986,123 · App. 10/186,985 · Granted Jan 10, 2006

Extensible on-demand property system

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 6,986,123
App. No.
10/186,985
Granted
Jan 10, 2006
Kind
B2
Abstract

A system and method for handling properties of objects is provided. More specifically, the system and method provide a dependency mechanism for expressing the relationship between the properties in a formal manner. This relationship may either be applied globally or locally. Using the dependency mechanism, the property system monitors relationships between properties and detects circularities between the different properties during runtime. The system and method also provide an evaluation mechanism for calculating a value for any of the properties. Because the property system is on-demand, the value need not be stored in local storage. The dependency mechanism and the evaluation mechanism are extensible, which allows the property system to model any type of relationship, such as a direct relationship, inheritance, reverse inheritance, property sheets, encapsulation, and the like.

Claims (24)

1. A computer-implemented method for managing properties of objects, the method comprising:

associating an expression with a property of an object, the expression defining a relationship between the property and at least one source property;

in response to a request for a value of the property, evaluating the expression to determine the value of the property;

returning the value of the property;

invalidating the value of the property if the at least one source property has undergone a change; and

reevaluating the expression to determine a new value of the property based on the change to the at least one source property in response to a subsequent request for the value of the property.

2. The computer-implemented method of claim 1 , wherein the relationship defined by the expression corresponds to a relationship between a value of the at least one source property and the value of the property.

3. The computer-implemented method of claim 2 , wherein evaluating the expression comprises determining the value of the at least one source property to compute the value of the property.

4. The computer-implemented method of claim 3 , wherein the value of the at least one source property is defined by another expression.

5. The computer-implemented method of claim 1 , wherein invalidating comprises clearing the value of the property from a cache.

6. The computer-implemented method of claim 1 , further comprising invalidating other property values that are defined by other expressions and for which the property is a source in response to a change in the value of the property.

7. The computer-implemented method of claim 6 , further comprising monitoring the at least one other property being invalidated to determine whether a circularity exists within the relationship.

8. A computer-implemented method for managing properties of objects, the method comprising:

associating an expression with a property of an object, the expression defining a relationship between the property and at least one source property;

in response to a request for a value of the property, evaluating the expression to determine the value of the property;

returning the value of the property;

invalidating other property values that are defined by other expressions and for which the property is a source in response to a change in the value of the property; and

monitoring the at least one other property being invalidated to determine whether a circularity exists within the relationship.

9. The computer-implemented method of claim 8 , wherein the relationship defined by the expression corresponds to a relationship between value of the at least one source property and the value of the property.

10. The computer-implemented method of claim 9 , wherein evaluating the expression comprises determining the value of the at least one source property to compute the value of the property.

11. The computer-implemented method of claim 10 , wherein the value of the at least one source property is defined by another expression.

12. The computer-implemented method of claim 8 , further comprising invalidating the value of the property if the at least one source property has undergone a change.

13. The computer-implemented method of claim 12 , further comprising reevaluating the expression to determine a new value of the property based on the change to the at least one source property in response to a subsequent request for the value of the property.

14. The computer-implemented method of claim 12 , wherein invalidating the value of the property comprises clearing the value of the property from a cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →