← Back to Patent Explorer
US5369732A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for goal processing memory management

Assignee: Versata Development Group Inc
•
Filing: 1993-03-29
•
Granted: 1994-11-29
•
Expires: 2013-03-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is a method and apparatus for managing memory in goal processing. The present invention creates search states that contain an alternative subgoal (i.e., subgoal with alternatives) and non-alternative subgoals. Problem state modifications associated with the goals contained in a search state are associated with a search state object. A search state object contains information about the search process and the goals included in the search state, and a pointer to previous search state objects. Processed goals are kept on a goal stack, and the search state object points to the first and last goal stack entry included in the search state object. A search state object includes a list of alternatives available in the search state. When a goal processing failure occurs, an alternative solution search begins with the latest search state object until an alternative is found, or a determination is made that no alternatives exist and the goal cannot be satisfied. When a goal processing failure occurs, an alternative subgoal is directly accessible without visiting each subgoal individually. Goals included in the failed processing may be collectively popped from the goal stack. Problem state modifications associated with the failed processing may be collectively undone from the problem state. Goal processing reverts to a state prior to the failed state without examining each goal within the failed state, individually removing the failed state's modifications, and individually releasing the memory used by the failed state.

Inventors

  • 👤 John Lynch
  • 👤 David Franke

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 11:46
CPC Classifications
G; G06; G06Q; G06Q10/00; G06Q10/06; G06N; G06N5/00; G06N5/01

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 153 words
A method of managing memory in a computer system implementing a goal processor for processing a set of goals comprising the steps of: inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; performing (a)-(f) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry; (b) creating a search state object when said goal is processed; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identify said new search state object as said most-recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; and detecting a goal processing failure; releasing simultaneously to free memory said goal stack entries associated with said most-recently-created search state objects when said goal processing failure occurs.
Claim 2
Independent Claim 153 words
A method of managing memory in a computer system implementing a goal processor for processing a set of goals comprising the steps of: inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; performing (a)-(f) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry; (b) creating a search state object when said goal is processed; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identify said new search state object as said most-recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; and detecting a goal processing failure; releasing simultaneously to free memory said goal stack entries associated with said most-recently-created search state objects when said goal processing failure occurs.
Claim 3
Dependent Claim 29 words
The method of claim 1 wherein said new search state object contains a list of available alternative subgoals for said one of said plurality of subgoals and said goal;
Claim 4
Dependent Claim 34 words
The method of claim 1 wherein said search state object and said new search state object contain a pointer to a first and a last goal stack entry associated with said search state object.
Claim 5
Dependent Claim 25 words
The method of claim 1 wherein said search state object and said new search state object contain a pointer to a previous search state object.
Claim 6
Independent Claim 105 words
A method of processing a set of goals in a computer system implementing a goal processor for processing said set of goals comprising the steps of: inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; performing (a)-(e) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry in a goal stack in memory of said computer system; (b) creating a search state object when said goal and each of said alternative subgoals are processed; and (c) associating each of said subgoals to a most-recently-created search state object.
Claim 7
Independent Claim 105 words
A method of processing a set of goals in a computer system implementing a goal processor for processing said set of goals comprising the steps of: inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; performing (a)-(e) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry in a goal stack in memory of said computer system; (b) creating a search state object when said goal and each of said alternative subgoals are processed; and (c) associating each of said subgoals to a most-recently-created search state object.
Claim 8
Dependent Claim 64 words
The method of claim 5 further including the steps of: associating with a search state object a list of alternatives; detecting a goal processing failure; performing steps (a)-(b) when said goal processing failure occurs: (a) examining by said goal processor said list of alternatives in said most-recently-created search state object; and (b) selecting by said goal processor an alternative from said list of alternatives.
Claim 9
Dependent Claim 83 words
The method of claim 5 wherein a problem state is stored in said memory further including the steps of: associating a plurality of problem state modifications associated with each of said goal, subgoals, and alternative subgoals; performing using said goal processor said problem state modifications; detecting using said goal processor a goal processing failure; removing from said problem state said problem state modifications associated with said goal, subgoals, and alternative subgoals in said most-recently-created search state objects when a goal processing failure occurs.
Claim 10
Independent Claim 191 words
A method of goal processing in a computer system implementing a goal processor comprising the steps of: storing a problem state in memory of said computer system; inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; associating a plurality of problem state modifications with said goal, said subgoals, and said alternative subgoals; performing steps (a)-(g) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a entry in a goal stack stored in said memory; (b) creating a search state object when said goal is processed; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identifying said new search state object as said most recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; (g) performing using said goal processor associated problem state modifications; and detecting a goal processing failure; removing from said problem state said problem state modifications associated with said most-recently-created search state objects when a goal processing failure occurs.
Claim 11
Independent Claim 191 words
A method of goal processing in a computer system implementing a goal processor comprising the steps of: storing a problem state in memory of said computer system; inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; associating a plurality of problem state modifications with said goal, said subgoals, and said alternative subgoals; performing steps (a)-(g) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a entry in a goal stack stored in said memory; (b) creating a search state object when said goal is processed; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identifying said new search state object as said most recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; (g) performing using said goal processor associated problem state modifications; and detecting a goal processing failure; removing from said problem state said problem state modifications associated with said most-recently-created search state objects when a goal processing failure occurs.
Claim 12
Dependent Claim 53 words
The method of claim 8 further including the steps of: removing from said problem state said problem state modifications for each previous search state object until an alternative for one of said alternative subgoals is found; and removing from said problem state all of said problem state modifications when no alternative is found.
Claim 13
Dependent Claim 28 words
The method of claim 8 further comprising the step of making said problem state modifications permanent in said problem state when said goal processing failure does not occur.
Claim 14
Independent Claim 183 words
A method of goal processing in a computer system comprising the steps of: inputting to a goal processor a goal comprised of a plurality of subgoals and alternative subgoals;] performing (a)-(f) when said goal and said plurality of subgoals and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry; (b) creating a search state object when said goal is processed, said search state object including a list of alternatives; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identifying said new search state object as said most-recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; detecting using said goal processor a goal processing failure; examining said list of alternatives in said most-recently-created search state object when a goal processing failure occurs; and examining said list of alternatives in a previous search state object when said goal processing failure occurs and said list of alternatives in said most-recently-created search state object is empty.
Claim 15
Independent Claim 183 words
A method of goal processing in a computer system comprising the steps of: inputting to a goal processor a goal comprised of a plurality of subgoals and alternative subgoals;] performing (a)-(f) when said goal and said plurality of subgoals and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry; (b) creating a search state object when said goal is processed, said search state object including a list of alternatives; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identifying said new search state object as said most-recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; detecting using said goal processor a goal processing failure; examining said list of alternatives in said most-recently-created search state object when a goal processing failure occurs; and examining said list of alternatives in a previous search state object when said goal processing failure occurs and said list of alternatives in said most-recently-created search state object is empty.
Claim 16
Dependent Claim 37 words
The method of claim 11 further comprising the step of determining that said goal cannot be processed when a goal processing failure occurs when said list of alternatives in all of said search state objects is empty.
Claim 17
Independent Claim 177 words
A method of goal processing in a computer system implementing a goal processor comprising the steps of: storing a problem state in memory of said computer; inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; associating a plurality of problem state modifications with said goal and said subgoals and said alternative subgoals; performing steps (a)-(g) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry in a goal stack stored in said memory; (b) creating a search state object when said goal is processed; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identifying said new search state object as said most-recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; detecting using said goal processor a goal processing failure reverting to an earlier version of said problem state when goal processing failure occurs.
Claim 18
Independent Claim 177 words
A method of goal processing in a computer system implementing a goal processor comprising the steps of: storing a problem state in memory of said computer; inputting to said goal processor a goal comprised of a plurality of subgoals and alternative subgoals; associating a plurality of problem state modifications with said goal and said subgoals and said alternative subgoals; performing steps (a)-(g) when each of said goal, subgoals, and alternative subgoals are processed by said goal processor: (a) creating a goal stack entry in a goal stack stored in said memory; (b) creating a search state object when said goal is processed; (c) identifying said search state object as a most-recently-created search state object; (d) creating a new search state object when one of said alternative subgoals is processed; (e) identifying said new search state object as said most-recently-created search state object; (f) associating each of said subgoals to said most-recently-created search state object; detecting using said goal processor a goal processing failure reverting to an earlier version of said problem state when goal processing failure occurs.
Claim 19
Dependent Claim 74 words
The method of claim 13 wherein said search state objects contain a list of alternatives further comprising the steps of: examining said list of alternatives in said most-recently-created search state object when said goal processing failure occurs; identifying previous search state object when said goal processing failure occurs and when said most-recently-created search state object's list of alternatives is empty; and examining each of said previous search state objects until an alternative is located.
Claim 20
Dependent Claim 66 words
The method of claim 13 wherein said reverting to an earlier version of said problem state comprises the steps of: releasing goal stack entries associated with said goal, said subgoals, and said alternative subgoals in said most-recently-created search state object; and removing from said problem state said problem state modifications associated with said goal, said subgoals, and said alternative subgoals in said most-recently-created search state object.

References Cited (Backward Citations)

US4376297A Cited
US4999833A Cited
US4748617A Cited
US4931931A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-28 1998-05-30 1998-11-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-28 2002-05-30 2002-11-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-28 2006-05-30 2006-11-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag