CA2301090A1 - Multi-tier electronic software distribution - Google Patents

Multi-tier electronic software distribution Download PDF

Info

Publication number
CA2301090A1
CA2301090A1 CA002301090A CA2301090A CA2301090A1 CA 2301090 A1 CA2301090 A1 CA 2301090A1 CA 002301090 A CA002301090 A CA 002301090A CA 2301090 A CA2301090 A CA 2301090A CA 2301090 A1 CA2301090 A1 CA 2301090A1
Authority
CA
Canada
Prior art keywords
software
distribution
publisher
channel
distribution instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002301090A
Other languages
French (fr)
Inventor
Cay S. Horstmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SafeNet Data Security Israel Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CA2301090A1 publication Critical patent/CA2301090A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0014Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Abstract

Methods of electronic software distribution are provided in which software products may be wrapped by their publishers in a straightforward, secure manner (compress and pack into a single file), but in such a way as to allow for the addition of information by downstream distribution channel partners, e.g., distributors and merchants (resellers). Distribution policies, or business rules (distribution rule set), governing the distribution process may be fixed by the software publisher or may be left to the discretion of channel partners. The software product itself, however, is secured against tampering or inadvertent infection by a virus (encrypt and pack into a single file). A
tool facilitates the foregoing incremental wrapping process without requiring sophistication in computer technology on the part of channel partners. The publisher may use a conventional setup tool of the publishers choice to prepare a setup file set for distribution (make end-user installable product).
That is, the wrapping tool need not influence the publishers choice of setup tools.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention The present invention relates to electronic software distribution (ESD).
2. State of the Art Conventionally, software has been distributed in shrinkwrap form. That is, disk copies of a piece of software have been packaged and shrinkwrapped, usually together with user's manuals. Boxes of shrinkwrapped software are then moved through distribution channels, with payment being made in the usual commercial fashion.
With the widespread use of CD ROMs, expensive manuals are increasingly being dispensed with in favor of on-line manuals, i.e., manuals stored on CD
ROM.
The software and its documentation have been merged together. Furthermore, with the proliferation of inexpensive, high capacity hard drives, either on a stand-alone computer or a network server, and widespread Internet access (through increasingly high speed "pipes"), it is now possible to distribute software electronically by allowing customers to download the software from a server.
So long as the owner of the software (i.e., the software publisher) retains possession and control of the software being distributed, things go relatively smoothly. The threat of unauthorized copying still remains, but is not especially aggravated as compared to the same threat in the case of conventional software distribution.
Software publishers, however, often do not wish to open and maintain a "storefront" for electronic software distribution, and often do not have sufficient market reach or presence to effectively distribute the software that they have produced. A software publisher may therefore wish to "team up" with one or more "channel partners" in order to effectively carry out electronic software distribution. In such an arrangement, the software publisher puts a software product within the possession and control of one or more (and possibly hundreds of) channel partners. Safeguarding the software (e.g., to avoid contamination by viruses) becomes an issue of vital importance, as does reporting. Inventorying software in electronic form is much more susceptible to duplicity and fraud than inventorying boxes of software.
To facilitate electronic software distribution, clearinghouses have emerged. A clearinghouse functions as a kind of escrow agent for the software publisher and channel partners. Software products for electronic distribution are locked (using encryption). The clearinghouse holds unlock keys for software products and reports to the other parties whenever an unlock key is requested by and released to a customer. The clearinghouse typically also receives payment from the customer and credits the account of the appropriate channel partner.
Electronic software distribution may follow a buy-before-you-try (Buy/Try) model or a try-before-you-buy (TryBuy) model. Buy/Try is the conventional model used in packaged software distribution: the customer must first buy the package before the customer is able to use it. In the Try/Buy model, the customer is allowed to try the software for a period of time before being required to either buy the software or discontinue use of the software.
Try/Buy can operate to the advantage of both the customer (allowing the customer to become acquainted with the product before deciding whether to buy it) and the software publisher (affording more customers an opportunity to try and ultimately buy the product). TryBuy, however, does introduce fwrther complexity into electronic software distribution. The Software Publishers Association has issued guidelines for Try/Buy electronic software distribution, available at the Web page http://www.spa.org.
Wrapper technology providers are responsible for providing secure encryption technology for Buy/Try and Try/Buy purchases. In the case of Try/Buy, the user downloads and installs the product. The product is altered in such a way that the potential customer can use the product a limited number of times, a limited amount of time, or is functionally "crippled" in some way. At the end of the trial period, the user either purchases the product or deletes the "wrapped" version. If the product is purchased, the clearinghouse provides the customer a key that "breaks the shrinkwrap" and permanently installs the product.
Existing wrapping technologies for electronic software distribution suffer from significant drawbacks. Wrapping is typically performed in a laboratory-like environment in a semi-custom (or ad hoc) manner by companies having special expertise. The process may have a turn-around time of several days to several weeks, depending on the complexities that arise in the wrapping of a particular product. Furthermore, wrapping typically follows a wrap once ~
model in which no further information may be added to the wrapped product.
Such a model does not lend itself to channelization in cooperation with multiple (possibly very numerous) channel partners. Different wrappings would have to be carried out for different channel partners. Also, separate processes and tools have typically been required for Buy/Try wrapping and Try/Buy wrapping.
There is therefore a need for electronic software distribution methods that overcome the foregoing disadvantages.
SUMMARY OF THE INVENTION
The present invention, generally speaking, provides for methods of electronic software distribution in which software products may be wrapped by their publishers in a straightforward, secure manner, but in such a way as to allow for the addition of information by downstream distribution channel partners, e.g., distributors and merchants (resellers). Distribution policies, or business rules, governing the distribution process may be fixed by the software publisher or may be left to the discretion of channel partners. The software product itself, however, is secured against tampering or inadvertent infection by viruses. A tool facilitates the foregoing incremental wrapping process without requiring sophistication in computer technology on the part of channel partners.
BRIEF DESCRIPTION OF THE DRAWING
The present invention may be further understood from the following description in conjunction with the appended drawing. In the drawing:
Figure 1 is a flow diagram of a mufti-tier distribution process used to produce a Buy/Try customer downloadable file;
Figure 2 is a flow diagram of a mufti-tier distribution process used to produce a Try/Buy customer downloadable file;
Figure 3 is a diagram of a first wrapper mechanism;
Figure 4 is a diagram of a second wrapper mechanism;
Figure 5 is a diagram representing an end-user installable product produced by the process of Figure 2;
Figure 6 is an alternative representation of the process of Figure 2, useful for understanding the secondary setup process; and Figure 7 is a diagram of the secondary setup process.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention may be embodied in a "wrapping" software toolkit for use in electronic software distribution. (The terms "toolkit" and "tool" are used interchangeably herein.) Desirably, a single such tool should:
1. Allow software publishers to add electronic commerce and, optionally, Try/Buy capabilities to software products;
2. Allow software publishers to secure the software product against contamination or tampering;
3. Allow software publishers to set distribution policies or to allow distribution policies to be set further down the distribution chain;
4. Allow one or more channel partners within one or more distribution tiers to add identifying information and, optionally, to set distribution policies;
and 5. Prevent interference of channel partners with one another.
The manner in which these objectives may be obtained will be described in detail. Further details regarding software protection and software self modification, respectively, may be found in U.S. Application Serial Nos.
08/921,272, and 08/921,402 {Atty. Dkt. Nos. 031994-003 and 031994-007), filed on even date herewith and incorporated herein by reference.
In the conventional software publishing process, the software publisher produces either a setup file set (in the case of floppy or CD distribution) or a single "self extracting" setup file (in the case of on-line or electronic distribution). The setup file may be produced using a tool such as Install ShieldT"' . To enable electronic distribution in accordance with the foregoing objectives, modifications are required to the executable file, the setup file, or possibly both, depending on the distribution model (Try/Buy, Buy/Try, etc.).
Referring first to Figure 1, the modifications for Buy/Try will first be described. Assume an executable program PROG. EXE. Using a conventional tool, a setup file (for customer installation) is produced from the executable and other ancillary files. The software publisher performs this step in the normal way using the same tool as in conventional software distribution. No modifications are required. The resulting setup file is typically compressed and may also be, in large part, encrypted.
The software publisher then uses the present wrapper tool, modifying the setup file to produce a downloadable binary file (a "bag of bits," or BOB). In an exemplary embodiment, the modifications performed during this step are threefold. First, the setup file is wrapped (encrypted) so that it cannot be tampered with by other channel partners. Second, a distribution rule set is added external to the setup file. The distribution rule set contains, initially, instructions by the publisher. Adding the distribution rule set external to the setup file allows it to be edited by other channel partners. The distribution rule set is not part of the setup file that the publisher puts together and then wraps securely.
Third, code is added that provides electronic commerce capabilities. The electronic commerce portion of the code provides for electronic purchase of the software on-line using a credit card or some other method of electronic payment such as electronic cash or a pre-approved corporate credit line. Since the software may be sold by any one of a multitude of parties within a distribution network, this code also refers to the distribution rule set to determine to whom payment is to be made.
The foregoing arrangement results from the requirement that the channel partners be able to make changes to the distribution rule set. More particularly, a tool cannot make changes to a file that is included in the setup file or file set, because the setup file set can be created by any of a number of different tools that use different compression and packing methods to store the application files.
Therefore the wrapping tool must manage the distribution rule set separately from the setup file set.
When the software publisher has finished with the BOB, the BOB may then be passed along to a channel partner and, optionally, from channel partner to channel partner through any number of tiers of the mufti-tier distribution network. Each channel partner uses a tier-specific privilege file (which is password protected) to add to the distribution rule set information within its privilege level. The distribution rule set is then resecured. Preferably, the wrapping tool automatically handles the unencryption/reencryption of the distribution rule set in a manner completely transparent to the channel partners.
In an exemplary embodiment, the privilege structure is such as to prevent interference of channel partners with one another. For example, once the distribution rule set has been "touched" by a first channel partner of a given tier, subsequent channel partners within that same tier are not allowed access.
At each stage of the distribution process, the publisher and the publisher's channel partners add information to the distribution rule set as shown in Table 1.
Table 1 Party Inputs to Distribution rule Set .-.
Tool Vendor Secured assword structure Publisher Publisher ID

Product identifier End User License A reement (EULA) Distributor Distributor ID

Clearinghouse key (for confidentiality between customer and clearinghouse) Clearinghouse comm. parameters Product unlock verification ke Merchant Merchant ID

Product price Merchant's clearin house account The distribution rule set contains a secure password data structure administered by the tool vendor. At each stage, the publisher, distributor and merchant input their respective IDs into the license file. The distributor, in addition to its ID, inputs clearinghouse information. The merchant, in addition to its ID, inputs the product price and the merchant's clearinghouse account number. The inputs of the publisher may include product identification and a EULA agreement.
Hence, to summarize the process of producing a Buy/Try customer downloadable file as illustrated in Figure 1, the software publisher downloads the BOB to a distributor. The distributor uses the wrapping tool which decrypts the distribution rule set and allows the distributor to add the appropriate information to the distribution rule set (which is then re-encrypted) and downloads the BOB
to a merchant. The merchant likewise adds appropriate information to the distribution rule set. The resulting file is a securely wrapped end-user installable package.

In Buy/Try distribution, to break the wrapper, a key is required which is typically delivered via the Internet, telephone, etc.
Referring now to Figure 2, the modifications required for Try/Buy (the advantages of which have been described previously) will be described. Assume the same executable program PROG.EXE. Using the same wrapper tool WT, the executable is "wrapped" by adding code that provides both Try/Buy and electronic commerce capabilities. The Try/Buy portion of the code allows or disallows execution of the program in accordance with trial policies (e.g., 30 day trial) stored in a license file, described hereinafter. The electronic commerce portion of the code is as previously described.
The "wrapping" process of augmenting an executable with code for electronic commerce and Try/Buy is known per se in the art and may be accomplished in a conventional manner. Wrapping of the program executable may be accomplished by "code injection" or by other alternative mechanisms.
Referring to Figure 3, in the code injection approach, wrapping is achieved by:
1) encrypting the program code; 2) adding guard code to the program executable;
and 3) changing the starting address pointer within the application header to point to, instead of beginning of the program code, the beginning of the guard code.
Referring to Figure 4, in an alternative approach, the program code is encrypted and executable guard code is provided apart from the original executable. A
program loader (not shown) starts out by executing the guard code that tests whether the user may proceed. It then decrypts and loads the original program.
The chief difference between the two methods is that, in the second method, the guard code is in a separate file, rather than attached to the end of the executable.
Referring again to Figure 2, assuming that the executable has been injected, for example, then, using a conventional tool, a setup file (for customer installation) is produced from the injected executable and other ancillary files.
Again, the software publisher performs this step in the normal way using the same tool as in conventional software distribution. No modifications are _g_ required. The resulting setup file is typically compressed and may also be, in large part, encrypted.
The software publisher then uses the present wrapper tool a further time, modifying the setup file to produce a downloadable binary file, or BOB. In an exemplary embodiment, the modifications performed during this step are threefold. First, the setup file is wrapped (encrypted) so that it cannot be tampered with by other channel partners. Second, a distribution rule set is added external to the setup file as described previously. Third, the setup file is further augmented by adding an installation stub that the customer can start (the original setup file having been wrapped).
The resulting file is a downloadable binary file (a BOB), shown in Figure 5. The setup file is securely wrapped. Distribution information has been added external to the setup file, and an installation stub has been added to run the original setup file and to put the distribution information into its "correct"
place.
In Try/Buy, trial condition and parameters are included within the distribution rule set. When the program to be tried or purchased runs, it must have access to the distribution rule set. Therefore, the installation stub, besides running the original setup file, places the distribution rule set into a location where the program, once it has been installed, can find it.
When the software publisher has finished with the BOB, the BOB may then be passed along to a channel partner and, optionally, from channel partner to channel partner through any number of tiers of the mufti-tier distribution network as described previously, each channel partner using a tier-specific privilege file (which is password protected) to add to the distribution rule set information within its privilege level.
The distribution rule set for Try/Buy may contain information as shown in Table 2. As compared to the Buy/Try case, a EUTA (End-User Trial Agreement) and conditions of use additionally appear.

Table 2 Pa In uts to License File Tool Vendor Secured assword structure Publisher Publisher ID

Product identifier End User Trial Agreement (EUTA) End User License Agreement (EULA) Conditions (i.e., number of uses, trial period length, etc.)--bounds and current Distributor Distributor ID

Clearinghouse key (for confidentiality between customer and clearinghouse) Clearinghouse comm. parameters Product unlock verification ke Merchant Merchant ID

Product price Merchant's clearin house account When the customer installs the end-user installable package, the installation stub is run. The job of the installation stub is to install the distribution rule set (which the original setup file knows nothing about) and run the original setup file. First, the installation stub calculates a cryptographic "fingerprint" of the wrapped original setup file and checks it against a fingerprint stored in the distribution rule set. If the two fingerprints do not match, the installation stub will display an error. This step prevents "forgery" of a distribution rule set that would allow for unauthorized use.
When the original setup file has been installed and an attempt is made to use the software product, the injected code will read the distribution rule set and disallow use unless the use is within the terms specified.
The foregoing secondary setup process may be further understood with reference to Figure 6 and Figure 7. Referring first to Figure 6, program files to be distributed to the end user include a wrapped program executable (wrapped using the present wrapper tool) and other files used by the program. Using a setup tool of the software publisher's choosing, these files are compressed and packed into a single file. The installation file set produced by the setup tool, besides the foregoing compressed file, may also produce additional files, including a setup rule set (specifying where files are to be placed, what icons are to be added, etc.) and a setup executable file. The installation file set may in turn be encrypted and packed into a single file. A distribution file set includes this encrypted file and a further distribution rule set. Prior to distribution to the end user, the distribution file set is combined into a single end-user installable product (user-installable EXE), during the course of which an install stub is added.
Referring to Figure ?, during installation, first the install stub copies the distribution rule set into the system directory of the user machine. Then the install stub copies the secured installation file set into a temporary directory, decrypts and unpacks the installation file set, and runs the original setup executable, SETUP.EXE. The original setup executable uncompresses and copies the program files to an end-user-selected product directory. Finally, the wrapper added to the original executable program, PROGRAM.EXE, reads the distribution rule set. Use of the program may then occur consistent with the rules contained in the distribution rule set.
It will be appreciated by those of ordinary skill in the art that the invention can be embodied in other specific forms without departing from the spirit or essential character thereof. The presently disclosed embodiments are therefore considered in alI respects to be illustrative and not restrictive.
The scope of the invention is indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalents thereof are intended to be embraced therein.

Claims (9)

What is Claimed:
1. A method of distributing a software product using vendor-provided software tools, comprising the steps of:
a software publisher securing a software product to control execution of the software product, producing a secured software product;
using a setup tool of its own choosing, the software publisher producing an installation file set, comprising one or more files, to install the secured software product;
the software publisher, using a vendor-provided tool, producing distribution instructions in a form that can be modified only by authorized channel partners and subsequently inspected and modified by the wrapper as an end user executes the software;
subsequently placing the installation file set and the distribution instructions in the possession of one or more channel partners, each of said channel partners in turn, using a vendor-provided tool, augmenting the distribution instructions, subject to privileges afforded them; and prior to placing the software product in the possession of an end user, the software publisher or a channel partner packaging the installation file set and the distribution instructions into an end-user installable package.
2. The method of Claim 1, wherein software distribution follows a Buy/Try model, and the step of producing a secure software product comprises the software publisher first producing an installation file set using said setup tool and then securing an installation program in the installation file set.
3. The method of Claim 1, wherein said packaging of the installation file set and distribution instructions into an end-user installable package occurs prior to channel partners augmenting the distribution instructions.
4. The method of Claim 1, comprising the further step of the software publisher packaging the installation file set into a form that is safe from tampering and infection by computer viruses.
5. The method of Claim 4, wherein said distribution instructions are secured by a combination of encryption and privileges, such that altering the distribution instructions requires a privilege file.
6. The method of Claim 5, wherein a privilege level of the software publisher allows it to unalterably fix at least a portion of the distribution instructions.
7. The method of Claim 6, wherein a privilege level of a channel partner allows it to alter a portion of the distribution instructions not unalterably fixed by the software publisher.
8. The method of Claim 7, wherein the channel partners include a first-tier channel partner and a second-tier channel partner, wherein distribution instructions altered by a channel partner of a given tier cannot be altered by another channel partner of the same tier.
9. The method of Claim 8, wherein the first-tier channel partner is a distributor and the second-tier channel partner is a merchant.
CA002301090A 1997-08-29 1998-08-31 Multi-tier electronic software distribution Abandoned CA2301090A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/921,394 US6009525A (en) 1997-08-29 1997-08-29 Multi-tier electronic software distribution
US08/921,394 1997-08-29
PCT/US1998/003341 WO1999012307A1 (en) 1997-08-29 1998-08-31 Multi-tier electronic software distribution

Publications (1)

Publication Number Publication Date
CA2301090A1 true CA2301090A1 (en) 1999-03-11

Family

ID=25445362

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002301090A Abandoned CA2301090A1 (en) 1997-08-29 1998-08-31 Multi-tier electronic software distribution

Country Status (5)

Country Link
US (1) US6009525A (en)
EP (1) EP1008250A4 (en)
JP (1) JP2001515253A (en)
CA (1) CA2301090A1 (en)
WO (1) WO1999012307A1 (en)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141754A (en) * 1997-11-28 2000-10-31 International Business Machines Corporation Integrated method and system for controlling information access and distribution
US6334213B1 (en) * 1998-01-20 2001-12-25 Preview Systems Merging of separate executable computer programs to form a single executable computer program
US6285985B1 (en) * 1998-04-03 2001-09-04 Preview Systems, Inc. Advertising-subsidized and advertising-enabled software
US6117188A (en) * 1998-04-27 2000-09-12 Cognet Corporation System and method using token processing to control software distribution and desktop management in a computer network environment
US6044471A (en) 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US20040225894A1 (en) * 1998-06-04 2004-11-11 Z4 Technologies, Inc. Hardware based method for digital rights management including self activating/self authentication software
US20040117663A1 (en) * 1998-06-04 2004-06-17 Z4 Technologies, Inc. Method for authentication of digital content used or accessed with secondary devices to reduce unauthorized use or distribution
US6986063B2 (en) * 1998-06-04 2006-01-10 Z4 Technologies, Inc. Method for monitoring software using encryption including digital signatures/certificates
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6442749B1 (en) * 1998-10-30 2002-08-27 Fujitsu Limited Apparatus, method and architecture for task oriented applications
US6463538B1 (en) * 1998-12-30 2002-10-08 Rainbow Technologies, Inc. Method of software protection using a random code generator
US7389540B2 (en) * 1999-02-03 2008-06-17 Cybersoft, Inc. Apparatus and methods for intercepting, examining and controlling code, data and files and their transfer
US7917744B2 (en) * 1999-02-03 2011-03-29 Cybersoft, Inc. Apparatus and methods for intercepting, examining and controlling code, data and files and their transfer in instant messaging and peer-to-peer applications
US6728713B1 (en) 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
US8131648B2 (en) * 1999-10-20 2012-03-06 Tivo Inc. Electronic content distribution and exchange system
US6501995B1 (en) * 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
AU6065100A (en) * 1999-06-30 2001-01-31 Ac Properties B.V. A system, method and article of manufacture for a customer profile-tailored support interface in an electronic software distribution environment
US7191153B1 (en) 1999-09-10 2007-03-13 Dphi Acquisitions, Inc. Content distribution method and apparatus
EP1214842B1 (en) 1999-09-20 2010-11-17 TiVo, Inc. Closed caption tagging system
US7039806B1 (en) 1999-10-01 2006-05-02 Infraworks Corporation Method and apparatus for packaging and transmitting data
AU1430901A (en) * 1999-10-01 2001-05-10 Infraworks Corporation Method and system for providing data security using file spoofing
AU1206000A (en) * 1999-10-26 2001-05-08 Robert E. Fraser Method for dynamically wrapping files for downloading
US6449719B1 (en) * 1999-11-09 2002-09-10 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream
US8055894B2 (en) 1999-11-09 2011-11-08 Google Inc. Process and streaming server for encrypting a data stream with bandwidth based variation
US6578199B1 (en) * 1999-11-12 2003-06-10 Fujitsu Limited Automatic tracking system and method for distributable software
US6490723B1 (en) * 1999-11-30 2002-12-03 Dell Products L.P. Method and system for installing files in a computing system
DE19959442C2 (en) * 1999-12-09 2001-10-18 Music Aliens Ag Method and arrangement for the transmission of data and / or information and / or signals, in particular dynamic content, and their use
AU2741301A (en) * 2000-01-05 2001-07-16 Releasenow.Com, Inc. E-mail marketing method and system
JP2003532952A (en) * 2000-01-21 2003-11-05 データプレイ・インコーポレイテッド Flexible content distribution method and apparatus
US6748592B1 (en) 2000-02-14 2004-06-08 Xoucin, Inc. Method and apparatus for protectively operating a data/information processing device
US8171520B2 (en) 2000-03-02 2012-05-01 Tivo Inc. Method of sharing personal media using a digital recorder
EP1134643A3 (en) * 2000-03-14 2007-01-17 Sony Corporation Information providing apparatus and method, information processing apparatus and method, program storage medium, program, and information providing system
US6748531B1 (en) 2000-03-28 2004-06-08 Koninklijke Philips Electronics N.V Method and apparatus for confirming and revoking trust in a multi-level content distribution system
US7024696B1 (en) 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US6698016B1 (en) * 2000-08-29 2004-02-24 Microsoft Corporation Method for injecting code into another process
US6857067B2 (en) * 2000-09-01 2005-02-15 Martin S. Edelman System and method for preventing unauthorized access to electronic data
US7165175B1 (en) * 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
EP1191421A3 (en) * 2000-09-21 2003-05-07 Matsushita Electric Industrial Co., Ltd. Tamper resistant software protection method with renewable security mechanism
GB2383454B (en) * 2000-10-13 2005-03-30 Nds Ltd Automated multi-level marketing system
US7343324B2 (en) * 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US7043473B1 (en) 2000-11-22 2006-05-09 Widevine Technologies, Inc. Media tracking system and method
US20020073312A1 (en) * 2000-12-08 2002-06-13 International Business Machines Corporation Secure electronic software distribution
US7150045B2 (en) 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
CA2328644C (en) * 2000-12-15 2005-05-10 Ibm Canada Limited-Ibm Canada Limitee Methods, systems, signals and media for encouraging users of computer readable content to register
EP1366403A4 (en) * 2001-01-17 2005-04-13 Contentguard Holdings Inc System and method for digital rights management using a standard rendering engine
US20020141584A1 (en) * 2001-01-26 2002-10-03 Ravi Razdan Clearinghouse for enabling real-time remote digital rights management, copyright protection and distribution auditing
DE10108487A1 (en) * 2001-02-22 2002-09-12 Giesecke & Devrient Gmbh Method and system for the distributed creation of a program for a programmable, portable data carrier
US7404212B2 (en) * 2001-03-06 2008-07-22 Cybersoft, Inc. Apparatus and methods for intercepting, examining and controlling code, data and files and their transfer
GB0107215D0 (en) * 2001-03-22 2001-05-16 Wraptech Ltd Distribution system amd method of operation thereof
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
EP1271310B1 (en) * 2001-06-26 2003-02-05 Aladdin Knowledge Systems GmbH& Co. KG Method to extend application that is to be installed with an installation program with a function and a computer program product
US20030028622A1 (en) * 2001-08-06 2003-02-06 Mitsuhiro Inoue License management server, terminal device, license management system and usage restriction control method
US20030188175A1 (en) * 2001-08-27 2003-10-02 Volk Steven B. System and method for identifying vendors of hidden content
US20030041311A1 (en) * 2001-08-27 2003-02-27 International Business Machines Corporation Topological multi-tier business application composer
WO2003021427A2 (en) * 2001-08-29 2003-03-13 Globespanvirata Incorporated Secure access to software functionalities
US7415726B2 (en) 2001-12-28 2008-08-19 Mcafee, Inc. Controlling access to suspicious files
US7328345B2 (en) 2002-01-29 2008-02-05 Widevine Technologies, Inc. Method and system for end to end securing of content for video on demand
US7299292B2 (en) * 2002-03-29 2007-11-20 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream to a virtual smart card client system
WO2003096136A2 (en) * 2002-05-10 2003-11-20 Protexis Inc. System and method for multi-tiered license management and distribution using networked clearinghouses
US7231607B2 (en) * 2002-07-09 2007-06-12 Kaleidescope, Inc. Mosaic-like user interface for video selection and display
US7246322B2 (en) 2002-07-09 2007-07-17 Kaleidescope, Inc. Grid-like guided user interface for video selection and display
US20070245247A1 (en) * 2002-05-14 2007-10-18 Kaleidescape, Inc. Grid-like guided user interface for video selection and display
EP1540955A4 (en) * 2002-07-09 2007-08-01 Kaleidescape Inc Content and key distribution system for digital content representing media streams
US7003131B2 (en) * 2002-07-09 2006-02-21 Kaleidescape, Inc. Watermarking and fingerprinting digital content using alternative blocks to embed information
US7111171B2 (en) * 2002-07-09 2006-09-19 Kaleidescope, Inc. Parallel distribution and fingerprinting of digital content
US20030110094A1 (en) * 2002-07-25 2003-06-12 Sony Corporation System and method for wireless viral software distribution
US7469232B2 (en) * 2002-07-25 2008-12-23 Sony Corporation System and method for revenue sharing for multimedia sharing in social network
US7603406B2 (en) * 2002-07-25 2009-10-13 Sony Corporation System and method for wireless software download and remote transaction settlement
US7979700B2 (en) 2002-08-23 2011-07-12 Sandisk Corporation Apparatus, system and method for securing digital documents in a digital appliance
US7505872B2 (en) * 2002-09-11 2009-03-17 International Business Machines Corporation Methods and apparatus for impact analysis and problem determination
US7240325B2 (en) * 2002-09-11 2007-07-03 International Business Machines Corporation Methods and apparatus for topology discovery and representation of distributed applications and services
US7096459B2 (en) * 2002-09-11 2006-08-22 International Business Machines Corporation Methods and apparatus for root cause identification and problem determination in distributed systems
US6847970B2 (en) 2002-09-11 2005-01-25 International Business Machines Corporation Methods and apparatus for managing dependencies in distributed systems
US7334222B2 (en) * 2002-09-11 2008-02-19 International Business Machines Corporation Methods and apparatus for dependency-based impact simulation and vulnerability analysis
US7594271B2 (en) * 2002-09-20 2009-09-22 Widevine Technologies, Inc. Method and system for real-time tamper evidence gathering for software
US7200760B2 (en) * 2002-12-31 2007-04-03 Protexis, Inc. System for persistently encrypting critical software data to control the operation of an executable software program
US8225194B2 (en) 2003-01-09 2012-07-17 Kaleidescape, Inc. Bookmarks and watchpoints for selection and presentation of media streams
WO2004070585A2 (en) 2003-01-31 2004-08-19 Kaleidescape, Inc. Detecting collusion among multiple recipients of fingerprinted information
US7007170B2 (en) 2003-03-18 2006-02-28 Widevine Technologies, Inc. System, method, and apparatus for securely providing content viewable on a secure device
US7356143B2 (en) 2003-03-18 2008-04-08 Widevine Technologies, Inc System, method, and apparatus for securely providing content viewable on a secure device
US8510571B1 (en) * 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
JP4554598B2 (en) 2003-03-27 2010-09-29 サンディスク アイエル リミテッド A data storage device that is fully accessible by all users
US20040192243A1 (en) * 2003-03-28 2004-09-30 Siegel Jaime A. Method and apparatus for reducing noise from a mobile telephone and for protecting the privacy of a mobile telephone user
US7845014B2 (en) * 2003-03-28 2010-11-30 Sony Corporation Method and apparatus for implementing digital rights management
US20040199771A1 (en) * 2003-04-04 2004-10-07 Widevine Technologies, Inc. Method for tracing a security breach in highly distributed content
US20050086069A1 (en) * 2003-07-15 2005-04-21 Kaleidescape, Inc. Separable presentation control rules with distinct control effects
US20050050103A1 (en) * 2003-07-15 2005-03-03 Kaleidescape Displaying and presenting multiple media streams from multiple DVD sets
US8572104B2 (en) 2003-04-18 2013-10-29 Kaleidescape, Inc. Sales of collections excluding those already purchased
JP2005018626A (en) * 2003-06-27 2005-01-20 Ip Flex Kk Method for generating parallel processing system
EP1652061A2 (en) * 2003-07-28 2006-05-03 SanDisk Secure Content Solutions, Inc. System, apparatus and method for controlling a storage device
US7853640B2 (en) * 2003-09-05 2010-12-14 Texas Instruments Incorporated Key distribution
US7406174B2 (en) * 2003-10-21 2008-07-29 Widevine Technologies, Inc. System and method for n-dimensional encryption
DE602005017369D1 (en) * 2004-02-03 2009-12-10 Sandisk Secure Content Solutio PROTECTION OF DIGITAL DATA CONTENT
US7496912B2 (en) * 2004-02-27 2009-02-24 International Business Machines Corporation Methods and arrangements for ordering changes in computing systems
US20050234827A1 (en) * 2004-04-14 2005-10-20 Rudowsky Michael J System for processing executable applications to be suitable for distribution
US20050282607A1 (en) * 2004-06-21 2005-12-22 Michael Gauselmann Game for a gaming device that changes automatically over time
US20060064758A1 (en) * 2004-09-22 2006-03-23 Joe Petner Method for preventing piracy of computer software
US9609279B2 (en) 2004-09-24 2017-03-28 Google Inc. Method and system for providing secure CODECS
US20060080351A1 (en) * 2004-10-12 2006-04-13 Nokia Corporation Super distribution of midlet suites
EP2408202B1 (en) * 2004-11-19 2017-05-17 TiVo Solutions Inc. Method and apparatus for secure transfer and playback of multimedia content
US20080015999A1 (en) * 2005-02-04 2008-01-17 Widevine Technologies, Inc. Securely ingesting encrypted content into content servers
US7818741B1 (en) * 2005-05-17 2010-10-19 Adobe Systems Incorporated Method and system to monitor installation of a software program
US8620259B2 (en) 2005-06-29 2013-12-31 Tti Inventions C Llc Model-driven service creation and management
US7620987B2 (en) * 2005-08-12 2009-11-17 Microsoft Corporation Obfuscating computer code to prevent an attack
US7817608B2 (en) * 2005-09-23 2010-10-19 Widevine Technologies, Inc. Transitioning to secure IP communications for encoding, encapsulating, and encrypting data
US8065733B2 (en) 2005-09-23 2011-11-22 Google, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
WO2007038245A2 (en) 2005-09-23 2007-04-05 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
US8689016B2 (en) 2005-12-02 2014-04-01 Google Inc. Tamper prevention and detection for video provided over a network to a client
US8078788B2 (en) * 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
US9864752B2 (en) * 2005-12-29 2018-01-09 Nextlabs, Inc. Multilayer policy language structure
US7774363B2 (en) 2005-12-29 2010-08-10 Nextlabs, Inc. Detecting behavioral patterns and anomalies using information usage data
US7716240B2 (en) 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
US8526612B2 (en) * 2006-01-06 2013-09-03 Google Inc. Selective and persistent application level encryption for video provided to a client
US20070180231A1 (en) * 2006-01-31 2007-08-02 Widevine Technologies, Inc. Preventing entitlement management message (EMM) filter attacks
US9754265B2 (en) * 2006-05-01 2017-09-05 At&T Intellectual Property I, L.P. Systems and methods to automatically activate distribution channels provided by business partners
US20080065552A1 (en) * 2006-09-13 2008-03-13 Gidon Elazar Marketplace for Transferring Licensed Digital Content
US8839005B2 (en) * 2006-09-13 2014-09-16 Sandisk Technologies Inc. Apparatus for transferring licensed digital content between users
US8555247B2 (en) 2006-10-13 2013-10-08 International Business Machines Corporation Systems and methods for expressing temporal relationships spanning lifecycle representations
US20100242034A1 (en) * 2006-11-01 2010-09-23 Microsoft Corporation Distributing software products as an executable containing script logic with external resources
US20080127175A1 (en) * 2006-11-01 2008-05-29 Microsoft Corporation Packaging software products as single-file executables containing scripting logic
US8438560B2 (en) * 2006-11-07 2013-05-07 Hewlett-Packard Development Company, L.P. Resource assessment method and system
US20080114695A1 (en) * 2006-11-10 2008-05-15 Semantic Components S.L. Process for implementing a method for the on-line sale of software product use licenses through a data network, and software component which allows carrying out said process
US20100250400A1 (en) * 2006-11-10 2010-09-30 Media Patents, S.L. Apparatus and methods for the sale of software products
US8229778B2 (en) 2006-11-16 2012-07-24 International Business Machines Corporation Constructing change plans from component interactions
US8037471B2 (en) * 2006-11-16 2011-10-11 International Business Machines Corporation Systems and methods for constructing relationship specifications from component interactions
US7797746B2 (en) 2006-12-12 2010-09-14 Fortinet, Inc. Detection of undesired computer files in archives
JP5133400B2 (en) * 2007-04-04 2013-01-30 メディア パテンツ エセ.エレ. Online distribution method of digital files protected by intellectual property rights via data network, and computer-readable medium including a program for executing the method
US8621093B2 (en) 2007-05-21 2013-12-31 Google Inc. Non-blocking of head end initiated revocation and delivery of entitlements non-addressable digital media network
US20090007096A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Secure Software Deployments
US8243924B2 (en) 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
EP2203815B1 (en) * 2007-09-20 2015-08-12 Uniloc Luxembourg S.A. Installing protected software product using unprotected installation image
WO2009065526A1 (en) * 2007-11-23 2009-05-28 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
US20110060688A1 (en) * 2007-11-23 2011-03-10 Media Patents, S.L. Apparatus and methods for the distribution of digital files
US9032154B2 (en) 2007-12-13 2015-05-12 Sandisk Technologies Inc. Integration of secure data transfer applications for generic IO devices
US8868464B2 (en) 2008-02-07 2014-10-21 Google Inc. Preventing unauthorized modification or skipping of viewing of advertisements within content
ES2326949B1 (en) * 2008-03-18 2010-07-14 Clarity Systems, S.L. PROCEDURE USED BY A STREAMING SERVER TO MAKE A TRANSMISSION OF A MULTIMEDIA FILE IN A DATA NETWORK.
US7984097B2 (en) * 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US20090287917A1 (en) * 2008-05-19 2009-11-19 Microsoft Corporation Secure software distribution
US9154532B2 (en) * 2009-04-27 2015-10-06 Zaron Remote Llc Methods and apparatus for transmitting multimedia files in a data network
US10068282B2 (en) 2009-06-24 2018-09-04 Uniloc 2017 Llc System and method for preventing multiple online purchases
US8769296B2 (en) 2009-10-19 2014-07-01 Uniloc Luxembourg, S.A. Software signature tracking
US20110154226A1 (en) * 2009-12-21 2011-06-23 Sap Ag Chip model of an extensible plug-in architecture for enterprise mashups
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
US8984480B2 (en) 2012-07-10 2015-03-17 International Business Machines Corporation Automating and/or recommending data sharing coordination among applications in mobile devices
US8832847B2 (en) 2012-07-10 2014-09-09 International Business Machines Corporation Coordinating data sharing among applications in mobile devices
US8935572B2 (en) 2012-09-14 2015-01-13 International Business Machines Corporation Remediating events using behaviors
US10200345B2 (en) 2013-10-29 2019-02-05 Uniloc 2017 Llc Electronic mail sender verification
US10636036B1 (en) * 2014-02-11 2020-04-28 Lee Anthony Greer Copyright clearinghouse system and method
US10839402B1 (en) * 2014-03-24 2020-11-17 EMC IP Holding Company LLC Licensing model for tiered resale
US11900674B2 (en) 2021-07-08 2024-02-13 Bank Of America Corporation System for real-time identification of unauthorized access

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
US5023907A (en) * 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4953209A (en) * 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
US5142578A (en) * 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5327563A (en) * 1992-11-13 1994-07-05 Hewlett-Packard Method for locking software files to a specific storage device
US5341429A (en) * 1992-12-04 1994-08-23 Testdrive Corporation Transformation of ephemeral material
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5666411A (en) * 1994-01-13 1997-09-09 Mccarty; Johnnie C. System for computer software protection
US5530752A (en) * 1994-02-22 1996-06-25 Convex Computer Corporation Systems and methods for protecting software from unlicensed copying and use
US5471526A (en) * 1994-02-28 1995-11-28 Telefonaktiebolaget L M Ericsson (Publ.) Tracing with keys and locks on a telecommunication network
AU2774495A (en) * 1994-06-14 1996-01-05 Edward A Smith Apparatus and method for controlling the registration, paid licensing and metered usage of software products
JPH08101867A (en) * 1994-09-30 1996-04-16 Fujitsu Ltd Software use permission system
US5642417A (en) * 1994-11-25 1997-06-24 Testdrive Corporation Virtualized installation of material
US5745569A (en) * 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
CA2683230C (en) * 1995-02-13 2013-08-27 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
AU7662496A (en) * 1995-10-13 1997-04-30 Netrights, Llc System and methods for managing digital creative works
US5708709A (en) * 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5790664A (en) * 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
US5758069A (en) * 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US5864620A (en) * 1996-04-24 1999-01-26 Cybersource Corporation Method and system for controlling distribution of software in a multitiered distribution chain
US5729594A (en) * 1996-06-07 1998-03-17 Klingman; Edwin E. On-line secured financial transaction system through electronic media

