Architectures for and methods of providing network-based software extensions
First Claim
1. A computer-readable medium embodying computer-executable code that implements a software architecture, the architecture comprising:
- multiple attachment points collectively arranged to filter data associated with files that describe software extensions, each attachment point including logic for filtering data; and
multiple extension managers associated with the multiple attachment points and with respective feature types that can be added to a software platform by software extensions, the extension managers being configured to receive data from the multiple attachment points that pertains to the feature type with which the extension manager is associated.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for network-based or Internet-based software delivery are described. In one embodiment, an application program or software platform resides on a client. The program or platform is configured so that it is extensible based on software extensions that are deliverable over a network such as the Internet. Various extensions can be developed by third party developers for incorporation into the program or platform. In the described embodiment, extension files that comprise a software extension are hosted on an Internet server. Additional files are also hosted on the Internet server and describe aspects of the software extension. These additional files include files that describe a logical attachment of the extension to the program or platform, as well as files that describe the location of the extension files. Extensions are incorporated on a client by navigating to a particular Internet site through which the extensions can be accessed. The files describing the extension files are downloaded on the client. These files tell the client where the particular extension is to be plugged in, as well as where to find the appropriate extension files and how to download them. The extension files are then downloaded and incorporated into the program or platform.
-
Citations
20 Claims
-
1. A computer-readable medium embodying computer-executable code that implements a software architecture, the architecture comprising:
-
multiple attachment points collectively arranged to filter data associated with files that describe software extensions, each attachment point including logic for filtering data; and
multiple extension managers associated with the multiple attachment points and with respective feature types that can be added to a software platform by software extensions, the extension managers being configured to receive data from the multiple attachment points that pertains to the feature type with which the extension manager is associated.
-
-
2. A method comprising:
-
collectively arranging multiple attachment points to filter data associated with files that describe software extensions, wherein each attachment point includes logic for filtering data; and
associating each of multiple extension managers with one of the multiple attachment points;
associating each of the multiple extension managers with a respective feature type that can be added to a software platform by software extensions, wherein the extension managers are configured to receive data from the multiple attachment points that pertains to the feature type with which the extension manager is associated. - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium embodying computer-executable code that implements a software architecture, the architecture comprising:
a data structure configured to;
receive multiple different files that describe extensions that can be added to a software platform; and
expose the multiple different files to a filter structure comprising one or more attachment points configured to filter the multiple different files, each attachment point including logic for filtering.
-
10. A computer-readable medium embodying computer-executable code that implements a software architecture, the architecture comprising:
-
a data structure configured to;
receive multiple different files that describe software extensions that can be added to a software platform;
expose the multiple different files to a filter structure comprising attachment points collectively arranged to filter data associated with the multiple different files, each attachment point including logic for filtering data; and
associate an extension manager with each attachment point, each extension manager being associated with a respective feature type that can be added to a software platform by software extensions, wherein each extension manager is configured to receive data from the associated attachment point that pertains to the feature type with which the extension manager is associated.
-
-
11. A system for adding functionality to a software platform, the system comprising:
-
an extension definition file (EDF) hub receiving one or more EDFs, each EDF describing a software extension that can be added to the software platform;
one or more extension managers managing addition of an associated extension to the software platform;
one or more attachment points, each attachment point associated with one or more of the EDFs and notifying one or more of the extension managers when an EDF is added or removed. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification