WO2002029528A2 - System and method for preventing software piracy - Google Patents

System and method for preventing software piracy Download PDF

Info

Publication number
WO2002029528A2
WO2002029528A2 PCT/US2001/018471 US0118471W WO0229528A2 WO 2002029528 A2 WO2002029528 A2 WO 2002029528A2 US 0118471 W US0118471 W US 0118471W WO 0229528 A2 WO0229528 A2 WO 0229528A2
Authority
WO
WIPO (PCT)
Prior art keywords
component
software
hardware component
hardware
computer system
Prior art date
Application number
PCT/US2001/018471
Other languages
French (fr)
Other versions
WO2002029528A3 (en
Inventor
Charles R. Boswell
Timothy C. Maleck
Terry Lynn Cole
Original Assignee
Advanced Micro Devices, Inc.
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 Advanced Micro Devices, Inc. filed Critical Advanced Micro Devices, Inc.
Priority to EP01944339A priority Critical patent/EP1352305A2/en
Priority to KR10-2003-7004887A priority patent/KR20030036895A/en
Priority to JP2002533037A priority patent/JP2004515845A/en
Priority to AU2001266762A priority patent/AU2001266762A1/en
Publication of WO2002029528A2 publication Critical patent/WO2002029528A2/en
Publication of WO2002029528A3 publication Critical patent/WO2002029528A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • 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]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client

Definitions

  • TITLE SYSTEM AND METHOD FOR PREVENTING SOFTWARE PIRACY
  • This invention relates to computer software, and more particularly, to mechanisms for preventing software pnacy.
  • Hardware techniques may also be used, but these can be expensive and cumbersome.
  • Such hardware techniques may include simple hardware dongles and coprocessor dongles (a dongle is a device that couples to a computer to control access to a given application).
  • a simple hardware dongle may implement a simple inquiry/response protocol, wherein a software routine may poll the hardware for specific responses.
  • a coprocessor dongle utilizes complex function call interaction. The software may treat the dongle like a function and pass parameters to obtain answers that are algorithm dependent. This technique is much more difficult to defeat than a simple hardware dongle, but it is still vulnerable.
  • Soft peripherals are another area where software piracy is a concern.
  • Soft peripherals include such devices as soft modems and soft network interfaces.
  • a soft peripheral may replace a majority of hardware functions with software.
  • a soft modem may replace most of the modem's hardware functions with software, leaving only a CODEC (coder/decoder) and other essential circuitry to be implemented with hardware.
  • CODEC coder/decoder
  • a code may be embedded into the CODEC, and the soft modem may be configured to function only when the software successfully reads this code.
  • a large number of counterfeit CODECs may be manufactured, thereby allowing widespread illegal distribution of the soft modem.
  • a person intending to counterfeit the CODEC may use a logic analyzer or other piece of test equipment to determine the internal logic of the device, thereby enabling them to copy it.
  • the system may comprise a hardware component as well as first and second software components.
  • the hardware component may have a first software component stored within.
  • the first software component may allow the hardware component to work, but with a reduced functionality. For example, if the hardware and software components comprise a 56k modem, the first software component may allow the modem (the hardware component) to operate at a speed of no greater than 14.4 k. Since the first software component may cause the hardware component to operate with reduced functionality, a user of the device may have sufficient motivation to obtain a second software component which may afford full functionality to the hardware component.
  • a second software component may be obtained by a download, which may be accomplished through a dial-up connection or an Internet connection.
  • a user may be required to register the hardware component and the second software component. With registration complete, the second software component may then be downloaded. The second software component, once downloaded, may then allow the hardware component to operate with its full, intended functionality.
  • the hardware component may include a unique serial number.
  • the software once downloaded, may read the serial number and configure itself to function properly with this serial number exclusively. This may be an effective means of preventing the software to be illegally copied, as the software may be unable to fully function with hardware components having different serial numbers.
  • the hardware component may comprise hardware for a peripheral device, such as a modem, network interface, CD-ROM (compact disk read-only memory), or other peripheral device.
  • the software components of these embodiments may be drivers that allow the software to function correctly.
  • a first software component may be stored or embedded in the hardware component, and may be a "crippled" driver, allowing the hardware only reduced functionality.
  • the second software component may be a driver which allows the device full functionality, and may be obtained by downloading after being registered by a user of the computer system.
  • the hardware component may be a computer system motherboard.
  • the software components may comprise an operating system.
  • the motherboard may include at least one processor, which may have a unique serial number. Other devices on the computer motherboard may also have unique serial numbers.
  • the first software component may be a version of the operating system with a reduced number of features. Alternatively, the first software component may be configured to cause the computer system to operate at a reduced speed for a processor, system bus, or both.
  • the second software component may be a full- featured version of the operating system, and may be configured to allow the computer system to operate at full speed.
  • the system and method for preventing software piracy may be an effective means of preventing unauthorized copying of software.
  • the software By configuring the software to function exclusively with a hardware component having a unique serial number, it may become difficult to proliferate unauthorized copies. It may be necessary for potential counterfeiters to reproduce the serialized hardware component in order to be able to distribute working copies of counterfeit software. This may increase the costs of counterfeiting to a point that it is no longer cost effective.
  • Figure 1 is a block diagram of one embodiment of a computer system in which the system and method for preventing software piracy may be implemented;
  • Figure 2 is a block diagram illustrating a connection of one embodiment of a computer system to a software repository/database for downloading and registering a fully functioning software component
  • Figure 3 is a flow diagram of one embodiment of the method for preventing software piracy
  • Figure 4 is a block diagram illustrating one embodiment of a computer system with a serialized microprocessor in which the system for preventing software piracy may be implemented;
  • Figure 5 is a block diagram of one embodiment of a computer system with a peripheral device in which the system for preventing software piracy may be implemented.
  • FIG. 1 a block diagram of one embodiment of a computer system 200 including processor 10 coupled to a variety of system components through a bus bridge 202 is shown. Other embodiments are possible and contemplated. The embodiment shown may include hardware and software components configured for preventing software piracy as described herein.
  • a main memory 204 is coupled to bus bridge 202 through a memory bus 206
  • a graphics controller 208 is coupled to bus bridge 202 through an AGP bus 210.
  • a plurality of PCI devices 212A-212B are coupled to bus bridge 202 through a PCI bus 214.
  • a secondary bus bridge 216 may further be provided to accommodate an electrical interface to one or more EISA or ISA devices 218 through an EISA/ISA bus 220.
  • Processor 10 is coupled to bus bridge 202 through a CPU bus 224 and to an optional L2 cache 228.
  • Bus bridge 202 provides an interface between processor 10, main memory 204, graphics controller 208, and devices attached to PCI bus 214.
  • bus bridge 202 identifies the target of the operation (e.g. a particular device or, in the case of PCI bus 214, that the target is on PCI bus 214).
  • Bus bridge 202 routes the operation to the targeted device.
  • Bus bridge 202 generally translates an operation from the protocol used by the source device or bus to the protocol used by the target device or bus.
  • secondary bus bridge 216 may further incorporate additional functionality, as desired.
  • An input/output controller (not shown), either external from or integrated with secondary bus bridge 216, may also be included within computer system 200 to provide operational support for a keyboard and mouse 222 and for various serial and parallel ports, as desired.
  • An external cache unit (not shown) may further be coupled to CPU bus 224 between processor 10 and bus bridge 202 in other embodiments. Alternatively, the external cache may be coupled to bus bridge 202 and cache control logic for the external cache may be integrated into bus bridge 202.
  • L2 cache 228 is further shown in a backside configuration to processor 10. It is noted that L2 cache 228 may be separate from processor 10, integrated into a cartridge (e.g. slot 1 or slot A) with processor 10, or even integrated onto a semiconductor substrate with processor 10.
  • Main memory 204 is a memory in which application programs are stored and from which processor 10 primarily executes.
  • a suitable main memory 204 comprises DRAM (Dynamic Random Access Memory).
  • DRAM Dynamic Random Access Memory
  • SDRAM Serial DRAM
  • RDRAM Rambus DRAM
  • PCI devices 212A-212B are illustrative of a variety of peripheral devices such as, for example, network interface cards, video accelerators, audio cards, hard or floppy disk drives ' or drive controllers, SCSI (Small Computer Systems Interface) adapters and telephony cards.
  • ISA device 218 is illustrative of various types of peripheral devices, such as a modem, a sound card, and a variety of data acquisition cards such as GPIB or field bus interface cards.
  • Graphics controller 208 is provided to control the rendering of text and images on a display 226.
  • Graphics controller 208 may embody a typical graphics accelerator generally known in the art to render three-dimensional data structures which can be effectively shifted into and from main memory 204.
  • Graphics controller 208 may therefore be a master of AGP bus 210 in that it can request and receive access to a target interface within bus bridge 202 to thereby obtain access to main memory 204.
  • a dedicated graphics bus accommodates rapid retrieval of data from main memory 204.
  • graphics controller 208 may further be configured to generate PCI protocol transactions on AGP bus 210.
  • the AGP interface of bus bridge 202 may thus include functionality to support both AGP protocol transactions as well as PCI protocol target and initiator transactions.
  • Display 226 is any electronic display upon which an image or text can be presented.
  • a suitable display 226 includes a cathode ray tube ("CRT"), a liquid crystal display (“LCD”), etc.
  • computer system 200 may be a multiprocessing computer system including additional processors (e.g. processor 10a shown as an optional component of computer system 200).
  • processor 10a may be similar to processor 10. More particularly, processor 10a may be an identical copy of processor 10.
  • Processor 10a may be connected to bus bridge 202 via an independent bus (as shown in Fig. 5) or may share CPU bus 224 with processor 10.
  • processor 10a may be coupled to an optional L2 cache 228a similar to L2 cache 228.
  • FIG. 2 a block diagram illustrating a connection of one embodiment of a computer system to a software repository/database for downloading and registering a fully functioning software component is shown.
  • computer system 200 is connected to a database/repository 300 of a software publisher through an Internet service provider (ISP) 350.
  • ISP Internet service provider
  • the connection between computer system 200 and ISP 350 may be through a network connection or a dial-up connection. Alternate embodiments are possible and contemplated wherein computer 200 may connect directly to database/repository 300 through a dial-up connection (with no ISP).
  • Computer system 200 may be equivalent to the computer system 200 of Figure 1, or may be a computer system based on a different architecture.
  • a user of computer system 200 may, after installation of a hardware component, transmit registration information through ISP 350 to database/repository 300.
  • the hardware component may be a peripheral device, such as a modem, network interface card, compact disk read-only memory (CD-ROM) drive, or other device.
  • the hardware component may also be a motherboard of computer system 200.
  • a first software component may be stored in the hardware component of computer system 200, and may allow the hardware component to operate with limited functionality. For example, if the hardware component is a 56k modem, the first software component may be a driver which limits the baud rate of the modem to 14.4k. In another example, if the hardware component is a computer system motherboard, the first software component may an operating system with a reduced number of features, and may also be configured to cause the computer system to operate at a reduced clock speed.
  • Database/repository 300 may be configured to receive registration information from computer system 200. The registration information may then be stored in a database, and may be used by a user of computer system 200 for future upgrades to the software being registered. Database/repository may also be configured to store fully functioning versions of the software associated with the hardware component within computer system 200.
  • database/repository 300 may then allow a download a second software component, which may be a fully functioning version of the software associated with the hardware component of computer system 200. Once downloaded, the second software component may allow the hardware component to operate with its full, intended functionality.
  • FIG. 3 is a flow diagram of one embodiment of the method for preventing software piracy.
  • Method 400 begins with Step 401, wherein a computer system is loaded with a hardware component, which includes a first software component.
  • the hardware component may be an add-in card for a peripheral device in various embodiments, or may also be a motherboard for a computer system.
  • the hardware component may be part of a "soft device", such as a soft modem or soft network interface. Such soft devices may utilize a minimal amount of hardware, thereby performing many functions with software.
  • a user of the computer system may provide registration information to a publisher of the software.
  • the software publisher may utilize a database and software repository, such as database/repository 300 as illustrated in Figure 2.
  • the database may be configured to store registration information.
  • Registration information sent by the user to the database may include the user's name, date of purchase of the software and hardware components, and other pertinent pieces of information.
  • the registration information may also include a unique serial number or other unique identifier for the hardware component. This serial number or unique identifier may be stored in the database along with other registration information sent by the user.
  • the hardware component may include a coder/decoder (CODEC) which contains the unique serial number. Alternatively, the unique serial number may be contained within another device of the hardware component.
  • CDEC coder/decoder
  • the unique serial number may be contained within a system processor, a chipset device, or other device mounted upon the motherboard.
  • the user Responsive to receipt of the registration information, the user may be authorized to download a second software component (Step 403), which may be a fully functioning version of the software associated with the hardware component (which may be an add-in component).
  • the repository Prior to conducting the download, the repository may cause the second software component to reconfigure itself to operate exclusively with the hardware component containing the unique serial number or identifier. Following this reconfiguring, the downloading of the second software component may then take place.
  • Step 404 the computer system may be rebooted, which may be required before initialization of the second software component can occur. In some embodiments, such as those which include the installation of plug- and-play devices, rebooting of the computer system may not be required.
  • the second software component may be ready for initialization (Step 405). Initialization may include the second software component reading the serial number embedded within the hardware component. Having verified the correct serial number, the second software component may now be ready to operate, thereby affording full functionality to its associated hardware component. With software initialization complete, the hardware component may now be operated with its full functionality (Step 406).
  • Computer system 200 may be similar to computer system 200 of Figure 1, or may be an alternate embodiment.
  • computer system 200 includes processor 10 which is coupled to basic input-output system (BIOS) 105 and bus bridge 202.
  • Bus bridge 202 is also coupled to keyboard/mouse 222, disk storage 240, system memory 245, modem 250, and graphics controller 208.
  • Graphics controller 208 is coupled to display 226.
  • serial identifier 102 Embedded within processor 10 is serial identifier 102 and a first software component, reduced functionality operating system (OS) 101.
  • OS operating system
  • an operating system is defined as the main control program of a computer system, performing such functions as task scheduling, memory and storage management, and communications with peripherals.
  • Common examples of operating systems include Microsoft Windows, Unix, and DOS (Disk Operating System).
  • Reduced functionality OS 101 may be an operating system that provides basic functionality to the computer, but does not allow for the use of all operating system features.
  • Serial identifierl02 may be a serial number which is unique to the particular processor in which it is embedded.
  • Reduced functionality OS 101 may be embedded in processor 10 using erasable-programmable read-only memory (EPROM) circuitry or static random access memory (SRAM) circuitry.
  • EPROM erasable-programmable read-only memory
  • SRAM static random access memory
  • BIOS 105 may be configured to cause reduced functionality OS 105 to be loaded into memory upon starting computer system 200.
  • Modem 250 may be configured to connect computer system 200 to a software publisher's database/repository, such as that described in reference to Figure 2.
  • a connection to the database/repository is made through an Internet connection and a network interface card are possible and contemplated.
  • a user of computer system 200 may transmit registration information to the database/repository.
  • Serial identifier 102 may be included in the registration information, and may be stored in the software publisher's database along with other information.
  • the software publisher's repository may configure a second software component for use in computer system 200. Such configuration may require the second software component to read serial identifier 102 in order to function properly within computer system 200. In such embodiments, the second software component may be configured to function exclusively with the unique serial identifier 102.
  • the software publisher's repository may allow computer system 200 to download the second software component.
  • the second software component may be a fully functioning version of the operating system embedded within processor 10.
  • the second software component may be a portion of the operating system that, when combined with reduced functionality OS 101, comprises a fully functioning OS.
  • computer system 200 may be configured for use with the fully functioning version of the OS.
  • Such configuring may include the OS verifying serial identifier 102, ensuring it matches the serial identifier that was sent along with the registration information to the software publisher's database.
  • Computer system 200 includes processor 10, which is coupled to bus bridge 202.
  • Bus bridges 202 is coupled to system memory 245, modem 250, keyboard/mouse 222, disk storage 240, and graphics controller 208.
  • Graphics controller 208 is coupled to display 226.
  • a peripheral device Also couple to bus bridge is a peripheral device, network interface 110.
  • Embodiments including other peripheral devices, such as CD-ROM drives, modems, and so on are possible and contemplated.
  • Embedded within network interface 110 is a serial identifier 102 and a reduced functionality driver.
  • Reduced functionality driver as well as a second software component which provides for a full functionality driver, are both device drivers.
  • a device driver is defined as a program that interfaces with an operating system in order to support a device, such as a disk drive, a network interface, or a modem.
  • a device driver may further be defined as, for the purposes of this specification, as a program that may allow application software to use a device, such as when a word processing program uses a printer for creating a hardcopy of a document created within.
  • Reduced functionality driver 103 serves as a first software component that enables the hardware component (in this case network interface 110) to operate, albeit with limited functionality.
  • reduced functionality driver may be configured to allow network interface 110 to send and receive information at a slower rate than it otherwise would with a full functionality driver.
  • Serial identifier 102 is a serial number or other identifier which uniquely identifies network interface 110.
  • Reduced functionality driver 103 may be embedded into a hardware device of network interface 110, such as a CODEC.
  • the embedding of the reduced functionality driver 103 may be accomplished with EPROM circuitry, SRAM circuitry, or hardwired circuitry via lithographic mask at the time of manufacture of the hardware device.
  • other types of circuitry may be used to embed the first software component into the hardware component.
  • serial identifier 102 may be embedded within the same hardware device as reduced functionality driver 103, or may be embedded in a different device of the first hardware component.
  • Modem 250 may be configured to connect computer system 200 to a software publisher's database/repository, such as that described in reference to Figure 2.
  • a connection to the database/repository is made through an Internet connection and a network interface 110 are possible and contemplated.
  • a user of computer system 200 may transmit registration information to the database/repository.
  • Serial identifier 102 may be included in the registration information, and may be stored in the software publisher's database along with other information.
  • the software publisher's repository may configure a second software component for use with network interface 110. Such configuring may require the second software component to read serial identifier 102 in order to function properly with network interface 110. In such embodiments, the second software component may be configured to function exclusively with the unique serial identifier 102.
  • the software publisher's repository may allow a download of the second software component, in this case a fully functional driver for use with network interface 110.
  • the second software component may be a portion of a driver that, when combined with reduced functionality driver 103, may form a fully functioning driver for network interface 110.
  • computer system 200 may configure network interface 110 to operate with the fully functioning driver.
  • Such configuring may include a verification of serial identifier 102, ensuring that it matches with the serial identifier that was sent along with the registration information to the software publisher's database.
  • This invention is applicable to computer software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

A system and method for preventing software piracy. In one embodiment, the system may comprise a device including a hardware component (10) and a software component (101, 300). The hardware component may have a first software component (101) stored within. The first software component may allow the hardware component to work, but with a reduced functionality. A second software component (300) may be obtained by a download, which may be accomplished through a dial-up connection or an Internet connection. A user may be required to register the hardware component and the second software component. With registration complete, the second software component may then be downloaded. The second software component, once downloaded, may then allow the hardware component to operate with its full, intended functionality.

Description

TITLE: SYSTEM AND METHOD FOR PREVENTING SOFTWARE PIRACY
BACKGROUND OF THE INVENTION
1. Technical Field
This invention relates to computer software, and more particularly, to mechanisms for preventing software pnacy.
2. Background Art
Software piracy represents a significant source of intellectual property theft today. Computer software may in many cases be easily counterfeited, as a large number of identical copies may be easily and cheaply manufactured. These illegal copies of software may then be widely distributed, thereby denying the software publisher their rightful earnings. With the advent of the Internet, distribution of illegally copied software has become even easier and more widespread.
Software piracy may have a profound economic impact. For example, the Software Publishers Association (SPA) estimates that the U.S. software industry lost over $2.9 billion in the U.S. and over $11 billion world wide as a result of software theft in 1998. This is a very significant impact, considering that, in the same year, the U.S. software industry is estimated to have contributed $55.6 billion in wages and $ 12.3 billion in federal and state income taxes to the economy.
Many techniques exist for preventing software piracy. One such technique involves a password or other software-oriented key. This type of technique has proven largely ineffective, as passwords may often be stolen by diligent computer "hackers". Passwords may also be easily lost or forgotten, and are often times shared among users.
Hardware techniques may also be used, but these can be expensive and cumbersome. Such hardware techniques may include simple hardware dongles and coprocessor dongles (a dongle is a device that couples to a computer to control access to a given application). A simple hardware dongle may implement a simple inquiry/response protocol, wherein a software routine may poll the hardware for specific responses. A coprocessor dongle utilizes complex function call interaction. The software may treat the dongle like a function and pass parameters to obtain answers that are algorithm dependent. This technique is much more difficult to defeat than a simple hardware dongle, but it is still vulnerable.
Software piracy is a concern for many different types of software, such as word processors. Applications that a fundamental to a computer (word processors, operating systems, etc.) are easily pirated. Soft peripherals are another area where software piracy is a concern. Soft peripherals include such devices as soft modems and soft network interfaces. A soft peripheral may replace a majority of hardware functions with software. For example, a soft modem may replace most of the modem's hardware functions with software, leaving only a CODEC (coder/decoder) and other essential circuitry to be implemented with hardware. A code may be embedded into the CODEC, and the soft modem may be configured to function only when the software successfully reads this code. However, if the code is successfully read by a computer hacker, a large number of counterfeit CODECs may be manufactured, thereby allowing widespread illegal distribution of the soft modem. In some cases, a person intending to counterfeit the CODEC may use a logic analyzer or other piece of test equipment to determine the internal logic of the device, thereby enabling them to copy it.
DISCLOSURE OF INVENTION
The problems outlined above are in large part solved by a system and method for preventing software piracy. In one embodiment, the system may comprise a hardware component as well as first and second software components. The hardware component may have a first software component stored within. The first software component may allow the hardware component to work, but with a reduced functionality. For example, if the hardware and software components comprise a 56k modem, the first software component may allow the modem (the hardware component) to operate at a speed of no greater than 14.4 k. Since the first software component may cause the hardware component to operate with reduced functionality, a user of the device may have sufficient motivation to obtain a second software component which may afford full functionality to the hardware component. A second software component may be obtained by a download, which may be accomplished through a dial-up connection or an Internet connection. A user may be required to register the hardware component and the second software component. With registration complete, the second software component may then be downloaded. The second software component, once downloaded, may then allow the hardware component to operate with its full, intended functionality.
In one embodiment, the hardware component may include a unique serial number. The software, once downloaded, may read the serial number and configure itself to function properly with this serial number exclusively. This may be an effective means of preventing the software to be illegally copied, as the software may be unable to fully function with hardware components having different serial numbers.
The hardware component, in various embodiments, may comprise hardware for a peripheral device, such as a modem, network interface, CD-ROM (compact disk read-only memory), or other peripheral device. The software components of these embodiments may be drivers that allow the software to function correctly. A first software component may be stored or embedded in the hardware component, and may be a "crippled" driver, allowing the hardware only reduced functionality. The second software component may be a driver which allows the device full functionality, and may be obtained by downloading after being registered by a user of the computer system. In another embodiment, the hardware component may be a computer system motherboard. In such embodiments, the software components may comprise an operating system. The motherboard may include at least one processor, which may have a unique serial number. Other devices on the computer motherboard may also have unique serial numbers. The first software component may be a version of the operating system with a reduced number of features. Alternatively, the first software component may be configured to cause the computer system to operate at a reduced speed for a processor, system bus, or both. The second software component may be a full- featured version of the operating system, and may be configured to allow the computer system to operate at full speed.
Thus, in various embodiments, the system and method for preventing software piracy may be an effective means of preventing unauthorized copying of software. By configuring the software to function exclusively with a hardware component having a unique serial number, it may become difficult to proliferate unauthorized copies. It may be necessary for potential counterfeiters to reproduce the serialized hardware component in order to be able to distribute working copies of counterfeit software. This may increase the costs of counterfeiting to a point that it is no longer cost effective.
BRIEF DESCRIPTION OF DRAWINGS Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
Figure 1 is a block diagram of one embodiment of a computer system in which the system and method for preventing software piracy may be implemented;
Figure 2 is a block diagram illustrating a connection of one embodiment of a computer system to a software repository/database for downloading and registering a fully functioning software component; Figure 3 is a flow diagram of one embodiment of the method for preventing software piracy; Figure 4 is a block diagram illustrating one embodiment of a computer system with a serialized microprocessor in which the system for preventing software piracy may be implemented; and
Figure 5 is a block diagram of one embodiment of a computer system with a peripheral device in which the system for preventing software piracy may be implemented.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and description thereto are not intended to limit the invention to the particular form disclosed, but, on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling with the spirit and scope of the present invention as defined be the appended claims.
MODE(S) FOR CARRYING OUT THE INVENTION Turning now to Figure 1, a block diagram of one embodiment of a computer system 200 including processor 10 coupled to a variety of system components through a bus bridge 202 is shown. Other embodiments are possible and contemplated. The embodiment shown may include hardware and software components configured for preventing software piracy as described herein. In the depicted system, a main memory 204 is coupled to bus bridge 202 through a memory bus 206, and a graphics controller 208 is coupled to bus bridge 202 through an AGP bus 210. Finally, a plurality of PCI devices 212A-212B are coupled to bus bridge 202 through a PCI bus 214. A secondary bus bridge 216 may further be provided to accommodate an electrical interface to one or more EISA or ISA devices 218 through an EISA/ISA bus 220. Processor 10 is coupled to bus bridge 202 through a CPU bus 224 and to an optional L2 cache 228.
Bus bridge 202 provides an interface between processor 10, main memory 204, graphics controller 208, and devices attached to PCI bus 214. When an operation is received from one of the devices connected to bus bridge 202, bus bridge 202 identifies the target of the operation (e.g. a particular device or, in the case of PCI bus 214, that the target is on PCI bus 214). Bus bridge 202 routes the operation to the targeted device. Bus bridge 202 generally translates an operation from the protocol used by the source device or bus to the protocol used by the target device or bus. In addition to providing an interface to an ISA/EISA bus for PCI bus 214, secondary bus bridge 216 may further incorporate additional functionality, as desired. An input/output controller (not shown), either external from or integrated with secondary bus bridge 216, may also be included within computer system 200 to provide operational support for a keyboard and mouse 222 and for various serial and parallel ports, as desired. An external cache unit (not shown) may further be coupled to CPU bus 224 between processor 10 and bus bridge 202 in other embodiments. Alternatively, the external cache may be coupled to bus bridge 202 and cache control logic for the external cache may be integrated into bus bridge 202. L2 cache 228 is further shown in a backside configuration to processor 10. It is noted that L2 cache 228 may be separate from processor 10, integrated into a cartridge (e.g. slot 1 or slot A) with processor 10, or even integrated onto a semiconductor substrate with processor 10. Main memory 204 is a memory in which application programs are stored and from which processor 10 primarily executes. A suitable main memory 204 comprises DRAM (Dynamic Random Access Memory). For example, a plurality of banks of SDRAM (Synchronous DRAM) or Rambus DRAM (RDRAM) may be suitable. PCI devices 212A-212B are illustrative of a variety of peripheral devices such as, for example, network interface cards, video accelerators, audio cards, hard or floppy disk drives 'or drive controllers, SCSI (Small Computer Systems Interface) adapters and telephony cards. Similarly, ISA device 218 is illustrative of various types of peripheral devices, such as a modem, a sound card, and a variety of data acquisition cards such as GPIB or field bus interface cards.
Graphics controller 208 is provided to control the rendering of text and images on a display 226. Graphics controller 208 may embody a typical graphics accelerator generally known in the art to render three-dimensional data structures which can be effectively shifted into and from main memory 204. Graphics controller 208 may therefore be a master of AGP bus 210 in that it can request and receive access to a target interface within bus bridge 202 to thereby obtain access to main memory 204. A dedicated graphics bus accommodates rapid retrieval of data from main memory 204. For certain operations, graphics controller 208 may further be configured to generate PCI protocol transactions on AGP bus 210. The AGP interface of bus bridge 202 may thus include functionality to support both AGP protocol transactions as well as PCI protocol target and initiator transactions. Display 226 is any electronic display upon which an image or text can be presented. A suitable display 226 includes a cathode ray tube ("CRT"), a liquid crystal display ("LCD"), etc.
It is noted that, while the AGP, PCI, and ISA or EISA buses have been used as examples in the above description, any bus architectures may be substituted as desired. It is further noted that computer system 200 may be a multiprocessing computer system including additional processors (e.g. processor 10a shown as an optional component of computer system 200). Processor 10a may be similar to processor 10. More particularly, processor 10a may be an identical copy of processor 10. Processor 10a may be connected to bus bridge 202 via an independent bus (as shown in Fig. 5) or may share CPU bus 224 with processor 10. Furthermore, processor 10a may be coupled to an optional L2 cache 228a similar to L2 cache 228. Moving now to Figure 2, a block diagram illustrating a connection of one embodiment of a computer system to a software repository/database for downloading and registering a fully functioning software component is shown. In the embodiment shown, computer system 200 is connected to a database/repository 300 of a software publisher through an Internet service provider (ISP) 350. The connection between computer system 200 and ISP 350 may be through a network connection or a dial-up connection. Alternate embodiments are possible and contemplated wherein computer 200 may connect directly to database/repository 300 through a dial-up connection (with no ISP).
Computer system 200 may be equivalent to the computer system 200 of Figure 1, or may be a computer system based on a different architecture. A user of computer system 200 may, after installation of a hardware component, transmit registration information through ISP 350 to database/repository 300. The hardware component may be a peripheral device, such as a modem, network interface card, compact disk read-only memory (CD-ROM) drive, or other device. The hardware component may also be a motherboard of computer system 200. A first software component may be stored in the hardware component of computer system 200, and may allow the hardware component to operate with limited functionality. For example, if the hardware component is a 56k modem, the first software component may be a driver which limits the baud rate of the modem to 14.4k. In another example, if the hardware component is a computer system motherboard, the first software component may an operating system with a reduced number of features, and may also be configured to cause the computer system to operate at a reduced clock speed.
Database/repository 300 may be configured to receive registration information from computer system 200. The registration information may then be stored in a database, and may be used by a user of computer system 200 for future upgrades to the software being registered. Database/repository may also be configured to store fully functioning versions of the software associated with the hardware component within computer system 200.
In response to receiving registration information, database/repository 300 may then allow a download a second software component, which may be a fully functioning version of the software associated with the hardware component of computer system 200. Once downloaded, the second software component may allow the hardware component to operate with its full, intended functionality.
Figure 3 is a flow diagram of one embodiment of the method for preventing software piracy. Method 400 begins with Step 401, wherein a computer system is loaded with a hardware component, which includes a first software component. The hardware component may be an add-in card for a peripheral device in various embodiments, or may also be a motherboard for a computer system. In various embodiments, the hardware component may be part of a "soft device", such as a soft modem or soft network interface. Such soft devices may utilize a minimal amount of hardware, thereby performing many functions with software.
In Step 402, a user of the computer system may provide registration information to a publisher of the software. The software publisher may utilize a database and software repository, such as database/repository 300 as illustrated in Figure 2. The database may be configured to store registration information. Registration information sent by the user to the database may include the user's name, date of purchase of the software and hardware components, and other pertinent pieces of information. The registration information may also include a unique serial number or other unique identifier for the hardware component. This serial number or unique identifier may be stored in the database along with other registration information sent by the user. The hardware component may include a coder/decoder (CODEC) which contains the unique serial number. Alternatively, the unique serial number may be contained within another device of the hardware component. In embodiments in which the hardware component is a computer system motherboard, the unique serial number may be contained within a system processor, a chipset device, or other device mounted upon the motherboard. Responsive to receipt of the registration information, the user may be authorized to download a second software component (Step 403), which may be a fully functioning version of the software associated with the hardware component (which may be an add-in component). Prior to conducting the download, the repository may cause the second software component to reconfigure itself to operate exclusively with the hardware component containing the unique serial number or identifier. Following this reconfiguring, the downloading of the second software component may then take place.
In Step 404, the computer system may be rebooted, which may be required before initialization of the second software component can occur. In some embodiments, such as those which include the installation of plug- and-play devices, rebooting of the computer system may not be required. Having been downloaded into the computer system, the second software component may be ready for initialization (Step 405). Initialization may include the second software component reading the serial number embedded within the hardware component. Having verified the correct serial number, the second software component may now be ready to operate, thereby affording full functionality to its associated hardware component. With software initialization complete, the hardware component may now be operated with its full functionality (Step 406).
Moving now to Figure 4, a block diagram of one embodiment of a computer system with a serialized microprocessor in which the system for preventing software piracy may be implemented is shown. Computer system 200 may be similar to computer system 200 of Figure 1, or may be an alternate embodiment. In the embodiment shown, computer system 200 includes processor 10 which is coupled to basic input-output system (BIOS) 105 and bus bridge 202. Bus bridge 202 is also coupled to keyboard/mouse 222, disk storage 240, system memory 245, modem 250, and graphics controller 208. Graphics controller 208 is coupled to display 226.
Embedded within processor 10 is serial identifier 102 and a first software component, reduced functionality operating system (OS) 101. As used herein, an operating system is defined as the main control program of a computer system, performing such functions as task scheduling, memory and storage management, and communications with peripherals. Common examples of operating systems include Microsoft Windows, Unix, and DOS (Disk Operating System).
Reduced functionality OS 101 may be an operating system that provides basic functionality to the computer, but does not allow for the use of all operating system features. Serial identifierl02 may be a serial number which is unique to the particular processor in which it is embedded. Reduced functionality OS 101 may be embedded in processor 10 using erasable-programmable read-only memory (EPROM) circuitry or static random access memory (SRAM) circuitry. Alternatively, reduced functionality OS 101 may be hard-wired into processor 10 by a lithographic mask at the time of manufacture of processor 10. BIOS 105 may be configured to cause reduced functionality OS 105 to be loaded into memory upon starting computer system 200.
Modem 250 may be configured to connect computer system 200 to a software publisher's database/repository, such as that described in reference to Figure 2. Other embodiments wherein a connection to the database/repository is made through an Internet connection and a network interface card are possible and contemplated. Upon establishing a connection with modem 250, a user of computer system 200 may transmit registration information to the database/repository. Serial identifier 102 may be included in the registration information, and may be stored in the software publisher's database along with other information. Responsive to receiving the registration information, the software publisher's repository may configure a second software component for use in computer system 200. Such configuration may require the second software component to read serial identifier 102 in order to function properly within computer system 200. In such embodiments, the second software component may be configured to function exclusively with the unique serial identifier 102.
Following the configuring described above, the software publisher's repository may allow computer system 200 to download the second software component. The second software component may be a fully functioning version of the operating system embedded within processor 10. Alternatively, the second software component may be a portion of the operating system that, when combined with reduced functionality OS 101, comprises a fully functioning OS. After downloading, computer system 200 may be configured for use with the fully functioning version of the OS. Such configuring may include the OS verifying serial identifier 102, ensuring it matches the serial identifier that was sent along with the registration information to the software publisher's database.
Moving now to Figure 5, a block diagram of one embodiment of a computer system with a peripheral device in which the system for preventing software piracy may be implemented is shown. Computer system 200 includes processor 10, which is coupled to bus bridge 202. Bus bridges 202 is coupled to system memory 245, modem 250, keyboard/mouse 222, disk storage 240, and graphics controller 208. Graphics controller 208 is coupled to display 226. Also couple to bus bridge is a peripheral device, network interface 110. Embodiments including other peripheral devices, such as CD-ROM drives, modems, and so on are possible and contemplated. Embedded within network interface 110 is a serial identifier 102 and a reduced functionality driver.
Reduced functionality driver, as well as a second software component which provides for a full functionality driver, are both device drivers. As used herein, a device driver is defined as a program that interfaces with an operating system in order to support a device, such as a disk drive, a network interface, or a modem. A device driver may further be defined as, for the purposes of this specification, as a program that may allow application software to use a device, such as when a word processing program uses a printer for creating a hardcopy of a document created within.
Reduced functionality driver 103 serves as a first software component that enables the hardware component (in this case network interface 110) to operate, albeit with limited functionality. In the embodiment shown, reduced functionality driver may be configured to allow network interface 110 to send and receive information at a slower rate than it otherwise would with a full functionality driver.
Serial identifier 102 is a serial number or other identifier which uniquely identifies network interface 110. Reduced functionality driver 103 may be embedded into a hardware device of network interface 110, such as a CODEC. The embedding of the reduced functionality driver 103 may be accomplished with EPROM circuitry, SRAM circuitry, or hardwired circuitry via lithographic mask at the time of manufacture of the hardware device. In addition to those mentioned, other types of circuitry may be used to embed the first software component into the hardware component. Also, it should be noted that serial identifier 102 may be embedded within the same hardware device as reduced functionality driver 103, or may be embedded in a different device of the first hardware component. Modem 250 may be configured to connect computer system 200 to a software publisher's database/repository, such as that described in reference to Figure 2. Other embodiments wherein a connection to the database/repository is made through an Internet connection and a network interface 110 are possible and contemplated. Upon establishing a connection with modem 250, a user of computer system 200 may transmit registration information to the database/repository. Serial identifier 102 may be included in the registration information, and may be stored in the software publisher's database along with other information.
Responsive to receiving the registration information, the software publisher's repository may configure a second software component for use with network interface 110. Such configuring may require the second software component to read serial identifier 102 in order to function properly with network interface 110. In such embodiments, the second software component may be configured to function exclusively with the unique serial identifier 102.
Following the configuring described above, the software publisher's repository may allow a download of the second software component, in this case a fully functional driver for use with network interface 110. Alternatively, the second software component may be a portion of a driver that, when combined with reduced functionality driver 103, may form a fully functioning driver for network interface 110. After downloading, computer system 200 may configure network interface 110 to operate with the fully functioning driver. Such configuring may include a verification of serial identifier 102, ensuring that it matches with the serial identifier that was sent along with the registration information to the software publisher's database.
While the present invention has been described with reference to particular embodiments, it will be understood that the embodiments are illustrative and that the invention scope is not so limited. Any variations, modifications, additions, and improvements to the embodiments described are possible. These variations, modifications, additions, and improvements may fall within the scope of the inventions as detailed within the following claims.
INDUSTRIAL APPLICABILITY
This invention is applicable to computer software.

Claims

WHAT IS CLAIMED IS:
1. A computer system comprising: a hardware component (10); and a first operating system component (101) stored within said hardware component, wherein said first operating system component is configured to cause said hardware component to operate with reduced functionality, and wherein said hardware component is configured to operate with full functionality responsive to a download of a second operating system component (300).
2. The computer system as recited in claim 1 , wherein a user of said computer system is required to register said second operating system component prior to said download.
3. A method comprising: installing a hardware component (lθ)into a computer system, wherein said hardware component is configured to store a first software component (101), and wherein first software component is configured to cause said hardware component to operate with reduced functionality, and wherein said hardware component includes a unique identifier (102); registering a second software component (300), wherein said registering includes providing said unique identifier for said hardware component to a database, and wherein said second software component is configured to operate exclusively with said hardware component responsive to said providing said unique identifier to said database; downloading said second software component; and installing said second software component, wherein said hardware component is configured to operate with full functionality following the installation of said second software component.
4. The method as recited in claim 3 further comprising storing registration information, including said unique identifier, in said database.
5. The method as recited in claim 3 further comprising initializing said second software component following said downloading.
6. The method as recited in claim 5, wherein said initializing includes said second software component reading said unique identifier.
7. A peripheral device comprising:
A hardware component (110) configured for installation in a computer system; and a first device driver component (202) stored within said hardware component, wherein said first device driver component is configured to cause said hardware component to operate with reduced functionality, and wherein said hardware component is configured to operate with full functionality responsive to a download of a second device driver component (300).
8. The peripheral device as recited in claim 7, wherein said hardware component comprises a coder/decoder (CODEC) (110).
9. The peripheral device as recited in claim 8, wherein said CODEC includes a unique identifier.
10. The peripheral device as recited in claim 9, wherein said second device driver component is configured to function only with said CODEC including said unique identifier. -
PCT/US2001/018471 2000-10-05 2001-06-06 System and method for preventing software piracy WO2002029528A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP01944339A EP1352305A2 (en) 2000-10-05 2001-06-06 System and method for preventing software piracy
KR10-2003-7004887A KR20030036895A (en) 2000-10-05 2001-06-06 System and method for preventing software piracy
JP2002533037A JP2004515845A (en) 2000-10-05 2001-06-06 System and method for preventing software piracy
AU2001266762A AU2001266762A1 (en) 2000-10-05 2001-06-06 System and method for preventing software piracy

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68024300A 2000-10-05 2000-10-05
US09/680,243 2000-10-05

Publications (2)

Publication Number Publication Date
WO2002029528A2 true WO2002029528A2 (en) 2002-04-11
WO2002029528A3 WO2002029528A3 (en) 2003-08-07

Family

ID=24730320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/018471 WO2002029528A2 (en) 2000-10-05 2001-06-06 System and method for preventing software piracy

Country Status (7)

Country Link
EP (1) EP1352305A2 (en)
JP (1) JP2004515845A (en)
KR (1) KR20030036895A (en)
CN (1) CN1468393A (en)
AU (1) AU2001266762A1 (en)
TW (1) TW525089B (en)
WO (1) WO2002029528A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1465043A2 (en) 2003-04-02 2004-10-06 Microsoft Corporation Keyed-build system for controlling the distribution of software
CN104813333A (en) * 2012-10-23 2015-07-29 泰雷兹公司 Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100345112C (en) * 2005-11-25 2007-10-24 中国科学院软件研究所 Member extending method for operating system
KR100852199B1 (en) * 2007-02-13 2008-08-13 삼성전자주식회사 Producing method of nand flash module capable of protecting illegal copy of operation system and computer system including nand flash module
US10019741B2 (en) * 2010-08-09 2018-07-10 Western Digital Technologies, Inc. Methods and systems for a personal multimedia content archive

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000021239A1 (en) * 1998-10-07 2000-04-13 Nuvomedia, Inc. Certificate handling for digital rights management system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000021239A1 (en) * 1998-10-07 2000-04-13 Nuvomedia, Inc. Certificate handling for digital rights management system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LUIGI RIZZO: "The FreeBSD Audio Driver" HTTP://CITESEER.NJ.NEC.COM/RIZZO97FREEBSD. HTML, [Online] 1997, XP002236711 Retrieved from the Internet: <URL:http://citeseer.nj.nec.com/rizzo97fre ebsd.html> [retrieved on 2003-03-26] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1465043A2 (en) 2003-04-02 2004-10-06 Microsoft Corporation Keyed-build system for controlling the distribution of software
EP1465043A3 (en) * 2003-04-02 2005-10-26 Microsoft Corporation Keyed-build system for controlling the distribution of software
US7577849B2 (en) 2003-04-02 2009-08-18 Microsoft Corporation Keyed-build system for controlling the distribution of software
CN104813333A (en) * 2012-10-23 2015-07-29 泰雷兹公司 Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system

Also Published As

Publication number Publication date
KR20030036895A (en) 2003-05-09
EP1352305A2 (en) 2003-10-15
AU2001266762A1 (en) 2002-04-15
CN1468393A (en) 2004-01-14
JP2004515845A (en) 2004-05-27
WO2002029528A3 (en) 2003-08-07
TW525089B (en) 2003-03-21

Similar Documents

Publication Publication Date Title
US6006190A (en) Computer implemented method and a computer system for enforcing software licenses
JP3713141B2 (en) How to prevent unauthorized execution of programs
US7890428B2 (en) Flexible licensing architecture for licensing digital application
US6460140B1 (en) System for controlling the use of licensed software
US6223284B1 (en) Method and apparatus for remote ROM flashing and security management for a computer system
AU767286B2 (en) Methods and apparatus for protecting information
US7464256B2 (en) Bios protection device preventing execution of a boot program stored in the bios memory until the boot program is authenticated
US7380275B2 (en) Secure and backward-compatible processor and secure software execution thereon
JP4498735B2 (en) Secure machine platform that interfaces with operating system and customized control programs
US6363486B1 (en) Method of controlling usage of software components
AU2002305490B2 (en) Systems and methods for the prevention of unauthorized use and manipulation of digital content
US8103592B2 (en) First computer process and second computer process proxy-executing code on behalf of first process
US20080300887A1 (en) Usage Model of Online/Offline License for Asset Control
JP2002287978A (en) Method and system for safely initializing code in computer
JP2004038247A (en) License management method, system, and program
EP1352305A2 (en) System and method for preventing software piracy
JP2004046756A (en) License management method, system and program
WO2006101765A2 (en) Method for preventing unauthorized installation of a software product
JPH0934799A (en) Data protection method
KR100232086B1 (en) A secure memory card
WO1999035582A1 (en) A computer software activation system and a method of authenticating computer software
AU2012245181B2 (en) Bios protection device
CA2399317A1 (en) Apparatus and method for enforcing software license
WO2001095073A1 (en) A method relating to copy protection
AU2010202883A1 (en) Systems and Methods for Preventing Unauthorized Use of Digital Content

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

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

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002533037

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2001944339

Country of ref document: EP

Ref document number: 1020037004887

Country of ref document: KR

Ref document number: 01816871X

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020037004887

Country of ref document: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2001944339

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2001944339

Country of ref document: EP