Also Published As

Publication number Publication date
US6009525A (en) 1999-12-28
JP2001515253A (en) 2001-09-18
WO1999012307A1 (en) 1999-03-11
EP1008250A1 (en) 2000-06-14
EP1008250A4 (en) 2004-05-19

Similar Documents

Publication Publication Date Title
US6009525A (en) Multi-tier electronic software distribution
US6009401A (en) Relicensing of electronically purchased software
EP0679979B1 (en) Method and apparatus enabling software trial with a try-and-buy user interaction
US5553143A (en) Method and apparatus for electronic licensing
EP0679977B1 (en) Method and apparatus enabling software trial allowing the distribution of software objects
US6332025B2 (en) Software distribution system and software utilization scheme for improving security and user convenience
US5757907A (en) Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
US6920567B1 (en) System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
CA2095723C (en) Secure system for activating personal computer software at remote locations
US5598470A (en) Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block
US7890430B2 (en) Technique for license management and online software license enforcement
US5737416A (en) Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub
US6044469A (en) Software publisher or distributor configurable software security mechanism
EP1287416B1 (en) System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US20040117664A1 (en) Apparatus for establishing a connectivity platform for digital rights management
US20040225894A1 (en) Hardware based method for digital rights management including self activating/self authentication software
US20040107368A1 (en) Method for digital rights management including self activating/self authentication software
US20040117644A1 (en) Method for reducing unauthorized use of software/digital content including self-activating/self-authenticating software/digital content
US20040117663A1 (en) Method for authentication of digital content used or accessed with secondary devices to reduce unauthorized use or distribution
US20040117628A1 (en) Computer readable storage medium for enhancing license compliance of software/digital content including self-activating/self-authenticating software/digital content
US20040117631A1 (en) Method for digital rights management including user/publisher connectivity interface
JP2001175468A (en) Method and device for controlling use of software
WO2006031127A2 (en) Methods and arrangements for distributing computer programs and user licenses in a secure manner
JP3917125B2 (en) Document security system
KR100573740B1 (en) The drm method and system for the protection of software distribution against illegal copy and illegal use

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued