1. Technical Field
This invention generally relates to computer systems, and more specifically relates to apparatus and methods for providing software fulfilment in a computer system via software catalog proxy entries to improve the process of accessing and using software.
2. Background Art
A desktop computer may be used for a number of different tasks. Computer users often have changing needs for the software installed on a specific computer system to perform these different tasks. In many computer network environments, there are a large number of computer systems that must be maintained and serviced. Computer system operators must load and install many different computer applications on multiple user's machines. Further, software applications are expensive and often require large amounts of memory for installation so it is not feasible to simply install all software that may be needed in the future. Also, manual installation of software applications uses a great deal of costly system operator time.
One method for software installation and management that is used in some computer system environments is through a software catalog. A prior art software catalog may list one or more entries that correspond to software stored in CD volumes on a system resource available to the computer. The CD volumes may reside in a system resource such as a CD jukebox or as CD images stored remotely such as on a network file server. The entries in the catalog contain links to the CD volumes. The software stored in the CD volumes is typically stored in industry standard formats such as ISO or UDF.
Computer software vendors increasingly need a timely and efficient way to distribute software. Quick delivery is important to ensure consideration by the software purchaser or user in comparison to competing products. In response to these emerging needs, a good deal of software is now being made available for purchase over the internet. Software for purchase over the internet is packaged in a different format than that distributed on CDs or DVDs to effectuate order fulfilment, the process to download and install the software. This difference in packaging requirements for internet distributed software increases the costs for software vendors.
Without a way to more efficiently manage software installation and order fulfilment, the computer software industry will continue to suffer from inefficiency and unnecessary product installation and distribution costs.
In accordance with the preferred embodiments, an apparatus and method improves order fulfilment and the management of installed software on a computer system. In preferred embodiments, a software catalog provides one or more proxy entries to a CD image stored on a system resource. When the software corresponding to the proxy entry is needed, the proxy entry is selected by the computer user, the proxy entry is materialized, which means the proxy entry is changed into an actual image of the software on the user's computer ready for use. In preferred embodiments, the proxy entry includes installation information.
In preferred embodiments, the software catalog is used in a system for the management of software installation and order fulfilment of purchased software.
In other embodiments, the proxy entry includes ownership information such as a key or certificate to increase security from software piracy.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.
The preferred embodiments of the present invention will hereinafter be described in conjunction with the appended drawings, where like designations denote like elements, and:
An apparatus and method to improve order fulfilment and the management of installed software on a computer system is described herein. In preferred embodiments, a software catalog provides one or more proxy entries to a CD image stored on a system resource. When the proxy entry is selected by the computer user, the proxy entry is materialized, which means it is changed into an actual image of the software on the user's computer ready for use. The described software catalog operates on a general purpose computer such as a personal computer.
Referring now to
Main memory 120 in accordance with the preferred embodiments contains data 122, an operating system 123, a software catalog 124, and an install engine 127. Data 122 represents any data that serves as input to or output from any program in computer system 100. Operating system 123 is a multitasking operating system known in the industry as i5/OS; however, those skilled in the art will appreciate that the spirit and scope of the present invention is not limited to any one operating system. Software catalog 124 includes one or more proxy entries 125 in accordance with the preferred embodiments described further below. The proxy entry may include ownership information, which includes information such as a key or certificate 126 to increase security from software piracy. The install engine 127 is software to install a software package from a software image as described below.
Computer system 100 utilizes well known virtual addressing mechanisms that allow the programs of computer system 100 to behave as if they only have access to a large, single storage entity instead of access to multiple, smaller storage entities such as main memory 120 and DASD device 155. Therefore, while data 122, operating system 123, and software catalog 124 are shown to reside in main memory 120, those skilled in the art will recognize that these items are not necessarily all completely contained in main memory 120 at the same time. It should also be noted that the term “memory” is used herein to generically refer to the entire virtual memory of computer system 100, and may include the virtual memory of other computer systems coupled to computer system 100.
Processor 110 may be constructed from one or more microprocessors and/or integrated circuits. Processor 110 executes program instructions stored in main memory 120. Main memory 120 stores programs and data that processor 110 may access. When computer system 100 starts up, processor 110 initially executes the program instructions that make up operating system 123. Operating system 123 is a sophisticated program that manages the resources of computer system 100. Some of these resources are processor 110, main memory 120, mass storage interface 130, display interface 140, network interface 150, and system bus 160.
Although computer system 100 is shown to contain only a single processor and a single system bus, those skilled in the art will appreciate that the present invention may be practiced using a computer system that has multiple processors and/or multiple buses. In addition, the interfaces that are used in the preferred embodiment each include separate, fully programmed microprocessors that are used to off-load compute-intensive processing from processor 110. However, those skilled in the art will appreciate that the present invention applies equally to computer systems that simply use I/O adapters to perform similar functions.
Display interface 140 is used to directly connect one or more displays 165 to computer system 100. These displays 165, which may be non-intelligent (i.e., dumb) terminals or fully programmable workstations, are used to allow system administrators and users to communicate with computer system 100. Note, however, that while display interface 140 is provided to support communication with one or more displays 165, computer system 100 does not necessarily require a display 165, because all needed interaction with users and other processes may occur via network interface 150.
Network interface 150 is used to connect other computer systems and/or workstations (e.g., 175 in
At this point, it is important to note that while the present invention has been and will continue to be described in the context of a fully functional computer system, those skilled in the art will appreciate that the present invention is capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of suitable signal bearing media include: recordable type media such as floppy disks and CD RW (e.g., 195 of
Referring now to
The proxy entries 310 are mapped or otherwise point to software images. The software images are packages of loadable software that is stored in a standardized format for installation. In the preferred embodiments, the software images are CD volume images 320. The CD images typically include one or more CD volumes on the system resource where the corresponding software is stored.
A proxy entry 310 is a placeholder entry within the software catalog that identifies where the software is located along with access information as to how to obtain and load the corresponding software. When the proxy entry is activated, the proxy entry materializes itself to a real entry of the software catalog. Materialization means the software catalog uses the information in the proxy entry to access the corresponding software and install it according to the parameters stored in the proxy entry such that the software is available for use and responds to a data request by the user. The proxy entry can be activated immediately by the user such as by clicking on the proxy entry in the software catalog. In other cases the proxy entry may be activated by a background type command so that the materialization is completed at night or some other time.
Prior art software distribution and installation is typically done by CD or over a network.
A prior art desktop link has a similar appearance to a proxy link, but it is quite different in operation and content. A prior art desktop link could point to a target software. The target software would then need to be an executable that understands its own packaging and is capable of deploying itself. This means the target software is specially packaged to be downloaded. In contrast, the proxy link contains the install information to pass to an install engine, and the target software load can be in a typical format such as in the form of a CD volume as described in the above paragraphs.
In the above paragraphs, the software associated with a proxy entry was installed in the materialization process. There may be reasons and times that it is desirable to reverse the materialization of the proxy entries. For example, the software catalog may include a timer routine that determines the elapsed time since an application is used, and according to preset times, dematerializes software that has not been used for a period greater than the present times. This would save space on the computer storage device. When the software of CD Image 3 shown in
Referring now to
The present invention as described with reference to the preferred embodiments provides significant improvements over the prior art. The described apparatus and method improve order fulfilment and the management of installed software on a computer system by providing a software catalog with one or more proxy entries to a CD image stored on a system resource. The described embodiments allow computer software users to efficiently manage software installation and product fulfilment. Described embodiments also allow software vendors to reduce product installation and distribution costs.
One skilled in the art will appreciate that many variations are possible within the scope of the present invention. Thus, while the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that these and other changes in form and details may be made therein without departing from the spirit and scope of the invention.