WO2003052596A1 - A system and method for installation of software onto a plurality of personal computers automatically and simultaneously - Google Patents

A system and method for installation of software onto a plurality of personal computers automatically and simultaneously Download PDF

Info

Publication number
WO2003052596A1
WO2003052596A1 PCT/IL2002/001007 IL0201007W WO03052596A1 WO 2003052596 A1 WO2003052596 A1 WO 2003052596A1 IL 0201007 W IL0201007 W IL 0201007W WO 03052596 A1 WO03052596 A1 WO 03052596A1
Authority
WO
WIPO (PCT)
Prior art keywords
installation
personal computer
software
automatic
master
Prior art date
Application number
PCT/IL2002/001007
Other languages
French (fr)
Inventor
Haggai Yedidya
Original Assignee
Haggai Yedidya
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
Application filed by Haggai Yedidya filed Critical Haggai Yedidya
Priority to AU2002361472A priority Critical patent/AU2002361472A1/en
Publication of WO2003052596A1 publication Critical patent/WO2003052596A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Definitions

  • the present invention generally relates to the field of automatic software installation. More specifically, the present invention relates to a system for the automatic installation of a plurality of software into a plurality of personal computers simultaneously, while checking and reporting on the condition of the hardware. Furthermore, the present invention relates to a method using said system.
  • PC personal computer
  • QA Quality assurance
  • PnP Windows Plug & Play
  • BIOS Basic Input/Output System
  • Cloning provides limited automation and a partial installation:
  • Customization is limited to the PC assembler's knowledge and abilities; Branding is usually missed due to technician's limited knowledge; and PC's usually also contain the Master PC drivers besides current PC drivers.
  • the process of software installation and management in an enterprise is composed of the following steps:
  • Packaging is the process of identifying application components and determining how those components should be installed and configured on client workstations. Packaging involves taking commercially or internally developed setups and creating packages that can easily be deployed to client workstations without user or administrator intervention;
  • Conflict Management is the ability to resolve conflicts in application file components, such as Dynamically Linked Libraries (DLL's), "dot.execute” files (EXE's) and drivers, that may be shared across software programs at differing version levels. This capability allows administrators to detect and resolve conflicts at the prior packaging level, and avoid undesirable component overlays as successive packages are installed on client workstations;
  • DLL's Dynamically Linked Libraries
  • EXE's "dot.execute” files
  • drivers that may be shared across software programs at differing version levels. This capability allows administrators to detect and resolve conflicts at the prior packaging level, and avoid undesirable component overlays as successive packages are installed on client workstations;
  • Customizing is the ability to modify the application installation packages to suit the varying needs of different constituents. Customizing an application may involve changing templates available to different users, providing different application support information for different groups of users, or supporting local or network printers throughout the enterprise;
  • Targeting specifies when, for whom, and where the application installation is intended. Targeting may involve defining a group of users who should receive the application, excluding certain users from receiving the application or delivering specific applications to targeted user groups; and
  • Installation involves setup and configuration of application packages on client workstations. Installing applications may involve unattended installations, silent installations (attendance with no interactivity), or user-initiated interactive installations, as well as modifying workstation configurations to support applications. Both system builders and network administrators deal with the same current process of software installation and customization. The problems of the current process are as follows:
  • U.S. Patent No. 6,158,001 discloses a method and a system for Automatic Configuration Generation. This invention provides a very detailed analysis of all the dependencies of a personal computer installation, and has the ability to resolve conflicts. The invention does not provide for real-time restoration of PC's, but only makes available the information to do so.
  • U.S. Patent No. 5,978,590 discloses an Installation System.
  • the invention uses a bar-code reader to enter a PC's ID.
  • a server provides information for the installation of software packages. It automatically installs an operating system with a manual operation.
  • the master may be modified, but only with many limitations. Whenever there is a requirement to install or update new software / drivers / bug fixes etc, a new master has to be created. Each master matches mostly a specific line of machine. When duplicating to different PCs each with potentially unique components, this situation may cause Windows to detect new hardware and ask for drivers. In such a case, Windows contains drivers of both the current and previous hardware, and the detection of new hardware is interactive (asks for user interaction).
  • the current installation method is a long and frequently frustrating process for the installer that results in limited saving in manpower, and does not provide the quality assurance expected by end-users.
  • the combination of these problems in the currently available software is inhibiting the emergence of an efficient, cost effective, and reliable installation process that the technology of the present invention remedies at many levels.
  • the installation process for PC's be fully automatic and robust, and there is no need to create a "Master point” for later cloning/distribution.
  • the "Master point” is a CD or network share that contains the installation package.
  • QA Quality Assurance
  • a system for simultaneous automatic installation by a personal computer assembler of a plurality of software packages in at least one personal computer comprising: a system integrator server under the supervision of a system administrator; and a modular database facility for storing a software module for combining cloning of software and real time installation of software, such that personal computer is enabled for an end-user.
  • the system may further comprise a network server for real time synchronization with the system integrator server.
  • the system may further comprise a smart boot-disk for initializing the hard drive of the at least one personal computer, and making a first connection with the system integrator server.
  • the system may have a modular database facility further stores at least one software module for providing the following: updated software packages; silently-installed drivers; an enterless hardware detector for detecting the monitor in the disk operating system (DOS); an automatic basic input/output system (BIOS) plug and play (PnP) updater; an incidents management for restarting WindowsTM 1 a tweak pack for integrating tweaks in installation of the operating system of the at least one; a reporting system to provide reports for: the system administrator of the system integrator; and the end-user of the at least one; an automatic system master for complete re-installation of the at least one, the master embodied in at least one of the following forms: diskette; compact disk (CD); and installation point; and a merge the existing feature for use in conjunction with the automatic system master to duplicate the working environment for non-identically installed personal computers.
  • DOS disk operating system
  • BIOS basic input/output system
  • PnP plug and play
  • an incidents management for restarting WindowsTM 1
  • a tweak pack for integrating tweaks in
  • a method for simultaneous automatic installation of a plurality of software packages in at least one comprising: cloning the installation of the disk operating system into the at least one; installing the hardware drivers in the at least one; and customizing the at least one by installing the plurality of software packages.
  • the method may further comprise at least one of the following: examining the personal computer's hardware as to versions and other characteristics; analyzing the results of the installations and the examination; reporting the results of the analysis to at least one of the following: the system administrator; the assembler of the at least one; and the end-user; installing disk operating system fixes, updates service packs; restoring in real-time to the same PC or at least one other PC according to the results of the analysis; installing the system integrator logos and branded improvements; and accomplishing the installation in a plurality of personal computers simultaneously.
  • Fig. 1 is a schematic illustration of the advantages of the software installation process, constructed and operated in accordance with the principles of the present invention, with a comparison to the most prevalent prior art method;
  • FIG. 2 is schematic illustration of a preferred embodiment of a system for automatic installation of a plurality of software into a plurality ofs simultaneously, constructed and operated in accordance with the principles of the present invention
  • Fig. 3 is a schematic illustration of the features of the software installation process, constructed and operated in accordance with the principles of the present invention, with a comparison to the most prevalent prior art method;
  • Fig. 4 is a schematic illustration of the [ENTER] screens for prior art monitor detection. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • FIG. 1 is a schematic illustration of the advantages 100 of the software installation process, constructed and operated in accordance with the principles of the present invention 120, with a comparison to the most prevalent prior art method 110:
  • Drivers are installed in their most recent versions 124 compared to retention of the old drivers or manual updating of drivers 114;
  • Fig. 2 is schematic illustration of a preferred embodiment of a system for automatic installation of a plurality of software into a plurality ofs simultaneously 200, constructed and operated in accordance with the principles of the present invention.
  • Real-time synchronization 215 is implemented by the inventive secured Internet site 210, via the Internet, in communication with the system integrator's server 220 and software manufacturers 225.
  • Real-time synchronization refers to Microsoft's service packs and operating system updates, with which system integrator's server 230 is automatically supplied by site 210.
  • Inventive secured Internet site 210 exchanges storage information with its own database facility 212.
  • System integrator (or PC assembler) 230 assembles the PC's 240, and creates 245 a basic system 200 rescue disk 250.
  • Fig. 3 is a schematic illustration of the features 300 of the software installation process, constructed and operated in accordance with the principles of the present invention 350, with a comparison to the most prevalent prior art method 310.
  • the system integrator's local server 351 performs the synchronized real-time installation of a naked PC 352 as compared to a cloning server performing a hard-disk to hard-disk duplication of the same naked PC 312, which also involves driver installation automatically 353 vs. manually 313.
  • Third party programs are installed 354, and quality assurance (QA) and bug fixes are done 355 vs. no third party programs and QA 314. Branding and tweaking is done 356 and master PC's are installed 357. Reports 358 and updates 360 are made, and customization is done 361.
  • Performance is not limited to the knowledge of an average worker, and receives ready-to-implement packages from the inventive system.
  • Windows asks for the username, PID (Product ID) and "I Accept” only at the end-user first boot, rather than asking for this information from the technicians during the installation.
  • Infegrator is a programming module used by the system 200 maintenance team. Infegrator automatically receive drivers, which are "dot information files” (INF) and converts them into silently-installed drivers. Infegrator copies the file to another folder in server 210. The driver uses the INF file for changes to itself, so as to be ready for automatic installation. Infegrator updates database 212 so that it knows which version of which driver it has, and where it is stored, etc, and creates the CAB files for faster installation.
  • INF "dot information files”
  • Infegrator can synchronize with the Web, file transfer protocol (FTP) and other Internet sites to search for drivers, and automatically implement them in database 212.
  • the drivers are taken from the existing PC and are implemented in database 212.
  • Infegrator is capable of taking the existing drivers from an existing and working PC, and implementing them in database 212.
  • the conversion includes modifying [DestinationDirs], [SourceDisksNames], [SourceDisksFiles], [CopyFiles] sections and others, according to algorithms based on defined criteria. Referring now to fig. 2, Infegrator also updates the inventive database 212, so that these drivers begin to be instantly supported by the inventive system 200.
  • Infegrator is capable of receiving drivers through Internet 220, and can modify them according to the appropriate algorithms, so they can be functional immediately for users' PC's 240 as part of the installation process.
  • Windows drivers install themselves in a variety ways. However, they must support basic specifications that are published and known to all. Such parameters are enough to automate 90% of the INF's and convert the drivers' installation to silently-installed drivers using integration algorithms.
  • CAB's Create compressed application binary files (CAB's) and modify INF to match the CAB;
  • System 200 makes auto-installation possible by creating CAB files for software packages. Cloning is combined with real-time installation technology, for installing, copying and combining with macros that imitate keyboard and human interaction, such as pressing buttons, thereby accomplishing a plurality of rapid installations.
  • Softegrator is another programming module used by system 200 maintenance team. Its concept is similar to the same one used in "Windows Updater" and other packaging programs. Using Softegrator, the maintenance team creates packages for the most popular 500 programs. Softegrator is synchronized in real-time 215 with software database 212, and thereafter automatically updates database 212 as soon as new packages are prepared. Softegrator is progressively customized to work in the fastest mode available.
  • Softegrator synchronizes with manufacturers 225 of some of the most popular 500 programs, and automatically notifies system 200 when new versions are published. In some cases Softegrator automatically creates a self-installation package and implements it in system 200.
  • SFN short file name
  • LN long file name
  • SWIK operation is dynamic, capable of using specifications made by Softegrator itself.
  • Fig. 4 is a schematic illustration of the [ENTER] screens 400 for prior art monitor detection.
  • the Enterless Hardware Detection module detects the PC monitor's P&P ID in DOS, prior to Windows first boot. Then it contacts database 212 and integrates the monitor's information into Windows registry. Enterless Hardware Detection processes eliminate 5 [ENTER] key-presses 410 through 450 that Windows requires during its regular Monitor detection. It also saves the time normally needed for detection itself.
  • the monitor is one example. Enterless Hardware Detection works with other hardware as well.
  • Windows 9x detection process shows 5 screens and requires [ENTER] for each of them. In general, these enters are meaningless, but cannot be skipped.
  • DOS P&P monitor detection (rather than using Windows default mechanism); Integrating the monitors into Windows during the first boot; and Creating a driver in real-time if the monitor is unknown monitor, prior to Windows monitor detection, thereby avoiding any delay
  • Enterless Hardware Detection works in the background and is a general method for creating drivers by detecting a component and creating the driver. Each time the computer is turned on it looks for a new driver, and if there is a new one it is implemented.
  • Enterless Hardware Detection is an algorithm that creates drivers for a monitor, and is a real-time driver generator program. For example, it detects the driver in DOS and creates the driver INF file in real-time and then implements the driver in Windows. When Windows starts it finds the driver and implements the driver itself.
  • the Automatic (“P&P”) BIOS Updater module is able to recognize BIOS's and update them automatically.
  • Automatic BIOS updater updates the motherboard BIOS, the CDR/DVD BIOS and additional flash BIOS's.
  • Automatic BIOS Updater runs automatically during the system 200 installation process or, alternatively, can be restarted manually in a Client/Server network, and then operate automatically.
  • BIOS hardware is a common chip among PC's components. BIOS usually contain the basic information required for the component to restart itself. For example, once a PC is powered on, it needs to have something to tell it to apply to the HD and run Windows. This information is stored on the motherboard's BIOS.
  • BIOS can have bugs and needs to be updated to support today's dynamic environments.
  • Yamaha's CDR CRW2100 (Yamaha's most popular model) is being shipped to stores despite being non-functional under Windows ME or Windows2000.
  • the user To operate it, the user must first update the BIOS. This is done by downloading the new BIOS from Hyundai's web site, and then following a difficult procedure. The whole process may last hours wherein un-experienced users may despair and send the product back.
  • the Smart Boot-Disk is used by the PC assemblers. This is the disk that has to be put in the floppy, by the technician, to begin the installation process.
  • the Smart Boot-Disk will initialize the HD (fdisk & format) and make a first connection with local server 230. In this connection, the files for the next installation phase are transferred from server 230 to the HD, so PC 240 can continue automatically, without using the Smart Boot-Disk anymore.
  • a Smart Boot-Disk is created directly from Web site 210, or from local server 230.
  • the Smart Boot-Disk contains PC-specific information such as what package of tweaks and/or programs should be installed on the PC.
  • PC-specific information such as what package of tweaks and/or programs should be installed on the PC.
  • Each time a Smart Boot-Disk is created it receives a unique PC ID. Then, when the Smart Boot-Disk contacts server 230, server 230 sends it the diskette ID and system 200 knows what package to implement in new PC 240.
  • a regular boot-disk is not smart and cannot define whether to boot from itself or from the HD. Therefore, using a regular boot-disk, the technician must take the diskette out from the floppy drive after 2 minutes of installation, and only then can the installation proceed.
  • the Smart Boot-Disk eliminates the need of manually taking the diskette out of the floppy at a specific time. It allows the whole installation process to occur automatically even though the diskette is in the drive. Thus, the technician can take the diskette out at any phase of the installation process with no affect.
  • the Smart Boot-Disk also decides whether to initialize the hard drive, or is it initialized already.
  • the Smart Boot-Disk analyzes the system automatically, and according to the gathered information decides upon the first operations to be done to the system, before control is transferred to the local hard drive and the server.
  • a boot-disk is a general device, and does not contain PC-specific information. Since the Smart Boot-Disk is required to contain information about what programs to install to the PC, a regular boot-disk is not appropriate.
  • the Incidents Manager module is used automatically during the system 200 installation process. Its main uses are:
  • the Incidents Manager runs in the background and operates the installation processes, as it is told to do. For example: Once windows installation is complete, system 200 needs to run Scandisk automatically. Unfortunately, there is no way to know whether scandisk is running or it has finished. Also, it can't figure exactly when scandisk should start, since by default it is started in the background of other programs (and than stops its operation). This is where the incidents manager takes control and handles the processes. It runs Windows and then executes additional processes. When they all finish, it restarts or shuts down the, as it is told by the signals that system 200 modules send.
  • Windows does not offer reliable restart capabilities. Also, because of bugs in Windows's integrated programs (such as Scandisk), Windows itself does not know when each process begins or ends. As a result, Windows does not supply a way to handle its processes automatically and a 3 rd party tool must be developed.
  • Incidents Manager is dynamic and reacts to events that occur in real-time. It doesn't have to be programmed to a set of operations and acts differently in each installation. Incidents Manager is capable of removing itself from the background of Windows upon perceiving it has run the last time needed. Incidents Manager is fully compatible with Enterless Hardware Detection, and when appropriate, Incidents Manager runs Enterless Hardware Detection prior to Windows boot-up, and automatically restarts the PC before any task is loaded.
  • the Tweak Pack module is created by the system 200 maintenance team, using Softegrator. A wide range of tweaks are provided to system 200 customers via Web site 210, so they can choose which tweaks to implement in their PC's 240.
  • Each tweak is an enhancement to Windows that improves the system's operation.
  • the "Start" Menu can appear much faster on screen.
  • Internet 220 transfers can be completed much faster.
  • Tweak Pack give users the option to implement these and more enhancements with every Windows installation.
  • the end-user receives a faster PC with a faster Internet connection.
  • Tweaks are generally customizations to Windows that improve its functionality. Unlike regular configurations that are accessible through Windows menus (such as defining the screen saver and view options), Tweaks refer to configurations that are "unsupported" and undocumented. Tweaking Windows is done usually by modifying the registry and .INI files and can improve speed and functionality dramatically. However, it is not common to implement them because it is time consuming and PC assemblers often unaware of the tweaking possibilities.
  • the Reporting System module is executed automatically at the end of the system 200 installation process. For two primary reasons two different reports are provided: The PC Assembler / System administrator report:
  • the report provides the technician with specific information about the problem and suggested solution.
  • a unique report is dynamically (and automatically) created, and is provided to each PC 240 and end-user as an HTML page. This can be via Internet 220, or locally via server 230 web page, with a link in the favorites menu. Reporting may be presented in other ways, such as in a Word document.
  • Smart-cloning combines cloning with real-time installation. Smart-cloning duplication is the same as standard cloning, but is lead with instructions according to several criteria. Thus, the process is almost as fast as cloning, but acts specifically to the target PC. Smart-cloning, with real-time installation and cloning, is fully integrated in Declaring the Installation System, as described hereinbelow, to enable a super-fast, comprehensive installation (restoration solution).
  • Cloning Real-Time Installation module is used automatically during the system 200 installation process. It provides both intelligent installation processes that support answer-files, as well as simple installations that do not support automated modules. The right balance between Cloning & real-time installation results in both fast installation, and reliable and comprehensive installation.
  • Cloning distribution of software packages and Real-Time installation are two methods of transferring data.
  • Real-Time installation refers to an intelligent copying process. It may analyze a PC and react to information it gathers. The process of real-time installation is comparatively slow and usually requires human-interaction.
  • Cloning refers to a non-intelligent process, wherein considerable information is copied identically to a target point. Cloning doesn't require human-interaction and is very fast. However, it is not always feasible because some programs, for example drivers, install themselves uniquely in each PC.
  • Cloning means packaging and distribution in reference to programs. It means duplicating Windows in reference to a master point.
  • Real-Time Installation that supports answer-files refers both to Windows and 3 rd party products with intelligent installation algorithms. Both technologies exist in the art for a long while. Combining them is very rare, even though it results very powerful abilities.
  • System 200 combines both Cloning & Real-Time installation, and achieves both powerful installation capabilities and optimally fast installation.
  • the Modular Database module refers to the way system 200 stores its information, and communicates with the outer world.
  • System 200 manages a big database 212, including programs, drivers, versions, dates, PC IDs & PIDs, registry modifications and more.
  • Database 212 synchronizes with Softegrator & Infegrator so that a minimum of human maintenance is required.
  • Working smartly and modularly enables creation of intelligent algorithms that can create software packages and driver packages in real-time, according to information gathered from PC's 240 in real-time.
  • a user can tag 10 programs and 20 tweaks in system 200 Web site 210, and receive a Smart Boot-Disk in real-time.
  • Modular Database module checks whether the newest versions are picked up, and if not it displays a warning message.
  • Smart Boot-Disk may be created under a working PC, for a restoration occurring later using Backup Without Backup, as described hereinbelow.
  • Modular Database and Infegrator can automatically receive and integrate new drivers into database 212 with no human interaction. It detects when drivers are replaced by newer versions and won't contain parallel drivers in the "newest" category.
  • Automatic Master module is a feature that can be enabled by the system administrator of the organization that implemented system 200. It automatically creates a master Diskette/CD/Installation Point for complete installations. The master may be used whenever a system crashes and the PC has to be restored. Creating a master diskette will serve the user for re-installing the original installation using system 200. Creating a Master CD or Installation Point clones the whole system to it, or it gathers all the necessary information from the system for later Backup Without Backup restoration. This way the restore process is very fast and provides most of system 200 benefits. It is also possible to create a system 200 Smart Boot Diskette for existing PCs. By creating a master to each PC, anyone can automatically re-install his PC to the original situation without disturbing the system administrator.
  • system 200 saves the configuration installed to each PC with each PC's ID. Therefore, whenever a PC is installed with system 200, it can be restored to its original configuration, including updated versions. However, if the motherboard has been replaced, system 200 won't recognize the PC. In such case using the master diskette is preferable.
  • Master diskette/CD may be used to duplicate the working environment of one PC to another. This way, a modified configuration of a system won't interfere with the restoration process, and will be covered by dynamic and automatic installation. This is a desirable feature of considerable complexity.
  • Automatic Master module is an algorithm that creates a master point that matches a PC, in real-time:
  • Backup Without Backup is a technology/program that is used by system administrators or consumers. It can work in the Internet or through a client/server system 200 supported system. Backup Without Backup is used to backup working or partially working PCs. It does not backup the whole HD. Rather it analyzes the system, i.e., the operating system, drivers, 3 rd party programs and their configurations, and creates a backup-like solution. Backup Without Backup is not provided as a replacement to backup software but in addition to it.
  • Restore may update versions automatically
  • the restoration process is fast.
  • Contacts system 200 server and updates its database with the PCs information (such as SID, hardware, programs, versions, parameters and more);
  • Backup Without Backup can be used to "duplicate" one PC's working environment into another's. Since there is no requirement that both PC's be assembled with identical components, Backup Without Backup is the only tool that provides duplicating software to different PC's.
  • a businessman may travel from his office in Israel to his office in the USA.
  • Israel he'll backup his PC, to the system 200 Internet site.
  • he'll receive a boot-disk.
  • he'll put the system 200 boot-disk in the floppy, and within several hours the same working environment he's used appears on the screen.
  • Hebrew Windows with Hebrew office will be restored.
  • the picture of his daughter in the background will be restored as well as his right-click poetic feature.
  • Backup Without Backup can be used to duplicate over the Internet from one PC to another non-identical PC.
  • Declaring the Installation system provides features that can be used by the system administrator. It tells system 200 to gather information from all PC's 240 in the network and store this information in database 212. This operation enables restoring a PC 240 with the programs it contains, without creating a unique system 200 package for individual PC 240.
  • the gathered information includes the operating system version, the hardware list, installed programs, configuration and more.
  • Merge The Existing is used with Automatic Master to duplicate working environments from non-identical PCs, by including only the differences from the general organizational model.
  • Declaring the Installation system provides these features: Analyze existing PCs by specific defined criteria; and Analyze gathered information and store modularly in the System 200 database.
  • Objective Update module provides another feature that may be used by the system administrator. It updates drivers, bug fixes, security updates and programs on-the-fly. Objective Update uses the same system 200 technologies as the Merge the Exisiting module, Automatic Master module and others, to analyze all the organization's PC's 240 and update them. This feature combines both service and technology. Service refers to the system 200 maintenance team that preferably updates database 212 regularly. Technology refers to the ability to customize these packages for working systems.
  • Objective Update module provides these features: Analyze working PCs; Create update packages in real-time; and Push/Distribute them over the network automatically.

Abstract

A system is disclosed for simultaneous automatic installation by a personal computer assembler of a plurality of software packages in at least one personal computer including a system integrator server under the supervision of a system administrator, a modular database facility for storing a software module for combining cloning of software and real time installation of software, such that the personal computer is enabled for an end-user. A method is described for simultaneous automatic installation of a plurality of software packages in at least one personal computer, according to the above system.

Description

A SYSTEM AND METHOD FOR INSTALLATION OF SOFTWARE ONTO A PLURALITY OF PERSONAL C OMPUTERS AUTOMATICALLY AND SIMULTANEOUSLY
FIELD OF THE INVENTION
The present invention generally relates to the field of automatic software installation. More specifically, the present invention relates to a system for the automatic installation of a plurality of software into a plurality of personal computers simultaneously, while checking and reporting on the condition of the hardware. Furthermore, the present invention relates to a method using said system.
BACKGROUND OF THE INVENTION
Most personal computer (PC) companies act today as both manufacturers and assemblers. A PC assembler is a company that puts together components and then sells the finished product to the distributor. Growing domestic markets are creating a need for what IT Europa (July 1999) calls "a new breed of assemblers".
Today, PC integrators employ technicians to undertake the installation of software onto PC's. Currently the software installation process is a labor intensive exercise that is tedious and time consuming for the technicians involved, and capital intensive for PC manufacturers.
Anytime a customer orders a PC, labor is required to install software such as Window, drivers, anti-virus etc. in the new PC. Not only PC assemblers need to install software in "naked" PCs but everybody: end-users, organizations, armies etc. Installing software in a naked PC is required once the PC has been physically assembled, and later when the system crashes because of hard-drive (HD) failure, virus, bugs in the operating system, etc.
The usual minimal installation process requires at least 45 minutes for experienced technicians and requires intensive interaction such as pressing [ENTER], inserting a compact disk (CD) into a drive, pressing [BROWSE], etc. As a result, the more PCs a shop sells, the more technicians it employs. This refers only to a regular (manual) installation.
The following Table 1 summarizes the manual process: TABLE 1
Figure imgf000004_0001
This completely manual process usually results in a minimal installation as follows:
Minimal quality assurance (QA) is done by the Windows Plug & Play (PnP) detection process;
The installed versions and Basic Input/Output System (BIOS) are old;
No customization is done;
No branding; and
No 3rd party products installation.
The following Table 2 illustrates the most common form of prior art installation, the cloning process:
TABLE 2
Figure imgf000004_0002
Cloning provides limited automation and a partial installation:
Requires creating Masters prior to first installation; time consuming; in case there are many masters, maintaining them is very hard to impossible;
Consumes approximately 18 minutes;
Requires interaction at the drivers-installation phase;
Absolutely no QA; a cloned PC may be shipped even though it's defective;
Additional programs can be included (cloned at step 2); The installed versions & BIOS are outdated;
Customization is limited to the PC assembler's knowledge and abilities; Branding is usually missed due to technician's limited knowledge; and PC's usually also contain the Master PC drivers besides current PC drivers.
With the release of Office 2000, Microsoft introduced an entirely new installation technology in the form of the Windows Installer. The overall goal was to reduce the costs associated with deploying and managing software, and to increase application and operating system stability.
The process of software installation and management in an enterprise is composed of the following steps:
Packaging is the process of identifying application components and determining how those components should be installed and configured on client workstations. Packaging involves taking commercially or internally developed setups and creating packages that can easily be deployed to client workstations without user or administrator intervention;
Conflict Management is the ability to resolve conflicts in application file components, such as Dynamically Linked Libraries (DLL's), "dot.execute" files (EXE's) and drivers, that may be shared across software programs at differing version levels. This capability allows administrators to detect and resolve conflicts at the prior packaging level, and avoid undesirable component overlays as successive packages are installed on client workstations;
Customizing is the ability to modify the application installation packages to suit the varying needs of different constituents. Customizing an application may involve changing templates available to different users, providing different application support information for different groups of users, or supporting local or network printers throughout the enterprise;
Targeting specifies when, for whom, and where the application installation is intended. Targeting may involve defining a group of users who should receive the application, excluding certain users from receiving the application or delivering specific applications to targeted user groups; and
Installation involves setup and configuration of application packages on client workstations. Installing applications may involve unattended installations, silent installations (attendance with no interactivity), or user-initiated interactive installations, as well as modifying workstation configurations to support applications. Both system builders and network administrators deal with the same current process of software installation and customization. The problems of the current process are as follows:
Requires many "ENTERS", i.e. the process is highly interactive and needs constant human supervision;
Requires checking and removing viruses in the system; and
Requires updating BIOS and drivers.
Currently, to be able to automatically install software in PC's, masters have to be frequently maintained and re-created. Updating and recreating these masters requires an expert and a considerable amount of time. Also the existing situations do not offer a reasonable solution to updating BIOS, QA and additional essential operations that must be done in the process of preparing a new PC to shipment.
U.S. Patent No. 6,158,001 discloses a method and a system for Automatic Configuration Generation. This invention provides a very detailed analysis of all the dependencies of a personal computer installation, and has the ability to resolve conflicts. The invention does not provide for real-time restoration of PC's, but only makes available the information to do so.
U.S. Patent No. 5,978,590 discloses an Installation System. The invention uses a bar-code reader to enter a PC's ID. A server provides information for the installation of software packages. It automatically installs an operating system with a manual operation.
Software installers need to provide customers with faster and more immediate access to new software updates. But, this also includes the need for rapid reinstallation of software on virus infected PC's, for example. However, significant progress in this area is currently hindered by time and manpower requirements needed for such tasks.
The market penetration of prior art services, has however, been limited by the software offered. To achieve significant market growth, software installers clearly need software, which is more advanced and easier to use than is currently available. There is an emerging demand from both software suppliers and corporate customers, for a more flexible and well-integrated software installation solution. This will reduce costs, decrease manpower and installation requirements and, most importantly, reduce downtime of corporate networks. Instead of assembling white box systems, reseller companies are pursuing service-related opportunities. Eighty-two % of reseller companies seeking alternatives to assembling their own white box systems report that it will allow them to spend more time servicing instead of building systems. Accordingly, service and support-related issues are becoming more influential in decisions among resellers to sell white box systems over brand-name systems. Three-quarters of white box resellers say service and support-related factors such as configuration flexibility and component reliability/quality are main incentives for selling white box systems. End customer buyers of white box systems also cite service and support issues more often than price as reasons for buying non-branded systems.
Current solutions offer limited ability to duplicate software by the following methods:
1. Cloning software from one PC to another. This requires first of all, installation of the software onto a master PC and only then, to duplicate it; and
2. Create a master installation via 3rd party software, which is very complicated.
In point 1 the master may be modified, but only with many limitations. Whenever there is a requirement to install or update new software / drivers / bug fixes etc, a new master has to be created. Each master matches mostly a specific line of machine. When duplicating to different PCs each with potentially unique components, this situation may cause Windows to detect new hardware and ask for drivers. In such a case, Windows contains drivers of both the current and previous hardware, and the detection of new hardware is interactive (asks for user interaction).
In point 2, an expert has to create and maintain a master installation point.
In both cases 1 and 2, a short while after a master installation point is created, it is no longer updated and is limited to only a given range of PC's.
In summary, the current installation method is a long and frequently frustrating process for the installer that results in limited saving in manpower, and does not provide the quality assurance expected by end-users. The combination of these problems in the currently available software is inhibiting the emergence of an efficient, cost effective, and reliable installation process that the technology of the present invention remedies at many levels. Thus, it would be desirable to provide a system and method for PC's that overcomes the prior art disadvantages, mainly to provide completely automatic means for installing PC's.
SUMMARY OF THE INVENTION
Accordingly, it is a principal object of the present invention to provide a system and method to prepare a 'naked' PC to shipment, by automatically and dynamically installing software and BIOS, in their most recent versions, in real-time, into a PC that contains no software.
It is a further object of the present invention to require no need for human interaction during the installation process for a PC, or prior to it.
It is another object of the present invention that the installation process for PC's be fully automatic and robust, and there is no need to create a "Master point" for later cloning/distribution. The "Master point" is a CD or network share that contains the installation package.
It is yet another object of the present invention to provide back-up without simply backing-up the whole hard-drive, but by providing improvements over existing methods.
It is a still further object of the present invention to provide automatic installation of the most recent versions of software.
It is yet a further object of the present invention to completing the software installation process with Quality Assurance (QA), customizations, branding and tweaking.
A system for simultaneous automatic installation by a personal computer assembler of a plurality of software packages in at least one personal computer comprising: a system integrator server under the supervision of a system administrator; and a modular database facility for storing a software module for combining cloning of software and real time installation of software, such that personal computer is enabled for an end-user. The system may further comprise a network server for real time synchronization with the system integrator server.
The system may further comprise a smart boot-disk for initializing the hard drive of the at least one personal computer, and making a first connection with the system integrator server.
The system may have a modular database facility further stores at least one software module for providing the following: updated software packages; silently-installed drivers; an enterless hardware detector for detecting the monitor in the disk operating system (DOS); an automatic basic input/output system (BIOS) plug and play (PnP) updater; an incidents management for restarting Windows™1 a tweak pack for integrating tweaks in installation of the operating system of the at least one; a reporting system to provide reports for: the system administrator of the system integrator; and the end-user of the at least one; an automatic system master for complete re-installation of the at least one, the master embodied in at least one of the following forms: diskette; compact disk (CD); and installation point; and a merge the existing feature for use in conjunction with the automatic system master to duplicate the working environment for non-identically installed personal computers.
A method for simultaneous automatic installation of a plurality of software packages in at least one comprising: cloning the installation of the disk operating system into the at least one; installing the hardware drivers in the at least one; and customizing the at least one by installing the plurality of software packages.
The method may further comprise at least one of the following: examining the personal computer's hardware as to versions and other characteristics; analyzing the results of the installations and the examination; reporting the results of the analysis to at least one of the following: the system administrator; the assembler of the at least one; and the end-user; installing disk operating system fixes, updates service packs; restoring in real-time to the same PC or at least one other PC according to the results of the analysis; installing the system integrator logos and branded improvements; and accomplishing the installation in a plurality of personal computers simultaneously.
Other features and advantages of the present invention will become apparent from the following drawings and description.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the invention with regard to the embodiments thereof, reference is made to the accompanying drawings, in which like numerals designate corresponding elements or sections throughout, and in which:
Fig. 1 is a schematic illustration of the advantages of the software installation process, constructed and operated in accordance with the principles of the present invention, with a comparison to the most prevalent prior art method;
Fig. 2 is schematic illustration of a preferred embodiment of a system for automatic installation of a plurality of software into a plurality ofs simultaneously, constructed and operated in accordance with the principles of the present invention;
Fig. 3 is a schematic illustration of the features of the software installation process, constructed and operated in accordance with the principles of the present invention, with a comparison to the most prevalent prior art method; and
Fig. 4 is a schematic illustration of the [ENTER] screens for prior art monitor detection. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Reference is now made to Fig. 1 , which is a schematic illustration of the advantages 100 of the software installation process, constructed and operated in accordance with the principles of the present invention 120, with a comparison to the most prevalent prior art method 110:
A shortened installation time of 20 minutes 121 compared to 50 to 95 minutes 111 ;
Automatic Windows and 3rd party installation 122 compared to manual installation
1 12;
Automatic bug fixes and security updates 123 compared to manual or no updating
113;
Drivers are installed in their most recent versions 124 compared to retention of the old drivers or manual updating of drivers 114;
Full quality assurance prior to shipment 125 as compared to frequent shipments of defective PC's 115;
Automatic BIOS updating 126 compared to manual or no BIOS updating 116;
Branded PC's 127 vs. OEM (unbranded ) PC's 117;
No need to create a master 128;
Automatic customization of each PC 129 vs. manual or no customization 119; and
Reduced manpower, and reduced finance expenses due to rapid turnover of inventory 130.
Fig. 2 is schematic illustration of a preferred embodiment of a system for automatic installation of a plurality of software into a plurality ofs simultaneously 200, constructed and operated in accordance with the principles of the present invention. Real-time synchronization 215 is implemented by the inventive secured Internet site 210, via the Internet, in communication with the system integrator's server 220 and software manufacturers 225. Real-time synchronization refers to Microsoft's service packs and operating system updates, with which system integrator's server 230 is automatically supplied by site 210. Inventive secured Internet site 210 exchanges storage information with its own database facility 212. System integrator (or PC assembler) 230 assembles the PC's 240, and creates 245 a basic system 200 rescue disk 250.
Fig. 3 is a schematic illustration of the features 300 of the software installation process, constructed and operated in accordance with the principles of the present invention 350, with a comparison to the most prevalent prior art method 310. The system integrator's local server 351 performs the synchronized real-time installation of a naked PC 352 as compared to a cloning server performing a hard-disk to hard-disk duplication of the same naked PC 312, which also involves driver installation automatically 353 vs. manually 313. Third party programs are installed 354, and quality assurance (QA) and bug fixes are done 355 vs. no third party programs and QA 314. Branding and tweaking is done 356 and master PC's are installed 357. Reports 358 and updates 360 are made, and customization is done 361.
State-of-the-art, fully automatically installed PC's are shipped 362 as compared to interactively installed, minimal PC's being shipped 322.
The following Table 3 delineates the system 200 process:
TABLE 3
Figure imgf000012_0001
The processes in Table 3 have the following features:
Completely automatic; no need for interaction during any phase of the installation or prior to it;
Complete installation; all the processes of preparing a PC to shipment are done automatically; Master is modular and created automatically;
Consumes approximately 20 minutes (since no interaction is required during installing, it's duration is not a labor cost);
Full QA;
All versions are installed & updated to their most recent;
Performance is not limited to the knowledge of an average worker, and receives ready-to-implement packages from the inventive system; and
Windows asks for the username, PID (Product ID) and "I Accept" only at the end-user first boot, rather than asking for this information from the technicians during the installation.
The following inventive modules implement the installation process. Each technology is listed with an explanation above it. Two preparatory modules, Infegrator and Softegrator are added to those in Table 3.
Infegrator is a programming module used by the system 200 maintenance team. Infegrator automatically receive drivers, which are "dot information files" (INF) and converts them into silently-installed drivers. Infegrator copies the file to another folder in server 210. The driver uses the INF file for changes to itself, so as to be ready for automatic installation. Infegrator updates database 212 so that it knows which version of which driver it has, and where it is stored, etc, and creates the CAB files for faster installation.
Infegrator can synchronize with the Web, file transfer protocol (FTP) and other Internet sites to search for drivers, and automatically implement them in database 212. The drivers are taken from the existing PC and are implemented in database 212. Infegrator is capable of taking the existing drivers from an existing and working PC, and implementing them in database 212. The conversion includes modifying [DestinationDirs], [SourceDisksNames], [SourceDisksFiles], [CopyFiles] sections and others, according to algorithms based on defined criteria. Referring now to fig. 2, Infegrator also updates the inventive database 212, so that these drivers begin to be instantly supported by the inventive system 200.
Infegrator is capable of receiving drivers through Internet 220, and can modify them according to the appropriate algorithms, so they can be functional immediately for users' PC's 240 as part of the installation process. Windows drivers install themselves in a variety ways. However, they must support basic specifications that are published and known to all. Such parameters are enough to automate 90% of the INF's and convert the drivers' installation to silently-installed drivers using integration algorithms.
Today experts can convert a given driver into a silent (automatic) one. However, it is time-consuming and very difficult.
Infegrator features:
Support Layout INF's & INF's that are extracted from their parent INF's;
Create compressed application binary files (CAB's) and modify INF to match the CAB;
Algorithms that update the installation point and other parameters, automatically: ([SourceDisksNames], [DestinationDirs], [SourceDisksFiles] etc.); and
In case executions are called in INF, a report is made and the INF is transferred to manual examination.
System 200 makes auto-installation possible by creating CAB files for software packages. Cloning is combined with real-time installation technology, for installing, copying and combining with macros that imitate keyboard and human interaction, such as pressing buttons, thereby accomplishing a plurality of rapid installations.
Softegrator is another programming module used by system 200 maintenance team. Its concept is similar to the same one used in "Windows Updater" and other packaging programs. Using Softegrator, the maintenance team creates packages for the most popular 500 programs. Softegrator is synchronized in real-time 215 with software database 212, and thereafter automatically updates database 212 as soon as new packages are prepared. Softegrator is progressively customized to work in the fastest mode available.
Softegrator synchronizes with manufacturers 225 of some of the most popular 500 programs, and automatically notifies system 200 when new versions are published. In some cases Softegrator automatically creates a self-installation package and implements it in system 200.
Softegrator features:
A Defined delta between 2 snapshots of the status of each PC 240: Support files; registry; INI's, autoexec.bat; config.sys; MSDOS.sys; Regsvr32 (registering DLL's); and others;
Support DOS operating system;
Automatically convert short file name (SFN) to long file name (LFN);
Variety reboot abilities;
Automatically create CAB's and EXE's;
Roollback support;
Automatic integration with database 212;
Synchronization with software manufacturers 225 over Internet 220, and auto-notification when new versions are published;
SWIK operation is dynamic, capable of using specifications made by Softegrator itself; and
Automatically create and program packages and implement these programs in the Internet.
Because of the modular structure of system 200, several Softegrator packages can be automatically combined according to the end-user's request.
Fig. 4 is a schematic illustration of the [ENTER] screens 400 for prior art monitor detection. The Enterless Hardware Detection module detects the PC monitor's P&P ID in DOS, prior to Windows first boot. Then it contacts database 212 and integrates the monitor's information into Windows registry. Enterless Hardware Detection processes eliminate 5 [ENTER] key-presses 410 through 450 that Windows requires during its regular Monitor detection. It also saves the time normally needed for detection itself. The monitor is one example. Enterless Hardware Detection works with other hardware as well.
Once a PC runs with a new monitor, Windows detects it. Windows 9x detection process shows 5 screens and requires [ENTER] for each of them. In general, these enters are meaningless, but cannot be skipped.
Enterless Hardware Detection module features:
DOS P&P monitor detection (rather than using Windows default mechanism); Integrating the monitors into Windows during the first boot; and Creating a driver in real-time if the monitor is unknown monitor, prior to Windows monitor detection, thereby avoiding any delay
Enterless Hardware Detection works in the background and is a general method for creating drivers by detecting a component and creating the driver. Each time the computer is turned on it looks for a new driver, and if there is a new one it is implemented. Enterless Hardware Detection is an algorithm that creates drivers for a monitor, and is a real-time driver generator program. For example, it detects the driver in DOS and creates the driver INF file in real-time and then implements the driver in Windows. When Windows starts it finds the driver and implements the driver itself.
The Automatic ("P&P") BIOS Updater module is able to recognize BIOS's and update them automatically. Automatic BIOS updater updates the motherboard BIOS, the CDR/DVD BIOS and additional flash BIOS's. Automatic BIOS Updater runs automatically during the system 200 installation process or, alternatively, can be restarted manually in a Client/Server network, and then operate automatically.
BIOS hardware is a common chip among PC's components. BIOS usually contain the basic information required for the component to restart itself. For example, once a PC is powered on, it needs to have something to tell it to apply to the HD and run Windows. This information is stored on the motherboard's BIOS.
Today it is conventional to update BIOS's. BIOS, like any other software, can have bugs and needs to be updated to support today's dynamic environments. For example, Yamaha's CDR CRW2100 (Yamaha's most popular model) is being shipped to stores despite being non-functional under Windows ME or Windows2000. To operate it, the user must first update the BIOS. This is done by downloading the new BIOS from Yamaha's web site, and then following a difficult procedure. The whole process may last hours wherein un-experienced users may despair and send the product back.
Automatic ("P&P") BIOS Updater module features:
Detecting the existing BIOS version and model;
Finding the most updated BIOS in database 212, and comparing with the existing one. This is done by comparing the header of a "dotbinary" (.BIN) file with the information given from the BIOS; and
Updating the BIOS and restarting.
The Smart Boot-Disk is used by the PC assemblers. This is the disk that has to be put in the floppy, by the technician, to begin the installation process. The Smart Boot-Disk will initialize the HD (fdisk & format) and make a first connection with local server 230. In this connection, the files for the next installation phase are transferred from server 230 to the HD, so PC 240 can continue automatically, without using the Smart Boot-Disk anymore.
A Smart Boot-Disk is created directly from Web site 210, or from local server 230. The Smart Boot-Disk contains PC-specific information such as what package of tweaks and/or programs should be installed on the PC. Each time a Smart Boot-Disk is created, it receives a unique PC ID. Then, when the Smart Boot-Disk contacts server 230, server 230 sends it the diskette ID and system 200 knows what package to implement in new PC 240.
A regular boot-disk is not smart and cannot define whether to boot from itself or from the HD. Therefore, using a regular boot-disk, the technician must take the diskette out from the floppy drive after 2 minutes of installation, and only then can the installation proceed.
The Smart Boot-Disk eliminates the need of manually taking the diskette out of the floppy at a specific time. It allows the whole installation process to occur automatically even though the diskette is in the drive. Thus, the technician can take the diskette out at any phase of the installation process with no affect.
The Smart Boot-Disk also decides whether to initialize the hard drive, or is it initialized already. The Smart Boot-Disk analyzes the system automatically, and according to the gathered information decides upon the first operations to be done to the system, before control is transferred to the local hard drive and the server.
A boot-disk is a general device, and does not contain PC-specific information. Since the Smart Boot-Disk is required to contain information about what programs to install to the PC, a regular boot-disk is not appropriate.
Smart Boot-Disk procedure:
Boot from diskette and check whether the HD has been initialized or not: If not than continue booting from diskette and initialize HD; Else, Check if HD contain files;
If yes, then boots from HD;
Else copy necessary files to continue.
The Incidents Manager module is used automatically during the system 200 installation process. Its main uses are:
Restart Windows after installing programs, to let changes take affect; and Run programs automatically in parallel mode.
The Incidents Manager runs in the background and operates the installation processes, as it is told to do. For example: Once windows installation is complete, system 200 needs to run Scandisk automatically. Unfortunately, there is no way to know whether scandisk is running or it has finished. Also, it can't figure exactly when scandisk should start, since by default it is started in the background of other programs (and than stops its operation). This is where the incidents manager takes control and handles the processes. It runs Windows and then executes additional processes. When they all finish, it restarts or shuts down the, as it is told by the signals that system 200 modules send.
Due to limitations and bugs in the operating system, Windows does not offer reliable restart capabilities. Also, because of bugs in Windows's integrated programs (such as Scandisk), Windows itself does not know when each process begins or ends. As a result, Windows does not supply a way to handle its processes automatically and a 3rd party tool must be developed.
Incidents Manager features:
Work in the background as soon as Windows restarts and even in the DOS phase;
Receive signals and commands from Windows and from system 200 foreground processes and modules, and react to them;
Smart Windows restart; confirmation that no tasks are currently running; and
Start Windows/System 200/3"* party products processes and react to them.
Incidents Manager is dynamic and reacts to events that occur in real-time. It doesn't have to be programmed to a set of operations and acts differently in each installation. Incidents Manager is capable of removing itself from the background of Windows upon perceiving it has run the last time needed. Incidents Manager is fully compatible with Enterless Hardware Detection, and when appropriate, Incidents Manager runs Enterless Hardware Detection prior to Windows boot-up, and automatically restarts the PC before any task is loaded.
The Tweak Pack module is created by the system 200 maintenance team, using Softegrator. A wide range of tweaks are provided to system 200 customers via Web site 210, so they can choose which tweaks to implement in their PC's 240.
Each tweak is an enhancement to Windows that improves the system's operation. For example: The "Start" Menu can appear much faster on screen. Internet 220 transfers can be completed much faster. Tweak Pack give users the option to implement these and more enhancements with every Windows installation. Thus, the end-user receives a faster PC with a faster Internet connection.
Tweaks are generally customizations to Windows that improve its functionality. Unlike regular configurations that are accessible through Windows menus (such as defining the screen saver and view options), Tweaks refer to configurations that are "unsupported" and undocumented. Tweaking Windows is done usually by modifying the registry and .INI files and can improve speed and functionality dramatically. However, it is not common to implement them because it is time consuming and PC assemblers often unaware of the tweaking possibilities.
There is not much technology in tweaking a system. There are existing technologies to mirror operations that happened to Windows, and these are sometimes used to follow and detect tweaks. However, system 200 has no innovation in this field. Despite that fact, integrating tweaks in the process of OS installation is a new thing and brings a new dimension to the new PC installation process.
The Reporting System module is executed automatically at the end of the system 200 installation process. For two primary reasons two different reports are provided: The PC Assembler / System administrator report:
Provides information about the PC's property, its components, speed, installed programs, their versions and more;
In case the PC's functionality is not perfect, the report provides the technician with specific information about the problem and suggested solution; and
Sometimes, prior art location of a defective component in a PC can take hours, whereas the system 200 is able to report promptly; and The End-User report:
Provides the end-user information about his PCs property, programs, versions and whatever else the technician chooses to include.
Providing the report to end-user serves both the end-user and the PC Assembler: First, the user has more confidence in his PC, seeing that everything is working properly and was verified. Second, the PC Assembler is not questioned by the end-user (via phone calls, etc.) to receive information about the PC since the end-user already has the answers.
A unique report is dynamically (and automatically) created, and is provided to each PC 240 and end-user as an HTML page. This can be via Internet 220, or locally via server 230 web page, with a link in the favorites menu. Reporting may be presented in other ways, such as in a Word document.
Using cloning results in super-fast installations of programs, but not always proper installations. Therefore to provide super-fast, sweeping installation capabilities, smart-cloning combines cloning with real-time installation. Smart-cloning duplication is the same as standard cloning, but is lead with instructions according to several criteria. Thus, the process is almost as fast as cloning, but acts specifically to the target PC. Smart-cloning, with real-time installation and cloning, is fully integrated in Declaring the Installation System, as described hereinbelow, to enable a super-fast, comprehensive installation (restoration solution).
The Cloning Real-Time Installation module is used automatically during the system 200 installation process. It provides both intelligent installation processes that support answer-files, as well as simple installations that do not support automated modules. The right balance between Cloning & real-time installation results in both fast installation, and reliable and comprehensive installation.
Cloning distribution of software packages and Real-Time installation are two methods of transferring data. Real-Time installation refers to an intelligent copying process. It may analyze a PC and react to information it gathers. The process of real-time installation is comparatively slow and usually requires human-interaction. Cloning refers to a non-intelligent process, wherein considerable information is copied identically to a target point. Cloning doesn't require human-interaction and is very fast. However, it is not always feasible because some programs, for example drivers, install themselves uniquely in each PC.
Cloning means packaging and distribution in reference to programs. It means duplicating Windows in reference to a master point. Real-Time Installation that supports answer-files refers both to Windows and 3rd party products with intelligent installation algorithms. Both technologies exist in the art for a long while. Combining them is very rare, even though it results very powerful abilities. System 200 combines both Cloning & Real-Time installation, and achieves both powerful installation capabilities and optimally fast installation.
The Modular Database module refers to the way system 200 stores its information, and communicates with the outer world. System 200 manages a big database 212, including programs, drivers, versions, dates, PC IDs & PIDs, registry modifications and more. Database 212 synchronizes with Softegrator & Infegrator so that a minimum of human maintenance is required. Working smartly and modularly enables creation of intelligent algorithms that can create software packages and driver packages in real-time, according to information gathered from PC's 240 in real-time. Thus, a user can tag 10 programs and 20 tweaks in system 200 Web site 210, and receive a Smart Boot-Disk in real-time. Modular Database module checks whether the newest versions are picked up, and if not it displays a warning message.
Also Smart Boot-Disk may be created under a working PC, for a restoration occurring later using Backup Without Backup, as described hereinbelow.
The combination of Modular Database and Infegrator can automatically receive and integrate new drivers into database 212 with no human interaction. It detects when drivers are replaced by newer versions and won't contain parallel drivers in the "newest" category.
Popular cloning programs demand creating new masters for each modification. For example, if a master contains WinZip version 8, updating to version 8.1 requires creating a whole new master. The modular concept enables creating packages that refer to one program each, and then creating masters by packaging several packages. Creating these packages is time consuming therefore system 200 does the packaging itself. Also, in many cases programs cannot be packaged because of their sophisticated installation algorithms or because of the gaps between the target PCs. In these cases system 200 combines packages with real-time automatic installations.
Automatic Master module is a feature that can be enabled by the system administrator of the organization that implemented system 200. It automatically creates a master Diskette/CD/Installation Point for complete installations. The master may be used whenever a system crashes and the PC has to be restored. Creating a master diskette will serve the user for re-installing the original installation using system 200. Creating a Master CD or Installation Point clones the whole system to it, or it gathers all the necessary information from the system for later Backup Without Backup restoration. This way the restore process is very fast and provides most of system 200 benefits. It is also possible to create a system 200 Smart Boot Diskette for existing PCs. By creating a master to each PC, anyone can automatically re-install his PC to the original situation without disturbing the system administrator.
By default system 200 saves the configuration installed to each PC with each PC's ID. Therefore, whenever a PC is installed with system 200, it can be restored to its original configuration, including updated versions. However, if the motherboard has been replaced, system 200 won't recognize the PC. In such case using the master diskette is preferable.
System 200 Master diskette/CD may be used to duplicate the working environment of one PC to another. This way, a modified configuration of a system won't interfere with the restoration process, and will be covered by dynamic and automatic installation. This is a desirable feature of considerable complexity.
It is currently very popular in organizations to use Norton Ghost as a backup program rather than just a cloning tool. This way a master image is taken from each PC as soon as it is configured in the organization for the first time. Then, when the PC crashes or otherwise needs to be reinstalled, the "Ghost" is used to restore the system. The main disadvantage herein is that the backup is very old. The PC could have been updated many times since the original image, but the image wasn't updated. Also the backup is suitable only to the specific PC that it was backed up on.
Automatic Master module is an algorithm that creates a master point that matches a PC, in real-time:
Identifies the PC Hardware;
Creates a complete automatic installation process in real-time; and
Fully integrated with Backup Without Backup technology.
Usually, in client/server networks, the user's works, such as word documents, paintings, songs, etc., are stored in the server. In such a situation, the works can be backed-up very easily using today's existing solutions. The problem is how to restore the PC itself, i.e., the operating system, drivers etc. One popular solution is to use Norton Ghost to backup the PC. However, this and other existing programs provide a very limited solution.
Today's restore processes simply duplicate an existing master to another HD. However, if the PC that failed has been replaced, or wherein some components were replaced by others, the PC won't work properly. Also, the back-ups may contain old versions, or even miss complete programs that were installed recently. If the PC has bugs, the bugs are backed-up with the PC, wherein substantially no solution is provided.
Backup Without Backup is a technology/program that is used by system administrators or consumers. It can work in the Internet or through a client/server system 200 supported system. Backup Without Backup is used to backup working or partially working PCs. It does not backup the whole HD. Rather it analyzes the system, i.e., the operating system, drivers, 3rd party programs and their configurations, and creates a backup-like solution. Backup Without Backup is not provided as a replacement to backup software but in addition to it.
Backup Without Backup does not directly back-up a PC. Instead it analyzes the PC and makes a report enumerating the whole PC's content. This report is stored modularly in database 212 so it can be restored in unique ways. The system 200 restore process installs the programs that were "backed up" in real-time with the following benefits:
Bugs disappear;
Restoring to other PC's, or to the same PC with other components, is possible (this may be useful once a PC is broken or components are replaced);
Restore may update versions automatically;
Backup does not take HD space (only a minimum of a few MB's); and
The restoration process is fast.
Backup Without Backup features:
Analyze a PC's existing software;
Contacts system 200 server and updates its database with the PCs information (such as SID, hardware, programs, versions, parameters and more);
Automatically integrates newer versions and bug fixes in the existing "backup";
Uses all system 200 technologies to automatically convert a naked PC into a fully working one, and uses the backup information rather than default values, which is a very complex procedure; and
Provides complete registry and DOS/Windows manipulating ability.
Backup Without Backup can be used to "duplicate" one PC's working environment into another's. Since there is no requirement that both PC's be assembled with identical components, Backup Without Backup is the only tool that provides duplicating software to different PC's.
A businessman, for example, may travel from his office in Israel to his office in the USA. In Israel he'll backup his PC, to the system 200 Internet site. In response he'll receive a boot-disk. Then, when he arrives in the USA, he'll put the system 200 boot-disk in the floppy, and within several hours the same working environment he's used appears on the screen. For example: Hebrew Windows with Hebrew office will be restored. Also the picture of his daughter in the background will be restored as well as his right-click Babylon feature. Thus, Backup Without Backup can be used to duplicate over the Internet from one PC to another non-identical PC.
Declaring the Installation system provides features that can be used by the system administrator. It tells system 200 to gather information from all PC's 240 in the network and store this information in database 212. This operation enables restoring a PC 240 with the programs it contains, without creating a unique system 200 package for individual PC 240. The gathered information includes the operating system version, the hardware list, installed programs, configuration and more. Merge The Existing is used with Automatic Master to duplicate working environments from non-identical PCs, by including only the differences from the general organizational model.
Declaring the Installation system provides these features: Analyze existing PCs by specific defined criteria; and Analyze gathered information and store modularly in the System 200 database.
Objective Update module provides another feature that may be used by the system administrator. It updates drivers, bug fixes, security updates and programs on-the-fly. Objective Update uses the same system 200 technologies as the Merge the Exisiting module, Automatic Master module and others, to analyze all the organization's PC's 240 and update them. This feature combines both service and technology. Service refers to the system 200 maintenance team that preferably updates database 212 regularly. Technology refers to the ability to customize these packages for working systems.
Today more and more products offer automatic update features. For example, Microsoft Windows Update, CA Innoculate Update and others are available. The Auto-update feature usually refers to a specific program and works partially. There is an obvious need for one place to offer a general update.
Objective Update module provides these features: Analyze working PCs; Create update packages in real-time; and Push/Distribute them over the network automatically.

Claims

We claim:
1. A system for simultaneous automatic installation of a plurality of software packages by a personal computer assembler in at least one personal computer comprising: a system integrator server; a system administrator, and said system integrator server under the supervision of said system administrator; and a modular database facility for storing a software module for combining cloning of software and real time installation of software, such that the personal computer is ready to be used by an end-user.
2. A system according to claim 1 , further comprising a network server for real time synchronization with the system integrator server;
3. A system according to claim 1 , further comprising a smart boot-disk for initializing the hard drive of the at least one personal computer and making a first connection with the system integrator server.
4. A system according to claim 1 , wherein the modular database facility further stores at least one software module for providing at least one of the following: updated software packages; silently-installed drivers; an enterless hardware detector for detecting the monitor in the disk operating system (DOS); an automatic basic input/output system (BIOS) plug and play (PnP) updater; an incidents management for restarting Windows™' a tweak pack for integrating tweaks in installation of the operating system of the at least one; a reporting system to provide reports for: the system administrator of the system integrator; and the end-user of the at least one personal computer; an automatic system master for complete re-installation of the at least one personal computer, the master embodied in at least one of the following forms: diskette; compact disk (CD); and installation point; and a merge the existing feature for use in conjunction with the automatic system master to duplicate the working environment for non-identically installed personal computers.
5. A method for simultaneous automatic installation of a plurality of software packages in the at least one personal computer, using the system as defined in claims 1 through 4, comprising: cloning the installation of the disk operating system into the at least one personal computer; installing the hardware drivers in the at least one personal computer; and customizing the at least one personal computer by installing the plurality of software packages.
6. A method according to claim 5, further comprising at least one of the following: examining the personal computer's hardware as to versions and other characteristics; analyzing the results of the installations and the examination; reporting the results of the analysis to at least one of the following: the system administrator; the assembler of the at least one personal computer; and the end-user; installing disk operating system fixes, updates service packs; restoring in real-time to the same PC or at least one other PC according to the results of the analysis; installing the system integrator logos and branded improvements; and accomplishing the installation in a plurality of personal computers simultaneously.
7. A method according to claim 6, wherein the restoring updates versions automatically.
PCT/IL2002/001007 2001-12-19 2002-12-13 A system and method for installation of software onto a plurality of personal computers automatically and simultaneously WO2003052596A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002361472A AU2002361472A1 (en) 2001-12-19 2002-12-13 A system and method for installation of software onto a plurality of personal computers automatically and simultaneously

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL147186 2001-12-19
IL14718601A IL147186A0 (en) 2001-12-19 2001-12-19 A system and method for installation and restoration of a plurality of software into a plurality of personal computers automatically and simultaneously

Publications (1)

Publication Number Publication Date
WO2003052596A1 true WO2003052596A1 (en) 2003-06-26

Family

ID=11075901

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2002/001007 WO2003052596A1 (en) 2001-12-19 2002-12-13 A system and method for installation of software onto a plurality of personal computers automatically and simultaneously

Country Status (3)

Country Link
AU (1) AU2002361472A1 (en)
IL (1) IL147186A0 (en)
WO (1) WO2003052596A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005101199A1 (en) * 2004-03-31 2005-10-27 Fujitsu Siemens Computers Gmbh Method for the user-specific configuration of a computer from a group of prepared computers
US10001981B2 (en) 2016-05-26 2018-06-19 At&T Intellectual Property I, L.P. Autonomous server installation
CN113515407A (en) * 2020-04-09 2021-10-19 中标软件有限公司 Novel backup restoration method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803812A1 (en) * 1996-04-24 1997-10-29 Sony Corporation Method for updating a program
US6023585A (en) * 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
US6092189A (en) * 1998-04-30 2000-07-18 Compaq Computer Corporation Channel configuration program server architecture
GB2349720A (en) * 1999-01-25 2000-11-08 Dell Usa Lp Booting a computer system from one of two media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803812A1 (en) * 1996-04-24 1997-10-29 Sony Corporation Method for updating a program
US6023585A (en) * 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
US6092189A (en) * 1998-04-30 2000-07-18 Compaq Computer Corporation Channel configuration program server architecture
GB2349720A (en) * 1999-01-25 2000-11-08 Dell Usa Lp Booting a computer system from one of two media

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005101199A1 (en) * 2004-03-31 2005-10-27 Fujitsu Siemens Computers Gmbh Method for the user-specific configuration of a computer from a group of prepared computers
US8051416B2 (en) 2004-03-31 2011-11-01 Fujitsu Siemens Computers Gmbh Method for a user-specific configuration of a computer from a group of prepared computers
US10001981B2 (en) 2016-05-26 2018-06-19 At&T Intellectual Property I, L.P. Autonomous server installation
US10713027B2 (en) 2016-05-26 2020-07-14 At&T Intellectual Property I, L.P. Autonomous server installation
US11194560B2 (en) 2016-05-26 2021-12-07 At&T Intellectual Property I, L.P. Autonomous server installation
CN113515407A (en) * 2020-04-09 2021-10-19 中标软件有限公司 Novel backup restoration method
CN113515407B (en) * 2020-04-09 2023-03-31 中标软件有限公司 Backup restoration method

Also Published As

Publication number Publication date
IL147186A0 (en) 2002-08-14
AU2002361472A1 (en) 2003-06-30

Similar Documents

Publication Publication Date Title
US7496645B2 (en) Deployment of business logic software and data content onto network servers
US7448034B2 (en) Build time determination and installation of drivers on cloned systems
US7284157B1 (en) Faulty driver protection comparing list of driver faults
EP1073955B1 (en) Method, system, apparatus and program product for distribution and instantiation of software upgrades
US8972963B2 (en) End-to-end patch automation and integration
US7680957B1 (en) Computer system configuration representation and transfer
US6813708B2 (en) System and method for searching a BIOS for a type of computer network drive to boot and an operating system for migrating an operating system to a computer
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
US7519964B1 (en) System and method for application deployment in a domain for a cluster
US7080371B1 (en) Method, system, apparatus and program product for distribution and instantiation of software upgrades
US8230267B2 (en) Automated software testing framework
US8316224B2 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
US7293255B2 (en) Apparatus and method for automated creation of resource types
US20080086720A1 (en) Data processing system and method for execution of a test routine in connection with an operating system
US20060143530A1 (en) Self-repairing computing device and method of monitoring and repair
US20040117414A1 (en) Method and system for automatically updating operating systems
US20070005769A1 (en) Solution deployment in a server farm
US20040025155A1 (en) Method, computer program product, and system for configuring a software image for installation into a computer system
US7673023B1 (en) Method and apparatus for service processor updates
JP2001051833A (en) Method and device for generating and distributing smaller application of microsoft windows (registered) for automatic constitution of computer device
CN105183520B (en) Computer software remote automation Method of Adjustment and system
US20040139175A1 (en) Method and system for nondisruptive deployment during upgrading of enterprise systems
JP2001356912A (en) Install/update/uninstall system of software
US7228526B2 (en) Application imaging infrastructure
CN111147272A (en) Single server and multi-server operation platform upgrading method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP