WO1999062017A9 - Secure electronic software packaging using setup-external unlocking module - Google Patents
Secure electronic software packaging using setup-external unlocking moduleInfo
- Publication number
- WO1999062017A9 WO1999062017A9 PCT/US1999/011384 US9911384W WO9962017A9 WO 1999062017 A9 WO1999062017 A9 WO 1999062017A9 US 9911384 W US9911384 W US 9911384W WO 9962017 A9 WO9962017 A9 WO 9962017A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- software program
- added
- unlocking
- software
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 35
- 238000013475 authorization Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 230000002301 combined effect Effects 0.000 claims 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012917 library technology Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2137—Time limited access, e.g. to a computer or data
Definitions
- the present invention relates to software distribution, particularly electronic software distribution.
- ESD Electronic software distribution
- a software tool for Try/Buy "self-wrapping" of software programs is sold by Preview Software, the present assignee. Using this tool, a software program is "injected" with a code module that performs trial protection and enables electronic purchase of the software program. The injected software program and related files are then packed as a program archive, or setup file set, using a conventional installation tool such as InstallShieldTM installation software.
- InstallShieldTM installation software A secondary setup executable is added outside the program archive and functions to install distribution information and instructions.
- a program executable has added to it trial and commerce information, resulting in a modified executable.
- the modified executable and other files are processed by an installer tool to produce a setup file set, e.g., setup.exe, that is a ready-to-install Try /Buy application.
- the present invention provides for secure electronic software packaging using a setup-external unlocking module.
- a software publisher can produce a single ESD-ready version of a software title that may later be prepared for distribution through multiple different ESD channels by adding channel-specific unlocking modules. Duplication of the injection process prior to the packing of the setup file set is eliminated and great flexibility is achieved.
- the single ESD-ready version allows for trial of the software, e.g., a free 30-day trial.
- Software publishers are incentivized to produce trial versions of their software for marketing purposes. Once such a trial version of a software title has been produced, no further modifications are required on the part of the software publisher in order to distribute the software through various different channels.
- the software publisher produces a trial version of a software title using a technology provider tool to inject the program executable with "guard code” referred to herein as a protection module.
- the protection module allows the program to be run only in accordance with trial parameters specified by the software publisher.
- the protection module will typically lack commerce capabilities required in order to purchase the software, i.e., obtain unlimited usage of the software or at least usage beyond the original trial period.
- a conventional installation tool is used to produce a setup file set.
- the BOB can be downloaded and tried but cannot be purchased. That is, unlike competing technologies, the BOBs at his point are fully functional trial versions that can be tested and tried without adding purchase capabilities.
- a technology provider tool is used to add an unlocking module to the BOB, together with a secondary license file, adding necessary commerce parameters.
- the unlocking module and secondary license file are added outside the BOB (i.e., the setup file set), which cannot be readily penetrated.
- the unlocking module has both trial monitoring capabilities and commerce capabilities.
- the augmented software program may then be delivered from a server that functions as part of a BOB farm where a collection of wrapped software programs (Bags of Bits, or BOBs) are maintained.
- the protection module checks whether a unlocking module is present. If not, the protection module handles trial protection.
- the protection module uses a defined mechanism for communication between the protection module and the unlocking module to authenticate the unlocking module. If the unlocking module is authenticated, the protection module then cooperates with the unlocking module. Through the unlocking module, the software program may be tried and then unlocked at any time. In a typical embodiment, unlocking is predicated upon transmitting payment to a payment clearinghouse and receiving authorization. Alternatively, the unlocking module may read and verify an electronic license that the end-user has purchased, or communicate with a license server that stores electronic licenses and dispenses authorization to execute software programs. 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 diagram of a software wrapping process;
- FIG. 2 is a diagram of software wrapping process in accordance with the present invention.
- Figure 3 is a block diagram of a software distribution system
- FIG. 4 is a block diagram of a Try /Buy application installed on an end user machine
- Figure 5 is a screen display produced by a typical unlocking module client
- Figure 6 is a block diagram illustrating authentication features of the license files read by the trial module and the unlocking module.
- Figure 7 is a diagram showing authentication of an unlocking module.
- a program executable has added to it trial information only, resulting in a modified executable.
- the modified executable and other files are processed by an installer tool to produce a setup file set, e.g., setup.exe, that is a ready-to-install trial-only application.
- a commerce "brander" is then used to add commerce parameters to the trial-only application. These parameters may include the name of the merchant, the price of the product, phone numbers or email address to use for support during the purchase process, the choice of commerce method (e.g., phone or Internet unlock) and the basic SKUs and product IDs used to track sales.
- There results a ready-to-install Try /Buy application e.g.
- the Try /Buy application is made up of the trial-only application (setup.exe), a secondary installer, the unlocking module, and commerce information.
- a technology provider tool is used to inject a trial module into the program.
- the tool used to perform injection is referred to herein as a VboxTM builder tool, or virtual box builder tool.
- a virtual box is a smart software container of a type described herein.
- the Vbox builder produces a trial version of the program as described previously in relation to Figure 2.
- the trial version may be distributed directly by the software publisher or may be distributed through various channels.
- the trial version may be "time-bombed" such that after a period of time the software publisher may be assured that no copies are functional.
- the trial version may also be hosted within a BOB farm and from the BOB farm be distributed through various channels.
- a commerce builder tool may be used to turn the trial version into a Try/Buy version.
- the conversion from trial-only to Try /Buy may be performed by the software publisher, and the trial version may be distributed directly by the software publisher.
- the conversion may be performed by various channel partners, and the resulting Try/Buy version may be distributed through various channels.
- the conversion may be performed by various channel partners using a trial version hosted within a BOB farm. The resulting Try/Buy versions are then distributed through various channels.
- each Try /Buy version may be different.
- the commerce methods of the various Try /Buy versions need not be the same.
- the commerce methods may include electronic purchase, telephone purchase, rental, pay-per-use, subscription, etc.
- new commerce methods may be implemented in the form of new commerce modules without altering the trial module, without requiring re-injection of the original executables, and without changes to the setup file set.
- the software version includes the original software, a trial DLL, and a primary license file, and may include an unlocking DLL and a secondary license file, indicated in dashed lines.
- file is used in a general sense to denote a container of digital information.
- DLL is used to describe any dynamic link library technology.
- the trial DLL checks for the presence of the unlocking DLL.
- the secondary license file is created, which may later be merged with the primary license file.
- the secondary license file may include server information and one or more keys to be used to unlock or purchase the software.
- the secondary license file may contain keys required for secure Internet communication and/or a phone unlock key required for phone purchase.
- the secondary license file identifies the name and location of the unlocking DLL. If the trial DLL, in reading the secondary license file, determines that an unlocking DLL is available, then the trial DLL knows to load the unlocking DLL.
- the trial DLL reads the primary license file and controls execution of the software accordingly.
- the license file may specify a 30-day trial.
- the trial DLL stores encrypted trial parameters, such as number of days since installation, in persistent storage such as within the operating system registry. If the days installed trial parameter is 30 or less, then the trial DLL (in the case of a 30-day trial) will allow execution of the software. After the trial limit has been exceeded, then the trial DLL will not allow execution of the software.
- the trial DLL invokes the unlocking DLL.
- the unlocking DLL is a superset of the trial DLL and includes both trial and commerce functionality.
- the primary license file is a subset of the secondary license file.
- the unlocking DLL runs, reads the primary license file and controls execution of the software accordingly.
- not all comers may be allowed to add unlocking capabilities to and to sell a trial software version indiscriminately.
- a mechanism must be established whereby the software publisher can exercise control over who is able to add unlocking capabilities to and to sell a software application. This control mechanism is established by including as part of the trial DLL and authorized unlocking DLLs a shared secret.
- the trial DLL checks for an unlocking DLL, it also authenticates the unlocking DLL to ensure that the unlocking DLL is authorized to sell the software.
- the Vbox builder tool 601 uses a privilege file 603 that includes a public/private key pair.
- the public key 605 is stored with trial state information 607 that is guarded by the trial module (not shown).
- the private key 609 is encrypted and added to a license information file 611, external to a setup file set and therefore accessible without requiring penetration of the setup file set.
- the commerce builder tool 613 obtains the encrypted private key 609 from the primary license file 611, decrypts it, and uses it to sign the secondary license file 615.
- the trial module retrieves the public key 605 from the trial state information 607 and uses it to perform authentication of the secondary license file 615.
- the trial DLL may employ to authenticate the unlocking DLL.
- the technology provider creates a public/private key pair (Pub', Priv').
- the private key is used to sign the unlocking DLLs provided by the technology provider.
- the matching public key is embedded in e trial DLL.
- the matching public key is embedded in the trial DLL.
- the trial DLL starts, it authenticates the secondary license file, as previously described, reads the name of the unlocking DLL from the secondary license file, locates the unlocking DLL, and then verifies its signature, using the matching public key.
- the trial DLL alone, or the trial DLL and the unlocking DLL together may be referred to as a Vbox client.
- the client runs before the rest of the application, before any splash screens, login prompts, tips of the day, or other startup tasks.
- the client is the only part of the application that is visible at launch until the end user starts the trial or successfully purchase the application.
- Publisher and product information 501 and an icon 503 are all set by the merchant.
- the message 505, also set by the merchant, depends on the state of the client (e.g, first-time, in-trial, or expired).
- the end user clicks on a Buy Now button 507 to proceed with purchase. In the case of Try /Buy only, a Try First button 509 is visible during the trial period.
- a trial usage meter 511 show the end user how much of the trial is left.
- the software publisher can specify that the end user must register before using the application, in which case the end user must enter their basic name and email information into the application before the application will be allowed to run.
- the client interface is enhanced with the addition of the merchant's merchandising information.
- the "Buy Now" button is added, allowing the end user to directly purchase the application. Once the application has been purchased, the client window will not show up anymore, but part of the client will still run at every invocation of the application, protecting the application from illegal use.
- the BOB to which an unlocking module is to be added is a trial version of a software product.
- the BOB may be a Buy/Try enabled software product, i.e., commerce enabled but not trial enabled. It may be desirable to add a module that includes commerce capabilities or different commerce methods. What has heretofore been referred to as the trial module may therefore be more generally referred to as the default module, and the unlock module may be more generally referred to as the added module.
- the added module when called, functions in place of the default module.
- the added module may in some or all instances return control to the default module.
- the default module calls the added module, which assists the default module in some way (e.g., by displaying a Buy control and supplying code that directs a purchase or payment transaction if the control is activated). The added module then returns control to the default module.
- a further issue relates to the ability to wrap multiple executables in a coordinated manner.
- the trial builder tool is designed to provide this capability.
- the software publisher specifies which executable(s) and/or code libraries need to be wrapped, and the Vbox builder tool then injects each of them in a secure, coordinated manner.
- the Vbox client will execute. If the end-user then runs a second wrapped application that is part of the same product, if a first related product is still running, the Vbox client will execute transparently, without showing the usual dialog. The perception by the user of a single product is therefore maintained. Furthermore, when the user purchases the application, all of its executables are unlocked together.
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/082,964 US6243692B1 (en) | 1998-05-22 | 1998-05-22 | Secure electronic software packaging using setup-external unlocking module |
US09/082,964 | 1998-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1999062017A1 WO1999062017A1 (en) | 1999-12-02 |
WO1999062017A9 true WO1999062017A9 (en) | 2000-06-08 |
Family
ID=22174569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1999/011384 WO1999062017A1 (en) | 1998-05-22 | 1999-05-21 | Secure electronic software packaging using setup-external unlocking module |
Country Status (2)
Country | Link |
---|---|
US (1) | US6243692B1 (en) |
WO (1) | WO1999062017A1 (en) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089212B2 (en) * | 1992-12-15 | 2006-08-08 | Sl Patent Holdings Llc | System and method for controlling access to protected information |
US6266654B1 (en) * | 1992-12-15 | 2001-07-24 | Softlock.Com, Inc. | Method for tracking software lineage |
US7831516B2 (en) * | 1992-12-15 | 2010-11-09 | Sl Patent Holdings Llc | System and method for redistributing and licensing access to protected information among a plurality of devices |
US7209901B2 (en) | 1992-12-15 | 2007-04-24 | Sl Patent Holdings Llc C/O Aol Time Warner | Method for selling, protecting, and redistributing digital goods |
US7770230B2 (en) * | 2002-04-22 | 2010-08-03 | Arvato Digital Services Canada, Inc. | System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software |
US7356847B2 (en) * | 1996-06-28 | 2008-04-08 | Protexis, Inc. | System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software |
US6859699B2 (en) | 1997-05-16 | 2005-02-22 | Snap-On Incorporated | Network-based method and system for distributing data |
US20040117664A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Apparatus for establishing a connectivity platform for digital rights management |
US20040117631A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Method for digital rights management including user/publisher connectivity interface |
US20040117628A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Computer readable storage medium for enhancing license compliance of software/digital content including self-activating/self-authenticating software/digital content |
US20040225894A1 (en) * | 1998-06-04 | 2004-11-11 | Z4 Technologies, Inc. | Hardware based method for digital rights management including self activating/self authentication software |
US20040107368A1 (en) * | 1998-06-04 | 2004-06-03 | Z4 Technologies, Inc. | Method for digital rights management including self activating/self authentication software |
US6986063B2 (en) * | 1998-06-04 | 2006-01-10 | Z4 Technologies, Inc. | Method for monitoring software using encryption including digital signatures/certificates |
US6044471A (en) | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US20040117644A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Method for reducing unauthorized use of software/digital content including self-activating/self-authenticating software/digital content |
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 |
US6658571B1 (en) * | 1999-02-09 | 2003-12-02 | Secure Computing Corporation | Security framework for dynamically wrapping software applications executing in a computing system |
US6601046B1 (en) * | 1999-03-25 | 2003-07-29 | Koninklijke Philips Electronics N.V. | Usage dependent ticket to protect copy-protected material |
US6973444B1 (en) * | 1999-03-27 | 2005-12-06 | Microsoft Corporation | Method for interdependently validating a digital content package and a corresponding digital license |
US7024393B1 (en) * | 1999-03-27 | 2006-04-04 | Microsoft Corporation | Structural of digital rights management (DRM) system |
US6769130B1 (en) | 2000-01-20 | 2004-07-27 | Interactual Technologies, Inc. | System, method and article of manufacture for late synchronization during the execution of a multimedia event on a plurality of client computers |
US6529949B1 (en) * | 2000-02-07 | 2003-03-04 | Interactual Technologies, Inc. | System, method and article of manufacture for remote unlocking of local content located on a client device |
US6453420B1 (en) | 1999-04-21 | 2002-09-17 | Research Investment Network, Inc. | System, method and article of manufacture for authorizing the use of electronic content utilizing a laser-centric medium |
US7988559B2 (en) | 2001-03-08 | 2011-08-02 | Igt | Computerized gaming system, method and apparatus |
US7043641B1 (en) | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
JP2001312325A (en) * | 2000-04-28 | 2001-11-09 | Hitachi Ltd | Method and system for issuing program license key |
US7218921B2 (en) * | 2000-05-12 | 2007-05-15 | Chikka Pte Ltd | Method and system for inviting and creating accounts for prospective users of an instant messaging system |
US6941353B1 (en) * | 2000-06-29 | 2005-09-06 | Auran Holdings Pty Ltd | E-commerce system and method relating to program objects |
US7689510B2 (en) | 2000-09-07 | 2010-03-30 | Sonic Solutions | Methods and system for use in network management of content |
US7237123B2 (en) * | 2000-09-22 | 2007-06-26 | Ecd Systems, Inc. | Systems and methods for preventing unauthorized use of digital content |
US6866587B1 (en) | 2000-09-25 | 2005-03-15 | Auran Holdings Pty Ltd. | Wide area real-time software environment |
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 |
US7260845B2 (en) * | 2001-01-09 | 2007-08-21 | Gabriel Kedma | Sensor for detecting and eliminating inter-process memory breaches in multitasking operating systems |
US20070219918A1 (en) * | 2001-01-19 | 2007-09-20 | Jonathan Schull | System and method for controlling access to protected information |
US6931548B2 (en) * | 2001-01-25 | 2005-08-16 | Dell Products L.P. | System and method for limiting use of a software program with another software program |
US7328453B2 (en) * | 2001-05-09 | 2008-02-05 | Ecd Systems, Inc. | Systems and methods for the prevention of unauthorized use and manipulation of digital content |
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 |
CA2460046C (en) * | 2001-09-10 | 2014-06-10 | Igt | Method for developing gaming programs compatible with a computerized gaming operating system and apparatus |
US8708828B2 (en) | 2001-09-28 | 2014-04-29 | Igt | Pluggable modular gaming modifiers and configuration templates for gaming environments |
US7931533B2 (en) | 2001-09-28 | 2011-04-26 | Igt | Game development architecture that decouples the game logic from the graphics logics |
US6902481B2 (en) | 2001-09-28 | 2005-06-07 | Igt | Decoupling of the graphical presentation of a game from the presentation logic |
US7392517B2 (en) * | 2001-10-04 | 2008-06-24 | International Business Machines Corporation | Extracting information from software |
US20030070160A1 (en) * | 2001-10-04 | 2003-04-10 | International Business Machines Corporation | Embedding information in software |
WO2003044662A1 (en) * | 2001-11-15 | 2003-05-30 | Aladdin Knowledge Systems, Ltd. | Incrementally increasing or decreasing the available functionalities of a computer program |
CN1599896B (en) | 2001-12-06 | 2013-03-20 | 美国丰田汽车销售公司 | Method for selecting and playing multimedia and multimedia player |
US7219222B1 (en) * | 2002-01-18 | 2007-05-15 | Ge Medical Technology Services, Inc. | Method and system to grant access to software options resident on a medical imaging device |
US8216071B2 (en) * | 2002-03-20 | 2012-07-10 | Intel Corporation | Method and apparatus for software delivery and management |
CA2485053A1 (en) * | 2002-05-10 | 2003-11-20 | Protexis Inc. | System and method for multi-tiered license management and distribution using networked clearinghouses |
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 |
US20030110094A1 (en) * | 2002-07-25 | 2003-06-12 | Sony Corporation | System and method for wireless viral software distribution |
JP4001536B2 (en) * | 2002-10-09 | 2007-10-31 | 富士通株式会社 | Personal data protection distribution method and program |
US20040126750A1 (en) * | 2002-11-15 | 2004-07-01 | Wolfgang Theilmann | Versioning electronic learning objects |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7668752B2 (en) * | 2003-03-13 | 2010-02-23 | Realnetworks, Inc. | System and method for the distribution of software products |
JP2005018626A (en) * | 2003-06-27 | 2005-01-20 | Ip Flex Kk | Method for generating parallel processing system |
US20070111180A1 (en) * | 2005-10-24 | 2007-05-17 | Sperle Robin U | Delivery methods for remote learning system courses |
US20110159472A1 (en) * | 2003-07-15 | 2011-06-30 | Hagen Eck | Delivery methods for remote learning system courses |
US20050027608A1 (en) * | 2003-07-29 | 2005-02-03 | Andreas Wiesmuller | System and method for providing commercial services over a wireless communication network |
EP1550933A1 (en) * | 2003-10-31 | 2005-07-06 | Sap Ag | Securely providing user-specific application versions |
US20050097343A1 (en) * | 2003-10-31 | 2005-05-05 | Michael Altenhofen | Secure user-specific application versions |
US7836301B2 (en) * | 2004-03-10 | 2010-11-16 | Harris Steven M | Computer program for securely viewing a file |
US20050234827A1 (en) * | 2004-04-14 | 2005-10-20 | Rudowsky Michael J | System for processing executable applications to be suitable for distribution |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
WO2006066052A2 (en) | 2004-12-16 | 2006-06-22 | Sonic Solutions | Methods and systems for use in network management of content |
US20060161968A1 (en) * | 2004-12-21 | 2006-07-20 | Nintendo Co., Ltd. | Method and apparatus for secure delivery and evaluation of prototype software over a network |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US9436804B2 (en) | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US7818741B1 (en) * | 2005-05-17 | 2010-10-19 | Adobe Systems Incorporated | Method and system to monitor installation of a software program |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
US20070122790A1 (en) * | 2005-10-24 | 2007-05-31 | Sperle Robin U | Monitoring progress of external course |
US20070111183A1 (en) * | 2005-10-24 | 2007-05-17 | Krebs Andreas S | Marking training content for limited access |
US8121985B2 (en) * | 2005-10-24 | 2012-02-21 | Sap Aktiengesellschaft | Delta versioning for learning objects |
US7840175B2 (en) | 2005-10-24 | 2010-11-23 | S&P Aktiengesellschaft | Method and system for changing learning strategies |
US8571462B2 (en) | 2005-10-24 | 2013-10-29 | Sap Aktiengesellschaft | Method and system for constraining learning strategies |
US7756893B2 (en) * | 2005-11-09 | 2010-07-13 | Microsoft Corporation | Independent computation environment and data protection |
US8112798B2 (en) * | 2005-11-09 | 2012-02-07 | Microsoft Corporation | Hardware-aided software code measurement |
US20070265980A1 (en) * | 2006-05-15 | 2007-11-15 | Mukesh Sehgal | Systems and methods for managing, maximizing and clearing contractually based media assets |
US7987512B2 (en) * | 2006-05-19 | 2011-07-26 | Microsoft Corporation | BIOS based secure execution environment |
US20070288389A1 (en) * | 2006-06-12 | 2007-12-13 | Vaughan Michael J | Version Compliance System |
US20080005560A1 (en) * | 2006-06-29 | 2008-01-03 | Microsoft Corporation | Independent Computation Environment and Provisioning of Computing Device Functionality |
US10339276B2 (en) * | 2006-07-24 | 2019-07-02 | Nokia Technologies Oy | Method, apparatus and computer program product for continuously providing a license to a network element via a remote connection |
CN100555939C (en) * | 2006-09-20 | 2009-10-28 | 北京飞天诚信科技有限公司 | A kind of based on network method for protecting software |
US20080104710A1 (en) * | 2006-09-29 | 2008-05-01 | Microsoft Corporation | Software utilization grace period |
US8234161B1 (en) * | 2006-10-05 | 2012-07-31 | Victor Sazhin Group Ltd. | System and method for internet community building, website popularization and distribution of E-commerce products |
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 |
US8239274B2 (en) | 2007-01-11 | 2012-08-07 | Microsoft Corporation | Purchasing of individual features of a software product |
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 |
JP4982256B2 (en) * | 2007-06-04 | 2012-07-25 | 京セラドキュメントソリューションズ株式会社 | Electronic device, application authentication method, application execution system, and application execution program |
US20090089864A1 (en) * | 2007-09-28 | 2009-04-02 | Nokia Corporation | Remote management of telecommunications network element during license expire and renewal period |
US8644755B2 (en) | 2008-09-30 | 2014-02-04 | Sap Ag | Method and system for managing learning materials presented offline |
WO2012064331A1 (en) * | 2010-11-12 | 2012-05-18 | Hewlett-Packard Development Company, L.P. | Determine authorization of a software product based on a first and second authorization item |
US8904174B2 (en) | 2011-03-22 | 2014-12-02 | International Business Machines Corporation | System, method and computer program product for product license management |
CN104504324B (en) * | 2014-12-03 | 2017-09-29 | 深信服科技股份有限公司 | Mobile solution certification reinforcement means and system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4118789A (en) * | 1977-06-06 | 1978-10-03 | Allen-Bradley Company | Program protection module for programmable controller |
US5014234A (en) * | 1986-08-25 | 1991-05-07 | Ncr Corporation | System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software |
US5155680A (en) * | 1986-10-24 | 1992-10-13 | Signal Security Technologies | Billing system for computing software |
US4930073A (en) * | 1987-06-26 | 1990-05-29 | International Business Machines Corporation | Method to prevent use of incorrect program version in a computer system |
US5023907A (en) * | 1988-09-30 | 1991-06-11 | Apollo Computer, Inc. | Network license server |
JPH0799497B2 (en) * | 1990-12-14 | 1995-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Device and method for controlling the use of software |
DE69228039T2 (en) * | 1991-05-08 | 1999-08-05 | Digital Equipment Corp | LICENSE MANAGEMENT SYSTEM |
WO1993011480A1 (en) * | 1991-11-27 | 1993-06-10 | Intergraph Corporation | System and method for network license administration |
US5341429A (en) * | 1992-12-04 | 1994-08-23 | Testdrive Corporation | Transformation of ephemeral material |
JP3553993B2 (en) * | 1993-08-30 | 2004-08-11 | キヤノン株式会社 | Program use contract management method and program execution device |
JPH07230380A (en) * | 1994-02-15 | 1995-08-29 | Internatl Business Mach Corp <Ibm> | Method and system for controlling utilization of application program |
JPH07244781A (en) * | 1994-03-07 | 1995-09-19 | C S K Sogo Kenkyusho:Kk | Method and device for renting software and circulation medium |
FR2720532B1 (en) * | 1994-05-25 | 1997-09-12 | Vincent Lorphelin | Secure software rental system with memory card. |
DE9420092U1 (en) * | 1994-12-15 | 1995-02-02 | Marx Datentechnik Gmbh | Software protection module |
US5758068A (en) * | 1995-09-19 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for software license management |
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 |
US5864620A (en) * | 1996-04-24 | 1999-01-26 | Cybersource Corporation | Method and system for controlling distribution of software in a multitiered distribution chain |
US5915018A (en) * | 1996-11-05 | 1999-06-22 | Intel Corporation | Key management system for DVD copyright management |
US5974549A (en) * | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
US6044469A (en) * | 1997-08-29 | 2000-03-28 | Preview Software | Software publisher or distributor configurable software security mechanism |
US6009401A (en) * | 1998-04-06 | 1999-12-28 | Preview Systems, Inc. | Relicensing of electronically purchased software |
-
1998
- 1998-05-22 US US09/082,964 patent/US6243692B1/en not_active Expired - Lifetime
-
1999
- 1999-05-21 WO PCT/US1999/011384 patent/WO1999062017A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO1999062017A1 (en) | 1999-12-02 |
US6243692B1 (en) | 2001-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6243692B1 (en) | Secure electronic software packaging using setup-external unlocking module | |
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 | |
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 | |
US7752139B2 (en) | Method and system for managing software licenses and reducing unauthorized use of software | |
US7584512B2 (en) | Restricted software and hardware usage on a computer | |
US6289452B1 (en) | Method and system for delivering digital products electronically | |
US6073124A (en) | Method and system for securely incorporating electronic information into an online purchasing application | |
US6108420A (en) | Method and system for networked installation of uniquely customized, authenticable, and traceable software application | |
AU750272B2 (en) | Method and system of dynamic transformation of encrypted material | |
US7457412B2 (en) | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party | |
US20020107809A1 (en) | System and method for licensing management | |
US20020087876A1 (en) | Adaptive software installation process supporting multiple layers of security-related attributes | |
US20140172720A1 (en) | Method and system for securely incorporating electronic information into an online purchasing application | |
WO2000016229A1 (en) | Server-side commerce for deliver-then-pay content delivery | |
JP2004500649A (en) | How to use software products provided via a network | |
US20040073789A1 (en) | Method for collaborative software licensing of electronically distributed computer programs | |
WO2006031127A2 (en) | Methods and arrangements for distributing computer programs and user licenses in a secure manner | |
WO2003093952A2 (en) | Method and system for providing secure authoring services for protected software | |
EP1174786A2 (en) | Method, system, and program for reusing software licenses with new computer hardware | |
US7197144B1 (en) | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users | |
US20050108170A1 (en) | Secured method and apparatus for selling and distributing software and related services | |
WO2001001225A1 (en) | A system, method and article of manufacture for automatically generating a tailored license agreement | |
Dahlem et al. | A Pervasive Application Rights Management Architecture (PARMA) based on ODRL. | |
WO2000075758A1 (en) | Protection against unauthorized use of software products |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA JP 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: C2 Designated state(s): CA JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/7-7/7, DRAWINGS, REPLACED BY NEW PAGES 1/4-4/4; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
122 | Ep: pct application non-entry in european phase |