IP Library Granted Patent US 8,326,914
Granted Patent B2
US 8,326,914 · App. 13/112,540 · Granted Dec 4, 2012

Network system extensible by users

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,326,914
App. No.
13/112,540
Granted
Dec 4, 2012
Kind
B2
Abstract

In one aspect, a network system includes a user interface which allows a user to interact with the network system. An agent server is coupled to the user interface. The agent server manages the operation of the network system. Furthermore, the agent server in conjunction with the user interface is operable to create or modify an agent in response to interaction by the user. In another aspect, a network system includes an agent server which manages the operation of the network system. An agent is operable to utilize a service within the network system. A service wrapper, associated with the service, cooperates with the agent server to mediate interaction between the service and the agent.

Claims (53)

1. An agent server, comprising:

a processor; and

a memory storing instructions, execution of which causes the processor to perform operations comprising:

dividing processing time of the agent server into a plurality of time slices of predetermined duration,

receiving, at the agent server, user data for configuring a first agent of a plurality of agents to perform a first task by using a service and by consuming a first time slice in the plurality of time slices,

wherein each agent in the plurality of agents includes an event handler configured to direct each agent upon an occurrence of an event, and wherein each event handler includes a plurality of portions that are separately executable during different time slices in the plurality of time slices,

selecting the first agent from the plurality of agents upon the occurrence of the event,

allocating the first time slice to the first agent,

executing a first portion of the event handler during the first time slice, and

monitoring consumption of the first time slice by the first agent using a service wrapper corresponding to the service, wherein the service wrapper is configured to provide the agent access to the service.

2. The agent server of claim 1 , wherein the event is identified by a uniform resource locator (URL) specifying an event type and a recipient agent.

3. The agent server of claim 2 , wherein the URL is chosen by the determined agent and the agent server in combination.

4. The agent server of claim 2 , wherein the operations further comprise relaying the event to the determined agent using HyperText Transfer Protocol (HTTP) requests sent to a web page at the URL.

5. The agent server of claim 1 , wherein each agent in the plurality of agents further includes an event queue configured to store information regarding unhandled events.

6. The agent server of claim 1 , wherein the agent server stores permissions held by each agent in the plurality of agents.

7. The agent server of claim 6 , wherein the operations further comprise transmitting data regarding permissions of the determined agent in response to a query for permissions of the determined agent.

8. The agent server of claim 6 , wherein the permissions include an amount of a resource allocated to each agent in the plurality of agents, and wherein at least a portion of the resource is consumed by the determined agent to perform the task.

9. The agent server of claim 1 , wherein the determined agent is configured to send an inter-agent event to a second agent in the plurality of agents.

10. The agent server of claim 1 , wherein the operations further comprise:

allocating a pre-determined unit of long-distance calling time to the agent; and

monitoring consumption of the unit of long-distance calling time by the agent.

11. A method, comprising:

dividing, using a processing device at an agent server, processing time of an agent server into a plurality of time slices of predetermined duration;

receiving, using the processing device, user data for configuring a first agent of a plurality of agents to perform a first task by using a service and by consuming a first time slice in the plurality of time slices;

configuring, using the processing device, the first agent, wherein configuring the first agent includes configuring an event handler for directing the first agent upon an occurrence of an event, and wherein each event handler includes a plurality of portions that are separately executable during different time slices in the plurality of time slices;

selecting, using the processing device, the first agent upon the occurrence of the event;

allocating, using the processing device, the first time slice to the first agent;

executing, using the processing device, a first portion of the event handler during the first time slice; and

monitoring, using the processing device, consumption of the first time slice by the first agent using a service wrapper corresponding to the service, wherein the service wrapper is configured to provide the agent access to the service.

12. The method of claim 11 , wherein the event is identified by a uniform resource locator (URL) specifying an event type and a recipient agent.

13. The method of claim 12 , wherein the URL is chosen by the first agent and an agent server in combination.

14. The method of claim 12 , wherein an agent server is configured to relay the event to the first agent using HyperText Transfer Protocol (HTTP) requests sent to a web page at the URL.

15. The method of claim 11 , wherein each agent in the plurality of agents further comprises an event queue configured to store information regarding unhandled events.

16. The method of claim 11 , wherein the first agent has a plurality of executable instructions for performing a task of a service, wherein performing the task comprises using the service and a service resource, and wherein a service wrapper links the service to the service resource and mediates interaction between the service and the service resource.

17. The method of claim 16 , further comprising:

accessing, using the service wrapper, information defining an amount of the service resource allocated to be consumed by a principal of the first agent, wherein the service wrapper is configured to monitor consumption of the service resource by the first agent.

18. The method of claim 16 , further comprising:

executing the instructions upon the occurrence of the event, wherein the instructions include:

defining operations supported by the service required to perform the task,

receiving a response from the service including parameters required by the first agent to complete the task, and

providing an output associated with the task over a network communications link.

19. An article of manufacture including a non-transitory computer-readable medium having instructions stored thereon, execution of which by a computing device causes the computing device to perform operations comprising:

dividing, using a processing device at an agent server, processing time of an agent server into a plurality of time slices of predetermined duration;

receiving, using the processing device, user data for configuring a first agent of a plurality of agents to perform a first task by using a service and by consuming a first time slice in the plurality of time slices;

configuring, using the processing device, the first agent, wherein configuring the first agent includes configuring an event handler for directing the first agent upon an occurrence of an event, and wherein each event handler includes a plurality of portions that are separately executable during different time slices in the plurality of time slices;

selecting, using the processing device, the first agent upon the occurrence of the event;

allocating, using the processing device, the first time slice to the first agent;

executing, using the processing device, a first portion of the event handler during the first time slice; and

monitoring, using the processing device, consumption of the first time slice by the first agent using a service wrapper corresponding to the service, wherein the service wrapper is configured to provide the agent access to the service.

20. The article of manufacture of claim 19 , wherein the event is identified by a uniform resource locator (URL) specifying an event type and a recipient agent.

21. The article of manufacture of claim 20 , wherein the URL is chosen by the first agent and an agent server in combination.

22. The article of manufacture of claim 20 , wherein an agent server is configured to relay the event to the first agent using HyperText Transfer Protocol (HTTP) requests sent to a web page at the URL.

23. The article of manufacture of claim 19 , wherein each agent in the plurality of agents further comprises an event queue configured to store information regarding unhandled events.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: MIND FUSION, LLC
To: BYTEWEAVR, LLC
Reel/Frame 064803/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2023
From: INTELLECTUAL VENTURES ASSETS 191 LLC
To: MIND FUSION, LLC
Reel/Frame 064270/0685 →
SECURITY INTEREST Recorded Mar 24, 2023
From: MIND FUSION, LLC
To: INTELLECTUAL VENTURES ASSETS 191 LLC; INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 063295/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2023
From: INTELLECTUAL VENTURES I LLC
To: INTELLECTUAL VENTURES ASSETS 191 LLC
Reel/Frame 062705/0781 →
MERGER Recorded Jun 18, 2013
From: BEN FRANKLIN PATENT HOLDING LLC
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 030638/0417 →
ASSET PURCHASE AGREEMENT Recorded Oct 2, 2012
From: GENERAL MAGIC, INC.
To: INTELLECTUAL VENTURES PATENT HOLDING I, L.L.C.
Reel/Frame 029066/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2012
From: GENERAL MAGIC, INC.
To: INTELLECTUAL VENTURES PATENT HOLDING I, L.L.C.
Reel/Frame 029054/0078 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2011
From: LANGE, DANNY; NELSON, BARBARA; SU, JING; WHITE, JAMES E.
To: GENERAL MAGIC
Reel/Frame 026323/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2011
From: GENERAL MAGIC, INC.
To: INTELLECTUAL VENTURES PATENT HOLDING I, L.L.C.
Reel/Frame 026323/0989 →
CHANGE OF NAME Recorded May 23, 2011
From: INTELLECTUAL VENTURES PATENT HOLDING I, L.L.C.
To: BEN FRANKLIN PATENT HOLDING LLC
Reel/Frame 026325/0505 →