1. Field of the Invention
The present invention relates to a removal or uninstall process for software. More particularly, the present invention relates to a single removal/uninstall process of all local Web browser objects and data associated with and created by connecting to an existing Web Site.
2. Description of the Related Art
A Website, as used herein, is a collection of related Web page, images, videos, embedded multimedia or other digital assets that are addressed with a common (initiating) domain name or IP address in an Internet Protocol-based network. A Web page is a document, usually comprising plain text and Hypertext Markup Language (HTML) formatting instructions, and anchors. The pages of a Website are accessible from a Uniform Resource Locator (URL), which typically points to a page of the site. Website designers usually organize the Web pages of the site into a hierarchy, though navigation within the site need not conform to the hierarchy.
When a user visits a Website, his browser may install a number of objects and data related to that Website. At some point, a user may wish to remove these objects and data from his computer system. However, because Website related browser objects and data (hereinafter referred to as “Website components”) are unlike regular software applications, which after being installed can be uninstalled, no holistic mechanism or process exists for removing safely and completely all of these items.
Because direct removal is not possible, the user must employ certain tools, such as browser clean up tools, to attempt to clean a Website from a computer system. These browser clean-up tools are simply a collection of distinct, separate, and uncoordinated tasks, which perform removal on a file-by-file or object-by-object or tabular basis (for browsers that use tabs). These tools do not track any relationships between Websites and any of the browser objects or data that are associated with the Websites. With browser clean-up tools, the user has no assurance that he can remove, completely and safely, all of the browser objects and data related to a Website.
A need thus exists for an improved process that allows a user to uninstall safely and completely a Website and its related objects and data.
The present invention provides a Website Uninstaller, a program or Browser functional addition, such as a plug-in or extension, or any combination thereof, by which a user can remove all Website components from a computer system. The present invention performs this process by registering Websites as single entities, and storing and maintaining a relationship between all associated browser objects and the Websites.
In accordance with the present invention, the Website Uninstaller is configurable to define which object types are recorded in a Website entry record as well as which events trigger the registration process. Each browser can have it is own uninstaller but all the uninstallers can share the same rules and associations.
Further in accordance with the present invention, the Website Uninstaller can remove all browser objects such as cookies, temporary files, browser cache objects, bookmarks, favorites, browser plug-in, browser extensions, and browser history related to a Website from the computer system by means of a single process.
Moreover, browser object relationships are shareable between multiple browsers, thereby permitting the removal of all entities and browser objects related to a Website regardless of the particular browser used to visit the Website.
One embodiment of the present invention provides a method of managing in a computer system one or more browser objects and data associated with a Website identified by a particular URL. The method includes the steps of (i) visiting a Website by entering an URL into a browser, (ii) defining and registering a current Meta URL for the browser based on the URL of the visited Website, and (iii) while in the visited Website, permitting one or more browser objects or data related to the visited Website to be installed in the computer system and associating the objects or data with the current Meta URL, and upon an occurrence of an uninstall request, cleaning all entities and browser objects related to a registered Website from the computer system by removing objects and data associated with a current Meta URL for the registered Website.
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings wherein:
Referring to
While in the visited Website, with the browser displaying the HTML document, the user, in step 48, permits browser objects and data related to the visited Website to be installed in the computer system. In step 50, the software associates these browser objects and data with the current Meta URL. In addition, while in the visited Website, in step 52, the user can make an uninstall request to remove browser objects and data associated with a Meta URL for a registered Website. If so, the software removes, in step 54, the browser objects and data associated with a Meta URL for the registered Website from the computer system. The registered Website may be the visited Website or another Website.
Registering the URL as a Meta URL
The user, in step 46, registers the URL as a Meta URL by designating and storing it as such. If the software has not registered the current URL, then the user can create a new Meta URL entry in the Website Uninstaller for that URL. The current URL defines a Website, regardless of the presence of embedded frames or similar features.
A Meta URL by default consists of at least the initiating URL (the first URL accessed upon starting the browser). A Website entity comprises the Meta URL, name, and associated objects. There can be multiple instances of each element except for the Name and Originating Request elements. A Meta URL has the following fields.
In the structure above, the ChildPlugin includes both Browser Extensions and Browser Plugins. The CacheObject includes Temporary Objects. It is intended that these elements be shared across different Browser types, even though terminology might be different among the different browsers.
Once an initial URL is registered as a Meta URL, all following navigations (by default) are associated with the Meta URL, unless a new URL is entered in the Address field, a bookmark or favorite is used to reach a different URL, or the Browser Home page is selected. A user can manually register any URL as a Meta URL.
The registration tasks for registering a Meta URL include: checking, in step 102 of
The OnBeforeNavigate event is an event that triggers registration before a navigation to a new URL. The OnNavigateComplete event triggers registration after navigation to a new URL is complete. The OnDocumentComplete event triggers registration when a document has reached the ReadyState_Complete state. The OnNavigateError event triggers registration when navigation to a new URL fails. The OnQuit event triggers registration when the browser (Internet Explorer) quits.
The greater the number of events that trigger a registration, the better able the uninstaller is to perform a more complete cleanup process. For example, with the OnNavigateError registration event, the uninstaller is able to clean up objects installed when navigation to a new URL fails.
Associating New Objects or Data With a Meta URL
The software associates, in step 50, new objects or data with a Meta URL. The new objects or data include new URLs, new HTML documents, new browser temporary or cache objects, new browser cookies, new browser history objects, new bookmarks or favorites, embedded objects such as multimedia, and newly installed browser plug-ins or extensions (through the current page). Each of these objects can arise from the current Website or any other browser objects registered to the URL. These new objects are associated with the Meta URL entry previously registered.
The association of new objects is stored in some predefined format such as XML and the selection of browser objects is configurable.
Uninstalling a Registered Website
The user can request, in step 52, that the software uninstall all of the browser objects registered for the Meta URL of a previously registered Website. By default, the uninstall process occurs against the current Website Entity, though the user can choose to uninstall a different Website Entity. The functions that occur in these steps depend on the Uninstaller configuration.
As shown in
Select a New URL via Browser Component
In step 56, the user can, at any time, select a new URL by using a bookmark/favorite, address field, or by navigating via the Home button. The system then navigates to the new URL, as shown in
The software considers movement to a new manually-entered URL as movement to a new Website. In this case, when the software encounters a new browser object or data, the software registers it to the new Website, unless the configuration indicates that the new browser objects and data should be registered to both the old and the new Meta URLs.
Navigate to a New URL
At any time, the user can navigate, in step 58, to a new URL through a document element such as an HTML link. The Web browser continues to operate normally, permitting, in step 74 of
The software considers that repeated use of the Back or Forward button in the browser, to move to a point before that at which the Meta URL was established, is the same as visiting a new Website, which may need to be registered, unless it is already registered.
Sharing Associations and Objects Among Browsers
In step 62 in
One embodiment of the present invention permits a user to select a particular browser from which to remove objects. In this case, the user interface must be capable of associating a well-known browser name with a unique browser ID. However, this is not necessary if the Uninstall process is implemented within the browser itself, because the software can assume that objects are to be removed from the current browser instance. In any event, the storage facility must be updated to remove the browser unique ID.
Regarding whether multiple browsers share Meta URLs and associations, the software makes a distinction between multiple browsers relying on the same Website registrations and multiple browsers running simultaneously.
If multiple browsers run simultaneously, each browser has its own copy of the registration file or database entry. When the browser session is ended, the software synchronizes the registration file with a master registration file using standard data synchronization rules. This keeps changes by the current browser session unexposed until the browser session has ended.
If multiple browsers share the same Website registrations, but not at the same time, the software maps browser events and some object definitions between browser types. The particular events that are mapped depend on the browser type, because in some cases a certain browser event may be recognized for one browser type but not for another browser type. In addition, the name of the same event in one browser may be different for another browser. For example, the OnQuit event in Internet Explorer may map to the OnExit event on a different browser. Thus, a logically accurate mapping of events between browsers must be defined.
If multiple Websites share browser objects, the software removes objects when requested, regardless of whether other Websites use them. A request to remove a non-existent object causes the software to register the object as deleted and dissociated with the Website, but takes no other action.
If only one browser is registered with the Website Uninstaller, then after removing the Website objects, the Website entry is removed from the storage facility that holds it. If multiple browsers are registered, the browser reference in the Website Entity is removed, with the result that the browser that is removed is no longer available to the Uninstall process for this specific Website Entity. Thus, the Uninstall process still operates for the browser except that the browser no longer recognizes the Website Entity as available to be uninstalled. In the storage facility, each browser must be uniquely identified so that the browser objects are removed from the correct browser.
If no objects exist, the Uninstall process does not run except to clean up or remove the storage facility entries.
If multiple Websites share an object, the software will still remove it. The removal does not harm the operation of a Website, which when re-visited, will simply reinstall the needed object.
Changing A Meta URL Display Name
A user changes the Meta URL display name when the user desires a more user-friendly reference to the Meta URL (the display name functions as an alias to the Meta URL).
Changing a Meta URL
A user changes the Meta URL when the user wants to define the Meta URL based on a more popular location, that is, to expand the coverage of a Meta URL. For example, if a Website is initially registered as http://finance.yahoo.com/marketupdate/overview, the user may wish to change the Meta URL to http://finance.yahoo.com.
Configuring the Website Uninstaller
The user configures, in step 60, the Website Uninstaller by entering and storing, in step 61, specific information. Specifically, in configuring the Website Uninstaller, the user specifies a number of parameters, which at least include (i) the event or events that trigger the registration of browser objects for a Website Entity; (ii) the types of objects to associate with a Website, (iii) whether multiple browsers share Meta URLs and associations; (iv) whether the user wants to customize the originating URL; (v) whether the user wants to change the display name of the Meta URL; (v) whether to activate or deactivate the registration of new Websites and new Website objects; and (vi) whether and how a Website should be ignored.
Regarding the triggering events, not all events that can trigger the running of the Website Uninstaller make sense in every case. As defined above, an event is used to define when a browser object or data, such as cache, bookmark/favorite, history, plug-in/extension, is recorded as belonging to the Website Entity. Internet Explorer supports the following events:
Mouse events, such as clicking the mouse, may also be useful to trigger the recording of browser object or data.
Document Object Model (DOM) Events may be use for triggering. Typical DOM events are:
1. load
2. unload
3. abort
4. error
5. select
6. change
7. submit
8. reset
9. focus
10. blur
11. resize
12. scroll
Some or all of these events may be used.
In the case of ignoring a Website, the user has a choice as to whether to exclude the ignored site from the Website Uninstall software, or to disable triggering in the registration task.
A user interface, a configuration file, or a remote configuration mechanism can configure the Website Uninstaller.
The default configuration is to remove bookmarks or favorites, temporary browser objects including embedded multimedia, browser cookies, and browser history. Browser plug-ins and extensions are not uninstalled and/or disabled by default. However, the configuration can be set to keep any or all of these objects.
Even though the above discussion described configuration by a user, the Website Uninstaller also may be configured programmatically (with no user intervention). The allowable configurations are the same in either case.
Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the descriptions of the preferred versions contained herein.