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:
- a hub structure configured to;
receive multiple different files that describe extensions that can be added to a software platform;
combine the multiple different files into a single exposable list; and
expose the single exposable list to a filter structure comprising one or more attachment points configured to filter the list, each attachment point including logic for filtering.
2 Assignments
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 of 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
37 Claims
-
1. A computer-readable medium embodying computer executable code that implements a software architecture, the architecture comprising:
a hub structure configured to;
receive multiple different files that describe extensions that can be added to a software platform;
combine the multiple different files into a single exposable list; and
expose the single exposable list to a filter structure comprising one or more attachment points configured to filter the list, each attachment point including logic for filtering. - View Dependent Claims (2, 3)
-
4. A computer-readable medium embodying computer executable code that implements a software architecture, the architecture comprising multiple different attachment points each of which includes logic making the attachment point operable to:
-
receive XML data that pertains to one or more software extensions that can be added to a software platform;
process the XML data to provide a list of XML nodes; and
expose the list of XML nodes. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A computer-readable medium embodying computer executable code that implements a software architecture, the architecture comprising:
-
a hub structure configured to;
receive multiple different files that describe software extensions that can be added to a software platform;
combine the multiple different files into a single exposable list; and
expose the single exposable list to a filter structure that is configured to filter the list, the filter structure comprising multiple attachment points collectively arranged to filter data associated with the list exposed by the hub structure, 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 only to the feature type with which the extension manager is associated. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of providing a software extension comprising:
-
exposing an XML list that contains one or more nodes;
processing the XML list with a structure including multiple attachment points to identify specific nodes that correspond to various feature types that can be added to a software platform, at least one of the attachment points including processing logic; and
notifying an extension manager that is associated with at least one feature type if a node that corresponds to that feature type is identified in the XML list. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A method of providing a software extension comprising:
-
receiving XML data that pertains to a software extension that is to be added to a software platform;
processing the XML data using one or more attachment points to identify XML nodes, at least one of the attachment points including logic; and
exposing an XML list that contains one or more nodes that are identified by said processing. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A method of providing a software extension comprising:
-
receiving multiple different files, each of which being associated with a different software extension and logically describing its associated software extension;
combining the multiple different files in a single list;
exposing portions of the list;
processing exposed portions of the list using one or more attachment points to identify one or more feature types that are to be added to a software platform, at least one of the attachment points performing a logical operation; and
notifying an extension manager that is associated with a particular feature type. - View Dependent Claims (33, 34)
-
-
35. A computer-readable medium embodying computer executable code that implements a software architecture, the architecture comprising:
-
a collection of attachment points, each attachment point including logic that allows the attachment point to filter data from a list of software extension description files; and
one or more extension managers, each extension manager being associated with a feature types that can be added to a software platform by a software extension, each extension manager being configured to receive only data from the list of software extension description files that pertains to the feature type associated with the extension manager.
-
-
36. A computer-readable medium embodying computer executable code that implements a software architecture, the architecture comprising:
a hub structure configured to;
combine into a single exposable list multiple different files, each file describing an extension that can be added to a software platform; and
filter the single exposable list using a filter structure comprised of multiple objects, each object including logic that allows the object to filter data from the list.
-
37. A method of providing a software extension comprising:
-
processing an XML list including one or more nodes using a collection of attachment points, each attachment point including logic that allows the attachment point to identify a specific node that correspond to various feature types that can be added to a software platform; and
notifying an extension manager that is associated with at least one feature type if a node that corresponds to that feature type is identified in the XML list.
-
Specification