A virtual assistant platform (“VAP”) provides a self-supporting and expandable architectural framework for virtual assistants (“VAs”) to communicate with a user via an electronic device. VAs may communicate with other devices, software programs, and other VAs. VAs may include intelligent agents configured to perform particular tasks. The VAP may include an execution environment that provides an interface between the VA and the electronic device and a framework of services for the intelligent agents. A VA may participate in or coordinate a group of VAs in which knowledge and tasks can be shared and cooperatively executed. The execution environment may include an agent store for registering agents for use on the VAP, storing agent code and data, and distributing agents to requesting users. Through the agent store, new VAs and agents may be distributed to users to expand their use of the VAP.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for providing electronic assistance to a user, the method comprising: providing a virtual assistant platform configured to share data across a plurality of virtual assistants; activating a first agent in one of the virtual assistants, the first agent located on a device client installed on a device of the user, and the first agent being configured to perform one or more tasks; and activating a second agent in one of the virtual assistants, the second agent located on the device of the user or on another device and facilitating communication with the first agent. 2. The method of claim 1, further comprising configuring the first agent and second agent to access one or more shared data stores, the shared data stores providing the virtual assistants with shared capabilities. 3. The method of claim 2, wherein one or more of the shared data stores comprises a world ontology understood by all of the virtual assistants. 4. The method of claim 1, wherein the first agent comprises a main agent configured to manage tasks of one or more other agents on the device, the method further comprising activating at least one of the other agents on the device. 5. The method of claim 4, wherein at least one of the other agents on the device is an adapter agent configured to communicate with an object. 6. The method of claim 4, further comprising providing an agent bus configured to deliver only communications between the main agent and the other agents on the device. 7. The method of claim 1, further comprising providing on the virtual assistant platform an agent store from which the user may obtain at least one additional agent. 8. The method of claim 7, further comprising registering each of the additional agents for use on the user's device. 9. A virtual assistant platform (VAP) operating on one or more computer servers and on one or more devices, the VAP comprising: a plurality of virtual assistants, each of the virtual assistants comprising at least one agent; and one or more shared data stores accessible by each of the virtual assistants, the shared data stores providing the virtual assistants with shared capabilities. 10. The VAP of claim 9, wherein one or more of the shared data stores comprises a world ontology understood by all of the virtual assistants. 11. The VAP of claim 10, wherein the world ontology is included in an ontology hierarchy that further includes one or more domain ontologies within one or more of the data stores. 12. The VAP of claim 9, further comprising a group virtual assistant to which one or more of the virtual assistants subscribes, the group virtual assistant being configured to distribute information to each of the subscribing virtual assistants according to a status of the virtual assistant. 13. The VAP of claim 9, wherein one of the virtual assistants is an administrator virtual assistant configured to communicate with all of the other virtual assistants. 14. The VAP of claim 13, further comprising a virtual assistant bus configured to deliver only communications between the virtual assistants. 15. The VAP of claim 9, further comprising a device client installed on each of the devices on which the VAP operates, the device client modifying operations of the device so that one or more of the virtual assistants operate on the device. 16. The VAP of claim 15, wherein in each device, the virtual assistant operating on the device includes a main agent and a plurality of other agents, wherein the main agent communicates with the other agents and each of the other agents performs one or more tasks. 17. The VAP of claim 16, further comprising an agent bus on each device, the agent bus configured to deliver only communications between the main agent and the other agents on the device. 18. The VAP of claim 16, further comprising a device bus configured to deliver only communications between main agents of the devices on which one of the virtual assistants is operating. 19. The VAP of claim 9, further comprising an execution environment including a plurality of VAP-implementation services for configuring one or more of the VAs and one or more of the agents. 20. The VAP of claim 19, wherein the execution environment further includes an application programming interface for agents to access the VAP-implementation services.