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;
an extension definition hub to;
receive the data associated with files that describe software extensions as multiple extension definition files;
combine the multiple extension definition files into a single list;
expose the single list for processing by the multiple attachment points; and
multiple extension managers each associated with one or more of said multiple attachment points and with a respective feature type that can be added to a software platform by software extensions and being configured to receive data from the associated one or more said multiple attachment points that pertains to a software extension having the respective feature type with which the extension manager is associated and to process the received data to add the software extension to the software platform.
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
17 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; an extension definition hub to; receive the data associated with files that describe software extensions as multiple extension definition files; combine the multiple extension definition files into a single list; expose the single list for processing by the multiple attachment points; and multiple extension managers each associated with one or more of said multiple attachment points and with a respective feature type that can be added to a software platform by software extensions and being configured to receive data from the associated one or more said multiple attachment points that pertains to a software extension having the respective feature type with which the extension manager is associated and to process the received data to add the software extension to the software platform.
-
-
2. A method comprising:
-
receiving data associated with files that describe software extensions as multiple extension definition files; combining the multiple extension definition files into a single list; exposing the single list for processing to install the software extensions in a software platform; collectively arranging multiple attachment points to filter the exposed single list, wherein each said attachment point includes logic for filtering the exposed single list to obtain data that pertains to software extensions of a feature type with which the attachment point is associated; 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 the software platform by the 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 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 each of multiple extension managers with at least one of said attachment points, wherein each of the multiple extension managers is; associated with a respective feature type that can be added to a software platform by software extensions, and configured to receive data from the at least one associated said attachment point that pertains to the feature type with which the extension manager is associated.
-
-
10. A system for adding functionality to a software platform, the system comprising:
-
a processor; memory; and one or more modules stored in the memory and executable on the processor to provide the software platform, the one or more modules to further provide; an extension definition file (EDF) hub receiving one or more EDFs and combining the one or more EDFs into a single list, each EDF describing a software extension that can be added to the software platform; multiple extension managers managing addition of an associated extension to the software platform, wherein each extension manager is associated with a particular feature type to manage software extensions having the particular feature type; one or more attachment points, each attachment point associated with one or more of the EDFs and with one or more of the extension managers, and notifying the associated one or more of the extension managers when an EDF having a particular feature type associated with the one or more of the extension managers is added to or removed from the list, wherein, when an EDF is added to or removed from the list, said one or more of the extension managers that are notified responsively add to or remove from the software platform a said software extension that is described by the EDF. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification