WO2000055740A1 - Software distribution, execution and upgrading - Google Patents
Software distribution, execution and upgrading Download PDFInfo
- Publication number
- WO2000055740A1 WO2000055740A1 PCT/SG1999/000037 SG9900037W WO0055740A1 WO 2000055740 A1 WO2000055740 A1 WO 2000055740A1 SG 9900037 W SG9900037 W SG 9900037W WO 0055740 A1 WO0055740 A1 WO 0055740A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- files
- software
- user
- computer
- file
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Definitions
- SOFTWARE DISTRIBUTION, EXECUTION AND UPGRADING This invention relates to methods for distribution, execution and upgrading of software. It relates particularly but not exclusively to methods for executing and distributing software over a communication network such as a local area network, a wide area network, a virtual private network, or the Internet.
- Most current application software consists of a large number of different files. Such software is typically distributed on one or more CD-ROMs.
- the software is installed on a user's computer by running a set-up or installation program, which writes different files to different directories or folders on storage media (such as a hard disk) on the user's computer.
- the software application When the software application is executed, it makes file requests to the various different files as they are needed.
- the file requests are typically made to a particular file directory location on the user's computer, and the software may cease to operate properly if a file is not found in the expected location.
- the file requests are made to a CD-ROM drive on the user's computer, and the software may cease to operate properly if the correct CD-ROM is not present in the drive.
- Disadvantages of software distribution using CD-ROMs or other physical distribution media include the costs of creating the CD-ROMs, the effort and expense involved in creating printed manuals and packaging, and the time delays and transportation logistics involved in physically delivering the media to the user.
- Different users have different configurations of computers and different requirements for software functionality. Accordingly, different users require slightly different (sometimes significantly different) versions of the same software, and in order to achieve this the software manufacturer typically includes ail possible variations on the distribution media, with the user selecting the applicable components during installation. From the user's point of view, there is the inconvenience of receiving more materials than may be required. Typically, a user never finds a use for all of the software which is received, and the functionality of the software far exceeds what is required.
- CD-ROMs After a while, superseded CD-ROMs take up useful space.
- the user may have to pay for and install the whole of a software package when all that was required was a small part of it, and the user may have preferred to pay a lesser amount for software which takes up less data storage space on the user's computer.
- a user who uses the software only occasionally has to pay the same amount as a person who uses the software frequently.
- this method of delivery of software includes many of the disadvantages of conventional physical delivery. It is still usually necessary for the user to download more files than are actually required for the user's particular configuration, and this can be problematic in view of the time costs typically associated with connecting to the Internet. There is no means for charging the user only for the parts of the software which are actually useful to the user, or for charging the user on the basis of the frequency with which the software is used. Moreover, once a complete archive of the relevant software has been downloaded by the user, it is relatively easy for the user to make and distribute unauthorised copies, so piracy issues arise.
- a further problem associated with conventional software distribution methods relates to the manner in which the user decides whether the software is suitable for the user's purposes. It is typically very difficult for a user to decide whether software is suitable merely from reading advertising material, and the suitability can in many cases only be verified some time after the user has purchased the software and gone through the effort necessary to learn how to use it. This can result in a user purchasing unsuitable software.
- One answer to this problem is provided by cut-down "demonstration" versions of the software which may be distributed at low cost or free of charge via physical media (such as on CD-ROMs sold with computer magazines) or over the Internet.
- a typical local area network involves a number of client computers connected to one or more file servers.
- Networking software located on a client computer and the file server enables the client computer to gain access to files on the file server as if the files were located on a disk drive on the client computer. From the client computer's point of view, the file server simply appears to be one or more additional file volumes on the client computer.
- each computer can be configured to allow the other computers in the network to have access to part or all of its disk volumes.
- An advantage of client-server networking and peer-to-peer networking is that it is not necessary for each computer in the network to have a complete copy of all the files of the software application; shared files need only be present on one computer. Accordingly, computer storage media space is not wasted, and upgrading can be a simpler process.
- this type of networking can typically only be achieved within an organisation which has the same networking software on all computers. Efficiencies can be gained in distributing software within an organisation, but not between organisations or to individuals which are not part of the organisation.
- US Patent 5,752,005 describes a foreign file system establishing method which uses a native file system virtual device driver.
- a computer has a native file system which provides various native function routines.
- a virtual driver communicates with the native file system and intercepts some of the function routines, transferring them to a particular location on another (“foreign") computer. This allows the computer to gain some of the advantages of client-server networking, but it is necessary for the device driver to emulate the foreign file system.
- An object of the present invention is to provide new methods of distributing, executing and upgrading software which overcome some or all of the difficulties described above.
- a method of distributing software over a communication network including the steps of: (a) making the software available on a file server attached to the network;
- the communication network may be any suitable form of communication network. Suitable communication networks include the Internet, a local area network, a wide area network, and a virtual private network. It is currently envisaged that the invention will be used most extensively in the context of distribution of software over the Internet. It will be seen that one of the advantages of this aspect of the invention is that a user downloads only the files which are required by the user.
- the file server may be any suitable type of file server. Suitable types of file servers, with particular reference to Internet applications, include an FTP server, and HTTP server and a Gopher server.
- the method of this aspect of the invention may further include the steps of: (h) monitoring the number of times that files are requested and/or the particular files requested by the user's computer from the server; and (i) requiring the owner of the user's computer to make payments based on the number of times that files are requested and/or the particular files requested.
- the software may optionally require that a key be entered.
- One of the advantages of the first aspect of the invention is that it can allow distribution of currently available software without any modification of the file requests made by that software. This is because file requests are intercepted. If the file is already on the user's computer, the file request is directed to that file. If the file is not on the user's computer, the file is downloaded from the file server and then accessed on the user's computer.
- Currently available software might make numerous file requests to the local CD-ROM drive, because the software has been programmed with the assumption that the software is being installed from a local CD-ROM. All of these requests are monitored and converted into file download requests directed to the file server or redirected to downloaded files located on the user's computer.
- a method of executing computer application software on a user's computer which is connected to a communication network including the steps of: (a) providing on the user's computer a version of the software which does not include all the files necessary for complete operation of the software;
- the communication network and the file server may have the same features as described above in relation to the first aspect of the invention.
- the step of deleting one or more of the downloaded files may be done at any suitable time, including:
- the method of this aspect of the invention may further include the steps of: (i) monitoring the number of times that files are requested and/or the particular files requested by the user's computer from the server; and (j) requiring the owner of the user's computer to make payments based on the number of times that files are requested and/or the particular files requested.
- this method requires the user's computer to make contact with the file server at regular intervals in order to replace deleted files, and this facilitates the pay-per-use type of charging.
- This method is also useful for overcoming the purchasing barrier - allowing users to try the actual software first before buying it. There is no need for the software to be a cut-down version.
- a method of automatically upgrading software on a user's computer over a communication network including the steps of:
- the communication network and the file server may have the same features as described above in relation to the first aspect of the invention.
- the step of ascertaining that the software on the user's computer is an older version than the upgrade software may occur at any suitable time, including: (i) each time the software on the user's computer is executed;
- an upgrade agent may be downloaded from the file server to the user's computer.
- the upgrade agent performs the function of monitoring file requests made by the software to identify file requests which relate to files which have been upgraded in the upgrade software.
- FIG. 1 is a block diagram showing schematically the software components in a conventional networking system.
- Figure 2 is a block diagram showing schematically the software components in a networking system according to the present invention.
- Figure 3 is a schematic diagram of the components in a preferred embodiment of the present invention.
- FIG. 1 there is shown the components in conventional directory mounting/mapping products such as NFS, SMB and NetWare.
- application software runs on top of an operating system.
- the application software communicates with the operating system through various application program interfaces (APIs). Included within the operating system are a native file system, which includes a multiplicity of function routines, and network drivers.
- the operating system also includes a file system and network drivers.
- This request then passes to the network driver on the host machine, which passes the request to the network driver on the remote machine, which in turn passes it to the file system on the remote machine to access the file.
- the response is sent back through the same communication chain.
- the native file system invokes special drivers called network redirectors, which co-operate with their counterparts on the remote machine to make the directories and files visible to the native file system.
- the present invention enables software to be installed and run on a host machine, without requiring the underlying files to be physically available on any of the local storage drives. Instead, every file request from the software is trapped by an installable monitor, which dynamically downloads the target file from a remote file server to a local storage medium if the file has not already been downloaded. The installable monitor thereafter directs the native file system to operate on the downloaded file in order to satisfy the file request. Even requests for a file at an absolute path on a specific drive (e.g. the CD-ROM drive) are redirected to the downloaded file, which is likely to reside at a different path on a different drive. The downloaded file can optionally be removed when the software closes the file, or when the software terminates. Consequently, a host machine can run application software without having a physical medium containing all the underlying files.
- an installable monitor dynamically downloads the target file from a remote file server to a local storage medium if the file has not already been downloaded.
- the installable monitor thereafter directs the native file system
- the file server is a standard FTP server using the FTP communication protocol.
- the communication network is the Internet.
- the user's computer has Windows 95 as its operating system
- the FTP server has Solaris as its operating system.
- Windows 95 as its operating system
- Solaris as its operating system.
- the installable monitor on the user's computer has two components: a virtual device driver (VxD) inside the operating system kernel, and a Windows application at the user level, which includes an FTP client (the user mode application).
- VxD virtual device driver
- the VxD is implemented in such a way that it layers itself on top of the native file system. It is implemented as a hook that gets installed below the installable file system (IFS) manager interface.
- IFS installable file system
- a hook is a programming device that alters program flow away from its original intent. Consequently, for selected program flow threads progressing through the IFS manager interface, program flow is routed to the VxD rather than to the native file system as originally intended. The VxD is then free to either satisfy the request and return program flow back to the requesting thread or modify the request before directing it to the native file system.
- the native file system may include function routines directed towards file rights, file locking, file transaction tracking and the like. These are of little importance to the installable monitor of the invention, and hence hooks are omitted for such functions.
- the selected functions for which hooks are implemented in the preferred embodiment are indicated in the following table:
- hooking may be implemented any number of different ways, as will be known to those skilled in the art.
- published information describing the operating system may indicate the definition of the IFS manager interface for various function routines supported by the native file system. To the extent that published information is lacking, hook locations may be determined empirically.
- the VxD blocks the execution of the request inside the kernel, determines the path name of the request issued by the CD application and translates it into the equivalent remote path name on the CD drive attached to the file server. This remote path name is then passed back to the user mode application using known event notification mechanisms.
- the user mode application then translates the request into an FTP request and forwards it to the FTP server.
- the user mode application waits for a response from the FTP server and, once the file has been downloaded onto the user's machine, it saves the file to another location on the user's machine's local storage media. Confirmation of the download is passed to the VxD, together with the location of the local copy of the file.
- the VxD redirects the native file system to satisfy the request made by the application using the local copy, and the application continues as normal.
- the application itself is unaware that its files and data are being accessed on-line rather than on a local CD-ROM. After the application finishes execution, or closes the file, or after a pre-determined number of uses or after a pre-determined number of days, (these options may be configurable) one or more or all of the downloaded files are deleted from the user's machine.
- Typical applications for this embodiment include games traditionally distributed via CD-ROM disks.
- the start-up program corresponds to the game application that is launched on the user's machine.
- these applications store their data in the form of movie files on the CD-ROM disk. These are downloaded on demand by the installable monitor on the user's computer, while the user continues to play the game.
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99919739A EP1163592A1 (en) | 1999-03-18 | 1999-03-18 | Software distribution, execution and upgrading |
PCT/SG1999/000037 WO2000055740A1 (en) | 1999-03-18 | 1999-03-18 | Software distribution, execution and upgrading |
SG9903604A SG104254A1 (en) | 1999-03-18 | 1999-07-24 | A computing system and method for migrating a mobile computing environment |
US09/478,716 US6629143B1 (en) | 1999-03-18 | 2000-01-06 | Mobile computing system and method for a network |
US09/525,590 US6804718B1 (en) | 1999-03-18 | 2000-03-15 | Computing system and method for migrating a mobile computing environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SG1999/000037 WO2000055740A1 (en) | 1999-03-18 | 1999-03-18 | Software distribution, execution and upgrading |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000055740A1 true WO2000055740A1 (en) | 2000-09-21 |
WO2000055740A8 WO2000055740A8 (en) | 2001-03-01 |
Family
ID=20430202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SG1999/000037 WO2000055740A1 (en) | 1999-03-18 | 1999-03-18 | Software distribution, execution and upgrading |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP1163592A1 (en) |
WO (1) | WO2000055740A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2370236A (en) * | 2000-12-19 | 2002-06-26 | Nokia Mobile Phones Ltd | A method of modifying games content |
EP1219332A2 (en) * | 2000-12-27 | 2002-07-03 | Pioneer Corporation | Network game system and network game providing method |
WO2003019324A2 (en) * | 2001-08-28 | 2003-03-06 | Kent Ridge Digital Labs | A method and system for propagating points of presence over a computer network |
WO2004006094A1 (en) * | 2002-07-08 | 2004-01-15 | Siemens Aktiengesellschaft | Method for updating services in communication networks |
WO2003027972A3 (en) * | 2001-09-24 | 2004-01-22 | Siemens Energy & Automat | Method for providing engineering tool services |
US8108687B2 (en) * | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5421009A (en) * | 1993-12-22 | 1995-05-30 | Hewlett-Packard Company | Method of remotely installing software directly from a central computer |
WO1996024231A1 (en) * | 1995-01-30 | 1996-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Flexible downloading of software |
JPH10269078A (en) * | 1997-01-21 | 1998-10-09 | Toshiba Corp | Software distribution method, server device and client device |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5881236A (en) * | 1996-04-26 | 1999-03-09 | Hewlett-Packard Company | System for installation of software on a remote computer system over a network using checksums and password protection |
-
1999
- 1999-03-18 EP EP99919739A patent/EP1163592A1/en not_active Withdrawn
- 1999-03-18 WO PCT/SG1999/000037 patent/WO2000055740A1/en not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5421009A (en) * | 1993-12-22 | 1995-05-30 | Hewlett-Packard Company | Method of remotely installing software directly from a central computer |
WO1996024231A1 (en) * | 1995-01-30 | 1996-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Flexible downloading of software |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5881236A (en) * | 1996-04-26 | 1999-03-09 | Hewlett-Packard Company | System for installation of software on a remote computer system over a network using checksums and password protection |
JPH10269078A (en) * | 1997-01-21 | 1998-10-09 | Toshiba Corp | Software distribution method, server device and client device |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2370236A (en) * | 2000-12-19 | 2002-06-26 | Nokia Mobile Phones Ltd | A method of modifying games content |
EP1219332A2 (en) * | 2000-12-27 | 2002-07-03 | Pioneer Corporation | Network game system and network game providing method |
EP1219332A3 (en) * | 2000-12-27 | 2003-10-08 | Pioneer Corporation | Network game system and network game providing method |
US7231447B2 (en) | 2000-12-27 | 2007-06-12 | Pioneer Corporation | Network game system and method for providing continued network games |
WO2003019324A2 (en) * | 2001-08-28 | 2003-03-06 | Kent Ridge Digital Labs | A method and system for propagating points of presence over a computer network |
WO2003019324A3 (en) * | 2001-08-28 | 2004-07-15 | Kent Ridge Digital Labs | A method and system for propagating points of presence over a computer network |
WO2003027972A3 (en) * | 2001-09-24 | 2004-01-22 | Siemens Energy & Automat | Method for providing engineering tool services |
US7257620B2 (en) | 2001-09-24 | 2007-08-14 | Siemens Energy & Automation, Inc. | Method for providing engineering tool services |
US8108687B2 (en) * | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
WO2004006094A1 (en) * | 2002-07-08 | 2004-01-15 | Siemens Aktiengesellschaft | Method for updating services in communication networks |
CN100350385C (en) * | 2002-07-08 | 2007-11-21 | 西门子公司 | Method for updating services in communication networks |
US9270762B2 (en) * | 2002-07-08 | 2016-02-23 | Siemens Aktiengesellschaft | Method for updating services in communication networks |
Also Published As
Publication number | Publication date |
---|---|
WO2000055740A8 (en) | 2001-03-01 |
EP1163592A1 (en) | 2001-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6928444B2 (en) | Automatic backup/recovery process | |
US6049663A (en) | Method and facility for uninstalling a computer program package | |
US6049671A (en) | Method for identifying and obtaining computer software from a network computer | |
US6199204B1 (en) | Distribution of software updates via a computer network | |
US6202207B1 (en) | Method and a mechanism for synchronized updating of interoperating software | |
US7496931B2 (en) | Portable memory storage devices containing public context application layers | |
US6760708B1 (en) | Method and system for migrating stored data to a build-to-order computing system | |
US7565650B2 (en) | Method, apparatus and computer program product for deploying software via post-load images | |
US7093246B2 (en) | Automated updates of software and systems | |
US5845077A (en) | Method and system for identifying and obtaining computer software from a remote computer | |
US7054937B1 (en) | Computer network and connection method for connecting a personal computer and a content delivery system using a disk drive which includes a network address and server-contacting program | |
US7519963B1 (en) | Layered computing systems and methods with location exclusions | |
US7620956B2 (en) | Portable memory storage devices with application layers | |
US7565517B1 (en) | Retargeting a captured image to new hardware while in a pre-boot environment | |
US20070266027A1 (en) | Maintaining commonly named client-specific file content in hard disk drive emulation | |
US20030088515A1 (en) | Installing and controlling trial software | |
US20020095672A1 (en) | Efficient data transfer during computing system manufacturing and installation | |
WO2007073546A2 (en) | Installing an application from one peer to another including configuration settings | |
WO2003107183A1 (en) | Systems and methods for the creation of software packages using layered systems | |
JP2001508575A (en) | Software Update Manager | |
KR20000076612A (en) | System and method for installing personal computer software | |
US20050108708A1 (en) | Method to install software via a network and network apparatus thereof | |
US7673148B2 (en) | Versioning component for applications | |
EP1163592A1 (en) | Software distribution, execution and upgrading | |
US7343560B1 (en) | Method and system for generating dynamic images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 09478716 Country of ref document: US |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: C1 Designated state(s): JP SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: C1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
CFP | Corrected version of a pamphlet front page | ||
CR1 | Correction of entry in section i | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1999919739 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09936850 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 1999919739 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1999919739 Country of ref document: EP |