Connect public, paid and private patent data with Google Patents Public Datasets

System, method and program to estimate cost of distributing software

Download PDF

Info

Publication number
US20060190417A1
US20060190417A1 US11067427 US6742705A US2006190417A1 US 20060190417 A1 US20060190417 A1 US 20060190417A1 US 11067427 US11067427 US 11067427 US 6742705 A US6742705 A US 6742705A US 2006190417 A1 US2006190417 A1 US 2006190417A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
cost
software
program
esd
during
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11067427
Inventor
Gerhard Hilkemeyer
Mickey Iqbal
Robert Johanns
Vernon Lenzini
Robin McCubbin
Patrick Trees
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0202Market predictions or demand forecasting
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0283Price estimation or determination

Abstract

System and computer program product for estimating the cost of an ESD for software and subsequent updates for the software. Various cost factors can be considered such as one or more of the following. First program instructions determine a cost of the ESD associated with packaging together components of the software. Second program instructions receive a selection from an operator whether to push or pull the subsequent updates to a customer, and determine a cost for distributing the subsequent updates based on the selection. Third program instructions estimate a cost of the ESD associated with a type of program used by the customer to create images of the software. Fourth program instructions estimate a cost of the subsequent updates associated with distributing the updates to a remote distribution site, and then distributing the updates from the remote distribution site to the customer based on a type of customer tool used to download the updates from the remote distribution site. Fifth program instructions sum together the various costs.

