IP Library Granted Patent US 7,702,602
Granted Patent B1
US 7,702,602 · App. 11/645,300 · Granted Apr 20, 2010

Moving and agent with a canonical rule from one device to a second device

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,702,602
App. No.
11/645,300
Granted
Apr 20, 2010
Kind
B1
Abstract

A method for moving an agent with a canonical rule set from a first execution environment to a second execution environment, comprising encoding the agent including the canonical rule set into transferable form in the first execution environment, sending the encoded agent to the second execution environment, and decoding the agent including the canonical rule set at the second execution environment.

Claims (68)

1. A device-implemented method comprising:

moving an agent with a canonical rule set from a first execution environment embodied on a first device to a second execution environment embodied on a second device, by at least:

encoding the agent including the canonical rule set into transferable form in the first execution environment, wherein the first execution environment includes a rule engine, a working memory, and a compiled rule set in association with the first execution environment, wherein the canonical rule set includes a subset of a total potential rules for the agent, the subset including domain and execution environment specific rules;

sending the encoded agent to the second execution environment, wherein the sending causes the encoded agent to be decoded in the second execution environment;

receiving a notification of completion of movement of the agent to the second execution environment; and

in response to receiving the notification of completion of movement to the second execution environment:

discarding the rule engine in the first execution environment;

discarding the working memory in the first execution environment; and

discarding the compiled rule set in the first execution environment.

2. The method of claim 1 wherein:

the discarding the rule engine in the first execution environment is performed by the agent;

the discarding the working memory in the first execution environment is performed by the agent; and

the discarding the compiled rule set in the first execution environment is performed by the agent.

3. A device-implemented method comprising:

receiving, from a first execution environment embodied on a first device, an encoded agent in a second execution environment embodied on a second device, the encoded agent including a canonical rule set from the first execution environment, the canonical rule set including domain and execution environment specific rules as a subset of a total potential rules for the encoded agent;

decoding the encoded agent including its canonical rule set in the second execution environment;

compiling the canonical rule set by a rule compiler in the second execution environment.

4. The method of claim 3 , further comprising:

creating a new rule engine with the compiled canonical rule set in the second execution environment.

5. The method of claim 4 , further comprising:

requesting a new working memory from the rule engine in the second execution environment.

6. The method of claim 3 , comprising:

locating a rule engine in the second execution environment.

7. The method of claim 6 , comprising:

supplying the rule engine with the compiled canonical rule set.

8. The method of claim 1 , further comprising:

destroying an original version of the agent in the first execution environment.

9. A computer readable medium having stored thereon, computer-executable instructions that, if executed by a computing device, cause the computing device to perform a method comprising:

receiving, in a second execution environment, an encoded agent from a first execution environment, wherein the encoded agent is encoded to include a canonical rule set from the first execution environment, and wherein the canonical rule set includes domain and execution environment specific rules as a subset of a total potential rules for the encoded agent;

decoding the encoded agent including its canonical rule set in the second execution environment;

compiling a carried canonical rule set by a rule compiler in the second execution environment;

creating a new rule engine with the compiled canonical rule set in the second execution environment, wherein the new rule engine is configured to execute the domain and execution environment specific rules; and

requesting a new working memory from the rule engine in the second execution environment to hold data that the agent asserts before and during execution of the rule engine.

10. A computer readable medium having stored thereon, computer-executable instructions that, if executed by a computing device, cause the computing device to perform a method comprising:

moving an agent with a canonical rule set from a first execution environment embodied on a first device to a second execution environment embodied on a second device, by at least:

encoding the agent including the canonical rule set into transferable form in the first execution environment, wherein the first execution environment includes a rule engine a working memory, and a compiled rule set in association with the first execution environment, wherein the canonical rule set includes a subset of a total potential rules for the agent, the subset including domain and execution environment specific rules;

sending the encoded agent to the second execution environment, wherein the sending causes the encoded agent to be decoded in the second execution environment;

receiving a notification of completion of movement of the agent to the second execution environment; and

in response to receiving the notification of completion of movement to the second execution environment:

discarding the rule engine in the first execution environment; and

discarding the working memory in the first execution environment; and

discarding the compiled rule set in the first execution environment.

11. The computer readable medium of claim 10 , wherein the

encoding the agent comprises encoding the canonical rule set into a series of bytes for sending.

12. The computer readable medium of claim 9 , wherein the

creating a new rule engine in the second execution environment is performed by the agent.

13. The computer readable medium of claim 9 , wherein the method further comprises:

requesting, by the agent, a new rule engine from the second execution environment.

14. The computer readable medium of claim 9 , wherein the

requesting a new working memory from the new rule engine in the second execution environment is performed by the agent.

15. The computer readable medium of claim 10 , wherein the method further comprises:

destroying an original version of the agent in the first execution environment.

16. A system for moving an agent with a canonical rule set from a first execution environment to a second execution environment, comprising:

a first memory configured to store a working memory of the agent in the first execution environment; and

a first processor configured to be communicably coupled to the first memory, wherein the processor is configured to:

discard a rule engine, the working memory and a compiled rule set of the agent;

encode the agent including the canonical rule set into transferable form;

send the encoded agent to the second execution environment; and

destruct an original version of the agent.

17. A system comprising:

a memory configured to store a working memory of an agent in an execution environment; and

a processor configured to be communicably coupled to the memory, wherein the processor is configured to:

decode an encoded agent including a canonical rule set received from a different execution environment;

compile the canonical rule set into a compiled rule set;

search to locate a rule engine;

create a rule engine if no rule engine is located;

supply the rule engine with the compiled rule set; and

request a new working memory from the rule engine.

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