IP Library Granted Patent US 10,761,860
Granted Patent B2
US 10,761,860 · App. 16/263,036 · Granted Sep 1, 2020

Dynamically loaded plugin architecture

Inventors: Alan Chaney (Simi Valley, CA); Clay Cover (Anaheim, CA); Gregory A. Bolcer (Yorba Linda, CA); Andrey Mogilev (Novosibirsk, RU)
Assignee: Bitvore Corp.
G06F9/44526G06F8/65G06F8/71
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 10,761,860
App. No.
16/263,036
Granted
Sep 1, 2020
Kind
B2
Abstract

A method and architecture for using dynamically loaded plugins is described herein. The dynamically loaded plugin architecture comprises a parent context and a plugin repository. The parent context may define one or more reusable software components. The plugin repository may store one or more plugins. When a plugin is loaded, a child context may be created dynamically. The child context is associated with the plugin and inherits the one or more reusable software components from the parent context.

Claims (40)

1. A system comprising:

a container comprises a hardware processor and executable code within a host application, the container is operable to store a plurality of plugins, wherein:

a plugin is operable to add a feature to the host application,

each plugin of the plurality of plugins is operable to independently configure one or more models,

a first plugin of the plurality of plugins is operable to inherit one or more software components from a parent plugin of the plurality of plugins, a second plugin of the plurality of plugins is operable to inherit one or more software components from the first plugin, wherein the first plugin is a first version of the first plugins, and the second plugin is a second version of the first plugin, and the container is operable to run the first plugin independently from and concurrently with the second plugin, and

the container is operable to indicate a violation if the second plugin invokes a service that returns a model configured by the first plugin.

2. The system of claim 1 , wherein the container is on a server.

3. The system of claim 1 , wherein the parent plugin is defined by an application programming interface (API).

4. The system of claim 1 , wherein each plugin of the plurality of plugins is uniquely identified by a version.

5. The system of claim 4 , wherein the container is operable to run a first version of the first plugin independently from and concurrently with a second version of the first plugin.

6. A non-transitory computer-readable storage medium storing instructions which, when executed by one or more processors, provides a plugin architecture, the plugin architecture comprising:

a container operable to store a plurality of plugins, wherein:

a plugin is operable to add a feature to a host application,

each plugin of the plurality of plugins is operable to independently configure one or more models,

a first plugin of the plurality of plugins is operable to inherit one or more software components from a parent plugin of the plurality of plugins, a second plugin of the plurality of plugins is operable to inherit one or more software components from the first plugin, wherein the first plugin is a first version of the first plugins, and the second plugin is a second version of the first plugin, and the container is operable to run the first plugin independently from and concurrently with the second plugin, and

the container is operable to indicate a violation if the second plugin invokes a service that returns a model configured by the first plugin.

7. The plugin architecture of claim 6 , wherein the container comprises executable code within the host application.

8. The plugin architecture of claim 6 , wherein the container comprises a hardware processor.

9. The plugin architecture of claim 6 , wherein the container is on a server.

10. The plugin architecture of claim 6 , wherein the parent plugin is defined by an application programming interface (API).

11. The plugin architecture of claim 6 , wherein each plugin of the plurality of plugins is uniquely identified by a version.

12. The system of claim 11 , wherein the container is operable to run a first version of the first plugin independently from and concurrently with a second version.

13. A method performed by one or more processors for loading plugins, the method comprising:

storing a plurality of plugins in a container;

loading a first plugin of the plurality of plugins, wherein the first plugin is a first version of the first plugin, the first plugin is operable to:

inherit one or more software components from a parent plugin,

add a feature to a host application, and

independently configure one or more models of the first plugin;

loading a second plugin of the plurality of plugins, wherein the second plugin is a second version of the first plugin, the second plugin is operable to:

inherit one or more software components from the first plugin,

add a feature to the host application, and

independently configure one or more models of the second plugin;

running the first plugin independently from and concurrently with the second plugin; and

indicating a violation if the second plugin invokes a service that returns a model of the first plugin.

14. The method of claim 13 , wherein the container comprises executable code within the host application.

15. The method of claim 13 , wherein the container comprises a hardware processor.

16. The method of claim 13 , wherein the container is on a server.

17. The method of claim 13 , wherein the parent plugin is defined by an application programming interface (API).

18. The method of claim 13 , wherein the first plugin and the second plugin are each uniquely identified by a version.

19. The method of claim 18 , wherein the method comprises running a first version of the first plugin independently from and concurrently with a second version of the first plugin.

Assignments (2)
SECURITY INTEREST Recorded Nov 21, 2024
From: BITVORE CORP.
To: MCANDREWS, HELD & MALLOY LTD.
Reel/Frame 069432/0283 →
SECURITY INTEREST Recorded Nov 21, 2024
From: BITVORE CORP.
To: MCANDREWS, HELD & MALLOY LTD.
Reel/Frame 070070/0141 →
Continuity (5)
Continuation 15623500 · Jun 15, 2017
Continuation 14719402 · May 22, 2015
Continuation 14208437 · Mar 13, 2014
Provisional Application 61784542 · Mar 14, 2013
Related Publication 20190235883A1 · Aug 1, 2019