Network-based software extensions
First Claim
1. A method comprising:
- describing one or more software extensions using descriptions, the extensions being configured for incorporation in a software platform executing on a client; and
delivering the descriptions of the one or more extensions to the client via a network, the descriptions being configured for use in downloading the software extensions via the network;
said acts of describing and delivering being configured to enable software to be delivered over the network.
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 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
70 Claims
-
1. A method comprising:
-
describing one or more software extensions using descriptions, the extensions being configured for incorporation in a software platform executing on a client; and delivering the descriptions of the one or more extensions to the client via a network, the descriptions being configured for use in downloading the software extensions via the network; said acts of describing and delivering being configured to enable software to be delivered over the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer system, cause the computer system to:
-
describe one or more software extensions using extensible markup language (XML), the extensions being configured for incorporation in a software platform comprising a single application program, the single application program having multiple different functionalities that can enable a user to accomplish multiple different tasks; and deliver XML descriptions of the one or more extensions to the client via the Internet, the descriptions being configured for use in downloading the software extensions via the Internet; wherein causing said computer system to describe one or more extensions and deliver XML descriptions enables software to be delivered over the Internet.
-
-
18. A method for delivering software via a network comprising:
-
describing one or more software extensions using one or more descriptive files, the extensions being configured for incorporation in a software program executing on a client; associating the one or more descriptive files with one or more associated extension files that are useable to provide a program functionality; storing the descriptive files and associated extension files in a network-accessible location; and delivering the descriptive files and the associated extension files of the one or more extensions to the client via a network. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method comprising:
-
storing one or more extension definition files (EDFs) that describe a logical attachment to a software application program; storing one or more extension files that correspond to the one or more EDFs and extend the software application program; delivering, via a network, at least one EDF to a client; and delivering, via the network, at least one extension file that corresponds to the at least one EDF to a client; both of said acts of storing and both of said acts of delivering enabling software to be delivered over the network. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A data structure embodied on a computer-readable medium comprising:
-
a first sub-structure indicative of a software extension that is to be incorporated in a software application program; one or more second sub-structures associated with the first sub-structure and indicating feature types that are added by the extension to the application program; and one or more third sub-structures associated with the one or more second sub-structures and indicating features of an associated feature type that are added by the extension. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47)
-
-
48. A method of delivering software via a network comprising:
-
navigating to a network site that maintains at least one software application program; and downloading a software application program from the network site, the application program comprising multiple different functionalities that can assist a user in accomplishing different tasks, the software application program being configured to be extended with software extensions that are deliverable via a network and are described by at least one network-deliverable file. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
54. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, cause the computer to:
-
navigate to a network site that maintains at least one software application program; download a software application program comprising multiple different functionalities that can assist a user in accomplishing different tasks, the software application program being configured to be extended with software extensions that are deliverable via the network and described by at least one network-deliverable file; and extend the software application program by adding at least one extension to the application program, the extension being added by using a link to navigate to a different network site that hosts one or more files that describe the extension, and extension files that are used to implement the extension and downloading the one or more files and the extension files to a client.
-
-
55. A method comprising:
-
accessing a Web site through which one or more software extensions can be obtained and through use of which software can be delivered; receiving at least one file that describes at least one software extension using a hierarchical language that describes the software extension'"'"'s logical attachment to a software application program; receiving one or more software extension files; and installing the one or more software extension files based, at least in part, on the description contained in said at least one file. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62)
-
-
63. A method comprising:
-
describing one or more software extensions using one or more extensible markup language (XML) files, the extensions being configured for incorporation in a software program executing on a client; associating the one or more XML files with one or more associated extension files that are useable to provide a program functionality; and storing the XML files and associated extension files in a network-accessible location; said acts of describing and associating being configured to provide software for delivery over the network.
-
-
64. A network site comprising:
-
one or more software extension files configured to be incorporated into a software application program, the software extension files being configured to allow delivery of software via a network; and one or more files associated with the one or more software extension files and describing the extension files, the one or more files describing a logical attachment of the one or more software extension files to the software application program. - View Dependent Claims (65)
-
-
66. A method of managing network-based software extensions comprising:
-
grouping multiple software extension descriptions in a catalog in a network-accessible location to enable delivery of software via a network; accessing the network-accessible location; and using the catalog to update a software extension that is resident on a computing device. - View Dependent Claims (67, 68, 69)
-
-
70. A method comprising:
-
describing one or more software extensions using an extension definition file comprising an XML file that logically describes an extension, the extension definition file having an open schema that can permit the software extensions to be extended, the extension definition file having one or more predefined tags individual ones of which being associated with feature types of a software extension, the schema having an outer encompassing tag having one or more of the following attributes;
a urn attribute that identifies an extension, a name attribute that can be used in a user-visible display, a version attribute that describes a version number for the extension, an update attribute that describes when an extension definition file was modified last, and a description attribute that describes an associated extension, the extensions being configured for incorporation in a software platform executing on a client; anddelivering the extension definition file to the client via a network, the extension definition files being configured for use in downloading associated software extensions via the network; said acts of describing and delivering being configured to enable software to be delivered over the network.
-
Specification