|
Software Patent Abstract
Apparatus, techniques and systems for preventing illegal use of
software and other digital files based on operations of a data storage
device controller in a computer or computer system. For example,
a method for preventing illegal use of software includes: configuring
a computer to use a data storage device controller to control use
of each digital file stored on one or more data storage devices;
before a use of each digital file, operating the data storage device
controller to access a storage device on which the digital file
is stored to check whether the digital file meets a condition for
use; and operating the data storage device controller to block use
of the digital file when the condition is not met and to allow execution
of the digital file when the condition is met. The digital file
can be an application software or other digital documents.
Software Patent Claims
1. A method for preventing illegal use of software, comprising:checking,
by a data storage device controller, whether the software is properly
installed and not illegally modified on a data storage device;blocking,
by the data storage device controller, a launch of the software,
if the software is not properly installed or illegally modified
on the data storage device;checking, by the data storage device
controller, whether the software has to be paid for use, if the
software is properly installed and not illegally modified on the
data storage device;allowing the user to use the software normally,
if the software is free for use;checking, by the data storage device
controller, whether a user has already performed a payment process,
if the software has to be paid for use;blocking, by the data storage
device controller, the launch of the software, if the user does
not perform the payment process;determining an available time period
of the software usage for each user of the current personal computer
in a case the user has already made the payment, and allowing the
user to use the software normally;prompting the user to perform
the payment process once more in a case of the used time period
longer than the determined available time period; andterminating,
by the data storage device controller, an execution of the software,
if the user does not perform the payment process in time.
2. The method for preventing illegal use of software according
to claim 1, wherein the data storage device controller is configured
to dedicate and manage two dedicated area on the data storage device,
a first dedicated area comprising a first sub-dedicated area for
isolated checking, by the data storage device controller, whether
the software is properly installed and not illegally modified; and
a second sub-dedicated area for final installing of software from
recognized developers; and a second dedicated area for installing
of software from unrecognized software developers.
3. The method for preventing illegal use of software according
to claim 2, wherein the first dedicated area is kept permanently
encrypted by the data storage device controller.
4. The method for preventing illegal use of software according
to claim 2, wherein the data storage device controller provides
restrictions to software installed on the second dedicated area
so that the software in the second dedicated area has no access
to the first dedicated area.
5. The method for preventing illegal use of software according
to claim 1, wherein the step of checking whether the software properly
installed and not illegally modified is performed by checking at
least one of (1) the software during installation of the software
and (2) files of the already installed software before the software
is paid.
6. The method for preventing illegal use of software according
to claim 5, wherein if the checking is performed during the installation
of the software, the step of checking whether the software is properly
installed and not illegally modified comprises:installing, by the
data storage device controller, the software to the first sub-dedicated
area of the data storage device;checking, by the data storage device
controller, the data storage device to obtain detailed information
about the installed software;obtaining, by the data storage device
controller, detailed information about the software which is provided
by a recognized software developer;comparing the detailed information
obtained from the data storage device with the detailed information
which is provided by the recognized software developer;determining
that the software has been properly installed and not illegally
modified on the data storage device if a result of the above comparison
is that the obtained two pieces of detailed information are the
same; otherwise, determining that the software is not properly installed
or illegally modified on the data storage device, if the result
of the above comparison is that the obtained two pieces of detailed
information are different; andreinstalling, by the data storage
device controller, the software from the first sub-dedicated area
of the data storage device to the second sub-dedicated area or to
the second dedicated area of the data storage device; otherwise,
deleting, by the data storage device controller, the installed software
from the first sub-dedicated area of the data storage device.
7. The method for preventing illegal use of software according
to claim 5, wherein the step of checking whether the already installed
software is properly installed and not illegally modified comprises:checking,
by the data storage device controller, the data storage device to
obtain detailed information about the installed software;obtaining,
by the data storage device controller, detailed information about
the software which is provided by a recognized software developer;comparing
the detailed information obtained from the data storage device with
the detailed information which is provided by the recognized software
developer; anddetermining that the software has been properly installed
and not illegally modified on the data storage device if a result
of the above comparison is that the obtained two pieces of detailed
information are the same; otherwise, determining that the software
is not properly installed or illegally modified in the data storage
device if the result of the above comparison is that the obtained
two pieces of detailed information are different.
8. The method for preventing, illegal use of software according
to any one of claim 7, wherein the data storage device controller
includes the detailed information about the software provided from
a recognized software developer by means of credit cards, debit
cards, smart cards, IC cards, Internet or networks.
9. The method for preventing illegal use of software according
to claim 8, wherein the detailed information is encrypted.
10. The method for preventing illegal use of software according
to claim 7, comprising:operating the data storage device controller
to directly control each device which is used to obtain the detailed
information about the applications software provided from a recognized
software developer by means of credit cards, debit cards, smart
cards, IC cards, Internet or networks.
11. The method for preventing illegal use of software according
to any one of claim 7, comprising:operating the data storage device
controller to independently obtain the detailed information about
application software by using credit cards, debit cards, smart cards,
IC cards, Internet or networks, without involving of a system or
application software.
12. The method for preventing illegal use of software according
to claim 1, wherein the step of determining the available time period
of the software comprises:gathering information about a usage level
of the software;determining whether a current usage level of the
software is higher than a predetermined usage level predetermined
by a software developer or a vendor;determining the available time
period on the basis of a fee paid by the user and a first price,
if the usage level is not higher than the predetermined usage level;
anddetermining the available time period on the basis of a fee paid
by the user and a second price, if the usage level is higher than
the predetermined usage level.
13. The method for preventing illegal use of software according
to claim 12, wherein the usage level of the software is determined
according to at least one of:a total usage time period;a daily usage
time period;a total amount of input information;a total amount of
processed information;used features of the software.
14. The method for preventing illegal use of software according
to claim 13, wherein:in a case the total or daily usage time period
is longer than a predetermined usage time period, the usage level
of the software is marked as being higher than the predetermined
usage level; orin a case where the total amount of inputted information
is more than a predetermined information amount, the usage level
of the software is marked as being higher than the predetermined
usage level; orin a case where the total amount of processed information
is more than a predetermined information amount, the usage level
of the software is marked as being higher than the predetermined
usage level; orin a case where a special feature of the software
is used, the usage level of the software is marked as being higher
than the predetermined usage level.
15. The method for preventing illegal use of software according
to claim 12, wherein the first and the second prices are obtained
by means of credit cards, debit cards, smart cards, IC cards or
networks.
16. The method for preventing illegal use of software according
to claim 15, wherein information related to the first and the second
prices is encrypted.
17. The method for preventing illegal use of software according
to claim 2, wherein the recognized software developer releases a
software in a control file format--*.cff format with digital watermarking.
18. The method for preventing illegal use of software according
to claim 17, further comprising, before the step of checking whether
the software is properly installed:converting, by the data storage
device controller, data in *.cff files into data in respective original
file formats; andenabling the installation to begin to the first
sub-dedicated area for the recognized software developer.
19. The method for preventing illegal use of software according
to claim 1, wherein the data storage device controller controls
data storage devices of a computer that include a hard disk, a compact
disk (CD), a digital versatile disk (DVD), a floppy disk, a magnetic
tape, a flash memory, a ZIP disk, and a network memory.
20. The method for preventing illegal use of software according
to claim 1, wherein activities of the data storage device controller
are independent from any other device or software, and the data
storage device controller controls directly all devices which can
be a source to launch and execute the software.
21. The method for preventing illegal use of software according
to claim 1, comprising:operating the data storage device controller
to check whether the software is properly installed and not illegally
modified when an operation of the software is initiated,wherein
the operation of the software comprises at least one of opening,
editing, copying, moving, and deleting of the software and a file
associated with the software.
22. The method for preventing illegal use of software according
to claim 21, comprising:integrating the data storage device controller
as an integrated constitutive element of a computer motherboard;
andconfiguring and operating the motherboard and the data storage
device controller to cause the computer motherboard to stop normal
operations, to malfunction or break down when the data storage device
controller detects that the software is not properly installed or
is illegally modified.
23. The method for preventing illegal use of software according
to claim 1, wherein the user performs the payment process in an
off-line payment manner or in an on-line payment manner.
24. The method for preventing illegal use of software according
to claim 1, comprising:Operating the data storage device controller
to control activity of each device associated with launching or
executing a software, wherein the each device includes a card reader,
which can be used by a user to perform the payment with credit cards,
debit cards, and smart cards.
25. The method for preventing illegal use of software according
to claim 1, comprising:operating the data storage device controller
to independently perform the payment by using credit cards, debit
cards, and smart cards, without involving other system software
or application software.
26. A computer device configured for preventing illegal use of
software, comprising:one or more data storage devices on which at
least one operating system and at least one application software
are installed;a data storage device controller in communication
with and operable to control execution of each application software
stored on the one or more data storage devices,wherein, before execution
of each application software, the data storage device controller
is configured to:check whether the application software is properly
installed or is illegally modified, andblock the execution of the
application software when the application software is not properly
installed or illegally modified.
27. The computer device as in claim 26, wherein, before execution
of each application software, the data storage device controller
is further configured to:check whether a required payment for use
of the application software is made when the application software
is properly installed and not illegally modified,permit execution
of the application software when the payment is made, andblock execution
of the application software when the payment is not made.
28. The computer device as in claim 26, wherein, before execution
of each application software, the data storage device controller
is further configured to:check whether a required payment for use
of the application software is made when the application software
is properly installed and not illegally modified,determine whether
an available time period for using the application software associated
with the payment has expired,permit execution of the application
software when payment is made and the available time period has
not expired, andblock execution of the application software when
either payment is nor made or the available time period has expired.
29. The computer device as in claim 28, wherein, before execution
of each application software, the data storage device controller
is further configured to:prior to blocking of execution of the application
software, prompt a payment process for making an additional payment
for continuous use of the application software when the available
time period has expired; andterminate execution of the application
software when the additional payment is not made in time.
30. The computer device as in claim 26, wherein:the data storage
device controller is configured to perform the checking and blocking
without involving the operating system.
31. The computer device as in claim 26, wherein:the data storage
device controller is configured to perform the checking and blocking
without involving other software.
32. The computer device as in claim 26, wherein:the data storage
device controller is configured to perform the checking and blocking
without involving other hardware in the computer device.
33. The computer device as in claim 26, wherein:the data storage
device controller is configured to perform the checking and blocking
without involving the operating system, other software and hardware.
34. The computer device as in claim 26, comprising:a compute motherboard
on which the data storage device controller is integrated.
35. The computer device as in 34, comprising:a microprocessor on
the computer motherboard to perform execution of the application
software.
36. The computer device as in claim 34, wherein:the one or more
data storage devices comprise at least one of a hard disk, a CD-ROM,
a DVD-ROM, a flash memory, and a portable storage device.
37. A method for preventing illegal use of a digital file, comprising:operating
a data storage device controller in a computer to control use of
each digital file stored on one or more data storage devices;before
a use of each digital file, operating the data storage device controller
to access a storage device on which the digital file is stored to
check whether the digital file meets a condition for use; andoperating
the data storage device controller to block execution of the digital
file when the condition is not met and to allow use of the digital
file when the condition is met.
38. The method as in claim 37, wherein:the condition includes a
requirement that the digital file is properly installed or is not
illegally modified.
39. The method as in claim 39, wherein:the condition includes a
requirement that a payment for the digital file is made.
40. The method as in claim 37, wherein:the digital file is an application
software.
41. The method as in claim 40, wherein:the use is execution of
the application software.
42. The method as in claim 37, wherein:the use of the digital file
includes at least one of opening, editing, copying, moving, deleting
and modifying the digital file.
43. A computer program product for preventing illegal use of a
digital file, encoded on one or more computer-readable media, operable
to cause data processing apparatus to perform operations in claim
37.
44. A computer program product for preventing illegal use of a
digital file, encoded on one or more computer-readable media, operable
to cause data processing apparatus to perform operations in claim
1.
Software Patent Description
[0001]This application claims the benefits and priority from Chinese
Patent Application No. 200610092745.0 filed on Jun. 13, 2006, which
is incorporated by reference as part of the specification of this
application.
TECHNICAL FIELD
[0002]The present invention relates to computer and electronic
fields, more particularly, to a method for preventing an illegal
use of software.
[0003]Software is computer instructions or data. Anything that
can be stored electronically is software All software stored on
a storage device must be in a file or several files.
[0004]The present invention performs the control of launch, execution,
termination, opening, editing, copying, moving, etc. of all types
of files which can be stored on data storage device with hardware.
[0005]Therefore even if the user illegally breaks (cracks) the
various copy-protection and registration techniques being used to
protect current file or files, by modifying the files which are
involved in protection procedure, the illegal use of the current
file can still be directly prevented by the hardware.
BACKGROUND
[0006]With the progress of the computer technology, more and more
applications software are developed to process sophisticated operations
including calculation, graphic rendering, audio synthesis, etc.,
as well as developed a lot of corresponding file types, like multimedia
files, text files, etc.
[0007]It has already used many methods to prevent the illegal use
of the content protected files and commercial software. However,
hereto, each of the protection methods has its own drawbacks, so
some users can illegally use software by cracking.
[0008]The term "Cracking" means breaking the various
copy-protection and registration techniques being used.
[0009]It is understood by those skilled in the art that the proposed
protection way can be used to protect any files which can be stored
on data storage device, like:
[0010]Data files,
[0011]Program Files: [0012]Applications software files. [0013]Systems
software files.
[0014]The applications software will be used as a sample to explain
proposed protection method. Applications software includes programs
that do real work for users. For example, word processors, spreadsheets,
and database management systems fall under the category of applications
software.
[0015]FIG. 5 shows a conventional method for protecting applications
software. After obtaining an applications software, the user installs
files associated with it on a data storage device 3. As used herein,
the data storage device 3 includes any devices able to store digital
data therein such as hard disk, compact disk (CD), digital versatile
disk (DVD), floppy disk, magnetic tape, flash memory, network memory,
etc., and all devices which can be a source to launch and execute
the applications software 2. Various files 2 of the installed applications
software are in an unprotected state. The user can crack the applications
software 2 through a crack program 1, so that the contents for preventing
illegal use of applications software files will be modified to achieve
an object of illegal use of the software. After modifying the files
of applications software 2 so as to release a software protection,
the user can execute this applications software through an operation
system 4 (for example, Windows.sup.o, Linux, Unix). Specifically,
the operation system 4 sends instructions to a data storage device
controller 5 mounted on a motherboard 6 and operation system 4 can
read and execute the files of applications software 2 stored on
the data storage device 3. Since the internal protection of this
application program has already been removed by the cracking program
1, this application program regards this user as a legal user, and
performs its functionalities under the operation system 4. As it
can be seen, the crack program 1 can freely remove limitations on
the execution of the applications software 2 by modifying the files
of applications software 2. Therefore, internal self protection
of the applications software can not effectively prevent the illegal
use of the applications software.
[0016]FIG. 6 shows another conventional method of the protection
of applications software. Similar to the method shown in FIG. 5,
after obtaining an applications software, the user installs files
associated with it on the data storage device 3. At the same time,
a dedicated protection software program 7 is also installed on the
data storage device 3 for providing a protection against illegal
use of the installed applications software 2. However, the dedicated
protection software program 7 and an operation system 4 are still
in an unprotected state. The user can modify the files of dedicated
protection software program 7 and the files of operation system
4 through a crack program 1, so that the contents for preventing
illegal use of these files are modified to achieve an object of
illegal use of the software. The result of the cracking of the dedicated
protection software program 7 and the operation system 4 is a release
of the protection of the dedicated protection software program 7
to the applications software 2. The user can execute this applications
software through the operation system 4. Specifically, the operation
system 4 sends instructions to a data storage device controller
5 mounted on a motherboard 6 and operation system 4 can read and
execute the files of applications software 2 stored on the data
storage device 3. Since the external protection by the dedicated
protection software program 7 has already been removed by the crack
program 1, the dedicated protection software program 7 regards this
user as a legal user, and the applications software performs its
functionalities under the operation system 4. As it can be seen,
the crack program 1 can freely remove limitations on the execution
of the applications software 2 by modifying the files of the applications
software 2, the files of dedicated protection software program 7
and the files of operation system 4. Therefore, the protection which
is provided by dedicated protection software can not effectively
prevent the illegal usage of applications software.
[0017]FIG. 7 shows another conventional method for protecting the
applications software. This method uses a hardware control unit
"Watchdog" to provide the protection. Similar to the method
shown in FIG. 5, after obtaining an applications software, the user
installs files associated with it on the data storage device 3.
When the applications software is executed, this program sends an
instruction to read the Watchdog 8 and receives a corresponding
return value from the Watchdog 8. If the return value is correct,
then the software is considered to be legally used, otherwise, if
the return value is incorrect, then the software is considered to
be illegally used and is terminated. However, since various files
2 of the installed applications software and the files of operation
system 4 are in an unprotected state, the user can modify the files
of applications software 2 and the files of operation system 4 through
a crack program 1, so that the contents for preventing illegal use
of these files are modified to achieve an object of illegal use
of the software. After modifying the applications software files
2 and the files of operation system 4, the user can execute this
applications software through the operation system 4. Specifically,
the operation system 4 sends instructions to a data storage device
controller 5 mounted on a motherboard 6 and operation system 4 can
read and execute the applications software 2 stored on the data
storage device 3. Since the internal protection of the application
program has already been removed by the crack program 1 and the
applications software no longer reads the watchdog 8, or the operation
system 4 performs interceptions when the applications software reads
the watchdog 8 and a correct value is returned, the applications
software regards this user as a legal user, and performs its functionalities
under the operation system 4. As it can be seen, the crack program
1 can freely remove limitations on the execution of the applications
software 2 by modifying the files of applications software 2 and
the files of operation system 4. Therefore, a protection to the
software by means of the watchdog 8 can not effectively prevent
user's illegal use of the applications software.
[0018]As it can be seen from FIGS. 5, 6 and 7, there are some protected
files and some files involved in the protection procedure for protecting
the protected files. Both of types of the files are always in a
unprotected state and thus can be illegally modified to remove software
protection.
[0019]In general, FIGS. 5, 6, 7, show that there exist some basic
problems in software protection--software is protected by the same
or other software, which can be cracked as soon as its files are
installed on hard drive of current PC. It is obvious, that above
mentioned problems are true for all kinds of software like data
files and program files.
SUMMARY OF INVENTION
[0020]Therefore, considering the above problems, the present invention
provides a method for preventing illegal use of software. The present
invention controls launch, execution, termination, opening, editing,
copying, moving, etc. of all types of files which can be stored
on data storage device with hardware.
[0021]Therefore even if the user illegally breaks (cracks) the
various copy-protection and registration techniques being used by
modifying the files which are involved in protection procedure,
the illegal use of the current software can still be directly prevented
by the hardware.
[0022]As it was mentioned before, applications software will be
used as a sample to explain proposed file protection method.
[0023]According to the present invention, a method for preventing
illegal use of applications software is provided. The method comprises
the steps of:
[0024]Checking, by a data storage device controller, whether the
applications software is properly installed and not illegally modified
on a data storage device;
[0025]Blocking, by the data storage device controller, a launch
of the applications software, if the applications software is not
properly installed or illegally modified on the data storage device;
[0026]Checking, by the data storage device controller, whether
the applications software has to be paid for use, if the applications
software is properly installed and not illegally modified on the
data storage device;
[0027]Allowing the user to use the applications software normally,
if the applications software is free for use;
[0028]Checking, by the data storage device controller, whether
a user has already performed a payment process, if the applications
software has to be paid for use;
[0029]Blocking, by the data storage device controller, the launch
of the applications software, if the user does not perform the payment
process;
[0030]Determining an available time period of the applications
software usage for each user of the current personal computer in
a case the user has already made the payment, and allowing the user
to use the applications software normally;
[0031]Prompting the user to perform the payment process once more
in a case of the used time period longer than the determined available
time period; and
[0032]Terminating, by the data storage device controller, an execution
of the applications software, if the user does not perform the payment
process in time.
[0033]Preferably, the step of checking whether the applications
software is properly installed and not illegally modified may be
done by two ways:
[0034]Checking the files of applications software during its installation
process; and/or
[0035]Checking the files of the already installed applications
software before the applications software will be paid.
[0036]Advantageously, the checking of the installation process
of applications software can prevent any harmful modifying of any
files which are already installed on data storage device.
[0037]At present time, security certificates are used by software
developers and vendors in Internet TO CONFIRM THE SOURCE from which
user downloads and installs some files.
[0038]Preferably, any software developer, which does not produce
computer viruses or any other harmful software, and which provides
above mentioned security certificates can be registered as recognized
software developer. The term "software from unrecognized software
developers" means software which is created by some unregistered
developer, user of current PC, other users, etc.
[0039]Preferably, the data storage device controller will dedicate
and manage two dedicated area on the data storage device, in which
a first dedicated area (PRAR) is used for software from the recognized
software developer and has two sub-dedicated area, a first sub-dedicated
area (PRAR 1) and a second sub-dedicated area (PRAR 2), and a second
dedicated area (UNAR) is used for software from unrecognized software
developers.
[0040]Specifically, the data storage device controller will dedicate
and manage two areas on data storage device:
[0041]A dedicated area for the installing of unrecognized developer's
software will be referred as "unprotected area"--UNAR.
[0042]A dedicated area for the installing of recognized developer's
software will be referred as "protected area"--PRAR and
contains two areas:
[0043]PRAR 1--temporary directory, which will be used for installation
of the files of applications software during the checking where
the applications software is properly installed and not illegally
modified or not. PRAR 1 will be inaccessible for any software or
devices except controller of data storage device.
[0044]PRAR 2 will contain the executable files of properly installed
applications software after reinstallation from PRAR 1.
[0045]Preferably, if checking is performed during the installation
process of the applications software, the step of checking whether
the applications software is properly installed and not illegally
modified comprises the following sub-steps:
[0046]Installing, by the data storage device controller, the applications
software to the first sub-dedicated area (PRAR 1) of the data storage
device;
[0047]Checking, by the data storage device controller, the data
storage device to obtain detailed information about the installed
applications software;
[0048]Obtaining, by the data storage device controller, detailed
information about the applications software which is provided by
a recognized software developer;
[0049]Comparing the detailed information obtained from the data
storage device with the detailed information which is provided by
the recognized software developer;
[0050]Determining that the applications software has been properly
installed and not illegally modified on the data storage device
if a result of the above comparison is that the obtained two pieces
of detailed information are the same; otherwise, determining that
the applications software is not properly installed or illegally
modified on the data storage device if the result of the above comparison
is that the obtained two pieces of detailed information are different;
and
[0051]Reinstalling, by the data storage device controller, the
applications software from the first sub-dedicated area (PRAR 1)
of the data storage device to the second sub-dedicated are (PRAR
2) or to the second dedicated area (UNAR) of the data storage device;
otherwise, deleting, by the data storage device controller, the
installed applications software from the first sub-dedicated area
(PRAR 1) of the data storage device.
[0052]Preferably, the first and the second sub-dedicated areas
(PRAR 1 and PRAR 2) will be kept encrypted by data storage device
controller. It will be done by using any known or future encryption
algorithms It must be so to avoid copying, moving, etc. of files
of the protected applications software in case current PC or data
storage device controller are turned off.
[0053]Preferably, the step of checking whether the already installed
applications software is properly installed and not illegally modified
comprises the following sub-steps:
[0054]Checking, by the data storage device controller, the data
storage device to obtain detailed information about the installed
applications software;
[0055]Obtaining, by the data storage device controller, detailed
information about the applications software which is provided by
a recognized software developer;
[0056]Comparing the detailed information obtained from the data
storage device with the detailed information which is provided by
the recognized software developer; and
[0057]Determining that the applications software has been properly
installed and not illegally modified on the data storage device
if a result of the above comparison is that the obtained two pieces
of detailed information are the same; otherwise, determining that
the applications software is not properly installed or illegally
modified in the data storage device if the result of the above comparison
is that the obtained two pieces of detailed information are different.
[0058]Preferably, the data storage device controller obtains the
detailed information about the applications software provided from
a recognized software developer by means of credit cards, debit
cards, smart cards, IC cards, Internet or networks.
[0059]Preferably, the data storage device controller controls directly
all devices which are used to obtain the detailed information about
the applications software provided from a recognized software developer
by means of credit cards, debit cards, smart cards, IC cards, Internet
or networks.
[0060]Preferably, the data storage device controller will independently
process the obtaining of the detailed information about application
software by using credit cards, debit cards, smart cards, IC cards,
Internet or networks, etc., without involving of any systems or
applications software.
[0061]Preferably, the detailed information is always encrypted,
especially when the detailed information is transmitted through
Internet or networks.
[0062]Present invention will use detailed information about the
applications software to check current installation pack and already
installed applications software files to avoid cracking of it.
[0063]This detailed information will be provided by a recognized
software developer cooperatively or additionally to security certificate.
[0064]It is understood by those skilled in the art that security
certificates CONFIRM THE VALIDITY OF SOURCE; and the detailed information
about the applications software CONFIRM VALIDITY OF CONTENT.
[0065]Preferably, the step of determining the available time period
of the applications software comprises following sub-steps:
[0066]Gathering information about a usage level of the applications
software;
[0067]Determining whether the current usage level of the applications
software is higher than a basic usage level predetermined by a software
developer or a vendor;
[0068]Determining the available time period on the basis of a fee
paid by the user and a first price, if the usage level is not higher
than the predetermined basic level; and
[0069]Determining the available time period on the basis of a fee
paid by the user and a second price, if the usage level is higher
than the predetermined basic level.
[0070]Preferably, the usage level of the applications software
is determined according to at least one of: [0071]total usage time
period; [0072]daily usage time period; [0073]total amount of input
information; [0074]total amount of processed information; [0075]used
features of the applications software.
[0076]Preferably, in case the total or daily usage time period
is longer than a predetermined basic time period, it is determined
that the usage level of the applications software is higher than
the predetermined basic usage level; or in a case where the total
amount of inputted information is more than a predetermined basic
information amount, it is determined that the usage level of the
applications software is higher than the predetermined basic usage
level; or in a case where the total amount of processed information
is more than a predetermined basic information amount, it is determined
that the usage level of the applications software is higher than
the predetermined basic usage level; or in a case where a special
feature of the applications software is used, it is determined that
the usage level of the applications software is higher than the
predetermined basic usage level.
[0077]Advantageously, the price and other information which will
be used to determine time available period for each user of the
PC to use protected applications software, will be defined by its
developer, owner or vendor, and depend on types, available features,
etc. of the protected applications software which can not be fully
described according to the current common example of the applications
software but can be easily realized by those skilled in the art.
[0078]Preferably, the first and the second prices are obtained
by means of credit cards, debit cards, smart cards, IC cards or
networks.
[0079]Preferably, information related to the first and the second
prices is always encrypted, especially when the information related
to the first and the second prices is transmitted through networks.
[0080]Preferably, data storage device controller will check all
files which are preinstalled or will be installed on data storage
device.
[0081]Preferably, will be used some control file format, for example:
*.cff. It is a sample of some general file format which must be
used for distribution of protected files. Of course, it can be any
other newly created file format and the present invention is not
limited thereto.
[0082]Preferably, if a developer wishes that his software (files)
will be protected, he will convert it into *.cff format before he
releases this software for public usage.
[0083]Preferably, the invented method further includes, before
the step of checking whether the applications software is properly
installed and not illegally modified:
[0084]converting, by the data storage device controller, *.cff
files into its original file formats; and
[0085]enabling the installation to begin to the first sub-dedicated
area (PRAR 1) for the recognized software developer.
[0086]Preferably, the developer also will distribute the detailed
information about software (files) so it will be available through
networks (such as Internet, LAN, WAN) or from any other available
sources (such as credit cards, debit cards, IC cards etc.). When
it is transmitted through networks, the transmitted information
may be encrypted by using any known or future encryption algorithms
so as to prevent the transmitted detailed information from hacking
during the network transmission.
[0087]Preferably, the files which are not protected can be distributed
in its usual format, like *.exe, *.bat, *.com, script files, *.txt,
*.doc, *.wav, etc.
[0088]Preferably, the converting into and from *.cff format will
be standardized. The converting into and from *.cff format must
be processed by data storage device controller only.
[0089]Preferably, during the converting of any types of files into
*.cff format, the data storage device controller will add digital
watermarking to newly created *.cff files.
[0090]Preferably, any operations like opening, editing, copying,
moving, etc. of *.cff files will be processed by data storage device
controller only. It must be so to avoid any illegal action (cracking)
which can be applied to *.cff files.
[0091]Preferably, any operations like opening, editing, copying,
moving, deleting, etc. of any files will be processed by data storage
device controller only.
[0092]Preferably, in a case where the user wants to install some
patch to update applications software on the second sub-dedicated
area (PRAR 2) or the second dedicated area (UNAR), the patching
will be performed by the same way as common installation of the
any other applications software. Next time when applications software
has to be paid, the controller will summarize information from recognized
software developers and information of the last patching so that
the payment will be allowed or not.
[0093]Preferable, the data storage; device controller will realize
some strong restrictions to software installed on the second dedicated
area (UNAR)--it must have no any access to the first and the second
sub-dedicated areas (PRAR 1 and PRAR 2).
[0094]Preferably, the data storage device controller controls activity
of data storage devices and all devices which can be a source from
which can be launched and executed the applications software: hard
disk, compact disk (CD), digital versatile disk (DVD), floppy disk,
magnetic tape, flash memory, ZIP disk, network memory, etc.
[0095]Preferably, the data storage device controller controls activity
of all devices, such as card reader, etc., which will be used by
user to perform the payment with credit cards, debit cards, smart
cards, etc.
[0096]Preferably, the data storage; device controller will independently
perform the payment by using credit cards, debit cards, smart cards,
etc., without the involving of any systems or applications software.
[0097]Preferably, the data storage device controller is an integrated
important constitutive element of the motherboard, once it is illegally
replaced or intruded, the computer motherboard will be broken down.
[0098]Preferably, the data storage device controller activity is
independent from any other device or software and it controls directly
all devices which can be a source to launch and execute the applications
software.
[0099]According to the present invention, the data storage device
controller will let launch the applications software which is properly
installed and not illegally modified but is not paid in case it
has not to be paid according to USER LICENSE AGREEMENT. The payment
details have to be provided together with detailed information about
applications software by the recognized software developer or vendor.
[0100]Preferably, the user performs the payment process in an off-line
payment manner or in an on-line payment manner.
[0101]As it was mentioned before, applications software is used
as a sample to explain proposed file protection method.
[0102]The method for preventing illegal use of applications software
according to the present invention controls the launch and execution
of the applications software and performs termination of the applications
software with the data storage device controller. Therefore even
if the user illegally breaks (cracks) the various copy-protection
and registration techniques being used to protect current applications
software, by modifying the files which are involved in the protection
procedure, the illegal use of the applications software can still
be directly prevented by the data storage device controller.
[0103]Specifically, the present invention provides a method for
preventing illegal use of any files. The present invention controls
launch, execution, termination, opening, editing, copying, moving,
etc. of all types of files which can be stored on data storage device
with hardware.
[0104]Therefore even if the user illegally breaks (cracks) the
various copy-protection and registration techniques being used to
protect current files, by modifying the files which are involved
in the protection procedure, the illegal use of the current files
can still be directly prevented by the hardware.
[0105]Here, the term "software" means anything that can
be stored electronically. All software stored on a storage device
must be in a file or several files. Software is often divided into
two categories: data and programs.
[0106]Data is distinct pieces of information, usually formatted
in a special way. Data can exist as bits and bytes stored in electronic
memory.
[0107]Programs:
[0108]Applications software includes programs that do real work
for users. For example, word processors, spreadsheets, and database
management systems fall under the category of applications software.
[0109]Systems software includes the operating system and all the
utilities that enable the computer to function files.
[0110]Here, the term "illegal use" means usage of the
software without a permission of its developer or its owner or its
vendor, and/or involved PC user, which infringes copyrights, violates
patents or intellectual property rights or breaks any other law;
or which damages files or inflicts losses on anybody.
[0111]Therefore, this application describes apparatus, techniques
and systems for preventing illegal use of software and other digital
files based on operations of a data storage device controller in
a computer or computer system. For example, a method for preventing
illegal use of a digital file includes: operating a data storage
device controller in a computer to control use of a digital file
stored on one or more data storage devices; before a use of the
digital file, operating the data storage device controller to access
a storage device on which the digital file is stored to check whether
the digital file meets a condition for use; and operating the data
storage device controller to block the use of the digital file when
the condition is not met and to allow use of the digital file when
the condition is met. The digital file can be an application software
or other digital documents. The use of the digital file can include
various operations associated with digital files, e.g., opening,
editing, copying, moving, deleting and modifying an installed file,
or launching or executing an application software.
[0112]For another example, a computer device configured for preventing
illegal use of software is described to include: one or more data
storage devices on which at least one operating system and at least
one digital file are installed; a data storage device controller
in communication with and operable to control execution of each
digital file stored on the one or more data storage devices. Before
use of each digital file, the data storage device controller is
configured to check whether the digital file is properly installed
or is illegally modified, and block the use of the digital file
when the digital file is not properly installed or illegally modified.
The digital file can be an application software or other digital
documents. The use of the digital file can include various operations
associated with digital files, e.g., opening, editing, copying,
moving, deleting and modifying an installed file, or launching or
executing an application software.
[0113]For yet another example, a computer program product for preventing
illegal use of a digital file is described. This product is encoded
on one or more computer-readable media and operable to cause data
processing apparatus to perform at least the following operations:
using a data storage device controller to control use of each digital
file stored on one or more data storage devices; before a use of
each digital file, operating the data storage device controller
to access a storage device on which the digital file is stored to
check whether the digital file meets a condition for use; and operating
the data storage device controller to block execution of the digital
file when the condition is not met and to allow use of the digital
file when the condition is met.
[0114]These and other embodiments, their operations and associated
advantages in various implementations are described in greater detail
in the drawings, the description and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0115]FIG. 1 is a flowchart of a method for preventing illegal
use of applications software according to the present invention;
[0116]FIG. 2 is a flowchart showing a checking step S102 of the
proper installation of an applications software as shown in FIG.
1;
[0117]FIG. 3 is a flowchart showing a determining step S105 of
the available time period as shown in FIG. 1;
[0118]FIG. 4 is a system block diagram for illustrating the operation
principles of the method according to the present invention;
[0119]FIG. 5 is a system block diagram for illustrating a conventional
method for protecting an applications software program;
[0120]FIG. 6 is a system block diagram for illustrating another
conventional method for protecting an applications software program;
and
[0121]FIG. 7 is a system block diagram for illustrating still another
conventional method for protecting an applications software program.
DETAILED DESCRIPTION
[0122]Now, the present invention will be described in conjunction
with the accompanied drawings. It has to be noted that the embodiments
described in detail are for illustration only, not limitations to
the protection scope of the present invention.
[0123]The method of the present invention will be described in
detailed as referring to FIGS. 1-4 in the following. Same or similar
components are denoted with same reference signals throughout the
drawings.
[0124]FIG. 4 is a system block diagram for illustrating the operation
principles of the method according to the present invention. Referring
to FIG. 4, in the present invention, a data storage device controller')
integrated on a computer motherboard 6 is modified and upgraded
so, that during its operation, in addition to the control of data
storage device 3, the data storage device controller 9 performs
a check of the files of an installed applications software 2 on
the data storage device 3. Specifically, in the present invention,
the data storage device controller 9 performs functionalities of
the controllers of the following hardware: hard disk driver, CD-ROM,
DVD-ROM, flash memory, ZIP driver, etc., and it performs the control
of the activity of all other devices which can be a source of the
files to launch and execute the applications software 2. And, the
data storage device controller 9 further determines the available
time period for each PC user by gathering and calculating some specific
information, which will be described in detail later.
[0125]It is understood by those skilled in the art that the above
hardware is only examples of devices and the innovation of the present
invention can be applied to various existing and future devices
which can be a source to launch, execute, terminate, open, edit,
copy, move, etc. all types of files. Moreover, the data storage
device controller 9 further controls a device for performing off-line/on-line
payment. For example, the device for performing off-line/on-line
payment includes, but is not limited to, credit card, debit card,
smart card, IC card and the like. For simplicity, in the following
description, the present invention is described by using the smart
card as the example. However, such description is not intended to
limit the scope of the present invention.
[0126]The detailed contents about common disk drive controller
can be found from the web site address: http://www.webopedia.com/TERM/D/disk-controller.html.
In personal computers, the controllers are often single chips for
controlling the bidirectional communications between the computer
and peripheral devices. When a computer is purchased, all necessary
controllers for standard components such as display screen, keyboard
and disk drives are already equipped therewith. If an additional
device is attached, however, a new controller is needed to be inserted
therein. The controller must be designed to communicate with the
computer's expansion bus. There are three standard bus architectures
for PCs--AT bus, PCI (Peripheral Component Interconnect) and SCSI
(Small Computer Systems Interface). When a controller is purchased,
therefore, it must be ensured that the controller conforms to the
bus architecture that the computer uses.
[0127]In an exemplary situation of the present invention as shown
in FIG. 4, similar to that as shown in FIG. 5, after obtaining applications
software the user installs files associated with it on to the data
storage device 3. As used herein, the data storage device 3 means
any devices which can be a source of the files to launch and execute
the applications software such as hard disk, compact disk (CD),
digital versatile disk (DVD), floppy disk, magnetic tape, flash
memory, network memory etc. Various files of the installed applications
software 2 are still in an unprotected state. The user can still
make modifications to the files of applications software 2 through
cracking program 1. However, before the applications software will
be executed, according to the method of the present invention, the
data storage device controller 9 will directly, without involving
of the operating system 4 or any other software or hardware, check
the files installed on the data storage device 3. When it finds
that the installed applications software is a protected software,
the data storage device controller 9 will directly, without involving
of the operating system 4 or any other software or hardware, check
whether the protected applications software is properly installed
and not illegally modified or not. When it is found that the files
are illegally modified or the applications software has to be paid,
the launch and execution of the applications software will be blocked
directly without involving of the operating system 4 or any other
software or hardware. Therefore applications software is protected
from hardware hierarchy. No matter how the user modifies the various
files of the applications software 2, the files of dedicated protection
software program 7 (for example, FIG. 6) or the files of operation
system 4 (for example, FIG. 6), the check and the control of applications
software initiated by the data storage device controller 9 can not
be avoided at all.
[0128]It means that user must modify hardware to avoid proposed
protection. And, since the data storage device controller 9 is an
integrated important constitutive element of the motherboard, once
it is illegally replaced or intruded, the computer motherboard will
be broken down. Thus, the illegal use of software is prevented effectively.
[0129]Now, the method for protecting applications software programs
according to the present invention will be described in details
by reference to FIGS. 1-3.
[0130]FIG. 1 is a flowchart of a method for preventing illegal
use of applications software according to the present invention.
[0131]First of all, referring to FIG. 1, at Step S101, the data
storage device controller 9 checks data streams flowing through
the data storage device controller 9, when the user accesses the
data storage device 3 through the operation systems 4 or other paths
in order to execute the applications software 2 stored on the data
storage device 3. The data storage device controller 9 firstly checks
whether the user properly installs the protected applications software
2 at Step S102, and its detailed operation procedure is shown in
FIG. 2.
[0132]FIG. 2 is a flowchart showing a checking step S102 of the
proper installation of applications software as shown in FIG. 1.
[0133]Referring to FIG. 2, at Step S201, the data storage device
controller 9 checks the data storage device 3 to obtain detailed
information (special data) about the files of applications software
2 (gathers detailed information about the files of applications
software 2 from the data storage device 3). The detailed information
includes but is not limited to installation directory structure
of the application, names of files, types of files, sizes of files,
digital watermark marking, etc.
[0134]Digital watermarking means a pattern of bits inserted into
a file that identifies the file's copyright information (author,
rights, identification, etc.). Watermarking is also called data
embedding and information hiding.
[0135]Once the user modifies the files of applications software
2 by using the crack program 1, the above information will be changed.
At Step S202, the data storage device controller 9 then checks the
smart card inserted in a smart card reader (not shown) to obtain
detailed information about the files of applications software 2
provided by a recognized software developer. And, at Step S203,
it judges whether the obtained two pieces of detailed information
are same or not. If the detailed information obtained from the data
storage device 3 matches with the detailed information obtained
from the smart card, it is then determined at Step S204 that the
protected applications software 2 is properly installed and not
illegally modified; otherwise, it is determined at Step S205 that
the protected applications software 2 is not installed properly.
[0136]The data storage device controller controls directly all
devices which are used to obtain the detailed information about
the applications software provided from a recognized software developer
by means of credit cards, debit cards, smart cards, IC cards, Internet
or networks.
[0137]The data storage device controller must independently process
the obtaining of the detailed information about application software
by using credit cards, debit cards, smart cards, IC cards, Internet
or networks, etc., without the involving of any systems or applications
software.
[0138]Every developer, which does not produce viruses or any other
harmful software, can be a recognized developer free of charge.
To implement the current invention, some organization will be established,
for example, Software Developer Union, which will:
[0139]keeps a list of the recognized software developers;
[0140]performs recognition of the software developers by checking
the safety of software before it will be released;
[0141]keeps the information, which will be used by the data storage
device controller 9 to check whether the current applications software
is properly installed and not illegally modified or not;
[0142]provides this information on-line; and
[0143]provides this information on smart cards.
[0144]It is noted that the smart card is used only as an example
herein. The data storage device controller 9 can acquire the detailed
information about the files of applications software 2 provided
from the recognized software developer through networks (such as
Internet, LAN, WAN) or from any other available sources (such as
credit cards, debit cards, IC cards etc.). When it is transmitted
through networks, the transmitted information may be encrypted by
using any known or future encryption algorithms so as to prevent
the transmitted detailed information from hacking during the network
transmission.
[0145]It has to be also noted that all the information described
in the present document may be appropriately encrypted, especially
when it will be transmitted through networks. All the encryption
and decryption algorithms have to be known and easily implemented
by those skilled in the art. Since the innovation of the present
invention is not focusing on this aspect, the detailed descriptions
about them are omitted.
[0146]Thus, software developers must provide the detailed information
about the files of applications software 2 to be a recognized software
developer and to perform the above judgment step S203. In case some
recognized software developers want let users use applications software
free of charge, they have to mark the software as free of charge
software and provide this information together with the detailed
information about the files of applications software 2.
[0147]Furthermore, the step S102 of checking whether the applications
software is properly installed and not illegally modified may be
done-by two ways. One is a checking which is has to be performed
during the installation process of the applications software 2 on
data storage device 3. The other one is a checking of files of applications
software 2 which are already installed on data storage device 3.
The second way of checking must be performed before applications
software: 2 will be paid, which has already been described referring
to FIG. 2.
[0148]The data storage device controller 9 must dedicate and manage
two areas on data storage device 3 (not shown in drawings):
[0149]A dedicated area for the installing of unrecognized developer's
software referred as "unprotected area"--UNAR. UNAR must
operate as today the common data storage devices operate. It means
that patching, editing, etc., of software (files) on the UNAR can
be done by patch from any software developers or user. Of course,
all software will be checked to avoid illegal usage of it. In a
case where the data storage device controller recognizes some protected
software, it will block this patching procedure.
[0150]A dedicated area for the installing of recognized developer's
software referred as protected area"--PRAR. Patching, editing,
etc. to the software on the PRAR are available to the user according
to made payment and software license. It means that patching, editing,
etc., of software (files) on the UNAR can be done by patch from
recognized software developers only. PRAR will contain two areas:
[0151]PRAR 1--temporary directory, which will be used for installation
of the files of applications software: during the checking where
the applications software is properly installed and not illegally
modified or not. PRAR 1 has to be inaccessible for any software
or devices except controller of data storage device.
[0152]PRAR 2 will contain the executable files of properly installed
applications software after reinstallation from PRAR 1.
[0153]Now, the procedure to perform checking during the installation
process of the applications software will be described in further
detailed. The data storage device controller 9 performs installation
of the applications software to PRAR 1 of the data storage device
3. The data storage device controller 9 then checks whether the
applications software is properly installed and not illegally modified
or not (according to the steps shown in FIG. 2A). If the checking
is successful, the data storage device controller 9 performs reinstallation
of applications software from the PRAR 1 to PRAR 2 for software
from recognized developer or to original directory of the UNAR for
software from unrecognized developer (for example, C:\Program files\
. . . or D:\Program files\ . . . , etc.). Otherwise, the data storage
device controller 9 will delete the files of installed applications
software from the PRAR of the data storage device 3 in case the
checking is unsuccessful.
[0154]In general, PRAR and installed files (software) on PRAR must
be encrypted by using any known or future encryption algorithms.
This encryption must be done by data storage device controller 9.
The encryption prevents illegal copying, moving, and other operations
of the protected software (files) to/from other data storage devices
or to/from UNAR in case current PC or data storage device controller
9 are turned off. All the encryption and decryption algorithms will
be known and easily implemented by those skilled in the art. Since
the innovation of the present invention is not focusing on this
aspect, the detailed descriptions about them are omitted.
[0155]As compared with an antivirus application, the inventive
method is different in the following aspects. Firstly, the antivirus
application is software, whereas the data storage device controller
9 is independent hardware with its own software installed inside.
Of course, some special antivirus software can also be installed
into the data storage device controller 9. Secondly, the antivirus
application tries to find well-known viruses, but the data storage
device controller 9 strongly confirms sources and contents by comparing
the information from the data storage device 3 with the information
received from the recognized software developer or vendor. Thirdly,
the antivirus application checks installation process in the operation
system environment, whereas the data storage device controller 9
will perform it independently without any involving of the operation
system and any other software. Fourthly, the antivirus application
checks files one by one, whereas the data storage device controller
9 checks all files together.
[0156]Returning to FIG. 1, if it is determined at Step S102 that
the protected applications software 2 is not properly installed
or illegally modified, it then proceeds to Step S109, blocking the
launch of the protected application program and displaying an error
message, and then it terminates at Step S110. On the other hand,
if it is determined at Step S102 that the protected applications
software 2 is properly installed and not illegally modified, it
then goes to Step S111 to determine whether the software developer
wants his software to be paid or not. Whether the software developer
wants his software to be paid or not may be determined by a flag
recorded in the smart card together with the provided by him detailed
information about the files of the applications software, or by
any other secure and safety way. When it is transmitted, the transmitted
information may be encrypted by using any known or future encryption
algorithms so as to prevent the transmitted detailed information
from hacking.
[0157]It will also be noted that all the information described
in the present document may be appropriately encrypted. All the
encryption and decryption algorithms will be known and easily implemented
by those skilled in the art. Since the innovation of the present
invention is not focusing on this aspect, the detailed descriptions
about them are omitted.
[0158]If it is determined at Step S111 that the software developer
would like to provide his applications software 2 free of charge,
it then proceeds to Step S112 and the user is allowed to use the
properly installed and not illegally modified applications software
2 normally. If it is determined at Step S 111 that the usage of
the software has to be charged, it then goes to Step S103 to prompt
the user to make an off-line/on-line payment. And then, it is determined
at Step S104 whether the user has already performs the off-line/on-line
payment or not. The user may make his off-line/on-line payment with
credit card, debit card, smart card, IC card and so on.
[0159]When it is determined that the user does not perform a payment
process ("No" in Step S104), it proceeds to Step S109
to block the launch of the protected applications software and to
display an error message, and then it is terminated at Step S 110.
On the other hand, when it is determined that the user already performs
a payment process ("Yes" in Step S104), it then goes to
Step S105. The available time period of usage of protected application
2 for each user of the PC is determined at Step S105, and its detailed
operation procedure is shown in FIG. 3.
[0160]FIG. 3 is a flowchart showing a determining step 105 of the
available time period as shown in FIG. 1.
[0161]Referring to FIG. 3 at Step S301, a usage level of the protected
applications software program 2 is checked firstly. The usage level
of the protected application program 2 can be calculated through
the following processes: 1) summing up the usage time period of
this applications software; 2) summing up all the information which
is input and processed by this applications software per an hour;
and 3) counting all kinds of features (functions) of this applications
software which are used by the user.
[0162]Next, at Step S302, it is judged whether the usage level
of the applications software 2 is higher than a predetermined usage
level. For example, if a usage time period of the user's using of
this applications software is more than a predetermined time period,
then it is determined that the usage level of the applications software
by the user is higher than the predetermined usage level. Or, if
an amount of the information input by the user per an hour to this
applications software is more than a predetermined information amount,
then it is determined that the usage level of the applications software
by the user is higher than the predetermined usage level. Or, if
an amount of the information processed by this applications software
per an hour is more than a predetermined information amount, then
it is determined that the usage level of the applications software
by the user is higher than the predetermined usage level. Or, if
the user uses a special feature of this applications software, then
it is determined that the usage level of the applications software
by the user is higher than the predetermined usage level. Whether
the usage level of the applications software by the user is higher
than the predetermined usage level can also be determined with any
combinations of the above determining methods, its variants or other
methods. It must be done to know who uses applications software:
beginner or professional user.
[0163]If the usage level of the applications software 2 by the
user is not higher than the predetermined usage level ("No"
in Step S302), it is then determined that this user is a beginner
(Step 310), and the smart card (or other information sources) is
read to obtain a price which is specified by the recognized software
developer or vendor, for a beginner at Step S311. Then, at Step
S312, the available time period is determined on the basis of the
payment of the user (Step S104) and the price for a beginner (Step
S311). If the usage level of the applications software 2 by the
user is higher than the predetermined usage level ("Yes"
in Step S302), it is then determined that this user is an advanced
user (Step 320), and the smart card (or other information sources)
is read to obtain a price which is specified by the recognized software
developer or vendor for an advanced user at Step S321. Then, at
Step S322, the available time period is determined on the basis
of the payment of the user (Step S104) and the price for an advanced
user (Step S321).
[0164]In particularly, if the user pays a usage fee of $100 at
Step S104 and is determined as a beginner in accordance with a usage
time period less or equal to 1000 hours, and thereby a price for
a beginner, $0.1 per hour, is obtained from the recognized software
developer or vendor, then the available time period determined in
Step S312 is $100/$0.1/hour=1000 hours. If the usage time period
is larger than 1000 hours, then the user is determined as an advanced
user, and thereby a price for an advanced user, $0.5 per hour, is
obtained from the recognized software developer or vendor, and thus
the available time period determined in Step S322 is $100/$0.5/hour=200
hours.
[0165]Returning to FIG. 1, at Step S106, the user is allowed to
use the protected applications software 2 normally. After a predetermined
time period, or at a predetermined moment, Step S 107 is performed
to check whether the used time period is larger than the available
time period determined in Step S105. If the used time period is
not larger than the available timer period ("No" in Step
S107), the user then is still allowed to use the protected applications
software 2 normally (Step S106). If the used time period is larger
than the available time period ("Yes" in Step S107), it
goes to Step S108 to prompt the user to make the payment once more.
And then, it is determined at Step S104 whether the user has already
performs the off-line/on-line payment or not. When it is determined
that the user does not perform a payment process ("No"
in Step S104), it proceeds to Step S109 to terminate the execution
of the protected applications software and to display an error message,
and then it is ended at Step S110.
[0166]According to the present invention any operations like opening,
editing, copying, moving, deleting, etc. of any installed files
can be processed by data storage device controller only.
[0167]Additionally, the data storage device controller controls
activity of all devices, such as card reader, etc., which will be
used by user to perform the payment with credit cards, debit cards,
smart cards, etc,
[0168]Furthermore, the data storage device controller must independently
perform the payment by using credit cards, debit cards, smart cards,
etc, without involving of any systems or applications software.
[0169]Above, the present invention has been described referring
to FIGS. 1-4. However, as it is known by those skilled in the art,
the present invention can be embodied as hardware, software, firmware,
middleware and other forms.
[0170]Furthermore, as is known today, there are many types of the
files which are used by users and developers and which must be protected,
such as *.exe, *.bat, *.com, script files, *.txt, *.doc, *.wav,
etc. So, before opening or launching of any types of files the data
storage device controller 9 must check it whether it has to be paid
or not.
[0171]To solve this question must be used some control file format,
for example: *.cff. It is a sample of some general file format which
must be used for distribution of protected files. Of course, it
can be any other newly created file format and the present invention
is not limited thereto.
[0172]The files which are not protected can be distributed in its
usual format, like *.exe, *.bat, *.com, script files, *.txt, *.doc,
*.wav, etc.
[0173]Data storage device controller 9 must check all files which
are preinstalled or will be installed on data storage device 3.
[0174]If a developer wishes that his software (files) will be protected,
he will convert it into *.cff format before he releases this software
for public usage. The developer also must distribute the detailed
information about software (files) so it will be available through
networks (such as Internet, LAN, WAN) or from any other available
sources (such as credit cards, debit cards, IC cards etc.). When
it is transmitted through networks, the transmitted information
may be encrypted by using any known or future encryption algorithms
so as to prevent the transmitted detailed information from hacking
during the network transmission.
[0175]In case *.cff file has to be opened, the data storage device
controller 9 will convert *.cff file into its original file format,
enable installation to begin on PRAR 1, and check the installation
process as mentioned above (see FIG. 2). If the installation is
incorrect or unsafe, the data storage device controller 9 will block
it. On the other hand, if the installation is correct, the data
storage device controller 9 will allow the Operating System 4 (see
FIG. 4) to execute the original file only with/without permission
to be launched, copied, changed, etc., according to the made payment
and type of license.
[0176]The converting into and from *.cff format must be standardized.
The converting into and from *.cff format must be processed by data
storage device controller 9 only.
[0177]During the converting of any types of files into *.cff format,
the data storage device controller must add digital watermarking
to newly created *.cff file.
[0178]Furthermore, any operations like opening, editing, copying,
moving, etc. of *.cff files must be processed by data storage device
controller only. It must be so to avoid any illegal action (cracking)
which can be applied to *.cff files.
[0179]Additionally, under the environment of the present invention,
in a case where the user wants to install some patch to update or
legally patch the applications software on PRAR 2, patching and
further payment, usage, etc. will be allowed if.
[0180]The patch is provided by the same software developer, which
releases current applications software.
[0181]The patch is provided by the different software developer,
but he is a recognized software developer.
[0182]Patching and further payment, usage, etc. will be not allowed
if the patch is provided by the unrecognized software developer.
[0183]Next time when applications software has to be paid, the
controller will summarize information from recognized. software
developer and information of the last patching so that the payment
will be allowed.
[0184]The patching will be performed by the same way as common
installation of the any other applications software. The data storage
controller performs installation of the patch to PRAR 1 of the data
storage device 3. The data storage controller 9 checks whether the
patch is properly installed and not illegally modified or not. If
the checking is successful, the data storage device controller 9
performs reinstallation of the patch from PRAR 1 to original directory
of PRAR 2 (for example, C:\Program files\ . . . ). Otherwise, the
data storage device controller 9 will delete the patch from the
PRAR 1 of the data storage device 3 in case the checking, is unsuccessful.
[0185]In case user wishes develop and launch own software, or install
software or some patch from unrecognized developer, the data storage
controller 9 performs installation of the current software to PRAR
1 of the data storage device 3. The data storage controller 9 checks
whether the installed files are properly installed and not illegally
modified or not. If the installed files are not protected and has
not to be paid, the data storage device controller 9 performs reinstallation
of the patch from PRAR 1 to UNAR (for example, C:\Program files\
. . . or D:\Program files\ . . . , etc.). Otherwise, the data storage
device controller 9 will ask for payment or delete the installed
files from the PRAR 1 of the data storage device 3.
[0186]Before the user begins the installation or launching of software
from unrecognized developer, the user must receive and install the
up to date list of protected software (files) with detailed information
about these files, through networks (such as Internet, LAN, WAN)
or from any other available sources (such as credit cards, debit
cards, IC cards etc.) to data storage device controller 9. When
it is transmitted through networks, the transmitted information
may be encrypted by using any known or future encryption algorithms
so as to prevent the transmitted detailed information from hacking
during the network transmission.
[0187]The data storage device controller 9 must realize some strong
restrictions to software installed on UNAR--it must have no any
access to PRAR 1 and PRAR 2.
[0188]In summary, with reference to FIG. 4, the data storage device
controller 9 converts *.cff files into their original formats *.exe,
*.doc, etc. The data storage device controller 9 installs the software
to the PRAR 2 or UNAR. The user can use the files according to his
made payment and software license terms. The user can patch installed
on PRAR 2 software by patch from a recognized software developer
only. The user can patch installed on UNAR software by patch from
unrecognized software developer only. The user can install the software
from unrecognized software developer to UNAR. The installed on UNAR
software has no any access to PRAR 1 and PRAR 2.
[0189]It has to be also noted that all the information described
in the present document may be appropriately encrypted, especially
when it will be transmitted through networks. All the encryption
and decryption algorithms have to be known and easily implemented
by those skilled in the art. Since the innovation of the present
invention is not focusing on this aspect, the detailed descriptions
about them are omitted.
[0190]It has to be also noted that here applications software was
used as a sample to explain proposed protection method. It is understood
by those skilled in the art that the proposed protection method
can be used to protect any files (software) which can be stored
on data storage device.
[0191]The present invention can also be realized as computer-executable
instructions in computer-readable media. The computer-readable media
includes all possible kinds of media in which computer-readable
data is stored or included or can include any type of data that
can be read by a computer or a processing unit. The computer-readable
media include for example and are. not limited to storing media,
such as magnetic storing media (e.g., ROMs, floppy disks, hard disk,
and the like), optical reading media (e.g., CD-ROMs (compact disk-read-only
memory), DVDs (digital versatile disks), re-writable versions of
the optical disks, and the like), hybrid magnetic optical disks,
organic disks, system memory (read-only memory, random access memory),
non volatile memory such as flash memory or any other volatile or
non-volatile memory, other semiconductor media, electronic media,
electromagnetic media, infrared, and other communication media such
as carrier waves (e.g., transmission via the Internet or another
computer). Communication media generally embodies computer-readable
instructions, data structures, program modules or other data in
a modulated signal such as the carrier waves or other transportable
mechanism including any information delivery media. Computer-readable
media such as communication media may include wireless media such
as radio frequency, infrared microwaves, and wired media such as
a wired network. Also, the computer-readable media can store and
execute computer-readable codes that are distributed in computers
connected via a network. The computer readable medium also includes
cooperating or interconnected computer readable media that are in
the processing system or are distributed among multiple processing
systems that may be local or remote to the processing system. The
present invention can include the computer-readable medium having
stored thereon a data structure including a plurality of fields
containing data representing the techniques of the present invention.
[0192]Examples of methods for preventing illegal use of software
are described throughout this application and include the following
specific examples.
[0193]1. A method for preventing illegal use of software, comprising:
[0194]checking, by a data storage device controller, whether the
software is properly installed and not illegally modified on a data
storage device;
[0195]blocking, by the data storage device controller, a launch
of the software, if the software is not properly installed or illegally
modified on the data storage device;
[0196]checking, by the data storage device controller, whether
the software has to be paid for use, if the software is properly
installed and not illegally modified on the data storage device;
[0197]allowing the user to use the software normally, if the software
is free for use;
[0198]checking, by the data storage device controller, whether
a user has already performed a payment process, if the software
has to be paid for use;
[0199]blocking, by the data storage device controller, the launch
of the software, if the user does not perform the payment process;
[0200]determining an available time period of the software usage
for each user of the current personal computer in a case the user
has already made the payment, and allowing the user to use the software
normally;
[0201]prompting the user to perform the payment process once more
in a case of the used time period longer than the determined available
time period; and
[0202]terminating, by the data storage device controller, an execution
of the software, if the user does not perform the payment process
in time.
[0203]2. The method for preventing illegal use of software according
to Item 1, wherein the data storage device controller will dedicate
and manage two dedicated area on the data storage device, in which
a first dedicated area contains two sub-dedicated area: a first
sub-dedicated area is used for isolated checking, by a data storage
device controller, whether the software is properly installed and
not illegally modified; and a second sub-dedicated area is used:
for final installing of software from recognized developers; and
a second dedicated area is used for final installing of software
from unrecognized software developers.
[0204]3. The method for preventing illegal use of software according
to Item 2, wherein the first dedicated area will be kept permanently
encrypted by the data storage device controller.
[0205]4. The method for preventing illegal use of software according
to Item 2, wherein the data storage device controller provides restrictions
to software installed on the second dedicated area without any access
to the first dedicated area.
[0206]5. The method for preventing illegal use of software according
to Item 1, wherein the step of checking whether the software properly
installed and not illegally modified can be processed by the following
two ways:
[0207]checking the software during its installation process; and/or
[0208]checking the files of the already installed software before
the software will be paid.
[0209]6. The method for preventing illegal use of software according
to Item 5, wherein if the checking is performed during the installation
process of the software, the step of checking whether the software
is properly installed and not illegally modified comprises the following
sub-steps:
[0210]installing, by the data storage device controller, the software
to the first sub-dedicated area of the data storage device;
[0211]checking, by the data storage device controller, the data
storage device to obtain detailed information about the installed
software;
[0212]obtaining, by the data storage device controller, detailed
information about the software which is provided by a recognized
software developer;
[0213]comparing the detailed information obtained from the data
storage device with the detailed information which is provided by
the recognized software developer;
[0214]determining that the software has been properly installed
and not illegally modified on the data storage device if a result
of the above comparison is that the obtained two pieces of detailed
information are the same; otherwise, determining that the software
is not properly installed or illegally modified on the data storage
device, if the result of the above comparison is that the obtained
two pieces of detailed information are different; and
[0215]reinstalling, by the data storage device controller, the
software from the first sub-dedicated area of the data storage device
to the second sub-dedicated area or to the second dedicated area
of the data storage device; otherwise, deleting, by the data storage
device controller, the installed software from the first sub-dedicated
area of the data storage device.
[0216]7. The method for preventing illegal use of software according
to Item 5, wherein the step of checking whether the already installed
software is properly installed and not illegally modified comprises
the following sub-steps:
[0217]checking, by the data storage device controller, the data
storage device to obtain detailed information about the installed
software;
[0218]obtaining, by the data storage device controller, detailed
information about the software which is provided by a recognized
software developer;
[0219]comparing the detailed information obtained from the data
storage device with the detailed information which is provided by
the recognized software developer; and
[0220]determining that the software has been properly installed
and not illegally modified on the data storage device if a result
of the above comparison is that the obtained two pieces of detailed
information are the same; otherwise, determining that the software
is not properly installed or illegally modified in the data storage
device if the result of the above comparison is that the obtained
two pieces of detailed information are different.
[0221]8. The method for preventing, illegal use of software according
to any one of Items 5 to 7, wherein the data storage device controller
obtains the detailed information about the software provided from
a recognized software developer by means of credit cards, debit
cards, smart cards, IC cards, Internet or networks.
[0222]9. The method for preventing illegal use of software according
to Item 8, wherein the detailed information is always encrypted,
especially when the detailed information is transmitted through
Internet or networks.
[0223]10. The method for preventing illegal use of software according
to any one of Items 1-9, wherein the data storage device controller
controls directly all devices which are used to obtain the detailed
information about the applications software provided from a recognized
software developer by means of credit cards, debit cards, smart
cards, IC cards, Internet or networks.
[0224]11. The method for preventing illegal use of software according
to any one of Items 1-10, wherein the data storage device controller
must independently process the obtaining of the detailed information
about application software by using credit cards, debit cards, smart
cards, IC cards, Internet or networks, without involving of any
systems or applications software.
[0225]12. The method for preventing illegal use of software according
to Item 1, wherein the step of determining the available time period
of the software comprises following sub-steps:
[0226]gathering information about a usage level of the software;
[0227]determining whether.--the current usage level of the software
is higher than a basic usage level predetermined by a software developer
or a vendor;
[0228]determining the available time period on the basis of a fee
paid by the user and a first price, if the usage level is not higher
than the predetermined basic level; and
[0229]determining the available time period on the basis of a fee
paid by the user and a second price, if the usage level is higher
than the predetermined basic level.
[0230]13. The method for preventing illegal use of software according
to Item 12, wherein the usage level of the software is determined
according to at least one of: [0231]total usage time period; [0232]daily
usage time period; [0233]total amount of input information; [0234]total
amount of processed information; [0235]used features of the software.
[0236]14. The method for preventing illegal use of software according
to any one of Items 12-13, wherein:
[0237]in a case the total or daily usage time period is longer
than a predetermined basic time period, it is determined that the
usage level of the software is higher than the predetermined basic
usage level; or
[0238]in a case where the total amount of inputted information
is more than a predetermined basic information amount, it is determined
that the usage level of the software is higher than the predetermined
basic usage level; or
[0239]in a case where the total amount of processed information
is more than a predetermined basic information amount, it is determined
that the usage level of the software is higher than the predetermined
basic usage level; or
[0240]in a case where a special feature of the software is used,
it is determined that the usage level of the software is higher
than the predetermined basic usage level.
[0241]15. The method for preventing illegal use of software according
to any one of Items 12-14, wherein the first and the second prices
are obtained by means of credit cards, debit cards, smart cards,
IC cards or networks.
[0242]16. The method for preventing illegal use of software according
to Item 15, wherein information related to the first and the second
prices is always encrypted, especially when the information related
to the first and the second prices is transmitted through networks.
[0243]17. The method for preventing illegal use of software according
to any one of Items 1-16, wherein the recognized software developer
releases his software in a control file format--*.cff format with
digital watermarking.
[0244]18. The method for preventing illegal use of software according
to Item 1, further comprising, before the step of checking whether
the software is properly installed:
[0245]converting, by the data storage device controller, *.cff
files into their original file formats; and
[0246]enabling the installation to begin to the first sub-dedicated
area for the recognized software developer.
[0247]19. The method for preventing illegal use of software according
to any one of Items 1-18, wherein the data storage device controller
controls all data storage devices of PC: hard disk, compact disk
(CD), digital versatile disk (DVD), floppy disk, magnetic tape,
flash memory, ZIP disk, network memory.
[0248]20. The method for preventing illegal use of software according
to any one of Items 1-19, wherein activities of the data storage
device controller are independent from any other device or software,
and the data storage device controller controls directly all devices
which can be a source to launch and execute the software.
[0249]21. The method for preventing illegal use of software according
to any one of Items 1-20, wherein any operations like opening, editing,
copying, moving, deleting of any files/software must be processed
by the data storage device controller only.
[0250]22. The method for preventing illegal use of software according
to any one of Items 1-21, wherein the data storage device controller
is an integrated important constitutive element of the motherboard,
once it is illegally replaced or intruded, the computer motherboard
will be broken down.
[0251]23. The method for preventing illegal use of software according
to Item 1, wherein the user performs the payment process in an off-line
payment manner or in an on-line payment manner.
[0252]24. The method for preventing illegal use of software according
to Item 1, wherein the data storage device controller controls activity
of all devices, especially card reader, which will be used by user
to perform the payment with credit cards, debit cards, smart cards.
[0253]25. The method for preventing illegal use of software according
to Item 1, wherein the data storage device controller will independently
perform the payment by using credit cards, debit cards, smart cards,
without involving of any systems or applications software.
[0254]Although embodiments of the present invention have been disclosed
for illustrative purposes, those skilled in the art appreciate that
various modifications, additions and substitutions are possible,
without departing from the scope and spirit of the disclosure and
the invention. Therefore, the present invention is not to be intended
to be limited to the above exemplary embodiments but to be limited
by the accompanying claims.
|