Automatic software downloading from a computer network
First Claim
1. A method for automatically locating computer software from one or more remote computers, the local and remote computers being connected to a computer network, comprising:
- determining whether an object class identifier has been specified for a desired computer software component, and if so, using the object class identifier to locate the desired computer software component, and, if not located, choosing an appropriate object class identifier using a multipurpose Internet mail extension type associated with the desired software component to locate the desired software component, and, if not located, determining whether a uniform resource locator has been specified for a desired computer software component, and if so, using the uniform resource locator to locate the desired computer software component, and, if not located, using a pre-determined network search path to locate the desired software component.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system to automatically locate, download, verify, install, register and display computer software components from a computer network like the Internet or an intranet. The method and system is used to provide dynamic or interactive multimedia components in HTML documents with HTML <OBJECT> tags. The HTML <OBJECT> tags contain parameters including uniform resource locators (URLs) which reference dynamic or interactive multimedia components on remote computers. Network browsers and other applications can obtain computer software components from a computer network like the Internet or an intranet in a uniform, portable, architecture-neutral, robust manner. The computer software components obtained can be used to provide a variety of new multimedia functionality to an application program which is stored on remote computers.
-
Citations
65 Claims
-
1. A method for automatically locating computer software from one or more remote computers, the local and remote computers being connected to a computer network, comprising:
-
determining whether an object class identifier has been specified for a desired computer software component, and if so, using the object class identifier to locate the desired computer software component, and, if not located, choosing an appropriate object class identifier using a multipurpose Internet mail extension type associated with the desired software component to locate the desired software component, and, if not located, determining whether a uniform resource locator has been specified for a desired computer software component, and if so, using the uniform resource locator to locate the desired computer software component, and, if not located, using a pre-determined network search path to locate the desired software component. - View Dependent Claims (2, 3, 4)
determining whether the desired software component is installed and registered on the local computer, and is the proper version of the desired software, and, if so, locating the desired software component on the local computer.
-
-
4. The method of claim 1 where the network search path includes a first set of uniform resource locators, a single codebase uniform resource locator, and a second set of uniform resource locators.
-
5. A method for automatically locating computer software on a plurality of remote computers using a network search path, the method comprising:
-
providing a network search path which includes a first, second and third set of uniform resource locators, where the second set of uniform resource locators includes a single codebase uniform resource locator corresponding to a predetermined application interface, and further includes one or more uniform resource locators that point to computer software components stored on remote computers connected to an intranet computer network; and
searching for a desired computer software component using the first and third set of uniform resource locators and ignoring the second set of uniform resource locators, thereby preventing a search for computer software components on remote computers not connected to the intranet computer network, and, if the desired computer software component cannot be located, further searching for the desired computer software component using the second set of resource locators. - View Dependent Claims (6, 7, 8, 9, 10)
the step of further searching for the desired computer software component is performed using the first set of resource locators, and, if the desired computer software component cannot be located, the step of further searching for the desired computer software component is further performed using the third set of uniform resource locators. -
10. A computer-readable storage medium having stored therein instructions capable of causing a computer to perform the method of claim 9.
-
-
11. A method for automatically managing computer software components obtained from one or more remote computers, the method comprising:
-
installing computer software components obtained from the one or more of the remote computers in a permanent cache on the local computer;
registering the computer software installed in the permanent cache using a predetermined portion of a registry database on the local computer;
using the pre-determined portion of the registry database on the local computer to keep track of a plurality of programs executing on the local computer using the computer software components installed in the permanent cache; and
using the pre-determined portion of the registry database on the local computer to automatically delete computer software components installed in the permanent cache which are no longer being used by any of the plurality of programs executing on the local computer;
where automatic deletion of components is performed responsive to determining the components are no longer being used by the programs. - View Dependent Claims (12)
-
-
13. A method for automatically obtaining remote computer software components, the method comprising:
-
embedding one or more reference tags in a file of data stored on a specific remote computer;
parsing with an application program on the local computer the file of data stored on the specific remote computer;
encountering selected ones of the embedded reference tags during the parsing of the file of data on the specific remote computer;
determining whether the one or more computer software components pointed to by the encountered reference tag are already installed on the local computer, and if not, downloading, verifing, installing in a permanent cache on the local computer, registering, and displaying one of more of the computer software components on a display device on the local computer. - View Dependent Claims (14, 15, 16)
-
-
17. A method for automatically downloading and installing one or more computer software components to a local computer from one or more computers using reference tags, the computer software components including a plurality of sub-components, the reference tags used to identify the computer software components, the method comprising:
-
receiving a request to present a document at the local computer, where the document comprises an embedded reference tag;
locating automatically a control file on a specific remote computer connected to the computer network using the reference tag embedded in the document, the control file including references to one or more computer software components on the specific remote computer or one or more links to one or more computer software components on one or more of the remote computers;
determining with the control file which of the plurality of sub-components for a computer software component are to be downloaded by checking version information included in the control file;
downloading automatically to the local computer in an asynchronous manner each of the determined computer software sub-components; and
installing automatically each of the downloaded computer software sub-components in one or more locations on the local computer. - View Dependent Claims (18, 19)
-
-
20. A method for automatically downloading and installing computer software on a local computer from one or more remote computers, the local and remote computers being connected to a computer network, the method comprising:
-
responsive to encountering in a document an indication that software components are specified for presentation of the document, locating automatically a control file on a specific remote computer connected to the computer network, the control file including references to one or more computer software components on the specific remote computer or one or more links to one or more computer software components on one or more other remote computers;
downloading automatically to the local computer the one or more of the computer software components referenced in or linked to the control file using a uniform resource locator to locate the computer software components;
verifying automatically that the computer software components downloaded to the local computer are safe to install on the local computer;
installing automatically the verified computer software components in one or more locations on the local computer; and
registering automatically the installed computer software components in a registry database on the local computer. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
the local computer has a central processing unit (CPU) and an operating system; - and
the control file includes an initialization file that includes one or more universal resource locators pointing to one or more computer software components on one or more remote computers, at least one of the computer software components being specified for the operating system or the CPU of the local computer.
-
-
23. The method of claim 20 where
the control file includes a cabinet file, the cabinet file including an initialization file, one or more software components in a compressed format, and one or more universal resource locators pointing to remote computer software components on one or more remote computers; - and
the initialization file includes information about the version of files needed for the software component.
- and
-
24. The method of claim 20 where the control file is a single portable executable file.
-
25. The method of claim 24 where the single portable executable file is an executable application file, a dynamic link library file, and object linking and embedding control file, or an network activation control file.
-
26. The method of claim 20 where the locating includes using an object class identifier, a uniform resource locator, or a network search path to locate the control file.
-
27. The method of claim 20 where the verifying uses a digital signature with a digital certificate to verify the computer software components.
-
28. The method of claim 20 where
the registering includes registering the downloaded and verified computer software components in a module usage section of the registry database on the local computer; - and
the module usage section of the registry database permits tracking of usage of downloaded and installed computer software components.
- and
-
29. The method of claim 20 where
the local computer has a central processing unit (CPU) and an operating system; - and
the locating includes using a hypertext transfer protocol server to negotiate the location of a control file including at least one computer software component specified for the CPU or the operating system of the local computer.
- and
-
30. A method for automatically locating computer software from one or more remote computers, the local and remote computers being connected to a computer network, the method comprising:
-
determining whether an object class identifier has been specified for a desired computer software component, and if so, using the object class identifier to locate the desired computer software component and if not, determining whether a uniform resource locator has been specified for a desired computer software component, and if so, using the uniform resource locator to locate the desired computer software component, and if not, using a pre-determined network search path to locate the desired software component. - View Dependent Claims (31, 32, 33, 34)
when an object class identifier has not been specified for a desired computer software component, choosing an appropriate object class identifier using a multipurpose Internet mail extension type associated with the desired software component to locate the desired software component.
-
-
33. The method of claim 30 where the determining whether an object class identifier has been specified for a desired computer software component step includes:
-
determining whether the desired software component is installed and registered on the local computer, and is the proper version of the desired software, and if so, locating the desired software component on the local computer.
-
-
34. The method of claim 30 where the network search path includes a first set of uniform resource locators, a single codebase uniform resource locator, and a second set of uniform resource locators.
-
35. A method for automatically locating computer software on one or more remote computers using a network search path, the method comprising:
-
providing a network search path which includes a first set of uniform resource locators, a second set of uniform resource locators including a single codebase uniform resource locator corresponding to a predetermined application interface, and a third set of uniform resource locators;
searching for a desired computer software component using the first set of uniform resource locations, and if the desired computer software component cannot be located, searching for the desired computer software component using the second set of resource locators, and if the desired computer software component cannot be located, searching for the desired computer software component using the third set of uniform resource locators. - View Dependent Claims (36, 37, 38, 39)
providing a network search path which includes the first, second and third sets of uniform resource locators, where the second set of uniform resource locators point to computer software components stored on remote computers connected to an intranet computer network; and
searching the first and third set of uniform resource locators and ignoring the second set of uniform resource locators, thereby preventing a search for computer software components on remote computers not connected to the intranet computer network.
-
-
40. A method for automatically locating computer software on one or more remote computers using a network search path, the method comprising:
-
providing a network search path which includes a first set of uniform resource locators, a second set of uniform resource locators including a single codebase uniform resource locator corresponding to a predetermined application interface, and a third set of uniform resource locators;
searching for a desired computer software component using the second set of uniform resource locators, and if the desired computer software component cannot be located, searching for the desired computer software component using the first set of resource locators, and if the desired computer software component cannot be located, searching for the desired computer software component using the third set of uniform resource locators. - View Dependent Claims (41)
-
-
42. A method for automatically obtaining on a local computer a computer software component from one or more remote computers, the local computer having a central processing unit (CPU) and an operating system, where the computer software component is available in different formats for different platforms, the method comprising:
-
requesting a desired computer software component stored on a remote computer using a specified platform-independent uniform resource locator, where the specified uniform resource locator can be used to obtain different versions of the component for different platforms; and
receiving the desired computer software component in a format appropriate for the operating system or CPU of the local computer. - View Dependent Claims (43, 44, 45, 46)
receiving a MIME request type, where the MIME request type specifies a platform; and
determining an appropriate format of the computer software component based on the specified platform.
-
-
47. A method for automatically obtaining remote computer software components, the method comprising:
-
embedding one or more reference tags in a file of data stored on a specific remote computer;
parsing with a program on the local computer the file of data stored on the specific remote computer;
encountering selected ones of the embedded reference tags during the parsing of the file of data on the specific remote computer; and
determining whether the one or more computer software components pointed to by the encountered reference tag are already installed on the local computer, and if not, downloading, verifying, installing, registering, and displaying one of more of the computer software components on a display device on the local computer. - View Dependent Claims (48, 49, 50)
-
-
51. In an HTML document stored on computer-readable medium, the improvement comprising:
-
a reference tag including one or more universal resource locators pointing to one or more computer software components on one or more remote computers, the one or more computer software components capable of being displayed on a display device on the local computer;
where the computer software components provide functionality not available at the local computer; and
where the reference tag is capable of being used to locate, download and install the one or more computer software components on the local computer.
-
-
52. In an HTML document stored on computer-readable medium, the improvement comprising:
-
a reference tag including one or more universal resource locators, pointing to one or more computer software components on one or more remote computers, at least one universal resource locator pointing to a computer software component on a local computer, the one or more computer software components capable of being displayed on a display device on the local computer;
where the computer software components at the remote computers provide functionality not available at the local computer; and
where the reference tag is capable of being used to locate, download and install the one or more computer software components on the local computer.
-
-
53. A method for automatically downloading and installing computer software components from one or more computers using a HTML document being parsed on a local computer, the HTML document including one or more reference tags used to identify the computer software components, the method comprising:
-
encountering in the HTML document one of the reference tags;
responsive to encountering the reference tag in the HTML document, locating automatically a control file on a specific remote computer connected to the computer network using the reference tag, the control file including one or more computer software components on the specific remote computer or one or more links to one or more computer software components on one or more of the remote computers;
downloading automatically to the local computer the one or more of the computer software components included in or linked to the control file using a uniform resource locator to locate the computer software components;
installing automatically the downloaded computer software components in one or more locations on the local computer. - View Dependent Claims (54, 55, 56)
verifying automatically that the computer software components downloaded to the local computer are safe to install on the local computer; and
registering automatically the installed computer software components in a registry database on the local computer.
-
-
56. The method of claim 53 where at least one of the reference tags comprises one of the following:
- the HTML <
OBJECT> and
<
EMBED>
tags.
- the HTML <
-
57. A method for downloading one or more software components specified in information for presenting a document to be rendered on the local computer, the method comprising:
-
receiving a request that the document be presented; and
responsive to the request, retrieving the information for presenting the document, where the information for presenting the document comprises one or more references to the software components, where the references include a location-independent identifier;
determining whether the software components are installed on the local computer via the location-independent identifier;
responsive to determining the software components are not installed on the local computer, automatically downloading the software components from one or more remote locations to the local computer; and
installing the software components on the local computer. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65)
the one or more references to the software components comprise a list of one or more specified locations at which a software component to be downloaded may reside. -
59. The method of claim 58 where the automatically downloading searches the specified locations for at least one of the software components.
-
60. The method of claim 58 further comprising:
inhibiting searching of the specified locations to avoid downloading components from the specified locations.
-
61. The method of claim 57 further comprising:
presenting at least one of the installed software components in a rendered presentation of the document.
-
62. The method of claim 57 where
the location-independent identifier comprises an object class identifier; - and
the determining determines whether a component corresponding to the object class identifier is already installed on the local computer.
- and
-
63. The method of claim 57 where the document is a hypertext page and the information for presenting the document comprises HTML.
-
64. The method of claim 57 where the document is presented during a first browsing session and at least one of the software components is downloaded to a permanent cache, the method further comprising:
during a second browsing session, reusing the software components downloaded to the permanent cache.
-
65. The method of claim 57 where the document is a first document, the method further comprising:
-
receiving a request that the second document be presented; and
responsive to the request, retrieving information for presenting the second document, where the information for presenting the second document comprises at least one reference to a software component already downloaded and installed as a result of receiving the request for the first document;
determining the already-installed software components are already installed on the local computer via the location-independent identifier; and
responsive to determining the already-installed software components are already installed on the local computer, presenting the second document with the already-installed software components.
-
-
Specification