IP Library Granted Patent US 9,311,141
Granted Patent B2
US 9,311,141 · App. 13/429,785 · Granted Apr 12, 2016

Survival rule usage by software agents

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,311,141
App. No.
13/429,785
Granted
Apr 12, 2016
Kind
B2
Abstract

A method for determining the lifespan of an agent utilizing a rule engine and a set of canonical survival rules, in an execution environment comprising collecting a survival rule, asserting a survival data into a working memory and executing the rule engine with the set of survival rules and the working memory.

Claims (55)

1. An apparatus comprising:

a memory; and

a processor operatively coupled to the memory, wherein the processor is configured to:

collect a set of canonical survival rules associated with a first execution environment and associated with a mobile agent;

compile the set of canonical survival rules;

execute a rule engine of the mobile agent with the set of canonical survival rules;

store a heartbeat from an originating application in a working memory associated with an agent;

fire a survival rule from the set of canonical survival rules based upon the heartbeat being stored in the working memory;

assert survival data into the memory as a result of firing the survival rule;

receive a request to move the mobile agent to a second execution environment;

determine a first rule from the first set of canonical survival rules has never fired;

determine a second rule from the first set of canonical survival rules has been fired;

determine a third rule from the first set of canonical survival rules has been active in only negative outcomes, wherein the first rule and third rule are removed to create a filtered set of canonical survival rules;

encode the mobile agent with the filtered set of canonical survival rules; and

transmit the encoded mobile agent to the second execution environment, wherein the second execution environment decodes and executes the mobile agent, wherein the mobile agent uses the filtered set of canonical survival rules in the second execution environment.

2. The apparatus of claim 1 , wherein the set of canonical survival rules is specific to the mobile agent.

3. The apparatus of claim 1 , wherein the set of canonical survival rules is specific to an execution environment of the apparatus.

4. The apparatus of claim 1 , wherein the survival data is asserted into the memory based at least in part on a state change of the mobile agent.

5. The apparatus of claim 1 , wherein the survival data is asserted into the working memory based at least in part on a timer event in an execution environment of the apparatus.

6. The apparatus of claim 1 , wherein the processor is further configured to request a second set of canonical survival rules based upon the received request to move the mobile agent to a second execution environment.

7. The apparatus of claim 6 , wherein the processor is further configured to merge the second set of canonical survival rules with the first set of canonical survival rules.

8. A method comprising:

collecting, by a processor of a computing device, a set of canonical survival rules associated with a first execution environment and associated with a mobile agent;

compiling the set of canonical survival rules;

executing a rule engine of the mobile agent with the set of canonical survival rules;

storing a heartbeat from an originating application in a working memory associated with an agent;

firing a survival rule from the set of canonical survival rules based upon the heartbeat being stored in the working memory;

asserting survival data into a memory of the computing device as a result of firing the survival rule;

receiving a request to move the mobile agent to a second execution environment;

determining a first rule from the first set of canonical survival rules has never fired;

determining a second rule from the first set of canonical survival rules has been fired;

determining a third rule from the first set of canonical survival rules has been active in only negative outcomes, wherein the first rule and third rule are removed to create the filtered set of canonical survival rules;

encoding the mobile agent with the filtered set of canonical survival rules; and

transmitting the encoded mobile agent to the second execution environment, wherein the second execution environment decodes and executes the mobile agent, wherein the mobile agent uses the filtered set of canonical survival rules in the second execution environment.

9. The method of claim 8 , wherein the set of canonical survival rules is specific to the mobile agent.

10. The method of claim 8 , wherein the set of canonical survival rules is specific to an execution environment of the computing device.

11. The method of claim 8 , wherein the survival data is asserted into the working memory based at least in part on a state change of the mobile agent.

12. A tangible non-transitory computer-readable medium having computer-readable instructions stored thereon, the computer-readable instructions comprising:

instructions to collect a set of canonical survival rules associated with a first execution environment and associated with a mobile agent;

instructions to compile the set of canonical survival rules;

instructions to execute a rule engine of the mobile agent with the set of canonical survival rules;

instructions to store a heartbeat from an originating application in a working memory associated with an agent;

instructions to fire a survival rule from the set of canonical survival rules based upon the heartbeat being stored in the working memory;

instructions to assert survival data into a memory of a computing device as a result of firing the survival rule;

instructions to receive a request to move the mobile agent to a second execution environment;

instructions to determine a first rule from the first set of canonical survival rules has never fired;

instructions to determine a second rule from the first set of canonical survival rules has been fired;

instructions to determine a third rule from the first set of canonical survival rules has been active in only negative outcomes, wherein the first rule and third rule are removed to create the filtered set of canonical survival rules;

instructions to encode the mobile agent with the filtered set of canonical survival rules; and

instructions to transmit the encoded mobile agent to the second execution environment, wherein the second execution environment decodes and executes the mobile agent, wherein the mobile agent uses the filtered set of canonical survival rules in the second execution environment.

13. The non-transitory computer-readable medium of claim 12 , wherein the survival data is asserted into the working memory based at least in part on a state change of the mobile agent.

14. The non-transitory computer-readable medium of claim 12 , wherein the survival data is asserted into the working memory based at least in part on a timer event in an execution environment of the computing device.

15. The non-transitory computer-readable medium of claim 12 , wherein the set of canonical survival rules is specific to an execution environment of the computing device.

16. The non-transitory computer-readable medium of claim 12 , wherein the instructions further comprise instructions to request a second set of canonical survival rules based upon the received request to move the mobile agent to a second execution environment.

17. The non-transitory computer-readable medium of claim 16 , wherein the instructions further comprise instructions to merge the second set of canonical survival rules with the first set of canonical survival rules.

Assignments (1)
MERGER Recorded Sep 24, 2015
From: CUREN SOFTWARE ENTERPRISES, L.L.C.
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 036674/0786 →