Description

    BACKGROUND OF THE INVENTION
  • [0001]
    The invention relates generally to computer systems, and deals more particularly with a technique to estimate the cost of electronically distributing and maintaining software.
  • [0002]
    It is well known today to electronically distribute software via the Internet or other network. There are many factors effecting the complexity of the distribution including: (a) the requisite number of workstation and server images that need the software, (b) whether these are first time installation of the software, (c) the requisite number of application updates, operating system patches/fixes and security updates, (d) the amount and type of data that is associated with the software and must be distributed with the software, (e) the difficulty of installation, configuration, deployment and maintenance of the software applications, operating system, software packaging tools, software distribution tools and image maintenance tools, (f) the complexity of the network topology, network architecture and existing IT infrastructure and (g) any given network or systems infrastructure constraints that may impact a desired initial electronic software distribution (“ESD”) environment. Each of these requirements affects the cost of the ESD. An estimate of the cost for the initial distribution and subsequent maintenance may be required ahead of time.
  • [0003]
    Various manual and semi-automated methods were known for estimating the cost of an initial ESD. The known manual method begins with a specification of what services and products are required for the initial ESD. The overall cost of the ESD is determined based on the cost of parts and labor for each service and product, and a summation of these costs. Strategic outsourcing companies also generate bids for ESD and subsequent maintenance using a combination of manual data collection and data entry, and then computations based on this data using spreadsheet or similar calculation tools. For example, semi-automated methods calculate costs, using a program tool such as Lotus 123 or MS Excel spreadsheet program, where the various cost elements have already been identified. Once the user enters data for these variables, the spreadsheet program tool calculates the costs.
  • [0004]
    Other, more automated methods were also known for estimating the cost of performing electronic software distributions and subsequent maintenance/distribution of software updates. These methods use macros which further automate the processing of spreadsheet program tools such as those described above, with the major difference that each automated method is specific to a particular ESD tool. The macros automate calculations such as those that show a specific tool's license costs may be calculated for any given number of workstations or servers, or how many labor hours it would take to package and distribute a specific number of shrinkwraps application using a specific tool.
  • [0005]
    Other automated and semi-automated methods were known for estimating costs for various types of products and services. See U.S. Pat. No. 5,291,397 entitled “Method for Resource Allocation and Project Control for the Production of a Product”, U.S. Pat. No . 5,918,219 entitled “System and method for estimating construction project costs and schedules based on historical data”, U.S. Pat. No. 6,446,053 entitled “Computer-implemented method and system for producing a proposal for a construction project”, U.S. Pat. No. 6,477,518 entitled “Method of knowledge-based engineering cost and weight estimation of an HVAC air-handling assembly for a climate control system”, U.S. Pat. No. 6,393,290 entitled “Cost based model for wireless architecture”, U.S. Pat. No. 6,061,657 entitled “Techniques for estimating charges of delivering health care services that take complicating factors into account”, U.S. Pat. No. 6,012,054 entitled “Database system with methods for performing cost-based estimates using spline histograms”, U.S. Pat. 6,219,930 entitled “Apparatus and method of use for calculating an estimate of damaged surface repair cost”, U.S. Pat. No. 6,353,826 entitled “Database system with methodology providing improved cost estimates for query strategies”, U.S. Pat. No. 6,263,345 entitled “Histogram synthesis modeler for a database query optimizer”, U.S. Pat. No. 6,072,479 entitled “Multimedia scenario editor calculating estimated size and cost”, and U.S. Pat. No. 5,189,606 entitled “Totally integrated construction cost estimating, analysis, and reporting system”.
  • [0006]
    An object of the present invention is to automate the process of estimating the cost of an initial ESD.
  • [0007]
    Another object of the present invention is to automate the process of estimating the cost of subsequent maintenance.
  • [0008]
    Another object of the present invention is to automate the process of estimating the cost of an initial ESD while considering a wide range of factors which affect the cost.
  • SUMMARY OF THE INVENTION
  • [0009]
    The invention resides in a system and computer program product for estimating the cost of an ESD for software and subsequent updates for the software. Various cost factors can be considered such as one or more of the following. First program instructions determine a cost of the ESD associated with packaging together components of the software. Second program instructions receive a selection from an operator whether to push or pull the subsequent updates to a customer, and determine a cost for distributing the subsequent updates based on the selection. Third program instructions estimate a cost of the ESD associated with a type of program used by the customer to create images of the software. Fourth program instructions estimate a cost of the subsequent updates associated with distributing the updates to a remote distribution site, and then distributing the updates from the remote distribution site to the customer based on a type of customer tool used to download the updates from the remote distribution site. Fifth program instructions sum together the various costs.
  • BRIEF DESCRIPTION OF THE FIGURES
  • [0010]
    FIG. 1 is a block diagram illustrating a computer system which includes a cost estimation program according to the present invention.
  • [0011]
    FIG. 2 illustrates a specific (screen interface) example of rules, facts and data which can be entered and stored in a knowledge base within the cost estimating program of FIG. 1 to estimate the cost of an initial ESD and subsequent maintenance.
  • [0012]
    FIG. 3 illustrates another, specific (screen interface) example of rules, facts and data which can be entered and stored within the knowledge base within the cost estimating program of FIG. 1 to estimate the cost of an initial ESD and subsequent maintenance.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • [0013]
    The present invention will now be described in detail with reference to the figures. FIG. 1 illustrates a cost estimation program 10 executing in a computer 12 to estimate the cost of an initial ESD and subsequent maintenance. Computer 12 is a standard type such as a known workstation or server, and includes a CPU 14, operating system 15, RAM 16, ROM 18 and disk storage 20. Cost estimation program 10 includes a user interface program module 30, a cost estimating program module 32, a goal-seeking alternatives program module 34, a rules, facts and knowledge database 38, a sensitivity program module 39, a knowledge database manager program module 41, and a systems framework program module 40. The user interface module 30 allows a knowledge engineer to enter customer requirements. The customer requirements determine the unique ESD environment variables and needs (such as number of workstations and servers, type of network used, types of applications requiring upgrades, etc.) for the initial ESD and subsequent ESD maintenance for each customer. The user interface module 30 also allows a knowledge engineer to enter rules, facts and data into the knowledge database 38 which can then be used by the cost estimating module to estimate the cost of an initial ESD and subsequent maintenance. The user interface module 30 also allows a subsequent operator to specify other customer requirements that impact the cost of the initial ESD and subsequent maintenance. The knowledge engineer and subsequent operator can designate the customer requirements as “soft” or “hard”. The cost estimating module 32 applies the rules, facts and data in the knowledge database 38 to the customer requirements to determine labor, hardware, software and infrastructure costs. The goal-seeking alternatives module 34 relaxes customer requirements, which the operator indicated as “soft”, to meet a “hard” budget constraint. The sensitivity module 39 allows the operator to change one or a few customer requirements, identifies the rules which are affected by the change(s), and then notifies the cost estimating module 32 to recompute the cost associated with the effected rules. (This avoids the need for the cost estimating module 32 to recompute all the component costs.) The database manager module 41 manages the data, facts and rules in the knowledge database 38. The systems framework module 40 logically interconnects the user interface module 30, cost estimating module 32, alternatives module 34, knowledge database 38 and knowledge database manager 41. Systems framework module 40 can be implemented in a variety of programming languages, such as JAVA, to provide multiple operating system support, multiple hardware support, distributed objects and multi-language support. The systems framework module 40 also can be installed and configured to operate in a multi-tier systems architecture, where the various program modules and database may actually reside on different computer systems interconnected via a distributed network computing architecture.
  • [0014]
    The rules, facts and data entered by the knowledge engineer and stored in the knowledge database 38 (in RAM 16 or ROM 18) include the following:
  • [0015]
    (a) installation, configuration, deployment and maintenance features (for example, directories where filesets may be installed, parameters that should be passed on during installation in order to configure an operating system software, the type of deployment mechanism (PUSH, PUL or MEDIA based) that should be used and the frequency and number of patches that need to be applied over time) of various workstation and server operating systems;
  • [0016]
    (b) installation, configuration and deployment features (for example, prerequisites that need to be installed prior to installing a packaging tool application, user interface changes or desktop setting changes, and interfaces with programming languages, instructions for performing rollbacks or checkpoint restarts during deployment) of viable software packaging tools and packaging methodologies;
  • [0017]
    (c) installation, configuration and deployment features (for example, how many distribution points to set up for a given network environment, how to configure and tune distribution parameters given a set of target workstations and servers and how many infrastructure servers hosting package repositories need to be deployed in a given environment) of viable software distribution tools;
  • [0018]
    (d) installation, configuration and deployment features (for example, whether CID installation or native setup installation or bare metal image build installation will be needed, what core packages will be configured as part of the base image build and what type of deployment methodology or tool such as IBM Remote Deployment Manager program may be used) of viable workstation image creation and workstation image maintenance tools;
  • [0019]
    (e) installation, configuration and deployment features (for example, LAN or WAN installation requirements such as bandwidth, coverage area, routers, firewall rules, port settings, etc., cabling and closets used, points of deployment of network routers and gateways, etc.) of available network topology, network architecture, existing IT infrastructure and existing network or systems infrastructure constraints that may impact a desired initial ESD environment;
  • [0020]
    (f) estimated cost for performing specific distribution and maintenance tasks;
  • [0021]
    (g) historical cost data from previous initial ESDs and maintenance activities, where the cost data is correlated with respective services;
  • [0022]
    (h) facts and business rules related to utilization of combinations of available software packaging/distribution and image creation/management tool-sets;
  • [0023]
    (i) rules to establish which packaging tools and methodologies can be used in a given environment;
  • [0024]
    (j) rules to establish which distribution tools and methodologies can be used in a given environment; and
  • [0025]
    (k) rules to establish which image build tools and methodologies can be used in a given environment and rules to establish which combinations of various packaging tools, distribution tools and imaging tools may be used together in a given systems environment.
  • [0000]
    The following is a specific example of rules, facts and data, which can be stored within the knowledge database 38 to estimate the cost of an initial ESD and subsequent maintenance:
  • [0000]
      • WiseInstaller software license fee/copy=$ X
      • Cost of Server “XJKC%ˆ&P32” manufactured by Vendor ‘P’=$Y
      • Effort required to create automatically installable software packages/media of medium complexity by worker of skill level ‘intermediate’=H hours
      • Effort required to create automatically installable software package/media of medium complexity by worker of skill level ‘expert’=(H×0.75) hours
      • MS Windows software license fee/copy for enterprise between 1000 and 3000 workstations=$R
      • initial ESD Tool-set A can provide both “Push” and “Pull”’ based distribution capability.
      • SD Tool-set B can provide “Push” based distribution capability.
      • initial ESD Tool-set C can provide “Pull” based distribution capability.
      • Imaging tool ‘TUX456RS’ can create a single image spanning multiple NLS languages, hardware drivers, hardware models and business unit applications.
  • [0035]
    FIG. 2 illustrates another, specific example of rules, facts and data which can be stored in the knowledge database 38 to estimate the cost of an initial ESD and subsequent maintenance. A developer enters the rules, facts and data for the number of hours of labor for each function. These are fields C2-C45.
  • [0036]
    FIG. 3 illustrates another, specific example of rules, facts and data which can be stored within the knowledge database 38 to estimate the cost of an initial ESD and subsequent maintenance. As shown in FIG. 3, a knowledge engineer already entered the rules, facts and data for the numbers of various types of units. These are the fields in the middle column of FIG. 3, where examples of numbers are shown.
  • [0037]
    The following is an example of other, specific (business) rules within the knowledge database 38. These rules are encoded using a computer programming language which enables the cost estimating module 32 to automatically access and process the rules and apply them to the customer requirements.
      • initial ESD distribution tool ‘A’ cannot be used in conjunction with package creation tool ‘T’.
      • If tools ‘A’ or tools ‘B’ are used in an ethernet based network environment, the following business constraints/rules will need to be addressed as part of initial ESD environment implementation and maintenance operation:
        • Obtain change management concurrence for installing and configuring tool A or tool B in an ethernet network environment (3 hrs).
        • Install tool A or tool B on initial ESD Central Server (4 hrs using intermediate skill level, 3 hrs using expert skill level).
        • Configure tool A or tool B to work in an ethernet network environment (4 hrs using intermediate skill level, 3 hrs using expert skill level).
        • Perform system validation test to ensure functionality of tool A or tool B (2 hrs using intermediate skill level, 0.5 hrs using expert skill level).
      • Imaging tool ‘DFX577IO’ can create a single image spanning hardware drivers, hardware models and business unit applications with O/S Win 2000 and Win XP only.
      • Effort to apply maintenance updates to Legacy O/S is dependent on the number of Legacy OS Images and the labor hours required to update an Image and the number of updates per year.
      • Image problem management effort is dependent on the number of trouble tickets; the number of workstations and distribution failure rate and the number of images.
      • initial ESD packaging tool-set “‘G” cannot create packages which require updates to the “Current—User Registry Hive” of a Windows NT based Image.
      • Applications “H65”, “G75” and “U89” cannot be installed on a Win 95 or Win 98 image using an automated “silent installation methodology” unless packaging tool “X3” is used to package these applications. “Silent installation methodology” means that an end user on whose desktop a package is being installed does not need to input any parameters while the installation is taking place and that the installation may in fact take place in the background so that the user's work does not get interrupted.
      • Applications “H65”, “G75” and “U89” cannot be installed on a Win 2000 or Win XP image using an automated “silent installation methodology” unless packaging tool “F” is used to package these applications.
      • Historically, whenever application “H65” has been installed electronically using tool “X5” in a 5000 workstation plus environment, 0.25% of distributions have had to be resubmitted because of registry based issues hence adding x% to the cost of an initial distribution.
  • [0051]
    The customer requirements (subsequently entered by an operator to define a proposed initial ESD and subsequent maintenance) include details about the customer's current workstation environment, which may or may not have an existing initial ESD capability. The following are examples of possible customer requirements that the customer specifies to cost estimation program tool 10:
      • (a) number (desktop and mobile ), hardware type, operating system type, image type and current locations of workstations;
      • (b) technology refresh cycle period for workstations and how the refresh applies, % age-wise, over time to the number of existing workstations;
      • (c) components (operating system, network protocol, hardware drivers and software applications) included in each existing image;
      • (d) network connections details, if any exist, between locations where the respective workstations are located (an abstract level network diagram can be generated graphically using the user interface component based on the user's input);
      • (d) number of electronic or manual software updates made annually per workstation in the existing environment;
      • (e) number of electronic or manual software updates made annually per workstation in the existing environment broken down by the level of complexity of each update (where the levels of complexity are defined for the user, and the user is guided by the user interface module in selecting complexity levels for respective software updates using system help and examples);
      • (f) logical grouping and listing of the existing set of software applications across existing organizational business units, i.e. the assignment of the applications to these logical groupings, number of servers per organizational unit, and server locations supporting any existing initial ESD infrastructure environment. For example, there may be a total of one hundred total applications, where ten applications are dedicated to a marketing business unit, and ten applications, including two of those used by marketing unit, are used by a finance business unit, etc.;
      • (g) details of hardware, operating system, installed software applications and network configurations for any server supporting an existing initial ESD infrastructure environment;
      • (h) list of software applications in the existing environment along with details about each application, such as number of workstations on which an application is installed, DASD requirements, version number, license limit, any required prerequisites, and logical business units to which an application is assigned;
      • (i) number of existing languages supported by the current workstation images and operating system;
      • (j) number of existing languages supported per software application in the current environment;
      • (k) skill levels (defined by cost estimation program tool 10) of available staff, and number of staff available to support initial ESD and maintenance based on required skill levels;
      • (l) components (i.e. operating system, network protocol, hardware drivers and software applications) to be included in each workstation image in the desired environment;
      • (m) network connection preferences between each of the locations where the workstations are to be located in the desired initial ESD environment; (the user interface module can generate an abstract-level network diagram based on the user's input);
      • (n) estimated number of electronic software updates to be made annually per workstation in the desired initial ESD environment broken down by the level of complexity of each update (where cost estimation program tool 10 defines the levels of complexity);
      • (o) preferred types of servers and their hardware vendor choice, operating system, etc. required to support the desired initial ESD environment;
      • (p) hardware configuration, operating system, installed software applications, and network configurations for any server supporting the desired initial ESD environment;
      • (q) languages to be supported on the desired initial ESD environment's workstation images and operating system;
      • (r) languages to be supported by the software applications in the desired initial ESD environment;
      • (s) software packaging tool (where the cost estimation program tool 10 provides recommendations about functionality, capabilities and license cost of several commercially available tools) for the desired initial ESD environment;
      • (t) software distribution tool (where the cost estimation program tool 10 provides recommendations about functionality, capabilities and license cost of several commercially available tools) for the desired initial ESD environment;
      • (u) image creation and image management tool (where the cost estimation program tool 10 provides recommendations about functionality, capabilities and license cost of several commercially available tools) for the desired initial ESD environment;
      • (v) either “push” distribution where the initial ESD occurs automatically when new applications or updates are available, or “pull” distribution where each initial ESD occurs when the customer requests it (after notification that a new software update is available);
      • (w) level of service (where the cost estimation program tool 10 provides definitions of various levels) for backup and disaster recovery of initial ESD infrastructure servers, such as frequency and scope of backups;
      • (x) level of service (where the cost estimation program tool 10 provides definitions of various levels) for backup and disaster recovery of initial ESD network infrastructure (excluding servers) such as frequency and scope of backups;
      • (y) selection of software package testing and quality assurance level of service (where the cost estimation program tool 10 defines different levels along with an indication of comparative labor costs);
      • (z) testing and quality assurance level of service for “golden images”, i.e. core programs (where the cost estimation program tool 10 defines different levels along with an indication of comparative labor costs);
      • (aa) whether an internal desk side services organization will deploy and maintain images or whether the end user is provided with an automated means for installing or rebuilding an image on their personal workstation;
      • (bb) whether the end users will install the images in their workstations or whether the workstations will be transported to an interim service department to install the images;
      • (cc) image and software package distribution change management level of service (where the cost estimation program tool 10 defines the different levels defined and an indication of comparative labor costs);
      • (dd) an estimate of a minimum tolerable time period as well as a maximum allowable time period within which the desired initial ESD environment must be implemented;
      • (ee) an estimate of a minimum time period as well as a maximum allowable time period over which the new initial ESD environment will need to be managed;
      • (ff) inclusion of process overhead premium costs based on internationally recognized initial ESD environment implementation and maintenance; and
      • (gg) fully burdened labor rates for each skill level required for subsequent maintenance.
  • [0086]
    The cost estimating module 32 estimates the cost of a proposed initial ESD “f(x)” and subsequent maintenance “f(y)”:
    • Let f(x)=initial ESD cost (including setup, transition and electronic distribution of the then current version of software) based on a given set of customer requirements. The initial ESD cost, f(x), is also called the “transition” cost in the equations and elsewhere in this patent application.
    • Let f(y)=cost of subsequent maintenance for the initial ESD i.e. excluding f(x), based on a given set of customer requirements. The cost of subsequent maintenance, f(y), is also called the “steady state” cost in the equations and elsewhere in this patent application.
    • The estimated cost for the initial ESD and subsequent maintenance is called f(z), where f(z) f(x)+f(y).
  • [0090]
    The following is a generalized form of an algorithm within the cost estimating module 32, which calculates both f(x) and f(y) to produce f(z) based on a given set of customer requirements, and the rules, facts and data embedded in the knowledge database 38. The following algorithm assumes that all rules, facts and data and customer requirements have already been input and stored in the knowledge database 38.
    • Let HW t=Hardware costs during “transition” (or “initial ESD”).
    • Let HWS=Hardware costs during “steady state” (or “subsequent maintenance”).
    • Let SWt=Software costs during transition.
    • Let SWS=Software costs during steady state.
    • Let Pkgt=Software packaging labor costs during transition.
    • Let Pkgs=Software packaging labor costs during steady state.
    • Let EDt=Electronic Distribution labor costs during transition.
    • Let EDS=Electronic Distribution labor costs during steady state.
    • Let ImgCt=Image creation labor costs during transition.
    • Let ImgCs=Image creation labor costs during steady state.
    • Let ImgMt=Image maintenance labor costs during transition.
    • Let ImgMs=Image maintenance labor costs during steady state.
    • Let Tt=Transition duration.
    • Let St=Steady State duration.
    • Then,
    • f(x) is a function of the following costs:
    • f(x)=f (HW t, SWt, Pkgt , EDt , ImgCt, ImgMt, Tt)
    • f(y) is a function of the following costs:
    • f(y)=f (HW s, SWs, Pkgs, EDs, ImgCs, ImgMs, st)
    • The costs, which are components of f(x) and f(y) can be further broken down as follows:
    • Let Wkst t=number of workstations required during transition for production environment.
    • Let Wkst t-lab=number of workstations required during transition for initial ESD lab environment.
    • Let Wkst S=number of workstations required during steady state for production environment.
    • Let Wkst s-lab=number of workstations required during steady state for initial ESD lab environment.
    • Let Serv t=number of servers required during transition for initial ESD infrastructure production environment.
    • Let Serv t-lab=number of servers required during transition for initial ESD lab infrastructure environment.
    • Let Serv S=number of servers required during steady state for initial ESD infrastructure production environment.
    • Let Serv s-lab=number of servers required during steady state for initial ESD lab infrastructure environment.
    • Let Med t=cost of media, such as CDs, DVDs, USB devices etc., required during transition for initial ESD environment.
    • Let Med s=cost of media, such as CDs, DVDs, USB devices etc., required during steady state for initial ESD environment.
    • Let Per t=cost of peripherals, such as printers, cables, toner cartridges, etc., during transition for initial ESD environment.
    • Let Per S=cost of peripherals, such as printers, cables, toner cartridges, etc., during transition for initial ESD environment.
    • Let TRef t=cost of refreshing the required number of workstations during the transition period.
    • Let TRef s=cost of refreshing the required number of workstations during the steady state period.
    • Then,
    • HW t is a function of the following costs:
    • HW t=f (Wkst t, Wkst t-lab, Serv t, Serv t-lab, Med t, Per t, TRef t ,Tt)
    • HW s is a function of the following costs:
    • HW S=f (Wkst S, Wkst s-lab, Serv S, Serv s-lab, Med s, Per s, TRef s ,St)
    • Let Imgsoftt=software licenses required for image creation during transition.
    • Let ImgSofts=software licenses required for image creation during steady state.
    • Let PkgLict=cost of software licenses for all copies of software applications required per software package developed during transition.
    • Let PkgLics=cost of software licenses for all copies of software applications required per software package developed during steady state.
    • Let PkgToolt=cost of software licenses for all copies of software packaging tool required for creating software packages during transition.
    • Let PkgTools=cost of software licenses for all copies of software packaging tool required for creating software packages during steady state (may exclude PkgTt).
    • Let EDInft=cost of software licenses for all copies of software distribution infrastructure tool-set required during transition.
    • Let EDInfs=cost of software licenses for all copies of software distribution infrastructure tool-set required during steady state (may exclude EDInft).
    • Let NetMgt=cost of software licenses for all copies of network management tool-set required during transition.
    • Let NetMgs=cost of software licenses for all copies of network management tool-set required during steady state (may exclude NetMgt).
    • Let QAt=cost of software licenses for all copies of quality assurance and testing tool-set for testing images and packages during transition.
    • Let QAS=cost of software licenses for all copies of quality assurance and testing tool-set for testing images and packages during steady state (may exclude QAt).
    • Then,
    • SWt is a function of the following costs:
    • SWt=f (ImgSoftt, PkgLict, PkgToolt, EDInft, NetMgt, QAt, Tt)
    • SWS is a function of the following costs:
    • sws=f (ImgSofts, PkgLics, PkgTools, EDInfs, NetMgs, Qas, St)
    • Let PkgLowt=cost for developing required number of low complexity packages during transition.
    • Let PkgLows=cost for developing required number of low complexity packages during steady state.
    • Let PkgMedt=cost for developing required number of medium complexity packages during transition.
    • Let PkgLows=cost for developing required number of medium complexity packages during steady state.
    • Let PkgHight=cost for developing required number of high complexity packages during transition.
    • Let PkgHighs=cost for developing required number of high complexity packages during steady state.
    • Let PkgTTypet=coefficient for increase or decrease in packaging labor costs based on selected packaging tool set during transition.
    • Let PkgTTypes=coefficient for increase or decrease in packaging labor costs based on selected packaging tool set during steady state.
    • Let PkgTestt=level (low, medium, high) of package testing provided during transition.
    • Let PkgTests=level (low, medium, high) of package testing provided during steady state.
    • Let SkillPkgt=skill level (low, intermediate, expert) and other burden requirements of packager creating/testing a software package during transition.
    • Let SkillPkgs=skill level (low, intermediate, expert) other burden requirements of packager creating/testing a software package during steady state.
    • Then,
    • Pkgt is a function of the following costs:
    • Pkgt=f (PkgLowt, PkgMedt, PkgHight, PkgTTypet, PkgTestt, SkillPkgt)
    • Pkgs is a function of the following costs:
    • Pkgs=f (PkgLows, PkgMeds, PkgHighs, PkgTTypes, PkgTests, SkillPkgs)
    • Let PkgDistNt=number of packages to be distributed during transition.
    • Let PkgDistNS=number of packages to be distributed during steady state.
    • Let PkgDistN(i)t=number of times a package (i), where i is a subset of PkgDistNt, must be distributed during transition.
    • Let PkgDistTarg(i)t=number of target endpoints to which a package (i), where i is a subset of PkgDistNt, must be distributed during transition.
    • Let PkgDistN(j)S=number of times a package (j), where j is a subset of PkgDistNs, must be distributed during steady state.
    • Let PkgDistTarg(j)S=number of target endpoints to which a package (j), where j is a subset of PkgDistNs, must be distributed during steady state.
    • Let EDInfTypet=coefficient for increase or decrease in distribution labor costs based on selected electronic distribution tool set during transition.
    • Let EDInfTypes=coefficient for increase or decrease in distribution labor costs based on selected electronic distribution tool set during steady state.
    • Then,
    • EDt is a function of the following costs:
    • EDt=f (PkgDistNt, PkgDistN(i)t, PkgDistTarg(i)t, EDInfTypet)
    • EDS is a function of the following costs: EDs=f (PkgDistNs, PkgDistN(i)s, PkgDistTarg(i)S, EDInTypes)
    • Let ImgTt=total number of workstation Images to be built during transition.
    • Let ImgTs=total number of workstation Images to be built during steady state.
    • Let OSt=listing of operating system(s) in scope for the workstation image environment during transition.
    • Let OSS=listing of operating system(s) in scope for the workstation image environment during steady state.
    • Let ImgTOSt=number of images per OSt.
    • Let ImgTOSS=number of images per OSs.
    • Let NetPrott=listing of network protocols per Imgtt.
    • Let NetProts=listing of network protocols perImgTs.
    • Let HWDrt=listing of hardware drivers per ImgTt.
    • Let HWDrs=listing of hardware drivers per ImgTs.
    • Let HWModt=listing of hardware manufacturer models to be used for image creation during transition.
    • Let HWMods=listing of hardware manufacturer models to be used for image creation during steady state.
    • Let BaseImgAppt=listing of all application by base image, by business unit, and by level of customization (low, medium, high) for each image created during transition.
    • Let BaseImgApps=listing of all application by base image, by business unit, and by level of customization (low, medium, high) for each image created during steady state.
    • Let ImgToolt=Tool and methodology used for creating the images in transition.
    • Let ImgTools=Tool and methodology used for creating the images in steady state.
    • Let ImgRett=number of images retired during transition.
    • Let ImgRets=number of images retired during steady state.
    • Let ImgTestt=level (low, medium, high) of image testing provided during transition.
    • Let ImgTests=level (low, medium, high) of image testing provided during steady state.
    • Let SkillImgt=skill level (low, intermediate, expert) and other burden requirements of image creating/testing IT specialist during transition.
    • Let SkillPkgs=skill level (low, intermediate, expert) and other burden requirements of image creating/testing IT specialist during steady state.
    • Then,
    • ImgCt is a function of the following costs:
    • ImgCt=f (ImgTt, Ost, ImgTOSt, NetPrott, HWDrt, HWModt, BaseImgAppt, ImgToolt,lmgRett, ImgTestt, Let SkillImgt)
    • ImgCs is a function of the following costs:
    • ImgCs=f (ImgTs, Oss, ImgTOSs, NetProts, HWDrs, HWMods, BaseImgApps, ImgTools, Imgrets, ImgTests, Let SkillImgs)
    • Let ImgUpdtt=number of images updates during transition.
    • Let ImgUpdts=number of images updates during steady state.
    • Then,
    • ImgMtis a function of the following costs:
    • ImgMt=f (ImgCt, ImgUpdtt)
    • ImgMs=f (ImgCs, ImgUpdts)
  • [0209]
    Next, the goal-seeking alternatives module 34 will, if needed, relax customer requirements, which the operator indicated as “soft”, to meet a “hard” budget constraint. For example, if the original customer requirement is for initial ESD and maintenance of ten applications (and that is a soft requirement), the goal-seeking alternatives module 34 may lower that to eight applications. As another example, if the original customer requirement is for “pushing” the software updates during the maintenance (and that is a soft requirement), the goal-seeking alternatives module 34 may lower that to a “pulling” arrangement which is less expensive. As another example, the software distribution package is very large and requires a high bandwidth to be available over a given expensive distribution period. If this is a unfeasible option to the customer, then as an alternative the bandwidth utilization option may be lowered by a certain amount by the goal seek system in order to distribute small portions of the same package over a longer period of time using low bandwidth in non-peak and less expensive time periods. As another example, it is expensive to perform ten distinct distributions of ten distinct software packages. So, the system may adjust to allow for the bundling of all ten packages into a single mega-package which can be distributed at the same time to all target end point machines. The goal seeking alternatives module 34 is a previously known program such as Excel “Goal Seek” program, Lotus 123 “Goal Seek” program or IFPS program (by Interactive Financial Planning Systems By Comshare Inc.) Before or after invoking the goal-seeking alternatives module 34, the operator can invoke the sensitivity module 39 to reduce the cost. The sensitivity module 39 allows the operator to change one or a few customer requirements. In response, the sensitivity module 39 will identify the rules which are affected by the change(s), and then notify the cost estimating module 32 to recompute the cost associated with the effected rules. The sensitivity module 39 identifies the affected rules by searching for those costing equations that include the changed customer requirement such as lower number of target end points, low bandwidth utilization decision, bundling of several packages into a single distribution etc. This avoids the need for the cost estimating module 32 to recompute all the cost elements. The sensitivity module 39 is a previously known program such as those used in IBM Lotus 123 spreadsheet program, Microsoft Excel spreadsheet program or Quattro Pro program.
  • [0210]
    Thus, a knowledge engineering team enters data, facts and rules, for an initial ESD and subsequent maintenance, into the knowledge database 38 using a data encoding program tool. Then, the operator enters the customer requirements for the proposed initial ESD and subsequent maintenance using computer templates generated by the user interface module 30. Then, the cost estimating module 32 applies the data, facts and rules in the knowledge database to the customer requirements to estimate the cost of the initial ESD and subsequent maintenance. Then, if the cost is over budget, the operator can invoke either the goal-seeking alternatives module 34 or the sensitivity module 39. The goal-seeking alternatives module 34 automatically relaxes some of the “soft” customer requirements to reduce the cost to meet any “hard” budget constraints. The sensitivity module 39 allows the operator to change one or a few customer requirements, identifies the rules which are affected by the change(s), and then notifies the cost estimating module 32 to recompute the cost associated with the effected rules. Then, the user interface module 30 displays the results to the user. The user interface module 30 can generate various types of cost estimation proposal reports including display screen reports, HTML reports, pdf files, text file reports, and CSV files based reports. The reports include various cost accounts broken down by cost categories (hardware, software, labor, etc. for initial ESD and maintenance?? The cost data can be further broken down by package creation costs, image creation costs, image deployment costs, package deployment costs, initial ESD infrastructure installation and configuration costs, server support costs etc. Then, the user can vary one or more of the customer requirements, and the cost estimating module 32 will determine the new cost of the initial ESD and subsequent maintenance and present the cost estimation as described above.
  • [0211]
    Based on the foregoing, a cost estimation program, system and method for estimating the cost of an initial ESD and subsequent maintenance have been disclosed. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. For example, additional equation parameters can be added to account for various types of hardware, software, labor, infrastructure deployment, and operations management costs related to electronic software distribution and related IT systems management discipline. Therefore, the present invention has been disclosed by way of illustration and not limitation, and reference should be made to the following claims to determine the scope of the present invention.

Claims (12)

1. A computer program product to estimate the cost of an ESD for software and subsequent updates for said software, said program product comprising:
a computer readable medium;
first program instructions to determine a cost of said ESD associated with packaging together components of said software; and
second program instructions to receive a selection from an operator whether to push or pull said subsequent updates to a customer, and determine a cost for distributing said subsequent updates based on said selection; and wherein
said first and second program instructions are recorded on said medium.
2. A computer program product as set forth in claim 1 further comprising:
third program instructions to estimate a cost of said ESD associated with a type of program used by said customer to create images of said software; and wherein
said third program instructions are recorded on said medium.
3. A computer program product as set forth in claim 2 further comprising:
fourth program instructions to sum the cost of said ESD associated with packaging said software and the cost of said ESD associated with the type of program used by said customer to create images of said software; and
wherein said fourth program instructions are recorded on said medium.
4. A computer program product as set forth in claim 1 further comprising:
third program instructions to estimate a cost of said subsequent updates associated with distributing said updates to a remote distribution site, and then distributing said updates from said remote distribution site to said customer based on a type of customer tool used to download said updates from said remote distribution site; and wherein
said third program instructions are recorded on said medium.
5. A computer program product as set forth in claim 4 further comprising:
fourth program instructions to sum the cost for distributing said subsequent updates based on said selection and the cost for distributing said subsequent updates to said remote distribution site, and then distributing said software updates from said remote distribution site to said customer based on a type of customer tool used to download said software updates from said remote distribution site; and wherein
said fourth program instructions are recorded on said medium.
6. A computer program product to estimate the cost of an ESD for software and subsequent updates for said software, said program product comprising:
a computer readable medium;
first program instructions to estimate a cost of said ESD associated with a type of program used by said customer to create images of said software; and
second program instructions to receive a selection from an operator whether to push or pull subsequent updates to a customer, and determine a cost for distributing said subsequent updates based on said selection; and wherein
said first and second program instructions are recorded on said medium.
7. A computer program product as set forth in claim 6 further comprising:
third program instructions to sum the cost of said ESD associated with the type of program used by said customer to create images of said software and the cost for distributing said subsequent updates based on said selection; and
wherein said third program instructions are recorded on said medium.
8. A computer program product as set forth in claim 6 further comprising:
third program instructions to estimate a cost of said subsequent updates associated with distributing said updates to a remote distribution site, and then distributing said updates from said remote distribution site to said customer based on a type of customer tool used to download said updates from said remote distribution site; and wherein
said third program instructions are recorded on said medium.
9. A computer program product as set forth in claim 8 further comprising:
fourth program instructions to sum the cost of said ESD associated with the type of program used by said customer to create images of said software, the cost for distributing said subsequent updates based on said selection, and the cost for distributing said subsequent updates to said remote distribution site and then distributing said software updates from said remote distribution site to said customer based on a type of customer tool used to download said software updates from said remote distribution site; and wherein
said fourth program instructions are recorded on said medium.
10. A computer program product to estimate the cost of distributing software updates, said program product comprising:
a computer readable medium;
first program instructions to estimate a cost associated with distributing said software updates to a remote distribution site, and then distributing said updates from said remote distribution site to said customer based on a type of customer tool used to download said updates from said remote distribution site; and
second program instructions to receive a selection from an operator whether to push or pull subsequent updates to a customer from said remote site, and determine a cost for distributing said subsequent updates based on said selection; and wherein
said first and second program instructions are recorded on said medium.
11. A computer program product as set forth in claim 10 further comprising:
third program instructions to sum the cost associated with distributing said updates to a remote distribution site and then distributing said updates from said remote distribution site to said customer based on a type of customer tool used to download said updates from said remote distribution site, and the cost for distributing said subsequent updates based on said selection; and
wherein said third program instructions are recorded on said medium.
12. A computer system product for estimating the cost of distributing software updates, said system comprising:
means for estimating a cost associated with distributing said software updates to a remote distribution site, and then distributing said updates from said remote distribution site to said customer based on a type of customer tool used to download said updates from said remote distribution site; and
means for receiving a selection from an operator whether to push or pull subsequent updates to a customer from said remote site, and determining a cost for distributing said subsequent updates based on said selection.
US11067427 2005-02-24 2005-02-24 System, method and program to estimate cost of distributing software Abandoned US20060190417A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11067427 US20060190417A1 (en) 2005-02-24 2005-02-24 System, method and program to estimate cost of distributing software

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11067427 US20060190417A1 (en) 2005-02-24 2005-02-24 System, method and program to estimate cost of distributing software
US13168413 US8195502B2 (en) 2005-02-24 2011-06-24 System, method and program to estimate cost of distributing software
US13448571 US8489448B2 (en) 2005-02-24 2012-04-17 System, method and program to estimate cost of distributing software

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13168413 Continuation US8195502B2 (en) 2005-02-24 2011-06-24 System, method and program to estimate cost of distributing software

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13168413 Continuation US8195502B2 (en) 2005-02-24 2011-06-24 System, method and program to estimate cost of distributing software
US13448571 Continuation US8489448B2 (en) 2005-02-24 2012-04-17 System, method and program to estimate cost of distributing software

Publications (1)

Publication Number Publication Date
US20060190417A1 true true US20060190417A1 (en) 2006-08-24

Family

ID=36914024

Family Applications (3)

Application Number Title Priority Date Filing Date
US11067427 Abandoned US20060190417A1 (en) 2005-02-24 2005-02-24 System, method and program to estimate cost of distributing software
US13168413 Expired - Fee Related US8195502B2 (en) 2005-02-24 2011-06-24 System, method and program to estimate cost of distributing software
US13448571 Expired - Fee Related US8489448B2 (en) 2005-02-24 2012-04-17 System, method and program to estimate cost of distributing software

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13168413 Expired - Fee Related US8195502B2 (en) 2005-02-24 2011-06-24 System, method and program to estimate cost of distributing software
US13448571 Expired - Fee Related US8489448B2 (en) 2005-02-24 2012-04-17 System, method and program to estimate cost of distributing software

Country Status (1)

Country Link
US (3) US20060190417A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026464A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method and apparatus for testing software
US20060235708A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method and apparatus for assessing products
US20060277153A1 (en) * 2005-06-03 2006-12-07 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US20080140469A1 (en) * 2006-12-06 2008-06-12 International Business Machines Corporation Method, system and program product for determining an optimal configuration and operational costs for implementing a capacity management service
US20080270587A1 (en) * 2007-04-24 2008-10-30 Mason W Anthony Managing application resources
US20080281652A1 (en) * 2007-05-10 2008-11-13 International Business Machines Corporation Method, system and program product for determining an optimal information technology refresh solution and associated costs
US20120109844A1 (en) * 2010-11-03 2012-05-03 International Business Machines Corporation Cost-based migration waves planning
US8195502B2 (en) 2005-02-24 2012-06-05 International Business Machines Corporation System, method and program to estimate cost of distributing software
US8418251B1 (en) * 2009-04-27 2013-04-09 Symantec Corporation Detecting malware using cost characteristics
US8539228B1 (en) 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
US20130283258A1 (en) * 2012-04-18 2013-10-24 International Business Machines Corporation Techniques for Objective Assessment and Improvement of Software Quality
US20140229939A1 (en) * 2013-02-14 2014-08-14 International Business Machines Corporation System and method for determining when cloud virtual machines need to be updated
EP2800035A1 (en) * 2013-05-03 2014-11-05 Siemens Aktiengesellschaft System for automatic estimation of software remediation effort
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US20150149601A1 (en) * 2013-11-25 2015-05-28 Laszlo Emil POPESZKU Computer Implemented System for Collecting Usage Statistics for IT Systems
US20160117238A1 (en) * 2014-10-27 2016-04-28 International Business Machines Corporation Predictive approach to environment provisioning
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7169548B2 (en) 2002-09-13 2007-01-30 Xy, Inc. Sperm cell processing and preservation systems
US8977724B2 (en) * 2010-03-31 2015-03-10 International Business Machines Corporation Method and system for automated operating system image loading
US9501303B1 (en) * 2013-09-04 2016-11-22 Express Scripts, Inc. Systems and methods for managing computing resources
US9197709B2 (en) * 2013-09-27 2015-11-24 Level 3 Communications, Llc Provisioning dedicated network resources with API services

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291397A (en) * 1991-12-20 1994-03-01 Powell Roger A Method for resource allocation and project control for the production of a product
US5765140A (en) * 1995-11-17 1998-06-09 Mci Corporation Dynamic project management system
US5878400A (en) * 1996-06-17 1999-03-02 Trilogy Development Group, Inc. Method and apparatus for pricing products in multi-level product and organizational groups
US6199193B1 (en) * 1997-03-18 2001-03-06 Fujitsu Limited Method and system for software development and software design evaluation server
US20020026342A1 (en) * 2000-01-28 2002-02-28 Lane Mark T. Multi-layer engine using generic controls for optimal routing scheme
US6360255B1 (en) * 1998-06-25 2002-03-19 Cisco Technology, Inc. Automatically integrating an external network with a network management system
US6421671B1 (en) * 1999-04-30 2002-07-16 Dell Products L.P. Method and system for automated distribution of software
US6513154B1 (en) * 1996-10-21 2003-01-28 John R. Porterfield System and method for testing of computer programs in programming effort
US6658643B1 (en) * 2000-08-23 2003-12-02 International Business Machines Corporation Method and apparatus for computer software analysis
US20050278518A1 (en) * 2004-06-10 2005-12-15 Ming-Chih Ko Electronic system capable of using universal plug and play (upnp) protocol to update software program and method thereof
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5189606A (en) 1989-08-30 1993-02-23 The United States Of America As Represented By The Secretary Of The Air Force Totally integrated construction cost estimating, analysis, and reporting system
US5918219A (en) 1994-12-14 1999-06-29 Isherwood; John Philip System and method for estimating construction project costs and schedules based on historical data
JP3219027B2 (en) 1996-08-28 2001-10-15 日本電気株式会社 Scenario editing device
US6061657A (en) 1998-02-18 2000-05-09 Iameter, Incorporated Techniques for estimating charges of delivering healthcare services that take complicating factors into account
US6219930B1 (en) 1998-02-27 2001-04-24 Randall M. McPherson Apparatus and method of use for calculating an estimate of damaged surface repair cost
US6263345B1 (en) 1998-09-28 2001-07-17 Compaq Computers, Corporation Histogram synthesis modeler for a database query optimizer
US6393290B1 (en) 1999-06-30 2002-05-21 Lucent Technologies Inc. Cost based model for wireless architecture
US6446053B1 (en) 1999-08-06 2002-09-03 Michael Elliott Computer-implemented method and system for producing a proposal for a construction project
US6477518B1 (en) 2000-01-31 2002-11-05 Visteon Global Technologies, Inc. Method of knowledge-based engineering cost and weight estimation of an HVAC air-handling assembly for a climate control system
US20060190417A1 (en) 2005-02-24 2006-08-24 International Business Machines Corporation System, method and program to estimate cost of distributing software
US20060259442A1 (en) 2005-05-17 2006-11-16 International Business Machines Corporation System method and program product to estimate cost of integrating and utilizing heterogeneous data sources

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291397A (en) * 1991-12-20 1994-03-01 Powell Roger A Method for resource allocation and project control for the production of a product
US5765140A (en) * 1995-11-17 1998-06-09 Mci Corporation Dynamic project management system
US5878400A (en) * 1996-06-17 1999-03-02 Trilogy Development Group, Inc. Method and apparatus for pricing products in multi-level product and organizational groups
US6513154B1 (en) * 1996-10-21 2003-01-28 John R. Porterfield System and method for testing of computer programs in programming effort
US6199193B1 (en) * 1997-03-18 2001-03-06 Fujitsu Limited Method and system for software development and software design evaluation server
US6360255B1 (en) * 1998-06-25 2002-03-19 Cisco Technology, Inc. Automatically integrating an external network with a network management system
US6421671B1 (en) * 1999-04-30 2002-07-16 Dell Products L.P. Method and system for automated distribution of software
US20020026342A1 (en) * 2000-01-28 2002-02-28 Lane Mark T. Multi-layer engine using generic controls for optimal routing scheme
US6658643B1 (en) * 2000-08-23 2003-12-02 International Business Machines Corporation Method and apparatus for computer software analysis
US20050278518A1 (en) * 2004-06-10 2005-12-15 Ming-Chih Ko Electronic system capable of using universal plug and play (upnp) protocol to update software program and method thereof
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793262B2 (en) 2004-07-29 2010-09-07 International Business Machines Corporation Method and apparatus for facilitating software testing and report generation with interactive graphical user interface
US20060026464A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method and apparatus for testing software
US8195502B2 (en) 2005-02-24 2012-06-05 International Business Machines Corporation System, method and program to estimate cost of distributing software
US8489448B2 (en) 2005-02-24 2013-07-16 International Business Machines Corporation System, method and program to estimate cost of distributing software
US7496544B2 (en) * 2005-04-19 2009-02-24 International Business Machines Corporation Method and apparatus for assessing products
US20060235708A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method and apparatus for assessing products
US8990228B2 (en) 2005-06-03 2015-03-24 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US8521752B2 (en) 2005-06-03 2013-08-27 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US20060277153A1 (en) * 2005-06-03 2006-12-07 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US8539228B1 (en) 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
US20080140469A1 (en) * 2006-12-06 2008-06-12 International Business Machines Corporation Method, system and program product for determining an optimal configuration and operational costs for implementing a capacity management service
US20110072253A1 (en) * 2006-12-06 2011-03-24 International Business Machines Corporation Method, system and program product for determining an optimal configuration and operational costs for implementing a capacity management service
US20080270587A1 (en) * 2007-04-24 2008-10-30 Mason W Anthony Managing application resources
US8024433B2 (en) * 2007-04-24 2011-09-20 Osr Open Systems Resources, Inc. Managing application resources
US20080281652A1 (en) * 2007-05-10 2008-11-13 International Business Machines Corporation Method, system and program product for determining an optimal information technology refresh solution and associated costs
US8418251B1 (en) * 2009-04-27 2013-04-09 Symantec Corporation Detecting malware using cost characteristics
US20120109844A1 (en) * 2010-11-03 2012-05-03 International Business Machines Corporation Cost-based migration waves planning
US9600486B2 (en) 2011-11-03 2017-03-21 Osr Open Systems Resources, Inc. File system directory attribute correction
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US8826223B2 (en) * 2012-04-18 2014-09-02 International Business Machines Corporation Techniques for objective assessment and improvement of software quality
US20130283258A1 (en) * 2012-04-18 2013-10-24 International Business Machines Corporation Techniques for Objective Assessment and Improvement of Software Quality
US20140229939A1 (en) * 2013-02-14 2014-08-14 International Business Machines Corporation System and method for determining when cloud virtual machines need to be updated
US9298443B2 (en) * 2013-02-14 2016-03-29 International Business Machines Corporation System and method for determining when cloud virtual machines need to be updated
EP2800035A1 (en) * 2013-05-03 2014-11-05 Siemens Aktiengesellschaft System for automatic estimation of software remediation effort
US20150149601A1 (en) * 2013-11-25 2015-05-28 Laszlo Emil POPESZKU Computer Implemented System for Collecting Usage Statistics for IT Systems
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage
US20160117238A1 (en) * 2014-10-27 2016-04-28 International Business Machines Corporation Predictive approach to environment provisioning
US9430750B2 (en) * 2014-10-27 2016-08-30 International Business Machines Corporation Predictive approach to environment provisioning
US20160253255A1 (en) * 2014-10-27 2016-09-01 International Business Machines Corporation Predictive approach to environment provisioning
US9524228B2 (en) * 2014-10-27 2016-12-20 International Business Machines Corporation Predictive approach to environment provisioning

Also Published As

Publication number Publication date Type
US20120221490A1 (en) 2012-08-30 application
US8489448B2 (en) 2013-07-16 grant
US20110258143A1 (en) 2011-10-20 application
US8195502B2 (en) 2012-06-05 grant

Similar Documents

Publication Publication Date Title
US5499357A (en) Process for configuration management
US7870535B2 (en) Distributed development environment for building internet applications by developers at remote locations
Mohagheghi et al. Effort estimation of use cases for incremental large-scale software development
US7093247B2 (en) Installation of a data processing solution
US6021396A (en) Method to provide sensitivity information for (R,s,S) inventory systems with back-ordered demand
US7197466B1 (en) Web-based system for managing software assets
US6678639B2 (en) Automated problem identification system
US20040015375A1 (en) System and method for reducing risk
US8495611B2 (en) Systems and methods for private cloud computing
US20080103871A1 (en) Company project management system
US20030055749A1 (en) Information technology asset management
US20070016432A1 (en) Performance and cost analysis system and method
US6226784B1 (en) Reliable and repeatable process for specifying developing distributing and monitoring a software system in a dynamic environment
US7730123B1 (en) Software application implemented using services from a services repository generated using a target services roadmap
US6983232B2 (en) Electronics assembly systems customer benefit modeling tools and methods
US7139999B2 (en) Development architecture framework
US20070073576A1 (en) Resource capacity planning
US7761851B2 (en) Computer method and system for integrating software development and deployment
US6370573B1 (en) System, method and article of manufacture for managing an environment of a development architecture framework
US20060287875A1 (en) Integrated customer assessment diagnostic tool
US6256773B1 (en) System, method and article of manufacture for configuration management in a development architecture framework
US20040025157A1 (en) Installation of a data processing solution
US6324647B1 (en) System, method and article of manufacture for security management in a development architecture framework
US8024397B1 (en) System for generating a services repository using a target services roadmap
US6662357B1 (en) Managing information in an integrated development architecture framework

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HILKEMEYER, GERHARD;IQBAL, MICKEY;JOHANNS, ROBERT LAURENCE;AND OTHERS;REEL/FRAME:015934/0793;SIGNING DATES FROM 20050118 TO 20050224