This problem is compounded because, as software systems have increased in complexity, the level of experience and the time required to perform each upgrade has also increased.
解答例
Today, even relatively simple changes to the programs can require large amounts of time by highly skilled employees.
[0005] Organizations also need to add ("install") new software programs onto their existing computers from time to time.
Like conventional upgrade methods, conventional software installation methods often required that a highly technically sophisticated employee physically go to each computer and add the new software.
Again, for a large organization, this consumes substantial resources.
[0006] One partial solution to these problems required the developer of a particular piece of software to create an external application that upgrades the primary software.
This new "installation program" is then distributed to each end user and executed.
However, these programs are difficult to create, and as a result, divert scarce development resources away from the primary software program.
Installation programs are also relatively large, which can significantly increase the computer resources necessary to perform the upgrade.
[0007] Accordingly, a need exists for a simpler method for installing and upgrading software on a computer system.
[0008] The present invention uses simple data objects that allow the computer system to upgrade itself, requesting user input only when needed.
These data objects can be created quickly and are easily modified to suit each individual installation.
They can also provide the ability to remotely track the progress of an installation by maintaining start and completion times as properties of themselves.
In addition, each upgrade object can include prerequisite information, which allows the upgrade to be performed by independent processes if the prerequisites have been completed.
[0009] One aspect of the present invention is a method of upgrading a computer program on a computer system, the computer system including an instruction processing program.
One embodiment of this method comprises receiving an upgrade object associated with the computer program, the upgrade object including an instruction set adapted for use by the instruction processing program, and executing the instruction set with the instruction processing program.
Another embodiment of this method comprises creating an upgrade object associated with the computer program, the upgrade object including an instruction set adapted for use by the instruction processing program; transmitting the upgrade object to the computer system; and instructing an end user to execute the instruction set with the instruction processing program.
[0010] Another aspect of the present invention is a method of installing a computer program on a computer system, the computer system including an instruction processing program.
One embodiment of this method comprises receiving an installation object associated with the computer program, the installation object including an instruction set adapted for use by the instruction processing program, and executing the instruction set with the instruction processing program.
Another embodiment of this method comprises creating an installation object associated with the computer program, the installation object including an instruction set adapted for use by the instruction processing program; transmitting the installation object to the computer system; and instructing an end user to execute the instruction set with the instruction processing program.
[0011] Still another aspect of the present invention is a computer program product, one embodiment of which comprises an upgrade object configured to upgrade a software program on a computer system having an instruction processing program, the upgrade object including an instruction set capable of causing the instruction processing program to perform one or more upgrade tasks, and a signal bearing media bearing the upgrade object.
[0012] One feature and advantage of the present invention is that it allows end users to install and upgrade software with minimal intervention and with little required expertise.
The present invention also allows software developers to create and distribute upgrades quicker and easier.
These and other features, aspects, and advantages will become better understood with reference to the following description, appended claims, and accompanying drawings.
A method and apparatus for local advertising.
Internet Service Providers (ISPs) or proxies owned by an ISP insert advertisements transmitted from a web host to a client.
The advertisement may be stored in the proxy's cache or may be retrieved from a web server for an advertiser.
By providing the ISP with the ability to insert the advertisement, advertisements appear on small web sites that do not normally attract advertisers.
Additionally, due to the number of advertisements placed by an ISP, small advertisers may have their advertisement appear in connection with frequently used web sites.
One or more embodiments of the invention provide for an ISP to collect and store demographic information such as the user's age, residence, credit history, etc.