1. Field of the Invention
In general, the present invention relates to a method, system and program product for identifying information for a software product. Specifically, the present invention provides a way to limit product information to information associated with the applications that are actually included in the software product as well as any default information.
2. Related Art
As software products have become more sophisticated, greater amounts of information/documentation are typically needed for their full operation and comprehension. For example, today a single software product could include several applications/modules, each of which requires its own subset of information. The standard to date has been to develop a library of information for a software product that is packaged or at least made accessible for end-users.
Unfortunately, given the large volumes of information that a library for a single software product could contain, searching and parsing the information has become a time consuming and inefficient process. At best, an end-user can search the entire library using an index, search terms or the like, and then attempt to focus and/or narrow his/her search based on the results that are returned. This process is especially inefficient since many software products are shipped with only a subset of all available applications. For example, software product “A” might be available with twenty applications. However, customer “1” might only purchase the software product with applications “1-5,” while customer “2” might only purchase the software application with applications “10-20.” Providing both customers with the same or complete library of information would likely be unnecessary and lead to frustration when the users attempt to access or search the information.
In view of the foregoing, there exists a need for a method, system and program product for identifying information for a software product. Specifically, a need exists for a system that is capable of determining what applications/modules are included with a software product, and then identifying corresponding information based thereon.
In general, the present invention provides a method, system and program product for identifying information for a software product. Specifically, under the present invention, a software product is analyzed to identify a set of applications/modules that are included therewith. Thereafter, information for the set of applications is identified from a library of information. The information identified is typically limited to information that corresponds to features of the application(s) included with the software product, as well as any default information that could be included for all arrangements of the software product. In any event, the information is then packaged for future access by an end-user or the like. To this extent, the information can be packaged with the software product on a computer readable medium such as a CD-Rom, diskette, etc., or it can be made available for access over a network (e.g., the Internet).
A first aspect of the present invention provides a method for identifying information for a software product, comprising: identifying a set of applications included in the software product; and identifying information corresponding to the set of applications from a library of information available for the software product, wherein the information is limited to information corresponding to features provided by the set of applications and default information.
A second aspect of the present invention provides a method for identifying information for a software product, comprising: analyzing the software product to identify a set of applications included in the software product, wherein the set of applications comprises a subset of a plurality of applications that are available for inclusion in the product; identifying information corresponding to the set of applications from a library of information available for the software product; and packaging the information for future searching.
A third aspect of the present invention provides a system for identifying information for a software product, comprising: a system for analyzing the software product to identify a set of applications included in the software product; a system for identifying information corresponding to the set of applications from a library of information available for the software product; and a system for packaging the information for future access.
A fourth aspect of the present invention provides a program product stored on a computer readable medium for identifying information for a software product, the computer readable medium comprising program code for performing the following steps: analyzing the software product to identify a set of applications included in the software product; identifying information corresponding to the set of applications from a library of information available for the software product; and packaging the information for future access.
A fifth aspect of the present invention provides a method for deploying an application for identifying information for a software product, comprising: providing a computer infrastructure being operable to: analyze the software product to identify a set of applications included in the software product; identify information corresponding to the set of applications from a library of information available for the software product; and package the information for future access.
A sixth aspect of the present invention provides computer software embodied in a propagated signal for identifying information for a software product, the computer software comprising instructions to cause a computer system to perform the following functions: analyze the software product to identify a set of applications included in the software product; identify information corresponding to the set of applications from a library of information available for the software product; and package the information for future access.
Therefore the present invention provides a method, system and program product for identifying information for a software product.
It is noted that the drawings of the invention are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.
As indicated above, the present invention provides a method, system and program product for identifying information for a software product. Specifically, under the present invention, a software product is analyzed to identify a set of applications/modules that are included therewith. Thereafter, information for the set of applications is identified from a library of information. The information identified is typically limited to information that corresponds to features of the application(s) included with the software product, as well as any default information that could be included for all arrangements of the software product. In any event, the information is then packaged for future access by an end-user or the like. To this extent, the information can be packaged with the software product on a computer readable medium such as a CD-Rom, diskette, etc., or it can be made available for access over a network (e.g., the Internet).
It should be understood that as used herein, the term “application” is intended to refer to a module or component of a software program. Moreover, the term “information” is intended to refer to any documentation (e.g., electronic) associated with the software program such as help for a software program.
Referring now to
In the event that computer system 14 and user system 16 communicate with one another (as shown in
In any event, computer system 14 is shown including a processing unit 20, a memory 22, a bus 24, and an input/output (I/O) interfaces 26. Further, computer system 14 is shown in communication with external I/O devices/resources 28 and storage system 30. In general, processing unit 20 executes computer program code, such as information system 40, which is stored in memory 22 and/or storage system 30. While executing computer program code, processing unit 20 can read and/or write data, to/from memory 22, storage system 30, and/or I/O interfaces 26. Bus 24 provides a communication link between each of the components in computer system 14. External devices 28 can comprise any devices (e.g., keyboard, pointing device, display, etc.) that enable a user to interact with computer system 14 and/or any devices (e.g., network card, modem, etc.) that enable computer system 14 to communicate with one or more other computing devices, such as user system 16.
Computer infrastructure 12 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in one embodiment, computer infrastructure 12 comprises two or more computing devices (e.g., a server cluster) that communicate over a network to perform the various process steps of the invention. Moreover, computer system 14 is only representative of various possible computer infrastructures that can include numerous combinations of hardware. To this extent, in other embodiments, computer system 14 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively. Moreover, processing unit 20 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server. Similarly, memory 22 and/or storage system 30 can comprise any combination of various types of data storage and/or transmission media that reside at one or more physical locations. Further, I/O interfaces 26 can comprise any system for exchanging information with one or more external devices 28. Still further, it is understood that one or more additional components (e.g., system software, math co-processing unit, etc.) not shown in
Storage system 30 can be any type of system (e.g., a database) capable of providing storage for information under the present invention. To this extent, storage system 30 could include one or more storage devices, such as a magnetic disk drive or an optical disk drive. In another embodiment, storage system 30 includes data distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown). Although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 14. Moreover, although not shown for brevity purposes, user system 16 will likely contain computerized components similar to computer system 14.
Shown in memory 22 of computer system 14 is information system 40, which includes analysis system 42, information identification system 44 and information packaging system 46. As mentioned above, it is often the case that a single software program 50 can be prepared in different “arrangements” for different customers/end-users. For example, software program “A” might include applications “1-5” for end-user “1,” but include applications “3-10,” for end-user “2.” As such, a software program might include only a subset of all possible applications that could be included therewith. The present invention will analyze software program 50 to determine what application(s) 52 are included therewith. Then, only information pertaining to these applications or their features (plus any default information) will be made available for future access.
An illustrative embodiment of the invention will be discussed with respect to
Once the information for the arrangement of software product 50 desired by end-user 18 has been identified, it will be packaged by (information) packaging system 46 for future use. In packaging the information under the present invention, many alternatives are possible. For example, the information could be packaged along with software product 50 on a computer readable medium such as a CD-ROM, diskette, etc. In another embodiment, the information could be retained on computer system 14, or on another computer system with which user system 16 communicates. In this latter embodiment, the information would be maintained as an on-line help system or the like. However, unlike previous on-line help systems, the on-line help system for end-user 18's arrangement of software product 50 would include only the information identified by information identification system 44 as corresponding to the application(s) 52 included therewith (plus any default information). This would drastically reduce the volume of information needed to be searched by end-user 18.
Referring to
Referring to
While shown and described herein as a method and system for identifying information for a software product, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a computer-readable medium that includes computer program code to enable a computer infrastructure to identify information for a software product. To this extent, the computer-readable medium includes program code that implements each of the various process steps of the invention. It is understood that the term “computer-readable medium” comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory 22 (
In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as a Solution Integrator, could offer to identify information for a software product. In this case, the service provider can create, maintain, support, etc., a computer infrastructure, such as computer infrastructure 12 (
In still another embodiment, the invention provides a method for identifying information for a software product. In this case, a computer infrastructure, such as computer infrastructure 12 (
As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computing device having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form. To this extent, program code can be embodied as one or more of: an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.