IP Library Granted Patent US 8,204,845
Granted Patent B2
US 8,204,845 · App. 13/048,338 · Granted Jun 19, 2012

Movement of an agent that utilizes a compiled set of canonical rules

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 8,204,845
App. No.
13/048,338
Granted
Jun 19, 2012
Kind
B2
Abstract

A method includes obtaining, at a first execution environment of a first device, an as-needed rule set. The as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of a second execution environment. The as-needed rule set is associated with an agent. The agent and the as-needed rule set are encoded into a transferable form. The encoded agent and the encoded as-needed rule set are sent from the first execution environment to the second execution environment.

Claims (66)

1. A method comprising:

obtaining, at a first execution environment of a first device, an as-needed rule set, wherein the as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of a second execution environment, and wherein the as-needed rule set is associated with an agent;

encoding the agent and the as-needed rule set into a transferable form; and

sending the encoded agent and the encoded as-needed rule set from the first execution environment to the second execution environment, wherein the second execution environment is associated with a second device, and wherein the first device comprises a server device and the second device comprises a client device.

2. The method of claim 1 , wherein the subset of context-specific rules is filtered from the total potential rule set based at least in part on one or more goals of the agent.

3. The method of claim 1 , further comprising initiating movement of the agent from the first execution environment of the first device to the second execution environment, wherein the second execution environment is associated with a second device.

4. The method of claim 3 , wherein the movement is initiated in response to receiving a move request from an application.

5. The method of claim 4 , wherein the move request is received through a third execution environment in which the application resides.

6. The method of claim 1 , wherein the as-needed rule set is obtained from a rule repository.

7. The method of claim 6 , wherein the rule repository resides in a third execution environment.

8. The method of claim 1 , further comprising:

receiving a notification from the second execution environment that indicates receipt of the encoded agent and the encoded as-needed rule set by the second execution environment; and

destructing the agent in the first execution environment in response to the notification.

9. The method of claim 1 , wherein the first execution environment and the second execution environment are both embodied on the first device.

10. A tangible computer-readable medium having instructions stored thereon, the instructions comprising:

instructions to obtain an as-needed rule set at a first execution environment, wherein the as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of a second execution environment, and wherein the as-needed rule set is associated with an agent;

instructions to encode the agent and the as-needed rule set into a transferable form; and

instructions to send the encoded agent and the encoded as-needed rule set to the second execution environment.

11. The tangible computer-readable medium of claim 10 , further comprising instructions to process a request to move the agent from the first execution environment to the second execution environment.

12. The tangible computer-readable medium of claim 11 , wherein the as-needed rule set is obtained from the request.

13. The tangible computer-readable medium of claim 11 , wherein the request is received from an application that resides in a third execution environment.

14. The tangible computer-readable medium of claim 11 , further comprising instructions to discard a rule engine, a working memory, and a rule set in the first execution environment in response to the request to move the agent.

15. The tangible computer-readable medium of claim 10 , wherein the subset of context-specific rules are filtered from the total potential rule set based at least in part on one or more goals of the agent.

16. The tangible computer-readable medium of claim 10 , further comprising:

instructions to process a notification received from the second execution environment, wherein the notification indicates receipt of the encoded agent and the encoded as-needed rule set by the second execution environment; and

instructions to destruct the agent at the first execution environment in response to the notification.

17. The tangible computer-readable medium of claim 10 , wherein the first execution environment and the second execution environment are embodied on a single computing device.

18. The tangible computer-readable medium of claim 10 , wherein the first execution environment is embodied on a first device and the second execution environment is embodied on a second device.

19. An apparatus comprising:

a memory associated with a first execution environment and configured to store an agent; and

a processor operatively coupled to the memory and configured to:

obtain an as-needed rule set, wherein the as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of a second execution environment, and wherein the as-needed rule set is associated with the agent;

encode the agent and the as-needed rule set into a transferable form; and

send the encoded agent and the encoded as-needed rule set to the second execution environment.

20. The apparatus of claim 19 , wherein the processor is further configured to obtain the as-needed rule set from a rule repository in a third execution environment.

21. The apparatus of claim 19 , wherein the processor is further configured to process a request to move the agent from the first execution environment to the second execution environment.

22. The apparatus of claim 21 , wherein the request includes a reference to a rule repository that includes the as-needed rule set.

23. The apparatus of claim 19 , wherein the processor is further configured to discard, from the first execution environment, a rule engine, a working memory, and a compiled rule set associated with the agent.

24. A method comprising:

receiving, from a first execution environment of a first device, an agent and an as-needed rule set associated with the agent at a second execution environment, wherein the as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of the second execution environment, wherein the second execution environment is associated with a second device, and wherein the first device comprises a server device and the second device comprises a client device;

identifying a rule engine that is configured to implement the as-needed rule set; and

executing, by the agent, the as-needed rule set.

25. The method of claim 24 , wherein the first execution environment comprises a previous execution environment of the agent, and wherein the second execution environment comprises a target execution environment of the agent.

26. The method of claim 24 , wherein the agent and the as-needed rule set are encoded by the first execution environment, and further comprising decoding the agent and the as-needed rule set.

27. The method of claim 24 , wherein the identifying comprises:

searching for the rule engine; and

creating the rule engine if the searching does not locate the rule engine.

28. The method of claim 24 , further comprising using the rule engine to compile the as-needed rule set.

29. The method of claim 24 , further comprising creating a working memory for the agent at the second execution environment.

30. A tangible computer-readable medium having instructions stored thereon, the instructions comprising:

instructions to receive, from a first execution environment, an agent and an as-needed rule set associated with the agent at a second execution environment, wherein the as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of the second execution environment;

instructions to identify a rule engine that is configured to implement the as-needed rule set; and

instructions to use the agent to execute the as-needed rule set.

31. The tangible computer-readable medium of claim 30 , wherein the instructions to identify comprise instructions to:

search for the rule engine; and

create the rule engine if the search does not locate the rule engine.

32. The tangible computer-readable medium of claim 30 , further comprising instructions to create a working memory for the agent at the second execution environment.

33. The tangible computer-readable medium of claim 30 , further comprising instructions to compile the as-needed rule set using the rule engine.

34. An apparatus comprising:

a memory; and

a processor operatively coupled to the memory and configured to:

process, at a second execution environment, an agent and an as-needed rule set associated with the agent that are received from a first execution environment, wherein the as-needed rule set is a subset of context-specific rules filtered from a total potential rule set based at least on a hardware characteristic of the second execution environment;

identify a rule engine that is configured to implement the as-needed rule set; and

use the agent to execute the as-needed rule set.

35. The apparatus of claim 34 , wherein the processor is further configured to create a working memory for the agent at the second execution environment.

36. The apparatus of claim 34 , wherein the processor is further configured to compile the as-needed rule set using the rule engine.

Assignments (2)
MERGER Recorded Sep 24, 2015
From: CUREN SOFTWARE ENTERPRISES, L.L.C.
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 036674/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2011
From: RECURSION SOFTWARE, INC.
To: CUREN SOFTWARE ENTERPRISES, L.L.C.
Reel/Frame 026560/0790 →